diff --git a/design-qa.md b/design-qa.md index 215ff87..4dbbbfa 100644 --- a/design-qa.md +++ b/design-qa.md @@ -137,6 +137,65 @@ final result: passed final result: passed +## 2026-07-13 Platform Loading And Yak/Pasture Recheck + +**Scope** +- Pages: + - `http://127.0.0.1:5174/#/platform?module=yak-industry-chain` + - `http://127.0.0.1:5174/#/platform?module=pasture-management` + - `http://127.0.0.1:5174/#/platform?module=yak-management&view=epidemic` +- File changed: `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/platform/index.vue` +- Screenshot evidence: + - `/tmp/screen2-standard-audit/audit-yak-industry-chain-loading-fixed-20260713.jpg` + - `/tmp/screen2-standard-audit/audit-pasture-management-loading-fixed-20260713.jpg` + - `/tmp/screen2-standard-audit/audit-yak-management-epidemic-clean-20260713.jpg` + +**Fix** +- Added a platform startup-loading safety timeout: + - Homepage keeps up to `12s`. + - Other platform-loading modules keep up to `8s`. +- This prevents Yak Industry Chain and Pasture Management from remaining covered by a `100%` platform loading layer when map initialization is slow or background-tab rendering is throttled. + +**Validation** +- Yak Industry Chain: loading node removed; top metrics render with real values; console error check passed. +- Pasture Management: loading node removed; top metrics render with real values; yellow yak-recognition layer remains. +- Yak Management / Epidemic: clean reload shows active `2026`, top metric `涉及村数 10 个`, and no console errors. +- `npm run build` passed; remaining warnings are existing Cesium/Sass/chunk-size warnings. + +final result: passed + +## 2026-07-13 Forest-Grass-Wet / National Park Follow-Up QA + +**Scope** +- Pages: + - `http://127.0.0.1:5174/#/platform?module=forest-grass-wet` + - `http://127.0.0.1:5174/#/platform?module=ecological-protection&view=national-park` +- Files changed: + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/platform/index.vue` + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/services/openApi.js` + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/ecologicalProtection/data.js` + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/forestGrassWet/components/BusinessPanelRenderer.vue` +- Screenshot evidence: + - `/tmp/screen2-standard-audit/forest-grass-wet-overview-final-20260713.jpg` + - `/tmp/screen2-standard-audit/forest-grass-wet-woodland-click-final-20260713.jpg` + - `/tmp/screen2-standard-audit/national-park-final-20260713.jpg` + +**Fix** +- Four-item top metric layout now has more horizontal room and smaller four-card-specific icon/value/unit sizing, so long values such as `林草湿面积 1226.11 万亩` no longer visually clip. +- Platform startup loading now only remains for modules that actively report platform-level loading progress; direct links to Forest-Grass-Wet, Ecological Protection, Yak Management and Smart Management no longer stay covered by a 100% loading mask. +- Woodland `优势树种面积` now uses the compact no-wrap rank-bar treatment instead of the larger default bar style. +- National Park `公益岗位分布` uses the homepage-like thin-column style, matching the restrained chart direction. + +**Validation** +- Browser check: bottom `林地资源` was clicked through the real UI state, not a guessed URL query. +- Forest-Grass-Wet overview: no platform loading mask; top metric text is present in DOM; left/right cards keep the current restrained cyan-blue style. +- Woodland: `林地面积分布` and `优势树种面积` both present; right-side `优势树种面积` text remains readable and no longer fills the entire card width. +- National Park: grass/wetland stacked columns and job distribution keep weaker glow and clearer labels. +- Browser console error check: no errors. +- `npm run build` passed; remaining warnings are existing Cesium/Sass/chunk-size warnings. + +final result: passed + ## 2026-07-13 Yak Management Trade Right Rhythm **Scope** @@ -156,6 +215,30 @@ final result: passed final result: passed +## 2026-07-13 Ecological Protection National Park Chart Cleanup + +**Scope** +- Page: `http://127.0.0.1:5174/#/platform?module=ecological-protection&view=national-park` +- Files changed: + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/ecologicalProtection/data.js` + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/forestGrassWet/components/BusinessPanelRenderer.vue` +- Screenshot evidence: `/tmp/screen2-standard-audit/national-park-chart-style-optimized-v2-20260713.png` + +**Fix** +- Kept the park business dimensions unchanged: grass/wetland area, grass/wetland productivity, township yak count, balance, zoning, households, jobs, capacity. +- National park grass/wetland stack columns now use a restrained slim style: thin body, light grid, weak glow, values above the bars. +- `乡镇牦牛数量` now uses a single lightweight horizontal distribution style. +- `公益岗位分布` now uses the homepage-like `plain` thin-column treatment instead of the stronger glowing column style. + +**Validation** +- Browser check at `1920x1080`. +- Left side keeps four cards: `246px + 227px + 227px + 246px`. +- Right side keeps four cards: `239px + 227px + 227px + 239px`. +- Browser console error check: no errors. +- `npm run build` passed; remaining warnings are existing Cesium/Sass/chunk-size warnings. + +final result: passed + ## 2026-07-13 Cross-Module Four-Card Continuation **Scope** @@ -188,6 +271,51 @@ final result: passed - Engineering Analysis is an independent workspace rather than a side-card dashboard; it should be reviewed with its own workflow standard instead of forcing four side cards. - Full production deployment was not performed in this pass. +## 2026-07-13 Cesium Map Label Crispness + +**Scope** +- Shared component: `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/components/CesiumMap/index.vue` +- Affected modules: Forest-Grass-Wet, Ecological Protection, Pasture Management, Yak Management, Yak Industry Chain. +- Viewport: `1920x1080`. + +**Issue** +- Township badges on the 3D map looked soft/blurry. +- Cause: the badges are rendered as canvas images and then displayed as Cesium billboards inside a WebGL scene. When Cesium renders at browser-recommended 1x resolution and FXAA is enabled, the whole scene is post-processed, so text textures become softened. + +**Fix** +- Enabled high-DPI Cesium rendering with `useBrowserRecommendedResolution: false`. +- Set `viewer.resolutionScale` to the current device pixel ratio, capped at `2`. +- Disabled Cesium FXAA post-process for this shared map to avoid blurring billboard text. +- Regenerated township badge cache (`v14-crisp-map-badge`) with 3x-4x canvas backing pixels. +- Removed glow blur from the badge text and kept a thinner dark outline for readable but sharper labels. + +**Validation** +- Screenshot evidence: `/tmp/screen2-standard-audit/cesium-label-crisp-20260713.png` +- Browser route verified: `http://127.0.0.1:5174/#/platform?module=forest-grass-wet` +- Browser console: only external resource 404s during local map loading; no Vue/runtime errors. + +final result: passed + +## 2026-07-13 Ecological Restoration Chart Fixes + +**Scope** +- Page: `http://127.0.0.1:5174/#/platform?module=ecological-protection&view=restoration` +- Source files: + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/ecologicalProtection/data.js` + - `/Users/mocker/Documents/code/hy-screen/screenV2.0/src/views/forestGrassWet/components/BusinessPanelRenderer.vue` +- Viewport: `1920x1080`. + +**Fixes** +- `治理面积分布`, `年度工程长度`, and `年度项目数量` now use horizontal year labels instead of vertical split digits. +- `乡镇治理面积分布` changed from a crowded horizontal bar list to the same water-column style used by `湿地面积`, with horizontal township labels and no horizontal scrollbar. + +**Validation** +- Year-axis screenshot evidence: `/tmp/screen2-standard-audit/ecology-restoration-year-axis-fixed-20260713.png` +- Township water-column screenshot evidence: `/tmp/screen2-standard-audit/ecology-restoration-town-column-20260713.png` +- Automated DOM check confirmed the target township panel renders as `business-columns is-variant-water is-dense has-unit-label`. + +final result: passed + ## 2026-07-12 Homepage Chart Variety Pass **Scope** diff --git a/docs/assets/AlibabaPuHuiTi-14435b65-balabala-1783905032331.woff2 b/docs/assets/AlibabaPuHuiTi-14435b65-balabala-1783957353180.woff2 similarity index 100% rename from docs/assets/AlibabaPuHuiTi-14435b65-balabala-1783905032331.woff2 rename to docs/assets/AlibabaPuHuiTi-14435b65-balabala-1783957353180.woff2 diff --git a/docs/assets/AlimamaShuHeiTi-Bold-6401fd0d-balabala-1783905032331.ttf b/docs/assets/AlimamaShuHeiTi-Bold-6401fd0d-balabala-1783957353180.ttf similarity index 100% rename from docs/assets/AlimamaShuHeiTi-Bold-6401fd0d-balabala-1783905032331.ttf rename to docs/assets/AlimamaShuHeiTi-Bold-6401fd0d-balabala-1783957353180.ttf diff --git a/docs/assets/AlimamaShuHeiTi-Bold-a95023f2-balabala-1783905032331.woff b/docs/assets/AlimamaShuHeiTi-Bold-a95023f2-balabala-1783957353180.woff similarity index 100% rename from docs/assets/AlimamaShuHeiTi-Bold-a95023f2-balabala-1783905032331.woff rename to docs/assets/AlimamaShuHeiTi-Bold-a95023f2-balabala-1783957353180.woff diff --git a/docs/assets/AlimamaShuHeiTi-Bold-fa4a258d-balabala-1783905032331.woff2 b/docs/assets/AlimamaShuHeiTi-Bold-fa4a258d-balabala-1783957353180.woff2 similarity index 100% rename from docs/assets/AlimamaShuHeiTi-Bold-fa4a258d-balabala-1783905032331.woff2 rename to docs/assets/AlimamaShuHeiTi-Bold-fa4a258d-balabala-1783957353180.woff2 diff --git a/docs/assets/SmartChartRenderer-5864000c-1783905032331.js b/docs/assets/SmartChartRenderer-55310556-1783957353180.js similarity index 86% rename from docs/assets/SmartChartRenderer-5864000c-1783905032331.js rename to docs/assets/SmartChartRenderer-55310556-1783957353180.js index 6295c63..113ab31 100644 --- a/docs/assets/SmartChartRenderer-5864000c-1783905032331.js +++ b/docs/assets/SmartChartRenderer-55310556-1783957353180.js @@ -1,2 +1,2 @@ -var W=Object.defineProperty,D=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var z=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var L=(a,r,o)=>r in a?W(a,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[r]=o,m=(a,r)=>{for(var o in r||(r={}))H.call(r,o)&&L(a,o,r[o]);if(z)for(var o of z(r))P.call(r,o)&&L(a,o,r[o]);return a},d=(a,r)=>D(a,R(r));import{e as p,j as Z,k as F,L as b,o as g,c as h,a as y,t as x,g as _,b as V,u as E,n as j}from"./index-1783905032331.js";import{aW as q}from"./chartTheme-798f6f49-1783905032331.js";const G={class:"smart-chart-header"},I={key:0},M={key:0},k="口径",Q={__name:"SmartChartRenderer",props:{chart:{type:Object,required:!0}},emits:["ready"],setup(a,{emit:r}){const o=r,i=a,l=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],A=p(()=>{const t=(i.chart.rows||[]).filter(e=>Number.isFinite(Number(e.value)));return i.chart.type==="pie"?T(t):i.chart.type==="line"?$(t):C(t)}),w=p(()=>{const t=i.chart.rows||[];return i.chart.type==="bar"&&v(t)}),S=p(()=>B(i.chart.subtitle));Z(()=>{F(()=>{window.requestAnimationFrame(()=>o("ready"))})});function C(t){return v(t)?N(t):{animationDuration:700,grid:{left:52,right:26,top:28,bottom:54},tooltip:c(),xAxis:{type:"category",data:t.map(e=>e.name),axisTick:{show:!1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11,interval:0,rotate:t.length>6?28:0}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:11}},series:[{name:i.chart.title,type:"bar",barWidth:t.length>7?16:22,data:t.map((e,n)=>({value:e.value,name:e.name,itemStyle:{borderRadius:[8,8,0,0],color:new b(0,0,0,1,[{offset:0,color:l[n%l.length]},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}})),label:{show:!0,position:"top",color:"#ffffff",fontSize:11,formatter:({value:e})=>u(e)}}]}}function N(t){return{animationDuration:700,grid:{left:78,right:72,top:22,bottom:20},tooltip:d(m({},c()),{trigger:"axis",axisPointer:{type:"shadow"}}),xAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:11}},yAxis:{type:"category",inverse:!0,data:t.map(e=>e.name),axisTick:{show:!1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:12}},series:[{name:i.chart.title,type:"bar",barWidth:13,data:t.map((e,n)=>({value:e.value,name:e.name,itemStyle:{borderRadius:[0,8,8,0],color:new b(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.16)"},{offset:1,color:l[n%l.length]}])}})),label:{show:!0,position:"right",color:"#ffffff",fontSize:11,formatter:({value:e})=>u(e)}}]}}function T(t){return{animationDuration:700,tooltip:c(),legend:{orient:"vertical",right:10,top:"middle",itemWidth:10,itemHeight:10,textStyle:{color:"rgba(223, 250, 255, 0.78)",fontSize:11}},series:[{name:i.chart.title,type:"pie",radius:["48%","68%"],center:["35%","52%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:11,formatter:`{b} -{d}%`},labelLine:{lineStyle:{color:"rgba(223, 250, 255, 0.42)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:t.map((e,n)=>({name:e.name,value:e.value,itemStyle:{color:l[n%l.length]}}))}]}}function $(t){return{animationDuration:760,grid:{left:52,right:28,top:30,bottom:48},tooltip:d(m({},c()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(255, 215, 108, 0.52)"}}}),xAxis:{type:"category",boundaryGap:!1,data:t.map(e=>e.name),axisTick:{show:!1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11,interval:0}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:11}},series:[{name:i.chart.title,type:"line",smooth:!0,symbol:"circle",symbolSize:8,lineStyle:{width:3,color:"#30dcff"},itemStyle:{color:"#ffd76c",borderColor:"#041522",borderWidth:2},areaStyle:{color:new b(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.24)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}])},label:{show:!0,position:"top",color:"#ffffff",fontSize:11,formatter:({value:e})=>u(e)},data:t.map(e=>({value:e.value,name:e.name}))}]}}function c(){return{trigger:"item",backgroundColor:"rgba(2, 13, 22, 0.94)",borderColor:"rgba(48, 220, 255, 0.34)",borderWidth:1,textStyle:{color:"#fff",fontSize:12},formatter:t=>{const e=(i.chart.rows||[]).find(s=>s.name===t.name),n=(e==null?void 0:e.unit)||i.chart.unit||"",f=e!=null&&e.extra?`
${e.extra}`:"";return`${t.marker}${t.name}: ${u(t.value)}${n}${f}`}}}function v(t=[]){return t.length>6||t.some(e=>String(e.name||"").length>4)}function B(t){const e=String(t||"").trim();if(!e||/^(数据)?来源[::]/.test(e)||e.includes("固定展示"))return"";const n=new RegExp(k,"g"),f=new RegExp(`统计${k}`,"g"),s=e.replace(f,"统计数据").replace(n,"数据").replace(/来源[::]\s*openApi\s*统计库\s*[a-zA-Z0-9_./:-]*[,,、]?\s*/gi,"").replace(/openApi\s*统计库\s*/gi,"").replace(/\b[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+){2,}\b/g,"").replace(/[,,、]\s*[,,、]+/g,",").replace(/^[\s,,、::]+|[\s,,、]+$/g,"");return!s||/^来源[::]?$/.test(s)||O(s)?"":s}function O(t){return/^[a-zA-Z0-9_./:-]+$/.test(t)&&(t.includes("_")||t.length>24)}function u(t){const e=Number(t);return Number.isFinite(e)?Number.isInteger(e)?e.toLocaleString("zh-CN"):e.toLocaleString("zh-CN",{maximumFractionDigits:2}):"--"}return(t,e)=>(g(),h("div",{class:j(["smart-chart-card",{"is-horizontal":w.value}])},[y("div",G,[y("div",null,[y("strong",null,x(a.chart.title),1),S.value?(g(),h("span",I,x(S.value),1)):_("",!0)]),a.chart.unit?(g(),h("em",M,x(a.chart.unit),1)):_("",!0)]),V(E(q),{class:"smart-chart",option:A.value,autoresize:""},null,8,["option"])],2))}};export{Q as default}; +var D=Object.defineProperty,R=Object.defineProperties;var W=Object.getOwnPropertyDescriptors;var z=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var L=(a,r,o)=>r in a?D(a,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[r]=o,m=(a,r)=>{for(var o in r||(r={}))H.call(r,o)&&L(a,o,r[o]);if(z)for(var o of z(r))P.call(r,o)&&L(a,o,r[o]);return a},d=(a,r)=>R(a,W(r));import{e as p,h as Z,j as F,L as b,o as h,c as g,a as y,t as x,g as _,b as V,u as E,n as j}from"./index-1783957353180.js";import{aK as q}from"./chartTheme-1b75dfa1-1783957353180.js";const G={class:"smart-chart-header"},I={key:0},K={key:0},A="口径",Q={__name:"SmartChartRenderer",props:{chart:{type:Object,required:!0}},emits:["ready"],setup(a,{emit:r}){const o=r,i=a,l=["#30dcff","#27f0c0","#ffd76c","#7aa7ff","#ff8f6b","#a6f06d"],k=p(()=>{const t=(i.chart.rows||[]).filter(e=>Number.isFinite(Number(e.value)));return i.chart.type==="pie"?T(t):i.chart.type==="line"?$(t):C(t)}),w=p(()=>{const t=i.chart.rows||[];return i.chart.type==="bar"&&v(t)}),S=p(()=>B(i.chart.subtitle));Z(()=>{F(()=>{window.requestAnimationFrame(()=>o("ready"))})});function C(t){return v(t)?N(t):{animationDuration:700,grid:{left:52,right:26,top:28,bottom:54},tooltip:c(),xAxis:{type:"category",data:t.map(e=>e.name),axisTick:{show:!1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11,interval:0,rotate:t.length>6?28:0}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:11}},series:[{name:i.chart.title,type:"bar",barWidth:t.length>7?16:22,data:t.map((e,n)=>({value:e.value,name:e.name,itemStyle:{borderRadius:[8,8,0,0],color:new b(0,0,0,1,[{offset:0,color:l[n%l.length]},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}})),label:{show:!0,position:"top",color:"#ffffff",fontSize:11,formatter:({value:e})=>u(e)}}]}}function N(t){return{animationDuration:700,grid:{left:78,right:72,top:22,bottom:20},tooltip:d(m({},c()),{trigger:"axis",axisPointer:{type:"shadow"}}),xAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:11}},yAxis:{type:"category",inverse:!0,data:t.map(e=>e.name),axisTick:{show:!1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},axisLabel:{color:"rgba(223, 250, 255, 0.82)",fontSize:12}},series:[{name:i.chart.title,type:"bar",barWidth:13,data:t.map((e,n)=>({value:e.value,name:e.name,itemStyle:{borderRadius:[0,8,8,0],color:new b(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.16)"},{offset:1,color:l[n%l.length]}])}})),label:{show:!0,position:"right",color:"#ffffff",fontSize:11,formatter:({value:e})=>u(e)}}]}}function T(t){return{animationDuration:700,tooltip:c(),legend:{orient:"vertical",right:10,top:"middle",itemWidth:10,itemHeight:10,textStyle:{color:"rgba(223, 250, 255, 0.78)",fontSize:11}},series:[{name:i.chart.title,type:"pie",radius:["48%","68%"],center:["35%","52%"],avoidLabelOverlap:!0,label:{color:"#fff",fontSize:11,formatter:`{b} +{d}%`},labelLine:{lineStyle:{color:"rgba(223, 250, 255, 0.42)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:t.map((e,n)=>({name:e.name,value:e.value,itemStyle:{color:l[n%l.length]}}))}]}}function $(t){return{animationDuration:760,grid:{left:52,right:28,top:30,bottom:48},tooltip:d(m({},c()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(255, 215, 108, 0.52)"}}}),xAxis:{type:"category",boundaryGap:!1,data:t.map(e=>e.name),axisTick:{show:!1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisLabel:{color:"rgba(223, 250, 255, 0.76)",fontSize:11,interval:0}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.1)",type:"dashed"}},axisLabel:{color:"rgba(223, 250, 255, 0.58)",fontSize:11}},series:[{name:i.chart.title,type:"line",smooth:!0,symbol:"circle",symbolSize:8,lineStyle:{width:3,color:"#30dcff"},itemStyle:{color:"#ffd76c",borderColor:"#041522",borderWidth:2},areaStyle:{color:new b(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.24)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}])},label:{show:!0,position:"top",color:"#ffffff",fontSize:11,formatter:({value:e})=>u(e)},data:t.map(e=>({value:e.value,name:e.name}))}]}}function c(){return{trigger:"item",backgroundColor:"rgba(2, 13, 22, 0.94)",borderColor:"rgba(48, 220, 255, 0.34)",borderWidth:1,textStyle:{color:"#fff",fontSize:12},formatter:t=>{const e=(i.chart.rows||[]).find(s=>s.name===t.name),n=(e==null?void 0:e.unit)||i.chart.unit||"",f=e!=null&&e.extra?`
${e.extra}`:"";return`${t.marker}${t.name}: ${u(t.value)}${n}${f}`}}}function v(t=[]){return t.length>6||t.some(e=>String(e.name||"").length>4)}function B(t){const e=String(t||"").trim();if(!e||/^(数据)?来源[::]/.test(e)||e.includes("固定展示"))return"";const n=new RegExp(A,"g"),f=new RegExp(`统计${A}`,"g"),s=e.replace(f,"统计数据").replace(n,"数据").replace(/来源[::]\s*openApi\s*统计库\s*[a-zA-Z0-9_./:-]*[,,、]?\s*/gi,"").replace(/openApi\s*统计库\s*/gi,"").replace(/\b[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+){2,}\b/g,"").replace(/[,,、]\s*[,,、]+/g,",").replace(/^[\s,,、::]+|[\s,,、]+$/g,"");return!s||/^来源[::]?$/.test(s)||O(s)?"":s}function O(t){return/^[a-zA-Z0-9_./:-]+$/.test(t)&&(t.includes("_")||t.length>24)}function u(t){const e=Number(t);return Number.isFinite(e)?Number.isInteger(e)?e.toLocaleString("zh-CN"):e.toLocaleString("zh-CN",{maximumFractionDigits:2}):"--"}return(t,e)=>(h(),g("div",{class:j(["smart-chart-card",{"is-horizontal":w.value}])},[y("div",G,[y("div",null,[y("strong",null,x(a.chart.title),1),S.value?(h(),g("span",I,x(S.value),1)):_("",!0)]),a.chart.unit?(h(),g("em",K,x(a.chart.unit),1)):_("",!0)]),V(E(q),{class:"smart-chart",option:k.value,autoresize:""},null,8,["option"])],2))}};export{Q as default}; diff --git a/docs/assets/SmartChartRenderer-7a3a96b9-balabala-1783905032331.css b/docs/assets/SmartChartRenderer-7a3a96b9-balabala-1783957353180.css similarity index 100% rename from docs/assets/SmartChartRenderer-7a3a96b9-balabala-1783905032331.css rename to docs/assets/SmartChartRenderer-7a3a96b9-balabala-1783957353180.css diff --git a/docs/assets/area-b57940eb-balabala-1783905032331.png b/docs/assets/area-b57940eb-balabala-1783957353180.png similarity index 100% rename from docs/assets/area-b57940eb-balabala-1783905032331.png rename to docs/assets/area-b57940eb-balabala-1783957353180.png diff --git a/docs/assets/bg-3acb94e3-balabala-1783905032331.png b/docs/assets/bg-3acb94e3-balabala-1783957353180.png similarity index 100% rename from docs/assets/bg-3acb94e3-balabala-1783905032331.png rename to docs/assets/bg-3acb94e3-balabala-1783957353180.png diff --git a/docs/assets/bottom-menu-arrow-big-180b7071-balabala-1783905032331.svg b/docs/assets/bottom-menu-arrow-big-180b7071-balabala-1783957353180.svg similarity index 100% rename from docs/assets/bottom-menu-arrow-big-180b7071-balabala-1783905032331.svg rename to docs/assets/bottom-menu-arrow-big-180b7071-balabala-1783957353180.svg diff --git a/docs/assets/bottom-menu-arrow-small-19304179-balabala-1783905032331.svg b/docs/assets/bottom-menu-arrow-small-19304179-balabala-1783957353180.svg similarity index 100% rename from docs/assets/bottom-menu-arrow-small-19304179-balabala-1783905032331.svg rename to docs/assets/bottom-menu-arrow-small-19304179-balabala-1783957353180.svg diff --git a/docs/assets/bottom-menu-bg-b465793d-balabala-1783905032331.png b/docs/assets/bottom-menu-bg-b465793d-balabala-1783957353180.png similarity index 100% rename from docs/assets/bottom-menu-bg-b465793d-balabala-1783905032331.png rename to docs/assets/bottom-menu-bg-b465793d-balabala-1783957353180.png diff --git a/docs/assets/bottom-menu-btn-ee5c8064-balabala-1783905032331.png b/docs/assets/bottom-menu-btn-ee5c8064-balabala-1783957353180.png similarity index 100% rename from docs/assets/bottom-menu-btn-ee5c8064-balabala-1783905032331.png rename to docs/assets/bottom-menu-btn-ee5c8064-balabala-1783957353180.png diff --git a/docs/assets/bottom-menu-btn-hover-df33e514-balabala-1783905032331.png b/docs/assets/bottom-menu-btn-hover-df33e514-balabala-1783957353180.png similarity index 100% rename from docs/assets/bottom-menu-btn-hover-df33e514-balabala-1783905032331.png rename to docs/assets/bottom-menu-btn-hover-df33e514-balabala-1783957353180.png diff --git a/docs/assets/chartTheme-798f6f49-1783905032331.js b/docs/assets/chartTheme-1b75dfa1-1783957353180.js similarity index 74% rename from docs/assets/chartTheme-798f6f49-1783905032331.js rename to docs/assets/chartTheme-1b75dfa1-1783957353180.js index 9c7b005..020babe 100644 --- a/docs/assets/chartTheme-798f6f49-1783905032331.js +++ b/docs/assets/chartTheme-1b75dfa1-1783957353180.js @@ -1,20 +1,20 @@ -var qp=Object.defineProperty,Yp=Object.defineProperties;var $p=Object.getOwnPropertyDescriptors;var qs=Object.getOwnPropertySymbols;var th=Object.prototype.hasOwnProperty,eh=Object.prototype.propertyIsEnumerable;var Ao=Math.pow,Qc=(r,t,e)=>t in r?qp(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,ae=(r,t)=>{for(var e in t||(t={}))th.call(t,e)&&Qc(r,e,t[e]);if(qs)for(var e of qs(t))eh.call(t,e)&&Qc(r,e,t[e]);return r},Zr=(r,t)=>Yp(r,$p(t));var nh=(r,t)=>{var e={};for(var n in r)th.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&qs)for(var n of qs(r))t.indexOf(n)<0&&eh.call(r,n)&&(e[n]=r[n]);return e};var ih=(r,t,e)=>new Promise((n,i)=>{var s=l=>{try{a(e.next(l))}catch(c){i(c)}},o=l=>{try{a(e.throw(l))}catch(c){i(c)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,o);a((e=e.apply(r,t)).next())});import{N as jp,i as Ys,e as Xn,O as Ff,w as $s,P as rh,j as Bf,f as Zp,Q as sh,s as js,R as Kp,S as Jp,k as Qp,U as tm,u as em,V as nm,o as us,c as fs,a as Bt,C as wo,t as im,r as Tl,g as rm,m as Co,d as sm,_ as am,L as rc}from"./index-1783905032331.js";function Wn(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function zf(r,t){r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.__proto__=t}/*! - * GSAP 3.14.2 +var Wp=Object.defineProperty,Xp=Object.defineProperties;var qp=Object.getOwnPropertyDescriptors;var qs=Object.getOwnPropertySymbols;var th=Object.prototype.hasOwnProperty,eh=Object.prototype.propertyIsEnumerable;var Ao=Math.pow,Qc=(r,t,e)=>t in r?Wp(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,ae=(r,t)=>{for(var e in t||(t={}))th.call(t,e)&&Qc(r,e,t[e]);if(qs)for(var e of qs(t))eh.call(t,e)&&Qc(r,e,t[e]);return r},jr=(r,t)=>Xp(r,qp(t));var nh=(r,t)=>{var e={};for(var n in r)th.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&qs)for(var n of qs(r))t.indexOf(n)<0&&eh.call(r,n)&&(e[n]=r[n]);return e};var ih=(r,t,e)=>new Promise((n,i)=>{var s=l=>{try{a(e.next(l))}catch(c){i(c)}},o=l=>{try{a(e.throw(l))}catch(c){i(c)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,o);a((e=e.apply(r,t)).next())});import{O as Yp,i as Ys,e as Xn,P as Ff,w as $s,Q as rh,h as Bf,f as $p,R as sh,s as js,S as jp,U as Zp,j as Kp,V as Jp,u as Qp,W as tm,o as hs,c as us,a as Bt,D as wo,t as em,r as Tl,g as nm,l as Ro,d as im,_ as rm,L as rc}from"./index-1783957353180.js";function Wn(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function zf(r,t){r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.__proto__=t}/*! + * GSAP 3.15.0 * https://gsap.com * - * @license Copyright 2008-2025, GreenSock. All rights reserved. + * @license Copyright 2008-2026, GreenSock. All rights reserved. * Subject to the terms at https://gsap.com/standard-license * @author: Jack Doyle, jack@greensock.com -*/var ln={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},Nr={duration:.5,overwrite:!1,delay:0},sc,Ie,le,_n=1e8,re=1/_n,Al=Math.PI*2,om=Al/4,lm=0,kf=Math.sqrt,cm=Math.cos,hm=Math.sin,Ce=function(t){return typeof t=="string"},me=function(t){return typeof t=="function"},jn=function(t){return typeof t=="number"},ac=function(t){return typeof t=="undefined"},In=function(t){return typeof t=="object"},$e=function(t){return t!==!1},oc=function(){return typeof window!="undefined"},Zs=function(t){return me(t)||Ce(t)},Vf=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},ke=Array.isArray,um=/random\([^)]+\)/g,fm=/,\s*/g,ah=/(?:-?\.?\d|\.)+/gi,Hf=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Er=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,Ro=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,Gf=/[+-]=-?[.\d]+/,dm=/[^,'"\[\]\s]+/gi,pm=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ue,Cn,wl,lc,cn={},za={},Wf,Xf=function(t){return(za=Ur(t,cn))&&Qe},cc=function(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")},Es=function(t,e){return!e&&console.warn(t)},qf=function(t,e){return t&&(cn[t]=e)&&za&&(za[t]=e)||cn},Ts=function(){return 0},mm={suppressEvents:!0,isStart:!0,kill:!1},Na={suppressEvents:!0,kill:!1},_m={suppressEvents:!0},hc={},pi=[],Cl={},Yf,rn={},Po={},oh=30,Ua=[],uc="",fc=function(t){var e=t[0],n,i;if(In(e)||me(e)||(t=[t]),!(n=(e._gsap||{}).harness)){for(i=Ua.length;i--&&!Ua[i].targetTest(e););n=Ua[i]}for(i=t.length;i--;)t[i]&&(t[i]._gsap||(t[i]._gsap=new gd(t[i],n)))||t.splice(i,1);return t},Hi=function(t){return t._gsap||fc(gn(t))[0]._gsap},$f=function(t,e,n){return(n=t[e])&&me(n)?t[e]():ac(n)&&t.getAttribute&&t.getAttribute(e)||n},je=function(t,e){return(t=t.split(",")).forEach(e)||t},ye=function(t){return Math.round(t*1e5)/1e5||0},he=function(t){return Math.round(t*1e7)/1e7||0},Rr=function(t,e){var n=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),n==="+"?t+i:n==="-"?t-i:n==="*"?t*i:t/i},gm=function(t,e){for(var n=e.length,i=0;t.indexOf(e[i])<0&&++ia;)o=o._prev;return o?(e._next=o._next,o._next=e):(e._next=t[n],t[n]=e),e._next?e._next._prev=e:t[i]=e,e._prev=o,e.parent=e._dp=t,e},ao=function(t,e,n,i){n===void 0&&(n="_first"),i===void 0&&(i="_last");var s=e._prev,o=e._next;s?s._next=o:t[n]===e&&(t[n]=o),o?o._prev=s:t[i]===e&&(t[i]=s),e._next=e._prev=e.parent=null},yi=function(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0},Gi=function(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var n=t;n;)n._dirty=1,n=n.parent;return t},ym=function(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t},Rl=function(t,e,n,i){return t._startAt&&(Ie?t._startAt.revert(Na):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))},Mm=function r(t){return!t||t._ts&&r(t.parent)},ch=function(t){return t._repeat?Or(t._tTime,t=t.duration()+t._rDelay)*t:0},Or=function(t,e){var n=Math.floor(t=he(t/e));return t&&n===t?n-1:n},Ha=function(t,e){return(t-e._start)*e._ts+(e._ts>=0?0:e._dirty?e.totalDuration():e._tDur)},oo=function(t){return t._end=he(t._start+(t._tDur/Math.abs(t._ts||t._rts||re)||0))},lo=function(t,e){var n=t._dp;return n&&n.smoothChildTiming&&t._ts&&(t._start=he(n._time-(t._ts>0?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),oo(t),n._dirty||Gi(n,t)),t},Qf=function(t,e){var n;if((e._time||!e._dur&&e._initted||e._startre)&&e.render(n,!0)),Gi(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur=0&&n.totalTime(n._tTime),n=n._dp;t._zTime=-re}},Pn=function(t,e,n,i){return e.parent&&yi(e),e._start=he((jn(n)?n:n||t!==ue?dn(t,n,e):t._time)+e._delay),e._end=he(e._start+(e.totalDuration()/Math.abs(e.timeScale())||0)),Jf(t,e,"_first","_last",t._sort?"_start":0),Pl(e)||(t._recent=e),i||Qf(t,e),t._ts<0&&lo(t,t._tTime),t},td=function(t,e){return(cn.ScrollTrigger||cc("scrollTrigger",e))&&cn.ScrollTrigger.create(e,t)},ed=function(t,e,n,i,s){if(mc(t,e,s),!t._initted)return 1;if(!n&&t._pt&&!Ie&&(t._dur&&t.vars.lazy!==!1||!t._dur&&t.vars.lazy)&&Yf!==sn.frame)return pi.push(t),t._lazy=[s,i],1},Sm=function r(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||r(e))},Pl=function(t){var e=t.data;return e==="isFromStart"||e==="isStart"},bm=function(t,e,n,i){var s=t.ratio,o=e<0||!e&&(!t._start&&Sm(t)&&!(!t._initted&&Pl(t))||(t._ts<0||t._dp._ts<0)&&!Pl(t))?0:1,a=t._rDelay,l=0,c,h,u;if(a&&t._repeat&&(l=Bs(0,t._tDur,e),h=Or(l,a),t._yoyo&&h&1&&(o=1-o),h!==Or(t._tTime,a)&&(s=1-o,t.vars.repeatRefresh&&t._initted&&t.invalidate())),o!==s||Ie||i||t._zTime===re||!e&&t._zTime){if(!t._initted&&ed(t,e,i,n,l))return;for(u=t._zTime,t._zTime=e||(n?re:0),n||(n=e&&!u),t.ratio=o,t._from&&(o=1-o),t._time=0,t._tTime=l,c=t._pt;c;)c.r(o,c.d),c=c._next;e<0&&Rl(t,e,n,!0),t._onUpdate&&!n&&an(t,"onUpdate"),l&&t._repeat&&!n&&t.parent&&an(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===o&&(o&&yi(t,1),!n&&!Ie&&(an(t,o?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)},Em=function(t,e,n){var i;if(n>e)for(i=t._first;i&&i._start<=n;){if(i.data==="isPause"&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=n;){if(i.data==="isPause"&&i._start0&&!i&&lo(t,t._tTime=t._tDur*a),t.parent&&oo(t),n||Gi(t.parent,t),t},hh=function(t){return t instanceof We?Gi(t):Fr(t,t._dur)},Tm={_start:0,endTime:Ts,totalDuration:Ts},dn=function r(t,e,n){var i=t.labels,s=t._recent||Tm,o=t.duration()>=_n?s.endTime(!1):t._dur,a,l,c;return Ce(e)&&(isNaN(e)||e in i)?(l=e.charAt(0),c=e.substr(-1)==="%",a=e.indexOf("="),l==="<"||l===">"?(a>=0&&(e=e.replace(/=/,"")),(l==="<"?s._start:s.endTime(s._repeat>=0))+(parseFloat(e.substr(1))||0)*(c?(a<0?s:n).totalDuration()/100:1)):a<0?(e in i||(i[e]=o),i[e]):(l=parseFloat(e.charAt(a-1)+e.substr(a+1)),c&&n&&(l=l/100*(ke(n)?n[0]:n).totalDuration()),a>1?r(t,e.substr(0,a-1),n)+l:o+l)):e==null?o:+e},gs=function(t,e,n){var i=jn(e[1]),s=(i?2:1)+(t<2?0:1),o=e[s],a,l;if(i&&(o.duration=e[1]),o.parent=n,t){for(a=o,l=n;l&&!("immediateRender"in a);)a=l.vars.defaults||{},l=$e(l.vars.inherit)&&l.parent;o.immediateRender=$e(a.immediateRender),t<2?o.runBackwards=1:o.startAt=e[s-1]}return new Se(e[0],o,e[s+1])},Ai=function(t,e){return t||t===0?e(t):e},Bs=function(t,e,n){return ne?e:n},ze=function(t,e){return!Ce(t)||!(e=pm.exec(t))?"":e[1]},Am=function(t,e,n){return Ai(n,function(i){return Bs(t,e,i)})},Ll=[].slice,nd=function(t,e){return t&&In(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&In(t[0]))&&!t.nodeType&&t!==Cn},wm=function(t,e,n){return n===void 0&&(n=[]),t.forEach(function(i){var s;return Ce(i)&&!e||nd(i,1)?(s=n).push.apply(s,gn(i)):n.push(i)})||n},gn=function(t,e,n){return le&&!e&&le.selector?le.selector(t):Ce(t)&&!n&&(wl||!Br())?Ll.call((e||lc).querySelectorAll(t),0):ke(t)?wm(t,n):nd(t)?Ll.call(t,0):t?[t]:[]},Dl=function(t){return t=gn(t)[0]||Es("Invalid scope")||{},function(e){var n=t.current||t.nativeElement||t;return gn(e,n.querySelectorAll?n:n===t?Es("Invalid scope")||lc.createElement("div"):t)}},id=function(t){return t.sort(function(){return .5-Math.random()})},rd=function(t){if(me(t))return t;var e=In(t)?t:{each:t},n=Wi(e.ease),i=e.from||0,s=parseFloat(e.base)||0,o={},a=i>0&&i<1,l=isNaN(i)||a,c=e.axis,h=i,u=i;return Ce(i)?h=u={center:.5,edges:.5,end:1}[i]||0:!a&&l&&(h=i[0],u=i[1]),function(f,d,_){var g=(_||e).length,p=o[g],m,y,v,S,w,C,E,N,U;if(!p){if(U=e.grid==="auto"?0:(e.grid||[1,_n])[1],!U){for(E=-_n;E<(E=_[U++].getBoundingClientRect().left)&&UE&&(E=w),wg?g-1:c?c==="y"?g/U:U:Math.max(U,g/U))||0)*(i==="edges"?-1:1),p.b=g<0?s-g:s,p.u=ze(e.amount||e.each)||0,n=n&&g<0?pd(n):n}return g=(p[f]-p.min)/p.max||0,he(p.b+(n?n(g):g)*p.v)+p.u}},Il=function(t){var e=Math.pow(10,((t+"").split(".")[1]||"").length);return function(n){var i=he(Math.round(parseFloat(n)/t)*t*e);return(i-i%1)/e+(jn(n)?0:ze(n))}},sd=function(t,e){var n=ke(t),i,s;return!n&&In(t)&&(i=n=t.radius||_n,t.values?(t=gn(t.values),(s=!jn(t[0]))&&(i*=i)):t=Il(t.increment)),Ai(e,n?me(t)?function(o){return s=t(o),Math.abs(s-o)<=i?s:o}:function(o){for(var a=parseFloat(s?o.x:o),l=parseFloat(s?o.y:0),c=_n,h=0,u=t.length,f,d;u--;)s?(f=t[u].x-a,d=t[u].y-l,f=f*f+d*d):f=Math.abs(t[u]-a),fi?s-o:o)})},As=function(t){return t.replace(um,function(e){var n=e.indexOf("[")+1,i=e.substring(n||7,n?e.indexOf("]"):e.length-1).split(fm);return ad(n?i:+i[0],n?0:+i[1],+i[2]||1e-5)})},ld=function(t,e,n,i,s){var o=e-t,a=i-n;return Ai(s,function(l){return n+((l-t)/o*a||0)})},Im=function r(t,e,n,i){var s=isNaN(t+e)?0:function(d){return(1-d)*t+d*e};if(!s){var o=Ce(t),a={},l,c,h,u,f;if(n===!0&&(i=1)&&(n=null),o)t={p:t},e={p:e};else if(ke(t)&&!ke(e)){for(h=[],u=t.length,f=u-2,c=1;c(a=Math.abs(a))&&(l=o,s=a);return l},an=function(t,e,n){var i=t.vars,s=i[e],o=le,a=t._ctx,l,c,h;if(s)return l=i[e+"Params"],c=i.callbackScope||t,n&&pi.length&&ka(),a&&(le=a),h=l?s.apply(c,l):s.call(c),le=o,h},ds=function(t){return yi(t),t.scrollTrigger&&t.scrollTrigger.kill(!!Ie),t.progress()<1&&an(t,"onInterrupt"),t},Tr,cd=[],hd=function(t){if(t)if(t=!t.name&&t.default||t,oc()||t.headless){var e=t.name,n=me(t),i=e&&!n&&t.init?function(){this._props=[]}:t,s={init:Ts,render:vc,add:pc,kill:jm,modifier:$m,rawVars:0},o={targetTest:0,get:0,getSetter:gc,aliases:{},register:0};if(Br(),t!==i){if(rn[e])return;hn(i,hn(Va(t,s),o)),Ur(i.prototype,Ur(s,Va(t,o))),rn[i.prop=e]=i,t.targetTest&&(Ua.push(i),hc[e]=1),e=(e==="css"?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}qf(e,i),t.register&&t.register(Qe,i,Ze)}else cd.push(t)},ie=255,ps={aqua:[0,ie,ie],lime:[0,ie,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,ie],navy:[0,0,128],white:[ie,ie,ie],olive:[128,128,0],yellow:[ie,ie,0],orange:[ie,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[ie,0,0],pink:[ie,192,203],cyan:[0,ie,ie],transparent:[ie,ie,ie,0]},Lo=function(t,e,n){return t+=t<0?1:t>1?-1:0,(t*6<1?e+(n-e)*t*6:t<.5?n:t*3<2?e+(n-e)*(2/3-t)*6:e)*ie+.5|0},ud=function(t,e,n){var i=t?jn(t)?[t>>16,t>>8&ie,t&ie]:0:ps.black,s,o,a,l,c,h,u,f,d,_;if(!i){if(t.substr(-1)===","&&(t=t.substr(0,t.length-1)),ps[t])i=ps[t];else if(t.charAt(0)==="#"){if(t.length<6&&(s=t.charAt(1),o=t.charAt(2),a=t.charAt(3),t="#"+s+s+o+o+a+a+(t.length===5?t.charAt(4)+t.charAt(4):"")),t.length===9)return i=parseInt(t.substr(1,6),16),[i>>16,i>>8&ie,i&ie,parseInt(t.substr(7),16)/255];t=parseInt(t.substr(1),16),i=[t>>16,t>>8&ie,t&ie]}else if(t.substr(0,3)==="hsl"){if(i=_=t.match(ah),!e)l=+i[0]%360/360,c=+i[1]/100,h=+i[2]/100,o=h<=.5?h*(c+1):h+c-h*c,s=h*2-o,i.length>3&&(i[3]*=1),i[0]=Lo(l+1/3,s,o),i[1]=Lo(l,s,o),i[2]=Lo(l-1/3,s,o);else if(~t.indexOf("="))return i=t.match(Hf),n&&i.length<4&&(i[3]=1),i}else i=t.match(ah)||ps.transparent;i=i.map(Number)}return e&&!_&&(s=i[0]/ie,o=i[1]/ie,a=i[2]/ie,u=Math.max(s,o,a),f=Math.min(s,o,a),h=(u+f)/2,u===f?l=c=0:(d=u-f,c=h>.5?d/(2-u-f):d/(u+f),l=u===s?(o-a)/d+(ot||m<0)&&(n+=m-e),i+=m,w=i-n,v=w-o,(v>0||y)&&(C=++u.frame,f=w-u.time*1e3,u.time=w=w/1e3,o+=v+(v>=s?4:s-v),S=1),y||(l=c(g)),S)for(d=0;d=m&&d--},_listeners:a},u}(),Br=function(){return!ws&&sn.wake()},jt={},Um=/^[\d.\-M][\d.\-,\s]/,Om=/["']/g,Fm=function(t){for(var e={},n=t.substr(1,t.length-3).split(":"),i=n[0],s=1,o=n.length,a,l,c;s1&&n.config?n.config.apply(null,~t.indexOf("{")?[Fm(e[1])]:Bm(t).split(",").map(Zf)):jt._CE&&Um.test(t)?jt._CE("",t):n},pd=function(t){return function(e){return 1-t(1-e)}},md=function r(t,e){for(var n=t._first,i;n;)n instanceof We?r(n,e):n.vars.yoyoEase&&(!n._yoyo||!n._repeat)&&n._yoyo!==e&&(n.timeline?r(n.timeline,e):(i=n._ease,n._ease=n._yEase,n._yEase=i,n._yoyo=e)),n=n._next},Wi=function(t,e){return t&&(me(t)?t:jt[t]||zm(t))||e},Ji=function(t,e,n,i){n===void 0&&(n=function(l){return 1-e(1-l)}),i===void 0&&(i=function(l){return l<.5?e(l*2)/2:1-e((1-l)*2)/2});var s={easeIn:e,easeOut:n,easeInOut:i},o;return je(t,function(a){jt[a]=cn[a]=s,jt[o=a.toLowerCase()]=n;for(var l in s)jt[o+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=jt[a+"."+l]=s[l]}),s},_d=function(t){return function(e){return e<.5?(1-t(1-e*2))/2:.5+t((e-.5)*2)/2}},Do=function r(t,e,n){var i=e>=1?e:1,s=(n||(t?.3:.45))/(e<1?e:1),o=s/Al*(Math.asin(1/i)||0),a=function(h){return h===1?1:i*Math.pow(2,-10*h)*hm((h-o)*s)+1},l=t==="out"?a:t==="in"?function(c){return 1-a(1-c)}:_d(a);return s=Al/s,l.config=function(c,h){return r(t,c,h)},l},Io=function r(t,e){e===void 0&&(e=1.70158);var n=function(o){return o?--o*o*((e+1)*o+e)+1:0},i=t==="out"?n:t==="in"?function(s){return 1-n(1-s)}:_d(n);return i.config=function(s){return r(t,s)},i};je("Linear,Quad,Cubic,Quart,Quint,Strong",function(r,t){var e=t<5?t+1:t;Ji(r+",Power"+(e-1),t?function(n){return Math.pow(n,e)}:function(n){return n},function(n){return 1-Math.pow(1-n,e)},function(n){return n<.5?Math.pow(n*2,e)/2:1-Math.pow((1-n)*2,e)/2})});jt.Linear.easeNone=jt.none=jt.Linear.easeIn;Ji("Elastic",Do("in"),Do("out"),Do());(function(r,t){var e=1/t,n=2*e,i=2.5*e,s=function(a){return a0?n+(n+this._rDelay)*this._repeat:n):this.totalDuration()&&this._dur},t.totalDuration=function(n){return arguments.length?(this._dirty=0,Fr(this,this._repeat<0?n:(n-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},t.totalTime=function(n,i){if(Br(),!arguments.length)return this._tTime;var s=this._dp;if(s&&s.smoothChildTiming&&this._ts){for(lo(this,n),!s._dp||s.parent||Qf(s,this);s&&s.parent;)s.parent._time!==s._start+(s._ts>=0?s._tTime/s._ts:(s.totalDuration()-s._tTime)/-s._ts)&&s.totalTime(s._tTime,!0),s=s.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&n0||!this._tDur&&!n)&&Pn(this._dp,this,this._start-this._delay)}return(this._tTime!==n||!this._dur&&!i||this._initted&&Math.abs(this._zTime)===re||!this._initted&&this._dur&&n||!n&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=n),jf(this,n,i)),this},t.time=function(n,i){return arguments.length?this.totalTime(Math.min(this.totalDuration(),n+ch(this))%(this._dur+this._rDelay)||(n?this._dur:0),i):this._time},t.totalProgress=function(n,i){return arguments.length?this.totalTime(this.totalDuration()*n,i):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},t.progress=function(n,i){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-n:n)+ch(this),i):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},t.iteration=function(n,i){var s=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(n-1)*s,i):this._repeat?Or(this._tTime,s)+1:1},t.timeScale=function(n,i){if(!arguments.length)return this._rts===-re?0:this._rts;if(this._rts===n)return this;var s=this.parent&&this._ts?Ha(this.parent._time,this):this._tTime;return this._rts=+n||0,this._ts=this._ps||n===-re?0:this._rts,this.totalTime(Bs(-Math.abs(this._delay),this.totalDuration(),s),i!==!1),oo(this),ym(this)},t.paused=function(n){return arguments.length?(this._ps!==n&&(this._ps=n,n?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Br(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==re&&(this._tTime-=re)))),this):this._ps},t.startTime=function(n){if(arguments.length){this._start=he(n);var i=this.parent||this._dp;return i&&(i._sort||!this.parent)&&Pn(i,this,this._start-this._delay),this}return this._start},t.endTime=function(n){return this._start+($e(n)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},t.rawTime=function(n){var i=this.parent||this._dp;return i?n&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ha(i.rawTime(n),this):this._tTime:this._tTime},t.revert=function(n){n===void 0&&(n=_m);var i=Ie;return Ie=n,dc(this)&&(this.timeline&&this.timeline.revert(n),this.totalTime(-.01,n.suppressEvents)),this.data!=="nested"&&n.kill!==!1&&this.kill(),Ie=i,this},t.globalTime=function(n){for(var i=this,s=arguments.length?n:i.rawTime();i;)s=i._start+s/(Math.abs(i._ts)||1),i=i._dp;return!this.parent&&this._sat?this._sat.globalTime(n):s},t.repeat=function(n){return arguments.length?(this._repeat=n===1/0?-2:n,hh(this)):this._repeat===-2?1/0:this._repeat},t.repeatDelay=function(n){if(arguments.length){var i=this._time;return this._rDelay=n,hh(this),i?this.time(i):this}return this._rDelay},t.yoyo=function(n){return arguments.length?(this._yoyo=n,this):this._yoyo},t.seek=function(n,i){return this.totalTime(dn(this,n),$e(i))},t.restart=function(n,i){return this.play().totalTime(n?-this._delay:0,$e(i)),this._dur||(this._zTime=-re),this},t.play=function(n,i){return n!=null&&this.seek(n,i),this.reversed(!1).paused(!1)},t.reverse=function(n,i){return n!=null&&this.seek(n||this.totalDuration(),i),this.reversed(!0).paused(!1)},t.pause=function(n,i){return n!=null&&this.seek(n,i),this.paused(!0)},t.resume=function(){return this.paused(!1)},t.reversed=function(n){return arguments.length?(!!n!==this.reversed()&&this.timeScale(-this._rts||(n?-re:0)),this):this._rts<0},t.invalidate=function(){return this._initted=this._act=0,this._zTime=-re,this},t.isActive=function(){var n=this.parent||this._dp,i=this._start,s;return!!(!n||this._ts&&this._initted&&n.isActive()&&(s=n.rawTime(!0))>=i&&s1?(i?(o[n]=i,s&&(o[n+"Params"]=s),n==="onUpdate"&&(this._onUpdate=i)):delete o[n],this):o[n]},t.then=function(n){var i=this,s=i._prom;return new Promise(function(o){var a=me(n)?n:Kf,l=function(){var h=i.then;i.then=null,s&&s(),me(a)&&(a=a(i))&&(a.then||a===i)&&(i.then=h),o(a),i.then=h};i._initted&&i.totalProgress()===1&&i._ts>=0||!i._tTime&&i._ts<0?l():i._prom=l})},t.kill=function(){ds(this)},r}();hn(Cs.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-re,_prom:0,_ps:!1,_rts:1});var We=function(r){zf(t,r);function t(n,i){var s;return n===void 0&&(n={}),s=r.call(this,n)||this,s.labels={},s.smoothChildTiming=!!n.smoothChildTiming,s.autoRemoveChildren=!!n.autoRemoveChildren,s._sort=$e(n.sortChildren),ue&&Pn(n.parent||ue,Wn(s),i),n.reversed&&s.reverse(),n.paused&&s.paused(!0),n.scrollTrigger&&td(Wn(s),n.scrollTrigger),s}var e=t.prototype;return e.to=function(i,s,o){return gs(0,arguments,this),this},e.from=function(i,s,o){return gs(1,arguments,this),this},e.fromTo=function(i,s,o,a){return gs(2,arguments,this),this},e.set=function(i,s,o){return s.duration=0,s.parent=this,_s(s).repeatDelay||(s.repeat=0),s.immediateRender=!!s.immediateRender,new Se(i,s,dn(this,o),1),this},e.call=function(i,s,o){return Pn(this,Se.delayedCall(0,i,s),o)},e.staggerTo=function(i,s,o,a,l,c,h){return o.duration=s,o.stagger=o.stagger||a,o.onComplete=c,o.onCompleteParams=h,o.parent=this,new Se(i,o,dn(this,l)),this},e.staggerFrom=function(i,s,o,a,l,c,h){return o.runBackwards=1,_s(o).immediateRender=$e(o.immediateRender),this.staggerTo(i,s,o,a,l,c,h)},e.staggerFromTo=function(i,s,o,a,l,c,h,u){return a.startAt=o,_s(a).immediateRender=$e(a.immediateRender),this.staggerTo(i,s,a,l,c,h,u)},e.render=function(i,s,o){var a=this._time,l=this._dirty?this.totalDuration():this._tDur,c=this._dur,h=i<=0?0:he(i),u=this._zTime<0!=i<0&&(this._initted||!c),f,d,_,g,p,m,y,v,S,w,C,E;if(this!==ue&&h>l&&i>=0&&(h=l),h!==this._tTime||o||u){if(a!==this._time&&c&&(h+=this._time-a,i+=this._time-a),f=h,S=this._start,v=this._ts,m=!v,u&&(c||(a=this._zTime),(i||!s)&&(this._zTime=i)),this._repeat){if(C=this._yoyo,p=c+this._rDelay,this._repeat<-1&&i<0)return this.totalTime(p*100+i,s,o);if(f=he(h%p),h===l?(g=this._repeat,f=c):(w=he(h/p),g=~~w,g&&g===w&&(f=c,g--),f>c&&(f=c)),w=Or(this._tTime,p),!a&&this._tTime&&w!==g&&this._tTime-w*p-this._dur<=0&&(w=g),C&&g&1&&(f=c-f,E=1),g!==w&&!this._lock){var N=C&&w&1,U=N===(C&&g&1);if(g=a&&i>=0)for(d=this._first;d;){if(_=d._next,(d._act||f>=d._start)&&d._ts&&y!==d){if(d.parent!==this)return this.render(i,s,o);if(d.render(d._ts>0?(f-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(f-d._start)*d._ts,s,o),f!==this._time||!this._ts&&!m){y=0,_&&(h+=this._zTime=-re);break}}d=_}else{d=this._last;for(var x=i<0?i:f;d;){if(_=d._prev,(d._act||x<=d._end)&&d._ts&&y!==d){if(d.parent!==this)return this.render(i,s,o);if(d.render(d._ts>0?(x-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(x-d._start)*d._ts,s,o||Ie&&dc(d)),f!==this._time||!this._ts&&!m){y=0,_&&(h+=this._zTime=x?-re:re);break}}d=_}}if(y&&!s&&(this.pause(),y.render(f>=a?0:-re)._zTime=f>=a?1:-1,this._ts))return this._start=S,oo(this),this.render(i,s,o);this._onUpdate&&!s&&an(this,"onUpdate",!0),(h===l&&this._tTime>=this.totalDuration()||!h&&a)&&(S===this._start||Math.abs(v)!==Math.abs(this._ts))&&(this._lock||((i||!c)&&(h===l&&this._ts>0||!h&&this._ts<0)&&yi(this,1),!s&&!(i<0&&!a)&&(h||a||!l)&&(an(this,h===l&&i>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(h0)&&this._prom())))}return this},e.add=function(i,s){var o=this;if(jn(s)||(s=dn(this,s,i)),!(i instanceof Cs)){if(ke(i))return i.forEach(function(a){return o.add(a,s)}),this;if(Ce(i))return this.addLabel(i,s);if(me(i))i=Se.delayedCall(0,i);else return this}return this!==i?Pn(this,i,s):this},e.getChildren=function(i,s,o,a){i===void 0&&(i=!0),s===void 0&&(s=!0),o===void 0&&(o=!0),a===void 0&&(a=-_n);for(var l=[],c=this._first;c;)c._start>=a&&(c instanceof Se?s&&l.push(c):(o&&l.push(c),i&&l.push.apply(l,c.getChildren(!0,s,o)))),c=c._next;return l},e.getById=function(i){for(var s=this.getChildren(1,1,1),o=s.length;o--;)if(s[o].vars.id===i)return s[o]},e.remove=function(i){return Ce(i)?this.removeLabel(i):me(i)?this.killTweensOf(i):(i.parent===this&&ao(this,i),i===this._recent&&(this._recent=this._last),Gi(this))},e.totalTime=function(i,s){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=he(sn.time-(this._ts>0?i/this._ts:(this.totalDuration()-i)/-this._ts))),r.prototype.totalTime.call(this,i,s),this._forcing=0,this):this._tTime},e.addLabel=function(i,s){return this.labels[i]=dn(this,s),this},e.removeLabel=function(i){return delete this.labels[i],this},e.addPause=function(i,s,o){var a=Se.delayedCall(0,s||Ts,o);return a.data="isPause",this._hasPause=1,Pn(this,a,dn(this,i))},e.removePause=function(i){var s=this._first;for(i=dn(this,i);s;)s._start===i&&s.data==="isPause"&&yi(s),s=s._next},e.killTweensOf=function(i,s,o){for(var a=this.getTweensOf(i,o),l=a.length;l--;)ci!==a[l]&&a[l].kill(i,s);return this},e.getTweensOf=function(i,s){for(var o=[],a=gn(i),l=this._first,c=jn(s),h;l;)l instanceof Se?gm(l._targets,a)&&(c?(!ci||l._initted&&l._ts)&&l.globalTime(0)<=s&&l.globalTime(l.totalDuration())>s:!s||l.isActive())&&o.push(l):(h=l.getTweensOf(a,s)).length&&o.push.apply(o,h),l=l._next;return o},e.tweenTo=function(i,s){s=s||{};var o=this,a=dn(o,i),l=s,c=l.startAt,h=l.onStart,u=l.onStartParams,f=l.immediateRender,d,_=Se.to(o,hn({ease:s.ease||"none",lazy:!1,immediateRender:!1,time:a,overwrite:"auto",duration:s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale())||re,onStart:function(){if(o.pause(),!d){var p=s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale());_._dur!==p&&Fr(_,p,0,1).render(_._time,!0,!0),d=1}h&&h.apply(_,u||[])}},s));return f?_.render(0):_},e.tweenFromTo=function(i,s,o){return this.tweenTo(s,hn({startAt:{time:dn(this,i)}},o))},e.recent=function(){return this._recent},e.nextLabel=function(i){return i===void 0&&(i=this._time),uh(this,dn(this,i))},e.previousLabel=function(i){return i===void 0&&(i=this._time),uh(this,dn(this,i),1)},e.currentLabel=function(i){return arguments.length?this.seek(i,!0):this.previousLabel(this._time+re)},e.shiftChildren=function(i,s,o){o===void 0&&(o=0);var a=this._first,l=this.labels,c;for(i=he(i);a;)a._start>=o&&(a._start+=i,a._end+=i),a=a._next;if(s)for(c in l)l[c]>=o&&(l[c]+=i);return Gi(this)},e.invalidate=function(i){var s=this._first;for(this._lock=0;s;)s.invalidate(i),s=s._next;return r.prototype.invalidate.call(this,i)},e.clear=function(i){i===void 0&&(i=!0);for(var s=this._first,o;s;)o=s._next,this.remove(s),s=o;return this._dp&&(this._time=this._tTime=this._pTime=0),i&&(this.labels={}),Gi(this)},e.totalDuration=function(i){var s=0,o=this,a=o._last,l=_n,c,h,u;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-i:i));if(o._dirty){for(u=o.parent;a;)c=a._prev,a._dirty&&a.totalDuration(),h=a._start,h>l&&o._sort&&a._ts&&!o._lock?(o._lock=1,Pn(o,a,h-a._delay,1)._lock=0):l=h,h<0&&a._ts&&(s-=h,(!u&&!o._dp||u&&u.smoothChildTiming)&&(o._start+=he(h/o._ts),o._time-=h,o._tTime-=h),o.shiftChildren(-h,!1,-1/0),l=0),a._end>s&&a._ts&&(s=a._end),a=c;Fr(o,o===ue&&o._time>s?o._time:s,1,1),o._dirty=0}return o._tDur},t.updateRoot=function(i){if(ue._ts&&(jf(ue,Ha(i,ue)),Yf=sn.frame),sn.frame>=oh){oh+=ln.autoSleep||120;var s=ue._first;if((!s||!s._ts)&&ln.autoSleep&&sn._listeners.length<2){for(;s&&!s._ts;)s=s._next;s||sn.sleep()}}},t}(Cs);hn(We.prototype,{_lock:0,_hasPause:0,_forcing:0});var km=function(t,e,n,i,s,o,a){var l=new Ze(this._pt,t,e,0,1,bd,null,s),c=0,h=0,u,f,d,_,g,p,m,y;for(l.b=n,l.e=i,n+="",i+="",(m=~i.indexOf("random("))&&(i=As(i)),o&&(y=[n,i],o(y,t,e),n=y[0],i=y[1]),f=n.match(Ro)||[];u=Ro.exec(i);)_=u[0],g=i.substring(c,u.index),d?d=(d+1)%5:g.substr(-5)==="rgba("&&(d=1),_!==f[h++]&&(p=parseFloat(f[h-1])||0,l._pt={_next:l._pt,p:g||h===1?g:",",s:p,c:_.charAt(1)==="="?Rr(p,_)-p:parseFloat(_)-p,m:d&&d<4?Math.round:0},c=Ro.lastIndex);return l.c=c")}),S.duration();else{C={};for(N in _)N==="ease"||N==="easeEach"||Wm(N,_[N],C,_.easeEach);for(N in C)for(W=C[N].sort(function(O,Y){return O.t-Y.t}),k=0,w=0;wl-re&&!h?l:ic&&(f=c)),m=this._yoyo&&_&1,m&&(S=this._yEase,f=c-f),p=Or(this._tTime,g),f===a&&!o&&this._initted&&_===p)return this._tTime=u,this;_!==p&&(v&&this._yEase&&md(v,m),this.vars.repeatRefresh&&!m&&!this._lock&&f!==g&&this._initted&&(this._lock=o=1,this.render(he(g*_),!0).invalidate()._lock=0))}if(!this._initted){if(ed(this,h?i:f,o,s,u))return this._tTime=0,this;if(a!==this._time&&!(o&&this.vars.repeatRefresh&&_!==p))return this;if(c!==this._dur)return this.render(i,s,o)}if(this._tTime=u,this._time=f,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=y=(S||this._ease)(f/c),this._from&&(this.ratio=y=1-y),!a&&u&&!s&&!p&&(an(this,"onStart"),this._tTime!==u))return this;for(d=this._pt;d;)d.r(y,d.d),d=d._next;v&&v.render(i<0?i:v._dur*v._ease(f/this._dur),s,o)||this._startAt&&(this._zTime=i),this._onUpdate&&!s&&(h&&Rl(this,i,s,o),an(this,"onUpdate")),this._repeat&&_!==p&&this.vars.onRepeat&&!s&&this.parent&&an(this,"onRepeat"),(u===this._tDur||!u)&&this._tTime===u&&(h&&!this._onUpdate&&Rl(this,i,!0,!0),(i||!c)&&(u===this._tDur&&this._ts>0||!u&&this._ts<0)&&yi(this,1),!s&&!(h&&!a)&&(u||a||m)&&(an(this,u===l?"onComplete":"onReverseComplete",!0),this._prom&&!(u0)&&this._prom()))}return this},e.targets=function(){return this._targets},e.invalidate=function(i){return(!i||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(i),r.prototype.invalidate.call(this,i)},e.resetTo=function(i,s,o,a,l){ws||sn.wake(),this._ts||this.play();var c=Math.min(this._dur,(this._dp._time-this._start)*this._ts),h;return this._initted||mc(this,c),h=this._ease(c/this._dur),Hm(this,i,s,o,a,h,c,l)?this.resetTo(i,s,o,a,1):(lo(this,0),this.parent||Jf(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function(i,s){if(s===void 0&&(s="all"),!i&&(!s||s==="all"))return this._lazy=this._pt=0,this.parent?ds(this):this.scrollTrigger&&this.scrollTrigger.kill(!!Ie),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(i,s,ci&&ci.vars.overwrite!==!0)._first||ds(this),this.parent&&o!==this.timeline.totalDuration()&&Fr(this,this._dur*this.timeline._tDur/o,0,1),this}var a=this._targets,l=i?gn(i):a,c=this._ptLookup,h=this._pt,u,f,d,_,g,p,m;if((!s||s==="all")&&xm(a,l))return s==="all"&&(this._pt=0),ds(this);for(u=this._op=this._op||[],s!=="all"&&(Ce(s)&&(g={},je(s,function(y){return g[y]=1}),s=g),s=Gm(a,s)),m=a.length;m--;)if(~l.indexOf(a[m])){f=c[m],s==="all"?(u[m]=s,_=f,d={}):(d=u[m]=u[m]||{},_=s);for(g in _)p=f&&f[g],p&&((!("kill"in p.d)||p.d.kill(g)===!0)&&ao(this,p,"_pt"),delete f[g]),d!=="all"&&(d[g]=1)}return this._initted&&!this._pt&&h&&ds(this),this},t.to=function(i,s){return new t(i,s,arguments[2])},t.from=function(i,s){return gs(1,arguments)},t.delayedCall=function(i,s,o,a){return new t(s,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:i,onComplete:s,onReverseComplete:s,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:a})},t.fromTo=function(i,s,o){return gs(2,arguments)},t.set=function(i,s){return s.duration=0,s.repeatDelay||(s.repeat=0),new t(i,s)},t.killTweensOf=function(i,s,o){return ue.killTweensOf(i,s,o)},t}(Cs);hn(Se.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});je("staggerTo,staggerFrom,staggerFromTo",function(r){Se[r]=function(){var t=new We,e=Ll.call(arguments,0);return e.splice(r==="staggerFromTo"?5:4,0,0),t[r].apply(t,e)}});var _c=function(t,e,n){return t[e]=n},Md=function(t,e,n){return t[e](n)},Xm=function(t,e,n,i){return t[e](i.fp,n)},qm=function(t,e,n){return t.setAttribute(e,n)},gc=function(t,e){return me(t[e])?Md:ac(t[e])&&t.setAttribute?qm:_c},Sd=function(t,e){return e.set(e.t,e.p,Math.round((e.s+e.c*t)*1e6)/1e6,e)},Ym=function(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},bd=function(t,e){var n=e._pt,i="";if(!t&&e.b)i=e.b;else if(t===1&&e.e)i=e.e;else{for(;n;)i=n.p+(n.m?n.m(n.s+n.c*t):Math.round((n.s+n.c*t)*1e4)/1e4)+i,n=n._next;i+=e.c}e.set(e.t,e.p,i,e)},vc=function(t,e){for(var n=e._pt;n;)n.r(t,n.d),n=n._next},$m=function(t,e,n,i){for(var s=this._pt,o;s;)o=s._next,s.p===i&&s.modifier(t,e,n),s=o},jm=function(t){for(var e=this._pt,n,i;e;)i=e._next,e.p===t&&!e.op||e.op===t?ao(this,e,"_pt"):e.dep||(n=1),e=i;return!n},Zm=function(t,e,n,i){i.mSet(t,e,i.m.call(i.tween,n,i.mt),i)},Ed=function(t){for(var e=t._pt,n,i,s,o;e;){for(n=e._next,i=s;i&&i.pr>e.pr;)i=i._next;(e._prev=i?i._prev:o)?e._prev._next=e:s=e,(e._next=i)?i._prev=e:o=e,e=n}t._pt=s},Ze=function(){function r(e,n,i,s,o,a,l,c,h){this.t=n,this.s=s,this.c=o,this.p=i,this.r=a||Sd,this.d=l||this,this.set=c||_c,this.pr=h||0,this._next=e,e&&(e._prev=this)}var t=r.prototype;return t.modifier=function(n,i,s){this.mSet=this.mSet||this.set,this.set=Zm,this.m=n,this.mt=s,this.tween=i},r}();je(uc+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(r){return hc[r]=1});cn.TweenMax=cn.TweenLite=Se;cn.TimelineLite=cn.TimelineMax=We;ue=new We({sortChildren:!1,defaults:Nr,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});ln.stringFilter=dd;var Xi=[],Oa={},Km=[],dh=0,Jm=0,No=function(t){return(Oa[t]||Km).map(function(e){return e()})},Ul=function(){var t=Date.now(),e=[];t-dh>2&&(No("matchMediaInit"),Xi.forEach(function(n){var i=n.queries,s=n.conditions,o,a,l,c;for(a in i)o=Cn.matchMedia(i[a]).matches,o&&(l=1),o!==s[a]&&(s[a]=o,c=1);c&&(n.revert(),l&&e.push(n))}),No("matchMediaRevert"),e.forEach(function(n){return n.onMatch(n,function(i){return n.add(null,i)})}),dh=t,No("matchMedia"))},Td=function(){function r(e,n){this.selector=n&&Dl(n),this.data=[],this._r=[],this.isReverted=!1,this.id=Jm++,e&&this.add(e)}var t=r.prototype;return t.add=function(n,i,s){me(n)&&(s=i,i=n,n=me);var o=this,a=function(){var c=le,h=o.selector,u;return c&&c!==o&&c.data.push(o),s&&(o.selector=Dl(s)),le=o,u=i.apply(o,arguments),me(u)&&o._r.push(u),le=c,o.selector=h,o.isReverted=!1,u};return o.last=a,n===me?a(o,function(l){return o.add(null,l)}):n?o[n]=a:a},t.ignore=function(n){var i=le;le=null,n(this),le=i},t.getTweens=function(){var n=[];return this.data.forEach(function(i){return i instanceof r?n.push.apply(n,i.getTweens()):i instanceof Se&&!(i.parent&&i.parent.data==="nested")&&n.push(i)}),n},t.clear=function(){this._r.length=this.data.length=0},t.kill=function(n,i){var s=this;if(n?function(){for(var a=s.getTweens(),l=s.data.length,c;l--;)c=s.data[l],c.data==="isFlip"&&(c.revert(),c.getChildren(!0,!0,!1).forEach(function(h){return a.splice(a.indexOf(h),1)}));for(a.map(function(h){return{g:h._dur||h._delay||h._sat&&!h._sat.vars.immediateRender?h.globalTime(0):-1/0,t:h}}).sort(function(h,u){return u.g-h.g||-1/0}).forEach(function(h){return h.t.revert(n)}),l=s.data.length;l--;)c=s.data[l],c instanceof We?c.data!=="nested"&&(c.scrollTrigger&&c.scrollTrigger.revert(),c.kill()):!(c instanceof Se)&&c.revert&&c.revert(n);s._r.forEach(function(h){return h(n,s)}),s.isReverted=!0}():this.data.forEach(function(a){return a.kill&&a.kill()}),this.clear(),i)for(var o=Xi.length;o--;)Xi[o].id===this.id&&Xi.splice(o,1)},t.revert=function(n){this.kill(n||{})},r}(),Qm=function(){function r(e){this.contexts=[],this.scope=e,le&&le.data.push(this)}var t=r.prototype;return t.add=function(n,i,s){In(n)||(n={matches:n});var o=new Td(0,s||this.scope),a=o.conditions={},l,c,h;le&&!o.selector&&(o.selector=le.selector),this.contexts.push(o),i=o.add("onMatch",i),o.queries=n;for(c in n)c==="all"?h=1:(l=Cn.matchMedia(n[c]),l&&(Xi.indexOf(o)<0&&Xi.push(o),(a[c]=l.matches)&&(h=1),l.addListener?l.addListener(Ul):l.addEventListener("change",Ul)));return h&&i(o,function(u){return o.add(null,u)}),this},t.revert=function(n){this.kill(n||{})},t.kill=function(n){this.contexts.forEach(function(i){return i.kill(n,!0)})},r}(),Ga={registerPlugin:function(){for(var t=arguments.length,e=new Array(t),n=0;n1){var i=t.map(function(h){return Qe.quickSetter(h,e,n)}),s=i.length;return function(h){for(var u=s;u--;)i[u](h)}}t=t[0]||{};var o=rn[e],a=Hi(t),l=a.harness&&(a.harness.aliases||{})[e]||e,c=o?function(h){var u=new o;Tr._pt=0,u.init(t,n?h+n:h,Tr,0,[t]),u.render(1,u),Tr._pt&&vc(1,Tr)}:a.set(t,l);return o?c:function(h){return c(t,l,n?h+n:h,a,1)}},quickTo:function(t,e,n){var i,s=Qe.to(t,hn((i={},i[e]="+=0.1",i.paused=!0,i.stagger=0,i),n||{})),o=function(l,c,h){return s.resetTo(e,l,c,h)};return o.tween=s,o},isTweening:function(t){return ue.getTweensOf(t,!0).length>0},defaults:function(t){return t&&t.ease&&(t.ease=Wi(t.ease,Nr.ease)),lh(Nr,t||{})},config:function(t){return lh(ln,t||{})},registerEffect:function(t){var e=t.name,n=t.effect,i=t.plugins,s=t.defaults,o=t.extendTimeline;(i||"").split(",").forEach(function(a){return a&&!rn[a]&&!cn[a]&&Es(e+" effect requires "+a+" plugin.")}),Po[e]=function(a,l,c){return n(gn(a),hn(l||{},s),c)},o&&(We.prototype[e]=function(a,l,c){return this.add(Po[e](a,In(l)?l:(c=l)&&{},this),c)})},registerEase:function(t,e){jt[t]=Wi(e)},parseEase:function(t,e){return arguments.length?Wi(t,e):jt},getById:function(t){return ue.getById(t)},exportRoot:function(t,e){t===void 0&&(t={});var n=new We(t),i,s;for(n.smoothChildTiming=$e(t.smoothChildTiming),ue.remove(n),n._dp=0,n._time=n._tTime=ue._time,i=ue._first;i;)s=i._next,(e||!(!i._dur&&i instanceof Se&&i.vars.onComplete===i._targets[0]))&&Pn(n,i,i._start-i._delay),i=s;return Pn(ue,n,0),n},context:function(t,e){return t?new Td(t,e):le},matchMedia:function(t){return new Qm(t)},matchMediaRefresh:function(){return Xi.forEach(function(t){var e=t.conditions,n,i;for(i in e)e[i]&&(e[i]=!1,n=1);n&&t.revert()})||Ul()},addEventListener:function(t,e){var n=Oa[t]||(Oa[t]=[]);~n.indexOf(e)||n.push(e)},removeEventListener:function(t,e){var n=Oa[t],i=n&&n.indexOf(e);i>=0&&n.splice(i,1)},utils:{wrap:Lm,wrapYoyo:Dm,distribute:rd,random:ad,snap:sd,normalize:Pm,getUnit:ze,clamp:Am,splitColor:ud,toArray:gn,selector:Dl,mapRange:ld,pipe:Cm,unitize:Rm,interpolate:Im,shuffle:id},install:Xf,effects:Po,ticker:sn,updateRoot:We.updateRoot,plugins:rn,globalTimeline:ue,core:{PropTween:Ze,globals:qf,Tween:Se,Timeline:We,Animation:Cs,getCache:Hi,_removeLinkedListItem:ao,reverting:function(){return Ie},context:function(t){return t&&le&&(le.data.push(t),t._ctx=le),le},suppressOverwrites:function(t){return sc=t}}};je("to,from,fromTo,delayedCall,set,killTweensOf",function(r){return Ga[r]=Se[r]});sn.add(We.updateRoot);Tr=Ga.to({},{duration:0});var t_=function(t,e){for(var n=t._pt;n&&n.p!==e&&n.op!==e&&n.fp!==e;)n=n._next;return n},e_=function(t,e){var n=t._targets,i,s,o;for(i in e)for(s=n.length;s--;)o=t._ptLookup[s][i],o&&(o=o.d)&&(o._pt&&(o=t_(o,i)),o&&o.modifier&&o.modifier(e[i],t,n[s],i))},Uo=function(t,e){return{name:t,headless:1,rawVars:1,init:function(i,s,o){o._onInit=function(a){var l,c;if(Ce(s)&&(l={},je(s,function(h){return l[h]=1}),s=l),e){l={};for(c in s)l[c]=e(s[c]);s=l}e_(a,s)}}}},Qe=Ga.registerPlugin({name:"attr",init:function(t,e,n,i,s){var o,a,l;this.tween=n;for(o in e)l=t.getAttribute(o)||"",a=this.add(t,"setAttribute",(l||0)+"",e[o],i,s,0,0,o),a.op=o,a.b=l,this._props.push(o)},render:function(t,e){for(var n=e._pt;n;)Ie?n.set(n.t,n.p,n.b,n):n.r(t,n.d),n=n._next}},{name:"endArray",headless:1,init:function(t,e){for(var n=e.length;n--;)this.add(t,n,t[n]||0,e[n],0,0,0,0,0,1)}},Uo("roundProps",Il),Uo("modifiers"),Uo("snap",sd))||Ga;Se.version=We.version=Qe.version="3.14.2";Wf=1;oc()&&Br();jt.Power0;jt.Power1;jt.Power2;jt.Power3;jt.Power4;jt.Linear;jt.Quad;jt.Cubic;jt.Quart;jt.Quint;jt.Strong;jt.Elastic;jt.Back;jt.SteppedEase;jt.Bounce;jt.Sine;jt.Expo;jt.Circ;/*! - * CSSPlugin 3.14.2 +*/var ln={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},bs={duration:.5,overwrite:!1,delay:0},sc,Ie,le,_n=1e8,re=1/_n,Al=Math.PI*2,sm=Al/4,am=0,kf=Math.sqrt,om=Math.cos,lm=Math.sin,Re=function(t){return typeof t=="string"},me=function(t){return typeof t=="function"},jn=function(t){return typeof t=="number"},ac=function(t){return typeof t=="undefined"},In=function(t){return typeof t=="object"},$e=function(t){return t!==!1},oc=function(){return typeof window!="undefined"},Zs=function(t){return me(t)||Re(t)},Vf=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},ke=Array.isArray,cm=/random\([^)]+\)/g,hm=/,\s*/g,ah=/(?:-?\.?\d|\.)+/gi,Hf=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Er=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,Co=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,Gf=/[+-]=-?[.\d]+/,um=/[^,'"\[\]\s]+/gi,fm=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ue,Rn,wl,lc,cn={},za={},Wf,Xf=function(t){return(za=Ur(t,cn))&&Qe},cc=function(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")},Es=function(t,e){return!e&&console.warn(t)},qf=function(t,e){return t&&(cn[t]=e)&&za&&(za[t]=e)||cn},Ts=function(){return 0},dm={suppressEvents:!0,isStart:!0,kill:!1},Ua={suppressEvents:!0,kill:!1},pm={suppressEvents:!0},hc={},pi=[],Rl={},Yf,rn={},Po={},oh=30,Na=[],uc="",fc=function(t){var e=t[0],n,i;if(In(e)||me(e)||(t=[t]),!(n=(e._gsap||{}).harness)){for(i=Na.length;i--&&!Na[i].targetTest(e););n=Na[i]}for(i=t.length;i--;)t[i]&&(t[i]._gsap||(t[i]._gsap=new md(t[i],n)))||t.splice(i,1);return t},Hi=function(t){return t._gsap||fc(gn(t))[0]._gsap},$f=function(t,e,n){return(n=t[e])&&me(n)?t[e]():ac(n)&&t.getAttribute&&t.getAttribute(e)||n},je=function(t,e){return(t=t.split(",")).forEach(e)||t},ye=function(t){return Math.round(t*1e5)/1e5||0},he=function(t){return Math.round(t*1e7)/1e7||0},Cr=function(t,e){var n=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),n==="+"?t+i:n==="-"?t-i:n==="*"?t*i:t/i},mm=function(t,e){for(var n=e.length,i=0;t.indexOf(e[i])<0&&++ia;)o=o._prev;return o?(e._next=o._next,o._next=e):(e._next=t[n],t[n]=e),e._next?e._next._prev=e:t[i]=e,e._prev=o,e.parent=e._dp=t,e},ao=function(t,e,n,i){n===void 0&&(n="_first"),i===void 0&&(i="_last");var s=e._prev,o=e._next;s?s._next=o:t[n]===e&&(t[n]=o),o?o._prev=s:t[i]===e&&(t[i]=s),e._next=e._prev=e.parent=null},yi=function(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0},Gi=function(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var n=t;n;)n._dirty=1,n=n.parent;return t},vm=function(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t},Cl=function(t,e,n,i){return t._startAt&&(Ie?t._startAt.revert(Ua):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))},xm=function r(t){return!t||t._ts&&r(t.parent)},ch=function(t){return t._repeat?Nr(t._tTime,t=t.duration()+t._rDelay)*t:0},Nr=function(t,e){var n=Math.floor(t=he(t/e));return t&&n===t?n-1:n},Ha=function(t,e){return(t-e._start)*e._ts+(e._ts>=0?0:e._dirty?e.totalDuration():e._tDur)},oo=function(t){return t._end=he(t._start+(t._tDur/Math.abs(t._ts||t._rts||re)||0))},lo=function(t,e){var n=t._dp;return n&&n.smoothChildTiming&&t._ts&&(t._start=he(n._time-(t._ts>0?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),oo(t),n._dirty||Gi(n,t)),t},Qf=function(t,e){var n;if((e._time||!e._dur&&e._initted||e._startre)&&e.render(n,!0)),Gi(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur=0&&n.totalTime(n._tTime),n=n._dp;t._zTime=-re}},Pn=function(t,e,n,i){return e.parent&&yi(e),e._start=he((jn(n)?n:n||t!==ue?dn(t,n,e):t._time)+e._delay),e._end=he(e._start+(e.totalDuration()/Math.abs(e.timeScale())||0)),Jf(t,e,"_first","_last",t._sort?"_start":0),Pl(e)||(t._recent=e),i||Qf(t,e),t._ts<0&&lo(t,t._tTime),t},td=function(t,e){return(cn.ScrollTrigger||cc("scrollTrigger",e))&&cn.ScrollTrigger.create(e,t)},ed=function(t,e,n,i,s){if(mc(t,e,s),!t._initted)return 1;if(!n&&t._pt&&!Ie&&(t._dur&&t.vars.lazy!==!1||!t._dur&&t.vars.lazy)&&Yf!==sn.frame)return pi.push(t),t._lazy=[s,i],1},ym=function r(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||r(e))},Pl=function(t){var e=t.data;return e==="isFromStart"||e==="isStart"},Mm=function(t,e,n,i){var s=t.ratio,o=e<0||!e&&(!t._start&&ym(t)&&!(!t._initted&&Pl(t))||(t._ts<0||t._dp._ts<0)&&!Pl(t))?0:1,a=t._rDelay,l=0,c,h,u;if(a&&t._repeat&&(l=Bs(0,t._tDur,e),h=Nr(l,a),t._yoyo&&h&1&&(o=1-o),h!==Nr(t._tTime,a)&&(s=1-o,t.vars.repeatRefresh&&t._initted&&t.invalidate())),o!==s||Ie||i||t._zTime===re||!e&&t._zTime){if(!t._initted&&ed(t,e,i,n,l))return;for(u=t._zTime,t._zTime=e||(n?re:0),n||(n=e&&!u),t.ratio=o,t._from&&(o=1-o),t._time=0,t._tTime=l,c=t._pt;c;)c.r(o,c.d),c=c._next;e<0&&Cl(t,e,n,!0),t._onUpdate&&!n&&an(t,"onUpdate"),l&&t._repeat&&!n&&t.parent&&an(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===o&&(o&&yi(t,1),!n&&!Ie&&(an(t,o?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)},Sm=function(t,e,n){var i;if(n>e)for(i=t._first;i&&i._start<=n;){if(i.data==="isPause"&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=n;){if(i.data==="isPause"&&i._start0&&!i&&lo(t,t._tTime=t._tDur*a),t.parent&&oo(t),n||Gi(t.parent,t),t},hh=function(t){return t instanceof qe?Gi(t):Or(t,t._dur)},bm={_start:0,endTime:Ts,totalDuration:Ts},dn=function r(t,e,n){var i=t.labels,s=t._recent||bm,o=t.duration()>=_n?s.endTime(!1):t._dur,a,l,c;return Re(e)&&(isNaN(e)||e in i)?(l=e.charAt(0),c=e.substr(-1)==="%",a=e.indexOf("="),l==="<"||l===">"?(a>=0&&(e=e.replace(/=/,"")),(l==="<"?s._start:s.endTime(s._repeat>=0))+(parseFloat(e.substr(1))||0)*(c?(a<0?s:n).totalDuration()/100:1)):a<0?(e in i||(i[e]=o),i[e]):(l=parseFloat(e.charAt(a-1)+e.substr(a+1)),c&&n&&(l=l/100*(ke(n)?n[0]:n).totalDuration()),a>1?r(t,e.substr(0,a-1),n)+l:o+l)):e==null?o:+e},_s=function(t,e,n){var i=jn(e[1]),s=(i?2:1)+(t<2?0:1),o=e[s],a,l;if(i&&(o.duration=e[1]),o.parent=n,t){for(a=o,l=n;l&&!("immediateRender"in a);)a=l.vars.defaults||{},l=$e(l.vars.inherit)&&l.parent;o.immediateRender=$e(a.immediateRender),t<2?o.runBackwards=1:o.startAt=e[s-1]}return new Se(e[0],o,e[s+1])},Ai=function(t,e){return t||t===0?e(t):e},Bs=function(t,e,n){return ne?e:n},ze=function(t,e){return!Re(t)||!(e=fm.exec(t))?"":e[1]},Em=function(t,e,n){return Ai(n,function(i){return Bs(t,e,i)})},Ll=[].slice,nd=function(t,e){return t&&In(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&In(t[0]))&&!t.nodeType&&t!==Rn},Tm=function(t,e,n){return n===void 0&&(n=[]),t.forEach(function(i){var s;return Re(i)&&!e||nd(i,1)?(s=n).push.apply(s,gn(i)):n.push(i)})||n},gn=function(t,e,n){return le&&!e&&le.selector?le.selector(t):Re(t)&&!n&&(wl||!Fr())?Ll.call((e||lc).querySelectorAll(t),0):ke(t)?Tm(t,n):nd(t)?Ll.call(t,0):t?[t]:[]},Dl=function(t){return t=gn(t)[0]||Es("Invalid scope")||{},function(e){var n=t.current||t.nativeElement||t;return gn(e,n.querySelectorAll?n:n===t?Es("Invalid scope")||lc.createElement("div"):t)}},id=function(t){return t.sort(function(){return .5-Math.random()})},rd=function(t){if(me(t))return t;var e=In(t)?t:{each:t},n=Wi(e.ease),i=e.from||0,s=parseFloat(e.base)||0,o={},a=i>0&&i<1,l=isNaN(i)||a,c=e.axis,h=i,u=i;return Re(i)?h=u={center:.5,edges:.5,end:1}[i]||0:!a&&l&&(h=i[0],u=i[1]),function(f,d,_){var g=(_||e).length,p=o[g],m,y,v,S,w,R,b,U,F;if(!p){if(F=e.grid==="auto"?0:(e.grid||[1,_n])[1],!F){for(b=-_n;b<(b=_[F++].getBoundingClientRect().left)&&Fb&&(b=w),wg?g-1:c?c==="y"?g/F:F:Math.max(F,g/F))||0)*(i==="edges"?-1:1),p.b=g<0?s-g:s,p.u=ze(e.amount||e.each)||0,n=n&&g<0?Bm(n):n}return g=(p[f]-p.min)/p.max||0,he(p.b+(n?n(g):g)*p.v)+p.u}},Il=function(t){var e=Math.pow(10,((t+"").split(".")[1]||"").length);return function(n){var i=he(Math.round(parseFloat(n)/t)*t*e);return(i-i%1)/e+(jn(n)?0:ze(n))}},sd=function(t,e){var n=ke(t),i,s;return!n&&In(t)&&(i=n=t.radius||_n,t.values?(t=gn(t.values),(s=!jn(t[0]))&&(i*=i)):t=Il(t.increment)),Ai(e,n?me(t)?function(o){return s=t(o),Math.abs(s-o)<=i?s:o}:function(o){for(var a=parseFloat(s?o.x:o),l=parseFloat(s?o.y:0),c=_n,h=0,u=t.length,f,d;u--;)s?(f=t[u].x-a,d=t[u].y-l,f=f*f+d*d):f=Math.abs(t[u]-a),fi?s-o:o)})},As=function(t){return t.replace(cm,function(e){var n=e.indexOf("[")+1,i=e.substring(n||7,n?e.indexOf("]"):e.length-1).split(hm);return ad(n?i:+i[0],n?0:+i[1],+i[2]||1e-5)})},ld=function(t,e,n,i,s){var o=e-t,a=i-n;return Ai(s,function(l){return n+((l-t)/o*a||0)})},Lm=function r(t,e,n,i){var s=isNaN(t+e)?0:function(d){return(1-d)*t+d*e};if(!s){var o=Re(t),a={},l,c,h,u,f;if(n===!0&&(i=1)&&(n=null),o)t={p:t},e={p:e};else if(ke(t)&&!ke(e)){for(h=[],u=t.length,f=u-2,c=1;c(a=Math.abs(a))&&(l=o,s=a);return l},an=function(t,e,n){var i=t.vars,s=i[e],o=le,a=t._ctx,l,c,h;if(s)return l=i[e+"Params"],c=i.callbackScope||t,n&&pi.length&&ka(),a&&(le=a),h=l?s.apply(c,l):s.call(c),le=o,h},fs=function(t){return yi(t),t.scrollTrigger&&t.scrollTrigger.kill(!!Ie),t.progress()<1&&an(t,"onInterrupt"),t},Tr,cd=[],hd=function(t){if(t)if(t=!t.name&&t.default||t,oc()||t.headless){var e=t.name,n=me(t),i=e&&!n&&t.init?function(){this._props=[]}:t,s={init:Ts,render:vc,add:pc,kill:$m,modifier:Ym,rawVars:0},o={targetTest:0,get:0,getSetter:gc,aliases:{},register:0};if(Fr(),t!==i){if(rn[e])return;hn(i,hn(Va(t,s),o)),Ur(i.prototype,Ur(s,Va(t,o))),rn[i.prop=e]=i,t.targetTest&&(Na.push(i),hc[e]=1),e=(e==="css"?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}qf(e,i),t.register&&t.register(Qe,i,Ze)}else cd.push(t)},ie=255,ds={aqua:[0,ie,ie],lime:[0,ie,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,ie],navy:[0,0,128],white:[ie,ie,ie],olive:[128,128,0],yellow:[ie,ie,0],orange:[ie,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[ie,0,0],pink:[ie,192,203],cyan:[0,ie,ie],transparent:[ie,ie,ie,0]},Lo=function(t,e,n){return t+=t<0?1:t>1?-1:0,(t*6<1?e+(n-e)*t*6:t<.5?n:t*3<2?e+(n-e)*(2/3-t)*6:e)*ie+.5|0},ud=function(t,e,n){var i=t?jn(t)?[t>>16,t>>8&ie,t&ie]:0:ds.black,s,o,a,l,c,h,u,f,d,_;if(!i){if(t.substr(-1)===","&&(t=t.substr(0,t.length-1)),ds[t])i=ds[t];else if(t.charAt(0)==="#"){if(t.length<6&&(s=t.charAt(1),o=t.charAt(2),a=t.charAt(3),t="#"+s+s+o+o+a+a+(t.length===5?t.charAt(4)+t.charAt(4):"")),t.length===9)return i=parseInt(t.substr(1,6),16),[i>>16,i>>8&ie,i&ie,parseInt(t.substr(7),16)/255];t=parseInt(t.substr(1),16),i=[t>>16,t>>8&ie,t&ie]}else if(t.substr(0,3)==="hsl"){if(i=_=t.match(ah),!e)l=+i[0]%360/360,c=+i[1]/100,h=+i[2]/100,o=h<=.5?h*(c+1):h+c-h*c,s=h*2-o,i.length>3&&(i[3]*=1),i[0]=Lo(l+1/3,s,o),i[1]=Lo(l,s,o),i[2]=Lo(l-1/3,s,o);else if(~t.indexOf("="))return i=t.match(Hf),n&&i.length<4&&(i[3]=1),i}else i=t.match(ah)||ds.transparent;i=i.map(Number)}return e&&!_&&(s=i[0]/ie,o=i[1]/ie,a=i[2]/ie,u=Math.max(s,o,a),f=Math.min(s,o,a),h=(u+f)/2,u===f?l=c=0:(d=u-f,c=h>.5?d/(2-u-f):d/(u+f),l=u===s?(o-a)/d+(ot||m<0)&&(n+=m-e),i+=m,w=i-n,v=w-o,(v>0||y)&&(R=++u.frame,f=w-u.time*1e3,u.time=w=w/1e3,o+=v+(v>=s?4:s-v),S=1),y||(l=c(g)),S)for(d=0;d=m&&d--},_listeners:a},u}(),Fr=function(){return!ws&&sn.wake()},jt={},Im=/^[\d.\-M][\d.\-,\s]/,Um=/["']/g,Nm=function(t){for(var e={},n=t.substr(1,t.length-3).split(":"),i=n[0],s=1,o=n.length,a,l,c;s1&&n.config?n.config.apply(null,~t.indexOf("{")?[Nm(e[1])]:Om(t).split(",").map(Zf)):jt._CE&&Im.test(t)?jt._CE("",t):n},Bm=function(t){return function(e){return 1-t(1-e)}},Wi=function(t,e){return t&&(me(t)?t:jt[t]||Fm(t))||e},Ji=function(t,e,n,i){n===void 0&&(n=function(l){return 1-e(1-l)}),i===void 0&&(i=function(l){return l<.5?e(l*2)/2:1-e((1-l)*2)/2});var s={easeIn:e,easeOut:n,easeInOut:i},o;return je(t,function(a){jt[a]=cn[a]=s,jt[o=a.toLowerCase()]=n;for(var l in s)jt[o+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=jt[a+"."+l]=s[l]}),s},pd=function(t){return function(e){return e<.5?(1-t(1-e*2))/2:.5+t((e-.5)*2)/2}},Do=function r(t,e,n){var i=e>=1?e:1,s=(n||(t?.3:.45))/(e<1?e:1),o=s/Al*(Math.asin(1/i)||0),a=function(h){return h===1?1:i*Math.pow(2,-10*h)*lm((h-o)*s)+1},l=t==="out"?a:t==="in"?function(c){return 1-a(1-c)}:pd(a);return s=Al/s,l.config=function(c,h){return r(t,c,h)},l},Io=function r(t,e){e===void 0&&(e=1.70158);var n=function(o){return o?--o*o*((e+1)*o+e)+1:0},i=t==="out"?n:t==="in"?function(s){return 1-n(1-s)}:pd(n);return i.config=function(s){return r(t,s)},i};je("Linear,Quad,Cubic,Quart,Quint,Strong",function(r,t){var e=t<5?t+1:t;Ji(r+",Power"+(e-1),t?function(n){return Math.pow(n,e)}:function(n){return n},function(n){return 1-Math.pow(1-n,e)},function(n){return n<.5?Math.pow(n*2,e)/2:1-Math.pow((1-n)*2,e)/2})});jt.Linear.easeNone=jt.none=jt.Linear.easeIn;Ji("Elastic",Do("in"),Do("out"),Do());(function(r,t){var e=1/t,n=2*e,i=2.5*e,s=function(a){return a0?n+(n+this._rDelay)*this._repeat:n):this.totalDuration()&&this._dur},t.totalDuration=function(n){return arguments.length?(this._dirty=0,Or(this,this._repeat<0?n:(n-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},t.totalTime=function(n,i){if(Fr(),!arguments.length)return this._tTime;var s=this._dp;if(s&&s.smoothChildTiming&&this._ts){for(lo(this,n),!s._dp||s.parent||Qf(s,this);s&&s.parent;)s.parent._time!==s._start+(s._ts>=0?s._tTime/s._ts:(s.totalDuration()-s._tTime)/-s._ts)&&s.totalTime(s._tTime,!0),s=s.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&n0||!this._tDur&&!n)&&Pn(this._dp,this,this._start-this._delay)}return(this._tTime!==n||!this._dur&&!i||this._initted&&Math.abs(this._zTime)===re||!this._initted&&this._dur&&n||!n&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=n),jf(this,n,i)),this},t.time=function(n,i){return arguments.length?this.totalTime(Math.min(this.totalDuration(),n+ch(this))%(this._dur+this._rDelay)||(n?this._dur:0),i):this._time},t.totalProgress=function(n,i){return arguments.length?this.totalTime(this.totalDuration()*n,i):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},t.progress=function(n,i){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-n:n)+ch(this),i):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},t.iteration=function(n,i){var s=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(n-1)*s,i):this._repeat?Nr(this._tTime,s)+1:1},t.timeScale=function(n,i){if(!arguments.length)return this._rts===-re?0:this._rts;if(this._rts===n)return this;var s=this.parent&&this._ts?Ha(this.parent._time,this):this._tTime;return this._rts=+n||0,this._ts=this._ps||n===-re?0:this._rts,this.totalTime(Bs(-Math.abs(this._delay),this.totalDuration(),s),i!==!1),oo(this),vm(this)},t.paused=function(n){return arguments.length?(this._ps!==n&&(this._ps=n,n?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Fr(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==re&&(this._tTime-=re)))),this):this._ps},t.startTime=function(n){if(arguments.length){this._start=he(n);var i=this.parent||this._dp;return i&&(i._sort||!this.parent)&&Pn(i,this,this._start-this._delay),this}return this._start},t.endTime=function(n){return this._start+($e(n)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},t.rawTime=function(n){var i=this.parent||this._dp;return i?n&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ha(i.rawTime(n),this):this._tTime:this._tTime},t.revert=function(n){n===void 0&&(n=pm);var i=Ie;return Ie=n,dc(this)&&(this.timeline&&this.timeline.revert(n),this.totalTime(-.01,n.suppressEvents)),this.data!=="nested"&&n.kill!==!1&&this.kill(),Ie=i,this},t.globalTime=function(n){for(var i=this,s=arguments.length?n:i.rawTime();i;)s=i._start+s/(Math.abs(i._ts)||1),i=i._dp;return!this.parent&&this._sat?this._sat.globalTime(n):s},t.repeat=function(n){return arguments.length?(this._repeat=n===1/0?-2:n,hh(this)):this._repeat===-2?1/0:this._repeat},t.repeatDelay=function(n){if(arguments.length){var i=this._time;return this._rDelay=n,hh(this),i?this.time(i):this}return this._rDelay},t.yoyo=function(n){return arguments.length?(this._yoyo=n,this):this._yoyo},t.seek=function(n,i){return this.totalTime(dn(this,n),$e(i))},t.restart=function(n,i){return this.play().totalTime(n?-this._delay:0,$e(i)),this._dur||(this._zTime=-re),this},t.play=function(n,i){return n!=null&&this.seek(n,i),this.reversed(!1).paused(!1)},t.reverse=function(n,i){return n!=null&&this.seek(n||this.totalDuration(),i),this.reversed(!0).paused(!1)},t.pause=function(n,i){return n!=null&&this.seek(n,i),this.paused(!0)},t.resume=function(){return this.paused(!1)},t.reversed=function(n){return arguments.length?(!!n!==this.reversed()&&this.timeScale(-this._rts||(n?-re:0)),this):this._rts<0},t.invalidate=function(){return this._initted=this._act=0,this._zTime=-re,this},t.isActive=function(){var n=this.parent||this._dp,i=this._start,s;return!!(!n||this._ts&&this._initted&&n.isActive()&&(s=n.rawTime(!0))>=i&&s1?(i?(o[n]=i,s&&(o[n+"Params"]=s),n==="onUpdate"&&(this._onUpdate=i)):delete o[n],this):o[n]},t.then=function(n){var i=this,s=i._prom;return new Promise(function(o){var a=me(n)?n:Kf,l=function(){var h=i.then;i.then=null,s&&s(),me(a)&&(a=a(i))&&(a.then||a===i)&&(i.then=h),o(a),i.then=h};i._initted&&i.totalProgress()===1&&i._ts>=0||!i._tTime&&i._ts<0?l():i._prom=l})},t.kill=function(){fs(this)},r}();hn(Rs.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-re,_prom:0,_ps:!1,_rts:1});var qe=function(r){zf(t,r);function t(n,i){var s;return n===void 0&&(n={}),s=r.call(this,n)||this,s.labels={},s.smoothChildTiming=!!n.smoothChildTiming,s.autoRemoveChildren=!!n.autoRemoveChildren,s._sort=$e(n.sortChildren),ue&&Pn(n.parent||ue,Wn(s),i),n.reversed&&s.reverse(),n.paused&&s.paused(!0),n.scrollTrigger&&td(Wn(s),n.scrollTrigger),s}var e=t.prototype;return e.to=function(i,s,o){return _s(0,arguments,this),this},e.from=function(i,s,o){return _s(1,arguments,this),this},e.fromTo=function(i,s,o,a){return _s(2,arguments,this),this},e.set=function(i,s,o){return s.duration=0,s.parent=this,ms(s).repeatDelay||(s.repeat=0),s.immediateRender=!!s.immediateRender,new Se(i,s,dn(this,o),1),this},e.call=function(i,s,o){return Pn(this,Se.delayedCall(0,i,s),o)},e.staggerTo=function(i,s,o,a,l,c,h){return o.duration=s,o.stagger=o.stagger||a,o.onComplete=c,o.onCompleteParams=h,o.parent=this,new Se(i,o,dn(this,l)),this},e.staggerFrom=function(i,s,o,a,l,c,h){return o.runBackwards=1,ms(o).immediateRender=$e(o.immediateRender),this.staggerTo(i,s,o,a,l,c,h)},e.staggerFromTo=function(i,s,o,a,l,c,h,u){return a.startAt=o,ms(a).immediateRender=$e(a.immediateRender),this.staggerTo(i,s,a,l,c,h,u)},e.render=function(i,s,o){var a=this._time,l=this._dirty?this.totalDuration():this._tDur,c=this._dur,h=i<=0?0:he(i),u=this._zTime<0!=i<0&&(this._initted||!c),f,d,_,g,p,m,y,v,S,w,R,b;if(this!==ue&&h>l&&i>=0&&(h=l),h!==this._tTime||o||u){if(a!==this._time&&c&&(h+=this._time-a,i+=this._time-a),f=h,S=this._start,v=this._ts,m=!v,u&&(c||(a=this._zTime),(i||!s)&&(this._zTime=i)),this._repeat){if(R=this._yoyo,p=c+this._rDelay,this._repeat<-1&&i<0)return this.totalTime(p*100+i,s,o);if(f=he(h%p),h===l?(g=this._repeat,f=c):(w=he(h/p),g=~~w,g&&g===w&&(f=c,g--),f>c&&(f=c)),w=Nr(this._tTime,p),!a&&this._tTime&&w!==g&&this._tTime-w*p-this._dur<=0&&(w=g),R&&g&1&&(f=c-f,b=1),g!==w&&!this._lock){var U=R&&w&1,F=U===(R&&g&1);if(g=a&&i>=0)for(d=this._first;d;){if(_=d._next,(d._act||f>=d._start)&&d._ts&&y!==d){if(d.parent!==this)return this.render(i,s,o);if(d.render(d._ts>0?(f-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(f-d._start)*d._ts,s,o),f!==this._time||!this._ts&&!m){y=0,_&&(h+=this._zTime=-re);break}}d=_}else{d=this._last;for(var x=i<0?i:f;d;){if(_=d._prev,(d._act||x<=d._end)&&d._ts&&y!==d){if(d.parent!==this)return this.render(i,s,o);if(d.render(d._ts>0?(x-d._start)*d._ts:(d._dirty?d.totalDuration():d._tDur)+(x-d._start)*d._ts,s,o||Ie&&dc(d)),f!==this._time||!this._ts&&!m){y=0,_&&(h+=this._zTime=x?-re:re);break}}d=_}}if(y&&!s&&(this.pause(),y.render(f>=a?0:-re)._zTime=f>=a?1:-1,this._ts))return this._start=S,oo(this),this.render(i,s,o);this._onUpdate&&!s&&an(this,"onUpdate",!0),(h===l&&this._tTime>=this.totalDuration()||!h&&a)&&(S===this._start||Math.abs(v)!==Math.abs(this._ts))&&(this._lock||((i||!c)&&(h===l&&this._ts>0||!h&&this._ts<0)&&yi(this,1),!s&&!(i<0&&!a)&&(h||a||!l)&&(an(this,h===l&&i>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(h0)&&this._prom())))}return this},e.add=function(i,s){var o=this;if(jn(s)||(s=dn(this,s,i)),!(i instanceof Rs)){if(ke(i))return i.forEach(function(a){return o.add(a,s)}),this;if(Re(i))return this.addLabel(i,s);if(me(i))i=Se.delayedCall(0,i);else return this}return this!==i?Pn(this,i,s):this},e.getChildren=function(i,s,o,a){i===void 0&&(i=!0),s===void 0&&(s=!0),o===void 0&&(o=!0),a===void 0&&(a=-_n);for(var l=[],c=this._first;c;)c._start>=a&&(c instanceof Se?s&&l.push(c):(o&&l.push(c),i&&l.push.apply(l,c.getChildren(!0,s,o)))),c=c._next;return l},e.getById=function(i){for(var s=this.getChildren(1,1,1),o=s.length;o--;)if(s[o].vars.id===i)return s[o]},e.remove=function(i){return Re(i)?this.removeLabel(i):me(i)?this.killTweensOf(i):(i.parent===this&&ao(this,i),i===this._recent&&(this._recent=this._last),Gi(this))},e.totalTime=function(i,s){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=he(sn.time-(this._ts>0?i/this._ts:(this.totalDuration()-i)/-this._ts))),r.prototype.totalTime.call(this,i,s),this._forcing=0,this):this._tTime},e.addLabel=function(i,s){return this.labels[i]=dn(this,s),this},e.removeLabel=function(i){return delete this.labels[i],this},e.addPause=function(i,s,o){var a=Se.delayedCall(0,s||Ts,o);return a.data="isPause",this._hasPause=1,Pn(this,a,dn(this,i))},e.removePause=function(i){var s=this._first;for(i=dn(this,i);s;)s._start===i&&s.data==="isPause"&&yi(s),s=s._next},e.killTweensOf=function(i,s,o){for(var a=this.getTweensOf(i,o),l=a.length;l--;)ci!==a[l]&&a[l].kill(i,s);return this},e.getTweensOf=function(i,s){for(var o=[],a=gn(i),l=this._first,c=jn(s),h;l;)l instanceof Se?mm(l._targets,a)&&(c?(!ci||l._initted&&l._ts)&&l.globalTime(0)<=s&&l.globalTime(l.totalDuration())>s:!s||l.isActive())&&o.push(l):(h=l.getTweensOf(a,s)).length&&o.push.apply(o,h),l=l._next;return o},e.tweenTo=function(i,s){s=s||{};var o=this,a=dn(o,i),l=s,c=l.startAt,h=l.onStart,u=l.onStartParams,f=l.immediateRender,d,_=Se.to(o,hn({ease:s.ease||"none",lazy:!1,immediateRender:!1,time:a,overwrite:"auto",duration:s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale())||re,onStart:function(){if(o.pause(),!d){var p=s.duration||Math.abs((a-(c&&"time"in c?c.time:o._time))/o.timeScale());_._dur!==p&&Or(_,p,0,1).render(_._time,!0,!0),d=1}h&&h.apply(_,u||[])}},s));return f?_.render(0):_},e.tweenFromTo=function(i,s,o){return this.tweenTo(s,hn({startAt:{time:dn(this,i)}},o))},e.recent=function(){return this._recent},e.nextLabel=function(i){return i===void 0&&(i=this._time),uh(this,dn(this,i))},e.previousLabel=function(i){return i===void 0&&(i=this._time),uh(this,dn(this,i),1)},e.currentLabel=function(i){return arguments.length?this.seek(i,!0):this.previousLabel(this._time+re)},e.shiftChildren=function(i,s,o){o===void 0&&(o=0);var a=this._first,l=this.labels,c;for(i=he(i);a;)a._start>=o&&(a._start+=i,a._end+=i),a=a._next;if(s)for(c in l)l[c]>=o&&(l[c]+=i);return Gi(this)},e.invalidate=function(i){var s=this._first;for(this._lock=0;s;)s.invalidate(i),s=s._next;return r.prototype.invalidate.call(this,i)},e.clear=function(i){i===void 0&&(i=!0);for(var s=this._first,o;s;)o=s._next,this.remove(s),s=o;return this._dp&&(this._time=this._tTime=this._pTime=0),i&&(this.labels={}),Gi(this)},e.totalDuration=function(i){var s=0,o=this,a=o._last,l=_n,c,h,u;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-i:i));if(o._dirty){for(u=o.parent;a;)c=a._prev,a._dirty&&a.totalDuration(),h=a._start,h>l&&o._sort&&a._ts&&!o._lock?(o._lock=1,Pn(o,a,h-a._delay,1)._lock=0):l=h,h<0&&a._ts&&(s-=h,(!u&&!o._dp||u&&u.smoothChildTiming)&&(o._start+=he(h/o._ts),o._time-=h,o._tTime-=h),o.shiftChildren(-h,!1,-1/0),l=0),a._end>s&&a._ts&&(s=a._end),a=c;Or(o,o===ue&&o._time>s?o._time:s,1,1),o._dirty=0}return o._tDur},t.updateRoot=function(i){if(ue._ts&&(jf(ue,Ha(i,ue)),Yf=sn.frame),sn.frame>=oh){oh+=ln.autoSleep||120;var s=ue._first;if((!s||!s._ts)&&ln.autoSleep&&sn._listeners.length<2){for(;s&&!s._ts;)s=s._next;s||sn.sleep()}}},t}(Rs);hn(qe.prototype,{_lock:0,_hasPause:0,_forcing:0});var zm=function(t,e,n,i,s,o,a){var l=new Ze(this._pt,t,e,0,1,Md,null,s),c=0,h=0,u,f,d,_,g,p,m,y;for(l.b=n,l.e=i,n+="",i+="",(m=~i.indexOf("random("))&&(i=As(i)),o&&(y=[n,i],o(y,t,e),n=y[0],i=y[1]),f=n.match(Co)||[];u=Co.exec(i);)_=u[0],g=i.substring(c,u.index),d?d=(d+1)%5:g.substr(-5)==="rgba("&&(d=1),_!==f[h++]&&(p=parseFloat(f[h-1])||0,l._pt={_next:l._pt,p:g||h===1?g:",",s:p,c:_.charAt(1)==="="?Cr(p,_)-p:parseFloat(_)-p,m:d&&d<4?Math.round:0},c=Co.lastIndex);return l.c=c")}),v.duration();else{w={};for(b in _)b==="ease"||b==="easeEach"||Gm(b,_[b],w,_.easeEach);for(b in w)for(W=w[b].sort(function(N,Y){return N.t-Y.t}),k=0,S=0;Sl-re&&!h?l:ic&&(f=c)),m=this._yoyo&&_&1,m&&(f=c-f),p=Nr(this._tTime,g),f===a&&!o&&this._initted&&_===p)return this._tTime=u,this;_!==p&&this.vars.repeatRefresh&&!m&&!this._lock&&f!==g&&this._initted&&(this._lock=o=1,this.render(he(g*_),!0).invalidate()._lock=0)}if(!this._initted){if(ed(this,h?i:f,o,s,u))return this._tTime=0,this;if(a!==this._time&&!(o&&this.vars.repeatRefresh&&_!==p))return this;if(c!==this._dur)return this.render(i,s,o)}if(this._rEase){var S=f0||!u&&this._ts<0)&&yi(this,1),!s&&!(h&&!a)&&(u||a||m)&&(an(this,u===l?"onComplete":"onReverseComplete",!0),this._prom&&!(u0)&&this._prom()))}return this},e.targets=function(){return this._targets},e.invalidate=function(i){return(!i||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(i),r.prototype.invalidate.call(this,i)},e.resetTo=function(i,s,o,a,l){ws||sn.wake(),this._ts||this.play();var c=Math.min(this._dur,(this._dp._time-this._start)*this._ts),h;return this._initted||mc(this,c),h=this._ease(c/this._dur),Vm(this,i,s,o,a,h,c,l)?this.resetTo(i,s,o,a,1):(lo(this,0),this.parent||Jf(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function(i,s){if(s===void 0&&(s="all"),!i&&(!s||s==="all"))return this._lazy=this._pt=0,this.parent?fs(this):this.scrollTrigger&&this.scrollTrigger.kill(!!Ie),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(i,s,ci&&ci.vars.overwrite!==!0)._first||fs(this),this.parent&&o!==this.timeline.totalDuration()&&Or(this,this._dur*this.timeline._tDur/o,0,1),this}var a=this._targets,l=i?gn(i):a,c=this._ptLookup,h=this._pt,u,f,d,_,g,p,m;if((!s||s==="all")&&gm(a,l))return s==="all"&&(this._pt=0),fs(this);for(u=this._op=this._op||[],s!=="all"&&(Re(s)&&(g={},je(s,function(y){return g[y]=1}),s=g),s=Hm(a,s)),m=a.length;m--;)if(~l.indexOf(a[m])){f=c[m],s==="all"?(u[m]=s,_=f,d={}):(d=u[m]=u[m]||{},_=s);for(g in _)p=f&&f[g],p&&((!("kill"in p.d)||p.d.kill(g)===!0)&&ao(this,p,"_pt"),delete f[g]),d!=="all"&&(d[g]=1)}return this._initted&&!this._pt&&h&&fs(this),this},t.to=function(i,s){return new t(i,s,arguments[2])},t.from=function(i,s){return _s(1,arguments)},t.delayedCall=function(i,s,o,a){return new t(s,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:i,onComplete:s,onReverseComplete:s,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:a})},t.fromTo=function(i,s,o){return _s(2,arguments)},t.set=function(i,s){return s.duration=0,s.repeatDelay||(s.repeat=0),new t(i,s)},t.killTweensOf=function(i,s,o){return ue.killTweensOf(i,s,o)},t}(Rs);hn(Se.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});je("staggerTo,staggerFrom,staggerFromTo",function(r){Se[r]=function(){var t=new qe,e=Ll.call(arguments,0);return e.splice(r==="staggerFromTo"?5:4,0,0),t[r].apply(t,e)}});var _c=function(t,e,n){return t[e]=n},xd=function(t,e,n){return t[e](n)},Wm=function(t,e,n,i){return t[e](i.fp,n)},Xm=function(t,e,n){return t.setAttribute(e,n)},gc=function(t,e){return me(t[e])?xd:ac(t[e])&&t.setAttribute?Xm:_c},yd=function(t,e){return e.set(e.t,e.p,Math.round((e.s+e.c*t)*1e6)/1e6,e)},qm=function(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},Md=function(t,e){var n=e._pt,i="";if(!t&&e.b)i=e.b;else if(t===1&&e.e)i=e.e;else{for(;n;)i=n.p+(n.m?n.m(n.s+n.c*t):Math.round((n.s+n.c*t)*1e4)/1e4)+i,n=n._next;i+=e.c}e.set(e.t,e.p,i,e)},vc=function(t,e){for(var n=e._pt;n;)n.r(t,n.d),n=n._next},Ym=function(t,e,n,i){for(var s=this._pt,o;s;)o=s._next,s.p===i&&s.modifier(t,e,n),s=o},$m=function(t){for(var e=this._pt,n,i;e;)i=e._next,e.p===t&&!e.op||e.op===t?ao(this,e,"_pt"):e.dep||(n=1),e=i;return!n},jm=function(t,e,n,i){i.mSet(t,e,i.m.call(i.tween,n,i.mt),i)},Sd=function(t){for(var e=t._pt,n,i,s,o;e;){for(n=e._next,i=s;i&&i.pr>e.pr;)i=i._next;(e._prev=i?i._prev:o)?e._prev._next=e:s=e,(e._next=i)?i._prev=e:o=e,e=n}t._pt=s},Ze=function(){function r(e,n,i,s,o,a,l,c,h){this.t=n,this.s=s,this.c=o,this.p=i,this.r=a||yd,this.d=l||this,this.set=c||_c,this.pr=h||0,this._next=e,e&&(e._prev=this)}var t=r.prototype;return t.modifier=function(n,i,s){this.mSet=this.mSet||this.set,this.set=jm,this.m=n,this.mt=s,this.tween=i},r}();je(uc+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger,easeReverse",function(r){return hc[r]=1});cn.TweenMax=cn.TweenLite=Se;cn.TimelineLite=cn.TimelineMax=qe;ue=new qe({sortChildren:!1,defaults:bs,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});ln.stringFilter=dd;var Xi=[],Oa={},Zm=[],dh=0,Km=0,Uo=function(t){return(Oa[t]||Zm).map(function(e){return e()})},Nl=function(){var t=Date.now(),e=[];t-dh>2&&(Uo("matchMediaInit"),Xi.forEach(function(n){var i=n.queries,s=n.conditions,o,a,l,c;for(a in i)o=Rn.matchMedia(i[a]).matches,o&&(l=1),o!==s[a]&&(s[a]=o,c=1);c&&(n.revert(),l&&e.push(n))}),Uo("matchMediaRevert"),e.forEach(function(n){return n.onMatch(n,function(i){return n.add(null,i)})}),dh=t,Uo("matchMedia"))},bd=function(){function r(e,n){this.selector=n&&Dl(n),this.data=[],this._r=[],this.isReverted=!1,this.id=Km++,e&&this.add(e)}var t=r.prototype;return t.add=function(n,i,s){me(n)&&(s=i,i=n,n=me);var o=this,a=function(){var c=le,h=o.selector,u;return c&&c!==o&&c.data.push(o),s&&(o.selector=Dl(s)),le=o,u=i.apply(o,arguments),me(u)&&o._r.push(u),le=c,o.selector=h,o.isReverted=!1,u};return o.last=a,n===me?a(o,function(l){return o.add(null,l)}):n?o[n]=a:a},t.ignore=function(n){var i=le;le=null,n(this),le=i},t.getTweens=function(){var n=[];return this.data.forEach(function(i){return i instanceof r?n.push.apply(n,i.getTweens()):i instanceof Se&&!(i.parent&&i.parent.data==="nested")&&n.push(i)}),n},t.clear=function(){this._r.length=this.data.length=0},t.kill=function(n,i){var s=this;if(n?function(){for(var a=s.getTweens(),l=s.data.length,c;l--;)c=s.data[l],c.data==="isFlip"&&(c.revert(),c.getChildren(!0,!0,!1).forEach(function(h){return a.splice(a.indexOf(h),1)}));for(a.map(function(h){return{g:h._dur||h._delay||h._sat&&!h._sat.vars.immediateRender?h.globalTime(0):-1/0,t:h}}).sort(function(h,u){return u.g-h.g||-1/0}).forEach(function(h){return h.t.revert(n)}),l=s.data.length;l--;)c=s.data[l],c instanceof qe?c.data!=="nested"&&(c.scrollTrigger&&c.scrollTrigger.revert(),c.kill()):!(c instanceof Se)&&c.revert&&c.revert(n);s._r.forEach(function(h){return h(n,s)}),s.isReverted=!0}():this.data.forEach(function(a){return a.kill&&a.kill()}),this.clear(),i)for(var o=Xi.length;o--;)Xi[o].id===this.id&&Xi.splice(o,1)},t.revert=function(n){this.kill(n||{})},r}(),Jm=function(){function r(e){this.contexts=[],this.scope=e,le&&le.data.push(this)}var t=r.prototype;return t.add=function(n,i,s){In(n)||(n={matches:n});var o=new bd(0,s||this.scope),a=o.conditions={},l,c,h;le&&!o.selector&&(o.selector=le.selector),this.contexts.push(o),i=o.add("onMatch",i),o.queries=n;for(c in n)c==="all"?h=1:(l=Rn.matchMedia(n[c]),l&&(Xi.indexOf(o)<0&&Xi.push(o),(a[c]=l.matches)&&(h=1),l.addListener?l.addListener(Nl):l.addEventListener("change",Nl)));return h&&i(o,function(u){return o.add(null,u)}),this},t.revert=function(n){this.kill(n||{})},t.kill=function(n){this.contexts.forEach(function(i){return i.kill(n,!0)})},r}(),Ga={registerPlugin:function(){for(var t=arguments.length,e=new Array(t),n=0;n1){var i=t.map(function(h){return Qe.quickSetter(h,e,n)}),s=i.length;return function(h){for(var u=s;u--;)i[u](h)}}t=t[0]||{};var o=rn[e],a=Hi(t),l=a.harness&&(a.harness.aliases||{})[e]||e,c=o?function(h){var u=new o;Tr._pt=0,u.init(t,n?h+n:h,Tr,0,[t]),u.render(1,u),Tr._pt&&vc(1,Tr)}:a.set(t,l);return o?c:function(h){return c(t,l,n?h+n:h,a,1)}},quickTo:function(t,e,n){var i,s=Qe.to(t,hn((i={},i[e]="+=0.1",i.paused=!0,i.stagger=0,i),n||{})),o=function(l,c,h){return s.resetTo(e,l,c,h)};return o.tween=s,o},isTweening:function(t){return ue.getTweensOf(t,!0).length>0},defaults:function(t){return t&&t.ease&&(t.ease=Wi(t.ease,bs.ease)),lh(bs,t||{})},config:function(t){return lh(ln,t||{})},registerEffect:function(t){var e=t.name,n=t.effect,i=t.plugins,s=t.defaults,o=t.extendTimeline;(i||"").split(",").forEach(function(a){return a&&!rn[a]&&!cn[a]&&Es(e+" effect requires "+a+" plugin.")}),Po[e]=function(a,l,c){return n(gn(a),hn(l||{},s),c)},o&&(qe.prototype[e]=function(a,l,c){return this.add(Po[e](a,In(l)?l:(c=l)&&{},this),c)})},registerEase:function(t,e){jt[t]=Wi(e)},parseEase:function(t,e){return arguments.length?Wi(t,e):jt},getById:function(t){return ue.getById(t)},exportRoot:function(t,e){t===void 0&&(t={});var n=new qe(t),i,s;for(n.smoothChildTiming=$e(t.smoothChildTiming),ue.remove(n),n._dp=0,n._time=n._tTime=ue._time,i=ue._first;i;)s=i._next,(e||!(!i._dur&&i instanceof Se&&i.vars.onComplete===i._targets[0]))&&Pn(n,i,i._start-i._delay),i=s;return Pn(ue,n,0),n},context:function(t,e){return t?new bd(t,e):le},matchMedia:function(t){return new Jm(t)},matchMediaRefresh:function(){return Xi.forEach(function(t){var e=t.conditions,n,i;for(i in e)e[i]&&(e[i]=!1,n=1);n&&t.revert()})||Nl()},addEventListener:function(t,e){var n=Oa[t]||(Oa[t]=[]);~n.indexOf(e)||n.push(e)},removeEventListener:function(t,e){var n=Oa[t],i=n&&n.indexOf(e);i>=0&&n.splice(i,1)},utils:{wrap:Cm,wrapYoyo:Pm,distribute:rd,random:ad,snap:sd,normalize:Rm,getUnit:ze,clamp:Em,splitColor:ud,toArray:gn,selector:Dl,mapRange:ld,pipe:Am,unitize:wm,interpolate:Lm,shuffle:id},install:Xf,effects:Po,ticker:sn,updateRoot:qe.updateRoot,plugins:rn,globalTimeline:ue,core:{PropTween:Ze,globals:qf,Tween:Se,Timeline:qe,Animation:Rs,getCache:Hi,_removeLinkedListItem:ao,reverting:function(){return Ie},context:function(t){return t&&le&&(le.data.push(t),t._ctx=le),le},suppressOverwrites:function(t){return sc=t}}};je("to,from,fromTo,delayedCall,set,killTweensOf",function(r){return Ga[r]=Se[r]});sn.add(qe.updateRoot);Tr=Ga.to({},{duration:0});var Qm=function(t,e){for(var n=t._pt;n&&n.p!==e&&n.op!==e&&n.fp!==e;)n=n._next;return n},t_=function(t,e){var n=t._targets,i,s,o;for(i in e)for(s=n.length;s--;)o=t._ptLookup[s][i],o&&(o=o.d)&&(o._pt&&(o=Qm(o,i)),o&&o.modifier&&o.modifier(e[i],t,n[s],i))},No=function(t,e){return{name:t,headless:1,rawVars:1,init:function(i,s,o){o._onInit=function(a){var l,c;if(Re(s)&&(l={},je(s,function(h){return l[h]=1}),s=l),e){l={};for(c in s)l[c]=e(s[c]);s=l}t_(a,s)}}}},Qe=Ga.registerPlugin({name:"attr",init:function(t,e,n,i,s){var o,a,l;this.tween=n;for(o in e)l=t.getAttribute(o)||"",a=this.add(t,"setAttribute",(l||0)+"",e[o],i,s,0,0,o),a.op=o,a.b=l,this._props.push(o)},render:function(t,e){for(var n=e._pt;n;)Ie?n.set(n.t,n.p,n.b,n):n.r(t,n.d),n=n._next}},{name:"endArray",headless:1,init:function(t,e){for(var n=e.length;n--;)this.add(t,n,t[n]||0,e[n],0,0,0,0,0,1)}},No("roundProps",Il),No("modifiers"),No("snap",sd))||Ga;Se.version=qe.version=Qe.version="3.15.0";Wf=1;oc()&&Fr();jt.Power0;jt.Power1;jt.Power2;jt.Power3;jt.Power4;jt.Linear;jt.Quad;jt.Cubic;jt.Quart;jt.Quint;jt.Strong;jt.Elastic;jt.Back;jt.SteppedEase;jt.Bounce;jt.Sine;jt.Expo;jt.Circ;/*! + * CSSPlugin 3.15.0 * https://gsap.com * - * Copyright 2008-2025, GreenSock. All rights reserved. + * Copyright 2008-2026, GreenSock. All rights reserved. * Subject to the terms at https://gsap.com/standard-license * @author: Jack Doyle, jack@greensock.com -*/var ph,hi,Pr,xc,ki,mh,yc,n_=function(){return typeof window!="undefined"},Zn={},Oi=180/Math.PI,Lr=Math.PI/180,tr=Math.atan2,_h=1e8,Mc=/([A-Z])/g,i_=/(left|right|width|margin|padding|x)/i,r_=/[\s,\(]\S/,Dn={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},Ol=function(t,e){return e.set(e.t,e.p,Math.round((e.s+e.c*t)*1e4)/1e4+e.u,e)},s_=function(t,e){return e.set(e.t,e.p,t===1?e.e:Math.round((e.s+e.c*t)*1e4)/1e4+e.u,e)},a_=function(t,e){return e.set(e.t,e.p,t?Math.round((e.s+e.c*t)*1e4)/1e4+e.u:e.b,e)},o_=function(t,e){return e.set(e.t,e.p,t===1?e.e:t?Math.round((e.s+e.c*t)*1e4)/1e4+e.u:e.b,e)},l_=function(t,e){var n=e.s+e.c*t;e.set(e.t,e.p,~~(n+(n<0?-.5:.5))+e.u,e)},Ad=function(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)},wd=function(t,e){return e.set(e.t,e.p,t!==1?e.b:e.e,e)},c_=function(t,e,n){return t.style[e]=n},h_=function(t,e,n){return t.style.setProperty(e,n)},u_=function(t,e,n){return t._gsap[e]=n},f_=function(t,e,n){return t._gsap.scaleX=t._gsap.scaleY=n},d_=function(t,e,n,i,s){var o=t._gsap;o.scaleX=o.scaleY=n,o.renderTransform(s,o)},p_=function(t,e,n,i,s){var o=t._gsap;o[e]=n,o.renderTransform(s,o)},fe="transform",Ke=fe+"Origin",m_=function r(t,e){var n=this,i=this.target,s=i.style,o=i._gsap;if(t in Zn&&s){if(this.tfm=this.tfm||{},t!=="transform")t=Dn[t]||t,~t.indexOf(",")?t.split(",").forEach(function(a){return n.tfm[a]=qn(i,a)}):this.tfm[t]=o.x?o[t]:qn(i,t),t===Ke&&(this.tfm.zOrigin=o.zOrigin);else return Dn.transform.split(",").forEach(function(a){return r.call(n,a,e)});if(this.props.indexOf(fe)>=0)return;o.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(Ke,e,"")),t=fe}(s||e)&&this.props.push(t,e,s[t])},Cd=function(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))},__=function(){var t=this.props,e=this.target,n=e.style,i=e._gsap,s,o;for(s=0;s=0?gh[o]:"")+t},Bl=function(){n_()&&window.document&&(ph=window,hi=ph.document,Pr=hi.documentElement,ki=Fl("div")||{style:{}},Fl("div"),fe=zr(fe),Ke=fe+"Origin",ki.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Pd=!!zr("perspective"),yc=Qe.core.reverting,xc=1)},vh=function(t){var e=t.ownerSVGElement,n=Fl("svg",e&&e.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=t.cloneNode(!0),s;i.style.display="block",n.appendChild(i),Pr.appendChild(n);try{s=i.getBBox()}catch(o){}return n.removeChild(i),Pr.removeChild(n),s},xh=function(t,e){for(var n=e.length;n--;)if(t.hasAttribute(e[n]))return t.getAttribute(e[n])},Ld=function(t){var e,n;try{e=t.getBBox()}catch(i){e=vh(t),n=1}return e&&(e.width||e.height)||n||(e=vh(t)),e&&!e.width&&!e.x&&!e.y?{x:+xh(t,["x","cx","x1"])||0,y:+xh(t,["y","cy","y1"])||0,width:0,height:0}:e},Dd=function(t){return!!(t.getCTM&&(!t.parentNode||t.ownerSVGElement)&&Ld(t))},Mi=function(t,e){if(e){var n=t.style,i;e in Zn&&e!==Ke&&(e=fe),n.removeProperty?(i=e.substr(0,2),(i==="ms"||e.substr(0,6)==="webkit")&&(e="-"+e),n.removeProperty(i==="--"?e:e.replace(Mc,"-$1").toLowerCase())):n.removeAttribute(e)}},ui=function(t,e,n,i,s,o){var a=new Ze(t._pt,e,n,0,1,o?wd:Ad);return t._pt=a,a.b=i,a.e=s,t._props.push(n),a},yh={deg:1,rad:1,turn:1},g_={grid:1,flex:1},Si=function r(t,e,n,i){var s=parseFloat(n)||0,o=(n+"").trim().substr((s+"").length)||"px",a=ki.style,l=i_.test(e),c=t.tagName.toLowerCase()==="svg",h=(c?"client":"offset")+(l?"Width":"Height"),u=100,f=i==="px",d=i==="%",_,g,p,m;if(i===o||!s||yh[i]||yh[o])return s;if(o!=="px"&&!f&&(s=r(t,e,n,"px")),m=t.getCTM&&Dd(t),(d||o==="%")&&(Zn[e]||~e.indexOf("adius")))return _=m?t.getBBox()[l?"width":"height"]:t[h],ye(d?s/_*u:s/100*_);if(a[l?"width":"height"]=u+(f?o:i),g=i!=="rem"&&~e.indexOf("adius")||i==="em"&&t.appendChild&&!c?t:t.parentNode,m&&(g=(t.ownerSVGElement||{}).parentNode),(!g||g===hi||!g.appendChild)&&(g=hi.body),p=g._gsap,p&&d&&p.width&&l&&p.time===sn.time&&!p.uncache)return ye(s/p.width*u);if(d&&(e==="height"||e==="width")){var y=t.style[e];t.style[e]=u+i,_=t[h],y?t.style[e]=y:Mi(t,e)}else(d||o==="%")&&!g_[on(g,"display")]&&(a.position=on(t,"position")),g===t&&(a.position="static"),g.appendChild(ki),_=ki[h],g.removeChild(ki),a.position="absolute";return l&&d&&(p=Hi(g),p.time=sn.time,p.width=g[h]),ye(f?_*s/u:_&&s?u/_*s:0)},qn=function(t,e,n,i){var s;return xc||Bl(),e in Dn&&e!=="transform"&&(e=Dn[e],~e.indexOf(",")&&(e=e.split(",")[0])),Zn[e]&&e!=="transform"?(s=Ps(t,i),s=e!=="transformOrigin"?s[e]:s.svg?s.origin:Xa(on(t,Ke))+" "+s.zOrigin+"px"):(s=t.style[e],(!s||s==="auto"||i||~(s+"").indexOf("calc("))&&(s=Wa[e]&&Wa[e](t,e,n)||on(t,e)||$f(t,e)||(e==="opacity"?1:0))),n&&!~(s+"").trim().indexOf(" ")?Si(t,e,s,n)+n:s},v_=function(t,e,n,i){if(!n||n==="none"){var s=zr(e,t,1),o=s&&on(t,s,1);o&&o!==n?(e=s,n=o):e==="borderColor"&&(n=on(t,"borderTopColor"))}var a=new Ze(this._pt,t.style,e,0,1,bd),l=0,c=0,h,u,f,d,_,g,p,m,y,v,S,w;if(a.b=n,a.e=i,n+="",i+="",i.substring(0,6)==="var(--"&&(i=on(t,i.substring(4,i.indexOf(")")))),i==="auto"&&(g=t.style[e],t.style[e]=i,i=on(t,e)||i,g?t.style[e]=g:Mi(t,e)),h=[n,i],dd(h),n=h[0],i=h[1],f=n.match(Er)||[],w=i.match(Er)||[],w.length){for(;u=Er.exec(i);)p=u[0],y=i.substring(l,u.index),_?_=(_+1)%5:(y.substr(-5)==="rgba("||y.substr(-5)==="hsla(")&&(_=1),p!==(g=f[c++]||"")&&(d=parseFloat(g)||0,S=g.substr((d+"").length),p.charAt(1)==="="&&(p=Rr(d,p)+S),m=parseFloat(p),v=p.substr((m+"").length),l=Er.lastIndex-v.length,v||(v=v||ln.units[e]||S,l===i.length&&(i+=v,a.e+=v)),S!==v&&(d=Si(t,e,g,v)||0),a._pt={_next:a._pt,p:y||c===1?y:",",s:d,c:m-d,m:_&&_<4||e==="zIndex"?Math.round:0});a.c=l-1;)a=s[c],Zn[a]&&(l=1,a=a==="transformOrigin"?Ke:fe),Mi(n,a);l&&(Mi(n,fe),o&&(o.svg&&n.removeAttribute("transform"),i.scale=i.rotate=i.translate="none",Ps(n,1),o.uncache=1,Cd(i)))}},Wa={clearProps:function(t,e,n,i,s){if(s.data!=="isFromStart"){var o=t._pt=new Ze(t._pt,e,n,0,0,y_);return o.u=i,o.pr=-10,o.tween=s,t._props.push(n),1}}},Rs=[1,0,0,1,0,0],Id={},Nd=function(t){return t==="matrix(1, 0, 0, 1, 0, 0)"||t==="none"||!t},Sh=function(t){var e=on(t,fe);return Nd(e)?Rs:e.substr(7).match(Hf).map(ye)},Sc=function(t,e){var n=t._gsap||Hi(t),i=t.style,s=Sh(t),o,a,l,c;return n.svg&&t.getAttribute("transform")?(l=t.transform.baseVal.consolidate().matrix,s=[l.a,l.b,l.c,l.d,l.e,l.f],s.join(",")==="1,0,0,1,0,0"?Rs:s):(s===Rs&&!t.offsetParent&&t!==Pr&&!n.svg&&(l=i.display,i.display="block",o=t.parentNode,(!o||!t.offsetParent&&!t.getBoundingClientRect().width)&&(c=1,a=t.nextElementSibling,Pr.appendChild(t)),s=Sh(t),l?i.display=l:Mi(t,"display"),c&&(a?o.insertBefore(t,a):o?o.appendChild(t):Pr.removeChild(t))),e&&s.length>6?[s[0],s[1],s[4],s[5],s[12],s[13]]:s)},zl=function(t,e,n,i,s,o){var a=t._gsap,l=s||Sc(t,!0),c=a.xOrigin||0,h=a.yOrigin||0,u=a.xOffset||0,f=a.yOffset||0,d=l[0],_=l[1],g=l[2],p=l[3],m=l[4],y=l[5],v=e.split(" "),S=parseFloat(v[0])||0,w=parseFloat(v[1])||0,C,E,N,U;n?l!==Rs&&(E=d*p-_*g)&&(N=S*(p/E)+w*(-g/E)+(g*y-p*m)/E,U=S*(-_/E)+w*(d/E)-(d*y-_*m)/E,S=N,w=U):(C=Ld(t),S=C.x+(~v[0].indexOf("%")?S/100*C.width:S),w=C.y+(~(v[1]||v[0]).indexOf("%")?w/100*C.height:w)),i||i!==!1&&a.smooth?(m=S-c,y=w-h,a.xOffset=u+(m*d+y*g)-m,a.yOffset=f+(m*_+y*p)-y):a.xOffset=a.yOffset=0,a.xOrigin=S,a.yOrigin=w,a.smooth=!!i,a.origin=e,a.originIsAbsolute=!!n,t.style[Ke]="0px 0px",o&&(ui(o,a,"xOrigin",c,S),ui(o,a,"yOrigin",h,w),ui(o,a,"xOffset",u,a.xOffset),ui(o,a,"yOffset",f,a.yOffset)),t.setAttribute("data-svg-origin",S+" "+w)},Ps=function(t,e){var n=t._gsap||new gd(t);if("x"in n&&!e&&!n.uncache)return n;var i=t.style,s=n.scaleX<0,o="px",a="deg",l=getComputedStyle(t),c=on(t,Ke)||"0",h,u,f,d,_,g,p,m,y,v,S,w,C,E,N,U,x,b,k,W,I,F,O,Y,q,$,Z,J,ut,bt,V,Q;return h=u=f=g=p=m=y=v=S=0,d=_=1,n.svg=!!(t.getCTM&&Dd(t)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(i[fe]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[fe]!=="none"?l[fe]:"")),i.scale=i.rotate=i.translate="none"),E=Sc(t,n.svg),n.svg&&(n.uncache?(q=t.getBBox(),c=n.xOrigin-q.x+"px "+(n.yOrigin-q.y)+"px",Y=""):Y=!e&&t.getAttribute("data-svg-origin"),zl(t,Y||c,!!Y||n.originIsAbsolute,n.smooth!==!1,E)),w=n.xOrigin||0,C=n.yOrigin||0,E!==Rs&&(b=E[0],k=E[1],W=E[2],I=E[3],h=F=E[4],u=O=E[5],E.length===6?(d=Math.sqrt(b*b+k*k),_=Math.sqrt(I*I+W*W),g=b||k?tr(k,b)*Oi:0,y=W||I?tr(W,I)*Oi+g:0,y&&(_*=Math.abs(Math.cos(y*Lr))),n.svg&&(h-=w-(w*b+C*W),u-=C-(w*k+C*I))):(Q=E[6],bt=E[7],Z=E[8],J=E[9],ut=E[10],V=E[11],h=E[12],u=E[13],f=E[14],N=tr(Q,ut),p=N*Oi,N&&(U=Math.cos(-N),x=Math.sin(-N),Y=F*U+Z*x,q=O*U+J*x,$=Q*U+ut*x,Z=F*-x+Z*U,J=O*-x+J*U,ut=Q*-x+ut*U,V=bt*-x+V*U,F=Y,O=q,Q=$),N=tr(-W,ut),m=N*Oi,N&&(U=Math.cos(-N),x=Math.sin(-N),Y=b*U-Z*x,q=k*U-J*x,$=W*U-ut*x,V=I*x+V*U,b=Y,k=q,W=$),N=tr(k,b),g=N*Oi,N&&(U=Math.cos(N),x=Math.sin(N),Y=b*U+k*x,q=F*U+O*x,k=k*U-b*x,O=O*U-F*x,b=Y,F=q),p&&Math.abs(p)+Math.abs(g)>359.9&&(p=g=0,m=180-m),d=ye(Math.sqrt(b*b+k*k+W*W)),_=ye(Math.sqrt(O*O+Q*Q)),N=tr(F,O),y=Math.abs(N)>2e-4?N*Oi:0,S=V?1/(V<0?-V:V):0),n.svg&&(Y=t.getAttribute("transform"),n.forceCSS=t.setAttribute("transform","")||!Nd(on(t,fe)),Y&&t.setAttribute("transform",Y))),Math.abs(y)>90&&Math.abs(y)<270&&(s?(d*=-1,y+=g<=0?180:-180,g+=g<=0?180:-180):(_*=-1,y+=y<=0?180:-180)),e=e||n.uncache,n.x=h-((n.xPercent=h&&(!e&&n.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-h)?-50:0)))?t.offsetWidth*n.xPercent/100:0)+o,n.y=u-((n.yPercent=u&&(!e&&n.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-u)?-50:0)))?t.offsetHeight*n.yPercent/100:0)+o,n.z=f+o,n.scaleX=ye(d),n.scaleY=ye(_),n.rotation=ye(g)+a,n.rotationX=ye(p)+a,n.rotationY=ye(m)+a,n.skewX=y+a,n.skewY=v+a,n.transformPerspective=S+o,(n.zOrigin=parseFloat(c.split(" ")[2])||!e&&n.zOrigin||0)&&(i[Ke]=Xa(c)),n.xOffset=n.yOffset=0,n.force3D=ln.force3D,n.renderTransform=n.svg?S_:Pd?Ud:M_,n.uncache=0,n},Xa=function(t){return(t=t.split(" "))[0]+" "+t[1]},Oo=function(t,e,n){var i=ze(e);return ye(parseFloat(e)+parseFloat(Si(t,"x",n+"px",i)))+i},M_=function(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Ud(t,e)},Pi="0deg",Kr="0px",Li=") ",Ud=function(t,e){var n=e||this,i=n.xPercent,s=n.yPercent,o=n.x,a=n.y,l=n.z,c=n.rotation,h=n.rotationY,u=n.rotationX,f=n.skewX,d=n.skewY,_=n.scaleX,g=n.scaleY,p=n.transformPerspective,m=n.force3D,y=n.target,v=n.zOrigin,S="",w=m==="auto"&&t&&t!==1||m===!0;if(v&&(u!==Pi||h!==Pi)){var C=parseFloat(h)*Lr,E=Math.sin(C),N=Math.cos(C),U;C=parseFloat(u)*Lr,U=Math.cos(C),o=Oo(y,o,E*U*-v),a=Oo(y,a,-Math.sin(C)*-v),l=Oo(y,l,N*U*-v+v)}p!==Kr&&(S+="perspective("+p+Li),(i||s)&&(S+="translate("+i+"%, "+s+"%) "),(w||o!==Kr||a!==Kr||l!==Kr)&&(S+=l!==Kr||w?"translate3d("+o+", "+a+", "+l+") ":"translate("+o+", "+a+Li),c!==Pi&&(S+="rotate("+c+Li),h!==Pi&&(S+="rotateY("+h+Li),u!==Pi&&(S+="rotateX("+u+Li),(f!==Pi||d!==Pi)&&(S+="skew("+f+", "+d+Li),(_!==1||g!==1)&&(S+="scale("+_+", "+g+Li),y.style[fe]=S||"translate(0, 0)"},S_=function(t,e){var n=e||this,i=n.xPercent,s=n.yPercent,o=n.x,a=n.y,l=n.rotation,c=n.skewX,h=n.skewY,u=n.scaleX,f=n.scaleY,d=n.target,_=n.xOrigin,g=n.yOrigin,p=n.xOffset,m=n.yOffset,y=n.forceCSS,v=parseFloat(o),S=parseFloat(a),w,C,E,N,U;l=parseFloat(l),c=parseFloat(c),h=parseFloat(h),h&&(h=parseFloat(h),c+=h,l+=h),l||c?(l*=Lr,c*=Lr,w=Math.cos(l)*u,C=Math.sin(l)*u,E=Math.sin(l-c)*-f,N=Math.cos(l-c)*f,c&&(h*=Lr,U=Math.tan(c-h),U=Math.sqrt(1+U*U),E*=U,N*=U,h&&(U=Math.tan(h),U=Math.sqrt(1+U*U),w*=U,C*=U)),w=ye(w),C=ye(C),E=ye(E),N=ye(N)):(w=u,N=f,C=E=0),(v&&!~(o+"").indexOf("px")||S&&!~(a+"").indexOf("px"))&&(v=Si(d,"x",o,"px"),S=Si(d,"y",a,"px")),(_||g||p||m)&&(v=ye(v+_-(_*w+g*E)+p),S=ye(S+g-(_*C+g*N)+m)),(i||s)&&(U=d.getBBox(),v=ye(v+i/100*U.width),S=ye(S+s/100*U.height)),U="matrix("+w+","+C+","+E+","+N+","+v+","+S+")",d.setAttribute("transform",U),y&&(d.style[fe]=U)},b_=function(t,e,n,i,s){var o=360,a=Ce(s),l=parseFloat(s)*(a&&~s.indexOf("rad")?Oi:1),c=l-i,h=i+c+"deg",u,f;return a&&(u=s.split("_")[1],u==="short"&&(c%=o,c!==c%(o/2)&&(c+=c<0?o:-o)),u==="cw"&&c<0?c=(c+o*_h)%o-~~(c/o)*o:u==="ccw"&&c>0&&(c=(c-o*_h)%o-~~(c/o)*o)),t._pt=f=new Ze(t._pt,e,n,i,c,s_),f.e=h,f.u="deg",t._props.push(n),f},bh=function(t,e){for(var n in e)t[n]=e[n];return t},E_=function(t,e,n){var i=bh({},n._gsap),s="perspective,force3D,transformOrigin,svgOrigin",o=n.style,a,l,c,h,u,f,d,_;i.svg?(c=n.getAttribute("transform"),n.setAttribute("transform",""),o[fe]=e,a=Ps(n,1),Mi(n,fe),n.setAttribute("transform",c)):(c=getComputedStyle(n)[fe],o[fe]=e,a=Ps(n,1),o[fe]=c);for(l in Zn)c=i[l],h=a[l],c!==h&&s.indexOf(l)<0&&(d=ze(c),_=ze(h),u=d!==_?Si(n,l,c,_):parseFloat(c),f=parseFloat(h),t._pt=new Ze(t._pt,a,l,u,f-u,Ol),t._pt.u=_||0,t._props.push(l));bh(a,i)};je("padding,margin,Width,Radius",function(r,t){var e="Top",n="Right",i="Bottom",s="Left",o=(t<3?[e,n,i,s]:[e+s,e+n,i+n,i+s]).map(function(a){return t<2?r+a:"border"+a+r});Wa[t>1?"border"+r:r]=function(a,l,c,h,u){var f,d;if(arguments.length<4)return f=o.map(function(_){return qn(a,_,c)}),d=f.join(" "),d.split(f[0]).length===5?f[0]:d;f=(h+"").split(" "),d={},o.forEach(function(_,g){return d[_]=f[g]=f[g]||f[(g-1)/2|0]}),a.init(l,d,u)}});var Od={name:"css",register:Bl,targetTest:function(t){return t.style&&t.nodeType},init:function(t,e,n,i,s){var o=this._props,a=t.style,l=n.vars.startAt,c,h,u,f,d,_,g,p,m,y,v,S,w,C,E,N,U;xc||Bl(),this.styles=this.styles||Rd(t),N=this.styles.props,this.tween=n;for(g in e)if(g!=="autoRound"&&(h=e[g],!(rn[g]&&vd(g,e,n,i,t,s)))){if(d=typeof h,_=Wa[g],d==="function"&&(h=h.call(n,i,t,s),d=typeof h),d==="string"&&~h.indexOf("random(")&&(h=As(h)),_)_(this,t,g,h,n)&&(E=1);else if(g.substr(0,2)==="--")c=(getComputedStyle(t).getPropertyValue(g)+"").trim(),h+="",mi.lastIndex=0,mi.test(c)||(p=ze(c),m=ze(h),m?p!==m&&(c=Si(t,g,c,m)+m):p&&(h+=p)),this.add(a,"setProperty",c,h,i,s,0,0,g),o.push(g),N.push(g,0,a[g]);else if(d!=="undefined"){if(l&&g in l?(c=typeof l[g]=="function"?l[g].call(n,i,t,s):l[g],Ce(c)&&~c.indexOf("random(")&&(c=As(c)),ze(c+"")||c==="auto"||(c+=ln.units[g]||ze(qn(t,g))||""),(c+"").charAt(1)==="="&&(c=qn(t,g))):c=qn(t,g),f=parseFloat(c),y=d==="string"&&h.charAt(1)==="="&&h.substr(0,2),y&&(h=h.substr(2)),u=parseFloat(h),g in Dn&&(g==="autoAlpha"&&(f===1&&qn(t,"visibility")==="hidden"&&u&&(f=0),N.push("visibility",0,a.visibility),ui(this,a,"visibility",f?"inherit":"hidden",u?"inherit":"hidden",!u)),g!=="scale"&&g!=="transform"&&(g=Dn[g],~g.indexOf(",")&&(g=g.split(",")[0]))),v=g in Zn,v){if(this.styles.save(g),U=h,d==="string"&&h.substring(0,6)==="var(--"){if(h=on(t,h.substring(4,h.indexOf(")"))),h.substring(0,5)==="calc("){var x=t.style.perspective;t.style.perspective=h,h=on(t,"perspective"),x?t.style.perspective=x:Mi(t,"perspective")}u=parseFloat(h)}if(S||(w=t._gsap,w.renderTransform&&!e.parseTransform||Ps(t,e.parseTransform),C=e.smoothOrigin!==!1&&w.smooth,S=this._pt=new Ze(this._pt,a,fe,0,1,w.renderTransform,w,0,-1),S.dep=1),g==="scale")this._pt=new Ze(this._pt,w,"scaleY",w.scaleY,(y?Rr(w.scaleY,y+u):u)-w.scaleY||0,Ol),this._pt.u=0,o.push("scaleY",g),g+="X";else if(g==="transformOrigin"){N.push(Ke,0,a[Ke]),h=x_(h),w.svg?zl(t,h,0,C,0,this):(m=parseFloat(h.split(" ")[2])||0,m!==w.zOrigin&&ui(this,w,"zOrigin",w.zOrigin,m),ui(this,a,g,Xa(c),Xa(h)));continue}else if(g==="svgOrigin"){zl(t,h,1,C,0,this);continue}else if(g in Id){b_(this,w,g,f,y?Rr(f,y+h):h);continue}else if(g==="smoothOrigin"){ui(this,w,"smooth",w.smooth,h);continue}else if(g==="force3D"){w[g]=h;continue}else if(g==="transform"){E_(this,h,t);continue}}else g in a||(g=zr(g)||g);if(v||(u||u===0)&&(f||f===0)&&!r_.test(h)&&g in a)p=(c+"").substr((f+"").length),u||(u=0),m=ze(h)||(g in ln.units?ln.units[g]:p),p!==m&&(f=Si(t,g,c,m)),this._pt=new Ze(this._pt,v?w:a,g,f,(y?Rr(f,y+u):u)-f,!v&&(m==="px"||g==="zIndex")&&e.autoRound!==!1?l_:Ol),this._pt.u=m||0,v&&U!==h?(this._pt.b=c,this._pt.e=U,this._pt.r=o_):p!==m&&m!=="%"&&(this._pt.b=c,this._pt.r=a_);else if(g in a)v_.call(this,t,g,c,y?y+h:h);else if(g in t)this.add(t,g,c||t[g],y?y+h:h,i,s);else if(g!=="parseTransform"){cc(g,h);continue}v||(g in a?N.push(g,0,a[g]):typeof t[g]=="function"?N.push(g,2,t[g]()):N.push(g,1,c||t[g])),o.push(g)}}E&&Ed(this)},render:function(t,e){if(e.tween._time||!yc())for(var n=e._pt;n;)n.r(t,n.d),n=n._next;else e.styles.revert()},get:qn,aliases:Dn,getSetter:function(t,e,n){var i=Dn[e];return i&&i.indexOf(",")<0&&(e=i),e in Zn&&e!==Ke&&(t._gsap.x||qn(t,"x"))?n&&mh===n?e==="scale"?f_:u_:(mh=n||{})&&(e==="scale"?d_:p_):t.style&&!ac(t.style[e])?c_:~e.indexOf("-")?h_:gc(t,e)},core:{_removeProperty:Mi,_getMatrix:Sc}};Qe.utils.checkPrefix=zr;Qe.core.getStyleSaver=Rd;(function(r,t,e,n){var i=je(r+","+t+","+e,function(s){Zn[s]=1});je(t,function(s){ln.units[s]="deg",Id[s]=1}),Dn[i[13]]=r+","+t,je(n,function(s){var o=s.split(":");Dn[o[1]]=i[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");je("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(r){ln.units[r]="px"});Qe.registerPlugin(Od);var ai=Qe.registerPlugin(Od)||Qe;ai.core.Tween;var Fo=null;function T_(r){return Fo||(Fo=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return setTimeout(t,16)}).bind(window)),Fo(r)}var Bo=null;function A_(r){Bo||(Bo=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}).bind(window)),Bo(r)}function w_(r){var t=document.createElement("style");return t.styleSheet?t.styleSheet.cssText=r:t.appendChild(document.createTextNode(r)),(document.querySelector("head")||document.body).appendChild(t),t}function Ks(r,t){t===void 0&&(t={});var e=document.createElement(r);return Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function Fd(r,t,e){var n=window.getComputedStyle(r,e||null)||{display:"none"};return n[t]}function kl(r){if(!document.documentElement.contains(r))return{detached:!0,rendered:!1};for(var t=r;t!==document;){if(Fd(t,"display")==="none")return{detached:!1,rendered:!1};t=t.parentNode}return{detached:!1,rendered:!0}}var C_='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',Vl=0,Fa=null;function R_(r,t){r.__resize_mutation_handler__||(r.__resize_mutation_handler__=D_.bind(r));var e=r.__resize_listeners__;if(!e){if(r.__resize_listeners__=[],window.ResizeObserver){var n=r.offsetWidth,i=r.offsetHeight,s=new ResizeObserver(function(){!r.__resize_observer_triggered__&&(r.__resize_observer_triggered__=!0,r.offsetWidth===n&&r.offsetHeight===i)||qa(r)}),o=kl(r),a=o.detached,l=o.rendered;r.__resize_observer_triggered__=a===!1&&l===!1,r.__resize_observer__=s,s.observe(r)}else if(r.attachEvent&&r.addEventListener)r.__resize_legacy_resize_handler__=function(){qa(r)},r.attachEvent("onresize",r.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",r.__resize_mutation_handler__);else if(Vl||(Fa=w_(C_)),I_(r),r.__resize_rendered__=kl(r).rendered,window.MutationObserver){var c=new MutationObserver(r.__resize_mutation_handler__);c.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),r.__resize_mutation_observer__=c}}r.__resize_listeners__.push(t),Vl++}function P_(r,t){var e=r.__resize_listeners__;if(e){if(t&&e.splice(e.indexOf(t),1),!e.length||!t){if(r.detachEvent&&r.removeEventListener){r.detachEvent("onresize",r.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",r.__resize_mutation_handler__);return}r.__resize_observer__?(r.__resize_observer__.unobserve(r),r.__resize_observer__.disconnect(),r.__resize_observer__=null):(r.__resize_mutation_observer__&&(r.__resize_mutation_observer__.disconnect(),r.__resize_mutation_observer__=null),r.removeEventListener("scroll",bc),r.removeChild(r.__resize_triggers__.triggers),r.__resize_triggers__=null),r.__resize_listeners__=null}!--Vl&&Fa&&Fa.parentNode.removeChild(Fa)}}function L_(r){var t=r.__resize_last__,e=t.width,n=t.height,i=r.offsetWidth,s=r.offsetHeight;return i!==e||s!==n?{width:i,height:s}:null}function D_(){var r=kl(this),t=r.rendered,e=r.detached;t!==this.__resize_rendered__&&(!e&&this.__resize_triggers__&&(Ec(this),this.addEventListener("scroll",bc,!0)),this.__resize_rendered__=t,qa(this))}function bc(){var r=this;Ec(this),this.__resize_raf__&&A_(this.__resize_raf__),this.__resize_raf__=T_(function(){var t=L_(r);t&&(r.__resize_last__=t,qa(r))})}function qa(r){!r||!r.__resize_listeners__||r.__resize_listeners__.forEach(function(t){t.call(r,r)})}function I_(r){var t=Fd(r,"position");(!t||t==="static")&&(r.style.position="relative"),r.__resize_old_position__=t,r.__resize_last__={};var e=Ks("div",{className:"resize-triggers"}),n=Ks("div",{className:"resize-expand-trigger"}),i=Ks("div"),s=Ks("div",{className:"resize-contract-trigger"});n.appendChild(i),e.appendChild(n),e.appendChild(s),r.appendChild(e),r.__resize_triggers__={triggers:e,expand:n,expandChild:i,contract:s},Ec(r),r.addEventListener("scroll",bc,!0),r.__resize_last__={width:r.offsetWidth,height:r.offsetHeight}}function Ec(r){var t=r.__resize_triggers__,e=t.expand,n=t.expandChild,i=t.contract,s=i.scrollWidth,o=i.scrollHeight,a=e.offsetWidth,l=e.offsetHeight,c=e.scrollWidth,h=e.scrollHeight;i.scrollLeft=s,i.scrollTop=o,n.style.width=a+1+"px",n.style.height=l+1+"px",e.scrollLeft=c,e.scrollTop=h}var wn=function(){return wn=Object.assign||function(r){for(var t,e=1,n=arguments.length;e=0)return;o.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(Ke,e,"")),t=fe}(s||e)&&this.props.push(t,e,s[t])},Ad=function(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))},m_=function(){var t=this.props,e=this.target,n=e.style,i=e._gsap,s,o;for(s=0;s=0?gh[o]:"")+t},Bl=function(){e_()&&window.document&&(ph=window,hi=ph.document,Pr=hi.documentElement,ki=Fl("div")||{style:{}},Fl("div"),fe=Br(fe),Ke=fe+"Origin",ki.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Rd=!!Br("perspective"),yc=Qe.core.reverting,xc=1)},vh=function(t){var e=t.ownerSVGElement,n=Fl("svg",e&&e.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=t.cloneNode(!0),s;i.style.display="block",n.appendChild(i),Pr.appendChild(n);try{s=i.getBBox()}catch(o){}return n.removeChild(i),Pr.removeChild(n),s},xh=function(t,e){for(var n=e.length;n--;)if(t.hasAttribute(e[n]))return t.getAttribute(e[n])},Cd=function(t){var e,n;try{e=t.getBBox()}catch(i){e=vh(t),n=1}return e&&(e.width||e.height)||n||(e=vh(t)),e&&!e.width&&!e.x&&!e.y?{x:+xh(t,["x","cx","x1"])||0,y:+xh(t,["y","cy","y1"])||0,width:0,height:0}:e},Pd=function(t){return!!(t.getCTM&&(!t.parentNode||t.ownerSVGElement)&&Cd(t))},Mi=function(t,e){if(e){var n=t.style,i;e in Zn&&e!==Ke&&(e=fe),n.removeProperty?(i=e.substr(0,2),(i==="ms"||e.substr(0,6)==="webkit")&&(e="-"+e),n.removeProperty(i==="--"?e:e.replace(Mc,"-$1").toLowerCase())):n.removeAttribute(e)}},ui=function(t,e,n,i,s,o){var a=new Ze(t._pt,e,n,0,1,o?Td:Ed);return t._pt=a,a.b=i,a.e=s,t._props.push(n),a},yh={deg:1,rad:1,turn:1},__={grid:1,flex:1},Si=function r(t,e,n,i){var s=parseFloat(n)||0,o=(n+"").trim().substr((s+"").length)||"px",a=ki.style,l=n_.test(e),c=t.tagName.toLowerCase()==="svg",h=(c?"client":"offset")+(l?"Width":"Height"),u=100,f=i==="px",d=i==="%",_,g,p,m;if(i===o||!s||yh[i]||yh[o])return s;if(o!=="px"&&!f&&(s=r(t,e,n,"px")),m=t.getCTM&&Pd(t),(d||o==="%")&&(Zn[e]||~e.indexOf("adius")))return _=m?t.getBBox()[l?"width":"height"]:t[h],ye(d?s/_*u:s/100*_);if(a[l?"width":"height"]=u+(f?o:i),g=i!=="rem"&&~e.indexOf("adius")||i==="em"&&t.appendChild&&!c?t:t.parentNode,m&&(g=(t.ownerSVGElement||{}).parentNode),(!g||g===hi||!g.appendChild)&&(g=hi.body),p=g._gsap,p&&d&&p.width&&l&&p.time===sn.time&&!p.uncache)return ye(s/p.width*u);if(d&&(e==="height"||e==="width")){var y=t.style[e];t.style[e]=u+i,_=t[h],y?t.style[e]=y:Mi(t,e)}else(d||o==="%")&&!__[on(g,"display")]&&(a.position=on(t,"position")),g===t&&(a.position="static"),g.appendChild(ki),_=ki[h],g.removeChild(ki),a.position="absolute";return l&&d&&(p=Hi(g),p.time=sn.time,p.width=g[h]),ye(f?_*s/u:_&&s?u/_*s:0)},qn=function(t,e,n,i){var s;return xc||Bl(),e in Dn&&e!=="transform"&&(e=Dn[e],~e.indexOf(",")&&(e=e.split(",")[0])),Zn[e]&&e!=="transform"?(s=Ps(t,i),s=e!=="transformOrigin"?s[e]:s.svg?s.origin:Xa(on(t,Ke))+" "+s.zOrigin+"px"):(s=t.style[e],(!s||s==="auto"||i||~(s+"").indexOf("calc("))&&(s=Wa[e]&&Wa[e](t,e,n)||on(t,e)||$f(t,e)||(e==="opacity"?1:0))),n&&!~(s+"").trim().indexOf(" ")?Si(t,e,s,n)+n:s},g_=function(t,e,n,i){if(!n||n==="none"){var s=Br(e,t,1),o=s&&on(t,s,1);o&&o!==n?(e=s,n=o):e==="borderColor"&&(n=on(t,"borderTopColor"))}var a=new Ze(this._pt,t.style,e,0,1,Md),l=0,c=0,h,u,f,d,_,g,p,m,y,v,S,w;if(a.b=n,a.e=i,n+="",i+="",i.substring(0,6)==="var(--"&&(i=on(t,i.substring(4,i.indexOf(")")))),i==="auto"&&(g=t.style[e],t.style[e]=i,i=on(t,e)||i,g?t.style[e]=g:Mi(t,e)),h=[n,i],dd(h),n=h[0],i=h[1],f=n.match(Er)||[],w=i.match(Er)||[],w.length){for(;u=Er.exec(i);)p=u[0],y=i.substring(l,u.index),_?_=(_+1)%5:(y.substr(-5)==="rgba("||y.substr(-5)==="hsla(")&&(_=1),p!==(g=f[c++]||"")&&(d=parseFloat(g)||0,S=g.substr((d+"").length),p.charAt(1)==="="&&(p=Cr(d,p)+S),m=parseFloat(p),v=p.substr((m+"").length),l=Er.lastIndex-v.length,v||(v=v||ln.units[e]||S,l===i.length&&(i+=v,a.e+=v)),S!==v&&(d=Si(t,e,g,v)||0),a._pt={_next:a._pt,p:y||c===1?y:",",s:d,c:m-d,m:_&&_<4||e==="zIndex"?Math.round:0});a.c=l-1;)a=s[c],Zn[a]&&(l=1,a=a==="transformOrigin"?Ke:fe),Mi(n,a);l&&(Mi(n,fe),o&&(o.svg&&n.removeAttribute("transform"),i.scale=i.rotate=i.translate="none",Ps(n,1),o.uncache=1,Ad(i)))}},Wa={clearProps:function(t,e,n,i,s){if(s.data!=="isFromStart"){var o=t._pt=new Ze(t._pt,e,n,0,0,x_);return o.u=i,o.pr=-10,o.tween=s,t._props.push(n),1}}},Cs=[1,0,0,1,0,0],Ld={},Dd=function(t){return t==="matrix(1, 0, 0, 1, 0, 0)"||t==="none"||!t},Sh=function(t){var e=on(t,fe);return Dd(e)?Cs:e.substr(7).match(Hf).map(ye)},Sc=function(t,e){var n=t._gsap||Hi(t),i=t.style,s=Sh(t),o,a,l,c;return n.svg&&t.getAttribute("transform")?(l=t.transform.baseVal.consolidate().matrix,s=[l.a,l.b,l.c,l.d,l.e,l.f],s.join(",")==="1,0,0,1,0,0"?Cs:s):(s===Cs&&!t.offsetParent&&t!==Pr&&!n.svg&&(l=i.display,i.display="block",o=t.parentNode,(!o||!t.offsetParent&&!t.getBoundingClientRect().width)&&(c=1,a=t.nextElementSibling,Pr.appendChild(t)),s=Sh(t),l?i.display=l:Mi(t,"display"),c&&(a?o.insertBefore(t,a):o?o.appendChild(t):Pr.removeChild(t))),e&&s.length>6?[s[0],s[1],s[4],s[5],s[12],s[13]]:s)},zl=function(t,e,n,i,s,o){var a=t._gsap,l=s||Sc(t,!0),c=a.xOrigin||0,h=a.yOrigin||0,u=a.xOffset||0,f=a.yOffset||0,d=l[0],_=l[1],g=l[2],p=l[3],m=l[4],y=l[5],v=e.split(" "),S=parseFloat(v[0])||0,w=parseFloat(v[1])||0,R,b,U,F;n?l!==Cs&&(b=d*p-_*g)&&(U=S*(p/b)+w*(-g/b)+(g*y-p*m)/b,F=S*(-_/b)+w*(d/b)-(d*y-_*m)/b,S=U,w=F):(R=Cd(t),S=R.x+(~v[0].indexOf("%")?S/100*R.width:S),w=R.y+(~(v[1]||v[0]).indexOf("%")?w/100*R.height:w)),i||i!==!1&&a.smooth?(m=S-c,y=w-h,a.xOffset=u+(m*d+y*g)-m,a.yOffset=f+(m*_+y*p)-y):a.xOffset=a.yOffset=0,a.xOrigin=S,a.yOrigin=w,a.smooth=!!i,a.origin=e,a.originIsAbsolute=!!n,t.style[Ke]="0px 0px",o&&(ui(o,a,"xOrigin",c,S),ui(o,a,"yOrigin",h,w),ui(o,a,"xOffset",u,a.xOffset),ui(o,a,"yOffset",f,a.yOffset)),t.setAttribute("data-svg-origin",S+" "+w)},Ps=function(t,e){var n=t._gsap||new md(t);if("x"in n&&!e&&!n.uncache)return n;var i=t.style,s=n.scaleX<0,o="px",a="deg",l=getComputedStyle(t),c=on(t,Ke)||"0",h,u,f,d,_,g,p,m,y,v,S,w,R,b,U,F,x,E,k,W,I,O,N,Y,X,$,Z,J,ut,bt,V,Q;return h=u=f=g=p=m=y=v=S=0,d=_=1,n.svg=!!(t.getCTM&&Pd(t)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(i[fe]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[fe]!=="none"?l[fe]:"")),i.scale=i.rotate=i.translate="none"),b=Sc(t,n.svg),n.svg&&(n.uncache?(X=t.getBBox(),c=n.xOrigin-X.x+"px "+(n.yOrigin-X.y)+"px",Y=""):Y=!e&&t.getAttribute("data-svg-origin"),zl(t,Y||c,!!Y||n.originIsAbsolute,n.smooth!==!1,b)),w=n.xOrigin||0,R=n.yOrigin||0,b!==Cs&&(E=b[0],k=b[1],W=b[2],I=b[3],h=O=b[4],u=N=b[5],b.length===6?(d=Math.sqrt(E*E+k*k),_=Math.sqrt(I*I+W*W),g=E||k?tr(k,E)*Oi:0,y=W||I?tr(W,I)*Oi+g:0,y&&(_*=Math.abs(Math.cos(y*Lr))),n.svg&&(h-=w-(w*E+R*W),u-=R-(w*k+R*I))):(Q=b[6],bt=b[7],Z=b[8],J=b[9],ut=b[10],V=b[11],h=b[12],u=b[13],f=b[14],U=tr(Q,ut),p=U*Oi,U&&(F=Math.cos(-U),x=Math.sin(-U),Y=O*F+Z*x,X=N*F+J*x,$=Q*F+ut*x,Z=O*-x+Z*F,J=N*-x+J*F,ut=Q*-x+ut*F,V=bt*-x+V*F,O=Y,N=X,Q=$),U=tr(-W,ut),m=U*Oi,U&&(F=Math.cos(-U),x=Math.sin(-U),Y=E*F-Z*x,X=k*F-J*x,$=W*F-ut*x,V=I*x+V*F,E=Y,k=X,W=$),U=tr(k,E),g=U*Oi,U&&(F=Math.cos(U),x=Math.sin(U),Y=E*F+k*x,X=O*F+N*x,k=k*F-E*x,N=N*F-O*x,E=Y,O=X),p&&Math.abs(p)+Math.abs(g)>359.9&&(p=g=0,m=180-m),d=ye(Math.sqrt(E*E+k*k+W*W)),_=ye(Math.sqrt(N*N+Q*Q)),U=tr(O,N),y=Math.abs(U)>2e-4?U*Oi:0,S=V?1/(V<0?-V:V):0),n.svg&&(Y=t.getAttribute("transform"),n.forceCSS=t.setAttribute("transform","")||!Dd(on(t,fe)),Y&&t.setAttribute("transform",Y))),Math.abs(y)>90&&Math.abs(y)<270&&(s?(d*=-1,y+=g<=0?180:-180,g+=g<=0?180:-180):(_*=-1,y+=y<=0?180:-180)),e=e||n.uncache,n.x=h-((n.xPercent=h&&(!e&&n.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-h)?-50:0)))?t.offsetWidth*n.xPercent/100:0)+o,n.y=u-((n.yPercent=u&&(!e&&n.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-u)?-50:0)))?t.offsetHeight*n.yPercent/100:0)+o,n.z=f+o,n.scaleX=ye(d),n.scaleY=ye(_),n.rotation=ye(g)+a,n.rotationX=ye(p)+a,n.rotationY=ye(m)+a,n.skewX=y+a,n.skewY=v+a,n.transformPerspective=S+o,(n.zOrigin=parseFloat(c.split(" ")[2])||!e&&n.zOrigin||0)&&(i[Ke]=Xa(c)),n.xOffset=n.yOffset=0,n.force3D=ln.force3D,n.renderTransform=n.svg?M_:Rd?Id:y_,n.uncache=0,n},Xa=function(t){return(t=t.split(" "))[0]+" "+t[1]},Oo=function(t,e,n){var i=ze(e);return ye(parseFloat(e)+parseFloat(Si(t,"x",n+"px",i)))+i},y_=function(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Id(t,e)},Pi="0deg",Zr="0px",Li=") ",Id=function(t,e){var n=e||this,i=n.xPercent,s=n.yPercent,o=n.x,a=n.y,l=n.z,c=n.rotation,h=n.rotationY,u=n.rotationX,f=n.skewX,d=n.skewY,_=n.scaleX,g=n.scaleY,p=n.transformPerspective,m=n.force3D,y=n.target,v=n.zOrigin,S="",w=m==="auto"&&t&&t!==1||m===!0;if(v&&(u!==Pi||h!==Pi)){var R=parseFloat(h)*Lr,b=Math.sin(R),U=Math.cos(R),F;R=parseFloat(u)*Lr,F=Math.cos(R),o=Oo(y,o,b*F*-v),a=Oo(y,a,-Math.sin(R)*-v),l=Oo(y,l,U*F*-v+v)}p!==Zr&&(S+="perspective("+p+Li),(i||s)&&(S+="translate("+i+"%, "+s+"%) "),(w||o!==Zr||a!==Zr||l!==Zr)&&(S+=l!==Zr||w?"translate3d("+o+", "+a+", "+l+") ":"translate("+o+", "+a+Li),c!==Pi&&(S+="rotate("+c+Li),h!==Pi&&(S+="rotateY("+h+Li),u!==Pi&&(S+="rotateX("+u+Li),(f!==Pi||d!==Pi)&&(S+="skew("+f+", "+d+Li),(_!==1||g!==1)&&(S+="scale("+_+", "+g+Li),y.style[fe]=S||"translate(0, 0)"},M_=function(t,e){var n=e||this,i=n.xPercent,s=n.yPercent,o=n.x,a=n.y,l=n.rotation,c=n.skewX,h=n.skewY,u=n.scaleX,f=n.scaleY,d=n.target,_=n.xOrigin,g=n.yOrigin,p=n.xOffset,m=n.yOffset,y=n.forceCSS,v=parseFloat(o),S=parseFloat(a),w,R,b,U,F;l=parseFloat(l),c=parseFloat(c),h=parseFloat(h),h&&(h=parseFloat(h),c+=h,l+=h),l||c?(l*=Lr,c*=Lr,w=Math.cos(l)*u,R=Math.sin(l)*u,b=Math.sin(l-c)*-f,U=Math.cos(l-c)*f,c&&(h*=Lr,F=Math.tan(c-h),F=Math.sqrt(1+F*F),b*=F,U*=F,h&&(F=Math.tan(h),F=Math.sqrt(1+F*F),w*=F,R*=F)),w=ye(w),R=ye(R),b=ye(b),U=ye(U)):(w=u,U=f,R=b=0),(v&&!~(o+"").indexOf("px")||S&&!~(a+"").indexOf("px"))&&(v=Si(d,"x",o,"px"),S=Si(d,"y",a,"px")),(_||g||p||m)&&(v=ye(v+_-(_*w+g*b)+p),S=ye(S+g-(_*R+g*U)+m)),(i||s)&&(F=d.getBBox(),v=ye(v+i/100*F.width),S=ye(S+s/100*F.height)),F="matrix("+w+","+R+","+b+","+U+","+v+","+S+")",d.setAttribute("transform",F),y&&(d.style[fe]=F)},S_=function(t,e,n,i,s){var o=360,a=Re(s),l=parseFloat(s)*(a&&~s.indexOf("rad")?Oi:1),c=l-i,h=i+c+"deg",u,f;return a&&(u=s.split("_")[1],u==="short"&&(c%=o,c!==c%(o/2)&&(c+=c<0?o:-o)),u==="cw"&&c<0?c=(c+o*_h)%o-~~(c/o)*o:u==="ccw"&&c>0&&(c=(c-o*_h)%o-~~(c/o)*o)),t._pt=f=new Ze(t._pt,e,n,i,c,r_),f.e=h,f.u="deg",t._props.push(n),f},bh=function(t,e){for(var n in e)t[n]=e[n];return t},b_=function(t,e,n){var i=bh({},n._gsap),s="perspective,force3D,transformOrigin,svgOrigin",o=n.style,a,l,c,h,u,f,d,_;i.svg?(c=n.getAttribute("transform"),n.setAttribute("transform",""),o[fe]=e,a=Ps(n,1),Mi(n,fe),n.setAttribute("transform",c)):(c=getComputedStyle(n)[fe],o[fe]=e,a=Ps(n,1),o[fe]=c);for(l in Zn)c=i[l],h=a[l],c!==h&&s.indexOf(l)<0&&(d=ze(c),_=ze(h),u=d!==_?Si(n,l,c,_):parseFloat(c),f=parseFloat(h),t._pt=new Ze(t._pt,a,l,u,f-u,Ol),t._pt.u=_||0,t._props.push(l));bh(a,i)};je("padding,margin,Width,Radius",function(r,t){var e="Top",n="Right",i="Bottom",s="Left",o=(t<3?[e,n,i,s]:[e+s,e+n,i+n,i+s]).map(function(a){return t<2?r+a:"border"+a+r});Wa[t>1?"border"+r:r]=function(a,l,c,h,u){var f,d;if(arguments.length<4)return f=o.map(function(_){return qn(a,_,c)}),d=f.join(" "),d.split(f[0]).length===5?f[0]:d;f=(h+"").split(" "),d={},o.forEach(function(_,g){return d[_]=f[g]=f[g]||f[(g-1)/2|0]}),a.init(l,d,u)}});var Ud={name:"css",register:Bl,targetTest:function(t){return t.style&&t.nodeType},init:function(t,e,n,i,s){var o=this._props,a=t.style,l=n.vars.startAt,c,h,u,f,d,_,g,p,m,y,v,S,w,R,b,U,F;xc||Bl(),this.styles=this.styles||wd(t),U=this.styles.props,this.tween=n;for(g in e)if(g!=="autoRound"&&(h=e[g],!(rn[g]&&_d(g,e,n,i,t,s)))){if(d=typeof h,_=Wa[g],d==="function"&&(h=h.call(n,i,t,s),d=typeof h),d==="string"&&~h.indexOf("random(")&&(h=As(h)),_)_(this,t,g,h,n)&&(b=1);else if(g.substr(0,2)==="--")c=(getComputedStyle(t).getPropertyValue(g)+"").trim(),h+="",mi.lastIndex=0,mi.test(c)||(p=ze(c),m=ze(h),m?p!==m&&(c=Si(t,g,c,m)+m):p&&(h+=p)),this.add(a,"setProperty",c,h,i,s,0,0,g),o.push(g),U.push(g,0,a[g]);else if(d!=="undefined"){if(l&&g in l?(c=typeof l[g]=="function"?l[g].call(n,i,t,s):l[g],Re(c)&&~c.indexOf("random(")&&(c=As(c)),ze(c+"")||c==="auto"||(c+=ln.units[g]||ze(qn(t,g))||""),(c+"").charAt(1)==="="&&(c=qn(t,g))):c=qn(t,g),f=parseFloat(c),y=d==="string"&&h.charAt(1)==="="&&h.substr(0,2),y&&(h=h.substr(2)),u=parseFloat(h),g in Dn&&(g==="autoAlpha"&&(f===1&&qn(t,"visibility")==="hidden"&&u&&(f=0),U.push("visibility",0,a.visibility),ui(this,a,"visibility",f?"inherit":"hidden",u?"inherit":"hidden",!u)),g!=="scale"&&g!=="transform"&&(g=Dn[g],~g.indexOf(",")&&(g=g.split(",")[0]))),v=g in Zn,v){if(this.styles.save(g),F=h,d==="string"&&h.substring(0,6)==="var(--"){if(h=on(t,h.substring(4,h.indexOf(")"))),h.substring(0,5)==="calc("){var x=t.style.perspective;t.style.perspective=h,h=on(t,"perspective"),x?t.style.perspective=x:Mi(t,"perspective")}u=parseFloat(h)}if(S||(w=t._gsap,w.renderTransform&&!e.parseTransform||Ps(t,e.parseTransform),R=e.smoothOrigin!==!1&&w.smooth,S=this._pt=new Ze(this._pt,a,fe,0,1,w.renderTransform,w,0,-1),S.dep=1),g==="scale")this._pt=new Ze(this._pt,w,"scaleY",w.scaleY,(y?Cr(w.scaleY,y+u):u)-w.scaleY||0,Ol),this._pt.u=0,o.push("scaleY",g),g+="X";else if(g==="transformOrigin"){U.push(Ke,0,a[Ke]),h=v_(h),w.svg?zl(t,h,0,R,0,this):(m=parseFloat(h.split(" ")[2])||0,m!==w.zOrigin&&ui(this,w,"zOrigin",w.zOrigin,m),ui(this,a,g,Xa(c),Xa(h)));continue}else if(g==="svgOrigin"){zl(t,h,1,R,0,this);continue}else if(g in Ld){S_(this,w,g,f,y?Cr(f,y+h):h);continue}else if(g==="smoothOrigin"){ui(this,w,"smooth",w.smooth,h);continue}else if(g==="force3D"){w[g]=h;continue}else if(g==="transform"){b_(this,h,t);continue}}else g in a||(g=Br(g)||g);if(v||(u||u===0)&&(f||f===0)&&!i_.test(h)&&g in a)p=(c+"").substr((f+"").length),u||(u=0),m=ze(h)||(g in ln.units?ln.units[g]:p),p!==m&&(f=Si(t,g,c,m)),this._pt=new Ze(this._pt,v?w:a,g,f,(y?Cr(f,y+u):u)-f,!v&&(m==="px"||g==="zIndex")&&e.autoRound!==!1?o_:Ol),this._pt.u=m||0,v&&F!==h?(this._pt.b=c,this._pt.e=F,this._pt.r=a_):p!==m&&m!=="%"&&(this._pt.b=c,this._pt.r=s_);else if(g in a)g_.call(this,t,g,c,y?y+h:h);else if(g in t)this.add(t,g,c||t[g],y?y+h:h,i,s);else if(g!=="parseTransform"){cc(g,h);continue}v||(g in a?U.push(g,0,a[g]):typeof t[g]=="function"?U.push(g,2,t[g]()):U.push(g,1,c||t[g])),o.push(g)}}b&&Sd(this)},render:function(t,e){if(e.tween._time||!yc())for(var n=e._pt;n;)n.r(t,n.d),n=n._next;else e.styles.revert()},get:qn,aliases:Dn,getSetter:function(t,e,n){var i=Dn[e];return i&&i.indexOf(",")<0&&(e=i),e in Zn&&e!==Ke&&(t._gsap.x||qn(t,"x"))?n&&mh===n?e==="scale"?u_:h_:(mh=n||{})&&(e==="scale"?f_:d_):t.style&&!ac(t.style[e])?l_:~e.indexOf("-")?c_:gc(t,e)},core:{_removeProperty:Mi,_getMatrix:Sc}};Qe.utils.checkPrefix=Br;Qe.core.getStyleSaver=wd;(function(r,t,e,n){var i=je(r+","+t+","+e,function(s){Zn[s]=1});je(t,function(s){ln.units[s]="deg",Ld[s]=1}),Dn[i[13]]=r+","+t,je(n,function(s){var o=s.split(":");Dn[o[1]]=i[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");je("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(r){ln.units[r]="px"});Qe.registerPlugin(Ud);var ai=Qe.registerPlugin(Ud)||Qe;ai.core.Tween;var Fo=null;function E_(r){return Fo||(Fo=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return setTimeout(t,16)}).bind(window)),Fo(r)}var Bo=null;function T_(r){Bo||(Bo=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}).bind(window)),Bo(r)}function A_(r){var t=document.createElement("style");return t.styleSheet?t.styleSheet.cssText=r:t.appendChild(document.createTextNode(r)),(document.querySelector("head")||document.body).appendChild(t),t}function Ks(r,t){t===void 0&&(t={});var e=document.createElement(r);return Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function Nd(r,t,e){var n=window.getComputedStyle(r,e||null)||{display:"none"};return n[t]}function kl(r){if(!document.documentElement.contains(r))return{detached:!0,rendered:!1};for(var t=r;t!==document;){if(Nd(t,"display")==="none")return{detached:!1,rendered:!1};t=t.parentNode}return{detached:!1,rendered:!0}}var w_='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',Vl=0,Fa=null;function R_(r,t){r.__resize_mutation_handler__||(r.__resize_mutation_handler__=L_.bind(r));var e=r.__resize_listeners__;if(!e){if(r.__resize_listeners__=[],window.ResizeObserver){var n=r.offsetWidth,i=r.offsetHeight,s=new ResizeObserver(function(){!r.__resize_observer_triggered__&&(r.__resize_observer_triggered__=!0,r.offsetWidth===n&&r.offsetHeight===i)||qa(r)}),o=kl(r),a=o.detached,l=o.rendered;r.__resize_observer_triggered__=a===!1&&l===!1,r.__resize_observer__=s,s.observe(r)}else if(r.attachEvent&&r.addEventListener)r.__resize_legacy_resize_handler__=function(){qa(r)},r.attachEvent("onresize",r.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",r.__resize_mutation_handler__);else if(Vl||(Fa=A_(w_)),D_(r),r.__resize_rendered__=kl(r).rendered,window.MutationObserver){var c=new MutationObserver(r.__resize_mutation_handler__);c.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),r.__resize_mutation_observer__=c}}r.__resize_listeners__.push(t),Vl++}function C_(r,t){var e=r.__resize_listeners__;if(e){if(t&&e.splice(e.indexOf(t),1),!e.length||!t){if(r.detachEvent&&r.removeEventListener){r.detachEvent("onresize",r.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",r.__resize_mutation_handler__);return}r.__resize_observer__?(r.__resize_observer__.unobserve(r),r.__resize_observer__.disconnect(),r.__resize_observer__=null):(r.__resize_mutation_observer__&&(r.__resize_mutation_observer__.disconnect(),r.__resize_mutation_observer__=null),r.removeEventListener("scroll",bc),r.removeChild(r.__resize_triggers__.triggers),r.__resize_triggers__=null),r.__resize_listeners__=null}!--Vl&&Fa&&Fa.parentNode.removeChild(Fa)}}function P_(r){var t=r.__resize_last__,e=t.width,n=t.height,i=r.offsetWidth,s=r.offsetHeight;return i!==e||s!==n?{width:i,height:s}:null}function L_(){var r=kl(this),t=r.rendered,e=r.detached;t!==this.__resize_rendered__&&(!e&&this.__resize_triggers__&&(Ec(this),this.addEventListener("scroll",bc,!0)),this.__resize_rendered__=t,qa(this))}function bc(){var r=this;Ec(this),this.__resize_raf__&&T_(this.__resize_raf__),this.__resize_raf__=E_(function(){var t=P_(r);t&&(r.__resize_last__=t,qa(r))})}function qa(r){!r||!r.__resize_listeners__||r.__resize_listeners__.forEach(function(t){t.call(r,r)})}function D_(r){var t=Nd(r,"position");(!t||t==="static")&&(r.style.position="relative"),r.__resize_old_position__=t,r.__resize_last__={};var e=Ks("div",{className:"resize-triggers"}),n=Ks("div",{className:"resize-expand-trigger"}),i=Ks("div"),s=Ks("div",{className:"resize-contract-trigger"});n.appendChild(i),e.appendChild(n),e.appendChild(s),r.appendChild(e),r.__resize_triggers__={triggers:e,expand:n,expandChild:i,contract:s},Ec(r),r.addEventListener("scroll",bc,!0),r.__resize_last__={width:r.offsetWidth,height:r.offsetHeight}}function Ec(r){var t=r.__resize_triggers__,e=t.expand,n=t.expandChild,i=t.contract,s=i.scrollWidth,o=i.scrollHeight,a=e.offsetWidth,l=e.offsetHeight,c=e.scrollWidth,h=e.scrollHeight;i.scrollLeft=s,i.scrollTop=o,n.style.width=a+1+"px",n.style.height=l+1+"px",e.scrollLeft=c,e.scrollTop=h}var wn=function(){return wn=Object.assign||function(r){for(var t,e=1,n=arguments.length;e{let o=t.width;return`M165 0.5 +`)(Od)}catch(r){return Kr=!1}return Kr=!0}(),k_="ecTheme",V_="ecInitOptions",H_="ecUpdateOptions",Ah=/(^&?~?!?)native:/,EE=Yp({name:"echarts",props:wn(wn({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},N_),B_),emits:{},inheritAttrs:!1,setup:function(r,t){var e=t.attrs,n=js(),i=js(),s=js(),o=js(),a=Ys(k_,null),l=Ys(V_,null),c=Ys(H_,null),h=jp(r),u=h.autoresize,f=h.manualUpdate,d=h.loading,_=h.loadingOptions,g=Xn(function(){return o.value||r.option||null}),p=Xn(function(){return r.theme||Js(a,{})}),m=Xn(function(){return r.initOptions||Js(l,{})}),y=Xn(function(){return r.updateOptions||Js(c,{})}),v=Xn(function(){return function(E){var k={};for(var W in E)Eh(W)||(k[W]=E[W]);return k}(e)}),S={},w=Ff().proxy.$listeners,R={};function b(E){if(i.value){var k=s.value=Zp(i.value,p.value,m.value);r.group&&(k.group=r.group),Object.keys(R).forEach(function(I){var O=R[I];if(O){var N=I.toLowerCase();N.charAt(0)==="~"&&(N=N.substring(1),O.__once__=!0);var Y=k;if(N.indexOf("zr:")===0&&(Y=k.getZr(),N=N.substring(3)),O.__once__){delete O.__once__;var X=O;O=function(){for(var $=[],Z=0;Z{let o=t.width;return`M165 0.5 L165.707 -0.207107 L165.414 -0.5 H165 @@ -115,15 +115,15 @@ if (customElements.get(tag) == null) { L3.36682 ${88.745+a/2} L3.485 ${88.605+a/2} V${88.422+a/2} - V${46.0565+a/2}Z`}),s=Xn(()=>`width:${t.width}px;height:${t.height}px;`);return Bf(()=>{e.value="__"+Ff().uid}),(o,a)=>(us(),fs("div",{class:"m-card",style:Co(s.value)},[Bt("div",$_,[Bt("div",j_,[(us(),fs("svg",{width:r.width,height:"36",viewBox:`0 0 ${r.width} 36`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[Bt("g",{"clip-path":`url(#clip0_70_69244${e.value})`},[Bt("rect",{y:"34.5",width:r.width,height:"1",fill:"url(#paint0_linear_70_69244)"},null,8,J_),Bt("mask",{id:`path-2-inside-1_70_69244${e.value}`,fill:"white"},[Bt("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${r.width}V34.5H0V10.5L10 0.5Z`},null,8,tg)],8,Q_),Bt("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${r.width}V34.5H0V10.5L10 0.5Z`,fill:`url(#paint1_linear_70_69244${e.value})`},null,8,eg),Bt("path",{d:n.value,fill:`url(#paint2_linear_70_69244${e.value})`,mask:`url(#path-2-inside-1_70_69244${e.value})`},null,8,ng),a[1]||(a[1]=wo('',4)),Bt("g",{style:{"mix-blend-mode":"plus-lighter"},"clip-path":`url(#clip1_70_69244${e.value})`},[...a[0]||(a[0]=[wo('',4)])],8,ig)],8,K_),Bt("defs",null,[Bt("linearGradient",{id:"paint0_linear_70_69244",x1:r.width,y1:"35.5021",x2:"0",y2:"35.5021",gradientUnits:"userSpaceOnUse"},[...a[2]||(a[2]=[Bt("stop",{"stop-color":"#35A8EB","stop-opacity":"0.1"},null,-1),Bt("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,rg),Bt("linearGradient",{id:`paint1_linear_70_69244${e.value}`,x1:r.width,y1:"17.5",x2:"7.94819",y2:"17.5",gradientUnits:"userSpaceOnUse"},[...a[3]||(a[3]=[Bt("stop",{offset:"0.0364889","stop-color":"#35A8EB","stop-opacity":"0.11"},null,-1),Bt("stop",{offset:"1","stop-color":"#30C1FF","stop-opacity":"0.27"},null,-1)])],8,sg),Bt("linearGradient",{id:`paint2_linear_70_69244${e.value}`,x1:"40.8948",y1:"13.5",x2:"40.895",y2:"-6.50005",gradientUnits:"userSpaceOnUse"},[...a[4]||(a[4]=[Bt("stop",{"stop-color":"#35A8EB","stop-opacity":"0"},null,-1),Bt("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,ag),a[6]||(a[6]=wo('',8)),Bt("clipPath",{id:`clip0_70_69244${e.value}`},[Bt("rect",{width:r.width,height:"35",fill:"white",transform:"translate(0 0.5)"},null,8,lg)],8,og),Bt("clipPath",{id:`clip1_70_69244${e.value}`},[...a[5]||(a[5]=[Bt("rect",{width:"130",height:"4",fill:"white",transform:"matrix(1 1.64302e-07 -0.0495776 -0.99877 28 4.5)"},null,-1)])],8,cg)])],8,Z_))]),a[7]||(a[7]=Bt("img",{class:"m-card-hd-zs1",src:W_,alt:""},null,-1)),a[8]||(a[8]=Bt("div",{class:"saoguang"},[Bt("img",{src:X_,alt:""})],-1)),Bt("div",hg,im(r.title),1),o.$slots.extra?(us(),fs("div",ug,[Tl(o.$slots,"extra")])):rm("",!0)]),Bt("div",{class:"m-card-bd",style:Co(s.value)},[Bt("div",{class:"m-card-bd-bg",style:Co(s.value)},[(us(),fs("svg",{width:r.width,height:r.height,viewBox:`0 0 ${r.width} ${r.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[Bt("g",{opacity:r.bodyOpacity},[Bt("path",{d:i.value,fill:r.bodyFill},null,8,pg),Bt("path",{d:i.value,stroke:"url(#paint1_linear_70_69585)"},null,8,mg)],8,dg),a[9]||(a[9]=Bt("defs",null,[Bt("linearGradient",{id:"paint1_linear_70_69585",x1:"199",y1:"203.499",x2:"199",y2:"0.499359",gradientUnits:"userSpaceOnUse"},[Bt("stop",{"stop-color":"#4FC5DD"}),Bt("stop",{offset:"1","stop-color":"#05839D","stop-opacity":"0"})])],-1))],8,fg)),a[10]||(a[10]=Bt("img",{class:"m-card-bd-bottom-left-arrow",src:q_,alt:""},null,-1)),a[11]||(a[11]=Bt("img",{class:"m-card-bd-bottom-right-arrow",src:Y_,alt:""},null,-1)),a[12]||(a[12]=Bt("img",{class:"m-card-bd-middle-left-line",src:wh,alt:""},null,-1)),a[13]||(a[13]=Bt("img",{class:"m-card-bd-middle-right-line",src:wh,alt:""},null,-1))],4),Bt("div",_g,[Tl(o.$slots,"default")])],4)],4))}};/** + V${46.0565+a/2}Z`}),s=Xn(()=>`width:${t.width}px;height:${t.height}px;`);return Bf(()=>{e.value="__"+Ff().uid}),(o,a)=>(hs(),us("div",{class:"m-card",style:Ro(s.value)},[Bt("div",Y_,[Bt("div",$_,[(hs(),us("svg",{width:r.width,height:"36",viewBox:`0 0 ${r.width} 36`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[Bt("g",{"clip-path":`url(#clip0_70_69244${e.value})`},[Bt("rect",{y:"34.5",width:r.width,height:"1",fill:"url(#paint0_linear_70_69244)"},null,8,K_),Bt("mask",{id:`path-2-inside-1_70_69244${e.value}`,fill:"white"},[Bt("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${r.width}V34.5H0V10.5L10 0.5Z`},null,8,Q_)],8,J_),Bt("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:`M10 0.5H165L175 10.5H${r.width}V34.5H0V10.5L10 0.5Z`,fill:`url(#paint1_linear_70_69244${e.value})`},null,8,tg),Bt("path",{d:n.value,fill:`url(#paint2_linear_70_69244${e.value})`,mask:`url(#path-2-inside-1_70_69244${e.value})`},null,8,eg),a[1]||(a[1]=wo('',4)),Bt("g",{style:{"mix-blend-mode":"plus-lighter"},"clip-path":`url(#clip1_70_69244${e.value})`},[...a[0]||(a[0]=[wo('',4)])],8,ng)],8,Z_),Bt("defs",null,[Bt("linearGradient",{id:"paint0_linear_70_69244",x1:r.width,y1:"35.5021",x2:"0",y2:"35.5021",gradientUnits:"userSpaceOnUse"},[...a[2]||(a[2]=[Bt("stop",{"stop-color":"#35A8EB","stop-opacity":"0.1"},null,-1),Bt("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,ig),Bt("linearGradient",{id:`paint1_linear_70_69244${e.value}`,x1:r.width,y1:"17.5",x2:"7.94819",y2:"17.5",gradientUnits:"userSpaceOnUse"},[...a[3]||(a[3]=[Bt("stop",{offset:"0.0364889","stop-color":"#35A8EB","stop-opacity":"0.11"},null,-1),Bt("stop",{offset:"1","stop-color":"#30C1FF","stop-opacity":"0.27"},null,-1)])],8,rg),Bt("linearGradient",{id:`paint2_linear_70_69244${e.value}`,x1:"40.8948",y1:"13.5",x2:"40.895",y2:"-6.50005",gradientUnits:"userSpaceOnUse"},[...a[4]||(a[4]=[Bt("stop",{"stop-color":"#35A8EB","stop-opacity":"0"},null,-1),Bt("stop",{offset:"1","stop-color":"#30DCFF"},null,-1)])],8,sg),a[6]||(a[6]=wo('',8)),Bt("clipPath",{id:`clip0_70_69244${e.value}`},[Bt("rect",{width:r.width,height:"35",fill:"white",transform:"translate(0 0.5)"},null,8,og)],8,ag),Bt("clipPath",{id:`clip1_70_69244${e.value}`},[...a[5]||(a[5]=[Bt("rect",{width:"130",height:"4",fill:"white",transform:"matrix(1 1.64302e-07 -0.0495776 -0.99877 28 4.5)"},null,-1)])],8,lg)])],8,j_))]),a[7]||(a[7]=Bt("img",{class:"m-card-hd-zs1",src:G_,alt:""},null,-1)),a[8]||(a[8]=Bt("div",{class:"saoguang"},[Bt("img",{src:W_,alt:""})],-1)),Bt("div",cg,em(r.title),1),o.$slots.extra?(hs(),us("div",hg,[Tl(o.$slots,"extra")])):nm("",!0)]),Bt("div",{class:"m-card-bd",style:Ro(s.value)},[Bt("div",{class:"m-card-bd-bg",style:Ro(s.value)},[(hs(),us("svg",{width:r.width,height:r.height,viewBox:`0 0 ${r.width} ${r.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[Bt("g",{opacity:r.bodyOpacity},[Bt("path",{d:i.value,fill:r.bodyFill},null,8,dg),Bt("path",{d:i.value,stroke:"url(#paint1_linear_70_69585)"},null,8,pg)],8,fg),a[9]||(a[9]=Bt("defs",null,[Bt("linearGradient",{id:"paint1_linear_70_69585",x1:"199",y1:"203.499",x2:"199",y2:"0.499359",gradientUnits:"userSpaceOnUse"},[Bt("stop",{"stop-color":"#4FC5DD"}),Bt("stop",{offset:"1","stop-color":"#05839D","stop-opacity":"0"})])],-1))],8,ug)),a[10]||(a[10]=Bt("img",{class:"m-card-bd-bottom-left-arrow",src:X_,alt:""},null,-1)),a[11]||(a[11]=Bt("img",{class:"m-card-bd-bottom-right-arrow",src:q_,alt:""},null,-1)),a[12]||(a[12]=Bt("img",{class:"m-card-bd-middle-left-line",src:wh,alt:""},null,-1)),a[13]||(a[13]=Bt("img",{class:"m-card-bd-middle-right-line",src:wh,alt:""},null,-1))],4),Bt("div",mg,[Tl(o.$slots,"default")])],4)],4))}};/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const Tc="161",er={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},nr={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},gg=0,Ch=1,vg=2,zd=1,xg=2,Gn=3,bi=0,Je=1,bn=2,_i=0,Dr=1,Rh=2,Ph=3,Lh=4,yg=5,Bi=100,Mg=101,Sg=102,Dh=103,Ih=104,bg=200,Eg=201,Tg=202,Ag=203,Hl=204,Gl=205,wg=206,Cg=207,Rg=208,Pg=209,Lg=210,Dg=211,Ig=212,Ng=213,Ug=214,Og=0,Fg=1,Bg=2,Ya=3,zg=4,kg=5,Vg=6,Hg=7,Ac=0,Gg=1,Wg=2,gi=0,Xg=1,qg=2,Yg=3,$g=4,jg=5,Zg=6,Nh="attached",Kg="detached",kd=300,kr=301,Vr=302,Wl=303,Xl=304,co=306,$a=1e3,En=1001,ql=1002,Pe=1003,Uh=1004,ts=1005,Xe=1006,zo=1007,Vi=1008,vi=1009,Jg=1010,Qg=1011,wc=1012,Vd=1013,fi=1014,Ln=1015,Ls=1016,Hd=1017,Gd=1018,qi=1020,t0=1021,pn=1023,e0=1024,n0=1025,Yi=1026,Hr=1027,i0=1028,Wd=1029,r0=1030,Xd=1031,qd=1033,ko=33776,Vo=33777,Ho=33778,Go=33779,Oh=35840,Fh=35841,Bh=35842,zh=35843,Yd=36196,kh=37492,Vh=37496,Hh=37808,Gh=37809,Wh=37810,Xh=37811,qh=37812,Yh=37813,$h=37814,jh=37815,Zh=37816,Kh=37817,Jh=37818,Qh=37819,tu=37820,eu=37821,Wo=36492,nu=36494,iu=36495,s0=36283,ru=36284,su=36285,au=36286,ja=2300,Za=2301,Xo=2302,ou=2400,lu=2401,cu=2402,a0=2500,wE=0,CE=1,RE=2,$d=3e3,$i=3001,o0=3200,l0=3201,Cc=0,c0=1,mn="",Le="srgb",Kn="srgb-linear",Rc="display-p3",ho="display-p3-linear",Ka="linear",oe="srgb",Ja="rec709",Qa="p3",ir=7680,hu=519,h0=512,u0=513,f0=514,jd=515,d0=516,p0=517,m0=518,_0=519,Yl=35044,uu="300 es",$l=1035,Yn=2e3,to=2001;class Qi{addEventListener(t,e){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[t]===void 0&&(n[t]=[]),n[t].indexOf(e)===-1&&n[t].push(e)}hasEventListener(t,e){if(this._listeners===void 0)return!1;const n=this._listeners;return n[t]!==void 0&&n[t].indexOf(e)!==-1}removeEventListener(t,e){if(this._listeners===void 0)return;const i=this._listeners[t];if(i!==void 0){const s=i.indexOf(e);s!==-1&&i.splice(s,1)}}dispatchEvent(t){if(this._listeners===void 0)return;const n=this._listeners[t.type];if(n!==void 0){t.target=this;const i=n.slice(0);for(let s=0,o=i.length;s>8&255]+Fe[r>>16&255]+Fe[r>>24&255]+"-"+Fe[t&255]+Fe[t>>8&255]+"-"+Fe[t>>16&15|64]+Fe[t>>24&255]+"-"+Fe[e&63|128]+Fe[e>>8&255]+"-"+Fe[e>>16&255]+Fe[e>>24&255]+Fe[n&255]+Fe[n>>8&255]+Fe[n>>16&255]+Fe[n>>24&255]).toLowerCase()}function be(r,t,e){return Math.max(t,Math.min(e,r))}function Pc(r,t){return(r%t+t)%t}function g0(r,t,e,n,i){return n+(r-t)*(i-n)/(e-t)}function v0(r,t,e){return r!==t?(e-r)/(t-r):0}function ys(r,t,e){return(1-e)*r+e*t}function x0(r,t,e,n){return ys(r,t,1-Math.exp(-e*n))}function y0(r,t=1){return t-Math.abs(Pc(r,t*2)-t)}function M0(r,t,e){return r<=t?0:r>=e?1:(r=(r-t)/(e-t),r*r*(3-2*r))}function S0(r,t,e){return r<=t?0:r>=e?1:(r=(r-t)/(e-t),r*r*r*(r*(r*6-15)+10))}function b0(r,t){return r+Math.floor(Math.random()*(t-r+1))}function E0(r,t){return r+Math.random()*(t-r)}function T0(r){return r*(.5-Math.random())}function A0(r){r!==void 0&&(fu=r);let t=fu+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function w0(r){return r*xs}function C0(r){return r*Gr}function jl(r){return(r&r-1)===0&&r!==0}function R0(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function eo(r){return Math.pow(2,Math.floor(Math.log(r)/Math.LN2))}function P0(r,t,e,n,i){const s=Math.cos,o=Math.sin,a=s(e/2),l=o(e/2),c=s((t+n)/2),h=o((t+n)/2),u=s((t-n)/2),f=o((t-n)/2),d=s((n-t)/2),_=o((n-t)/2);switch(i){case"XYX":r.set(a*h,l*u,l*f,a*c);break;case"YZY":r.set(l*f,a*h,l*u,a*c);break;case"ZXZ":r.set(l*u,l*f,a*h,a*c);break;case"XZX":r.set(a*h,l*_,l*d,a*c);break;case"YXY":r.set(l*d,a*h,l*_,a*c);break;case"ZYZ":r.set(l*_,l*d,a*h,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Tn(r,t){switch(t.constructor){case Float32Array:return r;case Uint32Array:return r/4294967295;case Uint16Array:return r/65535;case Uint8Array:return r/255;case Int32Array:return Math.max(r/2147483647,-1);case Int16Array:return Math.max(r/32767,-1);case Int8Array:return Math.max(r/127,-1);default:throw new Error("Invalid component type.")}}function Qt(r,t){switch(t.constructor){case Float32Array:return r;case Uint32Array:return Math.round(r*4294967295);case Uint16Array:return Math.round(r*65535);case Uint8Array:return Math.round(r*255);case Int32Array:return Math.round(r*2147483647);case Int16Array:return Math.round(r*32767);case Int8Array:return Math.round(r*127);default:throw new Error("Invalid component type.")}}const L0={DEG2RAD:xs,RAD2DEG:Gr,generateUUID:vn,clamp:be,euclideanModulo:Pc,mapLinear:g0,inverseLerp:v0,lerp:ys,damp:x0,pingpong:y0,smoothstep:M0,smootherstep:S0,randInt:b0,randFloat:E0,randFloatSpread:T0,seededRandom:A0,degToRad:w0,radToDeg:C0,isPowerOfTwo:jl,ceilPowerOfTwo:R0,floorPowerOfTwo:eo,setQuaternionFromProperEuler:P0,normalize:Qt,denormalize:Tn};class it{constructor(t=0,e=0){it.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(be(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),s=this.x-t.x,o=this.y-t.y;return this.x=s*n-o*i+t.x,this.y=s*i+o*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class qt{constructor(t,e,n,i,s,o,a,l,c){qt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,e,n,i,s,o,a,l,c)}set(t,e,n,i,s,o,a,l,c){const h=this.elements;return h[0]=t,h[1]=i,h[2]=a,h[3]=e,h[4]=s,h[5]=l,h[6]=n,h[7]=o,h[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,s=this.elements,o=n[0],a=n[3],l=n[6],c=n[1],h=n[4],u=n[7],f=n[2],d=n[5],_=n[8],g=i[0],p=i[3],m=i[6],y=i[1],v=i[4],S=i[7],w=i[2],C=i[5],E=i[8];return s[0]=o*g+a*y+l*w,s[3]=o*p+a*v+l*C,s[6]=o*m+a*S+l*E,s[1]=c*g+h*y+u*w,s[4]=c*p+h*v+u*C,s[7]=c*m+h*S+u*E,s[2]=f*g+d*y+_*w,s[5]=f*p+d*v+_*C,s[8]=f*m+d*S+_*E,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=t[6],c=t[7],h=t[8];return e*o*h-e*a*c-n*s*h+n*a*l+i*s*c-i*o*l}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=h*o-a*c,f=a*l-h*s,d=c*s-o*l,_=e*u+n*f+i*d;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const g=1/_;return t[0]=u*g,t[1]=(i*c-h*n)*g,t[2]=(a*n-i*o)*g,t[3]=f*g,t[4]=(h*e-i*l)*g,t[5]=(i*s-a*e)*g,t[6]=d*g,t[7]=(n*l-c*e)*g,t[8]=(o*e-n*s)*g,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(n*l,n*c,-n*(l*o+c*a)+o+t,-i*c,i*l,-i*(-c*o+l*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(qo.makeScale(t,e)),this}rotate(t){return this.premultiply(qo.makeRotation(-t)),this}translate(t,e){return this.premultiply(qo.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let i=0;i<9;i++)if(e[i]!==n[i])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return new this.constructor().fromArray(this.elements)}}const qo=new qt;function Zd(r){for(let t=r.length-1;t>=0;--t)if(r[t]>=65535)return!0;return!1}function Ds(r){return document.createElementNS("http://www.w3.org/1999/xhtml",r)}function D0(){const r=Ds("canvas");return r.style.display="block",r}const du={};function ji(r){r in du||(du[r]=!0,console.warn(r))}const pu=new qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),mu=new qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Qs={[Kn]:{transfer:Ka,primaries:Ja,toReference:r=>r,fromReference:r=>r},[Le]:{transfer:oe,primaries:Ja,toReference:r=>r.convertSRGBToLinear(),fromReference:r=>r.convertLinearToSRGB()},[ho]:{transfer:Ka,primaries:Qa,toReference:r=>r.applyMatrix3(mu),fromReference:r=>r.applyMatrix3(pu)},[Rc]:{transfer:oe,primaries:Qa,toReference:r=>r.convertSRGBToLinear().applyMatrix3(mu),fromReference:r=>r.applyMatrix3(pu).convertLinearToSRGB()}},I0=new Set([Kn,ho]),ee={enabled:!0,_workingColorSpace:Kn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(r){if(!I0.has(r))throw new Error(`Unsupported working color space, "${r}".`);this._workingColorSpace=r},convert:function(r,t,e){if(this.enabled===!1||t===e||!t||!e)return r;const n=Qs[t].toReference,i=Qs[e].fromReference;return i(n(r))},fromWorkingColorSpace:function(r,t){return this.convert(r,this._workingColorSpace,t)},toWorkingColorSpace:function(r,t){return this.convert(r,t,this._workingColorSpace)},getPrimaries:function(r){return Qs[r].primaries},getTransfer:function(r){return r===mn?Ka:Qs[r].transfer}};function Ir(r){return r<.04045?r*.0773993808:Math.pow(r*.9478672986+.0521327014,2.4)}function Yo(r){return r<.0031308?r*12.92:1.055*Math.pow(r,.41666)-.055}let rr;class Kd{static getDataURL(t){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement=="undefined")return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{rr===void 0&&(rr=Ds("canvas")),rr.width=t.width,rr.height=t.height;const n=rr.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=rr}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if(typeof HTMLImageElement!="undefined"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&t instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&t instanceof ImageBitmap){const e=Ds("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height),s=i.data;for(let o=0;o0&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==kd)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case $a:t.x=t.x-Math.floor(t.x);break;case En:t.x=t.x<0?0:1;break;case ql:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case $a:t.y=t.y-Math.floor(t.y);break;case En:t.y=t.y<0?0:1;break;case ql:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){t===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ji("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Le?$i:$d}set encoding(t){ji("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=t===$i?Le:mn}}Ne.DEFAULT_IMAGE=null;Ne.DEFAULT_MAPPING=kd;Ne.DEFAULT_ANISOTROPY=1;class se{constructor(t=0,e=0,n=0,i=1){se.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w!==void 0?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,s=this.w,o=t.elements;return this.x=o[0]*e+o[4]*n+o[8]*i+o[12]*s,this.y=o[1]*e+o[5]*n+o[9]*i+o[13]*s,this.z=o[2]*e+o[6]*n+o[10]*i+o[14]*s,this.w=o[3]*e+o[7]*n+o[11]*i+o[15]*s,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,s;const l=t.elements,c=l[0],h=l[4],u=l[8],f=l[1],d=l[5],_=l[9],g=l[2],p=l[6],m=l[10];if(Math.abs(h-f)<.01&&Math.abs(u-g)<.01&&Math.abs(_-p)<.01){if(Math.abs(h+f)<.1&&Math.abs(u+g)<.1&&Math.abs(_+p)<.1&&Math.abs(c+d+m-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;const v=(c+1)/2,S=(d+1)/2,w=(m+1)/2,C=(h+f)/4,E=(u+g)/4,N=(_+p)/4;return v>S&&v>w?v<.01?(n=0,i=.707106781,s=.707106781):(n=Math.sqrt(v),i=C/n,s=E/n):S>w?S<.01?(n=.707106781,i=0,s=.707106781):(i=Math.sqrt(S),n=C/i,s=N/i):w<.01?(n=.707106781,i=.707106781,s=0):(s=Math.sqrt(w),n=E/s,i=N/s),this.set(n,i,s,e),this}let y=Math.sqrt((p-_)*(p-_)+(u-g)*(u-g)+(f-h)*(f-h));return Math.abs(y)<.001&&(y=1),this.x=(p-_)/y,this.y=(u-g)/y,this.z=(f-h)/y,this.w=Math.acos((c+d+m-1)/2),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this.w=Math.max(t,Math.min(e,this.w)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this.w=t.w+(e.w-t.w)*n,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class O0 extends Qi{constructor(t=1,e=1,n={}){super(),this.isRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new se(0,0,t,e),this.scissorTest=!1,this.viewport=new se(0,0,t,e);const i={width:t,height:e,depth:1};n.encoding!==void 0&&(ji("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===$i?Le:mn),n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Xe,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},n),this.texture=new Ne(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=n.generateMipmaps,this.texture.internalFormat=n.internalFormat,this.depthBuffer=n.depthBuffer,this.stencilBuffer=n.stencilBuffer,this.depthTexture=n.depthTexture,this.samples=n.samples}setSize(t,e,n=1){(this.width!==t||this.height!==e||this.depth!==n)&&(this.width=t,this.height=e,this.depth=n,this.texture.image.width=t,this.texture.image.height=e,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return new this.constructor().copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.scissor.copy(t.scissor),this.scissorTest=t.scissorTest,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.texture.isRenderTargetTexture=!0;const e=Object.assign({},t.texture.image);return this.texture.source=new Jd(e),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,t.depthTexture!==null&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Zi extends O0{constructor(t=1,e=1,n={}){super(t,e,n),this.isWebGLRenderTarget=!0}}class Qd extends Ne{constructor(t=null,e=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=Pe,this.minFilter=Pe,this.wrapR=En,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class F0 extends Ne{constructor(t=null,e=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=Pe,this.minFilter=Pe,this.wrapR=En,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Ei{constructor(t=0,e=0,n=0,i=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=n,this._w=i}static slerpFlat(t,e,n,i,s,o,a){let l=n[i+0],c=n[i+1],h=n[i+2],u=n[i+3];const f=s[o+0],d=s[o+1],_=s[o+2],g=s[o+3];if(a===0){t[e+0]=l,t[e+1]=c,t[e+2]=h,t[e+3]=u;return}if(a===1){t[e+0]=f,t[e+1]=d,t[e+2]=_,t[e+3]=g;return}if(u!==g||l!==f||c!==d||h!==_){let p=1-a;const m=l*f+c*d+h*_+u*g,y=m>=0?1:-1,v=1-m*m;if(v>Number.EPSILON){const w=Math.sqrt(v),C=Math.atan2(w,m*y);p=Math.sin(p*C)/w,a=Math.sin(a*C)/w}const S=a*y;if(l=l*p+f*S,c=c*p+d*S,h=h*p+_*S,u=u*p+g*S,p===1-a){const w=1/Math.sqrt(l*l+c*c+h*h+u*u);l*=w,c*=w,h*=w,u*=w}}t[e]=l,t[e+1]=c,t[e+2]=h,t[e+3]=u}static multiplyQuaternionsFlat(t,e,n,i,s,o){const a=n[i],l=n[i+1],c=n[i+2],h=n[i+3],u=s[o],f=s[o+1],d=s[o+2],_=s[o+3];return t[e]=a*_+h*u+l*d-c*f,t[e+1]=l*_+h*f+c*u-a*d,t[e+2]=c*_+h*d+a*f-l*u,t[e+3]=h*_-a*u-l*f-c*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const n=t._x,i=t._y,s=t._z,o=t._order,a=Math.cos,l=Math.sin,c=a(n/2),h=a(i/2),u=a(s/2),f=l(n/2),d=l(i/2),_=l(s/2);switch(o){case"XYZ":this._x=f*h*u+c*d*_,this._y=c*d*u-f*h*_,this._z=c*h*_+f*d*u,this._w=c*h*u-f*d*_;break;case"YXZ":this._x=f*h*u+c*d*_,this._y=c*d*u-f*h*_,this._z=c*h*_-f*d*u,this._w=c*h*u+f*d*_;break;case"ZXY":this._x=f*h*u-c*d*_,this._y=c*d*u+f*h*_,this._z=c*h*_+f*d*u,this._w=c*h*u-f*d*_;break;case"ZYX":this._x=f*h*u-c*d*_,this._y=c*d*u+f*h*_,this._z=c*h*_-f*d*u,this._w=c*h*u+f*d*_;break;case"YZX":this._x=f*h*u+c*d*_,this._y=c*d*u+f*h*_,this._z=c*h*_-f*d*u,this._w=c*h*u-f*d*_;break;case"XZY":this._x=f*h*u-c*d*_,this._y=c*d*u-f*h*_,this._z=c*h*_+f*d*u,this._w=c*h*u+f*d*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return e===!0&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],s=e[8],o=e[1],a=e[5],l=e[9],c=e[2],h=e[6],u=e[10],f=n+a+u;if(f>0){const d=.5/Math.sqrt(f+1);this._w=.25/d,this._x=(h-l)*d,this._y=(s-c)*d,this._z=(o-i)*d}else if(n>a&&n>u){const d=2*Math.sqrt(1+n-a-u);this._w=(h-l)/d,this._x=.25*d,this._y=(i+o)/d,this._z=(s+c)/d}else if(a>u){const d=2*Math.sqrt(1+a-n-u);this._w=(s-c)/d,this._x=(i+o)/d,this._y=.25*d,this._z=(l+h)/d}else{const d=2*Math.sqrt(1+u-n-a);this._w=(o-i)/d,this._x=(s+c)/d,this._y=(l+h)/d,this._z=.25*d}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(be(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(n===0)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return t===0?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,s=t._z,o=t._w,a=e._x,l=e._y,c=e._z,h=e._w;return this._x=n*h+o*a+i*c-s*l,this._y=i*h+o*l+s*a-n*c,this._z=s*h+o*c+n*l-i*a,this._w=o*h-n*a-i*l-s*c,this._onChangeCallback(),this}slerp(t,e){if(e===0)return this;if(e===1)return this.copy(t);const n=this._x,i=this._y,s=this._z,o=this._w;let a=o*t._w+n*t._x+i*t._y+s*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=n,this._y=i,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const d=1-e;return this._w=d*o+e*this._w,this._x=d*n+e*this._x,this._y=d*i+e*this._y,this._z=d*s+e*this._z,this.normalize(),this}const c=Math.sqrt(l),h=Math.atan2(c,a),u=Math.sin((1-e)*h)/c,f=Math.sin(e*h)/c;return this._w=o*u+this._w*f,this._x=n*u+this._x*f,this._y=i*u+this._y*f,this._z=s*u+this._z*f,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),i=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(e*Math.cos(i),n*Math.sin(s),n*Math.cos(s),e*Math.sin(i))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class D{constructor(t=0,e=0,n=0){D.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return n===void 0&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(_u.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(_u.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,s=t.elements;return this.x=s[0]*e+s[3]*n+s[6]*i,this.y=s[1]*e+s[4]*n+s[7]*i,this.z=s[2]*e+s[5]*n+s[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,s=t.elements,o=1/(s[3]*e+s[7]*n+s[11]*i+s[15]);return this.x=(s[0]*e+s[4]*n+s[8]*i+s[12])*o,this.y=(s[1]*e+s[5]*n+s[9]*i+s[13])*o,this.z=(s[2]*e+s[6]*n+s[10]*i+s[14])*o,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,s=t.x,o=t.y,a=t.z,l=t.w,c=2*(o*i-a*n),h=2*(a*e-s*i),u=2*(s*n-o*e);return this.x=e+l*c+o*u-a*h,this.y=n+l*h+a*c-s*u,this.z=i+l*u+s*h-o*c,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i,this.y=s[1]*e+s[5]*n+s[9]*i,this.z=s[2]*e+s[6]*n+s[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,s=t.z,o=e.x,a=e.y,l=e.z;return this.x=i*l-s*a,this.y=s*o-n*l,this.z=n*a-i*o,this}projectOnVector(t){const e=t.lengthSq();if(e===0)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return jo.copy(this).projectOnVector(t),this.sub(jo)}reflect(t){return this.sub(jo.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(be(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=(Math.random()-.5)*2,e=Math.random()*Math.PI*2,n=Math.sqrt(1-Ao(t,2));return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const jo=new D,_u=new Ei;class wi{constructor(t=new D(1/0,1/0,1/0),e=new D(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,yn),yn.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(es),ea.subVectors(this.max,es),sr.subVectors(t.a,es),ar.subVectors(t.b,es),or.subVectors(t.c,es),ti.subVectors(ar,sr),ei.subVectors(or,ar),Di.subVectors(sr,or);let e=[0,-ti.z,ti.y,0,-ei.z,ei.y,0,-Di.z,Di.y,ti.z,0,-ti.x,ei.z,0,-ei.x,Di.z,0,-Di.x,-ti.y,ti.x,0,-ei.y,ei.x,0,-Di.y,Di.x,0];return!Zo(e,sr,ar,or,ea)||(e=[1,0,0,0,1,0,0,0,1],!Zo(e,sr,ar,or,ea))?!1:(na.crossVectors(ti,ei),e=[na.x,na.y,na.z],Zo(e,sr,ar,or,ea))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,yn).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=this.getSize(yn).length()*.5),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()?this:(Fn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),Fn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),Fn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),Fn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),Fn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),Fn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),Fn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),Fn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(Fn),this)}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Fn=[new D,new D,new D,new D,new D,new D,new D,new D],yn=new D,ta=new wi,sr=new D,ar=new D,or=new D,ti=new D,ei=new D,Di=new D,es=new D,ea=new D,na=new D,Ii=new D;function Zo(r,t,e,n,i){for(let s=0,o=r.length-3;s<=o;s+=3){Ii.fromArray(r,s);const a=i.x*Math.abs(Ii.x)+i.y*Math.abs(Ii.y)+i.z*Math.abs(Ii.z),l=t.dot(Ii),c=e.dot(Ii),h=n.dot(Ii);if(Math.max(-Math.max(l,c,h),Math.min(l,c,h))>a)return!1}return!0}const B0=new wi,ns=new D,Ko=new D;class Jn{constructor(t=new D,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;e!==void 0?n.copy(e):B0.setFromPoints(t).getCenter(n);let i=0;for(let s=0,o=t.length;sthis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;ns.subVectors(t,this.center);const e=ns.lengthSq();if(e>this.radius*this.radius){const n=Math.sqrt(e),i=(n-this.radius)*.5;this.center.addScaledVector(ns,i/n),this.radius+=i}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(this.center.equals(t.center)===!0?this.radius=Math.max(this.radius,t.radius):(Ko.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(ns.copy(t.center).add(Ko)),this.expandByPoint(ns.copy(t.center).sub(Ko))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Bn=new D,Jo=new D,ia=new D,ni=new D,Qo=new D,ra=new D,tl=new D;class Xr{constructor(t=new D,e=new D(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Bn)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Bn.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Bn.copy(this.origin).addScaledVector(this.direction,e),Bn.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){Jo.copy(t).add(e).multiplyScalar(.5),ia.copy(e).sub(t).normalize(),ni.copy(this.origin).sub(Jo);const s=t.distanceTo(e)*.5,o=-this.direction.dot(ia),a=ni.dot(this.direction),l=-ni.dot(ia),c=ni.lengthSq(),h=Math.abs(1-o*o);let u,f,d,_;if(h>0)if(u=o*l-a,f=o*a-l,_=s*h,u>=0)if(f>=-_)if(f<=_){const g=1/h;u*=g,f*=g,d=u*(u+o*f+2*a)+f*(o*u+f+2*l)+c}else f=s,u=Math.max(0,-(o*f+a)),d=-u*u+f*(f+2*l)+c;else f=-s,u=Math.max(0,-(o*f+a)),d=-u*u+f*(f+2*l)+c;else f<=-_?(u=Math.max(0,-(-o*s+a)),f=u>0?-s:Math.min(Math.max(-s,-l),s),d=-u*u+f*(f+2*l)+c):f<=_?(u=0,f=Math.min(Math.max(-s,-l),s),d=f*(f+2*l)+c):(u=Math.max(0,-(o*s+a)),f=u>0?s:Math.min(Math.max(-s,-l),s),d=-u*u+f*(f+2*l)+c);else f=o>0?-s:s,u=Math.max(0,-(o*f+a)),d=-u*u+f*(f+2*l)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),i&&i.copy(Jo).addScaledVector(ia,f),d}intersectSphere(t,e){Bn.subVectors(t.center,this.origin);const n=Bn.dot(this.direction),i=Bn.dot(Bn)-n*n,s=t.radius*t.radius;if(i>s)return null;const o=Math.sqrt(s-i),a=n-o,l=n+o;return l<0?null:a<0?this.at(l,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(e===0)return t.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return n===null?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return e===0||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,s,o,a,l;const c=1/this.direction.x,h=1/this.direction.y,u=1/this.direction.z,f=this.origin;return c>=0?(n=(t.min.x-f.x)*c,i=(t.max.x-f.x)*c):(n=(t.max.x-f.x)*c,i=(t.min.x-f.x)*c),h>=0?(s=(t.min.y-f.y)*h,o=(t.max.y-f.y)*h):(s=(t.max.y-f.y)*h,o=(t.min.y-f.y)*h),n>o||s>i||((s>n||isNaN(n))&&(n=s),(o=0?(a=(t.min.z-f.z)*u,l=(t.max.z-f.z)*u):(a=(t.max.z-f.z)*u,l=(t.min.z-f.z)*u),n>l||a>i)||((a>n||n!==n)&&(n=a),(l=0?n:i,e)}intersectsBox(t){return this.intersectBox(t,Bn)!==null}intersectTriangle(t,e,n,i,s){Qo.subVectors(e,t),ra.subVectors(n,t),tl.crossVectors(Qo,ra);let o=this.direction.dot(tl),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ni.subVectors(this.origin,t);const l=a*this.direction.dot(ra.crossVectors(ni,ra));if(l<0)return null;const c=a*this.direction.dot(Qo.cross(ni));if(c<0||l+c>o)return null;const h=-a*ni.dot(tl);return h<0?null:this.at(h/o,s)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class $t{constructor(t,e,n,i,s,o,a,l,c,h,u,f,d,_,g,p){$t.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,e,n,i,s,o,a,l,c,h,u,f,d,_,g,p)}set(t,e,n,i,s,o,a,l,c,h,u,f,d,_,g,p){const m=this.elements;return m[0]=t,m[4]=e,m[8]=n,m[12]=i,m[1]=s,m[5]=o,m[9]=a,m[13]=l,m[2]=c,m[6]=h,m[10]=u,m[14]=f,m[3]=d,m[7]=_,m[11]=g,m[15]=p,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new $t().fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/lr.setFromMatrixColumn(t,0).length(),s=1/lr.setFromMatrixColumn(t,1).length(),o=1/lr.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*s,e[5]=n[5]*s,e[6]=n[6]*s,e[7]=0,e[8]=n[8]*o,e[9]=n[9]*o,e[10]=n[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,i=t.y,s=t.z,o=Math.cos(n),a=Math.sin(n),l=Math.cos(i),c=Math.sin(i),h=Math.cos(s),u=Math.sin(s);if(t.order==="XYZ"){const f=o*h,d=o*u,_=a*h,g=a*u;e[0]=l*h,e[4]=-l*u,e[8]=c,e[1]=d+_*c,e[5]=f-g*c,e[9]=-a*l,e[2]=g-f*c,e[6]=_+d*c,e[10]=o*l}else if(t.order==="YXZ"){const f=l*h,d=l*u,_=c*h,g=c*u;e[0]=f+g*a,e[4]=_*a-d,e[8]=o*c,e[1]=o*u,e[5]=o*h,e[9]=-a,e[2]=d*a-_,e[6]=g+f*a,e[10]=o*l}else if(t.order==="ZXY"){const f=l*h,d=l*u,_=c*h,g=c*u;e[0]=f-g*a,e[4]=-o*u,e[8]=_+d*a,e[1]=d+_*a,e[5]=o*h,e[9]=g-f*a,e[2]=-o*c,e[6]=a,e[10]=o*l}else if(t.order==="ZYX"){const f=o*h,d=o*u,_=a*h,g=a*u;e[0]=l*h,e[4]=_*c-d,e[8]=f*c+g,e[1]=l*u,e[5]=g*c+f,e[9]=d*c-_,e[2]=-c,e[6]=a*l,e[10]=o*l}else if(t.order==="YZX"){const f=o*l,d=o*c,_=a*l,g=a*c;e[0]=l*h,e[4]=g-f*u,e[8]=_*u+d,e[1]=u,e[5]=o*h,e[9]=-a*h,e[2]=-c*h,e[6]=d*u+_,e[10]=f-g*u}else if(t.order==="XZY"){const f=o*l,d=o*c,_=a*l,g=a*c;e[0]=l*h,e[4]=-u,e[8]=c*h,e[1]=f*u+g,e[5]=o*h,e[9]=d*u-_,e[2]=_*u-d,e[6]=a*h,e[10]=g*u+f}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(z0,t,k0)}lookAt(t,e,n){const i=this.elements;return en.subVectors(t,e),en.lengthSq()===0&&(en.z=1),en.normalize(),ii.crossVectors(n,en),ii.lengthSq()===0&&(Math.abs(n.z)===1?en.x+=1e-4:en.z+=1e-4,en.normalize(),ii.crossVectors(n,en)),ii.normalize(),sa.crossVectors(en,ii),i[0]=ii.x,i[4]=sa.x,i[8]=en.x,i[1]=ii.y,i[5]=sa.y,i[9]=en.y,i[2]=ii.z,i[6]=sa.z,i[10]=en.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,s=this.elements,o=n[0],a=n[4],l=n[8],c=n[12],h=n[1],u=n[5],f=n[9],d=n[13],_=n[2],g=n[6],p=n[10],m=n[14],y=n[3],v=n[7],S=n[11],w=n[15],C=i[0],E=i[4],N=i[8],U=i[12],x=i[1],b=i[5],k=i[9],W=i[13],I=i[2],F=i[6],O=i[10],Y=i[14],q=i[3],$=i[7],Z=i[11],J=i[15];return s[0]=o*C+a*x+l*I+c*q,s[4]=o*E+a*b+l*F+c*$,s[8]=o*N+a*k+l*O+c*Z,s[12]=o*U+a*W+l*Y+c*J,s[1]=h*C+u*x+f*I+d*q,s[5]=h*E+u*b+f*F+d*$,s[9]=h*N+u*k+f*O+d*Z,s[13]=h*U+u*W+f*Y+d*J,s[2]=_*C+g*x+p*I+m*q,s[6]=_*E+g*b+p*F+m*$,s[10]=_*N+g*k+p*O+m*Z,s[14]=_*U+g*W+p*Y+m*J,s[3]=y*C+v*x+S*I+w*q,s[7]=y*E+v*b+S*F+w*$,s[11]=y*N+v*k+S*O+w*Z,s[15]=y*U+v*W+S*Y+w*J,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],s=t[12],o=t[1],a=t[5],l=t[9],c=t[13],h=t[2],u=t[6],f=t[10],d=t[14],_=t[3],g=t[7],p=t[11],m=t[15];return _*(+s*l*u-i*c*u-s*a*f+n*c*f+i*a*d-n*l*d)+g*(+e*l*d-e*c*f+s*o*f-i*o*d+i*c*h-s*l*h)+p*(+e*c*u-e*a*d-s*o*u+n*o*d+s*a*h-n*c*h)+m*(-i*a*h-e*l*u+e*a*f+i*o*u-n*o*f+n*l*h)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],f=t[10],d=t[11],_=t[12],g=t[13],p=t[14],m=t[15],y=u*p*c-g*f*c+g*l*d-a*p*d-u*l*m+a*f*m,v=_*f*c-h*p*c-_*l*d+o*p*d+h*l*m-o*f*m,S=h*g*c-_*u*c+_*a*d-o*g*d-h*a*m+o*u*m,w=_*u*l-h*g*l-_*a*f+o*g*f+h*a*p-o*u*p,C=e*y+n*v+i*S+s*w;if(C===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const E=1/C;return t[0]=y*E,t[1]=(g*f*s-u*p*s-g*i*d+n*p*d+u*i*m-n*f*m)*E,t[2]=(a*p*s-g*l*s+g*i*c-n*p*c-a*i*m+n*l*m)*E,t[3]=(u*l*s-a*f*s-u*i*c+n*f*c+a*i*d-n*l*d)*E,t[4]=v*E,t[5]=(h*p*s-_*f*s+_*i*d-e*p*d-h*i*m+e*f*m)*E,t[6]=(_*l*s-o*p*s-_*i*c+e*p*c+o*i*m-e*l*m)*E,t[7]=(o*f*s-h*l*s+h*i*c-e*f*c-o*i*d+e*l*d)*E,t[8]=S*E,t[9]=(_*u*s-h*g*s-_*n*d+e*g*d+h*n*m-e*u*m)*E,t[10]=(o*g*s-_*a*s+_*n*c-e*g*c-o*n*m+e*a*m)*E,t[11]=(h*a*s-o*u*s-h*n*c+e*u*c+o*n*d-e*a*d)*E,t[12]=w*E,t[13]=(h*g*i-_*u*i+_*n*f-e*g*f-h*n*p+e*u*p)*E,t[14]=(_*a*i-o*g*i-_*n*l+e*g*l+o*n*p-e*a*p)*E,t[15]=(o*u*i-h*a*i+h*n*l-e*u*l-o*n*f+e*a*f)*E,this}scale(t){const e=this.elements,n=t.x,i=t.y,s=t.z;return e[0]*=n,e[4]*=i,e[8]*=s,e[1]*=n,e[5]*=i,e[9]*=s,e[2]*=n,e[6]*=i,e[10]*=s,e[3]*=n,e[7]*=i,e[11]*=s,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),s=1-n,o=t.x,a=t.y,l=t.z,c=s*o,h=s*a;return this.set(c*o+n,c*a-i*l,c*l+i*a,0,c*a+i*l,h*a+n,h*l-i*o,0,c*l-i*a,h*l+i*o,s*l*l+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,s,o){return this.set(1,n,s,0,t,1,o,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,s=e._x,o=e._y,a=e._z,l=e._w,c=s+s,h=o+o,u=a+a,f=s*c,d=s*h,_=s*u,g=o*h,p=o*u,m=a*u,y=l*c,v=l*h,S=l*u,w=n.x,C=n.y,E=n.z;return i[0]=(1-(g+m))*w,i[1]=(d+S)*w,i[2]=(_-v)*w,i[3]=0,i[4]=(d-S)*C,i[5]=(1-(f+m))*C,i[6]=(p+y)*C,i[7]=0,i[8]=(_+v)*E,i[9]=(p-y)*E,i[10]=(1-(f+g))*E,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let s=lr.set(i[0],i[1],i[2]).length();const o=lr.set(i[4],i[5],i[6]).length(),a=lr.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),t.x=i[12],t.y=i[13],t.z=i[14],Mn.copy(this);const c=1/s,h=1/o,u=1/a;return Mn.elements[0]*=c,Mn.elements[1]*=c,Mn.elements[2]*=c,Mn.elements[4]*=h,Mn.elements[5]*=h,Mn.elements[6]*=h,Mn.elements[8]*=u,Mn.elements[9]*=u,Mn.elements[10]*=u,e.setFromRotationMatrix(Mn),n.x=s,n.y=o,n.z=a,this}makePerspective(t,e,n,i,s,o,a=Yn){const l=this.elements,c=2*s/(e-t),h=2*s/(n-i),u=(e+t)/(e-t),f=(n+i)/(n-i);let d,_;if(a===Yn)d=-(o+s)/(o-s),_=-2*o*s/(o-s);else if(a===to)d=-o/(o-s),_=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=u,l[12]=0,l[1]=0,l[5]=h,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=d,l[14]=_,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(t,e,n,i,s,o,a=Yn){const l=this.elements,c=1/(e-t),h=1/(n-i),u=1/(o-s),f=(e+t)*c,d=(n+i)*h;let _,g;if(a===Yn)_=(o+s)*u,g=-2*u;else if(a===to)_=s*u,g=-1*u;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-d,l[2]=0,l[6]=0,l[10]=g,l[14]=-_,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let i=0;i<16;i++)if(e[i]!==n[i])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const lr=new D,Mn=new $t,z0=new D(0,0,0),k0=new D(1,1,1),ii=new D,sa=new D,en=new D,gu=new $t,vu=new Ei;class uo{constructor(t=0,e=0,n=0,i=uo.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,s=i[0],o=i[4],a=i[8],l=i[1],c=i[5],h=i[9],u=i[2],f=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(be(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,d),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-be(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-u,s),this._z=0);break;case"ZXY":this._x=Math.asin(be(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-u,d),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-be(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(f,d),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(be(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,c),this._y=Math.atan2(-u,s)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-be(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,n===!0&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return gu.makeRotationFromQuaternion(t),this.setFromRotationMatrix(gu,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return vu.setFromEuler(this),this.setFromQuaternion(vu,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}uo.DEFAULT_ORDER="XYZ";class Lc{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let e=0;e1){for(let n=0;n0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(t),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(t)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(t.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let c=0,h=l.length;c0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(n.geometries=a),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),h.length>0&&(n.images=h),u.length>0&&(n.shapes=u),f.length>0&&(n.skeletons=f),d.length>0&&(n.animations=d),_.length>0&&(n.nodes=_)}return n.object=i,n;function o(a){const l=[];for(const c in a){const h=a[c];delete h.metadata,l.push(h)}return l}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(let n=0;n0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(t,e,n,i,s){Sn.subVectors(i,e),kn.subVectors(n,e),el.subVectors(t,e);const o=Sn.dot(Sn),a=Sn.dot(kn),l=Sn.dot(el),c=kn.dot(kn),h=kn.dot(el),u=o*c-a*a;if(u===0)return s.set(0,0,0),null;const f=1/u,d=(c*l-a*h)*f,_=(o*h-a*l)*f;return s.set(1-d-_,_,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,Vn)===null?!1:Vn.x>=0&&Vn.y>=0&&Vn.x+Vn.y<=1}static getInterpolation(t,e,n,i,s,o,a,l){return this.getBarycoord(t,e,n,i,Vn)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Vn.x),l.addScaledVector(o,Vn.y),l.addScaledVector(a,Vn.z),l)}static isFrontFacing(t,e,n,i){return Sn.subVectors(n,e),kn.subVectors(t,e),Sn.cross(kn).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return Sn.subVectors(this.c,this.b),kn.subVectors(this.a,this.b),Sn.cross(kn).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return An.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return An.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,n,i,s){return An.getInterpolation(t,this.a,this.b,this.c,e,n,i,s)}containsPoint(t){return An.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return An.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,s=this.c;let o,a;hr.subVectors(i,n),ur.subVectors(s,n),nl.subVectors(t,n);const l=hr.dot(nl),c=ur.dot(nl);if(l<=0&&c<=0)return e.copy(n);il.subVectors(t,i);const h=hr.dot(il),u=ur.dot(il);if(h>=0&&u<=h)return e.copy(i);const f=l*u-h*c;if(f<=0&&l>=0&&h<=0)return o=l/(l-h),e.copy(n).addScaledVector(hr,o);rl.subVectors(t,s);const d=hr.dot(rl),_=ur.dot(rl);if(_>=0&&d<=_)return e.copy(s);const g=d*c-l*_;if(g<=0&&c>=0&&_<=0)return a=c/(c-_),e.copy(n).addScaledVector(ur,a);const p=h*_-d*u;if(p<=0&&u-h>=0&&d-_>=0)return bu.subVectors(s,i),a=(u-h)/(u-h+(d-_)),e.copy(i).addScaledVector(bu,a);const m=1/(p+g+f);return o=g*m,a=f*m,e.copy(n).addScaledVector(hr,o).addScaledVector(ur,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const tp={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ri={h:0,s:0,l:0},oa={h:0,s:0,l:0};function sl(r,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?r+(t-r)*6*e:e<1/2?t:e<2/3?r+(t-r)*6*(2/3-e):r}class Ut{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,n)}set(t,e,n){if(e===void 0&&n===void 0){const i=t;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(t,e,n);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=Le){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,ee.toWorkingColorSpace(this,e),this}setRGB(t,e,n,i=ee.workingColorSpace){return this.r=t,this.g=e,this.b=n,ee.toWorkingColorSpace(this,i),this}setHSL(t,e,n,i=ee.workingColorSpace){if(t=Pc(t,1),e=be(e,0,1),n=be(n,0,1),e===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+e):n+e-n*e,o=2*n-s;this.r=sl(o,s,t+1/3),this.g=sl(o,s,t),this.b=sl(o,s,t-1/3)}return ee.toWorkingColorSpace(this,i),this}setStyle(t,e=Le){function n(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(t)){let s;const o=i[1],a=i[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,e);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,e);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(t)){const s=i[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,e);if(o===6)return this.setHex(parseInt(s,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Le){const n=tp[t.toLowerCase()];return n!==void 0?this.setHex(n,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Ir(t.r),this.g=Ir(t.g),this.b=Ir(t.b),this}copyLinearToSRGB(t){return this.r=Yo(t.r),this.g=Yo(t.g),this.b=Yo(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=Le){return ee.fromWorkingColorSpace(Be.copy(this),t),Math.round(be(Be.r*255,0,255))*65536+Math.round(be(Be.g*255,0,255))*256+Math.round(be(Be.b*255,0,255))}getHexString(t=Le){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=ee.workingColorSpace){ee.fromWorkingColorSpace(Be.copy(this),e);const n=Be.r,i=Be.g,s=Be.b,o=Math.max(n,i,s),a=Math.min(n,i,s);let l,c;const h=(a+o)/2;if(a===o)l=0,c=0;else{const u=o-a;switch(c=h<=.5?u/(o+a):u/(2-o-a),o){case n:l=(i-s)/u+(i0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(t!==void 0)for(const e in t){const n=t[e];if(n===void 0){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];if(i===void 0){console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n}}toJSON(t){const e=t===void 0||typeof t=="string";e&&(t={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Dr&&(n.blending=this.blending),this.side!==bi&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==Hl&&(n.blendSrc=this.blendSrc),this.blendDst!==Gl&&(n.blendDst=this.blendDst),this.blendEquation!==Bi&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==Ya&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==hu&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ir&&(n.stencilFail=this.stencilFail),this.stencilZFail!==ir&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==ir&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function i(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(e){const s=i(t.textures),o=i(t.images);s.length>0&&(n.textures=s),o.length>0&&(n.images=o)}return n}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(e!==null){const i=e.length;n=new Array(i);for(let s=0;s!==i;++s)n[s]=e[s].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){t===!0&&this.version++}}class Dc extends Qn{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ut(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ac,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Me=new D,la=new it;class xn{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=t!==void 0?t.length/e:0,this.normalized=n,this.usage=Yl,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ln,this.version=0}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return ji("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,s=this.itemSize;i0&&(t.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(t[c]=l[c]);return t}t.data={attributes:{}};const e=this.index;e!==null&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const l in n){const c=n[l];t.data.attributes[l]=c.toJSON(t.data)}const i={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],h=[];for(let u=0,f=c.length;u0&&(i[l]=h,s=!0)}s&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(t.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;n!==null&&this.setIndex(n.clone(e));const i=t.attributes;for(const c in i){const h=i[c];this.setAttribute(c,h.clone(e))}const s=t.morphAttributes;for(const c in s){const h=[],u=s[c];for(let f=0,d=u.length;f0){const i=e[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;sAo(t.far-t.near,2)))&&(Eu.copy(s).invert(),Ni.copy(t.ray).applyMatrix4(Eu),!(n.boundingBox!==null&&Ni.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(t,e,Ni)))}_computeIntersections(t,e,n){let i;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,h=s.attributes.uv1,u=s.attributes.normal,f=s.groups,d=s.drawRange;if(a!==null)if(Array.isArray(o))for(let _=0,g=f.length;_e.far?null:{distance:c,point:ma.clone(),object:r}}function _a(r,t,e,n,i,s,o,a,l,c){r.getVertexPosition(a,dr),r.getVertexPosition(l,pr),r.getVertexPosition(c,mr);const h=$0(r,t,e,n,dr,pr,mr,pa);if(h){i&&(ua.fromBufferAttribute(i,a),fa.fromBufferAttribute(i,l),da.fromBufferAttribute(i,c),h.uv=An.getInterpolation(pa,dr,pr,mr,ua,fa,da,new it)),s&&(ua.fromBufferAttribute(s,a),fa.fromBufferAttribute(s,l),da.fromBufferAttribute(s,c),h.uv1=An.getInterpolation(pa,dr,pr,mr,ua,fa,da,new it),h.uv2=h.uv1),o&&(Au.fromBufferAttribute(o,a),wu.fromBufferAttribute(o,l),Cu.fromBufferAttribute(o,c),h.normal=An.getInterpolation(pa,dr,pr,mr,Au,wu,Cu,new D),h.normal.dot(n.direction)>0&&h.normal.multiplyScalar(-1));const u={a,b:l,c,normal:new D,materialIndex:0};An.getNormal(dr,pr,mr,u.normal),h.face=u}return h}class zs extends Ue{constructor(t=1,e=1,n=1,i=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:s,depthSegments:o};const a=this;i=Math.floor(i),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],h=[],u=[];let f=0,d=0;_("z","y","x",-1,-1,n,e,t,o,s,0),_("z","y","x",1,-1,n,e,-t,o,s,1),_("x","z","y",1,1,t,n,e,i,o,2),_("x","z","y",1,-1,t,n,-e,i,o,3),_("x","y","z",1,-1,t,e,n,i,s,4),_("x","y","z",-1,-1,t,e,-n,i,s,5),this.setIndex(l),this.setAttribute("position",new ge(c,3)),this.setAttribute("normal",new ge(h,3)),this.setAttribute("uv",new ge(u,2));function _(g,p,m,y,v,S,w,C,E,N,U){const x=S/E,b=w/N,k=S/2,W=w/2,I=C/2,F=E+1,O=N+1;let Y=0,q=0;const $=new D;for(let Z=0;Z0?1:-1,h.push($.x,$.y,$.z),u.push(ut/E),u.push(1-Z/N),Y+=1}}for(let Z=0;Z>8&255]+Fe[r>>16&255]+Fe[r>>24&255]+"-"+Fe[t&255]+Fe[t>>8&255]+"-"+Fe[t>>16&15|64]+Fe[t>>24&255]+"-"+Fe[e&63|128]+Fe[e>>8&255]+"-"+Fe[e>>16&255]+Fe[e>>24&255]+Fe[n&255]+Fe[n>>8&255]+Fe[n>>16&255]+Fe[n>>24&255]).toLowerCase()}function be(r,t,e){return Math.max(t,Math.min(e,r))}function Pc(r,t){return(r%t+t)%t}function _0(r,t,e,n,i){return n+(r-t)*(i-n)/(e-t)}function g0(r,t,e){return r!==t?(e-r)/(t-r):0}function xs(r,t,e){return(1-e)*r+e*t}function v0(r,t,e,n){return xs(r,t,1-Math.exp(-e*n))}function x0(r,t=1){return t-Math.abs(Pc(r,t*2)-t)}function y0(r,t,e){return r<=t?0:r>=e?1:(r=(r-t)/(e-t),r*r*(3-2*r))}function M0(r,t,e){return r<=t?0:r>=e?1:(r=(r-t)/(e-t),r*r*r*(r*(r*6-15)+10))}function S0(r,t){return r+Math.floor(Math.random()*(t-r+1))}function b0(r,t){return r+Math.random()*(t-r)}function E0(r){return r*(.5-Math.random())}function T0(r){r!==void 0&&(fu=r);let t=fu+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function A0(r){return r*vs}function w0(r){return r*Hr}function jl(r){return(r&r-1)===0&&r!==0}function R0(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function eo(r){return Math.pow(2,Math.floor(Math.log(r)/Math.LN2))}function C0(r,t,e,n,i){const s=Math.cos,o=Math.sin,a=s(e/2),l=o(e/2),c=s((t+n)/2),h=o((t+n)/2),u=s((t-n)/2),f=o((t-n)/2),d=s((n-t)/2),_=o((n-t)/2);switch(i){case"XYX":r.set(a*h,l*u,l*f,a*c);break;case"YZY":r.set(l*f,a*h,l*u,a*c);break;case"ZXZ":r.set(l*u,l*f,a*h,a*c);break;case"XZX":r.set(a*h,l*_,l*d,a*c);break;case"YXY":r.set(l*d,a*h,l*_,a*c);break;case"ZYZ":r.set(l*_,l*d,a*h,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Tn(r,t){switch(t.constructor){case Float32Array:return r;case Uint32Array:return r/4294967295;case Uint16Array:return r/65535;case Uint8Array:return r/255;case Int32Array:return Math.max(r/2147483647,-1);case Int16Array:return Math.max(r/32767,-1);case Int8Array:return Math.max(r/127,-1);default:throw new Error("Invalid component type.")}}function Qt(r,t){switch(t.constructor){case Float32Array:return r;case Uint32Array:return Math.round(r*4294967295);case Uint16Array:return Math.round(r*65535);case Uint8Array:return Math.round(r*255);case Int32Array:return Math.round(r*2147483647);case Int16Array:return Math.round(r*32767);case Int8Array:return Math.round(r*127);default:throw new Error("Invalid component type.")}}const P0={DEG2RAD:vs,RAD2DEG:Hr,generateUUID:vn,clamp:be,euclideanModulo:Pc,mapLinear:_0,inverseLerp:g0,lerp:xs,damp:v0,pingpong:x0,smoothstep:y0,smootherstep:M0,randInt:S0,randFloat:b0,randFloatSpread:E0,seededRandom:T0,degToRad:A0,radToDeg:w0,isPowerOfTwo:jl,ceilPowerOfTwo:R0,floorPowerOfTwo:eo,setQuaternionFromProperEuler:C0,normalize:Qt,denormalize:Tn};class it{constructor(t=0,e=0){it.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(be(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),s=this.x-t.x,o=this.y-t.y;return this.x=s*n-o*i+t.x,this.y=s*i+o*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class qt{constructor(t,e,n,i,s,o,a,l,c){qt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,e,n,i,s,o,a,l,c)}set(t,e,n,i,s,o,a,l,c){const h=this.elements;return h[0]=t,h[1]=i,h[2]=a,h[3]=e,h[4]=s,h[5]=l,h[6]=n,h[7]=o,h[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,s=this.elements,o=n[0],a=n[3],l=n[6],c=n[1],h=n[4],u=n[7],f=n[2],d=n[5],_=n[8],g=i[0],p=i[3],m=i[6],y=i[1],v=i[4],S=i[7],w=i[2],R=i[5],b=i[8];return s[0]=o*g+a*y+l*w,s[3]=o*p+a*v+l*R,s[6]=o*m+a*S+l*b,s[1]=c*g+h*y+u*w,s[4]=c*p+h*v+u*R,s[7]=c*m+h*S+u*b,s[2]=f*g+d*y+_*w,s[5]=f*p+d*v+_*R,s[8]=f*m+d*S+_*b,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=t[6],c=t[7],h=t[8];return e*o*h-e*a*c-n*s*h+n*a*l+i*s*c-i*o*l}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=h*o-a*c,f=a*l-h*s,d=c*s-o*l,_=e*u+n*f+i*d;if(_===0)return this.set(0,0,0,0,0,0,0,0,0);const g=1/_;return t[0]=u*g,t[1]=(i*c-h*n)*g,t[2]=(a*n-i*o)*g,t[3]=f*g,t[4]=(h*e-i*l)*g,t[5]=(i*s-a*e)*g,t[6]=d*g,t[7]=(n*l-c*e)*g,t[8]=(o*e-n*s)*g,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(n*l,n*c,-n*(l*o+c*a)+o+t,-i*c,i*l,-i*(-c*o+l*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(qo.makeScale(t,e)),this}rotate(t){return this.premultiply(qo.makeRotation(-t)),this}translate(t,e){return this.premultiply(qo.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let i=0;i<9;i++)if(e[i]!==n[i])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return new this.constructor().fromArray(this.elements)}}const qo=new qt;function $d(r){for(let t=r.length-1;t>=0;--t)if(r[t]>=65535)return!0;return!1}function Ds(r){return document.createElementNS("http://www.w3.org/1999/xhtml",r)}function L0(){const r=Ds("canvas");return r.style.display="block",r}const du={};function ji(r){r in du||(du[r]=!0,console.warn(r))}const pu=new qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),mu=new qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Qs={[Kn]:{transfer:Ka,primaries:Ja,toReference:r=>r,fromReference:r=>r},[Le]:{transfer:oe,primaries:Ja,toReference:r=>r.convertSRGBToLinear(),fromReference:r=>r.convertLinearToSRGB()},[ho]:{transfer:Ka,primaries:Qa,toReference:r=>r.applyMatrix3(mu),fromReference:r=>r.applyMatrix3(pu)},[Cc]:{transfer:oe,primaries:Qa,toReference:r=>r.convertSRGBToLinear().applyMatrix3(mu),fromReference:r=>r.applyMatrix3(pu).convertLinearToSRGB()}},D0=new Set([Kn,ho]),ee={enabled:!0,_workingColorSpace:Kn,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(r){if(!D0.has(r))throw new Error(`Unsupported working color space, "${r}".`);this._workingColorSpace=r},convert:function(r,t,e){if(this.enabled===!1||t===e||!t||!e)return r;const n=Qs[t].toReference,i=Qs[e].fromReference;return i(n(r))},fromWorkingColorSpace:function(r,t){return this.convert(r,this._workingColorSpace,t)},toWorkingColorSpace:function(r,t){return this.convert(r,t,this._workingColorSpace)},getPrimaries:function(r){return Qs[r].primaries},getTransfer:function(r){return r===mn?Ka:Qs[r].transfer}};function Ir(r){return r<.04045?r*.0773993808:Math.pow(r*.9478672986+.0521327014,2.4)}function Yo(r){return r<.0031308?r*12.92:1.055*Math.pow(r,.41666)-.055}let rr;class jd{static getDataURL(t){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement=="undefined")return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{rr===void 0&&(rr=Ds("canvas")),rr.width=t.width,rr.height=t.height;const n=rr.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=rr}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if(typeof HTMLImageElement!="undefined"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&t instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&t instanceof ImageBitmap){const e=Ds("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height),s=i.data;for(let o=0;o0&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==Bd)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case $a:t.x=t.x-Math.floor(t.x);break;case En:t.x=t.x<0?0:1;break;case ql:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case $a:t.y=t.y-Math.floor(t.y);break;case En:t.y=t.y<0?0:1;break;case ql:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){t===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ji("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Le?$i:qd}set encoding(t){ji("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=t===$i?Le:mn}}Ue.DEFAULT_IMAGE=null;Ue.DEFAULT_MAPPING=Bd;Ue.DEFAULT_ANISOTROPY=1;class se{constructor(t=0,e=0,n=0,i=1){se.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w!==void 0?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,s=this.w,o=t.elements;return this.x=o[0]*e+o[4]*n+o[8]*i+o[12]*s,this.y=o[1]*e+o[5]*n+o[9]*i+o[13]*s,this.z=o[2]*e+o[6]*n+o[10]*i+o[14]*s,this.w=o[3]*e+o[7]*n+o[11]*i+o[15]*s,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,s;const l=t.elements,c=l[0],h=l[4],u=l[8],f=l[1],d=l[5],_=l[9],g=l[2],p=l[6],m=l[10];if(Math.abs(h-f)<.01&&Math.abs(u-g)<.01&&Math.abs(_-p)<.01){if(Math.abs(h+f)<.1&&Math.abs(u+g)<.1&&Math.abs(_+p)<.1&&Math.abs(c+d+m-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;const v=(c+1)/2,S=(d+1)/2,w=(m+1)/2,R=(h+f)/4,b=(u+g)/4,U=(_+p)/4;return v>S&&v>w?v<.01?(n=0,i=.707106781,s=.707106781):(n=Math.sqrt(v),i=R/n,s=b/n):S>w?S<.01?(n=.707106781,i=0,s=.707106781):(i=Math.sqrt(S),n=R/i,s=U/i):w<.01?(n=.707106781,i=.707106781,s=0):(s=Math.sqrt(w),n=b/s,i=U/s),this.set(n,i,s,e),this}let y=Math.sqrt((p-_)*(p-_)+(u-g)*(u-g)+(f-h)*(f-h));return Math.abs(y)<.001&&(y=1),this.x=(p-_)/y,this.y=(u-g)/y,this.z=(f-h)/y,this.w=Math.acos((c+d+m-1)/2),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this.w=Math.max(t,Math.min(e,this.w)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this.w=t.w+(e.w-t.w)*n,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class N0 extends Qi{constructor(t=1,e=1,n={}){super(),this.isRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new se(0,0,t,e),this.scissorTest=!1,this.viewport=new se(0,0,t,e);const i={width:t,height:e,depth:1};n.encoding!==void 0&&(ji("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===$i?Le:mn),n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:We,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},n),this.texture=new Ue(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=n.generateMipmaps,this.texture.internalFormat=n.internalFormat,this.depthBuffer=n.depthBuffer,this.stencilBuffer=n.stencilBuffer,this.depthTexture=n.depthTexture,this.samples=n.samples}setSize(t,e,n=1){(this.width!==t||this.height!==e||this.depth!==n)&&(this.width=t,this.height=e,this.depth=n,this.texture.image.width=t,this.texture.image.height=e,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return new this.constructor().copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.scissor.copy(t.scissor),this.scissorTest=t.scissorTest,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.texture.isRenderTargetTexture=!0;const e=Object.assign({},t.texture.image);return this.texture.source=new Zd(e),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,t.depthTexture!==null&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Zi extends N0{constructor(t=1,e=1,n={}){super(t,e,n),this.isWebGLRenderTarget=!0}}class Kd extends Ue{constructor(t=null,e=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=Pe,this.minFilter=Pe,this.wrapR=En,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class O0 extends Ue{constructor(t=null,e=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=Pe,this.minFilter=Pe,this.wrapR=En,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Ei{constructor(t=0,e=0,n=0,i=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=n,this._w=i}static slerpFlat(t,e,n,i,s,o,a){let l=n[i+0],c=n[i+1],h=n[i+2],u=n[i+3];const f=s[o+0],d=s[o+1],_=s[o+2],g=s[o+3];if(a===0){t[e+0]=l,t[e+1]=c,t[e+2]=h,t[e+3]=u;return}if(a===1){t[e+0]=f,t[e+1]=d,t[e+2]=_,t[e+3]=g;return}if(u!==g||l!==f||c!==d||h!==_){let p=1-a;const m=l*f+c*d+h*_+u*g,y=m>=0?1:-1,v=1-m*m;if(v>Number.EPSILON){const w=Math.sqrt(v),R=Math.atan2(w,m*y);p=Math.sin(p*R)/w,a=Math.sin(a*R)/w}const S=a*y;if(l=l*p+f*S,c=c*p+d*S,h=h*p+_*S,u=u*p+g*S,p===1-a){const w=1/Math.sqrt(l*l+c*c+h*h+u*u);l*=w,c*=w,h*=w,u*=w}}t[e]=l,t[e+1]=c,t[e+2]=h,t[e+3]=u}static multiplyQuaternionsFlat(t,e,n,i,s,o){const a=n[i],l=n[i+1],c=n[i+2],h=n[i+3],u=s[o],f=s[o+1],d=s[o+2],_=s[o+3];return t[e]=a*_+h*u+l*d-c*f,t[e+1]=l*_+h*f+c*u-a*d,t[e+2]=c*_+h*d+a*f-l*u,t[e+3]=h*_-a*u-l*f-c*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const n=t._x,i=t._y,s=t._z,o=t._order,a=Math.cos,l=Math.sin,c=a(n/2),h=a(i/2),u=a(s/2),f=l(n/2),d=l(i/2),_=l(s/2);switch(o){case"XYZ":this._x=f*h*u+c*d*_,this._y=c*d*u-f*h*_,this._z=c*h*_+f*d*u,this._w=c*h*u-f*d*_;break;case"YXZ":this._x=f*h*u+c*d*_,this._y=c*d*u-f*h*_,this._z=c*h*_-f*d*u,this._w=c*h*u+f*d*_;break;case"ZXY":this._x=f*h*u-c*d*_,this._y=c*d*u+f*h*_,this._z=c*h*_+f*d*u,this._w=c*h*u-f*d*_;break;case"ZYX":this._x=f*h*u-c*d*_,this._y=c*d*u+f*h*_,this._z=c*h*_-f*d*u,this._w=c*h*u+f*d*_;break;case"YZX":this._x=f*h*u+c*d*_,this._y=c*d*u+f*h*_,this._z=c*h*_-f*d*u,this._w=c*h*u-f*d*_;break;case"XZY":this._x=f*h*u-c*d*_,this._y=c*d*u-f*h*_,this._z=c*h*_+f*d*u,this._w=c*h*u+f*d*_;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return e===!0&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],s=e[8],o=e[1],a=e[5],l=e[9],c=e[2],h=e[6],u=e[10],f=n+a+u;if(f>0){const d=.5/Math.sqrt(f+1);this._w=.25/d,this._x=(h-l)*d,this._y=(s-c)*d,this._z=(o-i)*d}else if(n>a&&n>u){const d=2*Math.sqrt(1+n-a-u);this._w=(h-l)/d,this._x=.25*d,this._y=(i+o)/d,this._z=(s+c)/d}else if(a>u){const d=2*Math.sqrt(1+a-n-u);this._w=(s-c)/d,this._x=(i+o)/d,this._y=.25*d,this._z=(l+h)/d}else{const d=2*Math.sqrt(1+u-n-a);this._w=(o-i)/d,this._x=(s+c)/d,this._y=(l+h)/d,this._z=.25*d}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(be(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(n===0)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return t===0?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,s=t._z,o=t._w,a=e._x,l=e._y,c=e._z,h=e._w;return this._x=n*h+o*a+i*c-s*l,this._y=i*h+o*l+s*a-n*c,this._z=s*h+o*c+n*l-i*a,this._w=o*h-n*a-i*l-s*c,this._onChangeCallback(),this}slerp(t,e){if(e===0)return this;if(e===1)return this.copy(t);const n=this._x,i=this._y,s=this._z,o=this._w;let a=o*t._w+n*t._x+i*t._y+s*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=n,this._y=i,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const d=1-e;return this._w=d*o+e*this._w,this._x=d*n+e*this._x,this._y=d*i+e*this._y,this._z=d*s+e*this._z,this.normalize(),this}const c=Math.sqrt(l),h=Math.atan2(c,a),u=Math.sin((1-e)*h)/c,f=Math.sin(e*h)/c;return this._w=o*u+this._w*f,this._x=n*u+this._x*f,this._y=i*u+this._y*f,this._z=s*u+this._z*f,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),i=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(e*Math.cos(i),n*Math.sin(s),n*Math.cos(s),e*Math.sin(i))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class D{constructor(t=0,e=0,n=0){D.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return n===void 0&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(_u.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(_u.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,s=t.elements;return this.x=s[0]*e+s[3]*n+s[6]*i,this.y=s[1]*e+s[4]*n+s[7]*i,this.z=s[2]*e+s[5]*n+s[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,s=t.elements,o=1/(s[3]*e+s[7]*n+s[11]*i+s[15]);return this.x=(s[0]*e+s[4]*n+s[8]*i+s[12])*o,this.y=(s[1]*e+s[5]*n+s[9]*i+s[13])*o,this.z=(s[2]*e+s[6]*n+s[10]*i+s[14])*o,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,s=t.x,o=t.y,a=t.z,l=t.w,c=2*(o*i-a*n),h=2*(a*e-s*i),u=2*(s*n-o*e);return this.x=e+l*c+o*u-a*h,this.y=n+l*h+a*c-s*u,this.z=i+l*u+s*h-o*c,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i,this.y=s[1]*e+s[5]*n+s[9]*i,this.z=s[2]*e+s[6]*n+s[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,s=t.z,o=e.x,a=e.y,l=e.z;return this.x=i*l-s*a,this.y=s*o-n*l,this.z=n*a-i*o,this}projectOnVector(t){const e=t.lengthSq();if(e===0)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return jo.copy(this).projectOnVector(t),this.sub(jo)}reflect(t){return this.sub(jo.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(be(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=(Math.random()-.5)*2,e=Math.random()*Math.PI*2,n=Math.sqrt(1-Ao(t,2));return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const jo=new D,_u=new Ei;class wi{constructor(t=new D(1/0,1/0,1/0),e=new D(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,yn),yn.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(ts),ea.subVectors(this.max,ts),sr.subVectors(t.a,ts),ar.subVectors(t.b,ts),or.subVectors(t.c,ts),ti.subVectors(ar,sr),ei.subVectors(or,ar),Di.subVectors(sr,or);let e=[0,-ti.z,ti.y,0,-ei.z,ei.y,0,-Di.z,Di.y,ti.z,0,-ti.x,ei.z,0,-ei.x,Di.z,0,-Di.x,-ti.y,ti.x,0,-ei.y,ei.x,0,-Di.y,Di.x,0];return!Zo(e,sr,ar,or,ea)||(e=[1,0,0,0,1,0,0,0,1],!Zo(e,sr,ar,or,ea))?!1:(na.crossVectors(ti,ei),e=[na.x,na.y,na.z],Zo(e,sr,ar,or,ea))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,yn).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=this.getSize(yn).length()*.5),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()?this:(Fn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),Fn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),Fn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),Fn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),Fn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),Fn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),Fn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),Fn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(Fn),this)}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Fn=[new D,new D,new D,new D,new D,new D,new D,new D],yn=new D,ta=new wi,sr=new D,ar=new D,or=new D,ti=new D,ei=new D,Di=new D,ts=new D,ea=new D,na=new D,Ii=new D;function Zo(r,t,e,n,i){for(let s=0,o=r.length-3;s<=o;s+=3){Ii.fromArray(r,s);const a=i.x*Math.abs(Ii.x)+i.y*Math.abs(Ii.y)+i.z*Math.abs(Ii.z),l=t.dot(Ii),c=e.dot(Ii),h=n.dot(Ii);if(Math.max(-Math.max(l,c,h),Math.min(l,c,h))>a)return!1}return!0}const F0=new wi,es=new D,Ko=new D;class Jn{constructor(t=new D,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;e!==void 0?n.copy(e):F0.setFromPoints(t).getCenter(n);let i=0;for(let s=0,o=t.length;sthis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;es.subVectors(t,this.center);const e=es.lengthSq();if(e>this.radius*this.radius){const n=Math.sqrt(e),i=(n-this.radius)*.5;this.center.addScaledVector(es,i/n),this.radius+=i}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(this.center.equals(t.center)===!0?this.radius=Math.max(this.radius,t.radius):(Ko.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(es.copy(t.center).add(Ko)),this.expandByPoint(es.copy(t.center).sub(Ko))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Bn=new D,Jo=new D,ia=new D,ni=new D,Qo=new D,ra=new D,tl=new D;class Wr{constructor(t=new D,e=new D(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Bn)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Bn.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Bn.copy(this.origin).addScaledVector(this.direction,e),Bn.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){Jo.copy(t).add(e).multiplyScalar(.5),ia.copy(e).sub(t).normalize(),ni.copy(this.origin).sub(Jo);const s=t.distanceTo(e)*.5,o=-this.direction.dot(ia),a=ni.dot(this.direction),l=-ni.dot(ia),c=ni.lengthSq(),h=Math.abs(1-o*o);let u,f,d,_;if(h>0)if(u=o*l-a,f=o*a-l,_=s*h,u>=0)if(f>=-_)if(f<=_){const g=1/h;u*=g,f*=g,d=u*(u+o*f+2*a)+f*(o*u+f+2*l)+c}else f=s,u=Math.max(0,-(o*f+a)),d=-u*u+f*(f+2*l)+c;else f=-s,u=Math.max(0,-(o*f+a)),d=-u*u+f*(f+2*l)+c;else f<=-_?(u=Math.max(0,-(-o*s+a)),f=u>0?-s:Math.min(Math.max(-s,-l),s),d=-u*u+f*(f+2*l)+c):f<=_?(u=0,f=Math.min(Math.max(-s,-l),s),d=f*(f+2*l)+c):(u=Math.max(0,-(o*s+a)),f=u>0?s:Math.min(Math.max(-s,-l),s),d=-u*u+f*(f+2*l)+c);else f=o>0?-s:s,u=Math.max(0,-(o*f+a)),d=-u*u+f*(f+2*l)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),i&&i.copy(Jo).addScaledVector(ia,f),d}intersectSphere(t,e){Bn.subVectors(t.center,this.origin);const n=Bn.dot(this.direction),i=Bn.dot(Bn)-n*n,s=t.radius*t.radius;if(i>s)return null;const o=Math.sqrt(s-i),a=n-o,l=n+o;return l<0?null:a<0?this.at(l,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(e===0)return t.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return n===null?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return e===0||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,s,o,a,l;const c=1/this.direction.x,h=1/this.direction.y,u=1/this.direction.z,f=this.origin;return c>=0?(n=(t.min.x-f.x)*c,i=(t.max.x-f.x)*c):(n=(t.max.x-f.x)*c,i=(t.min.x-f.x)*c),h>=0?(s=(t.min.y-f.y)*h,o=(t.max.y-f.y)*h):(s=(t.max.y-f.y)*h,o=(t.min.y-f.y)*h),n>o||s>i||((s>n||isNaN(n))&&(n=s),(o=0?(a=(t.min.z-f.z)*u,l=(t.max.z-f.z)*u):(a=(t.max.z-f.z)*u,l=(t.min.z-f.z)*u),n>l||a>i)||((a>n||n!==n)&&(n=a),(l=0?n:i,e)}intersectsBox(t){return this.intersectBox(t,Bn)!==null}intersectTriangle(t,e,n,i,s){Qo.subVectors(e,t),ra.subVectors(n,t),tl.crossVectors(Qo,ra);let o=this.direction.dot(tl),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ni.subVectors(this.origin,t);const l=a*this.direction.dot(ra.crossVectors(ni,ra));if(l<0)return null;const c=a*this.direction.dot(Qo.cross(ni));if(c<0||l+c>o)return null;const h=-a*ni.dot(tl);return h<0?null:this.at(h/o,s)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class $t{constructor(t,e,n,i,s,o,a,l,c,h,u,f,d,_,g,p){$t.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,e,n,i,s,o,a,l,c,h,u,f,d,_,g,p)}set(t,e,n,i,s,o,a,l,c,h,u,f,d,_,g,p){const m=this.elements;return m[0]=t,m[4]=e,m[8]=n,m[12]=i,m[1]=s,m[5]=o,m[9]=a,m[13]=l,m[2]=c,m[6]=h,m[10]=u,m[14]=f,m[3]=d,m[7]=_,m[11]=g,m[15]=p,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new $t().fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/lr.setFromMatrixColumn(t,0).length(),s=1/lr.setFromMatrixColumn(t,1).length(),o=1/lr.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*s,e[5]=n[5]*s,e[6]=n[6]*s,e[7]=0,e[8]=n[8]*o,e[9]=n[9]*o,e[10]=n[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,i=t.y,s=t.z,o=Math.cos(n),a=Math.sin(n),l=Math.cos(i),c=Math.sin(i),h=Math.cos(s),u=Math.sin(s);if(t.order==="XYZ"){const f=o*h,d=o*u,_=a*h,g=a*u;e[0]=l*h,e[4]=-l*u,e[8]=c,e[1]=d+_*c,e[5]=f-g*c,e[9]=-a*l,e[2]=g-f*c,e[6]=_+d*c,e[10]=o*l}else if(t.order==="YXZ"){const f=l*h,d=l*u,_=c*h,g=c*u;e[0]=f+g*a,e[4]=_*a-d,e[8]=o*c,e[1]=o*u,e[5]=o*h,e[9]=-a,e[2]=d*a-_,e[6]=g+f*a,e[10]=o*l}else if(t.order==="ZXY"){const f=l*h,d=l*u,_=c*h,g=c*u;e[0]=f-g*a,e[4]=-o*u,e[8]=_+d*a,e[1]=d+_*a,e[5]=o*h,e[9]=g-f*a,e[2]=-o*c,e[6]=a,e[10]=o*l}else if(t.order==="ZYX"){const f=o*h,d=o*u,_=a*h,g=a*u;e[0]=l*h,e[4]=_*c-d,e[8]=f*c+g,e[1]=l*u,e[5]=g*c+f,e[9]=d*c-_,e[2]=-c,e[6]=a*l,e[10]=o*l}else if(t.order==="YZX"){const f=o*l,d=o*c,_=a*l,g=a*c;e[0]=l*h,e[4]=g-f*u,e[8]=_*u+d,e[1]=u,e[5]=o*h,e[9]=-a*h,e[2]=-c*h,e[6]=d*u+_,e[10]=f-g*u}else if(t.order==="XZY"){const f=o*l,d=o*c,_=a*l,g=a*c;e[0]=l*h,e[4]=-u,e[8]=c*h,e[1]=f*u+g,e[5]=o*h,e[9]=d*u-_,e[2]=_*u-d,e[6]=a*h,e[10]=g*u+f}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(B0,t,z0)}lookAt(t,e,n){const i=this.elements;return en.subVectors(t,e),en.lengthSq()===0&&(en.z=1),en.normalize(),ii.crossVectors(n,en),ii.lengthSq()===0&&(Math.abs(n.z)===1?en.x+=1e-4:en.z+=1e-4,en.normalize(),ii.crossVectors(n,en)),ii.normalize(),sa.crossVectors(en,ii),i[0]=ii.x,i[4]=sa.x,i[8]=en.x,i[1]=ii.y,i[5]=sa.y,i[9]=en.y,i[2]=ii.z,i[6]=sa.z,i[10]=en.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,s=this.elements,o=n[0],a=n[4],l=n[8],c=n[12],h=n[1],u=n[5],f=n[9],d=n[13],_=n[2],g=n[6],p=n[10],m=n[14],y=n[3],v=n[7],S=n[11],w=n[15],R=i[0],b=i[4],U=i[8],F=i[12],x=i[1],E=i[5],k=i[9],W=i[13],I=i[2],O=i[6],N=i[10],Y=i[14],X=i[3],$=i[7],Z=i[11],J=i[15];return s[0]=o*R+a*x+l*I+c*X,s[4]=o*b+a*E+l*O+c*$,s[8]=o*U+a*k+l*N+c*Z,s[12]=o*F+a*W+l*Y+c*J,s[1]=h*R+u*x+f*I+d*X,s[5]=h*b+u*E+f*O+d*$,s[9]=h*U+u*k+f*N+d*Z,s[13]=h*F+u*W+f*Y+d*J,s[2]=_*R+g*x+p*I+m*X,s[6]=_*b+g*E+p*O+m*$,s[10]=_*U+g*k+p*N+m*Z,s[14]=_*F+g*W+p*Y+m*J,s[3]=y*R+v*x+S*I+w*X,s[7]=y*b+v*E+S*O+w*$,s[11]=y*U+v*k+S*N+w*Z,s[15]=y*F+v*W+S*Y+w*J,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],s=t[12],o=t[1],a=t[5],l=t[9],c=t[13],h=t[2],u=t[6],f=t[10],d=t[14],_=t[3],g=t[7],p=t[11],m=t[15];return _*(+s*l*u-i*c*u-s*a*f+n*c*f+i*a*d-n*l*d)+g*(+e*l*d-e*c*f+s*o*f-i*o*d+i*c*h-s*l*h)+p*(+e*c*u-e*a*d-s*o*u+n*o*d+s*a*h-n*c*h)+m*(-i*a*h-e*l*u+e*a*f+i*o*u-n*o*f+n*l*h)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],f=t[10],d=t[11],_=t[12],g=t[13],p=t[14],m=t[15],y=u*p*c-g*f*c+g*l*d-a*p*d-u*l*m+a*f*m,v=_*f*c-h*p*c-_*l*d+o*p*d+h*l*m-o*f*m,S=h*g*c-_*u*c+_*a*d-o*g*d-h*a*m+o*u*m,w=_*u*l-h*g*l-_*a*f+o*g*f+h*a*p-o*u*p,R=e*y+n*v+i*S+s*w;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/R;return t[0]=y*b,t[1]=(g*f*s-u*p*s-g*i*d+n*p*d+u*i*m-n*f*m)*b,t[2]=(a*p*s-g*l*s+g*i*c-n*p*c-a*i*m+n*l*m)*b,t[3]=(u*l*s-a*f*s-u*i*c+n*f*c+a*i*d-n*l*d)*b,t[4]=v*b,t[5]=(h*p*s-_*f*s+_*i*d-e*p*d-h*i*m+e*f*m)*b,t[6]=(_*l*s-o*p*s-_*i*c+e*p*c+o*i*m-e*l*m)*b,t[7]=(o*f*s-h*l*s+h*i*c-e*f*c-o*i*d+e*l*d)*b,t[8]=S*b,t[9]=(_*u*s-h*g*s-_*n*d+e*g*d+h*n*m-e*u*m)*b,t[10]=(o*g*s-_*a*s+_*n*c-e*g*c-o*n*m+e*a*m)*b,t[11]=(h*a*s-o*u*s-h*n*c+e*u*c+o*n*d-e*a*d)*b,t[12]=w*b,t[13]=(h*g*i-_*u*i+_*n*f-e*g*f-h*n*p+e*u*p)*b,t[14]=(_*a*i-o*g*i-_*n*l+e*g*l+o*n*p-e*a*p)*b,t[15]=(o*u*i-h*a*i+h*n*l-e*u*l-o*n*f+e*a*f)*b,this}scale(t){const e=this.elements,n=t.x,i=t.y,s=t.z;return e[0]*=n,e[4]*=i,e[8]*=s,e[1]*=n,e[5]*=i,e[9]*=s,e[2]*=n,e[6]*=i,e[10]*=s,e[3]*=n,e[7]*=i,e[11]*=s,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),s=1-n,o=t.x,a=t.y,l=t.z,c=s*o,h=s*a;return this.set(c*o+n,c*a-i*l,c*l+i*a,0,c*a+i*l,h*a+n,h*l-i*o,0,c*l-i*a,h*l+i*o,s*l*l+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,s,o){return this.set(1,n,s,0,t,1,o,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,s=e._x,o=e._y,a=e._z,l=e._w,c=s+s,h=o+o,u=a+a,f=s*c,d=s*h,_=s*u,g=o*h,p=o*u,m=a*u,y=l*c,v=l*h,S=l*u,w=n.x,R=n.y,b=n.z;return i[0]=(1-(g+m))*w,i[1]=(d+S)*w,i[2]=(_-v)*w,i[3]=0,i[4]=(d-S)*R,i[5]=(1-(f+m))*R,i[6]=(p+y)*R,i[7]=0,i[8]=(_+v)*b,i[9]=(p-y)*b,i[10]=(1-(f+g))*b,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let s=lr.set(i[0],i[1],i[2]).length();const o=lr.set(i[4],i[5],i[6]).length(),a=lr.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),t.x=i[12],t.y=i[13],t.z=i[14],Mn.copy(this);const c=1/s,h=1/o,u=1/a;return Mn.elements[0]*=c,Mn.elements[1]*=c,Mn.elements[2]*=c,Mn.elements[4]*=h,Mn.elements[5]*=h,Mn.elements[6]*=h,Mn.elements[8]*=u,Mn.elements[9]*=u,Mn.elements[10]*=u,e.setFromRotationMatrix(Mn),n.x=s,n.y=o,n.z=a,this}makePerspective(t,e,n,i,s,o,a=Yn){const l=this.elements,c=2*s/(e-t),h=2*s/(n-i),u=(e+t)/(e-t),f=(n+i)/(n-i);let d,_;if(a===Yn)d=-(o+s)/(o-s),_=-2*o*s/(o-s);else if(a===to)d=-o/(o-s),_=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=u,l[12]=0,l[1]=0,l[5]=h,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=d,l[14]=_,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(t,e,n,i,s,o,a=Yn){const l=this.elements,c=1/(e-t),h=1/(n-i),u=1/(o-s),f=(e+t)*c,d=(n+i)*h;let _,g;if(a===Yn)_=(o+s)*u,g=-2*u;else if(a===to)_=s*u,g=-1*u;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-d,l[2]=0,l[6]=0,l[10]=g,l[14]=-_,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let i=0;i<16;i++)if(e[i]!==n[i])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const lr=new D,Mn=new $t,B0=new D(0,0,0),z0=new D(1,1,1),ii=new D,sa=new D,en=new D,gu=new $t,vu=new Ei;class uo{constructor(t=0,e=0,n=0,i=uo.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,s=i[0],o=i[4],a=i[8],l=i[1],c=i[5],h=i[9],u=i[2],f=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(be(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,d),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-be(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-u,s),this._z=0);break;case"ZXY":this._x=Math.asin(be(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-u,d),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-be(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(f,d),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(be(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,c),this._y=Math.atan2(-u,s)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-be(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,n===!0&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return gu.makeRotationFromQuaternion(t),this.setFromRotationMatrix(gu,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return vu.setFromEuler(this),this.setFromQuaternion(vu,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}uo.DEFAULT_ORDER="XYZ";class Lc{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let e=0;e1){for(let n=0;n0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(t),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(t)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(t.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let c=0,h=l.length;c0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(n.geometries=a),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),h.length>0&&(n.images=h),u.length>0&&(n.shapes=u),f.length>0&&(n.skeletons=f),d.length>0&&(n.animations=d),_.length>0&&(n.nodes=_)}return n.object=i,n;function o(a){const l=[];for(const c in a){const h=a[c];delete h.metadata,l.push(h)}return l}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(let n=0;n0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(t,e,n,i,s){Sn.subVectors(i,e),kn.subVectors(n,e),el.subVectors(t,e);const o=Sn.dot(Sn),a=Sn.dot(kn),l=Sn.dot(el),c=kn.dot(kn),h=kn.dot(el),u=o*c-a*a;if(u===0)return s.set(0,0,0),null;const f=1/u,d=(c*l-a*h)*f,_=(o*h-a*l)*f;return s.set(1-d-_,_,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,Vn)===null?!1:Vn.x>=0&&Vn.y>=0&&Vn.x+Vn.y<=1}static getInterpolation(t,e,n,i,s,o,a,l){return this.getBarycoord(t,e,n,i,Vn)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Vn.x),l.addScaledVector(o,Vn.y),l.addScaledVector(a,Vn.z),l)}static isFrontFacing(t,e,n,i){return Sn.subVectors(n,e),kn.subVectors(t,e),Sn.cross(kn).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return Sn.subVectors(this.c,this.b),kn.subVectors(this.a,this.b),Sn.cross(kn).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return An.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return An.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,n,i,s){return An.getInterpolation(t,this.a,this.b,this.c,e,n,i,s)}containsPoint(t){return An.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return An.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,s=this.c;let o,a;hr.subVectors(i,n),ur.subVectors(s,n),nl.subVectors(t,n);const l=hr.dot(nl),c=ur.dot(nl);if(l<=0&&c<=0)return e.copy(n);il.subVectors(t,i);const h=hr.dot(il),u=ur.dot(il);if(h>=0&&u<=h)return e.copy(i);const f=l*u-h*c;if(f<=0&&l>=0&&h<=0)return o=l/(l-h),e.copy(n).addScaledVector(hr,o);rl.subVectors(t,s);const d=hr.dot(rl),_=ur.dot(rl);if(_>=0&&d<=_)return e.copy(s);const g=d*c-l*_;if(g<=0&&c>=0&&_<=0)return a=c/(c-_),e.copy(n).addScaledVector(ur,a);const p=h*_-d*u;if(p<=0&&u-h>=0&&d-_>=0)return bu.subVectors(s,i),a=(u-h)/(u-h+(d-_)),e.copy(i).addScaledVector(bu,a);const m=1/(p+g+f);return o=g*m,a=f*m,e.copy(n).addScaledVector(hr,o).addScaledVector(ur,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const Jd={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ri={h:0,s:0,l:0},oa={h:0,s:0,l:0};function sl(r,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?r+(t-r)*6*e:e<1/2?t:e<2/3?r+(t-r)*6*(2/3-e):r}class Nt{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,n)}set(t,e,n){if(e===void 0&&n===void 0){const i=t;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(t,e,n);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=Le){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,ee.toWorkingColorSpace(this,e),this}setRGB(t,e,n,i=ee.workingColorSpace){return this.r=t,this.g=e,this.b=n,ee.toWorkingColorSpace(this,i),this}setHSL(t,e,n,i=ee.workingColorSpace){if(t=Pc(t,1),e=be(e,0,1),n=be(n,0,1),e===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+e):n+e-n*e,o=2*n-s;this.r=sl(o,s,t+1/3),this.g=sl(o,s,t),this.b=sl(o,s,t-1/3)}return ee.toWorkingColorSpace(this,i),this}setStyle(t,e=Le){function n(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(t)){let s;const o=i[1],a=i[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,e);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,e);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(t)){const s=i[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,e);if(o===6)return this.setHex(parseInt(s,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Le){const n=Jd[t.toLowerCase()];return n!==void 0?this.setHex(n,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Ir(t.r),this.g=Ir(t.g),this.b=Ir(t.b),this}copyLinearToSRGB(t){return this.r=Yo(t.r),this.g=Yo(t.g),this.b=Yo(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=Le){return ee.fromWorkingColorSpace(Be.copy(this),t),Math.round(be(Be.r*255,0,255))*65536+Math.round(be(Be.g*255,0,255))*256+Math.round(be(Be.b*255,0,255))}getHexString(t=Le){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=ee.workingColorSpace){ee.fromWorkingColorSpace(Be.copy(this),e);const n=Be.r,i=Be.g,s=Be.b,o=Math.max(n,i,s),a=Math.min(n,i,s);let l,c;const h=(a+o)/2;if(a===o)l=0,c=0;else{const u=o-a;switch(c=h<=.5?u/(o+a):u/(2-o-a),o){case n:l=(i-s)/u+(i0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(t!==void 0)for(const e in t){const n=t[e];if(n===void 0){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];if(i===void 0){console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n}}toJSON(t){const e=t===void 0||typeof t=="string";e&&(t={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Dr&&(n.blending=this.blending),this.side!==bi&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==Hl&&(n.blendSrc=this.blendSrc),this.blendDst!==Gl&&(n.blendDst=this.blendDst),this.blendEquation!==Bi&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==Ya&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==hu&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ir&&(n.stencilFail=this.stencilFail),this.stencilZFail!==ir&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==ir&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function i(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(e){const s=i(t.textures),o=i(t.images);s.length>0&&(n.textures=s),o.length>0&&(n.images=o)}return n}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(e!==null){const i=e.length;n=new Array(i);for(let s=0;s!==i;++s)n[s]=e[s].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){t===!0&&this.version++}}class Dc extends Qn{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Nt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ac,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Me=new D,la=new it;class xn{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=t!==void 0?t.length/e:0,this.normalized=n,this.usage=Yl,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ln,this.version=0}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return ji("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,s=this.itemSize;i0&&(t.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(t[c]=l[c]);return t}t.data={attributes:{}};const e=this.index;e!==null&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const l in n){const c=n[l];t.data.attributes[l]=c.toJSON(t.data)}const i={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],h=[];for(let u=0,f=c.length;u0&&(i[l]=h,s=!0)}s&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(t.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;n!==null&&this.setIndex(n.clone(e));const i=t.attributes;for(const c in i){const h=i[c];this.setAttribute(c,h.clone(e))}const s=t.morphAttributes;for(const c in s){const h=[],u=s[c];for(let f=0,d=u.length;f0){const i=e[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;sAo(t.far-t.near,2)))&&(Eu.copy(s).invert(),Ui.copy(t.ray).applyMatrix4(Eu),!(n.boundingBox!==null&&Ui.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(t,e,Ui)))}_computeIntersections(t,e,n){let i;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,h=s.attributes.uv1,u=s.attributes.normal,f=s.groups,d=s.drawRange;if(a!==null)if(Array.isArray(o))for(let _=0,g=f.length;_e.far?null:{distance:c,point:ma.clone(),object:r}}function _a(r,t,e,n,i,s,o,a,l,c){r.getVertexPosition(a,dr),r.getVertexPosition(l,pr),r.getVertexPosition(c,mr);const h=Y0(r,t,e,n,dr,pr,mr,pa);if(h){i&&(ua.fromBufferAttribute(i,a),fa.fromBufferAttribute(i,l),da.fromBufferAttribute(i,c),h.uv=An.getInterpolation(pa,dr,pr,mr,ua,fa,da,new it)),s&&(ua.fromBufferAttribute(s,a),fa.fromBufferAttribute(s,l),da.fromBufferAttribute(s,c),h.uv1=An.getInterpolation(pa,dr,pr,mr,ua,fa,da,new it),h.uv2=h.uv1),o&&(Au.fromBufferAttribute(o,a),wu.fromBufferAttribute(o,l),Ru.fromBufferAttribute(o,c),h.normal=An.getInterpolation(pa,dr,pr,mr,Au,wu,Ru,new D),h.normal.dot(n.direction)>0&&h.normal.multiplyScalar(-1));const u={a,b:l,c,normal:new D,materialIndex:0};An.getNormal(dr,pr,mr,u.normal),h.face=u}return h}class zs extends Ne{constructor(t=1,e=1,n=1,i=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:s,depthSegments:o};const a=this;i=Math.floor(i),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],h=[],u=[];let f=0,d=0;_("z","y","x",-1,-1,n,e,t,o,s,0),_("z","y","x",1,-1,n,e,-t,o,s,1),_("x","z","y",1,1,t,n,e,i,o,2),_("x","z","y",1,-1,t,n,-e,i,o,3),_("x","y","z",1,-1,t,e,n,i,s,4),_("x","y","z",-1,-1,t,e,-n,i,s,5),this.setIndex(l),this.setAttribute("position",new ge(c,3)),this.setAttribute("normal",new ge(h,3)),this.setAttribute("uv",new ge(u,2));function _(g,p,m,y,v,S,w,R,b,U,F){const x=S/b,E=w/U,k=S/2,W=w/2,I=R/2,O=b+1,N=U+1;let Y=0,X=0;const $=new D;for(let Z=0;Z0?1:-1,h.push($.x,$.y,$.z),u.push(ut/b),u.push(1-Z/U),Y+=1}}for(let Z=0;Z0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class rp extends _e{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new $t,this.projectionMatrix=new $t,this.projectionMatrixInverse=new $t,this.coordinateSystem=Yn}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const si=new D,Ru=new it,Pu=new it;class qe extends rp{constructor(t=50,e=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=t.view===null?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=Gr*2*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(xs*.5*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return Gr*2*Math.atan(Math.tan(xs*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,n){si.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(si.x,si.y).multiplyScalar(-t/si.z),si.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(si.x,si.y).multiplyScalar(-t/si.z)}getViewSize(t,e){return this.getViewBounds(t,Ru,Pu),e.subVectors(Pu,Ru)}setViewOffset(t,e,n,i,s,o){this.aspect=t/e,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(xs*.5*this.fov)/this.zoom,n=2*e,i=this.aspect*n,s=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*i/l,e-=o.offsetY*n/c,i*=o.width/l,n*=o.height/c}const a=this.filmOffset;a!==0&&(s+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,e,e-n,t,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,this.view!==null&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const _r=-90,gr=1;class Q0 extends _e{constructor(t,e,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new qe(_r,gr,t,e);i.layers=this.layers,this.add(i);const s=new qe(_r,gr,t,e);s.layers=this.layers,this.add(s);const o=new qe(_r,gr,t,e);o.layers=this.layers,this.add(o);const a=new qe(_r,gr,t,e);a.layers=this.layers,this.add(a);const l=new qe(_r,gr,t,e);l.layers=this.layers,this.add(l);const c=new qe(_r,gr,t,e);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const t=this.coordinateSystem,e=this.children.concat(),[n,i,s,o,a,l]=e;for(const c of e)this.remove(c);if(t===Yn)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(t===to)n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+t);for(const c of e)this.add(c),c.updateMatrixWorld()}update(t,e){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,h]=this.children,u=t.getRenderTarget(),f=t.getActiveCubeFace(),d=t.getActiveMipmapLevel(),_=t.xr.enabled;t.xr.enabled=!1;const g=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0,i),t.render(e,s),t.setRenderTarget(n,1,i),t.render(e,o),t.setRenderTarget(n,2,i),t.render(e,a),t.setRenderTarget(n,3,i),t.render(e,l),t.setRenderTarget(n,4,i),t.render(e,c),n.texture.generateMipmaps=g,t.setRenderTarget(n,5,i),t.render(e,h),t.setRenderTarget(u,f,d),t.xr.enabled=_,n.texture.needsPMREMUpdate=!0}}class sp extends Ne{constructor(t,e,n,i,s,o,a,l,c,h){t=t!==void 0?t:[],e=e!==void 0?e:kr,super(t,e,n,i,s,o,a,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class tv extends Zi{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},i=[n,n,n,n,n,n];e.encoding!==void 0&&(ji("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),e.colorSpace=e.encoding===$i?Le:mn),this.texture=new sp(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=e.generateMipmaps!==void 0?e.generateMipmaps:!1,this.texture.minFilter=e.minFilter!==void 0?e.minFilter:Xe}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class Ti extends Qn{constructor(t){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=Z0,this.fragmentShader=K0,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,t!==void 0&&this.setValues(t)}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=Gr(t.uniforms),this.uniformsGroups=$0(t.uniformsGroups),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.fog=t.fog,this.lights=t.lights,this.clipping=t.clipping,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(const i in this.uniforms){const o=this.uniforms[i].value;o&&o.isTexture?e.uniforms[i]={type:"t",value:o.toJSON(t).uuid}:o&&o.isColor?e.uniforms[i]={type:"c",value:o.getHex()}:o&&o.isVector2?e.uniforms[i]={type:"v2",value:o.toArray()}:o&&o.isVector3?e.uniforms[i]={type:"v3",value:o.toArray()}:o&&o.isVector4?e.uniforms[i]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?e.uniforms[i]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?e.uniforms[i]={type:"m4",value:o.toArray()}:e.uniforms[i]={value:o}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class np extends _e{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new $t,this.projectionMatrix=new $t,this.projectionMatrixInverse=new $t,this.coordinateSystem=Yn}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const si=new D,Cu=new it,Pu=new it;class Xe extends np{constructor(t=50,e=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=t.view===null?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=Hr*2*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(vs*.5*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return Hr*2*Math.atan(Math.tan(vs*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,n){si.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(si.x,si.y).multiplyScalar(-t/si.z),si.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(si.x,si.y).multiplyScalar(-t/si.z)}getViewSize(t,e){return this.getViewBounds(t,Cu,Pu),e.subVectors(Pu,Cu)}setViewOffset(t,e,n,i,s,o){this.aspect=t/e,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(vs*.5*this.fov)/this.zoom,n=2*e,i=this.aspect*n,s=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*i/l,e-=o.offsetY*n/c,i*=o.width/l,n*=o.height/c}const a=this.filmOffset;a!==0&&(s+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,e,e-n,t,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,this.view!==null&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const _r=-90,gr=1;class J0 extends _e{constructor(t,e,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Xe(_r,gr,t,e);i.layers=this.layers,this.add(i);const s=new Xe(_r,gr,t,e);s.layers=this.layers,this.add(s);const o=new Xe(_r,gr,t,e);o.layers=this.layers,this.add(o);const a=new Xe(_r,gr,t,e);a.layers=this.layers,this.add(a);const l=new Xe(_r,gr,t,e);l.layers=this.layers,this.add(l);const c=new Xe(_r,gr,t,e);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const t=this.coordinateSystem,e=this.children.concat(),[n,i,s,o,a,l]=e;for(const c of e)this.remove(c);if(t===Yn)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(t===to)n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+t);for(const c of e)this.add(c),c.updateMatrixWorld()}update(t,e){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,h]=this.children,u=t.getRenderTarget(),f=t.getActiveCubeFace(),d=t.getActiveMipmapLevel(),_=t.xr.enabled;t.xr.enabled=!1;const g=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0,i),t.render(e,s),t.setRenderTarget(n,1,i),t.render(e,o),t.setRenderTarget(n,2,i),t.render(e,a),t.setRenderTarget(n,3,i),t.render(e,l),t.setRenderTarget(n,4,i),t.render(e,c),n.texture.generateMipmaps=g,t.setRenderTarget(n,5,i),t.render(e,h),t.setRenderTarget(u,f,d),t.xr.enabled=_,n.texture.needsPMREMUpdate=!0}}class ip extends Ue{constructor(t,e,n,i,s,o,a,l,c,h){t=t!==void 0?t:[],e=e!==void 0?e:zr,super(t,e,n,i,s,o,a,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class Q0 extends Zi{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},i=[n,n,n,n,n,n];e.encoding!==void 0&&(ji("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),e.colorSpace=e.encoding===$i?Le:mn),this.texture=new ip(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=e.generateMipmaps!==void 0?e.generateMipmaps:!1,this.texture.minFilter=e.minFilter!==void 0?e.minFilter:We}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -158,9 +158,9 @@ if (customElements.get(tag) == null) { gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},i=new zs(5,5,5),s=new Ti({name:"CubemapFromEquirect",uniforms:Wr(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:Je,blending:_i});s.uniforms.tEquirect.value=e;const o=new Ye(i,s),a=e.minFilter;return e.minFilter===Vi&&(e.minFilter=Xe),new Q0(1,10,this).update(t,o),e.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(t,e,n,i){const s=t.getRenderTarget();for(let o=0;o<6;o++)t.setRenderTarget(this,o),t.clear(e,n,i);t.setRenderTarget(s)}}const ll=new D,ev=new D,nv=new qt;class li{constructor(t=new D(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=ll.subVectors(n,e).cross(ev.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(ll),i=this.normal.dot(n);if(i===0)return this.distanceToPoint(t.start)===0?e.copy(t.start):null;const s=-(t.start.dot(this.normal)+this.constant)/i;return s<0||s>1?null:e.copy(t.start).addScaledVector(n,s)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||nv.getNormalMatrix(t),i=this.coplanarPoint(ll).applyMatrix4(t),s=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(s),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ui=new Jn,ga=new D;class Ic{constructor(t=new li,e=new li,n=new li,i=new li,s=new li,o=new li){this.planes=[t,e,n,i,s,o]}set(t,e,n,i,s,o){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(s),a[5].copy(o),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t,e=Yn){const n=this.planes,i=t.elements,s=i[0],o=i[1],a=i[2],l=i[3],c=i[4],h=i[5],u=i[6],f=i[7],d=i[8],_=i[9],g=i[10],p=i[11],m=i[12],y=i[13],v=i[14],S=i[15];if(n[0].setComponents(l-s,f-c,p-d,S-m).normalize(),n[1].setComponents(l+s,f+c,p+d,S+m).normalize(),n[2].setComponents(l+o,f+h,p+_,S+y).normalize(),n[3].setComponents(l-o,f-h,p-_,S-y).normalize(),n[4].setComponents(l-a,f-u,p-g,S-v).normalize(),e===Yn)n[5].setComponents(l+a,f+u,p+g,S+v).normalize();else if(e===to)n[5].setComponents(a,u,g,v).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);return this}intersectsObject(t){if(t.boundingSphere!==void 0)t.boundingSphere===null&&t.computeBoundingSphere(),Ui.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;e.boundingSphere===null&&e.computeBoundingSphere(),Ui.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Ui)}intersectsSprite(t){return Ui.center.set(0,0,0),Ui.radius=.7071067811865476,Ui.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ui)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let s=0;s<6;s++)if(e[s].distanceToPoint(n)0?t.max.x:t.min.x,ga.y=i.normal.y>0?t.max.y:t.min.y,ga.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(ga)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function ap(){let r=null,t=!1,e=null,n=null;function i(s,o){e(s,o),n=r.requestAnimationFrame(i)}return{start:function(){t!==!0&&e!==null&&(n=r.requestAnimationFrame(i),t=!0)},stop:function(){r.cancelAnimationFrame(n),t=!1},setAnimationLoop:function(s){e=s},setContext:function(s){r=s}}}function iv(r,t){const e=t.isWebGL2,n=new WeakMap;function i(c,h){const u=c.array,f=c.usage,d=u.byteLength,_=r.createBuffer();r.bindBuffer(h,_),r.bufferData(h,u,f),c.onUploadCallback();let g;if(u instanceof Float32Array)g=r.FLOAT;else if(u instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(e)g=r.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=r.UNSIGNED_SHORT;else if(u instanceof Int16Array)g=r.SHORT;else if(u instanceof Uint32Array)g=r.UNSIGNED_INT;else if(u instanceof Int32Array)g=r.INT;else if(u instanceof Int8Array)g=r.BYTE;else if(u instanceof Uint8Array)g=r.UNSIGNED_BYTE;else if(u instanceof Uint8ClampedArray)g=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+u);return{buffer:_,type:g,bytesPerElement:u.BYTES_PER_ELEMENT,version:c.version,size:d}}function s(c,h,u){const f=h.array,d=h._updateRange,_=h.updateRanges;if(r.bindBuffer(u,c),d.count===-1&&_.length===0&&r.bufferSubData(u,0,f),_.length!==0){for(let g=0,p=_.length;g1?null:e.copy(t.start).addScaledVector(n,s)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||ev.getNormalMatrix(t),i=this.coplanarPoint(ll).applyMatrix4(t),s=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(s),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ni=new Jn,ga=new D;class Ic{constructor(t=new li,e=new li,n=new li,i=new li,s=new li,o=new li){this.planes=[t,e,n,i,s,o]}set(t,e,n,i,s,o){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(s),a[5].copy(o),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t,e=Yn){const n=this.planes,i=t.elements,s=i[0],o=i[1],a=i[2],l=i[3],c=i[4],h=i[5],u=i[6],f=i[7],d=i[8],_=i[9],g=i[10],p=i[11],m=i[12],y=i[13],v=i[14],S=i[15];if(n[0].setComponents(l-s,f-c,p-d,S-m).normalize(),n[1].setComponents(l+s,f+c,p+d,S+m).normalize(),n[2].setComponents(l+o,f+h,p+_,S+y).normalize(),n[3].setComponents(l-o,f-h,p-_,S-y).normalize(),n[4].setComponents(l-a,f-u,p-g,S-v).normalize(),e===Yn)n[5].setComponents(l+a,f+u,p+g,S+v).normalize();else if(e===to)n[5].setComponents(a,u,g,v).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);return this}intersectsObject(t){if(t.boundingSphere!==void 0)t.boundingSphere===null&&t.computeBoundingSphere(),Ni.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;e.boundingSphere===null&&e.computeBoundingSphere(),Ni.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Ni)}intersectsSprite(t){return Ni.center.set(0,0,0),Ni.radius=.7071067811865476,Ni.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ni)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let s=0;s<6;s++)if(e[s].distanceToPoint(n)0?t.max.x:t.min.x,ga.y=i.normal.y>0?t.max.y:t.min.y,ga.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(ga)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function rp(){let r=null,t=!1,e=null,n=null;function i(s,o){e(s,o),n=r.requestAnimationFrame(i)}return{start:function(){t!==!0&&e!==null&&(n=r.requestAnimationFrame(i),t=!0)},stop:function(){r.cancelAnimationFrame(n),t=!1},setAnimationLoop:function(s){e=s},setContext:function(s){r=s}}}function nv(r,t){const e=t.isWebGL2,n=new WeakMap;function i(c,h){const u=c.array,f=c.usage,d=u.byteLength,_=r.createBuffer();r.bindBuffer(h,_),r.bufferData(h,u,f),c.onUploadCallback();let g;if(u instanceof Float32Array)g=r.FLOAT;else if(u instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(e)g=r.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else g=r.UNSIGNED_SHORT;else if(u instanceof Int16Array)g=r.SHORT;else if(u instanceof Uint32Array)g=r.UNSIGNED_INT;else if(u instanceof Int32Array)g=r.INT;else if(u instanceof Int8Array)g=r.BYTE;else if(u instanceof Uint8Array)g=r.UNSIGNED_BYTE;else if(u instanceof Uint8ClampedArray)g=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+u);return{buffer:_,type:g,bytesPerElement:u.BYTES_PER_ELEMENT,version:c.version,size:d}}function s(c,h,u){const f=h.array,d=h._updateRange,_=h.updateRanges;if(r.bindBuffer(u,c),d.count===-1&&_.length===0&&r.bufferSubData(u,0,f),_.length!==0){for(let g=0,p=_.length;g 0 +#endif`,vv=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -390,26 +390,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,yv=`#if NUM_CLIPPING_PLANES > 0 +#endif`,xv=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,Mv=`#if NUM_CLIPPING_PLANES > 0 +#endif`,yv=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; -#endif`,Sv=`#if NUM_CLIPPING_PLANES > 0 +#endif`,Mv=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,bv=`#if defined( USE_COLOR_ALPHA ) +#endif`,Sv=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,Ev=`#if defined( USE_COLOR_ALPHA ) +#endif`,bv=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,Tv=`#if defined( USE_COLOR_ALPHA ) +#endif`,Ev=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,Av=`#if defined( USE_COLOR_ALPHA ) +#endif`,Tv=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -419,7 +419,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,wv=`#define PI 3.141592653589793 +#endif`,Av=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -497,7 +497,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,Cv=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,wv=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -619,18 +619,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,Pv=`#ifdef USE_DISPLACEMENTMAP +#endif`,Cv=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,Lv=`#ifdef USE_DISPLACEMENTMAP +#endif`,Pv=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,Dv=`#ifdef USE_EMISSIVEMAP +#endif`,Lv=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,Iv=`#ifdef USE_EMISSIVEMAP +#endif`,Dv=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,Nv="gl_FragColor = linearToOutputTexel( gl_FragColor );",Uv=` +#endif`,Iv="gl_FragColor = linearToOutputTexel( gl_FragColor );",Uv=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -658,7 +658,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,Ov=`#ifdef USE_ENVMAP +}`,Nv=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -687,7 +687,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,Fv=`#ifdef USE_ENVMAP +#endif`,Ov=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -696,7 +696,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,Bv=`#ifdef USE_ENVMAP +#endif`,Fv=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -707,7 +707,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,zv=`#ifdef USE_ENVMAP +#endif`,Bv=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -718,7 +718,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,kv=`#ifdef USE_ENVMAP +#endif`,zv=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -735,18 +735,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,Vv=`#ifdef USE_FOG +#endif`,kv=`#ifdef USE_FOG vFogDepth = - mvPosition.z; -#endif`,Hv=`#ifdef USE_FOG +#endif`,Vv=`#ifdef USE_FOG varying float vFogDepth; -#endif`,Gv=`#ifdef USE_FOG +#endif`,Hv=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,Wv=`#ifdef USE_FOG +#endif`,Gv=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -755,7 +755,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,Xv=`#ifdef USE_GRADIENTMAP +#endif`,Wv=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -767,16 +767,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif -}`,qv=`#ifdef USE_LIGHTMAP +}`,Xv=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,Yv=`#ifdef USE_LIGHTMAP +#endif`,qv=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,$v=`LambertMaterial material; +#endif`,Yv=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,jv=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,$v=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -790,7 +790,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,Zv=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,jv=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -913,7 +913,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,Kv=`#ifdef USE_ENVMAP +#endif`,Zv=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -946,8 +946,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,Jv=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,Qv=`varying vec3 vViewPosition; +#endif`,Kv=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,Jv=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -959,11 +959,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,tx=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,Qv=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,ex=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,tx=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -980,7 +980,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,nx=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,ex=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); @@ -1063,7 +1063,7 @@ material.roughness = min( material.roughness, 1.0 ); material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,ix=`struct PhysicalMaterial { +#endif`,nx=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1363,7 +1363,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,rx=` +}`,ix=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1478,7 +1478,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,sx=`#if defined( RE_IndirectDiffuse ) +#endif`,rx=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1497,25 +1497,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,ax=`#if defined( RE_IndirectDiffuse ) +#endif`,sx=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,ox=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,ax=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,lx=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,ox=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,cx=`#ifdef USE_LOGDEPTHBUF +#endif`,lx=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,hx=`#ifdef USE_LOGDEPTHBUF +#endif`,cx=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1525,16 +1525,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,ux=`#ifdef USE_MAP +#endif`,hx=`#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); #endif diffuseColor *= sampledDiffuseColor; -#endif`,fx=`#ifdef USE_MAP +#endif`,ux=`#ifdef USE_MAP uniform sampler2D map; -#endif`,dx=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,fx=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1546,7 +1546,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,px=`#if defined( USE_POINTS_UV ) +#endif`,dx=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1558,13 +1558,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,mx=`float metalnessFactor = metalness; +#endif`,px=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,_x=`#ifdef USE_METALNESSMAP +#endif`,mx=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,gx=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,_x=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1573,7 +1573,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,vx=`#ifdef USE_MORPHNORMALS +#endif`,gx=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1585,7 +1585,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,xx=`#ifdef USE_MORPHTARGETS +#endif`,vx=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1605,7 +1605,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,yx=`#ifdef USE_MORPHTARGETS +#endif`,xx=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1623,7 +1623,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,Mx=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,yx=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1664,7 +1664,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,Sx=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,Mx=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1679,25 +1679,25 @@ vec3 nonPerturbedNormal = normal;`,Sx=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,bx=`#ifndef FLAT_SHADED +#endif`,Sx=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,Ex=`#ifndef FLAT_SHADED +#endif`,bx=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,Tx=`#ifndef FLAT_SHADED +#endif`,Ex=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,Ax=`#ifdef USE_NORMALMAP +#endif`,Tx=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1719,9 +1719,9 @@ vec3 nonPerturbedNormal = normal;`,Sx=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,wx=`#ifdef USE_CLEARCOAT +#endif`,Ax=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,Cx=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,wx=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); @@ -1734,18 +1734,18 @@ vec3 nonPerturbedNormal = normal;`,Sx=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,Px=`#ifdef USE_IRIDESCENCEMAP +#endif`,Cx=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,Lx=`#ifdef OPAQUE +#endif`,Px=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,Dx=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,Lx=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1786,9 +1786,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,Ix=`#ifdef PREMULTIPLIED_ALPHA +}`,Dx=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,Nx=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,Ix=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1798,20 +1798,20 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = modelViewMatrix * mvPosition; gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,Ox=`#ifdef DITHERING +#endif`,Nx=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,Fx=`float roughnessFactor = roughness; +#endif`,Ox=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,Bx=`#ifdef USE_ROUGHNESSMAP +#endif`,Fx=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,zx=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Bx=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1988,7 +1988,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,kx=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,zx=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -2026,7 +2026,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,Vx=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,kx=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; #endif @@ -2058,7 +2058,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,Hx=`float getShadowMask() { +#endif`,Vx=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2090,12 +2090,12 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING #endif #endif return shadow; -}`,Gx=`#ifdef USE_SKINNING +}`,Hx=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,Wx=`#ifdef USE_SKINNING +#endif`,Gx=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2110,7 +2110,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,Xx=`#ifdef USE_SKINNING +#endif`,Wx=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2118,7 +2118,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,qx=`#ifdef USE_SKINNING +#endif`,Xx=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2129,17 +2129,17 @@ gl_Position = projectionMatrix * mvPosition;`,Ux=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,Yx=`float specularStrength; +#endif`,qx=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,$x=`#ifdef USE_SPECULARMAP +#endif`,Yx=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,jx=`#if defined( TONE_MAPPING ) +#endif`,$x=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,Zx=`#ifndef saturate +#endif`,jx=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2221,7 +2221,7 @@ vec3 AgXToneMapping( vec3 color ) { color = clamp( color, 0.0, 1.0 ); return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,Zx=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2242,7 +2242,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,Jx=`#ifdef USE_TRANSMISSION +#endif`,Kx=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2348,7 +2348,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,Qx=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,Jx=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2418,7 +2418,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,ty=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,Qx=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2512,7 +2512,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,ey=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,ty=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2583,7 +2583,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,ny=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,ey=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING worldPosition = batchingMatrix * worldPosition; @@ -2592,12 +2592,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Kx=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const iy=`varying vec2 vUv; +#endif`;const ny=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,ry=`uniform sampler2D t2D; +}`,iy=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2609,14 +2609,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,sy=`varying vec3 vWorldDirection; +}`,ry=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,ay=`#ifdef ENVMAP_TYPE_CUBE +}`,sy=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2638,14 +2638,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,oy=`varying vec3 vWorldDirection; +}`,ay=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,ly=`uniform samplerCube tCube; +}`,oy=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2655,7 +2655,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,cy=`#include +}`,ly=`#include #include #include #include @@ -2681,7 +2681,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,hy=`#if DEPTH_PACKING == 3200 +}`,cy=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2711,7 +2711,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,uy=`#define DISTANCE +}`,hy=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2737,7 +2737,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,fy=`#define DISTANCE +}`,uy=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2761,13 +2761,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,dy=`varying vec3 vWorldDirection; +}`,fy=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,py=`uniform sampler2D tEquirect; +}`,dy=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2776,7 +2776,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,my=`uniform float scale; +}`,py=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2797,7 +2797,7 @@ void main() { #include #include #include -}`,_y=`uniform vec3 diffuse; +}`,my=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2825,7 +2825,7 @@ void main() { #include #include #include -}`,gy=`#include +}`,_y=`#include #include #include #include @@ -2856,7 +2856,7 @@ void main() { #include #include #include -}`,vy=`uniform vec3 diffuse; +}`,gy=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2904,7 +2904,7 @@ void main() { #include #include #include -}`,xy=`#define LAMBERT +}`,vy=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2942,7 +2942,7 @@ void main() { #include #include #include -}`,yy=`#define LAMBERT +}`,xy=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2999,7 +2999,7 @@ void main() { #include #include #include -}`,My=`#define MATCAP +}`,yy=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -3032,7 +3032,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,Sy=`#define MATCAP +}`,My=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3078,7 +3078,7 @@ void main() { #include #include #include -}`,by=`#define NORMAL +}`,Sy=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3110,7 +3110,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,Ey=`#define NORMAL +}`,by=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3132,7 +3132,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,Ty=`#define PHONG +}`,Ey=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3170,7 +3170,7 @@ void main() { #include #include #include -}`,Ay=`#define PHONG +}`,Ty=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3229,7 +3229,7 @@ void main() { #include #include #include -}`,wy=`#define STANDARD +}`,Ay=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3271,7 +3271,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,Cy=`#define STANDARD +}`,wy=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3429,7 +3429,7 @@ void main() { #include #include #include -}`,Py=`#define TOON +}`,Cy=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3482,7 +3482,7 @@ void main() { #include #include #include -}`,Ly=`uniform float size; +}`,Py=`uniform float size; uniform float scale; #include #include @@ -3512,7 +3512,7 @@ void main() { #include #include #include -}`,Dy=`uniform vec3 diffuse; +}`,Ly=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3537,7 +3537,7 @@ void main() { #include #include #include -}`,Iy=`#include +}`,Dy=`#include #include #include #include @@ -3559,7 +3559,7 @@ void main() { #include #include #include -}`,Ny=`uniform vec3 color; +}`,Iy=`uniform vec3 color; uniform float opacity; #include #include @@ -3601,7 +3601,7 @@ void main() { #include #include #include -}`,Oy=`uniform vec3 diffuse; +}`,Ny=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3626,7 +3626,7 @@ void main() { #include #include #include -}`,Ht={alphahash_fragment:rv,alphahash_pars_fragment:sv,alphamap_fragment:av,alphamap_pars_fragment:ov,alphatest_fragment:lv,alphatest_pars_fragment:cv,aomap_fragment:hv,aomap_pars_fragment:uv,batching_pars_vertex:fv,batching_vertex:dv,begin_vertex:pv,beginnormal_vertex:mv,bsdfs:_v,iridescence_fragment:gv,bumpmap_pars_fragment:vv,clipping_planes_fragment:xv,clipping_planes_pars_fragment:yv,clipping_planes_pars_vertex:Mv,clipping_planes_vertex:Sv,color_fragment:bv,color_pars_fragment:Ev,color_pars_vertex:Tv,color_vertex:Av,common:wv,cube_uv_reflection_fragment:Cv,defaultnormal_vertex:Rv,displacementmap_pars_vertex:Pv,displacementmap_vertex:Lv,emissivemap_fragment:Dv,emissivemap_pars_fragment:Iv,colorspace_fragment:Nv,colorspace_pars_fragment:Uv,envmap_fragment:Ov,envmap_common_pars_fragment:Fv,envmap_pars_fragment:Bv,envmap_pars_vertex:zv,envmap_physical_pars_fragment:Kv,envmap_vertex:kv,fog_vertex:Vv,fog_pars_vertex:Hv,fog_fragment:Gv,fog_pars_fragment:Wv,gradientmap_pars_fragment:Xv,lightmap_fragment:qv,lightmap_pars_fragment:Yv,lights_lambert_fragment:$v,lights_lambert_pars_fragment:jv,lights_pars_begin:Zv,lights_toon_fragment:Jv,lights_toon_pars_fragment:Qv,lights_phong_fragment:tx,lights_phong_pars_fragment:ex,lights_physical_fragment:nx,lights_physical_pars_fragment:ix,lights_fragment_begin:rx,lights_fragment_maps:sx,lights_fragment_end:ax,logdepthbuf_fragment:ox,logdepthbuf_pars_fragment:lx,logdepthbuf_pars_vertex:cx,logdepthbuf_vertex:hx,map_fragment:ux,map_pars_fragment:fx,map_particle_fragment:dx,map_particle_pars_fragment:px,metalnessmap_fragment:mx,metalnessmap_pars_fragment:_x,morphcolor_vertex:gx,morphnormal_vertex:vx,morphtarget_pars_vertex:xx,morphtarget_vertex:yx,normal_fragment_begin:Mx,normal_fragment_maps:Sx,normal_pars_fragment:bx,normal_pars_vertex:Ex,normal_vertex:Tx,normalmap_pars_fragment:Ax,clearcoat_normal_fragment_begin:wx,clearcoat_normal_fragment_maps:Cx,clearcoat_pars_fragment:Rx,iridescence_pars_fragment:Px,opaque_fragment:Lx,packing:Dx,premultiplied_alpha_fragment:Ix,project_vertex:Nx,dithering_fragment:Ux,dithering_pars_fragment:Ox,roughnessmap_fragment:Fx,roughnessmap_pars_fragment:Bx,shadowmap_pars_fragment:zx,shadowmap_pars_vertex:kx,shadowmap_vertex:Vx,shadowmask_pars_fragment:Hx,skinbase_vertex:Gx,skinning_pars_vertex:Wx,skinning_vertex:Xx,skinnormal_vertex:qx,specularmap_fragment:Yx,specularmap_pars_fragment:$x,tonemapping_fragment:jx,tonemapping_pars_fragment:Zx,transmission_fragment:Kx,transmission_pars_fragment:Jx,uv_pars_fragment:Qx,uv_pars_vertex:ty,uv_vertex:ey,worldpos_vertex:ny,background_vert:iy,background_frag:ry,backgroundCube_vert:sy,backgroundCube_frag:ay,cube_vert:oy,cube_frag:ly,depth_vert:cy,depth_frag:hy,distanceRGBA_vert:uy,distanceRGBA_frag:fy,equirect_vert:dy,equirect_frag:py,linedashed_vert:my,linedashed_frag:_y,meshbasic_vert:gy,meshbasic_frag:vy,meshlambert_vert:xy,meshlambert_frag:yy,meshmatcap_vert:My,meshmatcap_frag:Sy,meshnormal_vert:by,meshnormal_frag:Ey,meshphong_vert:Ty,meshphong_frag:Ay,meshphysical_vert:wy,meshphysical_frag:Cy,meshtoon_vert:Ry,meshtoon_frag:Py,points_vert:Ly,points_frag:Dy,shadow_vert:Iy,shadow_frag:Ny,sprite_vert:Uy,sprite_frag:Oy},ht={common:{diffuse:{value:new Ut(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new qt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new qt},normalScale:{value:new it(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Ut(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Ut(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0},uvTransform:{value:new qt}},sprite:{diffuse:{value:new Ut(16777215)},opacity:{value:1},center:{value:new it(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}}},Rn={basic:{uniforms:Ge([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.fog]),vertexShader:Ht.meshbasic_vert,fragmentShader:Ht.meshbasic_frag},lambert:{uniforms:Ge([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new Ut(0)}}]),vertexShader:Ht.meshlambert_vert,fragmentShader:Ht.meshlambert_frag},phong:{uniforms:Ge([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new Ut(0)},specular:{value:new Ut(1118481)},shininess:{value:30}}]),vertexShader:Ht.meshphong_vert,fragmentShader:Ht.meshphong_frag},standard:{uniforms:Ge([ht.common,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.roughnessmap,ht.metalnessmap,ht.fog,ht.lights,{emissive:{value:new Ut(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ht.meshphysical_vert,fragmentShader:Ht.meshphysical_frag},toon:{uniforms:Ge([ht.common,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.gradientmap,ht.fog,ht.lights,{emissive:{value:new Ut(0)}}]),vertexShader:Ht.meshtoon_vert,fragmentShader:Ht.meshtoon_frag},matcap:{uniforms:Ge([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,{matcap:{value:null}}]),vertexShader:Ht.meshmatcap_vert,fragmentShader:Ht.meshmatcap_frag},points:{uniforms:Ge([ht.points,ht.fog]),vertexShader:Ht.points_vert,fragmentShader:Ht.points_frag},dashed:{uniforms:Ge([ht.common,ht.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ht.linedashed_vert,fragmentShader:Ht.linedashed_frag},depth:{uniforms:Ge([ht.common,ht.displacementmap]),vertexShader:Ht.depth_vert,fragmentShader:Ht.depth_frag},normal:{uniforms:Ge([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,{opacity:{value:1}}]),vertexShader:Ht.meshnormal_vert,fragmentShader:Ht.meshnormal_frag},sprite:{uniforms:Ge([ht.sprite,ht.fog]),vertexShader:Ht.sprite_vert,fragmentShader:Ht.sprite_frag},background:{uniforms:{uvTransform:{value:new qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ht.background_vert,fragmentShader:Ht.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ht.backgroundCube_vert,fragmentShader:Ht.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ht.cube_vert,fragmentShader:Ht.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ht.equirect_vert,fragmentShader:Ht.equirect_frag},distanceRGBA:{uniforms:Ge([ht.common,ht.displacementmap,{referencePosition:{value:new D},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ht.distanceRGBA_vert,fragmentShader:Ht.distanceRGBA_frag},shadow:{uniforms:Ge([ht.lights,ht.fog,{color:{value:new Ut(0)},opacity:{value:1}}]),vertexShader:Ht.shadow_vert,fragmentShader:Ht.shadow_frag}};Rn.physical={uniforms:Ge([Rn.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new qt},clearcoatNormalScale:{value:new it(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new qt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new qt},sheen:{value:0},sheenColor:{value:new Ut(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new qt},transmissionSamplerSize:{value:new it},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new qt},attenuationDistance:{value:0},attenuationColor:{value:new Ut(0)},specularColor:{value:new Ut(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new qt},anisotropyVector:{value:new it},anisotropyMap:{value:null},anisotropyMapTransform:{value:new qt}}]),vertexShader:Ht.meshphysical_vert,fragmentShader:Ht.meshphysical_frag};const va={r:0,b:0,g:0};function Fy(r,t,e,n,i,s,o){const a=new Ut(0);let l=s===!0?0:1,c,h,u=null,f=0,d=null;function _(p,m){let y=!1,v=m.isScene===!0?m.background:null;v&&v.isTexture&&(v=(m.backgroundBlurriness>0?e:t).get(v)),v===null?g(a,l):v&&v.isColor&&(g(v,1),y=!0);const S=r.xr.getEnvironmentBlendMode();S==="additive"?n.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,o),(r.autoClear||y)&&r.clear(r.autoClearColor,r.autoClearDepth,r.autoClearStencil),v&&(v.isCubeTexture||v.mapping===co)?(h===void 0&&(h=new Ye(new zs(1,1,1),new Ti({name:"BackgroundCubeMaterial",uniforms:Wr(Rn.backgroundCube.uniforms),vertexShader:Rn.backgroundCube.vertexShader,fragmentShader:Rn.backgroundCube.fragmentShader,side:Je,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(w,C,E){this.matrixWorld.copyPosition(E.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(h)),h.material.uniforms.envMap.value=v,h.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=m.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=m.backgroundIntensity,h.material.toneMapped=ee.getTransfer(v.colorSpace)!==oe,(u!==v||f!==v.version||d!==r.toneMapping)&&(h.material.needsUpdate=!0,u=v,f=v.version,d=r.toneMapping),h.layers.enableAll(),p.unshift(h,h.geometry,h.material,0,0,null)):v&&v.isTexture&&(c===void 0&&(c=new Ye(new ks(2,2),new Ti({name:"BackgroundMaterial",uniforms:Wr(Rn.background.uniforms),vertexShader:Rn.background.vertexShader,fragmentShader:Rn.background.fragmentShader,side:bi,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=v,c.material.uniforms.backgroundIntensity.value=m.backgroundIntensity,c.material.toneMapped=ee.getTransfer(v.colorSpace)!==oe,v.matrixAutoUpdate===!0&&v.updateMatrix(),c.material.uniforms.uvTransform.value.copy(v.matrix),(u!==v||f!==v.version||d!==r.toneMapping)&&(c.material.needsUpdate=!0,u=v,f=v.version,d=r.toneMapping),c.layers.enableAll(),p.unshift(c,c.geometry,c.material,0,0,null))}function g(p,m){p.getRGB(va,ip(r)),n.buffers.color.setClear(va.r,va.g,va.b,m,o)}return{getClearColor:function(){return a},setClearColor:function(p,m=1){a.set(p),l=m,g(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(p){l=p,g(a,l)},render:_}}function By(r,t,e,n){const i=r.getParameter(r.MAX_VERTEX_ATTRIBS),s=n.isWebGL2?null:t.get("OES_vertex_array_object"),o=n.isWebGL2||s!==null,a={},l=p(null);let c=l,h=!1;function u(I,F,O,Y,q){let $=!1;if(o){const Z=g(Y,O,F);c!==Z&&(c=Z,d(c.object)),$=m(I,Y,O,q),$&&y(I,Y,O,q)}else{const Z=F.wireframe===!0;(c.geometry!==Y.id||c.program!==O.id||c.wireframe!==Z)&&(c.geometry=Y.id,c.program=O.id,c.wireframe=Z,$=!0)}q!==null&&e.update(q,r.ELEMENT_ARRAY_BUFFER),($||h)&&(h=!1,N(I,F,O,Y),q!==null&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.get(q).buffer))}function f(){return n.isWebGL2?r.createVertexArray():s.createVertexArrayOES()}function d(I){return n.isWebGL2?r.bindVertexArray(I):s.bindVertexArrayOES(I)}function _(I){return n.isWebGL2?r.deleteVertexArray(I):s.deleteVertexArrayOES(I)}function g(I,F,O){const Y=O.wireframe===!0;let q=a[I.id];q===void 0&&(q={},a[I.id]=q);let $=q[F.id];$===void 0&&($={},q[F.id]=$);let Z=$[Y];return Z===void 0&&(Z=p(f()),$[Y]=Z),Z}function p(I){const F=[],O=[],Y=[];for(let q=0;q=0){const V=q[ut];let Q=$[ut];if(Q===void 0&&(ut==="instanceMatrix"&&I.instanceMatrix&&(Q=I.instanceMatrix),ut==="instanceColor"&&I.instanceColor&&(Q=I.instanceColor)),V===void 0||V.attribute!==Q||Q&&V.data!==Q.data)return!0;Z++}return c.attributesNum!==Z||c.index!==Y}function y(I,F,O,Y){const q={},$=F.attributes;let Z=0;const J=O.getAttributes();for(const ut in J)if(J[ut].location>=0){let V=$[ut];V===void 0&&(ut==="instanceMatrix"&&I.instanceMatrix&&(V=I.instanceMatrix),ut==="instanceColor"&&I.instanceColor&&(V=I.instanceColor));const Q={};Q.attribute=V,V&&V.data&&(Q.data=V.data),q[ut]=Q,Z++}c.attributes=q,c.attributesNum=Z,c.index=Y}function v(){const I=c.newAttributes;for(let F=0,O=I.length;F=0){let bt=q[J];if(bt===void 0&&(J==="instanceMatrix"&&I.instanceMatrix&&(bt=I.instanceMatrix),J==="instanceColor"&&I.instanceColor&&(bt=I.instanceColor)),bt!==void 0){const V=bt.normalized,Q=bt.itemSize,_t=e.get(bt);if(_t===void 0)continue;const Mt=_t.buffer,Tt=_t.type,xt=_t.bytesPerElement,Ot=n.isWebGL2===!0&&(Tt===r.INT||Tt===r.UNSIGNED_INT||bt.gpuType===Vd);if(bt.isInterleavedBufferAttribute){const wt=bt.data,L=wt.stride,ct=bt.offset;if(wt.isInstancedInterleavedBuffer){for(let j=0;j0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision>0)return"highp";E="mediump"}return E==="mediump"&&r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.MEDIUM_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext!="undefined"&&r.constructor.name==="WebGL2RenderingContext";let a=e.precision!==void 0?e.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const c=o||t.has("WEBGL_draw_buffers"),h=e.logarithmicDepthBuffer===!0,u=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),f=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS),d=r.getParameter(r.MAX_TEXTURE_SIZE),_=r.getParameter(r.MAX_CUBE_MAP_TEXTURE_SIZE),g=r.getParameter(r.MAX_VERTEX_ATTRIBS),p=r.getParameter(r.MAX_VERTEX_UNIFORM_VECTORS),m=r.getParameter(r.MAX_VARYING_VECTORS),y=r.getParameter(r.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,S=o||t.has("OES_texture_float"),w=v&&S,C=o?r.getParameter(r.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:c,getMaxAnisotropy:i,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:u,maxVertexTextures:f,maxTextureSize:d,maxCubemapSize:_,maxAttributes:g,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:w,maxSamples:C}}function Vy(r){const t=this;let e=null,n=0,i=!1,s=!1;const o=new li,a=new qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(u,f){const d=u.length!==0||f||n!==0||i;return i=f,n=u.length,d},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(u,f){e=h(u,f,0)},this.setState=function(u,f,d){const _=u.clippingPlanes,g=u.clipIntersection,p=u.clipShadows,m=r.get(u);if(!i||_===null||_.length===0||s&&!p)s?h(null):c();else{const y=s?0:n,v=y*4;let S=m.clippingState||null;l.value=S,S=h(_,f,v,d);for(let w=0;w!==v;++w)S[w]=e[w];m.clippingState=S,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=y}};function c(){l.value!==e&&(l.value=e,l.needsUpdate=n>0),t.numPlanes=n,t.numIntersection=0}function h(u,f,d,_){const g=u!==null?u.length:0;let p=null;if(g!==0){if(p=l.value,_!==!0||p===null){const m=d+g*4,y=f.matrixWorldInverse;a.getNormalMatrix(y),(p===null||p.length0){const c=new tv(l.height);return c.fromEquirectangularTexture(r,o),t.set(o,c),o.addEventListener("dispose",i),e(c.texture,o.mapping)}else return null}}return o}function i(o){const a=o.target;a.removeEventListener("dispose",i);const l=t.get(a);l!==void 0&&(t.delete(a),l.dispose())}function s(){t=new WeakMap}return{get:n,dispose:s}}class op extends rp{constructor(t=-1,e=1,n=1,i=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=t.view===null?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let s=n-t,o=n+t,a=i+e,l=i-e;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=h*this.view.offsetY,l=a-h*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,this.view!==null&&(e.object.view=Object.assign({},this.view)),e}}const Ar=4,Lu=[.125,.215,.35,.446,.526,.582],zi=20,cl=new op,Du=new Ut;let hl=null,ul=0,fl=0;const Fi=(1+Math.sqrt(5))/2,vr=1/Fi,Iu=[new D(1,1,1),new D(-1,1,1),new D(1,1,-1),new D(-1,1,-1),new D(0,Fi,vr),new D(0,Fi,-vr),new D(vr,0,Fi),new D(-vr,0,Fi),new D(Fi,vr,0),new D(-Fi,vr,0)];class Nu{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){hl=this._renderer.getRenderTarget(),ul=this._renderer.getActiveCubeFace(),fl=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(t,n,i,s),e>0&&this._blur(s,0,0,e),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Fu(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Ou(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let t=0;t2?v:0,v,v),h.setRenderTarget(i),g&&h.render(_,a),h.render(t,a)}_.geometry.dispose(),_.material.dispose(),h.toneMapping=f,h.autoClear=u,t.background=p}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===kr||t.mapping===Vr;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=Fu()),this._cubemapMaterial.uniforms.flipEnvMap.value=t.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Ou());const s=i?this._cubemapMaterial:this._equirectMaterial,o=new Ye(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=t;const l=this._cubeSize;xa(e,0,0,3*l,2*l),n.setRenderTarget(e),n.render(o,cl)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let i=1;izi&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${p} samples when the maximum is set to ${zi}`);const m=[];let y=0;for(let E=0;Ev-Ar?i-v+Ar:0),C=4*(this._cubeSize-S);xa(e,w,C,3*S,2*S),l.setRenderTarget(e),l.render(u,cl)}}function Gy(r){const t=[],e=[],n=[];let i=r;const s=r-Ar+1+Lu.length;for(let o=0;or-Ar?l=Lu[o-r+Ar-1]:o===0&&(l=0),n.push(l);const c=1/(a-2),h=-c,u=1+c,f=[h,h,u,h,u,u,h,h,u,u,h,u],d=6,_=6,g=3,p=2,m=1,y=new Float32Array(g*_*d),v=new Float32Array(p*_*d),S=new Float32Array(m*_*d);for(let C=0;C2?0:-1,U=[E,N,0,E+2/3,N,0,E+2/3,N+1,0,E,N,0,E+2/3,N+1,0,E,N+1,0];y.set(U,g*_*C),v.set(f,p*_*C);const x=[C,C,C,C,C,C];S.set(x,m*_*C)}const w=new Ue;w.setAttribute("position",new xn(y,g)),w.setAttribute("uv",new xn(v,p)),w.setAttribute("faceIndex",new xn(S,m)),t.push(w),i>Ar&&i--}return{lodPlanes:t,sizeLods:e,sigmas:n}}function Uu(r,t,e){const n=new Zi(r,t,e);return n.texture.mapping=co,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function xa(r,t,e,n,i){r.viewport.set(t,e,n,i),r.scissor.set(t,e,n,i)}function Wy(r,t,e){const n=new Float32Array(zi),i=new D(0,1,0);return new Ti({name:"SphericalGaussianBlur",defines:{n:zi,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/e,CUBEUV_MAX_MIP:`${r}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:Nc(),fragmentShader:` +}`,Ht={alphahash_fragment:iv,alphahash_pars_fragment:rv,alphamap_fragment:sv,alphamap_pars_fragment:av,alphatest_fragment:ov,alphatest_pars_fragment:lv,aomap_fragment:cv,aomap_pars_fragment:hv,batching_pars_vertex:uv,batching_vertex:fv,begin_vertex:dv,beginnormal_vertex:pv,bsdfs:mv,iridescence_fragment:_v,bumpmap_pars_fragment:gv,clipping_planes_fragment:vv,clipping_planes_pars_fragment:xv,clipping_planes_pars_vertex:yv,clipping_planes_vertex:Mv,color_fragment:Sv,color_pars_fragment:bv,color_pars_vertex:Ev,color_vertex:Tv,common:Av,cube_uv_reflection_fragment:wv,defaultnormal_vertex:Rv,displacementmap_pars_vertex:Cv,displacementmap_vertex:Pv,emissivemap_fragment:Lv,emissivemap_pars_fragment:Dv,colorspace_fragment:Iv,colorspace_pars_fragment:Uv,envmap_fragment:Nv,envmap_common_pars_fragment:Ov,envmap_pars_fragment:Fv,envmap_pars_vertex:Bv,envmap_physical_pars_fragment:Zv,envmap_vertex:zv,fog_vertex:kv,fog_pars_vertex:Vv,fog_fragment:Hv,fog_pars_fragment:Gv,gradientmap_pars_fragment:Wv,lightmap_fragment:Xv,lightmap_pars_fragment:qv,lights_lambert_fragment:Yv,lights_lambert_pars_fragment:$v,lights_pars_begin:jv,lights_toon_fragment:Kv,lights_toon_pars_fragment:Jv,lights_phong_fragment:Qv,lights_phong_pars_fragment:tx,lights_physical_fragment:ex,lights_physical_pars_fragment:nx,lights_fragment_begin:ix,lights_fragment_maps:rx,lights_fragment_end:sx,logdepthbuf_fragment:ax,logdepthbuf_pars_fragment:ox,logdepthbuf_pars_vertex:lx,logdepthbuf_vertex:cx,map_fragment:hx,map_pars_fragment:ux,map_particle_fragment:fx,map_particle_pars_fragment:dx,metalnessmap_fragment:px,metalnessmap_pars_fragment:mx,morphcolor_vertex:_x,morphnormal_vertex:gx,morphtarget_pars_vertex:vx,morphtarget_vertex:xx,normal_fragment_begin:yx,normal_fragment_maps:Mx,normal_pars_fragment:Sx,normal_pars_vertex:bx,normal_vertex:Ex,normalmap_pars_fragment:Tx,clearcoat_normal_fragment_begin:Ax,clearcoat_normal_fragment_maps:wx,clearcoat_pars_fragment:Rx,iridescence_pars_fragment:Cx,opaque_fragment:Px,packing:Lx,premultiplied_alpha_fragment:Dx,project_vertex:Ix,dithering_fragment:Ux,dithering_pars_fragment:Nx,roughnessmap_fragment:Ox,roughnessmap_pars_fragment:Fx,shadowmap_pars_fragment:Bx,shadowmap_pars_vertex:zx,shadowmap_vertex:kx,shadowmask_pars_fragment:Vx,skinbase_vertex:Hx,skinning_pars_vertex:Gx,skinning_vertex:Wx,skinnormal_vertex:Xx,specularmap_fragment:qx,specularmap_pars_fragment:Yx,tonemapping_fragment:$x,tonemapping_pars_fragment:jx,transmission_fragment:Zx,transmission_pars_fragment:Kx,uv_pars_fragment:Jx,uv_pars_vertex:Qx,uv_vertex:ty,worldpos_vertex:ey,background_vert:ny,background_frag:iy,backgroundCube_vert:ry,backgroundCube_frag:sy,cube_vert:ay,cube_frag:oy,depth_vert:ly,depth_frag:cy,distanceRGBA_vert:hy,distanceRGBA_frag:uy,equirect_vert:fy,equirect_frag:dy,linedashed_vert:py,linedashed_frag:my,meshbasic_vert:_y,meshbasic_frag:gy,meshlambert_vert:vy,meshlambert_frag:xy,meshmatcap_vert:yy,meshmatcap_frag:My,meshnormal_vert:Sy,meshnormal_frag:by,meshphong_vert:Ey,meshphong_frag:Ty,meshphysical_vert:Ay,meshphysical_frag:wy,meshtoon_vert:Ry,meshtoon_frag:Cy,points_vert:Py,points_frag:Ly,shadow_vert:Dy,shadow_frag:Iy,sprite_vert:Uy,sprite_frag:Ny},ht={common:{diffuse:{value:new Nt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new qt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new qt},normalScale:{value:new it(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Nt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Nt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0},uvTransform:{value:new qt}},sprite:{diffuse:{value:new Nt(16777215)},opacity:{value:1},center:{value:new it(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}}},Cn={basic:{uniforms:Ge([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.fog]),vertexShader:Ht.meshbasic_vert,fragmentShader:Ht.meshbasic_frag},lambert:{uniforms:Ge([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)}}]),vertexShader:Ht.meshlambert_vert,fragmentShader:Ht.meshlambert_frag},phong:{uniforms:Ge([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)},specular:{value:new Nt(1118481)},shininess:{value:30}}]),vertexShader:Ht.meshphong_vert,fragmentShader:Ht.meshphong_frag},standard:{uniforms:Ge([ht.common,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.roughnessmap,ht.metalnessmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ht.meshphysical_vert,fragmentShader:Ht.meshphysical_frag},toon:{uniforms:Ge([ht.common,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.gradientmap,ht.fog,ht.lights,{emissive:{value:new Nt(0)}}]),vertexShader:Ht.meshtoon_vert,fragmentShader:Ht.meshtoon_frag},matcap:{uniforms:Ge([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,{matcap:{value:null}}]),vertexShader:Ht.meshmatcap_vert,fragmentShader:Ht.meshmatcap_frag},points:{uniforms:Ge([ht.points,ht.fog]),vertexShader:Ht.points_vert,fragmentShader:Ht.points_frag},dashed:{uniforms:Ge([ht.common,ht.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ht.linedashed_vert,fragmentShader:Ht.linedashed_frag},depth:{uniforms:Ge([ht.common,ht.displacementmap]),vertexShader:Ht.depth_vert,fragmentShader:Ht.depth_frag},normal:{uniforms:Ge([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,{opacity:{value:1}}]),vertexShader:Ht.meshnormal_vert,fragmentShader:Ht.meshnormal_frag},sprite:{uniforms:Ge([ht.sprite,ht.fog]),vertexShader:Ht.sprite_vert,fragmentShader:Ht.sprite_frag},background:{uniforms:{uvTransform:{value:new qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ht.background_vert,fragmentShader:Ht.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ht.backgroundCube_vert,fragmentShader:Ht.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ht.cube_vert,fragmentShader:Ht.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ht.equirect_vert,fragmentShader:Ht.equirect_frag},distanceRGBA:{uniforms:Ge([ht.common,ht.displacementmap,{referencePosition:{value:new D},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ht.distanceRGBA_vert,fragmentShader:Ht.distanceRGBA_frag},shadow:{uniforms:Ge([ht.lights,ht.fog,{color:{value:new Nt(0)},opacity:{value:1}}]),vertexShader:Ht.shadow_vert,fragmentShader:Ht.shadow_frag}};Cn.physical={uniforms:Ge([Cn.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new qt},clearcoatNormalScale:{value:new it(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new qt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new qt},sheen:{value:0},sheenColor:{value:new Nt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new qt},transmissionSamplerSize:{value:new it},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new qt},attenuationDistance:{value:0},attenuationColor:{value:new Nt(0)},specularColor:{value:new Nt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new qt},anisotropyVector:{value:new it},anisotropyMap:{value:null},anisotropyMapTransform:{value:new qt}}]),vertexShader:Ht.meshphysical_vert,fragmentShader:Ht.meshphysical_frag};const va={r:0,b:0,g:0};function Oy(r,t,e,n,i,s,o){const a=new Nt(0);let l=s===!0?0:1,c,h,u=null,f=0,d=null;function _(p,m){let y=!1,v=m.isScene===!0?m.background:null;v&&v.isTexture&&(v=(m.backgroundBlurriness>0?e:t).get(v)),v===null?g(a,l):v&&v.isColor&&(g(v,1),y=!0);const S=r.xr.getEnvironmentBlendMode();S==="additive"?n.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,o),(r.autoClear||y)&&r.clear(r.autoClearColor,r.autoClearDepth,r.autoClearStencil),v&&(v.isCubeTexture||v.mapping===co)?(h===void 0&&(h=new Ye(new zs(1,1,1),new Ti({name:"BackgroundCubeMaterial",uniforms:Gr(Cn.backgroundCube.uniforms),vertexShader:Cn.backgroundCube.vertexShader,fragmentShader:Cn.backgroundCube.fragmentShader,side:Je,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(w,R,b){this.matrixWorld.copyPosition(b.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(h)),h.material.uniforms.envMap.value=v,h.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=m.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=m.backgroundIntensity,h.material.toneMapped=ee.getTransfer(v.colorSpace)!==oe,(u!==v||f!==v.version||d!==r.toneMapping)&&(h.material.needsUpdate=!0,u=v,f=v.version,d=r.toneMapping),h.layers.enableAll(),p.unshift(h,h.geometry,h.material,0,0,null)):v&&v.isTexture&&(c===void 0&&(c=new Ye(new ks(2,2),new Ti({name:"BackgroundMaterial",uniforms:Gr(Cn.background.uniforms),vertexShader:Cn.background.vertexShader,fragmentShader:Cn.background.fragmentShader,side:bi,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=v,c.material.uniforms.backgroundIntensity.value=m.backgroundIntensity,c.material.toneMapped=ee.getTransfer(v.colorSpace)!==oe,v.matrixAutoUpdate===!0&&v.updateMatrix(),c.material.uniforms.uvTransform.value.copy(v.matrix),(u!==v||f!==v.version||d!==r.toneMapping)&&(c.material.needsUpdate=!0,u=v,f=v.version,d=r.toneMapping),c.layers.enableAll(),p.unshift(c,c.geometry,c.material,0,0,null))}function g(p,m){p.getRGB(va,ep(r)),n.buffers.color.setClear(va.r,va.g,va.b,m,o)}return{getClearColor:function(){return a},setClearColor:function(p,m=1){a.set(p),l=m,g(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(p){l=p,g(a,l)},render:_}}function Fy(r,t,e,n){const i=r.getParameter(r.MAX_VERTEX_ATTRIBS),s=n.isWebGL2?null:t.get("OES_vertex_array_object"),o=n.isWebGL2||s!==null,a={},l=p(null);let c=l,h=!1;function u(I,O,N,Y,X){let $=!1;if(o){const Z=g(Y,N,O);c!==Z&&(c=Z,d(c.object)),$=m(I,Y,N,X),$&&y(I,Y,N,X)}else{const Z=O.wireframe===!0;(c.geometry!==Y.id||c.program!==N.id||c.wireframe!==Z)&&(c.geometry=Y.id,c.program=N.id,c.wireframe=Z,$=!0)}X!==null&&e.update(X,r.ELEMENT_ARRAY_BUFFER),($||h)&&(h=!1,U(I,O,N,Y),X!==null&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.get(X).buffer))}function f(){return n.isWebGL2?r.createVertexArray():s.createVertexArrayOES()}function d(I){return n.isWebGL2?r.bindVertexArray(I):s.bindVertexArrayOES(I)}function _(I){return n.isWebGL2?r.deleteVertexArray(I):s.deleteVertexArrayOES(I)}function g(I,O,N){const Y=N.wireframe===!0;let X=a[I.id];X===void 0&&(X={},a[I.id]=X);let $=X[O.id];$===void 0&&($={},X[O.id]=$);let Z=$[Y];return Z===void 0&&(Z=p(f()),$[Y]=Z),Z}function p(I){const O=[],N=[],Y=[];for(let X=0;X=0){const V=X[ut];let Q=$[ut];if(Q===void 0&&(ut==="instanceMatrix"&&I.instanceMatrix&&(Q=I.instanceMatrix),ut==="instanceColor"&&I.instanceColor&&(Q=I.instanceColor)),V===void 0||V.attribute!==Q||Q&&V.data!==Q.data)return!0;Z++}return c.attributesNum!==Z||c.index!==Y}function y(I,O,N,Y){const X={},$=O.attributes;let Z=0;const J=N.getAttributes();for(const ut in J)if(J[ut].location>=0){let V=$[ut];V===void 0&&(ut==="instanceMatrix"&&I.instanceMatrix&&(V=I.instanceMatrix),ut==="instanceColor"&&I.instanceColor&&(V=I.instanceColor));const Q={};Q.attribute=V,V&&V.data&&(Q.data=V.data),X[ut]=Q,Z++}c.attributes=X,c.attributesNum=Z,c.index=Y}function v(){const I=c.newAttributes;for(let O=0,N=I.length;O=0){let bt=X[J];if(bt===void 0&&(J==="instanceMatrix"&&I.instanceMatrix&&(bt=I.instanceMatrix),J==="instanceColor"&&I.instanceColor&&(bt=I.instanceColor)),bt!==void 0){const V=bt.normalized,Q=bt.itemSize,_t=e.get(bt);if(_t===void 0)continue;const Mt=_t.buffer,Tt=_t.type,xt=_t.bytesPerElement,Ot=n.isWebGL2===!0&&(Tt===r.INT||Tt===r.UNSIGNED_INT||bt.gpuType===zd);if(bt.isInterleavedBufferAttribute){const wt=bt.data,L=wt.stride,ct=bt.offset;if(wt.isInstancedInterleavedBuffer){for(let j=0;j0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision>0)return"highp";b="mediump"}return b==="mediump"&&r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.MEDIUM_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext!="undefined"&&r.constructor.name==="WebGL2RenderingContext";let a=e.precision!==void 0?e.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const c=o||t.has("WEBGL_draw_buffers"),h=e.logarithmicDepthBuffer===!0,u=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),f=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS),d=r.getParameter(r.MAX_TEXTURE_SIZE),_=r.getParameter(r.MAX_CUBE_MAP_TEXTURE_SIZE),g=r.getParameter(r.MAX_VERTEX_ATTRIBS),p=r.getParameter(r.MAX_VERTEX_UNIFORM_VECTORS),m=r.getParameter(r.MAX_VARYING_VECTORS),y=r.getParameter(r.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,S=o||t.has("OES_texture_float"),w=v&&S,R=o?r.getParameter(r.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:c,getMaxAnisotropy:i,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:u,maxVertexTextures:f,maxTextureSize:d,maxCubemapSize:_,maxAttributes:g,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:w,maxSamples:R}}function ky(r){const t=this;let e=null,n=0,i=!1,s=!1;const o=new li,a=new qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(u,f){const d=u.length!==0||f||n!==0||i;return i=f,n=u.length,d},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(u,f){e=h(u,f,0)},this.setState=function(u,f,d){const _=u.clippingPlanes,g=u.clipIntersection,p=u.clipShadows,m=r.get(u);if(!i||_===null||_.length===0||s&&!p)s?h(null):c();else{const y=s?0:n,v=y*4;let S=m.clippingState||null;l.value=S,S=h(_,f,v,d);for(let w=0;w!==v;++w)S[w]=e[w];m.clippingState=S,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=y}};function c(){l.value!==e&&(l.value=e,l.needsUpdate=n>0),t.numPlanes=n,t.numIntersection=0}function h(u,f,d,_){const g=u!==null?u.length:0;let p=null;if(g!==0){if(p=l.value,_!==!0||p===null){const m=d+g*4,y=f.matrixWorldInverse;a.getNormalMatrix(y),(p===null||p.length0){const c=new Q0(l.height);return c.fromEquirectangularTexture(r,o),t.set(o,c),o.addEventListener("dispose",i),e(c.texture,o.mapping)}else return null}}return o}function i(o){const a=o.target;a.removeEventListener("dispose",i);const l=t.get(a);l!==void 0&&(t.delete(a),l.dispose())}function s(){t=new WeakMap}return{get:n,dispose:s}}class sp extends np{constructor(t=-1,e=1,n=1,i=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=t.view===null?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let s=n-t,o=n+t,a=i+e,l=i-e;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=h*this.view.offsetY,l=a-h*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,this.view!==null&&(e.object.view=Object.assign({},this.view)),e}}const Ar=4,Lu=[.125,.215,.35,.446,.526,.582],zi=20,cl=new sp,Du=new Nt;let hl=null,ul=0,fl=0;const Fi=(1+Math.sqrt(5))/2,vr=1/Fi,Iu=[new D(1,1,1),new D(-1,1,1),new D(1,1,-1),new D(-1,1,-1),new D(0,Fi,vr),new D(0,Fi,-vr),new D(vr,0,Fi),new D(-vr,0,Fi),new D(Fi,vr,0),new D(-Fi,vr,0)];class Uu{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){hl=this._renderer.getRenderTarget(),ul=this._renderer.getActiveCubeFace(),fl=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(t,n,i,s),e>0&&this._blur(s,0,0,e),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Fu(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Ou(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let t=0;t2?v:0,v,v),h.setRenderTarget(i),g&&h.render(_,a),h.render(t,a)}_.geometry.dispose(),_.material.dispose(),h.toneMapping=f,h.autoClear=u,t.background=p}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===zr||t.mapping===kr;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=Fu()),this._cubemapMaterial.uniforms.flipEnvMap.value=t.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Ou());const s=i?this._cubemapMaterial:this._equirectMaterial,o=new Ye(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=t;const l=this._cubeSize;xa(e,0,0,3*l,2*l),n.setRenderTarget(e),n.render(o,cl)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let i=1;izi&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${p} samples when the maximum is set to ${zi}`);const m=[];let y=0;for(let b=0;bv-Ar?i-v+Ar:0),R=4*(this._cubeSize-S);xa(e,w,R,3*S,2*S),l.setRenderTarget(e),l.render(u,cl)}}function Hy(r){const t=[],e=[],n=[];let i=r;const s=r-Ar+1+Lu.length;for(let o=0;or-Ar?l=Lu[o-r+Ar-1]:o===0&&(l=0),n.push(l);const c=1/(a-2),h=-c,u=1+c,f=[h,h,u,h,u,u,h,h,u,u,h,u],d=6,_=6,g=3,p=2,m=1,y=new Float32Array(g*_*d),v=new Float32Array(p*_*d),S=new Float32Array(m*_*d);for(let R=0;R2?0:-1,F=[b,U,0,b+2/3,U,0,b+2/3,U+1,0,b,U,0,b+2/3,U+1,0,b,U+1,0];y.set(F,g*_*R),v.set(f,p*_*R);const x=[R,R,R,R,R,R];S.set(x,m*_*R)}const w=new Ne;w.setAttribute("position",new xn(y,g)),w.setAttribute("uv",new xn(v,p)),w.setAttribute("faceIndex",new xn(S,m)),t.push(w),i>Ar&&i--}return{lodPlanes:t,sizeLods:e,sigmas:n}}function Nu(r,t,e){const n=new Zi(r,t,e);return n.texture.mapping=co,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function xa(r,t,e,n,i){r.viewport.set(t,e,n,i),r.scissor.set(t,e,n,i)}function Gy(r,t,e){const n=new Float32Array(zi),i=new D(0,1,0);return new Ti({name:"SphericalGaussianBlur",defines:{n:zi,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/e,CUBEUV_MAX_MIP:`${r}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:Uc(),fragmentShader:` precision mediump float; precision mediump int; @@ -3686,7 +3686,7 @@ void main() { } } - `,blending:_i,depthTest:!1,depthWrite:!1})}function Ou(){return new Ti({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Nc(),fragmentShader:` + `,blending:_i,depthTest:!1,depthWrite:!1})}function Ou(){return new Ti({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Uc(),fragmentShader:` precision mediump float; precision mediump int; @@ -3705,7 +3705,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:_i,depthTest:!1,depthWrite:!1})}function Fu(){return new Ti({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Nc(),fragmentShader:` + `,blending:_i,depthTest:!1,depthWrite:!1})}function Fu(){return new Ti({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Uc(),fragmentShader:` precision mediump float; precision mediump int; @@ -3721,7 +3721,7 @@ void main() { gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } - `,blending:_i,depthTest:!1,depthWrite:!1})}function Nc(){return` + `,blending:_i,depthTest:!1,depthWrite:!1})}function Uc(){return` precision mediump float; precision mediump int; @@ -3776,16 +3776,16 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function Xy(r){let t=new WeakMap,e=null;function n(a){if(a&&a.isTexture){const l=a.mapping,c=l===Wl||l===Xl,h=l===kr||l===Vr;if(c||h)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let u=t.get(a);return e===null&&(e=new Nu(r)),u=c?e.fromEquirectangular(a,u):e.fromCubemap(a,u),t.set(a,u),u.texture}else{if(t.has(a))return t.get(a).texture;{const u=a.image;if(c&&u&&u.height>0||h&&u&&i(u)){e===null&&(e=new Nu(r));const f=c?e.fromEquirectangular(a):e.fromCubemap(a);return t.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function i(a){let l=0;const c=6;for(let h=0;ht.maxTextureSize&&(x=Math.ceil(U/t.maxTextureSize),U=t.maxTextureSize);const b=new Float32Array(U*x*4*_),k=new Qd(b,U,x,_);k.type=Ln,k.needsUpdate=!0;const W=N*4;for(let F=0;F<_;F++){const O=w[F],Y=C[F],q=E[F],$=U*x*4*F;for(let Z=0;Z0)return r;const i=t*e;let s=Bu[i];if(s===void 0&&(s=new Float32Array(i),Bu[i]=s),t!==0){n.toArray(s,0);for(let o=1,a=0;o!==t;++o)a+=e,r[o].toArray(s,a)}return s}function Ee(r,t){if(r.length!==t.length)return!1;for(let e=0,n=r.length;e0||h&&u&&i(u)){e===null&&(e=new Uu(r));const f=c?e.fromEquirectangular(a):e.fromCubemap(a);return t.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function i(a){let l=0;const c=6;for(let h=0;ht.maxTextureSize&&(x=Math.ceil(F/t.maxTextureSize),F=t.maxTextureSize);const E=new Float32Array(F*x*4*_),k=new Kd(E,F,x,_);k.type=Ln,k.needsUpdate=!0;const W=U*4;for(let O=0;O<_;O++){const N=w[O],Y=R[O],X=b[O],$=F*x*4*O;for(let Z=0;Z0)return r;const i=t*e;let s=Bu[i];if(s===void 0&&(s=new Float32Array(i),Bu[i]=s),t!==0){n.toArray(s,0);for(let o=1,a=0;o!==t;++o)a+=e,r[o].toArray(s,a)}return s}function Ee(r,t){if(r.length!==t.length)return!1;for(let e=0,n=r.length;e":" "} ${a}: ${e[o]}`)}return n.join(` -`)}function YM(r){const t=ee.getPrimaries(ee.workingColorSpace),e=ee.getPrimaries(r);let n;switch(t===e?n="":t===Qa&&e===Ja?n="LinearDisplayP3ToLinearSRGB":t===Ja&&e===Qa&&(n="LinearSRGBToLinearDisplayP3"),r){case Kn:case ho:return[n,"LinearTransferOETF"];case Le:case Rc:return[n,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",r),[n,"LinearTransferOETF"]}}function Xu(r,t,e){const n=r.getShaderParameter(t,r.COMPILE_STATUS),i=r.getShaderInfoLog(t).trim();if(n&&i==="")return"";const s=/ERROR: 0:(\d+)/.exec(i);if(s){const o=parseInt(s[1]);return e.toUpperCase()+` +`)}function qM(r){const t=ee.getPrimaries(ee.workingColorSpace),e=ee.getPrimaries(r);let n;switch(t===e?n="":t===Qa&&e===Ja?n="LinearDisplayP3ToLinearSRGB":t===Ja&&e===Qa&&(n="LinearSRGBToLinearDisplayP3"),r){case Kn:case ho:return[n,"LinearTransferOETF"];case Le:case Cc:return[n,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",r),[n,"LinearTransferOETF"]}}function Xu(r,t,e){const n=r.getShaderParameter(t,r.COMPILE_STATUS),i=r.getShaderInfoLog(t).trim();if(n&&i==="")return"";const s=/ERROR: 0:(\d+)/.exec(i);if(s){const o=parseInt(s[1]);return e.toUpperCase()+` `+i+` -`+qM(r.getShaderSource(t),o)}else return i}function $M(r,t){const e=YM(t);return`vec4 ${r}( vec4 value ) { return ${e[0]}( ${e[1]}( value ) ); }`}function jM(r,t){let e;switch(t){case Xg:e="Linear";break;case qg:e="Reinhard";break;case Yg:e="OptimizedCineon";break;case $g:e="ACESFilmic";break;case Zg:e="AgX";break;case jg:e="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),e="Linear"}return"vec3 "+r+"( vec3 color ) { return "+e+"ToneMapping( color ); }"}function ZM(r){return[r.extensionDerivatives||r.envMapCubeUVHeight||r.bumpMap||r.normalMapTangentSpace||r.clearcoatNormalMap||r.flatShading||r.alphaToCoverage||r.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(r.extensionFragDepth||r.logarithmicDepthBuffer)&&r.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",r.extensionDrawBuffers&&r.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(r.extensionShaderTextureLOD||r.envMap||r.transmission)&&r.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(wr).join(` -`)}function KM(r){return[r.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",r.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(wr).join(` -`)}function JM(r){const t=[];for(const e in r){const n=r[e];n!==!1&&t.push("#define "+e+" "+n)}return t.join(` -`)}function QM(r,t){const e={},n=r.getProgramParameter(t,r.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function Zl(r){return r.replace(tS,nS)}const eS=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function nS(r,t){let e=Ht[t];if(e===void 0){const n=eS.get(t);if(n!==void 0)e=Ht[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,n);else throw new Error("Can not resolve #include <"+t+">")}return Zl(e)}const iS=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function $u(r){return r.replace(iS,rS)}function rS(r,t,e,n){let i="";for(let s=parseInt(t);s/gm;function Zl(r){return r.replace(QM,eS)}const tS=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function eS(r,t){let e=Ht[t];if(e===void 0){const n=tS.get(t);if(n!==void 0)e=Ht[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,n);else throw new Error("Can not resolve #include <"+t+">")}return Zl(e)}const nS=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function $u(r){return r.replace(nS,iS)}function iS(r,t,e,n){let i="";for(let s=parseInt(t);s0&&(m+=` `),y=[d,"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,g].filter(wr).join(` `),y.length>0&&(y+=` `)):(m=[ju(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,g,e.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",e.batching?"#define USE_BATCHING":"",e.instancing?"#define USE_INSTANCING":"",e.instancingColor?"#define USE_INSTANCING_COLOR":"",e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+h:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.displacementMap?"#define USE_DISPLACEMENTMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.mapUv?"#define MAP_UV "+e.mapUv:"",e.alphaMapUv?"#define ALPHAMAP_UV "+e.alphaMapUv:"",e.lightMapUv?"#define LIGHTMAP_UV "+e.lightMapUv:"",e.aoMapUv?"#define AOMAP_UV "+e.aoMapUv:"",e.emissiveMapUv?"#define EMISSIVEMAP_UV "+e.emissiveMapUv:"",e.bumpMapUv?"#define BUMPMAP_UV "+e.bumpMapUv:"",e.normalMapUv?"#define NORMALMAP_UV "+e.normalMapUv:"",e.displacementMapUv?"#define DISPLACEMENTMAP_UV "+e.displacementMapUv:"",e.metalnessMapUv?"#define METALNESSMAP_UV "+e.metalnessMapUv:"",e.roughnessMapUv?"#define ROUGHNESSMAP_UV "+e.roughnessMapUv:"",e.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+e.anisotropyMapUv:"",e.clearcoatMapUv?"#define CLEARCOATMAP_UV "+e.clearcoatMapUv:"",e.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+e.clearcoatNormalMapUv:"",e.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+e.clearcoatRoughnessMapUv:"",e.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+e.iridescenceMapUv:"",e.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+e.iridescenceThicknessMapUv:"",e.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+e.sheenColorMapUv:"",e.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+e.sheenRoughnessMapUv:"",e.specularMapUv?"#define SPECULARMAP_UV "+e.specularMapUv:"",e.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+e.specularColorMapUv:"",e.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+e.specularIntensityMapUv:"",e.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+e.transmissionMapUv:"",e.thicknessMapUv?"#define THICKNESSMAP_UV "+e.thicknessMapUv:"",e.vertexTangents&&e.flatShading===!1?"#define USE_TANGENT":"",e.vertexColors?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.flatShading?"#define FLAT_SHADED":"",e.skinning?"#define USE_SKINNING":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals&&e.flatShading===!1?"#define USE_MORPHNORMALS":"",e.morphColors&&e.isWebGL2?"#define USE_MORPHCOLORS":"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+e.morphTextureStride:"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_COUNT "+e.morphTargetsCount:"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+l:"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` `].filter(wr).join(` -`),y=[d,ju(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,g,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+c:"",e.envMap?"#define "+h:"",e.envMap?"#define "+u:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoat?"#define USE_CLEARCOAT":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescence?"#define USE_IRIDESCENCE":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaTest?"#define USE_ALPHATEST":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.sheen?"#define USE_SHEEN":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.vertexTangents&&e.flatShading===!1?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.gradientMap?"#define USE_GRADIENTMAP":"",e.flatShading?"#define FLAT_SHADED":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+l:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==gi?"#define TONE_MAPPING":"",e.toneMapping!==gi?Ht.tonemapping_pars_fragment:"",e.toneMapping!==gi?jM("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",e.opaque?"#define OPAQUE":"",Ht.colorspace_pars_fragment,$M("linearToOutputTexel",e.outputColorSpace),e.useDepthPacking?"#define DEPTH_PACKING "+e.depthPacking:"",` +`),y=[d,ju(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,g,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+c:"",e.envMap?"#define "+h:"",e.envMap?"#define "+u:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoat?"#define USE_CLEARCOAT":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescence?"#define USE_IRIDESCENCE":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaTest?"#define USE_ALPHATEST":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.sheen?"#define USE_SHEEN":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.vertexTangents&&e.flatShading===!1?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.gradientMap?"#define USE_GRADIENTMAP":"",e.flatShading?"#define FLAT_SHADED":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+l:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==gi?"#define TONE_MAPPING":"",e.toneMapping!==gi?Ht.tonemapping_pars_fragment:"",e.toneMapping!==gi?$M("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",e.opaque?"#define OPAQUE":"",Ht.colorspace_pars_fragment,YM("linearToOutputTexel",e.outputColorSpace),e.useDepthPacking?"#define DEPTH_PACKING "+e.depthPacking:"",` `].filter(wr).join(` `)),o=Zl(o),o=qu(o,e),o=Yu(o,e),a=Zl(a),a=qu(a,e),a=Yu(a,e),o=$u(o),a=$u(a),e.isWebGL2&&e.isRawShaderMaterial!==!0&&(v=`#version 300 es `,m=[_,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+m,y=["precision mediump sampler2DArray;","#define varying in",e.glslVersion===uu?"":"layout(location = 0) out highp vec4 pc_fragColor;",e.glslVersion===uu?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` `)+` -`+y);const S=v+m+o,w=v+y+a,C=Wu(i,i.VERTEX_SHADER,S),E=Wu(i,i.FRAGMENT_SHADER,w);i.attachShader(p,C),i.attachShader(p,E),e.index0AttributeName!==void 0?i.bindAttribLocation(p,0,e.index0AttributeName):e.morphTargets===!0&&i.bindAttribLocation(p,0,"position"),i.linkProgram(p);function N(k){if(r.debug.checkShaderErrors){const W=i.getProgramInfoLog(p).trim(),I=i.getShaderInfoLog(C).trim(),F=i.getShaderInfoLog(E).trim();let O=!0,Y=!0;if(i.getProgramParameter(p,i.LINK_STATUS)===!1)if(O=!1,typeof r.debug.onShaderError=="function")r.debug.onShaderError(i,p,C,E);else{const q=Xu(i,C,"vertex"),$=Xu(i,E,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(p,i.VALIDATE_STATUS)+` +`+y);const S=v+m+o,w=v+y+a,R=Wu(i,i.VERTEX_SHADER,S),b=Wu(i,i.FRAGMENT_SHADER,w);i.attachShader(p,R),i.attachShader(p,b),e.index0AttributeName!==void 0?i.bindAttribLocation(p,0,e.index0AttributeName):e.morphTargets===!0&&i.bindAttribLocation(p,0,"position"),i.linkProgram(p);function U(k){if(r.debug.checkShaderErrors){const W=i.getProgramInfoLog(p).trim(),I=i.getShaderInfoLog(R).trim(),O=i.getShaderInfoLog(b).trim();let N=!0,Y=!0;if(i.getProgramParameter(p,i.LINK_STATUS)===!1)if(N=!1,typeof r.debug.onShaderError=="function")r.debug.onShaderError(i,p,R,b);else{const X=Xu(i,R,"vertex"),$=Xu(i,b,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(p,i.VALIDATE_STATUS)+` Material Name: `+k.name+` Material Type: `+k.type+` Program Info Log: `+W+` -`+q+` -`+$)}else W!==""?console.warn("THREE.WebGLProgram: Program Info Log:",W):(I===""||F==="")&&(Y=!1);Y&&(k.diagnostics={runnable:O,programLog:W,vertexShader:{log:I,prefix:m},fragmentShader:{log:F,prefix:y}})}i.deleteShader(C),i.deleteShader(E),U=new Ba(i,p),x=QM(i,p)}let U;this.getUniforms=function(){return U===void 0&&N(this),U};let x;this.getAttributes=function(){return x===void 0&&N(this),x};let b=e.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return b===!1&&(b=i.getProgramParameter(p,WM)),b},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(p),this.program=void 0},this.type=e.shaderType,this.name=e.shaderName,this.id=XM++,this.cacheKey=t,this.usedTimes=1,this.program=p,this.vertexShader=C,this.fragmentShader=E,this}let uS=0;class fS{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(t){const e=t.vertexShader,n=t.fragmentShader,i=this._getShaderStage(e),s=this._getShaderStage(n),o=this._getShaderCacheForMaterial(t);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(t){const e=this.materialCache.get(t);for(const n of e)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(t),this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;let n=e.get(t);return n===void 0&&(n=new Set,e.set(t,n)),n}_getShaderStage(t){const e=this.shaderCache;let n=e.get(t);return n===void 0&&(n=new dS(t),e.set(t,n)),n}}class dS{constructor(t){this.id=uS++,this.code=t,this.usedTimes=0}}function pS(r,t,e,n,i,s,o){const a=new Lc,l=new fS,c=new Set,h=[],u=i.isWebGL2,f=i.logarithmicDepthBuffer,d=i.vertexTextures;let _=i.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function p(x){return c.add(x),x===0?"uv":`uv${x}`}function m(x,b,k,W,I){const F=W.fog,O=I.geometry,Y=x.isMeshStandardMaterial?W.environment:null,q=(x.isMeshStandardMaterial?e:t).get(x.envMap||Y),$=q&&q.mapping===co?q.image.height:null,Z=g[x.type];x.precision!==null&&(_=i.getMaxPrecision(x.precision),_!==x.precision&&console.warn("THREE.WebGLProgram.getParameters:",x.precision,"not supported, using",_,"instead."));const J=O.morphAttributes.position||O.morphAttributes.normal||O.morphAttributes.color,ut=J!==void 0?J.length:0;let bt=0;O.morphAttributes.position!==void 0&&(bt=1),O.morphAttributes.normal!==void 0&&(bt=2),O.morphAttributes.color!==void 0&&(bt=3);let V,Q,_t,Mt;if(Z){const Yt=Rn[Z];V=Yt.vertexShader,Q=Yt.fragmentShader}else V=x.vertexShader,Q=x.fragmentShader,l.update(x),_t=l.getVertexShaderID(x),Mt=l.getFragmentShaderID(x);const Tt=r.getRenderTarget(),xt=I.isInstancedMesh===!0,Ot=I.isBatchedMesh===!0,wt=!!x.map,L=!!x.matcap,ct=!!q,j=!!x.aoMap,ot=!!x.lightMap,K=!!x.bumpMap,Et=!!x.normalMap,pt=!!x.displacementMap,T=!!x.emissiveMap,M=!!x.metalnessMap,B=!!x.roughnessMap,rt=x.anisotropy>0,et=x.clearcoat>0,tt=x.iridescence>0,yt=x.sheen>0,ft=x.transmission>0,gt=rt&&!!x.anisotropyMap,Pt=et&&!!x.clearcoatMap,Ft=et&&!!x.clearcoatNormalMap,nt=et&&!!x.clearcoatRoughnessMap,Zt=tt&&!!x.iridescenceMap,Gt=tt&&!!x.iridescenceThicknessMap,It=yt&&!!x.sheenColorMap,Ct=yt&&!!x.sheenRoughnessMap,mt=!!x.specularMap,kt=!!x.specularColorMap,P=!!x.specularIntensityMap,lt=ft&&!!x.transmissionMap,dt=ft&&!!x.thicknessMap,Rt=!!x.gradientMap,R=!!x.alphaMap,at=x.alphaTest>0,st=!!x.alphaHash,St=!!x.extensions;let Lt=gi;x.toneMapped&&(Tt===null||Tt.isXRRenderTarget===!0)&&(Lt=r.toneMapping);const Kt={isWebGL2:u,shaderID:Z,shaderType:x.type,shaderName:x.name,vertexShader:V,fragmentShader:Q,defines:x.defines,customVertexShaderID:_t,customFragmentShaderID:Mt,isRawShaderMaterial:x.isRawShaderMaterial===!0,glslVersion:x.glslVersion,precision:_,batching:Ot,instancing:xt,instancingColor:xt&&I.instanceColor!==null,supportsVertexTextures:d,outputColorSpace:Tt===null?r.outputColorSpace:Tt.isXRRenderTarget===!0?Tt.texture.colorSpace:Kn,alphaToCoverage:!!x.alphaToCoverage,map:wt,matcap:L,envMap:ct,envMapMode:ct&&q.mapping,envMapCubeUVHeight:$,aoMap:j,lightMap:ot,bumpMap:K,normalMap:Et,displacementMap:d&&pt,emissiveMap:T,normalMapObjectSpace:Et&&x.normalMapType===c0,normalMapTangentSpace:Et&&x.normalMapType===Cc,metalnessMap:M,roughnessMap:B,anisotropy:rt,anisotropyMap:gt,clearcoat:et,clearcoatMap:Pt,clearcoatNormalMap:Ft,clearcoatRoughnessMap:nt,iridescence:tt,iridescenceMap:Zt,iridescenceThicknessMap:Gt,sheen:yt,sheenColorMap:It,sheenRoughnessMap:Ct,specularMap:mt,specularColorMap:kt,specularIntensityMap:P,transmission:ft,transmissionMap:lt,thicknessMap:dt,gradientMap:Rt,opaque:x.transparent===!1&&x.blending===Dr&&x.alphaToCoverage===!1,alphaMap:R,alphaTest:at,alphaHash:st,combine:x.combine,mapUv:wt&&p(x.map.channel),aoMapUv:j&&p(x.aoMap.channel),lightMapUv:ot&&p(x.lightMap.channel),bumpMapUv:K&&p(x.bumpMap.channel),normalMapUv:Et&&p(x.normalMap.channel),displacementMapUv:pt&&p(x.displacementMap.channel),emissiveMapUv:T&&p(x.emissiveMap.channel),metalnessMapUv:M&&p(x.metalnessMap.channel),roughnessMapUv:B&&p(x.roughnessMap.channel),anisotropyMapUv:gt&&p(x.anisotropyMap.channel),clearcoatMapUv:Pt&&p(x.clearcoatMap.channel),clearcoatNormalMapUv:Ft&&p(x.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:nt&&p(x.clearcoatRoughnessMap.channel),iridescenceMapUv:Zt&&p(x.iridescenceMap.channel),iridescenceThicknessMapUv:Gt&&p(x.iridescenceThicknessMap.channel),sheenColorMapUv:It&&p(x.sheenColorMap.channel),sheenRoughnessMapUv:Ct&&p(x.sheenRoughnessMap.channel),specularMapUv:mt&&p(x.specularMap.channel),specularColorMapUv:kt&&p(x.specularColorMap.channel),specularIntensityMapUv:P&&p(x.specularIntensityMap.channel),transmissionMapUv:lt&&p(x.transmissionMap.channel),thicknessMapUv:dt&&p(x.thicknessMap.channel),alphaMapUv:R&&p(x.alphaMap.channel),vertexTangents:!!O.attributes.tangent&&(Et||rt),vertexColors:x.vertexColors,vertexAlphas:x.vertexColors===!0&&!!O.attributes.color&&O.attributes.color.itemSize===4,pointsUvs:I.isPoints===!0&&!!O.attributes.uv&&(wt||R),fog:!!F,useFog:x.fog===!0,fogExp2:!!F&&F.isFogExp2,flatShading:x.flatShading===!0,sizeAttenuation:x.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:I.isSkinnedMesh===!0,morphTargets:O.morphAttributes.position!==void 0,morphNormals:O.morphAttributes.normal!==void 0,morphColors:O.morphAttributes.color!==void 0,morphTargetsCount:ut,morphTextureStride:bt,numDirLights:b.directional.length,numPointLights:b.point.length,numSpotLights:b.spot.length,numSpotLightMaps:b.spotLightMap.length,numRectAreaLights:b.rectArea.length,numHemiLights:b.hemi.length,numDirLightShadows:b.directionalShadowMap.length,numPointLightShadows:b.pointShadowMap.length,numSpotLightShadows:b.spotShadowMap.length,numSpotLightShadowsWithMaps:b.numSpotLightShadowsWithMaps,numLightProbes:b.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:x.dithering,shadowMapEnabled:r.shadowMap.enabled&&k.length>0,shadowMapType:r.shadowMap.type,toneMapping:Lt,useLegacyLights:r._useLegacyLights,decodeVideoTexture:wt&&x.map.isVideoTexture===!0&&ee.getTransfer(x.map.colorSpace)===oe,premultipliedAlpha:x.premultipliedAlpha,doubleSided:x.side===bn,flipSided:x.side===Je,useDepthPacking:x.depthPacking>=0,depthPacking:x.depthPacking||0,index0AttributeName:x.index0AttributeName,extensionDerivatives:St&&x.extensions.derivatives===!0,extensionFragDepth:St&&x.extensions.fragDepth===!0,extensionDrawBuffers:St&&x.extensions.drawBuffers===!0,extensionShaderTextureLOD:St&&x.extensions.shaderTextureLOD===!0,extensionClipCullDistance:St&&x.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:St&&x.extensions.multiDraw===!0&&n.has("WEBGL_multi_draw"),rendererExtensionFragDepth:u||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||n.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:x.customProgramCacheKey()};return Kt.vertexUv1s=c.has(1),Kt.vertexUv2s=c.has(2),Kt.vertexUv3s=c.has(3),c.clear(),Kt}function y(x){const b=[];if(x.shaderID?b.push(x.shaderID):(b.push(x.customVertexShaderID),b.push(x.customFragmentShaderID)),x.defines!==void 0)for(const k in x.defines)b.push(k),b.push(x.defines[k]);return x.isRawShaderMaterial===!1&&(v(b,x),S(b,x),b.push(r.outputColorSpace)),b.push(x.customProgramCacheKey),b.join()}function v(x,b){x.push(b.precision),x.push(b.outputColorSpace),x.push(b.envMapMode),x.push(b.envMapCubeUVHeight),x.push(b.mapUv),x.push(b.alphaMapUv),x.push(b.lightMapUv),x.push(b.aoMapUv),x.push(b.bumpMapUv),x.push(b.normalMapUv),x.push(b.displacementMapUv),x.push(b.emissiveMapUv),x.push(b.metalnessMapUv),x.push(b.roughnessMapUv),x.push(b.anisotropyMapUv),x.push(b.clearcoatMapUv),x.push(b.clearcoatNormalMapUv),x.push(b.clearcoatRoughnessMapUv),x.push(b.iridescenceMapUv),x.push(b.iridescenceThicknessMapUv),x.push(b.sheenColorMapUv),x.push(b.sheenRoughnessMapUv),x.push(b.specularMapUv),x.push(b.specularColorMapUv),x.push(b.specularIntensityMapUv),x.push(b.transmissionMapUv),x.push(b.thicknessMapUv),x.push(b.combine),x.push(b.fogExp2),x.push(b.sizeAttenuation),x.push(b.morphTargetsCount),x.push(b.morphAttributeCount),x.push(b.numDirLights),x.push(b.numPointLights),x.push(b.numSpotLights),x.push(b.numSpotLightMaps),x.push(b.numHemiLights),x.push(b.numRectAreaLights),x.push(b.numDirLightShadows),x.push(b.numPointLightShadows),x.push(b.numSpotLightShadows),x.push(b.numSpotLightShadowsWithMaps),x.push(b.numLightProbes),x.push(b.shadowMapType),x.push(b.toneMapping),x.push(b.numClippingPlanes),x.push(b.numClipIntersection),x.push(b.depthPacking)}function S(x,b){a.disableAll(),b.isWebGL2&&a.enable(0),b.supportsVertexTextures&&a.enable(1),b.instancing&&a.enable(2),b.instancingColor&&a.enable(3),b.matcap&&a.enable(4),b.envMap&&a.enable(5),b.normalMapObjectSpace&&a.enable(6),b.normalMapTangentSpace&&a.enable(7),b.clearcoat&&a.enable(8),b.iridescence&&a.enable(9),b.alphaTest&&a.enable(10),b.vertexColors&&a.enable(11),b.vertexAlphas&&a.enable(12),b.vertexUv1s&&a.enable(13),b.vertexUv2s&&a.enable(14),b.vertexUv3s&&a.enable(15),b.vertexTangents&&a.enable(16),b.anisotropy&&a.enable(17),b.alphaHash&&a.enable(18),b.batching&&a.enable(19),x.push(a.mask),a.disableAll(),b.fog&&a.enable(0),b.useFog&&a.enable(1),b.flatShading&&a.enable(2),b.logarithmicDepthBuffer&&a.enable(3),b.skinning&&a.enable(4),b.morphTargets&&a.enable(5),b.morphNormals&&a.enable(6),b.morphColors&&a.enable(7),b.premultipliedAlpha&&a.enable(8),b.shadowMapEnabled&&a.enable(9),b.useLegacyLights&&a.enable(10),b.doubleSided&&a.enable(11),b.flipSided&&a.enable(12),b.useDepthPacking&&a.enable(13),b.dithering&&a.enable(14),b.transmission&&a.enable(15),b.sheen&&a.enable(16),b.opaque&&a.enable(17),b.pointsUvs&&a.enable(18),b.decodeVideoTexture&&a.enable(19),b.alphaToCoverage&&a.enable(20),x.push(a.mask)}function w(x){const b=g[x.type];let k;if(b){const W=Rn[b];k=Z0.clone(W.uniforms)}else k=x.uniforms;return k}function C(x,b){let k;for(let W=0,I=h.length;W0?n.push(m):d.transparent===!0?i.push(m):e.push(m)}function l(u,f,d,_,g,p){const m=o(u,f,d,_,g,p);d.transmission>0?n.unshift(m):d.transparent===!0?i.unshift(m):e.unshift(m)}function c(u,f){e.length>1&&e.sort(u||_S),n.length>1&&n.sort(f||Zu),i.length>1&&i.sort(f||Zu)}function h(){for(let u=t,f=r.length;u=s.length?(o=new Ku,s.push(o)):o=s[i],o}function e(){r=new WeakMap}return{get:t,dispose:e}}function vS(){const r={};return{get:function(t){if(r[t.id]!==void 0)return r[t.id];let e;switch(t.type){case"DirectionalLight":e={direction:new D,color:new Ut};break;case"SpotLight":e={position:new D,direction:new D,color:new Ut,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new D,color:new Ut,distance:0,decay:0};break;case"HemisphereLight":e={direction:new D,skyColor:new Ut,groundColor:new Ut};break;case"RectAreaLight":e={color:new Ut,position:new D,halfWidth:new D,halfHeight:new D};break}return r[t.id]=e,e}}}function xS(){const r={};return{get:function(t){if(r[t.id]!==void 0)return r[t.id];let e;switch(t.type){case"DirectionalLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new it};break;case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new it};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new it,shadowCameraNear:1,shadowCameraFar:1e3};break}return r[t.id]=e,e}}}let yS=0;function MS(r,t){return(t.castShadow?2:0)-(r.castShadow?2:0)+(t.map?1:0)-(r.map?1:0)}function SS(r,t){const e=new vS,n=xS(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)i.probe.push(new D);const s=new D,o=new $t,a=new $t;function l(h,u){let f=0,d=0,_=0;for(let k=0;k<9;k++)i.probe[k].set(0,0,0);let g=0,p=0,m=0,y=0,v=0,S=0,w=0,C=0,E=0,N=0,U=0;h.sort(MS);const x=u===!0?Math.PI:1;for(let k=0,W=h.length;k0&&(t.isWebGL2?r.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_FLOAT_1,i.rectAreaLTC2=ht.LTC_FLOAT_2):(i.rectAreaLTC1=ht.LTC_HALF_1,i.rectAreaLTC2=ht.LTC_HALF_2):r.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_FLOAT_1,i.rectAreaLTC2=ht.LTC_FLOAT_2):r.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_HALF_1,i.rectAreaLTC2=ht.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=f,i.ambient[1]=d,i.ambient[2]=_;const b=i.hash;(b.directionalLength!==g||b.pointLength!==p||b.spotLength!==m||b.rectAreaLength!==y||b.hemiLength!==v||b.numDirectionalShadows!==S||b.numPointShadows!==w||b.numSpotShadows!==C||b.numSpotMaps!==E||b.numLightProbes!==U)&&(i.directional.length=g,i.spot.length=m,i.rectArea.length=y,i.point.length=p,i.hemi.length=v,i.directionalShadow.length=S,i.directionalShadowMap.length=S,i.pointShadow.length=w,i.pointShadowMap.length=w,i.spotShadow.length=C,i.spotShadowMap.length=C,i.directionalShadowMatrix.length=S,i.pointShadowMatrix.length=w,i.spotLightMatrix.length=C+E-N,i.spotLightMap.length=E,i.numSpotLightShadowsWithMaps=N,i.numLightProbes=U,b.directionalLength=g,b.pointLength=p,b.spotLength=m,b.rectAreaLength=y,b.hemiLength=v,b.numDirectionalShadows=S,b.numPointShadows=w,b.numSpotShadows=C,b.numSpotMaps=E,b.numLightProbes=U,i.version=yS++)}function c(h,u){let f=0,d=0,_=0,g=0,p=0;const m=u.matrixWorldInverse;for(let y=0,v=h.length;y=a.length?(l=new Ju(r,t),a.push(l)):l=a[o],l}function i(){e=new WeakMap}return{get:n,dispose:i}}class ES extends Qn{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=o0,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class TS extends Qn{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}const AS=`void main() { +`+X+` +`+$)}else W!==""?console.warn("THREE.WebGLProgram: Program Info Log:",W):(I===""||O==="")&&(Y=!1);Y&&(k.diagnostics={runnable:N,programLog:W,vertexShader:{log:I,prefix:m},fragmentShader:{log:O,prefix:y}})}i.deleteShader(R),i.deleteShader(b),F=new Ba(i,p),x=JM(i,p)}let F;this.getUniforms=function(){return F===void 0&&U(this),F};let x;this.getAttributes=function(){return x===void 0&&U(this),x};let E=e.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return E===!1&&(E=i.getProgramParameter(p,GM)),E},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(p),this.program=void 0},this.type=e.shaderType,this.name=e.shaderName,this.id=WM++,this.cacheKey=t,this.usedTimes=1,this.program=p,this.vertexShader=R,this.fragmentShader=b,this}let hS=0;class uS{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(t){const e=t.vertexShader,n=t.fragmentShader,i=this._getShaderStage(e),s=this._getShaderStage(n),o=this._getShaderCacheForMaterial(t);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(t){const e=this.materialCache.get(t);for(const n of e)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(t),this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;let n=e.get(t);return n===void 0&&(n=new Set,e.set(t,n)),n}_getShaderStage(t){const e=this.shaderCache;let n=e.get(t);return n===void 0&&(n=new fS(t),e.set(t,n)),n}}class fS{constructor(t){this.id=hS++,this.code=t,this.usedTimes=0}}function dS(r,t,e,n,i,s,o){const a=new Lc,l=new uS,c=new Set,h=[],u=i.isWebGL2,f=i.logarithmicDepthBuffer,d=i.vertexTextures;let _=i.precision;const g={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function p(x){return c.add(x),x===0?"uv":`uv${x}`}function m(x,E,k,W,I){const O=W.fog,N=I.geometry,Y=x.isMeshStandardMaterial?W.environment:null,X=(x.isMeshStandardMaterial?e:t).get(x.envMap||Y),$=X&&X.mapping===co?X.image.height:null,Z=g[x.type];x.precision!==null&&(_=i.getMaxPrecision(x.precision),_!==x.precision&&console.warn("THREE.WebGLProgram.getParameters:",x.precision,"not supported, using",_,"instead."));const J=N.morphAttributes.position||N.morphAttributes.normal||N.morphAttributes.color,ut=J!==void 0?J.length:0;let bt=0;N.morphAttributes.position!==void 0&&(bt=1),N.morphAttributes.normal!==void 0&&(bt=2),N.morphAttributes.color!==void 0&&(bt=3);let V,Q,_t,Mt;if(Z){const Yt=Cn[Z];V=Yt.vertexShader,Q=Yt.fragmentShader}else V=x.vertexShader,Q=x.fragmentShader,l.update(x),_t=l.getVertexShaderID(x),Mt=l.getFragmentShaderID(x);const Tt=r.getRenderTarget(),xt=I.isInstancedMesh===!0,Ot=I.isBatchedMesh===!0,wt=!!x.map,L=!!x.matcap,ct=!!X,j=!!x.aoMap,ot=!!x.lightMap,K=!!x.bumpMap,Et=!!x.normalMap,pt=!!x.displacementMap,T=!!x.emissiveMap,M=!!x.metalnessMap,B=!!x.roughnessMap,rt=x.anisotropy>0,et=x.clearcoat>0,tt=x.iridescence>0,yt=x.sheen>0,ft=x.transmission>0,gt=rt&&!!x.anisotropyMap,Pt=et&&!!x.clearcoatMap,Ft=et&&!!x.clearcoatNormalMap,nt=et&&!!x.clearcoatRoughnessMap,Zt=tt&&!!x.iridescenceMap,Gt=tt&&!!x.iridescenceThicknessMap,It=yt&&!!x.sheenColorMap,Rt=yt&&!!x.sheenRoughnessMap,mt=!!x.specularMap,kt=!!x.specularColorMap,P=!!x.specularIntensityMap,lt=ft&&!!x.transmissionMap,dt=ft&&!!x.thicknessMap,Ct=!!x.gradientMap,C=!!x.alphaMap,at=x.alphaTest>0,st=!!x.alphaHash,St=!!x.extensions;let Lt=gi;x.toneMapped&&(Tt===null||Tt.isXRRenderTarget===!0)&&(Lt=r.toneMapping);const Kt={isWebGL2:u,shaderID:Z,shaderType:x.type,shaderName:x.name,vertexShader:V,fragmentShader:Q,defines:x.defines,customVertexShaderID:_t,customFragmentShaderID:Mt,isRawShaderMaterial:x.isRawShaderMaterial===!0,glslVersion:x.glslVersion,precision:_,batching:Ot,instancing:xt,instancingColor:xt&&I.instanceColor!==null,supportsVertexTextures:d,outputColorSpace:Tt===null?r.outputColorSpace:Tt.isXRRenderTarget===!0?Tt.texture.colorSpace:Kn,alphaToCoverage:!!x.alphaToCoverage,map:wt,matcap:L,envMap:ct,envMapMode:ct&&X.mapping,envMapCubeUVHeight:$,aoMap:j,lightMap:ot,bumpMap:K,normalMap:Et,displacementMap:d&&pt,emissiveMap:T,normalMapObjectSpace:Et&&x.normalMapType===l0,normalMapTangentSpace:Et&&x.normalMapType===Rc,metalnessMap:M,roughnessMap:B,anisotropy:rt,anisotropyMap:gt,clearcoat:et,clearcoatMap:Pt,clearcoatNormalMap:Ft,clearcoatRoughnessMap:nt,iridescence:tt,iridescenceMap:Zt,iridescenceThicknessMap:Gt,sheen:yt,sheenColorMap:It,sheenRoughnessMap:Rt,specularMap:mt,specularColorMap:kt,specularIntensityMap:P,transmission:ft,transmissionMap:lt,thicknessMap:dt,gradientMap:Ct,opaque:x.transparent===!1&&x.blending===Dr&&x.alphaToCoverage===!1,alphaMap:C,alphaTest:at,alphaHash:st,combine:x.combine,mapUv:wt&&p(x.map.channel),aoMapUv:j&&p(x.aoMap.channel),lightMapUv:ot&&p(x.lightMap.channel),bumpMapUv:K&&p(x.bumpMap.channel),normalMapUv:Et&&p(x.normalMap.channel),displacementMapUv:pt&&p(x.displacementMap.channel),emissiveMapUv:T&&p(x.emissiveMap.channel),metalnessMapUv:M&&p(x.metalnessMap.channel),roughnessMapUv:B&&p(x.roughnessMap.channel),anisotropyMapUv:gt&&p(x.anisotropyMap.channel),clearcoatMapUv:Pt&&p(x.clearcoatMap.channel),clearcoatNormalMapUv:Ft&&p(x.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:nt&&p(x.clearcoatRoughnessMap.channel),iridescenceMapUv:Zt&&p(x.iridescenceMap.channel),iridescenceThicknessMapUv:Gt&&p(x.iridescenceThicknessMap.channel),sheenColorMapUv:It&&p(x.sheenColorMap.channel),sheenRoughnessMapUv:Rt&&p(x.sheenRoughnessMap.channel),specularMapUv:mt&&p(x.specularMap.channel),specularColorMapUv:kt&&p(x.specularColorMap.channel),specularIntensityMapUv:P&&p(x.specularIntensityMap.channel),transmissionMapUv:lt&&p(x.transmissionMap.channel),thicknessMapUv:dt&&p(x.thicknessMap.channel),alphaMapUv:C&&p(x.alphaMap.channel),vertexTangents:!!N.attributes.tangent&&(Et||rt),vertexColors:x.vertexColors,vertexAlphas:x.vertexColors===!0&&!!N.attributes.color&&N.attributes.color.itemSize===4,pointsUvs:I.isPoints===!0&&!!N.attributes.uv&&(wt||C),fog:!!O,useFog:x.fog===!0,fogExp2:!!O&&O.isFogExp2,flatShading:x.flatShading===!0,sizeAttenuation:x.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:I.isSkinnedMesh===!0,morphTargets:N.morphAttributes.position!==void 0,morphNormals:N.morphAttributes.normal!==void 0,morphColors:N.morphAttributes.color!==void 0,morphTargetsCount:ut,morphTextureStride:bt,numDirLights:E.directional.length,numPointLights:E.point.length,numSpotLights:E.spot.length,numSpotLightMaps:E.spotLightMap.length,numRectAreaLights:E.rectArea.length,numHemiLights:E.hemi.length,numDirLightShadows:E.directionalShadowMap.length,numPointLightShadows:E.pointShadowMap.length,numSpotLightShadows:E.spotShadowMap.length,numSpotLightShadowsWithMaps:E.numSpotLightShadowsWithMaps,numLightProbes:E.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:x.dithering,shadowMapEnabled:r.shadowMap.enabled&&k.length>0,shadowMapType:r.shadowMap.type,toneMapping:Lt,useLegacyLights:r._useLegacyLights,decodeVideoTexture:wt&&x.map.isVideoTexture===!0&&ee.getTransfer(x.map.colorSpace)===oe,premultipliedAlpha:x.premultipliedAlpha,doubleSided:x.side===bn,flipSided:x.side===Je,useDepthPacking:x.depthPacking>=0,depthPacking:x.depthPacking||0,index0AttributeName:x.index0AttributeName,extensionDerivatives:St&&x.extensions.derivatives===!0,extensionFragDepth:St&&x.extensions.fragDepth===!0,extensionDrawBuffers:St&&x.extensions.drawBuffers===!0,extensionShaderTextureLOD:St&&x.extensions.shaderTextureLOD===!0,extensionClipCullDistance:St&&x.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:St&&x.extensions.multiDraw===!0&&n.has("WEBGL_multi_draw"),rendererExtensionFragDepth:u||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||n.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:x.customProgramCacheKey()};return Kt.vertexUv1s=c.has(1),Kt.vertexUv2s=c.has(2),Kt.vertexUv3s=c.has(3),c.clear(),Kt}function y(x){const E=[];if(x.shaderID?E.push(x.shaderID):(E.push(x.customVertexShaderID),E.push(x.customFragmentShaderID)),x.defines!==void 0)for(const k in x.defines)E.push(k),E.push(x.defines[k]);return x.isRawShaderMaterial===!1&&(v(E,x),S(E,x),E.push(r.outputColorSpace)),E.push(x.customProgramCacheKey),E.join()}function v(x,E){x.push(E.precision),x.push(E.outputColorSpace),x.push(E.envMapMode),x.push(E.envMapCubeUVHeight),x.push(E.mapUv),x.push(E.alphaMapUv),x.push(E.lightMapUv),x.push(E.aoMapUv),x.push(E.bumpMapUv),x.push(E.normalMapUv),x.push(E.displacementMapUv),x.push(E.emissiveMapUv),x.push(E.metalnessMapUv),x.push(E.roughnessMapUv),x.push(E.anisotropyMapUv),x.push(E.clearcoatMapUv),x.push(E.clearcoatNormalMapUv),x.push(E.clearcoatRoughnessMapUv),x.push(E.iridescenceMapUv),x.push(E.iridescenceThicknessMapUv),x.push(E.sheenColorMapUv),x.push(E.sheenRoughnessMapUv),x.push(E.specularMapUv),x.push(E.specularColorMapUv),x.push(E.specularIntensityMapUv),x.push(E.transmissionMapUv),x.push(E.thicknessMapUv),x.push(E.combine),x.push(E.fogExp2),x.push(E.sizeAttenuation),x.push(E.morphTargetsCount),x.push(E.morphAttributeCount),x.push(E.numDirLights),x.push(E.numPointLights),x.push(E.numSpotLights),x.push(E.numSpotLightMaps),x.push(E.numHemiLights),x.push(E.numRectAreaLights),x.push(E.numDirLightShadows),x.push(E.numPointLightShadows),x.push(E.numSpotLightShadows),x.push(E.numSpotLightShadowsWithMaps),x.push(E.numLightProbes),x.push(E.shadowMapType),x.push(E.toneMapping),x.push(E.numClippingPlanes),x.push(E.numClipIntersection),x.push(E.depthPacking)}function S(x,E){a.disableAll(),E.isWebGL2&&a.enable(0),E.supportsVertexTextures&&a.enable(1),E.instancing&&a.enable(2),E.instancingColor&&a.enable(3),E.matcap&&a.enable(4),E.envMap&&a.enable(5),E.normalMapObjectSpace&&a.enable(6),E.normalMapTangentSpace&&a.enable(7),E.clearcoat&&a.enable(8),E.iridescence&&a.enable(9),E.alphaTest&&a.enable(10),E.vertexColors&&a.enable(11),E.vertexAlphas&&a.enable(12),E.vertexUv1s&&a.enable(13),E.vertexUv2s&&a.enable(14),E.vertexUv3s&&a.enable(15),E.vertexTangents&&a.enable(16),E.anisotropy&&a.enable(17),E.alphaHash&&a.enable(18),E.batching&&a.enable(19),x.push(a.mask),a.disableAll(),E.fog&&a.enable(0),E.useFog&&a.enable(1),E.flatShading&&a.enable(2),E.logarithmicDepthBuffer&&a.enable(3),E.skinning&&a.enable(4),E.morphTargets&&a.enable(5),E.morphNormals&&a.enable(6),E.morphColors&&a.enable(7),E.premultipliedAlpha&&a.enable(8),E.shadowMapEnabled&&a.enable(9),E.useLegacyLights&&a.enable(10),E.doubleSided&&a.enable(11),E.flipSided&&a.enable(12),E.useDepthPacking&&a.enable(13),E.dithering&&a.enable(14),E.transmission&&a.enable(15),E.sheen&&a.enable(16),E.opaque&&a.enable(17),E.pointsUvs&&a.enable(18),E.decodeVideoTexture&&a.enable(19),E.alphaToCoverage&&a.enable(20),x.push(a.mask)}function w(x){const E=g[x.type];let k;if(E){const W=Cn[E];k=j0.clone(W.uniforms)}else k=x.uniforms;return k}function R(x,E){let k;for(let W=0,I=h.length;W0?n.push(m):d.transparent===!0?i.push(m):e.push(m)}function l(u,f,d,_,g,p){const m=o(u,f,d,_,g,p);d.transmission>0?n.unshift(m):d.transparent===!0?i.unshift(m):e.unshift(m)}function c(u,f){e.length>1&&e.sort(u||mS),n.length>1&&n.sort(f||Zu),i.length>1&&i.sort(f||Zu)}function h(){for(let u=t,f=r.length;u=s.length?(o=new Ku,s.push(o)):o=s[i],o}function e(){r=new WeakMap}return{get:t,dispose:e}}function gS(){const r={};return{get:function(t){if(r[t.id]!==void 0)return r[t.id];let e;switch(t.type){case"DirectionalLight":e={direction:new D,color:new Nt};break;case"SpotLight":e={position:new D,direction:new D,color:new Nt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new D,color:new Nt,distance:0,decay:0};break;case"HemisphereLight":e={direction:new D,skyColor:new Nt,groundColor:new Nt};break;case"RectAreaLight":e={color:new Nt,position:new D,halfWidth:new D,halfHeight:new D};break}return r[t.id]=e,e}}}function vS(){const r={};return{get:function(t){if(r[t.id]!==void 0)return r[t.id];let e;switch(t.type){case"DirectionalLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new it};break;case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new it};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new it,shadowCameraNear:1,shadowCameraFar:1e3};break}return r[t.id]=e,e}}}let xS=0;function yS(r,t){return(t.castShadow?2:0)-(r.castShadow?2:0)+(t.map?1:0)-(r.map?1:0)}function MS(r,t){const e=new gS,n=vS(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)i.probe.push(new D);const s=new D,o=new $t,a=new $t;function l(h,u){let f=0,d=0,_=0;for(let k=0;k<9;k++)i.probe[k].set(0,0,0);let g=0,p=0,m=0,y=0,v=0,S=0,w=0,R=0,b=0,U=0,F=0;h.sort(yS);const x=u===!0?Math.PI:1;for(let k=0,W=h.length;k0&&(t.isWebGL2?r.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_FLOAT_1,i.rectAreaLTC2=ht.LTC_FLOAT_2):(i.rectAreaLTC1=ht.LTC_HALF_1,i.rectAreaLTC2=ht.LTC_HALF_2):r.has("OES_texture_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_FLOAT_1,i.rectAreaLTC2=ht.LTC_FLOAT_2):r.has("OES_texture_half_float_linear")===!0?(i.rectAreaLTC1=ht.LTC_HALF_1,i.rectAreaLTC2=ht.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=f,i.ambient[1]=d,i.ambient[2]=_;const E=i.hash;(E.directionalLength!==g||E.pointLength!==p||E.spotLength!==m||E.rectAreaLength!==y||E.hemiLength!==v||E.numDirectionalShadows!==S||E.numPointShadows!==w||E.numSpotShadows!==R||E.numSpotMaps!==b||E.numLightProbes!==F)&&(i.directional.length=g,i.spot.length=m,i.rectArea.length=y,i.point.length=p,i.hemi.length=v,i.directionalShadow.length=S,i.directionalShadowMap.length=S,i.pointShadow.length=w,i.pointShadowMap.length=w,i.spotShadow.length=R,i.spotShadowMap.length=R,i.directionalShadowMatrix.length=S,i.pointShadowMatrix.length=w,i.spotLightMatrix.length=R+b-U,i.spotLightMap.length=b,i.numSpotLightShadowsWithMaps=U,i.numLightProbes=F,E.directionalLength=g,E.pointLength=p,E.spotLength=m,E.rectAreaLength=y,E.hemiLength=v,E.numDirectionalShadows=S,E.numPointShadows=w,E.numSpotShadows=R,E.numSpotMaps=b,E.numLightProbes=F,i.version=xS++)}function c(h,u){let f=0,d=0,_=0,g=0,p=0;const m=u.matrixWorldInverse;for(let y=0,v=h.length;y=a.length?(l=new Ju(r,t),a.push(l)):l=a[o],l}function i(){e=new WeakMap}return{get:n,dispose:i}}class bS extends Qn{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=a0,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class ES extends Qn{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}const TS=`void main() { gl_Position = vec4( position, 1.0 ); -}`,wS=`uniform sampler2D shadow_pass; +}`,AS=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3854,7 +3854,7 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function CS(r,t,e){let n=new Ic;const i=new it,s=new it,o=new se,a=new ES({depthPacking:l0}),l=new TS,c={},h=e.maxTextureSize,u={[bi]:Je,[Je]:bi,[bn]:bn},f=new Ti({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new it},radius:{value:4}},vertexShader:AS,fragmentShader:wS}),d=f.clone();d.defines.HORIZONTAL_PASS=1;const _=new Ue;_.setAttribute("position",new xn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new Ye(_,f),p=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=zd;let m=this.type;this.render=function(C,E,N){if(p.enabled===!1||p.autoUpdate===!1&&p.needsUpdate===!1||C.length===0)return;const U=r.getRenderTarget(),x=r.getActiveCubeFace(),b=r.getActiveMipmapLevel(),k=r.state;k.setBlending(_i),k.buffers.color.setClear(1,1,1,1),k.buffers.depth.setTest(!0),k.setScissorTest(!1);const W=m!==Gn&&this.type===Gn,I=m===Gn&&this.type!==Gn;for(let F=0,O=C.length;Fh||i.y>h)&&(i.x>h&&(s.x=Math.floor(h/$.x),i.x=s.x*$.x,q.mapSize.x=s.x),i.y>h&&(s.y=Math.floor(h/$.y),i.y=s.y*$.y,q.mapSize.y=s.y)),q.map===null||W===!0||I===!0){const J=this.type!==Gn?{minFilter:Pe,magFilter:Pe}:{};q.map!==null&&q.map.dispose(),q.map=new Zi(i.x,i.y,J),q.map.texture.name=Y.name+".shadowMap",q.camera.updateProjectionMatrix()}r.setRenderTarget(q.map),r.clear();const Z=q.getViewportCount();for(let J=0;J0||E.map&&E.alphaTest>0){const k=x.uuid,W=E.uuid;let I=c[k];I===void 0&&(I={},c[k]=I);let F=I[W];F===void 0&&(F=x.clone(),I[W]=F,E.addEventListener("dispose",w)),x=F}if(x.visible=E.visible,x.wireframe=E.wireframe,U===Gn?x.side=E.shadowSide!==null?E.shadowSide:E.side:x.side=E.shadowSide!==null?E.shadowSide:u[E.side],x.alphaMap=E.alphaMap,x.alphaTest=E.alphaTest,x.map=E.map,x.clipShadows=E.clipShadows,x.clippingPlanes=E.clippingPlanes,x.clipIntersection=E.clipIntersection,x.displacementMap=E.displacementMap,x.displacementScale=E.displacementScale,x.displacementBias=E.displacementBias,x.wireframeLinewidth=E.wireframeLinewidth,x.linewidth=E.linewidth,N.isPointLight===!0&&x.isMeshDistanceMaterial===!0){const k=r.properties.get(x);k.light=N}return x}function S(C,E,N,U,x){if(C.visible===!1)return;if(C.layers.test(E.layers)&&(C.isMesh||C.isLine||C.isPoints)&&(C.castShadow||C.receiveShadow&&x===Gn)&&(!C.frustumCulled||n.intersectsObject(C))){C.modelViewMatrix.multiplyMatrices(N.matrixWorldInverse,C.matrixWorld);const W=t.update(C),I=C.material;if(Array.isArray(I)){const F=W.groups;for(let O=0,Y=F.length;O=1):Z.indexOf("OpenGL ES")!==-1&&($=parseFloat(/^OpenGL ES (\d)/.exec(Z)[1]),q=$>=2);let J=null,ut={};const bt=r.getParameter(r.SCISSOR_BOX),V=r.getParameter(r.VIEWPORT),Q=new se().fromArray(bt),_t=new se().fromArray(V);function Mt(R,at,st,St){const Lt=new Uint8Array(4),Kt=r.createTexture();r.bindTexture(R,Kt),r.texParameteri(R,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(R,r.TEXTURE_MAG_FILTER,r.NEAREST);for(let Yt=0;Ytrt||T.height>rt)&&(et=rt/Math.max(T.width,T.height)),et<1||M===!0)if(typeof HTMLImageElement!="undefined"&&T instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&T instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&T instanceof ImageBitmap){const tt=M?eo:Math.floor,yt=tt(et*T.width),ft=tt(et*T.height);u===void 0&&(u=_(yt,ft));const gt=B?_(yt,ft):u;return gt.width=yt,gt.height=ft,gt.getContext("2d").drawImage(T,0,0,yt,ft),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+T.width+"x"+T.height+") to ("+yt+"x"+ft+")."),gt}else return"data"in T&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+T.width+"x"+T.height+")."),T;return T}function p(T){return jl(T.width)&&jl(T.height)}function m(T){return a?!1:T.wrapS!==En||T.wrapT!==En||T.minFilter!==Pe&&T.minFilter!==Xe}function y(T,M){return T.generateMipmaps&&M&&T.minFilter!==Pe&&T.minFilter!==Xe}function v(T){r.generateMipmap(T)}function S(T,M,B,rt,et=!1){if(a===!1)return M;if(T!==null){if(r[T]!==void 0)return r[T];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+T+"'")}let tt=M;if(M===r.RED&&(B===r.FLOAT&&(tt=r.R32F),B===r.HALF_FLOAT&&(tt=r.R16F),B===r.UNSIGNED_BYTE&&(tt=r.R8)),M===r.RED_INTEGER&&(B===r.UNSIGNED_BYTE&&(tt=r.R8UI),B===r.UNSIGNED_SHORT&&(tt=r.R16UI),B===r.UNSIGNED_INT&&(tt=r.R32UI),B===r.BYTE&&(tt=r.R8I),B===r.SHORT&&(tt=r.R16I),B===r.INT&&(tt=r.R32I)),M===r.RG&&(B===r.FLOAT&&(tt=r.RG32F),B===r.HALF_FLOAT&&(tt=r.RG16F),B===r.UNSIGNED_BYTE&&(tt=r.RG8)),M===r.RGBA){const yt=et?Ka:ee.getTransfer(rt);B===r.FLOAT&&(tt=r.RGBA32F),B===r.HALF_FLOAT&&(tt=r.RGBA16F),B===r.UNSIGNED_BYTE&&(tt=yt===oe?r.SRGB8_ALPHA8:r.RGBA8),B===r.UNSIGNED_SHORT_4_4_4_4&&(tt=r.RGBA4),B===r.UNSIGNED_SHORT_5_5_5_1&&(tt=r.RGB5_A1)}return(tt===r.R16F||tt===r.R32F||tt===r.RG16F||tt===r.RG32F||tt===r.RGBA16F||tt===r.RGBA32F)&&t.get("EXT_color_buffer_float"),tt}function w(T,M,B){return y(T,B)===!0||T.isFramebufferTexture&&T.minFilter!==Pe&&T.minFilter!==Xe?Math.log2(Math.max(M.width,M.height))+1:T.mipmaps!==void 0&&T.mipmaps.length>0?T.mipmaps.length:T.isCompressedTexture&&Array.isArray(T.image)?M.mipmaps.length:1}function C(T){return T===Pe||T===Uh||T===ts?r.NEAREST:r.LINEAR}function E(T){const M=T.target;M.removeEventListener("dispose",E),U(M),M.isVideoTexture&&h.delete(M)}function N(T){const M=T.target;M.removeEventListener("dispose",N),b(M)}function U(T){const M=n.get(T);if(M.__webglInit===void 0)return;const B=T.source,rt=f.get(B);if(rt){const et=rt[M.__cacheKey];et.usedTimes--,et.usedTimes===0&&x(T),Object.keys(rt).length===0&&f.delete(B)}n.remove(T)}function x(T){const M=n.get(T);r.deleteTexture(M.__webglTexture);const B=T.source,rt=f.get(B);delete rt[M.__cacheKey],o.memory.textures--}function b(T){const M=T.texture,B=n.get(T),rt=n.get(M);if(rt.__webglTexture!==void 0&&(r.deleteTexture(rt.__webglTexture),o.memory.textures--),T.depthTexture&&T.depthTexture.dispose(),T.isWebGLCubeRenderTarget)for(let et=0;et<6;et++){if(Array.isArray(B.__webglFramebuffer[et]))for(let tt=0;tt=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+T+" texture units while this GPU supports only "+i.maxTextures),k+=1,T}function F(T){const M=[];return M.push(T.wrapS),M.push(T.wrapT),M.push(T.wrapR||0),M.push(T.magFilter),M.push(T.minFilter),M.push(T.anisotropy),M.push(T.internalFormat),M.push(T.format),M.push(T.type),M.push(T.generateMipmaps),M.push(T.premultiplyAlpha),M.push(T.flipY),M.push(T.unpackAlignment),M.push(T.colorSpace),M.join()}function O(T,M){const B=n.get(T);if(T.isVideoTexture&&Et(T),T.isRenderTargetTexture===!1&&T.version>0&&B.__version!==T.version){const rt=T.image;if(rt===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(rt.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Q(B,T,M);return}}e.bindTexture(r.TEXTURE_2D,B.__webglTexture,r.TEXTURE0+M)}function Y(T,M){const B=n.get(T);if(T.version>0&&B.__version!==T.version){Q(B,T,M);return}e.bindTexture(r.TEXTURE_2D_ARRAY,B.__webglTexture,r.TEXTURE0+M)}function q(T,M){const B=n.get(T);if(T.version>0&&B.__version!==T.version){Q(B,T,M);return}e.bindTexture(r.TEXTURE_3D,B.__webglTexture,r.TEXTURE0+M)}function $(T,M){const B=n.get(T);if(T.version>0&&B.__version!==T.version){_t(B,T,M);return}e.bindTexture(r.TEXTURE_CUBE_MAP,B.__webglTexture,r.TEXTURE0+M)}const Z={[$a]:r.REPEAT,[En]:r.CLAMP_TO_EDGE,[ql]:r.MIRRORED_REPEAT},J={[Pe]:r.NEAREST,[Uh]:r.NEAREST_MIPMAP_NEAREST,[ts]:r.NEAREST_MIPMAP_LINEAR,[Xe]:r.LINEAR,[zo]:r.LINEAR_MIPMAP_NEAREST,[Vi]:r.LINEAR_MIPMAP_LINEAR},ut={[h0]:r.NEVER,[_0]:r.ALWAYS,[u0]:r.LESS,[jd]:r.LEQUAL,[f0]:r.EQUAL,[m0]:r.GEQUAL,[d0]:r.GREATER,[p0]:r.NOTEQUAL};function bt(T,M,B){if(M.type===Ln&&t.has("OES_texture_float_linear")===!1&&(M.magFilter===Xe||M.magFilter===zo||M.magFilter===ts||M.magFilter===Vi||M.minFilter===Xe||M.minFilter===zo||M.minFilter===ts||M.minFilter===Vi)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),B?(r.texParameteri(T,r.TEXTURE_WRAP_S,Z[M.wrapS]),r.texParameteri(T,r.TEXTURE_WRAP_T,Z[M.wrapT]),(T===r.TEXTURE_3D||T===r.TEXTURE_2D_ARRAY)&&r.texParameteri(T,r.TEXTURE_WRAP_R,Z[M.wrapR]),r.texParameteri(T,r.TEXTURE_MAG_FILTER,J[M.magFilter]),r.texParameteri(T,r.TEXTURE_MIN_FILTER,J[M.minFilter])):(r.texParameteri(T,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(T,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),(T===r.TEXTURE_3D||T===r.TEXTURE_2D_ARRAY)&&r.texParameteri(T,r.TEXTURE_WRAP_R,r.CLAMP_TO_EDGE),(M.wrapS!==En||M.wrapT!==En)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),r.texParameteri(T,r.TEXTURE_MAG_FILTER,C(M.magFilter)),r.texParameteri(T,r.TEXTURE_MIN_FILTER,C(M.minFilter)),M.minFilter!==Pe&&M.minFilter!==Xe&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),M.compareFunction&&(r.texParameteri(T,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE),r.texParameteri(T,r.TEXTURE_COMPARE_FUNC,ut[M.compareFunction])),t.has("EXT_texture_filter_anisotropic")===!0){const rt=t.get("EXT_texture_filter_anisotropic");if(M.magFilter===Pe||M.minFilter!==ts&&M.minFilter!==Vi||M.type===Ln&&t.has("OES_texture_float_linear")===!1||a===!1&&M.type===Ls&&t.has("OES_texture_half_float_linear")===!1)return;(M.anisotropy>1||n.get(M).__currentAnisotropy)&&(r.texParameterf(T,rt.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(M.anisotropy,i.getMaxAnisotropy())),n.get(M).__currentAnisotropy=M.anisotropy)}}function V(T,M){let B=!1;T.__webglInit===void 0&&(T.__webglInit=!0,M.addEventListener("dispose",E));const rt=M.source;let et=f.get(rt);et===void 0&&(et={},f.set(rt,et));const tt=F(M);if(tt!==T.__cacheKey){et[tt]===void 0&&(et[tt]={texture:r.createTexture(),usedTimes:0},o.memory.textures++,B=!0),et[tt].usedTimes++;const yt=et[T.__cacheKey];yt!==void 0&&(et[T.__cacheKey].usedTimes--,yt.usedTimes===0&&x(M)),T.__cacheKey=tt,T.__webglTexture=et[tt].texture}return B}function Q(T,M,B){let rt=r.TEXTURE_2D;(M.isDataArrayTexture||M.isCompressedArrayTexture)&&(rt=r.TEXTURE_2D_ARRAY),M.isData3DTexture&&(rt=r.TEXTURE_3D);const et=V(T,M),tt=M.source;e.bindTexture(rt,T.__webglTexture,r.TEXTURE0+B);const yt=n.get(tt);if(tt.version!==yt.__version||et===!0){e.activeTexture(r.TEXTURE0+B);const ft=ee.getPrimaries(ee.workingColorSpace),gt=M.colorSpace===mn?null:ee.getPrimaries(M.colorSpace),Pt=M.colorSpace===mn||ft===gt?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,M.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,M.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,M.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,Pt);const Ft=m(M)&&p(M.image)===!1;let nt=g(M.image,Ft,!1,i.maxTextureSize);nt=pt(M,nt);const Zt=p(nt)||a,Gt=s.convert(M.format,M.colorSpace);let It=s.convert(M.type),Ct=S(M.internalFormat,Gt,It,M.colorSpace,M.isVideoTexture);bt(rt,M,Zt);let mt;const kt=M.mipmaps,P=a&&M.isVideoTexture!==!0&&Ct!==Yd,lt=yt.__version===void 0||et===!0,dt=tt.dataReady,Rt=w(M,nt,Zt);if(M.isDepthTexture)Ct=r.DEPTH_COMPONENT,a?M.type===Ln?Ct=r.DEPTH_COMPONENT32F:M.type===fi?Ct=r.DEPTH_COMPONENT24:M.type===qi?Ct=r.DEPTH24_STENCIL8:Ct=r.DEPTH_COMPONENT16:M.type===Ln&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),M.format===Yi&&Ct===r.DEPTH_COMPONENT&&M.type!==wc&&M.type!==fi&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),M.type=fi,It=s.convert(M.type)),M.format===Hr&&Ct===r.DEPTH_COMPONENT&&(Ct=r.DEPTH_STENCIL,M.type!==qi&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),M.type=qi,It=s.convert(M.type))),lt&&(P?e.texStorage2D(r.TEXTURE_2D,1,Ct,nt.width,nt.height):e.texImage2D(r.TEXTURE_2D,0,Ct,nt.width,nt.height,0,Gt,It,null));else if(M.isDataTexture)if(kt.length>0&&Zt){P&<&&e.texStorage2D(r.TEXTURE_2D,Rt,Ct,kt[0].width,kt[0].height);for(let R=0,at=kt.length;R>=1,at>>=1}}else if(kt.length>0&&Zt){P&<&&e.texStorage2D(r.TEXTURE_2D,Rt,Ct,kt[0].width,kt[0].height);for(let R=0,at=kt.length;R0&&dt++,e.texStorage2D(r.TEXTURE_CUBE_MAP,dt,mt,nt[0].width,nt[0].height));for(let R=0;R<6;R++)if(Ft){kt?lt&&e.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+R,0,0,0,nt[R].width,nt[R].height,It,Ct,nt[R].data):e.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+R,0,mt,nt[R].width,nt[R].height,0,It,Ct,nt[R].data);for(let at=0;at>tt),nt=Math.max(1,M.height>>tt);et===r.TEXTURE_3D||et===r.TEXTURE_2D_ARRAY?e.texImage3D(et,tt,gt,Ft,nt,M.depth,0,yt,ft,null):e.texImage2D(et,tt,gt,Ft,nt,0,yt,ft,null)}e.bindFramebuffer(r.FRAMEBUFFER,T),K(M)?l.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,rt,et,n.get(B).__webglTexture,0,ot(M)):(et===r.TEXTURE_2D||et>=r.TEXTURE_CUBE_MAP_POSITIVE_X&&et<=r.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&r.framebufferTexture2D(r.FRAMEBUFFER,rt,et,n.get(B).__webglTexture,tt),e.bindFramebuffer(r.FRAMEBUFFER,null)}function Tt(T,M,B){if(r.bindRenderbuffer(r.RENDERBUFFER,T),M.depthBuffer&&!M.stencilBuffer){let rt=a===!0?r.DEPTH_COMPONENT24:r.DEPTH_COMPONENT16;if(B||K(M)){const et=M.depthTexture;et&&et.isDepthTexture&&(et.type===Ln?rt=r.DEPTH_COMPONENT32F:et.type===fi&&(rt=r.DEPTH_COMPONENT24));const tt=ot(M);K(M)?l.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,tt,rt,M.width,M.height):r.renderbufferStorageMultisample(r.RENDERBUFFER,tt,rt,M.width,M.height)}else r.renderbufferStorage(r.RENDERBUFFER,rt,M.width,M.height);r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,T)}else if(M.depthBuffer&&M.stencilBuffer){const rt=ot(M);B&&K(M)===!1?r.renderbufferStorageMultisample(r.RENDERBUFFER,rt,r.DEPTH24_STENCIL8,M.width,M.height):K(M)?l.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,rt,r.DEPTH24_STENCIL8,M.width,M.height):r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,M.width,M.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,T)}else{const rt=M.isWebGLMultipleRenderTargets===!0?M.texture:[M.texture];for(let et=0;et0){B.__webglFramebuffer[ft]=[];for(let gt=0;gt0){B.__webglFramebuffer=[];for(let ft=0;ft0&&K(T)===!1){const ft=tt?M:[M];B.__webglMultisampledFramebuffer=r.createFramebuffer(),B.__webglColorRenderbuffer=[],e.bindFramebuffer(r.FRAMEBUFFER,B.__webglMultisampledFramebuffer);for(let gt=0;gt0)for(let gt=0;gt0)for(let gt=0;gt0&&K(T)===!1){const M=T.isWebGLMultipleRenderTargets?T.texture:[T.texture],B=T.width,rt=T.height;let et=r.COLOR_BUFFER_BIT;const tt=[],yt=T.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,ft=n.get(T),gt=T.isWebGLMultipleRenderTargets===!0;if(gt)for(let Pt=0;Pt0&&t.has("WEBGL_multisampled_render_to_texture")===!0&&M.__useRenderToTexture!==!1}function Et(T){const M=o.render.frame;h.get(T)!==M&&(h.set(T,M),T.update())}function pt(T,M){const B=T.colorSpace,rt=T.format,et=T.type;return T.isCompressedTexture===!0||T.isVideoTexture===!0||T.format===$l||B!==Kn&&B!==mn&&(ee.getTransfer(B)===oe?a===!1?t.has("EXT_sRGB")===!0&&rt===pn?(T.format=$l,T.minFilter=Xe,T.generateMipmaps=!1):M=Kd.sRGBToLinear(M):(rt!==pn||et!==vi)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",B)),M}this.allocateTextureUnit=I,this.resetTextureUnits=W,this.setTexture2D=O,this.setTexture2DArray=Y,this.setTexture3D=q,this.setTextureCube=$,this.rebindTextures=wt,this.setupRenderTarget=L,this.updateRenderTargetMipmap=ct,this.updateMultisampleRenderTarget=j,this.setupDepthRenderbuffer=Ot,this.setupFrameBufferTexture=Mt,this.useMultisampledRTT=K}function LS(r,t,e){const n=e.isWebGL2;function i(s,o=mn){let a;const l=ee.getTransfer(o);if(s===vi)return r.UNSIGNED_BYTE;if(s===Hd)return r.UNSIGNED_SHORT_4_4_4_4;if(s===Gd)return r.UNSIGNED_SHORT_5_5_5_1;if(s===Jg)return r.BYTE;if(s===Qg)return r.SHORT;if(s===wc)return r.UNSIGNED_SHORT;if(s===Vd)return r.INT;if(s===fi)return r.UNSIGNED_INT;if(s===Ln)return r.FLOAT;if(s===Ls)return n?r.HALF_FLOAT:(a=t.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===t0)return r.ALPHA;if(s===pn)return r.RGBA;if(s===e0)return r.LUMINANCE;if(s===n0)return r.LUMINANCE_ALPHA;if(s===Yi)return r.DEPTH_COMPONENT;if(s===Hr)return r.DEPTH_STENCIL;if(s===$l)return a=t.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===i0)return r.RED;if(s===Wd)return r.RED_INTEGER;if(s===r0)return r.RG;if(s===Xd)return r.RG_INTEGER;if(s===qd)return r.RGBA_INTEGER;if(s===ko||s===Vo||s===Ho||s===Go)if(l===oe)if(a=t.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===ko)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Vo)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Ho)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Go)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=t.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===ko)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Vo)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Ho)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Go)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===Oh||s===Fh||s===Bh||s===zh)if(a=t.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===Oh)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===Fh)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Bh)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===zh)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===Yd)return a=t.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===kh||s===Vh)if(a=t.get("WEBGL_compressed_texture_etc"),a!==null){if(s===kh)return l===oe?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===Vh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Hh||s===Gh||s===Wh||s===Xh||s===qh||s===Yh||s===$h||s===jh||s===Zh||s===Kh||s===Jh||s===Qh||s===tu||s===eu)if(a=t.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Hh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Gh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Wh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Xh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===qh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===Yh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===$h)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===jh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Zh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===Kh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Jh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===Qh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===tu)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===eu)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Wo||s===nu||s===iu)if(a=t.get("EXT_texture_compression_bptc"),a!==null){if(s===Wo)return l===oe?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===nu)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===iu)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===s0||s===ru||s===su||s===au)if(a=t.get("EXT_texture_compression_rgtc"),a!==null){if(s===Wo)return a.COMPRESSED_RED_RGTC1_EXT;if(s===ru)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===su)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===au)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===qi?n?r.UNSIGNED_INT_24_8:(a=t.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):r[s]!==void 0?r[s]:null}return{convert:i}}class DS extends qe{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t}}class ms extends _e{constructor(){super(),this.isGroup=!0,this.type="Group"}}const IS={type:"move"};class pl{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ms,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new ms,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new D,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new D),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new ms,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new D,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new D),this._grip}dispatchEvent(t){return this._targetRay!==null&&this._targetRay.dispatchEvent(t),this._grip!==null&&this._grip.dispatchEvent(t),this._hand!==null&&this._hand.dispatchEvent(t),this}connect(t){if(t&&t.hand){const e=this._hand;if(e)for(const n of t.hand.values())this._getHandJoint(e,n)}return this.dispatchEvent({type:"connected",data:t}),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(t,e,n){let i=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(t&&e.session.visibilityState!=="visible-blurred"){if(c&&t.hand){o=!0;for(const g of t.hand.values()){const p=e.getJointPose(g,n),m=this._getHandJoint(c,g);p!==null&&(m.matrix.fromArray(p.transform.matrix),m.matrix.decompose(m.position,m.rotation,m.scale),m.matrixWorldNeedsUpdate=!0,m.jointRadius=p.radius),m.visible=p!==null}const h=c.joints["index-finger-tip"],u=c.joints["thumb-tip"],f=h.position.distanceTo(u.position),d=.02,_=.005;c.inputState.pinching&&f>d+_?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!c.inputState.pinching&&f<=d-_&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else l!==null&&t.gripSpace&&(s=e.getPose(t.gripSpace,n),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(i=e.getPose(t.targetRaySpace,n),i===null&&s!==null&&(i=s),i!==null&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(IS)))}return a!==null&&(a.visible=i!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(t,e){if(t.joints[e.jointName]===void 0){const n=new ms;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}const NS=` +}`;function wS(r,t,e){let n=new Ic;const i=new it,s=new it,o=new se,a=new bS({depthPacking:o0}),l=new ES,c={},h=e.maxTextureSize,u={[bi]:Je,[Je]:bi,[bn]:bn},f=new Ti({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new it},radius:{value:4}},vertexShader:TS,fragmentShader:AS}),d=f.clone();d.defines.HORIZONTAL_PASS=1;const _=new Ne;_.setAttribute("position",new xn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new Ye(_,f),p=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Fd;let m=this.type;this.render=function(R,b,U){if(p.enabled===!1||p.autoUpdate===!1&&p.needsUpdate===!1||R.length===0)return;const F=r.getRenderTarget(),x=r.getActiveCubeFace(),E=r.getActiveMipmapLevel(),k=r.state;k.setBlending(_i),k.buffers.color.setClear(1,1,1,1),k.buffers.depth.setTest(!0),k.setScissorTest(!1);const W=m!==Gn&&this.type===Gn,I=m===Gn&&this.type!==Gn;for(let O=0,N=R.length;Oh||i.y>h)&&(i.x>h&&(s.x=Math.floor(h/$.x),i.x=s.x*$.x,X.mapSize.x=s.x),i.y>h&&(s.y=Math.floor(h/$.y),i.y=s.y*$.y,X.mapSize.y=s.y)),X.map===null||W===!0||I===!0){const J=this.type!==Gn?{minFilter:Pe,magFilter:Pe}:{};X.map!==null&&X.map.dispose(),X.map=new Zi(i.x,i.y,J),X.map.texture.name=Y.name+".shadowMap",X.camera.updateProjectionMatrix()}r.setRenderTarget(X.map),r.clear();const Z=X.getViewportCount();for(let J=0;J0||b.map&&b.alphaTest>0){const k=x.uuid,W=b.uuid;let I=c[k];I===void 0&&(I={},c[k]=I);let O=I[W];O===void 0&&(O=x.clone(),I[W]=O,b.addEventListener("dispose",w)),x=O}if(x.visible=b.visible,x.wireframe=b.wireframe,F===Gn?x.side=b.shadowSide!==null?b.shadowSide:b.side:x.side=b.shadowSide!==null?b.shadowSide:u[b.side],x.alphaMap=b.alphaMap,x.alphaTest=b.alphaTest,x.map=b.map,x.clipShadows=b.clipShadows,x.clippingPlanes=b.clippingPlanes,x.clipIntersection=b.clipIntersection,x.displacementMap=b.displacementMap,x.displacementScale=b.displacementScale,x.displacementBias=b.displacementBias,x.wireframeLinewidth=b.wireframeLinewidth,x.linewidth=b.linewidth,U.isPointLight===!0&&x.isMeshDistanceMaterial===!0){const k=r.properties.get(x);k.light=U}return x}function S(R,b,U,F,x){if(R.visible===!1)return;if(R.layers.test(b.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&x===Gn)&&(!R.frustumCulled||n.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,R.matrixWorld);const W=t.update(R),I=R.material;if(Array.isArray(I)){const O=W.groups;for(let N=0,Y=O.length;N=1):Z.indexOf("OpenGL ES")!==-1&&($=parseFloat(/^OpenGL ES (\d)/.exec(Z)[1]),X=$>=2);let J=null,ut={};const bt=r.getParameter(r.SCISSOR_BOX),V=r.getParameter(r.VIEWPORT),Q=new se().fromArray(bt),_t=new se().fromArray(V);function Mt(C,at,st,St){const Lt=new Uint8Array(4),Kt=r.createTexture();r.bindTexture(C,Kt),r.texParameteri(C,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(C,r.TEXTURE_MAG_FILTER,r.NEAREST);for(let Yt=0;Ytrt||T.height>rt)&&(et=rt/Math.max(T.width,T.height)),et<1||M===!0)if(typeof HTMLImageElement!="undefined"&&T instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&T instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&T instanceof ImageBitmap){const tt=M?eo:Math.floor,yt=tt(et*T.width),ft=tt(et*T.height);u===void 0&&(u=_(yt,ft));const gt=B?_(yt,ft):u;return gt.width=yt,gt.height=ft,gt.getContext("2d").drawImage(T,0,0,yt,ft),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+T.width+"x"+T.height+") to ("+yt+"x"+ft+")."),gt}else return"data"in T&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+T.width+"x"+T.height+")."),T;return T}function p(T){return jl(T.width)&&jl(T.height)}function m(T){return a?!1:T.wrapS!==En||T.wrapT!==En||T.minFilter!==Pe&&T.minFilter!==We}function y(T,M){return T.generateMipmaps&&M&&T.minFilter!==Pe&&T.minFilter!==We}function v(T){r.generateMipmap(T)}function S(T,M,B,rt,et=!1){if(a===!1)return M;if(T!==null){if(r[T]!==void 0)return r[T];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+T+"'")}let tt=M;if(M===r.RED&&(B===r.FLOAT&&(tt=r.R32F),B===r.HALF_FLOAT&&(tt=r.R16F),B===r.UNSIGNED_BYTE&&(tt=r.R8)),M===r.RED_INTEGER&&(B===r.UNSIGNED_BYTE&&(tt=r.R8UI),B===r.UNSIGNED_SHORT&&(tt=r.R16UI),B===r.UNSIGNED_INT&&(tt=r.R32UI),B===r.BYTE&&(tt=r.R8I),B===r.SHORT&&(tt=r.R16I),B===r.INT&&(tt=r.R32I)),M===r.RG&&(B===r.FLOAT&&(tt=r.RG32F),B===r.HALF_FLOAT&&(tt=r.RG16F),B===r.UNSIGNED_BYTE&&(tt=r.RG8)),M===r.RGBA){const yt=et?Ka:ee.getTransfer(rt);B===r.FLOAT&&(tt=r.RGBA32F),B===r.HALF_FLOAT&&(tt=r.RGBA16F),B===r.UNSIGNED_BYTE&&(tt=yt===oe?r.SRGB8_ALPHA8:r.RGBA8),B===r.UNSIGNED_SHORT_4_4_4_4&&(tt=r.RGBA4),B===r.UNSIGNED_SHORT_5_5_5_1&&(tt=r.RGB5_A1)}return(tt===r.R16F||tt===r.R32F||tt===r.RG16F||tt===r.RG32F||tt===r.RGBA16F||tt===r.RGBA32F)&&t.get("EXT_color_buffer_float"),tt}function w(T,M,B){return y(T,B)===!0||T.isFramebufferTexture&&T.minFilter!==Pe&&T.minFilter!==We?Math.log2(Math.max(M.width,M.height))+1:T.mipmaps!==void 0&&T.mipmaps.length>0?T.mipmaps.length:T.isCompressedTexture&&Array.isArray(T.image)?M.mipmaps.length:1}function R(T){return T===Pe||T===Nh||T===Qr?r.NEAREST:r.LINEAR}function b(T){const M=T.target;M.removeEventListener("dispose",b),F(M),M.isVideoTexture&&h.delete(M)}function U(T){const M=T.target;M.removeEventListener("dispose",U),E(M)}function F(T){const M=n.get(T);if(M.__webglInit===void 0)return;const B=T.source,rt=f.get(B);if(rt){const et=rt[M.__cacheKey];et.usedTimes--,et.usedTimes===0&&x(T),Object.keys(rt).length===0&&f.delete(B)}n.remove(T)}function x(T){const M=n.get(T);r.deleteTexture(M.__webglTexture);const B=T.source,rt=f.get(B);delete rt[M.__cacheKey],o.memory.textures--}function E(T){const M=T.texture,B=n.get(T),rt=n.get(M);if(rt.__webglTexture!==void 0&&(r.deleteTexture(rt.__webglTexture),o.memory.textures--),T.depthTexture&&T.depthTexture.dispose(),T.isWebGLCubeRenderTarget)for(let et=0;et<6;et++){if(Array.isArray(B.__webglFramebuffer[et]))for(let tt=0;tt=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+T+" texture units while this GPU supports only "+i.maxTextures),k+=1,T}function O(T){const M=[];return M.push(T.wrapS),M.push(T.wrapT),M.push(T.wrapR||0),M.push(T.magFilter),M.push(T.minFilter),M.push(T.anisotropy),M.push(T.internalFormat),M.push(T.format),M.push(T.type),M.push(T.generateMipmaps),M.push(T.premultiplyAlpha),M.push(T.flipY),M.push(T.unpackAlignment),M.push(T.colorSpace),M.join()}function N(T,M){const B=n.get(T);if(T.isVideoTexture&&Et(T),T.isRenderTargetTexture===!1&&T.version>0&&B.__version!==T.version){const rt=T.image;if(rt===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(rt.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Q(B,T,M);return}}e.bindTexture(r.TEXTURE_2D,B.__webglTexture,r.TEXTURE0+M)}function Y(T,M){const B=n.get(T);if(T.version>0&&B.__version!==T.version){Q(B,T,M);return}e.bindTexture(r.TEXTURE_2D_ARRAY,B.__webglTexture,r.TEXTURE0+M)}function X(T,M){const B=n.get(T);if(T.version>0&&B.__version!==T.version){Q(B,T,M);return}e.bindTexture(r.TEXTURE_3D,B.__webglTexture,r.TEXTURE0+M)}function $(T,M){const B=n.get(T);if(T.version>0&&B.__version!==T.version){_t(B,T,M);return}e.bindTexture(r.TEXTURE_CUBE_MAP,B.__webglTexture,r.TEXTURE0+M)}const Z={[$a]:r.REPEAT,[En]:r.CLAMP_TO_EDGE,[ql]:r.MIRRORED_REPEAT},J={[Pe]:r.NEAREST,[Nh]:r.NEAREST_MIPMAP_NEAREST,[Qr]:r.NEAREST_MIPMAP_LINEAR,[We]:r.LINEAR,[zo]:r.LINEAR_MIPMAP_NEAREST,[Vi]:r.LINEAR_MIPMAP_LINEAR},ut={[c0]:r.NEVER,[m0]:r.ALWAYS,[h0]:r.LESS,[Yd]:r.LEQUAL,[u0]:r.EQUAL,[p0]:r.GEQUAL,[f0]:r.GREATER,[d0]:r.NOTEQUAL};function bt(T,M,B){if(M.type===Ln&&t.has("OES_texture_float_linear")===!1&&(M.magFilter===We||M.magFilter===zo||M.magFilter===Qr||M.magFilter===Vi||M.minFilter===We||M.minFilter===zo||M.minFilter===Qr||M.minFilter===Vi)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),B?(r.texParameteri(T,r.TEXTURE_WRAP_S,Z[M.wrapS]),r.texParameteri(T,r.TEXTURE_WRAP_T,Z[M.wrapT]),(T===r.TEXTURE_3D||T===r.TEXTURE_2D_ARRAY)&&r.texParameteri(T,r.TEXTURE_WRAP_R,Z[M.wrapR]),r.texParameteri(T,r.TEXTURE_MAG_FILTER,J[M.magFilter]),r.texParameteri(T,r.TEXTURE_MIN_FILTER,J[M.minFilter])):(r.texParameteri(T,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(T,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),(T===r.TEXTURE_3D||T===r.TEXTURE_2D_ARRAY)&&r.texParameteri(T,r.TEXTURE_WRAP_R,r.CLAMP_TO_EDGE),(M.wrapS!==En||M.wrapT!==En)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),r.texParameteri(T,r.TEXTURE_MAG_FILTER,R(M.magFilter)),r.texParameteri(T,r.TEXTURE_MIN_FILTER,R(M.minFilter)),M.minFilter!==Pe&&M.minFilter!==We&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),M.compareFunction&&(r.texParameteri(T,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE),r.texParameteri(T,r.TEXTURE_COMPARE_FUNC,ut[M.compareFunction])),t.has("EXT_texture_filter_anisotropic")===!0){const rt=t.get("EXT_texture_filter_anisotropic");if(M.magFilter===Pe||M.minFilter!==Qr&&M.minFilter!==Vi||M.type===Ln&&t.has("OES_texture_float_linear")===!1||a===!1&&M.type===Ls&&t.has("OES_texture_half_float_linear")===!1)return;(M.anisotropy>1||n.get(M).__currentAnisotropy)&&(r.texParameterf(T,rt.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(M.anisotropy,i.getMaxAnisotropy())),n.get(M).__currentAnisotropy=M.anisotropy)}}function V(T,M){let B=!1;T.__webglInit===void 0&&(T.__webglInit=!0,M.addEventListener("dispose",b));const rt=M.source;let et=f.get(rt);et===void 0&&(et={},f.set(rt,et));const tt=O(M);if(tt!==T.__cacheKey){et[tt]===void 0&&(et[tt]={texture:r.createTexture(),usedTimes:0},o.memory.textures++,B=!0),et[tt].usedTimes++;const yt=et[T.__cacheKey];yt!==void 0&&(et[T.__cacheKey].usedTimes--,yt.usedTimes===0&&x(M)),T.__cacheKey=tt,T.__webglTexture=et[tt].texture}return B}function Q(T,M,B){let rt=r.TEXTURE_2D;(M.isDataArrayTexture||M.isCompressedArrayTexture)&&(rt=r.TEXTURE_2D_ARRAY),M.isData3DTexture&&(rt=r.TEXTURE_3D);const et=V(T,M),tt=M.source;e.bindTexture(rt,T.__webglTexture,r.TEXTURE0+B);const yt=n.get(tt);if(tt.version!==yt.__version||et===!0){e.activeTexture(r.TEXTURE0+B);const ft=ee.getPrimaries(ee.workingColorSpace),gt=M.colorSpace===mn?null:ee.getPrimaries(M.colorSpace),Pt=M.colorSpace===mn||ft===gt?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,M.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,M.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,M.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,Pt);const Ft=m(M)&&p(M.image)===!1;let nt=g(M.image,Ft,!1,i.maxTextureSize);nt=pt(M,nt);const Zt=p(nt)||a,Gt=s.convert(M.format,M.colorSpace);let It=s.convert(M.type),Rt=S(M.internalFormat,Gt,It,M.colorSpace,M.isVideoTexture);bt(rt,M,Zt);let mt;const kt=M.mipmaps,P=a&&M.isVideoTexture!==!0&&Rt!==Xd,lt=yt.__version===void 0||et===!0,dt=tt.dataReady,Ct=w(M,nt,Zt);if(M.isDepthTexture)Rt=r.DEPTH_COMPONENT,a?M.type===Ln?Rt=r.DEPTH_COMPONENT32F:M.type===fi?Rt=r.DEPTH_COMPONENT24:M.type===qi?Rt=r.DEPTH24_STENCIL8:Rt=r.DEPTH_COMPONENT16:M.type===Ln&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),M.format===Yi&&Rt===r.DEPTH_COMPONENT&&M.type!==wc&&M.type!==fi&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),M.type=fi,It=s.convert(M.type)),M.format===Vr&&Rt===r.DEPTH_COMPONENT&&(Rt=r.DEPTH_STENCIL,M.type!==qi&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),M.type=qi,It=s.convert(M.type))),lt&&(P?e.texStorage2D(r.TEXTURE_2D,1,Rt,nt.width,nt.height):e.texImage2D(r.TEXTURE_2D,0,Rt,nt.width,nt.height,0,Gt,It,null));else if(M.isDataTexture)if(kt.length>0&&Zt){P&<&&e.texStorage2D(r.TEXTURE_2D,Ct,Rt,kt[0].width,kt[0].height);for(let C=0,at=kt.length;C>=1,at>>=1}}else if(kt.length>0&&Zt){P&<&&e.texStorage2D(r.TEXTURE_2D,Ct,Rt,kt[0].width,kt[0].height);for(let C=0,at=kt.length;C0&&dt++,e.texStorage2D(r.TEXTURE_CUBE_MAP,dt,mt,nt[0].width,nt[0].height));for(let C=0;C<6;C++)if(Ft){kt?lt&&e.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+C,0,0,0,nt[C].width,nt[C].height,It,Rt,nt[C].data):e.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+C,0,mt,nt[C].width,nt[C].height,0,It,Rt,nt[C].data);for(let at=0;at>tt),nt=Math.max(1,M.height>>tt);et===r.TEXTURE_3D||et===r.TEXTURE_2D_ARRAY?e.texImage3D(et,tt,gt,Ft,nt,M.depth,0,yt,ft,null):e.texImage2D(et,tt,gt,Ft,nt,0,yt,ft,null)}e.bindFramebuffer(r.FRAMEBUFFER,T),K(M)?l.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,rt,et,n.get(B).__webglTexture,0,ot(M)):(et===r.TEXTURE_2D||et>=r.TEXTURE_CUBE_MAP_POSITIVE_X&&et<=r.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&r.framebufferTexture2D(r.FRAMEBUFFER,rt,et,n.get(B).__webglTexture,tt),e.bindFramebuffer(r.FRAMEBUFFER,null)}function Tt(T,M,B){if(r.bindRenderbuffer(r.RENDERBUFFER,T),M.depthBuffer&&!M.stencilBuffer){let rt=a===!0?r.DEPTH_COMPONENT24:r.DEPTH_COMPONENT16;if(B||K(M)){const et=M.depthTexture;et&&et.isDepthTexture&&(et.type===Ln?rt=r.DEPTH_COMPONENT32F:et.type===fi&&(rt=r.DEPTH_COMPONENT24));const tt=ot(M);K(M)?l.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,tt,rt,M.width,M.height):r.renderbufferStorageMultisample(r.RENDERBUFFER,tt,rt,M.width,M.height)}else r.renderbufferStorage(r.RENDERBUFFER,rt,M.width,M.height);r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,T)}else if(M.depthBuffer&&M.stencilBuffer){const rt=ot(M);B&&K(M)===!1?r.renderbufferStorageMultisample(r.RENDERBUFFER,rt,r.DEPTH24_STENCIL8,M.width,M.height):K(M)?l.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,rt,r.DEPTH24_STENCIL8,M.width,M.height):r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,M.width,M.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,T)}else{const rt=M.isWebGLMultipleRenderTargets===!0?M.texture:[M.texture];for(let et=0;et0){B.__webglFramebuffer[ft]=[];for(let gt=0;gt0){B.__webglFramebuffer=[];for(let ft=0;ft0&&K(T)===!1){const ft=tt?M:[M];B.__webglMultisampledFramebuffer=r.createFramebuffer(),B.__webglColorRenderbuffer=[],e.bindFramebuffer(r.FRAMEBUFFER,B.__webglMultisampledFramebuffer);for(let gt=0;gt0)for(let gt=0;gt0)for(let gt=0;gt0&&K(T)===!1){const M=T.isWebGLMultipleRenderTargets?T.texture:[T.texture],B=T.width,rt=T.height;let et=r.COLOR_BUFFER_BIT;const tt=[],yt=T.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,ft=n.get(T),gt=T.isWebGLMultipleRenderTargets===!0;if(gt)for(let Pt=0;Pt0&&t.has("WEBGL_multisampled_render_to_texture")===!0&&M.__useRenderToTexture!==!1}function Et(T){const M=o.render.frame;h.get(T)!==M&&(h.set(T,M),T.update())}function pt(T,M){const B=T.colorSpace,rt=T.format,et=T.type;return T.isCompressedTexture===!0||T.isVideoTexture===!0||T.format===$l||B!==Kn&&B!==mn&&(ee.getTransfer(B)===oe?a===!1?t.has("EXT_sRGB")===!0&&rt===pn?(T.format=$l,T.minFilter=We,T.generateMipmaps=!1):M=jd.sRGBToLinear(M):(rt!==pn||et!==vi)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",B)),M}this.allocateTextureUnit=I,this.resetTextureUnits=W,this.setTexture2D=N,this.setTexture2DArray=Y,this.setTexture3D=X,this.setTextureCube=$,this.rebindTextures=wt,this.setupRenderTarget=L,this.updateRenderTargetMipmap=ct,this.updateMultisampleRenderTarget=j,this.setupDepthRenderbuffer=Ot,this.setupFrameBufferTexture=Mt,this.useMultisampledRTT=K}function PS(r,t,e){const n=e.isWebGL2;function i(s,o=mn){let a;const l=ee.getTransfer(o);if(s===vi)return r.UNSIGNED_BYTE;if(s===kd)return r.UNSIGNED_SHORT_4_4_4_4;if(s===Vd)return r.UNSIGNED_SHORT_5_5_5_1;if(s===Kg)return r.BYTE;if(s===Jg)return r.SHORT;if(s===wc)return r.UNSIGNED_SHORT;if(s===zd)return r.INT;if(s===fi)return r.UNSIGNED_INT;if(s===Ln)return r.FLOAT;if(s===Ls)return n?r.HALF_FLOAT:(a=t.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===Qg)return r.ALPHA;if(s===pn)return r.RGBA;if(s===t0)return r.LUMINANCE;if(s===e0)return r.LUMINANCE_ALPHA;if(s===Yi)return r.DEPTH_COMPONENT;if(s===Vr)return r.DEPTH_STENCIL;if(s===$l)return a=t.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===n0)return r.RED;if(s===Hd)return r.RED_INTEGER;if(s===i0)return r.RG;if(s===Gd)return r.RG_INTEGER;if(s===Wd)return r.RGBA_INTEGER;if(s===ko||s===Vo||s===Ho||s===Go)if(l===oe)if(a=t.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===ko)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Vo)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Ho)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Go)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=t.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===ko)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Vo)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Ho)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Go)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===Oh||s===Fh||s===Bh||s===zh)if(a=t.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===Oh)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===Fh)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Bh)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===zh)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===Xd)return a=t.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===kh||s===Vh)if(a=t.get("WEBGL_compressed_texture_etc"),a!==null){if(s===kh)return l===oe?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===Vh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Hh||s===Gh||s===Wh||s===Xh||s===qh||s===Yh||s===$h||s===jh||s===Zh||s===Kh||s===Jh||s===Qh||s===tu||s===eu)if(a=t.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Hh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Gh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Wh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Xh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===qh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===Yh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===$h)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===jh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Zh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===Kh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Jh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===Qh)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===tu)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===eu)return l===oe?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Wo||s===nu||s===iu)if(a=t.get("EXT_texture_compression_bptc"),a!==null){if(s===Wo)return l===oe?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===nu)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===iu)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===r0||s===ru||s===su||s===au)if(a=t.get("EXT_texture_compression_rgtc"),a!==null){if(s===Wo)return a.COMPRESSED_RED_RGTC1_EXT;if(s===ru)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===su)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===au)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===qi?n?r.UNSIGNED_INT_24_8:(a=t.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):r[s]!==void 0?r[s]:null}return{convert:i}}class LS extends Xe{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t}}class ps extends _e{constructor(){super(),this.isGroup=!0,this.type="Group"}}const DS={type:"move"};class pl{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ps,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new ps,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new D,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new D),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new ps,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new D,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new D),this._grip}dispatchEvent(t){return this._targetRay!==null&&this._targetRay.dispatchEvent(t),this._grip!==null&&this._grip.dispatchEvent(t),this._hand!==null&&this._hand.dispatchEvent(t),this}connect(t){if(t&&t.hand){const e=this._hand;if(e)for(const n of t.hand.values())this._getHandJoint(e,n)}return this.dispatchEvent({type:"connected",data:t}),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(t,e,n){let i=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(t&&e.session.visibilityState!=="visible-blurred"){if(c&&t.hand){o=!0;for(const g of t.hand.values()){const p=e.getJointPose(g,n),m=this._getHandJoint(c,g);p!==null&&(m.matrix.fromArray(p.transform.matrix),m.matrix.decompose(m.position,m.rotation,m.scale),m.matrixWorldNeedsUpdate=!0,m.jointRadius=p.radius),m.visible=p!==null}const h=c.joints["index-finger-tip"],u=c.joints["thumb-tip"],f=h.position.distanceTo(u.position),d=.02,_=.005;c.inputState.pinching&&f>d+_?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!c.inputState.pinching&&f<=d-_&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else l!==null&&t.gripSpace&&(s=e.getPose(t.gripSpace,n),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(i=e.getPose(t.targetRaySpace,n),i===null&&s!==null&&(i=s),i!==null&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(DS)))}return a!==null&&(a.visible=i!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(t,e){if(t.joints[e.jointName]===void 0){const n=new ps;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}const IS=` void main() { gl_Position = vec4( position, 1.0 ); @@ -3878,4 +3878,4 @@ void main() { } -}`;class OS{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,n){if(this.texture===null){const i=new Ne,s=t.properties.get(i);s.__webglTexture=e.texture,(e.depthNear!=n.depthNear||e.depthFar!=n.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=i}}render(t,e){if(this.texture!==null){if(this.mesh===null){const n=e.cameras[0].viewport,i=new Ti({extensions:{fragDepth:!0},vertexShader:NS,fragmentShader:US,uniforms:{depthColor:{value:this.texture},depthWidth:{value:n.z},depthHeight:{value:n.w}}});this.mesh=new Ye(new ks(20,20),i)}t.render(this.mesh,e)}}reset(){this.texture=null,this.mesh=null}}class FS extends Qi{constructor(t,e){super();const n=this;let i=null,s=1,o=null,a="local-floor",l=1,c=null,h=null,u=null,f=null,d=null,_=null;const g=new OS,p=e.getContextAttributes();let m=null,y=null;const v=[],S=[],w=new it;let C=null;const E=new qe;E.layers.enable(1),E.viewport=new se;const N=new qe;N.layers.enable(2),N.viewport=new se;const U=[E,N],x=new DS;x.layers.enable(1),x.layers.enable(2);let b=null,k=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(V){let Q=v[V];return Q===void 0&&(Q=new pl,v[V]=Q),Q.getTargetRaySpace()},this.getControllerGrip=function(V){let Q=v[V];return Q===void 0&&(Q=new pl,v[V]=Q),Q.getGripSpace()},this.getHand=function(V){let Q=v[V];return Q===void 0&&(Q=new pl,v[V]=Q),Q.getHandSpace()};function W(V){const Q=S.indexOf(V.inputSource);if(Q===-1)return;const _t=v[Q];_t!==void 0&&(_t.update(V.inputSource,V.frame,c||o),_t.dispatchEvent({type:V.type,data:V.inputSource}))}function I(){i.removeEventListener("select",W),i.removeEventListener("selectstart",W),i.removeEventListener("selectend",W),i.removeEventListener("squeeze",W),i.removeEventListener("squeezestart",W),i.removeEventListener("squeezeend",W),i.removeEventListener("end",I),i.removeEventListener("inputsourceschange",F);for(let V=0;V=0&&(S[Mt]=null,v[Mt].disconnect(_t))}for(let Q=0;Q=S.length){S.push(_t),Mt=xt;break}else if(S[xt]===null){S[xt]=_t,Mt=xt;break}if(Mt===-1)break}const Tt=v[Mt];Tt&&Tt.connect(_t)}}const O=new D,Y=new D;function q(V,Q,_t){O.setFromMatrixPosition(Q.matrixWorld),Y.setFromMatrixPosition(_t.matrixWorld);const Mt=O.distanceTo(Y),Tt=Q.projectionMatrix.elements,xt=_t.projectionMatrix.elements,Ot=Tt[14]/(Tt[10]-1),wt=Tt[14]/(Tt[10]+1),L=(Tt[9]+1)/Tt[5],ct=(Tt[9]-1)/Tt[5],j=(Tt[8]-1)/Tt[0],ot=(xt[8]+1)/xt[0],K=Ot*j,Et=Ot*ot,pt=Mt/(-j+ot),T=pt*-j;Q.matrixWorld.decompose(V.position,V.quaternion,V.scale),V.translateX(T),V.translateZ(pt),V.matrixWorld.compose(V.position,V.quaternion,V.scale),V.matrixWorldInverse.copy(V.matrixWorld).invert();const M=Ot+pt,B=wt+pt,rt=K-T,et=Et+(Mt-T),tt=L*wt/B*M,yt=ct*wt/B*M;V.projectionMatrix.makePerspective(rt,et,tt,yt,M,B),V.projectionMatrixInverse.copy(V.projectionMatrix).invert()}function $(V,Q){Q===null?V.matrixWorld.copy(V.matrix):V.matrixWorld.multiplyMatrices(Q.matrixWorld,V.matrix),V.matrixWorldInverse.copy(V.matrixWorld).invert()}this.updateCamera=function(V){if(i===null)return;g.texture!==null&&(V.near=g.depthNear,V.far=g.depthFar),x.near=N.near=E.near=V.near,x.far=N.far=E.far=V.far,(b!==x.near||k!==x.far)&&(i.updateRenderState({depthNear:x.near,depthFar:x.far}),b=x.near,k=x.far,E.near=b,E.far=k,N.near=b,N.far=k,E.updateProjectionMatrix(),N.updateProjectionMatrix(),V.updateProjectionMatrix());const Q=V.parent,_t=x.cameras;$(x,Q);for(let Mt=0;Mt<_t.length;Mt++)$(_t[Mt],Q);_t.length===2?q(x,E,N):x.projectionMatrix.copy(E.projectionMatrix),Z(V,x,Q)};function Z(V,Q,_t){_t===null?V.matrix.copy(Q.matrixWorld):(V.matrix.copy(_t.matrixWorld),V.matrix.invert(),V.matrix.multiply(Q.matrixWorld)),V.matrix.decompose(V.position,V.quaternion,V.scale),V.updateMatrixWorld(!0),V.projectionMatrix.copy(Q.projectionMatrix),V.projectionMatrixInverse.copy(Q.projectionMatrixInverse),V.isPerspectiveCamera&&(V.fov=Gr*2*Math.atan(1/V.projectionMatrix.elements[5]),V.zoom=1)}this.getCamera=function(){return x},this.getFoveation=function(){if(!(f===null&&d===null))return l},this.setFoveation=function(V){l=V,f!==null&&(f.fixedFoveation=V),d!==null&&d.fixedFoveation!==void 0&&(d.fixedFoveation=V)},this.hasDepthSensing=function(){return g.texture!==null};let J=null;function ut(V,Q){if(h=Q.getViewerPose(c||o),_=Q,h!==null){const _t=h.views;d!==null&&(t.setRenderTargetFramebuffer(y,d.framebuffer),t.setRenderTarget(y));let Mt=!1;_t.length!==x.cameras.length&&(x.cameras.length=0,Mt=!0);for(let xt=0;xt<_t.length;xt++){const Ot=_t[xt];let wt=null;if(d!==null)wt=d.getViewport(Ot);else{const ct=u.getViewSubImage(f,Ot);wt=ct.viewport,xt===0&&(t.setRenderTargetTextures(y,ct.colorTexture,f.ignoreDepthValues?void 0:ct.depthStencilTexture),t.setRenderTarget(y))}let L=U[xt];L===void 0&&(L=new qe,L.layers.enable(xt),L.viewport=new se,U[xt]=L),L.matrix.fromArray(Ot.transform.matrix),L.matrix.decompose(L.position,L.quaternion,L.scale),L.projectionMatrix.fromArray(Ot.projectionMatrix),L.projectionMatrixInverse.copy(L.projectionMatrix).invert(),L.viewport.set(wt.x,wt.y,wt.width,wt.height),xt===0&&(x.matrix.copy(L.matrix),x.matrix.decompose(x.position,x.quaternion,x.scale)),Mt===!0&&x.cameras.push(L)}const Tt=i.enabledFeatures;if(Tt&&Tt.includes("depth-sensing")){const xt=u.getDepthInformation(_t[0]);xt&&xt.isValid&&xt.texture&&g.init(t,xt,i.renderState)}}for(let _t=0;_t0&&(p.alphaTest.value=m.alphaTest);const y=t.get(m).envMap;if(y&&(p.envMap.value=y,p.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,p.reflectivity.value=m.reflectivity,p.ior.value=m.ior,p.refractionRatio.value=m.refractionRatio),m.lightMap){p.lightMap.value=m.lightMap;const v=r._useLegacyLights===!0?Math.PI:1;p.lightMapIntensity.value=m.lightMapIntensity*v,e(m.lightMap,p.lightMapTransform)}m.aoMap&&(p.aoMap.value=m.aoMap,p.aoMapIntensity.value=m.aoMapIntensity,e(m.aoMap,p.aoMapTransform))}function o(p,m){p.diffuse.value.copy(m.color),p.opacity.value=m.opacity,m.map&&(p.map.value=m.map,e(m.map,p.mapTransform))}function a(p,m){p.dashSize.value=m.dashSize,p.totalSize.value=m.dashSize+m.gapSize,p.scale.value=m.scale}function l(p,m,y,v){p.diffuse.value.copy(m.color),p.opacity.value=m.opacity,p.size.value=m.size*y,p.scale.value=v*.5,m.map&&(p.map.value=m.map,e(m.map,p.uvTransform)),m.alphaMap&&(p.alphaMap.value=m.alphaMap,e(m.alphaMap,p.alphaMapTransform)),m.alphaTest>0&&(p.alphaTest.value=m.alphaTest)}function c(p,m){p.diffuse.value.copy(m.color),p.opacity.value=m.opacity,p.rotation.value=m.rotation,m.map&&(p.map.value=m.map,e(m.map,p.mapTransform)),m.alphaMap&&(p.alphaMap.value=m.alphaMap,e(m.alphaMap,p.alphaMapTransform)),m.alphaTest>0&&(p.alphaTest.value=m.alphaTest)}function h(p,m){p.specular.value.copy(m.specular),p.shininess.value=Math.max(m.shininess,1e-4)}function u(p,m){m.gradientMap&&(p.gradientMap.value=m.gradientMap)}function f(p,m){p.metalness.value=m.metalness,m.metalnessMap&&(p.metalnessMap.value=m.metalnessMap,e(m.metalnessMap,p.metalnessMapTransform)),p.roughness.value=m.roughness,m.roughnessMap&&(p.roughnessMap.value=m.roughnessMap,e(m.roughnessMap,p.roughnessMapTransform)),t.get(m).envMap&&(p.envMapIntensity.value=m.envMapIntensity)}function d(p,m,y){p.ior.value=m.ior,m.sheen>0&&(p.sheenColor.value.copy(m.sheenColor).multiplyScalar(m.sheen),p.sheenRoughness.value=m.sheenRoughness,m.sheenColorMap&&(p.sheenColorMap.value=m.sheenColorMap,e(m.sheenColorMap,p.sheenColorMapTransform)),m.sheenRoughnessMap&&(p.sheenRoughnessMap.value=m.sheenRoughnessMap,e(m.sheenRoughnessMap,p.sheenRoughnessMapTransform))),m.clearcoat>0&&(p.clearcoat.value=m.clearcoat,p.clearcoatRoughness.value=m.clearcoatRoughness,m.clearcoatMap&&(p.clearcoatMap.value=m.clearcoatMap,e(m.clearcoatMap,p.clearcoatMapTransform)),m.clearcoatRoughnessMap&&(p.clearcoatRoughnessMap.value=m.clearcoatRoughnessMap,e(m.clearcoatRoughnessMap,p.clearcoatRoughnessMapTransform)),m.clearcoatNormalMap&&(p.clearcoatNormalMap.value=m.clearcoatNormalMap,e(m.clearcoatNormalMap,p.clearcoatNormalMapTransform),p.clearcoatNormalScale.value.copy(m.clearcoatNormalScale),m.side===Je&&p.clearcoatNormalScale.value.negate())),m.iridescence>0&&(p.iridescence.value=m.iridescence,p.iridescenceIOR.value=m.iridescenceIOR,p.iridescenceThicknessMinimum.value=m.iridescenceThicknessRange[0],p.iridescenceThicknessMaximum.value=m.iridescenceThicknessRange[1],m.iridescenceMap&&(p.iridescenceMap.value=m.iridescenceMap,e(m.iridescenceMap,p.iridescenceMapTransform)),m.iridescenceThicknessMap&&(p.iridescenceThicknessMap.value=m.iridescenceThicknessMap,e(m.iridescenceThicknessMap,p.iridescenceThicknessMapTransform))),m.transmission>0&&(p.transmission.value=m.transmission,p.transmissionSamplerMap.value=y.texture,p.transmissionSamplerSize.value.set(y.width,y.height),m.transmissionMap&&(p.transmissionMap.value=m.transmissionMap,e(m.transmissionMap,p.transmissionMapTransform)),p.thickness.value=m.thickness,m.thicknessMap&&(p.thicknessMap.value=m.thicknessMap,e(m.thicknessMap,p.thicknessMapTransform)),p.attenuationDistance.value=m.attenuationDistance,p.attenuationColor.value.copy(m.attenuationColor)),m.anisotropy>0&&(p.anisotropyVector.value.set(m.anisotropy*Math.cos(m.anisotropyRotation),m.anisotropy*Math.sin(m.anisotropyRotation)),m.anisotropyMap&&(p.anisotropyMap.value=m.anisotropyMap,e(m.anisotropyMap,p.anisotropyMapTransform))),p.specularIntensity.value=m.specularIntensity,p.specularColor.value.copy(m.specularColor),m.specularColorMap&&(p.specularColorMap.value=m.specularColorMap,e(m.specularColorMap,p.specularColorMapTransform)),m.specularIntensityMap&&(p.specularIntensityMap.value=m.specularIntensityMap,e(m.specularIntensityMap,p.specularIntensityMapTransform))}function _(p,m){m.matcap&&(p.matcap.value=m.matcap)}function g(p,m){const y=t.get(m).light;p.referencePosition.value.setFromMatrixPosition(y.matrixWorld),p.nearDistance.value=y.shadow.camera.near,p.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:i}}function zS(r,t,e,n){let i={},s={},o=[];const a=e.isWebGL2?r.getParameter(r.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,v){const S=v.program;n.uniformBlockBinding(y,S)}function c(y,v){let S=i[y.id];S===void 0&&(_(y),S=h(y),i[y.id]=S,y.addEventListener("dispose",p));const w=v.program;n.updateUBOMapping(y,w);const C=t.render.frame;s[y.id]!==C&&(f(y),s[y.id]=C)}function h(y){const v=u();y.__bindingPointIndex=v;const S=r.createBuffer(),w=y.__size,C=y.usage;return r.bindBuffer(r.UNIFORM_BUFFER,S),r.bufferData(r.UNIFORM_BUFFER,w,C),r.bindBuffer(r.UNIFORM_BUFFER,null),r.bindBufferBase(r.UNIFORM_BUFFER,v,S),S}function u(){for(let y=0;y0&&(S+=w-C),y.__size=S,y.__cache={},this}function g(y){const v={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function p(y){const v=y.target;v.removeEventListener("dispose",p);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),r.deleteBuffer(i[v.id]),delete i[v.id],delete s[v.id]}function m(){for(const y in i)r.deleteBuffer(i[y]);o=[],i={},s={}}return{bind:l,update:c,dispose:m}}class pp{constructor(t={}){const{canvas:e=D0(),context:n=null,depth:i=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:u=!1}=t;this.isWebGLRenderer=!0;let f;n!==null?f=n.getContextAttributes().alpha:f=o;const d=new Uint32Array(4),_=new Int32Array(4);let g=null,p=null;const m=[],y=[];this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Le,this._useLegacyLights=!1,this.toneMapping=gi,this.toneMappingExposure=1;const v=this;let S=!1,w=0,C=0,E=null,N=-1,U=null;const x=new se,b=new se;let k=null;const W=new Ut(0);let I=0,F=e.width,O=e.height,Y=1,q=null,$=null;const Z=new se(0,0,F,O),J=new se(0,0,F,O);let ut=!1;const bt=new Ic;let V=!1,Q=!1,_t=null;const Mt=new $t,Tt=new it,xt=new D,Ot={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function wt(){return E===null?Y:1}let L=n;function ct(A,z){for(let G=0;G{function vt(){if(X.forEach(function(At){pt.get(At).currentProgram.isReady()&&X.delete(At)}),X.size===0){H(A);return}setTimeout(vt,10)}j.get("KHR_parallel_shader_compile")!==null?vt():setTimeout(vt,10)})};let Yt=null;function ne(A){Yt&&Yt(A)}function Re(){ve.stop()}function Jt(){ve.start()}const ve=new ap;ve.setAnimationLoop(ne),typeof self!="undefined"&&ve.setContext(self),this.setAnimationLoop=function(A){Yt=A,dt.setAnimationLoop(A),A===null?ve.stop():ve.start()},dt.addEventListener("sessionstart",Re),dt.addEventListener("sessionend",Jt),this.render=function(A,z){if(z!==void 0&&z.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;A.matrixWorldAutoUpdate===!0&&A.updateMatrixWorld(),z.parent===null&&z.matrixWorldAutoUpdate===!0&&z.updateMatrixWorld(),dt.enabled===!0&&dt.isPresenting===!0&&(dt.cameraAutoUpdate===!0&&dt.updateCamera(z),z=dt.getCamera()),A.isScene===!0&&A.onBeforeRender(v,A,z,E),p=Pt.get(A,y.length),p.init(),y.push(p),Mt.multiplyMatrices(z.projectionMatrix,z.matrixWorldInverse),bt.setFromProjectionMatrix(Mt),Q=this.localClippingEnabled,V=Ft.init(this.clippingPlanes,Q),g=gt.get(A,m.length),g.init(),m.push(g),Ve(A,z,0,v.sortObjects),g.finish(),v.sortObjects===!0&&g.sort(q,$),this.info.render.frame++,V===!0&&Ft.beginShadows();const G=p.state.shadowsArray;if(nt.render(G,A,z),V===!0&&Ft.endShadows(),this.info.autoReset===!0&&this.info.reset(),(dt.enabled===!1||dt.isPresenting===!1||dt.hasDepthSensing()===!1)&&Zt.render(g,A),p.setupLights(v._useLegacyLights),z.isArrayCamera){const X=z.cameras;for(let H=0,vt=X.length;H0?p=y[y.length-1]:p=null,m.pop(),m.length>0?g=m[m.length-1]:g=null};function Ve(A,z,G,X){if(A.visible===!1)return;if(A.layers.test(z.layers)){if(A.isGroup)G=A.renderOrder;else if(A.isLOD)A.autoUpdate===!0&&A.update(z);else if(A.isLight)p.pushLight(A),A.castShadow&&p.pushShadow(A);else if(A.isSprite){if(!A.frustumCulled||bt.intersectsSprite(A)){X&&xt.setFromMatrixPosition(A.matrixWorld).applyMatrix4(Mt);const At=tt.update(A),Dt=A.material;Dt.visible&&g.push(A,At,Dt,G,xt.z,null)}}else if((A.isMesh||A.isLine||A.isPoints)&&(!A.frustumCulled||bt.intersectsObject(A))){const At=tt.update(A),Dt=A.material;if(X&&(A.boundingSphere!==void 0?(A.boundingSphere===null&&A.computeBoundingSphere(),xt.copy(A.boundingSphere.center)):(At.boundingSphere===null&&At.computeBoundingSphere(),xt.copy(At.boundingSphere.center)),xt.applyMatrix4(A.matrixWorld).applyMatrix4(Mt)),Array.isArray(Dt)){const Nt=At.groups;for(let Wt=0,zt=Nt.length;Wt0&&Vp(H,vt,z,G),X&&K.viewport(x.copy(X)),H.length>0&&Ws(H,z,G),vt.length>0&&Ws(vt,z,G),At.length>0&&Ws(At,z,G),K.buffers.depth.setTest(!0),K.buffers.depth.setMask(!0),K.buffers.color.setMask(!0),K.setPolygonOffset(!1)}function Vp(A,z,G,X){if((G.isScene===!0?G.overrideMaterial:null)!==null)return;const vt=ot.isWebGL2;_t===null&&(_t=new Zi(1,1,{generateMipmaps:!0,type:j.has("EXT_color_buffer_half_float")?Ls:vi,minFilter:Vi,samples:vt?4:0})),v.getDrawingBufferSize(Tt),vt?_t.setSize(Tt.x,Tt.y):_t.setSize(eo(Tt.x),eo(Tt.y));const At=v.getRenderTarget();v.setRenderTarget(_t),v.getClearColor(W),I=v.getClearAlpha(),I<1&&v.setClearColor(16777215,.5),v.clear();const Dt=v.toneMapping;v.toneMapping=gi,Ws(A,G,X),T.updateMultisampleRenderTarget(_t),T.updateRenderTargetMipmap(_t);let Nt=!1;for(let Wt=0,zt=z.length;Wt0),Vt=!!G.morphAttributes.position,xe=!!G.morphAttributes.normal,tn=!!G.morphAttributes.color;let Ae=gi;X.toneMapped&&(E===null||E.isXRRenderTarget===!0)&&(Ae=v.toneMapping);const On=G.morphAttributes.position||G.morphAttributes.normal||G.morphAttributes.color,ce=On!==void 0?On.length:0,Xt=pt.get(X),So=p.state.lights;if(V===!0&&(Q===!0||A!==U)){const un=A===U&&X.id===N;Ft.setState(X,A,un)}let pe=!1;X.version===Xt.__version?(Xt.needsLights&&Xt.lightsStateVersion!==So.state.version||Xt.outputColorSpace!==Dt||H.isBatchedMesh&&Xt.batching===!1||!H.isBatchedMesh&&Xt.batching===!0||H.isInstancedMesh&&Xt.instancing===!1||!H.isInstancedMesh&&Xt.instancing===!0||H.isSkinnedMesh&&Xt.skinning===!1||!H.isSkinnedMesh&&Xt.skinning===!0||H.isInstancedMesh&&Xt.instancingColor===!0&&H.instanceColor===null||H.isInstancedMesh&&Xt.instancingColor===!1&&H.instanceColor!==null||Xt.envMap!==Nt||X.fog===!0&&Xt.fog!==vt||Xt.numClippingPlanes!==void 0&&(Xt.numClippingPlanes!==Ft.numPlanes||Xt.numIntersection!==Ft.numIntersection)||Xt.vertexAlphas!==Wt||Xt.vertexTangents!==zt||Xt.morphTargets!==Vt||Xt.morphNormals!==xe||Xt.morphColors!==tn||Xt.toneMapping!==Ae||ot.isWebGL2===!0&&Xt.morphTargetsCount!==ce)&&(pe=!0):(pe=!0,Xt.__version=X.version);let Ci=Xt.currentProgram;pe===!0&&(Ci=Xs(X,z,H));let Kc=!1,jr=!1,bo=!1;const Oe=Ci.getUniforms(),Ri=Xt.uniforms;if(K.useProgram(Ci.program)&&(Kc=!0,jr=!0,bo=!0),X.id!==N&&(N=X.id,jr=!0),Kc||U!==A){Oe.setValue(L,"projectionMatrix",A.projectionMatrix),Oe.setValue(L,"viewMatrix",A.matrixWorldInverse);const un=Oe.map.cameraPosition;un!==void 0&&un.setValue(L,xt.setFromMatrixPosition(A.matrixWorld)),ot.logarithmicDepthBuffer&&Oe.setValue(L,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),(X.isMeshPhongMaterial||X.isMeshToonMaterial||X.isMeshLambertMaterial||X.isMeshBasicMaterial||X.isMeshStandardMaterial||X.isShaderMaterial)&&Oe.setValue(L,"isOrthographic",A.isOrthographicCamera===!0),U!==A&&(U=A,jr=!0,bo=!0)}if(H.isSkinnedMesh){Oe.setOptional(L,H,"bindMatrix"),Oe.setOptional(L,H,"bindMatrixInverse");const un=H.skeleton;un&&(ot.floatVertexTextures?(un.boneTexture===null&&un.computeBoneTexture(),Oe.setValue(L,"boneTexture",un.boneTexture,T)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}H.isBatchedMesh&&(Oe.setOptional(L,H,"batchingTexture"),Oe.setValue(L,"batchingTexture",H._matricesTexture,T));const Eo=G.morphAttributes;if((Eo.position!==void 0||Eo.normal!==void 0||Eo.color!==void 0&&ot.isWebGL2===!0)&&Gt.update(H,G,Ci),(jr||Xt.receiveShadow!==H.receiveShadow)&&(Xt.receiveShadow=H.receiveShadow,Oe.setValue(L,"receiveShadow",H.receiveShadow)),X.isMeshGouraudMaterial&&X.envMap!==null&&(Ri.envMap.value=Nt,Ri.flipEnvMap.value=Nt.isCubeTexture&&Nt.isRenderTargetTexture===!1?-1:1),jr&&(Oe.setValue(L,"toneMappingExposure",v.toneMappingExposure),Xt.needsLights&&Gp(Ri,bo),vt&&X.fog===!0&&ft.refreshFogUniforms(Ri,vt),ft.refreshMaterialUniforms(Ri,X,Y,O,_t),Ba.upload(L,jc(Xt),Ri,T)),X.isShaderMaterial&&X.uniformsNeedUpdate===!0&&(Ba.upload(L,jc(Xt),Ri,T),X.uniformsNeedUpdate=!1),X.isSpriteMaterial&&Oe.setValue(L,"center",H.center),Oe.setValue(L,"modelViewMatrix",H.modelViewMatrix),Oe.setValue(L,"normalMatrix",H.normalMatrix),Oe.setValue(L,"modelMatrix",H.matrixWorld),X.isShaderMaterial||X.isRawShaderMaterial){const un=X.uniformsGroups;for(let To=0,Xp=un.length;To0&&T.useMultisampledRTT(A)===!1?H=pt.get(A).__webglMultisampledFramebuffer:Array.isArray(zt)?H=zt[G]:H=zt,x.copy(A.viewport),b.copy(A.scissor),k=A.scissorTest}else x.copy(Z).multiplyScalar(Y).floor(),b.copy(J).multiplyScalar(Y).floor(),k=ut;if(K.bindFramebuffer(L.FRAMEBUFFER,H)&&ot.drawBuffers&&X&&K.drawBuffers(A,H),K.viewport(x),K.scissor(b),K.setScissorTest(k),vt){const Nt=pt.get(A.texture);L.framebufferTexture2D(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,L.TEXTURE_CUBE_MAP_POSITIVE_X+z,Nt.__webglTexture,G)}else if(At){const Nt=pt.get(A.texture),Wt=z||0;L.framebufferTextureLayer(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,Nt.__webglTexture,G||0,Wt)}N=-1},this.readRenderTargetPixels=function(A,z,G,X,H,vt,At){if(!(A&&A.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Dt=pt.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&At!==void 0&&(Dt=Dt[At]),Dt){K.bindFramebuffer(L.FRAMEBUFFER,Dt);try{const Nt=A.texture,Wt=Nt.format,zt=Nt.type;if(Wt!==pn&&mt.convert(Wt)!==L.getParameter(L.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const Vt=zt===Ls&&(j.has("EXT_color_buffer_half_float")||ot.isWebGL2&&j.has("EXT_color_buffer_float"));if(zt!==vi&&mt.convert(zt)!==L.getParameter(L.IMPLEMENTATION_COLOR_READ_TYPE)&&!(zt===Ln&&(ot.isWebGL2||j.has("OES_texture_float")||j.has("WEBGL_color_buffer_float")))&&!Vt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}z>=0&&z<=A.width-X&&G>=0&&G<=A.height-H&&L.readPixels(z,G,X,H,mt.convert(Wt),mt.convert(zt),vt)}finally{const Nt=E!==null?pt.get(E).__webglFramebuffer:null;K.bindFramebuffer(L.FRAMEBUFFER,Nt)}}},this.copyFramebufferToTexture=function(A,z,G=0){const X=Math.pow(2,-G),H=Math.floor(z.image.width*X),vt=Math.floor(z.image.height*X);T.setTexture2D(z,0),L.copyTexSubImage2D(L.TEXTURE_2D,G,0,0,A.x,A.y,H,vt),K.unbindTexture()},this.copyTextureToTexture=function(A,z,G,X=0){const H=z.image.width,vt=z.image.height,At=mt.convert(G.format),Dt=mt.convert(G.type);T.setTexture2D(G,0),L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,G.flipY),L.pixelStorei(L.UNPACK_PREMULTIPLY_ALPHA_WEBGL,G.premultiplyAlpha),L.pixelStorei(L.UNPACK_ALIGNMENT,G.unpackAlignment),z.isDataTexture?L.texSubImage2D(L.TEXTURE_2D,X,A.x,A.y,H,vt,At,Dt,z.image.data):z.isCompressedTexture?L.compressedTexSubImage2D(L.TEXTURE_2D,X,A.x,A.y,z.mipmaps[0].width,z.mipmaps[0].height,At,z.mipmaps[0].data):L.texSubImage2D(L.TEXTURE_2D,X,A.x,A.y,At,Dt,z.image),X===0&&G.generateMipmaps&&L.generateMipmap(L.TEXTURE_2D),K.unbindTexture()},this.copyTextureToTexture3D=function(A,z,G,X,H=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const vt=A.max.x-A.min.x+1,At=A.max.y-A.min.y+1,Dt=A.max.z-A.min.z+1,Nt=mt.convert(X.format),Wt=mt.convert(X.type);let zt;if(X.isData3DTexture)T.setTexture3D(X,0),zt=L.TEXTURE_3D;else if(X.isDataArrayTexture||X.isCompressedArrayTexture)T.setTexture2DArray(X,0),zt=L.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,X.flipY),L.pixelStorei(L.UNPACK_PREMULTIPLY_ALPHA_WEBGL,X.premultiplyAlpha),L.pixelStorei(L.UNPACK_ALIGNMENT,X.unpackAlignment);const Vt=L.getParameter(L.UNPACK_ROW_LENGTH),xe=L.getParameter(L.UNPACK_IMAGE_HEIGHT),tn=L.getParameter(L.UNPACK_SKIP_PIXELS),Ae=L.getParameter(L.UNPACK_SKIP_ROWS),On=L.getParameter(L.UNPACK_SKIP_IMAGES),ce=G.isCompressedTexture?G.mipmaps[H]:G.image;L.pixelStorei(L.UNPACK_ROW_LENGTH,ce.width),L.pixelStorei(L.UNPACK_IMAGE_HEIGHT,ce.height),L.pixelStorei(L.UNPACK_SKIP_PIXELS,A.min.x),L.pixelStorei(L.UNPACK_SKIP_ROWS,A.min.y),L.pixelStorei(L.UNPACK_SKIP_IMAGES,A.min.z),G.isDataTexture||G.isData3DTexture?L.texSubImage3D(zt,H,z.x,z.y,z.z,vt,At,Dt,Nt,Wt,ce.data):G.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),L.compressedTexSubImage3D(zt,H,z.x,z.y,z.z,vt,At,Dt,Nt,ce.data)):L.texSubImage3D(zt,H,z.x,z.y,z.z,vt,At,Dt,Nt,Wt,ce),L.pixelStorei(L.UNPACK_ROW_LENGTH,Vt),L.pixelStorei(L.UNPACK_IMAGE_HEIGHT,xe),L.pixelStorei(L.UNPACK_SKIP_PIXELS,tn),L.pixelStorei(L.UNPACK_SKIP_ROWS,Ae),L.pixelStorei(L.UNPACK_SKIP_IMAGES,On),H===0&&X.generateMipmaps&&L.generateMipmap(zt),K.unbindTexture()},this.initTexture=function(A){A.isCubeTexture?T.setTextureCube(A,0):A.isData3DTexture?T.setTexture3D(A,0):A.isDataArrayTexture||A.isCompressedArrayTexture?T.setTexture2DArray(A,0):T.setTexture2D(A,0),K.unbindTexture()},this.resetState=function(){w=0,C=0,E=null,K.reset(),kt.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Yn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=t===Rc?"display-p3":"srgb",e.unpackColorSpace=ee.workingColorSpace===ho?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Le?$i:$d}set outputEncoding(t){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=t===$i?Le:Kn}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}}class kS extends pp{}kS.prototype.isWebGL1Renderer=!0;class mp{constructor(t,e=1,n=1e3){this.isFog=!0,this.name="",this.color=new Ut(t),this.near=e,this.far=n}clone(){return new mp(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class VS extends _e{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),t.background!==null&&(this.background=t.background.clone()),t.environment!==null&&(this.environment=t.environment.clone()),t.fog!==null&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return this.fog!==null&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(e.object.backgroundIntensity=this.backgroundIntensity),e}}class _p{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=Yl,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=vn()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return ji("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,s=this.stride;it.far||e.push({distance:l,point:ss.clone(),uv:An.getInterpolation(ss,ya,os,Ma,Qu,ml,tf,new it),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}}function Sa(r,t,e,n,i,s){Sr.subVectors(r,e).addScalar(.5).multiply(n),i!==void 0?(as.x=s*Sr.x-i*Sr.y,as.y=i*Sr.x+s*Sr.y):as.copy(Sr),r.copy(t),r.x+=as.x,r.y+=as.y,r.applyMatrix4(gp)}const ef=new D,nf=new se,rf=new se,GS=new D,sf=new $t,ba=new D,_l=new Jn,af=new $t,gl=new Xr;class LE extends Ye{constructor(t,e){super(t,e),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=Nh,this.bindMatrix=new $t,this.bindMatrixInverse=new $t,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const t=this.geometry;this.boundingBox===null&&(this.boundingBox=new wi),this.boundingBox.makeEmpty();const e=t.getAttribute("position");for(let n=0;nl)continue;f.applyMatrix4(this.matrixWorld);const N=t.ray.origin.distanceTo(f);Nt.far||e.push({distance:N,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const m=Math.max(0,o.start),y=Math.min(p.count,o.start+o.count);for(let v=m,S=y-1;vl)continue;f.applyMatrix4(this.matrixWorld);const C=t.ray.origin.distanceTo(f);Ct.far||e.push({distance:C,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const e=this.geometry.morphAttributes,n=Object.keys(e);if(n.length>0){const i=e[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s0){const i=e[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;si.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:t,face:null,object:o})}}class UE extends Ne{constructor(t,e,n,i,s,o,a,l,c){super(t,e,n,i,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Nn{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),s=0;e.push(0);for(let o=1;o<=t;o++)n=this.getPoint(o/t),s+=n.distanceTo(i),e.push(s),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const s=n.length;let o;e?o=e:o=t*n[s-1];let a=0,l=s-1,c;for(;a<=l;)if(i=Math.floor(a+(l-a)/2),c=n[i]-o,c<0)a=i+1;else if(c>0)l=i-1;else{l=i;break}if(i=l,n[i]===o)return i/(s-1);const h=n[i],f=n[i+1]-h,d=(o-h)/f;return(i+d)/(s-1)}getTangent(t,e){let i=t-1e-4,s=t+1e-4;i<0&&(i=0),s>1&&(s=1);const o=this.getPoint(i),a=this.getPoint(s),l=e||(o.isVector2?new it:new D);return l.copy(a).sub(o).normalize(),l}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new D,i=[],s=[],o=[],a=new D,l=new $t;for(let d=0;d<=t;d++){const _=d/t;i[d]=this.getTangentAt(_,new D)}s[0]=new D,o[0]=new D;let c=Number.MAX_VALUE;const h=Math.abs(i[0].x),u=Math.abs(i[0].y),f=Math.abs(i[0].z);h<=c&&(c=h,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),f<=c&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),s[0].crossVectors(i[0],a),o[0].crossVectors(i[0],s[0]);for(let d=1;d<=t;d++){if(s[d]=s[d-1].clone(),o[d]=o[d-1].clone(),a.crossVectors(i[d-1],i[d]),a.length()>Number.EPSILON){a.normalize();const _=Math.acos(be(i[d-1].dot(i[d]),-1,1));s[d].applyMatrix4(l.makeRotationAxis(a,_))}o[d].crossVectors(i[d],s[d])}if(e===!0){let d=Math.acos(be(s[0].dot(s[t]),-1,1));d/=t,i[0].dot(a.crossVectors(s[0],s[t]))>0&&(d=-d);for(let _=1;_<=t;_++)s[_].applyMatrix4(l.makeRotationAxis(i[_],d*_)),o[_].crossVectors(i[_],s[_])}return{tangents:i,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Oc extends Nn{constructor(t=0,e=0,n=1,i=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(t,e){const n=e||new it,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)i;)s-=i;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let c,h;this.closed||a>0?c=i[(a-1)%s]:(Ca.subVectors(i[0],i[1]).add(i[0]),c=Ca);const u=i[a%s],f=i[(a+1)%s];if(this.closed||a+2i.length-2?i.length-1:o+1],u=i[o>i.length-3?i.length-1:o+2];return n.set(vf(a,l.x,c.x,h.x,u.x),vf(a,l.y,c.y,h.y,u.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e=n){const o=i[s]-n,a=this.curves[s],l=a.getLength(),c=l===0?0:1-o/l;return a.getPointAt(c,e)}s++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);const h=c.getPoint(1);return this.currentPoint.copy(h),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class bs extends xf{constructor(t){super(t),this.uuid=vn(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n80*e){a=c=r[0],l=h=r[1];for(let _=e;_c&&(c=u),f>h&&(h=f);d=Math.max(c-a,h-l),d=d!==0?32767/d:0}return Is(s,o,e,a,l,d,0),o}};function Ap(r,t,e,n,i){let s,o;if(i===bb(r,t,e,n)>0)for(s=t;s=t;s-=n)o=yf(s,r[s],r[s+1],o);return o&&po(o,o.next)&&(Us(o),o=o.next),o}function Ki(r,t){if(!r)return r;t||(t=r);let e=r,n;do if(n=!1,!e.steiner&&(po(e,e.next)||de(e.prev,e,e.next)===0)){if(Us(e),e=t=e.prev,e===e.next)break;n=!0}else e=e.next;while(n||e!==t);return t}function Is(r,t,e,n,i,s,o){if(!r)return;!o&&s&&gb(r,n,i,s);let a=r,l,c;for(;r.prev!==r.next;){if(l=r.prev,c=r.next,s?cb(r,n,i,s):lb(r)){t.push(l.i/e|0),t.push(r.i/e|0),t.push(c.i/e|0),Us(r),r=c.next,a=c.next;continue}if(r=c,r===a){o?o===1?(r=hb(Ki(r),t,e),Is(r,t,e,n,i,s,2)):o===2&&ub(r,t,e,n,i,s):Is(Ki(r),t,e,n,i,s,1);break}}}function lb(r){const t=r.prev,e=r,n=r.next;if(de(t,e,n)>=0)return!1;const i=t.x,s=e.x,o=n.x,a=t.y,l=e.y,c=n.y,h=is?i>o?i:o:s>o?s:o,d=a>l?a>c?a:c:l>c?l:c;let _=n.next;for(;_!==t;){if(_.x>=h&&_.x<=f&&_.y>=u&&_.y<=d&&Cr(i,a,s,l,o,c,_.x,_.y)&&de(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function cb(r,t,e,n){const i=r.prev,s=r,o=r.next;if(de(i,s,o)>=0)return!1;const a=i.x,l=s.x,c=o.x,h=i.y,u=s.y,f=o.y,d=al?a>c?a:c:l>c?l:c,p=h>u?h>f?h:f:u>f?u:f,m=Jl(d,_,t,e,n),y=Jl(g,p,t,e,n);let v=r.prevZ,S=r.nextZ;for(;v&&v.z>=m&&S&&S.z<=y;){if(v.x>=d&&v.x<=g&&v.y>=_&&v.y<=p&&v!==i&&v!==o&&Cr(a,h,l,u,c,f,v.x,v.y)&&de(v.prev,v,v.next)>=0||(v=v.prevZ,S.x>=d&&S.x<=g&&S.y>=_&&S.y<=p&&S!==i&&S!==o&&Cr(a,h,l,u,c,f,S.x,S.y)&&de(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;v&&v.z>=m;){if(v.x>=d&&v.x<=g&&v.y>=_&&v.y<=p&&v!==i&&v!==o&&Cr(a,h,l,u,c,f,v.x,v.y)&&de(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;S&&S.z<=y;){if(S.x>=d&&S.x<=g&&S.y>=_&&S.y<=p&&S!==i&&S!==o&&Cr(a,h,l,u,c,f,S.x,S.y)&&de(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function hb(r,t,e){let n=r;do{const i=n.prev,s=n.next.next;!po(i,s)&&wp(i,n,n.next,s)&&Ns(i,s)&&Ns(s,i)&&(t.push(i.i/e|0),t.push(n.i/e|0),t.push(s.i/e|0),Us(n),Us(n.next),n=r=s),n=n.next}while(n!==r);return Ki(n)}function ub(r,t,e,n,i,s){let o=r;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&yb(o,a)){let l=Cp(o,a);o=Ki(o,o.next),l=Ki(l,l.next),Is(o,t,e,n,i,s,0),Is(l,t,e,n,i,s,0);return}a=a.next}o=o.next}while(o!==r)}function fb(r,t,e,n){const i=[];let s,o,a,l,c;for(s=0,o=t.length;s=e.next.y&&e.next.y!==e.y){const f=e.x+(o-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(f<=s&&f>n&&(n=f,i=e.x=e.x&&e.x>=l&&s!==e.x&&Cr(oi.x||e.x===i.x&&_b(i,e)))&&(i=e,h=u)),e=e.next;while(e!==a);return i}function _b(r,t){return de(r.prev,r,t.prev)<0&&de(t.next,r,r.next)<0}function gb(r,t,e,n){let i=r;do i.z===0&&(i.z=Jl(i.x,i.y,t,e,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,vb(i)}function vb(r){let t,e,n,i,s,o,a,l,c=1;do{for(e=r,r=null,s=null,o=0;e;){for(o++,n=e,a=0,t=0;t0||l>0&&n;)a!==0&&(l===0||!n||e.z<=n.z)?(i=e,e=e.nextZ,a--):(i=n,n=n.nextZ,l--),s?s.nextZ=i:r=i,i.prevZ=s,s=i;e=n}s.nextZ=null,c*=2}while(o>1);return r}function Jl(r,t,e,n,i){return r=(r-e)*i|0,t=(t-n)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,r|t<<1}function xb(r){let t=r,e=r;do(t.x=(r-o)*(s-a)&&(r-o)*(n-a)>=(e-o)*(t-a)&&(e-o)*(s-a)>=(i-o)*(n-a)}function yb(r,t){return r.next.i!==t.i&&r.prev.i!==t.i&&!Mb(r,t)&&(Ns(r,t)&&Ns(t,r)&&Sb(r,t)&&(de(r.prev,r,t.prev)||de(r,t.prev,t))||po(r,t)&&de(r.prev,r,r.next)>0&&de(t.prev,t,t.next)>0)}function de(r,t,e){return(t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y)}function po(r,t){return r.x===t.x&&r.y===t.y}function wp(r,t,e,n){const i=Pa(de(r,t,e)),s=Pa(de(r,t,n)),o=Pa(de(e,n,r)),a=Pa(de(e,n,t));return!!(i!==s&&o!==a||i===0&&Ra(r,e,t)||s===0&&Ra(r,n,t)||o===0&&Ra(e,r,n)||a===0&&Ra(e,t,n))}function Ra(r,t,e){return t.x<=Math.max(r.x,e.x)&&t.x>=Math.min(r.x,e.x)&&t.y<=Math.max(r.y,e.y)&&t.y>=Math.min(r.y,e.y)}function Pa(r){return r>0?1:r<0?-1:0}function Mb(r,t){let e=r;do{if(e.i!==r.i&&e.next.i!==r.i&&e.i!==t.i&&e.next.i!==t.i&&wp(e,e.next,r,t))return!0;e=e.next}while(e!==r);return!1}function Ns(r,t){return de(r.prev,r,r.next)<0?de(r,t,r.next)>=0&&de(r,r.prev,t)>=0:de(r,t,r.prev)<0||de(r,r.next,t)<0}function Sb(r,t){let e=r,n=!1;const i=(r.x+t.x)/2,s=(r.y+t.y)/2;do e.y>s!=e.next.y>s&&e.next.y!==e.y&&i<(e.next.x-e.x)*(s-e.y)/(e.next.y-e.y)+e.x&&(n=!n),e=e.next;while(e!==r);return n}function Cp(r,t){const e=new Ql(r.i,r.x,r.y),n=new Ql(t.i,t.x,t.y),i=r.next,s=t.prev;return r.next=t,t.prev=r,e.next=i,i.prev=e,n.next=e,e.prev=n,s.next=n,n.prev=s,n}function yf(r,t,e,n){const i=new Ql(r,t,e);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Us(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function Ql(r,t,e){this.i=r,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function bb(r,t,e,n){let i=0;for(let s=t,o=e-n;s2&&r[t-1].equals(r[0])&&r.pop()}function Sf(r,t){for(let e=0;eNumber.EPSILON){const tt=Math.sqrt(rt),yt=Math.sqrt(M*M+B*B),ft=ct.x-T/tt,gt=ct.y+pt/tt,Pt=j.x-B/yt,Ft=j.y+M/yt,nt=((Pt-ft)*B-(Ft-gt)*M)/(pt*B-T*M);ot=ft+pt*nt-L.x,K=gt+T*nt-L.y;const Zt=ot*ot+K*K;if(Zt<=2)return new it(ot,K);Et=Math.sqrt(Zt/2)}else{let tt=!1;pt>Number.EPSILON?M>Number.EPSILON&&(tt=!0):pt<-Number.EPSILON?M<-Number.EPSILON&&(tt=!0):Math.sign(T)===Math.sign(B)&&(tt=!0),tt?(ot=-T,K=pt,Et=Math.sqrt(rt)):(ot=pt,K=T,Et=Math.sqrt(rt/2))}return new it(ot/Et,K/Et)}const $=[];for(let L=0,ct=I.length,j=ct-1,ot=L+1;L=0;L--){const ct=L/p,j=d*Math.cos(ct*Math.PI/2),ot=_*Math.sin(ct*Math.PI/2)+g;for(let K=0,Et=I.length;K=0;){const ot=j;let K=j-1;K<0&&(K=L.length-1);for(let Et=0,pt=h+p*2;Et0!=t>0&&this.version++,this._anisotropy=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=t.anisotropy,this.anisotropyRotation=t.anisotropyRotation,this.anisotropyMap=t.anisotropyMap,this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class Cb extends Qn{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ut(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ut(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Cc,this.normalScale=new it(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ac,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}function La(r,t,e){return!r||!e&&r.constructor===t?r:typeof t.BYTES_PER_ELEMENT=="number"?new t(r):Array.prototype.slice.call(r)}function Rb(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function Pb(r){function t(i,s){return r[i]-r[s]}const e=r.length,n=new Array(e);for(let i=0;i!==e;++i)n[i]=i;return n.sort(t),n}function Ef(r,t,e){const n=r.length,i=new r.constructor(n);for(let s=0,o=0;o!==n;++s){const a=e[s]*t;for(let l=0;l!==t;++l)i[o++]=r[a+l]}return i}function Lp(r,t,e,n){let i=1,s=r[0];for(;s!==void 0&&s[n]===void 0;)s=r[i++];if(s===void 0)return;let o=s[n];if(o!==void 0)if(Array.isArray(o))do o=s[n],o!==void 0&&(t.push(s.time),e.push.apply(e,o)),s=r[i++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[n],o!==void 0&&(t.push(s.time),o.toArray(e,e.length)),s=r[i++];while(s!==void 0);else do o=s[n],o!==void 0&&(t.push(s.time),e.push(o)),s=r[i++];while(s!==void 0)}class mo{constructor(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=i!==void 0?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let n=this._cachedIndex,i=e[n],s=e[n-1];n:{t:{let o;e:{i:if(!(t=s)){const a=e[1];t=s)break t}o=n,n=0;break e}break n}for(;n>>1;te;)--o;if(++o,s!==0||o!==i){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=n.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,s=n.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let o=null;for(let a=0;a!==s;a++){const l=n[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),t=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),t=!1;break}o=l}if(i!==void 0&&Rb(i))for(let a=0,l=i.length;a!==l;++a){const c=i[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),t=!1;break}}return t}optimize(){const t=this.times.slice(),e=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===Xo,s=t.length-1;let o=1;for(let a=1;a0){t[o]=t[s];for(let a=s*n,l=o*n,c=0;c!==n;++c)e[l+c]=e[a+c];++o}return o!==t.length?(this.times=t.slice(0,o),this.values=e.slice(0,o*n)):(this.times=t,this.values=e),this}clone(){const t=this.times.slice(),e=this.values.slice(),n=this.constructor,i=new n(this.name,t,e);return i.createInterpolant=this.createInterpolant,i}}Un.prototype.TimeBufferType=Float32Array;Un.prototype.ValueBufferType=Float32Array;Un.prototype.DefaultInterpolation=Za;class Yr extends Un{}Yr.prototype.ValueTypeName="bool";Yr.prototype.ValueBufferType=Array;Yr.prototype.DefaultInterpolation=ja;Yr.prototype.InterpolantFactoryMethodLinear=void 0;Yr.prototype.InterpolantFactoryMethodSmooth=void 0;class Dp extends Un{}Dp.prototype.ValueTypeName="color";class ro extends Un{}ro.prototype.ValueTypeName="number";class Nb extends mo{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(n-e)/(i-e);let c=t*a;for(let h=c+a;c!==h;c+=4)Ei.slerpFlat(s,0,o,c-a,o,c,l);return s}}class Vs extends Un{InterpolantFactoryMethodLinear(t){return new Nb(this.times,this.values,this.getValueSize(),t)}}Vs.prototype.ValueTypeName="quaternion";Vs.prototype.DefaultInterpolation=Za;Vs.prototype.InterpolantFactoryMethodSmooth=void 0;class $r extends Un{}$r.prototype.ValueTypeName="string";$r.prototype.ValueBufferType=Array;$r.prototype.DefaultInterpolation=ja;$r.prototype.InterpolantFactoryMethodLinear=void 0;$r.prototype.InterpolantFactoryMethodSmooth=void 0;class so extends Un{}so.prototype.ValueTypeName="vector";class BE{constructor(t,e=-1,n,i=a0){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=vn(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let o=0,a=n.length;o!==a;++o)e.push(Ob(n[o]).scale(i));const s=new this(t.name,t.duration,e,t.blendMode);return s.uuid=t.uuid,s}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let s=0,o=n.length;s!==o;++s)e.push(Un.toJSON(n[s]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const s=e.length,o=[];for(let a=0;a1){const u=h[1];let f=i[u];f||(i[u]=f=[]),f.push(c)}}const o=[];for(const a in i)o.push(this.CreateFromMorphTargetSequence(a,i[a],e,n));return o}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(u,f,d,_,g){if(d.length!==0){const p=[],m=[];Lp(d,p,m,_),p.length!==0&&g.push(new u(f,p,m))}},i=[],s=t.name||"default",o=t.fps||30,a=t.blendMode;let l=t.length||-1;const c=t.hierarchy||[];for(let u=0;u{e&&e(s),this.manager.itemEnd(t)},0),s;if(Hn[t]!==void 0){Hn[t].push({onLoad:e,onProgress:n,onError:i});return}Hn[t]=[],Hn[t].push({onLoad:e,onProgress:n,onError:i});const o=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||c.body===void 0||c.body.getReader===void 0)return c;const h=Hn[t],u=c.body.getReader(),f=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),d=f?parseInt(f):0,_=d!==0;let g=0;const p=new ReadableStream({start(m){y();function y(){u.read().then(({done:v,value:S})=>{if(v)m.close();else{g+=S.byteLength;const w=new ProgressEvent("progress",{lengthComputable:_,loaded:g,total:d});for(let C=0,E=h.length;C{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return c.json();default:if(a===void 0)return c.text();{const u=/charset="?([^;"\s]*)"?/i.exec(a),f=u&&u[1]?u[1].toLowerCase():void 0,d=new TextDecoder(f);return c.arrayBuffer().then(_=>d.decode(_))}}}).then(c=>{di.add(t,c);const h=Hn[t];delete Hn[t];for(let u=0,f=h.length;u{const h=Hn[t];if(h===void 0)throw this.manager.itemError(t),c;delete Hn[t];for(let u=0,f=h.length;u{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class kb extends Hs{constructor(t){super(t)}load(t,e,n,i){this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);const s=this,o=di.get(t);if(o!==void 0)return s.manager.itemStart(t),setTimeout(function(){e&&e(o),s.manager.itemEnd(t)},0),o;const a=Ds("img");function l(){h(),di.add(t,this),e&&e(this),s.manager.itemEnd(t)}function c(u){h(),i&&i(u),s.manager.itemError(t),s.manager.itemEnd(t)}function h(){a.removeEventListener("load",l,!1),a.removeEventListener("error",c,!1)}return a.addEventListener("load",l,!1),a.addEventListener("error",c,!1),t.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin),s.manager.itemStart(t),a.src=t,a}}class Vb extends Hs{constructor(t){super(t)}load(t,e,n,i){const s=new Ne,o=new kb(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(t,function(a){s.image=a,s.needsUpdate=!0,e!==void 0&&e(s)},n,i),s}}class _o extends _e{constructor(t,e=1){super(),this.isLight=!0,this.type="Light",this.color=new Ut(t),this.intensity=e}dispose(){}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,this.groundColor!==void 0&&(e.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(e.object.distance=this.distance),this.angle!==void 0&&(e.object.angle=this.angle),this.decay!==void 0&&(e.object.decay=this.decay),this.penumbra!==void 0&&(e.object.penumbra=this.penumbra),this.shadow!==void 0&&(e.object.shadow=this.shadow.toJSON()),e}}const Sl=new $t,Tf=new D,Af=new D;class zc{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new it(512,512),this.map=null,this.mapPass=null,this.matrix=new $t,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Ic,this._frameExtents=new it(1,1),this._viewportCount=1,this._viewports=[new se(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,n=this.matrix;Tf.setFromMatrixPosition(t.matrixWorld),e.position.copy(Tf),Af.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(Af),e.updateMatrixWorld(),Sl.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Sl),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Sl)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const t={};return this.bias!==0&&(t.bias=this.bias),this.normalBias!==0&&(t.normalBias=this.normalBias),this.radius!==1&&(t.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}class Hb extends zc{constructor(){super(new qe(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(t){const e=this.camera,n=Gr*2*t.angle*this.focus,i=this.mapSize.width/this.mapSize.height,s=t.distance||e.far;(n!==e.fov||i!==e.aspect||s!==e.far)&&(e.fov=n,e.aspect=i,e.far=s,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}class kE extends _o{constructor(t,e,n=0,i=Math.PI/3,s=0,o=2){super(t,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(_e.DEFAULT_UP),this.updateMatrix(),this.target=new _e,this.distance=n,this.angle=i,this.penumbra=s,this.decay=o,this.map=null,this.shadow=new Hb}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}const wf=new $t,hs=new D,bl=new D;class Gb extends zc{constructor(){super(new qe(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new it(4,2),this._viewportCount=6,this._viewports=[new se(2,1,1,1),new se(0,1,1,1),new se(3,1,1,1),new se(1,1,1,1),new se(3,0,1,1),new se(1,0,1,1)],this._cubeDirections=[new D(1,0,0),new D(-1,0,0),new D(0,0,1),new D(0,0,-1),new D(0,1,0),new D(0,-1,0)],this._cubeUps=[new D(0,1,0),new D(0,1,0),new D(0,1,0),new D(0,1,0),new D(0,0,1),new D(0,0,-1)]}updateMatrices(t,e=0){const n=this.camera,i=this.matrix,s=t.distance||n.far;s!==n.far&&(n.far=s,n.updateProjectionMatrix()),hs.setFromMatrixPosition(t.matrixWorld),n.position.copy(hs),bl.copy(n.position),bl.add(this._cubeDirections[e]),n.up.copy(this._cubeUps[e]),n.lookAt(bl),n.updateMatrixWorld(),i.makeTranslation(-hs.x,-hs.y,-hs.z),wf.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(wf)}}class VE extends _o{constructor(t,e,n=0,i=2){super(t,e),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new Gb}get power(){return this.intensity*4*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}class Wb extends zc{constructor(){super(new op(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Cf extends _o{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(_e.DEFAULT_UP),this.updateMatrix(),this.target=new _e,this.shadow=new Wb}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}class Xb extends _o{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class HE{static decodeText(t){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(t);let e="";for(let n=0,i=t.length;n{e&&e(c),s.manager.itemEnd(t)}).catch(c=>{i&&i(c)});return}return setTimeout(function(){e&&e(o),s.manager.itemEnd(t)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(t,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return di.add(t,c),e&&e(c),s.manager.itemEnd(t),c}).catch(function(c){i&&i(c),di.remove(t),s.manager.itemError(t),s.manager.itemEnd(t)});di.add(t,l),s.manager.itemStart(t)}}class XE{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Rf(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=Rf();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function Rf(){return(typeof performance=="undefined"?Date:performance).now()}const kc="\\[\\]\\.:\\/",qb=new RegExp("["+kc+"]","g"),Vc="[^"+kc+"]",Yb="[^"+kc.replace("\\.","")+"]",$b=/((?:WC+[\/:])*)/.source.replace("WC",Vc),jb=/(WCOD+)?/.source.replace("WCOD",Yb),Zb=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Vc),Kb=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Vc),Jb=new RegExp("^"+$b+jb+Zb+Kb+"$"),Qb=["material","materials","bones","map"];class tE{constructor(t,e,n){const i=n||te.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}getValue(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(t,e)}setValue(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=n.length;i!==s;++i)n[i].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}class te{constructor(t,e,n){this.path=e,this.parsedPath=n||te.parseTrackName(e),this.node=te.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new te.Composite(t,e,n):new te(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(qb,"")}static parseTrackName(t){const e=Jb.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=n.nodeName.substring(i+1);Qb.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(n!==void 0)return n}if(t.children){const n=function(s){for(let o=0;o{r instanceof Array?r.forEach(Ip):(r.map&&r.map.dispose(),r.dispose())},Np=r=>{r.geometry&&r.geometry.dispose(),r.material&&Ip(r.material),r.texture&&r.texture.dispose(),r.children&&r.children.forEach(Np)},nE=r=>{if(r&&r.children)for(;r.children.length;){const t=r.children[0];r.remove(t),Np(t)}};var Hc={exports:{}},iE=function(t,e,n,i){var s=t[0],o=t[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=e.length);for(var l=(i-n)/2,c=0,h=l-1;co!=_>o&&s<(d-u)*(o-f)/(_-f)+u;g&&(a=!a)}return a},rE=function(t,e,n,i){var s=t[0],o=t[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=e.length);for(var l=i-n,c=0,h=l-1;co!=_>o&&s<(d-u)*(o-f)/(_-f)+u;g&&(a=!a)}return a},Up=iE,Op=rE;Hc.exports=function(t,e,n,i){return e.length>0&&Array.isArray(e[0])?Op(t,e,n,i):Up(t,e,n,i)};Hc.exports.nested=Op;Hc.exports.flat=Up;const If={type:"change"},El={type:"start"},Nf={type:"end"},Ia=new Xr,Uf=new li,sE=Math.cos(70*L0.DEG2RAD);class aE extends Qi{constructor(t,e){super(),this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new D,this.cursor=new D,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:er.ROTATE,MIDDLE:er.DOLLY,RIGHT:er.PAN},this.touches={ONE:nr.ROTATE,TWO:nr.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return a.phi},this.getAzimuthalAngle=function(){return a.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(P){P.addEventListener("keydown",Pt),this._domElementKeyEvents=P},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",Pt),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(If),n.update(),s=i.NONE},this.update=function(){const P=new D,lt=new Ei().setFromUnitVectors(t.up,new D(0,1,0)),dt=lt.clone().invert(),Rt=new D,R=new Ei,at=new D,st=2*Math.PI;return function(Lt=null){const Kt=n.object.position;P.copy(Kt).sub(n.target),P.applyQuaternion(lt),a.setFromVector3(P),n.autoRotate&&s===i.NONE&&k(x(Lt)),n.enableDamping?(a.theta+=l.theta*n.dampingFactor,a.phi+=l.phi*n.dampingFactor):(a.theta+=l.theta,a.phi+=l.phi);let Yt=n.minAzimuthAngle,ne=n.maxAzimuthAngle;isFinite(Yt)&&isFinite(ne)&&(Yt<-Math.PI?Yt+=st:Yt>Math.PI&&(Yt-=st),ne<-Math.PI?ne+=st:ne>Math.PI&&(ne-=st),Yt<=ne?a.theta=Math.max(Yt,Math.min(ne,a.theta)):a.theta=a.theta>(Yt+ne)/2?Math.max(Yt,a.theta):Math.min(ne,a.theta)),a.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,a.phi)),a.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(h,n.dampingFactor):n.target.add(h),n.target.sub(n.cursor),n.target.clampLength(n.minTargetRadius,n.maxTargetRadius),n.target.add(n.cursor),n.zoomToCursor&&C||n.object.isOrthographicCamera?a.radius=Z(a.radius):a.radius=Z(a.radius*c),P.setFromSpherical(a),P.applyQuaternion(dt),Kt.copy(n.target).add(P),n.object.lookAt(n.target),n.enableDamping===!0?(l.theta*=1-n.dampingFactor,l.phi*=1-n.dampingFactor,h.multiplyScalar(1-n.dampingFactor)):(l.set(0,0,0),h.set(0,0,0));let Re=!1;if(n.zoomToCursor&&C){let Jt=null;if(n.object.isPerspectiveCamera){const ve=P.length();Jt=Z(ve*c);const Ve=ve-Jt;n.object.position.addScaledVector(S,Ve),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){const ve=new D(w.x,w.y,0);ve.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/c)),n.object.updateProjectionMatrix(),Re=!0;const Ve=new D(w.x,w.y,0);Ve.unproject(n.object),n.object.position.sub(Ve).add(ve),n.object.updateMatrixWorld(),Jt=P.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Jt!==null&&(this.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Jt).add(n.object.position):(Ia.origin.copy(n.object.position),Ia.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Ia.direction))o||8*(1-R.dot(n.object.quaternion))>o||at.distanceToSquared(n.target)>0?(n.dispatchEvent(If),Rt.copy(n.object.position),R.copy(n.object.quaternion),at.copy(n.target),!0):!1}}(),this.dispose=function(){n.domElement.removeEventListener("contextmenu",Zt),n.domElement.removeEventListener("pointerdown",T),n.domElement.removeEventListener("pointercancel",B),n.domElement.removeEventListener("wheel",tt),n.domElement.removeEventListener("pointermove",M),n.domElement.removeEventListener("pointerup",B),n._domElementKeyEvents!==null&&(n._domElementKeyEvents.removeEventListener("keydown",Pt),n._domElementKeyEvents=null)};const n=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let s=i.NONE;const o=1e-6,a=new Lf,l=new Lf;let c=1;const h=new D,u=new it,f=new it,d=new it,_=new it,g=new it,p=new it,m=new it,y=new it,v=new it,S=new D,w=new it;let C=!1;const E=[],N={};let U=!1;function x(P){return P!==null?2*Math.PI/60*n.autoRotateSpeed*P:2*Math.PI/60/60*n.autoRotateSpeed}function b(P){const lt=Math.abs(P*.01);return Math.pow(.95,n.zoomSpeed*lt)}function k(P){l.theta-=P}function W(P){l.phi-=P}const I=function(){const P=new D;return function(dt,Rt){P.setFromMatrixColumn(Rt,0),P.multiplyScalar(-dt),h.add(P)}}(),F=function(){const P=new D;return function(dt,Rt){n.screenSpacePanning===!0?P.setFromMatrixColumn(Rt,1):(P.setFromMatrixColumn(Rt,0),P.crossVectors(n.object.up,P)),P.multiplyScalar(dt),h.add(P)}}(),O=function(){const P=new D;return function(dt,Rt){const R=n.domElement;if(n.object.isPerspectiveCamera){const at=n.object.position;P.copy(at).sub(n.target);let st=P.length();st*=Math.tan(n.object.fov/2*Math.PI/180),I(2*dt*st/R.clientHeight,n.object.matrix),F(2*Rt*st/R.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(I(dt*(n.object.right-n.object.left)/n.object.zoom/R.clientWidth,n.object.matrix),F(Rt*(n.object.top-n.object.bottom)/n.object.zoom/R.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function Y(P){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?c/=P:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function q(P){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?c*=P:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function $(P,lt){if(!n.zoomToCursor)return;C=!0;const dt=n.domElement.getBoundingClientRect(),Rt=P-dt.left,R=lt-dt.top,at=dt.width,st=dt.height;w.x=Rt/at*2-1,w.y=-(R/st)*2+1,S.set(w.x,w.y,1).unproject(n.object).sub(n.object.position).normalize()}function Z(P){return Math.max(n.minDistance,Math.min(n.maxDistance,P))}function J(P){u.set(P.clientX,P.clientY)}function ut(P){$(P.clientX,P.clientX),m.set(P.clientX,P.clientY)}function bt(P){_.set(P.clientX,P.clientY)}function V(P){f.set(P.clientX,P.clientY),d.subVectors(f,u).multiplyScalar(n.rotateSpeed);const lt=n.domElement;k(2*Math.PI*d.x/lt.clientHeight),W(2*Math.PI*d.y/lt.clientHeight),u.copy(f),n.update()}function Q(P){y.set(P.clientX,P.clientY),v.subVectors(y,m),v.y>0?Y(b(v.y)):v.y<0&&q(b(v.y)),m.copy(y),n.update()}function _t(P){g.set(P.clientX,P.clientY),p.subVectors(g,_).multiplyScalar(n.panSpeed),O(p.x,p.y),_.copy(g),n.update()}function Mt(P){$(P.clientX,P.clientY),P.deltaY<0?q(b(P.deltaY)):P.deltaY>0&&Y(b(P.deltaY)),n.update()}function Tt(P){let lt=!1;switch(P.code){case n.keys.UP:P.ctrlKey||P.metaKey||P.shiftKey?W(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):O(0,n.keyPanSpeed),lt=!0;break;case n.keys.BOTTOM:P.ctrlKey||P.metaKey||P.shiftKey?W(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):O(0,-n.keyPanSpeed),lt=!0;break;case n.keys.LEFT:P.ctrlKey||P.metaKey||P.shiftKey?k(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):O(n.keyPanSpeed,0),lt=!0;break;case n.keys.RIGHT:P.ctrlKey||P.metaKey||P.shiftKey?k(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):O(-n.keyPanSpeed,0),lt=!0;break}lt&&(P.preventDefault(),n.update())}function xt(P){if(E.length===1)u.set(P.pageX,P.pageY);else{const lt=mt(P),dt=.5*(P.pageX+lt.x),Rt=.5*(P.pageY+lt.y);u.set(dt,Rt)}}function Ot(P){if(E.length===1)_.set(P.pageX,P.pageY);else{const lt=mt(P),dt=.5*(P.pageX+lt.x),Rt=.5*(P.pageY+lt.y);_.set(dt,Rt)}}function wt(P){const lt=mt(P),dt=P.pageX-lt.x,Rt=P.pageY-lt.y,R=Math.sqrt(dt*dt+Rt*Rt);m.set(0,R)}function L(P){n.enableZoom&&wt(P),n.enablePan&&Ot(P)}function ct(P){n.enableZoom&&wt(P),n.enableRotate&&xt(P)}function j(P){if(E.length==1)f.set(P.pageX,P.pageY);else{const dt=mt(P),Rt=.5*(P.pageX+dt.x),R=.5*(P.pageY+dt.y);f.set(Rt,R)}d.subVectors(f,u).multiplyScalar(n.rotateSpeed);const lt=n.domElement;k(2*Math.PI*d.x/lt.clientHeight),W(2*Math.PI*d.y/lt.clientHeight),u.copy(f)}function ot(P){if(E.length===1)g.set(P.pageX,P.pageY);else{const lt=mt(P),dt=.5*(P.pageX+lt.x),Rt=.5*(P.pageY+lt.y);g.set(dt,Rt)}p.subVectors(g,_).multiplyScalar(n.panSpeed),O(p.x,p.y),_.copy(g)}function K(P){const lt=mt(P),dt=P.pageX-lt.x,Rt=P.pageY-lt.y,R=Math.sqrt(dt*dt+Rt*Rt);y.set(0,R),v.set(0,Math.pow(y.y/m.y,n.zoomSpeed)),Y(v.y),m.copy(y);const at=(P.pageX+lt.x)*.5,st=(P.pageY+lt.y)*.5;$(at,st)}function Et(P){n.enableZoom&&K(P),n.enablePan&&ot(P)}function pt(P){n.enableZoom&&K(P),n.enableRotate&&j(P)}function T(P){n.enabled!==!1&&(E.length===0&&(n.domElement.setPointerCapture(P.pointerId),n.domElement.addEventListener("pointermove",M),n.domElement.addEventListener("pointerup",B)),Gt(P),P.pointerType==="touch"?Ft(P):rt(P))}function M(P){n.enabled!==!1&&(P.pointerType==="touch"?nt(P):et(P))}function B(P){switch(It(P),E.length){case 0:n.domElement.releasePointerCapture(P.pointerId),n.domElement.removeEventListener("pointermove",M),n.domElement.removeEventListener("pointerup",B),n.dispatchEvent(Nf),s=i.NONE;break;case 1:const lt=E[0],dt=N[lt];Ft({pointerId:lt,pageX:dt.x,pageY:dt.y});break}}function rt(P){let lt;switch(P.button){case 0:lt=n.mouseButtons.LEFT;break;case 1:lt=n.mouseButtons.MIDDLE;break;case 2:lt=n.mouseButtons.RIGHT;break;default:lt=-1}switch(lt){case er.DOLLY:if(n.enableZoom===!1)return;ut(P),s=i.DOLLY;break;case er.ROTATE:if(P.ctrlKey||P.metaKey||P.shiftKey){if(n.enablePan===!1)return;bt(P),s=i.PAN}else{if(n.enableRotate===!1)return;J(P),s=i.ROTATE}break;case er.PAN:if(P.ctrlKey||P.metaKey||P.shiftKey){if(n.enableRotate===!1)return;J(P),s=i.ROTATE}else{if(n.enablePan===!1)return;bt(P),s=i.PAN}break;default:s=i.NONE}s!==i.NONE&&n.dispatchEvent(El)}function et(P){switch(s){case i.ROTATE:if(n.enableRotate===!1)return;V(P);break;case i.DOLLY:if(n.enableZoom===!1)return;Q(P);break;case i.PAN:if(n.enablePan===!1)return;_t(P);break}}function tt(P){n.enabled===!1||n.enableZoom===!1||s!==i.NONE||(P.preventDefault(),n.dispatchEvent(El),Mt(yt(P)),n.dispatchEvent(Nf))}function yt(P){const lt=P.deltaMode,dt={clientX:P.clientX,clientY:P.clientY,deltaY:P.deltaY};switch(lt){case 1:dt.deltaY*=16;break;case 2:dt.deltaY*=100;break}return P.ctrlKey&&!U&&(dt.deltaY*=10),dt}function ft(P){P.key==="Control"&&(U=!0,n.domElement.getRootNode().addEventListener("keyup",gt,{passive:!0,capture:!0}))}function gt(P){P.key==="Control"&&(U=!1,n.domElement.getRootNode().removeEventListener("keyup",gt,{passive:!0,capture:!0}))}function Pt(P){n.enabled===!1||n.enablePan===!1||Tt(P)}function Ft(P){switch(Ct(P),E.length){case 1:switch(n.touches.ONE){case nr.ROTATE:if(n.enableRotate===!1)return;xt(P),s=i.TOUCH_ROTATE;break;case nr.PAN:if(n.enablePan===!1)return;Ot(P),s=i.TOUCH_PAN;break;default:s=i.NONE}break;case 2:switch(n.touches.TWO){case nr.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;L(P),s=i.TOUCH_DOLLY_PAN;break;case nr.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;ct(P),s=i.TOUCH_DOLLY_ROTATE;break;default:s=i.NONE}break;default:s=i.NONE}s!==i.NONE&&n.dispatchEvent(El)}function nt(P){switch(Ct(P),s){case i.TOUCH_ROTATE:if(n.enableRotate===!1)return;j(P),n.update();break;case i.TOUCH_PAN:if(n.enablePan===!1)return;ot(P),n.update();break;case i.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Et(P),n.update();break;case i.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;pt(P),n.update();break;default:s=i.NONE}}function Zt(P){n.enabled!==!1&&P.preventDefault()}function Gt(P){E.push(P.pointerId)}function It(P){delete N[P.pointerId];for(let lt=0;lt[]},colors:{type:Array,default:()=>[2161326,15380744,3122407,65535,16536624]},opacity:{type:Number,default:.5},delay:{type:Number,default:5e3},loopComplete:{type:Function,default:()=>{}}},computed:{currentData(){return Zr(ae({},this.data[this.activeIndex]),{count:this.count})}},data(){return this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null,this.pieGroup=new ms,this.planeTweens=[],this.resizeHandler=null,this.visibilityObserver=null,this.isVisible=!0,this.isDestroyed=!1,this.isLooping=!1,{width:300,height:200,activeIndex:0,count:0,timer:null}},mounted(){this.isVisible=this.isElementVisible(this.$el),this.updateSize(),this.count=this.data.map(r=>Number(r.value)||0).reduce((r,t)=>r+t,0),this.init(),this.setupVisibilityObserver(),this.resizeHandler=()=>this.resize(),window.addEventListener("resize",this.resizeHandler)},beforeUnmount(){this.destroy()},methods:{init(){this.scene=new VS,this.initCamera(),this.initRenderer(),this.initLight(),this.initAxes(),this.initControls(),this.createPlane({url:oE,width:5,position:new D(0,0,-.01),color:"#00ffff"}),this.createPlane({url:lE,width:6.5,position:new D(0,0,-.02),color:"#00ffff"}),this.createPlane({url:cE,width:5.5,position:new D(0,0,-.03),animate:!0,color:"#00ffff"}),this.createPie(),this.isVisible&&this.start()},createPlane(r){let t={url:"texture/ring1.png",width:5.5,z:0,position:new D(0,0,0),animate:!1,color:null},e=Object.assign(t,r);const n=new ks(e.width,e.width),i=new Dc({map:this.getTexture(e.url),transparent:!0,side:bn,depthTest:!1});e.color&&(i.color=new Ut(e.color));const s=new Ye(n,i);if(s.position.copy(e.position),s.rotation.x=-1*Math.PI/2,e.animate){const o=ai.to(s.rotation,{z:2*Math.PI,repeat:-1,ease:"none",duration:3});this.planeTweens.push(o)}this.scene.add(s)},getTexture(r){const t=new Vb().load(r);return t.wrapS=t.wrapT=$a,t},createPie(){if(!this.data.length||this.count<=0)return;let r=0,t=0;for(var e=0;e=this.data.length&&(r=0,this.loopComplete&&this.loopComplete()),this.chooseRing(r)},chooseRing(r=0,t=!1){if(!this.pieGroup.children.length)return;let e=r-1<0?this.data.length-1:r-1,n=this.pieGroup.children[e];this.prevMesh=n,this.activeIndex=r;let i=this.pieGroup.children[r];i&&(t||n&&(ai.to(n.scale,{z:1}),ai.to(n.material,{opacity:this.opacity})),ai.to(i.scale,{z:2}),ai.to(i.material,{opacity:.8}))},addRing(r={}){let t={innerRadius:1.5,outerRadius:2,thickness:.5,startAngle:0,endAngle:Math.PI/2,color:65535,segments:120},e=Object.assign(t,r),n=new bs;n.arc(0,0,e.outerRadius,e.startAngle,e.endAngle);let i=n.getPoints(e.segments),s=new bs;s.arc(0,0,e.innerRadius,e.endAngle,e.startAngle,!0);let o=s.getPoints(e.segments),a=new bs(i.concat(o));const l={steps:1,depth:e.thickness,bevelEnabled:!0,bevelThickness:0,bevelSize:0,bevelOffset:0,bevelSegments:0},c=new Bc(a,l);let h=new Cb({color:e.color,transparent:!0,opacity:this.opacity,side:bn});const u=new Ye(c,h.clone());return u.renderOrder=10,u.rotation.x=-1*Math.PI/2,u},initCamera(){var r=this.width/this.height;this.camera=new qe(30,r,.1,1500),this.camera.position.set(6.023813305272227,4.838542633695233,6.111272698256137),this.camera.lookAt(0,0,0)},initRenderer(){this.renderer=new pp({antialias:!0,alpha:!0}),this.renderer.setPixelRatio(this.getPixelRatio()),this.renderer.setSize(this.width,this.height),this.$refs.pieDom.appendChild(this.renderer.domElement)},initLight(){let r=new Cf(16777215,2);r.position.set(200,300,200);let t=new Cf(16777215,2);t.position.set(-200,-300,-200);let e=new Xb(16777215,2);this.scene.add(r),this.scene.add(t),this.scene.add(e)},initAxes(){this.axes=new eE(0),this.scene.add(this.axes)},initControls(){this.controls=new aE(this.camera,this.renderer.domElement),this.controls.maxPolarAngle=Math.PI,this.controls.autoRotate=!1,this.controls.enableDamping=!0,this.controls.enabled=!1},loop(){!this.renderer||this.isLooping||(this.isLooping=!0,this.renderer.setAnimationLoop(()=>{this.renderer.render(this.scene,this.camera),this.controls&&this.controls.update()}))},start(){this.isDestroyed||!this.renderer||!this.data.length||(this.isVisible=!0,this.loop(),this.planeTweens.forEach(r=>{var t;return(t=r==null?void 0:r.resume)==null?void 0:t.call(r)}),this.controls&&(this.controls.enabled=!0),this.startTimer())},startTimer(){this.stopTimer(),!(this.data.length<2)&&(this.timer=window.setInterval(()=>{this.loopChange()},this.delay))},stop(){this.stopTimer(),this.controls&&(this.controls.enabled=!1),this.renderer&&this.renderer.setAnimationLoop(null),this.planeTweens.forEach(r=>{var t;return(t=r==null?void 0:r.pause)==null?void 0:t.call(r)}),this.isLooping=!1},stopTimer(){this.timer&&(window.clearInterval(this.timer),this.timer=null)},setupVisibilityObserver(){const r=this.$el;!r||typeof window.IntersectionObserver!="function"||(this.visibilityObserver=new IntersectionObserver(t=>{const e=t[0],n=!!(e!=null&&e.isIntersecting)&&this.isElementVisible(r);n!==this.isVisible&&(this.isVisible=n,n?(this.resize(),this.start()):this.stop())}),this.visibilityObserver.observe(r),this.isVisible=this.isElementVisible(r),this.isVisible||this.stop())},isElementVisible(r){if(!r||typeof window.getComputedStyle!="function")return!0;let t=r;for(;t&&t!==document.body;){const n=window.getComputedStyle(t);if(n.display==="none"||n.visibility==="hidden"||Number(n.opacity)===0)return!1;t=t.parentElement}const e=r.getBoundingClientRect();return e.width>0&&e.height>0},getPixelRatio(){return Math.min(window.devicePixelRatio||1,1.5)},updateSize(){var t,e;const r=this.$refs.pieDom;this.width=(r==null?void 0:r.offsetWidth)||((t=this.$el)==null?void 0:t.offsetWidth)||300,this.height=(r==null?void 0:r.offsetHeight)||((e=this.$el)==null?void 0:e.offsetHeight)||200},getScene(){return this.scene},getRender(){return this.renderer},resize(){if(!this.camera||!this.renderer)return;this.updateSize();let r=this.width/this.height;this.camera.aspect=r,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height),this.renderer.setPixelRatio(this.getPixelRatio())},destroy(){var r,t,e,n;this.isDestroyed=!0,this.prevMesh&&(ai.set(this.prevMesh.scale,{z:1}),ai.set(this.prevMesh.material,{opacity:this.opacity})),this.stop(),(t=(r=this.visibilityObserver)==null?void 0:r.disconnect)==null||t.call(r),this.visibilityObserver=null,this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.renderer&&(this.planeTweens.forEach(i=>{var s;return(s=i==null?void 0:i.kill)==null?void 0:s.call(i)}),this.planeTweens=[],nE(this.pieGroup),this.renderer.dispose(),this.renderer.forceContextLoss(),(n=(e=this.controls)==null?void 0:e.dispose)==null||n.call(e),this.$refs.pieDom&&(this.$refs.pieDom.innerHTML=""),this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null)}}},uE={class:"three-pie-wrap"},fE={class:"three-pie",ref:"pieDom"},dE={class:"three-pie-slot"};function pE(r,t,e,n,i,s){return us(),fs("div",uE,[Bt("div",fE,null,512),Bt("div",dE,[Tl(r.$slots,"default",{data:s.currentData})])])}const ZE=am(hE,[["render",pE]]),oi=Object.freeze({canvasWidth:1920,canvasHeight:1080,sideCardWidth:398,sidePanelTop:128,sidePanelBottom:8,sideCardGap:12,sideCardMinHeight:227,cardTitleHeight:36}),Fp=Object.freeze({ui:'"Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif',title:'"Alimama ShuHeiTi", "阿里妈妈数黑体 Bold", "Alibaba PuHuiTi", "Microsoft YaHei", sans-serif',number:'"D-DIN", "D-DIN-Bold", Arial, sans-serif'}),go=Object.freeze({pageTitle:48,menu:14,cardTitle:16,kpiLabel:14,kpiValue:31,kpiUnit:11,chartUnit:10,chartAxis:10,chartLabel:11,tableBody:11,tableValue:12,popupTitle:20,popupBody:14,tooltip:12}),$n=Object.freeze({textPrimary:"#ffffff",textStrong:"#ffffff",textSecondary:"rgba(246, 253, 255, 0.92)",textMuted:"rgba(242, 253, 255, 0.9)",textWeak:"rgba(229, 248, 255, 0.74)",accentCyan:"#30dcff",accentMint:"#19ffc6",accentWater:"#31dcff",accentGrass:"#24f6c4",accentGold:"#8bf7ff",accentOrange:"#48cfff",cardBorder:"rgba(62, 226, 255, 0.5)",cardBg:"rgba(10, 52, 72, 0.7)",cardHeaderBg:"rgba(40, 124, 158, 0.62)",chartGridLine:"rgba(218, 250, 255, 0.28)",tooltipBg:"rgba(3, 13, 18, 0.92)",iconPrimary:"#30dcff",iconSecondary:"#19ffc6",iconBg:"rgba(48, 220, 255, 0.1)",iconBorder:"rgba(48, 220, 255, 0.42)",iconGlow:"rgba(48, 220, 255, 0.22)"});function KE(r=oi.canvasHeight){const t=Math.max(oi.canvasHeight,Number(r)||oi.canvasHeight),e=Math.floor((t-oi.sidePanelTop-oi.sidePanelBottom-oi.sideCardGap*3)/4);return Math.max(oi.sideCardMinHeight,e)}function JE(r,t=1){const e=Math.max(1,Number(t)||1);return r*e+oi.sideCardGap*(e-1)}const vo=Fp.ui,mE=Fp.number,De=[$n.accentCyan,$n.accentMint,$n.accentWater,$n.accentOrange,"#16b6e8","#b9fbff"],Bp=$n.textPrimary,_E=$n.textStrong,zp=$n.textSecondary,Gs=$n.textMuted,gE=$n.chartGridLine,vE=new Map([["#ffd76c","#8bf7ff"],["#ffe06b","#8bf7ff"],["#ffcf62","#8bf7ff"],["#ffbf5a","#8bf7ff"],["#ff9a62","#48cfff"],["#ff9a5c","#48cfff"],["#ff8f6b","#48cfff"],["#ff5a64","#8bf7ff"],["#ff4054","#30dcff"],["#7ee269","#24f6c4"],["#86dc62","#24f6c4"],["#a6f06d","#24f6c4"],["#c7e86b","#8bf7ff"],["#9ea7ff","#48cfff"],["#7aa7ff","#48cfff"]]),Gc={color:Gs,fontFamily:vo,fontSize:go.chartAxis};function xo(r,t={}){return ae({trigger:"item",appendToBody:!0,confine:!1,backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:Bp,fontFamily:vo,fontSize:go.tooltip,lineHeight:18},extraCssText:"box-shadow:0 0 10px rgba(0,210,255,.12);z-index:2147483647!important;pointer-events:none;",formatter:r},t)}function Wc(r={}){return ae({itemWidth:10,itemHeight:7,itemGap:8,textStyle:Zr(ae({},Gc),{color:zp,fontSize:go.chartAxis})},r)}function Os(r=[],t={}){return ae({type:"category",data:r,axisLabel:ae(Zr(ae({},Gc),{color:Gs,interval:0,hideOverlap:!0,margin:8}),t.axisLabel||{}),axisLine:ae({lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},t.axisLine||{}),axisTick:ae({show:!1},t.axisTick||{}),splitLine:ae({show:!1},t.splitLine||{})},kp(t))}function Fs(r={}){return ae({type:"value",axisLabel:ae(Zr(ae({},Gc),{color:Gs}),r.axisLabel||{}),axisLine:ae({show:!1},r.axisLine||{}),axisTick:ae({show:!1},r.axisTick||{}),splitLine:ae({lineStyle:{color:gE,type:"dashed"}},r.splitLine||{})},kp(r))}function yo(r={}){return ae({left:42,right:28,top:30,bottom:24,containLabel:!1},r)}function xE(r,t=`${r}12`){return new rc(0,0,0,1,[{offset:0,color:r},{offset:1,color:t}])}function Xc(r=De[0]){return new rc(0,0,0,1,[{offset:0,color:"rgba(255,255,255,0.96)"},{offset:.16,color:r},{offset:.72,color:`${r}a3`},{offset:1,color:`${r}14`}])}function yE(r,t=`${r}20`,e="#ffffff"){return new rc(0,0,1,0,[{offset:0,color:t},{offset:.68,color:r},{offset:1,color:e}])}function Mo(r={}){var e,n,i;const t=ae({textStyle:ae({fontFamily:vo,color:Gs},r.textStyle||{}),animation:(e=r.animation)!=null?e:!0,animationDuration:(n=r.animationDuration)!=null?n:900,animationDurationUpdate:(i=r.animationDurationUpdate)!=null?i:700,animationEasing:r.animationEasing||"cubicOut"},r);return ic(t),nc(t),t}function QE({categories:r=[],rows:t=[],unit:e="",name:n="指标",orientation:i="vertical",colorIndex:s=0,grid:o={},showLabel:a=!0}={}){const l=i==="horizontal",c=t.map((h,u)=>({name:h.name||r[u],value:Number(h.value)||0,itemStyle:{borderRadius:l?[0,6,6,0]:[7,7,1,1],color:l?yE(De[(s+u)%De.length],"rgba(48, 220, 255, 0.1)",De[(s+u)%De.length]):Xc(De[(s+u)%De.length])}}));return Mo({color:De,grid:yo(ae(l?{left:72,right:a?58:26,top:24,bottom:22}:{left:46,right:24,top:28,bottom:42},o)),tooltip:xo(h=>`${h.marker}${h.name}:${ec(h.value)}${e}`),xAxis:l?Fs():Os(r,{axisLabel:{rotate:r.length>6?24:0}}),yAxis:l?Os(r,{inverse:!0,axisLabel:{color:Bp,fontWeight:700}}):Fs(),series:[{name:n,type:"bar",barWidth:l?8:r.length>7?6:8,data:c,label:{show:a,position:l?"right":"top",color:_E,fontFamily:mE,fontSize:go.chartLabel,fontWeight:700,formatter:({value:h})=>ec(h)}}]})}function tT({categories:r=[],series:t=[],unit:e="",grid:n={}}={}){return Mo({color:De,grid:yo(ae({left:46,right:20,top:42,bottom:42},n)),tooltip:xo(i=>qc(i,e),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:Wc({top:0,right:4}),xAxis:Os(r),yAxis:Fs(),series:t.map((i,s)=>({name:i.name,type:"bar",barWidth:r.length>7?6:8,data:i.values||[],itemStyle:{borderRadius:[7,7,1,1],color:Xc(De[s%De.length])}}))})}function eT({categories:r=[],series:t=[],unit:e="",grid:n={}}={}){return Mo({color:De,grid:yo(ae({left:48,right:22,top:42,bottom:42},n)),tooltip:xo(i=>qc(i,e),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:Wc({top:0,right:4}),xAxis:Os(r),yAxis:Fs(),series:t.map((i,s)=>({name:i.name,type:"bar",stack:"total",barWidth:r.length>7?6:8,data:i.values||[],itemStyle:{color:Xc(De[s%De.length])}}))})}function nT({categories:r=[],series:t=[],unit:e="",area:n=!1,grid:i={}}={}){return Mo({color:De,grid:yo(ae({left:46,right:24,top:42,bottom:38},i)),tooltip:xo(s=>qc(s,e),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(139, 247, 255, 0.42)"}}}),legend:Wc({top:0,right:4}),xAxis:Os(r),yAxis:Fs(),series:t.map((s,o)=>{const a=De[o%De.length];return{name:s.name,type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:s.values||[],lineStyle:{width:1.6,color:a,shadowColor:`${a}22`,shadowBlur:1},itemStyle:{color:"#041522",borderColor:a,borderWidth:1},areaStyle:n?{color:xE(a,`${a}08`)}:void 0}})})}function ec(r){const t=Number(r);return Number.isFinite(t)?Number.isInteger(t)?t.toLocaleString("zh-CN"):t.toLocaleString("zh-CN",{maximumFractionDigits:2}):"--"}function kp(r={}){const o=r,{axisLabel:t,axisLine:e,axisTick:n,splitLine:i}=o;return nh(o,["axisLabel","axisLine","axisTick","splitLine"])}function qc(r,t=""){var s,o;const e=Array.isArray(r)?r:[r],n=((s=e[0])==null?void 0:s.axisValueLabel)||((o=e[0])==null?void 0:o.name)||"",i=e.map(a=>`${a.marker}${a.seriesName||a.name}:${ec(a.value)}${t}`).join("
");return`${n}
${i}`}function nc(r){if(!r||typeof r!="object")return;["textStyle","axisLabel","nameTextStyle","label","axisName"].forEach(e=>{!r[e]||typeof r[e]!="object"||(r[e]=ME(r[e]))}),Object.keys(r).forEach(e=>{const n=r[e];if(!(!n||typeof n!="object")&&!(e==="color"||e==="itemStyle"||e==="areaStyle"||e==="lineStyle")){if(Array.isArray(n)){n.forEach(nc);return}nc(n)}})}function ic(r){!r||typeof r!="object"||Object.keys(r).forEach(t=>{const e=r[t];if(typeof e=="string"){r[t]=Of(e);return}if(Array.isArray(e)){e.forEach((n,i)=>{typeof n=="string"?e[i]=Of(n):ic(n)});return}e&&typeof e=="object"&&ic(e)})}function Of(r){let t=r;return vE.forEach((e,n)=>{t=t.replace(new RegExp(n,"gi"),e)}),t=t.replace(/rgba\(\s*255\s*,\s*215\s*,\s*108\s*,\s*([^)]+)\)/gi,"rgba(139, 247, 255, $1)").replace(/rgba\(\s*255\s*,\s*224\s*,\s*107\s*,\s*([^)]+)\)/gi,"rgba(139, 247, 255, $1)").replace(/rgba\(\s*255\s*,\s*154\s*,\s*98\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*255\s*,\s*143\s*,\s*107\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*126\s*,\s*226\s*,\s*105\s*,\s*([^)]+)\)/gi,"rgba(36, 246, 196, $1)").replace(/rgba\(\s*134\s*,\s*220\s*,\s*98\s*,\s*([^)]+)\)/gi,"rgba(36, 246, 196, $1)").replace(/rgba\(\s*166\s*,\s*240\s*,\s*109\s*,\s*([^)]+)\)/gi,"rgba(36, 246, 196, $1)").replace(/rgba\(\s*158\s*,\s*167\s*,\s*255\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*122\s*,\s*167\s*,\s*255\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*255\s*,\s*64\s*,\s*84\s*,\s*([^)]+)\)/gi,"rgba(48, 220, 255, $1)").replace(/rgba\(\s*255\s*,\s*90\s*,\s*100\s*,\s*([^)]+)\)/gi,"rgba(139, 247, 255, $1)"),t}function ME(r){const t=ae({fontFamily:r.fontFamily||vo},r);return t.color=SE(t.color),typeof t.fontSize=="number"&&t.fontSize<10&&(t.fontSize=10),t}function SE(r){if(typeof r!="string")return r;const t=r.match(/^rgba\(\s*(22[0-9]|23[0-9]|24[0-9]|25[0-5])\s*,\s*(24[0-9]|25[0-5])\s*,\s*(24[0-9]|25[0-5])\s*,\s*([0-9.]+)\s*\)$/i);if(!t)return r;const e=Number(t[4]);return!Number.isFinite(e)||e>=.72?r:e<.6?Gs:zp}export{zo as $,IE as A,Ue as B,XE as C,Cf as D,NE as E,zE as F,ms as G,qe as H,DE as I,L0 as J,op as K,Hs as L,Dc as M,vp as N,_e as O,VE as P,BE as Q,$a as R,kE as S,wE as T,WS as U,it as V,Za as W,ee as X,Ei as Y,Pe as Z,Uh as _,RE as a,_E as a$,ts as a0,En as a1,ql as a2,ja as a3,bi as a4,no as a5,Ne as a6,so as a7,ro as a8,Vs as a9,$E as aA,ZS as aB,Pp as aC,YE as aD,mp as aE,ai as aF,Xb as aG,Cb as aH,PE as aI,HS as aJ,zs as aK,yg as aL,Bi as aM,Rg as aN,Eg as aO,$n as aP,ZE as aQ,AE as aR,oi as aS,KE as aT,Mo as aU,xo as aV,TE as aW,JE as aX,Fp as aY,go as aZ,zp as a_,wi as aa,Jn as ab,mo as ac,Fb as ad,pp as ae,aE as af,er as ag,VS as ah,eE as ai,Dr as aj,jE as ak,bs as al,Rp as am,ks as an,Rh as ao,UE as ap,Bc as aq,GE as ar,ge as as,qE as at,OE as au,Rn as av,Z0 as aw,ht as ax,Ti as ay,se as az,CE as b,vo as b0,Bp as b1,gE as b2,mE as b3,Xc as b4,De as b5,QE as b6,tT as b7,eT as b8,nT as b9,Wc as ba,yo as bb,Os as bc,Fs as bd,ec as be,xE as bf,xn as c,HE as d,Ut as e,Kn as f,Le as g,FE as h,$t as i,D as j,lf as k,Vb as l,WE as m,_p as n,Xe as o,Vi as p,$S as q,Qn as r,Uc as s,wb as t,bn as u,te as v,LE as w,Ye as x,yp as y,xp as z}; +}`;class NS{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,n){if(this.texture===null){const i=new Ue,s=t.properties.get(i);s.__webglTexture=e.texture,(e.depthNear!=n.depthNear||e.depthFar!=n.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=i}}render(t,e){if(this.texture!==null){if(this.mesh===null){const n=e.cameras[0].viewport,i=new Ti({extensions:{fragDepth:!0},vertexShader:IS,fragmentShader:US,uniforms:{depthColor:{value:this.texture},depthWidth:{value:n.z},depthHeight:{value:n.w}}});this.mesh=new Ye(new ks(20,20),i)}t.render(this.mesh,e)}}reset(){this.texture=null,this.mesh=null}}class OS extends Qi{constructor(t,e){super();const n=this;let i=null,s=1,o=null,a="local-floor",l=1,c=null,h=null,u=null,f=null,d=null,_=null;const g=new NS,p=e.getContextAttributes();let m=null,y=null;const v=[],S=[],w=new it;let R=null;const b=new Xe;b.layers.enable(1),b.viewport=new se;const U=new Xe;U.layers.enable(2),U.viewport=new se;const F=[b,U],x=new LS;x.layers.enable(1),x.layers.enable(2);let E=null,k=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(V){let Q=v[V];return Q===void 0&&(Q=new pl,v[V]=Q),Q.getTargetRaySpace()},this.getControllerGrip=function(V){let Q=v[V];return Q===void 0&&(Q=new pl,v[V]=Q),Q.getGripSpace()},this.getHand=function(V){let Q=v[V];return Q===void 0&&(Q=new pl,v[V]=Q),Q.getHandSpace()};function W(V){const Q=S.indexOf(V.inputSource);if(Q===-1)return;const _t=v[Q];_t!==void 0&&(_t.update(V.inputSource,V.frame,c||o),_t.dispatchEvent({type:V.type,data:V.inputSource}))}function I(){i.removeEventListener("select",W),i.removeEventListener("selectstart",W),i.removeEventListener("selectend",W),i.removeEventListener("squeeze",W),i.removeEventListener("squeezestart",W),i.removeEventListener("squeezeend",W),i.removeEventListener("end",I),i.removeEventListener("inputsourceschange",O);for(let V=0;V=0&&(S[Mt]=null,v[Mt].disconnect(_t))}for(let Q=0;Q=S.length){S.push(_t),Mt=xt;break}else if(S[xt]===null){S[xt]=_t,Mt=xt;break}if(Mt===-1)break}const Tt=v[Mt];Tt&&Tt.connect(_t)}}const N=new D,Y=new D;function X(V,Q,_t){N.setFromMatrixPosition(Q.matrixWorld),Y.setFromMatrixPosition(_t.matrixWorld);const Mt=N.distanceTo(Y),Tt=Q.projectionMatrix.elements,xt=_t.projectionMatrix.elements,Ot=Tt[14]/(Tt[10]-1),wt=Tt[14]/(Tt[10]+1),L=(Tt[9]+1)/Tt[5],ct=(Tt[9]-1)/Tt[5],j=(Tt[8]-1)/Tt[0],ot=(xt[8]+1)/xt[0],K=Ot*j,Et=Ot*ot,pt=Mt/(-j+ot),T=pt*-j;Q.matrixWorld.decompose(V.position,V.quaternion,V.scale),V.translateX(T),V.translateZ(pt),V.matrixWorld.compose(V.position,V.quaternion,V.scale),V.matrixWorldInverse.copy(V.matrixWorld).invert();const M=Ot+pt,B=wt+pt,rt=K-T,et=Et+(Mt-T),tt=L*wt/B*M,yt=ct*wt/B*M;V.projectionMatrix.makePerspective(rt,et,tt,yt,M,B),V.projectionMatrixInverse.copy(V.projectionMatrix).invert()}function $(V,Q){Q===null?V.matrixWorld.copy(V.matrix):V.matrixWorld.multiplyMatrices(Q.matrixWorld,V.matrix),V.matrixWorldInverse.copy(V.matrixWorld).invert()}this.updateCamera=function(V){if(i===null)return;g.texture!==null&&(V.near=g.depthNear,V.far=g.depthFar),x.near=U.near=b.near=V.near,x.far=U.far=b.far=V.far,(E!==x.near||k!==x.far)&&(i.updateRenderState({depthNear:x.near,depthFar:x.far}),E=x.near,k=x.far,b.near=E,b.far=k,U.near=E,U.far=k,b.updateProjectionMatrix(),U.updateProjectionMatrix(),V.updateProjectionMatrix());const Q=V.parent,_t=x.cameras;$(x,Q);for(let Mt=0;Mt<_t.length;Mt++)$(_t[Mt],Q);_t.length===2?X(x,b,U):x.projectionMatrix.copy(b.projectionMatrix),Z(V,x,Q)};function Z(V,Q,_t){_t===null?V.matrix.copy(Q.matrixWorld):(V.matrix.copy(_t.matrixWorld),V.matrix.invert(),V.matrix.multiply(Q.matrixWorld)),V.matrix.decompose(V.position,V.quaternion,V.scale),V.updateMatrixWorld(!0),V.projectionMatrix.copy(Q.projectionMatrix),V.projectionMatrixInverse.copy(Q.projectionMatrixInverse),V.isPerspectiveCamera&&(V.fov=Hr*2*Math.atan(1/V.projectionMatrix.elements[5]),V.zoom=1)}this.getCamera=function(){return x},this.getFoveation=function(){if(!(f===null&&d===null))return l},this.setFoveation=function(V){l=V,f!==null&&(f.fixedFoveation=V),d!==null&&d.fixedFoveation!==void 0&&(d.fixedFoveation=V)},this.hasDepthSensing=function(){return g.texture!==null};let J=null;function ut(V,Q){if(h=Q.getViewerPose(c||o),_=Q,h!==null){const _t=h.views;d!==null&&(t.setRenderTargetFramebuffer(y,d.framebuffer),t.setRenderTarget(y));let Mt=!1;_t.length!==x.cameras.length&&(x.cameras.length=0,Mt=!0);for(let xt=0;xt<_t.length;xt++){const Ot=_t[xt];let wt=null;if(d!==null)wt=d.getViewport(Ot);else{const ct=u.getViewSubImage(f,Ot);wt=ct.viewport,xt===0&&(t.setRenderTargetTextures(y,ct.colorTexture,f.ignoreDepthValues?void 0:ct.depthStencilTexture),t.setRenderTarget(y))}let L=F[xt];L===void 0&&(L=new Xe,L.layers.enable(xt),L.viewport=new se,F[xt]=L),L.matrix.fromArray(Ot.transform.matrix),L.matrix.decompose(L.position,L.quaternion,L.scale),L.projectionMatrix.fromArray(Ot.projectionMatrix),L.projectionMatrixInverse.copy(L.projectionMatrix).invert(),L.viewport.set(wt.x,wt.y,wt.width,wt.height),xt===0&&(x.matrix.copy(L.matrix),x.matrix.decompose(x.position,x.quaternion,x.scale)),Mt===!0&&x.cameras.push(L)}const Tt=i.enabledFeatures;if(Tt&&Tt.includes("depth-sensing")){const xt=u.getDepthInformation(_t[0]);xt&&xt.isValid&&xt.texture&&g.init(t,xt,i.renderState)}}for(let _t=0;_t0&&(p.alphaTest.value=m.alphaTest);const y=t.get(m).envMap;if(y&&(p.envMap.value=y,p.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,p.reflectivity.value=m.reflectivity,p.ior.value=m.ior,p.refractionRatio.value=m.refractionRatio),m.lightMap){p.lightMap.value=m.lightMap;const v=r._useLegacyLights===!0?Math.PI:1;p.lightMapIntensity.value=m.lightMapIntensity*v,e(m.lightMap,p.lightMapTransform)}m.aoMap&&(p.aoMap.value=m.aoMap,p.aoMapIntensity.value=m.aoMapIntensity,e(m.aoMap,p.aoMapTransform))}function o(p,m){p.diffuse.value.copy(m.color),p.opacity.value=m.opacity,m.map&&(p.map.value=m.map,e(m.map,p.mapTransform))}function a(p,m){p.dashSize.value=m.dashSize,p.totalSize.value=m.dashSize+m.gapSize,p.scale.value=m.scale}function l(p,m,y,v){p.diffuse.value.copy(m.color),p.opacity.value=m.opacity,p.size.value=m.size*y,p.scale.value=v*.5,m.map&&(p.map.value=m.map,e(m.map,p.uvTransform)),m.alphaMap&&(p.alphaMap.value=m.alphaMap,e(m.alphaMap,p.alphaMapTransform)),m.alphaTest>0&&(p.alphaTest.value=m.alphaTest)}function c(p,m){p.diffuse.value.copy(m.color),p.opacity.value=m.opacity,p.rotation.value=m.rotation,m.map&&(p.map.value=m.map,e(m.map,p.mapTransform)),m.alphaMap&&(p.alphaMap.value=m.alphaMap,e(m.alphaMap,p.alphaMapTransform)),m.alphaTest>0&&(p.alphaTest.value=m.alphaTest)}function h(p,m){p.specular.value.copy(m.specular),p.shininess.value=Math.max(m.shininess,1e-4)}function u(p,m){m.gradientMap&&(p.gradientMap.value=m.gradientMap)}function f(p,m){p.metalness.value=m.metalness,m.metalnessMap&&(p.metalnessMap.value=m.metalnessMap,e(m.metalnessMap,p.metalnessMapTransform)),p.roughness.value=m.roughness,m.roughnessMap&&(p.roughnessMap.value=m.roughnessMap,e(m.roughnessMap,p.roughnessMapTransform)),t.get(m).envMap&&(p.envMapIntensity.value=m.envMapIntensity)}function d(p,m,y){p.ior.value=m.ior,m.sheen>0&&(p.sheenColor.value.copy(m.sheenColor).multiplyScalar(m.sheen),p.sheenRoughness.value=m.sheenRoughness,m.sheenColorMap&&(p.sheenColorMap.value=m.sheenColorMap,e(m.sheenColorMap,p.sheenColorMapTransform)),m.sheenRoughnessMap&&(p.sheenRoughnessMap.value=m.sheenRoughnessMap,e(m.sheenRoughnessMap,p.sheenRoughnessMapTransform))),m.clearcoat>0&&(p.clearcoat.value=m.clearcoat,p.clearcoatRoughness.value=m.clearcoatRoughness,m.clearcoatMap&&(p.clearcoatMap.value=m.clearcoatMap,e(m.clearcoatMap,p.clearcoatMapTransform)),m.clearcoatRoughnessMap&&(p.clearcoatRoughnessMap.value=m.clearcoatRoughnessMap,e(m.clearcoatRoughnessMap,p.clearcoatRoughnessMapTransform)),m.clearcoatNormalMap&&(p.clearcoatNormalMap.value=m.clearcoatNormalMap,e(m.clearcoatNormalMap,p.clearcoatNormalMapTransform),p.clearcoatNormalScale.value.copy(m.clearcoatNormalScale),m.side===Je&&p.clearcoatNormalScale.value.negate())),m.iridescence>0&&(p.iridescence.value=m.iridescence,p.iridescenceIOR.value=m.iridescenceIOR,p.iridescenceThicknessMinimum.value=m.iridescenceThicknessRange[0],p.iridescenceThicknessMaximum.value=m.iridescenceThicknessRange[1],m.iridescenceMap&&(p.iridescenceMap.value=m.iridescenceMap,e(m.iridescenceMap,p.iridescenceMapTransform)),m.iridescenceThicknessMap&&(p.iridescenceThicknessMap.value=m.iridescenceThicknessMap,e(m.iridescenceThicknessMap,p.iridescenceThicknessMapTransform))),m.transmission>0&&(p.transmission.value=m.transmission,p.transmissionSamplerMap.value=y.texture,p.transmissionSamplerSize.value.set(y.width,y.height),m.transmissionMap&&(p.transmissionMap.value=m.transmissionMap,e(m.transmissionMap,p.transmissionMapTransform)),p.thickness.value=m.thickness,m.thicknessMap&&(p.thicknessMap.value=m.thicknessMap,e(m.thicknessMap,p.thicknessMapTransform)),p.attenuationDistance.value=m.attenuationDistance,p.attenuationColor.value.copy(m.attenuationColor)),m.anisotropy>0&&(p.anisotropyVector.value.set(m.anisotropy*Math.cos(m.anisotropyRotation),m.anisotropy*Math.sin(m.anisotropyRotation)),m.anisotropyMap&&(p.anisotropyMap.value=m.anisotropyMap,e(m.anisotropyMap,p.anisotropyMapTransform))),p.specularIntensity.value=m.specularIntensity,p.specularColor.value.copy(m.specularColor),m.specularColorMap&&(p.specularColorMap.value=m.specularColorMap,e(m.specularColorMap,p.specularColorMapTransform)),m.specularIntensityMap&&(p.specularIntensityMap.value=m.specularIntensityMap,e(m.specularIntensityMap,p.specularIntensityMapTransform))}function _(p,m){m.matcap&&(p.matcap.value=m.matcap)}function g(p,m){const y=t.get(m).light;p.referencePosition.value.setFromMatrixPosition(y.matrixWorld),p.nearDistance.value=y.shadow.camera.near,p.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:i}}function BS(r,t,e,n){let i={},s={},o=[];const a=e.isWebGL2?r.getParameter(r.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,v){const S=v.program;n.uniformBlockBinding(y,S)}function c(y,v){let S=i[y.id];S===void 0&&(_(y),S=h(y),i[y.id]=S,y.addEventListener("dispose",p));const w=v.program;n.updateUBOMapping(y,w);const R=t.render.frame;s[y.id]!==R&&(f(y),s[y.id]=R)}function h(y){const v=u();y.__bindingPointIndex=v;const S=r.createBuffer(),w=y.__size,R=y.usage;return r.bindBuffer(r.UNIFORM_BUFFER,S),r.bufferData(r.UNIFORM_BUFFER,w,R),r.bindBuffer(r.UNIFORM_BUFFER,null),r.bindBufferBase(r.UNIFORM_BUFFER,v,S),S}function u(){for(let y=0;y0&&(S+=w-R),y.__size=S,y.__cache={},this}function g(y){const v={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function p(y){const v=y.target;v.removeEventListener("dispose",p);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),r.deleteBuffer(i[v.id]),delete i[v.id],delete s[v.id]}function m(){for(const y in i)r.deleteBuffer(i[y]);o=[],i={},s={}}return{bind:l,update:c,dispose:m}}class fp{constructor(t={}){const{canvas:e=L0(),context:n=null,depth:i=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:u=!1}=t;this.isWebGLRenderer=!0;let f;n!==null?f=n.getContextAttributes().alpha:f=o;const d=new Uint32Array(4),_=new Int32Array(4);let g=null,p=null;const m=[],y=[];this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Le,this._useLegacyLights=!1,this.toneMapping=gi,this.toneMappingExposure=1;const v=this;let S=!1,w=0,R=0,b=null,U=-1,F=null;const x=new se,E=new se;let k=null;const W=new Nt(0);let I=0,O=e.width,N=e.height,Y=1,X=null,$=null;const Z=new se(0,0,O,N),J=new se(0,0,O,N);let ut=!1;const bt=new Ic;let V=!1,Q=!1,_t=null;const Mt=new $t,Tt=new it,xt=new D,Ot={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function wt(){return b===null?Y:1}let L=n;function ct(A,z){for(let G=0;G{function vt(){if(q.forEach(function(At){pt.get(At).currentProgram.isReady()&&q.delete(At)}),q.size===0){H(A);return}setTimeout(vt,10)}j.get("KHR_parallel_shader_compile")!==null?vt():setTimeout(vt,10)})};let Yt=null;function ne(A){Yt&&Yt(A)}function Ce(){ve.stop()}function Jt(){ve.start()}const ve=new rp;ve.setAnimationLoop(ne),typeof self!="undefined"&&ve.setContext(self),this.setAnimationLoop=function(A){Yt=A,dt.setAnimationLoop(A),A===null?ve.stop():ve.start()},dt.addEventListener("sessionstart",Ce),dt.addEventListener("sessionend",Jt),this.render=function(A,z){if(z!==void 0&&z.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;A.matrixWorldAutoUpdate===!0&&A.updateMatrixWorld(),z.parent===null&&z.matrixWorldAutoUpdate===!0&&z.updateMatrixWorld(),dt.enabled===!0&&dt.isPresenting===!0&&(dt.cameraAutoUpdate===!0&&dt.updateCamera(z),z=dt.getCamera()),A.isScene===!0&&A.onBeforeRender(v,A,z,b),p=Pt.get(A,y.length),p.init(),y.push(p),Mt.multiplyMatrices(z.projectionMatrix,z.matrixWorldInverse),bt.setFromProjectionMatrix(Mt),Q=this.localClippingEnabled,V=Ft.init(this.clippingPlanes,Q),g=gt.get(A,m.length),g.init(),m.push(g),Ve(A,z,0,v.sortObjects),g.finish(),v.sortObjects===!0&&g.sort(X,$),this.info.render.frame++,V===!0&&Ft.beginShadows();const G=p.state.shadowsArray;if(nt.render(G,A,z),V===!0&&Ft.endShadows(),this.info.autoReset===!0&&this.info.reset(),(dt.enabled===!1||dt.isPresenting===!1||dt.hasDepthSensing()===!1)&&Zt.render(g,A),p.setupLights(v._useLegacyLights),z.isArrayCamera){const q=z.cameras;for(let H=0,vt=q.length;H0?p=y[y.length-1]:p=null,m.pop(),m.length>0?g=m[m.length-1]:g=null};function Ve(A,z,G,q){if(A.visible===!1)return;if(A.layers.test(z.layers)){if(A.isGroup)G=A.renderOrder;else if(A.isLOD)A.autoUpdate===!0&&A.update(z);else if(A.isLight)p.pushLight(A),A.castShadow&&p.pushShadow(A);else if(A.isSprite){if(!A.frustumCulled||bt.intersectsSprite(A)){q&&xt.setFromMatrixPosition(A.matrixWorld).applyMatrix4(Mt);const At=tt.update(A),Dt=A.material;Dt.visible&&g.push(A,At,Dt,G,xt.z,null)}}else if((A.isMesh||A.isLine||A.isPoints)&&(!A.frustumCulled||bt.intersectsObject(A))){const At=tt.update(A),Dt=A.material;if(q&&(A.boundingSphere!==void 0?(A.boundingSphere===null&&A.computeBoundingSphere(),xt.copy(A.boundingSphere.center)):(At.boundingSphere===null&&At.computeBoundingSphere(),xt.copy(At.boundingSphere.center)),xt.applyMatrix4(A.matrixWorld).applyMatrix4(Mt)),Array.isArray(Dt)){const Ut=At.groups;for(let Wt=0,zt=Ut.length;Wt0&&zp(H,vt,z,G),q&&K.viewport(x.copy(q)),H.length>0&&Ws(H,z,G),vt.length>0&&Ws(vt,z,G),At.length>0&&Ws(At,z,G),K.buffers.depth.setTest(!0),K.buffers.depth.setMask(!0),K.buffers.color.setMask(!0),K.setPolygonOffset(!1)}function zp(A,z,G,q){if((G.isScene===!0?G.overrideMaterial:null)!==null)return;const vt=ot.isWebGL2;_t===null&&(_t=new Zi(1,1,{generateMipmaps:!0,type:j.has("EXT_color_buffer_half_float")?Ls:vi,minFilter:Vi,samples:vt?4:0})),v.getDrawingBufferSize(Tt),vt?_t.setSize(Tt.x,Tt.y):_t.setSize(eo(Tt.x),eo(Tt.y));const At=v.getRenderTarget();v.setRenderTarget(_t),v.getClearColor(W),I=v.getClearAlpha(),I<1&&v.setClearColor(16777215,.5),v.clear();const Dt=v.toneMapping;v.toneMapping=gi,Ws(A,G,q),T.updateMultisampleRenderTarget(_t),T.updateRenderTargetMipmap(_t);let Ut=!1;for(let Wt=0,zt=z.length;Wt0),Vt=!!G.morphAttributes.position,xe=!!G.morphAttributes.normal,tn=!!G.morphAttributes.color;let Ae=gi;q.toneMapped&&(b===null||b.isXRRenderTarget===!0)&&(Ae=v.toneMapping);const On=G.morphAttributes.position||G.morphAttributes.normal||G.morphAttributes.color,ce=On!==void 0?On.length:0,Xt=pt.get(q),So=p.state.lights;if(V===!0&&(Q===!0||A!==F)){const un=A===F&&q.id===U;Ft.setState(q,A,un)}let pe=!1;q.version===Xt.__version?(Xt.needsLights&&Xt.lightsStateVersion!==So.state.version||Xt.outputColorSpace!==Dt||H.isBatchedMesh&&Xt.batching===!1||!H.isBatchedMesh&&Xt.batching===!0||H.isInstancedMesh&&Xt.instancing===!1||!H.isInstancedMesh&&Xt.instancing===!0||H.isSkinnedMesh&&Xt.skinning===!1||!H.isSkinnedMesh&&Xt.skinning===!0||H.isInstancedMesh&&Xt.instancingColor===!0&&H.instanceColor===null||H.isInstancedMesh&&Xt.instancingColor===!1&&H.instanceColor!==null||Xt.envMap!==Ut||q.fog===!0&&Xt.fog!==vt||Xt.numClippingPlanes!==void 0&&(Xt.numClippingPlanes!==Ft.numPlanes||Xt.numIntersection!==Ft.numIntersection)||Xt.vertexAlphas!==Wt||Xt.vertexTangents!==zt||Xt.morphTargets!==Vt||Xt.morphNormals!==xe||Xt.morphColors!==tn||Xt.toneMapping!==Ae||ot.isWebGL2===!0&&Xt.morphTargetsCount!==ce)&&(pe=!0):(pe=!0,Xt.__version=q.version);let Ri=Xt.currentProgram;pe===!0&&(Ri=Xs(q,z,H));let Kc=!1,$r=!1,bo=!1;const Oe=Ri.getUniforms(),Ci=Xt.uniforms;if(K.useProgram(Ri.program)&&(Kc=!0,$r=!0,bo=!0),q.id!==U&&(U=q.id,$r=!0),Kc||F!==A){Oe.setValue(L,"projectionMatrix",A.projectionMatrix),Oe.setValue(L,"viewMatrix",A.matrixWorldInverse);const un=Oe.map.cameraPosition;un!==void 0&&un.setValue(L,xt.setFromMatrixPosition(A.matrixWorld)),ot.logarithmicDepthBuffer&&Oe.setValue(L,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),(q.isMeshPhongMaterial||q.isMeshToonMaterial||q.isMeshLambertMaterial||q.isMeshBasicMaterial||q.isMeshStandardMaterial||q.isShaderMaterial)&&Oe.setValue(L,"isOrthographic",A.isOrthographicCamera===!0),F!==A&&(F=A,$r=!0,bo=!0)}if(H.isSkinnedMesh){Oe.setOptional(L,H,"bindMatrix"),Oe.setOptional(L,H,"bindMatrixInverse");const un=H.skeleton;un&&(ot.floatVertexTextures?(un.boneTexture===null&&un.computeBoneTexture(),Oe.setValue(L,"boneTexture",un.boneTexture,T)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}H.isBatchedMesh&&(Oe.setOptional(L,H,"batchingTexture"),Oe.setValue(L,"batchingTexture",H._matricesTexture,T));const Eo=G.morphAttributes;if((Eo.position!==void 0||Eo.normal!==void 0||Eo.color!==void 0&&ot.isWebGL2===!0)&&Gt.update(H,G,Ri),($r||Xt.receiveShadow!==H.receiveShadow)&&(Xt.receiveShadow=H.receiveShadow,Oe.setValue(L,"receiveShadow",H.receiveShadow)),q.isMeshGouraudMaterial&&q.envMap!==null&&(Ci.envMap.value=Ut,Ci.flipEnvMap.value=Ut.isCubeTexture&&Ut.isRenderTargetTexture===!1?-1:1),$r&&(Oe.setValue(L,"toneMappingExposure",v.toneMappingExposure),Xt.needsLights&&Vp(Ci,bo),vt&&q.fog===!0&&ft.refreshFogUniforms(Ci,vt),ft.refreshMaterialUniforms(Ci,q,Y,N,_t),Ba.upload(L,jc(Xt),Ci,T)),q.isShaderMaterial&&q.uniformsNeedUpdate===!0&&(Ba.upload(L,jc(Xt),Ci,T),q.uniformsNeedUpdate=!1),q.isSpriteMaterial&&Oe.setValue(L,"center",H.center),Oe.setValue(L,"modelViewMatrix",H.modelViewMatrix),Oe.setValue(L,"normalMatrix",H.normalMatrix),Oe.setValue(L,"modelMatrix",H.matrixWorld),q.isShaderMaterial||q.isRawShaderMaterial){const un=q.uniformsGroups;for(let To=0,Gp=un.length;To0&&T.useMultisampledRTT(A)===!1?H=pt.get(A).__webglMultisampledFramebuffer:Array.isArray(zt)?H=zt[G]:H=zt,x.copy(A.viewport),E.copy(A.scissor),k=A.scissorTest}else x.copy(Z).multiplyScalar(Y).floor(),E.copy(J).multiplyScalar(Y).floor(),k=ut;if(K.bindFramebuffer(L.FRAMEBUFFER,H)&&ot.drawBuffers&&q&&K.drawBuffers(A,H),K.viewport(x),K.scissor(E),K.setScissorTest(k),vt){const Ut=pt.get(A.texture);L.framebufferTexture2D(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,L.TEXTURE_CUBE_MAP_POSITIVE_X+z,Ut.__webglTexture,G)}else if(At){const Ut=pt.get(A.texture),Wt=z||0;L.framebufferTextureLayer(L.FRAMEBUFFER,L.COLOR_ATTACHMENT0,Ut.__webglTexture,G||0,Wt)}U=-1},this.readRenderTargetPixels=function(A,z,G,q,H,vt,At){if(!(A&&A.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Dt=pt.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&At!==void 0&&(Dt=Dt[At]),Dt){K.bindFramebuffer(L.FRAMEBUFFER,Dt);try{const Ut=A.texture,Wt=Ut.format,zt=Ut.type;if(Wt!==pn&&mt.convert(Wt)!==L.getParameter(L.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const Vt=zt===Ls&&(j.has("EXT_color_buffer_half_float")||ot.isWebGL2&&j.has("EXT_color_buffer_float"));if(zt!==vi&&mt.convert(zt)!==L.getParameter(L.IMPLEMENTATION_COLOR_READ_TYPE)&&!(zt===Ln&&(ot.isWebGL2||j.has("OES_texture_float")||j.has("WEBGL_color_buffer_float")))&&!Vt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}z>=0&&z<=A.width-q&&G>=0&&G<=A.height-H&&L.readPixels(z,G,q,H,mt.convert(Wt),mt.convert(zt),vt)}finally{const Ut=b!==null?pt.get(b).__webglFramebuffer:null;K.bindFramebuffer(L.FRAMEBUFFER,Ut)}}},this.copyFramebufferToTexture=function(A,z,G=0){const q=Math.pow(2,-G),H=Math.floor(z.image.width*q),vt=Math.floor(z.image.height*q);T.setTexture2D(z,0),L.copyTexSubImage2D(L.TEXTURE_2D,G,0,0,A.x,A.y,H,vt),K.unbindTexture()},this.copyTextureToTexture=function(A,z,G,q=0){const H=z.image.width,vt=z.image.height,At=mt.convert(G.format),Dt=mt.convert(G.type);T.setTexture2D(G,0),L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,G.flipY),L.pixelStorei(L.UNPACK_PREMULTIPLY_ALPHA_WEBGL,G.premultiplyAlpha),L.pixelStorei(L.UNPACK_ALIGNMENT,G.unpackAlignment),z.isDataTexture?L.texSubImage2D(L.TEXTURE_2D,q,A.x,A.y,H,vt,At,Dt,z.image.data):z.isCompressedTexture?L.compressedTexSubImage2D(L.TEXTURE_2D,q,A.x,A.y,z.mipmaps[0].width,z.mipmaps[0].height,At,z.mipmaps[0].data):L.texSubImage2D(L.TEXTURE_2D,q,A.x,A.y,At,Dt,z.image),q===0&&G.generateMipmaps&&L.generateMipmap(L.TEXTURE_2D),K.unbindTexture()},this.copyTextureToTexture3D=function(A,z,G,q,H=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const vt=A.max.x-A.min.x+1,At=A.max.y-A.min.y+1,Dt=A.max.z-A.min.z+1,Ut=mt.convert(q.format),Wt=mt.convert(q.type);let zt;if(q.isData3DTexture)T.setTexture3D(q,0),zt=L.TEXTURE_3D;else if(q.isDataArrayTexture||q.isCompressedArrayTexture)T.setTexture2DArray(q,0),zt=L.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}L.pixelStorei(L.UNPACK_FLIP_Y_WEBGL,q.flipY),L.pixelStorei(L.UNPACK_PREMULTIPLY_ALPHA_WEBGL,q.premultiplyAlpha),L.pixelStorei(L.UNPACK_ALIGNMENT,q.unpackAlignment);const Vt=L.getParameter(L.UNPACK_ROW_LENGTH),xe=L.getParameter(L.UNPACK_IMAGE_HEIGHT),tn=L.getParameter(L.UNPACK_SKIP_PIXELS),Ae=L.getParameter(L.UNPACK_SKIP_ROWS),On=L.getParameter(L.UNPACK_SKIP_IMAGES),ce=G.isCompressedTexture?G.mipmaps[H]:G.image;L.pixelStorei(L.UNPACK_ROW_LENGTH,ce.width),L.pixelStorei(L.UNPACK_IMAGE_HEIGHT,ce.height),L.pixelStorei(L.UNPACK_SKIP_PIXELS,A.min.x),L.pixelStorei(L.UNPACK_SKIP_ROWS,A.min.y),L.pixelStorei(L.UNPACK_SKIP_IMAGES,A.min.z),G.isDataTexture||G.isData3DTexture?L.texSubImage3D(zt,H,z.x,z.y,z.z,vt,At,Dt,Ut,Wt,ce.data):G.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),L.compressedTexSubImage3D(zt,H,z.x,z.y,z.z,vt,At,Dt,Ut,ce.data)):L.texSubImage3D(zt,H,z.x,z.y,z.z,vt,At,Dt,Ut,Wt,ce),L.pixelStorei(L.UNPACK_ROW_LENGTH,Vt),L.pixelStorei(L.UNPACK_IMAGE_HEIGHT,xe),L.pixelStorei(L.UNPACK_SKIP_PIXELS,tn),L.pixelStorei(L.UNPACK_SKIP_ROWS,Ae),L.pixelStorei(L.UNPACK_SKIP_IMAGES,On),H===0&&q.generateMipmaps&&L.generateMipmap(zt),K.unbindTexture()},this.initTexture=function(A){A.isCubeTexture?T.setTextureCube(A,0):A.isData3DTexture?T.setTexture3D(A,0):A.isDataArrayTexture||A.isCompressedArrayTexture?T.setTexture2DArray(A,0):T.setTexture2D(A,0),K.unbindTexture()},this.resetState=function(){w=0,R=0,b=null,K.reset(),kt.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Yn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=t===Cc?"display-p3":"srgb",e.unpackColorSpace=ee.workingColorSpace===ho?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Le?$i:qd}set outputEncoding(t){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=t===$i?Le:Kn}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}}class zS extends fp{}zS.prototype.isWebGL1Renderer=!0;class dp{constructor(t,e=1,n=1e3){this.isFog=!0,this.name="",this.color=new Nt(t),this.near=e,this.far=n}clone(){return new dp(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class kS extends _e{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),t.background!==null&&(this.background=t.background.clone()),t.environment!==null&&(this.environment=t.environment.clone()),t.fog!==null&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return this.fog!==null&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(e.object.backgroundIntensity=this.backgroundIntensity),e}}class pp{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=Yl,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=vn()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return ji("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,s=this.stride;it.far||e.push({distance:l,point:rs.clone(),uv:An.getInterpolation(rs,ya,as,Ma,Qu,ml,tf,new it),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}}function Sa(r,t,e,n,i,s){Sr.subVectors(r,e).addScalar(.5).multiply(n),i!==void 0?(ss.x=s*Sr.x-i*Sr.y,ss.y=i*Sr.x+s*Sr.y):ss.copy(Sr),r.copy(t),r.x+=ss.x,r.y+=ss.y,r.applyMatrix4(mp)}const ef=new D,nf=new se,rf=new se,HS=new D,sf=new $t,ba=new D,_l=new Jn,af=new $t,gl=new Wr;class PE extends Ye{constructor(t,e){super(t,e),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=Uh,this.bindMatrix=new $t,this.bindMatrixInverse=new $t,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const t=this.geometry;this.boundingBox===null&&(this.boundingBox=new wi),this.boundingBox.makeEmpty();const e=t.getAttribute("position");for(let n=0;nl)continue;f.applyMatrix4(this.matrixWorld);const U=t.ray.origin.distanceTo(f);Ut.far||e.push({distance:U,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const m=Math.max(0,o.start),y=Math.min(p.count,o.start+o.count);for(let v=m,S=y-1;vl)continue;f.applyMatrix4(this.matrixWorld);const R=t.ray.origin.distanceTo(f);Rt.far||e.push({distance:R,point:u.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const e=this.geometry.morphAttributes,n=Object.keys(e);if(n.length>0){const i=e[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s0){const i=e[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;si.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:t,face:null,object:o})}}class UE extends Ue{constructor(t,e,n,i,s,o,a,l,c){super(t,e,n,i,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Un{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),s=0;e.push(0);for(let o=1;o<=t;o++)n=this.getPoint(o/t),s+=n.distanceTo(i),e.push(s),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const s=n.length;let o;e?o=e:o=t*n[s-1];let a=0,l=s-1,c;for(;a<=l;)if(i=Math.floor(a+(l-a)/2),c=n[i]-o,c<0)a=i+1;else if(c>0)l=i-1;else{l=i;break}if(i=l,n[i]===o)return i/(s-1);const h=n[i],f=n[i+1]-h,d=(o-h)/f;return(i+d)/(s-1)}getTangent(t,e){let i=t-1e-4,s=t+1e-4;i<0&&(i=0),s>1&&(s=1);const o=this.getPoint(i),a=this.getPoint(s),l=e||(o.isVector2?new it:new D);return l.copy(a).sub(o).normalize(),l}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new D,i=[],s=[],o=[],a=new D,l=new $t;for(let d=0;d<=t;d++){const _=d/t;i[d]=this.getTangentAt(_,new D)}s[0]=new D,o[0]=new D;let c=Number.MAX_VALUE;const h=Math.abs(i[0].x),u=Math.abs(i[0].y),f=Math.abs(i[0].z);h<=c&&(c=h,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),f<=c&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),s[0].crossVectors(i[0],a),o[0].crossVectors(i[0],s[0]);for(let d=1;d<=t;d++){if(s[d]=s[d-1].clone(),o[d]=o[d-1].clone(),a.crossVectors(i[d-1],i[d]),a.length()>Number.EPSILON){a.normalize();const _=Math.acos(be(i[d-1].dot(i[d]),-1,1));s[d].applyMatrix4(l.makeRotationAxis(a,_))}o[d].crossVectors(i[d],s[d])}if(e===!0){let d=Math.acos(be(s[0].dot(s[t]),-1,1));d/=t,i[0].dot(a.crossVectors(s[0],s[t]))>0&&(d=-d);for(let _=1;_<=t;_++)s[_].applyMatrix4(l.makeRotationAxis(i[_],d*_)),o[_].crossVectors(i[_],s[_])}return{tangents:i,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Oc extends Un{constructor(t=0,e=0,n=1,i=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(t,e){const n=e||new it,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)i;)s-=i;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let c,h;this.closed||a>0?c=i[(a-1)%s]:(Ra.subVectors(i[0],i[1]).add(i[0]),c=Ra);const u=i[a%s],f=i[(a+1)%s];if(this.closed||a+2i.length-2?i.length-1:o+1],u=i[o>i.length-3?i.length-1:o+2];return n.set(vf(a,l.x,c.x,h.x,u.x),vf(a,l.y,c.y,h.y,u.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e=n){const o=i[s]-n,a=this.curves[s],l=a.getLength(),c=l===0?0:1-o/l;return a.getPointAt(c,e)}s++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);const h=c.getPoint(1);return this.currentPoint.copy(h),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class Ss extends xf{constructor(t){super(t),this.uuid=vn(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n80*e){a=c=r[0],l=h=r[1];for(let _=e;_c&&(c=u),f>h&&(h=f);d=Math.max(c-a,h-l),d=d!==0?32767/d:0}return Is(s,o,e,a,l,d,0),o}};function Ep(r,t,e,n,i){let s,o;if(i===Sb(r,t,e,n)>0)for(s=t;s=t;s-=n)o=yf(s,r[s],r[s+1],o);return o&&po(o,o.next)&&(Ns(o),o=o.next),o}function Ki(r,t){if(!r)return r;t||(t=r);let e=r,n;do if(n=!1,!e.steiner&&(po(e,e.next)||de(e.prev,e,e.next)===0)){if(Ns(e),e=t=e.prev,e===e.next)break;n=!0}else e=e.next;while(n||e!==t);return t}function Is(r,t,e,n,i,s,o){if(!r)return;!o&&s&&_b(r,n,i,s);let a=r,l,c;for(;r.prev!==r.next;){if(l=r.prev,c=r.next,s?lb(r,n,i,s):ob(r)){t.push(l.i/e|0),t.push(r.i/e|0),t.push(c.i/e|0),Ns(r),r=c.next,a=c.next;continue}if(r=c,r===a){o?o===1?(r=cb(Ki(r),t,e),Is(r,t,e,n,i,s,2)):o===2&&hb(r,t,e,n,i,s):Is(Ki(r),t,e,n,i,s,1);break}}}function ob(r){const t=r.prev,e=r,n=r.next;if(de(t,e,n)>=0)return!1;const i=t.x,s=e.x,o=n.x,a=t.y,l=e.y,c=n.y,h=is?i>o?i:o:s>o?s:o,d=a>l?a>c?a:c:l>c?l:c;let _=n.next;for(;_!==t;){if(_.x>=h&&_.x<=f&&_.y>=u&&_.y<=d&&Rr(i,a,s,l,o,c,_.x,_.y)&&de(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function lb(r,t,e,n){const i=r.prev,s=r,o=r.next;if(de(i,s,o)>=0)return!1;const a=i.x,l=s.x,c=o.x,h=i.y,u=s.y,f=o.y,d=al?a>c?a:c:l>c?l:c,p=h>u?h>f?h:f:u>f?u:f,m=Jl(d,_,t,e,n),y=Jl(g,p,t,e,n);let v=r.prevZ,S=r.nextZ;for(;v&&v.z>=m&&S&&S.z<=y;){if(v.x>=d&&v.x<=g&&v.y>=_&&v.y<=p&&v!==i&&v!==o&&Rr(a,h,l,u,c,f,v.x,v.y)&&de(v.prev,v,v.next)>=0||(v=v.prevZ,S.x>=d&&S.x<=g&&S.y>=_&&S.y<=p&&S!==i&&S!==o&&Rr(a,h,l,u,c,f,S.x,S.y)&&de(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;v&&v.z>=m;){if(v.x>=d&&v.x<=g&&v.y>=_&&v.y<=p&&v!==i&&v!==o&&Rr(a,h,l,u,c,f,v.x,v.y)&&de(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;S&&S.z<=y;){if(S.x>=d&&S.x<=g&&S.y>=_&&S.y<=p&&S!==i&&S!==o&&Rr(a,h,l,u,c,f,S.x,S.y)&&de(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function cb(r,t,e){let n=r;do{const i=n.prev,s=n.next.next;!po(i,s)&&Tp(i,n,n.next,s)&&Us(i,s)&&Us(s,i)&&(t.push(i.i/e|0),t.push(n.i/e|0),t.push(s.i/e|0),Ns(n),Ns(n.next),n=r=s),n=n.next}while(n!==r);return Ki(n)}function hb(r,t,e,n,i,s){let o=r;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&xb(o,a)){let l=Ap(o,a);o=Ki(o,o.next),l=Ki(l,l.next),Is(o,t,e,n,i,s,0),Is(l,t,e,n,i,s,0);return}a=a.next}o=o.next}while(o!==r)}function ub(r,t,e,n){const i=[];let s,o,a,l,c;for(s=0,o=t.length;s=e.next.y&&e.next.y!==e.y){const f=e.x+(o-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(f<=s&&f>n&&(n=f,i=e.x=e.x&&e.x>=l&&s!==e.x&&Rr(oi.x||e.x===i.x&&mb(i,e)))&&(i=e,h=u)),e=e.next;while(e!==a);return i}function mb(r,t){return de(r.prev,r,t.prev)<0&&de(t.next,r,r.next)<0}function _b(r,t,e,n){let i=r;do i.z===0&&(i.z=Jl(i.x,i.y,t,e,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,gb(i)}function gb(r){let t,e,n,i,s,o,a,l,c=1;do{for(e=r,r=null,s=null,o=0;e;){for(o++,n=e,a=0,t=0;t0||l>0&&n;)a!==0&&(l===0||!n||e.z<=n.z)?(i=e,e=e.nextZ,a--):(i=n,n=n.nextZ,l--),s?s.nextZ=i:r=i,i.prevZ=s,s=i;e=n}s.nextZ=null,c*=2}while(o>1);return r}function Jl(r,t,e,n,i){return r=(r-e)*i|0,t=(t-n)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,r|t<<1}function vb(r){let t=r,e=r;do(t.x=(r-o)*(s-a)&&(r-o)*(n-a)>=(e-o)*(t-a)&&(e-o)*(s-a)>=(i-o)*(n-a)}function xb(r,t){return r.next.i!==t.i&&r.prev.i!==t.i&&!yb(r,t)&&(Us(r,t)&&Us(t,r)&&Mb(r,t)&&(de(r.prev,r,t.prev)||de(r,t.prev,t))||po(r,t)&&de(r.prev,r,r.next)>0&&de(t.prev,t,t.next)>0)}function de(r,t,e){return(t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y)}function po(r,t){return r.x===t.x&&r.y===t.y}function Tp(r,t,e,n){const i=Pa(de(r,t,e)),s=Pa(de(r,t,n)),o=Pa(de(e,n,r)),a=Pa(de(e,n,t));return!!(i!==s&&o!==a||i===0&&Ca(r,e,t)||s===0&&Ca(r,n,t)||o===0&&Ca(e,r,n)||a===0&&Ca(e,t,n))}function Ca(r,t,e){return t.x<=Math.max(r.x,e.x)&&t.x>=Math.min(r.x,e.x)&&t.y<=Math.max(r.y,e.y)&&t.y>=Math.min(r.y,e.y)}function Pa(r){return r>0?1:r<0?-1:0}function yb(r,t){let e=r;do{if(e.i!==r.i&&e.next.i!==r.i&&e.i!==t.i&&e.next.i!==t.i&&Tp(e,e.next,r,t))return!0;e=e.next}while(e!==r);return!1}function Us(r,t){return de(r.prev,r,r.next)<0?de(r,t,r.next)>=0&&de(r,r.prev,t)>=0:de(r,t,r.prev)<0||de(r,r.next,t)<0}function Mb(r,t){let e=r,n=!1;const i=(r.x+t.x)/2,s=(r.y+t.y)/2;do e.y>s!=e.next.y>s&&e.next.y!==e.y&&i<(e.next.x-e.x)*(s-e.y)/(e.next.y-e.y)+e.x&&(n=!n),e=e.next;while(e!==r);return n}function Ap(r,t){const e=new Ql(r.i,r.x,r.y),n=new Ql(t.i,t.x,t.y),i=r.next,s=t.prev;return r.next=t,t.prev=r,e.next=i,i.prev=e,n.next=e,e.prev=n,s.next=n,n.prev=s,n}function yf(r,t,e,n){const i=new Ql(r,t,e);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ns(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function Ql(r,t,e){this.i=r,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Sb(r,t,e,n){let i=0;for(let s=t,o=e-n;s2&&r[t-1].equals(r[0])&&r.pop()}function Sf(r,t){for(let e=0;eNumber.EPSILON){const tt=Math.sqrt(rt),yt=Math.sqrt(M*M+B*B),ft=ct.x-T/tt,gt=ct.y+pt/tt,Pt=j.x-B/yt,Ft=j.y+M/yt,nt=((Pt-ft)*B-(Ft-gt)*M)/(pt*B-T*M);ot=ft+pt*nt-L.x,K=gt+T*nt-L.y;const Zt=ot*ot+K*K;if(Zt<=2)return new it(ot,K);Et=Math.sqrt(Zt/2)}else{let tt=!1;pt>Number.EPSILON?M>Number.EPSILON&&(tt=!0):pt<-Number.EPSILON?M<-Number.EPSILON&&(tt=!0):Math.sign(T)===Math.sign(B)&&(tt=!0),tt?(ot=-T,K=pt,Et=Math.sqrt(rt)):(ot=pt,K=T,Et=Math.sqrt(rt/2))}return new it(ot/Et,K/Et)}const $=[];for(let L=0,ct=I.length,j=ct-1,ot=L+1;L=0;L--){const ct=L/p,j=d*Math.cos(ct*Math.PI/2),ot=_*Math.sin(ct*Math.PI/2)+g;for(let K=0,Et=I.length;K=0;){const ot=j;let K=j-1;K<0&&(K=L.length-1);for(let Et=0,pt=h+p*2;Et0!=t>0&&this.version++,this._anisotropy=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=t.anisotropy,this.anisotropyRotation=t.anisotropyRotation,this.anisotropyMap=t.anisotropyMap,this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class wb extends Qn{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Nt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Nt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Rc,this.normalScale=new it(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ac,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}function La(r,t,e){return!r||!e&&r.constructor===t?r:typeof t.BYTES_PER_ELEMENT=="number"?new t(r):Array.prototype.slice.call(r)}function Rb(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function Cb(r){function t(i,s){return r[i]-r[s]}const e=r.length,n=new Array(e);for(let i=0;i!==e;++i)n[i]=i;return n.sort(t),n}function Ef(r,t,e){const n=r.length,i=new r.constructor(n);for(let s=0,o=0;o!==n;++s){const a=e[s]*t;for(let l=0;l!==t;++l)i[o++]=r[a+l]}return i}function Cp(r,t,e,n){let i=1,s=r[0];for(;s!==void 0&&s[n]===void 0;)s=r[i++];if(s===void 0)return;let o=s[n];if(o!==void 0)if(Array.isArray(o))do o=s[n],o!==void 0&&(t.push(s.time),e.push.apply(e,o)),s=r[i++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[n],o!==void 0&&(t.push(s.time),o.toArray(e,e.length)),s=r[i++];while(s!==void 0);else do o=s[n],o!==void 0&&(t.push(s.time),e.push(o)),s=r[i++];while(s!==void 0)}class mo{constructor(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=i!==void 0?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let n=this._cachedIndex,i=e[n],s=e[n-1];n:{t:{let o;e:{i:if(!(t=s)){const a=e[1];t=s)break t}o=n,n=0;break e}break n}for(;n>>1;te;)--o;if(++o,s!==0||o!==i){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=n.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,s=n.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let o=null;for(let a=0;a!==s;a++){const l=n[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),t=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),t=!1;break}o=l}if(i!==void 0&&Rb(i))for(let a=0,l=i.length;a!==l;++a){const c=i[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),t=!1;break}}return t}optimize(){const t=this.times.slice(),e=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===Xo,s=t.length-1;let o=1;for(let a=1;a0){t[o]=t[s];for(let a=s*n,l=o*n,c=0;c!==n;++c)e[l+c]=e[a+c];++o}return o!==t.length?(this.times=t.slice(0,o),this.values=e.slice(0,o*n)):(this.times=t,this.values=e),this}clone(){const t=this.times.slice(),e=this.values.slice(),n=this.constructor,i=new n(this.name,t,e);return i.createInterpolant=this.createInterpolant,i}}Nn.prototype.TimeBufferType=Float32Array;Nn.prototype.ValueBufferType=Float32Array;Nn.prototype.DefaultInterpolation=Za;class qr extends Nn{}qr.prototype.ValueTypeName="bool";qr.prototype.ValueBufferType=Array;qr.prototype.DefaultInterpolation=ja;qr.prototype.InterpolantFactoryMethodLinear=void 0;qr.prototype.InterpolantFactoryMethodSmooth=void 0;class Pp extends Nn{}Pp.prototype.ValueTypeName="color";class ro extends Nn{}ro.prototype.ValueTypeName="number";class Ib extends mo{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(n-e)/(i-e);let c=t*a;for(let h=c+a;c!==h;c+=4)Ei.slerpFlat(s,0,o,c-a,o,c,l);return s}}class Vs extends Nn{InterpolantFactoryMethodLinear(t){return new Ib(this.times,this.values,this.getValueSize(),t)}}Vs.prototype.ValueTypeName="quaternion";Vs.prototype.DefaultInterpolation=Za;Vs.prototype.InterpolantFactoryMethodSmooth=void 0;class Yr extends Nn{}Yr.prototype.ValueTypeName="string";Yr.prototype.ValueBufferType=Array;Yr.prototype.DefaultInterpolation=ja;Yr.prototype.InterpolantFactoryMethodLinear=void 0;Yr.prototype.InterpolantFactoryMethodSmooth=void 0;class so extends Nn{}so.prototype.ValueTypeName="vector";class FE{constructor(t,e=-1,n,i=s0){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=vn(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let o=0,a=n.length;o!==a;++o)e.push(Nb(n[o]).scale(i));const s=new this(t.name,t.duration,e,t.blendMode);return s.uuid=t.uuid,s}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let s=0,o=n.length;s!==o;++s)e.push(Nn.toJSON(n[s]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const s=e.length,o=[];for(let a=0;a1){const u=h[1];let f=i[u];f||(i[u]=f=[]),f.push(c)}}const o=[];for(const a in i)o.push(this.CreateFromMorphTargetSequence(a,i[a],e,n));return o}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(u,f,d,_,g){if(d.length!==0){const p=[],m=[];Cp(d,p,m,_),p.length!==0&&g.push(new u(f,p,m))}},i=[],s=t.name||"default",o=t.fps||30,a=t.blendMode;let l=t.length||-1;const c=t.hierarchy||[];for(let u=0;u{e&&e(s),this.manager.itemEnd(t)},0),s;if(Hn[t]!==void 0){Hn[t].push({onLoad:e,onProgress:n,onError:i});return}Hn[t]=[],Hn[t].push({onLoad:e,onProgress:n,onError:i});const o=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||c.body===void 0||c.body.getReader===void 0)return c;const h=Hn[t],u=c.body.getReader(),f=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),d=f?parseInt(f):0,_=d!==0;let g=0;const p=new ReadableStream({start(m){y();function y(){u.read().then(({done:v,value:S})=>{if(v)m.close();else{g+=S.byteLength;const w=new ProgressEvent("progress",{lengthComputable:_,loaded:g,total:d});for(let R=0,b=h.length;R{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return c.json();default:if(a===void 0)return c.text();{const u=/charset="?([^;"\s]*)"?/i.exec(a),f=u&&u[1]?u[1].toLowerCase():void 0,d=new TextDecoder(f);return c.arrayBuffer().then(_=>d.decode(_))}}}).then(c=>{di.add(t,c);const h=Hn[t];delete Hn[t];for(let u=0,f=h.length;u{const h=Hn[t];if(h===void 0)throw this.manager.itemError(t),c;delete Hn[t];for(let u=0,f=h.length;u{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class zb extends Hs{constructor(t){super(t)}load(t,e,n,i){this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);const s=this,o=di.get(t);if(o!==void 0)return s.manager.itemStart(t),setTimeout(function(){e&&e(o),s.manager.itemEnd(t)},0),o;const a=Ds("img");function l(){h(),di.add(t,this),e&&e(this),s.manager.itemEnd(t)}function c(u){h(),i&&i(u),s.manager.itemError(t),s.manager.itemEnd(t)}function h(){a.removeEventListener("load",l,!1),a.removeEventListener("error",c,!1)}return a.addEventListener("load",l,!1),a.addEventListener("error",c,!1),t.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(a.crossOrigin=this.crossOrigin),s.manager.itemStart(t),a.src=t,a}}class kb extends Hs{constructor(t){super(t)}load(t,e,n,i){const s=new Ue,o=new zb(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(t,function(a){s.image=a,s.needsUpdate=!0,e!==void 0&&e(s)},n,i),s}}class _o extends _e{constructor(t,e=1){super(),this.isLight=!0,this.type="Light",this.color=new Nt(t),this.intensity=e}dispose(){}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,this.groundColor!==void 0&&(e.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(e.object.distance=this.distance),this.angle!==void 0&&(e.object.angle=this.angle),this.decay!==void 0&&(e.object.decay=this.decay),this.penumbra!==void 0&&(e.object.penumbra=this.penumbra),this.shadow!==void 0&&(e.object.shadow=this.shadow.toJSON()),e}}const Sl=new $t,Tf=new D,Af=new D;class zc{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new it(512,512),this.map=null,this.mapPass=null,this.matrix=new $t,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Ic,this._frameExtents=new it(1,1),this._viewportCount=1,this._viewports=[new se(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,n=this.matrix;Tf.setFromMatrixPosition(t.matrixWorld),e.position.copy(Tf),Af.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(Af),e.updateMatrixWorld(),Sl.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Sl),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Sl)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const t={};return this.bias!==0&&(t.bias=this.bias),this.normalBias!==0&&(t.normalBias=this.normalBias),this.radius!==1&&(t.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}class Vb extends zc{constructor(){super(new Xe(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(t){const e=this.camera,n=Hr*2*t.angle*this.focus,i=this.mapSize.width/this.mapSize.height,s=t.distance||e.far;(n!==e.fov||i!==e.aspect||s!==e.far)&&(e.fov=n,e.aspect=i,e.far=s,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}class zE extends _o{constructor(t,e,n=0,i=Math.PI/3,s=0,o=2){super(t,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(_e.DEFAULT_UP),this.updateMatrix(),this.target=new _e,this.distance=n,this.angle=i,this.penumbra=s,this.decay=o,this.map=null,this.shadow=new Vb}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}const wf=new $t,cs=new D,bl=new D;class Hb extends zc{constructor(){super(new Xe(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new it(4,2),this._viewportCount=6,this._viewports=[new se(2,1,1,1),new se(0,1,1,1),new se(3,1,1,1),new se(1,1,1,1),new se(3,0,1,1),new se(1,0,1,1)],this._cubeDirections=[new D(1,0,0),new D(-1,0,0),new D(0,0,1),new D(0,0,-1),new D(0,1,0),new D(0,-1,0)],this._cubeUps=[new D(0,1,0),new D(0,1,0),new D(0,1,0),new D(0,1,0),new D(0,0,1),new D(0,0,-1)]}updateMatrices(t,e=0){const n=this.camera,i=this.matrix,s=t.distance||n.far;s!==n.far&&(n.far=s,n.updateProjectionMatrix()),cs.setFromMatrixPosition(t.matrixWorld),n.position.copy(cs),bl.copy(n.position),bl.add(this._cubeDirections[e]),n.up.copy(this._cubeUps[e]),n.lookAt(bl),n.updateMatrixWorld(),i.makeTranslation(-cs.x,-cs.y,-cs.z),wf.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(wf)}}class kE extends _o{constructor(t,e,n=0,i=2){super(t,e),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new Hb}get power(){return this.intensity*4*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}class Gb extends zc{constructor(){super(new sp(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class Rf extends _o{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(_e.DEFAULT_UP),this.updateMatrix(),this.target=new _e,this.shadow=new Gb}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}class Wb extends _o{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class VE{static decodeText(t){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(t);let e="";for(let n=0,i=t.length;n{e&&e(c),s.manager.itemEnd(t)}).catch(c=>{i&&i(c)});return}return setTimeout(function(){e&&e(o),s.manager.itemEnd(t)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(t,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return di.add(t,c),e&&e(c),s.manager.itemEnd(t),c}).catch(function(c){i&&i(c),di.remove(t),s.manager.itemError(t),s.manager.itemEnd(t)});di.add(t,l),s.manager.itemStart(t)}}class WE{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Cf(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=Cf();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function Cf(){return(typeof performance=="undefined"?Date:performance).now()}const kc="\\[\\]\\.:\\/",Xb=new RegExp("["+kc+"]","g"),Vc="[^"+kc+"]",qb="[^"+kc.replace("\\.","")+"]",Yb=/((?:WC+[\/:])*)/.source.replace("WC",Vc),$b=/(WCOD+)?/.source.replace("WCOD",qb),jb=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Vc),Zb=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Vc),Kb=new RegExp("^"+Yb+$b+jb+Zb+"$"),Jb=["material","materials","bones","map"];class Qb{constructor(t,e,n){const i=n||te.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}getValue(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(t,e)}setValue(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=n.length;i!==s;++i)n[i].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}class te{constructor(t,e,n){this.path=e,this.parsedPath=n||te.parseTrackName(e),this.node=te.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new te.Composite(t,e,n):new te(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(Xb,"")}static parseTrackName(t){const e=Kb.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=n.nodeName.substring(i+1);Jb.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(n!==void 0)return n}if(t.children){const n=function(s){for(let o=0;oMath.PI&&(Yt-=st),ne<-Math.PI?ne+=st:ne>Math.PI&&(ne-=st),Yt<=ne?a.theta=Math.max(Yt,Math.min(ne,a.theta)):a.theta=a.theta>(Yt+ne)/2?Math.max(Yt,a.theta):Math.min(ne,a.theta)),a.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,a.phi)),a.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(h,n.dampingFactor):n.target.add(h),n.target.sub(n.cursor),n.target.clampLength(n.minTargetRadius,n.maxTargetRadius),n.target.add(n.cursor),n.zoomToCursor&&R||n.object.isOrthographicCamera?a.radius=Z(a.radius):a.radius=Z(a.radius*c),P.setFromSpherical(a),P.applyQuaternion(dt),Kt.copy(n.target).add(P),n.object.lookAt(n.target),n.enableDamping===!0?(l.theta*=1-n.dampingFactor,l.phi*=1-n.dampingFactor,h.multiplyScalar(1-n.dampingFactor)):(l.set(0,0,0),h.set(0,0,0));let Ce=!1;if(n.zoomToCursor&&R){let Jt=null;if(n.object.isPerspectiveCamera){const ve=P.length();Jt=Z(ve*c);const Ve=ve-Jt;n.object.position.addScaledVector(S,Ve),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){const ve=new D(w.x,w.y,0);ve.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/c)),n.object.updateProjectionMatrix(),Ce=!0;const Ve=new D(w.x,w.y,0);Ve.unproject(n.object),n.object.position.sub(Ve).add(ve),n.object.updateMatrixWorld(),Jt=P.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Jt!==null&&(this.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Jt).add(n.object.position):(Ia.origin.copy(n.object.position),Ia.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Ia.direction))o||8*(1-C.dot(n.object.quaternion))>o||at.distanceToSquared(n.target)>0?(n.dispatchEvent(If),Ct.copy(n.object.position),C.copy(n.object.quaternion),at.copy(n.target),!0):!1}}(),this.dispose=function(){n.domElement.removeEventListener("contextmenu",Zt),n.domElement.removeEventListener("pointerdown",T),n.domElement.removeEventListener("pointercancel",B),n.domElement.removeEventListener("wheel",tt),n.domElement.removeEventListener("pointermove",M),n.domElement.removeEventListener("pointerup",B),n._domElementKeyEvents!==null&&(n._domElementKeyEvents.removeEventListener("keydown",Pt),n._domElementKeyEvents=null)};const n=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let s=i.NONE;const o=1e-6,a=new Lf,l=new Lf;let c=1;const h=new D,u=new it,f=new it,d=new it,_=new it,g=new it,p=new it,m=new it,y=new it,v=new it,S=new D,w=new it;let R=!1;const b=[],U={};let F=!1;function x(P){return P!==null?2*Math.PI/60*n.autoRotateSpeed*P:2*Math.PI/60/60*n.autoRotateSpeed}function E(P){const lt=Math.abs(P*.01);return Math.pow(.95,n.zoomSpeed*lt)}function k(P){l.theta-=P}function W(P){l.phi-=P}const I=function(){const P=new D;return function(dt,Ct){P.setFromMatrixColumn(Ct,0),P.multiplyScalar(-dt),h.add(P)}}(),O=function(){const P=new D;return function(dt,Ct){n.screenSpacePanning===!0?P.setFromMatrixColumn(Ct,1):(P.setFromMatrixColumn(Ct,0),P.crossVectors(n.object.up,P)),P.multiplyScalar(dt),h.add(P)}}(),N=function(){const P=new D;return function(dt,Ct){const C=n.domElement;if(n.object.isPerspectiveCamera){const at=n.object.position;P.copy(at).sub(n.target);let st=P.length();st*=Math.tan(n.object.fov/2*Math.PI/180),I(2*dt*st/C.clientHeight,n.object.matrix),O(2*Ct*st/C.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(I(dt*(n.object.right-n.object.left)/n.object.zoom/C.clientWidth,n.object.matrix),O(Ct*(n.object.top-n.object.bottom)/n.object.zoom/C.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function Y(P){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?c/=P:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function X(P){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?c*=P:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function $(P,lt){if(!n.zoomToCursor)return;R=!0;const dt=n.domElement.getBoundingClientRect(),Ct=P-dt.left,C=lt-dt.top,at=dt.width,st=dt.height;w.x=Ct/at*2-1,w.y=-(C/st)*2+1,S.set(w.x,w.y,1).unproject(n.object).sub(n.object.position).normalize()}function Z(P){return Math.max(n.minDistance,Math.min(n.maxDistance,P))}function J(P){u.set(P.clientX,P.clientY)}function ut(P){$(P.clientX,P.clientX),m.set(P.clientX,P.clientY)}function bt(P){_.set(P.clientX,P.clientY)}function V(P){f.set(P.clientX,P.clientY),d.subVectors(f,u).multiplyScalar(n.rotateSpeed);const lt=n.domElement;k(2*Math.PI*d.x/lt.clientHeight),W(2*Math.PI*d.y/lt.clientHeight),u.copy(f),n.update()}function Q(P){y.set(P.clientX,P.clientY),v.subVectors(y,m),v.y>0?Y(E(v.y)):v.y<0&&X(E(v.y)),m.copy(y),n.update()}function _t(P){g.set(P.clientX,P.clientY),p.subVectors(g,_).multiplyScalar(n.panSpeed),N(p.x,p.y),_.copy(g),n.update()}function Mt(P){$(P.clientX,P.clientY),P.deltaY<0?X(E(P.deltaY)):P.deltaY>0&&Y(E(P.deltaY)),n.update()}function Tt(P){let lt=!1;switch(P.code){case n.keys.UP:P.ctrlKey||P.metaKey||P.shiftKey?W(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):N(0,n.keyPanSpeed),lt=!0;break;case n.keys.BOTTOM:P.ctrlKey||P.metaKey||P.shiftKey?W(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):N(0,-n.keyPanSpeed),lt=!0;break;case n.keys.LEFT:P.ctrlKey||P.metaKey||P.shiftKey?k(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):N(n.keyPanSpeed,0),lt=!0;break;case n.keys.RIGHT:P.ctrlKey||P.metaKey||P.shiftKey?k(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):N(-n.keyPanSpeed,0),lt=!0;break}lt&&(P.preventDefault(),n.update())}function xt(P){if(b.length===1)u.set(P.pageX,P.pageY);else{const lt=mt(P),dt=.5*(P.pageX+lt.x),Ct=.5*(P.pageY+lt.y);u.set(dt,Ct)}}function Ot(P){if(b.length===1)_.set(P.pageX,P.pageY);else{const lt=mt(P),dt=.5*(P.pageX+lt.x),Ct=.5*(P.pageY+lt.y);_.set(dt,Ct)}}function wt(P){const lt=mt(P),dt=P.pageX-lt.x,Ct=P.pageY-lt.y,C=Math.sqrt(dt*dt+Ct*Ct);m.set(0,C)}function L(P){n.enableZoom&&wt(P),n.enablePan&&Ot(P)}function ct(P){n.enableZoom&&wt(P),n.enableRotate&&xt(P)}function j(P){if(b.length==1)f.set(P.pageX,P.pageY);else{const dt=mt(P),Ct=.5*(P.pageX+dt.x),C=.5*(P.pageY+dt.y);f.set(Ct,C)}d.subVectors(f,u).multiplyScalar(n.rotateSpeed);const lt=n.domElement;k(2*Math.PI*d.x/lt.clientHeight),W(2*Math.PI*d.y/lt.clientHeight),u.copy(f)}function ot(P){if(b.length===1)g.set(P.pageX,P.pageY);else{const lt=mt(P),dt=.5*(P.pageX+lt.x),Ct=.5*(P.pageY+lt.y);g.set(dt,Ct)}p.subVectors(g,_).multiplyScalar(n.panSpeed),N(p.x,p.y),_.copy(g)}function K(P){const lt=mt(P),dt=P.pageX-lt.x,Ct=P.pageY-lt.y,C=Math.sqrt(dt*dt+Ct*Ct);y.set(0,C),v.set(0,Math.pow(y.y/m.y,n.zoomSpeed)),Y(v.y),m.copy(y);const at=(P.pageX+lt.x)*.5,st=(P.pageY+lt.y)*.5;$(at,st)}function Et(P){n.enableZoom&&K(P),n.enablePan&&ot(P)}function pt(P){n.enableZoom&&K(P),n.enableRotate&&j(P)}function T(P){n.enabled!==!1&&(b.length===0&&(n.domElement.setPointerCapture(P.pointerId),n.domElement.addEventListener("pointermove",M),n.domElement.addEventListener("pointerup",B)),Gt(P),P.pointerType==="touch"?Ft(P):rt(P))}function M(P){n.enabled!==!1&&(P.pointerType==="touch"?nt(P):et(P))}function B(P){switch(It(P),b.length){case 0:n.domElement.releasePointerCapture(P.pointerId),n.domElement.removeEventListener("pointermove",M),n.domElement.removeEventListener("pointerup",B),n.dispatchEvent(Uf),s=i.NONE;break;case 1:const lt=b[0],dt=U[lt];Ft({pointerId:lt,pageX:dt.x,pageY:dt.y});break}}function rt(P){let lt;switch(P.button){case 0:lt=n.mouseButtons.LEFT;break;case 1:lt=n.mouseButtons.MIDDLE;break;case 2:lt=n.mouseButtons.RIGHT;break;default:lt=-1}switch(lt){case er.DOLLY:if(n.enableZoom===!1)return;ut(P),s=i.DOLLY;break;case er.ROTATE:if(P.ctrlKey||P.metaKey||P.shiftKey){if(n.enablePan===!1)return;bt(P),s=i.PAN}else{if(n.enableRotate===!1)return;J(P),s=i.ROTATE}break;case er.PAN:if(P.ctrlKey||P.metaKey||P.shiftKey){if(n.enableRotate===!1)return;J(P),s=i.ROTATE}else{if(n.enablePan===!1)return;bt(P),s=i.PAN}break;default:s=i.NONE}s!==i.NONE&&n.dispatchEvent(El)}function et(P){switch(s){case i.ROTATE:if(n.enableRotate===!1)return;V(P);break;case i.DOLLY:if(n.enableZoom===!1)return;Q(P);break;case i.PAN:if(n.enablePan===!1)return;_t(P);break}}function tt(P){n.enabled===!1||n.enableZoom===!1||s!==i.NONE||(P.preventDefault(),n.dispatchEvent(El),Mt(yt(P)),n.dispatchEvent(Uf))}function yt(P){const lt=P.deltaMode,dt={clientX:P.clientX,clientY:P.clientY,deltaY:P.deltaY};switch(lt){case 1:dt.deltaY*=16;break;case 2:dt.deltaY*=100;break}return P.ctrlKey&&!F&&(dt.deltaY*=10),dt}function ft(P){P.key==="Control"&&(F=!0,n.domElement.getRootNode().addEventListener("keyup",gt,{passive:!0,capture:!0}))}function gt(P){P.key==="Control"&&(F=!1,n.domElement.getRootNode().removeEventListener("keyup",gt,{passive:!0,capture:!0}))}function Pt(P){n.enabled===!1||n.enablePan===!1||Tt(P)}function Ft(P){switch(Rt(P),b.length){case 1:switch(n.touches.ONE){case nr.ROTATE:if(n.enableRotate===!1)return;xt(P),s=i.TOUCH_ROTATE;break;case nr.PAN:if(n.enablePan===!1)return;Ot(P),s=i.TOUCH_PAN;break;default:s=i.NONE}break;case 2:switch(n.touches.TWO){case nr.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;L(P),s=i.TOUCH_DOLLY_PAN;break;case nr.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;ct(P),s=i.TOUCH_DOLLY_ROTATE;break;default:s=i.NONE}break;default:s=i.NONE}s!==i.NONE&&n.dispatchEvent(El)}function nt(P){switch(Rt(P),s){case i.TOUCH_ROTATE:if(n.enableRotate===!1)return;j(P),n.update();break;case i.TOUCH_PAN:if(n.enablePan===!1)return;ot(P),n.update();break;case i.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Et(P),n.update();break;case i.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;pt(P),n.update();break;default:s=i.NONE}}function Zt(P){n.enabled!==!1&&P.preventDefault()}function Gt(P){b.push(P.pointerId)}function It(P){delete U[P.pointerId];for(let lt=0;lt{r instanceof Array?r.forEach(Lp):(r.map&&r.map.dispose(),r.dispose())},Dp=r=>{r.geometry&&r.geometry.dispose(),r.material&&Lp(r.material),r.texture&&r.texture.dispose(),r.children&&r.children.forEach(Dp)},iE=r=>{if(r&&r.children)for(;r.children.length;){const t=r.children[0];r.remove(t),Dp(t)}};var Hc={exports:{}},rE=function(t,e,n,i){var s=t[0],o=t[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=e.length);for(var l=(i-n)/2,c=0,h=l-1;co!=_>o&&s<(d-u)*(o-f)/(_-f)+u;g&&(a=!a)}return a},sE=function(t,e,n,i){var s=t[0],o=t[1],a=!1;n===void 0&&(n=0),i===void 0&&(i=e.length);for(var l=i-n,c=0,h=l-1;co!=_>o&&s<(d-u)*(o-f)/(_-f)+u;g&&(a=!a)}return a},Ip=rE,Up=sE;Hc.exports=function(t,e,n,i){return e.length>0&&Array.isArray(e[0])?Up(t,e,n,i):Ip(t,e,n,i)};Hc.exports.nested=Up;Hc.exports.flat=Ip;const aE=""+new URL("ring2-a1b91808-balabala-1783957353180.png",import.meta.url).href,oE=""+new URL("ring3-fe0f60d7-balabala-1783957353180.png",import.meta.url).href,lE=""+new URL("ring4-f2e324d6-balabala-1783957353180.png",import.meta.url).href;const cE={name:"ThreePie",props:{data:{type:Array,default:()=>[]},colors:{type:Array,default:()=>[2161326,15380744,3122407,65535,16536624]},opacity:{type:Number,default:.5},delay:{type:Number,default:5e3},loopComplete:{type:Function,default:()=>{}}},computed:{currentData(){return jr(ae({},this.data[this.activeIndex]),{count:this.count})}},data(){return this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null,this.pieGroup=new ps,this.planeTweens=[],this.resizeHandler=null,this.visibilityObserver=null,this.isVisible=!0,this.isDestroyed=!1,this.isLooping=!1,{width:300,height:200,activeIndex:0,count:0,timer:null}},mounted(){this.isVisible=this.isElementVisible(this.$el),this.updateSize(),this.count=this.data.map(r=>Number(r.value)||0).reduce((r,t)=>r+t,0),this.init(),this.setupVisibilityObserver(),this.resizeHandler=()=>this.resize(),window.addEventListener("resize",this.resizeHandler)},beforeUnmount(){this.destroy()},methods:{init(){this.scene=new kS,this.initCamera(),this.initRenderer(),this.initLight(),this.initAxes(),this.initControls(),this.createPlane({url:aE,width:5,position:new D(0,0,-.01),color:"#00ffff"}),this.createPlane({url:oE,width:6.5,position:new D(0,0,-.02),color:"#00ffff"}),this.createPlane({url:lE,width:5.5,position:new D(0,0,-.03),animate:!0,color:"#00ffff"}),this.createPie(),this.isVisible&&this.start()},createPlane(r){let t={url:"texture/ring1.png",width:5.5,z:0,position:new D(0,0,0),animate:!1,color:null},e=Object.assign(t,r);const n=new ks(e.width,e.width),i=new Dc({map:this.getTexture(e.url),transparent:!0,side:bn,depthTest:!1});e.color&&(i.color=new Nt(e.color));const s=new Ye(n,i);if(s.position.copy(e.position),s.rotation.x=-1*Math.PI/2,e.animate){const o=ai.to(s.rotation,{z:2*Math.PI,repeat:-1,ease:"none",duration:3});this.planeTweens.push(o)}this.scene.add(s)},getTexture(r){const t=new kb().load(r);return t.wrapS=t.wrapT=$a,t},createPie(){if(!this.data.length||this.count<=0)return;let r=0,t=0;for(var e=0;e=this.data.length&&(r=0,this.loopComplete&&this.loopComplete()),this.chooseRing(r)},chooseRing(r=0,t=!1){if(!this.pieGroup.children.length)return;let e=r-1<0?this.data.length-1:r-1,n=this.pieGroup.children[e];this.prevMesh=n,this.activeIndex=r;let i=this.pieGroup.children[r];i&&(t||n&&(ai.to(n.scale,{z:1}),ai.to(n.material,{opacity:this.opacity})),ai.to(i.scale,{z:2}),ai.to(i.material,{opacity:.8}))},addRing(r={}){let t={innerRadius:1.5,outerRadius:2,thickness:.5,startAngle:0,endAngle:Math.PI/2,color:65535,segments:120},e=Object.assign(t,r),n=new Ss;n.arc(0,0,e.outerRadius,e.startAngle,e.endAngle);let i=n.getPoints(e.segments),s=new Ss;s.arc(0,0,e.innerRadius,e.endAngle,e.startAngle,!0);let o=s.getPoints(e.segments),a=new Ss(i.concat(o));const l={steps:1,depth:e.thickness,bevelEnabled:!0,bevelThickness:0,bevelSize:0,bevelOffset:0,bevelSegments:0},c=new Bc(a,l);let h=new wb({color:e.color,transparent:!0,opacity:this.opacity,side:bn});const u=new Ye(c,h.clone());return u.renderOrder=10,u.rotation.x=-1*Math.PI/2,u},initCamera(){var r=this.width/this.height;this.camera=new Xe(30,r,.1,1500),this.camera.position.set(6.023813305272227,4.838542633695233,6.111272698256137),this.camera.lookAt(0,0,0)},initRenderer(){this.renderer=new fp({antialias:!0,alpha:!0}),this.renderer.setPixelRatio(this.getPixelRatio()),this.renderer.setSize(this.width,this.height),this.$refs.pieDom.appendChild(this.renderer.domElement)},initLight(){let r=new Rf(16777215,2);r.position.set(200,300,200);let t=new Rf(16777215,2);t.position.set(-200,-300,-200);let e=new Wb(16777215,2);this.scene.add(r),this.scene.add(t),this.scene.add(e)},initAxes(){this.axes=new tE(0),this.scene.add(this.axes)},initControls(){this.controls=new nE(this.camera,this.renderer.domElement),this.controls.maxPolarAngle=Math.PI,this.controls.autoRotate=!1,this.controls.enableDamping=!0,this.controls.enabled=!1},loop(){!this.renderer||this.isLooping||(this.isLooping=!0,this.renderer.setAnimationLoop(()=>{this.renderer.render(this.scene,this.camera),this.controls&&this.controls.update()}))},start(){this.isDestroyed||!this.renderer||!this.data.length||(this.isVisible=!0,this.loop(),this.planeTweens.forEach(r=>{var t;return(t=r==null?void 0:r.resume)==null?void 0:t.call(r)}),this.controls&&(this.controls.enabled=!0),this.startTimer())},startTimer(){this.stopTimer(),!(this.data.length<2)&&(this.timer=window.setInterval(()=>{this.loopChange()},this.delay))},stop(){this.stopTimer(),this.controls&&(this.controls.enabled=!1),this.renderer&&this.renderer.setAnimationLoop(null),this.planeTweens.forEach(r=>{var t;return(t=r==null?void 0:r.pause)==null?void 0:t.call(r)}),this.isLooping=!1},stopTimer(){this.timer&&(window.clearInterval(this.timer),this.timer=null)},setupVisibilityObserver(){const r=this.$el;!r||typeof window.IntersectionObserver!="function"||(this.visibilityObserver=new IntersectionObserver(t=>{const e=t[0],n=!!(e!=null&&e.isIntersecting)&&this.isElementVisible(r);n!==this.isVisible&&(this.isVisible=n,n?(this.resize(),this.start()):this.stop())}),this.visibilityObserver.observe(r),this.isVisible=this.isElementVisible(r),this.isVisible||this.stop())},isElementVisible(r){if(!r||typeof window.getComputedStyle!="function")return!0;let t=r;for(;t&&t!==document.body;){const n=window.getComputedStyle(t);if(n.display==="none"||n.visibility==="hidden"||Number(n.opacity)===0)return!1;t=t.parentElement}const e=r.getBoundingClientRect();return e.width>0&&e.height>0},getPixelRatio(){return Math.min(window.devicePixelRatio||1,1.5)},updateSize(){var t,e;const r=this.$refs.pieDom;this.width=(r==null?void 0:r.offsetWidth)||((t=this.$el)==null?void 0:t.offsetWidth)||300,this.height=(r==null?void 0:r.offsetHeight)||((e=this.$el)==null?void 0:e.offsetHeight)||200},getScene(){return this.scene},getRender(){return this.renderer},resize(){if(!this.camera||!this.renderer)return;this.updateSize();let r=this.width/this.height;this.camera.aspect=r,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height),this.renderer.setPixelRatio(this.getPixelRatio())},destroy(){var r,t,e,n;this.isDestroyed=!0,this.prevMesh&&(ai.set(this.prevMesh.scale,{z:1}),ai.set(this.prevMesh.material,{opacity:this.opacity})),this.stop(),(t=(r=this.visibilityObserver)==null?void 0:r.disconnect)==null||t.call(r),this.visibilityObserver=null,this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.renderer&&(this.planeTweens.forEach(i=>{var s;return(s=i==null?void 0:i.kill)==null?void 0:s.call(i)}),this.planeTweens=[],iE(this.pieGroup),this.renderer.dispose(),this.renderer.forceContextLoss(),(n=(e=this.controls)==null?void 0:e.dispose)==null||n.call(e),this.$refs.pieDom&&(this.$refs.pieDom.innerHTML=""),this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.axes=null)}}},hE={class:"three-pie-wrap"},uE={class:"three-pie",ref:"pieDom"},fE={class:"three-pie-slot"};function dE(r,t,e,n,i,s){return hs(),us("div",hE,[Bt("div",uE,null,512),Bt("div",fE,[Tl(r.$slots,"default",{data:s.currentData})])])}const jE=rm(cE,[["render",dE]]),oi=Object.freeze({canvasWidth:1920,canvasHeight:1080,sideCardWidth:398,sidePanelTop:128,sidePanelBottom:8,sideCardGap:12,sideCardMinHeight:227,cardTitleHeight:36}),Np=Object.freeze({ui:'"Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif',title:'"Alimama ShuHeiTi", "阿里妈妈数黑体 Bold", "Alibaba PuHuiTi", "Microsoft YaHei", sans-serif',number:'"D-DIN", "D-DIN-Bold", Arial, sans-serif'}),go=Object.freeze({pageTitle:48,menu:14,cardTitle:16,kpiLabel:14,kpiValue:31,kpiUnit:11,chartUnit:10,chartAxis:10,chartLabel:11,tableBody:11,tableValue:12,popupTitle:20,popupBody:14,tooltip:12}),$n=Object.freeze({textPrimary:"#ffffff",textStrong:"#ffffff",textSecondary:"rgba(246, 253, 255, 0.92)",textMuted:"rgba(242, 253, 255, 0.9)",textWeak:"rgba(229, 248, 255, 0.74)",accentCyan:"#30dcff",accentMint:"#19ffc6",accentWater:"#31dcff",accentGrass:"#24f6c4",accentGold:"#8bf7ff",accentOrange:"#48cfff",cardBorder:"rgba(62, 226, 255, 0.5)",cardBg:"rgba(10, 52, 72, 0.7)",cardHeaderBg:"rgba(40, 124, 158, 0.62)",chartGridLine:"rgba(218, 250, 255, 0.28)",tooltipBg:"rgba(3, 13, 18, 0.92)",iconPrimary:"#30dcff",iconSecondary:"#19ffc6",iconBg:"rgba(48, 220, 255, 0.1)",iconBorder:"rgba(48, 220, 255, 0.42)",iconGlow:"rgba(48, 220, 255, 0.22)"});function ZE(r=oi.canvasHeight){const t=Math.max(oi.canvasHeight,Number(r)||oi.canvasHeight),e=Math.floor((t-oi.sidePanelTop-oi.sidePanelBottom-oi.sideCardGap*3)/4);return Math.max(oi.sideCardMinHeight,e)}function KE(r,t=1){const e=Math.max(1,Number(t)||1);return r*e+oi.sideCardGap*(e-1)}const vo=Np.ui,pE=Np.number,De=[$n.accentCyan,$n.accentMint,$n.accentWater,$n.accentOrange,"#16b6e8","#b9fbff"],Op=$n.textPrimary,mE=$n.textStrong,Fp=$n.textSecondary,Gs=$n.textMuted,_E=$n.chartGridLine,gE=new Map([["#ffd76c","#8bf7ff"],["#ffe06b","#8bf7ff"],["#ffcf62","#8bf7ff"],["#ffbf5a","#8bf7ff"],["#ff9a62","#48cfff"],["#ff9a5c","#48cfff"],["#ff8f6b","#48cfff"],["#ff5a64","#8bf7ff"],["#ff4054","#30dcff"],["#7ee269","#24f6c4"],["#86dc62","#24f6c4"],["#a6f06d","#24f6c4"],["#c7e86b","#8bf7ff"],["#9ea7ff","#48cfff"],["#7aa7ff","#48cfff"]]),Gc={color:Gs,fontFamily:vo,fontSize:go.chartAxis};function xo(r,t={}){return ae({trigger:"item",appendToBody:!0,confine:!1,backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:Op,fontFamily:vo,fontSize:go.tooltip,lineHeight:18},extraCssText:"box-shadow:0 0 10px rgba(0,210,255,.12);z-index:2147483647!important;pointer-events:none;",formatter:r},t)}function Wc(r={}){return ae({itemWidth:10,itemHeight:7,itemGap:8,textStyle:jr(ae({},Gc),{color:Fp,fontSize:go.chartAxis})},r)}function Os(r=[],t={}){return ae({type:"category",data:r,axisLabel:ae(jr(ae({},Gc),{color:Gs,interval:0,hideOverlap:!0,margin:8}),t.axisLabel||{}),axisLine:ae({lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},t.axisLine||{}),axisTick:ae({show:!1},t.axisTick||{}),splitLine:ae({show:!1},t.splitLine||{})},Bp(t))}function Fs(r={}){return ae({type:"value",axisLabel:ae(jr(ae({},Gc),{color:Gs}),r.axisLabel||{}),axisLine:ae({show:!1},r.axisLine||{}),axisTick:ae({show:!1},r.axisTick||{}),splitLine:ae({lineStyle:{color:_E,type:"dashed"}},r.splitLine||{})},Bp(r))}function yo(r={}){return ae({left:42,right:28,top:30,bottom:24,containLabel:!1},r)}function vE(r,t=`${r}12`){return new rc(0,0,0,1,[{offset:0,color:r},{offset:1,color:t}])}function Xc(r=De[0]){return new rc(0,0,0,1,[{offset:0,color:"rgba(255,255,255,0.96)"},{offset:.16,color:r},{offset:.72,color:`${r}a3`},{offset:1,color:`${r}14`}])}function xE(r,t=`${r}20`,e="#ffffff"){return new rc(0,0,1,0,[{offset:0,color:t},{offset:.68,color:r},{offset:1,color:e}])}function Mo(r={}){var e,n,i;const t=ae({textStyle:ae({fontFamily:vo,color:Gs},r.textStyle||{}),animation:(e=r.animation)!=null?e:!0,animationDuration:(n=r.animationDuration)!=null?n:900,animationDurationUpdate:(i=r.animationDurationUpdate)!=null?i:700,animationEasing:r.animationEasing||"cubicOut"},r);return ic(t),nc(t),t}function JE({categories:r=[],rows:t=[],unit:e="",name:n="指标",orientation:i="vertical",colorIndex:s=0,grid:o={},showLabel:a=!0}={}){const l=i==="horizontal",c=t.map((h,u)=>({name:h.name||r[u],value:Number(h.value)||0,itemStyle:{borderRadius:l?[0,6,6,0]:[7,7,1,1],color:l?xE(De[(s+u)%De.length],"rgba(48, 220, 255, 0.1)",De[(s+u)%De.length]):Xc(De[(s+u)%De.length])}}));return Mo({color:De,grid:yo(ae(l?{left:72,right:a?58:26,top:24,bottom:22}:{left:46,right:24,top:28,bottom:42},o)),tooltip:xo(h=>`${h.marker}${h.name}:${ec(h.value)}${e}`),xAxis:l?Fs():Os(r,{axisLabel:{rotate:r.length>6?24:0}}),yAxis:l?Os(r,{inverse:!0,axisLabel:{color:Op,fontWeight:700}}):Fs(),series:[{name:n,type:"bar",barWidth:l?8:r.length>7?6:8,data:c,label:{show:a,position:l?"right":"top",color:mE,fontFamily:pE,fontSize:go.chartLabel,fontWeight:700,formatter:({value:h})=>ec(h)}}]})}function QE({categories:r=[],series:t=[],unit:e="",grid:n={}}={}){return Mo({color:De,grid:yo(ae({left:46,right:20,top:42,bottom:42},n)),tooltip:xo(i=>qc(i,e),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:Wc({top:0,right:4}),xAxis:Os(r),yAxis:Fs(),series:t.map((i,s)=>({name:i.name,type:"bar",barWidth:r.length>7?6:8,data:i.values||[],itemStyle:{borderRadius:[7,7,1,1],color:Xc(De[s%De.length])}}))})}function tT({categories:r=[],series:t=[],unit:e="",grid:n={}}={}){return Mo({color:De,grid:yo(ae({left:48,right:22,top:42,bottom:42},n)),tooltip:xo(i=>qc(i,e),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:Wc({top:0,right:4}),xAxis:Os(r),yAxis:Fs(),series:t.map((i,s)=>({name:i.name,type:"bar",stack:"total",barWidth:r.length>7?6:8,data:i.values||[],itemStyle:{color:Xc(De[s%De.length])}}))})}function eT({categories:r=[],series:t=[],unit:e="",area:n=!1,grid:i={}}={}){return Mo({color:De,grid:yo(ae({left:46,right:24,top:42,bottom:38},i)),tooltip:xo(s=>qc(s,e),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(139, 247, 255, 0.42)"}}}),legend:Wc({top:0,right:4}),xAxis:Os(r),yAxis:Fs(),series:t.map((s,o)=>{const a=De[o%De.length];return{name:s.name,type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:s.values||[],lineStyle:{width:1.6,color:a,shadowColor:`${a}22`,shadowBlur:1},itemStyle:{color:"#041522",borderColor:a,borderWidth:1},areaStyle:n?{color:vE(a,`${a}08`)}:void 0}})})}function ec(r){const t=Number(r);return Number.isFinite(t)?Number.isInteger(t)?t.toLocaleString("zh-CN"):t.toLocaleString("zh-CN",{maximumFractionDigits:2}):"--"}function Bp(r={}){const o=r,{axisLabel:t,axisLine:e,axisTick:n,splitLine:i}=o;return nh(o,["axisLabel","axisLine","axisTick","splitLine"])}function qc(r,t=""){var s,o;const e=Array.isArray(r)?r:[r],n=((s=e[0])==null?void 0:s.axisValueLabel)||((o=e[0])==null?void 0:o.name)||"",i=e.map(a=>`${a.marker}${a.seriesName||a.name}:${ec(a.value)}${t}`).join("
");return`${n}
${i}`}function nc(r){if(!r||typeof r!="object")return;["textStyle","axisLabel","nameTextStyle","label","axisName"].forEach(e=>{!r[e]||typeof r[e]!="object"||(r[e]=yE(r[e]))}),Object.keys(r).forEach(e=>{const n=r[e];if(!(!n||typeof n!="object")&&!(e==="color"||e==="itemStyle"||e==="areaStyle"||e==="lineStyle")){if(Array.isArray(n)){n.forEach(nc);return}nc(n)}})}function ic(r){!r||typeof r!="object"||Object.keys(r).forEach(t=>{const e=r[t];if(typeof e=="string"){r[t]=Of(e);return}if(Array.isArray(e)){e.forEach((n,i)=>{typeof n=="string"?e[i]=Of(n):ic(n)});return}e&&typeof e=="object"&&ic(e)})}function Of(r){let t=r;return gE.forEach((e,n)=>{t=t.replace(new RegExp(n,"gi"),e)}),t=t.replace(/rgba\(\s*255\s*,\s*215\s*,\s*108\s*,\s*([^)]+)\)/gi,"rgba(139, 247, 255, $1)").replace(/rgba\(\s*255\s*,\s*224\s*,\s*107\s*,\s*([^)]+)\)/gi,"rgba(139, 247, 255, $1)").replace(/rgba\(\s*255\s*,\s*154\s*,\s*98\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*255\s*,\s*143\s*,\s*107\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*126\s*,\s*226\s*,\s*105\s*,\s*([^)]+)\)/gi,"rgba(36, 246, 196, $1)").replace(/rgba\(\s*134\s*,\s*220\s*,\s*98\s*,\s*([^)]+)\)/gi,"rgba(36, 246, 196, $1)").replace(/rgba\(\s*166\s*,\s*240\s*,\s*109\s*,\s*([^)]+)\)/gi,"rgba(36, 246, 196, $1)").replace(/rgba\(\s*158\s*,\s*167\s*,\s*255\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*122\s*,\s*167\s*,\s*255\s*,\s*([^)]+)\)/gi,"rgba(72, 207, 255, $1)").replace(/rgba\(\s*255\s*,\s*64\s*,\s*84\s*,\s*([^)]+)\)/gi,"rgba(48, 220, 255, $1)").replace(/rgba\(\s*255\s*,\s*90\s*,\s*100\s*,\s*([^)]+)\)/gi,"rgba(139, 247, 255, $1)"),t}function yE(r){const t=ae({fontFamily:r.fontFamily||vo},r);return t.color=ME(t.color),typeof t.fontSize=="number"&&t.fontSize<10&&(t.fontSize=10),t}function ME(r){if(typeof r!="string")return r;const t=r.match(/^rgba\(\s*(22[0-9]|23[0-9]|24[0-9]|25[0-5])\s*,\s*(24[0-9]|25[0-5])\s*,\s*(24[0-9]|25[0-5])\s*,\s*([0-9.]+)\s*\)$/i);if(!t)return r;const e=Number(t[4]);return!Number.isFinite(e)||e>=.72?r:e<.6?Gs:Fp}export{zo as $,DE as A,Ne as B,WE as C,Rf as D,IE as E,BE as F,ps as G,Xe as H,LE as I,P0 as J,sp as K,Hs as L,Dc as M,_p as N,_e as O,kE as P,FE as Q,$a as R,zE as S,AE as T,GS as U,it as V,Za as W,ee as X,Ei as Y,Pe as Z,Nh as _,RE as a,mE as a$,Qr as a0,En as a1,ql as a2,ja as a3,bi as a4,no as a5,Ue as a6,so as a7,ro as a8,Vs as a9,YE as aA,jS as aB,Rp as aC,$n as aD,jE as aE,TE as aF,oi as aG,ZE as aH,Mo as aI,xo as aJ,EE as aK,KE as aL,ai as aM,qE as aN,dp as aO,Wb as aP,wb as aQ,CE as aR,VS as aS,zs as aT,xg as aU,Bi as aV,Rg as aW,bg as aX,Np as aY,go as aZ,Fp as a_,wi as aa,Jn as ab,mo as ac,Ob as ad,fp as ae,nE as af,er as ag,kS as ah,tE as ai,Dr as aj,$E as ak,Ss as al,wp as am,ks as an,Ch as ao,UE as ap,Bc as aq,HE as ar,ge as as,XE as at,NE as au,Cn as av,j0 as aw,ht as ax,Ti as ay,se as az,wE as b,vo as b0,Op as b1,_E as b2,pE as b3,Xc as b4,De as b5,JE as b6,QE as b7,tT as b8,eT as b9,Wc as ba,yo as bb,Os as bc,Fs as bd,ec as be,vE as bf,xn as c,VE as d,Nt as e,Kn as f,Le as g,OE as h,$t as i,D as j,lf as k,kb as l,GE as m,pp as n,We as o,Vi as p,YS as q,Qn as r,Nc as s,Ab as t,bn as u,te as v,PE as w,Ye as x,vp as y,gp as z}; diff --git a/docs/assets/chartTheme-73f6d8d0-balabala-1783905032331.css b/docs/assets/chartTheme-73f6d8d0-balabala-1783957353180.css similarity index 100% rename from docs/assets/chartTheme-73f6d8d0-balabala-1783905032331.css rename to docs/assets/chartTheme-73f6d8d0-balabala-1783957353180.css diff --git a/docs/assets/chinaBlurLine-1a2cbc0f-balabala-1783905032331.png b/docs/assets/chinaBlurLine-1a2cbc0f-balabala-1783957353180.png similarity index 100% rename from docs/assets/chinaBlurLine-1a2cbc0f-balabala-1783905032331.png rename to docs/assets/chinaBlurLine-1a2cbc0f-balabala-1783957353180.png diff --git a/docs/assets/content-bottom-left-arrow-3a8a61f3-balabala-1783905032331.svg b/docs/assets/content-bottom-left-arrow-3a8a61f3-balabala-1783957353180.svg similarity index 100% rename from docs/assets/content-bottom-left-arrow-3a8a61f3-balabala-1783905032331.svg rename to docs/assets/content-bottom-left-arrow-3a8a61f3-balabala-1783957353180.svg diff --git a/docs/assets/content-bottom-right-arrow-a3c5270d-balabala-1783905032331.svg b/docs/assets/content-bottom-right-arrow-a3c5270d-balabala-1783957353180.svg similarity index 100% rename from docs/assets/content-bottom-right-arrow-a3c5270d-balabala-1783905032331.svg rename to docs/assets/content-bottom-right-arrow-a3c5270d-balabala-1783957353180.svg diff --git a/docs/assets/content-middle-line-162bc0d5-balabala-1783905032331.svg b/docs/assets/content-middle-line-162bc0d5-balabala-1783957353180.svg similarity index 100% rename from docs/assets/content-middle-line-162bc0d5-balabala-1783905032331.svg rename to docs/assets/content-middle-line-162bc0d5-balabala-1783957353180.svg diff --git a/docs/assets/focus_bg-b6803e2d-balabala-1783905032331.png b/docs/assets/focus_bg-b6803e2d-balabala-1783957353180.png similarity index 100% rename from docs/assets/focus_bg-b6803e2d-balabala-1783905032331.png rename to docs/assets/focus_bg-b6803e2d-balabala-1783957353180.png diff --git a/docs/assets/focus_move_bg-cf41417a-balabala-1783905032331.png b/docs/assets/focus_move_bg-cf41417a-balabala-1783957353180.png similarity index 100% rename from docs/assets/focus_move_bg-cf41417a-balabala-1783905032331.png rename to docs/assets/focus_move_bg-cf41417a-balabala-1783957353180.png diff --git a/docs/assets/header-bg-65b38012-balabala-1783905032331.png b/docs/assets/header-bg-65b38012-balabala-1783957353180.png similarity index 100% rename from docs/assets/header-bg-65b38012-balabala-1783905032331.png rename to docs/assets/header-bg-65b38012-balabala-1783957353180.png diff --git a/docs/assets/huiguang-3c5dfda5-balabala-1783905032331.png b/docs/assets/huiguang-3c5dfda5-balabala-1783957353180.png similarity index 100% rename from docs/assets/huiguang-3c5dfda5-balabala-1783905032331.png rename to docs/assets/huiguang-3c5dfda5-balabala-1783957353180.png diff --git a/docs/assets/icon1-6f7c222f-balabala-1783905032331.png b/docs/assets/icon1-6f7c222f-balabala-1783957353180.png similarity index 100% rename from docs/assets/icon1-6f7c222f-balabala-1783905032331.png rename to docs/assets/icon1-6f7c222f-balabala-1783957353180.png diff --git a/docs/assets/icon2-4f77ccec-balabala-1783905032331.png b/docs/assets/icon2-4f77ccec-balabala-1783957353180.png similarity index 100% rename from docs/assets/icon2-4f77ccec-balabala-1783905032331.png rename to docs/assets/icon2-4f77ccec-balabala-1783957353180.png diff --git a/docs/assets/index-104f35b4-balabala-1783905032331.css b/docs/assets/index-104f35b4-balabala-1783905032331.css deleted file mode 100644 index 79279b5..0000000 --- a/docs/assets/index-104f35b4-balabala-1783905032331.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.path-line{mix-blend-mode:screen}.m-header{position:relative;left:0;top:0;right:0;width:100%;height:90px;z-index:2}.m-header-wrap{position:absolute;left:50%;transform:translate(-50%);width:1920px;height:90px;margin:0 auto;background:url(./header-bg-65b38012-balabala-1783905032331.png);background-size:100%;text-align:center;box-sizing:border-box;padding-top:10px}.m-header-title{color:#fff;font-size:44px;font-weight:700;letter-spacing:1px;font-family:Alimama ShuHeiTi,阿里妈妈数黑体 Bold,sans-serif;font-synthesis:none;background:-webkit-linear-gradient(rgb(117,232,255),rgb(255,255,255));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.m-header-subtext{opacity:.64;font-size:12px;letter-spacing:3px;font-weight:300;font-family:D-DIN;line-height:14.4px;color:#c4f3fe}.m-header-left{color:#fff;position:absolute;top:47px;left:32px}.m-header-right{color:#fff;position:absolute;top:47px;right:32px}.m-header-line-left{position:absolute;right:50%;top:11px;width:961px;height:79px;margin-right:14px}.m-header-line-right{position:absolute;left:50%;top:11px;width:961px;height:79px;margin-left:-14px;transform:scaleX(-1)}.m-header-line-left-top{position:absolute;right:50%;top:-6px;width:329px;height:30px;margin-right:295px}.m-header-line-right-top{position:absolute;left:50%;top:-6px;width:329px;height:30px;margin-left:293px;transform:scaleX(-1)}.m-menu{display:flex}.m-menu-item{position:relative;z-index:1;display:flex;align-items:center;pointer-events:all;justify-content:center;min-width:112px;width:auto;height:32px;box-sizing:border-box;padding:0 20px;background-image:url(./menu-btn-91a961cf-balabala-1783905032331.png);background-size:100% 100%;color:#fff9;font-size:15px;margin:0 6px;white-space:nowrap;line-height:32px;cursor:pointer}.m-menu-item:hover,.m-menu-item.is-active{color:#fff;background-image:url(./menu-btn-hover-62eba0bb-balabala-1783905032331.png);background-size:100% 100%}.m-menu-item.is-active:after{display:block;width:100%;height:32px;background-size:100%;content:"";position:absolute;left:50%;top:50%;margin-left:-50%;margin-top:-16px;z-index:-1;opacity:1;background:rgba(0,170,255,.55);border-radius:32px;transform:scale(1.1,1.2);animation:menuActiveScale 1s infinite}@keyframes menuActiveScale{0%{transform:scale(1)}50%{transform:scale(1.1,1.2)}to{transform:scale(1.1,1.2);opacity:0}}@keyframes countCardLoadIn{0%{opacity:0;transform:translateY(12px) scale(.96);filter:blur(1px) brightness(.82)}58%{opacity:1;transform:translateY(-2px) scale(1.02);filter:blur(0) brightness(1.26)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0) brightness(1)}}@keyframes countCardValueJump{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.045)}68%{transform:translateY(1px) scale(.99)}}@keyframes countCardValueSettle{0%{transform:translateY(0) scale(1);filter:brightness(1);text-shadow:0 0 18px rgba(255,255,255,.7)}36%{transform:translateY(-5px) scale(1.08);filter:brightness(1.4);text-shadow:0 0 14px rgba(255,255,255,.88),0 0 26px rgba(48,220,255,.52)}to{transform:translateY(0) scale(1);filter:brightness(1);text-shadow:0 0 18px rgba(255,255,255,.7)}}@keyframes countCardValueSweep{0%{transform:translate(-130%);opacity:0}16%{opacity:.68}54%{opacity:.8}to{transform:translate(130%);opacity:0}}.count-card{position:relative;display:flex;align-items:center;overflow:visible}.count-card:before{content:"";position:absolute;left:-8px;right:-8px;top:-5px;bottom:-5px;pointer-events:none;background:linear-gradient(100deg,transparent 8%,rgba(48,220,255,.2) 45%,transparent 72%);opacity:0;transform:translate(-120%)}.count-card.is-counting:before{animation:countCardValueSweep 1.45s ease-in-out infinite}.count-card-left{display:flex;align-items:center;animation:countCardLoadIn .78s cubic-bezier(.2,.78,.22,1) both;animation-delay:.04s}.count-card-right{display:flex;align-items:center;padding-left:20px;animation:countCardLoadIn .82s cubic-bezier(.2,.78,.22,1) both;animation-delay:.12s}.count-card-right .value{position:relative;display:inline-flex;align-items:baseline;transform-origin:center bottom;font-family:D-DIN;font-weight:700;font-size:var(--screen-kpi-value-size, 31px);line-height:34px;color:#fff;letter-spacing:0;margin-right:6px;text-shadow:0px 0px 18px rgba(255,255,255,.7);white-space:nowrap}.count-card-right .value:after{content:"";position:absolute;left:-4px;right:-4px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(48,220,255,.72),transparent);opacity:0;transform:scaleX(.2);transform-origin:left center}.count-card-right .unit{font-weight:500;font-size:var(--screen-kpi-unit-size, 11px);color:#fff;padding-top:12px;opacity:.72;white-space:nowrap}.count-card-icon{position:relative;width:42px;height:42px;margin-right:10px;flex:0 0 42px;background-repeat:no-repeat;background-position:center center;background-size:contain;filter:none}.count-card-icon:before,.count-card-icon:after{content:none}.count-card-icon.icon-xiaoshoujine{background-image:url(./icon1-6f7c222f-balabala-1783905032331.png)}.count-card-icon.icon-zongxiaoliang{background-image:url(./icon2-4f77ccec-balabala-1783905032331.png)}.count-card-icon.icon-stack{background-image:url(./stack-7a426057-balabala-1783905032331.png)}.count-card-icon.icon-area{background-image:url(./area-b57940eb-balabala-1783905032331.png)}.count-card-icon.icon-grass-basic{background-image:url(./area-b57940eb-balabala-1783905032331.png)}.count-card-icon.icon-grass-general{background-image:url(./area-b57940eb-balabala-1783905032331.png)}.count-card-icon.icon-wetland{background-image:url(./leaf-7be9efef-balabala-1783905032331.png)}.count-card-icon.icon-forest{background-image:url(./park-ee0533e0-balabala-1783905032331.png)}.count-card-icon.icon-town{background-image:url(./town-f8c0c9cc-balabala-1783905032331.png)}.count-card-icon.icon-park{background-image:url(./park-ee0533e0-balabala-1783905032331.png)}.count-card-icon.icon-yield{background-image:url(./yield-66e9af79-balabala-1783905032331.png)}.count-card-icon.icon-project{background-image:url(./yield-66e9af79-balabala-1783905032331.png)}.count-card-icon.icon-length{background-image:url(./park-ee0533e0-balabala-1783905032331.png)}.count-card-icon.icon-device{background-image:url(./yield-66e9af79-balabala-1783905032331.png)}.count-card-icon.icon-certificate{background-image:url(./yield-66e9af79-balabala-1783905032331.png)}.count-card-icon.icon-rate{background-image:url(./park-ee0533e0-balabala-1783905032331.png)}.count-card-icon.icon-leaf{background-image:url(./leaf-7be9efef-balabala-1783905032331.png)}.count-card-icon.icon-risk{background-image:url(./leaf-7be9efef-balabala-1783905032331.png)}.count-card-title .title-zh{font-weight:700;font-size:var(--screen-kpi-label-size, 14px);color:#fff;line-height:18px;white-space:nowrap}.count-card-title .title-en{font-family:D-DIN;font-weight:400;font-size:12px;color:#fff;opacity:.5;padding-top:5px;white-space:nowrap}.count-card.is-counting .count-card-icon{filter:none}.count-card.is-counting .count-card-right .value{animation:countCardValueJump .58s ease-in-out infinite}.count-card.is-counting .count-card-right .value:after{opacity:.58;transform:scaleX(1);transition:transform 1.2s ease,opacity .2s ease}.count-card.is-settled .count-card-right .value{animation:countCardValueSettle .72s cubic-bezier(.16,.86,.24,1) both}.map{position:absolute;z-index:1;left:0;top:0;right:0;bottom:0;background-color:#000}.map canvas{display:block;width:100%;height:100%}.map .yak-industry-point-label{width:172px;min-height:72px;margin-bottom:28px;color:#f2feff;font-size:12px;pointer-events:none;will-change:transform}.map .yak-industry-point-label-wrap{position:relative;width:172px;padding:8px 10px 9px;border:1px solid color-mix(in srgb,var(--yak-point-color, #24f6c4) 56%,transparent);border-radius:4px;background:linear-gradient(120deg,rgba(6,37,49,.88),rgba(3,16,27,.76)),linear-gradient(90deg,color-mix(in srgb,var(--yak-point-color, #24f6c4) 18%,transparent),transparent 72%);box-shadow:0 0 18px color-mix(in srgb,var(--yak-point-color, #24f6c4) 26%,transparent),inset 0 0 14px #30dcff14}.map .yak-industry-point-label-wrap:after{content:"";position:absolute;left:14px;bottom:-9px;width:14px;height:14px;border-right:1px solid color-mix(in srgb,var(--yak-point-color, #24f6c4) 52%,transparent);border-bottom:1px solid color-mix(in srgb,var(--yak-point-color, #24f6c4) 52%,transparent);background:rgba(3,16,27,.82);transform:rotate(45deg)}.map .yak-industry-point-label-head,.map .yak-industry-point-label-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.map .yak-industry-point-label-head{color:#daf9ffb3;font-size:10px}.map .yak-industry-point-label-head i{width:7px;height:7px;border-radius:50%;background:var(--yak-point-color, #24f6c4);box-shadow:0 0 10px var(--yak-point-color, #24f6c4)}.map .yak-industry-point-label-head span,.map .yak-industry-point-label-name,.map .yak-industry-point-label-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map .yak-industry-point-label-name{margin-top:5px;color:#fff;font-size:13px;font-weight:800;line-height:1.35}.map .yak-industry-point-label-meta{margin-top:5px;color:#d3f1f6ad;font-size:10px}.map .yak-industry-point-label-meta strong{flex:0 0 auto;color:#c9fbff;font-size:11px;font-weight:800}.map .info-point{color:#eaffff;font-size:13px;width:178px;min-height:82px;margin-bottom:24px;will-change:transform}.map .info-point-wrap{position:relative;width:178px;padding:8px 10px 9px;border:1px solid rgba(104,236,255,.38);border-radius:5px;background:linear-gradient(120deg,rgba(6,36,48,.92),rgba(4,18,29,.78)),rgba(2,16,25,.82);box-shadow:0 0 18px #30dcff33,inset 0 0 18px #27f0c014;transform:translate(42%,-12%)}.map .info-point-wrap-inner{position:relative}.map .info-point-wrap-inner:after,.map .info-point-wrap-inner:before{position:absolute;left:-18px;content:""}.map .info-point-wrap-inner:before{top:42px;width:16px;height:1px;background:linear-gradient(90deg,rgba(104,236,255,0),rgba(104,236,255,.88))}.map .info-point-wrap-inner:after{top:38px;width:7px;height:7px;border-radius:50%;background:#c9fbff;box-shadow:0 0 8px #30dcff80}.map .info-point-wrap.is-prime{border-color:#30dcff80;background:linear-gradient(120deg,rgba(12,65,83,.7),rgba(4,24,34,.82)),rgba(2,16,25,.86)}.map .info-point-head{display:flex;align-items:center;gap:7px;min-width:0}.map .info-point-head .rank{flex:0 0 auto;color:#c9fbff;font-size:12px;line-height:14px;font-weight:900}.map .info-point-head strong{overflow:hidden;color:#fff;font-size:15px;line-height:18px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.map .info-point-metric{margin-top:4px;overflow:hidden;color:#a6f4ffc7;font-size:11px;line-height:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.map .info-point-value{display:flex;align-items:baseline;gap:4px;margin-top:2px}.map .info-point-value span{color:#fff;font-size:25px;line-height:28px;font-weight:900;text-shadow:0 0 12px rgba(126,251,246,.6)}.map .info-point-value em{color:#ebfcffc7;font-size:11px;line-height:13px;font-style:normal;font-weight:800}.map .provinces-label-wrap{transform:translate(50%,200%);opacity:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;width:136px;min-height:58px;border:1px solid rgba(126,251,246,.22);border-radius:8px 8px 8px 0;background:rgba(1,19,30,.62);box-shadow:0 0 16px #30dcff29}.map .provinces-label .label-main{min-width:0}.map .provinces-label .label-title{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7efbf6d1;font-size:10px;line-height:12px;font-weight:500}.map .provinces-label .number{color:#fff;font-size:21px;line-height:25px;font-weight:700}.map .provinces-label .number .unit{color:#fff;font-size:11px;font-weight:400;opacity:.64;padding-left:4px}.map .provinces-label .name{color:#fff;font-size:12px;line-height:14px;font-weight:700;max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map .provinces-label .name span{display:block}.map .provinces-label .name .en{color:#fff;font-size:10px;opacity:.5;font-weight:700}.map .provinces-label .no{color:#7efbf6;text-shadow:0 0 5px #7efbf6,0 0 10px #7efbf6;font-size:22px;font-weight:700;flex:0 0 auto}.map .provinces-label.yellow .no{color:#c9fbff!important;text-shadow:0 0 5px rgba(48,220,255,.42)!important}.map .epidemic-village-label{will-change:transform}.map .epidemic-village-label .epidemic-village-card{position:relative;width:142px;padding:7px 9px 6px;border:1px solid rgba(91,236,235,.42);border-radius:4px;color:#eaffff;background:linear-gradient(90deg,rgba(5,35,45,.92),rgba(2,18,29,.78)),rgba(1,17,27,.86);box-shadow:0 0 16px #2ddeff38,inset 0 0 16px #27f0c014;transform:translate(48%,-12%)}.map .epidemic-village-label .epidemic-village-card:before{position:absolute;left:-10px;top:50%;width:10px;height:1px;content:"";background:linear-gradient(90deg,rgba(91,236,235,0),rgba(91,236,235,.78))}.map .epidemic-village-label .epidemic-village-card:after{position:absolute;left:-14px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;content:"";background:#c9fbff;box-shadow:0 0 8px #30dcff75}.map .epidemic-village-label .epidemic-village-card.is-small{transform:translate(42%,-8%) scale(.92)}.map .epidemic-village-label .village-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.map .epidemic-village-label .village-card-head strong{overflow:hidden;color:#fff;font-size:13px;line-height:16px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.map .epidemic-village-label .village-card-head span{flex:0 0 auto;padding:1px 5px 2px;border:1px solid rgba(39,240,192,.28);border-radius:2px;color:#79f8e5;font-size:10px;line-height:11px;background:rgba(39,240,192,.08)}.map .epidemic-village-label .village-card-body{display:flex;align-items:baseline;gap:3px;margin-top:4px;white-space:nowrap}.map .epidemic-village-label .village-card-body .metric{color:#c9fffbc2;font-size:10px;line-height:12px}.map .epidemic-village-label .village-card-body .number{color:#fff;font-size:20px;line-height:22px;font-weight:900;text-shadow:0 0 10px rgba(126,251,246,.7)}.map .epidemic-village-label .village-card-body .unit{color:#e8fcffcc;font-size:10px;line-height:12px;font-weight:700}.map .epidemic-village-label .village-card-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:3px;color:#e2faff9e;font-size:10px;line-height:11px;white-space:nowrap}.map .trade-market-label,.map .trade-flow-label,.map .trade-national-label{color:#fff;will-change:transform;pointer-events:none}.map .trade-national-name{padding:2px 6px;border:1px solid rgba(72,231,255,.24);border-radius:3px;background:rgba(3,23,35,.42);color:#ffffff9e;font-size:10px;line-height:12px;font-weight:800;text-shadow:0 0 6px rgba(48,220,255,.42);white-space:nowrap;transform:translate(-50%,-50%)}.map .trade-market-card{position:relative;width:128px;padding:6px 8px;border:1px solid rgba(139,247,255,.52);border-radius:4px;background:linear-gradient(110deg,rgba(12,68,78,.58),rgba(4,24,34,.58)),rgba(5,20,30,.58);box-shadow:0 0 10px #30dcff24,inset 0 0 10px #30dcff0f;transform:translate(60%)}.map .trade-market-card:before{position:absolute;left:-14px;top:calc(50% - 1px);width:14px;height:1px;content:"";background:linear-gradient(90deg,rgba(255,221,117,0),rgba(255,221,117,.92))}.map .trade-market-card:after{position:absolute;left:-18px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;content:"";background:#fff06a;box-shadow:0 0 12px #fff06ae6}.map .trade-market-card .market-title{overflow:hidden;color:#fff;font-size:11px;line-height:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.map .trade-market-card .market-total{display:flex;align-items:baseline;gap:4px;margin-top:3px}.map .trade-market-card .market-total span{color:#fff;font-size:15px;line-height:18px;font-weight:900;text-shadow:0 0 10px rgba(255,221,117,.6)}.map .trade-market-card .market-total em{color:#ffffffc2;font-size:10px;line-height:12px;font-style:normal}.map .trade-flow-card{position:relative;width:96px;padding:5px 7px;border:1px solid rgba(85,226,255,.32);border-radius:3px;background:linear-gradient(105deg,rgba(4,37,50,.58),rgba(3,17,27,.48)),rgba(1,17,27,.46);box-shadow:0 0 8px #30dcff1f,inset 0 0 8px #27f0c00d;transform:translate(60%)}.map .trade-flow-card.is-left{transform:translate(-66%)}.map .trade-flow-card.is-left:before{right:-10px;left:auto;background:linear-gradient(90deg,rgba(85,226,255,.84),rgba(85,226,255,0))}.map .trade-flow-card.is-left:after{right:-14px;left:auto}.map .trade-flow-card.is-top{transform:translateY(-108%)}.map .trade-flow-card.is-top:before{left:50%;top:auto;bottom:-10px;width:1px;height:10px;background:linear-gradient(180deg,rgba(85,226,255,.84),rgba(85,226,255,0))}.map .trade-flow-card.is-top:after{left:calc(50% - 3px);top:auto;bottom:-14px}.map .trade-flow-card.is-bottom{transform:translateY(82%)}.map .trade-flow-card.is-bottom:before{left:50%;top:-10px;width:1px;height:10px;background:linear-gradient(180deg,rgba(85,226,255,0),rgba(85,226,255,.84))}.map .trade-flow-card.is-bottom:after{left:calc(50% - 3px);top:-14px}.map .trade-flow-card:before{position:absolute;left:-10px;top:50%;width:10px;height:1px;content:"";background:linear-gradient(90deg,rgba(85,226,255,0),rgba(85,226,255,.84))}.map .trade-flow-card:after{position:absolute;left:-14px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;content:"";background:#30dcff;box-shadow:0 0 10px #30dcffcc}.map .trade-flow-card .flow-head{display:flex;align-items:center;gap:6px;min-width:0}.map .trade-flow-card .flow-head span{flex:0 0 auto;color:#ffe076;font-size:10px;line-height:12px;font-weight:900}.map .trade-flow-card .flow-head strong{overflow:hidden;color:#fff;font-size:10px;line-height:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.map .trade-flow-card .flow-body{display:flex;align-items:baseline;gap:3px;margin-top:2px}.map .trade-flow-card .flow-body em{color:#fff;font-size:13px;line-height:15px;font-style:normal;font-weight:900;text-shadow:0 0 10px rgba(48,220,255,.55)}.map .trade-flow-card .flow-body b{color:#ffffffc2;font-size:10px;line-height:12px}.map .china-label{color:#fff;font-size:14px;font-weight:700;text-shadow:0 0 8px rgba(126,251,246,.8);will-change:transform;z-index:30}.map .china-label .other-label{display:flex;align-items:center;padding:6px 10px;border:1px solid rgba(126,251,246,.35);border-radius:3px;background:rgba(3,21,33,.78);box-shadow:0 0 14px #30dcff33;will-change:transform;white-space:nowrap}.map .china-label .town-stat-label{flex-direction:column;align-items:center;gap:4px;min-width:74px;padding:5px 8px 4px;border-color:#7efbf64d;background:linear-gradient(180deg,rgba(4,33,46,.66),rgba(3,20,32,.56));box-shadow:0 0 10px #30dcff1f;text-align:center;transform:translateY(-50%)}.map .china-label .town-name-row{display:flex;align-items:center;justify-content:center;gap:6px;min-height:18px;line-height:18px}.map .china-label .town-name{color:#fff;font-size:13px;line-height:18px;font-weight:800}.map .china-label .town-rank{display:none;flex:0 0 auto;padding:1px 5px;border:1px solid rgba(126,251,246,.32);border-radius:2px;color:#7efbf6;font-size:10px;line-height:13px;font-weight:700;text-shadow:none;background:rgba(126,251,246,.1)}.map .china-label .town-stat-row{display:none;align-items:baseline;justify-content:center;gap:3px;min-height:18px;line-height:18px}.map .china-label .town-stat-metric{max-width:72px;overflow:hidden;color:#7efbf6e6;font-size:10px;line-height:12px;font-weight:700;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}.map .china-label .town-stat-value{color:#fff;font-size:18px;line-height:18px;font-weight:800;text-shadow:0 0 10px rgba(126,251,246,.72)}.map .china-label .town-stat-unit{color:#e8fcffc2;font-size:10px;line-height:12px;font-weight:600}.map .china-label .town-stat-label.has-stat{min-width:108px}.map .china-label .town-stat-label.has-stat .town-rank,.map .china-label .town-stat-label.has-stat .town-stat-row{display:flex}.map .china-label.blur{filter:none;opacity:1}.map .china-label .label-icon{display:none;width:20px;height:20px;margin:0 10px 0 0}.map .map-label{padding:5px;color:#fff;will-change:transform;font-size:36px;font-weight:700;letter-spacing:4.5px;-webkit-box-reflect:below 0 -webkit-linear-gradient(transparent,transparent 20%,rgba(255,255,255,.3))}.map .map-label .other-label{display:flex;flex-direction:column}.map .map-label span{font-size:46px}.map .map-label span:last-child{font-size:12px;font-weight:400;letter-spacing:0px;color:#a7d5ef}.map .decoration-label .label-icon{display:block;width:40px;height:40px}.map .other-label{transform:translateY(200%);opacity:0;background:none;will-change:transform}.business-stat-list{height:100%;padding:14px 16px;box-sizing:border-box;overflow-y:auto}.business-stat-list::-webkit-scrollbar{width:3px}.business-stat-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-stat-list.is-compact{padding:6px 14px}.business-stat-list.is-compact .business-stat-row{height:30px;gap:8px;grid-template-columns:22px minmax(0,1fr) 104px}.business-stat-list.is-compact .business-stat-rank{width:19px;height:19px;font-size:11px;line-height:17px}.business-stat-list.is-compact .business-stat-name{font-size:12px}.business-stat-list.is-compact .business-stat-bar{height:4px;margin-top:5px}.business-stat-list.is-compact .business-stat-value strong{font-size:15px}.business-stat-list.is-compact .business-stat-value em,.business-stat-list.is-compact .business-stat-value span{font-size:10px}.business-stat-list.is-compact.is-dense{padding:4px 12px 6px}.business-stat-list.is-compact.is-dense .business-stat-row{height:20px;gap:6px;grid-template-columns:19px minmax(0,1fr) 92px}.business-stat-list.is-compact.is-dense .business-stat-rank{width:16px;height:16px;font-size:10px;line-height:14px}.business-stat-list.is-compact.is-dense .business-stat-name{font-size:11px;line-height:13px}.business-stat-list.is-compact.is-dense .business-stat-bar{height:3px;margin-top:2px}.business-stat-list.is-compact.is-dense .business-stat-value strong{font-size:13px;line-height:15px}.business-stat-list.is-compact.is-dense .business-stat-value em{font-size:10px}.business-stat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#e0faffd1;font-size:14px}.business-stat-row{display:grid;grid-template-columns:28px minmax(0,1fr) 96px;align-items:center;gap:10px;height:38px;border-bottom:1px solid rgba(48,220,255,.18)}.business-stat-rank{width:22px;height:22px;border:1px solid rgba(48,220,255,.58);background:rgba(48,220,255,.18);color:#7ff7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;line-height:20px;text-align:center;box-shadow:0 0 4px #30dcff2e}.business-stat-main{min-width:0}.business-stat-name{color:#ecfcfff0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-stat-bar{height:5px;margin-top:7px;background:rgba(48,220,255,.14);overflow:hidden;box-shadow:inset 0 0 0 1px #30dcff0f}.business-stat-bar span{display:block;height:100%;background:linear-gradient(90deg,#14f1b2,#30dcff);box-shadow:0 0 6px #30dcff5c}.business-stat-value{min-width:0;text-align:right}.business-stat-value strong{color:#38f8ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;font-weight:700;text-shadow:0 0 4px rgba(48,220,255,.32)}.business-stat-value em{margin-left:3px;color:#eefdffb8;font-size:11px;font-style:normal}.business-stat-value span{display:block;margin-top:2px;color:#eefdffad;font-size:10px;line-height:12px;white-space:normal}.business-stat-list,.business-stat-list span,.business-stat-list strong,.business-stat-list em,.business-stat-name,.business-stat-rank,.business-stat-empty{color:#fff!important;text-shadow:none!important}.business-panel{width:100%;min-width:0;height:100%;box-sizing:border-box;overflow:hidden}.business-chart-tooltip{position:fixed;z-index:9999;min-width:148px;max-width:220px;padding:8px 10px;pointer-events:none;color:#e5fcffe6;border:1px solid rgba(48,220,255,.44);background:linear-gradient(135deg,rgba(6,33,49,.96),rgba(2,18,30,.92)),radial-gradient(circle at 12% 0%,rgba(36,246,196,.22),transparent 54%);box-shadow:inset 0 0 12px #30dcff14,0 0 10px #30dcff24;backdrop-filter:blur(3px)}.business-chart-tooltip strong{display:block;max-width:100%;color:#fff;font-size:13px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-chart-tooltip span{display:block;margin-top:4px;color:#dcf8ffc7;font-size:12px;line-height:15px;white-space:nowrap}.business-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff85;font-size:14px}@keyframes businessDataPulse{0%,to{filter:brightness(1);box-shadow:0 0 5px #24f6c414}50%{filter:brightness(1.12);box-shadow:0 0 9px #24f6c429}}@keyframes businessDataSweep{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes businessColumnReload{0%,8%{opacity:.46;transform:scaleY(.22);filter:saturate(.82) brightness(.72);box-shadow:0 0 4px #30dcff14}20%{opacity:.82;transform:scaleY(.72);filter:saturate(1.08) brightness(1.02);box-shadow:0 0 7px #30dcff29}34%{opacity:1;transform:scaleY(1);filter:saturate(1.12) brightness(1.06);box-shadow:0 0 9px #30dcff38}54%{opacity:1;transform:scaleY(1);filter:saturate(1.02) brightness(1.02);box-shadow:0 0 7px #30dcff29}to{opacity:.74;transform:scaleY(.9);filter:saturate(.96) brightness(.92);box-shadow:0 0 5px #30dcff1a}}@keyframes businessColumnReloadCap{0%,16%{opacity:0;transform:skew(-36deg) translateY(9px)}30%{opacity:.9;transform:skew(-36deg) translateY(0)}48%,to{opacity:0;transform:skew(-36deg) translateY(-9px)}}@keyframes businessLineFlow{to{stroke-dashoffset:-28}}@keyframes businessDotPulse{0%,to{r:3;opacity:.82}50%{r:4.8;opacity:1}}@keyframes businessActiveDotPulse{0%,to{r:5.2}50%{r:7}}.business-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%;padding:8px 14px 9px;box-sizing:border-box}.business-metric-item{min-width:0;padding:8px 10px;background:linear-gradient(135deg,rgba(22,90,108,.62),rgba(5,26,40,.68));border:1px solid rgba(48,220,255,.18)}.business-metric-item span{display:block;color:#ffffff9e;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-metric-item strong{display:inline-block;margin-top:5px;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:22px;line-height:24px}.business-metric-item em{margin-left:4px;color:#ffffff94;font-size:11px;font-style:normal}.business-icon-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px 10px;height:100%;padding:8px 14px 9px;box-sizing:border-box;overflow:hidden}.business-icon-metric-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:0;padding:7px 8px;box-sizing:border-box;overflow:hidden;border:1px solid rgba(48,220,255,.16);background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02)),linear-gradient(180deg,rgba(8,41,56,.72),rgba(4,20,32,.66))}.business-icon-metric-item:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:#24f6c4;box-shadow:0 0 10px #24f6c4b3}.business-icon-metric-item.is-tone-1:before{background:#32dcff;box-shadow:0 0 10px #32dcffb3}.business-icon-metric-item.is-tone-2:before{background:rgba(48,220,255,.86);box-shadow:0 0 8px #30dcff3d}.business-icon-metric-item.is-tone-3:before{background:rgba(25,255,198,.74);box-shadow:0 0 8px #19ffc633}.business-icon-metric-mark{position:relative;display:block;width:42px;height:42px;border:1px solid rgba(48,220,255,.4);border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(36,246,196,.25),rgba(36,246,196,.04) 64%),linear-gradient(135deg,rgba(48,220,255,.22),rgba(4,24,36,.28));box-shadow:inset 0 0 16px #30dcff29,0 0 12px #30dcff24;overflow:hidden}.business-icon-metric-mark:before,.business-icon-metric-mark:after,.business-icon-metric-mark span,.business-icon-metric-mark span:before,.business-icon-metric-mark span:after{content:"";position:absolute;box-sizing:border-box}.business-icon-metric-mark.is-yield span{left:12px;right:12px;bottom:9px;height:22px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#7dfdff,#20d8ff 54%,rgba(36,246,196,.42));box-shadow:0 0 10px #20d8ff94}.business-icon-metric-mark.is-yield:before,.business-icon-metric-mark.is-yield:after{bottom:9px;width:6px;height:16px;border-radius:6px 6px 3px 3px;background:rgba(126,226,105,.72)}.business-icon-metric-mark.is-yield:before{left:7px}.business-icon-metric-mark.is-yield:after{right:7px}.business-icon-metric-mark.is-leaf span{left:10px;top:10px;width:22px;height:22px;border-radius:22px 4px;background:linear-gradient(135deg,rgba(139,247,255,.92),rgba(48,220,255,.72));transform:rotate(-24deg);box-shadow:0 0 12px #24f6c485}.business-icon-metric-mark.is-leaf span:after{left:10px;top:3px;width:2px;height:18px;border-radius:2px;background:rgba(3,45,43,.5);transform:rotate(44deg)}.business-icon-metric-mark.is-rate:before{left:9px;top:10px;width:24px;height:24px;border:4px solid rgba(50,220,255,.32);border-top-color:#ffffffe0;border-right-color:#24f6c4;border-radius:50%;transform:rotate(38deg)}.business-icon-metric-mark.is-rate span{left:20px;top:20px;width:12px;height:3px;border-radius:3px;background:#ffffff;transform:rotate(-30deg);transform-origin:left center;box-shadow:0 0 8px #fff9}.business-icon-metric-mark.is-risk:before{left:10px;top:9px;width:22px;height:22px;border-left:3px solid rgba(48,220,255,.84);border-bottom:3px solid rgba(48,220,255,.84);transform:rotate(-45deg);box-shadow:-4px 4px 8px #30dcff2e}.business-icon-metric-mark.is-risk span{left:20px;top:13px;width:3px;height:16px;border-radius:3px;background:rgba(255,255,255,.9);box-shadow:0 0 6px #30dcff38}.business-icon-metric-mark.is-town span,.business-icon-metric-mark.is-town span:before,.business-icon-metric-mark.is-town span:after,.business-icon-metric-mark.is-town:before{width:9px;height:9px;border-radius:2px;background:#32dcff;box-shadow:0 0 9px #32dcff80}.business-icon-metric-mark.is-town span{left:10px;top:10px}.business-icon-metric-mark.is-town span:before{left:13px;top:0}.business-icon-metric-mark.is-town span:after{left:0;top:13px}.business-icon-metric-mark.is-town:before{left:23px;top:23px;border:2px solid #24f6c4;background:transparent}.business-icon-metric-mark.is-area:before{left:8px;top:13px;width:26px;height:16px;border:2px solid #24f6c4;transform:skew(-18deg);background:linear-gradient(135deg,rgba(36,246,196,.34),rgba(50,220,255,.06))}.business-icon-metric-mark.is-area span{left:13px;top:19px;width:16px;height:2px;background:#32dcff;box-shadow:0 5px #32dcffb3}.business-icon-metric-mark.is-stack span,.business-icon-metric-mark.is-stack span:before,.business-icon-metric-mark.is-stack span:after{left:10px;width:22px;height:5px;border-radius:5px;background:linear-gradient(90deg,#32dcff,#24f6c4);box-shadow:0 0 9px #24f6c457}.business-icon-metric-mark.is-stack span{top:12px}.business-icon-metric-mark.is-stack span:before{top:8px}.business-icon-metric-mark.is-stack span:after{top:16px;background:linear-gradient(90deg,rgba(139,247,255,.9),rgba(48,220,255,.7))}.business-icon-metric-copy{min-width:0}.business-icon-metric-copy span{display:block;min-width:0;color:#dcf8ffc2;font-size:12px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-icon-metric-copy strong{display:block;margin-top:3px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;line-height:22px;font-weight:800;text-shadow:0 0 14px rgba(48,220,255,.42);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-icon-metric-copy strong em{margin-left:3px;color:#ffffff94;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-spotlight{display:grid;grid-template-columns:142px minmax(0,1fr);gap:12px;height:100%;padding:10px 14px;box-sizing:border-box;overflow:hidden}.business-spotlight-main{position:relative;min-width:0;padding:13px 10px 10px;border:1px solid rgba(48,220,255,.22);background:radial-gradient(circle at 50% 38%,rgba(36,246,196,.26),rgba(36,246,196,.03) 62%),linear-gradient(180deg,rgba(48,220,255,.12),rgba(4,22,34,.36));text-align:center}.business-spotlight-main:before,.business-spotlight-main:after{content:"";position:absolute;left:18px;right:18px;height:1px;background:linear-gradient(90deg,rgba(48,220,255,0),rgba(48,220,255,.8),rgba(48,220,255,0))}.business-spotlight-main:before{top:8px}.business-spotlight-main:after{bottom:8px}.business-spotlight-main span,.business-spotlight-main small{display:block;overflow:hidden;color:#d2f5ffb8;font-size:12px;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.business-spotlight-main strong{display:block;margin:10px 0 6px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:30px;line-height:32px;font-weight:800;text-shadow:0 0 18px rgba(48,220,255,.48);white-space:nowrap}.business-spotlight-main strong em{margin-left:4px;color:#ffffffa3;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:11px;font-style:normal;font-weight:500}.business-spotlight-main small{color:#c9fbffd1}.business-spotlight-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.business-spotlight-chip{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr);grid-template-areas:"dot name" "dot value" "dot note";align-content:center;gap:1px 8px;min-width:0;padding:8px 10px;border:1px solid rgba(48,220,255,.12);background:linear-gradient(90deg,rgba(48,220,255,.09),rgba(48,220,255,.02));box-sizing:border-box}.business-spotlight-chip i{grid-area:dot;align-self:center;width:8px;height:28px;border-left:3px solid #24f6c4}.business-spotlight-chip span,.business-spotlight-chip small{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.business-spotlight-chip span{grid-area:name;color:#ffffffb3;font-size:11px;line-height:14px}.business-spotlight-chip strong{grid-area:value;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:20px;white-space:nowrap}.business-spotlight-chip strong em{margin-left:3px;color:#ffffff8f;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-spotlight-chip small{grid-area:note;color:#c9fbffb8;font-size:10px;line-height:12px}.business-donut{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:stretch;gap:8px;height:100%;padding:7px 13px 8px 14px;box-sizing:border-box}.business-donut.is-dense{grid-template-columns:126px minmax(0,1fr);padding:6px 12px 7px}.business-donut.is-dense .business-donut-visual{width:126px;height:120px}.business-donut.is-dense .business-donut-legend{justify-content:flex-start;gap:3px}.business-donut.is-dense .business-donut-row{min-height:20px;grid-template-columns:12px minmax(0,1fr) 52px 28px;gap:5px}.business-donut.is-dense .business-donut-row span{font-size:11px;line-height:13px}.business-donut.is-dense .business-donut-row strong{font-size:13px;line-height:15px}.business-donut.is-dense .business-donut-row em{font-size:10px}.business-donut.is-variant-ring{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:11px;padding:8px 13px 8px 15px}.business-donut.is-variant-ring .business-donut-legend{justify-content:stretch;gap:6px}.business-donut.is-variant-ring .business-donut-row{flex:1 1 0;grid-template-columns:12px minmax(0,1fr) max-content max-content;gap:5px;min-height:22px;padding:0 1px}.business-donut.is-variant-ring .business-donut-row i{width:8px;height:8px;border-width:2px;background:rgba(5,28,42,.86)}.business-donut.is-variant-ring .business-donut-row strong{font-size:16px;line-height:18px}.business-donut.is-variant-ring.is-dense{grid-template-columns:148px minmax(0,1fr);gap:10px;padding:5px 12px 6px 14px}.business-donut.is-variant-ring.is-dense .business-ring-visual{width:148px;height:148px}.business-donut.is-variant-ring.is-dense .business-ring-chart{width:144px;height:144px}.business-donut.is-variant-ring.is-dense .business-ring-inner{top:37px;right:32px;bottom:35px;left:32px}.business-donut.is-variant-ring.is-dense .business-ring-inner strong{font-size:22px;line-height:24px}.business-donut.is-variant-ring.is-dense .business-ring-inner span{max-width:74px;font-size:11px;line-height:13px}.business-donut.is-variant-ring.is-dense .business-donut-legend{align-self:center;justify-content:center;height:auto;max-height:100%;gap:5px}.business-donut.is-variant-ring.is-dense .business-donut-row{flex:1 1 0;grid-template-columns:10px minmax(0,1fr) max-content max-content;gap:5px;min-height:21px;padding:2px}.business-donut.is-variant-ring.is-dense .business-donut-row i{width:8px;height:8px;border-width:1px}.business-donut.is-variant-ring.is-dense .business-donut-row span{font-size:12px;line-height:15px}.business-donut.is-variant-ring.is-dense .business-donut-row strong{font-size:15px;line-height:17px}.business-donut.is-variant-ring.is-dense .business-donut-row em{font-size:10px}.business-donut-visual{position:relative;align-self:center;width:136px;height:136px;min-width:0}.business-rose{display:grid;grid-template-columns:158px minmax(0,1fr);align-items:center;gap:4px;height:100%;padding:4px 12px 7px 8px;box-sizing:border-box}.business-rose-visual{position:relative;width:158px;height:136px;min-width:0}.business-rose-visual svg{width:100%;height:100%;overflow:visible}.business-rose-segment{opacity:.92;stroke-width:1.5;stroke-opacity:.5;transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,filter .3s ease,transform .3s ease;filter:drop-shadow(0 2px 2px rgba(0,10,18,.34)) drop-shadow(0 0 5px rgba(48,220,255,.18))}.business-rose-segment.is-active{opacity:1;transform:scale(1.035);filter:drop-shadow(0 3px 5px rgba(0,10,18,.42)) drop-shadow(0 0 10px rgba(36,246,196,.42))}.business-rose-guides line{stroke-width:1;stroke-opacity:.5}.business-rose-labels text{fill:#e2fcffad;font-size:10px;font-weight:600;dominant-baseline:middle}.business-rose-glow{fill:#24f6c41a;stroke:#30dcff3d;stroke-width:1;filter:drop-shadow(0 0 8px rgba(36,246,196,.26))}.business-rose-hole{fill:#03121ef0;stroke:#e3fdff38;stroke-width:1.2}.business-rose-legend{gap:6px;padding-right:0}.business-rose-row{grid-template-columns:13px minmax(0,1fr) 56px 28px;gap:7px;min-height:23px}.business-rose-row i{width:10px;height:10px;border-width:1px;box-shadow:0 0 7px currentColor}.business-three-pie{width:100%;height:100%}.business-three-pie-center{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:auto;color:#fff;text-align:center;text-shadow:0 0 10px rgba(0,0,0,.96);pointer-events:none}.business-three-pie-center strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:21px;line-height:22px;font-weight:800;letter-spacing:0;transform:translateY(-2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-three-pie-center span{max-width:86px;margin-top:0;color:#fffffff5;font-size:10px;line-height:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-ring-visual{position:relative;display:flex;align-items:center;justify-content:center;width:132px;height:132px;min-width:0;isolation:isolate}.business-ring-visual:before{content:"";position:absolute;left:11px;right:11px;bottom:12px;height:24px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.24),rgba(48,220,255,0) 72%);filter:blur(2px);pointer-events:none}.business-ring-chart{position:relative;z-index:1;width:128px;height:128px;overflow:visible}.business-ring-halo{fill:#041622e0;stroke:#30dcff29;stroke-width:1;filter:none}.business-ring-track,.business-ring-segment{fill:none;transform:rotate(-90deg);transform-origin:80px 80px}.business-ring-track{stroke:#30dcff1f;stroke-width:22}.business-ring-segment{stroke-width:22;stroke-linecap:round;opacity:.9;transition:stroke-width .35s ease,opacity .35s ease,filter .35s ease;filter:none}.business-ring-segment.is-active{stroke-width:24;opacity:1;filter:none}.business-ring-inner{position:absolute;top:33px;right:30px;bottom:31px;left:30px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:none;pointer-events:none}.business-ring-inner strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:22px;line-height:24px;font-weight:800;letter-spacing:0}.business-ring-inner span{display:none;max-width:70px;margin-top:2px;color:#fffffff0;font-size:11px;line-height:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-donut-legend{display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;gap:7px;overflow-y:auto;padding-right:2px}.business-donut-legend::-webkit-scrollbar{width:3px}.business-donut-legend::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-donut-row{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr) 58px 28px;align-items:center;gap:8px;min-height:24px;padding:0 2px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(48,220,255,.055);transition:background .35s ease,border-color .35s ease}.business-donut-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--row-percent);background:linear-gradient(90deg,var(--row-color),rgba(48,220,255,0));opacity:.2;pointer-events:none}.business-donut-row i{position:relative;z-index:1;width:10px;height:10px;border:2px solid #24f6c4;border-radius:50%;box-sizing:border-box}.business-donut-row span{position:relative;z-index:1;min-width:0;color:#ffffffe0;font-size:13px;line-height:15px;font-weight:700;white-space:normal}.business-donut-row strong{position:relative;z-index:1;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;font-weight:800;line-height:20px;text-align:right}.business-donut-row em{position:relative;z-index:1;color:#ffffff85;font-size:11px;font-style:normal;white-space:nowrap}.business-donut-row.is-active{border-color:#30dcff38;background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04))}.business-donut-row.is-active span,.business-donut-row.is-active strong{color:#fff}.business-donut-row.is-active i{box-shadow:none;transform:scale(1.2)}.business-structure{display:grid;grid-template-rows:32px minmax(0,1fr);gap:7px;height:100%;padding:8px 13px 9px;box-sizing:border-box;overflow:hidden}.business-structure-overview{display:flex;align-items:center;min-width:0}.business-structure-band{display:flex;align-self:center;width:100%;height:25px;padding:4px;background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(36,246,196,.035));border:1px solid rgba(48,220,255,.2);box-shadow:inset 0 0 0 1px #30dcff06}.business-structure-band i{position:relative;display:block;min-width:7px;height:100%;box-shadow:none;overflow:hidden}.business-structure-band i:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);opacity:0;transform:translate(-130%)}.business-structure-band i.is-active{z-index:1}.business-structure-band i.is-active:before{opacity:1;animation:businessDataSweep 1.8s ease-in-out infinite}.business-structure-focus{min-width:0;padding:6px 8px;background:linear-gradient(135deg,rgba(36,246,196,.16),rgba(48,220,255,.05));border:1px solid rgba(48,220,255,.18)}.business-structure-focus span{display:block;color:#ffffff85;font-size:10px;line-height:12px}.business-structure-focus strong{display:block;min-width:0;margin-top:1px;color:#fff;font-size:12px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-structure-focus em{display:inline-block;margin-top:3px;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:17px;line-height:18px;font-style:normal;font-weight:800}.business-structure-focus small{display:block;margin-top:1px;color:#c9fbffd1;font-size:11px;line-height:13px}.business-structure-list{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(22px,1fr);align-content:stretch;gap:5px;min-height:0;overflow:hidden;padding-right:0}.business-structure-list::-webkit-scrollbar{width:3px}.business-structure-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-structure-row{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr) 70px 42px;align-items:center;gap:5px;min-height:0;padding:0 7px;overflow:hidden;background:rgba(48,220,255,.04);border:1px solid rgba(48,220,255,.08);transition:border-color .3s ease,background .3s ease}.business-structure-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--row-percent);background:linear-gradient(90deg,var(--row-color),rgba(48,220,255,0));opacity:.11;pointer-events:none}.business-structure-row i{position:relative;z-index:1;width:7px;height:7px;box-shadow:none}.business-structure-row span{position:relative;z-index:1;min-width:0;color:#ffffffc2;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-structure-row strong{position:relative;z-index:1;color:#dffcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:13px;text-align:right;white-space:nowrap}.business-structure-row strong em{margin-left:2px;color:#ffffff80;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-structure-row small{position:relative;z-index:1;color:#c9fbffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:12px;text-align:right;white-space:nowrap}.business-structure-row.is-active{background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(48,220,255,.04));border-color:#24f6c45c}.business-structure-row.is-active span,.business-structure-row.is-active strong{color:#fff}.business-capacity{display:grid;grid-template-rows:22px 40px minmax(34px,1fr) 18px;gap:5px;height:100%;padding:8px 14px 7px;box-sizing:border-box;overflow:hidden}.business-capacity-head,.business-capacity-town{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0}.business-capacity-head{padding-bottom:3px;border-bottom:1px solid rgba(48,220,255,.12)}.business-capacity-head span,.business-capacity-town span{min-width:0;color:#dcf8ffc2;font-size:11px;line-height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-capacity-head strong,.business-capacity-town strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:16px;font-weight:800;white-space:nowrap;text-shadow:none}.business-capacity-head strong em,.business-capacity-town strong em{margin-left:3px;color:#ffffff8f;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-capacity-band{display:flex;align-self:center;height:32px;padding:5px;border:1px solid rgba(48,220,255,.2);background:linear-gradient(90deg,rgba(48,220,255,.11),rgba(48,220,255,.03));box-shadow:inset 0 0 0 1px #30dcff08}.business-capacity-band i{position:relative;display:block;min-width:8px;height:100%;box-shadow:none;overflow:hidden}.business-capacity-band i:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);opacity:0;transform:translate(-130%)}.business-capacity-band i.is-active{z-index:1}.business-capacity-band i.is-active:before{opacity:1;animation:businessDataSweep 1.8s ease-in-out infinite}.business-capacity-list{display:grid;align-content:center;gap:4px;min-height:0}.business-capacity-row{display:grid;grid-template-columns:9px minmax(0,1fr) 66px 40px;align-items:center;gap:5px;min-width:0}.business-capacity-row i{width:7px;height:7px;box-shadow:none}.business-capacity-row span{min-width:0;color:#ffffffc2;font-size:10px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-capacity-row strong{color:#dffcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:13px;text-align:right;white-space:nowrap}.business-capacity-row strong em{margin-left:2px;color:#ffffff80;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-capacity-row small{color:#c9fbffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:12px;text-align:right;white-space:nowrap}.business-capacity-row.is-active span,.business-capacity-row.is-active strong,.business-capacity-row.is-active small{color:#fff}.business-capacity-row.is-active i{transform:scale(1.24)}.business-capacity-town{min-width:0;padding-top:3px;border-top:1px solid rgba(48,220,255,.1)}.business-capacity-town strong{color:#24f6c4;font-size:12px;line-height:13px;text-shadow:none}.business-bars{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--bar-row-count, 1),minmax(0,1fr));gap:6px;width:100%;min-width:0;height:100%;padding:8px 14px 9px;box-sizing:border-box;overflow:hidden;scrollbar-width:none}.business-bars::-webkit-scrollbar{display:none}.business-bars::-webkit-scrollbar-thumb{background:transparent}.business-bars.is-dense{gap:4px;padding:5px 14px 6px}.business-bars.is-dense .business-bar-row{min-height:0}.business-bars.is-dense .business-bar-name{font-size:11px;line-height:12px}.business-bars.is-dense .business-bar-track{height:5px;margin-top:2px}.business-bars.is-long{gap:2px;padding:3px 14px 4px}.business-bars.is-long .business-bar-row{min-height:0}.business-bars.is-long .business-bar-name{font-size:10px;line-height:11px}.business-bars.is-long .business-bar-track{height:4px;margin-top:1px;padding:1px}.business-bars.is-long .business-bar-row strong{font-size:12px;line-height:12px}.business-bars.is-long .business-bar-row strong em,.business-bars.is-long .business-bar-row strong small{font-size:10px}.business-bars.is-single{gap:5px;padding:6px 14px}.business-bars.is-single .business-bar-row{min-height:22px}.business-bars.is-single .business-bar-name{font-size:11px;line-height:13px}.business-bars.is-single .business-bar-track{height:5px;margin-top:2px;padding:1px}.business-bars.is-single .business-bar-row strong{font-size:13px;line-height:14px}.business-bars.is-single .business-bar-row strong em,.business-bars.is-single .business-bar-row strong small{font-size:10px}.business-bars.is-distribution{gap:4px;padding:6px 14px 7px}.business-bars.is-distribution .business-bar-row{min-height:0;padding:0 0 2px;border-bottom:1px solid rgba(48,220,255,.07)}.business-bars.is-distribution .business-bar-name{position:relative;padding-left:11px;color:#e7faffd6;font-size:11px;line-height:13px}.business-bars.is-distribution .business-bar-name:before{content:"";position:absolute;left:0;top:4px;width:5px;height:5px;border-radius:50%;background:#24f6c4;box-shadow:none}.business-bars.is-distribution .business-bar-track{height:7px;margin-top:4px;padding:1px;border-color:#30dcff2e;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.03))}.business-bars.is-distribution .business-bar-row strong{color:#fff;font-size:12px;line-height:15px;text-shadow:none}.business-bars.is-distribution.is-long{gap:3px;padding:5px 14px 6px}.business-bars.is-distribution.is-long .business-bar-row{min-height:22px}.business-bars.is-distribution.is-long .business-bar-name{font-size:11px;line-height:12px}.business-bars.is-capacity{gap:12px;padding:12px 16px 10px;overflow:hidden}.business-bars.is-capacity .business-bar-row{grid-template-columns:minmax(0,1fr) auto;min-height:24px;padding:0;border-bottom:0}.business-bars.is-capacity .business-bar-name{padding-left:0;color:#e8faffd1;font-size:11px;line-height:13px}.business-bars.is-capacity .business-bar-name:before{display:none}.business-bars.is-capacity .business-bar-track{height:5px;margin-top:5px;padding:1px;border-color:#acbfbc38;background:rgba(115,208,255,.05)}.business-bars.is-capacity .business-bar-track i{min-width:10px;box-shadow:none}.business-bars.is-capacity .business-bar-row strong{color:#24f6c4;font-size:12px;line-height:13px;text-shadow:none}.business-bars.is-rank-bar{gap:2px;padding:3px 14px 2px;overflow:hidden}.business-bars.is-rank-bar .business-bar-row{position:relative;grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"rank name value" "rank track track";align-items:center;min-height:18px;gap:1px 8px;padding:1px 0 2px;border-bottom:1px solid rgba(48,220,255,.075)}.business-bars.is-rank-bar .business-bar-rank{grid-area:rank;display:flex;width:18px;height:18px;align-items:center;justify-content:center;border:1px solid rgba(48,220,255,.28);background:linear-gradient(180deg,rgba(48,220,255,.18),rgba(36,246,196,.055)),rgba(4,28,42,.52);color:#e8fcffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;font-weight:800;box-shadow:inset 0 0 10px #30dcff14}.business-bars.is-rank-bar .business-bar-name{color:#f5fdfff0;font-size:11px;line-height:13px;font-weight:700}.business-bars.is-rank-bar .business-bar-track{position:relative;height:5px;margin-top:0;padding:1px;overflow:hidden;border-color:#30dcff33;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 28px),linear-gradient(90deg,rgba(48,220,255,.13),rgba(36,246,196,.035))}.business-bars.is-rank-bar .business-bar-track i{min-width:12px;box-shadow:inset 0 0 5px #ffffff29}.business-bars.is-rank-bar .business-bar-track i:before{content:"";position:absolute;right:0;top:-2px;width:3px;height:calc(100% + 4px);background:rgba(255,255,255,.86);box-shadow:none}.business-bars.is-rank-bar .business-bar-row strong{color:#fff;font-size:13px;line-height:14px;text-shadow:none}.business-bars.is-rank-bar .business-bar-row strong em,.business-bars.is-rank-bar .business-bar-row strong small{color:#eefdffc7;font-size:10px}.business-bars.is-rank-bar .business-bar-row.is-active .business-bar-rank{border-color:#30dcff7a;color:#c9fbff;box-shadow:inset 0 0 12px #30dcff14,0 0 3px #30dcff14}.business-bars.is-park-bar{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:16px 18px 15px;overflow:hidden}.business-bars.is-park-bar .business-bar-row{grid-template-columns:68px minmax(0,1fr) 88px;grid-template-areas:"name track value";align-items:center;min-height:32px;gap:10px;padding:0;border-bottom:0}.business-bars.is-park-bar .business-bar-name{position:relative;min-width:0;padding-left:13px;overflow:hidden;color:#f6feffeb;font-size:12px;line-height:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.business-bars.is-park-bar .business-bar-name:before{content:"";position:absolute;left:0;top:5px;width:6px;height:6px;background:var(--bar-color, #30dcff);box-shadow:0 0 3px var(--bar-color, #30dcff)}.business-bars.is-park-bar .business-bar-track{position:relative;height:12px;margin-top:0;padding:0;overflow:visible;border:1px solid rgba(48,220,255,.12);background:repeating-linear-gradient(90deg,rgba(216,250,255,.09) 0 1px,transparent 1px 44px),linear-gradient(90deg,rgba(48,220,255,.08),rgba(48,220,255,.025));box-shadow:none}.business-bars.is-park-bar .business-bar-track i{position:relative;height:100%;min-width:14px;box-shadow:inset 0 1px #fff3}.business-bars.is-park-bar .business-bar-track i:after{content:"";position:absolute;right:-2px;top:-2px;width:4px;height:calc(100% + 4px);border-radius:2px;background:rgba(248,255,255,.82);box-shadow:0 0 4px #f8ffff38}.business-bars.is-park-bar .business-bar-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:17px;font-weight:800;text-align:left;white-space:nowrap;text-shadow:0 0 5px rgba(255,255,255,.18)}.business-bars.is-park-bar .business-bar-row strong em{margin-left:3px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:11px;font-style:normal;font-weight:600}.business-bars.is-park-bar .business-bar-row strong small{display:block;margin-top:2px;color:#eefdff9e;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:12px;font-weight:700}.business-bars.is-park-bar .business-bar-row.is-active .business-bar-name,.business-bars.is-park-bar .business-bar-row.is-active strong{color:#fff}.business-bars.is-park-bar .business-bar-row.is-active .business-bar-track i{animation:none}.business-bars.is-race-bar{display:flex;flex-direction:column;justify-content:flex-start;gap:5px;padding:8px 10px 8px 13px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.46) rgba(48,220,255,.08)}.business-bars.is-race-bar::-webkit-scrollbar{width:4px}.business-bars.is-race-bar::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.business-bars.is-race-bar::-webkit-scrollbar-thumb{background:rgba(48,220,255,.46);border-radius:4px}.business-bars.is-race-bar .business-bar-row{grid-template-columns:112px minmax(0,1fr) 96px;grid-template-areas:"name track value";align-items:center;min-height:28px;gap:7px;padding:0;border-bottom:0}.business-bars.is-race-bar .business-bar-name{position:relative;padding-left:13px;color:#f0fdffeb;font-size:11px;line-height:12px;font-weight:700;white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip}.business-bars.is-race-bar .business-bar-name:before{content:"";position:absolute;left:0;top:4px;width:7px;height:7px;background:var(--bar-color, currentColor);box-shadow:none}.business-bars.is-race-bar .business-bar-track{position:relative;height:22px;margin-top:0;padding:0;overflow:visible;border:0;background:repeating-linear-gradient(90deg,rgba(214,250,255,.12) 0 1px,transparent 1px 52px),linear-gradient(90deg,rgba(48,220,255,.08),rgba(48,220,255,.025))}.business-bars.is-race-bar .business-bar-track:before{content:"";position:absolute;left:0;top:-8px;bottom:-8px;width:1px;background:rgba(213,247,255,.32)}.business-bars.is-race-bar .business-bar-track i{position:relative;height:100%;min-width:18px;box-shadow:inset 0 1px #ffffff38}.business-bars.is-race-bar .business-bar-row:nth-child(1) .business-bar-name{color:#24f6c4}.business-bars.is-race-bar .business-bar-row:nth-child(2) .business-bar-name{color:#32dcff}.business-bars.is-race-bar .business-bar-row:nth-child(3) .business-bar-name{color:#8bf7ff}.business-bars.is-race-bar .business-bar-row strong{grid-area:value;color:#fff;font-size:14px;line-height:16px;text-align:left;text-shadow:none}.business-bars.is-race-bar .business-bar-row strong em{margin-left:3px;color:#eefdffb8;font-size:11px}.business-bars.is-race-bar .business-bar-row strong small{display:block;margin:1px 0 0;color:#eefdffb8;font-size:10px;line-height:11px}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation){display:grid;grid-template-rows:repeat(var(--bar-row-count, 1),minmax(0,1fr));align-content:stretch;gap:2px;padding:5px 8px 6px 12px;overflow:hidden;scrollbar-width:none}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row{grid-template-columns:64px minmax(52px,1fr) 90px;grid-template-areas:"name track value";min-height:0;gap:5px;align-items:center}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-name{padding-left:10px;color:#f0fdffe6;font-size:10px;line-height:12px;white-space:nowrap;word-break:keep-all}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-name:before{top:3px;width:5px;height:5px}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-track{height:8px;background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.025))}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-track:before{top:-3px;bottom:-3px;background:rgba(213,247,255,.2)}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-track i{min-width:8px}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row strong{overflow:visible;color:#fff;font-size:12px;line-height:13px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row strong em,.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row strong small{display:inline;margin-left:3px;color:#eefdffb8;font-size:10px;line-height:13px}.business-bars.is-race-bar.is-few-rows{display:flex;justify-content:center;gap:13px;padding:15px 12px 16px 13px}.business-bars.is-race-bar.is-few-rows .business-bar-row{min-height:42px;grid-template-columns:112px minmax(0,1fr) 96px;gap:9px}.business-bars.is-race-bar.is-few-rows .business-bar-name{padding-left:15px;font-size:12px;line-height:15px;word-break:keep-all;white-space:nowrap}.business-bars.is-race-bar.is-few-rows .business-bar-name:before{top:4px;width:8px;height:8px}.business-bars.is-race-bar.is-few-rows .business-bar-track{height:25px}.business-bars.is-race-bar.is-few-rows .business-bar-track:before{top:-9px;bottom:-9px}.business-bars.is-race-bar.is-few-rows .business-bar-row strong{font-size:15px;line-height:17px}.business-bars.is-race-bar.is-few-rows .business-bar-row strong em{font-size:11px}.business-bars.is-race-bar.is-few-rows .business-bar-row strong small{margin-top:2px;font-size:11px;line-height:12px}.business-bars.is-race-bar.is-degradation{display:flex;justify-content:flex-start;gap:10px;padding:13px 15px 9px 14px}.business-bars.is-race-bar.is-degradation .business-bar-row{grid-template-columns:118px minmax(0,1fr) 104px;min-height:38px;gap:10px}.business-bars.is-race-bar.is-degradation .business-bar-name{padding-left:14px;font-size:12px;line-height:15px;word-break:keep-all;white-space:nowrap}.business-bars.is-race-bar.is-degradation .business-bar-name:before{top:4px;width:8px;height:8px}.business-bars.is-race-bar.is-degradation .business-bar-track{height:25px;background:repeating-linear-gradient(90deg,rgba(214,250,255,.1) 0 1px,transparent 1px 44px),linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.025))}.business-bars.is-race-bar.is-degradation .business-bar-track:before{top:-6px;bottom:-6px}.business-bars.is-race-bar.is-degradation .business-bar-row strong{font-size:16px;line-height:17px}.business-bars.is-race-bar.is-degradation .business-bar-row strong em{font-size:12px}.business-bars.is-race-bar.is-degradation .business-bar-row strong small{margin-top:3px;font-size:12px;line-height:13px}.business-bars.is-race-nowrap .business-bar-row{grid-template-columns:172px minmax(0,1fr) 88px;gap:7px}.business-bars.is-race-nowrap .business-bar-name{font-size:12px;line-height:14px;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:clip}.business-bars.is-race-relaxed{justify-content:center;gap:11px;padding:14px 14px 15px}.business-bars.is-race-relaxed .business-bar-row{grid-template-columns:168px minmax(0,1fr) 94px;min-height:42px;gap:8px}.business-bars.is-race-relaxed .business-bar-name{font-size:13px;line-height:16px}.business-bars.is-race-relaxed .business-bar-track{height:27px}.business-bars.is-race-relaxed .business-bar-track:before{top:-10px;bottom:-10px}.business-bars.is-race-relaxed .business-bar-row strong{font-size:15px;line-height:17px}.business-bars.is-race-relaxed .business-bar-row strong small{margin-top:2px;font-size:11px;line-height:12px}.business-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value" "track track";align-items:end;gap:2px 10px;min-height:0;max-height:none}.business-bar-name{grid-area:name;min-width:0;color:#ffffffc7;font-size:12px;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-bar-track{grid-area:track;height:7px;margin-top:4px;padding:2px;background:rgba(48,220,255,.08);border:1px solid rgba(48,220,255,.16)}.business-bar-track i{position:relative;display:block;height:100%;min-width:8px;box-shadow:none;overflow:hidden}.business-bar-track i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);opacity:0;transform:translate(-130%)}.business-bar-row.is-active .business-bar-track i{animation:none}.business-bar-row.is-active .business-bar-track i:after{opacity:0;animation:none}.business-bar-row.is-active .business-bar-name,.business-bar-row.is-active strong{color:#fff}.business-bar-row strong,.business-split-row strong{grid-area:value;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;text-align:right;line-height:15px;white-space:nowrap}.business-bar-row strong em,.business-bar-row strong small,.business-split-row strong em,.business-split-row strong small{margin-left:2px;color:#ffffff8a;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-bar-row strong small,.business-split-row strong small{display:inline;margin-left:4px;line-height:15px;white-space:nowrap}.business-bar-row strong{overflow:hidden;text-overflow:ellipsis}.business-columns{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(28px,1fr));align-items:stretch;gap:5px;height:100%;padding:32px 12px 8px;box-sizing:border-box;overflow:hidden}.business-columns:before{content:"";position:absolute;left:12px;right:12px;top:50px;bottom:41px;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(159,220,230,.22) 0 1px,transparent 1px 17px);opacity:0}.business-columns::-webkit-scrollbar{height:3px}.business-columns::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-columns.is-dense{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));grid-auto-rows:minmax(0,1fr);gap:4px;padding:34px 10px 8px}.business-columns.is-dense .business-column-item{grid-template-rows:minmax(38px,1fr) 28px;min-width:0}.business-columns.is-dense .business-column-item strong{width:100%;font-size:11px;line-height:15px;text-align:center}.business-columns.is-dense .business-column-item span{max-width:100%;font-size:10px;line-height:12px;white-space:nowrap}.business-columns.is-dense .business-column-track{width:8px;height:100%;min-height:20px}.business-columns.is-variant-pin{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));gap:5px;padding:8px 9px 7px}.business-columns.is-variant-pin:before{opacity:.56}.business-columns.is-variant-pin .business-column-item{position:relative;z-index:1;grid-template-rows:minmax(62px,1fr) 26px}.business-columns.is-variant-pin .business-column-item strong{position:relative;z-index:2;min-width:42px;padding-bottom:2px;color:#e8fcff;font-size:11px;line-height:14px;text-shadow:0 0 9px rgba(255,255,255,.36)}.business-columns.is-variant-pin .business-column-item strong:after{content:"";position:absolute;left:50%;bottom:-4px;width:18px;height:1px;border-top:1px dashed rgba(220,250,255,.62);transform:translate(-2px) rotate(12deg);transform-origin:left center}.business-columns.is-variant-pin .business-column-item span{max-width:48px;color:#ebfcffc7;font-size:10px;line-height:11px;-webkit-line-clamp:2}.business-columns.is-variant-pin .business-column-track{width:7px;height:74px;min-height:46px;border:0;background:linear-gradient(180deg,rgba(48,220,255,.07),rgba(48,220,255,.02))}.business-columns.is-variant-pin .business-column-track:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(48,220,255,.22);transform:translate(-50%)}.business-columns.is-variant-pin .business-column-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:21px;height:6px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.34),rgba(48,220,255,0) 72%);transform:translate(-50%)}.business-columns.is-variant-pin .business-column-track i{left:1px;right:1px;border-radius:6px 6px 2px 2px;box-shadow:0 0 3px #32dcff29}.business-columns.is-variant-pin .business-column-track i:before{left:50%;right:auto;top:-6px;width:9px;height:9px;border:2px solid #c9fcff;border-radius:2px;background:rgba(3,27,41,.9);box-shadow:0 0 3px #30dcff2e;transform:translate(-50%) rotate(45deg);filter:none}.business-columns.is-variant-pin .business-column-track i:after{display:none}.business-columns.is-variant-slim{grid-template-columns:repeat(auto-fit,minmax(26px,1fr));gap:6px;padding:24px 10px 6px}.business-columns.is-variant-slim.is-dense{gap:4px;padding:34px 10px 8px}.business-columns.is-variant-slim .business-column-track{width:8px}.business-columns.is-variant-slim .business-column-track i{border-radius:1px 1px 0 0}.business-columns.is-variant-water{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));gap:6px;padding:20px 13px 7px}.business-columns.is-variant-water:before{top:40px;bottom:38px;opacity:.52;background:repeating-linear-gradient(to bottom,rgba(117,232,255,.18) 0 1px,transparent 1px 18px)}.business-columns.is-variant-water .business-column-item{grid-template-rows:minmax(70px,1fr) 30px}.business-columns.is-variant-water .business-column-item strong{color:#f4feff;font-size:11px;line-height:15px;text-shadow:0 0 10px rgba(168,251,255,.36)}.business-columns.is-variant-water .business-column-item span{color:#ebfcffe0;font-size:10px;line-height:12px}.business-columns.is-variant-water .business-column-track{width:10px;min-height:56px;border:0;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,rgba(49,220,255,.11),rgba(47,151,255,.025)),rgba(7,35,52,.34);box-shadow:inset 0 0 10px #31dcff14,0 0 10px #31dcff14}.business-columns.is-variant-water .business-column-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:25px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(168,251,255,.34),rgba(49,220,255,0) 72%);transform:translate(-50%)}.business-columns.is-variant-water .business-column-track i{left:2px;right:2px;min-height:9px;border-radius:10px 10px 3px 3px;box-shadow:0 0 4px #31dcff29,inset 0 1px #ffffff52}.business-columns.is-variant-water .business-column-track i:before{left:50%;right:auto;top:-4px;width:15px;height:6px;border-radius:50%;background:rgba(220,255,255,.88);box-shadow:0 0 3px #a8fbff33;transform:translate(-50%);filter:none}.business-columns.is-variant-water .business-column-track i:after{display:none}.business-columns.is-variant-age{grid-template-columns:repeat(5,minmax(48px,1fr));gap:10px;padding:34px 18px 14px}.business-columns.is-variant-age:before{top:56px;bottom:46px;opacity:.36}.business-columns.is-variant-age .business-column-item{grid-template-rows:minmax(96px,1fr) 28px;min-width:0}.business-columns.is-variant-age .business-column-item strong{width:100%;color:#fff;font-size:13px;line-height:18px;text-align:center}.business-columns.is-variant-age .business-column-item span{max-width:none;color:#ffffffe6;font-size:12px;line-height:16px;white-space:nowrap;-webkit-line-clamp:1}.business-columns.is-variant-age .business-column-track{width:10px;height:92px;min-height:72px;border-color:#30dcff38;background:linear-gradient(180deg,rgba(48,220,255,.1),rgba(48,220,255,.03)),rgba(5,31,44,.38)}.business-columns.is-variant-age .business-column-track i{left:2px;right:2px;min-height:9px;border-radius:3px 3px 0 0}.business-columns.is-variant-projectYear{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:25px 14px 9px 8px}.business-columns.is-variant-projectYear:before{top:47px;bottom:43px;opacity:.42}.business-columns.is-variant-projectYear .business-column-item{grid-template-rows:minmax(90px,1fr) 26px;min-width:0}.business-columns.is-variant-projectYear .business-column-item strong{color:#fff;font-size:11px;line-height:18px;text-align:center;text-shadow:0 0 9px rgba(255,255,255,.28)}.business-columns.is-variant-projectYear .business-column-item span{max-width:none;color:#f0fdffe6;font-size:10px;line-height:15px;white-space:nowrap;-webkit-line-clamp:1}.business-columns.is-variant-projectYear .business-column-track{width:8px;height:92px;min-height:74px;border:1px solid rgba(48,220,255,.18);background:linear-gradient(180deg,rgba(48,220,255,.1),rgba(48,220,255,.025)),rgba(5,29,42,.3);box-shadow:inset 0 0 12px #30dcff14,0 0 10px #30dcff14}.business-columns.is-variant-projectYear .business-column-track:after{content:"";position:absolute;left:50%;bottom:-6px;width:18px;height:8px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.38),rgba(48,220,255,0) 72%);transform:translate(-50%)}.business-columns.is-variant-projectYear .business-column-track i{left:2px;right:2px;min-height:12px;border-radius:4px 4px 1px 1px;box-shadow:0 0 4px #24f6c429,inset 0 1px #ffffff42}.business-columns.is-variant-projectYear .business-column-track i:before{height:8px;top:-5px;transform:skew(-32deg)}.business-columns.is-variant-projectYear .business-column-track i:after{display:none}.business-columns.is-variant-compact{grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:7px;padding:24px 12px 8px}.business-columns.is-variant-compact:before{top:44px;bottom:37px;opacity:.48}.business-columns.is-variant-compact .business-column-item{grid-template-rows:minmax(70px,1fr) 28px}.business-columns.is-variant-compact .business-column-item strong{font-size:12px;line-height:16px}.business-columns.is-variant-compact .business-column-item span{max-width:52px;font-size:10px;line-height:12px;-webkit-line-clamp:2}.business-columns.is-variant-compact .business-column-track{width:8px;min-height:56px;border-color:#24f6c42e;background:linear-gradient(180deg,rgba(36,246,196,.08),rgba(48,220,255,.02)),rgba(4,26,38,.34)}.business-columns.is-variant-compact .business-column-track i{left:2px;right:2px;min-height:10px;border-radius:3px 3px 0 0;box-shadow:0 0 4px #24f6c424,inset 0 1px #ffffff38}.business-columns.is-variant-townCompact{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;padding:26px 10px 8px}.business-columns.is-variant-townCompact:before{top:47px;bottom:50px;opacity:.5}.business-columns.is-variant-townCompact .business-column-item{grid-template-rows:minmax(72px,1fr) 42px;min-width:0}.business-columns.is-variant-townCompact .business-column-item strong{width:max-content;max-width:46px;font-size:10px;line-height:14px;transform:translate(0)}.business-columns.is-variant-townCompact .business-column-item span{align-self:start;max-width:none;height:38px;color:#ffffffe6;font-size:11px;line-height:13px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:0;white-space:nowrap;-webkit-line-clamp:unset}.business-columns.is-variant-townCompact .business-column-track{width:8px;min-height:54px;border-color:#24f6c42e;background:linear-gradient(180deg,rgba(36,246,196,.08),rgba(48,220,255,.02)),rgba(4,26,38,.34)}.business-columns.is-variant-townCompact .business-column-track i{left:2px;right:2px;min-height:9px;border-radius:3px 3px 0 0;box-shadow:0 0 4px #24f6c424,inset 0 1px #ffffff38}.business-columns.is-variant-plain{grid-template-columns:repeat(auto-fit,minmax(25px,1fr));gap:7px;padding:18px 14px 7px}.business-columns.is-variant-plain:before{top:37px;bottom:36px;opacity:.62}.business-columns.is-variant-plain .business-column-item{position:relative;z-index:1;grid-template-rows:minmax(70px,1fr) 28px}.business-columns.is-variant-plain .business-column-item strong{color:#f4fcffe0;font-size:11px;line-height:15px}.business-columns.is-variant-plain .business-column-item span{max-width:44px;color:#ffffffd1;font-size:10px;line-height:12px;-webkit-line-clamp:2}.business-columns.is-variant-plain .business-column-track{width:6px;height:100%;min-height:54px;border:0;background:rgba(67,130,96,.1);box-shadow:none}.business-columns.is-variant-plain .business-column-track i{left:0;right:0;min-height:7px;border-radius:2px 2px 0 0;box-shadow:0 0 3px #24f6c41f,inset 0 1px #ffffff3d}.business-columns.is-variant-plain .business-column-track i:before,.business-columns.is-variant-plain .business-column-track i:after{display:none}.business-columns.is-dense.is-scrollable{display:flex;flex-flow:row nowrap;align-items:stretch;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.46) rgba(48,220,255,.08)}.business-columns.is-dense.is-scrollable::-webkit-scrollbar{height:4px}.business-columns.is-dense.is-scrollable::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.business-columns.is-dense.is-scrollable::-webkit-scrollbar-thumb{background:rgba(48,220,255,.46);border-radius:4px}.business-columns.is-dense.is-scrollable .business-column-item{flex:0 0 54px;width:54px;min-width:54px;height:100%}.business-columns.is-dense.is-scrollable.is-variant-slim .business-column-item{flex-basis:50px;width:50px;min-width:50px}.business-columns.is-dense.is-scrollable.is-variant-plain .business-column-item{flex-basis:48px;width:48px;min-width:48px}.business-columns.has-unit-label{padding-top:44px}.business-columns.has-unit-label:before{top:60px}.business-columns.has-unit-label .business-column-unit{left:12px;right:12px;top:4px;text-align:right}.business-columns.has-unit-label.is-variant-pin{padding-top:38px}.business-columns.has-unit-label.is-variant-pin:before{top:54px}.business-columns.has-unit-label.is-variant-plain,.business-columns.has-unit-label.is-variant-slim,.business-columns.has-unit-label.is-variant-age,.business-columns.has-unit-label.is-variant-townCompact,.business-columns.has-unit-label.is-variant-compact{padding-top:42px}.business-columns.has-unit-label.is-variant-plain:before,.business-columns.has-unit-label.is-variant-slim:before,.business-columns.has-unit-label.is-variant-age:before,.business-columns.has-unit-label.is-variant-townCompact:before,.business-columns.has-unit-label.is-variant-compact:before{top:58px}.business-column-item{display:grid;grid-template-rows:minmax(70px,1fr) 38px;justify-items:center;min-width:0}.business-column-item strong{color:#d9fbff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;white-space:nowrap}.business-column-item strong em{margin-left:2px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-column-item span{align-self:center;max-width:76px;color:#ffffffa8;font-size:10px;line-height:12px;text-align:center;overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.business-column-item.is-active strong,.business-column-item.is-active span{color:#fff}.business-column-item.is-active .business-column-track i{animation:none}.business-column-unit{position:absolute;right:14px;top:2px;z-index:2;padding:1px 6px;background:linear-gradient(90deg,rgba(4,23,34,0),rgba(4,23,34,.72));color:#eefdffb8;font-size:10px;line-height:14px;pointer-events:none}.business-column-trend{position:absolute;left:16px;right:16px;top:45px;bottom:48px;z-index:3;width:calc(100% - 32px);height:calc(100% - 93px);overflow:visible;pointer-events:none}.business-columns.has-unit-label .business-column-trend{top:59px;height:calc(100% - 107px)}.business-column-trend-area{fill:#8bf7ff0e;stroke:none}.business-column-trend-line{fill:none;stroke:#8bf7ffe0;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 6;filter:none}.business-column-trend-dot{fill:#f7feff;stroke:#8bf7ff;stroke-width:1.1;filter:none}.business-columns.is-variant-slim .business-column-track i,.business-columns.is-variant-slim .business-column-item.is-active .business-column-track i{transform:scaleY(1);transform-origin:center bottom;animation:none;animation-delay:var(--column-load-delay, 0s);animation-fill-mode:both;will-change:transform,opacity,filter}.business-columns.is-variant-slim .business-column-track i:before,.business-columns.is-variant-slim .business-column-item.is-active .business-column-track i:before{animation:none;animation-delay:var(--column-load-delay, 0s);animation-fill-mode:both}.business-column-track{position:relative;width:8px;height:72px;align-self:end;background:linear-gradient(180deg,rgba(48,220,255,.08),rgba(48,220,255,.02));border:1px solid rgba(48,220,255,.14)}.business-column-track i{position:absolute;left:0;right:0;bottom:0;min-height:8px;box-shadow:0 0 3px #30dcff24}.business-column-track i:before,.business-column-track i:after{content:"";position:absolute;left:0;right:0;height:7px;background:inherit;transform:skew(-36deg)}.business-column-track i:before{top:-4px;filter:brightness(1.35)}.business-column-track i:after{bottom:-4px;filter:brightness(.72)}.business-column-track .business-column-value{position:absolute;left:50%;bottom:calc(var(--column-percent, 0%) + 8px);z-index:4;min-width:32px;max-width:58px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:14px;font-weight:800;letter-spacing:0;text-align:center;text-shadow:none;white-space:nowrap;transform:translate(-50%);pointer-events:none}.business-column-track .business-column-value em{margin-left:1px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:9px;font-style:normal;font-weight:600}.business-table{display:grid;grid-template-rows:18px minmax(0,1fr);gap:4px;height:100%;padding:7px 12px 8px;box-sizing:border-box;overflow:hidden}.business-table-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:center;padding:0 5px;border:1px solid rgba(48,220,255,.12);background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.03))}.business-table-head-group{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:4px}.business-table-head-group span{color:#beebf5b3;font-size:10px;line-height:16px;white-space:nowrap}.business-table-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:3px 7px;min-height:0}.business-table-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:4px;min-width:0;min-height:0;padding:1px 5px;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035);box-sizing:border-box}.business-table-row:nth-child(2n){background:rgba(36,246,196,.035)}.business-table-row.is-active{border-color:#24f6c457;background:linear-gradient(90deg,rgba(36,246,196,.15),rgba(48,220,255,.04));animation:businessDataPulse 1.8s ease-in-out infinite}.business-table-row.is-active .business-table-name,.business-table-row.is-active strong{color:#fff}.business-table-name{min-width:0;color:#ebfcffc7;font-size:10px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-table-row strong{display:block;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:12px;text-align:right;white-space:nowrap}.business-table-row strong em{display:none}.business-table-value{min-width:0}.business-table-value i{position:relative;display:block;height:3px;min-width:0;margin-top:2px;background:rgba(48,220,255,.08);border:1px solid rgba(48,220,255,.16);overflow:hidden}.business-table-value i b{position:relative;display:block;height:100%;min-width:5px;box-shadow:0 0 10px #30dcff61;overflow:hidden}.business-table-value i b:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);opacity:0;transform:translate(-130%)}.business-table-row.is-active .business-table-value i b:after{opacity:1;animation:businessDataSweep 1.8s ease-in-out infinite}.business-project-table{display:grid;grid-template-rows:28px minmax(0,1fr);gap:7px;height:100%;padding:7px 10px 8px;box-sizing:border-box;overflow:hidden}.business-project-table.is-without-search{grid-template-rows:minmax(0,1fr)}.business-project-table.is-fill-rows .business-project-frame{overflow:hidden}.business-project-table.is-fill-rows .business-project-frame table{height:100%}.business-project-search{min-width:0}.business-project-search input{width:100%;height:28px;padding:0 10px;border:1px solid rgba(48,220,255,.22);outline:none;color:#fff;font-size:12px;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.035));box-sizing:border-box}.business-project-search input::placeholder{color:#e8fcff8f}.business-project-search input:focus{border-color:#24f6c48a;box-shadow:0 0 14px #24f6c424}.business-project-search input::-webkit-search-decoration,.business-project-search input::-webkit-search-cancel-button{display:none}.business-project-frame{position:relative;min-height:0;border:1px solid rgba(48,220,255,.16);background:rgba(5,26,39,.26);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.45) rgba(48,220,255,.08)}.business-project-frame::-webkit-scrollbar{width:5px}.business-project-frame::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.business-project-frame::-webkit-scrollbar-thumb{background:rgba(48,220,255,.44)}.business-project-frame table{width:100%;table-layout:fixed;border-collapse:collapse}.business-project-frame thead{position:sticky;top:0;z-index:2;background:#0d3144;box-shadow:0 1px #30dcff33}.business-project-frame th,.business-project-frame td{height:28px;padding:0 6px;color:#f6feffeb;font-size:11px;line-height:14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid rgba(48,220,255,.09)}.business-project-frame tbody td{height:auto;min-height:32px;padding-top:3px;padding-bottom:3px;line-height:13px;white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip}.business-project-frame th{height:25px;color:#beebf5c7;font-weight:500;background:linear-gradient(90deg,rgba(48,220,255,.16),rgba(48,220,255,.04))}.business-project-frame tbody tr{cursor:pointer;background:rgba(48,220,255,.025);transition:background .18s ease,box-shadow .18s ease}.business-project-frame tbody tr:nth-child(2n){background:rgba(36,246,196,.026)}.business-project-frame tbody tr:hover,.business-project-frame tbody tr:focus-visible,.business-project-frame tbody tr.is-active{outline:none;background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(48,220,255,.055));box-shadow:inset 2px 0 #24f6c4d1}.business-project-frame td:nth-child(2),.business-project-frame td:nth-child(4),.business-project-frame th:nth-child(2),.business-project-frame th:nth-child(4){text-align:right}.business-project-frame th.is-right,.business-project-frame td.is-right{text-align:right}.business-project-frame th.is-center,.business-project-frame td.is-center{text-align:center}.business-project-frame strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:14px;white-space:nowrap}.business-project-frame em{margin-left:2px;color:#eefdffb8;font-size:10px;font-style:normal}.business-project-frame .business-project-locate{color:var(--screen-icon-primary, #30dcff);font-weight:600;text-shadow:0 0 8px var(--screen-icon-glow, rgba(48, 220, 255, .22))}.business-project-frame .business-project-locate-button{display:inline-flex;width:24px;height:24px;padding:0;align-items:center;justify-content:center;border:0;color:var(--screen-icon-primary, #30dcff);cursor:pointer;background:transparent}.business-project-frame .business-project-locate-button:hover,.business-project-frame .business-project-locate-button:focus-visible{outline:none;color:#fff;filter:drop-shadow(0 0 4px var(--screen-icon-glow, rgba(48, 220, 255, .22)))}.business-project-frame .business-project-cell-icon{display:inline-flex;position:relative;width:18px;height:18px;align-items:center;justify-content:center;color:var(--screen-icon-primary, #30dcff);vertical-align:middle}.business-project-frame .business-project-cell-icon--locate{border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.08);box-shadow:0 0 6px var(--screen-icon-glow, rgba(48, 220, 255, .22)),inset 0 0 7px #30dcff1a}.business-project-frame .business-project-cell-icon--locate:before{position:absolute;top:4px;right:4px;bottom:4px;left:4px;content:"";border:1px solid currentColor;border-radius:50%;opacity:.76}.business-project-frame .business-project-cell-icon--locate:after{position:absolute;width:3px;height:3px;content:"";border-radius:50%;background:#ffffff;box-shadow:0 0 7px #ffffffb8}.business-project-frame tbody tr.is-active .business-project-cell-icon--locate{color:var(--screen-icon-primary, #30dcff);background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.1);box-shadow:0 0 7px var(--screen-icon-glow, rgba(48, 220, 255, .22)),inset 0 0 7px #30dcff1f}.business-project-frame tbody tr.is-active .business-project-cell-icon--locate:after{background:#ffffff;box-shadow:0 0 8px #ffffffdb}.business-project-col-name{width:45%}.business-project-col-year{width:13%}.business-project-col-category{width:20%}.business-project-col-scale{width:22%}.business-project-empty{position:absolute;top:25px;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff94;font-size:12px;pointer-events:none}.business-project-ledger{display:grid;grid-template-rows:28px 30px minmax(0,1fr);gap:7px;height:100%;padding:7px 10px 8px;box-sizing:border-box;overflow:hidden}.business-project-ledger__summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-width:0;padding:0 8px;border-left:2px solid #24f6c4;background:linear-gradient(90deg,rgba(36,246,196,.14),rgba(48,220,255,.04))}.business-project-ledger__summary-main{display:flex;align-items:baseline;min-width:0;gap:4px}.business-project-ledger__summary strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;line-height:22px;font-weight:800;text-shadow:0 0 10px rgba(36,246,196,.26)}.business-project-ledger__summary span,.business-project-ledger__summary small{overflow:hidden;color:#dff8ffad;font-size:11px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.business-project-ledger__summary small{color:#c9fbffc2}.business-project-ledger__pager{display:inline-flex;align-items:center;justify-content:end;gap:3px;min-width:0}.business-project-ledger__pager>span{min-width:26px;color:#d8f7fcb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:14px;text-align:center;white-space:nowrap}.business-project-ledger__page-button{display:inline-flex;width:18px;height:18px;padding:0;align-items:center;justify-content:center;border:1px solid rgba(48,220,255,.24);color:#d2f7ffdb;cursor:pointer;background:rgba(48,220,255,.06)}.business-project-ledger__page-button i{display:block;width:5px;height:5px;border-bottom:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(45deg)}.business-project-ledger__page-button.is-next i{transform:rotate(225deg)}.business-project-ledger__page-button:hover:not(:disabled),.business-project-ledger__page-button:focus-visible:not(:disabled){outline:none;border-color:#24f6c4bd;color:#fff;background:rgba(36,246,196,.16)}.business-project-ledger__page-button:disabled{opacity:.3;cursor:default}.business-project-ledger__list{display:grid;grid-template-rows:repeat(var(--ledger-row-count, 15),minmax(0,1fr));padding-bottom:2px;overflow:hidden}.business-project-ledger__row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;min-height:0;padding:5px 5px 5px 9px;border-bottom:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.022);box-sizing:border-box;outline:none}.business-project-ledger__row:nth-child(2n){background:rgba(36,246,196,.025)}.business-project-ledger__row.is-locatable{cursor:pointer}.business-project-ledger__row.is-locatable:hover,.business-project-ledger__row.is-locatable:focus-visible,.business-project-ledger__row.is-active{background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(48,220,255,.055));box-shadow:inset 2px 0 #24f6c4d1}.business-project-ledger__row.is-unlocated{opacity:.66}.business-project-ledger__row .business-project-locate-button{justify-self:center}.business-project-ledger__row.is-active .business-project-cell-icon--locate{color:var(--screen-icon-primary, #30dcff);background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.1);box-shadow:0 0 7px var(--screen-icon-glow, rgba(48, 220, 255, .22)),inset 0 0 7px #30dcff1f}.business-project-ledger__row.is-active .business-project-cell-icon--locate:after{background:#ffffff;box-shadow:0 0 8px #ffffffdb}.business-project-ledger__info{display:grid;min-width:0;gap:4px}.business-project-ledger__info>strong{overflow:hidden;color:#f6fefff5;font-size:13px;line-height:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.business-project-ledger__info>div{min-width:0}.business-project-ledger__info span{display:block;min-width:0;overflow:hidden;color:#cdeff8a8;font-size:11px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.business-project-ledger__unlocated{justify-self:center;color:#d6ebf17a;font-size:10px;line-height:12px;white-space:nowrap}.business-spec-grid{display:grid;grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:6px;height:100%;padding:7px 11px 9px;box-sizing:border-box;overflow:hidden}.business-spec-grid__row{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-template-rows:minmax(18px,1fr) 23px;grid-template-areas:"index name count" "index specs count";column-gap:9px;align-items:center;min-width:0;padding:5px 8px 5px 7px;border:1px solid rgba(48,220,255,.16);border-left:2px solid rgba(36,246,196,.82);background:linear-gradient(90deg,rgba(22,119,135,.2),rgba(48,220,255,.025) 72%),rgba(2,23,35,.26);box-sizing:border-box}.business-spec-grid__row:nth-child(2){border-left-color:#30dcffe6}.business-spec-grid__row:nth-child(3){border-left-color:#8bf7ffc7}.business-spec-grid__index{grid-area:index;display:grid;width:24px;height:24px;place-items:center;align-self:center;border:1px solid rgba(36,246,196,.38);background:rgba(36,246,196,.08);color:#a4ffeceb;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;font-weight:800;line-height:1}.business-spec-grid__row:nth-child(2) .business-spec-grid__index{border-color:#30dcff70;background:rgba(48,220,255,.09);color:#b7f7fff2}.business-spec-grid__row:nth-child(3) .business-spec-grid__index{border-color:#8bf7ff6b;background:rgba(139,247,255,.08);color:#c9fbfff2}.business-spec-grid__name{grid-area:name;min-width:0;overflow:hidden;color:#f4fefff0;font-size:13px;line-height:17px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.business-spec-grid__count{grid-area:count;align-self:stretch;display:flex;min-width:53px;padding-left:10px;align-items:center;border-left:1px solid rgba(48,220,255,.18);color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:25px;line-height:27px;font-weight:800;text-align:right;white-space:nowrap;text-shadow:0 0 11px rgba(48,220,255,.36)}.business-spec-grid__count em{margin-left:2px;color:#e4faffa8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-spec-grid__specs{grid-area:specs;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0}.business-spec-grid__specs>span{display:flex;align-items:baseline;min-width:0;gap:4px;padding:2px 5px;background:rgba(2,33,45,.36)}.business-spec-grid__specs small,.business-spec-grid__specs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-spec-grid__specs small{color:#d3f3faa8;font-size:10px;line-height:11px}.business-spec-grid__specs strong{color:#91faeffa;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:14px;font-weight:800}.business-spec-grid__specs strong em{margin-left:1px;color:#dcf9ff94;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-support-matrix{display:grid;grid-template-rows:16px 24px minmax(0,1fr);gap:4px;height:100%;padding:7px 11px 8px;box-sizing:border-box;overflow:hidden}.business-support-matrix__note{display:block;overflow:hidden;color:#d1f1f89e;font-size:10px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.business-support-matrix__head,.business-support-matrix__body>div{display:grid;grid-template-columns:76px repeat(3,minmax(0,1fr));align-items:center;min-width:0}.business-support-matrix__head{border:1px solid rgba(48,220,255,.17);background:linear-gradient(90deg,rgba(48,220,255,.17),rgba(48,220,255,.06))}.business-support-matrix__head span{min-width:0;padding:0 5px;overflow:hidden;color:#e0f9ffc7;font-size:10px;line-height:13px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.business-support-matrix__head span:first-child{text-align:left}.business-support-matrix.is-with-total .business-support-matrix__head,.business-support-matrix.is-with-total .business-support-matrix__body>div{grid-template-columns:58px 50px repeat(3,minmax(0,1fr))}.business-support-matrix.is-with-total .business-support-matrix__head span:nth-child(2){color:#c9fbffdb}.business-support-matrix.is-with-total .business-support-matrix__total{color:#c9fbff;text-shadow:0 0 8px rgba(48,220,255,.2)}.business-support-matrix__body{display:grid;grid-template-rows:repeat(10,minmax(0,1fr));min-height:0;overflow:hidden;border:1px solid rgba(48,220,255,.1);border-top:0}.business-support-matrix__body>div{min-height:0;border-bottom:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.018)}.business-support-matrix__body>div:nth-child(2n){background:rgba(36,246,196,.025)}.business-support-matrix__body>div:last-child{border-bottom:0}.business-support-matrix__body span,.business-support-matrix__body strong{min-width:0;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-support-matrix__body span{color:#edfdffd9;font-size:11px;line-height:14px}.business-support-matrix__body strong{color:#6df2e7f0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:14px;font-weight:800;text-align:center}.business-stack-columns{display:grid;grid-template-rows:24px minmax(0,1fr);gap:5px;height:100%;padding:8px 12px 6px;box-sizing:border-box;overflow:hidden}.business-stack-columns.is-dense .business-stack-chart{gap:4px}.business-stack-columns.is-dense .business-stack-track{width:18px}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-item{grid-template-rows:16px minmax(42px,1fr) 36px}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-total{grid-row:1}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-track{grid-row:2}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-item>span{grid-row:3}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-total{align-self:end;max-width:100%;overflow:hidden;color:#f5fdfff0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;font-weight:800;line-height:15px;text-align:center;text-overflow:clip;white-space:nowrap;text-shadow:0 0 8px rgba(48,220,255,.3)}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-total em{margin-left:1px;color:#ebfcff9e;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-stack-columns.is-dense.is-with-values:not(.is-variant-dual) .business-stack-item{grid-template-rows:15px minmax(40px,1fr) 36px}.business-stack-columns.is-dense.is-with-values:not(.is-variant-dual) .business-stack-total{font-size:10px;line-height:14px}.business-stack-columns.is-dense.is-with-values:not(.is-variant-dual) .business-stack-total em{display:none}.business-stack-columns.is-variant-dual{grid-template-rows:24px minmax(0,1fr);gap:4px;padding:8px 14px 7px}.business-stack-columns.is-variant-dual .business-stack-legend{justify-content:center;gap:14px;padding-right:0}.business-stack-columns.is-variant-dual .business-stack-legend span{color:#f5fdffe6;font-size:11px;line-height:16px}.business-stack-columns.is-variant-dual .business-stack-legend i{width:8px;height:8px;border-radius:50%}.business-stack-columns.is-variant-dual .business-stack-chart{position:relative;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));align-items:stretch;gap:14px;padding:1px 4px 0}.business-stack-columns.is-variant-dual .business-stack-chart:before{content:"";position:absolute;left:4px;right:4px;top:25px;bottom:31px;background:repeating-linear-gradient(to bottom,rgba(159,220,230,.15) 0 1px,transparent 1px 18px);pointer-events:none}.business-stack-columns.is-variant-dual .business-stack-item{position:relative;z-index:1;grid-template-rows:18px minmax(62px,1fr) 27px;justify-items:center;min-width:0}.business-stack-columns.is-variant-dual .business-stack-item.is-active .business-stack-track i{animation:businessDataPulse 1.8s ease-in-out infinite}.business-stack-columns.is-variant-dual .business-stack-item.is-active span,.business-stack-columns.is-variant-dual .business-stack-item.is-active strong{color:#fff}.business-stack-columns.is-variant-dual .business-stack-total{align-self:end;color:#f5fdffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:16px;white-space:nowrap;text-shadow:0 0 8px rgba(255,255,255,.22)}.business-stack-columns.is-variant-dual .business-stack-total em{margin-left:2px;color:#f5fdffad;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-stack-columns.is-variant-dual .business-stack-track{position:relative;align-self:end;width:25px;height:100%;min-height:58px;max-height:94px;overflow:visible;border:1px solid rgba(48,220,255,.14);background:linear-gradient(180deg,rgba(48,220,255,.09),rgba(48,220,255,.025)),rgba(5,30,42,.24);box-shadow:inset 0 0 10px #30dcff0d}.business-stack-columns.is-variant-dual .business-stack-track:after{content:"";position:absolute;left:50%;bottom:-6px;width:42px;height:8px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.34),rgba(48,220,255,0) 72%);transform:translate(-50%);pointer-events:none}.business-stack-columns.is-variant-dual .business-stack-track i{position:relative;display:block;min-height:3px;box-shadow:0 0 14px color-mix(in srgb,currentColor 44%,transparent),inset 0 1px #ffffff3d}.business-stack-columns.is-variant-dual .business-stack-track i:last-child:before{content:"";position:absolute;left:0;right:0;top:-5px;height:8px;background:inherit;filter:brightness(1.22);transform:skew(-32deg);transform-origin:left bottom}.business-stack-columns.is-variant-dual .business-stack-item span{max-width:60px;color:#fafeffd1;font-size:11px;line-height:13px;white-space:nowrap;-webkit-line-clamp:1}.business-stack-columns.is-variant-parkSlim{grid-template-rows:24px minmax(0,1fr);gap:2px;padding:7px 22px 8px}.business-stack-columns.is-variant-parkSlim .business-stack-legend{justify-content:center;gap:22px;padding-right:0}.business-stack-columns.is-variant-parkSlim .business-stack-legend span{color:#f5fdffe0;font-size:11px;line-height:16px;font-weight:700}.business-stack-columns.is-variant-parkSlim .business-stack-legend i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 3px currentColor}.business-stack-columns.is-variant-parkSlim .business-stack-unit{margin-left:6px;color:#ebfcffc7;font-size:11px;font-weight:700}.business-stack-columns.is-variant-parkSlim .business-stack-chart{position:relative;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:28px;padding:4px 10px 0}.business-stack-columns.is-variant-parkSlim .business-stack-chart:before{content:"";position:absolute;left:8px;right:8px;top:26px;bottom:43px;background:repeating-linear-gradient(to bottom,rgba(194,238,246,.14) 0 1px,transparent 1px 22px);pointer-events:none}.business-stack-columns.is-variant-parkSlim .business-stack-item{position:relative;z-index:1;grid-template-rows:18px minmax(70px,1fr) 42px;min-width:0;overflow:visible}.business-stack-columns.is-variant-parkSlim .business-stack-total{align-self:end;color:#fafefff5;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:16px;font-weight:800;white-space:nowrap;text-shadow:0 0 5px rgba(255,255,255,.2)}.business-stack-columns.is-variant-parkSlim .business-stack-total em{margin-left:2px;color:#ebfcffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-stack-columns.is-variant-parkSlim .business-stack-track{position:relative;align-self:end;width:18px;height:100%;min-height:66px;max-height:100px;overflow:visible;border:0;background:linear-gradient(180deg,rgba(48,220,255,.1),rgba(48,220,255,.035));box-shadow:none}.business-stack-columns.is-variant-parkSlim .business-stack-track:before{content:"";position:absolute;left:50%;bottom:0;width:38px;height:1px;background:linear-gradient(90deg,transparent,rgba(180,248,255,.35),transparent);transform:translate(-50%)}.business-stack-columns.is-variant-parkSlim .business-stack-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:34px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.22),rgba(48,220,255,0) 72%);transform:translate(-50%);pointer-events:none}.business-stack-columns.is-variant-parkSlim .business-stack-track i{position:relative;display:block;min-height:3px;box-shadow:inset 0 1px #ffffff47,0 0 3px color-mix(in srgb,currentColor 32%,transparent)}.business-stack-columns.is-variant-parkSlim .business-stack-track i:first-child{border-radius:0 0 8px 8px}.business-stack-columns.is-variant-parkSlim .business-stack-track i:last-child{border-radius:8px 8px 0 0}.business-stack-columns.is-variant-parkSlim .business-stack-track i:last-child:before{content:"";position:absolute;left:2px;right:2px;top:-4px;height:6px;border-radius:50%;background:rgba(238,255,255,.82);box-shadow:0 0 4px #eeffff5c}.business-stack-columns.is-variant-parkSlim .business-stack-item span{align-self:center;width:18px;height:40px;color:#fafeffeb;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;overflow:visible;-webkit-line-clamp:unset}.business-stack-columns.is-variant-parkSlim .business-stack-item.is-active .business-stack-track i{animation:none}.business-stack-columns.is-variant-parkSlim .business-stack-item.is-active span,.business-stack-columns.is-variant-parkSlim .business-stack-item.is-active strong{color:#fff}.business-stack-legend{display:flex;justify-content:center;gap:9px;min-width:0;overflow:hidden}.business-stack-legend span{display:inline-flex;align-items:center;gap:4px;min-width:0;color:#ffffffd1;font-size:10px;line-height:14px;white-space:nowrap}.business-stack-legend i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px currentColor}.business-stack-unit{align-self:center;margin-left:2px;color:#d8f7fc9e;font-size:10px;line-height:14px;white-space:nowrap}.business-stack-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(24px,1fr));align-items:stretch;gap:6px;min-height:0}.business-stack-item{display:grid;grid-template-rows:minmax(42px,1fr) 36px;justify-items:center;min-width:0}.business-stack-item span{align-self:center;max-width:100%;color:#ffffffb8;font-size:10px;line-height:12px;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-line;word-break:keep-all}.business-stack-track{display:flex;flex-direction:column-reverse;align-self:end;width:20px;height:100%;min-height:48px;max-height:96px;background:linear-gradient(180deg,rgba(48,220,255,.09),rgba(48,220,255,.02));border:1px solid rgba(48,220,255,.12);overflow:hidden}.business-stack-track i{display:block;min-height:2px;box-shadow:0 0 10px #30dcff57}.business-panel.is-column-label-standard .business-columns{grid-template-columns:repeat(auto-fit,minmax(20px,1fr));padding:20px 12px 8px}.business-panel.is-column-label-standard .business-columns.is-dense.is-scrollable{display:grid;grid-template-columns:repeat(auto-fit,minmax(20px,1fr));align-items:stretch;gap:4px;overflow-x:hidden;overflow-y:visible;overscroll-behavior-x:auto;scrollbar-width:none}.business-panel.is-column-label-standard .business-columns.is-dense.is-scrollable::-webkit-scrollbar{display:none}.business-panel.is-column-label-standard .business-columns.is-dense.is-scrollable .business-column-item{flex:none;width:auto;min-width:0;height:auto}.business-panel.is-column-label-standard .business-columns:before{top:36px;bottom:44px}.business-panel.is-column-label-standard .business-columns.is-variant-slim,.business-panel.is-column-label-standard .business-columns.is-variant-plain,.business-panel.is-column-label-standard .business-columns.is-variant-age,.business-panel.is-column-label-standard .business-columns.is-variant-water,.business-panel.is-column-label-standard .business-columns.is-variant-compact{padding-top:20px}.business-panel.is-column-label-standard .business-columns.is-dense,.business-panel.is-column-label-standard .business-columns.is-variant-slim.is-dense{padding-top:22px}.business-panel.is-column-label-standard .business-columns.has-unit-label,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-plain,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-slim,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-age,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-water,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-townCompact,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-compact{padding-top:34px}.business-panel.is-column-label-standard .business-columns.has-unit-label:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-plain:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-slim:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-age:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-water:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-townCompact:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-compact:before{top:50px}.business-panel.is-column-label-standard .business-column-item{position:relative;grid-template-rows:minmax(70px,1fr) 42px;overflow:visible}.business-panel.is-column-label-standard .business-column-item span,.business-panel.is-column-label-standard .business-stack-item span,.business-panel.is-column-label-standard .business-peak-item span{display:block;align-self:center;width:18px;height:42px;max-width:none;color:#ffffffe6;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-line-clamp:unset;word-break:keep-all}.business-panel.is-column-label-standard .business-column-track{align-self:end}.business-panel.is-column-label-standard .business-column-item:after,.business-panel.is-column-label-standard .business-stack-item:after,.business-panel.is-column-label-standard .business-peak-item:after{content:attr(data-hover-value);position:absolute;left:50%;top:0;z-index:8;max-width:128px;padding:4px 8px;border:1px solid rgba(36,246,196,.46);background:rgba(3,24,36,.94);box-shadow:0 0 14px #24f6c442;color:#fff;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transform:translate(-50%,2px);transition:opacity .16s ease,transform .16s ease}.business-panel.is-column-label-standard .business-column-item:hover:after,.business-panel.is-column-label-standard .business-stack-item:hover:after,.business-panel.is-column-label-standard .business-peak-item:hover:after{opacity:1;transform:translate(-50%)}.business-panel.is-column-label-standard .business-peaks,.business-panel.is-column-label-standard .business-peaks.is-dense{grid-template-columns:repeat(auto-fit,minmax(20px,1fr));gap:4px;padding:34px 10px 8px;overflow:hidden}.business-panel.is-column-label-standard .business-peak-item,.business-panel.is-column-label-standard .business-peaks.is-dense .business-peak-item{position:relative;grid-template-rows:minmax(44px,1fr) 42px;min-width:0;overflow:visible}.business-panel.is-column-label-standard .business-peaks.is-dense .business-peak-item span{width:18px;height:42px;max-height:none;line-height:16px;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap}.business-panel.is-column-label-standard .business-peak-stage{align-self:end;min-height:42px}.business-panel.is-column-label-standard .business-peaks.is-dense .business-peak-stage{min-height:42px}.business-panel.is-column-label-standard .business-line{grid-template-rows:minmax(0,1fr) 42px}.business-panel.is-column-label-standard .business-line-labels{align-items:start}.business-panel.is-column-label-standard .business-line-labels span{display:block;justify-self:center;width:18px;height:42px;color:#ffffffe6;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;overflow:hidden;text-overflow:clip;word-break:keep-all}.business-panel.is-column-label-standard .business-stack-columns{grid-template-rows:22px minmax(0,1fr);padding-bottom:7px}.business-panel.is-column-label-standard .business-stack-item{position:relative;grid-template-rows:minmax(44px,1fr) 42px;overflow:visible}.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns{padding-bottom:9px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-column-item,.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-plain .business-column-item{grid-template-rows:minmax(70px,1fr) 28px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-column-item span,.business-panel.is-column-label-standard.is-column-label-horizontal .business-line-labels span{width:auto;height:auto;max-width:58px;color:#ffffffe6;font-size:12px;line-height:14px;writing-mode:horizontal-tb;text-orientation:mixed;white-space:nowrap;overflow:visible;text-overflow:clip}.business-peaks{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;height:100%;padding:8px 15px 7px;box-sizing:border-box;overflow:hidden}.business-peak-unit{right:15px}.business-peaks.is-dense{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:8px 8px 7px}.business-peak-item{display:grid;grid-template-rows:18px minmax(0,1fr) 22px;justify-items:center;min-width:0}.business-peak-item strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:16px;text-shadow:0 0 12px rgba(48,220,255,.45);white-space:nowrap}.business-peak-item strong em{margin-left:2px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-peak-item span{align-self:center;max-width:100%;color:#ffffffad;font-size:10px;line-height:12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-peaks.is-dense .business-peak-item{grid-template-rows:17px minmax(0,1fr) 24px}.business-peaks.is-dense .business-peak-item strong{font-size:11px;line-height:15px;transform:scale(.92);transform-origin:center top}.business-peaks.is-dense .business-peak-item span{line-height:11px;white-space:pre-line;writing-mode:horizontal-tb;max-height:24px}.business-peak-stage{position:relative;width:100%;min-height:62px;align-self:stretch}.business-peak-stage:before{content:"";position:absolute;left:8px;right:8px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(48,220,255,.6),transparent)}.business-peak-stage i{position:absolute;left:50%;bottom:0;width:34px;height:var(--peak-height);min-height:20px;max-height:100%;transform:translate(-50%);background:radial-gradient(ellipse at 50% 100%,var(--peak-color) 0,rgba(36,246,196,.26) 22%,rgba(36,246,196,0) 62%),linear-gradient(180deg,var(--peak-color),rgba(36,246,196,.04));clip-path:polygon(50% 0,68% 32%,78% 100%,22% 100%,32% 32%);filter:drop-shadow(0 0 9px rgba(48,220,255,.42))}.business-peak-stage i:after{content:"";position:absolute;left:50%;top:0;width:5px;height:5px;border-radius:50%;background:#ffffff;box-shadow:0 0 9px var(--peak-color);transform:translate(-50%)}.business-peaks.is-dense .business-peak-stage{min-height:58px}.business-peaks.is-dense .business-peak-stage:before{left:4px;right:4px}.business-peaks.is-dense .business-peak-stage i{width:24px}.business-line{display:grid;grid-template-rows:minmax(0,1fr) 31px;gap:2px;height:100%;padding:6px 10px;box-sizing:border-box;overflow:hidden}.business-line-chart{position:relative;min-height:0;background:linear-gradient(180deg,rgba(48,220,255,.08),rgba(48,220,255,.02));border:1px solid rgba(48,220,255,.1);overflow:visible}.business-line-chart svg{width:100%;height:100%}.business-line-grid{stroke:#ffffff1a;stroke-width:1}.business-line-area{fill:#30dcff21;stroke:none}.business-line-stroke{fill:none;stroke:#8bf7ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 7;animation:businessLineFlow 2.2s linear infinite}.business-line-dot{fill:#fff;stroke:#8bf7ff;stroke-width:1.6;animation:businessDotPulse 2.2s ease-in-out infinite;transition:r .28s ease,fill .28s ease,stroke .28s ease,stroke-width .28s ease,filter .28s ease;transform-box:fill-box;transform-origin:center}.business-line-dot.is-active{r:5.6;fill:#fff;stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(255,255,255,.76)) drop-shadow(0 0 9px rgba(139,247,255,.62));animation:businessActiveDotPulse 1.35s ease-in-out infinite}.business-line-hit{fill:transparent;stroke:transparent;cursor:pointer;pointer-events:all}.business-line-hover-zones{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;z-index:1}.business-line-hover-zones i{display:block;min-width:0;cursor:pointer}.business-line-tooltip{position:absolute;z-index:3;min-width:86px;padding:5px 8px;border:1px solid rgba(48,220,255,.34);background:rgba(3,18,30,.9);box-shadow:0 0 14px #30dcff38;transform:translate(-50%,calc(-100% - 8px));pointer-events:none;transition:left .28s ease,top .28s ease,transform .28s ease}.business-line-tooltip span{display:block;color:#dcf8ffc7;font-size:10px;line-height:12px;white-space:nowrap}.business-line-tooltip strong{display:block;margin-top:2px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:16px;line-height:18px}.business-line-tooltip strong em{margin-left:3px;color:#ffffff9e;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-line-labels{display:grid;gap:2px;min-width:0;align-items:start;min-height:0;overflow:hidden}.business-line-labels span{min-width:0;color:#ffffff9e;font-size:10px;line-height:12px;text-align:center;overflow:visible;text-overflow:clip;white-space:pre-line;writing-mode:horizontal-tb;justify-self:center;max-height:none}.business-heat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px;height:100%;padding:8px 14px 9px;box-sizing:border-box;overflow:hidden}.business-heat.is-dense{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px 10px 9px}.business-heat.is-dense .business-heat-cell{grid-template-rows:12px 16px 22px;gap:2px;padding:6px 4px 5px}.business-heat.is-dense .business-heat-cell strong{font-size:14px;line-height:16px}.business-heat-cell{position:relative;display:grid;grid-template-rows:12px 16px minmax(20px,auto);align-items:center;align-content:center;justify-items:center;gap:3px;min-width:0;min-height:0;padding:6px 5px 5px;border:1px solid rgba(62,226,255,.2);background:linear-gradient(180deg,var(--heat-bg),rgba(48,220,255,.018)),rgba(6,30,45,.32);box-shadow:inset 0 0 0 1px #30dcff06;overflow:hidden}.business-heat-cell i{width:7px;height:7px;border:1px solid var(--heat-color);border-radius:50%;background:rgba(48,220,255,.08);box-shadow:none}.business-heat-cell span{max-width:100%;color:#e2f9ffc7;font-size:10px;line-height:11px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.business-heat-cell strong{max-width:100%;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-heat-cell strong em{margin-left:2px;color:#f6fdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-split{display:grid;grid-template-rows:42px minmax(0,1fr);gap:10px;height:100%;padding:13px 16px;box-sizing:border-box;overflow:hidden}.business-split.is-dense{grid-template-rows:18px minmax(0,1fr);gap:4px;padding:6px 10px}.business-split.is-dense .business-split-band{height:auto}.business-split.is-dense .business-split-list{grid-auto-rows:minmax(0,1fr);height:auto;gap:2px;overflow:hidden}.business-split.is-dense .business-split-row{min-height:0;padding:0 5px}.business-split.is-dense .business-split-row span{font-size:10px;line-height:11px}.business-split.is-dense .business-split-row strong{font-size:11px;line-height:12px}.business-split-band{display:flex;height:auto;padding:3px;background:rgba(48,220,255,.07);border:1px solid rgba(62,226,255,.2)}.business-split-band i{display:block;min-width:8px;height:100%}.business-split-list{display:grid;grid-auto-rows:minmax(26px,1fr);gap:6px;min-height:0;height:auto;overflow-y:auto;padding-right:3px}.business-split-list::-webkit-scrollbar{width:3px}.business-split-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-split-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;padding:0 9px;background:rgba(48,220,255,.035);border:1px solid rgba(62,226,255,.16)}.business-split-row span{display:flex;align-items:center;min-width:0;color:#ffffffb8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-split-row span i{flex:0 0 auto;width:8px;height:8px;margin-right:7px}.business-panel{color:#f4feff}.business-panel-empty{color:#e0faffd1}.business-metric-item,.business-icon-metric-item,.business-spotlight-main,.business-spotlight-chip,.business-structure-focus,.business-structure-row,.business-line-chart,.business-heat-cell,.business-split-row{border-color:#3ce1ff33;background-color:#061e2d61;box-shadow:inset 0 0 0 1px #30dcff0a}.business-metric-item span,.business-icon-metric-copy span,.business-spotlight-main span,.business-spotlight-chip span,.business-donut-row span,.business-structure-focus span,.business-structure-row span,.business-bar-name,.business-column-item span,.business-peak-item span,.business-line-labels span,.business-heat-cell span,.business-split-row span{color:#ecfcffeb}.business-icon-metric-copy strong,.business-spotlight-main strong,.business-donut-row strong,.business-structure-focus strong,.business-structure-row strong,.business-column-item strong,.business-peak-item strong,.business-heat-cell strong{color:#fff;text-shadow:0 0 4px rgba(48,220,255,.28)}.business-metric-item strong,.business-spotlight-chip strong,.business-bar-row strong,.business-split-row strong,.business-structure-focus em{color:#38f8ff;text-shadow:0 0 4px rgba(48,220,255,.32)}.business-metric-item em,.business-icon-metric-copy strong em,.business-spotlight-main strong em,.business-spotlight-chip strong em,.business-donut-row em,.business-structure-row strong em,.business-bar-row strong em,.business-bar-row strong small,.business-heat-cell strong em{color:#eefdffb8}.business-spotlight-main small,.business-spotlight-chip small,.business-structure-focus small,.business-structure-row small{color:#c9fbffeb}.business-bar-track,.business-column-track,.business-split-band{border-color:#48e4ff42;background:rgba(60,225,255,.12);box-shadow:inset 0 0 0 1px #30dcff0d}.business-bar-track i,.business-column-track i,.business-split-band i{box-shadow:0 0 3px #30dcff1f}.business-bars.is-capacity .business-bar-name{color:#ecfcffeb}.business-bars.is-capacity .business-bar-row strong{color:#24f6c4;text-shadow:0 0 4px rgba(36,246,196,.3)}.business-line-grid{stroke:#d5f7ff33}.business-line-area{fill:#30dcff29}.business-line-stroke{filter:drop-shadow(0 0 2px rgba(139,247,255,.42))}.business-line-dot{filter:drop-shadow(0 0 2px rgba(48,220,255,.46))}.business-line-dot.is-active{filter:drop-shadow(0 0 4px rgba(255,255,255,.72)) drop-shadow(0 0 9px rgba(139,247,255,.62))}.business-panel,.business-panel span,.business-panel strong,.business-panel em,.business-panel small{color:#fff;text-shadow:none}.business-panel .business-bar-name,.business-panel .business-donut-row span,.business-panel .business-structure-row span,.business-panel .business-column-item span,.business-panel .business-peak-item span,.business-panel .business-line-labels span,.business-panel .business-heat-cell span,.business-panel .business-split-row span,.business-panel .business-icon-metric-copy span,.business-panel .business-spotlight-chip span,.business-panel .business-bar-row strong,.business-panel .business-split-row strong,.business-panel .business-metric-item strong,.business-panel .business-spotlight-chip strong,.business-panel .business-structure-focus em{color:#fff}.business-panel .business-bar-name,.business-panel .business-bar-row strong,.business-panel .business-bar-row strong em,.business-panel .business-bar-row strong small,.business-panel .business-column-unit,.business-panel .business-donut-row span,.business-panel .business-donut-row strong,.business-panel .business-donut-row em,.business-panel .business-icon-metric-copy span,.business-panel .business-icon-metric-copy strong,.business-panel .business-icon-metric-copy strong em,.business-panel .business-line-labels span,.business-panel .business-metric-item span,.business-panel .business-metric-item strong,.business-panel .business-metric-item em,.business-panel .business-spotlight-main span,.business-panel .business-spotlight-main strong,.business-panel .business-spotlight-main strong em,.business-panel .business-spotlight-main small,.business-panel .business-spotlight-chip span,.business-panel .business-spotlight-chip strong,.business-panel .business-spotlight-chip strong em,.business-panel .business-spotlight-chip small,.business-panel .business-structure-focus span,.business-panel .business-structure-focus strong,.business-panel .business-structure-focus em,.business-panel .business-structure-focus small,.business-panel .business-structure-row span,.business-panel .business-structure-row strong,.business-panel .business-structure-row strong em,.business-panel .business-structure-row small,.business-panel .business-column-item strong,.business-panel .business-peak-item strong,.business-panel .business-heat-cell strong,.business-panel .business-heat-cell strong em,.business-panel .business-split-row strong{color:var(--screen-color-text-strong, #ffffff)!important;text-shadow:none!important}.business-panel .business-column-item span,.business-panel .business-peak-item span,.business-panel .business-heat-cell span,.business-panel .business-split-row span{color:var(--screen-color-text-secondary, rgba(246, 253, 255, .9))!important;text-shadow:none!important}.business-panel .business-column-unit{color:var(--screen-color-text-muted, rgba(240, 252, 255, .86))!important}.business-project-frame th,.business-project-frame td{font-size:var(--screen-table-body-size, 11px)!important;line-height:13px!important}.business-project-frame strong,.business-project-ledger__info>strong,.business-support-matrix__body strong,.business-table-row strong{font-size:var(--screen-table-value-size, 12px)!important;line-height:14px!important}.business-project-ledger__summary strong{font-size:18px!important;line-height:20px!important}.business-project-ledger__info>span,.business-project-ledger__info span,.business-spec-grid__specs small,.business-support-matrix__head span,.business-support-matrix__body span,.business-table-name{font-size:10px!important;line-height:13px!important}.business-spec-grid__name{font-size:11px!important;line-height:14px!important}.business-spec-grid__index{width:22px!important;height:22px!important;font-size:11px!important}.business-spec-grid__count{min-width:46px!important;font-size:20px!important;line-height:22px!important}.business-spec-grid__specs strong{font-size:11px!important;line-height:13px!important}.business-balance-gauge-grid{display:grid;height:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 12px 10px;box-sizing:border-box;overflow:hidden}.business-balance-gauge-grid.is-single{grid-template-columns:minmax(0,1fr);padding:12px 16px 14px}.business-balance-gauge-grid.is-single .business-balance-gauge-card{width:min(230px,100%);justify-self:center;grid-template-rows:30px minmax(92px,1fr) 24px;padding:10px 16px 12px}.business-balance-gauge-grid.is-single .business-balance-gauge-ring{width:min(122px,56%)}.business-balance-gauge-grid.is-single .business-balance-gauge-value strong{font-size:26px;line-height:30px}.business-balance-gauge-grid.is-single .business-balance-gauge-name{font-size:16px}.business-balance-gauge-grid.is-single .business-balance-gauge-extra{display:none}.business-balance-gauge-card{position:relative;display:grid;min-width:0;min-height:0;grid-template-rows:30px minmax(70px,1fr) 22px 16px;justify-items:center;padding:9px 7px 8px;overflow:hidden;border:1px solid rgba(48,220,255,.18);background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 14%,transparent),transparent 55%),linear-gradient(180deg,rgba(48,220,255,.075),rgba(5,27,40,.46));box-shadow:inset 0 0 18px #30dcff12,0 0 #30dcff00;transition:border-color .35s ease,box-shadow .35s ease,background .35s ease}.business-balance-gauge-card:before{position:absolute;top:8px;right:8px;bottom:8px;left:8px;content:"";border:1px solid rgba(255,255,255,.035);pointer-events:none}.business-balance-gauge-card.is-active{border-color:color-mix(in srgb,var(--balance-color) 64%,rgba(48,220,255,.22));background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 20%,transparent),transparent 58%),linear-gradient(180deg,rgba(48,220,255,.095),rgba(5,27,40,.52));box-shadow:inset 0 0 22px #30dcff17,0 0 14px color-mix(in srgb,var(--balance-color) 16%,transparent)}.business-balance-gauge-head{position:relative;z-index:1;display:flex;width:100%;align-items:center;justify-content:center}.business-balance-gauge-head strong{width:100%;overflow:hidden;color:var(--balance-color);font-size:11px;font-weight:900;text-align:center;text-overflow:ellipsis;text-shadow:0 0 8px color-mix(in srgb,var(--balance-color) 34%,transparent);white-space:nowrap}.business-balance-gauge-ring{position:relative;z-index:1;align-self:center;width:min(92px,82%);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 218deg,var(--balance-color) 0 var(--balance-progress),rgba(93,175,199,.18) var(--balance-progress) 100%),rgba(3,23,35,.78);box-shadow:0 0 18px color-mix(in srgb,var(--balance-color) 22%,transparent),inset 0 0 18px #0000006b}.business-balance-gauge-ring:before{position:absolute;top:12px;right:12px;bottom:12px;left:12px;content:"";border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(48,220,255,.12),rgba(3,23,35,.98) 62%),rgba(3,23,35,.96);box-shadow:inset 0 0 12px #0000006b,inset 0 0 0 1px #30dcff14}.business-balance-gauge-ring:after{position:absolute;left:50%;bottom:9px;width:2px;height:16px;content:"";background:rgba(0,10,18,.8);transform:translate(-50%) rotate(35deg);transform-origin:50% 100%;box-shadow:0 0 5px #000a1294}.business-balance-gauge-value{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center}.business-balance-gauge-value strong{color:#fff!important;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:22px;line-height:26px;font-weight:900;text-shadow:0 0 10px color-mix(in srgb,var(--balance-color) 42%,transparent)!important}.business-balance-gauge-value em{margin-left:2px;color:#eefdffc2!important;font-size:11px;font-style:normal;font-weight:800}.business-balance-gauge-name,.business-balance-gauge-extra{position:relative;z-index:1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.business-balance-gauge-name{color:#fff!important;font-size:15px;line-height:21px;font-weight:900;text-shadow:0 0 8px rgba(48,220,255,.18)!important}.business-balance-gauge-extra{color:#eefdffa8!important;font-size:11px;line-height:16px;font-weight:700}.business-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:100%;padding:9px 12px 8px;box-sizing:border-box;overflow:hidden}.business-gauges.is-dense{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px;padding:8px 12px}.business-gauge-item{position:relative;display:grid;grid-template-rows:minmax(0,1fr) 17px 14px;align-items:center;justify-items:center;min-width:0;min-height:0;padding:6px 4px 5px;border:1px solid rgba(48,220,255,.17);background:radial-gradient(circle at 50% 58%,rgba(48,220,255,.15),rgba(48,220,255,.02) 64%),linear-gradient(180deg,rgba(48,220,255,.09),rgba(5,26,39,.34));box-shadow:inset 0 0 18px #30dcff14;overflow:hidden}.business-gauge-item:before{content:"";position:absolute;left:14px;right:14px;bottom:31px;height:18px;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--gauge-color) 48%,transparent),rgba(48,220,255,0));filter:blur(2px);opacity:.58;pointer-events:none}.business-gauge-item.is-active{border-color:color-mix(in srgb,var(--gauge-color) 58%,rgba(48,220,255,.22));box-shadow:inset 0 0 20px #30dcff1a,0 0 10px color-mix(in srgb,var(--gauge-color) 26%,transparent)}.business-gauge-item.is-alert{background:radial-gradient(circle at 50% 58%,rgba(255,191,90,.17),rgba(48,220,255,.02) 66%),linear-gradient(180deg,rgba(48,220,255,.08),rgba(5,26,39,.34))}.business-gauge-item.is-safe{background:radial-gradient(circle at 50% 58%,rgba(36,246,196,.15),rgba(48,220,255,.02) 66%),linear-gradient(180deg,rgba(48,220,255,.08),rgba(5,26,39,.34))}.business-gauge-item.is-low-rate:before{opacity:.34}.business-gauge-item.is-low-rate .business-gauge-progress{stroke-width:6;stroke-linecap:butt;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--gauge-color) 66%,transparent))}.business-gauge-item.is-low-rate .business-gauge-needle{width:18px;height:3px;opacity:.86}.business-gauge-item.is-low-rate .business-gauge-pivot{width:7px;height:7px}.business-gauge-visual{position:relative;align-self:end;width:100%;max-width:116px;height:82px;min-width:0}.business-gauge-visual svg{position:absolute;left:0;top:0;width:100%;height:72px;overflow:visible}.business-gauge-track,.business-gauge-progress,.business-gauge-glow{fill:none;stroke-linecap:round}.business-gauge-track{stroke:#aaeeff2b;stroke-width:10}.business-gauge-progress{stroke:var(--gauge-color);stroke-width:10;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--gauge-color) 72%,transparent))}.business-gauge-glow{stroke:#30dcff29;stroke-width:1.5;stroke-dasharray:3 6}.business-gauge-needle{position:absolute;left:50%;top:64px;width:42px;height:2px;border-radius:2px;background:linear-gradient(90deg,#ffffff 0%,var(--gauge-color) 76%,rgba(255,255,255,0));box-shadow:0 0 7px color-mix(in srgb,var(--gauge-color) 72%,transparent);transform:rotate(var(--needle-rotate));transform-origin:2px 50%}.business-gauge-pivot{position:absolute;left:50%;top:64px;width:9px;height:9px;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:var(--gauge-color);box-shadow:0 0 8px color-mix(in srgb,var(--gauge-color) 72%,transparent);transform:translate(-50%,-50%)}.business-gauge-value{position:absolute;left:0;right:0;top:28px;text-align:center;pointer-events:none}.business-gauge-value strong{display:block;color:#fff!important;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:19px;font-weight:800;text-shadow:0 0 8px rgba(48,220,255,.42)!important;white-space:nowrap}.business-gauge-value strong em{margin-left:2px;color:#eefdffc2!important;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-gauge-value small{display:block;margin-top:2px;color:var(--gauge-color)!important;font-size:10px;line-height:12px;white-space:nowrap}.business-gauge-name,.business-gauge-extra{position:relative;z-index:1;display:block;max-width:100%;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.business-gauge-name{color:#fff!important;font-size:12px;line-height:16px;font-weight:700}.business-gauge-extra{color:#eefdffad!important;font-size:10px;line-height:13px}.business-icon-metric-item{border-color:#30dcff29!important;background:linear-gradient(90deg,rgba(48,220,255,.075),rgba(48,220,255,.02)),linear-gradient(180deg,rgba(8,41,56,.7),rgba(4,20,32,.62))!important}.business-icon-metric-item:before{background:var(--screen-icon-primary, #30dcff)!important;box-shadow:0 0 5px var(--screen-icon-glow, rgba(48, 220, 255, .22))!important}.business-icon-metric-item.is-tone-1:before,.business-icon-metric-item.is-tone-2:before,.business-icon-metric-item.is-tone-3:before{background:var(--screen-icon-primary, #30dcff)!important;box-shadow:0 0 5px var(--screen-icon-glow, rgba(48, 220, 255, .22))!important}.business-icon-metric-mark{width:var(--screen-icon-size, 42px)!important;height:var(--screen-icon-size, 42px)!important;border-color:var(--screen-icon-border, rgba(48, 220, 255, .42))!important;background:radial-gradient(circle at 50% 42%,rgba(48,220,255,.16),rgba(48,220,255,.035) 64%),linear-gradient(135deg,rgba(48,220,255,.15),rgba(4,24,36,.24))!important;box-shadow:inset 0 0 12px #30dcff1a,0 0 5px var(--screen-icon-glow, rgba(48, 220, 255, .22))!important}.business-icon-metric-mark:before,.business-icon-metric-mark:after,.business-icon-metric-mark span,.business-icon-metric-mark span:before,.business-icon-metric-mark span:after{border-color:var(--screen-icon-primary, #30dcff)!important;background:var(--screen-icon-primary, #30dcff)!important;background-color:var(--screen-icon-primary, #30dcff)!important;box-shadow:0 0 4px #30dcff33!important}.business-icon-metric-mark.is-yield span,.business-icon-metric-mark.is-leaf span,.business-icon-metric-mark.is-stack span,.business-icon-metric-mark.is-stack span:before,.business-icon-metric-mark.is-stack span:after{background:linear-gradient(180deg,rgba(139,247,255,.96),rgba(48,220,255,.76))!important}.business-icon-metric-mark.is-rate:before{background:transparent!important;border-width:3px!important;border-color:#30dcffb8!important;border-top-color:#ffffffdb!important}.business-icon-metric-mark.is-area:before{background:linear-gradient(135deg,rgba(48,220,255,.28),rgba(48,220,255,.08))!important}.business-icon-metric-mark.is-risk:before{background:transparent!important;border-left-color:var(--screen-icon-primary, #30dcff)!important;border-bottom-color:var(--screen-icon-primary, #30dcff)!important}.business-project-cell-icon,.business-project-cell-icon--locate,tbody tr.is-active .business-project-cell-icon--locate{color:var(--screen-icon-primary, #30dcff)!important;filter:none!important}.business-project-cell-icon:hover,.business-project-cell-icon:focus-visible{color:#fff!important;filter:none!important}.business-project-cell-icon--locate,tbody tr.is-active .business-project-cell-icon--locate{background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.08)!important;box-shadow:0 0 5px #30dcff3d,inset 0 0 5px #30dcff1a!important}tbody tr.is-active .business-project-cell-icon--locate:after{background:#ffffff!important;box-shadow:0 0 5px #ffffff7a!important}.feature-info{display:block;height:100%;padding:10px 12px 12px;box-sizing:border-box;overflow:hidden}.feature-info-state{height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff85;font-size:14px;text-align:center}.feature-info-state.is-inline{height:190px}.feature-table{display:flex;flex-direction:column;height:100%;max-height:100%;padding-right:5px;overflow-y:auto}.feature-table::-webkit-scrollbar{width:4px}.feature-table::-webkit-scrollbar-thumb{background:rgba(48,220,255,.32)}.feature-row{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:34px;align-items:stretch;border:1px solid rgba(48,220,255,.13);border-top:0;background:rgba(5,24,37,.56)}.feature-row:first-child{border-top:1px solid rgba(48,220,255,.13)}.feature-row span{display:flex;align-items:center;padding:7px 10px;border-right:1px solid rgba(48,220,255,.13);background:rgba(48,220,255,.08);color:#ffffff8f;font-size:12px;line-height:18px}.feature-row strong{display:flex;align-items:center;min-width:0;padding:7px 11px;color:#effcfff0;font-size:13px;font-weight:600;line-height:18px;word-break:break-word}.feature-row:first-child strong,.feature-row:nth-child(2) strong{color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px}.topic-switcher{display:flex;align-items:flex-start;justify-content:center;width:600px;height:52px;padding-top:10px;background:url(./bottom-menu-bg-b465793d-balabala-1783905032331.png) no-repeat center bottom;background-size:100% 52px;pointer-events:all}.topic-switcher-arrow{display:flex;align-items:center;height:30px;margin:0 12px}.topic-switcher-arrow.is-reverse{transform:scaleX(-1)}.topic-switcher-arrow img{animation:arrowAnimate 2s ease-in-out infinite}.topic-switcher-arrow img:last-child{animation:arrowAnimate2 2s ease-in-out infinite}.topic-switcher-menu{display:flex;gap:4px}.topic-switcher-item{position:relative;width:var(--topic-item-width, 112px);height:32px;padding:0;border:0;background:url(./bottom-menu-btn-ee5c8064-balabala-1783905032331.png) no-repeat;background-size:100% 100%;color:#fff;cursor:pointer;overflow:hidden}.topic-switcher-item:hover,.topic-switcher-item.is-active{background:url(./bottom-menu-btn-hover-df33e514-balabala-1783905032331.png) no-repeat;background-size:100% 100%}.topic-switcher .topic-name{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;padding:0 5px;text-align:center;white-space:nowrap}.topic-switcher .topic-name,.topic-switcher .topic-title,.topic-switcher .topic-name small{padding-top:0;font-size:16px;font-weight:700;line-height:18px;background:-webkit-linear-gradient(rgb(117,232,255),rgb(255,255,255));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.topic-switcher .topic-name.has-sub-name{gap:1px}.topic-switcher .topic-name small{display:block;max-width:100%;overflow:hidden;font-size:10px;font-weight:600;line-height:11px;text-overflow:ellipsis}.home-dashboard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c}.home-map-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.home-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 46%,rgba(2,13,20,.16) 76%,rgba(2,12,18,.42) 100%),linear-gradient(90deg,rgba(0,14,24,.24),transparent 22%,transparent 78%,rgba(0,14,24,.24))}.home-bottom-switcher{position:absolute;left:50%;bottom:8px;z-index:10;width:760px;transform:translate(-50%);pointer-events:auto}.home-bottom-switcher .topic-switcher{width:760px}.home-bottom-switcher .topic-switcher-menu{flex:0 0 auto}.home-bottom-switcher .topic-switcher-arrow{display:none}.home-layer-tools{position:absolute;top:auto;right:458px;bottom:72px;left:auto;z-index:7;width:248px;box-sizing:border-box;pointer-events:auto}.home-layer-tools .m-card{width:100%!important;height:430px!important;background:rgba(3,18,30,.54);backdrop-filter:blur(2px)}.home-map-feature-info{position:absolute;z-index:8;pointer-events:auto}.home-map-feature-info .m-card{background:rgba(3,18,30,.58);backdrop-filter:blur(2px)}.home-layer-tree-panel{display:grid;grid-template-rows:minmax(170px,236px) minmax(0,1fr);gap:12px;height:100%;box-sizing:border-box;padding:12px 12px 14px;overflow:hidden}.home-layer-tree-list{display:flex;flex-direction:column;gap:7px;min-height:0;padding-right:4px;overflow-y:auto;scrollbar-width:none}.home-layer-tree-list::-webkit-scrollbar{display:none}.home-layer-tree-group{display:flex;flex-direction:column;gap:6px}.home-layer-tree-parent,.home-layer-tree-child{display:flex;align-items:center;justify-content:space-between;min-width:0;height:27px;flex:0 0 27px;border:1px solid rgba(48,220,255,.22);color:#ffffffbd;font-size:12px;cursor:pointer;background:rgba(3,20,32,.58)}.home-layer-tree-parent span,.home-layer-tree-child span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-layer-tree-child.is-overlay i{border-radius:1px}.home-layer-tree-child.is-overlay.is-active i:after{content:"";display:block;width:4px;height:2px;margin:2px 0 0 1px;border-left:1px solid #08202d;border-bottom:1px solid #08202d;transform:rotate(-45deg)}.home-layer-tree-parent{padding:0 9px;font-weight:700}.home-layer-tree-parent i{width:7px;height:7px;border-right:1px solid rgba(255,255,255,.62);border-bottom:1px solid rgba(255,255,255,.62);transform:rotate(-45deg);transition:transform .18s ease}.home-layer-tree-group.is-open .home-layer-tree-parent i{transform:rotate(45deg) translateY(-2px)}.home-layer-tree-parent.is-active{color:#fff;border-color:#30dcffa8;background:linear-gradient(90deg,rgba(21,121,130,.5),rgba(3,20,32,.78))}.home-layer-tree-children{display:flex;flex-direction:column;gap:6px;padding-left:12px}.home-layer-tree-child{padding:0 9px}.home-layer-tree-child i{width:8px;height:8px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.home-layer-tree-child.is-active{color:#fff;border-color:#30dcffb3;background:linear-gradient(90deg,rgba(21,121,130,.52),rgba(3,20,32,.78))}.home-layer-tree-child.is-active i{border-color:#30dcff;background:#30dcff;box-shadow:0 0 12px #30dcffe0}.home-layer-tree-legend{min-height:0;padding-top:9px;border-top:1px solid rgba(48,220,255,.18);overflow:visible}.home-layer-tree-title{position:relative;margin-bottom:7px;padding-left:10px;color:#dbf9ffe6;font-size:13px;font-weight:600;line-height:16px}.home-layer-tree-title:before{content:"";position:absolute;left:0;top:4px;width:4px;height:8px;background:#30dcff;box-shadow:0 0 10px #30dcffb3}.home-layer-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,96px));justify-content:center;align-content:start;gap:7px 8px;max-height:calc(100% - 24px);padding-right:4px;overflow-y:auto;scrollbar-width:none}.home-layer-legend-grid::-webkit-scrollbar{display:none}.home-layer-legend-grid.is-single{grid-template-columns:minmax(0,128px)}.home-layer-legend-row{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:start;column-gap:6px;min-width:0;min-height:22px;padding:3px 2px;border:1px solid transparent;color:inherit;text-align:left;cursor:pointer;background:transparent}.home-layer-legend-row:disabled{opacity:1}.home-layer-legend-row.is-checkable{grid-template-columns:15px minmax(0,1fr) 12px}.home-layer-legend-row.is-selected{border-color:#30dcff75;background:rgba(48,220,255,.08)}.home-layer-legend-row.is-disabled{cursor:default}.home-layer-legend-swatch{width:12px;height:12px;margin-top:2px;border:1px solid currentColor}.home-layer-legend-name{min-width:0;color:#ecfbffbd;font-size:11px;line-height:16px;word-break:break-all}.home-layer-legend-check{width:7px;height:7px;margin-top:4px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.home-layer-legend-row.is-selected .home-layer-legend-check{border-color:#30dcff;background:#30dcff;box-shadow:0 0 10px #30dcffb8}.home-layer-tree-empty{padding-top:18px;color:#dbf9ff75;font-size:12px;text-align:center}.home-left,.home-right{position:absolute;top:128px;bottom:8px;z-index:5;width:398px;perspective-origin:50% 50%;pointer-events:all}.home-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.home-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.home-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.home-side-stack.is-left{transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(6deg) rotate(0) skew(0) skewY(0);transform-origin:left center}.home-side-stack.is-right{transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(-6deg) rotate(0) skew(0) skewY(0);transform-origin:right center}.home-card{flex:0 0 auto}.home-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff}.home-card .m-card-hd-bg,.home-card .m-card-bd-bg{filter:none}.home-card .m-card-bd-bg:after{content:none}.home-card .m-card-hd-title{color:#fff!important;background:-webkit-linear-gradient(rgb(219,249,255),rgb(169,240,255))!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;font-weight:600!important;filter:none!important;text-shadow:none!important}.home-card-more{display:inline-flex;align-items:center;gap:2px;height:24px;padding:0 4px 0 8px;border:0;color:#dcfaffd1;font-size:11px;line-height:24px;font-weight:700;background:rgba(4,35,51,.72);cursor:pointer}.home-card-more span{color:#30dcff;font-size:18px;line-height:18px}.home-card-more:hover{color:#fff;background:rgba(14,83,106,.82)}.home-more-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(0,8,15,.76);backdrop-filter:blur(3px);pointer-events:auto}.home-more-dialog{display:flex;width:1240px;height:790px;flex-direction:column;padding:20px;border:1px solid rgba(48,220,255,.42);box-sizing:border-box;background:linear-gradient(180deg,rgba(11,47,64,.98),rgba(3,18,30,.99)),rgba(3,18,30,.98);box-shadow:0 0 34px #30dcff2e,inset 0 0 0 1px #ffffff09}.home-more-dialog-head{display:flex;height:56px;flex:0 0 56px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(48,220,255,.2)}.home-more-dialog-head h2,.home-more-dialog-head p{margin:0}.home-more-dialog-head h2{color:#fff;font-size:21px;line-height:27px;font-weight:800}.home-more-dialog-head p{margin-top:3px;color:#def9ffa6;font-size:12px;line-height:16px}.home-more-dialog-head>button{width:34px;height:34px;padding:0;border:1px solid rgba(48,220,255,.32);color:#ebfdffe6;font-size:25px;line-height:30px;background:rgba(48,220,255,.08);cursor:pointer}.home-more-dialog-head>button:hover{border-color:#30dcffb8;color:#fff;background:rgba(48,220,255,.16)}.home-video-modal-grid{display:grid;min-height:0;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0 12px}.home-video-modal-item{min-width:0;min-height:0;height:auto;padding:0;text-align:left}.home-video-modal-item.is-offline{cursor:default;filter:saturate(.52)}.home-video-modal-status{position:absolute;top:10px;right:10px;z-index:5;padding:3px 8px;border-left:2px solid #24f6c4;color:#b9ffe9;font-size:11px;line-height:15px;font-weight:800;background:rgba(1,28,26,.76)}.home-video-modal-item.is-offline .home-video-modal-status{border-left-color:#8bf7ff;color:#ffe6a7;background:rgba(42,31,5,.76)}.home-more-empty{display:flex;flex:1;align-items:center;justify-content:center;color:#def9ff94;font-size:15px}.home-more-pager{display:flex;height:34px;flex:0 0 34px;align-items:center;justify-content:center;gap:12px}.home-more-pager button{height:28px;padding:0 14px;border:1px solid rgba(48,220,255,.28);color:#e8fcffdb;font-size:12px;background:rgba(48,220,255,.08);cursor:pointer}.home-more-pager button:disabled{cursor:not-allowed;opacity:.38}.home-more-pager span{min-width:54px;color:#e8fcffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;text-align:center}.home-balance-dialog{width:1180px;height:610px}.home-balance-modal-grid{display:grid;min-height:0;flex:1;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;padding-top:18px}.home-balance-modal-item{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--balance-color) 44%,rgba(48,220,255,.16));box-sizing:border-box;background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--balance-color) 14%,transparent),transparent 44%),linear-gradient(180deg,rgba(15,57,72,.7),rgba(4,25,38,.78));box-shadow:inset 0 0 20px #30dcff0d}.home-balance-modal-item:before{position:absolute;left:0;top:0;bottom:0;width:3px;content:"";background:var(--balance-color);box-shadow:0 0 10px var(--balance-color)}.home-balance-modal-item p{margin:12px 0 0;color:#e1faffad;font-size:12px;line-height:16px}.home-balance-modal-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-balance-modal-title strong{overflow:hidden;color:#fff;font-size:17px;line-height:22px;text-overflow:ellipsis;white-space:nowrap}.home-balance-modal-title span{overflow:hidden;color:var(--balance-color);font-size:11px;line-height:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.home-balance-modal-value{display:flex;align-items:baseline;margin-top:22px}.home-balance-modal-value strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:36px;line-height:40px;text-shadow:0 0 12px color-mix(in srgb,var(--balance-color) 38%,transparent)}.home-balance-modal-value em{margin-left:3px;color:#ebfdffb8;font-size:13px;font-style:normal}.home-balance-modal-track{height:5px;margin-top:13px;overflow:hidden;background:rgba(113,181,199,.15)}.home-balance-modal-track i{display:block;width:var(--balance-progress);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--balance-color) 62%,transparent),var(--balance-color));box-shadow:0 0 8px var(--balance-color)}.home-chart{width:100%;height:100%}.home-balance-gauge-grid{display:grid;height:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 12px 10px;box-sizing:border-box;overflow:hidden}.home-balance-gauge-card{position:relative;display:grid;min-width:0;min-height:0;grid-template-rows:32px minmax(72px,1fr) 22px 16px;justify-items:center;padding:10px 8px 9px;overflow:hidden;border:1px solid rgba(48,220,255,.18);background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 14%,transparent),transparent 55%),linear-gradient(180deg,rgba(48,220,255,.075),rgba(5,27,40,.46));box-shadow:inset 0 0 18px #30dcff12,0 0 #30dcff00;transition:border-color .35s ease,box-shadow .35s ease,background .35s ease}.home-balance-gauge-card:before{position:absolute;top:9px;right:9px;bottom:9px;left:9px;content:"";border:1px solid rgba(255,255,255,.035);pointer-events:none}.home-balance-gauge-card.is-active{border-color:color-mix(in srgb,var(--balance-color) 64%,rgba(48,220,255,.22));background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 20%,transparent),transparent 58%),linear-gradient(180deg,rgba(48,220,255,.095),rgba(5,27,40,.52));box-shadow:inset 0 0 22px #30dcff17,0 0 14px color-mix(in srgb,var(--balance-color) 16%,transparent)}.home-balance-gauge-head{position:relative;z-index:1;display:flex;width:100%;align-items:center;justify-content:center}.home-balance-gauge-head span,.home-balance-gauge-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-balance-gauge-head span{color:#eefdff94;font-size:10px;font-weight:700}.home-balance-gauge-head strong{width:100%;color:var(--balance-color);font-size:11px;font-weight:900;text-align:center;text-shadow:0 0 8px color-mix(in srgb,var(--balance-color) 34%,transparent)}.home-balance-gauge-ring{position:relative;z-index:1;align-self:center;width:min(94px,78%);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 218deg,var(--balance-color) 0 var(--balance-progress),rgba(93,175,199,.18) var(--balance-progress) 100%),rgba(3,23,35,.78);box-shadow:0 0 18px color-mix(in srgb,var(--balance-color) 22%,transparent),inset 0 0 18px #0000006b}.home-balance-gauge-ring:before{position:absolute;top:12px;right:12px;bottom:12px;left:12px;content:"";border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(48,220,255,.12),rgba(3,23,35,.98) 62%),rgba(3,23,35,.96);box-shadow:inset 0 0 12px #0000006b,inset 0 0 0 1px #30dcff14}.home-balance-gauge-ring:after{position:absolute;left:50%;bottom:9px;width:2px;height:16px;content:"";background:rgba(0,10,18,.8);transform:translate(-50%) rotate(35deg);transform-origin:50% 100%;box-shadow:0 0 5px #000a1294}.home-balance-gauge-value{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center}.home-balance-gauge-value strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:24px;line-height:28px;font-weight:900;text-shadow:0 0 10px color-mix(in srgb,var(--balance-color) 42%,transparent)}.home-balance-gauge-value em{margin-left:2px;color:#eefdffc2;font-size:11px;font-style:normal;font-weight:800}.home-balance-gauge-name,.home-balance-gauge-extra{position:relative;z-index:1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.home-balance-gauge-name{color:#fff;font-size:15px;line-height:21px;font-weight:900;text-shadow:0 0 8px rgba(48,220,255,.18)}.home-balance-gauge-extra{color:#eefdffa8;font-size:11px;line-height:16px;font-weight:700}.home-forecast-trend-card{position:relative;width:100%;height:100%}.home-forecast-kline-chart{padding-top:14px;box-sizing:border-box}.home-forecast-density-switcher{position:absolute;top:0;left:4px;z-index:3;display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(48,220,255,.22);border-radius:3px;background:rgba(4,24,37,.72);box-shadow:inset 0 0 10px #30dcff14}.home-forecast-density-switcher button{min-width:24px;height:18px;padding:0 6px;border:0;border-radius:2px;color:#e2faffa8;font-size:10px;line-height:18px;font-weight:800;background:transparent;cursor:pointer}.home-forecast-density-switcher button.active{color:#041c2b;background:linear-gradient(180deg,#7efbf6,#30dcff);box-shadow:0 0 10px #30dcff6b}.home-video-monitor{position:relative;display:block;height:100%;padding:2px 24px;box-sizing:border-box;pointer-events:auto}.home-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%;min-height:0}.home-video-grid.is-single{grid-template-columns:minmax(0,1fr)}.home-video-screen{position:relative;width:100%;height:100%;margin:0;min-width:0;overflow:hidden;cursor:pointer;border:1px solid rgba(48,220,255,.25);background-color:#020d14;background-position:center;background-size:cover;box-shadow:none}.home-video-screen.is-active{border-color:#7efbf6a8;box-shadow:none}.home-video-screen:not(.is-active){opacity:.88}.home-video-screen.is-playing{background-image:none!important}.home-video-player,.home-video-screen [id$=-wrap],.home-video-player>div,.home-video-screen [id$=-wrap]>div,.home-video-screen [id$=-wrap] div,.home-video-screen [id$=-wrap] .play-window,.home-video-player video,.home-video-player canvas,.home-video-player iframe,.home-video-screen [id$=-wrap] video,.home-video-screen [id$=-wrap] canvas,.home-video-screen [id$=-wrap] iframe{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1;width:100%!important;height:100%!important}.home-video-player{pointer-events:auto}.home-video-screen .loading-container,.home-video-screen .loading-item,.home-video-screen #loading-icon{display:none!important;visibility:hidden!important;pointer-events:none!important}.home-video-nav{position:absolute;top:50%;z-index:6;width:22px;height:42px;border:1px solid rgba(48,220,255,.26);color:#e3fdffe0;font-size:20px;line-height:20px;cursor:pointer;background:linear-gradient(180deg,rgba(48,220,255,.18),rgba(10,39,54,.56));box-shadow:inset 0 0 12px #30dcff1a;transform:translateY(-50%)}.home-video-nav:disabled{cursor:not-allowed;opacity:.38}.home-video-prev{left:18px}.home-video-next{right:18px}.home-video-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%,rgba(0,0,0,.44)),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 5px)}.home-video-screen.is-playing:before{background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 28%,rgba(0,0,0,.24))}.home-video-play{position:absolute;left:50%;top:46%;z-index:4;width:30px;height:30px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(0,0,0,.36);transform:translate(-50%,-50%);box-shadow:none}.home-video-play:after{position:absolute;left:12px;top:8px;width:0;height:0;content:"";border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #ffffff}.home-video-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;padding:0;border:0;cursor:pointer;background:transparent}.home-video-play,.home-video-point-name,.home-video-loading,.home-video-error{pointer-events:none}.home-video-point-name{position:absolute;left:10px;right:10px;bottom:8px;z-index:4;overflow:hidden;padding:4px 8px;border-left:2px solid rgba(69,233,164,.78);color:#fff;font-size:12px;line-height:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,.42)}.home-video-loading,.home-video-error{position:absolute;left:50%;top:50%;z-index:5;min-width:72px;padding:4px 8px;border:1px solid rgba(48,220,255,.32);color:#fff;font-size:11px;line-height:14px;text-align:center;background:rgba(0,0,0,.62);transform:translate(-50%,-50%)}.home-video-error{border-color:#8bf7ff6b;color:#c9fbff}.cesium-map[data-v-ac1e6231]{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#020b12}.cesium-map__viewer[data-v-ac1e6231],.cesium-map__viewer[data-v-ac1e6231] .cesium-viewer,.cesium-map__viewer[data-v-ac1e6231] .cesium-viewer-cesiumWidgetContainer,.cesium-map__viewer[data-v-ac1e6231] .cesium-widget,.cesium-map__viewer[data-v-ac1e6231] canvas{width:100%;height:100%}.cesium-map__viewer[data-v-ac1e6231] canvas{display:block;outline:none}.cesium-map__viewer[data-v-ac1e6231] .cesium-viewer-bottom,.cesium-map__viewer[data-v-ac1e6231] .cesium-widget-credits{display:none!important}.layer-panel{display:grid;grid-template-rows:minmax(150px,210px) minmax(0,1fr);gap:12px;height:100%;box-sizing:border-box;padding:12px 12px 14px;overflow:hidden}.layer-panel.is-legend-only{grid-template-rows:minmax(0,1fr);gap:0;padding:10px 12px 12px}.layer-panel.is-legend-only .layer-panel-legend{padding-top:0;border-top:0}.layer-panel.is-legend-only .layer-panel-section-title{display:none}.layer-panel.is-legend-only .layer-panel-legend-grid{grid-template-columns:1fr;justify-content:stretch;gap:8px;max-height:100%;padding-right:0;overflow:hidden}.layer-panel.is-legend-only .layer-panel-legend-row{min-height:28px;padding:4px 2px}.layer-panel.is-compact{grid-template-rows:auto auto;gap:8px;padding:8px 10px 10px}.layer-panel.is-compact .layer-panel-list{gap:5px;padding-right:0;overflow:visible}.layer-panel.is-compact .layer-panel-item{height:28px;flex-basis:28px;padding:0 9px;font-size:12px}.layer-panel.is-compact .layer-panel-legend{padding-top:7px}.layer-panel.is-compact .layer-panel-section-title{margin-bottom:5px;font-size:12px;line-height:14px}.layer-panel.is-compact .layer-panel-section-title:before{top:3px}.layer-panel.is-compact .layer-panel-legend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;max-height:none;padding-right:0;overflow:visible}.layer-panel.is-compact .layer-panel-legend-grid.is-single{grid-template-columns:1fr}.layer-panel.is-compact .layer-panel-legend-row{min-height:22px;padding:2px 0}.layer-panel.is-compact .legend-name{line-height:14px;-webkit-line-clamp:1}.layer-panel-list{display:flex;flex-direction:column;gap:7px;min-height:0;padding-right:4px;overflow-y:auto}.layer-panel-item{display:flex;align-items:center;justify-content:space-between;height:27px;flex:0 0 27px;padding:0 9px;border:1px solid rgba(48,220,255,.22);background:rgba(3,20,32,.58);color:#ffffffbd;font-size:12px;cursor:pointer}.layer-panel-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-panel-item i{width:8px;height:8px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.layer-panel-item.is-active{color:#fff;border-color:#30dcffb3;background:linear-gradient(90deg,rgba(21,121,130,.52),rgba(3,20,32,.78))}.layer-panel-item.is-checked i{border-color:#30dcff;background:#30dcff;box-shadow:0 0 12px #30dcffe0}.layer-panel-item.is-checked:not(.is-active){color:#ffffffe0;border-color:#30dcff6b;background:rgba(3,20,32,.72)}.layer-panel-item.is-overlay i{border-radius:1px}.layer-panel-item.is-overlay.is-checked i:after{content:"";display:block;width:4px;height:2px;margin:2px 0 0 1px;border-left:1px solid #08202d;border-bottom:1px solid #08202d;transform:rotate(-45deg)}.layer-panel-legend{min-height:0;padding-top:9px;border-top:1px solid rgba(48,220,255,.18);overflow:visible}.layer-panel-section-title{position:relative;margin-bottom:7px;padding-left:10px;color:#dbf9ffe6;font-size:13px;font-weight:600;line-height:16px}.layer-panel-section-title:before{content:"";position:absolute;left:0;top:4px;width:4px;height:8px;background:#30dcff;box-shadow:0 0 10px #30dcffb3}.layer-panel-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,96px));justify-content:center;align-content:start;gap:7px 8px;max-height:calc(100% - 24px);padding-right:4px;overflow-y:auto}.layer-panel-legend-grid.is-single{grid-template-columns:minmax(0,128px)}.layer-panel-legend-row{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:start;column-gap:6px;min-width:0;min-height:22px;padding:3px 2px;border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer}.layer-panel-legend-row:disabled{opacity:1}.layer-panel-legend-row.is-checkable{grid-template-columns:15px minmax(0,1fr) 12px}.layer-panel-legend-row.is-selected{border-color:#30dcff6b;background:rgba(48,220,255,.08)}.layer-panel-legend-row.is-selected .legend-check{border-color:#30dcff;background:#30dcff;box-shadow:0 0 10px #30dcffc2}.layer-panel-legend-row.is-selected .legend-check:after{opacity:1}.layer-panel-legend-row.is-disabled{cursor:default}.layer-panel .legend-swatch{width:15px;height:10px;margin-top:3px;border:1px solid;box-shadow:0 0 12px #30dcff2e}.layer-panel .legend-name{display:-webkit-box;min-width:0;color:#ffffffd1;font-size:12px;line-height:14px;overflow:hidden;word-break:break-all;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.layer-panel .legend-check{position:relative;width:11px;height:11px;margin-top:2px;border:1px solid rgba(255,255,255,.4);border-radius:2px}.layer-panel .legend-check:after{content:"";position:absolute;left:3px;top:1px;width:3px;height:6px;border:solid rgba(3,20,32,.95);border-width:0 1px 1px 0;opacity:0;transform:rotate(45deg)}.layer-panel-empty{color:#ffffff85;line-height:48px;text-align:center}.layer-panel-empty.is-legend{line-height:28px}.layer-panel-list,.layer-panel-legend-grid{scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.42) rgba(48,220,255,.08)}.layer-panel-list::-webkit-scrollbar,.layer-panel-legend-grid::-webkit-scrollbar{width:4px}.layer-panel-list::-webkit-scrollbar-thumb,.layer-panel-legend-grid::-webkit-scrollbar-thumb{background:rgba(48,220,255,.42)}.layer-panel-list::-webkit-scrollbar-track,.layer-panel-legend-grid::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.grassland-ndvi-timeline[data-v-86212a95]{width:680px;height:68px;box-sizing:border-box;padding:8px 12px 9px;border:1px solid rgba(72,226,255,.28);background:linear-gradient(180deg,rgba(6,36,50,.76),rgba(3,18,30,.66)),linear-gradient(90deg,rgba(28,191,255,.08),rgba(38,246,198,.12),rgba(28,191,255,.08));backdrop-filter:blur(6px);box-shadow:inset 0 1px #bbfaff1f,inset 0 0 18px #1cbfff14,0 10px 28px #000c1a57;color:#efffff;pointer-events:all}.grassland-ndvi-timeline.is-dense[data-v-86212a95]{width:740px;height:86px;padding:8px 14px 10px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-head[data-v-86212a95]{margin-bottom:5px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-body[data-v-86212a95]{align-items:start}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-track[data-v-86212a95]{height:52px;margin:0 4px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-line[data-v-86212a95],.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-fill[data-v-86212a95],.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-thumb[data-v-86212a95]{top:13px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark[data-v-86212a95]{width:70px;height:52px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark .grassland-ndvi-timeline-tick[data-v-86212a95]{top:8px;height:12px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark .grassland-ndvi-timeline-label[data-v-86212a95]{top:24px;width:68px;font-size:11px;line-height:15px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark.is-staggered .grassland-ndvi-timeline-label[data-v-86212a95]{top:38px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark.is-active[data-v-86212a95]{z-index:4}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-label[data-v-86212a95]{width:72px;font-size:12px}.grassland-ndvi-timeline-head[data-v-86212a95]{display:flex;align-items:center;justify-content:space-between;height:18px;margin-bottom:8px}.grassland-ndvi-timeline-head span[data-v-86212a95]{position:relative;padding-left:10px;color:#e8fcffdb;font-size:13px;font-weight:700}.grassland-ndvi-timeline-head span[data-v-86212a95]:before{content:"";position:absolute;left:0;top:4px;width:4px;height:10px;background:#26f6c6;box-shadow:0 0 10px #26f6c6b8}.grassland-ndvi-timeline-head strong[data-v-86212a95]{color:#29ffcf;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;line-height:18px;letter-spacing:0;text-shadow:0 0 12px rgba(41,255,207,.42)}.grassland-ndvi-timeline-state[data-v-86212a95]{display:flex;align-items:center;justify-content:center;height:30px;color:#e4fbffad;font-size:13px}.grassland-ndvi-timeline-body[data-v-86212a95]{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:12px}.grassland-ndvi-timeline-nav[data-v-86212a95]{width:28px;height:28px;padding:0;border:1px solid rgba(72,226,255,.34);background:rgba(7,35,48,.68);color:#e6fdffe0;font-size:22px;line-height:20px;cursor:pointer;outline:none}.grassland-ndvi-timeline-nav[data-v-86212a95]:hover,.grassland-ndvi-timeline-nav[data-v-86212a95]:focus-visible{color:#fff;border-color:#30dcffc7;box-shadow:0 0 12px #30dcff42}.grassland-ndvi-timeline-track[data-v-86212a95]{position:relative;height:34px;margin:0 8px}.grassland-ndvi-timeline-line[data-v-86212a95],.grassland-ndvi-timeline-fill[data-v-86212a95]{position:absolute;left:var(--timeline-edge-offset);top:8px;height:3px;border-radius:999px}.grassland-ndvi-timeline-line[data-v-86212a95]{right:var(--timeline-edge-offset);background:rgba(90,199,228,.28);box-shadow:inset 0 0 8px #00071247}.grassland-ndvi-timeline-fill[data-v-86212a95]{right:auto;width:var(--timeline-fill-width);background:linear-gradient(90deg,#35bff8,#29ffcf);box-shadow:0 0 12px #29ffcf5c}.grassland-ndvi-timeline-thumb[data-v-86212a95]{position:absolute;z-index:3;left:var(--timeline-active-left);top:8px;width:0;height:0;pointer-events:none;transform:translate(-50%)}.grassland-ndvi-timeline-thumb i[data-v-86212a95]{content:"";position:absolute;left:-9px;top:-9px;width:18px;height:18px;box-sizing:border-box;border:2px solid rgba(240,255,255,.92);border-radius:50%;background:#29ffcf;box-shadow:0 0 0 5px #29ffcf1f,0 0 18px #29ffcfa8}.grassland-ndvi-timeline-mark[data-v-86212a95]{position:absolute;z-index:2;top:0;display:block;width:84px;height:34px;padding:0;border:0;background:transparent;color:#e8faffc2;cursor:pointer;outline:none;transform:translate(-50%)}.grassland-ndvi-timeline-mark .grassland-ndvi-timeline-tick[data-v-86212a95]{position:absolute;left:50%;top:4px;width:2px;height:11px;border-radius:999px;background:rgba(148,234,255,.74);box-shadow:0 0 8px #30dcff3d;transform:translate(-50%)}.grassland-ndvi-timeline-mark .grassland-ndvi-timeline-label[data-v-86212a95]{position:absolute;left:50%;top:18px;width:78px;box-sizing:border-box;overflow:visible;padding:0 3px;color:#e8faff9e;font-size:12px;font-weight:700;line-height:16px;text-align:center;text-overflow:clip;white-space:nowrap;transform:translate(-50%)}.grassland-ndvi-timeline-mark[data-v-86212a95]:hover,.grassland-ndvi-timeline-mark[data-v-86212a95]:focus-visible,.grassland-ndvi-timeline-mark.is-active[data-v-86212a95]{color:#fff}.grassland-ndvi-timeline-mark:hover .grassland-ndvi-timeline-tick[data-v-86212a95],.grassland-ndvi-timeline-mark:focus-visible .grassland-ndvi-timeline-tick[data-v-86212a95],.grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-tick[data-v-86212a95]{background:#29ffcf;box-shadow:0 0 12px #29ffcf94}.grassland-ndvi-timeline-mark:hover .grassland-ndvi-timeline-label[data-v-86212a95],.grassland-ndvi-timeline-mark:focus-visible .grassland-ndvi-timeline-label[data-v-86212a95],.grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-label[data-v-86212a95]{color:#fff}.grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-label[data-v-86212a95]{width:78px;padding:0 8px;border:1px solid rgba(41,255,207,.34);background:rgba(4,39,48,.78);box-shadow:0 0 14px #29ffcf29}.forest-grass-wet{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;overflow:clip;overscroll-behavior:none}.forest-grass-wet>.map{width:100%;height:100%}.forest-grass-wet>.map>canvas{display:block;width:100%!important;height:100%!important}.forest-grass-wet>.map>div{width:100%!important;height:100%!important}.forest-grass-wet-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.forest-grass-wet .fgw-left,.forest-grass-wet .fgw-right{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.forest-grass-wet .fgw-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.forest-grass-wet .fgw-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.forest-grass-wet .fgw-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.forest-grass-wet .fgw-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.forest-grass-wet .fgw-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.forest-grass-wet .fgw-side-card{flex:0 0 auto}.forest-grass-wet .fgw-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff}.forest-grass-wet .fgw-map-layer-tools,.forest-grass-wet .fgw-map-feature-info{position:absolute;z-index:7;pointer-events:all}.forest-grass-wet .fgw-map-layer-tools .m-card,.forest-grass-wet .fgw-map-feature-info .m-card{background:rgba(3,18,30,.54);backdrop-filter:blur(2px)}.forest-grass-wet .fgw-map-layer-tools{top:auto;right:458px;left:auto;bottom:72px;width:248px;height:430px}.forest-grass-wet .fgw-map-layer-tools .m-card{width:100%!important;height:100%!important}.forest-grass-wet .fgw-ndvi-timeline{position:absolute;left:50%;bottom:112px;z-index:7;transform:translate(-50%);pointer-events:all}.forest-grass-wet .fgw-map-feature-info{right:456px;bottom:150px}.forest-grass-wet .fgw-bottom-topic{position:absolute;left:50%;bottom:48px;z-index:8;transform:translate(-50%);pointer-events:all}.engineering-analysis-panel[data-v-98130796]{position:absolute;z-index:8;left:32px;top:188px;width:430px;display:grid;grid-template-rows:auto auto;gap:12px;max-height:calc(100vh - 190px);pointer-events:auto}.analysis-card[data-v-98130796]{position:relative;overflow:hidden;min-height:0;padding:14px 16px 16px;border:1px solid rgba(55,228,255,.28);background:linear-gradient(135deg,rgba(7,36,52,.88),rgba(4,18,29,.74)),radial-gradient(circle at 16% 4%,rgba(36,246,196,.18),transparent 38%),radial-gradient(circle at 90% 0,rgba(48,220,255,.12),transparent 34%);box-shadow:inset 0 1px #b4fcff29,inset 0 0 26px #30dcff1f,0 16px 30px #00000052;box-sizing:border-box}.analysis-card[data-v-98130796]:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#24f6c4,rgba(48,220,255,.18),transparent);opacity:.8}.analysis-card[data-v-98130796]:after{content:"";position:absolute;right:12px;top:10px;width:78px;height:18px;border-top:1px solid rgba(48,220,255,.22);background:repeating-linear-gradient(90deg,rgba(48,220,255,.18) 0 7px,transparent 7px 14px);opacity:.42;pointer-events:none}.analysis-card-head[data-v-98130796]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;height:26px;color:#fff}.analysis-card-head span[data-v-98130796]{padding-left:10px;font-size:16px;font-weight:800;letter-spacing:0}.analysis-card-head span[data-v-98130796]:before{content:"";position:absolute;left:0;top:7px;width:3px;height:14px;background:#24f6c4;box-shadow:0 0 10px #24f6c4cc}.analysis-card-head strong[data-v-98130796]{color:#24f6c4;font-size:13px;font-weight:700}.analysis-operation[data-v-98130796]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.analysis-operation.has-boundary[data-v-98130796]{margin-top:10px}.analysis-operation.has-boundary .analysis-entry[data-v-98130796]{height:40px}.analysis-operation.has-boundary .analysis-entry span[data-v-98130796]{font-size:13px}.analysis-entry[data-v-98130796]{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-content:center;align-items:center;min-width:0;height:64px;padding:0 16px;border:1px solid rgba(48,220,255,.34);background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04)),rgba(4,23,34,.62);color:#fff;text-align:left;cursor:pointer;box-sizing:border-box;box-shadow:inset 0 0 18px #30dcff14}.analysis-entry[data-v-98130796]:before{content:"";grid-row:1/3;width:34px;height:34px;border:1px solid rgba(36,246,196,.42);background:linear-gradient(135deg,rgba(36,246,196,.22),rgba(48,220,255,.08)),rgba(4,23,34,.7);box-shadow:inset 0 0 12px #30dcff1f,0 0 12px #24f6c429}.analysis-entry.is-upload[data-v-98130796]:before{background:linear-gradient(#24f6c4 0 0) 50% 9px/2px 15px no-repeat,linear-gradient(45deg,transparent 42%,#24f6c4 43% 56%,transparent 57%) 10px 8px/8px 8px no-repeat,linear-gradient(-45deg,transparent 42%,#24f6c4 43% 56%,transparent 57%) 16px 8px/8px 8px no-repeat,linear-gradient(#24f6c4 0 0) 50% 25px/16px 2px no-repeat,linear-gradient(135deg,rgba(36,246,196,.22),rgba(48,220,255,.08)),rgba(4,23,34,.7)}.analysis-entry.is-draw[data-v-98130796]:before{background:radial-gradient(circle,#24f6c4 0 2px,transparent 2.5px) 21px 7px/8px 8px no-repeat,linear-gradient(135deg,transparent 42%,#24f6c4 43% 56%,transparent 57%) 9px 11px/18px 18px no-repeat,linear-gradient(#24f6c4 0 0) 9px 25px/14px 2px no-repeat,linear-gradient(135deg,rgba(36,246,196,.22),rgba(48,220,255,.08)),rgba(4,23,34,.7)}.analysis-entry[data-v-98130796]:after{content:"";position:absolute;right:9px;top:9px;width:18px;height:18px;border-top:1px solid rgba(36,246,196,.45);border-right:1px solid rgba(36,246,196,.45)}.analysis-entry span[data-v-98130796]{min-width:0;font-size:16px;font-weight:700;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-entry strong[data-v-98130796]{min-width:0;margin-top:2px;color:#e8fcffb8;font-size:11px;font-weight:500;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-entry input[data-v-98130796]{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.analysis-entry[data-v-98130796]:disabled,.analysis-entry.is-disabled[data-v-98130796]{opacity:.42;cursor:not-allowed}.analysis-entry[data-v-98130796]:not(:disabled):not(.is-disabled):hover{border-color:#24f6c4b8;background:linear-gradient(90deg,rgba(36,246,196,.2),rgba(48,220,255,.06)),rgba(4,23,34,.56)}.analysis-drawing-bar[data-v-98130796],.analysis-drawing-stage[data-v-98130796],.analysis-boundary-bar[data-v-98130796]{display:grid;align-items:center;gap:8px;margin-top:14px;padding:0 12px;border:1px solid rgba(36,246,196,.34);background:linear-gradient(90deg,rgba(36,246,196,.13),rgba(48,220,255,.06)),rgba(4,23,34,.58);box-sizing:border-box}.analysis-drawing-stage[data-v-98130796]{grid-template-columns:78px 74px 54px minmax(68px,1fr);height:70px;padding:0 12px;border-color:#7efbf675;background:linear-gradient(90deg,rgba(36,246,196,.15),rgba(48,220,255,.08)),rgba(4,23,34,.54)}.analysis-drawing-bar[data-v-98130796]{grid-template-columns:92px minmax(0,1fr) 66px 74px}.analysis-boundary-bar[data-v-98130796]{grid-template-columns:92px minmax(0,1fr) 86px;height:42px}.analysis-boundary-bar span[data-v-98130796]{color:#24f6c4;font-size:13px;font-weight:700}.analysis-boundary-bar strong[data-v-98130796]{min-width:0;overflow:hidden;color:#e8fcffb8;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.analysis-boundary-bar button[data-v-98130796]{height:30px;border:1px solid rgba(139,247,255,.46);background:rgba(48,220,255,.1);color:#c9fbff;font-size:13px;font-weight:700;cursor:pointer}.analysis-point-count[data-v-98130796]{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:3px;color:#e8fcffd1;font-size:12px}.analysis-point-count span[data-v-98130796]{grid-column:1/-1;color:#e8fcffb3;line-height:18px}.analysis-point-count strong[data-v-98130796]{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:30px;line-height:32px}.analysis-point-count em[data-v-98130796]{color:#e8fcffb8;font-style:normal}.analysis-point-count small[data-v-98130796]{grid-column:1/-1;margin-top:2px;color:#c9fbffc7;font-size:11px;line-height:14px}.analysis-control[data-v-98130796]{height:34px;min-width:0;padding:0 4px;border:1px solid rgba(48,220,255,.26);background:rgba(48,220,255,.08);color:#ffffffe6;font-size:12px;cursor:pointer}.analysis-control.is-primary[data-v-98130796]{border-color:#24f6c4c7;background:rgba(36,246,196,.22);color:#fff;font-weight:700}.analysis-control.is-danger[data-v-98130796]{border-color:#8bf7ff6b;background:rgba(48,220,255,.11);color:#c9fbff}.analysis-control[data-v-98130796]:disabled{opacity:.42;cursor:not-allowed}.analysis-result[data-v-98130796]{display:flex;flex-direction:column;gap:10px;height:clamp(500px,56vh,620px);min-height:0;max-height:calc(100vh - 350px)}.analysis-empty[data-v-98130796]{display:flex;align-items:center;justify-content:center;min-height:126px;color:#e8fcffad;font-size:13px;text-align:center}.analysis-empty.is-success[data-v-98130796]{min-height:64px;border:1px solid rgba(36,246,196,.18);background:rgba(36,246,196,.06);color:#24f6c4}.analysis-conclusion[data-v-98130796]{display:grid;gap:8px;padding:12px;border:1px solid rgba(48,220,255,.22);background:linear-gradient(135deg,rgba(48,220,255,.09),rgba(4,23,34,.48)),rgba(4,23,34,.5);box-sizing:border-box}.analysis-conclusion.is-hit[data-v-98130796]{border-color:#8bf7ff47;background:linear-gradient(135deg,rgba(48,220,255,.08),rgba(4,23,34,.36))}.analysis-conclusion.is-heavy[data-v-98130796]{border-color:#8bf7ff3d;background:linear-gradient(135deg,rgba(139,247,255,.08),rgba(4,23,34,.38))}.analysis-conclusion.is-clear[data-v-98130796]{border-color:#24f6c43d;background:linear-gradient(135deg,rgba(36,246,196,.08),rgba(4,23,34,.36))}.analysis-conclusion p[data-v-98130796],.analysis-conclusion small[data-v-98130796]{margin:0;color:#e8fcffc2;font-size:12px;line-height:20px}.analysis-conclusion small[data-v-98130796]{color:#c9fbffdb;font-weight:600}.analysis-conclusion-head[data-v-98130796]{display:flex;align-items:center;justify-content:space-between;gap:10px}.analysis-conclusion-head span[data-v-98130796]{color:#e8fcffb8;font-size:11px}.analysis-conclusion-head strong[data-v-98130796]{color:#24f6c4;font-size:13px;font-weight:700}.analysis-conclusion-tags[data-v-98130796]{display:flex;flex-wrap:wrap;gap:6px}.analysis-conclusion-tags span[data-v-98130796]{max-width:100%;height:24px;padding:0 9px;overflow:hidden;border:1px solid rgba(48,220,255,.2);background:rgba(48,220,255,.08);color:#e8fcffcc;font-size:11px;line-height:22px;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.analysis-project-list[data-v-98130796]{flex:1 1 auto;min-height:0;overflow:auto;padding-right:6px;scrollbar-color:rgba(48,220,255,.58) rgba(48,220,255,.1);scrollbar-width:thin}.analysis-project-list[data-v-98130796]::-webkit-scrollbar{width:4px}.analysis-project-list[data-v-98130796]::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.analysis-project-list[data-v-98130796]::-webkit-scrollbar-thumb{border-radius:0;background:linear-gradient(180deg,rgba(36,246,196,.9),rgba(48,220,255,.42))}.analysis-project-row[data-v-98130796]{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:7px;width:100%;min-height:86px;margin-bottom:8px;padding:10px 12px;border:1px solid rgba(48,220,255,.18);border-left-color:#24f6c48f;background:linear-gradient(90deg,rgba(36,246,196,.1),rgba(48,220,255,.04)),rgba(4,23,34,.54);color:#fff;font-size:12px;text-align:left;cursor:pointer;box-sizing:border-box;box-shadow:inset 0 0 16px #30dcff0d}.analysis-project-row .analysis-project-name[data-v-98130796],.analysis-project-row b[data-v-98130796]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-project-row .analysis-project-name[data-v-98130796]{display:block;color:#fff;font-size:13px;font-weight:700;line-height:18px}.analysis-project-row .analysis-project-meta[data-v-98130796]{display:grid;grid-template-columns:52px 72px minmax(0,1fr);align-items:center;gap:6px;min-width:0}.analysis-project-row strong[data-v-98130796],.analysis-project-row em[data-v-98130796],.analysis-project-row small[data-v-98130796]{height:26px;min-width:0;overflow:hidden;border:1px solid rgba(48,220,255,.18);background:rgba(4,23,34,.46);font-size:12px;line-height:24px;text-align:center;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.analysis-project-row strong[data-v-98130796]{color:#24f6c4;font-weight:700}.analysis-project-row em[data-v-98130796]{color:#ffffffd1;font-style:normal}.analysis-project-row small[data-v-98130796]{padding:0 5px;color:#c9fbffe6;text-align:right}.analysis-project-row b[data-v-98130796]{color:#e8fcffa8;font-size:12px;font-weight:500;line-height:16px}.analysis-project-row[data-v-98130796]:hover{border-color:#24f6c47a;background:linear-gradient(90deg,rgba(36,246,196,.14),rgba(48,220,255,.06)),rgba(4,23,34,.62)}.ecological-protection .fgw-map-layer-tools{top:auto;right:458px;bottom:132px;left:auto;width:248px;height:430px}.ecological-protection .fgw-map-layer-tools.is-analysis{top:auto;right:458px;bottom:132px;left:auto;transform:none;transform-origin:right top}.ecological-protection .fgw-map-layer-tools.is-compact{height:auto}.ecological-protection .ecological-bottom-topic{bottom:48px}.ecological-protection .ecological-bottom-topic .topic-switcher{width:820px}.ecological-protection .ecological-bottom-topic .topic-switcher-item{width:154px}.ecological-protection .ecological-bottom-topic .topic-name{font-size:15px;letter-spacing:0}.grass-livestock-balance{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 35%,rgba(63,235,219,.16),transparent 28%),radial-gradient(circle at 73% 62%,rgba(255,211,103,.08),transparent 32%),radial-gradient(circle at 22% 78%,rgba(52,152,125,.1),transparent 30%),linear-gradient(135deg,#020a12 0%,#062439 50%,#03101b 100%)}.grass-livestock-balance:before,.grass-livestock-balance:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.grass-livestock-balance:before{background:linear-gradient(rgba(89,233,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(89,233,255,.014) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 47%,#000 0 48%,transparent 78%);mask-image:radial-gradient(circle at 50% 47%,#000 0 48%,transparent 78%)}.grass-livestock-balance:after{background:linear-gradient(112deg,transparent 0 35%,rgba(126,251,246,.055) 44%,transparent 54% 100%),linear-gradient(180deg,rgba(1,7,13,.18),rgba(1,7,13,.58));mix-blend-mode:screen;opacity:.78}.balance-backdrop{position:absolute;left:50%;top:104px;z-index:1;width:1740px;height:944px;transform:translate(-50%);pointer-events:none;background:radial-gradient(ellipse at 50% 30%,rgba(126,251,246,.16),transparent 34%),linear-gradient(90deg,transparent,rgba(126,251,246,.045),rgba(255,215,108,.026),transparent),linear-gradient(rgba(48,220,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.018) 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent)}.balance-backdrop:before,.balance-backdrop:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.5),rgba(255,215,108,.34),transparent);box-shadow:0 0 22px #7efbf633}.balance-backdrop:before{top:64px}.balance-backdrop:after{bottom:42px}.balance-energy-band{position:absolute;left:96px;right:96px;top:108px;height:460px;background:radial-gradient(ellipse at 50% 50%,rgba(36,246,196,.16),transparent 56%),linear-gradient(90deg,transparent,rgba(126,251,246,.1),rgba(255,215,108,.055),transparent),repeating-linear-gradient(90deg,transparent 0 32px,rgba(126,251,246,.04) 32px 33px);opacity:.78;transform:perspective(820px) rotateX(60deg);transform-origin:top;animation:balance-band-pulse 4.6s ease-in-out infinite}.balance-orbit{position:absolute;top:108px;width:282px;height:282px;border:1px solid rgba(126,251,246,.08);border-radius:50%;box-shadow:inset 0 0 38px #7efbf60d,0 0 36px #7efbf60a}.balance-orbit:before,.balance-orbit:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.balance-orbit:before{top:22px;right:22px;bottom:22px;left:22px;border:1px dashed rgba(126,251,246,.08)}.balance-orbit:after{top:72px;right:72px;bottom:72px;left:72px;border:1px solid rgba(255,215,108,.05)}.balance-orbit.is-left{left:285px}.balance-orbit.is-right{right:285px}.balance-screen{position:absolute;left:50%;top:128px;z-index:4;display:grid;grid-template-columns:326px 1310px;align-items:start;gap:24px;width:1660px;transform:translate(-50%);pointer-events:none}.balance-card{height:var(--balance-card-height)!important;filter:drop-shadow(0 18px 28px rgba(0,0,0,.28)) drop-shadow(0 0 24px rgba(31,209,220,.04));pointer-events:all}.balance-card .m-card-bd,.balance-card .m-card-bd-bg{height:var(--balance-card-height)!important}.balance-card .m-card-hd-bg,.balance-card .m-card-hd-zs1,.balance-card .m-card-bd-bg>svg,.balance-card .m-card-bd-bottom-left-arrow,.balance-card .m-card-bd-bottom-right-arrow,.balance-card .m-card-bd-middle-left-line,.balance-card .m-card-bd-middle-right-line{opacity:0}.balance-card .m-card-hd{height:44px;background:linear-gradient(90deg,rgba(48,220,255,.2),rgba(48,220,255,.05) 44%,transparent),linear-gradient(180deg,rgba(12,90,107,.58),rgba(4,28,44,0));clip-path:polygon(0 0,154px 0,178px 20px,100% 20px,100% 44px,0 44px)}.balance-card .m-card-hd:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.56),rgba(255,215,108,.22),transparent 72%);box-shadow:0 0 14px #7efbf62e}.balance-card .m-card-hd:after{content:"";position:absolute;right:18px;top:10px;width:168px;height:8px;background:repeating-linear-gradient(90deg,rgba(126,251,246,.28) 0 9px,transparent 9px 15px);opacity:.58;transform:skew(28deg)}.balance-card .m-card-bd{background:radial-gradient(circle at 50% 0,rgba(126,251,246,.075),transparent 34%),linear-gradient(135deg,rgba(126,251,246,.052),transparent 24%),linear-gradient(315deg,rgba(255,215,108,.028),transparent 32%),linear-gradient(180deg,rgba(4,39,54,.5),rgba(1,16,27,.58));clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}.balance-card .m-card-bd:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(48,220,255,.12);box-shadow:inset 0 0 40px #30dcff06,inset 0 0 1px #7efbf62e;clip-path:inherit;pointer-events:none}.balance-card .m-card-bd:after{content:"";position:absolute;top:42px;right:1px;bottom:1px;left:1px;background:linear-gradient(rgba(126,251,246,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(126,251,246,.016) 1px,transparent 1px);background-size:38px 38px;opacity:.46;pointer-events:none}.balance-card .m-card-bd-content{top:44px;bottom:10px;color:#f3feff}.balance-card .m-card-bd-bg:after{content:"";position:absolute;top:5px;right:6px;bottom:7px;left:6px;pointer-events:none;border:0;background:linear-gradient(140deg,rgba(32,199,214,.035),transparent 34%),linear-gradient(180deg,rgba(17,72,90,.025),rgba(5,28,42,.035))}.balance-sheet-card{filter:none}.balance-sheet-card .m-card-hd{background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.055) 36%,transparent 58%)}.balance-sheet-card .m-card-hd:before{right:32%;background:linear-gradient(90deg,rgba(126,251,246,.62),rgba(255,215,108,.24),transparent)}.balance-sheet-card .m-card-hd:after{display:none}.balance-sheet-card .m-card-bd{background:radial-gradient(circle at 50% 43%,rgba(36,246,196,.075),transparent 30%),linear-gradient(180deg,rgba(6,48,63,.12),rgba(1,13,23,.16))}.balance-sheet-card .m-card-bd:before{border-color:transparent;box-shadow:none}.balance-sheet-card .m-card-bd:after{opacity:.24}.balance-sheet-card .m-card-bd-bg:after{background:none}.balance-target-card{filter:drop-shadow(0 14px 24px rgba(0,0,0,.26)) drop-shadow(0 0 16px rgba(31,209,220,.04))}.balance-target-card .m-card-hd{background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04) 58%,transparent)}.balance-target-card .m-card-hd:before{right:18%}.balance-target-card .m-card-bd{background:radial-gradient(circle at 84% 18%,rgba(255,215,108,.08),transparent 28%),linear-gradient(180deg,rgba(5,42,56,.34),rgba(1,15,25,.42))}.balance-target-card .m-card-bd:before{border-color:#30dcff0e;border-left-color:#30dcff29;border-bottom-color:#30dcff1f}.balance-target-card .m-card-bd-bg:after{background:radial-gradient(circle at 82% 28%,rgba(255,215,108,.045),transparent 28%),linear-gradient(180deg,rgba(48,220,255,.018),transparent 44%)}.grass-livestock-balance .m-card-hd-title{left:22px!important;height:44px!important;line-height:38px!important;color:#fff!important;font-size:15px!important;letter-spacing:1px!important;background:none!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;filter:brightness(1.2) contrast(1.08)!important;text-shadow:0 0 1px rgba(255,255,255,.96),0 0 8px rgba(255,255,255,.22)!important}.balance-selector{display:grid;grid-template-rows:40px minmax(112px,1fr) 154px;gap:16px;height:100%;padding:10px 10px 12px;box-sizing:border-box}.balance-scope-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.balance-scope-tabs button{position:relative;height:36px;min-width:0;border:0;background:linear-gradient(180deg,rgba(9,53,69,.28),rgba(4,25,39,.18)),linear-gradient(90deg,rgba(126,251,246,.04),transparent);color:#dffaffc2;font-size:12px;cursor:pointer;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:color .2s ease,border-color .2s ease,background .2s ease}.balance-scope-tabs button:after{content:"";position:absolute;left:18%;right:18%;bottom:4px;height:1px;background:rgba(126,251,246,.46);opacity:0;box-shadow:0 0 10px #7efbf64d}.balance-scope-tabs button.active,.balance-scope-tabs button:hover{background:linear-gradient(90deg,rgba(20,122,128,.5),rgba(255,215,108,.12)),rgba(3,28,39,.22);color:#fff}.balance-scope-tabs button.active:after,.balance-scope-tabs button:hover:after{opacity:1}.balance-target-list{display:grid;align-content:start;gap:9px;min-height:0;overflow-y:auto;padding-right:4px}.balance-target-list::-webkit-scrollbar{width:3px}.balance-target-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.balance-target-list button{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;height:42px;padding:0 12px 0 15px;border:0;background:linear-gradient(90deg,rgba(48,220,255,.1),transparent 66%),linear-gradient(180deg,rgba(8,45,59,.22),rgba(3,20,31,.12));color:#dffaffc7;cursor:pointer;box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);transition:transform .18s ease,color .18s ease,background .18s ease}.balance-target-list button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-bottom:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-target-list button:after{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;background:rgba(126,251,246,.38);opacity:0}.balance-target-list button:hover{transform:translate(3px);color:#fff}.balance-target-list button:hover:before{border-color:#7efbf63d}.balance-target-list span,.balance-target-list small{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:1}.balance-target-list span{font-size:14px}.balance-target-list small{color:#7efbf68f;font-size:12px;text-align:right}.balance-target-list button.active{background:linear-gradient(90deg,rgba(255,215,108,.24),rgba(31,122,130,.46) 58%,rgba(4,27,42,.14)),rgba(4,27,42,.26);color:#fff;transform:translate(5px)}.balance-target-list button.active:before{border-color:#ffd76c75;box-shadow:inset 0 0 16px #ffd76c1a}.balance-target-list button.active:after{opacity:1;background:#ffd76c;box-shadow:0 0 12px #ffd76c61}.balance-action-box{position:relative;display:grid;align-content:center;min-width:0;padding:16px;background:radial-gradient(circle at 90% 18%,rgba(255,215,108,.1),transparent 30%),linear-gradient(135deg,rgba(255,215,108,.055),transparent 42%),linear-gradient(180deg,rgba(4,27,42,.16),rgba(4,27,42,.08));box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.balance-action-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-left:1px solid rgba(48,220,255,.13);border-bottom:1px solid rgba(48,220,255,.06);clip-path:inherit;pointer-events:none}.balance-action-box:after{content:"";position:absolute;left:17px;right:17px;bottom:58px;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.38),transparent);pointer-events:none}.balance-action-box span,.balance-action-box strong,.balance-action-box small{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:1}.balance-action-box span,.balance-action-box small{color:#dffaffa3;font-size:12px}.balance-action-box strong{margin-top:8px;color:#fff;font-size:25px;line-height:32px;text-shadow:0 0 16px rgba(126,251,246,.16)}.balance-action-box small{margin-top:4px;color:#7efbf6b8}.balance-action-box button{position:relative;z-index:1;width:148px;height:42px;margin-top:18px;border:1px solid rgba(255,215,108,.38);background:linear-gradient(90deg,rgba(255,215,108,.3),rgba(48,220,255,.14)),rgba(4,27,42,.55);color:#fff;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:inset 0 0 16px #ffd76c14,0 0 18px #ffd76c14;transition:transform .18s ease,box-shadow .18s ease}.balance-action-box button:not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 0 18px #ffd76c1f,0 0 22px #ffd76c24}.balance-action-box button:disabled{cursor:default;opacity:.55}.balance-sheet{position:relative;height:100%;padding:8px 18px 18px;overflow:hidden;box-sizing:border-box}.balance-sheet:before{content:"";position:absolute;left:22px;right:22px;top:9px;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.45),rgba(255,215,108,.28),transparent);animation:balance-scan 2.8s linear infinite;pointer-events:none}.balance-sheet:after{content:"";position:absolute;left:18px;right:18px;bottom:14px;height:38%;background:radial-gradient(ellipse at 50% 100%,rgba(126,251,246,.14),transparent 68%);pointer-events:none}.balance-field-lines{position:absolute;top:86px;right:70px;bottom:116px;left:70px;z-index:0;pointer-events:none}.balance-field-lines:before{content:"";position:absolute;left:4%;right:4%;top:45%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.22),rgba(255,215,108,.14),rgba(126,251,246,.22),transparent);box-shadow:0 0 20px #7efbf614}.balance-field-lines:after{content:"";position:absolute;left:20%;right:20%;top:21%;height:330px;background:radial-gradient(ellipse at 50% 26%,rgba(36,246,196,.14),transparent 50%),repeating-linear-gradient(90deg,transparent 0 42px,rgba(126,251,246,.032) 42px 43px);transform:perspective(700px) rotateX(58deg);transform-origin:top;opacity:.86}.balance-field-lines i{position:absolute;top:44%;width:220px;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.42),transparent);transform-origin:center;animation:balance-field-drift 5.2s ease-in-out infinite}.balance-field-lines i:nth-child(1){left:12%;transform:rotate(-16deg)}.balance-field-lines i:nth-child(2){left:42%;width:280px;animation-delay:-1.4s}.balance-field-lines i:nth-child(3){right:11%;transform:rotate(16deg);animation-delay:-2.6s}.balance-waiting,.balance-running{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) 86px;gap:22px;height:100%;text-align:center}.balance-wait-core{position:relative;display:grid;justify-items:center;align-content:center;gap:20px}.balance-wait-core:before{content:"";position:absolute;width:760px;height:330px;background:radial-gradient(ellipse at 50% 38%,rgba(36,246,196,.2),transparent 52%),linear-gradient(90deg,transparent,rgba(126,251,246,.1),transparent),repeating-linear-gradient(90deg,transparent 0 34px,rgba(126,251,246,.04) 34px 35px);transform:perspective(640px) rotateX(63deg) translateY(86px);transform-origin:bottom;pointer-events:none}.balance-wait-core>*{position:relative;z-index:1}.balance-core-ring{position:relative;display:grid;place-items:center;width:178px;height:178px;border-radius:50%;background:conic-gradient(from -90deg,#24f6c4 var(--usage-angle, 0deg),rgba(48,220,255,.12) var(--usage-angle, 0deg),rgba(48,220,255,.12) 360deg);box-shadow:0 0 34px #24f6c433,0 0 82px #24f6c411,inset 0 0 32px #02101ab8}.balance-core-ring:before,.balance-core-ring:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.balance-core-ring:before{top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(126,251,246,.24);animation:balance-rotate 8s linear infinite;box-shadow:inset 0 0 18px #7efbf60f}.balance-core-ring:after{top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px dashed rgba(126,251,246,.18);animation:balance-rotate 14s linear infinite reverse}.balance-core-ring.is-empty{--usage-angle: 42deg;background:conic-gradient(from -90deg,rgba(126,251,246,.28) 0deg 42deg,rgba(48,220,255,.1) 42deg 360deg)}.balance-core-ring.is-empty .balance-core-inner strong{max-width:134px;font-size:30px;line-height:34px}.balance-core-inner{position:relative;z-index:1;display:grid;place-items:center;align-content:center;width:136px;height:136px;border-radius:50%;background:radial-gradient(circle,rgba(8,48,58,.9),rgba(2,17,27,.96) 68%),rgba(2,17,27,.92);text-align:center}.balance-core-inner span,.balance-core-inner strong,.balance-core-inner small{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-core-inner span,.balance-core-inner small{color:#dffaffa8;font-size:12px}.balance-core-inner strong{margin:8px 0 5px;color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:34px;line-height:36px;text-shadow:0 0 18px rgba(36,246,196,.35)}.balance-waiting h2{max-width:940px;margin:0;overflow:hidden;color:#fff;font-size:33px;line-height:42px;text-overflow:ellipsis;white-space:nowrap}.balance-waiting p{max-width:720px;margin:0;color:#dffaffb3;font-size:15px;line-height:24px}.balance-preflight{display:grid;grid-template-columns:112px minmax(0,1fr) 136px minmax(0,1fr) 148px;align-items:center;max-width:760px;width:100%;margin:0 auto}.balance-preflight span{position:relative;height:34px;color:#dffaff85;font-size:13px;line-height:34px;text-align:center;background:transparent;clip-path:none}.balance-preflight span:before{content:"";position:absolute;left:50%;top:-8px;width:8px;height:8px;border:1px solid rgba(126,251,246,.4);background:rgba(6,44,58,.7);transform:translate(-50%) rotate(45deg);box-shadow:0 0 12px #7efbf61a}.balance-preflight span.active{color:#7efbf6;box-shadow:none}.balance-preflight span.active:before{border-color:#ffd76c94;background:rgba(255,215,108,.28)}.balance-preflight i{height:1px;background:linear-gradient(90deg,rgba(126,251,246,.1),rgba(126,251,246,.6),rgba(255,215,108,.34))}.balance-running{grid-template-rows:238px minmax(0,1fr);text-align:left}.balance-running-head{position:relative;display:grid;grid-template-columns:238px minmax(0,1fr);align-items:center;gap:34px;padding:34px 84px 22px}.balance-running-head:before{content:"";position:absolute;left:64px;right:64px;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.44),rgba(255,215,108,.28),transparent)}.balance-running-title{min-width:0}.balance-running-title span,.balance-running-title strong,.balance-running-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-running-title span{color:#7efbf6b8;font-size:16px}.balance-running-title strong{margin-top:12px;color:#fff;font-size:36px;line-height:44px;text-shadow:0 0 18px rgba(126,251,246,.14)}.balance-running-title small{margin-top:10px;color:#ffd76cb8;font-size:16px}.balance-progress-line{position:relative;height:13px;margin-top:22px;overflow:hidden;background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.05)),rgba(1,12,21,.5);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-progress-line i{display:block;height:100%;background:linear-gradient(90deg,rgba(36,246,196,.18),#24f6c4,#ffd76c);box-shadow:0 0 18px #24f6c438;transition:width .16s linear}.balance-progress-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);animation:balance-flow-light 1.4s linear infinite}.balance-live-process{display:grid;gap:11px;min-height:0;padding:0 84px 30px}.balance-live-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;min-height:74px;padding:0 20px;background:linear-gradient(90deg,rgba(48,220,255,.075),transparent 48%),linear-gradient(180deg,rgba(6,38,51,.22),rgba(2,20,32,.08));opacity:.42;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);transition:opacity .2s ease,transform .2s ease}.balance-live-step:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-bottom:1px solid rgba(48,220,255,.075);clip-path:inherit;pointer-events:none}.balance-live-step>span{width:32px;height:32px;border:1px solid rgba(126,251,246,.34);color:#7efbf6c7;font-family:D-DIN,Arial,sans-serif;font-size:14px;line-height:30px;text-align:center}.balance-live-step div{min-width:0}.balance-live-step strong,.balance-live-step p,.balance-live-step em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-live-step strong{display:block;color:#fff;font-size:15px}.balance-live-step p{margin:7px 0 0;color:#ffd76ca8;font-size:12px}.balance-live-step em{color:#dffaff9e;font-family:D-DIN,Arial,sans-serif;font-size:17px;font-style:normal;text-align:right}.balance-live-step.is-active,.balance-live-step.is-done{opacity:1}.balance-live-step.is-active{transform:translate(8px);background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(255,215,108,.09),transparent 66%),linear-gradient(180deg,rgba(10,58,70,.56),rgba(4,34,48,.42))}.balance-live-step.is-active:before{border-color:#7efbf66b;box-shadow:inset 0 0 18px #7efbf61a}.balance-live-step.is-active>span{background:rgba(36,246,196,.1);box-shadow:0 0 18px #24f6c41f}.balance-live-step.is-done em,.balance-live-step.is-active em{color:#7efbf6}.balance-analysis{display:grid;position:relative;z-index:1;grid-template-rows:214px 108px minmax(0,1fr);gap:15px;height:100%}.balance-dashboard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 282px minmax(0,1fr);align-items:center;gap:24px;min-height:0;padding:18px 26px;background:radial-gradient(circle at 50% 50%,rgba(36,246,196,.2),transparent 36%),radial-gradient(ellipse at 50% 100%,rgba(48,220,255,.1),transparent 58%),linear-gradient(90deg,rgba(48,220,255,.07),rgba(2,18,30,.1) 48%,rgba(255,215,108,.055));clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}.balance-dashboard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-top:1px solid rgba(48,220,255,.12);border-bottom:1px solid rgba(48,220,255,.08);box-shadow:inset 0 0 34px #24f6c409;clip-path:inherit;pointer-events:none}.balance-dashboard:after{content:"";position:absolute;left:246px;right:246px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.42),rgba(255,215,108,.34),transparent);pointer-events:none}.balance-dashboard>*{position:relative;z-index:1}.balance-object-block,.balance-verdict-card{position:relative;z-index:1;min-width:0;padding:18px 22px;background:radial-gradient(circle at 16% 0,rgba(126,251,246,.12),transparent 38%),linear-gradient(135deg,rgba(126,251,246,.075),transparent 50%),rgba(2,21,33,.2);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.balance-object-block:before,.balance-verdict-card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.5),transparent)}.balance-object-block span,.balance-object-block strong,.balance-object-block small,.balance-verdict-card span,.balance-verdict-card strong,.balance-verdict-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-object-block span,.balance-object-block small,.balance-verdict-card span,.balance-verdict-card small{color:#dffaff9e;font-size:12px}.balance-object-block strong{margin-top:8px;color:#fff;font-size:38px;line-height:44px;text-shadow:0 0 18px rgba(255,255,255,.12)}.balance-verdict-card{text-align:right}.balance-verdict-card strong{margin-top:8px;color:#ffd76c;font-family:D-DIN,Arial,sans-serif;font-size:38px;line-height:44px;text-shadow:0 0 20px rgba(255,215,108,.34)}.balance-verdict-card.is-healthy strong,.balance-verdict-card.is-balanced strong,.balance-verdict-card.is-watch strong{color:#7efbf6}.balance-verdict-card.is-danger strong{color:#ff8f6b}.balance-core{position:relative;z-index:1;display:grid;justify-items:center;gap:9px}.balance-core:before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:332px;height:118px;background:radial-gradient(ellipse at 50% 50%,rgba(126,251,246,.14),transparent 70%);transform:translate(-50%,-50%);pointer-events:none}.balance-core-caption{color:#dffaff9e;font-size:12px}.balance-compare{position:relative;display:grid;align-content:center;gap:20px;padding:17px 24px;background:radial-gradient(ellipse at 50% 100%,rgba(126,251,246,.08),transparent 62%),linear-gradient(90deg,rgba(48,220,255,.08),transparent 45%,rgba(255,215,108,.065)),rgba(2,21,33,.16);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);box-sizing:border-box}.balance-compare:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-top:1px solid rgba(48,220,255,.08);border-bottom:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-bar-row{position:relative;z-index:1;display:grid;grid-template-columns:98px minmax(0,1fr) 190px;align-items:center;gap:16px;min-width:0}.balance-bar-row span{color:#dffaffb8;font-size:13px;white-space:nowrap}.balance-bar-row div{position:relative;height:14px;overflow:hidden;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.06)),rgba(1,12,21,.56);clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}.balance-bar-row div:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);animation:balance-flow-light 2.4s linear infinite}.balance-bar-row i{display:block;height:100%;background:linear-gradient(90deg,rgba(36,246,196,.2),#24f6c4);box-shadow:0 0 18px #24f6c438}.balance-bar-row strong{overflow:hidden;color:#fff;font-family:D-DIN,Arial,sans-serif;font-size:23px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.balance-bar-row em{margin-left:4px;color:#ffffff94;font-family:AlibabaPuHuiTi,Arial,sans-serif;font-size:11px;font-style:normal}.balance-bar-row.is-livestock i{background:linear-gradient(90deg,rgba(255,215,108,.18),#ffd76c);box-shadow:0 0 16px #ffd76c2e}.balance-detail{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.82fr) 248px;gap:12px;min-height:0}.balance-process,.balance-decision,.balance-overload-ranking{position:relative;min-width:0;min-height:0;padding:16px 18px 15px;background:radial-gradient(circle at 18% 0,rgba(126,251,246,.11),transparent 30%),linear-gradient(135deg,rgba(48,220,255,.08),transparent 34%),linear-gradient(315deg,rgba(255,215,108,.038),transparent 42%),rgba(2,21,33,.16);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);box-sizing:border-box}.balance-process:before,.balance-decision:before,.balance-overload-ranking:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-top:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-process:after,.balance-decision:after,.balance-overload-ranking:after{content:"";position:absolute;left:18px;right:18px;top:48px;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.32),transparent);pointer-events:none}.balance-section-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;height:28px}.balance-section-title span{color:#fff;font-size:16px;text-shadow:0 0 12px rgba(126,251,246,.22)}.balance-section-title small{color:#7efbf69e;font-size:12px}.balance-process{display:grid;grid-template-rows:28px 38px repeat(4,minmax(0,1fr));gap:10px}.balance-process-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center}.balance-process-track:before{content:"";position:absolute;left:5%;right:5%;top:50%;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.18),rgba(126,251,246,.5),rgba(255,215,108,.42))}.balance-process-track span{position:relative;z-index:1;height:28px;overflow:hidden;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(2,19,31,.9)),rgba(2,19,31,.9);color:#dffaffb8;font-size:12px;line-height:28px;text-align:center;text-overflow:ellipsis;white-space:nowrap;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-process-track .is-done,.balance-process-track .is-active{color:#7efbf6;box-shadow:inset 0 0 14px #7efbf61f}.balance-formula-row{position:relative;z-index:1;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:0 14px;background:linear-gradient(90deg,rgba(48,220,255,.07),transparent 48%),linear-gradient(180deg,rgba(6,37,49,.22),rgba(2,20,32,.08));clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);box-sizing:border-box}.balance-formula-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-bottom:1px solid rgba(48,220,255,.065);clip-path:inherit;pointer-events:none}.balance-formula-row>span{width:30px;height:30px;border:1px solid rgba(126,251,246,.34);color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:13px;line-height:28px;text-align:center;background:rgba(36,246,196,.055)}.balance-formula-row div{min-width:0}.balance-formula-row strong,.balance-formula-row p,.balance-formula-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-formula-row strong{display:block;color:#fff;font-size:15px}.balance-formula-row p{margin:4px 0 0;color:#ffffffc2;font-size:12px}.balance-formula-row em{color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:21px;font-style:normal;text-align:right}.balance-decision{display:grid;grid-template-rows:28px 112px minmax(0,1fr);gap:12px}.balance-overload-ranking{display:grid;grid-template-rows:28px minmax(0,1fr);gap:10px}.balance-rank-list{position:relative;z-index:1;display:grid;align-content:start;gap:5px;min-height:0;overflow:hidden}.balance-rank-row{position:relative;display:grid;grid-template-columns:24px 58px minmax(0,1fr) 50px;align-items:center;gap:7px;height:25px;min-width:0;padding:0 8px 0 6px;background:linear-gradient(90deg,rgba(48,220,255,.08),transparent 62%),rgba(4,33,46,.62);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);box-sizing:border-box}.balance-rank-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-rank-row>span{position:relative;z-index:1;width:20px;height:18px;color:#7efbf6e6;font-family:D-DIN,Arial,sans-serif;font-size:12px;line-height:18px;font-weight:800;text-align:center;background:rgba(126,251,246,.08)}.balance-rank-row strong{position:relative;z-index:1;min-width:0;overflow:hidden;color:#edfdffe6;font-size:12px;line-height:18px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.balance-rank-row div{position:relative;z-index:1;height:5px;overflow:hidden;background:rgba(126,251,246,.08)}.balance-rank-row div i{display:block;width:var(--rank-progress);height:100%;background:linear-gradient(90deg,rgba(126,251,246,.35),#7efbf6);box-shadow:0 0 10px #7efbf638}.balance-rank-row em{position:relative;z-index:1;color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:800;text-align:right;white-space:nowrap}.balance-rank-row.is-warning div i{background:linear-gradient(90deg,rgba(255,215,108,.32),#ffd76c);box-shadow:0 0 10px #ffd76c33}.balance-rank-row.is-warning em{color:#ffd76c}.balance-rank-row.is-alert div i{background:linear-gradient(90deg,rgba(255,143,107,.3),#ff8f6b);box-shadow:0 0 10px #ff8f6b3d}.balance-rank-row.is-alert em{color:#ffb15e}.balance-conclusion{position:relative;z-index:1;min-width:0;padding:16px 14px;background:radial-gradient(circle at 10% 0,rgba(255,215,108,.18),transparent 42%),linear-gradient(135deg,rgba(255,215,108,.13),transparent 60%),rgba(74,56,20,.14);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);box-sizing:border-box}.balance-conclusion:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,215,108,.2);clip-path:inherit;pointer-events:none}.balance-conclusion strong{position:relative;z-index:1;display:block;overflow:hidden;color:#ffd76c;font-size:14px;text-shadow:0 0 10px rgba(255,215,108,.18);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.balance-conclusion p{position:relative;z-index:1;margin:8px 0 0;overflow:hidden;color:#ecfcffb8;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.balance-advice-list{position:relative;z-index:1;display:grid;align-content:start;gap:11px;min-height:0;overflow:hidden}.balance-advice-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;min-height:43px;padding:3px 0}.balance-advice-item span{width:22px;height:22px;border:1px solid rgba(126,251,246,.44);color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:12px;line-height:20px;text-align:center}.balance-advice-item p{min-width:0;margin:0;overflow:hidden;color:#ecfcffd1;font-size:12px;line-height:19px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}@keyframes balance-scan{0%{opacity:.2;transform:translate(-28%)}50%{opacity:.8}to{opacity:.2;transform:translate(28%)}}@keyframes balance-rotate{to{transform:rotate(360deg)}}@keyframes balance-flow-light{to{transform:translate(100%)}}@keyframes balance-band-pulse{0%,to{opacity:.56;filter:saturate(.92)}50%{opacity:.86;filter:saturate(1.08)}}@keyframes balance-field-drift{0%,to{opacity:.18;transform:translate(-18px)}50%{opacity:.58;transform:translate(18px)}}.grass-livestock-balance{background:linear-gradient(rgba(31,169,190,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(31,169,190,.022) 1px,transparent 1px),radial-gradient(circle at 50% 35%,rgba(35,128,133,.1),transparent 34%),linear-gradient(135deg,#020b13 0%,#061d2b 48%,#020b13 100%);background-size:44px 44px,44px 44px,100% 100%,100% 100%}.grass-livestock-balance:before,.grass-livestock-balance:after{opacity:.26}.balance-backdrop{top:104px;height:944px;background:linear-gradient(rgba(48,220,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.016) 1px,transparent 1px);background-size:44px 44px}.balance-backdrop:before,.balance-backdrop:after{opacity:.32}.balance-orbit,.balance-energy-band,.balance-field-lines,.balance-wait-core:before,.balance-core:before{display:none}.balance-screen{top:128px}.balance-card{filter:drop-shadow(0 16px 26px rgba(0,0,0,.28))}.balance-card .m-card-hd{background:linear-gradient(90deg,rgba(24,117,135,.78),rgba(12,65,83,.52) 56%,rgba(6,32,46,.08))}.balance-card .m-card-hd:before{background:linear-gradient(90deg,#30dcff,rgba(126,251,246,.36),transparent 76%);box-shadow:none}.balance-card .m-card-bd{background:linear-gradient(180deg,rgba(8,49,64,.92),rgba(3,23,36,.92))}.balance-card .m-card-bd:before{border-color:#30dcff33;box-shadow:inset 0 0 0 1px #7efbf60a}.balance-card .m-card-bd:after{opacity:.22}.balance-sheet-card{filter:drop-shadow(0 18px 30px rgba(0,0,0,.24))}.balance-sheet-card .m-card-bd{background:linear-gradient(180deg,rgba(7,43,58,.92),rgba(2,19,31,.94))}.balance-sheet-card .m-card-bd:before{border-color:#30dcff2e;border-left-color:#30dcff47;border-bottom-color:#30dcff1f;box-shadow:inset 0 0 0 1px #7efbf609}.balance-target-card{filter:drop-shadow(0 16px 24px rgba(0,0,0,.26))}.balance-target-card .m-card-bd{background:linear-gradient(180deg,rgba(7,45,58,.9),rgba(2,20,32,.92))}.balance-target-card .m-card-bd:before{border-color:#30dcff29;border-left-color:#30dcff47;border-bottom-color:#30dcff1f}.balance-selector{grid-template-rows:40px minmax(0,1fr) 158px;gap:12px;padding:12px 12px 14px}.balance-scope-tabs button{border:1px solid rgba(48,220,255,.12);background:rgba(4,31,44,.58);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-scope-tabs button.active,.balance-scope-tabs button:hover{background:linear-gradient(180deg,rgba(19,98,112,.9),rgba(7,56,76,.86))}.balance-target-list button{background:rgba(5,39,53,.72)}.balance-target-list button:before{border:1px solid rgba(48,220,255,.1);border-left-color:#30dcff33}.balance-target-list button.active{background:linear-gradient(90deg,rgba(119,98,38,.9),rgba(7,70,77,.86))}.balance-action-box{background:rgba(3,28,40,.84)}.balance-action-box:before{border:1px solid rgba(48,220,255,.14)}.balance-sheet{padding:14px 22px 20px}.balance-sheet:before,.balance-sheet:after{display:none}.balance-waiting{grid-template-rows:minmax(0,1fr) 78px}.balance-wait-core{gap:18px;padding-top:16px}.balance-core-ring{width:164px;height:164px;box-shadow:0 0 18px #24f6c41f,inset 0 0 28px #02101abd}.balance-core-ring:after{opacity:.36}.balance-core-inner{width:126px;height:126px}.balance-core-inner strong{font-size:30px;line-height:34px;text-shadow:none}.balance-preflight span{background:rgba(4,32,45,.78);border:1px solid rgba(48,220,255,.1);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-preflight span:before{display:none}.balance-running-head{padding:30px 58px 18px}.balance-live-process{padding:0 58px 26px}.balance-live-step{background:rgba(5,36,50,.76)}.balance-live-step:before{border:1px solid rgba(48,220,255,.08)}.balance-live-step.is-active{background:linear-gradient(90deg,rgba(22,108,104,.82),rgba(7,53,66,.86))}.balance-analysis{grid-template-rows:188px 94px minmax(0,1fr);gap:12px}.balance-dashboard,.balance-compare,.balance-process,.balance-decision,.balance-overload-ranking{background:linear-gradient(180deg,rgba(7,48,62,.9),rgba(3,28,42,.9));clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.balance-dashboard:before,.balance-compare:before,.balance-process:before,.balance-decision:before,.balance-overload-ranking:before{border:1px solid rgba(48,220,255,.12);box-shadow:none}.balance-dashboard{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);padding:14px 20px}.balance-dashboard:after{display:none}.balance-object-block,.balance-verdict-card{background:rgba(4,31,44,.82);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}.balance-object-block strong,.balance-verdict-card strong{font-size:34px;line-height:40px;text-shadow:none}.balance-verdict-card strong,.balance-core-inner strong,.balance-formula-row em,.balance-bar-row i{text-shadow:none;box-shadow:none}.balance-core-ring:before,.balance-core-ring:after{animation:none}.balance-dashboard .balance-core-ring{width:156px;height:156px}.balance-dashboard .balance-core-inner{width:120px;height:120px}.balance-compare{gap:18px;padding:14px 20px}.balance-detail{gap:12px}.balance-process,.balance-decision,.balance-overload-ranking{padding:14px 16px}.balance-formula-row{background:rgba(4,33,46,.82)}.balance-formula-row:before{border:1px solid rgba(48,220,255,.08)}.balance-conclusion{background:rgba(70,55,22,.7)}.balance-bar-row div:after,.balance-progress-line:after{display:none}.balance-core-caption{color:#dffaffb8}.balance-sheet.is-ready{padding:18px 22px 22px}.balance-sheet.is-ready .balance-analysis{grid-template-rows:158px 84px minmax(0,1fr);gap:14px}.balance-sheet.is-ready .balance-dashboard{grid-template-columns:minmax(0,1fr) 188px minmax(0,1fr);gap:18px;padding:14px 22px}.balance-sheet.is-ready .balance-object-block,.balance-sheet.is-ready .balance-verdict-card{min-height:104px;padding:18px 20px;box-sizing:border-box}.balance-sheet.is-ready .balance-object-block strong,.balance-sheet.is-ready .balance-verdict-card strong{margin-top:7px;font-size:28px;line-height:34px}.balance-sheet.is-ready .balance-object-block small,.balance-sheet.is-ready .balance-verdict-card small{margin-top:4px}.balance-sheet.is-ready .balance-dashboard .balance-core-ring{width:132px;height:132px}.balance-sheet.is-ready .balance-dashboard .balance-core-inner{width:102px;height:102px}.balance-sheet.is-ready .balance-core-inner strong{max-width:92px;margin:5px 0 3px;font-size:26px;line-height:28px}.balance-sheet.is-ready .balance-core-inner span,.balance-sheet.is-ready .balance-core-inner small{max-width:92px;font-size:11px}.balance-sheet.is-ready .balance-core{gap:5px}.balance-sheet.is-ready .balance-core-caption{font-size:11px}.balance-sheet.is-ready .balance-compare{gap:14px;padding:12px 20px}.balance-sheet.is-ready .balance-bar-row{grid-template-columns:92px minmax(0,1fr) 178px;gap:14px}.balance-sheet.is-ready .balance-bar-row strong{font-size:20px}.balance-sheet.is-ready .balance-detail{grid-template-columns:minmax(0,1fr) minmax(318px,.78fr) 238px;gap:12px}.balance-sheet.is-ready .balance-process,.balance-sheet.is-ready .balance-decision,.balance-sheet.is-ready .balance-overload-ranking{overflow:hidden;padding:13px 15px}.balance-sheet.is-ready .balance-process{grid-template-rows:26px 32px repeat(4,minmax(58px,1fr));gap:8px}.balance-sheet.is-ready .balance-decision{grid-template-rows:26px 92px minmax(0,1fr);gap:10px}.balance-sheet.is-ready .balance-overload-ranking{grid-template-rows:26px minmax(0,1fr);gap:8px}.balance-sheet.is-ready .balance-section-title{height:26px}.balance-sheet.is-ready .balance-section-title span{font-size:15px}.balance-sheet.is-ready .balance-process-track{height:32px}.balance-sheet.is-ready .balance-process-track span{height:26px;font-size:11px;line-height:26px}.balance-sheet.is-ready .balance-formula-row{grid-template-columns:36px minmax(0,1fr);gap:10px;min-height:58px;padding:8px 12px}.balance-sheet.is-ready .balance-formula-row>span{width:27px;height:27px;font-size:12px;line-height:25px}.balance-sheet.is-ready .balance-formula-row strong{font-size:14px}.balance-sheet.is-ready .balance-formula-row p{margin-top:3px;font-size:11px;line-height:16px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.balance-sheet.is-ready .balance-conclusion{padding:13px 14px}.balance-sheet.is-ready .balance-conclusion strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.balance-sheet.is-ready .balance-conclusion p{margin-top:6px}.balance-sheet.is-ready .balance-advice-list{gap:8px;overflow:hidden}.balance-sheet.is-ready .balance-advice-item{min-height:34px;padding:1px 0}.balance-sheet.is-ready .balance-advice-item p{line-height:18px;-webkit-line-clamp:2}.balance-sheet.is-ready .balance-rank-list{gap:4px}.balance-sheet.is-ready .balance-rank-row{grid-template-columns:22px 54px minmax(0,1fr) 48px;gap:6px;height:23px;padding-right:7px}.yak-management{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c;height:100%;overscroll-behavior:none}.yak-map-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;background:transparent!important}.yak-map-scene>canvas{display:block;width:100%!important;height:100%!important}.yak-map-scene>div{width:100%!important;height:100%!important}.yak-map-scene .china-label .town-stat-label{transform:translateY(-50%) scale(.92)}.yak-ol-map-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.yak-management-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.yak-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 42%,rgba(1,9,15,.22) 74%,rgba(1,8,13,.58) 100%),linear-gradient(90deg,rgba(0,12,20,.36),transparent 24%,transparent 76%,rgba(0,12,20,.36)),linear-gradient(180deg,rgba(2,16,27,.02),rgba(2,13,22,.22))}.yak-map-scrim.is-ol-map{background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 58%,rgba(1,9,15,.16) 82%,rgba(1,8,13,.42) 100%),linear-gradient(90deg,rgba(0,12,20,.24),transparent 22%,transparent 78%,rgba(0,12,20,.24)),linear-gradient(180deg,rgba(2,16,27,.01),rgba(2,13,22,.12))}.yak-left,.yak-right{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.yak-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.yak-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.yak-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.yak-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.yak-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.yak-side-card{flex:0 0 auto}.yak-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff;overflow:hidden}.trade-source-card .m-card-bd-content{top:38px;bottom:8px}.yak-chart{width:100%;height:100%;box-sizing:border-box}.forecast-trend-card,.structure-chart-card{position:relative;width:100%;height:100%}.breeding-health-card{display:grid;grid-template-rows:34px minmax(0,1fr);gap:9px;height:100%;padding:10px 13px;overflow:hidden;box-sizing:border-box}.breeding-health-head{display:flex;align-items:center;min-width:0;padding:0 12px;border-left:3px solid rgba(39,240,192,.82);background:radial-gradient(circle at 18% 50%,rgba(39,240,192,.18),transparent 48%),linear-gradient(90deg,rgba(39,240,192,.14),rgba(48,220,255,.04));box-sizing:border-box}.breeding-health-head strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:16px;line-height:20px;font-weight:900;text-shadow:0 0 12px rgba(39,240,192,.22)}.breeding-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;min-height:0}.breeding-health-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:18px 14px 6px;align-content:center;gap:2px 6px;min-width:0;min-height:0;padding:7px 9px;overflow:hidden;border:1px solid rgba(48,220,255,.13);background:linear-gradient(90deg,color-mix(in srgb,var(--health-color) 16%,transparent),rgba(5,27,41,.32)),rgba(3,25,40,.18);box-sizing:border-box}.breeding-health-item span,.breeding-health-item strong,.breeding-health-item em{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breeding-health-item span{color:#e5fdffd6;font-size:12px;line-height:15px;font-weight:800}.breeding-health-item strong{color:color-mix(in srgb,var(--health-color) 82%,#ffffff);font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:18px;font-weight:900;text-align:right}.breeding-health-item i{grid-column:1/3;position:relative;z-index:1;display:block;height:4px;overflow:hidden;background:rgba(48,220,255,.12)}.breeding-health-item i b{display:block;width:var(--health-width);height:100%;background:var(--health-color);box-shadow:0 0 10px color-mix(in srgb,var(--health-color) 70%,transparent)}.breeding-health-item em{grid-column:1/3;grid-row:2;color:color-mix(in srgb,var(--health-color) 74%,#ffffff);font-size:11px;line-height:13px;font-style:normal}.structure-ratio-card{display:grid;grid-template-columns:146px minmax(0,1fr);align-items:center;gap:10px;height:100%;overflow:hidden;padding:2px 10px 6px 8px;box-sizing:border-box}.structure-ratio-chart{position:relative;width:142px;height:132px;min-width:0}.structure-ratio-chart svg{width:100%;height:100%;overflow:visible}.structure-ratio-list{display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;gap:5px;overflow:hidden}.structure-ratio-row{position:relative;display:grid;grid-template-columns:11px minmax(0,1fr) 50px 16px;align-items:center;gap:6px;min-width:0;min-height:22px;height:23px;padding:0 5px 0 3px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(48,220,255,.055);color:#e1f9ffc2;font-size:10px;line-height:13px;box-sizing:border-box;transition:background .35s ease,border-color .35s ease}.structure-ratio-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--row-percent);background:linear-gradient(90deg,var(--row-color),rgba(48,220,255,0));opacity:.18;pointer-events:none}.structure-ratio-row i{position:relative;z-index:1;width:9px;height:9px;border:1px solid #24f6c4;border-radius:50%;box-sizing:border-box;box-shadow:0 0 10px currentColor}.structure-ratio-row span{position:relative;z-index:1;display:flex;align-items:baseline;gap:4px;min-width:0;overflow:hidden;color:var(--row-color);font-size:13px;line-height:15px;font-weight:800;text-shadow:0 0 9px color-mix(in srgb,var(--row-color) 42%,transparent);text-overflow:ellipsis;white-space:nowrap}.structure-ratio-row span small{flex:none;color:color-mix(in srgb,var(--row-color) 78%,rgba(255,255,255,.65));font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;font-weight:800;line-height:12px}.structure-ratio-row strong{position:relative;z-index:1;color:var(--row-color);font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;font-weight:800;line-height:20px;text-align:right;text-shadow:0 0 10px color-mix(in srgb,var(--row-color) 42%,transparent);white-space:nowrap}.structure-ratio-row em{position:relative;z-index:1;color:#ffffff8a;font-size:10px;font-style:normal;white-space:nowrap}.structure-ratio-row.is-active{color:var(--row-color);border-color:#30dcff38;background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04))}.structure-rose-segment{opacity:.92;stroke-width:1.5;stroke-opacity:.5;transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,filter .3s ease,transform .3s ease;filter:drop-shadow(0 2px 2px rgba(0,10,18,.34)) drop-shadow(0 0 5px rgba(48,220,255,.18))}.structure-rose-segment.is-active{opacity:1;transform:scale(1.035);filter:drop-shadow(0 3px 5px rgba(0,10,18,.42)) drop-shadow(0 0 10px rgba(36,246,196,.42))}.structure-rose-glow{fill:#24f6c41a;stroke:#30dcff3d;stroke-width:1;filter:drop-shadow(0 0 8px rgba(36,246,196,.26))}.structure-rose-hole{fill:#03121ef0;stroke:#e3fdff38;stroke-width:1.2}.structure-rose-center{fill:#e7feffdb;font-size:10px;font-weight:800;dominant-baseline:middle;pointer-events:none}.structure-rose-center.is-sub{fill:#e7feff8a;font-size:7px;font-weight:700}.structure-summary-card{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));align-content:center;gap:10px;height:100%;overflow:hidden;padding:15px 18px 14px;box-sizing:border-box}.structure-summary-row{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 58px;grid-template-rows:22px 14px;align-items:center;column-gap:10px;min-width:0;min-height:0;padding:2px 0;color:#e1f9ffb8}.structure-summary-row span{grid-row:1/3;display:inline-flex;min-width:0;align-items:center;gap:8px;overflow:hidden;color:var(--structure-color);font-size:13px;line-height:17px;font-weight:800;text-shadow:0 0 9px color-mix(in srgb,var(--structure-color) 38%,transparent);text-overflow:ellipsis;white-space:nowrap}.structure-summary-row i{width:9px;height:9px;flex:0 0 auto;border-radius:2px;background:var(--structure-color);box-shadow:0 0 10px var(--structure-color)}.structure-summary-row strong{grid-column:3;grid-row:1;color:var(--structure-color);font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;line-height:15px;font-weight:800;text-align:right;text-shadow:0 0 10px color-mix(in srgb,var(--structure-color) 38%,transparent);white-space:nowrap}.structure-summary-row strong em{margin-left:3px;color:#e2fcffad;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:700}.structure-summary-row b{position:relative;grid-column:2;grid-row:1/3;height:17px;overflow:hidden;border:1px solid rgba(48,220,255,.08);background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 18px),rgba(48,220,255,.05)}.structure-summary-row b em{display:block;width:var(--structure-width);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--structure-color) 20%,transparent),var(--structure-color));box-shadow:0 0 12px var(--structure-color)}.structure-summary-row small{grid-column:3;grid-row:2;color:color-mix(in srgb,var(--structure-color) 76%,rgba(255,255,255,.72));font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:11px;font-weight:800;text-align:right;white-space:nowrap}.yak-data-status{position:absolute;left:12px;bottom:6px;z-index:2;max-width:calc(100% - 24px);padding:2px 8px;border:1px solid rgba(48,220,255,.24);border-radius:3px;color:#defaffbd;font-size:10px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(4,24,37,.72);box-shadow:inset 0 0 10px #30dcff14}.yak-data-status.is-warning{border-color:#8bf7ff47;color:#c9fbffdb;background:rgba(4,24,37,.62)}.forecast-kline-chart{padding-top:16px}.forecast-density-switcher{position:absolute;top:0;left:4px;z-index:3;display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(48,220,255,.22);border-radius:3px;background:rgba(4,24,37,.72);box-shadow:inset 0 0 10px #30dcff14}.forecast-density-switcher button{min-width:24px;height:18px;padding:0 6px;border:0;border-radius:2px;color:#e2faffa8;font-size:10px;line-height:18px;font-weight:800;background:transparent;cursor:pointer}.forecast-density-switcher button.active{color:#041c2b;background:linear-gradient(180deg,#7efbf6,#30dcff);box-shadow:0 0 10px #30dcff6b}.yak-map-loading{position:absolute;left:50%;top:50%;z-index:8;color:#dffaffa3;font-size:16px;transform:translate(-50%,-50%)}.yak-bottom-topic{position:absolute;left:50%;bottom:48px;z-index:8;transform:translate(-50%);pointer-events:all}.trade-year-switcher,.forecast-year-switcher,.epidemic-year-switcher{position:absolute;left:462px;top:218px;z-index:8;display:flex;width:78px;flex-direction:column;gap:8px;padding:10px 8px;border:1px solid rgba(139,247,255,.28);background:linear-gradient(180deg,rgba(9,42,55,.72),rgba(4,18,30,.82)),rgba(3,18,31,.62);box-shadow:0 0 18px #8bf7ff1f,inset 0 0 0 1px #ffffff0d;pointer-events:all;transform:perspective(620px) rotateY(6deg);transform-origin:left center;box-sizing:border-box}.trade-year-switcher span,.forecast-year-switcher span,.epidemic-year-switcher span{color:#ffffffdb;font-size:12px;font-weight:700;line-height:14px;text-align:center;white-space:nowrap}.trade-year-switcher button,.forecast-year-switcher button,.epidemic-year-switcher button{width:100%;height:30px;border:1px solid rgba(255,255,255,.18);background:rgba(48,220,255,.08);color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;font-weight:900;cursor:pointer;box-sizing:border-box}.trade-year-switcher button.active,.trade-year-switcher button:hover,.forecast-year-switcher button.active,.forecast-year-switcher button:hover,.epidemic-year-switcher button.active,.epidemic-year-switcher button:hover{border-color:#8bf7ffb3;background:rgba(139,247,255,.18);color:#8bf7ff;box-shadow:0 0 14px #8bf7ff1f}.forecast-year-switcher{border-color:#30dcff47;box-shadow:0 0 18px #30dcff1f,inset 0 0 0 1px #ffffff0d}.forecast-year-switcher button.active,.forecast-year-switcher button:hover{border-color:#30dcffb3;background:rgba(48,220,255,.16);color:#30dcff;box-shadow:0 0 14px #30dcff24}.epidemic-year-switcher{border-color:#27f0c047;box-shadow:0 0 18px #27f0c01f,inset 0 0 0 1px #ffffff0d}.epidemic-year-switcher button.active,.epidemic-year-switcher button:hover{border-color:#27f0c0b8;background:rgba(39,240,192,.16);color:#27f0c0;box-shadow:0 0 14px #27f0c024}.forecast-waterfall-card{display:grid;grid-template-rows:32px minmax(0,1fr);gap:8px;height:100%;padding:9px 13px 10px;overflow:hidden;box-sizing:border-box}.forecast-waterfall-head{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 10px;border-left:3px solid rgba(48,220,255,.72);background:linear-gradient(90deg,rgba(48,220,255,.13),rgba(48,220,255,.025)),rgba(3,25,40,.18);box-sizing:border-box}.forecast-waterfall-head span,.forecast-waterfall-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-waterfall-head span{color:#e2fcffc7;font-size:12px;line-height:16px;font-weight:800}.forecast-waterfall-head strong{color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:18px;font-weight:900;text-align:right}.forecast-waterfall-head strong.negative{color:#48cfff}.forecast-waterfall-head strong em{margin-left:2px;color:#e2fcff99;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:700}.forecast-waterfall-list{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:5px;min-height:0}.forecast-waterfall-row{display:grid;grid-template-columns:78px minmax(0,1fr) 76px;align-items:center;gap:8px;min-width:0;min-height:0}.forecast-waterfall-row span,.forecast-waterfall-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-waterfall-row span{color:#e2fcffc7;font-size:12px;line-height:14px;font-weight:800}.forecast-waterfall-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;line-height:15px;font-weight:900;text-align:right}.forecast-waterfall-row i{position:relative;display:block;height:18px;overflow:hidden;border:1px solid rgba(48,220,255,.08);background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 18px),rgba(48,220,255,.045);box-sizing:border-box}.forecast-waterfall-row i:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(226,252,255,.12);transform:translateY(-50%)}.forecast-waterfall-row i b{position:absolute;left:var(--waterfall-left);top:3px;width:var(--waterfall-width);height:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--waterfall-color) 22%,transparent),var(--waterfall-color));box-shadow:0 0 10px color-mix(in srgb,var(--waterfall-color) 72%,transparent)}.forecast-waterfall-row.is-anchor span,.forecast-waterfall-row.is-final span{color:#ffffffe6}.forecast-waterfall-row.is-anchor i b,.forecast-waterfall-row.is-final i b{top:3px;height:10px;border-radius:8px;background:var(--waterfall-color)}.forecast-waterfall-row.positive strong{color:#27f0c0}.forecast-waterfall-row.negative strong{color:#48cfff}.forecast-waterfall-row.is-final strong{color:#fff}.estimate-summary-card,.forecast-summary-card{height:100%;padding:6px 14px 8px;box-sizing:border-box}.estimate-summary-card{display:grid;grid-template-rows:minmax(58px,.88fr) minmax(86px,1.12fr);row-gap:10px;padding:7px 14px 10px;overflow:hidden}.estimate-flow-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0}.estimate-flow-item{min-width:0;height:100%;padding:8px 10px 7px;border-left:2px solid rgba(48,220,255,.64);background:linear-gradient(90deg,rgba(48,220,255,.13),rgba(48,220,255,.025)),rgba(3,25,40,.18);box-sizing:border-box}.estimate-flow-item em,.estimate-flow-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-flow-item em{color:#dffaff99;font-style:normal;font-size:11px;line-height:14px}.estimate-flow-item strong{margin-top:5px;color:#30dcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;font-weight:900;line-height:24px}.estimate-flow-item small{margin-left:3px;color:#dffaff94;font-size:10px;font-weight:600}.estimate-flow-item.is-adjustment{border-left-color:#8bf7ffa3;background:linear-gradient(90deg,rgba(139,247,255,.12),rgba(48,220,255,.025)),rgba(3,25,40,.18)}.estimate-flow-item.is-adjustment strong{color:#8bf7ff}.estimate-flow-item.is-adjustment strong.negative{color:#48cfff}.estimate-result-band{position:relative;min-width:0;display:flex;height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:10px 14px 9px;border:1px solid rgba(48,220,255,.18);border-left:3px solid rgba(48,220,255,.76);background:radial-gradient(circle at 18% 50%,rgba(48,220,255,.16),transparent 46%),linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04)),rgba(3,25,40,.22);box-sizing:border-box}.estimate-result-band:after{content:"";position:absolute;right:-12px;bottom:-18px;width:118px;height:76px;pointer-events:none;background:radial-gradient(circle at center,rgba(48,220,255,.16),transparent 58%),linear-gradient(135deg,transparent 0 42%,rgba(48,220,255,.12) 43% 45%,transparent 46% 100%)}.estimate-result-band span,.estimate-result-band strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-result-band span{color:#dffaffb8;font-size:13px;line-height:16px}.estimate-result-band strong{position:relative;z-index:1;margin-top:0;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:38px;font-weight:900;line-height:42px}.estimate-result-band em{margin-left:5px;color:#dffaff9e;font-style:normal;font-size:12px}.forecast-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.forecast-simple-grid span{min-width:0;height:38px;padding:5px 7px;border-left:2px solid rgba(48,220,255,.58);background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02));box-sizing:border-box}.forecast-simple-grid em,.forecast-simple-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-simple-grid em{color:#dffaff8f;font-style:normal;font-size:10px;line-height:11px}.forecast-simple-grid strong{margin-top:3px;color:#30dcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;font-weight:900;line-height:15px}.forecast-simple-grid .positive{color:#8bf7ff}.forecast-simple-grid .negative{color:#48cfff}.forecast-summary-card{display:grid;grid-template-rows:minmax(84px,1fr) minmax(44px,.55fr);row-gap:9px;padding:8px 14px 10px;overflow:hidden}.forecast-result-row{display:grid;grid-template-columns:minmax(0,1fr) 98px;align-items:center;column-gap:8px;height:100%;min-height:0}.forecast-result-main{min-width:0;display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:10px 12px;border-left:2px solid rgba(48,220,255,.7);background:radial-gradient(circle at 22% 50%,rgba(48,220,255,.16),transparent 48%),linear-gradient(90deg,rgba(48,220,255,.16),rgba(48,220,255,.035)),rgba(3,25,40,.18);box-sizing:border-box}.forecast-result-main span,.forecast-result-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-result-main span{color:#dffaffa8;font-size:13px;line-height:16px}.forecast-result-main strong{margin-top:0;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:35px;font-weight:900;line-height:39px}.forecast-result-main strong em{margin-left:4px;color:#dffaff9e;font-style:normal;font-size:11px}.forecast-change-badge{min-width:0;height:66px;padding:11px 9px 8px;border:1px solid rgba(139,247,255,.28);background:rgba(139,247,255,.06);box-sizing:border-box}.forecast-change-badge span,.forecast-change-badge strong{display:block;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.forecast-change-badge span{color:#dffaff8c;font-size:10px;line-height:11px}.forecast-change-badge strong{margin-top:2px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;font-weight:900;line-height:16px}.forecast-change-badge strong em{margin-left:2px;color:#dffaff94;font-style:normal;font-size:10px}.forecast-change-badge.negative{border-color:#48cfff47;background:rgba(72,207,255,.06)}.forecast-change-badge.negative strong{color:#48cfff}.forecast-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:0}.forecast-simple-grid span{height:100%;min-height:42px;padding:6px 8px}.forecast-simple-grid strong{margin-top:3px;font-size:15px;line-height:17px}.forecast-heat-list{display:flex;height:100%;flex-direction:column;gap:4px;padding:8px 13px 9px;box-sizing:border-box}.heat-row{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 60px;align-items:center;gap:8px;min-height:0;flex:1 1 0;padding:0 8px;overflow:visible;border:1px solid rgba(48,220,255,.14);background:linear-gradient(90deg,rgba(48,220,255,.08),transparent 34%,rgba(36,246,196,.04)),rgba(2,18,30,.58);box-shadow:inset 0 0 0 1px #ffffff05,inset 0 0 12px #30dcff0a}.heat-row:before{content:"";position:absolute;left:78px;right:68px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(48,220,255,.24),transparent);transform:translateY(-50%)}.heat-row:after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--heat-color);box-shadow:0 0 10px var(--heat-color);opacity:.78}.heat-row span,.heat-row strong,.heat-row b{position:relative;z-index:1;white-space:nowrap}.heat-row span{color:#effdff;font-size:12px;line-height:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.72),0 0 8px rgba(48,220,255,.18)}.heat-row b{display:block;height:11px;padding:2px;border:1px solid rgba(48,220,255,.22);background:linear-gradient(90deg,rgba(48,220,255,.08),rgba(48,220,255,.025)),rgba(0,14,24,.66);box-shadow:inset 0 0 10px #00000057,0 0 10px #30dcff14}.heat-row b i{position:relative;display:block;width:var(--heat-width);height:100%;min-width:8px;background:linear-gradient(90deg,rgba(255,255,255,.86),var(--heat-color) 16%,rgba(48,220,255,.72) 78%,rgba(255,255,255,.9)),linear-gradient(90deg,var(--heat-color-soft),transparent);box-shadow:0 0 10px var(--heat-color-soft),0 0 18px var(--heat-color-dim);overflow:visible}.heat-row b i:after{content:"";position:absolute;right:-4px;top:50%;width:7px;height:7px;border-radius:50%;background:#ffffff;box-shadow:0 0 8px #fff,0 0 14px var(--heat-color);transform:translateY(-50%)}.heat-row b i:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);opacity:.72}.heat-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:17px;font-weight:900;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.72),0 0 10px var(--heat-color-soft)}.heat-row.is-negative{border-color:#48cfff2e}.epidemic-overview-chart-card{height:100%;padding:7px 9px 5px;box-sizing:border-box}.epidemic-overview-chart{width:100%;height:100%}.epidemic-chain-chart-card{height:100%;padding:7px 8px 5px;box-sizing:border-box}.epidemic-chain-chart{width:100%;height:100%}.epidemic-chain-card{height:100%;padding:9px 13px;box-sizing:border-box}.epidemic-chain-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;column-gap:8px}.epidemic-chain-row span{min-width:0;height:48px;padding:6px;border:1px solid rgba(48,220,255,.16);background:rgba(48,220,255,.05);box-sizing:border-box}.epidemic-chain-row em,.epidemic-chain-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epidemic-chain-row em{color:#dffaff8f;font-style:normal;font-size:10px}.epidemic-chain-row strong{margin-top:5px;color:#27f0c0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;font-weight:900}.epidemic-chain-row i{color:#8bf7ffcc;font-style:normal;text-align:center}.epidemic-chain-note{margin:8px 0;padding:7px 9px;border-left:2px solid rgba(139,247,255,.76);background:rgba(139,247,255,.06)}.epidemic-chain-note span{display:block;color:#eafcffd6;font-size:11px;line-height:17px}.epidemic-chain-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.epidemic-chain-metrics span{min-width:0;display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 8px;border:1px solid rgba(39,240,192,.14);background:rgba(39,240,192,.04)}.epidemic-chain-metrics em{color:#dffaff94;font-style:normal;font-size:10px}.epidemic-chain-metrics strong{overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.epidemic-three-pie-card{display:grid;grid-template-columns:142px minmax(0,1fr);align-items:center;gap:8px;height:100%;padding:8px 12px 8px 10px;box-sizing:border-box}.epidemic-three-pie-visual{position:relative;width:136px;height:136px;min-width:0}.epidemic-three-pie{width:100%;height:100%}.epidemic-three-pie-center{position:absolute;left:0;top:0;display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:0 0 10px rgba(0,0,0,.96);pointer-events:none}.epidemic-three-pie-center strong{overflow:hidden;max-width:84px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:21px;line-height:22px;font-weight:900;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-2px)}.epidemic-three-pie-center span{overflow:hidden;max-width:86px;color:#fffffff5;font-size:10px;line-height:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.epidemic-three-pie-legend{display:flex;min-width:0;height:100%;flex-direction:column;justify-content:center;gap:6px}.epidemic-three-pie-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;column-gap:5px;min-height:17px}.epidemic-three-pie-row i{width:8px;height:8px;border:2px solid #24f6c4;border-radius:2px;box-sizing:border-box;background:rgba(3,20,31,.84)}.epidemic-three-pie-row span{overflow:hidden;color:#e2faffd1;font-size:10px;line-height:13px;text-overflow:ellipsis;white-space:nowrap}.epidemic-three-pie-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:13px;font-weight:800;white-space:nowrap}.epidemic-three-pie-row em{color:#dffaff8a;font-style:normal;font-size:10px;line-height:12px;white-space:nowrap}.epidemic-record-table{display:flex;height:100%;flex-direction:column;gap:5px;padding:7px 9px 8px;box-sizing:border-box}.epidemic-record-table.is-double{gap:5px}.epidemic-record-table.is-full{gap:6px;padding:9px 10px 10px}.epidemic-record-toolbar{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;column-gap:7px;height:29px}.epidemic-record-toolbar>span{overflow:hidden;color:#ffffffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.epidemic-record-toolbar>div{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 44px 62px;gap:5px}.epidemic-record-toolbar input,.epidemic-record-toolbar button{height:25px;min-width:0;border:1px solid rgba(48,220,255,.16);background:rgba(3,25,40,.62);color:#fff;font-size:10px;box-sizing:border-box}.epidemic-record-toolbar input{padding:0 7px}.epidemic-record-toolbar input::placeholder{color:#ffffff94}.epidemic-record-toolbar button{border-color:#8bf7ff6b;background:rgba(139,247,255,.12);color:#fff;cursor:pointer}.epidemic-record-toolbar button.is-more{border-color:#30dcff57;background:rgba(48,220,255,.12)}.epidemic-record-header,.epidemic-record-rows button{display:grid;grid-template-columns:112px 56px 42px 54px 64px;column-gap:4px;align-items:center}.epidemic-record-header{height:24px;padding:0 6px;border:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.06);box-sizing:border-box}.epidemic-record-header span{color:#ffffffc7;font-size:10px}.epidemic-record-rows{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;overflow:hidden}.epidemic-record-rows button{min-height:0;flex:1 1 0;padding:0 6px;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035);color:#ffffffe0;cursor:pointer;text-align:left}.epidemic-record-rows button:hover,.epidemic-record-rows button.active{border-color:#8bf7ff5c;background:linear-gradient(90deg,rgba(139,247,255,.12),rgba(48,220,255,.04));color:#fff}.epidemic-record-rows span,.epidemic-record-rows strong{color:#fff;overflow:hidden;font-size:10px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.epidemic-record-rows strong{color:#8bf7ff;font-weight:700}.epidemic-record-table.is-full .epidemic-record-rows{gap:4px}.epidemic-record-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;height:24px}.epidemic-record-pager span{margin-right:auto;color:#ffffffd6;font-size:10px}.epidemic-record-pager button{height:22px;padding:0 8px;border:1px solid rgba(48,220,255,.18);background:rgba(48,220,255,.07);color:#fff;font-size:10px;cursor:pointer}.epidemic-record-pager button:disabled{opacity:.36;cursor:not-allowed}.epidemic-empty{display:flex;height:100%;align-items:center;justify-content:center;color:#dffaff8f;font-size:12px}.epidemic-detail-head{display:flex;align-items:center;justify-content:space-between;height:28px;border-bottom:1px solid rgba(48,220,255,.14)}.epidemic-detail-head span{overflow:hidden;color:#27f0c0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.epidemic-detail-head strong{color:#dffaffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;white-space:nowrap}.epidemic-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.epidemic-detail-grid span{min-width:0;height:34px;padding:4px 7px;border:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.035);box-sizing:border-box}.epidemic-detail-grid em,.epidemic-detail-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epidemic-detail-grid em{color:#dffaff85;font-style:normal;font-size:10px;line-height:10px}.epidemic-detail-grid strong{margin-top:4px;color:#fff;font-size:11px;line-height:12px}.epidemic-detail-grid.is-modal{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}.epidemic-detail-grid.is-modal span{height:39px;padding:5px 8px}.epidemic-detail-grid.is-modal .is-wide{grid-column:1/-1}.epidemic-ledger-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:rgba(0,8,14,.68);pointer-events:all}.epidemic-ledger-dialog{width:1260px;height:724px;padding:18px;border:1px solid rgba(139,247,255,.36);background:linear-gradient(180deg,rgba(12,38,48,.97),rgba(4,17,28,.99)),rgba(3,18,31,.98);box-shadow:0 0 34px #8bf7ff29,inset 0 0 0 1px #ffffff0f;box-sizing:border-box}.epidemic-ledger-dialog-head{display:flex;align-items:center;justify-content:space-between;height:42px;border-bottom:1px solid rgba(48,220,255,.18)}.epidemic-ledger-dialog-head span{display:block;color:#fff;font-size:19px;font-weight:800}.epidemic-ledger-dialog-head strong{display:block;margin-top:3px;color:#ffffffdb;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px}.epidemic-ledger-dialog-head button{width:68px;height:28px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.epidemic-ledger-filters{display:grid;grid-template-columns:220px 130px 130px 132px 132px 66px 66px;gap:10px;align-items:center;margin:16px 0 14px}.epidemic-ledger-filters input,.epidemic-ledger-filters select,.epidemic-ledger-filters button{height:32px;min-width:0;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#fff;font-size:12px;box-sizing:border-box}.epidemic-ledger-filters input::placeholder{color:#ffffff9e}.epidemic-ledger-filters select option{color:#dffcff;background:#061926}.epidemic-ledger-filters input,.epidemic-ledger-filters select{padding:0 9px}.epidemic-ledger-filters button{cursor:pointer;background:rgba(139,247,255,.13);border-color:#8bf7ff5c;color:#fff;font-weight:700}.epidemic-ledger-filters button.is-ghost{background:rgba(255,255,255,.06);border-color:#ffffff2e}.epidemic-ledger-workspace{display:grid;grid-template-columns:minmax(0,1fr) 376px;gap:14px;height:548px}.epidemic-ledger-list{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px;overflow:hidden;border:1px solid rgba(139,247,255,.16);background:rgba(255,255,255,.035);box-shadow:inset 0 0 24px #8bf7ff08;box-sizing:border-box}.epidemic-ledger-table-head,.epidemic-ledger-list button{display:grid;grid-template-columns:minmax(126px,1.5fr) minmax(76px,.9fr) 72px minmax(96px,1fr) 72px 82px 42px;align-items:center;column-gap:8px}.epidemic-ledger-table-head{height:34px;padding:0 12px;border:0;border-bottom:1px solid rgba(139,247,255,.14);border-radius:0;background:rgba(255,255,255,.07)}.epidemic-ledger-table-head span{overflow:hidden;color:#ffffffd1;font-size:11px;font-weight:700;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.epidemic-ledger-list button{position:relative;width:100%;height:30px;padding:0 10px 0 12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.045),rgba(48,220,255,.018)),rgba(255,255,255,.025);color:#ffffffe6;cursor:pointer;text-align:left;transition:border-color .18s ease,background .18s ease,color .18s ease}.epidemic-ledger-list button:before{position:absolute;left:0;top:6px;width:2px;height:18px;content:"";opacity:0;background:var(--screen-icon-primary, #30dcff);box-shadow:0 0 8px var(--screen-icon-glow, rgba(48, 220, 255, .22))}.epidemic-ledger-list button.active,.epidemic-ledger-list button:hover{border-color:#30dcff5c;background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.05)),rgba(255,255,255,.045);color:#fff}.epidemic-ledger-list button.active:before,.epidemic-ledger-list button:hover:before{opacity:1}.epidemic-ledger-list button span,.epidemic-ledger-list button strong{overflow:hidden;font-size:10px;line-height:12px;color:#fff;text-overflow:ellipsis;white-space:nowrap}.epidemic-ledger-list button strong{color:#c9fbff;font-weight:800}.epidemic-ledger-detail{display:flex;flex-direction:column;min-width:0;min-height:0;padding:14px;border:1px solid rgba(39,240,192,.15);background:rgba(39,240,192,.04);box-sizing:border-box}.epidemic-detail-scroll{flex:1 1 0;min-height:0;margin-top:10px;padding-right:4px;overflow-y:auto}.epidemic-detail-section+.epidemic-detail-section{margin-top:10px}.epidemic-detail-section-title{display:flex;align-items:center;height:18px;color:#27f0c0;font-size:12px;font-weight:700;line-height:18px}.epidemic-modal-photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px;overflow:hidden}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb{position:relative;width:100%;height:96px;padding:0;overflow:hidden;border:1px solid rgba(39,240,192,.24);background:rgba(39,240,192,.04);cursor:zoom-in;box-sizing:border-box}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb:hover{border-color:#8bf7ff94;box-shadow:0 0 14px #8bf7ff29}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb:after{position:absolute;right:0;bottom:0;left:0;height:18px;content:"";background:linear-gradient(180deg,rgba(0,12,20,0),rgba(0,12,20,.92) 52%,rgba(0,12,20,.98));pointer-events:none}.epidemic-modal-photo-strip img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb:hover img{transform:scale(1.03)}.epidemic-modal-photo-strip span{grid-column:1/-1;display:flex;height:96px;align-items:center;justify-content:center;border:1px solid rgba(48,220,255,.12);color:#dffaff8a;font-size:11px}.epidemic-image-preview-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:48;display:flex;align-items:center;justify-content:center;padding:46px;background:rgba(0,8,14,.78);pointer-events:all;box-sizing:border-box}.epidemic-image-preview-dialog{display:flex;width:min(920px,78vw);max-height:78vh;flex-direction:column;border:1px solid rgba(139,247,255,.34);background:linear-gradient(180deg,rgba(9,38,50,.97),rgba(2,15,26,.99)),rgba(2,17,28,.98);box-shadow:0 0 34px #8bf7ff24,inset 0 0 0 1px #ffffff0e}.epidemic-image-preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;padding:0 16px 0 18px;border-bottom:1px solid rgba(48,220,255,.16);box-sizing:border-box}.epidemic-image-preview-head div{min-width:0}.epidemic-image-preview-head span,.epidemic-image-preview-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epidemic-image-preview-head span{color:#fff;font-size:16px;font-weight:800}.epidemic-image-preview-head strong{margin-top:3px;color:#27f0c0d1;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px}.epidemic-image-preview-head button{width:68px;height:28px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.epidemic-image-preview-body{display:flex;min-height:0;flex:1;align-items:center;justify-content:center;padding:16px;background:rgba(0,10,17,.42)}.epidemic-image-preview-frame{position:relative;display:flex;max-width:100%;max-height:calc(78vh - 84px);align-items:center;justify-content:center;overflow:hidden}.epidemic-image-preview-frame img{display:block;max-width:100%;max-height:calc(78vh - 84px);object-fit:contain}.epidemic-image-preview-frame:after{position:absolute;right:0;bottom:0;left:0;height:38px;content:"";background:linear-gradient(180deg,rgba(0,10,17,0),rgba(0,10,17,.96) 58%,rgba(0,10,17,.99));pointer-events:none}.epidemic-ledger-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:42px}.epidemic-ledger-pager span{color:#ffffffb8;font-size:12px}.epidemic-ledger-pager button{height:26px;padding:0 12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);color:#fff;cursor:pointer}.epidemic-ledger-pager button:disabled{opacity:.38;cursor:not-allowed}.trade-ledger-dialog{width:1260px;height:724px;border-color:#8bf7ff5c;background:linear-gradient(180deg,rgba(12,38,48,.97),rgba(4,17,28,.99)),rgba(3,18,31,.98);box-shadow:0 0 34px #8bf7ff29,inset 0 0 0 1px #ffffff0f}.trade-ledger-dialog .epidemic-ledger-dialog-head strong{color:#ffffffdb}.trade-ledger-dialog .epidemic-ledger-dialog-head button{border-color:#ffffff47;background:rgba(255,255,255,.08);color:#fff}.trade-ledger-filters{grid-template-columns:260px 150px 142px 142px 70px 70px}.trade-ledger-filters input,.trade-ledger-filters select,.trade-ledger-filters button{color:#fff}.trade-ledger-filters button{color:#fff;font-weight:700}.trade-ledger-workspace{grid-template-columns:minmax(0,1fr) 376px}.trade-ledger-modal-table-head,.trade-ledger-modal-list button{display:grid;grid-template-columns:128px 84px 92px 58px 88px 90px 102px 68px;align-items:center;column-gap:10px}.trade-ledger-modal-table-head{height:34px;padding:0 12px;border-bottom:1px solid rgba(139,247,255,.14);background:rgba(255,255,255,.07)}.trade-ledger-modal-table-head span{overflow:hidden;color:#ffffffd1;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-modal-list{border-color:#30dcff29;background:rgba(255,255,255,.035)}.trade-ledger-modal-list button{height:34px;color:#ffffffe6}.trade-ledger-modal-list button.active,.trade-ledger-modal-list button:hover{background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.05));color:#fff}.trade-ledger-modal-list button span,.trade-ledger-modal-list button strong{color:#fff}.trade-ledger-modal-list button strong{color:#c9fbff}.trade-ledger-detail{display:flex;flex-direction:column;padding:0;overflow:hidden;border-color:#30dcff3d;background:linear-gradient(180deg,rgba(8,42,54,.84),rgba(3,19,30,.92)),radial-gradient(circle at 10% 0,rgba(48,220,255,.12),transparent 38%),rgba(3,25,40,.48);box-shadow:inset 0 0 22px #30dcff0e,inset 0 0 0 1px #ffffff09}.trade-ledger-detail .trade-detail-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:76px;padding:15px 16px 13px;border-bottom:1px solid rgba(48,220,255,.18);background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.035)),rgba(3,26,38,.62);box-sizing:border-box}.trade-ledger-detail .trade-detail-head:before{position:absolute;left:0;top:16px;width:3px;height:44px;content:"";background:var(--screen-icon-primary, #30dcff);box-shadow:0 0 8px var(--screen-icon-glow, rgba(48, 220, 255, .22))}.trade-ledger-detail .trade-detail-head div{min-width:0}.trade-ledger-detail .trade-detail-head span,.trade-ledger-detail .trade-detail-head em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-detail .trade-detail-head span{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:21px;font-weight:800;line-height:24px}.trade-ledger-detail .trade-detail-head em{margin-top:6px;color:#c9fbff;font-size:12px;font-style:normal;font-weight:800;line-height:16px}.trade-ledger-detail .trade-detail-head strong{padding:5px 9px;border:1px solid rgba(48,220,255,.18);background:rgba(5,27,38,.58);color:#edfdffd1;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;font-weight:800;white-space:nowrap}.epidemic-ledger-record-detail .trade-detail-head em{color:#27f0c0}.epidemic-ledger-record-detail .epidemic-detail-flat-grid{padding-bottom:0}.epidemic-detail-grid.is-modal.trade-detail-grid{flex:0 0 auto;align-content:start;grid-template-columns:66px minmax(0,1fr) 66px minmax(0,1fr);gap:0;margin:0;padding:14px 16px 0;overflow:hidden;border:1px solid rgba(48,220,255,.1);border-bottom:0}.epidemic-detail-grid.is-modal.trade-detail-grid span{min-width:0;height:auto;padding:0;border:0;background:transparent;box-shadow:none}.epidemic-detail-grid.is-modal.trade-detail-grid:before{display:none}.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide){display:contents}.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide) em,.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide) strong,.epidemic-detail-grid.is-modal.trade-detail-grid .is-wide em,.epidemic-detail-grid.is-modal.trade-detail-grid .is-wide strong{display:flex;min-width:0;height:30px;align-items:center;padding:0 8px;border-bottom:1px solid rgba(48,220,255,.1);box-sizing:border-box}.epidemic-detail-grid.is-modal.trade-detail-grid em{justify-content:flex-end;color:#cdeff6a3;font-size:10px;font-style:normal;line-height:14px;text-align:right;background:rgba(139,247,255,.055);border-right:1px solid rgba(48,220,255,.085)}.epidemic-detail-grid.is-modal.trade-detail-grid em:after{content:":"}.epidemic-detail-grid.is-modal.trade-detail-grid strong{min-width:0;margin-top:0;overflow:hidden;color:#fff;font-size:13px;line-height:16px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;background:rgba(255,255,255,.03)}.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide):nth-child(odd) strong{border-right:1px solid rgba(48,220,255,.065)}.epidemic-detail-grid.is-modal.trade-detail-grid .is-wide{display:grid;grid-column:1/-1;grid-template-columns:66px minmax(0,1fr)}.epidemic-detail-photos{min-height:0;margin:12px 16px 16px;padding-top:10px;border-top:1px solid rgba(48,220,255,.12)}.epidemic-detail-photo-title{height:18px;color:#27f0c0;font-size:12px;font-weight:800;line-height:18px}.epidemic-ledger-record-detail .epidemic-modal-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.epidemic-ledger-record-detail .epidemic-modal-photo-strip .epidemic-modal-photo-thumb{height:76px;border-color:#30dcff38;border-radius:2px;background:rgba(4,28,41,.62)}.trade-detail-locate{width:calc(100% - 32px);height:36px;margin:auto 16px 16px;border:1px solid rgba(48,220,255,.34);background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(139,247,255,.08)),rgba(4,28,41,.74);color:#fff;font-size:13px;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.trade-detail-locate:hover:not(:disabled){border-color:#8bf7ff85;background:linear-gradient(90deg,rgba(139,247,255,.16),rgba(48,220,255,.11)),rgba(8,36,48,.84);box-shadow:0 0 14px #8bf7ff1f}.trade-detail-locate:disabled{opacity:.38;cursor:not-allowed}.trade-overview-card{display:grid;grid-template-rows:minmax(0,1fr) 46px;row-gap:10px;height:100%;padding:14px 13px 10px;box-sizing:border-box}.trade-main-metric{display:flex;min-width:0;flex-direction:column;justify-content:center}.trade-main-metric span,.trade-main-metric strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-main-metric span{color:#ffffffd6;font-size:12px;line-height:14px}.trade-main-metric strong{margin-top:3px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:27px;font-weight:900;line-height:29px}.trade-main-metric strong em{margin-left:5px;color:#ffffffd1;font-style:normal;font-size:12px}.trade-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.trade-metric-grid span{min-width:0;padding:5px 7px;border-left:2px solid rgba(139,247,255,.62);background:linear-gradient(90deg,rgba(139,247,255,.11),rgba(48,220,255,.03));box-sizing:border-box}.trade-metric-grid em,.trade-metric-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-metric-grid em{color:#ffffffc7;font-style:normal;font-size:10px;line-height:11px}.trade-metric-grid strong{margin-top:4px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;line-height:15px;font-weight:900}.trade-risk-card{display:grid;grid-template-rows:30px minmax(0,1fr);gap:5px;height:100%;padding:9px 12px 10px;overflow:hidden;box-sizing:border-box}.trade-risk-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:0 9px;border-left:3px solid rgba(139,247,255,.78);background:linear-gradient(90deg,rgba(139,247,255,.14),rgba(48,220,255,.025)),rgba(3,25,40,.2);box-sizing:border-box}.trade-risk-head span,.trade-risk-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-risk-head span{color:#e2fcffc7;font-size:12px;line-height:16px;font-weight:800}.trade-risk-head strong{flex:0 0 auto;color:#8bf7ff;font-size:12px;line-height:16px;font-weight:900;text-align:right}.trade-risk-list{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:4px;min-height:0}.trade-risk-row{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:0;padding:3px 8px 3px 10px;overflow:hidden;border:1px solid rgba(48,220,255,.11);background:linear-gradient(90deg,color-mix(in srgb,var(--risk-color) 12%,transparent),rgba(48,220,255,.02)),rgba(4,24,37,.2);box-sizing:border-box}.trade-risk-row:before{content:"";position:absolute;left:0;top:50%;width:2px;height:22px;background:var(--risk-color);box-shadow:0 0 10px var(--risk-color);transform:translateY(-50%)}.trade-risk-row i{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--risk-color);box-shadow:0 0 9px var(--risk-color)}.trade-risk-row span{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px}.trade-risk-row em,.trade-risk-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-risk-row em{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;color:#ffffffe6;font-size:11px;line-height:14px;font-style:normal;font-weight:900}.trade-risk-row em b{flex:0 0 auto;min-width:28px;height:15px;padding:0 5px;border:1px solid color-mix(in srgb,var(--risk-color) 52%,transparent);border-radius:1px;color:var(--risk-color);font-size:10px;line-height:13px;font-weight:900;text-align:center;background:color-mix(in srgb,var(--risk-color) 13%,rgba(3,25,40,.62));box-sizing:border-box}.trade-risk-row small{flex:1 1 auto;min-width:0;color:#e2fcffc2;font-size:10px;line-height:12px;text-align:right}.trade-risk-row.is-high{border-color:#48cfff3d}.trade-risk-row.is-high small{color:#c9fbffe0}.trade-risk-row.is-watch small{color:#8bf7ffd1}.trade-cert-card{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:8px;height:100%;padding:9px 12px;box-sizing:border-box}.trade-cert-main{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:8px}.trade-cert-main span{min-width:0;padding:7px 8px;border:1px solid rgba(48,220,255,.12);background:rgba(48,220,255,.045)}.trade-cert-main em,.trade-cert-main strong,.trade-cert-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-cert-main em{color:#ffffffc7;font-style:normal;font-size:10px}.trade-cert-main strong{margin-top:4px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:20px;font-weight:900}.trade-cert-main strong b{margin-left:3px;color:#ffffffd1;font-size:10px;font-weight:500}.trade-cert-main small{margin-top:3px;color:#ffffffd1;font-size:10px}.trade-cert-chart{width:108px;height:100%}.trade-dest-list{display:flex;height:100%;flex-direction:column;gap:3px;padding:7px 10px 8px;box-sizing:border-box}.trade-dest-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 66px;align-items:center;min-height:0;flex:1 1 0;column-gap:6px;overflow:hidden;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035)}.trade-dest-row:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--trade-ratio);background:linear-gradient(90deg,rgba(139,247,255,.22),rgba(48,220,255,.08))}.trade-dest-row span,.trade-dest-row strong,.trade-dest-row em{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-dest-row span{padding-left:7px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;font-weight:900}.trade-dest-row strong{color:#fff;font-size:11px;line-height:13px}.trade-dest-row em{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-style:normal;font-size:11px;line-height:13px;text-align:right}.trade-ledger-table{display:flex;height:100%;flex-direction:column;gap:5px;padding:7px 9px 8px;box-sizing:border-box}.trade-ledger-toolbar{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;column-gap:7px;height:29px}.trade-ledger-toolbar>span{overflow:hidden;color:#ffffffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-toolbar>div{display:grid;grid-template-columns:minmax(0,1fr) 44px 62px;gap:5px}.trade-ledger-toolbar input,.trade-ledger-toolbar button{height:25px;min-width:0;border:1px solid rgba(48,220,255,.16);background:rgba(3,25,40,.62);color:#fff;font-size:10px;box-sizing:border-box}.trade-ledger-toolbar input{padding:0 7px}.trade-ledger-toolbar input::placeholder{color:#ffffff94}.trade-ledger-toolbar button{border-color:#8bf7ff6b;background:rgba(139,247,255,.12);color:#fff;cursor:pointer}.trade-ledger-toolbar button.is-more{border-color:#30dcff57;background:rgba(48,220,255,.12)}.trade-ledger-header,.trade-ledger-rows button{display:grid;grid-template-columns:98px 56px 39px 38px 34px 64px;column-gap:4px;align-items:center}.trade-ledger-header{height:24px;padding:0 6px;border:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.06);box-sizing:border-box}.trade-ledger-header span{color:#ffffffc7;font-size:10px}.trade-ledger-rows{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;overflow:hidden}.trade-ledger-rows button{min-height:0;flex:1 1 0;padding:0 6px;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035);color:#ffffffe0;cursor:pointer;text-align:left}.trade-ledger-rows button:hover{border-color:#8bf7ff5c;background:linear-gradient(90deg,rgba(139,247,255,.12),rgba(48,220,255,.04));color:#fff}.trade-ledger-rows span,.trade-ledger-rows strong{color:#fff;overflow:hidden;font-size:10px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-rows span:first-child{line-height:12px;white-space:normal;word-break:break-all;text-overflow:clip}.trade-ledger-rows strong{color:#8bf7ff;font-weight:700}.trade-ledger-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;height:24px}.trade-ledger-pager span{margin-right:auto;color:#ffffffd6;font-size:10px}.trade-ledger-pager button{height:22px;padding:0 8px;border:1px solid rgba(48,220,255,.18);background:rgba(48,220,255,.07);color:#fff;font-size:10px;cursor:pointer}.trade-ledger-pager button:disabled{opacity:.36;cursor:not-allowed}.pasture-management{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c}.pasture-map-scene,.pasture-ol-map-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.pasture-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 58%,rgba(1,9,15,.16) 82%,rgba(1,8,13,.42) 100%),linear-gradient(90deg,rgba(0,12,20,.24),transparent 22%,transparent 78%,rgba(0,12,20,.24)),linear-gradient(180deg,rgba(2,16,27,.01),rgba(2,13,22,.12))}.pasture-map-loading{position:absolute;left:50%;top:54%;z-index:4;color:#defaffc7;font-size:14px;transform:translate(-50%,-50%)}.pasture-management-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.pasture-left,.pasture-right{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.pasture-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.pasture-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.pasture-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.pasture-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.pasture-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.pasture-side-card{flex:0 0 auto}.pasture-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff}.pasture-household-rank{display:flex;flex-direction:column;gap:4px;height:100%;padding:1px 12px 3px;box-sizing:border-box}.pasture-household-rank-row{position:relative;flex:1 1 0;min-height:24px}.pasture-household-rank-row:before{position:absolute;left:0;top:8px;width:5px;height:5px;border:1px solid var(--rank-color);border-radius:50%;content:"";background:rgba(6,28,40,.92);box-shadow:none}.pasture-household-rank-row.is-leading .pasture-rank-value{color:#fff;text-shadow:none}.pasture-rank-copy{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px;align-items:center;height:18px;padding-left:12px}.pasture-rank-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:15px;border:1px solid rgba(48,220,255,.24);color:var(--rank-color);font-size:10px;line-height:1;font-weight:800;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.02));box-shadow:inset 0 0 10px #30dcff1a}.pasture-rank-name{overflow:hidden;color:#e2faffe6;font-size:14px;line-height:17px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pasture-rank-value{color:#f0fdfff0;font-size:14px;line-height:17px;font-weight:900}.pasture-rank-value em{margin-left:4px;color:#d2f2f8b8;font-size:10px;font-style:normal;font-weight:700}.pasture-rank-track{position:relative;height:6px;margin:1px 0 0 45px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02)),rgba(3,22,33,.72);box-shadow:inset 0 0 12px #0000003d}.pasture-rank-track i{display:block;width:var(--rank-rate);height:100%;background:linear-gradient(90deg,rgba(35,246,200,.18),var(--rank-color));box-shadow:0 0 3px #30dcff1f}.pasture-grassland-profile{display:grid;grid-template-rows:54px minmax(0,1fr);gap:5px;height:100%;padding:2px 11px 3px;box-sizing:border-box}.pasture-grassland-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0}.pasture-grassland-feature-card{position:relative;overflow:hidden;padding:5px 9px 6px;border:1px solid rgba(48,220,255,.18);background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--area-color) 14%,transparent),transparent 42%),linear-gradient(135deg,rgba(19,90,112,.24),rgba(3,28,42,.5));box-shadow:inset 0 0 0 1px #ffffff08,inset 0 -18px 28px #00000024}.pasture-grassland-feature-card:after{position:absolute;right:-18px;top:-18px;width:54px;height:54px;border:1px solid color-mix(in srgb,var(--area-color) 55%,transparent);border-radius:50%;content:"";opacity:.28;box-shadow:none}.pasture-grassland-feature-card span{display:block;color:#dcfaffd1;font-size:12px;line-height:14px;font-weight:800}.pasture-grassland-feature-card strong{display:block;margin-top:1px;color:#fff;font-size:19px;line-height:22px;font-weight:900;text-shadow:none}.pasture-grassland-feature-card em,.pasture-grassland-mini-row em{margin-left:4px;color:#d8f4fab8;font-size:10px;font-style:normal;font-weight:800}.pasture-feature-track{position:absolute;right:10px;bottom:6px;left:10px;height:3px;overflow:hidden;background:rgba(14,57,72,.72)}.pasture-feature-track i{display:block;width:var(--area-rate);height:100%;background:linear-gradient(90deg,rgba(255,255,255,.18),var(--area-color));box-shadow:0 0 3px #30dcff1f}.pasture-grassland-mini-list{display:flex;flex-direction:column;gap:3px;min-height:0}.pasture-grassland-mini-row{display:grid;grid-template-columns:64px minmax(0,1fr) 70px;gap:6px;align-items:center;min-height:14px}.pasture-grassland-mini-row span{overflow:hidden;color:#defaffd6;font-size:12px;line-height:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pasture-grassland-mini-row strong{justify-self:end;color:#f5fdfff0;font-size:12px;line-height:14px;font-weight:900}.pasture-mini-track{height:5px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(8,39,54,.66)}.pasture-mini-track i{display:block;width:var(--area-rate);height:100%;background:linear-gradient(90deg,rgba(48,220,255,.08),var(--area-color));box-shadow:0 0 3px #30dcff1f}.pasture-video-card .m-card-bd-content{bottom:12px}.pasture-video-monitor{position:relative;display:block;height:100%;padding:2px 24px;box-sizing:border-box;pointer-events:auto}.pasture-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%;min-height:0}.pasture-video-grid.is-single{grid-template-columns:minmax(0,1fr)}.pasture-video-screen{position:relative;width:100%;height:100%;min-width:0;margin:0;overflow:hidden;cursor:pointer;border:1px solid rgba(48,220,255,.25);background-color:#020d14;background-position:center;background-size:cover;box-shadow:none}.pasture-video-screen.is-active{border-color:#7efbf6a8;box-shadow:none}.pasture-video-screen:not(.is-active){opacity:.88}.pasture-video-screen.is-playing{background-image:none!important}.pasture-video-player,.pasture-video-player>div,.pasture-video-player video,.pasture-video-player canvas,.pasture-video-player iframe{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1;width:100%!important;height:100%!important}.pasture-video-player{pointer-events:auto}.pasture-video-player video{object-fit:cover}.pasture-video-screen .loading-container,.pasture-video-screen .loading-item,.pasture-video-screen #loading-icon{display:none!important;visibility:hidden!important;pointer-events:none!important}.pasture-video-nav{position:absolute;top:50%;z-index:6;width:22px;height:42px;border:1px solid rgba(48,220,255,.26);color:#e3fdffe0;font-size:20px;line-height:20px;cursor:pointer;background:linear-gradient(180deg,rgba(48,220,255,.18),rgba(10,39,54,.56));box-shadow:inset 0 0 12px #30dcff1a;transform:translateY(-50%)}.pasture-video-nav:disabled{cursor:not-allowed;opacity:.38}.pasture-video-prev{left:18px}.pasture-video-next{right:18px}.pasture-video-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%,rgba(0,0,0,.44)),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 5px)}.pasture-video-screen.is-playing:before{background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 28%,rgba(0,0,0,.24))}.pasture-video-play{position:absolute;left:50%;top:46%;z-index:4;width:30px;height:30px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(0,0,0,.36);box-shadow:none;transform:translate(-50%,-50%)}.pasture-video-play:after{position:absolute;left:12px;top:8px;width:0;height:0;content:"";border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #ffffff}.pasture-video-point-name{position:absolute;right:10px;bottom:8px;left:10px;z-index:4;overflow:hidden;padding:4px 8px;border-left:2px solid rgba(69,233,164,.78);color:#fff;font-size:12px;line-height:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,.42)}.pasture-video-loading,.pasture-video-error{position:absolute;left:50%;top:50%;z-index:5;min-width:72px;padding:4px 8px;border:1px solid rgba(48,220,255,.32);color:#fff;font-size:11px;line-height:14px;text-align:center;background:rgba(0,0,0,.62);transform:translate(-50%,-50%)}.pasture-video-error{border-color:#8bf7ff6b;color:#c9fbff}.pasture-map-layer-tools{position:absolute;top:auto;right:458px;bottom:72px;left:auto;z-index:7;width:248px;height:430px;pointer-events:all}.pasture-map-layer-tools .m-card{width:100%!important;height:100%!important;background:rgba(3,18,30,.54);backdrop-filter:blur(2px)}.pasture-map-feature-info{position:absolute;z-index:9;width:460px;pointer-events:all}.pasture-map-feature-info .m-card{width:100%!important;background:rgba(3,18,30,.7);backdrop-filter:blur(2px)}.pasture-map-feature-close{position:absolute;top:18px;right:18px;z-index:3;width:30px;height:30px;border:1px solid rgba(64,224,255,.56);border-radius:2px;color:#e4fafff5;background:linear-gradient(135deg,rgba(37,213,255,.22),rgba(10,55,76,.72));box-shadow:inset 0 0 12px #2ad2ff2e,0 0 10px #1eb8e629;font-size:23px;line-height:26px;font-weight:400;text-align:center;cursor:pointer;pointer-events:all;transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease}.pasture-map-feature-close:hover{color:#fff;border-color:#34f6ffe6;background:linear-gradient(135deg,rgba(38,240,255,.34),rgba(13,75,102,.86));transform:translateY(-1px)}.pasture-management .business-bars.is-distribution{max-height:100%;padding-right:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.pasture-management .business-bars.is-distribution::-webkit-scrollbar{width:0;height:0}.yak-industry-chain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c}.industry-map-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.industry-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 48%,rgba(4,18,28,0) 0%,rgba(4,18,28,.05) 37%,rgba(2,10,17,.34) 78%,rgba(1,7,12,.62) 100%),linear-gradient(90deg,rgba(0,12,20,.42),transparent 26%,transparent 74%,rgba(0,12,20,.42))}.industry-map-loading{position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%);color:#dcfaffc7;font-size:18px}.industry-artificial-layer-tools{position:absolute;right:452px;bottom:122px;z-index:8;pointer-events:all}.industry-map-feature-info{position:absolute;z-index:10;pointer-events:all}.industry-map-feature-info:after{position:absolute;top:var(--feature-arrow-top);left:var(--feature-arrow-left);z-index:0;width:12px;height:12px;content:"";border-right:1px solid rgba(48,220,255,.58);border-bottom:1px solid rgba(48,220,255,.58);background:rgba(5,26,38,.94);box-shadow:3px 3px 8px #0000003d;transform:translate(-50%) rotate(var(--feature-arrow-rotate))}.industry-map-feature-info>.m-card{position:relative;z-index:1}.industry-side-panel{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.industry-side-panel--left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.industry-side-panel--right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.industry-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.industry-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.industry-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.industry-side-card{flex:0 0 auto}.industry-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff;overflow:hidden}.industry-side-card .industry-town-column-chart{position:relative;z-index:1;width:100%;height:100%;min-height:0}.industry-side-card .industry-panel-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#e2fbffad;font-size:13px;font-weight:600;letter-spacing:0;text-shadow:0 0 8px rgba(48,220,255,.14)}.industry-side-card .business-columns.is-variant-plain{grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:8px;padding-right:12px;padding-left:12px}.industry-side-card .business-columns.is-variant-plain .business-column-item{grid-template-rows:16px minmax(62px,1fr) 32px}.industry-side-card .business-columns.is-variant-plain .business-column-item span{display:-webkit-box;max-width:58px;color:#f0fdffdb;line-height:13px;white-space:normal;word-break:keep-all;-webkit-box-orient:vertical;-webkit-line-clamp:2}.industry-side-card .business-columns.is-variant-plain .business-column-track{width:6px}.industry-side-card .business-columns.is-variant-townCompact{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;padding:35px 13px 10px}.industry-side-card .business-columns.is-variant-townCompact:before{left:13px;right:13px;top:55px;bottom:40px;opacity:.46;background:linear-gradient(to bottom,transparent calc(100% - 1px),rgba(48,220,255,.58) calc(100% - 1px)),repeating-linear-gradient(to bottom,rgba(159,220,230,.16) 0 1px,transparent 1px 21px)}.industry-side-card .business-columns.is-variant-townCompact:after{content:"";position:absolute;left:13px;right:13px;bottom:39px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(60,244,255,.72),transparent);box-shadow:none}.industry-side-card .business-columns.is-variant-townCompact .business-column-item{position:relative;z-index:1;grid-template-rows:17px minmax(74px,1fr) 29px;min-width:0}.industry-side-card .business-columns.is-variant-townCompact .business-column-item strong{width:100%;color:#f4fcfff0;font-size:10px;line-height:14px;text-align:center;text-shadow:none}.industry-side-card .business-columns.is-variant-townCompact .business-column-item span{display:-webkit-box;align-self:start;width:100%;max-width:36px;height:25px;margin-top:3px;color:#e8fcffd1;font-size:10px;line-height:12px;text-align:center;white-space:normal;word-break:break-all;writing-mode:horizontal-tb;text-orientation:initial;letter-spacing:0;-webkit-box-orient:vertical;-webkit-line-clamp:2}.industry-side-card .business-columns.is-variant-townCompact .business-column-track{width:8px;height:100%;min-height:74px;align-self:end;border:0;border-radius:2px 2px 0 0;background:linear-gradient(180deg,rgba(48,220,255,.12),rgba(36,246,196,.015)),linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02) 48%,rgba(48,220,255,.1)),rgba(4,26,38,.22);box-shadow:inset 0 -1px #30dcff29}.industry-side-card .business-columns.is-variant-townCompact .business-column-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:18px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.12),rgba(48,220,255,0) 68%);transform:translate(-50%)}.industry-side-card .business-columns.is-variant-townCompact .business-column-track i{left:0;right:0;min-height:5px;border-radius:3px 3px 0 0;box-shadow:inset 0 1px #ffffff3d}.industry-side-card .business-columns.is-variant-townCompact .business-column-track i:before,.industry-side-card .business-columns.is-variant-townCompact .business-column-track i:after{display:none}.industry-side-card .business-columns.is-variant-townCompact .business-column-item.is-zero strong{opacity:0}.industry-side-card .business-columns.is-variant-townCompact .business-column-item.is-zero .business-column-track i{height:4px!important;opacity:.16;box-shadow:none}.industry-side-card .business-bars.is-rank-bar{padding-right:12px;padding-left:12px}.industry-side-card .business-bars.is-rank-bar .business-bar-name{font-size:12px;line-height:14px}.industry-featured-base-list{position:relative;z-index:1;display:grid;gap:8px;height:100%;padding:2px 3px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact{display:grid;grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:2px;padding:5px 13px 8px;overflow:hidden}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-row{height:auto;min-height:0;gap:10px;grid-template-columns:25px minmax(0,1fr) 104px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-rank{width:18px;height:18px;font-size:12px;line-height:19px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-name{font-size:13px;line-height:16px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-bar{height:5px;margin-top:6px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-value strong{font-size:16px;line-height:18px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-value em{font-size:12px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-value span{margin-top:3px;font-size:11px;line-height:13px}.industry-featured-base{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;width:100%;min-height:76px;padding:9px 28px 9px 9px;overflow:hidden;border:1px solid rgba(48,220,255,.16);border-radius:3px;background:linear-gradient(90deg,rgba(18,88,106,.27),rgba(6,25,38,.3)),rgba(3,20,31,.46);color:inherit;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.industry-featured-base:after{content:">";position:absolute;right:10px;top:50%;color:#24f6c4e6;font-size:16px;font-weight:800;transform:translateY(-50%)}.industry-featured-base:hover,.industry-featured-base:focus-visible{border-color:#24f6c48a;background:linear-gradient(90deg,rgba(18,112,120,.38),rgba(6,31,43,.38)),rgba(3,20,31,.56);outline:0;transform:translate(2px)}.industry-featured-base.is-active{border-color:#24f6c4b8;background:linear-gradient(90deg,rgba(30,124,119,.38),rgba(7,41,48,.42)),rgba(3,26,34,.62);box-shadow:inset 3px 0 #24f6c4e6,0 0 16px #24f6c41c}.industry-featured-base.is-active:after{color:#c9fbff}.industry-featured-base:disabled{cursor:default;opacity:.58}.industry-featured-base__index{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(48,220,255,.42);background:rgba(48,220,255,.09);color:#35f1ff;font-family:D-DIN,DIN Alternate,sans-serif;font-size:14px;font-weight:800}.industry-featured-base__copy{display:grid;min-width:0;gap:2px}.industry-featured-base__copy strong,.industry-featured-base__copy em,.industry-featured-base__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-featured-base__copy strong{color:#f6fffff5;font-size:14px;font-weight:760;line-height:18px}.industry-featured-base__copy em{color:#24f6c4eb;font-size:11px;font-style:normal;line-height:15px}.industry-featured-base__copy small{color:#cdeef4a8;font-size:11px;line-height:15px}.industry-leadership-mode-list{position:relative;z-index:1;display:grid;gap:7px;padding:3px 5px}.industry-leadership-mode{display:grid;grid-template-columns:4px 26px minmax(0,1fr);gap:8px;align-items:center;min-height:48px;padding:5px 6px;border-bottom:1px solid rgba(48,220,255,.1)}.industry-leadership-mode>i{display:block;width:4px;height:30px;box-shadow:0 0 10px currentColor}.industry-leadership-mode>span{color:#cff7ff75;font-family:D-DIN,DIN Alternate,sans-serif;font-size:13px;font-weight:800}.industry-leadership-mode div{display:grid;min-width:0;gap:2px}.industry-leadership-mode strong{color:#f6fffff2;font-size:13px;font-weight:760}.industry-leadership-mode small{overflow:hidden;color:#cdeef4a8;font-size:11px;line-height:15px;text-overflow:ellipsis;white-space:nowrap}.industry-ledger-list{display:grid;gap:7px}.industry-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;padding:7px 8px;border:1px solid rgba(48,220,255,.1);border-radius:4px;background:rgba(4,20,31,.42)}.industry-ledger-row div{min-width:0}.industry-ledger-row strong,.industry-ledger-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-ledger-row strong{color:#f1feffeb;font-size:13px;font-weight:760}.industry-ledger-row span{margin-top:4px;color:#c9edf494;font-size:11px}.industry-ledger-row em{color:#c9fbff;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.industry-point-detail{position:absolute;z-index:7;width:456px;padding:18px 20px 20px;border:1px solid rgba(48,220,255,.42);background:linear-gradient(180deg,rgba(12,54,70,.86),rgba(5,24,37,.9)),radial-gradient(circle at 20% 0%,rgba(36,246,196,.18),transparent 46%);box-shadow:0 0 24px #30dcff2e,inset 0 0 18px #30dcff14;color:#efffff;box-sizing:border-box;pointer-events:all}.industry-point-detail:after{content:"";position:absolute;left:var(--point-arrow-left, 50%);top:var(--point-arrow-top, 50%);width:16px;height:16px;border-right:1px solid rgba(48,220,255,.42);border-bottom:1px solid rgba(48,220,255,.42);background:rgba(5,24,37,.9);transform:translate(var(--point-arrow-x, -50%),var(--point-arrow-y, -50%)) rotate(var(--point-arrow-rotate, 45deg))}.industry-point-detail__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c9fbff;font-size:16px;font-weight:700}.industry-point-detail__head button{width:26px;height:26px;border:1px solid rgba(48,220,255,.36);border-radius:0;background:rgba(6,28,43,.72);color:#efffffe0;cursor:pointer;font-size:20px;line-height:20px}.industry-point-detail__name{margin-top:12px;color:#fff;font-size:23px;font-weight:800;line-height:1.35}.industry-point-detail__profile{margin-top:12px;padding-top:11px;border-top:1px solid rgba(48,220,255,.2)}.industry-point-detail__profile-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.industry-point-detail__profile-head span{color:#caf1f8b8;font-size:13px}.industry-point-detail__profile-head strong{color:#8bf7ff;font-size:13px;font-weight:760}.industry-point-detail__profile>p{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:#edfcffdb;font-size:14px;line-height:20px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.industry-point-detail__image{display:block;width:100%;height:116px;margin-top:9px;border:1px solid rgba(48,220,255,.22);object-fit:cover;object-position:center 35%}.industry-point-detail__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.industry-point-detail__facts div{min-width:0;padding:6px 7px;border:1px solid rgba(48,220,255,.13);background:rgba(2,18,30,.3)}.industry-point-detail__facts span,.industry-point-detail__facts strong,.industry-point-detail__facts small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-point-detail__facts span,.industry-point-detail__facts small{color:#c7ecf39e;font-size:11px;line-height:14px}.industry-point-detail__facts strong{margin:1px 0;color:#c9fbff;font-family:D-DIN,DIN Alternate,sans-serif;font-size:18px;font-weight:800;line-height:20px}.industry-point-detail__highlights{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:9px}.industry-point-detail__highlights>span{margin-right:2px;color:#caf1f8ad;font-size:12px}.industry-point-detail__highlights i{padding:3px 6px;border:1px solid rgba(36,246,196,.28);background:rgba(36,246,196,.08);color:#dcffd3eb;font-size:11px;font-style:normal;line-height:15px}.industry-point-detail__grid{display:grid;gap:9px;margin-top:16px}.industry-point-detail__row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;min-height:34px;align-items:center;border-bottom:1px solid rgba(48,220,255,.12)}.industry-point-detail__row span{color:#c4edf4bd;font-size:15px}.industry-point-detail__row strong{overflow:hidden;color:#f6fffff2;font-size:16px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.industry-point-detail__grid.is-family-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-top:14px}.industry-point-detail__grid.is-family-layout .industry-point-detail__row{grid-template-columns:74px minmax(0,1fr);gap:8px;min-height:31px;padding:2px 0}.industry-point-detail__grid.is-family-layout .industry-point-detail__row.is-wide{grid-column:1/-1}.industry-point-detail__grid.is-family-layout .industry-point-detail__row span{font-size:13px;line-height:16px}.industry-point-detail__grid.is-family-layout .industry-point-detail__row strong{font-size:14px;line-height:18px}.industry-bottom-switcher{position:absolute;left:50%;bottom:48px;z-index:8;display:flex;align-items:center;justify-content:center;transform:translate(-50%);pointer-events:all}.industry-bottom-switcher .topic-switcher{width:1340px}.industry-bottom-switcher .topic-switcher-item{width:var(--topic-item-width, 112px)}.industry-bottom-switcher .topic-switcher-item .topic-name{font-size:14px}.industry-bottom-switcher .topic-switcher-item .topic-title{font-size:14px;line-height:16px}.industry-bottom-switcher .topic-switcher-item .topic-name small{font-size:10px;line-height:11px}.wisdom-management{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#dffaff;background:radial-gradient(circle at 50% 45%,rgba(37,161,133,.28),rgba(3,16,28,.18) 35%,rgba(2,8,18,.86) 72%),linear-gradient(180deg,#041324,#030914);pointer-events:auto}.wisdom-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wisdom-grid{position:absolute;left:430px;right:430px;top:128px;bottom:8px;opacity:.18;background-image:linear-gradient(rgba(48,220,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.14) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at center,#000 42%,transparent 78%);mask-image:radial-gradient(circle at center,#000 42%,transparent 78%)}.wisdom-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(48,220,255,.18);border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 70px #30dcff0f,0 0 70px #20e8bc14}.wisdom-orbit-a{width:760px;height:760px;animation:wisdomOrbitSpin 24s linear infinite}.wisdom-orbit-b{width:980px;height:260px;border-color:#fad36b29;transform:translate(-50%,-48%) rotate(-9deg);animation:wisdomPulse 6s ease-in-out infinite}.wisdom-scan{position:absolute;left:50%;top:50%;width:620px;height:620px;border-radius:50%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent,rgba(48,220,255,.2),transparent 24%);opacity:.2;animation:wisdomScanSpin 8s linear infinite}.wisdom-artifact-workspace{position:absolute;left:590px;right:36px;top:112px;bottom:18px;z-index:6;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(48,220,255,.3);background:rgba(3,17,28,.96);box-shadow:inset 0 0 40px #30dcff0d,0 18px 42px #00000047}.wisdom-artifact-header{flex:0 0 62px;min-width:0;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(48,220,255,.18);background:linear-gradient(90deg,rgba(8,48,61,.92),rgba(5,25,37,.82))}.wisdom-artifact-heading,.wisdom-artifact-tools{min-width:0;display:flex;align-items:center;gap:12px}.wisdom-artifact-mark{position:relative;flex:0 0 28px;width:28px;height:28px;border:1px solid rgba(48,220,255,.68);background:rgba(48,220,255,.08)}.wisdom-artifact-mark:before,.wisdom-artifact-mark:after{content:"";position:absolute;background:#30dcff;box-shadow:0 0 10px #30dcff99}.wisdom-artifact-mark:before{left:6px;right:6px;top:8px;height:2px}.wisdom-artifact-mark:after{left:6px;right:10px;top:16px;height:2px}.wisdom-artifact-heading small,.wisdom-artifact-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-artifact-heading small{margin-bottom:3px;color:#30dcffad;font-size:11px}.wisdom-artifact-heading strong{max-width:720px;color:#fff;font-size:17px}.wisdom-artifact-status{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;color:#dffaffad;font-size:12px}.wisdom-artifact-status i{width:7px;height:7px;border-radius:50%;background:#ffd76c;box-shadow:0 0 10px #ffd76c99}.wisdom-artifact-status.is-ready i{background:#27f0c0;box-shadow:0 0 10px #27f0c099}.wisdom-artifact-status.is-error i{background:#ff956e;box-shadow:0 0 10px #ff956e8f}.wisdom-artifact-tools button,.wisdom-artifact-error button{height:30px;padding:0 12px;border:1px solid rgba(48,220,255,.32);background:rgba(7,43,56,.78);color:#dffaff;font-size:12px;cursor:pointer}.wisdom-artifact-tools button:hover:not(:disabled),.wisdom-artifact-error button:hover:not(:disabled){border-color:#ffd76c9e;color:#fff}.wisdom-artifact-tools button:disabled,.wisdom-artifact-error button:disabled{cursor:not-allowed;opacity:.5}.wisdom-artifact-body{position:relative;flex:1;min-height:0;overflow:hidden}.wisdom-artifact-frame{width:100%;height:100%;display:block;border:0;background:#06131d}.wisdom-artifact-building{height:100%;overflow:hidden;padding:28px;background:linear-gradient(rgba(48,220,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.04) 1px,transparent 1px),#06131d;background-size:36px 36px}.wisdom-artifact-building__intro{display:flex;align-items:center;gap:14px;margin-bottom:24px}.wisdom-artifact-building__intro strong,.wisdom-artifact-building__intro p{display:block;margin:0}.wisdom-artifact-building__intro strong{color:#fff;font-size:18px}.wisdom-artifact-building__intro p{margin-top:4px;color:#dffaff80;font-size:12px}.wisdom-artifact-building__spinner{width:30px;height:30px;border:2px solid rgba(48,220,255,.18);border-top-color:#30dcff;border-radius:50%;animation:wisdomSpin .9s linear infinite}.wisdom-artifact-skeleton{position:relative;height:190px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(8,35,47,.66)}.wisdom-artifact-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(99,239,226,.1),transparent);animation:wisdomArtifactShimmer 1.6s ease-in-out infinite}.wisdom-artifact-skeleton.is-wide{height:96px}.wisdom-artifact-skeleton.is-chart{height:260px;margin-top:14px}.wisdom-artifact-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.wisdom-artifact-error{height:100%;display:grid;place-content:center;justify-items:center;padding:32px;text-align:center;background:#06131d}.wisdom-artifact-error strong{color:#fff;font-size:20px}.wisdom-artifact-error p{max-width:520px;margin:10px 0 18px;color:#dffaff9e;font-size:13px;line-height:1.7}.wisdom-side{position:absolute;top:112px;bottom:18px;z-index:5;width:clamp(390px,21vw,460px);overflow-y:auto;display:grid;align-content:start;gap:16px;padding:6px 0 10px;box-sizing:border-box;scrollbar-width:none}.wisdom-side::-webkit-scrollbar{width:0;height:0}.wisdom-side-left{left:clamp(24px,2.4vw,52px)}.wisdom-side-right{right:clamp(24px,2.4vw,52px)}.wisdom-side-panel{min-height:0;border:1px solid rgba(48,220,255,.22);background:linear-gradient(135deg,rgba(6,37,50,.9),rgba(4,19,32,.86)),radial-gradient(circle at 18% 0%,rgba(39,240,192,.12),transparent 34%);box-shadow:inset 0 0 24px #30dcff12,0 14px 28px #00000038;padding:15px;box-sizing:border-box}.wisdom-side-panel.is-chart{padding:0;border:0;background:transparent;box-shadow:none}.wisdom-side-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.wisdom-side-header span{display:block;margin-bottom:5px;color:#30dcffb8;font-size:12px}.wisdom-side-header strong{display:block;max-width:220px;color:#fff;font-size:17px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-header em{flex:0 0 auto;padding:3px 8px;border:1px solid rgba(255,215,108,.32);color:#ffd76c;font-size:12px;font-style:normal;background:rgba(255,215,108,.08)}.wisdom-side-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wisdom-side-metric{min-width:0;padding:10px;border:1px solid rgba(48,220,255,.16);background:rgba(3,22,35,.58);box-sizing:border-box}.wisdom-side-metric span,.wisdom-side-metric em{display:block;color:#dffaff8c;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-metric strong{display:block;margin:4px 0;color:#ffd76c;font-family:D-DIN,Arial,sans-serif;font-size:17px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-text{color:#edfdffe0;font-size:13px;line-height:1.7}.wisdom-side-text h3{margin:0 0 8px;color:#fff;font-size:15px}.wisdom-side-text p{margin:7px 0}.wisdom-side-text ul,.wisdom-side-text ol{margin:8px 0 8px 18px;padding:0}.wisdom-side-text strong{color:#ffd76c}.wisdom-side-actions{display:flex;flex-wrap:wrap;gap:8px}.wisdom-side-text+.wisdom-side-actions,.wisdom-side-metrics+.wisdom-side-actions{margin-top:12px}.wisdom-side-actions button{height:30px;min-width:84px;padding:0 10px;border:1px solid rgba(48,220,255,.28);background:linear-gradient(135deg,rgba(8,48,62,.76),rgba(6,28,43,.76));color:#ffd76ce6;font-size:12px;cursor:pointer}.wisdom-side-actions button:hover:not(:disabled){border-color:#ffd76c9e;color:#fff}.wisdom-side-chart.smart-chart-card{width:100%;height:348px;margin-top:0}.wisdom-side-chart .smart-chart-header{height:58px;padding:10px 13px 0}.wisdom-side-chart .smart-chart-header strong{font-size:15px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-chart .smart-chart-header span,.wisdom-side-chart .smart-chart-header em{font-size:11px}.wisdom-side-chart .smart-chart{height:264px}.wisdom-avatar-ring,.wisdom-empty-mark span{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(48,220,255,.62);border-radius:50%;animation:wisdomSpin 7s linear infinite}.wisdom-avatar-ring:before,.wisdom-empty-mark span:before{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:#ffd76c;box-shadow:0 0 14px #ffd76ccc}.wisdom-chat{position:absolute;left:50%;top:112px;bottom:18px;z-index:4;width:clamp(720px,100% - 1040px,900px);display:flex;flex-direction:column;min-width:0;transform:translate(-50%)}.wisdom-chat.has-artifact{left:34px;right:auto;width:520px;transform:none}.wisdom-chat.has-artifact .wisdom-bubble{max-width:calc(100% - 46px)}.wisdom-dialogue{flex:1;min-height:0;overflow-y:auto;padding:8px 8px 18px;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.5) rgba(3,18,30,.3)}.wisdom-dialogue.is-empty{display:grid;place-items:center}.wisdom-empty-state{position:relative;width:560px;min-height:280px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.wisdom-empty-mark{position:relative;width:126px;height:126px;display:grid;place-items:center}.wisdom-empty-mark strong{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;color:#071520;font-family:D-DIN,Arial,sans-serif;font-size:34px;background:radial-gradient(circle at 32% 24%,#fff,#9cf8e9 48%,#2bd4cb 100%);box-shadow:0 0 42px #4ef3de61}.wisdom-empty-state h2{margin:18px 0 10px;color:#fff;font-size:28px;letter-spacing:0}.wisdom-empty-state p{margin:0;max-width:420px;color:#dffaffad;font-size:15px;line-height:1.8}.wisdom-suggestion-list button{height:34px;border:1px solid rgba(48,220,255,.28);background:linear-gradient(135deg,rgba(8,48,62,.78),rgba(6,28,43,.78));color:#dffaffdb;font-size:13px;cursor:pointer;box-shadow:inset 0 0 16px #30dcff0f}.wisdom-suggestion-list button:hover:not(:disabled){border-color:#ffd76c9e;color:#fff;background:linear-gradient(135deg,rgba(48,220,255,.18),rgba(255,215,108,.12))}.wisdom-message{display:flex;margin:14px 0;gap:10px}.wisdom-message.is-user{justify-content:flex-end}.wisdom-message-mark{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#06151f;font-weight:800;background:linear-gradient(135deg,#dffaff,#4cf0de);box-shadow:0 0 22px #4ef3de5c}.wisdom-bubble{max-width:min(680px,100% - 48px);box-sizing:border-box;border:1px solid rgba(48,220,255,.18);background:rgba(4,22,34,.92);box-shadow:inset 0 0 24px #30dcff0f,0 14px 34px #00000057;color:#edfdffeb;font-size:14px;line-height:1.7;padding:13px 15px}.smart-chart-loading{width:min(620px,100%);height:292px;margin-top:12px;display:grid;place-items:center;box-sizing:border-box;border:1px solid rgba(48,220,255,.22);background:rgba(4,22,34,.72);color:#ffd76cdb;font-size:13px;box-shadow:inset 0 0 24px #30dcff0f}.wisdom-suggestion-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.wisdom-suggestion-list button{width:auto;min-width:86px;padding:0 12px;color:#ffd76ce6}.wisdom-message.is-user .wisdom-bubble{max-width:min(560px,76%);border-color:#ffd76c42;background:linear-gradient(135deg,rgba(50,115,106,.9),rgba(13,54,65,.86))}.wisdom-steps{display:grid;gap:8px;margin-bottom:10px}.wisdom-step{display:flex;align-items:center;gap:8px;color:#dffaffa3;font-size:13px}.wisdom-step span{width:14px;height:14px;border-radius:50%;border:1px solid rgba(48,220,255,.7);position:relative}.wisdom-step span:after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border-right:2px solid #30dcff;border-bottom:2px solid #30dcff;transform:rotate(40deg)}.wisdom-digesting{display:flex;align-items:center;gap:8px;color:#ffd76ce0}.wisdom-digesting span,.wisdom-button-loading{width:8px;height:8px;border-radius:50%;background:#ffd76c;animation:wisdomBounce 1s ease-in-out infinite}.wisdom-digesting span:nth-child(2){animation-delay:.14s}.wisdom-digesting span:nth-child(3){animation-delay:.28s}.wisdom-digesting em{font-style:normal}.wisdom-answer{color:#edfdfff0}.wisdom-answer h3{margin:12px 0 8px;color:#fff;font-size:17px}.wisdom-answer p{margin:8px 0}.wisdom-answer ul,.wisdom-answer ol{margin:8px 0 8px 20px;padding:0}.wisdom-answer li{margin:4px 0}.wisdom-answer strong{color:#ffd76c}.wisdom-stream-caret{display:inline-block;width:8px;height:18px;margin-left:4px;vertical-align:middle;background:#30dcff;animation:wisdomBlink .8s steps(2,start) infinite}.wisdom-input-bar{flex:0 0 64px;padding:8px 8px 0;box-sizing:border-box}.wisdom-input-shell{height:50px;border:1px solid rgba(48,220,255,.34);background:linear-gradient(135deg,rgba(8,42,55,.92),rgba(3,18,31,.92));box-shadow:inset 0 0 24px #30dcff14,0 0 30px #30dcff1a;display:flex;align-items:center;gap:10px;padding:0 8px 0 16px;box-sizing:border-box}.wisdom-input-icon{width:16px;height:16px;border:2px solid #30dcff;border-radius:50%;position:relative;flex:0 0 auto}.wisdom-input-icon:after{content:"";position:absolute;right:-7px;bottom:-5px;width:8px;height:2px;border-radius:2px;background:#30dcff;transform:rotate(45deg)}.wisdom-input-shell input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:15px}.wisdom-input-shell input::placeholder{color:#dffaff6b}.wisdom-submit-button{width:92px;height:36px;border:1px solid rgba(255,215,108,.46);background:linear-gradient(135deg,rgba(255,215,108,.26),rgba(48,220,255,.12));color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.wisdom-voice-button{position:relative;flex:0 0 auto;width:38px;height:36px;border:1px solid rgba(48,220,255,.32);background:rgba(6,35,49,.76);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.wisdom-voice-button span{position:relative;width:10px;height:17px;border:2px solid #30dcff;border-radius:8px;box-sizing:border-box}.wisdom-voice-button span:before{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:8px;border:2px solid #30dcff;border-top:0;border-radius:0 0 10px 10px;transform:translate(-50%)}.wisdom-voice-button span:after{content:"";position:absolute;left:50%;bottom:-12px;width:12px;height:2px;border-radius:2px;background:#30dcff;transform:translate(-50%)}.wisdom-voice-button.is-listening{border-color:#ffd76c9e;background:rgba(255,215,108,.14);box-shadow:0 0 18px #ffd76c38}.wisdom-voice-button.is-listening span,.wisdom-voice-button.is-listening span:before{border-color:#ffd76c}.wisdom-voice-button.is-listening span:after{background:#ffd76c}.wisdom-submit-button:disabled,.wisdom-voice-button:disabled{cursor:not-allowed;opacity:.62}.wisdom-button-loading{width:12px;height:12px;border:2px solid rgba(255,255,255,.34);border-top-color:#fff;background:transparent;animation:wisdomSpin .8s linear infinite}@keyframes wisdomSpin{to{transform:rotate(360deg)}}@keyframes wisdomOrbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes wisdomScanSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes wisdomPulse{0%,to{opacity:.36}50%{opacity:.72}}@keyframes wisdomBounce{0%,to{transform:translateY(0);opacity:.42}50%{transform:translateY(-5px);opacity:1}}@keyframes wisdomBlink{50%{opacity:0}}@keyframes wisdomArtifactShimmer{to{transform:translate(100%)}}@media (max-width: 1480px){.wisdom-artifact-workspace{left:430px;right:20px}.wisdom-chat.has-artifact{left:20px;right:auto;width:390px}.wisdom-artifact-heading strong{max-width:520px}.wisdom-side{top:112px;bottom:16px;width:318px}.wisdom-side-left{left:20px}.wisdom-side-right{right:20px}.wisdom-side-chart.smart-chart-card{height:320px}.wisdom-side-chart .smart-chart{height:236px}.wisdom-chat{width:clamp(560px,100% - 760px,760px)}}@media (max-width: 1280px){.wisdom-side{display:none}.wisdom-chat{width:min(860px,100% - 80px)}.wisdom-artifact-workspace{left:374px;right:16px}.wisdom-chat.has-artifact{left:16px;right:auto;width:342px}.wisdom-artifact-heading strong{max-width:360px}.wisdom-artifact-tools{gap:8px}.wisdom-artifact-status{display:none}}body{font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);background:#000;-webkit-user-select:none;user-select:none}.loading{position:absolute;left:0;top:0;right:0;bottom:0;background:#000;pointer-events:none;z-index:99}.loading-text{display:flex;justify-content:center;align-items:center;width:100%;height:100%;color:#fff;font-family:D-DIN,Arial,sans-serif;letter-spacing:10px}.loading-text span{font-size:2vw;animation:blurAni 1.5s calc(var(--index) / 5 * 1s) alternate infinite}.loading-progress{font-size:2vw;color:#fff;font-family:D-DIN,Arial,sans-serif;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center;margin-top:-3vw}.loading-progress .unit{padding-left:10px;font-size:1vw}@keyframes blurAni{to{filter:blur(3px)}}.large-screen{position:relative;width:100%;height:100%;background:#050f33;margin:0 auto;font-size:14px}.large-screen .map{position:relative;width:100%;height:100%;z-index:2}.large-screen-wrap{position:absolute;left:0;right:0;top:0;bottom:0;z-index:3;pointer-events:none}.large-screen-wrap:after{content:"";display:block;position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;opacity:.5;background:url(./bg-3acb94e3-balabala-1783905032331.png) no-repeat;background-size:cover}.large-screen-wrap .top-count-card{position:absolute;left:560px;right:560px;top:130px;justify-content:center;z-index:9;display:flex}.large-screen-wrap .top-count-card>div{padding:0 50px}.large-screen-wrap .left-wrap{position:absolute;z-index:4;width:398px;left:32px;top:126px;bottom:50px;perspective:500px;perspective-origin:50% 50%}.large-screen-wrap .left-wrap-3d{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;flex-direction:column;transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(6deg) rotate(0) skew(0) skewY(0);z-index:4}.large-screen-wrap .left-wrap-3d .left-card{flex:1;margin-bottom:12px}.large-screen-wrap .right-wrap{position:absolute;z-index:4;width:398px;right:32px;top:126px;bottom:50px;perspective:800px;perspective-origin:50% 50%}.large-screen-wrap .right-wrap-3d{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;flex-direction:column;transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(-6deg) rotate(0) skew(0) skewY(0)}.large-screen-wrap .right-wrap-3d .right-card{flex:1;margin-bottom:12px}.large-screen-wrap .bottom-tray{position:absolute;left:50%;bottom:0;z-index:3;margin-left:-960px;width:1920px;height:90px;box-sizing:border-box;padding-top:20px;display:flex;justify-content:center;background:url(./bottom-menu-bg-b465793d-balabala-1783905032331.png) no-repeat;background-size:contain}.large-screen-wrap .bottom-tray-arrow{display:flex;align-items:center;height:30px}.large-screen-wrap .bottom-tray-arrow.is-reverse{transform:scaleX(-1)}.large-screen-wrap .bottom-tray-arrow img{animation:arrowAnimate 2s ease-in-out infinite}.large-screen-wrap .bottom-tray-arrow img:last-child{animation:arrowAnimate2 2s ease-in-out infinite}.large-screen-wrap .bottom-tray .bottom-menu{display:flex;padding:0 20px}.large-screen-wrap .bottom-tray .bottom-menu-item{width:100px;height:32px;background:url(./bottom-menu-btn-ee5c8064-balabala-1783905032331.png) no-repeat;background-size:100%;font-size:15px;letter-spacing:1.6px;text-align:center;line-height:30px;cursor:pointer;pointer-events:all}.large-screen-wrap .bottom-tray .bottom-menu-item span{display:block;width:100px;height:32px;font-weight:700;background:-webkit-linear-gradient(rgb(117,232,255),rgb(255,255,255));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.large-screen-wrap .bottom-tray .bottom-menu-item:hover,.large-screen-wrap .bottom-tray .bottom-menu-item.is-active{background:url(./bottom-menu-btn-hover-df33e514-balabala-1783905032331.png) no-repeat;background-size:100%}.large-screen-left-zsline{position:absolute;left:0;z-index:3;top:50%;margin-top:-540px;width:120px;height:1080px;background:url(./left-kuang-5d6bd1ae-balabala-1783905032331.svg) no-repeat;background-size:contain;animation:bkAnimate 3s infinite}.large-screen-right-zsline{position:absolute;right:0;z-index:3;top:50%;margin-top:-540px;width:120px;height:1080px;background:url(./right-kuang-b1937caf-balabala-1783905032331.svg) no-repeat;background-size:contain;animation:bkAnimate 3s infinite}@keyframes bkAnimate{0%{opacity:1}50%{opacity:.2}to{opacity:1}}@keyframes arrowAnimate{0%{transform:translate(0)}50%{transform:translate(100%)}to{transform:translate(0)}}@keyframes arrowAnimate2{0%{transform:translate(0)}50%{transform:translate(90%)}to{transform:translate(0)}}@keyframes rotate360Animate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.platform-screen{position:fixed!important;left:0;top:0;margin:0}.platform-screen>.large-screen-wrap:after{content:none}.platform-screen.is-forest-grass-wet .large-screen-wrap:after{opacity:.28}.platform-screen.is-forest-grass-wet .large-screen-left-zsline,.platform-screen.is-forest-grass-wet .large-screen-right-zsline{filter:brightness(1.3) drop-shadow(0 0 14px rgba(48,220,255,.32))}.platform-screen.is-home .large-screen-wrap:after{opacity:.34}.platform-screen.is-home .large-screen-left-zsline,.platform-screen.is-home .large-screen-right-zsline{filter:brightness(1.32) drop-shadow(0 0 16px rgba(36,246,196,.28))}.platform-screen.is-ecological-protection .large-screen-wrap:after{opacity:.22}.platform-screen.is-ecology-national-park .top-menu-mid-space{width:920px}.platform-screen.is-grass-livestock-balance .large-screen-wrap:after{opacity:.24}.platform-screen.is-grass-livestock-balance .large-screen-left-zsline,.platform-screen.is-grass-livestock-balance .large-screen-right-zsline{filter:brightness(1.24) drop-shadow(0 0 14px rgba(255,215,108,.18))}.platform-screen.is-yak-management .large-screen-wrap:after{opacity:.24}.platform-screen.is-yak-management .large-screen-left-zsline,.platform-screen.is-yak-management .large-screen-right-zsline{filter:brightness(1.22) drop-shadow(0 0 14px rgba(48,220,255,.26))}.platform-screen.is-pasture-management .large-screen-wrap:after{opacity:.26}.platform-screen.is-pasture-management .large-screen-left-zsline,.platform-screen.is-pasture-management .large-screen-right-zsline{filter:brightness(1.28) drop-shadow(0 0 14px rgba(36,246,196,.28))}.platform-screen.is-yak-industry-chain .large-screen-wrap:after{opacity:.24}.platform-screen.is-yak-industry-chain .large-screen-left-zsline,.platform-screen.is-yak-industry-chain .large-screen-right-zsline{filter:brightness(1.28) drop-shadow(0 0 14px rgba(48,220,255,.24))}.platform-screen.is-smart-management .large-screen-wrap:after{opacity:.2}.platform-screen .platform-module-pane{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.platform-screen .platform-map-tools{position:absolute;left:448px;bottom:168px;z-index:80;display:flex;flex-direction:column;gap:7px;pointer-events:all;transform:perspective(var(--screen-side-perspective-left, 500px)) rotateY(6deg);transform-origin:left center}.platform-screen .platform-map-tools button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(126,251,246,.62);border-radius:3px;color:#f0feff;font-weight:900;background:linear-gradient(180deg,rgba(18,99,123,.92),rgba(4,36,56,.96)),rgba(4,24,37,.9);box-shadow:0 0 14px #30dcff52,0 0 3px #7efbf666,inset 0 0 0 1px #ffffff1a,inset 0 -8px 14px #30dcff29;cursor:pointer}.platform-screen .platform-map-tools button:hover{border-color:#7efbf6c2;color:#fff;background:linear-gradient(180deg,rgba(25,127,148,.96),rgba(6,48,68,.98)),rgba(6,35,52,.92);box-shadow:0 0 18px #30dcff6b,0 0 4px #7efbf680,inset 0 0 0 1px #ffffff1f,inset 0 -8px 14px #30dcff2e}.platform-screen .platform-map-tools button:active{transform:translateY(1px)}.platform-screen .platform-map-tool-icon{position:relative;flex:0 0 15px;width:15px;height:15px;color:#7efbf6}.platform-screen .platform-map-tool-icon.is-fullscreen{background:linear-gradient(currentColor,currentColor) left top/5px 2px no-repeat,linear-gradient(currentColor,currentColor) left top/2px 5px no-repeat,linear-gradient(currentColor,currentColor) right top/5px 2px no-repeat,linear-gradient(currentColor,currentColor) right top/2px 5px no-repeat,linear-gradient(currentColor,currentColor) left bottom/5px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom/2px 5px no-repeat,linear-gradient(currentColor,currentColor) right bottom/5px 2px no-repeat,linear-gradient(currentColor,currentColor) right bottom/2px 5px no-repeat}.platform-screen .platform-map-tool-icon.is-reset{width:15px;height:15px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;box-sizing:border-box}.platform-screen .platform-map-tool-icon.is-reset:after{content:"";position:absolute;left:-2px;top:0;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:5px solid currentColor;transform:rotate(-18deg)}.platform-screen .top-menu{position:absolute;left:50%;top:46px;z-index:10;transform:translate(-50%)}.platform-screen .top-menu .m-menu{justify-content:center;align-items:center}.platform-screen .top-menu .m-menu-item{min-width:118px;height:34px;padding:0 18px;font-size:14px;line-height:34px;letter-spacing:0}.platform-screen .top-menu .m-menu-item.is-active:after{width:calc(100% - 12px);height:28px;margin-left:calc(-50% + 6px);margin-top:-14px;border-radius:28px;transform:none;animation:platformMenuActivePulse 1.35s ease-in-out infinite}.platform-screen .top-menu .top-menu-mid-space{width:820px;height:1px;pointer-events:none}.platform-screen .m-header-right{top:5px;right:14px;z-index:30}.platform-screen .m-header-tools{display:flex;align-items:center;gap:8px;min-height:42px;pointer-events:auto}.platform-screen .platform-weather{position:relative;display:flex;align-items:center;gap:8px;height:40px;min-width:184px;padding:0 12px 0 4px;color:#e5faffe6;white-space:nowrap}.platform-screen .platform-weather:after{content:"";position:absolute;left:4px;right:12px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(48,220,255,.72),rgba(48,220,255,0));opacity:.54}.platform-screen .platform-weather.is-unavailable{min-width:150px;color:#c4f3fe94}.platform-screen .platform-weather__icon{width:34px;height:34px;flex:none;object-fit:contain;filter:drop-shadow(0 0 8px rgba(48,220,255,.26))}.platform-screen .platform-weather__fallback-icon{position:relative;width:30px;height:24px;flex:none}.platform-screen .platform-weather__fallback-icon:before{content:"";position:absolute;left:2px;bottom:2px;width:24px;height:10px;border:1px solid rgba(92,232,255,.72);border-radius:8px;box-shadow:0 0 8px #30dcff2e}.platform-screen .platform-weather__fallback-icon:after{content:"";position:absolute;left:8px;top:2px;width:11px;height:11px;border:1px solid rgba(92,232,255,.72);border-radius:50%;background:rgba(8,42,58,.9)}.platform-screen .platform-weather__copy{display:grid;align-content:center;gap:1px;min-width:0}.platform-screen .platform-weather__primary{display:inline-flex;align-items:center;gap:8px}.platform-screen .platform-weather__primary strong{color:#f2fdff;font-size:13px;font-weight:700;line-height:17px}.platform-screen .platform-weather__primary em{color:#69eff2;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:19px;font-style:normal;font-weight:800;line-height:19px}.platform-screen .platform-weather__copy small{display:flex;align-items:center;gap:6px;color:#c4f3fe9e;font-size:10px;font-weight:400;line-height:13px}.platform-screen .platform-weather__copy small i{width:2px;height:2px;border-radius:50%;background:rgba(92,232,255,.6);box-shadow:0 0 4px #30dcff66}.platform-screen .platform-datetime{position:relative;display:grid;justify-items:end;align-content:center;gap:0;width:112px;height:40px;padding:0 10px 0 13px;white-space:nowrap}.platform-screen .platform-datetime:before{content:"";position:absolute;left:0;top:9px;width:1px;height:22px;background:linear-gradient(180deg,transparent,rgba(92,232,255,.52),transparent)}.platform-screen .platform-datetime span{color:#c4f3fea3;font-size:10px;line-height:13px}.platform-screen .platform-datetime strong{color:#ecfcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:19px;font-weight:800;line-height:21px;text-align:right;text-shadow:0 0 8px rgba(48,220,255,.18)}.platform-screen .logout-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(92,232,255,.72);border-radius:2px;background:linear-gradient(180deg,rgba(28,126,166,.62),rgba(3,32,55,.86)),rgba(2,18,34,.72);box-shadow:inset 0 0 13px #30dcff2e,0 0 12px #30dcff33;color:#e7fbff;cursor:pointer;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.platform-screen .logout-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.platform-screen .logout-button:hover{border-color:#30dcffc7;box-shadow:inset 0 0 14px #30dcff29,0 0 14px #30dcff38;color:#fff;transform:translateY(-1px)}.platform-screen .top-count-card{left:420px;right:420px;top:108px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;justify-content:stretch}.platform-screen .top-count-card>div{min-width:0;padding:0!important;justify-content:center}.platform-screen .top-count-card .count-card{min-width:0;min-height:90px}.platform-screen .top-count-card .count-card:before{content:none}.platform-screen .top-count-card .count-card-title,.platform-screen .top-count-card .count-card-left,.platform-screen .top-count-card .count-card-right{min-width:0}.platform-screen .top-count-card .count-card-icon{width:76px;height:90px;flex-basis:76px;margin-right:2px}.platform-screen .top-count-card .count-card-right{padding-left:10px}.platform-screen .top-count-card .count-card-right .value{min-height:34px;margin-right:6px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px;letter-spacing:0}.platform-screen .top-count-card .count-card-right .unit{padding-top:10px;font-size:var(--screen-kpi-unit-size, 11px);line-height:1}.platform-screen .top-count-card .count-card-title .title-zh{font-size:var(--screen-kpi-label-size, 14px);line-height:18px}.platform-screen .top-count-card .count-card-title .title-en{max-width:112px;overflow:hidden;text-overflow:ellipsis}.platform-screen .top-count-card.is-four{left:450px;right:450px;top:102px;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:10px}.platform-screen .top-count-card.is-four .count-card-icon{width:72px;height:86px;flex-basis:72px;margin-right:2px}.platform-screen .top-count-card.is-four .count-card-right{padding-left:6px}.platform-screen .top-count-card.is-four .count-card-right .value{min-height:34px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px}.platform-screen .top-count-card.is-four .count-card-right .unit{padding-top:9px;font-size:var(--screen-kpi-unit-size, 11px)}.platform-screen .top-count-card.is-four .count-card-title .title-zh{font-size:var(--screen-kpi-label-size, 14px)}.platform-screen .top-count-card.is-four .count-card-title .title-en{max-width:90px;font-size:10px}.platform-screen .top-count-card.is-multi{left:390px;right:390px;top:102px;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:72px;column-gap:10px;row-gap:8px;z-index:8}.platform-screen .top-count-card.is-multi>div{justify-content:center}.platform-screen .top-count-card.is-multi .count-card{min-height:72px}.platform-screen .top-count-card.is-multi .count-card-left{flex:0 0 auto}.platform-screen .top-count-card.is-multi .count-card-icon{display:block;width:64px;height:72px;flex-basis:64px;margin-right:0}.platform-screen .top-count-card.is-multi .count-card-right{flex:0 0 auto;padding-left:4px}.platform-screen .top-count-card.is-multi .count-card-right .value{min-height:34px;margin-right:4px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px}.platform-screen .top-count-card.is-multi .count-card-right .unit{padding-top:9px;font-size:var(--screen-kpi-unit-size, 11px);opacity:.72}.platform-screen .top-count-card.is-multi .count-card-title .title-zh{max-width:none;font-size:var(--screen-kpi-label-size, 14px);line-height:1.18;white-space:nowrap}.platform-screen .top-count-card.is-multi .count-card-title .title-en{display:none}.platform-screen .top-count-card.is-multi>div:nth-child(6){grid-column:2}.platform-screen .top-count-card.is-multi>div:nth-child(7){grid-column:3}.platform-screen .top-count-card.is-multi>div:nth-child(8){grid-column:4}.platform-screen .top-count-card.is-count-five>div{justify-content:center}.platform-screen .top-count-card.is-home-five{left:390px;right:390px;top:102px;display:flex;grid-template-columns:none;grid-auto-rows:auto;column-gap:0;row-gap:0;justify-content:space-between;align-items:center;z-index:9}.platform-screen .top-count-card.is-home-five>div{flex:0 0 auto;width:auto;min-width:184px;justify-content:center}.platform-screen .top-count-card.is-home-five .count-card{min-height:76px}.platform-screen .top-count-card.is-home-five .count-card-left{flex:0 0 auto}.platform-screen .top-count-card.is-home-five .count-card-icon{width:72px;height:80px;flex-basis:72px;margin-right:4px}.platform-screen .top-count-card.is-home-five .count-card-right{flex:0 0 auto;padding-left:6px}.platform-screen .top-count-card.is-home-five .count-card-right .value{min-height:34px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px}.platform-screen .top-count-card.is-home-five .count-card-right .unit{padding-top:9px;font-size:var(--screen-kpi-unit-size, 11px)}.platform-screen .top-count-card.is-home-five .count-card-title .title-zh{max-width:none;font-size:var(--screen-kpi-label-size, 14px);line-height:18px;white-space:nowrap}.platform-screen .top-count-card.is-home-five .count-card-title .title-en{display:none}.platform-screen.is-ecology-national-park .top-count-card.is-home-five{left:390px;right:430px;top:96px;display:flex;justify-content:space-between}.platform-screen.is-ecology-national-park .top-count-card.is-home-five>div{min-width:0;zoom:.88}.platform-screen .bottom-menu-item{width:96px!important;margin:0 2px}.platform-screen .bottom-menu-item span{width:96px!important;font-size:13px}.platform-screen .bottom-svg-line-left,.platform-screen .bottom-svg-line-right{position:absolute;right:50%;bottom:-21px;width:721px;height:57px;margin-right:-5px}.platform-screen .bottom-svg-line-right{left:50%;right:inherit;margin-left:-5px;margin-right:inherit;transform:scaleX(-1)}.platform-screen .module-coming{position:absolute;left:50%;top:50%;z-index:12;width:360px;height:130px;padding-top:28px;border:1px solid rgba(48,220,255,.28);background:rgba(3,18,30,.72);color:#fff;text-align:center;transform:translate(-50%,-50%);pointer-events:none;box-sizing:border-box}.platform-screen .module-coming-title{font-size:24px;font-weight:700}.platform-screen .module-coming-text{margin-top:12px;color:#ffffff9e;font-size:14px}.platform-screen .platform-loading{position:absolute;z-index:99}.platform-screen .platform-loading .loading-text{gap:10px;letter-spacing:0}@keyframes platformMenuActivePulse{0%{opacity:.68;box-shadow:0 0 #0af0}58%{opacity:.38;box-shadow:0 0 14px #30dcff5c}to{opacity:0;box-shadow:0 0 22px #30dcff1f}} diff --git a/docs/assets/index-4de14368-balabala-1783905032331.css b/docs/assets/index-151bcf82-balabala-1783957353180.css similarity index 97% rename from docs/assets/index-4de14368-balabala-1783905032331.css rename to docs/assets/index-151bcf82-balabala-1783957353180.css index 44c3433..b03db9c 100644 --- a/docs/assets/index-4de14368-balabala-1783905032331.css +++ b/docs/assets/index-151bcf82-balabala-1783957353180.css @@ -1 +1 @@ -.login-screen[data-v-8ebd0d6e]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg,rgba(4,16,38,.1),rgba(2,8,22,.62)),url(./bg-3acb94e3-balabala-1783905032331.png) center/cover no-repeat,#05142f;color:#fff}.login-screen[data-v-8ebd0d6e]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(0,0,0,.46),transparent 42%,rgba(0,0,0,.35)),radial-gradient(circle at 52% 46%,rgba(48,220,255,.16),transparent 32%)}.login-shell[data-v-8ebd0d6e]{position:relative;z-index:1;width:min(980px,100vw - 48px);display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:center}.login-brand[data-v-8ebd0d6e]{display:flex;flex-direction:column;gap:14px;min-width:0;text-shadow:0 0 20px rgba(48,220,255,.36)}.login-brand span[data-v-8ebd0d6e]{font-size:42px;line-height:1.2;font-weight:700}.login-brand small[data-v-8ebd0d6e]{color:#c4f3feb8;font-size:13px;letter-spacing:0}.login-panel[data-v-8ebd0d6e]{width:360px;padding:30px 28px 28px;border:1px solid rgba(48,220,255,.34);background:rgba(3,14,32,.82);box-shadow:0 24px 70px #00000057,inset 0 0 28px #30dcff14;box-sizing:border-box}.login-panel-title[data-v-8ebd0d6e]{margin-bottom:26px;color:#fff;font-size:22px;font-weight:700;text-align:center}.login-field[data-v-8ebd0d6e]{display:block;margin-bottom:18px}.login-field span[data-v-8ebd0d6e]{display:block;margin-bottom:8px;color:#c4f3fec7;font-size:13px}.login-field input[data-v-8ebd0d6e]{width:100%;height:42px;padding:0 12px;border:1px solid rgba(48,220,255,.26);outline:none;background:rgba(0,10,24,.62);color:#fff;font-size:15px;box-sizing:border-box}.login-field input[data-v-8ebd0d6e]:focus{border-color:#30dcffb8;box-shadow:0 0 0 2px #30dcff1f}.login-error[data-v-8ebd0d6e]{min-height:20px;margin:-4px 0 12px;color:#ffcf8a;font-size:13px;line-height:20px}.login-submit[data-v-8ebd0d6e]{width:100%;height:44px;border:1px solid rgba(48,220,255,.52);background:linear-gradient(90deg,rgba(24,140,196,.92),rgba(37,204,218,.92));color:#fff;cursor:pointer;font-size:16px;font-weight:700}.login-submit[data-v-8ebd0d6e]:disabled{cursor:not-allowed;opacity:.68}@media (max-width: 820px){.login-shell[data-v-8ebd0d6e]{grid-template-columns:1fr;gap:28px}.login-brand span[data-v-8ebd0d6e]{font-size:30px}.login-panel[data-v-8ebd0d6e]{width:100%}} +.login-screen[data-v-8ebd0d6e]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg,rgba(4,16,38,.1),rgba(2,8,22,.62)),url(./bg-3acb94e3-balabala-1783957353180.png) center/cover no-repeat,#05142f;color:#fff}.login-screen[data-v-8ebd0d6e]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(0,0,0,.46),transparent 42%,rgba(0,0,0,.35)),radial-gradient(circle at 52% 46%,rgba(48,220,255,.16),transparent 32%)}.login-shell[data-v-8ebd0d6e]{position:relative;z-index:1;width:min(980px,100vw - 48px);display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:center}.login-brand[data-v-8ebd0d6e]{display:flex;flex-direction:column;gap:14px;min-width:0;text-shadow:0 0 20px rgba(48,220,255,.36)}.login-brand span[data-v-8ebd0d6e]{font-size:42px;line-height:1.2;font-weight:700}.login-brand small[data-v-8ebd0d6e]{color:#c4f3feb8;font-size:13px;letter-spacing:0}.login-panel[data-v-8ebd0d6e]{width:360px;padding:30px 28px 28px;border:1px solid rgba(48,220,255,.34);background:rgba(3,14,32,.82);box-shadow:0 24px 70px #00000057,inset 0 0 28px #30dcff14;box-sizing:border-box}.login-panel-title[data-v-8ebd0d6e]{margin-bottom:26px;color:#fff;font-size:22px;font-weight:700;text-align:center}.login-field[data-v-8ebd0d6e]{display:block;margin-bottom:18px}.login-field span[data-v-8ebd0d6e]{display:block;margin-bottom:8px;color:#c4f3fec7;font-size:13px}.login-field input[data-v-8ebd0d6e]{width:100%;height:42px;padding:0 12px;border:1px solid rgba(48,220,255,.26);outline:none;background:rgba(0,10,24,.62);color:#fff;font-size:15px;box-sizing:border-box}.login-field input[data-v-8ebd0d6e]:focus{border-color:#30dcffb8;box-shadow:0 0 0 2px #30dcff1f}.login-error[data-v-8ebd0d6e]{min-height:20px;margin:-4px 0 12px;color:#ffcf8a;font-size:13px;line-height:20px}.login-submit[data-v-8ebd0d6e]{width:100%;height:44px;border:1px solid rgba(48,220,255,.52);background:linear-gradient(90deg,rgba(24,140,196,.92),rgba(37,204,218,.92));color:#fff;cursor:pointer;font-size:16px;font-weight:700}.login-submit[data-v-8ebd0d6e]:disabled{cursor:not-allowed;opacity:.68}@media (max-width: 820px){.login-shell[data-v-8ebd0d6e]{grid-template-columns:1fr;gap:28px}.login-brand span[data-v-8ebd0d6e]{font-size:30px}.login-panel[data-v-8ebd0d6e]{width:100%}} diff --git a/docs/assets/index-1783905032331.js b/docs/assets/index-1783957353180.js similarity index 63% rename from docs/assets/index-1783905032331.js rename to docs/assets/index-1783957353180.js index d941ad3..f7091cb 100644 --- a/docs/assets/index-1783905032331.js +++ b/docs/assets/index-1783957353180.js @@ -1,28 +1,28 @@ -var qO=Object.defineProperty,KO=Object.defineProperties;var jO=Object.getOwnPropertyDescriptors;var lS=Object.getOwnPropertySymbols;var JO=Object.prototype.hasOwnProperty,QO=Object.prototype.propertyIsEnumerable;var uS=(r,t,e)=>t in r?qO(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,fS=(r,t)=>{for(var e in t||(t={}))JO.call(t,e)&&uS(r,e,t[e]);if(lS)for(var e of lS(t))QO.call(t,e)&&uS(r,e,t[e]);return r},cS=(r,t)=>KO(r,jO(t));var vl=(r,t,e)=>new Promise((n,i)=>{var a=l=>{try{s(e.next(l))}catch(u){i(u)}},o=l=>{try{s(e.throw(l))}catch(u){i(u)}},s=l=>l.done?n(l.value):Promise.resolve(l.value).then(a,o);s((e=e.apply(r,t)).next())});(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function e(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=e(i);fetch(i.href,a)}})();/** -* @vue/shared v3.5.31 +var qO=Object.defineProperty,KO=Object.defineProperties;var jO=Object.getOwnPropertyDescriptors;var cS=Object.getOwnPropertySymbols;var JO=Object.prototype.hasOwnProperty,QO=Object.prototype.propertyIsEnumerable;var hS=(r,t,e)=>t in r?qO(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,vS=(r,t)=>{for(var e in t||(t={}))JO.call(t,e)&&hS(r,e,t[e]);if(cS)for(var e of cS(t))QO.call(t,e)&&hS(r,e,t[e]);return r},dS=(r,t)=>KO(r,jO(t));var pl=(r,t,e)=>new Promise((n,i)=>{var a=l=>{try{s(e.next(l))}catch(u){i(u)}},o=l=>{try{s(e.throw(l))}catch(u){i(u)}},s=l=>l.done?n(l.value):Promise.resolve(l.value).then(a,o);s((e=e.apply(r,t)).next())});(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function e(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=e(i);fetch(i.href,a)}})();/** +* @vue/shared v3.5.39 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function S0(r){const t=Object.create(null);for(const e of r.split(","))t[e]=1;return e=>e in t}const ie={},bs=[],sn=()=>{},xD=()=>!1,Mv=r=>r.charCodeAt(0)===111&&r.charCodeAt(1)===110&&(r.charCodeAt(2)>122||r.charCodeAt(2)<97),Dv=r=>r.startsWith("onUpdate:"),Me=Object.assign,x0=(r,t)=>{const e=r.indexOf(t);e>-1&&r.splice(e,1)},tN=Object.prototype.hasOwnProperty,jt=(r,t)=>tN.call(r,t),It=Array.isArray,ws=r=>vf(r)==="[object Map]",Iv=r=>vf(r)==="[object Set]",hS=r=>vf(r)==="[object Date]",Ot=r=>typeof r=="function",ye=r=>typeof r=="string",Ir=r=>typeof r=="symbol",re=r=>r!==null&&typeof r=="object",bD=r=>(re(r)||Ot(r))&&Ot(r.then)&&Ot(r.catch),wD=Object.prototype.toString,vf=r=>wD.call(r),eN=r=>vf(r).slice(8,-1),TD=r=>vf(r)==="[object Object]",Lv=r=>ye(r)&&r!=="NaN"&&r[0]!=="-"&&""+parseInt(r,10)===r,ou=S0(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Pv=r=>{const t=Object.create(null);return e=>t[e]||(t[e]=r(e))},rN=/-\w/g,ar=Pv(r=>r.replace(rN,t=>t.slice(1).toUpperCase())),nN=/\B([A-Z])/g,va=Pv(r=>r.replace(nN,"-$1").toLowerCase()),Rv=Pv(r=>r.charAt(0).toUpperCase()+r.slice(1)),Ld=Pv(r=>r?`on${Rv(r)}`:""),Pn=(r,t)=>!Object.is(r,t),Uc=(r,...t)=>{for(let e=0;e{Object.defineProperty(r,t,{configurable:!0,enumerable:!1,writable:n,value:e})},Ev=r=>{const t=parseFloat(r);return isNaN(t)?r:t};let vS;const kv=()=>vS||(vS=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});function b0(r){if(It(r)){const t={};for(let e=0;e{if(e){const n=e.split(aN);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function w0(r){let t="";if(ye(r))t=r;else if(It(r))for(let e=0;edf(e,t))}const MD=r=>!!(r&&r.__v_isRef===!0),hN=r=>ye(r)?r:r==null?"":It(r)||re(r)&&(r.toString===wD||!Ot(r.toString))?MD(r)?hN(r.value):JSON.stringify(r,DD,2):String(r),DD=(r,t)=>MD(t)?DD(r,t.value):ws(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[n,i],a)=>(e[Pd(n,a)+" =>"]=i,e),{})}:Iv(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Pd(e))}:Ir(t)?Pd(t):re(t)&&!It(t)&&!TD(t)?String(t):t,Pd=(r,t="")=>{var e;return Ir(r)?`Symbol(${(e=r.description)!=null?e:t})`:r};/** -* @vue/reactivity v3.5.31 +**/function w0(r){const t=Object.create(null);for(const e of r.split(","))t[e]=1;return e=>e in t}const ae={},Ts=[],sn=()=>{},wD=()=>!1,Iv=r=>r.charCodeAt(0)===111&&r.charCodeAt(1)===110&&(r.charCodeAt(2)>122||r.charCodeAt(2)<97),Lv=r=>r.startsWith("onUpdate:"),Me=Object.assign,T0=(r,t)=>{const e=r.indexOf(t);e>-1&&r.splice(e,1)},tN=Object.prototype.hasOwnProperty,jt=(r,t)=>tN.call(r,t),It=Array.isArray,As=r=>gf(r)==="[object Map]",Pv=r=>gf(r)==="[object Set]",pS=r=>gf(r)==="[object Date]",Ot=r=>typeof r=="function",he=r=>typeof r=="string",Ir=r=>typeof r=="symbol",re=r=>r!==null&&typeof r=="object",TD=r=>(re(r)||Ot(r))&&Ot(r.then)&&Ot(r.catch),AD=Object.prototype.toString,gf=r=>AD.call(r),eN=r=>gf(r).slice(8,-1),CD=r=>gf(r)==="[object Object]",Rv=r=>he(r)&&r!=="NaN"&&r[0]!=="-"&&""+parseInt(r,10)===r,fu=w0(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ev=r=>{const t=Object.create(null);return e=>t[e]||(t[e]=r(e))},rN=/-\w/g,or=Ev(r=>r.replace(rN,t=>t.slice(1).toUpperCase())),nN=/\B([A-Z])/g,da=Ev(r=>r.replace(nN,"-$1").toLowerCase()),kv=Ev(r=>r.charAt(0).toUpperCase()+r.slice(1)),Rd=Ev(r=>r?`on${kv(r)}`:""),Rn=(r,t)=>!Object.is(r,t),Xc=(r,...t)=>{for(let e=0;e{Object.defineProperty(r,t,{configurable:!0,enumerable:!1,writable:n,value:e})},Ov=r=>{const t=parseFloat(r);return isNaN(t)?r:t};let gS;const Nv=()=>gS||(gS=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});function A0(r){if(It(r)){const t={};for(let e=0;e{if(e){const n=e.split(aN);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function C0(r){let t="";if(he(r))t=r;else if(It(r))for(let e=0;eyf(e,t))}const ID=r=>!!(r&&r.__v_isRef===!0),hN=r=>he(r)?r:r==null?"":It(r)||re(r)&&(r.toString===AD||!Ot(r.toString))?ID(r)?hN(r.value):JSON.stringify(r,LD,2):String(r),LD=(r,t)=>ID(t)?LD(r,t.value):As(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[n,i],a)=>(e[Ed(n,a)+" =>"]=i,e),{})}:Pv(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ed(e))}:Ir(t)?Ed(t):re(t)&&!It(t)&&!CD(t)?String(t):t,Ed=(r,t="")=>{var e;return Ir(r)?`Symbol(${(e=r.description)!=null?e:t})`:r};/** +* @vue/reactivity v3.5.39 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let cr;class vN{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=cr,!t&&cr&&(this.index=(cr.scopes||(cr.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,e;if(this.scopes)for(t=0,e=this.scopes.length;t0&&--this._on===0&&(cr=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let e,n;for(e=0,n=this.effects.length;e0)return;if(lu){let t=lu;for(lu=void 0;t;){const e=t.next;t.next=void 0,t.flags&=-9,t=e}}let r;for(;su;){let t=su;for(su=void 0;t;){const e=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){r||(r=n)}t=e}}if(r)throw r}function RD(r){for(let t=r.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ED(r){let t,e=r.depsTail,n=e;for(;n;){const i=n.prevDep;n.version===-1?(n===e&&(e=i),C0(n),pN(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}r.deps=t,r.depsTail=e}function dy(r){for(let t=r.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(kD(t.dep.computed)||t.dep.version!==t.version))return!0;return!!r._dirty}function kD(r){if(r.flags&4&&!(r.flags&16)||(r.flags&=-17,r.globalVersion===Pu)||(r.globalVersion=Pu,!r.isSSR&&r.flags&128&&(!r.deps&&!r._dirty||!dy(r))))return;r.flags|=2;const t=r.dep,e=se,n=ln;se=r,ln=!0;try{RD(r);const i=r.fn(r._value);(t.version===0||Pn(i,r._value))&&(r.flags|=128,r._value=i,t.version++)}catch(i){throw t.version++,i}finally{se=e,ln=n,ED(r),r.flags&=-3}}function C0(r,t=!1){const{dep:e,prevSub:n,nextSub:i}=r;if(n&&(n.nextSub=i,r.prevSub=void 0),i&&(i.prevSub=n,r.nextSub=void 0),e.subs===r&&(e.subs=n,!n&&e.computed)){e.computed.flags&=-5;for(let a=e.computed.deps;a;a=a.nextDep)C0(a,!0)}!t&&!--e.sc&&e.map&&e.map.delete(e.key)}function pN(r){const{prevDep:t,nextDep:e}=r;t&&(t.nextDep=e,r.prevDep=void 0),e&&(e.prevDep=t,r.nextDep=void 0)}let ln=!0;const OD=[];function hi(){OD.push(ln),ln=!1}function vi(){const r=OD.pop();ln=r===void 0?!0:r}function dS(r){const{cleanup:t}=r;if(r.cleanup=void 0,t){const e=se;se=void 0;try{t()}finally{se=e}}}let Pu=0;class gN{constructor(t,e){this.sub=t,this.dep=e,this.version=e.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class M0{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!se||!ln||se===this.computed)return;let e=this.activeLink;if(e===void 0||e.sub!==se)e=this.activeLink=new gN(se,this),se.deps?(e.prevDep=se.depsTail,se.depsTail.nextDep=e,se.depsTail=e):se.deps=se.depsTail=e,ND(e);else if(e.version===-1&&(e.version=this.version,e.nextDep)){const n=e.nextDep;n.prevDep=e.prevDep,e.prevDep&&(e.prevDep.nextDep=n),e.prevDep=se.depsTail,e.nextDep=void 0,se.depsTail.nextDep=e,se.depsTail=e,se.deps===e&&(se.deps=n)}return e}trigger(t){this.version++,Pu++,this.notify(t)}notify(t){T0();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{A0()}}}function ND(r){if(r.dep.sc++,r.sub.flags&4){const t=r.dep.computed;if(t&&!r.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)ND(n)}const e=r.dep.subs;e!==r&&(r.prevSub=e,e&&(e.nextSub=r)),r.dep.subs=r}}const Sh=new WeakMap,co=Symbol(""),py=Symbol(""),Ru=Symbol("");function Xe(r,t,e){if(ln&&se){let n=Sh.get(r);n||Sh.set(r,n=new Map);let i=n.get(e);i||(n.set(e,i=new M0),i.map=n,i.key=e),i.track()}}function ni(r,t,e,n,i,a){const o=Sh.get(r);if(!o){Pu++;return}const s=l=>{l&&l.trigger()};if(T0(),t==="clear")o.forEach(s);else{const l=It(r),u=l&&Lv(e);if(l&&e==="length"){const f=Number(n);o.forEach((c,h)=>{(h==="length"||h===Ru||!Ir(h)&&h>=f)&&s(c)})}else switch((e!==void 0||o.has(void 0))&&s(o.get(e)),u&&s(o.get(Ru)),t){case"add":l?u&&s(o.get("length")):(s(o.get(co)),ws(r)&&s(o.get(py)));break;case"delete":l||(s(o.get(co)),ws(r)&&s(o.get(py)));break;case"set":ws(r)&&s(o.get(co));break}}A0()}function yN(r,t){const e=Sh.get(r);return e&&e.get(t)}function Ho(r){const t=Xt(r);return t===r?t:(Xe(t,"iterate",Ru),Ar(r)?t:t.map(hn))}function Ov(r){return Xe(r=Xt(r),"iterate",Ru),r}function In(r,t){return di(r)?ks(ho(r)?hn(t):t):hn(t)}const mN={__proto__:null,[Symbol.iterator](){return Ed(this,Symbol.iterator,r=>In(this,r))},concat(...r){return Ho(this).concat(...r.map(t=>It(t)?Ho(t):t))},entries(){return Ed(this,"entries",r=>(r[1]=In(this,r[1]),r))},every(r,t){return Xn(this,"every",r,t,void 0,arguments)},filter(r,t){return Xn(this,"filter",r,t,e=>e.map(n=>In(this,n)),arguments)},find(r,t){return Xn(this,"find",r,t,e=>In(this,e),arguments)},findIndex(r,t){return Xn(this,"findIndex",r,t,void 0,arguments)},findLast(r,t){return Xn(this,"findLast",r,t,e=>In(this,e),arguments)},findLastIndex(r,t){return Xn(this,"findLastIndex",r,t,void 0,arguments)},forEach(r,t){return Xn(this,"forEach",r,t,void 0,arguments)},includes(...r){return kd(this,"includes",r)},indexOf(...r){return kd(this,"indexOf",r)},join(r){return Ho(this).join(r)},lastIndexOf(...r){return kd(this,"lastIndexOf",r)},map(r,t){return Xn(this,"map",r,t,void 0,arguments)},pop(){return dl(this,"pop")},push(...r){return dl(this,"push",r)},reduce(r,...t){return pS(this,"reduce",r,t)},reduceRight(r,...t){return pS(this,"reduceRight",r,t)},shift(){return dl(this,"shift")},some(r,t){return Xn(this,"some",r,t,void 0,arguments)},splice(...r){return dl(this,"splice",r)},toReversed(){return Ho(this).toReversed()},toSorted(r){return Ho(this).toSorted(r)},toSpliced(...r){return Ho(this).toSpliced(...r)},unshift(...r){return dl(this,"unshift",r)},values(){return Ed(this,"values",r=>In(this,r))}};function Ed(r,t,e){const n=Ov(r),i=n[t]();return n!==r&&!Ar(r)&&(i._next=i.next,i.next=()=>{const a=i._next();return a.done||(a.value=e(a.value)),a}),i}const _N=Array.prototype;function Xn(r,t,e,n,i,a){const o=Ov(r),s=o!==r&&!Ar(r),l=o[t];if(l!==_N[t]){const c=l.apply(r,a);return s?hn(c):c}let u=e;o!==r&&(s?u=function(c,h){return e.call(this,In(r,c),h,r)}:e.length>2&&(u=function(c,h){return e.call(this,c,h,r)}));const f=l.call(o,u,n);return s&&i?i(f):f}function pS(r,t,e,n){const i=Ov(r),a=i!==r&&!Ar(r);let o=e,s=!1;i!==r&&(a?(s=n.length===0,o=function(u,f,c){return s&&(s=!1,u=In(r,u)),e.call(this,u,In(r,f),c,r)}):e.length>3&&(o=function(u,f,c){return e.call(this,u,f,c,r)}));const l=i[t](o,...n);return s?In(r,l):l}function kd(r,t,e){const n=Xt(r);Xe(n,"iterate",Ru);const i=n[t](...e);return(i===-1||i===!1)&&Vv(e[0])?(e[0]=Xt(e[0]),n[t](...e)):i}function dl(r,t,e=[]){hi(),T0();const n=Xt(r)[t].apply(r,e);return A0(),vi(),n}const SN=S0("__proto__,__v_isRef,__isVue"),VD=new Set(Object.getOwnPropertyNames(Symbol).filter(r=>r!=="arguments"&&r!=="caller").map(r=>Symbol[r]).filter(Ir));function xN(r){Ir(r)||(r=String(r));const t=Xt(this);return Xe(t,"has",r),t.hasOwnProperty(r)}class BD{constructor(t=!1,e=!1){this._isReadonly=t,this._isShallow=e}get(t,e,n){if(e==="__v_skip")return t.__v_skip;const i=this._isReadonly,a=this._isShallow;if(e==="__v_isReactive")return!i;if(e==="__v_isReadonly")return i;if(e==="__v_isShallow")return a;if(e==="__v_raw")return n===(i?a?PN:HD:a?FD:GD).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=It(t);if(!i){let l;if(o&&(l=mN[e]))return l;if(e==="hasOwnProperty")return xN}const s=Reflect.get(t,e,ke(t)?t:n);if((Ir(e)?VD.has(e):SN(e))||(i||Xe(t,"get",e),a))return s;if(ke(s)){const l=o&&Lv(e)?s:s.value;return i&&re(l)?yy(l):l}return re(s)?i?yy(s):Nv(s):s}}class zD extends BD{constructor(t=!1){super(!1,t)}set(t,e,n,i){let a=t[e];const o=It(t)&&Lv(e);if(!this._isShallow){const u=di(a);if(!Ar(n)&&!di(n)&&(a=Xt(a),n=Xt(n)),!o&&ke(a)&&!ke(n))return u||(a.value=n),!0}const s=o?Number(e)r,Bf=r=>Reflect.getPrototypeOf(r);function CN(r,t,e){return function(...n){const i=this.__v_raw,a=Xt(i),o=ws(a),s=r==="entries"||r===Symbol.iterator&&o,l=r==="keys"&&o,u=i[r](...n),f=e?gy:t?ks:hn;return!t&&Xe(a,"iterate",l?py:co),Me(Object.create(u),{next(){const{value:c,done:h}=u.next();return h?{value:c,done:h}:{value:s?[f(c[0]),f(c[1])]:f(c),done:h}}})}}function zf(r){return function(...t){return r==="delete"?!1:r==="clear"?void 0:this}}function MN(r,t){const e={get(i){const a=this.__v_raw,o=Xt(a),s=Xt(i);r||(Pn(i,s)&&Xe(o,"get",i),Xe(o,"get",s));const{has:l}=Bf(o),u=t?gy:r?ks:hn;if(l.call(o,i))return u(a.get(i));if(l.call(o,s))return u(a.get(s));a!==o&&a.get(i)},get size(){const i=this.__v_raw;return!r&&Xe(Xt(i),"iterate",co),i.size},has(i){const a=this.__v_raw,o=Xt(a),s=Xt(i);return r||(Pn(i,s)&&Xe(o,"has",i),Xe(o,"has",s)),i===s?a.has(i):a.has(i)||a.has(s)},forEach(i,a){const o=this,s=o.__v_raw,l=Xt(s),u=t?gy:r?ks:hn;return!r&&Xe(l,"iterate",co),s.forEach((f,c)=>i.call(a,u(f),u(c),o))}};return Me(e,r?{add:zf("add"),set:zf("set"),delete:zf("delete"),clear:zf("clear")}:{add(i){const a=Xt(this),o=Bf(a),s=Xt(i),l=!t&&!Ar(i)&&!di(i)?s:i;return o.has.call(a,l)||Pn(i,l)&&o.has.call(a,i)||Pn(s,l)&&o.has.call(a,s)||(a.add(l),ni(a,"add",l,l)),this},set(i,a){!t&&!Ar(a)&&!di(a)&&(a=Xt(a));const o=Xt(this),{has:s,get:l}=Bf(o);let u=s.call(o,i);u||(i=Xt(i),u=s.call(o,i));const f=l.call(o,i);return o.set(i,a),u?Pn(a,f)&&ni(o,"set",i,a):ni(o,"add",i,a),this},delete(i){const a=Xt(this),{has:o,get:s}=Bf(a);let l=o.call(a,i);l||(i=Xt(i),l=o.call(a,i)),s&&s.call(a,i);const u=a.delete(i);return l&&ni(a,"delete",i,void 0),u},clear(){const i=Xt(this),a=i.size!==0,o=i.clear();return a&&ni(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=CN(i,r,t)}),e}function D0(r,t){const e=MN(r,t);return(n,i,a)=>i==="__v_isReactive"?!r:i==="__v_isReadonly"?r:i==="__v_raw"?n:Reflect.get(jt(e,i)&&i in n?e:n,i,a)}const DN={get:D0(!1,!1)},IN={get:D0(!1,!0)},LN={get:D0(!0,!1)};const GD=new WeakMap,FD=new WeakMap,HD=new WeakMap,PN=new WeakMap;function RN(r){switch(r){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function EN(r){return r.__v_skip||!Object.isExtensible(r)?0:RN(eN(r))}function Nv(r){return di(r)?r:I0(r,!1,wN,DN,GD)}function WD(r){return I0(r,!1,AN,IN,FD)}function yy(r){return I0(r,!0,TN,LN,HD)}function I0(r,t,e,n,i){if(!re(r)||r.__v_raw&&!(t&&r.__v_isReactive))return r;const a=EN(r);if(a===0)return r;const o=i.get(r);if(o)return o;const s=new Proxy(r,a===2?n:e);return i.set(r,s),s}function ho(r){return di(r)?ho(r.__v_raw):!!(r&&r.__v_isReactive)}function di(r){return!!(r&&r.__v_isReadonly)}function Ar(r){return!!(r&&r.__v_isShallow)}function Vv(r){return r?!!r.__v_raw:!1}function Xt(r){const t=r&&r.__v_raw;return t?Xt(t):r}function kN(r){return!jt(r,"__v_skip")&&Object.isExtensible(r)&&AD(r,"__v_skip",!0),r}const hn=r=>re(r)?Nv(r):r,ks=r=>re(r)?yy(r):r;function ke(r){return r?r.__v_isRef===!0:!1}function Yc(r){return $D(r,!1)}function ON(r){return $D(r,!0)}function $D(r,t){return ke(r)?r:new NN(r,t)}class NN{constructor(t,e){this.dep=new M0,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=e?t:Xt(t),this._value=e?t:hn(t),this.__v_isShallow=e}get value(){return this.dep.track(),this._value}set value(t){const e=this._rawValue,n=this.__v_isShallow||Ar(t)||di(t);t=n?t:Xt(t),Pn(t,e)&&(this._rawValue=t,this._value=n?t:hn(t),this.dep.trigger())}}function vo(r){return ke(r)?r.value:r}const VN={get:(r,t,e)=>t==="__v_raw"?r:vo(Reflect.get(r,t,e)),set:(r,t,e,n)=>{const i=r[t];return ke(i)&&!ke(e)?(i.value=e,!0):Reflect.set(r,t,e,n)}};function UD(r){return ho(r)?r:new Proxy(r,VN)}function Rit(r){const t=It(r)?new Array(r.length):{};for(const e in r)t[e]=zN(r,e);return t}class BN{constructor(t,e,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Ir(e)?e:String(e),this._raw=Xt(t);let i=!0,a=t;if(!It(t)||Ir(this._key)||!Lv(this._key))do i=!Vv(a)||Ar(a);while(i&&(a=a.__v_raw));this._shallow=i}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ke(this._raw[this._key])){const e=this._object[this._key];if(ke(e)){e.value=t;return}}this._object[this._key]=t}get dep(){return yN(this._raw,this._key)}}function zN(r,t,e){return new BN(r,t,e)}class GN{constructor(t,e,n){this.fn=t,this.setter=e,this._value=void 0,this.dep=new M0(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pu-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!e,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&se!==this)return PD(this,!0),!0}get value(){const t=this.dep.track();return kD(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function FN(r,t,e=!1){let n,i;return Ot(r)?n=r:(n=r.get,i=r.set),new GN(n,i,e)}const Gf={},xh=new WeakMap;let Wa;function HN(r,t=!1,e=Wa){if(e){let n=xh.get(e);n||xh.set(e,n=[]),n.push(r)}}function WN(r,t,e=ie){const{immediate:n,deep:i,once:a,scheduler:o,augmentJob:s,call:l}=e,u=S=>i?S:Ar(S)||i===!1||i===0?ii(S,1):ii(S);let f,c,h,v,d=!1,p=!1;if(ke(r)?(c=()=>r.value,d=Ar(r)):ho(r)?(c=()=>u(r),d=!0):It(r)?(p=!0,d=r.some(S=>ho(S)||Ar(S)),c=()=>r.map(S=>{if(ke(S))return S.value;if(ho(S))return u(S);if(Ot(S))return l?l(S,2):S()})):Ot(r)?t?c=l?()=>l(r,2):r:c=()=>{if(h){hi();try{h()}finally{vi()}}const S=Wa;Wa=f;try{return l?l(r,3,[v]):r(v)}finally{Wa=S}}:c=sn,t&&i){const S=c,x=i===!0?1/0:i;c=()=>ii(S(),x)}const g=dN(),y=()=>{f.stop(),g&&g.active&&x0(g.effects,f)};if(a&&t){const S=t;t=(...x)=>{S(...x),y()}}let m=p?new Array(r.length).fill(Gf):Gf;const _=S=>{if(!(!(f.flags&1)||!f.dirty&&!S))if(t){const x=f.run();if(i||d||(p?x.some((b,w)=>Pn(b,m[w])):Pn(x,m))){h&&h();const b=Wa;Wa=f;try{const w=[x,m===Gf?void 0:p&&m[0]===Gf?[]:m,v];m=x,l?l(t,3,w):t(...w)}finally{Wa=b}}}else f.run()};return s&&s(_),f=new ID(c),f.scheduler=o?()=>o(_,!1):_,v=S=>HN(S,!1,f),h=f.onStop=()=>{const S=xh.get(f);if(S){if(l)l(S,4);else for(const x of S)x();xh.delete(f)}},t?n?_(!0):m=f.run():o?o(_.bind(null,!0),!0):f.run(),y.pause=f.pause.bind(f),y.resume=f.resume.bind(f),y.stop=y,y}function ii(r,t=1/0,e){if(t<=0||!re(r)||r.__v_skip||(e=e||new Map,(e.get(r)||0)>=t))return r;if(e.set(r,t),t--,ke(r))ii(r.value,t,e);else if(It(r))for(let n=0;n{ii(n,t,e)});else if(TD(r)){for(const n in r)ii(r[n],t,e);for(const n of Object.getOwnPropertySymbols(r))Object.prototype.propertyIsEnumerable.call(r,n)&&ii(r[n],t,e)}return r}/** -* @vue/runtime-core v3.5.31 +**/let Oe;class vN{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Oe&&(Oe.active?(this.parent=Oe,this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,e;if(this.scopes)for(t=0,e=this.scopes.length;t0&&--this._on===0){if(Oe===this)Oe=this.prevScope;else{let t=Oe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let e,n;for(e=0,n=this.effects.length;e0)return;if(hu){let t=hu;for(hu=void 0;t;){const e=t.next;t.next=void 0,t.flags&=-9,t=e}}let r;for(;cu;){let t=cu;for(cu=void 0;t;){const e=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){r||(r=n)}t=e}}if(r)throw r}function kD(r){for(let t=r.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function OD(r){let t,e=r.depsTail,n=e;for(;n;){const i=n.prevDep;n.version===-1?(n===e&&(e=i),I0(n),pN(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}r.deps=t,r.depsTail=e}function yy(r){for(let t=r.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ND(t.dep.computed)||t.dep.version!==t.version))return!0;return!!r._dirty}function ND(r){if(r.flags&4&&!(r.flags&16)||(r.flags&=-17,r.globalVersion===ku)||(r.globalVersion=ku,!r.isSSR&&r.flags&128&&(!r.deps&&!r._dirty||!yy(r))))return;r.flags|=2;const t=r.dep,e=se,n=ln;se=r,ln=!0;try{kD(r);const i=r.fn(r._value);(t.version===0||Rn(i,r._value))&&(r.flags|=128,r._value=i,t.version++)}catch(i){throw t.version++,i}finally{se=e,ln=n,OD(r),r.flags&=-3}}function I0(r,t=!1){const{dep:e,prevSub:n,nextSub:i}=r;if(n&&(n.nextSub=i,r.prevSub=void 0),i&&(i.prevSub=n,r.nextSub=void 0),e.subs===r&&(e.subs=n,!n&&e.computed)){e.computed.flags&=-5;for(let a=e.computed.deps;a;a=a.nextDep)I0(a,!0)}!t&&!--e.sc&&e.map&&e.map.delete(e.key)}function pN(r){const{prevDep:t,nextDep:e}=r;t&&(t.nextDep=e,r.prevDep=void 0),e&&(e.prevDep=t,r.nextDep=void 0)}let ln=!0;const VD=[];function Fn(){VD.push(ln),ln=!1}function Hn(){const r=VD.pop();ln=r===void 0?!0:r}function yS(r){const{cleanup:t}=r;if(r.cleanup=void 0,t){const e=se;se=void 0;try{t()}finally{se=e}}}let ku=0;class gN{constructor(t,e){this.sub=t,this.dep=e,this.version=e.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class L0{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!se||!ln||se===this.computed)return;let e=this.activeLink;if(e===void 0||e.sub!==se)e=this.activeLink=new gN(se,this),se.deps?(e.prevDep=se.depsTail,se.depsTail.nextDep=e,se.depsTail=e):se.deps=se.depsTail=e,BD(e);else if(e.version===-1&&(e.version=this.version,e.nextDep)){const n=e.nextDep;n.prevDep=e.prevDep,e.prevDep&&(e.prevDep.nextDep=n),e.prevDep=se.depsTail,e.nextDep=void 0,se.depsTail.nextDep=e,se.depsTail=e,se.deps===e&&(se.deps=n)}return e}trigger(t){this.version++,ku++,this.notify(t)}notify(t){M0();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{D0()}}}function BD(r){if(r.dep.sc++,r.sub.flags&4){const t=r.dep.computed;if(t&&!r.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)BD(n)}const e=r.dep.subs;e!==r&&(r.prevSub=e,e&&(e.nextSub=r)),r.dep.subs=r}}const xh=new WeakMap,vo=Symbol(""),my=Symbol(""),Ou=Symbol("");function Xe(r,t,e){if(ln&&se){let n=xh.get(r);n||xh.set(r,n=new Map);let i=n.get(e);i||(n.set(e,i=new L0),i.map=n,i.key=e),i.track()}}function ai(r,t,e,n,i,a){const o=xh.get(r);if(!o){ku++;return}const s=l=>{l&&l.trigger()};if(M0(),t==="clear")o.forEach(s);else{const l=It(r),u=l&&Rv(e);if(l&&e==="length"){const f=Number(n);o.forEach((c,h)=>{(h==="length"||h===Ou||!Ir(h)&&h>=f)&&s(c)})}else switch((e!==void 0||o.has(void 0))&&s(o.get(e)),u&&s(o.get(Ou)),t){case"add":l?u&&s(o.get("length")):(s(o.get(vo)),As(r)&&s(o.get(my)));break;case"delete":l||(s(o.get(vo)),As(r)&&s(o.get(my)));break;case"set":As(r)&&s(o.get(vo));break}}D0()}function yN(r,t){const e=xh.get(r);return e&&e.get(t)}function $o(r){const t=Xt(r);return t===r?t:(Xe(t,"iterate",Ou),Ar(r)?t:t.map(hn))}function Vv(r){return Xe(r=Xt(r),"iterate",Ou),r}function Ln(r,t){return di(r)?Ns(po(r)?hn(t):t):hn(t)}const mN={__proto__:null,[Symbol.iterator](){return Od(this,Symbol.iterator,r=>Ln(this,r))},concat(...r){return $o(this).concat(...r.map(t=>It(t)?$o(t):t))},entries(){return Od(this,"entries",r=>(r[1]=Ln(this,r[1]),r))},every(r,t){return Kn(this,"every",r,t,void 0,arguments)},filter(r,t){return Kn(this,"filter",r,t,e=>e.map(n=>Ln(this,n)),arguments)},find(r,t){return Kn(this,"find",r,t,e=>Ln(this,e),arguments)},findIndex(r,t){return Kn(this,"findIndex",r,t,void 0,arguments)},findLast(r,t){return Kn(this,"findLast",r,t,e=>Ln(this,e),arguments)},findLastIndex(r,t){return Kn(this,"findLastIndex",r,t,void 0,arguments)},forEach(r,t){return Kn(this,"forEach",r,t,void 0,arguments)},includes(...r){return Nd(this,"includes",r)},indexOf(...r){return Nd(this,"indexOf",r)},join(r){return $o(this).join(r)},lastIndexOf(...r){return Nd(this,"lastIndexOf",r)},map(r,t){return Kn(this,"map",r,t,void 0,arguments)},pop(){return gl(this,"pop")},push(...r){return gl(this,"push",r)},reduce(r,...t){return mS(this,"reduce",r,t)},reduceRight(r,...t){return mS(this,"reduceRight",r,t)},shift(){return gl(this,"shift")},some(r,t){return Kn(this,"some",r,t,void 0,arguments)},splice(...r){return gl(this,"splice",r)},toReversed(){return $o(this).toReversed()},toSorted(r){return $o(this).toSorted(r)},toSpliced(...r){return $o(this).toSpliced(...r)},unshift(...r){return gl(this,"unshift",r)},values(){return Od(this,"values",r=>Ln(this,r))}};function Od(r,t,e){const n=Vv(r),i=n[t]();return n!==r&&!Ar(r)&&(i._next=i.next,i.next=()=>{const a=i._next();return a.done||(a.value=e(a.value)),a}),i}const _N=Array.prototype;function Kn(r,t,e,n,i,a){const o=Vv(r),s=o!==r&&!Ar(r),l=o[t];if(l!==_N[t]){const c=l.apply(r,a);return s?hn(c):c}let u=e;o!==r&&(s?u=function(c,h){return e.call(this,Ln(r,c),h,r)}:e.length>2&&(u=function(c,h){return e.call(this,c,h,r)}));const f=l.call(o,u,n);return s&&i?i(f):f}function mS(r,t,e,n){const i=Vv(r),a=i!==r&&!Ar(r);let o=e,s=!1;i!==r&&(a?(s=n.length===0,o=function(u,f,c){return s&&(s=!1,u=Ln(r,u)),e.call(this,u,Ln(r,f),c,r)}):e.length>3&&(o=function(u,f,c){return e.call(this,u,f,c,r)}));const l=i[t](o,...n);return s?Ln(r,l):l}function Nd(r,t,e){const n=Xt(r);Xe(n,"iterate",Ou);const i=n[t](...e);return(i===-1||i===!1)&&zv(e[0])?(e[0]=Xt(e[0]),n[t](...e)):i}function gl(r,t,e=[]){Fn(),M0();const n=Xt(r)[t].apply(r,e);return D0(),Hn(),n}const SN=w0("__proto__,__v_isRef,__isVue"),zD=new Set(Object.getOwnPropertyNames(Symbol).filter(r=>r!=="arguments"&&r!=="caller").map(r=>Symbol[r]).filter(Ir));function xN(r){Ir(r)||(r=String(r));const t=Xt(this);return Xe(t,"has",r),t.hasOwnProperty(r)}class GD{constructor(t=!1,e=!1){this._isReadonly=t,this._isShallow=e}get(t,e,n){if(e==="__v_skip")return t.__v_skip;const i=this._isReadonly,a=this._isShallow;if(e==="__v_isReactive")return!i;if(e==="__v_isReadonly")return i;if(e==="__v_isShallow")return a;if(e==="__v_raw")return n===(i?a?PN:$D:a?WD:HD).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=It(t);if(!i){let l;if(o&&(l=mN[e]))return l;if(e==="hasOwnProperty")return xN}const s=Reflect.get(t,e,ke(t)?t:n);if((Ir(e)?zD.has(e):SN(e))||(i||Xe(t,"get",e),a))return s;if(ke(s)){const l=o&&Rv(e)?s:s.value;return i&&re(l)?Sy(l):l}return re(s)?i?Sy(s):Bv(s):s}}class FD extends GD{constructor(t=!1){super(!1,t)}set(t,e,n,i){let a=t[e];const o=It(t)&&Rv(e);if(!this._isShallow){const u=di(a);if(!Ar(n)&&!di(n)&&(a=Xt(a),n=Xt(n)),!o&&ke(a)&&!ke(n))return u||(a.value=n),!0}const s=o?Number(e)r,Ff=r=>Reflect.getPrototypeOf(r);function CN(r,t,e){return function(...n){const i=this.__v_raw,a=Xt(i),o=As(a),s=r==="entries"||r===Symbol.iterator&&o,l=r==="keys"&&o,u=i[r](...n),f=e?_y:t?Ns:hn;return!t&&Xe(a,"iterate",l?my:vo),Me(Object.create(u),{next(){const{value:c,done:h}=u.next();return h?{value:c,done:h}:{value:s?[f(c[0]),f(c[1])]:f(c),done:h}}})}}function Hf(r){return function(...t){return r==="delete"?!1:r==="clear"?void 0:this}}function MN(r,t){const e={get(i){const a=this.__v_raw,o=Xt(a),s=Xt(i);r||(Rn(i,s)&&Xe(o,"get",i),Xe(o,"get",s));const{has:l}=Ff(o),u=t?_y:r?Ns:hn;if(l.call(o,i))return u(a.get(i));if(l.call(o,s))return u(a.get(s));a!==o&&a.get(i)},get size(){const i=this.__v_raw;return!r&&Xe(Xt(i),"iterate",vo),i.size},has(i){const a=this.__v_raw,o=Xt(a),s=Xt(i);return r||(Rn(i,s)&&Xe(o,"has",i),Xe(o,"has",s)),i===s?a.has(i):a.has(i)||a.has(s)},forEach(i,a){const o=this,s=o.__v_raw,l=Xt(s),u=t?_y:r?Ns:hn;return!r&&Xe(l,"iterate",vo),s.forEach((f,c)=>i.call(a,u(f),u(c),o))}};return Me(e,r?{add:Hf("add"),set:Hf("set"),delete:Hf("delete"),clear:Hf("clear")}:{add(i){const a=Xt(this),o=Ff(a),s=Xt(i),l=!t&&!Ar(i)&&!di(i)?s:i;return o.has.call(a,l)||Rn(i,l)&&o.has.call(a,i)||Rn(s,l)&&o.has.call(a,s)||(a.add(l),ai(a,"add",l,l)),this},set(i,a){!t&&!Ar(a)&&!di(a)&&(a=Xt(a));const o=Xt(this),{has:s,get:l}=Ff(o);let u=s.call(o,i);u||(i=Xt(i),u=s.call(o,i));const f=l.call(o,i);return o.set(i,a),u?Rn(a,f)&&ai(o,"set",i,a):ai(o,"add",i,a),this},delete(i){const a=Xt(this),{has:o,get:s}=Ff(a);let l=o.call(a,i);l||(i=Xt(i),l=o.call(a,i)),s&&s.call(a,i);const u=a.delete(i);return l&&ai(a,"delete",i,void 0),u},clear(){const i=Xt(this),a=i.size!==0,o=i.clear();return a&&ai(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=CN(i,r,t)}),e}function P0(r,t){const e=MN(r,t);return(n,i,a)=>i==="__v_isReactive"?!r:i==="__v_isReadonly"?r:i==="__v_raw"?n:Reflect.get(jt(e,i)&&i in n?e:n,i,a)}const DN={get:P0(!1,!1)},IN={get:P0(!1,!0)},LN={get:P0(!0,!1)};const HD=new WeakMap,WD=new WeakMap,$D=new WeakMap,PN=new WeakMap;function RN(r){switch(r){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bv(r){return di(r)?r:R0(r,!1,wN,DN,HD)}function UD(r){return R0(r,!1,AN,IN,WD)}function Sy(r){return R0(r,!0,TN,LN,$D)}function R0(r,t,e,n,i){if(!re(r)||r.__v_raw&&!(t&&r.__v_isReactive)||r.__v_skip||!Object.isExtensible(r))return r;const a=i.get(r);if(a)return a;const o=RN(eN(r));if(o===0)return r;const s=new Proxy(r,o===2?n:e);return i.set(r,s),s}function po(r){return di(r)?po(r.__v_raw):!!(r&&r.__v_isReactive)}function di(r){return!!(r&&r.__v_isReadonly)}function Ar(r){return!!(r&&r.__v_isShallow)}function zv(r){return r?!!r.__v_raw:!1}function Xt(r){const t=r&&r.__v_raw;return t?Xt(t):r}function EN(r){return!jt(r,"__v_skip")&&Object.isExtensible(r)&&MD(r,"__v_skip",!0),r}const hn=r=>re(r)?Bv(r):r,Ns=r=>re(r)?Sy(r):r;function ke(r){return r?r.__v_isRef===!0:!1}function qc(r){return YD(r,!1)}function kN(r){return YD(r,!0)}function YD(r,t){return ke(r)?r:new ON(r,t)}class ON{constructor(t,e){this.dep=new L0,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=e?t:Xt(t),this._value=e?t:hn(t),this.__v_isShallow=e}get value(){return this.dep.track(),this._value}set value(t){const e=this._rawValue,n=this.__v_isShallow||Ar(t)||di(t);t=n?t:Xt(t),Rn(t,e)&&(this._rawValue=t,this._value=n?t:hn(t),this.dep.trigger())}}function go(r){return ke(r)?r.value:r}const NN={get:(r,t,e)=>t==="__v_raw"?r:go(Reflect.get(r,t,e)),set:(r,t,e,n)=>{const i=r[t];return ke(i)&&!ke(e)?(i.value=e,!0):Reflect.set(r,t,e,n)}};function ZD(r){return po(r)?r:new Proxy(r,NN)}function Eit(r){const t=It(r)?new Array(r.length):{};for(const e in r)t[e]=BN(r,e);return t}class VN{constructor(t,e,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Ir(e)?e:String(e),this._raw=Xt(t);let i=!0,a=t;if(!It(t)||Ir(this._key)||!Rv(this._key))do i=!zv(a)||Ar(a);while(i&&(a=a.__v_raw));this._shallow=i}get value(){let t=this._object[this._key];return this._shallow&&(t=go(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ke(this._raw[this._key])){const e=this._object[this._key];if(ke(e)){e.value=t;return}}this._object[this._key]=t}get dep(){return yN(this._raw,this._key)}}function BN(r,t,e){return new VN(r,t,e)}class zN{constructor(t,e,n){this.fn=t,this.setter=e,this._value=void 0,this.dep=new L0(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ku-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!e,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&se!==this)return ED(this,!0),!0}get value(){const t=this.dep.track();return ND(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function GN(r,t,e=!1){let n,i;return Ot(r)?n=r:(n=r.get,i=r.set),new zN(n,i,e)}const Wf={},bh=new WeakMap;let $a;function FN(r,t=!1,e=$a){if(e){let n=bh.get(e);n||bh.set(e,n=[]),n.push(r)}}function HN(r,t,e=ae){const{immediate:n,deep:i,once:a,scheduler:o,augmentJob:s,call:l}=e,u=S=>i?S:Ar(S)||i===!1||i===0?oi(S,1):oi(S);let f,c,h,v,d=!1,p=!1;if(ke(r)?(c=()=>r.value,d=Ar(r)):po(r)?(c=()=>u(r),d=!0):It(r)?(p=!0,d=r.some(S=>po(S)||Ar(S)),c=()=>r.map(S=>{if(ke(S))return S.value;if(po(S))return u(S);if(Ot(S))return l?l(S,2):S()})):Ot(r)?t?c=l?()=>l(r,2):r:c=()=>{if(h){Fn();try{h()}finally{Hn()}}const S=$a;$a=f;try{return l?l(r,3,[v]):r(v)}finally{$a=S}}:c=sn,t&&i){const S=c,x=i===!0?1/0:i;c=()=>oi(S(),x)}const g=dN(),y=()=>{f.stop(),g&&g.active&&T0(g.effects,f)};if(a&&t){const S=t;t=(...x)=>{const b=S(...x);return y(),b}}let m=p?new Array(r.length).fill(Wf):Wf;const _=S=>{if(!(!(f.flags&1)||!f.dirty&&!S))if(t){const x=f.run();if(S||i||d||(p?x.some((b,w)=>Rn(b,m[w])):Rn(x,m))){h&&h();const b=$a;$a=f;try{const w=[x,m===Wf?void 0:p&&m[0]===Wf?[]:m,v];m=x,l?l(t,3,w):t(...w)}finally{$a=b}}}else f.run()};return s&&s(_),f=new PD(c),f.scheduler=o?()=>o(_,!1):_,v=S=>FN(S,!1,f),h=f.onStop=()=>{const S=bh.get(f);if(S){if(l)l(S,4);else for(const x of S)x();bh.delete(f)}},t?n?_(!0):m=f.run():o?o(_.bind(null,!0),!0):f.run(),y.pause=f.pause.bind(f),y.resume=f.resume.bind(f),y.stop=y,y}function oi(r,t=1/0,e){if(t<=0||!re(r)||r.__v_skip||(e=e||new Map,(e.get(r)||0)>=t))return r;if(e.set(r,t),t--,ke(r))oi(r.value,t,e);else if(It(r))for(let n=0;n{oi(n,t,e)});else if(CD(r)){for(const n in r)oi(r[n],t,e);for(const n of Object.getOwnPropertySymbols(r))Object.prototype.propertyIsEnumerable.call(r,n)&&oi(r[n],t,e)}return r}/** +* @vue/runtime-core v3.5.39 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function pf(r,t,e,n){try{return n?r(...n):r()}catch(i){gf(i,t,e)}}function Gn(r,t,e,n){if(Ot(r)){const i=pf(r,t,e,n);return i&&bD(i)&&i.catch(a=>{gf(a,t,e)}),i}if(It(r)){const i=[];for(let a=0;a>>1,i=ir[n],a=Eu(i);a=Eu(e)?ir.push(r):ir.splice(UN(t),0,r),r.flags|=1,ZD()}}function ZD(){bh||(bh=YD.then(qD))}function YN(r){It(r)?Ts.push(...r):Gi&&r.id===-1?Gi.splice(cs+1,0,r):r.flags&1||(Ts.push(r),r.flags|=1),ZD()}function gS(r,t,e=Mn+1){for(;eEu(e)-Eu(n));if(Ts.length=0,Gi){Gi.push(...t);return}for(Gi=t,cs=0;csr.id==null?r.flags&2?-1:1/0:r.id;function qD(r){const t=sn;try{for(Mn=0;Mn{n._d&&Mh(-1);const a=wh(t);let o;try{o=r(...i)}finally{wh(a),n._d&&Mh(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Eit(r,t){if(Ve===null)return r;const e=Fv(Ve),n=r.dirs||(r.dirs=[]);for(let i=0;i1)return e&&Ot(t)?t.call(n&&n.proxy):t}}const XN=Symbol.for("v-scx"),qN=()=>un(XN);function kit(r,t){return R0(r,null,t)}function Xc(r,t,e){return R0(r,t,e)}function R0(r,t,e=ie){const{immediate:n,deep:i,flush:a,once:o}=e,s=Me({},e),l=t&&n||!t&&a!=="post";let u;if(Ns){if(a==="sync"){const v=qN();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=sn,v.resume=sn,v.pause=sn,v}}const f=Ne;s.call=(v,d,p)=>Gn(v,f,d,p);let c=!1;a==="post"?s.scheduler=v=>{Ye(v,f&&f.suspense)}:a!=="sync"&&(c=!0,s.scheduler=(v,d)=>{d?v():P0(v)}),s.augmentJob=v=>{t&&(v.flags|=4),c&&(v.flags|=2,f&&(v.id=f.uid,v.i=f))};const h=WN(r,t,s);return Ns&&(u?u.push(h):l&&h()),h}function KN(r,t,e){const n=this.proxy,i=ye(r)?r.includes(".")?jD(n,r):()=>n[r]:r.bind(n,n);let a;Ot(t)?a=t:(a=t.handler,e=t);const o=yf(this),s=R0(i,a.bind(n),e);return o(),s}function jD(r,t){const e=t.split(".");return()=>{let n=r;for(let i=0;ir.__isTeleport,uu=r=>r&&(r.disabled||r.disabled===""),JN=r=>r&&(r.defer||r.defer===""),yS=r=>typeof SVGElement!="undefined"&&r instanceof SVGElement,mS=r=>typeof MathMLElement=="function"&&r instanceof MathMLElement,my=(r,t)=>{const e=r&&r.to;return ye(e)?t?t(e):null:e},QD={name:"Teleport",__isTeleport:!0,process(r,t,e,n,i,a,o,s,l,u){const{mc:f,pc:c,pbc:h,o:{insert:v,querySelector:d,createText:p,createComment:g}}=u,y=uu(t.props);let{shapeFlag:m,children:_,dynamicChildren:S}=t;if(r==null){const x=t.el=p(""),b=t.anchor=p("");v(x,e,n),v(b,e,n);const w=(A,C)=>{m&16&&f(_,A,C,i,a,o,s,l)},T=()=>{const A=t.target=my(t.props,d),C=_y(A,t,p,v);A&&(o!=="svg"&&yS(A)?o="svg":o!=="mathml"&&mS(A)&&(o="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(A),y||(w(A,C),qc(t,!1)))};y&&(w(e,b),qc(t,!0)),JN(t.props)||a&&a.pendingBranch?(t.el.__isMounted=!1,Ye(()=>{t.el.__isMounted===!1&&(T(),delete t.el.__isMounted)},a)):T()}else{t.el=r.el,t.targetStart=r.targetStart;const x=t.anchor=r.anchor,b=t.target=r.target,w=t.targetAnchor=r.targetAnchor;if(r.el.__isMounted===!1){Ye(()=>{QD.process(r,t,e,n,i,a,o,s,l,u)},a);return}const T=uu(r.props),A=T?e:b,C=T?x:w;if(o==="svg"||yS(b)?o="svg":(o==="mathml"||mS(b))&&(o="mathml"),S?(h(r.dynamicChildren,S,A,i,a,o,s),G0(r,t,!0)):l||c(r,t,A,C,i,a,o,s,!1),y)T?t.props&&r.props&&t.props.to!==r.props.to&&(t.props.to=r.props.to):Ff(t,e,x,u,1);else if((t.props&&t.props.to)!==(r.props&&r.props.to)){const D=t.target=my(t.props,d);D&&Ff(t,D,null,u,0)}else T&&Ff(t,b,w,u,1);qc(t,y)}},remove(r,t,e,{um:n,o:{remove:i}},a){const{shapeFlag:o,children:s,anchor:l,targetStart:u,targetAnchor:f,target:c,props:h}=r;if(c&&(i(u),i(f)),a&&i(l),o&16){const v=a||!uu(h);for(let d=0;dMe({name:r.name},t,{setup:r}))():r}function O0(r){r.ids=[r.ids[0]+r.ids[2]+++"-",0,0]}function _S(r,t){let e;return!!((e=Object.getOwnPropertyDescriptor(r,t))&&!e.configurable)}const Th=new WeakMap;function fu(r,t,e,n,i=!1){if(It(r)){r.forEach((p,g)=>fu(p,t&&(It(t)?t[g]:t),e,n,i));return}if(As(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&fu(r,t,e,n.component.subTree);return}const a=n.shapeFlag&4?Fv(n.component):n.el,o=i?null:a,{i:s,r:l}=r,u=t&&t.r,f=s.refs===ie?s.refs={}:s.refs,c=s.setupState,h=Xt(c),v=c===ie?xD:p=>_S(f,p)?!1:jt(h,p),d=(p,g)=>!(g&&_S(f,g));if(u!=null&&u!==l){if(SS(t),ye(u))f[u]=null,v(u)&&(c[u]=null);else if(ke(u)){const p=t;d(u,p.k)&&(u.value=null),p.k&&(f[p.k]=null)}}if(Ot(l))pf(l,s,12,[o,f]);else{const p=ye(l),g=ke(l);if(p||g){const y=()=>{if(r.f){const m=p?v(l)?c[l]:f[l]:d()||!r.k?l.value:f[r.k];if(i)It(m)&&x0(m,a);else if(It(m))m.includes(a)||m.push(a);else if(p)f[l]=[a],v(l)&&(c[l]=f[l]);else{const _=[a];d(l,r.k)&&(l.value=_),r.k&&(f[r.k]=_)}}else p?(f[l]=o,v(l)&&(c[l]=o)):g&&(d(l,r.k)&&(l.value=o),r.k&&(f[r.k]=o))};if(o){const m=()=>{y(),Th.delete(r)};m.id=-1,Th.set(r,m),Ye(m,e)}else SS(r),y()}}}function SS(r){const t=Th.get(r);t&&(t.flags|=8,Th.delete(r))}const xS=r=>r.nodeType===8;kv().requestIdleCallback;kv().cancelIdleCallback;function eV(r,t){if(xS(r)&&r.data==="["){let e=1,n=r.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(xS(n))if(n.data==="]"){if(--e===0)break}else n.data==="["&&e++;n=n.nextSibling}}else t(r)}const As=r=>!!r.type.__asyncLoader;function Nit(r){Ot(r)&&(r={loader:r});const{loader:t,loadingComponent:e,errorComponent:n,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:l}=r;let u=null,f,c=0;const h=()=>(c++,u=null,v()),v=()=>{let d;return u||(d=u=t().catch(p=>{if(p=p instanceof Error?p:new Error(String(p)),l)return new Promise((g,y)=>{l(p,()=>g(h()),()=>y(p),c+1)});throw p}).then(p=>d!==u&&u?u:(p&&(p.__esModule||p[Symbol.toStringTag]==="Module")&&(p=p.default),f=p,p)))};return k0({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(d,p,g){let y=!1;(p.bu||(p.bu=[])).push(()=>y=!0);const m=()=>{y||g()},_=a?()=>{const S=a(m,x=>eV(d,x));S&&(p.bum||(p.bum=[])).push(S)}:m;f?_():v().then(()=>!p.isUnmounted&&_())},get __asyncResolved(){return f},setup(){const d=Ne;if(O0(d),f)return()=>Hf(f,d);const p=_=>{u=null,gf(_,d,13,!n)};if(s&&d.suspense||Ns)return v().then(_=>()=>Hf(_,d)).catch(_=>(p(_),()=>n?Pe(n,{error:_}):null));const g=Yc(!1),y=Yc(),m=Yc(!!i);return i&&setTimeout(()=>{m.value=!1},i),o!=null&&setTimeout(()=>{if(!g.value&&!y.value){const _=new Error(`Async component timed out after ${o}ms.`);p(_),y.value=_}},o),v().then(()=>{g.value=!0,d.parent&&N0(d.parent.vnode)&&d.parent.update()}).catch(_=>{p(_),y.value=_}),()=>{if(g.value&&f)return Hf(f,d);if(y.value&&n)return Pe(n,{error:y.value});if(e&&!m.value)return Hf(e,d)}}})}function Hf(r,t){const{ref:e,props:n,children:i,ce:a}=t.vnode,o=Pe(r,n,i);return o.ref=e,o.ce=a,delete t.vnode.ce,o}const N0=r=>r.type.__isKeepAlive;function rV(r,t){tI(r,"a",t)}function nV(r,t){tI(r,"da",t)}function tI(r,t,e=Ne){const n=r.__wdc||(r.__wdc=()=>{let i=e;for(;i;){if(i.isDeactivated)return;i=i.parent}return r()});if(Bv(t,n,e),e){let i=e.parent;for(;i&&i.parent;)N0(i.parent.vnode)&&iV(n,t,e,i),i=i.parent}}function iV(r,t,e,n){const i=Bv(t,r,n,!0);eI(()=>{x0(n[t],i)},e)}function Bv(r,t,e=Ne,n=!1){if(e){const i=e[r]||(e[r]=[]),a=t.__weh||(t.__weh=(...o)=>{hi();const s=yf(e),l=Gn(t,e,r,o);return s(),vi(),l});return n?i.unshift(a):i.push(a),a}}const wi=r=>(t,e=Ne)=>{(!Ns||r==="sp")&&Bv(r,(...n)=>t(...n),e)},aV=wi("bm"),oV=wi("m"),sV=wi("bu"),lV=wi("u"),uV=wi("bum"),eI=wi("um"),fV=wi("sp"),cV=wi("rtg"),hV=wi("rtc");function vV(r,t=Ne){Bv("ec",r,t)}const rI="components";function dV(r,t){return gV(rI,r,!0,t)||r}const pV=Symbol.for("v-ndc");function gV(r,t,e=!0,n=!1){const i=Ve||Ne;if(i){const a=i.type;if(r===rI){const s=rB(a,!1);if(s&&(s===t||s===ar(t)||s===Rv(ar(t))))return a}const o=bS(i[r]||a[r],t)||bS(i.appContext[r],t);return!o&&n?a:o}}function bS(r,t){return r&&(r[t]||r[ar(t)]||r[Rv(ar(t))])}function Vit(r,t,e,n){let i;const a=e&&e[n],o=It(r);if(o||ye(r)){const s=o&&ho(r);let l=!1,u=!1;s&&(l=!Ar(r),u=di(r),r=Ov(r)),i=new Array(r.length);for(let f=0,c=r.length;ft(s,l,void 0,a&&a[l]));else{const s=Object.keys(r);i=new Array(s.length);for(let l=0,u=s.length;l0;return t!=="default"&&(e.name=t),Ch(),Dh(zr,null,[Pe("slot",e,n&&n())],u?-2:64)}let a=r[t];a&&a._c&&(a._d=!1),Ch();const o=a&&nI(a(e)),s=e.key||o&&o.key,l=Dh(zr,{key:(s&&!Ir(s)?s:`_${t}`)+(!o&&n?"_fb":"")},o||(n?n():[]),o&&r._===1?64:-2);return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),a&&a._c&&(a._d=!0),l}function nI(r){return r.some(t=>Ou(t)?!(t.type===pi||t.type===zr&&!nI(t.children)):!0)?r:null}const Sy=r=>r?bI(r)?Fv(r):Sy(r.parent):null,cu=Me(Object.create(null),{$:r=>r,$el:r=>r.vnode.el,$data:r=>r.data,$props:r=>r.props,$attrs:r=>r.attrs,$slots:r=>r.slots,$refs:r=>r.refs,$parent:r=>Sy(r.parent),$root:r=>Sy(r.root),$host:r=>r.ce,$emit:r=>r.emit,$options:r=>V0(r),$forceUpdate:r=>r.f||(r.f=()=>{P0(r.update)}),$nextTick:r=>r.n||(r.n=L0.bind(r.proxy)),$watch:r=>KN.bind(r)}),Od=(r,t)=>r!==ie&&!r.__isScriptSetup&&jt(r,t),yV={get({_:r},t){if(t==="__v_skip")return!0;const{ctx:e,setupState:n,data:i,props:a,accessCache:o,type:s,appContext:l}=r;if(t[0]!=="$"){const h=o[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return i[t];case 4:return e[t];case 3:return a[t]}else{if(Od(n,t))return o[t]=1,n[t];if(i!==ie&&jt(i,t))return o[t]=2,i[t];if(jt(a,t))return o[t]=3,a[t];if(e!==ie&&jt(e,t))return o[t]=4,e[t];xy&&(o[t]=0)}}const u=cu[t];let f,c;if(u)return t==="$attrs"&&Xe(r.attrs,"get",""),u(r);if((f=s.__cssModules)&&(f=f[t]))return f;if(e!==ie&&jt(e,t))return o[t]=4,e[t];if(c=l.config.globalProperties,jt(c,t))return c[t]},set({_:r},t,e){const{data:n,setupState:i,ctx:a}=r;return Od(i,t)?(i[t]=e,!0):n!==ie&&jt(n,t)?(n[t]=e,!0):jt(r.props,t)||t[0]==="$"&&t.slice(1)in r?!1:(a[t]=e,!0)},has({_:{data:r,setupState:t,accessCache:e,ctx:n,appContext:i,props:a,type:o}},s){let l;return!!(e[s]||r!==ie&&s[0]!=="$"&&jt(r,s)||Od(t,s)||jt(a,s)||jt(n,s)||jt(cu,s)||jt(i.config.globalProperties,s)||(l=o.__cssModules)&&l[s])},defineProperty(r,t,e){return e.get!=null?r._.accessCache[t]=0:jt(e,"value")&&this.set(r,t,e.value,null),Reflect.defineProperty(r,t,e)}};function wS(r){return It(r)?r.reduce((t,e)=>(t[e]=null,t),{}):r}let xy=!0;function mV(r){const t=V0(r),e=r.proxy,n=r.ctx;xy=!1,t.beforeCreate&&TS(t.beforeCreate,r,"bc");const{data:i,computed:a,methods:o,watch:s,provide:l,inject:u,created:f,beforeMount:c,mounted:h,beforeUpdate:v,updated:d,activated:p,deactivated:g,beforeDestroy:y,beforeUnmount:m,destroyed:_,unmounted:S,render:x,renderTracked:b,renderTriggered:w,errorCaptured:T,serverPrefetch:A,expose:C,inheritAttrs:D,components:I,directives:L,filters:P}=t;if(u&&_V(u,n,null),o)for(const V in o){const N=o[V];Ot(N)&&(n[V]=N.bind(e))}if(i){const V=i.call(e,e);re(V)&&(r.data=Nv(V))}if(xy=!0,a)for(const V in a){const N=a[V],z=Ot(N)?N.bind(e,e):Ot(N.get)?N.get.bind(e,e):sn,$=!Ot(N)&&Ot(N.set)?N.set.bind(e):sn,q=nn({get:z,set:$});Object.defineProperty(n,V,{enumerable:!0,configurable:!0,get:()=>q.value,set:Q=>q.value=Q})}if(s)for(const V in s)iI(s[V],n,e,V);if(l){const V=Ot(l)?l.call(e):l;Reflect.ownKeys(V).forEach(N=>{Zc(N,V[N])})}f&&TS(f,r,"c");function O(V,N){It(N)?N.forEach(z=>V(z.bind(e))):N&&V(N.bind(e))}if(O(aV,c),O(oV,h),O(sV,v),O(lV,d),O(rV,p),O(nV,g),O(vV,T),O(hV,b),O(cV,w),O(uV,m),O(eI,S),O(fV,A),It(C))if(C.length){const V=r.exposed||(r.exposed={});C.forEach(N=>{Object.defineProperty(V,N,{get:()=>e[N],set:z=>e[N]=z,enumerable:!0})})}else r.exposed||(r.exposed={});x&&r.render===sn&&(r.render=x),D!=null&&(r.inheritAttrs=D),I&&(r.components=I),L&&(r.directives=L),A&&O0(r)}function _V(r,t,e=sn){It(r)&&(r=by(r));for(const n in r){const i=r[n];let a;re(i)?"default"in i?a=un(i.from||n,i.default,!0):a=un(i.from||n):a=un(i),ke(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:o=>a.value=o}):t[n]=a}}function TS(r,t,e){Gn(It(r)?r.map(n=>n.bind(t.proxy)):r.bind(t.proxy),t,e)}function iI(r,t,e,n){let i=n.includes(".")?jD(e,n):()=>e[n];if(ye(r)){const a=t[r];Ot(a)&&Xc(i,a)}else if(Ot(r))Xc(i,r.bind(e));else if(re(r))if(It(r))r.forEach(a=>iI(a,t,e,n));else{const a=Ot(r.handler)?r.handler.bind(e):t[r.handler];Ot(a)&&Xc(i,a,r)}}function V0(r){const t=r.type,{mixins:e,extends:n}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=r.appContext,s=a.get(t);let l;return s?l=s:!i.length&&!e&&!n?l=t:(l={},i.length&&i.forEach(u=>Ah(l,u,o,!0)),Ah(l,t,o)),re(t)&&a.set(t,l),l}function Ah(r,t,e,n=!1){const{mixins:i,extends:a}=t;a&&Ah(r,a,e,!0),i&&i.forEach(o=>Ah(r,o,e,!0));for(const o in t)if(!(n&&o==="expose")){const s=SV[o]||e&&e[o];r[o]=s?s(r[o],t[o]):t[o]}return r}const SV={data:AS,props:CS,emits:CS,methods:Zl,computed:Zl,beforeCreate:Qe,created:Qe,beforeMount:Qe,mounted:Qe,beforeUpdate:Qe,updated:Qe,beforeDestroy:Qe,beforeUnmount:Qe,destroyed:Qe,unmounted:Qe,activated:Qe,deactivated:Qe,errorCaptured:Qe,serverPrefetch:Qe,components:Zl,directives:Zl,watch:bV,provide:AS,inject:xV};function AS(r,t){return t?r?function(){return Me(Ot(r)?r.call(this,this):r,Ot(t)?t.call(this,this):t)}:t:r}function xV(r,t){return Zl(by(r),by(t))}function by(r){if(It(r)){const t={};for(let e=0;et==="modelValue"||t==="model-value"?r.modelModifiers:r[`${t}Modifiers`]||r[`${ar(t)}Modifiers`]||r[`${va(t)}Modifiers`];function CV(r,t,...e){if(r.isUnmounted)return;const n=r.vnode.props||ie;let i=e;const a=t.startsWith("update:"),o=a&&AV(n,t.slice(7));o&&(o.trim&&(i=e.map(f=>ye(f)?f.trim():f)),o.number&&(i=e.map(Ev)));let s,l=n[s=Ld(t)]||n[s=Ld(ar(t))];!l&&a&&(l=n[s=Ld(va(t))]),l&&Gn(l,r,6,i);const u=n[s+"Once"];if(u){if(!r.emitted)r.emitted={};else if(r.emitted[s])return;r.emitted[s]=!0,Gn(u,r,6,i)}}const MV=new WeakMap;function oI(r,t,e=!1){const n=e?MV:t.emitsCache,i=n.get(r);if(i!==void 0)return i;const a=r.emits;let o={},s=!1;if(!Ot(r)){const l=u=>{const f=oI(u,t,!0);f&&(s=!0,Me(o,f))};!e&&t.mixins.length&&t.mixins.forEach(l),r.extends&&l(r.extends),r.mixins&&r.mixins.forEach(l)}return!a&&!s?(re(r)&&n.set(r,null),null):(It(a)?a.forEach(l=>o[l]=null):Me(o,a),re(r)&&n.set(r,o),o)}function zv(r,t){return!r||!Mv(t)?!1:(t=t.slice(2).replace(/Once$/,""),jt(r,t[0].toLowerCase()+t.slice(1))||jt(r,va(t))||jt(r,t))}function Nd(r){const{type:t,vnode:e,proxy:n,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:l,render:u,renderCache:f,props:c,data:h,setupState:v,ctx:d,inheritAttrs:p}=r,g=wh(r);let y,m;try{if(e.shapeFlag&4){const S=i||n,x=S;y=Ln(u.call(x,S,f,c,v,h,d)),m=s}else{const S=t;y=Ln(S.length>1?S(c,{attrs:s,slots:o,emit:l}):S(c,null)),m=t.props?s:DV(s)}}catch(S){hu.length=0,gf(S,r,1),y=Pe(pi)}let _=y;if(m&&p!==!1){const S=Object.keys(m),{shapeFlag:x}=_;S.length&&x&7&&(a&&S.some(Dv)&&(m=IV(m,a)),_=Os(_,m,!1,!0))}return e.dirs&&(_=Os(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(e.dirs):e.dirs),e.transition&&E0(_,e.transition),y=_,wh(g),y}const DV=r=>{let t;for(const e in r)(e==="class"||e==="style"||Mv(e))&&((t||(t={}))[e]=r[e]);return t},IV=(r,t)=>{const e={};for(const n in r)(!Dv(n)||!(n.slice(9)in t))&&(e[n]=r[n]);return e};function LV(r,t,e){const{props:n,children:i,component:a}=r,{props:o,children:s,patchFlag:l}=t,u=a.emitsOptions;if(t.dirs||t.transition)return!0;if(e&&l>=0){if(l&1024)return!0;if(l&16)return n?MS(n,o,u):!!o;if(l&8){const f=t.dynamicProps;for(let c=0;cObject.create(lI),fI=r=>Object.getPrototypeOf(r)===lI;function RV(r,t,e,n=!1){const i={},a=uI();r.propsDefaults=Object.create(null),cI(r,t,i,a);for(const o in r.propsOptions[0])o in i||(i[o]=void 0);e?r.props=n?i:WD(i):r.type.props?r.props=i:r.props=a,r.attrs=a}function EV(r,t,e,n){const{props:i,attrs:a,vnode:{patchFlag:o}}=r,s=Xt(i),[l]=r.propsOptions;let u=!1;if((n||o>0)&&!(o&16)){if(o&8){const f=r.vnode.dynamicProps;for(let c=0;c{l=!0;const[h,v]=hI(c,t,!0);Me(o,h),v&&s.push(...v)};!e&&t.mixins.length&&t.mixins.forEach(f),r.extends&&f(r.extends),r.mixins&&r.mixins.forEach(f)}if(!a&&!l)return re(r)&&n.set(r,bs),bs;if(It(a))for(let f=0;fr==="_"||r==="_ctx"||r==="$stable",z0=r=>It(r)?r.map(Ln):[Ln(r)],OV=(r,t,e)=>{if(t._n)return t;const n=ZN((...i)=>z0(t(...i)),e);return n._c=!1,n},vI=(r,t,e)=>{const n=r._ctx;for(const i in r){if(B0(i))continue;const a=r[i];if(Ot(a))t[i]=OV(i,a,n);else if(a!=null){const o=z0(a);t[i]=()=>o}}},dI=(r,t)=>{const e=z0(t);r.slots.default=()=>e},pI=(r,t,e)=>{for(const n in t)(e||!B0(n))&&(r[n]=t[n])},NV=(r,t,e)=>{const n=r.slots=uI();if(r.vnode.shapeFlag&32){const i=t._;i?(pI(n,t,e),e&&AD(n,"_",i,!0)):vI(t,n)}else t&&dI(r,t)},VV=(r,t,e)=>{const{vnode:n,slots:i}=r;let a=!0,o=ie;if(n.shapeFlag&32){const s=t._;s?e&&s===1?a=!1:pI(i,t,e):(a=!t.$stable,vI(t,i)),o=t}else t&&(dI(r,t),o={default:1});if(a)for(const s in i)!B0(s)&&o[s]==null&&delete i[s]},Ye=HV;function BV(r){return zV(r)}function zV(r,t){const e=kv();e.__VUE__=!0;const{insert:n,remove:i,patchProp:a,createElement:o,createText:s,createComment:l,setText:u,setElementText:f,parentNode:c,nextSibling:h,setScopeId:v=sn,insertStaticContent:d}=r,p=(R,k,G,X=null,W=null,J=null,ot=void 0,ut=null,it=!!k.dynamicChildren)=>{if(R===k)return;R&&!pl(R,k)&&(X=U(R),Q(R,W,J,!0),R=null),k.patchFlag===-2&&(it=!1,k.dynamicChildren=null);const{type:rt,ref:At,shapeFlag:dt}=k;switch(rt){case Gv:g(R,k,G,X);break;case pi:y(R,k,G,X);break;case Kc:R==null&&m(k,G,X,ot);break;case zr:I(R,k,G,X,W,J,ot,ut,it);break;default:dt&1?x(R,k,G,X,W,J,ot,ut,it):dt&6?L(R,k,G,X,W,J,ot,ut,it):(dt&64||dt&128)&&rt.process(R,k,G,X,W,J,ot,ut,it,tt)}At!=null&&W?fu(At,R&&R.ref,J,k||R,!k):At==null&&R&&R.ref!=null&&fu(R.ref,null,J,R,!0)},g=(R,k,G,X)=>{if(R==null)n(k.el=s(k.children),G,X);else{const W=k.el=R.el;k.children!==R.children&&u(W,k.children)}},y=(R,k,G,X)=>{R==null?n(k.el=l(k.children||""),G,X):k.el=R.el},m=(R,k,G,X)=>{[R.el,R.anchor]=d(R.children,k,G,X,R.el,R.anchor)},_=({el:R,anchor:k},G,X)=>{let W;for(;R&&R!==k;)W=h(R),n(R,G,X),R=W;n(k,G,X)},S=({el:R,anchor:k})=>{let G;for(;R&&R!==k;)G=h(R),i(R),R=G;i(k)},x=(R,k,G,X,W,J,ot,ut,it)=>{if(k.type==="svg"?ot="svg":k.type==="math"&&(ot="mathml"),R==null)b(k,G,X,W,J,ot,ut,it);else{const rt=R.el&&R.el._isVueCE?R.el:null;try{rt&&rt._beginPatch(),A(R,k,W,J,ot,ut,it)}finally{rt&&rt._endPatch()}}},b=(R,k,G,X,W,J,ot,ut)=>{let it,rt;const{props:At,shapeFlag:dt,transition:wt,dirs:Rt}=R;if(it=R.el=o(R.type,J,At&&At.is,At),dt&8?f(it,R.children):dt&16&&T(R.children,it,null,X,W,Vd(R,J),ot,ut),Rt&&ya(R,null,X,"created"),w(it,R,R.scopeId,ot,X),At){for(const ne in At)ne!=="value"&&!ou(ne)&&a(it,ne,null,At[ne],J,X);"value"in At&&a(it,"value",null,At.value,J),(rt=At.onVnodeBeforeMount)&&_n(rt,X,R)}Rt&&ya(R,null,X,"beforeMount");const Yt=GV(W,wt);Yt&&wt.beforeEnter(it),n(it,k,G),((rt=At&&At.onVnodeMounted)||Yt||Rt)&&Ye(()=>{try{rt&&_n(rt,X,R),Yt&&wt.enter(it),Rt&&ya(R,null,X,"mounted")}finally{}},W)},w=(R,k,G,X,W)=>{if(G&&v(R,G),X)for(let J=0;J{for(let rt=it;rt{const ut=k.el=R.el;let{patchFlag:it,dynamicChildren:rt,dirs:At}=k;it|=R.patchFlag&16;const dt=R.props||ie,wt=k.props||ie;let Rt;if(G&&ma(G,!1),(Rt=wt.onVnodeBeforeUpdate)&&_n(Rt,G,k,R),At&&ya(k,R,G,"beforeUpdate"),G&&ma(G,!0),(dt.innerHTML&&wt.innerHTML==null||dt.textContent&&wt.textContent==null)&&f(ut,""),rt?C(R.dynamicChildren,rt,ut,G,X,Vd(k,W),J):ot||N(R,k,ut,null,G,X,Vd(k,W),J,!1),it>0){if(it&16)D(ut,dt,wt,G,W);else if(it&2&&dt.class!==wt.class&&a(ut,"class",null,wt.class,W),it&4&&a(ut,"style",dt.style,wt.style,W),it&8){const Yt=k.dynamicProps;for(let ne=0;ne{Rt&&_n(Rt,G,k,R),At&&ya(k,R,G,"updated")},X)},C=(R,k,G,X,W,J,ot)=>{for(let ut=0;ut{if(k!==G){if(k!==ie)for(const J in k)!ou(J)&&!(J in G)&&a(R,J,k[J],null,W,X);for(const J in G){if(ou(J))continue;const ot=G[J],ut=k[J];ot!==ut&&J!=="value"&&a(R,J,ut,ot,W,X)}"value"in G&&a(R,"value",k.value,G.value,W)}},I=(R,k,G,X,W,J,ot,ut,it)=>{const rt=k.el=R?R.el:s(""),At=k.anchor=R?R.anchor:s("");let{patchFlag:dt,dynamicChildren:wt,slotScopeIds:Rt}=k;Rt&&(ut=ut?ut.concat(Rt):Rt),R==null?(n(rt,G,X),n(At,G,X),T(k.children||[],G,At,W,J,ot,ut,it)):dt>0&&dt&64&&wt&&R.dynamicChildren&&R.dynamicChildren.length===wt.length?(C(R.dynamicChildren,wt,G,W,J,ot,ut),(k.key!=null||W&&k===W.subTree)&&G0(R,k,!0)):N(R,k,G,At,W,J,ot,ut,it)},L=(R,k,G,X,W,J,ot,ut,it)=>{k.slotScopeIds=ut,R==null?k.shapeFlag&512?W.ctx.activate(k,G,X,ot,it):P(k,G,X,W,J,ot,it):E(R,k,it)},P=(R,k,G,X,W,J,ot)=>{const ut=R.component=KV(R,X,W);if(N0(R)&&(ut.ctx.renderer=tt),JV(ut,!1,ot),ut.asyncDep){if(W&&W.registerDep(ut,O,ot),!R.el){const it=ut.subTree=Pe(pi);y(null,it,k,G),R.placeholder=it.el}}else O(ut,R,k,G,W,J,ot)},E=(R,k,G)=>{const X=k.component=R.component;if(LV(R,k,G))if(X.asyncDep&&!X.asyncResolved){V(X,k,G);return}else X.next=k,X.update();else k.el=R.el,X.vnode=k},O=(R,k,G,X,W,J,ot)=>{const ut=()=>{if(R.isMounted){let{next:dt,bu:wt,u:Rt,parent:Yt,vnode:ne}=R;{const _r=gI(R);if(_r){dt&&(dt.el=ne.el,V(R,dt,ot)),_r.asyncDep.then(()=>{Ye(()=>{R.isUnmounted||rt()},W)});return}}let oe=dt,Se;ma(R,!1),dt?(dt.el=ne.el,V(R,dt,ot)):dt=ne,wt&&Uc(wt),(Se=dt.props&&dt.props.onVnodeBeforeUpdate)&&_n(Se,Yt,dt,ne),ma(R,!0);const we=Nd(R),Kr=R.subTree;R.subTree=we,p(Kr,we,c(Kr.el),U(Kr),R,W,J),dt.el=we.el,oe===null&&PV(R,we.el),Rt&&Ye(Rt,W),(Se=dt.props&&dt.props.onVnodeUpdated)&&Ye(()=>_n(Se,Yt,dt,ne),W)}else{let dt;const{el:wt,props:Rt}=k,{bm:Yt,m:ne,parent:oe,root:Se,type:we}=R,Kr=As(k);if(ma(R,!1),Yt&&Uc(Yt),!Kr&&(dt=Rt&&Rt.onVnodeBeforeMount)&&_n(dt,oe,k),ma(R,!0),wt&<){const _r=()=>{R.subTree=Nd(R),lt(wt,R.subTree,R,W,null)};Kr&&we.__asyncHydrate?we.__asyncHydrate(wt,R,_r):_r()}else{Se.ce&&Se.ce._hasShadowRoot()&&Se.ce._injectChildStyle(we,R.parent?R.parent.type:void 0);const _r=R.subTree=Nd(R);p(null,_r,G,X,R,W,J),k.el=_r.el}if(ne&&Ye(ne,W),!Kr&&(dt=Rt&&Rt.onVnodeMounted)){const _r=k;Ye(()=>_n(dt,oe,_r),W)}(k.shapeFlag&256||oe&&As(oe.vnode)&&oe.vnode.shapeFlag&256)&&R.a&&Ye(R.a,W),R.isMounted=!0,k=G=X=null}};R.scope.on();const it=R.effect=new ID(ut);R.scope.off();const rt=R.update=it.run.bind(it),At=R.job=it.runIfDirty.bind(it);At.i=R,At.id=R.uid,it.scheduler=()=>P0(At),ma(R,!0),rt()},V=(R,k,G)=>{k.component=R;const X=R.vnode.props;R.vnode=k,R.next=null,EV(R,k.props,X,G),VV(R,k.children,G),hi(),gS(R),vi()},N=(R,k,G,X,W,J,ot,ut,it=!1)=>{const rt=R&&R.children,At=R?R.shapeFlag:0,dt=k.children,{patchFlag:wt,shapeFlag:Rt}=k;if(wt>0){if(wt&128){$(rt,dt,G,X,W,J,ot,ut,it);return}else if(wt&256){z(rt,dt,G,X,W,J,ot,ut,it);return}}Rt&8?(At&16&&Et(rt,W,J),dt!==rt&&f(G,dt)):At&16?Rt&16?$(rt,dt,G,X,W,J,ot,ut,it):Et(rt,W,J,!0):(At&8&&f(G,""),Rt&16&&T(dt,G,X,W,J,ot,ut,it))},z=(R,k,G,X,W,J,ot,ut,it)=>{R=R||bs,k=k||bs;const rt=R.length,At=k.length,dt=Math.min(rt,At);let wt;for(wt=0;wtAt?Et(R,W,J,!0,!1,dt):T(k,G,X,W,J,ot,ut,it,dt)},$=(R,k,G,X,W,J,ot,ut,it)=>{let rt=0;const At=k.length;let dt=R.length-1,wt=At-1;for(;rt<=dt&&rt<=wt;){const Rt=R[rt],Yt=k[rt]=it?ri(k[rt]):Ln(k[rt]);if(pl(Rt,Yt))p(Rt,Yt,G,null,W,J,ot,ut,it);else break;rt++}for(;rt<=dt&&rt<=wt;){const Rt=R[dt],Yt=k[wt]=it?ri(k[wt]):Ln(k[wt]);if(pl(Rt,Yt))p(Rt,Yt,G,null,W,J,ot,ut,it);else break;dt--,wt--}if(rt>dt){if(rt<=wt){const Rt=wt+1,Yt=Rtwt)for(;rt<=dt;)Q(R[rt],W,J,!0),rt++;else{const Rt=rt,Yt=rt,ne=new Map;for(rt=Yt;rt<=wt;rt++){const Sr=k[rt]=it?ri(k[rt]):Ln(k[rt]);Sr.key!=null&&ne.set(Sr.key,rt)}let oe,Se=0;const we=wt-Yt+1;let Kr=!1,_r=0;const hl=new Array(we);for(rt=0;rt=we){Q(Sr,W,J,!0);continue}let mn;if(Sr.key!=null)mn=ne.get(Sr.key);else for(oe=Yt;oe<=wt;oe++)if(hl[oe-Yt]===0&&pl(Sr,k[oe])){mn=oe;break}mn===void 0?Q(Sr,W,J,!0):(hl[mn-Yt]=rt+1,mn>=_r?_r=mn:Kr=!0,p(Sr,k[mn],G,null,W,J,ot,ut,it),Se++)}const aS=Kr?FV(hl):bs;for(oe=aS.length-1,rt=we-1;rt>=0;rt--){const Sr=Yt+rt,mn=k[Sr],oS=k[Sr+1],sS=Sr+1{const{el:J,type:ot,transition:ut,children:it,shapeFlag:rt}=R;if(rt&6){q(R.component.subTree,k,G,X);return}if(rt&128){R.suspense.move(k,G,X);return}if(rt&64){ot.move(R,k,G,tt);return}if(ot===zr){n(J,k,G);for(let dt=0;dtut.enter(J),W);else{const{leave:dt,delayLeave:wt,afterLeave:Rt}=ut,Yt=()=>{R.ctx.isUnmounted?i(J):n(J,k,G)},ne=()=>{J._isLeaving&&J[tV](!0),dt(J,()=>{Yt(),Rt&&Rt()})};wt?wt(J,Yt,ne):ne()}else n(J,k,G)},Q=(R,k,G,X=!1,W=!1)=>{const{type:J,props:ot,ref:ut,children:it,dynamicChildren:rt,shapeFlag:At,patchFlag:dt,dirs:wt,cacheIndex:Rt,memo:Yt}=R;if(dt===-2&&(W=!1),ut!=null&&(hi(),fu(ut,null,G,R,!0),vi()),Rt!=null&&(k.renderCache[Rt]=void 0),At&256){k.ctx.deactivate(R);return}const ne=At&1&&wt,oe=!As(R);let Se;if(oe&&(Se=ot&&ot.onVnodeBeforeUnmount)&&_n(Se,k,R),At&6)gt(R.component,G,X);else{if(At&128){R.suspense.unmount(G,X);return}ne&&ya(R,null,k,"beforeUnmount"),At&64?R.type.remove(R,k,G,tt,X):rt&&!rt.hasOnce&&(J!==zr||dt>0&&dt&64)?Et(rt,k,G,!1,!0):(J===zr&&dt&384||!W&&At&16)&&Et(it,k,G),X&&ct(R)}const we=Yt!=null&&Rt==null;(oe&&(Se=ot&&ot.onVnodeUnmounted)||ne||we)&&Ye(()=>{Se&&_n(Se,k,R),ne&&ya(R,null,k,"unmounted"),we&&(R.el=null)},G)},ct=R=>{const{type:k,el:G,anchor:X,transition:W}=R;if(k===zr){ht(G,X);return}if(k===Kc){S(R);return}const J=()=>{i(G),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(R.shapeFlag&1&&W&&!W.persisted){const{leave:ot,delayLeave:ut}=W,it=()=>ot(G,J);ut?ut(R.el,J,it):it()}else J()},ht=(R,k)=>{let G;for(;R!==k;)G=h(R),i(R),R=G;i(k)},gt=(R,k,G)=>{const{bum:X,scope:W,job:J,subTree:ot,um:ut,m:it,a:rt}=R;IS(it),IS(rt),X&&Uc(X),W.stop(),J&&(J.flags|=8,Q(ot,R,k,G)),ut&&Ye(ut,k),Ye(()=>{R.isUnmounted=!0},k)},Et=(R,k,G,X=!1,W=!1,J=0)=>{for(let ot=J;ot{if(R.shapeFlag&6)return U(R.component.subTree);if(R.shapeFlag&128)return R.suspense.next();const k=h(R.anchor||R.el),G=k&&k[JD];return G?h(G):k};let K=!1;const H=(R,k,G)=>{let X;R==null?k._vnode&&(Q(k._vnode,null,null,!0),X=k._vnode.component):p(k._vnode||null,R,k,null,null,null,G),k._vnode=R,K||(K=!0,gS(X),XD(),K=!1)},tt={p,um:Q,m:q,r:ct,mt:P,mc:T,pc:N,pbc:C,n:U,o:r};let j,lt;return t&&([j,lt]=t(tt)),{render:H,hydrate:j,createApp:TV(H,j)}}function Vd({type:r,props:t},e){return e==="svg"&&r==="foreignObject"||e==="mathml"&&r==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:e}function ma({effect:r,job:t},e){e?(r.flags|=32,t.flags|=4):(r.flags&=-33,t.flags&=-5)}function GV(r,t){return(!r||r&&!r.pendingBranch)&&t&&!t.persisted}function G0(r,t,e=!1){const n=r.children,i=t.children;if(It(n)&&It(i))for(let a=0;a>1,r[e[s]]0&&(t[n]=e[a-1]),e[a]=n)}}for(a=e.length,o=e[a-1];a-- >0;)e[a]=o,o=t[o];return e}function gI(r){const t=r.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:gI(t)}function IS(r){if(r)for(let t=0;tr.__isSuspense;function HV(r,t){t&&t.pendingBranch?It(r)?t.effects.push(...r):t.effects.push(r):YN(r)}const zr=Symbol.for("v-fgt"),Gv=Symbol.for("v-txt"),pi=Symbol.for("v-cmt"),Kc=Symbol.for("v-stc"),hu=[];let wr=null;function Ch(r=!1){hu.push(wr=r?null:[])}function WV(){hu.pop(),wr=hu[hu.length-1]||null}let ku=1;function Mh(r,t=!1){ku+=r,r<0&&wr&&t&&(wr.hasOnce=!0)}function _I(r){return r.dynamicChildren=ku>0?wr||bs:null,WV(),ku>0&&wr&&wr.push(r),r}function zit(r,t,e,n,i,a){return _I(xI(r,t,e,n,i,a,!0))}function Dh(r,t,e,n,i){return _I(Pe(r,t,e,n,i,!0))}function Ou(r){return r?r.__v_isVNode===!0:!1}function pl(r,t){return r.type===t.type&&r.key===t.key}const SI=({key:r})=>r!=null?r:null,jc=({ref:r,ref_key:t,ref_for:e})=>(typeof r=="number"&&(r=""+r),r!=null?ye(r)||ke(r)||Ot(r)?{i:Ve,r,k:t,f:!!e}:r:null);function xI(r,t=null,e=null,n=0,i=null,a=r===zr?0:1,o=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:r,props:t,key:t&&SI(t),ref:t&&jc(t),scopeId:KD,slotScopeIds:null,children:e,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ve};return s?(F0(l,e),a&128&&r.normalize(l)):e&&(l.shapeFlag|=ye(e)?8:16),ku>0&&!o&&wr&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&wr.push(l),l}const Pe=$V;function $V(r,t=null,e=null,n=0,i=null,a=!1){if((!r||r===pV)&&(r=pi),Ou(r)){const s=Os(r,t,!0);return e&&F0(s,e),ku>0&&!a&&wr&&(s.shapeFlag&6?wr[wr.indexOf(r)]=s:wr.push(s)),s.patchFlag=-2,s}if(nB(r)&&(r=r.__vccOpts),t){t=UV(t);let{class:s,style:l}=t;s&&!ye(s)&&(t.class=w0(s)),re(l)&&(Vv(l)&&!It(l)&&(l=Me({},l)),t.style=b0(l))}const o=ye(r)?1:mI(r)?128:jN(r)?64:re(r)?4:Ot(r)?2:0;return xI(r,t,e,n,i,o,a,!0)}function UV(r){return r?Vv(r)||fI(r)?Me({},r):r:null}function Os(r,t,e=!1,n=!1){const{props:i,ref:a,patchFlag:o,children:s,transition:l}=r,u=t?ZV(i||{},t):i,f={__v_isVNode:!0,__v_skip:!0,type:r.type,props:u,key:u&&SI(u),ref:t&&t.ref?e&&a?It(a)?a.concat(jc(t)):[a,jc(t)]:jc(t):a,scopeId:r.scopeId,slotScopeIds:r.slotScopeIds,children:s,target:r.target,targetStart:r.targetStart,targetAnchor:r.targetAnchor,staticCount:r.staticCount,shapeFlag:r.shapeFlag,patchFlag:t&&r.type!==zr?o===-1?16:o|16:o,dynamicProps:r.dynamicProps,dynamicChildren:r.dynamicChildren,appContext:r.appContext,dirs:r.dirs,transition:l,component:r.component,suspense:r.suspense,ssContent:r.ssContent&&Os(r.ssContent),ssFallback:r.ssFallback&&Os(r.ssFallback),placeholder:r.placeholder,el:r.el,anchor:r.anchor,ctx:r.ctx,ce:r.ce};return l&&n&&E0(f,l.clone(f)),f}function YV(r=" ",t=0){return Pe(Gv,null,r,t)}function Git(r,t){const e=Pe(Kc,null,r);return e.staticCount=t,e}function Fit(r="",t=!1){return t?(Ch(),Dh(pi,null,r)):Pe(pi,null,r)}function Ln(r){return r==null||typeof r=="boolean"?Pe(pi):It(r)?Pe(zr,null,r.slice()):Ou(r)?ri(r):Pe(Gv,null,String(r))}function ri(r){return r.el===null&&r.patchFlag!==-1||r.memo?r:Os(r)}function F0(r,t){let e=0;const{shapeFlag:n}=r;if(t==null)t=null;else if(It(t))e=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),F0(r,i()),i._c&&(i._d=!0));return}else{e=32;const i=t._;!i&&!fI(t)?t._ctx=Ve:i===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,r.patchFlag|=1024))}else Ot(t)?(t={default:t,_ctx:Ve},e=32):(t=String(t),n&64?(e=16,t=[YV(t)]):e=8);r.children=t,r.shapeFlag|=e}function ZV(...r){const t={};for(let e=0;eNe||Ve;let Ih,Ty;{const r=kv(),t=(e,n)=>{let i;return(i=r[e])||(i=r[e]=[]),i.push(n),a=>{i.length>1?i.forEach(o=>o(a)):i[0](a)}};Ih=t("__VUE_INSTANCE_SETTERS__",e=>Ne=e),Ty=t("__VUE_SSR_SETTERS__",e=>Ns=e)}const yf=r=>{const t=Ne;return Ih(r),r.scope.on(),()=>{r.scope.off(),Ih(t)}},LS=()=>{Ne&&Ne.scope.off(),Ih(null)};function bI(r){return r.vnode.shapeFlag&4}let Ns=!1;function JV(r,t=!1,e=!1){t&&Ty(t);const{props:n,children:i}=r.vnode,a=bI(r);RV(r,n,a,t),NV(r,i,e||t);const o=a?QV(r,t):void 0;return t&&Ty(!1),o}function QV(r,t){const e=r.type;r.accessCache=Object.create(null),r.proxy=new Proxy(r.ctx,yV);const{setup:n}=e;if(n){hi();const i=r.setupContext=n.length>1?eB(r):null,a=yf(r),o=pf(n,r,0,[r.props,i]),s=bD(o);if(vi(),a(),(s||r.sp)&&!As(r)&&O0(r),s){if(o.then(LS,LS),t)return o.then(l=>{PS(r,l,t)}).catch(l=>{gf(l,r,0)});r.asyncDep=o}else PS(r,o,t)}else wI(r,t)}function PS(r,t,e){Ot(t)?r.type.__ssrInlineRender?r.ssrRender=t:r.render=t:re(t)&&(r.setupState=UD(t)),wI(r,e)}let RS;function wI(r,t,e){const n=r.type;if(!r.render){if(!t&&RS&&!n.render){const i=n.template||V0(r).template;if(i){const{isCustomElement:a,compilerOptions:o}=r.appContext.config,{delimiters:s,compilerOptions:l}=n,u=Me(Me({isCustomElement:a,delimiters:s},o),l);n.render=RS(i,u)}}r.render=n.render||sn}{const i=yf(r);hi();try{mV(r)}finally{vi(),i()}}}const tB={get(r,t){return Xe(r,"get",""),r[t]}};function eB(r){const t=e=>{r.exposed=e||{}};return{attrs:new Proxy(r.attrs,tB),slots:r.slots,emit:r.emit,expose:t}}function Fv(r){return r.exposed?r.exposeProxy||(r.exposeProxy=new Proxy(UD(kN(r.exposed)),{get(t,e){if(e in t)return t[e];if(e in cu)return cu[e](r)},has(t,e){return e in t||e in cu}})):r.proxy}function rB(r,t=!0){return Ot(r)?r.displayName||r.name:r.name||t&&r.__name}function nB(r){return Ot(r)&&"__vccOpts"in r}const nn=(r,t)=>FN(r,t,Ns);function TI(r,t,e){try{Mh(-1);const n=arguments.length;return n===2?re(t)&&!It(t)?Ou(t)?Pe(r,null,[t]):Pe(r,t):Pe(r,null,t):(n>3?e=Array.prototype.slice.call(arguments,2):n===3&&Ou(e)&&(e=[e]),Pe(r,t,e))}finally{Mh(1)}}const iB="3.5.31";/** -* @vue/runtime-dom v3.5.31 +**/function mf(r,t,e,n){try{return n?r(...n):r()}catch(i){_f(i,t,e)}}function vn(r,t,e,n){if(Ot(r)){const i=mf(r,t,e,n);return i&&TD(i)&&i.catch(a=>{_f(a,t,e)}),i}if(It(r)){const i=[];for(let a=0;a>>1,i=ar[n],a=Nu(i);a=Nu(e)?ar.push(r):ar.splice($N(t),0,r),r.flags|=1,qD()}}function qD(){wh||(wh=XD.then(jD))}function UN(r){It(r)?Cs.push(...r):Fi&&r.id===-1?Fi.splice(vs+1,0,r):r.flags&1||(Cs.push(r),r.flags|=1),qD()}function _S(r,t,e=Dn+1){for(;eNu(e)-Nu(n));if(Cs.length=0,Fi){Fi.push(...t);return}for(Fi=t,vs=0;vsr.id==null?r.flags&2?-1:1/0:r.id;function jD(r){const t=sn;try{for(Dn=0;Dn{n._d&&Dh(-1);const a=Th(t);let o;try{o=r(...i)}finally{Th(a),n._d&&Dh(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function kit(r,t){if(Be===null)return r;const e=Wv(Be),n=r.dirs||(r.dirs=[]);for(let i=0;i1)return e&&Ot(t)?t.call(n&&n.proxy):t}}const ZN=Symbol.for("v-scx"),XN=()=>un(ZN);function Oit(r,t){return O0(r,null,t)}function jc(r,t,e){return O0(r,t,e)}function O0(r,t,e=ae){const{immediate:n,deep:i,flush:a,once:o}=e,s=Me({},e),l=t&&n||!t&&a!=="post";let u;if(Bs){if(a==="sync"){const v=XN();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=sn,v.resume=sn,v.pause=sn,v}}const f=Ve;s.call=(v,d,p)=>vn(v,f,d,p);let c=!1;a==="post"?s.scheduler=v=>{tr(v,f&&f.suspense)}:a!=="sync"&&(c=!0,s.scheduler=(v,d)=>{d?v():k0(v)}),s.augmentJob=v=>{t&&(v.flags|=4),c&&(v.flags|=2,f&&(v.id=f.uid,v.i=f))};const h=HN(r,t,s);return Bs&&(u?u.push(h):l&&h()),h}function qN(r,t,e){const n=this.proxy,i=he(r)?r.includes(".")?QD(n,r):()=>n[r]:r.bind(n,n);let a;Ot(t)?a=t:(a=t.handler,e=t);const o=Sf(this),s=O0(i,a.bind(n),e);return o(),s}function QD(r,t){const e=t.split(".");return()=>{let n=r;for(let i=0;ir.__isTeleport,ja=r=>r&&(r.disabled||r.disabled===""),jN=r=>r&&(r.defer||r.defer===""),SS=r=>typeof SVGElement!="undefined"&&r instanceof SVGElement,xS=r=>typeof MathMLElement=="function"&&r instanceof MathMLElement,xy=(r,t)=>{const e=r&&r.to;return he(e)?t?t(e):null:e},JN={name:"Teleport",__isTeleport:!0,process(r,t,e,n,i,a,o,s,l,u){const{mc:f,pc:c,pbc:h,o:{insert:v,querySelector:d,createText:p,createComment:g,parentNode:y}}=u,m=ja(t.props);let{dynamicChildren:_}=t;const S=(w,T,A)=>{w.shapeFlag&16&&f(w.children,T,A,i,a,o,s,l)},x=(w=t)=>{const T=ja(w.props),A=w.target=xy(w.props,d),C=by(A,w,p,v);A&&(o!=="svg"&&SS(A)?o="svg":o!=="mathml"&&xS(A)&&(o="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(A),T||(S(w,A,C),ql(w,!1)))},b=w=>{const T=()=>{if(Vi.get(w)===T){if(Vi.delete(w),ja(w.props)){const A=y(w.el)||e;S(w,A,w.anchor),ql(w,!0)}x(w)}};Vi.set(w,T),tr(T,a)};if(r==null){const w=t.el=p(""),T=t.anchor=p("");if(v(w,e,n),v(T,e,n),jN(t.props)||a&&a.pendingBranch){b(t);return}m&&(S(t,e,T),ql(t,!0)),x()}else{t.el=r.el;const w=t.anchor=r.anchor,T=Vi.get(r);if(T){T.flags|=8,Vi.delete(r),b(t);return}t.targetStart=r.targetStart;const A=t.target=r.target,C=t.targetAnchor=r.targetAnchor,D=ja(r.props),I=D?e:A,L=D?w:C;if(o==="svg"||SS(A)?o="svg":(o==="mathml"||xS(A))&&(o="mathml"),_?(h(r.dynamicChildren,_,I,i,a,o,s),$0(r,t,!0)):l||c(r,t,I,L,i,a,o,s,!1),m)D?t.props&&r.props&&t.props.to!==r.props.to&&(t.props.to=r.props.to):$f(t,e,w,u,1);else if((t.props&&t.props.to)!==(r.props&&r.props.to)){const P=xy(t.props,d);P&&(t.target=P,$f(t,P,null,u,0))}else D&&$f(t,A,C,u,1);ql(t,m)}},remove(r,t,e,{um:n,o:{remove:i}},a){const{shapeFlag:o,children:s,anchor:l,targetStart:u,targetAnchor:f,target:c,props:h}=r,v=ja(h),d=a||!v,p=Vi.get(r);if(p&&(p.flags|=8,Vi.delete(r)),c&&(i(u),i(f)),a&&i(l),!p&&(v||c)&&o&16)for(let g=0;gMe({name:r.name},t,{setup:r}))():r}function B0(r){r.ids=[r.ids[0]+r.ids[2]+++"-",0,0]}function bS(r,t){let e;return!!((e=Object.getOwnPropertyDescriptor(r,t))&&!e.configurable)}const Ah=new WeakMap;function vu(r,t,e,n,i=!1){if(It(r)){r.forEach((p,g)=>vu(p,t&&(It(t)?t[g]:t),e,n,i));return}if(Ms(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&vu(r,t,e,n.component.subTree);return}const a=n.shapeFlag&4?Wv(n.component):n.el,o=i?null:a,{i:s,r:l}=r,u=t&&t.r,f=s.refs===ae?s.refs={}:s.refs,c=s.setupState,h=Xt(c),v=c===ae?wD:p=>bS(f,p)?!1:jt(h,p),d=(p,g)=>!(g&&bS(f,g));if(u!=null&&u!==l){if(wS(t),he(u))f[u]=null,v(u)&&(c[u]=null);else if(ke(u)){const p=t;d(u,p.k)&&(u.value=null),p.k&&(f[p.k]=null)}}if(Ot(l)){Fn();try{mf(l,s,12,[o,f])}finally{Hn()}}else{const p=he(l),g=ke(l);if(p||g){const y=()=>{if(r.f){const m=p?v(l)?c[l]:f[l]:d()||!r.k?l.value:f[r.k];if(i)It(m)&&T0(m,a);else if(It(m))m.includes(a)||m.push(a);else if(p)f[l]=[a],v(l)&&(c[l]=f[l]);else{const _=[a];d(l,r.k)&&(l.value=_),r.k&&(f[r.k]=_)}}else p?(f[l]=o,v(l)&&(c[l]=o)):g&&(d(l,r.k)&&(l.value=o),r.k&&(f[r.k]=o))};if(o){const m=()=>{y(),Ah.delete(r)};m.id=-1,Ah.set(r,m),tr(m,e)}else wS(r),y()}}}function wS(r){const t=Ah.get(r);t&&(t.flags|=8,Ah.delete(r))}const TS=r=>r.nodeType===8;Nv().requestIdleCallback;Nv().cancelIdleCallback;function tV(r,t){if(TS(r)&&r.data==="["){let e=1,n=r.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(TS(n))if(n.data==="]"){if(--e===0)break}else n.data==="["&&e++;n=n.nextSibling}}else t(r)}const Ms=r=>!!r.type.__asyncLoader;function Vit(r){Ot(r)&&(r={loader:r});const{loader:t,loadingComponent:e,errorComponent:n,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:l}=r;let u=null,f,c=0;const h=()=>(c++,u=null,v()),v=()=>{let d;return u||(d=u=t().catch(p=>{if(p=p instanceof Error?p:new Error(String(p)),l)return new Promise((g,y)=>{l(p,()=>g(h()),()=>y(p),c+1)});throw p}).then(p=>d!==u&&u?u:(p&&(p.__esModule||p[Symbol.toStringTag]==="Module")&&(p=p.default),f=p,p)))};return V0({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(d,p,g){let y=!1;(p.bu||(p.bu=[])).push(()=>y=!0);const m=()=>{y||g()},_=a?()=>{const S=a(m,x=>tV(d,x));S&&(p.bum||(p.bum=[])).push(S)}:m;f?_():v().then(()=>!p.isUnmounted&&_())},get __asyncResolved(){return f},setup(){const d=Ve;if(B0(d),f)return()=>Uf(f,d);const p=x=>{u=null,_f(x,d,13,!n)};if(s&&d.suspense||Bs)return v().then(x=>()=>Uf(x,d)).catch(x=>(p(x),()=>n?Pe(n,{error:x}):null));const g=qc(!1),y=qc(),m=qc(!!i);let _,S;return G0(()=>{_!=null&&clearTimeout(_),S!=null&&clearTimeout(S)}),i&&(S=setTimeout(()=>{d.isUnmounted||(m.value=!1)},i)),o!=null&&(_=setTimeout(()=>{if(!d.isUnmounted&&!g.value&&!y.value){const x=new Error(`Async component timed out after ${o}ms.`);p(x),y.value=x}},o)),v().then(()=>{d.isUnmounted||(g.value=!0,d.parent&&z0(d.parent.vnode)&&d.parent.update())}).catch(x=>{if(d.isUnmounted){u=null;return}p(x),y.value=x}),()=>{if(g.value&&f)return Uf(f,d);if(y.value&&n)return Pe(n,{error:y.value});if(e&&!m.value)return Uf(e,d)}}})}function Uf(r,t){const{ref:e,props:n,children:i,ce:a}=t.vnode,o=Pe(r,n,i);return o.ref=e,o.ce=a,delete t.vnode.ce,o}const z0=r=>r.type.__isKeepAlive;function eV(r,t){eI(r,"a",t)}function rV(r,t){eI(r,"da",t)}function eI(r,t,e=Ve){const n=r.__wdc||(r.__wdc=()=>{let i=e;for(;i;){if(i.isDeactivated)return;i=i.parent}return r()});if(Gv(t,n,e),e){let i=e.parent;for(;i&&i.parent;)z0(i.parent.vnode)&&nV(n,t,e,i),i=i.parent}}function nV(r,t,e,n){const i=Gv(t,r,n,!0);G0(()=>{T0(n[t],i)},e)}function Gv(r,t,e=Ve,n=!1){if(e){const i=e[r]||(e[r]=[]),a=t.__weh||(t.__weh=(...o)=>{Fn();const s=Sf(e),l=vn(t,e,r,o);return s(),Hn(),l});return n?i.unshift(a):i.push(a),a}}const wi=r=>(t,e=Ve)=>{(!Bs||r==="sp")&&Gv(r,(...n)=>t(...n),e)},iV=wi("bm"),aV=wi("m"),oV=wi("bu"),sV=wi("u"),lV=wi("bum"),G0=wi("um"),uV=wi("sp"),fV=wi("rtg"),cV=wi("rtc");function hV(r,t=Ve){Gv("ec",r,t)}const rI="components";function vV(r,t){return pV(rI,r,!0,t)||r}const dV=Symbol.for("v-ndc");function pV(r,t,e=!0,n=!1){const i=Be||Ve;if(i){const a=i.type;if(r===rI){const s=eB(a,!1);if(s&&(s===t||s===or(t)||s===kv(or(t))))return a}const o=AS(i[r]||a[r],t)||AS(i.appContext[r],t);return!o&&n?a:o}}function AS(r,t){return r&&(r[t]||r[or(t)]||r[kv(or(t))])}function Bit(r,t,e,n){let i;const a=e&&e[n],o=It(r);if(o||he(r)){const s=o&&po(r);let l=!1,u=!1;s&&(l=!Ar(r),u=di(r),r=Vv(r)),i=new Array(r.length);for(let f=0,c=r.length;ft(s,l,void 0,a&&a[l]));else{const s=Object.keys(r);i=new Array(s.length);for(let l=0,u=s.length;l0;return t!=="default"&&(e.name=t),Mh(),Ih(zr,null,[Pe("slot",e,n&&n())],u?-2:64)}let a=r[t];a&&a._c&&(a._d=!1),Mh();const o=a&&nI(a(e)),s=e.key||o&&o.key,l=Ih(zr,{key:(s&&!Ir(s)?s:`_${t}`)+(!o&&n?"_fb":"")},o||(n?n():[]),o&&r._===1?64:-2);return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),a&&a._c&&(a._d=!0),l}function nI(r){return r.some(t=>Bu(t)?!(t.type===pi||t.type===zr&&!nI(t.children)):!0)?r:null}const wy=r=>r?bI(r)?Wv(r):wy(r.parent):null,du=Me(Object.create(null),{$:r=>r,$el:r=>r.vnode.el,$data:r=>r.data,$props:r=>r.props,$attrs:r=>r.attrs,$slots:r=>r.slots,$refs:r=>r.refs,$parent:r=>wy(r.parent),$root:r=>wy(r.root),$host:r=>r.ce,$emit:r=>r.emit,$options:r=>F0(r),$forceUpdate:r=>r.f||(r.f=()=>{k0(r.update)}),$nextTick:r=>r.n||(r.n=E0.bind(r.proxy)),$watch:r=>qN.bind(r)}),Bd=(r,t)=>r!==ae&&!r.__isScriptSetup&&jt(r,t),gV={get({_:r},t){if(t==="__v_skip")return!0;const{ctx:e,setupState:n,data:i,props:a,accessCache:o,type:s,appContext:l}=r;if(t[0]!=="$"){const h=o[t];if(h!==void 0)switch(h){case 1:return n[t];case 2:return i[t];case 4:return e[t];case 3:return a[t]}else{if(Bd(n,t))return o[t]=1,n[t];if(i!==ae&&jt(i,t))return o[t]=2,i[t];if(jt(a,t))return o[t]=3,a[t];if(e!==ae&&jt(e,t))return o[t]=4,e[t];Ty&&(o[t]=0)}}const u=du[t];let f,c;if(u)return t==="$attrs"&&Xe(r.attrs,"get",""),u(r);if((f=s.__cssModules)&&(f=f[t]))return f;if(e!==ae&&jt(e,t))return o[t]=4,e[t];if(c=l.config.globalProperties,jt(c,t))return c[t]},set({_:r},t,e){const{data:n,setupState:i,ctx:a}=r;return Bd(i,t)?(i[t]=e,!0):n!==ae&&jt(n,t)?(n[t]=e,!0):jt(r.props,t)||t[0]==="$"&&t.slice(1)in r?!1:(a[t]=e,!0)},has({_:{data:r,setupState:t,accessCache:e,ctx:n,appContext:i,props:a,type:o}},s){let l;return!!(e[s]||r!==ae&&s[0]!=="$"&&jt(r,s)||Bd(t,s)||jt(a,s)||jt(n,s)||jt(du,s)||jt(i.config.globalProperties,s)||(l=o.__cssModules)&&l[s])},defineProperty(r,t,e){return e.get!=null?r._.accessCache[t]=0:jt(e,"value")&&this.set(r,t,e.value,null),Reflect.defineProperty(r,t,e)}};function CS(r){return It(r)?r.reduce((t,e)=>(t[e]=null,t),{}):r}let Ty=!0;function yV(r){const t=F0(r),e=r.proxy,n=r.ctx;Ty=!1,t.beforeCreate&&MS(t.beforeCreate,r,"bc");const{data:i,computed:a,methods:o,watch:s,provide:l,inject:u,created:f,beforeMount:c,mounted:h,beforeUpdate:v,updated:d,activated:p,deactivated:g,beforeDestroy:y,beforeUnmount:m,destroyed:_,unmounted:S,render:x,renderTracked:b,renderTriggered:w,errorCaptured:T,serverPrefetch:A,expose:C,inheritAttrs:D,components:I,directives:L,filters:P}=t;if(u&&mV(u,n,null),o)for(const V in o){const N=o[V];Ot(N)&&(n[V]=N.bind(e))}if(i){const V=i.call(e,e);re(V)&&(r.data=Bv(V))}if(Ty=!0,a)for(const V in a){const N=a[V],G=Ot(N)?N.bind(e,e):Ot(N.get)?N.get.bind(e,e):sn,$=!Ot(N)&&Ot(N.set)?N.set.bind(e):sn,q=nn({get:G,set:$});Object.defineProperty(n,V,{enumerable:!0,configurable:!0,get:()=>q.value,set:Q=>q.value=Q})}if(s)for(const V in s)iI(s[V],n,e,V);if(l){const V=Ot(l)?l.call(e):l;Reflect.ownKeys(V).forEach(N=>{Kc(N,V[N])})}f&&MS(f,r,"c");function O(V,N){It(N)?N.forEach(G=>V(G.bind(e))):N&&V(N.bind(e))}if(O(iV,c),O(aV,h),O(oV,v),O(sV,d),O(eV,p),O(rV,g),O(hV,T),O(cV,b),O(fV,w),O(lV,m),O(G0,S),O(uV,A),It(C))if(C.length){const V=r.exposed||(r.exposed={});C.forEach(N=>{Object.defineProperty(V,N,{get:()=>e[N],set:G=>e[N]=G,enumerable:!0})})}else r.exposed||(r.exposed={});x&&r.render===sn&&(r.render=x),D!=null&&(r.inheritAttrs=D),I&&(r.components=I),L&&(r.directives=L),A&&B0(r)}function mV(r,t,e=sn){It(r)&&(r=Ay(r));for(const n in r){const i=r[n];let a;re(i)?"default"in i?a=un(i.from||n,i.default,!0):a=un(i.from||n):a=un(i),ke(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:o=>a.value=o}):t[n]=a}}function MS(r,t,e){vn(It(r)?r.map(n=>n.bind(t.proxy)):r.bind(t.proxy),t,e)}function iI(r,t,e,n){let i=n.includes(".")?QD(e,n):()=>e[n];if(he(r)){const a=t[r];Ot(a)&&jc(i,a)}else if(Ot(r))jc(i,r.bind(e));else if(re(r))if(It(r))r.forEach(a=>iI(a,t,e,n));else{const a=Ot(r.handler)?r.handler.bind(e):t[r.handler];Ot(a)&&jc(i,a,r)}}function F0(r){const t=r.type,{mixins:e,extends:n}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=r.appContext,s=a.get(t);let l;return s?l=s:!i.length&&!e&&!n?l=t:(l={},i.length&&i.forEach(u=>Ch(l,u,o,!0)),Ch(l,t,o)),re(t)&&a.set(t,l),l}function Ch(r,t,e,n=!1){const{mixins:i,extends:a}=t;a&&Ch(r,a,e,!0),i&&i.forEach(o=>Ch(r,o,e,!0));for(const o in t)if(!(n&&o==="expose")){const s=_V[o]||e&&e[o];r[o]=s?s(r[o],t[o]):t[o]}return r}const _V={data:DS,props:IS,emits:IS,methods:Kl,computed:Kl,beforeCreate:Qe,created:Qe,beforeMount:Qe,mounted:Qe,beforeUpdate:Qe,updated:Qe,beforeDestroy:Qe,beforeUnmount:Qe,destroyed:Qe,unmounted:Qe,activated:Qe,deactivated:Qe,errorCaptured:Qe,serverPrefetch:Qe,components:Kl,directives:Kl,watch:xV,provide:DS,inject:SV};function DS(r,t){return t?r?function(){return Me(Ot(r)?r.call(this,this):r,Ot(t)?t.call(this,this):t)}:t:r}function SV(r,t){return Kl(Ay(r),Ay(t))}function Ay(r){if(It(r)){const t={};for(let e=0;et==="modelValue"||t==="model-value"?r.modelModifiers:r[`${t}Modifiers`]||r[`${or(t)}Modifiers`]||r[`${da(t)}Modifiers`];function AV(r,t,...e){if(r.isUnmounted)return;const n=r.vnode.props||ae;let i=e;const a=t.startsWith("update:"),o=a&&TV(n,t.slice(7));o&&(o.trim&&(i=e.map(f=>he(f)?f.trim():f)),o.number&&(i=e.map(Ov)));let s,l=n[s=Rd(t)]||n[s=Rd(or(t))];!l&&a&&(l=n[s=Rd(da(t))]),l&&vn(l,r,6,i);const u=n[s+"Once"];if(u){if(!r.emitted)r.emitted={};else if(r.emitted[s])return;r.emitted[s]=!0,vn(u,r,6,i)}}const CV=new WeakMap;function oI(r,t,e=!1){const n=e?CV:t.emitsCache,i=n.get(r);if(i!==void 0)return i;const a=r.emits;let o={},s=!1;if(!Ot(r)){const l=u=>{const f=oI(u,t,!0);f&&(s=!0,Me(o,f))};!e&&t.mixins.length&&t.mixins.forEach(l),r.extends&&l(r.extends),r.mixins&&r.mixins.forEach(l)}return!a&&!s?(re(r)&&n.set(r,null),null):(It(a)?a.forEach(l=>o[l]=null):Me(o,a),re(r)&&n.set(r,o),o)}function Fv(r,t){return!r||!Iv(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),jt(r,t[0].toLowerCase()+t.slice(1))||jt(r,da(t))||jt(r,t))}function zd(r){const{type:t,vnode:e,proxy:n,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:l,render:u,renderCache:f,props:c,data:h,setupState:v,ctx:d,inheritAttrs:p}=r,g=Th(r);let y,m;try{if(e.shapeFlag&4){const S=i||n,x=S;y=Pn(u.call(x,S,f,c,v,h,d)),m=s}else{const S=t;y=Pn(S.length>1?S(c,{attrs:s,slots:o,emit:l}):S(c,null)),m=t.props?s:MV(s)}}catch(S){pu.length=0,_f(S,r,1),y=Pe(pi)}let _=y;if(m&&p!==!1){const S=Object.keys(m),{shapeFlag:x}=_;S.length&&x&7&&(a&&S.some(Lv)&&(m=DV(m,a)),_=Vs(_,m,!1,!0))}return e.dirs&&(_=Vs(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(e.dirs):e.dirs),e.transition&&N0(_,e.transition),y=_,Th(g),y}const MV=r=>{let t;for(const e in r)(e==="class"||e==="style"||Iv(e))&&((t||(t={}))[e]=r[e]);return t},DV=(r,t)=>{const e={};for(const n in r)(!Lv(n)||!(n.slice(9)in t))&&(e[n]=r[n]);return e};function IV(r,t,e){const{props:n,children:i,component:a}=r,{props:o,children:s,patchFlag:l}=t,u=a.emitsOptions;if(t.dirs||t.transition)return!0;if(e&&l>=0){if(l&1024)return!0;if(l&16)return n?LS(n,o,u):!!o;if(l&8){const f=t.dynamicProps;for(let c=0;cObject.create(lI),fI=r=>Object.getPrototypeOf(r)===lI;function PV(r,t,e,n=!1){const i={},a=uI();r.propsDefaults=Object.create(null),cI(r,t,i,a);for(const o in r.propsOptions[0])o in i||(i[o]=void 0);e?r.props=n?i:UD(i):r.type.props?r.props=i:r.props=a,r.attrs=a}function RV(r,t,e,n){const{props:i,attrs:a,vnode:{patchFlag:o}}=r,s=Xt(i),[l]=r.propsOptions;let u=!1;if((n||o>0)&&!(o&16)){if(o&8){const f=r.vnode.dynamicProps;for(let c=0;c{l=!0;const[h,v]=hI(c,t,!0);Me(o,h),v&&s.push(...v)};!e&&t.mixins.length&&t.mixins.forEach(f),r.extends&&f(r.extends),r.mixins&&r.mixins.forEach(f)}if(!a&&!l)return re(r)&&n.set(r,Ts),Ts;if(It(a))for(let f=0;fr==="_"||r==="_ctx"||r==="$stable",W0=r=>It(r)?r.map(Pn):[Pn(r)],kV=(r,t,e)=>{if(t._n)return t;const n=YN((...i)=>W0(t(...i)),e);return n._c=!1,n},vI=(r,t,e)=>{const n=r._ctx;for(const i in r){if(H0(i))continue;const a=r[i];if(Ot(a))t[i]=kV(i,a,n);else if(a!=null){const o=W0(a);t[i]=()=>o}}},dI=(r,t)=>{const e=W0(t);r.slots.default=()=>e},pI=(r,t,e)=>{for(const n in t)(e||!H0(n))&&(r[n]=t[n])},OV=(r,t,e)=>{const n=r.slots=uI();if(r.vnode.shapeFlag&32){const i=t._;i?(pI(n,t,e),e&&MD(n,"_",i,!0)):vI(t,n)}else t&&dI(r,t)},NV=(r,t,e)=>{const{vnode:n,slots:i}=r;let a=!0,o=ae;if(n.shapeFlag&32){const s=t._;s?e&&s===1?a=!1:pI(i,t,e):(a=!t.$stable,vI(t,i)),o=t}else t&&(dI(r,t),o={default:1});if(a)for(const s in i)!H0(s)&&o[s]==null&&delete i[s]},tr=FV;function VV(r){return BV(r)}function BV(r,t){const e=Nv();e.__VUE__=!0;const{insert:n,remove:i,patchProp:a,createElement:o,createText:s,createComment:l,setText:u,setElementText:f,parentNode:c,nextSibling:h,setScopeId:v=sn,insertStaticContent:d}=r,p=(R,k,z,X=null,W=null,J=null,ot=void 0,st=null,it=!!k.dynamicChildren)=>{if(R===k)return;R&&!yl(R,k)&&(X=U(R),Q(R,W,J,!0),R=null),k.patchFlag===-2&&(it=!1,k.dynamicChildren=null);const{type:et,ref:At,shapeFlag:dt}=k;switch(et){case Hv:g(R,k,z,X);break;case pi:y(R,k,z,X);break;case Jc:R==null&&m(k,z,X,ot);break;case zr:I(R,k,z,X,W,J,ot,st,it);break;default:dt&1?x(R,k,z,X,W,J,ot,st,it):dt&6?L(R,k,z,X,W,J,ot,st,it):(dt&64||dt&128)&&et.process(R,k,z,X,W,J,ot,st,it,tt)}At!=null&&W?vu(At,R&&R.ref,J,k||R,!k):At==null&&R&&R.ref!=null&&vu(R.ref,null,J,R,!0)},g=(R,k,z,X)=>{if(R==null)n(k.el=s(k.children),z,X);else{const W=k.el=R.el;k.children!==R.children&&u(W,k.children)}},y=(R,k,z,X)=>{R==null?n(k.el=l(k.children||""),z,X):k.el=R.el},m=(R,k,z,X)=>{[R.el,R.anchor]=d(R.children,k,z,X,R.el,R.anchor)},_=({el:R,anchor:k},z,X)=>{let W;for(;R&&R!==k;)W=h(R),n(R,z,X),R=W;n(k,z,X)},S=({el:R,anchor:k})=>{let z;for(;R&&R!==k;)z=h(R),i(R),R=z;i(k)},x=(R,k,z,X,W,J,ot,st,it)=>{if(k.type==="svg"?ot="svg":k.type==="math"&&(ot="mathml"),R==null)b(k,z,X,W,J,ot,st,it);else{const et=R.el&&R.el._isVueCE?R.el:null;try{et&&et._beginPatch(),A(R,k,W,J,ot,st,it)}finally{et&&et._endPatch()}}},b=(R,k,z,X,W,J,ot,st)=>{let it,et;const{props:At,shapeFlag:dt,transition:wt,dirs:Rt}=R;if(it=R.el=o(R.type,J,At&&At.is,At),dt&8?f(it,R.children):dt&16&&T(R.children,it,null,X,W,Gd(R,J),ot,st),Rt&&ma(R,null,X,"created"),w(it,R,R.scopeId,ot,X),At){for(const ie in At)ie!=="value"&&!fu(ie)&&a(it,ie,null,At[ie],J,X);"value"in At&&a(it,"value",null,At.value,J),(et=At.onVnodeBeforeMount)&&Sn(et,X,R)}Rt&&ma(R,null,X,"beforeMount");const Yt=zV(W,wt);Yt&&wt.beforeEnter(it),n(it,k,z),((et=At&&At.onVnodeMounted)||Yt||Rt)&&tr(()=>{try{et&&Sn(et,X,R),Yt&&wt.enter(it),Rt&&ma(R,null,X,"mounted")}finally{}},W)},w=(R,k,z,X,W)=>{if(z&&v(R,z),X)for(let J=0;J{for(let et=it;et{const st=k.el=R.el;let{patchFlag:it,dynamicChildren:et,dirs:At}=k;it|=R.patchFlag&16;const dt=R.props||ae,wt=k.props||ae;let Rt;if(z&&_a(z,!1),(Rt=wt.onVnodeBeforeUpdate)&&Sn(Rt,z,k,R),At&&ma(k,R,z,"beforeUpdate"),z&&_a(z,!0),et&&(!R.dynamicChildren||R.dynamicChildren.length!==et.length)&&(it=0,ot=!1,et=null),(dt.innerHTML&&wt.innerHTML==null||dt.textContent&&wt.textContent==null)&&f(st,""),et?C(R.dynamicChildren,et,st,z,X,Gd(k,W),J):ot||N(R,k,st,null,z,X,Gd(k,W),J,!1),it>0){if(it&16)D(st,dt,wt,z,W);else if(it&2&&dt.class!==wt.class&&a(st,"class",null,wt.class,W),it&4&&a(st,"style",dt.style,wt.style,W),it&8){const Yt=k.dynamicProps;for(let ie=0;ie{Rt&&Sn(Rt,z,k,R),At&&ma(k,R,z,"updated")},X)},C=(R,k,z,X,W,J,ot)=>{for(let st=0;st{if(k!==z){if(k!==ae)for(const J in k)!fu(J)&&!(J in z)&&a(R,J,k[J],null,W,X);for(const J in z){if(fu(J))continue;const ot=z[J],st=k[J];ot!==st&&J!=="value"&&a(R,J,st,ot,W,X)}"value"in z&&a(R,"value",k.value,z.value,W)}},I=(R,k,z,X,W,J,ot,st,it)=>{const et=k.el=R?R.el:s(""),At=k.anchor=R?R.anchor:s("");let{patchFlag:dt,dynamicChildren:wt,slotScopeIds:Rt}=k;Rt&&(st=st?st.concat(Rt):Rt),R==null?(n(et,z,X),n(At,z,X),T(k.children||[],z,At,W,J,ot,st,it)):dt>0&&dt&64&&wt&&R.dynamicChildren&&R.dynamicChildren.length===wt.length?(C(R.dynamicChildren,wt,z,W,J,ot,st),(k.key!=null||W&&k===W.subTree)&&$0(R,k,!0)):N(R,k,z,At,W,J,ot,st,it)},L=(R,k,z,X,W,J,ot,st,it)=>{k.slotScopeIds=st,R==null?k.shapeFlag&512?W.ctx.activate(k,z,X,ot,it):P(k,z,X,W,J,ot,it):E(R,k,it)},P=(R,k,z,X,W,J,ot)=>{const st=R.component=qV(R,X,W);if(z0(R)&&(st.ctx.renderer=tt),jV(st,!1,ot),st.asyncDep){if(W&&W.registerDep(st,O,ot),!R.el){const it=st.subTree=Pe(pi);y(null,it,k,z),R.placeholder=it.el}}else O(st,R,k,z,W,J,ot)},E=(R,k,z)=>{const X=k.component=R.component;if(IV(R,k,z))if(X.asyncDep&&!X.asyncResolved){V(X,k,z);return}else X.next=k,X.update();else k.el=R.el,X.vnode=k},O=(R,k,z,X,W,J,ot)=>{const st=()=>{if(R.isMounted){let{next:dt,bu:wt,u:Rt,parent:Yt,vnode:ie}=R;{const _r=gI(R);if(_r){dt&&(dt.el=ie.el,V(R,dt,ot)),_r.asyncDep.then(()=>{tr(()=>{R.isUnmounted||et()},W)});return}}let ne=dt,Se;_a(R,!1),dt?(dt.el=ie.el,V(R,dt,ot)):dt=ie,wt&&Xc(wt),(Se=dt.props&&dt.props.onVnodeBeforeUpdate)&&Sn(Se,Yt,dt,ie),_a(R,!0);const we=zd(R),Kr=R.subTree;R.subTree=we,p(Kr,we,c(Kr.el),U(Kr),R,W,J),dt.el=we.el,ne===null&&LV(R,we.el),Rt&&tr(Rt,W),(Se=dt.props&&dt.props.onVnodeUpdated)&&tr(()=>Sn(Se,Yt,dt,ie),W)}else{let dt;const{el:wt,props:Rt}=k,{bm:Yt,m:ie,parent:ne,root:Se,type:we}=R,Kr=Ms(k);if(_a(R,!1),Yt&&Xc(Yt),!Kr&&(dt=Rt&&Rt.onVnodeBeforeMount)&&Sn(dt,ne,k),_a(R,!0),wt&&ut){const _r=()=>{R.subTree=zd(R),ut(wt,R.subTree,R,W,null)};Kr&&we.__asyncHydrate?we.__asyncHydrate(wt,R,_r):_r()}else{Se.ce&&Se.ce._hasShadowRoot()&&Se.ce._injectChildStyle(we,R.parent?R.parent.type:void 0);const _r=R.subTree=zd(R);p(null,_r,z,X,R,W,J),k.el=_r.el}if(ie&&tr(ie,W),!Kr&&(dt=Rt&&Rt.onVnodeMounted)){const _r=k;tr(()=>Sn(dt,ne,_r),W)}(k.shapeFlag&256||ne&&Ms(ne.vnode)&&ne.vnode.shapeFlag&256)&&R.a&&tr(R.a,W),R.isMounted=!0,k=z=X=null}};R.scope.on();const it=R.effect=new PD(st);R.scope.off();const et=R.update=it.run.bind(it),At=R.job=it.runIfDirty.bind(it);At.i=R,At.id=R.uid,it.scheduler=()=>k0(At),_a(R,!0),et()},V=(R,k,z)=>{k.component=R;const X=R.vnode.props;R.vnode=k,R.next=null,RV(R,k.props,X,z),NV(R,k.children,z),Fn(),_S(R),Hn()},N=(R,k,z,X,W,J,ot,st,it=!1)=>{const et=R&&R.children,At=R?R.shapeFlag:0,dt=k.children,{patchFlag:wt,shapeFlag:Rt}=k;if(wt>0){if(wt&128){$(et,dt,z,X,W,J,ot,st,it);return}else if(wt&256){G(et,dt,z,X,W,J,ot,st,it);return}}Rt&8?(At&16&&Et(et,W,J),dt!==et&&f(z,dt)):At&16?Rt&16?$(et,dt,z,X,W,J,ot,st,it):Et(et,W,J,!0):(At&8&&f(z,""),Rt&16&&T(dt,z,X,W,J,ot,st,it))},G=(R,k,z,X,W,J,ot,st,it)=>{R=R||Ts,k=k||Ts;const et=R.length,At=k.length,dt=Math.min(et,At);let wt;for(wt=0;wtAt?Et(R,W,J,!0,!1,dt):T(k,z,X,W,J,ot,st,it,dt)},$=(R,k,z,X,W,J,ot,st,it)=>{let et=0;const At=k.length;let dt=R.length-1,wt=At-1;for(;et<=dt&&et<=wt;){const Rt=R[et],Yt=k[et]=it?ii(k[et]):Pn(k[et]);if(yl(Rt,Yt))p(Rt,Yt,z,null,W,J,ot,st,it);else break;et++}for(;et<=dt&&et<=wt;){const Rt=R[dt],Yt=k[wt]=it?ii(k[wt]):Pn(k[wt]);if(yl(Rt,Yt))p(Rt,Yt,z,null,W,J,ot,st,it);else break;dt--,wt--}if(et>dt){if(et<=wt){const Rt=wt+1,Yt=Rtwt)for(;et<=dt;)Q(R[et],W,J,!0),et++;else{const Rt=et,Yt=et,ie=new Map;for(et=Yt;et<=wt;et++){const Sr=k[et]=it?ii(k[et]):Pn(k[et]);Sr.key!=null&&ie.set(Sr.key,et)}let ne,Se=0;const we=wt-Yt+1;let Kr=!1,_r=0;const dl=new Array(we);for(et=0;et=we){Q(Sr,W,J,!0);continue}let _n;if(Sr.key!=null)_n=ie.get(Sr.key);else for(ne=Yt;ne<=wt;ne++)if(dl[ne-Yt]===0&&yl(Sr,k[ne])){_n=ne;break}_n===void 0?Q(Sr,W,J,!0):(dl[_n-Yt]=et+1,_n>=_r?_r=_n:Kr=!0,p(Sr,k[_n],z,null,W,J,ot,st,it),Se++)}const lS=Kr?GV(dl):Ts;for(ne=lS.length-1,et=we-1;et>=0;et--){const Sr=Yt+et,_n=k[Sr],uS=k[Sr+1],fS=Sr+1{const{el:J,type:ot,transition:st,children:it,shapeFlag:et}=R;if(et&6){q(R.component.subTree,k,z,X);return}if(et&128){R.suspense.move(k,z,X);return}if(et&64){ot.move(R,k,z,tt);return}if(ot===zr){n(J,k,z);for(let dt=0;dtst.enter(J),W));else{const{leave:dt,delayLeave:wt,afterLeave:Rt}=st,Yt=()=>{R.ctx.isUnmounted?i(J):n(J,k,z)},ie=()=>{const ne=J._isLeaving||!!J[Vd];J._isLeaving&&J[Vd](!0),st.persisted&&!ne?Yt():dt(J,()=>{Yt(),Rt&&Rt()})};wt?wt(J,Yt,ie):ie()}else n(J,k,z)},Q=(R,k,z,X=!1,W=!1)=>{const{type:J,props:ot,ref:st,children:it,dynamicChildren:et,shapeFlag:At,patchFlag:dt,dirs:wt,cacheIndex:Rt,memo:Yt}=R;if(dt===-2&&(W=!1),st!=null&&(Fn(),vu(st,null,z,R,!0),Hn()),Rt!=null&&(k.renderCache[Rt]=void 0),At&256){k.ctx.deactivate(R);return}const ie=At&1&&wt,ne=!Ms(R);let Se;if(ne&&(Se=ot&&ot.onVnodeBeforeUnmount)&&Sn(Se,k,R),At&6)gt(R.component,z,X);else{if(At&128){R.suspense.unmount(z,X);return}ie&&ma(R,null,k,"beforeUnmount"),At&64?R.type.remove(R,k,z,tt,X):et&&!et.hasOnce&&(J!==zr||dt>0&&dt&64)?Et(et,k,z,!1,!0):(J===zr&&dt&384||!W&&At&16)&&Et(it,k,z),X&&ct(R)}const we=Yt!=null&&Rt==null;(ne&&(Se=ot&&ot.onVnodeUnmounted)||ie||we)&&tr(()=>{Se&&Sn(Se,k,R),ie&&ma(R,null,k,"unmounted"),we&&(R.el=null)},z)},ct=R=>{const{type:k,el:z,anchor:X,transition:W}=R;if(k===zr){ht(z,X);return}if(k===Jc){S(R);return}const J=()=>{i(z),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(R.shapeFlag&1&&W&&!W.persisted){const{leave:ot,delayLeave:st}=W,it=()=>ot(z,J);st?st(R.el,J,it):it()}else J()},ht=(R,k)=>{let z;for(;R!==k;)z=h(R),i(R),R=z;i(k)},gt=(R,k,z)=>{const{bum:X,scope:W,job:J,subTree:ot,um:st,m:it,a:et}=R;RS(it),RS(et),X&&Xc(X),W.stop(),J&&(J.flags|=8,Q(ot,R,k,z)),st&&tr(st,k),tr(()=>{R.isUnmounted=!0},k)},Et=(R,k,z,X=!1,W=!1,J=0)=>{for(let ot=J;ot{if(R.shapeFlag&6)return U(R.component.subTree);if(R.shapeFlag&128)return R.suspense.next();const k=h(R.anchor||R.el),z=k&&k[tI];return z?h(z):k};let K=!1;const H=(R,k,z)=>{let X;R==null?k._vnode&&(Q(k._vnode,null,null,!0),X=k._vnode.component):p(k._vnode||null,R,k,null,null,null,z),k._vnode=R,K||(K=!0,_S(X),KD(),K=!1)},tt={p,um:Q,m:q,r:ct,mt:P,mc:T,pc:N,pbc:C,n:U,o:r};let j,ut;return t&&([j,ut]=t(tt)),{render:H,hydrate:j,createApp:wV(H,j)}}function Gd({type:r,props:t},e){return e==="svg"&&r==="foreignObject"||e==="mathml"&&r==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:e}function _a({effect:r,job:t},e){e?(r.flags|=32,t.flags|=4):(r.flags&=-33,t.flags&=-5)}function zV(r,t){return(!r||r&&!r.pendingBranch)&&t&&!t.persisted}function $0(r,t,e=!1){const n=r.children,i=t.children;if(It(n)&&It(i))for(let a=0;a>1,r[e[s]]0&&(t[n]=e[a-1]),e[a]=n)}}for(a=e.length,o=e[a-1];a-- >0;)e[a]=o,o=t[o];return e}function gI(r){const t=r.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:gI(t)}function RS(r){if(r)for(let t=0;tr.__isSuspense;function FV(r,t){t&&t.pendingBranch?It(r)?t.effects.push(...r):t.effects.push(r):UN(r)}const zr=Symbol.for("v-fgt"),Hv=Symbol.for("v-txt"),pi=Symbol.for("v-cmt"),Jc=Symbol.for("v-stc"),pu=[];let wr=null;function Mh(r=!1){pu.push(wr=r?null:[])}function HV(){pu.pop(),wr=pu[pu.length-1]||null}let Vu=1;function Dh(r,t=!1){Vu+=r,r<0&&wr&&t&&(wr.hasOnce=!0)}function _I(r){return r.dynamicChildren=Vu>0?wr||Ts:null,HV(),Vu>0&&wr&&wr.push(r),r}function Git(r,t,e,n,i,a){return _I(xI(r,t,e,n,i,a,!0))}function Ih(r,t,e,n,i){return _I(Pe(r,t,e,n,i,!0))}function Bu(r){return r?r.__v_isVNode===!0:!1}function yl(r,t){return r.type===t.type&&r.key===t.key}const SI=({key:r})=>r!=null?r:null,Qc=({ref:r,ref_key:t,ref_for:e})=>(typeof r=="number"&&(r=""+r),r!=null?he(r)||ke(r)||Ot(r)?{i:Be,r,k:t,f:!!e}:r:null);function xI(r,t=null,e=null,n=0,i=null,a=r===zr?0:1,o=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:r,props:t,key:t&&SI(t),ref:t&&Qc(t),scopeId:JD,slotScopeIds:null,children:e,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Be};return s?(Lh(l,e),a&128&&r.normalize(l)):e&&(l.shapeFlag|=he(e)?8:16),Vu>0&&!o&&wr&&(l.patchFlag>0||a&6)&&l.patchFlag!==32&&wr.push(l),l}const Pe=WV;function WV(r,t=null,e=null,n=0,i=null,a=!1){if((!r||r===dV)&&(r=pi),Bu(r)){const s=Vs(r,t,!0);return e&&Lh(s,e),Vu>0&&!a&&wr&&(s.shapeFlag&6?wr[wr.indexOf(r)]=s:wr.push(s)),s.patchFlag=-2,s}if(rB(r)&&(r=r.__vccOpts),t){t=$V(t);let{class:s,style:l}=t;s&&!he(s)&&(t.class=C0(s)),re(l)&&(zv(l)&&!It(l)&&(l=Me({},l)),t.style=A0(l))}const o=he(r)?1:mI(r)?128:KN(r)?64:re(r)?4:Ot(r)?2:0;return xI(r,t,e,n,i,o,a,!0)}function $V(r){return r?zv(r)||fI(r)?Me({},r):r:null}function Vs(r,t,e=!1,n=!1){const{props:i,ref:a,patchFlag:o,children:s,transition:l}=r,u=t?YV(i||{},t):i,f={__v_isVNode:!0,__v_skip:!0,type:r.type,props:u,key:u&&SI(u),ref:t&&t.ref?e&&a?It(a)?a.concat(Qc(t)):[a,Qc(t)]:Qc(t):a,scopeId:r.scopeId,slotScopeIds:r.slotScopeIds,children:s,target:r.target,targetStart:r.targetStart,targetAnchor:r.targetAnchor,staticCount:r.staticCount,shapeFlag:r.shapeFlag,patchFlag:t&&r.type!==zr?o===-1?16:o|16:o,dynamicProps:r.dynamicProps,dynamicChildren:r.dynamicChildren,appContext:r.appContext,dirs:r.dirs,transition:l,component:r.component,suspense:r.suspense,ssContent:r.ssContent&&Vs(r.ssContent),ssFallback:r.ssFallback&&Vs(r.ssFallback),placeholder:r.placeholder,el:r.el,anchor:r.anchor,ctx:r.ctx,ce:r.ce};return l&&n&&N0(f,l.clone(f)),f}function UV(r=" ",t=0){return Pe(Hv,null,r,t)}function Fit(r,t){const e=Pe(Jc,null,r);return e.staticCount=t,e}function Hit(r="",t=!1){return t?(Mh(),Ih(pi,null,r)):Pe(pi,null,r)}function Pn(r){return r==null||typeof r=="boolean"?Pe(pi):It(r)?Pe(zr,null,r.slice()):Bu(r)?ii(r):Pe(Hv,null,String(r))}function ii(r){return r.el===null&&r.patchFlag!==-1||r.memo?r:Vs(r)}function Lh(r,t){let e=0;const{shapeFlag:n}=r;if(t==null)t=null;else if(It(t))e=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),Lh(r,i()),i._c&&(i._d=!0));return}else{e=32;const i=t._;!i&&!fI(t)?t._ctx=Be:i===3&&Be&&(Be.slots._===1?t._=1:(t._=2,r.patchFlag|=1024))}else if(Ot(t)){if(n&65){Lh(r,{default:t});return}t={default:t,_ctx:Be},e=32}else t=String(t),n&64?(e=16,t=[UV(t)]):e=8;r.children=t,r.shapeFlag|=e}function YV(...r){const t={};for(let e=0;eVe||Be;let Ph,My;{const r=Nv(),t=(e,n)=>{let i;return(i=r[e])||(i=r[e]=[]),i.push(n),a=>{i.length>1?i.forEach(o=>o(a)):i[0](a)}};Ph=t("__VUE_INSTANCE_SETTERS__",e=>Ve=e),My=t("__VUE_SSR_SETTERS__",e=>Bs=e)}const Sf=r=>{const t=Ve;return Ph(r),r.scope.on(),()=>{r.scope.off(),Ph(t)}},ES=()=>{Ve&&Ve.scope.off(),Ph(null)};function bI(r){return r.vnode.shapeFlag&4}let Bs=!1;function jV(r,t=!1,e=!1){t&&My(t);const{props:n,children:i}=r.vnode,a=bI(r);PV(r,n,a,t),OV(r,i,e||t);const o=a?JV(r,t):void 0;return t&&My(!1),o}function JV(r,t){const e=r.type;r.accessCache=Object.create(null),r.proxy=new Proxy(r.ctx,gV);const{setup:n}=e;if(n){Fn();const i=r.setupContext=n.length>1?tB(r):null,a=Sf(r),o=mf(n,r,0,[r.props,i]),s=TD(o);if(Hn(),a(),(s||r.sp)&&!Ms(r)&&B0(r),s){if(o.then(ES,ES),t)return o.then(l=>{kS(r,l,t)}).catch(l=>{_f(l,r,0)});r.asyncDep=o}else kS(r,o,t)}else wI(r,t)}function kS(r,t,e){Ot(t)?r.type.__ssrInlineRender?r.ssrRender=t:r.render=t:re(t)&&(r.setupState=ZD(t)),wI(r,e)}let OS;function wI(r,t,e){const n=r.type;if(!r.render){if(!t&&OS&&!n.render){const i=n.template||F0(r).template;if(i){const{isCustomElement:a,compilerOptions:o}=r.appContext.config,{delimiters:s,compilerOptions:l}=n,u=Me(Me({isCustomElement:a,delimiters:s},o),l);n.render=OS(i,u)}}r.render=n.render||sn}{const i=Sf(r);Fn();try{yV(r)}finally{Hn(),i()}}}const QV={get(r,t){return Xe(r,"get",""),r[t]}};function tB(r){const t=e=>{r.exposed=e||{}};return{attrs:new Proxy(r.attrs,QV),slots:r.slots,emit:r.emit,expose:t}}function Wv(r){return r.exposed?r.exposeProxy||(r.exposeProxy=new Proxy(ZD(EN(r.exposed)),{get(t,e){if(e in t)return t[e];if(e in du)return du[e](r)},has(t,e){return e in t||e in du}})):r.proxy}function eB(r,t=!0){return Ot(r)?r.displayName||r.name:r.name||t&&r.__name}function rB(r){return Ot(r)&&"__vccOpts"in r}const nn=(r,t)=>GN(r,t,Bs);function TI(r,t,e){try{Dh(-1);const n=arguments.length;return n===2?re(t)&&!It(t)?Bu(t)?Pe(r,null,[t]):Pe(r,t):Pe(r,null,t):(n>3?e=Array.prototype.slice.call(arguments,2):n===3&&Bu(e)&&(e=[e]),Pe(r,t,e))}finally{Dh(1)}}const nB="3.5.39";/** +* @vue/runtime-dom v3.5.39 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ay;const ES=typeof window!="undefined"&&window.trustedTypes;if(ES)try{Ay=ES.createPolicy("vue",{createHTML:r=>r})}catch(r){}const AI=Ay?r=>Ay.createHTML(r):r=>r,aB="http://www.w3.org/2000/svg",oB="http://www.w3.org/1998/Math/MathML",Qn=typeof document!="undefined"?document:null,kS=Qn&&Qn.createElement("template"),sB={insert:(r,t,e)=>{t.insertBefore(r,e||null)},remove:r=>{const t=r.parentNode;t&&t.removeChild(r)},createElement:(r,t,e,n)=>{const i=t==="svg"?Qn.createElementNS(aB,r):t==="mathml"?Qn.createElementNS(oB,r):e?Qn.createElement(r,{is:e}):Qn.createElement(r);return r==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:r=>Qn.createTextNode(r),createComment:r=>Qn.createComment(r),setText:(r,t)=>{r.nodeValue=t},setElementText:(r,t)=>{r.textContent=t},parentNode:r=>r.parentNode,nextSibling:r=>r.nextSibling,querySelector:r=>Qn.querySelector(r),setScopeId(r,t){r.setAttribute(t,"")},insertStaticContent(r,t,e,n,i,a){const o=e?e.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),e),!(i===a||!(i=i.nextSibling)););else{kS.innerHTML=AI(n==="svg"?`${r}`:n==="mathml"?`${r}`:r);const s=kS.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,e)}return[o?o.nextSibling:t.firstChild,e?e.previousSibling:t.lastChild]}},lB=Symbol("_vtc");function uB(r,t,e){const n=r[lB];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?r.removeAttribute("class"):e?r.setAttribute("class",t):r.className=t}const Lh=Symbol("_vod"),CI=Symbol("_vsh"),Hit={name:"show",beforeMount(r,{value:t},{transition:e}){r[Lh]=r.style.display==="none"?"":r.style.display,e&&t?e.beforeEnter(r):gl(r,t)},mounted(r,{value:t},{transition:e}){e&&t&&e.enter(r)},updated(r,{value:t,oldValue:e},{transition:n}){!t!=!e&&(n?t?(n.beforeEnter(r),gl(r,!0),n.enter(r)):n.leave(r,()=>{gl(r,!1)}):gl(r,t))},beforeUnmount(r,{value:t}){gl(r,t)}};function gl(r,t){r.style.display=t?r[Lh]:"none",r[CI]=!t}const fB=Symbol(""),cB=/(?:^|;)\s*display\s*:/;function hB(r,t,e){const n=r.style,i=ye(e);let a=!1;if(e&&!i){if(t)if(ye(t))for(const o of t.split(";")){const s=o.slice(0,o.indexOf(":")).trim();e[s]==null&&Jc(n,s,"")}else for(const o in t)e[o]==null&&Jc(n,o,"");for(const o in e)o==="display"&&(a=!0),Jc(n,o,e[o])}else if(i){if(t!==e){const o=n[fB];o&&(e+=";"+o),n.cssText=e,a=cB.test(e)}}else t&&r.removeAttribute("style");Lh in r&&(r[Lh]=a?n.display:"",r[CI]&&(n.display="none"))}const OS=/\s*!important$/;function Jc(r,t,e){if(It(e))e.forEach(n=>Jc(r,t,n));else if(e==null&&(e=""),t.startsWith("--"))r.setProperty(t,e);else{const n=vB(r,t);OS.test(e)?r.setProperty(va(n),e.replace(OS,""),"important"):r[n]=e}}const NS=["Webkit","Moz","ms"],Bd={};function vB(r,t){const e=Bd[t];if(e)return e;let n=ar(t);if(n!=="filter"&&n in r)return Bd[t]=n;n=Rv(n);for(let i=0;izd||(yB.then(()=>zd=0),zd=Date.now());function _B(r,t){const e=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=e.attached)return;Gn(SB(n,e.value),t,5,[n])};return e.value=r,e.attached=mB(),e}function SB(r,t){if(It(t)){const e=r.stopImmediatePropagation;return r.stopImmediatePropagation=()=>{e.call(r),r._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const HS=r=>r.charCodeAt(0)===111&&r.charCodeAt(1)===110&&r.charCodeAt(2)>96&&r.charCodeAt(2)<123,xB=(r,t,e,n,i,a)=>{const o=i==="svg";t==="class"?uB(r,n,o):t==="style"?hB(r,e,n):Mv(t)?Dv(t)||pB(r,t,e,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):bB(r,t,n,o))?(zS(r,t,n),!r.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&BS(r,t,n,o,a,t!=="value")):r._isVueCE&&(wB(r,t)||r._def.__asyncLoader&&(/[A-Z]/.test(t)||!ye(n)))?zS(r,ar(t),n,a,t):(t==="true-value"?r._trueValue=n:t==="false-value"&&(r._falseValue=n),BS(r,t,n,o))};function bB(r,t,e,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in r&&HS(t)&&Ot(e));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&r.tagName==="IFRAME"||t==="form"||t==="list"&&r.tagName==="INPUT"||t==="type"&&r.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=r.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return HS(t)&&ye(e)?!1:t in r}function wB(r,t){const e=r._def.props;if(!e)return!1;const n=ar(t);return Array.isArray(e)?e.some(i=>ar(i)===n):Object.keys(e).some(i=>ar(i)===n)}const Ph=r=>{const t=r.props["onUpdate:modelValue"]||!1;return It(t)?e=>Uc(t,e):t};function TB(r){r.target.composing=!0}function WS(r){const t=r.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ms=Symbol("_assign");function $S(r,t,e){return t&&(r=r.trim()),e&&(r=Ev(r)),r}const Wit={created(r,{modifiers:{lazy:t,trim:e,number:n}},i){r[Ms]=Ph(i);const a=n||i.props&&i.props.type==="number";Ka(r,t?"change":"input",o=>{o.target.composing||r[Ms]($S(r.value,e,a))}),(e||a)&&Ka(r,"change",()=>{r.value=$S(r.value,e,a)}),t||(Ka(r,"compositionstart",TB),Ka(r,"compositionend",WS),Ka(r,"change",WS))},mounted(r,{value:t}){r.value=t==null?"":t},beforeUpdate(r,{value:t,oldValue:e,modifiers:{lazy:n,trim:i,number:a}},o){if(r[Ms]=Ph(o),r.composing)return;const s=(a||r.type==="number")&&!/^0\d/.test(r.value)?Ev(r.value):r.value,l=t==null?"":t;if(s===l)return;const u=r.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===r&&r.type!=="range"&&(n&&t===e||i&&r.value.trim()===l)||(r.value=l)}},$it={deep:!0,created(r,{value:t,modifiers:{number:e}},n){const i=Iv(t);Ka(r,"change",()=>{const a=Array.prototype.filter.call(r.options,o=>o.selected).map(o=>e?Ev(Rh(o)):Rh(o));r[Ms](r.multiple?i?new Set(a):a:a[0]),r._assigning=!0,L0(()=>{r._assigning=!1})}),r[Ms]=Ph(n)},mounted(r,{value:t}){US(r,t)},beforeUpdate(r,t,e){r[Ms]=Ph(e)},updated(r,{value:t}){r._assigning||US(r,t)}};function US(r,t){const e=r.multiple,n=It(t);if(!(e&&!n&&!Iv(t))){for(let i=0,a=r.options.length;iString(u)===String(s)):o.selected=cN(t,s)>-1}else o.selected=t.has(s);else if(df(Rh(o),t)){r.selectedIndex!==i&&(r.selectedIndex=i);return}}!e&&r.selectedIndex!==-1&&(r.selectedIndex=-1)}}function Rh(r){return"_value"in r?r._value:r.value}const AB=["ctrl","shift","alt","meta"],CB={stop:r=>r.stopPropagation(),prevent:r=>r.preventDefault(),self:r=>r.target!==r.currentTarget,ctrl:r=>!r.ctrlKey,shift:r=>!r.shiftKey,alt:r=>!r.altKey,meta:r=>!r.metaKey,left:r=>"button"in r&&r.button!==0,middle:r=>"button"in r&&r.button!==1,right:r=>"button"in r&&r.button!==2,exact:(r,t)=>AB.some(e=>r[`${e}Key`]&&!t.includes(e))},Uit=(r,t)=>{if(!r)return r;const e=r._withMods||(r._withMods={}),n=t.join(".");return e[n]||(e[n]=(i,...a)=>{for(let o=0;o{const e=r._withKeys||(r._withKeys={}),n=t.join(".");return e[n]||(e[n]=i=>{if(!("key"in i))return;const a=va(i.key);if(t.some(o=>o===a||MB[o]===a))return r(i)})},DB=Me({patchProp:xB},sB);let YS;function IB(){return YS||(YS=BV(DB))}const LB=(...r)=>{const t=IB().createApp(...r),{mount:e}=t;return t.mount=n=>{const i=RB(n);if(!i)return;const a=t._component;!Ot(a)&&!a.render&&!a.template&&(a.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=e(i,!1,PB(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function PB(r){if(r instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&r instanceof MathMLElement)return"mathml"}function RB(r){return ye(r)?document.querySelector(r):r}const EB="modulepreload",kB=function(r,t){return new URL(r,t).href},ZS={},H0=function(t,e,n){if(!e||e.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(e.map(a=>{if(a=kB(a,n),a in ZS)return;ZS[a]=!0;const o=a.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(!!n)for(let f=i.length-1;f>=0;f--){const c=i[f];if(c.href===a&&(!o||c.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${s}`))return;const u=document.createElement("link");if(u.rel=o?"stylesheet":EB,o||(u.as="script",u.crossOrigin=""),u.href=a,document.head.appendChild(u),o)return new Promise((f,c)=>{u.addEventListener("load",f),u.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>t()).catch(a=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a})};/*! +**/let Dy;const NS=typeof window!="undefined"&&window.trustedTypes;if(NS)try{Dy=NS.createPolicy("vue",{createHTML:r=>r})}catch(r){}const AI=Dy?r=>Dy.createHTML(r):r=>r,iB="http://www.w3.org/2000/svg",aB="http://www.w3.org/1998/Math/MathML",ei=typeof document!="undefined"?document:null,VS=ei&&ei.createElement("template"),oB={insert:(r,t,e)=>{t.insertBefore(r,e||null)},remove:r=>{const t=r.parentNode;t&&t.removeChild(r)},createElement:(r,t,e,n)=>{const i=t==="svg"?ei.createElementNS(iB,r):t==="mathml"?ei.createElementNS(aB,r):e?ei.createElement(r,{is:e}):ei.createElement(r);return r==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:r=>ei.createTextNode(r),createComment:r=>ei.createComment(r),setText:(r,t)=>{r.nodeValue=t},setElementText:(r,t)=>{r.textContent=t},parentNode:r=>r.parentNode,nextSibling:r=>r.nextSibling,querySelector:r=>ei.querySelector(r),setScopeId(r,t){r.setAttribute(t,"")},insertStaticContent(r,t,e,n,i,a){const o=e?e.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),e),!(i===a||!(i=i.nextSibling)););else{VS.innerHTML=AI(n==="svg"?`${r}`:n==="mathml"?`${r}`:r);const s=VS.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,e)}return[o?o.nextSibling:t.firstChild,e?e.previousSibling:t.lastChild]}},sB=Symbol("_vtc");function lB(r,t,e){const n=r[sB];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?r.removeAttribute("class"):e?r.setAttribute("class",t):r.className=t}const Rh=Symbol("_vod"),CI=Symbol("_vsh"),Wit={name:"show",beforeMount(r,{value:t},{transition:e}){r[Rh]=r.style.display==="none"?"":r.style.display,e&&t?e.beforeEnter(r):ml(r,t)},mounted(r,{value:t},{transition:e}){e&&t&&e.enter(r)},updated(r,{value:t,oldValue:e},{transition:n}){!t!=!e&&(n?t?(n.beforeEnter(r),ml(r,!0),n.enter(r)):n.leave(r,()=>{ml(r,!1)}):ml(r,t))},beforeUnmount(r,{value:t}){ml(r,t)}};function ml(r,t){r.style.display=t?r[Rh]:"none",r[CI]=!t}const uB=Symbol(""),fB=/(?:^|;)\s*display\s*:/;function cB(r,t,e){const n=r.style,i=he(e);let a=!1;if(e&&!i){if(t)if(he(t))for(const o of t.split(";")){const s=o.slice(0,o.indexOf(":")).trim();e[s]==null&&jl(n,s,"")}else for(const o in t)e[o]==null&&jl(n,o,"");for(const o in e){o==="display"&&(a=!0);const s=e[o];s!=null?vB(r,o,!he(t)&&t?t[o]:void 0,s)||jl(n,o,s):jl(n,o,"")}}else if(i){if(t!==e){const o=n[uB];o&&(e+=";"+o),n.cssText=e,a=fB.test(e)}}else t&&r.removeAttribute("style");Rh in r&&(r[Rh]=a?n.display:"",r[CI]&&(n.display="none"))}const BS=/\s*!important$/;function jl(r,t,e){if(It(e))e.forEach(n=>jl(r,t,n));else if(e==null&&(e=""),t.startsWith("--"))r.setProperty(t,e);else{const n=hB(r,t);BS.test(e)?r.setProperty(da(n),e.replace(BS,""),"important"):r[n]=e}}const zS=["Webkit","Moz","ms"],Fd={};function hB(r,t){const e=Fd[t];if(e)return e;let n=or(t);if(n!=="filter"&&n in r)return Fd[t]=n;n=kv(n);for(let i=0;iHd||(_B.then(()=>Hd=0),Hd=Date.now());function xB(r,t){const e=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=e.attached)return;const i=e.value;if(It(i)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const o=i.slice(),s=[n];for(let l=0;lr.charCodeAt(0)===111&&r.charCodeAt(1)===110&&r.charCodeAt(2)>96&&r.charCodeAt(2)<123,bB=(r,t,e,n,i,a)=>{const o=i==="svg";t==="class"?lB(r,n,o):t==="style"?cB(r,e,n):Iv(t)?Lv(t)||pB(r,t,e,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wB(r,t,n,o))?(HS(r,t,n),!r.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&FS(r,t,n,o,a,t!=="value")):r._isVueCE&&(TB(r,t)||r._def.__asyncLoader&&(/[A-Z]/.test(t)||!he(n)))?HS(r,or(t),n,a,t):(t==="true-value"?r._trueValue=n:t==="false-value"&&(r._falseValue=n),FS(r,t,n,o))};function wB(r,t,e,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in r&&$S(t)&&Ot(e));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&r.tagName==="IFRAME"||t==="form"||t==="list"&&r.tagName==="INPUT"||t==="type"&&r.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=r.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return $S(t)&&he(e)?!1:t in r}function TB(r,t){const e=r._def.props;if(!e)return!1;const n=or(t);return Array.isArray(e)?e.some(i=>or(i)===n):Object.keys(e).some(i=>or(i)===n)}const Eh=r=>{const t=r.props["onUpdate:modelValue"]||!1;return It(t)?e=>Xc(t,e):t};function AB(r){r.target.composing=!0}function US(r){const t=r.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Is=Symbol("_assign");function YS(r,t,e){return t&&(r=r.trim()),e&&(r=Ov(r)),r}const $it={created(r,{modifiers:{lazy:t,trim:e,number:n}},i){r[Is]=Eh(i);const a=n||i.props&&i.props.type==="number";Ja(r,t?"change":"input",o=>{o.target.composing||r[Is](YS(r.value,e,a))}),(e||a)&&Ja(r,"change",()=>{r.value=YS(r.value,e,a)}),t||(Ja(r,"compositionstart",AB),Ja(r,"compositionend",US),Ja(r,"change",US))},mounted(r,{value:t}){r.value=t==null?"":t},beforeUpdate(r,{value:t,oldValue:e,modifiers:{lazy:n,trim:i,number:a}},o){if(r[Is]=Eh(o),r.composing)return;const s=(a||r.type==="number")&&!/^0\d/.test(r.value)?Ov(r.value):r.value,l=t==null?"":t;if(s===l)return;const u=r.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===r&&r.type!=="range"&&(n&&t===e||i&&r.value.trim()===l)||(r.value=l)}},Uit={deep:!0,created(r,{value:t,modifiers:{number:e}},n){const i=Pv(t);Ja(r,"change",()=>{const a=Array.prototype.filter.call(r.options,o=>o.selected).map(o=>e?Ov(kh(o)):kh(o));r[Is](r.multiple?i?new Set(a):a:a[0]),r._assigning=!0,E0(()=>{r._assigning=!1})}),r[Is]=Eh(n)},mounted(r,{value:t}){ZS(r,t)},beforeUpdate(r,t,e){r[Is]=Eh(e)},updated(r,{value:t}){r._assigning||ZS(r,t)}};function ZS(r,t){const e=r.multiple,n=It(t);if(!(e&&!n&&!Pv(t))){for(let i=0,a=r.options.length;iString(u)===String(s)):o.selected=cN(t,s)>-1}else o.selected=t.has(s);else if(yf(kh(o),t)){r.selectedIndex!==i&&(r.selectedIndex=i);return}}!e&&r.selectedIndex!==-1&&(r.selectedIndex=-1)}}function kh(r){return"_value"in r?r._value:r.value}const CB=["ctrl","shift","alt","meta"],MB={stop:r=>r.stopPropagation(),prevent:r=>r.preventDefault(),self:r=>r.target!==r.currentTarget,ctrl:r=>!r.ctrlKey,shift:r=>!r.shiftKey,alt:r=>!r.altKey,meta:r=>!r.metaKey,left:r=>"button"in r&&r.button!==0,middle:r=>"button"in r&&r.button!==1,right:r=>"button"in r&&r.button!==2,exact:(r,t)=>CB.some(e=>r[`${e}Key`]&&!t.includes(e))},Yit=(r,t)=>{if(!r)return r;const e=r._withMods||(r._withMods={}),n=t.join(".");return e[n]||(e[n]=(i,...a)=>{for(let o=0;o{const e=r._withKeys||(r._withKeys={}),n=t.join(".");return e[n]||(e[n]=i=>{if(!("key"in i))return;const a=da(i.key);if(t.some(o=>o===a||DB[o]===a))return r(i)})},IB=Me({patchProp:bB},oB);let XS;function LB(){return XS||(XS=VV(IB))}const PB=(...r)=>{const t=LB().createApp(...r),{mount:e}=t;return t.mount=n=>{const i=EB(n);if(!i)return;const a=t._component;!Ot(a)&&!a.render&&!a.template&&(a.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=e(i,!1,RB(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function RB(r){if(r instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&r instanceof MathMLElement)return"mathml"}function EB(r){return he(r)?document.querySelector(r):r}const kB="modulepreload",OB=function(r,t){return new URL(r,t).href},qS={},U0=function(t,e,n){if(!e||e.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(e.map(a=>{if(a=OB(a,n),a in qS)return;qS[a]=!0;const o=a.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(!!n)for(let f=i.length-1;f>=0;f--){const c=i[f];if(c.href===a&&(!o||c.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${s}`))return;const u=document.createElement("link");if(u.rel=o?"stylesheet":kB,o||(u.as="script",u.crossOrigin=""),u.href=a,document.head.appendChild(u),o)return new Promise((f,c)=>{u.addEventListener("load",f),u.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>t()).catch(a=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a})};/*! * vue-router v4.6.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const hs=typeof document!="undefined";function MI(r){return typeof r=="object"||"displayName"in r||"props"in r||"__vccOpts"in r}function OB(r){return r.__esModule||r[Symbol.toStringTag]==="Module"||r.default&&MI(r.default)}const Kt=Object.assign;function Gd(r,t){const e={};for(const n in t){const i=t[n];e[n]=vn(i)?i.map(r):r(i)}return e}const vu=()=>{},vn=Array.isArray;function XS(r,t){const e={};for(const n in r)e[n]=n in t?t[n]:r[n];return e}const DI=/#/g,NB=/&/g,VB=/\//g,BB=/=/g,zB=/\?/g,II=/\+/g,GB=/%5B/g,FB=/%5D/g,LI=/%5E/g,HB=/%60/g,PI=/%7B/g,WB=/%7C/g,RI=/%7D/g,$B=/%20/g;function W0(r){return r==null?"":encodeURI(""+r).replace(WB,"|").replace(GB,"[").replace(FB,"]")}function UB(r){return W0(r).replace(PI,"{").replace(RI,"}").replace(LI,"^")}function Cy(r){return W0(r).replace(II,"%2B").replace($B,"+").replace(DI,"%23").replace(NB,"%26").replace(HB,"`").replace(PI,"{").replace(RI,"}").replace(LI,"^")}function YB(r){return Cy(r).replace(BB,"%3D")}function ZB(r){return W0(r).replace(DI,"%23").replace(zB,"%3F")}function XB(r){return ZB(r).replace(VB,"%2F")}function Nu(r){if(r==null)return null;try{return decodeURIComponent(""+r)}catch(t){}return""+r}const qB=/\/$/,KB=r=>r.replace(qB,"");function Fd(r,t,e="/"){let n,i={},a="",o="";const s=t.indexOf("#");let l=t.indexOf("?");return l=s>=0&&l>s?-1:l,l>=0&&(n=t.slice(0,l),a=t.slice(l,s>0?s:t.length),i=r(a.slice(1))),s>=0&&(n=n||t.slice(0,s),o=t.slice(s,t.length)),n=tz(n!=null?n:t,e),{fullPath:n+a+o,path:n,query:i,hash:Nu(o)}}function jB(r,t){const e=t.query?r(t.query):"";return t.path+(e&&"?")+e+(t.hash||"")}function qS(r,t){return!t||!r.toLowerCase().startsWith(t.toLowerCase())?r:r.slice(t.length)||"/"}function JB(r,t,e){const n=t.matched.length-1,i=e.matched.length-1;return n>-1&&n===i&&Vs(t.matched[n],e.matched[i])&&EI(t.params,e.params)&&r(t.query)===r(e.query)&&t.hash===e.hash}function Vs(r,t){return(r.aliasOf||r)===(t.aliasOf||t)}function EI(r,t){if(Object.keys(r).length!==Object.keys(t).length)return!1;for(var e in r)if(!QB(r[e],t[e]))return!1;return!0}function QB(r,t){return vn(r)?KS(r,t):vn(t)?KS(t,r):(r==null?void 0:r.valueOf())===(t==null?void 0:t.valueOf())}function KS(r,t){return vn(t)?r.length===t.length&&r.every((e,n)=>e===t[n]):r.length===1&&r[0]===t}function tz(r,t){if(r.startsWith("/"))return r;if(!r)return t;const e=t.split("/"),n=r.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let a=e.length-1,o,s;for(o=0;o1&&a--;else break;return e.slice(0,a).join("/")+"/"+n.slice(o).join("/")}const Mi={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let My=function(r){return r.pop="pop",r.push="push",r}({}),Hd=function(r){return r.back="back",r.forward="forward",r.unknown="",r}({});function ez(r){if(!r)if(hs){const t=document.querySelector("base");r=t&&t.getAttribute("href")||"/",r=r.replace(/^\w+:\/\/[^\/]+/,"")}else r="/";return r[0]!=="/"&&r[0]!=="#"&&(r="/"+r),KB(r)}const rz=/^[^#]+#/;function nz(r,t){return r.replace(rz,"#")+t}function iz(r,t){const e=document.documentElement.getBoundingClientRect(),n=r.getBoundingClientRect();return{behavior:t.behavior,left:n.left-e.left-(t.left||0),top:n.top-e.top-(t.top||0)}}const Hv=()=>({left:window.scrollX,top:window.scrollY});function az(r){let t;if("el"in r){const e=r.el,n=typeof e=="string"&&e.startsWith("#"),i=typeof e=="string"?n?document.getElementById(e.slice(1)):document.querySelector(e):e;if(!i)return;t=iz(i,r)}else t=r;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function jS(r,t){return(history.state?history.state.position-t:-1)+r}const Dy=new Map;function oz(r,t){Dy.set(r,t)}function sz(r){const t=Dy.get(r);return Dy.delete(r),t}function lz(r){return typeof r=="string"||r&&typeof r=="object"}function kI(r){return typeof r=="string"||typeof r=="symbol"}let he=function(r){return r[r.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",r[r.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",r[r.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",r[r.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",r[r.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",r}({});const OI=Symbol("");he.MATCHER_NOT_FOUND+"",he.NAVIGATION_GUARD_REDIRECT+"",he.NAVIGATION_ABORTED+"",he.NAVIGATION_CANCELLED+"",he.NAVIGATION_DUPLICATED+"";function Bs(r,t){return Kt(new Error,{type:r,[OI]:!0},t)}function qn(r,t){return r instanceof Error&&OI in r&&(t==null||!!(r.type&t))}const uz=["params","query","hash"];function fz(r){if(typeof r=="string")return r;if(r.path!=null)return r.path;const t={};for(const e of uz)e in r&&(t[e]=r[e]);return JSON.stringify(t,null,2)}function cz(r){const t={};if(r===""||r==="?")return t;const e=(r[0]==="?"?r.slice(1):r).split("&");for(let n=0;ni&&Cy(i)):[n&&Cy(n)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+e,i!=null&&(t+="="+i))})}return t}function hz(r){const t={};for(const e in r){const n=r[e];n!==void 0&&(t[e]=vn(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const vz=Symbol(""),QS=Symbol(""),Wv=Symbol(""),$0=Symbol(""),Iy=Symbol("");function yl(){let r=[];function t(n){return r.push(n),()=>{const i=r.indexOf(n);i>-1&&r.splice(i,1)}}function e(){r=[]}return{add:t,list:()=>r.slice(),reset:e}}function Fi(r,t,e,n,i,a=o=>o()){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((s,l)=>{const u=h=>{h===!1?l(Bs(he.NAVIGATION_ABORTED,{from:e,to:t})):h instanceof Error?l(h):lz(h)?l(Bs(he.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(o&&n.enterCallbacks[i]===o&&typeof h=="function"&&o.push(h),s())},f=a(()=>r.call(n&&n.instances[i],t,e,u));let c=Promise.resolve(f);r.length<3&&(c=c.then(u)),c.catch(h=>l(h))})}function Wd(r,t,e,n,i=a=>a()){const a=[];for(const o of r)for(const s in o.components){let l=o.components[s];if(!(t!=="beforeRouteEnter"&&!o.instances[s]))if(MI(l)){const u=(l.__vccOpts||l)[t];u&&a.push(Fi(u,e,n,o,s,i))}else{let u=l();a.push(()=>u.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${s}" at "${o.path}"`);const c=OB(f)?f.default:f;o.mods[s]=f,o.components[s]=c;const h=(c.__vccOpts||c)[t];return h&&Fi(h,e,n,o,s,i)()}))}}return a}function dz(r,t){const e=[],n=[],i=[],a=Math.max(t.matched.length,r.matched.length);for(let o=0;oVs(u,s))?n.push(s):e.push(s));const l=r.matched[o];l&&(t.matched.find(u=>Vs(u,l))||i.push(l))}return[e,n,i]}/*! + */const ds=typeof document!="undefined";function MI(r){return typeof r=="object"||"displayName"in r||"props"in r||"__vccOpts"in r}function NB(r){return r.__esModule||r[Symbol.toStringTag]==="Module"||r.default&&MI(r.default)}const Kt=Object.assign;function Wd(r,t){const e={};for(const n in t){const i=t[n];e[n]=dn(i)?i.map(r):r(i)}return e}const gu=()=>{},dn=Array.isArray;function KS(r,t){const e={};for(const n in r)e[n]=n in t?t[n]:r[n];return e}const DI=/#/g,VB=/&/g,BB=/\//g,zB=/=/g,GB=/\?/g,II=/\+/g,FB=/%5B/g,HB=/%5D/g,LI=/%5E/g,WB=/%60/g,PI=/%7B/g,$B=/%7C/g,RI=/%7D/g,UB=/%20/g;function Y0(r){return r==null?"":encodeURI(""+r).replace($B,"|").replace(FB,"[").replace(HB,"]")}function YB(r){return Y0(r).replace(PI,"{").replace(RI,"}").replace(LI,"^")}function Iy(r){return Y0(r).replace(II,"%2B").replace(UB,"+").replace(DI,"%23").replace(VB,"%26").replace(WB,"`").replace(PI,"{").replace(RI,"}").replace(LI,"^")}function ZB(r){return Iy(r).replace(zB,"%3D")}function XB(r){return Y0(r).replace(DI,"%23").replace(GB,"%3F")}function qB(r){return XB(r).replace(BB,"%2F")}function zu(r){if(r==null)return null;try{return decodeURIComponent(""+r)}catch(t){}return""+r}const KB=/\/$/,jB=r=>r.replace(KB,"");function $d(r,t,e="/"){let n,i={},a="",o="";const s=t.indexOf("#");let l=t.indexOf("?");return l=s>=0&&l>s?-1:l,l>=0&&(n=t.slice(0,l),a=t.slice(l,s>0?s:t.length),i=r(a.slice(1))),s>=0&&(n=n||t.slice(0,s),o=t.slice(s,t.length)),n=ez(n!=null?n:t,e),{fullPath:n+a+o,path:n,query:i,hash:zu(o)}}function JB(r,t){const e=t.query?r(t.query):"";return t.path+(e&&"?")+e+(t.hash||"")}function jS(r,t){return!t||!r.toLowerCase().startsWith(t.toLowerCase())?r:r.slice(t.length)||"/"}function QB(r,t,e){const n=t.matched.length-1,i=e.matched.length-1;return n>-1&&n===i&&zs(t.matched[n],e.matched[i])&&EI(t.params,e.params)&&r(t.query)===r(e.query)&&t.hash===e.hash}function zs(r,t){return(r.aliasOf||r)===(t.aliasOf||t)}function EI(r,t){if(Object.keys(r).length!==Object.keys(t).length)return!1;for(var e in r)if(!tz(r[e],t[e]))return!1;return!0}function tz(r,t){return dn(r)?JS(r,t):dn(t)?JS(t,r):(r==null?void 0:r.valueOf())===(t==null?void 0:t.valueOf())}function JS(r,t){return dn(t)?r.length===t.length&&r.every((e,n)=>e===t[n]):r.length===1&&r[0]===t}function ez(r,t){if(r.startsWith("/"))return r;if(!r)return t;const e=t.split("/"),n=r.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let a=e.length-1,o,s;for(o=0;o1&&a--;else break;return e.slice(0,a).join("/")+"/"+n.slice(o).join("/")}const Mi={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ly=function(r){return r.pop="pop",r.push="push",r}({}),Ud=function(r){return r.back="back",r.forward="forward",r.unknown="",r}({});function rz(r){if(!r)if(ds){const t=document.querySelector("base");r=t&&t.getAttribute("href")||"/",r=r.replace(/^\w+:\/\/[^\/]+/,"")}else r="/";return r[0]!=="/"&&r[0]!=="#"&&(r="/"+r),jB(r)}const nz=/^[^#]+#/;function iz(r,t){return r.replace(nz,"#")+t}function az(r,t){const e=document.documentElement.getBoundingClientRect(),n=r.getBoundingClientRect();return{behavior:t.behavior,left:n.left-e.left-(t.left||0),top:n.top-e.top-(t.top||0)}}const $v=()=>({left:window.scrollX,top:window.scrollY});function oz(r){let t;if("el"in r){const e=r.el,n=typeof e=="string"&&e.startsWith("#"),i=typeof e=="string"?n?document.getElementById(e.slice(1)):document.querySelector(e):e;if(!i)return;t=az(i,r)}else t=r;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function QS(r,t){return(history.state?history.state.position-t:-1)+r}const Py=new Map;function sz(r,t){Py.set(r,t)}function lz(r){const t=Py.get(r);return Py.delete(r),t}function uz(r){return typeof r=="string"||r&&typeof r=="object"}function kI(r){return typeof r=="string"||typeof r=="symbol"}let ve=function(r){return r[r.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",r[r.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",r[r.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",r[r.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",r[r.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",r}({});const OI=Symbol("");ve.MATCHER_NOT_FOUND+"",ve.NAVIGATION_GUARD_REDIRECT+"",ve.NAVIGATION_ABORTED+"",ve.NAVIGATION_CANCELLED+"",ve.NAVIGATION_DUPLICATED+"";function Gs(r,t){return Kt(new Error,{type:r,[OI]:!0},t)}function jn(r,t){return r instanceof Error&&OI in r&&(t==null||!!(r.type&t))}const fz=["params","query","hash"];function cz(r){if(typeof r=="string")return r;if(r.path!=null)return r.path;const t={};for(const e of fz)e in r&&(t[e]=r[e]);return JSON.stringify(t,null,2)}function hz(r){const t={};if(r===""||r==="?")return t;const e=(r[0]==="?"?r.slice(1):r).split("&");for(let n=0;ni&&Iy(i)):[n&&Iy(n)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+e,i!=null&&(t+="="+i))})}return t}function vz(r){const t={};for(const e in r){const n=r[e];n!==void 0&&(t[e]=dn(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const dz=Symbol(""),ex=Symbol(""),Uv=Symbol(""),Z0=Symbol(""),Ry=Symbol("");function _l(){let r=[];function t(n){return r.push(n),()=>{const i=r.indexOf(n);i>-1&&r.splice(i,1)}}function e(){r=[]}return{add:t,list:()=>r.slice(),reset:e}}function Hi(r,t,e,n,i,a=o=>o()){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((s,l)=>{const u=h=>{h===!1?l(Gs(ve.NAVIGATION_ABORTED,{from:e,to:t})):h instanceof Error?l(h):uz(h)?l(Gs(ve.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(o&&n.enterCallbacks[i]===o&&typeof h=="function"&&o.push(h),s())},f=a(()=>r.call(n&&n.instances[i],t,e,u));let c=Promise.resolve(f);r.length<3&&(c=c.then(u)),c.catch(h=>l(h))})}function Yd(r,t,e,n,i=a=>a()){const a=[];for(const o of r)for(const s in o.components){let l=o.components[s];if(!(t!=="beforeRouteEnter"&&!o.instances[s]))if(MI(l)){const u=(l.__vccOpts||l)[t];u&&a.push(Hi(u,e,n,o,s,i))}else{let u=l();a.push(()=>u.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${s}" at "${o.path}"`);const c=NB(f)?f.default:f;o.mods[s]=f,o.components[s]=c;const h=(c.__vccOpts||c)[t];return h&&Hi(h,e,n,o,s,i)()}))}}return a}function pz(r,t){const e=[],n=[],i=[],a=Math.max(t.matched.length,r.matched.length);for(let o=0;ozs(u,s))?n.push(s):e.push(s));const l=r.matched[o];l&&(t.matched.find(u=>zs(u,l))||i.push(l))}return[e,n,i]}/*! * vue-router v4.6.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let pz=()=>location.protocol+"//"+location.host;function NI(r,t){const{pathname:e,search:n,hash:i}=t,a=r.indexOf("#");if(a>-1){let o=i.includes(r.slice(a))?r.slice(a).length:1,s=i.slice(o);return s[0]!=="/"&&(s="/"+s),qS(s,"")}return qS(e,r)+n+i}function gz(r,t,e,n){let i=[],a=[],o=null;const s=({state:h})=>{const v=NI(r,location),d=e.value,p=t.value;let g=0;if(h){if(e.value=v,t.value=h,o&&o===d){o=null;return}g=p?h.position-p.position:0}else n(v);i.forEach(y=>{y(e.value,d,{delta:g,type:My.pop,direction:g?g>0?Hd.forward:Hd.back:Hd.unknown})})};function l(){o=e.value}function u(h){i.push(h);const v=()=>{const d=i.indexOf(h);d>-1&&i.splice(d,1)};return a.push(v),v}function f(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(Kt({},h.state,{scroll:Hv()}),"")}}function c(){for(const h of a)h();a=[],window.removeEventListener("popstate",s),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",s),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:l,listen:u,destroy:c}}function tx(r,t,e,n=!1,i=!1){return{back:r,current:t,forward:e,replaced:n,position:window.history.length,scroll:i?Hv():null}}function yz(r){const{history:t,location:e}=window,n={value:NI(r,e)},i={value:t.state};i.value||a(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(l,u,f){const c=r.indexOf("#"),h=c>-1?(e.host&&document.querySelector("base")?r:r.slice(c))+l:pz()+r+l;try{t[f?"replaceState":"pushState"](u,"",h),i.value=u}catch(v){console.error(v),e[f?"replace":"assign"](h)}}function o(l,u){a(l,Kt({},t.state,tx(i.value.back,l,i.value.forward,!0),u,{position:i.value.position}),!0),n.value=l}function s(l,u){const f=Kt({},i.value,t.state,{forward:l,scroll:Hv()});a(f.current,f,!0),a(l,Kt({},tx(n.value,l,null),{position:f.position+1},u),!1),n.value=l}return{location:n,state:i,push:s,replace:o}}function mz(r){r=ez(r);const t=yz(r),e=gz(r,t.state,t.location,t.replace);function n(a,o=!0){o||e.pauseListeners(),history.go(a)}const i=Kt({location:"",base:r,go:n,createHref:nz.bind(null,r)},t,e);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function _z(r){return r=location.host?r||location.pathname+location.search:"",r.includes("#")||(r+="#"),mz(r)}let eo=function(r){return r[r.Static=0]="Static",r[r.Param=1]="Param",r[r.Group=2]="Group",r}({});var Te=function(r){return r[r.Static=0]="Static",r[r.Param=1]="Param",r[r.ParamRegExp=2]="ParamRegExp",r[r.ParamRegExpEnd=3]="ParamRegExpEnd",r[r.EscapeNext=4]="EscapeNext",r}(Te||{});const Sz={type:eo.Static,value:""},xz=/[a-zA-Z0-9_]/;function bz(r){if(!r)return[[]];if(r==="/")return[[Sz]];if(!r.startsWith("/"))throw new Error(`Invalid path "${r}"`);function t(v){throw new Error(`ERR (${e})/"${u}": ${v}`)}let e=Te.Static,n=e;const i=[];let a;function o(){a&&i.push(a),a=[]}let s=0,l,u="",f="";function c(){u&&(e===Te.Static?a.push({type:eo.Static,value:u}):e===Te.Param||e===Te.ParamRegExp||e===Te.ParamRegExpEnd?(a.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),a.push({type:eo.Param,value:u,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=l}for(;st.length?t.length===1&&t[0]===tr.Static+tr.Segment?1:-1:0}function VI(r,t){let e=0;const n=r.score,i=t.score;for(;e0&&t[t.length-1]<0}const Mz={strict:!1,end:!0,sensitive:!1};function Dz(r,t,e){const n=Az(bz(r.path),e),i=Kt(n,{record:r,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Iz(r,t){const e=[],n=new Map;t=XS(Mz,t);function i(c){return n.get(c)}function a(c,h,v){const d=!v,p=ix(c);p.aliasOf=v&&v.record;const g=XS(t,c),y=[p];if("alias"in c){const S=typeof c.alias=="string"?[c.alias]:c.alias;for(const x of S)y.push(ix(Kt({},p,{components:v?v.record.components:p.components,path:x,aliasOf:v?v.record:p})))}let m,_;for(const S of y){const{path:x}=S;if(h&&x[0]!=="/"){const b=h.record.path,w=b[b.length-1]==="/"?"":"/";S.path=h.record.path+(x&&w+x)}if(m=Dz(S,h,g),v?v.alias.push(m):(_=_||m,_!==m&&_.alias.push(m),d&&c.name&&!ax(m)&&o(c.name)),BI(m)&&l(m),p.children){const b=p.children;for(let w=0;w{o(_)}:vu}function o(c){if(kI(c)){const h=n.get(c);h&&(n.delete(c),e.splice(e.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=e.indexOf(c);h>-1&&(e.splice(h,1),c.record.name&&n.delete(c.record.name),c.children.forEach(o),c.alias.forEach(o))}}function s(){return e}function l(c){const h=Rz(c,e);e.splice(h,0,c),c.record.name&&!ax(c)&&n.set(c.record.name,c)}function u(c,h){let v,d={},p,g;if("name"in c&&c.name){if(v=n.get(c.name),!v)throw Bs(he.MATCHER_NOT_FOUND,{location:c});g=v.record.name,d=Kt(nx(h.params,v.keys.filter(_=>!_.optional).concat(v.parent?v.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),c.params&&nx(c.params,v.keys.map(_=>_.name))),p=v.stringify(d)}else if(c.path!=null)p=c.path,v=e.find(_=>_.re.test(p)),v&&(d=v.parse(p),g=v.record.name);else{if(v=h.name?n.get(h.name):e.find(_=>_.re.test(h.path)),!v)throw Bs(he.MATCHER_NOT_FOUND,{location:c,currentLocation:h});g=v.record.name,d=Kt({},h.params,c.params),p=v.stringify(d)}const y=[];let m=v;for(;m;)y.unshift(m.record),m=m.parent;return{name:g,path:p,params:d,matched:y,meta:Pz(y)}}r.forEach(c=>a(c));function f(){e.length=0,n.clear()}return{addRoute:a,resolve:u,removeRoute:o,clearRoutes:f,getRoutes:s,getRecordMatcher:i}}function nx(r,t){const e={};for(const n of t)n in r&&(e[n]=r[n]);return e}function ix(r){const t={path:r.path,redirect:r.redirect,name:r.name,meta:r.meta||{},aliasOf:r.aliasOf,beforeEnter:r.beforeEnter,props:Lz(r),children:r.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in r?r.components||null:r.component&&{default:r.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Lz(r){const t={},e=r.props||!1;if("component"in r)t.default=e;else for(const n in r.components)t[n]=typeof e=="object"?e[n]:e;return t}function ax(r){for(;r;){if(r.record.aliasOf)return!0;r=r.parent}return!1}function Pz(r){return r.reduce((t,e)=>Kt(t,e.meta),{})}function Rz(r,t){let e=0,n=t.length;for(;e!==n;){const a=e+n>>1;VI(r,t[a])<0?n=a:e=a+1}const i=Ez(r);return i&&(n=t.lastIndexOf(i,n-1)),n}function Ez(r){let t=r;for(;t=t.parent;)if(BI(t)&&VI(r,t)===0)return t}function BI({record:r}){return!!(r.name||r.components&&Object.keys(r.components).length||r.redirect)}function ox(r){const t=un(Wv),e=un($0),n=nn(()=>{const l=vo(r.to);return t.resolve(l)}),i=nn(()=>{const{matched:l}=n.value,{length:u}=l,f=l[u-1],c=e.matched;if(!f||!c.length)return-1;const h=c.findIndex(Vs.bind(null,f));if(h>-1)return h;const v=sx(l[u-2]);return u>1&&sx(f)===v&&c[c.length-1].path!==v?c.findIndex(Vs.bind(null,l[u-2])):h}),a=nn(()=>i.value>-1&&Bz(e.params,n.value.params)),o=nn(()=>i.value>-1&&i.value===e.matched.length-1&&EI(e.params,n.value.params));function s(l={}){if(Vz(l)){const u=t[vo(r.replace)?"replace":"push"](vo(r.to)).catch(vu);return r.viewTransition&&typeof document!="undefined"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:n,href:nn(()=>n.value.href),isActive:a,isExactActive:o,navigate:s}}function kz(r){return r.length===1?r[0]:r}const Oz=k0({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ox,setup(r,{slots:t}){const e=Nv(ox(r)),{options:n}=un(Wv),i=nn(()=>({[lx(r.activeClass,n.linkActiveClass,"router-link-active")]:e.isActive,[lx(r.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:e.isExactActive}));return()=>{const a=t.default&&kz(t.default(e));return r.custom?a:TI("a",{"aria-current":e.isExactActive?r.ariaCurrentValue:null,href:e.href,onClick:e.navigate,class:i.value},a)}}}),Nz=Oz;function Vz(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!==void 0&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const t=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return r.preventDefault&&r.preventDefault(),!0}}function Bz(r,t){for(const e in t){const n=t[e],i=r[e];if(typeof n=="string"){if(n!==i)return!1}else if(!vn(i)||i.length!==n.length||n.some((a,o)=>a.valueOf()!==i[o].valueOf()))return!1}return!0}function sx(r){return r?r.aliasOf?r.aliasOf.path:r.path:""}const lx=(r,t,e)=>r!=null?r:t!=null?t:e,zz=k0({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(r,{attrs:t,slots:e}){const n=un(Iy),i=nn(()=>r.route||n.value),a=un(QS,0),o=nn(()=>{let u=vo(a);const{matched:f}=i.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),s=nn(()=>i.value.matched[o.value]);Zc(QS,nn(()=>o.value+1)),Zc(vz,s),Zc(Iy,i);const l=Yc();return Xc(()=>[l.value,s.value,r.name],([u,f,c],[h,v,d])=>{f&&(f.instances[c]=u,v&&v!==f&&u&&u===h&&(f.leaveGuards.size||(f.leaveGuards=v.leaveGuards),f.updateGuards.size||(f.updateGuards=v.updateGuards))),u&&f&&(!v||!Vs(f,v)||!h)&&(f.enterCallbacks[c]||[]).forEach(p=>p(u))},{flush:"post"}),()=>{const u=i.value,f=r.name,c=s.value,h=c&&c.components[f];if(!h)return ux(e.default,{Component:h,route:u});const v=c.props[f],d=v?v===!0?u.params:typeof v=="function"?v(u):v:null,g=TI(h,Kt({},d,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(c.instances[f]=null)},ref:l}));return ux(e.default,{Component:g,route:u})||g}}});function ux(r,t){if(!r)return null;const e=r(t);return e.length===1?e[0]:e}const Gz=zz;function Fz(r){const t=Iz(r.routes,r),e=r.parseQuery||cz,n=r.stringifyQuery||JS,i=r.history,a=yl(),o=yl(),s=yl(),l=ON(Mi);let u=Mi;hs&&r.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Gd.bind(null,U=>""+U),c=Gd.bind(null,XB),h=Gd.bind(null,Nu);function v(U,K){let H,tt;return kI(U)?(H=t.getRecordMatcher(U),tt=K):tt=U,t.addRoute(tt,H)}function d(U){const K=t.getRecordMatcher(U);K&&t.removeRoute(K)}function p(){return t.getRoutes().map(U=>U.record)}function g(U){return!!t.getRecordMatcher(U)}function y(U,K){if(K=Kt({},K||l.value),typeof U=="string"){const k=Fd(e,U,K.path),G=t.resolve({path:k.path},K),X=i.createHref(k.fullPath);return Kt(k,G,{params:h(G.params),hash:Nu(k.hash),redirectedFrom:void 0,href:X})}let H;if(U.path!=null)H=Kt({},U,{path:Fd(e,U.path,K.path).path});else{const k=Kt({},U.params);for(const G in k)k[G]==null&&delete k[G];H=Kt({},U,{params:c(k)}),K.params=c(K.params)}const tt=t.resolve(H,K),j=U.hash||"";tt.params=f(h(tt.params));const lt=jB(n,Kt({},U,{hash:UB(j),path:tt.path})),R=i.createHref(lt);return Kt({fullPath:lt,hash:j,query:n===JS?hz(U.query):U.query||{}},tt,{redirectedFrom:void 0,href:R})}function m(U){return typeof U=="string"?Fd(e,U,l.value.path):Kt({},U)}function _(U,K){if(u!==U)return Bs(he.NAVIGATION_CANCELLED,{from:K,to:U})}function S(U){return w(U)}function x(U){return S(Kt(m(U),{replace:!0}))}function b(U,K){const H=U.matched[U.matched.length-1];if(H&&H.redirect){const{redirect:tt}=H;let j=typeof tt=="function"?tt(U,K):tt;return typeof j=="string"&&(j=j.includes("?")||j.includes("#")?j=m(j):{path:j},j.params={}),Kt({query:U.query,hash:U.hash,params:j.path!=null?{}:U.params},j)}}function w(U,K){const H=u=y(U),tt=l.value,j=U.state,lt=U.force,R=U.replace===!0,k=b(H,tt);if(k)return w(Kt(m(k),{state:typeof k=="object"?Kt({},j,k.state):j,force:lt,replace:R}),K||H);const G=H;G.redirectedFrom=K;let X;return!lt&&JB(n,tt,H)&&(X=Bs(he.NAVIGATION_DUPLICATED,{to:G,from:tt}),q(tt,tt,!0,!1)),(X?Promise.resolve(X):C(G,tt)).catch(W=>qn(W)?qn(W,he.NAVIGATION_GUARD_REDIRECT)?W:$(W):N(W,G,tt)).then(W=>{if(W){if(qn(W,he.NAVIGATION_GUARD_REDIRECT))return w(Kt({replace:R},m(W.to),{state:typeof W.to=="object"?Kt({},j,W.to.state):j,force:lt}),K||G)}else W=I(G,tt,!0,R,j);return D(G,tt,W),W})}function T(U,K){const H=_(U,K);return H?Promise.reject(H):Promise.resolve()}function A(U){const K=ht.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(U):U()}function C(U,K){let H;const[tt,j,lt]=dz(U,K);H=Wd(tt.reverse(),"beforeRouteLeave",U,K);for(const k of tt)k.leaveGuards.forEach(G=>{H.push(Fi(G,U,K))});const R=T.bind(null,U,K);return H.push(R),Et(H).then(()=>{H=[];for(const k of a.list())H.push(Fi(k,U,K));return H.push(R),Et(H)}).then(()=>{H=Wd(j,"beforeRouteUpdate",U,K);for(const k of j)k.updateGuards.forEach(G=>{H.push(Fi(G,U,K))});return H.push(R),Et(H)}).then(()=>{H=[];for(const k of lt)if(k.beforeEnter)if(vn(k.beforeEnter))for(const G of k.beforeEnter)H.push(Fi(G,U,K));else H.push(Fi(k.beforeEnter,U,K));return H.push(R),Et(H)}).then(()=>(U.matched.forEach(k=>k.enterCallbacks={}),H=Wd(lt,"beforeRouteEnter",U,K,A),H.push(R),Et(H))).then(()=>{H=[];for(const k of o.list())H.push(Fi(k,U,K));return H.push(R),Et(H)}).catch(k=>qn(k,he.NAVIGATION_CANCELLED)?k:Promise.reject(k))}function D(U,K,H){s.list().forEach(tt=>A(()=>tt(U,K,H)))}function I(U,K,H,tt,j){const lt=_(U,K);if(lt)return lt;const R=K===Mi,k=hs?history.state:{};H&&(tt||R?i.replace(U.fullPath,Kt({scroll:R&&k&&k.scroll},j)):i.push(U.fullPath,j)),l.value=U,q(U,K,H,R),$()}let L;function P(){L||(L=i.listen((U,K,H)=>{if(!gt.listening)return;const tt=y(U),j=b(tt,gt.currentRoute.value);if(j){w(Kt(j,{replace:!0,force:!0}),tt).catch(vu);return}u=tt;const lt=l.value;hs&&oz(jS(lt.fullPath,H.delta),Hv()),C(tt,lt).catch(R=>qn(R,he.NAVIGATION_ABORTED|he.NAVIGATION_CANCELLED)?R:qn(R,he.NAVIGATION_GUARD_REDIRECT)?(w(Kt(m(R.to),{force:!0}),tt).then(k=>{qn(k,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&!H.delta&&H.type===My.pop&&i.go(-1,!1)}).catch(vu),Promise.reject()):(H.delta&&i.go(-H.delta,!1),N(R,tt,lt))).then(R=>{R=R||I(tt,lt,!1),R&&(H.delta&&!qn(R,he.NAVIGATION_CANCELLED)?i.go(-H.delta,!1):H.type===My.pop&&qn(R,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),D(tt,lt,R)}).catch(vu)}))}let E=yl(),O=yl(),V;function N(U,K,H){$(U);const tt=O.list();return tt.length?tt.forEach(j=>j(U,K,H)):console.error(U),Promise.reject(U)}function z(){return V&&l.value!==Mi?Promise.resolve():new Promise((U,K)=>{E.add([U,K])})}function $(U){return V||(V=!U,P(),E.list().forEach(([K,H])=>U?H(U):K()),E.reset()),U}function q(U,K,H,tt){const{scrollBehavior:j}=r;if(!hs||!j)return Promise.resolve();const lt=!H&&sz(jS(U.fullPath,0))||(tt||!H)&&history.state&&history.state.scroll||null;return L0().then(()=>j(U,K,lt)).then(R=>R&&az(R)).catch(R=>N(R,U,K))}const Q=U=>i.go(U);let ct;const ht=new Set,gt={currentRoute:l,listening:!0,addRoute:v,removeRoute:d,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:p,resolve:y,options:r,push:S,replace:x,go:Q,back:()=>Q(-1),forward:()=>Q(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:O.add,isReady:z,install(U){U.component("RouterLink",Nz),U.component("RouterView",Gz),U.config.globalProperties.$router=gt,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>vo(l)}),hs&&!ct&&l.value===Mi&&(ct=!0,S(i.location).catch(tt=>{}));const K={};for(const tt in Mi)Object.defineProperty(K,tt,{get:()=>l.value[tt],enumerable:!0});U.provide(Wv,gt),U.provide($0,WD(K)),U.provide(Iy,l);const H=U.unmount;ht.add(U),U.unmount=function(){ht.delete(U),ht.size<1&&(u=Mi,L&&L(),L=null,l.value=Mi,ct=!1,V=!1),H()}}};function Et(U){return U.reduce((K,H)=>K.then(()=>A(H)),Promise.resolve())}return gt}function Zit(){return un(Wv)}function Xit(r){return un($0)}const ro="Authorization",Hz=["/","/screen2","/screen2/"];function Wz(){const r=window.location.hostname;if(!r||/^\d{1,3}(\.\d{1,3}){3}$/.test(r))return r?[r]:[];const t=r.split(".").filter(Boolean),e=new Set([r,`.${r}`]);if(t.length>2){const n=t.slice(-2).join(".");e.add(n),e.add(`.${n}`)}return Array.from(e)}function $z(r){return encodeURIComponent(r||"/platform")}function fx(){const r=document.cookie.split(";").map(t=>t.trim()).find(t=>t.startsWith(`${ro}=`));return r?decodeURIComponent(r.slice(ro.length+1)):""}function zI(){const r=Wz();Hz.forEach(t=>{document.cookie=`${ro}=; Max-Age=0; path=${t}`,document.cookie=`${ro}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}`,r.forEach(e=>{document.cookie=`${ro}=; Max-Age=0; path=${t}; domain=${e}`,document.cookie=`${ro}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}; domain=${e}`})})}function Ly(r=window.location.hash.replace(/^#/,"")||"/platform"){return`/login?redirect=${$z(r)}`}function Uz(r){zI();const t=Ly(r);window.location.hash.replace(/^#/,"")!==t&&(window.location.hash=t)}function qit(r,t){return vl(this,null,function*(){var i;zI();const e=yield fetch("/login",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json","Content-Language":"zh_CN"},body:JSON.stringify({username:r,password:t})}),n=yield e.json().catch(()=>({}));if(!e.ok||(n==null?void 0:n.code)!==200){const a=new Error((n==null?void 0:n.msg)||"登录失败,请检查用户名或密码。");throw a.status=e.status,a.code=n==null?void 0:n.code,a}return(i=n==null?void 0:n.data)!=null&&i.token&&(document.cookie=`${ro}=${encodeURIComponent(n.data.token)}; path=/`),n})}function Kit(){return vl(this,null,function*(){yield fetch("/logout",{method:"POST",credentials:"include",headers:{Accept:"application/json","Content-Type":"application/json","Content-Language":"zh_CN"},body:"{}"}).catch(()=>null),Uz("/platform")})}function Yz(){return vl(this,null,function*(){const r=yield fetch("/getInfo",{credentials:"include",headers:{Accept:"application/json","Content-Language":"zh_CN"}}),t=yield r.json().catch(()=>({}));if(!r.ok||(t==null?void 0:t.code)!==200){const e=new Error((t==null?void 0:t.msg)||"用户未登录或授权已过期。");throw e.status=r.status||401,e.code=(t==null?void 0:t.code)||401,e}return t.data})}const cx=()=>H0(()=>import("./index-ca1a1f57-1783905032331.js"),["./index-ca1a1f57-1783905032331.js","./chartTheme-798f6f49-1783905032331.js","./chartTheme-73f6d8d0-balabala-1783905032331.css","./index-104f35b4-balabala-1783905032331.css"],import.meta.url),Zz=()=>H0(()=>import("./index-309263e1-1783905032331.js"),["./index-309263e1-1783905032331.js","./index-4de14368-balabala-1783905032331.css"],import.meta.url),Xz=()=>H0(()=>import("./index-45757d30-1783905032331.js"),["./index-45757d30-1783905032331.js","./chartTheme-798f6f49-1783905032331.js","./chartTheme-73f6d8d0-balabala-1783905032331.css","./index-8d752fbe-balabala-1783905032331.css"],import.meta.url),GI=Fz({history:_z(),routes:[{path:"/",redirect:"/platform"},{path:"/login",component:Zz,meta:{public:!0}},{path:"/platform",component:cx},{path:"/forest-grass-wet",component:cx},{path:"/chart-style-guide",component:Xz},{path:"/:pathMatch(.*)",redirect:"/"}]});let du=null;GI.beforeEach(r=>vl(void 0,null,function*(){if(r.meta.public){if(fx())try{return yield hx(),r.query.redirect?decodeURIComponent(r.query.redirect):"/platform"}catch(t){du=null}return!0}if(!fx())return Ly(r.fullPath);try{return yield hx(),!0}catch(t){return du=null,Ly(r.fullPath)}}));function hx(){return du||(du=Yz()),du}const qz=(r,t)=>{const e=r.__vccOpts||r;for(const[n,i]of t)e[n]=i;return e},Kz={};function jz(r,t){const e=dV("router-view");return Ch(),Dh(e)}const Jz=qz(Kz,[["render",jz]]);/*! ***************************************************************************** + */let gz=()=>location.protocol+"//"+location.host;function NI(r,t){const{pathname:e,search:n,hash:i}=t,a=r.indexOf("#");if(a>-1){let o=i.includes(r.slice(a))?r.slice(a).length:1,s=i.slice(o);return s[0]!=="/"&&(s="/"+s),jS(s,"")}return jS(e,r)+n+i}function yz(r,t,e,n){let i=[],a=[],o=null;const s=({state:h})=>{const v=NI(r,location),d=e.value,p=t.value;let g=0;if(h){if(e.value=v,t.value=h,o&&o===d){o=null;return}g=p?h.position-p.position:0}else n(v);i.forEach(y=>{y(e.value,d,{delta:g,type:Ly.pop,direction:g?g>0?Ud.forward:Ud.back:Ud.unknown})})};function l(){o=e.value}function u(h){i.push(h);const v=()=>{const d=i.indexOf(h);d>-1&&i.splice(d,1)};return a.push(v),v}function f(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(Kt({},h.state,{scroll:$v()}),"")}}function c(){for(const h of a)h();a=[],window.removeEventListener("popstate",s),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",s),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:l,listen:u,destroy:c}}function rx(r,t,e,n=!1,i=!1){return{back:r,current:t,forward:e,replaced:n,position:window.history.length,scroll:i?$v():null}}function mz(r){const{history:t,location:e}=window,n={value:NI(r,e)},i={value:t.state};i.value||a(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(l,u,f){const c=r.indexOf("#"),h=c>-1?(e.host&&document.querySelector("base")?r:r.slice(c))+l:gz()+r+l;try{t[f?"replaceState":"pushState"](u,"",h),i.value=u}catch(v){console.error(v),e[f?"replace":"assign"](h)}}function o(l,u){a(l,Kt({},t.state,rx(i.value.back,l,i.value.forward,!0),u,{position:i.value.position}),!0),n.value=l}function s(l,u){const f=Kt({},i.value,t.state,{forward:l,scroll:$v()});a(f.current,f,!0),a(l,Kt({},rx(n.value,l,null),{position:f.position+1},u),!1),n.value=l}return{location:n,state:i,push:s,replace:o}}function _z(r){r=rz(r);const t=mz(r),e=yz(r,t.state,t.location,t.replace);function n(a,o=!0){o||e.pauseListeners(),history.go(a)}const i=Kt({location:"",base:r,go:n,createHref:iz.bind(null,r)},t,e);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Sz(r){return r=location.host?r||location.pathname+location.search:"",r.includes("#")||(r+="#"),_z(r)}let no=function(r){return r[r.Static=0]="Static",r[r.Param=1]="Param",r[r.Group=2]="Group",r}({});var Te=function(r){return r[r.Static=0]="Static",r[r.Param=1]="Param",r[r.ParamRegExp=2]="ParamRegExp",r[r.ParamRegExpEnd=3]="ParamRegExpEnd",r[r.EscapeNext=4]="EscapeNext",r}(Te||{});const xz={type:no.Static,value:""},bz=/[a-zA-Z0-9_]/;function wz(r){if(!r)return[[]];if(r==="/")return[[xz]];if(!r.startsWith("/"))throw new Error(`Invalid path "${r}"`);function t(v){throw new Error(`ERR (${e})/"${u}": ${v}`)}let e=Te.Static,n=e;const i=[];let a;function o(){a&&i.push(a),a=[]}let s=0,l,u="",f="";function c(){u&&(e===Te.Static?a.push({type:no.Static,value:u}):e===Te.Param||e===Te.ParamRegExp||e===Te.ParamRegExpEnd?(a.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),a.push({type:no.Param,value:u,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=l}for(;st.length?t.length===1&&t[0]===er.Static+er.Segment?1:-1:0}function VI(r,t){let e=0;const n=r.score,i=t.score;for(;e0&&t[t.length-1]<0}const Dz={strict:!1,end:!0,sensitive:!1};function Iz(r,t,e){const n=Cz(wz(r.path),e),i=Kt(n,{record:r,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Lz(r,t){const e=[],n=new Map;t=KS(Dz,t);function i(c){return n.get(c)}function a(c,h,v){const d=!v,p=ox(c);p.aliasOf=v&&v.record;const g=KS(t,c),y=[p];if("alias"in c){const S=typeof c.alias=="string"?[c.alias]:c.alias;for(const x of S)y.push(ox(Kt({},p,{components:v?v.record.components:p.components,path:x,aliasOf:v?v.record:p})))}let m,_;for(const S of y){const{path:x}=S;if(h&&x[0]!=="/"){const b=h.record.path,w=b[b.length-1]==="/"?"":"/";S.path=h.record.path+(x&&w+x)}if(m=Iz(S,h,g),v?v.alias.push(m):(_=_||m,_!==m&&_.alias.push(m),d&&c.name&&!sx(m)&&o(c.name)),BI(m)&&l(m),p.children){const b=p.children;for(let w=0;w{o(_)}:gu}function o(c){if(kI(c)){const h=n.get(c);h&&(n.delete(c),e.splice(e.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=e.indexOf(c);h>-1&&(e.splice(h,1),c.record.name&&n.delete(c.record.name),c.children.forEach(o),c.alias.forEach(o))}}function s(){return e}function l(c){const h=Ez(c,e);e.splice(h,0,c),c.record.name&&!sx(c)&&n.set(c.record.name,c)}function u(c,h){let v,d={},p,g;if("name"in c&&c.name){if(v=n.get(c.name),!v)throw Gs(ve.MATCHER_NOT_FOUND,{location:c});g=v.record.name,d=Kt(ax(h.params,v.keys.filter(_=>!_.optional).concat(v.parent?v.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),c.params&&ax(c.params,v.keys.map(_=>_.name))),p=v.stringify(d)}else if(c.path!=null)p=c.path,v=e.find(_=>_.re.test(p)),v&&(d=v.parse(p),g=v.record.name);else{if(v=h.name?n.get(h.name):e.find(_=>_.re.test(h.path)),!v)throw Gs(ve.MATCHER_NOT_FOUND,{location:c,currentLocation:h});g=v.record.name,d=Kt({},h.params,c.params),p=v.stringify(d)}const y=[];let m=v;for(;m;)y.unshift(m.record),m=m.parent;return{name:g,path:p,params:d,matched:y,meta:Rz(y)}}r.forEach(c=>a(c));function f(){e.length=0,n.clear()}return{addRoute:a,resolve:u,removeRoute:o,clearRoutes:f,getRoutes:s,getRecordMatcher:i}}function ax(r,t){const e={};for(const n of t)n in r&&(e[n]=r[n]);return e}function ox(r){const t={path:r.path,redirect:r.redirect,name:r.name,meta:r.meta||{},aliasOf:r.aliasOf,beforeEnter:r.beforeEnter,props:Pz(r),children:r.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in r?r.components||null:r.component&&{default:r.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Pz(r){const t={},e=r.props||!1;if("component"in r)t.default=e;else for(const n in r.components)t[n]=typeof e=="object"?e[n]:e;return t}function sx(r){for(;r;){if(r.record.aliasOf)return!0;r=r.parent}return!1}function Rz(r){return r.reduce((t,e)=>Kt(t,e.meta),{})}function Ez(r,t){let e=0,n=t.length;for(;e!==n;){const a=e+n>>1;VI(r,t[a])<0?n=a:e=a+1}const i=kz(r);return i&&(n=t.lastIndexOf(i,n-1)),n}function kz(r){let t=r;for(;t=t.parent;)if(BI(t)&&VI(r,t)===0)return t}function BI({record:r}){return!!(r.name||r.components&&Object.keys(r.components).length||r.redirect)}function lx(r){const t=un(Uv),e=un(Z0),n=nn(()=>{const l=go(r.to);return t.resolve(l)}),i=nn(()=>{const{matched:l}=n.value,{length:u}=l,f=l[u-1],c=e.matched;if(!f||!c.length)return-1;const h=c.findIndex(zs.bind(null,f));if(h>-1)return h;const v=ux(l[u-2]);return u>1&&ux(f)===v&&c[c.length-1].path!==v?c.findIndex(zs.bind(null,l[u-2])):h}),a=nn(()=>i.value>-1&&zz(e.params,n.value.params)),o=nn(()=>i.value>-1&&i.value===e.matched.length-1&&EI(e.params,n.value.params));function s(l={}){if(Bz(l)){const u=t[go(r.replace)?"replace":"push"](go(r.to)).catch(gu);return r.viewTransition&&typeof document!="undefined"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:n,href:nn(()=>n.value.href),isActive:a,isExactActive:o,navigate:s}}function Oz(r){return r.length===1?r[0]:r}const Nz=V0({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:lx,setup(r,{slots:t}){const e=Bv(lx(r)),{options:n}=un(Uv),i=nn(()=>({[fx(r.activeClass,n.linkActiveClass,"router-link-active")]:e.isActive,[fx(r.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:e.isExactActive}));return()=>{const a=t.default&&Oz(t.default(e));return r.custom?a:TI("a",{"aria-current":e.isExactActive?r.ariaCurrentValue:null,href:e.href,onClick:e.navigate,class:i.value},a)}}}),Vz=Nz;function Bz(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!==void 0&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const t=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return r.preventDefault&&r.preventDefault(),!0}}function zz(r,t){for(const e in t){const n=t[e],i=r[e];if(typeof n=="string"){if(n!==i)return!1}else if(!dn(i)||i.length!==n.length||n.some((a,o)=>a.valueOf()!==i[o].valueOf()))return!1}return!0}function ux(r){return r?r.aliasOf?r.aliasOf.path:r.path:""}const fx=(r,t,e)=>r!=null?r:t!=null?t:e,Gz=V0({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(r,{attrs:t,slots:e}){const n=un(Ry),i=nn(()=>r.route||n.value),a=un(ex,0),o=nn(()=>{let u=go(a);const{matched:f}=i.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),s=nn(()=>i.value.matched[o.value]);Kc(ex,nn(()=>o.value+1)),Kc(dz,s),Kc(Ry,i);const l=qc();return jc(()=>[l.value,s.value,r.name],([u,f,c],[h,v,d])=>{f&&(f.instances[c]=u,v&&v!==f&&u&&u===h&&(f.leaveGuards.size||(f.leaveGuards=v.leaveGuards),f.updateGuards.size||(f.updateGuards=v.updateGuards))),u&&f&&(!v||!zs(f,v)||!h)&&(f.enterCallbacks[c]||[]).forEach(p=>p(u))},{flush:"post"}),()=>{const u=i.value,f=r.name,c=s.value,h=c&&c.components[f];if(!h)return cx(e.default,{Component:h,route:u});const v=c.props[f],d=v?v===!0?u.params:typeof v=="function"?v(u):v:null,g=TI(h,Kt({},d,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(c.instances[f]=null)},ref:l}));return cx(e.default,{Component:g,route:u})||g}}});function cx(r,t){if(!r)return null;const e=r(t);return e.length===1?e[0]:e}const Fz=Gz;function Hz(r){const t=Lz(r.routes,r),e=r.parseQuery||hz,n=r.stringifyQuery||tx,i=r.history,a=_l(),o=_l(),s=_l(),l=kN(Mi);let u=Mi;ds&&r.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Wd.bind(null,U=>""+U),c=Wd.bind(null,qB),h=Wd.bind(null,zu);function v(U,K){let H,tt;return kI(U)?(H=t.getRecordMatcher(U),tt=K):tt=U,t.addRoute(tt,H)}function d(U){const K=t.getRecordMatcher(U);K&&t.removeRoute(K)}function p(){return t.getRoutes().map(U=>U.record)}function g(U){return!!t.getRecordMatcher(U)}function y(U,K){if(K=Kt({},K||l.value),typeof U=="string"){const k=$d(e,U,K.path),z=t.resolve({path:k.path},K),X=i.createHref(k.fullPath);return Kt(k,z,{params:h(z.params),hash:zu(k.hash),redirectedFrom:void 0,href:X})}let H;if(U.path!=null)H=Kt({},U,{path:$d(e,U.path,K.path).path});else{const k=Kt({},U.params);for(const z in k)k[z]==null&&delete k[z];H=Kt({},U,{params:c(k)}),K.params=c(K.params)}const tt=t.resolve(H,K),j=U.hash||"";tt.params=f(h(tt.params));const ut=JB(n,Kt({},U,{hash:YB(j),path:tt.path})),R=i.createHref(ut);return Kt({fullPath:ut,hash:j,query:n===tx?vz(U.query):U.query||{}},tt,{redirectedFrom:void 0,href:R})}function m(U){return typeof U=="string"?$d(e,U,l.value.path):Kt({},U)}function _(U,K){if(u!==U)return Gs(ve.NAVIGATION_CANCELLED,{from:K,to:U})}function S(U){return w(U)}function x(U){return S(Kt(m(U),{replace:!0}))}function b(U,K){const H=U.matched[U.matched.length-1];if(H&&H.redirect){const{redirect:tt}=H;let j=typeof tt=="function"?tt(U,K):tt;return typeof j=="string"&&(j=j.includes("?")||j.includes("#")?j=m(j):{path:j},j.params={}),Kt({query:U.query,hash:U.hash,params:j.path!=null?{}:U.params},j)}}function w(U,K){const H=u=y(U),tt=l.value,j=U.state,ut=U.force,R=U.replace===!0,k=b(H,tt);if(k)return w(Kt(m(k),{state:typeof k=="object"?Kt({},j,k.state):j,force:ut,replace:R}),K||H);const z=H;z.redirectedFrom=K;let X;return!ut&&QB(n,tt,H)&&(X=Gs(ve.NAVIGATION_DUPLICATED,{to:z,from:tt}),q(tt,tt,!0,!1)),(X?Promise.resolve(X):C(z,tt)).catch(W=>jn(W)?jn(W,ve.NAVIGATION_GUARD_REDIRECT)?W:$(W):N(W,z,tt)).then(W=>{if(W){if(jn(W,ve.NAVIGATION_GUARD_REDIRECT))return w(Kt({replace:R},m(W.to),{state:typeof W.to=="object"?Kt({},j,W.to.state):j,force:ut}),K||z)}else W=I(z,tt,!0,R,j);return D(z,tt,W),W})}function T(U,K){const H=_(U,K);return H?Promise.reject(H):Promise.resolve()}function A(U){const K=ht.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(U):U()}function C(U,K){let H;const[tt,j,ut]=pz(U,K);H=Yd(tt.reverse(),"beforeRouteLeave",U,K);for(const k of tt)k.leaveGuards.forEach(z=>{H.push(Hi(z,U,K))});const R=T.bind(null,U,K);return H.push(R),Et(H).then(()=>{H=[];for(const k of a.list())H.push(Hi(k,U,K));return H.push(R),Et(H)}).then(()=>{H=Yd(j,"beforeRouteUpdate",U,K);for(const k of j)k.updateGuards.forEach(z=>{H.push(Hi(z,U,K))});return H.push(R),Et(H)}).then(()=>{H=[];for(const k of ut)if(k.beforeEnter)if(dn(k.beforeEnter))for(const z of k.beforeEnter)H.push(Hi(z,U,K));else H.push(Hi(k.beforeEnter,U,K));return H.push(R),Et(H)}).then(()=>(U.matched.forEach(k=>k.enterCallbacks={}),H=Yd(ut,"beforeRouteEnter",U,K,A),H.push(R),Et(H))).then(()=>{H=[];for(const k of o.list())H.push(Hi(k,U,K));return H.push(R),Et(H)}).catch(k=>jn(k,ve.NAVIGATION_CANCELLED)?k:Promise.reject(k))}function D(U,K,H){s.list().forEach(tt=>A(()=>tt(U,K,H)))}function I(U,K,H,tt,j){const ut=_(U,K);if(ut)return ut;const R=K===Mi,k=ds?history.state:{};H&&(tt||R?i.replace(U.fullPath,Kt({scroll:R&&k&&k.scroll},j)):i.push(U.fullPath,j)),l.value=U,q(U,K,H,R),$()}let L;function P(){L||(L=i.listen((U,K,H)=>{if(!gt.listening)return;const tt=y(U),j=b(tt,gt.currentRoute.value);if(j){w(Kt(j,{replace:!0,force:!0}),tt).catch(gu);return}u=tt;const ut=l.value;ds&&sz(QS(ut.fullPath,H.delta),$v()),C(tt,ut).catch(R=>jn(R,ve.NAVIGATION_ABORTED|ve.NAVIGATION_CANCELLED)?R:jn(R,ve.NAVIGATION_GUARD_REDIRECT)?(w(Kt(m(R.to),{force:!0}),tt).then(k=>{jn(k,ve.NAVIGATION_ABORTED|ve.NAVIGATION_DUPLICATED)&&!H.delta&&H.type===Ly.pop&&i.go(-1,!1)}).catch(gu),Promise.reject()):(H.delta&&i.go(-H.delta,!1),N(R,tt,ut))).then(R=>{R=R||I(tt,ut,!1),R&&(H.delta&&!jn(R,ve.NAVIGATION_CANCELLED)?i.go(-H.delta,!1):H.type===Ly.pop&&jn(R,ve.NAVIGATION_ABORTED|ve.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),D(tt,ut,R)}).catch(gu)}))}let E=_l(),O=_l(),V;function N(U,K,H){$(U);const tt=O.list();return tt.length?tt.forEach(j=>j(U,K,H)):console.error(U),Promise.reject(U)}function G(){return V&&l.value!==Mi?Promise.resolve():new Promise((U,K)=>{E.add([U,K])})}function $(U){return V||(V=!U,P(),E.list().forEach(([K,H])=>U?H(U):K()),E.reset()),U}function q(U,K,H,tt){const{scrollBehavior:j}=r;if(!ds||!j)return Promise.resolve();const ut=!H&&lz(QS(U.fullPath,0))||(tt||!H)&&history.state&&history.state.scroll||null;return E0().then(()=>j(U,K,ut)).then(R=>R&&oz(R)).catch(R=>N(R,U,K))}const Q=U=>i.go(U);let ct;const ht=new Set,gt={currentRoute:l,listening:!0,addRoute:v,removeRoute:d,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:p,resolve:y,options:r,push:S,replace:x,go:Q,back:()=>Q(-1),forward:()=>Q(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:O.add,isReady:G,install(U){U.component("RouterLink",Vz),U.component("RouterView",Fz),U.config.globalProperties.$router=gt,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>go(l)}),ds&&!ct&&l.value===Mi&&(ct=!0,S(i.location).catch(tt=>{}));const K={};for(const tt in Mi)Object.defineProperty(K,tt,{get:()=>l.value[tt],enumerable:!0});U.provide(Uv,gt),U.provide(Z0,UD(K)),U.provide(Ry,l);const H=U.unmount;ht.add(U),U.unmount=function(){ht.delete(U),ht.size<1&&(u=Mi,L&&L(),L=null,l.value=Mi,ct=!1,V=!1),H()}}};function Et(U){return U.reduce((K,H)=>K.then(()=>A(H)),Promise.resolve())}return gt}function Xit(){return un(Uv)}function qit(r){return un(Z0)}const io="Authorization",Wz=["/","/screen2","/screen2/"];function $z(){const r=window.location.hostname;if(!r||/^\d{1,3}(\.\d{1,3}){3}$/.test(r))return r?[r]:[];const t=r.split(".").filter(Boolean),e=new Set([r,`.${r}`]);if(t.length>2){const n=t.slice(-2).join(".");e.add(n),e.add(`.${n}`)}return Array.from(e)}function Uz(r){return encodeURIComponent(r||"/platform")}function hx(){const r=document.cookie.split(";").map(t=>t.trim()).find(t=>t.startsWith(`${io}=`));return r?decodeURIComponent(r.slice(io.length+1)):""}function zI(){const r=$z();Wz.forEach(t=>{document.cookie=`${io}=; Max-Age=0; path=${t}`,document.cookie=`${io}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}`,r.forEach(e=>{document.cookie=`${io}=; Max-Age=0; path=${t}; domain=${e}`,document.cookie=`${io}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${t}; domain=${e}`})})}function Ey(r=window.location.hash.replace(/^#/,"")||"/platform"){return`/login?redirect=${Uz(r)}`}function Yz(r){zI();const t=Ey(r);window.location.hash.replace(/^#/,"")!==t&&(window.location.hash=t)}function Kit(r,t){return pl(this,null,function*(){var i;zI();const e=yield fetch("/login",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json","Content-Language":"zh_CN"},body:JSON.stringify({username:r,password:t})}),n=yield e.json().catch(()=>({}));if(!e.ok||(n==null?void 0:n.code)!==200){const a=new Error((n==null?void 0:n.msg)||"登录失败,请检查用户名或密码。");throw a.status=e.status,a.code=n==null?void 0:n.code,a}return(i=n==null?void 0:n.data)!=null&&i.token&&(document.cookie=`${io}=${encodeURIComponent(n.data.token)}; path=/`),n})}function jit(){return pl(this,null,function*(){yield fetch("/logout",{method:"POST",credentials:"include",headers:{Accept:"application/json","Content-Type":"application/json","Content-Language":"zh_CN"},body:"{}"}).catch(()=>null),Yz("/platform")})}function Zz(){return pl(this,null,function*(){const r=yield fetch("/getInfo",{credentials:"include",headers:{Accept:"application/json","Content-Language":"zh_CN"}}),t=yield r.json().catch(()=>({}));if(!r.ok||(t==null?void 0:t.code)!==200){const e=new Error((t==null?void 0:t.msg)||"用户未登录或授权已过期。");throw e.status=r.status||401,e.code=(t==null?void 0:t.code)||401,e}return t.data})}const vx=()=>U0(()=>import("./index-5e598b65-1783957353180.js"),["./index-5e598b65-1783957353180.js","./chartTheme-1b75dfa1-1783957353180.js","./chartTheme-73f6d8d0-balabala-1783957353180.css","./index-f35293d5-balabala-1783957353180.css"],import.meta.url),Xz=()=>U0(()=>import("./index-5b72bdc9-1783957353180.js"),["./index-5b72bdc9-1783957353180.js","./index-151bcf82-balabala-1783957353180.css"],import.meta.url),qz=()=>U0(()=>import("./index-b410abf2-1783957353180.js"),["./index-b410abf2-1783957353180.js","./chartTheme-1b75dfa1-1783957353180.js","./chartTheme-73f6d8d0-balabala-1783957353180.css","./index-8d752fbe-balabala-1783957353180.css"],import.meta.url),GI=Hz({history:Sz(),routes:[{path:"/",redirect:"/platform"},{path:"/login",component:Xz,meta:{public:!0}},{path:"/platform",component:vx},{path:"/forest-grass-wet",component:vx},{path:"/chart-style-guide",component:qz},{path:"/:pathMatch(.*)",redirect:"/"}]});let yu=null;GI.beforeEach(r=>pl(void 0,null,function*(){if(r.meta.public){if(hx())try{return yield dx(),r.query.redirect?decodeURIComponent(r.query.redirect):"/platform"}catch(t){yu=null}return!0}if(!hx())return Ey(r.fullPath);try{return yield dx(),!0}catch(t){return yu=null,Ey(r.fullPath)}}));function dx(){return yu||(yu=Zz()),yu}const Kz=(r,t)=>{const e=r.__vccOpts||r;for(const[n,i]of t)e[n]=i;return e},jz={};function Jz(r,t){const e=vV("router-view");return Mh(),Ih(e)}const Qz=Kz(jz,[["render",Jz]]);/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -35,8 +35,8 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var Py=function(r,t){return Py=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])},Py(r,t)};function B(r,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Py(r,t);function e(){this.constructor=r}r.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var Qz=function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r}(),t5=function(){function r(){this.browser=new Qz,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window!="undefined"}return r}(),Vi=new t5;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(Vi.wxa=!0,Vi.touchEventsSupported=!0):typeof document=="undefined"&&typeof self!="undefined"?Vi.worker=!0:!Vi.hasGlobalWindow||"Deno"in window?(Vi.node=!0,Vi.svgSupported=!0):e5(navigator.userAgent,Vi);function e5(r,t){var e=t.browser,n=r.match(/Firefox\/([\d.]+)/),i=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),a=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);n&&(e.firefox=!0,e.version=n[1]),i&&(e.ie=!0,e.version=i[1]),a&&(e.edge=!0,e.version=a[1],e.newEdge=+a[1].split(".")[0]>18),o&&(e.weChat=!0),t.svgSupported=typeof SVGRect!="undefined",t.touchEventsSupported="ontouchstart"in window&&!e.ie&&!e.edge,t.pointerEventsSupported="onpointerdown"in window&&(e.edge||e.ie&&+e.version>=11),t.domSupported=typeof document!="undefined";var s=document.documentElement.style;t.transform3dSupported=(e.ie&&"transition"in s||e.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),t.transformSupported=t.transform3dSupported||e.ie&&+e.version>=9}const zt=Vi;var U0=12,FI="sans-serif",na=U0+"px "+FI,r5=20,n5=100,i5="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function a5(r){var t={};if(typeof JSON=="undefined")return t;for(var e=0;e=0)s=o*e.length;else for(var l=0;l>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",n[l]+":0",i[u]+":0",n[1-l]+":auto",i[1-u]+":auto",""].join("!important;"),r.appendChild(o),e.push(o)}return e}function D5(r,t,e){for(var n=e?"invTrans":"trans",i=t[n],a=t.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),c=2*u,h=f.left,v=f.top;o.push(h,v),l=l&&a&&h===a[c]&&v===a[c+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&i?i:(t.srcCoords=o,t[n]=e?gx(s,o):gx(o,s))}function XI(r){return r.nodeName.toUpperCase()==="CANVAS"}var I5=/([&<>"'])/g,L5={"&":"&","<":"<",">":">",'"':""","'":"'"};function qe(r){return r==null?"":(r+"").replace(I5,function(t,e){return L5[e]})}var P5=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ud=[],R5=zt.browser.firefox&&+zt.browser.version.split(".")[0]<39;function By(r,t,e,n){return e=e||{},n?mx(r,t,e):R5&&t.layerX!=null&&t.layerX!==t.offsetX?(e.zrX=t.layerX,e.zrY=t.layerY):t.offsetX!=null?(e.zrX=t.offsetX,e.zrY=t.offsetY):mx(r,t,e),e}function mx(r,t,e){if(zt.domSupported&&r.getBoundingClientRect){var n=t.clientX,i=t.clientY;if(XI(r)){var a=r.getBoundingClientRect();e.zrX=n-a.left,e.zrY=i-a.top;return}else if(Vy(Ud,r,n,i)){e.zrX=Ud[0],e.zrY=Ud[1];return}}e.zrX=e.zrY=0}function J0(r){return r||window.event}function Or(r,t,e){if(t=J0(t),t.zrX!=null)return t;var n=t.type,i=n&&n.indexOf("touch")>=0;if(i){var o=n!=="touchend"?t.targetTouches[0]:t.changedTouches[0];o&&By(r,o,t,e)}else{By(r,t,t,e);var a=E5(t);t.zrDelta=a?a/120:-(t.detail||0)/3}var s=t.button;return t.which==null&&s!==void 0&&P5.test(t.type)&&(t.which=s&1?1:s&2?3:s&4?2:0),t}function E5(r){var t=r.wheelDelta;if(t)return t;var e=r.deltaX,n=r.deltaY;if(e==null||n==null)return t;var i=Math.abs(n!==0?n:e),a=n>0?-1:n<0?1:e>0?-1:1;return 3*i*a}function zy(r,t,e,n){r.addEventListener(t,e,n)}function k5(r,t,e,n){r.removeEventListener(t,e,n)}var gi=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function _x(r){return r.which===2||r.which===3}var O5=function(){function r(){this._track=[]}return r.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var a={points:[],touches:[],target:e,event:t},o=0,s=i.length;o1&&n&&n.length>1){var a=Sx(n)/Sx(i);!isFinite(a)&&(a=1),t.pinchScale=a;var o=N5(n);return t.pinchX=o[0],t.pinchY=o[1],{type:"pinch",target:r[0].target,event:t}}}}};function Cr(){return[1,0,0,1,0,0]}function Zv(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function Q0(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r}function li(r,t,e){var n=t[0]*e[0]+t[2]*e[1],i=t[1]*e[0]+t[3]*e[1],a=t[0]*e[2]+t[2]*e[3],o=t[1]*e[2]+t[3]*e[3],s=t[0]*e[4]+t[2]*e[5]+t[4],l=t[1]*e[4]+t[3]*e[5]+t[5];return r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=l,r}function Hn(r,t,e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4]+e[0],r[5]=t[5]+e[1],r}function Eo(r,t,e,n){n===void 0&&(n=[0,0]);var i=t[0],a=t[2],o=t[4],s=t[1],l=t[3],u=t[5],f=Math.sin(e),c=Math.cos(e);return r[0]=i*c+s*f,r[1]=-i*f+s*c,r[2]=a*c+l*f,r[3]=-a*f+c*l,r[4]=c*(o-n[0])+f*(u-n[1])+n[0],r[5]=c*(u-n[1])-f*(o-n[0])+n[1],r}function t_(r,t,e){var n=e[0],i=e[1];return r[0]=t[0]*n,r[1]=t[1]*i,r[2]=t[2]*n,r[3]=t[3]*i,r[4]=t[4]*n,r[5]=t[5]*i,r}function js(r,t){var e=t[0],n=t[2],i=t[4],a=t[1],o=t[3],s=t[5],l=e*o-a*n;return l?(l=1/l,r[0]=o*l,r[1]=-a*l,r[2]=-n*l,r[3]=e*l,r[4]=(n*s-o*i)*l,r[5]=(a*i-e*s)*l,r):null}function V5(r){var t=Cr();return Q0(t,r),t}var B5=function(){function r(t,e){this.x=t||0,this.y=e||0}return r.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(t,e){return this.x=t,this.y=e,this},r.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},r.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},r.prototype.scale=function(t){this.x*=t,this.y*=t},r.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},r.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},r.prototype.dot=function(t){return this.x*t.x+this.y*t.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},r.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},r.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},r.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},r.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},r.set=function(t,e,n){t.x=e,t.y=n},r.copy=function(t,e){t.x=e.x,t.y=e.y},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},r.lenSquare=function(t){return t.x*t.x+t.y*t.y},r.dot=function(t,e){return t.x*e.x+t.y*e.y},r.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},r.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},r.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},r.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},r.lerp=function(t,e,n,i){var a=1-i;t.x=a*e.x+i*n.x,t.y=a*e.y+i*n.y},r}();const Ct=B5;var $f=Math.min,Uf=Math.max,_a=new Ct,Sa=new Ct,xa=new Ct,ba=new Ct,ml=new Ct,_l=new Ct,z5=function(){function r(t,e,n,i){n<0&&(t=t+n,n=-n),i<0&&(e=e+i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return r.prototype.union=function(t){var e=$f(t.x,this.x),n=$f(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Uf(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Uf(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},r.prototype.applyTransform=function(t){r.applyTransform(this,this,t)},r.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,a=Cr();return Hn(a,a,[-e.x,-e.y]),t_(a,a,[n,i]),Hn(a,a,[t.x,t.y]),a},r.prototype.intersect=function(t,e){if(!t)return!1;t instanceof r||(t=r.create(t));var n=this,i=n.x,a=n.x+n.width,o=n.y,s=n.y+n.height,l=t.x,u=t.x+t.width,f=t.y,c=t.y+t.height,h=!(ad&&(d=_,pd&&(d=S,y=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(t){r.copy(this,t)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(t){return new r(t.x,t.y,t.width,t.height)},r.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},r.applyTransform=function(t,e,n){if(!n){t!==e&&r.copy(t,e);return}if(n[1]<1e-5&&n[1]>-1e-5&&n[2]<1e-5&&n[2]>-1e-5){var i=n[0],a=n[3],o=n[4],s=n[5];t.x=e.x*i+o,t.y=e.y*a+s,t.width=e.width*i,t.height=e.height*a,t.width<0&&(t.x+=t.width,t.width=-t.width),t.height<0&&(t.y+=t.height,t.height=-t.height);return}_a.x=xa.x=e.x,_a.y=ba.y=e.y,Sa.x=ba.x=e.x+e.width,Sa.y=xa.y=e.y+e.height,_a.transform(n),ba.transform(n),Sa.transform(n),xa.transform(n),t.x=$f(_a.x,Sa.x,xa.x,ba.x),t.y=$f(_a.y,Sa.y,xa.y,ba.y);var l=Uf(_a.x,Sa.x,xa.x,ba.x),u=Uf(_a.y,Sa.y,xa.y,ba.y);t.width=l-t.x,t.height=u-t.y},r}();const Mt=z5;var qI="silent";function G5(r,t,e){return{type:r,event:e,target:t.target,topTarget:t.topTarget,cancelBubble:!1,offsetX:e.zrX,offsetY:e.zrY,gestureEvent:e.gestureEvent,pinchX:e.pinchX,pinchY:e.pinchY,pinchScale:e.pinchScale,wheelDelta:e.zrDelta,zrByTouch:e.zrByTouch,which:e.which,stop:F5}}function F5(){gi(this.event)}var H5=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.handler=null,e}return t.prototype.dispose=function(){},t.prototype.setCursor=function(){},t}(Zr),Sl=function(){function r(t,e){this.x=t,this.y=e}return r}(),W5=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Zd=new Mt(0,0,0,0),KI=function(r){B(t,r);function t(e,n,i,a,o){var s=r.call(this)||this;return s._hovered=new Sl(0,0),s.storage=e,s.painter=n,s.painterRoot=a,s._pointerSize=o,i=i||new H5,s.proxy=null,s.setHandlerProxy(i),s._draggingMgr=new w5(s),s}return t.prototype.setHandlerProxy=function(e){this.proxy&&this.proxy.dispose(),e&&(M(W5,function(n){e.on&&e.on(n,this[n],this)},this),e.handler=this),this.proxy=e},t.prototype.mousemove=function(e){var n=e.zrX,i=e.zrY,a=jI(this,n,i),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=a?new Sl(n,i):this.findHover(n,i),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",e),this.dispatchToElement(l,"mousemove",e),u&&u!==s&&this.dispatchToElement(l,"mouseover",e)},t.prototype.mouseout=function(e){var n=e.zrEventControl;n!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",e),n!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:e})},t.prototype.resize=function(){this._hovered=new Sl(0,0)},t.prototype.dispatch=function(e,n){var i=this[e];i&&i.call(this,n)},t.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},t.prototype.setCursorStyle=function(e){var n=this.proxy;n.setCursor&&n.setCursor(e)},t.prototype.dispatchToElement=function(e,n,i){e=e||{};var a=e.target;if(!(a&&a.silent)){for(var o="on"+n,s=G5(n,e,i);a&&(a[o]&&(s.cancelBubble=!!a[o].call(a,s)),a.trigger(n,s),a=a.__hostTarget?a.__hostTarget:a.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(n,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(n,s)}))}},t.prototype.findHover=function(e,n,i){var a=this.storage.getDisplayList(),o=new Sl(e,n);if(xx(a,o,e,n,i),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new Mt(e-u,n-u,l,l),c=a.length-1;c>=0;c--){var h=a[c];h!==i&&!h.ignore&&!h.ignoreCoarsePointer&&(!h.parent||!h.parent.ignoreCoarsePointer)&&(Zd.copy(h.getBoundingRect()),h.transform&&Zd.applyTransform(h.transform),Zd.intersect(f)&&s.push(h))}if(s.length)for(var v=4,d=Math.PI/12,p=Math.PI*2,g=0;g4)return;this._downPoint=null}this.dispatchToElement(a,r,t)}});function $5(r,t,e){if(r[r.rectHover?"rectContain":"contain"](t,e)){for(var n=r,i=void 0,a=!1;n;){if(n.ignoreClip&&(a=!0),!a){var o=n.getClipPath();if(o&&!o.contain(t,e))return!1}n.silent&&(i=!0);var s=n.__hostTarget;n=s||n.parent}return i?qI:!0}return!1}function xx(r,t,e,n,i){for(var a=r.length-1;a>=0;a--){var o=r[a],s=void 0;if(o!==i&&!o.ignore&&(s=$5(o,e,n))&&(!t.topTarget&&(t.topTarget=o),s!==qI)){t.target=o;break}}}function jI(r,t,e){var n=r.painter;return t<0||t>n.getWidth()||e<0||e>n.getHeight()}const U5=KI;var JI=32,xl=7;function Y5(r){for(var t=0;r>=JI;)t|=r&1,r>>=1;return r+t}function bx(r,t,e,n){var i=t+1;if(i===e)return 1;if(n(r[i++],r[t])<0){for(;i=0;)i++;return i-t}function Z5(r,t,e){for(e--;t>>1,i(a,r[l])<0?s=l:o=l+1;var u=n-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=a}}function Xd(r,t,e,n,i,a){var o=0,s=0,l=1;if(a(r,t[e+i])>0){for(s=n-i;l0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=i,l+=i}else{for(s=i+1;ls&&(l=s);var u=o;o=i-l,l=i-u}for(o++;o>>1);a(r,t[e+f])>0?o=f+1:l=f}return l}function qd(r,t,e,n,i,a){var o=0,s=0,l=1;if(a(r,t[e+i])<0){for(s=i+1;ls&&(l=s);var u=o;o=i-l,l=i-u}else{for(s=n-i;l=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=i,l+=i}for(o++;o>>1);a(r,t[e+f])<0?l=f:o=f+1}return l}function X5(r,t){var e=xl,n,i,a=0,o=[];n=[],i=[];function s(v,d){n[a]=v,i[a]=d,a+=1}function l(){for(;a>1;){var v=a-2;if(v>=1&&i[v-1]<=i[v]+i[v+1]||v>=2&&i[v-2]<=i[v]+i[v-1])i[v-1]i[v+1])break;f(v)}}function u(){for(;a>1;){var v=a-2;v>0&&i[v-1]=xl||w>=xl);if(T)break;x<0&&(x=0),x+=2}if(e=x,e<1&&(e=1),d===1){for(y=0;y=0;y--)r[b+y]=r[x+y];r[S]=o[_];return}for(var w=e;;){var T=0,A=0,C=!1;do if(t(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--d===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)=0;y--)r[b+y]=r[x+y];if(d===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-Xd(r[m],o,0,g,g-1,t),A!==0){for(S-=A,_-=A,g-=A,b=S+1,x=_+1,y=0;y=xl||A>=xl);if(C)break;w<0&&(w=0),w+=2}if(e=w,e<1&&(e=1),g===1){for(S-=d,m-=d,b=S+1,x=m+1,y=d-1;y>=0;y--)r[b+y]=r[x+y];r[S]=o[_]}else{if(g===0)throw new Error;for(x=S-(g-1),y=0;ys&&(l=s),Tx(r,e,e+l,e+a,t),a=l}o.pushRun(e,a),o.mergeRuns(),i-=a,e+=a}while(i!==0);o.forceMergeRuns()}}var br=1,Xl=2,vs=4,Ax=!1;function Kd(){Ax||(Ax=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Cx(r,t){return r.zlevel===t.zlevel?r.z===t.z?r.z2-t.z2:r.z-t.z:r.zlevel-t.zlevel}var q5=function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Cx}return r.prototype.traverse=function(t,e){for(var n=0;n0&&(f.__clipPaths=[]),isNaN(f.z)&&(Kd(),f.z=0),isNaN(f.z2)&&(Kd(),f.z2=0),isNaN(f.zlevel)&&(Kd(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var c=t.getDecalElement&&t.getDecalElement();c&&this._updateAndAddDisplayable(c,e,n);var h=t.getTextGuideLine();h&&this._updateAndAddDisplayable(h,e,n);var v=t.getTextContent();v&&this._updateAndAddDisplayable(v,e,n)}},r.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},r.prototype.delRoot=function(t){if(t instanceof Array){for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r}();const K5=q5;var QI;QI=zt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};const Gy=QI;var nh={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var t,e=.1,n=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=n/4):t=n*Math.asin(1/e)/(2*Math.PI),-(e*Math.pow(2,10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/n)))},elasticOut:function(r){var t,e=.1,n=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=n/4):t=n*Math.asin(1/e)/(2*Math.PI),e*Math.pow(2,-10*r)*Math.sin((r-t)*(2*Math.PI)/n)+1)},elasticInOut:function(r){var t,e=.1,n=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=n/4):t=n*Math.asin(1/e)/(2*Math.PI),(r*=2)<1?-.5*(e*Math.pow(2,10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/n)):e*Math.pow(2,-10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/n)*.5+1)},backIn:function(r){var t=1.70158;return r*r*((t+1)*r-t)},backOut:function(r){var t=1.70158;return--r*r*((t+1)*r+t)+1},backInOut:function(r){var t=2.5949095;return(r*=2)<1?.5*(r*r*((t+1)*r-t)):.5*((r-=2)*r*((t+1)*r+t)+2)},bounceIn:function(r){return 1-nh.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?nh.bounceIn(r*2)*.5:nh.bounceOut(r*2-1)*.5+.5}};const tL=nh;var Yf=Math.pow,Qi=Math.sqrt,kh=1e-8,eL=1e-4,Mx=Qi(3),Zf=1/3,Rn=Ro(),Gr=Ro(),Ds=Ro();function Zi(r){return r>-kh&&rkh||r<-kh}function Ae(r,t,e,n,i){var a=1-i;return a*a*(a*r+3*i*t)+i*i*(i*n+3*a*e)}function Dx(r,t,e,n,i){var a=1-i;return 3*(((t-r)*a+2*(e-t)*i)*a+(n-e)*i*i)}function Oh(r,t,e,n,i,a){var o=n+3*(t-e)-r,s=3*(e-t*2+r),l=3*(t-r),u=r-i,f=s*s-3*o*l,c=s*l-9*o*u,h=l*l-3*s*u,v=0;if(Zi(f)&&Zi(c))if(Zi(s))a[0]=0;else{var d=-l/s;d>=0&&d<=1&&(a[v++]=d)}else{var p=c*c-4*f*h;if(Zi(p)){var g=c/f,d=-s/o+g,y=-g/2;d>=0&&d<=1&&(a[v++]=d),y>=0&&y<=1&&(a[v++]=y)}else if(p>0){var m=Qi(p),_=f*s+1.5*o*(-c+m),S=f*s+1.5*o*(-c-m);_<0?_=-Yf(-_,Zf):_=Yf(_,Zf),S<0?S=-Yf(-S,Zf):S=Yf(S,Zf);var d=(-s-(_+S))/(3*o);d>=0&&d<=1&&(a[v++]=d)}else{var x=(2*f*s-3*o*c)/(2*Qi(f*f*f)),b=Math.acos(x)/3,w=Qi(f),T=Math.cos(b),d=(-s-2*w*T)/(3*o),y=(-s+w*(T+Mx*Math.sin(b)))/(3*o),A=(-s+w*(T-Mx*Math.sin(b)))/(3*o);d>=0&&d<=1&&(a[v++]=d),y>=0&&y<=1&&(a[v++]=y),A>=0&&A<=1&&(a[v++]=A)}}return v}function nL(r,t,e,n,i){var a=6*e-12*t+6*r,o=9*t+3*n-3*r-9*e,s=3*t-3*r,l=0;if(Zi(o)){if(rL(a)){var u=-s/a;u>=0&&u<=1&&(i[l++]=u)}}else{var f=a*a-4*o*s;if(Zi(f))i[0]=-a/(2*o);else if(f>0){var c=Qi(f),u=(-a+c)/(2*o),h=(-a-c)/(2*o);u>=0&&u<=1&&(i[l++]=u),h>=0&&h<=1&&(i[l++]=h)}}return l}function aa(r,t,e,n,i,a){var o=(t-r)*i+r,s=(e-t)*i+t,l=(n-e)*i+e,u=(s-o)*i+o,f=(l-s)*i+s,c=(f-u)*i+u;a[0]=r,a[1]=o,a[2]=u,a[3]=c,a[4]=c,a[5]=f,a[6]=l,a[7]=n}function iL(r,t,e,n,i,a,o,s,l,u,f){var c,h=.005,v=1/0,d,p,g,y;Rn[0]=l,Rn[1]=u;for(var m=0;m<1;m+=.05)Gr[0]=Ae(r,e,i,o,m),Gr[1]=Ae(t,n,a,s,m),g=po(Rn,Gr),g=0&&g=0&&u<=1&&(i[l++]=u)}}else{var f=o*o-4*a*s;if(Zi(f)){var u=-o/(2*a);u>=0&&u<=1&&(i[l++]=u)}else if(f>0){var c=Qi(f),u=(-o+c)/(2*a),h=(-o-c)/(2*a);u>=0&&u<=1&&(i[l++]=u),h>=0&&h<=1&&(i[l++]=h)}}return l}function aL(r,t,e){var n=r+e-2*t;return n===0?.5:(r-t)/n}function zu(r,t,e,n,i){var a=(t-r)*n+r,o=(e-t)*n+t,s=(o-a)*n+a;i[0]=r,i[1]=a,i[2]=s,i[3]=s,i[4]=o,i[5]=e}function oL(r,t,e,n,i,a,o,s,l){var u,f=.005,c=1/0;Rn[0]=o,Rn[1]=s;for(var h=0;h<1;h+=.05){Gr[0]=Le(r,e,i,h),Gr[1]=Le(t,n,a,h);var v=po(Rn,Gr);v=0&&v=1?1:Oh(0,n,a,1,l,s)&&Ae(0,i,o,1,s[0])}}}var eG=function(){function r(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||de,this.ondestroy=t.ondestroy||de,this.onrestart=t.onrestart||de,t.easing&&this.setEasing(t.easing)}return r.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),this._paused){this._pausedTime+=e;return}var n=this._life,i=t-this._startTime-this._pausedTime,a=i/n;a<0&&(a=0),a=Math.min(a,1);var o=this.easingFunc,s=o?o(a):a;if(this.onframe(s),a===1)if(this.loop){var l=i%n;this._startTime=t-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(t){this.easing=t,this.easingFunc=vt(t)?t:tL[t]||e_(t)},r}();const rG=eG;var sL=function(){function r(t){this.value=t}return r}(),nG=function(){function r(){this._len=0}return r.prototype.insert=function(t){var e=new sL(t);return this.insertEntry(e),e},r.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},r.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r}(),iG=function(){function r(t){this._list=new nG,this._maxSize=10,this._map={},this._maxSize=t}return r.prototype.put=function(t,e){var n=this._list,i=this._map,a=null;if(i[t]==null){var o=n.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=n.head;n.remove(l),delete i[l.key],a=l.value,this._lastRemovedEntry=l}s?s.value=e:s=new sL(e),s.key=t,n.insertEntry(s),i[t]=s}return a},r.prototype.get=function(t){var e=this._map[t],n=this._list;if(e!=null)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r}();const mf=iG;var Ix={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function fn(r){return r=Math.round(r),r<0?0:r>255?255:r}function aG(r){return r=Math.round(r),r<0?0:r>360?360:r}function Gu(r){return r<0?0:r>1?1:r}function jd(r){var t=r;return t.length&&t.charAt(t.length-1)==="%"?fn(parseFloat(t)/100*255):fn(parseInt(t,10))}function go(r){var t=r;return t.length&&t.charAt(t.length-1)==="%"?Gu(parseFloat(t)/100):Gu(parseFloat(t))}function Jd(r,t,e){return e<0?e+=1:e>1&&(e-=1),e*6<1?r+(t-r)*e*6:e*2<1?t:e*3<2?r+(t-r)*(2/3-e)*6:r}function Xi(r,t,e){return r+(t-r)*e}function kr(r,t,e,n,i){return r[0]=t,r[1]=e,r[2]=n,r[3]=i,r}function Hy(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r}var lL=new mf(20),Xf=null;function $o(r,t){Xf&&Hy(Xf,t),Xf=lL.put(r,Xf||t.slice())}function Mr(r,t){if(r){t=t||[];var e=lL.get(r);if(e)return Hy(t,e);r=r+"";var n=r.replace(/ /g,"").toLowerCase();if(n in Ix)return Hy(t,Ix[n]),$o(r,t),t;var i=n.length;if(n.charAt(0)==="#"){if(i===4||i===5){var a=parseInt(n.slice(1,4),16);if(!(a>=0&&a<=4095)){kr(t,0,0,0,1);return}return kr(t,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,i===5?parseInt(n.slice(4),16)/15:1),$o(r,t),t}else if(i===7||i===9){var a=parseInt(n.slice(1,7),16);if(!(a>=0&&a<=16777215)){kr(t,0,0,0,1);return}return kr(t,(a&16711680)>>16,(a&65280)>>8,a&255,i===9?parseInt(n.slice(7),16)/255:1),$o(r,t),t}return}var o=n.indexOf("("),s=n.indexOf(")");if(o!==-1&&s+1===i){var l=n.substr(0,o),u=n.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?kr(t,+u[0],+u[1],+u[2],1):kr(t,0,0,0,1);f=go(u.pop());case"rgb":if(u.length>=3)return kr(t,jd(u[0]),jd(u[1]),jd(u[2]),u.length===3?f:go(u[3])),$o(r,t),t;kr(t,0,0,0,1);return;case"hsla":if(u.length!==4){kr(t,0,0,0,1);return}return u[3]=go(u[3]),Wy(u,t),$o(r,t),t;case"hsl":if(u.length!==3){kr(t,0,0,0,1);return}return Wy(u,t),$o(r,t),t;default:return}}kr(t,0,0,0,1)}}function Wy(r,t){var e=(parseFloat(r[0])%360+360)%360/360,n=go(r[1]),i=go(r[2]),a=i<=.5?i*(n+1):i+n-i*n,o=i*2-a;return t=t||[],kr(t,fn(Jd(o,a,e+1/3)*255),fn(Jd(o,a,e)*255),fn(Jd(o,a,e-1/3)*255),1),r.length===4&&(t[3]=r[3]),t}function oG(r){if(r){var t=r[0]/255,e=r[1]/255,n=r[2]/255,i=Math.min(t,e,n),a=Math.max(t,e,n),o=a-i,s=(a+i)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(a+i):u=o/(2-a-i);var f=((a-t)/6+o/2)/o,c=((a-e)/6+o/2)/o,h=((a-n)/6+o/2)/o;t===a?l=h-c:e===a?l=1/3+f-h:n===a&&(l=2/3+c-f),l<0&&(l+=1),l>1&&(l-=1)}var v=[l*360,u,s];return r[3]!=null&&v.push(r[3]),v}}function $y(r,t){var e=Mr(r);if(e){for(var n=0;n<3;n++)t<0?e[n]=e[n]*(1-t)|0:e[n]=(255-e[n])*t+e[n]|0,e[n]>255?e[n]=255:e[n]<0&&(e[n]=0);return ui(e,e.length===4?"rgba":"rgb")}}function Qd(r,t,e){if(!(!(t&&t.length)||!(r>=0&&r<=1))){e=e||[];var n=r*(t.length-1),i=Math.floor(n),a=Math.ceil(n),o=t[i],s=t[a],l=n-i;return e[0]=fn(Xi(o[0],s[0],l)),e[1]=fn(Xi(o[1],s[1],l)),e[2]=fn(Xi(o[2],s[2],l)),e[3]=Gu(Xi(o[3],s[3],l)),e}}function sG(r,t,e){if(!(!(t&&t.length)||!(r>=0&&r<=1))){var n=r*(t.length-1),i=Math.floor(n),a=Math.ceil(n),o=Mr(t[i]),s=Mr(t[a]),l=n-i,u=ui([fn(Xi(o[0],s[0],l)),fn(Xi(o[1],s[1],l)),fn(Xi(o[2],s[2],l)),Gu(Xi(o[3],s[3],l))],"rgba");return e?{color:u,leftIndex:i,rightIndex:a,value:n}:u}}function gu(r,t,e,n){var i=Mr(r);if(r)return i=oG(i),t!=null&&(i[0]=aG(t)),e!=null&&(i[1]=go(e)),n!=null&&(i[2]=go(n)),ui(Wy(i),"rgba")}function Nh(r,t){var e=Mr(r);if(e&&t!=null)return e[3]=Gu(t),ui(e,"rgba")}function ui(r,t){if(!(!r||!r.length)){var e=r[0]+","+r[1]+","+r[2];return(t==="rgba"||t==="hsva"||t==="hsla")&&(e+=","+r[3]),t+"("+e+")"}}function Vh(r,t){var e=Mr(r);return e?(.299*e[0]+.587*e[1]+.114*e[2])*e[3]/255+(1-e[3])*t:0}var Lx=new mf(100);function Uy(r){if(nt(r)){var t=Lx.get(r);return t||(t=$y(r,-.1),Lx.put(r,t)),t}else if(Uv(r)){var e=F({},r);return e.colorStops=Z(r.colorStops,function(n){return{offset:n.offset,color:$y(n.color,-.1)}}),e}return r}var Bh=Math.round;function Fu(r){var t;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var e=Mr(r);e&&(r="rgb("+e[0]+","+e[1]+","+e[2]+")",t=e[3])}return{color:r,opacity:t==null?1:t}}var Px=1e-4;function qi(r){return r-Px}function qf(r){return Bh(r*1e3)/1e3}function Yy(r){return Bh(r*1e4)/1e4}function lG(r){return"matrix("+qf(r[0])+","+qf(r[1])+","+qf(r[2])+","+qf(r[3])+","+Yy(r[4])+","+Yy(r[5])+")"}var uG={left:"start",right:"end",center:"middle",middle:"middle"};function fG(r,t,e){return e==="top"?r+=t/2:e==="bottom"&&(r-=t/2),r}function cG(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function hG(r){var t=r.style,e=r.getGlobalScale();return[t.shadowColor,(t.shadowBlur||0).toFixed(2),(t.shadowOffsetX||0).toFixed(2),(t.shadowOffsetY||0).toFixed(2),e[0],e[1]].join(",")}function uL(r){return r&&!!r.image}function vG(r){return r&&!!r.svgElement}function r_(r){return uL(r)||vG(r)}function fL(r){return r.type==="linear"}function cL(r){return r.type==="radial"}function hL(r){return r&&(r.type==="linear"||r.type==="radial")}function Xv(r){return"url(#"+r+")"}function vL(r){var t=r.getGlobalScale(),e=Math.max(t[0],t[1]);return Math.max(Math.ceil(Math.log(e)/Math.log(10)),1)}function dL(r){var t=r.x||0,e=r.y||0,n=(r.rotation||0)*Qc,i=xt(r.scaleX,1),a=xt(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(t||e)&&l.push("translate("+t+"px,"+e+"px)"),n&&l.push("rotate("+n+")"),(i!==1||a!==1)&&l.push("scale("+i+","+a+")"),(o||s)&&l.push("skew("+Bh(o*Qc)+"deg, "+Bh(s*Qc)+"deg)"),l.join(" ")}var dG=function(){return zt.hasGlobalWindow&&vt(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer!="undefined"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}}(),Zy=Array.prototype.slice;function ti(r,t,e){return(t-r)*e+r}function tp(r,t,e,n){for(var i=t.length,a=0;an?t:r,a=Math.min(e,n),o=i[a-1]||{color:[0,0,0,0],offset:0},s=a;so;if(s)n.length=o;else for(var l=a;l=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,a=i.length,o=!1,s=Ex,l=e;if(Ke(e)){var u=mG(e);s=u,(u===1&&!Ft(e[0])||u===2&&!Ft(e[0][0]))&&(o=!0)}else if(Ft(e)&&!Vu(e))s=jf;else if(nt(e))if(!isNaN(+e))s=jf;else{var f=Mr(e);f&&(l=f,s=ql)}else if(Uv(e)){var c=F({},l);c.colorStops=Z(e.colorStops,function(v){return{offset:v.offset,color:Mr(v.color)}}),fL(e)?s=Xy:cL(e)&&(s=qy),l=c}a===0?this.valType=s:(s!==this.valType||s===Ex)&&(o=!0),this.discrete=this.discrete||o;var h={time:t,value:l,rawValue:e,percent:0};return n&&(h.easing=n,h.easingFunc=vt(n)?n:tL[n]||e_(n)),i.push(h),h},r.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort(function(p,g){return p.time-g.time});for(var i=this.valType,a=n.length,o=n[a-1],s=this.discrete,l=Jf(i),u=kx(i),f=0;f=0&&!(o[f].percent<=e);f--);f=h(f,s-2)}else{for(f=c;fe);f++);f=h(f-1,s-2)}d=o[f+1],v=o[f]}if(v&&d){this._lastFr=f,this._lastFrP=e;var g=d.percent-v.percent,y=g===0?1:h((e-v.percent)/g,1);d.easingFunc&&(y=d.easingFunc(y));var m=n?this._additiveValue:u?bl:t[l];if((Jf(a)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)t[l]=y<1?v.rawValue:d.rawValue;else if(Jf(a))a===ah?tp(m,v[i],d[i],y):pG(m,v[i],d[i],y);else if(kx(a)){var _=v[i],S=d[i],x=a===Xy;t[l]={type:x?"linear":"radial",x:ti(_.x,S.x,y),y:ti(_.y,S.y,y),colorStops:Z(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:ti(w.offset,A.offset,y),color:ih(tp([],w.color,A.color,y))}}),global:S.global},x?(t[l].x2=ti(_.x2,S.x2,y),t[l].y2=ti(_.y2,S.y2,y)):t[l].r=ti(_.r,S.r,y)}else if(u)tp(m,v[i],d[i],y),n||(t[l]=ih(m));else{var b=ti(v[i],d[i],y);n?this._additiveValue=b:t[l]=b}n&&this._addToTarget(t)}}},r.prototype._addToTarget=function(t){var e=this.valType,n=this.propName,i=this._additiveValue;e===jf?t[n]=t[n]+i:e===ql?(Mr(t[n],bl),Kf(bl,bl,i,1),t[n]=ih(bl)):e===ah?Kf(t[n],t[n],i,1):e===pL&&Rx(t[n],t[n],i,1)},r}(),n_=function(){function r(t,e,n,i){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=t,this._loop=e,e&&i){X0("Can' use additive animation on looped animation.");return}this._additiveAnimators=i,this._allowDiscrete=n}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(t){this._target=t},r.prototype.when=function(t,e,n){return this.whenWithKeys(t,e,kt(e),n)},r.prototype.whenWithKeys=function(t,e,n,i){for(var a=this._tracks,o=0;o0&&l.addKeyframe(0,yu(u),i),this._trackKeys.push(s)}l.addKeyframe(t,yu(e[s]),i)}return this._maxTime=Math.max(this._maxTime,t),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,a=0;a1){var s=o.pop();a.addKeyframe(s.time,t[i]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},r}();function ms(){return new Date().getTime()}var SG=function(r){B(t,r);function t(e){var n=r.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return t.prototype.addClip=function(e){e.animation&&this.removeClip(e),this._head?(this._tail.next=e,e.prev=this._tail,e.next=null,this._tail=e):this._head=this._tail=e,e.animation=this},t.prototype.addAnimator=function(e){e.animation=this;var n=e.getClip();n&&this.addClip(n)},t.prototype.removeClip=function(e){if(e.animation){var n=e.prev,i=e.next;n?n.next=i:this._head=i,i?i.prev=n:this._tail=n,e.next=e.prev=e.animation=null}},t.prototype.removeAnimator=function(e){var n=e.getClip();n&&this.removeClip(n),e.animation=null},t.prototype.update=function(e){for(var n=ms()-this._pausedTime,i=n-this._time,a=this._head;a;){var o=a.next,s=a.step(n,i);s&&(a.ondestroy(),this.removeClip(a)),a=o}this._time=n,e||(this.trigger("frame",i),this.stage.update&&this.stage.update())},t.prototype._startLoop=function(){var e=this;this._running=!0;function n(){e._running&&(Gy(n),!e._paused&&e.update())}Gy(n)},t.prototype.start=function(){this._running||(this._time=ms(),this._pausedTime=0,this._startLoop())},t.prototype.stop=function(){this._running=!1},t.prototype.pause=function(){this._paused||(this._pauseStart=ms(),this._paused=!0)},t.prototype.resume=function(){this._paused&&(this._pausedTime+=ms()-this._pauseStart,this._paused=!1)},t.prototype.clear=function(){for(var e=this._head;e;){var n=e.next;e.prev=e.next=e.animation=null,e=n}this._head=this._tail=null},t.prototype.isFinished=function(){return this._head==null},t.prototype.animate=function(e,n){n=n||{},this.start();var i=new n_(e,n.loop);return this.addAnimator(i),i},t}(Zr);const xG=SG;var bG=300,ep=zt.domSupported,rp=function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],t=["touchstart","touchend","touchmove"],e={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},n=Z(r,function(i){var a=i.replace("mouse","pointer");return e.hasOwnProperty(a)?a:i});return{mouse:r,touch:t,pointer:n}}(),Ox={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},Nx=!1;function Ky(r){var t=r.pointerType;return t==="pen"||t==="touch"}function wG(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function np(r){r&&(r.zrByTouch=!0)}function TG(r,t){return Or(r.dom,new AG(r,t),!0)}function gL(r,t){for(var e=t,n=!1;e&&e.nodeType!==9&&!(n=e.domBelongToZr||e!==t&&e===r.painterRoot);)e=e.parentNode;return n}var AG=function(){function r(t,e){this.stopPropagation=de,this.stopImmediatePropagation=de,this.preventDefault=de,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY}return r}(),tn={mousedown:function(r){r=Or(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=Or(this.dom,r);var t=this.__mayPointerCapture;t&&(r.zrX!==t[0]||r.zrY!==t[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=Or(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=Or(this.dom,r);var t=r.toElement||r.relatedTarget;gL(this,t)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){Nx=!0,r=Or(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){Nx||(r=Or(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=Or(this.dom,r),np(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),tn.mousemove.call(this,r),tn.mousedown.call(this,r)},touchmove:function(r){r=Or(this.dom,r),np(r),this.handler.processGesture(r,"change"),tn.mousemove.call(this,r)},touchend:function(r){r=Or(this.dom,r),np(r),this.handler.processGesture(r,"end"),tn.mouseup.call(this,r),+new Date-+this.__lastTouchMomentzx||r<-zx}var Ta=[],Uo=[],ap=Cr(),op=Math.abs,PG=function(){function r(){}return r.prototype.getLocalTransform=function(t){return r.getLocalTransform(this,t)},r.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},r.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},r.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},r.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},r.prototype.needLocalTransform=function(){return wa(this.rotation)||wa(this.x)||wa(this.y)||wa(this.scaleX-1)||wa(this.scaleY-1)||wa(this.skewX)||wa(this.skewY)},r.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;if(!(e||t)){n&&(Bx(n),this.invTransform=null);return}n=n||Cr(),e?this.getLocalTransform(n):Bx(n),t&&(e?li(n,t,n):Q0(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)},r.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(e!=null&&e!==1){this.getGlobalScale(Ta);var n=Ta[0]<0?-1:1,i=Ta[1]<0?-1:1,a=((Ta[0]-n)*e+n)/Ta[0]||0,o=((Ta[1]-i)*e+i)/Ta[1]||0;t[0]*=a,t[1]*=a,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||Cr(),js(this.invTransform,t)},r.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},r.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),a=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(a),e=Math.sqrt(e),this.skewX=a,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(t.invTransform=t.invTransform||Cr(),li(Uo,t.invTransform,e),e=Uo);var n=this.originX,i=this.originY;(n||i)&&(ap[4]=n,ap[5]=i,li(Uo,e,ap),Uo[4]-=n,Uo[5]-=i,e=Uo),this.setLocalTransform(e)}},r.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},r.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Be(n,n,i),n},r.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Be(n,n,i),n},r.prototype.getLineScale=function(){var t=this.transform;return t&&op(t[0]-1)>1e-10&&op(t[3]-1)>1e-10?Math.sqrt(op(t[0]*t[3]-t[2]*t[1])):1},r.prototype.copyTransform=function(t){mL(this,t)},r.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,a=t.scaleX,o=t.scaleY,s=t.anchorX,l=t.anchorY,u=t.rotation||0,f=t.x,c=t.y,h=t.skewX?Math.tan(t.skewX):0,v=t.skewY?Math.tan(-t.skewY):0;if(n||i||s||l){var d=n+s,p=i+l;e[4]=-d*a-h*p*o,e[5]=-p*o-v*d*a}else e[4]=e[5]=0;return e[0]=a,e[3]=o,e[1]=v*a,e[2]=h*o,u&&Eo(e,e,u),e[4]+=n+f,e[5]+=i+c,e},r.initDefaultProps=function(){var t=r.prototype;t.scaleX=t.scaleY=t.globalScaleRatio=1,t.x=t.y=t.originX=t.originY=t.skewX=t.skewY=t.rotation=t.anchorX=t.anchorY=0}(),r}(),Wn=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function mL(r,t){for(var e=0;e=0?parseFloat(r)/100*t:parseFloat(r):r}function Gh(r,t,e){var n=t.position||"inside",i=t.distance!=null?t.distance:5,a=e.height,o=e.width,s=a/2,l=e.x,u=e.y,f="left",c="top";if(n instanceof Array)l+=dn(n[0],e.width),u+=dn(n[1],e.height),f=null,c=null;else switch(n){case"left":l-=i,u+=s,f="right",c="middle";break;case"right":l+=i+o,u+=s,c="middle";break;case"top":l+=o/2,u-=i,f="center",c="bottom";break;case"bottom":l+=o/2,u+=a+i,f="center";break;case"inside":l+=o/2,u+=s,f="center",c="middle";break;case"insideLeft":l+=i,u+=s,c="middle";break;case"insideRight":l+=o-i,u+=s,f="right",c="middle";break;case"insideTop":l+=o/2,u+=i,f="center";break;case"insideBottom":l+=o/2,u+=a-i,f="center",c="bottom";break;case"insideTopLeft":l+=i,u+=i;break;case"insideTopRight":l+=o-i,u+=i,f="right";break;case"insideBottomLeft":l+=i,u+=a-i,c="bottom";break;case"insideBottomRight":l+=o-i,u+=a-i,f="right",c="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=c,r}var sp="__zr_normal__",lp=Wn.concat(["ignore"]),RG=Fn(Wn,function(r,t){return r[t]=!0,r},{ignore:!1}),Yo={},EG=new Mt(0,0,0,0),i_=function(){function r(t){this.id=$I(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return r.prototype._init=function(t){this.attr(t)},r.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0;break}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,a=e.innerTransformable,o=void 0,s=void 0,l=!1;a.parent=i?this:null;var u=!1;if(a.copyTransform(e),n.position!=null){var f=EG;n.layoutRect?f.copy(n.layoutRect):f.copy(this.getBoundingRect()),i||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Yo,n,f):Gh(Yo,n,f),a.x=Yo.x,a.y=Yo.y,o=Yo.align,s=Yo.verticalAlign;var c=n.origin;if(c&&n.rotation!=null){var h=void 0,v=void 0;c==="center"?(h=f.width*.5,v=f.height*.5):(h=dn(c[0],f.width),v=dn(c[1],f.height)),u=!0,a.originX=-a.x+h+(i?0:f.x),a.originY=-a.y+v+(i?0:f.y)}}n.rotation!=null&&(a.rotation=n.rotation);var d=n.offset;d&&(a.x+=d[0],a.y+=d[1],u||(a.originX=-d[0],a.originY=-d[1]));var p=n.inside==null?typeof n.position=="string"&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;p&&this.canBeInsideText()?(y=n.insideFill,m=n.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=n.outsideFill,m=n.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==g.fill||m!==g.stroke||_!==g.autoStroke||o!==g.align||s!==g.verticalAlign)&&(l=!0,g.fill=y,g.stroke=m,g.autoStroke=_,g.align=o,g.verticalAlign=s,e.setDefaultTextStyle(g)),e.__dirty|=br,l&&e.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(t){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?tm:Qy},r.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n=typeof e=="string"&&Mr(e);n||(n=[255,255,255,1]);for(var i=n[3],a=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(a?0:255)*(1-i);return n[3]=1,ui(n,"rgba")},r.prototype.traverse=function(t,e){},r.prototype.attrKV=function(t,e){t==="textConfig"?this.setTextConfig(e):t==="textContent"?this.setTextContent(e):t==="clipPath"?this.setClipPath(e):t==="extra"?(this.extra=this.extra||{},F(this.extra,e)):this[t]=e},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(t,e){if(typeof t=="string")this.attrKV(t,e);else if(yt(t))for(var n=t,i=kt(n),a=0;a0},r.prototype.getState=function(t){return this.states[t]},r.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},r.prototype.clearStates=function(t){this.useState(sp,!1,t)},r.prototype.useState=function(t,e,n,i){var a=t===sp,o=this.hasState();if(!(!o&&a)){var s=this.currentStates,l=this.stateTransition;if(!(Dt(s,t)>=0&&(e||s.length===1))){var u;if(this.stateProxy&&!a&&(u=this.stateProxy(t)),u||(u=this.states&&this.states[t]),!u&&!a){X0("State "+t+" not exists.");return}a||this.saveCurrentToNormalState(u);var f=!!(u&&u.hoverLayer||i);f&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,u,this._normalState,e,!n&&!this.__inHover&&l&&l.duration>0,l);var c=this._textContent,h=this._textGuide;return c&&c.useState(t,e,n,f),h&&h.useState(t,e,n,f),a?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~br),u}}},r.prototype.useStates=function(t,e,n){if(!t.length)this.clearStates();else{var i=[],a=this.currentStates,o=t.length,s=o===a.length;if(s){for(var l=0;l0,d);var p=this._textContent,g=this._textGuide;p&&p.useStates(t,e,h),g&&g.useStates(t,e,h),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!h&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~br)}},r.prototype.isSilent=function(){for(var t=this.silent,e=this.parent;!t&&e;){if(e.silent){t=!0;break}e=e.parent}return t},r.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},r.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),a=Dt(i,t),o=Dt(i,e)>=0;a>=0?o?i.splice(a,1):i[a]=e:n&&!o&&i.push(e),this.useStates(i)},r.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},r.prototype._mergeStates=function(t){for(var e={},n,i=0;i=0&&a.splice(o,1)}),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},r.prototype.updateDuringAnimation=function(t){this.markRedraw()},r.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,a=[],o=0;o0&&e.during&&a[0].during(function(d,p){e.during(p)});for(var h=0;h0||i.force&&!o.length){var T=void 0,A=void 0,C=void 0;if(s){A={},h&&(T={});for(var S=0;S<_;S++){var y=p[S];A[y]=e[y],h?T[y]=n[y]:e[y]=n[y]}}else if(h){C={};for(var S=0;S<_;S++){var y=p[S];C[y]=yu(e[y]),OG(e,n,y)}}var x=new n_(e,!1,!1,c?$t(d,function(I){return I.targetName===t}):null);x.targetName=t,i.scope&&(x.scope=i.scope),h&&T&&x.whenWithKeys(0,T,p),C&&x.whenWithKeys(0,C,p),x.whenWithKeys(u==null?500:u,s?A:n,p).delay(f||0),r.addAnimator(x,t),o.push(x)}}const SL=i_;var xL=function(r){B(t,r);function t(e){var n=r.call(this)||this;return n.isGroup=!0,n._children=[],n.attr(e),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.children=function(){return this._children.slice()},t.prototype.childAt=function(e){return this._children[e]},t.prototype.childOfName=function(e){for(var n=this._children,i=0;i=0&&(i.splice(a,0,e),this._doAdd(e))}return this},t.prototype.replace=function(e,n){var i=Dt(this._children,e);return i>=0&&this.replaceAt(n,i),this},t.prototype.replaceAt=function(e,n){var i=this._children,a=i[n];if(e&&e!==this&&e.parent!==this&&e!==a){i[n]=e,a.parent=null;var o=this.__zr;o&&a.removeSelfFromZr(o),this._doAdd(e)}return this},t.prototype._doAdd=function(e){e.parent&&e.parent.remove(e),e.parent=this;var n=this.__zr;n&&n!==e.__zr&&e.addSelfToZr(n),n&&n.refresh()},t.prototype.remove=function(e){var n=this.__zr,i=this._children,a=Dt(i,e);return a<0?this:(i.splice(a,1),e.parent=null,n&&e.removeSelfFromZr(n),n&&n.refresh(),this)},t.prototype.removeAll=function(){for(var e=this._children,n=this.__zr,i=0;i18),o&&(e.weChat=!0),t.svgSupported=typeof SVGRect!="undefined",t.touchEventsSupported="ontouchstart"in window&&!e.ie&&!e.edge,t.pointerEventsSupported="onpointerdown"in window&&(e.edge||e.ie&&+e.version>=11),t.domSupported=typeof document!="undefined";var s=document.documentElement.style;t.transform3dSupported=(e.ie&&"transition"in s||e.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),t.transformSupported=t.transform3dSupported||e.ie&&+e.version>=9}const zt=Bi;var X0=12,FI="sans-serif",ia=X0+"px "+FI,n5=20,i5=100,a5="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function o5(r){var t={};if(typeof JSON=="undefined")return t;for(var e=0;e=0)s=o*e.length;else for(var l=0;l>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",n[l]+":0",i[u]+":0",n[1-l]+":auto",i[1-u]+":auto",""].join("!important;"),r.appendChild(o),e.push(o)}return e}function I5(r,t,e){for(var n=e?"invTrans":"trans",i=t[n],a=t.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),c=2*u,h=f.left,v=f.top;o.push(h,v),l=l&&a&&h===a[c]&&v===a[c+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&i?i:(t.srcCoords=o,t[n]=e?mx(s,o):mx(o,s))}function XI(r){return r.nodeName.toUpperCase()==="CANVAS"}var L5=/([&<>"'])/g,P5={"&":"&","<":"<",">":">",'"':""","'":"'"};function qe(r){return r==null?"":(r+"").replace(L5,function(t,e){return P5[e]})}var R5=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xd=[],E5=zt.browser.firefox&&+zt.browser.version.split(".")[0]<39;function Fy(r,t,e,n){return e=e||{},n?Sx(r,t,e):E5&&t.layerX!=null&&t.layerX!==t.offsetX?(e.zrX=t.layerX,e.zrY=t.layerY):t.offsetX!=null?(e.zrX=t.offsetX,e.zrY=t.offsetY):Sx(r,t,e),e}function Sx(r,t,e){if(zt.domSupported&&r.getBoundingClientRect){var n=t.clientX,i=t.clientY;if(XI(r)){var a=r.getBoundingClientRect();e.zrX=n-a.left,e.zrY=i-a.top;return}else if(Gy(Xd,r,n,i)){e.zrX=Xd[0],e.zrY=Xd[1];return}}e.zrX=e.zrY=0}function e_(r){return r||window.event}function Or(r,t,e){if(t=e_(t),t.zrX!=null)return t;var n=t.type,i=n&&n.indexOf("touch")>=0;if(i){var o=n!=="touchend"?t.targetTouches[0]:t.changedTouches[0];o&&Fy(r,o,t,e)}else{Fy(r,t,t,e);var a=k5(t);t.zrDelta=a?a/120:-(t.detail||0)/3}var s=t.button;return t.which==null&&s!==void 0&&R5.test(t.type)&&(t.which=s&1?1:s&2?3:s&4?2:0),t}function k5(r){var t=r.wheelDelta;if(t)return t;var e=r.deltaX,n=r.deltaY;if(e==null||n==null)return t;var i=Math.abs(n!==0?n:e),a=n>0?-1:n<0?1:e>0?-1:1;return 3*i*a}function Hy(r,t,e,n){r.addEventListener(t,e,n)}function O5(r,t,e,n){r.removeEventListener(t,e,n)}var gi=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function xx(r){return r.which===2||r.which===3}var N5=function(){function r(){this._track=[]}return r.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var a={points:[],touches:[],target:e,event:t},o=0,s=i.length;o1&&n&&n.length>1){var a=bx(n)/bx(i);!isFinite(a)&&(a=1),t.pinchScale=a;var o=V5(n);return t.pinchX=o[0],t.pinchY=o[1],{type:"pinch",target:r[0].target,event:t}}}}};function Cr(){return[1,0,0,1,0,0]}function qv(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function r_(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r}function fi(r,t,e){var n=t[0]*e[0]+t[2]*e[1],i=t[1]*e[0]+t[3]*e[1],a=t[0]*e[2]+t[2]*e[3],o=t[1]*e[2]+t[3]*e[3],s=t[0]*e[4]+t[2]*e[5]+t[4],l=t[1]*e[4]+t[3]*e[5]+t[5];return r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=l,r}function $n(r,t,e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4]+e[0],r[5]=t[5]+e[1],r}function Oo(r,t,e,n){n===void 0&&(n=[0,0]);var i=t[0],a=t[2],o=t[4],s=t[1],l=t[3],u=t[5],f=Math.sin(e),c=Math.cos(e);return r[0]=i*c+s*f,r[1]=-i*f+s*c,r[2]=a*c+l*f,r[3]=-a*f+c*l,r[4]=c*(o-n[0])+f*(u-n[1])+n[0],r[5]=c*(u-n[1])-f*(o-n[0])+n[1],r}function n_(r,t,e){var n=e[0],i=e[1];return r[0]=t[0]*n,r[1]=t[1]*i,r[2]=t[2]*n,r[3]=t[3]*i,r[4]=t[4]*n,r[5]=t[5]*i,r}function Qs(r,t){var e=t[0],n=t[2],i=t[4],a=t[1],o=t[3],s=t[5],l=e*o-a*n;return l?(l=1/l,r[0]=o*l,r[1]=-a*l,r[2]=-n*l,r[3]=e*l,r[4]=(n*s-o*i)*l,r[5]=(a*i-e*s)*l,r):null}function B5(r){var t=Cr();return r_(t,r),t}var z5=function(){function r(t,e){this.x=t||0,this.y=e||0}return r.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(t,e){return this.x=t,this.y=e,this},r.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},r.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},r.prototype.scale=function(t){this.x*=t,this.y*=t},r.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},r.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},r.prototype.dot=function(t){return this.x*t.x+this.y*t.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},r.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},r.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},r.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},r.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},r.set=function(t,e,n){t.x=e,t.y=n},r.copy=function(t,e){t.x=e.x,t.y=e.y},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},r.lenSquare=function(t){return t.x*t.x+t.y*t.y},r.dot=function(t,e){return t.x*e.x+t.y*e.y},r.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},r.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},r.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},r.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},r.lerp=function(t,e,n,i){var a=1-i;t.x=a*e.x+i*n.x,t.y=a*e.y+i*n.y},r}();const Ct=z5;var Zf=Math.min,Xf=Math.max,Sa=new Ct,xa=new Ct,ba=new Ct,wa=new Ct,Sl=new Ct,xl=new Ct,G5=function(){function r(t,e,n,i){n<0&&(t=t+n,n=-n),i<0&&(e=e+i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return r.prototype.union=function(t){var e=Zf(t.x,this.x),n=Zf(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Xf(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Xf(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},r.prototype.applyTransform=function(t){r.applyTransform(this,this,t)},r.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,a=Cr();return $n(a,a,[-e.x,-e.y]),n_(a,a,[n,i]),$n(a,a,[t.x,t.y]),a},r.prototype.intersect=function(t,e){if(!t)return!1;t instanceof r||(t=r.create(t));var n=this,i=n.x,a=n.x+n.width,o=n.y,s=n.y+n.height,l=t.x,u=t.x+t.width,f=t.y,c=t.y+t.height,h=!(ad&&(d=_,pd&&(d=S,y=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(t){r.copy(this,t)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(t){return new r(t.x,t.y,t.width,t.height)},r.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},r.applyTransform=function(t,e,n){if(!n){t!==e&&r.copy(t,e);return}if(n[1]<1e-5&&n[1]>-1e-5&&n[2]<1e-5&&n[2]>-1e-5){var i=n[0],a=n[3],o=n[4],s=n[5];t.x=e.x*i+o,t.y=e.y*a+s,t.width=e.width*i,t.height=e.height*a,t.width<0&&(t.x+=t.width,t.width=-t.width),t.height<0&&(t.y+=t.height,t.height=-t.height);return}Sa.x=ba.x=e.x,Sa.y=wa.y=e.y,xa.x=wa.x=e.x+e.width,xa.y=ba.y=e.y+e.height,Sa.transform(n),wa.transform(n),xa.transform(n),ba.transform(n),t.x=Zf(Sa.x,xa.x,ba.x,wa.x),t.y=Zf(Sa.y,xa.y,ba.y,wa.y);var l=Xf(Sa.x,xa.x,ba.x,wa.x),u=Xf(Sa.y,xa.y,ba.y,wa.y);t.width=l-t.x,t.height=u-t.y},r}();const Mt=G5;var qI="silent";function F5(r,t,e){return{type:r,event:e,target:t.target,topTarget:t.topTarget,cancelBubble:!1,offsetX:e.zrX,offsetY:e.zrY,gestureEvent:e.gestureEvent,pinchX:e.pinchX,pinchY:e.pinchY,pinchScale:e.pinchScale,wheelDelta:e.zrDelta,zrByTouch:e.zrByTouch,which:e.which,stop:H5}}function H5(){gi(this.event)}var W5=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.handler=null,e}return t.prototype.dispose=function(){},t.prototype.setCursor=function(){},t}(Zr),bl=function(){function r(t,e){this.x=t,this.y=e}return r}(),$5=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Kd=new Mt(0,0,0,0),KI=function(r){B(t,r);function t(e,n,i,a,o){var s=r.call(this)||this;return s._hovered=new bl(0,0),s.storage=e,s.painter=n,s.painterRoot=a,s._pointerSize=o,i=i||new W5,s.proxy=null,s.setHandlerProxy(i),s._draggingMgr=new T5(s),s}return t.prototype.setHandlerProxy=function(e){this.proxy&&this.proxy.dispose(),e&&(M($5,function(n){e.on&&e.on(n,this[n],this)},this),e.handler=this),this.proxy=e},t.prototype.mousemove=function(e){var n=e.zrX,i=e.zrY,a=jI(this,n,i),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=a?new bl(n,i):this.findHover(n,i),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",e),this.dispatchToElement(l,"mousemove",e),u&&u!==s&&this.dispatchToElement(l,"mouseover",e)},t.prototype.mouseout=function(e){var n=e.zrEventControl;n!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",e),n!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:e})},t.prototype.resize=function(){this._hovered=new bl(0,0)},t.prototype.dispatch=function(e,n){var i=this[e];i&&i.call(this,n)},t.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},t.prototype.setCursorStyle=function(e){var n=this.proxy;n.setCursor&&n.setCursor(e)},t.prototype.dispatchToElement=function(e,n,i){e=e||{};var a=e.target;if(!(a&&a.silent)){for(var o="on"+n,s=F5(n,e,i);a&&(a[o]&&(s.cancelBubble=!!a[o].call(a,s)),a.trigger(n,s),a=a.__hostTarget?a.__hostTarget:a.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(n,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(n,s)}))}},t.prototype.findHover=function(e,n,i){var a=this.storage.getDisplayList(),o=new bl(e,n);if(Tx(a,o,e,n,i),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new Mt(e-u,n-u,l,l),c=a.length-1;c>=0;c--){var h=a[c];h!==i&&!h.ignore&&!h.ignoreCoarsePointer&&(!h.parent||!h.parent.ignoreCoarsePointer)&&(Kd.copy(h.getBoundingRect()),h.transform&&Kd.applyTransform(h.transform),Kd.intersect(f)&&s.push(h))}if(s.length)for(var v=4,d=Math.PI/12,p=Math.PI*2,g=0;g4)return;this._downPoint=null}this.dispatchToElement(a,r,t)}});function U5(r,t,e){if(r[r.rectHover?"rectContain":"contain"](t,e)){for(var n=r,i=void 0,a=!1;n;){if(n.ignoreClip&&(a=!0),!a){var o=n.getClipPath();if(o&&!o.contain(t,e))return!1}n.silent&&(i=!0);var s=n.__hostTarget;n=s||n.parent}return i?qI:!0}return!1}function Tx(r,t,e,n,i){for(var a=r.length-1;a>=0;a--){var o=r[a],s=void 0;if(o!==i&&!o.ignore&&(s=U5(o,e,n))&&(!t.topTarget&&(t.topTarget=o),s!==qI)){t.target=o;break}}}function jI(r,t,e){var n=r.painter;return t<0||t>n.getWidth()||e<0||e>n.getHeight()}const Y5=KI;var JI=32,wl=7;function Z5(r){for(var t=0;r>=JI;)t|=r&1,r>>=1;return r+t}function Ax(r,t,e,n){var i=t+1;if(i===e)return 1;if(n(r[i++],r[t])<0){for(;i=0;)i++;return i-t}function X5(r,t,e){for(e--;t>>1,i(a,r[l])<0?s=l:o=l+1;var u=n-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=a}}function jd(r,t,e,n,i,a){var o=0,s=0,l=1;if(a(r,t[e+i])>0){for(s=n-i;l0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=i,l+=i}else{for(s=i+1;ls&&(l=s);var u=o;o=i-l,l=i-u}for(o++;o>>1);a(r,t[e+f])>0?o=f+1:l=f}return l}function Jd(r,t,e,n,i,a){var o=0,s=0,l=1;if(a(r,t[e+i])<0){for(s=i+1;ls&&(l=s);var u=o;o=i-l,l=i-u}else{for(s=n-i;l=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=i,l+=i}for(o++;o>>1);a(r,t[e+f])<0?l=f:o=f+1}return l}function q5(r,t){var e=wl,n,i,a=0,o=[];n=[],i=[];function s(v,d){n[a]=v,i[a]=d,a+=1}function l(){for(;a>1;){var v=a-2;if(v>=1&&i[v-1]<=i[v]+i[v+1]||v>=2&&i[v-2]<=i[v]+i[v-1])i[v-1]i[v+1])break;f(v)}}function u(){for(;a>1;){var v=a-2;v>0&&i[v-1]=wl||w>=wl);if(T)break;x<0&&(x=0),x+=2}if(e=x,e<1&&(e=1),d===1){for(y=0;y=0;y--)r[b+y]=r[x+y];r[S]=o[_];return}for(var w=e;;){var T=0,A=0,C=!1;do if(t(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--d===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)=0;y--)r[b+y]=r[x+y];if(d===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-jd(r[m],o,0,g,g-1,t),A!==0){for(S-=A,_-=A,g-=A,b=S+1,x=_+1,y=0;y=wl||A>=wl);if(C)break;w<0&&(w=0),w+=2}if(e=w,e<1&&(e=1),g===1){for(S-=d,m-=d,b=S+1,x=m+1,y=d-1;y>=0;y--)r[b+y]=r[x+y];r[S]=o[_]}else{if(g===0)throw new Error;for(x=S-(g-1),y=0;ys&&(l=s),Cx(r,e,e+l,e+a,t),a=l}o.pushRun(e,a),o.mergeRuns(),i-=a,e+=a}while(i!==0);o.forceMergeRuns()}}var br=1,Jl=2,ps=4,Mx=!1;function Qd(){Mx||(Mx=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Dx(r,t){return r.zlevel===t.zlevel?r.z===t.z?r.z2-t.z2:r.z-t.z:r.zlevel-t.zlevel}var K5=function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Dx}return r.prototype.traverse=function(t,e){for(var n=0;n0&&(f.__clipPaths=[]),isNaN(f.z)&&(Qd(),f.z=0),isNaN(f.z2)&&(Qd(),f.z2=0),isNaN(f.zlevel)&&(Qd(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var c=t.getDecalElement&&t.getDecalElement();c&&this._updateAndAddDisplayable(c,e,n);var h=t.getTextGuideLine();h&&this._updateAndAddDisplayable(h,e,n);var v=t.getTextContent();v&&this._updateAndAddDisplayable(v,e,n)}},r.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},r.prototype.delRoot=function(t){if(t instanceof Array){for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r}();const j5=K5;var QI;QI=zt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};const Wy=QI;var ih={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var t,e=.1,n=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=n/4):t=n*Math.asin(1/e)/(2*Math.PI),-(e*Math.pow(2,10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/n)))},elasticOut:function(r){var t,e=.1,n=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=n/4):t=n*Math.asin(1/e)/(2*Math.PI),e*Math.pow(2,-10*r)*Math.sin((r-t)*(2*Math.PI)/n)+1)},elasticInOut:function(r){var t,e=.1,n=.4;return r===0?0:r===1?1:(!e||e<1?(e=1,t=n/4):t=n*Math.asin(1/e)/(2*Math.PI),(r*=2)<1?-.5*(e*Math.pow(2,10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/n)):e*Math.pow(2,-10*(r-=1))*Math.sin((r-t)*(2*Math.PI)/n)*.5+1)},backIn:function(r){var t=1.70158;return r*r*((t+1)*r-t)},backOut:function(r){var t=1.70158;return--r*r*((t+1)*r+t)+1},backInOut:function(r){var t=2.5949095;return(r*=2)<1?.5*(r*r*((t+1)*r-t)):.5*((r-=2)*r*((t+1)*r+t)+2)},bounceIn:function(r){return 1-ih.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?ih.bounceIn(r*2)*.5:ih.bounceOut(r*2-1)*.5+.5}};const tL=ih;var qf=Math.pow,ta=Math.sqrt,Nh=1e-8,eL=1e-4,Ix=ta(3),Kf=1/3,En=ko(),Gr=ko(),Ls=ko();function Xi(r){return r>-Nh&&rNh||r<-Nh}function Ae(r,t,e,n,i){var a=1-i;return a*a*(a*r+3*i*t)+i*i*(i*n+3*a*e)}function Lx(r,t,e,n,i){var a=1-i;return 3*(((t-r)*a+2*(e-t)*i)*a+(n-e)*i*i)}function Vh(r,t,e,n,i,a){var o=n+3*(t-e)-r,s=3*(e-t*2+r),l=3*(t-r),u=r-i,f=s*s-3*o*l,c=s*l-9*o*u,h=l*l-3*s*u,v=0;if(Xi(f)&&Xi(c))if(Xi(s))a[0]=0;else{var d=-l/s;d>=0&&d<=1&&(a[v++]=d)}else{var p=c*c-4*f*h;if(Xi(p)){var g=c/f,d=-s/o+g,y=-g/2;d>=0&&d<=1&&(a[v++]=d),y>=0&&y<=1&&(a[v++]=y)}else if(p>0){var m=ta(p),_=f*s+1.5*o*(-c+m),S=f*s+1.5*o*(-c-m);_<0?_=-qf(-_,Kf):_=qf(_,Kf),S<0?S=-qf(-S,Kf):S=qf(S,Kf);var d=(-s-(_+S))/(3*o);d>=0&&d<=1&&(a[v++]=d)}else{var x=(2*f*s-3*o*c)/(2*ta(f*f*f)),b=Math.acos(x)/3,w=ta(f),T=Math.cos(b),d=(-s-2*w*T)/(3*o),y=(-s+w*(T+Ix*Math.sin(b)))/(3*o),A=(-s+w*(T-Ix*Math.sin(b)))/(3*o);d>=0&&d<=1&&(a[v++]=d),y>=0&&y<=1&&(a[v++]=y),A>=0&&A<=1&&(a[v++]=A)}}return v}function nL(r,t,e,n,i){var a=6*e-12*t+6*r,o=9*t+3*n-3*r-9*e,s=3*t-3*r,l=0;if(Xi(o)){if(rL(a)){var u=-s/a;u>=0&&u<=1&&(i[l++]=u)}}else{var f=a*a-4*o*s;if(Xi(f))i[0]=-a/(2*o);else if(f>0){var c=ta(f),u=(-a+c)/(2*o),h=(-a-c)/(2*o);u>=0&&u<=1&&(i[l++]=u),h>=0&&h<=1&&(i[l++]=h)}}return l}function oa(r,t,e,n,i,a){var o=(t-r)*i+r,s=(e-t)*i+t,l=(n-e)*i+e,u=(s-o)*i+o,f=(l-s)*i+s,c=(f-u)*i+u;a[0]=r,a[1]=o,a[2]=u,a[3]=c,a[4]=c,a[5]=f,a[6]=l,a[7]=n}function iL(r,t,e,n,i,a,o,s,l,u,f){var c,h=.005,v=1/0,d,p,g,y;En[0]=l,En[1]=u;for(var m=0;m<1;m+=.05)Gr[0]=Ae(r,e,i,o,m),Gr[1]=Ae(t,n,a,s,m),g=yo(En,Gr),g=0&&g=0&&u<=1&&(i[l++]=u)}}else{var f=o*o-4*a*s;if(Xi(f)){var u=-o/(2*a);u>=0&&u<=1&&(i[l++]=u)}else if(f>0){var c=ta(f),u=(-o+c)/(2*a),h=(-o-c)/(2*a);u>=0&&u<=1&&(i[l++]=u),h>=0&&h<=1&&(i[l++]=h)}}return l}function aL(r,t,e){var n=r+e-2*t;return n===0?.5:(r-t)/n}function Hu(r,t,e,n,i){var a=(t-r)*n+r,o=(e-t)*n+t,s=(o-a)*n+a;i[0]=r,i[1]=a,i[2]=s,i[3]=s,i[4]=o,i[5]=e}function oL(r,t,e,n,i,a,o,s,l){var u,f=.005,c=1/0;En[0]=o,En[1]=s;for(var h=0;h<1;h+=.05){Gr[0]=Le(r,e,i,h),Gr[1]=Le(t,n,a,h);var v=yo(En,Gr);v=0&&v=1?1:Vh(0,n,a,1,l,s)&&Ae(0,i,o,1,s[0])}}}var rG=function(){function r(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||pe,this.ondestroy=t.ondestroy||pe,this.onrestart=t.onrestart||pe,t.easing&&this.setEasing(t.easing)}return r.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),this._paused){this._pausedTime+=e;return}var n=this._life,i=t-this._startTime-this._pausedTime,a=i/n;a<0&&(a=0),a=Math.min(a,1);var o=this.easingFunc,s=o?o(a):a;if(this.onframe(s),a===1)if(this.loop){var l=i%n;this._startTime=t-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(t){this.easing=t,this.easingFunc=vt(t)?t:tL[t]||i_(t)},r}();const nG=rG;var sL=function(){function r(t){this.value=t}return r}(),iG=function(){function r(){this._len=0}return r.prototype.insert=function(t){var e=new sL(t);return this.insertEntry(e),e},r.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},r.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r}(),aG=function(){function r(t){this._list=new iG,this._maxSize=10,this._map={},this._maxSize=t}return r.prototype.put=function(t,e){var n=this._list,i=this._map,a=null;if(i[t]==null){var o=n.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=n.head;n.remove(l),delete i[l.key],a=l.value,this._lastRemovedEntry=l}s?s.value=e:s=new sL(e),s.key=t,n.insertEntry(s),i[t]=s}return a},r.prototype.get=function(t){var e=this._map[t],n=this._list;if(e!=null)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r}();const xf=aG;var Px={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function fn(r){return r=Math.round(r),r<0?0:r>255?255:r}function oG(r){return r=Math.round(r),r<0?0:r>360?360:r}function Wu(r){return r<0?0:r>1?1:r}function tp(r){var t=r;return t.length&&t.charAt(t.length-1)==="%"?fn(parseFloat(t)/100*255):fn(parseInt(t,10))}function mo(r){var t=r;return t.length&&t.charAt(t.length-1)==="%"?Wu(parseFloat(t)/100):Wu(parseFloat(t))}function ep(r,t,e){return e<0?e+=1:e>1&&(e-=1),e*6<1?r+(t-r)*e*6:e*2<1?t:e*3<2?r+(t-r)*(2/3-e)*6:r}function qi(r,t,e){return r+(t-r)*e}function kr(r,t,e,n,i){return r[0]=t,r[1]=e,r[2]=n,r[3]=i,r}function Uy(r,t){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r}var lL=new xf(20),jf=null;function Yo(r,t){jf&&Uy(jf,t),jf=lL.put(r,jf||t.slice())}function Mr(r,t){if(r){t=t||[];var e=lL.get(r);if(e)return Uy(t,e);r=r+"";var n=r.replace(/ /g,"").toLowerCase();if(n in Px)return Uy(t,Px[n]),Yo(r,t),t;var i=n.length;if(n.charAt(0)==="#"){if(i===4||i===5){var a=parseInt(n.slice(1,4),16);if(!(a>=0&&a<=4095)){kr(t,0,0,0,1);return}return kr(t,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,i===5?parseInt(n.slice(4),16)/15:1),Yo(r,t),t}else if(i===7||i===9){var a=parseInt(n.slice(1,7),16);if(!(a>=0&&a<=16777215)){kr(t,0,0,0,1);return}return kr(t,(a&16711680)>>16,(a&65280)>>8,a&255,i===9?parseInt(n.slice(7),16)/255:1),Yo(r,t),t}return}var o=n.indexOf("("),s=n.indexOf(")");if(o!==-1&&s+1===i){var l=n.substr(0,o),u=n.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?kr(t,+u[0],+u[1],+u[2],1):kr(t,0,0,0,1);f=mo(u.pop());case"rgb":if(u.length>=3)return kr(t,tp(u[0]),tp(u[1]),tp(u[2]),u.length===3?f:mo(u[3])),Yo(r,t),t;kr(t,0,0,0,1);return;case"hsla":if(u.length!==4){kr(t,0,0,0,1);return}return u[3]=mo(u[3]),Yy(u,t),Yo(r,t),t;case"hsl":if(u.length!==3){kr(t,0,0,0,1);return}return Yy(u,t),Yo(r,t),t;default:return}}kr(t,0,0,0,1)}}function Yy(r,t){var e=(parseFloat(r[0])%360+360)%360/360,n=mo(r[1]),i=mo(r[2]),a=i<=.5?i*(n+1):i+n-i*n,o=i*2-a;return t=t||[],kr(t,fn(ep(o,a,e+1/3)*255),fn(ep(o,a,e)*255),fn(ep(o,a,e-1/3)*255),1),r.length===4&&(t[3]=r[3]),t}function sG(r){if(r){var t=r[0]/255,e=r[1]/255,n=r[2]/255,i=Math.min(t,e,n),a=Math.max(t,e,n),o=a-i,s=(a+i)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(a+i):u=o/(2-a-i);var f=((a-t)/6+o/2)/o,c=((a-e)/6+o/2)/o,h=((a-n)/6+o/2)/o;t===a?l=h-c:e===a?l=1/3+f-h:n===a&&(l=2/3+c-f),l<0&&(l+=1),l>1&&(l-=1)}var v=[l*360,u,s];return r[3]!=null&&v.push(r[3]),v}}function Zy(r,t){var e=Mr(r);if(e){for(var n=0;n<3;n++)t<0?e[n]=e[n]*(1-t)|0:e[n]=(255-e[n])*t+e[n]|0,e[n]>255?e[n]=255:e[n]<0&&(e[n]=0);return ci(e,e.length===4?"rgba":"rgb")}}function rp(r,t,e){if(!(!(t&&t.length)||!(r>=0&&r<=1))){e=e||[];var n=r*(t.length-1),i=Math.floor(n),a=Math.ceil(n),o=t[i],s=t[a],l=n-i;return e[0]=fn(qi(o[0],s[0],l)),e[1]=fn(qi(o[1],s[1],l)),e[2]=fn(qi(o[2],s[2],l)),e[3]=Wu(qi(o[3],s[3],l)),e}}function lG(r,t,e){if(!(!(t&&t.length)||!(r>=0&&r<=1))){var n=r*(t.length-1),i=Math.floor(n),a=Math.ceil(n),o=Mr(t[i]),s=Mr(t[a]),l=n-i,u=ci([fn(qi(o[0],s[0],l)),fn(qi(o[1],s[1],l)),fn(qi(o[2],s[2],l)),Wu(qi(o[3],s[3],l))],"rgba");return e?{color:u,leftIndex:i,rightIndex:a,value:n}:u}}function _u(r,t,e,n){var i=Mr(r);if(r)return i=sG(i),t!=null&&(i[0]=oG(t)),e!=null&&(i[1]=mo(e)),n!=null&&(i[2]=mo(n)),ci(Yy(i),"rgba")}function Bh(r,t){var e=Mr(r);if(e&&t!=null)return e[3]=Wu(t),ci(e,"rgba")}function ci(r,t){if(!(!r||!r.length)){var e=r[0]+","+r[1]+","+r[2];return(t==="rgba"||t==="hsva"||t==="hsla")&&(e+=","+r[3]),t+"("+e+")"}}function zh(r,t){var e=Mr(r);return e?(.299*e[0]+.587*e[1]+.114*e[2])*e[3]/255+(1-e[3])*t:0}var Rx=new xf(100);function Xy(r){if(nt(r)){var t=Rx.get(r);return t||(t=Zy(r,-.1),Rx.put(r,t)),t}else if(Zv(r)){var e=F({},r);return e.colorStops=Z(r.colorStops,function(n){return{offset:n.offset,color:Zy(n.color,-.1)}}),e}return r}var Gh=Math.round;function $u(r){var t;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var e=Mr(r);e&&(r="rgb("+e[0]+","+e[1]+","+e[2]+")",t=e[3])}return{color:r,opacity:t==null?1:t}}var Ex=1e-4;function Ki(r){return r-Ex}function Jf(r){return Gh(r*1e3)/1e3}function qy(r){return Gh(r*1e4)/1e4}function uG(r){return"matrix("+Jf(r[0])+","+Jf(r[1])+","+Jf(r[2])+","+Jf(r[3])+","+qy(r[4])+","+qy(r[5])+")"}var fG={left:"start",right:"end",center:"middle",middle:"middle"};function cG(r,t,e){return e==="top"?r+=t/2:e==="bottom"&&(r-=t/2),r}function hG(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function vG(r){var t=r.style,e=r.getGlobalScale();return[t.shadowColor,(t.shadowBlur||0).toFixed(2),(t.shadowOffsetX||0).toFixed(2),(t.shadowOffsetY||0).toFixed(2),e[0],e[1]].join(",")}function uL(r){return r&&!!r.image}function dG(r){return r&&!!r.svgElement}function a_(r){return uL(r)||dG(r)}function fL(r){return r.type==="linear"}function cL(r){return r.type==="radial"}function hL(r){return r&&(r.type==="linear"||r.type==="radial")}function Kv(r){return"url(#"+r+")"}function vL(r){var t=r.getGlobalScale(),e=Math.max(t[0],t[1]);return Math.max(Math.ceil(Math.log(e)/Math.log(10)),1)}function dL(r){var t=r.x||0,e=r.y||0,n=(r.rotation||0)*th,i=xt(r.scaleX,1),a=xt(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(t||e)&&l.push("translate("+t+"px,"+e+"px)"),n&&l.push("rotate("+n+")"),(i!==1||a!==1)&&l.push("scale("+i+","+a+")"),(o||s)&&l.push("skew("+Gh(o*th)+"deg, "+Gh(s*th)+"deg)"),l.join(" ")}var pG=function(){return zt.hasGlobalWindow&&vt(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer!="undefined"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}}(),Ky=Array.prototype.slice;function ri(r,t,e){return(t-r)*e+r}function np(r,t,e,n){for(var i=t.length,a=0;an?t:r,a=Math.min(e,n),o=i[a-1]||{color:[0,0,0,0],offset:0},s=a;so;if(s)n.length=o;else for(var l=a;l=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,a=i.length,o=!1,s=Ox,l=e;if(Ke(e)){var u=_G(e);s=u,(u===1&&!Ft(e[0])||u===2&&!Ft(e[0][0]))&&(o=!0)}else if(Ft(e)&&!Gu(e))s=tc;else if(nt(e))if(!isNaN(+e))s=tc;else{var f=Mr(e);f&&(l=f,s=Ql)}else if(Zv(e)){var c=F({},l);c.colorStops=Z(e.colorStops,function(v){return{offset:v.offset,color:Mr(v.color)}}),fL(e)?s=jy:cL(e)&&(s=Jy),l=c}a===0?this.valType=s:(s!==this.valType||s===Ox)&&(o=!0),this.discrete=this.discrete||o;var h={time:t,value:l,rawValue:e,percent:0};return n&&(h.easing=n,h.easingFunc=vt(n)?n:tL[n]||i_(n)),i.push(h),h},r.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort(function(p,g){return p.time-g.time});for(var i=this.valType,a=n.length,o=n[a-1],s=this.discrete,l=ec(i),u=Nx(i),f=0;f=0&&!(o[f].percent<=e);f--);f=h(f,s-2)}else{for(f=c;fe);f++);f=h(f-1,s-2)}d=o[f+1],v=o[f]}if(v&&d){this._lastFr=f,this._lastFrP=e;var g=d.percent-v.percent,y=g===0?1:h((e-v.percent)/g,1);d.easingFunc&&(y=d.easingFunc(y));var m=n?this._additiveValue:u?Tl:t[l];if((ec(a)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)t[l]=y<1?v.rawValue:d.rawValue;else if(ec(a))a===oh?np(m,v[i],d[i],y):gG(m,v[i],d[i],y);else if(Nx(a)){var _=v[i],S=d[i],x=a===jy;t[l]={type:x?"linear":"radial",x:ri(_.x,S.x,y),y:ri(_.y,S.y,y),colorStops:Z(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:ri(w.offset,A.offset,y),color:ah(np([],w.color,A.color,y))}}),global:S.global},x?(t[l].x2=ri(_.x2,S.x2,y),t[l].y2=ri(_.y2,S.y2,y)):t[l].r=ri(_.r,S.r,y)}else if(u)np(m,v[i],d[i],y),n||(t[l]=ah(m));else{var b=ri(v[i],d[i],y);n?this._additiveValue=b:t[l]=b}n&&this._addToTarget(t)}}},r.prototype._addToTarget=function(t){var e=this.valType,n=this.propName,i=this._additiveValue;e===tc?t[n]=t[n]+i:e===Ql?(Mr(t[n],Tl),Qf(Tl,Tl,i,1),t[n]=ah(Tl)):e===oh?Qf(t[n],t[n],i,1):e===pL&&kx(t[n],t[n],i,1)},r}(),o_=function(){function r(t,e,n,i){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=t,this._loop=e,e&&i){j0("Can' use additive animation on looped animation.");return}this._additiveAnimators=i,this._allowDiscrete=n}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(t){this._target=t},r.prototype.when=function(t,e,n){return this.whenWithKeys(t,e,kt(e),n)},r.prototype.whenWithKeys=function(t,e,n,i){for(var a=this._tracks,o=0;o0&&l.addKeyframe(0,Su(u),i),this._trackKeys.push(s)}l.addKeyframe(t,Su(e[s]),i)}return this._maxTime=Math.max(this._maxTime,t),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,a=0;a1){var s=o.pop();a.addKeyframe(s.time,t[i]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},r}();function Ss(){return new Date().getTime()}var xG=function(r){B(t,r);function t(e){var n=r.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return t.prototype.addClip=function(e){e.animation&&this.removeClip(e),this._head?(this._tail.next=e,e.prev=this._tail,e.next=null,this._tail=e):this._head=this._tail=e,e.animation=this},t.prototype.addAnimator=function(e){e.animation=this;var n=e.getClip();n&&this.addClip(n)},t.prototype.removeClip=function(e){if(e.animation){var n=e.prev,i=e.next;n?n.next=i:this._head=i,i?i.prev=n:this._tail=n,e.next=e.prev=e.animation=null}},t.prototype.removeAnimator=function(e){var n=e.getClip();n&&this.removeClip(n),e.animation=null},t.prototype.update=function(e){for(var n=Ss()-this._pausedTime,i=n-this._time,a=this._head;a;){var o=a.next,s=a.step(n,i);s&&(a.ondestroy(),this.removeClip(a)),a=o}this._time=n,e||(this.trigger("frame",i),this.stage.update&&this.stage.update())},t.prototype._startLoop=function(){var e=this;this._running=!0;function n(){e._running&&(Wy(n),!e._paused&&e.update())}Wy(n)},t.prototype.start=function(){this._running||(this._time=Ss(),this._pausedTime=0,this._startLoop())},t.prototype.stop=function(){this._running=!1},t.prototype.pause=function(){this._paused||(this._pauseStart=Ss(),this._paused=!0)},t.prototype.resume=function(){this._paused&&(this._pausedTime+=Ss()-this._pauseStart,this._paused=!1)},t.prototype.clear=function(){for(var e=this._head;e;){var n=e.next;e.prev=e.next=e.animation=null,e=n}this._head=this._tail=null},t.prototype.isFinished=function(){return this._head==null},t.prototype.animate=function(e,n){n=n||{},this.start();var i=new o_(e,n.loop);return this.addAnimator(i),i},t}(Zr);const bG=xG;var wG=300,ip=zt.domSupported,ap=function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],t=["touchstart","touchend","touchmove"],e={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},n=Z(r,function(i){var a=i.replace("mouse","pointer");return e.hasOwnProperty(a)?a:i});return{mouse:r,touch:t,pointer:n}}(),Vx={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},Bx=!1;function Qy(r){var t=r.pointerType;return t==="pen"||t==="touch"}function TG(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function op(r){r&&(r.zrByTouch=!0)}function AG(r,t){return Or(r.dom,new CG(r,t),!0)}function gL(r,t){for(var e=t,n=!1;e&&e.nodeType!==9&&!(n=e.domBelongToZr||e!==t&&e===r.painterRoot);)e=e.parentNode;return n}var CG=function(){function r(t,e){this.stopPropagation=pe,this.stopImmediatePropagation=pe,this.preventDefault=pe,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY}return r}(),tn={mousedown:function(r){r=Or(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=Or(this.dom,r);var t=this.__mayPointerCapture;t&&(r.zrX!==t[0]||r.zrY!==t[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=Or(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=Or(this.dom,r);var t=r.toElement||r.relatedTarget;gL(this,t)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){Bx=!0,r=Or(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){Bx||(r=Or(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=Or(this.dom,r),op(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),tn.mousemove.call(this,r),tn.mousedown.call(this,r)},touchmove:function(r){r=Or(this.dom,r),op(r),this.handler.processGesture(r,"change"),tn.mousemove.call(this,r)},touchend:function(r){r=Or(this.dom,r),op(r),this.handler.processGesture(r,"end"),tn.mouseup.call(this,r),+new Date-+this.__lastTouchMomentFx||r<-Fx}var Aa=[],Zo=[],lp=Cr(),up=Math.abs,RG=function(){function r(){}return r.prototype.getLocalTransform=function(t){return r.getLocalTransform(this,t)},r.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},r.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},r.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},r.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},r.prototype.needLocalTransform=function(){return Ta(this.rotation)||Ta(this.x)||Ta(this.y)||Ta(this.scaleX-1)||Ta(this.scaleY-1)||Ta(this.skewX)||Ta(this.skewY)},r.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;if(!(e||t)){n&&(Gx(n),this.invTransform=null);return}n=n||Cr(),e?this.getLocalTransform(n):Gx(n),t&&(e?fi(n,t,n):r_(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)},r.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(e!=null&&e!==1){this.getGlobalScale(Aa);var n=Aa[0]<0?-1:1,i=Aa[1]<0?-1:1,a=((Aa[0]-n)*e+n)/Aa[0]||0,o=((Aa[1]-i)*e+i)/Aa[1]||0;t[0]*=a,t[1]*=a,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||Cr(),Qs(this.invTransform,t)},r.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},r.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),a=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(a),e=Math.sqrt(e),this.skewX=a,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(t.invTransform=t.invTransform||Cr(),fi(Zo,t.invTransform,e),e=Zo);var n=this.originX,i=this.originY;(n||i)&&(lp[4]=n,lp[5]=i,fi(Zo,e,lp),Zo[4]-=n,Zo[5]-=i,e=Zo),this.setLocalTransform(e)}},r.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},r.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&ze(n,n,i),n},r.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&ze(n,n,i),n},r.prototype.getLineScale=function(){var t=this.transform;return t&&up(t[0]-1)>1e-10&&up(t[3]-1)>1e-10?Math.sqrt(up(t[0]*t[3]-t[2]*t[1])):1},r.prototype.copyTransform=function(t){mL(this,t)},r.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,a=t.scaleX,o=t.scaleY,s=t.anchorX,l=t.anchorY,u=t.rotation||0,f=t.x,c=t.y,h=t.skewX?Math.tan(t.skewX):0,v=t.skewY?Math.tan(-t.skewY):0;if(n||i||s||l){var d=n+s,p=i+l;e[4]=-d*a-h*p*o,e[5]=-p*o-v*d*a}else e[4]=e[5]=0;return e[0]=a,e[3]=o,e[1]=v*a,e[2]=h*o,u&&Oo(e,e,u),e[4]+=n+f,e[5]+=i+c,e},r.initDefaultProps=function(){var t=r.prototype;t.scaleX=t.scaleY=t.globalScaleRatio=1,t.x=t.y=t.originX=t.originY=t.skewX=t.skewY=t.rotation=t.anchorX=t.anchorY=0}(),r}(),Un=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function mL(r,t){for(var e=0;e=0?parseFloat(r)/100*t:parseFloat(r):r}function Hh(r,t,e){var n=t.position||"inside",i=t.distance!=null?t.distance:5,a=e.height,o=e.width,s=a/2,l=e.x,u=e.y,f="left",c="top";if(n instanceof Array)l+=pn(n[0],e.width),u+=pn(n[1],e.height),f=null,c=null;else switch(n){case"left":l-=i,u+=s,f="right",c="middle";break;case"right":l+=i+o,u+=s,c="middle";break;case"top":l+=o/2,u-=i,f="center",c="bottom";break;case"bottom":l+=o/2,u+=a+i,f="center";break;case"inside":l+=o/2,u+=s,f="center",c="middle";break;case"insideLeft":l+=i,u+=s,c="middle";break;case"insideRight":l+=o-i,u+=s,f="right",c="middle";break;case"insideTop":l+=o/2,u+=i,f="center";break;case"insideBottom":l+=o/2,u+=a-i,f="center",c="bottom";break;case"insideTopLeft":l+=i,u+=i;break;case"insideTopRight":l+=o-i,u+=i,f="right";break;case"insideBottomLeft":l+=i,u+=a-i,c="bottom";break;case"insideBottomRight":l+=o-i,u+=a-i,f="right",c="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=c,r}var fp="__zr_normal__",cp=Un.concat(["ignore"]),EG=Wn(Un,function(r,t){return r[t]=!0,r},{ignore:!1}),Xo={},kG=new Mt(0,0,0,0),s_=function(){function r(t){this.id=$I(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return r.prototype._init=function(t){this.attr(t)},r.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0;break}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,a=e.innerTransformable,o=void 0,s=void 0,l=!1;a.parent=i?this:null;var u=!1;if(a.copyTransform(e),n.position!=null){var f=kG;n.layoutRect?f.copy(n.layoutRect):f.copy(this.getBoundingRect()),i||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Xo,n,f):Hh(Xo,n,f),a.x=Xo.x,a.y=Xo.y,o=Xo.align,s=Xo.verticalAlign;var c=n.origin;if(c&&n.rotation!=null){var h=void 0,v=void 0;c==="center"?(h=f.width*.5,v=f.height*.5):(h=pn(c[0],f.width),v=pn(c[1],f.height)),u=!0,a.originX=-a.x+h+(i?0:f.x),a.originY=-a.y+v+(i?0:f.y)}}n.rotation!=null&&(a.rotation=n.rotation);var d=n.offset;d&&(a.x+=d[0],a.y+=d[1],u||(a.originX=-d[0],a.originY=-d[1]));var p=n.inside==null?typeof n.position=="string"&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;p&&this.canBeInsideText()?(y=n.insideFill,m=n.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=n.outsideFill,m=n.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==g.fill||m!==g.stroke||_!==g.autoStroke||o!==g.align||s!==g.verticalAlign)&&(l=!0,g.fill=y,g.stroke=m,g.autoStroke=_,g.align=o,g.verticalAlign=s,e.setDefaultTextStyle(g)),e.__dirty|=br,l&&e.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(t){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?nm:rm},r.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n=typeof e=="string"&&Mr(e);n||(n=[255,255,255,1]);for(var i=n[3],a=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(a?0:255)*(1-i);return n[3]=1,ci(n,"rgba")},r.prototype.traverse=function(t,e){},r.prototype.attrKV=function(t,e){t==="textConfig"?this.setTextConfig(e):t==="textContent"?this.setTextContent(e):t==="clipPath"?this.setClipPath(e):t==="extra"?(this.extra=this.extra||{},F(this.extra,e)):this[t]=e},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(t,e){if(typeof t=="string")this.attrKV(t,e);else if(yt(t))for(var n=t,i=kt(n),a=0;a0},r.prototype.getState=function(t){return this.states[t]},r.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},r.prototype.clearStates=function(t){this.useState(fp,!1,t)},r.prototype.useState=function(t,e,n,i){var a=t===fp,o=this.hasState();if(!(!o&&a)){var s=this.currentStates,l=this.stateTransition;if(!(Dt(s,t)>=0&&(e||s.length===1))){var u;if(this.stateProxy&&!a&&(u=this.stateProxy(t)),u||(u=this.states&&this.states[t]),!u&&!a){j0("State "+t+" not exists.");return}a||this.saveCurrentToNormalState(u);var f=!!(u&&u.hoverLayer||i);f&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,u,this._normalState,e,!n&&!this.__inHover&&l&&l.duration>0,l);var c=this._textContent,h=this._textGuide;return c&&c.useState(t,e,n,f),h&&h.useState(t,e,n,f),a?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~br),u}}},r.prototype.useStates=function(t,e,n){if(!t.length)this.clearStates();else{var i=[],a=this.currentStates,o=t.length,s=o===a.length;if(s){for(var l=0;l0,d);var p=this._textContent,g=this._textGuide;p&&p.useStates(t,e,h),g&&g.useStates(t,e,h),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!h&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~br)}},r.prototype.isSilent=function(){for(var t=this.silent,e=this.parent;!t&&e;){if(e.silent){t=!0;break}e=e.parent}return t},r.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},r.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),a=Dt(i,t),o=Dt(i,e)>=0;a>=0?o?i.splice(a,1):i[a]=e:n&&!o&&i.push(e),this.useStates(i)},r.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},r.prototype._mergeStates=function(t){for(var e={},n,i=0;i=0&&a.splice(o,1)}),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},r.prototype.updateDuringAnimation=function(t){this.markRedraw()},r.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,a=[],o=0;o0&&e.during&&a[0].during(function(d,p){e.during(p)});for(var h=0;h0||i.force&&!o.length){var T=void 0,A=void 0,C=void 0;if(s){A={},h&&(T={});for(var S=0;S<_;S++){var y=p[S];A[y]=e[y],h?T[y]=n[y]:e[y]=n[y]}}else if(h){C={};for(var S=0;S<_;S++){var y=p[S];C[y]=Su(e[y]),NG(e,n,y)}}var x=new o_(e,!1,!1,c?$t(d,function(I){return I.targetName===t}):null);x.targetName=t,i.scope&&(x.scope=i.scope),h&&T&&x.whenWithKeys(0,T,p),C&&x.whenWithKeys(0,C,p),x.whenWithKeys(u==null?500:u,s?A:n,p).delay(f||0),r.addAnimator(x,t),o.push(x)}}const SL=s_;var xL=function(r){B(t,r);function t(e){var n=r.call(this)||this;return n.isGroup=!0,n._children=[],n.attr(e),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.children=function(){return this._children.slice()},t.prototype.childAt=function(e){return this._children[e]},t.prototype.childOfName=function(e){for(var n=this._children,i=0;i=0&&(i.splice(a,0,e),this._doAdd(e))}return this},t.prototype.replace=function(e,n){var i=Dt(this._children,e);return i>=0&&this.replaceAt(n,i),this},t.prototype.replaceAt=function(e,n){var i=this._children,a=i[n];if(e&&e!==this&&e.parent!==this&&e!==a){i[n]=e,a.parent=null;var o=this.__zr;o&&a.removeSelfFromZr(o),this._doAdd(e)}return this},t.prototype._doAdd=function(e){e.parent&&e.parent.remove(e),e.parent=this;var n=this.__zr;n&&n!==e.__zr&&e.addSelfToZr(n),n&&n.refresh()},t.prototype.remove=function(e){var n=this.__zr,i=this._children,a=Dt(i,e);return a<0?this:(i.splice(a,1),e.parent=null,n&&e.removeSelfFromZr(n),n&&n.refresh(),this)},t.prototype.removeAll=function(){for(var e=this._children,n=this.__zr,i=0;i0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(t){this._disposed||(t=t||{},this.painter.resize(t.width,t.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},r.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},r.prototype.on=function(t,e,n){return this._disposed||this.handler.on(t,e,n),this},r.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},r.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},r.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;e0){if(r<=i)return o;if(r>=a)return s}else{if(r>=i)return o;if(r<=a)return s}else{if(r===i)return o;if(r===a)return s}return(r-i)/l*u+o}function et(r,t){switch(r){case"center":case"middle":r="50%";break;case"left":case"top":r="0%";break;case"right":case"bottom":r="100%";break}return nt(r)?$G(r).match(/%$/)?parseFloat(r)/100*t:parseFloat(r):r==null?NaN:+r}function ce(r,t,e){return t==null&&(t=10),t=Math.min(Math.max(0,t),wL),r=(+r).toFixed(t),e?r:+r}function $r(r){return r.sort(function(t,e){return t-e}),r}function kn(r){if(r=+r,isNaN(r))return 0;if(r>1e-14){for(var t=1,e=0;e<15;e++,t*=10)if(Math.round(r*t)/t===r)return e}return UG(r)}function UG(r){var t=r.toString().toLowerCase(),e=t.indexOf("e"),n=e>0?+t.slice(e+1):0,i=e>0?e:t.length,a=t.indexOf("."),o=a<0?0:i-1-a;return Math.max(0,o-n)}function TL(r,t){var e=Math.log,n=Math.LN10,i=Math.floor(e(r[1]-r[0])/n),a=Math.round(e(Math.abs(t[1]-t[0]))/n),o=Math.min(Math.max(-i+a,0),20);return isFinite(o)?o:20}function YG(r,t){var e=Fn(r,function(v,d){return v+(isNaN(d)?0:d)},0);if(e===0)return[];for(var n=Math.pow(10,t),i=Z(r,function(v){return(isNaN(v)?0:v)/e*n*100}),a=n*100,o=Z(i,function(v){return Math.floor(v)}),s=Fn(o,function(v,d){return v+d},0),l=Z(i,function(v,d){return v-o[d]});su&&(u=l[c],f=c);++o[f],l[f]=0,++s}return Z(o,function(v){return v/n})}function ZG(r,t){var e=Math.max(kn(r),kn(t)),n=r+t;return e>wL?n:ce(n,e)}var $x=9007199254740991;function AL(r){var t=Math.PI*2;return(r%t+t)%t}function Hu(r){return r>-Wx&&r=10&&t++,t}function CL(r,t){var e=a_(r),n=Math.pow(10,e),i=r/n,a;return t?i<1.5?a=1:i<2.5?a=2:i<4?a=3:i<7?a=5:a=10:i<1?a=1:i<2?a=2:i<3?a=3:i<5?a=5:a=10,r=a*n,e>=-20?+r.toFixed(e<0?-e:0):r}function cp(r,t){var e=(r.length-1)*t+1,n=Math.floor(e),i=+r[n-1],a=e-n;return a?i+a*(r[n]-i):i}function Ux(r){r.sort(function(l,u){return s(l,u,0)?-1:1});for(var t=-1/0,e=1,n=0;n=0||a&&Dt(a,l)<0)){var u=n.getShallow(l,t);u!=null&&(o[r[s][0]]=u)}}return o}}var _F=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],SF=Mo(_F),xF=function(){function r(){}return r.prototype.getAreaStyle=function(t,e){return SF(this,t,e)},r}(),nm=new mf(50);function bF(r){if(typeof r=="string"){var t=nm.get(r);return t&&t.image}else return r}function u_(r,t,e,n,i){if(r)if(typeof r=="string"){if(t&&t.__zrImageSrc===r||!e)return t;var a=nm.get(r),o={hostEl:e,cb:n,cbPayload:i};return a?(t=a.image,!jv(t)&&a.pending.push(o)):(t=ia.loadImage(r,qx,qx),t.__zrImageSrc=r,nm.put(r,t.__cachedImgObj={image:t,pending:[o]})),t}else return r;else return t}function qx(){var r=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var t=0;t0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(t){this._disposed||(t=t||{},this.painter.resize(t.width,t.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},r.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},r.prototype.on=function(t,e,n){return this._disposed||this.handler.on(t,e,n),this},r.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},r.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},r.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;e0){if(r<=i)return o;if(r>=a)return s}else{if(r>=i)return o;if(r<=a)return s}else{if(r===i)return o;if(r===a)return s}return(r-i)/l*u+o}function rt(r,t){switch(r){case"center":case"middle":r="50%";break;case"left":case"top":r="0%";break;case"right":case"bottom":r="100%";break}return nt(r)?UG(r).match(/%$/)?parseFloat(r)/100*t:parseFloat(r):r==null?NaN:+r}function ce(r,t,e){return t==null&&(t=10),t=Math.min(Math.max(0,t),wL),r=(+r).toFixed(t),e?r:+r}function $r(r){return r.sort(function(t,e){return t-e}),r}function On(r){if(r=+r,isNaN(r))return 0;if(r>1e-14){for(var t=1,e=0;e<15;e++,t*=10)if(Math.round(r*t)/t===r)return e}return YG(r)}function YG(r){var t=r.toString().toLowerCase(),e=t.indexOf("e"),n=e>0?+t.slice(e+1):0,i=e>0?e:t.length,a=t.indexOf("."),o=a<0?0:i-1-a;return Math.max(0,o-n)}function TL(r,t){var e=Math.log,n=Math.LN10,i=Math.floor(e(r[1]-r[0])/n),a=Math.round(e(Math.abs(t[1]-t[0]))/n),o=Math.min(Math.max(-i+a,0),20);return isFinite(o)?o:20}function ZG(r,t){var e=Wn(r,function(v,d){return v+(isNaN(d)?0:d)},0);if(e===0)return[];for(var n=Math.pow(10,t),i=Z(r,function(v){return(isNaN(v)?0:v)/e*n*100}),a=n*100,o=Z(i,function(v){return Math.floor(v)}),s=Wn(o,function(v,d){return v+d},0),l=Z(i,function(v,d){return v-o[d]});su&&(u=l[c],f=c);++o[f],l[f]=0,++s}return Z(o,function(v){return v/n})}function XG(r,t){var e=Math.max(On(r),On(t)),n=r+t;return e>wL?n:ce(n,e)}var Yx=9007199254740991;function AL(r){var t=Math.PI*2;return(r%t+t)%t}function Uu(r){return r>-Ux&&r=10&&t++,t}function CL(r,t){var e=l_(r),n=Math.pow(10,e),i=r/n,a;return t?i<1.5?a=1:i<2.5?a=2:i<4?a=3:i<7?a=5:a=10:i<1?a=1:i<2?a=2:i<3?a=3:i<5?a=5:a=10,r=a*n,e>=-20?+r.toFixed(e<0?-e:0):r}function dp(r,t){var e=(r.length-1)*t+1,n=Math.floor(e),i=+r[n-1],a=e-n;return a?i+a*(r[n]-i):i}function Zx(r){r.sort(function(l,u){return s(l,u,0)?-1:1});for(var t=-1/0,e=1,n=0;n=0||a&&Dt(a,l)<0)){var u=n.getShallow(l,t);u!=null&&(o[r[s][0]]=u)}}return o}}var SF=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],xF=Io(SF),bF=function(){function r(){}return r.prototype.getAreaStyle=function(t,e){return xF(this,t,e)},r}(),om=new xf(50);function wF(r){if(typeof r=="string"){var t=om.get(r);return t&&t.image}else return r}function h_(r,t,e,n,i){if(r)if(typeof r=="string"){if(t&&t.__zrImageSrc===r||!e)return t;var a=om.get(r),o={hostEl:e,cb:n,cbPayload:i};return a?(t=a.image,!Qv(t)&&a.pending.push(o)):(t=aa.loadImage(r,jx,jx),t.__zrImageSrc=r,om.put(r,t.__cachedImgObj={image:t,pending:[o]})),t}else return r;else return t}function jx(){var r=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var t=0;t=o;l++)s-=o;var u=Dr(e,t);return u>s&&(e="",u=0),s=r-u,i.ellipsis=e,i.ellipsisWidth=u,i.contentWidth=s,i.containerWidth=r,i}function zL(r,t,e){var n=e.containerWidth,i=e.font,a=e.contentWidth;if(!n){r.textLine="",r.isTruncated=!1;return}var o=Dr(t,i);if(o<=n){r.textLine=t,r.isTruncated=!1;return}for(var s=0;;s++){if(o<=a||s>=e.maxIterations){t+=e.ellipsis;break}var l=s===0?TF(t,a,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*a/o):0;t=t.substr(0,l),o=Dr(t,i)}t===""&&(t=e.placeholder),r.textLine=t,r.isTruncated=!0}function TF(r,t,e,n){for(var i=0,a=0,o=r.length;ad&&u){var p=Math.floor(d/s);f=f||h.length>p,h=h.slice(0,p)}if(r&&a&&c!=null)for(var g=BL(c,i,t.ellipsis,{minChar:t.truncateMinChar,placeholder:t.placeholder}),y={},m=0;ms&&vp(e,r.substring(s,u),t,o),vp(e,l[2],t,o,l[1]),s=hp.lastIndex}si){var L=e.lines.length;b>0?(_.tokens=_.tokens.slice(0,b),y(_,x,S),e.lines=e.lines.slice(0,m+1)):e.lines=e.lines.slice(0,m),e.isTruncated=e.isTruncated||e.lines.length0&&d+n.accumWidth>n.width&&(f=t.split(` +`),r.isTruncated=s}function BL(r,t,e,n){n=n||{};var i=F({},n);i.font=t,e=xt(e,"..."),i.maxIterations=xt(n.maxIterations,2);var a=i.minChar=xt(n.minChar,0);i.cnCharWidth=Dr("国",t);var o=i.ascCharWidth=Dr("a",t);i.placeholder=xt(n.placeholder,"");for(var s=r=Math.max(0,r-1),l=0;l=o;l++)s-=o;var u=Dr(e,t);return u>s&&(e="",u=0),s=r-u,i.ellipsis=e,i.ellipsisWidth=u,i.contentWidth=s,i.containerWidth=r,i}function zL(r,t,e){var n=e.containerWidth,i=e.font,a=e.contentWidth;if(!n){r.textLine="",r.isTruncated=!1;return}var o=Dr(t,i);if(o<=n){r.textLine=t,r.isTruncated=!1;return}for(var s=0;;s++){if(o<=a||s>=e.maxIterations){t+=e.ellipsis;break}var l=s===0?AF(t,a,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*a/o):0;t=t.substr(0,l),o=Dr(t,i)}t===""&&(t=e.placeholder),r.textLine=t,r.isTruncated=!0}function AF(r,t,e,n){for(var i=0,a=0,o=r.length;ad&&u){var p=Math.floor(d/s);f=f||h.length>p,h=h.slice(0,p)}if(r&&a&&c!=null)for(var g=BL(c,i,t.ellipsis,{minChar:t.truncateMinChar,placeholder:t.placeholder}),y={},m=0;ms&&gp(e,r.substring(s,u),t,o),gp(e,l[2],t,o,l[1]),s=pp.lastIndex}si){var L=e.lines.length;b>0?(_.tokens=_.tokens.slice(0,b),y(_,x,S),e.lines=e.lines.slice(0,m+1)):e.lines=e.lines.slice(0,m),e.isTruncated=e.isTruncated||e.lines.length0&&d+n.accumWidth>n.width&&(f=t.split(` `),u=!0),n.accumWidth=d}else{var p=GL(t,l,n.width,n.breakAll,n.accumWidth);n.accumWidth=p.accumWidth+v,c=p.linesWidths,f=p.lines}}else f=t.split(` -`);for(var g=0;g=32&&t<=591||t>=880&&t<=4351||t>=4608&&t<=5119||t>=7680&&t<=8303}var LF=Fn(",&?/;] ".split(""),function(r,t){return r[t]=!0,r},{});function PF(r){return IF(r)?!!LF[r]:!0}function GL(r,t,e,n,i){for(var a=[],o=[],s="",l="",u=0,f=0,c=0;ce:i+f+v>e){f?(s||l)&&(d?(s||(s=l,l="",u=0,f=u),a.push(s),o.push(f-u),l+=h,u+=v,s="",f=u):(l&&(s+=l,l="",u=0),a.push(s),o.push(f),s=h,f=v)):d?(a.push(l),o.push(u),l=h,u=v):(a.push(h),o.push(v));continue}f+=v,d?(l+=h,u+=v):(l&&(s+=l,l="",u=0),s+=h)}return!a.length&&!s&&(s=r,l="",u=0),l&&(s+=l),s&&(a.push(s),o.push(f)),a.length===1&&(f+=i),{accumWidth:f,lines:a,linesWidths:o}}var im="__zr_style_"+Math.round(Math.random()*10),yo={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Jv={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};yo[im]=!0;var jx=["z","z2","invisible"],RF=["invisible"],EF=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype._init=function(e){for(var n=kt(e),i=0;i1e-4){s[0]=r-e,s[1]=t-n,l[0]=r+e,l[1]=t+n;return}if(Qf[0]=yp(i)*e+r,Qf[1]=gp(i)*n+t,tc[0]=yp(a)*e+r,tc[1]=gp(a)*n+t,u(s,Qf,tc),f(l,Qf,tc),i=i%Ca,i<0&&(i=i+Ca),a=a%Ca,a<0&&(a=a+Ca),i>a&&!o?a+=Ca:ii&&(ec[0]=yp(v)*e+r,ec[1]=gp(v)*n+t,u(s,ec,s),f(l,ec,l))}var qt={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Ma=[],Da=[],Sn=[],Di=[],xn=[],bn=[],mp=Math.min,_p=Math.max,Ia=Math.cos,La=Math.sin,Kn=Math.abs,am=Math.PI,Bi=am*2,Sp=typeof Float32Array!="undefined",wl=[];function xp(r){var t=Math.round(r/am*1e8)/1e8;return t%2*am}function f_(r,t){var e=xp(r[0]);e<0&&(e+=Bi);var n=e-r[0],i=r[1];i+=n,!t&&i-e>=Bi?i=e+Bi:t&&e-i>=Bi?i=e-Bi:!t&&e>i?i=e+(Bi-xp(e-i)):t&&e0&&(this._ux=Kn(n/zh/t)||0,this._uy=Kn(n/zh/e)||0)},r.prototype.setDPR=function(t){this.dpr=t},r.prototype.setContext=function(t){this._ctx=t},r.prototype.getContext=function(){return this._ctx},r.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},r.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},r.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(qt.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},r.prototype.lineTo=function(t,e){var n=Kn(t-this._xi),i=Kn(e-this._yi),a=n>this._ux||i>this._uy;if(this.addData(qt.L,t,e),this._ctx&&a&&this._ctx.lineTo(t,e),a)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},r.prototype.bezierCurveTo=function(t,e,n,i,a,o){return this._drawPendingPt(),this.addData(qt.C,t,e,n,i,a,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,a,o),this._xi=a,this._yi=o,this},r.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(qt.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},r.prototype.arc=function(t,e,n,i,a,o){this._drawPendingPt(),wl[0]=i,wl[1]=a,f_(wl,o),i=wl[0],a=wl[1];var s=a-i;return this.addData(qt.A,t,e,n,n,i,s,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,a,o),this._xi=Ia(a)*n+t,this._yi=La(a)*n+e,this},r.prototype.arcTo=function(t,e,n,i,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,a),this},r.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(qt.R,t,e,n,i),this},r.prototype.closePath=function(){this._drawPendingPt(),this.addData(qt.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},r.prototype.fill=function(t){t&&t.fill(),this.toStatic()},r.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},r.prototype.len=function(){return this._len},r.prototype.setData=function(t){var e=t.length;!(this.data&&this.data.length===e)&&Sp&&(this.data=new Float32Array(e));for(var n=0;nf.length&&(this._expandData(),f=this.data);for(var c=0;c0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},r.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},r.prototype.getBoundingRect=function(){Sn[0]=Sn[1]=xn[0]=xn[1]=Number.MAX_VALUE,Di[0]=Di[1]=bn[0]=bn[1]=-Number.MAX_VALUE;var t=this.data,e=0,n=0,i=0,a=0,o;for(o=0;on||Kn(_)>i||h===e-1)&&(p=Math.sqrt(m*m+_*_),a=g,o=y);break}case qt.C:{var S=t[h++],x=t[h++],g=t[h++],y=t[h++],b=t[h++],w=t[h++];p=j5(a,o,S,x,g,y,b,w,10),a=b,o=w;break}case qt.Q:{var S=t[h++],x=t[h++],g=t[h++],y=t[h++];p=Q5(a,o,S,x,g,y,10),a=g,o=y;break}case qt.A:var T=t[h++],A=t[h++],C=t[h++],D=t[h++],I=t[h++],L=t[h++],P=L+I;h+=1,d&&(s=Ia(I)*C+T,l=La(I)*D+A),p=_p(C,D)*mp(Bi,Math.abs(L)),a=Ia(P)*C+T,o=La(P)*D+A;break;case qt.R:{s=a=t[h++],l=o=t[h++];var E=t[h++],O=t[h++];p=E*2+O*2;break}case qt.Z:{var m=s-a,_=l-o;p=Math.sqrt(m*m+_*_),a=s,o=l;break}}p>=0&&(u[c++]=p,f+=p)}return this._pathLen=f,f},r.prototype.rebuildPath=function(t,e){var n=this.data,i=this._ux,a=this._uy,o=this._len,s,l,u,f,c,h,v=e<1,d,p,g=0,y=0,m,_=0,S,x;if(!(v&&(this._pathSegLen||this._calculateLength(),d=this._pathSegLen,p=this._pathLen,m=e*p,!m)))t:for(var b=0;b0&&(t.lineTo(S,x),_=0),w){case qt.M:s=u=n[b++],l=f=n[b++],t.moveTo(u,f);break;case qt.L:{c=n[b++],h=n[b++];var A=Kn(c-u),C=Kn(h-f);if(A>i||C>a){if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;t.lineTo(u*(1-I)+c*I,f*(1-I)+h*I);break t}g+=D}t.lineTo(c,h),u=c,f=h,_=0}else{var L=A*A+C*C;L>_&&(S=c,x=h,_=L)}break}case qt.C:{var P=n[b++],E=n[b++],O=n[b++],V=n[b++],N=n[b++],z=n[b++];if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;aa(u,P,O,N,I,Ma),aa(f,E,V,z,I,Da),t.bezierCurveTo(Ma[1],Da[1],Ma[2],Da[2],Ma[3],Da[3]);break t}g+=D}t.bezierCurveTo(P,E,O,V,N,z),u=N,f=z;break}case qt.Q:{var P=n[b++],E=n[b++],O=n[b++],V=n[b++];if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;zu(u,P,O,I,Ma),zu(f,E,V,I,Da),t.quadraticCurveTo(Ma[1],Da[1],Ma[2],Da[2]);break t}g+=D}t.quadraticCurveTo(P,E,O,V),u=O,f=V;break}case qt.A:var $=n[b++],q=n[b++],Q=n[b++],ct=n[b++],ht=n[b++],gt=n[b++],Et=n[b++],U=!n[b++],K=Q>ct?Q:ct,H=Kn(Q-ct)>.001,tt=ht+gt,j=!1;if(v){var D=d[y++];g+D>m&&(tt=ht+gt*(m-g)/D,j=!0),g+=D}if(H&&t.ellipse?t.ellipse($,q,Q,ct,Et,ht,tt,U):t.arc($,q,K,ht,tt,U),j)break t;T&&(s=Ia(ht)*Q+$,l=La(ht)*ct+q),u=Ia(tt)*Q+$,f=La(tt)*ct+q;break;case qt.R:s=u=n[b],l=f=n[b+1],c=n[b++],h=n[b++];var lt=n[b++],R=n[b++];if(v){var D=d[y++];if(g+D>m){var k=m-g;t.moveTo(c,h),t.lineTo(c+mp(k,lt),h),k-=lt,k>0&&t.lineTo(c+lt,h+mp(k,R)),k-=R,k>0&&t.lineTo(c+_p(lt-k,0),h+R),k-=lt,k>0&&t.lineTo(c,h+_p(R-k,0));break t}g+=D}t.rect(c,h,lt,R);break;case qt.Z:if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;t.lineTo(u*(1-I)+s*I,f*(1-I)+l*I);break t}g+=D}t.closePath(),u=s,f=l}}},r.prototype.clone=function(){var t=new r,e=this.data;return t.data=e.slice?e.slice():Array.prototype.slice.call(e),t._len=this._len,t},r.CMD=qt,r.initDefaultProps=function(){var t=r.prototype;t._saveData=!0,t._ux=0,t._uy=0,t._pendingPtDist=0,t._version=0}(),r}();function Hi(r,t,e,n,i,a,o){if(i===0)return!1;var s=i,l=0,u=r;if(o>t+s&&o>n+s||or+s&&a>e+s||at+c&&f>n+c&&f>a+c&&f>s+c||fr+c&&u>e+c&&u>i+c&&u>o+c||ut+u&&l>n+u&&l>a+u||lr+u&&s>e+u&&s>i+u||se||f+ui&&(i+=Tl);var h=Math.atan2(l,s);return h<0&&(h+=Tl),h>=n&&h<=i||h+Tl>=n&&h+Tl<=i}function ei(r,t,e,n,i,a){if(a>t&&a>n||ai?s:0}var Ii=Un.CMD,Pa=Math.PI*2,GF=1e-4;function FF(r,t){return Math.abs(r-t)t&&u>n&&u>a&&u>s||u1&&HF(),v=Ae(t,n,a,s,Vr[0]),h>1&&(d=Ae(t,n,a,s,Vr[1]))),h===2?gt&&s>n&&s>a||s=0&&u<=1){for(var f=0,c=Le(t,n,a,u),h=0;he||s<-e)return 0;var l=Math.sqrt(e*e-s*s);rr[0]=-l,rr[1]=l;var u=Math.abs(n-i);if(u<1e-4)return 0;if(u>=Pa-1e-4){n=0,i=Pa;var f=a?1:-1;return o>=rr[0]+r&&o<=rr[1]+r?f:0}if(n>i){var c=n;n=i,i=c}n<0&&(n+=Pa,i+=Pa);for(var h=0,v=0;v<2;v++){var d=rr[v];if(d+r>o){var p=Math.atan2(s,d),f=a?1:-1;p<0&&(p=Pa+p),(p>=n&&p<=i||p+Pa>=n&&p+Pa<=i)&&(p>Math.PI/2&&p1&&(e||(s+=ei(l,u,f,c,n,i))),g&&(l=a[d],u=a[d+1],f=l,c=u),p){case Ii.M:f=a[d++],c=a[d++],l=f,u=c;break;case Ii.L:if(e){if(Hi(l,u,a[d],a[d+1],t,n,i))return!0}else s+=ei(l,u,a[d],a[d+1],n,i)||0;l=a[d++],u=a[d++];break;case Ii.C:if(e){if(BF(l,u,a[d++],a[d++],a[d++],a[d++],a[d],a[d+1],t,n,i))return!0}else s+=WF(l,u,a[d++],a[d++],a[d++],a[d++],a[d],a[d+1],n,i)||0;l=a[d++],u=a[d++];break;case Ii.Q:if(e){if(FL(l,u,a[d++],a[d++],a[d],a[d+1],t,n,i))return!0}else s+=$F(l,u,a[d++],a[d++],a[d],a[d+1],n,i)||0;l=a[d++],u=a[d++];break;case Ii.A:var y=a[d++],m=a[d++],_=a[d++],S=a[d++],x=a[d++],b=a[d++];d+=1;var w=!!(1-a[d++]);h=Math.cos(x)*_+y,v=Math.sin(x)*S+m,g?(f=h,c=v):s+=ei(l,u,h,v,n,i);var T=(n-y)*S/_+y;if(e){if(zF(y,m,S,x,x+b,w,t,T,i))return!0}else s+=UF(y,m,S,x,x+b,w,T,i);l=Math.cos(x+b)*_+y,u=Math.sin(x+b)*S+m;break;case Ii.R:f=l=a[d++],c=u=a[d++];var A=a[d++],C=a[d++];if(h=f+A,v=c+C,e){if(Hi(f,c,h,c,t,n,i)||Hi(h,c,h,v,t,n,i)||Hi(h,v,f,v,t,n,i)||Hi(f,v,f,c,t,n,i))return!0}else s+=ei(h,c,h,v,n,i),s+=ei(f,v,f,c,n,i);break;case Ii.Z:if(e){if(Hi(l,u,f,c,t,n,i))return!0}else s+=ei(l,u,f,c,n,i);l=f,u=c;break}}return!e&&!FF(u,c)&&(s+=ei(l,u,f,c,n,i)||0),s!==0}function YF(r,t,e){return HL(r,0,!1,t,e)}function ZF(r,t,e,n){return HL(r,t,!0,e,n)}var Fh=pt({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},yo),XF={style:pt({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Jv.style)},bp=Wn.concat(["invisible","culling","z","z2","zlevel","parent"]),qF=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.update=function(){var e=this;r.prototype.update.call(this);var n=this.style;if(n.decal){var i=this._decalEl=this._decalEl||new t;i.buildPath===t.prototype.buildPath&&(i.buildPath=function(l){e.buildPath(l,e.shape)}),i.silent=!0;var a=i.style;for(var o in n)a[o]!==n[o]&&(a[o]=n[o]);a.fill=n.fill?n.decal:null,a.decal=null,a.shadowColor=null,n.strokeFirst&&(a.stroke=null);for(var s=0;s.5?Qy:n>.2?LG:tm}else if(e)return tm}return Qy},t.prototype.getInsideTextStroke=function(e){var n=this.style.fill;if(nt(n)){var i=this.__zr,a=!!(i&&i.isDarkMode()),o=Vh(e,0)0))},t.prototype.hasFill=function(){var e=this.style,n=e.fill;return n!=null&&n!=="none"},t.prototype.getBoundingRect=function(){var e=this._rect,n=this.style,i=!e;if(i){var a=!1;this.path||(a=!0,this.createPathProxy());var o=this.path;(a||this.__dirty&vs)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),e=o.getBoundingRect()}if(this._rect=e,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=e.clone());if(this.__dirty||i){s.copy(e);var l=n.strokeNoScale?this.getLineScale():1,u=n.lineWidth;if(!this.hasFill()){var f=this.strokeContainThreshold;u=Math.max(u,f==null?4:f)}l>1e-10&&(s.width+=u/l,s.height+=u/l,s.x-=u/l/2,s.y-=u/l/2)}return s}return e},t.prototype.contain=function(e,n){var i=this.transformCoordToLocal(e,n),a=this.getBoundingRect(),o=this.style;if(e=i[0],n=i[1],a.contain(e,n)){var s=this.path;if(this.hasStroke()){var l=o.lineWidth,u=o.strokeNoScale?this.getLineScale():1;if(u>1e-10&&(this.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),ZF(s,l/u,e,n)))return!0}if(this.hasFill())return YF(s,e,n)}return!1},t.prototype.dirtyShape=function(){this.__dirty|=vs,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},t.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},t.prototype.animateShape=function(e){return this.animate("shape",e)},t.prototype.updateDuringAnimation=function(e){e==="style"?this.dirtyStyle():e==="shape"?this.dirtyShape():this.markRedraw()},t.prototype.attrKV=function(e,n){e==="shape"?this.setShape(n):r.prototype.attrKV.call(this,e,n)},t.prototype.setShape=function(e,n){var i=this.shape;return i||(i=this.shape={}),typeof e=="string"?i[e]=n:F(i,e),this.dirtyShape(),this},t.prototype.shapeChanged=function(){return!!(this.__dirty&vs)},t.prototype.createStyle=function(e){return Yv(Fh,e)},t.prototype._innerSaveToNormal=function(e){r.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=F({},this.shape))},t.prototype._applyStateObj=function(e,n,i,a,o,s){r.prototype._applyStateObj.call(this,e,n,i,a,o,s);var l=!(n&&a),u;if(n&&n.shape?o?a?u=n.shape:(u=F({},i.shape),F(u,n.shape)):(u=F({},a?this.shape:i.shape),F(u,n.shape)):l&&(u=i.shape),u)if(o){this.shape=F({},this.shape);for(var f={},c=kt(u),h=0;h0},t.prototype.hasFill=function(){var e=this.style,n=e.fill;return n!=null&&n!=="none"},t.prototype.createStyle=function(e){return Yv(KF,e)},t.prototype.setBoundingRect=function(e){this._rect=e},t.prototype.getBoundingRect=function(){var e=this.style;if(!this._rect){var n=e.text;n!=null?n+="":n="";var i=_f(n,e.font,e.textAlign,e.textBaseline);if(i.x+=e.x||0,i.y+=e.y||0,this.hasStroke()){var a=e.lineWidth;i.x-=a/2,i.y-=a/2,i.width+=a,i.height+=a}this._rect=i}return this._rect},t.initDefaultProps=function(){var e=t.prototype;e.dirtyRectTolerance=10}(),t}(Yr);WL.prototype.type="tspan";const $u=WL;var jF=pt({x:0,y:0},yo),JF={style:pt({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Jv.style)};function QF(r){return!!(r&&typeof r!="string"&&r.width&&r.height)}var $L=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.createStyle=function(e){return Yv(jF,e)},t.prototype._getSize=function(e){var n=this.style,i=n[e];if(i!=null)return i;var a=QF(n.image)?n.image:this.__image;if(!a)return 0;var o=e==="width"?"height":"width",s=n[o];return s==null?a[e]:a[e]/a[o]*s},t.prototype.getWidth=function(){return this._getSize("width")},t.prototype.getHeight=function(){return this._getSize("height")},t.prototype.getAnimationStyleProps=function(){return JF},t.prototype.getBoundingRect=function(){var e=this.style;return this._rect||(this._rect=new Mt(e.x||0,e.y||0,this.getWidth(),this.getHeight())),this._rect},t}(Yr);$L.prototype.type="image";const He=$L;function t3(r,t){var e=t.x,n=t.y,i=t.width,a=t.height,o=t.r,s,l,u,f;i<0&&(e=e+i,i=-i),a<0&&(n=n+a,a=-a),typeof o=="number"?s=l=u=f=o:o instanceof Array?o.length===1?s=l=u=f=o[0]:o.length===2?(s=u=o[0],l=f=o[1]):o.length===3?(s=o[0],l=f=o[1],u=o[2]):(s=o[0],l=o[1],u=o[2],f=o[3]):s=l=u=f=0;var c;s+l>i&&(c=s+l,s*=i/c,l*=i/c),u+f>i&&(c=u+f,u*=i/c,f*=i/c),l+u>a&&(c=l+u,l*=a/c,u*=a/c),s+f>a&&(c=s+f,s*=a/c,f*=a/c),r.moveTo(e+s,n),r.lineTo(e+i-l,n),l!==0&&r.arc(e+i-l,n+l,l,-Math.PI/2,0),r.lineTo(e+i,n+a-u),u!==0&&r.arc(e+i-u,n+a-u,u,0,Math.PI/2),r.lineTo(e+f,n+a),f!==0&&r.arc(e+f,n+a-f,f,Math.PI/2,Math.PI),r.lineTo(e,n+s),s!==0&&r.arc(e+s,n+s,s,Math.PI,Math.PI*1.5)}var _s=Math.round;function UL(r,t,e){if(t){var n=t.x1,i=t.x2,a=t.y1,o=t.y2;r.x1=n,r.x2=i,r.y1=a,r.y2=o;var s=e&&e.lineWidth;return s&&(_s(n*2)===_s(i*2)&&(r.x1=r.x2=io(n,s,!0)),_s(a*2)===_s(o*2)&&(r.y1=r.y2=io(a,s,!0))),r}}function YL(r,t,e){if(t){var n=t.x,i=t.y,a=t.width,o=t.height;r.x=n,r.y=i,r.width=a,r.height=o;var s=e&&e.lineWidth;return s&&(r.x=io(n,s,!0),r.y=io(i,s,!0),r.width=Math.max(io(n+a,s,!1)-r.x,a===0?0:1),r.height=Math.max(io(i+o,s,!1)-r.y,o===0?0:1)),r}}function io(r,t,e){if(!t)return r;var n=_s(r*2);return(n+_s(t))%2===0?n/2:(n+(e?1:-1))/2}var e3=function(){function r(){this.x=0,this.y=0,this.width=0,this.height=0}return r}(),r3={},ZL=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new e3},t.prototype.buildPath=function(e,n){var i,a,o,s;if(this.subPixelOptimize){var l=YL(r3,n,this.style);i=l.x,a=l.y,o=l.width,s=l.height,l.r=n.r,n=l}else i=n.x,a=n.y,o=n.width,s=n.height;n.r?t3(e,n):e.rect(i,a,o,s)},t.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},t}(Pt);ZL.prototype.type="rect";const Vt=ZL;var rb={fill:"#000"},nb=2,n3={style:pt({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},Jv.style)},XL=function(r){B(t,r);function t(e){var n=r.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=rb,n.attr(e),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.update=function(){r.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;e0,I=e.width!=null&&(e.overflow==="truncate"||e.overflow==="break"||e.overflow==="breakAll"),L=o.calculatedLineHeight,P=0;P=0&&(P=b[L],P.align==="right");)this._placeToken(P,e,T,y,I,"right",_),A-=P.width,I-=P.width,L--;for(D+=(a-(D-g)-(m-I)-A)/2;C<=L;)P=b[C],this._placeToken(P,e,T,y,D+P.width/2,"center",_),D+=P.width,C++;y+=T}},t.prototype._placeToken=function(e,n,i,a,o,s,l){var u=n.rich[e.styleName]||{};u.text=e.text;var f=e.verticalAlign,c=a+i/2;f==="top"?c=a+e.height/2:f==="bottom"&&(c=a+i-e.height/2);var h=!e.isLineHolder&&wp(u);h&&this._renderBackground(u,n,s==="right"?o-e.width:s==="center"?o-e.width/2:o,c-e.height/2,e.width,e.height);var v=!!u.backgroundColor,d=e.textPadding;d&&(o=ub(o,s,d),c-=e.height/2-d[0]-e.innerHeight/2);var p=this._getOrCreateChild($u),g=p.createStyle();p.useStyle(g);var y=this._defaultStyle,m=!1,_=0,S=lb("fill"in u?u.fill:"fill"in n?n.fill:(m=!0,y.fill)),x=sb("stroke"in u?u.stroke:"stroke"in n?n.stroke:!v&&!l&&(!y.autoStroke||m)?(_=nb,y.stroke):null),b=u.textShadowBlur>0||n.textShadowBlur>0;g.text=e.text,g.x=o,g.y=c,b&&(g.shadowBlur=u.textShadowBlur||n.textShadowBlur||0,g.shadowColor=u.textShadowColor||n.textShadowColor||"transparent",g.shadowOffsetX=u.textShadowOffsetX||n.textShadowOffsetX||0,g.shadowOffsetY=u.textShadowOffsetY||n.textShadowOffsetY||0),g.textAlign=s,g.textBaseline="middle",g.font=e.font||na,g.opacity=Bn(u.opacity,n.opacity,1),ab(g,u),x&&(g.lineWidth=Bn(u.lineWidth,n.lineWidth,_),g.lineDash=xt(u.lineDash,n.lineDash),g.lineDashOffset=n.lineDashOffset||0,g.stroke=x),S&&(g.fill=S);var w=e.contentWidth,T=e.contentHeight;p.setBoundingRect(new Mt(Kl(g.x,w,g.textAlign),ds(g.y,T,g.textBaseline),w,T))},t.prototype._renderBackground=function(e,n,i,a,o,s){var l=e.backgroundColor,u=e.borderWidth,f=e.borderColor,c=l&&l.image,h=l&&!c,v=e.borderRadius,d=this,p,g;if(h||e.lineHeight||u&&f){p=this._getOrCreateChild(Vt),p.useStyle(p.createStyle()),p.style.fill=null;var y=p.shape;y.x=i,y.y=a,y.width=o,y.height=s,y.r=v,p.dirtyShape()}if(h){var m=p.style;m.fill=l||null,m.fillOpacity=xt(e.fillOpacity,1)}else if(c){g=this._getOrCreateChild(He),g.onload=function(){d.dirtyStyle()};var _=g.style;_.image=l.image,_.x=i,_.y=a,_.width=o,_.height=s}if(u&&f){var m=p.style;m.lineWidth=u,m.stroke=f,m.strokeOpacity=xt(e.strokeOpacity,1),m.lineDash=e.borderDash,m.lineDashOffset=e.borderDashOffset||0,p.strokeContainThreshold=0,p.hasFill()&&p.hasStroke()&&(m.strokeFirst=!0,m.lineWidth*=2)}var S=(p||g).style;S.shadowBlur=e.shadowBlur||0,S.shadowColor=e.shadowColor||"transparent",S.shadowOffsetX=e.shadowOffsetX||0,S.shadowOffsetY=e.shadowOffsetY||0,S.opacity=Bn(e.opacity,n.opacity,1)},t.makeFont=function(e){var n="";return KL(e)&&(n=[e.fontStyle,e.fontWeight,qL(e.fontSize),e.fontFamily||"sans-serif"].join(" ")),n&&an(n)||e.textFont||e.font},t}(Yr),i3={left:!0,right:1,center:1},a3={top:1,bottom:1,middle:1},ib=["fontStyle","fontWeight","fontSize","fontFamily"];function qL(r){return typeof r=="string"&&(r.indexOf("px")!==-1||r.indexOf("rem")!==-1||r.indexOf("em")!==-1)?r:isNaN(+r)?U0+"px":r+"px"}function ab(r,t){for(var e=0;e=0,a=!1;if(r instanceof Pt){var o=jL(r),s=i&&o.selectFill||o.normalFill,l=i&&o.selectStroke||o.normalStroke;if(Zo(s)||Zo(l)){n=n||{};var u=n.style||{};u.fill==="inherit"?(a=!0,n=F({},n),u=F({},u),u.fill=s):!Zo(u.fill)&&Zo(s)?(a=!0,n=F({},n),u=F({},u),u.fill=Uy(s)):!Zo(u.stroke)&&Zo(l)&&(a||(n=F({},n),u=F({},u)),u.stroke=Uy(l)),n.style=u}}if(n&&n.z2==null){a||(n=F({},n));var f=r.z2EmphasisLift;n.z2=r.z2+(f!=null?f:Qs)}return n}function h3(r,t,e){if(e&&e.z2==null){e=F({},e);var n=r.z2SelectLift;e.z2=r.z2+(n!=null?n:s3)}return e}function v3(r,t,e){var n=Dt(r.currentStates,t)>=0,i=r.style.opacity,a=n?null:f3(r,["opacity"],t,{opacity:1});e=e||{};var o=e.style||{};return o.opacity==null&&(e=F({},e),o=F({opacity:n?i:a.opacity*.1},o),e.style=o),e}function Tp(r,t){var e=this.states[r];if(this.style){if(r==="emphasis")return c3(this,r,t,e);if(r==="blur")return v3(this,r,e);if(r==="select")return h3(this,r,e)}return e}function Do(r){r.stateProxy=Tp;var t=r.getTextContent(),e=r.getTextGuideLine();t&&(t.stateProxy=Tp),e&&(e.stateProxy=Tp)}function db(r,t){!iP(r,t)&&!r.__highByOuter&&Ti(r,JL)}function pb(r,t){!iP(r,t)&&!r.__highByOuter&&Ti(r,QL)}function mi(r,t){r.__highByOuter|=1<<(t||0),Ti(r,JL)}function _i(r,t){!(r.__highByOuter&=~(1<<(t||0)))&&Ti(r,QL)}function eP(r){Ti(r,v_)}function d_(r){Ti(r,tP)}function rP(r){Ti(r,l3)}function nP(r){Ti(r,u3)}function iP(r,t){return r.__highDownSilentOnTouch&&t.zrByTouch}function aP(r){var t=r.getModel(),e=[],n=[];t.eachComponent(function(i,a){var o=c_(a),s=i==="series",l=s?r.getViewOfSeriesModel(a):r.getViewOfComponentModel(a);!s&&n.push(l),o.isBlured&&(l.group.traverse(function(u){tP(u)}),s&&e.push(a)),o.isBlured=!1}),M(n,function(i){i&&i.toggleBlurSeries&&i.toggleBlurSeries(e,!1,t)})}function sm(r,t,e,n){var i=n.getModel();e=e||"coordinateSystem";function a(u,f){for(var c=0;c0){var s={dataIndex:o,seriesIndex:e.seriesIndex};a!=null&&(s.dataType=a),t.push(s)}})}),t}function _o(r,t,e){ao(r,!0),Ti(r,Do),um(r,t,e)}function _3(r){ao(r,!1)}function ue(r,t,e,n){n?_3(r):_o(r,t,e)}function um(r,t,e){var n=St(r);t!=null?(n.focus=t,n.blurScope=e):n.focus&&(n.focus=null)}var yb=["emphasis","blur","select"],S3={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Ge(r,t,e,n){e=e||"itemStyle";for(var i=0;i1&&(o*=Ap(d),s*=Ap(d));var p=(i===a?-1:1)*Ap((o*o*(s*s)-o*o*(v*v)-s*s*(h*h))/(o*o*(v*v)+s*s*(h*h)))||0,g=p*o*v/s,y=p*-s*h/o,m=(r+e)/2+nc(c)*g-rc(c)*y,_=(t+n)/2+rc(c)*g+nc(c)*y,S=xb([1,0],[(h-g)/o,(v-y)/s]),x=[(h-g)/o,(v-y)/s],b=[(-1*h-g)/o,(-1*v-y)/s],w=xb(x,b);if(cm(x,b)<=-1&&(w=Al),cm(x,b)>=1&&(w=0),w<0){var T=Math.round(w/Al*1e6)/1e6;w=Al*2+T%2*Al}f.addData(u,m,_,o,s,S,w,c,a)}var C3=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,M3=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function D3(r){var t=new Un;if(!r)return t;var e=0,n=0,i=e,a=n,o,s=Un.CMD,l=r.match(C3);if(!l)return t;for(var u=0;uP*P+E*E&&(T=C,A=D),{cx:T,cy:A,x0:-f,y0:-c,x1:T*(i/x-1),y1:A*(i/x-1)}}function O3(r){var t;if(Y(r)){var e=r.length;if(!e)return r;e===1?t=[r[0],r[0],0,0]:e===2?t=[r[0],r[0],r[1],r[1]]:e===3?t=r.concat(r[2]):t=r}else t=[r,r,r,r];return t}function N3(r,t){var e,n=jl(t.r,0),i=jl(t.r0||0,0),a=n>0,o=i>0;if(!(!a&&!o)){if(a||(n=i,i=0),i>n){var s=n;n=i,i=s}var l=t.startAngle,u=t.endAngle;if(!(isNaN(l)||isNaN(u))){var f=t.cx,c=t.cy,h=!!t.clockwise,v=wb(u-l),d=v>Cp&&v%Cp;if(d>Qr&&(v=d),!(n>Qr))r.moveTo(f,c);else if(v>Cp-Qr)r.moveTo(f+n*qo(l),c+n*Ra(l)),r.arc(f,c,n,l,u,!h),i>Qr&&(r.moveTo(f+i*qo(u),c+i*Ra(u)),r.arc(f,c,i,u,l,h));else{var p=void 0,g=void 0,y=void 0,m=void 0,_=void 0,S=void 0,x=void 0,b=void 0,w=void 0,T=void 0,A=void 0,C=void 0,D=void 0,I=void 0,L=void 0,P=void 0,E=n*qo(l),O=n*Ra(l),V=i*qo(u),N=i*Ra(u),z=v>Qr;if(z){var $=t.cornerRadius;$&&(e=O3($),p=e[0],g=e[1],y=e[2],m=e[3]);var q=wb(n-i)/2;if(_=wn(q,y),S=wn(q,m),x=wn(q,p),b=wn(q,g),A=w=jl(_,S),C=T=jl(x,b),(w>Qr||T>Qr)&&(D=n*qo(u),I=n*Ra(u),L=i*qo(l),P=i*Ra(l),vQr){var H=wn(y,A),tt=wn(m,A),j=ic(L,P,E,O,n,H,h),lt=ic(D,I,V,N,n,tt,h);r.moveTo(f+j.cx+j.x0,c+j.cy+j.y0),A0&&r.arc(f+j.cx,c+j.cy,H,We(j.y0,j.x0),We(j.y1,j.x1),!h),r.arc(f,c,n,We(j.cy+j.y1,j.cx+j.x1),We(lt.cy+lt.y1,lt.cx+lt.x1),!h),tt>0&&r.arc(f+lt.cx,c+lt.cy,tt,We(lt.y1,lt.x1),We(lt.y0,lt.x0),!h))}else r.moveTo(f+E,c+O),r.arc(f,c,n,l,u,!h);if(!(i>Qr)||!z)r.lineTo(f+V,c+N);else if(C>Qr){var H=wn(p,C),tt=wn(g,C),j=ic(V,N,D,I,i,-tt,h),lt=ic(E,O,L,P,i,-H,h);r.lineTo(f+j.cx+j.x0,c+j.cy+j.y0),C0&&r.arc(f+j.cx,c+j.cy,tt,We(j.y0,j.x0),We(j.y1,j.x1),!h),r.arc(f,c,i,We(j.cy+j.y1,j.cx+j.x1),We(lt.cy+lt.y1,lt.cx+lt.x1),h),H>0&&r.arc(f+lt.cx,c+lt.cy,H,We(lt.y1,lt.x1),We(lt.y0,lt.x0),!h))}else r.lineTo(f+V,c+N),r.arc(f,c,i,u,l,h)}r.closePath()}}}var V3=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return r}(),dP=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new V3},t.prototype.buildPath=function(e,n){N3(e,n)},t.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},t}(Pt);dP.prototype.type="sector";const gr=dP;var B3=function(){function r(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return r}(),pP=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new B3},t.prototype.buildPath=function(e,n){var i=n.cx,a=n.cy,o=Math.PI*2;e.moveTo(i+n.r,a),e.arc(i,a,n.r,0,o,!1),e.moveTo(i+n.r0,a),e.arc(i,a,n.r0,0,o,!0)},t}(Pt);pP.prototype.type="ring";const rd=pP;function z3(r,t,e,n){var i=[],a=[],o=[],s=[],l,u,f,c;if(n){f=[1/0,1/0],c=[-1/0,-1/0];for(var h=0,v=r.length;h=2){if(n){var a=z3(i,n,e,t.smoothConstraint);r.moveTo(i[0][0],i[0][1]);for(var o=i.length,s=0;s<(e?o:o-1);s++){var l=a[s*2],u=a[s*2+1],f=i[(s+1)%o];r.bezierCurveTo(l[0],l[1],u[0],u[1],f[0],f[1])}}else{r.moveTo(i[0][0],i[0][1]);for(var s=1,c=i.length;ska[1]){if(s=!1,a)return s;var f=Math.abs(ka[0]-Ea[1]),c=Math.abs(Ea[0]-ka[1]);Math.min(f,c)>i.len()&&(f0){var c=f.duration,h=f.delay,v=f.easing,d={duration:c,delay:h||0,easing:v,done:a,force:!!a||!!o,setToFinal:!u,scope:r,during:o};s?t.animateFrom(e,d):t.animateTo(e,d)}else t.stopAnimation(),!s&&t.attr(e),o&&o(1),a&&a()}function Ht(r,t,e,n,i,a){S_("update",r,t,e,n,i,a)}function ae(r,t,e,n,i,a){S_("enter",r,t,e,n,i,a)}function Is(r){if(!r.__zr)return!0;for(var t=0;tMath.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Cb(r){return!r.isGroup}function aH(r){return r.shape!=null}function wf(r,t,e){if(!r||!t)return;function n(o){var s={};return o.traverse(function(l){Cb(l)&&l.anid&&(s[l.anid]=l)}),s}function i(o){var s={x:o.x,y:o.y,rotation:o.rotation};return aH(o)&&(s.shape=F({},o.shape)),s}var a=n(r);t.traverse(function(o){if(Cb(o)&&o.anid){var s=a[o.anid];if(s){var l=i(o);o.attr(i(s)),Ht(o,l,e,St(o).dataIndex)}}})}function DP(r,t){return Z(r,function(e){var n=e[0];n=$h(n,t.x),n=Uh(n,t.x+t.width);var i=e[1];return i=$h(i,t.y),i=Uh(i,t.y+t.height),[n,i]})}function oH(r,t){var e=$h(r.x,t.x),n=Uh(r.x+r.width,t.x+t.width),i=$h(r.y,t.y),a=Uh(r.y+r.height,t.y+t.height);if(n>=e&&a>=i)return{x:e,y:i,width:n-e,height:a-i}}function Tf(r,t,e){var n=F({rectHover:!0},t),i=n.style={strokeNoScale:!0};if(e=e||{x:-1,y:-1,width:2,height:2},r)return r.indexOf("image://")===0?(i.image=r.slice(8),pt(i,e),new He(n)):id(r.replace("path://",""),n,e,"center")}function Jl(r,t,e,n,i){for(var a=0,o=i[i.length-1];a1)return!1;var g=Mp(v,d,f,c)/h;return!(g<0||g>1)}function Mp(r,t,e,n){return r*n-e*t}function sH(r){return r<=1e-6&&r>=-1e-6}function ko(r){var t=r.itemTooltipOption,e=r.componentModel,n=r.itemName,i=nt(t)?{formatter:t}:t,a=e.mainType,o=e.componentIndex,s={componentType:a,name:n,$vars:["name"]};s[a+"Index"]=o;var l=r.formatterParamsExtra;l&&M(kt(l),function(f){st(s,f)||(s[f]=l[f],s.$vars.push(f))});var u=St(r.el);u.componentMainType=a,u.componentIndex=o,u.tooltipConfig={name:n,option:pt({content:n,encodeHTMLContent:!0,formatterParams:s},i)}}function Mb(r,t){var e;r.isGroup&&(e=t(r)),e||r.traverse(t)}function pa(r,t){if(r)if(Y(r))for(var e=0;e=0&&s.push(l)}),s}}function ga(r,t){return Tt(Tt({},r,!0),t,!0)}const SH={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},xH={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var Zh="ZH",w_="EN",Ls=w_,ch={},T_={},OP=zt.domSupported?function(){var r=(document.documentElement.lang||navigator.language||navigator.browserLanguage||Ls).toUpperCase();return r.indexOf(Zh)>-1?Zh:Ls}():Ls;function NP(r,t){r=r.toUpperCase(),T_[r]=new te(t),ch[r]=t}function bH(r){if(nt(r)){var t=ch[r.toUpperCase()]||{};return r===Zh||r===w_?mt(t):Tt(mt(t),mt(ch[Ls]),!1)}else return Tt(mt(r),mt(ch[Ls]),!1)}function dm(r){return T_[r]}function wH(){return T_[Ls]}NP(w_,SH);NP(Zh,xH);var A_=1e3,C_=A_*60,wu=C_*60,Wr=wu*24,Rb=Wr*365,Ql={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},sc="{yyyy}-{MM}-{dd}",Eb={year:"{yyyy}",month:"{yyyy}-{MM}",day:sc,hour:sc+" "+Ql.hour,minute:sc+" "+Ql.minute,second:sc+" "+Ql.second,millisecond:Ql.none},Lp=["year","month","day","hour","minute","second","millisecond"],VP=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function Li(r,t){return r+="","0000".substr(0,t-r.length)+r}function Ps(r){switch(r){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return r}}function TH(r){return r===Ps(r)}function AH(r){switch(r){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function sd(r,t,e,n){var i=$n(r),a=i[M_(e)](),o=i[Rs(e)]()+1,s=Math.floor((o-1)/3)+1,l=i[ld(e)](),u=i["get"+(e?"UTC":"")+"Day"](),f=i[Xu(e)](),c=(f-1)%12+1,h=i[ud(e)](),v=i[fd(e)](),d=i[cd(e)](),p=f>=12?"pm":"am",g=p.toUpperCase(),y=n instanceof te?n:dm(n||OP)||wH(),m=y.getModel("time"),_=m.get("month"),S=m.get("monthAbbr"),x=m.get("dayOfWeek"),b=m.get("dayOfWeekAbbr");return(t||"").replace(/{a}/g,p+"").replace(/{A}/g,g+"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,Li(a%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,_[o-1]).replace(/{MMM}/g,S[o-1]).replace(/{MM}/g,Li(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,Li(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,x[u]).replace(/{ee}/g,b[u]).replace(/{e}/g,u+"").replace(/{HH}/g,Li(f,2)).replace(/{H}/g,f+"").replace(/{hh}/g,Li(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,Li(h,2)).replace(/{m}/g,h+"").replace(/{ss}/g,Li(v,2)).replace(/{s}/g,v+"").replace(/{SSS}/g,Li(d,3)).replace(/{S}/g,d+"")}function CH(r,t,e,n,i){var a=null;if(nt(e))a=e;else if(vt(e))a=e(r.value,t,{level:r.level});else{var o=F({},Ql);if(r.level>0)for(var s=0;s=0;--s)if(l[u]){a=l[u];break}a=a||o.none}if(Y(a)){var c=r.level==null?0:r.level>=0?r.level:a.length+r.level;c=Math.min(c,a.length-1),a=a[c]}}return sd(new Date(r.value),a,i,n)}function BP(r,t){var e=$n(r),n=e[Rs(t)]()+1,i=e[ld(t)](),a=e[Xu(t)](),o=e[ud(t)](),s=e[fd(t)](),l=e[cd(t)](),u=l===0,f=u&&s===0,c=f&&o===0,h=c&&a===0,v=h&&i===1,d=v&&n===1;return d?"year":v?"month":h?"day":c?"hour":f?"minute":u?"second":"millisecond"}function kb(r,t,e){var n=Ft(r)?$n(r):r;switch(t=t||BP(r,e),t){case"year":return n[M_(e)]();case"half-year":return n[Rs(e)]()>=6?1:0;case"quarter":return Math.floor((n[Rs(e)]()+1)/4);case"month":return n[Rs(e)]();case"day":return n[ld(e)]();case"half-day":return n[Xu(e)]()/24;case"hour":return n[Xu(e)]();case"minute":return n[ud(e)]();case"second":return n[fd(e)]();case"millisecond":return n[cd(e)]()}}function M_(r){return r?"getUTCFullYear":"getFullYear"}function Rs(r){return r?"getUTCMonth":"getMonth"}function ld(r){return r?"getUTCDate":"getDate"}function Xu(r){return r?"getUTCHours":"getHours"}function ud(r){return r?"getUTCMinutes":"getMinutes"}function fd(r){return r?"getUTCSeconds":"getSeconds"}function cd(r){return r?"getUTCMilliseconds":"getMilliseconds"}function MH(r){return r?"setUTCFullYear":"setFullYear"}function zP(r){return r?"setUTCMonth":"setMonth"}function GP(r){return r?"setUTCDate":"setDate"}function FP(r){return r?"setUTCHours":"setHours"}function HP(r){return r?"setUTCMinutes":"setMinutes"}function WP(r){return r?"setUTCSeconds":"setSeconds"}function $P(r){return r?"setUTCMilliseconds":"setMilliseconds"}function UP(r){if(!ML(r))return nt(r)?r:"-";var t=(r+"").split(".");return t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function YP(r,t){return r=(r||"").toLowerCase().replace(/-(.)/g,function(e,n){return n.toUpperCase()}),t&&r&&(r=r.charAt(0).toUpperCase()+r.slice(1)),r}var nl=j0;function pm(r,t,e){var n="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function i(f){return f&&an(f)?f:"-"}function a(f){return!!(f!=null&&!isNaN(f)&&isFinite(f))}var o=t==="time",s=r instanceof Date;if(o||s){var l=o?$n(r):r;if(isNaN(+l)){if(s)return"-"}else return sd(l,n,e)}if(t==="ordinal")return Ry(r)?i(r):Ft(r)&&a(r)?r+"":"-";var u=yi(r);return a(u)?UP(u):Ry(r)?i(r):typeof r=="boolean"?r+"":"-"}var Ob=["a","b","c","d","e","f","g"],Pp=function(r,t){return"{"+r+(t==null?"":t)+"}"};function ZP(r,t,e){Y(t)||(t=[t]);var n=t.length;if(!n)return"";for(var i=t[0].$vars||[],a=0;a':'';var o=e.markerId||"markerX";return{renderMode:a,content:"{"+o+"|} ",style:i==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:n}:{width:10,height:10,borderRadius:5,backgroundColor:n}}}function Io(r,t){return t=t||"transparent",nt(r)?r:yt(r)&&r.colorStops&&(r.colorStops[0]||{}).color||t}function Xh(r,t){if(t==="_blank"||t==="blank"){var e=window.open();e.opener=null,e.location.href=r}else window.open(r,t)}var hh=M,XP=["left","right","top","bottom","width","height"],oo=[["width","left","right"],["height","top","bottom"]];function D_(r,t,e,n,i){var a=0,o=0;n==null&&(n=1/0),i==null&&(i=1/0);var s=0;t.eachChild(function(l,u){var f=l.getBoundingRect(),c=t.childAt(u+1),h=c&&c.getBoundingRect(),v,d;if(r==="horizontal"){var p=f.width+(h?-h.x+f.x:0);v=a+p,v>n||l.newline?(a=0,v=p,o+=s+e,s=f.height):s=Math.max(s,f.height)}else{var g=f.height+(h?-h.y+f.y:0);d=o+g,d>i||l.newline?(a+=s+e,o=0,d=g,s=f.width):s=Math.max(s,f.width)}l.newline||(l.x=a,l.y=o,l.markRedraw(),r==="horizontal"?a=v+e:o=d+e)})}var xo=D_;bt(D_,"vertical");bt(D_,"horizontal");function LH(r,t,e){var n=t.width,i=t.height,a=et(r.left,n),o=et(r.top,i),s=et(r.right,n),l=et(r.bottom,i);return(isNaN(a)||isNaN(parseFloat(r.left)))&&(a=0),(isNaN(s)||isNaN(parseFloat(r.right)))&&(s=n),(isNaN(o)||isNaN(parseFloat(r.top)))&&(o=0),(isNaN(l)||isNaN(parseFloat(r.bottom)))&&(l=i),e=nl(e||0),{width:Math.max(s-a-e[1]-e[3],0),height:Math.max(l-o-e[0]-e[2],0)}}function be(r,t,e){e=nl(e||0);var n=t.width,i=t.height,a=et(r.left,n),o=et(r.top,i),s=et(r.right,n),l=et(r.bottom,i),u=et(r.width,n),f=et(r.height,i),c=e[2]+e[0],h=e[1]+e[3],v=r.aspect;switch(isNaN(u)&&(u=n-s-h-a),isNaN(f)&&(f=i-l-c-o),v!=null&&(isNaN(u)&&isNaN(f)&&(v>n/i?u=n*.8:f=i*.8),isNaN(u)&&(u=v*f),isNaN(f)&&(f=u/v)),isNaN(a)&&(a=n-s-u-h),isNaN(o)&&(o=i-l-f-c),r.left||r.right){case"center":a=n/2-u/2-e[3];break;case"right":a=n-u-h;break}switch(r.top||r.bottom){case"middle":case"center":o=i/2-f/2-e[0];break;case"bottom":o=i-f-c;break}a=a||0,o=o||0,isNaN(u)&&(u=n-h-a-(s||0)),isNaN(f)&&(f=i-c-o-(l||0));var d=new Mt(a+e[3],o+e[0],u,f);return d.margin=e,d}function hd(r,t,e,n,i,a){var o=!i||!i.hv||i.hv[0],s=!i||!i.hv||i.hv[1],l=i&&i.boundingMode||"all";if(a=a||r,a.x=r.x,a.y=r.y,!o&&!s)return!1;var u;if(l==="raw")u=r.type==="group"?new Mt(0,0,+t.width||0,+t.height||0):r.getBoundingRect();else if(u=r.getBoundingRect(),r.needLocalTransform()){var f=r.getLocalTransform();u=u.clone(),u.applyTransform(f)}var c=be(pt({width:u.width,height:u.height},t),e,n),h=o?c.x-u.x:0,v=s?c.y-u.y:0;return l==="raw"?(a.x=h,a.y=v):(a.x+=h,a.y+=v),a===r&&r.markRedraw(),!0}function PH(r,t){return r[oo[t][0]]!=null||r[oo[t][1]]!=null&&r[oo[t][2]]!=null}function qu(r){var t=r.layoutMode||r.constructor.layoutMode;return yt(t)?t:t?{type:t}:null}function sa(r,t,e){var n=e&&e.ignoreSize;!Y(n)&&(n=[n,n]);var i=o(oo[0],0),a=o(oo[1],1);u(oo[0],r,i),u(oo[1],r,a);function o(f,c){var h={},v=0,d={},p=0,g=2;if(hh(f,function(_){d[_]=r[_]}),hh(f,function(_){s(t,_)&&(h[_]=d[_]=t[_]),l(h,_)&&v++,l(d,_)&&p++}),n[c])return l(t,f[1])?d[f[2]]=null:l(t,f[2])&&(d[f[1]]=null),d;if(p===g||!v)return d;if(v>=g)return h;for(var y=0;y=0;l--)s=Tt(s,i[l],!0);n.defaultOption=s}return n.defaultOption},t.prototype.getReferringComponents=function(e,n){var i=e+"Index",a=e+"Id";return Sf(this.ecModel,e,{index:this.get(i,!0),id:this.get(a,!0)},n)},t.prototype.getBoxLayoutParams=function(){var e=this;return{left:e.get("left"),top:e.get("top"),right:e.get("right"),bottom:e.get("bottom"),width:e.get("width"),height:e.get("height")}},t.prototype.getZLevelKey=function(){return""},t.prototype.setZLevel=function(e){this.option.zlevel=e},t.protoInitialize=function(){var e=t.prototype;e.type="component",e.id="",e.name="",e.mainType="",e.subType="",e.componentIndex=0}(),t}(te);VL(al,te);Kv(al);mH(al);_H(al,EH);function EH(r){var t=[];return M(al.getClassesByMainType(r),function(e){t=t.concat(e.dependencies||e.prototype.dependencies||[])}),t=Z(t,function(e){return On(e).main}),r!=="dataset"&&Dt(t,"dataset")<=0&&t.unshift("dataset"),t}const Bt=al;var KP="";typeof navigator!="undefined"&&(KP=navigator.platform||"");var Ko="rgba(0, 0, 0, 0.2)";const kH={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Ko,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Ko,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Ko,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Ko,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Ko,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Ko,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:KP.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var jP=ft(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),Xr="original",je="arrayRows",qr="objectRows",Yn="keyedColumns",ta="typedArray",JP="unknown",zn="column",ol="row",Oe={Must:1,Might:2,Not:3},QP=Nt();function OH(r){QP(r).datasetMap=ft()}function t2(r,t,e){var n={},i=L_(t);if(!i||!r)return n;var a=[],o=[],s=t.ecModel,l=QP(s).datasetMap,u=i.uid+"_"+e.seriesLayoutBy,f,c;r=r.slice(),M(r,function(p,g){var y=yt(p)?p:r[g]={name:p};y.type==="ordinal"&&f==null&&(f=g,c=d(y)),n[y.name]=[]});var h=l.get(u)||l.set(u,{categoryWayDim:c,valueWayDim:0});M(r,function(p,g){var y=p.name,m=d(p);if(f==null){var _=h.valueWayDim;v(n[y],_,m),v(o,_,m),h.valueWayDim+=m}else if(f===g)v(n[y],0,m),v(a,0,m);else{var _=h.categoryWayDim;v(n[y],_,m),v(o,_,m),h.categoryWayDim+=m}});function v(p,g,y){for(var m=0;mt)return r[n];return r[e-1]}function n2(r,t,e,n,i,a,o){a=a||r;var s=t(a),l=s.paletteIdx||0,u=s.paletteNameMap=s.paletteNameMap||{};if(u.hasOwnProperty(i))return u[i];var f=o==null||!n?e:GH(n,o);if(f=f||e,!(!f||!f.length)){var c=f[l];return i&&(u[i]=c),s.paletteIdx=(l+1)%f.length,c}}function FH(r,t){t(r).paletteIdx=0,t(r).paletteNameMap={}}var lc,Cl,Vb,Bb="\0_ec_inner",HH=1,i2=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.init=function(e,n,i,a,o,s){a=a||{},this.option=null,this._theme=new te(a),this._locale=new te(o),this._optionManager=s},t.prototype.setOption=function(e,n,i){var a=Fb(n);this._optionManager.setOption(e,i,a),this._resetOption(null,a)},t.prototype.resetOption=function(e,n){return this._resetOption(e,Fb(n))},t.prototype._resetOption=function(e,n){var i=!1,a=this._optionManager;if(!e||e==="recreate"){var o=a.mountOption(e==="recreate");!this.option||e==="recreate"?Vb(this,o):(this.restoreData(),this._mergeOption(o,n)),i=!0}if((e==="timeline"||e==="media")&&this.restoreData(),!e||e==="recreate"||e==="timeline"){var s=a.getTimelineOption(this);s&&(i=!0,this._mergeOption(s,n))}if(!e||e==="recreate"||e==="media"){var l=a.getMediaOption(this);l.length&&M(l,function(u){i=!0,this._mergeOption(u,n)},this)}return i},t.prototype.mergeOption=function(e){this._mergeOption(e,null)},t.prototype._mergeOption=function(e,n){var i=this.option,a=this._componentsMap,o=this._componentsCount,s=[],l=ft(),u=n&&n.replaceMergeMainTypeMap;OH(this),M(e,function(c,h){c!=null&&(Bt.hasClass(h)?h&&(s.push(h),l.set(h,!0)):i[h]=i[h]==null?mt(c):Tt(i[h],c,!0))}),u&&u.each(function(c,h){Bt.hasClass(h)&&!l.get(h)&&(s.push(h),l.set(h,!0))}),Bt.topologicalTravel(s,Bt.getAllClassMainTypes(),f,this);function f(c){var h=BH(this,c,Zt(e[c])),v=a.get(c),d=v?u&&u.get(c)?"replaceMerge":"normalMerge":"replaceAll",p=RL(v,h,d);iF(p,c,Bt),i[c]=null,a.set(c,null),o.set(c,0);var g=[],y=[],m=0,_;M(p,function(S,x){var b=S.existing,w=S.newOption;if(!w)b&&(b.mergeOption({},this),b.optionUpdated({},!1));else{var T=c==="series",A=Bt.getClass(c,S.keyInfo.subType,!T);if(!A)return;if(c==="tooltip"){if(_)return;_=!0}if(b&&b.constructor===A)b.name=S.keyInfo.name,b.mergeOption(w,this),b.optionUpdated(w,!1);else{var C=F({componentIndex:x},S.keyInfo);b=new A(w,this,this,C),F(b,C),S.brandNew&&(b.__requireNewView=!0),b.init(w,this,this),b.optionUpdated(null,!0)}}b?(g.push(b.option),y.push(b),m++):(g.push(void 0),y.push(void 0))},this),i[c]=g,a.set(c,y),o.set(c,m),c==="series"&&lc(this)}this._seriesIndices||lc(this)},t.prototype.getOption=function(){var e=mt(this.option);return M(e,function(n,i){if(Bt.hasClass(i)){for(var a=Zt(n),o=a.length,s=!1,l=o-1;l>=0;l--)a[l]&&!Wu(a[l])?s=!0:(a[l]=null,!s&&o--);a.length=o,e[i]=a}}),delete e[Bb],e},t.prototype.getTheme=function(){return this._theme},t.prototype.getLocaleModel=function(){return this._locale},t.prototype.setUpdatePayload=function(e){this._payload=e},t.prototype.getUpdatePayload=function(){return this._payload},t.prototype.getComponent=function(e,n){var i=this._componentsMap.get(e);if(i){var a=i[n||0];if(a)return a;if(n==null){for(var o=0;o=t:e==="max"?r<=t:r===t}function QH(r,t){return r.join(",")===t.join(",")}const t4=qH;var jr=M,Ku=yt,Hb=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Ep(r){var t=r&&r.itemStyle;if(t)for(var e=0,n=Hb.length;e=0;g--){var y=r[g];if(s||(d=y.data.rawIndexOf(y.stackedByDimension,v)),d>=0){var m=y.data.getByRawIndex(y.stackResultDimension,d);if(l==="all"||l==="positive"&&m>0||l==="negative"&&m<0||l==="samesign"&&h>=0&&m>0||l==="samesign"&&h<=0&&m<0){h=ZG(h,m),p=m;break}}}return n[0]=h,n[1]=p,n})})}var vd=function(){function r(t){this.data=t.data||(t.sourceFormat===Yn?{}:[]),this.sourceFormat=t.sourceFormat||JP,this.seriesLayoutBy=t.seriesLayoutBy||zn,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;np&&(p=_)}v[0]=d,v[1]=p}},i=function(){return this._data?this._data.length/this._dimSize:0};qb=(t={},t[je+"_"+zn]={pure:!0,appendData:a},t[je+"_"+ol]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},t[qr]={pure:!0,appendData:a},t[Yn]={pure:!0,appendData:function(o){var s=this._data;M(o,function(l,u){for(var f=s[u]||(s[u]=[]),c=0;c<(l||[]).length;c++)f.push(l[c])})}},t[Xr]={appendData:a},t[ta]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},t);function a(o){for(var s=0;s=0&&(p=o.interpolatedValue[g])}return p!=null?p+"":""})}},r.prototype.getRawValue=function(t,e){return Fs(this.getData(e),t)},r.prototype.formatTooltip=function(t,e,n){},r}();function Qb(r){var t,e;return yt(r)?r.type&&(e=r):t=r,{text:t,frag:e}}function Tu(r){return new y4(r)}var y4=function(){function r(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return r.prototype.perform=function(t){var e=this._upstream,n=t&&t.skip;if(this._dirty&&e){var i=this.context;i.data=i.outputData=e.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var o=f(this._modBy),s=this._modDataCount||0,l=f(t&&t.modBy),u=t&&t.modDataCount||0;(o!==l||s!==u)&&(a="reset");function f(m){return!(m>=1)&&(m=1),m}var c;(this._dirty||a==="reset")&&(this._dirty=!1,c=this._doReset(n)),this._modBy=l,this._modDataCount=u;var h=t&&t.step;if(e?this._dueEnd=e._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var v=this._dueIndex,d=Math.min(h!=null?this._dueIndex+h:1/0,this._dueEnd);if(!n&&(c||v1&&n>0?s:o}};return a;function o(){return t=r?null:lt},gte:function(r,t){return r>=t}},_4=function(){function r(t,e){if(!Ft(e)){var n="";Wt(n)}this._opFn=g2[t],this._rvalFloat=yi(e)}return r.prototype.evaluate=function(t){return Ft(t)?this._opFn(t,this._rvalFloat):this._opFn(yi(t),this._rvalFloat)},r}(),y2=function(){function r(t,e){var n=t==="desc";this._resultLT=n?1:-1,e==null&&(e=n?"min":"max"),this._incomparable=e==="min"?-1/0:1/0}return r.prototype.evaluate=function(t,e){var n=Ft(t)?t:yi(t),i=Ft(e)?e:yi(e),a=isNaN(n),o=isNaN(i);if(a&&(n=this._incomparable),o&&(i=this._incomparable),a&&o){var s=nt(t),l=nt(e);s&&(n=l?t:0),l&&(i=s?e:0)}return ni?-this._resultLT:0},r}(),S4=function(){function r(t,e){this._rval=e,this._isEQ=t,this._rvalTypeof=typeof e,this._rvalFloat=yi(e)}return r.prototype.evaluate=function(t){var e=t===this._rval;if(!e){var n=typeof t;n!==this._rvalTypeof&&(n==="number"||this._rvalTypeof==="number")&&(e=yi(t)===this._rvalFloat)}return this._isEQ?e:!e},r}();function x4(r,t){return r==="eq"||r==="ne"?new S4(r==="eq",t):st(g2,r)?new _4(r,t):null}var b4=function(){function r(){}return r.prototype.getRawData=function(){throw new Error("not supported")},r.prototype.getRawDataItem=function(t){throw new Error("not supported")},r.prototype.cloneRawData=function(){},r.prototype.getDimensionInfo=function(t){},r.prototype.cloneAllDimensionInfo=function(){},r.prototype.count=function(){},r.prototype.retrieveValue=function(t,e){},r.prototype.retrieveValueFromItem=function(t,e){},r.prototype.convertValue=function(t,e){return ea(t,e)},r}();function w4(r,t){var e=new b4,n=r.data,i=e.sourceFormat=r.sourceFormat,a=r.startIndex,o="";r.seriesLayoutBy!==zn&&Wt(o);var s=[],l={},u=r.dimensionsDefine;if(u)M(u,function(p,g){var y=p.name,m={index:g,name:y,displayName:p.displayName};if(s.push(m),y!=null){var _="";st(l,y)&&Wt(_),l[y]=m}});else for(var f=0;f65535?P4:R4}function Jo(){return[1/0,-1/0]}function E4(r){var t=r.constructor;return t===Array?r.slice():new t(r)}function rw(r,t,e,n,i){var a=S2[e||"float"];if(i){var o=r[t],s=o&&o.length;if(s!==n){for(var l=new a(n),u=0;ug[1]&&(g[1]=p)}return this._rawCount=this._count=l,{start:s,end:l}},r.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,a=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=Z(o,function(m){return m.property}),f=0;fy[1]&&(y[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},r.prototype.count=function(){return this._count},r.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(n!=null&&nt)a=o-1;else return o}return-1},r.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks,a=i[t],o=[];if(!a)return o;n==null&&(n=1/0);for(var s=1/0,l=-1,u=0,f=0,c=this.count();f=0&&l<0)&&(s=d,l=v,u=0),v===l&&(o[u++]=f))}return o.length=u,o},r.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var a=0;a=c&&m<=h||isNaN(m))&&(l[u++]=p),p++}d=!0}else if(a===2){for(var g=v[i[0]],_=v[i[1]],S=t[i[1]][0],x=t[i[1]][1],y=0;y=c&&m<=h||isNaN(m))&&(b>=S&&b<=x||isNaN(b))&&(l[u++]=p),p++}d=!0}}if(!d)if(a===1)for(var y=0;y=c&&m<=h||isNaN(m))&&(l[u++]=w)}else for(var y=0;yt[C][1])&&(T=!1)}T&&(l[u++]=e.getRawIndex(y))}return uy[1]&&(y[1]=g)}}}},r.prototype.lttbDownSample=function(t,e){var n=this.clone([t],!0),i=n._chunks,a=i[t],o=this.count(),s=0,l=Math.floor(1/e),u=this.getRawIndex(0),f,c,h,v=new(jo(this._rawCount))(Math.min((Math.ceil(o/l)+2)*2,o));v[s++]=u;for(var d=1;df&&(f=c,h=S)}D>0&&Ds&&(p=s-f);for(var g=0;gd&&(d=m,v=f+g)}var _=this.getRawIndex(c),S=this.getRawIndex(v);cf-d&&(l=f-d,s.length=l);for(var p=0;pc[1]&&(c[1]=y),h[v++]=m}return a._count=v,a._indices=h,a._updateGetRawIdx(),a},r.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,a=0,o=this.count();al&&(l=c)}return o=[s,l],this._extent[t]=o,o},r.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,a=0;a=0?this._indices[t]:-1},r.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},r.internalField=function(){function t(e,n,i,a){return ea(e[a],this._dimensions[a])}Np={arrayRows:t,objectRows:function(e,n,i,a){return ea(e[n],this._dimensions[a])},keyedColumns:t,original:function(e,n,i,a){var o=e&&(e.value==null?e:e.value);return ea(o instanceof Array?o[a]:o,this._dimensions[a])},typedArray:function(e,n,i,a){return e[a]}}}(),r}(),x2=function(){function r(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return r.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},r.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},r.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},r.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},r.prototype._createSource=function(){this._setLocalSource([],[]);var t=this._sourceHost,e=this._getUpstreamSourceManagers(),n=!!e.length,i,a;if(uc(t)){var o=t,s=void 0,l=void 0,u=void 0;if(n){var f=e[0];f.prepareSource(),u=f.getSource(),s=u.data,l=u.sourceFormat,a=[f._getVersionSign()]}else s=o.get("data",!0),l=pr(s)?ta:Xr,a=[];var c=this._getSourceMetaRawOption()||{},h=u&&u.metaRawOption||{},v=xt(c.seriesLayoutBy,h.seriesLayoutBy)||null,d=xt(c.sourceHeader,h.sourceHeader),p=xt(c.dimensions,h.dimensions),g=v!==h.seriesLayoutBy||!!d!=!!h.sourceHeader||p;i=g?[mm(s,{seriesLayoutBy:v,sourceHeader:d,dimensions:p},l)]:[]}else{var y=t;if(n){var m=this._applyTransform(e);i=m.sourceList,a=m.upstreamSignList}else{var _=y.get("source",!0);i=[mm(_,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(i,a)},r.prototype._applyTransform=function(t){var e=this._sourceHost,n=e.get("transform",!0),i=e.get("fromTransformResult",!0);if(i!=null){var a="";t.length!==1&&iw(a)}var o,s=[],l=[];return M(t,function(u){u.prepareSource();var f=u.getSource(i||0),c="";i!=null&&!f&&iw(c),s.push(f),l.push(u._getVersionSign())}),n?o=I4(n,s,{datasetIndex:e.componentIndex}):i!=null&&(o=[f4(s[0])]),{sourceList:o,upstreamSignList:l}},r.prototype._isDirty=function(){if(this._dirty)return!0;for(var t=this._getUpstreamSourceManagers(),e=0;e=32&&t<=591||t>=880&&t<=4351||t>=4608&&t<=5119||t>=7680&&t<=8303}var PF=Wn(",&?/;] ".split(""),function(r,t){return r[t]=!0,r},{});function RF(r){return LF(r)?!!PF[r]:!0}function GL(r,t,e,n,i){for(var a=[],o=[],s="",l="",u=0,f=0,c=0;ce:i+f+v>e){f?(s||l)&&(d?(s||(s=l,l="",u=0,f=u),a.push(s),o.push(f-u),l+=h,u+=v,s="",f=u):(l&&(s+=l,l="",u=0),a.push(s),o.push(f),s=h,f=v)):d?(a.push(l),o.push(u),l=h,u=v):(a.push(h),o.push(v));continue}f+=v,d?(l+=h,u+=v):(l&&(s+=l,l="",u=0),s+=h)}return!a.length&&!s&&(s=r,l="",u=0),l&&(s+=l),s&&(a.push(s),o.push(f)),a.length===1&&(f+=i),{accumWidth:f,lines:a,linesWidths:o}}var sm="__zr_style_"+Math.round(Math.random()*10),_o={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},td={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};_o[sm]=!0;var Qx=["z","z2","invisible"],EF=["invisible"],kF=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype._init=function(e){for(var n=kt(e),i=0;i1e-4){s[0]=r-e,s[1]=t-n,l[0]=r+e,l[1]=t+n;return}if(rc[0]=Sp(i)*e+r,rc[1]=_p(i)*n+t,nc[0]=Sp(a)*e+r,nc[1]=_p(a)*n+t,u(s,rc,nc),f(l,rc,nc),i=i%Ma,i<0&&(i=i+Ma),a=a%Ma,a<0&&(a=a+Ma),i>a&&!o?a+=Ma:ii&&(ic[0]=Sp(v)*e+r,ic[1]=_p(v)*n+t,u(s,ic,s),f(l,ic,l))}var qt={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Da=[],Ia=[],xn=[],Di=[],bn=[],wn=[],xp=Math.min,bp=Math.max,La=Math.cos,Pa=Math.sin,Jn=Math.abs,lm=Math.PI,zi=lm*2,wp=typeof Float32Array!="undefined",Al=[];function Tp(r){var t=Math.round(r/lm*1e8)/1e8;return t%2*lm}function v_(r,t){var e=Tp(r[0]);e<0&&(e+=zi);var n=e-r[0],i=r[1];i+=n,!t&&i-e>=zi?i=e+zi:t&&e-i>=zi?i=e-zi:!t&&e>i?i=e+(zi-Tp(e-i)):t&&e0&&(this._ux=Jn(n/Fh/t)||0,this._uy=Jn(n/Fh/e)||0)},r.prototype.setDPR=function(t){this.dpr=t},r.prototype.setContext=function(t){this._ctx=t},r.prototype.getContext=function(){return this._ctx},r.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},r.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},r.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(qt.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},r.prototype.lineTo=function(t,e){var n=Jn(t-this._xi),i=Jn(e-this._yi),a=n>this._ux||i>this._uy;if(this.addData(qt.L,t,e),this._ctx&&a&&this._ctx.lineTo(t,e),a)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},r.prototype.bezierCurveTo=function(t,e,n,i,a,o){return this._drawPendingPt(),this.addData(qt.C,t,e,n,i,a,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,a,o),this._xi=a,this._yi=o,this},r.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(qt.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},r.prototype.arc=function(t,e,n,i,a,o){this._drawPendingPt(),Al[0]=i,Al[1]=a,v_(Al,o),i=Al[0],a=Al[1];var s=a-i;return this.addData(qt.A,t,e,n,n,i,s,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,a,o),this._xi=La(a)*n+t,this._yi=Pa(a)*n+e,this},r.prototype.arcTo=function(t,e,n,i,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,a),this},r.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(qt.R,t,e,n,i),this},r.prototype.closePath=function(){this._drawPendingPt(),this.addData(qt.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},r.prototype.fill=function(t){t&&t.fill(),this.toStatic()},r.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},r.prototype.len=function(){return this._len},r.prototype.setData=function(t){var e=t.length;!(this.data&&this.data.length===e)&&wp&&(this.data=new Float32Array(e));for(var n=0;nf.length&&(this._expandData(),f=this.data);for(var c=0;c0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},r.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},r.prototype.getBoundingRect=function(){xn[0]=xn[1]=bn[0]=bn[1]=Number.MAX_VALUE,Di[0]=Di[1]=wn[0]=wn[1]=-Number.MAX_VALUE;var t=this.data,e=0,n=0,i=0,a=0,o;for(o=0;on||Jn(_)>i||h===e-1)&&(p=Math.sqrt(m*m+_*_),a=g,o=y);break}case qt.C:{var S=t[h++],x=t[h++],g=t[h++],y=t[h++],b=t[h++],w=t[h++];p=J5(a,o,S,x,g,y,b,w,10),a=b,o=w;break}case qt.Q:{var S=t[h++],x=t[h++],g=t[h++],y=t[h++];p=tG(a,o,S,x,g,y,10),a=g,o=y;break}case qt.A:var T=t[h++],A=t[h++],C=t[h++],D=t[h++],I=t[h++],L=t[h++],P=L+I;h+=1,d&&(s=La(I)*C+T,l=Pa(I)*D+A),p=bp(C,D)*xp(zi,Math.abs(L)),a=La(P)*C+T,o=Pa(P)*D+A;break;case qt.R:{s=a=t[h++],l=o=t[h++];var E=t[h++],O=t[h++];p=E*2+O*2;break}case qt.Z:{var m=s-a,_=l-o;p=Math.sqrt(m*m+_*_),a=s,o=l;break}}p>=0&&(u[c++]=p,f+=p)}return this._pathLen=f,f},r.prototype.rebuildPath=function(t,e){var n=this.data,i=this._ux,a=this._uy,o=this._len,s,l,u,f,c,h,v=e<1,d,p,g=0,y=0,m,_=0,S,x;if(!(v&&(this._pathSegLen||this._calculateLength(),d=this._pathSegLen,p=this._pathLen,m=e*p,!m)))t:for(var b=0;b0&&(t.lineTo(S,x),_=0),w){case qt.M:s=u=n[b++],l=f=n[b++],t.moveTo(u,f);break;case qt.L:{c=n[b++],h=n[b++];var A=Jn(c-u),C=Jn(h-f);if(A>i||C>a){if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;t.lineTo(u*(1-I)+c*I,f*(1-I)+h*I);break t}g+=D}t.lineTo(c,h),u=c,f=h,_=0}else{var L=A*A+C*C;L>_&&(S=c,x=h,_=L)}break}case qt.C:{var P=n[b++],E=n[b++],O=n[b++],V=n[b++],N=n[b++],G=n[b++];if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;oa(u,P,O,N,I,Da),oa(f,E,V,G,I,Ia),t.bezierCurveTo(Da[1],Ia[1],Da[2],Ia[2],Da[3],Ia[3]);break t}g+=D}t.bezierCurveTo(P,E,O,V,N,G),u=N,f=G;break}case qt.Q:{var P=n[b++],E=n[b++],O=n[b++],V=n[b++];if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;Hu(u,P,O,I,Da),Hu(f,E,V,I,Ia),t.quadraticCurveTo(Da[1],Ia[1],Da[2],Ia[2]);break t}g+=D}t.quadraticCurveTo(P,E,O,V),u=O,f=V;break}case qt.A:var $=n[b++],q=n[b++],Q=n[b++],ct=n[b++],ht=n[b++],gt=n[b++],Et=n[b++],U=!n[b++],K=Q>ct?Q:ct,H=Jn(Q-ct)>.001,tt=ht+gt,j=!1;if(v){var D=d[y++];g+D>m&&(tt=ht+gt*(m-g)/D,j=!0),g+=D}if(H&&t.ellipse?t.ellipse($,q,Q,ct,Et,ht,tt,U):t.arc($,q,K,ht,tt,U),j)break t;T&&(s=La(ht)*Q+$,l=Pa(ht)*ct+q),u=La(tt)*Q+$,f=Pa(tt)*ct+q;break;case qt.R:s=u=n[b],l=f=n[b+1],c=n[b++],h=n[b++];var ut=n[b++],R=n[b++];if(v){var D=d[y++];if(g+D>m){var k=m-g;t.moveTo(c,h),t.lineTo(c+xp(k,ut),h),k-=ut,k>0&&t.lineTo(c+ut,h+xp(k,R)),k-=R,k>0&&t.lineTo(c+bp(ut-k,0),h+R),k-=ut,k>0&&t.lineTo(c,h+bp(R-k,0));break t}g+=D}t.rect(c,h,ut,R);break;case qt.Z:if(v){var D=d[y++];if(g+D>m){var I=(m-g)/D;t.lineTo(u*(1-I)+s*I,f*(1-I)+l*I);break t}g+=D}t.closePath(),u=s,f=l}}},r.prototype.clone=function(){var t=new r,e=this.data;return t.data=e.slice?e.slice():Array.prototype.slice.call(e),t._len=this._len,t},r.CMD=qt,r.initDefaultProps=function(){var t=r.prototype;t._saveData=!0,t._ux=0,t._uy=0,t._pendingPtDist=0,t._version=0}(),r}();function Wi(r,t,e,n,i,a,o){if(i===0)return!1;var s=i,l=0,u=r;if(o>t+s&&o>n+s||or+s&&a>e+s||at+c&&f>n+c&&f>a+c&&f>s+c||fr+c&&u>e+c&&u>i+c&&u>o+c||ut+u&&l>n+u&&l>a+u||lr+u&&s>e+u&&s>i+u||se||f+ui&&(i+=Cl);var h=Math.atan2(l,s);return h<0&&(h+=Cl),h>=n&&h<=i||h+Cl>=n&&h+Cl<=i}function ni(r,t,e,n,i,a){if(a>t&&a>n||ai?s:0}var Ii=Zn.CMD,Ra=Math.PI*2,FF=1e-4;function HF(r,t){return Math.abs(r-t)t&&u>n&&u>a&&u>s||u1&&WF(),v=Ae(t,n,a,s,Vr[0]),h>1&&(d=Ae(t,n,a,s,Vr[1]))),h===2?gt&&s>n&&s>a||s=0&&u<=1){for(var f=0,c=Le(t,n,a,u),h=0;he||s<-e)return 0;var l=Math.sqrt(e*e-s*s);nr[0]=-l,nr[1]=l;var u=Math.abs(n-i);if(u<1e-4)return 0;if(u>=Ra-1e-4){n=0,i=Ra;var f=a?1:-1;return o>=nr[0]+r&&o<=nr[1]+r?f:0}if(n>i){var c=n;n=i,i=c}n<0&&(n+=Ra,i+=Ra);for(var h=0,v=0;v<2;v++){var d=nr[v];if(d+r>o){var p=Math.atan2(s,d),f=a?1:-1;p<0&&(p=Ra+p),(p>=n&&p<=i||p+Ra>=n&&p+Ra<=i)&&(p>Math.PI/2&&p1&&(e||(s+=ni(l,u,f,c,n,i))),g&&(l=a[d],u=a[d+1],f=l,c=u),p){case Ii.M:f=a[d++],c=a[d++],l=f,u=c;break;case Ii.L:if(e){if(Wi(l,u,a[d],a[d+1],t,n,i))return!0}else s+=ni(l,u,a[d],a[d+1],n,i)||0;l=a[d++],u=a[d++];break;case Ii.C:if(e){if(zF(l,u,a[d++],a[d++],a[d++],a[d++],a[d],a[d+1],t,n,i))return!0}else s+=$F(l,u,a[d++],a[d++],a[d++],a[d++],a[d],a[d+1],n,i)||0;l=a[d++],u=a[d++];break;case Ii.Q:if(e){if(FL(l,u,a[d++],a[d++],a[d],a[d+1],t,n,i))return!0}else s+=UF(l,u,a[d++],a[d++],a[d],a[d+1],n,i)||0;l=a[d++],u=a[d++];break;case Ii.A:var y=a[d++],m=a[d++],_=a[d++],S=a[d++],x=a[d++],b=a[d++];d+=1;var w=!!(1-a[d++]);h=Math.cos(x)*_+y,v=Math.sin(x)*S+m,g?(f=h,c=v):s+=ni(l,u,h,v,n,i);var T=(n-y)*S/_+y;if(e){if(GF(y,m,S,x,x+b,w,t,T,i))return!0}else s+=YF(y,m,S,x,x+b,w,T,i);l=Math.cos(x+b)*_+y,u=Math.sin(x+b)*S+m;break;case Ii.R:f=l=a[d++],c=u=a[d++];var A=a[d++],C=a[d++];if(h=f+A,v=c+C,e){if(Wi(f,c,h,c,t,n,i)||Wi(h,c,h,v,t,n,i)||Wi(h,v,f,v,t,n,i)||Wi(f,v,f,c,t,n,i))return!0}else s+=ni(h,c,h,v,n,i),s+=ni(f,v,f,c,n,i);break;case Ii.Z:if(e){if(Wi(l,u,f,c,t,n,i))return!0}else s+=ni(l,u,f,c,n,i);l=f,u=c;break}}return!e&&!HF(u,c)&&(s+=ni(l,u,f,c,n,i)||0),s!==0}function ZF(r,t,e){return HL(r,0,!1,t,e)}function XF(r,t,e,n){return HL(r,t,!0,e,n)}var Wh=pt({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},_o),qF={style:pt({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},td.style)},Ap=Un.concat(["invisible","culling","z","z2","zlevel","parent"]),KF=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.update=function(){var e=this;r.prototype.update.call(this);var n=this.style;if(n.decal){var i=this._decalEl=this._decalEl||new t;i.buildPath===t.prototype.buildPath&&(i.buildPath=function(l){e.buildPath(l,e.shape)}),i.silent=!0;var a=i.style;for(var o in n)a[o]!==n[o]&&(a[o]=n[o]);a.fill=n.fill?n.decal:null,a.decal=null,a.shadowColor=null,n.strokeFirst&&(a.stroke=null);for(var s=0;s.5?rm:n>.2?PG:nm}else if(e)return nm}return rm},t.prototype.getInsideTextStroke=function(e){var n=this.style.fill;if(nt(n)){var i=this.__zr,a=!!(i&&i.isDarkMode()),o=zh(e,0)0))},t.prototype.hasFill=function(){var e=this.style,n=e.fill;return n!=null&&n!=="none"},t.prototype.getBoundingRect=function(){var e=this._rect,n=this.style,i=!e;if(i){var a=!1;this.path||(a=!0,this.createPathProxy());var o=this.path;(a||this.__dirty&ps)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),e=o.getBoundingRect()}if(this._rect=e,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=e.clone());if(this.__dirty||i){s.copy(e);var l=n.strokeNoScale?this.getLineScale():1,u=n.lineWidth;if(!this.hasFill()){var f=this.strokeContainThreshold;u=Math.max(u,f==null?4:f)}l>1e-10&&(s.width+=u/l,s.height+=u/l,s.x-=u/l/2,s.y-=u/l/2)}return s}return e},t.prototype.contain=function(e,n){var i=this.transformCoordToLocal(e,n),a=this.getBoundingRect(),o=this.style;if(e=i[0],n=i[1],a.contain(e,n)){var s=this.path;if(this.hasStroke()){var l=o.lineWidth,u=o.strokeNoScale?this.getLineScale():1;if(u>1e-10&&(this.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),XF(s,l/u,e,n)))return!0}if(this.hasFill())return ZF(s,e,n)}return!1},t.prototype.dirtyShape=function(){this.__dirty|=ps,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},t.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},t.prototype.animateShape=function(e){return this.animate("shape",e)},t.prototype.updateDuringAnimation=function(e){e==="style"?this.dirtyStyle():e==="shape"?this.dirtyShape():this.markRedraw()},t.prototype.attrKV=function(e,n){e==="shape"?this.setShape(n):r.prototype.attrKV.call(this,e,n)},t.prototype.setShape=function(e,n){var i=this.shape;return i||(i=this.shape={}),typeof e=="string"?i[e]=n:F(i,e),this.dirtyShape(),this},t.prototype.shapeChanged=function(){return!!(this.__dirty&ps)},t.prototype.createStyle=function(e){return Xv(Wh,e)},t.prototype._innerSaveToNormal=function(e){r.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=F({},this.shape))},t.prototype._applyStateObj=function(e,n,i,a,o,s){r.prototype._applyStateObj.call(this,e,n,i,a,o,s);var l=!(n&&a),u;if(n&&n.shape?o?a?u=n.shape:(u=F({},i.shape),F(u,n.shape)):(u=F({},a?this.shape:i.shape),F(u,n.shape)):l&&(u=i.shape),u)if(o){this.shape=F({},this.shape);for(var f={},c=kt(u),h=0;h0},t.prototype.hasFill=function(){var e=this.style,n=e.fill;return n!=null&&n!=="none"},t.prototype.createStyle=function(e){return Xv(jF,e)},t.prototype.setBoundingRect=function(e){this._rect=e},t.prototype.getBoundingRect=function(){var e=this.style;if(!this._rect){var n=e.text;n!=null?n+="":n="";var i=bf(n,e.font,e.textAlign,e.textBaseline);if(i.x+=e.x||0,i.y+=e.y||0,this.hasStroke()){var a=e.lineWidth;i.x-=a/2,i.y-=a/2,i.width+=a,i.height+=a}this._rect=i}return this._rect},t.initDefaultProps=function(){var e=t.prototype;e.dirtyRectTolerance=10}(),t}(Yr);WL.prototype.type="tspan";const Zu=WL;var JF=pt({x:0,y:0},_o),QF={style:pt({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},td.style)};function t3(r){return!!(r&&typeof r!="string"&&r.width&&r.height)}var $L=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.createStyle=function(e){return Xv(JF,e)},t.prototype._getSize=function(e){var n=this.style,i=n[e];if(i!=null)return i;var a=t3(n.image)?n.image:this.__image;if(!a)return 0;var o=e==="width"?"height":"width",s=n[o];return s==null?a[e]:a[e]/a[o]*s},t.prototype.getWidth=function(){return this._getSize("width")},t.prototype.getHeight=function(){return this._getSize("height")},t.prototype.getAnimationStyleProps=function(){return QF},t.prototype.getBoundingRect=function(){var e=this.style;return this._rect||(this._rect=new Mt(e.x||0,e.y||0,this.getWidth(),this.getHeight())),this._rect},t}(Yr);$L.prototype.type="image";const We=$L;function e3(r,t){var e=t.x,n=t.y,i=t.width,a=t.height,o=t.r,s,l,u,f;i<0&&(e=e+i,i=-i),a<0&&(n=n+a,a=-a),typeof o=="number"?s=l=u=f=o:o instanceof Array?o.length===1?s=l=u=f=o[0]:o.length===2?(s=u=o[0],l=f=o[1]):o.length===3?(s=o[0],l=f=o[1],u=o[2]):(s=o[0],l=o[1],u=o[2],f=o[3]):s=l=u=f=0;var c;s+l>i&&(c=s+l,s*=i/c,l*=i/c),u+f>i&&(c=u+f,u*=i/c,f*=i/c),l+u>a&&(c=l+u,l*=a/c,u*=a/c),s+f>a&&(c=s+f,s*=a/c,f*=a/c),r.moveTo(e+s,n),r.lineTo(e+i-l,n),l!==0&&r.arc(e+i-l,n+l,l,-Math.PI/2,0),r.lineTo(e+i,n+a-u),u!==0&&r.arc(e+i-u,n+a-u,u,0,Math.PI/2),r.lineTo(e+f,n+a),f!==0&&r.arc(e+f,n+a-f,f,Math.PI/2,Math.PI),r.lineTo(e,n+s),s!==0&&r.arc(e+s,n+s,s,Math.PI,Math.PI*1.5)}var xs=Math.round;function UL(r,t,e){if(t){var n=t.x1,i=t.x2,a=t.y1,o=t.y2;r.x1=n,r.x2=i,r.y1=a,r.y2=o;var s=e&&e.lineWidth;return s&&(xs(n*2)===xs(i*2)&&(r.x1=r.x2=oo(n,s,!0)),xs(a*2)===xs(o*2)&&(r.y1=r.y2=oo(a,s,!0))),r}}function YL(r,t,e){if(t){var n=t.x,i=t.y,a=t.width,o=t.height;r.x=n,r.y=i,r.width=a,r.height=o;var s=e&&e.lineWidth;return s&&(r.x=oo(n,s,!0),r.y=oo(i,s,!0),r.width=Math.max(oo(n+a,s,!1)-r.x,a===0?0:1),r.height=Math.max(oo(i+o,s,!1)-r.y,o===0?0:1)),r}}function oo(r,t,e){if(!t)return r;var n=xs(r*2);return(n+xs(t))%2===0?n/2:(n+(e?1:-1))/2}var r3=function(){function r(){this.x=0,this.y=0,this.width=0,this.height=0}return r}(),n3={},ZL=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new r3},t.prototype.buildPath=function(e,n){var i,a,o,s;if(this.subPixelOptimize){var l=YL(n3,n,this.style);i=l.x,a=l.y,o=l.width,s=l.height,l.r=n.r,n=l}else i=n.x,a=n.y,o=n.width,s=n.height;n.r?e3(e,n):e.rect(i,a,o,s)},t.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},t}(Pt);ZL.prototype.type="rect";const Vt=ZL;var ib={fill:"#000"},ab=2,i3={style:pt({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},td.style)},XL=function(r){B(t,r);function t(e){var n=r.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=ib,n.attr(e),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.update=function(){r.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;e0,I=e.width!=null&&(e.overflow==="truncate"||e.overflow==="break"||e.overflow==="breakAll"),L=o.calculatedLineHeight,P=0;P=0&&(P=b[L],P.align==="right");)this._placeToken(P,e,T,y,I,"right",_),A-=P.width,I-=P.width,L--;for(D+=(a-(D-g)-(m-I)-A)/2;C<=L;)P=b[C],this._placeToken(P,e,T,y,D+P.width/2,"center",_),D+=P.width,C++;y+=T}},t.prototype._placeToken=function(e,n,i,a,o,s,l){var u=n.rich[e.styleName]||{};u.text=e.text;var f=e.verticalAlign,c=a+i/2;f==="top"?c=a+e.height/2:f==="bottom"&&(c=a+i-e.height/2);var h=!e.isLineHolder&&Cp(u);h&&this._renderBackground(u,n,s==="right"?o-e.width:s==="center"?o-e.width/2:o,c-e.height/2,e.width,e.height);var v=!!u.backgroundColor,d=e.textPadding;d&&(o=cb(o,s,d),c-=e.height/2-d[0]-e.innerHeight/2);var p=this._getOrCreateChild(Zu),g=p.createStyle();p.useStyle(g);var y=this._defaultStyle,m=!1,_=0,S=fb("fill"in u?u.fill:"fill"in n?n.fill:(m=!0,y.fill)),x=ub("stroke"in u?u.stroke:"stroke"in n?n.stroke:!v&&!l&&(!y.autoStroke||m)?(_=ab,y.stroke):null),b=u.textShadowBlur>0||n.textShadowBlur>0;g.text=e.text,g.x=o,g.y=c,b&&(g.shadowBlur=u.textShadowBlur||n.textShadowBlur||0,g.shadowColor=u.textShadowColor||n.textShadowColor||"transparent",g.shadowOffsetX=u.textShadowOffsetX||n.textShadowOffsetX||0,g.shadowOffsetY=u.textShadowOffsetY||n.textShadowOffsetY||0),g.textAlign=s,g.textBaseline="middle",g.font=e.font||ia,g.opacity=zn(u.opacity,n.opacity,1),sb(g,u),x&&(g.lineWidth=zn(u.lineWidth,n.lineWidth,_),g.lineDash=xt(u.lineDash,n.lineDash),g.lineDashOffset=n.lineDashOffset||0,g.stroke=x),S&&(g.fill=S);var w=e.contentWidth,T=e.contentHeight;p.setBoundingRect(new Mt(tu(g.x,w,g.textAlign),gs(g.y,T,g.textBaseline),w,T))},t.prototype._renderBackground=function(e,n,i,a,o,s){var l=e.backgroundColor,u=e.borderWidth,f=e.borderColor,c=l&&l.image,h=l&&!c,v=e.borderRadius,d=this,p,g;if(h||e.lineHeight||u&&f){p=this._getOrCreateChild(Vt),p.useStyle(p.createStyle()),p.style.fill=null;var y=p.shape;y.x=i,y.y=a,y.width=o,y.height=s,y.r=v,p.dirtyShape()}if(h){var m=p.style;m.fill=l||null,m.fillOpacity=xt(e.fillOpacity,1)}else if(c){g=this._getOrCreateChild(We),g.onload=function(){d.dirtyStyle()};var _=g.style;_.image=l.image,_.x=i,_.y=a,_.width=o,_.height=s}if(u&&f){var m=p.style;m.lineWidth=u,m.stroke=f,m.strokeOpacity=xt(e.strokeOpacity,1),m.lineDash=e.borderDash,m.lineDashOffset=e.borderDashOffset||0,p.strokeContainThreshold=0,p.hasFill()&&p.hasStroke()&&(m.strokeFirst=!0,m.lineWidth*=2)}var S=(p||g).style;S.shadowBlur=e.shadowBlur||0,S.shadowColor=e.shadowColor||"transparent",S.shadowOffsetX=e.shadowOffsetX||0,S.shadowOffsetY=e.shadowOffsetY||0,S.opacity=zn(e.opacity,n.opacity,1)},t.makeFont=function(e){var n="";return KL(e)&&(n=[e.fontStyle,e.fontWeight,qL(e.fontSize),e.fontFamily||"sans-serif"].join(" ")),n&&an(n)||e.textFont||e.font},t}(Yr),a3={left:!0,right:1,center:1},o3={top:1,bottom:1,middle:1},ob=["fontStyle","fontWeight","fontSize","fontFamily"];function qL(r){return typeof r=="string"&&(r.indexOf("px")!==-1||r.indexOf("rem")!==-1||r.indexOf("em")!==-1)?r:isNaN(+r)?X0+"px":r+"px"}function sb(r,t){for(var e=0;e=0,a=!1;if(r instanceof Pt){var o=jL(r),s=i&&o.selectFill||o.normalFill,l=i&&o.selectStroke||o.normalStroke;if(qo(s)||qo(l)){n=n||{};var u=n.style||{};u.fill==="inherit"?(a=!0,n=F({},n),u=F({},u),u.fill=s):!qo(u.fill)&&qo(s)?(a=!0,n=F({},n),u=F({},u),u.fill=Xy(s)):!qo(u.stroke)&&qo(l)&&(a||(n=F({},n),u=F({},u)),u.stroke=Xy(l)),n.style=u}}if(n&&n.z2==null){a||(n=F({},n));var f=r.z2EmphasisLift;n.z2=r.z2+(f!=null?f:el)}return n}function v3(r,t,e){if(e&&e.z2==null){e=F({},e);var n=r.z2SelectLift;e.z2=r.z2+(n!=null?n:l3)}return e}function d3(r,t,e){var n=Dt(r.currentStates,t)>=0,i=r.style.opacity,a=n?null:c3(r,["opacity"],t,{opacity:1});e=e||{};var o=e.style||{};return o.opacity==null&&(e=F({},e),o=F({opacity:n?i:a.opacity*.1},o),e.style=o),e}function Mp(r,t){var e=this.states[r];if(this.style){if(r==="emphasis")return h3(this,r,t,e);if(r==="blur")return d3(this,r,e);if(r==="select")return v3(this,r,e)}return e}function Lo(r){r.stateProxy=Mp;var t=r.getTextContent(),e=r.getTextGuideLine();t&&(t.stateProxy=Mp),e&&(e.stateProxy=Mp)}function gb(r,t){!iP(r,t)&&!r.__highByOuter&&Ti(r,JL)}function yb(r,t){!iP(r,t)&&!r.__highByOuter&&Ti(r,QL)}function mi(r,t){r.__highByOuter|=1<<(t||0),Ti(r,JL)}function _i(r,t){!(r.__highByOuter&=~(1<<(t||0)))&&Ti(r,QL)}function eP(r){Ti(r,g_)}function y_(r){Ti(r,tP)}function rP(r){Ti(r,u3)}function nP(r){Ti(r,f3)}function iP(r,t){return r.__highDownSilentOnTouch&&t.zrByTouch}function aP(r){var t=r.getModel(),e=[],n=[];t.eachComponent(function(i,a){var o=d_(a),s=i==="series",l=s?r.getViewOfSeriesModel(a):r.getViewOfComponentModel(a);!s&&n.push(l),o.isBlured&&(l.group.traverse(function(u){tP(u)}),s&&e.push(a)),o.isBlured=!1}),M(n,function(i){i&&i.toggleBlurSeries&&i.toggleBlurSeries(e,!1,t)})}function fm(r,t,e,n){var i=n.getModel();e=e||"coordinateSystem";function a(u,f){for(var c=0;c0){var s={dataIndex:o,seriesIndex:e.seriesIndex};a!=null&&(s.dataType=a),t.push(s)}})}),t}function xo(r,t,e){so(r,!0),Ti(r,Lo),hm(r,t,e)}function S3(r){so(r,!1)}function ue(r,t,e,n){n?S3(r):xo(r,t,e)}function hm(r,t,e){var n=St(r);t!=null?(n.focus=t,n.blurScope=e):n.focus&&(n.focus=null)}var _b=["emphasis","blur","select"],x3={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Fe(r,t,e,n){e=e||"itemStyle";for(var i=0;i<_b.length;i++){var a=_b[i],o=t.getModel([a,e]),s=r.ensureState(a);s.style=n?n(o):o[x3[e]]()}}function so(r,t){var e=t===!1,n=r;r.highDownSilentOnTouch&&(n.__highDownSilentOnTouch=r.highDownSilentOnTouch),(!e||n.__highDownDispatcher)&&(n.__highByOuter=n.__highByOuter||0,n.__highDownDispatcher=!e)}function qu(r){return!!(r&&r.__highDownDispatcher)}function b3(r,t,e){var n=St(r);n.componentMainType=t.mainType,n.componentIndex=t.componentIndex,n.componentHighDownName=e}function w3(r){var t=db[r];return t==null&&vb<=32&&(t=db[r]=vb++),t}function vm(r){var t=r.type;return t===wu||t===fh||t===Tu}function Sb(r){var t=r.type;return t===So||t===uh}function T3(r){var t=jL(r);t.normalFill=r.style.fill,t.normalStroke=r.style.stroke;var e=r.states.select||{};t.selectFill=e.style&&e.style.fill||null,t.selectStroke=e.style&&e.style.stroke||null}var Ko=Zn.CMD,A3=[[],[],[]],xb=Math.sqrt,C3=Math.atan2;function oP(r,t){if(t){var e=r.data,n=r.len(),i,a,o,s,l,u,f=Ko.M,c=Ko.C,h=Ko.L,v=Ko.R,d=Ko.A,p=Ko.Q;for(o=0,s=0;o1&&(o*=Dp(d),s*=Dp(d));var p=(i===a?-1:1)*Dp((o*o*(s*s)-o*o*(v*v)-s*s*(h*h))/(o*o*(v*v)+s*s*(h*h)))||0,g=p*o*v/s,y=p*-s*h/o,m=(r+e)/2+oc(c)*g-ac(c)*y,_=(t+n)/2+ac(c)*g+oc(c)*y,S=wb([1,0],[(h-g)/o,(v-y)/s]),x=[(h-g)/o,(v-y)/s],b=[(-1*h-g)/o,(-1*v-y)/s],w=wb(x,b);if(dm(x,b)<=-1&&(w=Ml),dm(x,b)>=1&&(w=0),w<0){var T=Math.round(w/Ml*1e6)/1e6;w=Ml*2+T%2*Ml}f.addData(u,m,_,o,s,S,w,c,a)}var M3=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,D3=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function I3(r){var t=new Zn;if(!r)return t;var e=0,n=0,i=e,a=n,o,s=Zn.CMD,l=r.match(M3);if(!l)return t;for(var u=0;uP*P+E*E&&(T=C,A=D),{cx:T,cy:A,x0:-f,y0:-c,x1:T*(i/x-1),y1:A*(i/x-1)}}function N3(r){var t;if(Y(r)){var e=r.length;if(!e)return r;e===1?t=[r[0],r[0],0,0]:e===2?t=[r[0],r[0],r[1],r[1]]:e===3?t=r.concat(r[2]):t=r}else t=[r,r,r,r];return t}function V3(r,t){var e,n=eu(t.r,0),i=eu(t.r0||0,0),a=n>0,o=i>0;if(!(!a&&!o)){if(a||(n=i,i=0),i>n){var s=n;n=i,i=s}var l=t.startAngle,u=t.endAngle;if(!(isNaN(l)||isNaN(u))){var f=t.cx,c=t.cy,h=!!t.clockwise,v=Ab(u-l),d=v>Ip&&v%Ip;if(d>Qr&&(v=d),!(n>Qr))r.moveTo(f,c);else if(v>Ip-Qr)r.moveTo(f+n*jo(l),c+n*Ea(l)),r.arc(f,c,n,l,u,!h),i>Qr&&(r.moveTo(f+i*jo(u),c+i*Ea(u)),r.arc(f,c,i,u,l,h));else{var p=void 0,g=void 0,y=void 0,m=void 0,_=void 0,S=void 0,x=void 0,b=void 0,w=void 0,T=void 0,A=void 0,C=void 0,D=void 0,I=void 0,L=void 0,P=void 0,E=n*jo(l),O=n*Ea(l),V=i*jo(u),N=i*Ea(u),G=v>Qr;if(G){var $=t.cornerRadius;$&&(e=N3($),p=e[0],g=e[1],y=e[2],m=e[3]);var q=Ab(n-i)/2;if(_=Tn(q,y),S=Tn(q,m),x=Tn(q,p),b=Tn(q,g),A=w=eu(_,S),C=T=eu(x,b),(w>Qr||T>Qr)&&(D=n*jo(u),I=n*Ea(u),L=i*jo(l),P=i*Ea(l),vQr){var H=Tn(y,A),tt=Tn(m,A),j=sc(L,P,E,O,n,H,h),ut=sc(D,I,V,N,n,tt,h);r.moveTo(f+j.cx+j.x0,c+j.cy+j.y0),A0&&r.arc(f+j.cx,c+j.cy,H,$e(j.y0,j.x0),$e(j.y1,j.x1),!h),r.arc(f,c,n,$e(j.cy+j.y1,j.cx+j.x1),$e(ut.cy+ut.y1,ut.cx+ut.x1),!h),tt>0&&r.arc(f+ut.cx,c+ut.cy,tt,$e(ut.y1,ut.x1),$e(ut.y0,ut.x0),!h))}else r.moveTo(f+E,c+O),r.arc(f,c,n,l,u,!h);if(!(i>Qr)||!G)r.lineTo(f+V,c+N);else if(C>Qr){var H=Tn(p,C),tt=Tn(g,C),j=sc(V,N,D,I,i,-tt,h),ut=sc(E,O,L,P,i,-H,h);r.lineTo(f+j.cx+j.x0,c+j.cy+j.y0),C0&&r.arc(f+j.cx,c+j.cy,tt,$e(j.y0,j.x0),$e(j.y1,j.x1),!h),r.arc(f,c,i,$e(j.cy+j.y1,j.cx+j.x1),$e(ut.cy+ut.y1,ut.cx+ut.x1),h),H>0&&r.arc(f+ut.cx,c+ut.cy,H,$e(ut.y1,ut.x1),$e(ut.y0,ut.x0),!h))}else r.lineTo(f+V,c+N),r.arc(f,c,i,u,l,h)}r.closePath()}}}var B3=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return r}(),dP=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new B3},t.prototype.buildPath=function(e,n){V3(e,n)},t.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},t}(Pt);dP.prototype.type="sector";const gr=dP;var z3=function(){function r(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return r}(),pP=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new z3},t.prototype.buildPath=function(e,n){var i=n.cx,a=n.cy,o=Math.PI*2;e.moveTo(i+n.r,a),e.arc(i,a,n.r,0,o,!1),e.moveTo(i+n.r0,a),e.arc(i,a,n.r0,0,o,!0)},t}(Pt);pP.prototype.type="ring";const id=pP;function G3(r,t,e,n){var i=[],a=[],o=[],s=[],l,u,f,c;if(n){f=[1/0,1/0],c=[-1/0,-1/0];for(var h=0,v=r.length;h=2){if(n){var a=G3(i,n,e,t.smoothConstraint);r.moveTo(i[0][0],i[0][1]);for(var o=i.length,s=0;s<(e?o:o-1);s++){var l=a[s*2],u=a[s*2+1],f=i[(s+1)%o];r.bezierCurveTo(l[0],l[1],u[0],u[1],f[0],f[1])}}else{r.moveTo(i[0][0],i[0][1]);for(var s=1,c=i.length;sOa[1]){if(s=!1,a)return s;var f=Math.abs(Oa[0]-ka[1]),c=Math.abs(ka[0]-Oa[1]);Math.min(f,c)>i.len()&&(f0){var c=f.duration,h=f.delay,v=f.easing,d={duration:c,delay:h||0,easing:v,done:a,force:!!a||!!o,setToFinal:!u,scope:r,during:o};s?t.animateFrom(e,d):t.animateTo(e,d)}else t.stopAnimation(),!s&&t.attr(e),o&&o(1),a&&a()}function Ht(r,t,e,n,i,a){w_("update",r,t,e,n,i,a)}function oe(r,t,e,n,i,a){w_("enter",r,t,e,n,i,a)}function Ps(r){if(!r.__zr)return!0;for(var t=0;tMath.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Db(r){return!r.isGroup}function oH(r){return r.shape!=null}function Cf(r,t,e){if(!r||!t)return;function n(o){var s={};return o.traverse(function(l){Db(l)&&l.anid&&(s[l.anid]=l)}),s}function i(o){var s={x:o.x,y:o.y,rotation:o.rotation};return oH(o)&&(s.shape=F({},o.shape)),s}var a=n(r);t.traverse(function(o){if(Db(o)&&o.anid){var s=a[o.anid];if(s){var l=i(o);o.attr(i(s)),Ht(o,l,e,St(o).dataIndex)}}})}function DP(r,t){return Z(r,function(e){var n=e[0];n=Yh(n,t.x),n=Zh(n,t.x+t.width);var i=e[1];return i=Yh(i,t.y),i=Zh(i,t.y+t.height),[n,i]})}function sH(r,t){var e=Yh(r.x,t.x),n=Zh(r.x+r.width,t.x+t.width),i=Yh(r.y,t.y),a=Zh(r.y+r.height,t.y+t.height);if(n>=e&&a>=i)return{x:e,y:i,width:n-e,height:a-i}}function Mf(r,t,e){var n=F({rectHover:!0},t),i=n.style={strokeNoScale:!0};if(e=e||{x:-1,y:-1,width:2,height:2},r)return r.indexOf("image://")===0?(i.image=r.slice(8),pt(i,e),new We(n)):od(r.replace("path://",""),n,e,"center")}function ru(r,t,e,n,i){for(var a=0,o=i[i.length-1];a1)return!1;var g=Lp(v,d,f,c)/h;return!(g<0||g>1)}function Lp(r,t,e,n){return r*n-e*t}function lH(r){return r<=1e-6&&r>=-1e-6}function No(r){var t=r.itemTooltipOption,e=r.componentModel,n=r.itemName,i=nt(t)?{formatter:t}:t,a=e.mainType,o=e.componentIndex,s={componentType:a,name:n,$vars:["name"]};s[a+"Index"]=o;var l=r.formatterParamsExtra;l&&M(kt(l),function(f){lt(s,f)||(s[f]=l[f],s.$vars.push(f))});var u=St(r.el);u.componentMainType=a,u.componentIndex=o,u.tooltipConfig={name:n,option:pt({content:n,encodeHTMLContent:!0,formatterParams:s},i)}}function Ib(r,t){var e;r.isGroup&&(e=t(r)),e||r.traverse(t)}function ga(r,t){if(r)if(Y(r))for(var e=0;e=0&&s.push(l)}),s}}function ya(r,t){return Tt(Tt({},r,!0),t,!0)}const xH={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},bH={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var qh="ZH",C_="EN",Rs=C_,hh={},M_={},OP=zt.domSupported?function(){var r=(document.documentElement.lang||navigator.language||navigator.browserLanguage||Rs).toUpperCase();return r.indexOf(qh)>-1?qh:Rs}():Rs;function NP(r,t){r=r.toUpperCase(),M_[r]=new te(t),hh[r]=t}function wH(r){if(nt(r)){var t=hh[r.toUpperCase()]||{};return r===qh||r===C_?mt(t):Tt(mt(t),mt(hh[Rs]),!1)}else return Tt(mt(r),mt(hh[Rs]),!1)}function ym(r){return M_[r]}function TH(){return M_[Rs]}NP(C_,xH);NP(qh,bH);var D_=1e3,I_=D_*60,Cu=I_*60,Wr=Cu*24,kb=Wr*365,nu={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},fc="{yyyy}-{MM}-{dd}",Ob={year:"{yyyy}",month:"{yyyy}-{MM}",day:fc,hour:fc+" "+nu.hour,minute:fc+" "+nu.minute,second:fc+" "+nu.second,millisecond:nu.none},Ep=["year","month","day","hour","minute","second","millisecond"],VP=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function Li(r,t){return r+="","0000".substr(0,t-r.length)+r}function Es(r){switch(r){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return r}}function AH(r){return r===Es(r)}function CH(r){switch(r){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function ud(r,t,e,n){var i=Yn(r),a=i[L_(e)](),o=i[ks(e)]()+1,s=Math.floor((o-1)/3)+1,l=i[fd(e)](),u=i["get"+(e?"UTC":"")+"Day"](),f=i[ju(e)](),c=(f-1)%12+1,h=i[cd(e)](),v=i[hd(e)](),d=i[vd(e)](),p=f>=12?"pm":"am",g=p.toUpperCase(),y=n instanceof te?n:ym(n||OP)||TH(),m=y.getModel("time"),_=m.get("month"),S=m.get("monthAbbr"),x=m.get("dayOfWeek"),b=m.get("dayOfWeekAbbr");return(t||"").replace(/{a}/g,p+"").replace(/{A}/g,g+"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,Li(a%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,_[o-1]).replace(/{MMM}/g,S[o-1]).replace(/{MM}/g,Li(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,Li(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,x[u]).replace(/{ee}/g,b[u]).replace(/{e}/g,u+"").replace(/{HH}/g,Li(f,2)).replace(/{H}/g,f+"").replace(/{hh}/g,Li(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,Li(h,2)).replace(/{m}/g,h+"").replace(/{ss}/g,Li(v,2)).replace(/{s}/g,v+"").replace(/{SSS}/g,Li(d,3)).replace(/{S}/g,d+"")}function MH(r,t,e,n,i){var a=null;if(nt(e))a=e;else if(vt(e))a=e(r.value,t,{level:r.level});else{var o=F({},nu);if(r.level>0)for(var s=0;s=0;--s)if(l[u]){a=l[u];break}a=a||o.none}if(Y(a)){var c=r.level==null?0:r.level>=0?r.level:a.length+r.level;c=Math.min(c,a.length-1),a=a[c]}}return ud(new Date(r.value),a,i,n)}function BP(r,t){var e=Yn(r),n=e[ks(t)]()+1,i=e[fd(t)](),a=e[ju(t)](),o=e[cd(t)](),s=e[hd(t)](),l=e[vd(t)](),u=l===0,f=u&&s===0,c=f&&o===0,h=c&&a===0,v=h&&i===1,d=v&&n===1;return d?"year":v?"month":h?"day":c?"hour":f?"minute":u?"second":"millisecond"}function Nb(r,t,e){var n=Ft(r)?Yn(r):r;switch(t=t||BP(r,e),t){case"year":return n[L_(e)]();case"half-year":return n[ks(e)]()>=6?1:0;case"quarter":return Math.floor((n[ks(e)]()+1)/4);case"month":return n[ks(e)]();case"day":return n[fd(e)]();case"half-day":return n[ju(e)]()/24;case"hour":return n[ju(e)]();case"minute":return n[cd(e)]();case"second":return n[hd(e)]();case"millisecond":return n[vd(e)]()}}function L_(r){return r?"getUTCFullYear":"getFullYear"}function ks(r){return r?"getUTCMonth":"getMonth"}function fd(r){return r?"getUTCDate":"getDate"}function ju(r){return r?"getUTCHours":"getHours"}function cd(r){return r?"getUTCMinutes":"getMinutes"}function hd(r){return r?"getUTCSeconds":"getSeconds"}function vd(r){return r?"getUTCMilliseconds":"getMilliseconds"}function DH(r){return r?"setUTCFullYear":"setFullYear"}function zP(r){return r?"setUTCMonth":"setMonth"}function GP(r){return r?"setUTCDate":"setDate"}function FP(r){return r?"setUTCHours":"setHours"}function HP(r){return r?"setUTCMinutes":"setMinutes"}function WP(r){return r?"setUTCSeconds":"setSeconds"}function $P(r){return r?"setUTCMilliseconds":"setMilliseconds"}function UP(r){if(!ML(r))return nt(r)?r:"-";var t=(r+"").split(".");return t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function YP(r,t){return r=(r||"").toLowerCase().replace(/-(.)/g,function(e,n){return n.toUpperCase()}),t&&r&&(r=r.charAt(0).toUpperCase()+r.slice(1)),r}var al=t_;function mm(r,t,e){var n="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function i(f){return f&&an(f)?f:"-"}function a(f){return!!(f!=null&&!isNaN(f)&&isFinite(f))}var o=t==="time",s=r instanceof Date;if(o||s){var l=o?Yn(r):r;if(isNaN(+l)){if(s)return"-"}else return ud(l,n,e)}if(t==="ordinal")return Oy(r)?i(r):Ft(r)&&a(r)?r+"":"-";var u=yi(r);return a(u)?UP(u):Oy(r)?i(r):typeof r=="boolean"?r+"":"-"}var Vb=["a","b","c","d","e","f","g"],kp=function(r,t){return"{"+r+(t==null?"":t)+"}"};function ZP(r,t,e){Y(t)||(t=[t]);var n=t.length;if(!n)return"";for(var i=t[0].$vars||[],a=0;a':'';var o=e.markerId||"markerX";return{renderMode:a,content:"{"+o+"|} ",style:i==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:n}:{width:10,height:10,borderRadius:5,backgroundColor:n}}}function Po(r,t){return t=t||"transparent",nt(r)?r:yt(r)&&r.colorStops&&(r.colorStops[0]||{}).color||t}function Kh(r,t){if(t==="_blank"||t==="blank"){var e=window.open();e.opener=null,e.location.href=r}else window.open(r,t)}var vh=M,XP=["left","right","top","bottom","width","height"],lo=[["width","left","right"],["height","top","bottom"]];function P_(r,t,e,n,i){var a=0,o=0;n==null&&(n=1/0),i==null&&(i=1/0);var s=0;t.eachChild(function(l,u){var f=l.getBoundingRect(),c=t.childAt(u+1),h=c&&c.getBoundingRect(),v,d;if(r==="horizontal"){var p=f.width+(h?-h.x+f.x:0);v=a+p,v>n||l.newline?(a=0,v=p,o+=s+e,s=f.height):s=Math.max(s,f.height)}else{var g=f.height+(h?-h.y+f.y:0);d=o+g,d>i||l.newline?(a+=s+e,o=0,d=g,s=f.width):s=Math.max(s,f.width)}l.newline||(l.x=a,l.y=o,l.markRedraw(),r==="horizontal"?a=v+e:o=d+e)})}var wo=P_;bt(P_,"vertical");bt(P_,"horizontal");function PH(r,t,e){var n=t.width,i=t.height,a=rt(r.left,n),o=rt(r.top,i),s=rt(r.right,n),l=rt(r.bottom,i);return(isNaN(a)||isNaN(parseFloat(r.left)))&&(a=0),(isNaN(s)||isNaN(parseFloat(r.right)))&&(s=n),(isNaN(o)||isNaN(parseFloat(r.top)))&&(o=0),(isNaN(l)||isNaN(parseFloat(r.bottom)))&&(l=i),e=al(e||0),{width:Math.max(s-a-e[1]-e[3],0),height:Math.max(l-o-e[0]-e[2],0)}}function be(r,t,e){e=al(e||0);var n=t.width,i=t.height,a=rt(r.left,n),o=rt(r.top,i),s=rt(r.right,n),l=rt(r.bottom,i),u=rt(r.width,n),f=rt(r.height,i),c=e[2]+e[0],h=e[1]+e[3],v=r.aspect;switch(isNaN(u)&&(u=n-s-h-a),isNaN(f)&&(f=i-l-c-o),v!=null&&(isNaN(u)&&isNaN(f)&&(v>n/i?u=n*.8:f=i*.8),isNaN(u)&&(u=v*f),isNaN(f)&&(f=u/v)),isNaN(a)&&(a=n-s-u-h),isNaN(o)&&(o=i-l-f-c),r.left||r.right){case"center":a=n/2-u/2-e[3];break;case"right":a=n-u-h;break}switch(r.top||r.bottom){case"middle":case"center":o=i/2-f/2-e[0];break;case"bottom":o=i-f-c;break}a=a||0,o=o||0,isNaN(u)&&(u=n-h-a-(s||0)),isNaN(f)&&(f=i-c-o-(l||0));var d=new Mt(a+e[3],o+e[0],u,f);return d.margin=e,d}function dd(r,t,e,n,i,a){var o=!i||!i.hv||i.hv[0],s=!i||!i.hv||i.hv[1],l=i&&i.boundingMode||"all";if(a=a||r,a.x=r.x,a.y=r.y,!o&&!s)return!1;var u;if(l==="raw")u=r.type==="group"?new Mt(0,0,+t.width||0,+t.height||0):r.getBoundingRect();else if(u=r.getBoundingRect(),r.needLocalTransform()){var f=r.getLocalTransform();u=u.clone(),u.applyTransform(f)}var c=be(pt({width:u.width,height:u.height},t),e,n),h=o?c.x-u.x:0,v=s?c.y-u.y:0;return l==="raw"?(a.x=h,a.y=v):(a.x+=h,a.y+=v),a===r&&r.markRedraw(),!0}function RH(r,t){return r[lo[t][0]]!=null||r[lo[t][1]]!=null&&r[lo[t][2]]!=null}function Ju(r){var t=r.layoutMode||r.constructor.layoutMode;return yt(t)?t:t?{type:t}:null}function la(r,t,e){var n=e&&e.ignoreSize;!Y(n)&&(n=[n,n]);var i=o(lo[0],0),a=o(lo[1],1);u(lo[0],r,i),u(lo[1],r,a);function o(f,c){var h={},v=0,d={},p=0,g=2;if(vh(f,function(_){d[_]=r[_]}),vh(f,function(_){s(t,_)&&(h[_]=d[_]=t[_]),l(h,_)&&v++,l(d,_)&&p++}),n[c])return l(t,f[1])?d[f[2]]=null:l(t,f[2])&&(d[f[1]]=null),d;if(p===g||!v)return d;if(v>=g)return h;for(var y=0;y=0;l--)s=Tt(s,i[l],!0);n.defaultOption=s}return n.defaultOption},t.prototype.getReferringComponents=function(e,n){var i=e+"Index",a=e+"Id";return wf(this.ecModel,e,{index:this.get(i,!0),id:this.get(a,!0)},n)},t.prototype.getBoxLayoutParams=function(){var e=this;return{left:e.get("left"),top:e.get("top"),right:e.get("right"),bottom:e.get("bottom"),width:e.get("width"),height:e.get("height")}},t.prototype.getZLevelKey=function(){return""},t.prototype.setZLevel=function(e){this.option.zlevel=e},t.protoInitialize=function(){var e=t.prototype;e.type="component",e.id="",e.name="",e.mainType="",e.subType="",e.componentIndex=0}(),t}(te);VL(sl,te);Jv(sl);_H(sl);SH(sl,kH);function kH(r){var t=[];return M(sl.getClassesByMainType(r),function(e){t=t.concat(e.dependencies||e.prototype.dependencies||[])}),t=Z(t,function(e){return Nn(e).main}),r!=="dataset"&&Dt(t,"dataset")<=0&&t.unshift("dataset"),t}const Bt=sl;var KP="";typeof navigator!="undefined"&&(KP=navigator.platform||"");var Jo="rgba(0, 0, 0, 0.2)";const OH={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Jo,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Jo,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Jo,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Jo,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Jo,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Jo,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:KP.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var jP=ft(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),Xr="original",je="arrayRows",qr="objectRows",Xn="keyedColumns",ea="typedArray",JP="unknown",Gn="column",ll="row",Ne={Must:1,Might:2,Not:3},QP=Nt();function NH(r){QP(r).datasetMap=ft()}function t2(r,t,e){var n={},i=E_(t);if(!i||!r)return n;var a=[],o=[],s=t.ecModel,l=QP(s).datasetMap,u=i.uid+"_"+e.seriesLayoutBy,f,c;r=r.slice(),M(r,function(p,g){var y=yt(p)?p:r[g]={name:p};y.type==="ordinal"&&f==null&&(f=g,c=d(y)),n[y.name]=[]});var h=l.get(u)||l.set(u,{categoryWayDim:c,valueWayDim:0});M(r,function(p,g){var y=p.name,m=d(p);if(f==null){var _=h.valueWayDim;v(n[y],_,m),v(o,_,m),h.valueWayDim+=m}else if(f===g)v(n[y],0,m),v(a,0,m);else{var _=h.categoryWayDim;v(n[y],_,m),v(o,_,m),h.categoryWayDim+=m}});function v(p,g,y){for(var m=0;mt)return r[n];return r[e-1]}function n2(r,t,e,n,i,a,o){a=a||r;var s=t(a),l=s.paletteIdx||0,u=s.paletteNameMap=s.paletteNameMap||{};if(u.hasOwnProperty(i))return u[i];var f=o==null||!n?e:FH(n,o);if(f=f||e,!(!f||!f.length)){var c=f[l];return i&&(u[i]=c),s.paletteIdx=(l+1)%f.length,c}}function HH(r,t){t(r).paletteIdx=0,t(r).paletteNameMap={}}var cc,Dl,zb,Gb="\0_ec_inner",WH=1,i2=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.init=function(e,n,i,a,o,s){a=a||{},this.option=null,this._theme=new te(a),this._locale=new te(o),this._optionManager=s},t.prototype.setOption=function(e,n,i){var a=Wb(n);this._optionManager.setOption(e,i,a),this._resetOption(null,a)},t.prototype.resetOption=function(e,n){return this._resetOption(e,Wb(n))},t.prototype._resetOption=function(e,n){var i=!1,a=this._optionManager;if(!e||e==="recreate"){var o=a.mountOption(e==="recreate");!this.option||e==="recreate"?zb(this,o):(this.restoreData(),this._mergeOption(o,n)),i=!0}if((e==="timeline"||e==="media")&&this.restoreData(),!e||e==="recreate"||e==="timeline"){var s=a.getTimelineOption(this);s&&(i=!0,this._mergeOption(s,n))}if(!e||e==="recreate"||e==="media"){var l=a.getMediaOption(this);l.length&&M(l,function(u){i=!0,this._mergeOption(u,n)},this)}return i},t.prototype.mergeOption=function(e){this._mergeOption(e,null)},t.prototype._mergeOption=function(e,n){var i=this.option,a=this._componentsMap,o=this._componentsCount,s=[],l=ft(),u=n&&n.replaceMergeMainTypeMap;NH(this),M(e,function(c,h){c!=null&&(Bt.hasClass(h)?h&&(s.push(h),l.set(h,!0)):i[h]=i[h]==null?mt(c):Tt(i[h],c,!0))}),u&&u.each(function(c,h){Bt.hasClass(h)&&!l.get(h)&&(s.push(h),l.set(h,!0))}),Bt.topologicalTravel(s,Bt.getAllClassMainTypes(),f,this);function f(c){var h=zH(this,c,Zt(e[c])),v=a.get(c),d=v?u&&u.get(c)?"replaceMerge":"normalMerge":"replaceAll",p=RL(v,h,d);aF(p,c,Bt),i[c]=null,a.set(c,null),o.set(c,0);var g=[],y=[],m=0,_;M(p,function(S,x){var b=S.existing,w=S.newOption;if(!w)b&&(b.mergeOption({},this),b.optionUpdated({},!1));else{var T=c==="series",A=Bt.getClass(c,S.keyInfo.subType,!T);if(!A)return;if(c==="tooltip"){if(_)return;_=!0}if(b&&b.constructor===A)b.name=S.keyInfo.name,b.mergeOption(w,this),b.optionUpdated(w,!1);else{var C=F({componentIndex:x},S.keyInfo);b=new A(w,this,this,C),F(b,C),S.brandNew&&(b.__requireNewView=!0),b.init(w,this,this),b.optionUpdated(null,!0)}}b?(g.push(b.option),y.push(b),m++):(g.push(void 0),y.push(void 0))},this),i[c]=g,a.set(c,y),o.set(c,m),c==="series"&&cc(this)}this._seriesIndices||cc(this)},t.prototype.getOption=function(){var e=mt(this.option);return M(e,function(n,i){if(Bt.hasClass(i)){for(var a=Zt(n),o=a.length,s=!1,l=o-1;l>=0;l--)a[l]&&!Yu(a[l])?s=!0:(a[l]=null,!s&&o--);a.length=o,e[i]=a}}),delete e[Gb],e},t.prototype.getTheme=function(){return this._theme},t.prototype.getLocaleModel=function(){return this._locale},t.prototype.setUpdatePayload=function(e){this._payload=e},t.prototype.getUpdatePayload=function(){return this._payload},t.prototype.getComponent=function(e,n){var i=this._componentsMap.get(e);if(i){var a=i[n||0];if(a)return a;if(n==null){for(var o=0;o=t:e==="max"?r<=t:r===t}function t4(r,t){return r.join(",")===t.join(",")}const e4=KH;var jr=M,Qu=yt,$b=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Np(r){var t=r&&r.itemStyle;if(t)for(var e=0,n=$b.length;e=0;g--){var y=r[g];if(s||(d=y.data.rawIndexOf(y.stackedByDimension,v)),d>=0){var m=y.data.getByRawIndex(y.stackResultDimension,d);if(l==="all"||l==="positive"&&m>0||l==="negative"&&m<0||l==="samesign"&&h>=0&&m>0||l==="samesign"&&h<=0&&m<0){h=XG(h,m),p=m;break}}}return n[0]=h,n[1]=p,n})})}var pd=function(){function r(t){this.data=t.data||(t.sourceFormat===Xn?{}:[]),this.sourceFormat=t.sourceFormat||JP,this.seriesLayoutBy=t.seriesLayoutBy||Gn,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;np&&(p=_)}v[0]=d,v[1]=p}},i=function(){return this._data?this._data.length/this._dimSize:0};jb=(t={},t[je+"_"+Gn]={pure:!0,appendData:a},t[je+"_"+ll]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},t[qr]={pure:!0,appendData:a},t[Xn]={pure:!0,appendData:function(o){var s=this._data;M(o,function(l,u){for(var f=s[u]||(s[u]=[]),c=0;c<(l||[]).length;c++)f.push(l[c])})}},t[Xr]={appendData:a},t[ea]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},t);function a(o){for(var s=0;s=0&&(p=o.interpolatedValue[g])}return p!=null?p+"":""})}},r.prototype.getRawValue=function(t,e){return Ws(this.getData(e),t)},r.prototype.formatTooltip=function(t,e,n){},r}();function ew(r){var t,e;return yt(r)?r.type&&(e=r):t=r,{text:t,frag:e}}function Mu(r){return new m4(r)}var m4=function(){function r(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return r.prototype.perform=function(t){var e=this._upstream,n=t&&t.skip;if(this._dirty&&e){var i=this.context;i.data=i.outputData=e.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var o=f(this._modBy),s=this._modDataCount||0,l=f(t&&t.modBy),u=t&&t.modDataCount||0;(o!==l||s!==u)&&(a="reset");function f(m){return!(m>=1)&&(m=1),m}var c;(this._dirty||a==="reset")&&(this._dirty=!1,c=this._doReset(n)),this._modBy=l,this._modDataCount=u;var h=t&&t.step;if(e?this._dueEnd=e._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var v=this._dueIndex,d=Math.min(h!=null?this._dueIndex+h:1/0,this._dueEnd);if(!n&&(c||v1&&n>0?s:o}};return a;function o(){return t=r?null:lt},gte:function(r,t){return r>=t}},S4=function(){function r(t,e){if(!Ft(e)){var n="";Wt(n)}this._opFn=g2[t],this._rvalFloat=yi(e)}return r.prototype.evaluate=function(t){return Ft(t)?this._opFn(t,this._rvalFloat):this._opFn(yi(t),this._rvalFloat)},r}(),y2=function(){function r(t,e){var n=t==="desc";this._resultLT=n?1:-1,e==null&&(e=n?"min":"max"),this._incomparable=e==="min"?-1/0:1/0}return r.prototype.evaluate=function(t,e){var n=Ft(t)?t:yi(t),i=Ft(e)?e:yi(e),a=isNaN(n),o=isNaN(i);if(a&&(n=this._incomparable),o&&(i=this._incomparable),a&&o){var s=nt(t),l=nt(e);s&&(n=l?t:0),l&&(i=s?e:0)}return ni?-this._resultLT:0},r}(),x4=function(){function r(t,e){this._rval=e,this._isEQ=t,this._rvalTypeof=typeof e,this._rvalFloat=yi(e)}return r.prototype.evaluate=function(t){var e=t===this._rval;if(!e){var n=typeof t;n!==this._rvalTypeof&&(n==="number"||this._rvalTypeof==="number")&&(e=yi(t)===this._rvalFloat)}return this._isEQ?e:!e},r}();function b4(r,t){return r==="eq"||r==="ne"?new x4(r==="eq",t):lt(g2,r)?new S4(r,t):null}var w4=function(){function r(){}return r.prototype.getRawData=function(){throw new Error("not supported")},r.prototype.getRawDataItem=function(t){throw new Error("not supported")},r.prototype.cloneRawData=function(){},r.prototype.getDimensionInfo=function(t){},r.prototype.cloneAllDimensionInfo=function(){},r.prototype.count=function(){},r.prototype.retrieveValue=function(t,e){},r.prototype.retrieveValueFromItem=function(t,e){},r.prototype.convertValue=function(t,e){return ra(t,e)},r}();function T4(r,t){var e=new w4,n=r.data,i=e.sourceFormat=r.sourceFormat,a=r.startIndex,o="";r.seriesLayoutBy!==Gn&&Wt(o);var s=[],l={},u=r.dimensionsDefine;if(u)M(u,function(p,g){var y=p.name,m={index:g,name:y,displayName:p.displayName};if(s.push(m),y!=null){var _="";lt(l,y)&&Wt(_),l[y]=m}});else for(var f=0;f65535?R4:E4}function ts(){return[1/0,-1/0]}function k4(r){var t=r.constructor;return t===Array?r.slice():new t(r)}function iw(r,t,e,n,i){var a=S2[e||"float"];if(i){var o=r[t],s=o&&o.length;if(s!==n){for(var l=new a(n),u=0;ug[1]&&(g[1]=p)}return this._rawCount=this._count=l,{start:s,end:l}},r.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,a=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=Z(o,function(m){return m.property}),f=0;fy[1]&&(y[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},r.prototype.count=function(){return this._count},r.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(n!=null&&nt)a=o-1;else return o}return-1},r.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks,a=i[t],o=[];if(!a)return o;n==null&&(n=1/0);for(var s=1/0,l=-1,u=0,f=0,c=this.count();f=0&&l<0)&&(s=d,l=v,u=0),v===l&&(o[u++]=f))}return o.length=u,o},r.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var a=0;a=c&&m<=h||isNaN(m))&&(l[u++]=p),p++}d=!0}else if(a===2){for(var g=v[i[0]],_=v[i[1]],S=t[i[1]][0],x=t[i[1]][1],y=0;y=c&&m<=h||isNaN(m))&&(b>=S&&b<=x||isNaN(b))&&(l[u++]=p),p++}d=!0}}if(!d)if(a===1)for(var y=0;y=c&&m<=h||isNaN(m))&&(l[u++]=w)}else for(var y=0;yt[C][1])&&(T=!1)}T&&(l[u++]=e.getRawIndex(y))}return uy[1]&&(y[1]=g)}}}},r.prototype.lttbDownSample=function(t,e){var n=this.clone([t],!0),i=n._chunks,a=i[t],o=this.count(),s=0,l=Math.floor(1/e),u=this.getRawIndex(0),f,c,h,v=new(Qo(this._rawCount))(Math.min((Math.ceil(o/l)+2)*2,o));v[s++]=u;for(var d=1;df&&(f=c,h=S)}D>0&&Ds&&(p=s-f);for(var g=0;gd&&(d=m,v=f+g)}var _=this.getRawIndex(c),S=this.getRawIndex(v);cf-d&&(l=f-d,s.length=l);for(var p=0;pc[1]&&(c[1]=y),h[v++]=m}return a._count=v,a._indices=h,a._updateGetRawIdx(),a},r.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,a=0,o=this.count();al&&(l=c)}return o=[s,l],this._extent[t]=o,o},r.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,a=0;a=0?this._indices[t]:-1},r.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},r.internalField=function(){function t(e,n,i,a){return ra(e[a],this._dimensions[a])}zp={arrayRows:t,objectRows:function(e,n,i,a){return ra(e[n],this._dimensions[a])},keyedColumns:t,original:function(e,n,i,a){var o=e&&(e.value==null?e:e.value);return ra(o instanceof Array?o[a]:o,this._dimensions[a])},typedArray:function(e,n,i,a){return e[a]}}}(),r}(),x2=function(){function r(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return r.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},r.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},r.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},r.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},r.prototype._createSource=function(){this._setLocalSource([],[]);var t=this._sourceHost,e=this._getUpstreamSourceManagers(),n=!!e.length,i,a;if(hc(t)){var o=t,s=void 0,l=void 0,u=void 0;if(n){var f=e[0];f.prepareSource(),u=f.getSource(),s=u.data,l=u.sourceFormat,a=[f._getVersionSign()]}else s=o.get("data",!0),l=pr(s)?ea:Xr,a=[];var c=this._getSourceMetaRawOption()||{},h=u&&u.metaRawOption||{},v=xt(c.seriesLayoutBy,h.seriesLayoutBy)||null,d=xt(c.sourceHeader,h.sourceHeader),p=xt(c.dimensions,h.dimensions),g=v!==h.seriesLayoutBy||!!d!=!!h.sourceHeader||p;i=g?[xm(s,{seriesLayoutBy:v,sourceHeader:d,dimensions:p},l)]:[]}else{var y=t;if(n){var m=this._applyTransform(e);i=m.sourceList,a=m.upstreamSignList}else{var _=y.get("source",!0);i=[xm(_,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(i,a)},r.prototype._applyTransform=function(t){var e=this._sourceHost,n=e.get("transform",!0),i=e.get("fromTransformResult",!0);if(i!=null){var a="";t.length!==1&&ow(a)}var o,s=[],l=[];return M(t,function(u){u.prepareSource();var f=u.getSource(i||0),c="";i!=null&&!f&&ow(c),s.push(f),l.push(u._getVersionSign())}),n?o=L4(n,s,{datasetIndex:e.componentIndex}):i!=null&&(o=[c4(s[0])]),{sourceList:o,upstreamSignList:l}},r.prototype._isDirty=function(){if(this._dirty)return!0;for(var t=this._getUpstreamSourceManagers(),e=0;e1||e>0&&!r.noHeader;return M(r.blocks,function(i){var a=A2(i);a>=t&&(t=a+ +(n&&(!a||Sm(i)&&!i.noHeader)))}),t}return 0}function V4(r,t,e,n){var i=t.noHeader,a=z4(A2(t)),o=[],s=t.blocks||[];sr(!s||Y(s)),s=s||[];var l=r.orderMode;if(t.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(st(u,l)){var f=new y2(u[l],null);s.sort(function(p,g){return f.evaluate(p.sortParam,g.sortParam)})}else l==="seriesDesc"&&s.reverse()}M(s,function(p,g){var y=t.valueFormatter,m=T2(p)(y?F(F({},r),{valueFormatter:y}):r,p,g>0?a.html:0,n);m!=null&&o.push(m)});var c=r.renderMode==="richText"?o.join(a.richText):xm(n,o.join(""),i?e:a.html);if(i)return c;var h=pm(t.header,"ordinal",r.useUTC),v=w2(n,r.renderMode).nameStyle,d=b2(n);return r.renderMode==="richText"?C2(r,h,v)+a.richText+c:xm(n,'
'+qe(h)+"
"+c,e)}function B4(r,t,e,n){var i=r.renderMode,a=t.noName,o=t.noValue,s=!t.markerType,l=t.name,u=r.useUTC,f=t.valueFormatter||r.valueFormatter||function(S){return S=Y(S)?S:[S],Z(S,function(x,b){return pm(x,Y(v)?v[b]:v,u)})};if(!(a&&o)){var c=s?"":r.markupStyleCreator.makeTooltipMarker(t.markerType,t.markerColor||"#333",i),h=a?"":pm(l,"ordinal",u),v=t.valueType,d=o?[]:f(t.value,t.dataIndex),p=!s||!a,g=!s&&a,y=w2(n,i),m=y.nameStyle,_=y.valueStyle;return i==="richText"?(s?"":c)+(a?"":C2(r,h,m))+(o?"":H4(r,d,p,g,_)):xm(n,(s?"":c)+(a?"":G4(h,!s,m))+(o?"":F4(d,p,g,_)),e)}}function aw(r,t,e,n,i,a){if(r){var o=T2(r),s={useUTC:i,renderMode:e,orderMode:n,markupStyleCreator:t,valueFormatter:r.valueFormatter};return o(s,r,0,a)}}function z4(r){return{html:O4[r],richText:N4[r]}}function xm(r,t,e){var n='
',i="margin: "+e+"px 0 0",a=b2(r);return'
'+t+n+"
"}function G4(r,t,e){var n=t?"margin-left:2px":"";return''+qe(r)+""}function F4(r,t,e,n){var i=e?"10px":"20px",a=t?"float:right;margin-left:"+i:"";return r=Y(r)?r:[r],''+Z(r,function(o){return qe(o)}).join("  ")+""}function C2(r,t,e){return r.markupStyleCreator.wrapRichTextStyle(t,e)}function H4(r,t,e,n,i){var a=[i],o=n?10:20;return e&&a.push({padding:[0,0,0,o],align:"right"}),r.markupStyleCreator.wrapRichTextStyle(Y(t)?t.join(" "):t,a)}function M2(r,t){var e=r.getData().getItemVisual(t,"style"),n=e[r.visualDrawType];return Io(n)}function D2(r,t){var e=r.get("padding");return e!=null?e:t==="richText"?[8,10]:10}var Vp=function(){function r(){this.richTextStyles={},this._nextStyleNameId=DL()}return r.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},r.prototype.makeTooltipMarker=function(t,e,n){var i=n==="richText"?this._generateStyleName():null,a=IH({color:e,type:t,renderMode:n,markerId:i});return nt(a)?a:(this.richTextStyles[i]=a.style,a.content)},r.prototype.wrapRichTextStyle=function(t,e){var n={};Y(e)?M(e,function(a){return F(n,a)}):F(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},r}();function I2(r){var t=r.series,e=r.dataIndex,n=r.multipleSeries,i=t.getData(),a=i.mapDimensionsAll("defaultedTooltip"),o=a.length,s=t.getRawValue(e),l=Y(s),u=M2(t,e),f,c,h,v;if(o>1||l&&!o){var d=W4(s,t,e,a,u);f=d.inlineValues,c=d.inlineValueTypes,h=d.blocks,v=d.inlineValues[0]}else if(o){var p=i.getDimensionInfo(a[0]);v=f=Fs(i,e,a[0]),c=p.type}else v=f=l?s[0]:s;var g=o_(t),y=g&&t.name||"",m=i.getName(e),_=n?y:m;return Ie("section",{header:y,noHeader:n||!g,sortParam:v,blocks:[Ie("nameValue",{markerType:"item",markerColor:u,name:_,noName:!an(_),value:f,valueType:c,dataIndex:e})].concat(h||[])})}function W4(r,t,e,n,i){var a=t.getData(),o=Fn(r,function(c,h,v){var d=a.getDimensionInfo(v);return c=c||d&&d.tooltip!==!1&&d.displayName!=null},!1),s=[],l=[],u=[];n.length?M(n,function(c){f(Fs(a,e,c),c)}):M(r,f);function f(c,h){var v=a.getDimensionInfo(h);!v||v.otherDims.tooltip===!1||(o?u.push(Ie("nameValue",{markerType:"subItem",markerColor:i,name:v.displayName,value:c,valueType:v.type})):(s.push(c),l.push(v.type)))}return{inlineValues:s,inlineValueTypes:l,blocks:u}}var Pi=Nt();function fc(r,t){return r.getName(t)||r.getId(t)}var vh="__universalTransitionEnabled",gd=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return t.prototype.init=function(e,n,i){this.seriesIndex=this.componentIndex,this.dataTask=Tu({count:U4,reset:Y4}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(e,i);var a=Pi(this).sourceManager=new x2(this);a.prepareSource();var o=this.getInitialData(e,i);sw(o,this),this.dataTask.context.data=o,Pi(this).dataBeforeProcessed=o,ow(this),this._initSelectedMapFromData(o)},t.prototype.mergeDefaultAndTheme=function(e,n){var i=qu(this),a=i?il(e):{},o=this.subType;Bt.hasClass(o)&&(o+="Series"),Tt(e,n.getTheme().get(this.subType)),Tt(e,this.getDefaultOption()),Ao(e,"label",["show"]),this.fillDataTextStyle(e.data),i&&sa(e,a,i)},t.prototype.mergeOption=function(e,n){e=Tt(this.option,e,!0),this.fillDataTextStyle(e.data);var i=qu(this);i&&sa(this.option,e,i);var a=Pi(this).sourceManager;a.dirty(),a.prepareSource();var o=this.getInitialData(e,n);sw(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,Pi(this).dataBeforeProcessed=o,ow(this),this._initSelectedMapFromData(o)},t.prototype.fillDataTextStyle=function(e){if(e&&!pr(e))for(var n=["show"],i=0;ithis.getShallow("animationThreshold")&&(n=!1),!!n},t.prototype.restoreData=function(){this.dataTask.dirty()},t.prototype.getColorFromPalette=function(e,n,i){var a=this.ecModel,o=P_.prototype.getColorFromPalette.call(this,e,n,i);return o||(o=a.getColorFromPalette(e,n,i)),o},t.prototype.coordDimToDataDim=function(e){return this.getRawData().mapDimensionsAll(e)},t.prototype.getProgressive=function(){return this.get("progressive")},t.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},t.prototype.select=function(e,n){this._innerSelect(this.getData(n),e)},t.prototype.unselect=function(e,n){var i=this.option.selectedMap;if(i){var a=this.option.selectedMode,o=this.getData(n);if(a==="series"||i==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s=0&&i.push(o)}return i},t.prototype.isSelected=function(e,n){var i=this.option.selectedMap;if(!i)return!1;var a=this.getData(n);return(i==="all"||i[fc(a,e)])&&!a.getItemModel(e).get(["select","disabled"])},t.prototype.isUniversalTransitionEnabled=function(){if(this[vh])return!0;var e=this.option.universalTransition;return e?e===!0?!0:e&&e.enabled:!1},t.prototype._innerSelect=function(e,n){var i,a,o=this.option,s=o.selectedMode,l=n.length;if(!(!s||!l)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){yt(o.selectedMap)||(o.selectedMap={});for(var u=o.selectedMap,f=0;f0&&this._innerSelect(e,n)}},t.registerClass=function(e){return Bt.registerClass(e)},t.protoInitialize=function(){var e=t.prototype;e.type="series.__base__",e.seriesIndex=0,e.ignoreStyleOnData=!1,e.hasSymbolVisual=!1,e.defaultSymbol="circle",e.visualStyleAccessPath="itemStyle",e.visualDrawType="fill"}(),t}(Bt);_e(gd,dd);_e(gd,P_);VL(gd,Bt);function ow(r){var t=r.name;o_(r)||(r.name=$4(r)||t)}function $4(r){var t=r.getRawData(),e=t.mapDimensionsAll("seriesName"),n=[];return M(e,function(i){var a=t.getDimensionInfo(i);a.displayName&&n.push(a.displayName)}),n.join(" ")}function U4(r){return r.model.getRawData().count()}function Y4(r){var t=r.model;return t.setData(t.getRawData().cloneShallow()),Z4}function Z4(r,t){t.outputData&&r.end>t.outputData.count()&&t.model.getRawData().cloneShallow(t.outputData)}function sw(r,t){M(Bu(r.CHANGABLE_METHODS,r.DOWNSAMPLE_METHODS),function(e){r.wrapMethod(e,bt(X4,t))})}function X4(r,t){var e=bm(r);return e&&e.setOutputEnd((t||this).count()),t}function bm(r){var t=(r.ecModel||{}).scheduler,e=t&&t.getPipeline(r.uid);if(e){var n=e.currentTask;if(n){var i=n.agentStubMap;i&&(n=i.get(r.uid))}return n}}const le=gd;var N_=function(){function r(){this.group=new _t,this.uid=rl("viewComponent")}return r.prototype.init=function(t,e){},r.prototype.render=function(t,e,n,i){},r.prototype.dispose=function(t,e){},r.prototype.updateView=function(t,e,n,i){},r.prototype.updateLayout=function(t,e,n,i){},r.prototype.updateVisual=function(t,e,n,i){},r.prototype.toggleBlurSeries=function(t,e,n){},r.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},r}();l_(N_);Kv(N_);const fe=N_;function sl(){var r=Nt();return function(t){var e=r(t),n=t.pipelineContext,i=!!e.large,a=!!e.progressiveRender,o=e.large=!!(n&&n.large),s=e.progressiveRender=!!(n&&n.progressiveRender);return(i!==o||a!==s)&&"reset"}}var L2=Nt(),q4=sl(),V_=function(){function r(){this.group=new _t,this.uid=rl("viewChart"),this.renderTask=Tu({plan:K4,reset:j4}),this.renderTask.context={view:this}}return r.prototype.init=function(t,e){},r.prototype.render=function(t,e,n,i){},r.prototype.highlight=function(t,e,n,i){var a=t.getData(i&&i.dataType);a&&uw(a,i,"emphasis")},r.prototype.downplay=function(t,e,n,i){var a=t.getData(i&&i.dataType);a&&uw(a,i,"normal")},r.prototype.remove=function(t,e){this.group.removeAll()},r.prototype.dispose=function(t,e){},r.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},r.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},r.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},r.prototype.eachRendered=function(t){pa(this.group,t)},r.markUpdateMethod=function(t,e){L2(t).updateMethod=e},r.protoInitialize=function(){var t=r.prototype;t.type="chart"}(),r}();function lw(r,t,e){r&&Yu(r)&&(t==="emphasis"?mi:_i)(r,e)}function uw(r,t,e){var n=Co(r,t),i=t&&t.highlightKey!=null?b3(t.highlightKey):null;n!=null?M(Zt(n),function(a){lw(r.getItemGraphicEl(a),e,i)}):r.eachItemGraphicEl(function(a){lw(a,e,i)})}l_(V_);Kv(V_);function K4(r){return q4(r.model)}function j4(r){var t=r.model,e=r.ecModel,n=r.api,i=r.payload,a=t.pipelineContext.progressiveRender,o=r.view,s=i&&L2(i).updateMethod,l=a?"incrementalPrepareRender":s&&o[s]?s:"render";return l!=="render"&&o[l](t,e,n,i),J4[l]}var J4={incrementalPrepareRender:{progress:function(r,t){t.view.incrementalRender(r,t.model,t.ecModel,t.api,t.payload)}},render:{forceFirstProgress:!0,progress:function(r,t){t.view.render(t.model,t.ecModel,t.api,t.payload)}}};const ee=V_;var qh="\0__throttleOriginMethod",fw="\0__throttleRate",cw="\0__throttleType";function B_(r,t,e){var n,i=0,a=0,o=null,s,l,u,f;t=t||0;function c(){a=new Date().getTime(),o=null,r.apply(l,u||[])}var h=function(){for(var v=[],d=0;d=0?c():o=setTimeout(c,-s),i=n};return h.clear=function(){o&&(clearTimeout(o),o=null)},h.debounceNextCall=function(v){f=v},h}function ll(r,t,e,n){var i=r[t];if(i){var a=i[qh]||i,o=i[cw],s=i[fw];if(s!==e||o!==n){if(e==null||!n)return r[t]=a;i=r[t]=B_(a,e,n==="debounce"),i[qh]=a,i[cw]=n,i[fw]=e}return i}}function ju(r,t){var e=r[t];e&&e[qh]&&(e.clear&&e.clear(),r[t]=e[qh])}var hw=Nt(),vw={itemStyle:Mo(kP,!0),lineStyle:Mo(EP,!0)},Q4={lineStyle:"stroke",itemStyle:"fill"};function P2(r,t){var e=r.visualStyleMapper||vw[t];return e||(console.warn("Unknown style type '"+t+"'."),vw.itemStyle)}function R2(r,t){var e=r.visualDrawType||Q4[t];return e||(console.warn("Unknown style type '"+t+"'."),"fill")}var tW={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){var e=r.getData(),n=r.visualStyleAccessPath||"itemStyle",i=r.getModel(n),a=P2(r,n),o=a(i),s=i.getShallow("decal");s&&(e.setVisual("decal",s),s.dirty=!0);var l=R2(r,n),u=o[l],f=vt(u)?u:null,c=o.fill==="auto"||o.stroke==="auto";if(!o[l]||f||c){var h=r.getColorFromPalette(r.name,null,t.getSeriesCount());o[l]||(o[l]=h,e.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||vt(o.fill)?h:o.fill,o.stroke=o.stroke==="auto"||vt(o.stroke)?h:o.stroke}if(e.setVisual("style",o),e.setVisual("drawType",l),!t.isSeriesFiltered(r)&&f)return e.setVisual("colorFromPalette",!1),{dataEach:function(v,d){var p=r.getDataParams(d),g=F({},o);g[l]=f(p),v.setItemVisual(d,"style",g)}}}},Dl=new te,eW={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){if(!(r.ignoreStyleOnData||t.isSeriesFiltered(r))){var e=r.getData(),n=r.visualStyleAccessPath||"itemStyle",i=P2(r,n),a=e.getVisual("drawType");return{dataEach:e.hasItemOption?function(o,s){var l=o.getRawDataItem(s);if(l&&l[n]){Dl.option=l[n];var u=i(Dl),f=o.ensureUniqueItemVisual(s,"style");F(f,u),Dl.option.decal&&(o.setItemVisual(s,"decal",Dl.option.decal),Dl.option.decal.dirty=!0),a in u&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},rW={performRawSeries:!0,overallReset:function(r){var t=ft();r.eachSeries(function(e){var n=e.getColorBy();if(!e.isColorBySeries()){var i=e.type+"-"+n,a=t.get(i);a||(a={},t.set(i,a)),hw(e).scope=a}}),r.eachSeries(function(e){if(!(e.isColorBySeries()||r.isSeriesFiltered(e))){var n=e.getRawData(),i={},a=e.getData(),o=hw(e).scope,s=e.visualStyleAccessPath||"itemStyle",l=R2(e,s);a.each(function(u){var f=a.getRawIndex(u);i[f]=u}),n.each(function(u){var f=i[u],c=a.getItemVisual(f,"colorFromPalette");if(c){var h=a.ensureUniqueItemVisual(f,"style"),v=n.getName(u)||u+"",d=n.count();h[l]=e.getColorFromPalette(v,o,d)}})}})}},cc=Math.PI;function nW(r,t){t=t||{},pt(t,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var e=new _t,n=new Vt({style:{fill:t.maskColor},zlevel:t.zlevel,z:1e4});e.add(n);var i=new Gt({style:{text:t.text,fill:t.textColor,fontSize:t.fontSize,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:t.fontFamily},zlevel:t.zlevel,z:10001}),a=new Vt({style:{fill:"none"},textContent:i,textConfig:{position:"right",distance:10},zlevel:t.zlevel,z:10001});e.add(a);var o;return t.showSpinner&&(o=new m_({shape:{startAngle:-cc/2,endAngle:-cc/2+.1,r:t.spinnerRadius},style:{stroke:t.color,lineCap:"round",lineWidth:t.lineWidth},zlevel:t.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:cc*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:cc*3/2}).delay(300).start("circularInOut"),e.add(o)),e.resize=function(){var s=i.getBoundingRect().width,l=t.showSpinner?t.spinnerRadius:0,u=(r.getWidth()-l*2-(t.showSpinner&&s?10:0)-s)/2-(t.showSpinner&&s?0:5+s/2)+(t.showSpinner?0:s/2)+(s?0:l),f=r.getHeight()/2;t.showSpinner&&o.setShape({cx:u,cy:f}),a.setShape({x:u-l,y:f-l,width:l*2,height:l*2}),n.setShape({x:0,y:0,width:r.getWidth(),height:r.getHeight()})},e.resize(),e}var iW=function(){function r(t,e,n,i){this._stageTaskMap=ft(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return r.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(n){var i=n.overallTask;i&&i.dirty()})},r.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,a=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex,o=a?n.step:null,s=i&&i.modDataCount,l=s!=null?Math.ceil(s/o):null;return{step:o,modBy:l,modDataCount:s}}},r.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},r.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData(),a=i.count(),o=n.progressiveEnabled&&e.incrementalPrepareRender&&a>=n.threshold,s=t.get("large")&&a>=t.get("largeThreshold"),l=t.get("progressiveChunkMode")==="mod"?a:null;t.pipelineContext=n.context={progressiveRender:o,modDataCount:l,large:s}},r.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=ft();t.eachSeries(function(i){var a=i.getProgressive(),o=i.uid;n.set(o,{id:o,head:null,tail:null,threshold:i.getProgressiveThreshold(),progressiveEnabled:a&&!(i.preventIncremental&&i.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),e._pipe(i,i.dataTask)})},r.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;M(this._allHandlers,function(i){var a=t.get(i.uid)||t.set(i.uid,{}),o="";sr(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,a,e,n),i.overallReset&&this._createOverallStageTask(i,a,e,n)},this)},r.prototype.prepareView=function(t,e,n,i){var a=t.renderTask,o=a.context;o.model=e,o.ecModel=n,o.api=i,a.__block=!t.incrementalPrepareRender,this._pipe(e,a)},r.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},r.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},r.prototype._performStageTasks=function(t,e,n,i){i=i||{};var a=!1,o=this;M(t,function(l,u){if(!(i.visualType&&i.visualType!==l.visualType)){var f=o._stageTaskMap.get(l.uid),c=f.seriesTaskMap,h=f.overallTask;if(h){var v,d=h.agentStubMap;d.each(function(g){s(i,g)&&(g.dirty(),v=!0)}),v&&h.dirty(),o.updatePayload(h,n);var p=o.getPerformArgs(h,i.block);d.each(function(g){g.perform(p)}),h.perform(p)&&(a=!0)}else c&&c.each(function(g,y){s(i,g)&&g.dirty();var m=o.getPerformArgs(g,i.block);m.skip=!l.performRawSeries&&e.isSeriesFiltered(g.context.model),o.updatePayload(g,n),g.perform(m)&&(a=!0)})}});function s(l,u){return l.setDirty&&(!l.dirtyMap||l.dirtyMap.get(u.__pipeline.id))}this.unfinished=a||this.unfinished},r.prototype.performSeriesTasks=function(t){var e;t.eachSeries(function(n){e=n.dataTask.perform()||e}),this.unfinished=e||this.unfinished},r.prototype.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})},r.prototype.updatePayload=function(t,e){e!=="remain"&&(t.context.payload=e)},r.prototype._createSeriesStageTask=function(t,e,n,i){var a=this,o=e.seriesTaskMap,s=e.seriesTaskMap=ft(),l=t.seriesType,u=t.getTargetSeries;t.createOnAllSeries?n.eachRawSeries(f):l?n.eachRawSeriesByType(l,f):u&&u(n,i).each(f);function f(c){var h=c.uid,v=s.set(h,o&&o.get(h)||Tu({plan:uW,reset:fW,count:hW}));v.context={model:c,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:a},a._pipe(c,v)}},r.prototype._createOverallStageTask=function(t,e,n,i){var a=this,o=e.overallTask=e.overallTask||Tu({reset:aW});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:a};var s=o.agentStubMap,l=o.agentStubMap=ft(),u=t.seriesType,f=t.getTargetSeries,c=!0,h=!1,v="";sr(!t.createOnAllSeries,v),u?n.eachRawSeriesByType(u,d):f?f(n,i).each(d):(c=!1,M(n.getSeries(),d));function d(p){var g=p.uid,y=l.set(g,s&&s.get(g)||(h=!0,Tu({reset:oW,onDirty:lW})));y.context={model:p,overallProgress:c},y.agent=o,y.__block=c,a._pipe(p,y)}h&&o.dirty()},r.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},r.wrapStageHandler=function(t,e){return vt(t)&&(t={overallReset:t,seriesType:vW(t)}),t.uid=rl("stageHandler"),e&&(t.visualType=e),t},r}();function aW(r){r.overallReset(r.ecModel,r.api,r.payload)}function oW(r){return r.overallProgress&&sW}function sW(){this.agent.dirty(),this.getDownstream().dirty()}function lW(){this.agent&&this.agent.dirty()}function uW(r){return r.plan?r.plan(r.model,r.ecModel,r.api,r.payload):null}function fW(r){r.useClearVisual&&r.data.clearAllVisual();var t=r.resetDefines=Zt(r.reset(r.model,r.ecModel,r.api,r.payload));return t.length>1?Z(t,function(e,n){return E2(n)}):cW}var cW=E2(0);function E2(r){return function(t,e){var n=e.data,i=e.resetDefines[r];if(i&&i.dataEach)for(var a=t.start;a0&&v===u.length-h.length){var d=u.slice(0,v);d!=="data"&&(e.mainType=d,e[h.toLowerCase()]=l,f=!0)}}s.hasOwnProperty(u)&&(n[u]=l,f=!0),f||(i[u]=l)})}return{cptQuery:e,dataQuery:n,otherQuery:i}},r.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,a=n.packedEvent,o=n.model,s=n.view;if(!o||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return f(l,o,"mainType")&&f(l,o,"subType")&&f(l,o,"index","componentIndex")&&f(l,o,"name")&&f(l,o,"id")&&f(u,a,"name")&&f(u,a,"dataIndex")&&f(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,i,a));function f(c,h,v,d){return c[v]==null||h[d||v]===c[v]}},r.prototype.afterTrigger=function(){this.eventInfo=null},r}(),wm=["symbol","symbolSize","symbolRotate","symbolOffset"],yw=wm.concat(["symbolKeepAspect"]),yW={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){var e=r.getData();if(r.legendIcon&&e.setVisual("legendIcon",r.legendIcon),!r.hasSymbolVisual)return;for(var n={},i={},a=!1,o=0;o=0&&lo(l)?l:.5;var u=r.createRadialGradient(o,s,0,o,s,l);return u}function Tm(r,t,e){for(var n=t.type==="radial"?EW(r,t,e):RW(r,t,e),i=t.colorStops,a=0;a0)?null:r==="dashed"?[4*t,2*t]:r==="dotted"?[t]:Ft(r)?[r]:Y(r)?r:null}function G_(r){var t=r.style,e=t.lineDash&&t.lineWidth>0&&OW(t.lineDash,t.lineWidth),n=t.lineDashOffset;if(e){var i=t.strokeNoScale&&r.getLineScale?r.getLineScale():1;i&&i!==1&&(e=Z(e,function(a){return a/i}),n/=i)}return[e,n]}var NW=new Un(!0);function Jh(r){var t=r.stroke;return!(t==null||t==="none"||!(r.lineWidth>0))}function mw(r){return typeof r=="string"&&r!=="none"}function Qh(r){var t=r.fill;return t!=null&&t!=="none"}function _w(r,t){if(t.fillOpacity!=null&&t.fillOpacity!==1){var e=r.globalAlpha;r.globalAlpha=t.fillOpacity*t.opacity,r.fill(),r.globalAlpha=e}else r.fill()}function Sw(r,t){if(t.strokeOpacity!=null&&t.strokeOpacity!==1){var e=r.globalAlpha;r.globalAlpha=t.strokeOpacity*t.opacity,r.stroke(),r.globalAlpha=e}else r.stroke()}function Am(r,t,e){var n=u_(t.image,t.__image,e);if(jv(n)){var i=r.createPattern(n,t.repeat||"repeat");if(typeof DOMMatrix=="function"&&i&&i.setTransform){var a=new DOMMatrix;a.translateSelf(t.x||0,t.y||0),a.rotateSelf(0,0,(t.rotation||0)*Qc),a.scaleSelf(t.scaleX||1,t.scaleY||1),i.setTransform(a)}return i}}function VW(r,t,e,n){var i,a=Jh(e),o=Qh(e),s=e.strokePercent,l=s<1,u=!t.path;(!t.silent||l)&&u&&t.createPathProxy();var f=t.path||NW,c=t.__dirty;if(!n){var h=e.fill,v=e.stroke,d=o&&!!h.colorStops,p=a&&!!v.colorStops,g=o&&!!h.image,y=a&&!!v.image,m=void 0,_=void 0,S=void 0,x=void 0,b=void 0;(d||p)&&(b=t.getBoundingRect()),d&&(m=c?Tm(r,h,b):t.__canvasFillGradient,t.__canvasFillGradient=m),p&&(_=c?Tm(r,v,b):t.__canvasStrokeGradient,t.__canvasStrokeGradient=_),g&&(S=c||!t.__canvasFillPattern?Am(r,h,t):t.__canvasFillPattern,t.__canvasFillPattern=S),y&&(x=c||!t.__canvasStrokePattern?Am(r,v,t):t.__canvasStrokePattern,t.__canvasStrokePattern=S),d?r.fillStyle=m:g&&(S?r.fillStyle=S:o=!1),p?r.strokeStyle=_:y&&(x?r.strokeStyle=x:a=!1)}var w=t.getGlobalScale();f.setScale(w[0],w[1],t.segmentIgnoreThreshold);var T,A;r.setLineDash&&e.lineDash&&(i=G_(t),T=i[0],A=i[1]);var C=!0;(u||c&vs)&&(f.setDPR(r.dpr),l?f.setContext(null):(f.setContext(r),C=!1),f.reset(),t.buildPath(f,t.shape,n),f.toStatic(),t.pathUpdated()),C&&f.rebuildPath(r,l?s:1),T&&(r.setLineDash(T),r.lineDashOffset=A),n||(e.strokeFirst?(a&&Sw(r,e),o&&_w(r,e)):(o&&_w(r,e),a&&Sw(r,e))),T&&r.setLineDash([])}function BW(r,t,e){var n=t.__image=u_(e.image,t.__image,t,t.onload);if(!(!n||!jv(n))){var i=e.x||0,a=e.y||0,o=t.getWidth(),s=t.getHeight(),l=n.width/n.height;if(o==null&&s!=null?o=s*l:s==null&&o!=null?s=o/l:o==null&&s==null&&(o=n.width,s=n.height),e.sWidth&&e.sHeight){var u=e.sx||0,f=e.sy||0;r.drawImage(n,u,f,e.sWidth,e.sHeight,i,a,o,s)}else if(e.sx&&e.sy){var u=e.sx,f=e.sy,c=o-u,h=s-f;r.drawImage(n,u,f,c,h,i,a,o,s)}else r.drawImage(n,i,a,o,s)}}function zW(r,t,e){var n,i=e.text;if(i!=null&&(i+=""),i){r.font=e.font||na,r.textAlign=e.textAlign,r.textBaseline=e.textBaseline;var a=void 0,o=void 0;r.setLineDash&&e.lineDash&&(n=G_(t),a=n[0],o=n[1]),a&&(r.setLineDash(a),r.lineDashOffset=o),e.strokeFirst?(Jh(e)&&r.strokeText(i,e.x,e.y),Qh(e)&&r.fillText(i,e.x,e.y)):(Qh(e)&&r.fillText(i,e.x,e.y),Jh(e)&&r.strokeText(i,e.x,e.y)),a&&r.setLineDash([])}}var xw=["shadowBlur","shadowOffsetX","shadowOffsetY"],bw=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function G2(r,t,e,n,i){var a=!1;if(!n&&(e=e||{},t===e))return!1;if(n||t.opacity!==e.opacity){dr(r,i),a=!0;var o=Math.max(Math.min(t.opacity,1),0);r.globalAlpha=isNaN(o)?yo.opacity:o}(n||t.blend!==e.blend)&&(a||(dr(r,i),a=!0),r.globalCompositeOperation=t.blend||yo.blend);for(var s=0;s0&&e.unfinished);e.unfinished||this._zr.flush()}}},t.prototype.getDom=function(){return this._dom},t.prototype.getId=function(){return this.id},t.prototype.getZr=function(){return this._zr},t.prototype.isSSR=function(){return this._ssr},t.prototype.setOption=function(e,n,i){if(!this[$e]){if(this._disposed){this.id;return}var a,o,s;if(yt(n)&&(i=n.lazyUpdate,a=n.silent,o=n.replaceMerge,s=n.transition,n=n.notMerge),this[$e]=!0,!this._model||n){var l=new t4(this._api),u=this._theme,f=this._model=new a2;f.scheduler=this._scheduler,f.ssr=this._ssr,f.init(null,null,null,u,this._locale,l)}this._model.setOption(e,{replaceMerge:o},Mm);var c={seriesTransition:s,optionChanged:!0};if(i)this[fr]={silent:a,updateParams:c},this[$e]=!1,this.getZr().wakeUp();else{try{ts(this),Ri.update.call(this,null,c)}catch(h){throw this[fr]=null,this[$e]=!1,h}this._ssr||this._zr.flush(),this[fr]=null,this[$e]=!1,Il.call(this,a),Ll.call(this,a)}}},t.prototype.setTheme=function(){},t.prototype.getModel=function(){return this._model},t.prototype.getOption=function(){return this._model&&this._model.getOption()},t.prototype.getWidth=function(){return this._zr.getWidth()},t.prototype.getHeight=function(){return this._zr.getHeight()},t.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||zt.hasGlobalWindow&&window.devicePixelRatio||1},t.prototype.getRenderedCanvas=function(e){return this.renderToCanvas(e)},t.prototype.renderToCanvas=function(e){e=e||{};var n=this._zr.painter;return n.getRenderedCanvas({backgroundColor:e.backgroundColor||this._model.get("backgroundColor"),pixelRatio:e.pixelRatio||this.getDevicePixelRatio()})},t.prototype.renderToSVGString=function(e){e=e||{};var n=this._zr.painter;return n.renderToString({useViewBox:e.useViewBox})},t.prototype.getSvgDataURL=function(){if(zt.svgSupported){var e=this._zr,n=e.storage.getDisplayList();return M(n,function(i){i.stopAnimation(null,!0)}),e.painter.toDataURL()}},t.prototype.getDataURL=function(e){if(this._disposed){this.id;return}e=e||{};var n=e.excludeComponents,i=this._model,a=[],o=this;M(n,function(l){i.eachComponent({mainType:l},function(u){var f=o._componentsMap[u.__viewId];f.group.ignore||(a.push(f),f.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(e).toDataURL("image/"+(e&&e.type||"png"));return M(a,function(l){l.group.ignore=!1}),s},t.prototype.getConnectedDataURL=function(e){if(this._disposed){this.id;return}var n=e.type==="svg",i=this.group,a=Math.min,o=Math.max,s=1/0;if(Vw[i]){var l=s,u=s,f=-s,c=-s,h=[],v=e&&e.pixelRatio||this.getDevicePixelRatio();M(Cu,function(_,S){if(_.group===i){var x=n?_.getZr().painter.getSvgDom().innerHTML:_.renderToCanvas(mt(e)),b=_.getDom().getBoundingClientRect();l=a(b.left,l),u=a(b.top,u),f=o(b.right,f),c=o(b.bottom,c),h.push({dom:x,left:b.left,top:b.top})}}),l*=v,u*=v,f*=v,c*=v;var d=f-l,p=c-u,g=ia.createCanvas(),y=Hx(g,{renderer:n?"svg":"canvas"});if(y.resize({width:d,height:p}),n){var m="";return M(h,function(_){var S=_.left-l,x=_.top-u;m+=''+_.dom+""}),y.painter.getSvgRoot().innerHTML=m,e.connectedBackgroundColor&&y.painter.setBackgroundColor(e.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}else return e.connectedBackgroundColor&&y.add(new Vt({shape:{x:0,y:0,width:d,height:p},style:{fill:e.connectedBackgroundColor}})),M(h,function(_){var S=new He({style:{x:_.left*v-l,y:_.top*v-u,image:_.dom}});y.add(S)}),y.refreshImmediately(),g.toDataURL("image/"+(e&&e.type||"png"))}else return this.getDataURL(e)},t.prototype.convertToPixel=function(e,n){return Hp(this,"convertToPixel",e,n)},t.prototype.convertFromPixel=function(e,n){return Hp(this,"convertFromPixel",e,n)},t.prototype.containPixel=function(e,n){if(this._disposed){this.id;return}var i=this._model,a,o=_u(i,e);return M(o,function(s,l){l.indexOf("Models")>=0&&M(s,function(u){var f=u.coordinateSystem;if(f&&f.containPoint)a=a||!!f.containPoint(n);else if(l==="seriesModels"){var c=this._chartsMap[u.__viewId];c&&c.containPoint&&(a=a||c.containPoint(n,u))}},this)},this),!!a},t.prototype.getVisual=function(e,n){var i=this._model,a=_u(i,e,{defaultMainType:"series"}),o=a.seriesModel,s=o.getData(),l=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?s.indexOfRawIndex(a.dataIndex):null;return l!=null?z_(s,l,n):Cf(s,n)},t.prototype.getViewOfComponentModel=function(e){return this._componentsMap[e.__viewId]},t.prototype.getViewOfSeriesModel=function(e){return this._chartsMap[e.__viewId]},t.prototype._initEvents=function(){var e=this;M(c$,function(n){var i=function(a){var o=e.getModel(),s=a.target,l,u=n==="globalout";if(u?l={}:s&&so(s,function(d){var p=St(d);if(p&&p.dataIndex!=null){var g=p.dataModel||o.getSeriesByIndex(p.seriesIndex);return l=g&&g.getDataParams(p.dataIndex,p.dataType,s)||{},!0}else if(p.eventData)return l=F({},p.eventData),!0},!0),l){var f=l.componentType,c=l.componentIndex;(f==="markLine"||f==="markPoint"||f==="markArea")&&(f="series",c=l.seriesIndex);var h=f&&c!=null&&o.getComponent(f,c),v=h&&e[h.mainType==="series"?"_chartsMap":"_componentsMap"][h.__viewId];l.event=a,l.type=n,e._$eventProcessor.eventInfo={targetEl:s,packedEvent:l,model:h,view:v},e.trigger(n,l)}};i.zrEventfulCallAtLast=!0,e._zr.on(n,i,e)}),M(Au,function(n,i){e._messageCenter.on(i,function(a){this.trigger(i,a)},e)}),M(["selectchanged"],function(n){e._messageCenter.on(n,function(i){this.trigger(n,i)},e)}),_W(this._messageCenter,this,this._api)},t.prototype.isDisposed=function(){return this._disposed},t.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},t.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var e=this.getDom();e&&kL(this.getDom(),W_,"");var n=this,i=n._api,a=n._model;M(n._componentsViews,function(o){o.dispose(a,i)}),M(n._chartsViews,function(o){o.dispose(a,i)}),n._zr.dispose(),n._dom=n._model=n._chartsMap=n._componentsMap=n._chartsViews=n._componentsViews=n._scheduler=n._api=n._zr=n._throttledZrFlush=n._theme=n._coordSysMgr=n._messageCenter=null,delete Cu[n.id]},t.prototype.resize=function(e){if(!this[$e]){if(this._disposed){this.id;return}this._zr.resize(e);var n=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!n){var i=n.resetOption("media"),a=e&&e.silent;this[fr]&&(a==null&&(a=this[fr].silent),i=!0,this[fr]=null),this[$e]=!0;try{i&&ts(this),Ri.update.call(this,{type:"resize",animation:F({duration:0},e&&e.animation)})}catch(o){throw this[$e]=!1,o}this[$e]=!1,Il.call(this,a),Ll.call(this,a)}}},t.prototype.showLoading=function(e,n){if(this._disposed){this.id;return}if(yt(e)&&(n=e,e=""),e=e||"default",this.hideLoading(),!!Dm[e]){var i=Dm[e](this._api,n),a=this._zr;this._loadingFX=i,a.add(i)}},t.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},t.prototype.makeActionFromEvent=function(e){var n=F({},e);return n.type=Au[e.type],n},t.prototype.dispatchAction=function(e,n){if(this._disposed){this.id;return}if(yt(n)||(n={silent:!!n}),!!tv[e.type]&&this._model){if(this[$e]){this._pendingActions.push(e);return}var i=n.silent;$p.call(this,e,i);var a=n.flush;a?this._zr.flush():a!==!1&&zt.browser.weChat&&this._throttledZrFlush(),Il.call(this,i),Ll.call(this,i)}},t.prototype.updateLabelLayout=function(){en.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},t.prototype.appendData=function(e){if(this._disposed){this.id;return}var n=e.seriesIndex,i=this.getModel(),a=i.getSeriesByIndex(n);a.appendData(e),this._scheduler.unfinished=!0,this.getZr().wakeUp()},t.internalField=function(){ts=function(c){var h=c._scheduler;h.restorePipelines(c._model),h.prepareStageTasks(),Fp(c,!0),Fp(c,!1),h.plan()},Fp=function(c,h){for(var v=c._model,d=c._scheduler,p=h?c._componentsViews:c._chartsViews,g=h?c._componentsMap:c._chartsMap,y=c._zr,m=c._api,_=0;_h.get("hoverLayerThreshold")&&!zt.node&&!zt.worker&&h.eachSeries(function(g){if(!g.preventUsingHoverLayer){var y=c._chartsMap[g.__viewId];y.__alive&&y.eachRendered(function(m){m.states.emphasis&&(m.states.emphasis.hoverLayer=!0)})}})}function o(c,h){var v=c.get("blendMode")||null;h.eachRendered(function(d){d.isGroup||(d.style.blend=v)})}function s(c,h){if(!c.preventAutoZ){var v=c.get("z")||0,d=c.get("zlevel")||0;h.eachRendered(function(p){return l(p,v,d,-1/0),!0})}}function l(c,h,v,d){var p=c.getTextContent(),g=c.getTextGuideLine(),y=c.isGroup;if(y)for(var m=c.childrenRef(),_=0;_0?{duration:p,delay:v.get("delay"),easing:v.get("easing")}:null;h.eachRendered(function(y){if(y.states&&y.states.emphasis){if(Is(y))return;if(y instanceof Pt&&w3(y),y.__dirty){var m=y.prevStates;m&&y.useStates(m)}if(d){y.stateTransition=g;var _=y.getTextContent(),S=y.getTextGuideLine();_&&(_.stateTransition=g),S&&(S.stateTransition=g)}y.__dirty&&i(y)}})}Ow=function(c){return new(function(h){B(v,h);function v(){return h!==null&&h.apply(this,arguments)||this}return v.prototype.getCoordinateSystems=function(){return c._coordSysMgr.getCoordinateSystems()},v.prototype.getComponentByElement=function(d){for(;d;){var p=d.__ecComponentInfo;if(p!=null)return c._model.getComponent(p.mainType,p.index);d=d.parent}},v.prototype.enterEmphasis=function(d,p){mi(d,p),Lr(c)},v.prototype.leaveEmphasis=function(d,p){_i(d,p),Lr(c)},v.prototype.enterBlur=function(d){eP(d),Lr(c)},v.prototype.leaveBlur=function(d){d_(d),Lr(c)},v.prototype.enterSelect=function(d){rP(d),Lr(c)},v.prototype.leaveSelect=function(d){nP(d),Lr(c)},v.prototype.getModel=function(){return c.getModel()},v.prototype.getViewOfComponentModel=function(d){return c.getViewOfComponentModel(d)},v.prototype.getViewOfSeriesModel=function(d){return c.getViewOfSeriesModel(d)},v}(o2))(c)},eR=function(c){function h(v,d){for(var p=0;p=0)){Bw.push(e);var a=N2.wrapStageHandler(e,i);a.__prio=t,a.__raw=e,r.push(a)}}function oR(r,t){Dm[r]=t}function m$(r,t,e){var n=KW("registerMap");n&&n(r,t,e)}var _$=D4;Bo(F_,tW);Bo(yd,eW);Bo(yd,rW);Bo(F_,yW);Bo(yd,mW);Bo(q2,ZW);$_(l2);aR(QW,l4);oR("default",nW);Zn({type:mo,event:mo,update:mo},de);Zn({type:lh,event:lh,update:lh},de);Zn({type:Su,event:Su,update:Su},de);Zn({type:uh,event:uh,update:uh},de);Zn({type:xu,event:xu,update:xu},de);iR("light",dW);iR("dark",pW);var zw=[],S$={registerPreprocessor:$_,registerProcessor:aR,registerPostInit:d$,registerPostUpdate:p$,registerUpdateLifecycle:U_,registerAction:Zn,registerCoordinateSystem:g$,registerLayout:y$,registerVisual:Bo,registerTransform:_$,registerLoading:oR,registerMap:m$,registerImpl:qW,PRIORITY:l$,ComponentModel:Bt,ComponentView:fe,SeriesModel:le,ChartView:ee,registerComponentModel:function(r){Bt.registerClass(r)},registerComponentView:function(r){fe.registerClass(r)},registerSeriesModel:function(r){le.registerClass(r)},registerChartView:function(r){ee.registerClass(r)},registerSubTypeDefaulter:function(r,t){Bt.registerSubTypeDefaulter(r,t)},registerPainter:function(r,t){FG(r,t)}};function Lt(r){if(Y(r)){M(r,function(t){Lt(t)});return}Dt(zw,r)>=0||(zw.push(r),vt(r)&&(r={install:r}),r.install(S$))}function Pl(r){return r==null?0:r.length||1}function Gw(r){return r}var x$=function(){function r(t,e,n,i,a,o){this._old=t,this._new=e,this._oldKeyGetter=n||Gw,this._newKeyGetter=i||Gw,this.context=a,this._diffModeMultiple=o==="multiple"}return r.prototype.add=function(t){return this._add=t,this},r.prototype.update=function(t){return this._update=t,this},r.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},r.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},r.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},r.prototype.remove=function(t){return this._remove=t,this},r.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},r.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),a=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,a,"_newKeyGetter");for(var o=0;o1){var f=l.shift();l.length===1&&(n[s]=l[0]),this._update&&this._update(f,o)}else u===1?(n[s]=null,this._update&&this._update(l,o)):this._remove&&this._remove(o)}this._performRestAdd(a,n)},r.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},a=[],o=[];this._initIndexMap(t,n,a,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var s=0;s1&&h===1)this._updateManyToOne&&this._updateManyToOne(f,u),i[l]=null;else if(c===1&&h>1)this._updateOneToMany&&this._updateOneToMany(f,u),i[l]=null;else if(c===1&&h===1)this._update&&this._update(f,u),i[l]=null;else if(c>1&&h>1)this._updateManyToMany&&this._updateManyToMany(f,u),i[l]=null;else if(c>1)for(var v=0;v1)for(var s=0;s30}var Rl=yt,Ei=Z,D$=typeof Int32Array=="undefined"?Array:Int32Array,I$="e\0\0",Fw=-1,L$=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],P$=["_approximateExtent"],Hw,gc,El,kl,Zp,Ol,Xp,R$=function(){function r(t,e){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","minmaxDownSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","minmaxDownSample","lttbDownSample"];var n,i=!1;lR(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var a={},o=[],s={},l=!1,u={},f=0;f=e)){var n=this._store,i=n.getProvider();this._updateOrdinalMeta();var a=this._nameList,o=this._idList,s=i.getSource().sourceFormat,l=s===Xr;if(l&&!i.pure)for(var u=[],f=t;f0},r.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var a=i[e];return a==null&&(a=this.getVisual(e),Y(a)?a=a.slice():Rl(a)&&(a=F({},a)),i[e]=a),a},r.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,Rl(e)?F(i,e):i[e]=n},r.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},r.prototype.setLayout=function(t,e){Rl(t)?F(this._layout,t):this._layout[t]=e},r.prototype.getLayout=function(t){return this._layout[t]},r.prototype.getItemLayout=function(t){return this._itemLayouts[t]},r.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?F(this._itemLayouts[t]||{},e):e},r.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},r.prototype.setItemGraphicEl=function(t,e){var n=this.hostModel&&this.hostModel.seriesIndex;om(n,this.dataType,t,e),this._graphicEls[t]=e},r.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},r.prototype.eachItemGraphicEl=function(t,e){M(this._graphicEls,function(n,i){n&&t&&t.call(e,n,i)})},r.prototype.cloneShallow=function(t){return t||(t=new r(this._schema?this._schema:Ei(this.dimensions,this._getDimInfo,this),this.hostModel)),Zp(t,this),t._store=this._store,t},r.prototype.wrapMethod=function(t,e){var n=this[t];vt(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var i=n.apply(this,arguments);return e.apply(this,[i].concat(K0(arguments)))})},r.internalField=function(){Hw=function(t){var e=t._invertedIndicesMap;M(e,function(n,i){var a=t._dimInfos[i],o=a.ordinalMeta,s=t._store;if(o){n=e[i]=new D$(o.categories.length);for(var l=0;l1&&(l+="__ec__"+f),i[e]=l}}}(),r}();const or=R$;function Mf(r,t){R_(r)||(r=E_(r)),t=t||{};var e=t.coordDimensions||[],n=t.dimensionsDefine||r.dimensionsDefine||[],i=ft(),a=[],o=k$(r,e,n,t.dimensionsCount),s=t.canOmitUnusedDimensions&&cR(o),l=n===r.dimensionsDefine,u=l?fR(r):uR(n),f=t.encodeDefine;!f&&t.encodeDefaulter&&(f=t.encodeDefaulter(r,o));for(var c=ft(f),h=new _2(o),v=0;v0&&(n.name=i+(a-1)),a++,t.set(i,a)}}function k$(r,t,e,n){var i=Math.max(r.dimensionsDetectedCount||1,t.length,e.length,n||0);return M(t,function(a){var o;yt(a)&&(o=a.dimsDef)&&(i=Math.max(i,o.length))}),i}function O$(r,t,e){if(e||t.hasKey(r)){for(var n=0;t.hasKey(r+n);)n++;r+=n}return t.set(r,!0),r}var N$=function(){function r(t){this.coordSysDims=[],this.axisMap=ft(),this.categoryAxisMap=ft(),this.coordSysName=t}return r}();function V$(r){var t=r.get("coordinateSystem"),e=new N$(t),n=B$[t];if(n)return n(r,e,e.axisMap,e.categoryAxisMap),e}var B$={cartesian2d:function(r,t,e,n){var i=r.getReferringComponents("xAxis",ge).models[0],a=r.getReferringComponents("yAxis",ge).models[0];t.coordSysDims=["x","y"],e.set("x",i),e.set("y",a),es(i)&&(n.set("x",i),t.firstCategoryDimIndex=0),es(a)&&(n.set("y",a),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},singleAxis:function(r,t,e,n){var i=r.getReferringComponents("singleAxis",ge).models[0];t.coordSysDims=["single"],e.set("single",i),es(i)&&(n.set("single",i),t.firstCategoryDimIndex=0)},polar:function(r,t,e,n){var i=r.getReferringComponents("polar",ge).models[0],a=i.findAxisModel("radiusAxis"),o=i.findAxisModel("angleAxis");t.coordSysDims=["radius","angle"],e.set("radius",a),e.set("angle",o),es(a)&&(n.set("radius",a),t.firstCategoryDimIndex=0),es(o)&&(n.set("angle",o),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},geo:function(r,t,e,n){t.coordSysDims=["lng","lat"]},parallel:function(r,t,e,n){var i=r.ecModel,a=i.getComponent("parallel",r.get("parallelIndex")),o=t.coordSysDims=a.dimensions.slice();M(a.parallelAxisIndex,function(s,l){var u=i.getComponent("parallelAxis",s),f=o[l];e.set(f,u),es(u)&&(n.set(f,u),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=l))})}};function es(r){return r.get("type")==="category"}function z$(r,t,e){e=e||{};var n=e.byIndex,i=e.stackedCoordDimension,a,o,s;G$(t)?a=t:(o=t.schema,a=o.dimensions,s=t.store);var l=!!(r&&r.get("stack")),u,f,c,h;if(M(a,function(m,_){nt(m)&&(a[_]=m={name:m}),l&&!m.isExtraCoord&&(!n&&!u&&m.ordinalMeta&&(u=m),!f&&m.type!=="ordinal"&&m.type!=="time"&&(!i||i===m.coordDim)&&(f=m))}),f&&!n&&!u&&(n=!0),f){c="__\0ecstackresult_"+r.id,h="__\0ecstackedover_"+r.id,u&&(u.createInvertedIndices=!0);var v=f.coordDim,d=f.type,p=0;M(a,function(m){m.coordDim===v&&p++});var g={name:c,coordDim:v,coordDimIndex:p,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},y={name:h,coordDim:h,coordDimIndex:p+1,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(g.storeDimIndex=s.ensureCalculationDimension(h,d),y.storeDimIndex=s.ensureCalculationDimension(c,d)),o.appendCalculationDimension(g),o.appendCalculationDimension(y)):(a.push(g),a.push(y))}return{stackedDimension:f&&f.name,stackedByDimension:u&&u.name,isStackedByIndex:n,stackedOverDimension:h,stackResultDimension:c}}function G$(r){return!lR(r.schema)}function la(r,t){return!!t&&t===r.getCalculationInfo("stackedDimension")}function hR(r,t){return la(r,t)?r.getCalculationInfo("stackResultDimension"):t}function F$(r,t){var e=r.get("coordinateSystem"),n=Af.get(e),i;return t&&t.coordSysDims&&(i=Z(t.coordSysDims,function(a){var o={name:a},s=t.axisMap.get(a);if(s){var l=s.get("type");o.type=rv(l)}return o})),i||(i=n&&(n.getDimensionsInfo?n.getDimensionsInfo():n.dimensions.slice())||["x","y"]),i}function H$(r,t,e){var n,i;return e&&M(r,function(a,o){var s=a.coordDim,l=e.categoryAxisMap.get(s);l&&(n==null&&(n=o),a.ordinalMeta=l.getOrdinalMeta(),t&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(i=!0)}),!i&&n!=null&&(r[n].otherDims.itemName=0),n}function Ai(r,t,e){e=e||{};var n=t.getSourceManager(),i,a=!1;r?(a=!0,i=E_(r)):(i=n.getSource(),a=i.sourceFormat===Xr);var o=V$(t),s=F$(t,o),l=e.useEncodeDefaulter,u=vt(l)?l:l?bt(t2,s,t):null,f={coordDimensions:s,generateCoord:e.generateCoord,encodeDefine:t.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!a},c=Mf(i,f),h=H$(c.dimensions,e.createInvertedIndices,o),v=a?null:n.getSharedDataStore(c),d=z$(t,{schema:c,store:v}),p=new or(c,t);p.setCalculationInfo(d);var g=h!=null&&W$(i)?function(y,m,_,S){return S===h?_:this.defaultDimValueGetter(y,m,_,S)}:null;return p.hasItemOption=!1,p.initData(a?i:v,null,g),p}function W$(r){if(r.sourceFormat===Xr){var t=$$(r.data||[]);return!Y(Js(t))}}function $$(r){for(var t=0;te[1]&&(e[1]=t[1])},r.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},r.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},r.prototype.isBlank=function(){return this._isBlank},r.prototype.setBlank=function(t){this._isBlank=t},r}();Kv(vR);const Ci=vR;var U$=0,Y$=function(){function r(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++U$}return r.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&Z(n,Z$);return new r({categories:i,needCollect:!i,deduplication:e.dedplication!==!1})},r.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},r.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!nt(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return e=i.get(t),e==null&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},r.prototype._getOrCreateMap=function(){return this._map||(this._map=ft(this.categories))},r}();function Z$(r){return yt(r)&&r.value!=null?r.value:r+""}const Im=Y$;function Lm(r){return r.type==="interval"||r.type==="log"}function X$(r,t,e,n){var i={},a=r[1]-r[0],o=i.interval=CL(a/t,!0);e!=null&&on&&(o=i.interval=n);var s=i.intervalPrecision=dR(o),l=i.niceTickExtent=[ce(Math.ceil(r[0]/o)*o,s),ce(Math.floor(r[1]/o)*o,s)];return q$(l,r),i}function qp(r){var t=Math.pow(10,a_(r)),e=r/t;return e?e===2?e=3:e===3?e=5:e*=2:e=1,ce(e*t)}function dR(r){return kn(r)+2}function Ww(r,t,e){r[t]=Math.max(Math.min(r[t],e[1]),e[0])}function q$(r,t){!isFinite(r[0])&&(r[0]=t[0]),!isFinite(r[1])&&(r[1]=t[1]),Ww(r,0,t),Ww(r,1,t),r[0]>r[1]&&(r[0]=r[1])}function md(r,t){return r>=t[0]&&r<=t[1]}function _d(r,t){return t[1]===t[0]?.5:(r-t[0])/(t[1]-t[0])}function Sd(r,t){return r*(t[1]-t[0])+t[0]}var pR=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new Im({})),Y(i)&&(i=new Im({categories:Z(i,function(a){return yt(a)?a.value:a})})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return t.prototype.parse=function(e){return e==null?NaN:nt(e)?this._ordinalMeta.getOrdinal(e):Math.round(e)},t.prototype.contain=function(e){return e=this.parse(e),md(e,this._extent)&&this._ordinalMeta.categories[e]!=null},t.prototype.normalize=function(e){return e=this._getTickNumber(this.parse(e)),_d(e,this._extent)},t.prototype.scale=function(e){return e=Math.round(Sd(e,this._extent)),this.getRawOrdinalNumber(e)},t.prototype.getTicks=function(){for(var e=[],n=this._extent,i=n[0];i<=n[1];)e.push({value:i}),i++;return e},t.prototype.getMinorTicks=function(e){},t.prototype.setSortInfo=function(e){if(e==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var n=e.ordinalNumbers,i=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,l=Math.min(s,n.length);o=0&&e=0&&e=e},t.prototype.getOrdinalMeta=function(){return this._ordinalMeta},t.prototype.calcNiceTicks=function(){},t.prototype.calcNiceExtent=function(){},t.type="ordinal",t}(Ci);Ci.registerClass(pR);const Z_=pR;var Ba=ce,gR=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return t.prototype.parse=function(e){return e},t.prototype.contain=function(e){return md(e,this._extent)},t.prototype.normalize=function(e){return _d(e,this._extent)},t.prototype.scale=function(e){return Sd(e,this._extent)},t.prototype.setExtent=function(e,n){var i=this._extent;isNaN(e)||(i[0]=parseFloat(e)),isNaN(n)||(i[1]=parseFloat(n))},t.prototype.unionExtent=function(e){var n=this._extent;e[0]n[1]&&(n[1]=e[1]),this.setExtent(n[0],n[1])},t.prototype.getInterval=function(){return this._interval},t.prototype.setInterval=function(e){this._interval=e,this._niceExtent=this._extent.slice(),this._intervalPrecision=dR(e)},t.prototype.getTicks=function(e){var n=this._interval,i=this._extent,a=this._niceExtent,o=this._intervalPrecision,s=[];if(!n)return s;var l=1e4;i[0]l)return[];var f=s.length?s[s.length-1].value:a[1];return i[1]>f&&(e?s.push({value:Ba(f+n,o)}):s.push({value:i[1]})),s},t.prototype.getMinorTicks=function(e){for(var n=this.getTicks(!0),i=[],a=this.getExtent(),o=1;oa[0]&&v0&&(a=a===null?s:Math.min(a,s))}e[n]=a}}return e}function _R(r){var t=J$(r),e=[];return M(r,function(n){var i=n.coordinateSystem,a=i.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var l=a.dim+"_"+a.index,u=t[l],f=Math.abs(o[1]-o[0]),c=a.scale.getExtent(),h=Math.abs(c[1]-c[0]);s=u?f/h*u:f}else{var v=n.getData();s=Math.abs(o[1]-o[0])/v.count()}var d=et(n.get("barWidth"),s),p=et(n.get("barMaxWidth"),s),g=et(n.get("barMinWidth")||(TR(n)?.5:1),s),y=n.get("barGap"),m=n.get("barCategoryGap");e.push({bandWidth:s,barWidth:d,barMaxWidth:p,barMinWidth:g,barGap:y,barCategoryGap:m,axisKey:q_(a),stackId:X_(n)})}),SR(e)}function SR(r){var t={};M(r,function(n,i){var a=n.axisKey,o=n.bandWidth,s=t[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},l=s.stacks;t[a]=s;var u=n.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var f=n.barWidth;f&&!l[u].width&&(l[u].width=f,f=Math.min(s.remainedWidth,f),s.remainedWidth-=f);var c=n.barMaxWidth;c&&(l[u].maxWidth=c);var h=n.barMinWidth;h&&(l[u].minWidth=h);var v=n.barGap;v!=null&&(s.gap=v);var d=n.barCategoryGap;d!=null&&(s.categoryGap=d)});var e={};return M(t,function(n,i){e[i]={};var a=n.stacks,o=n.bandWidth,s=n.categoryGap;if(s==null){var l=kt(a).length;s=Math.max(35-l*4,15)+"%"}var u=et(s,o),f=et(n.gap,1),c=n.remainedWidth,h=n.autoWidthCount,v=(c-u)/(h+(h-1)*f);v=Math.max(v,0),M(a,function(y){var m=y.maxWidth,_=y.minWidth;if(y.width){var S=y.width;m&&(S=Math.min(S,m)),_&&(S=Math.max(S,_)),y.width=S,c-=S+f*S,h--}else{var S=v;m&&mS&&(S=_),S!==v&&(y.width=S,c-=S+f*S,h--)}}),v=(c-u)/(h+(h-1)*f),v=Math.max(v,0);var d=0,p;M(a,function(y,m){y.width||(y.width=v),p=y,d+=y.width*(1+f)}),p&&(d-=p.width*f);var g=-d/2;M(a,function(y,m){e[i][m]=e[i][m]||{bandWidth:o,offset:g,width:y.width},g+=y.width*(1+f)})}),e}function Q$(r,t,e){if(r&&t){var n=r[q_(t)];return n!=null&&e!=null?n[X_(e)]:n}}function xR(r,t){var e=mR(r,t),n=_R(e);M(e,function(i){var a=i.getData(),o=i.coordinateSystem,s=o.getBaseAxis(),l=X_(i),u=n[q_(s)][l],f=u.offset,c=u.width;a.setLayout({bandWidth:u.bandWidth,offset:f,size:c})})}function bR(r){return{seriesType:r,plan:sl(),reset:function(t){if(wR(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),a=n.getOtherAxis(i),o=e.getDimensionIndex(e.mapDimension(a.dim)),s=e.getDimensionIndex(e.mapDimension(i.dim)),l=t.get("showBackground",!0),u=e.mapDimension(a.dim),f=e.getCalculationInfo("stackResultDimension"),c=la(e,u)&&!!e.getCalculationInfo("stackedOnSeries"),h=a.isHorizontal(),v=tU(i,a),d=TR(t),p=t.get("barMinHeight")||0,g=f&&e.getDimensionIndex(f),y=e.getLayout("size"),m=e.getLayout("offset");return{progress:function(_,S){for(var x=_.count,b=d&&Nn(x*3),w=d&&l&&Nn(x*3),T=d&&Nn(x),A=n.master.getRect(),C=h?A.width:A.height,D,I=S.getStore(),L=0;(D=_.next())!=null;){var P=I.get(c?g:o,D),E=I.get(s,D),O=v,V=void 0;c&&(V=+P-I.get(o,D));var N=void 0,z=void 0,$=void 0,q=void 0;if(h){var Q=n.dataToPoint([P,E]);if(c){var ct=n.dataToPoint([V,E]);O=ct[0]}N=O,z=Q[1]+m,$=Q[0]-O,q=y,Math.abs($)0?e:1:e))}var eU=function(r,t,e,n){for(;e>>1;r[i][1]i&&(this._approxInterval=i);var s=yc.length,l=Math.min(eU(yc,this._approxInterval,0,s),s-1);this._interval=yc[l][1],this._minLevelUnit=yc[Math.max(l-1,0)][0]},t.prototype.parse=function(e){return Ft(e)?e:+$n(e)},t.prototype.contain=function(e){return md(this.parse(e),this._extent)},t.prototype.normalize=function(e){return _d(this.parse(e),this._extent)},t.prototype.scale=function(e){return Sd(e,this._extent)},t.type="time",t}(ua),yc=[["second",A_],["minute",C_],["hour",wu],["quarter-day",wu*6],["half-day",wu*12],["day",Wr*1.2],["half-week",Wr*3.5],["week",Wr*7],["month",Wr*31],["quarter",Wr*95],["half-year",Rb/2],["year",Rb]];function rU(r,t,e,n){var i=$n(t),a=$n(e),o=function(d){return kb(i,d,n)===kb(a,d,n)},s=function(){return o("year")},l=function(){return s()&&o("month")},u=function(){return l()&&o("day")},f=function(){return u()&&o("hour")},c=function(){return f()&&o("minute")},h=function(){return c()&&o("second")},v=function(){return h()&&o("millisecond")};switch(r){case"year":return s();case"month":return l();case"day":return u();case"hour":return f();case"minute":return c();case"second":return h();case"millisecond":return v()}}function nU(r,t){return r/=Wr,r>16?16:r>7.5?7:r>3.5?4:r>1.5?2:1}function iU(r){var t=30*Wr;return r/=t,r>6?6:r>3?3:r>2?2:1}function aU(r){return r/=wu,r>12?12:r>6?6:r>3.5?4:r>2?2:1}function $w(r,t){return r/=t?C_:A_,r>30?30:r>20?20:r>15?15:r>10?10:r>5?5:r>2?2:1}function oU(r){return CL(r,!0)}function sU(r,t,e){var n=new Date(r);switch(Ps(t)){case"year":case"month":n[zP(e)](0);case"day":n[GP(e)](1);case"hour":n[FP(e)](0);case"minute":n[HP(e)](0);case"second":n[WP(e)](0),n[$P(e)](0)}return n.getTime()}function lU(r,t,e,n){var i=1e4,a=VP,o=0;function s(C,D,I,L,P,E,O){for(var V=new Date(D),N=D,z=V[L]();N1&&E===0&&I.unshift({value:I[0].value-N})}}for(var E=0;E=n[0]&&m<=n[1]&&c++)}var _=(n[1]-n[0])/t;if(c>_*1.5&&h>_/1.5||(u.push(g),c>_||r===a[v]))break}f=[]}}}for(var S=$t(Z(u,function(C){return $t(C,function(D){return D.value>=n[0]&&D.value<=n[1]&&!D.notAdd})}),function(C){return C.length>0}),x=[],b=S.length-1,v=0;v0;)a*=10;var s=[ce(cU(n[0]/a)*a),ce(fU(n[1]/a)*a)];this._interval=a,this._niceExtent=s}},t.prototype.calcNiceExtent=function(e){Mu.calcNiceExtent.call(this,e),this._fixMin=e.fixMin,this._fixMax=e.fixMax},t.prototype.parse=function(e){return e},t.prototype.contain=function(e){return e=Jr(e)/Jr(this.base),md(e,this._extent)},t.prototype.normalize=function(e){return e=Jr(e)/Jr(this.base),_d(e,this._extent)},t.prototype.scale=function(e){return e=Sd(e,this._extent),mc(this.base,e)},t.type="log",t}(Ci),MR=K_.prototype;MR.getMinorTicks=Mu.getMinorTicks;MR.getLabel=Mu.getLabel;function _c(r,t){return uU(r,kn(t))}Ci.registerClass(K_);const hU=K_;var vU=function(){function r(t,e,n){this._prepareParams(t,e,n)}return r.prototype._prepareParams=function(t,e,n){n[1]0&&l>0&&!u&&(s=0),s<0&&l<0&&!f&&(l=0));var h=this._determinedMin,v=this._determinedMax;return h!=null&&(s=h,u=!0),v!=null&&(l=v,f=!0),{min:s,max:l,minFixed:u,maxFixed:f,isBlank:c}},r.prototype.modifyDataMinMax=function(t,e){this[pU[t]]=e},r.prototype.setDeterminedMinMax=function(t,e){var n=dU[t];this[n]=e},r.prototype.freeze=function(){this.frozen=!0},r}(),dU={min:"_determinedMin",max:"_determinedMax"},pU={min:"_dataMin",max:"_dataMax"};function DR(r,t,e){var n=r.rawExtentInfo;return n||(n=new vU(r,t,e),r.rawExtentInfo=n,n)}function Sc(r,t){return t==null?null:Vu(t)?NaN:r.parse(t)}function IR(r,t){var e=r.type,n=DR(r,t,r.getExtent()).calculate();r.setBlank(n.isBlank);var i=n.min,a=n.max,o=t.ecModel;if(o&&e==="time"){var s=mR("bar",o),l=!1;if(M(s,function(c){l=l||c.getBaseAxis()===t.axis}),l){var u=_R(s),f=gU(i,a,t,u);i=f.min,a=f.max}}return{extent:[i,a],fixMin:n.minFixed,fixMax:n.maxFixed}}function gU(r,t,e,n){var i=e.axis.getExtent(),a=Math.abs(i[1]-i[0]),o=Q$(n,e.axis);if(o===void 0)return{min:r,max:t};var s=1/0;M(o,function(v){s=Math.min(v.offset,s)});var l=-1/0;M(o,function(v){l=Math.max(v.offset+v.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,f=t-r,c=1-(s+l)/a,h=f/c-f;return t+=h*(l/u),r-=h*(s/u),{min:r,max:t}}function Ws(r,t){var e=t,n=IR(r,e),i=n.extent,a=e.get("splitNumber");r instanceof hU&&(r.base=e.get("logBase"));var o=r.type,s=e.get("interval"),l=o==="interval"||o==="time";r.setExtent(i[0],i[1]),r.calcNiceExtent({splitNumber:a,fixMin:n.fixMin,fixMax:n.fixMax,minInterval:l?e.get("minInterval"):null,maxInterval:l?e.get("maxInterval"):null}),s!=null&&r.setInterval&&r.setInterval(s)}function xd(r,t){if(t=t||r.get("type"),t)switch(t){case"category":return new Z_({ordinalMeta:r.getOrdinalMeta?r.getOrdinalMeta():r.getCategories(),extent:[1/0,-1/0]});case"time":return new CR({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new(Ci.getClass(t)||ua)}}function yU(r){var t=r.scale.getExtent(),e=t[0],n=t[1];return!(e>0&&n>0||e<0&&n<0)}function fl(r){var t=r.getLabelModel().get("formatter"),e=r.type==="category"?r.scale.getExtent()[0]:null;return r.scale.type==="time"?function(n){return function(i,a){return r.scale.getFormattedLabel(i,a,n)}}(t):nt(t)?function(n){return function(i){var a=r.scale.getLabel(i),o=n.replace("{value}",a!=null?a:"");return o}}(t):vt(t)?function(n){return function(i,a){return e!=null&&(a=i.value-e),n(j_(r,i),a,i.level!=null?{level:i.level}:null)}}(t):function(n){return r.scale.getLabel(n)}}function j_(r,t){return r.type==="category"?r.scale.getLabel(t):t.value}function mU(r){var t=r.model,e=r.scale;if(!(!t.get(["axisLabel","show"])||e.isBlank())){var n,i,a=e.getExtent();e instanceof Z_?i=e.count():(n=e.getTicks(),i=n.length);var o=r.getLabelModel(),s=fl(r),l,u=1;i>40&&(u=Math.ceil(i/40));for(var f=0;fr[1]&&(r[1]=i[1])})}var Df=function(){function r(){}return r.prototype.getNeedCrossZero=function(){var t=this.option;return!t.scale},r.prototype.getCoordSysModel=function(){},r}(),xU=1e-8;function Yw(r,t){return Math.abs(r-t)i&&(n=o,i=l)}if(n)return wU(n.exterior);var u=this.getBoundingRect();return[u.x+u.width/2,u.y+u.height/2]},t.prototype.getBoundingRect=function(e){var n=this._rect;if(n&&!e)return n;var i=[1/0,1/0],a=[-1/0,-1/0],o=this.geometries;return M(o,function(s){s.type==="polygon"?Zw(s.exterior,i,a,e):M(s.points,function(l){Zw(l,i,a,e)})}),isFinite(i[0])&&isFinite(i[1])&&isFinite(a[0])&&isFinite(a[1])||(i[0]=i[1]=a[0]=a[1]=0),n=new Mt(i[0],i[1],a[0]-i[0],a[1]-i[1]),e||(this._rect=n),n},t.prototype.contain=function(e){var n=this.getBoundingRect(),i=this.geometries;if(!n.contain(e[0],e[1]))return!1;t:for(var a=0,o=i.length;a>1^-(s&1),l=l>>1^-(l&1),s+=i,l+=a,i=s,a=l,n.push([s/e,l/e])}return n}function CU(r,t){return r=AU(r),Z($t(r.features,function(e){return e.geometry&&e.properties&&e.geometry.coordinates.length>0}),function(e){var n=e.properties,i=e.geometry,a=[];switch(i.type){case"Polygon":var o=i.coordinates;a.push(new Xw(o[0],o.slice(1)));break;case"MultiPolygon":M(i.coordinates,function(l){l[0]&&a.push(new Xw(l[0],l.slice(1)))});break;case"LineString":a.push(new qw([i.coordinates]));break;case"MultiLineString":a.push(new qw(i.coordinates))}var s=new RR(n[t||"name"],a,n.cp);return s.properties=n,s})}var tf=Nt();function kR(r,t){var e=Z(t,function(n){return r.scale.parse(n)});return r.type==="time"&&e.length>0&&(e.sort(),e.unshift(e[0]),e.push(e[e.length-1])),e}function MU(r){var t=r.getLabelModel().get("customValues");if(t){var e=fl(r),n=r.scale.getExtent(),i=kR(r,t),a=$t(i,function(o){return o>=n[0]&&o<=n[1]});return{labels:Z(a,function(o){var s={value:o};return{formattedLabel:e(s),rawLabel:r.scale.getLabel(s),tickValue:o}})}}return r.type==="category"?IU(r):PU(r)}function DU(r,t){var e=r.getTickModel().get("customValues");if(e){var n=r.scale.getExtent(),i=kR(r,e);return{ticks:$t(i,function(a){return a>=n[0]&&a<=n[1]})}}return r.type==="category"?LU(r,t):{ticks:Z(r.scale.getTicks(),function(a){return a.value})}}function IU(r){var t=r.getLabelModel(),e=OR(r,t);return!t.get("show")||r.scale.isBlank()?{labels:[],labelCategoryInterval:e.labelCategoryInterval}:e}function OR(r,t){var e=NR(r,"labels"),n=J_(t),i=VR(e,n);if(i)return i;var a,o;return vt(n)?a=GR(r,n):(o=n==="auto"?RU(r):n,a=zR(r,o)),BR(e,n,{labels:a,labelCategoryInterval:o})}function LU(r,t){var e=NR(r,"ticks"),n=J_(t),i=VR(e,n);if(i)return i;var a,o;if((!t.get("show")||r.scale.isBlank())&&(a=[]),vt(n))a=GR(r,n,!0);else if(n==="auto"){var s=OR(r,r.getLabelModel());o=s.labelCategoryInterval,a=Z(s.labels,function(l){return l.tickValue})}else o=n,a=zR(r,o,!0);return BR(e,n,{ticks:a,tickCategoryInterval:o})}function PU(r){var t=r.scale.getTicks(),e=fl(r);return{labels:Z(t,function(n,i){return{level:n.level,formattedLabel:e(n,i),rawLabel:r.scale.getLabel(n),tickValue:n.value}})}}function NR(r,t){return tf(r)[t]||(tf(r)[t]=[])}function VR(r,t){for(var e=0;e40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=r.dataToCoord(l+1)-r.dataToCoord(l),f=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),h=0,v=0;l<=a[1];l+=s){var d=0,p=0,g=_f(e({value:l}),t.font,"center","top");d=g.width*1.3,p=g.height*1.3,h=Math.max(h,d,7),v=Math.max(v,p,7)}var y=h/f,m=v/c;isNaN(y)&&(y=1/0),isNaN(m)&&(m=1/0);var _=Math.max(0,Math.floor(Math.min(y,m))),S=tf(r.model),x=r.getExtent(),b=S.lastAutoInterval,w=S.lastTickCount;return b!=null&&w!=null&&Math.abs(b-_)<=1&&Math.abs(w-o)<=1&&b>_&&S.axisExtent0===x[0]&&S.axisExtent1===x[1]?_=b:(S.lastTickCount=o,S.lastAutoInterval=_,S.axisExtent0=x[0],S.axisExtent1=x[1]),_}function kU(r){var t=r.getLabelModel();return{axisRotate:r.getRotate?r.getRotate():r.isHorizontal&&!r.isHorizontal()?90:0,labelRotate:t.get("rotate")||0,font:t.getFont()}}function zR(r,t,e){var n=fl(r),i=r.scale,a=i.getExtent(),o=r.getLabelModel(),s=[],l=Math.max((t||0)+1,1),u=a[0],f=i.count();u!==0&&l>1&&f/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=LR(r),h=o.get("showMinLabel")||c,v=o.get("showMaxLabel")||c;h&&u!==a[0]&&p(a[0]);for(var d=u;d<=a[1];d+=l)p(d);v&&d-l!==a[1]&&p(a[1]);function p(g){var y={value:g};s.push(e?g:{formattedLabel:n(y),rawLabel:i.getLabel(y),tickValue:g})}return s}function GR(r,t,e){var n=r.scale,i=fl(r),a=[];return M(n.getTicks(),function(o){var s=n.getLabel(o),l=o.value;t(o.value,s)&&a.push(e?l:{formattedLabel:i(o),rawLabel:s,tickValue:l})}),a}var Kw=[0,1],OU=function(){function r(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return r.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},r.prototype.containData=function(t){return this.scale.contain(t)},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.getPixelPrecision=function(t){return TL(t||this.scale.getExtent(),this._extent)},r.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},r.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&i.type==="ordinal"&&(n=n.slice(),jw(n,i.count())),Ut(t,Kw,n,e)},r.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&i.type==="ordinal"&&(n=n.slice(),jw(n,i.count()));var a=Ut(t,n,Kw,e);return this.scale.scale(a)},r.prototype.pointToData=function(t,e){},r.prototype.getTicksCoords=function(t){t=t||{};var e=t.tickModel||this.getTickModel(),n=DU(this,e),i=n.ticks,a=Z(i,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=e.get("alignWithLabel");return NU(this,a,o,t.clamp),a},r.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var t=this.model.getModel("minorTick"),e=t.get("splitNumber");e>0&&e<100||(e=5);var n=this.scale.getMinorTicks(e),i=Z(n,function(a){return Z(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return i},r.prototype.getViewLabels=function(){return MU(this).labels},r.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},r.prototype.getTickModel=function(){return this.model.getModel("axisTick")},r.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);n===0&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},r.prototype.calculateCategoryInterval=function(){return EU(this)},r}();function jw(r,t){var e=r[1]-r[0],n=t,i=e/n/2;r[0]+=i,r[1]-=i}function NU(r,t,e,n){var i=t.length;if(!r.onBand||e||!i)return;var a=r.getExtent(),o,s;if(i===1)t[0].coord=a[0],o=t[1]={coord:a[1],tickValue:t[0].tickValue};else{var l=t[i-1].tickValue-t[0].tickValue,u=(t[i-1].coord-t[0].coord)/l;M(t,function(v){v.coord-=u/2});var f=r.scale.getExtent();s=1+f[1]-t[i-1].tickValue,o={coord:t[i-1].coord+u*s,tickValue:f[1]+1},t.push(o)}var c=a[0]>a[1];h(t[0].coord,a[0])&&(n?t[0].coord=a[0]:t.shift()),n&&h(a[0],t[0].coord)&&t.unshift({coord:a[0]}),h(a[1],o.coord)&&(n?o.coord=a[1]:t.pop()),n&&h(o.coord,a[1])&&t.push({coord:a[1]});function h(v,d){return v=ce(v),d=ce(d),c?v>d:vi&&(i+=Nl);var v=Math.atan2(s,o);if(v<0&&(v+=Nl),v>=n&&v<=i||v+Nl>=n&&v+Nl<=i)return l[0]=f,l[1]=c,u-e;var d=e*Math.cos(n)+r,p=e*Math.sin(n)+t,g=e*Math.cos(i)+r,y=e*Math.sin(i)+t,m=(d-o)*(d-o)+(p-s)*(p-s),_=(g-o)*(g-o)+(y-s)*(y-s);return m<_?(l[0]=d,l[1]=p,Math.sqrt(m)):(l[0]=g,l[1]=y,Math.sqrt(_))}function iv(r,t,e,n,i,a,o,s){var l=i-r,u=a-t,f=e-r,c=n-t,h=Math.sqrt(f*f+c*c);f/=h,c/=h;var v=l*f+u*c,d=v/h;s&&(d=Math.min(Math.max(d,0),1)),d*=h;var p=o[0]=r+d*f,g=o[1]=t+d*c;return Math.sqrt((p-i)*(p-i)+(g-a)*(g-a))}function FR(r,t,e,n,i,a,o){e<0&&(r=r+e,e=-e),n<0&&(t=t+n,n=-n);var s=r+e,l=t+n,u=o[0]=Math.min(Math.max(i,r),s),f=o[1]=Math.min(Math.max(a,t),l);return Math.sqrt((u-i)*(u-i)+(f-a)*(f-a))}var rn=[];function GU(r,t,e){var n=FR(t.x,t.y,t.width,t.height,r.x,r.y,rn);return e.set(rn[0],rn[1]),n}function FU(r,t,e){for(var n=0,i=0,a=0,o=0,s,l,u=1/0,f=t.data,c=r.x,h=r.y,v=0;v0){t=t/180*Math.PI,on.fromArray(r[0]),Jt.fromArray(r[1]),ve.fromArray(r[2]),Ct.sub(Vn,on,Jt),Ct.sub(En,ve,Jt);var e=Vn.len(),n=En.len();if(!(e<.001||n<.001)){Vn.scale(1/e),En.scale(1/n);var i=Vn.dot(En),a=Math.cos(t);if(a1&&Ct.copy(nr,ve),nr.toArray(r[1])}}}}function HU(r,t,e){if(e<=180&&e>0){e=e/180*Math.PI,on.fromArray(r[0]),Jt.fromArray(r[1]),ve.fromArray(r[2]),Ct.sub(Vn,Jt,on),Ct.sub(En,ve,Jt);var n=Vn.len(),i=En.len();if(!(n<.001||i<.001)){Vn.scale(1/n),En.scale(1/i);var a=Vn.dot(t),o=Math.cos(e);if(a=l)Ct.copy(nr,ve);else{nr.scaleAndAdd(En,s/Math.tan(Math.PI/2-f));var c=ve.x!==Jt.x?(nr.x-Jt.x)/(ve.x-Jt.x):(nr.y-Jt.y)/(ve.y-Jt.y);if(isNaN(c))return;c<0?Ct.copy(nr,Jt):c>1&&Ct.copy(nr,ve)}nr.toArray(r[1])}}}}function Jp(r,t,e,n){var i=e==="normal",a=i?r:r.ensureState(e);a.ignore=t;var o=n.get("smooth");o&&o===!0&&(o=.3),a.shape=a.shape||{},o>0&&(a.shape.smooth=o);var s=n.getModel("lineStyle").getLineStyle();i?r.useStyle(s):a.style=s}function WU(r,t){var e=t.smooth,n=t.points;if(n)if(r.moveTo(n[0][0],n[0][1]),e>0&&n.length>=3){var i=$i(n[0],n[1]),a=$i(n[1],n[2]);if(!i||!a){r.lineTo(n[1][0],n[1][1]),r.lineTo(n[2][0],n[2][1]);return}var o=Math.min(i,a)*e,s=eh([],n[1],n[0],o/i),l=eh([],n[1],n[2],o/a),u=eh([],s,l,.5);r.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),r.bezierCurveTo(l[0],l[1],l[0],l[1],n[2][0],n[2][1])}else for(var f=1;f0&&a&&x(-f/o,0,o);var p=r[0],g=r[o-1],y,m;_(),y<0&&b(-y,.8),m<0&&b(m,.8),_(),S(y,m,1),S(m,y,-1),_(),y<0&&w(-y),m<0&&w(m);function _(){y=p.rect[t]-n,m=i-g.rect[t]-g.rect[e]}function S(T,A,C){if(T<0){var D=Math.min(A,-T);if(D>0){x(D*C,0,o);var I=D+T;I<0&&b(-I*C,1)}else b(-T*C,1)}}function x(T,A,C){T!==0&&(u=!0);for(var D=A;D0)for(var I=0;I0;I--){var O=C[I-1]*E;x(-O,I,o)}}}function w(T){var A=T<0?-1:1;T=Math.abs(T);for(var C=Math.ceil(T/(o-1)),D=0;D0?x(C,0,D+1):x(-C,o-D-1,o),T-=C,T<=0)return}return u}function $U(r,t,e,n){return $R(r,"x","width",t,e,n)}function UR(r,t,e,n){return $R(r,"y","height",t,e,n)}function YR(r){var t=[];r.sort(function(p,g){return g.priority-p.priority});var e=new Mt(0,0,0,0);function n(p){if(!p.ignore){var g=p.ensureState("emphasis");g.ignore==null&&(g.ignore=!1)}p.ignore=!0}for(var i=0;i=0&&n.attr(a.oldLayoutSelect),Dt(h,"emphasis")>=0&&n.attr(a.oldLayoutEmphasis)),Ht(n,u,e,l)}else if(n.attr(u),!el(n).valueAnimation){var c=xt(n.style.opacity,1);n.style.opacity=0,ae(n,{style:{opacity:c}},e,l)}if(a.oldLayout=u,n.states.select){var v=a.oldLayoutSelect={};xc(v,u,bc),xc(v,n.states.select,bc)}if(n.states.emphasis){var d=a.oldLayoutEmphasis={};xc(d,u,bc),xc(d,n.states.emphasis,bc)}RP(n,l,f,e,e)}if(i&&!i.ignore&&!i.invisible){var a=ZU(i),o=a.oldLayout,p={points:i.shape.points};o?(i.attr({shape:o}),Ht(i,{shape:p},e)):(i.setShape(p),i.style.strokePercent=0,ae(i,{style:{strokePercent:1}},e)),a.oldLayout=p}},r}();const qU=XU;var tg=Nt();function KU(r){r.registerUpdateLifecycle("series:beforeupdate",function(t,e,n){var i=tg(e).labelManager;i||(i=tg(e).labelManager=new qU),i.clearLabels()}),r.registerUpdateLifecycle("series:layoutlabels",function(t,e,n){var i=tg(e).labelManager;n.updatedSeries.forEach(function(a){i.addLabelsOfSeries(e.getViewOfSeriesModel(a))}),i.updateLayoutConfig(e),i.layout(e),i.processLabelsOverall()})}var eg=Math.sin,rg=Math.cos,ZR=Math.PI,Ga=Math.PI*2,jU=180/ZR,JU=function(){function r(){}return r.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},r.prototype.moveTo=function(t,e){this._add("M",t,e)},r.prototype.lineTo=function(t,e){this._add("L",t,e)},r.prototype.bezierCurveTo=function(t,e,n,i,a,o){this._add("C",t,e,n,i,a,o)},r.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},r.prototype.arc=function(t,e,n,i,a,o){this.ellipse(t,e,n,n,0,i,a,o)},r.prototype.ellipse=function(t,e,n,i,a,o,s,l){var u=s-o,f=!l,c=Math.abs(u),h=qi(c-Ga)||(f?u>=Ga:-u>=Ga),v=u>0?u%Ga:u%Ga+Ga,d=!1;h?d=!0:qi(c)?d=!1:d=v>=ZR==!!f;var p=t+n*rg(o),g=e+i*eg(o);this._start&&this._add("M",p,g);var y=Math.round(a*jU);if(h){var m=1/this._p,_=(f?1:-1)*(Ga-m);this._add("A",n,i,y,1,+f,t+n*rg(o+_),e+i*eg(o+_)),m>.01&&this._add("A",n,i,y,0,+f,p,g)}else{var S=t+n*rg(s),x=e+i*eg(s);this._add("A",n,i,y,+d,+f,S,x)}},r.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},r.prototype.closePath=function(){this._d.length>0&&this._add("Z")},r.prototype._add=function(t,e,n,i,a,o,s,l,u){for(var f=[],c=this._p,h=1;h"}function s6(r){return""}function e1(r,t){t=t||{};var e=t.newline?` -`:"";function n(i){var a=i.children,o=i.tag,s=i.attrs,l=i.text;return o6(o,s)+(o!=="style"?qe(l):l||"")+(a?""+e+Z(a,function(u){return n(u)}).join(e)+e:"")+s6(o)}return n(r)}function l6(r,t,e){e=e||{};var n=e.newline?` -`:"",i=" {"+n,a=n+"}",o=Z(kt(r),function(l){return l+i+Z(kt(r[l]),function(u){return u+":"+r[l][u]+";"}).join(n)+a}).join(n),s=Z(kt(t),function(l){return"@keyframes "+l+i+Z(kt(t[l]),function(u){return u+i+Z(kt(t[l][u]),function(f){var c=t[l][u][f];return f==="d"&&(c='path("'+c+'")'),f+":"+c+";"}).join(n)+a}).join(n)+a}).join(n);return!o&&!s?"":[""].join(n)}function Em(r){return{zrId:r,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function eT(r,t,e,n){return Ce("svg","root",{width:r,height:t,xmlns:qR,"xmlns:xlink":KR,version:"1.1",baseProfile:"full",viewBox:n?"0 0 "+r+" "+t:!1},e)}var u6=0;function JR(){return u6++}var rT={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},$a="transform-origin";function f6(r,t,e){var n=F({},r.shape);F(n,t),r.buildPath(e,n);var i=new XR;return i.reset(vL(r)),e.rebuildPath(i,1),i.generateStr(),i.getStr()}function c6(r,t){var e=t.originX,n=t.originY;(e||n)&&(r[$a]=e+"px "+n+"px")}var h6={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function QR(r,t){var e=t.zrId+"-ani-"+t.cssAnimIdx++;return t.cssAnims[e]=r,e}function v6(r,t,e){var n=r.shape.paths,i={},a,o;if(M(n,function(l){var u=Em(e.zrId);u.animation=!0,bd(l,{},u,!0);var f=u.cssAnims,c=u.cssNodes,h=kt(f),v=h.length;if(v){o=h[v-1];var d=f[o];for(var p in d){var g=d[p];i[p]=i[p]||{d:""},i[p].d+=g.d||""}for(var y in c){var m=c[y].animation;m.indexOf(o)>=0&&(a=m)}}}),!!a){t.d=!1;var s=QR(i,e);return a.replace(o,s)}}function nT(r){return nt(r)?rT[r]?"cubic-bezier("+rT[r]+")":e_(r)?r:"":""}function bd(r,t,e,n){var i=r.animators,a=i.length,o=[];if(r instanceof __){var s=v6(r,t,e);if(s)o.push(s);else if(!a)return}else if(!a)return;for(var l={},u=0;u0}).length){var U=QR(w,e);return U+" "+m[0]+" both"}}for(var g in l){var s=p(l[g]);s&&o.push(s)}if(o.length){var y=e.zrId+"-cls-"+JR();e.cssNodes["."+y]={animation:o.join(",")},t.class=y}}function d6(r,t,e){if(!r.ignore)if(r.isSilent()){var n={"pointer-events":"none"};iT(n,t,e,!0)}else{var i=r.states.emphasis&&r.states.emphasis.style?r.states.emphasis.style:{},a=i.fill;if(!a){var o=r.style&&r.style.fill,s=r.states.select&&r.states.select.style&&r.states.select.style.fill,l=r.currentStates.indexOf("select")>=0&&s||o;l&&(a=Uy(l))}var u=i.lineWidth;if(u){var f=!i.strokeNoScale&&r.transform?r.transform[0]:1;u=u/f}var n={cursor:"pointer"};a&&(n.fill=a),i.stroke&&(n.stroke=i.stroke),u&&(n["stroke-width"]=u),iT(n,t,e,!0)}}function iT(r,t,e,n){var i=JSON.stringify(r),a=e.cssStyleCache[i];a||(a=e.zrId+"-cls-"+JR(),e.cssStyleCache[i]=a,e.cssNodes["."+a+(n?":hover":"")]=r),t.class=t.class?t.class+" "+a:a}var ef=Math.round;function tE(r){return r&&nt(r.src)}function eE(r){return r&&vt(r.toDataURL)}function r1(r,t,e,n){n6(function(i,a){var o=i==="fill"||i==="stroke";o&&hL(a)?nE(t,r,i,n):o&&r_(a)?iE(e,r,i,n):r[i]=a,o&&n.ssr&&a==="none"&&(r["pointer-events"]="visible")},t,e,!1),x6(e,r,n)}function n1(r,t){var e=HG(t);e&&(e.each(function(n,i){n!=null&&(r[(tT+i).toLowerCase()]=n+"")}),t.isSilent()&&(r[tT+"silent"]="true"))}function aT(r){return qi(r[0]-1)&&qi(r[1])&&qi(r[2])&&qi(r[3]-1)}function p6(r){return qi(r[4])&&qi(r[5])}function i1(r,t,e){if(t&&!(p6(t)&&aT(t))){var n=e?10:1e4;r.transform=aT(t)?"translate("+ef(t[4]*n)/n+" "+ef(t[5]*n)/n+")":lG(t)}}function oT(r,t,e){for(var n=r.points,i=[],a=0;aa?(d=e[l+1]==null?null:e[l+1].elm,sE(r,d,e,i,l)):ov(r,t,n,a))}function ps(r,t){var e=t.elm=r.elm,n=r.children,i=t.children;r!==t&&(a1(r,t),km(t.text)?Dn(n)&&Dn(i)?n!==i&&C6(e,n,i):Dn(i)?(Dn(r.text)&&ng(e,""),sE(e,null,i,0,i.length-1)):Dn(n)?ov(e,n,0,n.length-1):Dn(r.text)&&ng(e,""):r.text!==t.text&&(Dn(n)&&ov(e,n,0,n.length-1),ng(e,t.text)))}function M6(r,t){if(eu(r,t))ps(r,t);else{var e=r.elm,n=aE(e);rf(t),n!==null&&(Ja(n,t.elm,oE(e)),ov(n,[r],0,0))}return t}var D6=0,I6=function(){function r(t,e,n){if(this.type="svg",this.refreshHover=vT(),this.configLayer=vT(),this.storage=e,this._opts=n=F({},n),this.root=t,this._id="zr"+D6++,this._oldVNode=eT(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var a=this._svgDom=this._oldVNode.elm=jR("svg");a1(null,this._oldVNode),i.appendChild(a),t.appendChild(i)}this.resize(n.width,n.height)}return r.prototype.getType=function(){return this.type},r.prototype.getViewportRoot=function(){return this._viewport},r.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},r.prototype.getSvgDom=function(){return this._svgDom},r.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",M6(this._oldVNode,t),this._oldVNode=t}},r.prototype.renderOneToVNode=function(t){return lT(t,Em(this._id))},r.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,i=this._height,a=Em(this._id);a.animation=t.animation,a.willUpdate=t.willUpdate,a.compress=t.compress,a.emphasis=t.emphasis,a.ssr=this._opts.ssr;var o=[],s=this._bgVNode=L6(n,i,this._backgroundColor,a);s&&o.push(s);var l=t.compress?null:this._mainVNode=Ce("g","main",{},[]);this._paintList(e,a,l?l.children:o),l&&o.push(l);var u=Z(kt(a.defs),function(h){return a.defs[h]});if(u.length&&o.push(Ce("defs","defs",{},u)),t.animation){var f=l6(a.cssNodes,a.cssAnims,{newline:!0});if(f){var c=Ce("style","stl",{},[],f);o.push(c)}}return eT(n,i,o,t.useViewBox)},r.prototype.renderToString=function(t){return t=t||{},e1(this.renderToVNode({animation:xt(t.cssAnimation,!0),emphasis:xt(t.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:xt(t.useViewBox,!0)}),{newline:!0})},r.prototype.setBackgroundColor=function(t){this._backgroundColor=t},r.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},r.prototype._paintList=function(t,e,n){for(var i=t.length,a=[],o=0,s,l,u=0,f=0;f=0&&!(h&&l&&h[p]===l[p]);p--);for(var g=d-1;g>p;g--)o--,s=a[o-1];for(var y=p+1;y=s)}}for(var c=this.__startIndex;c15)break}}P.prevElClipPaths&&y.restore()};if(m)if(m.length===0)T=g.__endIndex;else for(var C=v.dpr,D=0;D0&&t>i[0]){for(l=0;lt);l++);s=n[i[l]]}if(i.splice(l+1,0,t),n[t]=e,!e.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(e.dom,u.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},r.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?wc:0),this._needsManuallyCompositing),f.__builtin__||X0("ZLevel "+u+" has been used by unkown layer "+f.id),f!==a&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,e(l),a=f),i.__dirty&br&&!i.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}e(l),this.eachBuiltinLayer(function(c,h){!c.__used&&c.getElementCount()>0&&(c.__dirty=!0,c.__startIndex=c.__endIndex=c.__drawIndex=0),c.__dirty&&c.__drawIndex<0&&(c.__drawIndex=c.__startIndex)})},r.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},r.prototype._clearLayer=function(t){t.clear()},r.prototype.setBackgroundColor=function(t){this._backgroundColor=t,M(this._layers,function(e){e.setUnpainted()})},r.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?Tt(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),n},t.type="series.line",t.dependencies=["grid","polar"],t.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t}(le);const F6=G6;function $s(r,t){var e=r.mapDimensionsAll("defaultedLabel"),n=e.length;if(n===1){var i=Fs(r,t,e[0]);return i!=null?i+"":null}else if(n){for(var a=[],o=0;o=0&&n.push(t[a])}return n.join(" ")}var H6=function(r){B(t,r);function t(e,n,i,a){var o=r.call(this)||this;return o.updateData(e,n,i,a),o}return t.prototype._createSymbol=function(e,n,i,a,o){this.removeAll();var s=me(e,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=W6,this._symbolType=e,this.add(s)},t.prototype.stopSymbolAnimation=function(e){this.childAt(0).stopAnimation(null,e)},t.prototype.getSymbolType=function(){return this._symbolType},t.prototype.getSymbolPath=function(){return this.childAt(0)},t.prototype.highlight=function(){mi(this.childAt(0))},t.prototype.downplay=function(){_i(this.childAt(0))},t.prototype.setZ=function(e,n){var i=this.childAt(0);i.zlevel=e,i.z=n},t.prototype.setDraggable=function(e,n){var i=this.childAt(0);i.draggable=e,i.cursor=!n&&e?"move":i.cursor},t.prototype.updateData=function(e,n,i,a){this.silent=!1;var o=e.getItemVisual(n,"symbol")||"circle",s=e.hostModel,l=t.getSymbolSize(e,n),u=o!==this._symbolType,f=a&&a.disableAnimation;if(u){var c=e.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,e,n,l,c)}else{var h=this.childAt(0);h.silent=!1;var v={scaleX:l[0]/2,scaleY:l[1]/2};f?h.attr(v):Ht(h,v,s,n),pn(h)}if(this._updateCommon(e,n,l,i,a),u){var h=this.childAt(0);if(!f){var v={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:h.style.opacity}};h.scaleX=h.scaleY=0,h.style.opacity=0,ae(h,v,s,n)}}f&&this.childAt(0).stopAnimation("leave")},t.prototype._updateCommon=function(e,n,i,a,o){var s=this.childAt(0),l=e.hostModel,u,f,c,h,v,d,p,g,y;if(a&&(u=a.emphasisItemStyle,f=a.blurItemStyle,c=a.selectItemStyle,h=a.focus,v=a.blurScope,p=a.labelStatesModels,g=a.hoverScale,y=a.cursorStyle,d=a.emphasisDisabled),!a||e.hasItemOption){var m=a&&a.itemModel?a.itemModel:e.getItemModel(n),_=m.getModel("emphasis");u=_.getModel("itemStyle").getItemStyle(),c=m.getModel(["select","itemStyle"]).getItemStyle(),f=m.getModel(["blur","itemStyle"]).getItemStyle(),h=_.get("focus"),v=_.get("blurScope"),d=_.get("disabled"),p=De(m),g=_.getShallow("scale"),y=m.getShallow("cursor")}var S=e.getItemVisual(n,"symbolRotate");s.attr("rotation",(S||0)*Math.PI/180||0);var x=Vo(e.getItemVisual(n,"symbolOffset"),i);x&&(s.x=x[0],s.y=x[1]),y&&s.attr("cursor",y);var b=e.getItemVisual(n,"style"),w=b.fill;if(s instanceof He){var T=s.style;s.useStyle(F({image:T.image,x:T.x,y:T.y,width:T.width,height:T.height},b))}else s.__isEmptyBrush?s.useStyle(F({},b)):s.useStyle(b),s.style.decal=null,s.setColor(w,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var A=e.getItemVisual(n,"liftZ"),C=this._z2;A!=null?C==null&&(this._z2=s.z2,s.z2+=A):C!=null&&(s.z2=C,this._z2=null);var D=o&&o.useNameLabel;Fe(s,p,{labelFetcher:l,labelDataIndex:n,defaultText:I,inheritColor:w,defaultOpacity:b.opacity});function I(E){return D?e.getName(E):$s(e,E)}this._sizeX=i[0]/2,this._sizeY=i[1]/2;var L=s.ensureState("emphasis");L.style=u,s.ensureState("select").style=c,s.ensureState("blur").style=f;var P=g==null||g===!0?Math.max(1.1,3/this._sizeY):isFinite(g)&&g>0?+g:1;L.scaleX=this._sizeX*P,L.scaleY=this._sizeY*P,this.setSymbolScale(1),ue(this,h,v,d)},t.prototype.setSymbolScale=function(e){this.scaleX=this.scaleY=e},t.prototype.fadeOut=function(e,n,i){var a=this.childAt(0),o=St(this).dataIndex,s=i&&i.animation;if(this.silent=a.silent=!0,i&&i.fadeLabel){var l=a.getTextContent();l&&oa(l,{style:{opacity:0}},n,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();oa(a,{style:{opacity:0},scaleX:0,scaleY:0},n,{dataIndex:o,cb:e,removeOpt:s})},t.getSymbolSize=function(e,n){return ul(e.getItemVisual(n,"symbolSize"))},t}(_t);function W6(r,t){this.parent.drift(r,t)}const If=H6;function ag(r,t,e,n){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(n.isIgnore&&n.isIgnore(e))&&!(n.clipShape&&!n.clipShape.contain(t[0],t[1]))&&r.getItemVisual(e,"symbol")!=="none"}function gT(r){return r!=null&&!yt(r)&&(r={isIgnore:r}),r||{}}function yT(r){var t=r.hostModel,e=t.getModel("emphasis");return{emphasisItemStyle:e.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:e.get("focus"),blurScope:e.get("blurScope"),emphasisDisabled:e.get("disabled"),hoverScale:e.get("scale"),labelStatesModels:De(t),cursorStyle:t.get("cursor")}}var $6=function(){function r(t){this.group=new _t,this._SymbolCtor=t||If}return r.prototype.updateData=function(t,e){this._progressiveEls=null,e=gT(e);var n=this.group,i=t.hostModel,a=this._data,o=this._SymbolCtor,s=e.disableAnimation,l=yT(t),u={disableAnimation:s},f=e.getSymbolPoint||function(c){return t.getItemLayout(c)};a||n.removeAll(),t.diff(a).add(function(c){var h=f(c);if(ag(t,h,c,e)){var v=new o(t,c,l,u);v.setPosition(h),t.setItemGraphicEl(c,v),n.add(v)}}).update(function(c,h){var v=a.getItemGraphicEl(h),d=f(c);if(!ag(t,d,c,e)){n.remove(v);return}var p=t.getItemVisual(c,"symbol")||"circle",g=v&&v.getSymbolType&&v.getSymbolType();if(!v||g&&g!==p)n.remove(v),v=new o(t,c,l,u),v.setPosition(d);else{v.updateData(t,c,l,u);var y={x:d[0],y:d[1]};s?v.attr(y):Ht(v,y,i)}n.add(v),t.setItemGraphicEl(c,v)}).remove(function(c){var h=a.getItemGraphicEl(c);h&&h.fadeOut(function(){n.remove(h)},i)}).execute(),this._getSymbolPoint=f,this._data=t},r.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl(function(n,i){var a=t._getSymbolPoint(i);n.setPosition(a),n.markRedraw()})},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=yT(t),this._data=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e,n){this._progressiveEls=[],n=gT(n);function i(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=t.start;a0?e=n[0]:n[1]<0&&(e=n[1]),e}function fE(r,t,e,n){var i=NaN;r.stacked&&(i=e.get(e.getCalculationInfo("stackedOverDimension"),n)),isNaN(i)&&(i=r.valueStart);var a=r.baseDataOffset,o=[];return o[a]=e.get(r.baseDim,n),o[1-a]=i,t.dataToPoint(o)}function Y6(r,t){var e=[];return t.diff(r).add(function(n){e.push({cmd:"+",idx:n})}).update(function(n,i){e.push({cmd:"=",idx:i,idx1:n})}).remove(function(n){e.push({cmd:"-",idx:n})}).execute(),e}function Z6(r,t,e,n,i,a,o,s){for(var l=Y6(r,t),u=[],f=[],c=[],h=[],v=[],d=[],p=[],g=uE(i,t,o),y=r.getLayout("points")||[],m=t.getLayout("points")||[],_=0;_=i||p<0)break;if(bo(y,m)){if(l){p+=a;continue}break}if(p===e)r[a>0?"moveTo":"lineTo"](y,m),c=y,h=m;else{var _=y-u,S=m-f;if(_*_+S*S<.5){p+=a;continue}if(o>0){for(var x=p+a,b=t[x*2],w=t[x*2+1];b===y&&w===m&&g=n||bo(b,w))v=y,d=m;else{C=b-u,D=w-f;var P=y-u,E=b-y,O=m-f,V=w-m,N=void 0,z=void 0;if(s==="x"){N=Math.abs(P),z=Math.abs(E);var $=C>0?1:-1;v=y-$*N*o,d=m,I=y+$*z*o,L=m}else if(s==="y"){N=Math.abs(O),z=Math.abs(V);var q=D>0?1:-1;v=y,d=m-q*N*o,I=y,L=m+q*z*o}else N=Math.sqrt(P*P+O*O),z=Math.sqrt(E*E+V*V),A=z/(z+N),v=y-C*o*(1-A),d=m-D*o*(1-A),I=y+C*o*A,L=m+D*o*A,I=ki(I,Oi(b,y)),L=ki(L,Oi(w,m)),I=Oi(I,ki(b,y)),L=Oi(L,ki(w,m)),C=I-y,D=L-m,v=y-C*N/z,d=m-D*N/z,v=ki(v,Oi(u,y)),d=ki(d,Oi(f,m)),v=Oi(v,ki(u,y)),d=Oi(d,ki(f,m)),C=y-v,D=m-d,I=y+C*z/N,L=m+D*z/N}r.bezierCurveTo(c,h,v,d,y,m),c=I,h=L}else r.lineTo(y,m)}u=y,f=m,p+=a}return g}var cE=function(){function r(){this.smooth=0,this.smoothConstraint=!0}return r}(),X6=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="ec-polyline",n}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new cE},t.prototype.buildPath=function(e,n){var i=n.points,a=0,o=i.length/2;if(n.connectNulls){for(;o>0&&bo(i[o*2-2],i[o*2-1]);o--);for(;a=0){var S=u?(d-l)*_+l:(v-s)*_+s;return u?[e,S]:[S,e]}s=v,l=d;break;case o.C:v=a[c++],d=a[c++],p=a[c++],g=a[c++],y=a[c++],m=a[c++];var x=u?Oh(s,v,p,y,e,f):Oh(l,d,g,m,e,f);if(x>0)for(var b=0;b=0){var S=u?Ae(l,d,g,m,w):Ae(s,v,p,y,w);return u?[e,S]:[S,e]}}s=y,l=m;break}}},t}(Pt),q6=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t}(cE),hE=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="ec-polygon",n}return t.prototype.getDefaultShape=function(){return new q6},t.prototype.buildPath=function(e,n){var i=n.points,a=n.stackedOnPoints,o=0,s=i.length/2,l=n.smoothMonotone;if(n.connectNulls){for(;s>0&&bo(i[s*2-2],i[s*2-1]);s--);for(;ot){a?e.push(o(a,l,t)):i&&e.push(o(i,l,0),o(i,l,t));break}else i&&(e.push(o(i,l,0)),i=null),e.push(l),a=l}return e}function J6(r,t,e){var n=r.getVisual("visualMeta");if(!(!n||!n.length||!r.count())&&t.type==="cartesian2d"){for(var i,a,o=n.length-1;o>=0;o--){var s=r.getDimensionInfo(n[o].dimension);if(i=s&&s.coordDim,i==="x"||i==="y"){a=n[o];break}}if(a){var l=t.getAxis(i),u=Z(a.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,c=a.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),c.reverse());var h=j6(u,i==="x"?e.getWidth():e.getHeight()),v=h.length;if(!v&&f)return u[0].coord<0?c[1]?c[1]:u[f-1].color:c[0]?c[0]:u[0].color;var d=10,p=h[0].coord-d,g=h[v-1].coord+d,y=g-p;if(y<.001)return"transparent";M(h,function(_){_.offset=(_.coord-p)/y}),h.push({offset:v?h[v-1].offset:.5,color:c[1]||"transparent"}),h.unshift({offset:v?h[0].offset:.5,color:c[0]||"transparent"});var m=new bf(0,0,0,0,h,!0);return m[i]=p,m[i+"2"]=g,m}}}function Q6(r,t,e){var n=r.get("showAllSymbol"),i=n==="auto";if(!(n&&!i)){var a=e.getAxesByScale("ordinal")[0];if(a&&!(i&&t8(a,t))){var o=t.mapDimension(a.dim),s={};return M(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(t.get(o,l))}}}}function t8(r,t){var e=r.getExtent(),n=Math.abs(e[1]-e[0])/r.scale.count();isNaN(n)&&(n=0);for(var i=t.count(),a=Math.max(1,Math.round(i/5)),o=0;on)return!1;return!0}function e8(r,t){return isNaN(r)||isNaN(t)}function r8(r){for(var t=r.length/2;t>0&&e8(r[t*2-2],r[t*2-1]);t--);return t-1}function bT(r,t){return[r[t*2],r[t*2+1]]}function n8(r,t,e){for(var n=r.length/2,i=e==="x"?0:1,a,o,s=0,l=-1,u=0;u=t||a>=t&&o<=t){l=u;break}s=u,a=o}return{range:[s,l],t:(t-a)/(o-a)}}function pE(r){if(r.get(["endLabel","show"]))return!0;for(var t=0;t0&&e.get(["emphasis","lineStyle","width"])==="bolder"){var z=d.getState("emphasis").style;z.lineWidth=+d.style.lineWidth+1}St(d).seriesIndex=e.seriesIndex,ue(d,O,V,N);var $=xT(e.get("smooth")),q=e.get("smoothMonotone");if(d.setShape({smooth:$,smoothMonotone:q,connectNulls:w}),p){var Q=s.getCalculationInfo("stackedOnSeries"),ct=0;p.useStyle(pt(u.getAreaStyle(),{fill:I,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),Q&&(ct=xT(Q.get("smooth"))),p.setShape({smooth:$,stackedOnSmooth:ct,smoothMonotone:q,connectNulls:w}),Ge(p,e,"areaStyle"),St(p).seriesIndex=e.seriesIndex,ue(p,O,V,N)}var ht=this._changePolyState;s.eachItemGraphicEl(function(gt){gt&&(gt.onHoverStateChange=ht)}),this._polyline.onHoverStateChange=ht,this._data=s,this._coordSys=a,this._stackedOnPoints=x,this._points=f,this._step=C,this._valueOrigin=_,e.get("triggerLineEvent")&&(this.packEventData(e,d),p&&this.packEventData(e,p))},t.prototype.packEventData=function(e,n){St(n).eventData={componentType:"series",componentSubType:"line",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"line"}},t.prototype.highlight=function(e,n,i,a){var o=e.getData(),s=Co(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],c=l[s*2+1];if(isNaN(f)||isNaN(c)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,c))return;var h=e.get("zlevel")||0,v=e.get("z")||0;u=new If(o,s),u.x=f,u.y=c,u.setZ(h,v);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=h,d.z=v,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else ee.prototype.highlight.call(this,e,n,i,a)},t.prototype.downplay=function(e,n,i,a){var o=e.getData(),s=Co(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else ee.prototype.downplay.call(this,e,n,i,a)},t.prototype._changePolyState=function(e){var n=this._polygon;Hh(this._polyline,e),n&&Hh(n,e)},t.prototype._newPolyline=function(e){var n=this._polyline;return n&&this._lineGroup.remove(n),n=new X6({shape:{points:e},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(n),this._polyline=n,n},t.prototype._newPolygon=function(e,n){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new hE({shape:{points:e,stackedOnPoints:n},segmentIgnoreThreshold:2}),this._lineGroup.add(i),this._polygon=i,i},t.prototype._initSymbolLabelAnimation=function(e,n,i){var a,o,s=n.getBaseAxis(),l=s.inverse;n.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):n.type==="polar"&&(a=s.dim==="angle",o=!0);var u=e.hostModel,f=u.get("animationDuration");vt(f)&&(f=f(null));var c=u.get("animationDelay")||0,h=vt(c)?c(null):c;e.eachItemGraphicEl(function(v,d){var p=v;if(p){var g=[v.x,v.y],y=void 0,m=void 0,_=void 0;if(i)if(o){var S=i,x=n.pointToCoord(g);a?(y=S.startAngle,m=S.endAngle,_=-x[1]/180*Math.PI):(y=S.r0,m=S.r,_=x[0])}else{var b=i;a?(y=b.x,m=b.x+b.width,_=v.x):(y=b.y+b.height,m=b.y,_=v.y)}var w=m===y?0:(_-y)/(m-y);l&&(w=1-w);var T=vt(c)?c(d):f*w+h,A=p.getSymbolPath(),C=A.getTextContent();p.attr({scaleX:0,scaleY:0}),p.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:T}),C&&C.animateFrom({style:{opacity:0}},{duration:300,delay:T}),A.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(e,n,i){var a=e.getModel("endLabel");if(pE(e)){var o=e.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new Gt({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=r8(l);f>=0&&(Fe(s,De(e,"endLabel"),{inheritColor:i,labelFetcher:e,labelDataIndex:f,defaultText:function(c,h,v){return v!=null?lE(o,v):$s(o,c)},enableTextSetter:!0},i8(a,n)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(e,n,i,a,o,s,l){var u=this._endLabel,f=this._polyline;if(u){e<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var c=i.getLayout("points"),h=i.hostModel,v=h.get("connectNulls"),d=s.get("precision"),p=s.get("distance")||0,g=l.getBaseAxis(),y=g.isHorizontal(),m=g.inverse,_=n.shape,S=m?y?_.x:_.y+_.height:y?_.x+_.width:_.y,x=(y?p:0)*(m?-1:1),b=(y?0:-p)*(m?-1:1),w=y?"x":"y",T=n8(c,S,w),A=T.range,C=A[1]-A[0],D=void 0;if(C>=1){if(C>1&&!v){var I=bT(c,A[0]);u.attr({x:I[0]+x,y:I[1]+b}),o&&(D=h.getRawValue(A[0]))}else{var I=f.getPointOn(S,w);I&&u.attr({x:I[0]+x,y:I[1]+b});var L=h.getRawValue(A[0]),P=h.getRawValue(A[1]);o&&(D=OL(i,d,L,P,T.t))}a.lastFrameIndex=A[0]}else{var E=e===1||a.lastFrameIndex>0?A[0]:0,I=bT(c,E);o&&(D=h.getRawValue(E)),u.attr({x:I[0]+x,y:I[1]+b})}if(o){var O=el(u);typeof O.setLabelText=="function"&&O.setLabelText(D)}}},t.prototype._doUpdateAnimation=function(e,n,i,a,o,s,l){var u=this._polyline,f=this._polygon,c=e.hostModel,h=Z6(this._data,e,this._stackedOnPoints,n,this._coordSys,i,this._valueOrigin),v=h.current,d=h.stackedOnCurrent,p=h.next,g=h.stackedOnNext;if(o&&(d=Ni(h.stackedOnCurrent,h.current,i,o,l),v=Ni(h.current,null,i,o,l),g=Ni(h.stackedOnNext,h.next,i,o,l),p=Ni(h.next,null,i,o,l)),ST(v,p)>3e3||f&&ST(d,g)>3e3){u.stopAnimation(),u.setShape({points:p}),f&&(f.stopAnimation(),f.setShape({points:p,stackedOnPoints:g}));return}u.shape.__points=h.current,u.shape.points=v;var y={shape:{points:p}};h.current!==v&&(y.shape.__points=h.next),u.stopAnimation(),Ht(u,y,c),f&&(f.setShape({points:v,stackedOnPoints:d}),f.stopAnimation(),Ht(f,{shape:{stackedOnPoints:g}},c),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var m=[],_=h.status,S=0;S<_.length;S++){var x=_[S].cmd;if(x==="="){var b=e.getItemGraphicEl(_[S].idx1);b&&m.push({el:b,ptIdx:S})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var w=u.shape.__points,T=0;Tt&&(t=r[e]);return isFinite(t)?t:NaN},min:function(r){for(var t=1/0,e=0;e10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),c=n.getDevicePixelRatio(),h=Math.abs(f[1]-f[0])*(c||1),v=Math.round(s/h);if(isFinite(v)&&v>1){a==="lttb"?t.setData(i.lttbDownSample(i.mapDimension(u.dim),1/v)):a==="minmax"&&t.setData(i.minmaxDownSample(i.mapDimension(u.dim),1/v));var d=void 0;nt(a)?d=s8[a]:vt(a)&&(d=a),d&&t.setData(i.downSample(i.mapDimension(u.dim),1/v,d,l8))}}}}}function u8(r){r.registerChartView(o8),r.registerSeriesModel(F6),r.registerLayout(Rf("line",!0)),r.registerVisual({seriesType:"line",reset:function(t){var e=t.getData(),n=t.getModel("lineStyle").getLineStyle();n&&!n.stroke&&(n.stroke=e.getVisual("style").fill),e.setVisual("legendLineStyle",n)}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,gE("line"))}var yE=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,n){return Ai(null,this,{useEncodeDefaulter:!0})},t.prototype.getMarkerPosition=function(e,n,i){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(e),s=a.dataToPoint(o);if(i)M(a.getAxes(),function(h,v){if(h.type==="category"&&n!=null){var d=h.getTicksCoords(),p=h.getTickModel().get("alignWithLabel"),g=o[v],y=n[v]==="x1"||n[v]==="y1";if(y&&!p&&(g+=1),d.length<2)return;if(d.length===2){s[v]=h.toGlobalCoord(h.getExtent()[y?1:0]);return}for(var m=void 0,_=void 0,S=1,x=0;xg){_=(b+m)/2;break}x===1&&(S=w-d[0].tickValue)}_==null&&(m?m&&(_=d[d.length-1].coord):_=d[0].coord),s[v]=h.toGlobalCoord(_)}});else{var l=this.getData(),u=l.getLayout("offset"),f=l.getLayout("size"),c=a.getBaseAxis().isHorizontal()?0:1;s[c]+=u+f/2}return s}return[NaN,NaN]},t.type="series.__base_bar__",t.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},t}(le);le.registerClass(yE);const sv=yE;var f8=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(){return Ai(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},t.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},t.prototype.getProgressiveThreshold=function(){var e=this.get("progressiveThreshold"),n=this.get("largeThreshold");return n>e&&(e=n),e},t.prototype.brushSelector=function(e,n,i){return i.rect(n.getItemLayout(e))},t.type="series.bar",t.dependencies=["grid","polar"],t.defaultOption=ga(sv.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),t}(sv);const c8=f8;var h8=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r}(),v8=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="sausage",n}return t.prototype.getDefaultShape=function(){return new h8},t.prototype.buildPath=function(e,n){var i=n.cx,a=n.cy,o=Math.max(n.r0||0,0),s=Math.max(n.r,0),l=(s-o)*.5,u=o+l,f=n.startAngle,c=n.endAngle,h=n.clockwise,v=Math.PI*2,d=h?c-fMath.PI/2&&fs)return!0;s=c}return!1},t.prototype._isOrderDifferentInView=function(e,n){for(var i=n.scale,a=i.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],i.getOrdinalMeta().categories.length-1);o<=s;++o)if(e.ordinalNumbers[o]!==i.getRawOrdinalNumber(o))return!0},t.prototype._updateSortWithinSameData=function(e,n,i,a){if(this._isOrderChangedWithinSameData(e,n,i)){var o=this._dataSort(e,i,n);this._isOrderDifferentInView(o,i)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",axisId:i.index,sortInfo:o}))}},t.prototype._dispatchInitSort=function(e,n,i){var a=n.baseAxis,o=this._dataSort(e,a,function(s){return e.get(e.mapDimension(n.otherAxis.dim),s)});i.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},t.prototype.remove=function(e,n){this._clear(this._model),this._removeOnRenderedListener(n)},t.prototype.dispose=function(e,n){this._removeOnRenderedListener(n)},t.prototype._removeOnRenderedListener=function(e){this._onRendered&&(e.getZr().off("rendered",this._onRendered),this._onRendered=null)},t.prototype._clear=function(e){var n=this.group,i=this._data;e&&e.isAnimationEnabled()&&i&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],i.eachItemGraphicEl(function(a){Zu(a,e,St(a).dataIndex)})):n.removeAll(),this._data=null,this._isFirstFrame=!0},t.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},t.type="bar",t}(ee),wT={cartesian2d:function(r,t){var e=t.width<0?-1:1,n=t.height<0?-1:1;e<0&&(t.x+=t.width,t.width=-t.width),n<0&&(t.y+=t.height,t.height=-t.height);var i=r.x+r.width,a=r.y+r.height,o=sg(t.x,r.x),s=lg(t.x+t.width,i),l=sg(t.y,r.y),u=lg(t.y+t.height,a),f=si?s:o,t.y=c&&l>a?u:l,t.width=f?0:s-o,t.height=c?0:u-l,e<0&&(t.x+=t.width,t.width=-t.width),n<0&&(t.y+=t.height,t.height=-t.height),f||c},polar:function(r,t){var e=t.r0<=t.r?1:-1;if(e<0){var n=t.r;t.r=t.r0,t.r0=n}var i=lg(t.r,r.r),a=sg(t.r0,r.r0);t.r=i,t.r0=a;var o=i-a<0;if(e<0){var n=t.r;t.r=t.r0,t.r0=n}return o}},TT={cartesian2d:function(r,t,e,n,i,a,o,s,l){var u=new Vt({shape:F({},n),z2:1});if(u.__dataIndex=e,u.name="item",a){var f=u.shape,c=i?"height":"width";f[c]=0}return u},polar:function(r,t,e,n,i,a,o,s,l){var u=!i&&l?lv:gr,f=new u({shape:n,z2:1});f.name="item";var c=mE(i);if(f.calculateTextPosition=d8(c,{isRoundCap:u===lv}),a){var h=f.shape,v=i?"r":"endAngle",d={};h[v]=i?n.r0:n.startAngle,d[v]=n[v],(s?Ht:ae)(f,{shape:d},a)}return f}};function m8(r,t){var e=r.get("realtimeSort",!0),n=t.getBaseAxis();if(e&&n.type==="category"&&t.type==="cartesian2d")return{baseAxis:n,otherAxis:t.getOtherAxis(n)}}function AT(r,t,e,n,i,a,o,s){var l,u;a?(u={x:n.x,width:n.width},l={y:n.y,height:n.height}):(u={y:n.y,height:n.height},l={x:n.x,width:n.width}),s||(o?Ht:ae)(e,{shape:l},t,i,null);var f=t?r.baseAxis.model:null;(o?Ht:ae)(e,{shape:u},f,i)}function CT(r,t){for(var e=0;e0?1:-1,o=n.height>0?1:-1;return{x:n.x+a*i/2,y:n.y+o*i/2,width:n.width-a*i,height:n.height-o*i}},polar:function(r,t,e){var n=r.getItemLayout(t);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle,clockwise:n.clockwise}}};function x8(r){return r.startAngle!=null&&r.endAngle!=null&&r.startAngle===r.endAngle}function mE(r){return function(t){var e=t?"Arc":"Angle";return function(n){switch(n){case"start":case"insideStart":case"end":case"insideEnd":return n+e;default:return n}}}(r)}function DT(r,t,e,n,i,a,o,s){var l=t.getItemVisual(e,"style");if(s){if(!a.get("roundCap")){var f=r.shape,c=fo(n.getModel("itemStyle"),f,!0);F(f,c),r.setShape(f)}}else{var u=n.get(["itemStyle","borderRadius"])||0;r.setShape("r",u)}r.useStyle(l);var h=n.getShallow("cursor");h&&r.attr("cursor",h);var v=s?o?i.r>=i.r0?"endArc":"startArc":i.endAngle>=i.startAngle?"endAngle":"startAngle":o?i.height>=0?"bottom":"top":i.width>=0?"right":"left",d=De(n);Fe(r,d,{labelFetcher:a,labelDataIndex:e,defaultText:$s(a.getData(),e),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:v});var p=r.getTextContent();if(s&&p){var g=n.get(["label","position"]);r.textConfig.inside=g==="middle"?!0:null,p8(r,g==="outside"?v:g,mE(o),n.get(["label","rotate"]))}PP(p,d,a.getRawValue(e),function(m){return lE(t,m)});var y=n.getModel(["emphasis"]);ue(r,y.get("focus"),y.get("blurScope"),y.get("disabled")),Ge(r,n),x8(i)&&(r.style.fill="none",r.style.stroke="none",M(r.states,function(m){m.style&&(m.style.fill=m.style.stroke="none")}))}function b8(r,t){var e=r.get(["itemStyle","borderColor"]);if(!e||e==="none")return 0;var n=r.get(["itemStyle","borderWidth"])||0,i=isNaN(t.width)?Number.MAX_VALUE:Math.abs(t.width),a=isNaN(t.height)?Number.MAX_VALUE:Math.abs(t.height);return Math.min(n,i,a)}var w8=function(){function r(){}return r}(),IT=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="largeBar",n}return t.prototype.getDefaultShape=function(){return new w8},t.prototype.buildPath=function(e,n){for(var i=n.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,f=0;f=0?e:null},30,!1);function T8(r,t,e){for(var n=r.baseDimIdx,i=1-n,a=r.shape.points,o=r.largeDataIndices,s=[],l=[],u=r.barWidth,f=0,c=a.length/3;f=s[0]&&t<=s[0]+l[0]&&e>=s[1]&&e<=s[1]+l[1])return o[f]}return-1}function _E(r,t,e){if(zo(e,"cartesian2d")){var n=t,i=e.getArea();return{x:r?n.x:i.x,y:r?i.y:n.y,width:r?n.width:i.width,height:r?i.height:n.height}}else{var i=e.getArea(),a=t;return{cx:i.cx,cy:i.cy,r0:r?i.r0:a.r0,r:r?i.r:a.r,startAngle:r?a.startAngle:0,endAngle:r?a.endAngle:Math.PI*2}}}function A8(r,t,e){var n=r.type==="polar"?gr:Vt;return new n({shape:_E(t,e,r),silent:!0,z2:0})}const C8=y8;function M8(r){r.registerChartView(C8),r.registerSeriesModel(c8),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,bt(xR,"bar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,bR("bar")),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,gE("bar")),r.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(t,e){var n=t.componentType||"series";e.eachComponent({mainType:n,query:t},function(i){t.sortInfo&&i.axis.setCategorySortInfo(t.sortInfo)})})}var RT=Math.PI*2,Mc=Math.PI/180;function SE(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function xE(r,t){var e=SE(r,t),n=r.get("center"),i=r.get("radius");Y(i)||(i=[0,i]);var a=et(e.width,t.getWidth()),o=et(e.height,t.getHeight()),s=Math.min(a,o),l=et(i[0],s/2),u=et(i[1],s/2),f,c,h=r.coordinateSystem;if(h){var v=h.dataToPoint(n);f=v[0]||0,c=v[1]||0}else Y(n)||(n=[n,n]),f=et(n[0],a)+e.x,c=et(n[1],o)+e.y;return{cx:f,cy:c,r0:l,r:u}}function D8(r,t,e){t.eachSeriesByType(r,function(n){var i=n.getData(),a=i.mapDimension("value"),o=SE(n,e),s=xE(n,e),l=s.cx,u=s.cy,f=s.r,c=s.r0,h=-n.get("startAngle")*Mc,v=n.get("endAngle"),d=n.get("padAngle")*Mc;v=v==="auto"?h-RT:-v*Mc;var p=n.get("minAngle")*Mc,g=p+d,y=0;i.each(a,function(V){!isNaN(V)&&y++});var m=i.getSum(a),_=Math.PI/(m||y)*2,S=n.get("clockwise"),x=n.get("roseType"),b=n.get("stillShowZeroSum"),w=i.getDataExtent(a);w[0]=0;var T=S?1:-1,A=[h,v],C=T*d/2;f_(A,!S),h=A[0],v=A[1];var D=bE(n);D.startAngle=h,D.endAngle=v,D.clockwise=S;var I=Math.abs(v-h),L=I,P=0,E=h;if(i.setLayout({viewRect:o,r:f}),i.each(a,function(V,N){var z;if(isNaN(V)){i.setItemLayout(N,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:S,cx:l,cy:u,r0:c,r:x?NaN:f});return}x!=="area"?z=m===0&&b?_:V*_:z=I/y,zz?(q=E+T*z/2,Q=q):(q=E+C,Q=$-C),i.setItemLayout(N,{angle:z,startAngle:q,endAngle:Q,clockwise:S,cx:l,cy:u,r0:c,r:x?Ut(V,w,[c,f]):f}),E=$}),Le?y:g,x=Math.abs(_.label.y-e);if(x>=S.maxY){var b=_.label.x-t-_.len2*i,w=n+_.len,T=Math.abs(b)r.unconstrainedWidth?null:v:null;n.setStyle("width",d)}var p=n.getBoundingRect();a.width=p.width;var g=(n.style.margin||0)+2.1;a.height=p.height+g,a.y-=(a.height-c)/2}}}function ug(r){return r.position==="center"}function P8(r){var t=r.getData(),e=[],n,i,a=!1,o=(r.get("minShowLabelAngle")||0)*I8,s=t.getLayout("viewRect"),l=t.getLayout("r"),u=s.width,f=s.x,c=s.y,h=s.height;function v(b){b.ignore=!0}function d(b){if(!b.ignore)return!0;for(var w in b.states)if(b.states[w].ignore===!1)return!0;return!1}t.each(function(b){var w=t.getItemGraphicEl(b),T=w.shape,A=w.getTextContent(),C=w.getTextGuideLine(),D=t.getItemModel(b),I=D.getModel("label"),L=I.get("position")||D.get(["emphasis","label","position"]),P=I.get("distanceToLabelLine"),E=I.get("alignTo"),O=et(I.get("edgeDistance"),u),V=I.get("bleedMargin"),N=D.getModel("labelLine"),z=N.get("length");z=et(z,u);var $=N.get("length2");if($=et($,u),Math.abs(T.endAngle-T.startAngle)0?"right":"left":Q>0?"left":"right"}var G=Math.PI,X=0,W=I.get("rotate");if(Ft(W))X=W*(G/180);else if(L==="center")X=0;else if(W==="radial"||W===!0){var J=Q<0?-q+G:-q;X=J}else if(W==="tangential"&&L!=="outside"&&L!=="outer"){var ot=Math.atan2(Q,ct);ot<0&&(ot=G*2+ot);var ut=ct>0;ut&&(ot=G+ot),X=ot-G}if(a=!!X,A.x=ht,A.y=gt,A.rotation=X,A.setStyle({verticalAlign:"middle"}),K){A.setStyle({align:U});var At=A.states.select;At&&(At.x+=A.x,At.y+=A.y)}else{var it=A.getBoundingRect().clone();it.applyTransform(A.getComputedTransform());var rt=(A.style.margin||0)+2.1;it.y-=rt/2,it.height+=rt,e.push({label:A,labelLine:C,position:L,len:z,len2:$,minTurnAngle:N.get("minTurnAngle"),maxSurfaceAngle:N.get("maxSurfaceAngle"),surfaceNormal:new Ct(Q,ct),linePoints:Et,textAlign:U,labelDistance:P,labelAlignTo:E,edgeDistance:O,bleedMargin:V,rect:it,unconstrainedWidth:it.width,labelStyleWidth:A.style.width})}w.setTextConfig({inside:K})}}),!a&&r.get("avoidLabelOverlap")&&L8(e,n,i,l,u,h,f,c);for(var p=0;p0){for(var f=o.getItemLayout(0),c=1;isNaN(f&&f.startAngle)&&c=a.r0}},t.type="pie",t}(ee);const k8=E8;function cl(r,t,e){t=Y(t)&&{coordDimensions:t}||F({encodeDefine:r.getEncode()},t);var n=r.getSource(),i=Mf(n,t).dimensions,a=new or(i,r);return a.initData(n,e),a}var O8=function(){function r(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return r.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},r.prototype.containName=function(t){var e=this._getRawData();return e.indexOfName(t)>=0},r.prototype.indexOfName=function(t){var e=this._getDataWithEncodedVisual();return e.indexOfName(t)},r.prototype.getItemVisual=function(t,e){var n=this._getDataWithEncodedVisual();return n.getItemVisual(t,e)},r}();const kf=O8;var N8=Nt(),V8=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new kf(at(this.getData,this),at(this.getRawData,this)),this._defaultLabelLine(e)},t.prototype.mergeOption=function(){r.prototype.mergeOption.apply(this,arguments)},t.prototype.getInitialData=function(){return cl(this,{coordDimensions:["value"],encodeDefaulter:bt(I_,this)})},t.prototype.getDataParams=function(e){var n=this.getData(),i=N8(n),a=i.seats;if(!a){var o=[];n.each(n.mapDimension("value"),function(l){o.push(l)}),a=i.seats=YG(o,n.hostModel.get("percentPrecision"))}var s=r.prototype.getDataParams.call(this,e);return s.percent=a[e]||0,s.$vars.push("percent"),s},t.prototype._defaultLabelLine=function(e){Ao(e,"labelLine",["show"]);var n=e.labelLine,i=e.emphasis.labelLine;n.show=n.show&&e.label.show,i.show=i.show&&e.emphasis.label.show},t.type="series.pie",t.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},t}(le);const B8=V8;function z8(r){return{seriesType:r,reset:function(t,e){var n=t.getData();n.filterSelf(function(i){var a=n.mapDimension("value"),o=n.get(a,i);return!(Ft(o)&&!isNaN(o)&&o<0)})}}}function G8(r){r.registerChartView(k8),r.registerSeriesModel(B8),z2("pie",r.registerAction),r.registerLayout(bt(D8,"pie")),r.registerProcessor(Ef("pie")),r.registerProcessor(z8("pie"))}var F8=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.hasSymbolVisual=!0,e}return t.prototype.getInitialData=function(e,n){return Ai(null,this,{useEncodeDefaulter:!0})},t.prototype.getProgressive=function(){var e=this.option.progressive;return e==null?this.option.large?5e3:this.get("progressive"):e},t.prototype.getProgressiveThreshold=function(){var e=this.option.progressiveThreshold;return e==null?this.option.large?1e4:this.get("progressiveThreshold"):e},t.prototype.brushSelector=function(e,n,i){return i.point(n.getItemLayout(e))},t.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},t.type="series.scatter",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},t}(le);const H8=F8;var TE=4,W8=function(){function r(){}return r}(),$8=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.getDefaultShape=function(){return new W8},t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.buildPath=function(e,n){var i=n.points,a=n.size,o=this.symbolProxy,s=o.shape,l=e.getContext?e.getContext():e,u=l&&a[0]=0;u--){var f=u*2,c=a[f]-s/2,h=a[f+1]-l/2;if(e>=c&&n>=h&&e<=c+s&&n<=h+l)return u}return-1},t.prototype.contain=function(e,n){var i=this.transformCoordToLocal(e,n),a=this.getBoundingRect();if(e=i[0],n=i[1],a.contain(e,n)){var o=this.hoverDataIdx=this.findDataIndex(e,n);return o>=0}return this.hoverDataIdx=-1,!1},t.prototype.getBoundingRect=function(){var e=this._rect;if(!e){for(var n=this.shape,i=n.points,a=n.size,o=a[0],s=a[1],l=1/0,u=1/0,f=-1/0,c=-1/0,h=0;h=0&&(u.dataIndex=c+(t.startIndex||0))})},r.prototype.remove=function(){this._clear()},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}();const Y8=U8;var Z8=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this._updateSymbolDraw(a,e);o.updateData(a,{clipShape:this._getClipShape(e)}),this._finished=!0},t.prototype.incrementalPrepareRender=function(e,n,i){var a=e.getData(),o=this._updateSymbolDraw(a,e);o.incrementalPrepareUpdate(a),this._finished=!1},t.prototype.incrementalRender=function(e,n,i){this._symbolDraw.incrementalUpdate(e,n.getData(),{clipShape:this._getClipShape(n)}),this._finished=e.end===n.getData().count()},t.prototype.updateTransform=function(e,n,i){var a=e.getData();if(this.group.dirty(),!this._finished||a.count()>1e4)return{update:!0};var o=Rf("").reset(e,n,i);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout(a)},t.prototype.eachRendered=function(e){this._symbolDraw&&this._symbolDraw.eachRendered(e)},t.prototype._getClipShape=function(e){if(e.get("clip",!0)){var n=e.coordinateSystem;return n&&n.getArea&&n.getArea(.1)}},t.prototype._updateSymbolDraw=function(e,n){var i=this._symbolDraw,a=n.pipelineContext,o=a.large;return(!i||o!==this._isLargeDraw)&&(i&&i.remove(),i=this._symbolDraw=o?new Y8:new Lf,this._isLargeDraw=o,this.group.removeAll()),this.group.add(i.group),i},t.prototype.remove=function(e,n){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},t.prototype.dispose=function(){},t.type="scatter",t}(ee);const X8=Z8;var q8=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.type="grid",t.dependencies=["xAxis","yAxis"],t.layoutMode="box",t.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},t}(Bt);const K8=q8;var Nm=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",ge).models[0]},t.type="cartesian2dAxis",t}(Bt);_e(Nm,Df);var AE={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},j8=Tt({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},AE),o1=Tt({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},AE),J8=Tt({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},o1),Q8=pt({logBase:10},o1);const CE={category:j8,value:o1,time:J8,log:Q8};var tY={value:1,category:1,time:1,log:1};function Us(r,t,e,n){M(tY,function(i,a){var o=Tt(Tt({},CE[a],!0),n,!0),s=function(l){B(u,l);function u(){var f=l!==null&&l.apply(this,arguments)||this;return f.type=t+"Axis."+a,f}return u.prototype.mergeDefaultAndTheme=function(f,c){var h=qu(this),v=h?il(f):{},d=c.getTheme();Tt(f,d.get(a+"Axis")),Tt(f,this.getDefaultOption()),f.type=kT(f),h&&sa(f,v,h)},u.prototype.optionUpdated=function(){var f=this.option;f.type==="category"&&(this.__ordinalMeta=Im.createByAxisModel(this))},u.prototype.getCategories=function(f){var c=this.option;if(c.type==="category")return f?c.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.type=t+"Axis."+a,u.defaultOption=o,u}(e);r.registerComponentModel(s)}),r.registerSubTypeDefaulter(t+"Axis",kT)}function kT(r){return r.type||(r.data?"category":"value")}var eY=function(){function r(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return r.prototype.getAxis=function(t){return this._axes[t]},r.prototype.getAxes=function(){return Z(this._dimList,function(t){return this._axes[t]},this)},r.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),$t(this.getAxes(),function(e){return e.scale.type===t})},r.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},r}();const rY=eY;var Vm=["x","y"];function OT(r){return r.type==="interval"||r.type==="time"}var nY=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=Vm,e}return t.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var e=this.getAxis("x").scale,n=this.getAxis("y").scale;if(!(!OT(e)||!OT(n))){var i=e.getExtent(),a=n.getExtent(),o=this.dataToPoint([i[0],a[0]]),s=this.dataToPoint([i[1],a[1]]),l=i[1]-i[0],u=a[1]-a[0];if(!(!l||!u)){var f=(s[0]-o[0])/l,c=(s[1]-o[1])/u,h=o[0]-i[0]*f,v=o[1]-a[0]*c,d=this._transform=[f,0,0,c,h,v];this._invTransform=js([],d)}}},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},t.prototype.containPoint=function(e){var n=this.getAxis("x"),i=this.getAxis("y");return n.contain(n.toLocalCoord(e[0]))&&i.contain(i.toLocalCoord(e[1]))},t.prototype.containData=function(e){return this.getAxis("x").containData(e[0])&&this.getAxis("y").containData(e[1])},t.prototype.containZone=function(e,n){var i=this.dataToPoint(e),a=this.dataToPoint(n),o=this.getArea(),s=new Mt(i[0],i[1],a[0]-i[0],a[1]-i[1]);return o.intersect(s)},t.prototype.dataToPoint=function(e,n,i){i=i||[];var a=e[0],o=e[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return Be(i,e,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return i[0]=s.toGlobalCoord(s.dataToCoord(a,n)),i[1]=l.toGlobalCoord(l.dataToCoord(o,n)),i},t.prototype.clampData=function(e,n){var i=this.getAxis("x").scale,a=this.getAxis("y").scale,o=i.getExtent(),s=a.getExtent(),l=i.parse(e[0]),u=a.parse(e[1]);return n=n||[],n[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),n[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),n},t.prototype.pointToData=function(e,n){var i=[];if(this._invTransform)return Be(i,e,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return i[0]=a.coordToData(a.toLocalCoord(e[0]),n),i[1]=o.coordToData(o.toLocalCoord(e[1]),n),i},t.prototype.getOtherAxis=function(e){return this.getAxis(e.dim==="x"?"y":"x")},t.prototype.getArea=function(e){e=e||0;var n=this.getAxis("x").getGlobalExtent(),i=this.getAxis("y").getGlobalExtent(),a=Math.min(n[0],n[1])-e,o=Math.min(i[0],i[1])-e,s=Math.max(n[0],n[1])-a+e,l=Math.max(i[0],i[1])-o+e;return new Mt(a,o,s,l)},t}(rY),iY=function(r){B(t,r);function t(e,n,i,a,o){var s=r.call(this,e,n,i)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return t.prototype.isHorizontal=function(){var e=this.position;return e==="top"||e==="bottom"},t.prototype.getGlobalExtent=function(e){var n=this.getExtent();return n[0]=this.toGlobalCoord(n[0]),n[1]=this.toGlobalCoord(n[1]),e&&n[0]>n[1]&&n.reverse(),n},t.prototype.pointToData=function(e,n){return this.coordToData(this.toLocalCoord(e[this.dim==="x"?0:1]),n)},t.prototype.setCategorySortInfo=function(e){if(this.type!=="category")return!1;this.model.option.categorySortInfo=e,this.scale.setSortInfo(e)},t}(yn);const aY=iY;function Bm(r,t,e){e=e||{};var n=r.coordinateSystem,i=t.axis,a={},o=i.getAxesOnZeroOf()[0],s=i.position,l=o?"onZero":s,u=i.dim,f=n.getRect(),c=[f.x,f.x+f.width,f.y,f.y+f.height],h={left:0,right:1,top:0,bottom:1,onZero:2},v=t.get("offset")||0,d=u==="x"?[c[2]-v,c[3]+v]:[c[0]-v,c[1]+v];if(o){var p=o.toGlobalCoord(o.dataToCoord(0));d[h.onZero]=Math.max(Math.min(p,d[1]),d[0])}a.position=[u==="y"?d[h[l]]:c[0],u==="x"?d[h[l]]:c[3]],a.rotation=Math.PI/2*(u==="x"?0:1);var g={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=g[s],a.labelOffset=o?d[h[s]]-d[h.onZero]:0,t.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),Re(e.labelInside,t.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var y=t.get(["axisLabel","rotate"]);return a.labelRotate=l==="top"?-y:y,a.z2=1,a}function NT(r){return r.get("coordinateSystem")==="cartesian2d"}function VT(r){var t={xAxisModel:null,yAxisModel:null};return M(t,function(e,n){var i=n.replace(/Model$/,""),a=r.getReferringComponents(i,ge).models[0];t[n]=a}),t}var fg=Math.log;function ME(r,t,e){var n=ua.prototype,i=n.getTicks.call(e),a=n.getTicks.call(e,!0),o=i.length-1,s=n.getInterval.call(e),l=IR(r,t),u=l.extent,f=l.fixMin,c=l.fixMax;if(r.type==="log"){var h=fg(r.base);u=[fg(u[0])/h,fg(u[1])/h]}r.setExtent(u[0],u[1]),r.calcNiceExtent({splitNumber:o,fixMin:f,fixMax:c});var v=n.getExtent.call(r);f&&(u[0]=v[0]),c&&(u[1]=v[1]);var d=n.getInterval.call(r),p=u[0],g=u[1];if(f&&c)d=(g-p)/o;else if(f)for(g=u[0]+d*o;gu[0]&&isFinite(p)&&isFinite(u[0]);)d=qp(d),p=u[1]-d*o;else{var y=r.getTicks().length-1;y>o&&(d=qp(d));var m=d*o;g=Math.ceil(u[1]/d)*d,p=ce(g-m),p<0&&u[0]>=0?(p=0,g=ce(m)):g>0&&u[1]<=0&&(g=0,p=-ce(m))}var _=(i[0].value-a[0].value)/s,S=(i[o].value-a[o].value)/s;n.setExtent.call(r,p+d*_,g+d*S),n.setInterval.call(r,d),(_||S)&&n.setNiceExtent.call(r,p+d,g-d)}var oY=function(){function r(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=Vm,this._initCartesian(t,e,n),this.model=t}return r.prototype.getRect=function(){return this._rect},r.prototype.update=function(t,e){var n=this._axesMap;this._updateScale(t,this.model);function i(o){var s,l=kt(o),u=l.length;if(u){for(var f=[],c=u-1;c>=0;c--){var h=+l[c],v=o[h],d=v.model,p=v.scale;Lm(p)&&d.get("alignTicks")&&d.get("interval")==null?f.push(v):(Ws(p,d),Lm(p)&&(s=v))}f.length&&(s||(s=f.pop(),Ws(s.scale,s.model)),M(f,function(g){ME(g.scale,g.model,s.scale)}))}}i(n.x),i(n.y);var a={};M(n.x,function(o){BT(n,"y",o,a)}),M(n.y,function(o){BT(n,"x",o,a)}),this.resize(this.model,e)},r.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),a=!n&&t.get("containLabel"),o=be(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var s=this._axesList;l(),a&&(M(s,function(u){if(!u.model.get(["axisLabel","inside"])){var f=mU(u);if(f){var c=u.isHorizontal()?"height":"width",h=u.model.get(["axisLabel","margin"]);o[c]-=f[c]+h,u.position==="top"?o.y+=f.height+h:u.position==="left"&&(o.x+=f.width+h)}}}),l()),M(this._coordsList,function(u){u.calcAffineTransform()});function l(){M(s,function(u){var f=u.isHorizontal(),c=f?[0,o.width]:[0,o.height],h=u.inverse?1:0;u.setExtent(c[h],c[1-h]),sY(u,f?o.x:o.y)})}},r.prototype.getAxis=function(t,e){var n=this._axesMap[t];if(n!=null)return n[e||0]},r.prototype.getAxes=function(){return this._axesList.slice()},r.prototype.getCartesian=function(t,e){if(t!=null&&e!=null){var n="x"+t+"y"+e;return this._coordsMap[n]}yt(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,a=this._coordsList;i0?"top":"bottom",a="center"):Hu(i-Ki)?(o=n>0?"bottom":"top",a="center"):(o="middle",i>0&&i0?"right":"left":a=n>0?"left":"right"),{rotation:i,textAlign:a,textVerticalAlign:o}},r.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},r.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},r}(),GT={axisLine:function(r,t,e,n){var i=t.get(["axisLine","show"]);if(i==="auto"&&r.handleAutoShown&&(i=r.handleAutoShown("axisLine")),!!i){var a=t.axis.getExtent(),o=n.transform,s=[a[0],0],l=[a[1],0],u=s[0]>l[0];o&&(Be(s,s,o),Be(l,l,o));var f=F({lineCap:"round"},t.getModel(["axisLine","lineStyle"]).getLineStyle()),c=new Ee({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:f,strokeContainThreshold:r.strokeContainThreshold||5,silent:!0,z2:1});Gs(c.shape,c.style.lineWidth),c.anid="line",e.add(c);var h=t.get(["axisLine","symbol"]);if(h!=null){var v=t.get(["axisLine","symbolSize"]);nt(h)&&(h=[h,h]),(nt(v)||Ft(v))&&(v=[v,v]);var d=Vo(t.get(["axisLine","symbolOffset"])||0,v),p=v[0],g=v[1];M([{rotate:r.rotation+Math.PI/2,offset:d[0],r:0},{rotate:r.rotation-Math.PI/2,offset:d[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],function(y,m){if(h[m]!=="none"&&h[m]!=null){var _=me(h[m],-p/2,-g/2,p,g,f.stroke,!0),S=y.r+y.offset,x=u?l:s;_.attr({rotation:y.rotate,x:x[0]+S*Math.cos(r.rotation),y:x[1]-S*Math.sin(r.rotation),silent:!0,z2:11}),e.add(_)}})}}},axisTickLabel:function(r,t,e,n){var i=cY(e,n,t,r),a=vY(e,n,t,r);if(fY(t,a,i),hY(e,n,t,r.tickDirection),t.get(["axisLabel","hideOverlap"])){var o=WR(Z(a,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));YR(o)}},axisName:function(r,t,e,n){var i=Re(r.axisName,t.get("name"));if(i){var a=t.get("nameLocation"),o=r.nameDirection,s=t.getModel("nameTextStyle"),l=t.get("nameGap")||0,u=t.axis.getExtent(),f=u[0]>u[1]?-1:1,c=[a==="start"?u[0]-f*l:a==="end"?u[1]+f*l:(u[0]+u[1])/2,HT(a)?r.labelOffset+o*l:0],h,v=t.get("nameRotate");v!=null&&(v=v*Ki/180);var d;HT(a)?h=wo.innerTextLayout(r.rotation,v!=null?v:r.rotation,o):(h=uY(r.rotation,a,v||0,u),d=r.axisNameAvailableWidth,d!=null&&(d=Math.abs(d/Math.sin(h.rotation)),!isFinite(d)&&(d=null)));var p=s.getFont(),g=t.get("nameTruncate",!0)||{},y=g.ellipsis,m=Re(r.nameTruncateMaxWidth,g.maxWidth,d),_=new Gt({x:c[0],y:c[1],rotation:h.rotation,silent:wo.isLabelSilent(t),style:Qt(s,{text:i,font:p,overflow:"truncate",width:m,ellipsis:y,fill:s.getTextColor()||t.get(["axisLine","lineStyle","color"]),align:s.get("align")||h.textAlign,verticalAlign:s.get("verticalAlign")||h.textVerticalAlign}),z2:1});if(ko({el:_,componentModel:t,itemName:i}),_.__fullText=i,_.anid="name",t.get("triggerEvent")){var S=wo.makeAxisEventDataBase(t);S.targetType="axisName",S.name=i,St(_).eventData=S}n.add(_),_.updateTransform(),e.add(_),_.decomposeTransform()}}};function uY(r,t,e,n){var i=AL(e-r),a,o,s=n[0]>n[1],l=t==="start"&&!s||t!=="start"&&s;return Hu(i-Ki/2)?(o=l?"bottom":"top",a="center"):Hu(i-Ki*1.5)?(o=l?"top":"bottom",a="center"):(o="middle",iKi/2?a=l?"left":"right":a=l?"right":"left"),{rotation:i,textAlign:a,textVerticalAlign:o}}function fY(r,t,e){if(!LR(r.axis)){var n=r.get(["axisLabel","showMinLabel"]),i=r.get(["axisLabel","showMaxLabel"]);t=t||[],e=e||[];var a=t[0],o=t[1],s=t[t.length-1],l=t[t.length-2],u=e[0],f=e[1],c=e[e.length-1],h=e[e.length-2];n===!1?(Pr(a),Pr(u)):FT(a,o)&&(n?(Pr(o),Pr(f)):(Pr(a),Pr(u))),i===!1?(Pr(s),Pr(c)):FT(l,s)&&(i?(Pr(l),Pr(h)):(Pr(s),Pr(c)))}}function Pr(r){r&&(r.ignore=!0)}function FT(r,t){var e=r&&r.getBoundingRect().clone(),n=t&&t.getBoundingRect().clone();if(!(!e||!n)){var i=Zv([]);return Eo(i,i,-r.rotation),e.applyTransform(li([],i,r.getLocalTransform())),n.applyTransform(li([],i,t.getLocalTransform())),e.intersect(n)}}function HT(r){return r==="middle"||r==="center"}function DE(r,t,e,n,i){for(var a=[],o=[],s=[],l=0;l=0||r===t}function _Y(r){var t=s1(r);if(t){var e=t.axisPointerModel,n=t.axis.scale,i=e.option,a=e.get("status"),o=e.get("value");o!=null&&(o=n.parse(o));var s=zm(e);a==null&&(i.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),o0&&!d.min?d.min=0:d.min!=null&&d.min<0&&!d.max&&(d.max=0);var p=l;d.color!=null&&(p=pt({color:d.color},l));var g=Tt(mt(d),{boundaryGap:e,splitNumber:n,scale:i,axisLine:a,axisTick:o,axisLabel:s,name:d.text,showName:u,nameLocation:"end",nameGap:c,nameTextStyle:p,triggerEvent:h},!1);if(nt(f)){var y=g.name;g.name=f.replace("{value}",y!=null?y:"")}else vt(f)&&(g.name=f(g.name,g));var m=new te(g,null,this.ecModel);return _e(m,Df.prototype),m.mainType="radar",m.componentIndex=this.componentIndex,m},this);this._indicatorModels=v},t.prototype.getIndicatorModels=function(){return this._indicatorModels},t.type="radar",t.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:Tt({lineStyle:{color:"#bbb"}},Vl.axisLine),axisLabel:Dc(Vl.axisLabel,!1),axisTick:Dc(Vl.axisTick,!1),splitLine:Dc(Vl.splitLine,!0),splitArea:Dc(Vl.splitArea,!0),indicator:[]},t}(Bt);const OY=kY;var NY=["axisLine","axisTickLabel","axisName"],VY=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=this.group;a.removeAll(),this._buildAxes(e),this._buildSplitLineAndArea(e)},t.prototype._buildAxes=function(e){var n=e.coordinateSystem,i=n.getIndicatorAxes(),a=Z(i,function(o){var s=o.model.get("showName")?o.name:"",l=new xi(o.model,{axisName:s,position:[n.cx,n.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return l});M(a,function(o){M(NY,o.add,o),this.group.add(o.getGroup())},this)},t.prototype._buildSplitLineAndArea=function(e){var n=e.coordinateSystem,i=n.getIndicatorAxes();if(!i.length)return;var a=e.get("shape"),o=e.getModel("splitLine"),s=e.getModel("splitArea"),l=o.getModel("lineStyle"),u=s.getModel("areaStyle"),f=o.get("show"),c=s.get("show"),h=l.get("color"),v=u.get("color"),d=Y(h)?h:[h],p=Y(v)?v:[v],g=[],y=[];function m(E,O,V){var N=V%O.length;return E[N]=E[N]||[],N}if(a==="circle")for(var _=i[0].getTicksCoords(),S=n.cx,x=n.cy,b=0;b<_.length;b++){if(f){var w=m(g,d,b);g[w].push(new da({shape:{cx:S,cy:x,r:_[b].coord}}))}if(c&&b<_.length-1){var w=m(y,p,b);y[w].push(new rd({shape:{cx:S,cy:x,r0:_[b].coord,r:_[b+1].coord}}))}}else for(var T,A=Z(i,function(E,O){var V=E.getTicksCoords();return T=T==null?V.length-1:Math.min(V.length-1,T),Z(V,function(N){return n.coordToPoint(N.coord,O)})}),C=[],b=0;b<=T;b++){for(var D=[],I=0;I3?1.4:o>1?1.2:1.1,f=a>0?u:1/u;vg(this,"zoom","zoomOnMouseWheel",e,{scale:f,originX:s,originY:l,isAvailableBehavior:null})}if(i){var c=Math.abs(a),h=(a>0?1:-1)*(c>3?.4:c>1?.15:.05);vg(this,"scrollMove","moveOnMouseWheel",e,{scrollDelta:h,originX:s,originY:l,isAvailableBehavior:null})}}},t.prototype._pinchHandler=function(e){if(!XT(this._zr,"globalPan")){var n=e.pinchScale>1?1.1:1/1.1;vg(this,"zoom",null,e,{scale:n,originX:e.pinchX,originY:e.pinchY,isAvailableBehavior:null})}},t}(Zr);function vg(r,t,e,n,i){r.pointerChecker&&r.pointerChecker(n,i.originX,i.originY)&&(gi(n.event),kE(r,t,e,n,i))}function kE(r,t,e,n,i){i.isAvailableBehavior=at(ph,null,e,n),r.trigger(t,i)}function ph(r,t,e){var n=e[r];return!r||n&&(!nt(n)||t.event[n+"Key"])}const Of=ZY;function u1(r,t,e){var n=r.target;n.x+=t,n.y+=e,n.dirty()}function f1(r,t,e,n){var i=r.target,a=r.zoomLimit,o=r.zoom=r.zoom||1;if(o*=t,a){var s=a.min||0,l=a.max||1/0;o=Math.max(Math.min(l,o),s)}var u=o/r.zoom;r.zoom=o,i.x-=(e-i.x)*(u-1),i.y-=(n-i.y)*(u-1),i.scaleX*=u,i.scaleY*=u,i.dirty()}var XY={axisPointer:1,tooltip:1,brush:1};function wd(r,t,e){var n=t.getComponentByElement(r.topTarget),i=n&&n.coordinateSystem;return n&&n!==e&&!XY.hasOwnProperty(n.mainType)&&i&&i.model!==e}function OE(r){if(nt(r)){var t=new DOMParser;r=t.parseFromString(r,"text/xml")}var e=r;for(e.nodeType===9&&(e=e.firstChild);e.nodeName.toLowerCase()!=="svg"||e.nodeType!==1;)e=e.nextSibling;return e}var dg,uv={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},qT=kt(uv),fv={"alignment-baseline":"textBaseline","stop-color":"stopColor"},KT=kt(fv),qY=function(){function r(){this._defs={},this._root=null}return r.prototype.parse=function(t,e){e=e||{};var n=OE(t);this._defsUsePending=[];var i=new _t;this._root=i;var a=[],o=n.getAttribute("viewBox")||"",s=parseFloat(n.getAttribute("width")||e.width),l=parseFloat(n.getAttribute("height")||e.height);isNaN(s)&&(s=null),isNaN(l)&&(l=null),xr(n,i,null,!0,!1);for(var u=n.firstChild;u;)this._parseNode(u,i,a,null,!1,!1),u=u.nextSibling;JY(this._defs,this._defsUsePending),this._defsUsePending=[];var f,c;if(o){var h=Td(o);h.length>=4&&(f={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(f&&s!=null&&l!=null&&(c=VE(f,{x:0,y:0,width:s,height:l}),!e.ignoreViewBox)){var v=i;i=new _t,i.add(v),v.scaleX=v.scaleY=c.scale,v.x=c.x,v.y=c.y}return!e.ignoreRootClip&&s!=null&&l!=null&&i.setClipPath(new Vt({shape:{x:0,y:0,width:s,height:l}})),{root:i,width:s,height:l,viewBoxRect:f,viewBoxTransform:c,named:a}},r.prototype._parseNode=function(t,e,n,i,a,o){var s=t.nodeName.toLowerCase(),l,u=i;if(s==="defs"&&(a=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")l=e;else{if(!a){var f=dg[s];if(f&&st(dg,s)){l=f.call(this,t,e);var c=t.getAttribute("name");if(c){var h={name:c,namedFrom:null,svgNodeTagLower:s,el:l};n.push(h),s==="g"&&(u=h)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:l});e.add(l)}}var v=jT[s];if(v&&st(jT,s)){var d=v.call(this,t),p=t.getAttribute("id");p&&(this._defs[p]=d)}}if(l&&l.isGroup)for(var g=t.firstChild;g;)g.nodeType===1?this._parseNode(g,l,n,u,a,o):g.nodeType===3&&o&&this._parseText(g,l),g=g.nextSibling},r.prototype._parseText=function(t,e){var n=new $u({style:{text:t.textContent},silent:!0,x:this._textX||0,y:this._textY||0});Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),KY(n,e);var i=n.style,a=i.fontSize;a&&a<9&&(i.fontSize=9,n.scaleX*=a/9,n.scaleY*=a/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+"px",i.fontFamily||"sans-serif"].join(" ");i.font=o;var s=n.getBoundingRect();return this._textX+=s.width,e.add(n),n},r.internalField=function(){dg={g:function(t,e){var n=new _t;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n},rect:function(t,e){var n=new Vt;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(t.getAttribute("x")||"0"),y:parseFloat(t.getAttribute("y")||"0"),width:parseFloat(t.getAttribute("width")||"0"),height:parseFloat(t.getAttribute("height")||"0")}),n.silent=!0,n},circle:function(t,e){var n=new da;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),r:parseFloat(t.getAttribute("r")||"0")}),n.silent=!0,n},line:function(t,e){var n=new Ee;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(t.getAttribute("x1")||"0"),y1:parseFloat(t.getAttribute("y1")||"0"),x2:parseFloat(t.getAttribute("x2")||"0"),y2:parseFloat(t.getAttribute("y2")||"0")}),n.silent=!0,n},ellipse:function(t,e){var n=new y_;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),rx:parseFloat(t.getAttribute("rx")||"0"),ry:parseFloat(t.getAttribute("ry")||"0")}),n.silent=!0,n},polygon:function(t,e){var n=t.getAttribute("points"),i;n&&(i=tA(n));var a=new yr({shape:{points:i||[]},silent:!0});return Rr(e,a),xr(t,a,this._defsUsePending,!1,!1),a},polyline:function(t,e){var n=t.getAttribute("points"),i;n&&(i=tA(n));var a=new mr({shape:{points:i||[]},silent:!0});return Rr(e,a),xr(t,a,this._defsUsePending,!1,!1),a},image:function(t,e){var n=new He;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setStyle({image:t.getAttribute("xlink:href")||t.getAttribute("href"),x:+t.getAttribute("x"),y:+t.getAttribute("y"),width:+t.getAttribute("width"),height:+t.getAttribute("height")}),n.silent=!0,n},text:function(t,e){var n=t.getAttribute("x")||"0",i=t.getAttribute("y")||"0",a=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0";this._textX=parseFloat(n)+parseFloat(a),this._textY=parseFloat(i)+parseFloat(o);var s=new _t;return Rr(e,s),xr(t,s,this._defsUsePending,!1,!0),s},tspan:function(t,e){var n=t.getAttribute("x"),i=t.getAttribute("y");n!=null&&(this._textX=parseFloat(n)),i!=null&&(this._textY=parseFloat(i));var a=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0",s=new _t;return Rr(e,s),xr(t,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(a),this._textY+=parseFloat(o),s},path:function(t,e){var n=t.getAttribute("d")||"",i=fP(n);return Rr(e,i),xr(t,i,this._defsUsePending,!1,!1),i.silent=!0,i}}}(),r}(),jT={lineargradient:function(r){var t=parseInt(r.getAttribute("x1")||"0",10),e=parseInt(r.getAttribute("y1")||"0",10),n=parseInt(r.getAttribute("x2")||"10",10),i=parseInt(r.getAttribute("y2")||"0",10),a=new bf(t,e,n,i);return JT(r,a),QT(r,a),a},radialgradient:function(r){var t=parseInt(r.getAttribute("cx")||"0",10),e=parseInt(r.getAttribute("cy")||"0",10),n=parseInt(r.getAttribute("r")||"0",10),i=new wP(t,e,n);return JT(r,i),QT(r,i),i}};function JT(r,t){var e=r.getAttribute("gradientUnits");e==="userSpaceOnUse"&&(t.global=!0)}function QT(r,t){for(var e=r.firstChild;e;){if(e.nodeType===1&&e.nodeName.toLocaleLowerCase()==="stop"){var n=e.getAttribute("offset"),i=void 0;n&&n.indexOf("%")>0?i=parseInt(n,10)/100:n?i=parseFloat(n):i=0;var a={};NE(e,a,a);var o=a.stopColor||e.getAttribute("stop-color")||"#000000";t.colorStops.push({offset:i,color:o})}e=e.nextSibling}}function Rr(r,t){r&&r.__inheritedStyle&&(t.__inheritedStyle||(t.__inheritedStyle={}),pt(t.__inheritedStyle,r.__inheritedStyle))}function tA(r){for(var t=Td(r),e=[],n=0;n0;a-=2){var o=n[a],s=n[a-1],l=Td(o);switch(i=i||Cr(),s){case"translate":Hn(i,i,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":t_(i,i,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":Eo(i,i,-parseFloat(l[0])*pg,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":var u=Math.tan(parseFloat(l[0])*pg);li(i,[1,0,u,1,0,0],i);break;case"skewY":var f=Math.tan(parseFloat(l[0])*pg);li(i,[1,f,0,1,0,0],i);break;case"matrix":i[0]=parseFloat(l[0]),i[1]=parseFloat(l[1]),i[2]=parseFloat(l[2]),i[3]=parseFloat(l[3]),i[4]=parseFloat(l[4]),i[5]=parseFloat(l[5]);break}}t.setLocalTransform(i)}}var rA=/([^\s:;]+)\s*:\s*([^:;]+)/g;function NE(r,t,e){var n=r.getAttribute("style");if(n){rA.lastIndex=0;for(var i;(i=rA.exec(n))!=null;){var a=i[1],o=st(uv,a)?uv[a]:null;o&&(t[o]=i[2]);var s=st(fv,a)?fv[a]:null;s&&(e[s]=i[2])}}}function r7(r,t,e){for(var n=0;n0,g={api:n,geo:l,mapOrGeoModel:t,data:s,isVisualEncodedByVisualMap:p,isGeo:o,transformInfoRaw:h};l.resourceType==="geoJSON"?this._buildGeoJSON(g):l.resourceType==="geoSVG"&&this._buildSVG(g),this._updateController(t,e,n),this._updateMapSelectHandler(t,u,n,i)},r.prototype._buildGeoJSON=function(t){var e=this._regionsGroupByName=ft(),n=ft(),i=this._regionsGroup,a=t.transformInfoRaw,o=t.mapOrGeoModel,s=t.data,l=t.geo.projection,u=l&&l.stream;function f(v,d){return d&&(v=d(v)),v&&[v[0]*a.scaleX+a.x,v[1]*a.scaleY+a.y]}function c(v){for(var d=[],p=!u&&l&&l.project,g=0;g=0)&&(h=i);var v=o?{normal:{align:"center",verticalAlign:"middle"}}:null;Fe(t,De(n),{labelFetcher:h,labelDataIndex:c,defaultText:e},v);var d=t.getTextContent();if(d&&(BE(d).ignore=d.ignore,t.textConfig&&o)){var p=t.getBoundingRect().clone();t.textConfig.layoutRect=p,t.textConfig.position=[(o[0]-p.x)/p.width*100+"%",(o[1]-p.y)/p.height*100+"%"]}t.disableLabelAnimation=!0}else t.removeTextContent(),t.removeTextConfig(),t.disableLabelAnimation=null}function sA(r,t,e,n,i,a){r.data?r.data.setItemGraphicEl(a,t):St(t).eventData={componentType:"geo",componentIndex:i.componentIndex,geoIndex:i.componentIndex,name:e,region:n&&n.option||{}}}function lA(r,t,e,n,i){r.data||ko({el:t,componentModel:i,itemName:e,itemTooltipOption:n.get("tooltip")})}function uA(r,t,e,n,i){t.highDownSilentOnTouch=!!i.get("selectedMode");var a=n.getModel("emphasis"),o=a.get("focus");return ue(t,o,a.get("blurScope"),a.get("disabled")),r.isGeo&&x3(t,i,e),o}function fA(r,t,e){var n=[],i;function a(){i=[]}function o(){i.length&&(n.push(i),i=[])}var s=t({polygonStart:a,polygonEnd:o,lineStart:a,lineEnd:o,point:function(l,u){isFinite(l)&&isFinite(u)&&i.push([l,u])},sphere:function(){}});return!e&&s.polygonStart(),M(r,function(l){s.lineStart();for(var u=0;u-1&&(i.style.stroke=i.style.fill,i.style.fill="#fff",i.style.lineWidth=2),i},t.type="series.map",t.dependencies=["geo"],t.layoutMode="box",t.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},t}(le);const T7=w7;function A7(r,t){var e={};return M(r,function(n){n.each(n.mapDimension("value"),function(i,a){var o="ec-"+n.getName(a);e[o]=e[o]||[],isNaN(i)||e[o].push(i)})}),r[0].map(r[0].mapDimension("value"),function(n,i){for(var a="ec-"+r[0].getName(i),o=0,s=1/0,l=-1/0,u=e[a].length,f=0;f1?(S.width=_,S.height=_/g):(S.height=_,S.width=_*g),S.y=m[1]-S.height/2,S.x=m[0]-S.width/2;else{var x=r.getBoxLayoutParams();x.aspect=g,S=be(x,{width:d,height:p})}this.setViewRect(S.x,S.y,S.width,S.height),this.setCenter(r.get("center"),t),this.setZoom(r.get("zoom"))}function L7(r,t){M(t.get("geoCoord"),function(e,n){r.addGeoCoord(n,e)})}var P7=function(){function r(){this.dimensions=GE}return r.prototype.create=function(t,e){var n=[];function i(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}t.eachComponent("geo",function(o,s){var l=o.get("map"),u=new dA(l+s,l,F({nameMap:o.get("nameMap")},i(o)));u.zoomLimit=o.get("scaleLimit"),n.push(u),o.coordinateSystem=u,u.model=o,u.resize=pA,u.resize(o,e)}),t.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var l=o.get("geoIndex")||0;o.coordinateSystem=n[l]}});var a={};return t.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();a[s]=a[s]||[],a[s].push(o)}}),M(a,function(o,s){var l=Z(o,function(f){return f.get("nameMap")}),u=new dA(s,s,F({nameMap:q0(l)},i(o[0])));u.zoomLimit=Re.apply(null,Z(o,function(f){return f.get("scaleLimit")})),n.push(u),u.resize=pA,u.resize(o[0],e),M(o,function(f){f.coordinateSystem=u,L7(u,f)})}),n},r.prototype.getFilledRegions=function(t,e,n,i){for(var a=(t||[]).slice(),o=ft(),s=0;s=0;o--){var s=i[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},e.push(s)}}function G7(r,t){var e=r.isExpand?r.children:[],n=r.parentNode.children,i=r.hierNode.i?n[r.hierNode.i-1]:null;if(e.length){W7(r);var a=(e[0].hierNode.prelim+e[e.length-1].hierNode.prelim)/2;i?(r.hierNode.prelim=i.hierNode.prelim+t(r,i),r.hierNode.modifier=r.hierNode.prelim-a):r.hierNode.prelim=a}else i&&(r.hierNode.prelim=i.hierNode.prelim+t(r,i));r.parentNode.hierNode.defaultAncestor=$7(r,i,r.parentNode.hierNode.defaultAncestor||n[0],t)}function F7(r){var t=r.hierNode.prelim+r.parentNode.hierNode.modifier;r.setLayout({x:t},!0),r.hierNode.modifier+=r.parentNode.hierNode.modifier}function yA(r){return arguments.length?r:Z7}function ru(r,t){return r-=Math.PI/2,{x:t*Math.cos(r),y:t*Math.sin(r)}}function H7(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function W7(r){for(var t=r.children,e=t.length,n=0,i=0;--e>=0;){var a=t[e];a.hierNode.prelim+=n,a.hierNode.modifier+=n,i+=a.hierNode.change,n+=a.hierNode.shift+i}}function $7(r,t,e,n){if(t){for(var i=r,a=r,o=a.parentNode.children[0],s=t,l=i.hierNode.modifier,u=a.hierNode.modifier,f=o.hierNode.modifier,c=s.hierNode.modifier;s=gg(s),a=yg(a),s&&a;){i=gg(i),o=yg(o),i.hierNode.ancestor=r;var h=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);h>0&&(Y7(U7(s,r,e),r,h),u+=h,l+=h),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=i.hierNode.modifier,f+=o.hierNode.modifier}s&&!gg(i)&&(i.hierNode.thread=s,i.hierNode.modifier+=c-l),a&&!yg(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=u-f,e=r)}return e}function gg(r){var t=r.children;return t.length&&r.isExpand?t[t.length-1]:r.hierNode.thread}function yg(r){var t=r.children;return t.length&&r.isExpand?t[0]:r.hierNode.thread}function U7(r,t,e){return r.hierNode.ancestor.parentNode===t.parentNode?r.hierNode.ancestor:e}function Y7(r,t,e){var n=e/(t.hierNode.i-r.hierNode.i);t.hierNode.change-=n,t.hierNode.shift+=e,t.hierNode.modifier+=e,t.hierNode.prelim+=e,r.hierNode.change+=n}function Z7(r,t){return r.parentNode===t.parentNode?1:2}var X7=function(){function r(){this.parentPoint=[],this.childPoints=[]}return r}(),q7=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new X7},t.prototype.buildPath=function(e,n){var i=n.childPoints,a=i.length,o=n.parentPoint,s=i[0],l=i[a-1];if(a===1){e.moveTo(o[0],o[1]),e.lineTo(s[0],s[1]);return}var u=n.orient,f=u==="TB"||u==="BT"?0:1,c=1-f,h=et(n.forkPosition,1),v=[];v[f]=o[f],v[c]=o[c]+(l[c]-o[c])*h,e.moveTo(o[0],o[1]),e.lineTo(v[0],v[1]),e.moveTo(s[0],s[1]),v[f]=s[f],e.lineTo(v[0],v[1]),v[f]=l[f],e.lineTo(v[0],v[1]),e.lineTo(l[0],l[1]);for(var d=1;dm.x,x||(S=S-Math.PI));var w=x?"left":"right",T=s.getModel("label"),A=T.get("rotate"),C=A*(Math.PI/180),D=g.getTextContent();D&&(g.setTextConfig({position:T.get("position")||w,rotation:A==null?-S:C,origin:"center"}),D.setStyle("verticalAlign","middle"))}var I=s.get(["emphasis","focus"]),L=I==="relative"?Bu(o.getAncestorsIndices(),o.getDescendantIndices()):I==="ancestor"?o.getAncestorsIndices():I==="descendant"?o.getDescendantIndices():null;L&&(St(e).focus=L),j7(i,o,f,e,d,v,p,n),e.__edge&&(e.onHoverStateChange=function(P){if(P!=="blur"){var E=o.parentNode&&r.getItemGraphicEl(o.parentNode.dataIndex);E&&E.hoverState===xf||Hh(e.__edge,P)}})}function j7(r,t,e,n,i,a,o,s){var l=t.getModel(),u=r.get("edgeShape"),f=r.get("layout"),c=r.getOrient(),h=r.get(["lineStyle","curveness"]),v=r.get("edgeForkPosition"),d=l.getModel("lineStyle").getLineStyle(),p=n.__edge;if(u==="curve")t.parentNode&&t.parentNode!==e&&(p||(p=n.__edge=new nd({shape:Hm(f,c,h,i,i)})),Ht(p,{shape:Hm(f,c,h,a,o)},r));else if(u==="polyline"&&f==="orthogonal"&&t!==e&&t.children&&t.children.length!==0&&t.isExpand===!0){for(var g=t.children,y=[],m=0;me&&(e=i.height)}this.height=e+1},r.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},r.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},r.prototype.getModel=function(t){if(!(this.dataIndex<0)){var e=this.hostTree,n=e.data.getItemModel(this.dataIndex);return n.getModel(t)}},r.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},r.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},r.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},r.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},r.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},r.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var n=e.getData().tree.root,i=r.targetNode;if(nt(i)&&(i=n.getNodeById(i)),i&&n.contains(i))return{node:i};var a=r.targetNodeId;if(a!=null&&(i=n.getNodeById(a)))return{node:i}}}function ZE(r){for(var t=[];r;)r=r.parentNode,r&&t.push(r);return t.reverse()}function p1(r,t){var e=ZE(r);return Dt(e,t)>=0}function Ad(r,t){for(var e=[];r;){var n=r.dataIndex;e.push({name:r.name,dataIndex:n,value:t.getRawValue(n)}),r=r.parentNode}return e.reverse(),e}var l9=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return t.prototype.getInitialData=function(e){var n={name:e.name,children:e.data},i=e.leaves||{},a=new te(i,this,this.ecModel),o=d1.createTree(n,this,s);function s(c){c.wrapMethod("getItemModel",function(h,v){var d=o.getNodeByDataIndex(v);return d&&d.children.length&&d.isExpand||(h.parentModel=a),h})}var l=0;o.eachNode("preorder",function(c){c.depth>l&&(l=c.depth)});var u=e.expandAndCollapse,f=u&&e.initialTreeDepth>=0?e.initialTreeDepth:l;return o.root.eachNode("preorder",function(c){var h=c.hostTree.data.getRawDataItem(c.dataIndex);c.isExpand=h&&h.collapsed!=null?!h.collapsed:c.depth<=f}),o.data},t.prototype.getOrient=function(){var e=this.get("orient");return e==="horizontal"?e="LR":e==="vertical"&&(e="TB"),e},t.prototype.setZoom=function(e){this.option.zoom=e},t.prototype.setCenter=function(e){this.option.center=e},t.prototype.formatTooltip=function(e,n,i){for(var a=this.getData().tree,o=a.root.children[0],s=a.getNodeByDataIndex(e),l=s.getValue(),u=s.name;s&&s!==o;)u=s.parentNode.name+"."+u,s=s.parentNode;return Ie("nameValue",{name:u,value:l,noValue:isNaN(l)||l==null})},t.prototype.getDataParams=function(e){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=Ad(i,this),n.collapsed=!i.isExpand,n},t.type="series.tree",t.layoutMode="box",t.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},t}(le);const u9=l9;function f9(r,t,e){for(var n=[r],i=[],a;a=n.pop();)if(i.push(a),a.isExpand){var o=a.children;if(o.length)for(var s=0;s=0;a--)e.push(i[a])}}function c9(r,t){r.eachSeriesByType("tree",function(e){h9(e,t)})}function h9(r,t){var e=H7(r,t);r.layoutInfo=e;var n=r.get("layout"),i=0,a=0,o=null;n==="radial"?(i=2*Math.PI,a=Math.min(e.height,e.width)/2,o=yA(function(_,S){return(_.parentNode===S.parentNode?1:2)/_.depth})):(i=e.width,a=e.height,o=yA());var s=r.getData().tree.root,l=s.children[0];if(l){z7(s),f9(l,G7,o),s.hierNode.modifier=-l.hierNode.prelim,zl(l,F7);var u=l,f=l,c=l;zl(l,function(_){var S=_.getLayout().x;Sf.getLayout().x&&(f=_),_.depth>c.depth&&(c=_)});var h=u===f?1:o(u,f)/2,v=h-u.getLayout().x,d=0,p=0,g=0,y=0;if(n==="radial")d=i/(f.getLayout().x+h+v),p=a/(c.depth-1||1),zl(l,function(_){g=(_.getLayout().x+v)*d,y=(_.depth-1)*p;var S=ru(g,y);_.setLayout({x:S.x,y:S.y,rawX:g,rawY:y},!0)});else{var m=r.getOrient();m==="RL"||m==="LR"?(p=a/(f.getLayout().x+h+v),d=i/(c.depth-1||1),zl(l,function(_){y=(_.getLayout().x+v)*p,g=m==="LR"?(_.depth-1)*d:i-(_.depth-1)*d,_.setLayout({x:g,y},!0)})):(m==="TB"||m==="BT")&&(d=i/(f.getLayout().x+h+v),p=a/(c.depth-1||1),zl(l,function(_){g=(_.getLayout().x+v)*d,y=m==="TB"?(_.depth-1)*p:a-(_.depth-1)*p,_.setLayout({x:g,y},!0)}))}}}function v9(r){r.eachSeriesByType("tree",function(t){var e=t.getData(),n=e.tree;n.eachNode(function(i){var a=i.getModel(),o=a.getModel("itemStyle").getItemStyle(),s=e.ensureUniqueItemVisual(i.dataIndex,"style");F(s,o)})})}function d9(r){r.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(n){var i=t.dataIndex,a=n.getData().tree,o=a.getNodeByDataIndex(i);o.isExpand=!o.isExpand})}),r.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e,n){e.eachComponent({mainType:"series",subType:"tree",query:t},function(i){var a=i.coordinateSystem,o=h1(a,t,void 0,n);i.setCenter&&i.setCenter(o.center),i.setZoom&&i.setZoom(o.zoom)})})}function p9(r){r.registerChartView(J7),r.registerSeriesModel(u9),r.registerLayout(c9),r.registerVisual(v9),d9(r)}var bA=["treemapZoomToNode","treemapRender","treemapMove"];function g9(r){for(var t=0;t1;)a=a.parentNode;var o=ym(r.ecModel,a.name||a.dataIndex+"",n);i.setVisual("decal",o)})}var y9=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.preventUsingHoverLayer=!0,e}return t.prototype.getInitialData=function(e,n){var i={name:e.name,children:e.data};qE(i);var a=e.levels||[],o=this.designatedVisualItemStyle={},s=new te({itemStyle:o},this,n);a=e.levels=m9(a,n);var l=Z(a||[],function(c){return new te(c,s,n)},this),u=d1.createTree(i,this,f);function f(c){c.wrapMethod("getItemModel",function(h,v){var d=u.getNodeByDataIndex(v),p=d?l[d.depth]:null;return h.parentModel=p||s,h})}return u.data},t.prototype.optionUpdated=function(){this.resetViewRoot()},t.prototype.formatTooltip=function(e,n,i){var a=this.getData(),o=this.getRawValue(e),s=a.getName(e);return Ie("nameValue",{name:s,value:o})},t.prototype.getDataParams=function(e){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=Ad(i,this),n.treePathInfo=n.treeAncestors,n},t.prototype.setLayoutInfo=function(e){this.layoutInfo=this.layoutInfo||{},F(this.layoutInfo,e)},t.prototype.mapIdToIndex=function(e){var n=this._idIndexMap;n||(n=this._idIndexMap=ft(),this._idIndexMapCount=0);var i=n.get(e);return i==null&&n.set(e,i=this._idIndexMapCount++),i},t.prototype.getViewRoot=function(){return this._viewRoot},t.prototype.resetViewRoot=function(e){e?this._viewRoot=e:e=this._viewRoot;var n=this.getRawData().tree.root;(!e||e!==n&&!n.contains(e))&&(this._viewRoot=n)},t.prototype.enableAriaDecal=function(){XE(this)},t.type="series.treemap",t.layoutMode="box",t.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},t}(le);function qE(r){var t=0;M(r.children,function(n){qE(n);var i=n.value;Y(i)&&(i=i[0]),t+=i});var e=r.value;Y(e)&&(e=e[0]),(e==null||isNaN(e))&&(e=t),e<0&&(e=0),Y(r.value)?r.value[0]=e:r.value=e}function m9(r,t){var e=Zt(t.get("color")),n=Zt(t.get(["aria","decal","decals"]));if(e){r=r||[];var i,a;M(r,function(s){var l=new te(s),u=l.get("color"),f=l.get("decal");(l.get(["itemStyle","color"])||u&&u!=="none")&&(i=!0),(l.get(["itemStyle","decal"])||f&&f!=="none")&&(a=!0)});var o=r[0]||(r[0]={});return i||(o.color=e.slice()),!a&&n&&(o.decal=n.slice()),r}}const _9=y9;var S9=8,wA=8,mg=5,x9=function(){function r(t){this.group=new _t,t.add(this.group)}return r.prototype.render=function(t,e,n,i){var a=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!a.get("show")||!n)){var s=a.getModel("itemStyle"),l=a.getModel("emphasis"),u=s.getModel("textStyle"),f=l.getModel(["itemStyle","textStyle"]),c={pos:{left:a.get("left"),right:a.get("right"),top:a.get("top"),bottom:a.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:a.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(n,c,u),this._renderContent(t,c,s,l,u,f,i),hd(o,c.pos,c.box)}},r.prototype._prepare=function(t,e,n){for(var i=t;i;i=i.parentNode){var a=xe(i.getModel().get("name"),""),o=n.getTextRect(a),s=Math.max(o.width+S9*2,e.emptyItemWidth);e.totalWidth+=s+wA,e.renderList.push({node:i,text:a,width:s})}},r.prototype._renderContent=function(t,e,n,i,a,o,s){for(var l=0,u=e.emptyItemWidth,f=t.get(["breadcrumb","height"]),c=LH(e.pos,e.box),h=e.totalWidth,v=e.renderList,d=i.getModel("itemStyle").getItemStyle(),p=v.length-1;p>=0;p--){var g=v[p],y=g.node,m=g.width,_=g.text;h>c.width&&(h-=m-u,m=u,_=null);var S=new yr({shape:{points:b9(l,0,m,f,p===v.length-1,p===0)},style:pt(n.getItemStyle(),{lineJoin:"bevel"}),textContent:new Gt({style:Qt(a,{text:_})}),textConfig:{position:"inside"},z2:Qs*1e4,onclick:bt(s,y)});S.disableLabelAnimation=!0,S.getTextContent().ensureState("emphasis").style=Qt(o,{text:_}),S.ensureState("emphasis").style=d,ue(S,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(S),w9(S,t,y),l+=m+wA}},r.prototype.remove=function(){this.group.removeAll()},r}();function b9(r,t,e,n,i,a){var o=[[i?r:r-mg,t],[r+e,t],[r+e,t+n],[i?r:r-mg,t+n]];return!a&&o.splice(2,0,[r+e+mg,t+n/2]),!i&&o.push([r,t+n/2]),o}function w9(r,t,e){St(r).eventData={componentType:"series",componentSubType:"treemap",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:e&&e.dataIndex,name:e&&e.name},treePathInfo:e&&Ad(e,t)}}const T9=x9;var A9=function(){function r(){this._storage=[],this._elExistsMap={}}return r.prototype.add=function(t,e,n,i,a){return this._elExistsMap[t.id]?!1:(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:i,easing:a}),!0)},r.prototype.finished=function(t){return this._finishedCallback=t,this},r.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){e--,e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},i=0,a=this._storage.length;iAA||Math.abs(e.dy)>AA)){var n=this.seriesModel.getData().tree.root;if(!n)return;var i=n.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+e.dx,y:i.y+e.dy,width:i.width,height:i.height}})}},t.prototype._onZoom=function(e){var n=e.originX,i=e.originY,a=e.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var l=new Mt(s.x,s.y,s.width,s.height),u=null,f=this._controllerHost;u=f.zoomLimit;var c=f.zoom=f.zoom||1;if(c*=a,u){var h=u.min||0,v=u.max||1/0;c=Math.max(Math.min(v,c),h)}var d=c/f.zoom;f.zoom=c;var p=this.seriesModel.layoutInfo;n-=p.x,i-=p.y;var g=Cr();Hn(g,g,[-n,-i]),t_(g,g,[d,d]),Hn(g,g,[n,i]),l.applyTransform(g),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:l.x,y:l.y,width:l.width,height:l.height}})}},t.prototype._initEvents=function(e){var n=this;e.on("click",function(i){if(n._state==="ready"){var a=n.seriesModel.get("nodeClick",!0);if(a){var o=n.findTarget(i.offsetX,i.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)n._rootToNode(o);else if(a==="zoomToNode")n._zoomToNode(o);else if(a==="link"){var l=s.hostTree.data.getItemModel(s.dataIndex),u=l.get("link",!0),f=l.get("target",!0)||"blank";u&&Xh(u,f)}}}}},this)},t.prototype._renderBreadcrumb=function(e,n,i){var a=this;i||(i=e.get("leafDepth",!0)!=null?{node:e.getViewRoot()}:this.findTarget(n.getWidth()/2,n.getHeight()/2),i||(i={node:e.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new T9(this.group))).render(e,n,i.node,function(o){a._state!=="animating"&&(p1(e.getViewRoot(),o)?a._rootToNode({node:o}):a._zoomToNode({node:o}))})},t.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=Gl(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},t.prototype.dispose=function(){this._clearController()},t.prototype._zoomToNode=function(e){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:e.node})},t.prototype._rootToNode=function(e){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:e.node})},t.prototype.findTarget=function(e,n){var i,a=this.seriesModel.getViewRoot();return a.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var l=s.transformCoordToLocal(e,n),u=s.shape;if(u.x<=l[0]&&l[0]<=u.x+u.width&&u.y<=l[1]&&l[1]<=u.y+u.height)i={node:o,offsetX:l[0],offsetY:l[1]};else return!1}},this),i},t.type="treemap",t}(ee);function Gl(){return{nodeGroup:[],background:[],content:[]}}function P9(r,t,e,n,i,a,o,s,l,u){if(!o)return;var f=o.getLayout(),c=r.getData(),h=o.getModel();if(c.setItemGraphicEl(o.dataIndex,null),!f||!f.isInView)return;var v=f.width,d=f.height,p=f.borderWidth,g=f.invisible,y=o.getRawIndex(),m=s&&s.getRawIndex(),_=o.viewChildren,S=f.upperHeight,x=_&&_.length,b=h.getModel("itemStyle"),w=h.getModel(["emphasis","itemStyle"]),T=h.getModel(["blur","itemStyle"]),A=h.getModel(["select","itemStyle"]),C=b.get("borderRadius")||0,D=gt("nodeGroup",Wm);if(!D)return;if(l.add(D),D.x=f.x||0,D.y=f.y||0,D.markRedraw(),cv(D).nodeWidth=v,cv(D).nodeHeight=d,f.isAboveViewRoot)return D;var I=gt("background",TA,u,D9);I&&$(D,I,x&&f.upperLabelHeight);var L=h.getModel("emphasis"),P=L.get("focus"),E=L.get("blurScope"),O=L.get("disabled"),V=P==="ancestor"?o.getAncestorsIndices():P==="descendant"?o.getDescendantIndices():P;if(x)Yu(D)&&ao(D,!1),I&&(ao(I,!O),c.setItemGraphicEl(o.dataIndex,I),um(I,V,E));else{var N=gt("content",TA,u,I9);N&&q(D,N),I.disableMorphing=!0,I&&Yu(I)&&ao(I,!1),ao(D,!O),c.setItemGraphicEl(o.dataIndex,D);var z=h.getShallow("cursor");z&&N.attr("cursor",z),um(D,V,E)}return D;function $(K,H,tt){var j=St(H);if(j.dataIndex=o.dataIndex,j.seriesIndex=r.seriesIndex,H.setShape({x:0,y:0,width:v,height:d,r:C}),g)Q(H);else{H.invisible=!1;var lt=o.getVisual("style"),R=lt.stroke,k=DA(b);k.fill=R;var G=Ya(w);G.fill=w.get("borderColor");var X=Ya(T);X.fill=T.get("borderColor");var W=Ya(A);if(W.fill=A.get("borderColor"),tt){var J=v-2*p;ct(H,R,lt.opacity,{x:p,y:0,width:J,height:S})}else H.removeTextContent();H.setStyle(k),H.ensureState("emphasis").style=G,H.ensureState("blur").style=X,H.ensureState("select").style=W,Do(H)}K.add(H)}function q(K,H){var tt=St(H);tt.dataIndex=o.dataIndex,tt.seriesIndex=r.seriesIndex;var j=Math.max(v-2*p,0),lt=Math.max(d-2*p,0);if(H.culling=!0,H.setShape({x:p,y:p,width:j,height:lt,r:C}),g)Q(H);else{H.invisible=!1;var R=o.getVisual("style"),k=R.fill,G=DA(b);G.fill=k,G.decal=R.decal;var X=Ya(w),W=Ya(T),J=Ya(A);ct(H,k,R.opacity,null),H.setStyle(G),H.ensureState("emphasis").style=X,H.ensureState("blur").style=W,H.ensureState("select").style=J,Do(H)}K.add(H)}function Q(K){!K.invisible&&a.push(K)}function ct(K,H,tt,j){var lt=h.getModel(j?MA:CA),R=xe(h.get("name"),null),k=lt.getShallow("show");Fe(K,De(h,j?MA:CA),{defaultText:k?R:null,inheritColor:H,defaultOpacity:tt,labelFetcher:r,labelDataIndex:o.dataIndex});var G=K.getTextContent();if(G){var X=G.style,W=j0(X.padding||0);j&&(K.setTextConfig({layoutRect:j}),G.disableLabelLayout=!0),G.beforeUpdate=function(){var ot=Math.max((j?j.width:K.shape.width)-W[1]-W[3],0),ut=Math.max((j?j.height:K.shape.height)-W[0]-W[2],0);(X.width!==ot||X.height!==ut)&&G.setStyle({width:ot,height:ut})},X.truncateMinChar=2,X.lineOverflow="truncate",ht(X,j,f);var J=G.getState("emphasis");ht(J?J.style:null,j,f)}}function ht(K,H,tt){var j=K?K.text:null;if(!H&&tt.isLeafRoot&&j!=null){var lt=r.get("drillDownIcon",!0);K.text=lt?lt+" "+j:j}}function gt(K,H,tt,j){var lt=m!=null&&e[K][m],R=i[K];return lt?(e[K][m]=null,Et(R,lt)):g||(lt=new H,lt instanceof Yr&&(lt.z2=R9(tt,j)),U(R,lt)),t[K][y]=lt}function Et(K,H){var tt=K[y]={};H instanceof Wm?(tt.oldX=H.x,tt.oldY=H.y):tt.oldShape=F({},H.shape)}function U(K,H){var tt=K[y]={},j=o.parentNode,lt=H instanceof _t;if(j&&(!n||n.direction==="drillDown")){var R=0,k=0,G=i.background[j.getRawIndex()];!n&&G&&G.oldShape&&(R=G.oldShape.width,k=G.oldShape.height),lt?(tt.oldX=0,tt.oldY=k):tt.oldShape={x:R,y:k,width:0,height:0}}tt.fadein=!lt}}function R9(r,t){return r*M9+t}const E9=L9;var of=M,k9=yt,hv=-1,g1=function(){function r(t){var e=t.mappingMethod,n=t.type,i=this.option=mt(t);this.type=n,this.mappingMethod=e,this._normalizeData=V9[e];var a=r.visualHandlers[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._normalizedToVisual=a._normalizedToVisual[e],e==="piecewise"?(_g(i),O9(i)):e==="category"?i.categories?N9(i):_g(i,!0):(sr(e!=="linear"||i.dataExtent),_g(i))}return r.prototype.mapValueToVisual=function(t){var e=this._normalizeData(t);return this._normalizedToVisual(e,t)},r.prototype.getNormalizer=function(){return at(this._normalizeData,this)},r.listVisualTypes=function(){return kt(r.visualHandlers)},r.isValidType=function(t){return r.visualHandlers.hasOwnProperty(t)},r.eachVisual=function(t,e,n){yt(t)?M(t,e,n):e.call(n,t)},r.mapVisual=function(t,e,n){var i,a=Y(t)?[]:yt(t)?{}:(i=!0,null);return r.eachVisual(t,function(o,s){var l=e.call(n,o,s);i?a=l:a[s]=l}),a},r.retrieveVisuals=function(t){var e={},n;return t&&of(r.visualHandlers,function(i,a){t.hasOwnProperty(a)&&(e[a]=t[a],n=!0)}),n?e:null},r.prepareVisualTypes=function(t){if(Y(t))t=t.slice();else if(k9(t)){var e=[];of(t,function(n,i){e.push(i)}),t=e}else return[];return t.sort(function(n,i){return i==="color"&&n!=="color"&&n.indexOf("color")===0?1:-1}),t},r.dependsOn=function(t,e){return e==="color"?!!(t&&t.indexOf(e)===0):t===e},r.findPieceIndex=function(t,e,n){for(var i,a=1/0,o=0,s=e.length;o=0;a--)n[a]==null&&(delete e[t[a]],t.pop())}function _g(r,t){var e=r.visual,n=[];yt(e)?of(e,function(a){n.push(a)}):e!=null&&n.push(e);var i={color:1,symbol:1};!t&&n.length===1&&!i.hasOwnProperty(r.type)&&(n[1]=n[0]),KE(r,n)}function Lc(r){return{applyVisual:function(t,e,n){var i=this.mapValueToVisual(t);n("color",r(e("color"),i))},_normalizedToVisual:$m([0,1])}}function IA(r){var t=this.option.visual;return t[Math.round(Ut(r,[0,1],[0,t.length-1],!0))]||{}}function Fl(r){return function(t,e,n){n(r,this.mapValueToVisual(t))}}function nu(r){var t=this.option.visual;return t[this.option.loop&&r!==hv?r%t.length:r]}function Za(){return this.option.visual[0]}function $m(r){return{linear:function(t){return Ut(t,r,this.option.visual,!0)},category:nu,piecewise:function(t,e){var n=Um.call(this,e);return n==null&&(n=Ut(t,r,this.option.visual,!0)),n},fixed:Za}}function Um(r){var t=this.option,e=t.pieceList;if(t.hasSpecialVisual){var n=g1.findPieceIndex(r,e),i=e[n];if(i&&i.visual)return i.visual[this.type]}}function KE(r,t){return r.visual=t,r.type==="color"&&(r.parsedVisual=Z(t,function(e){var n=Mr(e);return n||[0,0,0,1]})),t}var V9={linear:function(r){return Ut(r,this.option.dataExtent,[0,1],!0)},piecewise:function(r){var t=this.option.pieceList,e=g1.findPieceIndex(r,t,!0);if(e!=null)return Ut(e,[0,t.length-1],[0,1],!0)},category:function(r){var t=this.option.categories?this.option.categoryMap[r]:r;return t==null?hv:t},fixed:de};function Pc(r,t,e){return r?t<=e:t=e.length||p===e[p.depth]){var y=W9(i,l,p,g,d,n);JE(p,y,e,n)}})}}}function G9(r,t,e){var n=F({},t),i=e.designatedVisualItemStyle;return M(["color","colorAlpha","colorSaturation"],function(a){i[a]=t[a];var o=r.get(a);i[a]=null,o!=null&&(n[a]=o)}),n}function LA(r){var t=Sg(r,"color");if(t){var e=Sg(r,"colorAlpha"),n=Sg(r,"colorSaturation");return n&&(t=gu(t,null,null,n)),e&&(t=Nh(t,e)),t}}function F9(r,t){return t!=null?gu(t,null,null,r):null}function Sg(r,t){var e=r[t];if(e!=null&&e!=="none")return e}function H9(r,t,e,n,i,a){if(!(!a||!a.length)){var o=xg(t,"color")||i.color!=null&&i.color!=="none"&&(xg(t,"colorAlpha")||xg(t,"colorSaturation"));if(o){var s=t.get("visualMin"),l=t.get("visualMax"),u=e.dataExtent.slice();s!=null&&su[1]&&(u[1]=l);var f=t.get("colorMappingBy"),c={type:o.name,dataExtent:u,visual:o.range};c.type==="color"&&(f==="index"||f==="id")?(c.mappingMethod="category",c.loop=!0):c.mappingMethod="linear";var h=new ze(c);return jE(h).drColorMappingBy=f,h}}}function xg(r,t){var e=r.get(t);return Y(e)&&e.length?{name:t,range:e}:null}function W9(r,t,e,n,i,a){var o=F({},t);if(i){var s=i.type,l=s==="color"&&jE(i).drColorMappingBy,u=l==="index"?n:l==="id"?a.mapIdToIndex(e.getId()):e.getValue(r.get("visualDimension"));o[s]=i.mapValueToVisual(u)}return o}var sf=Math.max,vv=Math.min,PA=Re,y1=M,QE=["itemStyle","borderWidth"],$9=["itemStyle","gapWidth"],U9=["upperLabel","show"],Y9=["upperLabel","height"];const Z9={seriesType:"treemap",reset:function(r,t,e,n){var i=e.getWidth(),a=e.getHeight(),o=r.option,s=be(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),l=o.size||[],u=et(PA(s.width,l[0]),i),f=et(PA(s.height,l[1]),a),c=n&&n.type,h=["treemapZoomToNode","treemapRootToNode"],v=af(n,h,r),d=c==="treemapRender"||c==="treemapMove"?n.rootRect:null,p=r.getViewRoot(),g=ZE(p);if(c!=="treemapMove"){var y=c==="treemapZoomToNode"?Q9(r,v,p,u,f):d?[d.width,d.height]:[u,f],m=o.sort;m&&m!=="asc"&&m!=="desc"&&(m="desc");var _={squareRatio:o.squareRatio,sort:m,leafDepth:o.leafDepth};p.hostTree.clearLayouts();var S={x:0,y:0,width:y[0],height:y[1],area:y[0]*y[1]};p.setLayout(S),tk(p,_,!1,0),S=p.getLayout(),y1(g,function(b,w){var T=(g[w+1]||p).getValue();b.setLayout(F({dataExtent:[T,T],borderWidth:0,upperHeight:0},S))})}var x=r.getData().tree.root;x.setLayout(tZ(s,d,v),!0),r.setLayoutInfo(s),ek(x,new Mt(-s.x,-s.y,i,a),g,p,0)}};function tk(r,t,e,n){var i,a;if(!r.isRemoved()){var o=r.getLayout();i=o.width,a=o.height;var s=r.getModel(),l=s.get(QE),u=s.get($9)/2,f=rk(s),c=Math.max(l,f),h=l-u,v=c-u;r.setLayout({borderWidth:l,upperHeight:c,upperLabelHeight:f},!0),i=sf(i-2*h,0),a=sf(a-h-v,0);var d=i*a,p=X9(r,s,d,t,e,n);if(p.length){var g={x:h,y:v,width:i,height:a},y=vv(i,a),m=1/0,_=[];_.area=0;for(var S=0,x=p.length;S=0;l--){var u=i[n==="asc"?o-l-1:l].getValue();u/e*ts[1]&&(s[1]=u)})),{sum:n,dataExtent:s}}function J9(r,t,e){for(var n=0,i=1/0,a=0,o=void 0,s=r.length;an&&(n=o));var l=r.area*r.area,u=t*t*e;return l?sf(u*n/l,l/(u*i)):1/0}function RA(r,t,e,n,i){var a=t===e.width?0:1,o=1-a,s=["x","y"],l=["width","height"],u=e[s[a]],f=t?r.area/t:0;(i||f>e[l[o]])&&(f=e[l[o]]);for(var c=0,h=r.length;c$x&&(u=$x),a=s}un&&(n=t);var a=n%2?n+2:n+3;i=[];for(var o=0;o0&&(x[0]=-x[0],x[1]=-x[1]);var w=S[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var T=-Math.atan2(S[1],S[0]);c[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":a.x=-h[0]*y+f[0],a.y=-h[1]*m+f[1],d=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=y*w+f[0],a.y=f[1]+A,d=S[0]<0?"right":"left",a.originX=-y*w,a.originY=-A;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=b[0],a.y=b[1]+A,d="center",a.originY=-A;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-y*w+c[0],a.y=c[1]+A,d=S[0]>=0?"right":"left",a.originX=y*w,a.originY=-A;break}a.scaleX=a.scaleY=o,a.setStyle({verticalAlign:a.__verticalAlign||p,align:a.__align||d})}},t}(_t);const x1=_Z;var SZ=function(){function r(t){this.group=new _t,this._LineCtor=t||x1}return r.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,a=n._lineData;n._lineData=t,a||i.removeAll();var o=BA(t);t.diff(a).add(function(s){e._doAdd(t,s,o)}).update(function(s,l){e._doUpdate(a,t,l,s,o)}).remove(function(s){i.remove(a.getItemGraphicEl(s))}).execute()},r.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,n){e.updateLayout(t,n)},this)},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=BA(t),this._lineData=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e){this._progressiveEls=[];function n(s){!s.isGroup&&!xZ(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var i=t.start;i0}function BA(r){var t=r.hostModel,e=t.getModel("emphasis");return{lineStyle:t.getModel("lineStyle").getLineStyle(),emphasisLineStyle:e.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:t.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:t.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:e.get("disabled"),blurScope:e.get("blurScope"),focus:e.get("focus"),labelStatesModels:De(t)}}function zA(r){return isNaN(r[0])||isNaN(r[1])}function Cg(r){return r&&!zA(r[0])&&!zA(r[1])}const b1=SZ;var Mg=[],Dg=[],Ig=[],is=Le,Lg=po,GA=Math.abs;function FA(r,t,e){for(var n=r[0],i=r[1],a=r[2],o=1/0,s,l=e*e,u=.1,f=.1;f<=.9;f+=.1){Mg[0]=is(n[0],i[0],a[0],f),Mg[1]=is(n[1],i[1],a[1],f);var c=GA(Lg(Mg,t)-l);c=0?s=s+u:s=s-u:d>=0?s=s-u:s=s+u}return s}function Pg(r,t){var e=[],n=zu,i=[[],[],[]],a=[[],[]],o=[];t/=2,r.eachEdge(function(s,l){var u=s.getLayout(),f=s.getVisual("fromSymbol"),c=s.getVisual("toSymbol");u.__original||(u.__original=[si(u[0]),si(u[1])],u[2]&&u.__original.push(si(u[2])));var h=u.__original;if(u[2]!=null){if(er(i[0],h[0]),er(i[1],h[2]),er(i[2],h[1]),f&&f!=="none"){var v=au(s.node1),d=FA(i,h[0],v*t);n(i[0][0],i[1][0],i[2][0],d,e),i[0][0]=e[3],i[1][0]=e[4],n(i[0][1],i[1][1],i[2][1],d,e),i[0][1]=e[3],i[1][1]=e[4]}if(c&&c!=="none"){var v=au(s.node2),d=FA(i,h[1],v*t);n(i[0][0],i[1][0],i[2][0],d,e),i[1][0]=e[1],i[2][0]=e[2],n(i[0][1],i[1][1],i[2][1],d,e),i[1][1]=e[1],i[2][1]=e[2]}er(u[0],i[0]),er(u[1],i[2]),er(u[2],i[1])}else{if(er(a[0],h[0]),er(a[1],h[1]),no(o,a[1],a[0]),Ks(o,o),f&&f!=="none"){var v=au(s.node1);Ey(a[0],a[0],o,v*t)}if(c&&c!=="none"){var v=au(s.node2);Ey(a[1],a[1],o,-v*t)}er(u[0],a[0]),er(u[1],a[1])}})}function HA(r){return r.type==="view"}var bZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){var i=new Lf,a=new b1,o=this.group;this._controller=new Of(n.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(a.group),this._symbolDraw=i,this._lineDraw=a,this._firstRender=!0},t.prototype.render=function(e,n,i){var a=this,o=e.coordinateSystem;this._model=e;var s=this._symbolDraw,l=this._lineDraw,u=this.group;if(HA(o)){var f={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?u.attr(f):Ht(u,f,e)}Pg(e.getGraph(),iu(e));var c=e.getData();s.updateData(c);var h=e.getEdgeData();l.updateData(h),this._updateNodeAndLinkScale(),this._updateController(e,n,i),clearTimeout(this._layoutTimeout);var v=e.forceLayout,d=e.get(["force","layoutAnimation"]);v&&this._startForceLayoutIteration(v,d);var p=e.get("layout");c.graph.eachNode(function(_){var S=_.dataIndex,x=_.getGraphicEl(),b=_.getModel();if(x){x.off("drag").off("dragend");var w=b.get("draggable");w&&x.on("drag",function(A){switch(p){case"force":v.warmUp(),!a._layouting&&a._startForceLayoutIteration(v,d),v.setFixed(S),c.setItemLayout(S,[x.x,x.y]);break;case"circular":c.setItemLayout(S,[x.x,x.y]),_.setLayout({fixed:!0},!0),S1(e,"symbolSize",_,[A.offsetX,A.offsetY]),a.updateLayout(e);break;case"none":default:c.setItemLayout(S,[x.x,x.y]),_1(e.getGraph(),e),a.updateLayout(e);break}}).on("dragend",function(){v&&v.setUnfixed(S)}),x.setDraggable(w,!!b.get("cursor"));var T=b.get(["emphasis","focus"]);T==="adjacency"&&(St(x).focus=_.getAdjacentDataIndices())}}),c.graph.eachEdge(function(_){var S=_.getGraphicEl(),x=_.getModel().get(["emphasis","focus"]);S&&x==="adjacency"&&(St(S).focus={edge:[_.dataIndex],node:[_.node1.dataIndex,_.node2.dataIndex]})});var g=e.get("layout")==="circular"&&e.get(["circular","rotateLabel"]),y=c.getLayout("cx"),m=c.getLayout("cy");c.graph.eachNode(function(_){ok(_,g,y,m)}),this._firstRender=!1},t.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},t.prototype._startForceLayoutIteration=function(e,n){var i=this;(function a(){e.step(function(o){i.updateLayout(i._model),(i._layouting=!o)&&(n?i._layoutTimeout=setTimeout(a,16):a())})})()},t.prototype._updateController=function(e,n,i){var a=this,o=this._controller,s=this._controllerHost,l=this.group;if(o.setPointerChecker(function(u,f,c){var h=l.getBoundingRect();return h.applyTransform(l.transform),h.contain(f,c)&&!wd(u,i,e)}),!HA(e.coordinateSystem)){o.disable();return}o.enable(e.get("roam")),s.zoomLimit=e.get("scaleLimit"),s.zoom=e.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){u1(s,u.dx,u.dy),i.dispatchAction({seriesId:e.id,type:"graphRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){f1(s,u.scale,u.originX,u.originY),i.dispatchAction({seriesId:e.id,type:"graphRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),a._updateNodeAndLinkScale(),Pg(e.getGraph(),iu(e)),a._lineDraw.updateLayout(),i.updateLabelLayout()})},t.prototype._updateNodeAndLinkScale=function(){var e=this._model,n=e.getData(),i=iu(e);n.eachItemGraphicEl(function(a,o){a&&a.setSymbolScale(i)})},t.prototype.updateLayout=function(e){Pg(e.getGraph(),iu(e)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},t.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},t.type="graph",t}(ee);const wZ=bZ;function as(r){return"_EC_"+r}var TZ=function(){function r(t){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=t||!1}return r.prototype.isDirected=function(){return this._directed},r.prototype.addNode=function(t,e){t=t==null?""+e:""+t;var n=this._nodesMap;if(!n[as(t)]){var i=new Xa(t,e);return i.hostGraph=this,this.nodes.push(i),n[as(t)]=i,i}},r.prototype.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},r.prototype.getNodeById=function(t){return this._nodesMap[as(t)]},r.prototype.addEdge=function(t,e,n){var i=this._nodesMap,a=this._edgesMap;if(Ft(t)&&(t=this.nodes[t]),Ft(e)&&(e=this.nodes[e]),t instanceof Xa||(t=i[as(t)]),e instanceof Xa||(e=i[as(e)]),!(!t||!e)){var o=t.id+"-"+e.id,s=new lk(t,e,n);return s.hostGraph=this,this._directed&&(t.outEdges.push(s),e.inEdges.push(s)),t.edges.push(s),t!==e&&e.edges.push(s),this.edges.push(s),a[o]=s,s}},r.prototype.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},r.prototype.getEdge=function(t,e){t instanceof Xa&&(t=t.id),e instanceof Xa&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+"-"+e]:n[t+"-"+e]||n[e+"-"+t]},r.prototype.eachNode=function(t,e){for(var n=this.nodes,i=n.length,a=0;a=0&&t.call(e,n[a],a)},r.prototype.eachEdge=function(t,e){for(var n=this.edges,i=n.length,a=0;a=0&&n[a].node1.dataIndex>=0&&n[a].node2.dataIndex>=0&&t.call(e,n[a],a)},r.prototype.breadthFirstTraverse=function(t,e,n,i){if(e instanceof Xa||(e=this._nodesMap[as(e)]),!!e){for(var a=n==="out"?"outEdges":n==="in"?"inEdges":"edges",o=0;o=0&&l.node2.dataIndex>=0});for(var a=0,o=i.length;a=0&&this[r][t].setItemVisual(this.dataIndex,e,n)},getVisual:function(e){return this[r][t].getItemVisual(this.dataIndex,e)},setLayout:function(e,n){this.dataIndex>=0&&this[r][t].setItemLayout(this.dataIndex,e,n)},getLayout:function(){return this[r][t].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[r][t].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[r][t].getRawIndex(this.dataIndex)}}}_e(Xa,uk("hostGraph","data"));_e(lk,uk("hostGraph","edgeData"));const AZ=TZ;function fk(r,t,e,n,i){for(var a=new AZ(n),o=0;o "+h)),u++)}var v=e.get("coordinateSystem"),d;if(v==="cartesian2d"||v==="polar")d=Ai(r,e);else{var p=Af.get(v),g=p?p.dimensions||[]:[];Dt(g,"value")<0&&g.concat(["value"]);var y=Mf(r,{coordDimensions:g,encodeDefine:e.getEncode()}).dimensions;d=new or(y,e),d.initData(r)}var m=new or(["value"],e);return m.initData(l,s),i&&i(d,m),UE({mainData:d,struct:a,structAttr:"graph",datas:{node:d,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var CZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.hasSymbolVisual=!0,e}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new kf(i,i),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},t.prototype.mergeOption=function(e){r.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},t.prototype.mergeDefaultAndTheme=function(e){r.prototype.mergeDefaultAndTheme.apply(this,arguments),Ao(e,"edgeLabel",["show"])},t.prototype.getInitialData=function(e,n){var i=e.edges||e.links||[],a=e.data||e.nodes||[],o=this;if(a&&i){sZ(this);var s=fk(a,i,this,!0,l);return M(s.edges,function(u){lZ(u.node1,u.node2,this,u.dataIndex)},this),s.data}function l(u,f){u.wrapMethod("getItemModel",function(d){var p=o._categoriesModels,g=d.getShallow("category"),y=p[g];return y&&(y.parentModel=d.parentModel,d.parentModel=y),d});var c=te.prototype.getModel;function h(d,p){var g=c.call(this,d,p);return g.resolveParentPath=v,g}f.wrapMethod("getItemModel",function(d){return d.resolveParentPath=v,d.getModel=h,d});function v(d){if(d&&(d[0]==="label"||d[1]==="label")){var p=d.slice();return d[0]==="label"?p[0]="edgeLabel":d[1]==="label"&&(p[1]="edgeLabel"),p}return d}}},t.prototype.getGraph=function(){return this.getData().graph},t.prototype.getEdgeData=function(){return this.getGraph().edgeData},t.prototype.getCategoriesData=function(){return this._categoriesData},t.prototype.formatTooltip=function(e,n,i){if(i==="edge"){var a=this.getData(),o=this.getDataParams(e,i),s=a.graph.getEdgeByIndex(e),l=a.getName(s.node1.dataIndex),u=a.getName(s.node2.dataIndex),f=[];return l!=null&&f.push(l),u!=null&&f.push(u),Ie("nameValue",{name:f.join(" > "),value:o.value,noValue:o.value==null})}var c=I2({series:this,dataIndex:e,multipleSeries:n});return c},t.prototype._updateCategoriesData=function(){var e=Z(this.option.categories||[],function(i){return i.value!=null?i:F({value:0},i)}),n=new or(["value"],this);n.initData(e),this._categoriesData=n,this._categoriesModels=n.mapArray(function(i){return n.getItemModel(i)})},t.prototype.setZoom=function(e){this.option.zoom=e},t.prototype.setCenter=function(e){this.option.center=e},t.prototype.isAnimationEnabled=function(){return r.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},t.type="series.graph",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},t}(le);const MZ=CZ;var DZ={type:"graphRoam",event:"graphRoam",update:"none"};function IZ(r){r.registerChartView(wZ),r.registerSeriesModel(MZ),r.registerProcessor(rZ),r.registerVisual(nZ),r.registerVisual(iZ),r.registerLayout(uZ),r.registerLayout(r.PRIORITY.VISUAL.POST_CHART_LAYOUT,cZ),r.registerLayout(vZ),r.registerCoordinateSystem("graphView",{dimensions:Nf.dimensions,create:pZ}),r.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},de),r.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},de),r.registerAction(DZ,function(t,e,n){e.eachComponent({mainType:"series",query:t},function(i){var a=i.coordinateSystem,o=h1(a,t,void 0,n);i.setCenter&&i.setCenter(o.center),i.setZoom&&i.setZoom(o.zoom)})})}var LZ=function(){function r(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return r}(),PZ=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="pointer",n}return t.prototype.getDefaultShape=function(){return new LZ},t.prototype.buildPath=function(e,n){var i=Math.cos,a=Math.sin,o=n.r,s=n.width,l=n.angle,u=n.x-i(l)*s*(s>=o/3?1:2),f=n.y-a(l)*s*(s>=o/3?1:2);l=n.angle-Math.PI/2,e.moveTo(u,f),e.lineTo(n.x+i(l)*s,n.y+a(l)*s),e.lineTo(n.x+i(n.angle)*o,n.y+a(n.angle)*o),e.lineTo(n.x-i(l)*s,n.y-a(l)*s),e.lineTo(u,f)},t}(Pt);const RZ=PZ;function EZ(r,t){var e=r.get("center"),n=t.getWidth(),i=t.getHeight(),a=Math.min(n,i),o=et(e[0],t.getWidth()),s=et(e[1],t.getHeight()),l=et(r.get("radius"),a/2);return{cx:o,cy:s,r:l}}function Ec(r,t){var e=r==null?"":r+"";return t&&(nt(t)?e=t.replace("{value}",e):vt(t)&&(e=t(r))),e}var kZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){this.group.removeAll();var a=e.get(["axisLine","lineStyle","color"]),o=EZ(e,i);this._renderMain(e,n,i,a,o),this._data=e.getData()},t.prototype.dispose=function(){},t.prototype._renderMain=function(e,n,i,a,o){var s=this.group,l=e.get("clockwise"),u=-e.get("startAngle")/180*Math.PI,f=-e.get("endAngle")/180*Math.PI,c=e.getModel("axisLine"),h=c.get("roundCap"),v=h?lv:gr,d=c.get("show"),p=c.getModel("lineStyle"),g=p.get("width"),y=[u,f];f_(y,!l),u=y[0],f=y[1];for(var m=f-u,_=u,S=[],x=0;d&&x=A&&(C===0?0:a[C-1][0])Math.PI/2&&(ht+=Math.PI)):ct==="tangential"?ht=-T-Math.PI/2:Ft(ct)&&(ht=ct*Math.PI/180),ht===0?c.add(new Gt({style:Qt(_,{text:z,x:q,y:Q,verticalAlign:E<-.8?"top":E>.8?"bottom":"middle",align:P<-.4?"left":P>.4?"right":"center"},{inheritColor:$}),silent:!0})):c.add(new Gt({style:Qt(_,{text:z,x:q,y:Q,verticalAlign:"middle",align:"center"},{inheritColor:$}),silent:!0,originX:q,originY:Q,rotation:ht}))}if(m.get("show")&&O!==S){var V=m.get("distance");V=V?V+f:f;for(var gt=0;gt<=x;gt++){P=Math.cos(T),E=Math.sin(T);var Et=new Ee({shape:{x1:P*(d-V)+h,y1:E*(d-V)+v,x2:P*(d-w-V)+h,y2:E*(d-w-V)+v},silent:!0,style:I});I.stroke==="auto"&&Et.setStyle({stroke:a((O+gt/x)/S)}),c.add(Et),T+=C}T-=C}else T+=A}},t.prototype._renderPointer=function(e,n,i,a,o,s,l,u,f){var c=this.group,h=this._data,v=this._progressEls,d=[],p=e.get(["pointer","show"]),g=e.getModel("progress"),y=g.get("show"),m=e.getData(),_=m.mapDimension("value"),S=+e.get("min"),x=+e.get("max"),b=[S,x],w=[s,l];function T(C,D){var I=m.getItemModel(C),L=I.getModel("pointer"),P=et(L.get("width"),o.r),E=et(L.get("length"),o.r),O=e.get(["pointer","icon"]),V=L.get("offsetCenter"),N=et(V[0],o.r),z=et(V[1],o.r),$=L.get("keepAspect"),q;return O?q=me(O,N-P/2,z-E,P,E,null,$):q=new RZ({shape:{angle:-Math.PI/2,width:P,r:E,x:N,y:z}}),q.rotation=-(D+Math.PI/2),q.x=o.cx,q.y=o.cy,q}function A(C,D){var I=g.get("roundCap"),L=I?lv:gr,P=g.get("overlap"),E=P?g.get("width"):f/m.count(),O=P?o.r-E:o.r-(C+1)*E,V=P?o.r:o.r-C*E,N=new L({shape:{startAngle:s,endAngle:D,cx:o.cx,cy:o.cy,clockwise:u,r0:O,r:V}});return P&&(N.z2=Ut(m.get(_,C),[S,x],[100,0],!0)),N}(y||p)&&(m.diff(h).add(function(C){var D=m.get(_,C);if(p){var I=T(C,s);ae(I,{rotation:-((isNaN(+D)?w[0]:Ut(D,b,w,!0))+Math.PI/2)},e),c.add(I),m.setItemGraphicEl(C,I)}if(y){var L=A(C,s),P=g.get("clip");ae(L,{shape:{endAngle:Ut(D,b,w,P)}},e),c.add(L),om(e.seriesIndex,m.dataType,C,L),d[C]=L}}).update(function(C,D){var I=m.get(_,C);if(p){var L=h.getItemGraphicEl(D),P=L?L.rotation:s,E=T(C,P);E.rotation=P,Ht(E,{rotation:-((isNaN(+I)?w[0]:Ut(I,b,w,!0))+Math.PI/2)},e),c.add(E),m.setItemGraphicEl(C,E)}if(y){var O=v[D],V=O?O.shape.endAngle:s,N=A(C,V),z=g.get("clip");Ht(N,{shape:{endAngle:Ut(I,b,w,z)}},e),c.add(N),om(e.seriesIndex,m.dataType,C,N),d[C]=N}}).execute(),m.each(function(C){var D=m.getItemModel(C),I=D.getModel("emphasis"),L=I.get("focus"),P=I.get("blurScope"),E=I.get("disabled");if(p){var O=m.getItemGraphicEl(C),V=m.getItemVisual(C,"style"),N=V.fill;if(O instanceof He){var z=O.style;O.useStyle(F({image:z.image,x:z.x,y:z.y,width:z.width,height:z.height},V))}else O.useStyle(V),O.type!=="pointer"&&O.setColor(N);O.setStyle(D.getModel(["pointer","itemStyle"]).getItemStyle()),O.style.fill==="auto"&&O.setStyle("fill",a(Ut(m.get(_,C),b,[0,1],!0))),O.z2EmphasisLift=0,Ge(O,D),ue(O,L,P,E)}if(y){var $=d[C];$.useStyle(m.getItemVisual(C,"style")),$.setStyle(D.getModel(["progress","itemStyle"]).getItemStyle()),$.z2EmphasisLift=0,Ge($,D),ue($,L,P,E)}}),this._progressEls=d)},t.prototype._renderAnchor=function(e,n){var i=e.getModel("anchor"),a=i.get("show");if(a){var o=i.get("size"),s=i.get("icon"),l=i.get("offsetCenter"),u=i.get("keepAspect"),f=me(s,n.cx-o/2+et(l[0],n.r),n.cy-o/2+et(l[1],n.r),o,o,null,u);f.z2=i.get("showAbove")?1:0,f.setStyle(i.getModel("itemStyle").getItemStyle()),this.group.add(f)}},t.prototype._renderTitleAndDetail=function(e,n,i,a,o){var s=this,l=e.getData(),u=l.mapDimension("value"),f=+e.get("min"),c=+e.get("max"),h=new _t,v=[],d=[],p=e.isAnimationEnabled(),g=e.get(["pointer","showAbove"]);l.diff(this._data).add(function(y){v[y]=new Gt({silent:!0}),d[y]=new Gt({silent:!0})}).update(function(y,m){v[y]=s._titleEls[m],d[y]=s._detailEls[m]}).execute(),l.each(function(y){var m=l.getItemModel(y),_=l.get(u,y),S=new _t,x=a(Ut(_,[f,c],[0,1],!0)),b=m.getModel("title");if(b.get("show")){var w=b.get("offsetCenter"),T=o.cx+et(w[0],o.r),A=o.cy+et(w[1],o.r),C=v[y];C.attr({z2:g?0:2,style:Qt(b,{x:T,y:A,text:l.getName(y),align:"center",verticalAlign:"middle"},{inheritColor:x})}),S.add(C)}var D=m.getModel("detail");if(D.get("show")){var I=D.get("offsetCenter"),L=o.cx+et(I[0],o.r),P=o.cy+et(I[1],o.r),E=et(D.get("width"),o.r),O=et(D.get("height"),o.r),V=e.get(["progress","show"])?l.getItemVisual(y,"style").fill:x,C=d[y],N=D.get("formatter");C.attr({z2:g?0:2,style:Qt(D,{x:L,y:P,text:Ec(_,N),width:isNaN(E)?null:E,height:isNaN(O)?null:O,align:"center",verticalAlign:"middle"},{inheritColor:V})}),PP(C,{normal:D},_,function($){return Ec($,N)}),p&&RP(C,y,l,e,{getFormattedLabel:function($,q,Q,ct,ht,gt){return Ec(gt?gt.interpolatedValue:_,N)}}),S.add(C)}h.add(S)}),this.group.add(h),this._titleEls=v,this._detailEls=d},t.type="gauge",t}(ee);const OZ=kZ;var NZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.visualStyleAccessPath="itemStyle",e}return t.prototype.getInitialData=function(e,n){return cl(this,["value"])},t.type="series.gauge",t.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},t}(le);const VZ=NZ;function BZ(r){r.registerChartView(OZ),r.registerSeriesModel(VZ)}var zZ=["itemStyle","opacity"],GZ=function(r){B(t,r);function t(e,n){var i=r.call(this)||this,a=i,o=new mr,s=new Gt;return a.setTextContent(s),i.setTextGuideLine(o),i.updateData(e,n,!0),i}return t.prototype.updateData=function(e,n,i){var a=this,o=e.hostModel,s=e.getItemModel(n),l=e.getItemLayout(n),u=s.getModel("emphasis"),f=s.get(zZ);f=f==null?1:f,i||pn(a),a.useStyle(e.getItemVisual(n,"style")),a.style.lineJoin="round",i?(a.setShape({points:l.points}),a.style.opacity=0,ae(a,{style:{opacity:f}},o,n)):Ht(a,{style:{opacity:f},shape:{points:l.points}},o,n),Ge(a,s),this._updateLabel(e,n),ue(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},t.prototype._updateLabel=function(e,n){var i=this,a=this.getTextGuideLine(),o=i.getTextContent(),s=e.hostModel,l=e.getItemModel(n),u=e.getItemLayout(n),f=u.label,c=e.getItemVisual(n,"style"),h=c.fill;Fe(o,De(l),{labelFetcher:e.hostModel,labelDataIndex:n,defaultOpacity:c.opacity,defaultText:e.getName(n)},{normal:{align:f.textAlign,verticalAlign:f.verticalAlign}}),i.setTextConfig({local:!0,inside:!!f.inside,insideStroke:h,outsideFill:h});var v=f.linePoints;a.setShape({points:v}),i.textGuideLineConfig={anchor:v?new Ct(v[0][0],v[0][1]):null},Ht(o,{style:{x:f.x,y:f.y}},s,n),o.attr({rotation:f.rotation,originX:f.x,originY:f.y,z2:10}),Q_(i,t1(l),{stroke:h})},t}(yr),FZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.ignoreLabelLineUpdate=!0,e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this._data,s=this.group;a.diff(o).add(function(l){var u=new GZ(a,l);a.setItemGraphicEl(l,u),s.add(u)}).update(function(l,u){var f=o.getItemGraphicEl(u);f.updateData(a,l),s.add(f),a.setItemGraphicEl(l,f)}).remove(function(l){var u=o.getItemGraphicEl(l);Zu(u,e,l)}).execute(),this._data=a},t.prototype.remove=function(){this.group.removeAll(),this._data=null},t.prototype.dispose=function(){},t.type="funnel",t}(ee);const HZ=FZ;var WZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new kf(at(this.getData,this),at(this.getRawData,this)),this._defaultLabelLine(e)},t.prototype.getInitialData=function(e,n){return cl(this,{coordDimensions:["value"],encodeDefaulter:bt(I_,this)})},t.prototype._defaultLabelLine=function(e){Ao(e,"labelLine",["show"]);var n=e.labelLine,i=e.emphasis.labelLine;n.show=n.show&&e.label.show,i.show=i.show&&e.emphasis.label.show},t.prototype.getDataParams=function(e){var n=this.getData(),i=r.prototype.getDataParams.call(this,e),a=n.mapDimension("value"),o=n.getSum(a);return i.percent=o?+(n.get(a,e)/o*100).toFixed(2):0,i.$vars.push("percent"),i},t.type="series.funnel",t.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},t}(le);const $Z=WZ;function UZ(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function YZ(r,t){for(var e=r.mapDimension("value"),n=r.mapArray(e,function(l){return l}),i=[],a=t==="ascending",o=0,s=r.count();ocX)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]);i.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(r){if(!(this._mouseDownPoint||!Eg(this,"mousemove"))){var t=this._model,e=t.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]),n=e.behavior;n==="jump"&&this._throttledDispatchExpand.debounceNextCall(t.get("axisExpandDebounce")),this._throttledDispatchExpand(n==="none"?null:{axisExpandWindow:e.axisExpandWindow,animation:n==="jump"?null:{duration:0}})}}};function Eg(r,t){var e=r._model;return e.get("axisExpandable")&&e.get("axisExpandTriggerOn")===t}const dX=hX;var pX=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(){r.prototype.init.apply(this,arguments),this.mergeOption({})},t.prototype.mergeOption=function(e){var n=this.option;e&&Tt(n,e,!0),this._initDimensions()},t.prototype.contains=function(e,n){var i=e.get("parallelIndex");return i!=null&&n.getComponent("parallel",i)===this},t.prototype.setAxisExpand=function(e){M(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(n){e.hasOwnProperty(n)&&(this.option[n]=e[n])},this)},t.prototype._initDimensions=function(){var e=this.dimensions=[],n=this.parallelAxisIndex=[],i=$t(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);M(i,function(a){e.push("dim"+a.get("dim")),n.push(a.componentIndex)})},t.type="parallel",t.dependencies=["parallelAxis"],t.layoutMode="box",t.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},t}(Bt);const gX=pX;var yX=function(r){B(t,r);function t(e,n,i,a,o){var s=r.call(this,e,n,i)||this;return s.type=a||"value",s.axisIndex=o,s}return t.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},t}(yn);const mX=yX;function Fo(r,t,e,n,i,a){r=r||0;var o=e[1]-e[0];if(i!=null&&(i=os(i,[0,o])),a!=null&&(a=Math.max(a,i!=null?i:0)),n==="all"){var s=Math.abs(t[1]-t[0]);s=os(s,[0,o]),i=a=os(s,[i,a]),n=0}t[0]=os(t[0],e),t[1]=os(t[1],e);var l=kg(t,n);t[n]+=r;var u=i||0,f=e.slice();l.sign<0?f[0]+=u:f[1]-=u,t[n]=os(t[n],f);var c;return c=kg(t,n),i!=null&&(c.sign!==l.sign||c.spana&&(t[1-n]=t[n]+c.sign*a),t}function kg(r,t){var e=r[t]-r[1-t];return{span:Math.abs(e),sign:e>0?-1:e<0?1:t?-1:1}}function os(r,t){return Math.min(t[1]!=null?t[1]:1/0,Math.max(t[0]!=null?t[0]:-1/0,r))}var Og=M,hk=Math.min,vk=Math.max,UA=Math.floor,_X=Math.ceil,YA=ce,SX=Math.PI,xX=function(){function r(t,e,n){this.type="parallel",this._axesMap=ft(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return r.prototype._init=function(t,e,n){var i=t.dimensions,a=t.parallelAxisIndex;Og(i,function(o,s){var l=a[s],u=e.getComponent("parallelAxis",l),f=this._axesMap.set(o,new mX(o,xd(u),[0,0],u.get("type"),l)),c=f.type==="category";f.onBand=c&&u.get("boundaryGap"),f.inverse=u.get("inverse"),u.axis=f,f.model=u,f.coordinateSystem=u.coordinateSystem=this},this)},r.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},r.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,a=e.pixelDimIndex,o=t[1-a],s=t[a];return o>=n&&o<=n+e.axisLength&&s>=i&&s<=i+e.layoutLength},r.prototype.getModel=function(){return this._model},r.prototype._updateAxesFromSeries=function(t,e){e.eachSeries(function(n){if(t.contains(n,e)){var i=n.getData();Og(this.dimensions,function(a){var o=this._axesMap.get(a);o.scale.unionExtentFromData(i,i.mapDimension(a)),Ws(o.scale,o.model)},this)}},this)},r.prototype.resize=function(t,e){this._rect=be(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},r.prototype.getRect=function(){return this._rect},r.prototype._makeLayoutInfo=function(){var t=this._model,e=this._rect,n=["x","y"],i=["width","height"],a=t.get("layout"),o=a==="horizontal"?0:1,s=e[i[o]],l=[0,s],u=this.dimensions.length,f=kc(t.get("axisExpandWidth"),l),c=kc(t.get("axisExpandCount")||0,[0,u]),h=t.get("axisExpandable")&&u>3&&u>c&&c>1&&f>0&&s>0,v=t.get("axisExpandWindow"),d;if(v)d=kc(v[1]-v[0],l),v[1]=v[0]+d;else{d=kc(f*(c-1),l);var p=t.get("axisExpandCenter")||UA(u/2);v=[f*p-d/2],v[1]=v[0]+d}var g=(s-d)/(u-c);g<3&&(g=0);var y=[UA(YA(v[0]/f,1))+1,_X(YA(v[1]/f,1))-1],m=g/f*v[0];return{layout:a,pixelDimIndex:o,layoutBase:e[n[o]],layoutLength:s,axisBase:e[n[1-o]],axisLength:e[i[1-o]],axisExpandable:h,axisExpandWidth:f,axisCollapseWidth:g,axisExpandWindow:v,axisCount:u,winInnerIndices:y,axisExpandWindow0Pos:m}},r.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),a=i.layout;e.each(function(o){var s=[0,i.axisLength],l=o.inverse?1:0;o.setExtent(s[l],s[1-l])}),Og(n,function(o,s){var l=(i.axisExpandable?wX:bX)(s,i),u={horizontal:{x:l.position,y:i.axisLength},vertical:{x:0,y:l.position}},f={horizontal:SX/2,vertical:0},c=[u[a].x+t.x,u[a].y+t.y],h=f[a],v=Cr();Eo(v,v,h),Hn(v,v,c),this._axesLayout[o]={position:c,rotation:h,transform:v,axisNameAvailableWidth:l.axisNameAvailableWidth,axisLabelShow:l.axisLabelShow,nameTruncateMaxWidth:l.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},r.prototype.getAxis=function(t){return this._axesMap.get(t)},r.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},r.prototype.eachActiveState=function(t,e,n,i){n==null&&(n=0),i==null&&(i=t.count());var a=this._axesMap,o=this.dimensions,s=[],l=[];M(o,function(g){s.push(t.mapDimension(g)),l.push(a.get(g).model)});for(var u=this.hasAxisBrushed(),f=n;fa*(1-c[0])?(u="jump",l=s-a*(1-c[2])):(l=s-a*c[1])>=0&&(l=s-a*(1-c[1]))<=0&&(l=0),l*=e.axisExpandWidth/f,l?Fo(l,i,o,"all"):u="none";else{var v=i[1]-i[0],d=o[1]*s/v;i=[vk(0,d-v/2)],i[1]=hk(o[1],i[0]+v),i[0]=i[1]-v}return{axisExpandWindow:i,behavior:u}},r}();function kc(r,t){return hk(vk(r,t[0]),t[1])}function bX(r,t){var e=t.layoutLength/(t.axisCount-1);return{position:e*r,axisNameAvailableWidth:e,axisLabelShow:!0}}function wX(r,t){var e=t.layoutLength,n=t.axisExpandWidth,i=t.axisCount,a=t.axisCollapseWidth,o=t.winInnerIndices,s,l=a,u=!1,f;return r=0;i--)$r(n[i])},t.prototype.getActiveState=function(e){var n=this.activeIntervals;if(!n.length)return"normal";if(e==null||isNaN(+e))return"inactive";if(n.length===1){var i=n[0];if(i[0]<=e&&e<=i[1])return"active"}else for(var a=0,o=n.length;aLX}function Sk(r){var t=r.length-1;return t<0&&(t=0),[r[0],r[t]]}function xk(r,t,e,n){var i=new _t;return i.add(new Vt({name:"main",style:C1(e),silent:!0,draggable:!0,cursor:"move",drift:bt(KA,r,t,i,["n","s","w","e"]),ondragend:bt(Po,t,{isEnd:!0})})),M(n,function(a){i.add(new Vt({name:a.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:bt(KA,r,t,i,a),ondragend:bt(Po,t,{isEnd:!0})}))}),i}function bk(r,t,e,n){var i=n.brushStyle.lineWidth||0,a=Ys(i,PX),o=e[0][0],s=e[1][0],l=o-i/2,u=s-i/2,f=e[0][1],c=e[1][1],h=f-a+i/2,v=c-a+i/2,d=f-o,p=c-s,g=d+i,y=p+i;Jn(r,t,"main",o,s,d,p),n.transformable&&(Jn(r,t,"w",l,u,a,y),Jn(r,t,"e",h,u,a,y),Jn(r,t,"n",l,u,g,a),Jn(r,t,"s",l,v,g,a),Jn(r,t,"nw",l,u,a,a),Jn(r,t,"ne",h,u,a,a),Jn(r,t,"sw",l,v,a,a),Jn(r,t,"se",h,v,a,a))}function Km(r,t){var e=t.__brushOption,n=e.transformable,i=t.childAt(0);i.useStyle(C1(e)),i.attr({silent:!n,cursor:n?"move":"default"}),M([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(a){var o=t.childOfName(a.join("")),s=a.length===1?jm(r,a[0]):BX(r,a);o&&o.attr({silent:!n,invisible:!n,cursor:n?EX[s]+"-resize":null})})}function Jn(r,t,e,n,i,a,o){var s=t.childOfName(e);s&&s.setShape(GX(M1(r,t,[[n,i],[n+a,i+o]])))}function C1(r){return pt({strokeNoScale:!0},r.brushStyle)}function wk(r,t,e,n){var i=[uf(r,e),uf(t,n)],a=[Ys(r,e),Ys(t,n)];return[[i[0],a[0]],[i[1],a[1]]]}function VX(r){return So(r.group)}function jm(r,t){var e={w:"left",e:"right",n:"top",s:"bottom"},n={left:"w",right:"e",top:"n",bottom:"s"},i=ad(e[t],VX(r));return n[i]}function BX(r,t){var e=[jm(r,t[0]),jm(r,t[1])];return(e[0]==="e"||e[0]==="w")&&e.reverse(),e.join("")}function KA(r,t,e,n,i,a){var o=e.__brushOption,s=r.toRectRange(o.range),l=Tk(t,i,a);M(n,function(u){var f=RX[u];s[f[0]][f[1]]+=l[f[0]]}),o.range=r.fromRectRange(wk(s[0][0],s[1][0],s[0][1],s[1][1])),w1(t,e),Po(t,{isEnd:!1})}function zX(r,t,e,n){var i=t.__brushOption.range,a=Tk(r,e,n);M(i,function(o){o[0]+=a[0],o[1]+=a[1]}),w1(r,t),Po(r,{isEnd:!1})}function Tk(r,t,e){var n=r.group,i=n.transformCoordToLocal(t,e),a=n.transformCoordToLocal(0,0);return[i[0]-a[0],i[1]-a[1]]}function M1(r,t,e){var n=_k(r,t);return n&&n!==Lo?n.clipPath(e,r._transform):mt(e)}function GX(r){var t=uf(r[0][0],r[1][0]),e=uf(r[0][1],r[1][1]),n=Ys(r[0][0],r[1][0]),i=Ys(r[0][1],r[1][1]);return{x:t,y:e,width:n-t,height:i-e}}function FX(r,t,e){if(!(!r._brushType||WX(r,t.offsetX,t.offsetY))){var n=r._zr,i=r._covers,a=A1(r,t,e);if(!r._dragging)for(var o=0;on.getWidth()||e<0||e>n.getHeight()}var Md={lineX:QA(0),lineY:QA(1),rect:{createCover:function(r,t){function e(n){return n}return xk({toRectRange:e,fromRectRange:e},r,t,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(r){var t=Sk(r);return wk(t[1][0],t[1][1],t[0][0],t[0][1])},updateCoverShape:function(r,t,e,n){bk(r,t,e,n)},updateCommon:Km,contain:Qm},polygon:{createCover:function(r,t){var e=new _t;return e.add(new mr({name:"main",style:C1(t),silent:!0})),e},getCreatingRange:function(r){return r},endCreating:function(r,t){t.remove(t.childAt(0)),t.add(new yr({name:"main",draggable:!0,drift:bt(zX,r,t),ondragend:bt(Po,r,{isEnd:!0})}))},updateCoverShape:function(r,t,e,n){t.childAt(0).setShape({points:M1(r,t,e)})},updateCommon:Km,contain:Qm}};function QA(r){return{createCover:function(t,e){return xk({toRectRange:function(n){var i=[n,[0,100]];return r&&i.reverse(),i},fromRectRange:function(n){return n[r]}},t,e,[[["w"],["e"]],[["n"],["s"]]][r])},getCreatingRange:function(t){var e=Sk(t),n=uf(e[0][r],e[1][r]),i=Ys(e[0][r],e[1][r]);return[n,i]},updateCoverShape:function(t,e,n,i){var a,o=_k(t,e);if(o!==Lo&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(r);else{var s=t._zr;a=[0,[s.getWidth(),s.getHeight()][1-r]]}var l=[n,a];r&&l.reverse(),bk(t,e,l,i)},updateCommon:Km,contain:Qm}}const D1=OX;function Ck(r){return r=I1(r),function(t){return DP(t,r)}}function Mk(r,t){return r=I1(r),function(e){var n=t!=null?t:e,i=n?r.width:r.height,a=n?r.x:r.y;return[a,a+(i||0)]}}function Dk(r,t,e){var n=I1(r);return function(i,a){return n.contain(a[0],a[1])&&!wd(i,t,e)}}function I1(r){return Mt.create(r)}var $X=["axisLine","axisTickLabel","axisName"],UX=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){r.prototype.init.apply(this,arguments),(this._brushController=new D1(n.getZr())).on("brush",at(this._onBrush,this))},t.prototype.render=function(e,n,i,a){if(!YX(e,n,a)){this.axisModel=e,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new _t,this.group.add(this._axisGroup),!!e.get("show")){var s=XX(e,n),l=s.coordinateSystem,u=e.getAreaSelectStyle(),f=u.width,c=e.axis.dim,h=l.getAxisLayout(c),v=F({strokeContainThreshold:f},h),d=new xi(e,v);M($X,d.add,d),this._axisGroup.add(d.getGroup()),this._refreshBrushController(v,u,e,s,f,i),wf(o,this._axisGroup,e)}}},t.prototype._refreshBrushController=function(e,n,i,a,o,s){var l=i.axis.getExtent(),u=l[1]-l[0],f=Math.min(30,Math.abs(u)*.1),c=Mt.create({x:l[0],y:-o/2,width:u,height:o});c.x-=f,c.width+=2*f,this._brushController.mount({enableGlobalPan:!0,rotation:e.rotation,x:e.position[0],y:e.position[1]}).setPanels([{panelId:"pl",clipPath:Ck(c),isTargetByCursor:Dk(c,s,a),getLinearBrushOtherExtent:Mk(c,0)}]).enableBrush({brushType:"lineX",brushStyle:n,removeOnClick:!0}).updateCovers(ZX(i))},t.prototype._onBrush=function(e){var n=e.areas,i=this.axisModel,a=i.axis,o=Z(n,function(s){return[a.coordToData(s.range[0],!0),a.coordToData(s.range[1],!0)]});(!i.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:o})},t.prototype.dispose=function(){this._brushController.dispose()},t.type="parallelAxis",t}(fe);function YX(r,t,e){return e&&e.type==="axisAreaSelect"&&t.findComponents({mainType:"parallelAxis",query:e})[0]===r}function ZX(r){var t=r.axis;return Z(r.activeIntervals,function(e){return{brushType:"lineX",panelId:"pl",range:[t.dataToCoord(e[0],!0),t.dataToCoord(e[1],!0)]}})}function XX(r,t){return t.getComponent("parallel",r.get("parallelIndex"))}const qX=UX;var KX={type:"axisAreaSelect",event:"axisAreaSelected"};function jX(r){r.registerAction(KX,function(t,e){e.eachComponent({mainType:"parallelAxis",query:t},function(n){n.axis.model.setActiveIntervals(t.intervals)})}),r.registerAction("parallelAxisExpand",function(t,e){e.eachComponent({mainType:"parallel",query:t},function(n){n.setAxisExpand(t)})})}var JX={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function Ik(r){r.registerComponentView(dX),r.registerComponentModel(gX),r.registerCoordinateSystem("parallel",MX),r.registerPreprocessor(lX),r.registerComponentModel(ZA),r.registerComponentView(qX),Us(r,"parallel",ZA,JX),jX(r)}function QX(r){Lt(Ik),r.registerChartView(tX),r.registerSeriesModel(iX),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,sX)}var tq=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return r}(),eq=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new tq},t.prototype.buildPath=function(e,n){var i=n.extent;e.moveTo(n.x1,n.y1),e.bezierCurveTo(n.cpx1,n.cpy1,n.cpx2,n.cpy2,n.x2,n.y2),n.orient==="vertical"?(e.lineTo(n.x2+i,n.y2),e.bezierCurveTo(n.cpx2+i,n.cpy2,n.cpx1+i,n.cpy1,n.x1+i,n.y1)):(e.lineTo(n.x2,n.y2+i),e.bezierCurveTo(n.cpx2,n.cpy2+i,n.cpx1,n.cpy1+i,n.x1,n.y1+i)),e.closePath()},t.prototype.highlight=function(){mi(this)},t.prototype.downplay=function(){_i(this)},t}(Pt),rq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._focusAdjacencyDisabled=!1,e}return t.prototype.render=function(e,n,i){var a=this,o=e.getGraph(),s=this.group,l=e.layoutInfo,u=l.width,f=l.height,c=e.getData(),h=e.getData("edge"),v=e.get("orient");this._model=e,s.removeAll(),s.x=l.x,s.y=l.y,o.eachEdge(function(d){var p=new eq,g=St(p);g.dataIndex=d.dataIndex,g.seriesIndex=e.seriesIndex,g.dataType="edge";var y=d.getModel(),m=y.getModel("lineStyle"),_=m.get("curveness"),S=d.node1.getLayout(),x=d.node1.getModel(),b=x.get("localX"),w=x.get("localY"),T=d.node2.getLayout(),A=d.node2.getModel(),C=A.get("localX"),D=A.get("localY"),I=d.getLayout(),L,P,E,O,V,N,z,$;p.shape.extent=Math.max(1,I.dy),p.shape.orient=v,v==="vertical"?(L=(b!=null?b*u:S.x)+I.sy,P=(w!=null?w*f:S.y)+S.dy,E=(C!=null?C*u:T.x)+I.ty,O=D!=null?D*f:T.y,V=L,N=P*(1-_)+O*_,z=E,$=P*_+O*(1-_)):(L=(b!=null?b*u:S.x)+S.dx,P=(w!=null?w*f:S.y)+I.sy,E=C!=null?C*u:T.x,O=(D!=null?D*f:T.y)+I.ty,V=L*(1-_)+E*_,N=P,z=L*_+E*(1-_),$=O),p.setShape({x1:L,y1:P,x2:E,y2:O,cpx1:V,cpy1:N,cpx2:z,cpy2:$}),p.useStyle(m.getItemStyle()),tC(p.style,v,d);var q=""+y.get("value"),Q=De(y,"edgeLabel");Fe(p,Q,{labelFetcher:{getFormattedLabel:function(gt,Et,U,K,H,tt){return e.getFormattedLabel(gt,Et,"edge",K,Bn(H,Q.normal&&Q.normal.get("formatter"),q),tt)}},labelDataIndex:d.dataIndex,defaultText:q}),p.setTextConfig({position:"inside"});var ct=y.getModel("emphasis");Ge(p,y,"lineStyle",function(gt){var Et=gt.getItemStyle();return tC(Et,v,d),Et}),s.add(p),h.setItemGraphicEl(d.dataIndex,p);var ht=ct.get("focus");ue(p,ht==="adjacency"?d.getAdjacentDataIndices():ht==="trajectory"?d.getTrajectoryDataIndices():ht,ct.get("blurScope"),ct.get("disabled"))}),o.eachNode(function(d){var p=d.getLayout(),g=d.getModel(),y=g.get("localX"),m=g.get("localY"),_=g.getModel("emphasis"),S=g.get(["itemStyle","borderRadius"])||0,x=new Vt({shape:{x:y!=null?y*u:p.x,y:m!=null?m*f:p.y,width:p.dx,height:p.dy,r:S},style:g.getModel("itemStyle").getItemStyle(),z2:10});Fe(x,De(g),{labelFetcher:{getFormattedLabel:function(w,T){return e.getFormattedLabel(w,T,"node")}},labelDataIndex:d.dataIndex,defaultText:d.id}),x.disableLabelAnimation=!0,x.setStyle("fill",d.getVisual("color")),x.setStyle("decal",d.getVisual("style").decal),Ge(x,g),s.add(x),c.setItemGraphicEl(d.dataIndex,x),St(x).dataType="node";var b=_.get("focus");ue(x,b==="adjacency"?d.getAdjacentDataIndices():b==="trajectory"?d.getTrajectoryDataIndices():b,_.get("blurScope"),_.get("disabled"))}),c.eachItemGraphicEl(function(d,p){var g=c.getItemModel(p);g.get("draggable")&&(d.drift=function(y,m){a._focusAdjacencyDisabled=!0,this.shape.x+=y,this.shape.y+=m,this.dirty(),i.dispatchAction({type:"dragNode",seriesId:e.id,dataIndex:c.getRawIndex(p),localX:this.shape.x/u,localY:this.shape.y/f})},d.ondragend=function(){a._focusAdjacencyDisabled=!1},d.draggable=!0,d.cursor="move")}),!this._data&&e.isAnimationEnabled()&&s.setClipPath(nq(s.getBoundingRect(),e,function(){s.removeClipPath()})),this._data=e.getData()},t.prototype.dispose=function(){},t.type="sankey",t}(ee);function tC(r,t,e){switch(r.fill){case"source":r.fill=e.node1.getVisual("color"),r.decal=e.node1.getVisual("style").decal;break;case"target":r.fill=e.node2.getVisual("color"),r.decal=e.node2.getVisual("style").decal;break;case"gradient":var n=e.node1.getVisual("color"),i=e.node2.getVisual("color");nt(n)&&nt(i)&&(r.fill=new bf(0,0,+(t==="horizontal"),+(t==="vertical"),[{color:n,offset:0},{color:i,offset:1}]))}}function nq(r,t,e){var n=new Vt({shape:{x:r.x-10,y:r.y-10,width:0,height:r.height+20}});return ae(n,{shape:{width:r.width+20}},t,e),n}const iq=rq;var aq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,n){var i=e.edges||e.links||[],a=e.data||e.nodes||[],o=e.levels||[];this.levelModels=[];for(var s=this.levelModels,l=0;l=0&&(s[o[l].depth]=new te(o[l],this,n));var u=fk(a,i,this,!0,f);return u.data;function f(c,h){c.wrapMethod("getItemModel",function(v,d){var p=v.parentModel,g=p.getData().getItemLayout(d);if(g){var y=g.depth,m=p.levelModels[y];m&&(v.parentModel=m)}return v}),h.wrapMethod("getItemModel",function(v,d){var p=v.parentModel,g=p.getGraph().getEdgeByIndex(d),y=g.node1.getLayout();if(y){var m=y.depth,_=p.levelModels[m];_&&(v.parentModel=_)}return v})}},t.prototype.setNodePosition=function(e,n){var i=this.option.data||this.option.nodes,a=i[e];a.localX=n[0],a.localY=n[1]},t.prototype.getGraph=function(){return this.getData().graph},t.prototype.getEdgeData=function(){return this.getGraph().edgeData},t.prototype.formatTooltip=function(e,n,i){function a(v){return isNaN(v)||v==null}if(i==="edge"){var o=this.getDataParams(e,i),s=o.data,l=o.value,u=s.source+" -- "+s.target;return Ie("nameValue",{name:u,value:l,noValue:a(l)})}else{var f=this.getGraph().getNodeByIndex(e),c=f.getLayout().value,h=this.getDataParams(e,i).data.name;return Ie("nameValue",{name:h!=null?h+"":null,value:c,noValue:a(c)})}},t.prototype.optionUpdated=function(){},t.prototype.getDataParams=function(e,n){var i=r.prototype.getDataParams.call(this,e,n);if(i.value==null&&n==="node"){var a=this.getGraph().getNodeByIndex(e),o=a.getLayout().value;i.value=o}return i},t.type="series.sankey",t.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},t}(le);const oq=aq;function sq(r,t){r.eachSeriesByType("sankey",function(e){var n=e.get("nodeWidth"),i=e.get("nodeGap"),a=lq(e,t);e.layoutInfo=a;var o=a.width,s=a.height,l=e.getGraph(),u=l.nodes,f=l.edges;fq(u);var c=$t(u,function(p){return p.getLayout().value===0}),h=c.length!==0?0:e.get("layoutIterations"),v=e.get("orient"),d=e.get("nodeAlign");uq(u,f,n,i,o,s,h,v,d)})}function lq(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function uq(r,t,e,n,i,a,o,s,l){cq(r,t,e,i,a,s,l),pq(r,t,a,i,n,o,s),Tq(r,s)}function fq(r){M(r,function(t){var e=ra(t.outEdges,dv),n=ra(t.inEdges,dv),i=t.getValue()||0,a=Math.max(e,n,i);t.setLayout({value:a},!0)})}function cq(r,t,e,n,i,a,o){for(var s=[],l=[],u=[],f=[],c=0,h=0;h=0;y&&g.depth>v&&(v=g.depth),p.setLayout({depth:y?g.depth:c},!0),a==="vertical"?p.setLayout({dy:e},!0):p.setLayout({dx:e},!0);for(var m=0;mc-1?v:c-1;o&&o!=="left"&&hq(r,o,a,w);var T=a==="vertical"?(i-e)/w:(n-e)/w;dq(r,T,a)}function Lk(r){var t=r.hostGraph.data.getRawDataItem(r.dataIndex);return t.depth!=null&&t.depth>=0}function hq(r,t,e,n){if(t==="right"){for(var i=[],a=r,o=0;a.length;){for(var s=0;s0;a--)l*=.99,mq(s,l,o),Ng(s,i,e,n,o),wq(s,l,o),Ng(s,i,e,n,o)}function gq(r,t){var e=[],n=t==="vertical"?"y":"x",i=rm(r,function(a){return a.getLayout()[n]});return i.keys.sort(function(a,o){return a-o}),M(i.keys,function(a){e.push(i.buckets.get(a))}),e}function yq(r,t,e,n,i,a){var o=1/0;M(r,function(s){var l=s.length,u=0;M(s,function(c){u+=c.getLayout().value});var f=a==="vertical"?(n-(l-1)*i)/u:(e-(l-1)*i)/u;f0&&(s=l.getLayout()[a]+u,i==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),f=l.getLayout()[a]+l.getLayout()[h]+t;var d=i==="vertical"?n:e;if(u=f-t-d,u>0){s=l.getLayout()[a]-u,i==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0),f=s;for(var v=c-2;v>=0;--v)l=o[v],u=l.getLayout()[a]+l.getLayout()[h]+t-f,u>0&&(s=l.getLayout()[a]-u,i==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),f=l.getLayout()[a]}})}function mq(r,t,e){M(r.slice().reverse(),function(n){M(n,function(i){if(i.outEdges.length){var a=ra(i.outEdges,_q,e)/ra(i.outEdges,dv);if(isNaN(a)){var o=i.outEdges.length;a=o?ra(i.outEdges,Sq,e)/o:0}if(e==="vertical"){var s=i.getLayout().x+(a-fa(i,e))*t;i.setLayout({x:s},!0)}else{var l=i.getLayout().y+(a-fa(i,e))*t;i.setLayout({y:l},!0)}}})})}function _q(r,t){return fa(r.node2,t)*r.getValue()}function Sq(r,t){return fa(r.node2,t)}function xq(r,t){return fa(r.node1,t)*r.getValue()}function bq(r,t){return fa(r.node1,t)}function fa(r,t){return t==="vertical"?r.getLayout().x+r.getLayout().dx/2:r.getLayout().y+r.getLayout().dy/2}function dv(r){return r.getValue()}function ra(r,t,e){for(var n=0,i=r.length,a=-1;++ao&&(o=l)}),M(n,function(s){var l=new ze({type:"color",mappingMethod:"linear",dataExtent:[a,o],visual:t.get("color")}),u=l.mapValueToVisual(s.getLayout().value),f=s.getModel().get(["itemStyle","color"]);f!=null?(s.setVisual("color",f),s.setVisual("style",{fill:f})):(s.setVisual("color",u),s.setVisual("style",{fill:u}))})}i.length&&M(i,function(s){var l=s.getModel().get("lineStyle");s.setVisual("style",l)})})}function Cq(r){r.registerChartView(iq),r.registerSeriesModel(oq),r.registerLayout(sq),r.registerVisual(Aq),r.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"sankey",query:t},function(n){n.setNodePosition(t.dataIndex,[t.localX,t.localY])})})}var Pk=function(){function r(){}return r.prototype._hasEncodeRule=function(t){var e=this.getEncode();return e&&e.get(t)!=null},r.prototype.getInitialData=function(t,e){var n,i=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),o=i.get("type"),s=a.get("type"),l;o==="category"?(t.layout="horizontal",n=i.getOrdinalMeta(),l=!this._hasEncodeRule("x")):s==="category"?(t.layout="vertical",n=a.getOrdinalMeta(),l=!this._hasEncodeRule("y")):t.layout=t.layout||"horizontal";var u=["x","y"],f=t.layout==="horizontal"?0:1,c=this._baseAxisDim=u[f],h=u[1-f],v=[i,a],d=v[f].get("type"),p=v[1-f].get("type"),g=t.data;if(g&&l){var y=[];M(g,function(S,x){var b;Y(S)?(b=S.slice(),S.unshift(x)):Y(S.value)?(b=F({},S),b.value=b.value.slice(),S.value.unshift(x)):b=S,y.push(b)}),t.data=y}var m=this.defaultValueDimensions,_=[{name:c,type:rv(d),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:h,type:rv(p),dimsDef:m.slice()}];return cl(this,{coordDimensions:_,dimensionsCount:m.length+1,encodeDefaulter:bt(t2,_,this)})},r.prototype.getBaseAxis=function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis},r}(),Rk=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],e.visualDrawType="stroke",e}return t.type="series.boxplot",t.dependencies=["xAxis","yAxis","grid"],t.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},t}(le);_e(Rk,Pk,!0);const Mq=Rk;var Dq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this.group,s=this._data;this._data||o.removeAll();var l=e.get("layout")==="horizontal"?1:0;a.diff(s).add(function(u){if(a.hasValue(u)){var f=a.getItemLayout(u),c=eC(f,a,u,l,!0);a.setItemGraphicEl(u,c),o.add(c)}}).update(function(u,f){var c=s.getItemGraphicEl(f);if(!a.hasValue(u)){o.remove(c);return}var h=a.getItemLayout(u);c?(pn(c),Ek(h,c,a,u)):c=eC(h,a,u,l),o.add(c),a.setItemGraphicEl(u,c)}).remove(function(u){var f=s.getItemGraphicEl(u);f&&o.remove(f)}).execute(),this._data=a},t.prototype.remove=function(e){var n=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(a){a&&n.remove(a)})},t.type="boxplot",t}(ee),Iq=function(){function r(){}return r}(),Lq=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="boxplotBoxPath",n}return t.prototype.getDefaultShape=function(){return new Iq},t.prototype.buildPath=function(e,n){var i=n.points,a=0;for(e.moveTo(i[a][0],i[a][1]),a++;a<4;a++)e.lineTo(i[a][0],i[a][1]);for(e.closePath();ap){var S=[y,_];n.push(S)}}}return{boxData:e,outliers:n}}var Bq={type:"echarts:boxplot",transform:function(t){var e=t.upstream;if(e.sourceFormat!==je){var n="";Wt(n)}var i=Vq(e.getRawData(),t.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:i.boxData},{data:i.outliers}]}};function zq(r){r.registerSeriesModel(Mq),r.registerChartView(Rq),r.registerLayout(Eq),r.registerTransform(Bq)}var Gq=["itemStyle","borderColor"],Fq=["itemStyle","borderColor0"],Hq=["itemStyle","borderColorDoji"],Wq=["itemStyle","color"],$q=["itemStyle","color0"];function L1(r,t){return t.get(r>0?Wq:$q)}function P1(r,t){return t.get(r===0?Hq:r>0?Gq:Fq)}var Uq={seriesType:"candlestick",plan:sl(),performRawSeries:!0,reset:function(r,t){if(!t.isSeriesFiltered(r)){var e=r.pipelineContext.large;return!e&&{progress:function(n,i){for(var a;(a=n.next())!=null;){var o=i.getItemModel(a),s=i.getItemLayout(a).sign,l=o.getItemStyle();l.fill=L1(s,o),l.stroke=P1(s,o)||l.fill;var u=i.ensureUniqueItemVisual(a,"style");F(u,l)}}}}}};const Yq=Uq;var Zq=["color","borderColor"],Xq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(e),this._isLargeDraw?this._renderLarge(e):this._renderNormal(e)},t.prototype.incrementalPrepareRender=function(e,n,i){this._clear(),this._updateDrawMode(e)},t.prototype.incrementalRender=function(e,n,i,a){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(e,n):this._incrementalRenderNormal(e,n)},t.prototype.eachRendered=function(e){pa(this._progressiveEls||this.group,e)},t.prototype._updateDrawMode=function(e){var n=e.pipelineContext.large;(this._isLargeDraw==null||n!==this._isLargeDraw)&&(this._isLargeDraw=n,this._clear())},t.prototype._renderNormal=function(e){var n=e.getData(),i=this._data,a=this.group,o=n.getLayout("isSimpleBox"),s=e.get("clip",!0),l=e.coordinateSystem,u=l.getArea&&l.getArea();this._data||a.removeAll(),n.diff(i).add(function(f){if(n.hasValue(f)){var c=n.getItemLayout(f);if(s&&rC(u,c))return;var h=Vg(c,f,!0);ae(h,{shape:{points:c.ends}},e,f),Bg(h,n,f,o),a.add(h),n.setItemGraphicEl(f,h)}}).update(function(f,c){var h=i.getItemGraphicEl(c);if(!n.hasValue(f)){a.remove(h);return}var v=n.getItemLayout(f);if(s&&rC(u,v)){a.remove(h);return}h?(Ht(h,{shape:{points:v.ends}},e,f),pn(h)):h=Vg(v),Bg(h,n,f,o),a.add(h),n.setItemGraphicEl(f,h)}).remove(function(f){var c=i.getItemGraphicEl(f);c&&a.remove(c)}).execute(),this._data=n},t.prototype._renderLarge=function(e){this._clear(),nC(e,this.group);var n=e.get("clip",!0)?Pf(e.coordinateSystem,!1,e):null;n?this.group.setClipPath(n):this.group.removeClipPath()},t.prototype._incrementalRenderNormal=function(e,n){for(var i=n.getData(),a=i.getLayout("isSimpleBox"),o;(o=e.next())!=null;){var s=i.getItemLayout(o),l=Vg(s);Bg(l,i,o,a),l.incremental=!0,this.group.add(l),this._progressiveEls.push(l)}},t.prototype._incrementalRenderLarge=function(e,n){nC(n,this.group,this._progressiveEls,!0)},t.prototype.remove=function(e){this._clear()},t.prototype._clear=function(){this.group.removeAll(),this._data=null},t.type="candlestick",t}(ee),qq=function(){function r(){}return r}(),Kq=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="normalCandlestickBox",n}return t.prototype.getDefaultShape=function(){return new qq},t.prototype.buildPath=function(e,n){var i=n.points;this.__simpleBox?(e.moveTo(i[4][0],i[4][1]),e.lineTo(i[6][0],i[6][1])):(e.moveTo(i[0][0],i[0][1]),e.lineTo(i[1][0],i[1][1]),e.lineTo(i[2][0],i[2][1]),e.lineTo(i[3][0],i[3][1]),e.closePath(),e.moveTo(i[4][0],i[4][1]),e.lineTo(i[5][0],i[5][1]),e.moveTo(i[6][0],i[6][1]),e.lineTo(i[7][0],i[7][1]))},t}(Pt);function Vg(r,t,e){var n=r.ends;return new Kq({shape:{points:e?jq(n,r):n},z2:100})}function rC(r,t){for(var e=!0,n=0;nx?D[a]:C[a],ends:P,brushRect:z(b,w,_)})}function V(q,Q){var ct=[];return ct[i]=Q,ct[a]=q,isNaN(Q)||isNaN(q)?[NaN,NaN]:t.dataToPoint(ct)}function N(q,Q,ct){var ht=Q.slice(),gt=Q.slice();ht[i]=fh(ht[i]+n/2,1,!1),gt[i]=fh(gt[i]-n/2,1,!0),ct?q.push(ht,gt):q.push(gt,ht)}function z(q,Q,ct){var ht=V(q,ct),gt=V(Q,ct);return ht[i]-=n/2,gt[i]-=n/2,{x:ht[0],y:ht[1],width:n,height:gt[1]-ht[1]}}function $(q){return q[i]=fh(q[i],1),q}}function d(p,g){for(var y=Nn(p.count*4),m=0,_,S=[],x=[],b,w=g.getStore(),T=!!r.get(["itemStyle","borderColorDoji"]);(b=p.next())!=null;){var A=w.get(s,b),C=w.get(u,b),D=w.get(f,b),I=w.get(c,b),L=w.get(h,b);if(isNaN(A)||isNaN(I)||isNaN(L)){y[m++]=NaN,m+=3;continue}y[m++]=iC(w,b,C,D,f,T),S[i]=A,S[a]=I,_=t.dataToPoint(S,null,x),y[m++]=_?_[0]:NaN,y[m++]=_?_[1]:NaN,S[a]=L,_=t.dataToPoint(S,null,x),y[m++]=_?_[1]:NaN}g.setLayout("largePoints",y)}}};function iC(r,t,e,n,i,a){var o;return e>n?o=-1:e0?r.get(i,t-1)<=n?1:-1:1,o}function nK(r,t){var e=r.getBaseAxis(),n,i=e.type==="category"?e.getBandWidth():(n=e.getExtent(),Math.abs(n[1]-n[0])/t.count()),a=et(xt(r.get("barMaxWidth"),i),i),o=et(xt(r.get("barMinWidth"),1),i),s=r.get("barWidth");return s!=null?et(s,i):Math.max(Math.min(i/2,a),o)}const iK=rK;function aK(r){r.registerChartView(Qq),r.registerSeriesModel(tK),r.registerPreprocessor(eK),r.registerVisual(Yq),r.registerLayout(iK)}function aC(r,t){var e=t.rippleEffectColor||t.color;r.eachChild(function(n){n.attr({z:t.z,zlevel:t.zlevel,style:{stroke:t.brushType==="stroke"?e:null,fill:t.brushType==="fill"?e:null}})})}var oK=function(r){B(t,r);function t(e,n){var i=r.call(this)||this,a=new If(e,n),o=new _t;return i.add(a),i.add(o),i.updateData(e,n),i}return t.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},t.prototype.startEffectAnimation=function(e){for(var n=e.symbolType,i=e.color,a=e.rippleNumber,o=this.childAt(1),s=0;s0&&(s=this._getLineLength(a)/f*1e3),s!==this._period||l!==this._loop||u!==this._roundTrip){a.stopAnimation();var h=void 0;vt(c)?h=c(i):h=c,a.__t>0&&(h=-s*a.__t),this._animateSymbol(a,s,h,l,u)}this._period=s,this._loop=l,this._roundTrip=u}},t.prototype._animateSymbol=function(e,n,i,a,o){if(n>0){e.__t=0;var s=this,l=e.animate("",a).when(o?n*2:n,{__t:o?2:1}).delay(i).during(function(){s._updateSymbolPosition(e)});a||l.done(function(){s.remove(e)}),l.start()}},t.prototype._getLineLength=function(e){return $i(e.__p1,e.__cp1)+$i(e.__cp1,e.__p2)},t.prototype._updateAnimationPoints=function(e,n){e.__p1=n[0],e.__p2=n[1],e.__cp1=n[2]||[(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]},t.prototype.updateData=function(e,n,i){this.childAt(0).updateData(e,n,i),this._updateEffectSymbol(e,n)},t.prototype._updateSymbolPosition=function(e){var n=e.__p1,i=e.__p2,a=e.__cp1,o=e.__t<1?e.__t:2-e.__t,s=[e.x,e.y],l=s.slice(),u=Le,f=Fy;s[0]=u(n[0],a[0],i[0],o),s[1]=u(n[1],a[1],i[1],o);var c=e.__t<1?f(n[0],a[0],i[0],o):f(i[0],a[0],n[0],1-o),h=e.__t<1?f(n[1],a[1],i[1],o):f(i[1],a[1],n[1],1-o);e.rotation=-Math.atan2(h,c)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(e.__lastT!==void 0&&e.__lastT=0&&!(a[l]<=n);l--);l=Math.min(l,o-2)}else{for(l=s;ln);l++);l=Math.min(l-1,o-2)}var f=(n-a[l])/(a[l+1]-a[l]),c=i[l],h=i[l+1];e.x=c[0]*(1-f)+f*h[0],e.y=c[1]*(1-f)+f*h[1];var v=e.__t<1?h[0]-c[0]:c[0]-h[0],d=e.__t<1?h[1]-c[1]:c[1]-h[1];e.rotation=-Math.atan2(d,v)-Math.PI/2,this._lastFrame=l,this._lastFramePercent=n,e.ignore=!1}},t}(Ok);const gK=pK;var yK=function(){function r(){this.polyline=!1,this.curveness=0,this.segs=[]}return r}(),mK=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new yK},t.prototype.buildPath=function(e,n){var i=n.segs,a=n.curveness,o;if(n.polyline)for(o=this._off;o0){e.moveTo(i[o++],i[o++]);for(var l=1;l0){var v=(u+c)/2-(f-h)*a,d=(f+h)/2-(c-u)*a;e.quadraticCurveTo(v,d,c,h)}else e.lineTo(c,h)}this.incremental&&(this._off=o,this.notClear=!0)},t.prototype.findDataIndex=function(e,n){var i=this.shape,a=i.segs,o=i.curveness,s=this.style.lineWidth;if(i.polyline)for(var l=0,u=0;u0)for(var c=a[u++],h=a[u++],v=1;v0){var g=(c+d)/2-(h-p)*o,y=(h+p)/2-(d-c)*o;if(FL(c,h,g,y,d,p,s,e,n))return l}else if(Hi(c,h,d,p,s,e,n))return l;l++}return-1},t.prototype.contain=function(e,n){var i=this.transformCoordToLocal(e,n),a=this.getBoundingRect();if(e=i[0],n=i[1],a.contain(e,n)){var o=this.hoverDataIdx=this.findDataIndex(e,n);return o>=0}return this.hoverDataIdx=-1,!1},t.prototype.getBoundingRect=function(){var e=this._rect;if(!e){for(var n=this.shape,i=n.segs,a=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u0&&(o.dataIndex=l+t.__startIndex)})},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}();const SK=_K;var xK={seriesType:"lines",plan:sl(),reset:function(r){var t=r.coordinateSystem;if(t){var e=r.get("polyline"),n=r.pipelineContext.large;return{progress:function(i,a){var o=[];if(n){var s=void 0,l=i.end-i.start;if(e){for(var u=0,f=i.start;f0&&(f||u.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(l/10+.9,1),0)})),o.updateData(a);var c=e.get("clip",!0)&&Pf(e.coordinateSystem,!1,e);c?this.group.setClipPath(c):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},t.prototype.incrementalPrepareRender=function(e,n,i){var a=e.getData(),o=this._updateLineDraw(a,e);o.incrementalPrepareUpdate(a),this._clearLayer(i),this._finished=!1},t.prototype.incrementalRender=function(e,n,i){this._lineDraw.incrementalUpdate(e,n.getData()),this._finished=e.end===n.getData().count()},t.prototype.eachRendered=function(e){this._lineDraw&&this._lineDraw.eachRendered(e)},t.prototype.updateTransform=function(e,n,i){var a=e.getData(),o=e.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=Vk.reset(e,n,i);s.progress&&s.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(i)},t.prototype._updateLineDraw=function(e,n){var i=this._lineDraw,a=this._showEffect(n),o=!!n.get("polyline"),s=n.pipelineContext,l=s.large;return(!i||a!==this._hasEffet||o!==this._isPolyline||l!==this._isLargeDraw)&&(i&&i.remove(),i=this._lineDraw=l?new SK:new b1(o?a?gK:Nk:a?Ok:x1),this._hasEffet=a,this._isPolyline=o,this._isLargeDraw=l),this.group.add(i.group),i},t.prototype._showEffect=function(e){return!!e.get(["effect","show"])},t.prototype._clearLayer=function(e){var n=e.getZr(),i=n.painter.getType()==="svg";!i&&this._lastZlevel!=null&&n.painter.getLayer(this._lastZlevel).clear(!0)},t.prototype.remove=function(e,n){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(n)},t.prototype.dispose=function(e,n){this.remove(e,n)},t.type="lines",t}(ee);const wK=bK;var TK=typeof Uint32Array=="undefined"?Array:Uint32Array,AK=typeof Float64Array=="undefined"?Array:Float64Array;function oC(r){var t=r.data;t&&t[0]&&t[0][0]&&t[0][0].coord&&(r.data=Z(t,function(e){var n=[e[0].coord,e[1].coord],i={coords:n};return e[0].name&&(i.fromName=e[0].name),e[1].name&&(i.toName=e[1].name),q0([i,e[0],e[1]])}))}var CK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.visualStyleAccessPath="lineStyle",e.visualDrawType="stroke",e}return t.prototype.init=function(e){e.data=e.data||[],oC(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),r.prototype.init.apply(this,arguments)},t.prototype.mergeOption=function(e){if(oC(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}r.prototype.mergeOption.apply(this,arguments)},t.prototype.appendData=function(e){var n=this._processFlatCoordsArray(e.data);n.flatCoords&&(this._flatCoords?(this._flatCoords=Bu(this._flatCoords,n.flatCoords),this._flatCoordsOffset=Bu(this._flatCoordsOffset,n.flatCoordsOffset)):(this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset),e.data=new Float32Array(n.count)),this.getRawData().appendData(e.data)},t.prototype._getCoordsFromItemModel=function(e){var n=this.getData().getItemModel(e),i=n.option instanceof Array?n.option:n.getShallow("coords");return i},t.prototype.getLineCoordsCount=function(e){return this._flatCoordsOffset?this._flatCoordsOffset[e*2+1]:this._getCoordsFromItemModel(e).length},t.prototype.getLineCoords=function(e,n){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[e*2],a=this._flatCoordsOffset[e*2+1],o=0;o ")})},t.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},t.prototype.getProgressive=function(){var e=this.option.progressive;return e==null?this.option.large?1e4:this.get("progressive"):e},t.prototype.getProgressiveThreshold=function(){var e=this.option.progressiveThreshold;return e==null?this.option.large?2e4:this.get("progressiveThreshold"):e},t.prototype.getZLevelKey=function(){var e=this.getModel("effect"),n=e.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:e.get("show")&&n>0?n+"":""},t.type="series.lines",t.dependencies=["grid","polar","geo","calendar"],t.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},t}(le);const MK=CK;function Oc(r){return r instanceof Array||(r=[r,r]),r}var DK={seriesType:"lines",reset:function(r){var t=Oc(r.get("symbol")),e=Oc(r.get("symbolSize")),n=r.getData();n.setVisual("fromSymbol",t&&t[0]),n.setVisual("toSymbol",t&&t[1]),n.setVisual("fromSymbolSize",e&&e[0]),n.setVisual("toSymbolSize",e&&e[1]);function i(a,o){var s=a.getItemModel(o),l=Oc(s.getShallow("symbol",!0)),u=Oc(s.getShallow("symbolSize",!0));l[0]&&a.setItemVisual(o,"fromSymbol",l[0]),l[1]&&a.setItemVisual(o,"toSymbol",l[1]),u[0]&&a.setItemVisual(o,"fromSymbolSize",u[0]),u[1]&&a.setItemVisual(o,"toSymbolSize",u[1])}return{dataEach:n.hasItemOption?i:null}}};const IK=DK;function LK(r){r.registerChartView(wK),r.registerSeriesModel(MK),r.registerLayout(Vk),r.registerVisual(IK)}var PK=256,RK=function(){function r(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=ia.createCanvas();this.canvas=t}return r.prototype.update=function(t,e,n,i,a,o){var s=this._getBrush(),l=this._getGradient(a,"inRange"),u=this._getGradient(a,"outOfRange"),f=this.pointSize+this.blurSize,c=this.canvas,h=c.getContext("2d"),v=t.length;c.width=e,c.height=n;for(var d=0;d0){var I=o(_)?l:u;_>0&&(_=_*C+T),x[b++]=I[D],x[b++]=I[D+1],x[b++]=I[D+2],x[b++]=I[D+3]*_*256}else b+=4}return h.putImageData(S,0,0),c},r.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=ia.createCanvas()),e=this.pointSize+this.blurSize,n=e*2;t.width=n,t.height=n;var i=t.getContext("2d");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor="#000",i.beginPath(),i.arc(-e,e,this.pointSize,0,Math.PI*2,!0),i.closePath(),i.fill(),t},r.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,i=n[e]||(n[e]=new Uint8ClampedArray(256*4)),a=[0,0,0,0],o=0,s=0;s<256;s++)t[e](s/255,!0,a),i[o++]=a[0],i[o++]=a[1],i[o++]=a[2],i[o++]=a[3];return i},r}();const EK=RK;function kK(r,t,e){var n=r[1]-r[0];t=Z(t,function(o){return{interval:[(o.interval[0]-r[0])/n,(o.interval[1]-r[0])/n]}});var i=t.length,a=0;return function(o){var s;for(s=a;s=0;s--){var l=t[s].interval;if(l[0]<=o&&o<=l[1]){a=s;break}}return s>=0&&s=t[0]&&n<=t[1]}}function sC(r){var t=r.dimensions;return t[0]==="lng"&&t[1]==="lat"}var NK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a;n.eachComponent("visualMap",function(s){s.eachTargetSeries(function(l){l===e&&(a=s)})}),this._progressiveEls=null,this.group.removeAll();var o=e.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(e,i,0,e.getData().count()):sC(o)&&this._renderOnGeo(o,e,a,i)},t.prototype.incrementalPrepareRender=function(e,n,i){this.group.removeAll()},t.prototype.incrementalRender=function(e,n,i,a){var o=n.coordinateSystem;o&&(sC(o)?this.render(n,i,a):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(n,a,e.start,e.end,!0)))},t.prototype.eachRendered=function(e){pa(this._progressiveEls||this.group,e)},t.prototype._renderOnCartesianAndCalendar=function(e,n,i,a,o){var s=e.coordinateSystem,l=zo(s,"cartesian2d"),u,f,c,h;if(l){var v=s.getAxis("x"),d=s.getAxis("y");u=v.getBandWidth()+.5,f=d.getBandWidth()+.5,c=v.scale.getExtent(),h=d.scale.getExtent()}for(var p=this.group,g=e.getData(),y=e.getModel(["emphasis","itemStyle"]).getItemStyle(),m=e.getModel(["blur","itemStyle"]).getItemStyle(),_=e.getModel(["select","itemStyle"]).getItemStyle(),S=e.get(["itemStyle","borderRadius"]),x=De(e),b=e.getModel("emphasis"),w=b.get("focus"),T=b.get("blurScope"),A=b.get("disabled"),C=l?[g.mapDimension("x"),g.mapDimension("y"),g.mapDimension("value")]:[g.mapDimension("time"),g.mapDimension("value")],D=i;Dc[1]||Eh[1])continue;var O=s.dataToPoint([P,E]);I=new Vt({shape:{x:O[0]-u/2,y:O[1]-f/2,width:u,height:f},style:L})}else{if(isNaN(g.get(C[1],D)))continue;I=new Vt({z2:1,shape:s.dataToRect([g.get(C[0],D)]).contentShape,style:L})}if(g.hasItemOption){var V=g.getItemModel(D),N=V.getModel("emphasis");y=N.getModel("itemStyle").getItemStyle(),m=V.getModel(["blur","itemStyle"]).getItemStyle(),_=V.getModel(["select","itemStyle"]).getItemStyle(),S=V.get(["itemStyle","borderRadius"]),w=N.get("focus"),T=N.get("blurScope"),A=N.get("disabled"),x=De(V)}I.shape.r=S;var z=e.getRawValue(D),$="-";z&&z[2]!=null&&($=z[2]+""),Fe(I,x,{labelFetcher:e,labelDataIndex:D,defaultOpacity:L.opacity,defaultText:$}),I.ensureState("emphasis").style=y,I.ensureState("blur").style=m,I.ensureState("select").style=_,ue(I,w,T,A),I.incremental=o,o&&(I.states.emphasis.hoverLayer=!0),p.add(I),g.setItemGraphicEl(D,I),this._progressiveEls&&this._progressiveEls.push(I)}},t.prototype._renderOnGeo=function(e,n,i,a){var o=i.targetVisuals.inRange,s=i.targetVisuals.outOfRange,l=n.getData(),u=this._hmLayer||this._hmLayer||new EK;u.blurSize=n.get("blurSize"),u.pointSize=n.get("pointSize"),u.minOpacity=n.get("minOpacity"),u.maxOpacity=n.get("maxOpacity");var f=e.getViewRect().clone(),c=e.getRoamTransform();f.applyTransform(c);var h=Math.max(f.x,0),v=Math.max(f.y,0),d=Math.min(f.width+f.x,a.getWidth()),p=Math.min(f.height+f.y,a.getHeight()),g=d-h,y=p-v,m=[l.mapDimension("lng"),l.mapDimension("lat"),l.mapDimension("value")],_=l.mapArray(m,function(w,T,A){var C=e.dataToPoint([w,T]);return C[0]-=h,C[1]-=v,C.push(A),C}),S=i.getExtent(),x=i.type==="visualMap.continuous"?OK(S,i.option.range):kK(S,i.getPieceList(),i.option.selected);u.update(_,g,y,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},x);var b=new He({style:{width:g,height:y,x:h,y:v,image:u.canvas},silent:!0});this.group.add(b)},t.type="heatmap",t}(ee);const VK=NK;var BK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,n){return Ai(null,this,{generateCoord:"value"})},t.prototype.preventIncremental=function(){var e=Af.get(this.get("coordinateSystem"));if(e&&e.dimensions)return e.dimensions[0]==="lng"&&e.dimensions[1]==="lat"},t.type="series.heatmap",t.dependencies=["grid","geo","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},t}(le);const zK=BK;function GK(r){r.registerChartView(VK),r.registerSeriesModel(zK)}var FK=["itemStyle","borderWidth"],lC=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],Fg=new da,HK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=this.group,o=e.getData(),s=this._data,l=e.coordinateSystem,u=l.getBaseAxis(),f=u.isHorizontal(),c=l.master.getRect(),h={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:e,coordSys:l,coordSysExtent:[[c.x,c.x+c.width],[c.y,c.y+c.height]],isHorizontal:f,valueDim:lC[+f],categoryDim:lC[1-+f]};o.diff(s).add(function(d){if(o.hasValue(d)){var p=fC(o,d),g=uC(o,d,p,h),y=cC(o,h,g);o.setItemGraphicEl(d,y),a.add(y),vC(y,h,g)}}).update(function(d,p){var g=s.getItemGraphicEl(p);if(!o.hasValue(d)){a.remove(g);return}var y=fC(o,d),m=uC(o,d,y,h),_=Wk(o,m);g&&_!==g.__pictorialShapeStr&&(a.remove(g),o.setItemGraphicEl(d,null),g=null),g?qK(g,h,m):g=cC(o,h,m,!0),o.setItemGraphicEl(d,g),g.__pictorialSymbolMeta=m,a.add(g),vC(g,h,m)}).remove(function(d){var p=s.getItemGraphicEl(d);p&&hC(s,d,p.__pictorialSymbolMeta.animationModel,p)}).execute();var v=e.get("clip",!0)?Pf(e.coordinateSystem,!1,e):null;return v?a.setClipPath(v):a.removeClipPath(),this._data=o,this.group},t.prototype.remove=function(e,n){var i=this.group,a=this._data;e.get("animation")?a&&a.eachItemGraphicEl(function(o){hC(a,St(o).dataIndex,e,o)}):i.removeAll()},t.type="pictorialBar",t}(ee);function uC(r,t,e,n){var i=r.getItemLayout(t),a=e.get("symbolRepeat"),o=e.get("symbolClip"),s=e.get("symbolPosition")||"start",l=e.get("symbolRotate"),u=(l||0)*Math.PI/180||0,f=e.get("symbolPatternSize")||2,c=e.isAnimationEnabled(),h={dataIndex:t,layout:i,itemModel:e,symbolType:r.getItemVisual(t,"symbol")||"circle",style:r.getItemVisual(t,"style"),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:e.get("symbolRepeatDirection"),symbolPatternSize:f,rotation:u,animationModel:c?e:null,hoverScale:c&&e.get(["emphasis","scale"]),z2:e.getShallow("z",!0)||0};WK(e,a,i,n,h),$K(r,t,i,a,o,h.boundingLength,h.pxSign,f,n,h),UK(e,h.symbolScale,u,n,h);var v=h.symbolSize,d=Vo(e.get("symbolOffset"),v);return YK(e,v,i,a,o,d,s,h.valueLineWidth,h.boundingLength,h.repeatCutLength,n,h),h}function WK(r,t,e,n,i){var a=n.valueDim,o=r.get("symbolBoundingData"),s=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),l=s.toGlobalCoord(s.dataToCoord(0)),u=1-+(e[a.wh]<=0),f;if(Y(o)){var c=[Hg(s,o[0])-l,Hg(s,o[1])-l];c[1]=0?1:-1:f>0?1:-1}function Hg(r,t){return r.toGlobalCoord(r.dataToCoord(r.scale.parse(t)))}function $K(r,t,e,n,i,a,o,s,l,u){var f=l.valueDim,c=l.categoryDim,h=Math.abs(e[c.wh]),v=r.getItemVisual(t,"symbolSize"),d;Y(v)?d=v.slice():v==null?d=["100%","100%"]:d=[v,v],d[c.index]=et(d[c.index],h),d[f.index]=et(d[f.index],n?h:Math.abs(a)),u.symbolSize=d;var p=u.symbolScale=[d[0]/s,d[1]/s];p[f.index]*=(l.isHorizontal?-1:1)*o}function UK(r,t,e,n,i){var a=r.get(FK)||0;a&&(Fg.attr({scaleX:t[0],scaleY:t[1],rotation:e}),Fg.updateTransform(),a/=Fg.getLineScale(),a*=t[n.valueDim.index]),i.valueLineWidth=a||0}function YK(r,t,e,n,i,a,o,s,l,u,f,c){var h=f.categoryDim,v=f.valueDim,d=c.pxSign,p=Math.max(t[v.index]+s,0),g=p;if(n){var y=Math.abs(l),m=Re(r.get("symbolMargin"),"15%")+"",_=!1;m.lastIndexOf("!")===m.length-1&&(_=!0,m=m.slice(0,m.length-1));var S=et(m,t[v.index]),x=Math.max(p+S*2,0),b=_?0:S*2,w=ML(n),T=w?n:dC((y+b)/x),A=y-T*p;S=A/2/(_?T:Math.max(T-1,1)),x=p+S*2,b=_?0:S*2,!w&&n!=="fixed"&&(T=u?dC((Math.abs(u)+b)/x):0),g=T*x-b,c.repeatTimes=T,c.symbolMargin=S}var C=d*(g/2),D=c.pathPosition=[];D[h.index]=e[h.wh]/2,D[v.index]=o==="start"?C:o==="end"?l-C:l/2,a&&(D[0]+=a[0],D[1]+=a[1]);var I=c.bundlePosition=[];I[h.index]=e[h.xy],I[v.index]=e[v.xy];var L=c.barRectShape=F({},e);L[v.wh]=d*Math.max(Math.abs(e[v.wh]),Math.abs(D[v.index]+C)),L[h.wh]=e[h.wh];var P=c.clipShape={};P[h.xy]=-e[h.xy],P[h.wh]=f.ecSize[h.wh],P[v.xy]=0,P[v.wh]=e[v.wh]}function Bk(r){var t=r.symbolPatternSize,e=me(r.symbolType,-t/2,-t/2,t,t);return e.attr({culling:!0}),e.type!=="image"&&e.setStyle({strokeNoScale:!0}),e}function zk(r,t,e,n){var i=r.__pictorialBundle,a=e.symbolSize,o=e.valueLineWidth,s=e.pathPosition,l=t.valueDim,u=e.repeatTimes||0,f=0,c=a[t.valueDim.index]+o+e.symbolMargin*2;for(R1(r,function(p){p.__pictorialAnimationIndex=f,p.__pictorialRepeatTimes=u,f0:y<0)&&(m=u-1-p),g[l.index]=c*(m-u/2+.5)+s[l.index],{x:g[0],y:g[1],scaleX:e.symbolScale[0],scaleY:e.symbolScale[1],rotation:e.rotation}}}function Gk(r,t,e,n){var i=r.__pictorialBundle,a=r.__pictorialMainPath;a?Es(a,null,{x:e.pathPosition[0],y:e.pathPosition[1],scaleX:e.symbolScale[0],scaleY:e.symbolScale[1],rotation:e.rotation},e,n):(a=r.__pictorialMainPath=Bk(e),i.add(a),Es(a,{x:e.pathPosition[0],y:e.pathPosition[1],scaleX:0,scaleY:0,rotation:e.rotation},{scaleX:e.symbolScale[0],scaleY:e.symbolScale[1]},e,n))}function Fk(r,t,e){var n=F({},t.barRectShape),i=r.__pictorialBarRect;i?Es(i,null,{shape:n},t,e):(i=r.__pictorialBarRect=new Vt({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),i.disableMorphing=!0,r.add(i))}function Hk(r,t,e,n){if(e.symbolClip){var i=r.__pictorialClipPath,a=F({},e.clipShape),o=t.valueDim,s=e.animationModel,l=e.dataIndex;if(i)Ht(i,{shape:a},s,l);else{a[o.wh]=0,i=new Vt({shape:a}),r.__pictorialBundle.setClipPath(i),r.__pictorialClipPath=i;var u={};u[o.wh]=e.clipShape[o.wh],Oo[n?"updateProps":"initProps"](i,{shape:u},s,l)}}}function fC(r,t){var e=r.getItemModel(t);return e.getAnimationDelayParams=ZK,e.isAnimationEnabled=XK,e}function ZK(r){return{index:r.__pictorialAnimationIndex,count:r.__pictorialRepeatTimes}}function XK(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function cC(r,t,e,n){var i=new _t,a=new _t;return i.add(a),i.__pictorialBundle=a,a.x=e.bundlePosition[0],a.y=e.bundlePosition[1],e.symbolRepeat?zk(i,t,e):Gk(i,t,e),Fk(i,e,n),Hk(i,t,e,n),i.__pictorialShapeStr=Wk(r,e),i.__pictorialSymbolMeta=e,i}function qK(r,t,e){var n=e.animationModel,i=e.dataIndex,a=r.__pictorialBundle;Ht(a,{x:e.bundlePosition[0],y:e.bundlePosition[1]},n,i),e.symbolRepeat?zk(r,t,e,!0):Gk(r,t,e,!0),Fk(r,e,!0),Hk(r,t,e,!0)}function hC(r,t,e,n){var i=n.__pictorialBarRect;i&&i.removeTextContent();var a=[];R1(n,function(o){a.push(o)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(e=null),M(a,function(o){oa(o,{scaleX:0,scaleY:0},e,t,function(){n.parent&&n.parent.remove(n)})}),r.setItemGraphicEl(t,null)}function Wk(r,t){return[r.getItemVisual(t.dataIndex,"symbol")||"none",!!t.symbolRepeat,!!t.symbolClip].join(":")}function R1(r,t,e){M(r.__pictorialBundle.children(),function(n){n!==r.__pictorialBarRect&&t.call(e,n)})}function Es(r,t,e,n,i,a){t&&r.attr(t),n.symbolClip&&!i?e&&r.attr(e):e&&Oo[i?"updateProps":"initProps"](r,e,n.animationModel,n.dataIndex,a)}function vC(r,t,e){var n=e.dataIndex,i=e.itemModel,a=i.getModel("emphasis"),o=a.getModel("itemStyle").getItemStyle(),s=i.getModel(["blur","itemStyle"]).getItemStyle(),l=i.getModel(["select","itemStyle"]).getItemStyle(),u=i.getShallow("cursor"),f=a.get("focus"),c=a.get("blurScope"),h=a.get("scale");R1(r,function(p){if(p instanceof He){var g=p.style;p.useStyle(F({image:g.image,x:g.x,y:g.y,width:g.width,height:g.height},e.style))}else p.useStyle(e.style);var y=p.ensureState("emphasis");y.style=o,h&&(y.scaleX=p.scaleX*1.1,y.scaleY=p.scaleY*1.1),p.ensureState("blur").style=s,p.ensureState("select").style=l,u&&(p.cursor=u),p.z2=e.z2});var v=t.valueDim.posDesc[+(e.boundingLength>0)],d=r.__pictorialBarRect;d.ignoreClip=!0,Fe(d,De(i),{labelFetcher:t.seriesModel,labelDataIndex:n,defaultText:$s(t.seriesModel.getData(),n),inheritColor:e.style.fill,defaultOpacity:e.style.opacity,defaultOutsidePosition:v}),ue(r,f,c,a.get("disabled"))}function dC(r){var t=Math.round(r);return Math.abs(r-t)<1e-4?t:Math.ceil(r)}const KK=HK;var jK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.hasSymbolVisual=!0,e.defaultSymbol="roundRect",e}return t.prototype.getInitialData=function(e){return e.stack=null,r.prototype.getInitialData.apply(this,arguments)},t.type="series.pictorialBar",t.dependencies=["grid"],t.defaultOption=ga(sv.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),t}(sv);const JK=jK;function QK(r){r.registerChartView(KK),r.registerSeriesModel(JK),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,bt(xR,"pictorialBar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,bR("pictorialBar"))}var tj=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._layers=[],e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this,s=this.group,l=e.getLayerSeries(),u=a.getLayout("layoutInfo"),f=u.rect,c=u.boundaryGap;s.x=0,s.y=f.y+c[0];function h(g){return g.name}var v=new Si(this._layersSeries||[],l,h,h),d=[];v.add(at(p,this,"add")).update(at(p,this,"update")).remove(at(p,this,"remove")).execute();function p(g,y,m){var _=o._layers;if(g==="remove"){s.remove(_[y]);return}for(var S=[],x=[],b,w=l[y].indices,T=0;Ta&&(a=s),n.push(s)}for(var u=0;ua&&(a=c)}return{y0:i,max:a}}function sj(r){r.registerChartView(rj),r.registerSeriesModel(ij),r.registerLayout(aj),r.registerProcessor(Ef("themeRiver"))}var lj=2,uj=4,fj=function(r){B(t,r);function t(e,n,i,a){var o=r.call(this)||this;o.z2=lj,o.textConfig={inside:!0},St(o).seriesIndex=n.seriesIndex;var s=new Gt({z2:uj,silent:e.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,e,n,i,a),o}return t.prototype.updateData=function(e,n,i,a,o){this.node=n,n.piece=this,i=i||this._seriesModel,a=a||this._ecModel;var s=this;St(s).dataIndex=n.dataIndex;var l=n.getModel(),u=l.getModel("emphasis"),f=n.getLayout(),c=F({},f);c.label=null;var h=n.getVisual("style");h.lineJoin="bevel";var v=n.getVisual("decal");v&&(h.decal=Hs(v,o));var d=fo(l.getModel("itemStyle"),c,!0);F(c,d),M(lr,function(m){var _=s.ensureState(m),S=l.getModel([m,"itemStyle"]);_.style=S.getItemStyle();var x=fo(S,c);x&&(_.shape=x)}),e?(s.setShape(c),s.shape.r=f.r0,ae(s,{shape:{r:f.r}},i,n.dataIndex)):(Ht(s,{shape:c},i),pn(s)),s.useStyle(h),this._updateLabel(i);var p=l.getShallow("cursor");p&&s.attr("cursor",p),this._seriesModel=i||this._seriesModel,this._ecModel=a||this._ecModel;var g=u.get("focus"),y=g==="relative"?Bu(n.getAncestorsIndices(),n.getDescendantIndices()):g==="ancestor"?n.getAncestorsIndices():g==="descendant"?n.getDescendantIndices():g;ue(this,y,u.get("blurScope"),u.get("disabled"))},t.prototype._updateLabel=function(e){var n=this,i=this.node.getModel(),a=i.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,l=(o.startAngle+o.endAngle)/2,u=Math.cos(l),f=Math.sin(l),c=this,h=c.getTextContent(),v=this.node.dataIndex,d=a.get("minAngle")/180*Math.PI,p=a.get("show")&&!(d!=null&&Math.abs(s)P&&!Hu(O-P)&&O0?(o.virtualPiece?o.virtualPiece.updateData(!1,m,e,n,i):(o.virtualPiece=new gC(m,e,n,i),f.add(o.virtualPiece)),_.piece.off("click"),o.virtualPiece.on("click",function(S){o._rootToNode(_.parentNode)})):o.virtualPiece&&(f.remove(o.virtualPiece),o.virtualPiece=null)}},t.prototype._initEvents=function(){var e=this;this.group.off("click"),this.group.on("click",function(n){var i=!1,a=e.seriesModel.getViewRoot();a.eachNode(function(o){if(!i&&o.piece&&o.piece===n.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")e._rootToNode(o);else if(s==="link"){var l=o.getModel(),u=l.get("link");if(u){var f=l.get("target",!0)||"_blank";Xh(u,f)}}i=!0}})})},t.prototype._rootToNode=function(e){e!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:t0,from:this.uid,seriesId:this.seriesModel.id,targetNode:e})},t.prototype.containPoint=function(e,n){var i=n.getData(),a=i.getItemLayout(0);if(a){var o=e[0]-a.cx,s=e[1]-a.cy,l=Math.sqrt(o*o+s*s);return l<=a.r&&l>=a.r0}},t.type="sunburst",t}(ee);const dj=vj;var pj=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.ignoreStyleOnData=!0,e}return t.prototype.getInitialData=function(e,n){var i={name:e.name,children:e.data};$k(i);var a=this._levelModels=Z(e.levels||[],function(l){return new te(l,this,n)},this),o=d1.createTree(i,this,s);function s(l){l.wrapMethod("getItemModel",function(u,f){var c=o.getNodeByDataIndex(f),h=a[c.depth];return h&&(u.parentModel=h),u})}return o.data},t.prototype.optionUpdated=function(){this.resetViewRoot()},t.prototype.getDataParams=function(e){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=Ad(i,this),n},t.prototype.getLevelModel=function(e){return this._levelModels&&this._levelModels[e.depth]},t.prototype.getViewRoot=function(){return this._viewRoot},t.prototype.resetViewRoot=function(e){e?this._viewRoot=e:e=this._viewRoot;var n=this.getRawData().tree.root;(!e||e!==n&&!n.contains(e))&&(this._viewRoot=n)},t.prototype.enableAriaDecal=function(){XE(this)},t.type="series.sunburst",t.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},t}(le);function $k(r){var t=0;M(r.children,function(n){$k(n);var i=n.value;Y(i)&&(i=i[0]),t+=i});var e=r.value;Y(e)&&(e=e[0]),(e==null||isNaN(e))&&(e=t),e<0&&(e=0),Y(r.value)?r.value[0]=e:r.value=e}const gj=pj;var mC=Math.PI/180;function yj(r,t,e){t.eachSeriesByType(r,function(n){var i=n.get("center"),a=n.get("radius");Y(a)||(a=[0,a]),Y(i)||(i=[i,i]);var o=e.getWidth(),s=e.getHeight(),l=Math.min(o,s),u=et(i[0],o),f=et(i[1],s),c=et(a[0],l/2),h=et(a[1],l/2),v=-n.get("startAngle")*mC,d=n.get("minAngle")*mC,p=n.getData().tree.root,g=n.getViewRoot(),y=g.depth,m=n.get("sort");m!=null&&Uk(g,m);var _=0;M(g.children,function(O){!isNaN(O.getValue())&&_++});var S=g.getValue(),x=Math.PI/(S||_)*2,b=g.depth>0,w=g.height-(b?-1:1),T=(h-c)/(w||1),A=n.get("clockwise"),C=n.get("stillShowZeroSum"),D=A?1:-1,I=function(O,V){if(O){var N=V;if(O!==p){var z=O.getValue(),$=S===0&&C?x:z*x;$1;)o=o.parentNode;var s=i.getColorFromPalette(o.name||o.dataIndex+"",t);return n.depth>1&&nt(s)&&(s=$y(s,(n.depth-1)/(a-1)*.5)),s}r.eachSeriesByType("sunburst",function(n){var i=n.getData(),a=i.tree;a.eachNode(function(o){var s=o.getModel(),l=s.getModel("itemStyle").getItemStyle();l.fill||(l.fill=e(o,n,a.root.height));var u=i.ensureUniqueItemVisual(o.dataIndex,"style");F(u,l)})})}function Sj(r){r.registerChartView(dj),r.registerSeriesModel(gj),r.registerLayout(bt(yj,"sunburst")),r.registerProcessor(bt(Ef,"sunburst")),r.registerVisual(_j),hj(r)}var _C={color:"fill",borderColor:"stroke"},xj={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},fi=Nt(),bj=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},t.prototype.getInitialData=function(e,n){return Ai(null,this)},t.prototype.getDataParams=function(e,n,i){var a=r.prototype.getDataParams.call(this,e,n);return i&&(a.info=fi(i).info),a},t.type="series.custom",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},t}(le);const wj=bj;function Tj(r,t){return t=t||[0,0],Z(["x","y"],function(e,n){var i=this.getAxis(e),a=t[n],o=r[n]/2;return i.type==="category"?i.getBandWidth():Math.abs(i.dataToCoord(a-o)-i.dataToCoord(a+o))},this)}function Aj(r){var t=r.master.getRect();return{coordSys:{type:"cartesian2d",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(e){return r.dataToPoint(e)},size:at(Tj,r)}}}function Cj(r,t){return t=t||[0,0],Z([0,1],function(e){var n=t[e],i=r[e]/2,a=[],o=[];return a[e]=n-i,o[e]=n+i,a[1-e]=o[1-e]=t[1-e],Math.abs(this.dataToPoint(a)[e]-this.dataToPoint(o)[e])},this)}function Mj(r){var t=r.getBoundingRect();return{coordSys:{type:"geo",x:t.x,y:t.y,width:t.width,height:t.height,zoom:r.getZoom()},api:{coord:function(e){return r.dataToPoint(e)},size:at(Cj,r)}}}function Dj(r,t){var e=this.getAxis(),n=t instanceof Array?t[0]:t,i=(r instanceof Array?r[0]:r)/2;return e.type==="category"?e.getBandWidth():Math.abs(e.dataToCoord(n-i)-e.dataToCoord(n+i))}function Ij(r){var t=r.getRect();return{coordSys:{type:"singleAxis",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(e){return r.dataToPoint(e)},size:at(Dj,r)}}}function Lj(r,t){return t=t||[0,0],Z(["Radius","Angle"],function(e,n){var i="get"+e+"Axis",a=this[i](),o=t[n],s=r[n]/2,l=a.type==="category"?a.getBandWidth():Math.abs(a.dataToCoord(o-s)-a.dataToCoord(o+s));return e==="Angle"&&(l=l*Math.PI/180),l},this)}function Pj(r){var t=r.getRadiusAxis(),e=r.getAngleAxis(),n=t.getExtent();return n[0]>n[1]&&n.reverse(),{coordSys:{type:"polar",cx:r.cx,cy:r.cy,r:n[1],r0:n[0]},api:{coord:function(i){var a=t.dataToRadius(i[0]),o=e.dataToAngle(i[1]),s=r.coordToPoint([a,o]);return s.push(a,o*Math.PI/180),s},size:at(Lj,r)}}}function Rj(r){var t=r.getRect(),e=r.getRangeInfo();return{coordSys:{type:"calendar",x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:r.getCellWidth(),cellHeight:r.getCellHeight(),rangeInfo:{start:e.start,end:e.end,weeks:e.weeks,dayCount:e.allDay}},api:{coord:function(n,i){return r.dataToPoint(n,i)}}}}function Yk(r,t,e,n){return r&&(r.legacy||r.legacy!==!1&&!e&&!n&&t!=="tspan"&&(t==="text"||st(r,"text")))}function Zk(r,t,e){var n=r,i,a,o;if(t==="text")o=n;else{o={},st(n,"text")&&(o.text=n.text),st(n,"rich")&&(o.rich=n.rich),st(n,"textFill")&&(o.fill=n.textFill),st(n,"textStroke")&&(o.stroke=n.textStroke),st(n,"fontFamily")&&(o.fontFamily=n.fontFamily),st(n,"fontSize")&&(o.fontSize=n.fontSize),st(n,"fontStyle")&&(o.fontStyle=n.fontStyle),st(n,"fontWeight")&&(o.fontWeight=n.fontWeight),a={type:"text",style:o,silent:!0},i={};var s=st(n,"textPosition");e?i.position=s?n.textPosition:"inside":s&&(i.position=n.textPosition),st(n,"textPosition")&&(i.position=n.textPosition),st(n,"textOffset")&&(i.offset=n.textOffset),st(n,"textRotation")&&(i.rotation=n.textRotation),st(n,"textDistance")&&(i.distance=n.textDistance)}return SC(o,r),M(o.rich,function(l){SC(l,l)}),{textConfig:i,textContent:a}}function SC(r,t){t&&(t.font=t.textFont||t.font,st(t,"textStrokeWidth")&&(r.lineWidth=t.textStrokeWidth),st(t,"textAlign")&&(r.align=t.textAlign),st(t,"textVerticalAlign")&&(r.verticalAlign=t.textVerticalAlign),st(t,"textLineHeight")&&(r.lineHeight=t.textLineHeight),st(t,"textWidth")&&(r.width=t.textWidth),st(t,"textHeight")&&(r.height=t.textHeight),st(t,"textBackgroundColor")&&(r.backgroundColor=t.textBackgroundColor),st(t,"textPadding")&&(r.padding=t.textPadding),st(t,"textBorderColor")&&(r.borderColor=t.textBorderColor),st(t,"textBorderWidth")&&(r.borderWidth=t.textBorderWidth),st(t,"textBorderRadius")&&(r.borderRadius=t.textBorderRadius),st(t,"textBoxShadowColor")&&(r.shadowColor=t.textBoxShadowColor),st(t,"textBoxShadowBlur")&&(r.shadowBlur=t.textBoxShadowBlur),st(t,"textBoxShadowOffsetX")&&(r.shadowOffsetX=t.textBoxShadowOffsetX),st(t,"textBoxShadowOffsetY")&&(r.shadowOffsetY=t.textBoxShadowOffsetY))}function xC(r,t,e){var n=r;n.textPosition=n.textPosition||e.position||"inside",e.offset!=null&&(n.textOffset=e.offset),e.rotation!=null&&(n.textRotation=e.rotation),e.distance!=null&&(n.textDistance=e.distance);var i=n.textPosition.indexOf("inside")>=0,a=r.fill||"#000";bC(n,t);var o=n.textFill==null;return i?o&&(n.textFill=e.insideFill||"#fff",!n.textStroke&&e.insideStroke&&(n.textStroke=e.insideStroke),!n.textStroke&&(n.textStroke=a),n.textStrokeWidth==null&&(n.textStrokeWidth=2)):(o&&(n.textFill=r.fill||e.outsideFill||"#000"),!n.textStroke&&e.outsideStroke&&(n.textStroke=e.outsideStroke)),n.text=t.text,n.rich=t.rich,M(t.rich,function(s){bC(s,s)}),n}function bC(r,t){t&&(st(t,"fill")&&(r.textFill=t.fill),st(t,"stroke")&&(r.textStroke=t.fill),st(t,"lineWidth")&&(r.textStrokeWidth=t.lineWidth),st(t,"font")&&(r.font=t.font),st(t,"fontStyle")&&(r.fontStyle=t.fontStyle),st(t,"fontWeight")&&(r.fontWeight=t.fontWeight),st(t,"fontSize")&&(r.fontSize=t.fontSize),st(t,"fontFamily")&&(r.fontFamily=t.fontFamily),st(t,"align")&&(r.textAlign=t.align),st(t,"verticalAlign")&&(r.textVerticalAlign=t.verticalAlign),st(t,"lineHeight")&&(r.textLineHeight=t.lineHeight),st(t,"width")&&(r.textWidth=t.width),st(t,"height")&&(r.textHeight=t.height),st(t,"backgroundColor")&&(r.textBackgroundColor=t.backgroundColor),st(t,"padding")&&(r.textPadding=t.padding),st(t,"borderColor")&&(r.textBorderColor=t.borderColor),st(t,"borderWidth")&&(r.textBorderWidth=t.borderWidth),st(t,"borderRadius")&&(r.textBorderRadius=t.borderRadius),st(t,"shadowColor")&&(r.textBoxShadowColor=t.shadowColor),st(t,"shadowBlur")&&(r.textBoxShadowBlur=t.shadowBlur),st(t,"shadowOffsetX")&&(r.textBoxShadowOffsetX=t.shadowOffsetX),st(t,"shadowOffsetY")&&(r.textBoxShadowOffsetY=t.shadowOffsetY),st(t,"textShadowColor")&&(r.textShadowColor=t.textShadowColor),st(t,"textShadowBlur")&&(r.textShadowBlur=t.textShadowBlur),st(t,"textShadowOffsetX")&&(r.textShadowOffsetX=t.textShadowOffsetX),st(t,"textShadowOffsetY")&&(r.textShadowOffsetY=t.textShadowOffsetY))}var Xk={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},wC=kt(Xk);Fn(Wn,function(r,t){return r[t]=1,r},{});Wn.join(", ");var pv=["","style","shape","extra"],Zs=Nt();function E1(r,t,e,n,i){var a=r+"Animation",o=tl(r,n,i)||{},s=Zs(t).userDuring;return o.duration>0&&(o.during=s?at(Vj,{el:t,userDuring:s}):null,o.setToFinal=!0,o.scope=r),F(o,e[a]),o}function gh(r,t,e,n){n=n||{};var i=n.dataIndex,a=n.isInit,o=n.clearStyle,s=e.isAnimationEnabled(),l=Zs(r),u=t.style;l.userDuring=t.during;var f={},c={};if(zj(r,t,c),AC("shape",t,c),AC("extra",t,c),!a&&s&&(Bj(r,t,f),TC("shape",r,t,f),TC("extra",r,t,f),Gj(r,t,u,f)),c.style=u,Ej(r,c,o),Oj(r,t),s)if(a){var h={};M(pv,function(d){var p=d?t[d]:t;p&&p.enterFrom&&(d&&(h[d]=h[d]||{}),F(d?h[d]:h,p.enterFrom))});var v=E1("enter",r,t,e,i);v.duration>0&&r.animateFrom(h,v)}else kj(r,t,i||0,e,f);qk(r,t),u?r.dirty():r.markRedraw()}function qk(r,t){for(var e=Zs(r).leaveToProps,n=0;n0&&r.animateFrom(i,a)}}function Oj(r,t){st(t,"silent")&&(r.silent=t.silent),st(t,"ignore")&&(r.ignore=t.ignore),r instanceof Yr&&st(t,"invisible")&&(r.invisible=t.invisible),r instanceof Pt&&st(t,"autoBatch")&&(r.autoBatch=t.autoBatch)}var An={},Nj={setTransform:function(r,t){return An.el[r]=t,this},getTransform:function(r){return An.el[r]},setShape:function(r,t){var e=An.el,n=e.shape||(e.shape={});return n[r]=t,e.dirtyShape&&e.dirtyShape(),this},getShape:function(r){var t=An.el.shape;if(t)return t[r]},setStyle:function(r,t){var e=An.el,n=e.style;return n&&(n[r]=t,e.dirtyStyle&&e.dirtyStyle()),this},getStyle:function(r){var t=An.el.style;if(t)return t[r]},setExtra:function(r,t){var e=An.el.extra||(An.el.extra={});return e[r]=t,this},getExtra:function(r){var t=An.el.extra;if(t)return t[r]}};function Vj(){var r=this,t=r.el;if(t){var e=Zs(t).userDuring,n=r.userDuring;if(e!==n){r.el=r.userDuring=null;return}An.el=t,n(Nj)}}function TC(r,t,e,n){var i=e[r];if(i){var a=t[r],o;if(a){var s=e.transition,l=i.transition;if(l)if(!o&&(o=n[r]={}),To(l))F(o,a);else for(var u=Zt(l),f=0;f=0){!o&&(o=n[r]={});for(var v=kt(a),f=0;f=0)){var h=r.getAnimationStyleProps(),v=h?h.style:null;if(v){!a&&(a=n.style={});for(var d=kt(e),u=0;u=0?t.getStore().get(V,E):void 0}var N=t.get(O.name,E),z=O&&O.ordinalMeta;return z?z.categories[N]:N}function b(P,E){E==null&&(E=u);var O=t.getItemVisual(E,"style"),V=O&&O.fill,N=O&&O.opacity,z=m(E,ji).getItemStyle();V!=null&&(z.fill=V),N!=null&&(z.opacity=N);var $={inheritColor:nt(V)?V:"#000"},q=_(E,ji),Q=Qt(q,null,$,!1,!0);Q.text=q.getShallow("show")?xt(r.getFormattedLabel(E,ji),$s(t,E)):null;var ct=Yh(q,$,!1);return A(P,z),z=xC(z,Q,ct),P&&T(z,P),z.legacy=!0,z}function w(P,E){E==null&&(E=u);var O=m(E,ci).getItemStyle(),V=_(E,ci),N=Qt(V,null,null,!0,!0);N.text=V.getShallow("show")?Bn(r.getFormattedLabel(E,ci),r.getFormattedLabel(E,ji),$s(t,E)):null;var z=Yh(V,null,!0);return A(P,O),O=xC(O,N,z),P&&T(O,P),O.legacy=!0,O}function T(P,E){for(var O in E)st(E,O)&&(P[O]=E[O])}function A(P,E){P&&(P.textFill&&(E.textFill=P.textFill),P.textPosition&&(E.textPosition=P.textPosition))}function C(P,E){if(E==null&&(E=u),st(_C,P)){var O=t.getItemVisual(E,"style");return O?O[_C[P]]:null}if(st(xj,P))return t.getItemVisual(E,P)}function D(P){if(a.type==="cartesian2d"){var E=a.getBaseAxis();return j$(pt({axis:E},P))}}function I(){return e.getCurrentSeriesIndices()}function L(P){return b_(P,e)}}function jj(r){var t={};return M(r.dimensions,function(e){var n=r.getDimensionInfo(e);if(!n.isExtraCoord){var i=n.coordDim,a=t[i]=t[i]||[];a[n.coordDimIndex]=r.getDimensionIndex(e)}}),t}function Yg(r,t,e,n,i,a,o){if(!n){a.remove(t);return}var s=B1(r,t,e,n,i,a);return s&&o.setItemGraphicEl(e,s),s&&ue(s,n.focus,n.blurScope,n.emphasisDisabled),s}function B1(r,t,e,n,i,a){var o=-1,s=t;t&&Qk(t,n,i)&&(o=Dt(a.childrenRef(),t),t=null);var l=!t,u=t;u?u.clearStates():(u=N1(n),s&&Yj(s,u)),n.morph===!1?u.disableMorphing=!0:u.disableMorphing&&(u.disableMorphing=!1),Er.normal.cfg=Er.normal.conOpt=Er.emphasis.cfg=Er.emphasis.conOpt=Er.blur.cfg=Er.blur.conOpt=Er.select.cfg=Er.select.conOpt=null,Er.isLegacy=!1,Qj(u,e,n,i,l,Er),Jj(u,e,n,i,l),V1(r,u,e,n,Er,i,l),st(n,"info")&&(fi(u).info=n.info);for(var f=0;f=0?a.replaceAt(u,o):a.add(u),u}function Qk(r,t,e){var n=fi(r),i=t.type,a=t.shape,o=t.style;return e.isUniversalTransitionEnabled()||i!=null&&i!==n.customGraphicType||i==="path"&&iJ(a)&&tO(a)!==n.customPathData||i==="image"&&st(o,"image")&&o.image!==n.customImagePath}function Jj(r,t,e,n,i){var a=e.clipPath;if(a===!1)r&&r.getClipPath()&&r.removeClipPath();else if(a){var o=r.getClipPath();o&&Qk(o,a,n)&&(o=null),o||(o=N1(a),r.setClipPath(o)),V1(null,o,t,a,null,n,i)}}function Qj(r,t,e,n,i,a){if(!r.isGroup){MC(e,null,a),MC(e,ci,a);var o=a.normal.conOpt,s=a.emphasis.conOpt,l=a.blur.conOpt,u=a.select.conOpt;if(o!=null||s!=null||u!=null||l!=null){var f=r.getTextContent();if(o===!1)f&&r.removeTextContent();else{o=a.normal.conOpt=o||{type:"text"},f?f.clearStates():(f=N1(o),r.setTextContent(f)),V1(null,f,t,o,null,n,i);for(var c=o&&o.style,h=0;h=f;v--){var d=t.childAt(v);eJ(t,d,i)}}}function eJ(r,t,e){t&&Dd(t,fi(r).option,e)}function rJ(r){new Si(r.oldChildren,r.newChildren,DC,DC,r).add(IC).update(IC).remove(nJ).execute()}function DC(r,t){var e=r&&r.name;return e!=null?e:$j+t}function IC(r,t){var e=this.context,n=r!=null?e.newChildren[r]:null,i=t!=null?e.oldChildren[t]:null;B1(e.api,i,e.dataIndex,n,e.seriesModel,e.group)}function nJ(r){var t=this.context,e=t.oldChildren[r];e&&Dd(e,fi(e).option,t.seriesModel)}function tO(r){return r&&(r.pathData||r.d)}function iJ(r){return r&&(st(r,"pathData")||st(r,"d"))}function aJ(r){r.registerChartView(Xj),r.registerSeriesModel(wj)}var Qa=Nt(),LC=mt,Zg=at,oJ=function(){function r(){this._dragging=!1,this.animationThreshold=15}return r.prototype.render=function(t,e,n,i){var a=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,!(!i&&this._lastValue===a&&this._lastStatus===o)){this._lastValue=a,this._lastStatus=o;var s=this._group,l=this._handle;if(!o||o==="hide"){s&&s.hide(),l&&l.hide();return}s&&s.show(),l&&l.show();var u={};this.makeElOption(u,a,t,e,n);var f=u.graphicKey;f!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=f;var c=this._moveAnimation=this.determineAnimation(t,e);if(!s)s=this._group=new _t,this.createPointerEl(s,u,t,e),this.createLabelEl(s,u,t,e),n.getZr().add(s);else{var h=bt(PC,e,c);this.updatePointerEl(s,u,h),this.updateLabelEl(s,u,h,e)}EC(s,e,!0),this._renderHandle(a)}},r.prototype.remove=function(t){this.clear(t)},r.prototype.dispose=function(t){this.clear(t)},r.prototype.determineAnimation=function(t,e){var n=e.get("animation"),i=t.axis,a=i.type==="category",o=e.get("snap");if(!o&&!a)return!1;if(n==="auto"||n==null){var s=this.animationThreshold;if(a&&i.getBandWidth()>s)return!0;if(o){var l=s1(t).seriesDataCount,u=i.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return n===!0},r.prototype.makeElOption=function(t,e,n,i,a){},r.prototype.createPointerEl=function(t,e,n,i){var a=e.pointer;if(a){var o=Qa(t).pointerEl=new Oo[a.type](LC(e.pointer));t.add(o)}},r.prototype.createLabelEl=function(t,e,n,i){if(e.label){var a=Qa(t).labelEl=new Gt(LC(e.label));t.add(a),RC(a,i)}},r.prototype.updatePointerEl=function(t,e,n){var i=Qa(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},r.prototype.updateLabelEl=function(t,e,n,i){var a=Qa(t).labelEl;a&&(a.setStyle(e.label.style),n(a,{x:e.label.x,y:e.label.y}),RC(a,i))},r.prototype._renderHandle=function(t){if(!(this._dragging||!this.updateHandleTransform)){var e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,a=e.getModel("handle"),o=e.get("status");if(!a.get("show")||!o||o==="hide"){i&&n.remove(i),this._handle=null;return}var s;this._handle||(s=!0,i=this._handle=Tf(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){gi(u.event)},onmousedown:Zg(this._onHandleDragMove,this,0,0),drift:Zg(this._onHandleDragMove,this),ondragend:Zg(this._onHandleDragEnd,this)}),n.add(i)),EC(i,e,!1),i.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=a.get("size");Y(l)||(l=[l,l]),i.scaleX=l[0]/2,i.scaleY=l[1]/2,ll(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,s)}},r.prototype._moveHandleToValue=function(t,e){PC(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Xg(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},r.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(Xg(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(Xg(i)),Qa(n).lastProp=null,this._doDispatchAxisPointer()}},r.prototype._doDispatchAxisPointer=function(){var t=this._handle;if(t){var e=this._payloadInfo,n=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:n.axis.dim,axisIndex:n.componentIndex}]})}},r.prototype._onHandleDragEnd=function(){this._dragging=!1;var t=this._handle;if(t){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},r.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),ju(this,"_doDispatchAxisPointer")},r.prototype.doClear=function(){},r.prototype.buildLabel=function(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}},r}();function PC(r,t,e,n){eO(Qa(e).lastProp,n)||(Qa(e).lastProp=n,t?Ht(e,n,r):(e.stopAnimation(),e.attr(n)))}function eO(r,t){if(yt(r)&&yt(t)){var e=!0;return M(t,function(n,i){e=e&&eO(r[i],n)}),!!e}else return r===t}function RC(r,t){r[t.get(["label","show"])?"show":"hide"]()}function Xg(r){return{x:r.x||0,y:r.y||0,rotation:r.rotation||0}}function EC(r,t,e){var n=t.get("z"),i=t.get("zlevel");r&&r.traverse(function(a){a.type!=="group"&&(n!=null&&(a.z=n),i!=null&&(a.zlevel=i),a.silent=e)})}const G1=oJ;function F1(r){var t=r.get("type"),e=r.getModel(t+"Style"),n;return t==="line"?(n=e.getLineStyle(),n.fill=null):t==="shadow"&&(n=e.getAreaStyle(),n.stroke=null),n}function rO(r,t,e,n,i){var a=e.get("value"),o=nO(a,t.axis,t.ecModel,e.get("seriesDataIndices"),{precision:e.get(["label","precision"]),formatter:e.get(["label","formatter"])}),s=e.getModel("label"),l=nl(s.get("padding")||0),u=s.getFont(),f=_f(o,u),c=i.position,h=f.width+l[1]+l[3],v=f.height+l[0]+l[2],d=i.align;d==="right"&&(c[0]-=h),d==="center"&&(c[0]-=h/2);var p=i.verticalAlign;p==="bottom"&&(c[1]-=v),p==="middle"&&(c[1]-=v/2),sJ(c,h,v,n);var g=s.get("backgroundColor");(!g||g==="auto")&&(g=t.get(["axisLine","lineStyle","color"])),r.label={x:c[0],y:c[1],style:Qt(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:g}),z2:10}}function sJ(r,t,e,n){var i=n.getWidth(),a=n.getHeight();r[0]=Math.min(r[0]+t,i)-t,r[1]=Math.min(r[1]+e,a)-e,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0)}function nO(r,t,e,n,i){r=t.scale.parse(r);var a=t.scale.getLabel({value:r},{precision:i.precision}),o=i.formatter;if(o){var s={value:j_(t,{value:r}),axisDimension:t.dim,axisIndex:t.index,seriesData:[]};M(n,function(l){var u=e.getSeriesByIndex(l.seriesIndex),f=l.dataIndexInside,c=u&&u.getDataParams(f);c&&s.seriesData.push(c)}),nt(o)?a=o.replace("{value}",a):vt(o)&&(a=o(s))}return a}function H1(r,t,e){var n=Cr();return Eo(n,n,e.rotation),Hn(n,n,e.position),cn([r.dataToCoord(t),(e.labelOffset||0)+(e.labelDirection||1)*(e.labelMargin||0)],n)}function iO(r,t,e,n,i,a){var o=xi.innerTextLayout(e.rotation,0,e.labelDirection);e.labelMargin=i.get(["label","margin"]),rO(t,n,i,a,{position:H1(n.axis,r,e),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function W1(r,t,e){return e=e||0,{x1:r[e],y1:r[1-e],x2:t[e],y2:t[1-e]}}function aO(r,t,e){return e=e||0,{x:r[e],y:r[1-e],width:t[e],height:t[1-e]}}function kC(r,t,e,n,i,a){return{cx:r,cy:t,r0:e,r:n,startAngle:i,endAngle:a,clockwise:!0}}var lJ=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,n,i,a,o){var s=i.axis,l=s.grid,u=a.get("type"),f=OC(l,s).getOtherAxis(s).getGlobalExtent(),c=s.toGlobalCoord(s.dataToCoord(n,!0));if(u&&u!=="none"){var h=F1(a),v=uJ[u](s,c,f);v.style=h,e.graphicKey=v.type,e.pointer=v}var d=Bm(l.model,i);iO(n,e,d,i,a,o)},t.prototype.getHandleTransform=function(e,n,i){var a=Bm(n.axis.grid.model,n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var o=H1(n.axis,e,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,n,i,a){var o=i.axis,s=o.grid,l=o.getGlobalExtent(!0),u=OC(s,o).getOtherAxis(o).getGlobalExtent(),f=o.dim==="x"?0:1,c=[e.x,e.y];c[f]+=n[f],c[f]=Math.min(l[1],c[f]),c[f]=Math.max(l[0],c[f]);var h=(u[1]+u[0])/2,v=[h,h];v[f]=c[f];var d=[{verticalAlign:"middle"},{align:"center"}];return{x:c[0],y:c[1],rotation:e.rotation,cursorPoint:v,tooltipOption:d[f]}},t}(G1);function OC(r,t){var e={};return e[t.dim+"AxisIndex"]=t.index,r.getCartesian(e)}var uJ={line:function(r,t,e){var n=W1([t,e[0]],[t,e[1]],NC(r));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(r,t,e){var n=Math.max(1,r.getBandWidth()),i=e[1]-e[0];return{type:"Rect",shape:aO([t-n/2,e[0]],[n,i],NC(r))}}};function NC(r){return r.dim==="x"?0:1}const fJ=lJ;var cJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="axisPointer",t.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},t}(Bt);const hJ=cJ;var oi=Nt(),vJ=M;function oO(r,t,e){if(!zt.node){var n=t.getZr();oi(n).records||(oi(n).records={}),dJ(n,t);var i=oi(n).records[r]||(oi(n).records[r]={});i.handler=e}}function dJ(r,t){if(oi(r).initialized)return;oi(r).initialized=!0,e("click",bt(VC,"click")),e("mousemove",bt(VC,"mousemove")),e("globalout",gJ);function e(n,i){r.on(n,function(a){var o=yJ(t);vJ(oi(r).records,function(s){s&&i(s,a,o.dispatchAction)}),pJ(o.pendings,t)})}}function pJ(r,t){var e=r.showTip.length,n=r.hideTip.length,i;e?i=r.showTip[e-1]:n&&(i=r.hideTip[n-1]),i&&(i.dispatchAction=null,t.dispatchAction(i))}function gJ(r,t,e){r.handler("leave",null,e)}function VC(r,t,e,n){t.handler(r,e,n)}function yJ(r){var t={showTip:[],hideTip:[]},e=function(n){var i=t[n.type];i?i.push(n):(n.dispatchAction=e,r.dispatchAction(n))};return{dispatchAction:e,pendings:t}}function n0(r,t){if(!zt.node){var e=t.getZr(),n=(oi(e).records||{})[r];n&&(oi(e).records[r]=null)}}var mJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=n.getComponent("tooltip"),o=e.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";oO("axisPointer",i,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},t.prototype.remove=function(e,n){n0("axisPointer",n)},t.prototype.dispose=function(e,n){n0("axisPointer",n)},t.type="axisPointer",t}(fe);const _J=mJ;function sO(r,t){var e=[],n=r.seriesIndex,i;if(n==null||!(i=t.getSeriesByIndex(n)))return{point:[]};var a=i.getData(),o=Co(a,r);if(o==null||o<0||Y(o))return{point:[]};var s=a.getItemGraphicEl(o),l=i.coordinateSystem;if(i.getTooltipPosition)e=i.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(r.isStacked){var u=l.getBaseAxis(),f=l.getOtherAxis(u),c=f.dim,h=u.dim,v=c==="x"||c==="radius"?1:0,d=a.mapDimension(h),p=[];p[v]=a.get(d,o),p[1-v]=a.get(a.getCalculationInfo("stackResultDimension"),o),e=l.dataToPoint(p)||[]}else e=l.dataToPoint(a.getValues(Z(l.dimensions,function(y){return a.mapDimension(y)}),o))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),e=[g.x+g.width/2,g.y+g.height/2]}return{point:e,el:s}}var BC=Nt();function SJ(r,t,e){var n=r.currTrigger,i=[r.x,r.y],a=r,o=r.dispatchAction||at(e.dispatchAction,e),s=t.getComponent("axisPointer").coordSysAxesInfo;if(s){yh(i)&&(i=sO({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},t).point);var l=yh(i),u=a.axesInfo,f=s.axesInfo,c=n==="leave"||yh(i),h={},v={},d={list:[],map:{}},p={showPointer:bt(bJ,v),showTooltip:bt(wJ,d)};M(s.coordSysMap,function(y,m){var _=l||y.containPoint(i);M(s.coordSysAxesInfo[m],function(S,x){var b=S.axis,w=MJ(u,S);if(!c&&_&&(!u||w)){var T=w&&w.value;T==null&&!l&&(T=b.pointToData(i)),T!=null&&zC(S,T,p,!1,h)}})});var g={};return M(f,function(y,m){var _=y.linkGroup;_&&!v[m]&&M(_.axesInfo,function(S,x){var b=v[x];if(S!==y&&b){var w=b.value;_.mapper&&(w=y.axis.scale.parse(_.mapper(w,GC(S),GC(y)))),g[y.key]=w}})}),M(g,function(y,m){zC(f[m],y,p,!0,h)}),TJ(v,f,h),AJ(d,i,r,o),CJ(f,o,e),h}}function zC(r,t,e,n,i){var a=r.axis;if(!(a.scale.isBlank()||!a.containData(t))){if(!r.involveSeries){e.showPointer(r,t);return}var o=xJ(t,r),s=o.payloadBatch,l=o.snapToValue;s[0]&&i.seriesIndex==null&&F(i,s[0]),!n&&r.snap&&a.containData(l)&&l!=null&&(t=l),e.showPointer(r,t,s),e.showTooltip(r,o,l)}}function xJ(r,t){var e=t.axis,n=e.dim,i=r,a=[],o=Number.MAX_VALUE,s=-1;return M(t.seriesModels,function(l,u){var f=l.getData().mapDimensionsAll(n),c,h;if(l.getAxisTooltipData){var v=l.getAxisTooltipData(f,r,e);h=v.dataIndices,c=v.nestestValue}else{if(h=l.getData().indicesOfNearest(f[0],r,e.type==="category"?.5:null),!h.length)return;c=l.getData().get(f[0],h[0])}if(!(c==null||!isFinite(c))){var d=r-c,p=Math.abs(d);p<=o&&((p=0&&s<0)&&(o=p,s=d,i=c,a.length=0),M(h,function(g){a.push({seriesIndex:l.seriesIndex,dataIndexInside:g,dataIndex:l.getData().getRawIndex(g)})}))}}),{payloadBatch:a,snapToValue:i}}function bJ(r,t,e,n){r[t.key]={value:e,payloadBatch:n}}function wJ(r,t,e,n){var i=e.payloadBatch,a=t.axis,o=a.model,s=t.axisPointerModel;if(!(!t.triggerTooltip||!i.length)){var l=t.coordSys.model,u=nf(l),f=r.map[u];f||(f=r.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},r.list.push(f)),f.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:n,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:i.slice()})}}function TJ(r,t,e){var n=e.axesInfo=[];M(t,function(i,a){var o=i.axisPointerModel.option,s=r[a];s?(!i.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!i.useHandle&&(o.status="hide"),o.status==="show"&&n.push({axisDim:i.axis.dim,axisIndex:i.axis.model.componentIndex,value:o.value})})}function AJ(r,t,e,n){if(yh(t)||!r.list.length){n({type:"hideTip"});return}var i=((r.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:t[0],y:t[1],tooltipOption:e.tooltipOption,position:e.position,dataIndexInside:i.dataIndexInside,dataIndex:i.dataIndex,seriesIndex:i.seriesIndex,dataByCoordSys:r.list})}function CJ(r,t,e){var n=e.getZr(),i="axisPointerLastHighlights",a=BC(n)[i]||{},o=BC(n)[i]={};M(r,function(u,f){var c=u.axisPointerModel.option;c.status==="show"&&u.triggerEmphasis&&M(c.seriesDataIndices,function(h){var v=h.seriesIndex+" | "+h.dataIndex;o[v]=h})});var s=[],l=[];M(a,function(u,f){!o[f]&&l.push(u)}),M(o,function(u,f){!a[f]&&s.push(u)}),l.length&&e.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&e.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function MJ(r,t){for(var e=0;e<(r||[]).length;e++){var n=r[e];if(t.axis.dim===n.axisDim&&t.axis.model.componentIndex===n.axisIndex)return n}}function GC(r){var t=r.axis.model,e={},n=e.axisDim=r.axis.dim;return e.axisIndex=e[n+"AxisIndex"]=t.componentIndex,e.axisName=e[n+"AxisName"]=t.name,e.axisId=e[n+"AxisId"]=t.id,e}function yh(r){return!r||r[0]==null||isNaN(r[0])||r[1]==null||isNaN(r[1])}function Vf(r){Go.registerAxisPointerClass("CartesianAxisPointer",fJ),r.registerComponentModel(hJ),r.registerComponentView(_J),r.registerPreprocessor(function(t){if(t){(!t.axisPointer||t.axisPointer.length===0)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!Y(e)&&(t.axisPointer.link=[e])}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=dY(t,e)}),r.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},SJ)}function DJ(r){Lt(EE),Lt(Vf)}var IJ=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,n,i,a,o){var s=i.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var l=s.polar,u=l.getOtherAxis(s),f=u.getExtent(),c=s.dataToCoord(n),h=a.get("type");if(h&&h!=="none"){var v=F1(a),d=PJ[h](s,l,c,f);d.style=v,e.graphicKey=d.type,e.pointer=d}var p=a.get(["label","margin"]),g=LJ(n,i,a,l,p);rO(e,i,a,o,g)},t}(G1);function LJ(r,t,e,n,i){var a=t.axis,o=a.dataToCoord(r),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l=n.getRadiusAxis().getExtent(),u,f,c;if(a.dim==="radius"){var h=Cr();Eo(h,h,s),Hn(h,h,[n.cx,n.cy]),u=cn([o,-i],h);var v=t.getModel("axisLabel").get("rotate")||0,d=xi.innerTextLayout(s,v*Math.PI/180,-1);f=d.textAlign,c=d.textVerticalAlign}else{var p=l[1];u=n.coordToPoint([p+i,o]);var g=n.cx,y=n.cy;f=Math.abs(u[0]-g)/p<.3?"center":u[0]>g?"left":"right",c=Math.abs(u[1]-y)/p<.3?"middle":u[1]>y?"top":"bottom"}return{position:u,align:f,verticalAlign:c}}var PJ={line:function(r,t,e,n){return r.dim==="angle"?{type:"Line",shape:W1(t.coordToPoint([n[0],e]),t.coordToPoint([n[1],e]))}:{type:"Circle",shape:{cx:t.cx,cy:t.cy,r:e}}},shadow:function(r,t,e,n){var i=Math.max(1,r.getBandWidth()),a=Math.PI/180;return r.dim==="angle"?{type:"Sector",shape:kC(t.cx,t.cy,n[0],n[1],(-e-i/2)*a,(-e+i/2)*a)}:{type:"Sector",shape:kC(t.cx,t.cy,e-i/2,e+i/2,0,Math.PI*2)}}};const RJ=IJ;var EJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.findAxisModel=function(e){var n,i=this.ecModel;return i.eachComponent(e,function(a){a.getCoordSysModel()===this&&(n=a)},this),n},t.type="polar",t.dependencies=["radiusAxis","angleAxis"],t.defaultOption={z:0,center:["50%","50%"],radius:"80%"},t}(Bt);const kJ=EJ;var $1=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",ge).models[0]},t.type="polarAxis",t}(Bt);_e($1,Df);var OJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="angleAxis",t}($1),NJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="radiusAxis",t}($1),U1=function(r){B(t,r);function t(e,n){return r.call(this,"radius",e,n)||this}return t.prototype.pointToData=function(e,n){return this.polar.pointToData(e,n)[this.dim==="radius"?0:1]},t}(yn);U1.prototype.dataToRadius=yn.prototype.dataToCoord;U1.prototype.radiusToData=yn.prototype.coordToData;const VJ=U1;var BJ=Nt(),Y1=function(r){B(t,r);function t(e,n){return r.call(this,"angle",e,n||[0,360])||this}return t.prototype.pointToData=function(e,n){return this.polar.pointToData(e,n)[this.dim==="radius"?0:1]},t.prototype.calculateCategoryInterval=function(){var e=this,n=e.getLabelModel(),i=e.scale,a=i.getExtent(),o=i.count();if(a[1]-a[0]<1)return 0;var s=a[0],l=e.dataToCoord(s+1)-e.dataToCoord(s),u=Math.abs(l),f=_f(s==null?"":s+"",n.getFont(),"center","top"),c=Math.max(f.height,7),h=c/u;isNaN(h)&&(h=1/0);var v=Math.max(0,Math.floor(h)),d=BJ(e.model),p=d.lastAutoInterval,g=d.lastTickCount;return p!=null&&g!=null&&Math.abs(p-v)<=1&&Math.abs(g-o)<=1&&p>v?v=p:(d.lastTickCount=o,d.lastAutoInterval=v),v},t}(yn);Y1.prototype.dataToAngle=yn.prototype.dataToCoord;Y1.prototype.angleToData=yn.prototype.coordToData;const zJ=Y1;var lO=["radius","angle"],GJ=function(){function r(t){this.dimensions=lO,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new VJ,this._angleAxis=new zJ,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}return r.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},r.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},r.prototype.getAxis=function(t){var e="_"+t+"Axis";return this[e]},r.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},r.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===t&&e.push(n),i.scale.type===t&&e.push(i),e},r.prototype.getAngleAxis=function(){return this._angleAxis},r.prototype.getRadiusAxis=function(){return this._radiusAxis},r.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},r.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},r.prototype.getTooltipAxes=function(t){var e=t!=null&&t!=="auto"?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},r.prototype.dataToPoint=function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},r.prototype.pointToData=function(t,e){var n=this.pointToCoord(t);return[this._radiusAxis.radiusToData(n[0],e),this._angleAxis.angleToData(n[1],e)]},r.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=this.getAngleAxis(),a=i.getExtent(),o=Math.min(a[0],a[1]),s=Math.max(a[0],a[1]);i.inverse?o=s-360:s=o+360;var l=Math.sqrt(e*e+n*n);e/=l,n/=l;for(var u=Math.atan2(-n,e)/Math.PI*180,f=us;)u+=f*360;return[l,u]},r.prototype.coordToPoint=function(t){var e=t[0],n=t[1]/180*Math.PI,i=Math.cos(n)*e+this.cx,a=-Math.sin(n)*e+this.cy;return[i,a]},r.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis(),n=e.getExtent().slice();n[0]>n[1]&&n.reverse();var i=t.getExtent(),a=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:n[0],r:n[1],startAngle:-i[0]*a,endAngle:-i[1]*a,clockwise:t.inverse,contain:function(s,l){var u=s-this.cx,f=l-this.cy,c=u*u+f*f,h=this.r,v=this.r0;return h!==v&&c-o<=h*h&&c+o>=v*v}}},r.prototype.convertToPixel=function(t,e,n){var i=FC(e);return i===this?this.dataToPoint(n):null},r.prototype.convertFromPixel=function(t,e,n){var i=FC(e);return i===this?this.pointToData(n):null},r}();function FC(r){var t=r.seriesModel,e=r.polarModel;return e&&e.coordinateSystem||t&&t.coordinateSystem}const FJ=GJ;function HJ(r,t,e){var n=t.get("center"),i=e.getWidth(),a=e.getHeight();r.cx=et(n[0],i),r.cy=et(n[1],a);var o=r.getRadiusAxis(),s=Math.min(i,a)/2,l=t.get("radius");l==null?l=[0,"100%"]:Y(l)||(l=[0,l]);var u=[et(l[0],s),et(l[1],s)];o.inverse?o.setExtent(u[1],u[0]):o.setExtent(u[0],u[1])}function WJ(r,t){var e=this,n=e.getAngleAxis(),i=e.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),i.scale.setExtent(1/0,-1/0),r.eachSeries(function(s){if(s.coordinateSystem===e){var l=s.getData();M(nv(l,"radius"),function(u){i.scale.unionExtentFromData(l,u)}),M(nv(l,"angle"),function(u){n.scale.unionExtentFromData(l,u)})}}),Ws(n.scale,n.model),Ws(i.scale,i.model),n.type==="category"&&!n.onBand){var a=n.getExtent(),o=360/n.scale.count();n.inverse?a[1]+=o:a[1]-=o,n.setExtent(a[0],a[1])}}function $J(r){return r.mainType==="angleAxis"}function HC(r,t){var e;if(r.type=t.get("type"),r.scale=xd(t),r.onBand=t.get("boundaryGap")&&r.type==="category",r.inverse=t.get("inverse"),$J(t)){r.inverse=r.inverse!==t.get("clockwise");var n=t.get("startAngle"),i=(e=t.get("endAngle"))!==null&&e!==void 0?e:n+(r.inverse?-360:360);r.setExtent(n,i)}t.axis=r,r.model=t}var UJ={dimensions:lO,create:function(r,t){var e=[];return r.eachComponent("polar",function(n,i){var a=new FJ(i+"");a.update=WJ;var o=a.getRadiusAxis(),s=a.getAngleAxis(),l=n.findAxisModel("radiusAxis"),u=n.findAxisModel("angleAxis");HC(o,l),HC(s,u),HJ(a,n,t),e.push(a),n.coordinateSystem=a,a.model=n}),r.eachSeries(function(n){if(n.get("coordinateSystem")==="polar"){var i=n.getReferringComponents("polar",ge).models[0];n.coordinateSystem=i.coordinateSystem}}),e}};const YJ=UJ;var ZJ=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function Nc(r,t,e){t[1]>t[0]&&(t=t.slice().reverse());var n=r.coordToPoint([t[0],e]),i=r.coordToPoint([t[1],e]);return{x1:n[0],y1:n[1],x2:i[0],y2:i[1]}}function Vc(r){var t=r.getRadiusAxis();return t.inverse?0:1}function WC(r){var t=r[0],e=r[r.length-1];t&&e&&Math.abs(Math.abs(t.coord-e.coord)-360)<1e-4&&r.pop()}var XJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.axisPointerClass="PolarAxisPointer",e}return t.prototype.render=function(e,n){if(this.group.removeAll(),!!e.get("show")){var i=e.axis,a=i.polar,o=a.getRadiusAxis().getExtent(),s=i.getTicksCoords(),l=i.getMinorTicksCoords(),u=Z(i.getViewLabels(),function(f){f=mt(f);var c=i.scale,h=c.type==="ordinal"?c.getRawOrdinalNumber(f.tickValue):f.tickValue;return f.coord=i.dataToCoord(h),f});WC(u),WC(s),M(ZJ,function(f){e.get([f,"show"])&&(!i.scale.isBlank()||f==="axisLine")&&qJ[f](this.group,e,a,s,l,o,u)},this)}},t.type="angleAxis",t}(Go),qJ={axisLine:function(r,t,e,n,i,a){var o=t.getModel(["axisLine","lineStyle"]),s=e.getAngleAxis(),l=Math.PI/180,u=s.getExtent(),f=Vc(e),c=f?0:1,h,v=Math.abs(u[1]-u[0])===360?"Circle":"Arc";a[c]===0?h=new Oo[v]({shape:{cx:e.cx,cy:e.cy,r:a[f],startAngle:-u[0]*l,endAngle:-u[1]*l,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):h=new rd({shape:{cx:e.cx,cy:e.cy,r:a[f],r0:a[c]},style:o.getLineStyle(),z2:1,silent:!0}),h.style.fill=null,r.add(h)},axisTick:function(r,t,e,n,i,a){var o=t.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),l=a[Vc(e)],u=Z(n,function(f){return new Ee({shape:Nc(e,[l,l+s],f.coord)})});r.add(Hr(u,{style:pt(o.getModel("lineStyle").getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])})}))},minorTick:function(r,t,e,n,i,a){if(i.length){for(var o=t.getModel("axisTick"),s=t.getModel("minorTick"),l=(o.get("inside")?-1:1)*s.get("length"),u=a[Vc(e)],f=[],c=0;cy?"left":"right",S=Math.abs(g[1]-m)/p<.3?"middle":g[1]>m?"top":"bottom";if(s&&s[d]){var x=s[d];yt(x)&&x.textStyle&&(v=new te(x.textStyle,l,l.ecModel))}var b=new Gt({silent:xi.isLabelSilent(t),style:Qt(v,{x:g[0],y:g[1],fill:v.getTextColor()||t.get(["axisLine","lineStyle","color"]),text:c.formattedLabel,align:_,verticalAlign:S})});if(r.add(b),f){var w=xi.makeAxisEventDataBase(t);w.targetType="axisLabel",w.value=c.rawLabel,St(b).eventData=w}},this)},splitLine:function(r,t,e,n,i,a){var o=t.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var f=[],c=0;c=0?"p":"n",E=A;x&&(n[f][L]||(n[f][L]={p:A,n:A}),E=n[f][L][P]);var O=void 0,V=void 0,N=void 0,z=void 0;if(d.dim==="radius"){var $=d.dataToCoord(I)-A,q=l.dataToCoord(L);Math.abs($)=z})}}})}function iQ(r){var t={};M(r,function(n,i){var a=n.getData(),o=n.coordinateSystem,s=o.getBaseAxis(),l=fO(o,s),u=s.getExtent(),f=s.type==="category"?s.getBandWidth():Math.abs(u[1]-u[0])/a.count(),c=t[l]||{bandWidth:f,remainedWidth:f,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},h=c.stacks;t[l]=c;var v=uO(n);h[v]||c.autoWidthCount++,h[v]=h[v]||{width:0,maxWidth:0};var d=et(n.get("barWidth"),f),p=et(n.get("barMaxWidth"),f),g=n.get("barGap"),y=n.get("barCategoryGap");d&&!h[v].width&&(d=Math.min(c.remainedWidth,d),h[v].width=d,c.remainedWidth-=d),p&&(h[v].maxWidth=p),g!=null&&(c.gap=g),y!=null&&(c.categoryGap=y)});var e={};return M(t,function(n,i){e[i]={};var a=n.stacks,o=n.bandWidth,s=et(n.categoryGap,o),l=et(n.gap,1),u=n.remainedWidth,f=n.autoWidthCount,c=(u-s)/(f+(f-1)*l);c=Math.max(c,0),M(a,function(p,g){var y=p.maxWidth;y&&y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},r.prototype.pointToData=function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t[e.orient==="horizontal"?0:1]))]},r.prototype.dataToPoint=function(t){var e=this.getAxis(),n=this.getRect(),i=[],a=e.orient==="horizontal"?0:1;return t instanceof Array&&(t=t[0]),i[a]=e.toGlobalCoord(e.dataToCoord(+t)),i[1-a]=a===0?n.y+n.height/2:n.x+n.width/2,i},r.prototype.convertToPixel=function(t,e,n){var i=$C(e);return i===this?this.dataToPoint(n):null},r.prototype.convertFromPixel=function(t,e,n){var i=$C(e);return i===this?this.pointToData(n):null},r}();function $C(r){var t=r.seriesModel,e=r.singleAxisModel;return e&&e.coordinateSystem||t&&t.coordinateSystem}function yQ(r,t){var e=[];return r.eachComponent("singleAxis",function(n,i){var a=new gQ(n,r,t);a.name="single_"+i,a.resize(n,t),n.coordinateSystem=a,e.push(a)}),r.eachSeries(function(n){if(n.get("coordinateSystem")==="singleAxis"){var i=n.getReferringComponents("singleAxis",ge).models[0];n.coordinateSystem=i&&i.coordinateSystem}}),e}var mQ={create:yQ,dimensions:hO};const _Q=mQ;var UC=["x","y"],SQ=["width","height"],xQ=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,n,i,a,o){var s=i.axis,l=s.coordinateSystem,u=Kg(l,1-mv(s)),f=l.dataToPoint(n)[0],c=a.get("type");if(c&&c!=="none"){var h=F1(a),v=bQ[c](s,f,u);v.style=h,e.graphicKey=v.type,e.pointer=v}var d=i0(i);iO(n,e,d,i,a,o)},t.prototype.getHandleTransform=function(e,n,i){var a=i0(n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var o=H1(n.axis,e,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,n,i,a){var o=i.axis,s=o.coordinateSystem,l=mv(o),u=Kg(s,l),f=[e.x,e.y];f[l]+=n[l],f[l]=Math.min(u[1],f[l]),f[l]=Math.max(u[0],f[l]);var c=Kg(s,1-l),h=(c[1]+c[0])/2,v=[h,h];return v[l]=f[l],{x:f[0],y:f[1],rotation:e.rotation,cursorPoint:v,tooltipOption:{verticalAlign:"middle"}}},t}(G1),bQ={line:function(r,t,e){var n=W1([t,e[0]],[t,e[1]],mv(r));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(r,t,e){var n=r.getBandWidth(),i=e[1]-e[0];return{type:"Rect",shape:aO([t-n/2,e[0]],[n,i],mv(r))}}};function mv(r){return r.isHorizontal()?0:1}function Kg(r,t){var e=r.getRect();return[e[UC[t]],e[UC[t]]+e[SQ[t]]]}const wQ=xQ;var TQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="single",t}(fe);function AQ(r){Lt(Vf),Go.registerAxisPointerClass("SingleAxisPointer",wQ),r.registerComponentView(TQ),r.registerComponentView(vQ),r.registerComponentModel(qg),Us(r,"single",qg,qg.defaultOption),r.registerCoordinateSystem("single",_Q)}var CQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n,i){var a=il(e);r.prototype.init.apply(this,arguments),YC(e,a)},t.prototype.mergeOption=function(e){r.prototype.mergeOption.apply(this,arguments),YC(this.option,e)},t.prototype.getCellSize=function(){return this.option.cellSize},t.type="calendar",t.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},t}(Bt);function YC(r,t){var e=r.cellSize,n;Y(e)?n=e:n=r.cellSize=[e,e],n.length===1&&(n[1]=n[0]);var i=Z([0,1],function(a){return PH(t,a)&&(n[a]="auto"),n[a]!=null&&n[a]!=="auto"});sa(r,t,{type:"box",ignoreSize:i})}const MQ=CQ;var DQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=this.group;a.removeAll();var o=e.coordinateSystem,s=o.getRangeInfo(),l=o.getOrient(),u=n.getLocaleModel();this._renderDayRect(e,s,a),this._renderLines(e,s,l,a),this._renderYearText(e,s,l,a),this._renderMonthText(e,u,l,a),this._renderWeekText(e,u,s,l,a)},t.prototype._renderDayRect=function(e,n,i){for(var a=e.coordinateSystem,o=e.getModel("itemStyle").getItemStyle(),s=a.getCellWidth(),l=a.getCellHeight(),u=n.start.time;u<=n.end.time;u=a.getNextNDay(u,1).time){var f=a.dataToRect([u],!1).tl,c=new Vt({shape:{x:f[0],y:f[1],width:s,height:l},cursor:"default",style:o});i.add(c)}},t.prototype._renderLines=function(e,n,i,a){var o=this,s=e.coordinateSystem,l=e.getModel(["splitLine","lineStyle"]).getLineStyle(),u=e.get(["splitLine","show"]),f=l.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var c=n.start,h=0;c.time<=n.end.time;h++){d(c.formatedDate),h===0&&(c=s.getDateInfo(n.start.y+"-"+n.start.m));var v=c.date;v.setMonth(v.getMonth()+1),c=s.getDateInfo(v)}d(s.getNextNDay(n.end.time,1).formatedDate);function d(p){o._firstDayOfMonth.push(s.getDateInfo(p)),o._firstDayPoints.push(s.dataToRect([p],!1).tl);var g=o._getLinePointsOfOneWeek(e,p,i);o._tlpoints.push(g[0]),o._blpoints.push(g[g.length-1]),u&&o._drawSplitline(g,l,a)}u&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,f,i),l,a),u&&this._drawSplitline(o._getEdgesPoints(o._blpoints,f,i),l,a)},t.prototype._getEdgesPoints=function(e,n,i){var a=[e[0].slice(),e[e.length-1].slice()],o=i==="horizontal"?0:1;return a[0][o]=a[0][o]-n/2,a[1][o]=a[1][o]+n/2,a},t.prototype._drawSplitline=function(e,n,i){var a=new mr({z2:20,shape:{points:e},style:n});i.add(a)},t.prototype._getLinePointsOfOneWeek=function(e,n,i){for(var a=e.coordinateSystem,o=a.getDateInfo(n),s=[],l=0;l<7;l++){var u=a.getNextNDay(o.time,l),f=a.dataToRect([u.time],!1);s[2*u.day]=f.tl,s[2*u.day+1]=f[i==="horizontal"?"bl":"tr"]}return s},t.prototype._formatterLabel=function(e,n){return nt(e)&&e?DH(e,n):vt(e)?e(n):n.nameMap},t.prototype._yearTextPositionControl=function(e,n,i,a,o){var s=n[0],l=n[1],u=["center","bottom"];a==="bottom"?(l+=o,u=["center","top"]):a==="left"?s-=o:a==="right"?(s+=o,u=["center","top"]):l-=o;var f=0;return(a==="left"||a==="right")&&(f=Math.PI/2),{rotation:f,x:s,y:l,style:{align:u[0],verticalAlign:u[1]}}},t.prototype._renderYearText=function(e,n,i,a){var o=e.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),l=o.get("position");l||(l=i!=="horizontal"?"top":"left");var u=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],f=(u[0][0]+u[1][0])/2,c=(u[0][1]+u[1][1])/2,h=i==="horizontal"?0:1,v={top:[f,u[h][1]],bottom:[f,u[1-h][1]],left:[u[1-h][0],c],right:[u[h][0],c]},d=n.start.y;+n.end.y>+n.start.y&&(d=d+"-"+n.end.y);var p=o.get("formatter"),g={start:n.start.y,end:n.end.y,nameMap:d},y=this._formatterLabel(p,g),m=new Gt({z2:30,style:Qt(o,{text:y}),silent:o.get("silent")});m.attr(this._yearTextPositionControl(m,v[l],i,l,s)),a.add(m)}},t.prototype._monthTextPositionControl=function(e,n,i,a,o){var s="left",l="top",u=e[0],f=e[1];return i==="horizontal"?(f=f+o,n&&(s="center"),a==="start"&&(l="bottom")):(u=u+o,n&&(l="middle"),a==="start"&&(s="right")),{x:u,y:f,align:s,verticalAlign:l}},t.prototype._renderMonthText=function(e,n,i,a){var o=e.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),l=o.get("margin"),u=o.get("position"),f=o.get("align"),c=[this._tlpoints,this._blpoints];(!s||nt(s))&&(s&&(n=dm(s)||n),s=n.get(["time","monthAbbr"])||[]);var h=u==="start"?0:1,v=i==="horizontal"?0:1;l=u==="start"?-l:l;for(var d=f==="center",p=o.get("silent"),g=0;g=i.start.time&&n.times.end.time&&e.reverse(),e},r.prototype._getRangeInfo=function(t){var e=[this.getDateInfo(t[0]),this.getDateInfo(t[1])],n;e[0].time>e[1].time&&(n=!0,e.reverse());var i=Math.floor(e[1].time/jg)-Math.floor(e[0].time/jg)+1,a=new Date(e[0].time),o=a.getDate(),s=e[1].date.getDate();a.setDate(o+i-1);var l=a.getDate();if(l!==s)for(var u=a.getTime()-e[1].time>0?1:-1;(l=a.getDate())!==s&&(a.getTime()-e[1].time)*u>0;)i-=u,a.setDate(l-u);var f=Math.floor((i+e[0].day+6)/7),c=n?-f+1:f-1;return n&&e.reverse(),{range:[e[0].formatedDate,e[1].formatedDate],start:e[0],end:e[1],allDay:i,weeks:f,nthWeek:c,fweek:e[0].day,lweek:e[1].day}},r.prototype._getDateByWeeksAndDay=function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||t===0&&ei.lweek)return null;var a=(t-1)*7-i.fweek+e,o=new Date(i.start.time);return o.setDate(+i.start.d+a),this.getDateInfo(o)},r.create=function(t,e){var n=[];return t.eachComponent("calendar",function(i){var a=new r(i);n.push(a),i.coordinateSystem=a}),t.eachSeries(function(i){i.get("coordinateSystem")==="calendar"&&(i.coordinateSystem=n[i.get("calendarIndex")||0])}),n},r.dimensions=["time","value"],r}();function ZC(r){var t=r.calendarModel,e=r.seriesModel,n=t?t.coordinateSystem:e?e.coordinateSystem:null;return n}const PQ=LQ;function RQ(r){r.registerComponentModel(MQ),r.registerComponentView(IQ),r.registerCoordinateSystem("calendar",PQ)}function EQ(r,t){var e=r.existing;if(t.id=r.keyInfo.id,!t.type&&e&&(t.type=e.type),t.parentId==null){var n=t.parentOption;n?t.parentId=n.id:e&&(t.parentId=e.parentId)}t.parentOption=null}function XC(r,t){var e;return M(t,function(n){r[n]!=null&&r[n]!=="auto"&&(e=!0)}),e}function kQ(r,t,e){var n=F({},e),i=r[t],a=e.$action||"merge";a==="merge"?i?(Tt(i,n,!0),sa(i,n,{ignoreSize:!0}),qP(e,i),Bc(e,i),Bc(e,i,"shape"),Bc(e,i,"style"),Bc(e,i,"extra"),e.clipPath=i.clipPath):r[t]=n:a==="replace"?r[t]=n:a==="remove"&&i&&(r[t]=null)}var vO=["transition","enterFrom","leaveTo"],OQ=vO.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function Bc(r,t,e){if(e&&(!r[e]&&t[e]&&(r[e]={}),r=r[e],t=t[e]),!(!r||!t))for(var n=e?vO:OQ,i=0;i=0;f--){var c=i[f],h=xe(c.id,null),v=h!=null?o.get(h):null;if(v){var d=v.parent,y=Br(d),m=d===a?{width:s,height:l}:{width:y.width,height:y.height},_={},S=hd(v,c,m,null,{hv:c.hv,boundingMode:c.bounding},_);if(!Br(v).isNew&&S){for(var x=c.transition,b={},w=0;w=0)?b[T]=A:v[T]=A}Ht(v,b,e,0)}else v.attr(_)}}},t.prototype._clear=function(){var e=this,n=this._elMap;n.each(function(i){mh(i,Br(i).option,n,e._lastGraphicModel)}),this._elMap=ft()},t.prototype.dispose=function(){this._clear()},t.type="graphic",t}(fe);function a0(r){var t=st(qC,r)?qC[r]:x_(r),e=new t({});return Br(e).type=r,e}function KC(r,t,e,n){var i=a0(e);return t.add(i),n.set(r,i),Br(i).id=r,Br(i).isNew=!0,i}function mh(r,t,e,n){var i=r&&r.parent;i&&(r.type==="group"&&r.traverse(function(a){mh(a,t,e,n)}),Dd(r,t,n),e.removeKey(Br(r).id))}function jC(r,t,e,n){r.isGroup||M([["cursor",Yr.prototype.cursor],["zlevel",n||0],["z",e||0],["z2",0]],function(i){var a=i[0];st(t,a)?r[a]=xt(t[a],i[1]):r[a]==null&&(r[a]=i[1])}),M(kt(t),function(i){if(i.indexOf("on")===0){var a=t[i];r[i]=vt(a)?a:null}}),st(t,"draggable")&&(r.draggable=t.draggable),t.name!=null&&(r.name=t.name),t.id!=null&&(r.id=t.id)}function zQ(r){return r=F({},r),M(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(XP),function(t){delete r[t]}),r}function GQ(r,t,e){var n=St(r).eventData;!r.silent&&!r.ignore&&!n&&(n=St(r).eventData={componentType:"graphic",componentIndex:t.componentIndex,name:r.name}),n&&(n.info=e.info)}function FQ(r){r.registerComponentModel(VQ),r.registerComponentView(BQ),r.registerPreprocessor(function(t){var e=t.graphic;Y(e)?!e[0]||!e[0].elements?t.graphic=[{elements:e}]:t.graphic=[t.graphic[0]]:e&&!e.elements&&(t.graphic=[{elements:[e]}])})}var JC=["x","y","radius","angle","single"],HQ=["cartesian2d","polar","singleAxis"];function WQ(r){var t=r.get("coordinateSystem");return Dt(HQ,t)>=0}function Ji(r){return r+"Axis"}function $Q(r,t){var e=ft(),n=[],i=ft();r.eachComponent({mainType:"dataZoom",query:t},function(f){i.get(f.uid)||s(f)});var a;do a=!1,r.eachComponent("dataZoom",o);while(a);function o(f){!i.get(f.uid)&&l(f)&&(s(f),a=!0)}function s(f){i.set(f.uid,!0),n.push(f),u(f)}function l(f){var c=!1;return f.eachTargetAxis(function(h,v){var d=e.get(h);d&&d[v]&&(c=!0)}),c}function u(f){f.eachTargetAxis(function(c,h){(e.get(c)||e.set(c,[]))[h]=!0})}return n}function dO(r){var t=r.ecModel,e={infoList:[],infoMap:ft()};return r.eachTargetAxis(function(n,i){var a=t.getComponent(Ji(n),i);if(a){var o=a.getCoordSysModel();if(o){var s=o.uid,l=e.infoMap.get(s);l||(l={model:o,axisModels:[]},e.infoList.push(l),e.infoMap.set(s,l)),l.axisModels.push(a)}}}),e}var Jg=function(){function r(){this.indexList=[],this.indexMap=[]}return r.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},r}(),UQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._autoThrottle=!0,e._noTarget=!0,e._rangePropMode=["percent","percent"],e}return t.prototype.init=function(e,n,i){var a=QC(e);this.settledOption=a,this.mergeDefaultAndTheme(e,i),this._doInit(a)},t.prototype.mergeOption=function(e){var n=QC(e);Tt(this.option,e,!0),Tt(this.settledOption,n,!0),this._doInit(n)},t.prototype._doInit=function(e){var n=this.option;this._setDefaultThrottle(e),this._updateRangeUse(e);var i=this.settledOption;M([["start","startValue"],["end","endValue"]],function(a,o){this._rangePropMode[o]==="value"&&(n[a[0]]=i[a[0]]=null)},this),this._resetTarget()},t.prototype._resetTarget=function(){var e=this.get("orient",!0),n=this._targetAxisInfoMap=ft(),i=this._fillSpecifiedTargetAxis(n);i?this._orient=e||this._makeAutoOrientByTargetAxis():(this._orient=e||"horizontal",this._fillAutoTargetAxisByOrient(n,this._orient)),this._noTarget=!0,n.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)},t.prototype._fillSpecifiedTargetAxis=function(e){var n=!1;return M(JC,function(i){var a=this.getReferringComponents(Ji(i),lF);if(a.specified){n=!0;var o=new Jg;M(a.models,function(s){o.add(s.componentIndex)}),e.set(i,o)}},this),n},t.prototype._fillAutoTargetAxisByOrient=function(e,n){var i=this.ecModel,a=!0;if(a){var o=n==="vertical"?"y":"x",s=i.findComponents({mainType:o+"Axis"});l(s,o)}if(a){var s=i.findComponents({mainType:"singleAxis",filter:function(f){return f.get("orient",!0)===n}});l(s,"single")}function l(u,f){var c=u[0];if(c){var h=new Jg;if(h.add(c.componentIndex),e.set(f,h),a=!1,f==="x"||f==="y"){var v=c.getReferringComponents("grid",ge).models[0];v&&M(u,function(d){c.componentIndex!==d.componentIndex&&v===d.getReferringComponents("grid",ge).models[0]&&h.add(d.componentIndex)})}}}a&&M(JC,function(u){if(a){var f=i.findComponents({mainType:Ji(u),filter:function(h){return h.get("type",!0)==="category"}});if(f[0]){var c=new Jg;c.add(f[0].componentIndex),e.set(u,c),a=!1}}},this)},t.prototype._makeAutoOrientByTargetAxis=function(){var e;return this.eachTargetAxis(function(n){!e&&(e=n)},this),e==="y"?"vertical":"horizontal"},t.prototype._setDefaultThrottle=function(e){if(e.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var n=this.ecModel.option;this.option.throttle=n.animation&&n.animationDurationUpdate>0?100:20}},t.prototype._updateRangeUse=function(e){var n=this._rangePropMode,i=this.get("rangeMode");M([["start","startValue"],["end","endValue"]],function(a,o){var s=e[a[0]]!=null,l=e[a[1]]!=null;s&&!l?n[o]="percent":!s&&l?n[o]="value":i?n[o]=i[o]:s&&(n[o]="percent")})},t.prototype.noTarget=function(){return this._noTarget},t.prototype.getFirstTargetAxisModel=function(){var e;return this.eachTargetAxis(function(n,i){e==null&&(e=this.ecModel.getComponent(Ji(n),i))},this),e},t.prototype.eachTargetAxis=function(e,n){this._targetAxisInfoMap.each(function(i,a){M(i.indexList,function(o){e.call(n,a,o)})})},t.prototype.getAxisProxy=function(e,n){var i=this.getAxisModel(e,n);if(i)return i.__dzAxisProxy},t.prototype.getAxisModel=function(e,n){var i=this._targetAxisInfoMap.get(e);if(i&&i.indexMap[n])return this.ecModel.getComponent(Ji(e),n)},t.prototype.setRawRange=function(e){var n=this.option,i=this.settledOption;M([["start","startValue"],["end","endValue"]],function(a){(e[a[0]]!=null||e[a[1]]!=null)&&(n[a[0]]=i[a[0]]=e[a[0]],n[a[1]]=i[a[1]]=e[a[1]])},this),this._updateRangeUse(e)},t.prototype.setCalculatedRange=function(e){var n=this.option;M(["start","startValue","end","endValue"],function(i){n[i]=e[i]})},t.prototype.getPercentRange=function(){var e=this.findRepresentativeAxisProxy();if(e)return e.getDataPercentWindow()},t.prototype.getValueRange=function(e,n){if(e==null&&n==null){var i=this.findRepresentativeAxisProxy();if(i)return i.getDataValueWindow()}else return this.getAxisProxy(e,n).getDataValueWindow()},t.prototype.findRepresentativeAxisProxy=function(e){if(e)return e.__dzAxisProxy;for(var n,i=this._targetAxisInfoMap.keys(),a=0;ao[1];if(_&&!S&&!x)return!0;_&&(g=!0),S&&(d=!0),x&&(p=!0)}return g&&d&&p})}else gs(f,function(v){if(a==="empty")l.setData(u=u.map(v,function(p){return s(p)?p:NaN}));else{var d={};d[v]=o,u.selectRange(d)}});gs(f,function(v){u.setApproximateExtent(o,v)})}});function s(l){return l>=o[0]&&l<=o[1]}},r.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;gs(["min","max"],function(i){var a=e.get(i+"Span"),o=e.get(i+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?a=Ut(n[0]+o,n,[0,100],!0):a!=null&&(o=Ut(a,[0,100],n,!0)-n[0]),t[i+"Span"]=a,t[i+"ValueSpan"]=o},this)},r.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=TL(n,[0,500]);i=Math.min(i,20);var a=t.axis.scale.rawExtentInfo;e[0]!==0&&a.setDeterminedMinMax("min",+n[0].toFixed(i)),e[1]!==100&&a.setDeterminedMinMax("max",+n[1].toFixed(i)),a.freeze()}},r}();function JQ(r,t,e){var n=[1/0,-1/0];gs(e,function(o){SU(n,o.getData(),t)});var i=r.getAxisModel(),a=DR(i.axis.scale,i,n).calculate();return[a.min,a.max]}const QQ=jQ;var ttt={getTargetSeries:function(r){function t(i){r.eachComponent("dataZoom",function(a){a.eachTargetAxis(function(o,s){var l=r.getComponent(Ji(o),s);i(o,s,l,a)})})}t(function(i,a,o,s){o.__dzAxisProxy=null});var e=[];t(function(i,a,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new QQ(i,a,s,r),e.push(o.__dzAxisProxy))});var n=ft();return M(e,function(i){M(i.getTargetSeriesModels(),function(a){n.set(a.uid,a)})}),n},overallReset:function(r,t){r.eachComponent("dataZoom",function(e){e.eachTargetAxis(function(n,i){e.getAxisProxy(n,i).reset(e)}),e.eachTargetAxis(function(n,i){e.getAxisProxy(n,i).filterData(e,t)})}),r.eachComponent("dataZoom",function(e){var n=e.findRepresentativeAxisProxy();if(n){var i=n.getDataPercentWindow(),a=n.getDataValueWindow();e.setCalculatedRange({start:i[0],end:i[1],startValue:a[0],endValue:a[1]})}})}};const ett=ttt;function rtt(r){r.registerAction("dataZoom",function(t,e){var n=$Q(e,t);M(n,function(i){i.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})})}var eM=!1;function X1(r){eM||(eM=!0,r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,ett),rtt(r),r.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function ntt(r){r.registerComponentModel(ZQ),r.registerComponentView(KQ),X1(r)}var Fr=function(){function r(){}return r}(),pO={};function ys(r,t){pO[r]=t}function gO(r){return pO[r]}var itt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.optionUpdated=function(){r.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;M(this.option.feature,function(n,i){var a=gO(i);a&&(a.getDefaultOption&&(a.defaultOption=a.getDefaultOption(e)),Tt(n,a.defaultOption))})},t.type="toolbox",t.layoutMode={type:"box",ignoreSize:!0},t.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},t}(Bt);const att=itt;function ott(r,t,e){var n=t.getBoxLayoutParams(),i=t.get("padding"),a={width:e.getWidth(),height:e.getHeight()},o=be(n,a,i);xo(t.get("orient"),r,t.get("itemGap"),o.width,o.height),hd(r,n,a,i)}function yO(r,t){var e=nl(t.get("padding")),n=t.getItemStyle(["color","opacity"]);return n.fill=t.get("backgroundColor"),r=new Vt({shape:{x:r.x-e[3],y:r.y-e[0],width:r.width+e[1]+e[3],height:r.height+e[0]+e[2],r:t.get("borderRadius")},style:n,silent:!0,z2:-1}),r}var stt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.render=function(e,n,i,a){var o=this.group;if(o.removeAll(),!e.get("show"))return;var s=+e.get("itemSize"),l=e.get("orient")==="vertical",u=e.get("feature")||{},f=this._features||(this._features={}),c=[];M(u,function(d,p){c.push(p)}),new Si(this._featureNames||[],c).add(h).update(h).remove(bt(h,null)).execute(),this._featureNames=c;function h(d,p){var g=c[d],y=c[p],m=u[g],_=new te(m,e,e.ecModel),S;if(a&&a.newTitle!=null&&a.featureName===g&&(m.title=a.newTitle),g&&!y){if(ltt(g))S={onclick:_.option.onclick,featureName:g};else{var x=gO(g);if(!x)return;S=new x}f[g]=S}else if(S=f[y],!S)return;S.uid=rl("toolbox-feature"),S.model=_,S.ecModel=n,S.api=i;var b=S instanceof Fr;if(!g&&y){b&&S.dispose&&S.dispose(n,i);return}if(!_.get("show")||b&&S.unusable){b&&S.remove&&S.remove(n,i);return}v(_,S,g),_.setIconStatus=function(w,T){var A=this.option,C=this.iconPaths;A.iconStatus=A.iconStatus||{},A.iconStatus[w]=T,C[w]&&(T==="emphasis"?mi:_i)(C[w])},S instanceof Fr&&S.render&&S.render(_,n,i,a)}function v(d,p,g){var y=d.getModel("iconStyle"),m=d.getModel(["emphasis","iconStyle"]),_=p instanceof Fr&&p.getIcons?p.getIcons():d.get("icon"),S=d.get("title")||{},x,b;nt(_)?(x={},x[g]=_):x=_,nt(S)?(b={},b[g]=S):b=S;var w=d.iconPaths={};M(x,function(T,A){var C=Tf(T,{},{x:-s/2,y:-s/2,width:s,height:s});C.setStyle(y.getItemStyle());var D=C.ensureState("emphasis");D.style=m.getItemStyle();var I=new Gt({style:{text:b[A],align:m.get("textAlign"),borderRadius:m.get("textBorderRadius"),padding:m.get("textPadding"),fill:null,font:b_({fontStyle:m.get("textFontStyle"),fontFamily:m.get("textFontFamily"),fontSize:m.get("textFontSize"),fontWeight:m.get("textFontWeight")},n)},ignore:!0});C.setTextContent(I),ko({el:C,componentModel:e,itemName:A,formatterParamsExtra:{title:b[A]}}),C.__title=b[A],C.on("mouseover",function(){var L=m.getItemStyle(),P=l?e.get("right")==null&&e.get("left")!=="right"?"right":"left":e.get("bottom")==null&&e.get("top")!=="bottom"?"bottom":"top";I.setStyle({fill:m.get("textFill")||L.fill||L.stroke||"#000",backgroundColor:m.get("textBackgroundColor")}),C.setTextConfig({position:m.get("textPosition")||P}),I.ignore=!e.get("showTitle"),i.enterEmphasis(this)}).on("mouseout",function(){d.get(["iconStatus",A])!=="emphasis"&&i.leaveEmphasis(this),I.hide()}),(d.get(["iconStatus",A])==="emphasis"?mi:_i)(C),o.add(C),C.on("click",at(p.onclick,p,n,i,A)),w[A]=C})}ott(o,e,i),o.add(yO(o.getBoundingRect(),e)),l||o.eachChild(function(d){var p=d.__title,g=d.ensureState("emphasis"),y=g.textConfig||(g.textConfig={}),m=d.getTextContent(),_=m&&m.ensureState("emphasis");if(_&&!vt(_)&&p){var S=_.style||(_.style={}),x=_f(p,Gt.makeFont(S)),b=d.x+o.x,w=d.y+o.y+s,T=!1;w+x.height>i.getHeight()&&(y.position="top",T=!0);var A=T?-5-x.height:s+10;b+x.width/2>i.getWidth()?(y.position=["100%",A],S.align="right"):b-x.width/2<0&&(y.position=[0,A],S.align="left")}})},t.prototype.updateView=function(e,n,i,a){M(this._features,function(o){o instanceof Fr&&o.updateView&&o.updateView(o.model,n,i,a)})},t.prototype.remove=function(e,n){M(this._features,function(i){i instanceof Fr&&i.remove&&i.remove(e,n)}),this.group.removeAll()},t.prototype.dispose=function(e,n){M(this._features,function(i){i instanceof Fr&&i.dispose&&i.dispose(e,n)})},t.type="toolbox",t}(fe);function ltt(r){return r.indexOf("my")===0}const utt=stt;var ftt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.onclick=function(e,n){var i=this.model,a=i.get("name")||e.get("title.0.text")||"echarts",o=n.getZr().painter.getType()==="svg",s=o?"svg":i.get("type",!0)||"png",l=n.getConnectedDataURL({type:s,backgroundColor:i.get("backgroundColor",!0)||e.get("backgroundColor")||"#fff",connectedBackgroundColor:i.get("connectedBackgroundColor"),excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")}),u=zt.browser;if(typeof MouseEvent=="function"&&(u.newEdge||!u.ie&&!u.edge)){var f=document.createElement("a");f.download=a+"."+s,f.target="_blank",f.href=l;var c=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});f.dispatchEvent(c)}else if(window.navigator.msSaveOrOpenBlob||o){var h=l.split(","),v=h[0].indexOf("base64")>-1,d=o?decodeURIComponent(h[1]):h[1];v&&(d=window.atob(d));var p=a+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,y=new Uint8Array(g);g--;)y[g]=d.charCodeAt(g);var m=new Blob([y]);window.navigator.msSaveOrOpenBlob(m,p)}else{var _=document.createElement("iframe");document.body.appendChild(_);var S=_.contentWindow,x=S.document;x.open("image/svg+xml","replace"),x.write(d),x.close(),S.focus(),x.execCommand("SaveAs",!0,p),document.body.removeChild(_)}}else{var b=i.get("lang"),w='',T=window.open();T.document.write(w),T.document.title=a}},t.getDefaultOption=function(e){var n={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:e.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:e.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return n},t}(Fr);const ctt=ftt;var rM="__ec_magicType_stack__",htt=[["line","bar"],["stack"]],vtt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getIcons=function(){var e=this.model,n=e.get("icon"),i={};return M(e.get("type"),function(a){n[a]&&(i[a]=n[a])}),i},t.getDefaultOption=function(e){var n={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:e.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return n},t.prototype.onclick=function(e,n,i){var a=this.model,o=a.get(["seriesIndex",i]);if(nM[i]){var s={series:[]},l=function(c){var h=c.subType,v=c.id,d=nM[i](h,v,c,a);d&&(pt(d,c.option),s.series.push(d));var p=c.coordinateSystem;if(p&&p.type==="cartesian2d"&&(i==="line"||i==="bar")){var g=p.getAxesByScale("ordinal")[0];if(g){var y=g.dim,m=y+"Axis",_=c.getReferringComponents(m,ge).models[0],S=_.componentIndex;s[m]=s[m]||[];for(var x=0;x<=S;x++)s[m][S]=s[m][S]||{};s[m][S].boundaryGap=i==="bar"}}};M(htt,function(c){Dt(c,i)>=0&&M(c,function(h){a.setIconStatus(h,"normal")})}),a.setIconStatus(i,"emphasis"),e.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},l);var u,f=i;i==="stack"&&(u=Tt({stack:a.option.title.tiled,tiled:a.option.title.stack},a.option.title),a.get(["iconStatus",i])!=="emphasis"&&(f="tiled")),n.dispatchAction({type:"changeMagicType",currentType:f,newOption:s,newTitle:u,featureName:"magicType"})}},t}(Fr),nM={line:function(r,t,e,n){if(r==="bar")return Tt({id:t,type:"line",data:e.get("data"),stack:e.get("stack"),markPoint:e.get("markPoint"),markLine:e.get("markLine")},n.get(["option","line"])||{},!0)},bar:function(r,t,e,n){if(r==="line")return Tt({id:t,type:"bar",data:e.get("data"),stack:e.get("stack"),markPoint:e.get("markPoint"),markLine:e.get("markLine")},n.get(["option","bar"])||{},!0)},stack:function(r,t,e,n){var i=e.get("stack")===rM;if(r==="line"||r==="bar")return n.setIconStatus("stack",i?"normal":"emphasis"),Tt({id:t,stack:i?"":rM},n.get(["option","stack"])||{},!0)}};Zn({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(r,t){t.mergeOption(r.newOption)});const dtt=vtt;var Id=new Array(60).join("-"),Xs=" ";function ptt(r){var t={},e=[],n=[];return r.eachRawSeries(function(i){var a=i.coordinateSystem;if(a&&(a.type==="cartesian2d"||a.type==="polar")){var o=a.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;t[s]||(t[s]={categoryAxis:o,valueAxis:a.getOtherAxis(o),series:[]},n.push({axisDim:o.dim,axisIndex:o.index})),t[s].series.push(i)}else e.push(i)}else e.push(i)}),{seriesGroupByCategoryAxis:t,other:e,meta:n}}function gtt(r){var t=[];return M(r,function(e,n){var i=e.categoryAxis,a=e.valueAxis,o=a.dim,s=[" "].concat(Z(e.series,function(v){return v.name})),l=[i.model.getCategories()];M(e.series,function(v){var d=v.getRawData();l.push(v.getRawData().mapArray(d.mapDimension(o),function(p){return p}))});for(var u=[s.join(Xs)],f=0;f1||e>0&&!r.noHeader;return M(r.blocks,function(i){var a=A2(i);a>=t&&(t=a+ +(n&&(!a||wm(i)&&!i.noHeader)))}),t}return 0}function B4(r,t,e,n){var i=t.noHeader,a=G4(A2(t)),o=[],s=t.blocks||[];lr(!s||Y(s)),s=s||[];var l=r.orderMode;if(t.sortBlocks&&l){s=s.slice();var u={valueAsc:"asc",valueDesc:"desc"};if(lt(u,l)){var f=new y2(u[l],null);s.sort(function(p,g){return f.evaluate(p.sortParam,g.sortParam)})}else l==="seriesDesc"&&s.reverse()}M(s,function(p,g){var y=t.valueFormatter,m=T2(p)(y?F(F({},r),{valueFormatter:y}):r,p,g>0?a.html:0,n);m!=null&&o.push(m)});var c=r.renderMode==="richText"?o.join(a.richText):Tm(n,o.join(""),i?e:a.html);if(i)return c;var h=mm(t.header,"ordinal",r.useUTC),v=w2(n,r.renderMode).nameStyle,d=b2(n);return r.renderMode==="richText"?C2(r,h,v)+a.richText+c:Tm(n,'
'+qe(h)+"
"+c,e)}function z4(r,t,e,n){var i=r.renderMode,a=t.noName,o=t.noValue,s=!t.markerType,l=t.name,u=r.useUTC,f=t.valueFormatter||r.valueFormatter||function(S){return S=Y(S)?S:[S],Z(S,function(x,b){return mm(x,Y(v)?v[b]:v,u)})};if(!(a&&o)){var c=s?"":r.markupStyleCreator.makeTooltipMarker(t.markerType,t.markerColor||"#333",i),h=a?"":mm(l,"ordinal",u),v=t.valueType,d=o?[]:f(t.value,t.dataIndex),p=!s||!a,g=!s&&a,y=w2(n,i),m=y.nameStyle,_=y.valueStyle;return i==="richText"?(s?"":c)+(a?"":C2(r,h,m))+(o?"":W4(r,d,p,g,_)):Tm(n,(s?"":c)+(a?"":F4(h,!s,m))+(o?"":H4(d,p,g,_)),e)}}function sw(r,t,e,n,i,a){if(r){var o=T2(r),s={useUTC:i,renderMode:e,orderMode:n,markupStyleCreator:t,valueFormatter:r.valueFormatter};return o(s,r,0,a)}}function G4(r){return{html:N4[r],richText:V4[r]}}function Tm(r,t,e){var n='
',i="margin: "+e+"px 0 0",a=b2(r);return'
'+t+n+"
"}function F4(r,t,e){var n=t?"margin-left:2px":"";return''+qe(r)+""}function H4(r,t,e,n){var i=e?"10px":"20px",a=t?"float:right;margin-left:"+i:"";return r=Y(r)?r:[r],''+Z(r,function(o){return qe(o)}).join("  ")+""}function C2(r,t,e){return r.markupStyleCreator.wrapRichTextStyle(t,e)}function W4(r,t,e,n,i){var a=[i],o=n?10:20;return e&&a.push({padding:[0,0,0,o],align:"right"}),r.markupStyleCreator.wrapRichTextStyle(Y(t)?t.join(" "):t,a)}function M2(r,t){var e=r.getData().getItemVisual(t,"style"),n=e[r.visualDrawType];return Po(n)}function D2(r,t){var e=r.get("padding");return e!=null?e:t==="richText"?[8,10]:10}var Gp=function(){function r(){this.richTextStyles={},this._nextStyleNameId=DL()}return r.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},r.prototype.makeTooltipMarker=function(t,e,n){var i=n==="richText"?this._generateStyleName():null,a=LH({color:e,type:t,renderMode:n,markerId:i});return nt(a)?a:(this.richTextStyles[i]=a.style,a.content)},r.prototype.wrapRichTextStyle=function(t,e){var n={};Y(e)?M(e,function(a){return F(n,a)}):F(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},r}();function I2(r){var t=r.series,e=r.dataIndex,n=r.multipleSeries,i=t.getData(),a=i.mapDimensionsAll("defaultedTooltip"),o=a.length,s=t.getRawValue(e),l=Y(s),u=M2(t,e),f,c,h,v;if(o>1||l&&!o){var d=$4(s,t,e,a,u);f=d.inlineValues,c=d.inlineValueTypes,h=d.blocks,v=d.inlineValues[0]}else if(o){var p=i.getDimensionInfo(a[0]);v=f=Ws(i,e,a[0]),c=p.type}else v=f=l?s[0]:s;var g=u_(t),y=g&&t.name||"",m=i.getName(e),_=n?y:m;return Ie("section",{header:y,noHeader:n||!g,sortParam:v,blocks:[Ie("nameValue",{markerType:"item",markerColor:u,name:_,noName:!an(_),value:f,valueType:c,dataIndex:e})].concat(h||[])})}function $4(r,t,e,n,i){var a=t.getData(),o=Wn(r,function(c,h,v){var d=a.getDimensionInfo(v);return c=c||d&&d.tooltip!==!1&&d.displayName!=null},!1),s=[],l=[],u=[];n.length?M(n,function(c){f(Ws(a,e,c),c)}):M(r,f);function f(c,h){var v=a.getDimensionInfo(h);!v||v.otherDims.tooltip===!1||(o?u.push(Ie("nameValue",{markerType:"subItem",markerColor:i,name:v.displayName,value:c,valueType:v.type})):(s.push(c),l.push(v.type)))}return{inlineValues:s,inlineValueTypes:l,blocks:u}}var Pi=Nt();function vc(r,t){return r.getName(t)||r.getId(t)}var dh="__universalTransitionEnabled",md=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return t.prototype.init=function(e,n,i){this.seriesIndex=this.componentIndex,this.dataTask=Mu({count:Y4,reset:Z4}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(e,i);var a=Pi(this).sourceManager=new x2(this);a.prepareSource();var o=this.getInitialData(e,i);uw(o,this),this.dataTask.context.data=o,Pi(this).dataBeforeProcessed=o,lw(this),this._initSelectedMapFromData(o)},t.prototype.mergeDefaultAndTheme=function(e,n){var i=Ju(this),a=i?ol(e):{},o=this.subType;Bt.hasClass(o)&&(o+="Series"),Tt(e,n.getTheme().get(this.subType)),Tt(e,this.getDefaultOption()),Mo(e,"label",["show"]),this.fillDataTextStyle(e.data),i&&la(e,a,i)},t.prototype.mergeOption=function(e,n){e=Tt(this.option,e,!0),this.fillDataTextStyle(e.data);var i=Ju(this);i&&la(this.option,e,i);var a=Pi(this).sourceManager;a.dirty(),a.prepareSource();var o=this.getInitialData(e,n);uw(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,Pi(this).dataBeforeProcessed=o,lw(this),this._initSelectedMapFromData(o)},t.prototype.fillDataTextStyle=function(e){if(e&&!pr(e))for(var n=["show"],i=0;ithis.getShallow("animationThreshold")&&(n=!1),!!n},t.prototype.restoreData=function(){this.dataTask.dirty()},t.prototype.getColorFromPalette=function(e,n,i){var a=this.ecModel,o=k_.prototype.getColorFromPalette.call(this,e,n,i);return o||(o=a.getColorFromPalette(e,n,i)),o},t.prototype.coordDimToDataDim=function(e){return this.getRawData().mapDimensionsAll(e)},t.prototype.getProgressive=function(){return this.get("progressive")},t.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},t.prototype.select=function(e,n){this._innerSelect(this.getData(n),e)},t.prototype.unselect=function(e,n){var i=this.option.selectedMap;if(i){var a=this.option.selectedMode,o=this.getData(n);if(a==="series"||i==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s=0&&i.push(o)}return i},t.prototype.isSelected=function(e,n){var i=this.option.selectedMap;if(!i)return!1;var a=this.getData(n);return(i==="all"||i[vc(a,e)])&&!a.getItemModel(e).get(["select","disabled"])},t.prototype.isUniversalTransitionEnabled=function(){if(this[dh])return!0;var e=this.option.universalTransition;return e?e===!0?!0:e&&e.enabled:!1},t.prototype._innerSelect=function(e,n){var i,a,o=this.option,s=o.selectedMode,l=n.length;if(!(!s||!l)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){yt(o.selectedMap)||(o.selectedMap={});for(var u=o.selectedMap,f=0;f0&&this._innerSelect(e,n)}},t.registerClass=function(e){return Bt.registerClass(e)},t.protoInitialize=function(){var e=t.prototype;e.type="series.__base__",e.seriesIndex=0,e.ignoreStyleOnData=!1,e.hasSymbolVisual=!1,e.defaultSymbol="circle",e.visualStyleAccessPath="itemStyle",e.visualDrawType="fill"}(),t}(Bt);_e(md,gd);_e(md,k_);VL(md,Bt);function lw(r){var t=r.name;u_(r)||(r.name=U4(r)||t)}function U4(r){var t=r.getRawData(),e=t.mapDimensionsAll("seriesName"),n=[];return M(e,function(i){var a=t.getDimensionInfo(i);a.displayName&&n.push(a.displayName)}),n.join(" ")}function Y4(r){return r.model.getRawData().count()}function Z4(r){var t=r.model;return t.setData(t.getRawData().cloneShallow()),X4}function X4(r,t){t.outputData&&r.end>t.outputData.count()&&t.model.getRawData().cloneShallow(t.outputData)}function uw(r,t){M(Fu(r.CHANGABLE_METHODS,r.DOWNSAMPLE_METHODS),function(e){r.wrapMethod(e,bt(q4,t))})}function q4(r,t){var e=Am(r);return e&&e.setOutputEnd((t||this).count()),t}function Am(r){var t=(r.ecModel||{}).scheduler,e=t&&t.getPipeline(r.uid);if(e){var n=e.currentTask;if(n){var i=n.agentStubMap;i&&(n=i.get(r.uid))}return n}}const le=md;var z_=function(){function r(){this.group=new _t,this.uid=il("viewComponent")}return r.prototype.init=function(t,e){},r.prototype.render=function(t,e,n,i){},r.prototype.dispose=function(t,e){},r.prototype.updateView=function(t,e,n,i){},r.prototype.updateLayout=function(t,e,n,i){},r.prototype.updateVisual=function(t,e,n,i){},r.prototype.toggleBlurSeries=function(t,e,n){},r.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},r}();c_(z_);Jv(z_);const fe=z_;function ul(){var r=Nt();return function(t){var e=r(t),n=t.pipelineContext,i=!!e.large,a=!!e.progressiveRender,o=e.large=!!(n&&n.large),s=e.progressiveRender=!!(n&&n.progressiveRender);return(i!==o||a!==s)&&"reset"}}var L2=Nt(),K4=ul(),G_=function(){function r(){this.group=new _t,this.uid=il("viewChart"),this.renderTask=Mu({plan:j4,reset:J4}),this.renderTask.context={view:this}}return r.prototype.init=function(t,e){},r.prototype.render=function(t,e,n,i){},r.prototype.highlight=function(t,e,n,i){var a=t.getData(i&&i.dataType);a&&cw(a,i,"emphasis")},r.prototype.downplay=function(t,e,n,i){var a=t.getData(i&&i.dataType);a&&cw(a,i,"normal")},r.prototype.remove=function(t,e){this.group.removeAll()},r.prototype.dispose=function(t,e){},r.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},r.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},r.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},r.prototype.eachRendered=function(t){ga(this.group,t)},r.markUpdateMethod=function(t,e){L2(t).updateMethod=e},r.protoInitialize=function(){var t=r.prototype;t.type="chart"}(),r}();function fw(r,t,e){r&&qu(r)&&(t==="emphasis"?mi:_i)(r,e)}function cw(r,t,e){var n=Do(r,t),i=t&&t.highlightKey!=null?w3(t.highlightKey):null;n!=null?M(Zt(n),function(a){fw(r.getItemGraphicEl(a),e,i)}):r.eachItemGraphicEl(function(a){fw(a,e,i)})}c_(G_);Jv(G_);function j4(r){return K4(r.model)}function J4(r){var t=r.model,e=r.ecModel,n=r.api,i=r.payload,a=t.pipelineContext.progressiveRender,o=r.view,s=i&&L2(i).updateMethod,l=a?"incrementalPrepareRender":s&&o[s]?s:"render";return l!=="render"&&o[l](t,e,n,i),Q4[l]}var Q4={incrementalPrepareRender:{progress:function(r,t){t.view.incrementalRender(r,t.model,t.ecModel,t.api,t.payload)}},render:{forceFirstProgress:!0,progress:function(r,t){t.view.render(t.model,t.ecModel,t.api,t.payload)}}};const ee=G_;var jh="\0__throttleOriginMethod",hw="\0__throttleRate",vw="\0__throttleType";function F_(r,t,e){var n,i=0,a=0,o=null,s,l,u,f;t=t||0;function c(){a=new Date().getTime(),o=null,r.apply(l,u||[])}var h=function(){for(var v=[],d=0;d=0?c():o=setTimeout(c,-s),i=n};return h.clear=function(){o&&(clearTimeout(o),o=null)},h.debounceNextCall=function(v){f=v},h}function fl(r,t,e,n){var i=r[t];if(i){var a=i[jh]||i,o=i[vw],s=i[hw];if(s!==e||o!==n){if(e==null||!n)return r[t]=a;i=r[t]=F_(a,e,n==="debounce"),i[jh]=a,i[vw]=n,i[hw]=e}return i}}function tf(r,t){var e=r[t];e&&e[jh]&&(e.clear&&e.clear(),r[t]=e[jh])}var dw=Nt(),pw={itemStyle:Io(kP,!0),lineStyle:Io(EP,!0)},tW={lineStyle:"stroke",itemStyle:"fill"};function P2(r,t){var e=r.visualStyleMapper||pw[t];return e||(console.warn("Unknown style type '"+t+"'."),pw.itemStyle)}function R2(r,t){var e=r.visualDrawType||tW[t];return e||(console.warn("Unknown style type '"+t+"'."),"fill")}var eW={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){var e=r.getData(),n=r.visualStyleAccessPath||"itemStyle",i=r.getModel(n),a=P2(r,n),o=a(i),s=i.getShallow("decal");s&&(e.setVisual("decal",s),s.dirty=!0);var l=R2(r,n),u=o[l],f=vt(u)?u:null,c=o.fill==="auto"||o.stroke==="auto";if(!o[l]||f||c){var h=r.getColorFromPalette(r.name,null,t.getSeriesCount());o[l]||(o[l]=h,e.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||vt(o.fill)?h:o.fill,o.stroke=o.stroke==="auto"||vt(o.stroke)?h:o.stroke}if(e.setVisual("style",o),e.setVisual("drawType",l),!t.isSeriesFiltered(r)&&f)return e.setVisual("colorFromPalette",!1),{dataEach:function(v,d){var p=r.getDataParams(d),g=F({},o);g[l]=f(p),v.setItemVisual(d,"style",g)}}}},Ll=new te,rW={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){if(!(r.ignoreStyleOnData||t.isSeriesFiltered(r))){var e=r.getData(),n=r.visualStyleAccessPath||"itemStyle",i=P2(r,n),a=e.getVisual("drawType");return{dataEach:e.hasItemOption?function(o,s){var l=o.getRawDataItem(s);if(l&&l[n]){Ll.option=l[n];var u=i(Ll),f=o.ensureUniqueItemVisual(s,"style");F(f,u),Ll.option.decal&&(o.setItemVisual(s,"decal",Ll.option.decal),Ll.option.decal.dirty=!0),a in u&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},nW={performRawSeries:!0,overallReset:function(r){var t=ft();r.eachSeries(function(e){var n=e.getColorBy();if(!e.isColorBySeries()){var i=e.type+"-"+n,a=t.get(i);a||(a={},t.set(i,a)),dw(e).scope=a}}),r.eachSeries(function(e){if(!(e.isColorBySeries()||r.isSeriesFiltered(e))){var n=e.getRawData(),i={},a=e.getData(),o=dw(e).scope,s=e.visualStyleAccessPath||"itemStyle",l=R2(e,s);a.each(function(u){var f=a.getRawIndex(u);i[f]=u}),n.each(function(u){var f=i[u],c=a.getItemVisual(f,"colorFromPalette");if(c){var h=a.ensureUniqueItemVisual(f,"style"),v=n.getName(u)||u+"",d=n.count();h[l]=e.getColorFromPalette(v,o,d)}})}})}},dc=Math.PI;function iW(r,t){t=t||{},pt(t,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var e=new _t,n=new Vt({style:{fill:t.maskColor},zlevel:t.zlevel,z:1e4});e.add(n);var i=new Gt({style:{text:t.text,fill:t.textColor,fontSize:t.fontSize,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:t.fontFamily},zlevel:t.zlevel,z:10001}),a=new Vt({style:{fill:"none"},textContent:i,textConfig:{position:"right",distance:10},zlevel:t.zlevel,z:10001});e.add(a);var o;return t.showSpinner&&(o=new x_({shape:{startAngle:-dc/2,endAngle:-dc/2+.1,r:t.spinnerRadius},style:{stroke:t.color,lineCap:"round",lineWidth:t.lineWidth},zlevel:t.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:dc*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:dc*3/2}).delay(300).start("circularInOut"),e.add(o)),e.resize=function(){var s=i.getBoundingRect().width,l=t.showSpinner?t.spinnerRadius:0,u=(r.getWidth()-l*2-(t.showSpinner&&s?10:0)-s)/2-(t.showSpinner&&s?0:5+s/2)+(t.showSpinner?0:s/2)+(s?0:l),f=r.getHeight()/2;t.showSpinner&&o.setShape({cx:u,cy:f}),a.setShape({x:u-l,y:f-l,width:l*2,height:l*2}),n.setShape({x:0,y:0,width:r.getWidth(),height:r.getHeight()})},e.resize(),e}var aW=function(){function r(t,e,n,i){this._stageTaskMap=ft(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return r.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(n){var i=n.overallTask;i&&i.dirty()})},r.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,a=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex,o=a?n.step:null,s=i&&i.modDataCount,l=s!=null?Math.ceil(s/o):null;return{step:o,modBy:l,modDataCount:s}}},r.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},r.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData(),a=i.count(),o=n.progressiveEnabled&&e.incrementalPrepareRender&&a>=n.threshold,s=t.get("large")&&a>=t.get("largeThreshold"),l=t.get("progressiveChunkMode")==="mod"?a:null;t.pipelineContext=n.context={progressiveRender:o,modDataCount:l,large:s}},r.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=ft();t.eachSeries(function(i){var a=i.getProgressive(),o=i.uid;n.set(o,{id:o,head:null,tail:null,threshold:i.getProgressiveThreshold(),progressiveEnabled:a&&!(i.preventIncremental&&i.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),e._pipe(i,i.dataTask)})},r.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;M(this._allHandlers,function(i){var a=t.get(i.uid)||t.set(i.uid,{}),o="";lr(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,a,e,n),i.overallReset&&this._createOverallStageTask(i,a,e,n)},this)},r.prototype.prepareView=function(t,e,n,i){var a=t.renderTask,o=a.context;o.model=e,o.ecModel=n,o.api=i,a.__block=!t.incrementalPrepareRender,this._pipe(e,a)},r.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},r.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},r.prototype._performStageTasks=function(t,e,n,i){i=i||{};var a=!1,o=this;M(t,function(l,u){if(!(i.visualType&&i.visualType!==l.visualType)){var f=o._stageTaskMap.get(l.uid),c=f.seriesTaskMap,h=f.overallTask;if(h){var v,d=h.agentStubMap;d.each(function(g){s(i,g)&&(g.dirty(),v=!0)}),v&&h.dirty(),o.updatePayload(h,n);var p=o.getPerformArgs(h,i.block);d.each(function(g){g.perform(p)}),h.perform(p)&&(a=!0)}else c&&c.each(function(g,y){s(i,g)&&g.dirty();var m=o.getPerformArgs(g,i.block);m.skip=!l.performRawSeries&&e.isSeriesFiltered(g.context.model),o.updatePayload(g,n),g.perform(m)&&(a=!0)})}});function s(l,u){return l.setDirty&&(!l.dirtyMap||l.dirtyMap.get(u.__pipeline.id))}this.unfinished=a||this.unfinished},r.prototype.performSeriesTasks=function(t){var e;t.eachSeries(function(n){e=n.dataTask.perform()||e}),this.unfinished=e||this.unfinished},r.prototype.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})},r.prototype.updatePayload=function(t,e){e!=="remain"&&(t.context.payload=e)},r.prototype._createSeriesStageTask=function(t,e,n,i){var a=this,o=e.seriesTaskMap,s=e.seriesTaskMap=ft(),l=t.seriesType,u=t.getTargetSeries;t.createOnAllSeries?n.eachRawSeries(f):l?n.eachRawSeriesByType(l,f):u&&u(n,i).each(f);function f(c){var h=c.uid,v=s.set(h,o&&o.get(h)||Mu({plan:fW,reset:cW,count:vW}));v.context={model:c,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:a},a._pipe(c,v)}},r.prototype._createOverallStageTask=function(t,e,n,i){var a=this,o=e.overallTask=e.overallTask||Mu({reset:oW});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:a};var s=o.agentStubMap,l=o.agentStubMap=ft(),u=t.seriesType,f=t.getTargetSeries,c=!0,h=!1,v="";lr(!t.createOnAllSeries,v),u?n.eachRawSeriesByType(u,d):f?f(n,i).each(d):(c=!1,M(n.getSeries(),d));function d(p){var g=p.uid,y=l.set(g,s&&s.get(g)||(h=!0,Mu({reset:sW,onDirty:uW})));y.context={model:p,overallProgress:c},y.agent=o,y.__block=c,a._pipe(p,y)}h&&o.dirty()},r.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},r.wrapStageHandler=function(t,e){return vt(t)&&(t={overallReset:t,seriesType:dW(t)}),t.uid=il("stageHandler"),e&&(t.visualType=e),t},r}();function oW(r){r.overallReset(r.ecModel,r.api,r.payload)}function sW(r){return r.overallProgress&&lW}function lW(){this.agent.dirty(),this.getDownstream().dirty()}function uW(){this.agent&&this.agent.dirty()}function fW(r){return r.plan?r.plan(r.model,r.ecModel,r.api,r.payload):null}function cW(r){r.useClearVisual&&r.data.clearAllVisual();var t=r.resetDefines=Zt(r.reset(r.model,r.ecModel,r.api,r.payload));return t.length>1?Z(t,function(e,n){return E2(n)}):hW}var hW=E2(0);function E2(r){return function(t,e){var n=e.data,i=e.resetDefines[r];if(i&&i.dataEach)for(var a=t.start;a0&&v===u.length-h.length){var d=u.slice(0,v);d!=="data"&&(e.mainType=d,e[h.toLowerCase()]=l,f=!0)}}s.hasOwnProperty(u)&&(n[u]=l,f=!0),f||(i[u]=l)})}return{cptQuery:e,dataQuery:n,otherQuery:i}},r.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,a=n.packedEvent,o=n.model,s=n.view;if(!o||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return f(l,o,"mainType")&&f(l,o,"subType")&&f(l,o,"index","componentIndex")&&f(l,o,"name")&&f(l,o,"id")&&f(u,a,"name")&&f(u,a,"dataIndex")&&f(u,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,i,a));function f(c,h,v,d){return c[v]==null||h[d||v]===c[v]}},r.prototype.afterTrigger=function(){this.eventInfo=null},r}(),Cm=["symbol","symbolSize","symbolRotate","symbolOffset"],_w=Cm.concat(["symbolKeepAspect"]),mW={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,t){var e=r.getData();if(r.legendIcon&&e.setVisual("legendIcon",r.legendIcon),!r.hasSymbolVisual)return;for(var n={},i={},a=!1,o=0;o=0&&fo(l)?l:.5;var u=r.createRadialGradient(o,s,0,o,s,l);return u}function Mm(r,t,e){for(var n=t.type==="radial"?kW(r,t,e):EW(r,t,e),i=t.colorStops,a=0;a0)?null:r==="dashed"?[4*t,2*t]:r==="dotted"?[t]:Ft(r)?[r]:Y(r)?r:null}function W_(r){var t=r.style,e=t.lineDash&&t.lineWidth>0&&NW(t.lineDash,t.lineWidth),n=t.lineDashOffset;if(e){var i=t.strokeNoScale&&r.getLineScale?r.getLineScale():1;i&&i!==1&&(e=Z(e,function(a){return a/i}),n/=i)}return[e,n]}var VW=new Zn(!0);function tv(r){var t=r.stroke;return!(t==null||t==="none"||!(r.lineWidth>0))}function Sw(r){return typeof r=="string"&&r!=="none"}function ev(r){var t=r.fill;return t!=null&&t!=="none"}function xw(r,t){if(t.fillOpacity!=null&&t.fillOpacity!==1){var e=r.globalAlpha;r.globalAlpha=t.fillOpacity*t.opacity,r.fill(),r.globalAlpha=e}else r.fill()}function bw(r,t){if(t.strokeOpacity!=null&&t.strokeOpacity!==1){var e=r.globalAlpha;r.globalAlpha=t.strokeOpacity*t.opacity,r.stroke(),r.globalAlpha=e}else r.stroke()}function Dm(r,t,e){var n=h_(t.image,t.__image,e);if(Qv(n)){var i=r.createPattern(n,t.repeat||"repeat");if(typeof DOMMatrix=="function"&&i&&i.setTransform){var a=new DOMMatrix;a.translateSelf(t.x||0,t.y||0),a.rotateSelf(0,0,(t.rotation||0)*th),a.scaleSelf(t.scaleX||1,t.scaleY||1),i.setTransform(a)}return i}}function BW(r,t,e,n){var i,a=tv(e),o=ev(e),s=e.strokePercent,l=s<1,u=!t.path;(!t.silent||l)&&u&&t.createPathProxy();var f=t.path||VW,c=t.__dirty;if(!n){var h=e.fill,v=e.stroke,d=o&&!!h.colorStops,p=a&&!!v.colorStops,g=o&&!!h.image,y=a&&!!v.image,m=void 0,_=void 0,S=void 0,x=void 0,b=void 0;(d||p)&&(b=t.getBoundingRect()),d&&(m=c?Mm(r,h,b):t.__canvasFillGradient,t.__canvasFillGradient=m),p&&(_=c?Mm(r,v,b):t.__canvasStrokeGradient,t.__canvasStrokeGradient=_),g&&(S=c||!t.__canvasFillPattern?Dm(r,h,t):t.__canvasFillPattern,t.__canvasFillPattern=S),y&&(x=c||!t.__canvasStrokePattern?Dm(r,v,t):t.__canvasStrokePattern,t.__canvasStrokePattern=S),d?r.fillStyle=m:g&&(S?r.fillStyle=S:o=!1),p?r.strokeStyle=_:y&&(x?r.strokeStyle=x:a=!1)}var w=t.getGlobalScale();f.setScale(w[0],w[1],t.segmentIgnoreThreshold);var T,A;r.setLineDash&&e.lineDash&&(i=W_(t),T=i[0],A=i[1]);var C=!0;(u||c&ps)&&(f.setDPR(r.dpr),l?f.setContext(null):(f.setContext(r),C=!1),f.reset(),t.buildPath(f,t.shape,n),f.toStatic(),t.pathUpdated()),C&&f.rebuildPath(r,l?s:1),T&&(r.setLineDash(T),r.lineDashOffset=A),n||(e.strokeFirst?(a&&bw(r,e),o&&xw(r,e)):(o&&xw(r,e),a&&bw(r,e))),T&&r.setLineDash([])}function zW(r,t,e){var n=t.__image=h_(e.image,t.__image,t,t.onload);if(!(!n||!Qv(n))){var i=e.x||0,a=e.y||0,o=t.getWidth(),s=t.getHeight(),l=n.width/n.height;if(o==null&&s!=null?o=s*l:s==null&&o!=null?s=o/l:o==null&&s==null&&(o=n.width,s=n.height),e.sWidth&&e.sHeight){var u=e.sx||0,f=e.sy||0;r.drawImage(n,u,f,e.sWidth,e.sHeight,i,a,o,s)}else if(e.sx&&e.sy){var u=e.sx,f=e.sy,c=o-u,h=s-f;r.drawImage(n,u,f,c,h,i,a,o,s)}else r.drawImage(n,i,a,o,s)}}function GW(r,t,e){var n,i=e.text;if(i!=null&&(i+=""),i){r.font=e.font||ia,r.textAlign=e.textAlign,r.textBaseline=e.textBaseline;var a=void 0,o=void 0;r.setLineDash&&e.lineDash&&(n=W_(t),a=n[0],o=n[1]),a&&(r.setLineDash(a),r.lineDashOffset=o),e.strokeFirst?(tv(e)&&r.strokeText(i,e.x,e.y),ev(e)&&r.fillText(i,e.x,e.y)):(ev(e)&&r.fillText(i,e.x,e.y),tv(e)&&r.strokeText(i,e.x,e.y)),a&&r.setLineDash([])}}var ww=["shadowBlur","shadowOffsetX","shadowOffsetY"],Tw=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function G2(r,t,e,n,i){var a=!1;if(!n&&(e=e||{},t===e))return!1;if(n||t.opacity!==e.opacity){dr(r,i),a=!0;var o=Math.max(Math.min(t.opacity,1),0);r.globalAlpha=isNaN(o)?_o.opacity:o}(n||t.blend!==e.blend)&&(a||(dr(r,i),a=!0),r.globalCompositeOperation=t.blend||_o.blend);for(var s=0;s0&&e.unfinished);e.unfinished||this._zr.flush()}}},t.prototype.getDom=function(){return this._dom},t.prototype.getId=function(){return this.id},t.prototype.getZr=function(){return this._zr},t.prototype.isSSR=function(){return this._ssr},t.prototype.setOption=function(e,n,i){if(!this[Ue]){if(this._disposed){this.id;return}var a,o,s;if(yt(n)&&(i=n.lazyUpdate,a=n.silent,o=n.replaceMerge,s=n.transition,n=n.notMerge),this[Ue]=!0,!this._model||n){var l=new e4(this._api),u=this._theme,f=this._model=new a2;f.scheduler=this._scheduler,f.ssr=this._ssr,f.init(null,null,null,u,this._locale,l)}this._model.setOption(e,{replaceMerge:o},Lm);var c={seriesTransition:s,optionChanged:!0};if(i)this[cr]={silent:a,updateParams:c},this[Ue]=!1,this.getZr().wakeUp();else{try{rs(this),Ri.update.call(this,null,c)}catch(h){throw this[cr]=null,this[Ue]=!1,h}this._ssr||this._zr.flush(),this[cr]=null,this[Ue]=!1,Pl.call(this,a),Rl.call(this,a)}}},t.prototype.setTheme=function(){},t.prototype.getModel=function(){return this._model},t.prototype.getOption=function(){return this._model&&this._model.getOption()},t.prototype.getWidth=function(){return this._zr.getWidth()},t.prototype.getHeight=function(){return this._zr.getHeight()},t.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||zt.hasGlobalWindow&&window.devicePixelRatio||1},t.prototype.getRenderedCanvas=function(e){return this.renderToCanvas(e)},t.prototype.renderToCanvas=function(e){e=e||{};var n=this._zr.painter;return n.getRenderedCanvas({backgroundColor:e.backgroundColor||this._model.get("backgroundColor"),pixelRatio:e.pixelRatio||this.getDevicePixelRatio()})},t.prototype.renderToSVGString=function(e){e=e||{};var n=this._zr.painter;return n.renderToString({useViewBox:e.useViewBox})},t.prototype.getSvgDataURL=function(){if(zt.svgSupported){var e=this._zr,n=e.storage.getDisplayList();return M(n,function(i){i.stopAnimation(null,!0)}),e.painter.toDataURL()}},t.prototype.getDataURL=function(e){if(this._disposed){this.id;return}e=e||{};var n=e.excludeComponents,i=this._model,a=[],o=this;M(n,function(l){i.eachComponent({mainType:l},function(u){var f=o._componentsMap[u.__viewId];f.group.ignore||(a.push(f),f.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(e).toDataURL("image/"+(e&&e.type||"png"));return M(a,function(l){l.group.ignore=!1}),s},t.prototype.getConnectedDataURL=function(e){if(this._disposed){this.id;return}var n=e.type==="svg",i=this.group,a=Math.min,o=Math.max,s=1/0;if(zw[i]){var l=s,u=s,f=-s,c=-s,h=[],v=e&&e.pixelRatio||this.getDevicePixelRatio();M(Iu,function(_,S){if(_.group===i){var x=n?_.getZr().painter.getSvgDom().innerHTML:_.renderToCanvas(mt(e)),b=_.getDom().getBoundingClientRect();l=a(b.left,l),u=a(b.top,u),f=o(b.right,f),c=o(b.bottom,c),h.push({dom:x,left:b.left,top:b.top})}}),l*=v,u*=v,f*=v,c*=v;var d=f-l,p=c-u,g=aa.createCanvas(),y=$x(g,{renderer:n?"svg":"canvas"});if(y.resize({width:d,height:p}),n){var m="";return M(h,function(_){var S=_.left-l,x=_.top-u;m+=''+_.dom+""}),y.painter.getSvgRoot().innerHTML=m,e.connectedBackgroundColor&&y.painter.setBackgroundColor(e.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}else return e.connectedBackgroundColor&&y.add(new Vt({shape:{x:0,y:0,width:d,height:p},style:{fill:e.connectedBackgroundColor}})),M(h,function(_){var S=new We({style:{x:_.left*v-l,y:_.top*v-u,image:_.dom}});y.add(S)}),y.refreshImmediately(),g.toDataURL("image/"+(e&&e.type||"png"))}else return this.getDataURL(e)},t.prototype.convertToPixel=function(e,n){return Up(this,"convertToPixel",e,n)},t.prototype.convertFromPixel=function(e,n){return Up(this,"convertFromPixel",e,n)},t.prototype.containPixel=function(e,n){if(this._disposed){this.id;return}var i=this._model,a,o=bu(i,e);return M(o,function(s,l){l.indexOf("Models")>=0&&M(s,function(u){var f=u.coordinateSystem;if(f&&f.containPoint)a=a||!!f.containPoint(n);else if(l==="seriesModels"){var c=this._chartsMap[u.__viewId];c&&c.containPoint&&(a=a||c.containPoint(n,u))}},this)},this),!!a},t.prototype.getVisual=function(e,n){var i=this._model,a=bu(i,e,{defaultMainType:"series"}),o=a.seriesModel,s=o.getData(),l=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?s.indexOfRawIndex(a.dataIndex):null;return l!=null?H_(s,l,n):If(s,n)},t.prototype.getViewOfComponentModel=function(e){return this._componentsMap[e.__viewId]},t.prototype.getViewOfSeriesModel=function(e){return this._chartsMap[e.__viewId]},t.prototype._initEvents=function(){var e=this;M(h$,function(n){var i=function(a){var o=e.getModel(),s=a.target,l,u=n==="globalout";if(u?l={}:s&&uo(s,function(d){var p=St(d);if(p&&p.dataIndex!=null){var g=p.dataModel||o.getSeriesByIndex(p.seriesIndex);return l=g&&g.getDataParams(p.dataIndex,p.dataType,s)||{},!0}else if(p.eventData)return l=F({},p.eventData),!0},!0),l){var f=l.componentType,c=l.componentIndex;(f==="markLine"||f==="markPoint"||f==="markArea")&&(f="series",c=l.seriesIndex);var h=f&&c!=null&&o.getComponent(f,c),v=h&&e[h.mainType==="series"?"_chartsMap":"_componentsMap"][h.__viewId];l.event=a,l.type=n,e._$eventProcessor.eventInfo={targetEl:s,packedEvent:l,model:h,view:v},e.trigger(n,l)}};i.zrEventfulCallAtLast=!0,e._zr.on(n,i,e)}),M(Du,function(n,i){e._messageCenter.on(i,function(a){this.trigger(i,a)},e)}),M(["selectchanged"],function(n){e._messageCenter.on(n,function(i){this.trigger(n,i)},e)}),SW(this._messageCenter,this,this._api)},t.prototype.isDisposed=function(){return this._disposed},t.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},t.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var e=this.getDom();e&&kL(this.getDom(),Y_,"");var n=this,i=n._api,a=n._model;M(n._componentsViews,function(o){o.dispose(a,i)}),M(n._chartsViews,function(o){o.dispose(a,i)}),n._zr.dispose(),n._dom=n._model=n._chartsMap=n._componentsMap=n._chartsViews=n._componentsViews=n._scheduler=n._api=n._zr=n._throttledZrFlush=n._theme=n._coordSysMgr=n._messageCenter=null,delete Iu[n.id]},t.prototype.resize=function(e){if(!this[Ue]){if(this._disposed){this.id;return}this._zr.resize(e);var n=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!n){var i=n.resetOption("media"),a=e&&e.silent;this[cr]&&(a==null&&(a=this[cr].silent),i=!0,this[cr]=null),this[Ue]=!0;try{i&&rs(this),Ri.update.call(this,{type:"resize",animation:F({duration:0},e&&e.animation)})}catch(o){throw this[Ue]=!1,o}this[Ue]=!1,Pl.call(this,a),Rl.call(this,a)}}},t.prototype.showLoading=function(e,n){if(this._disposed){this.id;return}if(yt(e)&&(n=e,e=""),e=e||"default",this.hideLoading(),!!Pm[e]){var i=Pm[e](this._api,n),a=this._zr;this._loadingFX=i,a.add(i)}},t.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},t.prototype.makeActionFromEvent=function(e){var n=F({},e);return n.type=Du[e.type],n},t.prototype.dispatchAction=function(e,n){if(this._disposed){this.id;return}if(yt(n)||(n={silent:!!n}),!!rv[e.type]&&this._model){if(this[Ue]){this._pendingActions.push(e);return}var i=n.silent;Zp.call(this,e,i);var a=n.flush;a?this._zr.flush():a!==!1&&zt.browser.weChat&&this._throttledZrFlush(),Pl.call(this,i),Rl.call(this,i)}},t.prototype.updateLabelLayout=function(){en.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},t.prototype.appendData=function(e){if(this._disposed){this.id;return}var n=e.seriesIndex,i=this.getModel(),a=i.getSeriesByIndex(n);a.appendData(e),this._scheduler.unfinished=!0,this.getZr().wakeUp()},t.internalField=function(){rs=function(c){var h=c._scheduler;h.restorePipelines(c._model),h.prepareStageTasks(),$p(c,!0),$p(c,!1),h.plan()},$p=function(c,h){for(var v=c._model,d=c._scheduler,p=h?c._componentsViews:c._chartsViews,g=h?c._componentsMap:c._chartsMap,y=c._zr,m=c._api,_=0;_h.get("hoverLayerThreshold")&&!zt.node&&!zt.worker&&h.eachSeries(function(g){if(!g.preventUsingHoverLayer){var y=c._chartsMap[g.__viewId];y.__alive&&y.eachRendered(function(m){m.states.emphasis&&(m.states.emphasis.hoverLayer=!0)})}})}function o(c,h){var v=c.get("blendMode")||null;h.eachRendered(function(d){d.isGroup||(d.style.blend=v)})}function s(c,h){if(!c.preventAutoZ){var v=c.get("z")||0,d=c.get("zlevel")||0;h.eachRendered(function(p){return l(p,v,d,-1/0),!0})}}function l(c,h,v,d){var p=c.getTextContent(),g=c.getTextGuideLine(),y=c.isGroup;if(y)for(var m=c.childrenRef(),_=0;_0?{duration:p,delay:v.get("delay"),easing:v.get("easing")}:null;h.eachRendered(function(y){if(y.states&&y.states.emphasis){if(Ps(y))return;if(y instanceof Pt&&T3(y),y.__dirty){var m=y.prevStates;m&&y.useStates(m)}if(d){y.stateTransition=g;var _=y.getTextContent(),S=y.getTextGuideLine();_&&(_.stateTransition=g),S&&(S.stateTransition=g)}y.__dirty&&i(y)}})}Vw=function(c){return new(function(h){B(v,h);function v(){return h!==null&&h.apply(this,arguments)||this}return v.prototype.getCoordinateSystems=function(){return c._coordSysMgr.getCoordinateSystems()},v.prototype.getComponentByElement=function(d){for(;d;){var p=d.__ecComponentInfo;if(p!=null)return c._model.getComponent(p.mainType,p.index);d=d.parent}},v.prototype.enterEmphasis=function(d,p){mi(d,p),Lr(c)},v.prototype.leaveEmphasis=function(d,p){_i(d,p),Lr(c)},v.prototype.enterBlur=function(d){eP(d),Lr(c)},v.prototype.leaveBlur=function(d){y_(d),Lr(c)},v.prototype.enterSelect=function(d){rP(d),Lr(c)},v.prototype.leaveSelect=function(d){nP(d),Lr(c)},v.prototype.getModel=function(){return c.getModel()},v.prototype.getViewOfComponentModel=function(d){return c.getViewOfComponentModel(d)},v.prototype.getViewOfSeriesModel=function(d){return c.getViewOfSeriesModel(d)},v}(o2))(c)},eR=function(c){function h(v,d){for(var p=0;p=0)){Gw.push(e);var a=N2.wrapStageHandler(e,i);a.__prio=t,a.__raw=e,r.push(a)}}function oR(r,t){Pm[r]=t}function _$(r,t,e){var n=jW("registerMap");n&&n(r,t,e)}var S$=I4;Go($_,eW);Go(_d,rW);Go(_d,nW);Go($_,mW);Go(_d,_W);Go(q2,XW);Z_(l2);aR(t$,u4);oR("default",iW);qn({type:So,event:So,update:So},pe);qn({type:uh,event:uh,update:uh},pe);qn({type:wu,event:wu,update:wu},pe);qn({type:fh,event:fh,update:fh},pe);qn({type:Tu,event:Tu,update:Tu},pe);iR("light",pW);iR("dark",gW);var Fw=[],x$={registerPreprocessor:Z_,registerProcessor:aR,registerPostInit:p$,registerPostUpdate:g$,registerUpdateLifecycle:X_,registerAction:qn,registerCoordinateSystem:y$,registerLayout:m$,registerVisual:Go,registerTransform:S$,registerLoading:oR,registerMap:_$,registerImpl:KW,PRIORITY:u$,ComponentModel:Bt,ComponentView:fe,SeriesModel:le,ChartView:ee,registerComponentModel:function(r){Bt.registerClass(r)},registerComponentView:function(r){fe.registerClass(r)},registerSeriesModel:function(r){le.registerClass(r)},registerChartView:function(r){ee.registerClass(r)},registerSubTypeDefaulter:function(r,t){Bt.registerSubTypeDefaulter(r,t)},registerPainter:function(r,t){HG(r,t)}};function Lt(r){if(Y(r)){M(r,function(t){Lt(t)});return}Dt(Fw,r)>=0||(Fw.push(r),vt(r)&&(r={install:r}),r.install(x$))}function El(r){return r==null?0:r.length||1}function Hw(r){return r}var b$=function(){function r(t,e,n,i,a,o){this._old=t,this._new=e,this._oldKeyGetter=n||Hw,this._newKeyGetter=i||Hw,this.context=a,this._diffModeMultiple=o==="multiple"}return r.prototype.add=function(t){return this._add=t,this},r.prototype.update=function(t){return this._update=t,this},r.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},r.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},r.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},r.prototype.remove=function(t){return this._remove=t,this},r.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},r.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),a=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,a,"_newKeyGetter");for(var o=0;o1){var f=l.shift();l.length===1&&(n[s]=l[0]),this._update&&this._update(f,o)}else u===1?(n[s]=null,this._update&&this._update(l,o)):this._remove&&this._remove(o)}this._performRestAdd(a,n)},r.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},a=[],o=[];this._initIndexMap(t,n,a,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var s=0;s1&&h===1)this._updateManyToOne&&this._updateManyToOne(f,u),i[l]=null;else if(c===1&&h>1)this._updateOneToMany&&this._updateOneToMany(f,u),i[l]=null;else if(c===1&&h===1)this._update&&this._update(f,u),i[l]=null;else if(c>1&&h>1)this._updateManyToMany&&this._updateManyToMany(f,u),i[l]=null;else if(c>1)for(var v=0;v1)for(var s=0;s30}var kl=yt,Ei=Z,I$=typeof Int32Array=="undefined"?Array:Int32Array,L$="e\0\0",Ww=-1,P$=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],R$=["_approximateExtent"],$w,_c,Ol,Nl,Kp,Vl,jp,E$=function(){function r(t,e){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","minmaxDownSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","minmaxDownSample","lttbDownSample"];var n,i=!1;lR(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var a={},o=[],s={},l=!1,u={},f=0;f=e)){var n=this._store,i=n.getProvider();this._updateOrdinalMeta();var a=this._nameList,o=this._idList,s=i.getSource().sourceFormat,l=s===Xr;if(l&&!i.pure)for(var u=[],f=t;f0},r.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var a=i[e];return a==null&&(a=this.getVisual(e),Y(a)?a=a.slice():kl(a)&&(a=F({},a)),i[e]=a),a},r.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,kl(e)?F(i,e):i[e]=n},r.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},r.prototype.setLayout=function(t,e){kl(t)?F(this._layout,t):this._layout[t]=e},r.prototype.getLayout=function(t){return this._layout[t]},r.prototype.getItemLayout=function(t){return this._itemLayouts[t]},r.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?F(this._itemLayouts[t]||{},e):e},r.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},r.prototype.setItemGraphicEl=function(t,e){var n=this.hostModel&&this.hostModel.seriesIndex;um(n,this.dataType,t,e),this._graphicEls[t]=e},r.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},r.prototype.eachItemGraphicEl=function(t,e){M(this._graphicEls,function(n,i){n&&t&&t.call(e,n,i)})},r.prototype.cloneShallow=function(t){return t||(t=new r(this._schema?this._schema:Ei(this.dimensions,this._getDimInfo,this),this.hostModel)),Kp(t,this),t._store=this._store,t},r.prototype.wrapMethod=function(t,e){var n=this[t];vt(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var i=n.apply(this,arguments);return e.apply(this,[i].concat(Q0(arguments)))})},r.internalField=function(){$w=function(t){var e=t._invertedIndicesMap;M(e,function(n,i){var a=t._dimInfos[i],o=a.ordinalMeta,s=t._store;if(o){n=e[i]=new I$(o.categories.length);for(var l=0;l1&&(l+="__ec__"+f),i[e]=l}}}(),r}();const sr=E$;function Lf(r,t){O_(r)||(r=N_(r)),t=t||{};var e=t.coordDimensions||[],n=t.dimensionsDefine||r.dimensionsDefine||[],i=ft(),a=[],o=O$(r,e,n,t.dimensionsCount),s=t.canOmitUnusedDimensions&&cR(o),l=n===r.dimensionsDefine,u=l?fR(r):uR(n),f=t.encodeDefine;!f&&t.encodeDefaulter&&(f=t.encodeDefaulter(r,o));for(var c=ft(f),h=new _2(o),v=0;v0&&(n.name=i+(a-1)),a++,t.set(i,a)}}function O$(r,t,e,n){var i=Math.max(r.dimensionsDetectedCount||1,t.length,e.length,n||0);return M(t,function(a){var o;yt(a)&&(o=a.dimsDef)&&(i=Math.max(i,o.length))}),i}function N$(r,t,e){if(e||t.hasKey(r)){for(var n=0;t.hasKey(r+n);)n++;r+=n}return t.set(r,!0),r}var V$=function(){function r(t){this.coordSysDims=[],this.axisMap=ft(),this.categoryAxisMap=ft(),this.coordSysName=t}return r}();function B$(r){var t=r.get("coordinateSystem"),e=new V$(t),n=z$[t];if(n)return n(r,e,e.axisMap,e.categoryAxisMap),e}var z$={cartesian2d:function(r,t,e,n){var i=r.getReferringComponents("xAxis",ye).models[0],a=r.getReferringComponents("yAxis",ye).models[0];t.coordSysDims=["x","y"],e.set("x",i),e.set("y",a),ns(i)&&(n.set("x",i),t.firstCategoryDimIndex=0),ns(a)&&(n.set("y",a),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},singleAxis:function(r,t,e,n){var i=r.getReferringComponents("singleAxis",ye).models[0];t.coordSysDims=["single"],e.set("single",i),ns(i)&&(n.set("single",i),t.firstCategoryDimIndex=0)},polar:function(r,t,e,n){var i=r.getReferringComponents("polar",ye).models[0],a=i.findAxisModel("radiusAxis"),o=i.findAxisModel("angleAxis");t.coordSysDims=["radius","angle"],e.set("radius",a),e.set("angle",o),ns(a)&&(n.set("radius",a),t.firstCategoryDimIndex=0),ns(o)&&(n.set("angle",o),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},geo:function(r,t,e,n){t.coordSysDims=["lng","lat"]},parallel:function(r,t,e,n){var i=r.ecModel,a=i.getComponent("parallel",r.get("parallelIndex")),o=t.coordSysDims=a.dimensions.slice();M(a.parallelAxisIndex,function(s,l){var u=i.getComponent("parallelAxis",s),f=o[l];e.set(f,u),ns(u)&&(n.set(f,u),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=l))})}};function ns(r){return r.get("type")==="category"}function G$(r,t,e){e=e||{};var n=e.byIndex,i=e.stackedCoordDimension,a,o,s;F$(t)?a=t:(o=t.schema,a=o.dimensions,s=t.store);var l=!!(r&&r.get("stack")),u,f,c,h;if(M(a,function(m,_){nt(m)&&(a[_]=m={name:m}),l&&!m.isExtraCoord&&(!n&&!u&&m.ordinalMeta&&(u=m),!f&&m.type!=="ordinal"&&m.type!=="time"&&(!i||i===m.coordDim)&&(f=m))}),f&&!n&&!u&&(n=!0),f){c="__\0ecstackresult_"+r.id,h="__\0ecstackedover_"+r.id,u&&(u.createInvertedIndices=!0);var v=f.coordDim,d=f.type,p=0;M(a,function(m){m.coordDim===v&&p++});var g={name:c,coordDim:v,coordDimIndex:p,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},y={name:h,coordDim:h,coordDimIndex:p+1,type:d,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(g.storeDimIndex=s.ensureCalculationDimension(h,d),y.storeDimIndex=s.ensureCalculationDimension(c,d)),o.appendCalculationDimension(g),o.appendCalculationDimension(y)):(a.push(g),a.push(y))}return{stackedDimension:f&&f.name,stackedByDimension:u&&u.name,isStackedByIndex:n,stackedOverDimension:h,stackResultDimension:c}}function F$(r){return!lR(r.schema)}function ua(r,t){return!!t&&t===r.getCalculationInfo("stackedDimension")}function hR(r,t){return ua(r,t)?r.getCalculationInfo("stackResultDimension"):t}function H$(r,t){var e=r.get("coordinateSystem"),n=Df.get(e),i;return t&&t.coordSysDims&&(i=Z(t.coordSysDims,function(a){var o={name:a},s=t.axisMap.get(a);if(s){var l=s.get("type");o.type=iv(l)}return o})),i||(i=n&&(n.getDimensionsInfo?n.getDimensionsInfo():n.dimensions.slice())||["x","y"]),i}function W$(r,t,e){var n,i;return e&&M(r,function(a,o){var s=a.coordDim,l=e.categoryAxisMap.get(s);l&&(n==null&&(n=o),a.ordinalMeta=l.getOrdinalMeta(),t&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(i=!0)}),!i&&n!=null&&(r[n].otherDims.itemName=0),n}function Ai(r,t,e){e=e||{};var n=t.getSourceManager(),i,a=!1;r?(a=!0,i=N_(r)):(i=n.getSource(),a=i.sourceFormat===Xr);var o=B$(t),s=H$(t,o),l=e.useEncodeDefaulter,u=vt(l)?l:l?bt(t2,s,t):null,f={coordDimensions:s,generateCoord:e.generateCoord,encodeDefine:t.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!a},c=Lf(i,f),h=W$(c.dimensions,e.createInvertedIndices,o),v=a?null:n.getSharedDataStore(c),d=G$(t,{schema:c,store:v}),p=new sr(c,t);p.setCalculationInfo(d);var g=h!=null&&$$(i)?function(y,m,_,S){return S===h?_:this.defaultDimValueGetter(y,m,_,S)}:null;return p.hasItemOption=!1,p.initData(a?i:v,null,g),p}function $$(r){if(r.sourceFormat===Xr){var t=U$(r.data||[]);return!Y(tl(t))}}function U$(r){for(var t=0;te[1]&&(e[1]=t[1])},r.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},r.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},r.prototype.isBlank=function(){return this._isBlank},r.prototype.setBlank=function(t){this._isBlank=t},r}();Jv(vR);const Ci=vR;var Y$=0,Z$=function(){function r(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++Y$}return r.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&Z(n,X$);return new r({categories:i,needCollect:!i,deduplication:e.dedplication!==!1})},r.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},r.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!nt(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return e=i.get(t),e==null&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},r.prototype._getOrCreateMap=function(){return this._map||(this._map=ft(this.categories))},r}();function X$(r){return yt(r)&&r.value!=null?r.value:r+""}const Rm=Z$;function Em(r){return r.type==="interval"||r.type==="log"}function q$(r,t,e,n){var i={},a=r[1]-r[0],o=i.interval=CL(a/t,!0);e!=null&&on&&(o=i.interval=n);var s=i.intervalPrecision=dR(o),l=i.niceTickExtent=[ce(Math.ceil(r[0]/o)*o,s),ce(Math.floor(r[1]/o)*o,s)];return K$(l,r),i}function Jp(r){var t=Math.pow(10,l_(r)),e=r/t;return e?e===2?e=3:e===3?e=5:e*=2:e=1,ce(e*t)}function dR(r){return On(r)+2}function Uw(r,t,e){r[t]=Math.max(Math.min(r[t],e[1]),e[0])}function K$(r,t){!isFinite(r[0])&&(r[0]=t[0]),!isFinite(r[1])&&(r[1]=t[1]),Uw(r,0,t),Uw(r,1,t),r[0]>r[1]&&(r[0]=r[1])}function Sd(r,t){return r>=t[0]&&r<=t[1]}function xd(r,t){return t[1]===t[0]?.5:(r-t[0])/(t[1]-t[0])}function bd(r,t){return r*(t[1]-t[0])+t[0]}var pR=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new Rm({})),Y(i)&&(i=new Rm({categories:Z(i,function(a){return yt(a)?a.value:a})})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return t.prototype.parse=function(e){return e==null?NaN:nt(e)?this._ordinalMeta.getOrdinal(e):Math.round(e)},t.prototype.contain=function(e){return e=this.parse(e),Sd(e,this._extent)&&this._ordinalMeta.categories[e]!=null},t.prototype.normalize=function(e){return e=this._getTickNumber(this.parse(e)),xd(e,this._extent)},t.prototype.scale=function(e){return e=Math.round(bd(e,this._extent)),this.getRawOrdinalNumber(e)},t.prototype.getTicks=function(){for(var e=[],n=this._extent,i=n[0];i<=n[1];)e.push({value:i}),i++;return e},t.prototype.getMinorTicks=function(e){},t.prototype.setSortInfo=function(e){if(e==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var n=e.ordinalNumbers,i=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,l=Math.min(s,n.length);o=0&&e=0&&e=e},t.prototype.getOrdinalMeta=function(){return this._ordinalMeta},t.prototype.calcNiceTicks=function(){},t.prototype.calcNiceExtent=function(){},t.type="ordinal",t}(Ci);Ci.registerClass(pR);const K_=pR;var za=ce,gR=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return t.prototype.parse=function(e){return e},t.prototype.contain=function(e){return Sd(e,this._extent)},t.prototype.normalize=function(e){return xd(e,this._extent)},t.prototype.scale=function(e){return bd(e,this._extent)},t.prototype.setExtent=function(e,n){var i=this._extent;isNaN(e)||(i[0]=parseFloat(e)),isNaN(n)||(i[1]=parseFloat(n))},t.prototype.unionExtent=function(e){var n=this._extent;e[0]n[1]&&(n[1]=e[1]),this.setExtent(n[0],n[1])},t.prototype.getInterval=function(){return this._interval},t.prototype.setInterval=function(e){this._interval=e,this._niceExtent=this._extent.slice(),this._intervalPrecision=dR(e)},t.prototype.getTicks=function(e){var n=this._interval,i=this._extent,a=this._niceExtent,o=this._intervalPrecision,s=[];if(!n)return s;var l=1e4;i[0]l)return[];var f=s.length?s[s.length-1].value:a[1];return i[1]>f&&(e?s.push({value:za(f+n,o)}):s.push({value:i[1]})),s},t.prototype.getMinorTicks=function(e){for(var n=this.getTicks(!0),i=[],a=this.getExtent(),o=1;oa[0]&&v0&&(a=a===null?s:Math.min(a,s))}e[n]=a}}return e}function _R(r){var t=Q$(r),e=[];return M(r,function(n){var i=n.coordinateSystem,a=i.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var l=a.dim+"_"+a.index,u=t[l],f=Math.abs(o[1]-o[0]),c=a.scale.getExtent(),h=Math.abs(c[1]-c[0]);s=u?f/h*u:f}else{var v=n.getData();s=Math.abs(o[1]-o[0])/v.count()}var d=rt(n.get("barWidth"),s),p=rt(n.get("barMaxWidth"),s),g=rt(n.get("barMinWidth")||(TR(n)?.5:1),s),y=n.get("barGap"),m=n.get("barCategoryGap");e.push({bandWidth:s,barWidth:d,barMaxWidth:p,barMinWidth:g,barGap:y,barCategoryGap:m,axisKey:J_(a),stackId:j_(n)})}),SR(e)}function SR(r){var t={};M(r,function(n,i){var a=n.axisKey,o=n.bandWidth,s=t[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},l=s.stacks;t[a]=s;var u=n.stackId;l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var f=n.barWidth;f&&!l[u].width&&(l[u].width=f,f=Math.min(s.remainedWidth,f),s.remainedWidth-=f);var c=n.barMaxWidth;c&&(l[u].maxWidth=c);var h=n.barMinWidth;h&&(l[u].minWidth=h);var v=n.barGap;v!=null&&(s.gap=v);var d=n.barCategoryGap;d!=null&&(s.categoryGap=d)});var e={};return M(t,function(n,i){e[i]={};var a=n.stacks,o=n.bandWidth,s=n.categoryGap;if(s==null){var l=kt(a).length;s=Math.max(35-l*4,15)+"%"}var u=rt(s,o),f=rt(n.gap,1),c=n.remainedWidth,h=n.autoWidthCount,v=(c-u)/(h+(h-1)*f);v=Math.max(v,0),M(a,function(y){var m=y.maxWidth,_=y.minWidth;if(y.width){var S=y.width;m&&(S=Math.min(S,m)),_&&(S=Math.max(S,_)),y.width=S,c-=S+f*S,h--}else{var S=v;m&&mS&&(S=_),S!==v&&(y.width=S,c-=S+f*S,h--)}}),v=(c-u)/(h+(h-1)*f),v=Math.max(v,0);var d=0,p;M(a,function(y,m){y.width||(y.width=v),p=y,d+=y.width*(1+f)}),p&&(d-=p.width*f);var g=-d/2;M(a,function(y,m){e[i][m]=e[i][m]||{bandWidth:o,offset:g,width:y.width},g+=y.width*(1+f)})}),e}function tU(r,t,e){if(r&&t){var n=r[J_(t)];return n!=null&&e!=null?n[j_(e)]:n}}function xR(r,t){var e=mR(r,t),n=_R(e);M(e,function(i){var a=i.getData(),o=i.coordinateSystem,s=o.getBaseAxis(),l=j_(i),u=n[J_(s)][l],f=u.offset,c=u.width;a.setLayout({bandWidth:u.bandWidth,offset:f,size:c})})}function bR(r){return{seriesType:r,plan:ul(),reset:function(t){if(wR(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),a=n.getOtherAxis(i),o=e.getDimensionIndex(e.mapDimension(a.dim)),s=e.getDimensionIndex(e.mapDimension(i.dim)),l=t.get("showBackground",!0),u=e.mapDimension(a.dim),f=e.getCalculationInfo("stackResultDimension"),c=ua(e,u)&&!!e.getCalculationInfo("stackedOnSeries"),h=a.isHorizontal(),v=eU(i,a),d=TR(t),p=t.get("barMinHeight")||0,g=f&&e.getDimensionIndex(f),y=e.getLayout("size"),m=e.getLayout("offset");return{progress:function(_,S){for(var x=_.count,b=d&&Vn(x*3),w=d&&l&&Vn(x*3),T=d&&Vn(x),A=n.master.getRect(),C=h?A.width:A.height,D,I=S.getStore(),L=0;(D=_.next())!=null;){var P=I.get(c?g:o,D),E=I.get(s,D),O=v,V=void 0;c&&(V=+P-I.get(o,D));var N=void 0,G=void 0,$=void 0,q=void 0;if(h){var Q=n.dataToPoint([P,E]);if(c){var ct=n.dataToPoint([V,E]);O=ct[0]}N=O,G=Q[1]+m,$=Q[0]-O,q=y,Math.abs($)0?e:1:e))}var rU=function(r,t,e,n){for(;e>>1;r[i][1]i&&(this._approxInterval=i);var s=Sc.length,l=Math.min(rU(Sc,this._approxInterval,0,s),s-1);this._interval=Sc[l][1],this._minLevelUnit=Sc[Math.max(l-1,0)][0]},t.prototype.parse=function(e){return Ft(e)?e:+Yn(e)},t.prototype.contain=function(e){return Sd(this.parse(e),this._extent)},t.prototype.normalize=function(e){return xd(this.parse(e),this._extent)},t.prototype.scale=function(e){return bd(e,this._extent)},t.type="time",t}(fa),Sc=[["second",D_],["minute",I_],["hour",Cu],["quarter-day",Cu*6],["half-day",Cu*12],["day",Wr*1.2],["half-week",Wr*3.5],["week",Wr*7],["month",Wr*31],["quarter",Wr*95],["half-year",kb/2],["year",kb]];function nU(r,t,e,n){var i=Yn(t),a=Yn(e),o=function(d){return Nb(i,d,n)===Nb(a,d,n)},s=function(){return o("year")},l=function(){return s()&&o("month")},u=function(){return l()&&o("day")},f=function(){return u()&&o("hour")},c=function(){return f()&&o("minute")},h=function(){return c()&&o("second")},v=function(){return h()&&o("millisecond")};switch(r){case"year":return s();case"month":return l();case"day":return u();case"hour":return f();case"minute":return c();case"second":return h();case"millisecond":return v()}}function iU(r,t){return r/=Wr,r>16?16:r>7.5?7:r>3.5?4:r>1.5?2:1}function aU(r){var t=30*Wr;return r/=t,r>6?6:r>3?3:r>2?2:1}function oU(r){return r/=Cu,r>12?12:r>6?6:r>3.5?4:r>2?2:1}function Yw(r,t){return r/=t?I_:D_,r>30?30:r>20?20:r>15?15:r>10?10:r>5?5:r>2?2:1}function sU(r){return CL(r,!0)}function lU(r,t,e){var n=new Date(r);switch(Es(t)){case"year":case"month":n[zP(e)](0);case"day":n[GP(e)](1);case"hour":n[FP(e)](0);case"minute":n[HP(e)](0);case"second":n[WP(e)](0),n[$P(e)](0)}return n.getTime()}function uU(r,t,e,n){var i=1e4,a=VP,o=0;function s(C,D,I,L,P,E,O){for(var V=new Date(D),N=D,G=V[L]();N1&&E===0&&I.unshift({value:I[0].value-N})}}for(var E=0;E=n[0]&&m<=n[1]&&c++)}var _=(n[1]-n[0])/t;if(c>_*1.5&&h>_/1.5||(u.push(g),c>_||r===a[v]))break}f=[]}}}for(var S=$t(Z(u,function(C){return $t(C,function(D){return D.value>=n[0]&&D.value<=n[1]&&!D.notAdd})}),function(C){return C.length>0}),x=[],b=S.length-1,v=0;v0;)a*=10;var s=[ce(hU(n[0]/a)*a),ce(cU(n[1]/a)*a)];this._interval=a,this._niceExtent=s}},t.prototype.calcNiceExtent=function(e){Lu.calcNiceExtent.call(this,e),this._fixMin=e.fixMin,this._fixMax=e.fixMax},t.prototype.parse=function(e){return e},t.prototype.contain=function(e){return e=Jr(e)/Jr(this.base),Sd(e,this._extent)},t.prototype.normalize=function(e){return e=Jr(e)/Jr(this.base),xd(e,this._extent)},t.prototype.scale=function(e){return e=bd(e,this._extent),xc(this.base,e)},t.type="log",t}(Ci),MR=Q_.prototype;MR.getMinorTicks=Lu.getMinorTicks;MR.getLabel=Lu.getLabel;function bc(r,t){return fU(r,On(t))}Ci.registerClass(Q_);const vU=Q_;var dU=function(){function r(t,e,n){this._prepareParams(t,e,n)}return r.prototype._prepareParams=function(t,e,n){n[1]0&&l>0&&!u&&(s=0),s<0&&l<0&&!f&&(l=0));var h=this._determinedMin,v=this._determinedMax;return h!=null&&(s=h,u=!0),v!=null&&(l=v,f=!0),{min:s,max:l,minFixed:u,maxFixed:f,isBlank:c}},r.prototype.modifyDataMinMax=function(t,e){this[gU[t]]=e},r.prototype.setDeterminedMinMax=function(t,e){var n=pU[t];this[n]=e},r.prototype.freeze=function(){this.frozen=!0},r}(),pU={min:"_determinedMin",max:"_determinedMax"},gU={min:"_dataMin",max:"_dataMax"};function DR(r,t,e){var n=r.rawExtentInfo;return n||(n=new dU(r,t,e),r.rawExtentInfo=n,n)}function wc(r,t){return t==null?null:Gu(t)?NaN:r.parse(t)}function IR(r,t){var e=r.type,n=DR(r,t,r.getExtent()).calculate();r.setBlank(n.isBlank);var i=n.min,a=n.max,o=t.ecModel;if(o&&e==="time"){var s=mR("bar",o),l=!1;if(M(s,function(c){l=l||c.getBaseAxis()===t.axis}),l){var u=_R(s),f=yU(i,a,t,u);i=f.min,a=f.max}}return{extent:[i,a],fixMin:n.minFixed,fixMax:n.maxFixed}}function yU(r,t,e,n){var i=e.axis.getExtent(),a=Math.abs(i[1]-i[0]),o=tU(n,e.axis);if(o===void 0)return{min:r,max:t};var s=1/0;M(o,function(v){s=Math.min(v.offset,s)});var l=-1/0;M(o,function(v){l=Math.max(v.offset+v.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,f=t-r,c=1-(s+l)/a,h=f/c-f;return t+=h*(l/u),r-=h*(s/u),{min:r,max:t}}function Us(r,t){var e=t,n=IR(r,e),i=n.extent,a=e.get("splitNumber");r instanceof vU&&(r.base=e.get("logBase"));var o=r.type,s=e.get("interval"),l=o==="interval"||o==="time";r.setExtent(i[0],i[1]),r.calcNiceExtent({splitNumber:a,fixMin:n.fixMin,fixMax:n.fixMax,minInterval:l?e.get("minInterval"):null,maxInterval:l?e.get("maxInterval"):null}),s!=null&&r.setInterval&&r.setInterval(s)}function wd(r,t){if(t=t||r.get("type"),t)switch(t){case"category":return new K_({ordinalMeta:r.getOrdinalMeta?r.getOrdinalMeta():r.getCategories(),extent:[1/0,-1/0]});case"time":return new CR({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new(Ci.getClass(t)||fa)}}function mU(r){var t=r.scale.getExtent(),e=t[0],n=t[1];return!(e>0&&n>0||e<0&&n<0)}function hl(r){var t=r.getLabelModel().get("formatter"),e=r.type==="category"?r.scale.getExtent()[0]:null;return r.scale.type==="time"?function(n){return function(i,a){return r.scale.getFormattedLabel(i,a,n)}}(t):nt(t)?function(n){return function(i){var a=r.scale.getLabel(i),o=n.replace("{value}",a!=null?a:"");return o}}(t):vt(t)?function(n){return function(i,a){return e!=null&&(a=i.value-e),n(t1(r,i),a,i.level!=null?{level:i.level}:null)}}(t):function(n){return r.scale.getLabel(n)}}function t1(r,t){return r.type==="category"?r.scale.getLabel(t):t.value}function _U(r){var t=r.model,e=r.scale;if(!(!t.get(["axisLabel","show"])||e.isBlank())){var n,i,a=e.getExtent();e instanceof K_?i=e.count():(n=e.getTicks(),i=n.length);var o=r.getLabelModel(),s=hl(r),l,u=1;i>40&&(u=Math.ceil(i/40));for(var f=0;fr[1]&&(r[1]=i[1])})}var Pf=function(){function r(){}return r.prototype.getNeedCrossZero=function(){var t=this.option;return!t.scale},r.prototype.getCoordSysModel=function(){},r}(),bU=1e-8;function Xw(r,t){return Math.abs(r-t)i&&(n=o,i=l)}if(n)return TU(n.exterior);var u=this.getBoundingRect();return[u.x+u.width/2,u.y+u.height/2]},t.prototype.getBoundingRect=function(e){var n=this._rect;if(n&&!e)return n;var i=[1/0,1/0],a=[-1/0,-1/0],o=this.geometries;return M(o,function(s){s.type==="polygon"?qw(s.exterior,i,a,e):M(s.points,function(l){qw(l,i,a,e)})}),isFinite(i[0])&&isFinite(i[1])&&isFinite(a[0])&&isFinite(a[1])||(i[0]=i[1]=a[0]=a[1]=0),n=new Mt(i[0],i[1],a[0]-i[0],a[1]-i[1]),e||(this._rect=n),n},t.prototype.contain=function(e){var n=this.getBoundingRect(),i=this.geometries;if(!n.contain(e[0],e[1]))return!1;t:for(var a=0,o=i.length;a>1^-(s&1),l=l>>1^-(l&1),s+=i,l+=a,i=s,a=l,n.push([s/e,l/e])}return n}function MU(r,t){return r=CU(r),Z($t(r.features,function(e){return e.geometry&&e.properties&&e.geometry.coordinates.length>0}),function(e){var n=e.properties,i=e.geometry,a=[];switch(i.type){case"Polygon":var o=i.coordinates;a.push(new Kw(o[0],o.slice(1)));break;case"MultiPolygon":M(i.coordinates,function(l){l[0]&&a.push(new Kw(l[0],l.slice(1)))});break;case"LineString":a.push(new jw([i.coordinates]));break;case"MultiLineString":a.push(new jw(i.coordinates))}var s=new RR(n[t||"name"],a,n.cp);return s.properties=n,s})}var nf=Nt();function kR(r,t){var e=Z(t,function(n){return r.scale.parse(n)});return r.type==="time"&&e.length>0&&(e.sort(),e.unshift(e[0]),e.push(e[e.length-1])),e}function DU(r){var t=r.getLabelModel().get("customValues");if(t){var e=hl(r),n=r.scale.getExtent(),i=kR(r,t),a=$t(i,function(o){return o>=n[0]&&o<=n[1]});return{labels:Z(a,function(o){var s={value:o};return{formattedLabel:e(s),rawLabel:r.scale.getLabel(s),tickValue:o}})}}return r.type==="category"?LU(r):RU(r)}function IU(r,t){var e=r.getTickModel().get("customValues");if(e){var n=r.scale.getExtent(),i=kR(r,e);return{ticks:$t(i,function(a){return a>=n[0]&&a<=n[1]})}}return r.type==="category"?PU(r,t):{ticks:Z(r.scale.getTicks(),function(a){return a.value})}}function LU(r){var t=r.getLabelModel(),e=OR(r,t);return!t.get("show")||r.scale.isBlank()?{labels:[],labelCategoryInterval:e.labelCategoryInterval}:e}function OR(r,t){var e=NR(r,"labels"),n=e1(t),i=VR(e,n);if(i)return i;var a,o;return vt(n)?a=GR(r,n):(o=n==="auto"?EU(r):n,a=zR(r,o)),BR(e,n,{labels:a,labelCategoryInterval:o})}function PU(r,t){var e=NR(r,"ticks"),n=e1(t),i=VR(e,n);if(i)return i;var a,o;if((!t.get("show")||r.scale.isBlank())&&(a=[]),vt(n))a=GR(r,n,!0);else if(n==="auto"){var s=OR(r,r.getLabelModel());o=s.labelCategoryInterval,a=Z(s.labels,function(l){return l.tickValue})}else o=n,a=zR(r,o,!0);return BR(e,n,{ticks:a,tickCategoryInterval:o})}function RU(r){var t=r.scale.getTicks(),e=hl(r);return{labels:Z(t,function(n,i){return{level:n.level,formattedLabel:e(n,i),rawLabel:r.scale.getLabel(n),tickValue:n.value}})}}function NR(r,t){return nf(r)[t]||(nf(r)[t]=[])}function VR(r,t){for(var e=0;e40&&(s=Math.max(1,Math.floor(o/40)));for(var l=a[0],u=r.dataToCoord(l+1)-r.dataToCoord(l),f=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),h=0,v=0;l<=a[1];l+=s){var d=0,p=0,g=bf(e({value:l}),t.font,"center","top");d=g.width*1.3,p=g.height*1.3,h=Math.max(h,d,7),v=Math.max(v,p,7)}var y=h/f,m=v/c;isNaN(y)&&(y=1/0),isNaN(m)&&(m=1/0);var _=Math.max(0,Math.floor(Math.min(y,m))),S=nf(r.model),x=r.getExtent(),b=S.lastAutoInterval,w=S.lastTickCount;return b!=null&&w!=null&&Math.abs(b-_)<=1&&Math.abs(w-o)<=1&&b>_&&S.axisExtent0===x[0]&&S.axisExtent1===x[1]?_=b:(S.lastTickCount=o,S.lastAutoInterval=_,S.axisExtent0=x[0],S.axisExtent1=x[1]),_}function OU(r){var t=r.getLabelModel();return{axisRotate:r.getRotate?r.getRotate():r.isHorizontal&&!r.isHorizontal()?90:0,labelRotate:t.get("rotate")||0,font:t.getFont()}}function zR(r,t,e){var n=hl(r),i=r.scale,a=i.getExtent(),o=r.getLabelModel(),s=[],l=Math.max((t||0)+1,1),u=a[0],f=i.count();u!==0&&l>1&&f/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=LR(r),h=o.get("showMinLabel")||c,v=o.get("showMaxLabel")||c;h&&u!==a[0]&&p(a[0]);for(var d=u;d<=a[1];d+=l)p(d);v&&d-l!==a[1]&&p(a[1]);function p(g){var y={value:g};s.push(e?g:{formattedLabel:n(y),rawLabel:i.getLabel(y),tickValue:g})}return s}function GR(r,t,e){var n=r.scale,i=hl(r),a=[];return M(n.getTicks(),function(o){var s=n.getLabel(o),l=o.value;t(o.value,s)&&a.push(e?l:{formattedLabel:i(o),rawLabel:s,tickValue:l})}),a}var Jw=[0,1],NU=function(){function r(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return r.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},r.prototype.containData=function(t){return this.scale.contain(t)},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.getPixelPrecision=function(t){return TL(t||this.scale.getExtent(),this._extent)},r.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},r.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&i.type==="ordinal"&&(n=n.slice(),Qw(n,i.count())),Ut(t,Jw,n,e)},r.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&i.type==="ordinal"&&(n=n.slice(),Qw(n,i.count()));var a=Ut(t,n,Jw,e);return this.scale.scale(a)},r.prototype.pointToData=function(t,e){},r.prototype.getTicksCoords=function(t){t=t||{};var e=t.tickModel||this.getTickModel(),n=IU(this,e),i=n.ticks,a=Z(i,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=e.get("alignWithLabel");return VU(this,a,o,t.clamp),a},r.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var t=this.model.getModel("minorTick"),e=t.get("splitNumber");e>0&&e<100||(e=5);var n=this.scale.getMinorTicks(e),i=Z(n,function(a){return Z(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return i},r.prototype.getViewLabels=function(){return DU(this).labels},r.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},r.prototype.getTickModel=function(){return this.model.getModel("axisTick")},r.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);n===0&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},r.prototype.calculateCategoryInterval=function(){return kU(this)},r}();function Qw(r,t){var e=r[1]-r[0],n=t,i=e/n/2;r[0]+=i,r[1]-=i}function VU(r,t,e,n){var i=t.length;if(!r.onBand||e||!i)return;var a=r.getExtent(),o,s;if(i===1)t[0].coord=a[0],o=t[1]={coord:a[1],tickValue:t[0].tickValue};else{var l=t[i-1].tickValue-t[0].tickValue,u=(t[i-1].coord-t[0].coord)/l;M(t,function(v){v.coord-=u/2});var f=r.scale.getExtent();s=1+f[1]-t[i-1].tickValue,o={coord:t[i-1].coord+u*s,tickValue:f[1]+1},t.push(o)}var c=a[0]>a[1];h(t[0].coord,a[0])&&(n?t[0].coord=a[0]:t.shift()),n&&h(a[0],t[0].coord)&&t.unshift({coord:a[0]}),h(a[1],o.coord)&&(n?o.coord=a[1]:t.pop()),n&&h(o.coord,a[1])&&t.push({coord:a[1]});function h(v,d){return v=ce(v),d=ce(d),c?v>d:vi&&(i+=Bl);var v=Math.atan2(s,o);if(v<0&&(v+=Bl),v>=n&&v<=i||v+Bl>=n&&v+Bl<=i)return l[0]=f,l[1]=c,u-e;var d=e*Math.cos(n)+r,p=e*Math.sin(n)+t,g=e*Math.cos(i)+r,y=e*Math.sin(i)+t,m=(d-o)*(d-o)+(p-s)*(p-s),_=(g-o)*(g-o)+(y-s)*(y-s);return m<_?(l[0]=d,l[1]=p,Math.sqrt(m)):(l[0]=g,l[1]=y,Math.sqrt(_))}function ov(r,t,e,n,i,a,o,s){var l=i-r,u=a-t,f=e-r,c=n-t,h=Math.sqrt(f*f+c*c);f/=h,c/=h;var v=l*f+u*c,d=v/h;s&&(d=Math.min(Math.max(d,0),1)),d*=h;var p=o[0]=r+d*f,g=o[1]=t+d*c;return Math.sqrt((p-i)*(p-i)+(g-a)*(g-a))}function FR(r,t,e,n,i,a,o){e<0&&(r=r+e,e=-e),n<0&&(t=t+n,n=-n);var s=r+e,l=t+n,u=o[0]=Math.min(Math.max(i,r),s),f=o[1]=Math.min(Math.max(a,t),l);return Math.sqrt((u-i)*(u-i)+(f-a)*(f-a))}var rn=[];function FU(r,t,e){var n=FR(t.x,t.y,t.width,t.height,r.x,r.y,rn);return e.set(rn[0],rn[1]),n}function HU(r,t,e){for(var n=0,i=0,a=0,o=0,s,l,u=1/0,f=t.data,c=r.x,h=r.y,v=0;v0){t=t/180*Math.PI,on.fromArray(r[0]),Jt.fromArray(r[1]),de.fromArray(r[2]),Ct.sub(Bn,on,Jt),Ct.sub(kn,de,Jt);var e=Bn.len(),n=kn.len();if(!(e<.001||n<.001)){Bn.scale(1/e),kn.scale(1/n);var i=Bn.dot(kn),a=Math.cos(t);if(a1&&Ct.copy(ir,de),ir.toArray(r[1])}}}}function WU(r,t,e){if(e<=180&&e>0){e=e/180*Math.PI,on.fromArray(r[0]),Jt.fromArray(r[1]),de.fromArray(r[2]),Ct.sub(Bn,Jt,on),Ct.sub(kn,de,Jt);var n=Bn.len(),i=kn.len();if(!(n<.001||i<.001)){Bn.scale(1/n),kn.scale(1/i);var a=Bn.dot(t),o=Math.cos(e);if(a=l)Ct.copy(ir,de);else{ir.scaleAndAdd(kn,s/Math.tan(Math.PI/2-f));var c=de.x!==Jt.x?(ir.x-Jt.x)/(de.x-Jt.x):(ir.y-Jt.y)/(de.y-Jt.y);if(isNaN(c))return;c<0?Ct.copy(ir,Jt):c>1&&Ct.copy(ir,de)}ir.toArray(r[1])}}}}function eg(r,t,e,n){var i=e==="normal",a=i?r:r.ensureState(e);a.ignore=t;var o=n.get("smooth");o&&o===!0&&(o=.3),a.shape=a.shape||{},o>0&&(a.shape.smooth=o);var s=n.getModel("lineStyle").getLineStyle();i?r.useStyle(s):a.style=s}function $U(r,t){var e=t.smooth,n=t.points;if(n)if(r.moveTo(n[0][0],n[0][1]),e>0&&n.length>=3){var i=Ui(n[0],n[1]),a=Ui(n[1],n[2]);if(!i||!a){r.lineTo(n[1][0],n[1][1]),r.lineTo(n[2][0],n[2][1]);return}var o=Math.min(i,a)*e,s=rh([],n[1],n[0],o/i),l=rh([],n[1],n[2],o/a),u=rh([],s,l,.5);r.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),r.bezierCurveTo(l[0],l[1],l[0],l[1],n[2][0],n[2][1])}else for(var f=1;f0&&a&&x(-f/o,0,o);var p=r[0],g=r[o-1],y,m;_(),y<0&&b(-y,.8),m<0&&b(m,.8),_(),S(y,m,1),S(m,y,-1),_(),y<0&&w(-y),m<0&&w(m);function _(){y=p.rect[t]-n,m=i-g.rect[t]-g.rect[e]}function S(T,A,C){if(T<0){var D=Math.min(A,-T);if(D>0){x(D*C,0,o);var I=D+T;I<0&&b(-I*C,1)}else b(-T*C,1)}}function x(T,A,C){T!==0&&(u=!0);for(var D=A;D0)for(var I=0;I0;I--){var O=C[I-1]*E;x(-O,I,o)}}}function w(T){var A=T<0?-1:1;T=Math.abs(T);for(var C=Math.ceil(T/(o-1)),D=0;D0?x(C,0,D+1):x(-C,o-D-1,o),T-=C,T<=0)return}return u}function UU(r,t,e,n){return $R(r,"x","width",t,e,n)}function UR(r,t,e,n){return $R(r,"y","height",t,e,n)}function YR(r){var t=[];r.sort(function(p,g){return g.priority-p.priority});var e=new Mt(0,0,0,0);function n(p){if(!p.ignore){var g=p.ensureState("emphasis");g.ignore==null&&(g.ignore=!1)}p.ignore=!0}for(var i=0;i=0&&n.attr(a.oldLayoutSelect),Dt(h,"emphasis")>=0&&n.attr(a.oldLayoutEmphasis)),Ht(n,u,e,l)}else if(n.attr(u),!nl(n).valueAnimation){var c=xt(n.style.opacity,1);n.style.opacity=0,oe(n,{style:{opacity:c}},e,l)}if(a.oldLayout=u,n.states.select){var v=a.oldLayoutSelect={};Tc(v,u,Ac),Tc(v,n.states.select,Ac)}if(n.states.emphasis){var d=a.oldLayoutEmphasis={};Tc(d,u,Ac),Tc(d,n.states.emphasis,Ac)}RP(n,l,f,e,e)}if(i&&!i.ignore&&!i.invisible){var a=XU(i),o=a.oldLayout,p={points:i.shape.points};o?(i.attr({shape:o}),Ht(i,{shape:p},e)):(i.setShape(p),i.style.strokePercent=0,oe(i,{style:{strokePercent:1}},e)),a.oldLayout=p}},r}();const KU=qU;var ng=Nt();function jU(r){r.registerUpdateLifecycle("series:beforeupdate",function(t,e,n){var i=ng(e).labelManager;i||(i=ng(e).labelManager=new KU),i.clearLabels()}),r.registerUpdateLifecycle("series:layoutlabels",function(t,e,n){var i=ng(e).labelManager;n.updatedSeries.forEach(function(a){i.addLabelsOfSeries(e.getViewOfSeriesModel(a))}),i.updateLayoutConfig(e),i.layout(e),i.processLabelsOverall()})}var ig=Math.sin,ag=Math.cos,ZR=Math.PI,Fa=Math.PI*2,JU=180/ZR,QU=function(){function r(){}return r.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},r.prototype.moveTo=function(t,e){this._add("M",t,e)},r.prototype.lineTo=function(t,e){this._add("L",t,e)},r.prototype.bezierCurveTo=function(t,e,n,i,a,o){this._add("C",t,e,n,i,a,o)},r.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},r.prototype.arc=function(t,e,n,i,a,o){this.ellipse(t,e,n,n,0,i,a,o)},r.prototype.ellipse=function(t,e,n,i,a,o,s,l){var u=s-o,f=!l,c=Math.abs(u),h=Ki(c-Fa)||(f?u>=Fa:-u>=Fa),v=u>0?u%Fa:u%Fa+Fa,d=!1;h?d=!0:Ki(c)?d=!1:d=v>=ZR==!!f;var p=t+n*ag(o),g=e+i*ig(o);this._start&&this._add("M",p,g);var y=Math.round(a*JU);if(h){var m=1/this._p,_=(f?1:-1)*(Fa-m);this._add("A",n,i,y,1,+f,t+n*ag(o+_),e+i*ig(o+_)),m>.01&&this._add("A",n,i,y,0,+f,p,g)}else{var S=t+n*ag(s),x=e+i*ig(s);this._add("A",n,i,y,+d,+f,S,x)}},r.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},r.prototype.closePath=function(){this._d.length>0&&this._add("Z")},r.prototype._add=function(t,e,n,i,a,o,s,l,u){for(var f=[],c=this._p,h=1;h"}function l6(r){return""}function i1(r,t){t=t||{};var e=t.newline?` +`:"";function n(i){var a=i.children,o=i.tag,s=i.attrs,l=i.text;return s6(o,s)+(o!=="style"?qe(l):l||"")+(a?""+e+Z(a,function(u){return n(u)}).join(e)+e:"")+l6(o)}return n(r)}function u6(r,t,e){e=e||{};var n=e.newline?` +`:"",i=" {"+n,a=n+"}",o=Z(kt(r),function(l){return l+i+Z(kt(r[l]),function(u){return u+":"+r[l][u]+";"}).join(n)+a}).join(n),s=Z(kt(t),function(l){return"@keyframes "+l+i+Z(kt(t[l]),function(u){return u+i+Z(kt(t[l][u]),function(f){var c=t[l][u][f];return f==="d"&&(c='path("'+c+'")'),f+":"+c+";"}).join(n)+a}).join(n)+a}).join(n);return!o&&!s?"":[""].join(n)}function Nm(r){return{zrId:r,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function nT(r,t,e,n){return Ce("svg","root",{width:r,height:t,xmlns:qR,"xmlns:xlink":KR,version:"1.1",baseProfile:"full",viewBox:n?"0 0 "+r+" "+t:!1},e)}var f6=0;function JR(){return f6++}var iT={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},Ua="transform-origin";function c6(r,t,e){var n=F({},r.shape);F(n,t),r.buildPath(e,n);var i=new XR;return i.reset(vL(r)),e.rebuildPath(i,1),i.generateStr(),i.getStr()}function h6(r,t){var e=t.originX,n=t.originY;(e||n)&&(r[Ua]=e+"px "+n+"px")}var v6={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function QR(r,t){var e=t.zrId+"-ani-"+t.cssAnimIdx++;return t.cssAnims[e]=r,e}function d6(r,t,e){var n=r.shape.paths,i={},a,o;if(M(n,function(l){var u=Nm(e.zrId);u.animation=!0,Td(l,{},u,!0);var f=u.cssAnims,c=u.cssNodes,h=kt(f),v=h.length;if(v){o=h[v-1];var d=f[o];for(var p in d){var g=d[p];i[p]=i[p]||{d:""},i[p].d+=g.d||""}for(var y in c){var m=c[y].animation;m.indexOf(o)>=0&&(a=m)}}}),!!a){t.d=!1;var s=QR(i,e);return a.replace(o,s)}}function aT(r){return nt(r)?iT[r]?"cubic-bezier("+iT[r]+")":i_(r)?r:"":""}function Td(r,t,e,n){var i=r.animators,a=i.length,o=[];if(r instanceof b_){var s=d6(r,t,e);if(s)o.push(s);else if(!a)return}else if(!a)return;for(var l={},u=0;u0}).length){var U=QR(w,e);return U+" "+m[0]+" both"}}for(var g in l){var s=p(l[g]);s&&o.push(s)}if(o.length){var y=e.zrId+"-cls-"+JR();e.cssNodes["."+y]={animation:o.join(",")},t.class=y}}function p6(r,t,e){if(!r.ignore)if(r.isSilent()){var n={"pointer-events":"none"};oT(n,t,e,!0)}else{var i=r.states.emphasis&&r.states.emphasis.style?r.states.emphasis.style:{},a=i.fill;if(!a){var o=r.style&&r.style.fill,s=r.states.select&&r.states.select.style&&r.states.select.style.fill,l=r.currentStates.indexOf("select")>=0&&s||o;l&&(a=Xy(l))}var u=i.lineWidth;if(u){var f=!i.strokeNoScale&&r.transform?r.transform[0]:1;u=u/f}var n={cursor:"pointer"};a&&(n.fill=a),i.stroke&&(n.stroke=i.stroke),u&&(n["stroke-width"]=u),oT(n,t,e,!0)}}function oT(r,t,e,n){var i=JSON.stringify(r),a=e.cssStyleCache[i];a||(a=e.zrId+"-cls-"+JR(),e.cssStyleCache[i]=a,e.cssNodes["."+a+(n?":hover":"")]=r),t.class=t.class?t.class+" "+a:a}var af=Math.round;function tE(r){return r&&nt(r.src)}function eE(r){return r&&vt(r.toDataURL)}function a1(r,t,e,n){i6(function(i,a){var o=i==="fill"||i==="stroke";o&&hL(a)?nE(t,r,i,n):o&&a_(a)?iE(e,r,i,n):r[i]=a,o&&n.ssr&&a==="none"&&(r["pointer-events"]="visible")},t,e,!1),b6(e,r,n)}function o1(r,t){var e=WG(t);e&&(e.each(function(n,i){n!=null&&(r[(rT+i).toLowerCase()]=n+"")}),t.isSilent()&&(r[rT+"silent"]="true"))}function sT(r){return Ki(r[0]-1)&&Ki(r[1])&&Ki(r[2])&&Ki(r[3]-1)}function g6(r){return Ki(r[4])&&Ki(r[5])}function s1(r,t,e){if(t&&!(g6(t)&&sT(t))){var n=e?10:1e4;r.transform=sT(t)?"translate("+af(t[4]*n)/n+" "+af(t[5]*n)/n+")":uG(t)}}function lT(r,t,e){for(var n=r.points,i=[],a=0;aa?(d=e[l+1]==null?null:e[l+1].elm,sE(r,d,e,i,l)):lv(r,t,n,a))}function ys(r,t){var e=t.elm=r.elm,n=r.children,i=t.children;r!==t&&(l1(r,t),Vm(t.text)?In(n)&&In(i)?n!==i&&M6(e,n,i):In(i)?(In(r.text)&&og(e,""),sE(e,null,i,0,i.length-1)):In(n)?lv(e,n,0,n.length-1):In(r.text)&&og(e,""):r.text!==t.text&&(In(n)&&lv(e,n,0,n.length-1),og(e,t.text)))}function D6(r,t){if(au(r,t))ys(r,t);else{var e=r.elm,n=aE(e);of(t),n!==null&&(to(n,t.elm,oE(e)),lv(n,[r],0,0))}return t}var I6=0,L6=function(){function r(t,e,n){if(this.type="svg",this.refreshHover=pT(),this.configLayer=pT(),this.storage=e,this._opts=n=F({},n),this.root=t,this._id="zr"+I6++,this._oldVNode=nT(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var a=this._svgDom=this._oldVNode.elm=jR("svg");l1(null,this._oldVNode),i.appendChild(a),t.appendChild(i)}this.resize(n.width,n.height)}return r.prototype.getType=function(){return this.type},r.prototype.getViewportRoot=function(){return this._viewport},r.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},r.prototype.getSvgDom=function(){return this._svgDom},r.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",D6(this._oldVNode,t),this._oldVNode=t}},r.prototype.renderOneToVNode=function(t){return fT(t,Nm(this._id))},r.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,i=this._height,a=Nm(this._id);a.animation=t.animation,a.willUpdate=t.willUpdate,a.compress=t.compress,a.emphasis=t.emphasis,a.ssr=this._opts.ssr;var o=[],s=this._bgVNode=P6(n,i,this._backgroundColor,a);s&&o.push(s);var l=t.compress?null:this._mainVNode=Ce("g","main",{},[]);this._paintList(e,a,l?l.children:o),l&&o.push(l);var u=Z(kt(a.defs),function(h){return a.defs[h]});if(u.length&&o.push(Ce("defs","defs",{},u)),t.animation){var f=u6(a.cssNodes,a.cssAnims,{newline:!0});if(f){var c=Ce("style","stl",{},[],f);o.push(c)}}return nT(n,i,o,t.useViewBox)},r.prototype.renderToString=function(t){return t=t||{},i1(this.renderToVNode({animation:xt(t.cssAnimation,!0),emphasis:xt(t.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:xt(t.useViewBox,!0)}),{newline:!0})},r.prototype.setBackgroundColor=function(t){this._backgroundColor=t},r.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},r.prototype._paintList=function(t,e,n){for(var i=t.length,a=[],o=0,s,l,u=0,f=0;f=0&&!(h&&l&&h[p]===l[p]);p--);for(var g=d-1;g>p;g--)o--,s=a[o-1];for(var y=p+1;y=s)}}for(var c=this.__startIndex;c15)break}}P.prevElClipPaths&&y.restore()};if(m)if(m.length===0)T=g.__endIndex;else for(var C=v.dpr,D=0;D0&&t>i[0]){for(l=0;lt);l++);s=n[i[l]]}if(i.splice(l+1,0,t),n[t]=e,!e.virtual)if(s){var u=s.dom;u.nextSibling?o.insertBefore(e.dom,u.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},r.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?Cc:0),this._needsManuallyCompositing),f.__builtin__||j0("ZLevel "+u+" has been used by unkown layer "+f.id),f!==a&&(f.__used=!0,f.__startIndex!==l&&(f.__dirty=!0),f.__startIndex=l,f.incremental?f.__drawIndex=-1:f.__drawIndex=l,e(l),a=f),i.__dirty&br&&!i.__inHover&&(f.__dirty=!0,f.incremental&&f.__drawIndex<0&&(f.__drawIndex=l))}e(l),this.eachBuiltinLayer(function(c,h){!c.__used&&c.getElementCount()>0&&(c.__dirty=!0,c.__startIndex=c.__endIndex=c.__drawIndex=0),c.__dirty&&c.__drawIndex<0&&(c.__drawIndex=c.__startIndex)})},r.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},r.prototype._clearLayer=function(t){t.clear()},r.prototype.setBackgroundColor=function(t){this._backgroundColor=t,M(this._layers,function(e){e.setUnpainted()})},r.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?Tt(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(u.style.stroke=u.style.fill,u.style.fill="#fff",u.style.lineWidth=2),n},t.type="series.line",t.dependencies=["grid","polar"],t.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},t}(le);const H6=F6;function Ys(r,t){var e=r.mapDimensionsAll("defaultedLabel"),n=e.length;if(n===1){var i=Ws(r,t,e[0]);return i!=null?i+"":null}else if(n){for(var a=[],o=0;o=0&&n.push(t[a])}return n.join(" ")}var W6=function(r){B(t,r);function t(e,n,i,a){var o=r.call(this)||this;return o.updateData(e,n,i,a),o}return t.prototype._createSymbol=function(e,n,i,a,o){this.removeAll();var s=me(e,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=$6,this._symbolType=e,this.add(s)},t.prototype.stopSymbolAnimation=function(e){this.childAt(0).stopAnimation(null,e)},t.prototype.getSymbolType=function(){return this._symbolType},t.prototype.getSymbolPath=function(){return this.childAt(0)},t.prototype.highlight=function(){mi(this.childAt(0))},t.prototype.downplay=function(){_i(this.childAt(0))},t.prototype.setZ=function(e,n){var i=this.childAt(0);i.zlevel=e,i.z=n},t.prototype.setDraggable=function(e,n){var i=this.childAt(0);i.draggable=e,i.cursor=!n&&e?"move":i.cursor},t.prototype.updateData=function(e,n,i,a){this.silent=!1;var o=e.getItemVisual(n,"symbol")||"circle",s=e.hostModel,l=t.getSymbolSize(e,n),u=o!==this._symbolType,f=a&&a.disableAnimation;if(u){var c=e.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,e,n,l,c)}else{var h=this.childAt(0);h.silent=!1;var v={scaleX:l[0]/2,scaleY:l[1]/2};f?h.attr(v):Ht(h,v,s,n),gn(h)}if(this._updateCommon(e,n,l,i,a),u){var h=this.childAt(0);if(!f){var v={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:h.style.opacity}};h.scaleX=h.scaleY=0,h.style.opacity=0,oe(h,v,s,n)}}f&&this.childAt(0).stopAnimation("leave")},t.prototype._updateCommon=function(e,n,i,a,o){var s=this.childAt(0),l=e.hostModel,u,f,c,h,v,d,p,g,y;if(a&&(u=a.emphasisItemStyle,f=a.blurItemStyle,c=a.selectItemStyle,h=a.focus,v=a.blurScope,p=a.labelStatesModels,g=a.hoverScale,y=a.cursorStyle,d=a.emphasisDisabled),!a||e.hasItemOption){var m=a&&a.itemModel?a.itemModel:e.getItemModel(n),_=m.getModel("emphasis");u=_.getModel("itemStyle").getItemStyle(),c=m.getModel(["select","itemStyle"]).getItemStyle(),f=m.getModel(["blur","itemStyle"]).getItemStyle(),h=_.get("focus"),v=_.get("blurScope"),d=_.get("disabled"),p=De(m),g=_.getShallow("scale"),y=m.getShallow("cursor")}var S=e.getItemVisual(n,"symbolRotate");s.attr("rotation",(S||0)*Math.PI/180||0);var x=zo(e.getItemVisual(n,"symbolOffset"),i);x&&(s.x=x[0],s.y=x[1]),y&&s.attr("cursor",y);var b=e.getItemVisual(n,"style"),w=b.fill;if(s instanceof We){var T=s.style;s.useStyle(F({image:T.image,x:T.x,y:T.y,width:T.width,height:T.height},b))}else s.__isEmptyBrush?s.useStyle(F({},b)):s.useStyle(b),s.style.decal=null,s.setColor(w,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var A=e.getItemVisual(n,"liftZ"),C=this._z2;A!=null?C==null&&(this._z2=s.z2,s.z2+=A):C!=null&&(s.z2=C,this._z2=null);var D=o&&o.useNameLabel;He(s,p,{labelFetcher:l,labelDataIndex:n,defaultText:I,inheritColor:w,defaultOpacity:b.opacity});function I(E){return D?e.getName(E):Ys(e,E)}this._sizeX=i[0]/2,this._sizeY=i[1]/2;var L=s.ensureState("emphasis");L.style=u,s.ensureState("select").style=c,s.ensureState("blur").style=f;var P=g==null||g===!0?Math.max(1.1,3/this._sizeY):isFinite(g)&&g>0?+g:1;L.scaleX=this._sizeX*P,L.scaleY=this._sizeY*P,this.setSymbolScale(1),ue(this,h,v,d)},t.prototype.setSymbolScale=function(e){this.scaleX=this.scaleY=e},t.prototype.fadeOut=function(e,n,i){var a=this.childAt(0),o=St(this).dataIndex,s=i&&i.animation;if(this.silent=a.silent=!0,i&&i.fadeLabel){var l=a.getTextContent();l&&sa(l,{style:{opacity:0}},n,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();sa(a,{style:{opacity:0},scaleX:0,scaleY:0},n,{dataIndex:o,cb:e,removeOpt:s})},t.getSymbolSize=function(e,n){return cl(e.getItemVisual(n,"symbolSize"))},t}(_t);function $6(r,t){this.parent.drift(r,t)}const Rf=W6;function lg(r,t,e,n){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(n.isIgnore&&n.isIgnore(e))&&!(n.clipShape&&!n.clipShape.contain(t[0],t[1]))&&r.getItemVisual(e,"symbol")!=="none"}function mT(r){return r!=null&&!yt(r)&&(r={isIgnore:r}),r||{}}function _T(r){var t=r.hostModel,e=t.getModel("emphasis");return{emphasisItemStyle:e.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:e.get("focus"),blurScope:e.get("blurScope"),emphasisDisabled:e.get("disabled"),hoverScale:e.get("scale"),labelStatesModels:De(t),cursorStyle:t.get("cursor")}}var U6=function(){function r(t){this.group=new _t,this._SymbolCtor=t||Rf}return r.prototype.updateData=function(t,e){this._progressiveEls=null,e=mT(e);var n=this.group,i=t.hostModel,a=this._data,o=this._SymbolCtor,s=e.disableAnimation,l=_T(t),u={disableAnimation:s},f=e.getSymbolPoint||function(c){return t.getItemLayout(c)};a||n.removeAll(),t.diff(a).add(function(c){var h=f(c);if(lg(t,h,c,e)){var v=new o(t,c,l,u);v.setPosition(h),t.setItemGraphicEl(c,v),n.add(v)}}).update(function(c,h){var v=a.getItemGraphicEl(h),d=f(c);if(!lg(t,d,c,e)){n.remove(v);return}var p=t.getItemVisual(c,"symbol")||"circle",g=v&&v.getSymbolType&&v.getSymbolType();if(!v||g&&g!==p)n.remove(v),v=new o(t,c,l,u),v.setPosition(d);else{v.updateData(t,c,l,u);var y={x:d[0],y:d[1]};s?v.attr(y):Ht(v,y,i)}n.add(v),t.setItemGraphicEl(c,v)}).remove(function(c){var h=a.getItemGraphicEl(c);h&&h.fadeOut(function(){n.remove(h)},i)}).execute(),this._getSymbolPoint=f,this._data=t},r.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl(function(n,i){var a=t._getSymbolPoint(i);n.setPosition(a),n.markRedraw()})},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=_T(t),this._data=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e,n){this._progressiveEls=[],n=mT(n);function i(l){l.isGroup||(l.incremental=!0,l.ensureState("emphasis").hoverLayer=!0)}for(var a=t.start;a0?e=n[0]:n[1]<0&&(e=n[1]),e}function fE(r,t,e,n){var i=NaN;r.stacked&&(i=e.get(e.getCalculationInfo("stackedOverDimension"),n)),isNaN(i)&&(i=r.valueStart);var a=r.baseDataOffset,o=[];return o[a]=e.get(r.baseDim,n),o[1-a]=i,t.dataToPoint(o)}function Z6(r,t){var e=[];return t.diff(r).add(function(n){e.push({cmd:"+",idx:n})}).update(function(n,i){e.push({cmd:"=",idx:i,idx1:n})}).remove(function(n){e.push({cmd:"-",idx:n})}).execute(),e}function X6(r,t,e,n,i,a,o,s){for(var l=Z6(r,t),u=[],f=[],c=[],h=[],v=[],d=[],p=[],g=uE(i,t,o),y=r.getLayout("points")||[],m=t.getLayout("points")||[],_=0;_=i||p<0)break;if(To(y,m)){if(l){p+=a;continue}break}if(p===e)r[a>0?"moveTo":"lineTo"](y,m),c=y,h=m;else{var _=y-u,S=m-f;if(_*_+S*S<.5){p+=a;continue}if(o>0){for(var x=p+a,b=t[x*2],w=t[x*2+1];b===y&&w===m&&g=n||To(b,w))v=y,d=m;else{C=b-u,D=w-f;var P=y-u,E=b-y,O=m-f,V=w-m,N=void 0,G=void 0;if(s==="x"){N=Math.abs(P),G=Math.abs(E);var $=C>0?1:-1;v=y-$*N*o,d=m,I=y+$*G*o,L=m}else if(s==="y"){N=Math.abs(O),G=Math.abs(V);var q=D>0?1:-1;v=y,d=m-q*N*o,I=y,L=m+q*G*o}else N=Math.sqrt(P*P+O*O),G=Math.sqrt(E*E+V*V),A=G/(G+N),v=y-C*o*(1-A),d=m-D*o*(1-A),I=y+C*o*A,L=m+D*o*A,I=ki(I,Oi(b,y)),L=ki(L,Oi(w,m)),I=Oi(I,ki(b,y)),L=Oi(L,ki(w,m)),C=I-y,D=L-m,v=y-C*N/G,d=m-D*N/G,v=ki(v,Oi(u,y)),d=ki(d,Oi(f,m)),v=Oi(v,ki(u,y)),d=Oi(d,ki(f,m)),C=y-v,D=m-d,I=y+C*G/N,L=m+D*G/N}r.bezierCurveTo(c,h,v,d,y,m),c=I,h=L}else r.lineTo(y,m)}u=y,f=m,p+=a}return g}var cE=function(){function r(){this.smooth=0,this.smoothConstraint=!0}return r}(),q6=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="ec-polyline",n}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new cE},t.prototype.buildPath=function(e,n){var i=n.points,a=0,o=i.length/2;if(n.connectNulls){for(;o>0&&To(i[o*2-2],i[o*2-1]);o--);for(;a=0){var S=u?(d-l)*_+l:(v-s)*_+s;return u?[e,S]:[S,e]}s=v,l=d;break;case o.C:v=a[c++],d=a[c++],p=a[c++],g=a[c++],y=a[c++],m=a[c++];var x=u?Vh(s,v,p,y,e,f):Vh(l,d,g,m,e,f);if(x>0)for(var b=0;b=0){var S=u?Ae(l,d,g,m,w):Ae(s,v,p,y,w);return u?[e,S]:[S,e]}}s=y,l=m;break}}},t}(Pt),K6=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t}(cE),hE=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="ec-polygon",n}return t.prototype.getDefaultShape=function(){return new K6},t.prototype.buildPath=function(e,n){var i=n.points,a=n.stackedOnPoints,o=0,s=i.length/2,l=n.smoothMonotone;if(n.connectNulls){for(;s>0&&To(i[s*2-2],i[s*2-1]);s--);for(;ot){a?e.push(o(a,l,t)):i&&e.push(o(i,l,0),o(i,l,t));break}else i&&(e.push(o(i,l,0)),i=null),e.push(l),a=l}return e}function Q6(r,t,e){var n=r.getVisual("visualMeta");if(!(!n||!n.length||!r.count())&&t.type==="cartesian2d"){for(var i,a,o=n.length-1;o>=0;o--){var s=r.getDimensionInfo(n[o].dimension);if(i=s&&s.coordDim,i==="x"||i==="y"){a=n[o];break}}if(a){var l=t.getAxis(i),u=Z(a.stops,function(_){return{coord:l.toGlobalCoord(l.dataToCoord(_.value)),color:_.color}}),f=u.length,c=a.outerColors.slice();f&&u[0].coord>u[f-1].coord&&(u.reverse(),c.reverse());var h=J6(u,i==="x"?e.getWidth():e.getHeight()),v=h.length;if(!v&&f)return u[0].coord<0?c[1]?c[1]:u[f-1].color:c[0]?c[0]:u[0].color;var d=10,p=h[0].coord-d,g=h[v-1].coord+d,y=g-p;if(y<.001)return"transparent";M(h,function(_){_.offset=(_.coord-p)/y}),h.push({offset:v?h[v-1].offset:.5,color:c[1]||"transparent"}),h.unshift({offset:v?h[0].offset:.5,color:c[0]||"transparent"});var m=new Af(0,0,0,0,h,!0);return m[i]=p,m[i+"2"]=g,m}}}function t8(r,t,e){var n=r.get("showAllSymbol"),i=n==="auto";if(!(n&&!i)){var a=e.getAxesByScale("ordinal")[0];if(a&&!(i&&e8(a,t))){var o=t.mapDimension(a.dim),s={};return M(a.getViewLabels(),function(l){var u=a.scale.getRawOrdinalNumber(l.tickValue);s[u]=1}),function(l){return!s.hasOwnProperty(t.get(o,l))}}}}function e8(r,t){var e=r.getExtent(),n=Math.abs(e[1]-e[0])/r.scale.count();isNaN(n)&&(n=0);for(var i=t.count(),a=Math.max(1,Math.round(i/5)),o=0;on)return!1;return!0}function r8(r,t){return isNaN(r)||isNaN(t)}function n8(r){for(var t=r.length/2;t>0&&r8(r[t*2-2],r[t*2-1]);t--);return t-1}function TT(r,t){return[r[t*2],r[t*2+1]]}function i8(r,t,e){for(var n=r.length/2,i=e==="x"?0:1,a,o,s=0,l=-1,u=0;u=t||a>=t&&o<=t){l=u;break}s=u,a=o}return{range:[s,l],t:(t-a)/(o-a)}}function pE(r){if(r.get(["endLabel","show"]))return!0;for(var t=0;t0&&e.get(["emphasis","lineStyle","width"])==="bolder"){var G=d.getState("emphasis").style;G.lineWidth=+d.style.lineWidth+1}St(d).seriesIndex=e.seriesIndex,ue(d,O,V,N);var $=wT(e.get("smooth")),q=e.get("smoothMonotone");if(d.setShape({smooth:$,smoothMonotone:q,connectNulls:w}),p){var Q=s.getCalculationInfo("stackedOnSeries"),ct=0;p.useStyle(pt(u.getAreaStyle(),{fill:I,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),Q&&(ct=wT(Q.get("smooth"))),p.setShape({smooth:$,stackedOnSmooth:ct,smoothMonotone:q,connectNulls:w}),Fe(p,e,"areaStyle"),St(p).seriesIndex=e.seriesIndex,ue(p,O,V,N)}var ht=this._changePolyState;s.eachItemGraphicEl(function(gt){gt&&(gt.onHoverStateChange=ht)}),this._polyline.onHoverStateChange=ht,this._data=s,this._coordSys=a,this._stackedOnPoints=x,this._points=f,this._step=C,this._valueOrigin=_,e.get("triggerLineEvent")&&(this.packEventData(e,d),p&&this.packEventData(e,p))},t.prototype.packEventData=function(e,n){St(n).eventData={componentType:"series",componentSubType:"line",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"line"}},t.prototype.highlight=function(e,n,i,a){var o=e.getData(),s=Do(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var l=o.getLayout("points"),u=o.getItemGraphicEl(s);if(!u){var f=l[s*2],c=l[s*2+1];if(isNaN(f)||isNaN(c)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(f,c))return;var h=e.get("zlevel")||0,v=e.get("z")||0;u=new Rf(o,s),u.x=f,u.y=c,u.setZ(h,v);var d=u.getSymbolPath().getTextContent();d&&(d.zlevel=h,d.z=v,d.z2=this._polyline.z2+1),u.__temp=!0,o.setItemGraphicEl(s,u),u.stopSymbolAnimation(!0),this.group.add(u)}u.highlight()}else ee.prototype.highlight.call(this,e,n,i,a)},t.prototype.downplay=function(e,n,i,a){var o=e.getData(),s=Do(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var l=o.getItemGraphicEl(s);l&&(l.__temp?(o.setItemGraphicEl(s,null),this.group.remove(l)):l.downplay())}else ee.prototype.downplay.call(this,e,n,i,a)},t.prototype._changePolyState=function(e){var n=this._polygon;$h(this._polyline,e),n&&$h(n,e)},t.prototype._newPolyline=function(e){var n=this._polyline;return n&&this._lineGroup.remove(n),n=new q6({shape:{points:e},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(n),this._polyline=n,n},t.prototype._newPolygon=function(e,n){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new hE({shape:{points:e,stackedOnPoints:n},segmentIgnoreThreshold:2}),this._lineGroup.add(i),this._polygon=i,i},t.prototype._initSymbolLabelAnimation=function(e,n,i){var a,o,s=n.getBaseAxis(),l=s.inverse;n.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):n.type==="polar"&&(a=s.dim==="angle",o=!0);var u=e.hostModel,f=u.get("animationDuration");vt(f)&&(f=f(null));var c=u.get("animationDelay")||0,h=vt(c)?c(null):c;e.eachItemGraphicEl(function(v,d){var p=v;if(p){var g=[v.x,v.y],y=void 0,m=void 0,_=void 0;if(i)if(o){var S=i,x=n.pointToCoord(g);a?(y=S.startAngle,m=S.endAngle,_=-x[1]/180*Math.PI):(y=S.r0,m=S.r,_=x[0])}else{var b=i;a?(y=b.x,m=b.x+b.width,_=v.x):(y=b.y+b.height,m=b.y,_=v.y)}var w=m===y?0:(_-y)/(m-y);l&&(w=1-w);var T=vt(c)?c(d):f*w+h,A=p.getSymbolPath(),C=A.getTextContent();p.attr({scaleX:0,scaleY:0}),p.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:T}),C&&C.animateFrom({style:{opacity:0}},{duration:300,delay:T}),A.disableLabelAnimation=!0}})},t.prototype._initOrUpdateEndLabel=function(e,n,i){var a=e.getModel("endLabel");if(pE(e)){var o=e.getData(),s=this._polyline,l=o.getLayout("points");if(!l){s.removeTextContent(),this._endLabel=null;return}var u=this._endLabel;u||(u=this._endLabel=new Gt({z2:200}),u.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var f=n8(l);f>=0&&(He(s,De(e,"endLabel"),{inheritColor:i,labelFetcher:e,labelDataIndex:f,defaultText:function(c,h,v){return v!=null?lE(o,v):Ys(o,c)},enableTextSetter:!0},a8(a,n)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},t.prototype._endLabelOnDuring=function(e,n,i,a,o,s,l){var u=this._endLabel,f=this._polyline;if(u){e<1&&a.originalX==null&&(a.originalX=u.x,a.originalY=u.y);var c=i.getLayout("points"),h=i.hostModel,v=h.get("connectNulls"),d=s.get("precision"),p=s.get("distance")||0,g=l.getBaseAxis(),y=g.isHorizontal(),m=g.inverse,_=n.shape,S=m?y?_.x:_.y+_.height:y?_.x+_.width:_.y,x=(y?p:0)*(m?-1:1),b=(y?0:-p)*(m?-1:1),w=y?"x":"y",T=i8(c,S,w),A=T.range,C=A[1]-A[0],D=void 0;if(C>=1){if(C>1&&!v){var I=TT(c,A[0]);u.attr({x:I[0]+x,y:I[1]+b}),o&&(D=h.getRawValue(A[0]))}else{var I=f.getPointOn(S,w);I&&u.attr({x:I[0]+x,y:I[1]+b});var L=h.getRawValue(A[0]),P=h.getRawValue(A[1]);o&&(D=OL(i,d,L,P,T.t))}a.lastFrameIndex=A[0]}else{var E=e===1||a.lastFrameIndex>0?A[0]:0,I=TT(c,E);o&&(D=h.getRawValue(E)),u.attr({x:I[0]+x,y:I[1]+b})}if(o){var O=nl(u);typeof O.setLabelText=="function"&&O.setLabelText(D)}}},t.prototype._doUpdateAnimation=function(e,n,i,a,o,s,l){var u=this._polyline,f=this._polygon,c=e.hostModel,h=X6(this._data,e,this._stackedOnPoints,n,this._coordSys,i,this._valueOrigin),v=h.current,d=h.stackedOnCurrent,p=h.next,g=h.stackedOnNext;if(o&&(d=Ni(h.stackedOnCurrent,h.current,i,o,l),v=Ni(h.current,null,i,o,l),g=Ni(h.stackedOnNext,h.next,i,o,l),p=Ni(h.next,null,i,o,l)),bT(v,p)>3e3||f&&bT(d,g)>3e3){u.stopAnimation(),u.setShape({points:p}),f&&(f.stopAnimation(),f.setShape({points:p,stackedOnPoints:g}));return}u.shape.__points=h.current,u.shape.points=v;var y={shape:{points:p}};h.current!==v&&(y.shape.__points=h.next),u.stopAnimation(),Ht(u,y,c),f&&(f.setShape({points:v,stackedOnPoints:d}),f.stopAnimation(),Ht(f,{shape:{stackedOnPoints:g}},c),u.shape.points!==f.shape.points&&(f.shape.points=u.shape.points));for(var m=[],_=h.status,S=0;S<_.length;S++){var x=_[S].cmd;if(x==="="){var b=e.getItemGraphicEl(_[S].idx1);b&&m.push({el:b,ptIdx:S})}}u.animators&&u.animators.length&&u.animators[0].during(function(){f&&f.dirtyShape();for(var w=u.shape.__points,T=0;Tt&&(t=r[e]);return isFinite(t)?t:NaN},min:function(r){for(var t=1/0,e=0;e10&&o.type==="cartesian2d"&&a){var l=o.getBaseAxis(),u=o.getOtherAxis(l),f=l.getExtent(),c=n.getDevicePixelRatio(),h=Math.abs(f[1]-f[0])*(c||1),v=Math.round(s/h);if(isFinite(v)&&v>1){a==="lttb"?t.setData(i.lttbDownSample(i.mapDimension(u.dim),1/v)):a==="minmax"&&t.setData(i.minmaxDownSample(i.mapDimension(u.dim),1/v));var d=void 0;nt(a)?d=l8[a]:vt(a)&&(d=a),d&&t.setData(i.downSample(i.mapDimension(u.dim),1/v,d,u8))}}}}}function f8(r){r.registerChartView(s8),r.registerSeriesModel(H6),r.registerLayout(Of("line",!0)),r.registerVisual({seriesType:"line",reset:function(t){var e=t.getData(),n=t.getModel("lineStyle").getLineStyle();n&&!n.stroke&&(n.stroke=e.getVisual("style").fill),e.setVisual("legendLineStyle",n)}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,gE("line"))}var yE=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,n){return Ai(null,this,{useEncodeDefaulter:!0})},t.prototype.getMarkerPosition=function(e,n,i){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(e),s=a.dataToPoint(o);if(i)M(a.getAxes(),function(h,v){if(h.type==="category"&&n!=null){var d=h.getTicksCoords(),p=h.getTickModel().get("alignWithLabel"),g=o[v],y=n[v]==="x1"||n[v]==="y1";if(y&&!p&&(g+=1),d.length<2)return;if(d.length===2){s[v]=h.toGlobalCoord(h.getExtent()[y?1:0]);return}for(var m=void 0,_=void 0,S=1,x=0;xg){_=(b+m)/2;break}x===1&&(S=w-d[0].tickValue)}_==null&&(m?m&&(_=d[d.length-1].coord):_=d[0].coord),s[v]=h.toGlobalCoord(_)}});else{var l=this.getData(),u=l.getLayout("offset"),f=l.getLayout("size"),c=a.getBaseAxis().isHorizontal()?0:1;s[c]+=u+f/2}return s}return[NaN,NaN]},t.type="series.__base_bar__",t.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},t}(le);le.registerClass(yE);const uv=yE;var c8=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(){return Ai(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},t.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},t.prototype.getProgressiveThreshold=function(){var e=this.get("progressiveThreshold"),n=this.get("largeThreshold");return n>e&&(e=n),e},t.prototype.brushSelector=function(e,n,i){return i.rect(n.getItemLayout(e))},t.type="series.bar",t.dependencies=["grid","polar"],t.defaultOption=ya(uv.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),t}(uv);const h8=c8;var v8=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r}(),d8=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="sausage",n}return t.prototype.getDefaultShape=function(){return new v8},t.prototype.buildPath=function(e,n){var i=n.cx,a=n.cy,o=Math.max(n.r0||0,0),s=Math.max(n.r,0),l=(s-o)*.5,u=o+l,f=n.startAngle,c=n.endAngle,h=n.clockwise,v=Math.PI*2,d=h?c-fMath.PI/2&&fs)return!0;s=c}return!1},t.prototype._isOrderDifferentInView=function(e,n){for(var i=n.scale,a=i.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],i.getOrdinalMeta().categories.length-1);o<=s;++o)if(e.ordinalNumbers[o]!==i.getRawOrdinalNumber(o))return!0},t.prototype._updateSortWithinSameData=function(e,n,i,a){if(this._isOrderChangedWithinSameData(e,n,i)){var o=this._dataSort(e,i,n);this._isOrderDifferentInView(o,i)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",axisId:i.index,sortInfo:o}))}},t.prototype._dispatchInitSort=function(e,n,i){var a=n.baseAxis,o=this._dataSort(e,a,function(s){return e.get(e.mapDimension(n.otherAxis.dim),s)});i.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},t.prototype.remove=function(e,n){this._clear(this._model),this._removeOnRenderedListener(n)},t.prototype.dispose=function(e,n){this._removeOnRenderedListener(n)},t.prototype._removeOnRenderedListener=function(e){this._onRendered&&(e.getZr().off("rendered",this._onRendered),this._onRendered=null)},t.prototype._clear=function(e){var n=this.group,i=this._data;e&&e.isAnimationEnabled()&&i&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],i.eachItemGraphicEl(function(a){Ku(a,e,St(a).dataIndex)})):n.removeAll(),this._data=null,this._isFirstFrame=!0},t.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},t.type="bar",t}(ee),AT={cartesian2d:function(r,t){var e=t.width<0?-1:1,n=t.height<0?-1:1;e<0&&(t.x+=t.width,t.width=-t.width),n<0&&(t.y+=t.height,t.height=-t.height);var i=r.x+r.width,a=r.y+r.height,o=fg(t.x,r.x),s=cg(t.x+t.width,i),l=fg(t.y,r.y),u=cg(t.y+t.height,a),f=si?s:o,t.y=c&&l>a?u:l,t.width=f?0:s-o,t.height=c?0:u-l,e<0&&(t.x+=t.width,t.width=-t.width),n<0&&(t.y+=t.height,t.height=-t.height),f||c},polar:function(r,t){var e=t.r0<=t.r?1:-1;if(e<0){var n=t.r;t.r=t.r0,t.r0=n}var i=cg(t.r,r.r),a=fg(t.r0,r.r0);t.r=i,t.r0=a;var o=i-a<0;if(e<0){var n=t.r;t.r=t.r0,t.r0=n}return o}},CT={cartesian2d:function(r,t,e,n,i,a,o,s,l){var u=new Vt({shape:F({},n),z2:1});if(u.__dataIndex=e,u.name="item",a){var f=u.shape,c=i?"height":"width";f[c]=0}return u},polar:function(r,t,e,n,i,a,o,s,l){var u=!i&&l?fv:gr,f=new u({shape:n,z2:1});f.name="item";var c=mE(i);if(f.calculateTextPosition=p8(c,{isRoundCap:u===fv}),a){var h=f.shape,v=i?"r":"endAngle",d={};h[v]=i?n.r0:n.startAngle,d[v]=n[v],(s?Ht:oe)(f,{shape:d},a)}return f}};function _8(r,t){var e=r.get("realtimeSort",!0),n=t.getBaseAxis();if(e&&n.type==="category"&&t.type==="cartesian2d")return{baseAxis:n,otherAxis:t.getOtherAxis(n)}}function MT(r,t,e,n,i,a,o,s){var l,u;a?(u={x:n.x,width:n.width},l={y:n.y,height:n.height}):(u={y:n.y,height:n.height},l={x:n.x,width:n.width}),s||(o?Ht:oe)(e,{shape:l},t,i,null);var f=t?r.baseAxis.model:null;(o?Ht:oe)(e,{shape:u},f,i)}function DT(r,t){for(var e=0;e0?1:-1,o=n.height>0?1:-1;return{x:n.x+a*i/2,y:n.y+o*i/2,width:n.width-a*i,height:n.height-o*i}},polar:function(r,t,e){var n=r.getItemLayout(t);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle,clockwise:n.clockwise}}};function b8(r){return r.startAngle!=null&&r.endAngle!=null&&r.startAngle===r.endAngle}function mE(r){return function(t){var e=t?"Arc":"Angle";return function(n){switch(n){case"start":case"insideStart":case"end":case"insideEnd":return n+e;default:return n}}}(r)}function LT(r,t,e,n,i,a,o,s){var l=t.getItemVisual(e,"style");if(s){if(!a.get("roundCap")){var f=r.shape,c=ho(n.getModel("itemStyle"),f,!0);F(f,c),r.setShape(f)}}else{var u=n.get(["itemStyle","borderRadius"])||0;r.setShape("r",u)}r.useStyle(l);var h=n.getShallow("cursor");h&&r.attr("cursor",h);var v=s?o?i.r>=i.r0?"endArc":"startArc":i.endAngle>=i.startAngle?"endAngle":"startAngle":o?i.height>=0?"bottom":"top":i.width>=0?"right":"left",d=De(n);He(r,d,{labelFetcher:a,labelDataIndex:e,defaultText:Ys(a.getData(),e),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:v});var p=r.getTextContent();if(s&&p){var g=n.get(["label","position"]);r.textConfig.inside=g==="middle"?!0:null,g8(r,g==="outside"?v:g,mE(o),n.get(["label","rotate"]))}PP(p,d,a.getRawValue(e),function(m){return lE(t,m)});var y=n.getModel(["emphasis"]);ue(r,y.get("focus"),y.get("blurScope"),y.get("disabled")),Fe(r,n),b8(i)&&(r.style.fill="none",r.style.stroke="none",M(r.states,function(m){m.style&&(m.style.fill=m.style.stroke="none")}))}function w8(r,t){var e=r.get(["itemStyle","borderColor"]);if(!e||e==="none")return 0;var n=r.get(["itemStyle","borderWidth"])||0,i=isNaN(t.width)?Number.MAX_VALUE:Math.abs(t.width),a=isNaN(t.height)?Number.MAX_VALUE:Math.abs(t.height);return Math.min(n,i,a)}var T8=function(){function r(){}return r}(),PT=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="largeBar",n}return t.prototype.getDefaultShape=function(){return new T8},t.prototype.buildPath=function(e,n){for(var i=n.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],l=[],u=this.barWidth,f=0;f=0?e:null},30,!1);function A8(r,t,e){for(var n=r.baseDimIdx,i=1-n,a=r.shape.points,o=r.largeDataIndices,s=[],l=[],u=r.barWidth,f=0,c=a.length/3;f=s[0]&&t<=s[0]+l[0]&&e>=s[1]&&e<=s[1]+l[1])return o[f]}return-1}function _E(r,t,e){if(Fo(e,"cartesian2d")){var n=t,i=e.getArea();return{x:r?n.x:i.x,y:r?i.y:n.y,width:r?n.width:i.width,height:r?i.height:n.height}}else{var i=e.getArea(),a=t;return{cx:i.cx,cy:i.cy,r0:r?i.r0:a.r0,r:r?i.r:a.r,startAngle:r?a.startAngle:0,endAngle:r?a.endAngle:Math.PI*2}}}function C8(r,t,e){var n=r.type==="polar"?gr:Vt;return new n({shape:_E(t,e,r),silent:!0,z2:0})}const M8=m8;function D8(r){r.registerChartView(M8),r.registerSeriesModel(h8),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,bt(xR,"bar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,bR("bar")),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,gE("bar")),r.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(t,e){var n=t.componentType||"series";e.eachComponent({mainType:n,query:t},function(i){t.sortInfo&&i.axis.setCategorySortInfo(t.sortInfo)})})}var kT=Math.PI*2,Lc=Math.PI/180;function SE(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function xE(r,t){var e=SE(r,t),n=r.get("center"),i=r.get("radius");Y(i)||(i=[0,i]);var a=rt(e.width,t.getWidth()),o=rt(e.height,t.getHeight()),s=Math.min(a,o),l=rt(i[0],s/2),u=rt(i[1],s/2),f,c,h=r.coordinateSystem;if(h){var v=h.dataToPoint(n);f=v[0]||0,c=v[1]||0}else Y(n)||(n=[n,n]),f=rt(n[0],a)+e.x,c=rt(n[1],o)+e.y;return{cx:f,cy:c,r0:l,r:u}}function I8(r,t,e){t.eachSeriesByType(r,function(n){var i=n.getData(),a=i.mapDimension("value"),o=SE(n,e),s=xE(n,e),l=s.cx,u=s.cy,f=s.r,c=s.r0,h=-n.get("startAngle")*Lc,v=n.get("endAngle"),d=n.get("padAngle")*Lc;v=v==="auto"?h-kT:-v*Lc;var p=n.get("minAngle")*Lc,g=p+d,y=0;i.each(a,function(V){!isNaN(V)&&y++});var m=i.getSum(a),_=Math.PI/(m||y)*2,S=n.get("clockwise"),x=n.get("roseType"),b=n.get("stillShowZeroSum"),w=i.getDataExtent(a);w[0]=0;var T=S?1:-1,A=[h,v],C=T*d/2;v_(A,!S),h=A[0],v=A[1];var D=bE(n);D.startAngle=h,D.endAngle=v,D.clockwise=S;var I=Math.abs(v-h),L=I,P=0,E=h;if(i.setLayout({viewRect:o,r:f}),i.each(a,function(V,N){var G;if(isNaN(V)){i.setItemLayout(N,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:S,cx:l,cy:u,r0:c,r:x?NaN:f});return}x!=="area"?G=m===0&&b?_:V*_:G=I/y,GG?(q=E+T*G/2,Q=q):(q=E+C,Q=$-C),i.setItemLayout(N,{angle:G,startAngle:q,endAngle:Q,clockwise:S,cx:l,cy:u,r0:c,r:x?Ut(V,w,[c,f]):f}),E=$}),Le?y:g,x=Math.abs(_.label.y-e);if(x>=S.maxY){var b=_.label.x-t-_.len2*i,w=n+_.len,T=Math.abs(b)r.unconstrainedWidth?null:v:null;n.setStyle("width",d)}var p=n.getBoundingRect();a.width=p.width;var g=(n.style.margin||0)+2.1;a.height=p.height+g,a.y-=(a.height-c)/2}}}function hg(r){return r.position==="center"}function R8(r){var t=r.getData(),e=[],n,i,a=!1,o=(r.get("minShowLabelAngle")||0)*L8,s=t.getLayout("viewRect"),l=t.getLayout("r"),u=s.width,f=s.x,c=s.y,h=s.height;function v(b){b.ignore=!0}function d(b){if(!b.ignore)return!0;for(var w in b.states)if(b.states[w].ignore===!1)return!0;return!1}t.each(function(b){var w=t.getItemGraphicEl(b),T=w.shape,A=w.getTextContent(),C=w.getTextGuideLine(),D=t.getItemModel(b),I=D.getModel("label"),L=I.get("position")||D.get(["emphasis","label","position"]),P=I.get("distanceToLabelLine"),E=I.get("alignTo"),O=rt(I.get("edgeDistance"),u),V=I.get("bleedMargin"),N=D.getModel("labelLine"),G=N.get("length");G=rt(G,u);var $=N.get("length2");if($=rt($,u),Math.abs(T.endAngle-T.startAngle)0?"right":"left":Q>0?"left":"right"}var z=Math.PI,X=0,W=I.get("rotate");if(Ft(W))X=W*(z/180);else if(L==="center")X=0;else if(W==="radial"||W===!0){var J=Q<0?-q+z:-q;X=J}else if(W==="tangential"&&L!=="outside"&&L!=="outer"){var ot=Math.atan2(Q,ct);ot<0&&(ot=z*2+ot);var st=ct>0;st&&(ot=z+ot),X=ot-z}if(a=!!X,A.x=ht,A.y=gt,A.rotation=X,A.setStyle({verticalAlign:"middle"}),K){A.setStyle({align:U});var At=A.states.select;At&&(At.x+=A.x,At.y+=A.y)}else{var it=A.getBoundingRect().clone();it.applyTransform(A.getComputedTransform());var et=(A.style.margin||0)+2.1;it.y-=et/2,it.height+=et,e.push({label:A,labelLine:C,position:L,len:G,len2:$,minTurnAngle:N.get("minTurnAngle"),maxSurfaceAngle:N.get("maxSurfaceAngle"),surfaceNormal:new Ct(Q,ct),linePoints:Et,textAlign:U,labelDistance:P,labelAlignTo:E,edgeDistance:O,bleedMargin:V,rect:it,unconstrainedWidth:it.width,labelStyleWidth:A.style.width})}w.setTextConfig({inside:K})}}),!a&&r.get("avoidLabelOverlap")&&P8(e,n,i,l,u,h,f,c);for(var p=0;p0){for(var f=o.getItemLayout(0),c=1;isNaN(f&&f.startAngle)&&c=a.r0}},t.type="pie",t}(ee);const O8=k8;function vl(r,t,e){t=Y(t)&&{coordDimensions:t}||F({encodeDefine:r.getEncode()},t);var n=r.getSource(),i=Lf(n,t).dimensions,a=new sr(i,r);return a.initData(n,e),a}var N8=function(){function r(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return r.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},r.prototype.containName=function(t){var e=this._getRawData();return e.indexOfName(t)>=0},r.prototype.indexOfName=function(t){var e=this._getDataWithEncodedVisual();return e.indexOfName(t)},r.prototype.getItemVisual=function(t,e){var n=this._getDataWithEncodedVisual();return n.getItemVisual(t,e)},r}();const Vf=N8;var V8=Nt(),B8=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new Vf(at(this.getData,this),at(this.getRawData,this)),this._defaultLabelLine(e)},t.prototype.mergeOption=function(){r.prototype.mergeOption.apply(this,arguments)},t.prototype.getInitialData=function(){return vl(this,{coordDimensions:["value"],encodeDefaulter:bt(R_,this)})},t.prototype.getDataParams=function(e){var n=this.getData(),i=V8(n),a=i.seats;if(!a){var o=[];n.each(n.mapDimension("value"),function(l){o.push(l)}),a=i.seats=ZG(o,n.hostModel.get("percentPrecision"))}var s=r.prototype.getDataParams.call(this,e);return s.percent=a[e]||0,s.$vars.push("percent"),s},t.prototype._defaultLabelLine=function(e){Mo(e,"labelLine",["show"]);var n=e.labelLine,i=e.emphasis.labelLine;n.show=n.show&&e.label.show,i.show=i.show&&e.emphasis.label.show},t.type="series.pie",t.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},t}(le);const z8=B8;function G8(r){return{seriesType:r,reset:function(t,e){var n=t.getData();n.filterSelf(function(i){var a=n.mapDimension("value"),o=n.get(a,i);return!(Ft(o)&&!isNaN(o)&&o<0)})}}}function F8(r){r.registerChartView(O8),r.registerSeriesModel(z8),z2("pie",r.registerAction),r.registerLayout(bt(I8,"pie")),r.registerProcessor(Nf("pie")),r.registerProcessor(G8("pie"))}var H8=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.hasSymbolVisual=!0,e}return t.prototype.getInitialData=function(e,n){return Ai(null,this,{useEncodeDefaulter:!0})},t.prototype.getProgressive=function(){var e=this.option.progressive;return e==null?this.option.large?5e3:this.get("progressive"):e},t.prototype.getProgressiveThreshold=function(){var e=this.option.progressiveThreshold;return e==null?this.option.large?1e4:this.get("progressiveThreshold"):e},t.prototype.brushSelector=function(e,n,i){return i.point(n.getItemLayout(e))},t.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},t.type="series.scatter",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},t}(le);const W8=H8;var TE=4,$8=function(){function r(){}return r}(),U8=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.getDefaultShape=function(){return new $8},t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.buildPath=function(e,n){var i=n.points,a=n.size,o=this.symbolProxy,s=o.shape,l=e.getContext?e.getContext():e,u=l&&a[0]=0;u--){var f=u*2,c=a[f]-s/2,h=a[f+1]-l/2;if(e>=c&&n>=h&&e<=c+s&&n<=h+l)return u}return-1},t.prototype.contain=function(e,n){var i=this.transformCoordToLocal(e,n),a=this.getBoundingRect();if(e=i[0],n=i[1],a.contain(e,n)){var o=this.hoverDataIdx=this.findDataIndex(e,n);return o>=0}return this.hoverDataIdx=-1,!1},t.prototype.getBoundingRect=function(){var e=this._rect;if(!e){for(var n=this.shape,i=n.points,a=n.size,o=a[0],s=a[1],l=1/0,u=1/0,f=-1/0,c=-1/0,h=0;h=0&&(u.dataIndex=c+(t.startIndex||0))})},r.prototype.remove=function(){this._clear()},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}();const Z8=Y8;var X8=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this._updateSymbolDraw(a,e);o.updateData(a,{clipShape:this._getClipShape(e)}),this._finished=!0},t.prototype.incrementalPrepareRender=function(e,n,i){var a=e.getData(),o=this._updateSymbolDraw(a,e);o.incrementalPrepareUpdate(a),this._finished=!1},t.prototype.incrementalRender=function(e,n,i){this._symbolDraw.incrementalUpdate(e,n.getData(),{clipShape:this._getClipShape(n)}),this._finished=e.end===n.getData().count()},t.prototype.updateTransform=function(e,n,i){var a=e.getData();if(this.group.dirty(),!this._finished||a.count()>1e4)return{update:!0};var o=Of("").reset(e,n,i);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout(a)},t.prototype.eachRendered=function(e){this._symbolDraw&&this._symbolDraw.eachRendered(e)},t.prototype._getClipShape=function(e){if(e.get("clip",!0)){var n=e.coordinateSystem;return n&&n.getArea&&n.getArea(.1)}},t.prototype._updateSymbolDraw=function(e,n){var i=this._symbolDraw,a=n.pipelineContext,o=a.large;return(!i||o!==this._isLargeDraw)&&(i&&i.remove(),i=this._symbolDraw=o?new Z8:new Ef,this._isLargeDraw=o,this.group.removeAll()),this.group.add(i.group),i},t.prototype.remove=function(e,n){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},t.prototype.dispose=function(){},t.type="scatter",t}(ee);const q8=X8;var K8=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.type="grid",t.dependencies=["xAxis","yAxis"],t.layoutMode="box",t.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},t}(Bt);const j8=K8;var zm=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",ye).models[0]},t.type="cartesian2dAxis",t}(Bt);_e(zm,Pf);var AE={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},J8=Tt({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},AE),u1=Tt({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},AE),Q8=Tt({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},u1),tY=pt({logBase:10},u1);const CE={category:J8,value:u1,time:Q8,log:tY};var eY={value:1,category:1,time:1,log:1};function Zs(r,t,e,n){M(eY,function(i,a){var o=Tt(Tt({},CE[a],!0),n,!0),s=function(l){B(u,l);function u(){var f=l!==null&&l.apply(this,arguments)||this;return f.type=t+"Axis."+a,f}return u.prototype.mergeDefaultAndTheme=function(f,c){var h=Ju(this),v=h?ol(f):{},d=c.getTheme();Tt(f,d.get(a+"Axis")),Tt(f,this.getDefaultOption()),f.type=NT(f),h&&la(f,v,h)},u.prototype.optionUpdated=function(){var f=this.option;f.type==="category"&&(this.__ordinalMeta=Rm.createByAxisModel(this))},u.prototype.getCategories=function(f){var c=this.option;if(c.type==="category")return f?c.data:this.__ordinalMeta.categories},u.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},u.type=t+"Axis."+a,u.defaultOption=o,u}(e);r.registerComponentModel(s)}),r.registerSubTypeDefaulter(t+"Axis",NT)}function NT(r){return r.type||(r.data?"category":"value")}var rY=function(){function r(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return r.prototype.getAxis=function(t){return this._axes[t]},r.prototype.getAxes=function(){return Z(this._dimList,function(t){return this._axes[t]},this)},r.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),$t(this.getAxes(),function(e){return e.scale.type===t})},r.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},r}();const nY=rY;var Gm=["x","y"];function VT(r){return r.type==="interval"||r.type==="time"}var iY=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=Gm,e}return t.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var e=this.getAxis("x").scale,n=this.getAxis("y").scale;if(!(!VT(e)||!VT(n))){var i=e.getExtent(),a=n.getExtent(),o=this.dataToPoint([i[0],a[0]]),s=this.dataToPoint([i[1],a[1]]),l=i[1]-i[0],u=a[1]-a[0];if(!(!l||!u)){var f=(s[0]-o[0])/l,c=(s[1]-o[1])/u,h=o[0]-i[0]*f,v=o[1]-a[0]*c,d=this._transform=[f,0,0,c,h,v];this._invTransform=Qs([],d)}}},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},t.prototype.containPoint=function(e){var n=this.getAxis("x"),i=this.getAxis("y");return n.contain(n.toLocalCoord(e[0]))&&i.contain(i.toLocalCoord(e[1]))},t.prototype.containData=function(e){return this.getAxis("x").containData(e[0])&&this.getAxis("y").containData(e[1])},t.prototype.containZone=function(e,n){var i=this.dataToPoint(e),a=this.dataToPoint(n),o=this.getArea(),s=new Mt(i[0],i[1],a[0]-i[0],a[1]-i[1]);return o.intersect(s)},t.prototype.dataToPoint=function(e,n,i){i=i||[];var a=e[0],o=e[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return ze(i,e,this._transform);var s=this.getAxis("x"),l=this.getAxis("y");return i[0]=s.toGlobalCoord(s.dataToCoord(a,n)),i[1]=l.toGlobalCoord(l.dataToCoord(o,n)),i},t.prototype.clampData=function(e,n){var i=this.getAxis("x").scale,a=this.getAxis("y").scale,o=i.getExtent(),s=a.getExtent(),l=i.parse(e[0]),u=a.parse(e[1]);return n=n||[],n[0]=Math.min(Math.max(Math.min(o[0],o[1]),l),Math.max(o[0],o[1])),n[1]=Math.min(Math.max(Math.min(s[0],s[1]),u),Math.max(s[0],s[1])),n},t.prototype.pointToData=function(e,n){var i=[];if(this._invTransform)return ze(i,e,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return i[0]=a.coordToData(a.toLocalCoord(e[0]),n),i[1]=o.coordToData(o.toLocalCoord(e[1]),n),i},t.prototype.getOtherAxis=function(e){return this.getAxis(e.dim==="x"?"y":"x")},t.prototype.getArea=function(e){e=e||0;var n=this.getAxis("x").getGlobalExtent(),i=this.getAxis("y").getGlobalExtent(),a=Math.min(n[0],n[1])-e,o=Math.min(i[0],i[1])-e,s=Math.max(n[0],n[1])-a+e,l=Math.max(i[0],i[1])-o+e;return new Mt(a,o,s,l)},t}(nY),aY=function(r){B(t,r);function t(e,n,i,a,o){var s=r.call(this,e,n,i)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return t.prototype.isHorizontal=function(){var e=this.position;return e==="top"||e==="bottom"},t.prototype.getGlobalExtent=function(e){var n=this.getExtent();return n[0]=this.toGlobalCoord(n[0]),n[1]=this.toGlobalCoord(n[1]),e&&n[0]>n[1]&&n.reverse(),n},t.prototype.pointToData=function(e,n){return this.coordToData(this.toLocalCoord(e[this.dim==="x"?0:1]),n)},t.prototype.setCategorySortInfo=function(e){if(this.type!=="category")return!1;this.model.option.categorySortInfo=e,this.scale.setSortInfo(e)},t}(mn);const oY=aY;function Fm(r,t,e){e=e||{};var n=r.coordinateSystem,i=t.axis,a={},o=i.getAxesOnZeroOf()[0],s=i.position,l=o?"onZero":s,u=i.dim,f=n.getRect(),c=[f.x,f.x+f.width,f.y,f.y+f.height],h={left:0,right:1,top:0,bottom:1,onZero:2},v=t.get("offset")||0,d=u==="x"?[c[2]-v,c[3]+v]:[c[0]-v,c[1]+v];if(o){var p=o.toGlobalCoord(o.dataToCoord(0));d[h.onZero]=Math.max(Math.min(p,d[1]),d[0])}a.position=[u==="y"?d[h[l]]:c[0],u==="x"?d[h[l]]:c[3]],a.rotation=Math.PI/2*(u==="x"?0:1);var g={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=g[s],a.labelOffset=o?d[h[s]]-d[h.onZero]:0,t.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),Re(e.labelInside,t.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var y=t.get(["axisLabel","rotate"]);return a.labelRotate=l==="top"?-y:y,a.z2=1,a}function BT(r){return r.get("coordinateSystem")==="cartesian2d"}function zT(r){var t={xAxisModel:null,yAxisModel:null};return M(t,function(e,n){var i=n.replace(/Model$/,""),a=r.getReferringComponents(i,ye).models[0];t[n]=a}),t}var vg=Math.log;function ME(r,t,e){var n=fa.prototype,i=n.getTicks.call(e),a=n.getTicks.call(e,!0),o=i.length-1,s=n.getInterval.call(e),l=IR(r,t),u=l.extent,f=l.fixMin,c=l.fixMax;if(r.type==="log"){var h=vg(r.base);u=[vg(u[0])/h,vg(u[1])/h]}r.setExtent(u[0],u[1]),r.calcNiceExtent({splitNumber:o,fixMin:f,fixMax:c});var v=n.getExtent.call(r);f&&(u[0]=v[0]),c&&(u[1]=v[1]);var d=n.getInterval.call(r),p=u[0],g=u[1];if(f&&c)d=(g-p)/o;else if(f)for(g=u[0]+d*o;gu[0]&&isFinite(p)&&isFinite(u[0]);)d=Jp(d),p=u[1]-d*o;else{var y=r.getTicks().length-1;y>o&&(d=Jp(d));var m=d*o;g=Math.ceil(u[1]/d)*d,p=ce(g-m),p<0&&u[0]>=0?(p=0,g=ce(m)):g>0&&u[1]<=0&&(g=0,p=-ce(m))}var _=(i[0].value-a[0].value)/s,S=(i[o].value-a[o].value)/s;n.setExtent.call(r,p+d*_,g+d*S),n.setInterval.call(r,d),(_||S)&&n.setNiceExtent.call(r,p+d,g-d)}var sY=function(){function r(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=Gm,this._initCartesian(t,e,n),this.model=t}return r.prototype.getRect=function(){return this._rect},r.prototype.update=function(t,e){var n=this._axesMap;this._updateScale(t,this.model);function i(o){var s,l=kt(o),u=l.length;if(u){for(var f=[],c=u-1;c>=0;c--){var h=+l[c],v=o[h],d=v.model,p=v.scale;Em(p)&&d.get("alignTicks")&&d.get("interval")==null?f.push(v):(Us(p,d),Em(p)&&(s=v))}f.length&&(s||(s=f.pop(),Us(s.scale,s.model)),M(f,function(g){ME(g.scale,g.model,s.scale)}))}}i(n.x),i(n.y);var a={};M(n.x,function(o){GT(n,"y",o,a)}),M(n.y,function(o){GT(n,"x",o,a)}),this.resize(this.model,e)},r.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),a=!n&&t.get("containLabel"),o=be(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var s=this._axesList;l(),a&&(M(s,function(u){if(!u.model.get(["axisLabel","inside"])){var f=_U(u);if(f){var c=u.isHorizontal()?"height":"width",h=u.model.get(["axisLabel","margin"]);o[c]-=f[c]+h,u.position==="top"?o.y+=f.height+h:u.position==="left"&&(o.x+=f.width+h)}}}),l()),M(this._coordsList,function(u){u.calcAffineTransform()});function l(){M(s,function(u){var f=u.isHorizontal(),c=f?[0,o.width]:[0,o.height],h=u.inverse?1:0;u.setExtent(c[h],c[1-h]),lY(u,f?o.x:o.y)})}},r.prototype.getAxis=function(t,e){var n=this._axesMap[t];if(n!=null)return n[e||0]},r.prototype.getAxes=function(){return this._axesList.slice()},r.prototype.getCartesian=function(t,e){if(t!=null&&e!=null){var n="x"+t+"y"+e;return this._coordsMap[n]}yt(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,a=this._coordsList;i0?"top":"bottom",a="center"):Uu(i-ji)?(o=n>0?"bottom":"top",a="center"):(o="middle",i>0&&i0?"right":"left":a=n>0?"left":"right"),{rotation:i,textAlign:a,textVerticalAlign:o}},r.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},r.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},r}(),HT={axisLine:function(r,t,e,n){var i=t.get(["axisLine","show"]);if(i==="auto"&&r.handleAutoShown&&(i=r.handleAutoShown("axisLine")),!!i){var a=t.axis.getExtent(),o=n.transform,s=[a[0],0],l=[a[1],0],u=s[0]>l[0];o&&(ze(s,s,o),ze(l,l,o));var f=F({lineCap:"round"},t.getModel(["axisLine","lineStyle"]).getLineStyle()),c=new Ee({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:f,strokeContainThreshold:r.strokeContainThreshold||5,silent:!0,z2:1});Hs(c.shape,c.style.lineWidth),c.anid="line",e.add(c);var h=t.get(["axisLine","symbol"]);if(h!=null){var v=t.get(["axisLine","symbolSize"]);nt(h)&&(h=[h,h]),(nt(v)||Ft(v))&&(v=[v,v]);var d=zo(t.get(["axisLine","symbolOffset"])||0,v),p=v[0],g=v[1];M([{rotate:r.rotation+Math.PI/2,offset:d[0],r:0},{rotate:r.rotation-Math.PI/2,offset:d[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],function(y,m){if(h[m]!=="none"&&h[m]!=null){var _=me(h[m],-p/2,-g/2,p,g,f.stroke,!0),S=y.r+y.offset,x=u?l:s;_.attr({rotation:y.rotate,x:x[0]+S*Math.cos(r.rotation),y:x[1]-S*Math.sin(r.rotation),silent:!0,z2:11}),e.add(_)}})}}},axisTickLabel:function(r,t,e,n){var i=hY(e,n,t,r),a=dY(e,n,t,r);if(cY(t,a,i),vY(e,n,t,r.tickDirection),t.get(["axisLabel","hideOverlap"])){var o=WR(Z(a,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));YR(o)}},axisName:function(r,t,e,n){var i=Re(r.axisName,t.get("name"));if(i){var a=t.get("nameLocation"),o=r.nameDirection,s=t.getModel("nameTextStyle"),l=t.get("nameGap")||0,u=t.axis.getExtent(),f=u[0]>u[1]?-1:1,c=[a==="start"?u[0]-f*l:a==="end"?u[1]+f*l:(u[0]+u[1])/2,$T(a)?r.labelOffset+o*l:0],h,v=t.get("nameRotate");v!=null&&(v=v*ji/180);var d;$T(a)?h=Ao.innerTextLayout(r.rotation,v!=null?v:r.rotation,o):(h=fY(r.rotation,a,v||0,u),d=r.axisNameAvailableWidth,d!=null&&(d=Math.abs(d/Math.sin(h.rotation)),!isFinite(d)&&(d=null)));var p=s.getFont(),g=t.get("nameTruncate",!0)||{},y=g.ellipsis,m=Re(r.nameTruncateMaxWidth,g.maxWidth,d),_=new Gt({x:c[0],y:c[1],rotation:h.rotation,silent:Ao.isLabelSilent(t),style:Qt(s,{text:i,font:p,overflow:"truncate",width:m,ellipsis:y,fill:s.getTextColor()||t.get(["axisLine","lineStyle","color"]),align:s.get("align")||h.textAlign,verticalAlign:s.get("verticalAlign")||h.textVerticalAlign}),z2:1});if(No({el:_,componentModel:t,itemName:i}),_.__fullText=i,_.anid="name",t.get("triggerEvent")){var S=Ao.makeAxisEventDataBase(t);S.targetType="axisName",S.name=i,St(_).eventData=S}n.add(_),_.updateTransform(),e.add(_),_.decomposeTransform()}}};function fY(r,t,e,n){var i=AL(e-r),a,o,s=n[0]>n[1],l=t==="start"&&!s||t!=="start"&&s;return Uu(i-ji/2)?(o=l?"bottom":"top",a="center"):Uu(i-ji*1.5)?(o=l?"top":"bottom",a="center"):(o="middle",iji/2?a=l?"left":"right":a=l?"right":"left"),{rotation:i,textAlign:a,textVerticalAlign:o}}function cY(r,t,e){if(!LR(r.axis)){var n=r.get(["axisLabel","showMinLabel"]),i=r.get(["axisLabel","showMaxLabel"]);t=t||[],e=e||[];var a=t[0],o=t[1],s=t[t.length-1],l=t[t.length-2],u=e[0],f=e[1],c=e[e.length-1],h=e[e.length-2];n===!1?(Pr(a),Pr(u)):WT(a,o)&&(n?(Pr(o),Pr(f)):(Pr(a),Pr(u))),i===!1?(Pr(s),Pr(c)):WT(l,s)&&(i?(Pr(l),Pr(h)):(Pr(s),Pr(c)))}}function Pr(r){r&&(r.ignore=!0)}function WT(r,t){var e=r&&r.getBoundingRect().clone(),n=t&&t.getBoundingRect().clone();if(!(!e||!n)){var i=qv([]);return Oo(i,i,-r.rotation),e.applyTransform(fi([],i,r.getLocalTransform())),n.applyTransform(fi([],i,t.getLocalTransform())),e.intersect(n)}}function $T(r){return r==="middle"||r==="center"}function DE(r,t,e,n,i){for(var a=[],o=[],s=[],l=0;l=0||r===t}function SY(r){var t=f1(r);if(t){var e=t.axisPointerModel,n=t.axis.scale,i=e.option,a=e.get("status"),o=e.get("value");o!=null&&(o=n.parse(o));var s=Hm(e);a==null&&(i.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(o==null||o>l[1])&&(o=l[1]),o0&&!d.min?d.min=0:d.min!=null&&d.min<0&&!d.max&&(d.max=0);var p=l;d.color!=null&&(p=pt({color:d.color},l));var g=Tt(mt(d),{boundaryGap:e,splitNumber:n,scale:i,axisLine:a,axisTick:o,axisLabel:s,name:d.text,showName:u,nameLocation:"end",nameGap:c,nameTextStyle:p,triggerEvent:h},!1);if(nt(f)){var y=g.name;g.name=f.replace("{value}",y!=null?y:"")}else vt(f)&&(g.name=f(g.name,g));var m=new te(g,null,this.ecModel);return _e(m,Pf.prototype),m.mainType="radar",m.componentIndex=this.componentIndex,m},this);this._indicatorModels=v},t.prototype.getIndicatorModels=function(){return this._indicatorModels},t.type="radar",t.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:Tt({lineStyle:{color:"#bbb"}},zl.axisLine),axisLabel:Pc(zl.axisLabel,!1),axisTick:Pc(zl.axisTick,!1),splitLine:Pc(zl.splitLine,!0),splitArea:Pc(zl.splitArea,!0),indicator:[]},t}(Bt);const NY=OY;var VY=["axisLine","axisTickLabel","axisName"],BY=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=this.group;a.removeAll(),this._buildAxes(e),this._buildSplitLineAndArea(e)},t.prototype._buildAxes=function(e){var n=e.coordinateSystem,i=n.getIndicatorAxes(),a=Z(i,function(o){var s=o.model.get("showName")?o.name:"",l=new xi(o.model,{axisName:s,position:[n.cx,n.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return l});M(a,function(o){M(VY,o.add,o),this.group.add(o.getGroup())},this)},t.prototype._buildSplitLineAndArea=function(e){var n=e.coordinateSystem,i=n.getIndicatorAxes();if(!i.length)return;var a=e.get("shape"),o=e.getModel("splitLine"),s=e.getModel("splitArea"),l=o.getModel("lineStyle"),u=s.getModel("areaStyle"),f=o.get("show"),c=s.get("show"),h=l.get("color"),v=u.get("color"),d=Y(h)?h:[h],p=Y(v)?v:[v],g=[],y=[];function m(E,O,V){var N=V%O.length;return E[N]=E[N]||[],N}if(a==="circle")for(var _=i[0].getTicksCoords(),S=n.cx,x=n.cy,b=0;b<_.length;b++){if(f){var w=m(g,d,b);g[w].push(new pa({shape:{cx:S,cy:x,r:_[b].coord}}))}if(c&&b<_.length-1){var w=m(y,p,b);y[w].push(new id({shape:{cx:S,cy:x,r0:_[b].coord,r:_[b+1].coord}}))}}else for(var T,A=Z(i,function(E,O){var V=E.getTicksCoords();return T=T==null?V.length-1:Math.min(V.length-1,T),Z(V,function(N){return n.coordToPoint(N.coord,O)})}),C=[],b=0;b<=T;b++){for(var D=[],I=0;I3?1.4:o>1?1.2:1.1,f=a>0?u:1/u;gg(this,"zoom","zoomOnMouseWheel",e,{scale:f,originX:s,originY:l,isAvailableBehavior:null})}if(i){var c=Math.abs(a),h=(a>0?1:-1)*(c>3?.4:c>1?.15:.05);gg(this,"scrollMove","moveOnMouseWheel",e,{scrollDelta:h,originX:s,originY:l,isAvailableBehavior:null})}}},t.prototype._pinchHandler=function(e){if(!KT(this._zr,"globalPan")){var n=e.pinchScale>1?1.1:1/1.1;gg(this,"zoom",null,e,{scale:n,originX:e.pinchX,originY:e.pinchY,isAvailableBehavior:null})}},t}(Zr);function gg(r,t,e,n,i){r.pointerChecker&&r.pointerChecker(n,i.originX,i.originY)&&(gi(n.event),kE(r,t,e,n,i))}function kE(r,t,e,n,i){i.isAvailableBehavior=at(gh,null,e,n),r.trigger(t,i)}function gh(r,t,e){var n=e[r];return!r||n&&(!nt(n)||t.event[n+"Key"])}const Bf=XY;function h1(r,t,e){var n=r.target;n.x+=t,n.y+=e,n.dirty()}function v1(r,t,e,n){var i=r.target,a=r.zoomLimit,o=r.zoom=r.zoom||1;if(o*=t,a){var s=a.min||0,l=a.max||1/0;o=Math.max(Math.min(l,o),s)}var u=o/r.zoom;r.zoom=o,i.x-=(e-i.x)*(u-1),i.y-=(n-i.y)*(u-1),i.scaleX*=u,i.scaleY*=u,i.dirty()}var qY={axisPointer:1,tooltip:1,brush:1};function Ad(r,t,e){var n=t.getComponentByElement(r.topTarget),i=n&&n.coordinateSystem;return n&&n!==e&&!qY.hasOwnProperty(n.mainType)&&i&&i.model!==e}function OE(r){if(nt(r)){var t=new DOMParser;r=t.parseFromString(r,"text/xml")}var e=r;for(e.nodeType===9&&(e=e.firstChild);e.nodeName.toLowerCase()!=="svg"||e.nodeType!==1;)e=e.nextSibling;return e}var yg,cv={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},jT=kt(cv),hv={"alignment-baseline":"textBaseline","stop-color":"stopColor"},JT=kt(hv),KY=function(){function r(){this._defs={},this._root=null}return r.prototype.parse=function(t,e){e=e||{};var n=OE(t);this._defsUsePending=[];var i=new _t;this._root=i;var a=[],o=n.getAttribute("viewBox")||"",s=parseFloat(n.getAttribute("width")||e.width),l=parseFloat(n.getAttribute("height")||e.height);isNaN(s)&&(s=null),isNaN(l)&&(l=null),xr(n,i,null,!0,!1);for(var u=n.firstChild;u;)this._parseNode(u,i,a,null,!1,!1),u=u.nextSibling;QY(this._defs,this._defsUsePending),this._defsUsePending=[];var f,c;if(o){var h=Cd(o);h.length>=4&&(f={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(f&&s!=null&&l!=null&&(c=VE(f,{x:0,y:0,width:s,height:l}),!e.ignoreViewBox)){var v=i;i=new _t,i.add(v),v.scaleX=v.scaleY=c.scale,v.x=c.x,v.y=c.y}return!e.ignoreRootClip&&s!=null&&l!=null&&i.setClipPath(new Vt({shape:{x:0,y:0,width:s,height:l}})),{root:i,width:s,height:l,viewBoxRect:f,viewBoxTransform:c,named:a}},r.prototype._parseNode=function(t,e,n,i,a,o){var s=t.nodeName.toLowerCase(),l,u=i;if(s==="defs"&&(a=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")l=e;else{if(!a){var f=yg[s];if(f&<(yg,s)){l=f.call(this,t,e);var c=t.getAttribute("name");if(c){var h={name:c,namedFrom:null,svgNodeTagLower:s,el:l};n.push(h),s==="g"&&(u=h)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:l});e.add(l)}}var v=QT[s];if(v&<(QT,s)){var d=v.call(this,t),p=t.getAttribute("id");p&&(this._defs[p]=d)}}if(l&&l.isGroup)for(var g=t.firstChild;g;)g.nodeType===1?this._parseNode(g,l,n,u,a,o):g.nodeType===3&&o&&this._parseText(g,l),g=g.nextSibling},r.prototype._parseText=function(t,e){var n=new Zu({style:{text:t.textContent},silent:!0,x:this._textX||0,y:this._textY||0});Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),jY(n,e);var i=n.style,a=i.fontSize;a&&a<9&&(i.fontSize=9,n.scaleX*=a/9,n.scaleY*=a/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+"px",i.fontFamily||"sans-serif"].join(" ");i.font=o;var s=n.getBoundingRect();return this._textX+=s.width,e.add(n),n},r.internalField=function(){yg={g:function(t,e){var n=new _t;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n},rect:function(t,e){var n=new Vt;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(t.getAttribute("x")||"0"),y:parseFloat(t.getAttribute("y")||"0"),width:parseFloat(t.getAttribute("width")||"0"),height:parseFloat(t.getAttribute("height")||"0")}),n.silent=!0,n},circle:function(t,e){var n=new pa;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),r:parseFloat(t.getAttribute("r")||"0")}),n.silent=!0,n},line:function(t,e){var n=new Ee;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(t.getAttribute("x1")||"0"),y1:parseFloat(t.getAttribute("y1")||"0"),x2:parseFloat(t.getAttribute("x2")||"0"),y2:parseFloat(t.getAttribute("y2")||"0")}),n.silent=!0,n},ellipse:function(t,e){var n=new S_;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),rx:parseFloat(t.getAttribute("rx")||"0"),ry:parseFloat(t.getAttribute("ry")||"0")}),n.silent=!0,n},polygon:function(t,e){var n=t.getAttribute("points"),i;n&&(i=rA(n));var a=new yr({shape:{points:i||[]},silent:!0});return Rr(e,a),xr(t,a,this._defsUsePending,!1,!1),a},polyline:function(t,e){var n=t.getAttribute("points"),i;n&&(i=rA(n));var a=new mr({shape:{points:i||[]},silent:!0});return Rr(e,a),xr(t,a,this._defsUsePending,!1,!1),a},image:function(t,e){var n=new We;return Rr(e,n),xr(t,n,this._defsUsePending,!1,!1),n.setStyle({image:t.getAttribute("xlink:href")||t.getAttribute("href"),x:+t.getAttribute("x"),y:+t.getAttribute("y"),width:+t.getAttribute("width"),height:+t.getAttribute("height")}),n.silent=!0,n},text:function(t,e){var n=t.getAttribute("x")||"0",i=t.getAttribute("y")||"0",a=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0";this._textX=parseFloat(n)+parseFloat(a),this._textY=parseFloat(i)+parseFloat(o);var s=new _t;return Rr(e,s),xr(t,s,this._defsUsePending,!1,!0),s},tspan:function(t,e){var n=t.getAttribute("x"),i=t.getAttribute("y");n!=null&&(this._textX=parseFloat(n)),i!=null&&(this._textY=parseFloat(i));var a=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0",s=new _t;return Rr(e,s),xr(t,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(a),this._textY+=parseFloat(o),s},path:function(t,e){var n=t.getAttribute("d")||"",i=fP(n);return Rr(e,i),xr(t,i,this._defsUsePending,!1,!1),i.silent=!0,i}}}(),r}(),QT={lineargradient:function(r){var t=parseInt(r.getAttribute("x1")||"0",10),e=parseInt(r.getAttribute("y1")||"0",10),n=parseInt(r.getAttribute("x2")||"10",10),i=parseInt(r.getAttribute("y2")||"0",10),a=new Af(t,e,n,i);return tA(r,a),eA(r,a),a},radialgradient:function(r){var t=parseInt(r.getAttribute("cx")||"0",10),e=parseInt(r.getAttribute("cy")||"0",10),n=parseInt(r.getAttribute("r")||"0",10),i=new wP(t,e,n);return tA(r,i),eA(r,i),i}};function tA(r,t){var e=r.getAttribute("gradientUnits");e==="userSpaceOnUse"&&(t.global=!0)}function eA(r,t){for(var e=r.firstChild;e;){if(e.nodeType===1&&e.nodeName.toLocaleLowerCase()==="stop"){var n=e.getAttribute("offset"),i=void 0;n&&n.indexOf("%")>0?i=parseInt(n,10)/100:n?i=parseFloat(n):i=0;var a={};NE(e,a,a);var o=a.stopColor||e.getAttribute("stop-color")||"#000000";t.colorStops.push({offset:i,color:o})}e=e.nextSibling}}function Rr(r,t){r&&r.__inheritedStyle&&(t.__inheritedStyle||(t.__inheritedStyle={}),pt(t.__inheritedStyle,r.__inheritedStyle))}function rA(r){for(var t=Cd(r),e=[],n=0;n0;a-=2){var o=n[a],s=n[a-1],l=Cd(o);switch(i=i||Cr(),s){case"translate":$n(i,i,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":n_(i,i,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":Oo(i,i,-parseFloat(l[0])*mg,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":var u=Math.tan(parseFloat(l[0])*mg);fi(i,[1,0,u,1,0,0],i);break;case"skewY":var f=Math.tan(parseFloat(l[0])*mg);fi(i,[1,f,0,1,0,0],i);break;case"matrix":i[0]=parseFloat(l[0]),i[1]=parseFloat(l[1]),i[2]=parseFloat(l[2]),i[3]=parseFloat(l[3]),i[4]=parseFloat(l[4]),i[5]=parseFloat(l[5]);break}}t.setLocalTransform(i)}}var iA=/([^\s:;]+)\s*:\s*([^:;]+)/g;function NE(r,t,e){var n=r.getAttribute("style");if(n){iA.lastIndex=0;for(var i;(i=iA.exec(n))!=null;){var a=i[1],o=lt(cv,a)?cv[a]:null;o&&(t[o]=i[2]);var s=lt(hv,a)?hv[a]:null;s&&(e[s]=i[2])}}}function n7(r,t,e){for(var n=0;n0,g={api:n,geo:l,mapOrGeoModel:t,data:s,isVisualEncodedByVisualMap:p,isGeo:o,transformInfoRaw:h};l.resourceType==="geoJSON"?this._buildGeoJSON(g):l.resourceType==="geoSVG"&&this._buildSVG(g),this._updateController(t,e,n),this._updateMapSelectHandler(t,u,n,i)},r.prototype._buildGeoJSON=function(t){var e=this._regionsGroupByName=ft(),n=ft(),i=this._regionsGroup,a=t.transformInfoRaw,o=t.mapOrGeoModel,s=t.data,l=t.geo.projection,u=l&&l.stream;function f(v,d){return d&&(v=d(v)),v&&[v[0]*a.scaleX+a.x,v[1]*a.scaleY+a.y]}function c(v){for(var d=[],p=!u&&l&&l.project,g=0;g=0)&&(h=i);var v=o?{normal:{align:"center",verticalAlign:"middle"}}:null;He(t,De(n),{labelFetcher:h,labelDataIndex:c,defaultText:e},v);var d=t.getTextContent();if(d&&(BE(d).ignore=d.ignore,t.textConfig&&o)){var p=t.getBoundingRect().clone();t.textConfig.layoutRect=p,t.textConfig.position=[(o[0]-p.x)/p.width*100+"%",(o[1]-p.y)/p.height*100+"%"]}t.disableLabelAnimation=!0}else t.removeTextContent(),t.removeTextConfig(),t.disableLabelAnimation=null}function uA(r,t,e,n,i,a){r.data?r.data.setItemGraphicEl(a,t):St(t).eventData={componentType:"geo",componentIndex:i.componentIndex,geoIndex:i.componentIndex,name:e,region:n&&n.option||{}}}function fA(r,t,e,n,i){r.data||No({el:t,componentModel:i,itemName:e,itemTooltipOption:n.get("tooltip")})}function cA(r,t,e,n,i){t.highDownSilentOnTouch=!!i.get("selectedMode");var a=n.getModel("emphasis"),o=a.get("focus");return ue(t,o,a.get("blurScope"),a.get("disabled")),r.isGeo&&b3(t,i,e),o}function hA(r,t,e){var n=[],i;function a(){i=[]}function o(){i.length&&(n.push(i),i=[])}var s=t({polygonStart:a,polygonEnd:o,lineStart:a,lineEnd:o,point:function(l,u){isFinite(l)&&isFinite(u)&&i.push([l,u])},sphere:function(){}});return!e&&s.polygonStart(),M(r,function(l){s.lineStart();for(var u=0;u-1&&(i.style.stroke=i.style.fill,i.style.fill="#fff",i.style.lineWidth=2),i},t.type="series.map",t.dependencies=["geo"],t.layoutMode="box",t.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},t}(le);const A7=T7;function C7(r,t){var e={};return M(r,function(n){n.each(n.mapDimension("value"),function(i,a){var o="ec-"+n.getName(a);e[o]=e[o]||[],isNaN(i)||e[o].push(i)})}),r[0].map(r[0].mapDimension("value"),function(n,i){for(var a="ec-"+r[0].getName(i),o=0,s=1/0,l=-1/0,u=e[a].length,f=0;f1?(S.width=_,S.height=_/g):(S.height=_,S.width=_*g),S.y=m[1]-S.height/2,S.x=m[0]-S.width/2;else{var x=r.getBoxLayoutParams();x.aspect=g,S=be(x,{width:d,height:p})}this.setViewRect(S.x,S.y,S.width,S.height),this.setCenter(r.get("center"),t),this.setZoom(r.get("zoom"))}function P7(r,t){M(t.get("geoCoord"),function(e,n){r.addGeoCoord(n,e)})}var R7=function(){function r(){this.dimensions=GE}return r.prototype.create=function(t,e){var n=[];function i(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}t.eachComponent("geo",function(o,s){var l=o.get("map"),u=new gA(l+s,l,F({nameMap:o.get("nameMap")},i(o)));u.zoomLimit=o.get("scaleLimit"),n.push(u),o.coordinateSystem=u,u.model=o,u.resize=yA,u.resize(o,e)}),t.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var l=o.get("geoIndex")||0;o.coordinateSystem=n[l]}});var a={};return t.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();a[s]=a[s]||[],a[s].push(o)}}),M(a,function(o,s){var l=Z(o,function(f){return f.get("nameMap")}),u=new gA(s,s,F({nameMap:J0(l)},i(o[0])));u.zoomLimit=Re.apply(null,Z(o,function(f){return f.get("scaleLimit")})),n.push(u),u.resize=yA,u.resize(o[0],e),M(o,function(f){f.coordinateSystem=u,P7(u,f)})}),n},r.prototype.getFilledRegions=function(t,e,n,i){for(var a=(t||[]).slice(),o=ft(),s=0;s=0;o--){var s=i[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},e.push(s)}}function F7(r,t){var e=r.isExpand?r.children:[],n=r.parentNode.children,i=r.hierNode.i?n[r.hierNode.i-1]:null;if(e.length){$7(r);var a=(e[0].hierNode.prelim+e[e.length-1].hierNode.prelim)/2;i?(r.hierNode.prelim=i.hierNode.prelim+t(r,i),r.hierNode.modifier=r.hierNode.prelim-a):r.hierNode.prelim=a}else i&&(r.hierNode.prelim=i.hierNode.prelim+t(r,i));r.parentNode.hierNode.defaultAncestor=U7(r,i,r.parentNode.hierNode.defaultAncestor||n[0],t)}function H7(r){var t=r.hierNode.prelim+r.parentNode.hierNode.modifier;r.setLayout({x:t},!0),r.hierNode.modifier+=r.parentNode.hierNode.modifier}function _A(r){return arguments.length?r:X7}function ou(r,t){return r-=Math.PI/2,{x:t*Math.cos(r),y:t*Math.sin(r)}}function W7(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function $7(r){for(var t=r.children,e=t.length,n=0,i=0;--e>=0;){var a=t[e];a.hierNode.prelim+=n,a.hierNode.modifier+=n,i+=a.hierNode.change,n+=a.hierNode.shift+i}}function U7(r,t,e,n){if(t){for(var i=r,a=r,o=a.parentNode.children[0],s=t,l=i.hierNode.modifier,u=a.hierNode.modifier,f=o.hierNode.modifier,c=s.hierNode.modifier;s=_g(s),a=Sg(a),s&&a;){i=_g(i),o=Sg(o),i.hierNode.ancestor=r;var h=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);h>0&&(Z7(Y7(s,r,e),r,h),u+=h,l+=h),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=i.hierNode.modifier,f+=o.hierNode.modifier}s&&!_g(i)&&(i.hierNode.thread=s,i.hierNode.modifier+=c-l),a&&!Sg(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=u-f,e=r)}return e}function _g(r){var t=r.children;return t.length&&r.isExpand?t[t.length-1]:r.hierNode.thread}function Sg(r){var t=r.children;return t.length&&r.isExpand?t[0]:r.hierNode.thread}function Y7(r,t,e){return r.hierNode.ancestor.parentNode===t.parentNode?r.hierNode.ancestor:e}function Z7(r,t,e){var n=e/(t.hierNode.i-r.hierNode.i);t.hierNode.change-=n,t.hierNode.shift+=e,t.hierNode.modifier+=e,t.hierNode.prelim+=e,r.hierNode.change+=n}function X7(r,t){return r.parentNode===t.parentNode?1:2}var q7=function(){function r(){this.parentPoint=[],this.childPoints=[]}return r}(),K7=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new q7},t.prototype.buildPath=function(e,n){var i=n.childPoints,a=i.length,o=n.parentPoint,s=i[0],l=i[a-1];if(a===1){e.moveTo(o[0],o[1]),e.lineTo(s[0],s[1]);return}var u=n.orient,f=u==="TB"||u==="BT"?0:1,c=1-f,h=rt(n.forkPosition,1),v=[];v[f]=o[f],v[c]=o[c]+(l[c]-o[c])*h,e.moveTo(o[0],o[1]),e.lineTo(v[0],v[1]),e.moveTo(s[0],s[1]),v[f]=s[f],e.lineTo(v[0],v[1]),v[f]=l[f],e.lineTo(v[0],v[1]),e.lineTo(l[0],l[1]);for(var d=1;dm.x,x||(S=S-Math.PI));var w=x?"left":"right",T=s.getModel("label"),A=T.get("rotate"),C=A*(Math.PI/180),D=g.getTextContent();D&&(g.setTextConfig({position:T.get("position")||w,rotation:A==null?-S:C,origin:"center"}),D.setStyle("verticalAlign","middle"))}var I=s.get(["emphasis","focus"]),L=I==="relative"?Fu(o.getAncestorsIndices(),o.getDescendantIndices()):I==="ancestor"?o.getAncestorsIndices():I==="descendant"?o.getDescendantIndices():null;L&&(St(e).focus=L),J7(i,o,f,e,d,v,p,n),e.__edge&&(e.onHoverStateChange=function(P){if(P!=="blur"){var E=o.parentNode&&r.getItemGraphicEl(o.parentNode.dataIndex);E&&E.hoverState===Tf||$h(e.__edge,P)}})}function J7(r,t,e,n,i,a,o,s){var l=t.getModel(),u=r.get("edgeShape"),f=r.get("layout"),c=r.getOrient(),h=r.get(["lineStyle","curveness"]),v=r.get("edgeForkPosition"),d=l.getModel("lineStyle").getLineStyle(),p=n.__edge;if(u==="curve")t.parentNode&&t.parentNode!==e&&(p||(p=n.__edge=new ad({shape:Um(f,c,h,i,i)})),Ht(p,{shape:Um(f,c,h,a,o)},r));else if(u==="polyline"&&f==="orthogonal"&&t!==e&&t.children&&t.children.length!==0&&t.isExpand===!0){for(var g=t.children,y=[],m=0;me&&(e=i.height)}this.height=e+1},r.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},r.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},r.prototype.getModel=function(t){if(!(this.dataIndex<0)){var e=this.hostTree,n=e.data.getItemModel(this.dataIndex);return n.getModel(t)}},r.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},r.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},r.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},r.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},r.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},r.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var n=e.getData().tree.root,i=r.targetNode;if(nt(i)&&(i=n.getNodeById(i)),i&&n.contains(i))return{node:i};var a=r.targetNodeId;if(a!=null&&(i=n.getNodeById(a)))return{node:i}}}function ZE(r){for(var t=[];r;)r=r.parentNode,r&&t.push(r);return t.reverse()}function m1(r,t){var e=ZE(r);return Dt(e,t)>=0}function Md(r,t){for(var e=[];r;){var n=r.dataIndex;e.push({name:r.name,dataIndex:n,value:t.getRawValue(n)}),r=r.parentNode}return e.reverse(),e}var u9=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return t.prototype.getInitialData=function(e){var n={name:e.name,children:e.data},i=e.leaves||{},a=new te(i,this,this.ecModel),o=y1.createTree(n,this,s);function s(c){c.wrapMethod("getItemModel",function(h,v){var d=o.getNodeByDataIndex(v);return d&&d.children.length&&d.isExpand||(h.parentModel=a),h})}var l=0;o.eachNode("preorder",function(c){c.depth>l&&(l=c.depth)});var u=e.expandAndCollapse,f=u&&e.initialTreeDepth>=0?e.initialTreeDepth:l;return o.root.eachNode("preorder",function(c){var h=c.hostTree.data.getRawDataItem(c.dataIndex);c.isExpand=h&&h.collapsed!=null?!h.collapsed:c.depth<=f}),o.data},t.prototype.getOrient=function(){var e=this.get("orient");return e==="horizontal"?e="LR":e==="vertical"&&(e="TB"),e},t.prototype.setZoom=function(e){this.option.zoom=e},t.prototype.setCenter=function(e){this.option.center=e},t.prototype.formatTooltip=function(e,n,i){for(var a=this.getData().tree,o=a.root.children[0],s=a.getNodeByDataIndex(e),l=s.getValue(),u=s.name;s&&s!==o;)u=s.parentNode.name+"."+u,s=s.parentNode;return Ie("nameValue",{name:u,value:l,noValue:isNaN(l)||l==null})},t.prototype.getDataParams=function(e){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=Md(i,this),n.collapsed=!i.isExpand,n},t.type="series.tree",t.layoutMode="box",t.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},t}(le);const f9=u9;function c9(r,t,e){for(var n=[r],i=[],a;a=n.pop();)if(i.push(a),a.isExpand){var o=a.children;if(o.length)for(var s=0;s=0;a--)e.push(i[a])}}function h9(r,t){r.eachSeriesByType("tree",function(e){v9(e,t)})}function v9(r,t){var e=W7(r,t);r.layoutInfo=e;var n=r.get("layout"),i=0,a=0,o=null;n==="radial"?(i=2*Math.PI,a=Math.min(e.height,e.width)/2,o=_A(function(_,S){return(_.parentNode===S.parentNode?1:2)/_.depth})):(i=e.width,a=e.height,o=_A());var s=r.getData().tree.root,l=s.children[0];if(l){G7(s),c9(l,F7,o),s.hierNode.modifier=-l.hierNode.prelim,Fl(l,H7);var u=l,f=l,c=l;Fl(l,function(_){var S=_.getLayout().x;Sf.getLayout().x&&(f=_),_.depth>c.depth&&(c=_)});var h=u===f?1:o(u,f)/2,v=h-u.getLayout().x,d=0,p=0,g=0,y=0;if(n==="radial")d=i/(f.getLayout().x+h+v),p=a/(c.depth-1||1),Fl(l,function(_){g=(_.getLayout().x+v)*d,y=(_.depth-1)*p;var S=ou(g,y);_.setLayout({x:S.x,y:S.y,rawX:g,rawY:y},!0)});else{var m=r.getOrient();m==="RL"||m==="LR"?(p=a/(f.getLayout().x+h+v),d=i/(c.depth-1||1),Fl(l,function(_){y=(_.getLayout().x+v)*p,g=m==="LR"?(_.depth-1)*d:i-(_.depth-1)*d,_.setLayout({x:g,y},!0)})):(m==="TB"||m==="BT")&&(d=i/(f.getLayout().x+h+v),p=a/(c.depth-1||1),Fl(l,function(_){g=(_.getLayout().x+v)*d,y=m==="TB"?(_.depth-1)*p:a-(_.depth-1)*p,_.setLayout({x:g,y},!0)}))}}}function d9(r){r.eachSeriesByType("tree",function(t){var e=t.getData(),n=e.tree;n.eachNode(function(i){var a=i.getModel(),o=a.getModel("itemStyle").getItemStyle(),s=e.ensureUniqueItemVisual(i.dataIndex,"style");F(s,o)})})}function p9(r){r.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(n){var i=t.dataIndex,a=n.getData().tree,o=a.getNodeByDataIndex(i);o.isExpand=!o.isExpand})}),r.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e,n){e.eachComponent({mainType:"series",subType:"tree",query:t},function(i){var a=i.coordinateSystem,o=p1(a,t,void 0,n);i.setCenter&&i.setCenter(o.center),i.setZoom&&i.setZoom(o.zoom)})})}function g9(r){r.registerChartView(Q7),r.registerSeriesModel(f9),r.registerLayout(h9),r.registerVisual(d9),p9(r)}var TA=["treemapZoomToNode","treemapRender","treemapMove"];function y9(r){for(var t=0;t1;)a=a.parentNode;var o=Sm(r.ecModel,a.name||a.dataIndex+"",n);i.setVisual("decal",o)})}var m9=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.preventUsingHoverLayer=!0,e}return t.prototype.getInitialData=function(e,n){var i={name:e.name,children:e.data};qE(i);var a=e.levels||[],o=this.designatedVisualItemStyle={},s=new te({itemStyle:o},this,n);a=e.levels=_9(a,n);var l=Z(a||[],function(c){return new te(c,s,n)},this),u=y1.createTree(i,this,f);function f(c){c.wrapMethod("getItemModel",function(h,v){var d=u.getNodeByDataIndex(v),p=d?l[d.depth]:null;return h.parentModel=p||s,h})}return u.data},t.prototype.optionUpdated=function(){this.resetViewRoot()},t.prototype.formatTooltip=function(e,n,i){var a=this.getData(),o=this.getRawValue(e),s=a.getName(e);return Ie("nameValue",{name:s,value:o})},t.prototype.getDataParams=function(e){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=Md(i,this),n.treePathInfo=n.treeAncestors,n},t.prototype.setLayoutInfo=function(e){this.layoutInfo=this.layoutInfo||{},F(this.layoutInfo,e)},t.prototype.mapIdToIndex=function(e){var n=this._idIndexMap;n||(n=this._idIndexMap=ft(),this._idIndexMapCount=0);var i=n.get(e);return i==null&&n.set(e,i=this._idIndexMapCount++),i},t.prototype.getViewRoot=function(){return this._viewRoot},t.prototype.resetViewRoot=function(e){e?this._viewRoot=e:e=this._viewRoot;var n=this.getRawData().tree.root;(!e||e!==n&&!n.contains(e))&&(this._viewRoot=n)},t.prototype.enableAriaDecal=function(){XE(this)},t.type="series.treemap",t.layoutMode="box",t.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},t}(le);function qE(r){var t=0;M(r.children,function(n){qE(n);var i=n.value;Y(i)&&(i=i[0]),t+=i});var e=r.value;Y(e)&&(e=e[0]),(e==null||isNaN(e))&&(e=t),e<0&&(e=0),Y(r.value)?r.value[0]=e:r.value=e}function _9(r,t){var e=Zt(t.get("color")),n=Zt(t.get(["aria","decal","decals"]));if(e){r=r||[];var i,a;M(r,function(s){var l=new te(s),u=l.get("color"),f=l.get("decal");(l.get(["itemStyle","color"])||u&&u!=="none")&&(i=!0),(l.get(["itemStyle","decal"])||f&&f!=="none")&&(a=!0)});var o=r[0]||(r[0]={});return i||(o.color=e.slice()),!a&&n&&(o.decal=n.slice()),r}}const S9=m9;var x9=8,AA=8,xg=5,b9=function(){function r(t){this.group=new _t,t.add(this.group)}return r.prototype.render=function(t,e,n,i){var a=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!a.get("show")||!n)){var s=a.getModel("itemStyle"),l=a.getModel("emphasis"),u=s.getModel("textStyle"),f=l.getModel(["itemStyle","textStyle"]),c={pos:{left:a.get("left"),right:a.get("right"),top:a.get("top"),bottom:a.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:a.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(n,c,u),this._renderContent(t,c,s,l,u,f,i),dd(o,c.pos,c.box)}},r.prototype._prepare=function(t,e,n){for(var i=t;i;i=i.parentNode){var a=xe(i.getModel().get("name"),""),o=n.getTextRect(a),s=Math.max(o.width+x9*2,e.emptyItemWidth);e.totalWidth+=s+AA,e.renderList.push({node:i,text:a,width:s})}},r.prototype._renderContent=function(t,e,n,i,a,o,s){for(var l=0,u=e.emptyItemWidth,f=t.get(["breadcrumb","height"]),c=PH(e.pos,e.box),h=e.totalWidth,v=e.renderList,d=i.getModel("itemStyle").getItemStyle(),p=v.length-1;p>=0;p--){var g=v[p],y=g.node,m=g.width,_=g.text;h>c.width&&(h-=m-u,m=u,_=null);var S=new yr({shape:{points:w9(l,0,m,f,p===v.length-1,p===0)},style:pt(n.getItemStyle(),{lineJoin:"bevel"}),textContent:new Gt({style:Qt(a,{text:_})}),textConfig:{position:"inside"},z2:el*1e4,onclick:bt(s,y)});S.disableLabelAnimation=!0,S.getTextContent().ensureState("emphasis").style=Qt(o,{text:_}),S.ensureState("emphasis").style=d,ue(S,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(S),T9(S,t,y),l+=m+AA}},r.prototype.remove=function(){this.group.removeAll()},r}();function w9(r,t,e,n,i,a){var o=[[i?r:r-xg,t],[r+e,t],[r+e,t+n],[i?r:r-xg,t+n]];return!a&&o.splice(2,0,[r+e+xg,t+n/2]),!i&&o.push([r,t+n/2]),o}function T9(r,t,e){St(r).eventData={componentType:"series",componentSubType:"treemap",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:e&&e.dataIndex,name:e&&e.name},treePathInfo:e&&Md(e,t)}}const A9=b9;var C9=function(){function r(){this._storage=[],this._elExistsMap={}}return r.prototype.add=function(t,e,n,i,a){return this._elExistsMap[t.id]?!1:(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:i,easing:a}),!0)},r.prototype.finished=function(t){return this._finishedCallback=t,this},r.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){e--,e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},i=0,a=this._storage.length;iMA||Math.abs(e.dy)>MA)){var n=this.seriesModel.getData().tree.root;if(!n)return;var i=n.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+e.dx,y:i.y+e.dy,width:i.width,height:i.height}})}},t.prototype._onZoom=function(e){var n=e.originX,i=e.originY,a=e.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var l=new Mt(s.x,s.y,s.width,s.height),u=null,f=this._controllerHost;u=f.zoomLimit;var c=f.zoom=f.zoom||1;if(c*=a,u){var h=u.min||0,v=u.max||1/0;c=Math.max(Math.min(v,c),h)}var d=c/f.zoom;f.zoom=c;var p=this.seriesModel.layoutInfo;n-=p.x,i-=p.y;var g=Cr();$n(g,g,[-n,-i]),n_(g,g,[d,d]),$n(g,g,[n,i]),l.applyTransform(g),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:l.x,y:l.y,width:l.width,height:l.height}})}},t.prototype._initEvents=function(e){var n=this;e.on("click",function(i){if(n._state==="ready"){var a=n.seriesModel.get("nodeClick",!0);if(a){var o=n.findTarget(i.offsetX,i.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)n._rootToNode(o);else if(a==="zoomToNode")n._zoomToNode(o);else if(a==="link"){var l=s.hostTree.data.getItemModel(s.dataIndex),u=l.get("link",!0),f=l.get("target",!0)||"blank";u&&Kh(u,f)}}}}},this)},t.prototype._renderBreadcrumb=function(e,n,i){var a=this;i||(i=e.get("leafDepth",!0)!=null?{node:e.getViewRoot()}:this.findTarget(n.getWidth()/2,n.getHeight()/2),i||(i={node:e.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new A9(this.group))).render(e,n,i.node,function(o){a._state!=="animating"&&(m1(e.getViewRoot(),o)?a._rootToNode({node:o}):a._zoomToNode({node:o}))})},t.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=Hl(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},t.prototype.dispose=function(){this._clearController()},t.prototype._zoomToNode=function(e){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:e.node})},t.prototype._rootToNode=function(e){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:e.node})},t.prototype.findTarget=function(e,n){var i,a=this.seriesModel.getViewRoot();return a.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var l=s.transformCoordToLocal(e,n),u=s.shape;if(u.x<=l[0]&&l[0]<=u.x+u.width&&u.y<=l[1]&&l[1]<=u.y+u.height)i={node:o,offsetX:l[0],offsetY:l[1]};else return!1}},this),i},t.type="treemap",t}(ee);function Hl(){return{nodeGroup:[],background:[],content:[]}}function R9(r,t,e,n,i,a,o,s,l,u){if(!o)return;var f=o.getLayout(),c=r.getData(),h=o.getModel();if(c.setItemGraphicEl(o.dataIndex,null),!f||!f.isInView)return;var v=f.width,d=f.height,p=f.borderWidth,g=f.invisible,y=o.getRawIndex(),m=s&&s.getRawIndex(),_=o.viewChildren,S=f.upperHeight,x=_&&_.length,b=h.getModel("itemStyle"),w=h.getModel(["emphasis","itemStyle"]),T=h.getModel(["blur","itemStyle"]),A=h.getModel(["select","itemStyle"]),C=b.get("borderRadius")||0,D=gt("nodeGroup",Ym);if(!D)return;if(l.add(D),D.x=f.x||0,D.y=f.y||0,D.markRedraw(),vv(D).nodeWidth=v,vv(D).nodeHeight=d,f.isAboveViewRoot)return D;var I=gt("background",CA,u,I9);I&&$(D,I,x&&f.upperLabelHeight);var L=h.getModel("emphasis"),P=L.get("focus"),E=L.get("blurScope"),O=L.get("disabled"),V=P==="ancestor"?o.getAncestorsIndices():P==="descendant"?o.getDescendantIndices():P;if(x)qu(D)&&so(D,!1),I&&(so(I,!O),c.setItemGraphicEl(o.dataIndex,I),hm(I,V,E));else{var N=gt("content",CA,u,L9);N&&q(D,N),I.disableMorphing=!0,I&&qu(I)&&so(I,!1),so(D,!O),c.setItemGraphicEl(o.dataIndex,D);var G=h.getShallow("cursor");G&&N.attr("cursor",G),hm(D,V,E)}return D;function $(K,H,tt){var j=St(H);if(j.dataIndex=o.dataIndex,j.seriesIndex=r.seriesIndex,H.setShape({x:0,y:0,width:v,height:d,r:C}),g)Q(H);else{H.invisible=!1;var ut=o.getVisual("style"),R=ut.stroke,k=LA(b);k.fill=R;var z=Za(w);z.fill=w.get("borderColor");var X=Za(T);X.fill=T.get("borderColor");var W=Za(A);if(W.fill=A.get("borderColor"),tt){var J=v-2*p;ct(H,R,ut.opacity,{x:p,y:0,width:J,height:S})}else H.removeTextContent();H.setStyle(k),H.ensureState("emphasis").style=z,H.ensureState("blur").style=X,H.ensureState("select").style=W,Lo(H)}K.add(H)}function q(K,H){var tt=St(H);tt.dataIndex=o.dataIndex,tt.seriesIndex=r.seriesIndex;var j=Math.max(v-2*p,0),ut=Math.max(d-2*p,0);if(H.culling=!0,H.setShape({x:p,y:p,width:j,height:ut,r:C}),g)Q(H);else{H.invisible=!1;var R=o.getVisual("style"),k=R.fill,z=LA(b);z.fill=k,z.decal=R.decal;var X=Za(w),W=Za(T),J=Za(A);ct(H,k,R.opacity,null),H.setStyle(z),H.ensureState("emphasis").style=X,H.ensureState("blur").style=W,H.ensureState("select").style=J,Lo(H)}K.add(H)}function Q(K){!K.invisible&&a.push(K)}function ct(K,H,tt,j){var ut=h.getModel(j?IA:DA),R=xe(h.get("name"),null),k=ut.getShallow("show");He(K,De(h,j?IA:DA),{defaultText:k?R:null,inheritColor:H,defaultOpacity:tt,labelFetcher:r,labelDataIndex:o.dataIndex});var z=K.getTextContent();if(z){var X=z.style,W=t_(X.padding||0);j&&(K.setTextConfig({layoutRect:j}),z.disableLabelLayout=!0),z.beforeUpdate=function(){var ot=Math.max((j?j.width:K.shape.width)-W[1]-W[3],0),st=Math.max((j?j.height:K.shape.height)-W[0]-W[2],0);(X.width!==ot||X.height!==st)&&z.setStyle({width:ot,height:st})},X.truncateMinChar=2,X.lineOverflow="truncate",ht(X,j,f);var J=z.getState("emphasis");ht(J?J.style:null,j,f)}}function ht(K,H,tt){var j=K?K.text:null;if(!H&&tt.isLeafRoot&&j!=null){var ut=r.get("drillDownIcon",!0);K.text=ut?ut+" "+j:j}}function gt(K,H,tt,j){var ut=m!=null&&e[K][m],R=i[K];return ut?(e[K][m]=null,Et(R,ut)):g||(ut=new H,ut instanceof Yr&&(ut.z2=E9(tt,j)),U(R,ut)),t[K][y]=ut}function Et(K,H){var tt=K[y]={};H instanceof Ym?(tt.oldX=H.x,tt.oldY=H.y):tt.oldShape=F({},H.shape)}function U(K,H){var tt=K[y]={},j=o.parentNode,ut=H instanceof _t;if(j&&(!n||n.direction==="drillDown")){var R=0,k=0,z=i.background[j.getRawIndex()];!n&&z&&z.oldShape&&(R=z.oldShape.width,k=z.oldShape.height),ut?(tt.oldX=0,tt.oldY=k):tt.oldShape={x:R,y:k,width:0,height:0}}tt.fadein=!ut}}function E9(r,t){return r*D9+t}const k9=P9;var uf=M,O9=yt,dv=-1,_1=function(){function r(t){var e=t.mappingMethod,n=t.type,i=this.option=mt(t);this.type=n,this.mappingMethod=e,this._normalizeData=B9[e];var a=r.visualHandlers[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._normalizedToVisual=a._normalizedToVisual[e],e==="piecewise"?(bg(i),N9(i)):e==="category"?i.categories?V9(i):bg(i,!0):(lr(e!=="linear"||i.dataExtent),bg(i))}return r.prototype.mapValueToVisual=function(t){var e=this._normalizeData(t);return this._normalizedToVisual(e,t)},r.prototype.getNormalizer=function(){return at(this._normalizeData,this)},r.listVisualTypes=function(){return kt(r.visualHandlers)},r.isValidType=function(t){return r.visualHandlers.hasOwnProperty(t)},r.eachVisual=function(t,e,n){yt(t)?M(t,e,n):e.call(n,t)},r.mapVisual=function(t,e,n){var i,a=Y(t)?[]:yt(t)?{}:(i=!0,null);return r.eachVisual(t,function(o,s){var l=e.call(n,o,s);i?a=l:a[s]=l}),a},r.retrieveVisuals=function(t){var e={},n;return t&&uf(r.visualHandlers,function(i,a){t.hasOwnProperty(a)&&(e[a]=t[a],n=!0)}),n?e:null},r.prepareVisualTypes=function(t){if(Y(t))t=t.slice();else if(O9(t)){var e=[];uf(t,function(n,i){e.push(i)}),t=e}else return[];return t.sort(function(n,i){return i==="color"&&n!=="color"&&n.indexOf("color")===0?1:-1}),t},r.dependsOn=function(t,e){return e==="color"?!!(t&&t.indexOf(e)===0):t===e},r.findPieceIndex=function(t,e,n){for(var i,a=1/0,o=0,s=e.length;o=0;a--)n[a]==null&&(delete e[t[a]],t.pop())}function bg(r,t){var e=r.visual,n=[];yt(e)?uf(e,function(a){n.push(a)}):e!=null&&n.push(e);var i={color:1,symbol:1};!t&&n.length===1&&!i.hasOwnProperty(r.type)&&(n[1]=n[0]),KE(r,n)}function Ec(r){return{applyVisual:function(t,e,n){var i=this.mapValueToVisual(t);n("color",r(e("color"),i))},_normalizedToVisual:Zm([0,1])}}function PA(r){var t=this.option.visual;return t[Math.round(Ut(r,[0,1],[0,t.length-1],!0))]||{}}function Wl(r){return function(t,e,n){n(r,this.mapValueToVisual(t))}}function su(r){var t=this.option.visual;return t[this.option.loop&&r!==dv?r%t.length:r]}function Xa(){return this.option.visual[0]}function Zm(r){return{linear:function(t){return Ut(t,r,this.option.visual,!0)},category:su,piecewise:function(t,e){var n=Xm.call(this,e);return n==null&&(n=Ut(t,r,this.option.visual,!0)),n},fixed:Xa}}function Xm(r){var t=this.option,e=t.pieceList;if(t.hasSpecialVisual){var n=_1.findPieceIndex(r,e),i=e[n];if(i&&i.visual)return i.visual[this.type]}}function KE(r,t){return r.visual=t,r.type==="color"&&(r.parsedVisual=Z(t,function(e){var n=Mr(e);return n||[0,0,0,1]})),t}var B9={linear:function(r){return Ut(r,this.option.dataExtent,[0,1],!0)},piecewise:function(r){var t=this.option.pieceList,e=_1.findPieceIndex(r,t,!0);if(e!=null)return Ut(e,[0,t.length-1],[0,1],!0)},category:function(r){var t=this.option.categories?this.option.categoryMap[r]:r;return t==null?dv:t},fixed:pe};function kc(r,t,e){return r?t<=e:t=e.length||p===e[p.depth]){var y=$9(i,l,p,g,d,n);JE(p,y,e,n)}})}}}function F9(r,t,e){var n=F({},t),i=e.designatedVisualItemStyle;return M(["color","colorAlpha","colorSaturation"],function(a){i[a]=t[a];var o=r.get(a);i[a]=null,o!=null&&(n[a]=o)}),n}function RA(r){var t=wg(r,"color");if(t){var e=wg(r,"colorAlpha"),n=wg(r,"colorSaturation");return n&&(t=_u(t,null,null,n)),e&&(t=Bh(t,e)),t}}function H9(r,t){return t!=null?_u(t,null,null,r):null}function wg(r,t){var e=r[t];if(e!=null&&e!=="none")return e}function W9(r,t,e,n,i,a){if(!(!a||!a.length)){var o=Tg(t,"color")||i.color!=null&&i.color!=="none"&&(Tg(t,"colorAlpha")||Tg(t,"colorSaturation"));if(o){var s=t.get("visualMin"),l=t.get("visualMax"),u=e.dataExtent.slice();s!=null&&su[1]&&(u[1]=l);var f=t.get("colorMappingBy"),c={type:o.name,dataExtent:u,visual:o.range};c.type==="color"&&(f==="index"||f==="id")?(c.mappingMethod="category",c.loop=!0):c.mappingMethod="linear";var h=new Ge(c);return jE(h).drColorMappingBy=f,h}}}function Tg(r,t){var e=r.get(t);return Y(e)&&e.length?{name:t,range:e}:null}function $9(r,t,e,n,i,a){var o=F({},t);if(i){var s=i.type,l=s==="color"&&jE(i).drColorMappingBy,u=l==="index"?n:l==="id"?a.mapIdToIndex(e.getId()):e.getValue(r.get("visualDimension"));o[s]=i.mapValueToVisual(u)}return o}var ff=Math.max,pv=Math.min,EA=Re,S1=M,QE=["itemStyle","borderWidth"],U9=["itemStyle","gapWidth"],Y9=["upperLabel","show"],Z9=["upperLabel","height"];const X9={seriesType:"treemap",reset:function(r,t,e,n){var i=e.getWidth(),a=e.getHeight(),o=r.option,s=be(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),l=o.size||[],u=rt(EA(s.width,l[0]),i),f=rt(EA(s.height,l[1]),a),c=n&&n.type,h=["treemapZoomToNode","treemapRootToNode"],v=lf(n,h,r),d=c==="treemapRender"||c==="treemapMove"?n.rootRect:null,p=r.getViewRoot(),g=ZE(p);if(c!=="treemapMove"){var y=c==="treemapZoomToNode"?tZ(r,v,p,u,f):d?[d.width,d.height]:[u,f],m=o.sort;m&&m!=="asc"&&m!=="desc"&&(m="desc");var _={squareRatio:o.squareRatio,sort:m,leafDepth:o.leafDepth};p.hostTree.clearLayouts();var S={x:0,y:0,width:y[0],height:y[1],area:y[0]*y[1]};p.setLayout(S),tk(p,_,!1,0),S=p.getLayout(),S1(g,function(b,w){var T=(g[w+1]||p).getValue();b.setLayout(F({dataExtent:[T,T],borderWidth:0,upperHeight:0},S))})}var x=r.getData().tree.root;x.setLayout(eZ(s,d,v),!0),r.setLayoutInfo(s),ek(x,new Mt(-s.x,-s.y,i,a),g,p,0)}};function tk(r,t,e,n){var i,a;if(!r.isRemoved()){var o=r.getLayout();i=o.width,a=o.height;var s=r.getModel(),l=s.get(QE),u=s.get(U9)/2,f=rk(s),c=Math.max(l,f),h=l-u,v=c-u;r.setLayout({borderWidth:l,upperHeight:c,upperLabelHeight:f},!0),i=ff(i-2*h,0),a=ff(a-h-v,0);var d=i*a,p=q9(r,s,d,t,e,n);if(p.length){var g={x:h,y:v,width:i,height:a},y=pv(i,a),m=1/0,_=[];_.area=0;for(var S=0,x=p.length;S=0;l--){var u=i[n==="asc"?o-l-1:l].getValue();u/e*ts[1]&&(s[1]=u)})),{sum:n,dataExtent:s}}function Q9(r,t,e){for(var n=0,i=1/0,a=0,o=void 0,s=r.length;an&&(n=o));var l=r.area*r.area,u=t*t*e;return l?ff(u*n/l,l/(u*i)):1/0}function kA(r,t,e,n,i){var a=t===e.width?0:1,o=1-a,s=["x","y"],l=["width","height"],u=e[s[a]],f=t?r.area/t:0;(i||f>e[l[o]])&&(f=e[l[o]]);for(var c=0,h=r.length;cYx&&(u=Yx),a=s}un&&(n=t);var a=n%2?n+2:n+3;i=[];for(var o=0;o0&&(x[0]=-x[0],x[1]=-x[1]);var w=S[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var T=-Math.atan2(S[1],S[0]);c[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":a.x=-h[0]*y+f[0],a.y=-h[1]*m+f[1],d=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=y*w+f[0],a.y=f[1]+A,d=S[0]<0?"right":"left",a.originX=-y*w,a.originY=-A;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=b[0],a.y=b[1]+A,d="center",a.originY=-A;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-y*w+c[0],a.y=c[1]+A,d=S[0]>=0?"right":"left",a.originX=y*w,a.originY=-A;break}a.scaleX=a.scaleY=o,a.setStyle({verticalAlign:a.__verticalAlign||p,align:a.__align||d})}},t}(_t);const T1=SZ;var xZ=function(){function r(t){this.group=new _t,this._LineCtor=t||T1}return r.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,a=n._lineData;n._lineData=t,a||i.removeAll();var o=GA(t);t.diff(a).add(function(s){e._doAdd(t,s,o)}).update(function(s,l){e._doUpdate(a,t,l,s,o)}).remove(function(s){i.remove(a.getItemGraphicEl(s))}).execute()},r.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,n){e.updateLayout(t,n)},this)},r.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=GA(t),this._lineData=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(t,e){this._progressiveEls=[];function n(s){!s.isGroup&&!bZ(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var i=t.start;i0}function GA(r){var t=r.hostModel,e=t.getModel("emphasis");return{lineStyle:t.getModel("lineStyle").getLineStyle(),emphasisLineStyle:e.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:t.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:t.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:e.get("disabled"),blurScope:e.get("blurScope"),focus:e.get("focus"),labelStatesModels:De(t)}}function FA(r){return isNaN(r[0])||isNaN(r[1])}function Ig(r){return r&&!FA(r[0])&&!FA(r[1])}const A1=xZ;var Lg=[],Pg=[],Rg=[],os=Le,Eg=yo,HA=Math.abs;function WA(r,t,e){for(var n=r[0],i=r[1],a=r[2],o=1/0,s,l=e*e,u=.1,f=.1;f<=.9;f+=.1){Lg[0]=os(n[0],i[0],a[0],f),Lg[1]=os(n[1],i[1],a[1],f);var c=HA(Eg(Lg,t)-l);c=0?s=s+u:s=s-u:d>=0?s=s-u:s=s+u}return s}function kg(r,t){var e=[],n=Hu,i=[[],[],[]],a=[[],[]],o=[];t/=2,r.eachEdge(function(s,l){var u=s.getLayout(),f=s.getVisual("fromSymbol"),c=s.getVisual("toSymbol");u.__original||(u.__original=[ui(u[0]),ui(u[1])],u[2]&&u.__original.push(ui(u[2])));var h=u.__original;if(u[2]!=null){if(rr(i[0],h[0]),rr(i[1],h[2]),rr(i[2],h[1]),f&&f!=="none"){var v=uu(s.node1),d=WA(i,h[0],v*t);n(i[0][0],i[1][0],i[2][0],d,e),i[0][0]=e[3],i[1][0]=e[4],n(i[0][1],i[1][1],i[2][1],d,e),i[0][1]=e[3],i[1][1]=e[4]}if(c&&c!=="none"){var v=uu(s.node2),d=WA(i,h[1],v*t);n(i[0][0],i[1][0],i[2][0],d,e),i[1][0]=e[1],i[2][0]=e[2],n(i[0][1],i[1][1],i[2][1],d,e),i[1][1]=e[1],i[2][1]=e[2]}rr(u[0],i[0]),rr(u[1],i[2]),rr(u[2],i[1])}else{if(rr(a[0],h[0]),rr(a[1],h[1]),ao(o,a[1],a[0]),Js(o,o),f&&f!=="none"){var v=uu(s.node1);Ny(a[0],a[0],o,v*t)}if(c&&c!=="none"){var v=uu(s.node2);Ny(a[1],a[1],o,-v*t)}rr(u[0],a[0]),rr(u[1],a[1])}})}function $A(r){return r.type==="view"}var wZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){var i=new Ef,a=new A1,o=this.group;this._controller=new Bf(n.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(a.group),this._symbolDraw=i,this._lineDraw=a,this._firstRender=!0},t.prototype.render=function(e,n,i){var a=this,o=e.coordinateSystem;this._model=e;var s=this._symbolDraw,l=this._lineDraw,u=this.group;if($A(o)){var f={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?u.attr(f):Ht(u,f,e)}kg(e.getGraph(),lu(e));var c=e.getData();s.updateData(c);var h=e.getEdgeData();l.updateData(h),this._updateNodeAndLinkScale(),this._updateController(e,n,i),clearTimeout(this._layoutTimeout);var v=e.forceLayout,d=e.get(["force","layoutAnimation"]);v&&this._startForceLayoutIteration(v,d);var p=e.get("layout");c.graph.eachNode(function(_){var S=_.dataIndex,x=_.getGraphicEl(),b=_.getModel();if(x){x.off("drag").off("dragend");var w=b.get("draggable");w&&x.on("drag",function(A){switch(p){case"force":v.warmUp(),!a._layouting&&a._startForceLayoutIteration(v,d),v.setFixed(S),c.setItemLayout(S,[x.x,x.y]);break;case"circular":c.setItemLayout(S,[x.x,x.y]),_.setLayout({fixed:!0},!0),w1(e,"symbolSize",_,[A.offsetX,A.offsetY]),a.updateLayout(e);break;case"none":default:c.setItemLayout(S,[x.x,x.y]),b1(e.getGraph(),e),a.updateLayout(e);break}}).on("dragend",function(){v&&v.setUnfixed(S)}),x.setDraggable(w,!!b.get("cursor"));var T=b.get(["emphasis","focus"]);T==="adjacency"&&(St(x).focus=_.getAdjacentDataIndices())}}),c.graph.eachEdge(function(_){var S=_.getGraphicEl(),x=_.getModel().get(["emphasis","focus"]);S&&x==="adjacency"&&(St(S).focus={edge:[_.dataIndex],node:[_.node1.dataIndex,_.node2.dataIndex]})});var g=e.get("layout")==="circular"&&e.get(["circular","rotateLabel"]),y=c.getLayout("cx"),m=c.getLayout("cy");c.graph.eachNode(function(_){ok(_,g,y,m)}),this._firstRender=!1},t.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},t.prototype._startForceLayoutIteration=function(e,n){var i=this;(function a(){e.step(function(o){i.updateLayout(i._model),(i._layouting=!o)&&(n?i._layoutTimeout=setTimeout(a,16):a())})})()},t.prototype._updateController=function(e,n,i){var a=this,o=this._controller,s=this._controllerHost,l=this.group;if(o.setPointerChecker(function(u,f,c){var h=l.getBoundingRect();return h.applyTransform(l.transform),h.contain(f,c)&&!Ad(u,i,e)}),!$A(e.coordinateSystem)){o.disable();return}o.enable(e.get("roam")),s.zoomLimit=e.get("scaleLimit"),s.zoom=e.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){h1(s,u.dx,u.dy),i.dispatchAction({seriesId:e.id,type:"graphRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){v1(s,u.scale,u.originX,u.originY),i.dispatchAction({seriesId:e.id,type:"graphRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),a._updateNodeAndLinkScale(),kg(e.getGraph(),lu(e)),a._lineDraw.updateLayout(),i.updateLabelLayout()})},t.prototype._updateNodeAndLinkScale=function(){var e=this._model,n=e.getData(),i=lu(e);n.eachItemGraphicEl(function(a,o){a&&a.setSymbolScale(i)})},t.prototype.updateLayout=function(e){kg(e.getGraph(),lu(e)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},t.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},t.type="graph",t}(ee);const TZ=wZ;function ss(r){return"_EC_"+r}var AZ=function(){function r(t){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=t||!1}return r.prototype.isDirected=function(){return this._directed},r.prototype.addNode=function(t,e){t=t==null?""+e:""+t;var n=this._nodesMap;if(!n[ss(t)]){var i=new qa(t,e);return i.hostGraph=this,this.nodes.push(i),n[ss(t)]=i,i}},r.prototype.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},r.prototype.getNodeById=function(t){return this._nodesMap[ss(t)]},r.prototype.addEdge=function(t,e,n){var i=this._nodesMap,a=this._edgesMap;if(Ft(t)&&(t=this.nodes[t]),Ft(e)&&(e=this.nodes[e]),t instanceof qa||(t=i[ss(t)]),e instanceof qa||(e=i[ss(e)]),!(!t||!e)){var o=t.id+"-"+e.id,s=new lk(t,e,n);return s.hostGraph=this,this._directed&&(t.outEdges.push(s),e.inEdges.push(s)),t.edges.push(s),t!==e&&e.edges.push(s),this.edges.push(s),a[o]=s,s}},r.prototype.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},r.prototype.getEdge=function(t,e){t instanceof qa&&(t=t.id),e instanceof qa&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+"-"+e]:n[t+"-"+e]||n[e+"-"+t]},r.prototype.eachNode=function(t,e){for(var n=this.nodes,i=n.length,a=0;a=0&&t.call(e,n[a],a)},r.prototype.eachEdge=function(t,e){for(var n=this.edges,i=n.length,a=0;a=0&&n[a].node1.dataIndex>=0&&n[a].node2.dataIndex>=0&&t.call(e,n[a],a)},r.prototype.breadthFirstTraverse=function(t,e,n,i){if(e instanceof qa||(e=this._nodesMap[ss(e)]),!!e){for(var a=n==="out"?"outEdges":n==="in"?"inEdges":"edges",o=0;o=0&&l.node2.dataIndex>=0});for(var a=0,o=i.length;a=0&&this[r][t].setItemVisual(this.dataIndex,e,n)},getVisual:function(e){return this[r][t].getItemVisual(this.dataIndex,e)},setLayout:function(e,n){this.dataIndex>=0&&this[r][t].setItemLayout(this.dataIndex,e,n)},getLayout:function(){return this[r][t].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[r][t].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[r][t].getRawIndex(this.dataIndex)}}}_e(qa,uk("hostGraph","data"));_e(lk,uk("hostGraph","edgeData"));const CZ=AZ;function fk(r,t,e,n,i){for(var a=new CZ(n),o=0;o "+h)),u++)}var v=e.get("coordinateSystem"),d;if(v==="cartesian2d"||v==="polar")d=Ai(r,e);else{var p=Df.get(v),g=p?p.dimensions||[]:[];Dt(g,"value")<0&&g.concat(["value"]);var y=Lf(r,{coordDimensions:g,encodeDefine:e.getEncode()}).dimensions;d=new sr(y,e),d.initData(r)}var m=new sr(["value"],e);return m.initData(l,s),i&&i(d,m),UE({mainData:d,struct:a,structAttr:"graph",datas:{node:d,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var MZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.hasSymbolVisual=!0,e}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new Vf(i,i),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},t.prototype.mergeOption=function(e){r.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},t.prototype.mergeDefaultAndTheme=function(e){r.prototype.mergeDefaultAndTheme.apply(this,arguments),Mo(e,"edgeLabel",["show"])},t.prototype.getInitialData=function(e,n){var i=e.edges||e.links||[],a=e.data||e.nodes||[],o=this;if(a&&i){lZ(this);var s=fk(a,i,this,!0,l);return M(s.edges,function(u){uZ(u.node1,u.node2,this,u.dataIndex)},this),s.data}function l(u,f){u.wrapMethod("getItemModel",function(d){var p=o._categoriesModels,g=d.getShallow("category"),y=p[g];return y&&(y.parentModel=d.parentModel,d.parentModel=y),d});var c=te.prototype.getModel;function h(d,p){var g=c.call(this,d,p);return g.resolveParentPath=v,g}f.wrapMethod("getItemModel",function(d){return d.resolveParentPath=v,d.getModel=h,d});function v(d){if(d&&(d[0]==="label"||d[1]==="label")){var p=d.slice();return d[0]==="label"?p[0]="edgeLabel":d[1]==="label"&&(p[1]="edgeLabel"),p}return d}}},t.prototype.getGraph=function(){return this.getData().graph},t.prototype.getEdgeData=function(){return this.getGraph().edgeData},t.prototype.getCategoriesData=function(){return this._categoriesData},t.prototype.formatTooltip=function(e,n,i){if(i==="edge"){var a=this.getData(),o=this.getDataParams(e,i),s=a.graph.getEdgeByIndex(e),l=a.getName(s.node1.dataIndex),u=a.getName(s.node2.dataIndex),f=[];return l!=null&&f.push(l),u!=null&&f.push(u),Ie("nameValue",{name:f.join(" > "),value:o.value,noValue:o.value==null})}var c=I2({series:this,dataIndex:e,multipleSeries:n});return c},t.prototype._updateCategoriesData=function(){var e=Z(this.option.categories||[],function(i){return i.value!=null?i:F({value:0},i)}),n=new sr(["value"],this);n.initData(e),this._categoriesData=n,this._categoriesModels=n.mapArray(function(i){return n.getItemModel(i)})},t.prototype.setZoom=function(e){this.option.zoom=e},t.prototype.setCenter=function(e){this.option.center=e},t.prototype.isAnimationEnabled=function(){return r.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},t.type="series.graph",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},t}(le);const DZ=MZ;var IZ={type:"graphRoam",event:"graphRoam",update:"none"};function LZ(r){r.registerChartView(TZ),r.registerSeriesModel(DZ),r.registerProcessor(nZ),r.registerVisual(iZ),r.registerVisual(aZ),r.registerLayout(fZ),r.registerLayout(r.PRIORITY.VISUAL.POST_CHART_LAYOUT,hZ),r.registerLayout(dZ),r.registerCoordinateSystem("graphView",{dimensions:zf.dimensions,create:gZ}),r.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},pe),r.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},pe),r.registerAction(IZ,function(t,e,n){e.eachComponent({mainType:"series",query:t},function(i){var a=i.coordinateSystem,o=p1(a,t,void 0,n);i.setCenter&&i.setCenter(o.center),i.setZoom&&i.setZoom(o.zoom)})})}var PZ=function(){function r(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return r}(),RZ=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="pointer",n}return t.prototype.getDefaultShape=function(){return new PZ},t.prototype.buildPath=function(e,n){var i=Math.cos,a=Math.sin,o=n.r,s=n.width,l=n.angle,u=n.x-i(l)*s*(s>=o/3?1:2),f=n.y-a(l)*s*(s>=o/3?1:2);l=n.angle-Math.PI/2,e.moveTo(u,f),e.lineTo(n.x+i(l)*s,n.y+a(l)*s),e.lineTo(n.x+i(n.angle)*o,n.y+a(n.angle)*o),e.lineTo(n.x-i(l)*s,n.y-a(l)*s),e.lineTo(u,f)},t}(Pt);const EZ=RZ;function kZ(r,t){var e=r.get("center"),n=t.getWidth(),i=t.getHeight(),a=Math.min(n,i),o=rt(e[0],t.getWidth()),s=rt(e[1],t.getHeight()),l=rt(r.get("radius"),a/2);return{cx:o,cy:s,r:l}}function Nc(r,t){var e=r==null?"":r+"";return t&&(nt(t)?e=t.replace("{value}",e):vt(t)&&(e=t(r))),e}var OZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){this.group.removeAll();var a=e.get(["axisLine","lineStyle","color"]),o=kZ(e,i);this._renderMain(e,n,i,a,o),this._data=e.getData()},t.prototype.dispose=function(){},t.prototype._renderMain=function(e,n,i,a,o){var s=this.group,l=e.get("clockwise"),u=-e.get("startAngle")/180*Math.PI,f=-e.get("endAngle")/180*Math.PI,c=e.getModel("axisLine"),h=c.get("roundCap"),v=h?fv:gr,d=c.get("show"),p=c.getModel("lineStyle"),g=p.get("width"),y=[u,f];v_(y,!l),u=y[0],f=y[1];for(var m=f-u,_=u,S=[],x=0;d&&x=A&&(C===0?0:a[C-1][0])Math.PI/2&&(ht+=Math.PI)):ct==="tangential"?ht=-T-Math.PI/2:Ft(ct)&&(ht=ct*Math.PI/180),ht===0?c.add(new Gt({style:Qt(_,{text:G,x:q,y:Q,verticalAlign:E<-.8?"top":E>.8?"bottom":"middle",align:P<-.4?"left":P>.4?"right":"center"},{inheritColor:$}),silent:!0})):c.add(new Gt({style:Qt(_,{text:G,x:q,y:Q,verticalAlign:"middle",align:"center"},{inheritColor:$}),silent:!0,originX:q,originY:Q,rotation:ht}))}if(m.get("show")&&O!==S){var V=m.get("distance");V=V?V+f:f;for(var gt=0;gt<=x;gt++){P=Math.cos(T),E=Math.sin(T);var Et=new Ee({shape:{x1:P*(d-V)+h,y1:E*(d-V)+v,x2:P*(d-w-V)+h,y2:E*(d-w-V)+v},silent:!0,style:I});I.stroke==="auto"&&Et.setStyle({stroke:a((O+gt/x)/S)}),c.add(Et),T+=C}T-=C}else T+=A}},t.prototype._renderPointer=function(e,n,i,a,o,s,l,u,f){var c=this.group,h=this._data,v=this._progressEls,d=[],p=e.get(["pointer","show"]),g=e.getModel("progress"),y=g.get("show"),m=e.getData(),_=m.mapDimension("value"),S=+e.get("min"),x=+e.get("max"),b=[S,x],w=[s,l];function T(C,D){var I=m.getItemModel(C),L=I.getModel("pointer"),P=rt(L.get("width"),o.r),E=rt(L.get("length"),o.r),O=e.get(["pointer","icon"]),V=L.get("offsetCenter"),N=rt(V[0],o.r),G=rt(V[1],o.r),$=L.get("keepAspect"),q;return O?q=me(O,N-P/2,G-E,P,E,null,$):q=new EZ({shape:{angle:-Math.PI/2,width:P,r:E,x:N,y:G}}),q.rotation=-(D+Math.PI/2),q.x=o.cx,q.y=o.cy,q}function A(C,D){var I=g.get("roundCap"),L=I?fv:gr,P=g.get("overlap"),E=P?g.get("width"):f/m.count(),O=P?o.r-E:o.r-(C+1)*E,V=P?o.r:o.r-C*E,N=new L({shape:{startAngle:s,endAngle:D,cx:o.cx,cy:o.cy,clockwise:u,r0:O,r:V}});return P&&(N.z2=Ut(m.get(_,C),[S,x],[100,0],!0)),N}(y||p)&&(m.diff(h).add(function(C){var D=m.get(_,C);if(p){var I=T(C,s);oe(I,{rotation:-((isNaN(+D)?w[0]:Ut(D,b,w,!0))+Math.PI/2)},e),c.add(I),m.setItemGraphicEl(C,I)}if(y){var L=A(C,s),P=g.get("clip");oe(L,{shape:{endAngle:Ut(D,b,w,P)}},e),c.add(L),um(e.seriesIndex,m.dataType,C,L),d[C]=L}}).update(function(C,D){var I=m.get(_,C);if(p){var L=h.getItemGraphicEl(D),P=L?L.rotation:s,E=T(C,P);E.rotation=P,Ht(E,{rotation:-((isNaN(+I)?w[0]:Ut(I,b,w,!0))+Math.PI/2)},e),c.add(E),m.setItemGraphicEl(C,E)}if(y){var O=v[D],V=O?O.shape.endAngle:s,N=A(C,V),G=g.get("clip");Ht(N,{shape:{endAngle:Ut(I,b,w,G)}},e),c.add(N),um(e.seriesIndex,m.dataType,C,N),d[C]=N}}).execute(),m.each(function(C){var D=m.getItemModel(C),I=D.getModel("emphasis"),L=I.get("focus"),P=I.get("blurScope"),E=I.get("disabled");if(p){var O=m.getItemGraphicEl(C),V=m.getItemVisual(C,"style"),N=V.fill;if(O instanceof We){var G=O.style;O.useStyle(F({image:G.image,x:G.x,y:G.y,width:G.width,height:G.height},V))}else O.useStyle(V),O.type!=="pointer"&&O.setColor(N);O.setStyle(D.getModel(["pointer","itemStyle"]).getItemStyle()),O.style.fill==="auto"&&O.setStyle("fill",a(Ut(m.get(_,C),b,[0,1],!0))),O.z2EmphasisLift=0,Fe(O,D),ue(O,L,P,E)}if(y){var $=d[C];$.useStyle(m.getItemVisual(C,"style")),$.setStyle(D.getModel(["progress","itemStyle"]).getItemStyle()),$.z2EmphasisLift=0,Fe($,D),ue($,L,P,E)}}),this._progressEls=d)},t.prototype._renderAnchor=function(e,n){var i=e.getModel("anchor"),a=i.get("show");if(a){var o=i.get("size"),s=i.get("icon"),l=i.get("offsetCenter"),u=i.get("keepAspect"),f=me(s,n.cx-o/2+rt(l[0],n.r),n.cy-o/2+rt(l[1],n.r),o,o,null,u);f.z2=i.get("showAbove")?1:0,f.setStyle(i.getModel("itemStyle").getItemStyle()),this.group.add(f)}},t.prototype._renderTitleAndDetail=function(e,n,i,a,o){var s=this,l=e.getData(),u=l.mapDimension("value"),f=+e.get("min"),c=+e.get("max"),h=new _t,v=[],d=[],p=e.isAnimationEnabled(),g=e.get(["pointer","showAbove"]);l.diff(this._data).add(function(y){v[y]=new Gt({silent:!0}),d[y]=new Gt({silent:!0})}).update(function(y,m){v[y]=s._titleEls[m],d[y]=s._detailEls[m]}).execute(),l.each(function(y){var m=l.getItemModel(y),_=l.get(u,y),S=new _t,x=a(Ut(_,[f,c],[0,1],!0)),b=m.getModel("title");if(b.get("show")){var w=b.get("offsetCenter"),T=o.cx+rt(w[0],o.r),A=o.cy+rt(w[1],o.r),C=v[y];C.attr({z2:g?0:2,style:Qt(b,{x:T,y:A,text:l.getName(y),align:"center",verticalAlign:"middle"},{inheritColor:x})}),S.add(C)}var D=m.getModel("detail");if(D.get("show")){var I=D.get("offsetCenter"),L=o.cx+rt(I[0],o.r),P=o.cy+rt(I[1],o.r),E=rt(D.get("width"),o.r),O=rt(D.get("height"),o.r),V=e.get(["progress","show"])?l.getItemVisual(y,"style").fill:x,C=d[y],N=D.get("formatter");C.attr({z2:g?0:2,style:Qt(D,{x:L,y:P,text:Nc(_,N),width:isNaN(E)?null:E,height:isNaN(O)?null:O,align:"center",verticalAlign:"middle"},{inheritColor:V})}),PP(C,{normal:D},_,function($){return Nc($,N)}),p&&RP(C,y,l,e,{getFormattedLabel:function($,q,Q,ct,ht,gt){return Nc(gt?gt.interpolatedValue:_,N)}}),S.add(C)}h.add(S)}),this.group.add(h),this._titleEls=v,this._detailEls=d},t.type="gauge",t}(ee);const NZ=OZ;var VZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.visualStyleAccessPath="itemStyle",e}return t.prototype.getInitialData=function(e,n){return vl(this,["value"])},t.type="series.gauge",t.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},t}(le);const BZ=VZ;function zZ(r){r.registerChartView(NZ),r.registerSeriesModel(BZ)}var GZ=["itemStyle","opacity"],FZ=function(r){B(t,r);function t(e,n){var i=r.call(this)||this,a=i,o=new mr,s=new Gt;return a.setTextContent(s),i.setTextGuideLine(o),i.updateData(e,n,!0),i}return t.prototype.updateData=function(e,n,i){var a=this,o=e.hostModel,s=e.getItemModel(n),l=e.getItemLayout(n),u=s.getModel("emphasis"),f=s.get(GZ);f=f==null?1:f,i||gn(a),a.useStyle(e.getItemVisual(n,"style")),a.style.lineJoin="round",i?(a.setShape({points:l.points}),a.style.opacity=0,oe(a,{style:{opacity:f}},o,n)):Ht(a,{style:{opacity:f},shape:{points:l.points}},o,n),Fe(a,s),this._updateLabel(e,n),ue(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},t.prototype._updateLabel=function(e,n){var i=this,a=this.getTextGuideLine(),o=i.getTextContent(),s=e.hostModel,l=e.getItemModel(n),u=e.getItemLayout(n),f=u.label,c=e.getItemVisual(n,"style"),h=c.fill;He(o,De(l),{labelFetcher:e.hostModel,labelDataIndex:n,defaultOpacity:c.opacity,defaultText:e.getName(n)},{normal:{align:f.textAlign,verticalAlign:f.verticalAlign}}),i.setTextConfig({local:!0,inside:!!f.inside,insideStroke:h,outsideFill:h});var v=f.linePoints;a.setShape({points:v}),i.textGuideLineConfig={anchor:v?new Ct(v[0][0],v[0][1]):null},Ht(o,{style:{x:f.x,y:f.y}},s,n),o.attr({rotation:f.rotation,originX:f.x,originY:f.y,z2:10}),r1(i,n1(l),{stroke:h})},t}(yr),HZ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.ignoreLabelLineUpdate=!0,e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this._data,s=this.group;a.diff(o).add(function(l){var u=new FZ(a,l);a.setItemGraphicEl(l,u),s.add(u)}).update(function(l,u){var f=o.getItemGraphicEl(u);f.updateData(a,l),s.add(f),a.setItemGraphicEl(l,f)}).remove(function(l){var u=o.getItemGraphicEl(l);Ku(u,e,l)}).execute(),this._data=a},t.prototype.remove=function(){this.group.removeAll(),this._data=null},t.prototype.dispose=function(){},t.type="funnel",t}(ee);const WZ=HZ;var $Z=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new Vf(at(this.getData,this),at(this.getRawData,this)),this._defaultLabelLine(e)},t.prototype.getInitialData=function(e,n){return vl(this,{coordDimensions:["value"],encodeDefaulter:bt(R_,this)})},t.prototype._defaultLabelLine=function(e){Mo(e,"labelLine",["show"]);var n=e.labelLine,i=e.emphasis.labelLine;n.show=n.show&&e.label.show,i.show=i.show&&e.emphasis.label.show},t.prototype.getDataParams=function(e){var n=this.getData(),i=r.prototype.getDataParams.call(this,e),a=n.mapDimension("value"),o=n.getSum(a);return i.percent=o?+(n.get(a,e)/o*100).toFixed(2):0,i.$vars.push("percent"),i},t.type="series.funnel",t.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},t}(le);const UZ=$Z;function YZ(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function ZZ(r,t){for(var e=r.mapDimension("value"),n=r.mapArray(e,function(l){return l}),i=[],a=t==="ascending",o=0,s=r.count();ohX)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]);i.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(r){if(!(this._mouseDownPoint||!Ng(this,"mousemove"))){var t=this._model,e=t.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]),n=e.behavior;n==="jump"&&this._throttledDispatchExpand.debounceNextCall(t.get("axisExpandDebounce")),this._throttledDispatchExpand(n==="none"?null:{axisExpandWindow:e.axisExpandWindow,animation:n==="jump"?null:{duration:0}})}}};function Ng(r,t){var e=r._model;return e.get("axisExpandable")&&e.get("axisExpandTriggerOn")===t}const pX=vX;var gX=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(){r.prototype.init.apply(this,arguments),this.mergeOption({})},t.prototype.mergeOption=function(e){var n=this.option;e&&Tt(n,e,!0),this._initDimensions()},t.prototype.contains=function(e,n){var i=e.get("parallelIndex");return i!=null&&n.getComponent("parallel",i)===this},t.prototype.setAxisExpand=function(e){M(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(n){e.hasOwnProperty(n)&&(this.option[n]=e[n])},this)},t.prototype._initDimensions=function(){var e=this.dimensions=[],n=this.parallelAxisIndex=[],i=$t(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);M(i,function(a){e.push("dim"+a.get("dim")),n.push(a.componentIndex)})},t.type="parallel",t.dependencies=["parallelAxis"],t.layoutMode="box",t.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},t}(Bt);const yX=gX;var mX=function(r){B(t,r);function t(e,n,i,a,o){var s=r.call(this,e,n,i)||this;return s.type=a||"value",s.axisIndex=o,s}return t.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},t}(mn);const _X=mX;function Wo(r,t,e,n,i,a){r=r||0;var o=e[1]-e[0];if(i!=null&&(i=ls(i,[0,o])),a!=null&&(a=Math.max(a,i!=null?i:0)),n==="all"){var s=Math.abs(t[1]-t[0]);s=ls(s,[0,o]),i=a=ls(s,[i,a]),n=0}t[0]=ls(t[0],e),t[1]=ls(t[1],e);var l=Vg(t,n);t[n]+=r;var u=i||0,f=e.slice();l.sign<0?f[0]+=u:f[1]-=u,t[n]=ls(t[n],f);var c;return c=Vg(t,n),i!=null&&(c.sign!==l.sign||c.spana&&(t[1-n]=t[n]+c.sign*a),t}function Vg(r,t){var e=r[t]-r[1-t];return{span:Math.abs(e),sign:e>0?-1:e<0?1:t?-1:1}}function ls(r,t){return Math.min(t[1]!=null?t[1]:1/0,Math.max(t[0]!=null?t[0]:-1/0,r))}var Bg=M,hk=Math.min,vk=Math.max,ZA=Math.floor,SX=Math.ceil,XA=ce,xX=Math.PI,bX=function(){function r(t,e,n){this.type="parallel",this._axesMap=ft(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return r.prototype._init=function(t,e,n){var i=t.dimensions,a=t.parallelAxisIndex;Bg(i,function(o,s){var l=a[s],u=e.getComponent("parallelAxis",l),f=this._axesMap.set(o,new _X(o,wd(u),[0,0],u.get("type"),l)),c=f.type==="category";f.onBand=c&&u.get("boundaryGap"),f.inverse=u.get("inverse"),u.axis=f,f.model=u,f.coordinateSystem=u.coordinateSystem=this},this)},r.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},r.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,a=e.pixelDimIndex,o=t[1-a],s=t[a];return o>=n&&o<=n+e.axisLength&&s>=i&&s<=i+e.layoutLength},r.prototype.getModel=function(){return this._model},r.prototype._updateAxesFromSeries=function(t,e){e.eachSeries(function(n){if(t.contains(n,e)){var i=n.getData();Bg(this.dimensions,function(a){var o=this._axesMap.get(a);o.scale.unionExtentFromData(i,i.mapDimension(a)),Us(o.scale,o.model)},this)}},this)},r.prototype.resize=function(t,e){this._rect=be(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},r.prototype.getRect=function(){return this._rect},r.prototype._makeLayoutInfo=function(){var t=this._model,e=this._rect,n=["x","y"],i=["width","height"],a=t.get("layout"),o=a==="horizontal"?0:1,s=e[i[o]],l=[0,s],u=this.dimensions.length,f=Vc(t.get("axisExpandWidth"),l),c=Vc(t.get("axisExpandCount")||0,[0,u]),h=t.get("axisExpandable")&&u>3&&u>c&&c>1&&f>0&&s>0,v=t.get("axisExpandWindow"),d;if(v)d=Vc(v[1]-v[0],l),v[1]=v[0]+d;else{d=Vc(f*(c-1),l);var p=t.get("axisExpandCenter")||ZA(u/2);v=[f*p-d/2],v[1]=v[0]+d}var g=(s-d)/(u-c);g<3&&(g=0);var y=[ZA(XA(v[0]/f,1))+1,SX(XA(v[1]/f,1))-1],m=g/f*v[0];return{layout:a,pixelDimIndex:o,layoutBase:e[n[o]],layoutLength:s,axisBase:e[n[1-o]],axisLength:e[i[1-o]],axisExpandable:h,axisExpandWidth:f,axisCollapseWidth:g,axisExpandWindow:v,axisCount:u,winInnerIndices:y,axisExpandWindow0Pos:m}},r.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),a=i.layout;e.each(function(o){var s=[0,i.axisLength],l=o.inverse?1:0;o.setExtent(s[l],s[1-l])}),Bg(n,function(o,s){var l=(i.axisExpandable?TX:wX)(s,i),u={horizontal:{x:l.position,y:i.axisLength},vertical:{x:0,y:l.position}},f={horizontal:xX/2,vertical:0},c=[u[a].x+t.x,u[a].y+t.y],h=f[a],v=Cr();Oo(v,v,h),$n(v,v,c),this._axesLayout[o]={position:c,rotation:h,transform:v,axisNameAvailableWidth:l.axisNameAvailableWidth,axisLabelShow:l.axisLabelShow,nameTruncateMaxWidth:l.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},r.prototype.getAxis=function(t){return this._axesMap.get(t)},r.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},r.prototype.eachActiveState=function(t,e,n,i){n==null&&(n=0),i==null&&(i=t.count());var a=this._axesMap,o=this.dimensions,s=[],l=[];M(o,function(g){s.push(t.mapDimension(g)),l.push(a.get(g).model)});for(var u=this.hasAxisBrushed(),f=n;fa*(1-c[0])?(u="jump",l=s-a*(1-c[2])):(l=s-a*c[1])>=0&&(l=s-a*(1-c[1]))<=0&&(l=0),l*=e.axisExpandWidth/f,l?Wo(l,i,o,"all"):u="none";else{var v=i[1]-i[0],d=o[1]*s/v;i=[vk(0,d-v/2)],i[1]=hk(o[1],i[0]+v),i[0]=i[1]-v}return{axisExpandWindow:i,behavior:u}},r}();function Vc(r,t){return hk(vk(r,t[0]),t[1])}function wX(r,t){var e=t.layoutLength/(t.axisCount-1);return{position:e*r,axisNameAvailableWidth:e,axisLabelShow:!0}}function TX(r,t){var e=t.layoutLength,n=t.axisExpandWidth,i=t.axisCount,a=t.axisCollapseWidth,o=t.winInnerIndices,s,l=a,u=!1,f;return r=0;i--)$r(n[i])},t.prototype.getActiveState=function(e){var n=this.activeIntervals;if(!n.length)return"normal";if(e==null||isNaN(+e))return"inactive";if(n.length===1){var i=n[0];if(i[0]<=e&&e<=i[1])return"active"}else for(var a=0,o=n.length;aPX}function Sk(r){var t=r.length-1;return t<0&&(t=0),[r[0],r[t]]}function xk(r,t,e,n){var i=new _t;return i.add(new Vt({name:"main",style:I1(e),silent:!0,draggable:!0,cursor:"move",drift:bt(JA,r,t,i,["n","s","w","e"]),ondragend:bt(Eo,t,{isEnd:!0})})),M(n,function(a){i.add(new Vt({name:a.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:bt(JA,r,t,i,a),ondragend:bt(Eo,t,{isEnd:!0})}))}),i}function bk(r,t,e,n){var i=n.brushStyle.lineWidth||0,a=Xs(i,RX),o=e[0][0],s=e[1][0],l=o-i/2,u=s-i/2,f=e[0][1],c=e[1][1],h=f-a+i/2,v=c-a+i/2,d=f-o,p=c-s,g=d+i,y=p+i;ti(r,t,"main",o,s,d,p),n.transformable&&(ti(r,t,"w",l,u,a,y),ti(r,t,"e",h,u,a,y),ti(r,t,"n",l,u,g,a),ti(r,t,"s",l,v,g,a),ti(r,t,"nw",l,u,a,a),ti(r,t,"ne",h,u,a,a),ti(r,t,"sw",l,v,a,a),ti(r,t,"se",h,v,a,a))}function Qm(r,t){var e=t.__brushOption,n=e.transformable,i=t.childAt(0);i.useStyle(I1(e)),i.attr({silent:!n,cursor:n?"move":"default"}),M([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(a){var o=t.childOfName(a.join("")),s=a.length===1?t0(r,a[0]):zX(r,a);o&&o.attr({silent:!n,invisible:!n,cursor:n?kX[s]+"-resize":null})})}function ti(r,t,e,n,i,a,o){var s=t.childOfName(e);s&&s.setShape(FX(L1(r,t,[[n,i],[n+a,i+o]])))}function I1(r){return pt({strokeNoScale:!0},r.brushStyle)}function wk(r,t,e,n){var i=[hf(r,e),hf(t,n)],a=[Xs(r,e),Xs(t,n)];return[[i[0],a[0]],[i[1],a[1]]]}function BX(r){return bo(r.group)}function t0(r,t){var e={w:"left",e:"right",n:"top",s:"bottom"},n={left:"w",right:"e",top:"n",bottom:"s"},i=sd(e[t],BX(r));return n[i]}function zX(r,t){var e=[t0(r,t[0]),t0(r,t[1])];return(e[0]==="e"||e[0]==="w")&&e.reverse(),e.join("")}function JA(r,t,e,n,i,a){var o=e.__brushOption,s=r.toRectRange(o.range),l=Tk(t,i,a);M(n,function(u){var f=EX[u];s[f[0]][f[1]]+=l[f[0]]}),o.range=r.fromRectRange(wk(s[0][0],s[1][0],s[0][1],s[1][1])),C1(t,e),Eo(t,{isEnd:!1})}function GX(r,t,e,n){var i=t.__brushOption.range,a=Tk(r,e,n);M(i,function(o){o[0]+=a[0],o[1]+=a[1]}),C1(r,t),Eo(r,{isEnd:!1})}function Tk(r,t,e){var n=r.group,i=n.transformCoordToLocal(t,e),a=n.transformCoordToLocal(0,0);return[i[0]-a[0],i[1]-a[1]]}function L1(r,t,e){var n=_k(r,t);return n&&n!==Ro?n.clipPath(e,r._transform):mt(e)}function FX(r){var t=hf(r[0][0],r[1][0]),e=hf(r[0][1],r[1][1]),n=Xs(r[0][0],r[1][0]),i=Xs(r[0][1],r[1][1]);return{x:t,y:e,width:n-t,height:i-e}}function HX(r,t,e){if(!(!r._brushType||$X(r,t.offsetX,t.offsetY))){var n=r._zr,i=r._covers,a=D1(r,t,e);if(!r._dragging)for(var o=0;on.getWidth()||e<0||e>n.getHeight()}var Id={lineX:eC(0),lineY:eC(1),rect:{createCover:function(r,t){function e(n){return n}return xk({toRectRange:e,fromRectRange:e},r,t,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(r){var t=Sk(r);return wk(t[1][0],t[1][1],t[0][0],t[0][1])},updateCoverShape:function(r,t,e,n){bk(r,t,e,n)},updateCommon:Qm,contain:r0},polygon:{createCover:function(r,t){var e=new _t;return e.add(new mr({name:"main",style:I1(t),silent:!0})),e},getCreatingRange:function(r){return r},endCreating:function(r,t){t.remove(t.childAt(0)),t.add(new yr({name:"main",draggable:!0,drift:bt(GX,r,t),ondragend:bt(Eo,r,{isEnd:!0})}))},updateCoverShape:function(r,t,e,n){t.childAt(0).setShape({points:L1(r,t,e)})},updateCommon:Qm,contain:r0}};function eC(r){return{createCover:function(t,e){return xk({toRectRange:function(n){var i=[n,[0,100]];return r&&i.reverse(),i},fromRectRange:function(n){return n[r]}},t,e,[[["w"],["e"]],[["n"],["s"]]][r])},getCreatingRange:function(t){var e=Sk(t),n=hf(e[0][r],e[1][r]),i=Xs(e[0][r],e[1][r]);return[n,i]},updateCoverShape:function(t,e,n,i){var a,o=_k(t,e);if(o!==Ro&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(r);else{var s=t._zr;a=[0,[s.getWidth(),s.getHeight()][1-r]]}var l=[n,a];r&&l.reverse(),bk(t,e,l,i)},updateCommon:Qm,contain:r0}}const P1=NX;function Ck(r){return r=R1(r),function(t){return DP(t,r)}}function Mk(r,t){return r=R1(r),function(e){var n=t!=null?t:e,i=n?r.width:r.height,a=n?r.x:r.y;return[a,a+(i||0)]}}function Dk(r,t,e){var n=R1(r);return function(i,a){return n.contain(a[0],a[1])&&!Ad(i,t,e)}}function R1(r){return Mt.create(r)}var UX=["axisLine","axisTickLabel","axisName"],YX=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){r.prototype.init.apply(this,arguments),(this._brushController=new P1(n.getZr())).on("brush",at(this._onBrush,this))},t.prototype.render=function(e,n,i,a){if(!ZX(e,n,a)){this.axisModel=e,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new _t,this.group.add(this._axisGroup),!!e.get("show")){var s=qX(e,n),l=s.coordinateSystem,u=e.getAreaSelectStyle(),f=u.width,c=e.axis.dim,h=l.getAxisLayout(c),v=F({strokeContainThreshold:f},h),d=new xi(e,v);M(UX,d.add,d),this._axisGroup.add(d.getGroup()),this._refreshBrushController(v,u,e,s,f,i),Cf(o,this._axisGroup,e)}}},t.prototype._refreshBrushController=function(e,n,i,a,o,s){var l=i.axis.getExtent(),u=l[1]-l[0],f=Math.min(30,Math.abs(u)*.1),c=Mt.create({x:l[0],y:-o/2,width:u,height:o});c.x-=f,c.width+=2*f,this._brushController.mount({enableGlobalPan:!0,rotation:e.rotation,x:e.position[0],y:e.position[1]}).setPanels([{panelId:"pl",clipPath:Ck(c),isTargetByCursor:Dk(c,s,a),getLinearBrushOtherExtent:Mk(c,0)}]).enableBrush({brushType:"lineX",brushStyle:n,removeOnClick:!0}).updateCovers(XX(i))},t.prototype._onBrush=function(e){var n=e.areas,i=this.axisModel,a=i.axis,o=Z(n,function(s){return[a.coordToData(s.range[0],!0),a.coordToData(s.range[1],!0)]});(!i.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:o})},t.prototype.dispose=function(){this._brushController.dispose()},t.type="parallelAxis",t}(fe);function ZX(r,t,e){return e&&e.type==="axisAreaSelect"&&t.findComponents({mainType:"parallelAxis",query:e})[0]===r}function XX(r){var t=r.axis;return Z(r.activeIntervals,function(e){return{brushType:"lineX",panelId:"pl",range:[t.dataToCoord(e[0],!0),t.dataToCoord(e[1],!0)]}})}function qX(r,t){return t.getComponent("parallel",r.get("parallelIndex"))}const KX=YX;var jX={type:"axisAreaSelect",event:"axisAreaSelected"};function JX(r){r.registerAction(jX,function(t,e){e.eachComponent({mainType:"parallelAxis",query:t},function(n){n.axis.model.setActiveIntervals(t.intervals)})}),r.registerAction("parallelAxisExpand",function(t,e){e.eachComponent({mainType:"parallel",query:t},function(n){n.setAxisExpand(t)})})}var QX={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function Ik(r){r.registerComponentView(pX),r.registerComponentModel(yX),r.registerCoordinateSystem("parallel",DX),r.registerPreprocessor(uX),r.registerComponentModel(qA),r.registerComponentView(KX),Zs(r,"parallel",qA,QX),JX(r)}function tq(r){Lt(Ik),r.registerChartView(eX),r.registerSeriesModel(aX),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,lX)}var eq=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return r}(),rq=function(r){B(t,r);function t(e){return r.call(this,e)||this}return t.prototype.getDefaultShape=function(){return new eq},t.prototype.buildPath=function(e,n){var i=n.extent;e.moveTo(n.x1,n.y1),e.bezierCurveTo(n.cpx1,n.cpy1,n.cpx2,n.cpy2,n.x2,n.y2),n.orient==="vertical"?(e.lineTo(n.x2+i,n.y2),e.bezierCurveTo(n.cpx2+i,n.cpy2,n.cpx1+i,n.cpy1,n.x1+i,n.y1)):(e.lineTo(n.x2,n.y2+i),e.bezierCurveTo(n.cpx2,n.cpy2+i,n.cpx1,n.cpy1+i,n.x1,n.y1+i)),e.closePath()},t.prototype.highlight=function(){mi(this)},t.prototype.downplay=function(){_i(this)},t}(Pt),nq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._focusAdjacencyDisabled=!1,e}return t.prototype.render=function(e,n,i){var a=this,o=e.getGraph(),s=this.group,l=e.layoutInfo,u=l.width,f=l.height,c=e.getData(),h=e.getData("edge"),v=e.get("orient");this._model=e,s.removeAll(),s.x=l.x,s.y=l.y,o.eachEdge(function(d){var p=new rq,g=St(p);g.dataIndex=d.dataIndex,g.seriesIndex=e.seriesIndex,g.dataType="edge";var y=d.getModel(),m=y.getModel("lineStyle"),_=m.get("curveness"),S=d.node1.getLayout(),x=d.node1.getModel(),b=x.get("localX"),w=x.get("localY"),T=d.node2.getLayout(),A=d.node2.getModel(),C=A.get("localX"),D=A.get("localY"),I=d.getLayout(),L,P,E,O,V,N,G,$;p.shape.extent=Math.max(1,I.dy),p.shape.orient=v,v==="vertical"?(L=(b!=null?b*u:S.x)+I.sy,P=(w!=null?w*f:S.y)+S.dy,E=(C!=null?C*u:T.x)+I.ty,O=D!=null?D*f:T.y,V=L,N=P*(1-_)+O*_,G=E,$=P*_+O*(1-_)):(L=(b!=null?b*u:S.x)+S.dx,P=(w!=null?w*f:S.y)+I.sy,E=C!=null?C*u:T.x,O=(D!=null?D*f:T.y)+I.ty,V=L*(1-_)+E*_,N=P,G=L*_+E*(1-_),$=O),p.setShape({x1:L,y1:P,x2:E,y2:O,cpx1:V,cpy1:N,cpx2:G,cpy2:$}),p.useStyle(m.getItemStyle()),rC(p.style,v,d);var q=""+y.get("value"),Q=De(y,"edgeLabel");He(p,Q,{labelFetcher:{getFormattedLabel:function(gt,Et,U,K,H,tt){return e.getFormattedLabel(gt,Et,"edge",K,zn(H,Q.normal&&Q.normal.get("formatter"),q),tt)}},labelDataIndex:d.dataIndex,defaultText:q}),p.setTextConfig({position:"inside"});var ct=y.getModel("emphasis");Fe(p,y,"lineStyle",function(gt){var Et=gt.getItemStyle();return rC(Et,v,d),Et}),s.add(p),h.setItemGraphicEl(d.dataIndex,p);var ht=ct.get("focus");ue(p,ht==="adjacency"?d.getAdjacentDataIndices():ht==="trajectory"?d.getTrajectoryDataIndices():ht,ct.get("blurScope"),ct.get("disabled"))}),o.eachNode(function(d){var p=d.getLayout(),g=d.getModel(),y=g.get("localX"),m=g.get("localY"),_=g.getModel("emphasis"),S=g.get(["itemStyle","borderRadius"])||0,x=new Vt({shape:{x:y!=null?y*u:p.x,y:m!=null?m*f:p.y,width:p.dx,height:p.dy,r:S},style:g.getModel("itemStyle").getItemStyle(),z2:10});He(x,De(g),{labelFetcher:{getFormattedLabel:function(w,T){return e.getFormattedLabel(w,T,"node")}},labelDataIndex:d.dataIndex,defaultText:d.id}),x.disableLabelAnimation=!0,x.setStyle("fill",d.getVisual("color")),x.setStyle("decal",d.getVisual("style").decal),Fe(x,g),s.add(x),c.setItemGraphicEl(d.dataIndex,x),St(x).dataType="node";var b=_.get("focus");ue(x,b==="adjacency"?d.getAdjacentDataIndices():b==="trajectory"?d.getTrajectoryDataIndices():b,_.get("blurScope"),_.get("disabled"))}),c.eachItemGraphicEl(function(d,p){var g=c.getItemModel(p);g.get("draggable")&&(d.drift=function(y,m){a._focusAdjacencyDisabled=!0,this.shape.x+=y,this.shape.y+=m,this.dirty(),i.dispatchAction({type:"dragNode",seriesId:e.id,dataIndex:c.getRawIndex(p),localX:this.shape.x/u,localY:this.shape.y/f})},d.ondragend=function(){a._focusAdjacencyDisabled=!1},d.draggable=!0,d.cursor="move")}),!this._data&&e.isAnimationEnabled()&&s.setClipPath(iq(s.getBoundingRect(),e,function(){s.removeClipPath()})),this._data=e.getData()},t.prototype.dispose=function(){},t.type="sankey",t}(ee);function rC(r,t,e){switch(r.fill){case"source":r.fill=e.node1.getVisual("color"),r.decal=e.node1.getVisual("style").decal;break;case"target":r.fill=e.node2.getVisual("color"),r.decal=e.node2.getVisual("style").decal;break;case"gradient":var n=e.node1.getVisual("color"),i=e.node2.getVisual("color");nt(n)&&nt(i)&&(r.fill=new Af(0,0,+(t==="horizontal"),+(t==="vertical"),[{color:n,offset:0},{color:i,offset:1}]))}}function iq(r,t,e){var n=new Vt({shape:{x:r.x-10,y:r.y-10,width:0,height:r.height+20}});return oe(n,{shape:{width:r.width+20}},t,e),n}const aq=nq;var oq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,n){var i=e.edges||e.links||[],a=e.data||e.nodes||[],o=e.levels||[];this.levelModels=[];for(var s=this.levelModels,l=0;l=0&&(s[o[l].depth]=new te(o[l],this,n));var u=fk(a,i,this,!0,f);return u.data;function f(c,h){c.wrapMethod("getItemModel",function(v,d){var p=v.parentModel,g=p.getData().getItemLayout(d);if(g){var y=g.depth,m=p.levelModels[y];m&&(v.parentModel=m)}return v}),h.wrapMethod("getItemModel",function(v,d){var p=v.parentModel,g=p.getGraph().getEdgeByIndex(d),y=g.node1.getLayout();if(y){var m=y.depth,_=p.levelModels[m];_&&(v.parentModel=_)}return v})}},t.prototype.setNodePosition=function(e,n){var i=this.option.data||this.option.nodes,a=i[e];a.localX=n[0],a.localY=n[1]},t.prototype.getGraph=function(){return this.getData().graph},t.prototype.getEdgeData=function(){return this.getGraph().edgeData},t.prototype.formatTooltip=function(e,n,i){function a(v){return isNaN(v)||v==null}if(i==="edge"){var o=this.getDataParams(e,i),s=o.data,l=o.value,u=s.source+" -- "+s.target;return Ie("nameValue",{name:u,value:l,noValue:a(l)})}else{var f=this.getGraph().getNodeByIndex(e),c=f.getLayout().value,h=this.getDataParams(e,i).data.name;return Ie("nameValue",{name:h!=null?h+"":null,value:c,noValue:a(c)})}},t.prototype.optionUpdated=function(){},t.prototype.getDataParams=function(e,n){var i=r.prototype.getDataParams.call(this,e,n);if(i.value==null&&n==="node"){var a=this.getGraph().getNodeByIndex(e),o=a.getLayout().value;i.value=o}return i},t.type="series.sankey",t.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},t}(le);const sq=oq;function lq(r,t){r.eachSeriesByType("sankey",function(e){var n=e.get("nodeWidth"),i=e.get("nodeGap"),a=uq(e,t);e.layoutInfo=a;var o=a.width,s=a.height,l=e.getGraph(),u=l.nodes,f=l.edges;cq(u);var c=$t(u,function(p){return p.getLayout().value===0}),h=c.length!==0?0:e.get("layoutIterations"),v=e.get("orient"),d=e.get("nodeAlign");fq(u,f,n,i,o,s,h,v,d)})}function uq(r,t){return be(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()})}function fq(r,t,e,n,i,a,o,s,l){hq(r,t,e,i,a,s,l),gq(r,t,a,i,n,o,s),Aq(r,s)}function cq(r){M(r,function(t){var e=na(t.outEdges,gv),n=na(t.inEdges,gv),i=t.getValue()||0,a=Math.max(e,n,i);t.setLayout({value:a},!0)})}function hq(r,t,e,n,i,a,o){for(var s=[],l=[],u=[],f=[],c=0,h=0;h=0;y&&g.depth>v&&(v=g.depth),p.setLayout({depth:y?g.depth:c},!0),a==="vertical"?p.setLayout({dy:e},!0):p.setLayout({dx:e},!0);for(var m=0;mc-1?v:c-1;o&&o!=="left"&&vq(r,o,a,w);var T=a==="vertical"?(i-e)/w:(n-e)/w;pq(r,T,a)}function Lk(r){var t=r.hostGraph.data.getRawDataItem(r.dataIndex);return t.depth!=null&&t.depth>=0}function vq(r,t,e,n){if(t==="right"){for(var i=[],a=r,o=0;a.length;){for(var s=0;s0;a--)l*=.99,_q(s,l,o),zg(s,i,e,n,o),Tq(s,l,o),zg(s,i,e,n,o)}function yq(r,t){var e=[],n=t==="vertical"?"y":"x",i=am(r,function(a){return a.getLayout()[n]});return i.keys.sort(function(a,o){return a-o}),M(i.keys,function(a){e.push(i.buckets.get(a))}),e}function mq(r,t,e,n,i,a){var o=1/0;M(r,function(s){var l=s.length,u=0;M(s,function(c){u+=c.getLayout().value});var f=a==="vertical"?(n-(l-1)*i)/u:(e-(l-1)*i)/u;f0&&(s=l.getLayout()[a]+u,i==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),f=l.getLayout()[a]+l.getLayout()[h]+t;var d=i==="vertical"?n:e;if(u=f-t-d,u>0){s=l.getLayout()[a]-u,i==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0),f=s;for(var v=c-2;v>=0;--v)l=o[v],u=l.getLayout()[a]+l.getLayout()[h]+t-f,u>0&&(s=l.getLayout()[a]-u,i==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),f=l.getLayout()[a]}})}function _q(r,t,e){M(r.slice().reverse(),function(n){M(n,function(i){if(i.outEdges.length){var a=na(i.outEdges,Sq,e)/na(i.outEdges,gv);if(isNaN(a)){var o=i.outEdges.length;a=o?na(i.outEdges,xq,e)/o:0}if(e==="vertical"){var s=i.getLayout().x+(a-ca(i,e))*t;i.setLayout({x:s},!0)}else{var l=i.getLayout().y+(a-ca(i,e))*t;i.setLayout({y:l},!0)}}})})}function Sq(r,t){return ca(r.node2,t)*r.getValue()}function xq(r,t){return ca(r.node2,t)}function bq(r,t){return ca(r.node1,t)*r.getValue()}function wq(r,t){return ca(r.node1,t)}function ca(r,t){return t==="vertical"?r.getLayout().x+r.getLayout().dx/2:r.getLayout().y+r.getLayout().dy/2}function gv(r){return r.getValue()}function na(r,t,e){for(var n=0,i=r.length,a=-1;++ao&&(o=l)}),M(n,function(s){var l=new Ge({type:"color",mappingMethod:"linear",dataExtent:[a,o],visual:t.get("color")}),u=l.mapValueToVisual(s.getLayout().value),f=s.getModel().get(["itemStyle","color"]);f!=null?(s.setVisual("color",f),s.setVisual("style",{fill:f})):(s.setVisual("color",u),s.setVisual("style",{fill:u}))})}i.length&&M(i,function(s){var l=s.getModel().get("lineStyle");s.setVisual("style",l)})})}function Mq(r){r.registerChartView(aq),r.registerSeriesModel(sq),r.registerLayout(lq),r.registerVisual(Cq),r.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"sankey",query:t},function(n){n.setNodePosition(t.dataIndex,[t.localX,t.localY])})})}var Pk=function(){function r(){}return r.prototype._hasEncodeRule=function(t){var e=this.getEncode();return e&&e.get(t)!=null},r.prototype.getInitialData=function(t,e){var n,i=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),o=i.get("type"),s=a.get("type"),l;o==="category"?(t.layout="horizontal",n=i.getOrdinalMeta(),l=!this._hasEncodeRule("x")):s==="category"?(t.layout="vertical",n=a.getOrdinalMeta(),l=!this._hasEncodeRule("y")):t.layout=t.layout||"horizontal";var u=["x","y"],f=t.layout==="horizontal"?0:1,c=this._baseAxisDim=u[f],h=u[1-f],v=[i,a],d=v[f].get("type"),p=v[1-f].get("type"),g=t.data;if(g&&l){var y=[];M(g,function(S,x){var b;Y(S)?(b=S.slice(),S.unshift(x)):Y(S.value)?(b=F({},S),b.value=b.value.slice(),S.value.unshift(x)):b=S,y.push(b)}),t.data=y}var m=this.defaultValueDimensions,_=[{name:c,type:iv(d),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:h,type:iv(p),dimsDef:m.slice()}];return vl(this,{coordDimensions:_,dimensionsCount:m.length+1,encodeDefaulter:bt(t2,_,this)})},r.prototype.getBaseAxis=function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis},r}(),Rk=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],e.visualDrawType="stroke",e}return t.type="series.boxplot",t.dependencies=["xAxis","yAxis","grid"],t.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},t}(le);_e(Rk,Pk,!0);const Dq=Rk;var Iq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this.group,s=this._data;this._data||o.removeAll();var l=e.get("layout")==="horizontal"?1:0;a.diff(s).add(function(u){if(a.hasValue(u)){var f=a.getItemLayout(u),c=nC(f,a,u,l,!0);a.setItemGraphicEl(u,c),o.add(c)}}).update(function(u,f){var c=s.getItemGraphicEl(f);if(!a.hasValue(u)){o.remove(c);return}var h=a.getItemLayout(u);c?(gn(c),Ek(h,c,a,u)):c=nC(h,a,u,l),o.add(c),a.setItemGraphicEl(u,c)}).remove(function(u){var f=s.getItemGraphicEl(u);f&&o.remove(f)}).execute(),this._data=a},t.prototype.remove=function(e){var n=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(a){a&&n.remove(a)})},t.type="boxplot",t}(ee),Lq=function(){function r(){}return r}(),Pq=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="boxplotBoxPath",n}return t.prototype.getDefaultShape=function(){return new Lq},t.prototype.buildPath=function(e,n){var i=n.points,a=0;for(e.moveTo(i[a][0],i[a][1]),a++;a<4;a++)e.lineTo(i[a][0],i[a][1]);for(e.closePath();ap){var S=[y,_];n.push(S)}}}return{boxData:e,outliers:n}}var zq={type:"echarts:boxplot",transform:function(t){var e=t.upstream;if(e.sourceFormat!==je){var n="";Wt(n)}var i=Bq(e.getRawData(),t.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:i.boxData},{data:i.outliers}]}};function Gq(r){r.registerSeriesModel(Dq),r.registerChartView(Eq),r.registerLayout(kq),r.registerTransform(zq)}var Fq=["itemStyle","borderColor"],Hq=["itemStyle","borderColor0"],Wq=["itemStyle","borderColorDoji"],$q=["itemStyle","color"],Uq=["itemStyle","color0"];function E1(r,t){return t.get(r>0?$q:Uq)}function k1(r,t){return t.get(r===0?Wq:r>0?Fq:Hq)}var Yq={seriesType:"candlestick",plan:ul(),performRawSeries:!0,reset:function(r,t){if(!t.isSeriesFiltered(r)){var e=r.pipelineContext.large;return!e&&{progress:function(n,i){for(var a;(a=n.next())!=null;){var o=i.getItemModel(a),s=i.getItemLayout(a).sign,l=o.getItemStyle();l.fill=E1(s,o),l.stroke=k1(s,o)||l.fill;var u=i.ensureUniqueItemVisual(a,"style");F(u,l)}}}}}};const Zq=Yq;var Xq=["color","borderColor"],qq=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(e),this._isLargeDraw?this._renderLarge(e):this._renderNormal(e)},t.prototype.incrementalPrepareRender=function(e,n,i){this._clear(),this._updateDrawMode(e)},t.prototype.incrementalRender=function(e,n,i,a){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(e,n):this._incrementalRenderNormal(e,n)},t.prototype.eachRendered=function(e){ga(this._progressiveEls||this.group,e)},t.prototype._updateDrawMode=function(e){var n=e.pipelineContext.large;(this._isLargeDraw==null||n!==this._isLargeDraw)&&(this._isLargeDraw=n,this._clear())},t.prototype._renderNormal=function(e){var n=e.getData(),i=this._data,a=this.group,o=n.getLayout("isSimpleBox"),s=e.get("clip",!0),l=e.coordinateSystem,u=l.getArea&&l.getArea();this._data||a.removeAll(),n.diff(i).add(function(f){if(n.hasValue(f)){var c=n.getItemLayout(f);if(s&&iC(u,c))return;var h=Gg(c,f,!0);oe(h,{shape:{points:c.ends}},e,f),Fg(h,n,f,o),a.add(h),n.setItemGraphicEl(f,h)}}).update(function(f,c){var h=i.getItemGraphicEl(c);if(!n.hasValue(f)){a.remove(h);return}var v=n.getItemLayout(f);if(s&&iC(u,v)){a.remove(h);return}h?(Ht(h,{shape:{points:v.ends}},e,f),gn(h)):h=Gg(v),Fg(h,n,f,o),a.add(h),n.setItemGraphicEl(f,h)}).remove(function(f){var c=i.getItemGraphicEl(f);c&&a.remove(c)}).execute(),this._data=n},t.prototype._renderLarge=function(e){this._clear(),aC(e,this.group);var n=e.get("clip",!0)?kf(e.coordinateSystem,!1,e):null;n?this.group.setClipPath(n):this.group.removeClipPath()},t.prototype._incrementalRenderNormal=function(e,n){for(var i=n.getData(),a=i.getLayout("isSimpleBox"),o;(o=e.next())!=null;){var s=i.getItemLayout(o),l=Gg(s);Fg(l,i,o,a),l.incremental=!0,this.group.add(l),this._progressiveEls.push(l)}},t.prototype._incrementalRenderLarge=function(e,n){aC(n,this.group,this._progressiveEls,!0)},t.prototype.remove=function(e){this._clear()},t.prototype._clear=function(){this.group.removeAll(),this._data=null},t.type="candlestick",t}(ee),Kq=function(){function r(){}return r}(),jq=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n.type="normalCandlestickBox",n}return t.prototype.getDefaultShape=function(){return new Kq},t.prototype.buildPath=function(e,n){var i=n.points;this.__simpleBox?(e.moveTo(i[4][0],i[4][1]),e.lineTo(i[6][0],i[6][1])):(e.moveTo(i[0][0],i[0][1]),e.lineTo(i[1][0],i[1][1]),e.lineTo(i[2][0],i[2][1]),e.lineTo(i[3][0],i[3][1]),e.closePath(),e.moveTo(i[4][0],i[4][1]),e.lineTo(i[5][0],i[5][1]),e.moveTo(i[6][0],i[6][1]),e.lineTo(i[7][0],i[7][1]))},t}(Pt);function Gg(r,t,e){var n=r.ends;return new jq({shape:{points:e?Jq(n,r):n},z2:100})}function iC(r,t){for(var e=!0,n=0;nx?D[a]:C[a],ends:P,brushRect:G(b,w,_)})}function V(q,Q){var ct=[];return ct[i]=Q,ct[a]=q,isNaN(Q)||isNaN(q)?[NaN,NaN]:t.dataToPoint(ct)}function N(q,Q,ct){var ht=Q.slice(),gt=Q.slice();ht[i]=ch(ht[i]+n/2,1,!1),gt[i]=ch(gt[i]-n/2,1,!0),ct?q.push(ht,gt):q.push(gt,ht)}function G(q,Q,ct){var ht=V(q,ct),gt=V(Q,ct);return ht[i]-=n/2,gt[i]-=n/2,{x:ht[0],y:ht[1],width:n,height:gt[1]-ht[1]}}function $(q){return q[i]=ch(q[i],1),q}}function d(p,g){for(var y=Vn(p.count*4),m=0,_,S=[],x=[],b,w=g.getStore(),T=!!r.get(["itemStyle","borderColorDoji"]);(b=p.next())!=null;){var A=w.get(s,b),C=w.get(u,b),D=w.get(f,b),I=w.get(c,b),L=w.get(h,b);if(isNaN(A)||isNaN(I)||isNaN(L)){y[m++]=NaN,m+=3;continue}y[m++]=oC(w,b,C,D,f,T),S[i]=A,S[a]=I,_=t.dataToPoint(S,null,x),y[m++]=_?_[0]:NaN,y[m++]=_?_[1]:NaN,S[a]=L,_=t.dataToPoint(S,null,x),y[m++]=_?_[1]:NaN}g.setLayout("largePoints",y)}}};function oC(r,t,e,n,i,a){var o;return e>n?o=-1:e0?r.get(i,t-1)<=n?1:-1:1,o}function iK(r,t){var e=r.getBaseAxis(),n,i=e.type==="category"?e.getBandWidth():(n=e.getExtent(),Math.abs(n[1]-n[0])/t.count()),a=rt(xt(r.get("barMaxWidth"),i),i),o=rt(xt(r.get("barMinWidth"),1),i),s=r.get("barWidth");return s!=null?rt(s,i):Math.max(Math.min(i/2,a),o)}const aK=nK;function oK(r){r.registerChartView(tK),r.registerSeriesModel(eK),r.registerPreprocessor(rK),r.registerVisual(Zq),r.registerLayout(aK)}function sC(r,t){var e=t.rippleEffectColor||t.color;r.eachChild(function(n){n.attr({z:t.z,zlevel:t.zlevel,style:{stroke:t.brushType==="stroke"?e:null,fill:t.brushType==="fill"?e:null}})})}var sK=function(r){B(t,r);function t(e,n){var i=r.call(this)||this,a=new Rf(e,n),o=new _t;return i.add(a),i.add(o),i.updateData(e,n),i}return t.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},t.prototype.startEffectAnimation=function(e){for(var n=e.symbolType,i=e.color,a=e.rippleNumber,o=this.childAt(1),s=0;s0&&(s=this._getLineLength(a)/f*1e3),s!==this._period||l!==this._loop||u!==this._roundTrip){a.stopAnimation();var h=void 0;vt(c)?h=c(i):h=c,a.__t>0&&(h=-s*a.__t),this._animateSymbol(a,s,h,l,u)}this._period=s,this._loop=l,this._roundTrip=u}},t.prototype._animateSymbol=function(e,n,i,a,o){if(n>0){e.__t=0;var s=this,l=e.animate("",a).when(o?n*2:n,{__t:o?2:1}).delay(i).during(function(){s._updateSymbolPosition(e)});a||l.done(function(){s.remove(e)}),l.start()}},t.prototype._getLineLength=function(e){return Ui(e.__p1,e.__cp1)+Ui(e.__cp1,e.__p2)},t.prototype._updateAnimationPoints=function(e,n){e.__p1=n[0],e.__p2=n[1],e.__cp1=n[2]||[(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]},t.prototype.updateData=function(e,n,i){this.childAt(0).updateData(e,n,i),this._updateEffectSymbol(e,n)},t.prototype._updateSymbolPosition=function(e){var n=e.__p1,i=e.__p2,a=e.__cp1,o=e.__t<1?e.__t:2-e.__t,s=[e.x,e.y],l=s.slice(),u=Le,f=$y;s[0]=u(n[0],a[0],i[0],o),s[1]=u(n[1],a[1],i[1],o);var c=e.__t<1?f(n[0],a[0],i[0],o):f(i[0],a[0],n[0],1-o),h=e.__t<1?f(n[1],a[1],i[1],o):f(i[1],a[1],n[1],1-o);e.rotation=-Math.atan2(h,c)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(e.__lastT!==void 0&&e.__lastT=0&&!(a[l]<=n);l--);l=Math.min(l,o-2)}else{for(l=s;ln);l++);l=Math.min(l-1,o-2)}var f=(n-a[l])/(a[l+1]-a[l]),c=i[l],h=i[l+1];e.x=c[0]*(1-f)+f*h[0],e.y=c[1]*(1-f)+f*h[1];var v=e.__t<1?h[0]-c[0]:c[0]-h[0],d=e.__t<1?h[1]-c[1]:c[1]-h[1];e.rotation=-Math.atan2(d,v)-Math.PI/2,this._lastFrame=l,this._lastFramePercent=n,e.ignore=!1}},t}(Ok);const yK=gK;var mK=function(){function r(){this.polyline=!1,this.curveness=0,this.segs=[]}return r}(),_K=function(r){B(t,r);function t(e){var n=r.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new mK},t.prototype.buildPath=function(e,n){var i=n.segs,a=n.curveness,o;if(n.polyline)for(o=this._off;o0){e.moveTo(i[o++],i[o++]);for(var l=1;l0){var v=(u+c)/2-(f-h)*a,d=(f+h)/2-(c-u)*a;e.quadraticCurveTo(v,d,c,h)}else e.lineTo(c,h)}this.incremental&&(this._off=o,this.notClear=!0)},t.prototype.findDataIndex=function(e,n){var i=this.shape,a=i.segs,o=i.curveness,s=this.style.lineWidth;if(i.polyline)for(var l=0,u=0;u0)for(var c=a[u++],h=a[u++],v=1;v0){var g=(c+d)/2-(h-p)*o,y=(h+p)/2-(d-c)*o;if(FL(c,h,g,y,d,p,s,e,n))return l}else if(Wi(c,h,d,p,s,e,n))return l;l++}return-1},t.prototype.contain=function(e,n){var i=this.transformCoordToLocal(e,n),a=this.getBoundingRect();if(e=i[0],n=i[1],a.contain(e,n)){var o=this.hoverDataIdx=this.findDataIndex(e,n);return o>=0}return this.hoverDataIdx=-1,!1},t.prototype.getBoundingRect=function(){var e=this._rect;if(!e){for(var n=this.shape,i=n.segs,a=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u0&&(o.dataIndex=l+t.__startIndex)})},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}();const xK=SK;var bK={seriesType:"lines",plan:ul(),reset:function(r){var t=r.coordinateSystem;if(t){var e=r.get("polyline"),n=r.pipelineContext.large;return{progress:function(i,a){var o=[];if(n){var s=void 0,l=i.end-i.start;if(e){for(var u=0,f=i.start;f0&&(f||u.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(l/10+.9,1),0)})),o.updateData(a);var c=e.get("clip",!0)&&kf(e.coordinateSystem,!1,e);c?this.group.setClipPath(c):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},t.prototype.incrementalPrepareRender=function(e,n,i){var a=e.getData(),o=this._updateLineDraw(a,e);o.incrementalPrepareUpdate(a),this._clearLayer(i),this._finished=!1},t.prototype.incrementalRender=function(e,n,i){this._lineDraw.incrementalUpdate(e,n.getData()),this._finished=e.end===n.getData().count()},t.prototype.eachRendered=function(e){this._lineDraw&&this._lineDraw.eachRendered(e)},t.prototype.updateTransform=function(e,n,i){var a=e.getData(),o=e.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=Vk.reset(e,n,i);s.progress&&s.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(i)},t.prototype._updateLineDraw=function(e,n){var i=this._lineDraw,a=this._showEffect(n),o=!!n.get("polyline"),s=n.pipelineContext,l=s.large;return(!i||a!==this._hasEffet||o!==this._isPolyline||l!==this._isLargeDraw)&&(i&&i.remove(),i=this._lineDraw=l?new xK:new A1(o?a?yK:Nk:a?Ok:T1),this._hasEffet=a,this._isPolyline=o,this._isLargeDraw=l),this.group.add(i.group),i},t.prototype._showEffect=function(e){return!!e.get(["effect","show"])},t.prototype._clearLayer=function(e){var n=e.getZr(),i=n.painter.getType()==="svg";!i&&this._lastZlevel!=null&&n.painter.getLayer(this._lastZlevel).clear(!0)},t.prototype.remove=function(e,n){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(n)},t.prototype.dispose=function(e,n){this.remove(e,n)},t.type="lines",t}(ee);const TK=wK;var AK=typeof Uint32Array=="undefined"?Array:Uint32Array,CK=typeof Float64Array=="undefined"?Array:Float64Array;function lC(r){var t=r.data;t&&t[0]&&t[0][0]&&t[0][0].coord&&(r.data=Z(t,function(e){var n=[e[0].coord,e[1].coord],i={coords:n};return e[0].name&&(i.fromName=e[0].name),e[1].name&&(i.toName=e[1].name),J0([i,e[0],e[1]])}))}var MK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.visualStyleAccessPath="lineStyle",e.visualDrawType="stroke",e}return t.prototype.init=function(e){e.data=e.data||[],lC(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),r.prototype.init.apply(this,arguments)},t.prototype.mergeOption=function(e){if(lC(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}r.prototype.mergeOption.apply(this,arguments)},t.prototype.appendData=function(e){var n=this._processFlatCoordsArray(e.data);n.flatCoords&&(this._flatCoords?(this._flatCoords=Fu(this._flatCoords,n.flatCoords),this._flatCoordsOffset=Fu(this._flatCoordsOffset,n.flatCoordsOffset)):(this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset),e.data=new Float32Array(n.count)),this.getRawData().appendData(e.data)},t.prototype._getCoordsFromItemModel=function(e){var n=this.getData().getItemModel(e),i=n.option instanceof Array?n.option:n.getShallow("coords");return i},t.prototype.getLineCoordsCount=function(e){return this._flatCoordsOffset?this._flatCoordsOffset[e*2+1]:this._getCoordsFromItemModel(e).length},t.prototype.getLineCoords=function(e,n){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[e*2],a=this._flatCoordsOffset[e*2+1],o=0;o ")})},t.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},t.prototype.getProgressive=function(){var e=this.option.progressive;return e==null?this.option.large?1e4:this.get("progressive"):e},t.prototype.getProgressiveThreshold=function(){var e=this.option.progressiveThreshold;return e==null?this.option.large?2e4:this.get("progressiveThreshold"):e},t.prototype.getZLevelKey=function(){var e=this.getModel("effect"),n=e.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:e.get("show")&&n>0?n+"":""},t.type="series.lines",t.dependencies=["grid","polar","geo","calendar"],t.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},t}(le);const DK=MK;function Bc(r){return r instanceof Array||(r=[r,r]),r}var IK={seriesType:"lines",reset:function(r){var t=Bc(r.get("symbol")),e=Bc(r.get("symbolSize")),n=r.getData();n.setVisual("fromSymbol",t&&t[0]),n.setVisual("toSymbol",t&&t[1]),n.setVisual("fromSymbolSize",e&&e[0]),n.setVisual("toSymbolSize",e&&e[1]);function i(a,o){var s=a.getItemModel(o),l=Bc(s.getShallow("symbol",!0)),u=Bc(s.getShallow("symbolSize",!0));l[0]&&a.setItemVisual(o,"fromSymbol",l[0]),l[1]&&a.setItemVisual(o,"toSymbol",l[1]),u[0]&&a.setItemVisual(o,"fromSymbolSize",u[0]),u[1]&&a.setItemVisual(o,"toSymbolSize",u[1])}return{dataEach:n.hasItemOption?i:null}}};const LK=IK;function PK(r){r.registerChartView(TK),r.registerSeriesModel(DK),r.registerLayout(Vk),r.registerVisual(LK)}var RK=256,EK=function(){function r(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=aa.createCanvas();this.canvas=t}return r.prototype.update=function(t,e,n,i,a,o){var s=this._getBrush(),l=this._getGradient(a,"inRange"),u=this._getGradient(a,"outOfRange"),f=this.pointSize+this.blurSize,c=this.canvas,h=c.getContext("2d"),v=t.length;c.width=e,c.height=n;for(var d=0;d0){var I=o(_)?l:u;_>0&&(_=_*C+T),x[b++]=I[D],x[b++]=I[D+1],x[b++]=I[D+2],x[b++]=I[D+3]*_*256}else b+=4}return h.putImageData(S,0,0),c},r.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=aa.createCanvas()),e=this.pointSize+this.blurSize,n=e*2;t.width=n,t.height=n;var i=t.getContext("2d");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor="#000",i.beginPath(),i.arc(-e,e,this.pointSize,0,Math.PI*2,!0),i.closePath(),i.fill(),t},r.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,i=n[e]||(n[e]=new Uint8ClampedArray(256*4)),a=[0,0,0,0],o=0,s=0;s<256;s++)t[e](s/255,!0,a),i[o++]=a[0],i[o++]=a[1],i[o++]=a[2],i[o++]=a[3];return i},r}();const kK=EK;function OK(r,t,e){var n=r[1]-r[0];t=Z(t,function(o){return{interval:[(o.interval[0]-r[0])/n,(o.interval[1]-r[0])/n]}});var i=t.length,a=0;return function(o){var s;for(s=a;s=0;s--){var l=t[s].interval;if(l[0]<=o&&o<=l[1]){a=s;break}}return s>=0&&s=t[0]&&n<=t[1]}}function uC(r){var t=r.dimensions;return t[0]==="lng"&&t[1]==="lat"}var VK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a;n.eachComponent("visualMap",function(s){s.eachTargetSeries(function(l){l===e&&(a=s)})}),this._progressiveEls=null,this.group.removeAll();var o=e.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(e,i,0,e.getData().count()):uC(o)&&this._renderOnGeo(o,e,a,i)},t.prototype.incrementalPrepareRender=function(e,n,i){this.group.removeAll()},t.prototype.incrementalRender=function(e,n,i,a){var o=n.coordinateSystem;o&&(uC(o)?this.render(n,i,a):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(n,a,e.start,e.end,!0)))},t.prototype.eachRendered=function(e){ga(this._progressiveEls||this.group,e)},t.prototype._renderOnCartesianAndCalendar=function(e,n,i,a,o){var s=e.coordinateSystem,l=Fo(s,"cartesian2d"),u,f,c,h;if(l){var v=s.getAxis("x"),d=s.getAxis("y");u=v.getBandWidth()+.5,f=d.getBandWidth()+.5,c=v.scale.getExtent(),h=d.scale.getExtent()}for(var p=this.group,g=e.getData(),y=e.getModel(["emphasis","itemStyle"]).getItemStyle(),m=e.getModel(["blur","itemStyle"]).getItemStyle(),_=e.getModel(["select","itemStyle"]).getItemStyle(),S=e.get(["itemStyle","borderRadius"]),x=De(e),b=e.getModel("emphasis"),w=b.get("focus"),T=b.get("blurScope"),A=b.get("disabled"),C=l?[g.mapDimension("x"),g.mapDimension("y"),g.mapDimension("value")]:[g.mapDimension("time"),g.mapDimension("value")],D=i;Dc[1]||Eh[1])continue;var O=s.dataToPoint([P,E]);I=new Vt({shape:{x:O[0]-u/2,y:O[1]-f/2,width:u,height:f},style:L})}else{if(isNaN(g.get(C[1],D)))continue;I=new Vt({z2:1,shape:s.dataToRect([g.get(C[0],D)]).contentShape,style:L})}if(g.hasItemOption){var V=g.getItemModel(D),N=V.getModel("emphasis");y=N.getModel("itemStyle").getItemStyle(),m=V.getModel(["blur","itemStyle"]).getItemStyle(),_=V.getModel(["select","itemStyle"]).getItemStyle(),S=V.get(["itemStyle","borderRadius"]),w=N.get("focus"),T=N.get("blurScope"),A=N.get("disabled"),x=De(V)}I.shape.r=S;var G=e.getRawValue(D),$="-";G&&G[2]!=null&&($=G[2]+""),He(I,x,{labelFetcher:e,labelDataIndex:D,defaultOpacity:L.opacity,defaultText:$}),I.ensureState("emphasis").style=y,I.ensureState("blur").style=m,I.ensureState("select").style=_,ue(I,w,T,A),I.incremental=o,o&&(I.states.emphasis.hoverLayer=!0),p.add(I),g.setItemGraphicEl(D,I),this._progressiveEls&&this._progressiveEls.push(I)}},t.prototype._renderOnGeo=function(e,n,i,a){var o=i.targetVisuals.inRange,s=i.targetVisuals.outOfRange,l=n.getData(),u=this._hmLayer||this._hmLayer||new kK;u.blurSize=n.get("blurSize"),u.pointSize=n.get("pointSize"),u.minOpacity=n.get("minOpacity"),u.maxOpacity=n.get("maxOpacity");var f=e.getViewRect().clone(),c=e.getRoamTransform();f.applyTransform(c);var h=Math.max(f.x,0),v=Math.max(f.y,0),d=Math.min(f.width+f.x,a.getWidth()),p=Math.min(f.height+f.y,a.getHeight()),g=d-h,y=p-v,m=[l.mapDimension("lng"),l.mapDimension("lat"),l.mapDimension("value")],_=l.mapArray(m,function(w,T,A){var C=e.dataToPoint([w,T]);return C[0]-=h,C[1]-=v,C.push(A),C}),S=i.getExtent(),x=i.type==="visualMap.continuous"?NK(S,i.option.range):OK(S,i.getPieceList(),i.option.selected);u.update(_,g,y,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},x);var b=new We({style:{width:g,height:y,x:h,y:v,image:u.canvas},silent:!0});this.group.add(b)},t.type="heatmap",t}(ee);const BK=VK;var zK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.getInitialData=function(e,n){return Ai(null,this,{generateCoord:"value"})},t.prototype.preventIncremental=function(){var e=Df.get(this.get("coordinateSystem"));if(e&&e.dimensions)return e.dimensions[0]==="lng"&&e.dimensions[1]==="lat"},t.type="series.heatmap",t.dependencies=["grid","geo","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},t}(le);const GK=zK;function FK(r){r.registerChartView(BK),r.registerSeriesModel(GK)}var HK=["itemStyle","borderWidth"],fC=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],$g=new pa,WK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=this.group,o=e.getData(),s=this._data,l=e.coordinateSystem,u=l.getBaseAxis(),f=u.isHorizontal(),c=l.master.getRect(),h={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:e,coordSys:l,coordSysExtent:[[c.x,c.x+c.width],[c.y,c.y+c.height]],isHorizontal:f,valueDim:fC[+f],categoryDim:fC[1-+f]};o.diff(s).add(function(d){if(o.hasValue(d)){var p=hC(o,d),g=cC(o,d,p,h),y=vC(o,h,g);o.setItemGraphicEl(d,y),a.add(y),pC(y,h,g)}}).update(function(d,p){var g=s.getItemGraphicEl(p);if(!o.hasValue(d)){a.remove(g);return}var y=hC(o,d),m=cC(o,d,y,h),_=Wk(o,m);g&&_!==g.__pictorialShapeStr&&(a.remove(g),o.setItemGraphicEl(d,null),g=null),g?KK(g,h,m):g=vC(o,h,m,!0),o.setItemGraphicEl(d,g),g.__pictorialSymbolMeta=m,a.add(g),pC(g,h,m)}).remove(function(d){var p=s.getItemGraphicEl(d);p&&dC(s,d,p.__pictorialSymbolMeta.animationModel,p)}).execute();var v=e.get("clip",!0)?kf(e.coordinateSystem,!1,e):null;return v?a.setClipPath(v):a.removeClipPath(),this._data=o,this.group},t.prototype.remove=function(e,n){var i=this.group,a=this._data;e.get("animation")?a&&a.eachItemGraphicEl(function(o){dC(a,St(o).dataIndex,e,o)}):i.removeAll()},t.type="pictorialBar",t}(ee);function cC(r,t,e,n){var i=r.getItemLayout(t),a=e.get("symbolRepeat"),o=e.get("symbolClip"),s=e.get("symbolPosition")||"start",l=e.get("symbolRotate"),u=(l||0)*Math.PI/180||0,f=e.get("symbolPatternSize")||2,c=e.isAnimationEnabled(),h={dataIndex:t,layout:i,itemModel:e,symbolType:r.getItemVisual(t,"symbol")||"circle",style:r.getItemVisual(t,"style"),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:e.get("symbolRepeatDirection"),symbolPatternSize:f,rotation:u,animationModel:c?e:null,hoverScale:c&&e.get(["emphasis","scale"]),z2:e.getShallow("z",!0)||0};$K(e,a,i,n,h),UK(r,t,i,a,o,h.boundingLength,h.pxSign,f,n,h),YK(e,h.symbolScale,u,n,h);var v=h.symbolSize,d=zo(e.get("symbolOffset"),v);return ZK(e,v,i,a,o,d,s,h.valueLineWidth,h.boundingLength,h.repeatCutLength,n,h),h}function $K(r,t,e,n,i){var a=n.valueDim,o=r.get("symbolBoundingData"),s=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),l=s.toGlobalCoord(s.dataToCoord(0)),u=1-+(e[a.wh]<=0),f;if(Y(o)){var c=[Ug(s,o[0])-l,Ug(s,o[1])-l];c[1]=0?1:-1:f>0?1:-1}function Ug(r,t){return r.toGlobalCoord(r.dataToCoord(r.scale.parse(t)))}function UK(r,t,e,n,i,a,o,s,l,u){var f=l.valueDim,c=l.categoryDim,h=Math.abs(e[c.wh]),v=r.getItemVisual(t,"symbolSize"),d;Y(v)?d=v.slice():v==null?d=["100%","100%"]:d=[v,v],d[c.index]=rt(d[c.index],h),d[f.index]=rt(d[f.index],n?h:Math.abs(a)),u.symbolSize=d;var p=u.symbolScale=[d[0]/s,d[1]/s];p[f.index]*=(l.isHorizontal?-1:1)*o}function YK(r,t,e,n,i){var a=r.get(HK)||0;a&&($g.attr({scaleX:t[0],scaleY:t[1],rotation:e}),$g.updateTransform(),a/=$g.getLineScale(),a*=t[n.valueDim.index]),i.valueLineWidth=a||0}function ZK(r,t,e,n,i,a,o,s,l,u,f,c){var h=f.categoryDim,v=f.valueDim,d=c.pxSign,p=Math.max(t[v.index]+s,0),g=p;if(n){var y=Math.abs(l),m=Re(r.get("symbolMargin"),"15%")+"",_=!1;m.lastIndexOf("!")===m.length-1&&(_=!0,m=m.slice(0,m.length-1));var S=rt(m,t[v.index]),x=Math.max(p+S*2,0),b=_?0:S*2,w=ML(n),T=w?n:gC((y+b)/x),A=y-T*p;S=A/2/(_?T:Math.max(T-1,1)),x=p+S*2,b=_?0:S*2,!w&&n!=="fixed"&&(T=u?gC((Math.abs(u)+b)/x):0),g=T*x-b,c.repeatTimes=T,c.symbolMargin=S}var C=d*(g/2),D=c.pathPosition=[];D[h.index]=e[h.wh]/2,D[v.index]=o==="start"?C:o==="end"?l-C:l/2,a&&(D[0]+=a[0],D[1]+=a[1]);var I=c.bundlePosition=[];I[h.index]=e[h.xy],I[v.index]=e[v.xy];var L=c.barRectShape=F({},e);L[v.wh]=d*Math.max(Math.abs(e[v.wh]),Math.abs(D[v.index]+C)),L[h.wh]=e[h.wh];var P=c.clipShape={};P[h.xy]=-e[h.xy],P[h.wh]=f.ecSize[h.wh],P[v.xy]=0,P[v.wh]=e[v.wh]}function Bk(r){var t=r.symbolPatternSize,e=me(r.symbolType,-t/2,-t/2,t,t);return e.attr({culling:!0}),e.type!=="image"&&e.setStyle({strokeNoScale:!0}),e}function zk(r,t,e,n){var i=r.__pictorialBundle,a=e.symbolSize,o=e.valueLineWidth,s=e.pathPosition,l=t.valueDim,u=e.repeatTimes||0,f=0,c=a[t.valueDim.index]+o+e.symbolMargin*2;for(O1(r,function(p){p.__pictorialAnimationIndex=f,p.__pictorialRepeatTimes=u,f0:y<0)&&(m=u-1-p),g[l.index]=c*(m-u/2+.5)+s[l.index],{x:g[0],y:g[1],scaleX:e.symbolScale[0],scaleY:e.symbolScale[1],rotation:e.rotation}}}function Gk(r,t,e,n){var i=r.__pictorialBundle,a=r.__pictorialMainPath;a?Os(a,null,{x:e.pathPosition[0],y:e.pathPosition[1],scaleX:e.symbolScale[0],scaleY:e.symbolScale[1],rotation:e.rotation},e,n):(a=r.__pictorialMainPath=Bk(e),i.add(a),Os(a,{x:e.pathPosition[0],y:e.pathPosition[1],scaleX:0,scaleY:0,rotation:e.rotation},{scaleX:e.symbolScale[0],scaleY:e.symbolScale[1]},e,n))}function Fk(r,t,e){var n=F({},t.barRectShape),i=r.__pictorialBarRect;i?Os(i,null,{shape:n},t,e):(i=r.__pictorialBarRect=new Vt({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),i.disableMorphing=!0,r.add(i))}function Hk(r,t,e,n){if(e.symbolClip){var i=r.__pictorialClipPath,a=F({},e.clipShape),o=t.valueDim,s=e.animationModel,l=e.dataIndex;if(i)Ht(i,{shape:a},s,l);else{a[o.wh]=0,i=new Vt({shape:a}),r.__pictorialBundle.setClipPath(i),r.__pictorialClipPath=i;var u={};u[o.wh]=e.clipShape[o.wh],Vo[n?"updateProps":"initProps"](i,{shape:u},s,l)}}}function hC(r,t){var e=r.getItemModel(t);return e.getAnimationDelayParams=XK,e.isAnimationEnabled=qK,e}function XK(r){return{index:r.__pictorialAnimationIndex,count:r.__pictorialRepeatTimes}}function qK(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function vC(r,t,e,n){var i=new _t,a=new _t;return i.add(a),i.__pictorialBundle=a,a.x=e.bundlePosition[0],a.y=e.bundlePosition[1],e.symbolRepeat?zk(i,t,e):Gk(i,t,e),Fk(i,e,n),Hk(i,t,e,n),i.__pictorialShapeStr=Wk(r,e),i.__pictorialSymbolMeta=e,i}function KK(r,t,e){var n=e.animationModel,i=e.dataIndex,a=r.__pictorialBundle;Ht(a,{x:e.bundlePosition[0],y:e.bundlePosition[1]},n,i),e.symbolRepeat?zk(r,t,e,!0):Gk(r,t,e,!0),Fk(r,e,!0),Hk(r,t,e,!0)}function dC(r,t,e,n){var i=n.__pictorialBarRect;i&&i.removeTextContent();var a=[];O1(n,function(o){a.push(o)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(e=null),M(a,function(o){sa(o,{scaleX:0,scaleY:0},e,t,function(){n.parent&&n.parent.remove(n)})}),r.setItemGraphicEl(t,null)}function Wk(r,t){return[r.getItemVisual(t.dataIndex,"symbol")||"none",!!t.symbolRepeat,!!t.symbolClip].join(":")}function O1(r,t,e){M(r.__pictorialBundle.children(),function(n){n!==r.__pictorialBarRect&&t.call(e,n)})}function Os(r,t,e,n,i,a){t&&r.attr(t),n.symbolClip&&!i?e&&r.attr(e):e&&Vo[i?"updateProps":"initProps"](r,e,n.animationModel,n.dataIndex,a)}function pC(r,t,e){var n=e.dataIndex,i=e.itemModel,a=i.getModel("emphasis"),o=a.getModel("itemStyle").getItemStyle(),s=i.getModel(["blur","itemStyle"]).getItemStyle(),l=i.getModel(["select","itemStyle"]).getItemStyle(),u=i.getShallow("cursor"),f=a.get("focus"),c=a.get("blurScope"),h=a.get("scale");O1(r,function(p){if(p instanceof We){var g=p.style;p.useStyle(F({image:g.image,x:g.x,y:g.y,width:g.width,height:g.height},e.style))}else p.useStyle(e.style);var y=p.ensureState("emphasis");y.style=o,h&&(y.scaleX=p.scaleX*1.1,y.scaleY=p.scaleY*1.1),p.ensureState("blur").style=s,p.ensureState("select").style=l,u&&(p.cursor=u),p.z2=e.z2});var v=t.valueDim.posDesc[+(e.boundingLength>0)],d=r.__pictorialBarRect;d.ignoreClip=!0,He(d,De(i),{labelFetcher:t.seriesModel,labelDataIndex:n,defaultText:Ys(t.seriesModel.getData(),n),inheritColor:e.style.fill,defaultOpacity:e.style.opacity,defaultOutsidePosition:v}),ue(r,f,c,a.get("disabled"))}function gC(r){var t=Math.round(r);return Math.abs(r-t)<1e-4?t:Math.ceil(r)}const jK=WK;var JK=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.hasSymbolVisual=!0,e.defaultSymbol="roundRect",e}return t.prototype.getInitialData=function(e){return e.stack=null,r.prototype.getInitialData.apply(this,arguments)},t.type="series.pictorialBar",t.dependencies=["grid"],t.defaultOption=ya(uv.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),t}(uv);const QK=JK;function tj(r){r.registerChartView(jK),r.registerSeriesModel(QK),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,bt(xR,"pictorialBar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,bR("pictorialBar"))}var ej=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._layers=[],e}return t.prototype.render=function(e,n,i){var a=e.getData(),o=this,s=this.group,l=e.getLayerSeries(),u=a.getLayout("layoutInfo"),f=u.rect,c=u.boundaryGap;s.x=0,s.y=f.y+c[0];function h(g){return g.name}var v=new Si(this._layersSeries||[],l,h,h),d=[];v.add(at(p,this,"add")).update(at(p,this,"update")).remove(at(p,this,"remove")).execute();function p(g,y,m){var _=o._layers;if(g==="remove"){s.remove(_[y]);return}for(var S=[],x=[],b,w=l[y].indices,T=0;Ta&&(a=s),n.push(s)}for(var u=0;ua&&(a=c)}return{y0:i,max:a}}function lj(r){r.registerChartView(nj),r.registerSeriesModel(aj),r.registerLayout(oj),r.registerProcessor(Nf("themeRiver"))}var uj=2,fj=4,cj=function(r){B(t,r);function t(e,n,i,a){var o=r.call(this)||this;o.z2=uj,o.textConfig={inside:!0},St(o).seriesIndex=n.seriesIndex;var s=new Gt({z2:fj,silent:e.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,e,n,i,a),o}return t.prototype.updateData=function(e,n,i,a,o){this.node=n,n.piece=this,i=i||this._seriesModel,a=a||this._ecModel;var s=this;St(s).dataIndex=n.dataIndex;var l=n.getModel(),u=l.getModel("emphasis"),f=n.getLayout(),c=F({},f);c.label=null;var h=n.getVisual("style");h.lineJoin="bevel";var v=n.getVisual("decal");v&&(h.decal=$s(v,o));var d=ho(l.getModel("itemStyle"),c,!0);F(c,d),M(ur,function(m){var _=s.ensureState(m),S=l.getModel([m,"itemStyle"]);_.style=S.getItemStyle();var x=ho(S,c);x&&(_.shape=x)}),e?(s.setShape(c),s.shape.r=f.r0,oe(s,{shape:{r:f.r}},i,n.dataIndex)):(Ht(s,{shape:c},i),gn(s)),s.useStyle(h),this._updateLabel(i);var p=l.getShallow("cursor");p&&s.attr("cursor",p),this._seriesModel=i||this._seriesModel,this._ecModel=a||this._ecModel;var g=u.get("focus"),y=g==="relative"?Fu(n.getAncestorsIndices(),n.getDescendantIndices()):g==="ancestor"?n.getAncestorsIndices():g==="descendant"?n.getDescendantIndices():g;ue(this,y,u.get("blurScope"),u.get("disabled"))},t.prototype._updateLabel=function(e){var n=this,i=this.node.getModel(),a=i.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,l=(o.startAngle+o.endAngle)/2,u=Math.cos(l),f=Math.sin(l),c=this,h=c.getTextContent(),v=this.node.dataIndex,d=a.get("minAngle")/180*Math.PI,p=a.get("show")&&!(d!=null&&Math.abs(s)P&&!Uu(O-P)&&O0?(o.virtualPiece?o.virtualPiece.updateData(!1,m,e,n,i):(o.virtualPiece=new mC(m,e,n,i),f.add(o.virtualPiece)),_.piece.off("click"),o.virtualPiece.on("click",function(S){o._rootToNode(_.parentNode)})):o.virtualPiece&&(f.remove(o.virtualPiece),o.virtualPiece=null)}},t.prototype._initEvents=function(){var e=this;this.group.off("click"),this.group.on("click",function(n){var i=!1,a=e.seriesModel.getViewRoot();a.eachNode(function(o){if(!i&&o.piece&&o.piece===n.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")e._rootToNode(o);else if(s==="link"){var l=o.getModel(),u=l.get("link");if(u){var f=l.get("target",!0)||"_blank";Kh(u,f)}}i=!0}})})},t.prototype._rootToNode=function(e){e!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:n0,from:this.uid,seriesId:this.seriesModel.id,targetNode:e})},t.prototype.containPoint=function(e,n){var i=n.getData(),a=i.getItemLayout(0);if(a){var o=e[0]-a.cx,s=e[1]-a.cy,l=Math.sqrt(o*o+s*s);return l<=a.r&&l>=a.r0}},t.type="sunburst",t}(ee);const pj=dj;var gj=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.ignoreStyleOnData=!0,e}return t.prototype.getInitialData=function(e,n){var i={name:e.name,children:e.data};$k(i);var a=this._levelModels=Z(e.levels||[],function(l){return new te(l,this,n)},this),o=y1.createTree(i,this,s);function s(l){l.wrapMethod("getItemModel",function(u,f){var c=o.getNodeByDataIndex(f),h=a[c.depth];return h&&(u.parentModel=h),u})}return o.data},t.prototype.optionUpdated=function(){this.resetViewRoot()},t.prototype.getDataParams=function(e){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=Md(i,this),n},t.prototype.getLevelModel=function(e){return this._levelModels&&this._levelModels[e.depth]},t.prototype.getViewRoot=function(){return this._viewRoot},t.prototype.resetViewRoot=function(e){e?this._viewRoot=e:e=this._viewRoot;var n=this.getRawData().tree.root;(!e||e!==n&&!n.contains(e))&&(this._viewRoot=n)},t.prototype.enableAriaDecal=function(){XE(this)},t.type="series.sunburst",t.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},t}(le);function $k(r){var t=0;M(r.children,function(n){$k(n);var i=n.value;Y(i)&&(i=i[0]),t+=i});var e=r.value;Y(e)&&(e=e[0]),(e==null||isNaN(e))&&(e=t),e<0&&(e=0),Y(r.value)?r.value[0]=e:r.value=e}const yj=gj;var SC=Math.PI/180;function mj(r,t,e){t.eachSeriesByType(r,function(n){var i=n.get("center"),a=n.get("radius");Y(a)||(a=[0,a]),Y(i)||(i=[i,i]);var o=e.getWidth(),s=e.getHeight(),l=Math.min(o,s),u=rt(i[0],o),f=rt(i[1],s),c=rt(a[0],l/2),h=rt(a[1],l/2),v=-n.get("startAngle")*SC,d=n.get("minAngle")*SC,p=n.getData().tree.root,g=n.getViewRoot(),y=g.depth,m=n.get("sort");m!=null&&Uk(g,m);var _=0;M(g.children,function(O){!isNaN(O.getValue())&&_++});var S=g.getValue(),x=Math.PI/(S||_)*2,b=g.depth>0,w=g.height-(b?-1:1),T=(h-c)/(w||1),A=n.get("clockwise"),C=n.get("stillShowZeroSum"),D=A?1:-1,I=function(O,V){if(O){var N=V;if(O!==p){var G=O.getValue(),$=S===0&&C?x:G*x;$1;)o=o.parentNode;var s=i.getColorFromPalette(o.name||o.dataIndex+"",t);return n.depth>1&&nt(s)&&(s=Zy(s,(n.depth-1)/(a-1)*.5)),s}r.eachSeriesByType("sunburst",function(n){var i=n.getData(),a=i.tree;a.eachNode(function(o){var s=o.getModel(),l=s.getModel("itemStyle").getItemStyle();l.fill||(l.fill=e(o,n,a.root.height));var u=i.ensureUniqueItemVisual(o.dataIndex,"style");F(u,l)})})}function xj(r){r.registerChartView(pj),r.registerSeriesModel(yj),r.registerLayout(bt(mj,"sunburst")),r.registerProcessor(bt(Nf,"sunburst")),r.registerVisual(Sj),vj(r)}var xC={color:"fill",borderColor:"stroke"},bj={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},hi=Nt(),wj=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},t.prototype.getInitialData=function(e,n){return Ai(null,this)},t.prototype.getDataParams=function(e,n,i){var a=r.prototype.getDataParams.call(this,e,n);return i&&(a.info=hi(i).info),a},t.type="series.custom",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},t}(le);const Tj=wj;function Aj(r,t){return t=t||[0,0],Z(["x","y"],function(e,n){var i=this.getAxis(e),a=t[n],o=r[n]/2;return i.type==="category"?i.getBandWidth():Math.abs(i.dataToCoord(a-o)-i.dataToCoord(a+o))},this)}function Cj(r){var t=r.master.getRect();return{coordSys:{type:"cartesian2d",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(e){return r.dataToPoint(e)},size:at(Aj,r)}}}function Mj(r,t){return t=t||[0,0],Z([0,1],function(e){var n=t[e],i=r[e]/2,a=[],o=[];return a[e]=n-i,o[e]=n+i,a[1-e]=o[1-e]=t[1-e],Math.abs(this.dataToPoint(a)[e]-this.dataToPoint(o)[e])},this)}function Dj(r){var t=r.getBoundingRect();return{coordSys:{type:"geo",x:t.x,y:t.y,width:t.width,height:t.height,zoom:r.getZoom()},api:{coord:function(e){return r.dataToPoint(e)},size:at(Mj,r)}}}function Ij(r,t){var e=this.getAxis(),n=t instanceof Array?t[0]:t,i=(r instanceof Array?r[0]:r)/2;return e.type==="category"?e.getBandWidth():Math.abs(e.dataToCoord(n-i)-e.dataToCoord(n+i))}function Lj(r){var t=r.getRect();return{coordSys:{type:"singleAxis",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(e){return r.dataToPoint(e)},size:at(Ij,r)}}}function Pj(r,t){return t=t||[0,0],Z(["Radius","Angle"],function(e,n){var i="get"+e+"Axis",a=this[i](),o=t[n],s=r[n]/2,l=a.type==="category"?a.getBandWidth():Math.abs(a.dataToCoord(o-s)-a.dataToCoord(o+s));return e==="Angle"&&(l=l*Math.PI/180),l},this)}function Rj(r){var t=r.getRadiusAxis(),e=r.getAngleAxis(),n=t.getExtent();return n[0]>n[1]&&n.reverse(),{coordSys:{type:"polar",cx:r.cx,cy:r.cy,r:n[1],r0:n[0]},api:{coord:function(i){var a=t.dataToRadius(i[0]),o=e.dataToAngle(i[1]),s=r.coordToPoint([a,o]);return s.push(a,o*Math.PI/180),s},size:at(Pj,r)}}}function Ej(r){var t=r.getRect(),e=r.getRangeInfo();return{coordSys:{type:"calendar",x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:r.getCellWidth(),cellHeight:r.getCellHeight(),rangeInfo:{start:e.start,end:e.end,weeks:e.weeks,dayCount:e.allDay}},api:{coord:function(n,i){return r.dataToPoint(n,i)}}}}function Yk(r,t,e,n){return r&&(r.legacy||r.legacy!==!1&&!e&&!n&&t!=="tspan"&&(t==="text"||lt(r,"text")))}function Zk(r,t,e){var n=r,i,a,o;if(t==="text")o=n;else{o={},lt(n,"text")&&(o.text=n.text),lt(n,"rich")&&(o.rich=n.rich),lt(n,"textFill")&&(o.fill=n.textFill),lt(n,"textStroke")&&(o.stroke=n.textStroke),lt(n,"fontFamily")&&(o.fontFamily=n.fontFamily),lt(n,"fontSize")&&(o.fontSize=n.fontSize),lt(n,"fontStyle")&&(o.fontStyle=n.fontStyle),lt(n,"fontWeight")&&(o.fontWeight=n.fontWeight),a={type:"text",style:o,silent:!0},i={};var s=lt(n,"textPosition");e?i.position=s?n.textPosition:"inside":s&&(i.position=n.textPosition),lt(n,"textPosition")&&(i.position=n.textPosition),lt(n,"textOffset")&&(i.offset=n.textOffset),lt(n,"textRotation")&&(i.rotation=n.textRotation),lt(n,"textDistance")&&(i.distance=n.textDistance)}return bC(o,r),M(o.rich,function(l){bC(l,l)}),{textConfig:i,textContent:a}}function bC(r,t){t&&(t.font=t.textFont||t.font,lt(t,"textStrokeWidth")&&(r.lineWidth=t.textStrokeWidth),lt(t,"textAlign")&&(r.align=t.textAlign),lt(t,"textVerticalAlign")&&(r.verticalAlign=t.textVerticalAlign),lt(t,"textLineHeight")&&(r.lineHeight=t.textLineHeight),lt(t,"textWidth")&&(r.width=t.textWidth),lt(t,"textHeight")&&(r.height=t.textHeight),lt(t,"textBackgroundColor")&&(r.backgroundColor=t.textBackgroundColor),lt(t,"textPadding")&&(r.padding=t.textPadding),lt(t,"textBorderColor")&&(r.borderColor=t.textBorderColor),lt(t,"textBorderWidth")&&(r.borderWidth=t.textBorderWidth),lt(t,"textBorderRadius")&&(r.borderRadius=t.textBorderRadius),lt(t,"textBoxShadowColor")&&(r.shadowColor=t.textBoxShadowColor),lt(t,"textBoxShadowBlur")&&(r.shadowBlur=t.textBoxShadowBlur),lt(t,"textBoxShadowOffsetX")&&(r.shadowOffsetX=t.textBoxShadowOffsetX),lt(t,"textBoxShadowOffsetY")&&(r.shadowOffsetY=t.textBoxShadowOffsetY))}function wC(r,t,e){var n=r;n.textPosition=n.textPosition||e.position||"inside",e.offset!=null&&(n.textOffset=e.offset),e.rotation!=null&&(n.textRotation=e.rotation),e.distance!=null&&(n.textDistance=e.distance);var i=n.textPosition.indexOf("inside")>=0,a=r.fill||"#000";TC(n,t);var o=n.textFill==null;return i?o&&(n.textFill=e.insideFill||"#fff",!n.textStroke&&e.insideStroke&&(n.textStroke=e.insideStroke),!n.textStroke&&(n.textStroke=a),n.textStrokeWidth==null&&(n.textStrokeWidth=2)):(o&&(n.textFill=r.fill||e.outsideFill||"#000"),!n.textStroke&&e.outsideStroke&&(n.textStroke=e.outsideStroke)),n.text=t.text,n.rich=t.rich,M(t.rich,function(s){TC(s,s)}),n}function TC(r,t){t&&(lt(t,"fill")&&(r.textFill=t.fill),lt(t,"stroke")&&(r.textStroke=t.fill),lt(t,"lineWidth")&&(r.textStrokeWidth=t.lineWidth),lt(t,"font")&&(r.font=t.font),lt(t,"fontStyle")&&(r.fontStyle=t.fontStyle),lt(t,"fontWeight")&&(r.fontWeight=t.fontWeight),lt(t,"fontSize")&&(r.fontSize=t.fontSize),lt(t,"fontFamily")&&(r.fontFamily=t.fontFamily),lt(t,"align")&&(r.textAlign=t.align),lt(t,"verticalAlign")&&(r.textVerticalAlign=t.verticalAlign),lt(t,"lineHeight")&&(r.textLineHeight=t.lineHeight),lt(t,"width")&&(r.textWidth=t.width),lt(t,"height")&&(r.textHeight=t.height),lt(t,"backgroundColor")&&(r.textBackgroundColor=t.backgroundColor),lt(t,"padding")&&(r.textPadding=t.padding),lt(t,"borderColor")&&(r.textBorderColor=t.borderColor),lt(t,"borderWidth")&&(r.textBorderWidth=t.borderWidth),lt(t,"borderRadius")&&(r.textBorderRadius=t.borderRadius),lt(t,"shadowColor")&&(r.textBoxShadowColor=t.shadowColor),lt(t,"shadowBlur")&&(r.textBoxShadowBlur=t.shadowBlur),lt(t,"shadowOffsetX")&&(r.textBoxShadowOffsetX=t.shadowOffsetX),lt(t,"shadowOffsetY")&&(r.textBoxShadowOffsetY=t.shadowOffsetY),lt(t,"textShadowColor")&&(r.textShadowColor=t.textShadowColor),lt(t,"textShadowBlur")&&(r.textShadowBlur=t.textShadowBlur),lt(t,"textShadowOffsetX")&&(r.textShadowOffsetX=t.textShadowOffsetX),lt(t,"textShadowOffsetY")&&(r.textShadowOffsetY=t.textShadowOffsetY))}var Xk={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},AC=kt(Xk);Wn(Un,function(r,t){return r[t]=1,r},{});Un.join(", ");var yv=["","style","shape","extra"],qs=Nt();function N1(r,t,e,n,i){var a=r+"Animation",o=rl(r,n,i)||{},s=qs(t).userDuring;return o.duration>0&&(o.during=s?at(Bj,{el:t,userDuring:s}):null,o.setToFinal=!0,o.scope=r),F(o,e[a]),o}function yh(r,t,e,n){n=n||{};var i=n.dataIndex,a=n.isInit,o=n.clearStyle,s=e.isAnimationEnabled(),l=qs(r),u=t.style;l.userDuring=t.during;var f={},c={};if(Gj(r,t,c),MC("shape",t,c),MC("extra",t,c),!a&&s&&(zj(r,t,f),CC("shape",r,t,f),CC("extra",r,t,f),Fj(r,t,u,f)),c.style=u,kj(r,c,o),Nj(r,t),s)if(a){var h={};M(yv,function(d){var p=d?t[d]:t;p&&p.enterFrom&&(d&&(h[d]=h[d]||{}),F(d?h[d]:h,p.enterFrom))});var v=N1("enter",r,t,e,i);v.duration>0&&r.animateFrom(h,v)}else Oj(r,t,i||0,e,f);qk(r,t),u?r.dirty():r.markRedraw()}function qk(r,t){for(var e=qs(r).leaveToProps,n=0;n0&&r.animateFrom(i,a)}}function Nj(r,t){lt(t,"silent")&&(r.silent=t.silent),lt(t,"ignore")&&(r.ignore=t.ignore),r instanceof Yr&<(t,"invisible")&&(r.invisible=t.invisible),r instanceof Pt&<(t,"autoBatch")&&(r.autoBatch=t.autoBatch)}var Cn={},Vj={setTransform:function(r,t){return Cn.el[r]=t,this},getTransform:function(r){return Cn.el[r]},setShape:function(r,t){var e=Cn.el,n=e.shape||(e.shape={});return n[r]=t,e.dirtyShape&&e.dirtyShape(),this},getShape:function(r){var t=Cn.el.shape;if(t)return t[r]},setStyle:function(r,t){var e=Cn.el,n=e.style;return n&&(n[r]=t,e.dirtyStyle&&e.dirtyStyle()),this},getStyle:function(r){var t=Cn.el.style;if(t)return t[r]},setExtra:function(r,t){var e=Cn.el.extra||(Cn.el.extra={});return e[r]=t,this},getExtra:function(r){var t=Cn.el.extra;if(t)return t[r]}};function Bj(){var r=this,t=r.el;if(t){var e=qs(t).userDuring,n=r.userDuring;if(e!==n){r.el=r.userDuring=null;return}Cn.el=t,n(Vj)}}function CC(r,t,e,n){var i=e[r];if(i){var a=t[r],o;if(a){var s=e.transition,l=i.transition;if(l)if(!o&&(o=n[r]={}),Co(l))F(o,a);else for(var u=Zt(l),f=0;f=0){!o&&(o=n[r]={});for(var v=kt(a),f=0;f=0)){var h=r.getAnimationStyleProps(),v=h?h.style:null;if(v){!a&&(a=n.style={});for(var d=kt(e),u=0;u=0?t.getStore().get(V,E):void 0}var N=t.get(O.name,E),G=O&&O.ordinalMeta;return G?G.categories[N]:N}function b(P,E){E==null&&(E=u);var O=t.getItemVisual(E,"style"),V=O&&O.fill,N=O&&O.opacity,G=m(E,Ji).getItemStyle();V!=null&&(G.fill=V),N!=null&&(G.opacity=N);var $={inheritColor:nt(V)?V:"#000"},q=_(E,Ji),Q=Qt(q,null,$,!1,!0);Q.text=q.getShallow("show")?xt(r.getFormattedLabel(E,Ji),Ys(t,E)):null;var ct=Xh(q,$,!1);return A(P,G),G=wC(G,Q,ct),P&&T(G,P),G.legacy=!0,G}function w(P,E){E==null&&(E=u);var O=m(E,vi).getItemStyle(),V=_(E,vi),N=Qt(V,null,null,!0,!0);N.text=V.getShallow("show")?zn(r.getFormattedLabel(E,vi),r.getFormattedLabel(E,Ji),Ys(t,E)):null;var G=Xh(V,null,!0);return A(P,O),O=wC(O,N,G),P&&T(O,P),O.legacy=!0,O}function T(P,E){for(var O in E)lt(E,O)&&(P[O]=E[O])}function A(P,E){P&&(P.textFill&&(E.textFill=P.textFill),P.textPosition&&(E.textPosition=P.textPosition))}function C(P,E){if(E==null&&(E=u),lt(xC,P)){var O=t.getItemVisual(E,"style");return O?O[xC[P]]:null}if(lt(bj,P))return t.getItemVisual(E,P)}function D(P){if(a.type==="cartesian2d"){var E=a.getBaseAxis();return J$(pt({axis:E},P))}}function I(){return e.getCurrentSeriesIndices()}function L(P){return A_(P,e)}}function Jj(r){var t={};return M(r.dimensions,function(e){var n=r.getDimensionInfo(e);if(!n.isExtraCoord){var i=n.coordDim,a=t[i]=t[i]||[];a[n.coordDimIndex]=r.getDimensionIndex(e)}}),t}function qg(r,t,e,n,i,a,o){if(!n){a.remove(t);return}var s=F1(r,t,e,n,i,a);return s&&o.setItemGraphicEl(e,s),s&&ue(s,n.focus,n.blurScope,n.emphasisDisabled),s}function F1(r,t,e,n,i,a){var o=-1,s=t;t&&Qk(t,n,i)&&(o=Dt(a.childrenRef(),t),t=null);var l=!t,u=t;u?u.clearStates():(u=z1(n),s&&Zj(s,u)),n.morph===!1?u.disableMorphing=!0:u.disableMorphing&&(u.disableMorphing=!1),Er.normal.cfg=Er.normal.conOpt=Er.emphasis.cfg=Er.emphasis.conOpt=Er.blur.cfg=Er.blur.conOpt=Er.select.cfg=Er.select.conOpt=null,Er.isLegacy=!1,tJ(u,e,n,i,l,Er),Qj(u,e,n,i,l),G1(r,u,e,n,Er,i,l),lt(n,"info")&&(hi(u).info=n.info);for(var f=0;f=0?a.replaceAt(u,o):a.add(u),u}function Qk(r,t,e){var n=hi(r),i=t.type,a=t.shape,o=t.style;return e.isUniversalTransitionEnabled()||i!=null&&i!==n.customGraphicType||i==="path"&&aJ(a)&&tO(a)!==n.customPathData||i==="image"&<(o,"image")&&o.image!==n.customImagePath}function Qj(r,t,e,n,i){var a=e.clipPath;if(a===!1)r&&r.getClipPath()&&r.removeClipPath();else if(a){var o=r.getClipPath();o&&Qk(o,a,n)&&(o=null),o||(o=z1(a),r.setClipPath(o)),G1(null,o,t,a,null,n,i)}}function tJ(r,t,e,n,i,a){if(!r.isGroup){IC(e,null,a),IC(e,vi,a);var o=a.normal.conOpt,s=a.emphasis.conOpt,l=a.blur.conOpt,u=a.select.conOpt;if(o!=null||s!=null||u!=null||l!=null){var f=r.getTextContent();if(o===!1)f&&r.removeTextContent();else{o=a.normal.conOpt=o||{type:"text"},f?f.clearStates():(f=z1(o),r.setTextContent(f)),G1(null,f,t,o,null,n,i);for(var c=o&&o.style,h=0;h=f;v--){var d=t.childAt(v);rJ(t,d,i)}}}function rJ(r,t,e){t&&Ld(t,hi(r).option,e)}function nJ(r){new Si(r.oldChildren,r.newChildren,LC,LC,r).add(PC).update(PC).remove(iJ).execute()}function LC(r,t){var e=r&&r.name;return e!=null?e:Uj+t}function PC(r,t){var e=this.context,n=r!=null?e.newChildren[r]:null,i=t!=null?e.oldChildren[t]:null;F1(e.api,i,e.dataIndex,n,e.seriesModel,e.group)}function iJ(r){var t=this.context,e=t.oldChildren[r];e&&Ld(e,hi(e).option,t.seriesModel)}function tO(r){return r&&(r.pathData||r.d)}function aJ(r){return r&&(lt(r,"pathData")||lt(r,"d"))}function oJ(r){r.registerChartView(qj),r.registerSeriesModel(Tj)}var eo=Nt(),RC=mt,Kg=at,sJ=function(){function r(){this._dragging=!1,this.animationThreshold=15}return r.prototype.render=function(t,e,n,i){var a=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,!(!i&&this._lastValue===a&&this._lastStatus===o)){this._lastValue=a,this._lastStatus=o;var s=this._group,l=this._handle;if(!o||o==="hide"){s&&s.hide(),l&&l.hide();return}s&&s.show(),l&&l.show();var u={};this.makeElOption(u,a,t,e,n);var f=u.graphicKey;f!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=f;var c=this._moveAnimation=this.determineAnimation(t,e);if(!s)s=this._group=new _t,this.createPointerEl(s,u,t,e),this.createLabelEl(s,u,t,e),n.getZr().add(s);else{var h=bt(EC,e,c);this.updatePointerEl(s,u,h),this.updateLabelEl(s,u,h,e)}OC(s,e,!0),this._renderHandle(a)}},r.prototype.remove=function(t){this.clear(t)},r.prototype.dispose=function(t){this.clear(t)},r.prototype.determineAnimation=function(t,e){var n=e.get("animation"),i=t.axis,a=i.type==="category",o=e.get("snap");if(!o&&!a)return!1;if(n==="auto"||n==null){var s=this.animationThreshold;if(a&&i.getBandWidth()>s)return!0;if(o){var l=f1(t).seriesDataCount,u=i.getExtent();return Math.abs(u[0]-u[1])/l>s}return!1}return n===!0},r.prototype.makeElOption=function(t,e,n,i,a){},r.prototype.createPointerEl=function(t,e,n,i){var a=e.pointer;if(a){var o=eo(t).pointerEl=new Vo[a.type](RC(e.pointer));t.add(o)}},r.prototype.createLabelEl=function(t,e,n,i){if(e.label){var a=eo(t).labelEl=new Gt(RC(e.label));t.add(a),kC(a,i)}},r.prototype.updatePointerEl=function(t,e,n){var i=eo(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},r.prototype.updateLabelEl=function(t,e,n,i){var a=eo(t).labelEl;a&&(a.setStyle(e.label.style),n(a,{x:e.label.x,y:e.label.y}),kC(a,i))},r.prototype._renderHandle=function(t){if(!(this._dragging||!this.updateHandleTransform)){var e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,a=e.getModel("handle"),o=e.get("status");if(!a.get("show")||!o||o==="hide"){i&&n.remove(i),this._handle=null;return}var s;this._handle||(s=!0,i=this._handle=Mf(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(u){gi(u.event)},onmousedown:Kg(this._onHandleDragMove,this,0,0),drift:Kg(this._onHandleDragMove,this),ondragend:Kg(this._onHandleDragEnd,this)}),n.add(i)),OC(i,e,!1),i.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var l=a.get("size");Y(l)||(l=[l,l]),i.scaleX=l[0]/2,i.scaleY=l[1]/2,fl(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,s)}},r.prototype._moveHandleToValue=function(t,e){EC(this._axisPointerModel,!e&&this._moveAnimation,this._handle,jg(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},r.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(jg(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(jg(i)),eo(n).lastProp=null,this._doDispatchAxisPointer()}},r.prototype._doDispatchAxisPointer=function(){var t=this._handle;if(t){var e=this._payloadInfo,n=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:e.cursorPoint[0],y:e.cursorPoint[1],tooltipOption:e.tooltipOption,axesInfo:[{axisDim:n.axis.dim,axisIndex:n.componentIndex}]})}},r.prototype._onHandleDragEnd=function(){this._dragging=!1;var t=this._handle;if(t){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},r.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),tf(this,"_doDispatchAxisPointer")},r.prototype.doClear=function(){},r.prototype.buildLabel=function(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}},r}();function EC(r,t,e,n){eO(eo(e).lastProp,n)||(eo(e).lastProp=n,t?Ht(e,n,r):(e.stopAnimation(),e.attr(n)))}function eO(r,t){if(yt(r)&&yt(t)){var e=!0;return M(t,function(n,i){e=e&&eO(r[i],n)}),!!e}else return r===t}function kC(r,t){r[t.get(["label","show"])?"show":"hide"]()}function jg(r){return{x:r.x||0,y:r.y||0,rotation:r.rotation||0}}function OC(r,t,e){var n=t.get("z"),i=t.get("zlevel");r&&r.traverse(function(a){a.type!=="group"&&(n!=null&&(a.z=n),i!=null&&(a.zlevel=i),a.silent=e)})}const W1=sJ;function $1(r){var t=r.get("type"),e=r.getModel(t+"Style"),n;return t==="line"?(n=e.getLineStyle(),n.fill=null):t==="shadow"&&(n=e.getAreaStyle(),n.stroke=null),n}function rO(r,t,e,n,i){var a=e.get("value"),o=nO(a,t.axis,t.ecModel,e.get("seriesDataIndices"),{precision:e.get(["label","precision"]),formatter:e.get(["label","formatter"])}),s=e.getModel("label"),l=al(s.get("padding")||0),u=s.getFont(),f=bf(o,u),c=i.position,h=f.width+l[1]+l[3],v=f.height+l[0]+l[2],d=i.align;d==="right"&&(c[0]-=h),d==="center"&&(c[0]-=h/2);var p=i.verticalAlign;p==="bottom"&&(c[1]-=v),p==="middle"&&(c[1]-=v/2),lJ(c,h,v,n);var g=s.get("backgroundColor");(!g||g==="auto")&&(g=t.get(["axisLine","lineStyle","color"])),r.label={x:c[0],y:c[1],style:Qt(s,{text:o,font:u,fill:s.getTextColor(),padding:l,backgroundColor:g}),z2:10}}function lJ(r,t,e,n){var i=n.getWidth(),a=n.getHeight();r[0]=Math.min(r[0]+t,i)-t,r[1]=Math.min(r[1]+e,a)-e,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0)}function nO(r,t,e,n,i){r=t.scale.parse(r);var a=t.scale.getLabel({value:r},{precision:i.precision}),o=i.formatter;if(o){var s={value:t1(t,{value:r}),axisDimension:t.dim,axisIndex:t.index,seriesData:[]};M(n,function(l){var u=e.getSeriesByIndex(l.seriesIndex),f=l.dataIndexInside,c=u&&u.getDataParams(f);c&&s.seriesData.push(c)}),nt(o)?a=o.replace("{value}",a):vt(o)&&(a=o(s))}return a}function U1(r,t,e){var n=Cr();return Oo(n,n,e.rotation),$n(n,n,e.position),cn([r.dataToCoord(t),(e.labelOffset||0)+(e.labelDirection||1)*(e.labelMargin||0)],n)}function iO(r,t,e,n,i,a){var o=xi.innerTextLayout(e.rotation,0,e.labelDirection);e.labelMargin=i.get(["label","margin"]),rO(t,n,i,a,{position:U1(n.axis,r,e),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function Y1(r,t,e){return e=e||0,{x1:r[e],y1:r[1-e],x2:t[e],y2:t[1-e]}}function aO(r,t,e){return e=e||0,{x:r[e],y:r[1-e],width:t[e],height:t[1-e]}}function NC(r,t,e,n,i,a){return{cx:r,cy:t,r0:e,r:n,startAngle:i,endAngle:a,clockwise:!0}}var uJ=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,n,i,a,o){var s=i.axis,l=s.grid,u=a.get("type"),f=VC(l,s).getOtherAxis(s).getGlobalExtent(),c=s.toGlobalCoord(s.dataToCoord(n,!0));if(u&&u!=="none"){var h=$1(a),v=fJ[u](s,c,f);v.style=h,e.graphicKey=v.type,e.pointer=v}var d=Fm(l.model,i);iO(n,e,d,i,a,o)},t.prototype.getHandleTransform=function(e,n,i){var a=Fm(n.axis.grid.model,n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var o=U1(n.axis,e,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,n,i,a){var o=i.axis,s=o.grid,l=o.getGlobalExtent(!0),u=VC(s,o).getOtherAxis(o).getGlobalExtent(),f=o.dim==="x"?0:1,c=[e.x,e.y];c[f]+=n[f],c[f]=Math.min(l[1],c[f]),c[f]=Math.max(l[0],c[f]);var h=(u[1]+u[0])/2,v=[h,h];v[f]=c[f];var d=[{verticalAlign:"middle"},{align:"center"}];return{x:c[0],y:c[1],rotation:e.rotation,cursorPoint:v,tooltipOption:d[f]}},t}(W1);function VC(r,t){var e={};return e[t.dim+"AxisIndex"]=t.index,r.getCartesian(e)}var fJ={line:function(r,t,e){var n=Y1([t,e[0]],[t,e[1]],BC(r));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(r,t,e){var n=Math.max(1,r.getBandWidth()),i=e[1]-e[0];return{type:"Rect",shape:aO([t-n/2,e[0]],[n,i],BC(r))}}};function BC(r){return r.dim==="x"?0:1}const cJ=uJ;var hJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="axisPointer",t.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},t}(Bt);const vJ=hJ;var li=Nt(),dJ=M;function oO(r,t,e){if(!zt.node){var n=t.getZr();li(n).records||(li(n).records={}),pJ(n,t);var i=li(n).records[r]||(li(n).records[r]={});i.handler=e}}function pJ(r,t){if(li(r).initialized)return;li(r).initialized=!0,e("click",bt(zC,"click")),e("mousemove",bt(zC,"mousemove")),e("globalout",yJ);function e(n,i){r.on(n,function(a){var o=mJ(t);dJ(li(r).records,function(s){s&&i(s,a,o.dispatchAction)}),gJ(o.pendings,t)})}}function gJ(r,t){var e=r.showTip.length,n=r.hideTip.length,i;e?i=r.showTip[e-1]:n&&(i=r.hideTip[n-1]),i&&(i.dispatchAction=null,t.dispatchAction(i))}function yJ(r,t,e){r.handler("leave",null,e)}function zC(r,t,e,n){t.handler(r,e,n)}function mJ(r){var t={showTip:[],hideTip:[]},e=function(n){var i=t[n.type];i?i.push(n):(n.dispatchAction=e,r.dispatchAction(n))};return{dispatchAction:e,pendings:t}}function o0(r,t){if(!zt.node){var e=t.getZr(),n=(li(e).records||{})[r];n&&(li(e).records[r]=null)}}var _J=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=n.getComponent("tooltip"),o=e.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";oO("axisPointer",i,function(s,l,u){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&u({type:"updateAxisPointer",currTrigger:s,x:l&&l.offsetX,y:l&&l.offsetY})})},t.prototype.remove=function(e,n){o0("axisPointer",n)},t.prototype.dispose=function(e,n){o0("axisPointer",n)},t.type="axisPointer",t}(fe);const SJ=_J;function sO(r,t){var e=[],n=r.seriesIndex,i;if(n==null||!(i=t.getSeriesByIndex(n)))return{point:[]};var a=i.getData(),o=Do(a,r);if(o==null||o<0||Y(o))return{point:[]};var s=a.getItemGraphicEl(o),l=i.coordinateSystem;if(i.getTooltipPosition)e=i.getTooltipPosition(o)||[];else if(l&&l.dataToPoint)if(r.isStacked){var u=l.getBaseAxis(),f=l.getOtherAxis(u),c=f.dim,h=u.dim,v=c==="x"||c==="radius"?1:0,d=a.mapDimension(h),p=[];p[v]=a.get(d,o),p[1-v]=a.get(a.getCalculationInfo("stackResultDimension"),o),e=l.dataToPoint(p)||[]}else e=l.dataToPoint(a.getValues(Z(l.dimensions,function(y){return a.mapDimension(y)}),o))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),e=[g.x+g.width/2,g.y+g.height/2]}return{point:e,el:s}}var GC=Nt();function xJ(r,t,e){var n=r.currTrigger,i=[r.x,r.y],a=r,o=r.dispatchAction||at(e.dispatchAction,e),s=t.getComponent("axisPointer").coordSysAxesInfo;if(s){mh(i)&&(i=sO({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},t).point);var l=mh(i),u=a.axesInfo,f=s.axesInfo,c=n==="leave"||mh(i),h={},v={},d={list:[],map:{}},p={showPointer:bt(wJ,v),showTooltip:bt(TJ,d)};M(s.coordSysMap,function(y,m){var _=l||y.containPoint(i);M(s.coordSysAxesInfo[m],function(S,x){var b=S.axis,w=DJ(u,S);if(!c&&_&&(!u||w)){var T=w&&w.value;T==null&&!l&&(T=b.pointToData(i)),T!=null&&FC(S,T,p,!1,h)}})});var g={};return M(f,function(y,m){var _=y.linkGroup;_&&!v[m]&&M(_.axesInfo,function(S,x){var b=v[x];if(S!==y&&b){var w=b.value;_.mapper&&(w=y.axis.scale.parse(_.mapper(w,HC(S),HC(y)))),g[y.key]=w}})}),M(g,function(y,m){FC(f[m],y,p,!0,h)}),AJ(v,f,h),CJ(d,i,r,o),MJ(f,o,e),h}}function FC(r,t,e,n,i){var a=r.axis;if(!(a.scale.isBlank()||!a.containData(t))){if(!r.involveSeries){e.showPointer(r,t);return}var o=bJ(t,r),s=o.payloadBatch,l=o.snapToValue;s[0]&&i.seriesIndex==null&&F(i,s[0]),!n&&r.snap&&a.containData(l)&&l!=null&&(t=l),e.showPointer(r,t,s),e.showTooltip(r,o,l)}}function bJ(r,t){var e=t.axis,n=e.dim,i=r,a=[],o=Number.MAX_VALUE,s=-1;return M(t.seriesModels,function(l,u){var f=l.getData().mapDimensionsAll(n),c,h;if(l.getAxisTooltipData){var v=l.getAxisTooltipData(f,r,e);h=v.dataIndices,c=v.nestestValue}else{if(h=l.getData().indicesOfNearest(f[0],r,e.type==="category"?.5:null),!h.length)return;c=l.getData().get(f[0],h[0])}if(!(c==null||!isFinite(c))){var d=r-c,p=Math.abs(d);p<=o&&((p=0&&s<0)&&(o=p,s=d,i=c,a.length=0),M(h,function(g){a.push({seriesIndex:l.seriesIndex,dataIndexInside:g,dataIndex:l.getData().getRawIndex(g)})}))}}),{payloadBatch:a,snapToValue:i}}function wJ(r,t,e,n){r[t.key]={value:e,payloadBatch:n}}function TJ(r,t,e,n){var i=e.payloadBatch,a=t.axis,o=a.model,s=t.axisPointerModel;if(!(!t.triggerTooltip||!i.length)){var l=t.coordSys.model,u=sf(l),f=r.map[u];f||(f=r.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},r.list.push(f)),f.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:n,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:i.slice()})}}function AJ(r,t,e){var n=e.axesInfo=[];M(t,function(i,a){var o=i.axisPointerModel.option,s=r[a];s?(!i.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!i.useHandle&&(o.status="hide"),o.status==="show"&&n.push({axisDim:i.axis.dim,axisIndex:i.axis.model.componentIndex,value:o.value})})}function CJ(r,t,e,n){if(mh(t)||!r.list.length){n({type:"hideTip"});return}var i=((r.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:t[0],y:t[1],tooltipOption:e.tooltipOption,position:e.position,dataIndexInside:i.dataIndexInside,dataIndex:i.dataIndex,seriesIndex:i.seriesIndex,dataByCoordSys:r.list})}function MJ(r,t,e){var n=e.getZr(),i="axisPointerLastHighlights",a=GC(n)[i]||{},o=GC(n)[i]={};M(r,function(u,f){var c=u.axisPointerModel.option;c.status==="show"&&u.triggerEmphasis&&M(c.seriesDataIndices,function(h){var v=h.seriesIndex+" | "+h.dataIndex;o[v]=h})});var s=[],l=[];M(a,function(u,f){!o[f]&&l.push(u)}),M(o,function(u,f){!a[f]&&s.push(u)}),l.length&&e.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&e.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function DJ(r,t){for(var e=0;e<(r||[]).length;e++){var n=r[e];if(t.axis.dim===n.axisDim&&t.axis.model.componentIndex===n.axisIndex)return n}}function HC(r){var t=r.axis.model,e={},n=e.axisDim=r.axis.dim;return e.axisIndex=e[n+"AxisIndex"]=t.componentIndex,e.axisName=e[n+"AxisName"]=t.name,e.axisId=e[n+"AxisId"]=t.id,e}function mh(r){return!r||r[0]==null||isNaN(r[0])||r[1]==null||isNaN(r[1])}function Gf(r){Ho.registerAxisPointerClass("CartesianAxisPointer",cJ),r.registerComponentModel(vJ),r.registerComponentView(SJ),r.registerPreprocessor(function(t){if(t){(!t.axisPointer||t.axisPointer.length===0)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!Y(e)&&(t.axisPointer.link=[e])}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=pY(t,e)}),r.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},xJ)}function IJ(r){Lt(EE),Lt(Gf)}var LJ=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,n,i,a,o){var s=i.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var l=s.polar,u=l.getOtherAxis(s),f=u.getExtent(),c=s.dataToCoord(n),h=a.get("type");if(h&&h!=="none"){var v=$1(a),d=RJ[h](s,l,c,f);d.style=v,e.graphicKey=d.type,e.pointer=d}var p=a.get(["label","margin"]),g=PJ(n,i,a,l,p);rO(e,i,a,o,g)},t}(W1);function PJ(r,t,e,n,i){var a=t.axis,o=a.dataToCoord(r),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l=n.getRadiusAxis().getExtent(),u,f,c;if(a.dim==="radius"){var h=Cr();Oo(h,h,s),$n(h,h,[n.cx,n.cy]),u=cn([o,-i],h);var v=t.getModel("axisLabel").get("rotate")||0,d=xi.innerTextLayout(s,v*Math.PI/180,-1);f=d.textAlign,c=d.textVerticalAlign}else{var p=l[1];u=n.coordToPoint([p+i,o]);var g=n.cx,y=n.cy;f=Math.abs(u[0]-g)/p<.3?"center":u[0]>g?"left":"right",c=Math.abs(u[1]-y)/p<.3?"middle":u[1]>y?"top":"bottom"}return{position:u,align:f,verticalAlign:c}}var RJ={line:function(r,t,e,n){return r.dim==="angle"?{type:"Line",shape:Y1(t.coordToPoint([n[0],e]),t.coordToPoint([n[1],e]))}:{type:"Circle",shape:{cx:t.cx,cy:t.cy,r:e}}},shadow:function(r,t,e,n){var i=Math.max(1,r.getBandWidth()),a=Math.PI/180;return r.dim==="angle"?{type:"Sector",shape:NC(t.cx,t.cy,n[0],n[1],(-e-i/2)*a,(-e+i/2)*a)}:{type:"Sector",shape:NC(t.cx,t.cy,e-i/2,e+i/2,0,Math.PI*2)}}};const EJ=LJ;var kJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.findAxisModel=function(e){var n,i=this.ecModel;return i.eachComponent(e,function(a){a.getCoordSysModel()===this&&(n=a)},this),n},t.type="polar",t.dependencies=["radiusAxis","angleAxis"],t.defaultOption={z:0,center:["50%","50%"],radius:"80%"},t}(Bt);const OJ=kJ;var Z1=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",ye).models[0]},t.type="polarAxis",t}(Bt);_e(Z1,Pf);var NJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="angleAxis",t}(Z1),VJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="radiusAxis",t}(Z1),X1=function(r){B(t,r);function t(e,n){return r.call(this,"radius",e,n)||this}return t.prototype.pointToData=function(e,n){return this.polar.pointToData(e,n)[this.dim==="radius"?0:1]},t}(mn);X1.prototype.dataToRadius=mn.prototype.dataToCoord;X1.prototype.radiusToData=mn.prototype.coordToData;const BJ=X1;var zJ=Nt(),q1=function(r){B(t,r);function t(e,n){return r.call(this,"angle",e,n||[0,360])||this}return t.prototype.pointToData=function(e,n){return this.polar.pointToData(e,n)[this.dim==="radius"?0:1]},t.prototype.calculateCategoryInterval=function(){var e=this,n=e.getLabelModel(),i=e.scale,a=i.getExtent(),o=i.count();if(a[1]-a[0]<1)return 0;var s=a[0],l=e.dataToCoord(s+1)-e.dataToCoord(s),u=Math.abs(l),f=bf(s==null?"":s+"",n.getFont(),"center","top"),c=Math.max(f.height,7),h=c/u;isNaN(h)&&(h=1/0);var v=Math.max(0,Math.floor(h)),d=zJ(e.model),p=d.lastAutoInterval,g=d.lastTickCount;return p!=null&&g!=null&&Math.abs(p-v)<=1&&Math.abs(g-o)<=1&&p>v?v=p:(d.lastTickCount=o,d.lastAutoInterval=v),v},t}(mn);q1.prototype.dataToAngle=mn.prototype.dataToCoord;q1.prototype.angleToData=mn.prototype.coordToData;const GJ=q1;var lO=["radius","angle"],FJ=function(){function r(t){this.dimensions=lO,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new BJ,this._angleAxis=new GJ,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}return r.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},r.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},r.prototype.getAxis=function(t){var e="_"+t+"Axis";return this[e]},r.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},r.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===t&&e.push(n),i.scale.type===t&&e.push(i),e},r.prototype.getAngleAxis=function(){return this._angleAxis},r.prototype.getRadiusAxis=function(){return this._radiusAxis},r.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},r.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},r.prototype.getTooltipAxes=function(t){var e=t!=null&&t!=="auto"?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},r.prototype.dataToPoint=function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},r.prototype.pointToData=function(t,e){var n=this.pointToCoord(t);return[this._radiusAxis.radiusToData(n[0],e),this._angleAxis.angleToData(n[1],e)]},r.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=this.getAngleAxis(),a=i.getExtent(),o=Math.min(a[0],a[1]),s=Math.max(a[0],a[1]);i.inverse?o=s-360:s=o+360;var l=Math.sqrt(e*e+n*n);e/=l,n/=l;for(var u=Math.atan2(-n,e)/Math.PI*180,f=us;)u+=f*360;return[l,u]},r.prototype.coordToPoint=function(t){var e=t[0],n=t[1]/180*Math.PI,i=Math.cos(n)*e+this.cx,a=-Math.sin(n)*e+this.cy;return[i,a]},r.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis(),n=e.getExtent().slice();n[0]>n[1]&&n.reverse();var i=t.getExtent(),a=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:n[0],r:n[1],startAngle:-i[0]*a,endAngle:-i[1]*a,clockwise:t.inverse,contain:function(s,l){var u=s-this.cx,f=l-this.cy,c=u*u+f*f,h=this.r,v=this.r0;return h!==v&&c-o<=h*h&&c+o>=v*v}}},r.prototype.convertToPixel=function(t,e,n){var i=WC(e);return i===this?this.dataToPoint(n):null},r.prototype.convertFromPixel=function(t,e,n){var i=WC(e);return i===this?this.pointToData(n):null},r}();function WC(r){var t=r.seriesModel,e=r.polarModel;return e&&e.coordinateSystem||t&&t.coordinateSystem}const HJ=FJ;function WJ(r,t,e){var n=t.get("center"),i=e.getWidth(),a=e.getHeight();r.cx=rt(n[0],i),r.cy=rt(n[1],a);var o=r.getRadiusAxis(),s=Math.min(i,a)/2,l=t.get("radius");l==null?l=[0,"100%"]:Y(l)||(l=[0,l]);var u=[rt(l[0],s),rt(l[1],s)];o.inverse?o.setExtent(u[1],u[0]):o.setExtent(u[0],u[1])}function $J(r,t){var e=this,n=e.getAngleAxis(),i=e.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),i.scale.setExtent(1/0,-1/0),r.eachSeries(function(s){if(s.coordinateSystem===e){var l=s.getData();M(av(l,"radius"),function(u){i.scale.unionExtentFromData(l,u)}),M(av(l,"angle"),function(u){n.scale.unionExtentFromData(l,u)})}}),Us(n.scale,n.model),Us(i.scale,i.model),n.type==="category"&&!n.onBand){var a=n.getExtent(),o=360/n.scale.count();n.inverse?a[1]+=o:a[1]-=o,n.setExtent(a[0],a[1])}}function UJ(r){return r.mainType==="angleAxis"}function $C(r,t){var e;if(r.type=t.get("type"),r.scale=wd(t),r.onBand=t.get("boundaryGap")&&r.type==="category",r.inverse=t.get("inverse"),UJ(t)){r.inverse=r.inverse!==t.get("clockwise");var n=t.get("startAngle"),i=(e=t.get("endAngle"))!==null&&e!==void 0?e:n+(r.inverse?-360:360);r.setExtent(n,i)}t.axis=r,r.model=t}var YJ={dimensions:lO,create:function(r,t){var e=[];return r.eachComponent("polar",function(n,i){var a=new HJ(i+"");a.update=$J;var o=a.getRadiusAxis(),s=a.getAngleAxis(),l=n.findAxisModel("radiusAxis"),u=n.findAxisModel("angleAxis");$C(o,l),$C(s,u),WJ(a,n,t),e.push(a),n.coordinateSystem=a,a.model=n}),r.eachSeries(function(n){if(n.get("coordinateSystem")==="polar"){var i=n.getReferringComponents("polar",ye).models[0];n.coordinateSystem=i.coordinateSystem}}),e}};const ZJ=YJ;var XJ=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function zc(r,t,e){t[1]>t[0]&&(t=t.slice().reverse());var n=r.coordToPoint([t[0],e]),i=r.coordToPoint([t[1],e]);return{x1:n[0],y1:n[1],x2:i[0],y2:i[1]}}function Gc(r){var t=r.getRadiusAxis();return t.inverse?0:1}function UC(r){var t=r[0],e=r[r.length-1];t&&e&&Math.abs(Math.abs(t.coord-e.coord)-360)<1e-4&&r.pop()}var qJ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.axisPointerClass="PolarAxisPointer",e}return t.prototype.render=function(e,n){if(this.group.removeAll(),!!e.get("show")){var i=e.axis,a=i.polar,o=a.getRadiusAxis().getExtent(),s=i.getTicksCoords(),l=i.getMinorTicksCoords(),u=Z(i.getViewLabels(),function(f){f=mt(f);var c=i.scale,h=c.type==="ordinal"?c.getRawOrdinalNumber(f.tickValue):f.tickValue;return f.coord=i.dataToCoord(h),f});UC(u),UC(s),M(XJ,function(f){e.get([f,"show"])&&(!i.scale.isBlank()||f==="axisLine")&&KJ[f](this.group,e,a,s,l,o,u)},this)}},t.type="angleAxis",t}(Ho),KJ={axisLine:function(r,t,e,n,i,a){var o=t.getModel(["axisLine","lineStyle"]),s=e.getAngleAxis(),l=Math.PI/180,u=s.getExtent(),f=Gc(e),c=f?0:1,h,v=Math.abs(u[1]-u[0])===360?"Circle":"Arc";a[c]===0?h=new Vo[v]({shape:{cx:e.cx,cy:e.cy,r:a[f],startAngle:-u[0]*l,endAngle:-u[1]*l,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):h=new id({shape:{cx:e.cx,cy:e.cy,r:a[f],r0:a[c]},style:o.getLineStyle(),z2:1,silent:!0}),h.style.fill=null,r.add(h)},axisTick:function(r,t,e,n,i,a){var o=t.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),l=a[Gc(e)],u=Z(n,function(f){return new Ee({shape:zc(e,[l,l+s],f.coord)})});r.add(Hr(u,{style:pt(o.getModel("lineStyle").getLineStyle(),{stroke:t.get(["axisLine","lineStyle","color"])})}))},minorTick:function(r,t,e,n,i,a){if(i.length){for(var o=t.getModel("axisTick"),s=t.getModel("minorTick"),l=(o.get("inside")?-1:1)*s.get("length"),u=a[Gc(e)],f=[],c=0;cy?"left":"right",S=Math.abs(g[1]-m)/p<.3?"middle":g[1]>m?"top":"bottom";if(s&&s[d]){var x=s[d];yt(x)&&x.textStyle&&(v=new te(x.textStyle,l,l.ecModel))}var b=new Gt({silent:xi.isLabelSilent(t),style:Qt(v,{x:g[0],y:g[1],fill:v.getTextColor()||t.get(["axisLine","lineStyle","color"]),text:c.formattedLabel,align:_,verticalAlign:S})});if(r.add(b),f){var w=xi.makeAxisEventDataBase(t);w.targetType="axisLabel",w.value=c.rawLabel,St(b).eventData=w}},this)},splitLine:function(r,t,e,n,i,a){var o=t.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var f=[],c=0;c=0?"p":"n",E=A;x&&(n[f][L]||(n[f][L]={p:A,n:A}),E=n[f][L][P]);var O=void 0,V=void 0,N=void 0,G=void 0;if(d.dim==="radius"){var $=d.dataToCoord(I)-A,q=l.dataToCoord(L);Math.abs($)=G})}}})}function aQ(r){var t={};M(r,function(n,i){var a=n.getData(),o=n.coordinateSystem,s=o.getBaseAxis(),l=fO(o,s),u=s.getExtent(),f=s.type==="category"?s.getBandWidth():Math.abs(u[1]-u[0])/a.count(),c=t[l]||{bandWidth:f,remainedWidth:f,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},h=c.stacks;t[l]=c;var v=uO(n);h[v]||c.autoWidthCount++,h[v]=h[v]||{width:0,maxWidth:0};var d=rt(n.get("barWidth"),f),p=rt(n.get("barMaxWidth"),f),g=n.get("barGap"),y=n.get("barCategoryGap");d&&!h[v].width&&(d=Math.min(c.remainedWidth,d),h[v].width=d,c.remainedWidth-=d),p&&(h[v].maxWidth=p),g!=null&&(c.gap=g),y!=null&&(c.categoryGap=y)});var e={};return M(t,function(n,i){e[i]={};var a=n.stacks,o=n.bandWidth,s=rt(n.categoryGap,o),l=rt(n.gap,1),u=n.remainedWidth,f=n.autoWidthCount,c=(u-s)/(f+(f-1)*l);c=Math.max(c,0),M(a,function(p,g){var y=p.maxWidth;y&&y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},r.prototype.pointToData=function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t[e.orient==="horizontal"?0:1]))]},r.prototype.dataToPoint=function(t){var e=this.getAxis(),n=this.getRect(),i=[],a=e.orient==="horizontal"?0:1;return t instanceof Array&&(t=t[0]),i[a]=e.toGlobalCoord(e.dataToCoord(+t)),i[1-a]=a===0?n.y+n.height/2:n.x+n.width/2,i},r.prototype.convertToPixel=function(t,e,n){var i=YC(e);return i===this?this.dataToPoint(n):null},r.prototype.convertFromPixel=function(t,e,n){var i=YC(e);return i===this?this.pointToData(n):null},r}();function YC(r){var t=r.seriesModel,e=r.singleAxisModel;return e&&e.coordinateSystem||t&&t.coordinateSystem}function mQ(r,t){var e=[];return r.eachComponent("singleAxis",function(n,i){var a=new yQ(n,r,t);a.name="single_"+i,a.resize(n,t),n.coordinateSystem=a,e.push(a)}),r.eachSeries(function(n){if(n.get("coordinateSystem")==="singleAxis"){var i=n.getReferringComponents("singleAxis",ye).models[0];n.coordinateSystem=i&&i.coordinateSystem}}),e}var _Q={create:mQ,dimensions:hO};const SQ=_Q;var ZC=["x","y"],xQ=["width","height"],bQ=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.makeElOption=function(e,n,i,a,o){var s=i.axis,l=s.coordinateSystem,u=Qg(l,1-Sv(s)),f=l.dataToPoint(n)[0],c=a.get("type");if(c&&c!=="none"){var h=$1(a),v=wQ[c](s,f,u);v.style=h,e.graphicKey=v.type,e.pointer=v}var d=s0(i);iO(n,e,d,i,a,o)},t.prototype.getHandleTransform=function(e,n,i){var a=s0(n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var o=U1(n.axis,e,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(e,n,i,a){var o=i.axis,s=o.coordinateSystem,l=Sv(o),u=Qg(s,l),f=[e.x,e.y];f[l]+=n[l],f[l]=Math.min(u[1],f[l]),f[l]=Math.max(u[0],f[l]);var c=Qg(s,1-l),h=(c[1]+c[0])/2,v=[h,h];return v[l]=f[l],{x:f[0],y:f[1],rotation:e.rotation,cursorPoint:v,tooltipOption:{verticalAlign:"middle"}}},t}(W1),wQ={line:function(r,t,e){var n=Y1([t,e[0]],[t,e[1]],Sv(r));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(r,t,e){var n=r.getBandWidth(),i=e[1]-e[0];return{type:"Rect",shape:aO([t-n/2,e[0]],[n,i],Sv(r))}}};function Sv(r){return r.isHorizontal()?0:1}function Qg(r,t){var e=r.getRect();return[e[ZC[t]],e[ZC[t]]+e[xQ[t]]]}const TQ=bQ;var AQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="single",t}(fe);function CQ(r){Lt(Gf),Ho.registerAxisPointerClass("SingleAxisPointer",TQ),r.registerComponentView(AQ),r.registerComponentView(dQ),r.registerComponentModel(Jg),Zs(r,"single",Jg,Jg.defaultOption),r.registerCoordinateSystem("single",SQ)}var MQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n,i){var a=ol(e);r.prototype.init.apply(this,arguments),XC(e,a)},t.prototype.mergeOption=function(e){r.prototype.mergeOption.apply(this,arguments),XC(this.option,e)},t.prototype.getCellSize=function(){return this.option.cellSize},t.type="calendar",t.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},t}(Bt);function XC(r,t){var e=r.cellSize,n;Y(e)?n=e:n=r.cellSize=[e,e],n.length===1&&(n[1]=n[0]);var i=Z([0,1],function(a){return RH(t,a)&&(n[a]="auto"),n[a]!=null&&n[a]!=="auto"});la(r,t,{type:"box",ignoreSize:i})}const DQ=MQ;var IQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){var a=this.group;a.removeAll();var o=e.coordinateSystem,s=o.getRangeInfo(),l=o.getOrient(),u=n.getLocaleModel();this._renderDayRect(e,s,a),this._renderLines(e,s,l,a),this._renderYearText(e,s,l,a),this._renderMonthText(e,u,l,a),this._renderWeekText(e,u,s,l,a)},t.prototype._renderDayRect=function(e,n,i){for(var a=e.coordinateSystem,o=e.getModel("itemStyle").getItemStyle(),s=a.getCellWidth(),l=a.getCellHeight(),u=n.start.time;u<=n.end.time;u=a.getNextNDay(u,1).time){var f=a.dataToRect([u],!1).tl,c=new Vt({shape:{x:f[0],y:f[1],width:s,height:l},cursor:"default",style:o});i.add(c)}},t.prototype._renderLines=function(e,n,i,a){var o=this,s=e.coordinateSystem,l=e.getModel(["splitLine","lineStyle"]).getLineStyle(),u=e.get(["splitLine","show"]),f=l.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var c=n.start,h=0;c.time<=n.end.time;h++){d(c.formatedDate),h===0&&(c=s.getDateInfo(n.start.y+"-"+n.start.m));var v=c.date;v.setMonth(v.getMonth()+1),c=s.getDateInfo(v)}d(s.getNextNDay(n.end.time,1).formatedDate);function d(p){o._firstDayOfMonth.push(s.getDateInfo(p)),o._firstDayPoints.push(s.dataToRect([p],!1).tl);var g=o._getLinePointsOfOneWeek(e,p,i);o._tlpoints.push(g[0]),o._blpoints.push(g[g.length-1]),u&&o._drawSplitline(g,l,a)}u&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,f,i),l,a),u&&this._drawSplitline(o._getEdgesPoints(o._blpoints,f,i),l,a)},t.prototype._getEdgesPoints=function(e,n,i){var a=[e[0].slice(),e[e.length-1].slice()],o=i==="horizontal"?0:1;return a[0][o]=a[0][o]-n/2,a[1][o]=a[1][o]+n/2,a},t.prototype._drawSplitline=function(e,n,i){var a=new mr({z2:20,shape:{points:e},style:n});i.add(a)},t.prototype._getLinePointsOfOneWeek=function(e,n,i){for(var a=e.coordinateSystem,o=a.getDateInfo(n),s=[],l=0;l<7;l++){var u=a.getNextNDay(o.time,l),f=a.dataToRect([u.time],!1);s[2*u.day]=f.tl,s[2*u.day+1]=f[i==="horizontal"?"bl":"tr"]}return s},t.prototype._formatterLabel=function(e,n){return nt(e)&&e?IH(e,n):vt(e)?e(n):n.nameMap},t.prototype._yearTextPositionControl=function(e,n,i,a,o){var s=n[0],l=n[1],u=["center","bottom"];a==="bottom"?(l+=o,u=["center","top"]):a==="left"?s-=o:a==="right"?(s+=o,u=["center","top"]):l-=o;var f=0;return(a==="left"||a==="right")&&(f=Math.PI/2),{rotation:f,x:s,y:l,style:{align:u[0],verticalAlign:u[1]}}},t.prototype._renderYearText=function(e,n,i,a){var o=e.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),l=o.get("position");l||(l=i!=="horizontal"?"top":"left");var u=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],f=(u[0][0]+u[1][0])/2,c=(u[0][1]+u[1][1])/2,h=i==="horizontal"?0:1,v={top:[f,u[h][1]],bottom:[f,u[1-h][1]],left:[u[1-h][0],c],right:[u[h][0],c]},d=n.start.y;+n.end.y>+n.start.y&&(d=d+"-"+n.end.y);var p=o.get("formatter"),g={start:n.start.y,end:n.end.y,nameMap:d},y=this._formatterLabel(p,g),m=new Gt({z2:30,style:Qt(o,{text:y}),silent:o.get("silent")});m.attr(this._yearTextPositionControl(m,v[l],i,l,s)),a.add(m)}},t.prototype._monthTextPositionControl=function(e,n,i,a,o){var s="left",l="top",u=e[0],f=e[1];return i==="horizontal"?(f=f+o,n&&(s="center"),a==="start"&&(l="bottom")):(u=u+o,n&&(l="middle"),a==="start"&&(s="right")),{x:u,y:f,align:s,verticalAlign:l}},t.prototype._renderMonthText=function(e,n,i,a){var o=e.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),l=o.get("margin"),u=o.get("position"),f=o.get("align"),c=[this._tlpoints,this._blpoints];(!s||nt(s))&&(s&&(n=ym(s)||n),s=n.get(["time","monthAbbr"])||[]);var h=u==="start"?0:1,v=i==="horizontal"?0:1;l=u==="start"?-l:l;for(var d=f==="center",p=o.get("silent"),g=0;g=i.start.time&&n.times.end.time&&e.reverse(),e},r.prototype._getRangeInfo=function(t){var e=[this.getDateInfo(t[0]),this.getDateInfo(t[1])],n;e[0].time>e[1].time&&(n=!0,e.reverse());var i=Math.floor(e[1].time/ty)-Math.floor(e[0].time/ty)+1,a=new Date(e[0].time),o=a.getDate(),s=e[1].date.getDate();a.setDate(o+i-1);var l=a.getDate();if(l!==s)for(var u=a.getTime()-e[1].time>0?1:-1;(l=a.getDate())!==s&&(a.getTime()-e[1].time)*u>0;)i-=u,a.setDate(l-u);var f=Math.floor((i+e[0].day+6)/7),c=n?-f+1:f-1;return n&&e.reverse(),{range:[e[0].formatedDate,e[1].formatedDate],start:e[0],end:e[1],allDay:i,weeks:f,nthWeek:c,fweek:e[0].day,lweek:e[1].day}},r.prototype._getDateByWeeksAndDay=function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||t===0&&ei.lweek)return null;var a=(t-1)*7-i.fweek+e,o=new Date(i.start.time);return o.setDate(+i.start.d+a),this.getDateInfo(o)},r.create=function(t,e){var n=[];return t.eachComponent("calendar",function(i){var a=new r(i);n.push(a),i.coordinateSystem=a}),t.eachSeries(function(i){i.get("coordinateSystem")==="calendar"&&(i.coordinateSystem=n[i.get("calendarIndex")||0])}),n},r.dimensions=["time","value"],r}();function qC(r){var t=r.calendarModel,e=r.seriesModel,n=t?t.coordinateSystem:e?e.coordinateSystem:null;return n}const RQ=PQ;function EQ(r){r.registerComponentModel(DQ),r.registerComponentView(LQ),r.registerCoordinateSystem("calendar",RQ)}function kQ(r,t){var e=r.existing;if(t.id=r.keyInfo.id,!t.type&&e&&(t.type=e.type),t.parentId==null){var n=t.parentOption;n?t.parentId=n.id:e&&(t.parentId=e.parentId)}t.parentOption=null}function KC(r,t){var e;return M(t,function(n){r[n]!=null&&r[n]!=="auto"&&(e=!0)}),e}function OQ(r,t,e){var n=F({},e),i=r[t],a=e.$action||"merge";a==="merge"?i?(Tt(i,n,!0),la(i,n,{ignoreSize:!0}),qP(e,i),Fc(e,i),Fc(e,i,"shape"),Fc(e,i,"style"),Fc(e,i,"extra"),e.clipPath=i.clipPath):r[t]=n:a==="replace"?r[t]=n:a==="remove"&&i&&(r[t]=null)}var vO=["transition","enterFrom","leaveTo"],NQ=vO.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function Fc(r,t,e){if(e&&(!r[e]&&t[e]&&(r[e]={}),r=r[e],t=t[e]),!(!r||!t))for(var n=e?vO:NQ,i=0;i=0;f--){var c=i[f],h=xe(c.id,null),v=h!=null?o.get(h):null;if(v){var d=v.parent,y=Br(d),m=d===a?{width:s,height:l}:{width:y.width,height:y.height},_={},S=dd(v,c,m,null,{hv:c.hv,boundingMode:c.bounding},_);if(!Br(v).isNew&&S){for(var x=c.transition,b={},w=0;w=0)?b[T]=A:v[T]=A}Ht(v,b,e,0)}else v.attr(_)}}},t.prototype._clear=function(){var e=this,n=this._elMap;n.each(function(i){_h(i,Br(i).option,n,e._lastGraphicModel)}),this._elMap=ft()},t.prototype.dispose=function(){this._clear()},t.type="graphic",t}(fe);function l0(r){var t=lt(jC,r)?jC[r]:T_(r),e=new t({});return Br(e).type=r,e}function JC(r,t,e,n){var i=l0(e);return t.add(i),n.set(r,i),Br(i).id=r,Br(i).isNew=!0,i}function _h(r,t,e,n){var i=r&&r.parent;i&&(r.type==="group"&&r.traverse(function(a){_h(a,t,e,n)}),Ld(r,t,n),e.removeKey(Br(r).id))}function QC(r,t,e,n){r.isGroup||M([["cursor",Yr.prototype.cursor],["zlevel",n||0],["z",e||0],["z2",0]],function(i){var a=i[0];lt(t,a)?r[a]=xt(t[a],i[1]):r[a]==null&&(r[a]=i[1])}),M(kt(t),function(i){if(i.indexOf("on")===0){var a=t[i];r[i]=vt(a)?a:null}}),lt(t,"draggable")&&(r.draggable=t.draggable),t.name!=null&&(r.name=t.name),t.id!=null&&(r.id=t.id)}function GQ(r){return r=F({},r),M(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(XP),function(t){delete r[t]}),r}function FQ(r,t,e){var n=St(r).eventData;!r.silent&&!r.ignore&&!n&&(n=St(r).eventData={componentType:"graphic",componentIndex:t.componentIndex,name:r.name}),n&&(n.info=e.info)}function HQ(r){r.registerComponentModel(BQ),r.registerComponentView(zQ),r.registerPreprocessor(function(t){var e=t.graphic;Y(e)?!e[0]||!e[0].elements?t.graphic=[{elements:e}]:t.graphic=[t.graphic[0]]:e&&!e.elements&&(t.graphic=[{elements:[e]}])})}var tM=["x","y","radius","angle","single"],WQ=["cartesian2d","polar","singleAxis"];function $Q(r){var t=r.get("coordinateSystem");return Dt(WQ,t)>=0}function Qi(r){return r+"Axis"}function UQ(r,t){var e=ft(),n=[],i=ft();r.eachComponent({mainType:"dataZoom",query:t},function(f){i.get(f.uid)||s(f)});var a;do a=!1,r.eachComponent("dataZoom",o);while(a);function o(f){!i.get(f.uid)&&l(f)&&(s(f),a=!0)}function s(f){i.set(f.uid,!0),n.push(f),u(f)}function l(f){var c=!1;return f.eachTargetAxis(function(h,v){var d=e.get(h);d&&d[v]&&(c=!0)}),c}function u(f){f.eachTargetAxis(function(c,h){(e.get(c)||e.set(c,[]))[h]=!0})}return n}function dO(r){var t=r.ecModel,e={infoList:[],infoMap:ft()};return r.eachTargetAxis(function(n,i){var a=t.getComponent(Qi(n),i);if(a){var o=a.getCoordSysModel();if(o){var s=o.uid,l=e.infoMap.get(s);l||(l={model:o,axisModels:[]},e.infoList.push(l),e.infoMap.set(s,l)),l.axisModels.push(a)}}}),e}var ey=function(){function r(){this.indexList=[],this.indexMap=[]}return r.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},r}(),YQ=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._autoThrottle=!0,e._noTarget=!0,e._rangePropMode=["percent","percent"],e}return t.prototype.init=function(e,n,i){var a=eM(e);this.settledOption=a,this.mergeDefaultAndTheme(e,i),this._doInit(a)},t.prototype.mergeOption=function(e){var n=eM(e);Tt(this.option,e,!0),Tt(this.settledOption,n,!0),this._doInit(n)},t.prototype._doInit=function(e){var n=this.option;this._setDefaultThrottle(e),this._updateRangeUse(e);var i=this.settledOption;M([["start","startValue"],["end","endValue"]],function(a,o){this._rangePropMode[o]==="value"&&(n[a[0]]=i[a[0]]=null)},this),this._resetTarget()},t.prototype._resetTarget=function(){var e=this.get("orient",!0),n=this._targetAxisInfoMap=ft(),i=this._fillSpecifiedTargetAxis(n);i?this._orient=e||this._makeAutoOrientByTargetAxis():(this._orient=e||"horizontal",this._fillAutoTargetAxisByOrient(n,this._orient)),this._noTarget=!0,n.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)},t.prototype._fillSpecifiedTargetAxis=function(e){var n=!1;return M(tM,function(i){var a=this.getReferringComponents(Qi(i),uF);if(a.specified){n=!0;var o=new ey;M(a.models,function(s){o.add(s.componentIndex)}),e.set(i,o)}},this),n},t.prototype._fillAutoTargetAxisByOrient=function(e,n){var i=this.ecModel,a=!0;if(a){var o=n==="vertical"?"y":"x",s=i.findComponents({mainType:o+"Axis"});l(s,o)}if(a){var s=i.findComponents({mainType:"singleAxis",filter:function(f){return f.get("orient",!0)===n}});l(s,"single")}function l(u,f){var c=u[0];if(c){var h=new ey;if(h.add(c.componentIndex),e.set(f,h),a=!1,f==="x"||f==="y"){var v=c.getReferringComponents("grid",ye).models[0];v&&M(u,function(d){c.componentIndex!==d.componentIndex&&v===d.getReferringComponents("grid",ye).models[0]&&h.add(d.componentIndex)})}}}a&&M(tM,function(u){if(a){var f=i.findComponents({mainType:Qi(u),filter:function(h){return h.get("type",!0)==="category"}});if(f[0]){var c=new ey;c.add(f[0].componentIndex),e.set(u,c),a=!1}}},this)},t.prototype._makeAutoOrientByTargetAxis=function(){var e;return this.eachTargetAxis(function(n){!e&&(e=n)},this),e==="y"?"vertical":"horizontal"},t.prototype._setDefaultThrottle=function(e){if(e.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var n=this.ecModel.option;this.option.throttle=n.animation&&n.animationDurationUpdate>0?100:20}},t.prototype._updateRangeUse=function(e){var n=this._rangePropMode,i=this.get("rangeMode");M([["start","startValue"],["end","endValue"]],function(a,o){var s=e[a[0]]!=null,l=e[a[1]]!=null;s&&!l?n[o]="percent":!s&&l?n[o]="value":i?n[o]=i[o]:s&&(n[o]="percent")})},t.prototype.noTarget=function(){return this._noTarget},t.prototype.getFirstTargetAxisModel=function(){var e;return this.eachTargetAxis(function(n,i){e==null&&(e=this.ecModel.getComponent(Qi(n),i))},this),e},t.prototype.eachTargetAxis=function(e,n){this._targetAxisInfoMap.each(function(i,a){M(i.indexList,function(o){e.call(n,a,o)})})},t.prototype.getAxisProxy=function(e,n){var i=this.getAxisModel(e,n);if(i)return i.__dzAxisProxy},t.prototype.getAxisModel=function(e,n){var i=this._targetAxisInfoMap.get(e);if(i&&i.indexMap[n])return this.ecModel.getComponent(Qi(e),n)},t.prototype.setRawRange=function(e){var n=this.option,i=this.settledOption;M([["start","startValue"],["end","endValue"]],function(a){(e[a[0]]!=null||e[a[1]]!=null)&&(n[a[0]]=i[a[0]]=e[a[0]],n[a[1]]=i[a[1]]=e[a[1]])},this),this._updateRangeUse(e)},t.prototype.setCalculatedRange=function(e){var n=this.option;M(["start","startValue","end","endValue"],function(i){n[i]=e[i]})},t.prototype.getPercentRange=function(){var e=this.findRepresentativeAxisProxy();if(e)return e.getDataPercentWindow()},t.prototype.getValueRange=function(e,n){if(e==null&&n==null){var i=this.findRepresentativeAxisProxy();if(i)return i.getDataValueWindow()}else return this.getAxisProxy(e,n).getDataValueWindow()},t.prototype.findRepresentativeAxisProxy=function(e){if(e)return e.__dzAxisProxy;for(var n,i=this._targetAxisInfoMap.keys(),a=0;ao[1];if(_&&!S&&!x)return!0;_&&(g=!0),S&&(d=!0),x&&(p=!0)}return g&&d&&p})}else ms(f,function(v){if(a==="empty")l.setData(u=u.map(v,function(p){return s(p)?p:NaN}));else{var d={};d[v]=o,u.selectRange(d)}});ms(f,function(v){u.setApproximateExtent(o,v)})}});function s(l){return l>=o[0]&&l<=o[1]}},r.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;ms(["min","max"],function(i){var a=e.get(i+"Span"),o=e.get(i+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?a=Ut(n[0]+o,n,[0,100],!0):a!=null&&(o=Ut(a,[0,100],n,!0)-n[0]),t[i+"Span"]=a,t[i+"ValueSpan"]=o},this)},r.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=TL(n,[0,500]);i=Math.min(i,20);var a=t.axis.scale.rawExtentInfo;e[0]!==0&&a.setDeterminedMinMax("min",+n[0].toFixed(i)),e[1]!==100&&a.setDeterminedMinMax("max",+n[1].toFixed(i)),a.freeze()}},r}();function QQ(r,t,e){var n=[1/0,-1/0];ms(e,function(o){xU(n,o.getData(),t)});var i=r.getAxisModel(),a=DR(i.axis.scale,i,n).calculate();return[a.min,a.max]}const ttt=JQ;var ett={getTargetSeries:function(r){function t(i){r.eachComponent("dataZoom",function(a){a.eachTargetAxis(function(o,s){var l=r.getComponent(Qi(o),s);i(o,s,l,a)})})}t(function(i,a,o,s){o.__dzAxisProxy=null});var e=[];t(function(i,a,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new ttt(i,a,s,r),e.push(o.__dzAxisProxy))});var n=ft();return M(e,function(i){M(i.getTargetSeriesModels(),function(a){n.set(a.uid,a)})}),n},overallReset:function(r,t){r.eachComponent("dataZoom",function(e){e.eachTargetAxis(function(n,i){e.getAxisProxy(n,i).reset(e)}),e.eachTargetAxis(function(n,i){e.getAxisProxy(n,i).filterData(e,t)})}),r.eachComponent("dataZoom",function(e){var n=e.findRepresentativeAxisProxy();if(n){var i=n.getDataPercentWindow(),a=n.getDataValueWindow();e.setCalculatedRange({start:i[0],end:i[1],startValue:a[0],endValue:a[1]})}})}};const rtt=ett;function ntt(r){r.registerAction("dataZoom",function(t,e){var n=UQ(e,t);M(n,function(i){i.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})})}var nM=!1;function j1(r){nM||(nM=!0,r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,rtt),ntt(r),r.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function itt(r){r.registerComponentModel(XQ),r.registerComponentView(jQ),j1(r)}var Fr=function(){function r(){}return r}(),pO={};function _s(r,t){pO[r]=t}function gO(r){return pO[r]}var att=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.optionUpdated=function(){r.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;M(this.option.feature,function(n,i){var a=gO(i);a&&(a.getDefaultOption&&(a.defaultOption=a.getDefaultOption(e)),Tt(n,a.defaultOption))})},t.type="toolbox",t.layoutMode={type:"box",ignoreSize:!0},t.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},t}(Bt);const ott=att;function stt(r,t,e){var n=t.getBoxLayoutParams(),i=t.get("padding"),a={width:e.getWidth(),height:e.getHeight()},o=be(n,a,i);wo(t.get("orient"),r,t.get("itemGap"),o.width,o.height),dd(r,n,a,i)}function yO(r,t){var e=al(t.get("padding")),n=t.getItemStyle(["color","opacity"]);return n.fill=t.get("backgroundColor"),r=new Vt({shape:{x:r.x-e[3],y:r.y-e[0],width:r.width+e[1]+e[3],height:r.height+e[0]+e[2],r:t.get("borderRadius")},style:n,silent:!0,z2:-1}),r}var ltt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.render=function(e,n,i,a){var o=this.group;if(o.removeAll(),!e.get("show"))return;var s=+e.get("itemSize"),l=e.get("orient")==="vertical",u=e.get("feature")||{},f=this._features||(this._features={}),c=[];M(u,function(d,p){c.push(p)}),new Si(this._featureNames||[],c).add(h).update(h).remove(bt(h,null)).execute(),this._featureNames=c;function h(d,p){var g=c[d],y=c[p],m=u[g],_=new te(m,e,e.ecModel),S;if(a&&a.newTitle!=null&&a.featureName===g&&(m.title=a.newTitle),g&&!y){if(utt(g))S={onclick:_.option.onclick,featureName:g};else{var x=gO(g);if(!x)return;S=new x}f[g]=S}else if(S=f[y],!S)return;S.uid=il("toolbox-feature"),S.model=_,S.ecModel=n,S.api=i;var b=S instanceof Fr;if(!g&&y){b&&S.dispose&&S.dispose(n,i);return}if(!_.get("show")||b&&S.unusable){b&&S.remove&&S.remove(n,i);return}v(_,S,g),_.setIconStatus=function(w,T){var A=this.option,C=this.iconPaths;A.iconStatus=A.iconStatus||{},A.iconStatus[w]=T,C[w]&&(T==="emphasis"?mi:_i)(C[w])},S instanceof Fr&&S.render&&S.render(_,n,i,a)}function v(d,p,g){var y=d.getModel("iconStyle"),m=d.getModel(["emphasis","iconStyle"]),_=p instanceof Fr&&p.getIcons?p.getIcons():d.get("icon"),S=d.get("title")||{},x,b;nt(_)?(x={},x[g]=_):x=_,nt(S)?(b={},b[g]=S):b=S;var w=d.iconPaths={};M(x,function(T,A){var C=Mf(T,{},{x:-s/2,y:-s/2,width:s,height:s});C.setStyle(y.getItemStyle());var D=C.ensureState("emphasis");D.style=m.getItemStyle();var I=new Gt({style:{text:b[A],align:m.get("textAlign"),borderRadius:m.get("textBorderRadius"),padding:m.get("textPadding"),fill:null,font:A_({fontStyle:m.get("textFontStyle"),fontFamily:m.get("textFontFamily"),fontSize:m.get("textFontSize"),fontWeight:m.get("textFontWeight")},n)},ignore:!0});C.setTextContent(I),No({el:C,componentModel:e,itemName:A,formatterParamsExtra:{title:b[A]}}),C.__title=b[A],C.on("mouseover",function(){var L=m.getItemStyle(),P=l?e.get("right")==null&&e.get("left")!=="right"?"right":"left":e.get("bottom")==null&&e.get("top")!=="bottom"?"bottom":"top";I.setStyle({fill:m.get("textFill")||L.fill||L.stroke||"#000",backgroundColor:m.get("textBackgroundColor")}),C.setTextConfig({position:m.get("textPosition")||P}),I.ignore=!e.get("showTitle"),i.enterEmphasis(this)}).on("mouseout",function(){d.get(["iconStatus",A])!=="emphasis"&&i.leaveEmphasis(this),I.hide()}),(d.get(["iconStatus",A])==="emphasis"?mi:_i)(C),o.add(C),C.on("click",at(p.onclick,p,n,i,A)),w[A]=C})}stt(o,e,i),o.add(yO(o.getBoundingRect(),e)),l||o.eachChild(function(d){var p=d.__title,g=d.ensureState("emphasis"),y=g.textConfig||(g.textConfig={}),m=d.getTextContent(),_=m&&m.ensureState("emphasis");if(_&&!vt(_)&&p){var S=_.style||(_.style={}),x=bf(p,Gt.makeFont(S)),b=d.x+o.x,w=d.y+o.y+s,T=!1;w+x.height>i.getHeight()&&(y.position="top",T=!0);var A=T?-5-x.height:s+10;b+x.width/2>i.getWidth()?(y.position=["100%",A],S.align="right"):b-x.width/2<0&&(y.position=[0,A],S.align="left")}})},t.prototype.updateView=function(e,n,i,a){M(this._features,function(o){o instanceof Fr&&o.updateView&&o.updateView(o.model,n,i,a)})},t.prototype.remove=function(e,n){M(this._features,function(i){i instanceof Fr&&i.remove&&i.remove(e,n)}),this.group.removeAll()},t.prototype.dispose=function(e,n){M(this._features,function(i){i instanceof Fr&&i.dispose&&i.dispose(e,n)})},t.type="toolbox",t}(fe);function utt(r){return r.indexOf("my")===0}const ftt=ltt;var ctt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.onclick=function(e,n){var i=this.model,a=i.get("name")||e.get("title.0.text")||"echarts",o=n.getZr().painter.getType()==="svg",s=o?"svg":i.get("type",!0)||"png",l=n.getConnectedDataURL({type:s,backgroundColor:i.get("backgroundColor",!0)||e.get("backgroundColor")||"#fff",connectedBackgroundColor:i.get("connectedBackgroundColor"),excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")}),u=zt.browser;if(typeof MouseEvent=="function"&&(u.newEdge||!u.ie&&!u.edge)){var f=document.createElement("a");f.download=a+"."+s,f.target="_blank",f.href=l;var c=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});f.dispatchEvent(c)}else if(window.navigator.msSaveOrOpenBlob||o){var h=l.split(","),v=h[0].indexOf("base64")>-1,d=o?decodeURIComponent(h[1]):h[1];v&&(d=window.atob(d));var p=a+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,y=new Uint8Array(g);g--;)y[g]=d.charCodeAt(g);var m=new Blob([y]);window.navigator.msSaveOrOpenBlob(m,p)}else{var _=document.createElement("iframe");document.body.appendChild(_);var S=_.contentWindow,x=S.document;x.open("image/svg+xml","replace"),x.write(d),x.close(),S.focus(),x.execCommand("SaveAs",!0,p),document.body.removeChild(_)}}else{var b=i.get("lang"),w='',T=window.open();T.document.write(w),T.document.title=a}},t.getDefaultOption=function(e){var n={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:e.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:e.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return n},t}(Fr);const htt=ctt;var iM="__ec_magicType_stack__",vtt=[["line","bar"],["stack"]],dtt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.getIcons=function(){var e=this.model,n=e.get("icon"),i={};return M(e.get("type"),function(a){n[a]&&(i[a]=n[a])}),i},t.getDefaultOption=function(e){var n={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:e.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return n},t.prototype.onclick=function(e,n,i){var a=this.model,o=a.get(["seriesIndex",i]);if(aM[i]){var s={series:[]},l=function(c){var h=c.subType,v=c.id,d=aM[i](h,v,c,a);d&&(pt(d,c.option),s.series.push(d));var p=c.coordinateSystem;if(p&&p.type==="cartesian2d"&&(i==="line"||i==="bar")){var g=p.getAxesByScale("ordinal")[0];if(g){var y=g.dim,m=y+"Axis",_=c.getReferringComponents(m,ye).models[0],S=_.componentIndex;s[m]=s[m]||[];for(var x=0;x<=S;x++)s[m][S]=s[m][S]||{};s[m][S].boundaryGap=i==="bar"}}};M(vtt,function(c){Dt(c,i)>=0&&M(c,function(h){a.setIconStatus(h,"normal")})}),a.setIconStatus(i,"emphasis"),e.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},l);var u,f=i;i==="stack"&&(u=Tt({stack:a.option.title.tiled,tiled:a.option.title.stack},a.option.title),a.get(["iconStatus",i])!=="emphasis"&&(f="tiled")),n.dispatchAction({type:"changeMagicType",currentType:f,newOption:s,newTitle:u,featureName:"magicType"})}},t}(Fr),aM={line:function(r,t,e,n){if(r==="bar")return Tt({id:t,type:"line",data:e.get("data"),stack:e.get("stack"),markPoint:e.get("markPoint"),markLine:e.get("markLine")},n.get(["option","line"])||{},!0)},bar:function(r,t,e,n){if(r==="line")return Tt({id:t,type:"bar",data:e.get("data"),stack:e.get("stack"),markPoint:e.get("markPoint"),markLine:e.get("markLine")},n.get(["option","bar"])||{},!0)},stack:function(r,t,e,n){var i=e.get("stack")===iM;if(r==="line"||r==="bar")return n.setIconStatus("stack",i?"normal":"emphasis"),Tt({id:t,stack:i?"":iM},n.get(["option","stack"])||{},!0)}};qn({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(r,t){t.mergeOption(r.newOption)});const ptt=dtt;var Pd=new Array(60).join("-"),Ks=" ";function gtt(r){var t={},e=[],n=[];return r.eachRawSeries(function(i){var a=i.coordinateSystem;if(a&&(a.type==="cartesian2d"||a.type==="polar")){var o=a.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;t[s]||(t[s]={categoryAxis:o,valueAxis:a.getOtherAxis(o),series:[]},n.push({axisDim:o.dim,axisIndex:o.index})),t[s].series.push(i)}else e.push(i)}else e.push(i)}),{seriesGroupByCategoryAxis:t,other:e,meta:n}}function ytt(r){var t=[];return M(r,function(e,n){var i=e.categoryAxis,a=e.valueAxis,o=a.dim,s=[" "].concat(Z(e.series,function(v){return v.name})),l=[i.model.getCategories()];M(e.series,function(v){var d=v.getRawData();l.push(v.getRawData().mapArray(d.mapDimension(o),function(p){return p}))});for(var u=[s.join(Ks)],f=0;f=0)return!0}var o0=new RegExp("["+Xs+"]+","g");function Stt(r){for(var t=r.split(/\n+/g),e=_v(t.shift()).split(o0),n=[],i=Z(e,function(l){return{name:l,data:[]}}),a=0;a=0;a--){var o=e[a];if(o[i])break}if(a<0){var s=r.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(s){var l=s.getPercentRange();e[0][i]={dataZoomId:i,start:l[0],end:l[1]}}}}),e.push(t)}function Mtt(r){var t=q1(r),e=t[t.length-1];t.length>1&&t.pop();var n={};return mO(e,function(i,a){for(var o=t.length-1;o>=0;o--)if(i=t[o][a],i){n[a]=i;break}}),n}function Dtt(r){_O(r).snapshots=null}function Itt(r){return q1(r).length}function q1(r){var t=_O(r);return t.snapshots||(t.snapshots=[{}]),t.snapshots}var Ltt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.onclick=function(e,n){Dtt(e),n.dispatchAction({type:"restore",from:this.uid})},t.getDefaultOption=function(e){var n={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:e.getLocaleModel().get(["toolbox","restore","title"])};return n},t}(Fr);Zn({type:"restore",event:"restore",update:"prepareAndUpdate"},function(r,t){t.resetOption("recreate")});const Ptt=Ltt;var Rtt=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],Ett=function(){function r(t,e,n){var i=this;this._targetInfoList=[];var a=iM(e,t);M(ktt,function(o,s){(!n||!n.include||Dt(n.include,s)>=0)&&o(a,i._targetInfoList)})}return r.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,function(n,i,a){if((n.coordRanges||(n.coordRanges=[])).push(i),!n.coordRange){n.coordRange=i;var o=Qg[n.brushType](0,a,i);n.__rangeOffset={offset:lM[n.brushType](o.values,n.range,[1,1]),xyMinMax:o.xyMinMax}}}),t},r.prototype.matchOutputRanges=function(t,e,n){M(t,function(i){var a=this.findTargetInfo(i,e);a&&a!==!0&&M(a.coordSyses,function(o){var s=Qg[i.brushType](1,o,i.range,!0);n(i,s.values,o,e)})},this)},r.prototype.setInputRanges=function(t,e){M(t,function(n){var i=this.findTargetInfo(n,e);if(n.range=n.range||[],i&&i!==!0){n.panelId=i.panelId;var a=Qg[n.brushType](0,i.coordSys,n.coordRange),o=n.__rangeOffset;n.range=o?lM[n.brushType](a.values,o.offset,Ott(a.xyMinMax,o.xyMinMax)):a.values}},this)},r.prototype.makePanelOpts=function(t,e){return Z(this._targetInfoList,function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:Ck(i),isTargetByCursor:Dk(i,t,n.coordSysModel),getLinearBrushOtherExtent:Mk(i)}})},r.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return i===!0||i&&Dt(i.coordSyses,e.coordinateSystem)>=0},r.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=iM(e,t),a=0;ar[1]&&r.reverse(),r}function iM(r,t){return _u(r,t,{includeMainTypes:Rtt})}var ktt={grid:function(r,t){var e=r.xAxisModels,n=r.yAxisModels,i=r.gridModels,a=ft(),o={},s={};!e&&!n&&!i||(M(e,function(l){var u=l.axis.grid.model;a.set(u.id,u),o[u.id]=!0}),M(n,function(l){var u=l.axis.grid.model;a.set(u.id,u),s[u.id]=!0}),M(i,function(l){a.set(l.id,l),o[l.id]=!0,s[l.id]=!0}),a.each(function(l){var u=l.coordinateSystem,f=[];M(u.getCartesians(),function(c,h){(Dt(e,c.getAxis("x").model)>=0||Dt(n,c.getAxis("y").model)>=0)&&f.push(c)}),t.push({panelId:"grid--"+l.id,gridModel:l,coordSysModel:l,coordSys:f[0],coordSyses:f,getPanelRect:oM.grid,xAxisDeclared:o[l.id],yAxisDeclared:s[l.id]})}))},geo:function(r,t){M(r.geoModels,function(e){var n=e.coordinateSystem;t.push({panelId:"geo--"+e.id,geoModel:e,coordSysModel:e,coordSys:n,coordSyses:[n],getPanelRect:oM.geo})})}},aM=[function(r,t){var e=r.xAxisModel,n=r.yAxisModel,i=r.gridModel;return!i&&e&&(i=e.axis.grid.model),!i&&n&&(i=n.axis.grid.model),i&&i===t.gridModel},function(r,t){var e=r.geoModel;return e&&e===t.geoModel}],oM={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var r=this.coordSys,t=r.getBoundingRect().clone();return t.applyTransform(So(r)),t}},Qg={lineX:bt(sM,0),lineY:bt(sM,1),rect:function(r,t,e,n){var i=r?t.pointToData([e[0][0],e[1][0]],n):t.dataToPoint([e[0][0],e[1][0]],n),a=r?t.pointToData([e[0][1],e[1][1]],n):t.dataToPoint([e[0][1],e[1][1]],n),o=[s0([i[0],a[0]]),s0([i[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(r,t,e,n){var i=[[1/0,-1/0],[1/0,-1/0]],a=Z(e,function(o){var s=r?t.pointToData(o,n):t.dataToPoint(o,n);return i[0][0]=Math.min(i[0][0],s[0]),i[1][0]=Math.min(i[1][0],s[1]),i[0][1]=Math.max(i[0][1],s[0]),i[1][1]=Math.max(i[1][1],s[1]),s});return{values:a,xyMinMax:i}}};function sM(r,t,e,n){var i=e.getAxis(["x","y"][r]),a=s0(Z([0,1],function(s){return t?i.coordToData(i.toLocalCoord(n[s]),!0):i.toGlobalCoord(i.dataToCoord(n[s]))})),o=[];return o[r]=a,o[1-r]=[NaN,NaN],{values:a,xyMinMax:o}}var lM={lineX:bt(uM,0),lineY:bt(uM,1),rect:function(r,t,e){return[[r[0][0]-e[0]*t[0][0],r[0][1]-e[0]*t[0][1]],[r[1][0]-e[1]*t[1][0],r[1][1]-e[1]*t[1][1]]]},polygon:function(r,t,e){return Z(r,function(n,i){return[n[0]-e[0]*t[i][0],n[1]-e[1]*t[i][1]]})}};function uM(r,t,e,n){return[t[0]-n[r]*e[0],t[1]-n[r]*e[1]]}function Ott(r,t){var e=fM(r),n=fM(t),i=[e[0]/n[0],e[1]/n[1]];return isNaN(i[0])&&(i[0]=1),isNaN(i[1])&&(i[1]=1),i}function fM(r){return r?[r[0][1]-r[0][0],r[1][1]-r[1][0]]:[NaN,NaN]}const K1=Ett;var l0=M,Ntt=nF("toolbox-dataZoom_"),Vtt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.render=function(e,n,i,a){this._brushController||(this._brushController=new D1(i.getZr()),this._brushController.on("brush",at(this._onBrush,this)).mount()),Gtt(e,n,this,a,i),ztt(e,n)},t.prototype.onclick=function(e,n,i){Btt[i].call(this)},t.prototype.remove=function(e,n){this._brushController&&this._brushController.unmount()},t.prototype.dispose=function(e,n){this._brushController&&this._brushController.dispose()},t.prototype._onBrush=function(e){var n=e.areas;if(!e.isEnd||!n.length)return;var i={},a=this.ecModel;this._brushController.updateCovers([]);var o=new K1(j1(this.model),a,{include:["grid"]});o.matchOutputRanges(n,a,function(u,f,c){if(c.type==="cartesian2d"){var h=u.brushType;h==="rect"?(s("x",c,f[0]),s("y",c,f[1])):s({lineX:"x",lineY:"y"}[h],c,f)}}),Ctt(a,i),this._dispatchZoomAction(i);function s(u,f,c){var h=f.getAxis(u),v=h.model,d=l(u,v,a),p=d.findRepresentativeAxisProxy(v).getMinMaxSpan();(p.minValueSpan!=null||p.maxValueSpan!=null)&&(c=Fo(0,c.slice(),h.scale.getExtent(),0,p.minValueSpan,p.maxValueSpan)),d&&(i[d.id]={dataZoomId:d.id,startValue:c[0],endValue:c[1]})}function l(u,f,c){var h;return c.eachComponent({mainType:"dataZoom",subType:"select"},function(v){var d=v.getAxisModel(u,f.componentIndex);d&&(h=v)}),h}},t.prototype._dispatchZoomAction=function(e){var n=[];l0(e,function(i,a){n.push(mt(i))}),n.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:n})},t.getDefaultOption=function(e){var n={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:e.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return n},t}(Fr),Btt={zoom:function(){var r=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:r})},back:function(){this._dispatchZoomAction(Mtt(this.ecModel))}};function j1(r){var t={xAxisIndex:r.get("xAxisIndex",!0),yAxisIndex:r.get("yAxisIndex",!0),xAxisId:r.get("xAxisId",!0),yAxisId:r.get("yAxisId",!0)};return t.xAxisIndex==null&&t.xAxisId==null&&(t.xAxisIndex="all"),t.yAxisIndex==null&&t.yAxisId==null&&(t.yAxisIndex="all"),t}function ztt(r,t){r.setIconStatus("back",Itt(t)>1?"emphasis":"normal")}function Gtt(r,t,e,n,i){var a=e._isZoomActive;n&&n.type==="takeGlobalCursor"&&(a=n.key==="dataZoomSelect"?n.dataZoomSelectActive:!1),e._isZoomActive=a,r.setIconStatus("zoom",a?"emphasis":"normal");var o=new K1(j1(r),t,{include:["grid"]}),s=o.makePanelOpts(i,function(l){return l.xAxisDeclared&&!l.yAxisDeclared?"lineX":!l.xAxisDeclared&&l.yAxisDeclared?"lineY":"rect"});e._brushController.setPanels(s).enableBrush(a&&s.length?{brushType:"auto",brushStyle:r.getModel("brushStyle").getItemStyle()}:!1)}VH("dataZoom",function(r){var t=r.getComponent("toolbox",0),e=["feature","dataZoom"];if(!t||t.get(e)==null)return;var n=t.getModel(e),i=[],a=j1(n),o=_u(r,a);l0(o.xAxisModels,function(l){return s(l,"xAxis","xAxisIndex")}),l0(o.yAxisModels,function(l){return s(l,"yAxis","yAxisIndex")});function s(l,u,f){var c=l.componentIndex,h={type:"select",$fromToolbox:!0,filterMode:n.get("filterMode",!0)||"filter",id:Ntt+u+c};h[f]=c,i.push(h)}return i});const Ftt=Vtt;function Htt(r){r.registerComponentModel(att),r.registerComponentView(utt),ys("saveAsImage",ctt),ys("magicType",dtt),ys("dataView",Att),ys("dataZoom",Ftt),ys("restore",Ptt),Lt(ntt)}var Wtt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="tooltip",t.dependencies=["axisPointer"],t.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},t}(Bt);const $tt=Wtt;function SO(r){var t=r.get("confine");return t!=null?!!t:r.get("renderMode")==="richText"}function xO(r){if(zt.domSupported){for(var t=document.documentElement.style,e=0,n=r.length;e-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=a==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=a==="top"?225:45)+"deg)");var f=u*Math.PI/180,c=o+i,h=c*Math.abs(Math.cos(f))+c*Math.abs(Math.sin(f)),v=Math.round(((h-Math.SQRT2*i)/2+Math.SQRT2*i-(h-c)/2)*100)/100;s+=";"+a+":-"+v+"px";var d=t+" solid "+i+"px;",p=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+d,"border-right:"+d,"background-color:"+n+";"];return'
'}function jtt(r,t){var e="cubic-bezier(0.23,1,0.32,1)",n=" "+r/2+"s "+e,i="opacity"+n+",visibility"+n;return t||(n=" "+r+"s "+e,i+=zt.transformSupported?","+J1+n:",left"+n+",top"+n),Ztt+":"+i}function cM(r,t,e){var n=r.toFixed(0)+"px",i=t.toFixed(0)+"px";if(!zt.transformSupported)return e?"top:"+i+";left:"+n+";":[["top",i],["left",n]];var a=zt.transform3dSupported,o="translate"+(a?"3d":"")+"("+n+","+i+(a?",0":"")+")";return e?"top:0;left:0;"+J1+":"+o+";":[["top",0],["left",0],[bO,o]]}function Jtt(r){var t=[],e=r.get("fontSize"),n=r.getTextColor();n&&t.push("color:"+n),t.push("font:"+r.getFont());var i=xt(r.get("lineHeight"),Math.round(e*3/2));e&&t.push("line-height:"+i+"px");var a=r.get("textShadowColor"),o=r.get("textShadowBlur")||0,s=r.get("textShadowOffsetX")||0,l=r.get("textShadowOffsetY")||0;return a&&o&&t.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),M(["decoration","align"],function(u){var f=r.get(u);f&&t.push("text-"+u+":"+f)}),t.join(";")}function Qtt(r,t,e){var n=[],i=r.get("transitionDuration"),a=r.get("backgroundColor"),o=r.get("shadowBlur"),s=r.get("shadowColor"),l=r.get("shadowOffsetX"),u=r.get("shadowOffsetY"),f=r.getModel("textStyle"),c=D2(r,"html"),h=l+"px "+u+"px "+o+"px "+s;return n.push("box-shadow:"+h),t&&i&&n.push(jtt(i,e)),a&&n.push("background-color:"+a),M(["width","color","radius"],function(v){var d="border-"+v,p=YP(d),g=r.get(p);g!=null&&n.push(d+":"+g+(v==="color"?"":"px"))}),n.push(Jtt(f)),c!=null&&n.push("padding:"+nl(c).join("px ")+"px"),n.join(";")+";"}function hM(r,t,e,n,i){var a=t&&t.painter;if(e){var o=a&&a.getViewportRoot();o&&C5(r,o,e,n,i)}else{r[0]=n,r[1]=i;var s=a&&a.getViewportRootOffset();s&&(r[0]+=s.offsetLeft,r[1]+=s.offsetTop)}r[2]=r[0]/t.getWidth(),r[3]=r[1]/t.getHeight()}var tet=function(){function r(t,e){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,zt.wxa)return null;var n=document.createElement("div");n.domBelongToZr=!0,this.el=n;var i=this._zr=t.getZr(),a=e.appendTo,o=a&&(nt(a)?document.querySelector(a):zs(a)?a:vt(a)&&a(t.getDom()));hM(this._styleCoord,i,o,t.getWidth()/2,t.getHeight()/2),(o||t.getDom()).appendChild(n),this._api=t,this._container=o;var s=this;n.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},n.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=i.handler,f=i.painter.getViewportRoot();Or(f,l,!0),u.dispatch("mousemove",l)}},n.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return r.prototype.update=function(t){if(!this._container){var e=this._api.getDom(),n=Ytt(e,"position"),i=e.style;i.position!=="absolute"&&n!=="absolute"&&(i.position="relative")}var a=t.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this.el.className=t.get("className")||""},r.prototype.show=function(t,e){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var n=this.el,i=n.style,a=this._styleCoord;n.innerHTML?i.cssText=Xtt+Qtt(t,!this._firstShow,this._longHide)+cM(a[0],a[1],!0)+("border-color:"+Io(e)+";")+(t.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):i.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},r.prototype.setContent=function(t,e,n,i,a){var o=this.el;if(t==null){o.innerHTML="";return}var s="";if(nt(a)&&n.get("trigger")==="item"&&!SO(n)&&(s=Ktt(n,i,a)),nt(t))o.innerHTML=t+s;else if(t){o.innerHTML="",Y(t)||(t=[t]);for(var l=0;l=0?this._tryShow(a,o):i==="leave"&&this._hide(o))},this))},t.prototype._keepShow=function(){var e=this._tooltipModel,n=this._ecModel,i=this._api,a=e.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!i.isDisposed()&&o.manuallyShowTip(e,n,i,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},t.prototype.manuallyShowTip=function(e,n,i,a){if(!(a.from===this.uid||zt.node||!i.getDom())){var o=pM(a,i);this._ticket="";var s=a.dataByCoordSys,l=fet(a,n,i);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var f=iet;f.x=a.x,f.y=a.y,f.update(),St(f).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:f},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(e,n,i,a))return;var c=sO(a,n),h=c.point[0],v=c.point[1];h!=null&&v!=null&&this._tryShow({offsetX:h,offsetY:v,target:c.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(i.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:i.getZr().findHover(a.x,a.y).target},o))}},t.prototype.manuallyHideTip=function(e,n,i,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(pM(a,i))},t.prototype._manuallyAxisShowTip=function(e,n,i,a){var o=a.seriesIndex,s=a.dataIndex,l=n.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=n.getSeriesByIndex(o);if(u){var f=u.getData(),c=Hl([f.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(c.get("trigger")==="axis")return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},t.prototype._tryShow=function(e,n){var i=e.target,a=this._tooltipModel;if(a){this._lastX=e.offsetX,this._lastY=e.offsetY;var o=e.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,e);else if(i){var s=St(i);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;so(i,function(f){if(St(f).dataIndex!=null)return l=f,!0;if(St(f).tooltipConfig!=null)return u=f,!0},!0),l?this._showSeriesItemTooltip(e,l,n):u?this._showComponentItemTooltip(e,u,n):this._hide(n)}else this._lastDataByCoordSys=null,this._hide(n)}},t.prototype._showOrMove=function(e,n){var i=e.get("showDelay");n=at(n,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(n,i):n()},t.prototype._showAxisTooltip=function(e,n){var i=this._ecModel,a=this._tooltipModel,o=[n.offsetX,n.offsetY],s=Hl([n.tooltipOption],a),l=this._renderMode,u=[],f=Ie("section",{blocks:[],noHeader:!0}),c=[],h=new Vp;M(e,function(m){M(m.dataByAxis,function(_){var S=i.getComponent(_.axisDim+"Axis",_.axisIndex),x=_.value;if(!(!S||x==null)){var b=nO(x,S.axis,i,_.seriesDataIndices,_.valueLabelOpt),w=Ie("section",{header:b,noHeader:!an(b),sortBlocks:!0,blocks:[]});f.blocks.push(w),M(_.seriesDataIndices,function(T){var A=i.getSeriesByIndex(T.seriesIndex),C=T.dataIndexInside,D=A.getDataParams(C);if(!(D.dataIndex<0)){D.axisDim=_.axisDim,D.axisIndex=_.axisIndex,D.axisType=_.axisType,D.axisId=_.axisId,D.axisValue=j_(S.axis,{value:x}),D.axisValueLabel=b,D.marker=h.makeTooltipMarker("item",Io(D.color),l);var I=Qb(A.formatTooltip(C,!0,null)),L=I.frag;if(L){var P=Hl([A],a).get("valueFormatter");w.blocks.push(P?F({valueFormatter:P},L):L)}I.text&&c.push(I.text),u.push(D)}})}})}),f.blocks.reverse(),c.reverse();var v=n.position,d=s.get("order"),p=aw(f,h,l,d,i.get("useUTC"),s.get("textStyle"));p&&c.unshift(p);var g=l==="richText"?` +`),meta:t.meta}}function xv(r){return r.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Stt(r){var t=r.slice(0,r.indexOf(` +`));if(t.indexOf(Ks)>=0)return!0}var u0=new RegExp("["+Ks+"]+","g");function xtt(r){for(var t=r.split(/\n+/g),e=xv(t.shift()).split(u0),n=[],i=Z(e,function(l){return{name:l,data:[]}}),a=0;a=0;a--){var o=e[a];if(o[i])break}if(a<0){var s=r.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(s){var l=s.getPercentRange();e[0][i]={dataZoomId:i,start:l[0],end:l[1]}}}}),e.push(t)}function Dtt(r){var t=J1(r),e=t[t.length-1];t.length>1&&t.pop();var n={};return mO(e,function(i,a){for(var o=t.length-1;o>=0;o--)if(i=t[o][a],i){n[a]=i;break}}),n}function Itt(r){_O(r).snapshots=null}function Ltt(r){return J1(r).length}function J1(r){var t=_O(r);return t.snapshots||(t.snapshots=[{}]),t.snapshots}var Ptt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.onclick=function(e,n){Itt(e),n.dispatchAction({type:"restore",from:this.uid})},t.getDefaultOption=function(e){var n={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:e.getLocaleModel().get(["toolbox","restore","title"])};return n},t}(Fr);qn({type:"restore",event:"restore",update:"prepareAndUpdate"},function(r,t){t.resetOption("recreate")});const Rtt=Ptt;var Ett=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],ktt=function(){function r(t,e,n){var i=this;this._targetInfoList=[];var a=oM(e,t);M(Ott,function(o,s){(!n||!n.include||Dt(n.include,s)>=0)&&o(a,i._targetInfoList)})}return r.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,function(n,i,a){if((n.coordRanges||(n.coordRanges=[])).push(i),!n.coordRange){n.coordRange=i;var o=ry[n.brushType](0,a,i);n.__rangeOffset={offset:fM[n.brushType](o.values,n.range,[1,1]),xyMinMax:o.xyMinMax}}}),t},r.prototype.matchOutputRanges=function(t,e,n){M(t,function(i){var a=this.findTargetInfo(i,e);a&&a!==!0&&M(a.coordSyses,function(o){var s=ry[i.brushType](1,o,i.range,!0);n(i,s.values,o,e)})},this)},r.prototype.setInputRanges=function(t,e){M(t,function(n){var i=this.findTargetInfo(n,e);if(n.range=n.range||[],i&&i!==!0){n.panelId=i.panelId;var a=ry[n.brushType](0,i.coordSys,n.coordRange),o=n.__rangeOffset;n.range=o?fM[n.brushType](a.values,o.offset,Ntt(a.xyMinMax,o.xyMinMax)):a.values}},this)},r.prototype.makePanelOpts=function(t,e){return Z(this._targetInfoList,function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:Ck(i),isTargetByCursor:Dk(i,t,n.coordSysModel),getLinearBrushOtherExtent:Mk(i)}})},r.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return i===!0||i&&Dt(i.coordSyses,e.coordinateSystem)>=0},r.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=oM(e,t),a=0;ar[1]&&r.reverse(),r}function oM(r,t){return bu(r,t,{includeMainTypes:Ett})}var Ott={grid:function(r,t){var e=r.xAxisModels,n=r.yAxisModels,i=r.gridModels,a=ft(),o={},s={};!e&&!n&&!i||(M(e,function(l){var u=l.axis.grid.model;a.set(u.id,u),o[u.id]=!0}),M(n,function(l){var u=l.axis.grid.model;a.set(u.id,u),s[u.id]=!0}),M(i,function(l){a.set(l.id,l),o[l.id]=!0,s[l.id]=!0}),a.each(function(l){var u=l.coordinateSystem,f=[];M(u.getCartesians(),function(c,h){(Dt(e,c.getAxis("x").model)>=0||Dt(n,c.getAxis("y").model)>=0)&&f.push(c)}),t.push({panelId:"grid--"+l.id,gridModel:l,coordSysModel:l,coordSys:f[0],coordSyses:f,getPanelRect:lM.grid,xAxisDeclared:o[l.id],yAxisDeclared:s[l.id]})}))},geo:function(r,t){M(r.geoModels,function(e){var n=e.coordinateSystem;t.push({panelId:"geo--"+e.id,geoModel:e,coordSysModel:e,coordSys:n,coordSyses:[n],getPanelRect:lM.geo})})}},sM=[function(r,t){var e=r.xAxisModel,n=r.yAxisModel,i=r.gridModel;return!i&&e&&(i=e.axis.grid.model),!i&&n&&(i=n.axis.grid.model),i&&i===t.gridModel},function(r,t){var e=r.geoModel;return e&&e===t.geoModel}],lM={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var r=this.coordSys,t=r.getBoundingRect().clone();return t.applyTransform(bo(r)),t}},ry={lineX:bt(uM,0),lineY:bt(uM,1),rect:function(r,t,e,n){var i=r?t.pointToData([e[0][0],e[1][0]],n):t.dataToPoint([e[0][0],e[1][0]],n),a=r?t.pointToData([e[0][1],e[1][1]],n):t.dataToPoint([e[0][1],e[1][1]],n),o=[f0([i[0],a[0]]),f0([i[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(r,t,e,n){var i=[[1/0,-1/0],[1/0,-1/0]],a=Z(e,function(o){var s=r?t.pointToData(o,n):t.dataToPoint(o,n);return i[0][0]=Math.min(i[0][0],s[0]),i[1][0]=Math.min(i[1][0],s[1]),i[0][1]=Math.max(i[0][1],s[0]),i[1][1]=Math.max(i[1][1],s[1]),s});return{values:a,xyMinMax:i}}};function uM(r,t,e,n){var i=e.getAxis(["x","y"][r]),a=f0(Z([0,1],function(s){return t?i.coordToData(i.toLocalCoord(n[s]),!0):i.toGlobalCoord(i.dataToCoord(n[s]))})),o=[];return o[r]=a,o[1-r]=[NaN,NaN],{values:a,xyMinMax:o}}var fM={lineX:bt(cM,0),lineY:bt(cM,1),rect:function(r,t,e){return[[r[0][0]-e[0]*t[0][0],r[0][1]-e[0]*t[0][1]],[r[1][0]-e[1]*t[1][0],r[1][1]-e[1]*t[1][1]]]},polygon:function(r,t,e){return Z(r,function(n,i){return[n[0]-e[0]*t[i][0],n[1]-e[1]*t[i][1]]})}};function cM(r,t,e,n){return[t[0]-n[r]*e[0],t[1]-n[r]*e[1]]}function Ntt(r,t){var e=hM(r),n=hM(t),i=[e[0]/n[0],e[1]/n[1]];return isNaN(i[0])&&(i[0]=1),isNaN(i[1])&&(i[1]=1),i}function hM(r){return r?[r[0][1]-r[0][0],r[1][1]-r[1][0]]:[NaN,NaN]}const Q1=ktt;var c0=M,Vtt=iF("toolbox-dataZoom_"),Btt=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.render=function(e,n,i,a){this._brushController||(this._brushController=new P1(i.getZr()),this._brushController.on("brush",at(this._onBrush,this)).mount()),Ftt(e,n,this,a,i),Gtt(e,n)},t.prototype.onclick=function(e,n,i){ztt[i].call(this)},t.prototype.remove=function(e,n){this._brushController&&this._brushController.unmount()},t.prototype.dispose=function(e,n){this._brushController&&this._brushController.dispose()},t.prototype._onBrush=function(e){var n=e.areas;if(!e.isEnd||!n.length)return;var i={},a=this.ecModel;this._brushController.updateCovers([]);var o=new Q1(tS(this.model),a,{include:["grid"]});o.matchOutputRanges(n,a,function(u,f,c){if(c.type==="cartesian2d"){var h=u.brushType;h==="rect"?(s("x",c,f[0]),s("y",c,f[1])):s({lineX:"x",lineY:"y"}[h],c,f)}}),Mtt(a,i),this._dispatchZoomAction(i);function s(u,f,c){var h=f.getAxis(u),v=h.model,d=l(u,v,a),p=d.findRepresentativeAxisProxy(v).getMinMaxSpan();(p.minValueSpan!=null||p.maxValueSpan!=null)&&(c=Wo(0,c.slice(),h.scale.getExtent(),0,p.minValueSpan,p.maxValueSpan)),d&&(i[d.id]={dataZoomId:d.id,startValue:c[0],endValue:c[1]})}function l(u,f,c){var h;return c.eachComponent({mainType:"dataZoom",subType:"select"},function(v){var d=v.getAxisModel(u,f.componentIndex);d&&(h=v)}),h}},t.prototype._dispatchZoomAction=function(e){var n=[];c0(e,function(i,a){n.push(mt(i))}),n.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:n})},t.getDefaultOption=function(e){var n={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:e.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return n},t}(Fr),ztt={zoom:function(){var r=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:r})},back:function(){this._dispatchZoomAction(Dtt(this.ecModel))}};function tS(r){var t={xAxisIndex:r.get("xAxisIndex",!0),yAxisIndex:r.get("yAxisIndex",!0),xAxisId:r.get("xAxisId",!0),yAxisId:r.get("yAxisId",!0)};return t.xAxisIndex==null&&t.xAxisId==null&&(t.xAxisIndex="all"),t.yAxisIndex==null&&t.yAxisId==null&&(t.yAxisIndex="all"),t}function Gtt(r,t){r.setIconStatus("back",Ltt(t)>1?"emphasis":"normal")}function Ftt(r,t,e,n,i){var a=e._isZoomActive;n&&n.type==="takeGlobalCursor"&&(a=n.key==="dataZoomSelect"?n.dataZoomSelectActive:!1),e._isZoomActive=a,r.setIconStatus("zoom",a?"emphasis":"normal");var o=new Q1(tS(r),t,{include:["grid"]}),s=o.makePanelOpts(i,function(l){return l.xAxisDeclared&&!l.yAxisDeclared?"lineX":!l.xAxisDeclared&&l.yAxisDeclared?"lineY":"rect"});e._brushController.setPanels(s).enableBrush(a&&s.length?{brushType:"auto",brushStyle:r.getModel("brushStyle").getItemStyle()}:!1)}BH("dataZoom",function(r){var t=r.getComponent("toolbox",0),e=["feature","dataZoom"];if(!t||t.get(e)==null)return;var n=t.getModel(e),i=[],a=tS(n),o=bu(r,a);c0(o.xAxisModels,function(l){return s(l,"xAxis","xAxisIndex")}),c0(o.yAxisModels,function(l){return s(l,"yAxis","yAxisIndex")});function s(l,u,f){var c=l.componentIndex,h={type:"select",$fromToolbox:!0,filterMode:n.get("filterMode",!0)||"filter",id:Vtt+u+c};h[f]=c,i.push(h)}return i});const Htt=Btt;function Wtt(r){r.registerComponentModel(ott),r.registerComponentView(ftt),_s("saveAsImage",htt),_s("magicType",ptt),_s("dataView",Ctt),_s("dataZoom",Htt),_s("restore",Rtt),Lt(itt)}var $tt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="tooltip",t.dependencies=["axisPointer"],t.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},t}(Bt);const Utt=$tt;function SO(r){var t=r.get("confine");return t!=null?!!t:r.get("renderMode")==="richText"}function xO(r){if(zt.domSupported){for(var t=document.documentElement.style,e=0,n=r.length;e-1?(s+="top:50%",l+="translateY(-50%) rotate("+(u=a==="left"?-225:-45)+"deg)"):(s+="left:50%",l+="translateX(-50%) rotate("+(u=a==="top"?225:45)+"deg)");var f=u*Math.PI/180,c=o+i,h=c*Math.abs(Math.cos(f))+c*Math.abs(Math.sin(f)),v=Math.round(((h-Math.SQRT2*i)/2+Math.SQRT2*i-(h-c)/2)*100)/100;s+=";"+a+":-"+v+"px";var d=t+" solid "+i+"px;",p=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+l+";","border-bottom:"+d,"border-right:"+d,"background-color:"+n+";"];return'
'}function Jtt(r,t){var e="cubic-bezier(0.23,1,0.32,1)",n=" "+r/2+"s "+e,i="opacity"+n+",visibility"+n;return t||(n=" "+r+"s "+e,i+=zt.transformSupported?","+eS+n:",left"+n+",top"+n),Xtt+":"+i}function vM(r,t,e){var n=r.toFixed(0)+"px",i=t.toFixed(0)+"px";if(!zt.transformSupported)return e?"top:"+i+";left:"+n+";":[["top",i],["left",n]];var a=zt.transform3dSupported,o="translate"+(a?"3d":"")+"("+n+","+i+(a?",0":"")+")";return e?"top:0;left:0;"+eS+":"+o+";":[["top",0],["left",0],[bO,o]]}function Qtt(r){var t=[],e=r.get("fontSize"),n=r.getTextColor();n&&t.push("color:"+n),t.push("font:"+r.getFont());var i=xt(r.get("lineHeight"),Math.round(e*3/2));e&&t.push("line-height:"+i+"px");var a=r.get("textShadowColor"),o=r.get("textShadowBlur")||0,s=r.get("textShadowOffsetX")||0,l=r.get("textShadowOffsetY")||0;return a&&o&&t.push("text-shadow:"+s+"px "+l+"px "+o+"px "+a),M(["decoration","align"],function(u){var f=r.get(u);f&&t.push("text-"+u+":"+f)}),t.join(";")}function tet(r,t,e){var n=[],i=r.get("transitionDuration"),a=r.get("backgroundColor"),o=r.get("shadowBlur"),s=r.get("shadowColor"),l=r.get("shadowOffsetX"),u=r.get("shadowOffsetY"),f=r.getModel("textStyle"),c=D2(r,"html"),h=l+"px "+u+"px "+o+"px "+s;return n.push("box-shadow:"+h),t&&i&&n.push(Jtt(i,e)),a&&n.push("background-color:"+a),M(["width","color","radius"],function(v){var d="border-"+v,p=YP(d),g=r.get(p);g!=null&&n.push(d+":"+g+(v==="color"?"":"px"))}),n.push(Qtt(f)),c!=null&&n.push("padding:"+al(c).join("px ")+"px"),n.join(";")+";"}function dM(r,t,e,n,i){var a=t&&t.painter;if(e){var o=a&&a.getViewportRoot();o&&M5(r,o,e,n,i)}else{r[0]=n,r[1]=i;var s=a&&a.getViewportRootOffset();s&&(r[0]+=s.offsetLeft,r[1]+=s.offsetTop)}r[2]=r[0]/t.getWidth(),r[3]=r[1]/t.getHeight()}var eet=function(){function r(t,e){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,zt.wxa)return null;var n=document.createElement("div");n.domBelongToZr=!0,this.el=n;var i=this._zr=t.getZr(),a=e.appendTo,o=a&&(nt(a)?document.querySelector(a):Fs(a)?a:vt(a)&&a(t.getDom()));dM(this._styleCoord,i,o,t.getWidth()/2,t.getHeight()/2),(o||t.getDom()).appendChild(n),this._api=t,this._container=o;var s=this;n.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},n.onmousemove=function(l){if(l=l||window.event,!s._enterable){var u=i.handler,f=i.painter.getViewportRoot();Or(f,l,!0),u.dispatch("mousemove",l)}},n.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return r.prototype.update=function(t){if(!this._container){var e=this._api.getDom(),n=Ztt(e,"position"),i=e.style;i.position!=="absolute"&&n!=="absolute"&&(i.position="relative")}var a=t.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this.el.className=t.get("className")||""},r.prototype.show=function(t,e){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var n=this.el,i=n.style,a=this._styleCoord;n.innerHTML?i.cssText=qtt+tet(t,!this._firstShow,this._longHide)+vM(a[0],a[1],!0)+("border-color:"+Po(e)+";")+(t.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):i.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},r.prototype.setContent=function(t,e,n,i,a){var o=this.el;if(t==null){o.innerHTML="";return}var s="";if(nt(a)&&n.get("trigger")==="item"&&!SO(n)&&(s=jtt(n,i,a)),nt(t))o.innerHTML=t+s;else if(t){o.innerHTML="",Y(t)||(t=[t]);for(var l=0;l=0?this._tryShow(a,o):i==="leave"&&this._hide(o))},this))},t.prototype._keepShow=function(){var e=this._tooltipModel,n=this._ecModel,i=this._api,a=e.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!i.isDisposed()&&o.manuallyShowTip(e,n,i,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},t.prototype.manuallyShowTip=function(e,n,i,a){if(!(a.from===this.uid||zt.node||!i.getDom())){var o=yM(a,i);this._ticket="";var s=a.dataByCoordSys,l=cet(a,n,i);if(l){var u=l.el.getBoundingRect().clone();u.applyTransform(l.el.transform),this._tryShow({offsetX:u.x+u.width/2,offsetY:u.y+u.height/2,target:l.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var f=aet;f.x=a.x,f.y=a.y,f.update(),St(f).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:f},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(e,n,i,a))return;var c=sO(a,n),h=c.point[0],v=c.point[1];h!=null&&v!=null&&this._tryShow({offsetX:h,offsetY:v,target:c.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(i.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:i.getZr().findHover(a.x,a.y).target},o))}},t.prototype.manuallyHideTip=function(e,n,i,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(yM(a,i))},t.prototype._manuallyAxisShowTip=function(e,n,i,a){var o=a.seriesIndex,s=a.dataIndex,l=n.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||l==null)){var u=n.getSeriesByIndex(o);if(u){var f=u.getData(),c=$l([f.getItemModel(s),u,(u.coordinateSystem||{}).model],this._tooltipModel);if(c.get("trigger")==="axis")return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},t.prototype._tryShow=function(e,n){var i=e.target,a=this._tooltipModel;if(a){this._lastX=e.offsetX,this._lastY=e.offsetY;var o=e.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,e);else if(i){var s=St(i);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var l,u;uo(i,function(f){if(St(f).dataIndex!=null)return l=f,!0;if(St(f).tooltipConfig!=null)return u=f,!0},!0),l?this._showSeriesItemTooltip(e,l,n):u?this._showComponentItemTooltip(e,u,n):this._hide(n)}else this._lastDataByCoordSys=null,this._hide(n)}},t.prototype._showOrMove=function(e,n){var i=e.get("showDelay");n=at(n,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(n,i):n()},t.prototype._showAxisTooltip=function(e,n){var i=this._ecModel,a=this._tooltipModel,o=[n.offsetX,n.offsetY],s=$l([n.tooltipOption],a),l=this._renderMode,u=[],f=Ie("section",{blocks:[],noHeader:!0}),c=[],h=new Gp;M(e,function(m){M(m.dataByAxis,function(_){var S=i.getComponent(_.axisDim+"Axis",_.axisIndex),x=_.value;if(!(!S||x==null)){var b=nO(x,S.axis,i,_.seriesDataIndices,_.valueLabelOpt),w=Ie("section",{header:b,noHeader:!an(b),sortBlocks:!0,blocks:[]});f.blocks.push(w),M(_.seriesDataIndices,function(T){var A=i.getSeriesByIndex(T.seriesIndex),C=T.dataIndexInside,D=A.getDataParams(C);if(!(D.dataIndex<0)){D.axisDim=_.axisDim,D.axisIndex=_.axisIndex,D.axisType=_.axisType,D.axisId=_.axisId,D.axisValue=t1(S.axis,{value:x}),D.axisValueLabel=b,D.marker=h.makeTooltipMarker("item",Po(D.color),l);var I=ew(A.formatTooltip(C,!0,null)),L=I.frag;if(L){var P=$l([A],a).get("valueFormatter");w.blocks.push(P?F({valueFormatter:P},L):L)}I.text&&c.push(I.text),u.push(D)}})}})}),f.blocks.reverse(),c.reverse();var v=n.position,d=s.get("order"),p=sw(f,h,l,d,i.get("useUTC"),s.get("textStyle"));p&&c.unshift(p);var g=l==="richText"?` -`:"
",y=c.join(g);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(e,u)?this._updatePosition(s,v,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,y,u,Math.random()+"",o[0],o[1],v,null,h)})},t.prototype._showSeriesItemTooltip=function(e,n,i){var a=this._ecModel,o=St(n),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,c=o.dataType,h=u.getData(c),v=this._renderMode,d=e.positionDefault,p=Hl([h.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),g=p.get("trigger");if(!(g!=null&&g!=="item")){var y=u.getDataParams(f,c),m=new Vp;y.marker=m.makeTooltipMarker("item",Io(y.color),v);var _=Qb(u.formatTooltip(f,!1,c)),S=p.get("order"),x=p.get("valueFormatter"),b=_.frag,w=b?aw(x?F({valueFormatter:x},b):b,m,v,S,a.get("useUTC"),p.get("textStyle")):_.text,T="item_"+u.name+"_"+f;this._showOrMove(p,function(){this._showTooltipContent(p,w,y,T,e.offsetX,e.offsetY,e.position,e.target,m)}),i({type:"showTip",dataIndexInside:f,dataIndex:h.getRawIndex(f),seriesIndex:s,from:this.uid})}},t.prototype._showComponentItemTooltip=function(e,n,i){var a=this._renderMode==="html",o=St(n),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(nt(l)){var f=l;l={content:f,formatter:f},u=!0}u&&a&&l.content&&(l=mt(l),l.content=qe(l.content));var c=[l],h=this._ecModel.getComponent(o.componentMainType,o.componentIndex);h&&c.push(h),c.push({formatter:l.content});var v=e.positionDefault,d=Hl(c,this._tooltipModel,v?{position:v}:null),p=d.get("content"),g=Math.random()+"",y=new Vp;this._showOrMove(d,function(){var m=mt(d.get("formatterParams")||{});this._showTooltipContent(d,p,m,g,e.offsetX,e.offsetY,e.position,n,y)}),i({type:"showTip",from:this.uid})},t.prototype._showTooltipContent=function(e,n,i,a,o,s,l,u,f){if(this._ticket="",!(!e.get("showContent")||!e.get("show"))){var c=this._tooltipContent;c.setEnterable(e.get("enterable"));var h=e.get("formatter");l=l||e.get("position");var v=n,d=this._getNearestPoint([o,s],i,e.get("trigger"),e.get("borderColor")),p=d.color;if(h)if(nt(h)){var g=e.ecModel.get("useUTC"),y=Y(i)?i[0]:i,m=y&&y.axisType&&y.axisType.indexOf("time")>=0;v=h,m&&(v=sd(y.axisValue,v,g)),v=ZP(v,i,!0)}else if(vt(h)){var _=at(function(S,x){S===this._ticket&&(c.setContent(x,f,e,p,l),this._updatePosition(e,l,o,s,c,i,u))},this);this._ticket=a,v=h(i,a,_)}else v=h;c.setContent(v,f,e,p,l),c.show(e,p),this._updatePosition(e,l,o,s,c,i,u)}},t.prototype._getNearestPoint=function(e,n,i,a){if(i==="axis"||Y(n))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!Y(n))return{color:a||n.color||n.borderColor}},t.prototype._updatePosition=function(e,n,i,a,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();n=n||e.get("position");var c=o.getSize(),h=e.get("align"),v=e.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),vt(n)&&(n=n([i,a],s,o.el,d,{viewSize:[u,f],contentSize:c.slice()})),Y(n))i=et(n[0],u),a=et(n[1],f);else if(yt(n)){var p=n;p.width=c[0],p.height=c[1];var g=be(p,{width:u,height:f});i=g.x,a=g.y,h=null,v=null}else if(nt(n)&&l){var y=uet(n,d,c,e.get("borderWidth"));i=y[0],a=y[1]}else{var y=oet(i,a,o,u,f,h?null:20,v?null:20);i=y[0],a=y[1]}if(h&&(i-=gM(h)?c[0]/2:h==="right"?c[0]:0),v&&(a-=gM(v)?c[1]/2:v==="bottom"?c[1]:0),SO(e)){var y=set(i,a,o,u,f);i=y[0],a=y[1]}o.moveTo(i,a)},t.prototype._updateContentNotChangedOnAxis=function(e,n){var i=this._lastDataByCoordSys,a=this._cbParamsList,o=!!i&&i.length===e.length;return o&&M(i,function(s,l){var u=s.dataByAxis||[],f=e[l]||{},c=f.dataByAxis||[];o=o&&u.length===c.length,o&&M(u,function(h,v){var d=c[v]||{},p=h.seriesDataIndices||[],g=d.seriesDataIndices||[];o=o&&h.value===d.value&&h.axisType===d.axisType&&h.axisId===d.axisId&&p.length===g.length,o&&M(p,function(y,m){var _=g[m];o=o&&y.seriesIndex===_.seriesIndex&&y.dataIndex===_.dataIndex}),a&&M(h.seriesDataIndices,function(y){var m=y.seriesIndex,_=n[m],S=a[m];_&&S&&S.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=e,this._cbParamsList=n,!!o},t.prototype._hide=function(e){this._lastDataByCoordSys=null,e({type:"hideTip",from:this.uid})},t.prototype.dispose=function(e,n){zt.node||!n.getDom()||(ju(this,"_updatePosition"),this._tooltipContent.dispose(),n0("itemTooltip",n))},t.type="tooltip",t}(fe);function Hl(r,t,e){var n=t.ecModel,i;e?(i=new te(e,n,n),i=new te(t.option,i,n)):i=t;for(var a=r.length-1;a>=0;a--){var o=r[a];o&&(o instanceof te&&(o=o.get("tooltip",!0)),nt(o)&&(o={formatter:o}),o&&(i=new te(o,i,n)))}return i}function pM(r,t){return r.dispatchAction||at(t.dispatchAction,t)}function oet(r,t,e,n,i,a,o){var s=e.getSize(),l=s[0],u=s[1];return a!=null&&(r+l+a+2>n?r-=l+a:r+=a),o!=null&&(t+u+o>i?t-=u+o:t+=o),[r,t]}function set(r,t,e,n,i){var a=e.getSize(),o=a[0],s=a[1];return r=Math.min(r+o,n)-o,t=Math.min(t+s,i)-s,r=Math.max(r,0),t=Math.max(t,0),[r,t]}function uet(r,t,e,n){var i=e[0],a=e[1],o=Math.ceil(Math.SQRT2*n)+8,s=0,l=0,u=t.width,f=t.height;switch(r){case"inside":s=t.x+u/2-i/2,l=t.y+f/2-a/2;break;case"top":s=t.x+u/2-i/2,l=t.y-a-o;break;case"bottom":s=t.x+u/2-i/2,l=t.y+f+o;break;case"left":s=t.x-i-o,l=t.y+f/2-a/2;break;case"right":s=t.x+u+o,l=t.y+f/2-a/2}return[s,l]}function gM(r){return r==="center"||r==="middle"}function fet(r,t,e){var n=s_(r).queryOptionMap,i=n.keys()[0];if(!(!i||i==="series")){var a=Sf(t,i,n.get(i),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=e.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var f=St(u).tooltipConfig;if(f&&f.name===r.name)return l=u,!0}),l)return{componentMainType:i,componentIndex:o.componentIndex,el:l}}}}const cet=aet;function het(r){Lt(Vf),r.registerComponentModel($tt),r.registerComponentView(cet),r.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},de),r.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},de)}var vet=["rect","polygon","keep","clear"];function det(r,t){var e=Zt(r?r.brush:[]);if(e.length){var n=[];M(e,function(l){var u=l.hasOwnProperty("toolbox")?l.toolbox:[];u instanceof Array&&(n=n.concat(u))});var i=r&&r.toolbox;Y(i)&&(i=i[0]),i||(i={feature:{}},r.toolbox=[i]);var a=i.feature||(i.feature={}),o=a.brush||(a.brush={}),s=o.type||(o.type=[]);s.push.apply(s,n),pet(s),t&&!s.length&&s.push.apply(s,vet)}}function pet(r){var t={};M(r,function(e){t[e]=1}),r.length=0,M(t,function(e,n){r.push(n)})}var yM=M;function mM(r){if(r){for(var t in r)if(r.hasOwnProperty(t))return!0}}function u0(r,t,e){var n={};return yM(t,function(a){var o=n[a]=i();yM(r[a],function(s,l){if(ze.isValidType(l)){var u={type:l,visual:s};e&&e(u,a),o[l]=new ze(u),l==="opacity"&&(u=mt(u),u.type="colorAlpha",o.__hidden.__alphaForOpacity=new ze(u))}})}),n;function i(){var a=function(){};a.prototype.__hidden=a.prototype;var o=new a;return o}}function TO(r,t,e){var n;M(e,function(i){t.hasOwnProperty(i)&&mM(t[i])&&(n=!0)}),n&&M(e,function(i){t.hasOwnProperty(i)&&mM(t[i])?r[i]=mt(t[i]):delete r[i]})}function get(r,t,e,n,i,a){var o={};M(r,function(c){var h=ze.prepareVisualTypes(t[c]);o[c]=h});var s;function l(c){return z_(e,s,c)}function u(c,h){B2(e,s,c,h)}a==null?e.each(f):e.each([a],f);function f(c,h){s=a==null?c:h;var v=e.getRawDataItem(s);if(!(v&&v.visualMap===!1))for(var d=n.call(i,c),p=t[d],g=o[d],y=0,m=g.length;yt[0][1]&&(t[0][1]=a[0]),a[1]t[1][1]&&(t[1][1]=a[1])}return t&&wM(t)}};function wM(r){return new Mt(r[0][0],r[1][0],r[0][1]-r[0][0],r[1][1]-r[1][0])}var Aet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){this.ecModel=e,this.api=n,this.model,(this._brushController=new D1(n.getZr())).on("brush",at(this._onBrush,this)).mount()},t.prototype.render=function(e,n,i,a){this.model=e,this._updateController(e,n,i,a)},t.prototype.updateTransform=function(e,n,i,a){AO(n),this._updateController(e,n,i,a)},t.prototype.updateVisual=function(e,n,i,a){this.updateTransform(e,n,i,a)},t.prototype.updateView=function(e,n,i,a){this._updateController(e,n,i,a)},t.prototype._updateController=function(e,n,i,a){(!a||a.$from!==e.id)&&this._brushController.setPanels(e.brushTargetManager.makePanelOpts(i)).enableBrush(e.brushOption).updateCovers(e.areas.slice())},t.prototype.dispose=function(){this._brushController.dispose()},t.prototype._onBrush=function(e){var n=this.model.id,i=this.model.brushTargetManager.setOutputRanges(e.areas,this.ecModel);(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:mt(i),$from:n}),e.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:n,areas:mt(i),$from:n})},t.type="brush",t}(fe);const Cet=Aet;var Met="#ddd",Det=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.areas=[],e.brushOption={},e}return t.prototype.optionUpdated=function(e,n){var i=this.option;!n&&TO(i,e,["inBrush","outOfBrush"]);var a=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:Met},a.hasOwnProperty("liftZ")||(a.liftZ=5)},t.prototype.setAreas=function(e){e&&(this.areas=Z(e,function(n){return TM(this.option,n)},this))},t.prototype.setBrushOption=function(e){this.brushOption=TM(this.option,e),this.brushType=this.brushOption.brushType},t.type="brush",t.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],t.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},t}(Bt);function TM(r,t){return Tt({brushType:r.brushType,brushMode:r.brushMode,transformable:r.transformable,brushStyle:new te(r.brushStyle).getItemStyle(),removeOnClick:r.removeOnClick,z:r.z},t,!0)}const Iet=Det;var Let=["rect","polygon","lineX","lineY","keep","clear"],Pet=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.render=function(e,n,i){var a,o,s;n.eachComponent({mainType:"brush"},function(l){a=l.brushType,o=l.brushOption.brushMode||"single",s=s||!!l.areas.length}),this._brushType=a,this._brushMode=o,M(e.get("type",!0),function(l){e.setIconStatus(l,(l==="keep"?o==="multiple":l==="clear"?s:l===a)?"emphasis":"normal")})},t.prototype.updateView=function(e,n,i){this.render(e,n,i)},t.prototype.getIcons=function(){var e=this.model,n=e.get("icon",!0),i={};return M(e.get("type",!0),function(a){n[a]&&(i[a]=n[a])}),i},t.prototype.onclick=function(e,n,i){var a=this._brushType,o=this._brushMode;i==="clear"?(n.dispatchAction({type:"axisAreaSelect",intervals:[]}),n.dispatchAction({type:"brush",command:"clear",areas:[]})):n.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:i==="keep"?a:a===i?!1:i,brushMode:i==="keep"?o==="multiple"?"single":"multiple":o}})},t.getDefaultOption=function(e){var n={show:!0,type:Let.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:e.getLocaleModel().get(["toolbox","brush","title"])};return n},t}(Fr);const Ret=Pet;function Eet(r){r.registerComponentView(Cet),r.registerComponentModel(Iet),r.registerPreprocessor(det),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,_et),r.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(n){n.setAreas(t.areas)})}),r.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},de),r.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},de),ys("brush",Ret)}var ket=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode={type:"box",ignoreSize:!0},e}return t.type="title",t.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},t}(Bt),Oet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){if(this.group.removeAll(),!!e.get("show")){var a=this.group,o=e.getModel("textStyle"),s=e.getModel("subtextStyle"),l=e.get("textAlign"),u=xt(e.get("textBaseline"),e.get("textVerticalAlign")),f=new Gt({style:Qt(o,{text:e.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),c=f.getBoundingRect(),h=e.get("subtext"),v=new Gt({style:Qt(s,{text:h,fill:s.getTextColor(),y:c.height+e.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),d=e.get("link"),p=e.get("sublink"),g=e.get("triggerEvent",!0);f.silent=!d&&!g,v.silent=!p&&!g,d&&f.on("click",function(){Xh(d,"_"+e.get("target"))}),p&&v.on("click",function(){Xh(p,"_"+e.get("subtarget"))}),St(f).eventData=St(v).eventData=g?{componentType:"title",componentIndex:e.componentIndex}:null,a.add(f),h&&a.add(v);var y=a.getBoundingRect(),m=e.getBoxLayoutParams();m.width=y.width,m.height=y.height;var _=be(m,{width:i.getWidth(),height:i.getHeight()},e.get("padding"));l||(l=e.get("left")||e.get("right"),l==="middle"&&(l="center"),l==="right"?_.x+=_.width:l==="center"&&(_.x+=_.width/2)),u||(u=e.get("top")||e.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?_.y+=_.height:u==="middle"&&(_.y+=_.height/2),u=u||"top"),a.x=_.x,a.y=_.y,a.markRedraw();var S={align:l,verticalAlign:u};f.setStyle(S),v.setStyle(S),y=a.getBoundingRect();var x=_.margin,b=e.getItemStyle(["color","opacity"]);b.fill=e.get("backgroundColor");var w=new Vt({shape:{x:y.x-x[3],y:y.y-x[0],width:y.width+x[1]+x[3],height:y.height+x[0]+x[2],r:e.get("borderRadius")},style:b,subPixelOptimize:!0,silent:!0});a.add(w)}},t.type="title",t}(fe);function Net(r){r.registerComponentModel(ket),r.registerComponentView(Oet)}var Vet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode="box",e}return t.prototype.init=function(e,n,i){this.mergeDefaultAndTheme(e,i),this._initData()},t.prototype.mergeOption=function(e){r.prototype.mergeOption.apply(this,arguments),this._initData()},t.prototype.setCurrentIndex=function(e){e==null&&(e=this.option.currentIndex);var n=this._data.count();this.option.loop?e=(e%n+n)%n:(e>=n&&(e=n-1),e<0&&(e=0)),this.option.currentIndex=e},t.prototype.getCurrentIndex=function(){return this.option.currentIndex},t.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},t.prototype.setPlayState=function(e){this.option.autoPlay=!!e},t.prototype.getPlayState=function(){return!!this.option.autoPlay},t.prototype._initData=function(){var e=this.option,n=e.data||[],i=e.axisType,a=this._names=[],o;i==="category"?(o=[],M(n,function(u,f){var c=xe(Js(u),""),h;yt(u)?(h=mt(u),h.value=f):h=f,o.push(h),a.push(c)})):o=n;var s={category:"ordinal",time:"time",value:"number"}[i]||"number",l=this._data=new or([{name:"value",type:s}],this);l.initData(o,a)},t.prototype.getData=function(){return this._data},t.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},t.type="timeline",t.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},t}(Bt);const AM=Vet;var CO=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="timeline.slider",t.defaultOption=ga(AM.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),t}(AM);_e(CO,dd.prototype);const Bet=CO;var zet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="timeline",t}(fe);const Get=zet;var Fet=function(r){B(t,r);function t(e,n,i,a){var o=r.call(this,e,n,i)||this;return o.type=a||"value",o}return t.prototype.getLabelModel=function(){return this.model.getModel("label")},t.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},t}(yn);const Het=Fet;var ey=Math.PI,CM=Nt(),Wet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){this.api=n},t.prototype.render=function(e,n,i){if(this.model=e,this.api=i,this.ecModel=n,this.group.removeAll(),e.get("show",!0)){var a=this._layout(e,i),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),l=this._axis=this._createAxis(a,e);e.formatTooltip=function(u){var f=l.scale.getLabel({value:u});return Ie("nameValue",{noName:!0,value:f})},M(["AxisLine","AxisTick","Control","CurrentPointer"],function(u){this["_render"+u](a,o,l,e)},this),this._renderAxisLabel(a,s,l,e),this._position(a,e)}this._doPlayStop(),this._updateTicksStatus()},t.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},t.prototype.dispose=function(){this._clearTimer()},t.prototype._layout=function(e,n){var i=e.get(["label","position"]),a=e.get("orient"),o=Uet(e,n),s;i==null||i==="auto"?s=a==="horizontal"?o.y+o.height/2=0||s==="+"?"left":"right"},u={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},f={horizontal:0,vertical:ey/2},c=a==="vertical"?o.height:o.width,h=e.getModel("controlStyle"),v=h.get("show",!0),d=v?h.get("itemSize"):0,p=v?h.get("itemGap"):0,g=d+p,y=e.get(["label","rotate"])||0;y=y*ey/180;var m,_,S,x=h.get("position",!0),b=v&&h.get("showPlayBtn",!0),w=v&&h.get("showPrevBtn",!0),T=v&&h.get("showNextBtn",!0),A=0,C=c;x==="left"||x==="bottom"?(b&&(m=[0,0],A+=g),w&&(_=[A,0],A+=g),T&&(S=[C-d,0],C-=g)):(b&&(m=[C-d,0],C-=g),w&&(_=[0,0],A+=g),T&&(S=[C-d,0],C-=g));var D=[A,C];return e.get("inverse")&&D.reverse(),{viewRect:o,mainLength:c,orient:a,rotation:f[a],labelRotation:y,labelPosOpt:s,labelAlign:e.get(["label","align"])||l[a],labelBaseline:e.get(["label","verticalAlign"])||e.get(["label","baseline"])||u[a],playPosition:m,prevBtnPosition:_,nextBtnPosition:S,axisExtent:D,controlSize:d,controlGap:p}},t.prototype._position=function(e,n){var i=this._mainGroup,a=this._labelGroup,o=e.viewRect;if(e.orient==="vertical"){var s=Cr(),l=o.x,u=o.y+o.height;Hn(s,s,[-l,-u]),Eo(s,s,-ey/2),Hn(s,s,[l,u]),o=o.clone(),o.applyTransform(s)}var f=m(o),c=m(i.getBoundingRect()),h=m(a.getBoundingRect()),v=[i.x,i.y],d=[a.x,a.y];d[0]=v[0]=f[0][0];var p=e.labelPosOpt;if(p==null||nt(p)){var g=p==="+"?0:1;_(v,c,f,1,g),_(d,h,f,1,1-g)}else{var g=p>=0?0:1;_(v,c,f,1,g),d[1]=v[1]+p}i.setPosition(v),a.setPosition(d),i.rotation=a.rotation=e.rotation,y(i),y(a);function y(S){S.originX=f[0][0]-S.x,S.originY=f[1][0]-S.y}function m(S){return[[S.x,S.x+S.width],[S.y,S.y+S.height]]}function _(S,x,b,w,T){S[w]+=b[w][T]-x[w][T]}},t.prototype._createAxis=function(e,n){var i=n.getData(),a=n.get("axisType"),o=$et(n,a);o.getTicks=function(){return i.mapArray(["value"],function(u){return{value:u}})};var s=i.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var l=new Het("value",o,e.axisExtent,a);return l.model=n,l},t.prototype._createGroup=function(e){var n=this[e]=new _t;return this.group.add(n),n},t.prototype._renderAxisLine=function(e,n,i,a){var o=i.getExtent();if(a.get(["lineStyle","show"])){var s=new Ee({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:F({lineCap:"round"},a.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});n.add(s);var l=this._progressLine=new Ee({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:pt({lineCap:"round",lineWidth:s.style.lineWidth},a.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});n.add(l)}},t.prototype._renderAxisTick=function(e,n,i,a){var o=this,s=a.getData(),l=i.scale.getTicks();this._tickSymbols=[],M(l,function(u){var f=i.dataToCoord(u.value),c=s.getItemModel(u.value),h=c.getModel("itemStyle"),v=c.getModel(["emphasis","itemStyle"]),d=c.getModel(["progress","itemStyle"]),p={x:f,y:0,onclick:at(o._changeTimeline,o,u.value)},g=MM(c,h,n,p);g.ensureState("emphasis").style=v.getItemStyle(),g.ensureState("progress").style=d.getItemStyle(),_o(g);var y=St(g);c.get("tooltip")?(y.dataIndex=u.value,y.dataModel=a):y.dataIndex=y.dataModel=null,o._tickSymbols.push(g)})},t.prototype._renderAxisLabel=function(e,n,i,a){var o=this,s=i.getLabelModel();if(s.get("show")){var l=a.getData(),u=i.getViewLabels();this._tickLabels=[],M(u,function(f){var c=f.tickValue,h=l.getItemModel(c),v=h.getModel("label"),d=h.getModel(["emphasis","label"]),p=h.getModel(["progress","label"]),g=i.dataToCoord(f.tickValue),y=new Gt({x:g,y:0,rotation:e.labelRotation-e.rotation,onclick:at(o._changeTimeline,o,c),silent:!1,style:Qt(v,{text:f.formattedLabel,align:e.labelAlign,verticalAlign:e.labelBaseline})});y.ensureState("emphasis").style=Qt(d),y.ensureState("progress").style=Qt(p),n.add(y),_o(y),CM(y).dataIndex=c,o._tickLabels.push(y)})}},t.prototype._renderControl=function(e,n,i,a){var o=e.controlSize,s=e.rotation,l=a.getModel("controlStyle").getItemStyle(),u=a.getModel(["emphasis","controlStyle"]).getItemStyle(),f=a.getPlayState(),c=a.get("inverse",!0);h(e.nextBtnPosition,"next",at(this._changeTimeline,this,c?"-":"+")),h(e.prevBtnPosition,"prev",at(this._changeTimeline,this,c?"+":"-")),h(e.playPosition,f?"stop":"play",at(this._handlePlayClick,this,!f),!0);function h(v,d,p,g){if(v){var y=dn(xt(a.get(["controlStyle",d+"BtnSize"]),o),o),m=[0,-y/2,y,y],_=Yet(a,d+"Icon",m,{x:v[0],y:v[1],originX:o/2,originY:0,rotation:g?-s:0,rectHover:!0,style:l,onclick:p});_.ensureState("emphasis").style=u,n.add(_),_o(_)}}},t.prototype._renderCurrentPointer=function(e,n,i,a){var o=a.getData(),s=a.getCurrentIndex(),l=o.getItemModel(s).getModel("checkpointStyle"),u=this,f={onCreate:function(c){c.draggable=!0,c.drift=at(u._handlePointerDrag,u),c.ondragend=at(u._handlePointerDragend,u),DM(c,u._progressLine,s,i,a,!0)},onUpdate:function(c){DM(c,u._progressLine,s,i,a)}};this._currentPointer=MM(l,l,this._mainGroup,{},this._currentPointer,f)},t.prototype._handlePlayClick=function(e){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:e,from:this.uid})},t.prototype._handlePointerDrag=function(e,n,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},t.prototype._handlePointerDragend=function(e){this._pointerChangeTimeline([e.offsetX,e.offsetY],!0)},t.prototype._pointerChangeTimeline=function(e,n){var i=this._toAxisCoord(e)[0],a=this._axis,o=$r(a.getExtent().slice());i>o[1]&&(i=o[1]),i=0&&(o[a]=+o[a].toFixed(h)),[o,c]}var ry={min:bt(Fc,"min"),max:bt(Fc,"max"),average:bt(Fc,"average"),median:bt(Fc,"median")};function cf(r,t){if(t){var e=r.getData(),n=r.coordinateSystem,i=n&&n.dimensions;if(!trt(t)&&!Y(t.coord)&&Y(i)){var a=DO(t,e,n,r);if(t=mt(t),t.type&&ry[t.type]&&a.baseAxis&&a.valueAxis){var o=Dt(i,a.baseAxis.dim),s=Dt(i,a.valueAxis.dim),l=ry[t.type](e,a.baseDataDim,a.valueDataDim,o,s);t.coord=l[0],t.value=l[1]}else t.coord=[t.xAxis!=null?t.xAxis:t.radiusAxis,t.yAxis!=null?t.yAxis:t.angleAxis]}if(t.coord==null||!Y(i))t.coord=[];else for(var u=t.coord,f=0;f<2;f++)ry[u[f]]&&(u[f]=tS(e,e.mapDimension(i[f]),u[f]));return t}}function DO(r,t,e,n){var i={};return r.valueIndex!=null||r.valueDim!=null?(i.valueDataDim=r.valueIndex!=null?t.getDimension(r.valueIndex):r.valueDim,i.valueAxis=e.getAxis(ert(n,i.valueDataDim)),i.baseAxis=e.getOtherAxis(i.valueAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim)):(i.baseAxis=n.getBaseAxis(),i.valueAxis=e.getOtherAxis(i.baseAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim),i.valueDataDim=t.mapDimension(i.valueAxis.dim)),i}function ert(r,t){var e=r.getData().getDimensionInfo(t);return e&&e.coordDim}function hf(r,t){return r&&r.containData&&t.coord&&!c0(t)?r.containData(t.coord):!0}function rrt(r,t,e){return r&&r.containZone&&t.coord&&e.coord&&!c0(t)&&!c0(e)?r.containZone(t.coord,e.coord):!0}function IO(r,t){return r?function(e,n,i,a){var o=a<2?e.coord&&e.coord[a]:e.value;return ea(o,t[a])}:function(e,n,i,a){return ea(e.value,t[a])}}function tS(r,t,e){if(e==="average"){var n=0,i=0;return r.each(t,function(a,o){isNaN(a)||(n+=a,i++)}),n/i}else return e==="median"?r.getMedian(t):r.getDataExtent(t)[e==="max"?1:0]}var ny=Nt(),nrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(){this.markerGroupMap=ft()},t.prototype.render=function(e,n,i){var a=this,o=this.markerGroupMap;o.each(function(s){ny(s).keep=!1}),n.eachSeries(function(s){var l=ha.getMarkerModelFromSeries(s,a.type);l&&a.renderSeries(s,l,n,i)}),o.each(function(s){!ny(s).keep&&a.group.remove(s.group)})},t.prototype.markKeep=function(e){ny(e).keep=!0},t.prototype.toggleBlurSeries=function(e,n){var i=this;M(e,function(a){var o=ha.getMarkerModelFromSeries(a,i.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(n?eP(l):d_(l))})}})},t.type="marker",t}(fe);const eS=nrt;function LM(r,t,e){var n=t.coordinateSystem;r.each(function(i){var a=r.getItemModel(i),o,s=et(a.get("x"),e.getWidth()),l=et(a.get("y"),e.getHeight());if(!isNaN(s)&&!isNaN(l))o=[s,l];else if(t.getMarkerPosition)o=t.getMarkerPosition(r.getValues(r.dimensions,i));else if(n){var u=r.get(n.dimensions[0],i),f=r.get(n.dimensions[1],i);o=n.dataToPoint([u,f])}isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),r.setItemLayout(i,o)})}var irt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,n,i){n.eachSeries(function(a){var o=ha.getMarkerModelFromSeries(a,"markPoint");o&&(LM(o.getData(),a,i),this.markerGroupMap.get(a.id).updateLayout())},this)},t.prototype.renderSeries=function(e,n,i,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new Lf),c=art(o,e,n);n.setData(c),LM(n.getData(),e,a),c.each(function(h){var v=c.getItemModel(h),d=v.getShallow("symbol"),p=v.getShallow("symbolSize"),g=v.getShallow("symbolRotate"),y=v.getShallow("symbolOffset"),m=v.getShallow("symbolKeepAspect");if(vt(d)||vt(p)||vt(g)||vt(y)){var _=n.getRawValue(h),S=n.getDataParams(h);vt(d)&&(d=d(_,S)),vt(p)&&(p=p(_,S)),vt(g)&&(g=g(_,S)),vt(y)&&(y=y(_,S))}var x=v.getModel("itemStyle").getItemStyle(),b=Cf(l,"color");x.fill||(x.fill=b),c.setItemVisual(h,{symbol:d,symbolSize:p,symbolRotate:g,symbolOffset:y,symbolKeepAspect:m,style:x})}),f.updateData(c),this.group.add(f.group),c.eachItemGraphicEl(function(h){h.traverse(function(v){St(v).dataModel=n})}),this.markKeep(f),f.group.silent=n.get("silent")||e.get("silent")},t.type="markPoint",t}(eS);function art(r,t,e){var n;r?n=Z(r&&r.dimensions,function(s){var l=t.getData().getDimensionInfo(t.getData().mapDimension(s))||{};return F(F({},l),{name:s,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new or(n,e),a=Z(e.get("data"),bt(cf,t));r&&(a=$t(a,bt(hf,r)));var o=IO(!!r,n);return i.initData(a,null,o),i}const ort=irt;function srt(r){r.registerComponentModel(Qet),r.registerComponentView(ort),r.registerPreprocessor(function(t){Q1(t.series,"markPoint")&&(t.markPoint=t.markPoint||{})})}var lrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.createMarkerModelFromSeries=function(e,n,i){return new t(e,n,i)},t.type="markLine",t.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},t}(ha);const urt=lrt;var Hc=Nt(),frt=function(r,t,e,n){var i=r.getData(),a;if(Y(n))a=n;else{var o=n.type;if(o==="min"||o==="max"||o==="average"||o==="median"||n.xAxis!=null||n.yAxis!=null){var s=void 0,l=void 0;if(n.yAxis!=null||n.xAxis!=null)s=t.getAxis(n.yAxis!=null?"y":"x"),l=Re(n.yAxis,n.xAxis);else{var u=DO(n,i,t,r);s=u.valueAxis;var f=hR(i,u.valueDataDim);l=tS(i,f,o)}var c=s.dim==="x"?0:1,h=1-c,v=mt(n),d={coord:[]};v.type=null,v.coord=[],v.coord[h]=-1/0,d.coord[h]=1/0;var p=e.get("precision");p>=0&&Ft(l)&&(l=+l.toFixed(Math.min(p,20))),v.coord[c]=d.coord[c]=l,a=[v,d,{type:o,valueIndex:n.valueIndex,value:l}]}else a=[]}var g=[cf(r,a[0]),cf(r,a[1]),F({},a[2])];return g[2].type=g[2].type||null,Tt(g[2],g[0]),Tt(g[2],g[1]),g};function Sv(r){return!isNaN(r)&&!isFinite(r)}function PM(r,t,e,n){var i=1-r,a=n.dimensions[r];return Sv(t[i])&&Sv(e[i])&&t[r]===e[r]&&n.getAxis(a).containData(t[r])}function crt(r,t){if(r.type==="cartesian2d"){var e=t[0].coord,n=t[1].coord;if(e&&n&&(PM(1,e,n,r)||PM(0,e,n,r)))return!0}return hf(r,t[0])&&hf(r,t[1])}function iy(r,t,e,n,i){var a=n.coordinateSystem,o=r.getItemModel(t),s,l=et(o.get("x"),i.getWidth()),u=et(o.get("y"),i.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(n.getMarkerPosition)s=n.getMarkerPosition(r.getValues(r.dimensions,t));else{var f=a.dimensions,c=r.get(f[0],t),h=r.get(f[1],t);s=a.dataToPoint([c,h])}if(zo(a,"cartesian2d")){var v=a.getAxis("x"),d=a.getAxis("y"),f=a.dimensions;Sv(r.get(f[0],t))?s[0]=v.toGlobalCoord(v.getExtent()[e?0:1]):Sv(r.get(f[1],t))&&(s[1]=d.toGlobalCoord(d.getExtent()[e?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}r.setItemLayout(t,s)}var hrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,n,i){n.eachSeries(function(a){var o=ha.getMarkerModelFromSeries(a,"markLine");if(o){var s=o.getData(),l=Hc(o).from,u=Hc(o).to;l.each(function(f){iy(l,f,!0,a,i),iy(u,f,!1,a,i)}),s.each(function(f){s.setItemLayout(f,[l.getItemLayout(f),u.getItemLayout(f)])}),this.markerGroupMap.get(a.id).updateLayout()}},this)},t.prototype.renderSeries=function(e,n,i,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new b1);this.group.add(f.group);var c=vrt(o,e,n),h=c.from,v=c.to,d=c.line;Hc(n).from=h,Hc(n).to=v,n.setData(d);var p=n.get("symbol"),g=n.get("symbolSize"),y=n.get("symbolRotate"),m=n.get("symbolOffset");Y(p)||(p=[p,p]),Y(g)||(g=[g,g]),Y(y)||(y=[y,y]),Y(m)||(m=[m,m]),c.from.each(function(S){_(h,S,!0),_(v,S,!1)}),d.each(function(S){var x=d.getItemModel(S).getModel("lineStyle").getLineStyle();d.setItemLayout(S,[h.getItemLayout(S),v.getItemLayout(S)]),x.stroke==null&&(x.stroke=h.getItemVisual(S,"style").fill),d.setItemVisual(S,{fromSymbolKeepAspect:h.getItemVisual(S,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(S,"symbolOffset"),fromSymbolRotate:h.getItemVisual(S,"symbolRotate"),fromSymbolSize:h.getItemVisual(S,"symbolSize"),fromSymbol:h.getItemVisual(S,"symbol"),toSymbolKeepAspect:v.getItemVisual(S,"symbolKeepAspect"),toSymbolOffset:v.getItemVisual(S,"symbolOffset"),toSymbolRotate:v.getItemVisual(S,"symbolRotate"),toSymbolSize:v.getItemVisual(S,"symbolSize"),toSymbol:v.getItemVisual(S,"symbol"),style:x})}),f.updateData(d),c.line.eachItemGraphicEl(function(S){St(S).dataModel=n,S.traverse(function(x){St(x).dataModel=n})});function _(S,x,b){var w=S.getItemModel(x);iy(S,x,b,e,a);var T=w.getModel("itemStyle").getItemStyle();T.fill==null&&(T.fill=Cf(l,"color")),S.setItemVisual(x,{symbolKeepAspect:w.get("symbolKeepAspect"),symbolOffset:xt(w.get("symbolOffset",!0),m[b?0:1]),symbolRotate:xt(w.get("symbolRotate",!0),y[b?0:1]),symbolSize:xt(w.get("symbolSize"),g[b?0:1]),symbol:xt(w.get("symbol",!0),p[b?0:1]),style:T})}this.markKeep(f),f.group.silent=n.get("silent")||e.get("silent")},t.type="markLine",t}(eS);function vrt(r,t,e){var n;r?n=Z(r&&r.dimensions,function(u){var f=t.getData().getDimensionInfo(t.getData().mapDimension(u))||{};return F(F({},f),{name:u,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new or(n,e),a=new or(n,e),o=new or([],e),s=Z(e.get("data"),bt(frt,t,r,e));r&&(s=$t(s,bt(crt,r)));var l=IO(!!r,n);return i.initData(Z(s,function(u){return u[0]}),null,l),a.initData(Z(s,function(u){return u[1]}),null,l),o.initData(Z(s,function(u){return u[2]})),o.hasItemOption=!0,{from:i,to:a,line:o}}const drt=hrt;function prt(r){r.registerComponentModel(urt),r.registerComponentView(drt),r.registerPreprocessor(function(t){Q1(t.series,"markLine")&&(t.markLine=t.markLine||{})})}var grt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.createMarkerModelFromSeries=function(e,n,i){return new t(e,n,i)},t.type="markArea",t.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},t}(ha);const yrt=grt;var Wc=Nt(),mrt=function(r,t,e,n){var i=n[0],a=n[1];if(!(!i||!a)){var o=cf(r,i),s=cf(r,a),l=o.coord,u=s.coord;l[0]=Re(l[0],-1/0),l[1]=Re(l[1],-1/0),u[0]=Re(u[0],1/0),u[1]=Re(u[1],1/0);var f=q0([{},o,s]);return f.coord=[o.coord,s.coord],f.x0=o.x,f.y0=o.y,f.x1=s.x,f.y1=s.y,f}};function xv(r){return!isNaN(r)&&!isFinite(r)}function RM(r,t,e,n){var i=1-r;return xv(t[i])&&xv(e[i])}function _rt(r,t){var e=t.coord[0],n=t.coord[1],i={coord:e,x:t.x0,y:t.y0},a={coord:n,x:t.x1,y:t.y1};return zo(r,"cartesian2d")?e&&n&&(RM(1,e,n)||RM(0,e,n))?!0:rrt(r,i,a):hf(r,i)||hf(r,a)}function EM(r,t,e,n,i){var a=n.coordinateSystem,o=r.getItemModel(t),s,l=et(o.get(e[0]),i.getWidth()),u=et(o.get(e[1]),i.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(n.getMarkerPosition){var f=r.getValues(["x0","y0"],t),c=r.getValues(["x1","y1"],t),h=a.clampData(f),v=a.clampData(c),d=[];e[0]==="x0"?d[0]=h[0]>v[0]?c[0]:f[0]:d[0]=h[0]>v[0]?f[0]:c[0],e[1]==="y0"?d[1]=h[1]>v[1]?c[1]:f[1]:d[1]=h[1]>v[1]?f[1]:c[1],s=n.getMarkerPosition(d,e,!0)}else{var p=r.get(e[0],t),g=r.get(e[1],t),y=[p,g];a.clampData&&a.clampData(y,y),s=a.dataToPoint(y,!0)}if(zo(a,"cartesian2d")){var m=a.getAxis("x"),_=a.getAxis("y"),p=r.get(e[0],t),g=r.get(e[1],t);xv(p)?s[0]=m.toGlobalCoord(m.getExtent()[e[0]==="x0"?0:1]):xv(g)&&(s[1]=_.toGlobalCoord(_.getExtent()[e[1]==="y0"?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}return s}var kM=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],Srt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,n,i){n.eachSeries(function(a){var o=ha.getMarkerModelFromSeries(a,"markArea");if(o){var s=o.getData();s.each(function(l){var u=Z(kM,function(c){return EM(s,l,c,a,i)});s.setItemLayout(l,u);var f=s.getItemGraphicEl(l);f.setShape("points",u)})}},this)},t.prototype.renderSeries=function(e,n,i,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,{group:new _t});this.group.add(f.group),this.markKeep(f);var c=xrt(o,e,n);n.setData(c),c.each(function(h){var v=Z(kM,function(T){return EM(c,h,T,e,a)}),d=o.getAxis("x").scale,p=o.getAxis("y").scale,g=d.getExtent(),y=p.getExtent(),m=[d.parse(c.get("x0",h)),d.parse(c.get("x1",h))],_=[p.parse(c.get("y0",h)),p.parse(c.get("y1",h))];$r(m),$r(_);var S=!(g[0]>m[1]||g[1]_[1]||y[1]<_[0]),x=!S;c.setItemLayout(h,{points:v,allClipped:x});var b=c.getItemModel(h).getModel("itemStyle").getItemStyle(),w=Cf(l,"color");b.fill||(b.fill=w,nt(b.fill)&&(b.fill=Nh(b.fill,.4))),b.stroke||(b.stroke=w),c.setItemVisual(h,"style",b)}),c.diff(Wc(f).data).add(function(h){var v=c.getItemLayout(h);if(!v.allClipped){var d=new yr({shape:{points:v.points}});c.setItemGraphicEl(h,d),f.group.add(d)}}).update(function(h,v){var d=Wc(f).data.getItemGraphicEl(v),p=c.getItemLayout(h);p.allClipped?d&&f.group.remove(d):(d?Ht(d,{shape:{points:p.points}},n,h):d=new yr({shape:{points:p.points}}),c.setItemGraphicEl(h,d),f.group.add(d))}).remove(function(h){var v=Wc(f).data.getItemGraphicEl(h);f.group.remove(v)}).execute(),c.eachItemGraphicEl(function(h,v){var d=c.getItemModel(v),p=c.getItemVisual(v,"style");h.useStyle(c.getItemVisual(v,"style")),Fe(h,De(d),{labelFetcher:n,labelDataIndex:v,defaultText:c.getName(v)||"",inheritColor:nt(p.fill)?Nh(p.fill,1):"#000"}),Ge(h,d),ue(h,null,null,d.get(["emphasis","disabled"])),St(h).dataModel=n}),Wc(f).data=c,f.group.silent=n.get("silent")||e.get("silent")},t.type="markArea",t}(eS);function xrt(r,t,e){var n,i,a=["x0","y0","x1","y1"];if(r){var o=Z(r&&r.dimensions,function(u){var f=t.getData(),c=f.getDimensionInfo(f.mapDimension(u))||{};return F(F({},c),{name:u,ordinalMeta:null})});i=Z(a,function(u,f){return{name:u,type:o[f%2].type}}),n=new or(i,e)}else i=[{name:"value",type:"float"}],n=new or(i,e);var s=Z(e.get("data"),bt(mrt,t,r,e));r&&(s=$t(s,bt(_rt,r)));var l=r?function(u,f,c,h){var v=u.coord[Math.floor(h/2)][h%2];return ea(v,i[h])}:function(u,f,c,h){return ea(u.value,i[h])};return n.initData(s,null,l),n.hasItemOption=!0,n}const brt=Srt;function wrt(r){r.registerComponentModel(yrt),r.registerComponentView(brt),r.registerPreprocessor(function(t){Q1(t.series,"markArea")&&(t.markArea=t.markArea||{})})}var Trt=function(r,t){if(t==="all")return{type:"all",title:r.getLocaleModel().get(["legend","selector","all"])};if(t==="inverse")return{type:"inverse",title:r.getLocaleModel().get(["legend","selector","inverse"])}},Art=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode={type:"box",ignoreSize:!0},e}return t.prototype.init=function(e,n,i){this.mergeDefaultAndTheme(e,i),e.selected=e.selected||{},this._updateSelector(e)},t.prototype.mergeOption=function(e,n){r.prototype.mergeOption.call(this,e,n),this._updateSelector(e)},t.prototype._updateSelector=function(e){var n=e.selector,i=this.ecModel;n===!0&&(n=e.selector=["all","inverse"]),Y(n)&&M(n,function(a,o){nt(a)&&(a={type:a}),n[o]=Tt(a,Trt(i,a.type))})},t.prototype.optionUpdated=function(){this._updateData(this.ecModel);var e=this._data;if(e[0]&&this.get("selectedMode")==="single"){for(var n=!1,i=0;i=0},t.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},t.type="legend.plain",t.dependencies=["series"],t.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},t}(Bt);const h0=Art;var ss=bt,v0=M,$c=_t,Crt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.newlineDisabled=!1,e}return t.prototype.init=function(){this.group.add(this._contentGroup=new $c),this.group.add(this._selectorGroup=new $c),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(e,n,i){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!e.get("show",!0)){var o=e.get("align"),s=e.get("orient");(!o||o==="auto")&&(o=e.get("left")==="right"&&s==="vertical"?"right":"left");var l=e.get("selector",!0),u=e.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,e,n,i,l,s,u);var f=e.getBoxLayoutParams(),c={width:i.getWidth(),height:i.getHeight()},h=e.get("padding"),v=be(f,c,h),d=this.layoutInner(e,o,v,a,l,u),p=be(pt({width:d.width,height:d.height},f),c,h);this.group.x=p.x-d.x,this.group.y=p.y-d.y,this.group.markRedraw(),this.group.add(this._backgroundEl=yO(d,e))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(e,n,i,a,o,s,l){var u=this.getContentGroup(),f=ft(),c=n.get("selectedMode"),h=[];i.eachRawSeries(function(v){!v.get("legendHoverLink")&&h.push(v.id)}),v0(n.getData(),function(v,d){var p=v.get("name");if(!this.newlineDisabled&&(p===""||p===` -`)){var g=new $c;g.newline=!0,u.add(g);return}var y=i.getSeriesByName(p)[0];if(!f.get(p))if(y){var m=y.getData(),_=m.getVisual("legendLineStyle")||{},S=m.getVisual("legendIcon"),x=m.getVisual("style"),b=this._createItem(y,p,d,v,n,e,_,x,S,c,a);b.on("click",ss(OM,p,null,a,h)).on("mouseover",ss(d0,y.name,null,a,h)).on("mouseout",ss(p0,y.name,null,a,h)),i.ssr&&b.eachChild(function(w){var T=St(w);T.seriesIndex=y.seriesIndex,T.dataIndex=d,T.ssrType="legend"}),f.set(p,!0)}else i.eachRawSeries(function(w){if(!f.get(p)&&w.legendVisualProvider){var T=w.legendVisualProvider;if(!T.containName(p))return;var A=T.indexOfName(p),C=T.getItemVisual(A,"style"),D=T.getItemVisual(A,"legendIcon"),I=Mr(C.fill);I&&I[3]===0&&(I[3]=.2,C=F(F({},C),{fill:ui(I,"rgba")}));var L=this._createItem(w,p,d,v,n,e,{},C,D,c,a);L.on("click",ss(OM,null,p,a,h)).on("mouseover",ss(d0,null,p,a,h)).on("mouseout",ss(p0,null,p,a,h)),i.ssr&&L.eachChild(function(P){var E=St(P);E.seriesIndex=w.seriesIndex,E.dataIndex=d,E.ssrType="legend"}),f.set(p,!0)}},this)},this),o&&this._createSelector(o,n,a,s,l)},t.prototype._createSelector=function(e,n,i,a,o){var s=this.getSelectorGroup();v0(e,function(u){var f=u.type,c=new Gt({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){i.dispatchAction({type:f==="all"?"legendAllSelect":"legendInverseSelect",legendId:n.id})}});s.add(c);var h=n.getModel("selectorLabel"),v=n.getModel(["emphasis","selectorLabel"]);Fe(c,{normal:h,emphasis:v},{defaultText:u.title}),_o(c)})},t.prototype._createItem=function(e,n,i,a,o,s,l,u,f,c,h){var v=e.visualDrawType,d=o.get("itemWidth"),p=o.get("itemHeight"),g=o.isSelected(n),y=a.get("symbolRotate"),m=a.get("symbolKeepAspect"),_=a.get("icon");f=_||f||"roundRect";var S=Mrt(f,a,l,u,v,g,h),x=new $c,b=a.getModel("textStyle");if(vt(e.getLegendIcon)&&(!_||_==="inherit"))x.add(e.getLegendIcon({itemWidth:d,itemHeight:p,icon:f,iconRotate:y,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}));else{var w=_==="inherit"&&e.getData().getVisual("symbol")?y==="inherit"?e.getData().getVisual("symbolRotate"):y:0;x.add(Drt({itemWidth:d,itemHeight:p,icon:f,iconRotate:w,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}))}var T=s==="left"?d+5:-5,A=s,C=o.get("formatter"),D=n;nt(C)&&C?D=C.replace("{name}",n!=null?n:""):vt(C)&&(D=C(n));var I=g?b.getTextColor():a.get("inactiveColor");x.add(new Gt({style:Qt(b,{text:D,x:T,y:p/2,fill:I,align:A,verticalAlign:"middle"},{inheritColor:I})}));var L=new Vt({shape:x.getBoundingRect(),style:{fill:"transparent"}}),P=a.getModel("tooltip");return P.get("show")&&ko({el:L,componentModel:o,itemName:n,itemTooltipOption:P.option}),x.add(L),x.eachChild(function(E){E.silent=!0}),L.silent=!c,this.getContentGroup().add(x),_o(x),x.__legendDataIndex=i,x},t.prototype.layoutInner=function(e,n,i,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();xo(e.get("orient"),l,e.get("itemGap"),i.width,i.height);var f=l.getBoundingRect(),c=[-f.x,-f.y];if(u.markRedraw(),l.markRedraw(),o){xo("horizontal",u,e.get("selectorItemGap",!0));var h=u.getBoundingRect(),v=[-h.x,-h.y],d=e.get("selectorButtonGap",!0),p=e.getOrient().index,g=p===0?"width":"height",y=p===0?"height":"width",m=p===0?"y":"x";s==="end"?v[p]+=f[g]+d:c[p]+=h[g]+d,v[1-p]+=f[y]/2-h[y]/2,u.x=v[0],u.y=v[1],l.x=c[0],l.y=c[1];var _={x:0,y:0};return _[g]=f[g]+d+h[g],_[y]=Math.max(f[y],h[y]),_[m]=Math.min(0,h[m]+v[1-p]),_}else return l.x=c[0],l.y=c[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type="legend.plain",t}(fe);function Mrt(r,t,e,n,i,a,o){function s(g,y){g.lineWidth==="auto"&&(g.lineWidth=y.lineWidth>0?2:0),v0(g,function(m,_){g[_]==="inherit"&&(g[_]=y[_])})}var l=t.getModel("itemStyle"),u=l.getItemStyle(),f=r.lastIndexOf("empty",0)===0?"fill":"stroke",c=l.getShallow("decal");u.decal=!c||c==="inherit"?n.decal:Hs(c,o),u.fill==="inherit"&&(u.fill=n[i]),u.stroke==="inherit"&&(u.stroke=n[f]),u.opacity==="inherit"&&(u.opacity=(i==="fill"?n:e).opacity),s(u,n);var h=t.getModel("lineStyle"),v=h.getLineStyle();if(s(v,e),u.fill==="auto"&&(u.fill=n.fill),u.stroke==="auto"&&(u.stroke=n.fill),v.stroke==="auto"&&(v.stroke=n.fill),!a){var d=t.get("inactiveBorderWidth"),p=u[f];u.lineWidth=d==="auto"?n.lineWidth>0&&p?2:0:u.lineWidth,u.fill=t.get("inactiveColor"),u.stroke=t.get("inactiveBorderColor"),v.stroke=h.get("inactiveColor"),v.lineWidth=h.get("inactiveWidth")}return{itemStyle:u,lineStyle:v}}function Drt(r){var t=r.icon||"roundRect",e=me(t,0,0,r.itemWidth,r.itemHeight,r.itemStyle.fill,r.symbolKeepAspect);return e.setStyle(r.itemStyle),e.rotation=(r.iconRotate||0)*Math.PI/180,e.setOrigin([r.itemWidth/2,r.itemHeight/2]),t.indexOf("empty")>-1&&(e.style.stroke=e.style.fill,e.style.fill="#fff",e.style.lineWidth=2),e}function OM(r,t,e,n){p0(r,t,e,n),e.dispatchAction({type:"legendToggleSelect",name:r!=null?r:t}),d0(r,t,e,n)}function LO(r){for(var t=r.getZr().storage.getDisplayList(),e,n=0,i=t.length;ni[o],g=[-v.x,-v.y];n||(g[a]=f[u]);var y=[0,0],m=[-d.x,-d.y],_=xt(e.get("pageButtonGap",!0),e.get("itemGap",!0));if(p){var S=e.get("pageButtonPosition",!0);S==="end"?m[a]+=i[o]-d[o]:y[a]+=d[o]+_}m[1-a]+=v[s]/2-d[s]/2,f.setPosition(g),c.setPosition(y),h.setPosition(m);var x={x:0,y:0};if(x[o]=p?i[o]:v[o],x[s]=Math.max(v[s],d[s]),x[l]=Math.min(0,d[l]+m[1-a]),c.__rectSize=i[o],p){var b={x:0,y:0};b[o]=Math.max(i[o]-d[o]-_,0),b[s]=x[s],c.setClipPath(new Vt({shape:b})),c.__rectSize=b[o]}else h.eachChild(function(T){T.attr({invisible:!0,silent:!0})});var w=this._getPageInfo(e);return w.pageIndex!=null&&Ht(f,{x:w.contentPosition[0],y:w.contentPosition[1]},p?e:null),this._updatePageInfoView(e,w),x},t.prototype._pageGo=function(e,n,i){var a=this._getPageInfo(n)[e];a!=null&&i.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:n.id})},t.prototype._updatePageInfoView=function(e,n){var i=this._controllerGroup;M(["pagePrev","pageNext"],function(f){var c=f+"DataIndex",h=n[c]!=null,v=i.childOfName(f);v&&(v.setStyle("fill",h?e.get("pageIconColor",!0):e.get("pageIconInactiveColor",!0)),v.cursor=h?"pointer":"default")});var a=i.childOfName("pageText"),o=e.get("pageFormatter"),s=n.pageIndex,l=s!=null?s+1:0,u=n.pageCount;a&&o&&a.setStyle("text",nt(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},t.prototype._getPageInfo=function(e){var n=e.get("scrollDataIndex",!0),i=this.getContentGroup(),a=this._containerGroup.__rectSize,o=e.getOrient().index,s=ay[o],l=oy[o],u=this._findTargetItemIndex(n),f=i.children(),c=f[u],h=f.length,v=h?1:0,d={contentPosition:[i.x,i.y],pageCount:v,pageIndex:v-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return d;var p=S(c);d.contentPosition[o]=-p.s;for(var g=u+1,y=p,m=p,_=null;g<=h;++g)_=S(f[g]),(!_&&m.e>y.s+a||_&&!x(_,y.s))&&(m.i>y.i?y=m:y=_,y&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=y.i),++d.pageCount)),m=_;for(var g=u-1,y=p,m=p,_=null;g>=-1;--g)_=S(f[g]),(!_||!x(m,_.s))&&y.i=w&&b.s<=w+a}},t.prototype._findTargetItemIndex=function(e){if(!this._showController)return 0;var n,i=this.getContentGroup(),a;return i.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===e&&(n=s)}),n!=null?n:a},t.type="legend.scroll",t}(PO);const krt=Ert;function Ort(r){r.registerAction("legendScroll","legendscroll",function(t,e){var n=t.scrollDataIndex;n!=null&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(i){i.setScrollDataIndex(n)})})}function Nrt(r){Lt(RO),r.registerComponentModel(Rrt),r.registerComponentView(krt),Ort(r)}function Vrt(r){Lt(RO),Lt(Nrt)}var Brt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="dataZoom.inside",t.defaultOption=ga(ff.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),t}(ff);const zrt=Brt;var rS=Nt();function Grt(r,t,e){rS(r).coordSysRecordMap.each(function(n){var i=n.dataZoomInfoMap.get(t.uid);i&&(i.getRange=e)})}function Frt(r,t){for(var e=rS(r).coordSysRecordMap,n=e.keys(),i=0;in[e+t]&&(t=s),i=i&&o.get("preventDefaultMouseMove",!0)}),{controlType:t,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!i}}}function Yrt(r){r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,function(t,e){var n=rS(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=ft());i.each(function(a){a.dataZoomInfoMap=null}),t.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var o=dO(a);M(o.infoList,function(s){var l=s.model.uid,u=i.get(l)||i.set(l,Hrt(e,s.model)),f=u.dataZoomInfoMap||(u.dataZoomInfoMap=ft());f.set(a.uid,{dzReferCoordSysInfo:s,model:a,getRange:null})})}),i.each(function(a){var o=a.controller,s,l=a.dataZoomInfoMap;if(l){var u=l.keys()[0];u!=null&&(s=l.get(u))}if(!s){EO(i,a);return}var f=Urt(l);o.enable(f.controlType,f.opt),o.setPointerChecker(a.containsPoint),ll(a,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var Zrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return t.prototype.render=function(e,n,i){if(r.prototype.render.apply(this,arguments),e.noTarget()){this._clear();return}this.range=e.getPercentRange(),Grt(i,e,{pan:at(sy.pan,this),zoom:at(sy.zoom,this),scrollMove:at(sy.scrollMove,this)})},t.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){Frt(this.api,this.dataZoomModel),this.range=null},t.type="dataZoom.inside",t}(Z1),sy={zoom:function(r,t,e,n){var i=this.range,a=i.slice(),o=r.axisModels[0];if(o){var s=ly[t](null,[n.originX,n.originY],o,e,r),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var f=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(Fo(0,a,[0,100],0,f.minSpan,f.maxSpan),this.range=a,i[0]!==a[0]||i[1]!==a[1])return a}},pan:zM(function(r,t,e,n,i,a){var o=ly[n]([a.oldX,a.oldY],[a.newX,a.newY],t,i,e);return o.signal*(r[1]-r[0])*o.pixel/o.pixelLength}),scrollMove:zM(function(r,t,e,n,i,a){var o=ly[n]([0,0],[a.scrollDelta,a.scrollDelta],t,i,e);return o.signal*(r[1]-r[0])*a.scrollDelta})};function zM(r){return function(t,e,n,i){var a=this.range,o=a.slice(),s=t.axisModels[0];if(s){var l=r(o,s,t,e,n,i);if(Fo(l,o,[0,100],"all"),this.range=o,a[0]!==o[0]||a[1]!==o[1])return o}}}var ly={grid:function(r,t,e,n,i){var a=e.axis,o={},s=i.model.coordinateSystem.getRect();return r=r||[0,0],a.dim==="x"?(o.pixel=t[0]-r[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a.inverse?1:-1):(o.pixel=t[1]-r[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=a.inverse?-1:1),o},polar:function(r,t,e,n,i){var a=e.axis,o={},s=i.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return r=r?s.pointToCoord(r):[0,0],t=s.pointToCoord(t),e.mainType==="radiusAxis"?(o.pixel=t[0]-r[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=a.inverse?1:-1):(o.pixel=t[1]-r[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=a.inverse?-1:1),o},singleAxis:function(r,t,e,n,i){var a=e.axis,o=i.model.coordinateSystem.getRect(),s={};return r=r||[0,0],a.orient==="horizontal"?(s.pixel=t[0]-r[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=a.inverse?1:-1):(s.pixel=t[1]-r[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=a.inverse?-1:1),s}};const Xrt=Zrt;function kO(r){X1(r),r.registerComponentModel(zrt),r.registerComponentView(Xrt),Yrt(r)}var qrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="dataZoom.slider",t.layoutMode="box",t.defaultOption=ga(ff.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),t}(ff);const Krt=qrt;var Ul=Vt,GM=7,jrt=1,uy=30,Jrt=7,Yl="horizontal",FM="vertical",Qrt=5,tnt=["line","bar","candlestick","scatter"],ent={easing:"cubicOut",duration:100,delay:0},rnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._displayables={},e}return t.prototype.init=function(e,n){this.api=n,this._onBrush=at(this._onBrush,this),this._onBrushEnd=at(this._onBrushEnd,this)},t.prototype.render=function(e,n,i,a){if(r.prototype.render.apply(this,arguments),ll(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),e.get("show")===!1){this.group.removeAll();return}if(e.noTarget()){this._clear(),this.group.removeAll();return}(!a||a.type!=="dataZoom"||a.from!==this.uid)&&this._buildView(),this._updateView()},t.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){ju(this,"_dispatchZoomAction");var e=this.api.getZr();e.off("mousemove",this._onBrush),e.off("mouseup",this._onBrushEnd)},t.prototype._buildView=function(){var e=this.group;e.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var n=this._displayables.sliderGroup=new _t;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),e.add(n),this._positionGroup()},t.prototype._resetLocation=function(){var e=this.dataZoomModel,n=this.api,i=e.get("brushSelect"),a=i?Jrt:0,o=this._findCoordRect(),s={width:n.getWidth(),height:n.getHeight()},l=this._orient===Yl?{right:s.width-o.x-o.width,top:s.height-uy-GM-a,width:o.width,height:uy}:{right:GM,top:o.y,width:uy,height:o.height},u=il(e.option);M(["right","top","width","height"],function(c){u[c]==="ph"&&(u[c]=l[c])});var f=be(u,s);this._location={x:f.x,y:f.y},this._size=[f.width,f.height],this._orient===FM&&this._size.reverse()},t.prototype._positionGroup=function(){var e=this.group,n=this._location,i=this._orient,a=this.dataZoomModel.getFirstTargetAxisModel(),o=a&&a.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(i===Yl&&!o?{scaleY:l?1:-1,scaleX:1}:i===Yl&&o?{scaleY:l?1:-1,scaleX:-1}:i===FM&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=e.getBoundingRect([s]);e.x=n.x-u.x,e.y=n.y-u.y,e.markRedraw()},t.prototype._getViewExtent=function(){return[0,this._size[0]]},t.prototype._renderBackground=function(){var e=this.dataZoomModel,n=this._size,i=this._displayables.sliderGroup,a=e.get("brushSelect");i.add(new Ul({silent:!0,shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:e.get("backgroundColor")},z2:-40}));var o=new Ul({shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:"transparent"},z2:0,onclick:at(this._onClickPanel,this)}),s=this.api.getZr();a?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),i.add(o)},t.prototype._renderDataShadow=function(){var e=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!e)return;var n=this._size,i=this._shadowSize||[],a=e.series,o=a.getRawData(),s=a.getShadowDim&&a.getShadowDim(),l=s&&o.getDimensionInfo(s)?a.getShadowDim():e.otherDim;if(l==null)return;var u=this._shadowPolygonPts,f=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||n[0]!==i[0]||n[1]!==i[1]){var c=o.getDataExtent(l),h=(c[1]-c[0])*.3;c=[c[0]-h,c[1]+h];var v=[0,n[1]],d=[0,n[0]],p=[[n[0],0],[0,0]],g=[],y=d[1]/(o.count()-1),m=0,_=Math.round(o.count()/n[0]),S;o.each([l],function(A,C){if(_>0&&C%_){m+=y;return}var D=A==null||isNaN(A)||A==="",I=D?0:Ut(A,c,v,!0);D&&!S&&C?(p.push([p[p.length-1][0],0]),g.push([g[g.length-1][0],0])):!D&&S&&(p.push([m,0]),g.push([m,0])),p.push([m,I]),g.push([m,I]),m+=y,S=D}),u=this._shadowPolygonPts=p,f=this._shadowPolylinePts=g}this._shadowData=o,this._shadowDim=l,this._shadowSize=[n[0],n[1]];var x=this.dataZoomModel;function b(A){var C=x.getModel(A?"selectedDataBackground":"dataBackground"),D=new _t,I=new yr({shape:{points:u},segmentIgnoreThreshold:1,style:C.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),L=new mr({shape:{points:f},segmentIgnoreThreshold:1,style:C.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return D.add(I),D.add(L),D}for(var w=0;w<3;w++){var T=b(w===1);this._displayables.sliderGroup.add(T),this._displayables.dataShadowSegs.push(T)}},t.prototype._prepareDataShadowInfo=function(){var e=this.dataZoomModel,n=e.get("showDataShadow");if(n!==!1){var i,a=this.ecModel;return e.eachTargetAxis(function(o,s){var l=e.getAxisProxy(o,s).getTargetSeriesModels();M(l,function(u){if(!i&&!(n!==!0&&Dt(tnt,u.get("type"))<0)){var f=a.getComponent(Ji(o),s).axis,c=nnt(o),h,v=u.coordinateSystem;c!=null&&v.getOtherAxis&&(h=v.getOtherAxis(f).inverse),c=u.getData().mapDimension(c),i={thisAxis:f,series:u,thisDim:o,otherDim:c,otherAxisInverse:h}}},this)},this),i}},t.prototype._renderHandle=function(){var e=this.group,n=this._displayables,i=n.handles=[null,null],a=n.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,f=l.get("borderRadius")||0,c=l.get("brushSelect"),h=n.filler=new Ul({silent:c,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(h),o.add(new Ul({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:f},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:jrt,fill:"rgba(0,0,0,0)"}})),M([0,1],function(_){var S=l.get("handleIcon");!jh[S]&&S.indexOf("path://")<0&&S.indexOf("image://")<0&&(S="path://"+S);var x=me(S,-1,0,2,2,null,!0);x.attr({cursor:HM(this._orient),draggable:!0,drift:at(this._onDragMove,this,_),ondragend:at(this._onDragEnd,this),onmouseover:at(this._showDataInfo,this,!0),onmouseout:at(this._showDataInfo,this,!1),z2:5});var b=x.getBoundingRect(),w=l.get("handleSize");this._handleHeight=et(w,this._size[1]),this._handleWidth=b.width/b.height*this._handleHeight,x.setStyle(l.getModel("handleStyle").getItemStyle()),x.style.strokeNoScale=!0,x.rectHover=!0,x.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),_o(x);var T=l.get("handleColor");T!=null&&(x.style.fill=T),o.add(i[_]=x);var A=l.getModel("textStyle"),C=l.get("handleLabel")||{},D=C.show||!1;e.add(a[_]=new Gt({silent:!0,invisible:!D,style:Qt(A,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:A.getTextColor(),font:A.getFont()}),z2:10}))},this);var v=h;if(c){var d=et(l.get("moveHandleSize"),s[1]),p=n.moveHandle=new Vt({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:d}}),g=d*.8,y=n.moveHandleIcon=me(l.get("moveHandleIcon"),-g/2,-g/2,g,g,"#fff",!0);y.silent=!0,y.y=s[1]+d/2-.5,p.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var m=Math.min(s[1]/2,Math.max(d,10));v=n.moveZone=new Vt({invisible:!0,shape:{y:s[1]-m,height:d+m}}),v.on("mouseover",function(){u.enterEmphasis(p)}).on("mouseout",function(){u.leaveEmphasis(p)}),o.add(p),o.add(y),o.add(v)}v.attr({draggable:!0,cursor:HM(this._orient),drift:at(this._onDragMove,this,"all"),ondragstart:at(this._showDataInfo,this,!0),ondragend:at(this._onDragEnd,this),onmouseover:at(this._showDataInfo,this,!0),onmouseout:at(this._showDataInfo,this,!1)})},t.prototype._resetInterval=function(){var e=this._range=this.dataZoomModel.getPercentRange(),n=this._getViewExtent();this._handleEnds=[Ut(e[0],[0,100],n,!0),Ut(e[1],[0,100],n,!0)]},t.prototype._updateInterval=function(e,n){var i=this.dataZoomModel,a=this._handleEnds,o=this._getViewExtent(),s=i.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];Fo(n,a,o,i.get("zoomLock")?"all":e,s.minSpan!=null?Ut(s.minSpan,l,o,!0):null,s.maxSpan!=null?Ut(s.maxSpan,l,o,!0):null);var u=this._range,f=this._range=$r([Ut(a[0],o,l,!0),Ut(a[1],o,l,!0)]);return!u||u[0]!==f[0]||u[1]!==f[1]},t.prototype._updateView=function(e){var n=this._displayables,i=this._handleEnds,a=$r(i.slice()),o=this._size;M([0,1],function(v){var d=n.handles[v],p=this._handleHeight;d.attr({scaleX:p/2,scaleY:p/2,x:i[v]+(v?-1:1),y:o[1]/2-p/2})},this),n.filler.setShape({x:a[0],y:0,width:a[1]-a[0],height:o[1]});var s={x:a[0],width:a[1]-a[0]};n.moveHandle&&(n.moveHandle.setShape(s),n.moveZone.setShape(s),n.moveZone.getBoundingRect(),n.moveHandleIcon&&n.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=n.dataShadowSegs,u=[0,a[0],a[1],o[0]],f=0;fn[0]||i[1]<0||i[1]>n[1])){var a=this._handleEnds,o=(a[0]+a[1])/2,s=this._updateInterval("all",i[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},t.prototype._onBrushStart=function(e){var n=e.offsetX,i=e.offsetY;this._brushStart=new Ct(n,i),this._brushing=!0,this._brushStartTime=+new Date},t.prototype._onBrushEnd=function(e){if(this._brushing){var n=this._displayables.brushRect;if(this._brushing=!1,!!n){n.attr("ignore",!0);var i=n.shape,a=+new Date;if(!(a-this._brushStartTime<200&&Math.abs(i.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=$r([Ut(i.x,o,s,!0),Ut(i.x+i.width,o,s,!0)]),this._handleEnds=[i.x,i.x+i.width],this._updateView(),this._dispatchZoomAction(!1)}}}},t.prototype._onBrush=function(e){this._brushing&&(gi(e.event),this._updateBrushRect(e.offsetX,e.offsetY))},t.prototype._updateBrushRect=function(e,n){var i=this._displayables,a=this.dataZoomModel,o=i.brushRect;o||(o=i.brushRect=new Ul({silent:!0,style:a.getModel("brushStyle").getItemStyle()}),i.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(e,n),f=l.transformCoordToLocal(s.x,s.y),c=this._size;u[0]=Math.max(Math.min(c[0],u[0]),0),o.setShape({x:f[0],y:0,width:u[0]-f[0],height:c[1]})},t.prototype._dispatchZoomAction=function(e){var n=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:e?ent:null,start:n[0],end:n[1]})},t.prototype._findCoordRect=function(){var e,n=dO(this.dataZoomModel).infoList;if(!e&&n.length){var i=n[0].model.coordinateSystem;e=i.getRect&&i.getRect()}if(!e){var a=this.api.getWidth(),o=this.api.getHeight();e={x:a*.2,y:o*.2,width:a*.6,height:o*.6}}return e},t.type="dataZoom.slider",t}(Z1);function nnt(r){var t={x:"y",y:"x",radius:"angle",angle:"radius"};return t[r]}function HM(r){return r==="vertical"?"ns-resize":"ew-resize"}const int=rnt;function OO(r){r.registerComponentModel(Krt),r.registerComponentView(int),X1(r)}function ant(r){Lt(kO),Lt(OO)}var ont={get:function(r,t,e){var n=mt((snt[r]||{})[t]);return e&&Y(n)?n[n.length-1]:n}},snt={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};const NO=ont;var WM=ze.mapVisual,lnt=ze.eachVisual,unt=Y,$M=M,fnt=$r,cnt=Ut,hnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.stateList=["inRange","outOfRange"],e.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],e.layoutMode={type:"box",ignoreSize:!0},e.dataBound=[-1/0,1/0],e.targetVisuals={},e.controllerVisuals={},e}return t.prototype.init=function(e,n,i){this.mergeDefaultAndTheme(e,i)},t.prototype.optionUpdated=function(e,n){var i=this.option;!n&&TO(i,e,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},t.prototype.resetVisual=function(e){var n=this.stateList;e=at(e,this),this.controllerVisuals=u0(this.option.controller,n,e),this.targetVisuals=u0(this.option.target,n,e)},t.prototype.getItemSymbol=function(){return null},t.prototype.getTargetSeriesIndices=function(){var e=this.option.seriesIndex,n=[];return e==null||e==="all"?this.ecModel.eachSeries(function(i,a){n.push(a)}):n=Zt(e),n},t.prototype.eachTargetSeries=function(e,n){M(this.getTargetSeriesIndices(),function(i){var a=this.ecModel.getSeriesByIndex(i);a&&e.call(n,a)},this)},t.prototype.isTargetSeries=function(e){var n=!1;return this.eachTargetSeries(function(i){i===e&&(n=!0)}),n},t.prototype.formatValueText=function(e,n,i){var a=this.option,o=a.precision,s=this.dataBound,l=a.formatter,u;i=i||["<",">"],Y(e)&&(e=e.slice(),u=!0);var f=n?e:u?[c(e[0]),c(e[1])]:c(e);if(nt(l))return l.replace("{value}",u?f[0]:f).replace("{value2}",u?f[1]:f);if(vt(l))return u?l(e[0],e[1]):l(e);if(u)return e[0]===s[0]?i[0]+" "+f[1]:e[1]===s[1]?i[1]+" "+f[0]:f[0]+" - "+f[1];return f;function c(h){return h===s[0]?"min":h===s[1]?"max":(+h).toFixed(Math.min(o,20))}},t.prototype.resetExtent=function(){var e=this.option,n=fnt([e.min,e.max]);this._dataExtent=n},t.prototype.getDataDimensionIndex=function(e){var n=this.option.dimension;if(n!=null)return e.getDimensionIndex(n);for(var i=e.dimensions,a=i.length-1;a>=0;a--){var o=i[a],s=e.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},t.prototype.getExtent=function(){return this._dataExtent.slice()},t.prototype.completeVisualOption=function(){var e=this.ecModel,n=this.option,i={inRange:n.inRange,outOfRange:n.outOfRange},a=n.target||(n.target={}),o=n.controller||(n.controller={});Tt(a,i),Tt(o,i);var s=this.isCategory();l.call(this,a),l.call(this,o),u.call(this,a,"inRange","outOfRange"),f.call(this,o);function l(c){unt(n.color)&&!c.inRange&&(c.inRange={color:n.color.slice().reverse()}),c.inRange=c.inRange||{color:e.get("gradientColor")}}function u(c,h,v){var d=c[h],p=c[v];d&&!p&&(p=c[v]={},$M(d,function(g,y){if(ze.isValidType(y)){var m=NO.get(y,"inactive",s);m!=null&&(p[y]=m,y==="color"&&!p.hasOwnProperty("opacity")&&!p.hasOwnProperty("colorAlpha")&&(p.opacity=[0,0]))}}))}function f(c){var h=(c.inRange||{}).symbol||(c.outOfRange||{}).symbol,v=(c.inRange||{}).symbolSize||(c.outOfRange||{}).symbolSize,d=this.get("inactiveColor"),p=this.getItemSymbol(),g=p||"roundRect";$M(this.stateList,function(y){var m=this.itemSize,_=c[y];_||(_=c[y]={color:s?d:[d]}),_.symbol==null&&(_.symbol=h&&mt(h)||(s?g:[g])),_.symbolSize==null&&(_.symbolSize=v&&mt(v)||(s?m[0]:[m[0],m[0]])),_.symbol=WM(_.symbol,function(b){return b==="none"?g:b});var S=_.symbolSize;if(S!=null){var x=-1/0;lnt(S,function(b){b>x&&(x=b)}),_.symbolSize=WM(S,function(b){return cnt(b,[0,x],[0,m[0]],!0)})}},this)}},t.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},t.prototype.isCategory=function(){return!!this.option.categories},t.prototype.setSelected=function(e){},t.prototype.getSelected=function(){return null},t.prototype.getValueState=function(e){return null},t.prototype.getVisualMeta=function(e){return null},t.type="visualMap",t.dependencies=["series"],t.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},t}(Bt);const bv=hnt;var UM=[20,140],vnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.optionUpdated=function(e,n){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(i){i.mappingMethod="linear",i.dataExtent=this.getExtent()}),this._resetRange()},t.prototype.resetItemSize=function(){r.prototype.resetItemSize.apply(this,arguments);var e=this.itemSize;(e[0]==null||isNaN(e[0]))&&(e[0]=UM[0]),(e[1]==null||isNaN(e[1]))&&(e[1]=UM[1])},t.prototype._resetRange=function(){var e=this.getExtent(),n=this.option.range;!n||n.auto?(e.auto=1,this.option.range=e):Y(n)&&(n[0]>n[1]&&n.reverse(),n[0]=Math.max(n[0],e[0]),n[1]=Math.min(n[1],e[1]))},t.prototype.completeVisualOption=function(){r.prototype.completeVisualOption.apply(this,arguments),M(this.stateList,function(e){var n=this.option.controller[e].symbolSize;n&&n[0]!==n[1]&&(n[0]=n[1]/3)},this)},t.prototype.setSelected=function(e){this.option.range=e.slice(),this._resetRange()},t.prototype.getSelected=function(){var e=this.getExtent(),n=$r((this.get("range")||[]).slice());return n[0]>e[1]&&(n[0]=e[1]),n[1]>e[1]&&(n[1]=e[1]),n[0]=i[1]||e<=n[1])?"inRange":"outOfRange"},t.prototype.findTargetDataIndices=function(e){var n=[];return this.eachTargetSeries(function(i){var a=[],o=i.getData();o.each(this.getDataDimensionIndex(o),function(s,l){e[0]<=s&&s<=e[1]&&a.push(l)},this),n.push({seriesId:i.id,dataIndex:a})},this),n},t.prototype.getVisualMeta=function(e){var n=YM(this,"outOfRange",this.getExtent()),i=YM(this,"inRange",this.option.range.slice()),a=[];function o(v,d){a.push({value:v,color:e(v,d)})}for(var s=0,l=0,u=i.length,f=n.length;le[1])break;a.push({color:this.getControllerVisual(l,"color",n),offset:s/i})}return a.push({color:this.getControllerVisual(e[1],"color",n),offset:1}),a},t.prototype._createBarPoints=function(e,n){var i=this.visualMapModel.itemSize;return[[i[0]-n[0],e[0]],[i[0],e[0]],[i[0],e[1]],[i[0]-n[1],e[1]]]},t.prototype._createBarGroup=function(e){var n=this._orient,i=this.visualMapModel.get("inverse");return new _t(n==="horizontal"&&!i?{scaleX:e==="bottom"?1:-1,rotation:Math.PI/2}:n==="horizontal"&&i?{scaleX:e==="bottom"?-1:1,rotation:-Math.PI/2}:n==="vertical"&&!i?{scaleX:e==="left"?1:-1,scaleY:-1}:{scaleX:e==="left"?1:-1})},t.prototype._updateHandle=function(e,n){if(this._useHandle){var i=this._shapes,a=this.visualMapModel,o=i.handleThumbs,s=i.handleLabels,l=a.itemSize,u=a.getExtent(),f=this._applyTransform("left",i.mainGroup);gnt([0,1],function(c){var h=o[c];h.setStyle("fill",n.handlesColor[c]),h.y=e[c];var v=Cn(e[c],[0,l[1]],u,!0),d=this.getControllerVisual(v,"symbolSize");h.scaleX=h.scaleY=d/l[0],h.x=l[0]-d/2;var p=cn(i.handleLabelPoints[c],So(h,this.group));if(this._orient==="horizontal"){var g=f==="left"||f==="top"?(l[0]-d)/2:(l[0]-d)/-2;p[1]+=g}s[c].setStyle({x:p[0],y:p[1],text:a.formatValueText(this._dataInterval[c]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",i.mainGroup):"center"})},this)}},t.prototype._showIndicator=function(e,n,i,a){var o=this.visualMapModel,s=o.getExtent(),l=o.itemSize,u=[0,l[1]],f=this._shapes,c=f.indicator;if(c){c.attr("invisible",!1);var h={convertOpacityToAlpha:!0},v=this.getControllerVisual(e,"color",h),d=this.getControllerVisual(e,"symbolSize"),p=Cn(e,s,u,!0),g=l[0]-d/2,y={x:c.x,y:c.y};c.y=p,c.x=g;var m=cn(f.indicatorLabelPoint,So(c,this.group)),_=f.indicatorLabel;_.attr("invisible",!1);var S=this._applyTransform("left",f.mainGroup),x=this._orient,b=x==="horizontal";_.setStyle({text:(i||"")+o.formatValueText(n),verticalAlign:b?S:"middle",align:b?"center":S});var w={x:g,y:p,style:{fill:v}},T={style:{x:m[0],y:m[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var A={duration:100,easing:"cubicInOut",additive:!0};c.x=y.x,c.y=y.y,c.animateTo(w,A),_.animateTo(T,A)}else c.attr(w),_.attr(T);this._firstShowIndicator=!1;var C=this._shapes.handleLabels;if(C)for(var D=0;Do[1]&&(c[1]=1/0),n&&(c[0]===-1/0?this._showIndicator(f,c[1],"< ",l):c[1]===1/0?this._showIndicator(f,c[0],"> ",l):this._showIndicator(f,f,"≈ ",l));var h=this._hoverLinkDataIndices,v=[];(n||KM(i))&&(v=this._hoverLinkDataIndices=i.findTargetDataIndices(c));var d=oF(h,v);this._dispatchHighDown("downplay",_h(d[0],i)),this._dispatchHighDown("highlight",_h(d[1],i))}},t.prototype._hoverLinkFromSeriesMouseOver=function(e){var n;if(so(e.target,function(l){var u=St(l);if(u.dataIndex!=null)return n=u,!0},!0),!!n){var i=this.ecModel.getSeriesByIndex(n.seriesIndex),a=this.visualMapModel;if(a.isTargetSeries(i)){var o=i.getData(n.dataType),s=o.getStore().get(a.getDataDimensionIndex(o),n.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},t.prototype._hideIndicator=function(){var e=this._shapes;e.indicator&&e.indicator.attr("invisible",!0),e.indicatorLabel&&e.indicatorLabel.attr("invisible",!0);var n=this._shapes.handleLabels;if(n)for(var i=0;i=0&&(a.dimension=o,n.push(a))}}),r.getData().setVisual("visualMeta",n)}}];function Ant(r,t,e,n){for(var i=t.targetVisuals[n],a=ze.prepareVisualTypes(i),o={color:Cf(r.getData(),"color")},s=0,l=a.length;s0:t.splitNumber>0)||t.calculable)?"continuous":"piecewise"}),r.registerAction(bnt,wnt),M(Tnt,function(t){r.registerVisual(r.PRIORITY.VISUAL.COMPONENT,t)}),r.registerPreprocessor(Cnt))}function GO(r){r.registerComponentModel(dnt),r.registerComponentView(xnt),zO(r)}var Mnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._pieceList=[],e}return t.prototype.optionUpdated=function(e,n){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],Dnt[this._mode].call(this,this._pieceList),this._resetSelected(e,n);var a=this.option.categories;this.resetVisual(function(o,s){i==="categories"?(o.mappingMethod="category",o.categories=mt(a)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=Z(this._pieceList,function(l){return l=mt(l),s!=="inRange"&&(l.visual=null),l}))})},t.prototype.completeVisualOption=function(){var e=this.option,n={},i=ze.listVisualTypes(),a=this.isCategory();M(e.pieces,function(s){M(i,function(l){s.hasOwnProperty(l)&&(n[l]=1)})}),M(n,function(s,l){var u=!1;M(this.stateList,function(f){u=u||o(e,f,l)||o(e.target,f,l)},this),!u&&M(this.stateList,function(f){(e[f]||(e[f]={}))[l]=NO.get(l,f==="inRange"?"active":"inactive",a)})},this);function o(s,l,u){return s&&s[l]&&s[l].hasOwnProperty(u)}r.prototype.completeVisualOption.apply(this,arguments)},t.prototype._resetSelected=function(e,n){var i=this.option,a=this._pieceList,o=(n?i:e).selected||{};if(i.selected=o,M(a,function(l,u){var f=this.getSelectedMapKey(l);o.hasOwnProperty(f)||(o[f]=!0)},this),i.selectedMode==="single"){var s=!1;M(a,function(l,u){var f=this.getSelectedMapKey(l);o[f]&&(s?o[f]=!1:s=!0)},this)}},t.prototype.getItemSymbol=function(){return this.get("itemSymbol")},t.prototype.getSelectedMapKey=function(e){return this._mode==="categories"?e.value+"":e.index+""},t.prototype.getPieceList=function(){return this._pieceList},t.prototype._determineMode=function(){var e=this.option;return e.pieces&&e.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},t.prototype.setSelected=function(e){this.option.selected=mt(e)},t.prototype.getValueState=function(e){var n=ze.findPieceIndex(e,this._pieceList);return n!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[n])]?"inRange":"outOfRange"},t.prototype.findTargetDataIndices=function(e){var n=[],i=this._pieceList;return this.eachTargetSeries(function(a){var o=[],s=a.getData();s.each(this.getDataDimensionIndex(s),function(l,u){var f=ze.findPieceIndex(l,i);f===e&&o.push(u)},this),n.push({seriesId:a.id,dataIndex:o})},this),n},t.prototype.getRepresentValue=function(e){var n;if(this.isCategory())n=e.value;else if(e.value!=null)n=e.value;else{var i=e.interval||[];n=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return n},t.prototype.getVisualMeta=function(e){if(this.isCategory())return;var n=[],i=["",""],a=this;function o(f,c){var h=a.getRepresentValue({interval:f});c||(c=a.getValueState(h));var v=e(h,c);f[0]===-1/0?i[0]=v:f[1]===1/0?i[1]=v:n.push({value:f[0],color:v},{value:f[1],color:v})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var l=s[0].interval[0];l!==-1/0&&s.unshift({interval:[-1/0,l]}),l=s[s.length-1].interval[1],l!==1/0&&s.push({interval:[l,1/0]})}var u=-1/0;return M(s,function(f){var c=f.interval;c&&(c[0]>u&&o([u,c[0]],"outOfRange"),o(c.slice()),u=c[1])},this),{stops:n,outerColors:i}},t.type="visualMap.piecewise",t.defaultOption=ga(bv.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),t}(bv),Dnt={splitNumber:function(r){var t=this.option,e=Math.min(t.precision,20),n=this.getExtent(),i=t.splitNumber;i=Math.max(parseInt(i,10),1),t.splitNumber=i;for(var a=(n[1]-n[0])/i;+a.toFixed(e)!==a&&e<5;)e++;t.precision=e,a=+a.toFixed(e),t.minOpen&&r.push({interval:[-1/0,n[0]],close:[0,0]});for(var o=0,s=n[0];o","≥"][n[0]]];e.text=e.text||this.formatValueText(e.value!=null?e.value:e.interval,!1,i)},this)}};function tD(r,t){var e=r.inverse;(r.orient==="vertical"?!e:e)&&t.reverse()}const Int=Mnt;var Lnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.doRender=function(){var e=this.group;e.removeAll();var n=this.visualMapModel,i=n.get("textGap"),a=n.textStyleModel,o=a.getFont(),s=a.getTextColor(),l=this._getItemAlign(),u=n.itemSize,f=this._getViewData(),c=f.endsText,h=Re(n.get("showLabel",!0),!c),v=!n.get("selectedMode");c&&this._renderEndsText(e,c[0],u,h,l),M(f.viewPieceList,function(d){var p=d.piece,g=new _t;g.onclick=at(this._onItemClick,this,p),this._enableHoverLink(g,d.indexInModelPieceList);var y=n.getRepresentValue(p);if(this._createItemSymbol(g,y,[0,0,u[0],u[1]],v),h){var m=this.visualMapModel.getValueState(y);g.add(new Gt({style:{x:l==="right"?-i:u[0]+i,y:u[1]/2,text:p.text,verticalAlign:"middle",align:l,font:o,fill:s,opacity:m==="outOfRange"?.5:1},silent:v}))}e.add(g)},this),c&&this._renderEndsText(e,c[1],u,h,l),xo(n.get("orient"),e,n.get("itemGap")),this.renderBackground(e),this.positionGroup(e)},t.prototype._enableHoverLink=function(e,n){var i=this;e.on("mouseover",function(){return a("highlight")}).on("mouseout",function(){return a("downplay")});var a=function(o){var s=i.visualMapModel;s.option.hoverLink&&i.api.dispatchAction({type:o,batch:_h(s.findTargetDataIndices(n),s)})}},t.prototype._getItemAlign=function(){var e=this.visualMapModel,n=e.option;if(n.orient==="vertical")return BO(e,this.api,e.itemSize);var i=n.align;return(!i||i==="auto")&&(i="left"),i},t.prototype._renderEndsText=function(e,n,i,a,o){if(n){var s=new _t,l=this.visualMapModel.textStyleModel;s.add(new Gt({style:Qt(l,{x:a?o==="right"?i[0]:0:i[0]/2,y:i[1]/2,verticalAlign:"middle",align:a?o:"center",text:n})})),e.add(s)}},t.prototype._getViewData=function(){var e=this.visualMapModel,n=Z(e.getPieceList(),function(s,l){return{piece:s,indexInModelPieceList:l}}),i=e.get("text"),a=e.get("orient"),o=e.get("inverse");return(a==="horizontal"?o:!o)?n.reverse():i&&(i=i.slice().reverse()),{viewPieceList:n,endsText:i}},t.prototype._createItemSymbol=function(e,n,i,a){var o=me(this.getControllerVisual(n,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(n,"color"));o.silent=a,e.add(o)},t.prototype._onItemClick=function(e){var n=this.visualMapModel,i=n.option,a=i.selectedMode;if(a){var o=mt(i.selected),s=n.getSelectedMapKey(e);a==="single"||a===!0?(o[s]=!0,M(o,function(l,u){o[u]=u===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},t.type="visualMap.piecewise",t}(VO);const Pnt=Lnt;function FO(r){r.registerComponentModel(Int),r.registerComponentView(Pnt),zO(r)}function Rnt(r){Lt(GO),Lt(FO)}var Ent={label:{enabled:!0},decal:{show:!1}},eD=Nt(),knt={};function Ont(r,t){var e=r.getModel("aria");if(!e.get("enabled"))return;var n=mt(Ent);Tt(n.label,r.getLocaleModel().get("aria"),!1),Tt(e.option,n,!1),i(),a();function i(){var u=e.getModel("decal"),f=u.get("show");if(f){var c=ft();r.eachSeries(function(h){if(!h.isColorBySeries()){var v=c.get(h.type);v||(v={},c.set(h.type,v)),eD(h).scope=v}}),r.eachRawSeries(function(h){if(r.isSeriesFiltered(h))return;if(vt(h.enableAriaDecal)){h.enableAriaDecal();return}var v=h.getData();if(h.isColorBySeries()){var m=ym(h.ecModel,h.name,knt,r.getSeriesCount()),_=v.getVisual("decal");v.setVisual("decal",S(_,m))}else{var d=h.getRawData(),p={},g=eD(h).scope;v.each(function(x){var b=v.getRawIndex(x);p[b]=x});var y=d.count();d.each(function(x){var b=p[x],w=d.getName(x)||x+"",T=ym(h.ecModel,w,g,y),A=v.getItemVisual(b,"decal");v.setItemVisual(b,"decal",S(A,T))})}function S(x,b){var w=x?F(F({},b),x):b;return w.dirty=!0,w}})}}function a(){var u=t.getZr().dom;if(u){var f=r.getLocaleModel().get("aria"),c=e.getModel("label");if(c.option=pt(c.option,f),!!c.get("enabled")){if(u.setAttribute("role","img"),c.get("description")){u.setAttribute("aria-label",c.get("description"));return}var h=r.getSeriesCount(),v=c.get(["data","maxCount"])||10,d=c.get(["series","maxCount"])||10,p=Math.min(h,d),g;if(!(h<1)){var y=s();if(y){var m=c.get(["general","withTitle"]);g=o(m,{title:y})}else g=c.get(["general","withoutTitle"]);var _=[],S=h>1?c.get(["series","multiple","prefix"]):c.get(["series","single","prefix"]);g+=o(S,{seriesCount:h}),r.eachSeries(function(T,A){if(A1?c.get(["series","multiple",I]):c.get(["series","single",I]),C=o(C,{seriesId:T.seriesIndex,seriesName:T.get("name"),seriesType:l(T.subType)});var L=T.getData();if(L.count()>v){var P=c.get(["data","partialData"]);C+=o(P,{displayCnt:v})}else C+=c.get(["data","allData"]);for(var E=c.get(["data","separator","middle"]),O=c.get(["data","separator","end"]),V=c.get(["data","excludeDimensionId"]),N=[],z=0;z":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},Bnt=function(){function r(t){var e=this._condVal=nt(t)?new RegExp(t):p5(t)?t:null;if(e==null){var n="";Wt(n)}}return r.prototype.evaluate=function(t){var e=typeof t;return nt(e)?this._condVal.test(t):Ft(e)?this._condVal.test(t+""):!1},r}(),znt=function(){function r(){}return r.prototype.evaluate=function(){return this.value},r}(),Gnt=function(){function r(){}return r.prototype.evaluate=function(){for(var t=this.children,e=0;e2&&n.push(i),i=[L,P]}function f(L,P,E,O){xs(L,E)&&xs(P,O)||i.push(L,P,E,O,E,O)}function c(L,P,E,O,V,N){var z=Math.abs(P-L),$=Math.tan(z/4)*4/3,q=PT:D2&&n.push(i),n}function y0(r,t,e,n,i,a,o,s,l,u){if(xs(r,e)&&xs(t,n)&&xs(i,o)&&xs(a,s)){l.push(o,s);return}var f=2/u,c=f*f,h=o-r,v=s-t,d=Math.sqrt(h*h+v*v);h/=d,v/=d;var p=e-r,g=n-t,y=i-o,m=a-s,_=p*p+g*g,S=y*y+m*m;if(_=0&&T=0){l.push(o,s);return}var A=[],C=[];aa(r,e,i,o,.5,A),aa(t,n,a,s,.5,C),y0(A[0],C[0],A[1],C[1],A[2],C[2],A[3],C[3],l,u),y0(A[4],C[4],A[5],C[5],A[6],C[6],A[7],C[7],l,u)}function tit(r,t){var e=g0(r),n=[];t=t||1;for(var i=0;i0)for(var u=0;uMath.abs(u),c=WO([l,u],f?0:1,t),h=(f?s:u)/c.length,v=0;vi,o=WO([n,i],a?0:1,t),s=a?"width":"height",l=a?"height":"width",u=a?"x":"y",f=a?"y":"x",c=r[s]/o.length,h=0;h1?null:new Ct(p*l+r,p*u+t)}function nit(r,t,e){var n=new Ct;Ct.sub(n,e,t),n.normalize();var i=new Ct;Ct.sub(i,r,t);var a=i.dot(n);return a}function us(r,t){var e=r[r.length-1];e&&e[0]===t[0]&&e[1]===t[1]||r.push(t)}function iit(r,t,e){for(var n=r.length,i=[],a=0;ao?(u.x=f.x=s+a/2,u.y=l,f.y=l+o):(u.y=f.y=l+o/2,u.x=s,f.x=s+a),iit(t,u,f)}function wv(r,t,e,n){if(e===1)n.push(t);else{var i=Math.floor(e/2),a=r(t);wv(r,a[0],i,n),wv(r,a[1],e-i,n)}return n}function ait(r,t){for(var e=[],n=0;n0)for(var x=n/e,b=-n/2;b<=n/2;b+=x){for(var w=Math.sin(b),T=Math.cos(b),A=0,_=0;_0;u/=2){var f=0,c=0;(r&u)>0&&(f=1),(t&u)>0&&(c=1),s+=u*u*(3*f^c),c===0&&(f===1&&(r=u-1-r,t=u-1-t),l=r,r=t,t=l)}return s}function Cv(r){var t=1/0,e=1/0,n=-1/0,i=-1/0,a=Z(r,function(s){var l=s.getBoundingRect(),u=s.getComputedTransform(),f=l.x+l.width/2+(u?u[4]:0),c=l.y+l.height/2+(u?u[5]:0);return t=Math.min(f,t),e=Math.min(c,e),n=Math.max(f,n),i=Math.max(c,i),[f,c]}),o=Z(a,function(s,l){return{cp:s,z:dit(s[0],s[1],t,e,n,i),path:r[l]}});return o.sort(function(s,l){return s.z-l.z}).map(function(s){return s.path})}function YO(r){return lit(r.path,r.count)}function m0(){return{fromIndividuals:[],toIndividuals:[],count:0}}function pit(r,t,e){var n=[];function i(x){for(var b=0;b=0;i--)if(!e[i].many.length){var l=e[s].many;if(l.length<=1)if(s)s=0;else return e;var a=l.length,u=Math.ceil(a/2);e[i].many=l.slice(u,a),e[s].many=l.slice(0,u),s++}return e}var yit={clone:function(r){for(var t=[],e=1-Math.pow(1-r.path.style.opacity,1/r.count),n=0;n0))return;var s=n.getModel("universalTransition").get("delay"),l=Object.assign({setToFinal:!0},o),u,f;fD(r)&&(u=r,f=t),fD(t)&&(u=t,f=r);function c(y,m,_,S,x){var b=y.many,w=y.one;if(b.length===1&&!x){var T=m?b[0]:w,A=m?w:b[0];if(Tv(T))c({many:[T],one:A},!0,_,S,!0);else{var C=s?pt({delay:s(_,S)},l):l;iS(T,A,C),a(T,A,T,A,C)}}else for(var D=pt({dividePath:yit[e],individualDelay:s&&function(V,N,z,$){return s(V+_,S)}},l),I=m?pit(b,w,D):git(w,b,D),L=I.fromIndividuals,P=I.toIndividuals,E=L.length,O=0;Ot.length,v=u?cD(f,u):cD(h?t:r,[h?r:t]),d=0,p=0;pZO))for(var a=n.getIndices(),o=0;o0&&b.group.traverse(function(T){T instanceof Pt&&!T.animators.length&&T.animateFrom({style:{opacity:0}},w)})})}function gD(r){var t=r.getModel("universalTransition").get("seriesKey");return t||r.id}function yD(r){return Y(r)?r.sort().join(","):r}function Wi(r){if(r.hostModel)return r.hostModel.getModel("universalTransition").get("divideShape")}function Tit(r,t){var e=ft(),n=ft(),i=ft();return M(r.oldSeries,function(a,o){var s=r.oldDataGroupIds[o],l=r.oldData[o],u=gD(a),f=yD(u);n.set(f,{dataGroupId:s,data:l}),Y(u)&&M(u,function(c){i.set(c,{key:f,dataGroupId:s,data:l})})}),M(t.updatedSeries,function(a){if(a.isUniversalTransitionEnabled()&&a.isAnimationEnabled()){var o=a.get("dataGroupId"),s=a.getData(),l=gD(a),u=yD(l),f=n.get(u);if(f)e.set(u,{oldSeries:[{dataGroupId:f.dataGroupId,divide:Wi(f.data),data:f.data}],newSeries:[{dataGroupId:o,divide:Wi(s),data:s}]});else if(Y(l)){var c=[];M(l,function(d){var p=n.get(d);p.data&&c.push({dataGroupId:p.dataGroupId,divide:Wi(p.data),data:p.data})}),c.length&&e.set(u,{oldSeries:c,newSeries:[{dataGroupId:o,data:s,divide:Wi(s)}]})}else{var h=i.get(l);if(h){var v=e.get(h.key);v||(v={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:Wi(h.data)}],newSeries:[]},e.set(h.key,v)),v.newSeries.push({dataGroupId:o,data:s,divide:Wi(s)})}}}}),e}function mD(r,t){for(var e=0;e=0&&i.push({dataGroupId:t.oldDataGroupIds[s],data:t.oldData[s],divide:Wi(t.oldData[s]),groupIdDim:o.dimension})}),M(Zt(r.to),function(o){var s=mD(e.updatedSeries,o);if(s>=0){var l=e.updatedSeries[s].getData();a.push({dataGroupId:t.oldDataGroupIds[s],data:l,divide:Wi(l),groupIdDim:o.dimension})}}),i.length>0&&a.length>0&&XO(i,a,n)}function Cit(r){r.registerUpdateLifecycle("series:beforeupdate",function(t,e,n){M(Zt(n.seriesTransition),function(i){M(Zt(i.to),function(a){for(var o=n.updatedSeries,s=0;s{_0(r)}))}function _0(r,t=new WeakSet){if(!(!r||typeof r!="object")&&!t.has(r)){if(t.add(r),Array.isArray(r)){r.forEach(e=>_0(e,t));return}r.tooltip&&typeof r.tooltip=="object"&&(r.tooltip=Dit(r.tooltip)),Object.keys(r).forEach(e=>{const n=r[e];!n||typeof n!="object"||_0(n,t)})}}function Dit(r){var t,e;return cS(fS({},r),{appendToBody:(t=r.appendToBody)!=null?t:!0,confine:(e=r.confine)!=null?e:!1,extraCssText:Iit(r.extraCssText)})}function Iit(r=""){const t=String(r||"").trim();return t?/z-index\s*:/i.test(t)?t:`${t.replace(/;$/,"")};${_D}`:_D}Mit();let Lit=LB(Jz);Lit.use(GI).mount("#app");export{Wit as A,Yit as B,Git as C,Hit as D,$it as E,zr as F,Nit as G,H0 as H,Xit as I,Zit as J,Kit as K,bf as L,qit as M,k0 as N,jV as O,kit as P,TI as Q,Rit as R,jit as S,Oit as T,ke as U,B_ as V,qz as _,xI as a,Pe as b,zit as c,Yc as d,nn as e,uV as f,Fit as g,Uz as h,un as i,oV as j,L0 as k,Vit as l,b0 as m,w0 as n,Ch as o,Zc as p,Dh as q,Bit as r,ON as s,hN as t,vo as u,YV as v,Xc as w,ZN as x,Uit as y,Eit as z}; +`:"
",y=c.join(g);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(e,u)?this._updatePosition(s,v,o[0],o[1],this._tooltipContent,u):this._showTooltipContent(s,y,u,Math.random()+"",o[0],o[1],v,null,h)})},t.prototype._showSeriesItemTooltip=function(e,n,i){var a=this._ecModel,o=St(n),s=o.seriesIndex,l=a.getSeriesByIndex(s),u=o.dataModel||l,f=o.dataIndex,c=o.dataType,h=u.getData(c),v=this._renderMode,d=e.positionDefault,p=$l([h.getItemModel(f),u,l&&(l.coordinateSystem||{}).model],this._tooltipModel,d?{position:d}:null),g=p.get("trigger");if(!(g!=null&&g!=="item")){var y=u.getDataParams(f,c),m=new Gp;y.marker=m.makeTooltipMarker("item",Po(y.color),v);var _=ew(u.formatTooltip(f,!1,c)),S=p.get("order"),x=p.get("valueFormatter"),b=_.frag,w=b?sw(x?F({valueFormatter:x},b):b,m,v,S,a.get("useUTC"),p.get("textStyle")):_.text,T="item_"+u.name+"_"+f;this._showOrMove(p,function(){this._showTooltipContent(p,w,y,T,e.offsetX,e.offsetY,e.position,e.target,m)}),i({type:"showTip",dataIndexInside:f,dataIndex:h.getRawIndex(f),seriesIndex:s,from:this.uid})}},t.prototype._showComponentItemTooltip=function(e,n,i){var a=this._renderMode==="html",o=St(n),s=o.tooltipConfig,l=s.option||{},u=l.encodeHTMLContent;if(nt(l)){var f=l;l={content:f,formatter:f},u=!0}u&&a&&l.content&&(l=mt(l),l.content=qe(l.content));var c=[l],h=this._ecModel.getComponent(o.componentMainType,o.componentIndex);h&&c.push(h),c.push({formatter:l.content});var v=e.positionDefault,d=$l(c,this._tooltipModel,v?{position:v}:null),p=d.get("content"),g=Math.random()+"",y=new Gp;this._showOrMove(d,function(){var m=mt(d.get("formatterParams")||{});this._showTooltipContent(d,p,m,g,e.offsetX,e.offsetY,e.position,n,y)}),i({type:"showTip",from:this.uid})},t.prototype._showTooltipContent=function(e,n,i,a,o,s,l,u,f){if(this._ticket="",!(!e.get("showContent")||!e.get("show"))){var c=this._tooltipContent;c.setEnterable(e.get("enterable"));var h=e.get("formatter");l=l||e.get("position");var v=n,d=this._getNearestPoint([o,s],i,e.get("trigger"),e.get("borderColor")),p=d.color;if(h)if(nt(h)){var g=e.ecModel.get("useUTC"),y=Y(i)?i[0]:i,m=y&&y.axisType&&y.axisType.indexOf("time")>=0;v=h,m&&(v=ud(y.axisValue,v,g)),v=ZP(v,i,!0)}else if(vt(h)){var _=at(function(S,x){S===this._ticket&&(c.setContent(x,f,e,p,l),this._updatePosition(e,l,o,s,c,i,u))},this);this._ticket=a,v=h(i,a,_)}else v=h;c.setContent(v,f,e,p,l),c.show(e,p),this._updatePosition(e,l,o,s,c,i,u)}},t.prototype._getNearestPoint=function(e,n,i,a){if(i==="axis"||Y(n))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!Y(n))return{color:a||n.color||n.borderColor}},t.prototype._updatePosition=function(e,n,i,a,o,s,l){var u=this._api.getWidth(),f=this._api.getHeight();n=n||e.get("position");var c=o.getSize(),h=e.get("align"),v=e.get("verticalAlign"),d=l&&l.getBoundingRect().clone();if(l&&d.applyTransform(l.transform),vt(n)&&(n=n([i,a],s,o.el,d,{viewSize:[u,f],contentSize:c.slice()})),Y(n))i=rt(n[0],u),a=rt(n[1],f);else if(yt(n)){var p=n;p.width=c[0],p.height=c[1];var g=be(p,{width:u,height:f});i=g.x,a=g.y,h=null,v=null}else if(nt(n)&&l){var y=fet(n,d,c,e.get("borderWidth"));i=y[0],a=y[1]}else{var y=set(i,a,o,u,f,h?null:20,v?null:20);i=y[0],a=y[1]}if(h&&(i-=mM(h)?c[0]/2:h==="right"?c[0]:0),v&&(a-=mM(v)?c[1]/2:v==="bottom"?c[1]:0),SO(e)){var y=uet(i,a,o,u,f);i=y[0],a=y[1]}o.moveTo(i,a)},t.prototype._updateContentNotChangedOnAxis=function(e,n){var i=this._lastDataByCoordSys,a=this._cbParamsList,o=!!i&&i.length===e.length;return o&&M(i,function(s,l){var u=s.dataByAxis||[],f=e[l]||{},c=f.dataByAxis||[];o=o&&u.length===c.length,o&&M(u,function(h,v){var d=c[v]||{},p=h.seriesDataIndices||[],g=d.seriesDataIndices||[];o=o&&h.value===d.value&&h.axisType===d.axisType&&h.axisId===d.axisId&&p.length===g.length,o&&M(p,function(y,m){var _=g[m];o=o&&y.seriesIndex===_.seriesIndex&&y.dataIndex===_.dataIndex}),a&&M(h.seriesDataIndices,function(y){var m=y.seriesIndex,_=n[m],S=a[m];_&&S&&S.data!==_.data&&(o=!1)})})}),this._lastDataByCoordSys=e,this._cbParamsList=n,!!o},t.prototype._hide=function(e){this._lastDataByCoordSys=null,e({type:"hideTip",from:this.uid})},t.prototype.dispose=function(e,n){zt.node||!n.getDom()||(tf(this,"_updatePosition"),this._tooltipContent.dispose(),o0("itemTooltip",n))},t.type="tooltip",t}(fe);function $l(r,t,e){var n=t.ecModel,i;e?(i=new te(e,n,n),i=new te(t.option,i,n)):i=t;for(var a=r.length-1;a>=0;a--){var o=r[a];o&&(o instanceof te&&(o=o.get("tooltip",!0)),nt(o)&&(o={formatter:o}),o&&(i=new te(o,i,n)))}return i}function yM(r,t){return r.dispatchAction||at(t.dispatchAction,t)}function set(r,t,e,n,i,a,o){var s=e.getSize(),l=s[0],u=s[1];return a!=null&&(r+l+a+2>n?r-=l+a:r+=a),o!=null&&(t+u+o>i?t-=u+o:t+=o),[r,t]}function uet(r,t,e,n,i){var a=e.getSize(),o=a[0],s=a[1];return r=Math.min(r+o,n)-o,t=Math.min(t+s,i)-s,r=Math.max(r,0),t=Math.max(t,0),[r,t]}function fet(r,t,e,n){var i=e[0],a=e[1],o=Math.ceil(Math.SQRT2*n)+8,s=0,l=0,u=t.width,f=t.height;switch(r){case"inside":s=t.x+u/2-i/2,l=t.y+f/2-a/2;break;case"top":s=t.x+u/2-i/2,l=t.y-a-o;break;case"bottom":s=t.x+u/2-i/2,l=t.y+f+o;break;case"left":s=t.x-i-o,l=t.y+f/2-a/2;break;case"right":s=t.x+u+o,l=t.y+f/2-a/2}return[s,l]}function mM(r){return r==="center"||r==="middle"}function cet(r,t,e){var n=f_(r).queryOptionMap,i=n.keys()[0];if(!(!i||i==="series")){var a=wf(t,i,n.get(i),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=e.getViewOfComponentModel(o),l;if(s.group.traverse(function(u){var f=St(u).tooltipConfig;if(f&&f.name===r.name)return l=u,!0}),l)return{componentMainType:i,componentIndex:o.componentIndex,el:l}}}}const het=oet;function vet(r){Lt(Gf),r.registerComponentModel(Utt),r.registerComponentView(het),r.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},pe),r.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},pe)}var det=["rect","polygon","keep","clear"];function pet(r,t){var e=Zt(r?r.brush:[]);if(e.length){var n=[];M(e,function(l){var u=l.hasOwnProperty("toolbox")?l.toolbox:[];u instanceof Array&&(n=n.concat(u))});var i=r&&r.toolbox;Y(i)&&(i=i[0]),i||(i={feature:{}},r.toolbox=[i]);var a=i.feature||(i.feature={}),o=a.brush||(a.brush={}),s=o.type||(o.type=[]);s.push.apply(s,n),get(s),t&&!s.length&&s.push.apply(s,det)}}function get(r){var t={};M(r,function(e){t[e]=1}),r.length=0,M(t,function(e,n){r.push(n)})}var _M=M;function SM(r){if(r){for(var t in r)if(r.hasOwnProperty(t))return!0}}function h0(r,t,e){var n={};return _M(t,function(a){var o=n[a]=i();_M(r[a],function(s,l){if(Ge.isValidType(l)){var u={type:l,visual:s};e&&e(u,a),o[l]=new Ge(u),l==="opacity"&&(u=mt(u),u.type="colorAlpha",o.__hidden.__alphaForOpacity=new Ge(u))}})}),n;function i(){var a=function(){};a.prototype.__hidden=a.prototype;var o=new a;return o}}function TO(r,t,e){var n;M(e,function(i){t.hasOwnProperty(i)&&SM(t[i])&&(n=!0)}),n&&M(e,function(i){t.hasOwnProperty(i)&&SM(t[i])?r[i]=mt(t[i]):delete r[i]})}function yet(r,t,e,n,i,a){var o={};M(r,function(c){var h=Ge.prepareVisualTypes(t[c]);o[c]=h});var s;function l(c){return H_(e,s,c)}function u(c,h){B2(e,s,c,h)}a==null?e.each(f):e.each([a],f);function f(c,h){s=a==null?c:h;var v=e.getRawDataItem(s);if(!(v&&v.visualMap===!1))for(var d=n.call(i,c),p=t[d],g=o[d],y=0,m=g.length;yt[0][1]&&(t[0][1]=a[0]),a[1]t[1][1]&&(t[1][1]=a[1])}return t&&AM(t)}};function AM(r){return new Mt(r[0][0],r[1][0],r[0][1]-r[0][0],r[1][1]-r[1][0])}var Cet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){this.ecModel=e,this.api=n,this.model,(this._brushController=new P1(n.getZr())).on("brush",at(this._onBrush,this)).mount()},t.prototype.render=function(e,n,i,a){this.model=e,this._updateController(e,n,i,a)},t.prototype.updateTransform=function(e,n,i,a){AO(n),this._updateController(e,n,i,a)},t.prototype.updateVisual=function(e,n,i,a){this.updateTransform(e,n,i,a)},t.prototype.updateView=function(e,n,i,a){this._updateController(e,n,i,a)},t.prototype._updateController=function(e,n,i,a){(!a||a.$from!==e.id)&&this._brushController.setPanels(e.brushTargetManager.makePanelOpts(i)).enableBrush(e.brushOption).updateCovers(e.areas.slice())},t.prototype.dispose=function(){this._brushController.dispose()},t.prototype._onBrush=function(e){var n=this.model.id,i=this.model.brushTargetManager.setOutputRanges(e.areas,this.ecModel);(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:mt(i),$from:n}),e.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:n,areas:mt(i),$from:n})},t.type="brush",t}(fe);const Met=Cet;var Det="#ddd",Iet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.areas=[],e.brushOption={},e}return t.prototype.optionUpdated=function(e,n){var i=this.option;!n&&TO(i,e,["inBrush","outOfBrush"]);var a=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:Det},a.hasOwnProperty("liftZ")||(a.liftZ=5)},t.prototype.setAreas=function(e){e&&(this.areas=Z(e,function(n){return CM(this.option,n)},this))},t.prototype.setBrushOption=function(e){this.brushOption=CM(this.option,e),this.brushType=this.brushOption.brushType},t.type="brush",t.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],t.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},t}(Bt);function CM(r,t){return Tt({brushType:r.brushType,brushMode:r.brushMode,transformable:r.transformable,brushStyle:new te(r.brushStyle).getItemStyle(),removeOnClick:r.removeOnClick,z:r.z},t,!0)}const Let=Iet;var Pet=["rect","polygon","lineX","lineY","keep","clear"],Ret=function(r){B(t,r);function t(){return r!==null&&r.apply(this,arguments)||this}return t.prototype.render=function(e,n,i){var a,o,s;n.eachComponent({mainType:"brush"},function(l){a=l.brushType,o=l.brushOption.brushMode||"single",s=s||!!l.areas.length}),this._brushType=a,this._brushMode=o,M(e.get("type",!0),function(l){e.setIconStatus(l,(l==="keep"?o==="multiple":l==="clear"?s:l===a)?"emphasis":"normal")})},t.prototype.updateView=function(e,n,i){this.render(e,n,i)},t.prototype.getIcons=function(){var e=this.model,n=e.get("icon",!0),i={};return M(e.get("type",!0),function(a){n[a]&&(i[a]=n[a])}),i},t.prototype.onclick=function(e,n,i){var a=this._brushType,o=this._brushMode;i==="clear"?(n.dispatchAction({type:"axisAreaSelect",intervals:[]}),n.dispatchAction({type:"brush",command:"clear",areas:[]})):n.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:i==="keep"?a:a===i?!1:i,brushMode:i==="keep"?o==="multiple"?"single":"multiple":o}})},t.getDefaultOption=function(e){var n={show:!0,type:Pet.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:e.getLocaleModel().get(["toolbox","brush","title"])};return n},t}(Fr);const Eet=Ret;function ket(r){r.registerComponentView(Met),r.registerComponentModel(Let),r.registerPreprocessor(pet),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,xet),r.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(n){n.setAreas(t.areas)})}),r.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},pe),r.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},pe),_s("brush",Eet)}var Oet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode={type:"box",ignoreSize:!0},e}return t.type="title",t.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},t}(Bt),Net=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.render=function(e,n,i){if(this.group.removeAll(),!!e.get("show")){var a=this.group,o=e.getModel("textStyle"),s=e.getModel("subtextStyle"),l=e.get("textAlign"),u=xt(e.get("textBaseline"),e.get("textVerticalAlign")),f=new Gt({style:Qt(o,{text:e.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),c=f.getBoundingRect(),h=e.get("subtext"),v=new Gt({style:Qt(s,{text:h,fill:s.getTextColor(),y:c.height+e.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),d=e.get("link"),p=e.get("sublink"),g=e.get("triggerEvent",!0);f.silent=!d&&!g,v.silent=!p&&!g,d&&f.on("click",function(){Kh(d,"_"+e.get("target"))}),p&&v.on("click",function(){Kh(p,"_"+e.get("subtarget"))}),St(f).eventData=St(v).eventData=g?{componentType:"title",componentIndex:e.componentIndex}:null,a.add(f),h&&a.add(v);var y=a.getBoundingRect(),m=e.getBoxLayoutParams();m.width=y.width,m.height=y.height;var _=be(m,{width:i.getWidth(),height:i.getHeight()},e.get("padding"));l||(l=e.get("left")||e.get("right"),l==="middle"&&(l="center"),l==="right"?_.x+=_.width:l==="center"&&(_.x+=_.width/2)),u||(u=e.get("top")||e.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?_.y+=_.height:u==="middle"&&(_.y+=_.height/2),u=u||"top"),a.x=_.x,a.y=_.y,a.markRedraw();var S={align:l,verticalAlign:u};f.setStyle(S),v.setStyle(S),y=a.getBoundingRect();var x=_.margin,b=e.getItemStyle(["color","opacity"]);b.fill=e.get("backgroundColor");var w=new Vt({shape:{x:y.x-x[3],y:y.y-x[0],width:y.width+x[1]+x[3],height:y.height+x[0]+x[2],r:e.get("borderRadius")},style:b,subPixelOptimize:!0,silent:!0});a.add(w)}},t.type="title",t}(fe);function Vet(r){r.registerComponentModel(Oet),r.registerComponentView(Net)}var Bet=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode="box",e}return t.prototype.init=function(e,n,i){this.mergeDefaultAndTheme(e,i),this._initData()},t.prototype.mergeOption=function(e){r.prototype.mergeOption.apply(this,arguments),this._initData()},t.prototype.setCurrentIndex=function(e){e==null&&(e=this.option.currentIndex);var n=this._data.count();this.option.loop?e=(e%n+n)%n:(e>=n&&(e=n-1),e<0&&(e=0)),this.option.currentIndex=e},t.prototype.getCurrentIndex=function(){return this.option.currentIndex},t.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},t.prototype.setPlayState=function(e){this.option.autoPlay=!!e},t.prototype.getPlayState=function(){return!!this.option.autoPlay},t.prototype._initData=function(){var e=this.option,n=e.data||[],i=e.axisType,a=this._names=[],o;i==="category"?(o=[],M(n,function(u,f){var c=xe(tl(u),""),h;yt(u)?(h=mt(u),h.value=f):h=f,o.push(h),a.push(c)})):o=n;var s={category:"ordinal",time:"time",value:"number"}[i]||"number",l=this._data=new sr([{name:"value",type:s}],this);l.initData(o,a)},t.prototype.getData=function(){return this._data},t.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},t.type="timeline",t.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},t}(Bt);const MM=Bet;var CO=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="timeline.slider",t.defaultOption=ya(MM.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),t}(MM);_e(CO,gd.prototype);const zet=CO;var Get=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="timeline",t}(fe);const Fet=Get;var Het=function(r){B(t,r);function t(e,n,i,a){var o=r.call(this,e,n,i)||this;return o.type=a||"value",o}return t.prototype.getLabelModel=function(){return this.model.getModel("label")},t.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},t}(mn);const Wet=Het;var iy=Math.PI,DM=Nt(),$et=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(e,n){this.api=n},t.prototype.render=function(e,n,i){if(this.model=e,this.api=i,this.ecModel=n,this.group.removeAll(),e.get("show",!0)){var a=this._layout(e,i),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),l=this._axis=this._createAxis(a,e);e.formatTooltip=function(u){var f=l.scale.getLabel({value:u});return Ie("nameValue",{noName:!0,value:f})},M(["AxisLine","AxisTick","Control","CurrentPointer"],function(u){this["_render"+u](a,o,l,e)},this),this._renderAxisLabel(a,s,l,e),this._position(a,e)}this._doPlayStop(),this._updateTicksStatus()},t.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},t.prototype.dispose=function(){this._clearTimer()},t.prototype._layout=function(e,n){var i=e.get(["label","position"]),a=e.get("orient"),o=Yet(e,n),s;i==null||i==="auto"?s=a==="horizontal"?o.y+o.height/2=0||s==="+"?"left":"right"},u={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},f={horizontal:0,vertical:iy/2},c=a==="vertical"?o.height:o.width,h=e.getModel("controlStyle"),v=h.get("show",!0),d=v?h.get("itemSize"):0,p=v?h.get("itemGap"):0,g=d+p,y=e.get(["label","rotate"])||0;y=y*iy/180;var m,_,S,x=h.get("position",!0),b=v&&h.get("showPlayBtn",!0),w=v&&h.get("showPrevBtn",!0),T=v&&h.get("showNextBtn",!0),A=0,C=c;x==="left"||x==="bottom"?(b&&(m=[0,0],A+=g),w&&(_=[A,0],A+=g),T&&(S=[C-d,0],C-=g)):(b&&(m=[C-d,0],C-=g),w&&(_=[0,0],A+=g),T&&(S=[C-d,0],C-=g));var D=[A,C];return e.get("inverse")&&D.reverse(),{viewRect:o,mainLength:c,orient:a,rotation:f[a],labelRotation:y,labelPosOpt:s,labelAlign:e.get(["label","align"])||l[a],labelBaseline:e.get(["label","verticalAlign"])||e.get(["label","baseline"])||u[a],playPosition:m,prevBtnPosition:_,nextBtnPosition:S,axisExtent:D,controlSize:d,controlGap:p}},t.prototype._position=function(e,n){var i=this._mainGroup,a=this._labelGroup,o=e.viewRect;if(e.orient==="vertical"){var s=Cr(),l=o.x,u=o.y+o.height;$n(s,s,[-l,-u]),Oo(s,s,-iy/2),$n(s,s,[l,u]),o=o.clone(),o.applyTransform(s)}var f=m(o),c=m(i.getBoundingRect()),h=m(a.getBoundingRect()),v=[i.x,i.y],d=[a.x,a.y];d[0]=v[0]=f[0][0];var p=e.labelPosOpt;if(p==null||nt(p)){var g=p==="+"?0:1;_(v,c,f,1,g),_(d,h,f,1,1-g)}else{var g=p>=0?0:1;_(v,c,f,1,g),d[1]=v[1]+p}i.setPosition(v),a.setPosition(d),i.rotation=a.rotation=e.rotation,y(i),y(a);function y(S){S.originX=f[0][0]-S.x,S.originY=f[1][0]-S.y}function m(S){return[[S.x,S.x+S.width],[S.y,S.y+S.height]]}function _(S,x,b,w,T){S[w]+=b[w][T]-x[w][T]}},t.prototype._createAxis=function(e,n){var i=n.getData(),a=n.get("axisType"),o=Uet(n,a);o.getTicks=function(){return i.mapArray(["value"],function(u){return{value:u}})};var s=i.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var l=new Wet("value",o,e.axisExtent,a);return l.model=n,l},t.prototype._createGroup=function(e){var n=this[e]=new _t;return this.group.add(n),n},t.prototype._renderAxisLine=function(e,n,i,a){var o=i.getExtent();if(a.get(["lineStyle","show"])){var s=new Ee({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:F({lineCap:"round"},a.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});n.add(s);var l=this._progressLine=new Ee({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:pt({lineCap:"round",lineWidth:s.style.lineWidth},a.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});n.add(l)}},t.prototype._renderAxisTick=function(e,n,i,a){var o=this,s=a.getData(),l=i.scale.getTicks();this._tickSymbols=[],M(l,function(u){var f=i.dataToCoord(u.value),c=s.getItemModel(u.value),h=c.getModel("itemStyle"),v=c.getModel(["emphasis","itemStyle"]),d=c.getModel(["progress","itemStyle"]),p={x:f,y:0,onclick:at(o._changeTimeline,o,u.value)},g=IM(c,h,n,p);g.ensureState("emphasis").style=v.getItemStyle(),g.ensureState("progress").style=d.getItemStyle(),xo(g);var y=St(g);c.get("tooltip")?(y.dataIndex=u.value,y.dataModel=a):y.dataIndex=y.dataModel=null,o._tickSymbols.push(g)})},t.prototype._renderAxisLabel=function(e,n,i,a){var o=this,s=i.getLabelModel();if(s.get("show")){var l=a.getData(),u=i.getViewLabels();this._tickLabels=[],M(u,function(f){var c=f.tickValue,h=l.getItemModel(c),v=h.getModel("label"),d=h.getModel(["emphasis","label"]),p=h.getModel(["progress","label"]),g=i.dataToCoord(f.tickValue),y=new Gt({x:g,y:0,rotation:e.labelRotation-e.rotation,onclick:at(o._changeTimeline,o,c),silent:!1,style:Qt(v,{text:f.formattedLabel,align:e.labelAlign,verticalAlign:e.labelBaseline})});y.ensureState("emphasis").style=Qt(d),y.ensureState("progress").style=Qt(p),n.add(y),xo(y),DM(y).dataIndex=c,o._tickLabels.push(y)})}},t.prototype._renderControl=function(e,n,i,a){var o=e.controlSize,s=e.rotation,l=a.getModel("controlStyle").getItemStyle(),u=a.getModel(["emphasis","controlStyle"]).getItemStyle(),f=a.getPlayState(),c=a.get("inverse",!0);h(e.nextBtnPosition,"next",at(this._changeTimeline,this,c?"-":"+")),h(e.prevBtnPosition,"prev",at(this._changeTimeline,this,c?"+":"-")),h(e.playPosition,f?"stop":"play",at(this._handlePlayClick,this,!f),!0);function h(v,d,p,g){if(v){var y=pn(xt(a.get(["controlStyle",d+"BtnSize"]),o),o),m=[0,-y/2,y,y],_=Zet(a,d+"Icon",m,{x:v[0],y:v[1],originX:o/2,originY:0,rotation:g?-s:0,rectHover:!0,style:l,onclick:p});_.ensureState("emphasis").style=u,n.add(_),xo(_)}}},t.prototype._renderCurrentPointer=function(e,n,i,a){var o=a.getData(),s=a.getCurrentIndex(),l=o.getItemModel(s).getModel("checkpointStyle"),u=this,f={onCreate:function(c){c.draggable=!0,c.drift=at(u._handlePointerDrag,u),c.ondragend=at(u._handlePointerDragend,u),LM(c,u._progressLine,s,i,a,!0)},onUpdate:function(c){LM(c,u._progressLine,s,i,a)}};this._currentPointer=IM(l,l,this._mainGroup,{},this._currentPointer,f)},t.prototype._handlePlayClick=function(e){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:e,from:this.uid})},t.prototype._handlePointerDrag=function(e,n,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},t.prototype._handlePointerDragend=function(e){this._pointerChangeTimeline([e.offsetX,e.offsetY],!0)},t.prototype._pointerChangeTimeline=function(e,n){var i=this._toAxisCoord(e)[0],a=this._axis,o=$r(a.getExtent().slice());i>o[1]&&(i=o[1]),i=0&&(o[a]=+o[a].toFixed(h)),[o,c]}var ay={min:bt($c,"min"),max:bt($c,"max"),average:bt($c,"average"),median:bt($c,"median")};function df(r,t){if(t){var e=r.getData(),n=r.coordinateSystem,i=n&&n.dimensions;if(!ert(t)&&!Y(t.coord)&&Y(i)){var a=DO(t,e,n,r);if(t=mt(t),t.type&&ay[t.type]&&a.baseAxis&&a.valueAxis){var o=Dt(i,a.baseAxis.dim),s=Dt(i,a.valueAxis.dim),l=ay[t.type](e,a.baseDataDim,a.valueDataDim,o,s);t.coord=l[0],t.value=l[1]}else t.coord=[t.xAxis!=null?t.xAxis:t.radiusAxis,t.yAxis!=null?t.yAxis:t.angleAxis]}if(t.coord==null||!Y(i))t.coord=[];else for(var u=t.coord,f=0;f<2;f++)ay[u[f]]&&(u[f]=nS(e,e.mapDimension(i[f]),u[f]));return t}}function DO(r,t,e,n){var i={};return r.valueIndex!=null||r.valueDim!=null?(i.valueDataDim=r.valueIndex!=null?t.getDimension(r.valueIndex):r.valueDim,i.valueAxis=e.getAxis(rrt(n,i.valueDataDim)),i.baseAxis=e.getOtherAxis(i.valueAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim)):(i.baseAxis=n.getBaseAxis(),i.valueAxis=e.getOtherAxis(i.baseAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim),i.valueDataDim=t.mapDimension(i.valueAxis.dim)),i}function rrt(r,t){var e=r.getData().getDimensionInfo(t);return e&&e.coordDim}function pf(r,t){return r&&r.containData&&t.coord&&!d0(t)?r.containData(t.coord):!0}function nrt(r,t,e){return r&&r.containZone&&t.coord&&e.coord&&!d0(t)&&!d0(e)?r.containZone(t.coord,e.coord):!0}function IO(r,t){return r?function(e,n,i,a){var o=a<2?e.coord&&e.coord[a]:e.value;return ra(o,t[a])}:function(e,n,i,a){return ra(e.value,t[a])}}function nS(r,t,e){if(e==="average"){var n=0,i=0;return r.each(t,function(a,o){isNaN(a)||(n+=a,i++)}),n/i}else return e==="median"?r.getMedian(t):r.getDataExtent(t)[e==="max"?1:0]}var oy=Nt(),irt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.init=function(){this.markerGroupMap=ft()},t.prototype.render=function(e,n,i){var a=this,o=this.markerGroupMap;o.each(function(s){oy(s).keep=!1}),n.eachSeries(function(s){var l=va.getMarkerModelFromSeries(s,a.type);l&&a.renderSeries(s,l,n,i)}),o.each(function(s){!oy(s).keep&&a.group.remove(s.group)})},t.prototype.markKeep=function(e){oy(e).keep=!0},t.prototype.toggleBlurSeries=function(e,n){var i=this;M(e,function(a){var o=va.getMarkerModelFromSeries(a,i.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(n?eP(l):y_(l))})}})},t.type="marker",t}(fe);const iS=irt;function RM(r,t,e){var n=t.coordinateSystem;r.each(function(i){var a=r.getItemModel(i),o,s=rt(a.get("x"),e.getWidth()),l=rt(a.get("y"),e.getHeight());if(!isNaN(s)&&!isNaN(l))o=[s,l];else if(t.getMarkerPosition)o=t.getMarkerPosition(r.getValues(r.dimensions,i));else if(n){var u=r.get(n.dimensions[0],i),f=r.get(n.dimensions[1],i);o=n.dataToPoint([u,f])}isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),r.setItemLayout(i,o)})}var art=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,n,i){n.eachSeries(function(a){var o=va.getMarkerModelFromSeries(a,"markPoint");o&&(RM(o.getData(),a,i),this.markerGroupMap.get(a.id).updateLayout())},this)},t.prototype.renderSeries=function(e,n,i,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new Ef),c=ort(o,e,n);n.setData(c),RM(n.getData(),e,a),c.each(function(h){var v=c.getItemModel(h),d=v.getShallow("symbol"),p=v.getShallow("symbolSize"),g=v.getShallow("symbolRotate"),y=v.getShallow("symbolOffset"),m=v.getShallow("symbolKeepAspect");if(vt(d)||vt(p)||vt(g)||vt(y)){var _=n.getRawValue(h),S=n.getDataParams(h);vt(d)&&(d=d(_,S)),vt(p)&&(p=p(_,S)),vt(g)&&(g=g(_,S)),vt(y)&&(y=y(_,S))}var x=v.getModel("itemStyle").getItemStyle(),b=If(l,"color");x.fill||(x.fill=b),c.setItemVisual(h,{symbol:d,symbolSize:p,symbolRotate:g,symbolOffset:y,symbolKeepAspect:m,style:x})}),f.updateData(c),this.group.add(f.group),c.eachItemGraphicEl(function(h){h.traverse(function(v){St(v).dataModel=n})}),this.markKeep(f),f.group.silent=n.get("silent")||e.get("silent")},t.type="markPoint",t}(iS);function ort(r,t,e){var n;r?n=Z(r&&r.dimensions,function(s){var l=t.getData().getDimensionInfo(t.getData().mapDimension(s))||{};return F(F({},l),{name:s,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new sr(n,e),a=Z(e.get("data"),bt(df,t));r&&(a=$t(a,bt(pf,r)));var o=IO(!!r,n);return i.initData(a,null,o),i}const srt=art;function lrt(r){r.registerComponentModel(trt),r.registerComponentView(srt),r.registerPreprocessor(function(t){rS(t.series,"markPoint")&&(t.markPoint=t.markPoint||{})})}var urt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.createMarkerModelFromSeries=function(e,n,i){return new t(e,n,i)},t.type="markLine",t.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},t}(va);const frt=urt;var Uc=Nt(),crt=function(r,t,e,n){var i=r.getData(),a;if(Y(n))a=n;else{var o=n.type;if(o==="min"||o==="max"||o==="average"||o==="median"||n.xAxis!=null||n.yAxis!=null){var s=void 0,l=void 0;if(n.yAxis!=null||n.xAxis!=null)s=t.getAxis(n.yAxis!=null?"y":"x"),l=Re(n.yAxis,n.xAxis);else{var u=DO(n,i,t,r);s=u.valueAxis;var f=hR(i,u.valueDataDim);l=nS(i,f,o)}var c=s.dim==="x"?0:1,h=1-c,v=mt(n),d={coord:[]};v.type=null,v.coord=[],v.coord[h]=-1/0,d.coord[h]=1/0;var p=e.get("precision");p>=0&&Ft(l)&&(l=+l.toFixed(Math.min(p,20))),v.coord[c]=d.coord[c]=l,a=[v,d,{type:o,valueIndex:n.valueIndex,value:l}]}else a=[]}var g=[df(r,a[0]),df(r,a[1]),F({},a[2])];return g[2].type=g[2].type||null,Tt(g[2],g[0]),Tt(g[2],g[1]),g};function bv(r){return!isNaN(r)&&!isFinite(r)}function EM(r,t,e,n){var i=1-r,a=n.dimensions[r];return bv(t[i])&&bv(e[i])&&t[r]===e[r]&&n.getAxis(a).containData(t[r])}function hrt(r,t){if(r.type==="cartesian2d"){var e=t[0].coord,n=t[1].coord;if(e&&n&&(EM(1,e,n,r)||EM(0,e,n,r)))return!0}return pf(r,t[0])&&pf(r,t[1])}function sy(r,t,e,n,i){var a=n.coordinateSystem,o=r.getItemModel(t),s,l=rt(o.get("x"),i.getWidth()),u=rt(o.get("y"),i.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(n.getMarkerPosition)s=n.getMarkerPosition(r.getValues(r.dimensions,t));else{var f=a.dimensions,c=r.get(f[0],t),h=r.get(f[1],t);s=a.dataToPoint([c,h])}if(Fo(a,"cartesian2d")){var v=a.getAxis("x"),d=a.getAxis("y"),f=a.dimensions;bv(r.get(f[0],t))?s[0]=v.toGlobalCoord(v.getExtent()[e?0:1]):bv(r.get(f[1],t))&&(s[1]=d.toGlobalCoord(d.getExtent()[e?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}r.setItemLayout(t,s)}var vrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,n,i){n.eachSeries(function(a){var o=va.getMarkerModelFromSeries(a,"markLine");if(o){var s=o.getData(),l=Uc(o).from,u=Uc(o).to;l.each(function(f){sy(l,f,!0,a,i),sy(u,f,!1,a,i)}),s.each(function(f){s.setItemLayout(f,[l.getItemLayout(f),u.getItemLayout(f)])}),this.markerGroupMap.get(a.id).updateLayout()}},this)},t.prototype.renderSeries=function(e,n,i,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,new A1);this.group.add(f.group);var c=drt(o,e,n),h=c.from,v=c.to,d=c.line;Uc(n).from=h,Uc(n).to=v,n.setData(d);var p=n.get("symbol"),g=n.get("symbolSize"),y=n.get("symbolRotate"),m=n.get("symbolOffset");Y(p)||(p=[p,p]),Y(g)||(g=[g,g]),Y(y)||(y=[y,y]),Y(m)||(m=[m,m]),c.from.each(function(S){_(h,S,!0),_(v,S,!1)}),d.each(function(S){var x=d.getItemModel(S).getModel("lineStyle").getLineStyle();d.setItemLayout(S,[h.getItemLayout(S),v.getItemLayout(S)]),x.stroke==null&&(x.stroke=h.getItemVisual(S,"style").fill),d.setItemVisual(S,{fromSymbolKeepAspect:h.getItemVisual(S,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(S,"symbolOffset"),fromSymbolRotate:h.getItemVisual(S,"symbolRotate"),fromSymbolSize:h.getItemVisual(S,"symbolSize"),fromSymbol:h.getItemVisual(S,"symbol"),toSymbolKeepAspect:v.getItemVisual(S,"symbolKeepAspect"),toSymbolOffset:v.getItemVisual(S,"symbolOffset"),toSymbolRotate:v.getItemVisual(S,"symbolRotate"),toSymbolSize:v.getItemVisual(S,"symbolSize"),toSymbol:v.getItemVisual(S,"symbol"),style:x})}),f.updateData(d),c.line.eachItemGraphicEl(function(S){St(S).dataModel=n,S.traverse(function(x){St(x).dataModel=n})});function _(S,x,b){var w=S.getItemModel(x);sy(S,x,b,e,a);var T=w.getModel("itemStyle").getItemStyle();T.fill==null&&(T.fill=If(l,"color")),S.setItemVisual(x,{symbolKeepAspect:w.get("symbolKeepAspect"),symbolOffset:xt(w.get("symbolOffset",!0),m[b?0:1]),symbolRotate:xt(w.get("symbolRotate",!0),y[b?0:1]),symbolSize:xt(w.get("symbolSize"),g[b?0:1]),symbol:xt(w.get("symbol",!0),p[b?0:1]),style:T})}this.markKeep(f),f.group.silent=n.get("silent")||e.get("silent")},t.type="markLine",t}(iS);function drt(r,t,e){var n;r?n=Z(r&&r.dimensions,function(u){var f=t.getData().getDimensionInfo(t.getData().mapDimension(u))||{};return F(F({},f),{name:u,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new sr(n,e),a=new sr(n,e),o=new sr([],e),s=Z(e.get("data"),bt(crt,t,r,e));r&&(s=$t(s,bt(hrt,r)));var l=IO(!!r,n);return i.initData(Z(s,function(u){return u[0]}),null,l),a.initData(Z(s,function(u){return u[1]}),null,l),o.initData(Z(s,function(u){return u[2]})),o.hasItemOption=!0,{from:i,to:a,line:o}}const prt=vrt;function grt(r){r.registerComponentModel(frt),r.registerComponentView(prt),r.registerPreprocessor(function(t){rS(t.series,"markLine")&&(t.markLine=t.markLine||{})})}var yrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.createMarkerModelFromSeries=function(e,n,i){return new t(e,n,i)},t.type="markArea",t.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},t}(va);const mrt=yrt;var Yc=Nt(),_rt=function(r,t,e,n){var i=n[0],a=n[1];if(!(!i||!a)){var o=df(r,i),s=df(r,a),l=o.coord,u=s.coord;l[0]=Re(l[0],-1/0),l[1]=Re(l[1],-1/0),u[0]=Re(u[0],1/0),u[1]=Re(u[1],1/0);var f=J0([{},o,s]);return f.coord=[o.coord,s.coord],f.x0=o.x,f.y0=o.y,f.x1=s.x,f.y1=s.y,f}};function wv(r){return!isNaN(r)&&!isFinite(r)}function kM(r,t,e,n){var i=1-r;return wv(t[i])&&wv(e[i])}function Srt(r,t){var e=t.coord[0],n=t.coord[1],i={coord:e,x:t.x0,y:t.y0},a={coord:n,x:t.x1,y:t.y1};return Fo(r,"cartesian2d")?e&&n&&(kM(1,e,n)||kM(0,e,n))?!0:nrt(r,i,a):pf(r,i)||pf(r,a)}function OM(r,t,e,n,i){var a=n.coordinateSystem,o=r.getItemModel(t),s,l=rt(o.get(e[0]),i.getWidth()),u=rt(o.get(e[1]),i.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(n.getMarkerPosition){var f=r.getValues(["x0","y0"],t),c=r.getValues(["x1","y1"],t),h=a.clampData(f),v=a.clampData(c),d=[];e[0]==="x0"?d[0]=h[0]>v[0]?c[0]:f[0]:d[0]=h[0]>v[0]?f[0]:c[0],e[1]==="y0"?d[1]=h[1]>v[1]?c[1]:f[1]:d[1]=h[1]>v[1]?f[1]:c[1],s=n.getMarkerPosition(d,e,!0)}else{var p=r.get(e[0],t),g=r.get(e[1],t),y=[p,g];a.clampData&&a.clampData(y,y),s=a.dataToPoint(y,!0)}if(Fo(a,"cartesian2d")){var m=a.getAxis("x"),_=a.getAxis("y"),p=r.get(e[0],t),g=r.get(e[1],t);wv(p)?s[0]=m.toGlobalCoord(m.getExtent()[e[0]==="x0"?0:1]):wv(g)&&(s[1]=_.toGlobalCoord(_.getExtent()[e[1]==="y0"?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}return s}var NM=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],xrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.updateTransform=function(e,n,i){n.eachSeries(function(a){var o=va.getMarkerModelFromSeries(a,"markArea");if(o){var s=o.getData();s.each(function(l){var u=Z(NM,function(c){return OM(s,l,c,a,i)});s.setItemLayout(l,u);var f=s.getItemGraphicEl(l);f.setShape("points",u)})}},this)},t.prototype.renderSeries=function(e,n,i,a){var o=e.coordinateSystem,s=e.id,l=e.getData(),u=this.markerGroupMap,f=u.get(s)||u.set(s,{group:new _t});this.group.add(f.group),this.markKeep(f);var c=brt(o,e,n);n.setData(c),c.each(function(h){var v=Z(NM,function(T){return OM(c,h,T,e,a)}),d=o.getAxis("x").scale,p=o.getAxis("y").scale,g=d.getExtent(),y=p.getExtent(),m=[d.parse(c.get("x0",h)),d.parse(c.get("x1",h))],_=[p.parse(c.get("y0",h)),p.parse(c.get("y1",h))];$r(m),$r(_);var S=!(g[0]>m[1]||g[1]_[1]||y[1]<_[0]),x=!S;c.setItemLayout(h,{points:v,allClipped:x});var b=c.getItemModel(h).getModel("itemStyle").getItemStyle(),w=If(l,"color");b.fill||(b.fill=w,nt(b.fill)&&(b.fill=Bh(b.fill,.4))),b.stroke||(b.stroke=w),c.setItemVisual(h,"style",b)}),c.diff(Yc(f).data).add(function(h){var v=c.getItemLayout(h);if(!v.allClipped){var d=new yr({shape:{points:v.points}});c.setItemGraphicEl(h,d),f.group.add(d)}}).update(function(h,v){var d=Yc(f).data.getItemGraphicEl(v),p=c.getItemLayout(h);p.allClipped?d&&f.group.remove(d):(d?Ht(d,{shape:{points:p.points}},n,h):d=new yr({shape:{points:p.points}}),c.setItemGraphicEl(h,d),f.group.add(d))}).remove(function(h){var v=Yc(f).data.getItemGraphicEl(h);f.group.remove(v)}).execute(),c.eachItemGraphicEl(function(h,v){var d=c.getItemModel(v),p=c.getItemVisual(v,"style");h.useStyle(c.getItemVisual(v,"style")),He(h,De(d),{labelFetcher:n,labelDataIndex:v,defaultText:c.getName(v)||"",inheritColor:nt(p.fill)?Bh(p.fill,1):"#000"}),Fe(h,d),ue(h,null,null,d.get(["emphasis","disabled"])),St(h).dataModel=n}),Yc(f).data=c,f.group.silent=n.get("silent")||e.get("silent")},t.type="markArea",t}(iS);function brt(r,t,e){var n,i,a=["x0","y0","x1","y1"];if(r){var o=Z(r&&r.dimensions,function(u){var f=t.getData(),c=f.getDimensionInfo(f.mapDimension(u))||{};return F(F({},c),{name:u,ordinalMeta:null})});i=Z(a,function(u,f){return{name:u,type:o[f%2].type}}),n=new sr(i,e)}else i=[{name:"value",type:"float"}],n=new sr(i,e);var s=Z(e.get("data"),bt(_rt,t,r,e));r&&(s=$t(s,bt(Srt,r)));var l=r?function(u,f,c,h){var v=u.coord[Math.floor(h/2)][h%2];return ra(v,i[h])}:function(u,f,c,h){return ra(u.value,i[h])};return n.initData(s,null,l),n.hasItemOption=!0,n}const wrt=xrt;function Trt(r){r.registerComponentModel(mrt),r.registerComponentView(wrt),r.registerPreprocessor(function(t){rS(t.series,"markArea")&&(t.markArea=t.markArea||{})})}var Art=function(r,t){if(t==="all")return{type:"all",title:r.getLocaleModel().get(["legend","selector","all"])};if(t==="inverse")return{type:"inverse",title:r.getLocaleModel().get(["legend","selector","inverse"])}},Crt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.layoutMode={type:"box",ignoreSize:!0},e}return t.prototype.init=function(e,n,i){this.mergeDefaultAndTheme(e,i),e.selected=e.selected||{},this._updateSelector(e)},t.prototype.mergeOption=function(e,n){r.prototype.mergeOption.call(this,e,n),this._updateSelector(e)},t.prototype._updateSelector=function(e){var n=e.selector,i=this.ecModel;n===!0&&(n=e.selector=["all","inverse"]),Y(n)&&M(n,function(a,o){nt(a)&&(a={type:a}),n[o]=Tt(a,Art(i,a.type))})},t.prototype.optionUpdated=function(){this._updateData(this.ecModel);var e=this._data;if(e[0]&&this.get("selectedMode")==="single"){for(var n=!1,i=0;i=0},t.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},t.type="legend.plain",t.dependencies=["series"],t.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},t}(Bt);const p0=Crt;var us=bt,g0=M,Zc=_t,Mrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.newlineDisabled=!1,e}return t.prototype.init=function(){this.group.add(this._contentGroup=new Zc),this.group.add(this._selectorGroup=new Zc),this._isFirstRender=!0},t.prototype.getContentGroup=function(){return this._contentGroup},t.prototype.getSelectorGroup=function(){return this._selectorGroup},t.prototype.render=function(e,n,i){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!e.get("show",!0)){var o=e.get("align"),s=e.get("orient");(!o||o==="auto")&&(o=e.get("left")==="right"&&s==="vertical"?"right":"left");var l=e.get("selector",!0),u=e.get("selectorPosition",!0);l&&(!u||u==="auto")&&(u=s==="horizontal"?"end":"start"),this.renderInner(o,e,n,i,l,s,u);var f=e.getBoxLayoutParams(),c={width:i.getWidth(),height:i.getHeight()},h=e.get("padding"),v=be(f,c,h),d=this.layoutInner(e,o,v,a,l,u),p=be(pt({width:d.width,height:d.height},f),c,h);this.group.x=p.x-d.x,this.group.y=p.y-d.y,this.group.markRedraw(),this.group.add(this._backgroundEl=yO(d,e))}},t.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},t.prototype.renderInner=function(e,n,i,a,o,s,l){var u=this.getContentGroup(),f=ft(),c=n.get("selectedMode"),h=[];i.eachRawSeries(function(v){!v.get("legendHoverLink")&&h.push(v.id)}),g0(n.getData(),function(v,d){var p=v.get("name");if(!this.newlineDisabled&&(p===""||p===` +`)){var g=new Zc;g.newline=!0,u.add(g);return}var y=i.getSeriesByName(p)[0];if(!f.get(p))if(y){var m=y.getData(),_=m.getVisual("legendLineStyle")||{},S=m.getVisual("legendIcon"),x=m.getVisual("style"),b=this._createItem(y,p,d,v,n,e,_,x,S,c,a);b.on("click",us(VM,p,null,a,h)).on("mouseover",us(y0,y.name,null,a,h)).on("mouseout",us(m0,y.name,null,a,h)),i.ssr&&b.eachChild(function(w){var T=St(w);T.seriesIndex=y.seriesIndex,T.dataIndex=d,T.ssrType="legend"}),f.set(p,!0)}else i.eachRawSeries(function(w){if(!f.get(p)&&w.legendVisualProvider){var T=w.legendVisualProvider;if(!T.containName(p))return;var A=T.indexOfName(p),C=T.getItemVisual(A,"style"),D=T.getItemVisual(A,"legendIcon"),I=Mr(C.fill);I&&I[3]===0&&(I[3]=.2,C=F(F({},C),{fill:ci(I,"rgba")}));var L=this._createItem(w,p,d,v,n,e,{},C,D,c,a);L.on("click",us(VM,null,p,a,h)).on("mouseover",us(y0,null,p,a,h)).on("mouseout",us(m0,null,p,a,h)),i.ssr&&L.eachChild(function(P){var E=St(P);E.seriesIndex=w.seriesIndex,E.dataIndex=d,E.ssrType="legend"}),f.set(p,!0)}},this)},this),o&&this._createSelector(o,n,a,s,l)},t.prototype._createSelector=function(e,n,i,a,o){var s=this.getSelectorGroup();g0(e,function(u){var f=u.type,c=new Gt({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){i.dispatchAction({type:f==="all"?"legendAllSelect":"legendInverseSelect",legendId:n.id})}});s.add(c);var h=n.getModel("selectorLabel"),v=n.getModel(["emphasis","selectorLabel"]);He(c,{normal:h,emphasis:v},{defaultText:u.title}),xo(c)})},t.prototype._createItem=function(e,n,i,a,o,s,l,u,f,c,h){var v=e.visualDrawType,d=o.get("itemWidth"),p=o.get("itemHeight"),g=o.isSelected(n),y=a.get("symbolRotate"),m=a.get("symbolKeepAspect"),_=a.get("icon");f=_||f||"roundRect";var S=Drt(f,a,l,u,v,g,h),x=new Zc,b=a.getModel("textStyle");if(vt(e.getLegendIcon)&&(!_||_==="inherit"))x.add(e.getLegendIcon({itemWidth:d,itemHeight:p,icon:f,iconRotate:y,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}));else{var w=_==="inherit"&&e.getData().getVisual("symbol")?y==="inherit"?e.getData().getVisual("symbolRotate"):y:0;x.add(Irt({itemWidth:d,itemHeight:p,icon:f,iconRotate:w,itemStyle:S.itemStyle,lineStyle:S.lineStyle,symbolKeepAspect:m}))}var T=s==="left"?d+5:-5,A=s,C=o.get("formatter"),D=n;nt(C)&&C?D=C.replace("{name}",n!=null?n:""):vt(C)&&(D=C(n));var I=g?b.getTextColor():a.get("inactiveColor");x.add(new Gt({style:Qt(b,{text:D,x:T,y:p/2,fill:I,align:A,verticalAlign:"middle"},{inheritColor:I})}));var L=new Vt({shape:x.getBoundingRect(),style:{fill:"transparent"}}),P=a.getModel("tooltip");return P.get("show")&&No({el:L,componentModel:o,itemName:n,itemTooltipOption:P.option}),x.add(L),x.eachChild(function(E){E.silent=!0}),L.silent=!c,this.getContentGroup().add(x),xo(x),x.__legendDataIndex=i,x},t.prototype.layoutInner=function(e,n,i,a,o,s){var l=this.getContentGroup(),u=this.getSelectorGroup();wo(e.get("orient"),l,e.get("itemGap"),i.width,i.height);var f=l.getBoundingRect(),c=[-f.x,-f.y];if(u.markRedraw(),l.markRedraw(),o){wo("horizontal",u,e.get("selectorItemGap",!0));var h=u.getBoundingRect(),v=[-h.x,-h.y],d=e.get("selectorButtonGap",!0),p=e.getOrient().index,g=p===0?"width":"height",y=p===0?"height":"width",m=p===0?"y":"x";s==="end"?v[p]+=f[g]+d:c[p]+=h[g]+d,v[1-p]+=f[y]/2-h[y]/2,u.x=v[0],u.y=v[1],l.x=c[0],l.y=c[1];var _={x:0,y:0};return _[g]=f[g]+d+h[g],_[y]=Math.max(f[y],h[y]),_[m]=Math.min(0,h[m]+v[1-p]),_}else return l.x=c[0],l.y=c[1],this.group.getBoundingRect()},t.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},t.type="legend.plain",t}(fe);function Drt(r,t,e,n,i,a,o){function s(g,y){g.lineWidth==="auto"&&(g.lineWidth=y.lineWidth>0?2:0),g0(g,function(m,_){g[_]==="inherit"&&(g[_]=y[_])})}var l=t.getModel("itemStyle"),u=l.getItemStyle(),f=r.lastIndexOf("empty",0)===0?"fill":"stroke",c=l.getShallow("decal");u.decal=!c||c==="inherit"?n.decal:$s(c,o),u.fill==="inherit"&&(u.fill=n[i]),u.stroke==="inherit"&&(u.stroke=n[f]),u.opacity==="inherit"&&(u.opacity=(i==="fill"?n:e).opacity),s(u,n);var h=t.getModel("lineStyle"),v=h.getLineStyle();if(s(v,e),u.fill==="auto"&&(u.fill=n.fill),u.stroke==="auto"&&(u.stroke=n.fill),v.stroke==="auto"&&(v.stroke=n.fill),!a){var d=t.get("inactiveBorderWidth"),p=u[f];u.lineWidth=d==="auto"?n.lineWidth>0&&p?2:0:u.lineWidth,u.fill=t.get("inactiveColor"),u.stroke=t.get("inactiveBorderColor"),v.stroke=h.get("inactiveColor"),v.lineWidth=h.get("inactiveWidth")}return{itemStyle:u,lineStyle:v}}function Irt(r){var t=r.icon||"roundRect",e=me(t,0,0,r.itemWidth,r.itemHeight,r.itemStyle.fill,r.symbolKeepAspect);return e.setStyle(r.itemStyle),e.rotation=(r.iconRotate||0)*Math.PI/180,e.setOrigin([r.itemWidth/2,r.itemHeight/2]),t.indexOf("empty")>-1&&(e.style.stroke=e.style.fill,e.style.fill="#fff",e.style.lineWidth=2),e}function VM(r,t,e,n){m0(r,t,e,n),e.dispatchAction({type:"legendToggleSelect",name:r!=null?r:t}),y0(r,t,e,n)}function LO(r){for(var t=r.getZr().storage.getDisplayList(),e,n=0,i=t.length;ni[o],g=[-v.x,-v.y];n||(g[a]=f[u]);var y=[0,0],m=[-d.x,-d.y],_=xt(e.get("pageButtonGap",!0),e.get("itemGap",!0));if(p){var S=e.get("pageButtonPosition",!0);S==="end"?m[a]+=i[o]-d[o]:y[a]+=d[o]+_}m[1-a]+=v[s]/2-d[s]/2,f.setPosition(g),c.setPosition(y),h.setPosition(m);var x={x:0,y:0};if(x[o]=p?i[o]:v[o],x[s]=Math.max(v[s],d[s]),x[l]=Math.min(0,d[l]+m[1-a]),c.__rectSize=i[o],p){var b={x:0,y:0};b[o]=Math.max(i[o]-d[o]-_,0),b[s]=x[s],c.setClipPath(new Vt({shape:b})),c.__rectSize=b[o]}else h.eachChild(function(T){T.attr({invisible:!0,silent:!0})});var w=this._getPageInfo(e);return w.pageIndex!=null&&Ht(f,{x:w.contentPosition[0],y:w.contentPosition[1]},p?e:null),this._updatePageInfoView(e,w),x},t.prototype._pageGo=function(e,n,i){var a=this._getPageInfo(n)[e];a!=null&&i.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:n.id})},t.prototype._updatePageInfoView=function(e,n){var i=this._controllerGroup;M(["pagePrev","pageNext"],function(f){var c=f+"DataIndex",h=n[c]!=null,v=i.childOfName(f);v&&(v.setStyle("fill",h?e.get("pageIconColor",!0):e.get("pageIconInactiveColor",!0)),v.cursor=h?"pointer":"default")});var a=i.childOfName("pageText"),o=e.get("pageFormatter"),s=n.pageIndex,l=s!=null?s+1:0,u=n.pageCount;a&&o&&a.setStyle("text",nt(o)?o.replace("{current}",l==null?"":l+"").replace("{total}",u==null?"":u+""):o({current:l,total:u}))},t.prototype._getPageInfo=function(e){var n=e.get("scrollDataIndex",!0),i=this.getContentGroup(),a=this._containerGroup.__rectSize,o=e.getOrient().index,s=ly[o],l=uy[o],u=this._findTargetItemIndex(n),f=i.children(),c=f[u],h=f.length,v=h?1:0,d={contentPosition:[i.x,i.y],pageCount:v,pageIndex:v-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return d;var p=S(c);d.contentPosition[o]=-p.s;for(var g=u+1,y=p,m=p,_=null;g<=h;++g)_=S(f[g]),(!_&&m.e>y.s+a||_&&!x(_,y.s))&&(m.i>y.i?y=m:y=_,y&&(d.pageNextDataIndex==null&&(d.pageNextDataIndex=y.i),++d.pageCount)),m=_;for(var g=u-1,y=p,m=p,_=null;g>=-1;--g)_=S(f[g]),(!_||!x(m,_.s))&&y.i=w&&b.s<=w+a}},t.prototype._findTargetItemIndex=function(e){if(!this._showController)return 0;var n,i=this.getContentGroup(),a;return i.eachChild(function(o,s){var l=o.__legendDataIndex;a==null&&l!=null&&(a=s),l===e&&(n=s)}),n!=null?n:a},t.type="legend.scroll",t}(PO);const Ort=krt;function Nrt(r){r.registerAction("legendScroll","legendscroll",function(t,e){var n=t.scrollDataIndex;n!=null&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(i){i.setScrollDataIndex(n)})})}function Vrt(r){Lt(RO),r.registerComponentModel(Ert),r.registerComponentView(Ort),Nrt(r)}function Brt(r){Lt(RO),Lt(Vrt)}var zrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="dataZoom.inside",t.defaultOption=ya(vf.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),t}(vf);const Grt=zrt;var aS=Nt();function Frt(r,t,e){aS(r).coordSysRecordMap.each(function(n){var i=n.dataZoomInfoMap.get(t.uid);i&&(i.getRange=e)})}function Hrt(r,t){for(var e=aS(r).coordSysRecordMap,n=e.keys(),i=0;in[e+t]&&(t=s),i=i&&o.get("preventDefaultMouseMove",!0)}),{controlType:t,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!i}}}function Zrt(r){r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,function(t,e){var n=aS(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=ft());i.each(function(a){a.dataZoomInfoMap=null}),t.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var o=dO(a);M(o.infoList,function(s){var l=s.model.uid,u=i.get(l)||i.set(l,Wrt(e,s.model)),f=u.dataZoomInfoMap||(u.dataZoomInfoMap=ft());f.set(a.uid,{dzReferCoordSysInfo:s,model:a,getRange:null})})}),i.each(function(a){var o=a.controller,s,l=a.dataZoomInfoMap;if(l){var u=l.keys()[0];u!=null&&(s=l.get(u))}if(!s){EO(i,a);return}var f=Yrt(l);o.enable(f.controlType,f.opt),o.setPointerChecker(a.containsPoint),fl(a,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var Xrt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return t.prototype.render=function(e,n,i){if(r.prototype.render.apply(this,arguments),e.noTarget()){this._clear();return}this.range=e.getPercentRange(),Frt(i,e,{pan:at(fy.pan,this),zoom:at(fy.zoom,this),scrollMove:at(fy.scrollMove,this)})},t.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){Hrt(this.api,this.dataZoomModel),this.range=null},t.type="dataZoom.inside",t}(K1),fy={zoom:function(r,t,e,n){var i=this.range,a=i.slice(),o=r.axisModels[0];if(o){var s=cy[t](null,[n.originX,n.originY],o,e,r),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var f=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(Wo(0,a,[0,100],0,f.minSpan,f.maxSpan),this.range=a,i[0]!==a[0]||i[1]!==a[1])return a}},pan:FM(function(r,t,e,n,i,a){var o=cy[n]([a.oldX,a.oldY],[a.newX,a.newY],t,i,e);return o.signal*(r[1]-r[0])*o.pixel/o.pixelLength}),scrollMove:FM(function(r,t,e,n,i,a){var o=cy[n]([0,0],[a.scrollDelta,a.scrollDelta],t,i,e);return o.signal*(r[1]-r[0])*a.scrollDelta})};function FM(r){return function(t,e,n,i){var a=this.range,o=a.slice(),s=t.axisModels[0];if(s){var l=r(o,s,t,e,n,i);if(Wo(l,o,[0,100],"all"),this.range=o,a[0]!==o[0]||a[1]!==o[1])return o}}}var cy={grid:function(r,t,e,n,i){var a=e.axis,o={},s=i.model.coordinateSystem.getRect();return r=r||[0,0],a.dim==="x"?(o.pixel=t[0]-r[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a.inverse?1:-1):(o.pixel=t[1]-r[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=a.inverse?-1:1),o},polar:function(r,t,e,n,i){var a=e.axis,o={},s=i.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return r=r?s.pointToCoord(r):[0,0],t=s.pointToCoord(t),e.mainType==="radiusAxis"?(o.pixel=t[0]-r[0],o.pixelLength=l[1]-l[0],o.pixelStart=l[0],o.signal=a.inverse?1:-1):(o.pixel=t[1]-r[1],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=a.inverse?-1:1),o},singleAxis:function(r,t,e,n,i){var a=e.axis,o=i.model.coordinateSystem.getRect(),s={};return r=r||[0,0],a.orient==="horizontal"?(s.pixel=t[0]-r[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=a.inverse?1:-1):(s.pixel=t[1]-r[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=a.inverse?-1:1),s}};const qrt=Xrt;function kO(r){j1(r),r.registerComponentModel(Grt),r.registerComponentView(qrt),Zrt(r)}var Krt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.type="dataZoom.slider",t.layoutMode="box",t.defaultOption=ya(vf.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),t}(vf);const jrt=Krt;var Zl=Vt,HM=7,Jrt=1,hy=30,Qrt=7,Xl="horizontal",WM="vertical",tnt=5,ent=["line","bar","candlestick","scatter"],rnt={easing:"cubicOut",duration:100,delay:0},nnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._displayables={},e}return t.prototype.init=function(e,n){this.api=n,this._onBrush=at(this._onBrush,this),this._onBrushEnd=at(this._onBrushEnd,this)},t.prototype.render=function(e,n,i,a){if(r.prototype.render.apply(this,arguments),fl(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),e.get("show")===!1){this.group.removeAll();return}if(e.noTarget()){this._clear(),this.group.removeAll();return}(!a||a.type!=="dataZoom"||a.from!==this.uid)&&this._buildView(),this._updateView()},t.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},t.prototype._clear=function(){tf(this,"_dispatchZoomAction");var e=this.api.getZr();e.off("mousemove",this._onBrush),e.off("mouseup",this._onBrushEnd)},t.prototype._buildView=function(){var e=this.group;e.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var n=this._displayables.sliderGroup=new _t;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),e.add(n),this._positionGroup()},t.prototype._resetLocation=function(){var e=this.dataZoomModel,n=this.api,i=e.get("brushSelect"),a=i?Qrt:0,o=this._findCoordRect(),s={width:n.getWidth(),height:n.getHeight()},l=this._orient===Xl?{right:s.width-o.x-o.width,top:s.height-hy-HM-a,width:o.width,height:hy}:{right:HM,top:o.y,width:hy,height:o.height},u=ol(e.option);M(["right","top","width","height"],function(c){u[c]==="ph"&&(u[c]=l[c])});var f=be(u,s);this._location={x:f.x,y:f.y},this._size=[f.width,f.height],this._orient===WM&&this._size.reverse()},t.prototype._positionGroup=function(){var e=this.group,n=this._location,i=this._orient,a=this.dataZoomModel.getFirstTargetAxisModel(),o=a&&a.get("inverse"),s=this._displayables.sliderGroup,l=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(i===Xl&&!o?{scaleY:l?1:-1,scaleX:1}:i===Xl&&o?{scaleY:l?1:-1,scaleX:-1}:i===WM&&!o?{scaleY:l?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:l?-1:1,scaleX:-1,rotation:Math.PI/2});var u=e.getBoundingRect([s]);e.x=n.x-u.x,e.y=n.y-u.y,e.markRedraw()},t.prototype._getViewExtent=function(){return[0,this._size[0]]},t.prototype._renderBackground=function(){var e=this.dataZoomModel,n=this._size,i=this._displayables.sliderGroup,a=e.get("brushSelect");i.add(new Zl({silent:!0,shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:e.get("backgroundColor")},z2:-40}));var o=new Zl({shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:"transparent"},z2:0,onclick:at(this._onClickPanel,this)}),s=this.api.getZr();a?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),i.add(o)},t.prototype._renderDataShadow=function(){var e=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!e)return;var n=this._size,i=this._shadowSize||[],a=e.series,o=a.getRawData(),s=a.getShadowDim&&a.getShadowDim(),l=s&&o.getDimensionInfo(s)?a.getShadowDim():e.otherDim;if(l==null)return;var u=this._shadowPolygonPts,f=this._shadowPolylinePts;if(o!==this._shadowData||l!==this._shadowDim||n[0]!==i[0]||n[1]!==i[1]){var c=o.getDataExtent(l),h=(c[1]-c[0])*.3;c=[c[0]-h,c[1]+h];var v=[0,n[1]],d=[0,n[0]],p=[[n[0],0],[0,0]],g=[],y=d[1]/(o.count()-1),m=0,_=Math.round(o.count()/n[0]),S;o.each([l],function(A,C){if(_>0&&C%_){m+=y;return}var D=A==null||isNaN(A)||A==="",I=D?0:Ut(A,c,v,!0);D&&!S&&C?(p.push([p[p.length-1][0],0]),g.push([g[g.length-1][0],0])):!D&&S&&(p.push([m,0]),g.push([m,0])),p.push([m,I]),g.push([m,I]),m+=y,S=D}),u=this._shadowPolygonPts=p,f=this._shadowPolylinePts=g}this._shadowData=o,this._shadowDim=l,this._shadowSize=[n[0],n[1]];var x=this.dataZoomModel;function b(A){var C=x.getModel(A?"selectedDataBackground":"dataBackground"),D=new _t,I=new yr({shape:{points:u},segmentIgnoreThreshold:1,style:C.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),L=new mr({shape:{points:f},segmentIgnoreThreshold:1,style:C.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return D.add(I),D.add(L),D}for(var w=0;w<3;w++){var T=b(w===1);this._displayables.sliderGroup.add(T),this._displayables.dataShadowSegs.push(T)}},t.prototype._prepareDataShadowInfo=function(){var e=this.dataZoomModel,n=e.get("showDataShadow");if(n!==!1){var i,a=this.ecModel;return e.eachTargetAxis(function(o,s){var l=e.getAxisProxy(o,s).getTargetSeriesModels();M(l,function(u){if(!i&&!(n!==!0&&Dt(ent,u.get("type"))<0)){var f=a.getComponent(Qi(o),s).axis,c=int(o),h,v=u.coordinateSystem;c!=null&&v.getOtherAxis&&(h=v.getOtherAxis(f).inverse),c=u.getData().mapDimension(c),i={thisAxis:f,series:u,thisDim:o,otherDim:c,otherAxisInverse:h}}},this)},this),i}},t.prototype._renderHandle=function(){var e=this.group,n=this._displayables,i=n.handles=[null,null],a=n.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,l=this.dataZoomModel,u=this.api,f=l.get("borderRadius")||0,c=l.get("brushSelect"),h=n.filler=new Zl({silent:c,style:{fill:l.get("fillerColor")},textConfig:{position:"inside"}});o.add(h),o.add(new Zl({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:f},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:Jrt,fill:"rgba(0,0,0,0)"}})),M([0,1],function(_){var S=l.get("handleIcon");!Qh[S]&&S.indexOf("path://")<0&&S.indexOf("image://")<0&&(S="path://"+S);var x=me(S,-1,0,2,2,null,!0);x.attr({cursor:$M(this._orient),draggable:!0,drift:at(this._onDragMove,this,_),ondragend:at(this._onDragEnd,this),onmouseover:at(this._showDataInfo,this,!0),onmouseout:at(this._showDataInfo,this,!1),z2:5});var b=x.getBoundingRect(),w=l.get("handleSize");this._handleHeight=rt(w,this._size[1]),this._handleWidth=b.width/b.height*this._handleHeight,x.setStyle(l.getModel("handleStyle").getItemStyle()),x.style.strokeNoScale=!0,x.rectHover=!0,x.ensureState("emphasis").style=l.getModel(["emphasis","handleStyle"]).getItemStyle(),xo(x);var T=l.get("handleColor");T!=null&&(x.style.fill=T),o.add(i[_]=x);var A=l.getModel("textStyle"),C=l.get("handleLabel")||{},D=C.show||!1;e.add(a[_]=new Gt({silent:!0,invisible:!D,style:Qt(A,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:A.getTextColor(),font:A.getFont()}),z2:10}))},this);var v=h;if(c){var d=rt(l.get("moveHandleSize"),s[1]),p=n.moveHandle=new Vt({style:l.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:d}}),g=d*.8,y=n.moveHandleIcon=me(l.get("moveHandleIcon"),-g/2,-g/2,g,g,"#fff",!0);y.silent=!0,y.y=s[1]+d/2-.5,p.ensureState("emphasis").style=l.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var m=Math.min(s[1]/2,Math.max(d,10));v=n.moveZone=new Vt({invisible:!0,shape:{y:s[1]-m,height:d+m}}),v.on("mouseover",function(){u.enterEmphasis(p)}).on("mouseout",function(){u.leaveEmphasis(p)}),o.add(p),o.add(y),o.add(v)}v.attr({draggable:!0,cursor:$M(this._orient),drift:at(this._onDragMove,this,"all"),ondragstart:at(this._showDataInfo,this,!0),ondragend:at(this._onDragEnd,this),onmouseover:at(this._showDataInfo,this,!0),onmouseout:at(this._showDataInfo,this,!1)})},t.prototype._resetInterval=function(){var e=this._range=this.dataZoomModel.getPercentRange(),n=this._getViewExtent();this._handleEnds=[Ut(e[0],[0,100],n,!0),Ut(e[1],[0,100],n,!0)]},t.prototype._updateInterval=function(e,n){var i=this.dataZoomModel,a=this._handleEnds,o=this._getViewExtent(),s=i.findRepresentativeAxisProxy().getMinMaxSpan(),l=[0,100];Wo(n,a,o,i.get("zoomLock")?"all":e,s.minSpan!=null?Ut(s.minSpan,l,o,!0):null,s.maxSpan!=null?Ut(s.maxSpan,l,o,!0):null);var u=this._range,f=this._range=$r([Ut(a[0],o,l,!0),Ut(a[1],o,l,!0)]);return!u||u[0]!==f[0]||u[1]!==f[1]},t.prototype._updateView=function(e){var n=this._displayables,i=this._handleEnds,a=$r(i.slice()),o=this._size;M([0,1],function(v){var d=n.handles[v],p=this._handleHeight;d.attr({scaleX:p/2,scaleY:p/2,x:i[v]+(v?-1:1),y:o[1]/2-p/2})},this),n.filler.setShape({x:a[0],y:0,width:a[1]-a[0],height:o[1]});var s={x:a[0],width:a[1]-a[0]};n.moveHandle&&(n.moveHandle.setShape(s),n.moveZone.setShape(s),n.moveZone.getBoundingRect(),n.moveHandleIcon&&n.moveHandleIcon.attr("x",s.x+s.width/2));for(var l=n.dataShadowSegs,u=[0,a[0],a[1],o[0]],f=0;fn[0]||i[1]<0||i[1]>n[1])){var a=this._handleEnds,o=(a[0]+a[1])/2,s=this._updateInterval("all",i[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},t.prototype._onBrushStart=function(e){var n=e.offsetX,i=e.offsetY;this._brushStart=new Ct(n,i),this._brushing=!0,this._brushStartTime=+new Date},t.prototype._onBrushEnd=function(e){if(this._brushing){var n=this._displayables.brushRect;if(this._brushing=!1,!!n){n.attr("ignore",!0);var i=n.shape,a=+new Date;if(!(a-this._brushStartTime<200&&Math.abs(i.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=$r([Ut(i.x,o,s,!0),Ut(i.x+i.width,o,s,!0)]),this._handleEnds=[i.x,i.x+i.width],this._updateView(),this._dispatchZoomAction(!1)}}}},t.prototype._onBrush=function(e){this._brushing&&(gi(e.event),this._updateBrushRect(e.offsetX,e.offsetY))},t.prototype._updateBrushRect=function(e,n){var i=this._displayables,a=this.dataZoomModel,o=i.brushRect;o||(o=i.brushRect=new Zl({silent:!0,style:a.getModel("brushStyle").getItemStyle()}),i.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,l=this._displayables.sliderGroup,u=l.transformCoordToLocal(e,n),f=l.transformCoordToLocal(s.x,s.y),c=this._size;u[0]=Math.max(Math.min(c[0],u[0]),0),o.setShape({x:f[0],y:0,width:u[0]-f[0],height:c[1]})},t.prototype._dispatchZoomAction=function(e){var n=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:e?rnt:null,start:n[0],end:n[1]})},t.prototype._findCoordRect=function(){var e,n=dO(this.dataZoomModel).infoList;if(!e&&n.length){var i=n[0].model.coordinateSystem;e=i.getRect&&i.getRect()}if(!e){var a=this.api.getWidth(),o=this.api.getHeight();e={x:a*.2,y:o*.2,width:a*.6,height:o*.6}}return e},t.type="dataZoom.slider",t}(K1);function int(r){var t={x:"y",y:"x",radius:"angle",angle:"radius"};return t[r]}function $M(r){return r==="vertical"?"ns-resize":"ew-resize"}const ant=nnt;function OO(r){r.registerComponentModel(jrt),r.registerComponentView(ant),j1(r)}function ont(r){Lt(kO),Lt(OO)}var snt={get:function(r,t,e){var n=mt((lnt[r]||{})[t]);return e&&Y(n)?n[n.length-1]:n}},lnt={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};const NO=snt;var UM=Ge.mapVisual,unt=Ge.eachVisual,fnt=Y,YM=M,cnt=$r,hnt=Ut,vnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e.stateList=["inRange","outOfRange"],e.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],e.layoutMode={type:"box",ignoreSize:!0},e.dataBound=[-1/0,1/0],e.targetVisuals={},e.controllerVisuals={},e}return t.prototype.init=function(e,n,i){this.mergeDefaultAndTheme(e,i)},t.prototype.optionUpdated=function(e,n){var i=this.option;!n&&TO(i,e,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},t.prototype.resetVisual=function(e){var n=this.stateList;e=at(e,this),this.controllerVisuals=h0(this.option.controller,n,e),this.targetVisuals=h0(this.option.target,n,e)},t.prototype.getItemSymbol=function(){return null},t.prototype.getTargetSeriesIndices=function(){var e=this.option.seriesIndex,n=[];return e==null||e==="all"?this.ecModel.eachSeries(function(i,a){n.push(a)}):n=Zt(e),n},t.prototype.eachTargetSeries=function(e,n){M(this.getTargetSeriesIndices(),function(i){var a=this.ecModel.getSeriesByIndex(i);a&&e.call(n,a)},this)},t.prototype.isTargetSeries=function(e){var n=!1;return this.eachTargetSeries(function(i){i===e&&(n=!0)}),n},t.prototype.formatValueText=function(e,n,i){var a=this.option,o=a.precision,s=this.dataBound,l=a.formatter,u;i=i||["<",">"],Y(e)&&(e=e.slice(),u=!0);var f=n?e:u?[c(e[0]),c(e[1])]:c(e);if(nt(l))return l.replace("{value}",u?f[0]:f).replace("{value2}",u?f[1]:f);if(vt(l))return u?l(e[0],e[1]):l(e);if(u)return e[0]===s[0]?i[0]+" "+f[1]:e[1]===s[1]?i[1]+" "+f[0]:f[0]+" - "+f[1];return f;function c(h){return h===s[0]?"min":h===s[1]?"max":(+h).toFixed(Math.min(o,20))}},t.prototype.resetExtent=function(){var e=this.option,n=cnt([e.min,e.max]);this._dataExtent=n},t.prototype.getDataDimensionIndex=function(e){var n=this.option.dimension;if(n!=null)return e.getDimensionIndex(n);for(var i=e.dimensions,a=i.length-1;a>=0;a--){var o=i[a],s=e.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},t.prototype.getExtent=function(){return this._dataExtent.slice()},t.prototype.completeVisualOption=function(){var e=this.ecModel,n=this.option,i={inRange:n.inRange,outOfRange:n.outOfRange},a=n.target||(n.target={}),o=n.controller||(n.controller={});Tt(a,i),Tt(o,i);var s=this.isCategory();l.call(this,a),l.call(this,o),u.call(this,a,"inRange","outOfRange"),f.call(this,o);function l(c){fnt(n.color)&&!c.inRange&&(c.inRange={color:n.color.slice().reverse()}),c.inRange=c.inRange||{color:e.get("gradientColor")}}function u(c,h,v){var d=c[h],p=c[v];d&&!p&&(p=c[v]={},YM(d,function(g,y){if(Ge.isValidType(y)){var m=NO.get(y,"inactive",s);m!=null&&(p[y]=m,y==="color"&&!p.hasOwnProperty("opacity")&&!p.hasOwnProperty("colorAlpha")&&(p.opacity=[0,0]))}}))}function f(c){var h=(c.inRange||{}).symbol||(c.outOfRange||{}).symbol,v=(c.inRange||{}).symbolSize||(c.outOfRange||{}).symbolSize,d=this.get("inactiveColor"),p=this.getItemSymbol(),g=p||"roundRect";YM(this.stateList,function(y){var m=this.itemSize,_=c[y];_||(_=c[y]={color:s?d:[d]}),_.symbol==null&&(_.symbol=h&&mt(h)||(s?g:[g])),_.symbolSize==null&&(_.symbolSize=v&&mt(v)||(s?m[0]:[m[0],m[0]])),_.symbol=UM(_.symbol,function(b){return b==="none"?g:b});var S=_.symbolSize;if(S!=null){var x=-1/0;unt(S,function(b){b>x&&(x=b)}),_.symbolSize=UM(S,function(b){return hnt(b,[0,x],[0,m[0]],!0)})}},this)}},t.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},t.prototype.isCategory=function(){return!!this.option.categories},t.prototype.setSelected=function(e){},t.prototype.getSelected=function(){return null},t.prototype.getValueState=function(e){return null},t.prototype.getVisualMeta=function(e){return null},t.type="visualMap",t.dependencies=["series"],t.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},t}(Bt);const Tv=vnt;var ZM=[20,140],dnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.optionUpdated=function(e,n){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(i){i.mappingMethod="linear",i.dataExtent=this.getExtent()}),this._resetRange()},t.prototype.resetItemSize=function(){r.prototype.resetItemSize.apply(this,arguments);var e=this.itemSize;(e[0]==null||isNaN(e[0]))&&(e[0]=ZM[0]),(e[1]==null||isNaN(e[1]))&&(e[1]=ZM[1])},t.prototype._resetRange=function(){var e=this.getExtent(),n=this.option.range;!n||n.auto?(e.auto=1,this.option.range=e):Y(n)&&(n[0]>n[1]&&n.reverse(),n[0]=Math.max(n[0],e[0]),n[1]=Math.min(n[1],e[1]))},t.prototype.completeVisualOption=function(){r.prototype.completeVisualOption.apply(this,arguments),M(this.stateList,function(e){var n=this.option.controller[e].symbolSize;n&&n[0]!==n[1]&&(n[0]=n[1]/3)},this)},t.prototype.setSelected=function(e){this.option.range=e.slice(),this._resetRange()},t.prototype.getSelected=function(){var e=this.getExtent(),n=$r((this.get("range")||[]).slice());return n[0]>e[1]&&(n[0]=e[1]),n[1]>e[1]&&(n[1]=e[1]),n[0]=i[1]||e<=n[1])?"inRange":"outOfRange"},t.prototype.findTargetDataIndices=function(e){var n=[];return this.eachTargetSeries(function(i){var a=[],o=i.getData();o.each(this.getDataDimensionIndex(o),function(s,l){e[0]<=s&&s<=e[1]&&a.push(l)},this),n.push({seriesId:i.id,dataIndex:a})},this),n},t.prototype.getVisualMeta=function(e){var n=XM(this,"outOfRange",this.getExtent()),i=XM(this,"inRange",this.option.range.slice()),a=[];function o(v,d){a.push({value:v,color:e(v,d)})}for(var s=0,l=0,u=i.length,f=n.length;le[1])break;a.push({color:this.getControllerVisual(l,"color",n),offset:s/i})}return a.push({color:this.getControllerVisual(e[1],"color",n),offset:1}),a},t.prototype._createBarPoints=function(e,n){var i=this.visualMapModel.itemSize;return[[i[0]-n[0],e[0]],[i[0],e[0]],[i[0],e[1]],[i[0]-n[1],e[1]]]},t.prototype._createBarGroup=function(e){var n=this._orient,i=this.visualMapModel.get("inverse");return new _t(n==="horizontal"&&!i?{scaleX:e==="bottom"?1:-1,rotation:Math.PI/2}:n==="horizontal"&&i?{scaleX:e==="bottom"?-1:1,rotation:-Math.PI/2}:n==="vertical"&&!i?{scaleX:e==="left"?1:-1,scaleY:-1}:{scaleX:e==="left"?1:-1})},t.prototype._updateHandle=function(e,n){if(this._useHandle){var i=this._shapes,a=this.visualMapModel,o=i.handleThumbs,s=i.handleLabels,l=a.itemSize,u=a.getExtent(),f=this._applyTransform("left",i.mainGroup);ynt([0,1],function(c){var h=o[c];h.setStyle("fill",n.handlesColor[c]),h.y=e[c];var v=Mn(e[c],[0,l[1]],u,!0),d=this.getControllerVisual(v,"symbolSize");h.scaleX=h.scaleY=d/l[0],h.x=l[0]-d/2;var p=cn(i.handleLabelPoints[c],bo(h,this.group));if(this._orient==="horizontal"){var g=f==="left"||f==="top"?(l[0]-d)/2:(l[0]-d)/-2;p[1]+=g}s[c].setStyle({x:p[0],y:p[1],text:a.formatValueText(this._dataInterval[c]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",i.mainGroup):"center"})},this)}},t.prototype._showIndicator=function(e,n,i,a){var o=this.visualMapModel,s=o.getExtent(),l=o.itemSize,u=[0,l[1]],f=this._shapes,c=f.indicator;if(c){c.attr("invisible",!1);var h={convertOpacityToAlpha:!0},v=this.getControllerVisual(e,"color",h),d=this.getControllerVisual(e,"symbolSize"),p=Mn(e,s,u,!0),g=l[0]-d/2,y={x:c.x,y:c.y};c.y=p,c.x=g;var m=cn(f.indicatorLabelPoint,bo(c,this.group)),_=f.indicatorLabel;_.attr("invisible",!1);var S=this._applyTransform("left",f.mainGroup),x=this._orient,b=x==="horizontal";_.setStyle({text:(i||"")+o.formatValueText(n),verticalAlign:b?S:"middle",align:b?"center":S});var w={x:g,y:p,style:{fill:v}},T={style:{x:m[0],y:m[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var A={duration:100,easing:"cubicInOut",additive:!0};c.x=y.x,c.y=y.y,c.animateTo(w,A),_.animateTo(T,A)}else c.attr(w),_.attr(T);this._firstShowIndicator=!1;var C=this._shapes.handleLabels;if(C)for(var D=0;Do[1]&&(c[1]=1/0),n&&(c[0]===-1/0?this._showIndicator(f,c[1],"< ",l):c[1]===1/0?this._showIndicator(f,c[0],"> ",l):this._showIndicator(f,f,"≈ ",l));var h=this._hoverLinkDataIndices,v=[];(n||JM(i))&&(v=this._hoverLinkDataIndices=i.findTargetDataIndices(c));var d=sF(h,v);this._dispatchHighDown("downplay",Sh(d[0],i)),this._dispatchHighDown("highlight",Sh(d[1],i))}},t.prototype._hoverLinkFromSeriesMouseOver=function(e){var n;if(uo(e.target,function(l){var u=St(l);if(u.dataIndex!=null)return n=u,!0},!0),!!n){var i=this.ecModel.getSeriesByIndex(n.seriesIndex),a=this.visualMapModel;if(a.isTargetSeries(i)){var o=i.getData(n.dataType),s=o.getStore().get(a.getDataDimensionIndex(o),n.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},t.prototype._hideIndicator=function(){var e=this._shapes;e.indicator&&e.indicator.attr("invisible",!0),e.indicatorLabel&&e.indicatorLabel.attr("invisible",!0);var n=this._shapes.handleLabels;if(n)for(var i=0;i=0&&(a.dimension=o,n.push(a))}}),r.getData().setVisual("visualMeta",n)}}];function Cnt(r,t,e,n){for(var i=t.targetVisuals[n],a=Ge.prepareVisualTypes(i),o={color:If(r.getData(),"color")},s=0,l=a.length;s0:t.splitNumber>0)||t.calculable)?"continuous":"piecewise"}),r.registerAction(wnt,Tnt),M(Ant,function(t){r.registerVisual(r.PRIORITY.VISUAL.COMPONENT,t)}),r.registerPreprocessor(Mnt))}function GO(r){r.registerComponentModel(pnt),r.registerComponentView(bnt),zO(r)}var Dnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e._pieceList=[],e}return t.prototype.optionUpdated=function(e,n){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],Int[this._mode].call(this,this._pieceList),this._resetSelected(e,n);var a=this.option.categories;this.resetVisual(function(o,s){i==="categories"?(o.mappingMethod="category",o.categories=mt(a)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=Z(this._pieceList,function(l){return l=mt(l),s!=="inRange"&&(l.visual=null),l}))})},t.prototype.completeVisualOption=function(){var e=this.option,n={},i=Ge.listVisualTypes(),a=this.isCategory();M(e.pieces,function(s){M(i,function(l){s.hasOwnProperty(l)&&(n[l]=1)})}),M(n,function(s,l){var u=!1;M(this.stateList,function(f){u=u||o(e,f,l)||o(e.target,f,l)},this),!u&&M(this.stateList,function(f){(e[f]||(e[f]={}))[l]=NO.get(l,f==="inRange"?"active":"inactive",a)})},this);function o(s,l,u){return s&&s[l]&&s[l].hasOwnProperty(u)}r.prototype.completeVisualOption.apply(this,arguments)},t.prototype._resetSelected=function(e,n){var i=this.option,a=this._pieceList,o=(n?i:e).selected||{};if(i.selected=o,M(a,function(l,u){var f=this.getSelectedMapKey(l);o.hasOwnProperty(f)||(o[f]=!0)},this),i.selectedMode==="single"){var s=!1;M(a,function(l,u){var f=this.getSelectedMapKey(l);o[f]&&(s?o[f]=!1:s=!0)},this)}},t.prototype.getItemSymbol=function(){return this.get("itemSymbol")},t.prototype.getSelectedMapKey=function(e){return this._mode==="categories"?e.value+"":e.index+""},t.prototype.getPieceList=function(){return this._pieceList},t.prototype._determineMode=function(){var e=this.option;return e.pieces&&e.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},t.prototype.setSelected=function(e){this.option.selected=mt(e)},t.prototype.getValueState=function(e){var n=Ge.findPieceIndex(e,this._pieceList);return n!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[n])]?"inRange":"outOfRange"},t.prototype.findTargetDataIndices=function(e){var n=[],i=this._pieceList;return this.eachTargetSeries(function(a){var o=[],s=a.getData();s.each(this.getDataDimensionIndex(s),function(l,u){var f=Ge.findPieceIndex(l,i);f===e&&o.push(u)},this),n.push({seriesId:a.id,dataIndex:o})},this),n},t.prototype.getRepresentValue=function(e){var n;if(this.isCategory())n=e.value;else if(e.value!=null)n=e.value;else{var i=e.interval||[];n=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return n},t.prototype.getVisualMeta=function(e){if(this.isCategory())return;var n=[],i=["",""],a=this;function o(f,c){var h=a.getRepresentValue({interval:f});c||(c=a.getValueState(h));var v=e(h,c);f[0]===-1/0?i[0]=v:f[1]===1/0?i[1]=v:n.push({value:f[0],color:v},{value:f[1],color:v})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var l=s[0].interval[0];l!==-1/0&&s.unshift({interval:[-1/0,l]}),l=s[s.length-1].interval[1],l!==1/0&&s.push({interval:[l,1/0]})}var u=-1/0;return M(s,function(f){var c=f.interval;c&&(c[0]>u&&o([u,c[0]],"outOfRange"),o(c.slice()),u=c[1])},this),{stops:n,outerColors:i}},t.type="visualMap.piecewise",t.defaultOption=ya(Tv.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),t}(Tv),Int={splitNumber:function(r){var t=this.option,e=Math.min(t.precision,20),n=this.getExtent(),i=t.splitNumber;i=Math.max(parseInt(i,10),1),t.splitNumber=i;for(var a=(n[1]-n[0])/i;+a.toFixed(e)!==a&&e<5;)e++;t.precision=e,a=+a.toFixed(e),t.minOpen&&r.push({interval:[-1/0,n[0]],close:[0,0]});for(var o=0,s=n[0];o","≥"][n[0]]];e.text=e.text||this.formatValueText(e.value!=null?e.value:e.interval,!1,i)},this)}};function rD(r,t){var e=r.inverse;(r.orient==="vertical"?!e:e)&&t.reverse()}const Lnt=Dnt;var Pnt=function(r){B(t,r);function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.type=t.type,e}return t.prototype.doRender=function(){var e=this.group;e.removeAll();var n=this.visualMapModel,i=n.get("textGap"),a=n.textStyleModel,o=a.getFont(),s=a.getTextColor(),l=this._getItemAlign(),u=n.itemSize,f=this._getViewData(),c=f.endsText,h=Re(n.get("showLabel",!0),!c),v=!n.get("selectedMode");c&&this._renderEndsText(e,c[0],u,h,l),M(f.viewPieceList,function(d){var p=d.piece,g=new _t;g.onclick=at(this._onItemClick,this,p),this._enableHoverLink(g,d.indexInModelPieceList);var y=n.getRepresentValue(p);if(this._createItemSymbol(g,y,[0,0,u[0],u[1]],v),h){var m=this.visualMapModel.getValueState(y);g.add(new Gt({style:{x:l==="right"?-i:u[0]+i,y:u[1]/2,text:p.text,verticalAlign:"middle",align:l,font:o,fill:s,opacity:m==="outOfRange"?.5:1},silent:v}))}e.add(g)},this),c&&this._renderEndsText(e,c[1],u,h,l),wo(n.get("orient"),e,n.get("itemGap")),this.renderBackground(e),this.positionGroup(e)},t.prototype._enableHoverLink=function(e,n){var i=this;e.on("mouseover",function(){return a("highlight")}).on("mouseout",function(){return a("downplay")});var a=function(o){var s=i.visualMapModel;s.option.hoverLink&&i.api.dispatchAction({type:o,batch:Sh(s.findTargetDataIndices(n),s)})}},t.prototype._getItemAlign=function(){var e=this.visualMapModel,n=e.option;if(n.orient==="vertical")return BO(e,this.api,e.itemSize);var i=n.align;return(!i||i==="auto")&&(i="left"),i},t.prototype._renderEndsText=function(e,n,i,a,o){if(n){var s=new _t,l=this.visualMapModel.textStyleModel;s.add(new Gt({style:Qt(l,{x:a?o==="right"?i[0]:0:i[0]/2,y:i[1]/2,verticalAlign:"middle",align:a?o:"center",text:n})})),e.add(s)}},t.prototype._getViewData=function(){var e=this.visualMapModel,n=Z(e.getPieceList(),function(s,l){return{piece:s,indexInModelPieceList:l}}),i=e.get("text"),a=e.get("orient"),o=e.get("inverse");return(a==="horizontal"?o:!o)?n.reverse():i&&(i=i.slice().reverse()),{viewPieceList:n,endsText:i}},t.prototype._createItemSymbol=function(e,n,i,a){var o=me(this.getControllerVisual(n,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(n,"color"));o.silent=a,e.add(o)},t.prototype._onItemClick=function(e){var n=this.visualMapModel,i=n.option,a=i.selectedMode;if(a){var o=mt(i.selected),s=n.getSelectedMapKey(e);a==="single"||a===!0?(o[s]=!0,M(o,function(l,u){o[u]=u===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},t.type="visualMap.piecewise",t}(VO);const Rnt=Pnt;function FO(r){r.registerComponentModel(Lnt),r.registerComponentView(Rnt),zO(r)}function Ent(r){Lt(GO),Lt(FO)}var knt={label:{enabled:!0},decal:{show:!1}},nD=Nt(),Ont={};function Nnt(r,t){var e=r.getModel("aria");if(!e.get("enabled"))return;var n=mt(knt);Tt(n.label,r.getLocaleModel().get("aria"),!1),Tt(e.option,n,!1),i(),a();function i(){var u=e.getModel("decal"),f=u.get("show");if(f){var c=ft();r.eachSeries(function(h){if(!h.isColorBySeries()){var v=c.get(h.type);v||(v={},c.set(h.type,v)),nD(h).scope=v}}),r.eachRawSeries(function(h){if(r.isSeriesFiltered(h))return;if(vt(h.enableAriaDecal)){h.enableAriaDecal();return}var v=h.getData();if(h.isColorBySeries()){var m=Sm(h.ecModel,h.name,Ont,r.getSeriesCount()),_=v.getVisual("decal");v.setVisual("decal",S(_,m))}else{var d=h.getRawData(),p={},g=nD(h).scope;v.each(function(x){var b=v.getRawIndex(x);p[b]=x});var y=d.count();d.each(function(x){var b=p[x],w=d.getName(x)||x+"",T=Sm(h.ecModel,w,g,y),A=v.getItemVisual(b,"decal");v.setItemVisual(b,"decal",S(A,T))})}function S(x,b){var w=x?F(F({},b),x):b;return w.dirty=!0,w}})}}function a(){var u=t.getZr().dom;if(u){var f=r.getLocaleModel().get("aria"),c=e.getModel("label");if(c.option=pt(c.option,f),!!c.get("enabled")){if(u.setAttribute("role","img"),c.get("description")){u.setAttribute("aria-label",c.get("description"));return}var h=r.getSeriesCount(),v=c.get(["data","maxCount"])||10,d=c.get(["series","maxCount"])||10,p=Math.min(h,d),g;if(!(h<1)){var y=s();if(y){var m=c.get(["general","withTitle"]);g=o(m,{title:y})}else g=c.get(["general","withoutTitle"]);var _=[],S=h>1?c.get(["series","multiple","prefix"]):c.get(["series","single","prefix"]);g+=o(S,{seriesCount:h}),r.eachSeries(function(T,A){if(A1?c.get(["series","multiple",I]):c.get(["series","single",I]),C=o(C,{seriesId:T.seriesIndex,seriesName:T.get("name"),seriesType:l(T.subType)});var L=T.getData();if(L.count()>v){var P=c.get(["data","partialData"]);C+=o(P,{displayCnt:v})}else C+=c.get(["data","allData"]);for(var E=c.get(["data","separator","middle"]),O=c.get(["data","separator","end"]),V=c.get(["data","excludeDimensionId"]),N=[],G=0;G":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},znt=function(){function r(t){var e=this._condVal=nt(t)?new RegExp(t):g5(t)?t:null;if(e==null){var n="";Wt(n)}}return r.prototype.evaluate=function(t){var e=typeof t;return nt(e)?this._condVal.test(t):Ft(e)?this._condVal.test(t+""):!1},r}(),Gnt=function(){function r(){}return r.prototype.evaluate=function(){return this.value},r}(),Fnt=function(){function r(){}return r.prototype.evaluate=function(){for(var t=this.children,e=0;e2&&n.push(i),i=[L,P]}function f(L,P,E,O){ws(L,E)&&ws(P,O)||i.push(L,P,E,O,E,O)}function c(L,P,E,O,V,N){var G=Math.abs(P-L),$=Math.tan(G/4)*4/3,q=PT:D2&&n.push(i),n}function S0(r,t,e,n,i,a,o,s,l,u){if(ws(r,e)&&ws(t,n)&&ws(i,o)&&ws(a,s)){l.push(o,s);return}var f=2/u,c=f*f,h=o-r,v=s-t,d=Math.sqrt(h*h+v*v);h/=d,v/=d;var p=e-r,g=n-t,y=i-o,m=a-s,_=p*p+g*g,S=y*y+m*m;if(_=0&&T=0){l.push(o,s);return}var A=[],C=[];oa(r,e,i,o,.5,A),oa(t,n,a,s,.5,C),S0(A[0],C[0],A[1],C[1],A[2],C[2],A[3],C[3],l,u),S0(A[4],C[4],A[5],C[5],A[6],C[6],A[7],C[7],l,u)}function eit(r,t){var e=_0(r),n=[];t=t||1;for(var i=0;i0)for(var u=0;uMath.abs(u),c=WO([l,u],f?0:1,t),h=(f?s:u)/c.length,v=0;vi,o=WO([n,i],a?0:1,t),s=a?"width":"height",l=a?"height":"width",u=a?"x":"y",f=a?"y":"x",c=r[s]/o.length,h=0;h1?null:new Ct(p*l+r,p*u+t)}function iit(r,t,e){var n=new Ct;Ct.sub(n,e,t),n.normalize();var i=new Ct;Ct.sub(i,r,t);var a=i.dot(n);return a}function cs(r,t){var e=r[r.length-1];e&&e[0]===t[0]&&e[1]===t[1]||r.push(t)}function ait(r,t,e){for(var n=r.length,i=[],a=0;ao?(u.x=f.x=s+a/2,u.y=l,f.y=l+o):(u.y=f.y=l+o/2,u.x=s,f.x=s+a),ait(t,u,f)}function Av(r,t,e,n){if(e===1)n.push(t);else{var i=Math.floor(e/2),a=r(t);Av(r,a[0],i,n),Av(r,a[1],e-i,n)}return n}function oit(r,t){for(var e=[],n=0;n0)for(var x=n/e,b=-n/2;b<=n/2;b+=x){for(var w=Math.sin(b),T=Math.cos(b),A=0,_=0;_0;u/=2){var f=0,c=0;(r&u)>0&&(f=1),(t&u)>0&&(c=1),s+=u*u*(3*f^c),c===0&&(f===1&&(r=u-1-r,t=u-1-t),l=r,r=t,t=l)}return s}function Dv(r){var t=1/0,e=1/0,n=-1/0,i=-1/0,a=Z(r,function(s){var l=s.getBoundingRect(),u=s.getComputedTransform(),f=l.x+l.width/2+(u?u[4]:0),c=l.y+l.height/2+(u?u[5]:0);return t=Math.min(f,t),e=Math.min(c,e),n=Math.max(f,n),i=Math.max(c,i),[f,c]}),o=Z(a,function(s,l){return{cp:s,z:pit(s[0],s[1],t,e,n,i),path:r[l]}});return o.sort(function(s,l){return s.z-l.z}).map(function(s){return s.path})}function YO(r){return uit(r.path,r.count)}function x0(){return{fromIndividuals:[],toIndividuals:[],count:0}}function git(r,t,e){var n=[];function i(x){for(var b=0;b=0;i--)if(!e[i].many.length){var l=e[s].many;if(l.length<=1)if(s)s=0;else return e;var a=l.length,u=Math.ceil(a/2);e[i].many=l.slice(u,a),e[s].many=l.slice(0,u),s++}return e}var mit={clone:function(r){for(var t=[],e=1-Math.pow(1-r.path.style.opacity,1/r.count),n=0;n0))return;var s=n.getModel("universalTransition").get("delay"),l=Object.assign({setToFinal:!0},o),u,f;hD(r)&&(u=r,f=t),hD(t)&&(u=t,f=r);function c(y,m,_,S,x){var b=y.many,w=y.one;if(b.length===1&&!x){var T=m?b[0]:w,A=m?w:b[0];if(Cv(T))c({many:[T],one:A},!0,_,S,!0);else{var C=s?pt({delay:s(_,S)},l):l;sS(T,A,C),a(T,A,T,A,C)}}else for(var D=pt({dividePath:mit[e],individualDelay:s&&function(V,N,G,$){return s(V+_,S)}},l),I=m?git(b,w,D):yit(w,b,D),L=I.fromIndividuals,P=I.toIndividuals,E=L.length,O=0;Ot.length,v=u?vD(f,u):vD(h?t:r,[h?r:t]),d=0,p=0;pZO))for(var a=n.getIndices(),o=0;o0&&b.group.traverse(function(T){T instanceof Pt&&!T.animators.length&&T.animateFrom({style:{opacity:0}},w)})})}function mD(r){var t=r.getModel("universalTransition").get("seriesKey");return t||r.id}function _D(r){return Y(r)?r.sort().join(","):r}function $i(r){if(r.hostModel)return r.hostModel.getModel("universalTransition").get("divideShape")}function Ait(r,t){var e=ft(),n=ft(),i=ft();return M(r.oldSeries,function(a,o){var s=r.oldDataGroupIds[o],l=r.oldData[o],u=mD(a),f=_D(u);n.set(f,{dataGroupId:s,data:l}),Y(u)&&M(u,function(c){i.set(c,{key:f,dataGroupId:s,data:l})})}),M(t.updatedSeries,function(a){if(a.isUniversalTransitionEnabled()&&a.isAnimationEnabled()){var o=a.get("dataGroupId"),s=a.getData(),l=mD(a),u=_D(l),f=n.get(u);if(f)e.set(u,{oldSeries:[{dataGroupId:f.dataGroupId,divide:$i(f.data),data:f.data}],newSeries:[{dataGroupId:o,divide:$i(s),data:s}]});else if(Y(l)){var c=[];M(l,function(d){var p=n.get(d);p.data&&c.push({dataGroupId:p.dataGroupId,divide:$i(p.data),data:p.data})}),c.length&&e.set(u,{oldSeries:c,newSeries:[{dataGroupId:o,data:s,divide:$i(s)}]})}else{var h=i.get(l);if(h){var v=e.get(h.key);v||(v={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:$i(h.data)}],newSeries:[]},e.set(h.key,v)),v.newSeries.push({dataGroupId:o,data:s,divide:$i(s)})}}}}),e}function SD(r,t){for(var e=0;e=0&&i.push({dataGroupId:t.oldDataGroupIds[s],data:t.oldData[s],divide:$i(t.oldData[s]),groupIdDim:o.dimension})}),M(Zt(r.to),function(o){var s=SD(e.updatedSeries,o);if(s>=0){var l=e.updatedSeries[s].getData();a.push({dataGroupId:t.oldDataGroupIds[s],data:l,divide:$i(l),groupIdDim:o.dimension})}}),i.length>0&&a.length>0&&XO(i,a,n)}function Mit(r){r.registerUpdateLifecycle("series:beforeupdate",function(t,e,n){M(Zt(n.seriesTransition),function(i){M(Zt(i.to),function(a){for(var o=n.updatedSeries,s=0;s{b0(r)}))}function b0(r,t=new WeakSet){if(!(!r||typeof r!="object")&&!t.has(r)){if(t.add(r),Array.isArray(r)){r.forEach(e=>b0(e,t));return}r.tooltip&&typeof r.tooltip=="object"&&(r.tooltip=Iit(r.tooltip)),Object.keys(r).forEach(e=>{const n=r[e];!n||typeof n!="object"||b0(n,t)})}}function Iit(r){var t,e;return dS(vS({},r),{appendToBody:(t=r.appendToBody)!=null?t:!0,confine:(e=r.confine)!=null?e:!1,extraCssText:Lit(r.extraCssText)})}function Lit(r=""){const t=String(r||"").trim();return t?/z-index\s*:/i.test(t)?t:`${t.replace(/;$/,"")};${xD}`:xD}Dit();let Pit=PB(Qz);Pit.use(GI).mount("#app");export{Zit as A,Yz as B,Bv as C,Fit as D,Wit as E,zr as F,Uit as G,Vit as H,U0 as I,qit as J,Xit as K,Af as L,jit as M,Kit as N,V0 as O,KV as P,Oit as Q,TI as R,Eit as S,Nit as T,Jit as U,ke as V,F_ as W,Kz as _,xI as a,Pe as b,Git as c,qc as d,nn as e,lV as f,Hit as g,aV as h,un as i,E0 as j,Bit as k,A0 as l,Ih as m,C0 as n,Mh as o,Kc as p,UV as q,zit as r,kN as s,hN as t,go as u,YN as v,jc as w,Yit as x,kit as y,$it as z}; diff --git a/docs/assets/index-45757d30-1783905032331.js b/docs/assets/index-45757d30-1783905032331.js deleted file mode 100644 index 86d1215..0000000 --- a/docs/assets/index-45757d30-1783905032331.js +++ /dev/null @@ -1,2 +0,0 @@ -import{b6 as $,b7 as J,b8 as K,b9 as x,aU as h,b5 as l,aV as b,ba as z,bb as X,bc as Y,bd as ee,be as p,bf as te,aW as ae,aQ as ne,aR as le}from"./chartTheme-798f6f49-1783905032331.js";import{_ as oe,o as i,c as s,a as t,F as u,l as g,u as B,m,b as L,x as O,n as R,q as re,g as F,t as r,v as y}from"./index-1783905032331.js";const ie={class:"chart-guide-screen"},se={class:"guide-header"},ue={class:"guide-palette","aria-label":"系统图表色板"},ce={class:"guide-layout"},de={class:"guide-chart-grid","aria-label":"系统图表示例"},ge={class:"guide-three-pie-visual"},me={class:"guide-three-pie-center"},pe={class:"guide-three-pie-legend"},he={class:"guide-band"},be={class:"guide-band-list"},ve={class:"guide-warning-core"},ye={class:"guide-warning-list"},fe={__name:"index",setup(ke){const N=l,f={standard:{width:398,height:190,label:"398x190"},tall:{width:398,height:392,label:"398x392"}},P=["瓦切镇","安曲镇","邛溪镇","龙日镇","刷经寺镇","麦洼乡","查尔玛乡"],W=[{name:"瓦切镇",value:74721},{name:"安曲镇",value:65780},{name:"邛溪镇",value:63466},{name:"龙日镇",value:54691},{name:"刷经寺镇",value:45940},{name:"麦洼乡",value:38202},{name:"查尔玛乡",value:31766}],G=["草地","湿地","林地","牧场","保护地"],k=["1月","2月","3月","4月","5月","6月","7月","8月"],A=[{key:"bar-vertical",title:"林草湿资源面积",unit:"单位:万亩",option:$({categories:G,rows:[{name:"草地",value:486.2},{name:"湿地",value:82.4},{name:"林地",value:126.8},{name:"牧场",value:58.6},{name:"保护地",value:214.5}],unit:"万亩",name:"资源面积",showLabel:!1,grid:{left:40,right:16,top:18,bottom:34}})},{key:"bar-horizontal",title:"乡镇牦牛存栏排行",unit:"单位:头",option:$({categories:P.slice(0,5),rows:W.slice(0,5),unit:"头",name:"牦牛存栏",orientation:"horizontal",colorIndex:1,grid:{left:58,right:54,top:16,bottom:18}})},{key:"grouped-bar",title:"林草湿年度对比",unit:"单位:万亩",option:J({categories:["2021","2022","2023","2024","2025"],unit:"万亩",series:[{name:"草地",values:[472,476,481,486,489]},{name:"湿地",values:[76,79,81,82,84]},{name:"林地",values:[119,121,124,127,130]}],grid:{left:38,right:14,top:34,bottom:32}})},{key:"stacked-bar",title:"草地利用结构",unit:"单位:万亩",option:K({categories:["瓦切","安曲","邛溪","龙日","刷经寺"],unit:"万亩",series:[{name:"可利用草地",values:[66,52,48,44,38]},{name:"禁牧草地",values:[18,21,16,13,12]},{name:"退化治理",values:[9,7,8,6,5]}],grid:{left:38,right:14,top:34,bottom:32}})},{key:"line-trend",title:"牦牛存栏趋势",unit:"单位:万头",option:x({categories:k,unit:"万头",series:[{name:"2025年",values:[45.2,45.8,46.4,47.1,48.3,49.1,49.8,50.2]},{name:"2024年",values:[42.9,43.5,44.2,44.8,45.9,46.5,47.1,47.7]}],grid:{left:38,right:14,top:34,bottom:30}})},{key:"area-line",title:"草地产草量走势",unit:"单位:万吨",option:x({categories:k,unit:"万吨",area:!0,series:[{name:"鲜草产量",values:[12.4,14.1,19.8,28.6,36.2,43.5,46.8,41.2]}],grid:{left:38,right:14,top:34,bottom:30}})},{key:"three-pie",title:"草牧资源结构",unit:"3D饼图",visual:"three-pie"},{key:"donut",title:"湿地类型结构",unit:"单位:%",option:I({unit:"万亩",name:"湿地结构",rows:[{name:"沼泽湿地",value:36.8},{name:"河流湿地",value:21.3},{name:"湖泊湿地",value:14.6},{name:"人工湿地",value:9.7}]})},{key:"rose",title:"林地类型占比",unit:"单位:%",option:E()},{key:"pictorial-column",title:"乡镇草地光柱",unit:"单位:万亩",option:q()},{key:"gauge",title:"草畜平衡预警",unit:"单位:分",option:Q()},{key:"progress-ring",title:"治理任务完成率",unit:"单位:%",option:U()},{key:"structure-band",title:"资源结构占比",unit:"单位:%",visual:"structure-band"},{key:"rank-list",title:"重点对象排行",unit:"单位:项",visual:"rank-list"},{key:"warning-band",title:"风险状态分布",unit:"单位:项",visual:"warning-band"},{key:"target-stack",title:"年度目标达成",unit:"单位:%",visual:"target-stack"}],w=["#17E6C3","#40CFFF","#1979FF","#FFC472"],v=[{name:"草地",value:486.2,unit:"万亩"},{name:"湿地",value:82.4,unit:"万亩"},{name:"林地",value:126.8,unit:"万亩"},{name:"保护地",value:214.5,unit:"万亩"}],_=[{name:"草地",percent:52,color:l[0]},{name:"林地",percent:24,color:l[1]},{name:"湿地",percent:14,color:l[2]},{name:"保护地",percent:10,color:l[3]}],V=[{name:"瓦切镇",value:"74,721",percent:100},{name:"安曲镇",value:"65,780",percent:88},{name:"邛溪镇",value:"63,466",percent:85},{name:"龙日镇",value:"54,691",percent:73}],S={name:"中低风险占比",value:"86%"},T=[{name:"正常",value:"128",percent:100,color:l[0]},{name:"关注",value:"36",percent:45,color:l[2]},{name:"预警",value:"12",percent:18,color:l[4]}],D=[{name:"草地修复",percent:92,color:l[0]},{name:"湿地巡护",percent:86,color:l[1]},{name:"林地管护",percent:78,color:l[2]},{name:"风险处置",percent:94,color:l[3]}];function H(o){return`C${String(o+1).padStart(2,"0")}`}function C(o){return f[o.size||"standard"]||f.standard}function M(o={}){const n=v.reduce((c,e)=>c+(Number(e.value)||0),0)||1;return`${((Number(o.value)||0)/n*100).toFixed(1)}%`}function I({rows:o=[],unit:n="",name:a="结构占比"}={}){const c=o.reduce((e,d)=>e+(Number(d.value)||0),0)||1;return h({color:l,tooltip:b(e=>`${e.marker}${e.name}:${p(e.value)}${n}
占比:${p(e.percent)}%`),legend:z({orient:"vertical",right:12,top:"middle",itemWidth:8,itemHeight:8,itemGap:8,formatter:e=>{const d=o.find(j=>j.name===e),Z=d?Math.round((Number(d.value)||0)/c*100):0;return`${e} ${Z}%`}}),series:[{name:a,type:"pie",radius:["48%","68%"],center:["34%","52%"],avoidLabelOverlap:!0,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.94)",borderWidth:3},data:o.map((e,d)=>({name:e.name,value:Number(e.value)||0,itemStyle:{color:e.color||l[d%l.length]}}))}]})}function E(){const o=[{name:"乔木林地",value:42.6},{name:"灌木林地",value:35.2},{name:"疏林地",value:18.4},{name:"未成林地",value:8.7}];return h({color:l,tooltip:b(n=>`${n.marker}${n.name}:${p(n.value)}万亩
占比:${p(n.percent)}%`),legend:z({orient:"vertical",right:8,top:"middle",itemWidth:8,itemHeight:8,itemGap:7}),series:[{name:"林地类型",type:"pie",roseType:"radius",radius:[14,"64%"],center:["34%","54%"],avoidLabelOverlap:!0,itemStyle:{borderColor:"rgba(3, 18, 31, 0.94)",borderWidth:3,shadowBlur:10,shadowColor:"rgba(0, 0, 0, 0.25)"},label:{color:"#f7feff",fontSize:10,formatter:({percent:n})=>n>=8?`${Math.round(n)}%`:""},labelLine:{length:7,length2:6,lineStyle:{color:"rgba(223, 250, 255, 0.38)"}},data:o}]})}function q(){const o=["瓦切","安曲","邛溪","龙日","刷经寺"],n=[486,372,318,246,205],a=520;return h({color:l,grid:X({left:40,right:18,top:22,bottom:34}),tooltip:b(c=>`${c.name}:${p(c.value)}万亩`,{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{color:"rgba(48, 220, 255, 0.08)"}}}),xAxis:Y(o),yAxis:ee(),series:[{name:"底柱",type:"bar",barWidth:24,barGap:"-100%",data:n.map(()=>a),tooltip:{show:!1},silent:!0,itemStyle:{borderRadius:[8,8,0,0],borderColor:"rgba(48, 220, 255, 0.2)",borderWidth:1,color:"rgba(48, 220, 255, 0.08)"}},{name:"草地面积",type:"bar",barWidth:13,barGap:"-76%",z:3,data:n,label:{show:!0,position:"top",color:"#ffffff",fontSize:10,formatter:({value:c})=>p(c)},itemStyle:{borderRadius:[8,8,1,1],color:te(l[0]),shadowBlur:10,shadowColor:"rgba(36, 246, 196, 0.28)"}},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[21,6],symbolOffset:[0,-4],symbolPosition:"end",z:5,tooltip:{show:!1},data:n,itemStyle:{color:"rgba(232, 255, 255, 0.9)",shadowBlur:9,shadowColor:"rgba(48, 220, 255, 0.7)"}}]})}function Q(){return h({series:[{type:"gauge",startAngle:210,endAngle:-30,min:0,max:100,radius:"88%",center:["50%","58%"],progress:{show:!0,width:12,itemStyle:{color:l[2]}},axisLine:{lineStyle:{width:12,color:[[.55,"rgba(36, 246, 196, 0.42)"],[.8,"rgba(255, 224, 107, 0.42)"],[1,"rgba(255, 154, 98, 0.42)"]]}},axisTick:{show:!1},splitLine:{length:7,lineStyle:{color:"rgba(225, 249, 255, 0.36)",width:1}},axisLabel:{show:!1},pointer:{icon:"path://M4 0 L-4 0 L0 -62 Z",width:8,length:"56%",itemStyle:{color:"#ffe06b",shadowBlur:8,shadowColor:"rgba(255, 224, 107, 0.45)"}},anchor:{show:!0,size:7,itemStyle:{color:"#ffe06b"}},title:{offsetCenter:[0,"52%"],color:"rgba(225, 249, 255, 0.7)",fontSize:12},detail:{valueAnimation:!0,offsetCenter:[0,"26%"],color:"#ffe06b",fontSize:27,fontWeight:700,formatter:"{value}"},data:[{value:78,name:"中度预警"}]}]})}function U(){return h({tooltip:b(o=>`${o.marker}${o.name}:${o.value}%`),series:[{type:"pie",radius:["62%","76%"],center:["50%","52%"],silent:!0,label:{show:!1},data:[{name:"已完成",value:72,itemStyle:{color:l[0]}},{name:"未完成",value:28,itemStyle:{color:"rgba(48, 220, 255, .12)"}}]},{type:"pie",radius:["42%","46%"],center:["50%","52%"],silent:!0,label:{position:"center",formatter:`72% -完成`,color:"#ffe06b",fontSize:22,lineHeight:30,fontWeight:700},data:[{value:1,itemStyle:{color:"rgba(255, 224, 107, .28)"}}]}]})}return(o,n)=>(i(),s("div",ie,[n[1]||(n[1]=t("div",{class:"guide-bg guide-bg-grid"},null,-1)),n[2]||(n[2]=t("div",{class:"guide-bg guide-bg-glow"},null,-1)),t("header",se,[n[0]||(n[0]=t("div",null,[t("div",{class:"guide-kicker"},"Chart Style System"),t("h1",null,"图表样式规范")],-1)),t("div",ue,[(i(!0),s(u,null,g(B(N),a=>(i(),s("span",{key:a,style:m({background:a})},null,4))),128))])]),t("main",ce,[t("section",de,[(i(),s(u,null,g(A,(a,c)=>L(le,{key:a.key,class:R(["guide-chart-card",`is-${a.size||"standard"}`]),width:C(a).width,height:C(a).height,title:`${H(c)} ${a.title}`,"data-unit":a.unit},{default:O(()=>[t("div",{class:R(["guide-card-content",a.visual?`is-${a.visual}`:""])},[a.option?(i(),re(B(ae),{key:0,class:"guide-chart",option:a.option,autoresize:""},null,8,["option"])):F("",!0),a.visual==="three-pie"?(i(),s(u,{key:1},[t("div",ge,[L(ne,{data:v,colors:w,delay:3e3,opacity:.62,class:"guide-three-pie"},{default:O(({data:e})=>[t("div",me,[t("strong",null,r(M(e)),1),t("span",null,r((e==null?void 0:e.name)||"结构占比"),1)])]),_:1})]),t("div",pe,[(i(),s(u,null,g(v,(e,d)=>t("div",{key:e.name},[t("i",{style:m({borderColor:w[d]})},null,4),t("span",null,r(e.name),1),t("strong",null,[y(r(e.value),1),t("em",null,r(e.unit),1)])])),64))])],64)):a.visual==="structure-band"?(i(),s(u,{key:2},[t("div",he,[(i(),s(u,null,g(_,e=>t("i",{key:e.name,style:m({width:`${e.percent}%`,background:e.color})},null,4)),64))]),t("div",be,[(i(),s(u,null,g(_,e=>t("div",{key:e.name},[t("span",null,[t("i",{style:m({background:e.color})},null,4),y(r(e.name),1)]),t("strong",null,r(e.percent)+"%",1)])),64))])],64)):a.visual==="rank-list"?(i(),s(u,{key:3},g(V,(e,d)=>t("div",{key:e.name,class:"guide-rank-row"},[t("span",null,r(d+1),1),t("em",null,r(e.name),1),t("i",null,[t("b",{style:m({width:`${e.percent}%`})},null,4)]),t("strong",null,r(e.value),1)])),64)):a.visual==="warning-band"?(i(),s(u,{key:4},[t("div",ve,[t("strong",null,r(S.value),1),t("span",null,r(S.name),1)]),t("div",ye,[(i(),s(u,null,g(T,e=>t("div",{key:e.name},[t("span",null,[t("i",{style:m({background:e.color})},null,4),y(r(e.name),1)]),t("em",null,r(e.value),1),t("b",null,[t("i",{style:m({width:`${e.percent}%`,background:e.color})},null,4)])])),64))])],64)):a.visual==="target-stack"?(i(),s(u,{key:5},g(D,e=>t("div",{key:e.name,class:"guide-target-row"},[t("span",null,r(e.name),1),t("b",null,[t("i",{style:m({width:`${e.percent}%`,background:e.color})},null,4)]),t("strong",null,r(e.percent)+"%",1)])),64)):F("",!0)],2)]),_:2},1032,["class","width","height","title","data-unit"])),64))])])]))}},Se=oe(fe,[["__scopeId","data-v-1d923a5c"]]);export{Se as default}; diff --git a/docs/assets/index-56af86f7-balabala-1783905032331.css b/docs/assets/index-4ccdd147-balabala-1783957353180.css similarity index 97% rename from docs/assets/index-56af86f7-balabala-1783905032331.css rename to docs/assets/index-4ccdd147-balabala-1783957353180.css index 7de2f80..1e1e8ea 100644 --- a/docs/assets/index-56af86f7-balabala-1783905032331.css +++ b/docs/assets/index-4ccdd147-balabala-1783957353180.css @@ -1 +1 @@ -@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:D-DIN;src:url(data:font/otf;base64,AAUWBwACAABNYWMgT1MgWCAgICAgICAgAAIAAAAJAAAAMgAAAKIAAAACAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQVRUUgAAAAAAAADUAAAAmAAAADwAAAAAAAAAAAAAAAAAAAABAAAAmAAAADwAABVjb20uYXBwbGUucXVhcmFudGluZQBxLzAwODE7NjQwNDljYTQ7Q2hyb21lOzIzQTc0MjRGLTNDMjEtNEI1OC05MUU2LTIzQUVGNkQ5ODMyNgA=) format("otf")}@font-face{font-family:D-DIN-Bold;src:url(data:font/otf;base64,AAUWBwACAABNYWMgT1MgWCAgICAgICAgAAIAAAAJAAAAMgAAAKIAAAACAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQVRUUgAAAAAAAADUAAAAmAAAADwAAAAAAAAAAAAAAAAAAAABAAAAmAAAADwAABVjb20uYXBwbGUucXVhcmFudGluZQBxLzAwODE7NjQwNDljYTQ7Q2hyb21lOzIzQTc0MjRGLTNDMjEtNEI1OC05MUU2LTIzQUVGNkQ5ODMyNgA=) format("otf")}@font-face{font-family:D-DIN-Italic;src:url(data:font/otf;base64,AAUWBwACAABNYWMgT1MgWCAgICAgICAgAAIAAAAJAAAAMgAAAKIAAAACAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQVRUUgAAAAAAAADUAAAAmAAAADwAAAAAAAAAAAAAAAAAAAABAAAAmAAAADwAABVjb20uYXBwbGUucXVhcmFudGluZQBxLzAwODE7NjQwNDljYTQ7Q2hyb21lOzIzQTc0MjRGLTNDMjEtNEI1OC05MUU2LTIzQUVGNkQ5ODMyNgA=) format("otf")}@font-face{font-family:Alibaba PuHuiTi;src:url(./AlibabaPuHuiTi-14435b65-balabala-1783905032331.woff2) format("woff2")}@font-face{font-family:Alimama ShuHeiTi;font-weight:700;src:url(./AlimamaShuHeiTi-Bold-fa4a258d-balabala-1783905032331.woff2) format("woff2"),url(./AlimamaShuHeiTi-Bold-a95023f2-balabala-1783905032331.woff) format("woff"),url(./AlimamaShuHeiTi-Bold-6401fd0d-balabala-1783905032331.ttf) format("truetype");font-display:swap}@font-face{font-family:阿里妈妈数黑体 Bold;font-weight:700;src:url(data:font/woff2;base64,d09GMk9UVE8AAAjwAA0AAAAADegAAAiiAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYx7Gx4cHgZgAHQBNgIkAxgEBgWJIAcgFyQYGhsADRHVrL8g+0iMnUfJLU+EglCodCONdUc456fyCWlXNEUsuExMoPi0DMa6gXdm0rnbJbtAef7923n3BWHzTNriDxgGBhE1L62rpbN/n1BVqbbtzFuERVmMOfa+3S2tXUJXKYrS6vgIjUKoH1RvxkRINBalEUKAw7KZG2lvQbTbMMnEghWxl9qLExii0RCGYYTGhZYiM8409e7XKt+SZok50woHDrT1YSbnB6ZM0ftVmycwmD1RlT1J/daRGnTWqwfgoP9D5XdaPy/SXe/v491PH+hLCFPfEXKLnCOp+hDjYzn6YEIZZuS8tZt2nWONhPeMOEGnYnbUscaFllyz4oQ454uT1ZuWxEaL7ax5sfWFe0Dcexd6Xpf+SqOYOnjZgwtiVjivVXb+kjxnMhtFwxRXHCAu1nPPx1pdM29EyKiMV/1S/aYb6A5uq0Oa4avbPzVhCCFEN+UMx7Saqg/1Ia6+hGhTXIhORRjiScY5TX4xcUxfZgojq/6pB6kvfZffCVVD5T3/h7KVeVXRgvxEdqt8whokVZgAAyQdnAVntMrC0Ij/OPXpazBrpf3gqoykWx9rMYJa6mqxCF2hBk1Cs7YdOkvOOCWS4ssgAaLowTd7Pm/5x6E/7RPSLTo9mpOj4ICwRdwTdTBR5NM/dfvU5ydnkAriBGk4eOF/OEtBe/rP+S+XOYhng1sHdhBNHJxAD4VhO5V0LOtYwWE4e2H1+bVn13JKw35CLG8AT+mMoFilgZKVVW6/FORUxY4RKMAmeeQLEKrCKZQolwWogIFYwRrkSngvVA5X6svDaeU6abogP6ZohDmh/BV01aJEoQnM1GIDik1wpjaJQkNllgBNpIHYhDXshr6C5I/XwQjXJX9wUfzhhsSDS5UKXSQebyj+9DHYhEtorcO3A6tWaorWZP4SWON5w7awGvwRiFkMoVDTC/rImeCB9r/oEYBf8FsEb7gTJkA3+EHfrorjE6xaiHkMLnUb8ixMREP1UH/seZAy7RYH0bUxFJ9JNeAZhj6FRsBjo3sQAXuVY0o2xYKh7TtgfT/oIa0X7kFUIxajoK1wB440YbGe8l0AFTRCFWvYN19ANQu6qV83PjwD3UI8VkMEu/XUhiO2/Rcx3AMEijxstF1ednPRfc+5J+dcnHmD2wFGHE1nbJ6xZfrWuvxQjClBr57oMnDXsD2j9nKXgGIG1EMO62EG0kt0WOqAjJKsYH71kaUnFpzj1mEMcBCzns7vtCxjdU4gP3Kl9h69h6Xm6ilJ3dp5PmLRcGn9tlW7VxzwvA4EF9G157ToQss6adEVyWPatwkY22RUdBzVZpLnatkm7ESvenweeGkvVBqEBevq80PLhlgHDeDOSrtq8jupQFRR2IAbhBm2mTbxC3B/6ChxcFRZTc4gy1InAV/RZyufrnqylnvDHh15fPTxMbV4VC8OWBu0oTa/ddSW0VvH5AzNGpY9nAMrGnHYZxaTcrGmBetWBPEbZ2ycsWEmp/SQ+7OVB+QAAdRL/676vTGJDyoOKEP1UA4yK2sIpyWriVWsECQck6xZzTxROH5qJmuQakIXAfRSNixWsvFHeKxMpoqnck0AT7wKRpDoj7QEPvzk3GVzls9e5hnNc1E8qtAJmobzYMerDXi4aIR5YMAgCEJKDX4ra9r1DlP0uv9D3WS14ENcXYnIMJR3dPP0C4qv16h1SlbuoOFjJk6bvWCpbd3mHXsPHT/z6g8HUVTHhfE6DjSGRp4VhrZbgFp2nhaT0xjdaRG6ZaCmXjynoz3QsQ1WS0KO07ExvA6N6J+ILm90wUDQDYlu06M1z5e+1mH1IRjVESP9dJvXbVy/bhOn5IBRDmG33lvzdPG7AF6nBX82pdGTgumj/BPNcWKVJ7MKlGawwZRxUI1lqLQuvJnjSJVKGPw3SwgPTpB8AGpDJy/IRg6zWczKxDCsjQ38dOAfyWN7Nrw8kf+2RouZTXXaCIMQng8fzN6iXRrhaBBC7HaCEHGxpl/mCNHiMlmVRQhpWz8ac5BE/1W2cu3m9psKJCuHz6Rz6nOfQlTvWRqiwSCEqNYcIYSIVAgytXQDYuqFGj3e40RNM3xMRtOPbhXdRvQszi8dwEw6Z7cTRA3fv+bOt1u+bHGzzbZNWLpo8cJJXP9mhFFBeCpTLXM/XVje3bHey7X6A0LIy/jSe3LA/uX3gQWdShgsVQhnIvzbBasrxyyZ/ul5AoSLlCniQWJFtUf7IZ0Q3eSwf5qZHKB4avsBQ0wVqHD5B2oNcgA0IjMdtILTB6jwNAFWad0Cjk/tAwcXyLetTjyZzmWzhpAOOwAYBqu2qtxBw8NkYLXTABw0QLY6hTOdA1M9uj6NZ+a3ym45Y1LdUhQ5uiS7rWXBxy6OvQwDBR061FboVpYyJDVlYMXirldxKEvu4ItTBreY33DWla5/JO86hjRWyCKXudh5xpEnzj+X8SozvENMRqXpUkr/DvfqJ3Tel2vMjDfV6T82vUVvtj1U+CFlKqLv5uyJ6tPyS5ff7GgioiZKFMqj4uF6inCJJ4qXKBpimn1JRL5WO8d1A7tDgcP8TimFJsmuL29V0DS3UfejSDsW/Yia6q0fs2LRKPMxKUphIcmCupUSlAXA2pG5rXr5clzI7J+y6GSJIhbXhmi/HELNdsvjaMiOqb8Pi0tTS6beTPnslB0HmbrcGFO010/TgsWar4JFwcq0tCCJTW1VjuV58hXpcn37dYleckX/uqVyiPZTOoliHjgTJlBMprbKh4bYcKwILTLpjlqNvEwTjTHzsEVGP5WPICvRooRwMl7Fq6srl05lZY5nZzGdKS4PGW2vsXUwdUfDqa+PSzbFZKlByvV66N6sxKVvZR1S+PxmFjL7x7gaYucjWTUnZJ3aKsZPFV04N1FbDf113KZWqdW+lCS6jFkwT5Ue0Vysf4Mt4jKQKpBWl/hi6xy3hu+3kM2SprIBAAA=) format("woff2"),url(data:font/woff;base64,d09GRk9UVE8AAArwAA0AAAAADegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAABMAAABcQAAAZ7T0dS20dQT1MAAAb0AAAAHgAAAB5EdEx1R1NVQgAABxQAAAAeAAAAHkR0THVPUy8yAAAHNAAAAEsAAABgrSDtt2NtYXAAAAeAAAAAUgAAAHSMNPB9aGVhZAAAB9QAAAA1AAAANiVNJkVoaGVhAAAIDAAAABwAAAAkB5wC5mhtdHgAAAgoAAAAGAAAABgEswFPbWF4cAAACEAAAAAGAAAABgALUABuYW1lAAAISAAAAlYAAASgKy85MXBvc3QAAAqgAAAAEwAAACD/nwAydmhlYQAACrQAAAAfAAAAJAJsEhZ2bXR4AAAK1AAAABoAAAAaC9IDy3icbVRrVBVVFL5zL3NmOnO9yOMQl27cQd4CiqCiCYrwo1RUfPFwtciLkF4Vr8CYklcW6KpUNChTly4tEUFQcflMa1lmig/MtMeiVai9zNaqfFTmnnEP2ow9frSaH9/Za3+zzz77O3sfzhIQYOE4jo1d4K3wVHimzV38TLl3ujclx7egzCQmuLg1Lq6hwR7p4l7hXNwqq4tbbXNxdQEYZLctwZr7fu0GHxlhec7udj2x2D7gSYuFywo0sSLIxKn2WHOZaY+xEI6r29C6++CZXN+imirvnLmKnDA7UU5LTUtLMSBdNg5R6in1yAm5c70LPYlyrm9QspynlA0ymAXyo4hquaq8urzqhfJHzr9+91bLHlmp8pSVV3iq5su+5/9lnq7yLV4kP2PU4l04R87zVngVI/DvWuV/ipXNYv/rHFvmKy0fV1a+UPEqNf+rjvHVW1+2/mb9nbST/WLnY9MdN0Pv2SycyUimeIEubq09zmUJMRTgpwRbJKtBOi0vWU5ZfuMGc/O5Bk6z3rPV2LpvazfYA792+L5f6Ct7kMy0K1po3xXBoVrjGSxRJeiCIOyCeAzDeMwi34OHV49CiF5HOnt5TCTeUTxWYAgMJ+no4fMwSA3ChoEEv41mkETeuX745733RHSTebElyTOSRS0JjrG98uGkd9JkOuOnkp/m/So61DmDmVoLEXgfugjwp+6e/eWCCKlCzLgBk+RpInyA4Ton5PsmV06uFjFBONdytrWrVdTHLGaDqAOc6mmmK+pSVRH0z75l2lT9ISYig91a3TfAHiQQ8OkXGFTDUqwWHFof/Mj6avUsrZb0tamvMq2XYBisj6MfYQiPKoEcaOJxNMEcbOLTCYzRX2OQoy7FHMFxCOYz1Y2XIAwuqW4I1t1wWaUQ/MCKwSrFy7qb9EIz60blKZoHCq/mojKUdoOSSh374ofT45CyBeIgIwLmaYUQjg//wPAo/AVvJVLH54bgJXCH/LBjMB2i8JDSC8GjxlABVqFjmBm5Aaas+1SE5JEYh9fU4XAN465CNlDM7oFEOKK/rxcTnOOfOAmzImGWuov1QFK2gEkwgX0Ox3MEzNRvM7BCNloFx9sbGdoEkNbe7PjyNJTEhrdAotD5Yfvx5qPnMSEcGEEKHc0Xtn2y+QvnGyfXn2+6LO6HMFxBGvc07n21cxT1Y4oPI2Zj8NKDyw/XHxG7gWABZKKImViApJssn7qkwFcUQ1uOb/1g0xmxDVNAhJRdZGP+toKWmQNo3Xa+h/TgIs+wKeklec6vBHR079q349Bbx5yXwIKbSesZHoNJZT6PIWjpJfNzIGx8QfXk+vGrnS1aMzuAEZm0DCL4c30Otqkti/orlyk1S8Qu9WAGPWD40UqgHdtZY3NTc2OzeJfUyy8mVWaIDk1T8xl+R65tv7rjSqt4XXiv7sSKEytHULRtiWqNbh9JO+v3ruhcOdNftLy4VgTF6P7lPwuYXooZXhxVHU07Gjsa25tEfZb2gtB3TItiYNv6x47fO9Jp9MKoSrT5RSjsG85Oqco0QVcgmr2vKkWmJbMTqlJozFcGPMvArhbDFr3YWHv1NUR36h8zcOJFo71Ucmf6EJpw8o1t6998fZszmYpJFK3YH3ITKDzEi6MpnA+DDeDAaIhGQhyR2zMe2h9rsEv3/aGajRmzH2KROY7QwFBnZHRqZva4KUWlNbUrV617fdPW5rY9+4+8e+L0d3dFY0olMZ5KIgQYBlLBsHgiMRhBJB6HEgkfJxUYWoABmamiRGZh4Hjsl46iKAkpVDKEcadh8HUpxrixULRIu7/a+fXW7yUctgyTJuPASGlPW8eutt2iPhPCtFihs2fn1S03oqjEg1sw9ncaScBlWm4zcX/BSOw0sw8wIcYEzjgW9DNYNIA3WREDzTCrCZRIsRT6w9BjMBLyI6DY6L9iAYsKjedqJI6OlMA9kOJEIaEqjd7ayWNhrvQnP0nKyAABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB4nGNgYX7ItIeBlYGDqYspgoGBwRtCM8YxGDH8YkADHEhsX0dfR4YFfjKdx5iP/fvDwMB8jJGFgYWBESTHJAM0k4FBgYEJAH82DWcAeJxjYGBgYmBgYAZiESDJCKZZGBLAtABQhMVPJlgs+ENccVx9cl5qQTlj57H//xkYwKLvUUU3Pl3zZo3IwkkL2+fMnDWjk6PMBWweBgAA1ZwdGgAAeJxjYGRgYGBkdC96rbQtnt/mKwMz8wugCMNDg4JrMPr/m/8yzC+YgxgYGdgZmECiAIbyDgsAAAB4nGNgZGBgPvbvD5B88f8NiGQAiqAARgCoiQaIA+gAZAAhACgAKgBXACgAIwAuACsAKgAeAABQAAALAAB4nI1SwWoTURQ9M4kmA1IrSOlCZRYuYmnqWHFRC1UbaQLa0elo0qFmMTHJJDXphDQG1J24qFIUNxFcKPgFropfICK60IU7N65046qILmq8782dmiaiMjzuee/cc+599w2A/fiGCJSoBmA9coixAl39yVhFXA1zIphRXzCOYky9z3gXDqvLjHcjoc4yjqGhvGccxwFlg7GGV/jKeLin1r6wVjxK/czgOWMFQ3jGWO3JiWIU9xjHcJ4UAdYIgfFwj1b6L4zmPxpKJ+OkH9w1lPrYbd85ZyiPvlzZWx4yFM80p8wpwVu3FixDefo4/9ZQFn+YBwV3c65z6uGb/GZ+01BwBjVUUYArVvloyHReZj/lEmYyu2W/ttrmh+zW0kZhJGfYJ9t3Ls9VYoWR2mdrXSChcNactVLjybsLNnTMwifPYt95AldxhNhJGLQmkWR0HHpYsxsX9bqap3UuWjX7e3dPM+OlCqc9jaZSxXVSp1Ch6GIF47wrEdZhES+YqjzPUAcr8AgJnStxWWYGrCs1i5LzUacoMsY5X8dZmVH8Qx2H3ZbZV7Dp7Wo5ygo6cKSPzbvAdZ762zFtWamEVTrxyKGfqxKjS9RCk2KRcusUm7hGZz7dSB/QpIn1qU6Dp0DvwLcLuhB3bZFPEROsFY5i2XJ+GXmDS7SS4TsiS2dN2aUvZ3CMtAZ9JzBNVUvk5/Z56QNu23/FDvU86cSa/u9ewviveinKa+AG9S1mW6Ee9b/9gQNzTMg3F5NzpUb4TfBbtuT0Ak2N4u8aq3InXlRMrB3M+RcxRNz8AAB4nGNgZgCD/3MYjBiwAAAqgwHRAHicY2AUYGD88o+HgYHlFEPJfzsGEGBkQAZMAHjSBJMAA+gAdATKAJoApgC/AKYAtwCYAKEAmwCmAKEAAA==) format("woff");font-display:swap}:root{--screen-font-ui: "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--screen-font-title: "Alimama ShuHeiTi", "阿里妈妈数黑体 Bold", "Alibaba PuHuiTi", "Microsoft YaHei", sans-serif;--screen-font-number: "D-DIN", "D-DIN-Bold", Arial, sans-serif;--screen-color-text-primary: #ffffff;--screen-color-text-strong: #ffffff;--screen-color-text-secondary: rgba(246, 253, 255, .92);--screen-color-text-muted: rgba(242, 253, 255, .9);--screen-color-text-weak: rgba(229, 248, 255, .74);--screen-color-accent-cyan: #30dcff;--screen-color-accent-mint: #19ffc6;--screen-color-accent-water: #31dcff;--screen-color-accent-grass: #24f6c4;--screen-color-accent-gold: #8bf7ff;--screen-color-accent-orange: #48cfff;--screen-color-card-border: rgba(62, 226, 255, .5);--screen-color-card-bg: rgba(10, 52, 72, .7);--screen-color-card-header-bg: rgba(40, 124, 158, .62);--screen-color-chart-grid-line: rgba(218, 250, 255, .28);--screen-color-tooltip-bg: rgba(3, 13, 18, .92);--screen-icon-primary: #30dcff;--screen-icon-secondary: #19ffc6;--screen-icon-bg: rgba(48, 220, 255, .1);--screen-icon-border: rgba(48, 220, 255, .42);--screen-icon-glow: rgba(48, 220, 255, .22);--screen-card-title-size: 16px;--screen-card-title-line-height: 32px;--screen-card-title-weight: 600;--screen-chart-unit-size: 10px;--screen-chart-axis-size: 10px;--screen-chart-label-size: 11px;--screen-chart-tooltip-size: 12px;--screen-table-body-size: 11px;--screen-table-value-size: 12px;--screen-kpi-label-size: 14px;--screen-kpi-value-size: 31px;--screen-kpi-unit-size: 11px;--screen-popup-title-size: 20px;--screen-popup-body-size: 14px;--screen-canvas-width: 1920px;--screen-canvas-height: 1080px;--screen-side-card-width: 398px;--screen-side-card-gap: 12px;--screen-side-card-top: 128px;--screen-side-card-bottom: 8px;--screen-side-card-min-height: 227px;--screen-card-title-height: 36px;--screen-side-perspective-left: 500px;--screen-side-perspective-right: 800px;--screen-icon-size: 42px;--screen-icon-stroke-width: 1.5px}*,body{padding:0;margin:0}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--screen-font-ui);font-size:14px;color:var(--screen-color-text-primary)}button,input,select,textarea{font:inherit} +@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:D-DIN;src:url(data:font/otf;base64,AAUWBwACAABNYWMgT1MgWCAgICAgICAgAAIAAAAJAAAAMgAAAKIAAAACAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQVRUUgAAAAAAAADUAAAAmAAAADwAAAAAAAAAAAAAAAAAAAABAAAAmAAAADwAABVjb20uYXBwbGUucXVhcmFudGluZQBxLzAwODE7NjQwNDljYTQ7Q2hyb21lOzIzQTc0MjRGLTNDMjEtNEI1OC05MUU2LTIzQUVGNkQ5ODMyNgA=) format("otf")}@font-face{font-family:D-DIN-Bold;src:url(data:font/otf;base64,AAUWBwACAABNYWMgT1MgWCAgICAgICAgAAIAAAAJAAAAMgAAAKIAAAACAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQVRUUgAAAAAAAADUAAAAmAAAADwAAAAAAAAAAAAAAAAAAAABAAAAmAAAADwAABVjb20uYXBwbGUucXVhcmFudGluZQBxLzAwODE7NjQwNDljYTQ7Q2hyb21lOzIzQTc0MjRGLTNDMjEtNEI1OC05MUU2LTIzQUVGNkQ5ODMyNgA=) format("otf")}@font-face{font-family:D-DIN-Italic;src:url(data:font/otf;base64,AAUWBwACAABNYWMgT1MgWCAgICAgICAgAAIAAAAJAAAAMgAAAKIAAAACAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQVRUUgAAAAAAAADUAAAAmAAAADwAAAAAAAAAAAAAAAAAAAABAAAAmAAAADwAABVjb20uYXBwbGUucXVhcmFudGluZQBxLzAwODE7NjQwNDljYTQ7Q2hyb21lOzIzQTc0MjRGLTNDMjEtNEI1OC05MUU2LTIzQUVGNkQ5ODMyNgA=) format("otf")}@font-face{font-family:Alibaba PuHuiTi;src:url(./AlibabaPuHuiTi-14435b65-balabala-1783957353180.woff2) format("woff2")}@font-face{font-family:Alimama ShuHeiTi;font-weight:700;src:url(./AlimamaShuHeiTi-Bold-fa4a258d-balabala-1783957353180.woff2) format("woff2"),url(./AlimamaShuHeiTi-Bold-a95023f2-balabala-1783957353180.woff) format("woff"),url(./AlimamaShuHeiTi-Bold-6401fd0d-balabala-1783957353180.ttf) format("truetype");font-display:swap}@font-face{font-family:阿里妈妈数黑体 Bold;font-weight:700;src:url(data:font/woff2;base64,d09GMk9UVE8AAAjwAA0AAAAADegAAAiiAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYx7Gx4cHgZgAHQBNgIkAxgEBgWJIAcgFyQYGhsADRHVrL8g+0iMnUfJLU+EglCodCONdUc456fyCWlXNEUsuExMoPi0DMa6gXdm0rnbJbtAef7923n3BWHzTNriDxgGBhE1L62rpbN/n1BVqbbtzFuERVmMOfa+3S2tXUJXKYrS6vgIjUKoH1RvxkRINBalEUKAw7KZG2lvQbTbMMnEghWxl9qLExii0RCGYYTGhZYiM8409e7XKt+SZok50woHDrT1YSbnB6ZM0ftVmycwmD1RlT1J/daRGnTWqwfgoP9D5XdaPy/SXe/v491PH+hLCFPfEXKLnCOp+hDjYzn6YEIZZuS8tZt2nWONhPeMOEGnYnbUscaFllyz4oQ454uT1ZuWxEaL7ax5sfWFe0Dcexd6Xpf+SqOYOnjZgwtiVjivVXb+kjxnMhtFwxRXHCAu1nPPx1pdM29EyKiMV/1S/aYb6A5uq0Oa4avbPzVhCCFEN+UMx7Saqg/1Ia6+hGhTXIhORRjiScY5TX4xcUxfZgojq/6pB6kvfZffCVVD5T3/h7KVeVXRgvxEdqt8whokVZgAAyQdnAVntMrC0Ij/OPXpazBrpf3gqoykWx9rMYJa6mqxCF2hBk1Cs7YdOkvOOCWS4ssgAaLowTd7Pm/5x6E/7RPSLTo9mpOj4ICwRdwTdTBR5NM/dfvU5ydnkAriBGk4eOF/OEtBe/rP+S+XOYhng1sHdhBNHJxAD4VhO5V0LOtYwWE4e2H1+bVn13JKw35CLG8AT+mMoFilgZKVVW6/FORUxY4RKMAmeeQLEKrCKZQolwWogIFYwRrkSngvVA5X6svDaeU6abogP6ZohDmh/BV01aJEoQnM1GIDik1wpjaJQkNllgBNpIHYhDXshr6C5I/XwQjXJX9wUfzhhsSDS5UKXSQebyj+9DHYhEtorcO3A6tWaorWZP4SWON5w7awGvwRiFkMoVDTC/rImeCB9r/oEYBf8FsEb7gTJkA3+EHfrorjE6xaiHkMLnUb8ixMREP1UH/seZAy7RYH0bUxFJ9JNeAZhj6FRsBjo3sQAXuVY0o2xYKh7TtgfT/oIa0X7kFUIxajoK1wB440YbGe8l0AFTRCFWvYN19ANQu6qV83PjwD3UI8VkMEu/XUhiO2/Rcx3AMEijxstF1ednPRfc+5J+dcnHmD2wFGHE1nbJ6xZfrWuvxQjClBr57oMnDXsD2j9nKXgGIG1EMO62EG0kt0WOqAjJKsYH71kaUnFpzj1mEMcBCzns7vtCxjdU4gP3Kl9h69h6Xm6ilJ3dp5PmLRcGn9tlW7VxzwvA4EF9G157ToQss6adEVyWPatwkY22RUdBzVZpLnatkm7ESvenweeGkvVBqEBevq80PLhlgHDeDOSrtq8jupQFRR2IAbhBm2mTbxC3B/6ChxcFRZTc4gy1InAV/RZyufrnqylnvDHh15fPTxMbV4VC8OWBu0oTa/ddSW0VvH5AzNGpY9nAMrGnHYZxaTcrGmBetWBPEbZ2ycsWEmp/SQ+7OVB+QAAdRL/676vTGJDyoOKEP1UA4yK2sIpyWriVWsECQck6xZzTxROH5qJmuQakIXAfRSNixWsvFHeKxMpoqnck0AT7wKRpDoj7QEPvzk3GVzls9e5hnNc1E8qtAJmobzYMerDXi4aIR5YMAgCEJKDX4ra9r1DlP0uv9D3WS14ENcXYnIMJR3dPP0C4qv16h1SlbuoOFjJk6bvWCpbd3mHXsPHT/z6g8HUVTHhfE6DjSGRp4VhrZbgFp2nhaT0xjdaRG6ZaCmXjynoz3QsQ1WS0KO07ExvA6N6J+ILm90wUDQDYlu06M1z5e+1mH1IRjVESP9dJvXbVy/bhOn5IBRDmG33lvzdPG7AF6nBX82pdGTgumj/BPNcWKVJ7MKlGawwZRxUI1lqLQuvJnjSJVKGPw3SwgPTpB8AGpDJy/IRg6zWczKxDCsjQ38dOAfyWN7Nrw8kf+2RouZTXXaCIMQng8fzN6iXRrhaBBC7HaCEHGxpl/mCNHiMlmVRQhpWz8ac5BE/1W2cu3m9psKJCuHz6Rz6nOfQlTvWRqiwSCEqNYcIYSIVAgytXQDYuqFGj3e40RNM3xMRtOPbhXdRvQszi8dwEw6Z7cTRA3fv+bOt1u+bHGzzbZNWLpo8cJJXP9mhFFBeCpTLXM/XVje3bHey7X6A0LIy/jSe3LA/uX3gQWdShgsVQhnIvzbBasrxyyZ/ul5AoSLlCniQWJFtUf7IZ0Q3eSwf5qZHKB4avsBQ0wVqHD5B2oNcgA0IjMdtILTB6jwNAFWad0Cjk/tAwcXyLetTjyZzmWzhpAOOwAYBqu2qtxBw8NkYLXTABw0QLY6hTOdA1M9uj6NZ+a3ym45Y1LdUhQ5uiS7rWXBxy6OvQwDBR061FboVpYyJDVlYMXirldxKEvu4ItTBreY33DWla5/JO86hjRWyCKXudh5xpEnzj+X8SozvENMRqXpUkr/DvfqJ3Tel2vMjDfV6T82vUVvtj1U+CFlKqLv5uyJ6tPyS5ff7GgioiZKFMqj4uF6inCJJ4qXKBpimn1JRL5WO8d1A7tDgcP8TimFJsmuL29V0DS3UfejSDsW/Yia6q0fs2LRKPMxKUphIcmCupUSlAXA2pG5rXr5clzI7J+y6GSJIhbXhmi/HELNdsvjaMiOqb8Pi0tTS6beTPnslB0HmbrcGFO010/TgsWar4JFwcq0tCCJTW1VjuV58hXpcn37dYleckX/uqVyiPZTOoliHjgTJlBMprbKh4bYcKwILTLpjlqNvEwTjTHzsEVGP5WPICvRooRwMl7Fq6srl05lZY5nZzGdKS4PGW2vsXUwdUfDqa+PSzbFZKlByvV66N6sxKVvZR1S+PxmFjL7x7gaYucjWTUnZJ3aKsZPFV04N1FbDf113KZWqdW+lCS6jFkwT5Ue0Vysf4Mt4jKQKpBWl/hi6xy3hu+3kM2SprIBAAA=) format("woff2"),url(data:font/woff;base64,d09GRk9UVE8AAArwAA0AAAAADegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAABMAAABcQAAAZ7T0dS20dQT1MAAAb0AAAAHgAAAB5EdEx1R1NVQgAABxQAAAAeAAAAHkR0THVPUy8yAAAHNAAAAEsAAABgrSDtt2NtYXAAAAeAAAAAUgAAAHSMNPB9aGVhZAAAB9QAAAA1AAAANiVNJkVoaGVhAAAIDAAAABwAAAAkB5wC5mhtdHgAAAgoAAAAGAAAABgEswFPbWF4cAAACEAAAAAGAAAABgALUABuYW1lAAAISAAAAlYAAASgKy85MXBvc3QAAAqgAAAAEwAAACD/nwAydmhlYQAACrQAAAAfAAAAJAJsEhZ2bXR4AAAK1AAAABoAAAAaC9IDy3icbVRrVBVVFL5zL3NmOnO9yOMQl27cQd4CiqCiCYrwo1RUfPFwtciLkF4Vr8CYklcW6KpUNChTly4tEUFQcflMa1lmig/MtMeiVai9zNaqfFTmnnEP2ow9frSaH9/Za3+zzz77O3sfzhIQYOE4jo1d4K3wVHimzV38TLl3ujclx7egzCQmuLg1Lq6hwR7p4l7hXNwqq4tbbXNxdQEYZLctwZr7fu0GHxlhec7udj2x2D7gSYuFywo0sSLIxKn2WHOZaY+xEI6r29C6++CZXN+imirvnLmKnDA7UU5LTUtLMSBdNg5R6in1yAm5c70LPYlyrm9QspynlA0ymAXyo4hquaq8urzqhfJHzr9+91bLHlmp8pSVV3iq5su+5/9lnq7yLV4kP2PU4l04R87zVngVI/DvWuV/ipXNYv/rHFvmKy0fV1a+UPEqNf+rjvHVW1+2/mb9nbST/WLnY9MdN0Pv2SycyUimeIEubq09zmUJMRTgpwRbJKtBOi0vWU5ZfuMGc/O5Bk6z3rPV2LpvazfYA792+L5f6Ct7kMy0K1po3xXBoVrjGSxRJeiCIOyCeAzDeMwi34OHV49CiF5HOnt5TCTeUTxWYAgMJ+no4fMwSA3ChoEEv41mkETeuX745733RHSTebElyTOSRS0JjrG98uGkd9JkOuOnkp/m/So61DmDmVoLEXgfugjwp+6e/eWCCKlCzLgBk+RpInyA4Ton5PsmV06uFjFBONdytrWrVdTHLGaDqAOc6mmmK+pSVRH0z75l2lT9ISYig91a3TfAHiQQ8OkXGFTDUqwWHFof/Mj6avUsrZb0tamvMq2XYBisj6MfYQiPKoEcaOJxNMEcbOLTCYzRX2OQoy7FHMFxCOYz1Y2XIAwuqW4I1t1wWaUQ/MCKwSrFy7qb9EIz60blKZoHCq/mojKUdoOSSh374ofT45CyBeIgIwLmaYUQjg//wPAo/AVvJVLH54bgJXCH/LBjMB2i8JDSC8GjxlABVqFjmBm5Aaas+1SE5JEYh9fU4XAN465CNlDM7oFEOKK/rxcTnOOfOAmzImGWuov1QFK2gEkwgX0Ox3MEzNRvM7BCNloFx9sbGdoEkNbe7PjyNJTEhrdAotD5Yfvx5qPnMSEcGEEKHc0Xtn2y+QvnGyfXn2+6LO6HMFxBGvc07n21cxT1Y4oPI2Zj8NKDyw/XHxG7gWABZKKImViApJssn7qkwFcUQ1uOb/1g0xmxDVNAhJRdZGP+toKWmQNo3Xa+h/TgIs+wKeklec6vBHR079q349Bbx5yXwIKbSesZHoNJZT6PIWjpJfNzIGx8QfXk+vGrnS1aMzuAEZm0DCL4c30Otqkti/orlyk1S8Qu9WAGPWD40UqgHdtZY3NTc2OzeJfUyy8mVWaIDk1T8xl+R65tv7rjSqt4XXiv7sSKEytHULRtiWqNbh9JO+v3ruhcOdNftLy4VgTF6P7lPwuYXooZXhxVHU07Gjsa25tEfZb2gtB3TItiYNv6x47fO9Jp9MKoSrT5RSjsG85Oqco0QVcgmr2vKkWmJbMTqlJozFcGPMvArhbDFr3YWHv1NUR36h8zcOJFo71Ucmf6EJpw8o1t6998fZszmYpJFK3YH3ITKDzEi6MpnA+DDeDAaIhGQhyR2zMe2h9rsEv3/aGajRmzH2KROY7QwFBnZHRqZva4KUWlNbUrV617fdPW5rY9+4+8e+L0d3dFY0olMZ5KIgQYBlLBsHgiMRhBJB6HEgkfJxUYWoABmamiRGZh4Hjsl46iKAkpVDKEcadh8HUpxrixULRIu7/a+fXW7yUctgyTJuPASGlPW8eutt2iPhPCtFihs2fn1S03oqjEg1sw9ncaScBlWm4zcX/BSOw0sw8wIcYEzjgW9DNYNIA3WREDzTCrCZRIsRT6w9BjMBLyI6DY6L9iAYsKjedqJI6OlMA9kOJEIaEqjd7ayWNhrvQnP0nKyAABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB4nGNgYX7ItIeBlYGDqYspgoGBwRtCM8YxGDH8YkADHEhsX0dfR4YFfjKdx5iP/fvDwMB8jJGFgYWBESTHJAM0k4FBgYEJAH82DWcAeJxjYGBgYmBgYAZiESDJCKZZGBLAtABQhMVPJlgs+ENccVx9cl5qQTlj57H//xkYwKLvUUU3Pl3zZo3IwkkL2+fMnDWjk6PMBWweBgAA1ZwdGgAAeJxjYGRgYGBkdC96rbQtnt/mKwMz8wugCMNDg4JrMPr/m/8yzC+YgxgYGdgZmECiAIbyDgsAAAB4nGNgZGBgPvbvD5B88f8NiGQAiqAARgCoiQaIA+gAZAAhACgAKgBXACgAIwAuACsAKgAeAABQAAALAAB4nI1SwWoTURQ9M4kmA1IrSOlCZRYuYmnqWHFRC1UbaQLa0elo0qFmMTHJJDXphDQG1J24qFIUNxFcKPgFropfICK60IU7N65046qILmq8782dmiaiMjzuee/cc+599w2A/fiGCJSoBmA9coixAl39yVhFXA1zIphRXzCOYky9z3gXDqvLjHcjoc4yjqGhvGccxwFlg7GGV/jKeLin1r6wVjxK/czgOWMFQ3jGWO3JiWIU9xjHcJ4UAdYIgfFwj1b6L4zmPxpKJ+OkH9w1lPrYbd85ZyiPvlzZWx4yFM80p8wpwVu3FixDefo4/9ZQFn+YBwV3c65z6uGb/GZ+01BwBjVUUYArVvloyHReZj/lEmYyu2W/ttrmh+zW0kZhJGfYJ9t3Ls9VYoWR2mdrXSChcNactVLjybsLNnTMwifPYt95AldxhNhJGLQmkWR0HHpYsxsX9bqap3UuWjX7e3dPM+OlCqc9jaZSxXVSp1Ch6GIF47wrEdZhES+YqjzPUAcr8AgJnStxWWYGrCs1i5LzUacoMsY5X8dZmVH8Qx2H3ZbZV7Dp7Wo5ygo6cKSPzbvAdZ762zFtWamEVTrxyKGfqxKjS9RCk2KRcusUm7hGZz7dSB/QpIn1qU6Dp0DvwLcLuhB3bZFPEROsFY5i2XJ+GXmDS7SS4TsiS2dN2aUvZ3CMtAZ9JzBNVUvk5/Z56QNu23/FDvU86cSa/u9ewviveinKa+AG9S1mW6Ee9b/9gQNzTMg3F5NzpUb4TfBbtuT0Ak2N4u8aq3InXlRMrB3M+RcxRNz8AAB4nGNgZgCD/3MYjBiwAAAqgwHRAHicY2AUYGD88o+HgYHlFEPJfzsGEGBkQAZMAHjSBJMAA+gAdATKAJoApgC/AKYAtwCYAKEAmwCmAKEAAA==) format("woff");font-display:swap}:root{--screen-font-ui: "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--screen-font-title: "Alimama ShuHeiTi", "阿里妈妈数黑体 Bold", "Alibaba PuHuiTi", "Microsoft YaHei", sans-serif;--screen-font-number: "D-DIN", "D-DIN-Bold", Arial, sans-serif;--screen-color-text-primary: #ffffff;--screen-color-text-strong: #ffffff;--screen-color-text-secondary: rgba(246, 253, 255, .92);--screen-color-text-muted: rgba(242, 253, 255, .9);--screen-color-text-weak: rgba(229, 248, 255, .74);--screen-color-accent-cyan: #30dcff;--screen-color-accent-mint: #19ffc6;--screen-color-accent-water: #31dcff;--screen-color-accent-grass: #24f6c4;--screen-color-accent-gold: #8bf7ff;--screen-color-accent-orange: #48cfff;--screen-color-card-border: rgba(62, 226, 255, .5);--screen-color-card-bg: rgba(10, 52, 72, .7);--screen-color-card-header-bg: rgba(40, 124, 158, .62);--screen-color-chart-grid-line: rgba(218, 250, 255, .28);--screen-color-tooltip-bg: rgba(3, 13, 18, .92);--screen-icon-primary: #30dcff;--screen-icon-secondary: #19ffc6;--screen-icon-bg: rgba(48, 220, 255, .1);--screen-icon-border: rgba(48, 220, 255, .42);--screen-icon-glow: rgba(48, 220, 255, .22);--screen-card-title-size: 16px;--screen-card-title-line-height: 32px;--screen-card-title-weight: 600;--screen-chart-unit-size: 10px;--screen-chart-axis-size: 10px;--screen-chart-label-size: 11px;--screen-chart-tooltip-size: 12px;--screen-table-body-size: 11px;--screen-table-value-size: 12px;--screen-kpi-label-size: 14px;--screen-kpi-value-size: 31px;--screen-kpi-unit-size: 11px;--screen-popup-title-size: 20px;--screen-popup-body-size: 14px;--screen-canvas-width: 1920px;--screen-canvas-height: 1080px;--screen-side-card-width: 398px;--screen-side-card-gap: 12px;--screen-side-card-top: 128px;--screen-side-card-bottom: 8px;--screen-side-card-min-height: 227px;--screen-card-title-height: 36px;--screen-side-perspective-left: 500px;--screen-side-perspective-right: 800px;--screen-icon-size: 42px;--screen-icon-stroke-width: 1.5px}*,body{padding:0;margin:0}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--screen-font-ui);font-size:14px;color:var(--screen-color-text-primary)}button,input,select,textarea{font:inherit} diff --git a/docs/assets/index-309263e1-1783905032331.js b/docs/assets/index-5b72bdc9-1783957353180.js similarity index 60% rename from docs/assets/index-309263e1-1783905032331.js rename to docs/assets/index-5b72bdc9-1783957353180.js index 5cce352..5428c92 100644 --- a/docs/assets/index-309263e1-1783905032331.js +++ b/docs/assets/index-5b72bdc9-1783957353180.js @@ -1 +1 @@ -var m=(v,d,n)=>new Promise((i,a)=>{var u=l=>{try{r(n.next(l))}catch(t){a(t)}},o=l=>{try{r(n.throw(l))}catch(t){a(t)}},r=l=>l.done?i(l.value):Promise.resolve(l.value).then(u,o);r((n=n.apply(v,d)).next())});import{_ as x,I as w,J as h,e as M,o as _,c as f,a as e,y as S,z as g,A as y,t as b,g as V,d as p,M as k}from"./index-1783905032331.js";const B={class:"login-screen"},D={class:"login-shell"},I={class:"login-field"},R={class:"login-field"},U={key:0,class:"login-error"},q=["disabled"],A={__name:"index",setup(v){const d=w(),n=h(),i=p(""),a=p(""),u=p(!1),o=p(""),r=M(()=>{const t=typeof d.query.redirect=="string"?decodeURIComponent(d.query.redirect):"/platform";return t.startsWith("/login")?"/platform":t||"/platform"});function l(){return m(this,null,function*(){if(o.value="",!i.value||!a.value){o.value="请输入账号和密码。";return}u.value=!0;try{yield k(i.value,a.value),n.replace(r.value)}catch(t){o.value=(t==null?void 0:t.message)||"登录失败,请稍后再试。"}finally{u.value=!1}})}return(t,s)=>(_(),f("div",B,[e("div",D,[s[5]||(s[5]=e("div",{class:"login-brand"},[e("span",null,"红原县数字畜牧业监管平台"),e("small",null,"Hongyuan Digital Animal Husbandry Supervision Platform")],-1)),e("form",{class:"login-panel",onSubmit:S(l,["prevent"])},[s[4]||(s[4]=e("div",{class:"login-panel-title"},"用户登录",-1)),e("label",I,[s[2]||(s[2]=e("span",null,"账号",-1)),g(e("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>i.value=c),autocomplete:"username",autofocus:"",placeholder:"请输入账号"},null,512),[[y,i.value,void 0,{trim:!0}]])]),e("label",R,[s[3]||(s[3]=e("span",null,"密码",-1)),g(e("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>a.value=c),autocomplete:"current-password",placeholder:"请输入密码",type:"password"},null,512),[[y,a.value]])]),o.value?(_(),f("div",U,b(o.value),1)):V("",!0),e("button",{class:"login-submit",disabled:u.value,type:"submit"},b(u.value?"登录中":"登录"),9,q)],32)])]))}},N=x(A,[["__scopeId","data-v-8ebd0d6e"]]);export{N as default}; +var m=(v,d,n)=>new Promise((i,a)=>{var u=l=>{try{r(n.next(l))}catch(t){a(t)}},o=l=>{try{r(n.throw(l))}catch(t){a(t)}},r=l=>l.done?i(l.value):Promise.resolve(l.value).then(u,o);r((n=n.apply(v,d)).next())});import{_ as x,J as w,K as h,e as S,o as _,c as f,a as e,x as V,y as g,z as y,t as b,g as k,d as p,N as B}from"./index-1783957353180.js";const D={class:"login-screen"},M={class:"login-shell"},N={class:"login-field"},R={class:"login-field"},U={key:0,class:"login-error"},q=["disabled"],C={__name:"index",setup(v){const d=w(),n=h(),i=p(""),a=p(""),u=p(!1),o=p(""),r=S(()=>{const t=typeof d.query.redirect=="string"?decodeURIComponent(d.query.redirect):"/platform";return t.startsWith("/login")?"/platform":t||"/platform"});function l(){return m(this,null,function*(){if(o.value="",!i.value||!a.value){o.value="请输入账号和密码。";return}u.value=!0;try{yield B(i.value,a.value),n.replace(r.value)}catch(t){o.value=(t==null?void 0:t.message)||"登录失败,请稍后再试。"}finally{u.value=!1}})}return(t,s)=>(_(),f("div",D,[e("div",M,[s[5]||(s[5]=e("div",{class:"login-brand"},[e("span",null,"红原县数字畜牧业监管平台"),e("small",null,"Hongyuan Digital Animal Husbandry Supervision Platform")],-1)),e("form",{class:"login-panel",onSubmit:V(l,["prevent"])},[s[4]||(s[4]=e("div",{class:"login-panel-title"},"用户登录",-1)),e("label",N,[s[2]||(s[2]=e("span",null,"账号",-1)),g(e("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>i.value=c),autocomplete:"username",autofocus:"",placeholder:"请输入账号"},null,512),[[y,i.value,void 0,{trim:!0}]])]),e("label",R,[s[3]||(s[3]=e("span",null,"密码",-1)),g(e("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>a.value=c),autocomplete:"current-password",placeholder:"请输入密码",type:"password"},null,512),[[y,a.value]])]),o.value?(_(),f("div",U,b(o.value),1)):k("",!0),e("button",{class:"login-submit",disabled:u.value,type:"submit"},b(u.value?"登录中":"登录"),9,q)],32)])]))}},P=x(C,[["__scopeId","data-v-8ebd0d6e"]]);export{P as default}; diff --git a/docs/assets/index-5e598b65-1783957353180.js b/docs/assets/index-5e598b65-1783957353180.js new file mode 100644 index 0000000..dff5f5f --- /dev/null +++ b/docs/assets/index-5e598b65-1783957353180.js @@ -0,0 +1,18158 @@ +var GC=Object.defineProperty,UC=Object.defineProperties;var OC=Object.getOwnPropertyDescriptors;var ni=Object.getOwnPropertySymbols;var Hd=Object.prototype.hasOwnProperty,Kd=Object.prototype.propertyIsEnumerable;var cs=(t,e)=>{if(e=Symbol[t])return e;throw Error("Symbol."+t+" is not defined")},s5=Math.pow,ds=(t,e,n)=>e in t?GC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,L2=(t,e)=>{for(var n in e||(e={}))Hd.call(e,n)&&ds(t,n,e[n]);if(ni)for(var n of ni(e))Kd.call(e,n)&&ds(t,n,e[n]);return t},J2=(t,e)=>UC(t,OC(e));var s8=(t,e)=>{var n={};for(var a in t)Hd.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(t!=null&&ni)for(var a of ni(t))e.indexOf(a)<0&&Kd.call(t,a)&&(n[a]=t[a]);return n};var E0=(t,e,n)=>(ds(t,typeof e!="symbol"?e+"":e,n),n);var k3=(t,e,n)=>new Promise((a,i)=>{var r=u=>{try{s(n.next(u))}catch(m){i(m)}},o=u=>{try{s(n.throw(u))}catch(m){i(m)}},s=u=>u.done?a(u.value):Promise.resolve(u.value).then(r,o);s((n=n.apply(t,e)).next())}),jC=function(t,e){this[0]=t,this[1]=e};var qd=t=>{var e=t[cs("asyncIterator")],n=!1,a,i={};return e==null?(e=t[cs("iterator")](),a=r=>i[r]=o=>e[r](o)):(e=e.call(t),a=r=>i[r]=o=>{if(n){if(n=!1,r==="throw")throw o;return o}return n=!0,{done:!1,value:new jC(new Promise(s=>{var u=e[r](o);if(!(u instanceof Object))throw TypeError("Object expected");s(u)}),1)}}),i[cs("iterator")]=()=>i,a("next"),"throw"in e?a("throw"):i.throw=r=>{throw r},"return"in e&&a("return"),i};import{_ as Fa,o as z,c as Q,a as S,t as c2,r as Vi,b as d1,d as t3,w as V0,p as Jd,i as Qd,n as s1,u as k1,e as l2,f as Rn,g as L3,h as Ln,j as q0,s as Om,F as O3,k as X3,l as X1,m as he,q as oe,v as f0,x as $0,y as Oe,z as f5,A as Wt,T as zC,B as Xd,L as Qe,C as YC,D as ya,E as c5,G as G4,H as $C,I as WC,J as VC,K as HC,M as KC}from"./index-1783957353180.js";import{C as qC,T as JC,a as al,b as jm,B as d6,c as h6,L as Ql,d as oa,F as va,e as Xe,f as Y6,S as QC,P as zm,D as Ym,M as ce,g as dn,h as b5,V as lt,i as N9,j as c0,I as XC,k as ZC,O as Ba,l as $m,m as eA,n as tA,o as k9,p as Wm,R as on,q as xr,r as fs,s as F5,t as T8,u as vt,v as nA,w as aA,x as We,y as iA,z as il,A as Hi,E as Xl,G as Ae,H as Vm,J as Hm,K as Km,N as rA,Q as oA,U as sA,W as qm,X as Zd,Y as Zl,Z as rl,_ as lA,$ as uA,a0 as cA,a1 as Sa,a2 as dA,a3 as fA,a4 as hA,a5 as M9,a6 as ef,a7 as tf,a8 as nf,a9 as af,aa as _r,ab as eu,ac as mA,ad as pA,ae as gA,af as yA,ag as hs,ah as vA,ai as SA,aj as wA,ak as bA,al as wa,am as tu,an as d5,ao as At,ap as Ki,aq as TA,ar as CA,as as ol,at as sl,au as AA,av as Ri,aw as Jm,ax as Li,ay as xA,az as Mr,aA as _A,aB as Qm,aC as Xm,aD as h5,aE as Zm,aF as _0,aG as fn,aH as X8,aI as y8,aJ as Ii,aK as Ue,aL as R9,aM as Ht,aN as MA,aO as PA,aP as kA,aQ as ms,aR as l8,aS as u8,aT as EA,aU as NA,aV as RA,aW as LA,aX as IA,aY as ps,aZ as rf,a_ as of,a$ as sf,b0 as FA,b1 as BA,b2 as DA,b3 as GA,b4 as lf,b5 as gs}from"./chartTheme-1b75dfa1-1783957353180.js";const qi=""+new URL("bottom-menu-arrow-big-180b7071-balabala-1783957353180.svg",import.meta.url).href,Ji=""+new URL("bottom-menu-arrow-small-19304179-balabala-1783957353180.svg",import.meta.url).href;/** + * @name: autofit.js + * @author: Larry Zhu + * @version: 3.2.8 + * @description: autofit.js 是迄今为止最易用的自适应工具 + * @license: MIT + */let ys=null,ba="",ll="",ul="",vs=null,uf=null,xt=1,E8=!1;const Pr={isAutofitRunning:!1,init(t={},e=!0){e&&console.log("autofit.js is running");const{dw:n=1920,dh:a=1080,el:i=typeof t=="string"?t:"body",resize:r=!0,ignore:o=[],transition:s="none",delay:u=0,limit:m=.1,cssMode:h="scale",allowScroll:p=!1}=t;ys=i;const g=document.querySelector(i);if(!g){console.error(`autofit: '${i}' is not exist`);return}const b=document.createElement("style"),F=document.createElement("style");b.lang="text/css",F.lang="text/css",b.id="autofit-style",F.id="ignoreStyle",!p&&(b.innerHTML="body {overflow: hidden;}");const H=document.querySelector("body");H.appendChild(b),H.appendChild(F),g.style.height=`${a}px`,g.style.width=`${n}px`,g.style.transformOrigin="0 0",!p&&(g.style.overflow="hidden"),Ss(n,a,g,o,m,h),vs=()=>{clearTimeout(uf),u!=0?uf=setTimeout(()=>{Ss(n,a,g,o,m,h),E8&&cl(ba,ul,ll)},u):(Ss(n,a,g,o,m,h),E8&&cl(ba,ul,ll))},r&&window.addEventListener("resize",vs),this.isAutofitRunning=!0,setTimeout(()=>{g.style.transition=`${s}s`})},off(t="body"){try{window.removeEventListener("resize",vs);const e=document.querySelector("#autofit-style");e&&e.remove();const n=document.querySelector("#ignoreStyle");n&&n.remove();const a=document.querySelector(ys||t);a&&(a.style.cssText=""),E8&&ep()}catch(e){console.error("autofit: Failed to remove normally",e)}this.isAutofitRunning=!1,console.log("autofit.js is off")},elRectification:null,scale:xt};function cl(t,e=!0,n=1){if(!Pr.isAutofitRunning){console.error("autofit.js:(elRectification): autofit has not been initialized yet");return}ep(),!t&&console.error(`autofit.js:elRectification bad selector: ${t}`),ba=t,ll=n,ul=e;const a=Array.from(document.querySelectorAll(t));if(a.length==0){console.error(`autofit.js:elRectification found no element by selector: "${t}"`);return}for(const i of a){const r=xt==1?1:Number(xt)*Number(n);E8||(i.originalWidth=i.clientWidth,i.originalHeight=i.clientHeight),e?(i.style.width=`${i.originalWidth*r}px`,i.style.height=`${i.originalHeight*r}px`):(i.style.width=`${100*r}%`,i.style.height=`${100*r}%`),i.style.transform=`translateZ(0) scale(${1/Number(xt)})`,i.style.transformOrigin="0 0"}E8=!0}function ep(){if(ba){E8=!1;for(const t of Array.from(document.querySelectorAll(ba)))t.style.width="",t.style.height="",t.style.transform=""}}function Ss(t,e,n,a,i,r="scale"){const o=document.documentElement.clientHeight,s=document.documentElement.clientWidth;xt=s/oi?xt:1,Pr.scale=+xt;const u=Math.round(o/Number(xt)),m=Math.round(s/Number(xt));n.style.height=`${u}px`,n.style.width=`${m}px`,r==="zoom"?n.style.zoom=`${xt}`:n.style.transform=`translateZ(0) scale(${xt})`;const h=document.querySelector("#ignoreStyle");h.innerHTML="";for(const p of a){const g=p;let b=g.el||g.dom;if(typeof g=="string"&&(b=g),!b||typeof b=="object"&&!Object.keys(b).length){console.error(`autofit: found invalid or empty selector/object: ${b}`);continue}const F=g.scale?g.scale:1/Number(xt),H=F!=xt&&g.fontSize,K=F!=xt&&g.width,e2=F!=xt&&g.height;h.innerHTML+=` +${b} { + transform: scale(${F})!important; + transform-origin: 0 0; + ${K?`width: ${K}!important;`:""} + ${e2?`height: ${e2}!important;`:""} + }`,H&&(h.innerHTML+=` +${b} div ,${b} span,${b} a,${b} * { + font-size: ${H}px; + }`)}}Pr.elRectification=cl;const UA={name:"SvglineAnimation",props:{width:{type:Number,default:135},height:{type:Number,default:150},path:{type:String,default:"M0 72.5H682L732 0.5H3082"},color:{type:String,default:"#0091FF"},duration:{type:Number,default:3},length:{type:Number,default:100},begin:{type:Number,default:0},dir:{type:Array,default:()=>[0,1]},strokeWidth:{type:Number,default:4}},data(){let t=1;return{maskId:"svgline-"+t,radialGradientId:"radialGradient-"+t}},mounted(){let t=this._.uid;this.maskId="svgline-"+t,this.radialGradientId="radialGradient-"+t}},OA={class:"svg-line-animation"},jA=["viewBox"],zA=["id"],YA=["stop-opacity"],$A=["stop-opacity"],WA=["id"],VA=["r","fill"],HA=["begin","dur","path","keyPoints"],KA=["d","stroke","stroke-width","mask"];function qA(t,e,n,a,i,r){return z(),Q("div",OA,[(z(),Q("svg",{width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[S("defs",null,[S("radialGradient",{id:i.radialGradientId,cx:"50%",cy:"50%",fx:"100%",fy:"50%",r:"50%"},[S("stop",{offset:"0%","stop-color":"#fff","stop-opacity":n.dir[1]},null,8,YA),S("stop",{offset:"100%","stop-color":"#fff","stop-opacity":n.dir[0]},null,8,$A)],8,zA),S("mask",{id:i.maskId},[S("circle",{r:n.length,cx:"0",cy:"0",fill:`url(#${i.radialGradientId})`},[S("animateMotion",{begin:`${n.begin}s`,dur:`${n.duration}s`,path:n.path,rotate:"auto",keyPoints:`${n.dir[0]};${n.dir[1]}`,keyTimes:"0;1",repeatCount:"indefinite"},null,8,HA)],8,VA)],8,WA)]),S("path",{class:"path-line",d:n.path,stroke:n.color,"stroke-width":n.strokeWidth,mask:`url(#${i.maskId})`},null,8,KA)],8,jA))])}const Qi=Fa(UA,[["render",qA]]);const JA={class:"m-header"},QA={class:"m-header-wrap"},XA={class:"m-header-title"},ZA={class:"m-header-subtext"},ex={class:"m-header-left",style:{color:"#fff"}},tx={class:"m-header-right"},nx={class:"m-header-line"},ax={__name:"index",props:{title:{type:String,default:"红原县数字畜牧业监管平台"},subText:{type:String,default:"Hongyuan Digital Animal Husbandry Supervision Platform"}},setup(t){return(e,n)=>(z(),Q("div",JA,[S("div",QA,[S("div",XA,c2(t.title),1),S("div",ZA,c2(t.subText),1)]),S("div",ex,[Vi(e.$slots,"left")]),S("div",tx,[Vi(e.$slots,"right")]),S("div",nx,[d1(Qi,{class:"m-header-line-left",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"}),d1(Qi,{class:"m-header-line-right",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"})])]))}};const ix={class:"m-menu"},rx={__name:"index",props:{defaultActive:{type:[String,Number],default:""}},emits:["select"],setup(t,{emit:e}){const n=e,a=t,i=t3(a.defaultActive);return Jd("updateActive",o=>{o!==i.value&&(i.value=o,n("select",o))}),Jd("activeIndex",i),V0(()=>a.defaultActive,o=>{o!==i.value&&(i.value=o)}),(o,s)=>(z(),Q("div",ix,[Vi(o.$slots,"default")]))}},ox={__name:"index",props:{index:{type:[String,Number],required:!0}},setup(t){const e=t,n=Qd("updateActive"),a=Qd("activeIndex"),i=()=>{n(e.index)};return(r,o)=>(z(),Q("div",{class:s1(["m-menu-item",{"is-active":t.index===k1(a)}]),onClick:i},[Vi(r.$slots,"default")],2))}};let cf=0;const df="webkit moz ms o".split(" ");let F6,B6;const sx=typeof window=="undefined";if(sx)F6=function(){},B6=function(){};else{F6=window.requestAnimationFrame,B6=window.cancelAnimationFrame;let t;for(let e=0;e{e(n+a)},a);return cf=n+a,i},B6=function(e){window.clearTimeout(e)})}const lx={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator(t){return t>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default(t,e,n,a){return n*(-Math.pow(2,-10*t/a)+1)*1024/1023+e}}},data(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown(){return this.startVal>this.endVal}},watch:{startVal(){this.autoplay&&this.start()},endVal(){this.autoplay&&this.start()}},mounted(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=F6(this.count)},pauseResume(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause(){B6(this.rAF)},resume(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,F6(this.count)},reset(){this.startTime=null,B6(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count(t){this.startTime||(this.startTime=t),this.timestamp=t;const e=t-this.startTime;this.remaining=this.localDuration-e,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(e,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(e,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(e/this.localDuration):this.printVal=this.localStartVal+(this.endVal-this.localStartVal)*(e/this.localDuration),this.countDown?this.printVal=this.printValthis.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),e1?this.decimal+e[1]:"",i=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;i.test(n);)n=n.replace(i,"$1"+this.separator+"$2");return this.prefix+n+a+this.suffix}},destroyed(){B6(this.rAF)}};function ux(t,e,n,a,i,r){return z(),Q("span",null,c2(i.displayValue),1)}const tp=Fa(lx,[["render",ux]]);typeof window!="undefined"&&window.Vue&&window.Vue.component("count-to",tp);const cx={class:"count-card-left"},dx={class:"count-card-title"},fx={class:"title-zh"},hx={key:0,class:"title-en"},mx={class:"count-card-right"},px={class:"unit"},gx={__name:"index",props:{info:{type:Object,default:()=>({icon:"xiaoshoujine",zh:"2023年销售金额",en:"Sales amount in 2023",value:9500,unit:"万元",decimals:0})}},setup(t){const e=t,n=t3(!0),a=t3(!1),i=t3(0);let r=null;const o=l2(()=>e.info.duration||1800);V0(()=>[e.info.value,e.info.zh],()=>{r&&window.clearTimeout(r),n.value=!0,a.value=!1,i.value+=1},{immediate:!0});function s(h){return h.toUpperCase()}function u(){n.value=!0,a.value=!1}function m(){n.value=!1,a.value=!0,r&&window.clearTimeout(r),r=window.setTimeout(()=>{a.value=!1},900)}return Rn(()=>{r&&window.clearTimeout(r)}),(h,p)=>(z(),Q("div",{class:s1(["count-card",{"is-counting":n.value,"is-settled":a.value}])},[S("div",cx,[S("div",{class:s1(["count-card-icon","icon-"+t.info.icon])},null,2),S("div",dx,[S("div",fx,c2(t.info.zh),1),t.info.en?(z(),Q("div",hx,c2(s(t.info.en)),1)):L3("",!0)])]),S("div",mx,[(z(),Q("div",{class:"value",key:i.value},[d1(k1(tp),{startVal:0,endVal:t.info.value,decimals:t.info.decimals,duration:o.value,separator:"",autoplay:!0,onMountedCallback:u,onCallback:m},null,8,["endVal","decimals","duration"])])),S("div",px,c2(t.info.unit),1)])],2))}};var ai=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function yx(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function ii(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Xi={exports:{}};Xi.exports;(function(t,e){function n(R){"@babel/helpers - typeof";return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(M){return typeof M}:function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},n(R)}function a(R,M){if(!(R instanceof M))throw new TypeError("Cannot call a class as a function")}function i(R,M){for(var d=0;d>>1,V3=[["ary",I2],["bind",h2],["bindKey",B2],["curry",A],["curryRight",V],["flip",V2],["partial",Z],["partialRight",P2],["rearg",W2]],h1="[object Arguments]",L1="[object Array]",D1="[object AsyncFunction]",n0="[object Boolean]",C0="[object Date]",Pe="[object DOMException]",ke="[object Error]",le="[object Function]",ie="[object GeneratorFunction]",M1="[object Map]",B="[object Number]",f2="[object Null]",G2="[object Object]",J3="[object Promise]",$3="[object Proxy]",R3="[object RegExp]",C="[object Set]",j="[object String]",T="[object Symbol]",D="[object Undefined]",W="[object WeakMap]",G="[object WeakSet]",Y="[object ArrayBuffer]",S2="[object DataView]",C2="[object Float32Array]",U2="[object Float64Array]",r3="[object Int8Array]",P="[object Int16Array]",N="[object Int32Array]",U="[object Uint8Array]",b2="[object Uint8ClampedArray]",o3="[object Uint16Array]",Z2="[object Uint32Array]",J=/\b__p \+= '';/g,X2=/\b(__p \+=) '' \+/g,e1=/(__e\(.*?\)|\b__t\)) \+\n'';/g,i0=/&(?:amp|lt|gt|quot|#39);/g,I1=/[&<>"']/g,V1=RegExp(i0.source),y0=RegExp(I1.source),me=/<%-([\s\S]+?)%>/g,gt=/<%([\s\S]+?)%>/g,it=/<%=([\s\S]+?)%>/g,Sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,q=/^\w*$/,s2=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,x2=/[\\^$.*+?()[\]{}|]/g,z2=RegExp(x2.source),M3=/^\s+/,t1=/\s/,b1=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,p1=/\{\n\/\* \[wrapped with (.+)\] \*/,H1=/,? & /,A0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,v0=/[()=,{}\[\]\/\s]/,K1=/\\(\\)?/g,Y0=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,I0=/\w*$/,Ee=/^[-+]0x[0-9a-f]+$/i,Ke=/^0b[01]+$/i,e6=/^\[object .+?Constructor\]$/,t6=/^0o[0-7]+$/i,w6=/^(?:0|[1-9]\d*)$/,Fn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Fe=/($^)/,H6=/['\n\r\u2028\u2029\\]/g,wn="\\ud800-\\udfff",t9="\\u0300-\\u036f",n9="\\ufe20-\\ufe2f",Jt="\\u20d0-\\u20ff",U9=t9+n9+Jt,O9="\\u2700-\\u27bf",a9="a-z\\xdf-\\xf6\\xf8-\\xff",n6="\\xac\\xb1\\xd7\\xf7",Xa="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Za="\\u2000-\\u206f",j9=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",e7="A-Z\\xc0-\\xd6\\xd8-\\xde",z9="\\ufe0e\\ufe0f",t7=n6+Xa+Za+j9,i9="['’]",Hr="["+wn+"]",n7="["+t7+"]",_5="["+U9+"]",a7="\\d+",i7="["+O9+"]",bn="["+a9+"]",r4="[^"+wn+t7+a7+O9+a9+e7+"]",o4="\\ud83c[\\udffb-\\udfff]",Kr="(?:"+_5+"|"+o4+")",r7="[^"+wn+"]",s4="(?:\\ud83c[\\udde6-\\uddff]){2}",Y9="[\\ud800-\\udbff][\\udc00-\\udfff]",b6="["+e7+"]",l4="\\u200d",u4="(?:"+bn+"|"+r4+")",qr="(?:"+b6+"|"+r4+")",r9="(?:"+i9+"(?:d|ll|m|re|s|t|ve))?",wt="(?:"+i9+"(?:D|LL|M|RE|S|T|VE))?",c4=Kr+"?",o7="["+z9+"]?",Jr="(?:"+l4+"(?:"+[r7,s4,Y9].join("|")+")"+o7+c4+")*",Qr="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Xr="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",s7=o7+c4+Jr,Zr="(?:"+[i7,s4,Y9].join("|")+")"+s7,eo="(?:"+[r7+_5+"?",_5,s4,Y9,Hr].join("|")+")",d4=RegExp(i9,"g"),l7=RegExp(_5,"g"),f4=RegExp(o4+"(?="+o4+")|"+eo+s7,"g"),h4=RegExp([b6+"?"+bn+"+"+r9+"(?="+[n7,b6,"$"].join("|")+")",qr+"+"+wt+"(?="+[n7,b6+u4,"$"].join("|")+")",b6+"?"+u4+"+"+r9,b6+"+"+wt,Xr,Qr,a7,Zr].join("|"),"g"),Z0=RegExp("["+l4+wn+U9+z9+"]"),to=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,rt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],T6=-1,Se={};Se[C2]=Se[U2]=Se[r3]=Se[P]=Se[N]=Se[U]=Se[b2]=Se[o3]=Se[Z2]=!0,Se[h1]=Se[L1]=Se[Y]=Se[n0]=Se[S2]=Se[C0]=Se[ke]=Se[le]=Se[M1]=Se[B]=Se[G2]=Se[R3]=Se[C]=Se[j]=Se[W]=!1;var we={};we[h1]=we[L1]=we[Y]=we[S2]=we[n0]=we[C0]=we[C2]=we[U2]=we[r3]=we[P]=we[N]=we[M1]=we[B]=we[G2]=we[R3]=we[C]=we[j]=we[T]=we[U]=we[b2]=we[o3]=we[Z2]=!0,we[ke]=we[le]=we[W]=!1;var no={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},ao={"&":"&","<":"<",">":">",'"':""","'":"'"},u7={"&":"&","<":"<",">":">",""":'"',"'":"'"},io={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},c7=parseFloat,m4=parseInt,d7=typeof $2=="object"&&$2&&$2.Object===Object&&$2,ro=typeof self=="object"&&self&&self.Object===Object&&self,ot=d7||ro||Function("return this")(),$9=M&&!M.nodeType&&M,C6=$9&&!0&&R&&!R.nodeType&&R,p4=C6&&C6.exports===$9,W9=p4&&d7.process,Qt=function(){try{var w2=C6&&C6.require&&C6.require("util").types;return w2||W9&&W9.binding&&W9.binding("util")}catch(n3){}}(),g4=Qt&&Qt.isArrayBuffer,o9=Qt&&Qt.isDate,y4=Qt&&Qt.isMap,f7=Qt&&Qt.isRegExp,v4=Qt&&Qt.isSet,S4=Qt&&Qt.isTypedArray;function Et(w2,n3,Q2){switch(Q2.length){case 0:return w2.call(n3);case 1:return w2.call(n3,Q2[0]);case 2:return w2.call(n3,Q2[0],Q2[1]);case 3:return w2.call(n3,Q2[0],Q2[1],Q2[2])}return w2.apply(n3,Q2)}function h7(w2,n3,Q2,D3){for(var g1=-1,O1=w2==null?0:w2.length;++g1-1}function M5(w2,n3,Q2){for(var D3=-1,g1=w2==null?0:w2.length;++D3-1;);return Q2}function P0(w2,n3){for(var Q2=w2.length;Q2--&&q6(n3,w2[Q2],0)>-1;);return Q2}function ne(w2,n3){for(var Q2=w2.length,D3=0;Q2--;)w2[Q2]===n3&&++D3;return D3}var J9=T4(no),Xt=T4(ao);function J6(w2){return"\\"+io[w2]}function fo(w2,n3){return w2==null?d:w2[n3]}function Q6(w2){return Z0.test(w2)}function T7(w2){return to.test(w2)}function ho(w2){for(var n3,Q2=[];!(n3=w2.next()).done;)Q2.push(n3.value);return Q2}function Q9(w2){var n3=-1,Q2=Array(w2.size);return w2.forEach(function(D3,g1){Q2[++n3]=[g1,D3]}),Q2}function C4(w2,n3){return function(Q2){return w2(n3(Q2))}}function _6(w2,n3){for(var Q2=-1,D3=w2.length,g1=0,O1=[];++Q2-1}function uv(l,c){var v=this.__data__,I=I7(v,l);return I<0?(++this.size,v.push([l,c])):v[I][1]=c,this}X6.prototype.clear=rv,X6.prototype.delete=ov,X6.prototype.get=sv,X6.prototype.has=lv,X6.prototype.set=uv;function Z6(l){var c=-1,v=l==null?0:l.length;for(this.clear();++c=c?l:c)),l}function Gn(l,c,v,I,a2,T2){var j2,i3=c&t2,h3=c&X,Z3=c&R2;if(v&&(j2=a2?v(l,I,a2,T2):v(l)),j2!==d)return j2;if(!Ge(l))return l;var n1=L0(l);if(n1){if(j2=hS(l),!i3)return Zt(l,j2)}else{var u1=Lt(l),F1=u1==le||u1==ie;if(L5(l))return Gc(l,i3);if(u1==G2||u1==h1||F1&&!a2){if(j2=h3||F1?{}:ad(l),!i3)return h3?nS(l,xv(j2,l)):tS(l,mc(j2,l))}else{if(!we[u1])return a2?l:{};j2=mS(l,u1,i3)}}T2||(T2=new i6);var r0=T2.get(l);if(r0)return r0;T2.set(l,j2),Rd(l)?l.forEach(function(w0){j2.add(Gn(w0,c,v,w0,l,T2))}):Ed(l)&&l.forEach(function(w0,H0){j2.set(H0,Gn(w0,c,v,H0,l,T2))});var S0=Z3?h3?jo:Oo:h3?tn:yt,G0=n1?d:S0(l);return Gt(G0||l,function(w0,H0){G0&&(H0=w0,w0=l[H0]),k4(j2,H0,Gn(w0,c,v,H0,l,T2))}),j2}function _v(l){var c=yt(l);return function(v){return pc(v,l,c)}}function pc(l,c,v){var I=v.length;if(l==null)return!I;for(l=a0(l);I--;){var a2=v[I],T2=c[a2],j2=l[a2];if(j2===d&&!(a2 in l)||!T2(j2))return!1}return!0}function gc(l,c,v){if(typeof l!="function")throw new ft(_);return B4(function(){l.apply(d,v)},c)}function E4(l,c,v,I){var a2=-1,T2=s9,j2=!0,i3=l.length,h3=[],Z3=c.length;if(!i3)return h3;v&&(c=Te(c,Ut(v))),I?(T2=M5,j2=!1):c.length>=y&&(T2=u9,j2=!1,c=new m9(c));e:for(;++a2a2?0:a2+v),I=I===d||I>a2?a2:F0(I),I<0&&(I+=a2),I=v>I?0:Id(I);v0&&v(i3)?c>1?bt(i3,c-1,v,I,a2):x6(a2,i3):I||(a2[a2.length]=i3)}return a2}var To=$c(),Sc=$c(!0);function M6(l,c){return l&&To(l,c,yt)}function Co(l,c){return l&&Sc(l,c,yt)}function B7(l,c){return A6(c,function(v){return i5(l[v])})}function g9(l,c){c=N5(c,l);for(var v=0,I=c.length;l!=null&&vc}function kv(l,c){return l!=null&&ge.call(l,c)}function Ev(l,c){return l!=null&&c in a0(l)}function Nv(l,c,v){return l>=Rt(c,v)&&l=120&&n1.length>=120)?new m9(j2&&n1):d}n1=l[0];var u1=-1,F1=i3[0];e:for(;++u1-1;)i3!==l&&M7.call(i3,h3,1),M7.call(l,h3,1);return l}function Ec(l,c){for(var v=l?c.length:0,I=v-1;v--;){var a2=c[v];if(v==I||a2!==T2){var T2=a2;a5(a2)?M7.call(l,a2,1):Lo(l,a2)}}return l}function Eo(l,c){return l+E7(cc()*(c-l+1))}function $v(l,c,v,I){for(var a2=-1,T2=ht(k7((c-l)/(v||1)),0),j2=Q2(T2);T2--;)j2[I?T2:++a2]=l,l+=v;return j2}function No(l,c){var v="";if(!l||c<1||c>v1)return v;do c%2&&(v+=l),c=E7(c/2),c&&(l+=l);while(c);return v}function j0(l,c){return Ko(od(l,c,nn),l+"")}function Wv(l){return hc(o8(l))}function Vv(l,c){var v=o8(l);return H7(v,p9(c,0,v.length))}function L4(l,c,v,I){if(!Ge(l))return l;c=N5(c,l);for(var a2=-1,T2=c.length,j2=T2-1,i3=l;i3!=null&&++a2a2?0:a2+c),v=v>a2?a2:v,v<0&&(v+=a2),a2=c>v?0:v-c>>>0,c>>>=0;for(var T2=Q2(a2);++I>>1,j2=l[T2];j2!==null&&!xn(j2)&&(v?j2<=c:j2=y){var Z3=c?null:oS(l);if(Z3)return X9(Z3);j2=!1,a2=u9,h3=new m9}else h3=c?[]:i3;e:for(;++I=I?l:Un(l,c,v)}var Dc=Dy||function(l){return ot.clearTimeout(l)};function Gc(l,c){if(c)return l.slice();var v=l.length,I=rc?rc(v):new l.constructor(v);return l.copy(I),I}function Do(l){var c=new l.constructor(l.byteLength);return new x7(c).set(new x7(l)),c}function Qv(l,c){var v=c?Do(l.buffer):l.buffer;return new l.constructor(v,l.byteOffset,l.byteLength)}function Xv(l){var c=new l.constructor(l.source,I0.exec(l));return c.lastIndex=l.lastIndex,c}function Zv(l){return P4?a0(P4.call(l)):{}}function Uc(l,c){var v=c?Do(l.buffer):l.buffer;return new l.constructor(v,l.byteOffset,l.length)}function Oc(l,c){if(l!==c){var v=l!==d,I=l===null,a2=l===l,T2=xn(l),j2=c!==d,i3=c===null,h3=c===c,Z3=xn(c);if(!i3&&!Z3&&!T2&&l>c||T2&&j2&&h3&&!i3&&!Z3||I&&j2&&h3||!v&&h3||!a2)return 1;if(!I&&!T2&&!Z3&&l=i3)return h3;var Z3=v[I];return h3*(Z3=="desc"?-1:1)}}return l.index-c.index}function jc(l,c,v,I){for(var a2=-1,T2=l.length,j2=v.length,i3=-1,h3=c.length,Z3=ht(T2-j2,0),n1=Q2(h3+Z3),u1=!I;++i31?v[a2-1]:d,j2=a2>2?v[2]:d;for(T2=l.length>3&&typeof T2=="function"?(a2--,T2):d,j2&&jt(v[0],v[1],j2)&&(T2=a2<3?d:T2,a2=1),c=a0(c);++I-1?a2[T2?c[j2]:j2]:d}}function Hc(l){return n5(function(c){var v=c.length,I=v,a2=Dn.prototype.thru;for(l&&c.reverse();I--;){var T2=c[I];if(typeof T2!="function")throw new ft(_);if(a2&&!j2&&W7(T2)=="wrapper")var j2=new Dn([],!0)}for(I=j2?I:v;++I1&&X0.reverse(),n1&&h3i3))return!1;var Z3=T2.get(l),n1=T2.get(c);if(Z3&&n1)return Z3==c&&n1==l;var u1=-1,F1=!0,r0=v&d2?new m9:d;for(T2.set(l,c),T2.set(c,l);++u11?"& ":"")+c[I],c=c.join(v>2?", ":" "),l.replace(b1,`{ +/* [wrapped with `+c+`] */ +`)}function gS(l){return L0(l)||S9(l)||!!(lc&&l&&l[lc])}function a5(l,c){var v=typeof l;return c=c==null?v1:c,!!c&&(v=="number"||v!="symbol"&&w6.test(l))&&l>-1&&l%1==0&&l0){if(++c>=E3)return arguments[0]}else c=0;return l.apply(d,arguments)}}function H7(l,c){var v=-1,I=l.length,a2=I-1;for(c=c===d?I:c;++v1?l[c-1]:d;return v=typeof v=="function"?(l.pop(),v):d,vd(l,v)});function Sd(l){var c=g2(l);return c.__chain__=!0,c}function Mw(l,c){return c(l),l}function K7(l,c){return c(l)}var Pw=n5(function(l){var c=l.length,v=c?l[0]:0,I=this.__wrapped__,a2=function(T2){return bo(T2,l)};return c>1||this.__actions__.length||!(I instanceof K0)||!a5(v)?this.thru(a2):(I=I.slice(v,+v+(c?1:0)),I.__actions__.push({func:K7,args:[a2],thisArg:d}),new Dn(I,this.__chain__).thru(function(T2){return c&&!T2.length&&T2.push(d),T2}))});function kw(){return Sd(this)}function Ew(){return new Dn(this.value(),this.__chain__)}function Nw(){this.__values__===d&&(this.__values__=Ld(this.value()));var l=this.__index__>=this.__values__.length,c=l?d:this.__values__[this.__index__++];return{done:l,value:c}}function Rw(){return this}function Lw(l){for(var c,v=this;v instanceof L7;){var I=fd(v);I.__index__=0,I.__values__=d,c?a2.__wrapped__=I:c=I;var a2=I;v=v.__wrapped__}return a2.__wrapped__=l,c}function Iw(){var l=this.__wrapped__;if(l instanceof K0){var c=l;return this.__actions__.length&&(c=new K0(this)),c=c.reverse(),c.__actions__.push({func:K7,args:[qo],thisArg:d}),new Dn(c,this.__chain__)}return this.thru(qo)}function Fw(){return Fc(this.__wrapped__,this.__actions__)}var Bw=O7(function(l,c,v){ge.call(l,v)?++l[v]:e5(l,v,1)});function Dw(l,c,v){var I=L0(l)?w4:Mv;return v&&jt(l,c,v)&&(c=d),I(l,h0(c,3))}function Gw(l,c){var v=L0(l)?A6:vc;return v(l,h0(c,3))}var Uw=Vc(hd),Ow=Vc(md);function jw(l,c){return bt(q7(l,c),1)}function zw(l,c){return bt(q7(l,c),B1)}function Yw(l,c,v){return v=v===d?1:F0(v),bt(q7(l,c),v)}function wd(l,c){var v=L0(l)?Gt:k5;return v(l,h0(c,3))}function bd(l,c){var v=L0(l)?m7:yc;return v(l,h0(c,3))}var $w=O7(function(l,c,v){ge.call(l,v)?l[v].push(c):e5(l,v,[c])});function Ww(l,c,v,I){l=en(l)?l:o8(l),v=v&&!I?F0(v):0;var a2=l.length;return v<0&&(v=ht(a2+v,0)),ei(l)?v<=a2&&l.indexOf(c,v)>-1:!!a2&&q6(l,c,v)>-1}var Vw=j0(function(l,c,v){var I=-1,a2=typeof c=="function",T2=en(l)?Q2(l.length):[];return k5(l,function(j2){T2[++I]=a2?Et(c,j2,v):N4(j2,c,v)}),T2}),Hw=O7(function(l,c,v){e5(l,v,c)});function q7(l,c){var v=L0(l)?Te:Ac;return v(l,h0(c,3))}function Kw(l,c,v,I){return l==null?[]:(L0(c)||(c=c==null?[]:[c]),v=I?d:v,L0(v)||(v=v==null?[]:[v]),Pc(l,c,v))}var qw=O7(function(l,c,v){l[v?0:1].push(c)},function(){return[[],[]]});function Jw(l,c,v){var I=L0(l)?K6:S7,a2=arguments.length<3;return I(l,h0(c,4),v,a2,k5)}function Qw(l,c,v){var I=L0(l)?p7:S7,a2=arguments.length<3;return I(l,h0(c,4),v,a2,yc)}function Xw(l,c){var v=L0(l)?A6:vc;return v(l,X7(h0(c,3)))}function Zw(l){var c=L0(l)?hc:Wv;return c(l)}function eb(l,c,v){(v?jt(l,c,v):c===d)?c=1:c=F0(c);var I=L0(l)?Tv:Vv;return I(l,c)}function tb(l){var c=L0(l)?Cv:Kv;return c(l)}function nb(l){if(l==null)return 0;if(en(l))return ei(l)?a6(l):l.length;var c=Lt(l);return c==M1||c==C?l.size:Mo(l).length}function ab(l,c,v){var I=L0(l)?V9:qv;return v&&jt(l,c,v)&&(c=d),I(l,h0(c,3))}var ib=j0(function(l,c){if(l==null)return[];var v=c.length;return v>1&&jt(l,c[0],c[1])?c=[]:v>2&&jt(c[0],c[1],c[2])&&(c=[c[0]]),Pc(l,bt(c,1),[])}),J7=Gy||function(){return ot.Date.now()};function rb(l,c){if(typeof c!="function")throw new ft(_);return l=F0(l),function(){if(--l<1)return c.apply(this,arguments)}}function Td(l,c,v){return c=v?d:c,c=l&&c==null?l.length:c,t5(l,I2,d,d,d,d,c)}function Cd(l,c){var v;if(typeof c!="function")throw new ft(_);return l=F0(l),function(){return--l>0&&(v=c.apply(this,arguments)),l<=1&&(c=d),v}}var Qo=j0(function(l,c,v){var I=h2;if(v.length){var a2=_6(v,i8(Qo));I|=Z}return t5(l,I,c,v,a2)}),Ad=j0(function(l,c,v){var I=h2|B2;if(v.length){var a2=_6(v,i8(Ad));I|=Z}return t5(c,I,l,v,a2)});function xd(l,c,v){c=v?d:c;var I=t5(l,A,d,d,d,d,d,c);return I.placeholder=xd.placeholder,I}function _d(l,c,v){c=v?d:c;var I=t5(l,V,d,d,d,d,d,c);return I.placeholder=_d.placeholder,I}function Md(l,c,v){var I,a2,T2,j2,i3,h3,Z3=0,n1=!1,u1=!1,F1=!0;if(typeof l!="function")throw new ft(_);c=jn(c)||0,Ge(v)&&(n1=!!v.leading,u1="maxWait"in v,T2=u1?ht(jn(v.maxWait)||0,c):T2,F1="trailing"in v?!!v.trailing:F1);function r0(Je){var o6=I,o5=a2;return I=a2=d,Z3=Je,j2=l.apply(o5,o6),j2}function S0(Je){return Z3=Je,i3=B4(H0,c),n1?r0(Je):j2}function G0(Je){var o6=Je-h3,o5=Je-Z3,Vd=c-o6;return u1?Rt(Vd,T2-o5):Vd}function w0(Je){var o6=Je-h3,o5=Je-Z3;return h3===d||o6>=c||o6<0||u1&&o5>=T2}function H0(){var Je=J7();if(w0(Je))return X0(Je);i3=B4(H0,G0(Je))}function X0(Je){return i3=d,F1&&I?r0(Je):(I=a2=d,j2)}function _n(){i3!==d&&Dc(i3),Z3=0,I=h3=a2=i3=d}function zt(){return i3===d?j2:X0(J7())}function Mn(){var Je=J7(),o6=w0(Je);if(I=arguments,a2=this,h3=Je,o6){if(i3===d)return S0(h3);if(u1)return Dc(i3),i3=B4(H0,c),r0(h3)}return i3===d&&(i3=B4(H0,c)),j2}return Mn.cancel=_n,Mn.flush=zt,Mn}var ob=j0(function(l,c){return gc(l,1,c)}),sb=j0(function(l,c,v){return gc(l,jn(c)||0,v)});function lb(l){return t5(l,V2)}function Q7(l,c){if(typeof l!="function"||c!=null&&typeof c!="function")throw new ft(_);var v=function(){var I=arguments,a2=c?c.apply(this,I):I[0],T2=v.cache;if(T2.has(a2))return T2.get(a2);var j2=l.apply(this,I);return v.cache=T2.set(a2,j2)||T2,j2};return v.cache=new(Q7.Cache||Z6),v}Q7.Cache=Z6;function X7(l){if(typeof l!="function")throw new ft(_);return function(){var c=arguments;switch(c.length){case 0:return!l.call(this);case 1:return!l.call(this,c[0]);case 2:return!l.call(this,c[0],c[1]);case 3:return!l.call(this,c[0],c[1],c[2])}return!l.apply(this,c)}}function ub(l){return Cd(2,l)}var cb=Jv(function(l,c){c=c.length==1&&L0(c[0])?Te(c[0],Ut(h0())):Te(bt(c,1),Ut(h0()));var v=c.length;return j0(function(I){for(var a2=-1,T2=Rt(I.length,v);++a2=c}),S9=bc(function(){return arguments}())?bc:function(l){return $e(l)&&ge.call(l,"callee")&&!sc.call(l,"callee")},L0=Q2.isArray,xb=g4?Ut(g4):Lv;function en(l){return l!=null&&Z7(l.length)&&!i5(l)}function qe(l){return $e(l)&&en(l)}function _b(l){return l===!0||l===!1||$e(l)&&Ot(l)==n0}var L5=Oy||us,Mb=o9?Ut(o9):Iv;function Pb(l){return $e(l)&&l.nodeType===1&&!D4(l)}function kb(l){if(l==null)return!0;if(en(l)&&(L0(l)||typeof l=="string"||typeof l.splice=="function"||L5(l)||r8(l)||S9(l)))return!l.length;var c=Lt(l);if(c==M1||c==C)return!l.size;if(F4(l))return!Mo(l).length;for(var v in l)if(ge.call(l,v))return!1;return!0}function Eb(l,c){return R4(l,c)}function Nb(l,c,v){v=typeof v=="function"?v:d;var I=v?v(l,c):d;return I===d?R4(l,c,d,v):!!I}function Zo(l){if(!$e(l))return!1;var c=Ot(l);return c==ke||c==Pe||typeof l.message=="string"&&typeof l.name=="string"&&!D4(l)}function Rb(l){return typeof l=="number"&&uc(l)}function i5(l){if(!Ge(l))return!1;var c=Ot(l);return c==le||c==ie||c==D1||c==$3}function kd(l){return typeof l=="number"&&l==F0(l)}function Z7(l){return typeof l=="number"&&l>-1&&l%1==0&&l<=v1}function Ge(l){var c=typeof l;return l!=null&&(c=="object"||c=="function")}function $e(l){return l!=null&&typeof l=="object"}var Ed=y4?Ut(y4):Bv;function Lb(l,c){return l===c||_o(l,c,Yo(c))}function Ib(l,c,v){return v=typeof v=="function"?v:d,_o(l,c,Yo(c),v)}function Fb(l){return Nd(l)&&l!=+l}function Bb(l){if(SS(l))throw new g1(w);return Tc(l)}function Db(l){return l===null}function Gb(l){return l==null}function Nd(l){return typeof l=="number"||$e(l)&&Ot(l)==B}function D4(l){if(!$e(l)||Ot(l)!=G2)return!1;var c=_7(l);if(c===null)return!0;var v=ge.call(c,"constructor")&&c.constructor;return typeof v=="function"&&v instanceof v&&d9.call(v)==Iy}var es=f7?Ut(f7):Dv;function Ub(l){return kd(l)&&l>=-v1&&l<=v1}var Rd=v4?Ut(v4):Gv;function ei(l){return typeof l=="string"||!L0(l)&&$e(l)&&Ot(l)==j}function xn(l){return typeof l=="symbol"||$e(l)&&Ot(l)==T}var r8=S4?Ut(S4):Uv;function Ob(l){return l===d}function jb(l){return $e(l)&&Lt(l)==W}function zb(l){return $e(l)&&Ot(l)==G}var Yb=$7(Po),$b=$7(function(l,c){return l<=c});function Ld(l){if(!l)return[];if(en(l))return ei(l)?Tn(l):Zt(l);if(A4&&l[A4])return ho(l[A4]());var c=Lt(l),v=c==M1?Q9:c==C?X9:o8;return v(l)}function r5(l){if(!l)return l===0?l:0;if(l=jn(l),l===B1||l===-B1){var c=l<0?-1:1;return c*Y1}return l===l?l:0}function F0(l){var c=r5(l),v=c%1;return c===c?v?c-v:c:0}function Id(l){return l?p9(F0(l),0,E2):0}function jn(l){if(typeof l=="number")return l;if(xn(l))return g0;if(Ge(l)){var c=typeof l.valueOf=="function"?l.valueOf():l;l=Ge(c)?c+"":c}if(typeof l!="string")return l===0?l:+l;l=w7(l);var v=Ke.test(l);return v||t6.test(l)?m4(l.slice(2),v?2:8):Ee.test(l)?g0:+l}function Fd(l){return P6(l,tn(l))}function Wb(l){return l?p9(F0(l),-v1,v1):l===0?l:0}function ue(l){return l==null?"":An(l)}var Vb=n8(function(l,c){if(F4(c)||en(c)){P6(c,yt(c),l);return}for(var v in c)ge.call(c,v)&&k4(l,v,c[v])}),Bd=n8(function(l,c){P6(c,tn(c),l)}),ti=n8(function(l,c,v,I){P6(c,tn(c),l,I)}),Hb=n8(function(l,c,v,I){P6(c,yt(c),l,I)}),Kb=n5(bo);function qb(l,c){var v=t8(l);return c==null?v:mc(v,c)}var Jb=j0(function(l,c){l=a0(l);var v=-1,I=c.length,a2=I>2?c[2]:d;for(a2&&jt(c[0],c[1],a2)&&(I=1);++v1),T2}),P6(l,jo(l),v),I&&(v=Gn(v,t2|X|R2,sS));for(var a2=c.length;a2--;)Lo(v,c[a2]);return v});function mT(l,c){return Gd(l,X7(h0(c)))}var pT=n5(function(l,c){return l==null?{}:zv(l,c)});function Gd(l,c){if(l==null)return{};var v=Te(jo(l),function(I){return[I]});return c=h0(c),kc(l,v,function(I,a2){return c(I,a2[0])})}function gT(l,c,v){c=N5(c,l);var I=-1,a2=c.length;for(a2||(a2=1,l=d);++Ic){var I=l;l=c,c=I}if(v||l%1||c%1){var a2=cc();return Rt(l+a2*(c-l+c7("1e-"+((a2+"").length-1))),c)}return Eo(l,c)}var MT=a8(function(l,c,v){return c=c.toLowerCase(),l+(v?jd(c):c)});function jd(l){return as(ue(l).toLowerCase())}function zd(l){return l=ue(l),l&&l.replace(Fn,J9).replace(l7,"")}function PT(l,c,v){l=ue(l),c=An(c);var I=l.length;v=v===d?I:p9(F0(v),0,I);var a2=v;return v-=c.length,v>=0&&l.slice(v,a2)==c}function kT(l){return l=ue(l),l&&y0.test(l)?l.replace(I1,Xt):l}function ET(l){return l=ue(l),l&&z2.test(l)?l.replace(x2,"\\$&"):l}var NT=a8(function(l,c,v){return l+(v?"-":"")+c.toLowerCase()}),RT=a8(function(l,c,v){return l+(v?" ":"")+c.toLowerCase()}),LT=Wc("toLowerCase");function IT(l,c,v){l=ue(l),c=F0(c);var I=c?a6(l):0;if(!c||I>=c)return l;var a2=(c-I)/2;return Y7(E7(a2),v)+l+Y7(k7(a2),v)}function FT(l,c,v){l=ue(l),c=F0(c);var I=c?a6(l):0;return c&&I>>0,v?(l=ue(l),l&&(typeof c=="string"||c!=null&&!es(c))&&(c=An(c),!c&&Q6(l))?R5(Tn(l),0,v):l.split(c,v)):[]}var zT=a8(function(l,c,v){return l+(v?" ":"")+as(c)});function YT(l,c,v){return l=ue(l),v=v==null?0:p9(F0(v),0,l.length),c=An(c),l.slice(v,v+c.length)==c}function $T(l,c,v){var I=g2.templateSettings;v&&jt(l,c,v)&&(c=d),l=ue(l),c=ti({},c,I,Xc);var a2=ti({},c.imports,I.imports,Xc),T2=yt(a2),j2=q9(a2,T2),i3,h3,Z3=0,n1=c.interpolate||Fe,u1="__p += '",F1=st((c.escape||Fe).source+"|"+n1.source+"|"+(n1===it?Y0:Fe).source+"|"+(c.evaluate||Fe).source+"|$","g"),r0="//# sourceURL="+(ge.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++T6+"]")+` +`;l.replace(F1,function(w0,H0,X0,_n,zt,Mn){return X0||(X0=_n),u1+=l.slice(Z3,Mn).replace(H6,J6),H0&&(i3=!0,u1+=`' + +__e(`+H0+`) + +'`),zt&&(h3=!0,u1+=`'; +`+zt+`; +__p += '`),X0&&(u1+=`' + +((__t = (`+X0+`)) == null ? '' : __t) + +'`),Z3=Mn+w0.length,w0}),u1+=`'; +`;var S0=ge.call(c,"variable")&&c.variable;if(!S0)u1=`with (obj) { +`+u1+` +} +`;else if(v0.test(S0))throw new g1(E);u1=(h3?u1.replace(J,""):u1).replace(X2,"$1").replace(e1,"$1;"),u1="function("+(S0||"obj")+`) { +`+(S0?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(i3?", __e = _.escape":"")+(h3?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+u1+`return __p +}`;var G0=$d(function(){return O1(T2,r0+"return "+u1).apply(d,j2)});if(G0.source=u1,Zo(G0))throw G0;return G0}function WT(l){return ue(l).toLowerCase()}function VT(l){return ue(l).toUpperCase()}function HT(l,c,v){if(l=ue(l),l&&(v||c===d))return w7(l);if(!l||!(c=An(c)))return l;var I=Tn(l),a2=Tn(c),T2=b7(I,a2),j2=P0(I,a2)+1;return R5(I,T2,j2).join("")}function KT(l,c,v){if(l=ue(l),l&&(v||c===d))return l.slice(0,x(l)+1);if(!l||!(c=An(c)))return l;var I=Tn(l),a2=P0(I,Tn(c))+1;return R5(I,0,a2).join("")}function qT(l,c,v){if(l=ue(l),l&&(v||c===d))return l.replace(M3,"");if(!l||!(c=An(c)))return l;var I=Tn(l),a2=b7(I,Tn(c));return R5(I,a2).join("")}function JT(l,c){var v=l3,I=x3;if(Ge(c)){var a2="separator"in c?c.separator:a2;v="length"in c?F0(c.length):v,I="omission"in c?An(c.omission):I}l=ue(l);var T2=l.length;if(Q6(l)){var j2=Tn(l);T2=j2.length}if(v>=T2)return l;var i3=v-a6(I);if(i3<1)return I;var h3=j2?R5(j2,0,i3).join(""):l.slice(0,i3);if(a2===d)return h3+I;if(j2&&(i3+=h3.length-i3),es(a2)){if(l.slice(i3).search(a2)){var Z3,n1=h3;for(a2.global||(a2=st(a2.source,ue(I0.exec(a2))+"g")),a2.lastIndex=0;Z3=a2.exec(n1);)var u1=Z3.index;h3=h3.slice(0,u1===d?i3:u1)}}else if(l.indexOf(An(a2),i3)!=i3){var F1=h3.lastIndexOf(a2);F1>-1&&(h3=h3.slice(0,F1))}return h3+I}function QT(l){return l=ue(l),l&&V1.test(l)?l.replace(i0,k):l}var XT=a8(function(l,c,v){return l+(v?" ":"")+c.toUpperCase()}),as=Wc("toUpperCase");function Yd(l,c,v){return l=ue(l),c=v?d:c,c===d?T7(l)?k2(l):so(l):l.match(c)||[]}var $d=j0(function(l,c){try{return Et(l,d,c)}catch(v){return Zo(v)?v:new g1(v)}}),ZT=n5(function(l,c){return Gt(c,function(v){v=k6(v),e5(l,v,Qo(l[v],l))}),l});function eC(l){var c=l==null?0:l.length,v=h0();return l=c?Te(l,function(I){if(typeof I[1]!="function")throw new ft(_);return[v(I[0]),I[1]]}):[],j0(function(I){for(var a2=-1;++a2v1)return[];var v=E2,I=Rt(l,E2);c=h0(c),l-=E2;for(var a2=l9(I,c);++v0||c<0)?new K0(v):(l<0?v=v.takeRight(-l):l&&(v=v.drop(l)),c!==d&&(c=F0(c),v=c<0?v.dropRight(-c):v.take(c-l)),v)},K0.prototype.takeRightWhile=function(l){return this.reverse().takeWhile(l).reverse()},K0.prototype.toArray=function(){return this.take(E2)},M6(K0.prototype,function(l,c){var v=/^(?:filter|find|map|reject)|While$/.test(c),I=/^(?:head|last)$/.test(c),a2=g2[I?"take"+(c=="last"?"Right":""):c],T2=I||/^find/.test(c);a2&&(g2.prototype[c]=function(){var j2=this.__wrapped__,i3=I?[1]:arguments,h3=j2 instanceof K0,Z3=i3[0],n1=h3||L0(j2),u1=function(H0){var X0=a2.apply(g2,x6([H0],i3));return I&&F1?X0[0]:X0};n1&&v&&typeof Z3=="function"&&Z3.length!=1&&(h3=n1=!1);var F1=this.__chain__,r0=!!this.__actions__.length,S0=T2&&!F1,G0=h3&&!r0;if(!T2&&n1){j2=G0?j2:new K0(this);var w0=l.apply(j2,i3);return w0.__actions__.push({func:K7,args:[u1],thisArg:d}),new Dn(w0,F1)}return S0&&G0?l.apply(this,i3):(w0=this.thru(u1),S0?I?w0.value()[0]:w0.value():w0)})}),Gt(["pop","push","shift","sort","splice","unshift"],function(l){var c=pe[l],v=/^(?:push|sort|unshift)$/.test(l)?"tap":"thru",I=/^(?:pop|shift)$/.test(l);g2.prototype[l]=function(){var a2=arguments;if(I&&!this.__chain__){var T2=this.value();return c.apply(L0(T2)?T2:[],a2)}return this[v](function(j2){return c.apply(L0(j2)?j2:[],a2)})}}),M6(K0.prototype,function(l,c){var v=g2[c];if(v){var I=v.name+"";ge.call(e8,I)||(e8[I]=[]),e8[I].push({name:c,func:v})}}),e8[j7(d,B2).name]=[{name:"wrapper",func:d}],K0.prototype.clone=Qy,K0.prototype.reverse=Xy,K0.prototype.value=Zy,g2.prototype.at=Pw,g2.prototype.chain=kw,g2.prototype.commit=Ew,g2.prototype.next=Nw,g2.prototype.plant=Lw,g2.prototype.reverse=Iw,g2.prototype.toJSON=g2.prototype.valueOf=g2.prototype.value=Fw,g2.prototype.first=g2.prototype.head,A4&&(g2.prototype[A4]=Rw),g2},u3=H2();C6?((C6.exports=u3)._=u3,$9._=u3):ot._=u3}).call($2)});function y3(R,M){var d=M.parentNode;d.lastChild==M?d.appendChild(R):d.insertBefore(R,M.nextSibling)}var z3=function(){function R(M,d){a(this,R),this.id=d,this.jSPlugin=M,this.state={play:!1,loading:!1,text:""},this.loadingSetText=this.loadingSetText}return r(R,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"setPlayStatus",value:function(d){this.state=Object.assign(this.state,d)}},{key:"loadingStart",value:function(d){var f=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(f),f.innerHTML="@keyframes antRotate {to {transform: rotate(400deg);transform-origin:50% 50%;}} .loading {display: inline-block;z-index: 1000;-webkit-animation: antRotate 1s infinite linear;animation: antRotate 1s infinite linear;}";var y=d,w=document.getElementById(y),_=w.offsetWidth,E=w.offsetHeight,r2=0,n2=w.offsetLeft;document.getElementById("".concat(d,"-loading-id-0"))&&document.getElementById("".concat(d,"-loading-id-0")).parentNode.removeChild(document.getElementById("".concat(d,"-loading-id-0")));var o2=document.createElement("div");o2.setAttribute("id","".concat(d,"-loading-id-0"));var y2="position:absolute;outline:none;pointer-events:none;";console.log("this.jSPlugin",this.jSPlugin),y2+="width: 100%;background-size: cover; background-repeat:no-repeat;",y2+="height: 100%;",y2+="top:"+r2+";",y2+="left:"+n2+"px;",o2.setAttribute("style",y2),o2.style.height=E,o2.setAttribute("class","loading-container"),y3(o2,w);var t2=1,X=document.createElement("div"),R2=document.createElement("div");X.setAttribute("class","loading-item"),X.setAttribute("id","".concat(d,"-loading-item-0"));var y2="display:inline-flex;pointer-events:none;flex-direction:column;justify-content:center;align-items: center;width:100%;height:"+E+"px;outline:none;vertical-align: top;position:absolute;";y2+="left:"+d2(E,_,t2,0).left+"px;",y2+="top:"+d2(E,_,t2,0).top+"px;",X.setAttribute("style",y2);function d2(u2,A,V,Z){var P2=parseInt(Z/V,10)*(u2/V),I2=Z%V*(A/V);return{top:P2,left:I2}}var h2=document.createElement("div");R2.innerHTML="",R2.style.color="#fff",h2.setAttribute("class","loading"),h2.setAttribute("id","loading-icon");var B2='';h2.innerHTML=B2,X.appendChild(h2),X.appendChild(R2),o2.appendChild(X)}},{key:"loadingStop",value:function(d){var f=document.getElementById("".concat(d,"-loading-item-0"));f&&f.removeChild(document.getElementById("loading-icon"))}},{key:"loadingSetText",value:function(d){var f=this;if(this.loadingClearText(),document.getElementById("".concat(this.id,"-loading-item-0"))){var y=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes[1];if(!y){var w=document.getElementById("".concat(this.id,"-loading-item-0"));w.style.height="100%",y=document.createElement("div"),y.innerHTML=d.text,w.appendChild(y)}y.innerHTML=d.text,y.style.fontSize="14px",y.style.color=d.color||"#FFFFFF",this.state.text=d.text,d.delayClear&&setTimeout(function(){f.loadingClearText()},parseInt(d.delayClear))}}},{key:"loadingClearText",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){var d=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes;d.length>1?d[1].parentNode.removeChild(d[1]):d[0]&&d[0].parentNode.removeChild(d[0])}}},{key:"loadingClear",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){for(var d=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes,f=d.length-1;f>=0;f--)d[f].parentNode.removeChild(d[f]);document.getElementById("".concat(this.id,"-loading-id-0"))&&(document.getElementById("".concat(this.id,"-loading-id-0")).style.background="none"),document.getElementById("loading-icon")&&document.getElementById("loading-icon").parentNode.removeChild(document.getElementById("loading-icon"))}}},{key:"loadingEnd",value:function(){var d=document.getElementById("".concat(this.id,"-loading-item-0"));if(d){d.parentNode.removeChild(d);var f=document.getElementById("".concat(this.id,"-loading-id-0"));f&&f.children.length===0&&f.parentNode.removeChild(f)}document.getElementById("".concat(this.id,"-loading-item-0")).style.background="none"}}]),R}(),S3=function(){function R(M,d){a(this,R),this.id=d,this.jSPlugin=M,this.timer=null,this.state={play:!1,loading:!1}}return r(R,[{key:"default",value:function(d){var f=this,y="msgId";document.getElementById("".concat(this.id,"-").concat(y))&&document.getElementById("".concat(this.id,"-wrap")).removeChild(document.getElementById("".concat(this.id,"-").concat(y)));var w=document.createElement("div");w.id="".concat(this.id,"-").concat(y),w.style="position: absolute;top: 50%;left:calc(50% - ".concat(d.length*14/2,"px);padding: 4px 16px;background: #00000080;color: #FFFFFF;font-size: 14px"),w.innerHTML=d,document.getElementById("".concat(this.id,"-wrap")).appendChild(w),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){document.getElementById("".concat(f.id,"-wrap")).removeChild(document.getElementById("".concat(f.id,"-").concat(y)))},2e3)}}]),R}(),I3=[{moduleCode:"",detailCode:"405984",description:"",solution:"",updateTime:1559564188e3},{moduleCode:"",detailCode:"10035",description:"获取子账户AccessToken异常,子账户不存在或子账户不属于该开发者",solution:"",updateTime:1559551958e3},{moduleCode:"",detailCode:"1052674",description:"获取本地录像失败",solution:"",updateTime:1558579653e3},{moduleCode:"",detailCode:"395547",description:"",solution:"",updateTime:1557367296e3},{moduleCode:"",detailCode:"12",description:"",solution:"",updateTime:1557229476e3},{moduleCode:"",detailCode:"10052",description:"余额不足",solution:"",updateTime:1557121463e3},{moduleCode:"",detailCode:"20108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:1556541725e3},{moduleCode:"",detailCode:"10009",description:"",solution:"",updateTime:1556422452e3},{moduleCode:"",detailCode:"320001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:1556419044e3},{moduleCode:"",detailCode:"120001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:155641903e4},{moduleCode:"",detailCode:"320049",description:"",solution:"",updateTime:1556272984e3},{moduleCode:"",detailCode:"380227",description:"",solution:"",updateTime:1556264379e3},{moduleCode:"",detailCode:"10033",description:"policy参数信息异常",solution:"",updateTime:1555922124e3},{moduleCode:"",detailCode:"10065",description:"weakAppKey 不属于accessToken对应的用户",solution:"",updateTime:1555497522e3},{moduleCode:"",detailCode:"100001",description:"",solution:"",updateTime:1555141776e3},{moduleCode:"",detailCode:"395558",description:"",solution:"",updateTime:1554987121e3},{moduleCode:"",detailCode:"70001",description:"智能家居买断用户设备受到限制,建议合理选择pagestart和pageSize",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"170001",description:"",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"1012",description:"重置失败",solution:"",updateTime:1554645841e3},{moduleCode:"",detailCode:"1043",description:"重置失败",solution:"",updateTime:1554645834e3},{moduleCode:"",detailCode:"60060",description:"直播功能未开通",solution:"通道未开通直播功能,请先开通直播",updateTime:1554346018e3},{moduleCode:"",detailCode:"380203",description:"",solution:"",updateTime:1554093666e3},{moduleCode:"",detailCode:"399048",description:"免费版并发数达到上限,请升级企业版使用多并发能力",solution:"升级成为企业版套餐即可取消并发数限制",updateTime:1553839878e3},{moduleCode:"",detailCode:"60007",description:"预置点个数超过最大值",solution:"",updateTime:1553671316e3},{moduleCode:"",detailCode:"1005",description:"",solution:"",updateTime:1553513701e3},{moduleCode:"",detailCode:"20605",description:"其他用户正在认证中",solution:"",updateTime:1552976317e3},{moduleCode:"",detailCode:"90004",description:"当前型号设备暂时不支持AI任务:CS-C3W-3B1WFR-YGL",solution:"",updateTime:1552898525e3},{moduleCode:"",detailCode:"60046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:1552872372e3},{moduleCode:"",detailCode:"3",description:"修改视频清晰度失败!",solution:"",updateTime:1552440229e3},{moduleCode:"",detailCode:"1013",description:"",solution:"",updateTime:1552035069e3},{moduleCode:"",detailCode:"370007",description:"",solution:"",updateTime:1551852327e3},{moduleCode:"",detailCode:"-1",description:"",solution:"",updateTime:1551752889e3},{moduleCode:"",detailCode:"30005",description:"弱账户不存在",solution:"",updateTime:1551422358e3},{moduleCode:"",detailCode:"90006",description:"用户操作AI任务受限",solution:"",updateTime:155107332e4},{moduleCode:"",detailCode:"60203",description:"未开通相关服务",solution:"",updateTime:155062307e4},{moduleCode:"",detailCode:"10002",description:"accessToken过期或异常",solution:"",updateTime:1550300346e3},{moduleCode:"",detailCode:"380339",description:"",solution:"",updateTime:1549889458e3},{moduleCode:"",detailCode:"90002",description:"AI任务设备配置数达到上限:3",solution:"",updateTime:1549071664e3},{moduleCode:"",detailCode:"380008",description:"",solution:"",updateTime:1549005979e3},{moduleCode:"",detailCode:"320227",description:"",solution:"",updateTime:1548739731e3},{moduleCode:"",detailCode:"60059",description:"ezopen地址均不可用",solution:"",updateTime:154839535e4},{moduleCode:"",detailCode:"10005",description:"appKey异常",solution:"",updateTime:1548317858e3},{moduleCode:"",detailCode:"60045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:1548155085e3},{moduleCode:"",detailCode:"60047",description:"码流类型不支持",solution:"",updateTime:1547962108e3},{moduleCode:"",detailCode:"60041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:154796098e4},{moduleCode:"",detailCode:"110029",description:"个人用户接口调用频率超限",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1547606859e3},{moduleCode:"",detailCode:"380355",description:"设备直连推流异常结束",solution:"",updateTime:1547106294e3},{moduleCode:"",detailCode:"320081",description:"",solution:"",updateTime:1547106279e3},{moduleCode:"",detailCode:"60035",description:"购买云存储服务失败",solution:"",updateTime:1547026959e3},{moduleCode:"",detailCode:"90005",description:"设备已存在:C75714141",solution:"",updateTime:1546940622e3},{moduleCode:"",detailCode:"1053445",description:"该时间段没有录像片段",solution:"",updateTime:1546935727e3},{moduleCode:"",detailCode:"90007",description:"设备未加入到AI任务",solution:"",updateTime:1546932948e3},{moduleCode:"",detailCode:"326000",description:"",solution:"",updateTime:1546823143e3},{moduleCode:"",detailCode:"1021",description:"重置失败",solution:"",updateTime:1546781152e3},{moduleCode:"",detailCode:"2001",description:"删除设备失败!",solution:"",updateTime:1546422886e3},{moduleCode:"",detailCode:"380425",description:"",solution:"",updateTime:1546407694e3},{moduleCode:"",detailCode:"120097",description:"",solution:"",updateTime:1546085995e3},{moduleCode:"",detailCode:"10059",description:"requestId已存在",solution:"",updateTime:1545824509e3},{moduleCode:"",detailCode:"1154723",description:"",solution:"",updateTime:1545795209e3},{moduleCode:"",detailCode:"60043",description:"添加的设备超出最大数量",solution:"",updateTime:1545493607e3},{moduleCode:"",detailCode:"1152677",description:"",solution:"",updateTime:1545313404e3},{moduleCode:"",detailCode:"20097",description:"设备添加异常,设备验证码为ABCDEF或设备被N1,R1关联",solution:"",updateTime:1545310795e3},{moduleCode:"",detailCode:"10060",description:"设备不支持该云存储类型",solution:"",updateTime:1545309064e3},{moduleCode:"",detailCode:"20102",description:"无相应邀请信息,无法接受邀请",solution:"",updateTime:1545204966e3},{moduleCode:"",detailCode:"10053",description:"云存储开通中",solution:"",updateTime:1545100293e3},{moduleCode:"",detailCode:"20401",description:"用户云空间信息不存在",solution:"",updateTime:154501788e4},{moduleCode:"",detailCode:"20600",description:"临时密码数已达上限",solution:"",updateTime:1544873457e3},{moduleCode:"",detailCode:"901",description:"",solution:"",updateTime:1544693519e3},{moduleCode:"",detailCode:"60210",description:"图片数据错误",solution:"",updateTime:1544604457e3},{moduleCode:"",detailCode:"10013",description:"您的应用没有权限调用",solution:"",updateTime:1544416237e3},{moduleCode:"",detailCode:"70007",description:"授权码不存在",solution:"",updateTime:1544179533e3},{moduleCode:"",detailCode:"10015",description:"授权地址不存在",solution:"",updateTime:154416324e4},{moduleCode:"",detailCode:"320423",description:"",solution:"",updateTime:1544100685e3},{moduleCode:"",detailCode:"370009",description:"",solution:"",updateTime:1544077151e3},{moduleCode:"",detailCode:"10031",description:"子账户或萤石用户没有权限",solution:"",updateTime:1543990462e3},{moduleCode:"",detailCode:"10055",description:"设备不支持试用云存储服务",solution:"",updateTime:1543986292e3},{moduleCode:"",detailCode:"60042",description:"添加的设备密码错误",solution:"",updateTime:1543710913e3},{moduleCode:"",detailCode:"60082",description:"设备正在响应本次声源定位",solution:"",updateTime:1543647426e3},{moduleCode:"",detailCode:"10056",description:"设备不支持云存储服务转出",solution:"",updateTime:1543558342e3},{moduleCode:"",detailCode:"20104",description:"好友不存在",solution:"",updateTime:1543492403e3},{moduleCode:"",detailCode:"20111",description:"好友不是等待验证状态,无法接受邀请",solution:"",updateTime:1543492365e3},{moduleCode:"",detailCode:"20107",description:"不能添加自己为好友",solution:"",updateTime:1543480986e3},{moduleCode:"",detailCode:"1",description:"设备返回其他错误",solution:"",updateTime:1543459921e3},{moduleCode:"",detailCode:"60084",description:"当前正在关闭隐私遮蔽",solution:"",updateTime:1543456515e3},{moduleCode:"",detailCode:"380255",description:"",solution:"",updateTime:1543411652e3},{moduleCode:"",detailCode:"20015",description:"设备不支持",solution:"",updateTime:1543390936e3},{moduleCode:"",detailCode:"30003",description:"手机验证码错误",solution:"",updateTime:1543389137e3},{moduleCode:"",detailCode:"20615",description:"锁用户已存在",solution:"",updateTime:1543388325e3},{moduleCode:"",detailCode:"60061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:1543372581e3},{moduleCode:"",detailCode:"60020",description:"设备不支持该信令",solution:"",updateTime:1543321636e3},{moduleCode:"",detailCode:"320146",description:"",solution:"",updateTime:1543318472e3},{moduleCode:"",detailCode:"60018",description:"设备升级失败",solution:"",updateTime:1543304928e3},{moduleCode:"",detailCode:"60044",description:"添加的设备网络不可达超时",solution:"",updateTime:1543304102e3},{moduleCode:"",detailCode:"20619",description:"主用户无法删除",solution:"",updateTime:1543290219e3},{moduleCode:"",detailCode:"20608",description:"锁用户不存在",solution:"",updateTime:154328195e4},{moduleCode:"",detailCode:"20609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:1543281601e3},{moduleCode:"",detailCode:"1049954",description:"升级设备失败",solution:"",updateTime:1543279264e3},{moduleCode:"",detailCode:"60009",description:"正在调用预置点",solution:"",updateTime:1543238114e3},{moduleCode:"",detailCode:"1052677",description:"获取本地录像失败",solution:"",updateTime:1543207604e3},{moduleCode:"",detailCode:"327000",description:"",solution:"",updateTime:1543196609e3},{moduleCode:"",detailCode:"20021",description:"设备在线,未被用户添加",solution:"",updateTime:1543193436e3},{moduleCode:"",detailCode:"20202",description:"操作留言信息失败",solution:"",updateTime:1543191562e3},{moduleCode:"",detailCode:"1052678",description:"获取本地录像失败",solution:"",updateTime:1543132218e3},{moduleCode:"",detailCode:"1054723",description:"格式化设备失败",solution:"",updateTime:1543129833e3},{moduleCode:"",detailCode:"20109",description:"对应分享不存在",solution:"",updateTime:1543129111e3},{moduleCode:"",detailCode:"60026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:1543110403e3},{moduleCode:"",detailCode:"60083",description:"当前正在开启隐私遮蔽",solution:"",updateTime:1543071148e3},{moduleCode:"",detailCode:"60001",description:"用户无云台控制权限",solution:"",updateTime:1543059167e3},{moduleCode:"",detailCode:"2003",description:"设备不在线",solution:"",updateTime:1543051046e3},{moduleCode:"",detailCode:"-24",description:"设置设备enable错误",solution:"",updateTime:1543042701e3},{moduleCode:"",detailCode:"10018",description:"",solution:"",updateTime:1543041564e3},{moduleCode:"",detailCode:"20103",description:"好友已存在",solution:"",updateTime:154303843e4},{moduleCode:"",detailCode:"70010",description:"授权异常请重试",solution:"",updateTime:154303559e4},{moduleCode:"",detailCode:"60056",description:"删除设备失败",solution:"",updateTime:1543031275e3},{moduleCode:"",detailCode:"60040",description:"添加的设备不在同一局域网",solution:"",updateTime:154303121e4},{moduleCode:"",detailCode:"60019",description:"加密已开启",solution:"",updateTime:1543029931e3},{moduleCode:"",detailCode:"1054722",description:"格式化设备失败",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"20016",description:"当前设备正在格式化",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"10024",description:"透明通道权限校验不通过",solution:"",updateTime:154302554e4},{moduleCode:"",detailCode:"6002",description:"删除设备失败!",solution:"",updateTime:1543025026e3},{moduleCode:"",detailCode:"1011",description:"验证码错误!",solution:"",updateTime:1543016865e3},{moduleCode:"",detailCode:"60032",description:"卡密已使用",solution:"",updateTime:1543006668e3},{moduleCode:"",detailCode:"10034",description:"子账号已存在",solution:"",updateTime:1542989194e3},{moduleCode:"",detailCode:"20301",description:"根据uuid查询联动信息不存在",solution:"",updateTime:1542988651e3},{moduleCode:"",detailCode:"1041",description:"获取验证码过于频繁",solution:"",updateTime:1542980953e3},{moduleCode:"",detailCode:"10012",description:"该appkey下已绑定重复的phone!",solution:"",updateTime:15429808e5},{moduleCode:"",detailCode:"1008",description:"phone不合法!",solution:"",updateTime:1542979812e3},{moduleCode:"",detailCode:"60023",description:"订阅操作失败",solution:"",updateTime:1542979006e3},{moduleCode:"",detailCode:"5",description:"设备返回其他错误",solution:"",updateTime:1542977828e3},{moduleCode:"",detailCode:"60006",description:"云台当前操作失败",solution:"",updateTime:1542977598e3},{moduleCode:"",detailCode:"131",description:"修改视频清晰度失败!",solution:"",updateTime:1542977246e3},{moduleCode:"",detailCode:"10019",description:"密码错误",solution:"",updateTime:1542976628e3},{moduleCode:"",detailCode:"10004",description:"用户不存在",solution:"",updateTime:1542976268e3},{moduleCode:"",detailCode:"20201",description:"操作报警信息失败",solution:"",updateTime:1542975906e3},{moduleCode:"",detailCode:"20024",description:"设备不在线,已经被别的用户添加",solution:"",updateTime:1542975858e3},{moduleCode:"",detailCode:"60004",description:"设备云台旋转达到左限位",solution:"",updateTime:1542975207e3},{moduleCode:"",detailCode:"1052679",description:"修改视频清晰度失败!",solution:"",updateTime:1542974886e3},{moduleCode:"",detailCode:"20031",description:"请在萤石客户端关闭终端绑定",solution:"",updateTime:1542974756e3},{moduleCode:"",detailCode:"1053825",description:"获取本地录像失败",solution:"",updateTime:1542974692e3},{moduleCode:"",detailCode:"60011",description:"预置点不存在",solution:"",updateTime:1542974414e3},{moduleCode:"",detailCode:"1052936",description:"修改视频清晰度失败!",solution:"",updateTime:154297439e4},{moduleCode:"",detailCode:"1016",description:"",solution:"",updateTime:1542974273e3},{moduleCode:"",detailCode:"10032",description:"子账号不存在",solution:"",updateTime:1542973906e3},{moduleCode:"",detailCode:"20013",description:"设备已被别人添加",solution:"",updateTime:1542973817e3},{moduleCode:"",detailCode:"50000",description:"服务器错误!",solution:"",updateTime:1542973801e3},{moduleCode:"",detailCode:"60010",description:"该预置点已经是当前位置",solution:"",updateTime:15429738e5},{moduleCode:"",detailCode:"60003",description:"设备云台旋转达到下限位",solution:"",updateTime:154297377e4},{moduleCode:"",detailCode:"4",description:"设备返回其他错误",solution:"",updateTime:1542973755e3},{moduleCode:"",detailCode:"60016",description:"加密未开启,无需关闭",solution:"",updateTime:1542973753e3},{moduleCode:"",detailCode:"60002",description:"设备云台旋转达到上限位",solution:"",updateTime:1542973742e3},{moduleCode:"",detailCode:"20023",description:"设备不在线,未被用户添加",solution:"",updateTime:1542973685e3},{moduleCode:"",detailCode:"10008",description:"",solution:"",updateTime:1542973676e3},{moduleCode:"",detailCode:"20010",description:"设备验证码错误",solution:"",updateTime:1542973658e3},{moduleCode:"",detailCode:"60005",description:"设备云台旋转达到右限位",solution:"",updateTime:1542973657e3},{moduleCode:"",detailCode:"20017",description:"设备已经被自己添加",solution:"",updateTime:1542973648e3},{moduleCode:"",detailCode:"20020",description:"设备在线,已经被自己添加",solution:"",updateTime:1542973533e3},{moduleCode:"",detailCode:"20029",description:"设备不在线,已经被自己添加",solution:"",updateTime:154297353e4},{moduleCode:"",detailCode:"10014",description:"APPKEY下对应的第三方userId和phone未绑定!",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"20002",description:"设备不存在",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"10030",description:"appkey和appsecret不匹配",solution:"",updateTime:154297349e4},{moduleCode:"",detailCode:"20022",description:"设备在线,已经被别的用户添加",solution:"",updateTime:1542973486e3},{moduleCode:"",detailCode:"20008",description:"设备响应超时",solution:"",updateTime:1542973484e3},{moduleCode:"",detailCode:"20032",description:"该用户下通道不存在",solution:"",updateTime:1542973481e3},{moduleCode:"",detailCode:"20006",description:"网络异常",solution:"",updateTime:1542973475e3},{moduleCode:"",detailCode:"20014",description:"deviceSerial不合法!",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20007",description:"设备不在线",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20018",description:"该用户不拥有该设备",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10010",description:"",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10011",description:"未绑定!",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"20001",description:"通道不存在!",solution:"",updateTime:1542973452e3},{moduleCode:"",detailCode:"10017",description:"appKey不存在",solution:"",updateTime:1542973451e3},{moduleCode:"",detailCode:"400259",description:"",solution:"",updateTime:1542875643e3},{moduleCode:"",detailCode:"400004",description:"",solution:"",updateTime:1542873364e3},{moduleCode:"",detailCode:"3840",description:"",solution:"",updateTime:154186e7},{moduleCode:"",detailCode:"-1017",description:"",solution:"",updateTime:1541733663e3},{moduleCode:"",detailCode:"320025",description:"",solution:"",updateTime:1541078281e3},{moduleCode:"",detailCode:"320024",description:"",solution:"",updateTime:1540801374e3},{moduleCode:"",detailCode:"321002",description:"",solution:"",updateTime:1540631734e3},{moduleCode:"",detailCode:"321000",description:"",solution:"",updateTime:1540609178e3},{moduleCode:"",detailCode:"321022",description:"",solution:"",updateTime:1540548345e3},{moduleCode:"",detailCode:"321016",description:"",solution:"",updateTime:1540287187e3},{moduleCode:"",detailCode:"320023",description:"",solution:"",updateTime:1539825993e3},{moduleCode:"",detailCode:"-1016",description:"",solution:"",updateTime:1539584931e3},{moduleCode:"",detailCode:"8",description:"",solution:"",updateTime:1539391812e3},{moduleCode:"",detailCode:"1075127593",description:"",solution:"",updateTime:1538959251e3},{moduleCode:"",detailCode:"380421",description:"",solution:"",updateTime:1537288465e3},{moduleCode:"",detailCode:"322000",description:"麦克风权限未开启",solution:"",updateTime:1536820136e3},{moduleCode:"",detailCode:"1152678",description:"",solution:"",updateTime:1536738348e3},{moduleCode:"",detailCode:"320047",description:"",solution:"",updateTime:1536664472e3},{moduleCode:"",detailCode:"327006",description:"",solution:"",updateTime:153613612e4},{moduleCode:"",detailCode:"1074807593",description:"",solution:"",updateTime:1536135035e3},{moduleCode:"",detailCode:"320291",description:"",solution:"",updateTime:1536110836e3},{moduleCode:"",detailCode:"320045",description:"",solution:"",updateTime:1535963775e3},{moduleCode:"",detailCode:"370004",description:"",solution:"",updateTime:1535883699e3},{moduleCode:"",detailCode:"1149954",description:"",solution:"",updateTime:1535700674e3},{moduleCode:"",detailCode:"320053",description:"",solution:"",updateTime:1535681079e3},{moduleCode:"",detailCode:"400000",description:"",solution:"",updateTime:1535532332e3},{moduleCode:"",detailCode:"110028",description:"个人版抓图接口日调用次数超出限制",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348756e3},{moduleCode:"",detailCode:"110027",description:"个人版帐号数量超出安全限制,无法调用",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348734e3},{moduleCode:"",detailCode:"110026",description:"设备数量超出个人版限制,当前设备无法操作",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348588e3},{moduleCode:"",detailCode:"100000",description:"",solution:"",updateTime:1534980008e3},{moduleCode:"",detailCode:"324004",description:"",solution:"",updateTime:1534927762e3},{moduleCode:"",detailCode:"360104",description:"",solution:"",updateTime:1534761006e3},{moduleCode:"",detailCode:"320204",description:"",solution:"",updateTime:1534584221e3},{moduleCode:"",detailCode:"380001",description:"",solution:"",updateTime:1534404715e3},{moduleCode:"",detailCode:"380204",description:"",solution:"",updateTime:1534401682e3},{moduleCode:"",detailCode:"328006",description:"",solution:"",updateTime:1534144407e3},{moduleCode:"",detailCode:"321703",description:"",solution:"",updateTime:1534127274e3},{moduleCode:"",detailCode:"321510",description:"",solution:"",updateTime:1533428892e3},{moduleCode:"",detailCode:"321006",description:"",solution:"",updateTime:1533036916e3},{moduleCode:"",detailCode:"50009",description:"",solution:"",updateTime:1532078548e3},{moduleCode:"",detailCode:"50007",description:"",solution:"",updateTime:153199172e4},{moduleCode:"",detailCode:"50018",description:"",solution:"",updateTime:1531912829e3},{moduleCode:"",detailCode:"380451",description:"",solution:"",updateTime:15316157e5},{moduleCode:"",detailCode:"380336",description:"",solution:"",updateTime:1531231721e3},{moduleCode:"",detailCode:"360020",description:"",solution:"",updateTime:1531117554e3},{moduleCode:"",detailCode:"380418",description:"",solution:"",updateTime:153110707e4},{moduleCode:"",detailCode:"1153445",description:"设备在该时间段内没有录像",solution:"",updateTime:1530944007e3},{moduleCode:"",detailCode:"110007",description:"调用接口总次数达到上限",solution:"请升级企业版,获取更高能力",updateTime:1530935584e3},{moduleCode:"",detailCode:"360019",description:"",solution:"",updateTime:1530869771e3},{moduleCode:"",detailCode:"360100",description:"",solution:"",updateTime:1530786188e3},{moduleCode:"",detailCode:"380042",description:"",solution:"",updateTime:1530775199e3},{moduleCode:"",detailCode:"320355",description:"",solution:"",updateTime:1530716074e3},{moduleCode:"",detailCode:"100003",description:"",solution:"",updateTime:1530232541e3},{moduleCode:"",detailCode:"371026",description:"",solution:"",updateTime:15301926e5},{moduleCode:"",detailCode:"102",description:"",solution:"",updateTime:1529895641e3},{moduleCode:"",detailCode:"380201",description:"",solution:"",updateTime:1529740929e3},{moduleCode:"",detailCode:"320054",description:"",solution:"",updateTime:1529544875e3},{moduleCode:"",detailCode:"500101",description:"",solution:"",updateTime:1529485953e3},{moduleCode:"",detailCode:"321001",description:"",solution:"",updateTime:1529411048e3},{moduleCode:"",detailCode:"321508",description:"",solution:"",updateTime:1529393279e3},{moduleCode:"",detailCode:"405991",description:"",solution:"",updateTime:1529380238e3},{moduleCode:"",detailCode:"380461",description:"",solution:"",updateTime:1529130941e3},{moduleCode:"",detailCode:"-1019",description:"",solution:"",updateTime:1529057245e3},{moduleCode:"",detailCode:"322009",description:"",solution:"",updateTime:1528965717e3},{moduleCode:"",detailCode:"324005",description:"",solution:"",updateTime:1528950153e3},{moduleCode:"",detailCode:"325000",description:"",solution:"",updateTime:1528947143e3},{moduleCode:"",detailCode:"326032",description:"",solution:"",updateTime:1528872971e3},{moduleCode:"",detailCode:"325032",description:"",solution:"",updateTime:1528863189e3},{moduleCode:"",detailCode:"328000",description:"",solution:"",updateTime:1528794505e3},{moduleCode:"",detailCode:"53",description:"",solution:"",updateTime:1528693249e3},{moduleCode:"",detailCode:"-1020",description:"",solution:"",updateTime:152849944e4},{moduleCode:"",detailCode:"329032",description:"",solution:"",updateTime:1528446301e3},{moduleCode:"",detailCode:"-1202",description:"",solution:"",updateTime:152843982e4},{moduleCode:"",detailCode:"2",description:"",solution:"",updateTime:1528434175e3},{moduleCode:"",detailCode:"1152936",description:"",solution:"",updateTime:1528345986e3},{moduleCode:"",detailCode:"328011",description:"",solution:"",updateTime:15283386e5},{moduleCode:"",detailCode:"28",description:"",solution:"",updateTime:152833753e4},{moduleCode:"",detailCode:"320356",description:"",solution:"",updateTime:1528188693e3},{moduleCode:"",detailCode:"320357",description:"",solution:"",updateTime:1528188517e3},{moduleCode:"",detailCode:"405800",description:"",solution:"",updateTime:1528168732e3},{moduleCode:"",detailCode:"405996",description:"",solution:"",updateTime:1528168686e3},{moduleCode:"",detailCode:"380357",description:"",solution:"",updateTime:1528011565e3},{moduleCode:"",detailCode:"328022",description:"",solution:"",updateTime:1527929065e3},{moduleCode:"",detailCode:"380003",description:"",solution:"",updateTime:1527927819e3},{moduleCode:"",detailCode:"50004",description:"",solution:"",updateTime:1527770643e3},{moduleCode:"",detailCode:"50011",description:"",solution:"",updateTime:1527770635e3},{moduleCode:"",detailCode:"370017",description:"",solution:"",updateTime:1527739514e3},{moduleCode:"",detailCode:"327032",description:"",solution:"",updateTime:1527726704e3},{moduleCode:"",detailCode:"324001",description:"",solution:"",updateTime:1527681892e3},{moduleCode:"",detailCode:"405997",description:"",solution:"",updateTime:1527653408e3},{moduleCode:"",detailCode:"405995",description:"",solution:"",updateTime:1527647283e3},{moduleCode:"",detailCode:"1153825",description:"",solution:"",updateTime:1527601747e3},{moduleCode:"",detailCode:"328002",description:"",solution:"",updateTime:1527495292e3},{moduleCode:"",detailCode:"1152679",description:"",solution:"",updateTime:1527486665e3},{moduleCode:"",detailCode:"380356",description:"",solution:"",updateTime:1527125669e3},{moduleCode:"",detailCode:"328032",description:"",solution:"",updateTime:1527069382e3},{moduleCode:"",detailCode:"22",description:"",solution:"",updateTime:1527049826e3},{moduleCode:"",detailCode:"9",description:"",solution:"",updateTime:1527006778e3},{moduleCode:"",detailCode:"89",description:"",solution:"",updateTime:1526622784e3},{moduleCode:"",detailCode:"328016",description:"",solution:"",updateTime:1526452365e3},{moduleCode:"",detailCode:"368005",description:"",solution:"",updateTime:1525921264e3},{moduleCode:"",detailCode:"0",description:"",solution:"",updateTime:1525920242e3},{moduleCode:"",detailCode:"380006",description:"",solution:"",updateTime:1525918868e3},{moduleCode:"",detailCode:"310",description:"",solution:"",updateTime:1525834436e3},{moduleCode:"",detailCode:"360011",description:"",solution:"",updateTime:1525681552e3},{moduleCode:"",detailCode:"170005",description:"",solution:"",updateTime:15254339e5},{moduleCode:"",detailCode:"50023",description:"",solution:"",updateTime:1525403338e3},{moduleCode:"",detailCode:"100131",description:"",solution:"",updateTime:1525229691e3},{moduleCode:"",detailCode:"-1018",description:"",solution:"",updateTime:1525142341e3},{moduleCode:"",detailCode:"362026",description:"",solution:"",updateTime:1524882677e3},{moduleCode:"",detailCode:"368007",description:"",solution:"",updateTime:1524832269e3},{moduleCode:"",detailCode:"54",description:"",solution:"",updateTime:1524793646e3},{moduleCode:"",detailCode:"1154722",description:"",solution:"",updateTime:1524620807e3},{moduleCode:"",detailCode:"320229",description:"",solution:"",updateTime:1524551682e3},{moduleCode:"",detailCode:"360012",description:"",solution:"",updateTime:1524472094e3},{moduleCode:"",detailCode:"380229",description:"",solution:"",updateTime:1524110755e3},{moduleCode:"",detailCode:"360016",description:"",solution:"",updateTime:1523933518e3},{moduleCode:"",detailCode:"-1003",description:"",solution:"",updateTime:1523584804e3},{moduleCode:"",detailCode:"410026",description:"",solution:"",updateTime:152351743e4},{moduleCode:"",detailCode:"360102",description:"TTS初始化失败",solution:"",updateTime:1523503528e3},{moduleCode:"",detailCode:"360013",description:"设备开启了隐私保护",solution:"",updateTime:1523503507e3},{moduleCode:"",detailCode:"360010",description:"设备正在对讲中",solution:"",updateTime:1523503491e3},{moduleCode:"",detailCode:"360007",description:"TTS关闭了与客户端的连接",solution:"",updateTime:1523503475e3},{moduleCode:"",detailCode:"360006",description:"客户端接收发生错误",solution:"",updateTime:1523503457e3},{moduleCode:"",detailCode:"360005",description:"客户端发送的消息错误",solution:"",updateTime:1523503437e3},{moduleCode:"",detailCode:"360004",description:"TTS内部发生错误",solution:"",updateTime:1523503421e3},{moduleCode:"",detailCode:"360003",description:"TTS的设备端发生错误",solution:"",updateTime:1523503397e3},{moduleCode:"",detailCode:"360002",description:"对讲发起超时",solution:"",updateTime:1523503376e3},{moduleCode:"",detailCode:"360001",description:"客户端请求超时",solution:"",updateTime:1523503357e3},{moduleCode:"",detailCode:"320077",description:"",solution:"",updateTime:1523444274e3},{moduleCode:"",detailCode:"370047",description:"",solution:"",updateTime:152344048e4},{moduleCode:"",detailCode:"100002",description:"",solution:"",updateTime:1523413964e3},{moduleCode:"",detailCode:"-1004",description:"",solution:"",updateTime:1523336653e3},{moduleCode:"",detailCode:"380000",description:"",solution:"",updateTime:1523180856e3},{moduleCode:"",detailCode:"380213",description:"",solution:"",updateTime:1523180623e3},{moduleCode:"",detailCode:"380101",description:"",solution:"",updateTime:1522834231e3},{moduleCode:"",detailCode:"50047",description:"",solution:"",updateTime:1522833243e3},{moduleCode:"",detailCode:"-999",description:"",solution:"",updateTime:1522831034e3},{moduleCode:"",detailCode:"320418",description:"",solution:"",updateTime:1522829072e3},{moduleCode:"",detailCode:"-1009",description:"",solution:"",updateTime:1522746247e3},{moduleCode:"",detailCode:"320209",description:"",solution:"",updateTime:1522744395e3},{moduleCode:"",detailCode:"368006",description:"",solution:"",updateTime:15227443e5},{moduleCode:"",detailCode:"369003",description:"",solution:"",updateTime:1522736355e3},{moduleCode:"",detailCode:"405989",description:"",solution:"",updateTime:1522726571e3},{moduleCode:"",detailCode:"-1012",description:"",solution:"",updateTime:1522726203e3},{moduleCode:"",detailCode:"322016",description:"",solution:"",updateTime:1522722918e3},{moduleCode:"",detailCode:"500103",description:"",solution:"",updateTime:1522655556e3},{moduleCode:"",detailCode:"405999",description:"",solution:"",updateTime:1522654716e3},{moduleCode:"",detailCode:"321032",description:"",solution:"",updateTime:1522647732e3},{moduleCode:"",detailCode:"381101",description:"",solution:"",updateTime:1522392414e3},{moduleCode:"",detailCode:"399999",description:"",solution:"",updateTime:1522379834e3},{moduleCode:"",detailCode:"380103",description:"",solution:"",updateTime:1522312724e3},{moduleCode:"",detailCode:"360014",description:"",solution:"",updateTime:1522304341e3},{moduleCode:"",detailCode:"-1005",description:"",solution:"",updateTime:1522288195e3},{moduleCode:"",detailCode:"100005",description:"",solution:"",updateTime:1522218849e3},{moduleCode:"",detailCode:"100004",description:"",solution:"",updateTime:1522209053e3},{moduleCode:"",detailCode:"106002",description:"",solution:"",updateTime:15222062e5},{moduleCode:"",detailCode:"410030",description:"",solution:"",updateTime:1522162252e3},{moduleCode:"",detailCode:"-1002",description:"",solution:"",updateTime:152215069e4},{moduleCode:"",detailCode:"-1200",description:"",solution:"",updateTime:1522139025e3},{moduleCode:"",detailCode:"-1001",description:"",solution:"",updateTime:1522046436e3},{moduleCode:"",detailCode:"-1011",description:"",solution:"",updateTime:1522045931e3},{moduleCode:"",detailCode:"381102",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"381103",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"391205",description:"vtdu解析服务器ip失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391206",description:"vtdu描述符select失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391207",description:"vtdu文件描述符不在可读中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391208",description:"vtdu网络发生错误getsockopt",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391209",description:"vtdu描述符select超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395000",description:"cas回复信令,发现内存已经释放(和设备之间异常断开)",msg:"播放失败请重试",solution:"检查设备网络;刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395400",description:"私有化协议vtm检测私有化协议中码流类型小于0或者设备序列号为空等非法参数场景返回(app不重试取流)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395402",description:"回放找不到录像文件",msg:"回放找不到录像文件,本地存储请检查存储卡是否接触良好",solution:"检查是否有存储卡并且接触良好",updateTime:1522034841e3},{moduleCode:"",detailCode:"395403",description:"操作码或信令密钥与设备不匹配",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395404",description:"设备不在线",solution:"检查设备网络;重启设备接入萤石云",msg:"设备不在线,请检查设备网络或重启设备接入萤石云",updateTime:1522034841e3},{moduleCode:"",detailCode:"395405",description:"流媒体向设备发送或接受信令超时/cas响应超时",msg:"播放失败,请检查设备网络或重启设备",solution:"检查设备网络;重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395406",description:"token失效",msg:"播放失败请重试或重启设备",solution:"刷新重试或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395407",description:"客户端的URL格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395409",description:"预览开启隐私保护",msg:"播放失败请关闭隐私遮蔽",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395410",description:"设备达到最大连接数",solution:"请升级设备固件版本",updateTime:1522034841e3},{moduleCode:"",detailCode:"395411",description:"token无权限",msg:"播放失败",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395412",description:"session不存在",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395413",description:"验证token的他异常(不具体) ",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395415",description:"设备通道错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395416",description:"设备资源受限",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395451",description:"设备不支持的码流类型",msg:"播放失败请重试或切换设备码流",solution:"刷新重试或者切换到高清模式",updateTime:1522034841e3},{moduleCode:"",detailCode:"395452",description:"设备链接流媒体服务器失败",msg:"播放失败,请检查设备网络或重启设备或重新加载",solution:"检查设备网络,重启设备,刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395454",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395455",description:"设备通道未关联",msg:"播放失败,请检查设备通道是否关联",solution:"检查设备通道是否关联",updateTime:152222018e4},{moduleCode:"",detailCode:"395456",description:"设备通道关联设备不在线",msg:"播放失败,请检查设备通道是否上线",solution:"检查设备通道是否上线",updateTime:152222018e4},{moduleCode:"",detailCode:"395457",description:"客户端不支持端到端加密",msg:"播放失败",solution:"客户端不支持端到端加密",updateTime:152222018e4},{moduleCode:"",detailCode:"395458",description:"设备不支持当前并发ECDH密",msg:"客户端不支持端到端加密",solution:"设备不支持当前并发ECDH密",updateTime:152222018e4},{moduleCode:"",detailCode:"395459",description:"VTDU 处理ECDH 加密失败",msg:"播放失败",solution:"VTDU 处理ECDH 加密失败",updateTime:152222018e4},{moduleCode:"",detailCode:"395460",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395492",description:"设备不支持的命令",msg:"操作失败,设备不支持",solution:"",updateTime:152222018e4},{moduleCode:"",detailCode:"395500",description:"服务器处理失败",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395501",description:"流媒体vtdu达到最大负载,请扩容",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395503",description:"vtm返回分配vtdu失败",msg:"播放失败请重试",solution:"vtdu服务异常,请请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395504",description:"流媒体vtdu达到最大负载",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395505",description:"vtm ecdh解密失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395506",description:"vtm 返回IPC不支持取流(需要IPC添加NVR后支持)",msg:"播放失败,请绑定NVR使用",solution:"IPC绑定NVR使用",updateTime:1522034841e3},{moduleCode:"",detailCode:"395544",description:"设备返回无视频源",msg:"播放失败,请检查设备接触情况",solution:"设备是否接触良好; 如果一直无法解决,请联系技术支持",updateTime:1522034841e3},{moduleCode:"",detailCode:"395545",description:"视频分享时间已经结束",msg:"视频分享时间已结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395546",description:"vtdu返回达到取流并发路数限制",msg:"并发上限,请升级为企业版",solution:"请升级为企业版,放开并发限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395547",description:"vtdu返回开放平台用户并发限制",msg:"并发上限,请升级为企业版",solution:"请确定开放平台用户预览是否超过用户并发数量限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395556",description:"ticket校验失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395557",description:"回放服务器等待流头超时",msg:"播放失败请重试",solution:"刷新重试,检测设备网络,重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395558",description:"查找录像开始时间错误",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395560",description:"群组分享取流二次验证失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395561",description:"分享群组用户被锁住",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395562",description:"群组分享用户权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395563",description:"认证服务连接失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395564",description:"认证超时",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395566",description:"不在分享时间内预览",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395567",description:"分享通道被锁定",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395568",description:"未找到认证类型",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395569",description:"认证返回的参数异常",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395600",description:"分享设备不在分享时间内",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395601",description:"群组分享用户没权限",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395602",description:"群组分享权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395610",description:"接收流头失败",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395620",description:"心跳超时",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395530",description:"机房故障不可用",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395701",description:"cas信令返回格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395702",description:"SPGW请求Cas、Status透传超时",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395703",description:"SPGW请求http不通",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396001",description:"客户端参数出错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396099",description:"客户端默认错误",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396101",description:"不支持的命令",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396102",description:"设备流头发送失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396103",description:"cas/设备返回错误1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396104",description:"cas/设备返回错误-1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396105",description:"设备返回错误码3",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396106",description:"设备返回错误码4",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396107",description:"设备返回错误码5",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396108",description:"cas信令回应重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396109",description:"视频广场取消分享",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396110",description:"设备信令默认错误",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396501",description:"设备数据链路和实际链路不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396502",description:"设备数据链路重复建立连接",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396503",description:"设备数据链路端口不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396504",description:"缓存设备数据链路失败(内存块不足)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396505",description:"设备发送确认头消息重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396506",description:"设备数据先于确定头部到达",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396508",description:"设备数据头部长度非法",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396509",description:"索引找不到设备数据管理块",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396510",description:"设备数据链路vtdu内存块协议状态不匹配",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396511",description:"设备数据头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396512",description:"设备数据头部非法(较笼统)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396513",description:"设备数据长度过小",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396514",description:"设备老协议推流头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396515",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396516",description:"设备老协议索引找不到内存管理块",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396517",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396518",description:"设备数据包过大",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396519",description:"设备推流链路网络不稳定",msg:"播放失败,请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396520",description:"设备推流链路网络不稳定(默认)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396700",description:"异常数据包",msg:"播放失败,设备重启",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396701",description:"回放结束数据包",msg:"回放结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397001",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397002",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397003",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397004",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397005",description:"VTDU连接失败,或VTDU侧断开连接",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397006",description:"vtm断开连接(无需 关注)",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397007",description:"客户端发送缓冲区满(上行带宽太小)",msg:"播放失败,上行带宽过小请检查设备网络情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399000",description:"无效包,包过大",msg:" 检查设备重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399001",description:"地址不合法",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399002",description:"缺少端口",msg:" 播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"170003",description:"refreshToken不存在",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"170004",description:"refreshToken已过期",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"380011",description:"设备隐私保护中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380045",description:"设备直连取流连接数量过大",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380047",description:"设备不支持该命令",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380077",description:"设备正在对讲中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380102",description:"数据接收异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380205",description:"设备检测入参异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380209",description:"网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380212",description:"设备端网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"101007",description:"手机号未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120503",description:"正在响铃",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390016",description:"vtdu成功响应未携带流头",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101008",description:"手机号码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120504",description:"室内机正在通话",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390017",description:"无数据流,尚未使用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101009",description:"用户名与手机不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120505",description:"设备操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390018",description:"信令消息体PB解析失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101010",description:"获取验证码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120506",description:"非法命令",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390019",description:"信令消息体PB封装失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101011",description:"验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120507",description:"智能锁密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390020",description:"申请系统内存资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101012",description:"验证码失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120508",description:"开关锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390021",description:"vtdu地址尚未获取到",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101013",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120509",description:"开关锁超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390022",description:"客户端尚未支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101014",description:"密码不正确或者appKey不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120510",description:"智能锁设备繁忙",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390023",description:"获取系统socket资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101015",description:"用户被锁住",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120511",description:"远程开锁功能未打开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390024",description:"上层填充的StreamSsnId不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101021",description:"验证参数异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120600",description:"临时密码数已达上限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390025",description:"链接服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101026",description:"邮箱已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120601",description:"添加临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390026",description:"客户端请求未收到服务端应答",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101031",description:"邮箱未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120602",description:"删除临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390027",description:"链路断开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101032",description:"邮箱不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120603",description:"该临时密码不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390028",description:"没有取流链接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101041",description:"获取验证码过于频繁",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120604",description:"指纹锁射频通信失败,请稍后再试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390029",description:"流成功停止",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101043",description:"手机验证码输入错误超过规定次数",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120605",description:"其他用户正在认证中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390030",description:"客户端防串流校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102000",description:"设备不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120606",description:"验证已启动,请在120s内进行本地验证和调用添加设备接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390031",description:"应用层tcp粘包处理缓冲区满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102001",description:"摄像机不存在",solution:"摄像机未注册到萤石云平台,请仔细检查摄像机的网络配置,确保连接到网络",updateTime:152203484e4},{moduleCode:"",detailCode:"120607",description:"删除用户失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390032",description:"无效状态迁移",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102003",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"120608",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390033",description:"无效客户端状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102004",description:"设备异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390034",description:"向vtm取流流媒体信息请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102007",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120610",description:"获取临时密码列表失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390035",description:"向代理取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102009",description:"设备请求响应超时异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130001",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390036",description:"向代理保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105000",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130002",description:"手机号码已经注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390037",description:"向vtdu取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105001",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130003",description:"手机验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390038",description:"向vtdu保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105002",description:"设备验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130004",description:"终端绑定操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391001",description:"vtm地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107001",description:"邀请不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"149999",description:"数据异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391002",description:"vtm生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107002",description:"邀请验证失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"150000",description:"服务器异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391003",description:"vtm设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107003",description:"邀请用户不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160000",description:"设备不支持云台控制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391004",description:"vtm设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107004",description:"云存储连接失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160001",description:"用户无云台控制权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391005",description:"vtm解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"7005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160002",description:"设备云台旋转达到上限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391006",description:"vtm描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107006",description:"不能邀请自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160003",description:"设备云台旋转达到下限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391007",description:"vtm文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107007",description:"重复邀请",solution:"分享和删除分享必须全部由接口形式操作,如果与萤石客户端混用会造成这个问题,解决办法:在萤石客户端清空所有相关分享数据并重新添加设备,再通过接口操作即可",updateTime:152203484e4},{moduleCode:"",detailCode:"160004",description:"设备云台旋转达到左限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391008",description:"vtm网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110001",description:"参数错误",solution:"参数为空或者格式不对",updateTime:152203484e4},{moduleCode:"",detailCode:"160005",description:"设备云台旋转达到右限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391009",description:"vtm描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110002",description:"accessToken异常或过期",solution:"accessToken有效期为七天,建议在accessToken即将过期或者出现10002错误码的时候重新获取accessToken",updateTime:152203484e4},{moduleCode:"",detailCode:"160006",description:"云台当前操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391101",description:"proxy地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110004",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160007",description:"预置点个数超过最大值",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391102",description:"proxy生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110005",description:"appKey异常",solution:"确认appKey状态,不通过或者冻结状态会返回该错误码",updateTime:152203484e4},{moduleCode:"",detailCode:"160009",description:"正在调用预置点",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391103",description:"proxy设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110006",description:"ip受限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160010",description:"该预置点已经是当前位置",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391104",description:"proxy设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160011",description:"预置点不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391105",description:"proxy解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110008",description:"签名错误",solution:"①获取签名方式详见apidemo及[旧]API文档 ②注意编码格式为UTF-8",updateTime:152203484e4},{moduleCode:"",detailCode:"160013",description:"设备版本已是最新",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391106",description:"proxy描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110009",description:"签名参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160014",description:"设备正在升级",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391107",description:"proxy文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110010",description:"签名超时",solution:"请调用同步服务器时间接口进行校时",updateTime:152203484e4},{moduleCode:"",detailCode:"160015",description:"设备正在重启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391108",description:"proxy网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110011",description:"未开通萤石云服务",solution:"参照绑定流程",updateTime:152203484e4},{moduleCode:"",detailCode:"160016",description:"加密未开启,无须关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391109",description:"proxy描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110012",description:"第三方账户与萤石账号已经绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160017",description:"设备抓图失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391201",description:"vtdu地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110013",description:"应用没有权限调用此接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160018",description:"设备升级失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391202",description:"vtdu生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110014",description:"APPKEY下对应的第三方userId和phone未绑定",solution:"获取AccessToken时所用appKey与SDK所用appKey不一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160019",description:"加密已开启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391203",description:"vtdu设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110017",description:"appKey不存在",solution:"请填写在官网申请的应用秘钥",updateTime:152203484e4},{moduleCode:"",detailCode:"160020",description:"不支持该命令",solution:"请确认设备是否支持该命令",updateTime:152203484e4},{moduleCode:"",detailCode:"391204",description:"vtdu设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110018",description:"AccessToken与Appkey不匹配",solution:"请检查获取accessToken对应的appKey和SDK中设置的appKey是否一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160023",description:"订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110019",description:"密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160024",description:"取消订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110020",description:"请求方法为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160025",description:"客流统计配置失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110021",description:"ticket校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110022",description:"透传目的地非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160027",description:"设备正在镜像操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110024",description:"无透传权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160028",description:"设备正在键控动作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110025",description:"appKey被禁止使用通明通道",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160029",description:"设备处于语音对讲状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160030",description:"卡密输入错误次数过多,24小时后再输入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160031",description:"卡密信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160032",description:"卡密状态不对或已过期",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160033",description:"卡密非卖品,只能开通对应的绑定设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110030",description:"appKey和appSecret不匹配",solution:"请检查appKey和appSecret是否对应",updateTime:152203484e4},{moduleCode:"",detailCode:"160035",description:"购买云存储服务失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110031",description:"子账户或萤石用户没有权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160040",description:"添加的设备不在同一局域网",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110032",description:"子账户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110033",description:"子账户未设置授权策略",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160042",description:"添加的设备密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110034",description:"子账户已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160043",description:"添加的设备超出最大数量",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110035",description:"获取子账户AccessToken异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160044",description:"添加的设备网络不可达超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110036",description:"子账户被禁用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110051",description:"无权限进行抓图",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160047",description:"码流类型不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120002",description:"设备不存在",solution:"①设备没有注册到萤石云平台,请检查下设备网络参数,确保能正常连接网络②设备序列号不存在",updateTime:152203484e4},{moduleCode:"",detailCode:"160048",description:"带宽超出系统接入带宽",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120003",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160049",description:"IP或者端口不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120004",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160050",description:"添加的设备版本不支持需要升级才能接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120005",description:"安全认证失败,需进行SDK安全认证",solution:"已去掉安全验证",updateTime:152203484e4},{moduleCode:"",detailCode:"160051",description:"添加的设备不支持接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120006",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160052",description:"添加的设备通道号出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120007",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"160053",description:"添加的设备分辨率不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120008",description:"设备响应超时",solution:"设备响应超时,请检测设备网络或重试",updateTime:152203484e4},{moduleCode:"",detailCode:"160054",description:"添加的设备账号被锁定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120009",description:"子账号不能添加设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160055",description:"添加的设备取码流出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120010",description:"设备验证码错误",solution:"验证码在设备标签上,六位大写字母,注意大小写",updateTime:152203484e4},{moduleCode:"",detailCode:"160056",description:"删除设备失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120012",description:"设备添加失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160057",description:"删除的设备未关联",solution:"检查IPC与NVR是否有关联关系",updateTime:152203484e4},{moduleCode:"",detailCode:"120013",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160060",description:"地址未绑定",solution:"请前往官网设置直播",updateTime:152203484e4},{moduleCode:"",detailCode:"120014",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120015",description:"设备不支持该功能",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160062",description:"该通道直播已开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120016",description:"当前设备正在格式化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160063",description:"直播未使用或直播已关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120017",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160070",description:"设备不能转移给自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120018",description:"该用户不拥有该设备",solution:"确认设备是否属于用户",updateTime:152203484e4},{moduleCode:"",detailCode:"160071",description:"设备不能转移,设备与其他设备存在关联关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400001",description:"参数为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120019",description:"设备不支持云存储服务",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160072",description:"设备不能转移,通道被分享给其他用户或者分享到视频广场",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400002",description:"参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120020",description:"设备在线,被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160073",description:"云存储转移失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400025",description:"设备不支持对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120021",description:"设备在线,但是未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160080",description:"当前正在声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400029",description:"没有初始化或资源被释放",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120022",description:"设备在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160081",description:"当前正在轨迹巡航",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400030",description:"json解析异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120023",description:"设备不在线,未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160082",description:"设备正在响应本次声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400031",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120024",description:"设备不在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160083",description:"当前正在开启隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400032",description:"设备信息异常为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120025",description:"重复申请分享",solution:"确认设备是否由添加过该设备且申请过分享的账户下是否还存在分享记录",updateTime:152203484e4},{moduleCode:"",detailCode:"160084",description:"当前正在关闭隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400034",description:"取流超时",solution:"一般是由于网络状况不好导致,可以尝试下让用户重新播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120026",description:"视频广场不存在该视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"380290",description:" 连接CAS服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400035",description:"设备已加密,需要输入验证码",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120027",description:"视频转码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361001",description:"对讲服务端排队超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400036",description:"播放验证码错误",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120028",description:"设备固件升级包不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361002",description:"对讲服务端处理超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400037",description:"surfacehold错误",solution:"请检查是否是播放之前销毁了surface,收到此错误也可以重新建立surface后播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120029",description:"设备不在线,但是已经被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361003",description:"设备链接对讲服务器超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400100",description:"未知错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120030",description:"该用户不拥有该视频广场视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361004",description:"服务器内部错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400200",description:"player sdk出错,这种错误一般开发者也是无法解决,不具体分类传出,传一个统一的inner错误码出去",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120031",description:"开启终端绑定,硬件特征码验证失败",solution:"请在萤石客户端关闭终端绑定,参考此步骤",updateTime:152203484e4},{moduleCode:"",detailCode:"361005",description:"解析消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400300",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120032",description:"该用户下通道不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361006",description:"请求重定向--需要向其他服务申请对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400901",description:"设备不在线,可以提示用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120033",description:"无法收藏自己分享的视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361007",description:"请求url非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400902",description:"accesstoken异常或失效,需要重新获取accesstoken,并传入到sdk",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120034",description:"该用户下无设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361008",description:"token失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400903",description:"当前账号开启了终端绑定,只允许指定设备登录操作,提示用户登录i.ys7.com解除终端绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120090",description:"用户反馈失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361009",description:"设备验证码或者通信秘钥不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400904",description:"设备正在对讲中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120095",description:"APP包下载失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361010",description:"设备已经在对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400905",description:"设备开启了隐私保护,不允许预览、对讲等",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120096",description:"APP包信息删除失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361011",description:"设备10s响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120101",description:"视频不支持分享给本人",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361012",description:"设备不在线",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320002",description:"参数无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120102",description:"无相应邀请信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361013",description:"设备开启隐私保护拒绝对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320003",description:"暂不支持此操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120103",description:"好友已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361014",description:"token无权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320004",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120104",description:"好友不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361015",description:"设备返回session不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320005",description:"创建CAS session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120105",description:"好友状态错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361016",description:"验证token其他异常错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320006",description:"创建cloud session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120106",description:"对应群组不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361017",description:"服务端监听设备建立端口超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320007",description:"token失效",solution:"重新设置token后再重试",updateTime:152203484e4},{moduleCode:"",detailCode:"120107",description:"不能添加自己为好友",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361018",description:"设备链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320008",description:"token池里面没有token,请传入token",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361019",description:"对讲服务端不支持的信令消息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320009",description:"传入新的INIT_PARAM并reset(保留,目前未用)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120109",description:"对应分享不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361020",description:"对讲服务端解析对讲请求未携带会话描述能力集",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320010",description:"请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120110",description:"好友群组不属于当前用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361021",description:"对讲服务端优先能力集结果为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320011",description:"500毫秒后请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120111",description:"好友不是等待验证状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361022",description:"cas链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320012",description:"token池已满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120112",description:"添加应用下的用户为好友失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361023",description:"对讲服务端分配对讲会话资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320013",description:"P2P client超过限制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120201",description:"操作报警信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361024",description:"对讲服务端解析信令消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320014",description:"sdk未初始化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120202",description:"操作留言信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390001",description:"通用错误返回",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320015",description:"超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120301",description:"根据UUID查询报警消息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390002",description:"入参为空指针",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320016",description:"正在打洞中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120302",description:"根据UUID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390003",description:"入参值无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320017",description:"没有视频文件头(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120303",description:"根据FID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390004",description:"信令消息解析非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320018",description:"解码错误/超时(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120305",description:"设备ip解析错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390005",description:"内存资源不足",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320019",description:"取消(保留,用户不用处理)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120401",description:"用户云空间信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390006",description:"协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320020",description:"播放过程中预连接被用户清除预操作信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120402",description:"云空间操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390007",description:"设备序列号长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320021",description:"流加密码不对",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120403",description:"用户目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390008",description:"取流url长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320022",description:"未传入播放窗口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120404",description:"要操作的目标目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390009",description:"解析vtm返回vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"100200",description:"操作成功",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120405",description:"要删除的文件信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390010",description:"解析vtm返回级联vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101001",description:"用户名不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120406",description:"已开通云存储",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390011",description:"解析vtm返回会话标识长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101002",description:"用户名已被占用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120407",description:"开通记录失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390012",description:"vtdu返回流头长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101003",description:"密码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120500",description:"获取数据错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390013",description:"vtdu会话长度非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101004",description:"密码为同一字符",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120501",description:"开锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390014",description:"回调函数未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101006",description:"手机号码已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120502",description:"室内机未收到呼叫",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390015",description:"vtdu成功响应未携带会话标识",solution:"",updateTime:152203484e4}],A3="200",a1="操作成功!",C1={data:I3,code:A3,msg:a1},y1=function(){function R(M,d){a(this,R),this.coreX=M,this.coreY=d,console.log("ErrorCode",C1)}return r(R,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchErrorInfo",value:function(d){return C1.data.find(function(f){return f.detailCode.substr(-4)==d})}}]),R}(),S1={color:"red",backgroundColor:"red",activeColor:"red",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-0",iconId:"deviceID",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"},{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-1",iconId:"deviceName",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},l1={color:"blue",backgroundColor:"blue",activeColor:"blue",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-footer-0",iconId:"play",part:"left",defaultActive:0,isrender:0,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},E1={header:S1,footer:l1},t0=function R(M){this.jsPlugin=M;var d={isMouseDown:!1,isOver:!1,mousePosition:null,oldTime:null,nowTime:null,moved:null,hoverTime:"2018-12-07 12:00:00",hoverLeft:0,timeTipShow:!1,randomNum:123,timeWidthTbls:[60,1800,3600,86400],timeUnits:["范围: 1分钟; 单位: 秒","范围: 30分钟; 单位: 分钟","范围: 1小时; 单位: 分钟","范围: 1天; 单位: 小时","范围: 3天; 单位: 小时"],drawPen:null,timeSection:[],canvasWidth:null,canvasHeight:null,timeTips:null},f=this;Object.keys(d).forEach(function(y){f[y]=d[y]}),this.options={width:this.canvasWidth,height:48,time:new Date().getTime(),timeSection:[],timeWidth:0},R.prototype.subTime=function(y){return y<10?"0"+y:y},R.prototype.tranTime=function(y){var w=y;if(y){var _=new Date(y);w=_.getFullYear()+"/"+(_.getMonth()+1)+"/"+_.getDate()+" "+this.subTime(_.getHours())+":"+this.subTime(_.getMinutes())+":"+this.subTime(_.getSeconds())}return w},R.prototype.init=function(y){y.width&&document.getElementById(y.id).setAttribute("width",parseInt(y.width,10)+"px");var w=this,_=this.options;w.randomNum=(Math.random()+"").split(".").join(""),w.timeWidthTblIndex=_.timeWidth;var E=document.querySelector("#".concat(this.jsPlugin.id,"-canvas"));w.drawPen=E.getContext("2d"),w.nowTime=_.time||Date.now(),w.timeSection=_.timeSection||[],w.canvasWidth=E.offsetWidth,w.canvasHeight=E.offsetHeight,w.updata(),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousemove",function(r2){w.options.readOnly||w.mousemove(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseover",function(r2){w.options.readOnly||w.mouseover(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseleave",function(r2){w.options.readOnly||w.mouseleave(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousedown",function(r2){w.options.readOnly||w.mousedown(r2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseup",function(r2){if(!w.options.readOnly){var n2=y.onChange;w.mouseUpFn(r2,n2)}})},R.prototype.setWidth=function(y){var w=this,_=this;y.width&&(document.getElementById(this.jsPlugin.id).style.width=y.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=y.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=y.width,_.canvasWidth=y.width,setTimeout(function(){w.updata({time:new Date})},500))},R.prototype.mousemove=function(y){if(this.isMouseDown&&this.isOver){var w=this.mousePosition-y.pageX;if(w===0)return;var _=0;switch(this.timeWidth){case 60:_=1/10;break;case 1800:_=1/20*60;break;case 3600:_=1/20*60;break;case 86400:_=1/30*60*60;break}var E=new Date(this.oldTime).getTime()+w*_*1e3;this.updata({time:E}),this.moved=!0}else{var r2=parseInt(document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).offsetLeft,10);this.mousePosition=y.pageX-r2,this.updata()}},R.prototype.mousedown=function(y){this.isMouseDown=!0,this.mousePosition=y.pageX,this.oldTime=this.nowTime},R.prototype.mouseover=function(y){this.isOver=!0},R.prototype.mouseleave=function(y){this.isOver=!1,this.isMouseDown=!1,this.updata()},R.prototype.changeSize=function(y){console.log("changeSize",y),this.options.timeWidth=y,this.updata({timeWidth:y})},R.prototype.mouseUpFn=function(y,w){if(this.isMouseDown&&(this.isMouseDown=!1,this.moved)){this.moved=!1;var _=this.subTime(new Date(this.nowTime).getHours())+":"+this.subTime(new Date(this.nowTime).getMinutes())+":"+this.subTime(new Date(this.nowTime).getSeconds()),E=new Date(this.oldTime).getFullYear()+"/"+(new Date(this.oldTime).getMonth()+1)+"/"+new Date(this.oldTime).getDate();this.nowTime=new Date("".concat(E," ").concat(_)),this.updata({time:this.nowTime}),this.oldTime=this.nowTime,console.log("nowTime",new Date(this.nowTime),"".concat(E," ").concat(_)),w(this.nowTime)}},R.prototype.readOnly=function(y){console.log("更改为只读"),this.options.readOnly=!0,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="not-allowed"},R.prototype.unReadOnly=function(y){console.log("更改为只读"),this.options.readOnly=!1,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="pointer"},R.prototype.run=function(y){this.isMouseDown||this.updata(y)},R.prototype.getTime=function(y){console.log("this",this),console.log("当前时间",new Date(this.nowTime))},R.prototype.updata=function(y){var w=this;y=y||{},w.nowTime=y.time||w.nowTime,w.timeSection=y.timeSection||w.timeSection,w.timeWidthTblIndex=y.timeWidth||w.timeWidthTblIndex,w.timeWidth=w.timeWidthTbls[y.timeWidth||w.timeWidthTblIndex],w.timeUnit=w.timeUnits[y.timeWidth||w.timeWidthTblIndex],y.timeWidth===0&&(w.timeWidthTblIndex=0,w.timeWidth=w.timeWidthTbls[0],w.timeUnit=w.timeUnits[0]),w.drawPen.fillStyle="#000000",w.drawPen.fillRect(0,0,w.canvasWidth,w.canvasHeight),w.drawScale(),w.drawRecord(),w.drawOtherMsg(),document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=w.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=w.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.height=w.options.height+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.height=w.options.height+"px"},R.prototype.drawSolidLine=function(y,w,_,E,r2,n2){this.drawPen.save(),this.drawPen.strokeStyle=n2,this.drawPen.lineWidth=r2,this.drawPen.beginPath(),this.drawPen.moveTo(y,w),this.drawPen.lineTo(_,E),this.drawPen.stroke(),this.drawPen.restore()},R.prototype.drawString=function(y,w,_,E,r2){this.drawPen.font="12px serif",this.drawPen.fillStyle="#ffffff",this.drawPen.textAlign=E||"left",this.drawPen.fillText(y,w,_+10)},R.prototype.drawScale=function(){var y=this,w="rgba(255,255,255)",_=new Date(y.nowTime),E=_.getFullYear(),r2=_.getSeconds(),n2=_.getMinutes(),o2=_.getHours(),t2=_.getDate(),X=0;switch(y.timeWidth){case 60:{var R2=parseInt(y.canvasWidth/10);_.setSeconds(_.getSeconds()-parseInt(R2/2,10)),t2=_.getDate(),o2=_.getHours(),n2=_.getMinutes(),r2=_.getSeconds();for(var y2=0;y2w.canvasWidth&&(y2=w.canvasWidth),y2<=0&&(y2=0),y2}},R.prototype.drawOtherMsg=function(){this.drawSolidLine(this.canvasWidth/2,0,this.canvasWidth/2,this.canvasHeight,2,"#1890FF"),this.drawPen.shadowBlur=0,this.isOver&&!this.isMouseDown?(this.mouseTime=this.mousePosition/this.canvasWidth*this.timeWidth*1e3+this.nowTime-this.timeWidth/2*1e3,this.mouseString=this.tranTime(this.mouseTime),this.hoverTime=this.mouseString,this.hoverLeft=this.mousePosition-60,this.timeTipShow=!0):this.timeTipShow=!1}},o0=function(){function R(M){if(a(this,R),this.jSPlugin=M,!document.getElementById("".concat(this.jSPlugin.id,"-audioControls")))return!1;this.currentTimeWidth=0,this.date=new Date,this.datepickerVisible=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),this.recInit()}return r(R,[{key:"recInit",value:function(){var d=this;this.currentTimeWidth=0;var f=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100,y=document.createElement("div");y.style="display:inline-block;height:48px;",y.id=this.jSPlugin.id+"-canvas-container";var w=document.createElement("canvas");w.id=this.jSPlugin.id+"-canvas",w.className="time-line-body",w.height="48",w.width=f,w.style="display:inline-block;",w.innerHTML="该浏览器不支持canvas",y.appendChild(w),g(y,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")));var _=document.createElement("div");_.className="timeline-controls",_.style="display:flex;width:100px;height:48px;text-align:center;line-height: 48px;vertical-align: top;background: #000000;";var E=` +
+ + + add + + + + + + + + + + + + + + reduce + + + + + + + + +
+ + +`);_.innerHTML=E,g(_,y),this.timeLine=new t0(this.jSPlugin),this.timeLine.init({id:this.jSPlugin.id+"-canvas",width:f,onChange:function(X){console.log("time",X,new Date(X).Format("yyyyMMddhhmmss"));var R2=new Date(X).Format("yyyyMMddhhmmss");if(console.log("----------------this.jSPlugin.url",d.jSPlugin.url),v2(d.jSPlugin.url).type==="cloud.rec"||d.jSPlugin.capacity&&d.jSPlugin.capacity.support_seek_playback=="1"){var y2=function(){d.jSPlugin.seek(R2.substr(8,6),"235959"),d.unSyncTimeLine(),setTimeout(function(){d.syncTimeLine()},6e3)};d.seekTimer?clearTimeout(d.seekTimer):y2(),d.seekTimer=setTimeout(function(){y2(),clearTimeout(d.seekTimer),d.seekTimer=null},d.seekFrequency)}else{var d2=function(){setTimeout(function(){d.disabled=!1},d.seekFrequency)},h2=function(u2){d.disabled=!0,d.jSPlugin.pause().then(function(){console.log("暂停成功"),d.jSPlugin.resume(R2).then(function(A){console.log("恢复成功:",A),d.jSPlugin.Theme&&d.jSPlugin.Theme.setDecoderState({play:!0}),d.jSPlugin.Theme&&d.jSPlugin.Theme.decoderState.state.sound&&d.jSPlugin.openSound(),u2&&u2()}).catch(function(A){console.log("恢复失败",A)})}).catch(function(){console.log("暂停失败"),d.jSPlugin.resume(R2).then(function(A){console.log("恢复成功"),d.jSPlugin.Theme&&d.jSPlugin.Theme.setDecoderState({play:!0}),u2&&u2()}).catch(function(A){console.log("恢复失败",A)})})};d.disabled?(console.log("操作频繁,等待2秒后执行"),d.seekTimer&&clearTimeout(d.seekTimer),d.seekTimer=setTimeout(function(){h2(d2)},d.seekFrequency)):h2(d2)}}}),this.syncTimeLine(),m("".concat(this.jSPlugin.staticPath,"/rec/datepicker.min.css")),u("".concat(this.jSPlugin.staticPath,"/rec/jquery.min.js"),function(){u("".concat(d.jSPlugin.staticPath,"/rec/datepicker.js"),function(){u("".concat(d.jSPlugin.staticPath,"/rec/datepicker.zh-CN.js"),function(){!document.getElementsByClassName("datepicker-container")[0]&&$("#".concat(d.jSPlugin.id,"-datepicker")).datepicker&&$("#".concat(d.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",date:new Date(p("begin",d.jSPlugin.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(d.jSPlugin.id,"-wrap"))}),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),d.datepickerVisible=!1,$("#".concat(d.jSPlugin.id,"-datepicker")).on("pick.datepicker",function(t2){console.log("重新选择日期",t2.date,new Date(t2.date).Format("yyyyMMdd"),new Date(document.getElementById("".concat(d.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")),t2.date>new Date||new Date(t2.date).Format("yyyyMMdd")===new Date(document.getElementById("".concat(d.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")?t2.preventDefault():(document.getElementById("".concat(d.jSPlugin.id,"-datepicker")).value=new Date(t2.date).Format("yyyy-MM-dd"),d.renderRec(t2.date),d.jSPlugin.decoderState&&d.jSPlugin.decoderState.state?d.jSPlugin.decoderState.state.cloudRec?d.jSPlugin.changePlayUrl({begin:new Date(t2.date).Format("yyyyMMdd"),type:"cloud.rec"}):d.jSPlugin.decoderState.state.rec?d.jSPlugin.changePlayUrl({begin:new Date(t2.date).Format("yyyyMMdd"),type:"rec"}):d.jSPlugin.changePlayUrl({begin:new Date(t2.date).Format("yyyyMMdd")}):d.jSPlugin.changePlayUrl({begin:new Date(t2.date).Format("yyyyMMdd")})),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),d.datepickerVisible=!1,d.jSPlugin.decoderState&&d.jSPlugin.decoderState&&d.jSPlugin.decoderState.state&&d.jSPlugin.decoderState.state.zoom&&(d.jSPlugin.setDecoderState({zoom:!1}),d.jSPlugin.Zoom.stopZoom())}),$("#".concat(d.jSPlugin.id,"-datepicker")).off("click").on("click",function(t2){console.log("点击日期"),d.datepickerVisible?document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"):document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),d.datepickerVisible=!d.datepickerVisible})})})}),document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-add")).onclick=function(){var t2=d.currentTimeWidth;t2<3&&d.timeLine.changeSize(++d.currentTimeWidth)},document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-sub")).onclick=function(){var t2=d.currentTimeWidth;t2>0&&d.timeLine.changeSize(--d.currentTimeWidth)};var r2=p("begin",this.jSPlugin.url)||new Date().Format("yyyyMMdd");this.renderRec("".concat(r2.slice(0,4),"-").concat(r2.slice(4,6),"-").concat(r2.slice(6,8))),this.observer=new MutationObserver(function(t2,X){d.recAutoSize()});var n2={attributes:!0,attributeOldValue:!0,attributeFilter:["style"]},o2=document.getElementById("".concat(this.jSPlugin.id));this.observer.observe(o2,n2)}},{key:"setDatepickerDate",value:function(d){if(document.getElementsByClassName("datepicker-container")[0]){var f=document.getElementsByClassName("datepicker-container")[0],y=f.parentNode;y.removeChild(f),document.getElementById("".concat(this.jSPlugin.id,"-datepicker")).value=d.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"),$("#".concat(this.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",defaultDate:d,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(this.jSPlugin.id,"-wrap"))})}}},{key:"datepickerHide",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),this.datepickerVisible=!1}},{key:"datepickerShow",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),this.datepickerVisible=!0}},{key:"recAutoSize",value:function(){var d=this;if(document.getElementById("".concat(this.jSPlugin.id,"-canvas"))){var f=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100;f!==parseInt(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width)&&(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width=f,this.timeLine.init({id:"".concat(this.jSPlugin.id,"-canvas"),width:f,onChange:function(w){console.log("time",w,new Date(w).Format("yyyyMMddhhmmss")),console.log("jSPlugin",d.jSPlugin);var _=new Date(w).Format("yyyyMMddhhmmss");d.jSPlugin.changePlayUrl({begin:_})}}),this.renderRec(this.date),this.syncTimeLine())}}},{key:"syncTimeLine",value:function(){var d=this;this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer),this.jSPlugin.recTimer=setInterval(function(){var f=d.jSPlugin.getOSDTime();f.then(function(y){var w=y.data;w===-1?console.log("获取播放时间错误"):w>0&&d.timeLine.run({time:new Date(w>1e12?w:w*1e3)})}).catch(function(y){})},1e3)}},{key:"unSyncTimeLine",value:function(){this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer)}},{key:"renderRec",value:function(d){var f=this;this.date=d;var y=this,w=new Date(new Date(d).Format("yyyy-MM-dd 00:00:00").replace(/-/g,"/")).getTime(),_=new Date(new Date(d).Format("yyyy-MM-dd 23:59:59").replace(/-/g,"/")).getTime();this.timeLine.getRecord([],w,_),console.log("-----------233---------this.jSPlugin.url",this.jSPlugin.url);var E={accessToken:this.jSPlugin.accessToken,recType:v2(this.jSPlugin.url).type==="cloud.rec"?1:2,deviceSerial:v2(this.jSPlugin.url).deviceSerial,channelNo:v2(this.jSPlugin.url).channelNo,startTime:w,endTime:_,version:"2.0"},r2=function(t2){if(t2.data&&t2.data.files&&t2.data.files.length>0){var X=t2.data.files,R2=new Date().getTime(),y2=t2.data.isAll;if(y2)f.timeLine.getRecord(X,w,_);else{var d2=function h2(){function B2(u2){u2.data&&u2.data.files&&u2.data.files.length>0?u2.data.isAll==!1?(u2.data.files&&(X=X.concat(u2.data.files)),R2=u2.data.nextFileTime>0?u2.data.nextFileTime:new Date().getTime(),h2()):(console.log("云存储执行渲染片段"),y.timeLine.getRecord(X,w,_)):y.timeLine.getRecord(X,w,_)}E.startTime=R2,_2(this.jSPlugin.env.domain+"/api/lapp/video/by/time","POST",E,"",B2)};d2()}f.timeLine.run({time:new Date(w)})}else t2.data&&t2.data.length>0&&(console.log("获取本地录像片段成功",t2),y.timeLine.getRecord(t2.data,w,_),y.timeLine.run({time:new Date(w)}))},n2=this.jSPlugin.env.domain+"/api/lapp/video/by/time";_2(n2,"POST",E,"",r2)}}]),R}(),G1=function(M){console.log("执行TimeLine - params",M),this.state={id:M.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var d=this;this.setState=function(f){Object.keys(f).forEach(function(y){d.state[y]=f[y],y==="scrollTop"&&document.getElementById("time-line-item").parentNode.scrollTo(0,f[y]),y==="current"&&(document.getElementById("time-line-current").innerHTML=f[y])})},this.setDisabled=function(f){this.setState({disabled:f}),document.getElementById("time-line-item").parentNode.style.overflowY=f?"hidden":"scroll"},this.timeToSecond=function(f){var y=f.split(":"),w=Number(y[0]),_=Number(y[1]),E=Number(y[2]);return w*60*60+_*60+(E||0)},this.minuteToTime=function(f){var y=Math.floor(f/60),w=f%60;return(y>9?y:"0"+y)+":"+(w>9?w:"0"+w)},this.timeToMinute=function(f){var y=f.split(":"),w=Number(y[0]),_=Number(y[1]);return w*60+_},this.getPalyParam=M.getPalyParam,document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(d.state.disabled)return!1;M.ontouchstart()},document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(d.state.disabled)return!1;M.ontouchmove()},document.getElementById("time-line-item").parentNode.ontouchend=function(){if(d.state.disabled)return!1;var f,y=new Promise(function(w,_){var E=-1;f=setInterval(function(){var r2=document.getElementById("time-line-item").parentNode.scrollTop;r2!==E?(console.log("scolling",r2,E),E=r2):(console.log("scoll stop",r2,E),clearInterval(f),w(r2))},100)});y.then(function(w){console.log("scollPromise: then",w,d),d.rectTopTotime(w),console.log("页面滚动实际高度",w,d.state),d.getPalyParam({current:d.state.current})}),M.ontouchend()},this.matchTimeDot()};G1.prototype.changeScale=function(R){this.setState({timelag:R}),this.matchTimeDot()},G1.prototype.setDateLine=function(R,M){R.length>0?(typeof M=="undefined"&&(M=R.length-1),this.setState({availTimeLine:R,start:R[M].st,end:R[M].et,current:R[M].st}),console.log("this.state",this.state),this.matchRecTimeDot(),this.primaryOffsetH()):(this.setState({availTimeLine:[]}),console.log("this.state",this.state),this.matchRecTimeDot())},G1.prototype.matchTimeDot=function(){var R=this.state,M=R.start,d=R.end,f=R.timelag;R.availTimeLine,console.log("start",M,"end",d);var y=[],w=this.timeToMinute(d);w=Math.floor(w/f)*f;for(var _=w;_>=0;){var E=0,r2=0,n2=[];_==w&&(E=70),_==0&&(r2=230);var o2=this.minuteToTime(_);y.push({id:_,current:o2,label:"a"+_,marginTop:E,marginBottom:r2,recArr:n2}),_=_-f}this.setState({timeArr:y}),this.renderDateLine()},G1.prototype.matchRecTimeDot=function(){var R=this.state,M=R.start,d=R.end,f=R.timelag,y=R.availTimeLine,w=R.timeArr;console.log("start",M,"end",d);var _=[],E=y.length;if(E===0)for(var r2=0;r2y2&&w[r2].id')}),r2+="
').concat(y.current,"
"),_.innerHTML=r2,f.appendChild(_)})},G1.prototype.primaryOffsetH=function(){var R=this.state,M=R.start,d=R.timelag,f=R.timeArr,y=f[0].current,w=this.timeToSecond(y),_=this.timeToSecond(M),E=w-_,r2=Math.ceil(E/d)+60;this.setState({scrollTop:r2}),console.log("起始偏移量",r2)},G1.prototype.currentOffsetH=function(){var R=this.state,M=R.current,d=R.timelag,f=R.timeArr,y=f[0].current,w=this.timeToSecond(y),_=this.timeToSecond(M),E=w-_,r2=Math.ceil(E/d)+60;this.setState({scrollTop:r2})},G1.prototype.rectTopTotime=function(R){var M=this.state.timelag,d=Math.floor(R/60),f=R-d*60,y,w;if(console.log("index:",d,"offsetH:",f),f==0)y=this.state.timeArr[d-1].current,w=0;else{var _=this.state.timeArr[d].current,E=this.timeToMinute(_),r2=60-f,n2=r2*M,o2=Math.floor(n2/60)+E,t2=Math.floor(n2/60)*60;w=Math.ceil(n2-t2),y=this.minuteToTime(o2)}this.setState({current:y+":"+(w>9?w:"0"+w),scrollTop:R})},G1.prototype.stepScrollTimeLine=function(R){this.setState({current:R}),this.currentOffsetH()},G1.prototype.secondCountDown=function(R){var M=this.state.current,d=M.split(":"),f=Number(d[0]),y=Number(d[1]),w=Number(d[2]),_=f*60*60+y*60+w+1,E=Math.floor(_/3600),r2=Math.floor((_-E*3600)/60),n2=_-E*3600-r2*60;this.setState({current:(E>9?E:"0"+E)+":"+(r2>9?r2:"0"+r2)+":"+(n2>9?n2:"0"+n2)})};var Q1=G1;Date.prototype.Format=function(R){var M={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(R)&&(R=R.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var d in M)new RegExp("("+d+")").test(R)&&(R=R.replace(RegExp.$1,RegExp.$1.length==1?M[d]:("00"+M[d]).substr((""+M[d]).length)));return R};function d3(R){var M=new Date(R),d=M.getHours(),f=M.getMinutes(),y=M.getSeconds();return(d>9?d:"0"+d)+":"+(f>9?f:"0"+f)+":"+(y>9?y:"0"+y)}var F3=function(){function R(M,d,f){var y=this;a(this,R),this.changeRecSpeed=d,this.resetMobileZoomStatus=f,this.isMobile=!0,this.jSPlugin=M,this.timer=null,this.date=new Date().Format("yyyy-MM-dd"),this.begin=(new Date().Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=(new Date().Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=v2(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency);var w=document.createElement("style");if(w.innerHTML=` + body{ + padding: 0; + margin: 0; + } + .time-line-container { + text-align: left; + height: 300px; + /* outline: 1px solid red; */ + /* background: gray; */ + position: relative; + /* padding-top: 60px; */ + margin-top: 20px; + } + + .time-line-container .time-line-item-container { + display: inline-block; + /* height: 400px; */ + width: 30%; + /* background: indianred; */ + overflow-y: scroll; + overflow-x: hidden; + /* padding-top: 60px; */ + height: 300px; + box-sizing: border-box; + white-space: nowrap; + position: relative; + } + + .time-line-container .time-line-item-container::-webkit-scrollbar { + width: 0px; + /*滚动条宽度*/ + height: 0px; + /*滚动条高度*/ + } + + .time-line-item .time-item { + position: relative; + box-sizing: border-box; + height: 60px; + font-size: 12px; + color: rgb(150, 150, 150); + border-right: 6px solid; + border-right-color: #ddd; + } + + .time-line-item .time-item .scale { + width: 6px; + height: 9px; + border-bottom: 1px solid #ccc; + float: right; + clear: both; + } + + .time-line-item .time-item .item-unavail { + width: 6px; + position: absolute; + left: 100%; + background-color: #ddd; + } + + .time-line-container .current-time { + position: absolute; + left: 0; + top: 40px; + height: 29px; + /* line-height: 58px; */ + border-bottom: 1px solid #648FFC; + width: 60%; + margin-left: 26%; + } + + .time-line-container .current-time .current-time-bg { + position: relative; + top: 15px; + width: 100px; + height: 29px; + line-height: 29px; + left: -70px; + font-size: 12px; + color: #2C2C2C; + } + + .time-line-container .current-time .current-time-bg::before { + content: ''; + display: inline-block; + width: 6px; + height: 6px; + border-radius: 100%; + background: #648FFC; + top: 11px; + position: absolute; + right: 30px; + } + + .date-switch-container { + height: 40px; + position: relative; + text-align: center; + margin: 20px 10px; + } + + .date-switch-container .current-date { + line-height: 40px; + height: 22px; + font-size: 16px; + color: #2C2C2C; + text-align: center; + font-weight: bold; + } + + .date-container { + width: 40px; + height: 40px; + position: absolute; + right: 0; + top: 0; + } + + .rec-type-container { + display: flex; + justify-content: space-between; + } + + .rec-type-container .rec-type-text { + padding: 0 15px; + font-size: 12px; + color: #2C2C2C; + } + + .rec-type-container .rec-type-switch { + padding: 0 20px; + } + + .date-container input { + position: absolute; + opacity: 0; + display: inline-block; + width: 40px; + height: 40px; + z-index: 10; + left: 0; + } + + .date-container label { + position: absolute; + left: 0; + top: 0; + /* display: none; */ + z-index: 0; + } + + .date-icon { + display: inline-block; + width: 40px; + height: 40px; + background: url('https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png') no-repeat 100% 100%; + } + .select-container { + padding: 10px; + display: flex; + justify-content: space-between; + } + + .advice { + height: 24px; + width: 70px; + display: flex; + justify-content: space-between; + line-height: 24px; + background: #F8F8F8; + border-radius: 8px; + } + + .advice span { + width: 40px; + display: inline-block; + } + + input[type="checkbox"]:not(:checked)+.advice span:first-child { + box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); + border-radius: 8px; + text-align: center; + + } + + input[type="checkbox"]:checked+.advice span:last-child { + box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); + border-radius: 8px; + text-align: center; + } + + input[type="checkbox"]:not(:checked)+.advice span:first-child svg { + fill: #648FFC !important; + } + + input[type="checkbox"]:checked+.advice span:last-child svg { + fill: #648FFC !important; + }`,document.getElementsByTagName("head")[0].appendChild(w),p("begin",this.jSPlugin.url)){var _=p("begin",this.jSPlugin.url);this.date=_.slice(0,4)+"/"+_.slice(4,6)+"/"+_.slice(6,8),this.begin=this.date+" ".concat(_.slice(8,10)||"00",":").concat(_.slice(10,12)||"00",":").concat(_.slice(12,14)||"00"),this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(p("end",this.jSPlugin.url)){var E=p("end",this.jSPlugin.url);this.end=this.date+" ".concat(E.slice(8,10)||"23",":").concat(E.slice(10,12)||"59",":").concat(E.slice(12,14)||"59"),this.initEnd=this.end}var r2=document.createElement("div");r2.id="date-switch-container-wrap",r2.className="date-switch-container-wrap",r2.style="",r2.innerHTML=` +
+
今日录像
+
+ + +
+
+ `,g(r2,document.getElementById("".concat(this.jSPlugin.id,"-wrap")));var n2=document.createElement("div");n2.id="rec-type-container-wrap",n2.className="rec-type-container-wrap",n2.style="",n2.innerHTML=` +
+
0个录像
+
+ +
+
+ `,g(n2,r2);var o2=document.createElement("div");o2.id="mobile-rec-wrap",o2.className="mobileRec-wrap",o2.style="",o2.innerHTML=` +
+
+
2020-01-01 00:00:00
+
+
+
+
+
+
+ `,g(o2,n2);var t2=function(h2){console.log("子组件传值到父组件",h2,h2.current);var B2=h2.current,u2=new Date(y.date).Format("yyyyMMdd").substr(0,8)+(h2.current?B2.replace(/:/g,""):h2.current.replace(/:/g,""));if(y.initBegin&&new Date("".concat(y.date," ").concat(h2.current)).getTime()new Date(y.initEnd).getTime()&&(console.log("超过限制最高值"),u2=new Date(y.initBegin).Format("yyyyMMddhhmmss")),y.type==="cloud.rec"){var A=function(){y.jSPlugin.seek(u2.substr(8,6),"235959"),setTimeout(function(){y.syncTimeLine()},6e3)};y.seekTimer?clearTimeout(y.seekTimer):A(),console.log("this.jsPlug",y.jSPlugin.params),y.seekTimer=setTimeout(function(){A(),clearTimeout(y.seekTimer),y.seekTimer=null},y.seekFrequency)}else{var V=function(){setTimeout(function(){y.disabled=!1},y.seekFrequency)},Z=function(I2){y.disabled=!0,y.jSPlugin.pause().then(function(){console.log("暂停成功"),y.jSPlugin.resume(u2).then(function(W2){console.log("恢复成功"),y.jSPlugin.Theme&&y.jSPlugin.Theme.setDecoderState({play:!0}),y.jSPlugin.Theme&&y.jSPlugin.Theme.decoderState.state.sound&&y.jSPlugin.openSound(),y.syncTimeLine(),I2&&I2()})}).catch(function(){console.log("暂停失败"),y.jSPlugin.resume(u2).then(function(W2){console.log("恢复成功"),y.jSPlugin.Theme&&y.jSPlugin.Theme.setDecoderState({play:!0}),y.syncTimeLine(),I2&&I2()})})};y.disabled?(console.log("操作频繁,等待2秒后执行"),y.seekTimer&&clearTimeout(y.seekTimer),y.seekTimer=setTimeout(function(){Z(V)},y.seekFrequency)):Z(V)}},X=function(){y.operating=!0,y.unSyncTimeLine()},R2=function(){},y2=function(){y.operating=!1,console.log("ontouchend")};this.TimeLineOBJ=new Q1({id:"time-line-item",getPalyParam:t2,ontouchstart:X,ontouchmove:R2,ontouchend:y2}),this.fetchDeviceRec(),document.getElementById("date").addEventListener("change",function(d2){if(console.log("日期变化",d2.target.value),y.initBegin||y.initEnd)return console.log("您开启了时间限制,无法切换日期"),!1;y.date=new Date(d2.target.value).Format("yyyy/MM/dd"),y.begin=y.date+" 00:00:00",y.end=y.date+" 23:59:59",y.fetchDeviceRec(),y.jSPlugin.changePlayUrl({type:y.type,begin:"".concat(new Date(y.date).Format("yyyyMMdd"),"000000")}),y.changeRecSpeed(1),y.resetMobileZoomStatus()}),document.getElementById("cloudType").checked=this.type==="rec",document.getElementById("cloudType").addEventListener("change",function(d2){var h2=d2.target.checked?2:1;y.type=d2.target.checked?"rec":"cloud.rec",console.log("recType",h2),y.fetchDeviceRec(),y.jSPlugin.changePlayUrl({type:y.type,begin:"".concat(new Date(y.date).Format("yyyyMMdd"),"000000")}).then(function(){console.log("切换类型成功"),y.syncTimeLine(),y.changeRecSpeed(1),y.resetMobileZoomStatus()},function(B2){console.log("err",B2)}).catch(function(B2){console.log(B2)})}),this.syncTimeLine()}return r(R,[{key:"fetchDeviceRec",value:function(){var d=this,f=function(_){var E=_.length;document.getElementById("recCount").innerHTML=E;for(var r2=[],n2=E-1;n2>=0;n2--){var o2=_[n2],t2=d3(o2.endTime),X=d3(o2.startTime);r2.push({st:X,et:t2})}d.TimeLineOBJ.setDateLine(r2)},y=new FormData;y.append("deviceSerial",v2(this.jSPlugin.url).deviceSerial),y.append("channelNo",v2(this.jSPlugin.url).channelNo),y.append("accessToken",this.jSPlugin.accessToken),y.append("recType",this.type==="cloud.rec"?1:2),y.append("startTime",new Date(this.begin).getTime()),y.append("endTime",new Date(this.end).getTime()),fetch(this.jSPlugin.env.domain+"/api/lapp/video/by/time",{method:"POST",body:y}).then(function(w){return w.json()}).then(function(w){if(w.code==200&&w.data){var _=[];_=w.data,f(_)}else f([])})}},{key:"syncTimeLine",value:function(){var d=this,f=function(w){var _=new Date(w),E=_.getHours(),r2=_.getMinutes(),n2=_.getSeconds();return(E>9?E:"0"+E)+":"+(r2>9?r2:"0"+r2)+":"+(n2>9?n2:"0"+n2)};this.timer&&clearInterval(this.timer),this.timer=setInterval(function(){if(d.operating)return console.log("操作中"),!1;d.jSPlugin.getOSDTime().then(function(y){y.data>0?d.TimeLineOBJ.stepScrollTimeLine(f(y.data*1e3)):(console.log("未找到当前获取播放时间,等待中..."),console.log("res:-----------------",y))}).catch(function(y){console.log("err:-----",y),console.log("未找到当前获取播放时间,等待中...")})},1e3)}},{key:"unSyncTimeLine",value:function(){this.timer&&clearInterval(this.timer)}}]),R}(),U3=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStart"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStart"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStart"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStart"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStart"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStart"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStart"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStart"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStart"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStart"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStart"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStart"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStart"},{code:60002,msg:"设备已旋转到上限位",desc:"",text:"设备云台旋转达到上限位",type:"ptzStart"},{code:60003,msg:"设备已旋转到下限位",desc:"",text:"设备云台旋转达到下限位",type:"ptzStart"},{code:60004,msg:"设备已旋转到左限位",desc:"",text:"设备云台旋转达到左限位",type:"ptzStart"},{code:60005,msg:"设备已旋转到右限位",desc:"",text:"设备云台旋转达到右限位",type:"ptzStart"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStart"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStart"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStart"}],a3=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStop"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStop"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStop"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStop"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStop"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStop"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStop"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStop"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStop"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStop"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStop"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStop"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStop"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStop"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStop"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStop"}],F2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"talk"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"talk"},{code:10002,msg:"账号异常,操作失败",desc:"",text:"accessToken异常或过期",type:"talk"},{code:10031,msg:"账号异常,操作失败",desc:"",text:"子账户或萤石用户没有权限",type:"talk"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"talk"},{code:60059,msg:"播放失败",desc:"",text:"ezopen地址均不可用",type:"talk"}],N3=[{code:200,msg:"",desc:"",text:"操作成功",type:"time"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"time"},{code:10002,msg:"账号异常,播放失败",desc:"",text:"accessToken异常或过期",type:"time"},{code:10004,msg:"账号异常,播放失败",desc:"",text:"用户不存在",type:"time"},{code:10005,msg:"账号异常,播放失败",desc:"",text:"appKey异常",type:"time"},{code:10011,msg:"播放失败",desc:"设备对应用户未注册至应用下",text:"未开通萤石服务",type:"time"},{code:10013,msg:"账号异常,播放失败",desc:"",text:"非开发者账号无权限调用",type:"time"},{code:10030,msg:"播放失败",desc:"",text:"appkey和appsecret不匹配",type:"time"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"time"},{code:20014,msg:"播放失败",desc:"",text:"deviceSerial不合法",type:"time"},{code:20032,msg:"设备不存在请检查设备连接情况",desc:"",text:"该用户下通道不存在",type:"time"},{code:60024,msg:"播放失败请重试",desc:"",text:"取消订阅操作失败",type:"time"},{code:49999,msg:"播放失败请重试",desc:"",text:"操作异常",type:"time"}],_3={ptzStart:U3,ptzStop:a3,talk:F2,time:N3},o1=function(){function R(M,d){a(this,R),this.coreX=M,this.coreY=d,console.log("uikitCode",_3)}return r(R,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchInfo",value:function(d,f){if(_3[f]){var y={};return _3[f].map(function(w){w.code==d&&(y=w)}),y}else return{code:500,msg:"未知错误",desc:"未知的错误码,或错误码类型有误",text:"",type:f}}}]),R}(),w1=function(){function R(M){var d=this;if(a(this,R),this.jSPlugin=M,this.codeHandler=new o1,this.pluginStatus=new z3(this,this.jSPlugin.id),console.log("云台初始化"),document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;var f=document.createElement("div");f.id=this.jSPlugin.id+"-ez-ptz-item",f.className="ez-ptz-wrap",f.style="display:none";var y=document.createElement("style");y.innerHTML=` + .ez-ptz-container { + position: relative; + width: 80px; + height: 80px; + background: rgba(255, 255, 255, 0.80); + box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%); + border: 1px solid rgba(255, 255, 255, 0.80); + border-radius: 100%; + cursor: pointer; + overflow: hidden; + user-select: none; + } + .ez-ptz-container .ez-ptz-icon.top { + width: 0; + height: 0; + border-left: 3px solid transparent; + border-right: 3px solid transparent; + border-bottom: 6px solid #333333; + position: absolute; + display: inline-block; + left: calc(50% - 3px); + top: 2px; + } + + .ez-ptz-container .ez-ptz-icon.top.active { + border-bottom-color: #1890FF; + } + + .ez-ptz-container .ez-ptz-icon.bottom { + width: 0; + height: 0; + border-left: 3px solid transparent; + border-right: 3px solid transparent; + border-top: 6px solid #333333; + position: absolute; + display: inline-block; + left: calc(50% - 3px); + bottom: 2px; + } + + .ez-ptz-container .ez-ptz-icon.bottom.active { + border-top-color: #1890FF; + } + + .ez-ptz-container .ez-ptz-icon.right { + width: 0; + height: 0; + border-top: 3px solid transparent; + border-bottom: 3px solid transparent; + border-left: 6px solid #333333; + position: absolute; + display: inline-block; + top: calc(50% - 3px); + right: 2px; + } + + .ez-ptz-container .ez-ptz-icon.right.active { + border-left-color: #1890FF; + } + + .ez-ptz-container .ez-ptz-icon.left { + width: 0; + height: 0; + border-top: 3px solid transparent; + border-bottom: 3px solid transparent; + border-right: 6px solid #333333; + position: absolute; + display: inline-block; + top: calc(50% - 3px); + left: 2px; + } + + .ez-ptz-container .ez-ptz-icon.left.active { + border-right-color: #1890FF; + } + + .ez-ptz-container .ez-ptz-main.center { + width: 23px; + height: 23px; + background: #1890FF; + border-radius: 100%; + top: calc(50% - 12.3px); + left: calc(50% - 12.3px); + position: absolute; + } + + .ez-ptz-wrap { + position: absolute; + right: 20px; + top: calc(50% - 50px); + width: 100px; + height: 100px; + z-index: 999; + } + + .ez-ptz-close { + position: absolute; + color: #FFFFFF; + top: 0; + right: 0px; + }`,document.getElementsByTagName("head")[0].appendChild(y),f.innerHTML=` +
+
+
+
+
+
+ `),document.getElementById("".concat(M.id,"-wrap")).appendChild(f),document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmousedown=function(w){w.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(w,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmouseup=function(w){w.preventDefault(),console.log("触摸结束"),d._handlePtzTouch(w,"stop")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchstart=function(w){w.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(w,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchend=function(w){w.preventDefault(),console.log("触摸结束",w),d._handlePtzTouch(w,"stop")}}return r(R,[{key:"show",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: none"}},{key:"_handlePtzTouch",value:function(d,f){var y=this,w=document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).getBoundingClientRect(),_=w.left+41,E=w.top+41,r2=d.x||d.changedTouches[0].clientX,n2=d.y||d.changedTouches[0].clientY,o2=r2-_,t2=n2-E,X=0,R2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";if(Math.abs(o2)>Math.abs(t2)?o2>0?X=3:X=2:t2>0?X=1:X=0,/^rotate\(90/.test(document.getElementById("".concat(this.jSPlugin.id,"-wrap")).style.transform))switch(X){case 0:X=2;break;case 1:X=3;break;case 2:X=1;break;case 3:X=0;break}document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(X===0?180:X===1?0:X===2?90:270,"deg, #1d8dd8 0%, rgba(100,143,252,0.00) 30%)"),f==="stop"&&(R2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="");var y2=new FormData;y2.append("deviceSerial",v2(this.jSPlugin.url).deviceSerial),y2.append("channelNo",v2(this.jSPlugin.url).channelNo),y2.append("speed",1),y2.append("direction",X),y2.append("accessToken",this.jSPlugin.accessToken),fetch(R2,{method:"POST",body:y2}).then(function(d2){return d2.json()}).then(function(d2){d2.code==200||(console.log(d2.code,y.codeHandler.matchInfo(d2.code,f==="start"?"ptzStart":"ptzStop")),y.pluginStatus.loadingSetText({text:y.codeHandler.matchInfo(d2.code,f==="start"?"ptzStart":"ptzStop").msg,color:"red",delayClear:2e3}),(d2.code==60005||d2.code==60002||d2.code==60003||d2.code==60004)&&(document.getElementById("".concat(y.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(X===0?180:X===1?0:X===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)")))}).catch(function(d2){console.log("云台调用异常",d2)})}}]),R}();(function(R){if(n(e)==="object")t.exports=R();else{var M;typeof window!="undefined"?M=window:typeof ai!="undefined"?M=ai:typeof self!="undefined"?M=self:M=this,M.adapter=R()}})(function(){return function(){function R(M,d,f){function y(E,r2){if(!d[E]){if(!M[E]){var n2=typeof ii=="function"&ⅈif(!r2&&n2)return n2(E,!0);if(w)return w(E,!0);var o2=new Error("Cannot find module '"+E+"'");throw o2.code="MODULE_NOT_FOUND",o2}var t2=d[E]={exports:{}};M[E][0].call(t2.exports,function(X){var R2=M[E][1][X];return y(R2||X)},t2,t2.exports,R,M,d,f)}return d[E].exports}for(var w=typeof ii=="function"&&ii,_=0;_0&&arguments[0]!==void 0?arguments[0]:{},u2=B2.window,A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},V=y.log,Z=y.detectBrowser(u2),P2={browserDetails:Z,commonShim:y2,extractVersion:y.extractVersion,disableLog:y.disableLog,disableWarnings:y.disableWarnings};switch(Z.browser){case"chrome":if(!_||!_.shimPeerConnection||!A.shimChrome)return V("Chrome shim is not included in this adapter release."),P2;V("adapter.js shimming chrome."),P2.browserShim=_,_.shimGetUserMedia(u2),_.shimMediaStream(u2),_.shimPeerConnection(u2),_.shimOnTrack(u2),_.shimAddTrackRemoveTrack(u2),_.shimGetSendersWithDtmf(u2),_.shimGetStats(u2),_.shimSenderReceiverGetStats(u2),_.fixNegotiationNeeded(u2),y2.shimRTCIceCandidate(u2),y2.shimConnectionState(u2),y2.shimMaxMessageSize(u2),y2.shimSendThrowTypeError(u2),y2.removeAllowExtmapMixed(u2);break;case"firefox":if(!o2||!o2.shimPeerConnection||!A.shimFirefox)return V("Firefox shim is not included in this adapter release."),P2;V("adapter.js shimming firefox."),P2.browserShim=o2,o2.shimGetUserMedia(u2),o2.shimPeerConnection(u2),o2.shimOnTrack(u2),o2.shimRemoveStream(u2),o2.shimSenderGetStats(u2),o2.shimReceiverGetStats(u2),o2.shimRTCDataChannel(u2),o2.shimAddTransceiver(u2),o2.shimCreateOffer(u2),o2.shimCreateAnswer(u2),y2.shimRTCIceCandidate(u2),y2.shimConnectionState(u2),y2.shimMaxMessageSize(u2),y2.shimSendThrowTypeError(u2);break;case"edge":if(!r2||!r2.shimPeerConnection||!A.shimEdge)return V("MS edge shim is not included in this adapter release."),P2;V("adapter.js shimming edge."),P2.browserShim=r2,r2.shimGetUserMedia(u2),r2.shimGetDisplayMedia(u2),r2.shimPeerConnection(u2),r2.shimReplaceTrack(u2),y2.shimMaxMessageSize(u2),y2.shimSendThrowTypeError(u2);break;case"safari":if(!X||!A.shimSafari)return V("Safari shim is not included in this adapter release."),P2;V("adapter.js shimming safari."),P2.browserShim=X,X.shimRTCIceServerUrls(u2),X.shimCreateOfferLegacy(u2),X.shimCallbacksAPI(u2),X.shimLocalStreamsAPI(u2),X.shimRemoteStreamsAPI(u2),X.shimTrackEventTransceiver(u2),X.shimGetUserMedia(u2),y2.shimRTCIceCandidate(u2),y2.shimMaxMessageSize(u2),y2.shimSendThrowTypeError(u2),y2.removeAllowExtmapMixed(u2);break;default:V("Unsupported browser!");break}return P2}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=d.shimGetUserMedia=void 0;var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(A){return n(A)}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":n(A)},y=R("./getusermedia");Object.defineProperty(d,"shimGetUserMedia",{enumerable:!0,get:function(){return y.shimGetUserMedia}});var w=R("./getdisplaymedia");Object.defineProperty(d,"shimGetDisplayMedia",{enumerable:!0,get:function(){return w.shimGetDisplayMedia}}),d.shimMediaStream=o2,d.shimOnTrack=t2,d.shimGetSendersWithDtmf=X,d.shimGetStats=R2,d.shimSenderReceiverGetStats=y2,d.shimAddTrackRemoveTrackWithNative=d2,d.shimAddTrackRemoveTrack=h2,d.shimPeerConnection=B2,d.fixNegotiationNeeded=u2;var _=R("../utils.js"),E=r2(_);function r2(A){if(A&&A.__esModule)return A;var V={};if(A!=null)for(var Z in A)Object.prototype.hasOwnProperty.call(A,Z)&&(V[Z]=A[Z]);return V.default=A,V}function n2(A,V,Z){return V in A?Object.defineProperty(A,V,{value:Z,enumerable:!0,configurable:!0,writable:!0}):A[V]=Z,A}function o2(A){A.MediaStream=A.MediaStream||A.webkitMediaStream}function t2(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection&&!("ontrack"in A.RTCPeerConnection.prototype)){Object.defineProperty(A.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(P2){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=P2)},enumerable:!0,configurable:!0});var V=A.RTCPeerConnection.prototype.setRemoteDescription;A.RTCPeerConnection.prototype.setRemoteDescription=function(){var P2=this;return this._ontrackpoly||(this._ontrackpoly=function(I2){I2.stream.addEventListener("addtrack",function(W2){var V2=void 0;A.RTCPeerConnection.prototype.getReceivers?V2=P2.getReceivers().find(function(x3){return x3.track&&x3.track.id===W2.track.id}):V2={track:W2.track};var l3=new Event("track");l3.track=W2.track,l3.receiver=V2,l3.transceiver={receiver:V2},l3.streams=[I2.stream],P2.dispatchEvent(l3)}),I2.stream.getTracks().forEach(function(W2){var V2=void 0;A.RTCPeerConnection.prototype.getReceivers?V2=P2.getReceivers().find(function(x3){return x3.track&&x3.track.id===W2.id}):V2={track:W2};var l3=new Event("track");l3.track=W2,l3.receiver=V2,l3.transceiver={receiver:V2},l3.streams=[I2.stream],P2.dispatchEvent(l3)})},this.addEventListener("addstream",this._ontrackpoly)),V.apply(this,arguments)}}else E.wrapPeerConnectionEvent(A,"track",function(Z){return Z.transceiver||Object.defineProperty(Z,"transceiver",{value:{receiver:Z.receiver}}),Z})}function X(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection&&!("getSenders"in A.RTCPeerConnection.prototype)&&"createDTMFSender"in A.RTCPeerConnection.prototype){var V=function(x3,E3){return{track:E3,get dtmf(){return this._dtmf===void 0&&(E3.kind==="audio"?this._dtmf=x3.createDTMFSender(E3):this._dtmf=null),this._dtmf},_pc:x3}};if(!A.RTCPeerConnection.prototype.getSenders){A.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var Z=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(x3,E3){var T3=Z.apply(this,arguments);return T3||(T3=V(this,x3),this._senders.push(T3)),T3};var P2=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(x3){P2.apply(this,arguments);var E3=this._senders.indexOf(x3);E3!==-1&&this._senders.splice(E3,1)}}var I2=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(x3){var E3=this;this._senders=this._senders||[],I2.apply(this,[x3]),x3.getTracks().forEach(function(T3){E3._senders.push(V(E3,T3))})};var W2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(x3){var E3=this;this._senders=this._senders||[],W2.apply(this,[x3]),x3.getTracks().forEach(function(T3){var m1=E3._senders.find(function(T1){return T1.track===T3});m1&&E3._senders.splice(E3._senders.indexOf(m1),1)})}}else if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection&&"getSenders"in A.RTCPeerConnection.prototype&&"createDTMFSender"in A.RTCPeerConnection.prototype&&A.RTCRtpSender&&!("dtmf"in A.RTCRtpSender.prototype)){var V2=A.RTCPeerConnection.prototype.getSenders;A.RTCPeerConnection.prototype.getSenders=function(){var x3=this,E3=V2.apply(this,[]);return E3.forEach(function(T3){return T3._pc=x3}),E3},Object.defineProperty(A.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function R2(A){if(A.RTCPeerConnection){var V=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var P2=this,I2=Array.prototype.slice.call(arguments),W2=I2[0],V2=I2[1],l3=I2[2];if(arguments.length>0&&typeof W2=="function")return V.apply(this,arguments);if(V.length===0&&(arguments.length===0||typeof W2!="function"))return V.apply(this,[]);var x3=function(T1){var x1={},B1=T1.result();return B1.forEach(function(v1){var Y1={id:v1.id,timestamp:v1.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[v1.type]||v1.type};v1.names().forEach(function(g0){Y1[g0]=v1.stat(g0)}),x1[Y1.id]=Y1}),x1},E3=function(T1){return new Map(Object.keys(T1).map(function(x1){return[x1,T1[x1]]}))};if(arguments.length>=2){var T3=function(T1){V2(E3(x3(T1)))};return V.apply(this,[T3,W2])}return new Promise(function(m1,T1){V.apply(P2,[function(x1){m1(E3(x3(x1)))},T1])}).then(V2,l3)}}}function y2(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&A.RTCRtpReceiver){if(!("getStats"in A.RTCRtpSender.prototype)){var V=A.RTCPeerConnection.prototype.getSenders;V&&(A.RTCPeerConnection.prototype.getSenders=function(){var V2=this,l3=V.apply(this,[]);return l3.forEach(function(x3){return x3._pc=V2}),l3});var Z=A.RTCPeerConnection.prototype.addTrack;Z&&(A.RTCPeerConnection.prototype.addTrack=function(){var V2=Z.apply(this,arguments);return V2._pc=this,V2}),A.RTCRtpSender.prototype.getStats=function(){var V2=this;return this._pc.getStats().then(function(l3){return E.filterStats(l3,V2.track,!0)})}}if(!("getStats"in A.RTCRtpReceiver.prototype)){var P2=A.RTCPeerConnection.prototype.getReceivers;P2&&(A.RTCPeerConnection.prototype.getReceivers=function(){var V2=this,l3=P2.apply(this,[]);return l3.forEach(function(x3){return x3._pc=V2}),l3}),E.wrapPeerConnectionEvent(A,"track",function(W2){return W2.receiver._pc=W2.srcElement,W2}),A.RTCRtpReceiver.prototype.getStats=function(){var V2=this;return this._pc.getStats().then(function(l3){return E.filterStats(l3,V2.track,!1)})}}if("getStats"in A.RTCRtpSender.prototype&&"getStats"in A.RTCRtpReceiver.prototype){var I2=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof A.MediaStreamTrack){var V2=arguments[0],l3=void 0,x3=void 0,E3=void 0;return this.getSenders().forEach(function(T3){T3.track===V2&&(l3?E3=!0:l3=T3)}),this.getReceivers().forEach(function(T3){return T3.track===V2&&(x3?E3=!0:x3=T3),T3.track===V2}),E3||l3&&x3?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):l3?l3.getStats():x3?x3.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return I2.apply(this,arguments)}}}}function d2(A){A.RTCPeerConnection.prototype.getLocalStreams=function(){var V2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(function(l3){return V2._shimmedLocalStreams[l3][0]})};var V=A.RTCPeerConnection.prototype.addTrack;A.RTCPeerConnection.prototype.addTrack=function(V2,l3){if(!l3)return V.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var x3=V.apply(this,arguments);return this._shimmedLocalStreams[l3.id]?this._shimmedLocalStreams[l3.id].indexOf(x3)===-1&&this._shimmedLocalStreams[l3.id].push(x3):this._shimmedLocalStreams[l3.id]=[l3,x3],x3};var Z=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(V2){var l3=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},V2.getTracks().forEach(function(T3){var m1=l3.getSenders().find(function(T1){return T1.track===T3});if(m1)throw new DOMException("Track already exists.","InvalidAccessError")});var x3=this.getSenders();Z.apply(this,arguments);var E3=this.getSenders().filter(function(T3){return x3.indexOf(T3)===-1});this._shimmedLocalStreams[V2.id]=[V2].concat(E3)};var P2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(V2){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[V2.id],P2.apply(this,arguments)};var I2=A.RTCPeerConnection.prototype.removeTrack;A.RTCPeerConnection.prototype.removeTrack=function(V2){var l3=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},V2&&Object.keys(this._shimmedLocalStreams).forEach(function(x3){var E3=l3._shimmedLocalStreams[x3].indexOf(V2);E3!==-1&&l3._shimmedLocalStreams[x3].splice(E3,1),l3._shimmedLocalStreams[x3].length===1&&delete l3._shimmedLocalStreams[x3]}),I2.apply(this,arguments)}}function h2(A){if(!A.RTCPeerConnection)return;var V=E.detectBrowser(A);if(A.RTCPeerConnection.prototype.addTrack&&V.version>=65)return d2(A);var Z=A.RTCPeerConnection.prototype.getLocalStreams;A.RTCPeerConnection.prototype.getLocalStreams=function(){var T3=this,m1=Z.apply(this);return this._reverseStreams=this._reverseStreams||{},m1.map(function(T1){return T3._reverseStreams[T1.id]})};var P2=A.RTCPeerConnection.prototype.addStream;A.RTCPeerConnection.prototype.addStream=function(T3){var m1=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},T3.getTracks().forEach(function(x1){var B1=m1.getSenders().find(function(v1){return v1.track===x1});if(B1)throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[T3.id]){var T1=new A.MediaStream(T3.getTracks());this._streams[T3.id]=T1,this._reverseStreams[T1.id]=T3,T3=T1}P2.apply(this,[T3])};var I2=A.RTCPeerConnection.prototype.removeStream;A.RTCPeerConnection.prototype.removeStream=function(T3){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},I2.apply(this,[this._streams[T3.id]||T3]),delete this._reverseStreams[this._streams[T3.id]?this._streams[T3.id].id:T3.id],delete this._streams[T3.id]},A.RTCPeerConnection.prototype.addTrack=function(T3,m1){var T1=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var x1=[].slice.call(arguments,1);if(x1.length!==1||!x1[0].getTracks().find(function(g0){return g0===T3}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");var B1=this.getSenders().find(function(g0){return g0.track===T3});if(B1)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var v1=this._streams[m1.id];if(v1)v1.addTrack(T3),Promise.resolve().then(function(){T1.dispatchEvent(new Event("negotiationneeded"))});else{var Y1=new A.MediaStream([T3]);this._streams[m1.id]=Y1,this._reverseStreams[Y1.id]=m1,this.addStream(Y1)}return this.getSenders().find(function(g0){return g0.track===T3})};function W2(E3,T3){var m1=T3.sdp;return Object.keys(E3._reverseStreams||[]).forEach(function(T1){var x1=E3._reverseStreams[T1],B1=E3._streams[x1.id];m1=m1.replace(new RegExp(B1.id,"g"),x1.id)}),new RTCSessionDescription({type:T3.type,sdp:m1})}function V2(E3,T3){var m1=T3.sdp;return Object.keys(E3._reverseStreams||[]).forEach(function(T1){var x1=E3._reverseStreams[T1],B1=E3._streams[x1.id];m1=m1.replace(new RegExp(x1.id,"g"),B1.id)}),new RTCSessionDescription({type:T3.type,sdp:m1})}["createOffer","createAnswer"].forEach(function(E3){var T3=A.RTCPeerConnection.prototype[E3],m1=n2({},E3,function(){var T1=this,x1=arguments,B1=arguments.length&&typeof arguments[0]=="function";return B1?T3.apply(this,[function(v1){var Y1=W2(T1,v1);x1[0].apply(null,[Y1])},function(v1){x1[1]&&x1[1].apply(null,v1)},arguments[2]]):T3.apply(this,arguments).then(function(v1){return W2(T1,v1)})});A.RTCPeerConnection.prototype[E3]=m1[E3]});var l3=A.RTCPeerConnection.prototype.setLocalDescription;A.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?l3.apply(this,arguments):(arguments[0]=V2(this,arguments[0]),l3.apply(this,arguments))};var x3=Object.getOwnPropertyDescriptor(A.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(A.RTCPeerConnection.prototype,"localDescription",{get:function(){var T3=x3.get.apply(this);return T3.type===""?T3:W2(this,T3)}}),A.RTCPeerConnection.prototype.removeTrack=function(T3){var m1=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!T3._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");var T1=T3._pc===this;if(!T1)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var x1=void 0;Object.keys(this._streams).forEach(function(B1){var v1=m1._streams[B1].getTracks().find(function(Y1){return T3.track===Y1});v1&&(x1=m1._streams[B1])}),x1&&(x1.getTracks().length===1?this.removeStream(this._reverseStreams[x1.id]):x1.removeTrack(T3.track),this.dispatchEvent(new Event("negotiationneeded")))}}function B2(A){var V=E.detectBrowser(A);if(!A.RTCPeerConnection&&A.webkitRTCPeerConnection&&(A.RTCPeerConnection=A.webkitRTCPeerConnection),!!A.RTCPeerConnection){V.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(P2){var I2=A.RTCPeerConnection.prototype[P2],W2=n2({},P2,function(){return arguments[0]=new(P2==="addIceCandidate"?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),I2.apply(this,arguments)});A.RTCPeerConnection.prototype[P2]=W2[P2]});var Z=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?V.version<78&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():Z.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}}function u2(A){E.wrapPeerConnectionEvent(A,"negotiationneeded",function(V){var Z=V.target;if(Z.signalingState==="stable")return V})}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=f;function f(y,w){if(!(y.navigator.mediaDevices&&"getDisplayMedia"in y.navigator.mediaDevices)&&y.navigator.mediaDevices){if(typeof w!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}y.navigator.mediaDevices.getDisplayMedia=function(E){return w(E).then(function(r2){var n2=E.video&&E.video.width,o2=E.video&&E.video.height,t2=E.video&&E.video.frameRate;return E.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r2,maxFrameRate:t2||3}},n2&&(E.video.mandatory.maxWidth=n2),o2&&(E.video.mandatory.maxHeight=o2),y.navigator.mediaDevices.getUserMedia(E)})}}}},{}],5:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(n2){return n(n2)}:function(n2){return n2&&typeof Symbol=="function"&&n2.constructor===Symbol&&n2!==Symbol.prototype?"symbol":n(n2)};d.shimGetUserMedia=r2;var y=R("../utils.js"),w=_(y);function _(n2){if(n2&&n2.__esModule)return n2;var o2={};if(n2!=null)for(var t2 in n2)Object.prototype.hasOwnProperty.call(n2,t2)&&(o2[t2]=n2[t2]);return o2.default=n2,o2}var E=w.log;function r2(n2){var o2=n2&&n2.navigator;if(o2.mediaDevices){var t2=w.detectBrowser(n2),X=function(u2){if((typeof u2=="undefined"?"undefined":f(u2))!=="object"||u2.mandatory||u2.optional)return u2;var A={};return Object.keys(u2).forEach(function(V){if(!(V==="require"||V==="advanced"||V==="mediaSource")){var Z=f(u2[V])==="object"?u2[V]:{ideal:u2[V]};Z.exact!==void 0&&typeof Z.exact=="number"&&(Z.min=Z.max=Z.exact);var P2=function(V2,l3){return V2?V2+l3.charAt(0).toUpperCase()+l3.slice(1):l3==="deviceId"?"sourceId":l3};if(Z.ideal!==void 0){A.optional=A.optional||[];var I2={};typeof Z.ideal=="number"?(I2[P2("min",V)]=Z.ideal,A.optional.push(I2),I2={},I2[P2("max",V)]=Z.ideal,A.optional.push(I2)):(I2[P2("",V)]=Z.ideal,A.optional.push(I2))}Z.exact!==void 0&&typeof Z.exact!="number"?(A.mandatory=A.mandatory||{},A.mandatory[P2("",V)]=Z.exact):["min","max"].forEach(function(W2){Z[W2]!==void 0&&(A.mandatory=A.mandatory||{},A.mandatory[P2(W2,V)]=Z[W2])})}}),u2.advanced&&(A.optional=(A.optional||[]).concat(u2.advanced)),A},R2=function(u2,A){if(t2.version>=61)return A(u2);if(u2=JSON.parse(JSON.stringify(u2)),u2&&f(u2.audio)==="object"){var V=function(V2,l3,x3){l3 in V2&&!(x3 in V2)&&(V2[x3]=V2[l3],delete V2[l3])};u2=JSON.parse(JSON.stringify(u2)),V(u2.audio,"autoGainControl","googAutoGainControl"),V(u2.audio,"noiseSuppression","googNoiseSuppression"),u2.audio=X(u2.audio)}if(u2&&f(u2.video)==="object"){var Z=u2.video.facingMode;Z=Z&&((typeof Z=="undefined"?"undefined":f(Z))==="object"?Z:{ideal:Z});var P2=t2.version<66;if(Z&&(Z.exact==="user"||Z.exact==="environment"||Z.ideal==="user"||Z.ideal==="environment")&&!(o2.mediaDevices.getSupportedConstraints&&o2.mediaDevices.getSupportedConstraints().facingMode&&!P2)){delete u2.video.facingMode;var I2=void 0;if(Z.exact==="environment"||Z.ideal==="environment"?I2=["back","rear"]:(Z.exact==="user"||Z.ideal==="user")&&(I2=["front"]),I2)return o2.mediaDevices.enumerateDevices().then(function(W2){W2=W2.filter(function(l3){return l3.kind==="videoinput"});var V2=W2.find(function(l3){return I2.some(function(x3){return l3.label.toLowerCase().includes(x3)})});return!V2&&W2.length&&I2.includes("back")&&(V2=W2[W2.length-1]),V2&&(u2.video.deviceId=Z.exact?{exact:V2.deviceId}:{ideal:V2.deviceId}),u2.video=X(u2.video),E("chrome: "+JSON.stringify(u2)),A(u2)})}u2.video=X(u2.video)}return E("chrome: "+JSON.stringify(u2)),A(u2)},y2=function(u2){return t2.version>=64?u2:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[u2.name]||u2.name,message:u2.message,constraint:u2.constraint||u2.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},d2=function(u2,A,V){R2(u2,function(Z){o2.webkitGetUserMedia(Z,A,function(P2){V&&V(y2(P2))})})};if(o2.getUserMedia=d2.bind(o2),o2.mediaDevices.getUserMedia){var h2=o2.mediaDevices.getUserMedia.bind(o2.mediaDevices);o2.mediaDevices.getUserMedia=function(B2){return R2(B2,function(u2){return h2(u2).then(function(A){if(u2.audio&&!A.getAudioTracks().length||u2.video&&!A.getVideoTracks().length)throw A.getTracks().forEach(function(V){V.stop()}),new DOMException("","NotFoundError");return A},function(A){return Promise.reject(y2(A))})})}}}}},{"../utils.js":15}],6:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(d2){return n(d2)}:function(d2){return d2&&typeof Symbol=="function"&&d2.constructor===Symbol&&d2!==Symbol.prototype?"symbol":n(d2)};d.shimRTCIceCandidate=o2,d.shimMaxMessageSize=t2,d.shimSendThrowTypeError=X,d.shimConnectionState=R2,d.removeAllowExtmapMixed=y2;var y=R("sdp"),w=n2(y),_=R("./utils"),E=r2(_);function r2(d2){if(d2&&d2.__esModule)return d2;var h2={};if(d2!=null)for(var B2 in d2)Object.prototype.hasOwnProperty.call(d2,B2)&&(h2[B2]=d2[B2]);return h2.default=d2,h2}function n2(d2){return d2&&d2.__esModule?d2:{default:d2}}function o2(d2){if(!(!d2.RTCIceCandidate||d2.RTCIceCandidate&&"foundation"in d2.RTCIceCandidate.prototype)){var h2=d2.RTCIceCandidate;d2.RTCIceCandidate=function(u2){if((typeof u2=="undefined"?"undefined":f(u2))==="object"&&u2.candidate&&u2.candidate.indexOf("a=")===0&&(u2=JSON.parse(JSON.stringify(u2)),u2.candidate=u2.candidate.substr(2)),u2.candidate&&u2.candidate.length){var A=new h2(u2),V=w.default.parseCandidate(u2.candidate),Z=Object.assign(A,V);return Z.toJSON=function(){return{candidate:Z.candidate,sdpMid:Z.sdpMid,sdpMLineIndex:Z.sdpMLineIndex,usernameFragment:Z.usernameFragment}},Z}return new h2(u2)},d2.RTCIceCandidate.prototype=h2.prototype,E.wrapPeerConnectionEvent(d2,"icecandidate",function(B2){return B2.candidate&&Object.defineProperty(B2,"candidate",{value:new d2.RTCIceCandidate(B2.candidate),writable:"false"}),B2})}}function t2(d2){if(d2.RTCPeerConnection){var h2=E.detectBrowser(d2);"sctp"in d2.RTCPeerConnection.prototype||Object.defineProperty(d2.RTCPeerConnection.prototype,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp}});var B2=function(I2){if(!I2||!I2.sdp)return!1;var W2=w.default.splitSections(I2.sdp);return W2.shift(),W2.some(function(V2){var l3=w.default.parseMLine(V2);return l3&&l3.kind==="application"&&l3.protocol.indexOf("SCTP")!==-1})},u2=function(I2){var W2=I2.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(W2===null||W2.length<2)return-1;var V2=parseInt(W2[1],10);return V2!==V2?-1:V2},A=function(I2){var W2=65536;return h2.browser==="firefox"&&(h2.version<57?I2===-1?W2=16384:W2=2147483637:h2.version<60?W2=h2.version===57?65535:65536:W2=2147483637),W2},V=function(I2,W2){var V2=65536;h2.browser==="firefox"&&h2.version===57&&(V2=65535);var l3=w.default.matchPrefix(I2.sdp,"a=max-message-size:");return l3.length>0?V2=parseInt(l3[0].substr(19),10):h2.browser==="firefox"&&W2!==-1&&(V2=2147483637),V2},Z=d2.RTCPeerConnection.prototype.setRemoteDescription;d2.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,h2.browser==="chrome"&&h2.version>=76){var I2=this.getConfiguration(),W2=I2.sdpSemantics;W2==="plan-b"&&Object.defineProperty(this,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(B2(arguments[0])){var V2=u2(arguments[0]),l3=A(V2),x3=V(arguments[0],V2),E3=void 0;l3===0&&x3===0?E3=Number.POSITIVE_INFINITY:l3===0||x3===0?E3=Math.max(l3,x3):E3=Math.min(l3,x3);var T3={};Object.defineProperty(T3,"maxMessageSize",{get:function(){return E3}}),this._sctp=T3}return Z.apply(this,arguments)}}}function X(d2){if(!(d2.RTCPeerConnection&&"createDataChannel"in d2.RTCPeerConnection.prototype))return;function h2(u2,A){var V=u2.send;u2.send=function(){var P2=arguments[0],I2=P2.length||P2.size||P2.byteLength;if(u2.readyState==="open"&&A.sctp&&I2>A.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+A.sctp.maxMessageSize+" bytes)");return V.apply(u2,arguments)}}var B2=d2.RTCPeerConnection.prototype.createDataChannel;d2.RTCPeerConnection.prototype.createDataChannel=function(){var A=B2.apply(this,arguments);return h2(A,this),A},E.wrapPeerConnectionEvent(d2,"datachannel",function(u2){return h2(u2.channel,u2.target),u2})}function R2(d2){if(!(!d2.RTCPeerConnection||"connectionState"in d2.RTCPeerConnection.prototype)){var h2=d2.RTCPeerConnection.prototype;Object.defineProperty(h2,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(h2,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(u2){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),u2&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=u2)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(function(B2){var u2=h2[B2];h2[B2]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(A){var V=A.target;if(V._lastConnectionState!==V.connectionState){V._lastConnectionState=V.connectionState;var Z=new Event("connectionstatechange",A);V.dispatchEvent(Z)}return A},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),u2.apply(this,arguments)}})}}function y2(d2){if(d2.RTCPeerConnection){var h2=E.detectBrowser(d2);if(!(h2.browser==="chrome"&&h2.version>=71)){var B2=d2.RTCPeerConnection.prototype.setRemoteDescription;d2.RTCPeerConnection.prototype.setRemoteDescription=function(A){return A&&A.sdp&&A.sdp.indexOf(` +a=extmap-allow-mixed`)!==-1&&(A.sdp=A.sdp.split(` +`).filter(function(V){return V.trim()!=="a=extmap-allow-mixed"}).join(` +`)),B2.apply(this,arguments)}}}}},{"./utils":15,sdp:17}],7:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=d.shimGetUserMedia=void 0;var f=R("./getusermedia");Object.defineProperty(d,"shimGetUserMedia",{enumerable:!0,get:function(){return f.shimGetUserMedia}});var y=R("./getdisplaymedia");Object.defineProperty(d,"shimGetDisplayMedia",{enumerable:!0,get:function(){return y.shimGetDisplayMedia}}),d.shimPeerConnection=X,d.shimReplaceTrack=R2;var w=R("../utils"),_=t2(w),E=R("./filtericeservers"),r2=R("rtcpeerconnection-shim"),n2=o2(r2);function o2(y2){return y2&&y2.__esModule?y2:{default:y2}}function t2(y2){if(y2&&y2.__esModule)return y2;var d2={};if(y2!=null)for(var h2 in y2)Object.prototype.hasOwnProperty.call(y2,h2)&&(d2[h2]=y2[h2]);return d2.default=y2,d2}function X(y2){var d2=_.detectBrowser(y2);if(y2.RTCIceGatherer&&(y2.RTCIceCandidate||(y2.RTCIceCandidate=function(A){return A}),y2.RTCSessionDescription||(y2.RTCSessionDescription=function(A){return A}),d2.version<15025)){var h2=Object.getOwnPropertyDescriptor(y2.MediaStreamTrack.prototype,"enabled");Object.defineProperty(y2.MediaStreamTrack.prototype,"enabled",{set:function(A){h2.set.call(this,A);var V=new Event("enabled");V.enabled=A,this.dispatchEvent(V)}})}y2.RTCRtpSender&&!("dtmf"in y2.RTCRtpSender.prototype)&&Object.defineProperty(y2.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new y2.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),y2.RTCDtmfSender&&!y2.RTCDTMFSender&&(y2.RTCDTMFSender=y2.RTCDtmfSender);var B2=(0,n2.default)(y2,d2.version);y2.RTCPeerConnection=function(A){return A&&A.iceServers&&(A.iceServers=(0,E.filterIceServers)(A.iceServers,d2.version),_.log("ICE servers after filtering:",A.iceServers)),new B2(A)},y2.RTCPeerConnection.prototype=B2.prototype}function R2(y2){y2.RTCRtpSender&&!("replaceTrack"in y2.RTCRtpSender.prototype)&&(y2.RTCRtpSender.prototype.replaceTrack=y2.RTCRtpSender.prototype.setTrack)}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.filterIceServers=_;var f=R("../utils"),y=w(f);function w(E){if(E&&E.__esModule)return E;var r2={};if(E!=null)for(var n2 in E)Object.prototype.hasOwnProperty.call(E,n2)&&(r2[n2]=E[n2]);return r2.default=E,r2}function _(E,r2){var n2=!1;return E=JSON.parse(JSON.stringify(E)),E.filter(function(o2){if(o2&&(o2.urls||o2.url)){var t2=o2.urls||o2.url;o2.url&&!o2.urls&&y.deprecated("RTCIceServer.url","RTCIceServer.urls");var X=typeof t2=="string";return X&&(t2=[t2]),t2=t2.filter(function(R2){if(R2.indexOf("stun:")===0)return!1;var y2=R2.startsWith("turn")&&!R2.startsWith("turn:[")&&R2.includes("transport=udp");return y2&&!n2?(n2=!0,!0):y2&&!n2}),delete o2.url,o2.urls=X?t2[0]:t2,!!t2.length}})}},{"../utils":15}],9:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=f;function f(y){"getDisplayMedia"in y.navigator&&y.navigator.mediaDevices&&(y.navigator.mediaDevices&&"getDisplayMedia"in y.navigator.mediaDevices||(y.navigator.mediaDevices.getDisplayMedia=y.navigator.getDisplayMedia.bind(y.navigator)))}},{}],10:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetUserMedia=f;function f(y){var w=y&&y.navigator,_=function(n2){return{name:{PermissionDeniedError:"NotAllowedError"}[n2.name]||n2.name,message:n2.message,constraint:n2.constraint,toString:function(){return this.name}}},E=w.mediaDevices.getUserMedia.bind(w.mediaDevices);w.mediaDevices.getUserMedia=function(r2){return E(r2).catch(function(n2){return Promise.reject(_(n2))})}}},{}],11:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=d.shimGetUserMedia=void 0;var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(A){return n(A)}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":n(A)},y=R("./getusermedia");Object.defineProperty(d,"shimGetUserMedia",{enumerable:!0,get:function(){return y.shimGetUserMedia}});var w=R("./getdisplaymedia");Object.defineProperty(d,"shimGetDisplayMedia",{enumerable:!0,get:function(){return w.shimGetDisplayMedia}}),d.shimOnTrack=o2,d.shimPeerConnection=t2,d.shimSenderGetStats=X,d.shimReceiverGetStats=R2,d.shimRemoveStream=y2,d.shimRTCDataChannel=d2,d.shimAddTransceiver=h2,d.shimCreateOffer=B2,d.shimCreateAnswer=u2;var _=R("../utils"),E=r2(_);function r2(A){if(A&&A.__esModule)return A;var V={};if(A!=null)for(var Z in A)Object.prototype.hasOwnProperty.call(A,Z)&&(V[Z]=A[Z]);return V.default=A,V}function n2(A,V,Z){return V in A?Object.defineProperty(A,V,{value:Z,enumerable:!0,configurable:!0,writable:!0}):A[V]=Z,A}function o2(A){(typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCTrackEvent&&"receiver"in A.RTCTrackEvent.prototype&&!("transceiver"in A.RTCTrackEvent.prototype)&&Object.defineProperty(A.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function t2(A){var V=E.detectBrowser(A);if(!((typeof A=="undefined"?"undefined":f(A))!=="object"||!(A.RTCPeerConnection||A.mozRTCPeerConnection))){if(!A.RTCPeerConnection&&A.mozRTCPeerConnection&&(A.RTCPeerConnection=A.mozRTCPeerConnection),V.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(W2){var V2=A.RTCPeerConnection.prototype[W2],l3=n2({},W2,function(){return arguments[0]=new(W2==="addIceCandidate"?A.RTCIceCandidate:A.RTCSessionDescription)(arguments[0]),V2.apply(this,arguments)});A.RTCPeerConnection.prototype[W2]=l3[W2]}),V.version<68){var Z=A.RTCPeerConnection.prototype.addIceCandidate;A.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&arguments[0].candidate===""?Promise.resolve():Z.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var P2={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},I2=A.RTCPeerConnection.prototype.getStats;A.RTCPeerConnection.prototype.getStats=function(){var V2=Array.prototype.slice.call(arguments),l3=V2[0],x3=V2[1],E3=V2[2];return I2.apply(this,[l3||null]).then(function(T3){if(V.version<53&&!x3)try{T3.forEach(function(m1){m1.type=P2[m1.type]||m1.type})}catch(m1){if(m1.name!=="TypeError")throw m1;T3.forEach(function(T1,x1){T3.set(x1,Object.assign({},T1,{type:P2[T1.type]||T1.type}))})}return T3}).then(x3,E3)}}}function X(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&!(A.RTCRtpSender&&"getStats"in A.RTCRtpSender.prototype)){var V=A.RTCPeerConnection.prototype.getSenders;V&&(A.RTCPeerConnection.prototype.getSenders=function(){var I2=this,W2=V.apply(this,[]);return W2.forEach(function(V2){return V2._pc=I2}),W2});var Z=A.RTCPeerConnection.prototype.addTrack;Z&&(A.RTCPeerConnection.prototype.addTrack=function(){var I2=Z.apply(this,arguments);return I2._pc=this,I2}),A.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function R2(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection&&A.RTCRtpSender&&!(A.RTCRtpSender&&"getStats"in A.RTCRtpReceiver.prototype)){var V=A.RTCPeerConnection.prototype.getReceivers;V&&(A.RTCPeerConnection.prototype.getReceivers=function(){var P2=this,I2=V.apply(this,[]);return I2.forEach(function(W2){return W2._pc=P2}),I2}),E.wrapPeerConnectionEvent(A,"track",function(Z){return Z.receiver._pc=Z.srcElement,Z}),A.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function y2(A){!A.RTCPeerConnection||"removeStream"in A.RTCPeerConnection.prototype||(A.RTCPeerConnection.prototype.removeStream=function(Z){var P2=this;E.deprecated("removeStream","removeTrack"),this.getSenders().forEach(function(I2){I2.track&&Z.getTracks().includes(I2.track)&&P2.removeTrack(I2)})})}function d2(A){A.DataChannel&&!A.RTCDataChannel&&(A.RTCDataChannel=A.DataChannel)}function h2(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection){var V=A.RTCPeerConnection.prototype.addTransceiver;V&&(A.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var P2=arguments[1],I2=P2&&"sendEncodings"in P2;I2&&P2.sendEncodings.forEach(function(x3){if("rid"in x3){var E3=/^[a-z0-9]{0,16}$/i;if(!E3.test(x3.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in x3&&!(parseFloat(x3.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in x3&&!(parseFloat(x3.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});var W2=V.apply(this,arguments);if(I2){var V2=W2.sender,l3=V2.getParameters();"encodings"in l3||(l3.encodings=P2.sendEncodings,this.setParametersPromises.push(V2.setParameters(l3).catch(function(){})))}return W2})}}function B2(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection){var V=A.RTCPeerConnection.prototype.createOffer;A.RTCPeerConnection.prototype.createOffer=function(){var P2=this,I2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return V.apply(P2,I2)}).finally(function(){P2.setParametersPromises=[]}):V.apply(this,arguments)}}}function u2(A){if((typeof A=="undefined"?"undefined":f(A))==="object"&&A.RTCPeerConnection){var V=A.RTCPeerConnection.prototype.createAnswer;A.RTCPeerConnection.prototype.createAnswer=function(){var P2=this,I2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return V.apply(P2,I2)}).finally(function(){P2.setParametersPromises=[]}):V.apply(this,arguments)}}}},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=f;function f(y,w){y.navigator.mediaDevices&&"getDisplayMedia"in y.navigator.mediaDevices||y.navigator.mediaDevices&&(y.navigator.mediaDevices.getDisplayMedia=function(E){if(!(E&&E.video)){var r2=new DOMException("getDisplayMedia without video constraints is undefined");return r2.name="NotFoundError",r2.code=8,Promise.reject(r2)}return E.video===!0?E.video={mediaSource:w}:E.video.mediaSource=w,y.navigator.mediaDevices.getUserMedia(E)})}},{}],13:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(r2){return n(r2)}:function(r2){return r2&&typeof Symbol=="function"&&r2.constructor===Symbol&&r2!==Symbol.prototype?"symbol":n(r2)};d.shimGetUserMedia=E;var y=R("../utils"),w=_(y);function _(r2){if(r2&&r2.__esModule)return r2;var n2={};if(r2!=null)for(var o2 in r2)Object.prototype.hasOwnProperty.call(r2,o2)&&(n2[o2]=r2[o2]);return n2.default=r2,n2}function E(r2){var n2=w.detectBrowser(r2),o2=r2&&r2.navigator,t2=r2&&r2.MediaStreamTrack;if(o2.getUserMedia=function(h2,B2,u2){w.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),o2.mediaDevices.getUserMedia(h2).then(B2,u2)},!(n2.version>55&&"autoGainControl"in o2.mediaDevices.getSupportedConstraints())){var X=function(B2,u2,A){u2 in B2&&!(A in B2)&&(B2[A]=B2[u2],delete B2[u2])},R2=o2.mediaDevices.getUserMedia.bind(o2.mediaDevices);if(o2.mediaDevices.getUserMedia=function(h2){return(typeof h2=="undefined"?"undefined":f(h2))==="object"&&f(h2.audio)==="object"&&(h2=JSON.parse(JSON.stringify(h2)),X(h2.audio,"autoGainControl","mozAutoGainControl"),X(h2.audio,"noiseSuppression","mozNoiseSuppression")),R2(h2)},t2&&t2.prototype.getSettings){var y2=t2.prototype.getSettings;t2.prototype.getSettings=function(){var h2=y2.apply(this,arguments);return X(h2,"mozAutoGainControl","autoGainControl"),X(h2,"mozNoiseSuppression","noiseSuppression"),h2}}if(t2&&t2.prototype.applyConstraints){var d2=t2.prototype.applyConstraints;t2.prototype.applyConstraints=function(h2){return this.kind==="audio"&&(typeof h2=="undefined"?"undefined":f(h2))==="object"&&(h2=JSON.parse(JSON.stringify(h2)),X(h2,"autoGainControl","mozAutoGainControl"),X(h2,"noiseSuppression","mozNoiseSuppression")),d2.apply(this,[h2])}}}}},{"../utils":15}],14:[function(R,M,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(d2){return n(d2)}:function(d2){return d2&&typeof Symbol=="function"&&d2.constructor===Symbol&&d2!==Symbol.prototype?"symbol":n(d2)};d.shimLocalStreamsAPI=E,d.shimRemoteStreamsAPI=r2,d.shimCallbacksAPI=n2,d.shimGetUserMedia=o2,d.shimConstraints=t2,d.shimRTCIceServerUrls=X,d.shimTrackEventTransceiver=R2,d.shimCreateOfferLegacy=y2;var y=R("../utils"),w=_(y);function _(d2){if(d2&&d2.__esModule)return d2;var h2={};if(d2!=null)for(var B2 in d2)Object.prototype.hasOwnProperty.call(d2,B2)&&(h2[B2]=d2[B2]);return h2.default=d2,h2}function E(d2){if(!((typeof d2=="undefined"?"undefined":f(d2))!=="object"||!d2.RTCPeerConnection)){if("getLocalStreams"in d2.RTCPeerConnection.prototype||(d2.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in d2.RTCPeerConnection.prototype)){var h2=d2.RTCPeerConnection.prototype.addTrack;d2.RTCPeerConnection.prototype.addStream=function(u2){var A=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(u2)||this._localStreams.push(u2),u2.getAudioTracks().forEach(function(V){return h2.call(A,V,u2)}),u2.getVideoTracks().forEach(function(V){return h2.call(A,V,u2)})},d2.RTCPeerConnection.prototype.addTrack=function(u2){var A=arguments[1];return A&&(this._localStreams?this._localStreams.includes(A)||this._localStreams.push(A):this._localStreams=[A]),h2.apply(this,arguments)}}"removeStream"in d2.RTCPeerConnection.prototype||(d2.RTCPeerConnection.prototype.removeStream=function(u2){var A=this;this._localStreams||(this._localStreams=[]);var V=this._localStreams.indexOf(u2);if(V!==-1){this._localStreams.splice(V,1);var Z=u2.getTracks();this.getSenders().forEach(function(P2){Z.includes(P2.track)&&A.removeTrack(P2)})}})}}function r2(d2){if(!((typeof d2=="undefined"?"undefined":f(d2))!=="object"||!d2.RTCPeerConnection)&&("getRemoteStreams"in d2.RTCPeerConnection.prototype||(d2.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in d2.RTCPeerConnection.prototype))){Object.defineProperty(d2.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(u2){var A=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=u2),this.addEventListener("track",this._onaddstreampoly=function(V){V.streams.forEach(function(Z){if(A._remoteStreams||(A._remoteStreams=[]),!A._remoteStreams.includes(Z)){A._remoteStreams.push(Z);var P2=new Event("addstream");P2.stream=Z,A.dispatchEvent(P2)}})})}});var h2=d2.RTCPeerConnection.prototype.setRemoteDescription;d2.RTCPeerConnection.prototype.setRemoteDescription=function(){var u2=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(A){A.streams.forEach(function(V){if(u2._remoteStreams||(u2._remoteStreams=[]),!(u2._remoteStreams.indexOf(V)>=0)){u2._remoteStreams.push(V);var Z=new Event("addstream");Z.stream=V,u2.dispatchEvent(Z)}})}),h2.apply(u2,arguments)}}}function n2(d2){if(!((typeof d2=="undefined"?"undefined":f(d2))!=="object"||!d2.RTCPeerConnection)){var h2=d2.RTCPeerConnection.prototype,B2=h2.createOffer,u2=h2.createAnswer,A=h2.setLocalDescription,V=h2.setRemoteDescription,Z=h2.addIceCandidate;h2.createOffer=function(W2,V2){var l3=arguments.length>=2?arguments[2]:arguments[0],x3=B2.apply(this,[l3]);return V2?(x3.then(W2,V2),Promise.resolve()):x3},h2.createAnswer=function(W2,V2){var l3=arguments.length>=2?arguments[2]:arguments[0],x3=u2.apply(this,[l3]);return V2?(x3.then(W2,V2),Promise.resolve()):x3};var P2=function(W2,V2,l3){var x3=A.apply(this,[W2]);return l3?(x3.then(V2,l3),Promise.resolve()):x3};h2.setLocalDescription=P2,P2=function(W2,V2,l3){var x3=V.apply(this,[W2]);return l3?(x3.then(V2,l3),Promise.resolve()):x3},h2.setRemoteDescription=P2,P2=function(W2,V2,l3){var x3=Z.apply(this,[W2]);return l3?(x3.then(V2,l3),Promise.resolve()):x3},h2.addIceCandidate=P2}}function o2(d2){var h2=d2&&d2.navigator;if(h2.mediaDevices&&h2.mediaDevices.getUserMedia){var B2=h2.mediaDevices,u2=B2.getUserMedia.bind(B2);h2.mediaDevices.getUserMedia=function(A){return u2(t2(A))}}!h2.getUserMedia&&h2.mediaDevices&&h2.mediaDevices.getUserMedia&&(h2.getUserMedia=function(V,Z,P2){h2.mediaDevices.getUserMedia(V).then(Z,P2)}.bind(h2))}function t2(d2){return d2&&d2.video!==void 0?Object.assign({},d2,{video:w.compactObject(d2.video)}):d2}function X(d2){var h2=d2.RTCPeerConnection;d2.RTCPeerConnection=function(u2,A){if(u2&&u2.iceServers){for(var V=[],Z=0;Z=V&&parseInt(Z[V],10)}function r2(u2,A,V){if(u2.RTCPeerConnection){var Z=u2.RTCPeerConnection.prototype,P2=Z.addEventListener;Z.addEventListener=function(W2,V2){if(W2!==A)return P2.apply(this,arguments);var l3=function(E3){var T3=V(E3);T3&&V2(T3)};return this._eventMap=this._eventMap||{},this._eventMap[V2]=l3,P2.apply(this,[W2,l3])};var I2=Z.removeEventListener;Z.removeEventListener=function(W2,V2){if(W2!==A||!this._eventMap||!this._eventMap[V2])return I2.apply(this,arguments);var l3=this._eventMap[V2];return delete this._eventMap[V2],I2.apply(this,[W2,l3])},Object.defineProperty(Z,"on"+A,{get:function(){return this["_on"+A]},set:function(V2){this["_on"+A]&&(this.removeEventListener(A,this["_on"+A]),delete this["_on"+A]),V2&&this.addEventListener(A,this["_on"+A]=V2)},enumerable:!0,configurable:!0})}}function n2(u2){return typeof u2!="boolean"?new Error("Argument type: "+(typeof u2=="undefined"?"undefined":f(u2))+". Please use a boolean."):(w=u2,u2?"adapter.js logging disabled":"adapter.js logging enabled")}function o2(u2){return typeof u2!="boolean"?new Error("Argument type: "+(typeof u2=="undefined"?"undefined":f(u2))+". Please use a boolean."):(_=!u2,"adapter.js deprecation warnings "+(u2?"disabled":"enabled"))}function t2(){if((typeof window=="undefined"?"undefined":f(window))==="object"){if(w)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function X(u2,A){_&&console.warn(u2+" is deprecated, please use "+A+" instead.")}function R2(u2){var A=u2.navigator,V={browser:null,version:null};if(typeof u2=="undefined"||!u2.navigator)return V.browser="Not a browser.",V;if(A.mozGetUserMedia)V.browser="firefox",V.version=E(A.userAgent,/Firefox\/(\d+)\./,1);else if(A.webkitGetUserMedia||u2.isSecureContext===!1&&u2.webkitRTCPeerConnection&&!u2.RTCIceGatherer)V.browser="chrome",V.version=E(A.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(A.mediaDevices&&A.userAgent.match(/Edge\/(\d+).(\d+)$/))V.browser="edge",V.version=E(A.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(u2.RTCPeerConnection&&A.userAgent.match(/AppleWebKit\/(\d+)\./))V.browser="safari",V.version=E(A.userAgent,/AppleWebKit\/(\d+)\./,1),V.supportsUnifiedPlan=u2.RTCRtpTransceiver&&"currentDirection"in u2.RTCRtpTransceiver.prototype;else return V.browser="Not a supported browser.",V;return V}function y2(u2){return Object.prototype.toString.call(u2)==="[object Object]"}function d2(u2){return y2(u2)?Object.keys(u2).reduce(function(A,V){var Z=y2(u2[V]),P2=Z?d2(u2[V]):u2[V],I2=Z&&!Object.keys(P2).length;return P2===void 0||I2?A:Object.assign(A,y({},V,P2))},{}):u2}function h2(u2,A,V){!A||V.has(A.id)||(V.set(A.id,A),Object.keys(A).forEach(function(Z){Z.endsWith("Id")?h2(u2,u2.get(A[Z]),V):Z.endsWith("Ids")&&A[Z].forEach(function(P2){h2(u2,u2.get(P2),V)})}))}function B2(u2,A,V){var Z=V?"outbound-rtp":"inbound-rtp",P2=new Map;if(A===null)return P2;var I2=[];return u2.forEach(function(W2){W2.type==="track"&&W2.trackIdentifier===A.id&&I2.push(W2)}),I2.forEach(function(W2){u2.forEach(function(V2){V2.type===Z&&V2.trackId===W2.id&&h2(u2,V2,P2)})}),P2}},{}],16:[function(R,M,d){var f=R("sdp");function y(t2){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[t2.type]||t2.type}function w(t2,X,R2,y2,d2){var h2=f.writeRtpDescription(t2.kind,X);if(h2+=f.writeIceParameters(t2.iceGatherer.getLocalParameters()),h2+=f.writeDtlsParameters(t2.dtlsTransport.getLocalParameters(),R2==="offer"?"actpass":d2||"active"),h2+="a=mid:"+t2.mid+`\r +`,t2.rtpSender&&t2.rtpReceiver?h2+=`a=sendrecv\r +`:t2.rtpSender?h2+=`a=sendonly\r +`:t2.rtpReceiver?h2+=`a=recvonly\r +`:h2+=`a=inactive\r +`,t2.rtpSender){var B2=t2.rtpSender._initialTrackId||t2.rtpSender.track.id;t2.rtpSender._initialTrackId=B2;var u2="msid:"+(y2?y2.id:"-")+" "+B2+`\r +`;h2+="a="+u2,h2+="a=ssrc:"+t2.sendEncodingParameters[0].ssrc+" "+u2,t2.sendEncodingParameters[0].rtx&&(h2+="a=ssrc:"+t2.sendEncodingParameters[0].rtx.ssrc+" "+u2,h2+="a=ssrc-group:FID "+t2.sendEncodingParameters[0].ssrc+" "+t2.sendEncodingParameters[0].rtx.ssrc+`\r +`)}return h2+="a=ssrc:"+t2.sendEncodingParameters[0].ssrc+" cname:"+f.localCName+`\r +`,t2.rtpSender&&t2.sendEncodingParameters[0].rtx&&(h2+="a=ssrc:"+t2.sendEncodingParameters[0].rtx.ssrc+" cname:"+f.localCName+`\r +`),h2}function _(t2,X){var R2=!1;return t2=JSON.parse(JSON.stringify(t2)),t2.filter(function(y2){if(y2&&(y2.urls||y2.url)){var d2=y2.urls||y2.url;y2.url&&!y2.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var h2=typeof d2=="string";return h2&&(d2=[d2]),d2=d2.filter(function(B2){var u2=B2.indexOf("turn:")===0&&B2.indexOf("transport=udp")!==-1&&B2.indexOf("turn:[")===-1&&!R2;return u2?(R2=!0,!0):B2.indexOf("stun:")===0&&X>=14393&&B2.indexOf("?transport=udp")===-1}),delete y2.url,y2.urls=h2?d2[0]:d2,!!d2.length}})}function E(t2,X){var R2={codecs:[],headerExtensions:[],fecMechanisms:[]},y2=function(B2,u2){B2=parseInt(B2,10);for(var A=0;A0;I2--)this._iceGatherers.push(new t2.RTCIceGatherer({iceServers:V.iceServers,gatherPolicy:V.iceTransportPolicy}));else V.iceCandidatePoolSize=0;this._config=V,this.transceivers=[],this._sdpSessionId=f.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(h2.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(h2.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),h2.prototype.onicecandidate=null,h2.prototype.onaddstream=null,h2.prototype.ontrack=null,h2.prototype.onremovestream=null,h2.prototype.onsignalingstatechange=null,h2.prototype.oniceconnectionstatechange=null,h2.prototype.onconnectionstatechange=null,h2.prototype.onicegatheringstatechange=null,h2.prototype.onnegotiationneeded=null,h2.prototype.ondatachannel=null,h2.prototype._dispatchEvent=function(A,V){this._isClosed||(this.dispatchEvent(V),typeof this["on"+A]=="function"&&this["on"+A](V))},h2.prototype._emitGatheringStateChange=function(){var A=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",A)},h2.prototype.getConfiguration=function(){return this._config},h2.prototype.getLocalStreams=function(){return this.localStreams},h2.prototype.getRemoteStreams=function(){return this.remoteStreams},h2.prototype._createTransceiver=function(A,V){var Z=this.transceivers.length>0,P2={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:A,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&Z)P2.iceTransport=this.transceivers[0].iceTransport,P2.dtlsTransport=this.transceivers[0].dtlsTransport;else{var I2=this._createIceAndDtlsTransports();P2.iceTransport=I2.iceTransport,P2.dtlsTransport=I2.dtlsTransport}return V||this.transceivers.push(P2),P2},h2.prototype.addTrack=function(A,V){if(this._isClosed)throw o2("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var Z=this.transceivers.find(function(W2){return W2.track===A});if(Z)throw o2("InvalidAccessError","Track already exists.");for(var P2,I2=0;I2=15025)A.getTracks().forEach(function(P2){V.addTrack(P2,A)});else{var Z=A.clone();A.getTracks().forEach(function(P2,I2){var W2=Z.getTracks()[I2];P2.addEventListener("enabled",function(V2){W2.enabled=V2.enabled})}),Z.getTracks().forEach(function(P2){V.addTrack(P2,Z)})}},h2.prototype.removeTrack=function(A){if(this._isClosed)throw o2("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(A instanceof t2.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var V=this.transceivers.find(function(I2){return I2.rtpSender===A});if(!V)throw o2("InvalidAccessError","Sender was not created by this connection.");var Z=V.stream;V.rtpSender.stop(),V.rtpSender=null,V.track=null,V.stream=null;var P2=this.transceivers.map(function(I2){return I2.stream});P2.indexOf(Z)===-1&&this.localStreams.indexOf(Z)>-1&&this.localStreams.splice(this.localStreams.indexOf(Z),1),this._maybeFireNegotiationNeeded()},h2.prototype.removeStream=function(A){var V=this;A.getTracks().forEach(function(Z){var P2=V.getSenders().find(function(I2){return I2.track===Z});P2&&V.removeTrack(P2)})},h2.prototype.getSenders=function(){return this.transceivers.filter(function(A){return!!A.rtpSender}).map(function(A){return A.rtpSender})},h2.prototype.getReceivers=function(){return this.transceivers.filter(function(A){return!!A.rtpReceiver}).map(function(A){return A.rtpReceiver})},h2.prototype._createIceGatherer=function(A,V){var Z=this;if(V&&A>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var P2=new t2.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(P2,"state",{value:"new",writable:!0}),this.transceivers[A].bufferedCandidateEvents=[],this.transceivers[A].bufferCandidates=function(I2){var W2=!I2.candidate||Object.keys(I2.candidate).length===0;P2.state=W2?"completed":"gathering",Z.transceivers[A].bufferedCandidateEvents!==null&&Z.transceivers[A].bufferedCandidateEvents.push(I2)},P2.addEventListener("localcandidate",this.transceivers[A].bufferCandidates),P2},h2.prototype._gather=function(A,V){var Z=this,P2=this.transceivers[V].iceGatherer;if(!P2.onlocalcandidate){var I2=this.transceivers[V].bufferedCandidateEvents;this.transceivers[V].bufferedCandidateEvents=null,P2.removeEventListener("localcandidate",this.transceivers[V].bufferCandidates),P2.onlocalcandidate=function(W2){if(!(Z.usingBundle&&V>0)){var V2=new Event("icecandidate");V2.candidate={sdpMid:A,sdpMLineIndex:V};var l3=W2.candidate,x3=!l3||Object.keys(l3).length===0;if(x3)(P2.state==="new"||P2.state==="gathering")&&(P2.state="completed");else{P2.state==="new"&&(P2.state="gathering"),l3.component=1,l3.ufrag=P2.getLocalParameters().usernameFragment;var E3=f.writeCandidate(l3);V2.candidate=Object.assign(V2.candidate,f.parseCandidate(E3)),V2.candidate.candidate=E3,V2.candidate.toJSON=function(){return{candidate:V2.candidate.candidate,sdpMid:V2.candidate.sdpMid,sdpMLineIndex:V2.candidate.sdpMLineIndex,usernameFragment:V2.candidate.usernameFragment}}}var T3=f.getMediaSections(Z._localDescription.sdp);x3?T3[V2.candidate.sdpMLineIndex]+=`a=end-of-candidates\r +`:T3[V2.candidate.sdpMLineIndex]+="a="+V2.candidate.candidate+`\r +`,Z._localDescription.sdp=f.getDescription(Z._localDescription.sdp)+T3.join("");var m1=Z.transceivers.every(function(T1){return T1.iceGatherer&&T1.iceGatherer.state==="completed"});Z.iceGatheringState!=="gathering"&&(Z.iceGatheringState="gathering",Z._emitGatheringStateChange()),x3||Z._dispatchEvent("icecandidate",V2),m1&&(Z._dispatchEvent("icecandidate",new Event("icecandidate")),Z.iceGatheringState="complete",Z._emitGatheringStateChange())}},t2.setTimeout(function(){I2.forEach(function(W2){P2.onlocalcandidate(W2)})},0)}},h2.prototype._createIceAndDtlsTransports=function(){var A=this,V=new t2.RTCIceTransport(null);V.onicestatechange=function(){A._updateIceConnectionState(),A._updateConnectionState()};var Z=new t2.RTCDtlsTransport(V);return Z.ondtlsstatechange=function(){A._updateConnectionState()},Z.onerror=function(){Object.defineProperty(Z,"state",{value:"failed",writable:!0}),A._updateConnectionState()},{iceTransport:V,dtlsTransport:Z}},h2.prototype._disposeIceAndDtlsTransports=function(A){var V=this.transceivers[A].iceGatherer;V&&(delete V.onlocalcandidate,delete this.transceivers[A].iceGatherer);var Z=this.transceivers[A].iceTransport;Z&&(delete Z.onicestatechange,delete this.transceivers[A].iceTransport);var P2=this.transceivers[A].dtlsTransport;P2&&(delete P2.ondtlsstatechange,delete P2.onerror,delete this.transceivers[A].dtlsTransport)},h2.prototype._transceive=function(A,V,Z){var P2=E(A.localCapabilities,A.remoteCapabilities);V&&A.rtpSender&&(P2.encodings=A.sendEncodingParameters,P2.rtcp={cname:f.localCName,compound:A.rtcpParameters.compound},A.recvEncodingParameters.length&&(P2.rtcp.ssrc=A.recvEncodingParameters[0].ssrc),A.rtpSender.send(P2)),Z&&A.rtpReceiver&&P2.codecs.length>0&&(A.kind==="video"&&A.recvEncodingParameters&&X<15019&&A.recvEncodingParameters.forEach(function(I2){delete I2.rtx}),A.recvEncodingParameters.length?P2.encodings=A.recvEncodingParameters:P2.encodings=[{}],P2.rtcp={compound:A.rtcpParameters.compound},A.rtcpParameters.cname&&(P2.rtcp.cname=A.rtcpParameters.cname),A.sendEncodingParameters.length&&(P2.rtcp.ssrc=A.sendEncodingParameters[0].ssrc),A.rtpReceiver.receive(P2))},h2.prototype.setLocalDescription=function(A){var V=this;if(["offer","answer"].indexOf(A.type)===-1)return Promise.reject(o2("TypeError",'Unsupported type "'+A.type+'"'));if(!r2("setLocalDescription",A.type,V.signalingState)||V._isClosed)return Promise.reject(o2("InvalidStateError","Can not set local "+A.type+" in state "+V.signalingState));var Z,P2;if(A.type==="offer")Z=f.splitSections(A.sdp),P2=Z.shift(),Z.forEach(function(W2,V2){var l3=f.parseRtpParameters(W2);V.transceivers[V2].localCapabilities=l3}),V.transceivers.forEach(function(W2,V2){V._gather(W2.mid,V2)});else if(A.type==="answer"){Z=f.splitSections(V._remoteDescription.sdp),P2=Z.shift();var I2=f.matchPrefix(P2,"a=ice-lite").length>0;Z.forEach(function(W2,V2){var l3=V.transceivers[V2],x3=l3.iceGatherer,E3=l3.iceTransport,T3=l3.dtlsTransport,m1=l3.localCapabilities,T1=l3.remoteCapabilities,x1=f.isRejected(W2)&&f.matchPrefix(W2,"a=bundle-only").length===0;if(!x1&&!l3.rejected){var B1=f.getIceParameters(W2,P2),v1=f.getDtlsParameters(W2,P2);I2&&(v1.role="server"),(!V.usingBundle||V2===0)&&(V._gather(l3.mid,V2),E3.state==="new"&&E3.start(x3,B1,I2?"controlling":"controlled"),T3.state==="new"&&T3.start(v1));var Y1=E(m1,T1);V._transceive(l3,Y1.codecs.length>0,!1)}})}return V._localDescription={type:A.type,sdp:A.sdp},A.type==="offer"?V._updateSignalingState("have-local-offer"):V._updateSignalingState("stable"),Promise.resolve()},h2.prototype.setRemoteDescription=function(A){var V=this;if(["offer","answer"].indexOf(A.type)===-1)return Promise.reject(o2("TypeError",'Unsupported type "'+A.type+'"'));if(!r2("setRemoteDescription",A.type,V.signalingState)||V._isClosed)return Promise.reject(o2("InvalidStateError","Can not set remote "+A.type+" in state "+V.signalingState));var Z={};V.remoteStreams.forEach(function(E3){Z[E3.id]=E3});var P2=[],I2=f.splitSections(A.sdp),W2=I2.shift(),V2=f.matchPrefix(W2,"a=ice-lite").length>0,l3=f.matchPrefix(W2,"a=group:BUNDLE ").length>0;V.usingBundle=l3;var x3=f.matchPrefix(W2,"a=ice-options:")[0];return x3?V.canTrickleIceCandidates=x3.substr(14).split(" ").indexOf("trickle")>=0:V.canTrickleIceCandidates=!1,I2.forEach(function(E3,T3){var m1=f.splitLines(E3),T1=f.getKind(E3),x1=f.isRejected(E3)&&f.matchPrefix(E3,"a=bundle-only").length===0,B1=m1[0].substr(2).split(" ")[2],v1=f.getDirection(E3,W2),Y1=f.parseMsid(E3),g0=f.getMid(E3)||f.generateIdentifier();if(x1||T1==="application"&&(B1==="DTLS/SCTP"||B1==="UDP/DTLS/SCTP")){V.transceivers[T3]={mid:g0,kind:T1,protocol:B1,rejected:!0};return}!x1&&V.transceivers[T3]&&V.transceivers[T3].rejected&&(V.transceivers[T3]=V._createTransceiver(T1,!0));var E2,f3,g3,V3,h1,L1,D1,n0,C0,Pe=f.parseRtpParameters(E3),ke,le;x1||(ke=f.getIceParameters(E3,W2),le=f.getDtlsParameters(E3,W2),le.role="client"),D1=f.parseRtpEncodingParameters(E3);var ie=f.parseRtcpParameters(E3),M1=f.matchPrefix(E3,"a=end-of-candidates",W2).length>0,B=f.matchPrefix(E3,"a=candidate:").map(function(R3){return f.parseCandidate(R3)}).filter(function(R3){return R3.component===1});if((A.type==="offer"||A.type==="answer")&&!x1&&l3&&T3>0&&V.transceivers[T3]&&(V._disposeIceAndDtlsTransports(T3),V.transceivers[T3].iceGatherer=V.transceivers[0].iceGatherer,V.transceivers[T3].iceTransport=V.transceivers[0].iceTransport,V.transceivers[T3].dtlsTransport=V.transceivers[0].dtlsTransport,V.transceivers[T3].rtpSender&&V.transceivers[T3].rtpSender.setTransport(V.transceivers[0].dtlsTransport),V.transceivers[T3].rtpReceiver&&V.transceivers[T3].rtpReceiver.setTransport(V.transceivers[0].dtlsTransport)),A.type==="offer"&&!x1){E2=V.transceivers[T3]||V._createTransceiver(T1),E2.mid=g0,E2.iceGatherer||(E2.iceGatherer=V._createIceGatherer(T3,l3)),B.length&&E2.iceTransport.state==="new"&&(M1&&(!l3||T3===0)?E2.iceTransport.setRemoteCandidates(B):B.forEach(function(R3){n2(E2.iceTransport,R3)})),n0=t2.RTCRtpReceiver.getCapabilities(T1),X<15019&&(n0.codecs=n0.codecs.filter(function(R3){return R3.name!=="rtx"})),L1=E2.sendEncodingParameters||[{ssrc:(2*T3+2)*1001}];var f2=!1;if(v1==="sendrecv"||v1==="sendonly"){if(f2=!E2.rtpReceiver,h1=E2.rtpReceiver||new t2.RTCRtpReceiver(E2.dtlsTransport,T1),f2){var G2;C0=h1.track,Y1&&Y1.stream==="-"||(Y1?(Z[Y1.stream]||(Z[Y1.stream]=new t2.MediaStream,Object.defineProperty(Z[Y1.stream],"id",{get:function(){return Y1.stream}})),Object.defineProperty(C0,"id",{get:function(){return Y1.track}}),G2=Z[Y1.stream]):(Z.default||(Z.default=new t2.MediaStream),G2=Z.default)),G2&&(R2(C0,G2),E2.associatedRemoteMediaStreams.push(G2)),P2.push([C0,h1,G2])}}else E2.rtpReceiver&&E2.rtpReceiver.track&&(E2.associatedRemoteMediaStreams.forEach(function(R3){var C=R3.getTracks().find(function(j){return j.id===E2.rtpReceiver.track.id});C&&y2(C,R3)}),E2.associatedRemoteMediaStreams=[]);E2.localCapabilities=n0,E2.remoteCapabilities=Pe,E2.rtpReceiver=h1,E2.rtcpParameters=ie,E2.sendEncodingParameters=L1,E2.recvEncodingParameters=D1,V._transceive(V.transceivers[T3],!1,f2)}else if(A.type==="answer"&&!x1){E2=V.transceivers[T3],f3=E2.iceGatherer,g3=E2.iceTransport,V3=E2.dtlsTransport,h1=E2.rtpReceiver,L1=E2.sendEncodingParameters,n0=E2.localCapabilities,V.transceivers[T3].recvEncodingParameters=D1,V.transceivers[T3].remoteCapabilities=Pe,V.transceivers[T3].rtcpParameters=ie,B.length&&g3.state==="new"&&((V2||M1)&&(!l3||T3===0)?g3.setRemoteCandidates(B):B.forEach(function(R3){n2(E2.iceTransport,R3)})),(!l3||T3===0)&&(g3.state==="new"&&g3.start(f3,ke,"controlling"),V3.state==="new"&&V3.start(le));var J3=E(E2.localCapabilities,E2.remoteCapabilities),$3=J3.codecs.filter(function(R3){return R3.name.toLowerCase()==="rtx"}).length;!$3&&E2.sendEncodingParameters[0].rtx&&delete E2.sendEncodingParameters[0].rtx,V._transceive(E2,v1==="sendrecv"||v1==="recvonly",v1==="sendrecv"||v1==="sendonly"),h1&&(v1==="sendrecv"||v1==="sendonly")?(C0=h1.track,Y1?(Z[Y1.stream]||(Z[Y1.stream]=new t2.MediaStream),R2(C0,Z[Y1.stream]),P2.push([C0,h1,Z[Y1.stream]])):(Z.default||(Z.default=new t2.MediaStream),R2(C0,Z.default),P2.push([C0,h1,Z.default]))):delete E2.rtpReceiver}}),V._dtlsRole===void 0&&(V._dtlsRole=A.type==="offer"?"active":"passive"),V._remoteDescription={type:A.type,sdp:A.sdp},A.type==="offer"?V._updateSignalingState("have-remote-offer"):V._updateSignalingState("stable"),Object.keys(Z).forEach(function(E3){var T3=Z[E3];if(T3.getTracks().length){if(V.remoteStreams.indexOf(T3)===-1){V.remoteStreams.push(T3);var m1=new Event("addstream");m1.stream=T3,t2.setTimeout(function(){V._dispatchEvent("addstream",m1)})}P2.forEach(function(T1){var x1=T1[0],B1=T1[1];T3.id===T1[2].id&&d2(V,x1,B1,[T3])})}}),P2.forEach(function(E3){E3[2]||d2(V,E3[0],E3[1],[])}),t2.setTimeout(function(){V&&V.transceivers&&V.transceivers.forEach(function(E3){E3.iceTransport&&E3.iceTransport.state==="new"&&E3.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),E3.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},h2.prototype.close=function(){this.transceivers.forEach(function(A){A.iceTransport&&A.iceTransport.stop(),A.dtlsTransport&&A.dtlsTransport.stop(),A.rtpSender&&A.rtpSender.stop(),A.rtpReceiver&&A.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},h2.prototype._updateSignalingState=function(A){this.signalingState=A;var V=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",V)},h2.prototype._maybeFireNegotiationNeeded=function(){var A=this;this.signalingState!=="stable"||this.needNegotiation===!0||(this.needNegotiation=!0,t2.setTimeout(function(){if(A.needNegotiation){A.needNegotiation=!1;var V=new Event("negotiationneeded");A._dispatchEvent("negotiationneeded",V)}},0))},h2.prototype._updateIceConnectionState=function(){var A,V={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(P2){P2.iceTransport&&!P2.rejected&&V[P2.iceTransport.state]++}),A="new",V.failed>0?A="failed":V.checking>0?A="checking":V.disconnected>0?A="disconnected":V.new>0?A="new":V.connected>0?A="connected":V.completed>0&&(A="completed"),A!==this.iceConnectionState){this.iceConnectionState=A;var Z=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",Z)}},h2.prototype._updateConnectionState=function(){var A,V={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(P2){P2.iceTransport&&P2.dtlsTransport&&!P2.rejected&&(V[P2.iceTransport.state]++,V[P2.dtlsTransport.state]++)}),V.connected+=V.completed,A="new",V.failed>0?A="failed":V.connecting>0?A="connecting":V.disconnected>0?A="disconnected":V.new>0?A="new":V.connected>0&&(A="connected"),A!==this.connectionState){this.connectionState=A;var Z=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",Z)}},h2.prototype.createOffer=function(){var A=this;if(A._isClosed)return Promise.reject(o2("InvalidStateError","Can not call createOffer after close"));var V=A.transceivers.filter(function(V2){return V2.kind==="audio"}).length,Z=A.transceivers.filter(function(V2){return V2.kind==="video"}).length,P2=arguments[0];if(P2){if(P2.mandatory||P2.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");P2.offerToReceiveAudio!==void 0&&(P2.offerToReceiveAudio===!0?V=1:P2.offerToReceiveAudio===!1?V=0:V=P2.offerToReceiveAudio),P2.offerToReceiveVideo!==void 0&&(P2.offerToReceiveVideo===!0?Z=1:P2.offerToReceiveVideo===!1?Z=0:Z=P2.offerToReceiveVideo)}for(A.transceivers.forEach(function(V2){V2.kind==="audio"?(V--,V<0&&(V2.wantReceive=!1)):V2.kind==="video"&&(Z--,Z<0&&(V2.wantReceive=!1))});V>0||Z>0;)V>0&&(A._createTransceiver("audio"),V--),Z>0&&(A._createTransceiver("video"),Z--);var I2=f.writeSessionBoilerplate(A._sdpSessionId,A._sdpSessionVersion++);A.transceivers.forEach(function(V2,l3){var x3=V2.track,E3=V2.kind,T3=V2.mid||f.generateIdentifier();V2.mid=T3,V2.iceGatherer||(V2.iceGatherer=A._createIceGatherer(l3,A.usingBundle));var m1=t2.RTCRtpSender.getCapabilities(E3);X<15019&&(m1.codecs=m1.codecs.filter(function(x1){return x1.name!=="rtx"})),m1.codecs.forEach(function(x1){x1.name==="H264"&&x1.parameters["level-asymmetry-allowed"]===void 0&&(x1.parameters["level-asymmetry-allowed"]="1"),V2.remoteCapabilities&&V2.remoteCapabilities.codecs&&V2.remoteCapabilities.codecs.forEach(function(B1){x1.name.toLowerCase()===B1.name.toLowerCase()&&x1.clockRate===B1.clockRate&&(x1.preferredPayloadType=B1.payloadType)})}),m1.headerExtensions.forEach(function(x1){var B1=V2.remoteCapabilities&&V2.remoteCapabilities.headerExtensions||[];B1.forEach(function(v1){x1.uri===v1.uri&&(x1.id=v1.id)})});var T1=V2.sendEncodingParameters||[{ssrc:(2*l3+1)*1001}];x3&&X>=15019&&E3==="video"&&!T1[0].rtx&&(T1[0].rtx={ssrc:T1[0].ssrc+1}),V2.wantReceive&&(V2.rtpReceiver=new t2.RTCRtpReceiver(V2.dtlsTransport,E3)),V2.localCapabilities=m1,V2.sendEncodingParameters=T1}),A._config.bundlePolicy!=="max-compat"&&(I2+="a=group:BUNDLE "+A.transceivers.map(function(V2){return V2.mid}).join(" ")+`\r +`),I2+=`a=ice-options:trickle\r +`,A.transceivers.forEach(function(V2,l3){I2+=w(V2,V2.localCapabilities,"offer",V2.stream,A._dtlsRole),I2+=`a=rtcp-rsize\r +`,V2.iceGatherer&&A.iceGatheringState!=="new"&&(l3===0||!A.usingBundle)&&(V2.iceGatherer.getLocalCandidates().forEach(function(x3){x3.component=1,I2+="a="+f.writeCandidate(x3)+`\r +`}),V2.iceGatherer.state==="completed"&&(I2+=`a=end-of-candidates\r +`))});var W2=new t2.RTCSessionDescription({type:"offer",sdp:I2});return Promise.resolve(W2)},h2.prototype.createAnswer=function(){var A=this;if(A._isClosed)return Promise.reject(o2("InvalidStateError","Can not call createAnswer after close"));if(!(A.signalingState==="have-remote-offer"||A.signalingState==="have-local-pranswer"))return Promise.reject(o2("InvalidStateError","Can not call createAnswer in signalingState "+A.signalingState));var V=f.writeSessionBoilerplate(A._sdpSessionId,A._sdpSessionVersion++);A.usingBundle&&(V+="a=group:BUNDLE "+A.transceivers.map(function(I2){return I2.mid}).join(" ")+`\r +`),V+=`a=ice-options:trickle\r +`;var Z=f.getMediaSections(A._remoteDescription.sdp).length;A.transceivers.forEach(function(I2,W2){if(!(W2+1>Z)){if(I2.rejected){I2.kind==="application"?I2.protocol==="DTLS/SCTP"?V+=`m=application 0 DTLS/SCTP 5000\r +`:V+="m=application 0 "+I2.protocol+` webrtc-datachannel\r +`:I2.kind==="audio"?V+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r +a=rtpmap:0 PCMU/8000\r +`:I2.kind==="video"&&(V+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r +a=rtpmap:120 VP8/90000\r +`),V+=`c=IN IP4 0.0.0.0\r +a=inactive\r +a=mid:`+I2.mid+`\r +`;return}if(I2.stream){var V2;I2.kind==="audio"?V2=I2.stream.getAudioTracks()[0]:I2.kind==="video"&&(V2=I2.stream.getVideoTracks()[0]),V2&&X>=15019&&I2.kind==="video"&&!I2.sendEncodingParameters[0].rtx&&(I2.sendEncodingParameters[0].rtx={ssrc:I2.sendEncodingParameters[0].ssrc+1})}var l3=E(I2.localCapabilities,I2.remoteCapabilities),x3=l3.codecs.filter(function(E3){return E3.name.toLowerCase()==="rtx"}).length;!x3&&I2.sendEncodingParameters[0].rtx&&delete I2.sendEncodingParameters[0].rtx,V+=w(I2,l3,"answer",I2.stream,A._dtlsRole),I2.rtcpParameters&&I2.rtcpParameters.reducedSize&&(V+=`a=rtcp-rsize\r +`)}});var P2=new t2.RTCSessionDescription({type:"answer",sdp:V});return Promise.resolve(P2)},h2.prototype.addIceCandidate=function(A){var V=this,Z;return A&&!(A.sdpMLineIndex!==void 0||A.sdpMid)?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(P2,I2){if(V._remoteDescription)if(!A||A.candidate==="")for(var W2=0;W20?f.parseCandidate(A.candidate):{};if(E3.protocol==="tcp"&&(E3.port===0||E3.port===9)||E3.component&&E3.component!==1)return P2();if((V2===0||V2>0&&x3.iceTransport!==V.transceivers[0].iceTransport)&&!n2(x3.iceTransport,E3))return I2(o2("OperationError","Can not add ICE candidate"));var T3=A.candidate.trim();T3.indexOf("a=")===0&&(T3=T3.substr(2)),Z=f.getMediaSections(V._remoteDescription.sdp),Z[V2]+="a="+(E3.type?T3:"end-of-candidates")+`\r +`,V._remoteDescription.sdp=f.getDescription(V._remoteDescription.sdp)+Z.join("")}else return I2(o2("OperationError","Can not add ICE candidate"))}else return I2(o2("InvalidStateError","Can not add ICE candidate without a remote description"));P2()})},h2.prototype.getStats=function(A){if(A&&A instanceof t2.MediaStreamTrack){var V=null;if(this.transceivers.forEach(function(P2){P2.rtpSender&&P2.rtpSender.track===A?V=P2.rtpSender:P2.rtpReceiver&&P2.rtpReceiver.track===A&&(V=P2.rtpReceiver)}),!V)throw o2("InvalidAccessError","Invalid selector.");return V.getStats()}var Z=[];return this.transceivers.forEach(function(P2){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(I2){P2[I2]&&Z.push(P2[I2].getStats())})}),Promise.all(Z).then(function(P2){var I2=new Map;return P2.forEach(function(W2){W2.forEach(function(V2){I2.set(V2.id,V2)})}),I2})};var B2=["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"];B2.forEach(function(A){var V=t2[A];if(V&&V.prototype&&V.prototype.getStats){var Z=V.prototype.getStats;V.prototype.getStats=function(){return Z.apply(this).then(function(P2){var I2=new Map;return Object.keys(P2).forEach(function(W2){P2[W2].type=y(P2[W2]),I2.set(W2,P2[W2])}),I2})}}});var u2=["createOffer","createAnswer"];return u2.forEach(function(A){var V=h2.prototype[A];h2.prototype[A]=function(){var Z=arguments;return typeof Z[0]=="function"||typeof Z[1]=="function"?V.apply(this,[arguments[2]]).then(function(P2){typeof Z[0]=="function"&&Z[0].apply(null,[P2])},function(P2){typeof Z[1]=="function"&&Z[1].apply(null,[P2])}):V.apply(this,arguments)}}),u2=["setLocalDescription","setRemoteDescription","addIceCandidate"],u2.forEach(function(A){var V=h2.prototype[A];h2.prototype[A]=function(){var Z=arguments;return typeof Z[1]=="function"||typeof Z[2]=="function"?V.apply(this,arguments).then(function(){typeof Z[1]=="function"&&Z[1].apply(null)},function(P2){typeof Z[2]=="function"&&Z[2].apply(null,[P2])}):V.apply(this,arguments)}}),["getStats"].forEach(function(A){var V=h2.prototype[A];h2.prototype[A]=function(){var Z=arguments;return typeof Z[1]=="function"?V.apply(this,arguments).then(function(){typeof Z[1]=="function"&&Z[1].apply(null)}):V.apply(this,arguments)}}),h2}},{sdp:17}],17:[function(R,M,d){var f={};f.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},f.localCName=f.generateIdentifier(),f.splitLines=function(y){return y.trim().split(` +`).map(function(w){return w.trim()})},f.splitSections=function(y){var w=y.split(` +m=`);return w.map(function(_,E){return(E>0?"m="+_:_).trim()+`\r +`})},f.getDescription=function(y){var w=f.splitSections(y);return w&&w[0]},f.getMediaSections=function(y){var w=f.splitSections(y);return w.shift(),w},f.matchPrefix=function(y,w){return f.splitLines(y).filter(function(_){return _.indexOf(w)===0})},f.parseCandidate=function(y){var w;y.indexOf("a=candidate:")===0?w=y.substring(12).split(" "):w=y.substring(10).split(" ");for(var _={foundation:w[0],component:parseInt(w[1],10),protocol:w[2].toLowerCase(),priority:parseInt(w[3],10),ip:w[4],address:w[4],port:parseInt(w[5],10),type:w[7]},E=8;E0?w[0].split("/")[1]:"sendrecv",uri:w[1]}},f.writeExtmap=function(y){return"a=extmap:"+(y.id||y.preferredId)+(y.direction&&y.direction!=="sendrecv"?"/"+y.direction:"")+" "+y.uri+`\r +`},f.parseFmtp=function(y){for(var w={},_,E=y.substr(y.indexOf(" ")+1).split(";"),r2=0;r2-1?(_.attribute=y.substr(w+1,E-w-1),_.value=y.substr(E+1)):_.attribute=y.substr(w+1),_},f.parseSsrcGroup=function(y){var w=y.substr(13).split(" ");return{semantics:w.shift(),ssrcs:w.map(function(_){return parseInt(_,10)})}},f.getMid=function(y){var w=f.matchPrefix(y,"a=mid:")[0];if(w)return w.substr(6)},f.parseFingerprint=function(y){var w=y.substr(14).split(" ");return{algorithm:w[0].toLowerCase(),value:w[1]}},f.getDtlsParameters=function(y,w){var _=f.matchPrefix(y+w,"a=fingerprint:");return{role:"auto",fingerprints:_.map(f.parseFingerprint)}},f.writeDtlsParameters=function(y,w){var _="a=setup:"+w+`\r +`;return y.fingerprints.forEach(function(E){_+="a=fingerprint:"+E.algorithm+" "+E.value+`\r +`}),_},f.getIceParameters=function(y,w){var _=f.splitLines(y);_=_.concat(f.splitLines(w));var E={usernameFragment:_.filter(function(r2){return r2.indexOf("a=ice-ufrag:")===0})[0].substr(12),password:_.filter(function(r2){return r2.indexOf("a=ice-pwd:")===0})[0].substr(10)};return E},f.writeIceParameters=function(y){return"a=ice-ufrag:"+y.usernameFragment+`\r +a=ice-pwd:`+y.password+`\r +`},f.parseRtpParameters=function(y){for(var w={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},_=f.splitLines(y),E=_[0].split(" "),r2=3;r20?"9":"0",_+=" UDP/TLS/RTP/SAVPF ",_+=w.codecs.map(function(r2){return r2.preferredPayloadType!==void 0?r2.preferredPayloadType:r2.payloadType}).join(" ")+`\r +`,_+=`c=IN IP4 0.0.0.0\r +`,_+=`a=rtcp:9 IN IP4 0.0.0.0\r +`,w.codecs.forEach(function(r2){_+=f.writeRtpMap(r2),_+=f.writeFmtp(r2),_+=f.writeRtcpFb(r2)});var E=0;return w.codecs.forEach(function(r2){r2.maxptime>E&&(E=r2.maxptime)}),E>0&&(_+="a=maxptime:"+E+`\r +`),_+=`a=rtcp-mux\r +`,w.headerExtensions&&w.headerExtensions.forEach(function(r2){_+=f.writeExtmap(r2)}),_},f.parseRtpEncodingParameters=function(y){var w=[],_=f.parseRtpParameters(y),E=_.fecMechanisms.indexOf("RED")!==-1,r2=_.fecMechanisms.indexOf("ULPFEC")!==-1,n2=f.matchPrefix(y,"a=ssrc:").map(function(y2){return f.parseSsrcMedia(y2)}).filter(function(y2){return y2.attribute==="cname"}),o2=n2.length>0&&n2[0].ssrc,t2,X=f.matchPrefix(y,"a=ssrc-group:FID").map(function(y2){var d2=y2.substr(17).split(" ");return d2.map(function(h2){return parseInt(h2,10)})});X.length>0&&X[0].length>1&&X[0][0]===o2&&(t2=X[0][1]),_.codecs.forEach(function(y2){if(y2.name.toUpperCase()==="RTX"&&y2.parameters.apt){var d2={ssrc:o2,codecPayloadType:parseInt(y2.parameters.apt,10)};o2&&t2&&(d2.rtx={ssrc:t2}),w.push(d2),E&&(d2=JSON.parse(JSON.stringify(d2)),d2.fec={ssrc:o2,mechanism:r2?"red+ulpfec":"red"},w.push(d2))}}),w.length===0&&o2&&w.push({ssrc:o2});var R2=f.matchPrefix(y,"b=");return R2.length&&(R2[0].indexOf("b=TIAS:")===0?R2=parseInt(R2[0].substr(7),10):R2[0].indexOf("b=AS:")===0?R2=parseInt(R2[0].substr(5),10)*1e3*.95-50*40*8:R2=void 0,w.forEach(function(y2){y2.maxBitrate=R2})),w},f.parseRtcpParameters=function(y){var w={},_=f.matchPrefix(y,"a=ssrc:").map(function(n2){return f.parseSsrcMedia(n2)}).filter(function(n2){return n2.attribute==="cname"})[0];_&&(w.cname=_.value,w.ssrc=_.ssrc);var E=f.matchPrefix(y,"a=rtcp-rsize");w.reducedSize=E.length>0,w.compound=E.length===0;var r2=f.matchPrefix(y,"a=rtcp-mux");return w.mux=r2.length>0,w},f.parseMsid=function(y){var w,_=f.matchPrefix(y,"a=msid:");if(_.length===1)return w=_[0].substr(7).split(" "),{stream:w[0],track:w[1]};var E=f.matchPrefix(y,"a=ssrc:").map(function(r2){return f.parseSsrcMedia(r2)}).filter(function(r2){return r2.attribute==="msid"});if(E.length>0)return w=E[0].value.split(" "),{stream:w[0],track:w[1]}},f.parseSctpDescription=function(y){var w=f.parseMLine(y),_=f.matchPrefix(y,"a=max-message-size:"),E;_.length>0&&(E=parseInt(_[0].substr(19),10)),isNaN(E)&&(E=65536);var r2=f.matchPrefix(y,"a=sctp-port:");if(r2.length>0)return{port:parseInt(r2[0].substr(12),10),protocol:w.fmt,maxMessageSize:E};var n2=f.matchPrefix(y,"a=sctpmap:");if(n2.length>0){var o2=f.matchPrefix(y,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(o2[0],10),protocol:o2[1],maxMessageSize:E}}},f.writeSctpDescription=function(y,w){var _=[];return y.protocol!=="DTLS/SCTP"?_=["m="+y.kind+" 9 "+y.protocol+" "+w.protocol+`\r +`,`c=IN IP4 0.0.0.0\r +`,"a=sctp-port:"+w.port+`\r +`]:_=["m="+y.kind+" 9 "+y.protocol+" "+w.port+`\r +`,`c=IN IP4 0.0.0.0\r +`,"a=sctpmap:"+w.port+" "+w.protocol+` 65535\r +`],w.maxMessageSize!==void 0&&_.push("a=max-message-size:"+w.maxMessageSize+`\r +`),_.join("")},f.generateSessionId=function(){return Math.random().toString().substr(2,21)},f.writeSessionBoilerplate=function(y,w,_){var E,r2=w!==void 0?w:2;y?E=y:E=f.generateSessionId();var n2=_||"thisisadapterortc";return`v=0\r +o=`+n2+" "+E+" "+r2+` IN IP4 127.0.0.1\r +s=-\r +t=0 0\r +`},f.writeMediaSection=function(y,w,_,E){var r2=f.writeRtpDescription(y.kind,w);if(r2+=f.writeIceParameters(y.iceGatherer.getLocalParameters()),r2+=f.writeDtlsParameters(y.dtlsTransport.getLocalParameters(),_==="offer"?"actpass":"active"),r2+="a=mid:"+y.mid+`\r +`,y.direction?r2+="a="+y.direction+`\r +`:y.rtpSender&&y.rtpReceiver?r2+=`a=sendrecv\r +`:y.rtpSender?r2+=`a=sendonly\r +`:y.rtpReceiver?r2+=`a=recvonly\r +`:r2+=`a=inactive\r +`,y.rtpSender){var n2="msid:"+E.id+" "+y.rtpSender.track.id+`\r +`;r2+="a="+n2,r2+="a=ssrc:"+y.sendEncodingParameters[0].ssrc+" "+n2,y.sendEncodingParameters[0].rtx&&(r2+="a=ssrc:"+y.sendEncodingParameters[0].rtx.ssrc+" "+n2,r2+="a=ssrc-group:FID "+y.sendEncodingParameters[0].ssrc+" "+y.sendEncodingParameters[0].rtx.ssrc+`\r +`)}return r2+="a=ssrc:"+y.sendEncodingParameters[0].ssrc+" cname:"+f.localCName+`\r +`,y.rtpSender&&y.sendEncodingParameters[0].rtx&&(r2+="a=ssrc:"+y.sendEncodingParameters[0].rtx.ssrc+" cname:"+f.localCName+`\r +`),r2},f.getDirection=function(y,w){for(var _=f.splitLines(y),E=0;E<_.length;E++)switch(_[E]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return _[E].substr(2)}return w?f.getDirection(w):"sendrecv"},f.getKind=function(y){var w=f.splitLines(y),_=w[0].split(" ");return _[0].substr(2)},f.isRejected=function(y){return y.split(" ",2)[1]==="0"},f.parseMLine=function(y){var w=f.splitLines(y),_=w[0].substr(2).split(" ");return{kind:_[0],port:parseInt(_[1],10),protocol:_[2],fmt:_.slice(3).join(" ")}},f.parseOLine=function(y){var w=f.matchPrefix(y,"o=")[0],_=w.substr(2).split(" ");return{username:_[0],sessionId:_[1],sessionVersion:parseInt(_[2],10),netType:_[3],addressType:_[4],address:_[5]}},f.isValidSDP=function(y){if(typeof y!="string"||y.length===0)return!1;for(var w=f.splitLines(y),_=0;_=26&&R<=M?!0:O.extension.isInstalled()}else return!0};var U1={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return document.querySelector("#janus-extension-installed")!==null},getScreen:function(M){var d=window.setTimeout(function(){var f=new Error("NavigatorUserMediaError");return f.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',M(f)},1e3);this.cache[d]=M,window.postMessage({type:"janusGetScreen",id:d},"*")},init:function(){var M={};this.cache=M,window.addEventListener("message",function(d){if(d.origin==window.location.origin)if(d.data.type=="janusGotScreen"&&M[d.data.id]){var f=M[d.data.id];if(delete M[d.data.id],d.data.sourceId===""){var y=new Error("NavigatorUserMediaError");y.name="You cancelled the request for permission, giving up...",f(y)}else f(null,d.data.sourceId)}else d.data.type=="janusGetScreenPending"&&(console.log("clearing ",d.data.id),window.clearTimeout(d.data.id))})}};O.useDefaultDependencies=function(R){var M=R&&R.fetch||fetch,d=R&&R.Promise||Promise,f=R&&R.WebSocket||WebSocket;return{newWebSocket:function(w,_){return new f(w,_)},extension:R&&R.extension||U1,isArray:function(w){return Array.isArray(w)},webRTCAdapter:R&&R.adapter||window.adapter,httpAPICall:function(w,_){var E={method:_.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};_.verb==="POST"&&(E.headers["Content-Type"]="application/json"),_.withCredentials!==void 0&&(E.credentials=_.withCredentials===!0?"include":_.withCredentials?_.withCredentials:"omit"),_.body!==void 0&&(E.body=JSON.stringify(_.body));var r2=M(w,E).catch(function(o2){return d.reject({message:"Probably a network error, is the server down?",error:o2})});if(_.timeout!==void 0){var n2=new d(function(o2,t2){var X=setTimeout(function(){return clearTimeout(X),t2({message:"Request timed out",timeout:_.timeout})},_.timeout)});r2=d.race([r2,n2])}return r2.then(function(o2){if(o2.ok){if(n(_.success)===n(O.noop))return o2.json().then(function(t2){_.success(t2)}).catch(function(t2){return d.reject({message:"Failed to parse response body",error:t2,response:o2})})}else return d.reject({message:"API call failed",response:o2})}).catch(function(o2){n(_.error)===n(O.noop)&&_.error(o2.message||"<< internal error >>",o2)}),r2}}},O.useOldDependencies=function(R){var M=R&&R.jQuery||jQuery,d=R&&R.WebSocket||WebSocket;return{newWebSocket:function(y,w){return new d(y,w)},isArray:function(y){return M.isArray(y)},extension:R&&R.extension||U1,webRTCAdapter:R&&R.adapter||adapter,httpAPICall:function(y,w){var _=w.body!==void 0?{contentType:"application/json",data:JSON.stringify(w.body)}:{},E=w.withCredentials!==void 0?{xhrFields:{withCredentials:w.withCredentials}}:{};return M.ajax(M.extend(_,E,{url:y,type:w.verb,cache:!1,dataType:"json",async:w.async,timeout:w.timeout,success:function(n2){n(w.success)===n(O.noop)&&w.success(n2)},error:function(n2,o2,t2){n(w.error)===n(O.noop)&&w.error(o2,t2)}}))}}},O.noop=function(){},O.dataChanDefaultLabel="JanusDataChannel",O.endOfCandidates=null,O.init=function(R){if(R=R||{},R.callback=typeof R.callback=="function"?R.callback:O.noop,O.initDone===!0)R.callback();else{if((typeof console=="undefined"||typeof console.log=="undefined")&&(console={log:function(){}}),O.trace=O.noop,O.debug=O.noop,O.vdebug=O.noop,O.log=O.noop,O.warn=O.noop,O.error=O.noop,R.debug===!0||R.debug==="all")O.trace=console.trace.bind(console),O.debug=console.debug.bind(console),O.vdebug=console.debug.bind(console),O.log=console.log.bind(console),O.warn=console.warn.bind(console),O.error=console.error.bind(console);else if(Array.isArray(R.debug))for(var M in R.debug){var d=R.debug[M];switch(d){case"trace":O.trace=console.trace.bind(console);break;case"debug":O.debug=console.debug.bind(console);break;case"vdebug":O.vdebug=console.debug.bind(console);break;case"log":O.log=console.log.bind(console);break;case"warn":O.warn=console.warn.bind(console);break;case"error":O.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+d+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}}O.log("Initializing library");var f=R.dependencies||O.useDefaultDependencies();O.isArray=f.isArray,O.webRTCAdapter=f.webRTCAdapter,O.httpAPICall=f.httpAPICall,O.newWebSocket=f.newWebSocket,O.extension=f.extension,O.extension.init(),O.listDevices=function(o2,t2){o2=typeof o2=="function"?o2:O.noop,t2==null&&(t2={audio:!0,video:!0}),O.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(t2).then(function(X){navigator.mediaDevices.enumerateDevices().then(function(R2){O.debug(R2),o2(R2);try{var y2=X.getTracks();for(var d2 in y2){var h2=y2[d2];h2!=null&&h2.stop()}}catch(B2){}})}).catch(function(X){O.error(X),o2([])}):(O.warn("navigator.mediaDevices unavailable"),o2([]))},O.attachMediaStream=function(o2,t2){if(O.webRTCAdapter.browserDetails.browser==="chrome"){var X=O.webRTCAdapter.browserDetails.version;X>=52?o2.srcObject=t2:O.error("Error attaching stream to element")}else o2.srcObject=t2},O.reattachMediaStream=function(o2,t2){if(O.webRTCAdapter.browserDetails.browser==="chrome"){var X=O.webRTCAdapter.browserDetails.version;X>=52?o2.srcObject=t2.srcObject:typeof o2.src!="undefined"?o2.src=t2.src:O.error("Error reattaching stream to element")}else o2.srcObject=t2.srcObject};var y=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,w=y?"pagehide":"beforeunload",_=window["on"+w];if(window.addEventListener(w,function(o2){O.log("Closing window");for(var t2 in O.sessions)O.sessions[t2]!==null&&O.sessions[t2]!==void 0&&O.sessions[t2].destroyOnUnload&&(O.log("Destroying session "+t2),O.sessions[t2].destroy({asyncRequest:!1,notifyDestroyed:!1}));_&&typeof _=="function"&&_()}),O.safariVp8=!1,O.webRTCAdapter.browserDetails.browser==="safari"&&O.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var M in RTCRtpSender.getCapabilities("video").codecs){var E=RTCRtpSender.getCapabilities("video").codecs[M];if(E&&E.mimeType&&E.mimeType.toLowerCase()==="video/vp8"){O.safariVp8=!0;break}}O.safariVp8?O.log("This version of Safari supports VP8"):O.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var r2=new RTCPeerConnection({},{});r2.createOffer({offerToReceiveVideo:!0}).then(function(o2){O.safariVp8=o2.sdp.indexOf("VP8")!==-1,O.safariVp8?O.log("This version of Safari supports VP8"):O.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),r2.close(),r2=null})}if(O.unifiedPlan=!1,O.webRTCAdapter.browserDetails.browser==="firefox"&&O.webRTCAdapter.browserDetails.version>=59)O.unifiedPlan=!0;else if(O.webRTCAdapter.browserDetails.browser==="chrome"&&O.webRTCAdapter.browserDetails.version<72)O.unifiedPlan=!1;else if(typeof RTCRtpTransceiver!="undefined"&&!("currentDirection"in RTCRtpTransceiver.prototype))O.unifiedPlan=!1;else{var n2=new RTCPeerConnection;try{n2.addTransceiver("audio"),O.unifiedPlan=!0}catch(o2){}n2.close()}O.initDone=!0,R.callback()}},O.isWebrtcSupported=function(){return window.RTCPeerConnection!==void 0&&window.RTCPeerConnection!==null},O.isGetUserMediaAvailable=function(){return navigator.mediaDevices!==void 0&&navigator.mediaDevices!==null&&navigator.mediaDevices.getUserMedia!==void 0&&navigator.mediaDevices.getUserMedia!==null},O.randomString=function(R){for(var M="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",d="",f=0;f3){A=!1,R.error("Lost connection to the server (is it down?)");return}V2()}})}}function l3(T,D){if(I2=0,!M&&V!==void 0&&V!==null&&D!==!0&&V2(),!M&&O.isArray(T)){for(var W=0;W data channel: "+b2),b2==="open"){if(S2.dataChannel[U].pending&&S2.dataChannel[U].pending.length>0){O.log("Sending pending messages on <"+U+">:",S2.dataChannel[U].pending.length);for(var o3 in S2.dataChannel[U].pending){var Z2=S2.dataChannel[U].pending[o3];O.log("Sending string on data channel <"+U+">: "+Z2),S2.dataChannel[U].send(Z2)}S2.dataChannel[U].pending=[]}Y.ondataopen(U)}},r3=function(N){O.error("Got error on data channel:",N)};W?S2.dataChannel[D]=W:S2.dataChannel[D]=S2.pc.createDataChannel(D,{ordered:!1}),S2.dataChannel[D].onmessage=C2,S2.dataChannel[D].onopen=U2,S2.dataChannel[D].onclose=U2,S2.dataChannel[D].onerror=r3,S2.dataChannel[D].pending=[],G&&S2.dataChannel[D].pending.push(G)}function v1(T,D){D=D||{},D.success=typeof D.success=="function"?D.success:O.noop,D.error=typeof D.error=="function"?D.error:O.noop;var W=Z[T];if(W==null||W.webrtcStuff===null||W.webrtcStuff===void 0){O.warn("Invalid handle"),D.error("Invalid handle");return}var G=W.webrtcStuff,Y=D.text;if(Y==null){O.warn("Invalid text"),D.error("Invalid text");return}var S2=D.label?D.label:O.dataChanDefaultLabel;if(!G.dataChannel[S2]){B1(T,S2,!1,Y),D.success();return}if(G.dataChannel[S2].readyState!=="open"){G.dataChannel[S2].pending.push(Y),D.success();return}O.log("Sending string on data channel <"+S2+">: "+Y),G.dataChannel[S2].send(Y),D.success()}function Y1(T,D){D=D||{},D.success=typeof D.success=="function"?D.success:O.noop,D.error=typeof D.error=="function"?D.error:O.noop;var W=Z[T];if(W==null||W.webrtcStuff===null||W.webrtcStuff===void 0){O.warn("Invalid handle"),D.error("Invalid handle");return}var G=W.webrtcStuff;if(G.dtmfSender===null||G.dtmfSender===void 0){if(G.pc!==void 0&&G.pc!==null){var Y=G.pc.getSenders(),S2=Y.find(function(N){return N.track&&N.track.kind==="audio"});if(!S2){O.warn("Invalid DTMF configuration (no audio track)"),D.error("Invalid DTMF configuration (no audio track)");return}G.dtmfSender=S2.dtmf,G.dtmfSender&&(O.log("Created DTMF Sender"),G.dtmfSender.ontonechange=function(N){O.debug("Sent DTMF tone: "+N.tone)})}if(G.dtmfSender===null||G.dtmfSender===void 0){O.warn("Invalid DTMF configuration"),D.error("Invalid DTMF configuration");return}}var C2=D.dtmf;if(C2==null){O.warn("Invalid DTMF parameters"),D.error("Invalid DTMF parameters");return}var U2=C2.tones;if(U2==null){O.warn("Invalid DTMF string"),D.error("Invalid DTMF string");return}var r3=C2.duration;r3==null&&(r3=500);var P=C2.gap;P==null&&(P=50),O.debug("Sending DTMF string "+U2+" (duration "+r3+"ms, gap "+P+"ms)"),G.dtmfSender.insertDTMF(U2,r3,P),D.success()}function g0(T,D){D=D||{},D.success=typeof D.success=="function"?D.success:O.noop,D.error=typeof D.error=="function"?D.error:O.noop;var W=!0;D.asyncRequest!==void 0&&D.asyncRequest!==null&&(W=D.asyncRequest===!0);var G=!0;D.noRequest!==void 0&&D.noRequest!==null&&(G=D.noRequest===!0),O.log("Destroying handle "+T+" (async="+W+")"),le(T);var Y=Z[T];if(Y==null||Y.detached){delete Z[T],D.success();return}if(G){delete Z[T],D.success();return}if(!A){O.warn("Is the server down? (connected=false)"),D.error("Is the server down? (connected=false)");return}var S2={rtcgw:"detach",transaction:O.randomString(12)};if(Y.token!==null&&Y.token!==void 0&&(S2.token=Y.token),d2!=null&&(S2.apisecret=d2),M){S2.session_id=V,S2.handle_id=T,d.send(JSON.stringify(S2)),delete Z[T],D.success();return}O.httpAPICall(E+"/"+V+"/"+T,{verb:"POST",async:W,withCredentials:X,body:S2,success:function(U2){O.log("Destroyed handle:"),O.debug(U2),U2.rtcgw!=="success"&&O.error("Ooops: "+U2.error.code+" "+U2.error.reason),delete Z[T],D.success()},error:function(U2,r3){O.error(U2+":",r3),delete Z[T],D.success()}})}function E2(T,D,W,G,Y){var S2=Z[T];if(S2==null||S2.webrtcStuff===null||S2.webrtcStuff===void 0){O.warn("Invalid handle"),G.error("Invalid handle");return}var C2=S2.webrtcStuff;O.debug("streamsDone:",Y),Y&&(O.debug(" -- Audio tracks:",Y.getAudioTracks()),O.debug(" -- Video tracks:",Y.getVideoTracks()));var U2=!1;if(!C2.myStream||!W.update||C2.streamExternal)C2.myStream=Y,U2=!0;else{if((!W.update&&M1(W)||W.update&&(W.addAudio||W.replaceAudio))&&Y.getAudioTracks()&&Y.getAudioTracks().length)if(C2.myStream.addTrack(Y.getAudioTracks()[0]),O.unifiedPlan){O.log((W.replaceAudio?"Replacing":"Adding")+" audio track:",Y.getAudioTracks()[0]);var r3=null,P=C2.pc.getTransceivers();if(P&&P.length>0)for(var N in P){var U=P[N];if(U.sender&&U.sender.track&&U.sender.track.kind==="audio"||U.receiver&&U.receiver.track&&U.receiver.track.kind==="audio"){r3=U;break}}r3&&r3.sender?r3.sender.replaceTrack(Y.getAudioTracks()[0]):C2.pc.addTrack(Y.getAudioTracks()[0],Y)}else O.log((W.replaceAudio?"Replacing":"Adding")+" audio track:",Y.getAudioTracks()[0]),C2.pc.addTrack(Y.getAudioTracks()[0],Y);if((!W.update&&G2(W)||W.update&&(W.addVideo||W.replaceVideo))&&Y.getVideoTracks()&&Y.getVideoTracks().length)if(C2.myStream.addTrack(Y.getVideoTracks()[0]),O.unifiedPlan){O.log((W.replaceVideo?"Replacing":"Adding")+" video track:",Y.getVideoTracks()[0]);var b2=null,P=C2.pc.getTransceivers();if(P&&P.length>0)for(var N in P){var U=P[N];if(U.sender&&U.sender.track&&U.sender.track.kind==="video"||U.receiver&&U.receiver.track&&U.receiver.track.kind==="video"){b2=U;break}}b2&&b2.sender?b2.sender.replaceTrack(Y.getVideoTracks()[0]):C2.pc.addTrack(Y.getVideoTracks()[0],Y)}else O.log((W.replaceVideo?"Replacing":"Adding")+" video track:",Y.getVideoTracks()[0]),C2.pc.addTrack(Y.getVideoTracks()[0],Y)}if(!C2.pc){var o3={iceServers:r2,iceTransportPolicy:n2,bundlePolicy:o2};O.webRTCAdapter.browserDetails.browser==="chrome"&&(o3.sdpSemantics=O.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var Z2={optional:[{DtlsSrtpKeyAgreement:!0}]};if(t2===!0&&Z2.optional.push({googIPv6:!0}),G.rtcConstraints&&n(G.rtcConstraints)==="object"){O.debug("Adding custom PeerConnection constraints:",G.rtcConstraints);for(var N in G.rtcConstraints)Z2.optional.push(G.rtcConstraints[N])}O.webRTCAdapter.browserDetails.browser==="edge"&&(o3.bundlePolicy="max-bundle"),O.log("Creating PeerConnection"),O.debug(Z2),C2.pc=new RTCPeerConnection(o3,Z2),O.debug(C2.pc),C2.pc.getStats&&(C2.volume={},C2.bitrate.value="0 kbits/sec"),O.log("Preparing local SDP and gathering candidates (trickle="+C2.trickle+")"),C2.pc.oniceconnectionstatechange=function(X2){C2.pc&&S2.iceState(C2.pc.iceConnectionState)},C2.pc.onicecandidate=function(X2){if(X2.candidate==null||O.webRTCAdapter.browserDetails.browser==="edge"&&X2.candidate.candidate.indexOf("endOfCandidates")>0)O.log("End of candidates."),C2.iceDone=!0,C2.trickle===!0?x1(T,{completed:!0}):L1(T,G);else{var e1={candidate:X2.candidate.candidate,sdpMid:X2.candidate.sdpMid,sdpMLineIndex:X2.candidate.sdpMLineIndex};C2.trickle===!0&&x1(T,e1)}},C2.pc.ontrack=function(X2){O.log("Handling Remote Track"),O.debug(X2),X2.streams&&(C2.remoteStream=X2.streams[0],S2.onremotestream(C2.remoteStream),!X2.track.onended&&(O.log("Adding onended callback to track:",X2.track),X2.track.onended=function(e1){O.log("Remote track muted/removed:",e1),C2.remoteStream&&(C2.remoteStream.removeTrack(e1.target),S2.onremotestream(C2.remoteStream))},X2.track.onmute=X2.track.onended,X2.track.onunmute=function(e1){O.log("Remote track flowing again:",e1);try{C2.remoteStream.addTrack(e1.target),S2.onremotestream(C2.remoteStream)}catch(i0){O.error(i0)}}))}}if(U2&&Y!==null&&Y!==void 0){O.log("Adding local stream");var J=G.simulcast2===!0;Y.getTracks().forEach(function(X2){if(O.log("Adding local track:",X2),!J)C2.pc.addTrack(X2,Y);else if(X2.kind==="audio")C2.pc.addTrack(X2,Y);else{O.log("Enabling rid-based simulcasting:",X2);var e1=u2(G.simulcastMaxBitrates);C2.pc.addTransceiver(X2,{direction:"sendrecv",streams:[Y],sendEncodings:[{rid:"h",active:!0,maxBitrate:e1.high},{rid:"m",active:!0,maxBitrate:e1.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:e1.low,scaleResolutionDownBy:4}]})}})}C(W)&&!C2.dataChannel[O.dataChanDefaultLabel]&&(O.log("Creating data channel"),B1(T,O.dataChanDefaultLabel,!1),C2.pc.ondatachannel=function(X2){O.log("Data channel created by Janus:",X2),B1(T,X2.channel.label,X2.channel)}),C2.myStream&&S2.onlocalstream(C2.myStream),D==null?V3(T,W,G):C2.pc.setRemoteDescription(D).then(function(){if(O.log("Remote description accepted!"),C2.remoteSdp=D.sdp,C2.candidates&&C2.candidates.length>0){for(var X2=0;X2=26&&it<=Sn?(J={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:Y.screenshareFrameRate,maxFrameRate:Y.screenshareFrameRate,chromeMediaSource:"screen"}},audio:M1(Y)&&!Y.keepAudio},gt(J,me)):O.extension.getScreen(function(s2,x2){if(s2)return S2.consentDialog(!1),W.error(s2);J={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:Y.screenshareFrameRate,maxFrameRate:Y.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},J.video.mandatory.chromeMediaSourceId=x2,gt(J,me,M1(Y)&&!Y.keepAudio)})}else if(O.webRTCAdapter.browserDetails.browser==="firefox")if(O.webRTCAdapter.browserDetails.version>=33)J={video:{mozMediaSource:Y.video,mediaSource:Y.video},audio:M1(Y)&&!Y.keepAudio},gt(J,function(s2,x2){if(me(s2,x2),!s2)var z2=x2.currentTime,M3=window.setInterval(function(){x2||window.clearInterval(M3),x2.currentTime==z2&&(window.clearInterval(M3),x2.onended&&x2.onended()),z2=x2.currentTime},500)});else{var q=new Error("NavigatorUserMediaError");q.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",S2.consentDialog(!1),W.error(q);return}return}}(Y==null||Y.video!=="screen")&&navigator.mediaDevices.enumerateDevices().then(function(s2){var x2=s2.some(function(K1){return K1.kind==="audioinput"}),z2=R3(Y)||s2.some(function(K1){return K1.kind==="videoinput"}),M3=M1(Y),t1=G2(Y),b1=B(Y),p1=J3(Y);if(M3||t1||b1||p1){var H1=M3?x2:!1,A0=t1?z2:!1;if(!H1&&!A0)return S2.consentDialog(!1),W.error("No capture device found"),!1;if(!H1&&b1)return S2.consentDialog(!1),W.error("Audio capture is required, but no capture device found"),!1;if(!A0&&p1)return S2.consentDialog(!1),W.error("Video capture is required, but no capture device found"),!1}var v0={audio:x2&&!Y.keepAudio?X2:!1,video:z2&&!Y.keepVideo?e1:!1};O.debug("getUserMedia constraints",v0),!v0.audio&&!v0.video?(S2.consentDialog(!1),E2(T,G,Y,W,U)):navigator.mediaDevices.getUserMedia(v0).then(function(K1){S2.consentDialog(!1),E2(T,G,Y,W,K1)}).catch(function(K1){S2.consentDialog(!1),W.error({code:K1.code,name:K1.name,message:K1.message})})}).catch(function(s2){S2.consentDialog(!1),W.error("enumerateDevices error",s2)})}else E2(T,G,Y,W)}function g3(T,D){D=D||{},D.success=typeof D.success=="function"?D.success:O.noop,D.error=typeof D.error=="function"?D.error:ke;var W=D.jsep,G=Z[T];if(G==null||G.webrtcStuff===null||G.webrtcStuff===void 0){O.warn("Invalid handle"),D.error("Invalid handle");return}var Y=G.webrtcStuff;if(W!=null){if(Y.pc===null){O.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),D.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");return}Y.pc.setRemoteDescription(W).then(function(){if(O.log("Remote description accepted!"),Y.remoteSdp=W.sdp,Y.candidates&&Y.candidates.length>0){for(var S2=0;S20)for(var N in P){var U=P[N];if(U.sender&&U.sender.track&&U.sender.track.kind==="audio"||U.receiver&&U.receiver.track&&U.receiver.track.kind==="audio"){U2||(U2=U);continue}if(U.sender&&U.sender.track&&U.sender.track.kind==="video"||U.receiver&&U.receiver.track&&U.receiver.track.kind==="video"){r3||(r3=U);continue}}var b2=M1(D),o3=f2(D);!b2&&!o3?D.removeAudio&&U2&&(U2.setDirection?U2.setDirection("inactive"):U2.direction="inactive",O.log("Setting audio transceiver to inactive:",U2)):b2&&o3?U2&&(U2.setDirection?U2.setDirection("sendrecv"):U2.direction="sendrecv",O.log("Setting audio transceiver to sendrecv:",U2)):b2&&!o3?U2&&(U2.setDirection?U2.setDirection("sendonly"):U2.direction="sendonly",O.log("Setting audio transceiver to sendonly:",U2)):!b2&&o3&&(U2?(U2.setDirection?U2.setDirection("recvonly"):U2.direction="recvonly",O.log("Setting audio transceiver to recvonly:",U2)):(U2=Y.pc.addTransceiver("audio",{direction:"recvonly"}),O.log("Adding recvonly audio transceiver:",U2)));var Z2=G2(D),J=$3(D);!Z2&&!J?D.removeVideo&&r3&&(r3.setDirection?r3.setDirection("inactive"):r3.direction="inactive",O.log("Setting video transceiver to inactive:",r3)):Z2&&J?r3&&(r3.setDirection?r3.setDirection("sendrecv"):r3.direction="sendrecv",O.log("Setting video transceiver to sendrecv:",r3)):Z2&&!J?r3&&(r3.setDirection?r3.setDirection("sendonly"):r3.direction="sendonly",O.log("Setting video transceiver to sendonly:",r3)):!Z2&&J&&(r3?(r3.setDirection?r3.setDirection("recvonly"):r3.direction="recvonly",O.log("Setting video transceiver to recvonly:",r3)):(r3=Y.pc.addTransceiver("video",{direction:"recvonly"}),O.log("Adding recvonly video transceiver:",r3)))}else C2.offerToReceiveAudio=f2(D),C2.offerToReceiveVideo=$3(D);var X2=W.iceRestart===!0;X2&&(C2.iceRestart=!0),O.debug(C2);var e1=G2(D);if(e1&&S2&&O.webRTCAdapter.browserDetails.browser==="firefox"){O.log("Enabling Simulcasting for Firefox (RID)");var i0=Y.pc.getSenders().find(function(y0){return y0.track.kind=="video"});if(i0){var I1=i0.getParameters();I1||(I1={});var V1=u2(W.simulcastMaxBitrates);I1.encodings=[{rid:"h",active:!0,maxBitrate:V1.high},{rid:"m",active:!0,maxBitrate:V1.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:V1.low,scaleResolutionDownBy:4}],i0.setParameters(I1)}}Y.pc.createOffer(C2).then(function(y0){O.debug(y0);var me={type:y0.type,sdp:y0.sdp};if(W.customizeSdp(me),y0.sdp=me.sdp,O.log("Setting local description"),e1&&S2&&(O.webRTCAdapter.browserDetails.browser==="chrome"||O.webRTCAdapter.browserDetails.browser==="safari"?(O.log("Enabling Simulcasting for Chrome (SDP munging)"),y0.sdp=ie(y0.sdp)):O.webRTCAdapter.browserDetails.browser!=="firefox"&&O.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),Y.mySdp=y0.sdp,Y.pc.setLocalDescription(y0).catch(W.error),Y.mediaConstraints=C2,!Y.iceDone&&!Y.trickle){O.log("Waiting for all candidates...");return}O.log("Offer ready"),O.debug(W),W.success(y0)},W.error)}function h1(T,D,W){W=W||{},W.success=typeof W.success=="function"?W.success:O.noop,W.error=typeof W.error=="function"?W.error:O.noop,W.customizeSdp=typeof W.customizeSdp=="function"?W.customizeSdp:O.noop;var G=Z[T];if(G==null||G.webrtcStuff===null||G.webrtcStuff===void 0){O.warn("Invalid handle"),W.error("Invalid handle");return}var Y=G.webrtcStuff,S2=W.simulcast===!0;S2?O.log("Creating answer (iceDone="+Y.iceDone+", simulcast="+S2+")"):O.log("Creating answer (iceDone="+Y.iceDone+")");var C2=null;if(O.unifiedPlan){C2={};var U2=null,r3=null,P=Y.pc.getTransceivers();if(P&&P.length>0)for(var N in P){var U=P[N];if(U.sender&&U.sender.track&&U.sender.track.kind==="audio"||U.receiver&&U.receiver.track&&U.receiver.track.kind==="audio"){U2||(U2=U);continue}if(U.sender&&U.sender.track&&U.sender.track.kind==="video"||U.receiver&&U.receiver.track&&U.receiver.track.kind==="video"){r3||(r3=U);continue}}var b2=M1(D),o3=f2(D);if(!b2&&!o3){if(D.removeAudio&&U2)try{U2.setDirection?U2.setDirection("inactive"):U2.direction="inactive",O.log("Setting audio transceiver to inactive:",U2)}catch(V1){O.error(V1)}}else if(b2&&o3){if(U2)try{U2.setDirection?U2.setDirection("sendrecv"):U2.direction="sendrecv",O.log("Setting audio transceiver to sendrecv:",U2)}catch(V1){O.error(V1)}}else if(b2&&!o3)try{U2&&(U2.setDirection?U2.setDirection("sendonly"):U2.direction="sendonly",O.log("Setting audio transceiver to sendonly:",U2))}catch(V1){O.error(V1)}else if(!b2&&o3)if(U2)try{U2.setDirection?U2.setDirection("recvonly"):U2.direction="recvonly",O.log("Setting audio transceiver to recvonly:",U2)}catch(V1){O.error(V1)}else U2=Y.pc.addTransceiver("audio",{direction:"recvonly"}),O.log("Adding recvonly audio transceiver:",U2);var Z2=G2(D),J=$3(D);if(!Z2&&!J){if(D.removeVideo&&r3)try{r3.setDirection?r3.setDirection("inactive"):r3.direction="inactive",O.log("Setting video transceiver to inactive:",r3)}catch(V1){O.error(V1)}}else if(Z2&&J){if(r3)try{r3.setDirection?r3.setDirection("sendrecv"):r3.direction="sendrecv",O.log("Setting video transceiver to sendrecv:",r3)}catch(V1){O.error(V1)}}else if(Z2&&!J){if(r3)try{r3.setDirection?r3.setDirection("sendonly"):r3.direction="sendonly",O.log("Setting video transceiver to sendonly:",r3)}catch(V1){O.error(V1)}}else if(!Z2&&J)if(r3)try{r3.setDirection?r3.setDirection("recvonly"):r3.direction="recvonly",O.log("Setting video transceiver to recvonly:",r3)}catch(V1){O.error(V1)}else r3=Y.pc.addTransceiver("video",{direction:"recvonly"}),O.log("Adding recvonly video transceiver:",r3)}else O.webRTCAdapter.browserDetails.browser=="firefox"||O.webRTCAdapter.browserDetails.browser=="edge"?C2={offerToReceiveAudio:f2(D),offerToReceiveVideo:$3(D)}:C2={mandatory:{OfferToReceiveAudio:f2(D),OfferToReceiveVideo:$3(D)}};O.debug(C2);var X2=G2(D);if(X2&&S2&&O.webRTCAdapter.browserDetails.browser==="firefox"){O.log("Enabling Simulcasting for Firefox (RID)");var e1=Y.pc.getSenders()[1];O.log(e1);var i0=e1.getParameters();O.log(i0);var I1=u2(W.simulcastMaxBitrates);e1.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:I1.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:I1.medium},{rid:"low",active:!0,priority:"low",maxBitrate:I1.low}]})}Y.pc.createAnswer(C2).then(function(V1){O.debug(V1);var y0={type:V1.type,sdp:V1.sdp};if(W.customizeSdp(y0),V1.sdp=y0.sdp,O.log("Setting local description"),X2&&S2&&(O.webRTCAdapter.browserDetails.browser==="chrome"?O.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):O.webRTCAdapter.browserDetails.browser!=="firefox"&&O.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),Y.mySdp=V1.sdp,Y.pc.setLocalDescription(V1).catch(W.error),Y.mediaConstraints=C2,!Y.iceDone&&!Y.trickle){O.log("Waiting for all candidates...");return}W.success(V1)},W.error)}function L1(T,D){D=D||{},D.success=typeof D.success=="function"?D.success:O.noop,D.error=typeof D.error=="function"?D.error:O.noop;var W=Z[T];if(W==null||W.webrtcStuff===null||W.webrtcStuff===void 0){O.warn("Invalid handle, not sending anything");return}var G=W.webrtcStuff;if(O.log("Sending offer/answer SDP..."),G.mySdp===null||G.mySdp===void 0){O.warn("Local SDP instance is invalid, not sending anything...");return}G.mySdp={type:G.pc.localDescription.type,sdp:G.pc.localDescription.sdp},G.trickle===!1&&(G.mySdp.trickle=!1),O.debug(D),G.sdpSent=!0,D.success(G.mySdp)}function D1(T,D){var W=Z[T];if(W==null||W.webrtcStuff===null||W.webrtcStuff===void 0)return O.warn("Invalid handle"),0;var G=D?"remote":"local",Y=W.webrtcStuff;return Y.volume[G]||(Y.volume[G]={value:0}),Y.pc.getStats&&O.webRTCAdapter.browserDetails.browser==="chrome"?D&&(Y.remoteStream===null||Y.remoteStream===void 0)?(O.warn("Remote stream unavailable"),0):!D&&(Y.myStream===null||Y.myStream===void 0)?(O.warn("Local stream unavailable"),0):Y.volume[G].timer===null||Y.volume[G].timer===void 0?(O.log("Starting "+G+" volume monitor"),Y.volume[G].timer=setInterval(function(){Y.pc.getStats(function(S2){for(var C2=S2.result(),U2=0;U2-1)&&Y.type==="inbound-rtp"&&Y.id.indexOf("rtcp")<0||Y.type=="ssrc"&&Y.bytesReceived&&(Y.googCodecName==="VP8"||Y.googCodecName===""))&&(S2=!0),S2)if(W.bitrate.bsnow=Y.bytesReceived,W.bitrate.tsnow=Y.timestamp,W.bitrate.bsbefore===null||W.bitrate.tsbefore===null)W.bitrate.bsbefore=W.bitrate.bsnow,W.bitrate.tsbefore=W.bitrate.tsnow;else{var C2=W.bitrate.tsnow-W.bitrate.tsbefore;O.webRTCAdapter.browserDetails.browser=="safari"&&(C2=C2/1e3);var U2=Math.round((W.bitrate.bsnow-W.bitrate.bsbefore)*8/C2);O.webRTCAdapter.browserDetails.browser==="safari"&&(U2=parseInt(U2/1e3)),W.bitrate.value=U2+" kbits/sec",W.bitrate.bsbefore=W.bitrate.bsnow,W.bitrate.tsbefore=W.bitrate.tsnow}}})})},1e3),"0 kbits/sec"):W.bitrate.value:(O.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function ke(T){O.error("WebRTC error:",T)}function le(T,D){O.log("Cleaning WebRTC stuff");var W=Z[T];if(W!=null){var G=W.webrtcStuff;if(G!=null){if(D===!0){var Y={rtcgw:"hangup",transaction:O.randomString(12)};W.token!==null&&W.token!==void 0&&(Y.token=W.token),d2!=null&&(Y.apisecret=d2),O.debug("Sending hangup request (handle="+T+"):"),O.debug(Y),M?(Y.session_id=V,Y.handle_id=T,d.send(JSON.stringify(Y))):O.httpAPICall(E+"/"+V+"/"+T,{verb:"POST",withCredentials:X,body:Y})}G.remoteStream=null,G.volume&&(G.volume.local&&G.volume.local.timer&&clearInterval(G.volume.local.timer),G.volume.remote&&G.volume.remote.timer&&clearInterval(G.volume.remote.timer)),G.volume={},G.bitrate.timer&&clearInterval(G.bitrate.timer),G.bitrate.timer=null,G.bitrate.bsnow=null,G.bitrate.bsbefore=null,G.bitrate.tsnow=null,G.bitrate.tsbefore=null,G.bitrate.value=null;try{if(!G.streamExternal&&G.myStream!==null&&G.myStream!==void 0){O.log("Stopping local stream tracks");var S2=G.myStream.getTracks();for(var C2 in S2){var U2=S2[C2];O.log(U2),U2!=null&&U2.stop()}}}catch(r3){}G.streamExternal=!1,G.myStream=null;try{G.pc.close()}catch(r3){}G.pc=null,G.candidates=null,G.mySdp=null,G.remoteSdp=null,G.iceDone=!1,G.dataChannel={},G.dtmfSender=null}W.oncleanup()}}function ie(T){for(var D=T.split(`\r +`),W=!1,G=[-1],Y=[-1],S2=null,C2=null,U2=null,r3=null,P=-1,N=0;N-1){P=N;break}continue}if(W){var o3=D[N].match(/a=ssrc-group:FID (\d+) (\d+)/);if(o3){G[0]=o3[1],Y[0]=o3[2],D.splice(N,1),N--;continue}if(G[0]){var Z2=D[N].match("a=ssrc:"+G[0]+" cname:(.+)");if(Z2&&(S2=Z2[1]),Z2=D[N].match("a=ssrc:"+G[0]+" msid:(.+)"),Z2&&(C2=Z2[1]),Z2=D[N].match("a=ssrc:"+G[0]+" mslabel:(.+)"),Z2&&(U2=Z2[1]),Z2=D[N].match("a=ssrc:"+G[0]+" label:(.+)"),Z2&&(r3=Z2[1]),D[N].indexOf("a=ssrc:"+Y[0])===0){D.splice(N,1),N--;continue}if(D[N].indexOf("a=ssrc:"+G[0])===0){D.splice(N,1),N--;continue}}if(D[N].length==0){D.splice(N,1),N--;continue}}}if(G[0]<0){P=-1,W=!1;for(var N=0;N-1){P=N;break}continue}if(W){if(G[0]<0){var J=D[N].match(/a=ssrc:(\d+)/);if(J){G[0]=J[1],D.splice(N,1),N--;continue}}else{var Z2=D[N].match("a=ssrc:"+G[0]+" cname:(.+)");if(Z2&&(S2=Z2[1]),Z2=D[N].match("a=ssrc:"+G[0]+" msid:(.+)"),Z2&&(C2=Z2[1]),Z2=D[N].match("a=ssrc:"+G[0]+" mslabel:(.+)"),Z2&&(U2=Z2[1]),Z2=D[N].match("a=ssrc:"+G[0]+" label:(.+)"),Z2&&(r3=Z2[1]),D[N].indexOf("a=ssrc:"+Y[0])===0){D.splice(N,1),N--;continue}if(D[N].indexOf("a=ssrc:"+G[0])===0){D.splice(N,1),N--;continue}}if(D[N].length==0){D.splice(N,1),N--;continue}}}}if(G[0]<0)return O.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),T;P<0&&(P=D.length),G[1]=Math.floor(Math.random()*4294967295),G[2]=Math.floor(Math.random()*4294967295),Y[1]=Math.floor(Math.random()*4294967295),Y[2]=Math.floor(Math.random()*4294967295);for(var N=0;N +
+
+
+
+
+
+ `,document.getElementById("mobile-ez-ptz-item")||y.appendChild(E),g(y,document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),document.getElementById("mobile-ez-ptz-item").ontouchstart=function(r2){r2.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(r2,"start")},document.getElementById("mobile-ez-ptz-item").ontouchend=function(r2){r2.preventDefault(),console.log("触摸结束",r2),d._handlePtzTouch(r2,"stop")},document.getElementById("mobile-ez-ptz-item").onmousedown=function(r2){r2.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(r2,"start")},document.getElementById("mobile-ez-ptz-item").onmouseup=function(r2){r2.preventDefault(),console.log("触摸结束",r2),d._handlePtzTouch(r2,"stop")}}return r(R,[{key:"show",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: none"}},{key:"_handlePtzTouch",value:function(d,f){var y=document.getElementById("mobile-ez-ptz-item").getBoundingClientRect(),w=y.left+130,_=y.top+130,E=d.x||d.changedTouches[0].clientX,r2=d.y||d.changedTouches[0].clientY,n2=E-w,o2=r2-_,t2=0,X=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";Math.abs(n2)>Math.abs(o2)?n2>0?(t2=3,document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("default","active")):(t2=2,document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("default","active")):o2>0?(t2=1,document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("default","active")):(t2=0,document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("default","active")),document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(t2===0?180:t2===1?0:t2===2?90:270,"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)"),f==="stop"&&(X=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("mobile-ez-ptz-item").style="",document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("active","default"));var R2=new FormData;R2.append("deviceSerial",v2(this.jSPlugin.url).deviceSerial),R2.append("channelNo",v2(this.jSPlugin.url).channelNo),R2.append("speed",1),R2.append("direction",t2),R2.append("accessToken",this.jSPlugin.accessToken),fetch(X,{method:"POST",body:R2}).then(function(y2){return y2.json()}).then(function(y2){y2.code==200||(y2.code==60005||y2.code==60002||y2.code==60003||y2.code==60004)&&(document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(t2===0?180:t2===1?0:t2===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"))}).catch(function(y2){console.log("云台调用异常",y2)})}}]),R}(),e0=0,O2="成功",Y2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]},footer:{color:"#FFFFFF",backgroundColor:"rgb(0 0 0 / 0%)",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-0",iconId:"play",part:"left",defaultActive:1,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-1",iconId:"capturePicture",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-2",iconId:"sound",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-3",iconId:"pantile",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-4",iconId:"recordvideo",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-5",iconId:"talk",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-6",iconId:"hd",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-7",iconId:"webExpend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-8",iconId:"expend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]}},s3={retcode:e0,msg:O2,data:Y2},G3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},i1={data:G3},N1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},q1={data:N1},Y3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},r1={data:Y3},K3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},f1={data:K3},W1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:0},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:0},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:0}]}},T0={data:W1},O0={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},D0={data:O0},k0={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},ye={data:k0},Q0=[{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcLive",themeIntro:"PC直播全量版",themeName:"PC直播全量版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:r1.data.header,footer:r1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"security",themeIntro:"PC直播安防版",themeName:"PC直播安防版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:f1.data.header,footer:f1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"voice",themeIntro:"PC直播语音版",themeName:"PC直播语音版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:D0.data.header,footer:D0.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"simple",themeIntro:"PC直播极简版",themeName:"PC直播极简版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"",header:T0.data.header,footer:T0.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcRec",themeIntro:"PC回放全量版",themeName:"PC回放全量版",themeType:"webRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:ye.data.header,footer:ye.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileLive",themeIntro:"Mobile直播全量版",themeName:"Mobile直播全量版",themeType:"mobileLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:i1.data.header,footer:i1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileRec",themeIntro:"Mobile回放全量版",themeName:"Mobile回放全量版",themeType:"mobileRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:q1.data.header,footer:q1.data.footer}],Le=function(){function R(M){var d=this;a(this,R),this.jSPlugin=M,this.enableZoom=!1,this.isMouseDown=!1,this.videoWidth=1920,this.videoHeight=1080,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(M.id),this.clientRect=document.getElementById(M.id).getBoundingClientRect();var f=document.createElement("div");f.id="".concat(M.id,"-zoom-container"),f.style=`position: absolute; + display:none; + left: 12px; + bottom: 80px;`;var y=` +
+
2.0X
+
+ + + 放大 + + + + + + + + + + + + + +
+
+
+
+
+
+ + + 缩小 + + + + + + + + + + +
+
+ `);f.innerHTML=y,document.getElementById("".concat(M.id,"-audioControls-left")).parentNode.appendChild(f),document.getElementById("".concat(M.id,"-addScale")).onclick=function(){d.addScale()},document.getElementById("".concat(M.id,"-subScale")).onclick=function(){d.subScale()}}return r(R,[{key:"onMouseDown",value:function(d){this.currentPosition,this.currentScale;var f=this.enableZoom;if(!f)return!1;this.moveX=d.clientX,this.moveY=d.clientY,this.isMouseDown=!0}},{key:"onMouseUp",value:function(d){var f=this.currentPosition,y=this.enableZoom;if(!y)return!1;this.isMouseDown=!1,f.left=f.left-(d.clientX-this.moveX),f.top=f.top-(d.clientY-this.moveY),this.doScale()}},{key:"onMouseOut",value:function(d){var f=this.enableZoom;if(!f)return!1;this.isMouseDown&&(console.log("鼠标按上",d),this.isMouseDown=!1),this.isMouseDown=!1}},{key:"renderDot",value:function(){var d=this.currentScale;document.getElementById("".concat(this.jSPlugin.id,"-scale-value")).innerHTML="".concat(d,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-line-dot")).style.height="".concat((d-1)/7*100,"%"),document.getElementById("".concat(this.jSPlugin.id,"-scale-body-line-dot")).style.bottom="calc(".concat((d-1)/7*100,"% - 6px)")}},{key:"startZoom",value:function(){var d=this,f=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=f.width,this.videoHeight=f.height,this.currentPosition.right=f.width,this.currentPosition.bottom=f.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot(),this.enableZoom=!0,document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0"))?(document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mousedown",function(y){return d.onMouseDown(y)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseup",function(y){return d.onMouseUp(y)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseout",function(y){return d.onMouseOut(y)})):document.getElementById("".concat(this.jSPlugin.id,"-player"))&&(document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mousedown",function(y){return d.onMouseDown(y)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseup",function(y){return d.onMouseUp(y)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseout",function(y){return d.onMouseOut(y)}))}},{key:"stopZoom",value:function(){var d=this;this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot(),this.enableZoom=!1,document.getElementById(this.jSPlugin.id).removeEventListener("mousedown",function(f){return d.onMouseDown(f)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseup",function(f){return d.onMouseUp(f)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseout",function(f){return d.onMouseOut(f)})}},{key:"doScale",value:function(){console.log("执行放大");var d=this.currentPosition,f=this.currentScale;d.left=d.left+d.xPercent*(d.right-d.left)-1/2*(this.videoWidth/f),d.left<0?d.left=0:d.left>this.videoWidth-this.videoWidth/f&&(d.left=this.videoWidth-this.videoWidth/f),d.right=d.left+this.videoWidth/f,d.top=d.top+d.yPercent*(d.bottom-d.top)-1/2*(this.videoHeight/f),d.top<0?d.top=0:d.top>this.videoHeight-this.videoHeight/f&&(d.top=this.videoHeight-this.videoHeight/f),d.bottom=d.top+this.videoHeight/f,d.left=parseInt(d.left,10),d.right=parseInt(d.right,10),d.top=parseInt(d.top,10),d.bottom=parseInt(d.bottom,10),console.log("计算后,",this.jSPlugin.jSPlugin,d.left,d.right,d.top,d.bottom,d.xPercent,d.yPercent),this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(d.left,d.right,d.top,d.bottom),this.renderDot()}},{key:"calCurrentPosition",value:function(d){var f=this.currentPosition,y=this.clientRect;f.x=d.clientX,f.y=d.clientY,f.xPercent=(d.clientX-y.x)/y.width,f.yPercent=(d.clientY-y.y)/y.height,this.doScale()}},{key:"addScale",value:function(){var d=this.currentScale,f=this.currentPosition;if(d>=8)return console.log("达到最大倍率了"),this.jSPlugin.Message&&this.jSPlugin.Message.default("已经放大到最大倍数8.0X"),!1;this.currentScale++,f.xPercent=.5,f.yPercent=.5,this.doScale()}},{key:"subScale",value:function(){var d=this.currentScale,f=this.currentPosition;if(d<=1)return console.log("达到最小倍率了"),!1;this.currentScale--,f.xPercent=.5,f.yPercent=.5,this.doScale()}}]),R}();function M0(R,M){return Math.abs(M.clientX-R.clientX)*Math.abs(M.clientX-R.clientX)+Math.abs(M.clientY-R.clientY)*Math.abs(M.clientY-R.clientY)}var ve=function(){function R(M){var d=this;a(this,R),this.jSPlugin=M,this.enableZoom=!1,this.isDubboTouch=!1,this.videoWidth=0,this.videoHeight=0,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(M.id),this.clientRect=document.getElementById(M.id).getBoundingClientRect(),this.point1={clientX:0,clientY:0},this.point2={clientX:0,clientY:0},this.touchLineLength=0,this.inited=!1;var f=document.createElement("div");f.id="".concat(M.id,"-zoom-container"),f.style=`display:none; + position: absolute; + left: 10px; + top: -30px; + border: 1px solid rgba(0,0,0,0.6); + color: #FFFFFF; + background: rgba(0,0,0,0.6); + border-radius: 10px; + width: 36px; + font-size: 12px; + text-align: center; + height: 22px; + line-height: 22px;`;var y="1X";f.innerHTML=y,document.getElementById("".concat(M.id,"-audioControls-left")).parentNode.appendChild(f),document.getElementById(this.jSPlugin.id).addEventListener("touchstart",function(w){return d.onTouchstart(w)}),document.getElementById(this.jSPlugin.id).addEventListener("touchmove",function(w){return d.onTouchmove(w)})}return r(R,[{key:"onTouchstart",value:function(d){var f=this.jSPlugin.beforeMobileZoomVerify();if(!f)return!1;if(!this.inited){var y=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=y.width,this.videoHeight=y.height,this.currentPosition.right=y.width,this.currentPosition.bottom=y.height,this.inited=!0}var w=this.currentPosition;this.currentScale,console.log("双指按下",w);var _=d.touches,E=_[0],r2=_[1];E&&(this.point1.clientX=E.clientX,this.point1.clientY=E.clientY),r2&&(this.point2.clientX=r2.clientX,this.point2.clientY=r2.clientY,this.touchLineLength=M0(this.point1,this.point2),this.isDubboTouch=!0,this.moveX=E.clientX,this.moveY=E.clientY),console.log("双指按下2",w)}},{key:"onTouchmove",value:function(d){var f=this.isDubboTouch,y=this.currentPosition,w=this.clientRect,_=this.jSPlugin.beforeMobileZoomVerify();if(!_)return!1;if(d.touches.length===1){var r2=d.touches[0];return y.xPercent=y.xPercent+(this.point1.clientX-r2.clientX)/w.width/this.currentScale,y.yPercent=y.yPercent+(this.point1.clientY-r2.clientY)/w.height/this.currentScale,this.doScale(),this.point1.clientX=r2.clientX,this.point1.clientY=r2.clientY,!1}if(!f)return!1;var E=d.touches,r2=E[0],n2=E[1];if(r2&&(this.point1.clientX=r2.clientX,this.point1.clientY=r2.clientY),n2){this.point2.clientX=n2.clientX,this.point2.clientY=n2.clientY;var o2=M0(this.point1,this.point2);o2!==this.touchLineLength&&(o2>this.touchLineLength?this.currentScale<8?(++this.currentScale,y.xPercent=(this.point1.clientX+this.point2.clientX)/2/w.width,y.yPercent=(this.point1.clientY+this.point2.clientY)/2/w.height,this.doScale()):console.log("已经是最大8倍率了"):this.currentScale>1?(--this.currentScale,y.xPercent=(this.point1.clientX+this.point2.clientX)/2/w.width,y.yPercent=(this.point1.clientY+this.point2.clientY)/2/w.height,this.doScale()):console.log("已经是最小1倍率了"),this.isDubboTouch=!1)}}},{key:"startZoom",value:function(){var d=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=d.width,this.videoHeight=d.height,this.currentPosition.right=d.width,this.currentPosition.bottom=d.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot()}},{key:"stopZoom",value:function(){this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot()}},{key:"resetZoom",value:function(){this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none"}},{key:"doScale",value:function(){var d=this.currentPosition,f=this.currentScale;d.left=d.left+d.xPercent*(d.right-d.left)-1/2*(this.videoWidth/f),d.left<0?d.left=0:d.left>this.videoWidth-this.videoWidth/f&&(d.left=this.videoWidth-this.videoWidth/f),d.right=d.left+this.videoWidth/f,d.top=d.top+d.yPercent*(d.bottom-d.top)-1/2*(this.videoHeight/f),d.top<0?d.top=0:d.top>this.videoHeight-this.videoHeight/f&&(d.top=this.videoHeight-this.videoHeight/f),d.bottom=d.top+this.videoHeight/f,d.left=parseInt(d.left,10),d.right=parseInt(d.right,10),d.top=parseInt(d.top,10),d.bottom=parseInt(d.bottom,10),console.log("视频宽高",this.videoWidth,this.videoHeight),console.log("计算后,",d.left,d.right,d.top,d.bottom,d.xPercent,d.yPercent),d.left0&&(this.autoFocus=parseInt(this.themeData.autoFocus),this.startAutoFocus(),document.getElementById("".concat(this.jSPlugin.id,"-wrap")).addEventListener("click",function(){d.stopAutoFocus()})),this.setDecoderState({cloudRec:v2(this.jSPlugin.url).type==="cloud.rec",rec:v2(this.jSPlugin.url).type==="rec",type:v2(this.jSPlugin.url).type});else if(!this.themeInited)var _=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(_),d.jSPlugin.play(),d.themeInited=!0)},50);var E=p3.findIndex(this.themeData.footer.btnList,function(n2){return n2.iconId==="zoom"&&n2.isrender>0})>=0;E&&(this.isMobile?(this.jSPlugin.beforeMobileZoomVerify=function(){var n2=d.decoderState.state.play;return console.log("手机端电子放大前校验回调play------------",n2),!!n2},this.jSPlugin.Zoom=new ve(this.jSPlugin)):this.jSPlugin.Zoom=new Le(this.jSPlugin));var r2=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(r2),d.jSPlugin.reSize(d.jSPlugin.params.width,d.jSPlugin.params.height))},50)}},{key:"setDecoderState",value:function(d){var f=this,y=this.themeData,w=y.header,_=y.footer;Object.keys(d).map(function(E,r2){var n2="#FFFFFF",o2="#FFFFFF",t2=w.btnList.findIndex(function(X){return X.iconId===E});switch(t2===-1?(n2=_.color.replace("-diy",""),o2=_.activeColor.replace("-diy","")):(n2=w.color.replace("-diy",""),o2=_.activeColor.replace("-diy","")),E){case"play":d[E]?document.getElementById("".concat(f.jSPlugin.id,"-play"))&&(document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[1].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-play")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).childNodes[0].children[0].style.fill=d[E]?o2:n2):document.getElementById("".concat(f.jSPlugin.id,"-play"))&&(document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[0].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-play")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).childNodes[0].children[1].style.fill=d[E]?o2:n2);break;case"sound":document.getElementById("".concat(f.jSPlugin.id,"-sound"))&&(d[E]?(document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-sound")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).childNodes[0].children[1].style.fill=d[E]?o2:n2):(document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-sound")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).childNodes[0].children[0].style.fill=d[E]?o2:n2));break;case"recordvideo":document.getElementById("".concat(f.jSPlugin.id,"-recordvideo"))&&(document.getElementById("".concat(f.jSPlugin.id,"-recordvideo")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-recordvideo-content")).childNodes[0].style.fill=d[E]?o2:n2,d[E]?f.countTime("add",0):f.countTime("destroy",0));break;case"talk":document.getElementById("".concat(f.jSPlugin.id,"-talk"))&&(document.getElementById("".concat(f.jSPlugin.id,"-talk")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-talk-content")).childNodes[1].style.fill=d[E]?o2:n2);break;case"zoom":document.getElementById("".concat(f.jSPlugin.id,"-zoom"))&&(document.getElementById("".concat(f.jSPlugin.id,"-zoom")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-zoom-content")).childNodes[1].style.fill=d[E]?o2:n2);break;case"pantile":document.getElementById("".concat(f.jSPlugin.id,"-pantile"))&&(document.getElementById("".concat(f.jSPlugin.id,"-pantile")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-pantile-content")).childNodes[0].style.fill=d[E]?o2:n2);break;case"webExpend":d[E]?(document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend")).className="disabled")):(document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend")).className="")),document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[0].style.fill=d[E]?o2:n2,document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[1].style.fill=d[E]?o2:n2);break;case"capturePicture":document.getElementById("".concat(f.jSPlugin.id,"-capturePicture"))&&(document.getElementById("".concat(f.jSPlugin.id,"-capturePicture")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-capturePicture-content")).childNodes[0].style.fill=d[E]?o2:n2);break;case"expend":d[E]?(document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend")).className="disabled")):(document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend")).className="")),document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[0].style.fill=d[E]?o2:n2,document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[1].style.fill=d[E]?o2:n2);break;case"hd":d[E]?document.getElementById("".concat(f.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:block",document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:none"):document.getElementById("".concat(f.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:block",document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:none");break;case"speed":document.getElementById("".concat(f.jSPlugin.id,"-speed"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speed-content")).children[1].children[0].style.color=d[E]?o2:n2,document.getElementById("".concat(f.jSPlugin.id,"-speed-content")).children[1].children[0].style.borderColor=d[E]?o2:n2),document.getElementById("".concat(f.jSPlugin.id,"-select-mask"))&&(f.isMobile&&d[E]?document.getElementById("".concat(f.jSPlugin.id,"-select-mask")).style.display="block":document.getElementById("".concat(f.jSPlugin.id,"-select-mask")).style.display="none");break;case"cloudRec":document.getElementById("".concat(f.jSPlugin.id,"-cloudRec"))&&(console.log("document.getElementById(`${this.jSPlugin.id}-cloudRec-content`)",document.getElementById("".concat(f.jSPlugin.id,"-cloudRec"))),document.getElementById("".concat(f.jSPlugin.id,"-cloudRec")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=d[E]?o2:n2),document.getElementById("".concat(f.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(f.jSPlugin.id,"-rec")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=d[E]?n2:o2);break;case"rec":document.getElementById("".concat(f.jSPlugin.id,"-cloudRec"))&&(document.getElementById("".concat(f.jSPlugin.id,"-cloudRec")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=d[E]?n2:o2),document.getElementById("".concat(f.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(f.jSPlugin.id,"-rec")).className=d[E]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=d[E]?o2:n2);break}f.decoderState.state=Object.assign(f.decoderState.state,d)})}},{key:"startAutoFocus",value:function(){var d=this,f=this.autoFocus;this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.autoFocusTimer=setTimeout(function(){document.getElementById("".concat(d.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(d.jSPlugin.id,"-audioControls")).style.opacity=0,document.getElementById("".concat(d.jSPlugin.id,"-audioControls")).style.pointerEvents="none")},f*1e3)}},{key:"stopAutoFocus",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.opacity=1,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.pointerEvents="all"),this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.startAutoFocus()}},{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"renderFooter",value:function(d,f){var y=this,w=this.matchBtn(d);if(this.isMobile&&w.id==="zoom")return!1;var _=document.createElement("div");_.className="theme-icon-item",_.innerHTML="".concat('')+'
')).concat(w.domString,"
")+"
",_.onclick=function(o2){if(y.decoderState.state.isEditing)return!1;w.onclick(o2)},w.onmouseenter&&(_.onmouseenter=function(o2){if(y.decoderState.state.isEditing)return!1;w.onmouseenter(o2)}),w.onmouseleave&&(_.onmouseleave=function(o2){if(y.decoderState.state.isEditing)return!1;w.onmouseleave(o2)});var E=document.createElement("span");E.className="icon-move left",E.innerHTML=''),E.onclick=function(){y.editIcon(w.id,"left","footer")},_.appendChild(E);var r2=document.createElement("span");r2.className="icon-move right",r2.innerHTML=''),r2.onclick=function(){y.editIcon(w.id,"right","footer")},_.appendChild(r2);var n2=document.createElement("span");n2.className="icon-move close",n2.innerHTML='')+'',n2.onclick=function(){y.editIcon(w.id,"delete","footer")},_.appendChild(n2),f==="left"?document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[0].appendChild(_):document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[1].appendChild(_)}},{key:"editIcon",value:function(d,f,y){console.log("编辑组件",d,f,y);var w=this.themeData;console.log("themeData",this.themeData);var _=this.themeData[y].btnList,E=p3.findIndex(_,function(R2){return R2.iconId===d}),r2=_[E];switch(f){case"delete":if(d==="rec"){if(p3.findIndex(_,function(R2){return R2.iconId==="cloudRec"&&R2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1}else if(d==="cloudRec"&&p3.findIndex(_,function(R2){return R2.iconId==="rec"&&R2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1;_[E].isrender=0;break;case"right":for(var n2=-1,o2=E+1;o2<_.length;o2++)if(_[o2].part===_[E].part&&_[o2].isrender==1){n2=o2;break}n2!==-1&&(_[E]=_[n2],_[n2]=r2);break;case"left":for(var t2=-1,X=E-1;X>=0;X--)if(_[X].part===_[E].part&&_[X].isrender==1){t2=X;break}t2!==-1&&(_[E]=_[t2],_[t2]=r2);break}console.log("new btnList",_),w[y].btnList=_,this.changeTheme(w)}},{key:"renderHeader",value:function(d,f){var y=this,w=this.matchBtn(d),_=document.createElement("div");_.className="theme-icon-item",_.style="max-width:50%;",_.innerHTML="".concat('')+'')).concat(w.domString,"")+'',_.onclick=function(r2){if(y.decoderState.state.isEditing)return!1;w.onclick(r2)};var E=document.createElement("span");E.className="icon-move close",E.innerHTML='')+'',E.onclick=function(){y.editIcon(w.id,"delete","header")},_.appendChild(E),f==="left"?document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[0].appendChild(_):document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[1].appendChild(_)}},{key:"countTime",value:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=this;if(!document.getElementById(this.jSPlugin.id+"time-area")){var w=document.createElement("div");w.id=this.jSPlugin.id+"time-area",w.className="time-area",w.innerHTML='00:00',document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).appendChild(w)}if(this.countTimer&&clearInterval(this.countTimer),d==="add"){var _=f;document.getElementById(y.jSPlugin.id+"time-area").style.display="flex",this.countTimer=setInterval(function(){++_,document.getElementById(y.jSPlugin.id+"time-area").children[1].innerHTML=E(_)},1e3)}else d==="destroy"&&(this.countTimer&&clearInterval(this.countTimer),this.countTimer=void 0,document.getElementById(y.jSPlugin.id+"time-area")&&(document.getElementById(y.jSPlugin.id+"time-area").children[1].innerHTML="00:00",document.getElementById(y.jSPlugin.id+"time-area").style.display="none"));function E(r2){var n2=parseInt(r2),o2=0,t2=0,X="00",R2="00",y2="00";return n2>59&&(o2=parseInt(n2/60),n2=parseInt(n2%60),o2>59&&(t2=parseInt(o2/60),o2=parseInt(o2%60))),X=parseInt(n2)>9?parseInt(n2):"0"+parseInt(n2),R2=parseInt(o2)>9?parseInt(o2):"0"+parseInt(o2),y2=parseInt(t2)>9?parseInt(t2):"0"+parseInt(t2),t2>0?y2+":"+R2+":"+X:o2>0?R2+":"+X:"00:"+X}}},{key:"setDisabled",value:function(d){var f=this.decoderState.state,y=f.sound,w=f.hd;document.getElementById(y?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon"))!=null&&document.getElementById(y?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-talk-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-talk-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById(w?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon"))!=null&&document.getElementById(w?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).setAttribute("style",document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).getAttribute("style")+";"+(d?"cursor: not-allowed;color: gray;border-color: gray;":"cursor: default;color: #ffffff;border-color: #ffffff;"))}},{key:"matchBtn",value:function(d){var f=this,y=this.themeData,w=y.header,_=y.footer,E={title:"",id:"",domString:"",color:"#FFFFFF",activeColor:"#FFFFFF",onclick:function(){},onmoveleft:function(){},onmoveright:function(){},onremove:function(){}},r2=w.btnList.findIndex(function(n2){return n2.iconId===d});switch(r2===-1?(E.color=_.color,E.backgroundColor=_.backgroundColor,E.activeColor=_.activeColor):(E.color=w.color,E.backgroundColor=w.backgroundColor,E.activeColor=w.activeColor),d){case"play":return E.title="播放/结束播放",E.id=d,E.domString='
'+'`)+'')+'
',E.onclick=function(){var n2=f.decoderState.state,o2=n2.play,t2=n2.isEditing,X=n2.rec,R2=n2.cloudRec,y2=n2.recordvideo;if(t2)return!1;o2?(X||R2?f.jSPlugin.pause():f.jSPlugin.stop(),y2&&f.setDecoderState({recordvideo:!1}),f.jSPlugin.Zoom.stopZoom()):(X||R2?f.jSPlugin.resume():f.jSPlugin.play(),f.resetMobileZoomStatus()),f.setDecoderState({zoom:!1,play:!o2}),f.setDisabled(o2)},E;case"sound":return E.title="声音",E.id=d,E.domString=''+'`)+' + + + + + `)+"",E.onclick=function(){var n2=f.decoderState.state,o2=n2.play,t2=n2.sound,X=n2.talk;o2&&(t2?(f.jSPlugin.closeSound(),f.setDecoderState({sound:!1})):X||(f.jSPlugin.openSound(),f.setDecoderState({sound:!0})))},E;case"recordvideo":return E.title="录屏",E.id=d,E.domString='')+'',E.onclick=function(){var n2=f.decoderState.state,o2=n2.play,t2=n2.recordvideo;o2&&(t2?(f.jSPlugin.stopSave(),f.setDecoderState({recordvideo:!1})):(f.jSPlugin.startSave("".concat(new Date().getTime())),f.setDecoderState({recordvideo:!0})))},E;case"capturePicture":return E.title="截图",E.id=d,E.domString='')+'',E.onclick=function(){var n2=f.decoderState.state.play;n2?f.jSPlugin.capturePicture("".concat(new Date().getTime())):console.log("视频未播放,无法截图")},E;case"talk":return E.title="对讲",E.id=d,E.domString="
"+'')+'',E.onclick=function(){var n2=f.decoderState.state,o2=n2.talk,t2=n2.sound,X=n2.play;if(X)if(o2){console.log("结束对讲"),f.setDecoderState({talk:!1}),f.jSPlugin.Talk.stopTalk();var R2=p3.findIndex(f.themeData.footer.btnList,function(y2){return y2.iconId==="sound"&&y2.isrender===1&&y2.defaultActive===1})>-1;f.themeData&&R2&&(f.jSPlugin.openSound(),f.setDecoderState({sound:!0}))}else console.log("开始对讲"),f.setDecoderState({talk:!0}),t2&&(f.jSPlugin.closeSound(),f.setDecoderState({sound:!1})),f.jSPlugin.Talk.startTalk()},E;case"zoom":return E.title="电子放大",E.id=d,E.domString="
"+' + + + + + `),E.onclick=function(){var n2=f.decoderState.state,o2=n2.zoom,t2=n2.play;if(!t2)return!1;o2?(console.log("结束电子放大"),f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom()):(console.log("开始电子放大"),f.jSPlugin.Zoom.startZoom(),f.setDecoderState({zoom:!0}))},E;case"pantile":return E.title="云台控制",E.id=d,E.domString='')+'',E.onclick=function(){var n2=f.decoderState.state,o2=n2.play,t2=n2.pantile,X=n2.expend;if(o2)if(t2)console.log("隐藏云台"),f.Ptz.hide(),f.setDecoderState({pantile:!1});else{if(console.log("显示云台"),f.isMobile&&!X)return console.log("移动端,非全屏状态不展示云台"),!1;f.Ptz.show(),f.setDecoderState({pantile:!0})}},E;case"expend":return E.title="全局全屏",E.id=d,E.domString='')+''+' + `),E.onclick=function(){var n2=f.decoderState.state,o2=n2.webExpend,t2=n2.expend;n2.play;var X=n2.pantile;if(o2)return console.log("正在网站全屏"),!1;if(t2)if(f.isMobile){var R2=parseInt(getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(f.jSPlugin.id)).height,10);document.getElementById("".concat(f.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(f.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-32px"),document.getElementById("".concat(f.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(f.jSPlugin.id,"-headControl")).style.position="relative"),K(document.getElementById("".concat(f.jSPlugin.id,"-wrap")),f.jSPlugin.width,f.jSPlugin.height+R2),f.jSPlugin.jSPlugin.JS_Resize(f.jSPlugin.width,f.jSPlugin.height),X&&(f.Ptz.hide(),f.setDecoderState({pantile:!1}))}else{console.log("取消全局全屏");var B2=p2();B2.then(function(u2){console.log("取消全屏",u2,f.jSPlugin),f.jSPlugin.jSPlugin.JS_Resize(f.jSPlugin.width,f.jSPlugin.height)})}else if(console.log("执行全局全屏"),f.isMobile){var R2=parseInt(getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(f.jSPlugin.id)).height,10);F(document.getElementById("".concat(f.jSPlugin.id,"-wrap"))),setTimeout(function(){var u2=document.documentElement.clientWidth,A=document.documentElement.clientHeight;document.getElementById("".concat(f.jSPlugin.id)).style["backface-visibility"]="hidden",f.jSPlugin.jSPlugin.JS_Resize(A,u2-R2)},100)}else{var y2=window.screen.width,d2=window.screen.height,h2=H(document.getElementById("".concat(f.jSPlugin.id)));h2.then(function(u2){f.jSPlugin.jSPlugin.JS_Resize(y2,d2)}).catch(function(u2){console.log(u2)})}f.setDecoderState({expend:!t2})},E;case"webExpend":return E.title="网页全屏",E.id=d,E.domString='')+''+'",E.onclick=function(){var n2=f.decoderState.state,o2=n2.webExpend,t2=n2.expend;if(n2.play,t2)return console.log("正在全局全屏"),!1;if(f.jSPlugin.recTimer&&clearInterval(f.jSPlugin.recTimer),o2){console.log("取消网页全屏");var u2=p2();u2.then(function(A){f.jSPlugin.jSPlugin.JS_Resize(f.jSPlugin.width,f.jSPlugin.height),f.jSPlugin.Theme.Rec&&f.jSPlugin.Theme.Rec.recAutoSize()})}else{console.log("执行网页全屏");var X=0,R2=0,y2=f;["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(A){window.addEventListener(A,function(Z){var P2=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;return P2?document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0")).style.height=window.screen.height-parseInt(window.getComputedStyle(document.getElementById("".concat(y2.jSPlugin.id,"-headControl"))).height,10)+"px"):document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0")).style.height=y2.jSPlugin.height+parseInt(window.getComputedStyle(document.getElementById("".concat(y2.jSPlugin.id,"-headControl"))).height,10)+"px"),P2})});var d2=window.screen.width,h2=window.screen.height,B2=H(document.getElementById("".concat(f.jSPlugin.id,"-wrap")));B2.then(function(A){document.getElementById("".concat(f.jSPlugin.id,"-canvas-container"))&&(X=parseInt(window.getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(f.jSPlugin.id,"-headControl"))&&(R2=parseInt(window.getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-headControl"))).height,10)),f.jSPlugin.jSPlugin.JS_Resize(d2,h2-X-R2),f.jSPlugin.Theme.Rec&&f.jSPlugin.Theme.Rec.recAutoSize()}).catch(function(A){console.log(A)})}f.setDecoderState({webExpend:!o2})},E;case"hd":return E.title="画面清晰度",E.id=d,E.domString='"+'')+''+' + `)+`')+"",E.onclick=function(n2){var o2=f.decoderState.state,t2=o2.hd,X=o2.expend,R2=o2.recordvideo,y2=o2.play;y2&&(t2&&n2.target.id==="".concat(f.jSPlugin.id,"-select-sd")?(console.log("切换到标清"),f.jSPlugin.changeVideoLevel(0),f.setDecoderState({hd:!1}),f.resetMobileZoomStatus(),R2&&f.setDecoderState({recordvideo:!1}),f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom()):!t2&&n2.target.id==="".concat(f.jSPlugin.id,"-select-hd")&&(f.jSPlugin.changeVideoLevel(1),f.setDecoderState({hd:!0}),f.resetMobileZoomStatus(),R2&&f.setDecoderState({recordvideo:!1}),f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom()),f.showHD=!f.showHD,document.getElementById("".concat(f.jSPlugin.id,"-hdSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).style.display=document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).style.display==="none"?"block":"none",f.isMobile&&(document.getElementById("".concat(f.jSPlugin.id,"-select-hd-mask")).style.display=document.getElementById("".concat(f.jSPlugin.id,"-select-hd-mask")).style.display==="none"?"block":"none")),f.isMobile&&X&&f.showHD?document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).className="hd speed-select mobile expend":document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).className=f.isMobile?"hd speed-select mobile":"speed-select")},E;case"speed":return E.title="回放倍速",E.id=d,E.domString='"+` +
`).concat(this.nextRate===1?"倍速":"".concat(this.nextRate,"倍").replace("3","0.5"),`
+ `)+`')+"
",this.isMobile||(E.onmouseenter=function(n2){var o2=f.decoderState.state.play;if(!o2)return!1;console.log("鼠标移入",n2),f.setDecoderState({speed:!0}),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display="block")},E.onmouseleave=function(n2){var o2=f.decoderState.state.play;if(!o2)return!1;console.log("鼠标移出",n2),f.setDecoderState({speed:!1}),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display="none")}),E.onclick=function(n2){var o2=f.decoderState.state,t2=o2.speed,X=o2.expend,R2=o2.play;if(!R2)return!1;if(!t2&&f.isMobile&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).className=X?"speed speed-select mobile expend":"speed speed-select mobile"),f.nextRate=1,n2.target.id)switch(n2.target.id){case"".concat(f.jSPlugin.id,"-select-speed1"):console.log("倍速1"),f.nextRate=1,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(1),f.jSPlugin.speed=1,f.setDecoderState({speed:!t2});break;case"".concat(f.jSPlugin.id,"-select-speed2"):console.log("倍速2"),f.nextRate=2,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(2),f.jSPlugin.speed=2,f.setDecoderState({speed:!t2});break;case"".concat(f.jSPlugin.id,"-select-speed4"):console.log("倍速4"),f.nextRate=4,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(4),f.jSPlugin.speed=4,f.setDecoderState({speed:!t2});break;case"".concat(f.jSPlugin.id,"-select-speed05"):console.log("倍速05"),f.nextRate=3,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(.5),f.jSPlugin.speed=.5,f.setDecoderState({speed:!t2});break;default:f.isMobile?f.setDecoderState({speed:!t2}):f.setDecoderState({speed:!0});break}!f.isMobile&&n2.target.id==="".concat(f.jSPlugin.id,"-speed-text")?document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display="block":document.getElementById("".concat(f.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display==="none"?"block":"none")},E;case"deviceName":return E.title="设备名称",E.id=d,E.domString="设备名称",E.onclick=function(){},E;case"deviceID":return E.title="设备序列号",E.id=d,E.domString="设备序列号",E.onclick=function(){},E;case"cloudRec":return E.title="云存储回放",E.id=d,E.domString=` + + + + + + + + `),E.onclick=function(){console.log("点击云回放"),f.setDecoderState({type:"cloud.rec",cloudRec:!0,rec:!1}),f.jSPlugin.changePlayUrl({type:"cloud.rec"},function(){console.log(f.jSPlugin);var n2=p("begin",f.jSPlugin.url)||new Date().Format("yyyyMMdd");f.Rec.renderRec("".concat(n2.slice(0,4),"-").concat(n2.slice(4,6),"-").concat(n2.slice(6,8)));var o2=f.decoderState.state.zoom;o2&&(f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom())}),console.log(f.jSPlugin)},E;case"rec":return E.title="本地存储",E.id=d,E.domString=` + + + + + + + + + `),E.onclick=function(){console.log("点击本地回放"),f.setDecoderState({type:"rec",cloudRec:!1,rec:!0}),f.jSPlugin.changePlayUrl({type:"rec"},function(){console.log("---------本地回放"),console.log(f.jSPlugin);var n2=p("begin",f.jSPlugin.url)||new Date().Format("yyyyMMdd");f.Rec.renderRec("".concat(n2.slice(0,4),"-").concat(n2.slice(4,6),"-").concat(n2.slice(6,8)));var o2=f.decoderState.state.zoom;o2&&(f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom())}),console.log(f.jSPlugin)},E;default:return E}}},{key:"changeRecSpeed",value:function(d){var f=this,y=function(E){if(console.log("setLiActive",E),!document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")))return!1;document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[0].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[0].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[1].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[1].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[2].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[2].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[3].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[3].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[E].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[E].className.replace("default","active")},w="1";switch(d){case 1:y(2),w="倍速";break;case 2:y(1),w="".concat(d,"倍");break;case 4:y(0),w="".concat(d,"倍");break;case .5:y(3),w="".concat(d,"倍");break;default:y(2),w="".concat(d,"倍");break}document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))&&(document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).innerHTML=w)}},{key:"initThemeData",value:function(){var d=this,f=this.themeData,y=f.header,w=f.footer,_=this.jSPlugin.id;if(this.header=E1.header,this.footer=E1.footer,this.isNeedRenderHeader=p3.findIndex(y.btnList,function(h2){return h2.isrender>0})>=0,this.isMobile&&(this.isNeedRenderHeader=p3.findIndex(y.btnList,function(h2){return h2.isrender>0&&h2.iconId==="deviceID"||h2.isrender>0&&h2.iconId==="deviceName"})>=0),this.isNeedRenderFooter=p3.findIndex(w.btnList,function(h2){return h2.isrender>0})>=0,this.isNeedRenderTimeLine=p3.findIndex(y.btnList,function(h2){return h2.iconId==="cloudRec"&&h2.isrender===1||h2.iconId==="rec"&&h2.isrender===1})>=0&&!this.jSPlugin.disabledTimeLine,["date-switch-container-wrap","rec-type-container-wrap","mobile-rec-wrap","mobile-ez-ptz-container"].forEach(function(h2,B2){document.getElementById(h2)&&document.getElementById(h2).parentElement.removeChild(document.getElementById(h2))}),this.isNeedRenderHeader)if(document.getElementById("".concat(this.jSPlugin.id,"-headControl")))document.getElementById("".concat(this.jSPlugin.id,"-headControl")).innerHTML="
");else{var E=document.createElement("div");E.setAttribute("id","".concat(this.jSPlugin.id,"-headControl")),E.setAttribute("class","header-controls"),E.innerHTML="
`);var r2={height:this.jSPlugin.width>R1?"48px":"32px","line-height":this.jSPlugin.width>R1?"48px":"32px",display:"flex","justify-content":"space-between",top:0,"z-index":1,background:"#000000",color:"#FFFFFF",width:"100%"};E.style=se(r2),document.getElementById("".concat(_,"-wrap")).insertBefore(E,document.getElementById(_));var n2=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(n2)},50)}else document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&document.getElementById("".concat(this.jSPlugin.id,"-headControl")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-headControl")));if(this.isNeedRenderFooter)if(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")))document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-".concat(this.jSPlugin.width>R1?48:32,"px"),document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).innerHTML='`));else{var o2=document.createElement("div");o2.setAttribute("id","".concat(this.jSPlugin.id,"-ez-iframe-footer-container")),o2.setAttribute("class","ez-iframe-footer-container");var t2={"min-height":this.jSPlugin.width>R1?"48px":"32px","max-height":this.jSPlugin.width>R1?"96px":"80px",position:"relative","margin-top":this.jSPlugin.width>R1?"-48px":"-32px",display:"flex","flex-wrap":"wrap","justify-content":"space-between","z-index":999,top:0,color:"#FFFFFF",width:"100%"};o2.style=se(t2),o2.innerHTML='`),g(o2,document.getElementById(_))}else document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")));if(this.isNeedRenderHeader&&document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=y.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=y.color,y.btnList.map(function(h2,B2){h2.isrender&&d.renderHeader(h2.iconId,h2.part)})),this.isNeedRenderFooter&&document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=w.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=w.color,w.btnList.map(function(h2,B2){h2.isrender&&d.renderFooter(h2.iconId,h2.part)})),this.isNeedRenderTimeLine)if(this.isMobile)document.getElementById("".concat(this.jSPlugin.id,"-headControl-right"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl-right")).style.display="none"),this.Rec=new F3(this.jSPlugin,this.changeRecSpeed,this.resetMobileZoomStatus);else{this.Rec?(this.Rec.unSyncTimeLine(),this.Rec.recInit()):(this.jSPlugin.decoderState=this.decoderState,this.jSPlugin.setDecoderState=this.setDecoderState,this.Rec=new o0(this.jSPlugin));var X=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(X)},50)}var R2=p3.findIndex(this.themeData.footer.btnList,function(h2){return h2.iconId==="pantile"&&h2.isrender===1})>=0&&!this.jSPlugin.disabledPTZ;R2&&(this.isMobile&&(this.MobilePtz=new q3(this.jSPlugin)),this.Ptz=new w1(this.jSPlugin));var y2=function(){var B2=d.decoderState.state,u2=B2.expend,A=B2.webExpend,V=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;V||(d.jSPlugin.jSPlugin.JS_Resize(d.jSPlugin.width,d.jSPlugin.height),u2&&d.setDecoderState({expend:!1}),A&&d.setDecoderState({webExpend:!1})),d.jSPlugin.Theme.Rec&&d.jSPlugin.Theme.Rec.recAutoSize()};if(["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(h2){window.addEventListener(h2,function(B2){return y2()})}),this.themeData.poster){this.jSPlugin.poster=this.themeData.poster;var d2=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(d2),d.jSPlugin.setPoster(d.themeData.poster))},50)}this.inited=!0,this.getDeviceInfo()}},{key:"resetMobileZoomStatus",value:function(){if(this.isMobile){var d=document.getElementById("".concat(this.jSPlugin.id,"-zoom-container"));d&&d.style&&d.style.display!="none"&&(console.log("结束电子放大"),d.style.display="none"),this.jSPlugin.Zoom.resetZoom()}}},{key:"getDeviceInfo",value:function(){var d=this,f=function(w){w.code==200&&w.data&&(w.data.isEncrypt&&setTimeout(function(){d.pluginStatus.loadingClear(),d.pluginStatus.loadingSetText({text:"设备已加密",color:"red"})},1500),document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content"))&&(document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.maxWidth="100%",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.overflow="hidden",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.textOverflow="ellipsis",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.whiteSpace="nowrap",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).innerHTML=w.data.deviceName),document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content"))&&(document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.maxWidth="100%",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.overflow="hidden",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.textOverflow="ellipsis",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.whiteSpace="nowrap",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).innerHTML=v2(d.jSPlugin.url).deviceSerial))};_2(this.jSPlugin.env.domain+"/api/lapp/device/info","POST",{accessToken:this.jSPlugin.accessToken,deviceSerial:v2(this.jSPlugin.url).deviceSerial},"",f)}},{key:"editStart",value:function(d){var f=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),y=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));y&&y.setAttribute("class","header-controls themeEditing"),f&&f.setAttribute("class","footer-controls themeEditing"),this.setDecoderState({isEditing:!0})}},{key:"editEnd",value:function(d){var f=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),y=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));y&&y.setAttribute("class","header-controls"),f&&f.setAttribute("class","footer-controls"),this.setDecoderState({isEditing:!1})}},{key:"webExpend",value:function(){var d=this,f=this.decoderState.state;f.webExpend;var y=f.expend,w=f.play;if(!w)return!1;if(y)return console.log("正在全局全屏"),!1;console.log("执行网页全屏");var _=0,E=0,r2=H(document.getElementById("".concat(this.jSPlugin.id,"-wrap")));r2.then(function(n2){console.log("全屏promise",window.screen.width),document.getElementById("".concat(d.jSPlugin.id,"-canvas-container"))&&(_=parseInt(window.getComputedStyle(document.getElementById("".concat(d.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(d.jSPlugin.id,"-headControl"))&&(E=parseInt(window.getComputedStyle(document.getElementById("".concat(d.jSPlugin.id,"-headControl"))).height,10)),console.log("this.jSPlugin.JS_Resiz",_,E,document.body.clientWidth),d.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height-_-E)}).catch(function(n2){console.log(n2)})}},{key:"expend",value:function(){var d=this,f=this.decoderState.state,y=f.webExpend;f.expend;var w=f.play;if(f.pantile,!w)return!1;if(y)return console.log("正在网站全屏"),!1;if(console.log("执行全局全屏"),this.isMobile){var _=parseInt(getComputedStyle(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).height,10);F(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),setTimeout(function(){var r2=document.documentElement.clientWidth,n2=document.documentElement.clientHeight;document.getElementById("".concat(d.jSPlugin.id)).style["backface-visibility"]="hidden",d.jSPlugin.jSPlugin.JS_Resize(n2,r2-_)},100)}else{var E=H(document.getElementById("".concat(this.jSPlugin.id)));E.then(function(r2){d.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height)}).catch(function(r2){console.log(r2)})}}}]),R}();Date.prototype.Format=function(R){var M={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(R)&&(R=R.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var d in M)new RegExp("("+d+")").test(R)&&(R=R.replace(RegExp.$1,RegExp.$1.length==1?M[d]:("00"+M[d]).substr((""+M[d]).length)));return R};var m2=function(){function R(M,d){if(a(this,R),this.params=M,this.state={},this.jsPlugin=d,this.url="https://log.ys7.com/statistics.do?",M.env)switch(M.env){case"test12":this.url="https://test12dclog.ys7.com/statistics.do?";break;case"online":break;default:this.url=M.env;break}}return r(R,[{key:"uuid",value:function(){for(var d=[],f="0123456789abcdef",y=0;y<36;y++)d[y]=f.substr(Math.floor(Math.random()*16),1);d[14]="4",d[19]=f.substr(d[19]&3|8,1),d[8]=d[13]=d[18]=d[23]="-";var w=d.join("");return w}},{key:"dclog",value:function(d){var f=this.url,y=Object.assign({},{systemName:"open_website_monitor"},{bn:"ezuikit-js"},d,{un:d.url},{st:new Date().getTime(),h:window.location.pathname});Object.keys(y).forEach(function(_,E){var r2=y[_];typeof y[_]=="string"&&(r2=y[_].replace("%","%25")),typeof y[_]!="undefined"&&(f+="".concat(E===0?"":"&").concat(_,"=").concat(encodeURIComponent(r2)))});var w=new Image;w.src=f}},{key:"localInfoLog",value:function(d){var f=this.url,y=window.location.protocol+"//"+window.location.host,w={systemName:"open_netstream_localinfo",Ver:"v6.0.0",PlatAddr:y,ExterVer:"v6.0.0",OpId:this.uuid(),CltType:102,AppId:"",playurl:encodeURIComponent(this.jsPlugin.url),StartTime:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),OS:navigator.platform};w=Object.assign(w,d),Object.keys(w).forEach(function(E,r2){var n2=w[E];typeof w[E]=="string"&&(n2=w[E].replace("%","%25")),typeof w[E]!="undefined"&&(f+="".concat(r2===0?"":"&").concat(E,"=").concat(encodeURIComponent(n2)))});var _=new Image;_.src=f}},{key:"playLog",value:function(d){var f=this.url,y=f,w={systemName:"open_netstream_play_main",playurl:encodeURIComponent(this.jsPlugin.url),Time:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),Via:2,OpId:this.uuid()};w=Object.assign(w,d),Object.keys(w).forEach(function(E,r2){var n2=w[E];typeof w[E]=="string"&&(n2=w[E].replace("%","%25")),typeof w[E]!="undefined"&&(y+="".concat(r2===0?"":"&").concat(E,"=").concat(encodeURIComponent(n2)))});var _=new Image;_.src=y}}]),R}();(function(R,M){n(t)==="object"&&n(t.exports)==="object"?t.exports=R.document?M(R,!0):function(d){if(!d.document)throw new Error("EZUIPlayer requires a window with a document");return M(d)}:M(R)})(typeof window!="undefined"?window:void 0,function(R,M){var d;function f(t2,X){for(var R2=document.getElementsByTagName("head")[0].getElementsByTagName("script"),y2=!1,d2=0;d20&&(W2=X.controls.join(","),I2+="&controls="+W2)),X.websocketParams&&(I2+="&websocketParams="+JSON.stringify(X.websocketParams)),I2;case"standard":return E+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+Z.opt.url.replace("?","&")+"&autoplay="+Z.opt.autoplay+"&audio="+Z.opt.audio+"&accessToken="+X.accessToken+"&templete=1&id="+R2+"&decoderVersion="+Z.opt.decoderVersion;case"security":return E+"/ezopen/h5/iframe_se?bSupporDoubleClickFull=0&url="+Z.opt.url.replace("?","&")+"&autoplay="+Z.opt.autoplay+"&audio="+Z.opt.audio+"&accessToken="+X.accessToken+"&templete=0&id="+R2+"&decoderVersion="+Z.opt.decoderVersion;case"theme":return I2=E+"/jssdk/theme.html?url=".concat(X.url,"&accessToken=").concat(X.accessToken,"&id=").concat(R2,"&isMobile=").concat(X.isMobile),typeof X.isMobile!="undefined"&&(I2+="&isMobile="+X.isMobile),typeof X.autoplay!="undefined"&&(I2+="&autoplay="+X.autoplay),typeof X.domain!="undefined"&&X.domain=="https://test12open.ys7.com"&&(I2+="&env=test12"),typeof X.env!="undefined"&&typeof X.env.domain!="undefined"&&X.env.domain=="https://test12open.ys7.com"&&(I2+="&env=test12"),typeof X.header!="undefined"&&(I2+="&header="+X.header),I2;default:return E+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+Z.opt.url.replace("?","&")+"&autoplay="+Z.opt.autoplay+"&audio="+Z.opt.audio+"&accessToken="+X.accessToken+"&templete=0&id="+R2+"&decoderVersion="+Z.opt.decoderVersion}}d2.src=h2();var B2=document.getElementById(R2).offsetHeight,u2=document.getElementById(R2).offsetWidth;X.height&&(B2=parseInt(X.height),/\%$/.test(X.height)&&(u2=document.getElementById(R2).offsetWidth*(parseInt(X.height)/100))),X.width&&(u2=parseInt(X.width),/\%$/.test(X.width)&&(u2=document.getElementById(R2).offsetWidth*(parseInt(X.width)/100))),d2.width=u2,d2.height=B2,d2.id="EZUIKitPlayer-"+R2,d2.setAttribute("allowfullscreen",!0),d2.setAttribute("allow","autoplay"),d2.setAttribute("frameborder",0),y2.appendChild(d2);var A=Z.opt.filePath+"/js/jquery.js",V="https://open.ys7.com/assets/layer/layer.js";f(A,function(){f(V,function(){if(T1().headerContainer){var I2=document.createElement("div");I2.setAttribute("class","panel-top");var W2=document.createElement("div");if(W2.setAttribute("class","contros"),I2.appendChild(W2),y2.insertBefore(I2,d2),T1().capturePictureModule){var V2=document.createElement("span");V2.innerHTML=' ',V2.onclick=function(){Z.capturePicture()},W2.appendChild(V2)}if(console.log("matchHeaderOpt().saveModule",T1().saveModule),T1().saveModule){var l3=document.createElement("span");l3.innerHTML=' ',l3.onclick=function(){Z.startSave(),document.getElementById("startSave").setAttribute("class","icon hide"),document.getElementById("stopSave").setAttribute("class","icon")},W2.appendChild(l3);var x3=document.createElement("span");x3.innerHTML=' ',x3.onclick=function(){Z.stopSave(),document.getElementById("stopSave").setAttribute("class","icon hide"),document.getElementById("startSave").setAttribute("class","icon")},W2.appendChild(x3)}if(T1().zoomModule){var E3=document.createElement("span");E3.innerHTML=' ',E3.onclick=function(){Z.enableZoom(),document.getElementById("enableZoom").setAttribute("class","icon hide"),document.getElementById("closeZoom").setAttribute("class","icon")},W2.appendChild(E3);var T3=document.createElement("span");T3.innerHTML=' ',T3.onclick=function(){Z.closeZoom(),document.getElementById("closeZoom").setAttribute("class","icon hide"),document.getElementById("enableZoom").setAttribute("class","icon")},W2.appendChild(T3)}}function m1(){var J3={footerContainer:!1,talkModule:!1,broadcastModule:!1,hdModule:!1,fullScreenModule:!1},$3=Z.opt.template;switch($3){case"simple":if(X.footer&&X.footer instanceof Array){var R3=X.footer;J3={footerContainer:!0,talkModule:R3.indexOf("talk")!==-1,broadcastModule:R3.indexOf("broadcast")!==-1,hdModule:R3.indexOf("hd")!==-1,fullScreenModule:R3.indexOf("fullScreen")!==-1}}break;case"standard":if(X.footer&&X.footer instanceof Array){var R3=X.footer;J3={footerContainer:!0,talkModule:R3.indexOf("talk")!==-1,broadcastModule:R3.indexOf("broadcast")!==-1,hdModule:R3.indexOf("hd")!==-1,fullScreenModule:R3.indexOf("fullScreen")!==-1}}break;case"security":break;case"voice":J3={footerContainer:!0,talkModule:!0,broadcastModule:!0,hdModule:!0,fullScreenModule:!0};break}return J3}function T1(){var J3={headerContainer:!1,capturePictureModule:!1,saveModule:!1,zoomModule:!1},$3=Z.opt.template;switch($3){case"simple":if(X.header&&X.header instanceof Array){var R3=X.header;J3={headerContainer:!0,capturePictureModule:R3.indexOf("capturePicture")!==-1,saveModule:R3.indexOf("save")!==-1,zoomModule:R3.indexOf("zoom")!==-1}}break;case"standard":break;case"security":break;case"voice":J3={headerContainer:!0,capturePictureModule:!0,saveModule:!0,zoomModule:!0};break}return J3}if(m1().footerContainer||Z.opt.plugin.indexOf("talk")!==-1){var x1=Z.opt.filePath+"/npm/css/recoder.css",B1=Z.opt.filePath+"/npm/js/recoder.js",v1=Z.opt.filePath+"/recorder.js";if(y(x1,function(){}),f(B1,function(){f(v1,function(){})}),Z.opt.plugin.indexOf("talk")!==-1||m1().talkModule){var Y1=function($3){if(console.log("data",$3),$3.code==200){var R3=$3.data;if(R3){var C=R3.rtcUrl;C.indexOf("ws")===-1&&(C=C.replace("https","wss").replace("rtcgw","rtcgw-ws")),Z.opt.rtcUrl=C,Z.opt.ttsUrl="tts://"+R3.ttsUrl;var j="talk://"+Z.opt.deviceSerial+":0:"+Z.opt.channelNo+":cas.ys7.com:6500";if(Z.opt.talkLink=Z.opt.ttsUrl+"/"+j,Z.opt.stream=R3.stream,console.log("_this.opt",Z.opt),!Z.opt.isReliesReady){var T=Z.opt.filePath+"/npm/js/adapeter.js",D=Z.opt.filePath+"/npm/js/janus.js",W=Z.opt.filePath+"/npm/js/tts.js";console.log("加载jquery.js"),f(T,function(){console.log("加载adapeter.js"),f(D,function(){console.log("加载janus.js"),f(W,function(){console.log("加载tts.js"),Z.opt.isReliesReady=!0})})},function(){return!!R.adapter})}if(!document.getElementById("audioleft")){var G=document.createElement("div");G.style.display="none",G.id="audioleft",document.body.appendChild(G)}if(!document.getElementById("audioright")){var Y=document.createElement("div");Y.style.display="none",Y.id="audioright",document.body.appendChild(Y)}}}_.opt=Z.opt,R.EZUIKit&&(R.EZUIKit.opt=Z.opt)};w(Z.opt.apiDomain,"POST",{accessToken:Z.opt.accessToken,deviceSerial:Z.opt.deviceSerial,channelNo:Z.opt.channelNo},"",Y1)}if(m1().footerContainer){var g0=function($3,R3){if(clearInterval(_.state.countTimer),$3==="add"){var C=R3;_.state.countTimer=setInterval(function(){++C,document.getElementById("time-area").innerHTML=j(C)},1e3)}else if($3==="sub"){var C=R3;_.state.countTimer=setInterval(function(){C>0?(C--,document.getElementById("time-area").innerHTML=j(C)):(clearInterval(_.state.countTimer),_.state.countTimer=void 0,console.log("倒计时结束,开启声音"))},1e3)}else $3==="destory"&&(clearInterval(_.state.countTimer),_.state.countTimer=void 0,document.getElementById("time-area").innerHTML="00:00");function j(T){var D=parseInt(T),W=0,G=0,Y="00",S2="00",C2="00";return D>59&&(W=parseInt(D/60),D=parseInt(D%60),W>59&&(G=parseInt(W/60),W=parseInt(W%60))),Y=parseInt(D)>9?parseInt(D):"0"+parseInt(D),S2=parseInt(W)>9?parseInt(W):"0"+parseInt(W),C2=parseInt(G)>9?parseInt(G):"0"+parseInt(G),G>0?C2+":"+S2+":"+Y:W>0?S2+":"+Y:"00:"+Y}},E2=document.createElement("div");if(E2.setAttribute("class","audio-controls"),y2.appendChild(E2),m1().hdModule||m1().fullScreenModule){var f3=document.createElement("div");if(f3.setAttribute("class","contros"),E2.appendChild(f3),m1().hdModule){var g3=document.createElement("span");g3.setAttribute("id","video-hd"),g3.innerHTML=Z.opt.url.indexOf(".hd")===-1?"标清":"高清",g3.onclick=function(){if(Z.opt.videoLoading)return layer.msg("视频加载中,请稍后"),!1;var J3=Z.stop();Z.opt.videoLoading=!0,J3.then(function($3){Z.opt.videoLoading=!1,Z.opt.url.indexOf(".hd")===-1?(Z.opt.url=Z.opt.url.replace(".live",".hd.live"),g3.innerHTML=Z.opt.url.indexOf(".hd")===-1?"标清":"高清"):(Z.opt.url=Z.opt.url.replace(".hd.live",".live"),g3.innerHTML=Z.opt.url.indexOf(".hd")===-1?"标清":"高清"),Z.play(Z.opt.url)}).catch(function($3){console.log("error",$3)})},f3.appendChild(g3)}if(m1().fullScreenModule){var V3=document.createElement("span");V3.setAttribute("class","hide"),V3.setAttribute("id","ezuikit-open-sound"),V3.setAttribute("title","打开声音"),V3.setAttribute("style","vertical-align: top;"),V3.innerHTML='',V3.onclick=function(){Z.openSound(0),V3.setAttribute("class","hide"),h1.setAttribute("class","")};var h1=document.createElement("span");V3.setAttribute("id","ezuikit-close-sound"),h1.setAttribute("class","hide"),h1.setAttribute("title","关闭声音"),h1.setAttribute("style","vertical-align: top;"),h1.innerHTML='',h1.onclick=function(){Z.closeSound(0),V3.setAttribute("class",""),h1.setAttribute("class","hide")},f3.appendChild(V3),f3.appendChild(h1)}if(Z.opt.audio==1?h1.setAttribute("class",""):(V3.setAttribute("class",""),Z.closeSound(0)),m1().fullScreenModule){var L1=document.createElement("span");L1.setAttribute("title","全屏"),L1.setAttribute("style","vertical-align: top;"),L1.innerHTML=' ',L1.onclick=function(){Z.fullScreen()},f3.appendChild(L1)}}if(m1().talkModule){var D1=document.createElement("div"),n0=document.createElement("div");D1.setAttribute("class","ptp-talk off"),D1.innerHTML=' 开启对讲',D1.onclick=function(){if(console.log("EZUIKit.state.countTimer",_.state.countTimer),_.state.countTimer)return R.layer.msg("语音设备正忙,请稍后重试"),!1;g0("add",0),console.log("开始对讲,关闭声音"),Z.closeSound(0),console.log(Z.opt),Z.startTalk(),this.setAttribute("class","ptp-talk off hide"),n0.setAttribute("class","ptp-talk on")},n0.setAttribute("class","ptp-talk on hide"),n0.innerHTML=' 关闭对讲',n0.onclick=function(){console.log(Z.opt),Z.stopTalk(),g0("destory",0),Z.openSound(0),this.setAttribute("class","ptp-talk on hide"),D1.setAttribute("class","ptp-talk off")},E2.appendChild(D1),E2.appendChild(n0)}if(m1().broadcastModule){var C0=function J3($3){function R3(C){console.log("data",C),C.code==200&&(Pe(C.data,5),_.state.page=C.page.page,$3==0&&C.data.length==0&&!_.state.fetchDefaultList&&(_.state.fetchDefaultList=!0,J3(0)))}w(E+"/api/lapp/voice/query","POST",{accessToken:Z.opt.accessToken,pageStart:$3,pageSize:_.state.pageSize,default:_.state.fetchDefaultList?"true":"false"},"",R3)},Pe=function($3){if(console.log("renderVoliceList",$3),$3&&$3.length>0){for(var R3=0;R3<$3.length;R3++){var C=document.createElement("li");C.innerHTML="
  • "+($3[R3].voiceName.length>10?$3[R3].voiceName.substr(0,10)+"...":$3[R3].voiceName)+"
  • ",document.getElementsByClassName("voice-list-ul")[0].append(C),C.onclick=function(j){console.log("点击元素",j.target,j.target.dataset.url);var T=j.target.dataset.url,D=j.target.dataset.time;ke(T,D)}}$3.length===_.state.pageSize?document.getElementById("voice-list-end").innerHTML="向下滚动加载更多":document.getElementById("voice-list-end").innerHTML="没有更多数据了"}},ke=function($3,R3){console.log("播放语音",$3,R3);function C(j){console.log("data.data",j.data),j.code==200?g0("sub",parseInt(R3)):j.code=="10001"?R.layer.msg("未找到当前语音"):R.layer.msg(j.msg||"发送失败,请稍后再试")}w(E+"/api/lapp/voice/send","POST",{accessToken:Z.opt.accessToken,deviceSerial:Z.opt.deviceSerial,channelNo:Z.opt.channelNo,fileUrl:$3},"",C)},le=document.createElement("div"),ie=document.createElement("div");le.setAttribute("class","broadcast off"),ie.setAttribute("class","broadcast on hide"),le.innerHTML=' 语音播报',le.onclick=function(){this.setAttribute("class","broadcast off hide"),ie.setAttribute("class","broadcast on")},ie.innerHTML='
    自定义语音
    语音播报',ie.onclick=function(){this.setAttribute("class","broadcast on hide"),le.setAttribute("class","broadcast off")},E2.appendChild(le),E2.appendChild(ie),document.getElementById("voice-custom").onclick=function(){console.log("显示自定义语音"),M1.setAttribute("class","speak off")},C0(0);var M1=document.createElement("div"),B=document.createElement("div");M1.setAttribute("class","speak off hide"),B.setAttribute("class","speak on hide"),M1.setAttribute("id","startSpeak"),B.setAttribute("id","stopSpeak"),M1.innerHTML=' 按住说话',B.innerHTML=' 松开发送',E2.appendChild(M1),E2.appendChild(B),document.getElementById("voice-list").onscroll=function(J3){var $3=this.scrollHeight;console.log("sum",$3,this.scrollTop,document.getElementById("voice-list").clientHeight),$3<=this.scrollTop+this.clientHeight&&(console.log("拖动到底,执行加载",_.state.page),C0(++_.state.page))};var f2=document.createElement("div");f2.setAttribute("class","time-area"),f2.setAttribute("id","time-area"),f2.innerHTML="00:00",E2.appendChild(f2);var G2;document.getElementById("startSpeak").onmousedown=function(){if(_.state.countTimer)return R.layer.msg("语音设备正忙,请稍后重试"),!1;console.log("按住说话"),M1.setAttribute("class","speak off hide"),B.setAttribute("class","speak on"),C(),g0("add",0),setTimeout(function(){_.state.recodeTime=0,R3()},1e3),_.state.recodeTimer&&clearInterval(_.state.recodeTimer),_.state.recodeTimer=setInterval(function(){_.state.recodeTime>=59?(Z.stopTalk(),g0("destory",0),this.setAttribute("class","ptp-talk on hide"),D1.setAttribute("class","ptp-talk off"),R.layer.msg("不超过1分钟")):_.state.recodeTime=_.state.recodeTime+1},1e3);var J3;function $3(j){var T=J3.createMediaStreamSource(j);G2=new R.Recorder(T)}function R3(){G2&&G2.record()}function C(){console.log("run init");try{R.AudioContext=R.AudioContext||R.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,R.URL=R.URL||R.webkitURL,J3=new AudioContext,console.log("Audio context set up."),console.log("navigator.getUserMedia "+(navigator.getUserMedia?"available.":"not present!"))}catch(j){console.log("err",j),R.layer.msg("No web audio support in this browser!")}navigator.getUserMedia({audio:!0},$3,function(j){console.log("No live audio input: "+j)})}},document.getElementById("stopSpeak").onmouseup=function(){console.log("松开发送"),B.setAttribute("class","speak on hide"),J3();function J3(){if(g0("destory",0),_.state.recodeTime<1)return R.layer.msg("说话时间过短"),clearInterval(_.state.recodeTimer),!1;clearInterval(_.state.recodeTimer),$3()}function $3(){try{G2&&G2.stop(),G2&&G2.exportWAV(function(R3){if(console.log("wav_file",R3),R3.size<1e3)return R.layer.msg("录音失败,请重试"),_.state.recodeTime=0,!1;g0("sub",_.state.recodeTime+2);var C=new FormData;C.append("voiceFile",R3),C.append("accessToken",Z.opt.accessToken),C.append("deviceSerial",Z.opt.deviceSerial),C.append("channelNo",Z.opt.channelNo);function j(D){console.log("data.data",D.data),D.code==200?g0("sub",_.state.recodeTime+2):D.code=="10001"?R.layer.msg("未找到当前语音"):R.layer.msg(D.msg||"发送失败,请稍后再试")}function T(D){console.log("err",D)}w(E+"/api/lapp/voice/sendonce","POST",{voiceFile:R3,accessToken:Z.opt.accessToken,deviceSerial:Z.opt.deviceSerial,channelNo:Z.opt.channelNo},"",j,T)}),G2&&G2.clear()}catch(R3){console.log(R3)}}}}}}})});var Z=this;R.addEventListener("message",function(I2){I2.origin;var W2=Z.opt.id;if(I2.data.type)switch(I2.data.type){case"openSound":W2==I2.data.id&&X.openSoundCallBack&&X.openSoundCallBack(I2.data);break;case"closeSound":W2==I2.data.id&&X.closeSoundCallBack&&X.closeSoundCallBack(I2.data);break;case"capturePicture":W2==I2.data.id&&X.capturePictureCallBack&&X.capturePictureCallBack(I2.data);break;case"startSave":W2==I2.data.id&&X.startSaveCallBack&&X.startSaveCallBack(I2.data);break;case"stopSave":W2==I2.data.id&&X.stopSaveCallBack&&X.stopSaveCallBack(I2.data);break;case"fullScreen":W2==I2.data.id&&X.fullScreenCallBack&&X.fullScreenCallBack(I2.data);break;case"getOSDTime":W2==I2.data.id&&X.getOSDTimeCallBack&&X.getOSDTimeCallBack(I2.data);break;case"handleSuccess":W2==I2.data.id&&X.handleSuccess&&X.handleSuccess(I2.data);break;case"handleError":W2==I2.data.id&&X.handleError&&X.handleError(I2.data);break;case"dblclick":W2==I2.data.id&&Z.opt.bSupporDoubleClickFull&&(Z.opt.fullScreenStatus===0?Z.fullScreen():Z.cancelFullScreen());break;case"startTalk":Z.startTalk(),Z.closeSound();break;case"stopTalk":Z.stopTalk(),Z.openSound();break;case"clickEventHandle":console.log("event.data",I2.data),X.clickEventHandle&&X.clickEventHandle(I2.data);break;case"removeEventHandle":X.removeEventHandle&&X.removeEventHandle(I2.data);break;case"esc":X.clickEventHandle&&X.clickEventHandle(I2.data);break;case"iframeFullScreen":if(W2==I2.data.id){var V2=function(x3){var E3=x3.requestFullScreen||x3.webkitRequestFullScreen||x3.mozRequestFullScreen||x3.msRequestFullScreen;if(E3)E3.call(x3);else if(typeof R.ActiveXObject!="undefined"){var T3=new ActiveXObject("WScript.Shell");T3!==null&&T3.SendKeys("{F11}")}};V2(document.getElementById("EZUIKitPlayer-"+I2.data.id))}break}});function P2(I2){Z.opt.fullScreenStatus=I2?1:0,X.fullScreenChangeCallBack&&X.fullScreenChangeCallBack({data:I2,id:Z.opt.id})}typeof document.fullScreen!="undefined"?document.addEventListener("fullscreenchange",function(){var I2=document.fullscreen||!1;P2(I2)}):typeof document.webkitIsFullScreen!="undefined"?document.addEventListener("webkitfullscreenchange",function(){var I2=document.webkitIsFullScreen||!1;P2(I2)}):typeof document.mozFullScreen!="undefined"&&document.addEventListener("mozfullscreenchange",function(){var I2=document.mozFullScreen||!1;P2(I2)})};n2.prototype.play=function(t2){var X="EZUIKitPlayer-"+this.opt.id,R2=document.getElementById(X).contentWindow;n(t2)==="object"&&t2.url&&(this.opt.url=t2.url),n(t2)==="object"&&t2.accessToken&&(this.opt.accessToken=t2.accessToken),typeof t2=="string"&&(this.opt.url=t2),R2.postMessage({action:"play",accessToken:this.opt.accessToken,url:this.opt.url},E+"/ezopen/h5/iframe");var y2=this;this.opt.videoLoading=!0;var d2=new Promise(function(h2,B2){R.addEventListener("message",function(u2){var A=y2.opt.id;A==u2.data.id&&u2.data.type==="handleSuccess"&&(setTimeout(function(){y2.opt.videoLoading=!1},1e3),h2(u2.data))})});return d2},n2.prototype.stop=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("stop",E+"/ezopen/h5/iframe");var R2=this,y2=new Promise(function(d2,h2){R.addEventListener("message",function(B2){var u2=R2.opt.id;u2==B2.data.id&&B2.data.type==="stop"&&d2(B2.data)})});return y2},n2.prototype.openSound=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("openSound",E+"/ezopen/h5/iframe");var R2=this,y2=new Promise(function(d2,h2){R.addEventListener("message",function(B2){var u2=R2.opt.id;u2==B2.data.id&&B2.data.type==="openSound"&&d2(B2.data)})});return y2},n2.prototype.closeSound=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("closeSound",E+"/ezopen/h5/iframe");var R2=this,y2=new Promise(function(d2,h2){R.addEventListener("message",function(B2){var u2=R2.opt.id;u2==B2.data.id&&B2.data.type==="closeSound"&&d2(B2.data)})});return y2},n2.prototype.startSave=function(t2){var X="EZUIKitPlayer-"+this.opt.id,R2=document.getElementById(X).contentWindow;R2.postMessage({action:"startSave",fileName:t2||"default"},E+"/ezopen/h5/iframe");var y2=this,d2=new Promise(function(h2,B2){R.addEventListener("message",function(u2){var A=y2.opt.id;A==u2.data.id&&u2.data.type==="startSave"&&h2(u2.data)})});return d2},n2.prototype.stopSave=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("stopSave",E+"/ezopen/h5/iframe");var R2=this,y2=new Promise(function(d2,h2){R.addEventListener("message",function(B2){var u2=R2.opt.id;u2==B2.data.id&&B2.data.type==="stopSave"&&d2(B2.data)})});return y2},n2.prototype.fullScreen=function(){if(this.opt.fullScreenStatus===1)return!1;var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var R2=document.documentElement.clientWidth,y2=document.documentElement.clientHeight,d2=document.body;d2=document.getElementById(t2);var h2="";h2+="width:"+y2+"px;",h2+="height:"+R2+"px;",h2+="-webkit-transform: rotate(90deg); transform: rotate(90deg);",h2+="-webkit-transform-origin: "+R2/2+"px "+R2/2+"px;",h2+="transform-origin: "+R2/2+"px "+R2/2+"px;",h2+="position: fixed;top: 0;left: 0;z-index:10",d2.style.cssText=h2,setTimeout(function(){X.postMessage("autoResize",E+"/ezopen/h5/iframe")},500)}else{var B2=function(A){var V=A.requestFullScreen||A.webkitRequestFullScreen||A.mozRequestFullScreen||A.msRequestFullScreen;if(V)V.call(A);else if(typeof R.ActiveXObject!="undefined"){var Z=new ActiveXObject("WScript.Shell");Z!==null&&Z.SendKeys("{F11}")}};B2(document.getElementById(t2))}this.params.fullScreenCallBack&&this.params.fullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=1},n2.prototype.cancelFullScreen=function(){if(this.opt.fullScreenStatus===0)return!1;var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var R2=document.getElementById(t2).width,y2=document.getElementById(t2).height,d2=document.body;d2=document.getElementById(t2);var h2="";h2+="width:"+R2+"px;",h2+="height:"+y2+"px;",h2+="-webkit-transform: none; transform: none;",h2+="-webkit-transform-origin: 0 0;",h2+="transform-origin: 0 0;",d2.style.cssText=h2,setTimeout(function(){X.postMessage("autoResize",E+"/ezopen/h5/iframe")},500);var B2=t2+"cancel-full-screen",u2=document.getElementById(B2);u2&&document.body.removeChild(u2)}else document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen();this.params.cancelFullScreenCallBack&&this.params.cancelFullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=0},n2.prototype.capturePicture=function(t2,X){var R2="EZUIKitPlayer-"+this.opt.id,y2=document.getElementById(R2).contentWindow;y2.postMessage({action:"capturePicture",fileName:t2||"default",isUndownload:X},E+"/ezopen/h5/iframe");var d2=this,h2=new Promise(function(B2,u2){R.addEventListener("message",function(A){var V=d2.opt.id;V==A.data.id&&A.data.type==="capturePicture"&&B2(A.data)})});return h2},n2.prototype.enableZoom=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("enableZoom",E+"/ezopen/h5/iframe")},n2.prototype.closeZoom=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("closeZoom",E+"/ezopen/h5/iframe")},n2.prototype.getOSDTime=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("getOSDTime",E+"/ezopen/h5/iframe");var R2=this,y2=new Promise(function(d2,h2){R.addEventListener("message",function(B2){var u2=R2.opt.id;u2==B2.data.id&&B2.data.type==="getOSDTime"&&d2(B2.data)})});return y2},n2.prototype.autoResize=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("autoResize",E+"/ezopen/h5/iframe")},n2.prototype.reSize=function(t2,X){var R2="EZUIKitPlayer-"+this.opt.id,y2=document.getElementById(R2).contentWindow,d2=document.getElementById(this.opt.id);d2.style.width=t2+"px",d2.style.height=X+"px",document.getElementById(this.opt.id).style.width=t2+"px",document.getElementById(this.opt.id).style.height=X+"px";var h2=document.getElementById(R2);h2.setAttribute("width",t2),h2.setAttribute("height",X),h2.style.width=t2+"px",h2.style.height=X+"px",setTimeout(function(){y2.postMessage({action:"autoResize"},E+"/ezopen/h5/iframe")},500)},n2.prototype.startTalk=function(){console.log("执行开始对讲"),console.log(this.opt);var t2=this;_.opt=this.opt,R.EZUIKit&&(R.EZUIKit.opt=this.opt);var X=function(y2){if(y2.code==200){var d2=y2.data;if(d2){var h2=d2.rtcUrl;h2.indexOf("ws")===-1&&(h2=h2.replace("https","wss").replace("rtcgw","rtcgw-ws")),t2.opt.rtcUrl=h2,t2.opt.ttsUrl="tts://"+d2.ttsUrl;var B2="talk://"+t2.opt.deviceSerial+":0:"+t2.opt.channelNo+":cas.ys7.com:6500";t2.opt.talkLink=t2.opt.ttsUrl+"/"+B2,t2.opt.stream=d2.stream,R.startTalk()}}};w(t2.opt.apiDomain,"POST",{accessToken:t2.opt.accessToken,deviceSerial:t2.opt.deviceSerial,channelNo:t2.opt.channelNo},"",X)},n2.prototype.stopTalk=function(){console.log("执行结束对讲"),R.stopTalk()},n2.prototype.edit=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage("edit",E+"/ezopen/h5/iframe")},n2.prototype.btnReRender=function(t2){var X="EZUIKitPlayer-"+this.opt.id,R2=document.getElementById(X).contentWindow;R2.postMessage({action:"btnReRender",data:t2},E+"/ezopen/h5/iframe")},n2.prototype.changePlayUrl=function(t2){t2.deviceSerial&&(this.opt.deviceSerial=t2.deviceSerial),t2.channelNo&&(this.opt.channelNo=t2.channelNo),t2.accessToken&&(this.opt.accessToken=t2.accessToken);var X="EZUIKitPlayer-"+this.opt.id,R2=document.getElementById(X).contentWindow;R2.postMessage({action:"changePlayUrl",data:t2},E+"/ezopen/h5/iframe")},n2.prototype.fetchThemeData=function(){var t2="EZUIKitPlayer-"+this.opt.id,X=document.getElementById(t2).contentWindow;X.postMessage({action:"fetchThemeData"},E+"/ezopen/h5/iframe")},n2.prototype.setThemeData=function(t2,X,R2){var y2="EZUIKitPlayer-"+this.opt.id,d2=document.getElementById(y2).contentWindow;d2.postMessage({action:"setThemeData",data:{accessToken:t2,header:X,footer:R2}},E+"/ezopen/h5/iframe")},_.EZUIKitPlayer=n2,R.EZUIKitV3=_;var o2=_;return o2});var D2=EZUIKitV3,B3=function(M){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},y=void 0,w=void 0,_=void 0,E=[];return function(){var o2=m3(d),t2=new Date().getTime(),X=!y||t2-y>o2;y=t2;for(var R2=arguments.length,y2=Array(R2),d2=0;d2>>0)+"_",h1=0;return f3}),w("Symbol.iterator",function(E2){if(E2)return E2;E2=Symbol("Symbol.iterator");for(var f3="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),g3=0;g30&&y>0){var _=M.left/f,E=M.top/y,r2=M.right/f,n2=M.bottom/y;w=new Float32Array([r2,E,_,E,r2,n2,_,n2])}else w=new Float32Array([1,0,0,0,1,1,0,1]);var o2=this.texturePosBuffer;d.bindBuffer(d.ARRAY_BUFFER,o2),d.bufferSubData(d.ARRAY_BUFFER,0,w),d.bindBuffer(d.ARRAY_BUFFER,null)},R.prototype.SR_Destroy=function(){var M=this.contextGL,d=this.YUVProgram;M.deleteProgram(d);var f=this.vertexPosBuffer,y=this.texturePosBuffer;M.deleteBuffer(f),M.deleteBuffer(y);var w=this.yTextureRef,_=this.uTextureRef,E=this.vTextureRef;M.deleteTexture(w),M.deleteTexture(_),M.deleteTexture(E)},R});var N0="https://open.ys7.com",Me="".concat(N0,"/console/ezuikit_static/v66/v2"),ae="".concat(N0,"/console/ezuikit_static/v66/v1"),Be=function(M,d){var f=["theme","standard"],y=["pcLive","pcRec","mobileLive","mobileRec","noData","security","voice","simple"];if(typeof M=="undefined")return d.themeData?{templateType:"themeData",templateId:"themeData"}:{templateType:"local",templateId:""};if(typeof M=="string"){if(M.length===32)return{templateType:"remote",templateId:M};if(f.indexOf(M)!==-1)return M==="simple"&&typeof d.header=="undefined"&&typeof d.footer=="undefined"?{templateType:"local",templateId:""}:{templateType:"iframe",templateId:M};if(y.indexOf(M)!==-1)return{templateType:"local",templateId:M}}},p0=function(){var M=window.navigator.userAgent.toLowerCase(),d={sa:/version.*safari/.test(M),ch:/chrome/.test(M),ff:/gecko/.test(M)&&!/webkit/.test(M)},f=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(f)return!1;if(d.ch){var y=function(){for(var _=window.navigator.userAgent.split(" "),E="",r2=0;r2<_.length;r2++)/chrome/i.test(_[r2])&&(E=_[r2]);return E?Number(E.split("/")[1].split(".")[0]):!1};return y()>91&&!!window.SharedArrayBuffer}return!1},N2=function(){function R(M){var d=this;a(this,R),this.isStoping=!1;var f=M.autoplay,y=f===void 0?!0:f;if((M.template||M.themeData)&&(y=!1),this.params=M,this.autoplay=y,window.EZUIKit[M.id]={state:{EZUIKitPlayer:{init:window.EZUIKit[M.id]&&window.EZUIKit[M.id].state&&window.EZUIKit[M.id].state.EZUIKitPlayer.init||!1,themeInit:window.EZUIKit[M.id]&&window.EZUIKit[M.id].state&&window.EZUIKit[M.id].state.EZUIKitPlayer.themeInit||!1,talkInit:window.EZUIKit[M.id]&&window.EZUIKit[M.id].state&&window.EZUIKit[M.id].state.EZUIKitPlayer.talkInit||!1}}},Be(this.params.template,M).templateType!=="iframe"){this.Monitor=new m2({env:typeof M.disableMonitor!="undefined"&&M.disableMonitor?"test12":"online"},this),this.id=M.id,this.width=M.width,this.height=M.height,this.url=M.url,this.accessToken=M.accessToken,this.themeId=Be(M.template,M).templateId,this.id=M.id,this.audio=!0,this.poster=M.poster,this.speed=1,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.enableSharedArrayBufferGuide=!1,this.capacity={},this.playTimer=null,this.env={domain:"https://open.ys7.com"};var w=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.isMobile=w,document.getElementById("".concat(this.id,"-wrap"))&&(document.getElementById("".concat(this.id,"-wrap")).innerHTML="",document.getElementById("".concat(this.id,"-wrap")).id=this.id),this.staticPath=p0()?Me:ae,typeof M.staticPath=="string"&&(M.staticPath.startsWith("http")?this.staticPath=M.staticPath:this.staticPath=window.location.protocol+"//"+window.location.host+M.staticPath,p0()?this.staticPath+="/v2":this.staticPath+="/v1"),typeof M.audio!="undefined"&&(this.audio=M.audio),typeof M.env!="undefined"&&(this.env=Object.assign(this.env,M.env)),typeof M.isMobile!="undefined"&&(this.isMobile=M.isMobile),typeof M.disabledTimeLine!="undefined"&&(this.disabledTimeLine=M.disabledTimeLine),typeof M.disabledPTZ!="undefined"&&(this.disabledPTZ=M.disabledPTZ),typeof M.enableSharedArrayBufferGuide!="undefined"&&(this.enableSharedArrayBufferGuide=M.enableSharedArrayBufferGuide);var _="".concat(this.staticPath,"/js/jsPluginV1-1.0.0.min.js"),E=function(){if(window.addPluginUrlIng=!0,p0())console.log("启用多线程解析视频"),_="".concat(d.staticPath,"/js/jsPluginV2-2.0.1.min.js");else{var o2=function(){for(var h2=navigator.userAgent.split(" "),B2="",u2=0;u20&&(_=n2.width),!d.height&&n2.height>0&&(r2=n2.height)}if(!document.getElementById("".concat(y,"-wrap"))){var o2=document.createElement("div");o2.id="".concat(y,"-wrap"),o2.style="display:inline-block;width:".concat(_,"px;position:relative;vertical-align: bottom;"),document.getElementById(y).parentNode.insertBefore(o2,document.getElementById(y)),document.getElementById(y).parentNode.removeChild(document.getElementById(y)),o2.innerHTML="
    "),document.getElementById(y).style="display:inline-block;width:".concat(_,"px;height:").concat(r2,"px;"),document.getElementById(y).style.verticalAlign="top"}this.themeId&&(this.Theme=new C3(this,d.id),window.EZUIKit[d.id].state.EZUIKitPlayer.themeInit=!0,this.Monitor.dclog({url:this.url,action:2,text:this.themeId}),typeof this.params.handleThemeChange=="function"&&(this.handleThemeChange=this.params.handleThemeChange));var t2=new S3(this,y);this.Message=t2;var X=function(d2,h2){var B2;if(p0()){B2=new window.JSPluginV2({szId:y,iType:2,iWidth:_,iHeight:r2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:f.staticPath,oStyle:{border:"none",background:"#000000"}}),f.pluginStatus.loadingStart(y),f.pluginStatus.loadingSetText({text:"初始化播放器完成"}),B2.EventCallback={pluginErrorHandler:function(V,Z,P2){if(console.log(V,Z,P2),Z===1003)console.log("断流"),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),B2.bPlay||(f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof f.params.handleError=="function"&&f.params.handleError({msg:"连接断开,请重试",retcode:1003,id:f.params.id,type:"handleError"});else if(P2.errorCode!=1){var I2=f.errorHander.matchErrorInfo(P2.errorCode),W2="连接断开,请重试";I2&&I2.msg?W2=I2.msg:I2&&I2.description&&(W2=I2.description),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:W2,color:"red"})}else f.pluginStatus.loadingClear(),f.Theme&&f.Theme.setDisabled(!1)},openStreamCallback:function(){console.log("开启取流"),f.openStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:224,d:f.openStreamTime-f.gotWsUrlTime,text:"openStream",isVersion2Available:p0()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),f.getStreamHeaderTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:225,d:f.getStreamHeaderTime-f.openStreamTime,text:"getStreamHeader",isVersion2Available:p0()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),f.getVideoStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:226,d:f.getVideoStreamTime-f.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:p0()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),f.appearFirstFrameTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:227,d:f.appearFirstFrameTime-f.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:p0()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),f.averageStreamSuccessTime=f.initSuccessTime-f.initTime+(f.gotWsUrlTime-f.startGetWsUrlTime)+(f.appearFirstFrameTime-f.openStreamTime),f.Monitor.dclog({url:f.url,action:228,d:f.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:p0()?1:0})}},f.env={domain:"https://open.ys7.com"},typeof d.env!="undefined"&&(f.env=Object.assign(f.env,d.env)),typeof d.handleTalkSuccess!="undefined"&&(f.handleTalkSuccess=d.handleTalkSuccess),typeof d.handleTalkError!="undefined"&&(f.handleTalkError=d.handleTalkError),f.errorHander=new y1,f.jSPlugin=B2;var u2=setInterval(function(){window.JSPlayerModuleLoaded&&(clearInterval(u2),typeof f.params.handleInitSuccess=="function"&&f.params.handleInitSuccess({retcode:0,id:f.params.id,type:"handleInitSuccess"}),d2({meta:{retcode:200,msg:"初始化成功"}}),d.url.indexOf("rec")!=-1&&f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec"))},50)}else B2=new window.JSPluginV1({szId:y,iType:2,iWidth:_,iHeight:r2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:f.staticPath,oStyle:{border:"none",background:"#000000"}}),f.pluginStatus.loadingStart(y),f.pluginStatus.loadingSetText({text:"初始化播放器完成"}),B2.EventCallback={openStreamCallback:function(){console.log("开启取流---v1"),f.openStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:224,d:f.openStreamTime-f.gotWsUrlTime,text:"openStream",isVersion2Available:p0()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),f.getStreamHeaderTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:225,d:f.getStreamHeaderTime-f.openStreamTime,text:"getStreamHeader",isVersion2Available:p0()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),f.getVideoStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:226,d:f.getVideoStreamTime-f.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:p0()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),f.appearFirstFrameTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:227,d:f.appearFirstFrameTime-f.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:p0()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),f.averageStreamSuccessTime=f.initSuccessTime-f.initTime+(f.gotWsUrlTime-f.startGetWsUrlTime)+(f.appearFirstFrameTime-f.openStreamTime),f.Monitor.dclog({url:f.url,action:228,d:f.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:p0()?1:0})},loadEventHandler:function(){},zoomEventResponse:function(){},windowEventSelect:function(V){},pluginErrorHandler:function(V,Z,P2){if(console.log(V,Z,P2),Z===1003)console.log("断流"),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),B2.bPlay||(f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof f.params.handleError=="function"&&f.params.handleError({msg:"连接断开,请重试",retcode:1003,id:f.params.id,type:"handleError"});else if(P2.errorCode!=1){var I2=f.errorHander.matchErrorInfo(P2.errorCode),W2="连接断开,请重试";I2&&I2.msg?W2=I2.msg:I2&&I2.description&&(W2=I2.description),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:W2,color:"red"})}else f.pluginStatus.loadingClear(),f.Theme&&f.Theme.setDisabled(!1)},windowEventOver:function(V){},windowEventOut:function(V){},windowEventUp:function(V){},windowFullCcreenChange:function(V){},firstFrameDisplay:function(V,Z,P2){console.log(Z,P2),B2.JS_SetCanFullScreen(!1)},performanceLack:function(){},mouseEvent:function(V,Z,P2){}},f.env={domain:"https://open.ys7.com"},typeof d.env!="undefined"&&(f.env=Object.assign(f.env,d.env)),typeof d.handleTalkSuccess!="undefined"&&(f.handleTalkSuccess=d.handleTalkSuccess),typeof d.handleTalkError!="undefined"&&(f.handleTalkError=d.handleTalkError),f.errorHander=new y1,f.jSPlugin=B2,typeof f.params.handleInitSuccess=="function"&&f.params.handleInitSuccess({retcode:0,id:f.params.id,type:"handleInitSuccess"}),d2({meta:{retcode:200,msg:"初始化成功"}}),d.url.indexOf("rec")!=-1&&f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec")},R2=new Promise(X);return R2}},{key:"_getRealUrlPromise",value:function(d,f){var y=this;console.log("获取播放地址 url => ".concat(f," ").concat(this.accessToken)),console.log("开始获取wsurl"),this.startGetWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:222,text:"startGetWsUrl",isVersion2Available:p0()?1:0});var w=this.env.domain;this.env&&(w=this.env.domain);var _=function(o2,t2){var X="",R2=w+"/api/lapp/live/url/ezopen",y2=new FormData;y2.append("ezopen",f),y2.append("isFlv",!1),y2.append("userAgent",window.navigator.userAgent),y2.append("isHttp",!1),y2.append("accessToken",d),fetch(R2,{method:"POST",body:y2}).then(function(d2){return d2.json()}).then(function(d2){if(d2.code==200||d2.retcode==0){var h2="",B2="";d2.ext&&d2.ext.token?(X+=d2.data,B2=d2.ext.token,h2=d2.data):d2.data&&d2.data.token&&(X+=d2.data.url,B2=d2.data.token,h2=d2.data.url);var u2=f.indexOf("live")!==-1?"live":"playback";u2==="live"?X=X+"&ssn="+B2+"&auth=1&biz=4&cln=100":X=X+"&ssn="+B2+"&auth=1&cln=100",console.log(X);var A=p("checkCode",X);if(A&&(typeof y.jSPlugin.decoderVersion!="undefined"&&y.jSPlugin.decoderVersion==="2.0"?y.validateCode=A:(console.log("设置密钥",A),y.jSPlugin.JS_SetSecretKey(0,A))),X.indexOf("playback")!==-1){var V=p("begin",h2)||p("begin",f),Z=p("end",h2)||p("end",f);if(V)X=X.replace("&begin="+p("begin",h2),"&begin="+E(V,"000000")),p("begin",X)||(X+="&begin="+E(V,"000000"));else{var P2=new Date;X=X+"&begin="+P2.Format("yyyyMMdd")+"T000000Z"}if(Z?(X=X.replace("&end="+p("end",h2),"&end="+E(Z,"235959")),p("end",X)||(X+="&end="+E(Z,"235959"))):X=X+"&end="+E(p("begin",X).substr(0,8),"235959"),p("stream",h2)||(X=X.replace("stream","&stream")),f.indexOf(".cloud")!==-1){var I2=function(B1){if(B1.code==200){var v1=[];if(B1.data&&B1.data.files&&B1.data.files.length>0){var Y1=B1.data.files,g0=new Date().getTime(),E2=B1.data.isAll;if(E2){v1=V3(Y1);var f3=JSON.stringify(v1).replace("\\","");X+="&recSlice="+f3.replace("\\","")+"&r="+Math.random(),o2(X)}else{var g3=function h1(){function L1(D1){if(D1.data&&D1.data.files&&D1.data.files.length>0)if(D1.data.isAll==!1)D1.data.files&&(Y1=Y1.concat(D1.data.files)),g0=D1.data.nextFileTime>0?D1.data.nextFileTime:new Date().getTime(),h1();else{v1=V3(Y1);var n0=JSON.stringify(v1).replace("\\","");X+="&recSlice="+n0.replace("\\","")+"&r="+Math.random(),o2(X)}else{v1=V3(Y1);var n0=JSON.stringify(v1).replace("\\","");X+="&recSlice="+n0.replace("\\","")+"&r="+Math.random(),o2(X)}}T3.startTime=g0,_2(E3,"POST",T3,"",L1)};g3()}}else t2({retcode:-1,msg:"未找到录像片段"})}else t2({retcode:-1,msg:"未找到录像片段"});function V3(h1){var L1=[];return h1.forEach(function(D1,n0){L1.length==0||D1.downloadPath!==L1[L1.length-1].downloadPath?L1.push({downloadPath:D1.downloadPath,ownerId:D1.ownerId,iStorageVersion:D1.iStorageVersion,videoType:D1.videoType,iPlaySpeed:0,startTime:D1.startTime,endTime:D1.endTime}):L1[L1.length-1].endTime=D1.endTime}),L1}},W2=r2(p("begin",X)),V2=r2(p("end",X)),l3=p("serial",X),x3=p("chn",X),E3=w+"/api/lapp/video/by/time",T3={accessToken:y.accessToken,recType:1,deviceSerial:l3,channelNo:x3,startTime:W2,endTime:V2,version:"2.0"};_2(E3,"POST",T3,"",I2)}else if(f.indexOf("alarmId")!==-1){var m1=function(g3){if(g3.code==200){var V3=[];if(g3.data){V3=L1([g3.data]);var h1=JSON.stringify(V3).replace("\\","");X+="&recSlice="+h1.replace("\\",""),console.log("realUrl",X,g3.data.recType),g3.data.recType==1?X=X.replace("/playback","/cloudplayback"):X=X.replace("/cloudplayback","/playback"),o2(X)}}function L1(D1){var n0=[];return D1.forEach(function(C0,Pe){n0.length==0||C0.downloadPath!==n0[n0.length-1].downloadPath?n0.push({downloadPath:C0.downloadPath,ownerId:C0.ownerId,iStorageVersion:C0.iStorageVersion,videoType:C0.videoType,iPlaySpeed:0,startTime:C0.startTime,endTime:C0.endTime}):n0[n0.length-1].endTime=C0.endTime}),console.log("downloadPathArr",n0),n0}};console.log("进入alarmId回放");var T1=p("alarmId",X),W2=r2(p("begin",X)),V2=r2(p("end",X)),l3=p("serial",X),x3=p("chn",X),E3=w+"/api/lapp/video/by/id",T3={accessToken:y.accessToken,deviceSerial:l3,channelNo:x3,alarmId:T1};_2(E3,"POST",T3,"",m1)}else o2(X)}else o2(X)}else y.Theme&&y.Theme.setDisabled(!0),y.pluginStatus.loadingClear(),y.pluginStatus.loadingSetText({text:d2.msg,color:"red"}),typeof y.params.handleError=="function"&&y.params.handleError({retcode:d2.code,msg:d2.msg,id:y.params.id,type:"handleError"}),t2(d2)})};return new Promise(function(n2,o2){return _(n2,o2)});function E(n2,o2){var t2=/^[0-9]{8}T[0-9]{6}Z$/;if(t2.test(n2))return n2;if(/[0-9]{8,14}/.test(n2)){var X=6-(14-n2.length),R2=o2.length,y2=n2+o2.substring(X,R2);return y2.slice(0,8)+"T"+y2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}function r2(n2){var o2=n2.slice(0,4),t2=n2.slice(4,6),X=n2.slice(6,8),R2=n2.slice(9,11),y2=n2.slice(11,13),d2=n2.slice(13,15),h2=o2+"-"+t2+"-"+X+" "+R2+":"+y2+":"+d2;return new Date(h2.replace(/-/g,"/")).getTime()}}},{key:"_pluginPlay",value:function(d,f,y){var w=this;if(console.log("执行播放 _pluginPlay",d),!d)return!1;function _(o2){var t2=o2.split("?")[0].replace("/live","").replace("/playback",""),X=(o2.indexOf("/live")===-1?o2.indexOf("cloudplayback")!==-1?"/cloudplayback?":"/playback?":"/live?")+o2.split("?")[1];return X.indexOf("/playback")!==-1&&(X=X.replace("stream=2","stream=1")),{websocketConnectUrl:t2,websocketStreamingParam:X}}var E=_(d).websocketConnectUrl;this.env&&this.env.wsUrl&&(E=this.env.wsUrl),this.gotWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:223,d:this.gotWsUrlTime-this.startGetWsUrlTime,text:"getWsUrlSuccess",isVersion2Available:p0()?1:0});var r2={playURL:_(d).websocketStreamingParam};console.log("播放前 stop 阶段 结束"),this.isStoping=!1;var n2=Date.now();console.log("执行播放 ... this.jSPlugin.JS_Play at ",n2),this.jSPlugin.JS_Play(E,r2,0).then(function(){if(console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功",E,r2),console.log("执行播放耗时 ",Date.now()-n2),w.isStoping){console.log("现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效");return}if(w.validateCode&&typeof w.jSPlugin.decoderVersion!="undefined"&&w.jSPlugin.decoderVersion==="2.0"&&w.jSPlugin.JS_SetSecretKey(0,w.validateCode),w.pluginStatus.loadingClear(),w.pluginStatus.setPlayStatus({play:!0,loading:!1}),w.Theme){w.Theme.setDecoderState({play:!0});var o2=p3.findIndex(w.Theme.themeData.footer.btnList,function(t2){return t2.iconId==="sound"&&t2.isrender===1&&t2.defaultActive===1})>-1;w.audio=o2}w.audio&&setTimeout(function(){w.openSound()},500),typeof w.params.handleSuccess=="function"&&w.params.handleSuccess({retcode:0,id:w.params.id,type:"handleSuccess"}),f(r2),w.Monitor.dclog({url:w.url,action:211,d:new Date().getTime()-w.playStartTime,text:"startPlaySuccess"}),w.Monitor.playLog({Enc:w.url.indexOf("@")===-1?0:1,PlTp:w.url.indexOf("back")===-1?1:2,Via:2,ErrCd:0,Cost:new Date().getTime()-w.playStartTime,Serial:v2(w.url).deviceSerial,Channel:v2(w.url).channelNo,Ver:p0()?"v7.0.0":"v6.0.0"})},function(o2){console.log("err",o2);var t2="播放失败,请检查设备及客户端网络",X=-1;if(w.jSPlugin.bPlay)return!1;if(o2&&o2.errorCode){var R2=w.errorHander.matchErrorInfo(o2.errorCode);w.Theme&&w.Theme.setDisabled(!0),R2&&R2.msg?t2=R2.msg:R2&&R2.description?t2=R2.description:t2="播放失败,请检查设备及客户端网络",X=o2.errorCode}w.pluginStatus.loadingClear(),w.pluginStatus.loadingSetText({text:t2,color:"red"}),typeof w.params.handleError=="function"&&w.params.handleError({retcode:X,msg:t2,id:w.params.id,type:"handleError"}),y(),w.Monitor.dclog({url:w.url,action:411,d:new Date().getTime()-w.playStartTime,text:"startPlayError"}),w.Monitor.playLog({Enc:w.url.indexOf("@")===-1?0:1,PlTp:w.url.indexOf("back")===-1?1:2,Via:2,ErrCd:X,Cost:-1,Serial:v2(w.url).deviceSerial,Channel:v2(w.url).channelNo,Ver:p0()?"v7.0.0":"v6.0.0"})})}},{key:"_play",value:function(d){var f=this;console.log("执行播放 play options.url =>",d),this.pluginStatus.setPlayStatus({play:!1,loading:!0}),this.playStartTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:1,d:new Date().getTime()-this.initTime,text:"startPlay"}),d&&(typeof d=="string"&&(this.url=d),typeof d.url=="string"&&(this.url=d.url),typeof d.accessToken=="string"&&(this.accessToken=d.accessToken),this.Theme&&(typeof d.url=="string"||typeof d.accessToken=="string")&&this.Theme.getDeviceInfo());var y=new Promise(function(w,_){console.log("执行 播放前 stop"),f.isStoping=!0,f.jSPlugin.JS_Stop(0).then(function(){console.log("播放前 stop 执行成功 this.url => ".concat(f.url," ").concat(f.accessToken)),f._getRealUrlPromise(f.accessToken,f.url).then(function(E){f._pluginPlay(E,function(r2){w(!0)},function(){return _(!1)})}).catch(function(E){var r2=E.msg?E.msg:"播放失败,请检查设备及客户端网络";f.Theme&&f.Theme.setDisabled(!0),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:r2,color:"red"}),typeof f.params.handleError=="function"&&f.params.handleError({retcode:E.oError?E.oError.errorCode:-1,msg:r2,id:f.params.id,type:"handleError"}),_({retcode:E.oError?E.oError.errorCode:-1,msg:r2,id:f.params.id,type:"handleError"})})})});return y}},{key:"stop",value:function(){var d=this;return this.pluginStatus.setPlayStatus({loading:!0}),this.reSetTheme(),this.jSPlugin.JS_Stop(0).then(function(){console.log("停止成功"),d.pluginStatus.setPlayStatus({play:!1,loading:!1}),d.Theme&&d.Theme.setDecoderState({play:!1})})}},{key:"changeVideoLevel",value:function(d){var f=this,y=this.url,w=d?y.replace(".live",".hd.live"):y.replace(".hd.live",".live");this.jSPlugin.playURL=d?this.jSPlugin.playURL.replace("stream=2","stream=1"):this.jSPlugin.playURL.replace("stream=1","stream=2"),console.log("changeVideoLevel",w,this.jSPlugin.playURL),this.url=w;var _=new Promise(function(E,r2){f.pause().then(function(){console.log("暂停成功"),f.resume().then(function(n2){console.log("恢复成功")})}).catch(function(){console.log("暂停失败"),f.resume().then(function(n2){console.log("恢复成功")})})});return _}},{key:"reSetTheme",value:function(){this.Theme&&this.Theme.Ptz&&(this.Theme.setDecoderState({pantile:!1}),this.Theme.Ptz.hide()),this.Theme&&this.Theme.decoderState.state.recordvideo&&this.Theme.setDecoderState({recordvideo:!1}),this.Theme&&this.Theme.decoderState.state.zoom&&(this.Zoom.stopZoom(),this.Theme.setDecoderState({zoom:!1})),this.Theme&&this.Theme.decoderState.state.talk&&(this.stopTalk(),this.Theme.setDecoderState({talk:!1})),this.Theme&&this.Theme.Rec&&!this.Theme.isMobile&&this.Theme.Rec.datepickerHide(),this.Theme&&this.Theme.Rec&&(this.Theme.changeRecSpeed(1),this.Theme.nextRate=1,this.speed=1,this.Theme.setDecoderState({speed:!1}))}},{key:"_changePlayUrl",value:function(d){var f=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){};console.log("_changePlayUrl"),console.log(d),this.reSetTheme(),this.getDeviceCapacity({accessToken:d.accessToken,deviceSerial:d.deviceSerial});var w=this.url,_=r2(w,d);d.accessToken&&(this.accessToken=d.accessToken),this.url=_,y(),this.pluginStatus.loadingStart(this.id),this.pluginStatus.loadingSetText({text:"加载中,请稍后"});var E=new Promise(function(n2,o2){var t2={url:_};return d.accessToken&&(t2.accessToken=d.accessToken),console.log("切换播放地址 参数 ",t2),f.play(t2).then(function(){console.log("切换播放地址 play 执行成功 ",f.url,f.accessToken),f.Theme&&f.Theme.decoderState.state.webExpend&&f.Theme.webExpend(),f.Theme&&f.Theme.decoderState.state.expend&&f.Theme.expend(),d.type?d.type=="rec"||d.type=="cloud.rec"?f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec"):f.Theme.changeTheme(f.isMobile?"mobileLive":"pcLive"):f.url.indexOf(".rec")>-1?f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec"):f.Theme.changeTheme(f.isMobile?"mobileLive":"pcLive"),d&&d.begin&&d.deviceSerial&&f.Theme.Rec.setDatepickerDate(d.begin),f.Theme.setDisabled(!1),n2(_)}).catch(function(X){o2(_),X&&X.msg&&(f.Theme&&f.Theme.setDisabled(!0),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:X.msg,color:"red"}))})});function r2(n2,o2){if(o2.url)return o2.url;console.log("--------------matchInitUrl",n2);var t2=n2.split("/")[4].split(".")[n2.split("/")[4].split(".").length-1].split("?")[0];t2==="rec"&&n2.indexOf(".cloud.rec")!==-1&&(t2="cloud.rec"),o2.type&&(t2=o2.type);var X=n2.split("/")[3];o2.deviceSerial&&(X=o2.deviceSerial);var R2=n2.split("/")[4].split(".")[0];o2.channelNo&&(R2=o2.channelNo);var y2=n2.split("/")[2].split("@").length===2?n2.split("/")[2].split("@")[0]:"";typeof o2.validCode!="undefined"&&(y2=o2.validCode);var d2=typeof o2.hd=="undefined"?n2.indexOf(".hd")!==-1:o2.hd,h2="ezopen://".concat(y2?"".concat(y2,"@"):"","open.ys7.com/").concat(X,"/").concat(R2).concat(d2?".hd":"",".").concat(t2);return t2==="live"||(h2="ezopen://".concat(y2?"".concat(y2,"@"):"","open.ys7.com/").concat(X,"/").concat(R2,".").concat(t2),o2.begin&&o2.end?h2+="?begin=".concat(o2.begin,"&end=").concat(o2.end):o2.begin?h2+="?begin=".concat(o2.begin):p("begin",n2)&&(h2+="?begin=".concat(p("begin",n2)))),h2}return E}},{key:"getOSDTime",value:function(){var d=this,f=new Promise(function(y,w){d.jSPlugin.JS_GetOSDTime(0).then(function(_){y({code:0,retcode:0,data:_}),typeof d.params.getOSDTimeCallBack=="function"&&d.params.getOSDTimeCallBack({id:d.id,type:"getOSDTime",code:0,data:_})}).catch(function(_){w({code:-1,retcode:-1,data:_}),typeof d.params.getOSDTimeCallBack=="function"&&d.params.getOSDTimeCallBack({id:d.id,type:"getOSDTime",code:-1,data:-1})})});return f}},{key:"capturePicture",value:function(d){var f=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,w=this.jSPlugin.JS_CapturePicture(0,d,"JPEG",y,!!y);return h(w)?(typeof this.params.capturePictureCallBack=="function"&&w.then(function(){f.params.capturePictureCallBack({id:f.id,type:"capturePicture",code:0})}).catch(function(){f.params.capturePictureCallBack({id:f.id,type:"capturePicture",code:-1})}),w):new Promise(function(_){_(w)})}},{key:"startSave",value:function(d){var f=this,y=this.jSPlugin.JS_StartSave(0,d);return h(y)?(typeof this.params.startSaveCallBack=="function"&&y.then(function(){f.params.startSaveCallBack({id:f.id,type:"startSave",code:0})}).catch(function(){f.params.startSaveCallBack({id:f.id,type:"startSave",code:-1})}),y):(this.Theme&&this.Theme.setDecoderState({recordvideo:!0}),new Promise(function(w){w(y)}))}},{key:"stopSave",value:function(){var d=this,f=this.jSPlugin.JS_StopSave(0);return h(f)?(typeof this.params.startSaveCallBack=="function"&&f.then(function(){d.params.stopSaveCallBack({id:d.id,type:"stopSave",code:0})}).catch(function(){d.params.stopSaveCallBack({id:d.id,type:"stopSave",code:-1})}),f):(this.Theme&&this.Theme.setDecoderState({recordvideo:!1}),new Promise(function(y){y(f)}))}},{key:"openSound",value:function(){var d=this.jSPlugin.JS_OpenSound(0);return console.log("打开声音",d),h(d)?d:(this.Theme&&this.Theme.setDecoderState({sound:!0}),typeof this.params.openSoundCallBack=="function"&&this.params.openSoundCallBack({id:this.id,type:"openSound",code:d}),new Promise(function(f){f(d)}))}},{key:"closeSound",value:function(){var d=this.jSPlugin.JS_CloseSound(0);return h(d)?d:(this.Theme&&this.Theme.setDecoderState({sound:!1}),typeof this.params.closeSoundCallBack=="function"&&this.params.closeSoundCallBack({id:this.id,type:"closeSound",code:d}),new Promise(function(f){f(d)}))}},{key:"enableZoom",value:function(){var d=this.jSPlugin.JS_EnableZoom(0);return h(d)?d:new Promise(function(f){f(d)})}},{key:"closeZoom",value:function(){var d=this.jSPlugin.JS_DisableZoom(0);return h(d)?d:new Promise(function(f){f(d)})}},{key:"setPoster",value:function(d){p0()?document.getElementById("".concat(this.id))&&(document.getElementById("".concat(this.id)).style.backgroundImage="url(".concat(d,")"),document.getElementById("".concat(this.id)).style.backgroundSize="100% 100%"):document.getElementById("".concat(this.id,"canvas0"))&&(document.getElementById("".concat(this.id,"canvas0")).style.backgroundImage="url(".concat(d,")"),document.getElementById("".concat(this.id,"canvas0")).style.backgroundSize="cover")}},{key:"reSize",value:function(d,f){var y=0,w=0;if(this.params.height=f,this.params.width=d,this.Theme&&this.Theme.isNeedRenderHeader&&document.getElementById("".concat(this.id,"-headControl"))&&(y=parseInt(document.getElementById("".concat(this.id,"-headControl")).style.height,10)),this.Theme&&this.Theme.isNeedRenderTimeLine&&!this.isMobile&&(w=48),f=f-y-w,this.width=d,this.height=f,document.getElementById("".concat(this.id,"-wrap")).style="width:".concat(d,"px;position:relative;display:inline-block;vertical-align: bottom;"),document.getElementById("".concat(this.id)).style.width=d+"px",document.getElementById("".concat(this.id)).style.height=f+"px",this.jSPlugin&&this.jSPlugin.bPlay)this.jSPlugin&&(this.jSPlugin.iHeight=f,this.jSPlugin.iWidth=d),this.jSPlugin.JS_Resize(d,f);else{document.getElementById("".concat(this.id,"-player"))&&(document.getElementById("".concat(this.id,"-player")).width=d,document.getElementById("".concat(this.id,"-player")).height=f,document.getElementById("".concat(this.id,"-player")).style.width=d+"px",document.getElementById("".concat(this.id,"-player")).style.height=f+"px");var _=1;if(document.getElementById("".concat(this.id,"canvas0"))){var E=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);E&&(_=2),document.getElementById("".concat(this.id,"canvas0")).style.width=d*_+"px",document.getElementById("".concat(this.id,"canvas0")).style.height=f*_+"px",document.getElementById("".concat(this.id,"canvas0")).width=d*_,document.getElementById("".concat(this.id,"canvas0")).height=f*_,document.getElementById("".concat(this.id,"canvas0")).parentNode.style.width=d*_+"px",document.getElementById("".concat(this.id,"canvas0")).parentNode.style.height=f*_+"px",document.getElementById("".concat(this.id,"canvas_draw0")).height=f*_}this.jSPlugin&&(this.jSPlugin.iHeight=f*_,this.jSPlugin.iWidth=d*_)}}},{key:"fast",value:function(d){var f=this,y=this.speed;if(d)var w=this.jSPlugin.JS_Fast(0,d);else{if(y===1)y=2;else if(y===2)y=4;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最大为4倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(E,r2){f.speed=y,r2({code:-1,data:{speed:y,result:"播放速度最大为4倍速度"}})});var w=this.jSPlugin.JS_Fast(0)}return new Promise(function(_){f.speed=y,_({code:0,data:{speed:y,result:w}})})}},{key:"slow",value:function(){var d=this,f=this.speed;if(f===4)f=2;else if(f===2)f=1;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最小为1倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(w,_){d.speed=f,_({code:-1,data:{speed:f,result:"播放速度最小为1倍速度"}})});var y=this.jSPlugin.JS_Slow(0);return new Promise(function(w){d.speed=f,w({code:0,data:{speed:f,result:y}})})}},{key:"seek",value:function(d,f){var y=this.url,w=(p("begin",y)||new Date().Format("yyyyMMdd")).substr(0,8);if(f=_(w,"235959"),d.length===6)d=_(w,d);else if(d.length===16){if(d.substr(0,8)!==w)return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间不能跨日期",retcode:-1,id:this.id,type:"handleError"}),!1}else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间格式错误",retcode:-1,id:this.id,type:"handleError"}),!1;function _(r2,n2){var o2=/^[0-9]{8}T[0-9]{6}Z$/;if(o2.test(r2))return r2;if(/[0-9]{8,14}/.test(r2)){var t2=6-(14-r2.length),X=n2.length,R2=r2+n2.substring(t2,X);return R2.slice(0,8)+"T"+R2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}var E=this.jSPlugin.JS_Seek(0,d,f);return console.log("seekRT",E),h(E)?E:new Promise(function(r2){r2(E)})}},{key:"fullScreen",value:function(){var d=this,f=H(document.getElementById("".concat(this.id)));f.then(function(w){console.log("全屏promise",window.screen.availWidth),d.jSPlugin.JS_Resize(window.screen.availWidth,window.screen.availHeight),typeof d.params.fullScreenCallBack=="function"&&d.params.fullScreenCallBack({id:d.id,type:"fullScreen",code:0})});var y=function(){var _=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;_||d.jSPlugin.JS_Resize(d.width,d.height),typeof d.params.fullScreenChangeCallBack=="function"&&d.params.fullScreenChangeCallBack({id:d.id,type:"fullScreen",code:_})};["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(w){window.addEventListener(w,function(_){return y()})})}},{key:"cancelFullScreen",value:function(){var d=this,f=p2();f.then(function(y){console.log("取消全屏",y,d.jSPlugin),d.jSPlugin.JS_Resize(d.width,d.height)})}},{key:"startTalk",value:function(){this.Talk.startTalk()}},{key:"stopTalk",value:function(){this.Talk.stopTalk()}},{key:"destroy",value:function(){var d=this.jSPlugin.JS_DestroyWorker(0);return this.Theme&&(this.Theme=null,window.EZUIKit[this.params.id].state.EZUIKitPlayer.themeInit=!1),h(d)?d:new Promise(function(f){f(d)})}},{key:"getDeviceCapacity",value:function(d){var f=this,y=this.env.domain;this.env&&(y=this.env.domain);var w=y+"/api/lapp/device/capacity",_=function(n2){n2.code==200&&n2.data&&(f.capacity=n2.data)},E=d||{accessToken:this.accessToken,deviceSerial:v2(this.url).deviceSerial};_2(w,"POST",E,"",_)}},{key:"pause",value:function(){var d=this;return new Promise(function(f,y){d.jSPlugin.JS_CloseSound(0),d.jSPlugin.JS_Pause(0,function(w){d.setPoster(w.base64)}).then(function(w){d.Theme&&d.Theme.setDecoderState({play:!1}),f()}).catch(function(w){console.log(w),y(w)})})}},{key:"_resume",value:function(d){var f=this;return new Promise(function(y,w){f.pluginStatus.setPlayStatus({play:!1,loading:!0}),f.jSPlugin.JS_Resume(d).then(function(_){if(setTimeout(function(){f.url.indexOf(".rec")!==-1&&f.speed!=1&&f.jSPlugin.JS_Speed(f.speed)},500),f.Theme){f.Theme.setDecoderState({play:!0,speed:f.speed});var E=f.Theme.decoderState.state.sound;E&&setTimeout(function(){f.openSound()},500)}y(_)}).catch(function(_){console.log("resume err",_),w(_)})})}}]),R}(),e3=null;function b3(R,M,d,f){return new WebControl({szPluginContainer:R,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:M,cbConnectError:d,cbConnectClose:f})}function A1(){e3!=null&&(e3.JS_DestroyWnd().then(function(){console.log("JS_DestroyWnd")},function(){}),e3.JS_StopService("window").then(function(){e3.JS_Disconnect().then(function(){console.log("JS_Disconnect")},function(){})}))}function z1(R){R.responseMsg.eventName,console.log(R.responseMsg)}function J1(){e3.JS_SetWindowControlCallback({cbIntegrationCallBack:z1}),e3.JS_StartService("window",{dllPath:"./chain/cloudTransform.dll"}).then(function(){e3.JS_CreateWnd("playWnd",900,500).then(function(){console.log("JS_CreateWnd success")})})}function s0(){console.log("cbConnectError"),e3=null,console.error("确认本地进程是否已安装并开启成功!")}function R0(R){console.log("cbConnectClose"),e3=null}window.onscroll=function(){e3!=null&&e3.JS_Resize(900,500)},window.onresize=function(){e3!=null&&e3.JS_Resize(900,500)},window.onunload=function(){try{e3.JS_HideWnd(),A1()}catch(R){console.error(R)}},window.onpagehide=function(){try{e3.JS_HideWnd()}catch(R){console.error(R)}};var M2=function(){function R(M){var d=this;a(this,R),o(this,"changeModel",function(f,y){var w=d;d.switchVideo=parseInt(f),e3&&e3.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:f}))}).then(function(_){f==0?w.play({deviceSerial:y.deviceSerial,channelNo:y.channelNo,validateCode:y.validateCode}):w.play({deviceSerial:y.deviceSerial,channelNo:y.channelNo,validateCode:y.validateCode,startTime:y.startTime,endTime:y.endTime})})}),o(this,"init",function(f){var y,w=d;if(!f.appKey||!f.accessToken){w.showTips(!1,"请输入appkey和token");return}typeof f.appKey!="undefined"&&(d.appKey=f.appKey),typeof f.accessToken!="undefined"&&(d.accessToken=f.accessToken),typeof f.platformId!="undefined"&&(d.platformId=f.platformId);var _=(y={layout:+w.layout,userName:"",waterMark:""},o(y,"waterMark","1"),o(y,"iWndType",0),o(y,"intelligenceEnable",1),o(y,"isRecord",1),o(y,"isSetPos",1),o(y,"motionDetectEnable",0),o(y,"playBackAlarmOverlyingEnable",0),o(y,"response",{code:0,message:null,data:{appKey:f.appKey,ezvizToken:f.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:f.platformId}}),y);console.log("初始化入参",_),e3.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(_))}).then(function(E){console.log(E.responseMsg),w.showTips(!0,"视频初始化成功!")})}),o(this,"play",function(f){var y=d;if(!(!f.deviceSerial||!f.channelNo)){typeof f.deviceSerial!="undefined"&&(d.deviceSerial=f.deviceSerial),typeof f.channelNo!="undefined"&&(d.channelNo=f.channelNo),typeof f.startTime!="undefined"&&f.startTime&&(d.startTime=f.startTime+" 00:00:00"),typeof f.endTime!="undefined"&&f.endTime&&(d.endTime=f.endTime+" 23:59:59"),typeof f.validateCode!="undefined"&&f.validateCode&&(d.validateCode=f.validateCode);var w={response:{code:0,message:null,data:{deviceSerial:f.deviceSerial,channelCode:f.channelNo,channelNo:+f.channelNo,codeIsEncrypt:0,validateCode:f.validateCode,deviceClass:y.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:d.startTime,endTime:d.endTime}}};y.deviceClass==="1"?(w.response.data.channelCode=y.channelNo,w.response.data.platformId=y.platformId):w.response.data.channelNo=+y.channelNo,d.switchVideo===1&&(d.startTime&&(w.response.data.startTime=d.startTime),d.endTime&&(w.response.data.endTime=d.endTime)),console.log("预览/回放入参",w),e3.JS_RequestInterface({funcName:d.switchVideo===0?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(w))}).then(function(_){console.log(_.responseMsg),y.showTips(!0,"预览/回放成功!")}).catch(function(_){console.log("开始播放:",_)})}}),o(this,"showCBInfo",function(f){d.callbackMessage=d.callbackMessage+JSON.stringify(f)+` + +`,console.log(d.callbackMessage)}),o(this,"showTips",function(f,y){}),o(this,"hideVideo",function(){e3.JS_HideWnd()}),o(this,"showVideo",function(){e3.JS_ShowWnd()}),o(this,"GetLayout",function(){var f=null;e3.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:f}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"capturePicture",function(f){var y=null;e3.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:y}}))}).then(function(w){console.log(JSON.stringify(w.responseMsg)),console.log(w.responseMsg)})}),o(this,"stop",function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1;e3.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"setLayout",function(f){var y=parseInt(f);if(isNaN(y)||y==0||y>=13){console.log("不支持实际布局大于16的窗口数");return}d.layout=y,e3.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:y}}}))}).then(function(w){console.log(JSON.stringify(w.responseMsg)),console.log(w.responseMsg)})}),o(this,"setSoundVolumn",function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1,y=arguments.length>1?arguments[1]:void 0;e3.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f),volumn:parseInt(y)}}}))}).then(function(w){console.log(JSON.stringify(w.responseMsg)),console.log(w.responseMsg)})}),o(this,"testMute",function(){var f=parseInt(prompt("请输入窗口ID"));e3.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:f}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"testSelectWnd",function(){var f=parseInt(prompt("请输入窗口ID"));e3.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:f}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"setVideoLevel",function(f,y){e3.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:d.switchVideo==1?0:parseInt(f),level:parseInt(y,10)}}}))}).then(function(w){console.log(JSON.stringify(w.responseMsg)),console.log(w.responseMsg)})}),o(this,"startTalk",function(f){e3.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"stopTalk",function(f){e3.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"startSave",function(f){e3.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"stopSave",function(f){e3.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,e3=b3("playWnd",J1,s0,R0)}return r(R,[{key:"alarmMsg",value:function(){var d={request:{body:{alarmTypes:[10800,0,0,0,0],channelId:"066dde0465dd4abaab6afe355baf9d0b",endTime:"1621007999000",startTime:"1620921600000"},callBack:"GetAlarmMsgOrders",majorKey:"",method:"POST",storeId:"",url:"/videoplugin/message/getMessageByTypes"},response:{code:0,message:null,data:[{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620921217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920678e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919513e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919483e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919333e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918913e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918305e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917858e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917658e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917244e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917064e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916668e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916529e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916343e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916081e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915825e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915394e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915197e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914971e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914644e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914533e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914457e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914376e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914284e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913431e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912354e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912275e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912093e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091189e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911839e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091176e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911682e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091127e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911184e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910982e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910781e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910727e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910677e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910647e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910588e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910544e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091041e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091035e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910278e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910124e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909939e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909847e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909817e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909664e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909605e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909575e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090912e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909028e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908999e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908969e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908909e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090888e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908835e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090875e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090872e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908652e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908582e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908552e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908456e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090805e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907918e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907758e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907625e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907386e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907292e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907127e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906828e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906797e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906747e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906717e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906632e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906368e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906013e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905946e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905823e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905622e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905511e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905382e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905352e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905322e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905262e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905196e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090515e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904813e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090473e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209047e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904618e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904286e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904173e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904053e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904023e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903854e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903723e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903643e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903573e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903505e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209032e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090312e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902977e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090286e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090277e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902639e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902517e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902373e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090232e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902253e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902198e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902132e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090194e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090185e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901685e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901638e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090152e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901489e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901424e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901271e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901233e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900915e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900774e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900744e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090065e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090044e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900409e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900175e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900134e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900069e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900016e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899908e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899826e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899756e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899467e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899406e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899265e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899211e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089914e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089911e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089905e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898785e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898666e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898507e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898248e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898218e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898088e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089802e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089796e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089785e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089769e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089763e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16208976e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089757e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089754e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897475e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897369e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897339e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897279e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897237e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897207e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897172e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896985e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896874e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896814e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896783e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896621e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896447e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896358e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896307e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896277e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896214e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089604e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895953e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895921e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895868e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089577e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895704e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089559e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089548e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895377e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895347e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895171e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895136e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895017e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894896e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894738e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894539e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894359e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894213e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894183e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893964e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893934e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893754e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893606e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089353e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893452e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893423e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893357e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892904e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892824e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892764e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892479e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892311e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892281e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892209e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892063e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089187e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089181e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891708e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891655e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891585e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891401e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891257e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891178e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891128e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891033e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089094e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890794e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890714e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890469e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890179e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890108e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890041e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889937e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889635e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889451e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889317e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889227e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889139e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888902e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888837e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888767e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888737e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888706e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888633e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888413e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888353e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888323e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888249e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888162e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888e6},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887859e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887776e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887734e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887692e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887619e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887355e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088732e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887289e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887126e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887066e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088697e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886884e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886804e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886728e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886538e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886396e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886334e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886246e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886111e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885956e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885894e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885696e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885514e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885341e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885306e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885276e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885186e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885114e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885037e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884975e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884945e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884911e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088478e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884696e3}],success:!0}};console.log(d),e3.JS_RequestInterface({funcName:"TransFunctionResult",arguments:encodeURI(JSON.stringify(d))})}}]),R}();(function(R,M){n(t)==="object"&&n(t.exports)==="object"?t.exports=R.document?M(R,!0):function(d){if(!d.document)throw new Error("EZUIPlayer requires a window with a document");return M(d)}:M(R)})(typeof window!="undefined"?window:void 0,function(R,M){var d={Core:s,HLS:q2,FLV:K2,EZUIKitPlayer:N2,EZUIKitHD:M2};return R.EZUIKit=d,d})})(Xi,Xi.exports);var vx=Xi.exports;const np=yx(vx);class V5{constructor(e,n){this.next=null,this.key=e,this.data=n,this.left=null,this.right=null}}function Sx(t,e){return t>e?1:t0){if(e.right===null)break;if(n(t,e.right.key)>0){const s=e.right;if(e.right=s.left,s.left=e,e=s,e.right===null)break}i.right=e,i=e,e=e.right}else break}return i.right=e.left,r.left=e.right,e.left=a.right,e.right=a.left,e}function ws(t,e,n,a){const i=new V5(t,e);if(n===null)return i.left=i.right=null,i;n=G5(t,n,a);const r=a(t,n.key);return r<0?(i.left=n.left,i.right=n,n.left=null):r>=0&&(i.right=n.right,i.left=n,n.right=null),i}function ff(t,e,n){let a=null,i=null;if(e){e=G5(t,e,n);const r=n(e.key,t);r===0?(a=e.left,i=e.right):r<0?(i=e.right,e.right=null,a=e):(a=e.left,e.left=null,i=e)}return{left:a,right:i}}function wx(t,e,n){return e===null?t:(t===null||(e=G5(t.key,e,n),e.left=t),e)}function dl(t,e,n,a,i){if(t){a(`${e}${n?"└── ":"├── "}${i(t)} +`);const r=e+(n?" ":"│ ");t.left&&dl(t.left,r,!1,a,i),t.right&&dl(t.right,r,!0,a,i)}}class nu{constructor(e=Sx){this._root=null,this._size=0,this._comparator=e}insert(e,n){return this._size++,this._root=ws(e,n,this._root,this._comparator)}add(e,n){const a=new V5(e,n);this._root===null&&(a.left=a.right=null,this._size++,this._root=a);const i=this._comparator,r=G5(e,this._root,i),o=i(e,r.key);return o===0?this._root=r:(o<0?(a.left=r.left,a.right=r,r.left=null):o>0&&(a.right=r.right,a.left=r,r.right=null),this._size++,this._root=a),this._root}remove(e){this._root=this._remove(e,this._root,this._comparator)}_remove(e,n,a){let i;return n===null?null:(n=G5(e,n,a),a(e,n.key)===0?(n.left===null?i=n.right:(i=G5(e,n.left,a),i.right=n.right),this._size--,i):n)}pop(){let e=this._root;if(e){for(;e.left;)e=e.left;return this._root=G5(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null}findStatic(e){let n=this._root;const a=this._comparator;for(;n;){const i=a(e,n.key);if(i===0)return n;i<0?n=n.left:n=n.right}return null}find(e){return this._root&&(this._root=G5(e,this._root,this._comparator),this._comparator(e,this._root.key)!==0)?null:this._root}contains(e){let n=this._root;const a=this._comparator;for(;n;){const i=a(e,n.key);if(i===0)return!0;i<0?n=n.left:n=n.right}return!1}forEach(e,n){let a=this._root;const i=[];let r=!1;for(;!r;)a!==null?(i.push(a),a=a.left):i.length!==0?(a=i.pop(),e.call(n,a),a=a.right):r=!0;return this}range(e,n,a,i){const r=[],o=this._comparator;let s=this._root,u;for(;r.length!==0||s;)if(s)r.push(s),s=s.left;else{if(s=r.pop(),u=o(s.key,n),u>0)break;if(o(s.key,e)>=0&&a.call(i,s))return this;s=s.right}return this}keys(){const e=[];return this.forEach(({key:n})=>{e.push(n)}),e}values(){const e=[];return this.forEach(({data:n})=>{e.push(n)}),e}min(){return this._root?this.minNode(this._root).key:null}max(){return this._root?this.maxNode(this._root).key:null}minNode(e=this._root){if(e)for(;e.left;)e=e.left;return e}maxNode(e=this._root){if(e)for(;e.right;)e=e.right;return e}at(e){let n=this._root,a=!1,i=0;const r=[];for(;!a;)if(n)r.push(n),n=n.left;else if(r.length>0){if(n=r.pop(),i===e)return n;i++,n=n.right}else a=!0;return null}next(e){let n=this._root,a=null;if(e.right){for(a=e.right;a.left;)a=a.left;return a}const i=this._comparator;for(;n;){const r=i(e.key,n.key);if(r===0)break;r<0?(a=n,n=n.left):n=n.right}return a}prev(e){let n=this._root,a=null;if(e.left!==null){for(a=e.left;a.right;)a=a.right;return a}const i=this._comparator;for(;n;){const r=i(e.key,n.key);if(r===0)break;r<0?n=n.left:(a=n,n=n.right)}return a}clear(){return this._root=null,this._size=0,this}toList(){return Tx(this._root)}load(e,n=[],a=!1){let i=e.length;const r=this._comparator;if(a&&ml(e,n,0,i-1,r),this._root===null)this._root=fl(e,n,0,i),this._size=i;else{const o=Cx(this.toList(),bx(e,n),r);i=this._size+i,this._root=hl({head:o},0,i)}return this}isEmpty(){return this._root===null}get size(){return this._size}get root(){return this._root}toString(e=n=>String(n.key)){const n=[];return dl(this._root,"",!0,a=>n.push(a),e),n.join("")}update(e,n,a){const i=this._comparator;let{left:r,right:o}=ff(e,this._root,i);i(e,n)<0?o=ws(n,a,o,i):r=ws(n,a,r,i),this._root=wx(r,o,i)}split(e){return ff(e,this._root,this._comparator)}*[Symbol.iterator](){let e=this._root;const n=[];let a=!1;for(;!a;)e!==null?(n.push(e),e=e.left):n.length!==0?(e=n.pop(),yield e,e=e.right):a=!0}}function fl(t,e,n,a){const i=a-n;if(i>0){const r=n+Math.floor(i/2),o=t[r],s=e[r],u=new V5(o,s);return u.left=fl(t,e,n,r),u.right=fl(t,e,r+1,a),u}return null}function bx(t,e){const n=new V5(null,null);let a=n;for(let i=0;i0?(e=r=r.next=n.pop(),e=e.right):a=!0;return r.next=null,i.next}function hl(t,e,n){const a=n-e;if(a>0){const i=e+Math.floor(a/2),r=hl(t,e,i),o=t.head;return o.left=r,t.head=t.head.next,o.right=hl(t,i+1,n),o}return null}function Cx(t,e,n){const a=new V5(null,null);let i=a,r=t,o=e;for(;r!==null&&o!==null;)n(r.key,o.key)<0?(i.next=r,r=r.next):(i.next=o,o=o.next),i=i.next;return r!==null?i.next=r:o!==null&&(i.next=o),a.next}function ml(t,e,n,a,i){if(n>=a)return;const r=t[n+a>>1];let o=n-1,s=a+1;for(;;){do o++;while(i(t[o],r)<0);do s--;while(i(t[s],r)>0);if(o>=s)break;let u=t[o];t[o]=t[s],t[s]=u,u=e[o],e[o]=e[s],e[s]=u}ml(t,e,n,s,i),ml(t,e,s+1,a,i)}const v5=11102230246251565e-32,It=134217729,Ax=(3+8*v5)*v5;function bs(t,e,n,a,i){let r,o,s,u,m=e[0],h=a[0],p=0,g=0;h>m==h>-m?(r=m,m=e[++p]):(r=h,h=a[++g]);let b=0;if(pm==h>-m?(o=m+r,s=r-(o-m),m=e[++p]):(o=h+r,s=r-(o-h),h=a[++g]),r=o,s!==0&&(i[b++]=s);pm==h>-m?(o=r+m,u=o-r,s=r-(o-u)+(m-u),m=e[++p]):(o=r+h,u=o-r,s=r-(o-u)+(h-u),h=a[++g]),r=o,s!==0&&(i[b++]=s);for(;p=I3||-S3>=I3||(p=t-c3,s=t-(c3+p)+(p-i),p=n-p3,m=n-(p3+p)+(p-i),p=e-y3,u=e-(y3+p)+(p-r),p=a-z3,h=a-(z3+p)+(p-r),s===0&&u===0&&m===0&&h===0)||(I3=Px*o+Ax*Math.abs(S3),S3+=c3*h+z3*s-(y3*m+p3*u),S3>=I3||-S3>=I3))return S3;A2=s*z3,g=It*s,b=g-(g-s),F=s-b,g=It*z3,H=g-(g-z3),K=z3-H,_2=F*K-(A2-b*H-F*H-b*K),q2=u*p3,g=It*u,b=g-(g-u),F=u-b,g=It*p3,H=g-(g-p3),K=p3-H,K2=F*K-(q2-b*H-F*H-b*K),e2=_2-K2,p=_2-e2,Yt[0]=_2-(e2+p)+(p-K2),p2=A2+e2,p=p2-A2,v2=A2-(p2-p)+(e2-p),e2=v2-q2,p=v2-e2,Yt[1]=v2-(e2+p)+(p-q2),$2=p2+e2,p=$2-p2,Yt[2]=p2-($2-p)+(e2-p),Yt[3]=$2;const A3=bs(4,c8,4,Yt,hf);A2=c3*h,g=It*c3,b=g-(g-c3),F=c3-b,g=It*h,H=g-(g-h),K=h-H,_2=F*K-(A2-b*H-F*H-b*K),q2=y3*m,g=It*y3,b=g-(g-y3),F=y3-b,g=It*m,H=g-(g-m),K=m-H,K2=F*K-(q2-b*H-F*H-b*K),e2=_2-K2,p=_2-e2,Yt[0]=_2-(e2+p)+(p-K2),p2=A2+e2,p=p2-A2,v2=A2-(p2-p)+(e2-p),e2=v2-q2,p=v2-e2,Yt[1]=v2-(e2+p)+(p-q2),$2=p2+e2,p=$2-p2,Yt[2]=p2-($2-p)+(e2-p),Yt[3]=$2;const a1=bs(A3,hf,4,Yt,mf);A2=s*h,g=It*s,b=g-(g-s),F=s-b,g=It*h,H=g-(g-h),K=h-H,_2=F*K-(A2-b*H-F*H-b*K),q2=u*m,g=It*u,b=g-(g-u),F=u-b,g=It*m,H=g-(g-m),K=m-H,K2=F*K-(q2-b*H-F*H-b*K),e2=_2-K2,p=_2-e2,Yt[0]=_2-(e2+p)+(p-K2),p2=A2+e2,p=p2-A2,v2=A2-(p2-p)+(e2-p),e2=v2-q2,p=v2-e2,Yt[1]=v2-(e2+p)+(p-q2),$2=p2+e2,p=$2-p2,Yt[2]=p2-($2-p)+(e2-p),Yt[3]=$2;const C1=bs(a1,mf,4,Yt,pf);return pf[C1-1]}function Ex(t,e,n,a,i,r){const o=(e-r)*(n-i),s=(t-i)*(a-r),u=o-s,m=Math.abs(o+s);return Math.abs(u)>=_x*m?u:-kx(t,e,n,a,i,r,m)}const U4=(t,e)=>t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y,pl=(t,e)=>{if(e.ur.x{if(-O5t.x*e.y-t.y*e.x,ap=(t,e)=>t.x*e.x+t.y*e.y,vf=(t,e,n)=>{const a=Ex(t.x,t.y,e.x,e.y,n.x,n.y);return a>0?-1:a<0?1:0},Zi=t=>Math.sqrt(ap(t,t)),Lx=(t,e,n)=>{const a={x:e.x-t.x,y:e.y-t.y},i={x:n.x-t.x,y:n.y-t.y};return Fi(i,a)/Zi(i)/Zi(a)},Ix=(t,e,n)=>{const a={x:e.x-t.x,y:e.y-t.y},i={x:n.x-t.x,y:n.y-t.y};return ap(i,a)/Zi(i)/Zi(a)},Sf=(t,e,n)=>e.y===0?null:{x:t.x+e.x/e.y*(n-t.y),y:n},wf=(t,e,n)=>e.x===0?null:{x:n,y:t.y+e.y/e.x*(n-t.x)},Fx=(t,e,n,a)=>{if(e.x===0)return wf(n,a,t.x);if(a.x===0)return wf(t,e,n.x);if(e.y===0)return Sf(n,a,t.y);if(a.y===0)return Sf(t,e,n.y);const i=Fi(e,a);if(i==0)return null;const r={x:n.x-t.x,y:n.y-t.y},o=Fi(r,e)/i,s=Fi(r,a)/i,u=t.x+s*e.x,m=n.x+o*a.x,h=t.y+s*e.y,p=n.y+o*a.y,g=(u+m)/2,b=(h+p)/2;return{x:g,y:b}};class Hn{static compare(e,n){const a=Hn.comparePoints(e.point,n.point);return a!==0?a:(e.point!==n.point&&e.link(n),e.isLeft!==n.isLeft?e.isLeft?1:-1:$5.compare(e.segment,n.segment))}static comparePoints(e,n){return e.xn.x?1:e.yn.y?1:0}constructor(e,n){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=n}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const n=e.point.events;for(let a=0,i=n.length;a{const r=i.otherSE;n.set(i,{sine:Lx(this.point,e.point,r.point),cosine:Ix(this.point,e.point,r.point)})};return(i,r)=>{n.has(i)||a(i),n.has(r)||a(r);const{sine:o,cosine:s}=n.get(i),{sine:u,cosine:m}=n.get(r);return o>=0&&u>=0?sm?-1:0:o<0&&u<0?sm?1:0:uo?1:0}}}let Bx=0;class $5{static compare(e,n){const a=e.leftSE.point.x,i=n.leftSE.point.x,r=e.rightSE.point.x,o=n.rightSE.point.x;if(os&&u>m)return-1;const p=e.comparePoint(n.leftSE.point);if(p<0)return 1;if(p>0)return-1;const g=n.comparePoint(e.rightSE.point);return g!==0?g:-1}if(a>i){if(su&&s>h)return 1;const p=n.comparePoint(e.leftSE.point);if(p!==0)return p;const g=e.comparePoint(n.rightSE.point);return g<0?1:g>0?-1:1}if(su)return 1;if(ro){const p=e.comparePoint(n.rightSE.point);if(p<0)return 1;if(p>0)return-1}if(r!==o){const p=m-s,g=r-a,b=h-u,F=o-i;if(p>g&&bF)return-1}return r>o?1:rh?1:e.idn.id?1:0}constructor(e,n,a,i){this.id=++Bx,this.leftSE=e,e.segment=this,e.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=e,this.rings=a,this.windings=i}static fromRing(e,n,a){let i,r,o;const s=Hn.comparePoints(e,n);if(s<0)i=e,r=n,o=1;else if(s>0)i=n,r=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new Hn(i,!0),m=new Hn(r,!1);return new $5(u,m,[a],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,n=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:en?e:n}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}comparePoint(e){if(this.isAnEndpoint(e))return 0;const n=this.leftSE.point,a=this.rightSE.point,i=this.vector();if(n.x===a.x)return e.x===n.x?0:e.x0&&s.swapEvents(),Hn.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),a&&(i.checkForConsuming(),r.checkForConsuming()),n}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let n=0,a=this.windings.length;n0){const r=n;n=a,a=r}if(n.prev===a){const r=n;n=a,a=r}for(let r=0,o=a.rings.length;ri.length===1&&i[0].isSubject;this._isInResult=a(e)!==a(n);break}default:throw new Error(`Unrecognized operation type found ${f6.type}`)}return this._isInResult}}class bf{constructor(e,n,a){if(!Array.isArray(e)||e.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=a,this.segments=[],typeof e[0][0]!="number"||typeof e[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=Ta.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let r=i;for(let o=1,s=e.length;othis.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),r=u)}(i.x!==r.x||i.y!==r.y)&&this.segments.push($5.fromRing(r,i,this))}getSweepEvents(){const e=[];for(let n=0,a=this.segments.length;nthis.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.interiorRings.push(r)}this.multiPoly=n}getSweepEvents(){const e=this.exteriorRing.getSweepEvents();for(let n=0,a=this.interiorRings.length;nthis.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.polys.push(r)}this.isSubject=n}getSweepEvents(){const e=[];for(let n=0,a=this.polys.length;n0&&(e=o)}let n=e.segment.prevInResult(),a=n?n.prevInResult():null;for(;;){if(!n)return null;if(!a)return n.ringOut;if(a.ringOut!==n.ringOut)return a.ringOut.enclosingRing()!==n.ringOut?n.ringOut:n.ringOut.enclosingRing();n=a.prevInResult(),a=n?n.prevInResult():null}}}class Cf{constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=[this.exteriorRing.getGeom()];if(e[0]===null)return null;for(let n=0,a=this.interiorRings.length;n1&&arguments[1]!==void 0?arguments[1]:$5.compare;this.queue=e,this.tree=new nu(n),this.segments=[]}process(e){const n=e.segment,a=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(n),a;const i=e.isLeft?this.tree.add(n):this.tree.find(n);if(!i)throw new Error(`Unable to find segment #${n.id} [${n.leftSE.point.x}, ${n.leftSE.point.y}] -> [${n.rightSE.point.x}, ${n.rightSE.point.y}] in SweepLine tree.`);let r=i,o=i,s,u;for(;s===void 0;)r=this.tree.prev(r),r===null?s=null:r.key.consumedBy===void 0&&(s=r.key);for(;u===void 0;)o=this.tree.next(o),o===null?u=null:o.key.consumedBy===void 0&&(u=o.key);if(e.isLeft){let m=null;if(s){const p=s.getIntersection(n);if(p!==null&&(n.isAnEndpoint(p)||(m=p),!s.isAnEndpoint(p))){const g=this._splitSafely(s,p);for(let b=0,F=g.length;b0?(this.tree.remove(n),a.push(e)):(this.segments.push(n),n.prev=s)}else{if(s&&u){const m=s.getIntersection(u);if(m!==null){if(!s.isAnEndpoint(m)){const h=this._splitSafely(s,m);for(let p=0,g=h.length;pAf)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new Ux(r);let s=r.size,u=r.pop();for(;u;){const p=u.key;if(r.size===s){const b=p.segment;throw new Error(`Unable to pop() ${p.isLeft?"left":"right"} SweepEvent [${p.point.x}, ${p.point.y}] from segment #${b.id} [${b.leftSE.point.x}, ${b.leftSE.point.y}] -> [${b.rightSE.point.x}, ${b.rightSE.point.y}] from queue.`)}if(r.size>Af)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>Ox)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const g=o.process(p);for(let b=0,F=g.length;b1?e-1:0),a=1;a1?e-1:0),a=1;a1?e-1:0),a=1;a1?e-1:0),a=1;aJ2(L2({},t),{key:`grassland-type-${e+1}`,cqlFilter:$t("grass_min_type",t.name),rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"]})),_f=[{name:">4000(kg/hm2)",fillColor:"#39A700",strokeColor:"#39A700"},{name:"3000-4000(kg/hm2)",fillColor:"#8CCF00",strokeColor:"#8CCF00"},{name:"2000-3000(kg/hm2)",fillColor:"#FEFE02",strokeColor:"#FEFE02"},{name:"1500-2000(kg/hm2)",fillColor:"#FE7E01",strokeColor:"#FE7E01"},{name:"<1500(kg/hm2)",fillColor:"#FB0100",strokeColor:"#FB0100"}].map(t=>J2(L2({},t),{selectable:!1})),sa={1:"一级",2:"二级",3:"三级",4:"四级",5:"五级",6:"六级",7:"七级",8:"八级"},ip=[{level:"1",name:"1级草原",fillColor:"#81D10B",strokeColor:"#81D10B"},{level:"2",name:"2级草原",fillColor:"#8AE611",strokeColor:"#8AE611"},{level:"3",name:"3级草原",fillColor:"#79C801",strokeColor:"#79C801"},{level:"4",name:"4级草原",fillColor:"#D0EC03",strokeColor:"#D0EC03"},{level:"5",name:"5级草原",fillColor:"#FFCC00",strokeColor:"#FFCC00"},{level:"6",name:"6级草原",fillColor:"#FF6501",strokeColor:"#FF6501"},{level:"7",name:"7级草原",fillColor:"#FB0002",strokeColor:"#FB0002"},{level:"8",name:"8级草原",fillColor:"#D71345",strokeColor:"#D71345"}].map(t=>J2(L2({},t),{key:`grassland-level-${t.level}`,cqlFilter:`grassland_level IN ('${t.level}','${t.name}','${sa[t.level]}草原','${sa[t.level]}草地')`,rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"],level:void 0})),Kx=ip.map(t=>{const e=t.key.replace("grassland-level-",""),n=t.name.replace("草原","湿地");return J2(L2({},t),{key:`wetland-level-${e}`,name:n,cqlFilter:`grassland_level IN ('${e}','${n}','${t.name}','${sa[e]}湿地','${sa[e]}草原','${sa[e]}草地')`})}),qx=[{key:"basic-grassland-basic",name:"基本草原",fillColor:"#2EEA78",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'BASIC' OR grassland_category_name = '基本草原')",rankingValueKey:"basicAreaWanMu"},{key:"basic-grassland-general",name:"一般草原",fillColor:"#FFD15A",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'GENERAL' OR grassland_category_name = '一般草原')",rankingValueKey:"generalAreaWanMu"}],j8=[{key:"overview",name:"资源概览",color:"#30DCFF",defaultLayerKey:"",coreGroups:[]},{key:"grassland",name:"草地资源",color:"#8AE611",defaultLayerKey:"grassland-distribution",coreGroups:["grassLand","grassland"]},{key:"wetland",name:"湿地资源",color:"#33A3DC",defaultLayerKey:"wetland-distribution",coreGroups:["wetland"]},{key:"woodland",name:"林地资源",color:"#2BD17E",defaultLayerKey:"woodland-distribution",coreGroups:["woodland"]}],v8=[{key:"ecological-redline",name:"生态保护红线",color:"#30DCFF",defaultLayerKey:"ecological-redline-boundary"},{key:"natural-protected-area",name:"自然保护地",color:"#19FFC6",defaultLayerKey:"natural-protected-area-boundary"},{key:"national-park",name:"若尔盖国家公园",color:"#46E7FF",defaultLayerKey:"national-park-zoning"},{key:"restoration",name:"生态修复工程",color:"#33A3DC",defaultLayerKey:"restoration-projects"},{key:"engineering-analysis",name:"生态工程分析",color:"#24F6C4",defaultLayerKey:"engineering-analysis-projects"}],Jx=[{key:"yak-industry-chain",name:"牦牛产业链",color:"#24F6C4",defaultLayerKey:"yak-industry-points"}],Bi={woodland:[{key:"woodland-distribution",name:"林地范围",layerName:"ne:t_woodland_2023",styles:"woodland_distribution",opacity:.82,legends:[{key:"woodland-distribution-all",name:"林地范围",fillColor:"#2BD17E",strokeColor:"#2BD17E",selectable:!1}]},{key:"woodland-protection",name:"公益林",layerName:"ne:t_woodland_2023",styles:"woodland_protection",opacity:.86,legends:[{key:"woodland-protection-level-1",name:"国家一级公益林",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:$t("gjgyl_bhdj","1")},{key:"woodland-protection-level-2",name:"国家二级公益林",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:$t("gjgyl_bhdj","2")},{key:"woodland-protection-unset",name:"未划定",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(gjgyl_bhdj IS NULL OR gjgyl_bhdj = '' OR gjgyl_bhdj NOT IN ('1','2'))"}]},{key:"woodland-type",name:"林地类型",layerName:"ne:t_woodland_2023",styles:"woodland_type",opacity:.84,legends:[{key:"woodland-type-shrub",name:"灌木林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:$t("dlmc","灌木林地")},{key:"woodland-type-arbor",name:"乔木林地",fillColor:"#0DA368",strokeColor:"#0DA368",cqlFilter:$t("dlmc","乔木林地")},{key:"woodland-type-swamp",name:"灌丛沼泽",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:$t("dlmc","灌丛沼泽")},{key:"woodland-type-other",name:"其他林地",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:"(dlmc IS NULL OR dlmc = '' OR dlmc NOT IN ('灌木林地','乔木林地','灌丛沼泽'))"}]},{key:"woodland-quality",name:"林地质量",layerName:"ne:t_woodland_2023",styles:"woodland_quality",opacity:.84,legends:[{key:"woodland-quality-2",name:"二级质量",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:$t("zl_dj","2")},{key:"woodland-quality-3",name:"三级质量",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:$t("zl_dj","3")},{key:"woodland-quality-4",name:"四级质量",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:$t("zl_dj","4")},{key:"woodland-quality-5",name:"五级质量",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:$t("zl_dj","5")},{key:"woodland-quality-unset",name:"未划分",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(zl_dj IS NULL OR zl_dj = '' OR zl_dj NOT IN ('2','3','4','5'))"}]},{key:"woodland-ownership",name:"林地权属",layerName:"ne:t_woodland_2023",styles:"woodland_ownership",opacity:.84,legends:[{key:"woodland-ownership-collective",name:"集体林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:$t("ld_qs","10")},{key:"woodland-ownership-other",name:"国有或其他",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:"(ld_qs IS NULL OR ld_qs = '' OR ld_qs <> '10')"}]}],grassland:[{key:"grassland-distribution",name:"草地分布",layerName:"ne:t_grassland_result_caodi",opacity:.82,legends:[{name:"草地",fillColor:"#1D953F",strokeColor:"#1D953F"}]},{key:"basic-grassland",name:"基本/一般草原",layerName:"ne:t_basic_grassland_2023",styles:"basic_grassland_type",opacity:.84,legends:qx},{key:"grassland-level",name:"草原级",layerName:"ne:t_grassland_result_level_caodi",opacity:.82,legends:ip},{key:"grassland-type",name:"草原类型",layerName:"ne:t_grassland_result_grass_min_type_caodi",opacity:.82,legends:xf},{key:"grassland-yield",name:"草地产草量/生产力",layerName:"ne:t_grassland_result_yield_caodi",opacity:.82,legends:_f},{key:"grassland-health",name:"草地健康/退化",layerName:"ne:2023_08_ndvi",opacity:.78,legends:[{name:"非常差",fillColor:"#FF000533",strokeColor:"#FF0005",selectable:!1},{name:"差",fillColor:"#D8EE8C33",strokeColor:"#D8EE8C",selectable:!1},{name:"正常",fillColor:"#78C96233",strokeColor:"#78C962",selectable:!1},{name:"较好",fillColor:"#25814933",strokeColor:"#258149",selectable:!1}]}],wetland:[{key:"wetland-distribution",name:"湿地分布",layerName:"ne:t_grassland_result_shidi",opacity:.84,legends:[{name:"湿地",fillColor:"#33A3DC",strokeColor:"#33A3DC"}]},{key:"wetland-level",name:"湿地级",layerName:"ne:t_grassland_result_level_shidi",opacity:.82,legends:Kx},{key:"wetland-type",name:"湿地类型",layerName:"ne:t_grassland_result_grass_min_type_shidi",opacity:.82,legends:xf},{key:"wetland-yield",name:"湿地产草量/生产力",layerName:"ne:t_grassland_result_yield_shidi",opacity:.82,legends:_f}]},rp={"ecological-redline":[{key:"ecological-redline-boundary",name:"生态保护红线",layerName:"ne:t_ecological_redline_hy",sourceType:"wfs",styles:"ecological_redline_hy",opacity:.72,fillColor:"rgba(48, 220, 255, 0.12)",strokeColor:"#8BF7FF",mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.76,duration:.9},legends:[{key:"ecological-redline-all",name:"生态保护红线",fillColor:"rgba(48, 220, 255, 0.12)",strokeColor:"#8BF7FF",selectable:!1}]}],"natural-protected-area":[{key:"natural-protected-area-boundary",name:"自然保护地",layerName:"ne:t_natural_protected_area_hy",sourceType:"wfs",styles:"natural_protected_area_hy",opacity:.74,mapView:{targetLngLat:[102.64,33.02],distanceScale:.7,targetLocalZ:.78,duration:.9},legends:[{key:"natural-protected-area-core",name:"核心保护区",fillColor:"rgba(36, 246, 196, 0.16)",strokeColor:"#B9FBFF",matches:[{field:"functional_zone",value:"核心保护区"},{field:"reserve_zone",value:"核心保护区"}],selectable:!1},{key:"natural-protected-area-general",name:"一般控制区",fillColor:"rgba(48, 220, 255, 0.12)",strokeColor:"#8BF7FF",matches:[{field:"functional_zone",value:"一般控制区"},{field:"reserve_zone",value:"一般控制区"}],selectable:!1}]}],"national-park":[{key:"national-park-zoning",name:"国家公园分区",sourceType:"wkt-api",apiUrl:"/openApi/gjgy/gjgy_area",fallbackPath:"datas/ecological-protection/national_park_wkt.json",clipToHongyuanBoundary:!0,clipToLayerBounds:!1,opacity:.9,mapView:{targetLngLat:[102.88,33.15],distanceScale:.68,targetLocalZ:.78,duration:.95},legends:[{key:"national-park-core",name:"核心保护区",fillColor:C8.core.fillColor,strokeColor:C8.core.strokeColor,match:{field:"type",value:"核心保护区"},selectable:!1},{key:"national-park-general",name:"一般控制区",fillColor:C8.general.fillColor,strokeColor:C8.general.strokeColor,match:{field:"type",value:"一般控制区"},selectable:!1}]}],restoration:[{key:"restoration-projects",name:"生态修复工程",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.72,legends:[{key:"restoration-grassland",name:"草地修复",fillColor:"#75AD49",strokeColor:"#D2EA78",cqlFilter:$t("project_category","草地修复"),match:{field:"project_category",value:"草地修复"}},{key:"restoration-wetland",name:"湿地修复",fillColor:"#4FB4C3",strokeColor:"#A9EEF2",cqlFilter:$t("project_category","湿地修复"),match:{field:"project_category",value:"湿地修复"}},{key:"restoration-woodland",name:"林地修复",fillColor:"#43A97A",strokeColor:"#95E2B7",cqlFilter:$t("project_category","林地修复"),match:{field:"project_category",value:"林地修复"}},{key:"restoration-linear",name:"线性设施",fillColor:"#D2B24D",strokeColor:"#FFE28A",cqlFilter:$t("feature_role","线性设施"),match:{field:"feature_role",value:"线性设施"}}]}],"engineering-analysis":[{key:"engineering-analysis-projects",name:"工程分析项目库",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.76,mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.72,duration:.85},legends:[{key:"analysis-project-grassland",name:"草地修复",fillColor:"#75AD49",strokeColor:"#D2EA78",match:{field:"project_category",value:"草地修复"},selectable:!1},{key:"analysis-project-wetland",name:"湿地修复",fillColor:"#4FB4C3",strokeColor:"#A9EEF2",match:{field:"project_category",value:"湿地修复"},selectable:!1},{key:"analysis-project-woodland",name:"林地修复",fillColor:"#43A97A",strokeColor:"#95E2B7",match:{field:"project_category",value:"林地修复"},selectable:!1},{key:"analysis-project-linear",name:"线性设施",fillColor:"#D2B24D",strokeColor:"#FFE28A",match:{field:"feature_role",value:"线性设施"},selectable:!1}]}]},Qx={"yak-industry-chain":[{key:"yak-recognition-layer",name:"牦牛识别",sourceType:"wmts",layerName:"ne:daping_yak_marks",style:"ne:yak_marks",styles:"ne:yak_marks",format:"image/png",tileMatrixSetID:"EPSG:900913",maximumLevel:21,homeWmtsZoom:10,homeWmtsEnhance:!0,homeWmtsPointSpread:1.4,homeWmtsGlowRadius:1.8,url:"/geoserver/gwc/service/wmts",opacity:.96,queryBuffer:10,fillColor:"rgba(255, 203, 69, 0)",strokeColor:"#FFCB45",glowColor:"rgba(255, 203, 69, 0.28)",lineWidth:1.4,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-recognition-all",name:"牦牛识别",fillColor:"#FFCB45",strokeColor:"#FFF4B8",selectable:!1}]},{key:"yak-industry-points",name:"牦牛产业点位",sourceType:"geojson",dataPath:"datas/yak-industry-chain/yak_industry_points.geojson",opacity:.96,pointLabelLimit:12,showPointLabels:!1,mapView:{targetLngLat:[102.48,32.69],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-industry-family-pasture",name:"家庭生态牧场",fillColor:"#30DCFF",strokeColor:"#C9FBFF",match:{field:"stageKey",value:"family-pasture"}},{key:"yak-industry-artificial-grassland",name:"人工种草基地点",fillColor:"#19FFC6",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"artificial-grassland"}},{key:"yak-industry-scale-breeding",name:"规模化养殖基地",fillColor:"#46E7FF",strokeColor:"#C9FBFF",match:{field:"stageKey",value:"scale-breeding"}},{key:"yak-industry-breeding-selection",name:"选育/扩繁基地",fillColor:"#7AEFFF",strokeColor:"#D8FAFF",matches:[{field:"categoryCode",value:"YC-BREEDING-STOCK"},{field:"categoryCode",value:"YC-CXPT-BREEDING-STOCK-BASE"}]},{key:"yak-industry-forage-storage",name:"防灾减灾",fillColor:"#25CBE8",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"forage-storage"}},{key:"yak-industry-milk-source-station",name:"奶源站",fillColor:"#5CDFFF",strokeColor:"#D8FAFF",match:{field:"stageKey",value:"milk-source-station"}},{key:"yak-industry-slaughter-processing",name:"屠宰与加工",fillColor:"#1FAFD2",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"slaughter-processing"}},{key:"yak-industry-farm-equipment",name:"农机装备",fillColor:"#30DCFF",strokeColor:"#C9FBFF",match:{field:"stageKey",value:"farm-equipment"}},{key:"yak-industry-forage-trade",name:"牧草交易",fillColor:"#19FFC6",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"forage-trade"}},{key:"yak-industry-social-service",name:"社会化服务",fillColor:"#8AEFFF",strokeColor:"#E2FDFF",match:{field:"stageKey",value:"social-service"}}]},{key:"artificial-grassland-plots",name:"人工种草图斑",sourceType:"geojson",dataPath:"datas/yak-industry-chain/artificial_grassland_plots.geojson",opacity:.94,clipToHongyuanBoundary:!0,mapView:{targetLngLat:[102.51,32.79],distanceScale:.62,targetLocalZ:.76,duration:.9},legends:[{key:"artificial-grassland-pending",name:"待核定种草图斑",fillColor:"#30DCFF",strokeColor:"#C9FBFF",match:{field:"data_status",value:"待核定"},selectable:!1}]}]},Xx=L2(L2(L2({},Bi),rp),Qx),Zx=[...j8,...v8,...Jx];function Mf(t){return Zx.find(e=>e.key===t)||j8[0]}function z8(t){return Xx[t]||[]}function W5(t,e){const n=z8(t);return n.find(a=>a.key===e)||n[0]}const e_="datas/geojsons/hongyuan-townships-screen.geojson",Pf="assets/json/红原县-轮廓.json",t_="assets/json/中华人民共和国.json";function oi(t){return`./${t}`}const op=`{"name":"hongyuan_townships","type":"FeatureCollection","source":"PostGIS public.c_area where parent_code = 513233","features":[{"id":"513233100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.439335,32.937888],[102.439465,32.937624],[102.439588,32.937381],[102.439753,32.937201],[102.439756,32.937198],[102.439918,32.937021],[102.440068,32.936829],[102.440337,32.936613],[102.440605,32.936411],[102.440872,32.936208],[102.440989,32.936044],[102.440992,32.93604],[102.440994,32.935966],[102.440914,32.935745],[102.440772,32.935619],[102.440517,32.935419],[102.440455,32.935375],[102.440916,32.935324],[102.441734,32.935456],[102.44229,32.935178],[102.442815,32.934419],[102.44351,32.933259],[102.444121,32.932655],[102.444338,32.932255],[102.444741,32.931762],[102.445596,32.931414],[102.446633,32.931069],[102.447794,32.930381],[102.448442,32.930105],[102.449001,32.929712],[102.449331,32.929353],[102.449481,32.928894],[102.449606,32.928531],[102.450068,32.928328],[102.450741,32.927976],[102.45119,32.927446],[102.451478,32.926932],[102.451945,32.926576],[102.452324,32.926121],[102.452633,32.925685],[102.453259,32.925351],[102.454021,32.925039],[102.454694,32.924668],[102.455301,32.924218],[102.455973,32.923866],[102.456693,32.923437],[102.456974,32.923193],[102.457186,32.922966],[102.457363,32.922373],[102.45741,32.921526],[102.457323,32.919772],[102.457389,32.919361],[102.457412,32.919221],[102.457434,32.919081],[102.45745,32.918523],[102.457466,32.917965],[102.457431,32.917608],[102.457395,32.917251],[102.457233,32.916949],[102.45707,32.916648],[102.45673,32.916159],[102.45639,32.915671],[102.456185,32.915263],[102.45598,32.914854],[102.455876,32.914515],[102.455771,32.914176],[102.45562,32.913855],[102.45547,32.913534],[102.455472,32.913062],[102.455474,32.912591],[102.455475,32.912157],[102.455476,32.911724],[102.455408,32.911299],[102.455341,32.910874],[102.45526,32.910487],[102.45518,32.910101],[102.45526,32.909717],[102.455339,32.909334],[102.455421,32.908864],[102.455503,32.908393],[102.455584,32.907943],[102.455666,32.907492],[102.45571,32.906751],[102.455754,32.906011],[102.455799,32.905636],[102.455844,32.905262],[102.456031,32.904303],[102.456122,32.903515],[102.456001,32.902145],[102.456207,32.898887],[102.456064,32.89765],[102.456252,32.89609],[102.456412,32.894227],[102.456305,32.892992],[102.45657,32.892425],[102.45739,32.891208],[102.458239,32.890203],[102.459053,32.889166],[102.459612,32.888305],[102.460165,32.887684],[102.460608,32.887152],[102.461397,32.887017],[102.462111,32.886972],[102.462401,32.886827],[102.462597,32.886199],[102.463022,32.885034],[102.463218,32.884437],[102.46356,32.883691],[102.463871,32.882795],[102.463611,32.881887],[102.463009,32.880491],[102.463072,32.879529],[102.463198,32.87887],[102.463539,32.878155],[102.464274,32.877387],[102.464908,32.876407],[102.465427,32.875726],[102.466434,32.874182],[102.466629,32.873584],[102.466789,32.872955],[102.466809,32.872264],[102.466829,32.871572],[102.467217,32.870467],[102.468038,32.869159],[102.469019,32.867284],[102.469365,32.866388],[102.469819,32.865465],[102.469976,32.864956],[102.470434,32.863912],[102.471528,32.861768],[102.471984,32.860785],[102.472222,32.859947],[102.472702,32.859232],[102.47278,32.859116],[102.473231,32.858282],[102.473931,32.857514],[102.474161,32.857282],[102.474545,32.856895],[102.475173,32.856433],[102.476142,32.856205],[102.477274,32.855889],[102.478111,32.85559],[102.479001,32.855337],[102.480214,32.854978],[102.481052,32.854679],[102.481971,32.854314],[102.483244,32.85373],[102.484003,32.853362],[102.484649,32.853194],[102.485238,32.853184],[102.486127,32.852953],[102.486855,32.85272],[102.487537,32.852254],[102.48862,32.851531],[102.489742,32.850826],[102.490281,32.850567],[102.490759,32.850338],[102.491861,32.849463],[102.492679,32.848706],[102.49356,32.847885],[102.494546,32.847029],[102.495856,32.8459],[102.496385,32.845276],[102.496502,32.84486],[102.496437,32.84449],[102.496327,32.84412],[102.496249,32.843674],[102.496027,32.843048],[102.495721,32.842674],[102.495537,32.842264],[102.495224,32.841623],[102.494771,32.840636],[102.494555,32.840302],[102.494596,32.839754],[102.49473,32.839101],[102.494919,32.838241],[102.495116,32.837687],[102.495393,32.837247],[102.495484,32.836942],[102.495488,32.836897],[102.49553,32.836469],[102.495487,32.835659],[102.495517,32.835172],[102.495307,32.834429],[102.495258,32.833215],[102.495287,32.832198],[102.495507,32.830836],[102.495588,32.830294],[102.495721,32.829684],[102.495954,32.829005],[102.497083,32.826899],[102.4977,32.82604],[102.498076,32.825525],[102.498227,32.824722],[102.498463,32.82366],[102.498588,32.8229],[102.498942,32.82221],[102.49959,32.821199],[102.500151,32.820513],[102.500339,32.820256],[102.500413,32.820158],[102.500798,32.819848],[102.501091,32.819456],[102.501299,32.818746],[102.501321,32.817952],[102.500655,32.817166],[102.500433,32.816903],[102.499831,32.816281],[102.49959,32.815689],[102.499278,32.814855],[102.498883,32.814215],[102.498573,32.813294],[102.498437,32.812638],[102.498223,32.81198],[102.497608,32.810922],[102.497089,32.810106],[102.496219,32.808956],[102.495557,32.807723],[102.495094,32.806909],[102.495091,32.806903],[102.495059,32.806847],[102.495058,32.806845],[102.495057,32.806843],[102.495026,32.80679],[102.494254,32.805432],[102.493553,32.80433],[102.493538,32.804306],[102.492419,32.802825],[102.491777,32.801788],[102.491803,32.800895],[102.491908,32.80052],[102.49192,32.800476],[102.492233,32.799358],[102.492391,32.799006],[102.494832,32.793593],[102.494849,32.793556],[102.494882,32.793483],[102.4949,32.793443],[102.494913,32.793415],[102.494921,32.793398],[102.495295,32.792567],[102.495311,32.792533],[102.495326,32.792499],[102.495339,32.792471],[102.495353,32.792439],[102.495357,32.79243],[102.495368,32.792407],[102.495601,32.791966],[102.495631,32.791908],[102.495664,32.791847],[102.495681,32.791814],[102.495701,32.791776],[102.495741,32.791699],[102.495743,32.791696],[102.495942,32.79132],[102.495957,32.791291],[102.495958,32.79129],[102.495977,32.791253],[102.496141,32.790943],[102.496206,32.790821],[102.496227,32.790781],[102.496484,32.790294],[102.497119,32.790656],[102.497803,32.791083],[102.498545,32.791294],[102.499195,32.791265],[102.499216,32.791264],[102.499671,32.79104],[102.499896,32.790929],[102.500526,32.790463],[102.500871,32.790208],[102.500808,32.789908],[102.500816,32.789612],[102.500825,32.789283],[102.500832,32.789058],[102.500834,32.788964],[102.500847,32.788526],[102.50085,32.788408],[102.500866,32.78783],[102.500876,32.78749],[102.500958,32.787305],[102.501171,32.786828],[102.501244,32.786663],[102.501361,32.786554],[102.50146,32.786461],[102.5015,32.786423],[102.501756,32.786183],[102.501785,32.786155],[102.501844,32.7861],[102.501849,32.786096],[102.501853,32.786092],[102.501884,32.786081],[102.501923,32.786069],[102.501936,32.786064],[102.503049,32.785698],[102.503785,32.785738],[102.504006,32.78575],[102.504282,32.785765],[102.505311,32.786035],[102.50592,32.786141],[102.506392,32.786224],[102.507623,32.786374],[102.508449,32.786849],[102.508526,32.787282],[102.508552,32.787428],[102.50862,32.787812],[102.508444,32.788136],[102.508389,32.788239],[102.508151,32.788678],[102.50812,32.788804],[102.508079,32.78897],[102.508047,32.789097],[102.507965,32.789429],[102.507873,32.789799],[102.508191,32.79008],[102.50821,32.790098],[102.508393,32.790092],[102.508606,32.790085],[102.50869,32.790082],[102.508743,32.79008],[102.509001,32.790072],[102.509164,32.790003],[102.509337,32.78993],[102.509383,32.789911],[102.509469,32.789874],[102.50972,32.789768],[102.509851,32.789713],[102.510266,32.789151],[102.510518,32.788809],[102.510992,32.787734],[102.510969,32.786816],[102.510549,32.786278],[102.510517,32.786236],[102.51011,32.785714],[102.508457,32.784805],[102.507301,32.783739],[102.507134,32.782651],[102.5074,32.781989],[102.507766,32.781748],[102.507803,32.781723],[102.507897,32.781662],[102.507932,32.781638],[102.507953,32.781625],[102.508188,32.781549],[102.508198,32.781545],[102.508199,32.781545],[102.508275,32.78152],[102.508286,32.781517],[102.5088,32.78135],[102.509279,32.781286],[102.509771,32.78122],[102.509817,32.781214],[102.50989,32.781205],[102.509912,32.781178],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.510024,32.781043],[102.510073,32.780984],[102.510178,32.780858],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780844],[102.510197,32.780835],[102.510201,32.78083],[102.510266,32.780757],[102.510271,32.780752],[102.510617,32.78036],[102.511574,32.779277],[102.512155,32.777913],[102.512186,32.777831],[102.512259,32.77764],[102.51306,32.775553],[102.513343,32.774527],[102.513609,32.773562],[102.513882,32.772608],[102.514105,32.771694],[102.514966,32.769167],[102.515443,32.767967],[102.515761,32.76718],[102.515981,32.766392],[102.516656,32.765196],[102.517578,32.764004],[102.517273,32.762538],[102.517102,32.761576],[102.516983,32.76053],[102.517079,32.758864],[102.517078,32.757112],[102.516861,32.756023],[102.516244,32.755135],[102.515087,32.754152],[102.513051,32.752819],[102.510977,32.751402],[102.510096,32.7508],[102.50903,32.750069],[102.508823,32.749863],[102.507986,32.749029],[102.507648,32.748691],[102.507493,32.748537],[102.507251,32.748257],[102.50593,32.746729],[102.505915,32.746712],[102.504698,32.744352],[102.504056,32.742587],[102.504051,32.742242],[102.504047,32.741937],[102.504039,32.741419],[102.50403,32.741365],[102.503859,32.740319],[102.503744,32.739619],[102.503789,32.737993],[102.503308,32.735207],[102.502777,32.733942],[102.5027,32.733757],[102.502649,32.733637],[102.502644,32.733493],[102.502609,32.732461],[102.502601,32.732227],[102.502637,32.730957],[102.502662,32.730055],[102.502664,32.729988],[102.502666,32.729885],[102.502669,32.729781],[102.502643,32.72915],[102.502617,32.728519],[102.502505,32.727813],[102.502393,32.727106],[102.501973,32.72643],[102.501553,32.725754],[102.50109,32.725033],[102.500627,32.724311],[102.500346,32.724151],[102.500065,32.72399],[102.499828,32.723692],[102.499592,32.723394],[102.499438,32.723063],[102.499284,32.722732],[102.499112,32.722315],[102.49894,32.721898],[102.498832,32.721361],[102.498725,32.720824],[102.498577,32.720269],[102.49843,32.719715],[102.498422,32.719266],[102.498414,32.718818],[102.498409,32.718248],[102.498405,32.717679],[102.498375,32.717282],[102.498345,32.716885],[102.497995,32.716291],[102.497644,32.715698],[102.497412,32.715245],[102.49718,32.714792],[102.49707,32.714359],[102.496959,32.713925],[102.496531,32.71321],[102.496102,32.712494],[102.495767,32.712073],[102.495432,32.711653],[102.495136,32.711285],[102.49484,32.710917],[102.494348,32.710286],[102.493856,32.709655],[102.493385,32.708991],[102.492914,32.708326],[102.492622,32.707803],[102.492331,32.707279],[102.492025,32.706549],[102.491719,32.705819],[102.491631,32.705317],[102.491543,32.704815],[102.491399,32.704139],[102.491255,32.703464],[102.491183,32.702962],[102.491175,32.702907],[102.491104,32.702415],[102.49109,32.702322],[102.491064,32.702137],[102.491016,32.701804],[102.490906,32.699904],[102.490842,32.699282],[102.49058,32.698415],[102.490532,32.698391],[102.490429,32.696549],[102.49061,32.695897],[102.491319,32.695325],[102.492317,32.694655],[102.493923,32.694136],[102.495114,32.693815],[102.496321,32.69363],[102.496712,32.693571],[102.497331,32.693371],[102.497618,32.693278],[102.499003,32.69334],[102.499525,32.693627],[102.500211,32.693882],[102.500386,32.693993],[102.500492,32.69406],[102.503889,32.695851],[102.505234,32.696437],[102.50583,32.696696],[102.506688,32.696966],[102.507444,32.697203],[102.507934,32.69736],[102.509215,32.697769],[102.509502,32.697861],[102.511166,32.698065],[102.511348,32.698088],[102.512285,32.698152],[102.513131,32.69821],[102.514262,32.698288],[102.514305,32.69829],[102.515414,32.698343],[102.515438,32.698344],[102.515484,32.698346],[102.515608,32.698352],[102.515754,32.698359],[102.515777,32.69836],[102.515786,32.698361],[102.515943,32.698368],[102.516141,32.698341],[102.51627,32.698323],[102.517149,32.698202],[102.517151,32.698202],[102.517204,32.698194],[102.517212,32.698193],[102.517738,32.698121],[102.517768,32.698116],[102.517795,32.698113],[102.517796,32.698113],[102.517796,32.698112],[102.517859,32.698104],[102.518122,32.698068],[102.518648,32.697995],[102.519425,32.697971],[102.523039,32.697861],[102.523164,32.697857],[102.523367,32.697851],[102.525392,32.697701],[102.526433,32.697797],[102.526799,32.697831],[102.527351,32.697882],[102.528949,32.697838],[102.529879,32.697813],[102.53041,32.697799],[102.531396,32.697772],[102.534147,32.697731],[102.535597,32.698092],[102.536601,32.698301],[102.535798,32.696909],[102.535783,32.696847],[102.535735,32.696639],[102.535447,32.695384],[102.535047,32.694857],[102.534739,32.69445],[102.533876,32.693312],[102.533356,32.692665],[102.533055,32.69229],[102.531977,32.690949],[102.530923,32.689729],[102.530726,32.689501],[102.529985,32.687872],[102.529975,32.687791],[102.529975,32.687791],[102.529948,32.68758],[102.52993,32.687429],[102.529755,32.686017],[102.529572,32.684969],[102.529523,32.684686],[102.529464,32.68435],[102.528939,32.683058],[102.528298,32.681492],[102.528275,32.681436],[102.52822,32.681302],[102.528097,32.681001],[102.527947,32.680656],[102.527779,32.68027],[102.527495,32.679618],[102.527282,32.679131],[102.5272,32.678942],[102.527029,32.678396],[102.526736,32.677462],[102.526578,32.676968],[102.526549,32.676878],[102.525959,32.675027],[102.525806,32.674549],[102.525301,32.672498],[102.525214,32.671594],[102.524742,32.670868],[102.52453,32.670541],[102.524245,32.670104],[102.523542,32.669141],[102.522782,32.668224],[102.522027,32.667118],[102.521565,32.66664],[102.521381,32.665338],[102.521091,32.66394],[102.521115,32.663059],[102.521262,32.661717],[102.521132,32.660462],[102.520796,32.658739],[102.52047,32.656645],[102.520043,32.65554],[102.520021,32.655484],[102.51988,32.65512],[102.519855,32.655056],[102.519503,32.653935],[102.519496,32.652172],[102.519915,32.650928],[102.520001,32.64977],[102.52031,32.648524],[102.520448,32.647506],[102.520916,32.646448],[102.521664,32.645164],[102.523307,32.643248],[102.523992,32.642241],[102.524899,32.641192],[102.525754,32.640003],[102.526438,32.639042],[102.527296,32.63776],[102.52798,32.6368],[102.529309,32.636316],[102.530926,32.635327],[102.53276,32.634435],[102.534097,32.633673],[102.535564,32.632125],[102.536416,32.631074],[102.537873,32.629897],[102.539552,32.628631],[102.540786,32.627635],[102.542642,32.625908],[102.543939,32.624588],[102.544679,32.623582],[102.546576,32.622367],[102.548618,32.62185],[102.550262,32.621882],[102.550863,32.62194],[102.552375,32.620764],[102.552711,32.620455],[102.554006,32.619265],[102.554907,32.618354],[102.555649,32.617302],[102.556441,32.61639],[102.556752,32.615004],[102.557392,32.613671],[102.558409,32.612531],[102.55848,32.612442],[102.559204,32.611526],[102.559138,32.611041],[102.559021,32.610177],[102.559016,32.609776],[102.559003,32.608832],[102.557939,32.607651],[102.557933,32.607364],[102.557927,32.607061],[102.557915,32.606495],[102.557963,32.606542],[102.558981,32.607625],[102.560591,32.608863],[102.561153,32.609302],[102.561452,32.609536],[102.562163,32.610092],[102.562416,32.61029],[102.563718,32.611475],[102.563974,32.611707],[102.564395,32.612091],[102.566533,32.614127],[102.568248,32.615552],[102.569487,32.616365],[102.57126,32.617698],[102.571601,32.618039],[102.571581,32.617982],[102.571868,32.617478],[102.573049,32.616387],[102.573846,32.615289],[102.575478,32.613697],[102.576709,32.612793],[102.578108,32.611707],[102.57961,32.610901],[102.581008,32.609861],[102.58152,32.609175],[102.581482,32.608525],[102.582228,32.607287],[102.582898,32.606836],[102.595355,32.615193],[102.595396,32.615221],[102.595497,32.615288],[102.597516,32.615606],[102.600068,32.616536],[102.600466,32.6167],[102.601329,32.617056],[102.601357,32.617067],[102.60143,32.617097],[102.601474,32.617115],[102.602038,32.617348],[102.602074,32.617363],[102.603269,32.617757],[102.605241,32.617794],[102.606198,32.617958],[102.606199,32.617958],[102.606214,32.617961],[102.606222,32.617962],[102.606245,32.617966],[102.606769,32.618055],[102.608017,32.618543],[102.611033,32.618641],[102.611136,32.618644],[102.61119,32.618646],[102.611467,32.618655],[102.611469,32.618655],[102.61147,32.618655],[102.611682,32.618659],[102.61174,32.61866],[102.611765,32.618661],[102.611947,32.618664],[102.612932,32.618683],[102.613188,32.618688],[102.613201,32.618688],[102.613203,32.618688],[102.613205,32.618688],[102.613217,32.618688],[102.613434,32.618693],[102.613437,32.618693],[102.61344,32.618693],[102.613601,32.618651],[102.614268,32.618476],[102.615713,32.617715],[102.615849,32.617619],[102.615852,32.617617],[102.615854,32.617616],[102.615859,32.617612],[102.615932,32.61756],[102.615944,32.617552],[102.615944,32.617552],[102.616607,32.617083],[102.617115,32.616743],[102.61789,32.616226],[102.619166,32.615647],[102.620392,32.614882],[102.621617,32.614163],[102.623002,32.613632],[102.623637,32.613392],[102.624053,32.613234],[102.625465,32.612859],[102.626312,32.612569],[102.626329,32.612585],[102.626375,32.612629],[102.626531,32.612777],[102.626681,32.61292],[102.626827,32.612922],[102.627185,32.612929],[102.627266,32.612851],[102.62729,32.612828],[102.6273,32.612826],[102.627376,32.6128],[102.627426,32.612784],[102.627436,32.612777],[102.627505,32.612733],[102.62755,32.612693],[102.62759,32.612638],[102.627626,32.612589],[102.627674,32.612539],[102.627798,32.612493],[102.62785,32.612473],[102.627877,32.612463],[102.62808,32.612387],[102.62836,32.612499],[102.628543,32.612715],[102.628723,32.613065],[102.628698,32.613319],[102.628681,32.613503],[102.628679,32.613517],[102.628628,32.613684],[102.628542,32.613967],[102.62847,32.614105],[102.628316,32.614403],[102.62831,32.614415],[102.628235,32.614866],[102.628255,32.614951],[102.628268,32.615004],[102.62832,32.615214],[102.628718,32.615648],[102.628707,32.616047],[102.628701,32.616074],[102.628674,32.616187],[102.628667,32.616217],[102.628664,32.616229],[102.628652,32.616278],[102.628642,32.616651],[102.629347,32.617432],[102.629352,32.617438],[102.629432,32.617523],[102.629476,32.617571],[102.629496,32.617618],[102.629805,32.617975],[102.629966,32.618136],[102.629823,32.618645],[102.629676,32.619029],[102.629742,32.619184],[102.629706,32.619233],[102.62964,32.619268],[102.629637,32.619291],[102.629667,32.619343],[102.629676,32.619332],[102.629685,32.619322],[102.629696,32.619316],[102.629706,32.619314],[102.629723,32.619315],[102.629733,32.619318],[102.629744,32.61932],[102.629753,32.619317],[102.629764,32.619314],[102.629778,32.61931],[102.629793,32.619302],[102.629809,32.619339],[102.629822,32.61937],[102.629827,32.619381],[102.629977,32.61973],[102.629992,32.619847],[102.629994,32.619862],[102.630003,32.619926],[102.630005,32.619941],[102.629952,32.61994],[102.629819,32.619935],[102.629754,32.619921],[102.629754,32.619986],[102.629772,32.620038],[102.629837,32.6201],[102.62995,32.620178],[102.630051,32.620293],[102.630053,32.620312],[102.630123,32.620981],[102.630125,32.620995],[102.630126,32.621009],[102.630058,32.621094],[102.62992,32.621268],[102.629905,32.621285],[102.62987,32.62133],[102.629701,32.621542],[102.629432,32.621508],[102.629422,32.621507],[102.629337,32.621496],[102.629301,32.621469],[102.629291,32.621447],[102.629277,32.621429],[102.629255,32.621422],[102.629226,32.621418],[102.629193,32.62141],[102.629176,32.621402],[102.629144,32.621379],[102.629104,32.62135],[102.629037,32.6213],[102.628969,32.621235],[102.628932,32.621183],[102.628787,32.621071],[102.628766,32.621054],[102.628634,32.620953],[102.628627,32.620947],[102.62862,32.620942],[102.628506,32.620979],[102.628067,32.621125],[102.628003,32.621367],[102.628,32.62138],[102.627998,32.621386],[102.627984,32.621442],[102.627975,32.621437],[102.627959,32.621436],[102.627948,32.621443],[102.627935,32.621453],[102.62792,32.621467],[102.627909,32.621483],[102.627888,32.621522],[102.627879,32.621572],[102.627881,32.621591],[102.627898,32.621606],[102.627902,32.62163],[102.627901,32.621655],[102.627898,32.621668],[102.627882,32.621691],[102.627867,32.621707],[102.627858,32.621721],[102.627851,32.621739],[102.62785,32.621752],[102.627858,32.621771],[102.627875,32.62179],[102.627891,32.621803],[102.627905,32.621813],[102.627927,32.621828],[102.627935,32.621842],[102.627948,32.62186],[102.627964,32.621917],[102.627975,32.621956],[102.627994,32.621985],[102.628022,32.622004],[102.628054,32.622022],[102.628104,32.622059],[102.628127,32.622091],[102.628151,32.62213],[102.628165,32.622161],[102.628187,32.622181],[102.628255,32.622197],[102.628282,32.622188],[102.628293,32.62217],[102.628308,32.622136],[102.628316,32.62211],[102.628335,32.622086],[102.628362,32.622051],[102.628477,32.622093],[102.628496,32.622101],[102.628513,32.622107],[102.629041,32.622303],[102.629232,32.62257],[102.629246,32.622589],[102.629314,32.622685],[102.62935,32.622734],[102.629267,32.622988],[102.6292,32.623195],[102.629142,32.62327],[102.628935,32.623537],[102.628803,32.623708],[102.628717,32.623675],[102.628588,32.623785],[102.628561,32.623796],[102.628508,32.623811],[102.628444,32.623818],[102.628397,32.623817],[102.628334,32.623809],[102.628151,32.623761],[102.628085,32.623727],[102.628041,32.6237],[102.627983,32.623639],[102.627966,32.623628],[102.627846,32.623551],[102.627745,32.623485],[102.627731,32.623476],[102.627692,32.623327],[102.627689,32.62332],[102.627606,32.62301],[102.627439,32.622946],[102.627307,32.622987],[102.627155,32.623061],[102.627064,32.623118],[102.626988,32.623223],[102.626967,32.623244],[102.626954,32.623277],[102.626951,32.623303],[102.626953,32.62333],[102.626956,32.623352],[102.626971,32.623374],[102.626959,32.623484],[102.626953,32.623539],[102.626957,32.623553],[102.626967,32.623588],[102.62712,32.624122],[102.627112,32.624435],[102.627111,32.624469],[102.62711,32.624521],[102.62711,32.624529],[102.627108,32.624593],[102.627107,32.624623],[102.627102,32.624818],[102.626968,32.625182],[102.626961,32.625203],[102.626845,32.625518],[102.62684,32.625532],[102.626807,32.625624],[102.626673,32.625666],[102.626607,32.625687],[102.626576,32.625697],[102.626268,32.625571],[102.626079,32.625494],[102.626004,32.625364],[102.625994,32.625347],[102.625986,32.625333],[102.62593,32.625237],[102.625926,32.62523],[102.625921,32.625222],[102.625551,32.624586],[102.625533,32.624554],[102.625402,32.624458],[102.625295,32.624371],[102.625161,32.624285],[102.625082,32.624253],[102.624971,32.624253],[102.624876,32.624273],[102.624863,32.624273],[102.624486,32.624265],[102.624463,32.624281],[102.6244,32.624549],[102.624322,32.624879],[102.624313,32.624919],[102.624345,32.624987],[102.624561,32.625447],[102.624576,32.625477],[102.624597,32.625522],[102.624909,32.626185],[102.62493,32.626229],[102.624939,32.626249],[102.624943,32.626257],[102.624968,32.62631],[102.625048,32.62648],[102.625074,32.626704],[102.625101,32.626937],[102.625159,32.627448],[102.625147,32.627908],[102.625142,32.628097],[102.625134,32.628414],[102.625085,32.628451],[102.625078,32.628456],[102.625051,32.628476],[102.625035,32.628488],[102.624528,32.628867],[102.623886,32.62897],[102.623359,32.628922],[102.623298,32.628917],[102.62321,32.628868],[102.623081,32.628828],[102.623011,32.628821],[102.622941,32.628825],[102.622907,32.628829],[102.622837,32.628835],[102.622801,32.628841],[102.622773,32.628851],[102.622737,32.628865],[102.622691,32.62887],[102.622669,32.628869],[102.622627,32.628872],[102.622586,32.628892],[102.62256,32.628907],[102.622477,32.628922],[102.622437,32.628921],[102.622382,32.628908],[102.622343,32.628893],[102.622286,32.628878],[102.622224,32.628867],[102.622158,32.62891],[102.622102,32.628946],[102.622087,32.628956],[102.621826,32.629125],[102.621924,32.629313],[102.622001,32.629462],[102.622026,32.629509],[102.622036,32.629529],[102.622083,32.629619],[102.622088,32.62963],[102.622102,32.629657],[102.622103,32.629658],[102.62213,32.62971],[102.622201,32.630485],[102.621778,32.630941],[102.621737,32.630955],[102.621642,32.630987],[102.62132,32.631097],[102.621303,32.631102],[102.621273,32.631113],[102.621132,32.63116],[102.621124,32.63147],[102.621219,32.631604],[102.621237,32.63163],[102.621257,32.631659],[102.621344,32.631783],[102.621662,32.632008],[102.62168,32.632021],[102.621807,32.632111],[102.62184,32.632134],[102.621846,32.632138],[102.622017,32.63226],[102.622075,32.632303],[102.622331,32.632498],[102.62236,32.633117],[102.622267,32.633335],[102.622172,32.63356],[102.622179,32.633564],[102.622182,32.633571],[102.62218,32.633586],[102.622175,32.633609],[102.622148,32.633676],[102.622103,32.633843],[102.622076,32.634029],[102.62207,32.634117],[102.62207,32.634127],[102.622046,32.634175],[102.622042,32.63418],[102.621986,32.63425],[102.621964,32.634275],[102.621963,32.634307],[102.622031,32.63443],[102.62205,32.634464],[102.622065,32.634459],[102.622082,32.634455],[102.622451,32.634349],[102.622557,32.634319],[102.622692,32.634199],[102.622783,32.634119],[102.622798,32.634106],[102.623071,32.633865],[102.623628,32.633527],[102.62409,32.633596],[102.624173,32.633609],[102.624181,32.63361],[102.624188,32.633651],[102.624189,32.633673],[102.624192,32.633697],[102.624198,32.633719],[102.62421,32.633742],[102.624223,32.633759],[102.624231,32.633768],[102.624238,32.633779],[102.624254,32.633795],[102.624258,32.63382],[102.624256,32.633857],[102.624248,32.633897],[102.624231,32.633945],[102.624174,32.63402],[102.624144,32.634063],[102.624138,32.63412],[102.624132,32.634145],[102.624124,32.634171],[102.624101,32.634209],[102.624072,32.634278],[102.624045,32.634351],[102.624022,32.634379],[102.623969,32.634443],[102.623941,32.63451],[102.623929,32.634542],[102.623897,32.634583],[102.623857,32.634616],[102.623806,32.63465],[102.623756,32.634668],[102.623701,32.634688],[102.62364,32.63472],[102.623581,32.634765],[102.623512,32.634789],[102.623474,32.634804],[102.623455,32.634817],[102.623413,32.634838],[102.623364,32.634868],[102.623309,32.634889],[102.623291,32.634903],[102.623269,32.634927],[102.623259,32.634943],[102.623261,32.634973],[102.623142,32.635072],[102.623045,32.635153],[102.622988,32.635201],[102.622961,32.635228],[102.622952,32.635249],[102.622945,32.635277],[102.622929,32.635292],[102.622802,32.635406],[102.622701,32.635752],[102.622867,32.635874],[102.622872,32.635878],[102.622878,32.635882],[102.62297,32.63595],[102.623011,32.635951],[102.623025,32.635951],[102.623085,32.635952],[102.623155,32.635954],[102.623158,32.635977],[102.62319,32.636023],[102.623213,32.63605],[102.623236,32.636054],[102.623311,32.636038],[102.623358,32.636024],[102.623391,32.636009],[102.623423,32.635991],[102.623449,32.635967],[102.623472,32.635938],[102.623492,32.635916],[102.623549,32.635903],[102.623579,32.635904],[102.62358,32.63588],[102.623595,32.635824],[102.623799,32.635695],[102.623853,32.635693],[102.623899,32.63569],[102.623957,32.635651],[102.624033,32.635618],[102.624089,32.635615],[102.624154,32.635618],[102.624212,32.635638],[102.624273,32.635671],[102.624291,32.635699],[102.624297,32.635714],[102.624304,32.635733],[102.624326,32.635751],[102.624414,32.635802],[102.624521,32.635878],[102.624568,32.635921],[102.624609,32.635969],[102.624567,32.636049],[102.624422,32.636326],[102.624076,32.636571],[102.62406,32.636582],[102.623961,32.636569],[102.62384,32.636548],[102.623661,32.636536],[102.623709,32.636569],[102.623736,32.636598],[102.623227,32.636612],[102.622619,32.636891],[102.622579,32.636909],[102.622242,32.637317],[102.622202,32.637366],[102.622087,32.637586],[102.622061,32.637636],[102.621961,32.637825],[102.621974,32.637859],[102.622075,32.638137],[102.62212,32.638188],[102.622146,32.638221],[102.622178,32.63827],[102.622197,32.638314],[102.622209,32.638351],[102.622218,32.638381],[102.622226,32.638408],[102.622234,32.638433],[102.622298,32.638459],[102.622581,32.638572],[102.623273,32.638314],[102.623511,32.638309],[102.623522,32.638308],[102.623826,32.638301],[102.623867,32.6383],[102.623922,32.638299],[102.624188,32.638293],[102.624339,32.638636],[102.624446,32.638877],[102.624478,32.639223],[102.624517,32.639652],[102.623913,32.640027],[102.623183,32.640013],[102.622984,32.64022],[102.622942,32.640263],[102.622854,32.640355],[102.622852,32.640433],[102.62285,32.640505],[102.622849,32.640525],[102.622841,32.640819],[102.623331,32.64133],[102.623925,32.641303],[102.623956,32.641283],[102.624108,32.641187],[102.624211,32.641122],[102.624265,32.641052],[102.624306,32.640993],[102.624365,32.640937],[102.624426,32.640901],[102.62453,32.640866],[102.624653,32.640854],[102.624669,32.640847],[102.624709,32.640828],[102.625131,32.64063],[102.625683,32.640524],[102.625755,32.64051],[102.625866,32.640489],[102.62595,32.640439],[102.625997,32.640411],[102.625998,32.640401],[102.625999,32.640385],[102.626011,32.640364],[102.626022,32.640335],[102.626074,32.640276],[102.626099,32.640264],[102.626126,32.640256],[102.626136,32.640243],[102.626141,32.640219],[102.626143,32.640198],[102.626149,32.640171],[102.626168,32.64015],[102.626254,32.640108],[102.62629,32.640105],[102.626311,32.640101],[102.626332,32.640083],[102.62635,32.640055],[102.626389,32.64003],[102.62647,32.63998],[102.626546,32.639963],[102.626613,32.639958],[102.626673,32.639961],[102.626713,32.639973],[102.626732,32.639974],[102.626748,32.639965],[102.626824,32.639888],[102.626915,32.639796],[102.626928,32.639782],[102.626942,32.639769],[102.627123,32.639585],[102.627629,32.639479],[102.627741,32.639565],[102.627942,32.639717],[102.627959,32.639744],[102.628013,32.639828],[102.62806,32.639901],[102.628118,32.639991],[102.628064,32.640045],[102.62797,32.640143],[102.627601,32.640522],[102.627319,32.64076],[102.62712,32.640927],[102.627,32.641052],[102.626767,32.641306],[102.626634,32.641435],[102.626569,32.641496],[102.62656,32.641504],[102.626511,32.641553],[102.626462,32.641605],[102.626407,32.641713],[102.626391,32.641751],[102.626374,32.641763],[102.626358,32.64177],[102.626363,32.641808],[102.626415,32.642201],[102.626588,32.642396],[102.626576,32.642456],[102.626578,32.642495],[102.626596,32.642531],[102.626611,32.642578],[102.626647,32.642619],[102.626737,32.64267],[102.626794,32.642697],[102.626824,32.642728],[102.626845,32.642772],[102.626865,32.642816],[102.626893,32.642851],[102.626939,32.642875],[102.626987,32.642894],[102.627103,32.642935],[102.627155,32.642935],[102.627443,32.643145],[102.627452,32.643152],[102.627463,32.643137],[102.627548,32.643157],[102.627593,32.643198],[102.62762,32.643225],[102.627652,32.643251],[102.627683,32.643285],[102.627716,32.643315],[102.627736,32.64333],[102.627768,32.643337],[102.6278,32.643345],[102.627833,32.643358],[102.627792,32.643357],[102.627773,32.643365],[102.62774,32.643381],[102.628065,32.643701],[102.628129,32.644746],[102.627714,32.644922],[102.627697,32.644929],[102.627553,32.64499],[102.627505,32.64501],[102.627494,32.645015],[102.627344,32.645079],[102.6272,32.645298],[102.627197,32.645303],[102.627184,32.645323],[102.627124,32.645413],[102.627088,32.645468],[102.627083,32.645475],[102.626868,32.645804],[102.626742,32.645906],[102.626733,32.645913],[102.626614,32.64601],[102.626595,32.646025],[102.626583,32.646035],[102.626573,32.646042],[102.626216,32.646332],[102.62622,32.646374],[102.62622,32.646402],[102.626223,32.646432],[102.626223,32.646445],[102.626216,32.646457],[102.626213,32.64646],[102.626202,32.646444],[102.626178,32.646418],[102.626159,32.646395],[102.626103,32.646457],[102.625867,32.646721],[102.625842,32.64675],[102.625832,32.64676],[102.625811,32.646784],[102.625664,32.646948],[102.625602,32.64702],[102.625589,32.647488],[102.625589,32.64752],[102.626006,32.647629],[102.626156,32.647669],[102.626168,32.647672],[102.626224,32.647686],[102.626356,32.647689],[102.626417,32.64769],[102.627092,32.647703],[102.627145,32.647682],[102.627165,32.647674],[102.627176,32.647669],[102.627375,32.647589],[102.627409,32.647608],[102.627459,32.647624],[102.627493,32.647633],[102.627567,32.647637],[102.627595,32.647639],[102.627609,32.647639],[102.627673,32.647635],[102.6277,32.647623],[102.627723,32.647608],[102.627735,32.647597],[102.627746,32.647577],[102.62775,32.647559],[102.627754,32.647544],[102.62776,32.647528],[102.62777,32.647517],[102.627785,32.647505],[102.627799,32.647495],[102.627818,32.647486],[102.627844,32.647475],[102.627853,32.647466],[102.627855,32.647458],[102.627854,32.647442],[102.627842,32.64742],[102.627824,32.647393],[102.627784,32.647345],[102.627867,32.647264],[102.628276,32.646863],[102.628302,32.646837],[102.628404,32.646834],[102.628425,32.646834],[102.628551,32.646831],[102.628614,32.646829],[102.629217,32.646815],[102.629469,32.646928],[102.629532,32.646956],[102.629548,32.646963],[102.629681,32.647056],[102.629731,32.647103],[102.629766,32.647138],[102.629792,32.647173],[102.629891,32.647289],[102.629906,32.647337],[102.62991,32.647343],[102.629915,32.647354],[102.629915,32.647365],[102.629909,32.647389],[102.629887,32.647434],[102.629857,32.647492],[102.629771,32.647687],[102.629718,32.647744],[102.629659,32.647782],[102.629628,32.647802],[102.629597,32.647817],[102.629574,32.647841],[102.629543,32.647885],[102.629498,32.647951],[102.629481,32.647999],[102.629461,32.648035],[102.629418,32.648096],[102.629399,32.648129],[102.629374,32.648141],[102.62936,32.648141],[102.629346,32.648138],[102.629329,32.648163],[102.629271,32.648247],[102.62919,32.648367],[102.629165,32.648404],[102.628938,32.648743],[102.628923,32.649284],[102.629463,32.649603],[102.63037,32.649878],[102.630377,32.649879],[102.630687,32.649974],[102.631415,32.649935],[102.63174,32.649917],[102.631907,32.649842],[102.632467,32.649588],[102.63248,32.649583],[102.632512,32.649549],[102.632541,32.649519],[102.632558,32.649501],[102.632808,32.649241],[102.632096,32.648532],[102.632101,32.648348],[102.632104,32.648217],[102.632105,32.648184],[102.63231,32.648166],[102.632396,32.648214],[102.632522,32.648303],[102.632706,32.648412],[102.632804,32.648476],[102.632908,32.648529],[102.633005,32.648566],[102.633071,32.648598],[102.633136,32.648631],[102.633158,32.648647],[102.633183,32.648672],[102.633203,32.648688],[102.63322,32.648699],[102.63325,32.648698],[102.633258,32.648684],[102.633277,32.648675],[102.633296,32.648666],[102.633326,32.64866],[102.633338,32.648674],[102.633357,32.648718],[102.633373,32.648769],[102.633404,32.648827],[102.633469,32.648894],[102.633506,32.648948],[102.63354,32.649026],[102.633557,32.64912],[102.633595,32.649235],[102.633619,32.64936],[102.633615,32.649434],[102.633605,32.649544],[102.63359,32.64957],[102.633585,32.649578],[102.633564,32.6496],[102.633558,32.649691],[102.63359,32.64969],[102.633645,32.649691],[102.633705,32.649915],[102.63402,32.650076],[102.634284,32.650011],[102.634653,32.64992],[102.634894,32.64986],[102.634957,32.64984],[102.634991,32.649829],[102.635004,32.649825],[102.635153,32.649776],[102.635178,32.649768],[102.63568,32.649603],[102.63569,32.649598],[102.635796,32.649538],[102.636105,32.649366],[102.636118,32.649359],[102.636256,32.649282],[102.63628,32.649268],[102.636376,32.648927],[102.636395,32.648859],[102.636432,32.64873],[102.636436,32.648687],[102.636437,32.64868],[102.636494,32.648112],[102.636641,32.64806],[102.636676,32.648048],[102.636895,32.64797],[102.636909,32.647966],[102.637508,32.64809],[102.637607,32.648111],[102.637703,32.6482],[102.63779,32.648292],[102.637878,32.648376],[102.637928,32.648438],[102.637953,32.648494],[102.637989,32.648553],[102.638039,32.648598],[102.638128,32.64867],[102.638176,32.64872],[102.638258,32.648789],[102.638374,32.649146],[102.638398,32.649219],[102.638403,32.649235],[102.638406,32.649244],[102.638427,32.649308],[102.63844,32.649372],[102.638405,32.649414],[102.638393,32.649429],[102.638382,32.649447],[102.638381,32.649463],[102.638388,32.649476],[102.638388,32.649487],[102.638391,32.649507],[102.638462,32.649486],[102.638588,32.650123],[102.639039,32.650364],[102.639366,32.650099],[102.639383,32.65008],[102.639396,32.650066],[102.639559,32.649884],[102.63958,32.649859],[102.639815,32.649597],[102.639883,32.649521],[102.639978,32.649415],[102.640241,32.649274],[102.640256,32.649266],[102.640534,32.649116],[102.640851,32.649238],[102.641167,32.64936],[102.641355,32.649515],[102.641362,32.649555],[102.641373,32.649595],[102.641388,32.649639],[102.641406,32.649681],[102.641429,32.6497],[102.641448,32.649701],[102.641474,32.649688],[102.641502,32.649682],[102.641514,32.649688],[102.641516,32.649696],[102.641591,32.649711],[102.641637,32.64972],[102.641682,32.649738],[102.641713,32.649751],[102.641754,32.649773],[102.641788,32.649839],[102.641809,32.649892],[102.641878,32.64995],[102.641844,32.649988],[102.641836,32.650018],[102.641835,32.650049],[102.641847,32.650098],[102.641842,32.650144],[102.641854,32.65019],[102.641779,32.650159],[102.641725,32.650267],[102.6417,32.650316],[102.641594,32.650527],[102.641482,32.650646],[102.641464,32.650665],[102.641238,32.650903],[102.641233,32.650909],[102.641096,32.651054],[102.641024,32.651053],[102.640971,32.651057],[102.640918,32.65108],[102.640869,32.651121],[102.640792,32.651222],[102.640776,32.65128],[102.640767,32.651324],[102.640756,32.651378],[102.64075,32.651425],[102.640749,32.651456],[102.640778,32.651495],[102.640842,32.65154],[102.640909,32.651578],[102.640984,32.651616],[102.641069,32.65165],[102.641184,32.651674],[102.641198,32.65168],[102.64127,32.651691],[102.641348,32.651694],[102.641428,32.651698],[102.641479,32.651693],[102.641545,32.651695],[102.641614,32.651704],[102.641652,32.651713],[102.641696,32.651726],[102.641762,32.651737],[102.641851,32.651719],[102.641925,32.651696],[102.641971,32.651695],[102.642012,32.651676],[102.642042,32.651658],[102.642118,32.6516],[102.642338,32.651558],[102.642375,32.651551],[102.642411,32.651544],[102.642827,32.651464],[102.64294,32.651442],[102.643258,32.651528],[102.643265,32.65153],[102.643304,32.65154],[102.643629,32.651628],[102.643712,32.65165],[102.643774,32.65173],[102.643802,32.651766],[102.643825,32.651802],[102.643842,32.651837],[102.643845,32.651854],[102.643823,32.651874],[102.643868,32.651966],[102.643881,32.651991],[102.643885,32.652001],[102.643872,32.652504],[102.643908,32.652568],[102.64399,32.65255],[102.644052,32.652526],[102.644092,32.652477],[102.644126,32.652437],[102.644178,32.652405],[102.644241,32.652409],[102.644323,32.65244],[102.64442,32.652467],[102.644492,32.65248],[102.644537,32.652481],[102.64456,32.652469],[102.644661,32.65251],[102.644727,32.652471],[102.644741,32.652462],[102.64478,32.652438],[102.644819,32.652438],[102.644877,32.652428],[102.644947,32.652408],[102.645011,32.652382],[102.645079,32.652351],[102.645118,32.652329],[102.645171,32.652291],[102.645194,32.652271],[102.645229,32.652236],[102.64527,32.652195],[102.645292,32.652155],[102.645298,32.652125],[102.645341,32.652059],[102.645358,32.652007],[102.645371,32.651967],[102.645396,32.651912],[102.645425,32.651879],[102.645447,32.651715],[102.645463,32.651673],[102.645477,32.651662],[102.645476,32.651547],[102.645481,32.651488],[102.645486,32.651413],[102.645458,32.651296],[102.645556,32.651139],[102.645614,32.65112],[102.645628,32.651118],[102.645741,32.651096],[102.64584,32.651101],[102.64594,32.651134],[102.645972,32.651079],[102.646015,32.651],[102.646024,32.651003],[102.64607,32.651015],[102.646091,32.651021],[102.646097,32.651022],[102.646112,32.650997],[102.646263,32.651067],[102.646467,32.651122],[102.647838,32.651148],[102.648067,32.651187],[102.648838,32.651321],[102.648833,32.651528],[102.648832,32.651555],[102.64883,32.651649],[102.648825,32.651823],[102.648731,32.651947],[102.64865,32.652053],[102.648671,32.651991],[102.648679,32.651971],[102.648689,32.651941],[102.64869,32.651893],[102.648693,32.651852],[102.648686,32.651785],[102.64865,32.651705],[102.648631,32.651676],[102.648614,32.651649],[102.648582,32.651622],[102.648556,32.651602],[102.64852,32.651575],[102.648461,32.651549],[102.648417,32.651528],[102.648381,32.651514],[102.648312,32.651489],[102.648271,32.651475],[102.648223,32.651471],[102.648176,32.651471],[102.648281,32.651509],[102.648366,32.651541],[102.648426,32.65157],[102.64847,32.6516],[102.648505,32.651632],[102.64855,32.651674],[102.648575,32.651712],[102.648579,32.651759],[102.64858,32.651819],[102.648578,32.651865],[102.648568,32.651915],[102.64856,32.651958],[102.648537,32.652014],[102.648502,32.65205],[102.648468,32.652086],[102.648441,32.652112],[102.648393,32.652157],[102.648366,32.652188],[102.648334,32.652229],[102.648312,32.65226],[102.64829,32.652285],[102.648233,32.652318],[102.648201,32.652328],[102.648169,32.652348],[102.648164,32.652357],[102.648169,32.652376],[102.648144,32.652384],[102.647995,32.652416],[102.647933,32.652445],[102.647845,32.65248],[102.647775,32.652486],[102.647701,32.652483],[102.647597,32.652484],[102.647419,32.652475],[102.647089,32.652574],[102.646914,32.652627],[102.646825,32.652654],[102.646794,32.652663],[102.64667,32.6527],[102.646644,32.652708],[102.646582,32.652727],[102.646516,32.652746],[102.646166,32.652983],[102.645964,32.653355],[102.645981,32.653973],[102.646001,32.654009],[102.646156,32.654286],[102.646513,32.654353],[102.6469,32.654426],[102.64697,32.65444],[102.647065,32.654458],[102.647189,32.654423],[102.64723,32.654411],[102.647462,32.654346],[102.64771,32.654277],[102.647894,32.654314],[102.648138,32.654364],[102.64823,32.654383],[102.648968,32.654534],[102.649164,32.654574],[102.649299,32.654632],[102.6496,32.654759],[102.649797,32.654842],[102.649976,32.654918],[102.650023,32.654938],[102.650978,32.655188],[102.651474,32.655282],[102.651494,32.655286],[102.651658,32.655317],[102.651682,32.655348],[102.651747,32.655363],[102.651773,32.655371],[102.6518,32.655389],[102.651826,32.655408],[102.651846,32.655427],[102.651856,32.655457],[102.651856,32.655485],[102.651851,32.655516],[102.651844,32.655558],[102.651907,32.655641],[102.651904,32.655567],[102.651904,32.655534],[102.651905,32.655491],[102.651905,32.655441],[102.651906,32.655414],[102.65192,32.655396],[102.651932,32.65539],[102.651961,32.655391],[102.651995,32.655409],[102.652016,32.655442],[102.652023,32.655492],[102.652021,32.655556],[102.652012,32.655609],[102.651995,32.655655],[102.651953,32.6557],[102.652172,32.655985],[102.652298,32.65615],[102.652321,32.65618],[102.652334,32.65654],[102.652341,32.656723],[102.652348,32.656915],[102.652329,32.656947],[102.652178,32.657206],[102.652146,32.65726],[102.652137,32.657275],[102.652131,32.657286],[102.652065,32.657399],[102.652013,32.657488],[102.651958,32.657562],[102.651868,32.657683],[102.651863,32.65769],[102.651729,32.65787],[102.651744,32.657942],[102.651773,32.658083],[102.651782,32.658126],[102.65181,32.658258],[102.6524,32.658423],[102.652586,32.658402],[102.652703,32.658389],[102.652811,32.658376],[102.652912,32.658365],[102.653027,32.658352],[102.653084,32.658345],[102.653146,32.658386],[102.653175,32.658414],[102.653197,32.658435],[102.653212,32.658448],[102.653215,32.658451],[102.653297,32.658495],[102.653388,32.658525],[102.653463,32.658536],[102.653568,32.658526],[102.653635,32.658509],[102.653657,32.658504],[102.65366,32.658502],[102.65373,32.658464],[102.653794,32.658421],[102.653873,32.658375],[102.65393,32.658313],[102.653984,32.658258],[102.654065,32.658218],[102.654139,32.658164],[102.654178,32.658126],[102.654189,32.658071],[102.654177,32.65799],[102.654141,32.657929],[102.654096,32.657886],[102.654034,32.657839],[102.65394,32.657765],[102.65391,32.657751],[102.653927,32.657591],[102.65393,32.657563],[102.65393,32.657544],[102.653911,32.656557],[102.654116,32.656229],[102.654197,32.656099],[102.654241,32.656052],[102.654352,32.656076],[102.654515,32.656123],[102.654614,32.656204],[102.654696,32.656224],[102.654896,32.656387],[102.655026,32.656493],[102.655036,32.656501],[102.655075,32.656533],[102.655095,32.65655],[102.655278,32.656699],[102.655442,32.656856],[102.655451,32.656865],[102.655813,32.657212],[102.6562,32.657822],[102.656384,32.658111],[102.656969,32.658771],[102.657165,32.658991],[102.657242,32.659078],[102.657708,32.659398],[102.657777,32.659446],[102.658154,32.659607],[102.65828,32.65966],[102.658717,32.659846],[102.658804,32.659884],[102.658876,32.659914],[102.658885,32.659918],[102.659854,32.660197],[102.659891,32.660207],[102.660115,32.66016],[102.660221,32.660138],[102.660263,32.660129],[102.660331,32.660115],[102.660468,32.660086],[102.66048,32.660083],[102.661071,32.659959],[102.661588,32.659901],[102.661715,32.659887],[102.661766,32.659881],[102.661976,32.659953],[102.662145,32.66001],[102.662165,32.660017],[102.662194,32.660027],[102.662423,32.660104],[102.662432,32.660107],[102.662515,32.660135],[102.662537,32.660143],[102.662547,32.660146],[102.662612,32.660168],[102.663051,32.65968],[102.663113,32.659534],[102.663392,32.658874],[102.663745,32.658782],[102.663774,32.658798],[102.663842,32.65881],[102.663957,32.658847],[102.664166,32.658972],[102.664291,32.659076],[102.664352,32.659195],[102.664496,32.659481],[102.664431,32.659931],[102.664328,32.660206],[102.664308,32.660258],[102.664301,32.660276],[102.664145,32.660693],[102.663901,32.661238],[102.663909,32.661314],[102.66393,32.661365],[102.663946,32.661403],[102.663976,32.661466],[102.664012,32.661519],[102.664063,32.661558],[102.663935,32.661619],[102.663914,32.66163],[102.663873,32.661639],[102.663952,32.661856],[102.663999,32.661985],[102.664002,32.661992],[102.664054,32.662135],[102.66456,32.662507],[102.664645,32.662571],[102.664653,32.662576],[102.664682,32.662598],[102.664897,32.662666],[102.664908,32.66267],[102.664943,32.662681],[102.665581,32.662885],[102.666715,32.66319],[102.666766,32.663204],[102.6669,32.66324],[102.667305,32.663349],[102.667533,32.663334],[102.667752,32.663338],[102.668238,32.663295],[102.668465,32.663198],[102.669047,32.66295],[102.669561,32.662815],[102.669852,32.662739],[102.669939,32.662765],[102.669943,32.662767],[102.67017,32.662835],[102.670581,32.663429],[102.670713,32.663575],[102.670729,32.663593],[102.67085,32.663727],[102.670858,32.663736],[102.670925,32.663809],[102.670967,32.663856],[102.671203,32.664118],[102.671874,32.664987],[102.671966,32.665055],[102.671979,32.665064],[102.672161,32.665199],[102.672287,32.665292],[102.672368,32.665317],[102.672453,32.665356],[102.672506,32.665382],[102.672538,32.6654],[102.672603,32.665479],[102.672814,32.66554],[102.6732,32.665651],[102.673228,32.665659],[102.673251,32.665666],[102.673508,32.665739],[102.6739,32.665784],[102.674038,32.665799],[102.674246,32.665823],[102.674347,32.665834],[102.674354,32.665835],[102.674498,32.665851],[102.674558,32.665833],[102.674644,32.665833],[102.674713,32.665832],[102.674781,32.665836],[102.674833,32.665856],[102.674869,32.665893],[102.674897,32.665896],[102.674944,32.665901],[102.675118,32.665901],[102.675141,32.665901],[102.675492,32.6659],[102.675556,32.6659],[102.675723,32.6659],[102.675732,32.6659],[102.676871,32.665897],[102.677008,32.665897],[102.677131,32.665897],[102.677243,32.665925],[102.67728,32.665935],[102.677703,32.666043],[102.677937,32.666103],[102.677949,32.666105],[102.678058,32.666133],[102.678085,32.66614],[102.678324,32.666447],[102.678355,32.666486],[102.678393,32.666535],[102.67855,32.666735],[102.678713,32.667587],[102.678699,32.668128],[102.678911,32.668592],[102.67908,32.668782],[102.679253,32.668977],[102.679342,32.669005],[102.679356,32.66901],[102.679442,32.669037],[102.67976,32.669138],[102.679888,32.669178],[102.680427,32.669351],[102.680707,32.669653],[102.680831,32.669767],[102.68084,32.669776],[102.680857,32.669791],[102.680891,32.669823],[102.681199,32.670106],[102.681207,32.670113],[102.681219,32.670179],[102.681293,32.670263],[102.681376,32.670362],[102.681539,32.670496],[102.681564,32.670516],[102.681696,32.670622],[102.681834,32.670695],[102.681933,32.670728],[102.682008,32.670744],[102.682149,32.670761],[102.68225,32.670765],[102.682315,32.670764],[102.682328,32.670767],[102.682626,32.670848],[102.682674,32.670861],[102.683073,32.670969],[102.683415,32.671332],[102.683452,32.671372],[102.683467,32.671388],[102.68354,32.671465],[102.683542,32.67147],[102.683669,32.671799],[102.683682,32.671834],[102.683692,32.67186],[102.68374,32.671985],[102.68375,32.67201],[102.683765,32.672191],[102.683765,32.672199],[102.683798,32.672606],[102.684081,32.672828],[102.684462,32.672916],[102.685395,32.672717],[102.685713,32.672804],[102.685769,32.673103],[102.68576,32.673454],[102.685527,32.673541],[102.685475,32.673561],[102.685326,32.673616],[102.685276,32.673635],[102.685199,32.673653],[102.684761,32.673761],[102.684191,32.67371],[102.683994,32.673692],[102.683294,32.673679],[102.683125,32.673646],[102.682334,32.673489],[102.68224,32.67347],[102.682123,32.673486],[102.681534,32.673566],[102.681076,32.673936],[102.681001,32.674262],[102.681038,32.674407],[102.681082,32.674508],[102.681159,32.674621],[102.681323,32.674784],[102.681411,32.674893],[102.681482,32.674975],[102.681521,32.675014],[102.681649,32.6751],[102.681748,32.675149],[102.681835,32.675168],[102.681991,32.67516],[102.682117,32.675122],[102.682356,32.675177],[102.68256,32.675187],[102.683283,32.675222],[102.683561,32.675298],[102.683601,32.675309],[102.683689,32.675608],[102.683384,32.676676],[102.683215,32.676868],[102.683093,32.677005],[102.683032,32.677005],[102.682963,32.677006],[102.682918,32.677014],[102.682844,32.677026],[102.682743,32.677065],[102.682618,32.677107],[102.68247,32.677154],[102.682431,32.677204],[102.682416,32.677278],[102.682413,32.677294],[102.682385,32.677355],[102.682326,32.677409],[102.682321,32.677414],[102.68229,32.677449],[102.682279,32.677463],[102.682263,32.677557],[102.682238,32.677683],[102.682241,32.677779],[102.682246,32.677847],[102.681831,32.678132],[102.681757,32.678183],[102.681706,32.678218],[102.681667,32.678244],[102.681637,32.678265],[102.681366,32.678451],[102.680135,32.679134],[102.678383,32.679422],[102.676639,32.67939],[102.67635,32.67926],[102.676287,32.679232],[102.67544,32.678854],[102.674451,32.678964],[102.673309,32.679135],[102.672682,32.679893],[102.672656,32.679999],[102.672635,32.680083],[102.672356,32.681203],[102.67192,32.682958],[102.671496,32.684682],[102.671464,32.685901],[102.671802,32.687511],[102.672292,32.689059],[102.67323,32.690937],[102.673717,32.692614],[102.674282,32.694228],[102.674756,32.696418],[102.675227,32.698736],[102.675186,32.700339],[102.675395,32.701302],[102.675466,32.701628],[102.675476,32.70156],[102.676411,32.70271],[102.678,32.703419],[102.678915,32.703254],[102.680319,32.702827],[102.681951,32.701906],[102.682445,32.701482],[102.68316,32.700868],[102.683759,32.700354],[102.687705,32.696008],[102.68777,32.695936],[102.691877,32.691413],[102.693023,32.69015],[102.693482,32.690181],[102.693933,32.690212],[102.693941,32.690213],[102.695055,32.690323],[102.696438,32.690711],[102.698076,32.691602],[102.698802,32.692522],[102.698869,32.694109],[102.698738,32.695012],[102.698919,32.696329],[102.69933,32.697017],[102.699845,32.697841],[102.701003,32.698633],[102.70224,32.698831],[102.702284,32.698838],[102.703359,32.698676],[102.704211,32.698918],[102.705215,32.699435],[102.706591,32.70014],[102.707656,32.700386],[102.708339,32.700897],[102.709341,32.701549],[102.710017,32.702332],[102.710474,32.703337],[102.711045,32.704072],[102.710897,32.705149],[102.710358,32.706276],[102.709519,32.70857],[102.709183,32.710255],[102.709942,32.711094],[102.710765,32.713253],[102.711114,32.714868],[102.711905,32.716367],[102.712407,32.717695],[102.712902,32.719354],[102.713119,32.720389],[102.713414,32.722209],[102.713869,32.723495],[102.714009,32.725642],[102.71461,32.727312],[102.714921,32.728174],[102.715777,32.730953],[102.716123,32.732691],[102.716965,32.734109],[102.717708,32.735566],[102.717499,32.736098],[102.717228,32.737165],[102.716983,32.73914],[102.716626,32.743546],[102.716646,32.743862],[102.71673,32.745239],[102.717,32.748006],[102.717373,32.748714],[102.717787,32.749711],[102.718502,32.750343],[102.719018,32.751013],[102.719211,32.751263],[102.720301,32.75252],[102.720966,32.753233],[102.721534,32.753945],[102.72146,32.754933],[102.721475,32.756253],[102.721303,32.758239],[102.721268,32.758641],[102.721183,32.760042],[102.721403,32.760994],[102.721535,32.761574],[102.721528,32.761909],[102.721562,32.761901],[102.721722,32.761859],[102.722461,32.761665],[102.723295,32.761681],[102.725669,32.762026],[102.726982,32.761949],[102.728347,32.762125],[102.729958,32.762053],[102.731268,32.762077],[102.732346,32.761845],[102.733005,32.761706],[102.734195,32.761778],[102.736213,32.762066],[102.738288,32.762456],[102.739106,32.763074],[102.740571,32.764057],[102.74239,32.76516],[102.743606,32.766541],[102.745408,32.767744],[102.746884,32.768778],[102.746896,32.768786],[102.746903,32.768791],[102.746988,32.768817],[102.747007,32.768823],[102.747886,32.769096],[102.747987,32.769127],[102.74832,32.769231],[102.748441,32.769253],[102.748457,32.769256],[102.748725,32.769304],[102.74874,32.769307],[102.749675,32.769477],[102.749676,32.769478],[102.749698,32.769482],[102.751567,32.769817],[102.753668,32.76978],[102.755127,32.77041],[102.756347,32.77164],[102.756686,32.772363],[102.757023,32.7732],[102.757893,32.774121],[102.759334,32.775469],[102.760564,32.776321],[102.762059,32.777292],[102.762794,32.778286],[102.76358,32.779018],[102.764572,32.780432],[102.766972,32.782778],[102.768283,32.783934],[102.768603,32.789036],[102.768401,32.789977],[102.768283,32.791107],[102.767846,32.792496],[102.767758,32.794231],[102.7685,32.796736],[102.769432,32.798791],[102.77063,32.800927],[102.771281,32.801731],[102.772867,32.802665],[102.774801,32.803983],[102.777841,32.805774],[102.779207,32.806553],[102.779383,32.80667],[102.778828,32.807415],[102.778451,32.808201],[102.778086,32.810271],[102.778714,32.811981],[102.778952,32.813193],[102.778791,32.814285],[102.778842,32.815834],[102.778698,32.818021],[102.778082,32.819407],[102.77715,32.820938],[102.776819,32.82165],[102.776928,32.822671],[102.777201,32.824299],[102.777562,32.825929],[102.77749,32.827022],[102.777092,32.8281],[102.776963,32.828447],[102.776835,32.829659],[102.776788,32.830105],[102.776818,32.830249],[102.776906,32.830668],[102.777068,32.831432],[102.777469,32.833251],[102.777969,32.834732],[102.778723,32.836784],[102.778864,32.838297],[102.779019,32.839244],[102.778935,32.840828],[102.77866,32.844711],[102.778601,32.847051],[102.778394,32.84818],[102.77869,32.848865],[102.780298,32.850743],[102.780965,32.852718],[102.781341,32.853782],[102.78237,32.855536],[102.782782,32.856978],[102.782848,32.857923],[102.782824,32.858867],[102.782933,32.859888],[102.783364,32.862349],[102.78402,32.864739],[102.784091,32.865458],[102.784121,32.866063],[102.784325,32.866859],[102.785388,32.867293],[102.785395,32.867294],[102.785864,32.867321],[102.786326,32.867347],[102.786548,32.867429],[102.78658,32.867441],[102.786635,32.867461],[102.787301,32.867705],[102.787402,32.86777],[102.787411,32.867776],[102.787497,32.867831],[102.787511,32.86784],[102.787961,32.868131],[102.788486,32.868632],[102.789357,32.869591],[102.78952,32.869795],[102.789877,32.870242],[102.790525,32.871394],[102.790649,32.871614],[102.790717,32.872446],[102.791453,32.873441],[102.791954,32.874884],[102.791887,32.875789],[102.791732,32.876617],[102.792015,32.87783],[102.792195,32.879607],[102.792755,32.880486],[102.794064,32.88183],[102.794845,32.882788],[102.795721,32.883558],[102.795932,32.884053],[102.795936,32.884076],[102.796124,32.88534],[102.795807,32.887297],[102.795242,32.890232],[102.794852,32.891546],[102.794106,32.892741],[102.793577,32.894242],[102.793334,32.894993],[102.793136,32.895782],[102.792982,32.896572],[102.792529,32.897642],[102.792174,32.898483],[102.792136,32.898708],[102.792016,32.899424],[102.791897,32.90063],[102.791918,32.901574],[102.79194,32.902481],[102.792147,32.904164],[102.792201,32.904599],[102.792311,32.905583],[102.792598,32.906607],[102.79258,32.907362],[102.792562,32.908079],[102.792588,32.908293],[102.792589,32.908296],[102.792659,32.908868],[102.792674,32.908987],[102.792499,32.909857],[102.792469,32.910003],[102.792451,32.910076],[102.792448,32.91009],[102.79243,32.91016],[102.792427,32.910174],[102.792381,32.91036],[102.79235,32.910484],[102.792171,32.911206],[102.791795,32.91166],[102.791772,32.911688],[102.791637,32.911851],[102.79161,32.911953],[102.791593,32.911993],[102.791561,32.912038],[102.791531,32.912086],[102.791515,32.912118],[102.791503,32.91218],[102.791459,32.912257],[102.791388,32.912299],[102.791313,32.912243],[102.791248,32.912322],[102.791095,32.912434],[102.791086,32.91244],[102.790959,32.912533],[102.790291,32.913022],[102.79009,32.913887],[102.790084,32.91414],[102.790069,32.914745],[102.790066,32.914868],[102.790168,32.915826],[102.790175,32.915889],[102.790176,32.915935],[102.790184,32.916358],[102.790195,32.916856],[102.790195,32.916871],[102.790185,32.91692],[102.790161,32.917035],[102.790093,32.91736],[102.789727,32.917693],[102.789323,32.917724],[102.789246,32.917726],[102.789228,32.917726],[102.789098,32.91773],[102.78886,32.917735],[102.788656,32.91774],[102.788644,32.917719],[102.788542,32.91766],[102.788463,32.917656],[102.788329,32.917688],[102.788313,32.917692],[102.788186,32.917746],[102.788048,32.917806],[102.787935,32.917821],[102.787859,32.917819],[102.787644,32.917837],[102.787617,32.917841],[102.787394,32.917881],[102.787318,32.917956],[102.787287,32.918051],[102.78726,32.918079],[102.787174,32.918127],[102.786756,32.918358],[102.78661,32.918476],[102.786551,32.918524],[102.786525,32.918546],[102.786208,32.918801],[102.786149,32.918839],[102.786003,32.918932],[102.785914,32.918988],[102.785818,32.919049],[102.785616,32.919177],[102.785571,32.919205],[102.785332,32.919338],[102.784709,32.919681],[102.784388,32.919977],[102.78422,32.920068],[102.784185,32.920084],[102.78412,32.920115],[102.783675,32.920321],[102.783617,32.920393],[102.783543,32.920473],[102.783454,32.920564],[102.783366,32.92062],[102.783167,32.92094],[102.783114,32.921025],[102.783102,32.921043],[102.783091,32.921058],[102.782407,32.921923],[102.782113,32.922097],[102.781916,32.922214],[102.781909,32.922218],[102.781674,32.922357],[102.781286,32.922431],[102.781227,32.922443],[102.781198,32.922448],[102.781004,32.922486],[102.780877,32.92251],[102.780821,32.922521],[102.780707,32.922543],[102.779793,32.922567],[102.778451,32.92234],[102.777396,32.9222],[102.776782,32.921742],[102.776003,32.920942],[102.776038,32.920923],[102.776038,32.920889],[102.77599,32.920763],[102.775953,32.920716],[102.775837,32.920637],[102.775724,32.920578],[102.775685,32.920557],[102.775565,32.920533],[102.775406,32.92053],[102.775292,32.920549],[102.775272,32.920539],[102.775261,32.920538],[102.774659,32.920528],[102.774166,32.920519],[102.772761,32.9209],[102.772644,32.92093],[102.771647,32.921183],[102.770824,32.921393],[102.770498,32.921468],[102.769064,32.921799],[102.768917,32.921832],[102.768211,32.921995],[102.765263,32.922511],[102.763859,32.922868],[102.763759,32.922893],[102.763664,32.922917],[102.763326,32.923003],[102.76197,32.923076],[102.760483,32.923155],[102.759033,32.923413],[102.757962,32.923922],[102.75694,32.92439],[102.755851,32.925049],[102.755767,32.9251],[102.755343,32.92565],[102.755324,32.925675],[102.75512,32.92594],[102.755005,32.926005],[102.754486,32.926294],[102.754013,32.926339],[102.753762,32.926362],[102.752718,32.925775],[102.750897,32.92471],[102.750821,32.924666],[102.75014,32.924268],[102.749539,32.923916],[102.749067,32.92364],[102.749043,32.92362],[102.748981,32.923567],[102.748182,32.922896],[102.747441,32.92239],[102.747439,32.922335],[102.747439,32.922325],[102.747411,32.922251],[102.747367,32.922131],[102.747305,32.922024],[102.747181,32.921783],[102.747138,32.9217],[102.747119,32.921684],[102.746578,32.921241],[102.746567,32.921239],[102.746329,32.921189],[102.746121,32.921145],[102.746019,32.921124],[102.746005,32.921121],[102.745525,32.92102],[102.744962,32.921075],[102.744943,32.921059],[102.744916,32.92106],[102.744895,32.921081],[102.744411,32.921129],[102.744397,32.92113],[102.744126,32.921157],[102.743884,32.921212],[102.743816,32.921258],[102.74378,32.921278],[102.743748,32.92135],[102.743591,32.921428],[102.74334,32.921553],[102.743312,32.921719],[102.743304,32.921767],[102.74328,32.921913],[102.743256,32.922054],[102.743253,32.922069],[102.743209,32.92233],[102.743185,32.922477],[102.743265,32.922461],[102.743288,32.922482],[102.743284,32.92251],[102.743266,32.922591],[102.743221,32.922724],[102.743198,32.922799],[102.743198,32.922843],[102.743208,32.92291],[102.74322,32.922971],[102.743238,32.923032],[102.743254,32.923076],[102.743306,32.923128],[102.743392,32.923538],[102.74332,32.923671],[102.743241,32.923819],[102.742972,32.923786],[102.742914,32.923778],[102.742902,32.923777],[102.742859,32.923772],[102.742664,32.923748],[102.742473,32.923724],[102.742381,32.923703],[102.74136,32.923474],[102.741241,32.923447],[102.74112,32.923392],[102.740974,32.92334],[102.740795,32.923289],[102.740621,32.923268],[102.74047,32.923257],[102.740368,32.923194],[102.740282,32.92314],[102.740175,32.923074],[102.740037,32.922988],[102.739923,32.922917],[102.739811,32.922848],[102.739661,32.922755],[102.739501,32.92266],[102.739349,32.922569],[102.73921,32.922475],[102.739069,32.922388],[102.738913,32.922291],[102.738759,32.922196],[102.738677,32.922141],[102.738578,32.922075],[102.738424,32.921973],[102.738326,32.921907],[102.73822,32.921837],[102.738081,32.921744],[102.737933,32.921646],[102.737763,32.921532],[102.737582,32.921412],[102.737408,32.921296],[102.737241,32.921184],[102.737116,32.921101],[102.736945,32.920987],[102.736807,32.920895],[102.73663,32.920778],[102.736439,32.920621],[102.736177,32.920407],[102.735922,32.920198],[102.735707,32.920021],[102.735575,32.919913],[102.735408,32.919777],[102.735104,32.919528],[102.734929,32.919384],[102.734786,32.919267],[102.734604,32.919118],[102.734407,32.918941],[102.734196,32.918751],[102.733962,32.918514],[102.733821,32.918381],[102.733813,32.918373],[102.733601,32.918174],[102.733385,32.91797],[102.733241,32.917835],[102.733084,32.91758],[102.732956,32.917371],[102.732834,32.917172],[102.732409,32.916481],[102.732131,32.916324],[102.731291,32.915851],[102.7311,32.915744],[102.730844,32.9156],[102.730825,32.915564],[102.730774,32.915564],[102.730742,32.915484],[102.73071,32.915442],[102.730692,32.915396],[102.730666,32.915328],[102.730646,32.915269],[102.730611,32.915197],[102.730604,32.915148],[102.730431,32.914821],[102.73045,32.914098],[102.730451,32.914056],[102.730457,32.913807],[102.730416,32.913718],[102.730393,32.913668],[102.730318,32.913505],[102.730317,32.913503],[102.730268,32.913397],[102.730192,32.913232],[102.72991,32.912621],[102.729624,32.912485],[102.729546,32.912448],[102.729416,32.912485],[102.729271,32.91247],[102.729104,32.912447],[102.729003,32.912416],[102.728956,32.912386],[102.728923,32.912373],[102.728853,32.912364],[102.728723,32.912359],[102.728318,32.91239],[102.728273,32.91241],[102.728178,32.912451],[102.728131,32.912471],[102.728089,32.912489],[102.727891,32.912583],[102.72786,32.9126],[102.7278,32.912634],[102.727718,32.912715],[102.727617,32.912821],[102.727519,32.912918],[102.727385,32.913042],[102.727329,32.913152],[102.727323,32.913157],[102.727005,32.913339],[102.726769,32.913295],[102.726683,32.913328],[102.726672,32.913328],[102.726669,32.913316],[102.726707,32.913283],[102.726503,32.913245],[102.726484,32.913241],[102.726459,32.913236],[102.726388,32.913223],[102.726047,32.913159],[102.724997,32.912622],[102.72498,32.912613],[102.724963,32.912605],[102.724813,32.912528],[102.724754,32.912513],[102.724466,32.912438],[102.724455,32.912436],[102.724443,32.912432],[102.724086,32.91234],[102.724068,32.912336],[102.72387,32.912284],[102.723754,32.912254],[102.723202,32.912112],[102.72308,32.91208],[102.722942,32.912045],[102.722804,32.912009],[102.722614,32.91196],[102.722608,32.911961],[102.722541,32.911974],[102.722528,32.911977],[102.722522,32.911978],[102.722416,32.911998],[102.721067,32.912257],[102.720696,32.91246],[102.720509,32.912563],[102.719994,32.912846],[102.71978,32.912873],[102.718304,32.913058],[102.71758,32.913167],[102.71658,32.912743],[102.716465,32.91247],[102.71643,32.912388],[102.716229,32.911912],[102.716218,32.911884],[102.716183,32.911854],[102.716182,32.911853],[102.715599,32.911339],[102.715582,32.911339],[102.715443,32.911336],[102.715372,32.911327],[102.715321,32.911309],[102.715254,32.911274],[102.715182,32.911236],[102.715117,32.911207],[102.715039,32.911186],[102.714956,32.911162],[102.71487,32.911103],[102.714747,32.911086],[102.714365,32.911054],[102.714299,32.911049],[102.714274,32.911047],[102.714123,32.911034],[102.713932,32.910911],[102.713413,32.910575],[102.712907,32.910053],[102.712776,32.909808],[102.712665,32.909666],[102.712609,32.909589],[102.712418,32.909461],[102.712252,32.909414],[102.712227,32.909408],[102.712116,32.909376],[102.711933,32.909306],[102.711733,32.909211],[102.711516,32.909092],[102.711279,32.908959],[102.71108,32.908821],[102.710956,32.908706],[102.710802,32.908622],[102.710755,32.908581],[102.710722,32.908578],[102.710292,32.908524],[102.709571,32.908435],[102.7087,32.908622],[102.708361,32.908658],[102.708216,32.908674],[102.708159,32.90868],[102.708094,32.908687],[102.707735,32.908726],[102.707646,32.908707],[102.707575,32.908692],[102.706683,32.908504],[102.706412,32.908304],[102.706367,32.908272],[102.706339,32.908251],[102.705893,32.907924],[102.705886,32.907918],[102.705833,32.907879],[102.705574,32.907808],[102.705442,32.907771],[102.70505,32.907662],[102.704856,32.907609],[102.704734,32.907575],[102.704478,32.907608],[102.704457,32.90761],[102.703898,32.907681],[102.703674,32.90771],[102.703656,32.907712],[102.703616,32.907717],[102.702512,32.907857],[102.702224,32.907894],[102.702106,32.907929],[102.702094,32.907932],[102.701927,32.907981],[102.700916,32.908276],[102.700469,32.908352],[102.700258,32.908388],[102.700235,32.908392],[102.698983,32.908605],[102.698446,32.908772],[102.698352,32.908801],[102.69829,32.90882],[102.697734,32.908993],[102.697625,32.909027],[102.697544,32.909051],[102.697536,32.909054],[102.697161,32.909169],[102.696122,32.909486],[102.69524,32.909546],[102.695183,32.90955],[102.694242,32.909614],[102.692375,32.909255],[102.691648,32.909009],[102.691632,32.909004],[102.691541,32.908973],[102.691524,32.908967],[102.691508,32.908962],[102.691436,32.908938],[102.691092,32.908822],[102.690849,32.908739],[102.690785,32.908684],[102.690442,32.908393],[102.690057,32.908066],[102.690044,32.908054],[102.689756,32.907809],[102.689737,32.907793],[102.689666,32.907732],[102.689484,32.907578],[102.688524,32.906942],[102.688397,32.906859],[102.688349,32.906826],[102.687006,32.90668],[102.686953,32.906701],[102.686929,32.90671],[102.686633,32.906829],[102.686622,32.906833],[102.68652,32.906874],[102.686487,32.906872],[102.685877,32.906839],[102.68578,32.906834],[102.685487,32.906818],[102.685367,32.906812],[102.685174,32.906788],[102.685024,32.90677],[102.684669,32.906727],[102.684588,32.906717],[102.684176,32.906668],[102.684065,32.906654],[102.683806,32.906623],[102.683784,32.90662],[102.683315,32.906611],[102.683042,32.906606],[102.682871,32.906603],[102.682832,32.906601],[102.682784,32.906598],[102.682777,32.906597],[102.682606,32.906587],[102.682449,32.906578],[102.68191,32.906545],[102.681343,32.906169],[102.681218,32.905396],[102.681288,32.905277],[102.681325,32.905214],[102.681571,32.904794],[102.682643,32.904259],[102.682647,32.904257],[102.68277,32.904196],[102.682796,32.904149],[102.682817,32.904128],[102.68285,32.904113],[102.682898,32.904094],[102.682939,32.904074],[102.682995,32.904034],[102.683052,32.903728],[102.683054,32.903717],[102.683152,32.9032],[102.682116,32.902328],[102.681595,32.90209],[102.681351,32.901978],[102.681107,32.901866],[102.681053,32.901841],[102.680548,32.901609],[102.68039,32.9014],[102.680397,32.90136],[102.680399,32.901325],[102.680397,32.901294],[102.680387,32.901265],[102.680348,32.901209],[102.680333,32.90119],[102.680306,32.901158],[102.680419,32.900913],[102.680429,32.90089],[102.680458,32.900829],[102.680677,32.900354],[102.680776,32.900262],[102.68106,32.9],[102.681367,32.899717],[102.68195,32.899485],[102.682538,32.899364],[102.682578,32.899356],[102.682595,32.899352],[102.682675,32.899336],[102.682987,32.89914],[102.683013,32.899108],[102.683031,32.899093],[102.683051,32.899082],[102.683071,32.899073],[102.683115,32.89906],[102.683116,32.899033],[102.683117,32.898998],[102.683121,32.898865],[102.683124,32.898712],[102.683163,32.898703],[102.683259,32.898671],[102.683286,32.898632],[102.683301,32.89855],[102.683301,32.898442],[102.683302,32.898416],[102.683266,32.898424],[102.683253,32.898474],[102.683219,32.89852],[102.683182,32.898554],[102.683128,32.898592],[102.683137,32.898249],[102.682616,32.89779],[102.682605,32.89778],[102.682525,32.89771],[102.682409,32.89764],[102.682273,32.897558],[102.682161,32.89749],[102.682138,32.897476],[102.681483,32.897082],[102.68052,32.896233],[102.680475,32.896192],[102.680198,32.895948],[102.680026,32.895797],[102.67982,32.895665],[102.679814,32.895643],[102.679779,32.895555],[102.679745,32.895517],[102.679629,32.895423],[102.679411,32.895317],[102.67922,32.895247],[102.679132,32.895223],[102.678985,32.895128],[102.677992,32.89485],[102.677744,32.89478],[102.677699,32.894764],[102.67769,32.89476],[102.6766,32.894353],[102.675437,32.893248],[102.67542,32.893233],[102.67538,32.893194],[102.675214,32.893161],[102.675156,32.89315],[102.675121,32.893143],[102.674934,32.893105],[102.674932,32.893105],[102.67471,32.89306],[102.674546,32.89318],[102.674391,32.893184],[102.674259,32.893207],[102.674224,32.89325],[102.674244,32.893347],[102.674267,32.893385],[102.674171,32.893456],[102.67406,32.893538],[102.673934,32.893631],[102.673905,32.893652],[102.673732,32.89378],[102.673727,32.893784],[102.673582,32.893891],[102.673208,32.894028],[102.672699,32.894213],[102.672417,32.894316],[102.672181,32.894434],[102.671994,32.894497],[102.67193,32.894503],[102.671904,32.894503],[102.671862,32.894594],[102.671247,32.894903],[102.670716,32.895224],[102.670569,32.895312],[102.67052,32.895342],[102.670465,32.895375],[102.669704,32.895513],[102.66962,32.895528],[102.66958,32.895536],[102.66945,32.895559],[102.669277,32.895625],[102.669132,32.89568],[102.669116,32.895686],[102.668799,32.895807],[102.668775,32.895816],[102.668715,32.895839],[102.668332,32.895985],[102.666727,32.896685],[102.665941,32.897279],[102.665743,32.897268],[102.665707,32.897265],[102.665347,32.897244],[102.665116,32.897231],[102.664991,32.897223],[102.664967,32.897222],[102.664933,32.89722],[102.664223,32.89676],[102.663669,32.895898],[102.663396,32.895284],[102.663359,32.895057],[102.663371,32.89486],[102.66337,32.89451],[102.663323,32.89421],[102.663343,32.893988],[102.663309,32.893941],[102.663284,32.893795],[102.663283,32.89368],[102.663286,32.893564],[102.663282,32.893498],[102.663254,32.893365],[102.663256,32.893314],[102.663256,32.893293],[102.663252,32.89328],[102.662943,32.892394],[102.662522,32.89194],[102.662236,32.891849],[102.661711,32.891681],[102.661289,32.891693],[102.660845,32.891706],[102.660163,32.892018],[102.659453,32.892706],[102.659423,32.892734],[102.658214,32.892995],[102.658175,32.893014],[102.657727,32.89323],[102.657708,32.893378],[102.657666,32.893716],[102.657717,32.893906],[102.65772,32.893918],[102.657903,32.8946],[102.65794,32.894737],[102.657951,32.894777],[102.65794,32.894795],[102.657916,32.894839],[102.657896,32.894884],[102.657877,32.894944],[102.657853,32.895028],[102.657844,32.895084],[102.657837,32.895136],[102.657831,32.895167],[102.657807,32.895215],[102.657779,32.895304],[102.657769,32.895364],[102.657763,32.89542],[102.657763,32.89547],[102.657774,32.895521],[102.657781,32.895561],[102.657788,32.895596],[102.657788,32.895639],[102.657799,32.895756],[102.657791,32.89579],[102.657775,32.895842],[102.65776,32.895902],[102.657748,32.895951],[102.657742,32.896022],[102.657734,32.896075],[102.657719,32.896123],[102.657707,32.89615],[102.65768,32.896189],[102.657647,32.896223],[102.657595,32.896269],[102.657554,32.89631],[102.657512,32.896339],[102.657405,32.896396],[102.657375,32.896389],[102.657355,32.896381],[102.657345,32.896369],[102.657314,32.896348],[102.657283,32.896342],[102.657312,32.896324],[102.657266,32.89632],[102.65702,32.896301],[102.656172,32.895635],[102.655809,32.894817],[102.655688,32.894715],[102.655666,32.894697],[102.655436,32.894503],[102.655407,32.894417],[102.655358,32.894329],[102.655286,32.894246],[102.655241,32.89421],[102.655207,32.894169],[102.655163,32.894122],[102.655118,32.894094],[102.655054,32.894067],[102.654965,32.894054],[102.654896,32.894049],[102.654798,32.893966],[102.654774,32.893945],[102.654404,32.893727],[102.653779,32.893359],[102.65373,32.893353],[102.652916,32.893261],[102.651553,32.893885],[102.651363,32.894026],[102.650313,32.894808],[102.650277,32.894835],[102.649741,32.895177],[102.649687,32.895212],[102.649682,32.895287],[102.649552,32.895349],[102.649337,32.895435],[102.649227,32.895473],[102.649158,32.895495],[102.64909,32.895525],[102.649038,32.895568],[102.648795,32.895776],[102.648588,32.895963],[102.648418,32.896141],[102.64829,32.896338],[102.648212,32.89648],[102.648187,32.896508],[102.648151,32.89655],[102.647916,32.896819],[102.647879,32.896904],[102.647714,32.897294],[102.647717,32.897316],[102.647728,32.897394],[102.647752,32.897419],[102.647788,32.897445],[102.647823,32.897475],[102.647846,32.897512],[102.64786,32.897547],[102.64793,32.897624],[102.647969,32.897665],[102.648051,32.897713],[102.648333,32.897805],[102.648415,32.897833],[102.648421,32.897844],[102.648468,32.897922],[102.648575,32.8981],[102.648604,32.89815],[102.64862,32.898176],[102.648662,32.898199],[102.64869,32.898216],[102.648715,32.89824],[102.648726,32.898265],[102.648722,32.898283],[102.648697,32.898305],[102.648705,32.898318],[102.64874,32.898377],[102.648741,32.898383],[102.648955,32.899355],[102.64878,32.900186],[102.648746,32.900349],[102.648734,32.900406],[102.648717,32.900438],[102.648685,32.900502],[102.648589,32.900687],[102.64858,32.900704],[102.648493,32.900872],[102.648278,32.90129],[102.647988,32.90164],[102.647956,32.901679],[102.647949,32.901687],[102.647921,32.901721],[102.647781,32.901889],[102.64764,32.901948],[102.647604,32.901963],[102.64676,32.902316],[102.64648,32.90233],[102.646439,32.902333],[102.646228,32.902343],[102.645604,32.902375],[102.644939,32.902038],[102.644289,32.901174],[102.644176,32.901064],[102.644163,32.901051],[102.644144,32.901032],[102.644057,32.900946],[102.643867,32.90076],[102.643849,32.900753],[102.643616,32.900664],[102.643604,32.900659],[102.643417,32.900587],[102.6432,32.900504],[102.642113,32.900808],[102.642078,32.900818],[102.642057,32.900824],[102.641843,32.900884],[102.641649,32.901007],[102.64163,32.901019],[102.641605,32.901035],[102.640913,32.901475],[102.63978,32.902389],[102.639772,32.902395],[102.639571,32.902558],[102.639537,32.902585],[102.639399,32.90291],[102.639282,32.902909],[102.639166,32.903117],[102.639114,32.903378],[102.638917,32.903767],[102.638813,32.904022],[102.638725,32.904683],[102.638729,32.904799],[102.63872,32.904826],[102.638717,32.904836],[102.638653,32.905044],[102.638736,32.90575],[102.638736,32.905752],[102.638742,32.905803],[102.638776,32.906093],[102.63881,32.906386],[102.638846,32.906641],[102.638847,32.906642],[102.638848,32.906654],[102.638899,32.907013],[102.638906,32.907058],[102.638977,32.90756],[102.638979,32.90757],[102.638991,32.907659],[102.638974,32.907675],[102.638949,32.907703],[102.638926,32.907731],[102.638899,32.907758],[102.638875,32.907784],[102.638857,32.907807],[102.638858,32.907849],[102.638854,32.907902],[102.638816,32.907979],[102.638808,32.908094],[102.638818,32.908252],[102.63883,32.908446],[102.638775,32.908519],[102.638719,32.908595],[102.638712,32.908603],[102.638689,32.908634],[102.638553,32.908816],[102.637774,32.908863],[102.63776,32.908864],[102.637544,32.908877],[102.637562,32.90884],[102.637562,32.908815],[102.637542,32.908784],[102.637512,32.908781],[102.637467,32.908792],[102.637379,32.908827],[102.6372,32.908772],[102.637197,32.90877],[102.637189,32.908768],[102.636573,32.908576],[102.636569,32.908575],[102.636298,32.908491],[102.636157,32.908447],[102.636056,32.908415],[102.636014,32.908402],[102.635631,32.908196],[102.635759,32.908208],[102.635831,32.908216],[102.635777,32.908162],[102.635734,32.908135],[102.635648,32.908099],[102.635548,32.908071],[102.635437,32.90806],[102.635295,32.908014],[102.635186,32.907955],[102.634924,32.907813],[102.634893,32.907818],[102.6348,32.907831],[102.634803,32.907842],[102.634825,32.907857],[102.634845,32.907863],[102.634881,32.90788],[102.634866,32.90789],[102.63481,32.907899],[102.634773,32.907902],[102.634725,32.907908],[102.634669,32.907916],[102.634622,32.90792],[102.634578,32.90792],[102.63451,32.907935],[102.63444,32.907938],[102.634425,32.907924],[102.634408,32.907894],[102.634405,32.907885],[102.634259,32.907906],[102.634151,32.907921],[102.634106,32.907965],[102.633982,32.908013],[102.63376,32.908214],[102.633673,32.90837],[102.633669,32.908378],[102.633706,32.908358],[102.633697,32.908384],[102.633672,32.908455],[102.633446,32.909084],[102.633448,32.909315],[102.633451,32.909577],[102.633459,32.910423],[102.633158,32.911157],[102.633161,32.911223],[102.633099,32.911405],[102.633064,32.911482],[102.63295,32.911488],[102.632554,32.911727],[102.632352,32.911849],[102.632265,32.911902],[102.632122,32.911942],[102.632098,32.911948],[102.631709,32.912057],[102.631528,32.912107],[102.631066,32.912236],[102.63096,32.912265],[102.63089,32.912285],[102.63074,32.912327],[102.630646,32.912353],[102.630222,32.912471],[102.630083,32.91251],[102.629619,32.912738],[102.629352,32.912869],[102.629346,32.912872],[102.629248,32.912921],[102.628729,32.913174],[102.628468,32.913304],[102.628357,32.913358],[102.628346,32.913364],[102.627938,32.913564],[102.627826,32.913638],[102.627857,32.913679],[102.627804,32.913724],[102.627757,32.913764],[102.627717,32.913797],[102.627673,32.913766],[102.627622,32.913737],[102.627566,32.913712],[102.627486,32.913682],[102.627372,32.913652],[102.627293,32.913637],[102.627293,32.913665],[102.627294,32.913681],[102.627296,32.913693],[102.627301,32.913705],[102.627311,32.913725],[102.627312,32.913727],[102.627329,32.913749],[102.627343,32.913764],[102.627359,32.913775],[102.627386,32.913787],[102.627403,32.913797],[102.627407,32.913805],[102.627407,32.913819],[102.627408,32.913845],[102.627409,32.913899],[102.627406,32.913915],[102.62732,32.913971],[102.6273,32.913985],[102.627293,32.913989],[102.627188,32.913927],[102.627174,32.913921],[102.627014,32.914039],[102.626826,32.914228],[102.62657,32.914466],[102.626464,32.914602],[102.626331,32.914751],[102.626316,32.914762],[102.626231,32.91482],[102.62621,32.914864],[102.626131,32.914873],[102.625475,32.915709],[102.625147,32.916259],[102.625056,32.91641],[102.625006,32.916494],[102.624972,32.916551],[102.624471,32.917272],[102.624304,32.91738],[102.623325,32.91801],[102.622727,32.918396],[102.622575,32.918494],[102.622537,32.918518],[102.622456,32.91857],[102.622344,32.918642],[102.622268,32.918691],[102.622264,32.91871],[102.622252,32.918768],[102.622121,32.919364],[102.622022,32.919816],[102.62206,32.91986],[102.622119,32.919923],[102.622167,32.919965],[102.622164,32.92019],[102.622187,32.920224],[102.622252,32.920318],[102.622343,32.92045],[102.622378,32.920501],[102.622472,32.920638],[102.622504,32.920684],[102.622518,32.920701],[102.622552,32.92074],[102.6226,32.920797],[102.622695,32.920909],[102.622876,32.921123],[102.623484,32.921839],[102.62413,32.922457],[102.62423,32.922553],[102.62438,32.922696],[102.624385,32.922701],[102.624406,32.922721],[102.624427,32.922741],[102.62437,32.922788],[102.624522,32.922893],[102.624547,32.922905],[102.624716,32.923072],[102.62479,32.923129],[102.624853,32.923176],[102.624911,32.923211],[102.625064,32.923265],[102.625123,32.923279],[102.625135,32.923302],[102.625125,32.923322],[102.625088,32.923338],[102.625042,32.923351],[102.624992,32.923371],[102.624956,32.923393],[102.624953,32.923416],[102.624965,32.923437],[102.624994,32.923441],[102.625048,32.923421],[102.625101,32.923415],[102.625141,32.923431],[102.625196,32.923452],[102.625238,32.923459],[102.625316,32.923467],[102.625361,32.923485],[102.625368,32.923522],[102.625375,32.923548],[102.625424,32.923582],[102.625475,32.923596],[102.62553,32.923609],[102.625586,32.923629],[102.625633,32.923653],[102.625661,32.923676],[102.625703,32.92369],[102.625732,32.923722],[102.625746,32.923751],[102.625774,32.923775],[102.625802,32.923772],[102.625821,32.923754],[102.625858,32.923709],[102.625869,32.923702],[102.626133,32.923866],[102.626219,32.92392],[102.626306,32.923997],[102.626462,32.924135],[102.626609,32.924265],[102.626683,32.92433],[102.626866,32.924491],[102.627123,32.924718],[102.627159,32.92475],[102.627204,32.924827],[102.62724,32.924891],[102.62737,32.925116],[102.627443,32.925242],[102.627509,32.925355],[102.627544,32.925416],[102.627565,32.925452],[102.627717,32.925716],[102.627822,32.925898],[102.627826,32.925905],[102.627842,32.925932],[102.627941,32.926104],[102.627952,32.926149],[102.628035,32.926495],[102.628072,32.926649],[102.62809,32.926724],[102.628244,32.927368],[102.627833,32.928334],[102.627594,32.928481],[102.626806,32.928964],[102.626676,32.929114],[102.626655,32.929138],[102.626642,32.929153],[102.626012,32.929882],[102.625868,32.930111],[102.625668,32.93043],[102.625621,32.930505],[102.625606,32.930529],[102.625524,32.93066],[102.625345,32.930946],[102.625332,32.930966],[102.625177,32.931215],[102.625169,32.931228],[102.625197,32.931232],[102.625206,32.931252],[102.625206,32.931274],[102.625195,32.931307],[102.625181,32.931332],[102.625159,32.931349],[102.625083,32.931365],[102.625046,32.931365],[102.625017,32.931375],[102.624994,32.931421],[102.624988,32.931461],[102.62497,32.931512],[102.624945,32.931545],[102.624893,32.931572],[102.624853,32.931583],[102.624823,32.931597],[102.624812,32.931628],[102.62483,32.931679],[102.624694,32.931801],[102.624417,32.932049],[102.624352,32.932108],[102.62434,32.932118],[102.624322,32.932275],[102.624296,32.932367],[102.624268,32.932451],[102.62425,32.932496],[102.624212,32.932505],[102.624131,32.932516],[102.624021,32.932543],[102.623915,32.932574],[102.623863,32.932619],[102.623785,32.932719],[102.623691,32.932796],[102.623547,32.932913],[102.62347,32.932992],[102.623394,32.933046],[102.623314,32.933071],[102.623205,32.933127],[102.623085,32.933154],[102.623006,32.933178],[102.622959,32.933214],[102.622869,32.933262],[102.622749,32.933313],[102.622607,32.933378],[102.622452,32.933447],[102.622308,32.933513],[102.622146,32.933591],[102.621992,32.933632],[102.621881,32.933675],[102.621854,32.933686],[102.621769,32.93371],[102.621693,32.933708],[102.621696,32.93369],[102.621698,32.93368],[102.621699,32.933675],[102.621682,32.933559],[102.621677,32.933527],[102.621431,32.933512],[102.620815,32.933476],[102.620127,32.933377],[102.620041,32.933364],[102.619924,32.933347],[102.619521,32.933289],[102.618546,32.933207],[102.618538,32.933206],[102.618315,32.933188],[102.618273,32.933184],[102.617902,32.933142],[102.617769,32.933127],[102.617755,32.933125],[102.617518,32.933099],[102.616977,32.933038],[102.616086,32.933994],[102.616112,32.934807],[102.616183,32.934882],[102.616202,32.934903],[102.617001,32.935757],[102.617902,32.936261],[102.617919,32.936263],[102.618905,32.936357],[102.618958,32.936362],[102.620007,32.936327],[102.620401,32.936314],[102.620468,32.936312],[102.620499,32.936311],[102.621837,32.936446],[102.621987,32.936461],[102.62226,32.936489],[102.622375,32.936501],[102.622872,32.936552],[102.623307,32.936597],[102.623426,32.93661],[102.624729,32.936978],[102.624752,32.937074],[102.624805,32.937105],[102.624854,32.937123],[102.624961,32.937152],[102.62506,32.937158],[102.625103,32.937156],[102.625218,32.937134],[102.626004,32.937389],[102.626862,32.937789],[102.627002,32.937855],[102.627068,32.937934],[102.627091,32.937961],[102.62737,32.938296],[102.627485,32.938434],[102.627572,32.938538],[102.627586,32.938556],[102.627655,32.938638],[102.627788,32.939417],[102.627797,32.939471],[102.627815,32.93958],[102.627841,32.939733],[102.627846,32.939758],[102.627863,32.93986],[102.627857,32.940081],[102.627855,32.940176],[102.627853,32.940184],[102.627841,32.940702],[102.627836,32.940881],[102.627817,32.940889],[102.627786,32.940914],[102.627766,32.94096],[102.627755,32.941008],[102.627748,32.941041],[102.627744,32.94106],[102.627707,32.941113],[102.627706,32.941115],[102.627734,32.941265],[102.627746,32.941325],[102.627763,32.941406],[102.627778,32.941492],[102.627815,32.941644],[102.627811,32.942347],[102.62781,32.942438],[102.62781,32.942466],[102.627809,32.94268],[102.627808,32.94282],[102.627807,32.942856],[102.627806,32.943155],[102.627805,32.943247],[102.6278,32.94398],[102.6278,32.944038],[102.627799,32.944073],[102.627788,32.944485],[102.627781,32.944728],[102.627538,32.944807],[102.627475,32.944827],[102.626956,32.944996],[102.626771,32.944999],[102.626715,32.944999],[102.626547,32.945002],[102.625877,32.945011],[102.625829,32.945011],[102.625704,32.945013],[102.625517,32.945004],[102.625312,32.944994],[102.6252,32.944988],[102.625021,32.944979],[102.624962,32.944976],[102.624921,32.944974],[102.624897,32.944973],[102.624358,32.944947],[102.622627,32.944914],[102.622554,32.944902],[102.62253,32.944946],[102.622461,32.944995],[102.622399,32.94504],[102.622282,32.945131],[102.622188,32.945178],[102.622184,32.94527],[102.6222,32.945615],[102.622203,32.945672],[102.622215,32.94592],[102.622588,32.94636],[102.62325,32.946751],[102.623569,32.946939],[102.623832,32.947094],[102.623865,32.947114],[102.623915,32.947143],[102.62395,32.94717],[102.623969,32.947185],[102.623829,32.94723],[102.623752,32.947253],[102.623661,32.947282],[102.623575,32.947311],[102.623541,32.947333],[102.623654,32.947338],[102.623772,32.947322],[102.6239,32.947298],[102.62409,32.947278],[102.624337,32.947469],[102.624519,32.94761],[102.624661,32.947719],[102.624921,32.94792],[102.625221,32.948308],[102.625351,32.948476],[102.625371,32.948488],[102.625474,32.948537],[102.625545,32.948604],[102.625673,32.948727],[102.625736,32.948794],[102.625731,32.948804],[102.625684,32.948907],[102.625727,32.948963],[102.625803,32.949061],[102.625835,32.949102],[102.625849,32.949119],[102.625857,32.949129],[102.625912,32.949199],[102.62597,32.949274],[102.626241,32.949485],[102.626523,32.949756],[102.626617,32.949834],[102.626711,32.949872],[102.626858,32.949902],[102.627028,32.949901],[102.627195,32.949893],[102.627333,32.949871],[102.627511,32.949803],[102.627607,32.949758],[102.627695,32.949759],[102.627807,32.949785],[102.62867,32.94929],[102.628679,32.949286],[102.628679,32.949261],[102.628718,32.949208],[102.628805,32.949141],[102.628909,32.949071],[102.629036,32.948996],[102.629121,32.948941],[102.62918,32.948888],[102.629242,32.94884],[102.629287,32.948833],[102.62931,32.948845],[102.629284,32.948885],[102.629237,32.948921],[102.629183,32.948969],[102.62915,32.949005],[102.629132,32.94902],[102.629128,32.94903],[102.629128,32.949052],[102.629128,32.949072],[102.629124,32.949091],[102.629149,32.949084],[102.629275,32.949029],[102.629284,32.949026],[102.629305,32.949017],[102.629514,32.948927],[102.62965,32.948949],[102.629671,32.948952],[102.629708,32.948958],[102.629789,32.94897],[102.629896,32.948988],[102.630073,32.949016],[102.630223,32.94904],[102.630559,32.949094],[102.630664,32.949111],[102.630717,32.949168],[102.630797,32.949254],[102.630945,32.949414],[102.631026,32.949501],[102.631147,32.949632],[102.631226,32.949717],[102.631239,32.949864],[102.631253,32.950011],[102.631261,32.950096],[102.631268,32.950179],[102.631281,32.950321],[102.631289,32.950407],[102.631292,32.950435],[102.631305,32.95058],[102.631325,32.950801],[102.631212,32.950989],[102.631193,32.951022],[102.630586,32.952031],[102.630581,32.952036],[102.630072,32.952476],[102.630043,32.952501],[102.630014,32.952525],[102.629867,32.952653],[102.629667,32.952825],[102.629362,32.95283],[102.628126,32.95285],[102.626533,32.952441],[102.626411,32.952439],[102.626055,32.952432],[102.62601,32.952431],[102.626001,32.952431],[102.625966,32.95243],[102.625819,32.952428],[102.625092,32.952414],[102.625048,32.952413],[102.624993,32.952412],[102.624898,32.952443],[102.624784,32.952481],[102.624718,32.952503],[102.624634,32.95253],[102.624575,32.952549],[102.624521,32.952567],[102.624407,32.952583],[102.624102,32.95268],[102.623952,32.952768],[102.623828,32.952861],[102.62369,32.953007],[102.623227,32.953304],[102.623137,32.953362],[102.62291,32.953509],[102.622672,32.953755],[102.621524,32.954943],[102.620567,32.955685],[102.61982,32.956263],[102.617603,32.957574],[102.61714,32.957866],[102.616773,32.957989],[102.616813,32.958071],[102.616683,32.958155],[102.616657,32.958171],[102.616466,32.958292],[102.61641,32.958327],[102.616157,32.958487],[102.615969,32.958606],[102.615775,32.958729],[102.615237,32.959638],[102.615113,32.960767],[102.61506,32.961253],[102.615041,32.961423],[102.615039,32.961439],[102.615024,32.961581],[102.615001,32.961791],[102.615128,32.961831],[102.615264,32.961873],[102.615258,32.961906],[102.615228,32.961926],[102.615167,32.961966],[102.615145,32.961999],[102.615143,32.962032],[102.615148,32.962077],[102.615175,32.962145],[102.61514,32.962163],[102.615074,32.962184],[102.615063,32.962228],[102.61506,32.962364],[102.615068,32.962424],[102.615101,32.96249],[102.615087,32.962527],[102.615045,32.962578],[102.61501,32.962636],[102.615004,32.962685],[102.615013,32.962764],[102.615008,32.96285],[102.615004,32.962926],[102.614996,32.963009],[102.614993,32.963056],[102.614992,32.963075],[102.61495,32.963164],[102.614924,32.963263],[102.614914,32.963326],[102.614901,32.963397],[102.614839,32.963528],[102.614816,32.963624],[102.614801,32.963688],[102.614795,32.96374],[102.614782,32.963811],[102.614731,32.963871],[102.614694,32.963962],[102.614661,32.964044],[102.614633,32.964126],[102.614606,32.964203],[102.614576,32.964278],[102.614576,32.96435],[102.61458,32.964406],[102.614554,32.964459],[102.614498,32.964475],[102.614255,32.964736],[102.614205,32.96479],[102.6142,32.964794],[102.614134,32.964866],[102.613554,32.964913],[102.612526,32.964997],[102.612445,32.964992],[102.612279,32.964982],[102.612068,32.964969],[102.612054,32.964968],[102.61198,32.964988],[102.611934,32.964987],[102.611856,32.964984],[102.611763,32.964986],[102.611579,32.965007],[102.611508,32.964992],[102.611433,32.964949],[102.611411,32.964929],[102.611354,32.964876],[102.611283,32.964827],[102.611226,32.964791],[102.611178,32.964775],[102.611113,32.964775],[102.611042,32.964775],[102.611003,32.96479],[102.611,32.964814],[102.611023,32.964837],[102.611051,32.964849],[102.611173,32.964917],[102.610987,32.964914],[102.610591,32.964906],[102.609961,32.964894],[102.609724,32.965032],[102.609676,32.96506],[102.609643,32.965079],[102.609626,32.965088],[102.609366,32.965239],[102.609357,32.965245],[102.609314,32.96527],[102.608788,32.965575],[102.607592,32.967067],[102.607494,32.967873],[102.607479,32.967994],[102.60747,32.968069],[102.607465,32.968105],[102.607427,32.968416],[102.60784,32.969122],[102.607989,32.969376],[102.608028,32.969443],[102.60807,32.969515],[102.608164,32.969675],[102.608589,32.969944],[102.609021,32.970216],[102.609047,32.970233],[102.609448,32.970391],[102.609539,32.970427],[102.611063,32.971029],[102.611207,32.971086],[102.612087,32.971478],[102.612348,32.971595],[102.612486,32.971878],[102.612603,32.972121],[102.612956,32.972851],[102.612939,32.9735],[102.612817,32.973998],[102.61265,32.974684],[102.611145,32.975738],[102.611094,32.975783],[102.610133,32.976627],[102.610081,32.976673],[102.610059,32.976693],[102.609699,32.977009],[102.609661,32.977056],[102.609001,32.977883],[102.608683,32.978282],[102.608636,32.978341],[102.608634,32.978352],[102.608452,32.979338],[102.60836,32.979838],[102.608326,32.980026],[102.608318,32.980065],[102.608276,32.980093],[102.608255,32.98014],[102.608216,32.980212],[102.608179,32.980261],[102.608148,32.980306],[102.608111,32.980371],[102.608097,32.980417],[102.608067,32.980495],[102.608028,32.980565],[102.607973,32.980628],[102.6079,32.980714],[102.607876,32.980759],[102.607853,32.980823],[102.607853,32.980869],[102.607853,32.980936],[102.607859,32.981006],[102.607863,32.981065],[102.60785,32.981107],[102.607824,32.98115],[102.607782,32.981204],[102.60771,32.981293],[102.607697,32.981342],[102.607691,32.981409],[102.607691,32.981449],[102.607699,32.981491],[102.607714,32.981534],[102.607727,32.981564],[102.607752,32.981596],[102.607784,32.981641],[102.607797,32.981674],[102.607814,32.981721],[102.607814,32.981738],[102.607817,32.981747],[102.607824,32.98175],[102.607811,32.981776],[102.607807,32.981784],[102.607727,32.981937],[102.607575,32.982231],[102.607528,32.982322],[102.6075,32.982377],[102.607396,32.982444],[102.607282,32.982517],[102.606602,32.982955],[102.606012,32.983334],[102.605268,32.983813],[102.605213,32.983848],[102.60496,32.984044],[102.604552,32.984358],[102.604134,32.984681],[102.604093,32.984712],[102.604081,32.984722],[102.603843,32.984905],[102.603682,32.98503],[102.60364,32.985062],[102.602978,32.985807],[102.602852,32.986324],[102.60284,32.986373],[102.602738,32.986789],[102.602545,32.987584],[102.602399,32.987871],[102.602371,32.987928],[102.602137,32.988388],[102.602002,32.988656],[102.601927,32.988769],[102.601541,32.989354],[102.601489,32.989433],[102.60146,32.989478],[102.60139,32.989583],[102.601333,32.989671],[102.600635,32.990232],[102.600506,32.990336],[102.600477,32.990284],[102.600399,32.990296],[102.600339,32.990322],[102.600289,32.990359],[102.600212,32.990406],[102.600144,32.990448],[102.600071,32.990565],[102.599935,32.990717],[102.599868,32.990857],[102.5998,32.991002],[102.599762,32.991106],[102.599715,32.991277],[102.599707,32.991307],[102.59971,32.991318],[102.599161,32.991631],[102.599116,32.991723],[102.598882,32.99221],[102.598643,32.992707],[102.598473,32.99306],[102.598135,32.993447],[102.598165,32.993482],[102.598197,32.993556],[102.598225,32.993622],[102.59824,32.993684],[102.598252,32.993758],[102.598252,32.99382],[102.598241,32.993894],[102.5982,32.99401],[102.598198,32.994014],[102.598145,32.994089],[102.598142,32.994094],[102.598043,32.994268],[102.597985,32.994376],[102.597985,32.994385],[102.59798,32.994457],[102.597978,32.994587],[102.597933,32.994676],[102.597837,32.994828],[102.597751,32.994957],[102.597736,32.995108],[102.597571,32.995504],[102.597539,32.995619],[102.597438,32.99598],[102.597496,32.996102],[102.59753,32.996173],[102.597535,32.996184],[102.597653,32.996432],[102.597802,32.996745],[102.597865,32.996847],[102.598769,32.998313],[102.598888,32.998445],[102.598982,32.998588],[102.599097,32.998698],[102.599032,32.998739],[102.599064,32.998867],[102.599114,32.999063],[102.599261,32.999641],[102.599487,33.000535],[102.599949,33.00133],[102.600198,33.001761],[102.600242,33.001836],[102.600337,33.002],[102.600288,33.002117],[102.600175,33.002382],[102.599868,33.003102],[102.599772,33.003328],[102.599699,33.003498],[102.599514,33.003933],[102.599175,33.004538],[102.598841,33.005135],[102.598568,33.005621],[102.598268,33.006157],[102.597988,33.006453],[102.597774,33.006678],[102.597681,33.006776],[102.597632,33.006829],[102.597291,33.007188],[102.597201,33.007266],[102.596502,33.007872],[102.596374,33.008063],[102.596361,33.008056],[102.596341,33.008054],[102.596302,33.00806],[102.596271,33.008089],[102.596247,33.008125],[102.59621,33.008151],[102.596165,33.008181],[102.596133,33.008224],[102.596058,33.00829],[102.596019,33.008347],[102.595979,33.008387],[102.595873,33.00855],[102.595851,33.008616],[102.595822,33.008722],[102.595803,33.00879],[102.595795,33.008862],[102.595796,33.008998],[102.595808,33.009091],[102.59581,33.00918],[102.595842,33.009421],[102.595964,33.009979],[102.596016,33.010342],[102.59602,33.010378],[102.596038,33.010551],[102.596067,33.010644],[102.596103,33.010737],[102.596111,33.010826],[102.596114,33.010931],[102.596117,33.010984],[102.596128,33.011012],[102.596159,33.011058],[102.596176,33.011106],[102.596194,33.0112],[102.596203,33.01129],[102.596222,33.011359],[102.596241,33.01145],[102.596279,33.011572],[102.596306,33.01165],[102.596329,33.011745],[102.596351,33.011828],[102.596377,33.011896],[102.596409,33.011956],[102.596486,33.012062],[102.596487,33.012067],[102.596501,33.012145],[102.596602,33.012707],[102.596587,33.01271],[102.596582,33.012722],[102.596583,33.012755],[102.5966,33.012861],[102.596619,33.012985],[102.596618,33.013132],[102.596637,33.01322],[102.596676,33.01334],[102.596723,33.013455],[102.596735,33.013516],[102.59678,33.013734],[102.596793,33.01388],[102.5968,33.013921],[102.596855,33.014254],[102.59689,33.014527],[102.596958,33.014857],[102.596998,33.014977],[102.597028,33.015083],[102.597057,33.015335],[102.597101,33.015493],[102.597124,33.015689],[102.597145,33.015832],[102.597169,33.015997],[102.597218,33.016187],[102.597217,33.016297],[102.597221,33.016398],[102.597226,33.016476],[102.597201,33.016546],[102.597178,33.016596],[102.597173,33.016653],[102.597174,33.016722],[102.597157,33.016801],[102.597126,33.01699],[102.597096,33.017099],[102.597084,33.017153],[102.597085,33.017167],[102.59709,33.01717],[102.597047,33.017276],[102.596987,33.017422],[102.596793,33.017892],[102.596761,33.017969],[102.596736,33.018017],[102.596136,33.019157],[102.595949,33.019299],[102.595286,33.019805],[102.594985,33.020034],[102.594183,33.020423],[102.593784,33.020616],[102.5936,33.020705],[102.59303,33.020981],[102.593002,33.020995],[102.592401,33.021225],[102.591902,33.021417],[102.591167,33.021699],[102.591161,33.021702],[102.591144,33.021708],[102.590511,33.021851],[102.590266,33.02204],[102.590142,33.022091],[102.590051,33.02212],[102.589907,33.022161],[102.589786,33.022188],[102.589704,33.022208],[102.589647,33.022218],[102.589576,33.022218],[102.589411,33.022213],[102.589334,33.022195],[102.589212,33.022163],[102.589152,33.022143],[102.58907,33.022159],[102.588579,33.022258],[102.588438,33.022402],[102.588426,33.022415],[102.588379,33.022393],[102.588312,33.022383],[102.588218,33.022382],[102.588144,33.022386],[102.5881,33.022403],[102.588085,33.022421],[102.588079,33.022449],[102.588106,33.022475],[102.588143,33.022492],[102.588183,33.02251],[102.5882,33.02253],[102.5882,33.022549],[102.588169,33.022586],[102.588098,33.022645],[102.587992,33.022703],[102.587944,33.02273],[102.587911,33.02274],[102.587876,33.022744],[102.587852,33.022736],[102.587836,33.022727],[102.587833,33.022713],[102.587857,33.022688],[102.587871,33.022651],[102.587872,33.022622],[102.587852,33.022603],[102.587813,33.022599],[102.587759,33.022624],[102.587663,33.022666],[102.587584,33.022693],[102.587525,33.022743],[102.587484,33.022815],[102.587477,33.022865],[102.587502,33.022953],[102.587534,33.023077],[102.587566,33.023207],[102.587611,33.0233],[102.587651,33.023372],[102.587684,33.023436],[102.587708,33.023479],[102.587717,33.023498],[102.587717,33.023529],[102.587689,33.023667],[102.58767,33.023781],[102.587602,33.023894],[102.587567,33.024012],[102.587533,33.02416],[102.587522,33.02426],[102.587511,33.024436],[102.587518,33.024537],[102.587537,33.024649],[102.587576,33.024778],[102.587601,33.024853],[102.587637,33.024948],[102.58767,33.025072],[102.587682,33.025154],[102.587693,33.025238],[102.587722,33.025307],[102.587752,33.025364],[102.587779,33.025436],[102.587795,33.025484],[102.587808,33.025504],[102.587821,33.025516],[102.587835,33.025516],[102.587867,33.025622],[102.587868,33.025627],[102.588082,33.02635],[102.588099,33.026455],[102.588196,33.027087],[102.588233,33.027326],[102.58808,33.028104],[102.588027,33.028371],[102.587814,33.028606],[102.58766,33.028776],[102.587423,33.028798],[102.587403,33.0288],[102.587086,33.02883],[102.586629,33.028873],[102.586502,33.028885],[102.586367,33.028897],[102.586204,33.028913],[102.586039,33.028928],[102.586011,33.028931],[102.585767,33.028951],[102.585759,33.028951],[102.585345,33.028985],[102.585243,33.028993],[102.585206,33.028996],[102.584898,33.029022],[102.58478,33.029044],[102.58454,33.02909],[102.584225,33.029],[102.584161,33.028982],[102.583938,33.028918],[102.583863,33.028828],[102.583777,33.028794],[102.58373,33.028787],[102.583558,33.028618],[102.583445,33.028507],[102.583413,33.028019],[102.583203,33.027803],[102.583154,33.027752],[102.583051,33.027706],[102.583036,33.0277],[102.582891,33.027635],[102.582875,33.027625],[102.582876,33.027658],[102.582872,33.027719],[102.582867,33.027746],[102.58285,33.027768],[102.582829,33.027774],[102.582816,33.027764],[102.582788,33.027724],[102.582759,33.027683],[102.582714,33.027629],[102.582682,33.027584],[102.582632,33.027511],[102.582562,33.027427],[102.58253,33.027407],[102.582492,33.027366],[102.582294,33.027218],[102.582207,33.027148],[102.582155,33.027137],[102.582137,33.027135],[102.582107,33.027138],[102.58206,33.027141],[102.582007,33.02714],[102.58193,33.027138],[102.581897,33.027129],[102.58188,33.027106],[102.581875,33.027071],[102.581879,33.027013],[102.581881,33.026973],[102.581881,33.026929],[102.581869,33.02692],[102.5818,33.026865],[102.581712,33.026863],[102.581564,33.02686],[102.5814,33.026857],[102.581295,33.027454],[102.58106,33.027936],[102.580833,33.028082],[102.580438,33.027924],[102.580409,33.027857],[102.580407,33.027851],[102.580365,33.027754],[102.580349,33.027715],[102.580229,33.027433],[102.579831,33.027351],[102.579781,33.027391],[102.579776,33.027395],[102.579766,33.027376],[102.579741,33.02735],[102.5797,33.027316],[102.579635,33.027288],[102.579553,33.027281],[102.579474,33.027289],[102.579386,33.027371],[102.579322,33.027438],[102.579209,33.027339],[102.578999,33.026885],[102.578945,33.026754],[102.578958,33.026736],[102.578967,33.026692],[102.578919,33.0266],[102.578865,33.026561],[102.578856,33.026539],[102.578624,33.025979],[102.578422,33.025619],[102.578412,33.025601],[102.578394,33.025597],[102.578459,33.025577],[102.578536,33.025544],[102.578573,33.025518],[102.578603,33.025482],[102.578625,33.025407],[102.578613,33.025312],[102.578554,33.02523],[102.578465,33.025182],[102.578381,33.025173],[102.578271,33.025223],[102.578151,33.0253],[102.578068,33.025354],[102.577993,33.025375],[102.577846,33.025382],[102.577719,33.025382],[102.577597,33.025435],[102.577502,33.025471],[102.577488,33.025476],[102.577466,33.025474],[102.577393,33.025468],[102.57682,33.025308],[102.576877,33.024822],[102.576672,33.024219],[102.576621,33.024138],[102.576576,33.024175],[102.576519,33.024115],[102.576574,33.024062],[102.576459,33.023878],[102.576169,33.023872],[102.57597,33.023868],[102.57565,33.024079],[102.575602,33.02411],[102.575488,33.024185],[102.575472,33.024195],[102.575447,33.024217],[102.574835,33.024745],[102.574522,33.024814],[102.574415,33.024738],[102.574358,33.024698],[102.574304,33.024659],[102.574305,33.024622],[102.574305,33.024612],[102.574313,33.024323],[102.574688,33.023618],[102.574919,33.023286],[102.574928,33.022949],[102.574501,33.022342],[102.574332,33.022001],[102.574404,33.021932],[102.57456,33.021781],[102.574594,33.021766],[102.574606,33.021779],[102.574624,33.021791],[102.574724,33.021856],[102.574812,33.021904],[102.574898,33.021918],[102.574983,33.021913],[102.575045,33.021888],[102.57509,33.021827],[102.575103,33.021787],[102.57511,33.021715],[102.575111,33.021674],[102.575107,33.021604],[102.575101,33.021529],[102.575115,33.021513],[102.575467,33.021125],[102.575479,33.020714],[102.575482,33.020602],[102.575489,33.020564],[102.575533,33.02034],[102.575625,33.020258],[102.57564,33.020246],[102.575708,33.020251],[102.575753,33.020236],[102.575843,33.020201],[102.575907,33.02015],[102.575967,33.020082],[102.57599,33.020037],[102.575993,33.019987],[102.57597,33.019953],[102.575989,33.019937],[102.576066,33.019799],[102.576176,33.019603],[102.576139,33.01934],[102.575929,33.018887],[102.575669,33.018787],[102.575653,33.018748],[102.57562,33.018684],[102.575537,33.018614],[102.57547,33.018581],[102.575384,33.01858],[102.575326,33.01858],[102.575282,33.018579],[102.575247,33.018595],[102.57523,33.018604],[102.575218,33.018598],[102.574703,33.018313],[102.574612,33.018262],[102.574533,33.01821],[102.574453,33.018156],[102.574333,33.018077],[102.573914,33.017799],[102.573531,33.017193],[102.573309,33.017151],[102.572818,33.017254],[102.572601,33.01717],[102.572587,33.017165],[102.57251,33.017135],[102.572514,33.017123],[102.572567,33.01698],[102.572569,33.016975],[102.572606,33.016875],[102.572706,33.016465],[102.572672,33.016248],[102.572758,33.016214],[102.572807,33.016178],[102.572857,33.016122],[102.572882,33.016083],[102.572882,33.016036],[102.572873,33.015994],[102.572855,33.015967],[102.572828,33.015924],[102.572802,33.015895],[102.572703,33.015863],[102.572602,33.015851],[102.57249,33.015853],[102.572479,33.015843],[102.57224,33.015632],[102.572005,33.015578],[102.571998,33.015576],[102.571989,33.015561],[102.571952,33.015495],[102.571897,33.015427],[102.571839,33.015361],[102.571792,33.015319],[102.571753,33.015256],[102.571701,33.015202],[102.571651,33.015183],[102.57163,33.015177],[102.57161,33.015172],[102.571586,33.01517],[102.571572,33.015169],[102.571574,33.015164],[102.571682,33.01491],[102.572006,33.014429],[102.571895,33.014331],[102.571705,33.014382],[102.571686,33.014315],[102.571679,33.014289],[102.571648,33.014213],[102.571586,33.014136],[102.57152,33.014066],[102.57148,33.014024],[102.571378,33.013999],[102.571312,33.013987],[102.571212,33.013973],[102.571149,33.013971],[102.571029,33.014015],[102.570984,33.014032],[102.570748,33.014119],[102.570725,33.014127],[102.57059,33.014177],[102.570199,33.014242],[102.569787,33.014311],[102.569426,33.014529],[102.569146,33.01501],[102.569089,33.015016],[102.569055,33.015019],[102.568917,33.015033],[102.568899,33.015046],[102.56884,33.015082],[102.568801,33.015106],[102.568759,33.015133],[102.568715,33.015156],[102.568662,33.01519],[102.568607,33.015225],[102.56859,33.015241],[102.568536,33.015276],[102.568466,33.015337],[102.568414,33.015368],[102.568408,33.015372],[102.56837,33.015403],[102.568316,33.015398],[102.568283,33.015382],[102.568249,33.015338],[102.568229,33.015291],[102.568267,33.015253],[102.568317,33.015215],[102.568353,33.015191],[102.568398,33.015176],[102.568456,33.015143],[102.568484,33.015122],[102.568512,33.015102],[102.568559,33.015057],[102.568596,33.015006],[102.568605,33.014951],[102.568597,33.014883],[102.568571,33.014829],[102.568425,33.014737],[102.568385,33.014721],[102.568333,33.01469],[102.568272,33.01468],[102.568234,33.01469],[102.568183,33.014718],[102.568178,33.014721],[102.568146,33.014746],[102.568115,33.014775],[102.568082,33.014828],[102.568073,33.01486],[102.56807,33.014907],[102.568057,33.01498],[102.568051,33.015022],[102.568033,33.015064],[102.568009,33.015103],[102.567987,33.015124],[102.567947,33.015145],[102.567889,33.015149],[102.567837,33.01514],[102.567799,33.015115],[102.567748,33.015072],[102.567728,33.015039],[102.567695,33.015012],[102.567668,33.014986],[102.567647,33.014967],[102.567637,33.014943],[102.567639,33.014903],[102.567675,33.014873],[102.567706,33.014862],[102.567713,33.014859],[102.567788,33.014833],[102.567853,33.014792],[102.567908,33.014749],[102.56796,33.014701],[102.567991,33.014652],[102.567994,33.014617],[102.567994,33.014572],[102.567966,33.014504],[102.567944,33.014481],[102.567914,33.014463],[102.56788,33.014448],[102.567845,33.01444],[102.567805,33.01443],[102.567768,33.014426],[102.567725,33.014424],[102.567646,33.014432],[102.567603,33.014452],[102.56754,33.014474],[102.567501,33.014482],[102.567442,33.014478],[102.567387,33.014464],[102.567332,33.014434],[102.567285,33.01437],[102.567256,33.014326],[102.567205,33.014274],[102.567113,33.014192],[102.567072,33.014156],[102.567028,33.014119],[102.566988,33.014081],[102.566961,33.014052],[102.56692,33.014019],[102.566886,33.014005],[102.566837,33.014003],[102.566794,33.014014],[102.566768,33.014035],[102.566746,33.014059],[102.56671,33.014092],[102.566694,33.014109],[102.566687,33.014128],[102.566684,33.014162],[102.566706,33.014202],[102.56672,33.014238],[102.566738,33.014279],[102.566753,33.014335],[102.566762,33.014384],[102.566762,33.014449],[102.566751,33.014475],[102.566742,33.014499],[102.56671,33.014548],[102.566684,33.014584],[102.566657,33.014613],[102.566625,33.014637],[102.566574,33.014662],[102.566533,33.01467],[102.566458,33.014667],[102.566427,33.014654],[102.566413,33.014636],[102.566419,33.014589],[102.566449,33.014539],[102.566472,33.014505],[102.566502,33.014452],[102.566525,33.01441],[102.566541,33.014371],[102.566558,33.014317],[102.566561,33.014264],[102.566559,33.014235],[102.56654,33.0142],[102.566501,33.01421],[102.566455,33.014276],[102.566406,33.014238],[102.566342,33.014224],[102.566269,33.01423],[102.566184,33.014236],[102.5661,33.014221],[102.566033,33.014201],[102.565929,33.014147],[102.565868,33.014113],[102.565832,33.014114],[102.565796,33.014128],[102.565756,33.014174],[102.565718,33.014212],[102.56566,33.01428],[102.565605,33.014317],[102.56553,33.014338],[102.565487,33.014334],[102.565421,33.01431],[102.56535,33.014261],[102.565273,33.014237],[102.56524,33.014238],[102.565187,33.014265],[102.56515,33.014316],[102.565127,33.014387],[102.565139,33.014437],[102.565159,33.014465],[102.565201,33.014488],[102.565257,33.014509],[102.56533,33.014531],[102.56541,33.014546],[102.565446,33.014556],[102.56554,33.014581],[102.565608,33.014616],[102.565623,33.014628],[102.565667,33.014665],[102.56569,33.014713],[102.565705,33.014794],[102.565709,33.014878],[102.56572,33.014955],[102.565722,33.014962],[102.56575,33.015037],[102.565774,33.015075],[102.565803,33.015099],[102.565848,33.015115],[102.565874,33.015116],[102.565927,33.015105],[102.565981,33.015083],[102.566059,33.015055],[102.56612,33.015038],[102.566174,33.015041],[102.566235,33.015069],[102.566316,33.015122],[102.566342,33.015157],[102.56634,33.015218],[102.566274,33.015213],[102.566298,33.01524],[102.566315,33.015268],[102.566314,33.015297],[102.566301,33.015328],[102.566269,33.015359],[102.566192,33.015377],[102.566053,33.015381],[102.566021,33.015384],[102.565952,33.015401],[102.565891,33.015428],[102.565852,33.015458],[102.565802,33.015493],[102.56577,33.01552],[102.565717,33.01555],[102.565684,33.01556],[102.565637,33.015558],[102.565605,33.01553],[102.565607,33.015517],[102.565642,33.015471],[102.565662,33.015432],[102.565667,33.01538],[102.565666,33.015309],[102.565658,33.015278],[102.565636,33.015245],[102.565608,33.015223],[102.565561,33.015211],[102.565508,33.015198],[102.565433,33.015195],[102.565393,33.015285],[102.565244,33.015624],[102.565203,33.015718],[102.565145,33.01585],[102.565032,33.016325],[102.564702,33.017414],[102.564503,33.019769],[102.564832,33.021152],[102.565268,33.022255],[102.565489,33.023014],[102.564996,33.024583],[102.564351,33.026233],[102.564152,33.027113],[102.563754,33.029327],[102.563595,33.030334],[102.563055,33.032418],[102.562602,33.033573],[102.561842,33.034839],[102.5616,33.035978],[102.561623,33.036826],[102.56179,33.037558],[102.561676,33.038325],[102.561634,33.038994],[102.561196,33.039597],[102.560478,33.040155],[102.559556,33.040511],[102.559062,33.04058],[102.557617,33.040375],[102.556985,33.040382],[102.556472,33.040293],[102.555916,33.040105],[102.554891,33.039927],[102.553888,33.039809],[102.553137,33.039853],[102.551708,33.039904],[102.550889,33.039908],[102.550049,33.039812],[102.549396,33.03972],[102.54839,33.039701],[102.54766,33.039864],[102.547299,33.040231],[102.54684,33.040735],[102.546175,33.041096],[102.545443,33.041338],[102.544879,33.041406],[102.544176,33.041431],[102.543737,33.041245],[102.543113,33.040937],[102.542123,33.040346],[102.540789,33.039719],[102.540183,33.039411],[102.539558,33.039192],[102.538575,33.038537],[102.537837,33.037931],[102.536001,33.036638],[102.535533,33.03631],[102.534951,33.035924],[102.534416,33.035636],[102.53399,33.035572],[102.533533,33.035438],[102.533093,33.035277],[102.532688,33.035034],[102.53248,33.034849],[102.532231,33.034928],[102.532038,33.03534],[102.531727,33.035888],[102.530795,33.036826],[102.530071,33.037407],[102.529272,33.037913],[102.528543,33.038227],[102.528049,33.038269],[102.527509,33.038449],[102.526871,33.038454],[102.526239,33.038286],[102.525561,33.038272],[102.524803,33.03817],[102.523696,33.038027],[102.522811,33.038062],[102.519916,33.037396],[102.519404,33.037342],[102.518386,33.036997],[102.517473,33.036568],[102.516349,33.036351],[102.515863,33.036276],[102.514969,33.036085],[102.513953,33.035654],[102.51329,33.035489],[102.512733,33.035197],[102.512043,33.035053],[102.511503,33.035064],[102.510549,33.035218],[102.509431,33.03545],[102.508559,33.035622],[102.507595,33.03563],[102.506864,33.035372],[102.506104,33.035005],[102.505439,33.034667],[102.504169,33.034128],[102.503601,33.033792],[102.503184,33.033756],[102.502766,33.033775],[102.502507,33.033851],[102.501858,33.034108],[102.501299,33.034557],[102.500546,33.035083],[102.500222,33.035185],[102.499675,33.035062],[102.499122,33.035051],[102.498087,33.035154],[102.497306,33.036691],[102.495965,33.038496],[102.495199,33.039536],[102.494835,33.040647],[102.494461,33.04216],[102.493072,33.043033],[102.492318,33.043639],[102.490944,33.043984],[102.490709,33.044015],[102.489316,33.044199],[102.487775,33.04392],[102.486396,33.043147],[102.485531,33.042477],[102.484898,33.041378],[102.484622,33.04072],[102.484244,33.03975],[102.483751,33.038964],[102.482808,33.038417],[102.481976,33.037842],[102.480949,33.037666],[102.480447,33.03719],[102.479841,33.036463],[102.478959,33.036352],[102.478923,33.036351],[102.478298,33.036277],[102.477346,33.03604],[102.476507,33.035744],[102.475637,33.03523],[102.475582,33.035207],[102.475615,33.034992],[102.475657,33.034723],[102.475698,33.034454],[102.47574,33.034185],[102.475781,33.033917],[102.475823,33.033648],[102.475864,33.033379],[102.475906,33.03311],[102.475947,33.032842],[102.475926,33.032605],[102.475905,33.032368],[102.475776,33.031939],[102.475736,33.03187],[102.475733,33.031859],[102.475587,33.031612],[102.475442,33.031366],[102.475314,33.031314],[102.474999,33.031184],[102.474684,33.031054],[102.474302,33.030978],[102.4741,33.03096],[102.47385,33.030906],[102.473606,33.030835],[102.473238,33.030609],[102.472936,33.030362],[102.472634,33.030115],[102.472332,33.029868],[102.47203,33.029621],[102.471843,33.029357],[102.471655,33.029092],[102.4715,33.028928],[102.471345,33.028765],[102.471316,33.028735],[102.471123,33.028536],[102.47093,33.028337],[102.470912,33.028314],[102.47076,33.028123],[102.470608,33.027932],[102.470368,33.027646],[102.470128,33.027361],[102.469889,33.027075],[102.469597,33.026796],[102.469317,33.026475],[102.469005,33.026189],[102.468693,33.025904],[102.468529,33.025713],[102.468366,33.025523],[102.468253,33.02535],[102.468098,33.025041],[102.467937,33.024886],[102.467806,33.024738],[102.467658,33.024541],[102.467533,33.024363],[102.467426,33.024107],[102.467319,33.023851],[102.46714,33.02359],[102.466955,33.023369],[102.466795,33.023179],[102.466572,33.022974],[102.466349,33.022769],[102.466072,33.022605],[102.465796,33.022442],[102.4655,33.022267],[102.465205,33.022093],[102.464909,33.021918],[102.464541,33.021739],[102.464172,33.021561],[102.463803,33.021383],[102.463494,33.021148],[102.463184,33.020913],[102.463059,33.020746],[102.462997,33.020574],[102.462872,33.02029],[102.462817,33.019904],[102.462762,33.019518],[102.462706,33.019132],[102.462638,33.018914],[102.462569,33.018695],[102.4625,33.018477],[102.462431,33.018259],[102.462363,33.018041],[102.462294,33.017822],[102.462189,33.017513],[102.462063,33.017084],[102.461956,33.016869],[102.461849,33.016655],[102.461728,33.016451],[102.461607,33.016247],[102.461416,33.016042],[102.461225,33.015837],[102.461075,33.015669],[102.460926,33.0155],[102.460767,33.015165],[102.460708,33.014786],[102.460648,33.014407],[102.460642,33.01399],[102.460635,33.013574],[102.460629,33.01322],[102.460644,33.01306],[102.460682,33.012626],[102.46072,33.012191],[102.460745,33.011906],[102.460751,33.011867],[102.460799,33.01156],[102.460847,33.011252],[102.4609,33.011068],[102.460974,33.010764],[102.461049,33.010461],[102.461111,33.010104],[102.461174,33.009747],[102.461287,33.009456],[102.461275,33.0092],[102.461215,33.008962],[102.46121,33.008949],[102.461061,33.008617],[102.46096,33.008457],[102.46096,33.008456],[102.46096,33.008456],[102.460876,33.008218],[102.460781,33.007903],[102.460742,33.007677],[102.460702,33.007451],[102.460644,33.007118],[102.460658,33.006945],[102.460662,33.006898],[102.460766,33.006689],[102.46087,33.006481],[102.460936,33.006249],[102.460942,33.006041],[102.460858,33.005904],[102.46071,33.005535],[102.460674,33.005274],[102.460668,33.005095],[102.460638,33.004958],[102.460538,33.004786],[102.460536,33.004552],[102.460534,33.004459],[102.460589,33.0042],[102.460644,33.003941],[102.46068,33.00362],[102.460716,33.003299],[102.460789,33.002962],[102.460862,33.002626],[102.460882,33.002531],[102.460992,33.002133],[102.461102,33.001734],[102.461174,33.001294],[102.461174,33.001294],[102.461174,33.001293],[102.461245,33.000961],[102.461346,33.000681],[102.461418,33.000485],[102.461572,33.000199],[102.461602,33.000009],[102.4617,32.999709],[102.461798,32.999408],[102.461905,32.999146],[102.461959,32.99895],[102.461941,32.998784],[102.461769,32.99851],[102.461614,32.998147],[102.46162,32.99782],[102.461644,32.997624],[102.461691,32.997493],[102.461786,32.997261],[102.461798,32.9971],[102.461721,32.996981],[102.461632,32.996934],[102.461471,32.996827],[102.461388,32.996696],[102.461293,32.996517],[102.461215,32.996166],[102.461138,32.996],[102.461114,32.995791],[102.461111,32.995754],[102.461096,32.995589],[102.460971,32.995405],[102.460751,32.995256],[102.460561,32.995039],[102.460371,32.994822],[102.46024,32.994631],[102.460174,32.994453],[102.460192,32.994298],[102.460281,32.994185],[102.460287,32.994084],[102.460275,32.994019],[102.460192,32.993953],[102.460061,32.993906],[102.459752,32.993721],[102.459609,32.993531],[102.45952,32.993376],[102.459502,32.993144],[102.459455,32.992984],[102.459234,32.992627],[102.459187,32.992496],[102.459187,32.992347],[102.459187,32.992291],[102.459187,32.992157],[102.459204,32.992057],[102.459275,32.991636],[102.45935,32.991397],[102.459425,32.991157],[102.459517,32.990935],[102.45956,32.990829],[102.459555,32.99068],[102.459553,32.990622],[102.45955,32.990342],[102.459548,32.990062],[102.459546,32.989915],[102.459575,32.989773],[102.459646,32.989594],[102.459775,32.989394],[102.459917,32.989194],[102.460017,32.98908],[102.460099,32.988898],[102.460233,32.9886],[102.460367,32.988302],[102.460538,32.987917],[102.460617,32.987638],[102.460645,32.987238],[102.460646,32.987233],[102.460672,32.986868],[102.460698,32.986504],[102.460724,32.986139],[102.460767,32.985725],[102.46081,32.985311],[102.460792,32.985001],[102.460774,32.98469],[102.46077,32.984527],[102.460767,32.984383],[102.460824,32.984026],[102.460896,32.983779],[102.460968,32.983533],[102.461032,32.983316],[102.461095,32.983098],[102.461131,32.982841],[102.461045,32.982684],[102.46096,32.982591],[102.460774,32.982402],[102.460588,32.982213],[102.460409,32.981955],[102.46036,32.981885],[102.460256,32.981649],[102.460153,32.981414],[102.460074,32.981271],[102.459953,32.981192],[102.459746,32.981092],[102.459461,32.981017],[102.459175,32.980942],[102.458743,32.980834],[102.458547,32.980785],[102.458326,32.980693],[102.458054,32.980407],[102.457783,32.980122],[102.45764,32.979772],[102.457599,32.979558],[102.457583,32.979472],[102.457583,32.979222],[102.457649,32.978846],[102.45769,32.978608],[102.457676,32.978365],[102.457683,32.978119],[102.45769,32.977873],[102.457685,32.977689],[102.457683,32.977595],[102.457633,32.97738],[102.457526,32.977202],[102.457405,32.976995],[102.457305,32.976766],[102.457233,32.976417],[102.457176,32.976088],[102.457133,32.975696],[102.457091,32.975303],[102.457073,32.975231],[102.456991,32.974889],[102.456919,32.974619],[102.456819,32.974247],[102.456714,32.973826],[102.456609,32.973406],[102.456569,32.973247],[102.456471,32.972903],[102.456373,32.972558],[102.456275,32.972214],[102.456177,32.97187],[102.456177,32.971498],[102.456234,32.971077],[102.456316,32.970842],[102.456398,32.970606],[102.456602,32.970346],[102.456805,32.970085],[102.456965,32.969889],[102.457091,32.969735],[102.457119,32.969496],[102.457148,32.969257],[102.457134,32.969133],[102.457196,32.968854],[102.457322,32.968539],[102.457403,32.968165],[102.45739,32.967829],[102.457352,32.967511],[102.457348,32.967358],[102.45734,32.967095],[102.457352,32.966699],[102.457387,32.966284],[102.457406,32.966047],[102.457424,32.96581],[102.457435,32.965414],[102.457466,32.965177],[102.457543,32.964941],[102.457556,32.96481],[102.457576,32.964624],[102.457688,32.964315],[102.4578,32.964006],[102.457899,32.963769],[102.457998,32.963533],[102.458097,32.963296],[102.458196,32.963059],[102.458295,32.962823],[102.458393,32.962586],[102.458492,32.96235],[102.458591,32.962113],[102.45869,32.961876],[102.458789,32.96164],[102.458888,32.961403],[102.458987,32.961167],[102.458967,32.960873],[102.458943,32.960652],[102.458862,32.96043],[102.45875,32.96028],[102.458537,32.960093],[102.458325,32.959906],[102.45814,32.959743],[102.457956,32.95958],[102.457701,32.959354],[102.457388,32.959127],[102.457015,32.958948],[102.456642,32.95877],[102.456414,32.958729],[102.456186,32.958689],[102.455958,32.958649],[102.45573,32.958609],[102.455502,32.958569],[102.455275,32.958528],[102.455137,32.958455],[102.454846,32.958299],[102.454603,32.958148],[102.45436,32.957996],[102.454162,32.957821],[102.453881,32.957472],[102.453657,32.957175],[102.453463,32.956852],[102.453325,32.956556],[102.453201,32.956346],[102.453076,32.956135],[102.45294,32.955814],[102.452689,32.955441],[102.452522,32.955218],[102.45224,32.954919],[102.451926,32.954692],[102.451639,32.95454],[102.451324,32.954386],[102.451064,32.954307],[102.450804,32.954229],[102.450546,32.954138],[102.450287,32.954047],[102.449898,32.953941],[102.449509,32.953835],[102.449261,32.953789],[102.449012,32.953742],[102.448763,32.953695],[102.448514,32.953649],[102.448266,32.953602],[102.448017,32.953555],[102.447768,32.953509],[102.447519,32.953462],[102.44727,32.953416],[102.447022,32.953369],[102.446775,32.953358],[102.446528,32.953346],[102.446281,32.953335],[102.446034,32.953324],[102.445657,32.953316],[102.445279,32.953308],[102.444902,32.953301],[102.444622,32.953204],[102.444343,32.953107],[102.444061,32.952832],[102.443892,32.952633],[102.443723,32.952434],[102.443559,32.952088],[102.443451,32.951768],[102.443381,32.951543],[102.443311,32.951318],[102.443242,32.951093],[102.443172,32.950869],[102.443102,32.950644],[102.443032,32.950419],[102.442962,32.950195],[102.442892,32.94997],[102.44286,32.94959],[102.442828,32.94921],[102.442722,32.948842],[102.442586,32.94852],[102.44245,32.948175],[102.442309,32.947955],[102.442168,32.947734],[102.441954,32.947596],[102.44174,32.947457],[102.441526,32.947318],[102.441312,32.947179],[102.441058,32.946929],[102.440804,32.946679],[102.440637,32.946406],[102.44047,32.946134],[102.440305,32.945837],[102.44014,32.94554],[102.440044,32.94533],[102.439948,32.94512],[102.439852,32.94491],[102.439756,32.944701],[102.439634,32.944417],[102.439511,32.944133],[102.439431,32.943862],[102.439352,32.943591],[102.43933,32.943359],[102.439307,32.943126],[102.439314,32.942881],[102.439322,32.942635],[102.439343,32.942245],[102.439363,32.941854],[102.439384,32.941463],[102.439386,32.941039],[102.439389,32.940615],[102.439391,32.940191],[102.439339,32.93997],[102.439287,32.939748],[102.439235,32.939527],[102.439183,32.939306],[102.439162,32.939036],[102.439141,32.938766],[102.43915,32.938449],[102.439216,32.938156],[102.43931,32.937939],[102.439335,32.937888]]]]},"properties":{"cp":[102.63776751384222,32.82512378846329],"code":"513233100","name":"邛溪镇","level":"street","center":[102.63776751384222,32.82512378846329],"fullCode":"513233100000","fullName":"四川省阿坝藏族羌族自治州红原县邛溪镇","acreageMu":1343909.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.515,32.7855]}},{"id":"513233101","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.662814,32.045234],[102.662707,32.045207],[102.662601,32.045181],[102.662557,32.04517],[102.662315,32.045091],[102.662072,32.045013],[102.661779,32.044999],[102.661578,32.045064],[102.661494,32.045091],[102.661194,32.045298],[102.661069,32.04533],[102.660994,32.045348],[102.660687,32.045334],[102.660559,32.04532],[102.660459,32.045341],[102.660418,32.045441],[102.66038,32.045534],[102.660302,32.045862],[102.660259,32.046041],[102.660223,32.046191],[102.660152,32.046355],[102.66004,32.046537],[102.660016,32.046576],[102.659766,32.046748],[102.659631,32.04689],[102.659509,32.047026],[102.659467,32.047269],[102.659467,32.04744],[102.65944,32.047502],[102.659381,32.04764],[102.659368,32.047662],[102.65926,32.047847],[102.659274,32.048011],[102.659317,32.048132],[102.659407,32.048364],[102.659496,32.048595],[102.659616,32.048903],[102.659681,32.049139],[102.659745,32.049374],[102.659798,32.049628],[102.659802,32.049646],[102.659802,32.049953],[102.659831,32.050153],[102.659859,32.050352],[102.659991,32.050747],[102.660122,32.051141],[102.660173,32.051295],[102.660262,32.051569],[102.660351,32.051844],[102.66043,32.052087],[102.660452,32.052216],[102.660455,32.052277],[102.660459,32.05233],[102.660437,32.052423],[102.66035,32.052517],[102.660137,32.052748],[102.659923,32.052979],[102.659862,32.053059],[102.659852,32.053072],[102.659852,32.053158],[102.659909,32.053272],[102.660088,32.053604],[102.660266,32.053936],[102.660462,32.054243],[102.660659,32.05455],[102.660677,32.054574],[102.66071,32.054618],[102.660948,32.054931],[102.660973,32.054964],[102.661058,32.055196],[102.661144,32.055428],[102.661315,32.055793],[102.661358,32.055885],[102.661537,32.056099],[102.661758,32.05637],[102.661779,32.056463],[102.661779,32.056563],[102.661715,32.056881],[102.661651,32.057198],[102.661645,32.057299],[102.661637,32.057466],[102.661622,32.057734],[102.661601,32.057933],[102.661442,32.058194],[102.661422,32.058226],[102.66124,32.058504],[102.661058,32.058783],[102.661032,32.05891],[102.661001,32.059054],[102.660966,32.059497],[102.660969,32.059843],[102.660973,32.060189],[102.66098,32.060218],[102.661008,32.060332],[102.661001,32.060518],[102.660958,32.06061],[102.660823,32.060717],[102.660743,32.060806],[102.66063,32.060932],[102.660473,32.061231],[102.660438,32.061359],[102.660387,32.061545],[102.660373,32.06181],[102.660363,32.061956],[102.660359,32.062017],[102.660302,32.062195],[102.660291,32.062217],[102.660282,32.062235],[102.660186,32.062431],[102.660132,32.062539],[102.66008,32.062645],[102.659879,32.063025],[102.659879,32.063025],[102.659879,32.063025],[102.659694,32.063374],[102.659576,32.063597],[102.659509,32.063723],[102.659395,32.063901],[102.659267,32.064101],[102.659145,32.064272],[102.659031,32.064451],[102.658938,32.064779],[102.658853,32.064993],[102.658681,32.065243],[102.658653,32.065281],[102.658553,32.065414],[102.658189,32.065557],[102.657932,32.065636],[102.657575,32.065736],[102.657218,32.065836],[102.657015,32.065928],[102.656811,32.066021],[102.656586,32.066143],[102.656361,32.066264],[102.656259,32.066373],[102.656147,32.066492],[102.655962,32.066778],[102.655847,32.067078],[102.65573,32.067351],[102.655614,32.067625],[102.655555,32.067763],[102.655511,32.06791],[102.655412,32.068248],[102.655262,32.068627],[102.655023,32.068984],[102.654784,32.069341],[102.654728,32.069441],[102.654655,32.069573],[102.654533,32.069793],[102.654527,32.069805],[102.65442,32.070197],[102.65439,32.070314],[102.654314,32.070611],[102.654287,32.070717],[102.654238,32.070908],[102.654196,32.071071],[102.654191,32.071089],[102.654084,32.071375],[102.653956,32.071603],[102.653784,32.071832],[102.653592,32.072082],[102.653292,32.072274],[102.652946,32.072424],[102.652599,32.072574],[102.652396,32.072671],[102.652193,32.072767],[102.6519,32.072974],[102.651679,32.073217],[102.651561,32.07351],[102.651536,32.073574],[102.651429,32.073752],[102.651265,32.073866],[102.651022,32.073973],[102.650808,32.074009],[102.650544,32.074038],[102.650479,32.074051],[102.650408,32.074066],[102.650369,32.074089],[102.650144,32.074223],[102.649831,32.074507],[102.649523,32.074786],[102.649216,32.075066],[102.648948,32.075351],[102.64868,32.075637],[102.648583,32.075734],[102.648465,32.075852],[102.64825,32.076067],[102.648124,32.076193],[102.647981,32.076372],[102.647838,32.07655],[102.647717,32.076836],[102.647674,32.077047],[102.647645,32.077193],[102.647549,32.07761],[102.647453,32.078028],[102.647447,32.078049],[102.647365,32.07834],[102.647277,32.078651],[102.647188,32.078963],[102.64718,32.078995],[102.647134,32.079157],[102.647095,32.079295],[102.647024,32.079546],[102.646953,32.079798],[102.646867,32.080039],[102.646822,32.080164],[102.646739,32.080398],[102.646677,32.080554],[102.646656,32.080607],[102.646632,32.080669],[102.646446,32.080969],[102.646346,32.08124],[102.646339,32.081483],[102.646341,32.081493],[102.646382,32.081654],[102.646387,32.081658],[102.64653,32.081746],[102.646589,32.081783],[102.646732,32.081876],[102.646782,32.081965],[102.646832,32.082054],[102.646889,32.082275],[102.647009,32.082514],[102.647129,32.082752],[102.64731,32.08311],[102.647381,32.083378],[102.647453,32.083646],[102.647531,32.083889],[102.647595,32.084181],[102.647595,32.084403],[102.647474,32.084688],[102.64731,32.084824],[102.647174,32.085016],[102.647124,32.085209],[102.647081,32.085445],[102.647075,32.085466],[102.646996,32.085745],[102.646874,32.085923],[102.646659,32.086014],[102.646653,32.086016],[102.646526,32.086055],[102.646146,32.086173],[102.64607,32.08622],[102.645882,32.086337],[102.645818,32.08643],[102.645725,32.086565],[102.645589,32.08693],[102.64544,32.087294],[102.645392,32.087478],[102.645347,32.087651],[102.64529,32.087943],[102.645271,32.088172],[102.645252,32.0884],[102.645225,32.088728],[102.645225,32.088729],[102.645224,32.08873],[102.645135,32.088896],[102.645134,32.088898],[102.645133,32.0889],[102.644883,32.089157],[102.64459,32.089378],[102.6445,32.089487],[102.644426,32.089578],[102.644219,32.089885],[102.644064,32.090142],[102.644054,32.090159],[102.64391,32.090399],[102.643755,32.090656],[102.643712,32.090725],[102.643555,32.090977],[102.643469,32.091348],[102.643412,32.091619],[102.643362,32.091746],[102.64336,32.091753],[102.643334,32.091819],[102.64322,32.092026],[102.642991,32.092255],[102.642722,32.092469],[102.642453,32.092683],[102.642184,32.092897],[102.642081,32.093179],[102.641977,32.093461],[102.641856,32.093875],[102.641699,32.094246],[102.64168,32.094334],[102.641649,32.094475],[102.641649,32.094721],[102.641649,32.094753],[102.641692,32.094953],[102.641778,32.095231],[102.641829,32.095399],[102.641863,32.09551],[102.641935,32.095842],[102.642006,32.096174],[102.64203,32.096328],[102.642042,32.096402],[102.642013,32.096731],[102.642012,32.096752],[102.641999,32.097073],[102.642006,32.097409],[102.642135,32.097787],[102.642227,32.097973],[102.642326,32.098093],[102.642377,32.098155],[102.642527,32.098337],[102.642606,32.098465],[102.642623,32.098534],[102.642641,32.098608],[102.642648,32.098736],[102.642645,32.098869],[102.642641,32.098993],[102.642634,32.099243],[102.642656,32.0995],[102.642677,32.099757],[102.642721,32.099967],[102.64277,32.1002],[102.642756,32.100507],[102.642751,32.100593],[102.642747,32.100664],[102.642741,32.100778],[102.642627,32.101056],[102.642599,32.101206],[102.642606,32.101378],[102.642638,32.101451],[102.642684,32.101556],[102.64269,32.101774],[102.642691,32.101806],[102.642657,32.101871],[102.642563,32.102049],[102.642425,32.10232],[102.642287,32.102591],[102.642149,32.102862],[102.64197,32.103119],[102.641792,32.103376],[102.641592,32.103765],[102.641392,32.104154],[102.641278,32.104347],[102.641071,32.104419],[102.640857,32.104447],[102.640671,32.104397],[102.640428,32.10434],[102.640179,32.104326],[102.640107,32.104356],[102.639834,32.104471],[102.639822,32.104476],[102.639479,32.104568],[102.639293,32.104583],[102.639022,32.104661],[102.638822,32.104768],[102.638677,32.104843],[102.638542,32.104913],[102.63838,32.104997],[102.638173,32.105082],[102.638082,32.105093],[102.637866,32.105118],[102.637602,32.105104],[102.637352,32.105111],[102.637232,32.105145],[102.637173,32.105161],[102.637104,32.105256],[102.637038,32.105347],[102.636933,32.105511],[102.636911,32.105537],[102.636702,32.105739],[102.636452,32.105903],[102.636164,32.106136],[102.635938,32.106317],[102.635724,32.106681],[102.635673,32.106835],[102.635662,32.106868],[102.635543,32.107224],[102.635424,32.107581],[102.635314,32.10787],[102.635203,32.108159],[102.635123,32.108305],[102.635046,32.108445],[102.634853,32.108716],[102.634659,32.10891],[102.634646,32.108923],[102.634475,32.109073],[102.634225,32.109144],[102.633954,32.109216],[102.633554,32.109365],[102.633329,32.109448],[102.633104,32.10953],[102.632871,32.10963],[102.632637,32.109731],[102.632426,32.109822],[102.632205,32.109933],[102.631984,32.110044],[102.631812,32.110122],[102.63158,32.110222],[102.631348,32.110322],[102.631077,32.110365],[102.631068,32.110367],[102.630806,32.110436],[102.630542,32.110529],[102.63037,32.110693],[102.630192,32.110964],[102.630128,32.111129],[102.630128,32.111279],[102.630185,32.111486],[102.63032,32.11175],[102.630588,32.112055],[102.63087,32.112378],[102.631006,32.112592],[102.631037,32.11272],[102.631038,32.112724],[102.631109,32.113029],[102.63118,32.113334],[102.631278,32.113759],[102.631291,32.113815],[102.631377,32.114184],[102.631484,32.114523],[102.631591,32.114862],[102.631677,32.115133],[102.631698,32.115319],[102.631691,32.115469],[102.63162,32.115669],[102.631594,32.115712],[102.631464,32.115937],[102.631334,32.116161],[102.63122,32.116368],[102.631248,32.116725],[102.63134,32.117046],[102.631463,32.117475],[102.631591,32.117689],[102.631591,32.117853],[102.631584,32.118103],[102.631516,32.11836],[102.631448,32.118617],[102.631452,32.118842],[102.631456,32.119067],[102.631534,32.119481],[102.631545,32.119511],[102.631605,32.119688],[102.631684,32.120066],[102.631634,32.120237],[102.631527,32.120466],[102.631384,32.120708],[102.63121,32.120884],[102.631036,32.12106],[102.63077,32.121329],[102.630692,32.121453],[102.630635,32.121544],[102.630563,32.121643],[102.630513,32.121686],[102.630446,32.121749],[102.630278,32.121905],[102.630042,32.122124],[102.629807,32.122343],[102.629703,32.122483],[102.629476,32.122788],[102.629293,32.123035],[102.629228,32.12315],[102.62905,32.123228],[102.628907,32.123264],[102.628722,32.123307],[102.6286,32.123292],[102.628599,32.123292],[102.628597,32.123291],[102.628486,32.123242],[102.628351,32.12321],[102.628336,32.123207],[102.628186,32.123193],[102.628136,32.123178],[102.628034,32.123205],[102.627915,32.123235],[102.627634,32.123345],[102.627353,32.123454],[102.627073,32.123564],[102.626773,32.123697],[102.626473,32.12383],[102.626173,32.123963],[102.625937,32.124067],[102.625681,32.124179],[102.625424,32.124292],[102.625032,32.124485],[102.624931,32.124535],[102.624621,32.12467],[102.624312,32.124805],[102.624002,32.12494],[102.623788,32.125113],[102.623574,32.125285],[102.623276,32.125598],[102.622979,32.12591],[102.62283,32.126011],[102.622803,32.126024],[102.622574,32.126136],[102.622271,32.126279],[102.622199,32.126326],[102.622217,32.126421],[102.622295,32.126656],[102.622372,32.126891],[102.622521,32.1271],[102.622601,32.127332],[102.622681,32.127564],[102.62275,32.127748],[102.622847,32.128004],[102.622943,32.12826],[102.623035,32.128622],[102.623127,32.128985],[102.623234,32.129092],[102.623347,32.129211],[102.623383,32.129318],[102.623469,32.129584],[102.623554,32.12985],[102.623597,32.129985],[102.623663,32.130169],[102.623758,32.13055],[102.623844,32.130838],[102.62393,32.131127],[102.623919,32.131412],[102.623898,32.13147],[102.623823,32.131674],[102.623663,32.132085],[102.623591,32.132281],[102.623595,32.132388],[102.623597,32.132441],[102.623645,32.132572],[102.623782,32.132977],[102.623859,32.133209],[102.623863,32.133232],[102.623919,32.133566],[102.623907,32.133893],[102.623895,32.13422],[102.623883,32.1345],[102.623901,32.134601],[102.623948,32.134708],[102.623966,32.134815],[102.623972,32.134928],[102.623936,32.13533],[102.623901,32.135731],[102.623878,32.13585],[102.623811,32.136189],[102.623798,32.136483],[102.623785,32.136778],[102.62377,32.137117],[102.623767,32.137516],[102.623764,32.137914],[102.623749,32.138086],[102.623748,32.138093],[102.623743,32.138155],[102.623722,32.138396],[102.623695,32.138652],[102.623669,32.138908],[102.623591,32.139044],[102.623383,32.139342],[102.623157,32.139503],[102.622818,32.139711],[102.622703,32.139768],[102.622486,32.139877],[102.622485,32.139877],[102.622188,32.139943],[102.62208,32.139943],[102.621846,32.13991],[102.621612,32.139877],[102.621402,32.139848],[102.621111,32.139851],[102.620819,32.139854],[102.620684,32.139877],[102.620546,32.139901],[102.620355,32.139907],[102.620177,32.139895],[102.620016,32.139889],[102.619737,32.140014],[102.619528,32.140121],[102.619421,32.140139],[102.619332,32.140127],[102.618893,32.140084],[102.618547,32.14005],[102.618312,32.14008],[102.618077,32.140109],[102.617977,32.140132],[102.617869,32.140157],[102.617678,32.140181],[102.617518,32.140139],[102.617167,32.139961],[102.616965,32.139901],[102.616536,32.139889],[102.616153,32.139901],[102.615769,32.139913],[102.615501,32.139949],[102.615234,32.139984],[102.614933,32.140006],[102.614823,32.140014],[102.614567,32.140106],[102.614311,32.140199],[102.614062,32.140347],[102.613789,32.140421],[102.613516,32.140494],[102.613419,32.14052],[102.613084,32.140563],[102.612749,32.140607],[102.612414,32.140651],[102.612119,32.140683],[102.611825,32.140716],[102.611605,32.14074],[102.611474,32.140728],[102.611472,32.140727],[102.611331,32.140686],[102.611165,32.140585],[102.610956,32.140585],[102.610948,32.140589],[102.61079,32.140657],[102.610454,32.140799],[102.610118,32.140942],[102.609933,32.140978],[102.609689,32.140996],[102.609529,32.141025],[102.609528,32.141026],[102.609463,32.141061],[102.60944,32.141109],[102.60941,32.141251],[102.609434,32.141614],[102.609469,32.141781],[102.609483,32.141829],[102.609529,32.141995],[102.609612,32.14237],[102.60961,32.142548],[102.609609,32.142605],[102.609606,32.14284],[102.609606,32.143069],[102.609606,32.143298],[102.609535,32.143595],[102.609525,32.143645],[102.609456,32.144013],[102.609386,32.14438],[102.609292,32.144707],[102.609213,32.144981],[102.609187,32.145039],[102.609112,32.145198],[102.609011,32.145415],[102.608952,32.145725],[102.608946,32.146046],[102.608999,32.146269],[102.609053,32.146492],[102.609195,32.146804],[102.609337,32.147115],[102.609362,32.14717],[102.60941,32.14739],[102.609422,32.147563],[102.609356,32.147735],[102.609277,32.147842],[102.609231,32.147902],[102.609128,32.147988],[102.608905,32.148172],[102.608779,32.148277],[102.608529,32.148426],[102.608434,32.148568],[102.608428,32.148753],[102.608434,32.148884],[102.608517,32.149074],[102.608648,32.149377],[102.608735,32.149594],[102.608821,32.149812],[102.608889,32.150032],[102.608958,32.150252],[102.608976,32.150448],[102.609077,32.150615],[102.609243,32.150763],[102.609359,32.150957],[102.609392,32.151013],[102.609499,32.151204],[102.609683,32.151382],[102.609951,32.151572],[102.610219,32.151763],[102.610287,32.151857],[102.610314,32.151894],[102.610385,32.152078],[102.610443,32.152262],[102.610516,32.152494],[102.610582,32.152786],[102.610659,32.152893],[102.610778,32.152964],[102.610836,32.153019],[102.610944,32.15312],[102.610974,32.153149],[102.611016,32.153292],[102.611028,32.153416],[102.611025,32.153735],[102.611022,32.154053],[102.611081,32.154249],[102.611081,32.154451],[102.611081,32.154654],[102.611129,32.154814],[102.611218,32.154999],[102.61129,32.155147],[102.611325,32.155296],[102.611319,32.155534],[102.61129,32.155825],[102.61129,32.155832],[102.611367,32.156242],[102.61142,32.156516],[102.611504,32.15667],[102.611635,32.156837],[102.611712,32.156986],[102.611849,32.157122],[102.61189,32.157194],[102.611926,32.157325],[102.611944,32.157586],[102.611947,32.157718],[102.611953,32.157958],[102.611957,32.158142],[102.611962,32.15833],[102.611974,32.15858],[102.612018,32.158741],[102.612033,32.158794],[102.612033,32.159014],[102.611962,32.159169],[102.61189,32.159306],[102.611837,32.159466],[102.611801,32.159591],[102.61173,32.159758],[102.611569,32.159939],[102.611409,32.160121],[102.611099,32.160269],[102.610968,32.160295],[102.610885,32.160311],[102.610683,32.160394],[102.610466,32.160582],[102.610303,32.160722],[102.610257,32.160762],[102.610249,32.160769],[102.610197,32.160851],[102.61013,32.160959],[102.61007,32.161156],[102.610034,32.161358],[102.610073,32.1617],[102.610112,32.162042],[102.610209,32.162357],[102.610237,32.162446],[102.610311,32.162667],[102.610385,32.162887],[102.610439,32.163101],[102.610439,32.163103],[102.610439,32.163104],[102.610463,32.163315],[102.610463,32.163517],[102.610445,32.163636],[102.610302,32.163803],[102.610211,32.164013],[102.610119,32.164224],[102.610066,32.164345],[102.610023,32.164445],[102.60993,32.164659],[102.609838,32.164874],[102.609761,32.165094],[102.609683,32.165314],[102.60957,32.165451],[102.609416,32.165564],[102.609332,32.165677],[102.609267,32.165831],[102.609202,32.166141],[102.609166,32.166449],[102.609148,32.166605],[102.609095,32.166771],[102.60897,32.166843],[102.608785,32.166878],[102.608625,32.166985],[102.608482,32.167169],[102.608482,32.16717],[102.608375,32.167402],[102.608324,32.167625],[102.608274,32.167848],[102.608265,32.168136],[102.608256,32.168425],[102.608253,32.16869],[102.60825,32.168954],[102.608208,32.169153],[102.60819,32.16924],[102.608119,32.169424],[102.607857,32.169638],[102.607655,32.169674],[102.607393,32.16974],[102.607256,32.169894],[102.607114,32.170156],[102.606894,32.170543],[102.606884,32.170554],[102.6067,32.170789],[102.6067,32.17083],[102.6067,32.170951],[102.606705,32.170968],[102.606766,32.171189],[102.606871,32.171426],[102.606861,32.171588],[102.606766,32.171712],[102.606595,32.171836],[102.606376,32.17195],[102.606157,32.172064],[102.605911,32.172261],[102.605729,32.172407],[102.605402,32.172705],[102.605075,32.173003],[102.604749,32.173301],[102.604574,32.173505],[102.604339,32.173777],[102.604116,32.174053],[102.603892,32.174329],[102.603511,32.174553],[102.60313,32.174777],[102.602812,32.174948],[102.602493,32.175119],[102.602312,32.175367],[102.602302,32.175408],[102.602255,32.175595],[102.602198,32.175824],[102.602192,32.175871],[102.60217,32.176075],[102.602122,32.176506],[102.602074,32.176937],[102.602046,32.177255],[102.602036,32.177375],[102.602164,32.177751],[102.602293,32.178127],[102.60235,32.178327],[102.60236,32.178565],[102.602379,32.178653],[102.602458,32.179011],[102.602537,32.179368],[102.602617,32.179726],[102.602688,32.180063],[102.60276,32.180399],[102.602769,32.180442],[102.60289,32.180806],[102.602962,32.180999],[102.602975,32.181063],[102.60299,32.181135],[102.60299,32.181313],[102.60296,32.181477],[102.602947,32.181549],[102.602962,32.181699],[102.603004,32.181802],[102.603001,32.181902],[102.602969,32.181988],[102.602969,32.182091],[102.602994,32.182138],[102.603151,32.182327],[102.603172,32.182405],[102.603204,32.182516],[102.60324,32.182652],[102.603271,32.18276],[102.603276,32.182777],[102.60334,32.18293],[102.603411,32.183044],[102.603518,32.183191],[102.603536,32.183251],[102.60353,32.183409],[102.603525,32.183537],[102.60355,32.183897],[102.603568,32.184172],[102.603568,32.184436],[102.60354,32.184831],[102.603511,32.185225],[102.603509,32.185533],[102.603508,32.185664],[102.603497,32.185867],[102.603483,32.186107],[102.603461,32.186224],[102.603401,32.186378],[102.60334,32.186528],[102.603323,32.186627],[102.603311,32.186695],[102.603315,32.187038],[102.603326,32.18722],[102.60329,32.187434],[102.603236,32.187656],[102.603183,32.187877],[102.603097,32.187991],[102.602994,32.188145],[102.602919,32.188287],[102.602808,32.188348],[102.602519,32.188434],[102.602148,32.188601],[102.6021,32.188621],[102.601759,32.188758],[102.601459,32.188851],[102.601245,32.188891],[102.601041,32.188919],[102.600956,32.188908],[102.600859,32.188873],[102.600524,32.188684],[102.60027,32.188591],[102.600053,32.18853],[102.600006,32.188523],[102.599646,32.188469],[102.599335,32.188434],[102.599207,32.188387],[102.598918,32.188266],[102.598746,32.188209],[102.598429,32.188195],[102.598182,32.188216],[102.598018,32.188237],[102.597818,32.188241],[102.597601,32.188198],[102.597599,32.188198],[102.597597,32.188197],[102.597483,32.188177],[102.597354,32.188159],[102.597265,32.188177],[102.59694,32.188373],[102.596719,32.188562],[102.596583,32.188758],[102.596412,32.188894],[102.596219,32.188948],[102.59608,32.188983],[102.595827,32.189076],[102.595455,32.189272],[102.595365,32.189319],[102.595234,32.189398],[102.595031,32.189636],[102.594851,32.189831],[102.59467,32.190026],[102.594554,32.1901],[102.59446,32.190161],[102.594278,32.190272],[102.593932,32.190436],[102.593721,32.190543],[102.59351,32.19065],[102.593196,32.190904],[102.592886,32.191125],[102.592745,32.191225],[102.592725,32.191239],[102.592699,32.191277],[102.592657,32.191339],[102.592532,32.191616],[102.592407,32.191892],[102.592311,32.192198],[102.592214,32.192504],[102.592118,32.19281],[102.592039,32.193146],[102.592025,32.193292],[102.592018,32.193367],[102.591946,32.193639],[102.591804,32.193818],[102.591754,32.193881],[102.591532,32.194034],[102.591525,32.194038],[102.59139,32.194238],[102.591268,32.194474],[102.591147,32.194709],[102.591035,32.195111],[102.590923,32.195514],[102.590811,32.195916],[102.590701,32.19619],[102.59059,32.196465],[102.590465,32.196676],[102.59034,32.196886],[102.590205,32.197158],[102.590133,32.197379],[102.590133,32.197508],[102.590183,32.19765],[102.590239,32.197822],[102.590269,32.197917],[102.590305,32.197952],[102.590392,32.198037],[102.590447,32.198091],[102.590736,32.198295],[102.591025,32.198498],[102.591265,32.198659],[102.591505,32.19882],[102.591622,32.198898],[102.591759,32.198962],[102.591918,32.199037],[102.592021,32.199102],[102.592118,32.199223],[102.592153,32.199355],[102.59231,32.199615],[102.592392,32.199708],[102.592428,32.199758],[102.592435,32.199851],[102.592426,32.199914],[102.592401,32.200081],[102.592367,32.200311],[102.592303,32.200736],[102.592306,32.200756],[102.592346,32.201],[102.592396,32.201239],[102.592496,32.201568],[102.592528,32.201732],[102.592564,32.201914],[102.592563,32.201921],[102.592539,32.202114],[102.592553,32.202217],[102.592567,32.202237],[102.592614,32.202303],[102.592714,32.202417],[102.593089,32.20264],[102.593224,32.202721],[102.593399,32.202863],[102.593552,32.20301],[102.593606,32.203085],[102.59366,32.203142],[102.593709,32.20317],[102.594045,32.203263],[102.594216,32.203313],[102.594616,32.203406],[102.594919,32.203474],[102.594939,32.203486],[102.595134,32.203609],[102.595234,32.203663],[102.595344,32.203677],[102.595548,32.203688],[102.595851,32.203706],[102.59599,32.203742],[102.596072,32.203763],[102.596394,32.203966],[102.596588,32.204091],[102.596783,32.204216],[102.596921,32.20433],[102.59704,32.204427],[102.597122,32.204466],[102.597207,32.204509],[102.597236,32.204523],[102.597293,32.204584],[102.59735,32.204698],[102.597375,32.204976],[102.597407,32.205133],[102.597475,32.205298],[102.597543,32.205369],[102.597568,32.205412],[102.597589,32.205444],[102.597614,32.20558],[102.597657,32.205719],[102.597728,32.205887],[102.597796,32.205994],[102.597964,32.206158],[102.598037,32.206254],[102.598114,32.206354],[102.598207,32.20644],[102.598232,32.206511],[102.598239,32.206625],[102.598276,32.206735],[102.598289,32.206772],[102.598298,32.206837],[102.598317,32.206986],[102.598321,32.207125],[102.598315,32.207172],[102.598303,32.207275],[102.598311,32.207525],[102.598317,32.207753],[102.598285,32.207857],[102.59831,32.208021],[102.598349,32.20821],[102.598399,32.208346],[102.59846,32.208517],[102.598503,32.208599],[102.598522,32.20865],[102.598589,32.208831],[102.598628,32.209234],[102.598637,32.209285],[102.59868,32.209508],[102.598702,32.209621],[102.598713,32.209661],[102.598734,32.209707],[102.598742,32.209723],[102.598921,32.210127],[102.599106,32.210534],[102.599216,32.210736],[102.599278,32.21085],[102.599335,32.210955],[102.599395,32.211105],[102.59942,32.211151],[102.599424,32.211215],[102.599388,32.211351],[102.599385,32.21136],[102.599331,32.211544],[102.599336,32.211586],[102.599342,32.211626],[102.599388,32.211708],[102.599536,32.212001],[102.599537,32.212002],[102.599538,32.212004],[102.599638,32.212343],[102.599756,32.212689],[102.599796,32.212844],[102.599856,32.213071],[102.599876,32.213141],[102.599959,32.213425],[102.599975,32.21346],[102.600059,32.21365],[102.600152,32.213832],[102.600205,32.213917],[102.600253,32.213971],[102.60043,32.214171],[102.600605,32.214478],[102.600662,32.214592],[102.600677,32.214685],[102.600677,32.214777],[102.600648,32.214902],[102.600641,32.214916],[102.600559,32.215077],[102.600387,32.215325],[102.600216,32.215573],[102.600045,32.215887],[102.599941,32.215991],[102.599784,32.216109],[102.599727,32.216184],[102.599656,32.216355],[102.599635,32.216448],[102.599552,32.216819],[102.599521,32.217025],[102.59952,32.217027],[102.59952,32.21703],[102.599524,32.217119],[102.599531,32.217204],[102.599531,32.217297],[102.599488,32.217408],[102.599385,32.217668],[102.599306,32.217975],[102.599256,32.218279],[102.59925,32.218305],[102.599237,32.218369],[102.599213,32.218479],[102.599192,32.218739],[102.59921,32.219121],[102.599215,32.219268],[102.599231,32.219692],[102.599256,32.21996],[102.599213,32.220149],[102.599156,32.220327],[102.599106,32.220411],[102.599031,32.220535],[102.598931,32.220659],[102.598651,32.22088],[102.598614,32.220909],[102.598353,32.221173],[102.598264,32.221288],[102.598175,32.221516],[102.598085,32.221627],[102.597939,32.22168],[102.597702,32.221821],[102.597693,32.221827],[102.597536,32.221959],[102.597391,32.222132],[102.597247,32.222305],[102.596965,32.22258],[102.5969,32.222751],[102.59685,32.222872],[102.596846,32.222894],[102.596825,32.223001],[102.596847,32.223111],[102.596897,32.223286],[102.596929,32.223399],[102.596954,32.223483],[102.597011,32.223636],[102.597043,32.223715],[102.597061,32.223779],[102.597063,32.223839],[102.597065,32.223868],[102.59709,32.223997],[102.597175,32.224204],[102.597188,32.224229],[102.597236,32.224321],[102.597293,32.224425],[102.597325,32.224528],[102.597343,32.224664],[102.597311,32.224917],[102.597223,32.225246],[102.597136,32.225574],[102.597047,32.225806],[102.597018,32.225992],[102.597009,32.226021],[102.596982,32.226106],[102.596925,32.226181],[102.59684,32.226267],[102.596679,32.226488],[102.596647,32.226627],[102.596568,32.226813],[102.596508,32.226948],[102.59649,32.227045],[102.596489,32.227115],[102.596483,32.227409],[102.596501,32.227655],[102.596497,32.227741],[102.596436,32.227873],[102.596419,32.227966],[102.596412,32.228018],[102.59641,32.228029],[102.596401,32.228105],[102.596372,32.228297],[102.596369,32.228394],[102.596415,32.228494],[102.596511,32.228672],[102.596536,32.228733],[102.596536,32.228804],[102.596511,32.228951],[102.596583,32.229286],[102.596654,32.229704],[102.596676,32.229833],[102.596693,32.229939],[102.596736,32.230178],[102.596779,32.230503],[102.596829,32.230689],[102.596918,32.230878],[102.597072,32.231046],[102.597225,32.231214],[102.597446,32.231343],[102.597571,32.231417],[102.597696,32.231528],[102.597708,32.231545],[102.597715,32.231657],[102.597732,32.231928],[102.597749,32.232198],[102.597774,32.232493],[102.597791,32.232557],[102.597797,32.232577],[102.597833,32.232713],[102.597839,32.232728],[102.597908,32.232907],[102.598015,32.233117],[102.598123,32.233327],[102.598231,32.233538],[102.598339,32.233748],[102.598446,32.233959],[102.598554,32.234169],[102.598662,32.234379],[102.598769,32.23459],[102.5989,32.234804],[102.59903,32.235018],[102.59917,32.235215],[102.59931,32.235413],[102.59945,32.23561],[102.59959,32.235808],[102.599797,32.236119],[102.600004,32.236431],[102.600211,32.236743],[102.600429,32.237019],[102.600681,32.237244],[102.600973,32.237447],[102.601266,32.23765],[102.601455,32.237781],[102.601645,32.237913],[102.601835,32.238044],[102.602025,32.238175],[102.602113,32.238236],[102.602151,32.238313],[102.60224,32.238438],[102.602311,32.23853],[102.602436,32.23868],[102.60259,32.238788],[102.60265,32.23883],[102.602825,32.238894],[102.602932,32.238923],[102.603089,32.238977],[102.603204,32.239062],[102.603412,32.239237],[102.603621,32.239412],[102.60385,32.239558],[102.604071,32.239715],[102.604214,32.239802],[102.604417,32.239926],[102.60467,32.240103],[102.604924,32.240279],[102.60519,32.240401],[102.605456,32.240522],[102.605652,32.240675],[102.605852,32.240918],[102.606102,32.241211],[102.606152,32.241332],[102.606187,32.241521],[102.606248,32.241739],[102.606316,32.24191],[102.606384,32.242032],[102.606592,32.242219],[102.606683,32.242301],[102.606737,32.242349],[102.606808,32.242453],[102.606894,32.242599],[102.606951,32.242688],[102.60708,32.242753],[102.607331,32.242837],[102.607429,32.242871],[102.607547,32.24291],[102.607604,32.242985],[102.607629,32.243081],[102.60766,32.243344],[102.607694,32.243631],[102.607747,32.243852],[102.607868,32.244186],[102.607947,32.244401],[102.60799,32.244519],[102.608065,32.244741],[102.608143,32.244962],[102.608226,32.2451],[102.608229,32.245105],[102.608318,32.245201],[102.608468,32.245255],[102.608732,32.245317],[102.608757,32.245323],[102.608956,32.245374],[102.608993,32.245383],[102.609111,32.24543],[102.609285,32.245701],[102.609428,32.245797],[102.609546,32.245865],[102.609592,32.245911],[102.609767,32.246276],[102.609894,32.246429],[102.609935,32.246479],[102.610142,32.24669],[102.61042,32.246889],[102.610699,32.247089],[102.611025,32.247286],[102.611352,32.247482],[102.611548,32.247609],[102.611745,32.247735],[102.612052,32.247978],[102.612114,32.248037],[102.612251,32.248167],[102.612387,32.248392],[102.612479,32.248493],[102.612501,32.248517],[102.612633,32.24866],[102.612783,32.248845],[102.612947,32.24912],[102.613037,32.249306],[102.613076,32.249388],[102.613229,32.249573],[102.613404,32.24973],[102.613479,32.249863],[102.613508,32.249927],[102.613536,32.249991],[102.613583,32.250067],[102.613704,32.250266],[102.613882,32.250465],[102.61394,32.25053],[102.613993,32.250637],[102.614003,32.25071],[102.614011,32.250773],[102.614015,32.250908],[102.613833,32.251251],[102.613779,32.251408],[102.613786,32.251536],[102.613811,32.251676],[102.613831,32.251713],[102.613972,32.251968],[102.614222,32.252257],[102.614525,32.252493],[102.614914,32.252696],[102.614996,32.252793],[102.615155,32.253076],[102.615171,32.253105],[102.615346,32.253417],[102.615485,32.253624],[102.615623,32.253752],[102.615678,32.253803],[102.61588,32.253975],[102.615896,32.253989],[102.615931,32.254039],[102.615935,32.254128],[102.615933,32.254143],[102.615892,32.254524],[102.615835,32.254727],[102.615778,32.255006],[102.615728,32.255138],[102.615631,32.255266],[102.615446,32.255388],[102.615178,32.255548],[102.615085,32.255602],[102.614993,32.255741],[102.614893,32.256005],[102.614814,32.256216],[102.614783,32.25642],[102.614775,32.256469],[102.614728,32.256773],[102.614757,32.256951],[102.614757,32.257058],[102.614748,32.257113],[102.614739,32.257172],[102.614664,32.257254],[102.614543,32.257351],[102.614304,32.257583],[102.614132,32.257811],[102.613968,32.258065],[102.613829,32.258273],[102.613696,32.258474],[102.61369,32.258482],[102.613618,32.258596],[102.613618,32.258661],[102.613665,32.258739],[102.613751,32.258853],[102.613979,32.25903],[102.614207,32.259207],[102.614439,32.259317],[102.614518,32.259367],[102.614582,32.259471],[102.614662,32.259587],[102.614907,32.259946],[102.615078,32.260213],[102.615114,32.260274],[102.615167,32.260324],[102.61526,32.26036],[102.615485,32.260381],[102.615592,32.260356],[102.615867,32.260277],[102.61617,32.260249],[102.616388,32.260252],[102.616656,32.260199],[102.616882,32.260124],[102.616916,32.260113],[102.617106,32.260099],[102.617512,32.260085],[102.617852,32.260074],[102.618269,32.26002],[102.61859,32.259988],[102.618883,32.260017],[102.619161,32.260104],[102.61944,32.260192],[102.61975,32.260256],[102.619985,32.260286],[102.620218,32.260317],[102.620486,32.26037],[102.620597,32.260354],[102.620632,32.260349],[102.620718,32.260338],[102.620785,32.260324],[102.620832,32.260317],[102.620885,32.260331],[102.620957,32.260374],[102.621174,32.260663],[102.621213,32.260742],[102.621335,32.260991],[102.621381,32.261063],[102.621489,32.261155],[102.621585,32.261198],[102.621853,32.261316],[102.62212,32.261434],[102.62237,32.26168],[102.622574,32.261832],[102.622777,32.261984],[102.622977,32.262135],[102.623177,32.262287],[102.623405,32.262474],[102.623634,32.262662],[102.623876,32.262847],[102.624101,32.262972],[102.624381,32.263056],[102.624662,32.26314],[102.624894,32.263204],[102.625018,32.263258],[102.625031,32.263263],[102.625031,32.263263],[102.625031,32.263263],[102.625179,32.263329],[102.625315,32.26344],[102.62559,32.263629],[102.625692,32.263728],[102.625693,32.263729],[102.625693,32.263729],[102.625781,32.263817],[102.625891,32.263927],[102.626089,32.264125],[102.626102,32.264141],[102.626103,32.264141],[102.626103,32.264142],[102.626381,32.264485],[102.62666,32.264828],[102.626829,32.264994],[102.626997,32.265161],[102.627196,32.265356],[102.627538,32.265578],[102.627724,32.26567],[102.627877,32.265749],[102.627981,32.265838],[102.628084,32.265949],[102.628249,32.26606],[102.628513,32.266245],[102.628685,32.266318],[102.62878,32.266359],[102.628905,32.266388],[102.629116,32.266342],[102.629234,32.266249],[102.629413,32.26605],[102.629425,32.266037],[102.629593,32.265852],[102.629658,32.265795],[102.629808,32.265667],[102.629965,32.265574],[102.630342,32.265368],[102.63064,32.26523],[102.630804,32.265165],[102.630879,32.265135],[102.6311,32.265092],[102.631393,32.265071],[102.631472,32.265068],[102.631818,32.265053],[102.632057,32.26501],[102.632203,32.264935],[102.63235,32.264846],[102.632514,32.264828],[102.632639,32.26486],[102.63276,32.264842],[102.632917,32.264807],[102.63306,32.264725],[102.633081,32.26469],[102.633149,32.264578],[102.633238,32.264351],[102.633253,32.264314],[102.633406,32.2641],[102.63356,32.264011],[102.633838,32.263943],[102.633981,32.263868],[102.634129,32.263795],[102.634316,32.263704],[102.634402,32.263608],[102.634429,32.263552],[102.634555,32.26329],[102.634641,32.26304],[102.634727,32.26279],[102.634809,32.262647],[102.63503,32.262455],[102.635255,32.262344],[102.635573,32.262255],[102.635733,32.262205],[102.635947,32.262105],[102.636094,32.262033],[102.636277,32.261892],[102.636426,32.261777],[102.636654,32.261655],[102.636786,32.261491],[102.636878,32.261342],[102.636972,32.261191],[102.637129,32.261009],[102.637286,32.260827],[102.637511,32.260635],[102.637775,32.26041],[102.638039,32.260185],[102.638307,32.259929],[102.638576,32.259673],[102.638844,32.259416],[102.639031,32.259267],[102.639217,32.259118],[102.639446,32.258935],[102.639674,32.258753],[102.639918,32.258532],[102.640152,32.258321],[102.640162,32.258312],[102.640394,32.258048],[102.640626,32.257783],[102.640662,32.257714],[102.640751,32.257545],[102.64078,32.257236],[102.640801,32.256822],[102.640822,32.256409],[102.640825,32.256352],[102.640828,32.25629],[102.640871,32.256208],[102.640882,32.256189],[102.641012,32.256094],[102.641334,32.256052],[102.64153,32.256034],[102.641595,32.255986],[102.641697,32.255927],[102.641804,32.255891],[102.64194,32.255903],[102.642214,32.255986],[102.642416,32.25601],[102.642648,32.255927],[102.642904,32.25579],[102.643172,32.255689],[102.643199,32.255687],[102.643326,32.255677],[102.643666,32.255778],[102.643892,32.255832],[102.644118,32.255885],[102.644439,32.256016],[102.644742,32.256129],[102.644903,32.256135],[102.645144,32.256055],[102.645385,32.255975],[102.645792,32.255841],[102.646199,32.255707],[102.646218,32.255701],[102.646517,32.255598],[102.646816,32.255495],[102.647116,32.255392],[102.647347,32.255408],[102.647578,32.255425],[102.647693,32.255433],[102.64799,32.255421],[102.648216,32.255427],[102.648323,32.255487],[102.648505,32.255704],[102.648686,32.255921],[102.648799,32.255992],[102.649085,32.256052],[102.649341,32.256171],[102.649561,32.256456],[102.649748,32.256667],[102.649935,32.256879],[102.649983,32.256932],[102.650141,32.257218],[102.650298,32.257503],[102.650403,32.257696],[102.650517,32.257906],[102.650631,32.258116],[102.650899,32.258437],[102.651081,32.258625],[102.651262,32.258812],[102.6515,32.25908],[102.65169,32.259169],[102.652062,32.259291],[102.652434,32.259413],[102.652815,32.259526],[102.653124,32.259615],[102.653439,32.259811],[102.65363,32.260002],[102.653802,32.260103],[102.653951,32.260139],[102.654343,32.26021],[102.654535,32.260299],[102.654688,32.260371],[102.654772,32.260478],[102.654813,32.260603],[102.654891,32.260722],[102.655045,32.260787],[102.65517,32.260818],[102.655212,32.260829],[102.655384,32.260882],[102.655474,32.260936],[102.655575,32.261037],[102.655706,32.261453],[102.655746,32.261509],[102.655914,32.261745],[102.656033,32.261944],[102.656152,32.262143],[102.656301,32.262447],[102.656408,32.262845],[102.656422,32.263098],[102.656437,32.263351],[102.656527,32.263675],[102.656616,32.263999],[102.656653,32.264159],[102.656729,32.264481],[102.656841,32.264647],[102.656889,32.264719],[102.657032,32.26485],[102.657252,32.264951],[102.657484,32.264981],[102.657895,32.265052],[102.658249,32.265135],[102.658589,32.265292],[102.65863,32.265312],[102.658773,32.26544],[102.658923,32.265638],[102.659073,32.265835],[102.659311,32.266078],[102.659432,32.266225],[102.659534,32.266349],[102.65977,32.266523],[102.660005,32.266696],[102.660239,32.266885],[102.660472,32.267074],[102.660705,32.267263],[102.660792,32.26732],[102.661129,32.267541],[102.661466,32.267762],[102.661814,32.267977],[102.662066,32.268186],[102.662171,32.268314],[102.66228,32.268372],[102.662661,32.268438],[102.662883,32.268478],[102.663061,32.26851],[102.663375,32.268614],[102.663736,32.268824],[102.664005,32.269033],[102.664274,32.269242],[102.664512,32.269442],[102.66475,32.269642],[102.665064,32.26988],[102.665273,32.270035],[102.665483,32.270189],[102.665601,32.27029],[102.66564,32.270323],[102.665749,32.270475],[102.665775,32.270542],[102.665806,32.270623],[102.665821,32.270822],[102.665845,32.27102],[102.665887,32.271365],[102.665897,32.271636],[102.665906,32.271907],[102.665913,32.272032],[102.665925,32.272274],[102.665892,32.272574],[102.665825,32.272912],[102.665816,32.273107],[102.665868,32.273302],[102.665987,32.273625],[102.666059,32.273821],[102.666106,32.273949],[102.666225,32.274273],[102.666332,32.274577],[102.666397,32.274762],[102.666439,32.274882],[102.666545,32.275186],[102.666554,32.27521],[102.666665,32.27555],[102.666708,32.275681],[102.666777,32.275891],[102.666872,32.276164],[102.666968,32.276438],[102.667006,32.276633],[102.667006,32.27679],[102.66693,32.276933],[102.666825,32.277093],[102.666587,32.277456],[102.666474,32.277707],[102.66636,32.277957],[102.666287,32.278118],[102.666176,32.278364],[102.665992,32.278771],[102.665808,32.279178],[102.665731,32.279349],[102.665624,32.279585],[102.66544,32.279991],[102.665295,32.280221],[102.665149,32.280451],[102.665113,32.280507],[102.664942,32.280777],[102.664735,32.281104],[102.66452,32.281444],[102.664305,32.281783],[102.664269,32.281876],[102.664241,32.282062],[102.664262,32.282159],[102.664284,32.282254],[102.664348,32.282376],[102.664512,32.282718],[102.664626,32.283104],[102.66458,32.283421],[102.664533,32.283739],[102.664434,32.283967],[102.664297,32.284174],[102.664241,32.28426],[102.664034,32.28451],[102.66377,32.2847],[102.663506,32.284891],[102.663241,32.285081],[102.663013,32.285267],[102.662906,32.285431],[102.662878,32.285595],[102.662856,32.285724],[102.662844,32.286144],[102.662835,32.286502],[102.662852,32.286917],[102.662863,32.287173],[102.662861,32.287192],[102.662842,32.287422],[102.66282,32.287672],[102.662831,32.287862],[102.662851,32.288206],[102.662856,32.288286],[102.662905,32.288665],[102.662913,32.288729],[102.662913,32.289057],[102.662956,32.289271],[102.663042,32.289528],[102.663127,32.289785],[102.66317,32.289905],[102.663182,32.289938],[102.66327,32.290179],[102.663369,32.290454],[102.663406,32.290556],[102.663543,32.290761],[102.66368,32.290965],[102.663784,32.29112],[102.663984,32.291336],[102.664146,32.291509],[102.664355,32.291734],[102.664442,32.291821],[102.664613,32.291992],[102.664783,32.292162],[102.665051,32.292369],[102.665222,32.292502],[102.665319,32.292576],[102.665536,32.292751],[102.665754,32.292926],[102.665829,32.293013],[102.665961,32.293166],[102.666168,32.293407],[102.666375,32.293647],[102.666532,32.294061],[102.666554,32.294275],[102.666518,32.294454],[102.666393,32.294643],[102.666268,32.294832],[102.666082,32.294998],[102.66579,32.29526],[102.66575,32.295291],[102.665534,32.295458],[102.665319,32.295624],[102.665047,32.295967],[102.664776,32.29631],[102.664569,32.296624],[102.664362,32.296938],[102.664155,32.297252],[102.664104,32.297352],[102.663959,32.297634],[102.663762,32.298016],[102.663725,32.298085],[102.663537,32.298433],[102.663349,32.298781],[102.663162,32.299128],[102.663042,32.299351],[102.662895,32.299666],[102.662748,32.299982],[102.662601,32.300298],[102.662463,32.300593],[102.662345,32.30087],[102.662235,32.301128],[102.662185,32.301399],[102.662178,32.301671],[102.662242,32.301885],[102.662336,32.302175],[102.662429,32.302466],[102.662513,32.302727],[102.662695,32.303014],[102.662877,32.3033],[102.663034,32.303548],[102.663202,32.303876],[102.66337,32.304205],[102.663569,32.30446],[102.663698,32.304626],[102.663827,32.30479],[102.66392,32.304926],[102.663998,32.305097],[102.664027,32.305261],[102.664041,32.305493],[102.664041,32.305495],[102.664041,32.305497],[102.66397,32.305832],[102.663845,32.306064],[102.66372,32.306296],[102.663648,32.306342],[102.663563,32.306396],[102.663327,32.306482],[102.663141,32.30661],[102.663056,32.306767],[102.663027,32.306917],[102.663006,32.307103],[102.663006,32.307331],[102.663134,32.307695],[102.663155,32.307839],[102.663191,32.308083],[102.663227,32.308328],[102.663241,32.308424],[102.663241,32.308659],[102.663206,32.308845],[102.663063,32.309052],[102.662972,32.309124],[102.66292,32.309166],[102.662904,32.309193],[102.662785,32.309402],[102.662742,32.309601],[102.662777,32.309758],[102.662842,32.309944],[102.662876,32.310054],[102.662992,32.310422],[102.66306,32.310708],[102.663128,32.310994],[102.663141,32.311051],[102.663141,32.311279],[102.663127,32.311515],[102.663027,32.311829],[102.662985,32.3119],[102.662835,32.312157],[102.662673,32.312419],[102.662512,32.312682],[102.66235,32.312944],[102.662191,32.313221],[102.662031,32.313498],[102.662004,32.313561],[102.661798,32.313898],[102.661652,32.314154],[102.661434,32.314349],[102.661215,32.314544],[102.661068,32.314599],[102.661035,32.314611],[102.660655,32.314696],[102.660275,32.314782],[102.66004,32.314841],[102.659805,32.314901],[102.659587,32.314974],[102.65948,32.314994],[102.659462,32.314995],[102.659338,32.315004],[102.659288,32.315008],[102.659086,32.314996],[102.658827,32.314907],[102.658568,32.314817],[102.658169,32.314615],[102.657813,32.314573],[102.65745,32.314556],[102.657271,32.314508],[102.65689,32.314319],[102.656508,32.31413],[102.656126,32.313941],[102.655998,32.313877],[102.655748,32.313717],[102.655499,32.313556],[102.655159,32.313396],[102.65488,32.313339],[102.6546,32.313283],[102.6543,32.313259],[102.653999,32.313235],[102.653595,32.313241],[102.653256,32.31333],[102.652889,32.313487],[102.652685,32.313574],[102.652453,32.313678],[102.652221,32.313782],[102.651906,32.313919],[102.65168,32.313931],[102.651346,32.313877],[102.651258,32.313869],[102.650995,32.313845],[102.650644,32.313812],[102.650606,32.31381],[102.650311,32.313794],[102.650038,32.313806],[102.64974,32.313919],[102.649608,32.313942],[102.649538,32.313955],[102.649258,32.313955],[102.648967,32.31383],[102.648675,32.313705],[102.648598,32.313641],[102.648574,32.313622],[102.648485,32.313622],[102.648384,32.313782],[102.648342,32.31405],[102.648348,32.314421],[102.648354,32.314792],[102.64836,32.315162],[102.648319,32.315484],[102.648176,32.315543],[102.648039,32.315638],[102.647914,32.315757],[102.647812,32.315903],[102.647789,32.315936],[102.647736,32.316156],[102.64775,32.316231],[102.647765,32.316305],[102.64784,32.316563],[102.647914,32.316822],[102.647872,32.316983],[102.6477,32.317096],[102.647459,32.317276],[102.647218,32.317456],[102.647135,32.317518],[102.646894,32.317792],[102.646653,32.318065],[102.646631,32.318113],[102.646532,32.318327],[102.646433,32.318541],[102.646427,32.318845],[102.646314,32.319071],[102.646202,32.319266],[102.646195,32.319279],[102.646171,32.319529],[102.646195,32.319719],[102.646367,32.32004],[102.646447,32.320287],[102.646459,32.320323],[102.646472,32.320365],[102.646578,32.320691],[102.646683,32.321016],[102.646745,32.321287],[102.646808,32.321557],[102.646814,32.321672],[102.646829,32.321936],[102.646847,32.322262],[102.646866,32.322587],[102.646823,32.322875],[102.646764,32.323263],[102.646706,32.323651],[102.64665,32.323897],[102.64663,32.323988],[102.646554,32.324325],[102.646478,32.324662],[102.646443,32.324901],[102.646426,32.325019],[102.646413,32.325112],[102.646375,32.325376],[102.646355,32.325753],[102.646335,32.326131],[102.646315,32.326508],[102.646295,32.326886],[102.646275,32.327263],[102.646262,32.327578],[102.646248,32.327892],[102.646234,32.328207],[102.646157,32.328502],[102.646079,32.328797],[102.64603,32.328984],[102.645972,32.329294],[102.645913,32.329604],[102.645879,32.329784],[102.645708,32.330108],[102.64565,32.330212],[102.645551,32.330389],[102.645394,32.330669],[102.645299,32.330812],[102.645289,32.33106],[102.645318,32.331193],[102.645543,32.33145],[102.645768,32.331707],[102.645993,32.331964],[102.646225,32.33218],[102.646457,32.332395],[102.646688,32.332611],[102.646688,32.332611],[102.646945,32.332797],[102.647202,32.332982],[102.647547,32.333161],[102.647683,32.333182],[102.64779,32.333218],[102.647854,32.333261],[102.64786,32.33331],[102.647861,32.333325],[102.647861,32.333368],[102.647776,32.333475],[102.647561,32.333632],[102.64724,32.333825],[102.646919,32.334017],[102.646576,32.33421],[102.646234,32.334403],[102.645891,32.334595],[102.645852,32.334617],[102.64559,32.334758],[102.6452,32.334968],[102.64481,32.335178],[102.644421,32.335388],[102.644039,32.335588],[102.643657,32.335787],[102.643275,32.335987],[102.642896,32.33619],[102.64267,32.336312],[102.642278,32.336485],[102.641886,32.336659],[102.641883,32.33666],[102.641882,32.336661],[102.641493,32.336833],[102.641207,32.33706],[102.640921,32.337287],[102.640761,32.337511],[102.640635,32.337884],[102.64051,32.338257],[102.640385,32.33863],[102.640297,32.339061],[102.640235,32.339366],[102.640172,32.339671],[102.640132,32.339912],[102.640059,32.34035],[102.639986,32.340788],[102.639913,32.341226],[102.639826,32.341643],[102.639739,32.34206],[102.639653,32.342477],[102.639622,32.342624],[102.639566,32.342893],[102.639482,32.343307],[102.639399,32.34372],[102.639315,32.344134],[102.639242,32.34443],[102.63917,32.344727],[102.639097,32.345023],[102.638994,32.345444],[102.638946,32.345838],[102.638898,32.346232],[102.638865,32.346502],[102.638834,32.346635],[102.638785,32.346847],[102.638704,32.347192],[102.638681,32.347294],[102.638624,32.347537],[102.638724,32.34793],[102.638731,32.348166],[102.638692,32.348406],[102.638688,32.34843],[102.638688,32.348708],[102.638738,32.348929],[102.638774,32.349201],[102.638874,32.349379],[102.639017,32.349579],[102.639131,32.349836],[102.639202,32.350221],[102.639268,32.350444],[102.639333,32.350666],[102.639409,32.350928],[102.639513,32.351135],[102.639616,32.351342],[102.639806,32.351645],[102.639986,32.351935],[102.639995,32.351949],[102.640252,32.352156],[102.640502,32.352299],[102.64073,32.352406],[102.64081,32.352447],[102.640941,32.352514],[102.640966,32.352527],[102.641215,32.352656],[102.641336,32.352753],[102.641433,32.35283],[102.641651,32.353005],[102.641795,32.353138],[102.642008,32.353334],[102.642158,32.353434],[102.642379,32.353555],[102.642507,32.353655],[102.642636,32.353769],[102.642736,32.353919],[102.642836,32.35399],[102.643021,32.354033],[102.643193,32.354055],[102.643314,32.35409],[102.643478,32.354176],[102.643628,32.354347],[102.643778,32.354519],[102.644071,32.354683],[102.644306,32.354769],[102.644513,32.354769],[102.644813,32.354754],[102.645177,32.354733],[102.645419,32.354729],[102.645661,32.354726],[102.6457,32.354731],[102.645991,32.354818],[102.646355,32.354961],[102.646583,32.354983],[102.646783,32.35499],[102.647083,32.354918],[102.647161,32.354899],[102.64754,32.354804],[102.647733,32.354761],[102.647918,32.354754],[102.64809,32.354797],[102.648261,32.354876],[102.648534,32.355041],[102.648807,32.355207],[102.649132,32.355404],[102.649465,32.355605],[102.649702,32.355747],[102.649939,32.355889],[102.64994,32.35589],[102.650113,32.356017],[102.650178,32.356065],[102.650417,32.356239],[102.650574,32.356582],[102.650699,32.35678],[102.650795,32.356931],[102.651081,32.357074],[102.651345,32.357146],[102.651752,32.357153],[102.652166,32.357089],[102.652473,32.35706],[102.652698,32.35706],[102.652865,32.35706],[102.653229,32.357131],[102.653593,32.357203],[102.653922,32.357298],[102.65425,32.357393],[102.654578,32.357488],[102.654627,32.357512],[102.654759,32.357547],[102.655141,32.357747],[102.655354,32.357876],[102.655566,32.358005],[102.655738,32.358153],[102.655911,32.358301],[102.656083,32.358448],[102.656255,32.358596],[102.656326,32.358677],[102.656476,32.358851],[102.656581,32.35916],[102.656618,32.359528],[102.656604,32.359785],[102.656592,32.360001],[102.65659,32.360041],[102.656579,32.360229],[102.656684,32.360593],[102.656684,32.3608],[102.656601,32.360956],[102.656533,32.361082],[102.656545,32.361484],[102.656558,32.361899],[102.656563,32.362078],[102.65657,32.362315],[102.656617,32.362653],[102.656664,32.362991],[102.656771,32.363301],[102.656856,32.363524],[102.656941,32.363748],[102.657072,32.363952],[102.657203,32.364157],[102.657407,32.364469],[102.657611,32.364781],[102.657815,32.365093],[102.657935,32.365288],[102.658056,32.365483],[102.658176,32.365678],[102.658296,32.365873],[102.658416,32.366068],[102.658536,32.366263],[102.658644,32.366486],[102.658753,32.366709],[102.658861,32.366932],[102.65897,32.367156],[102.659078,32.367379],[102.659187,32.367602],[102.659221,32.367671],[102.659296,32.367825],[102.659404,32.368048],[102.659508,32.368268],[102.659612,32.368489],[102.659716,32.368709],[102.659821,32.368929],[102.659925,32.36915],[102.660029,32.36937],[102.660144,32.369613],[102.660259,32.369856],[102.660374,32.370099],[102.660489,32.370342],[102.660604,32.370585],[102.660718,32.370828],[102.660879,32.371231],[102.661039,32.371634],[102.661116,32.371827],[102.661199,32.372036],[102.661359,32.372439],[102.661433,32.372674],[102.661507,32.372909],[102.661573,32.37312],[102.661581,32.373143],[102.661654,32.373378],[102.661728,32.373613],[102.661802,32.373848],[102.661881,32.374014],[102.661915,32.374086],[102.662029,32.374324],[102.662142,32.374562],[102.662157,32.374593],[102.662255,32.3748],[102.662304,32.374893],[102.662421,32.375113],[102.662531,32.37532],[102.66264,32.375528],[102.66266,32.375565],[102.66275,32.375735],[102.66286,32.375942],[102.66297,32.37615],[102.66308,32.376357],[102.663206,32.376564],[102.663332,32.37677],[102.663459,32.376977],[102.663508,32.377056],[102.663585,32.377183],[102.663618,32.377236],[102.663712,32.37739],[102.663838,32.377596],[102.663965,32.377803],[102.664091,32.378009],[102.664218,32.378216],[102.664344,32.378423],[102.664496,32.378639],[102.664627,32.378825],[102.664648,32.378855],[102.6648,32.379072],[102.664953,32.379288],[102.665105,32.379504],[102.665257,32.379721],[102.665409,32.379937],[102.665561,32.380153],[102.665713,32.38037],[102.665865,32.380586],[102.666085,32.38086],[102.666306,32.381135],[102.666471,32.38132],[102.666637,32.381506],[102.666916,32.381714],[102.667195,32.381922],[102.667565,32.382101],[102.667936,32.382281],[102.668353,32.382409],[102.66877,32.382537],[102.669188,32.382665],[102.669605,32.382793],[102.669953,32.382935],[102.670302,32.383077],[102.670549,32.383188],[102.670797,32.383298],[102.671108,32.383574],[102.671262,32.383779],[102.671416,32.383984],[102.67162,32.384315],[102.671823,32.384646],[102.672027,32.384978],[102.672229,32.385366],[102.672431,32.385754],[102.672633,32.386143],[102.672835,32.386531],[102.672907,32.386724],[102.672987,32.386938],[102.673067,32.387151],[102.673147,32.387365],[102.673227,32.387578],[102.673307,32.387791],[102.673388,32.388005],[102.673492,32.388206],[102.673597,32.388407],[102.673702,32.388608],[102.673807,32.388809],[102.673912,32.38901],[102.674017,32.389211],[102.674213,32.389523],[102.67441,32.389835],[102.674587,32.390012],[102.674765,32.390188],[102.675022,32.390338],[102.67528,32.390487],[102.675617,32.390647],[102.675954,32.390808],[102.676291,32.390968],[102.676559,32.391028],[102.676827,32.391088],[102.677095,32.391147],[102.677363,32.391207],[102.677713,32.391291],[102.678063,32.391374],[102.678198,32.391436],[102.67831,32.391514],[102.67833,32.39163],[102.678349,32.391765],[102.678321,32.391919],[102.678109,32.392262],[102.677956,32.392632],[102.677802,32.393001],[102.677648,32.393371],[102.677523,32.393605],[102.677397,32.393838],[102.677272,32.394072],[102.677147,32.394306],[102.677019,32.394515],[102.676891,32.394723],[102.676763,32.394932],[102.676635,32.395141],[102.676507,32.395349],[102.676379,32.395558],[102.676251,32.395766],[102.676123,32.395975],[102.675979,32.396187],[102.675836,32.396399],[102.675692,32.396611],[102.675549,32.396823],[102.675405,32.397035],[102.67529,32.397206],[102.675262,32.397247],[102.675118,32.397459],[102.674975,32.397671],[102.674831,32.397883],[102.674688,32.398095],[102.674544,32.398307],[102.674483,32.398399],[102.674401,32.39852],[102.674257,32.398732],[102.674114,32.398944],[102.67397,32.399177],[102.673826,32.39941],[102.673681,32.399642],[102.673537,32.399875],[102.673393,32.400108],[102.673249,32.400341],[102.673104,32.400574],[102.67296,32.400807],[102.672816,32.40104],[102.672672,32.401273],[102.672528,32.401506],[102.672383,32.401739],[102.672239,32.401972],[102.672095,32.402205],[102.671951,32.402438],[102.671806,32.402671],[102.671598,32.403048],[102.67139,32.403425],[102.671182,32.403802],[102.670974,32.404179],[102.670811,32.40454],[102.670649,32.404901],[102.670486,32.405262],[102.670479,32.405332],[102.670458,32.40555],[102.670539,32.40584],[102.67065,32.405997],[102.670851,32.406154],[102.67113,32.406352],[102.671409,32.406551],[102.671604,32.406694],[102.6718,32.406837],[102.671995,32.40698],[102.67219,32.407124],[102.672368,32.40729],[102.672546,32.407457],[102.672691,32.407678],[102.672837,32.407899],[102.672983,32.40812],[102.673129,32.408341],[102.673261,32.408541],[102.673365,32.408677],[102.673421,32.408783],[102.673631,32.40918],[102.673698,32.409306],[102.67382,32.409536],[102.674008,32.409891],[102.674215,32.410182],[102.674364,32.410392],[102.674513,32.410602],[102.674769,32.410807],[102.675025,32.411012],[102.675062,32.411025],[102.675479,32.41117],[102.675895,32.411314],[102.676222,32.411469],[102.676549,32.411623],[102.676876,32.411777],[102.677078,32.411893],[102.67728,32.412008],[102.677561,32.412203],[102.677807,32.41246],[102.677809,32.412461],[102.677812,32.412462],[102.677836,32.412491],[102.677928,32.412587],[102.678049,32.412737],[102.678114,32.412865],[102.678114,32.412866],[102.678114,32.412867],[102.678114,32.412868],[102.678128,32.413001],[102.678128,32.413144],[102.678099,32.413379],[102.678002,32.413628],[102.677968,32.413716],[102.677905,32.413876],[102.677892,32.413908],[102.677769,32.414159],[102.677728,32.414243],[102.677693,32.414457],[102.677711,32.414723],[102.67773,32.414988],[102.67775,32.415283],[102.677771,32.415578],[102.677764,32.415849],[102.677757,32.416121],[102.677785,32.416363],[102.677885,32.416649],[102.677985,32.416863],[102.678266,32.41705],[102.678328,32.417091],[102.678635,32.417245],[102.678942,32.417398],[102.679249,32.417552],[102.679556,32.417705],[102.679913,32.417873],[102.68027,32.418041],[102.680626,32.418209],[102.680983,32.418376],[102.68135,32.418567],[102.681716,32.418757],[102.682083,32.418947],[102.682259,32.419093],[102.682509,32.419298],[102.682758,32.419504],[102.682967,32.419772],[102.683175,32.42004],[102.683238,32.420119],[102.683455,32.42039],[102.683672,32.420661],[102.683774,32.420788],[102.683889,32.420932],[102.684031,32.421086],[102.684044,32.421089],[102.684281,32.421134],[102.684376,32.421134],[102.684797,32.421019],[102.685217,32.420904],[102.685638,32.420789],[102.686011,32.420668],[102.686385,32.420546],[102.686758,32.420425],[102.68685,32.420395],[102.687132,32.420304],[102.687505,32.420182],[102.687749,32.420135],[102.687993,32.420087],[102.68835,32.419992],[102.688493,32.419968],[102.688719,32.419968],[102.688814,32.419956],[102.688945,32.419992],[102.6891,32.420123],[102.689442,32.420346],[102.689784,32.420569],[102.690126,32.420792],[102.690468,32.421015],[102.690801,32.421217],[102.691134,32.42142],[102.691274,32.421497],[102.691484,32.421613],[102.691693,32.421729],[102.692098,32.421833],[102.692503,32.421937],[102.692621,32.421967],[102.692907,32.422106],[102.693192,32.422244],[102.693478,32.422383],[102.693728,32.422502],[102.693978,32.422621],[102.694186,32.422794],[102.694394,32.422966],[102.694602,32.423169],[102.69481,32.423371],[102.695032,32.423625],[102.695255,32.423878],[102.695477,32.424132],[102.695534,32.424226],[102.695687,32.424475],[102.695897,32.424818],[102.696107,32.425161],[102.696317,32.425504],[102.696528,32.425847],[102.696738,32.42619],[102.69691,32.426488],[102.697083,32.426785],[102.697255,32.427083],[102.697428,32.42738],[102.697614,32.427725],[102.69765,32.427791],[102.697801,32.42807],[102.697987,32.428415],[102.69803,32.428514],[102.698165,32.428826],[102.698344,32.429236],[102.698395,32.42936],[102.698451,32.429498],[102.698592,32.4296],[102.698665,32.429653],[102.698903,32.429772],[102.699045,32.429819],[102.699248,32.429888],[102.699333,32.429916],[102.699593,32.430004],[102.699938,32.43012],[102.700283,32.430236],[102.700622,32.430432],[102.700961,32.430628],[102.701239,32.430747],[102.701517,32.430866],[102.701794,32.430985],[102.702205,32.431122],[102.702615,32.431259],[102.70283,32.431348],[102.702972,32.431407],[102.703329,32.431556],[102.703597,32.431723],[102.703864,32.431889],[102.704114,32.432187],[102.704441,32.432395],[102.704768,32.432603],[102.705113,32.432799],[102.705458,32.432996],[102.70583,32.433128],[102.706078,32.433216],[102.706327,32.433305],[102.706583,32.433454],[102.706839,32.433602],[102.707005,32.43365],[102.707219,32.433626],[102.707517,32.433495],[102.707722,32.433447],[102.707921,32.4334],[102.708225,32.433376],[102.708528,32.433353],[102.708814,32.433394],[102.709099,32.433436],[102.709504,32.433567],[102.709849,32.433769],[102.709854,32.433775],[102.710027,32.433971],[102.710164,32.434257],[102.710301,32.434542],[102.710432,32.43478],[102.710562,32.435018],[102.710729,32.43522],[102.710979,32.43528],[102.711324,32.435399],[102.711669,32.435518],[102.711851,32.435626],[102.712131,32.43578],[102.712411,32.435934],[102.712545,32.43601],[102.712649,32.436172],[102.712802,32.436515],[102.712954,32.436858],[102.713055,32.437082],[102.713157,32.437307],[102.713268,32.437552],[102.713411,32.437943],[102.713468,32.438142],[102.713531,32.43825],[102.713601,32.438371],[102.713815,32.438656],[102.714029,32.438942],[102.714291,32.439204],[102.714553,32.439465],[102.71491,32.439689],[102.715031,32.439765],[102.715267,32.439913],[102.715476,32.440022],[102.715685,32.440132],[102.715847,32.440265],[102.715876,32.44037],[102.715919,32.440665],[102.715961,32.44096],[102.715985,32.441279],[102.716009,32.441597],[102.715985,32.441761],[102.715971,32.441854],[102.715941,32.442132],[102.715913,32.442383],[102.715885,32.442635],[102.715886,32.442638],[102.715923,32.442844],[102.715941,32.442876],[102.716038,32.443054],[102.716223,32.443249],[102.716409,32.443444],[102.716605,32.44371],[102.716802,32.443977],[102.716999,32.444243],[102.717132,32.444481],[102.717208,32.444843],[102.71724,32.445259],[102.717272,32.445674],[102.717303,32.44609],[102.717367,32.446509],[102.71743,32.446927],[102.717494,32.447346],[102.717583,32.44766],[102.717671,32.447974],[102.71776,32.448288],[102.717804,32.448405],[102.717855,32.448545],[102.717989,32.448717],[102.718112,32.448888],[102.718465,32.449107],[102.718574,32.449179],[102.718757,32.449301],[102.719048,32.449494],[102.71934,32.449688],[102.719349,32.449691],[102.719621,32.449784],[102.719892,32.449878],[102.720268,32.449987],[102.720644,32.450097],[102.721015,32.450282],[102.721127,32.450338],[102.721387,32.450468],[102.721526,32.450524],[102.721608,32.450567],[102.721796,32.450678],[102.721824,32.450706],[102.721862,32.450868],[102.721834,32.451011],[102.721672,32.451229],[102.721577,32.451448],[102.721558,32.451734],[102.721558,32.451953],[102.721434,32.452324],[102.721305,32.452689],[102.721175,32.453055],[102.72112,32.453209],[102.720992,32.453533],[102.720863,32.453856],[102.720787,32.454113],[102.720673,32.454313],[102.720494,32.454394],[102.720378,32.454447],[102.720159,32.454542],[102.719987,32.454713],[102.719792,32.454999],[102.71979,32.455001],[102.719642,32.455218],[102.719597,32.455284],[102.719437,32.455552],[102.719276,32.455819],[102.719116,32.456087],[102.719026,32.456236],[102.718879,32.456474],[102.718731,32.456712],[102.718598,32.45694],[102.718512,32.457131],[102.718512,32.457245],[102.718655,32.45733],[102.718971,32.457495],[102.718778,32.457557],[102.718069,32.457644],[102.717122,32.45786],[102.715839,32.458306],[102.7153,32.458493],[102.713919,32.458767],[102.712851,32.459081],[102.711503,32.459589],[102.709838,32.460224],[102.708442,32.461098],[102.70796,32.461391],[102.707743,32.461523],[102.707325,32.461777],[102.705837,32.462569],[102.705694,32.462646],[102.70442,32.463321],[102.703025,32.464161],[102.702303,32.464747],[102.701285,32.464629],[102.699758,32.464468],[102.698109,32.464471],[102.696979,32.464118],[102.696354,32.464006],[102.696304,32.464007],[102.694665,32.464042],[102.693445,32.464153],[102.691914,32.464125],[102.691043,32.464409],[102.689386,32.464744],[102.688008,32.464885],[102.686659,32.465427],[102.685268,32.4661],[102.683992,32.466842],[102.682959,32.467322],[102.681996,32.468137],[102.680831,32.469147],[102.680198,32.469335],[102.679673,32.468394],[102.679419,32.467557],[102.678424,32.466573],[102.677165,32.465119],[102.676399,32.464406],[102.675509,32.46389],[102.673834,32.46336],[102.672971,32.463344],[102.671747,32.463587],[102.671317,32.463546],[102.671691,32.462721],[102.671722,32.461523],[102.67209,32.459433],[102.672349,32.458506],[102.672094,32.457769],[102.671048,32.457217],[102.669418,32.456488],[102.667513,32.455754],[102.666433,32.455002],[102.665082,32.454111],[102.66374,32.452888],[102.662891,32.452306],[102.662136,32.452314],[102.661713,32.452318],[102.66137,32.452311],[102.660497,32.452295],[102.659429,32.452575],[102.658992,32.4528],[102.65831,32.453353],[102.657613,32.454505],[102.656853,32.455057],[102.655635,32.455067],[102.654573,32.455181],[102.652817,32.456279],[102.651823,32.45676],[102.648767,32.458034],[102.648555,32.458134],[102.646926,32.45709],[102.645651,32.456373],[102.644645,32.455777],[102.643154,32.455518],[102.642086,32.455336],[102.642062,32.454784],[102.641667,32.453802],[102.64168,32.453283],[102.641417,32.453083],[102.640118,32.452994],[102.639168,32.452684],[102.638217,32.452438],[102.637417,32.452261],[102.636745,32.451631],[102.635926,32.450707],[102.635334,32.449916],[102.634595,32.448896],[102.634037,32.448268],[102.633699,32.448002],[102.633019,32.447665],[102.632531,32.447266],[102.631846,32.447091],[102.630589,32.44684],[102.629403,32.446785],[102.628138,32.446858],[102.627704,32.447337],[102.627062,32.448116],[102.626764,32.448476],[102.626755,32.448488],[102.626744,32.448499],[102.626046,32.449222],[102.625449,32.450087],[102.625067,32.450048],[102.624124,32.44951],[102.623403,32.449237],[102.622301,32.448924],[102.62145,32.448637],[102.620972,32.448476],[102.619525,32.448157],[102.619196,32.448167],[102.618222,32.448197],[102.618083,32.448202],[102.61711,32.448241],[102.61585,32.44812],[102.61501,32.448087],[102.614386,32.448063],[102.614205,32.448056],[102.61394,32.447994],[102.61341,32.447871],[102.612682,32.447702],[102.61112,32.447413],[102.609444,32.447056],[102.607959,32.446736],[102.606124,32.446636],[102.604169,32.446696],[102.603164,32.447034],[102.601913,32.448017],[102.601593,32.44829],[102.601388,32.448466],[102.601208,32.44862],[102.600517,32.448672],[102.599369,32.448618],[102.599103,32.44862],[102.598918,32.448621],[102.598772,32.448623],[102.598182,32.448628],[102.596761,32.448763],[102.596137,32.449205],[102.595746,32.44949],[102.59475,32.449504],[102.59391,32.449423],[102.593035,32.449211],[102.592622,32.448911],[102.592072,32.447959],[102.591138,32.447097],[102.589935,32.446262],[102.588311,32.445386],[102.586495,32.444572],[102.584527,32.44369],[102.583009,32.443174],[102.581255,32.442913],[102.580868,32.44287],[102.579498,32.442717],[102.579065,32.44266],[102.577781,32.442489],[102.576027,32.442228],[102.574966,32.441786],[102.573031,32.441131],[102.571286,32.440513],[102.569919,32.440065],[102.567794,32.439374],[102.566501,32.439025],[102.565743,32.438718],[102.565107,32.438186],[102.564399,32.437458],[102.563736,32.436471],[102.562842,32.435544],[102.562561,32.434597],[102.562118,32.434004],[102.561318,32.433826],[102.560255,32.433513],[102.558222,32.432841],[102.556984,32.432157],[102.556042,32.431289],[102.553949,32.429358],[102.553757,32.429224],[102.55254,32.428367],[102.550491,32.426704],[102.548578,32.425304],[102.548572,32.4253],[102.548567,32.425296],[102.548552,32.425285],[102.548521,32.425262],[102.548496,32.425244],[102.548491,32.425241],[102.54848,32.425234],[102.548362,32.425162],[102.5482,32.425063],[102.546613,32.424091],[102.54649,32.42401],[102.546463,32.423992],[102.544321,32.422575],[102.543751,32.422217],[102.543321,32.421947],[102.540902,32.420733],[102.538959,32.419788],[102.538835,32.419728],[102.538407,32.419519],[102.536887,32.418777],[102.535523,32.418344],[102.534512,32.418121],[102.534201,32.418159],[102.533943,32.418191],[102.533156,32.418286],[102.532712,32.41834],[102.532553,32.418385],[102.531386,32.41872],[102.529342,32.419085],[102.528362,32.419155],[102.527846,32.419192],[102.527664,32.419205],[102.526508,32.419228],[102.52509,32.419256],[102.523884,32.419232],[102.523122,32.419217],[102.521922,32.419193],[102.520065,32.419258],[102.518846,32.419234],[102.518773,32.419233],[102.516419,32.419186],[102.513727,32.419184],[102.512634,32.419771],[102.511778,32.420464],[102.511402,32.421066],[102.511323,32.421215],[102.511263,32.421327],[102.511246,32.421359],[102.511236,32.421379],[102.511223,32.421402],[102.510749,32.422294],[102.510708,32.422371],[102.510669,32.423791],[102.511394,32.425733],[102.512401,32.428239],[102.513938,32.43111],[102.514308,32.432894],[102.514031,32.434258],[102.513027,32.435963],[102.511793,32.437308],[102.510628,32.438351],[102.509176,32.438931],[102.507601,32.43961],[102.506141,32.440494],[102.50465,32.442494],[102.502618,32.444584],[102.501934,32.445535],[102.501265,32.445927],[102.500299,32.446213],[102.499732,32.447445],[102.498921,32.448001],[102.496884,32.448531],[102.495789,32.44825],[102.494777,32.447191],[102.493962,32.445668],[102.493447,32.444359],[102.492802,32.443308],[102.492528,32.44216],[102.492023,32.440487],[102.491511,32.439075],[102.491415,32.438086],[102.491259,32.437096],[102.490313,32.435882],[102.488331,32.43444],[102.487322,32.433277],[102.48649,32.432378],[102.485528,32.431735],[102.484503,32.431143],[102.48343,32.430083],[102.482739,32.428511],[102.482403,32.427362],[102.481591,32.425735],[102.481169,32.423285],[102.480743,32.420991],[102.480725,32.419433],[102.480701,32.418082],[102.480625,32.416418],[102.480722,32.415121],[102.481419,32.412071],[102.481512,32.41093],[102.481502,32.409111],[102.481535,32.407917],[102.481934,32.406782],[102.481957,32.405952],[102.481929,32.404757],[102.482146,32.403566],[102.48292,32.402127],[102.483981,32.401421],[102.485717,32.400625],[102.487793,32.39864],[102.488665,32.398086],[102.48943,32.397011],[102.490508,32.395682],[102.490781,32.394648],[102.490756,32.393349],[102.490554,32.391787],[102.490778,32.390337],[102.491056,32.386914],[102.491462,32.385519],[102.491141,32.383851],[102.491049,32.382758],[102.490598,32.381346],[102.490509,32.38015],[102.490542,32.378956],[102.490394,32.377654],[102.488845,32.376117],[102.488027,32.374698],[102.487249,32.374059],[102.486154,32.37383],[102.486108,32.373257],[102.486269,32.371858],[102.486611,32.370566],[102.48628,32.369261],[102.485027,32.368093],[102.484561,32.367252],[102.483433,32.365983],[102.482675,32.364617],[102.482273,32.363674],[102.482135,32.362009],[102.482039,32.361072],[102.481338,32.359864],[102.480688,32.359019],[102.479785,32.358482],[102.478407,32.357402],[102.476598,32.356457],[102.475767,32.356051],[102.47458,32.354728],[102.473468,32.353472],[102.472326,32.353254],[102.471258,32.353168],[102.470661,32.353029],[102.470346,32.352955],[102.468904,32.352536],[102.467467,32.351923],[102.466106,32.351376],[102.464668,32.350827],[102.462705,32.349879],[102.460597,32.348667],[102.458786,32.347787],[102.458579,32.347678],[102.456977,32.346841],[102.455953,32.34682],[102.455753,32.346816],[102.454523,32.347051],[102.454496,32.347052],[102.454452,32.347055],[102.453604,32.347097],[102.451698,32.346864],[102.450859,32.346782],[102.450575,32.346601],[102.45045,32.346521],[102.450444,32.346518],[102.450239,32.346387],[102.449807,32.346111],[102.449363,32.346021],[102.449228,32.346117],[102.449219,32.346108],[102.449134,32.346058],[102.448742,32.345895],[102.447984,32.345262],[102.447546,32.344897],[102.44698,32.343262],[102.446265,32.341494],[102.445203,32.33947],[102.444765,32.338635],[102.444755,32.338616],[102.444737,32.338582],[102.444719,32.338546],[102.444639,32.338395],[102.444552,32.338229],[102.441805,32.337214],[102.441275,32.337018],[102.441245,32.337007],[102.441061,32.336939],[102.440769,32.336831],[102.43883,32.336226],[102.438076,32.335918],[102.437753,32.335786],[102.437611,32.335728],[102.437505,32.335685],[102.437468,32.33567],[102.437419,32.335626],[102.437413,32.33562],[102.437005,32.335257],[102.436948,32.335206],[102.436784,32.334713],[102.437072,32.333964],[102.437296,32.333477],[102.437515,32.332959],[102.437551,32.331684],[102.437254,32.330243],[102.437252,32.330237],[102.437211,32.330039],[102.437177,32.32987],[102.43713,32.329646],[102.437047,32.329495],[102.436936,32.329295],[102.43685,32.329139],[102.436744,32.328948],[102.436634,32.32875],[102.436548,32.328594],[102.436481,32.328474],[102.436415,32.328355],[102.436403,32.328213],[102.436392,32.328078],[102.436313,32.327135],[102.435728,32.326079],[102.435735,32.325853],[102.435736,32.325798],[102.435756,32.325081],[102.435761,32.324933],[102.435784,32.324108],[102.435787,32.324072],[102.435809,32.32385],[102.43588,32.323124],[102.435498,32.322131],[102.435123,32.320905],[102.434873,32.320088],[102.434672,32.319572],[102.434554,32.31927],[102.434412,32.318963],[102.434182,32.318469],[102.434105,32.318304],[102.433846,32.317747],[102.433206,32.316368],[102.433116,32.315485],[102.432948,32.314634],[102.432878,32.313389],[102.432877,32.313361],[102.432877,32.313359],[102.432875,32.313349],[102.432875,32.313348],[102.432874,32.313331],[102.432871,32.313262],[102.432873,32.31325],[102.432892,32.313138],[102.43301,32.312416],[102.433662,32.311092],[102.434185,32.310287],[102.434708,32.309417],[102.435152,32.308676],[102.435335,32.307636],[102.435919,32.305984],[102.436223,32.30475],[102.436339,32.30335],[102.436629,32.302605],[102.436964,32.301633],[102.436959,32.300459],[102.436929,32.298794],[102.437037,32.297687],[102.437007,32.297452],[102.436785,32.295692],[102.436772,32.295461],[102.436747,32.295033],[102.436708,32.294353],[102.436507,32.293305],[102.436316,32.291898],[102.436036,32.290947],[102.435917,32.289704],[102.436169,32.288678],[102.436182,32.288624],[102.436194,32.288578],[102.436202,32.288543],[102.436235,32.288407],[102.436307,32.288114],[102.436334,32.287824],[102.436342,32.287743],[102.436418,32.286909],[102.436614,32.285412],[102.43739,32.283764],[102.437437,32.283638],[102.437464,32.283566],[102.437639,32.283096],[102.437764,32.28276],[102.438077,32.281961],[102.438138,32.281807],[102.438715,32.280333],[102.4387,32.279674],[102.438698,32.279582],[102.438861,32.278874],[102.438884,32.278774],[102.438982,32.278347],[102.439004,32.278251],[102.439146,32.278018],[102.439512,32.277416],[102.439729,32.277058],[102.440042,32.276506],[102.440265,32.276111],[102.440295,32.276059],[102.441318,32.275166],[102.442267,32.274206],[102.442676,32.273379],[102.442715,32.273302],[102.442814,32.272488],[102.443153,32.271353],[102.443212,32.270637],[102.443232,32.269919],[102.443138,32.269167],[102.443246,32.268412],[102.443258,32.268332],[102.443329,32.267833],[102.44334,32.267658],[102.443397,32.266791],[102.443412,32.266237],[102.443079,32.265806],[102.442676,32.265112],[102.441852,32.264378],[102.441138,32.263809],[102.440476,32.262784],[102.439117,32.261941],[102.438684,32.260953],[102.438684,32.260652],[102.438684,32.260357],[102.438685,32.25955],[102.438666,32.259208],[102.438634,32.258636],[102.438868,32.258063],[102.438964,32.257827],[102.439515,32.257349],[102.439681,32.256895],[102.439581,32.256575],[102.439525,32.256395],[102.439364,32.255878],[102.438638,32.254395],[102.438405,32.253118],[102.438039,32.252164],[102.437815,32.251581],[102.437761,32.251441],[102.43736,32.250654],[102.437106,32.250155],[102.437021,32.249991],[102.43699,32.24993],[102.436342,32.248671],[102.436359,32.248052],[102.4364,32.247982],[102.436461,32.247878],[102.436559,32.247711],[102.436687,32.247494],[102.436843,32.247229],[102.437004,32.246956],[102.437136,32.246815],[102.43739,32.246546],[102.437637,32.246283],[102.437652,32.246254],[102.437776,32.246008],[102.437881,32.245799],[102.437759,32.245448],[102.437653,32.245144],[102.437561,32.244879],[102.437409,32.244509],[102.437305,32.244257],[102.43712,32.243808],[102.436897,32.243267],[102.436716,32.242829],[102.436598,32.242544],[102.436524,32.242362],[102.436425,32.242124],[102.436197,32.24157],[102.436012,32.241121],[102.435746,32.240476],[102.435513,32.239911],[102.43535,32.239616],[102.435111,32.239185],[102.434893,32.238843],[102.43467,32.238491],[102.434286,32.238198],[102.433961,32.237949],[102.433618,32.237687],[102.433231,32.237395],[102.432801,32.237072],[102.432415,32.236781],[102.431821,32.236423],[102.431154,32.23602],[102.430659,32.235721],[102.430175,32.235429],[102.429741,32.235167],[102.429395,32.234958],[102.428998,32.234783],[102.428598,32.234556],[102.428109,32.234279],[102.427614,32.234056],[102.427028,32.233792],[102.426517,32.233562],[102.426057,32.233454],[102.425297,32.233276],[102.424565,32.233198],[102.424149,32.233154],[102.42345,32.23314],[102.422776,32.233126],[102.422269,32.233116],[102.421705,32.233208],[102.421206,32.23329],[102.420495,32.233406],[102.419798,32.23362],[102.419399,32.233719],[102.419766,32.23299],[102.420302,32.231677],[102.420339,32.230355],[102.420318,32.230043],[102.420208,32.228394],[102.419875,32.226958],[102.419912,32.225636],[102.419688,32.224732],[102.419273,32.223626],[102.419167,32.223345],[102.419013,32.222177],[102.418602,32.221322],[102.417815,32.220512],[102.417531,32.219554],[102.417613,32.218867],[102.418141,32.21782],[102.418535,32.217087],[102.419814,32.215896],[102.419914,32.215689],[102.419942,32.215631],[102.420144,32.215214],[102.420069,32.215005],[102.420014,32.214855],[102.419855,32.214414],[102.419601,32.214079],[102.419035,32.213332],[102.418648,32.212336],[102.417692,32.211151],[102.417605,32.211043],[102.417051,32.210043],[102.416984,32.209705],[102.416927,32.209422],[102.416782,32.208527],[102.416637,32.207632],[102.416547,32.20681],[102.416104,32.206066],[102.415356,32.204808],[102.414411,32.204114],[102.413637,32.203423],[102.413632,32.203286],[102.413614,32.202796],[102.413605,32.202554],[102.413513,32.202148],[102.413353,32.20144],[102.41318,32.201208],[102.412911,32.200846],[102.41282,32.200724],[102.412705,32.200569],[102.412587,32.20041],[102.412478,32.200265],[102.412438,32.200171],[102.412379,32.200033],[102.412318,32.199855],[102.412229,32.199627],[102.412156,32.199442],[102.412074,32.199232],[102.412002,32.199049],[102.411959,32.19887],[102.411933,32.198756],[102.411898,32.198606],[102.411863,32.198457],[102.4118,32.198187],[102.411547,32.19711],[102.411356,32.196353],[102.411247,32.19592],[102.410986,32.194881],[102.410968,32.19354],[102.410968,32.19353],[102.410954,32.19333],[102.410847,32.191792],[102.410594,32.190966],[102.410432,32.190433],[102.410091,32.189611],[102.409848,32.189023],[102.40958,32.188638],[102.409432,32.188425],[102.409318,32.188261],[102.409303,32.18824],[102.408992,32.187221],[102.408253,32.185277],[102.407528,32.184828],[102.406406,32.184419],[102.40533,32.184349],[102.404833,32.183904],[102.404709,32.183709],[102.404692,32.183682],[102.404271,32.183019],[102.404182,32.182879],[102.403964,32.182536],[102.403043,32.181022],[102.402338,32.179899],[102.401627,32.178968],[102.40031,32.177446],[102.399263,32.176363],[102.398376,32.17567],[102.396988,32.174629],[102.395433,32.173487],[102.394544,32.172842],[102.393159,32.171705],[102.391037,32.170552],[102.388857,32.169446],[102.387477,32.168163],[102.387211,32.167531],[102.387169,32.167444],[102.387355,32.167478],[102.387528,32.167489],[102.387694,32.167454],[102.387903,32.167376],[102.388093,32.16724],[102.388224,32.167008],[102.388378,32.166609],[102.388468,32.16635],[102.388557,32.166092],[102.388557,32.165741],[102.388483,32.165467],[102.388408,32.165193],[102.388269,32.16492],[102.38813,32.164646],[102.388069,32.164527],[102.387938,32.164343],[102.387807,32.164158],[102.387665,32.163944],[102.387522,32.16373],[102.387385,32.163343],[102.387296,32.163086],[102.387208,32.162829],[102.387141,32.162635],[102.387037,32.16243],[102.386933,32.162225],[102.386927,32.161945],[102.386992,32.161577],[102.387023,32.16152],[102.387153,32.161285],[102.387266,32.161035],[102.387349,32.160782],[102.38745,32.16047],[102.387474,32.160232],[102.387456,32.159982],[102.387385,32.159792],[102.387364,32.159737],[102.387278,32.159506],[102.387278,32.159268],[102.387278,32.159031],[102.387278,32.158644],[102.38729,32.158394],[102.387302,32.158144],[102.38739,32.157894],[102.387478,32.157644],[102.387522,32.15752],[102.387599,32.157151],[102.387641,32.156871],[102.387635,32.156759],[102.387629,32.156657],[102.387605,32.156422],[102.387581,32.156187],[102.387599,32.156032],[102.387676,32.155902],[102.387885,32.155705],[102.388194,32.15539],[102.388372,32.15517],[102.388408,32.155039],[102.388551,32.154753],[102.388735,32.154504],[102.388902,32.154349],[102.388932,32.154312],[102.388958,32.154279],[102.389229,32.153944],[102.389515,32.153724],[102.389735,32.153451],[102.389961,32.153284],[102.390127,32.153058],[102.390252,32.152838],[102.390336,32.152707],[102.390371,32.152546],[102.390371,32.152404],[102.390318,32.152094],[102.390264,32.151785],[102.390264,32.151601],[102.390217,32.151398],[102.390062,32.151214],[102.38983,32.15103],[102.389598,32.150845],[102.389598,32.150845],[102.38936,32.150685],[102.389289,32.150625],[102.389267,32.15048],[102.389235,32.150268],[102.389283,32.149822],[102.389238,32.149557],[102.389193,32.149293],[102.389125,32.149019],[102.389057,32.148745],[102.389068,32.148608],[102.389098,32.148537],[102.38917,32.148489],[102.389515,32.148388],[102.389729,32.148308],[102.389943,32.148228],[102.390108,32.148185],[102.390377,32.148115],[102.390432,32.148112],[102.39074,32.148097],[102.391008,32.148133],[102.39121,32.148139],[102.391472,32.148097],[102.391766,32.148008],[102.392061,32.147918],[102.392459,32.14785],[102.392858,32.147782],[102.39323,32.147683],[102.393601,32.147585],[102.394024,32.147496],[102.394458,32.147383],[102.394862,32.147222],[102.395112,32.147008],[102.395231,32.146788],[102.395321,32.146479],[102.395333,32.146349],[102.395369,32.145991],[102.395404,32.145634],[102.395422,32.145361],[102.395535,32.145013],[102.395648,32.144665],[102.395802,32.144349],[102.395892,32.144117],[102.395892,32.143757],[102.395892,32.143397],[102.395945,32.143035],[102.396022,32.142862],[102.396124,32.142761],[102.396326,32.142654],[102.396458,32.142588],[102.39679,32.142422],[102.396998,32.142345],[102.397171,32.142339],[102.397309,32.142365],[102.397355,32.142374],[102.397522,32.142434],[102.39764,32.142446],[102.397861,32.142428],[102.398096,32.142356],[102.398331,32.142285],[102.398705,32.142166],[102.398961,32.142047],[102.399205,32.141988],[102.399479,32.141898],[102.399776,32.141768],[102.399961,32.141698],[102.400091,32.141649],[102.400401,32.141536],[102.40074,32.141488],[102.400978,32.141428],[102.401293,32.141256],[102.401513,32.141149],[102.401733,32.141042],[102.402138,32.140887],[102.402459,32.140798],[102.402634,32.140637],[102.40281,32.140477],[102.402991,32.140254],[102.403173,32.140031],[102.403446,32.139697],[102.403571,32.13937],[102.403666,32.138966],[102.403747,32.138524],[102.403828,32.138082],[102.403846,32.137999],[102.403903,32.137736],[102.403935,32.137371],[102.404,32.137172],[102.404022,32.137138],[102.404117,32.136993],[102.404264,32.136822],[102.40441,32.13665],[102.404567,32.136408],[102.404724,32.136165],[102.405028,32.135847],[102.405095,32.135756],[102.40516,32.135669],[102.405238,32.135483],[102.405252,32.135351],[102.405299,32.135259],[102.405374,32.135255],[102.405481,32.135269],[102.405566,32.135291],[102.405616,32.135312],[102.405789,32.135348],[102.405938,32.135383],[102.406051,32.135461],[102.406134,32.135496],[102.406223,32.13552],[102.406378,32.135538],[102.406574,32.13555],[102.406818,32.135598],[102.407074,32.135675],[102.407229,32.135705],[102.407417,32.135705],[102.407603,32.13568],[102.407845,32.135648],[102.408088,32.135616],[102.408348,32.135606],[102.408608,32.135595],[102.408869,32.135585],[102.409129,32.135574],[102.409514,32.13553],[102.409884,32.135487],[102.41013,32.13542],[102.410375,32.135354],[102.410488,32.135282],[102.410566,32.13514],[102.410619,32.135021],[102.410738,32.134967],[102.410946,32.134967],[102.411101,32.135021],[102.41122,32.13514],[102.411369,32.135235],[102.411506,32.135282],[102.411874,32.135342],[102.412243,32.135401],[102.412535,32.135434],[102.412666,32.135449],[102.412957,32.135491],[102.413314,32.135693],[102.413558,32.135865],[102.413654,32.136022],[102.413796,32.136252],[102.413927,32.136612],[102.414058,32.136972],[102.414257,32.137262],[102.414456,32.137552],[102.414462,32.137561],[102.414617,32.137715],[102.414736,32.137787],[102.414873,32.137864],[102.415057,32.137894],[102.415417,32.138001],[102.415777,32.138108],[102.416205,32.138173],[102.416336,32.138179],[102.416526,32.138167],[102.416806,32.138096],[102.417234,32.138066],[102.417549,32.138025],[102.417712,32.13802],[102.418136,32.138007],[102.418561,32.137995],[102.418858,32.138007],[102.419072,32.138072],[102.419179,32.13815],[102.41928,32.13834],[102.41934,32.138377],[102.41941,32.138421],[102.419674,32.138564],[102.420003,32.138635],[102.42022,32.138667],[102.420338,32.138685],[102.420406,32.138693],[102.420681,32.138728],[102.420981,32.138756],[102.421209,32.138735],[102.421437,32.138678],[102.421759,32.138728],[102.421923,32.138835],[102.42213,32.13902],[102.422401,32.139177],[102.42263,32.139335],[102.422972,32.139484],[102.423179,32.139542],[102.423415,32.139777],[102.423661,32.139955],[102.423938,32.140155],[102.424214,32.140355],[102.424443,32.140473],[102.424671,32.140591],[102.424892,32.140719],[102.425042,32.140762],[102.425406,32.140841],[102.42577,32.140798],[102.425899,32.140698],[102.42602,32.140441],[102.426183,32.140161],[102.426199,32.140134],[102.426497,32.13987],[102.426796,32.139606],[102.427094,32.139342],[102.427392,32.139078],[102.427691,32.138813],[102.427878,32.138647],[102.428066,32.138482],[102.428312,32.138264],[102.428554,32.137982],[102.428797,32.1377],[102.429,32.137336],[102.429111,32.137136],[102.429354,32.136879],[102.429697,32.136636],[102.430018,32.136472],[102.430308,32.136363],[102.430598,32.136253],[102.430889,32.136144],[102.431205,32.136025],[102.431522,32.135906],[102.431838,32.135787],[102.432107,32.135639],[102.432376,32.135492],[102.432645,32.135344],[102.432852,32.135116],[102.433059,32.134887],[102.433284,32.134627],[102.433508,32.134366],[102.433662,32.134145],[102.433815,32.133924],[102.434046,32.133729],[102.434277,32.133533],[102.434508,32.133338],[102.434851,32.133081],[102.43515,32.133081],[102.435429,32.133096],[102.435821,32.133074],[102.436082,32.133059],[102.436314,32.133046],[102.436571,32.133003],[102.436935,32.132953],[102.437231,32.132899],[102.437527,32.132846],[102.437824,32.132757],[102.43812,32.132667],[102.438434,32.132477],[102.438748,32.132287],[102.439062,32.132096],[102.439419,32.131868],[102.439776,32.131639],[102.439976,32.131486],[102.440176,32.131332],[102.440368,32.13099],[102.440383,32.130633],[102.440383,32.130269],[102.440354,32.129998],[102.440254,32.129783],[102.44039,32.129498],[102.44049,32.129319],[102.440504,32.129227],[102.440461,32.129062],[102.440297,32.128805],[102.44023,32.128738],[102.440097,32.128606],[102.439933,32.128527],[102.439862,32.128434],[102.439776,32.128199],[102.43969,32.12796],[102.439605,32.12772],[102.439565,32.127496],[102.439526,32.127271],[102.4395,32.127214],[102.439401,32.127035],[102.439281,32.126817],[102.438974,32.126494],[102.438667,32.12617],[102.438505,32.125999],[102.438343,32.125828],[102.438181,32.125657],[102.438018,32.125486],[102.437856,32.125315],[102.437694,32.125144],[102.437643,32.125111],[102.437358,32.124932],[102.437073,32.124753],[102.436834,32.124669],[102.436596,32.124585],[102.436377,32.124455],[102.436308,32.124264],[102.436407,32.124045],[102.436506,32.123826],[102.436685,32.123624],[102.436864,32.123422],[102.437043,32.123221],[102.437221,32.123019],[102.4374,32.122817],[102.437579,32.122615],[102.437725,32.122397],[102.43787,32.122179],[102.438035,32.121933],[102.438285,32.1217],[102.438536,32.121467],[102.438639,32.121389],[102.438736,32.121315],[102.438984,32.121086],[102.43906,32.120763],[102.439079,32.120511],[102.439098,32.120258],[102.43912,32.120108],[102.439167,32.119792],[102.439214,32.119476],[102.439203,32.119166],[102.43915,32.118934],[102.439143,32.118904],[102.43906,32.118571],[102.439131,32.118197],[102.439203,32.117822],[102.439274,32.117596],[102.439345,32.11737],[102.439512,32.117156],[102.439726,32.117048],[102.43994,32.116941],[102.440285,32.116822],[102.44046,32.116807],[102.44069,32.116787],[102.441005,32.116822],[102.44132,32.116858],[102.44153,32.116767],[102.441741,32.116676],[102.442095,32.116399],[102.442449,32.116122],[102.442716,32.115989],[102.442984,32.115855],[102.443103,32.115849],[102.443258,32.115885],[102.443371,32.115944],[102.443555,32.115986],[102.443799,32.116039],[102.443948,32.116057],[102.444186,32.116093],[102.444388,32.116099],[102.444389,32.116099],[102.44439,32.1161],[102.444548,32.116176],[102.444691,32.116277],[102.444858,32.116456],[102.444983,32.116634],[102.445274,32.116842],[102.445595,32.117068],[102.445881,32.117202],[102.446166,32.117336],[102.446378,32.117479],[102.446589,32.117622],[102.446922,32.117842],[102.447166,32.117883],[102.447493,32.117836],[102.447707,32.117806],[102.448058,32.117812],[102.448415,32.117859],[102.448576,32.117854],[102.448837,32.117804],[102.448921,32.117788],[102.449147,32.117776],[102.449373,32.117764],[102.449783,32.117782],[102.450194,32.117824],[102.45058,32.117919],[102.450884,32.11802],[102.451005,32.118055],[102.45111,32.118086],[102.451264,32.118086],[102.451455,32.118032],[102.451669,32.117984],[102.451923,32.117786],[102.452177,32.117588],[102.45243,32.11739],[102.452567,32.117265],[102.45257,32.117248],[102.452597,32.117098],[102.452591,32.116872],[102.452591,32.116711],[102.45265,32.116503],[102.452817,32.116283],[102.452984,32.116063],[102.453177,32.11587],[102.45337,32.115676],[102.453715,32.115522],[102.453938,32.115438],[102.454161,32.115355],[102.454322,32.115273],[102.454646,32.115106],[102.45497,32.114939],[102.455318,32.114745],[102.455666,32.114552],[102.45597,32.114362],[102.456136,32.1141],[102.456184,32.11388],[102.456184,32.113851],[102.456184,32.113648],[102.456184,32.113422],[102.456285,32.113148],[102.456422,32.112976],[102.45669,32.112809],[102.457076,32.112583],[102.457317,32.112321],[102.457558,32.11206],[102.45778,32.111802],[102.457927,32.111631],[102.458147,32.111334],[102.458367,32.111036],[102.458617,32.110665],[102.458867,32.110293],[102.459049,32.110132],[102.459232,32.109972],[102.459421,32.109805],[102.45961,32.109638],[102.459848,32.109496],[102.460134,32.109436],[102.460425,32.109436],[102.460654,32.109484],[102.460883,32.109531],[102.460894,32.109532],[102.461199,32.109561],[102.461395,32.109555],[102.461657,32.109525],[102.461924,32.109454],[102.462109,32.109448],[102.462299,32.109448],[102.462466,32.109424],[102.462698,32.109335],[102.462765,32.109305],[102.463138,32.109139],[102.463271,32.109087],[102.463489,32.109002],[102.46384,32.108865],[102.464084,32.108818],[102.46434,32.108823],[102.464578,32.108853],[102.464708,32.108859],[102.464804,32.108859],[102.464917,32.108835],[102.465053,32.108764],[102.465143,32.108764],[102.465262,32.108794],[102.465375,32.108794],[102.465523,32.108758],[102.465624,32.108722],[102.465708,32.108705],[102.465845,32.108746],[102.465922,32.10877],[102.465981,32.10877],[102.466124,32.108764],[102.466285,32.108716],[102.466428,32.108716],[102.466573,32.108793],[102.466642,32.108829],[102.466856,32.108942],[102.466999,32.10902],[102.467141,32.109044],[102.467344,32.10902],[102.467516,32.108966],[102.467748,32.108806],[102.468046,32.108609],[102.468343,32.108413],[102.468605,32.108285],[102.468866,32.108157],[102.469146,32.107973],[102.469426,32.107788],[102.469673,32.10755],[102.469919,32.107313],[102.470065,32.107109],[102.470211,32.106906],[102.470401,32.10664],[102.470657,32.106301],[102.470734,32.106057],[102.470758,32.105843],[102.4708,32.10557],[102.470949,32.105367],[102.471127,32.105183],[102.471157,32.105064],[102.471109,32.104975],[102.470972,32.104862],[102.470889,32.104695],[102.470835,32.104261],[102.470762,32.103861],[102.470711,32.103583],[102.470687,32.10325],[102.470722,32.103053],[102.470865,32.102798],[102.471076,32.102542],[102.471288,32.102286],[102.471298,32.102262],[102.471472,32.101864],[102.471484,32.101709],[102.471389,32.101483],[102.471308,32.101221],[102.471228,32.100959],[102.470978,32.100686],[102.470835,32.100555],[102.470776,32.100329],[102.470865,32.100049],[102.471127,32.099782],[102.471347,32.099544],[102.471407,32.099341],[102.471347,32.099121],[102.47124,32.098919],[102.471189,32.098544],[102.471139,32.098169],[102.471118,32.098068],[102.471032,32.097652],[102.470984,32.097283],[102.470895,32.097134],[102.470788,32.097039],[102.470454,32.096894],[102.470294,32.096825],[102.470104,32.096801],[102.469967,32.096658],[102.469878,32.096462],[102.469717,32.096313],[102.469551,32.09623],[102.469503,32.096177],[102.469557,32.095909],[102.469723,32.095582],[102.469907,32.095255],[102.469949,32.094969],[102.470044,32.094535],[102.470047,32.094237],[102.47005,32.09394],[102.470074,32.093559],[102.470145,32.093321],[102.470306,32.093125],[102.470592,32.092917],[102.470818,32.092679],[102.470978,32.092441],[102.471112,32.092248],[102.471246,32.092054],[102.471418,32.091923],[102.471627,32.091864],[102.471918,32.091804],[102.472275,32.091715],[102.472558,32.091632],[102.47284,32.091549],[102.473251,32.091507],[102.47357,32.091545],[102.473602,32.091549],[102.473923,32.091644],[102.474232,32.091679],[102.47444,32.091632],[102.474666,32.091549],[102.474892,32.091465],[102.475038,32.091423],[102.475297,32.091346],[102.475678,32.091264],[102.476059,32.091181],[102.47627,32.091146],[102.476527,32.091104],[102.476784,32.091062],[102.477042,32.09102],[102.477299,32.090978],[102.477556,32.090935],[102.477813,32.090893],[102.478068,32.090861],[102.478322,32.090829],[102.478576,32.090797],[102.478831,32.090765],[102.478955,32.090749],[102.479217,32.090722],[102.479342,32.0907],[102.479565,32.090666],[102.479787,32.090632],[102.480011,32.090597],[102.480235,32.090562],[102.48028,32.090548],[102.480692,32.09049],[102.480918,32.090377],[102.481079,32.090264],[102.481281,32.090103],[102.481286,32.090095],[102.481466,32.089818],[102.48162,32.08949],[102.481727,32.089086],[102.481727,32.088664],[102.48167,32.088362],[102.481612,32.088061],[102.481555,32.087759],[102.481534,32.087521],[102.481513,32.087283],[102.481427,32.086888],[102.481341,32.086492],[102.481258,32.086195],[102.481228,32.085868],[102.481311,32.08557],[102.481377,32.085291],[102.481347,32.085071],[102.481258,32.084761],[102.481269,32.084422],[102.481335,32.084143],[102.4814,32.083863],[102.48142,32.083796],[102.481466,32.083637],[102.481531,32.08353],[102.481799,32.083334],[102.482004,32.083078],[102.482209,32.082822],[102.482299,32.082513],[102.482275,32.082239],[102.482215,32.082049],[102.482074,32.081797],[102.481936,32.081549],[102.481846,32.081323],[102.481846,32.081198],[102.481874,32.081151],[102.481962,32.081005],[102.482078,32.080811],[102.4822,32.080558],[102.482322,32.080306],[102.482326,32.080293],[102.482375,32.080123],[102.482494,32.079708],[102.482614,32.079294],[102.482706,32.079071],[102.482798,32.078848],[102.482887,32.078598],[102.482852,32.078491],[102.482673,32.078322],[102.482495,32.078152],[102.482435,32.077974],[102.482423,32.077831],[102.482402,32.077813],[102.482334,32.07776],[102.482186,32.0777],[102.48209,32.077545],[102.482078,32.077266],[102.482144,32.07698],[102.482293,32.076719],[102.482385,32.076501],[102.482477,32.076284],[102.482534,32.076061],[102.48259,32.075838],[102.482653,32.075505],[102.482717,32.075172],[102.48278,32.074839],[102.482864,32.074482],[102.482965,32.074381],[102.482995,32.07438],[102.483185,32.074375],[102.48334,32.074375],[102.483589,32.074321],[102.483893,32.074259],[102.484196,32.074196],[102.484473,32.074134],[102.484749,32.074071],[102.485008,32.074083],[102.485267,32.074095],[102.485618,32.074149],[102.485903,32.074149],[102.486141,32.074122],[102.486379,32.074095],[102.486748,32.074006],[102.486992,32.074006],[102.487236,32.074006],[102.487253,32.074005],[102.487462,32.073988],[102.487587,32.073905],[102.487759,32.073804],[102.488063,32.07375],[102.488206,32.073679],[102.488366,32.073542],[102.488527,32.073441],[102.48886,32.07334],[102.48892,32.07332],[102.489163,32.073239],[102.489247,32.073209],[102.489258,32.07309],[102.489223,32.0729],[102.489092,32.072566],[102.488967,32.072364],[102.488759,32.072227],[102.488551,32.072091],[102.488313,32.071948],[102.488152,32.071805],[102.487938,32.071466],[102.48777,32.071215],[102.487602,32.070964],[102.487444,32.070728],[102.487349,32.070496],[102.487284,32.070223],[102.487278,32.069901],[102.487236,32.06964],[102.4872,32.069483],[102.487176,32.069378],[102.487218,32.069125],[102.48726,32.068872],[102.487397,32.068539],[102.487391,32.06839],[102.487343,32.068331],[102.487176,32.068254],[102.487016,32.068075],[102.486861,32.06779],[102.486706,32.067564],[102.486588,32.067355],[102.486528,32.06704],[102.486514,32.066731],[102.4865,32.066421],[102.486486,32.066112],[102.486466,32.065877],[102.486445,32.065642],[102.486428,32.065553],[102.486391,32.065357],[102.48634,32.065302],[102.486147,32.065095],[102.486108,32.065035],[102.485952,32.064794],[102.485796,32.064554],[102.485668,32.064325],[102.485541,32.064096],[102.485416,32.063786],[102.485332,32.063423],[102.485286,32.063325],[102.485231,32.063209],[102.485255,32.062953],[102.485368,32.062775],[102.485606,32.062555],[102.48571,32.062353],[102.485814,32.06215],[102.48584,32.062081],[102.485963,32.061752],[102.486096,32.061472],[102.486229,32.061193],[102.486361,32.060913],[102.486546,32.060702],[102.48673,32.060491],[102.486828,32.06028],[102.486927,32.060068],[102.487006,32.059775],[102.487085,32.059481],[102.487165,32.059188],[102.48722,32.058883],[102.487276,32.058577],[102.487331,32.058272],[102.487329,32.058243],[102.487301,32.057897],[102.48748,32.057582],[102.487692,32.057354],[102.487724,32.05732],[102.487843,32.056969],[102.487843,32.056808],[102.487799,32.056725],[102.487789,32.056707],[102.487694,32.056606],[102.487587,32.056523],[102.487456,32.056422],[102.487414,32.056124],[102.487527,32.055714],[102.487611,32.055303],[102.487543,32.05496],[102.487476,32.054617],[102.487408,32.054274],[102.487285,32.053935],[102.487266,32.053882],[102.487123,32.053507],[102.487004,32.053293],[102.486712,32.053001],[102.486546,32.052757],[102.486414,32.052368],[102.486281,32.05198],[102.486254,32.051901],[102.486131,32.05156],[102.486058,32.05136],[102.485933,32.051116],[102.48579,32.051014],[102.485592,32.050953],[102.485523,32.050931],[102.485112,32.050901],[102.484714,32.050842],[102.484428,32.050782],[102.484083,32.050658],[102.483821,32.050497],[102.483598,32.050274],[102.483375,32.050051],[102.483232,32.049777],[102.483195,32.049647],[102.483143,32.049468],[102.483066,32.04923],[102.482917,32.049123],[102.482483,32.049016],[102.482132,32.048921],[102.481727,32.048808],[102.481341,32.048766],[102.481088,32.048775],[102.480835,32.048784],[102.480556,32.048927],[102.480276,32.049069],[102.479901,32.049218],[102.479526,32.049367],[102.479114,32.049439],[102.478702,32.049511],[102.47861,32.049527],[102.478313,32.049581],[102.478016,32.049634],[102.477718,32.049688],[102.477337,32.049819],[102.476957,32.04995],[102.476788,32.050007],[102.476399,32.050139],[102.476011,32.050271],[102.475776,32.050292],[102.475541,32.050313],[102.475309,32.050271],[102.475184,32.050081],[102.475092,32.04981],[102.475,32.049539],[102.474863,32.049272],[102.474512,32.049031],[102.474161,32.04879],[102.473843,32.048587],[102.473524,32.048385],[102.47326,32.048347],[102.472995,32.048308],[102.472791,32.048354],[102.472578,32.048403],[102.472305,32.048427],[102.472108,32.04832],[102.471954,32.048135],[102.47165,32.048082],[102.471362,32.048028],[102.471073,32.047975],[102.470713,32.047877],[102.470352,32.04778],[102.470351,32.047779],[102.470348,32.047778],[102.470003,32.047731],[102.469741,32.047776],[102.469729,32.047778],[102.469336,32.047874],[102.469051,32.047862],[102.468876,32.04777],[102.468813,32.047737],[102.468521,32.047653],[102.468284,32.047662],[102.468046,32.047671],[102.46763,32.047689],[102.467423,32.047697],[102.467215,32.047706],[102.467046,32.047713],[102.466624,32.047814],[102.466201,32.047915],[102.465955,32.047966],[102.465708,32.048016],[102.465309,32.04801],[102.465095,32.047933],[102.465006,32.047683],[102.46492,32.047433],[102.464833,32.047184],[102.464732,32.046934],[102.464716,32.046821],[102.464696,32.046684],[102.464685,32.046297],[102.464631,32.04603],[102.464512,32.04575],[102.464429,32.045518],[102.464203,32.045357],[102.464084,32.045316],[102.463929,32.045203],[102.463893,32.04509],[102.463905,32.044822],[102.463923,32.044542],[102.463998,32.044218],[102.464072,32.043894],[102.464213,32.04361],[102.464354,32.043325],[102.464548,32.042936],[102.464619,32.04274],[102.464613,32.042555],[102.464566,32.042139],[102.464566,32.041895],[102.464662,32.041631],[102.464759,32.041367],[102.46481,32.041229],[102.464829,32.041092],[102.464866,32.040836],[102.464923,32.040444],[102.464923,32.040164],[102.464869,32.040015],[102.464661,32.039789],[102.464542,32.039581],[102.464471,32.039378],[102.464346,32.039016],[102.464232,32.038784],[102.464119,32.038552],[102.46392,32.038287],[102.463721,32.038023],[102.463435,32.037823],[102.46315,32.037624],[102.462918,32.037517],[102.462698,32.037481],[102.462293,32.03744],[102.462004,32.037359],[102.461714,32.037278],[102.461424,32.037197],[102.461335,32.037172],[102.461252,32.037101],[102.461205,32.036988],[102.461205,32.036756],[102.461222,32.036345],[102.46127,32.035911],[102.461336,32.035666],[102.461401,32.03542],[102.461461,32.035199],[102.46152,32.034977],[102.461588,32.034751],[102.461657,32.034525],[102.461829,32.03415],[102.461972,32.033817],[102.462049,32.033606],[102.462127,32.033395],[102.462174,32.033067],[102.462189,32.032728],[102.462204,32.032389],[102.46224,32.03213],[102.462275,32.031872],[102.462301,32.031707],[102.462341,32.031443],[102.462335,32.031057],[102.462263,32.030747],[102.462148,32.03036],[102.462145,32.030349],[102.462133,32.030269],[102.462109,32.030099],[102.462109,32.029754],[102.462159,32.029507],[102.46221,32.02926],[102.46229,32.028847],[102.462371,32.028433],[102.462375,32.028422],[102.46248,32.028163],[102.462585,32.027904],[102.462668,32.027636],[102.462751,32.027369],[102.462888,32.026958],[102.462906,32.026595],[102.462823,32.026185],[102.462722,32.025956],[102.46262,32.025727],[102.462583,32.025671],[102.462382,32.025376],[102.462281,32.025174],[102.462216,32.02484],[102.462134,32.024578],[102.462133,32.024573],[102.46199,32.024287],[102.46193,32.024085],[102.461883,32.023651],[102.461895,32.023288],[102.461907,32.022925],[102.461918,32.022562],[102.461901,32.022125],[102.461883,32.021688],[102.461901,32.021509],[102.462002,32.021206],[102.462186,32.020929],[102.462371,32.020653],[102.46254,32.020373],[102.46271,32.020093],[102.462775,32.019817],[102.46284,32.01954],[102.46284,32.019261],[102.46284,32.01907],[102.462811,32.01888],[102.462789,32.018757],[102.462757,32.018582],[102.462762,32.018448],[102.462769,32.018249],[102.462835,32.018017],[102.463061,32.017654],[102.463376,32.017351],[102.463554,32.01719],[102.463673,32.016982],[102.463792,32.016774],[102.463956,32.016373],[102.464119,32.015971],[102.46425,32.015549],[102.464346,32.015186],[102.464476,32.014912],[102.464661,32.014731],[102.464845,32.014549],[102.465056,32.014412],[102.465268,32.014276],[102.46556,32.014089],[102.465595,32.014067],[102.465865,32.013874],[102.466136,32.013681],[102.466359,32.013511],[102.466582,32.013342],[102.466787,32.013111],[102.466992,32.01288],[102.467046,32.012818],[102.467281,32.012628],[102.467516,32.012437],[102.467825,32.012295],[102.468075,32.012223],[102.468361,32.012188],[102.468593,32.012176],[102.468872,32.01217],[102.469086,32.012159],[102.469223,32.012152],[102.469551,32.012146],[102.469786,32.01214],[102.470021,32.012134],[102.470383,32.01211],[102.470675,32.012051],[102.470731,32.012023],[102.470894,32.012023],[102.47116,32.012023],[102.471425,32.012023],[102.471691,32.012023],[102.471957,32.012023],[102.472216,32.012044],[102.472475,32.012065],[102.472828,32.012093],[102.4729,32.012194],[102.473191,32.012408],[102.473495,32.01255],[102.473721,32.012616],[102.473911,32.012652],[102.474114,32.012679],[102.474345,32.012711],[102.474601,32.012705],[102.474857,32.012699],[102.475267,32.012738],[102.475678,32.012777],[102.475957,32.01283],[102.476267,32.012913],[102.476484,32.013023],[102.476701,32.013133],[102.477022,32.013336],[102.477343,32.013538],[102.477599,32.013693],[102.477813,32.013728],[102.478027,32.013728],[102.478146,32.013707],[102.47842,32.013657],[102.478652,32.013669],[102.478884,32.013681],[102.479315,32.013731],[102.479747,32.013782],[102.47991,32.013826],[102.480121,32.013883],[102.480389,32.013978],[102.480508,32.014067],[102.480835,32.014311],[102.481017,32.014484],[102.481198,32.014656],[102.481356,32.015031],[102.481513,32.015406],[102.481594,32.01562],[102.481674,32.015834],[102.481799,32.015947],[102.4819,32.015977],[102.482129,32.015992],[102.482358,32.016007],[102.482679,32.016102],[102.482923,32.016292],[102.483081,32.016497],[102.483238,32.016703],[102.483417,32.016887],[102.483631,32.016994],[102.483728,32.017044],[102.484107,32.017238],[102.484367,32.017418],[102.484626,32.017599],[102.484886,32.017779],[102.485005,32.017886],[102.485048,32.018017],[102.485094,32.01816],[102.48512,32.018351],[102.48513,32.018428],[102.485172,32.018612],[102.485332,32.01882],[102.485535,32.018969],[102.485701,32.019124],[102.48588,32.019272],[102.486106,32.019493],[102.486201,32.019733],[102.486296,32.019974],[102.486397,32.020212],[102.486516,32.020278],[102.48673,32.020272],[102.487031,32.020201],[102.487057,32.020195],[102.487474,32.020064],[102.487721,32.020001],[102.487968,32.019939],[102.488125,32.01991],[102.488265,32.019885],[102.488568,32.019873],[102.488997,32.019861],[102.48933,32.019784],[102.489606,32.019725],[102.489883,32.019665],[102.490157,32.019677],[102.490466,32.019713],[102.490769,32.01979],[102.49096,32.019963],[102.491156,32.020189],[102.491329,32.020313],[102.491518,32.020342],[102.491601,32.020309],[102.491864,32.020172],[102.492024,32.02009],[102.492298,32.01983],[102.492572,32.01957],[102.49278,32.019374],[102.492887,32.019207],[102.492935,32.01888],[102.492982,32.018612],[102.493101,32.01844],[102.493279,32.018228],[102.493457,32.018017],[102.493714,32.017798],[102.493952,32.017646],[102.494076,32.017403],[102.494116,32.017132],[102.494157,32.016861],[102.494177,32.016754],[102.494237,32.016439],[102.494297,32.016124],[102.494356,32.015809],[102.494395,32.015495],[102.494433,32.015181],[102.494514,32.014781],[102.494656,32.014546],[102.49468,32.014505],[102.494851,32.01421],[102.494951,32.013994],[102.495051,32.013777],[102.495106,32.013511],[102.495161,32.013244],[102.495227,32.013144],[102.495342,32.013073],[102.495508,32.013054],[102.495756,32.01303],[102.496151,32.013035],[102.49648,32.013058],[102.49681,32.013082],[102.49714,32.013105],[102.49715,32.013106],[102.49755,32.013144],[102.497802,32.013144],[102.498054,32.013144],[102.498368,32.01312],[102.498604,32.013063],[102.498839,32.013006],[102.499015,32.012973],[102.499187,32.012901],[102.499253,32.012873],[102.499501,32.012768],[102.499715,32.012659],[102.499972,32.012535],[102.50017,32.012468],[102.500252,32.012417],[102.500282,32.012416],[102.500405,32.012412],[102.50071,32.012401],[102.500916,32.012393],[102.501128,32.012416],[102.501304,32.012449],[102.501604,32.012459],[102.501833,32.012459],[102.50218,32.012445],[102.502399,32.012445],[102.502811,32.012411],[102.502923,32.012402],[102.502965,32.012397],[102.50321,32.012368],[102.503456,32.01234],[102.503853,32.012371],[102.50425,32.012402],[102.504488,32.012452],[102.504726,32.012502],[102.505031,32.012583],[102.505353,32.012752],[102.505383,32.012768],[102.505599,32.012866],[102.505816,32.012963],[102.50604,32.013049],[102.506411,32.013168],[102.506539,32.013168],[102.506701,32.013163],[102.506982,32.013173],[102.507139,32.013201],[102.507286,32.01322],[102.507439,32.013206],[102.507639,32.013182],[102.507877,32.013135],[102.508057,32.013063],[102.508262,32.012987],[102.508476,32.012954],[102.508733,32.012835],[102.508897,32.012652],[102.509062,32.012468],[102.509204,32.012188],[102.509209,32.012182],[102.509317,32.012058],[102.509364,32.012004],[102.509518,32.011826],[102.509699,32.011636],[102.509999,32.011469],[102.510242,32.011345],[102.510656,32.011226],[102.510965,32.011169],[102.511023,32.011159],[102.511246,32.011122],[102.511484,32.01106],[102.511727,32.01096],[102.511879,32.010798],[102.512045,32.01056],[102.512212,32.010322],[102.512421,32.009932],[102.512476,32.009607],[102.512548,32.009182],[102.512574,32.009032],[102.512672,32.008607],[102.51277,32.008182],[102.512869,32.007757],[102.512954,32.007459],[102.51304,32.00716],[102.513073,32.007043],[102.513133,32.006887],[102.513273,32.00652],[102.513392,32.006334],[102.513559,32.00613],[102.513825,32.005887],[102.514032,32.005765],[102.514239,32.005644],[102.514522,32.005542],[102.514806,32.005439],[102.515116,32.005365],[102.515427,32.00529],[102.515738,32.005216],[102.516143,32.005087],[102.516305,32.004992],[102.516419,32.00483],[102.516471,32.004669],[102.516562,32.004388],[102.51669,32.004126],[102.516776,32.003998],[102.516966,32.003874],[102.517214,32.003783],[102.517461,32.003693],[102.517725,32.003614],[102.517989,32.003536],[102.518372,32.003419],[102.518475,32.003388],[102.518755,32.003346],[102.518823,32.003337],[102.518984,32.003317],[102.519217,32.003288],[102.519531,32.003246],[102.519798,32.003165],[102.520107,32.003027],[102.520416,32.002889],[102.520591,32.002823],[102.520695,32.002825],[102.520852,32.002876],[102.521159,32.003103],[102.52152,32.003322],[102.521735,32.00355],[102.521949,32.003779],[102.522156,32.0041],[102.522363,32.004421],[102.52251,32.004531],[102.522682,32.004573],[102.522829,32.00455],[102.523072,32.004404],[102.523314,32.004259],[102.52369,32.004102],[102.523857,32.004026],[102.524123,32.003905],[102.52439,32.003783],[102.524623,32.003726],[102.524842,32.003726],[102.525042,32.00375],[102.525184,32.00375],[102.525204,32.00375],[102.525446,32.003702],[102.525632,32.003688],[102.525827,32.00365],[102.525999,32.003526],[102.526169,32.003336],[102.526203,32.003298],[102.526355,32.00307],[102.526562,32.002979],[102.526769,32.002889],[102.527105,32.002774],[102.52744,32.00266],[102.527702,32.002525],[102.527964,32.002389],[102.528259,32.002318],[102.528568,32.002327],[102.528835,32.002408],[102.528876,32.002424],[102.529025,32.002479],[102.529173,32.002465],[102.529252,32.002448],[102.52933,32.002432],[102.529744,32.00227],[102.53009,32.0022],[102.530435,32.00213],[102.530781,32.002061],[102.530981,32.00197],[102.531072,32.00191],[102.531134,32.001892],[102.531316,32.001732],[102.531497,32.001572],[102.531648,32.001341],[102.531798,32.001111],[102.531902,32.000852],[102.532006,32.000594],[102.532048,32.000199],[102.532066,32.000145],[102.532078,32.000111],[102.532206,31.999738],[102.5323,31.999466],[102.532468,31.999275],[102.532542,31.999191],[102.53269,31.998958],[102.532837,31.998725],[102.532924,31.998522],[102.533081,31.998203],[102.533237,31.997884],[102.533301,31.997792],[102.533508,31.997496],[102.533703,31.997131],[102.533898,31.996767],[102.533927,31.996712],[102.534115,31.996445],[102.534303,31.996179],[102.534561,31.995885],[102.53482,31.995592],[102.535079,31.995298],[102.535233,31.995103],[102.535388,31.994908],[102.535631,31.994727],[102.535907,31.994556],[102.53613,31.994423],[102.53624,31.994242],[102.536368,31.99408],[102.536613,31.993928],[102.536858,31.993775],[102.537089,31.99364],[102.53732,31.993504],[102.537482,31.993385],[102.537591,31.993242],[102.537739,31.992966],[102.537905,31.992778],[102.538072,31.99259],[102.538286,31.992352],[102.538538,31.992224],[102.538881,31.992134],[102.539205,31.992086],[102.539492,31.992119],[102.53958,31.992129],[102.539757,31.992076],[102.54,31.991885],[102.540236,31.991772],[102.540488,31.991652],[102.54079,31.991358],[102.540822,31.991286],[102.540972,31.991086],[102.541122,31.990887],[102.541259,31.990675],[102.541346,31.990539],[102.541422,31.990289],[102.541498,31.99004],[102.541475,31.989816],[102.541379,31.989488],[102.541275,31.989169],[102.54127,31.98901],[102.541265,31.988817],[102.541265,31.988436],[102.541229,31.9882],[102.541203,31.988036],[102.541084,31.987698],[102.541075,31.987384],[102.541102,31.987018],[102.541113,31.98687],[102.54116,31.986487],[102.541208,31.986104],[102.541346,31.985766],[102.541407,31.985669],[102.541603,31.985356],[102.541798,31.985043],[102.542027,31.984757],[102.542317,31.9845],[102.542612,31.984291],[102.542671,31.984264],[102.54305,31.984091],[102.54334,31.983905],[102.543445,31.983767],[102.543554,31.983496],[102.543641,31.983306],[102.543697,31.983182],[102.543949,31.982887],[102.544172,31.982561],[102.544396,31.982236],[102.544416,31.982206],[102.544525,31.981949],[102.544544,31.981745],[102.544525,31.981671],[102.544416,31.981255],[102.544392,31.981002],[102.544368,31.98075],[102.544344,31.980455],[102.544388,31.980269],[102.544463,31.979951],[102.544554,31.979646],[102.544638,31.979539],[102.544696,31.979465],[102.544925,31.979303],[102.545106,31.978999],[102.545286,31.978694],[102.545467,31.97839],[102.545645,31.978088],[102.545823,31.977787],[102.546,31.977486],[102.546272,31.977157],[102.546483,31.976998],[102.546695,31.976838],[102.546969,31.976608],[102.547242,31.976377],[102.547388,31.976174],[102.547533,31.975972],[102.547656,31.975696],[102.547837,31.975506],[102.54791,31.975445],[102.548004,31.975368],[102.548133,31.975294],[102.548204,31.975254],[102.548537,31.975063],[102.548727,31.97493],[102.548778,31.974838],[102.548924,31.974577],[102.54907,31.974316],[102.549148,31.9741],[102.549227,31.973883],[102.549255,31.973583],[102.54926,31.973379],[102.549312,31.973079],[102.549293,31.972879],[102.549232,31.972746],[102.549241,31.972679],[102.549251,31.97261],[102.54926,31.972551],[102.549379,31.972289],[102.549591,31.972058],[102.549803,31.971827],[102.549824,31.97181],[102.550058,31.97162],[102.550292,31.971431],[102.550526,31.971242],[102.550712,31.97108],[102.550921,31.971013],[102.551161,31.970992],[102.551402,31.970971],[102.551728,31.970928],[102.552054,31.970886],[102.552274,31.970902],[102.552522,31.970957],[102.55277,31.971012],[102.552974,31.971042],[102.553349,31.971067],[102.553473,31.971075],[102.553708,31.97108],[102.553906,31.971042],[102.553944,31.971034],[102.554239,31.97099],[102.55448,31.97077],[102.554647,31.97056],[102.554814,31.97035],[102.554865,31.970094],[102.554916,31.969839],[102.554967,31.969584],[102.555018,31.969329],[102.555087,31.96893],[102.555157,31.968532],[102.555177,31.968414],[102.555152,31.968396],[102.555152,31.968272],[102.55519,31.968063],[102.555342,31.967682],[102.55549,31.96748],[102.55568,31.967221],[102.555801,31.96698],[102.55585,31.966884],[102.555923,31.96674],[102.556094,31.966378],[102.556265,31.966017],[102.556465,31.965679],[102.556665,31.965341],[102.556941,31.965044],[102.557217,31.964748],[102.557493,31.964451],[102.557636,31.964156],[102.557677,31.96402],[102.557717,31.963889],[102.557707,31.963761],[102.557674,31.963666],[102.557674,31.963504],[102.557726,31.963318],[102.557883,31.963204],[102.557976,31.963092],[102.557977,31.963091],[102.557978,31.96309],[102.558088,31.962811],[102.558197,31.962533],[102.558388,31.962167],[102.558526,31.962024],[102.558707,31.961957],[102.558849,31.961924],[102.559173,31.961795],[102.559492,31.961505],[102.559677,31.961391],[102.559834,31.961315],[102.559944,31.961243],[102.560006,31.961058],[102.56022,31.960668],[102.560467,31.96048],[102.560715,31.960292],[102.560973,31.960092],[102.561232,31.959892],[102.561491,31.959692],[102.561769,31.959487],[102.562047,31.959283],[102.562404,31.959149],[102.562695,31.959059],[102.562789,31.959033],[102.56319,31.958921],[102.563494,31.958821],[102.563799,31.958721],[102.564127,31.958588],[102.564351,31.958478],[102.564631,31.958355],[102.564974,31.95824],[102.565191,31.958089],[102.565413,31.957934],[102.565636,31.957779],[102.56584,31.957565],[102.566045,31.957351],[102.566207,31.957279],[102.566478,31.957236],[102.566811,31.957184],[102.567054,31.957113],[102.56733,31.956908],[102.567615,31.95657],[102.567644,31.956513],[102.567801,31.956206],[102.567986,31.955842],[102.568245,31.955499],[102.568504,31.955157],[102.568762,31.954814],[102.568843,31.954586],[102.568924,31.954357],[102.569005,31.954067],[102.569042,31.953958],[102.569043,31.953956],[102.569044,31.953954],[102.569133,31.953691],[102.5694,31.953477],[102.569666,31.953263],[102.570004,31.952977],[102.570095,31.952806],[102.570102,31.952758],[102.570147,31.952482],[102.570143,31.952378],[102.570142,31.952328],[102.570138,31.952211],[102.570118,31.951949],[102.570044,31.951767],[102.569985,31.951626],[102.569961,31.951473],[102.56998,31.951078],[102.569957,31.950907],[102.569933,31.950764],[102.569831,31.950438],[102.569728,31.950112],[102.569676,31.94995],[102.569671,31.949822],[102.569764,31.949426],[102.569771,31.949398],[102.569807,31.949207],[102.569877,31.948836],[102.569947,31.948466],[102.569949,31.948447],[102.569984,31.948152],[102.570019,31.947857],[102.569966,31.947614],[102.569857,31.947364],[102.569747,31.947114],[102.569552,31.946767],[102.569357,31.946419],[102.569176,31.94601],[102.568951,31.945814],[102.568881,31.945753],[102.568641,31.945429],[102.568401,31.945106],[102.568348,31.945015],[102.568353,31.944873],[102.56844,31.94469],[102.568448,31.944673],[102.568619,31.944461],[102.568853,31.944116],[102.568967,31.943921],[102.569019,31.94374],[102.569019,31.943521],[102.569014,31.943326],[102.569008,31.943255],[102.569,31.943169],[102.568953,31.942988],[102.568748,31.94265],[102.56861,31.942469],[102.568472,31.942289],[102.568433,31.942222],[102.568324,31.942036],[102.568248,31.941894],[102.568239,31.941722],[102.568327,31.941491],[102.568415,31.941261],[102.568581,31.941061],[102.568748,31.940861],[102.568881,31.940661],[102.569088,31.940547],[102.569295,31.940433],[102.569533,31.940349],[102.569771,31.940266],[102.570045,31.940111],[102.570318,31.939957],[102.570635,31.939835],[102.570951,31.939714],[102.571364,31.939575],[102.571475,31.939538],[102.57151,31.939521],[102.57166,31.939448],[102.571822,31.939338],[102.572122,31.939219],[102.572408,31.939024],[102.572669,31.938743],[102.572812,31.9386],[102.572991,31.938434],[102.573169,31.938267],[102.573469,31.938063],[102.573564,31.937863],[102.573616,31.93772],[102.573792,31.937539],[102.573968,31.937358],[102.574264,31.937039],[102.574471,31.936923],[102.574678,31.936806],[102.574835,31.936697],[102.575101,31.936378],[102.575258,31.936097],[102.575415,31.935816],[102.575517,31.935571],[102.57562,31.935326],[102.575824,31.935117],[102.576029,31.934907],[102.576086,31.934855],[102.576224,31.934855],[102.576383,31.934901],[102.576438,31.934917],[102.576741,31.935012],[102.577043,31.935107],[102.5774,31.935184],[102.577718,31.935248],[102.578037,31.935312],[102.578375,31.935382],[102.578404,31.935388],[102.578749,31.935541],[102.578832,31.935578],[102.579155,31.935756],[102.579477,31.935934],[102.57987,31.93615],[102.580117,31.936307],[102.580226,31.936326],[102.580273,31.936332],[102.580522,31.936364],[102.580916,31.936554],[102.581083,31.936678],[102.581335,31.936854],[102.581464,31.936921],[102.581539,31.936965],[102.581616,31.937011],[102.581726,31.93712],[102.581992,31.937468],[102.58226,31.937698],[102.582464,31.937873],[102.582668,31.938048],[102.582801,31.938144],[102.582872,31.938191],[102.583006,31.938224],[102.583313,31.938255],[102.58362,31.938286],[102.58386,31.938292],[102.584257,31.938301],[102.584424,31.938305],[102.584866,31.938329],[102.5852,31.938415],[102.585418,31.938522],[102.58549,31.938558],[102.585723,31.93871],[102.585885,31.938891],[102.585978,31.939098],[102.58607,31.939305],[102.586156,31.939462],[102.586204,31.939557],[102.586461,31.939823],[102.58668,31.940066],[102.586898,31.940309],[102.587015,31.94042],[102.587094,31.940494],[102.587289,31.94068],[102.587357,31.940712],[102.587736,31.940889],[102.587836,31.941008],[102.587964,31.941323],[102.587991,31.941376],[102.588074,31.941537],[102.588088,31.941565],[102.588245,31.941922],[102.588383,31.942217],[102.588583,31.942389],[102.58875,31.94246],[102.588767,31.942472],[102.588814,31.942505],[102.588956,31.942604],[102.589145,31.942736],[102.58925,31.942782],[102.589354,31.942826],[102.589506,31.942941],[102.589835,31.943212],[102.5899,31.943249],[102.590268,31.943459],[102.590415,31.943688],[102.590658,31.943983],[102.590798,31.944187],[102.590939,31.944392],[102.591172,31.944613],[102.591405,31.944835],[102.59152,31.945066],[102.59173,31.945392],[102.591912,31.945564],[102.592095,31.945737],[102.592278,31.945909],[102.59246,31.946081],[102.592643,31.946253],[102.592826,31.946426],[102.592914,31.946509],[102.592914,31.946509],[102.593008,31.946598],[102.593191,31.94677],[102.593374,31.946942],[102.593556,31.947114],[102.593726,31.947282],[102.593895,31.94745],[102.594064,31.947618],[102.594234,31.947786],[102.594403,31.947954],[102.594572,31.948122],[102.594742,31.94829],[102.594911,31.948458],[102.59508,31.948626],[102.59525,31.948794],[102.595419,31.948962],[102.595589,31.94913],[102.595781,31.949312],[102.595973,31.949494],[102.596165,31.949676],[102.596357,31.949858],[102.596549,31.95004],[102.596741,31.950222],[102.596933,31.950404],[102.597125,31.950586],[102.597317,31.950768],[102.597509,31.95095],[102.597701,31.951132],[102.597874,31.951296],[102.597893,31.951314],[102.598091,31.95148],[102.598289,31.951646],[102.598487,31.951812],[102.598686,31.951979],[102.598884,31.952145],[102.599082,31.952311],[102.59928,31.952478],[102.599479,31.952644],[102.599677,31.95281],[102.599875,31.952976],[102.600183,31.953191],[102.600491,31.953405],[102.600798,31.953619],[102.601058,31.953732],[102.601161,31.953776],[102.601524,31.953933],[102.601933,31.954028],[102.602342,31.954123],[102.602737,31.954194],[102.603132,31.954264],[102.603468,31.954308],[102.603804,31.954352],[102.604233,31.954427],[102.604662,31.954502],[102.605091,31.954577],[102.605513,31.954727],[102.605935,31.954876],[102.606357,31.955026],[102.606463,31.955064],[102.606779,31.955176],[102.607201,31.955326],[102.607476,31.955369],[102.60775,31.955411],[102.608024,31.955454],[102.608298,31.955497],[102.608572,31.955539],[102.608846,31.955582],[102.60912,31.955624],[102.609394,31.955667],[102.609661,31.955682],[102.609928,31.955697],[102.610195,31.955712],[102.610462,31.955727],[102.610729,31.955742],[102.610996,31.955757],[102.611263,31.955772],[102.61153,31.955787],[102.611797,31.955802],[102.612064,31.955818],[102.612308,31.955817],[102.612551,31.955817],[102.612795,31.955816],[102.613039,31.955816],[102.613283,31.955815],[102.613526,31.955815],[102.61377,31.955814],[102.614014,31.955814],[102.614257,31.955813],[102.614501,31.955813],[102.614874,31.955828],[102.614921,31.95583],[102.615342,31.955846],[102.615762,31.955863],[102.61599,31.955864],[102.616217,31.955865],[102.616445,31.955866],[102.616672,31.955867],[102.6169,31.955868],[102.617128,31.955869],[102.617355,31.95587],[102.617518,31.955871],[102.617583,31.955871],[102.617812,31.955863],[102.618041,31.955855],[102.618271,31.955847],[102.6185,31.955839],[102.618729,31.955831],[102.618959,31.955823],[102.619354,31.955855],[102.61975,31.955888],[102.619976,31.955923],[102.620203,31.955958],[102.620429,31.955994],[102.620655,31.956029],[102.62105,31.9561],[102.621446,31.95617],[102.621815,31.956252],[102.622185,31.956334],[102.622397,31.956381],[102.622555,31.956416],[102.622963,31.956523],[102.623372,31.956631],[102.623733,31.956838],[102.624094,31.957045],[102.624281,31.957199],[102.624468,31.957352],[102.624655,31.957506],[102.624738,31.957574],[102.624843,31.957659],[102.625026,31.95779],[102.625209,31.957921],[102.625393,31.958051],[102.625576,31.958182],[102.625759,31.958313],[102.625943,31.958443],[102.626166,31.958603],[102.626285,31.958687],[102.626516,31.958817],[102.626748,31.958946],[102.626979,31.959075],[102.627211,31.959205],[102.627442,31.959334],[102.627674,31.959463],[102.62792,31.959587],[102.628054,31.959654],[102.628055,31.959654],[102.628167,31.95971],[102.628413,31.959834],[102.62866,31.959957],[102.628973,31.960066],[102.629038,31.960089],[102.629416,31.960221],[102.629826,31.960287],[102.630236,31.960353],[102.630645,31.960419],[102.630878,31.96045],[102.63111,31.960482],[102.631343,31.960514],[102.631575,31.960546],[102.631807,31.960577],[102.63204,31.960609],[102.632272,31.960641],[102.632505,31.960672],[102.632737,31.960704],[102.632969,31.960736],[102.633202,31.960767],[102.633356,31.960788],[102.633434,31.960799],[102.633694,31.960836],[102.633954,31.960873],[102.634214,31.960911],[102.634473,31.960948],[102.634733,31.960985],[102.634993,31.961022],[102.635309,31.961028],[102.635624,31.961034],[102.635773,31.961016],[102.635879,31.961002],[102.636133,31.96097],[102.636366,31.960921],[102.636508,31.960891],[102.636516,31.960889],[102.636549,31.960882],[102.6366,31.960872],[102.636644,31.960851],[102.636898,31.960734],[102.637132,31.960543],[102.637199,31.960489],[102.637373,31.960276],[102.637485,31.960096],[102.637508,31.960059],[102.637563,31.959971],[102.637653,31.959827],[102.637712,31.959732],[102.637753,31.959666],[102.637783,31.959617],[102.637814,31.959566],[102.637971,31.959373],[102.638072,31.95925],[102.638213,31.959079],[102.638293,31.958981],[102.63831,31.958961],[102.638331,31.958935],[102.638404,31.958845],[102.638579,31.958632],[102.63859,31.958619],[102.638606,31.958606],[102.638635,31.958582],[102.638805,31.958443],[102.639015,31.958272],[102.639226,31.9581],[102.639436,31.957928],[102.639647,31.957757],[102.63991,31.957601],[102.63995,31.957577],[102.64,31.957548],[102.640029,31.957531],[102.640172,31.957446],[102.640462,31.95713],[102.640659,31.956794],[102.640856,31.956457],[102.641015,31.956239],[102.641173,31.956022],[102.641189,31.955999],[102.641331,31.955805],[102.641489,31.955588],[102.641815,31.955348],[102.64214,31.955108],[102.642466,31.954868],[102.642623,31.9547],[102.642624,31.954699],[102.642626,31.954697],[102.64278,31.954533],[102.642937,31.954366],[102.643094,31.954199],[102.643323,31.953816],[102.643552,31.953433],[102.643782,31.95305],[102.643863,31.952803],[102.643945,31.952556],[102.644026,31.952309],[102.644108,31.952062],[102.64419,31.951815],[102.644271,31.951568],[102.64434,31.95136],[102.644353,31.951321],[102.644366,31.951281],[102.644435,31.951074],[102.644516,31.950827],[102.644574,31.950651],[102.644596,31.950585],[102.644597,31.950583],[102.644598,31.95058],[102.644656,31.950141],[102.644657,31.950109],[102.644657,31.950085],[102.644659,31.950031],[102.644662,31.949901],[102.644384,31.949696],[102.644109,31.94941],[102.643834,31.949125],[102.64356,31.948839],[102.643355,31.948574],[102.643151,31.94831],[102.643086,31.948078],[102.643021,31.947847],[102.642956,31.947615],[102.642892,31.947383],[102.64284,31.946942],[102.642789,31.9465],[102.642737,31.946058],[102.642709,31.945731],[102.642701,31.945644],[102.642689,31.945509],[102.642674,31.945334],[102.642665,31.945229],[102.642662,31.945195],[102.642662,31.945195],[102.642628,31.944814],[102.642671,31.944564],[102.642715,31.944314],[102.642758,31.944064],[102.642801,31.943813],[102.642844,31.943563],[102.642888,31.943313],[102.642928,31.943077],[102.642931,31.943062],[102.642974,31.942812],[102.643017,31.942562],[102.64306,31.942312],[102.643067,31.942178],[102.643077,31.941998],[102.643077,31.941989],[102.643083,31.941871],[102.643084,31.941869],[102.643084,31.941867],[102.643091,31.941725],[102.643107,31.941431],[102.643107,31.941431],[102.643107,31.941431],[102.643113,31.941304],[102.64313,31.940991],[102.643152,31.940562],[102.643153,31.940551],[102.643198,31.9404],[102.643203,31.940384],[102.643255,31.940212],[102.643282,31.940122],[102.643303,31.940055],[102.643307,31.94004],[102.643352,31.939892],[102.643357,31.939873],[102.643503,31.939696],[102.643649,31.939518],[102.643794,31.93934],[102.64394,31.939163],[102.644085,31.938985],[102.644231,31.938808],[102.644489,31.938505],[102.644748,31.938203],[102.645006,31.937901],[102.645269,31.937766],[102.645532,31.93763],[102.645633,31.937616],[102.645791,31.937595],[102.646051,31.937559],[102.646297,31.937579],[102.64639,31.937586],[102.646422,31.937589],[102.646502,31.937595],[102.646502,31.937595],[102.646502,31.937595],[102.646544,31.937598],[102.64679,31.937618],[102.647035,31.937637],[102.647035,31.937638],[102.647036,31.937638],[102.647202,31.937651],[102.647283,31.937657],[102.6473,31.937659],[102.647529,31.937677],[102.647761,31.937695],[102.647776,31.937696],[102.647876,31.937704],[102.648022,31.937716],[102.6482,31.937747],[102.648251,31.937756],[102.648481,31.937797],[102.648679,31.937831],[102.64871,31.937837],[102.648785,31.93785],[102.648842,31.93786],[102.648939,31.937877],[102.649024,31.937892],[102.649169,31.937918],[102.649398,31.937958],[102.649627,31.937998],[102.649857,31.938038],[102.650086,31.938079],[102.650315,31.938119],[102.65055,31.938163],[102.650784,31.938208],[102.651018,31.938252],[102.651252,31.938296],[102.651333,31.938306],[102.651608,31.938339],[102.65165,31.938344],[102.651663,31.938346],[102.651736,31.938354],[102.651918,31.938376],[102.652049,31.938392],[102.652378,31.938398],[102.652706,31.938404],[102.652789,31.938385],[102.653038,31.938331],[102.653163,31.938228],[102.653177,31.938217],[102.653224,31.938179],[102.65323,31.938174],[102.653257,31.938073],[102.653283,31.937973],[102.653195,31.937731],[102.653059,31.937509],[102.652924,31.937286],[102.652716,31.937132],[102.65257,31.937024],[102.652508,31.936978],[102.6523,31.936824],[102.652092,31.93667],[102.651893,31.93658],[102.65169,31.936489],[102.651288,31.936308],[102.650885,31.936127],[102.650667,31.936027],[102.650448,31.935926],[102.650229,31.935826],[102.650011,31.935726],[102.649792,31.935626],[102.649573,31.935525],[102.649355,31.935425],[102.649136,31.935325],[102.648917,31.935225],[102.648699,31.935124],[102.648325,31.935017],[102.647951,31.93491],[102.647769,31.934707],[102.647766,31.934695],[102.647751,31.934639],[102.647751,31.934637],[102.647727,31.934546],[102.647731,31.93439],[102.647732,31.934346],[102.647903,31.934183],[102.648075,31.93402],[102.648246,31.933857],[102.648418,31.933695],[102.648611,31.933518],[102.648803,31.933341],[102.648996,31.933164],[102.649189,31.932987],[102.64925,31.932888],[102.649256,31.93288],[102.649385,31.932671],[102.649581,31.932354],[102.649682,31.93219],[102.649777,31.932037],[102.649873,31.931882],[102.649948,31.93176],[102.65012,31.931483],[102.650199,31.931144],[102.650229,31.931016],[102.650279,31.930805],[102.650285,31.930534],[102.650292,31.930264],[102.650299,31.929994],[102.650306,31.929723],[102.650271,31.929282],[102.650232,31.928881],[102.650285,31.928661],[102.650338,31.928442],[102.650391,31.928222],[102.650444,31.928003],[102.65048,31.927753],[102.650515,31.927503],[102.650551,31.927254],[102.650587,31.927004],[102.650622,31.926754],[102.650658,31.926504],[102.650693,31.926255],[102.650729,31.926005],[102.650759,31.925605],[102.650788,31.925204],[102.650818,31.924804],[102.650852,31.924528],[102.650936,31.924391],[102.651128,31.924257],[102.651371,31.924239],[102.651642,31.924243],[102.651935,31.92441],[102.652228,31.924576],[102.652399,31.924737],[102.65257,31.924899],[102.652742,31.92506],[102.652913,31.925222],[102.653084,31.925383],[102.653255,31.925545],[102.653427,31.925706],[102.653598,31.925867],[102.653892,31.925989],[102.654042,31.926023],[102.654109,31.926038],[102.654158,31.926045],[102.654295,31.926064],[102.654486,31.926023],[102.654733,31.925842],[102.654874,31.925637],[102.655011,31.925439],[102.655015,31.925433],[102.655051,31.925363],[102.655086,31.925292],[102.655142,31.925182],[102.655269,31.924932],[102.655363,31.924496],[102.655316,31.924197],[102.655247,31.923956],[102.655246,31.923951],[102.655221,31.923862],[102.655179,31.923715],[102.65511,31.923475],[102.655042,31.923234],[102.654807,31.922855],[102.654699,31.92268],[102.654572,31.922475],[102.654464,31.922374],[102.65435,31.922266],[102.654127,31.922057],[102.654079,31.921902],[102.654028,31.921733],[102.654027,31.921726],[102.65401,31.921365],[102.654048,31.921294],[102.654083,31.92123],[102.654139,31.921125],[102.65416,31.921085],[102.654168,31.921071],[102.654181,31.921046],[102.654271,31.92091],[102.654405,31.920705],[102.654572,31.920547],[102.654789,31.920459],[102.655062,31.920395],[102.655318,31.920388],[102.655574,31.920382],[102.655822,31.920386],[102.655872,31.920387],[102.656144,31.920392],[102.656169,31.920392],[102.656505,31.920456],[102.656841,31.92052],[102.657163,31.920572],[102.657486,31.920624],[102.657863,31.920666],[102.65824,31.920707],[102.658523,31.920735],[102.658806,31.920763],[102.659144,31.92077],[102.659448,31.920776],[102.659481,31.920776],[102.659725,31.920734],[102.65981,31.920726],[102.660019,31.920704],[102.660312,31.920674],[102.66055,31.920502],[102.660787,31.92033],[102.66082,31.920282],[102.660829,31.920269],[102.660838,31.920255],[102.660922,31.920134],[102.661045,31.919955],[102.661057,31.919937],[102.661063,31.919903],[102.661082,31.919806],[102.661116,31.91963],[102.660812,31.919358],[102.660427,31.919197],[102.660043,31.919035],[102.659811,31.918942],[102.65958,31.918849],[102.659378,31.918668],[102.659175,31.918488],[102.659064,31.918243],[102.658954,31.917998],[102.658843,31.917753],[102.658732,31.917508],[102.658635,31.917142],[102.658554,31.916837],[102.658538,31.916777],[102.65853,31.916748],[102.65847,31.916521],[102.658402,31.916265],[102.658393,31.916167],[102.658393,31.916166],[102.658388,31.91611],[102.658385,31.916088],[102.658361,31.915823],[102.658063,31.915602],[102.658056,31.915596],[102.657746,31.915524],[102.657436,31.915452],[102.657178,31.915403],[102.656921,31.915354],[102.656663,31.915305],[102.656405,31.915256],[102.656097,31.915118],[102.65579,31.91498],[102.655546,31.914898],[102.655302,31.914817],[102.655058,31.914735],[102.654814,31.914653],[102.654584,31.914516],[102.654354,31.914379],[102.654287,31.914239],[102.654258,31.914177],[102.654248,31.914157],[102.654206,31.914067],[102.654109,31.9138],[102.654171,31.91336],[102.654237,31.913094],[102.654303,31.912827],[102.654487,31.912643],[102.654671,31.912458],[102.654855,31.912274],[102.655016,31.912113],[102.65504,31.912089],[102.655436,31.911926],[102.655832,31.911763],[102.656229,31.9116],[102.656625,31.911437],[102.656964,31.911266],[102.657304,31.911096],[102.657643,31.910925],[102.657871,31.910767],[102.658099,31.910609],[102.658247,31.910346],[102.658249,31.910232],[102.658254,31.909963],[102.658228,31.909668],[102.658113,31.909415],[102.657998,31.909162],[102.657744,31.908936],[102.657491,31.90871],[102.657173,31.908498],[102.656855,31.908286],[102.656538,31.908073],[102.656181,31.907816],[102.655873,31.907594],[102.655824,31.907558],[102.655742,31.907491],[102.655587,31.907363],[102.655349,31.907167],[102.655209,31.906939],[102.655184,31.906898],[102.655184,31.906887],[102.655192,31.906468],[102.655259,31.90624],[102.655325,31.906013],[102.655376,31.905838],[102.655392,31.905785],[102.655458,31.905557],[102.655577,31.905324],[102.655695,31.90509],[102.655813,31.904856],[102.655932,31.904622],[102.656093,31.904389],[102.656113,31.904361],[102.656255,31.904156],[102.656607,31.903928],[102.65686,31.903852],[102.657112,31.903775],[102.657365,31.903698],[102.657618,31.903622],[102.657857,31.903582],[102.658096,31.903542],[102.658335,31.903502],[102.658574,31.903462],[102.658813,31.903422],[102.659052,31.903382],[102.659291,31.903342],[102.659529,31.903302],[102.659946,31.903266],[102.660121,31.903251],[102.660293,31.903236],[102.660363,31.90323],[102.660675,31.903206],[102.66083,31.903195],[102.66087,31.903193],[102.66102,31.903183],[102.66116,31.903127],[102.661228,31.903072],[102.661267,31.90304],[102.661377,31.902806],[102.661383,31.902541],[102.661286,31.902302],[102.661099,31.902122],[102.660913,31.901942],[102.660807,31.90187],[102.660763,31.90184],[102.660699,31.901796],[102.660655,31.901767],[102.660626,31.901747],[102.660503,31.901663],[102.660484,31.901651],[102.66027,31.901505],[102.660056,31.90136],[102.659842,31.901215],[102.659627,31.901069],[102.659413,31.900924],[102.659199,31.900778],[102.658985,31.900633],[102.65877,31.900487],[102.658578,31.900331],[102.658386,31.900176],[102.658194,31.90002],[102.658002,31.899864],[102.65781,31.899708],[102.657618,31.899552],[102.657449,31.899372],[102.65728,31.899192],[102.657254,31.899078],[102.657221,31.89894],[102.657218,31.898925],[102.657156,31.898659],[102.657197,31.898394],[102.657239,31.898129],[102.657417,31.897911],[102.657595,31.897693],[102.657617,31.897685],[102.657784,31.897622],[102.657944,31.897562],[102.658294,31.897431],[102.658643,31.8973],[102.658896,31.897256],[102.659149,31.897213],[102.659403,31.897169],[102.659656,31.897125],[102.659909,31.897081],[102.66004,31.897058],[102.660162,31.897037],[102.660416,31.896993],[102.660669,31.89695],[102.660922,31.896906],[102.661175,31.896862],[102.661429,31.896818],[102.661682,31.896774],[102.661935,31.89673],[102.662164,31.896691],[102.662188,31.896687],[102.662561,31.896647],[102.662705,31.896632],[102.662868,31.896615],[102.662935,31.896608],[102.663308,31.896568],[102.663318,31.896565],[102.663656,31.896456],[102.664005,31.896344],[102.664165,31.896185],[102.664183,31.896166],[102.664238,31.896111],[102.664324,31.896025],[102.664329,31.895993],[102.664331,31.89598],[102.664334,31.895962],[102.664366,31.895761],[102.664358,31.89572],[102.664305,31.895436],[102.664101,31.895284],[102.663897,31.895133],[102.663687,31.895006],[102.663476,31.894879],[102.663266,31.894753],[102.663056,31.894626],[102.662845,31.894499],[102.662635,31.894372],[102.662425,31.894246],[102.662215,31.894119],[102.662004,31.893992],[102.661794,31.893866],[102.661584,31.893739],[102.661373,31.893612],[102.661161,31.893472],[102.660949,31.893332],[102.660737,31.893193],[102.660525,31.893053],[102.66022,31.892735],[102.66007,31.892526],[102.659919,31.892316],[102.659836,31.892166],[102.659821,31.892139],[102.659754,31.892019],[102.659749,31.891965],[102.659742,31.891889],[102.659727,31.891723],[102.659873,31.891431],[102.660242,31.891188],[102.660611,31.890944],[102.660874,31.890816],[102.661137,31.890689],[102.661331,31.890529],[102.661526,31.89037],[102.661774,31.890154],[102.662021,31.889937],[102.662165,31.889718],[102.662293,31.889523],[102.662309,31.889499],[102.66233,31.889458],[102.66234,31.889437],[102.662455,31.889207],[102.662601,31.888915],[102.662643,31.888842],[102.662697,31.888748],[102.662727,31.888696],[102.662813,31.888545],[102.662818,31.888536],[102.663067,31.888274],[102.663379,31.888222],[102.66363,31.888205],[102.663882,31.888187],[102.664133,31.88817],[102.664385,31.888152],[102.664614,31.88816],[102.664843,31.888168],[102.665072,31.888176],[102.665301,31.888184],[102.66553,31.888192],[102.665759,31.8882],[102.665988,31.888208],[102.666217,31.888216],[102.666587,31.888197],[102.666851,31.888184],[102.666958,31.888179],[102.667358,31.888098],[102.667708,31.888027],[102.667758,31.888017],[102.668177,31.887877],[102.668213,31.887848],[102.668495,31.887618],[102.668643,31.887238],[102.668645,31.887174],[102.668646,31.887125],[102.668648,31.887051],[102.668648,31.887043],[102.668653,31.886855],[102.668623,31.886794],[102.668488,31.886527],[102.668251,31.886346],[102.668013,31.886164],[102.667683,31.885991],[102.667352,31.885818],[102.667022,31.885645],[102.666762,31.885515],[102.666737,31.885503],[102.666714,31.885491],[102.666589,31.885358],[102.666546,31.885312],[102.666381,31.885013],[102.66627,31.884745],[102.666229,31.884646],[102.666076,31.88428],[102.665928,31.883922],[102.665924,31.883913],[102.66572,31.88364],[102.665672,31.883575],[102.665516,31.883368],[102.665331,31.883157],[102.665146,31.882947],[102.66501,31.882826],[102.664975,31.882636],[102.664963,31.882575],[102.664953,31.882519],[102.66495,31.882501],[102.664954,31.882344],[102.664958,31.882177],[102.665139,31.881885],[102.665357,31.881801],[102.665575,31.881716],[102.665793,31.881631],[102.666011,31.881547],[102.666197,31.881521],[102.666218,31.881518],[102.666382,31.881495],[102.666752,31.881443],[102.667122,31.881391],[102.667418,31.881323],[102.667471,31.88131],[102.667667,31.881265],[102.667714,31.881254],[102.66793,31.881179],[102.668145,31.881105],[102.66836,31.88103],[102.668575,31.880955],[102.668791,31.880881],[102.669006,31.880806],[102.669413,31.880666],[102.66982,31.880526],[102.670228,31.880387],[102.670526,31.8802],[102.670592,31.880159],[102.67066,31.880116],[102.670825,31.880013],[102.670849,31.879987],[102.671039,31.879782],[102.671277,31.879523],[102.671315,31.879246],[102.671323,31.878913],[102.671139,31.87852],[102.670832,31.878335],[102.670525,31.87815],[102.67014,31.877948],[102.669887,31.877816],[102.669755,31.877746],[102.669623,31.877678],[102.6695,31.877613],[102.66941,31.877566],[102.669369,31.877544],[102.669177,31.877444],[102.669123,31.877415],[102.668984,31.877342],[102.668776,31.877201],[102.668569,31.87706],[102.668375,31.876886],[102.66828,31.876772],[102.668236,31.876685],[102.668217,31.876648],[102.668186,31.876588],[102.668122,31.876462],[102.668157,31.876138],[102.668162,31.876094],[102.668421,31.875904],[102.668679,31.875714],[102.669027,31.875513],[102.669375,31.875311],[102.669723,31.87511],[102.670013,31.874942],[102.670311,31.874756],[102.67061,31.87457],[102.670823,31.874338],[102.671036,31.874106],[102.671163,31.873887],[102.67129,31.873668],[102.671357,31.873482],[102.671439,31.873258],[102.671446,31.872963],[102.671418,31.872698],[102.671346,31.872339],[102.671201,31.872166],[102.671118,31.872067],[102.670912,31.87182],[102.67089,31.871794],[102.670823,31.87176],[102.670751,31.871724],[102.670718,31.871707],[102.670669,31.871682],[102.670449,31.87157],[102.670228,31.871458],[102.670007,31.871345],[102.669786,31.871233],[102.669566,31.871121],[102.669345,31.871009],[102.669124,31.870896],[102.668741,31.870753],[102.668358,31.870611],[102.667974,31.870468],[102.66792,31.870441],[102.667919,31.870441],[102.667852,31.870408],[102.667837,31.870401],[102.667599,31.870284],[102.667395,31.870134],[102.667295,31.869954],[102.6673,31.869748],[102.667386,31.869525],[102.667471,31.869303],[102.667557,31.86908],[102.667642,31.868857],[102.667772,31.868642],[102.667901,31.868428],[102.66803,31.868213],[102.668159,31.867998],[102.668288,31.867784],[102.668417,31.867569],[102.668546,31.867354],[102.668675,31.86714],[102.668804,31.866925],[102.668933,31.86671],[102.669227,31.866384],[102.669521,31.866057],[102.669814,31.865731],[102.670108,31.865405],[102.67023,31.865212],[102.670352,31.86502],[102.670474,31.864827],[102.670596,31.864635],[102.670719,31.864442],[102.670841,31.86425],[102.670954,31.863883],[102.671031,31.863633],[102.671067,31.863517],[102.671125,31.863252],[102.671183,31.862988],[102.671156,31.862737],[102.671128,31.862486],[102.671091,31.862441],[102.670976,31.8623],[102.670914,31.862223],[102.670858,31.862155],[102.670605,31.8619],[102.670572,31.861867],[102.670473,31.861767],[102.670419,31.861713],[102.670418,31.861712],[102.670376,31.86167],[102.670371,31.861664],[102.670352,31.861645],[102.670184,31.861451],[102.670016,31.861256],[102.669935,31.861033],[102.669854,31.860811],[102.669878,31.860546],[102.669902,31.860281],[102.67005,31.85992],[102.670197,31.859559],[102.670345,31.859198],[102.670493,31.858807],[102.670641,31.858417],[102.670789,31.858026],[102.670868,31.857681],[102.670892,31.857421],[102.670904,31.857291],[102.670915,31.857166],[102.670915,31.857161],[102.670939,31.856901],[102.670963,31.856641],[102.670987,31.856381],[102.671011,31.856121],[102.67109,31.855699],[102.67117,31.855278],[102.67125,31.854856],[102.671364,31.854461],[102.671479,31.854065],[102.671577,31.853814],[102.671675,31.853563],[102.67178,31.853315],[102.671885,31.853067],[102.672123,31.852698],[102.672401,31.852482],[102.67249,31.852413],[102.67268,31.852265],[102.67276,31.852329],[102.672798,31.85236],[102.67292,31.852458],[102.67319,31.852728],[102.673436,31.853035],[102.673685,31.853353],[102.673933,31.853672],[102.674138,31.854025],[102.67431,31.854308],[102.674467,31.854632],[102.674623,31.8549],[102.674781,31.85514],[102.674831,31.855257],[102.674825,31.855671],[102.674821,31.855953],[102.674845,31.856319],[102.674869,31.856685],[102.674922,31.856852],[102.675111,31.857037],[102.675327,31.85725],[102.675341,31.857261],[102.675536,31.857404],[102.675731,31.857548],[102.675898,31.857768],[102.675963,31.858071],[102.675945,31.858321],[102.675871,31.858541],[102.675797,31.858761],[102.675797,31.859023],[102.675853,31.859259],[102.675856,31.859273],[102.675981,31.859475],[102.676058,31.859522],[102.676177,31.859594],[102.676505,31.859814],[102.676612,31.859915],[102.676689,31.860046],[102.676737,31.860189],[102.676784,31.86032],[102.676856,31.860433],[102.676939,31.860534],[102.677082,31.860671],[102.677314,31.860808],[102.677557,31.860909],[102.677843,31.861099],[102.678129,31.861289],[102.678295,31.861459],[102.678462,31.861628],[102.678503,31.861825],[102.678501,31.861893],[102.678497,31.862021],[102.678485,31.862289],[102.678474,31.862556],[102.67842,31.862818],[102.67839,31.863009],[102.678319,31.863305],[102.678248,31.863602],[102.678248,31.863603],[102.678248,31.863603],[102.678223,31.863687],[102.678223,31.863689],[102.67817,31.863871],[102.678027,31.864032],[102.677682,31.864222],[102.677593,31.864341],[102.677589,31.864459],[102.677587,31.86452],[102.677623,31.864769],[102.677659,31.864989],[102.677831,31.865299],[102.678004,31.86568],[102.678099,31.865804],[102.678277,31.86587],[102.678401,31.86591],[102.67844,31.865922],[102.678442,31.865923],[102.678444,31.865923],[102.678557,31.866025],[102.678569,31.866155],[102.678557,31.866286],[102.678527,31.866459],[102.678533,31.866631],[102.678652,31.86697],[102.678682,31.867119],[102.678682,31.867202],[102.67861,31.867315],[102.678521,31.867399],[102.678367,31.867494],[102.678057,31.86775],[102.677861,31.867916],[102.677737,31.86802],[102.677635,31.868107],[102.677436,31.868309],[102.677236,31.868511],[102.677088,31.86874],[102.677082,31.868749],[102.677082,31.868948],[102.677082,31.868975],[102.677093,31.869082],[102.677207,31.869433],[102.677409,31.869748],[102.677516,31.870141],[102.677555,31.870444],[102.677593,31.870748],[102.677617,31.870836],[102.677665,31.871014],[102.677742,31.871301],[102.67775,31.871323],[102.677871,31.871669],[102.677992,31.872015],[102.678033,31.87228],[102.678075,31.872544],[102.678111,31.872848],[102.678069,31.873264],[102.678013,31.873526],[102.677957,31.873788],[102.677891,31.874097],[102.677891,31.87421],[102.677891,31.874299],[102.677932,31.874382],[102.678051,31.87446],[102.678105,31.874502],[102.678349,31.874692],[102.678593,31.874882],[102.678771,31.875215],[102.678793,31.87529],[102.67886,31.875513],[102.678908,31.875816],[102.678979,31.876119],[102.679092,31.876328],[102.67919,31.876551],[102.679289,31.876774],[102.679402,31.876968],[102.679473,31.877089],[102.679526,31.877404],[102.679528,31.877433],[102.679544,31.877696],[102.679604,31.877934],[102.679741,31.878178],[102.679988,31.878499],[102.680056,31.878588],[102.680115,31.878721],[102.680199,31.878909],[102.680211,31.879177],[102.680208,31.879425],[102.680205,31.879861],[102.680175,31.880224],[102.680104,31.880593],[102.680032,31.880914],[102.679848,31.881116],[102.679613,31.881396],[102.679378,31.881675],[102.679146,31.882015],[102.678914,31.882354],[102.678696,31.882558],[102.678521,31.882722],[102.678515,31.882853],[102.678525,31.88289],[102.678539,31.882948],[102.678694,31.883056],[102.678725,31.883075],[102.678906,31.883189],[102.679117,31.883323],[102.679401,31.883664],[102.679685,31.884006],[102.679969,31.884348],[102.680253,31.884689],[102.680536,31.885031],[102.680348,31.885416],[102.680159,31.885801],[102.679971,31.886186],[102.679782,31.886571],[102.679594,31.886956],[102.679594,31.886957],[102.679593,31.886957],[102.679405,31.887341],[102.679217,31.887727],[102.679032,31.888008],[102.678847,31.88829],[102.67871,31.888506],[102.678573,31.888721],[102.678437,31.888936],[102.6783,31.889152],[102.678164,31.889367],[102.678027,31.889582],[102.677891,31.889798],[102.677754,31.890013],[102.677617,31.890229],[102.677481,31.890444],[102.677344,31.890659],[102.677208,31.890875],[102.677071,31.89109],[102.676934,31.891305],[102.676813,31.891521],[102.676691,31.891737],[102.67657,31.891953],[102.676448,31.892169],[102.676327,31.892385],[102.676205,31.892601],[102.676084,31.892817],[102.675962,31.893033],[102.67584,31.893249],[102.675719,31.893464],[102.675668,31.89359],[102.675629,31.893688],[102.675591,31.893782],[102.675547,31.893966],[102.675562,31.894151],[102.675596,31.894335],[102.675632,31.894453],[102.675739,31.894703],[102.675847,31.894952],[102.675954,31.895202],[102.676061,31.895451],[102.676273,31.89584],[102.676485,31.896228],[102.676698,31.896617],[102.67691,31.897006],[102.677023,31.897201],[102.677137,31.897396],[102.677251,31.897592],[102.677364,31.897787],[102.677478,31.897982],[102.677592,31.898177],[102.677704,31.898393],[102.677817,31.898609],[102.67793,31.898825],[102.678043,31.899041],[102.678155,31.899258],[102.678268,31.899474],[102.678381,31.89969],[102.678493,31.899906],[102.678605,31.900177],[102.678715,31.900547],[102.678757,31.900801],[102.6788,31.901054],[102.67885,31.901467],[102.678841,31.901787],[102.678796,31.902003],[102.678754,31.902138],[102.678712,31.902237],[102.678538,31.902404],[102.678364,31.902571],[102.67819,31.902738],[102.678016,31.902904],[102.677842,31.903071],[102.677668,31.903238],[102.677494,31.903405],[102.677319,31.903571],[102.677159,31.903751],[102.676998,31.90393],[102.676837,31.904109],[102.676676,31.904289],[102.676516,31.904468],[102.676355,31.904647],[102.676194,31.904826],[102.676034,31.905006],[102.675873,31.905185],[102.675712,31.905364],[102.675551,31.905544],[102.675391,31.905723],[102.67523,31.905902],[102.675069,31.906081],[102.674929,31.906261],[102.674788,31.906441],[102.674647,31.90662],[102.674507,31.9068],[102.674366,31.906979],[102.674225,31.907159],[102.674085,31.907338],[102.673944,31.907518],[102.673922,31.907651],[102.673923,31.907658],[102.673938,31.907769],[102.673947,31.90778],[102.674014,31.907855],[102.674111,31.907923],[102.674312,31.908025],[102.674513,31.908127],[102.674714,31.908229],[102.674915,31.90833],[102.675116,31.908432],[102.675318,31.908534],[102.675693,31.908742],[102.676069,31.908951],[102.676151,31.908996],[102.676445,31.909159],[102.676792,31.9094],[102.677042,31.90969],[102.677193,31.909928],[102.677286,31.910198],[102.677301,31.910383],[102.677297,31.910484],[102.677276,31.9106],[102.677273,31.910668],[102.677136,31.91089],[102.676999,31.911112],[102.676862,31.911334],[102.676725,31.911557],[102.676593,31.91179],[102.676461,31.912024],[102.676329,31.912257],[102.676197,31.912491],[102.676065,31.912724],[102.675933,31.912958],[102.675912,31.912996],[102.675801,31.913192],[102.675669,31.913425],[102.675555,31.9137],[102.67544,31.913974],[102.675345,31.914224],[102.67525,31.914474],[102.675214,31.914759],[102.675177,31.915044],[102.675164,31.915298],[102.675151,31.915553],[102.675138,31.915807],[102.675125,31.916061],[102.675111,31.916316],[102.675098,31.91657],[102.675111,31.916776],[102.675126,31.91704],[102.675163,31.917246],[102.675177,31.917319],[102.675229,31.917571],[102.675273,31.917684],[102.675378,31.91795],[102.675526,31.918329],[102.675608,31.918539],[102.675674,31.918708],[102.675794,31.919046],[102.675914,31.919383],[102.67598,31.9196],[102.676046,31.919818],[102.676112,31.920035],[102.676177,31.920252],[102.676243,31.92047],[102.676309,31.920687],[102.676375,31.920904],[102.676441,31.921122],[102.676484,31.921366],[102.676528,31.92161],[102.676523,31.921795],[102.676479,31.921928],[102.676378,31.922077],[102.676209,31.922267],[102.67604,31.922457],[102.675871,31.922647],[102.675702,31.922837],[102.675533,31.923027],[102.675364,31.923217],[102.675201,31.923417],[102.675038,31.923616],[102.674876,31.923816],[102.674713,31.924016],[102.674551,31.924216],[102.674388,31.924416],[102.674225,31.924615],[102.674063,31.924815],[102.6739,31.925015],[102.673737,31.925215],[102.67353,31.925598],[102.673445,31.925831],[102.673421,31.926049],[102.673416,31.92625],[102.673468,31.926469],[102.673523,31.926621],[102.673599,31.926774],[102.673886,31.927087],[102.674174,31.9274],[102.674462,31.927713],[102.674673,31.927952],[102.674786,31.928172],[102.674859,31.928391],[102.674876,31.928527],[102.67489,31.928729],[102.674876,31.928986],[102.674863,31.929243],[102.674849,31.929501],[102.674835,31.929758],[102.674821,31.930016],[102.674807,31.930273],[102.674793,31.93053],[102.674779,31.930788],[102.674777,31.931065],[102.674775,31.931342],[102.674773,31.931619],[102.674771,31.931896],[102.674703,31.932256],[102.674635,31.932615],[102.674569,31.932891],[102.674502,31.933167],[102.674476,31.933434],[102.674515,31.933616],[102.674565,31.933697],[102.67461,31.933768],[102.674898,31.934084],[102.674916,31.934103],[102.675186,31.934399],[102.675454,31.934701],[102.675721,31.935002],[102.675989,31.935303],[102.676136,31.935494],[102.676283,31.935685],[102.67643,31.935875],[102.676577,31.936066],[102.676724,31.936257],[102.676871,31.936448],[102.677018,31.936638],[102.677165,31.936829],[102.677312,31.93702],[102.677459,31.937211],[102.677647,31.937566],[102.67774,31.937828],[102.677832,31.938091],[102.677885,31.938391],[102.677937,31.938691],[102.677955,31.938955],[102.677973,31.93922],[102.677991,31.939484],[102.678009,31.939749],[102.678033,31.939993],[102.678056,31.940238],[102.67812,31.940457],[102.678183,31.940676],[102.678312,31.941039],[102.67844,31.941402],[102.678534,31.941622],[102.678627,31.941842],[102.678808,31.942114],[102.678988,31.942385],[102.679122,31.942622],[102.679256,31.942859],[102.679391,31.943096],[102.679525,31.943332],[102.679659,31.943569],[102.679793,31.943806],[102.679928,31.944043],[102.680062,31.94428],[102.680196,31.944517],[102.680331,31.944753],[102.680471,31.945077],[102.680508,31.945159],[102.680684,31.945565],[102.680861,31.945971],[102.681038,31.946377],[102.681158,31.946707],[102.681271,31.947015],[102.681278,31.947036],[102.681361,31.947298],[102.681444,31.94756],[102.681493,31.947924],[102.681495,31.948058],[102.681496,31.948167],[102.6815,31.94841],[102.681433,31.948728],[102.681366,31.949047],[102.681271,31.949305],[102.681176,31.949564],[102.681112,31.949747],[102.681108,31.949999],[102.681122,31.9501],[102.681159,31.950235],[102.681472,31.950538],[102.681785,31.950842],[102.682098,31.951145],[102.682411,31.951449],[102.682622,31.951676],[102.682833,31.951903],[102.682987,31.952107],[102.683042,31.952226],[102.683118,31.952361],[102.683126,31.952431],[102.68315,31.952631],[102.683124,31.952899],[102.683027,31.953216],[102.682931,31.953533],[102.682872,31.953884],[102.682814,31.954236],[102.682787,31.954536],[102.682782,31.954779],[102.682812,31.955132],[102.682872,31.95539],[102.682931,31.955649],[102.682991,31.955907],[102.68305,31.956166],[102.683109,31.956424],[102.683159,31.95664],[102.683159,31.95664],[102.683169,31.956683],[102.683223,31.956903],[102.683278,31.957123],[102.683332,31.957343],[102.683387,31.957563],[102.683441,31.957783],[102.683496,31.958003],[102.68355,31.958223],[102.683605,31.958443],[102.683662,31.958672],[102.683718,31.958901],[102.683775,31.959129],[102.683832,31.959358],[102.683911,31.959729],[102.683991,31.9601],[102.684118,31.960505],[102.684306,31.960878],[102.684444,31.961103],[102.684582,31.961328],[102.68472,31.961554],[102.684857,31.961779],[102.684995,31.962004],[102.685034,31.962068],[102.685035,31.96207],[102.685133,31.962229],[102.685304,31.96251],[102.685336,31.962585],[102.685341,31.962599],[102.685456,31.962924],[102.685509,31.963072],[102.685571,31.963248],[102.685631,31.963375],[102.685757,31.963641],[102.68584,31.963749],[102.685993,31.963948],[102.686157,31.964105],[102.686364,31.964248],[102.686635,31.964334],[102.686799,31.964369],[102.686937,31.964424],[102.686978,31.964441],[102.68717,31.964555],[102.687206,31.964612],[102.687272,31.964722],[102.687456,31.965026],[102.687479,31.965076],[102.687644,31.965432],[102.687809,31.965789],[102.688112,31.966075],[102.688148,31.96611],[102.688274,31.966228],[102.688339,31.966288],[102.688422,31.96636],[102.688487,31.966413],[102.688505,31.966455],[102.688517,31.966526],[102.68844,31.966633],[102.688279,31.966901],[102.688119,31.967169],[102.688005,31.967396],[102.687934,31.967537],[102.687774,31.967758],[102.687632,31.967903],[102.687565,31.967972],[102.687357,31.968132],[102.687149,31.968293],[102.686958,31.968461],[102.68686,31.968547],[102.68681,31.96859],[102.686679,31.968608],[102.686572,31.968608],[102.686453,31.968674],[102.686388,31.96881],[102.686411,31.969054],[102.686411,31.969447],[102.68639,31.969673],[102.68637,31.969899],[102.686313,31.970142],[102.686287,31.970248],[102.686255,31.970384],[102.686135,31.970637],[102.686049,31.970818],[102.685969,31.970986],[102.685803,31.971336],[102.685764,31.971396],[102.685709,31.971481],[102.68568,31.971527],[102.685609,31.971637],[102.685556,31.971718],[102.685433,31.971908],[102.68531,31.972099],[102.68515,31.972255],[102.685007,31.972395],[102.684787,31.972542],[102.684508,31.972655],[102.684168,31.972783],[102.684089,31.972805],[102.683913,31.972854],[102.683658,31.972924],[102.683403,31.972994],[102.683148,31.973064],[102.682893,31.973135],[102.682638,31.973205],[102.682383,31.973275],[102.682128,31.973345],[102.681873,31.973416],[102.681618,31.973486],[102.681369,31.973565],[102.68112,31.973645],[102.680872,31.973724],[102.680805,31.973745],[102.680623,31.973803],[102.68052,31.973844],[102.680236,31.973956],[102.680071,31.97402],[102.679859,31.974104],[102.679848,31.974108],[102.679622,31.974232],[102.679538,31.974278],[102.679486,31.974307],[102.679227,31.974449],[102.678946,31.974637],[102.678665,31.974826],[102.678599,31.974884],[102.678349,31.975105],[102.678034,31.975384],[102.677718,31.975664],[102.677564,31.975844],[102.67741,31.976025],[102.677256,31.976205],[102.677102,31.976385],[102.676948,31.976566],[102.676794,31.976746],[102.67664,31.976926],[102.676486,31.977107],[102.676333,31.977285],[102.676181,31.977464],[102.676181,31.977464],[102.676181,31.977464],[102.676025,31.977686],[102.675832,31.977998],[102.675638,31.97831],[102.675513,31.978507],[102.675478,31.978679],[102.675478,31.978894],[102.675478,31.979018],[102.675489,31.979188],[102.67549,31.979197],[102.675608,31.979406],[102.67562,31.979429],[102.675815,31.979757],[102.67601,31.980084],[102.676031,31.980119],[102.676233,31.980428],[102.676435,31.980738],[102.67656,31.981059],[102.676703,31.981338],[102.67675,31.981441],[102.676882,31.981725],[102.677015,31.98204],[102.677149,31.982356],[102.677156,31.982381],[102.677273,31.982806],[102.67739,31.983231],[102.677465,31.983504],[102.677601,31.983789],[102.677619,31.983932],[102.677625,31.984057],[102.677578,31.984158],[102.677384,31.984429],[102.677191,31.984699],[102.677062,31.984898],[102.676793,31.985163],[102.676525,31.985428],[102.676257,31.985693],[102.676061,31.985855],[102.675882,31.986002],[102.67561,31.986348],[102.675597,31.986365],[102.675365,31.986609],[102.67524,31.98674],[102.675139,31.986924],[102.675109,31.98718],[102.675109,31.98762],[102.675091,31.987953],[102.675186,31.988227],[102.675192,31.988393],[102.675079,31.988631],[102.675061,31.98906],[102.675064,31.989145],[102.675073,31.989381],[102.675133,31.989756],[102.675145,31.990119],[102.675145,31.990273],[102.675087,31.990423],[102.675055,31.990505],[102.674966,31.99066],[102.674913,31.99088],[102.674918,31.991005],[102.674948,31.991142],[102.675121,31.991308],[102.675127,31.991362],[102.675097,31.991469],[102.674936,31.991695],[102.674776,31.991921],[102.674615,31.992272],[102.674598,31.992368],[102.674531,31.992744],[102.674526,31.992772],[102.67449,31.99309],[102.674455,31.993408],[102.674397,31.993677],[102.67433,31.993991],[102.674312,31.994235],[102.674307,31.994332],[102.674306,31.994366],[102.674371,31.994467],[102.674532,31.994705],[102.674675,31.994913],[102.674752,31.995145],[102.674827,31.995447],[102.674903,31.995749],[102.674918,31.995811],[102.675061,31.996127],[102.675171,31.996356],[102.675281,31.996585],[102.675378,31.996729],[102.675538,31.996966],[102.675698,31.997203],[102.675927,31.997444],[102.676156,31.997685],[102.676251,31.997828],[102.676322,31.997971],[102.676394,31.998007],[102.676453,31.998036],[102.676483,31.998114],[102.676471,31.998256],[102.676424,31.998387],[102.67637,31.998488],[102.676282,31.998528],[102.676263,31.998536],[102.676049,31.998619],[102.675882,31.998744],[102.675751,31.998881],[102.675742,31.998895],[102.675715,31.998936],[102.675591,31.999125],[102.675466,31.999458],[102.675377,31.999583],[102.675153,31.999816],[102.674942,32.000035],[102.674698,32.000326],[102.674496,32.000487],[102.674228,32.000707],[102.673976,32.000862],[102.673723,32.001016],[102.673604,32.001129],[102.673544,32.001314],[102.673408,32.001736],[102.673312,32.002099],[102.673275,32.002198],[102.673247,32.002272],[102.673158,32.002403],[102.67308,32.00248],[102.672902,32.002557],[102.672718,32.002649],[102.672569,32.002724],[102.672397,32.002808],[102.672265,32.002872],[102.672031,32.002925],[102.671796,32.002977],[102.671784,32.00298],[102.671587,32.003009],[102.671308,32.003104],[102.671022,32.00336],[102.670975,32.003568],[102.670992,32.003729],[102.671053,32.003925],[102.671125,32.004159],[102.671171,32.004306],[102.671284,32.004621],[102.671308,32.004776],[102.671236,32.004907],[102.671141,32.005073],[102.671064,32.00524],[102.671033,32.005277],[102.670844,32.005508],[102.670683,32.005752],[102.670661,32.005808],[102.670591,32.00599],[102.670499,32.006227],[102.670415,32.006567],[102.670338,32.006784],[102.670261,32.007001],[102.670112,32.007254],[102.669963,32.007506],[102.669832,32.007703],[102.669672,32.007798],[102.66941,32.007932],[102.669148,32.008065],[102.669113,32.008083],[102.668976,32.008191],[102.668973,32.008215],[102.668958,32.008327],[102.668982,32.008434],[102.669035,32.008589],[102.669046,32.008637],[102.669071,32.008744],[102.669089,32.008892],[102.669136,32.009053],[102.669214,32.00919],[102.669386,32.009351],[102.669559,32.009511],[102.669752,32.009856],[102.669945,32.010201],[102.670094,32.010412],[102.670243,32.010624],[102.670326,32.010689],[102.670451,32.010743],[102.670473,32.010749],[102.670869,32.010859],[102.671028,32.010903],[102.671168,32.010983],[102.671236,32.011022],[102.671563,32.011302],[102.671754,32.011453],[102.671944,32.011605],[102.672063,32.011685],[102.672164,32.011754],[102.672462,32.011908],[102.672729,32.012164],[102.67278,32.012213],[102.672914,32.012343],[102.673057,32.012515],[102.673092,32.012646],[102.673106,32.012724],[102.673122,32.012813],[102.673211,32.012961],[102.673354,32.013167],[102.673425,32.013415],[102.673491,32.013552],[102.673516,32.013605],[102.67358,32.01369],[102.673673,32.013813],[102.673706,32.013857],[102.673816,32.01399],[102.674011,32.014109],[102.674073,32.014157],[102.674077,32.014228],[102.674073,32.014333],[102.674038,32.014456],[102.674025,32.0145],[102.673973,32.014609],[102.673968,32.014757],[102.673958,32.014918],[102.673916,32.015109],[102.673868,32.015209],[102.673836,32.015301],[102.673811,32.015375],[102.673868,32.015689],[102.673849,32.015861],[102.673839,32.016132],[102.673839,32.016312],[102.673839,32.016384],[102.673915,32.016695],[102.673944,32.016813],[102.673996,32.017046],[102.674009,32.017109],[102.674092,32.017536],[102.674151,32.017895],[102.674211,32.018254],[102.674234,32.018535],[102.674196,32.018764],[102.674125,32.018945],[102.674123,32.018958],[102.674101,32.019159],[102.67412,32.019306],[102.674215,32.019458],[102.674401,32.019749],[102.674501,32.019953],[102.674539,32.020063],[102.674582,32.020187],[102.674636,32.020406],[102.674644,32.020439],[102.674625,32.020696],[102.674587,32.020896],[102.674604,32.021106],[102.674606,32.021129],[102.674632,32.021353],[102.674634,32.021368],[102.674658,32.021576],[102.674701,32.021881],[102.67471,32.022085],[102.674691,32.02229],[102.674644,32.022576],[102.674644,32.02278],[102.674682,32.022999],[102.674698,32.023062],[102.674777,32.023361],[102.674796,32.023508],[102.674789,32.0237],[102.674786,32.023775],[102.674677,32.024108],[102.674644,32.024355],[102.674639,32.024589],[102.674601,32.024755],[102.674544,32.024874],[102.674265,32.02512],[102.673891,32.025317],[102.673792,32.025369],[102.673571,32.025446],[102.673351,32.025522],[102.67334,32.025526],[102.673021,32.025636],[102.672726,32.025816],[102.672359,32.025926],[102.671993,32.026035],[102.671631,32.026173],[102.671296,32.02643],[102.671265,32.026454],[102.671079,32.026545],[102.670851,32.026659],[102.670568,32.026813],[102.670284,32.026968],[102.670047,32.027106],[102.669882,32.02738],[102.669804,32.027511],[102.669667,32.027902],[102.669657,32.027948],[102.669589,32.028259],[102.669639,32.028495],[102.66976,32.028666],[102.669924,32.028841],[102.670088,32.029016],[102.67026,32.029159],[102.670481,32.029337],[102.670602,32.029701],[102.670738,32.029915],[102.670888,32.030115],[102.670995,32.030265],[102.671022,32.030333],[102.671109,32.030551],[102.671159,32.030693],[102.67138,32.030875],[102.671602,32.031057],[102.671877,32.031264],[102.672151,32.031471],[102.672176,32.031499],[102.672395,32.031741],[102.672428,32.031778],[102.67268,32.032057],[102.672837,32.032232],[102.672994,32.032407],[102.673029,32.03242],[102.673379,32.032556],[102.673686,32.032671],[102.673886,32.032799],[102.673906,32.032832],[102.674036,32.033042],[102.67405,32.033137],[102.674072,32.033277],[102.67405,32.03367],[102.673953,32.033997],[102.673907,32.034148],[102.67379,32.034496],[102.673722,32.034698],[102.673658,32.034905],[102.673693,32.035105],[102.673702,32.035114],[102.6738,32.035219],[102.673922,32.035298],[102.674022,32.035462],[102.67405,32.035655],[102.674036,32.035883],[102.67392,32.036165],[102.673805,32.036447],[102.673766,32.036542],[102.67371,32.036679],[102.673615,32.036911],[102.673527,32.037131],[102.673465,32.037289],[102.673212,32.037566],[102.673158,32.037625],[102.672894,32.037967],[102.672772,32.038189],[102.672694,32.038421],[102.672615,32.038653],[102.672423,32.038988],[102.672291,32.039181],[102.672159,32.039374],[102.67215,32.039387],[102.671976,32.039641],[102.671802,32.039895],[102.671752,32.04013],[102.671652,32.040344],[102.67153,32.04043],[102.67142,32.040487],[102.671266,32.040566],[102.671007,32.040717],[102.670924,32.040766],[102.670595,32.041008],[102.670481,32.041094],[102.670438,32.041201],[102.670424,32.041494],[102.67041,32.041786],[102.670353,32.042215],[102.670346,32.04224],[102.67034,32.042263],[102.670243,32.042646],[102.670146,32.043028],[102.670074,32.043207],[102.670003,32.043307],[102.669839,32.043343],[102.669739,32.043347],[102.669532,32.043357],[102.669367,32.043357],[102.669096,32.043303],[102.668825,32.04325],[102.668554,32.043207],[102.668282,32.043164],[102.667933,32.04315],[102.667669,32.043143],[102.667577,32.043164],[102.667483,32.043186],[102.667269,32.043278],[102.667019,32.043321],[102.666669,32.043271],[102.666369,32.04325],[102.666237,32.04325],[102.666091,32.04325],[102.666017,32.043296],[102.665698,32.043492],[102.665394,32.043779],[102.665191,32.043971],[102.664949,32.044106],[102.664763,32.044256],[102.664556,32.044328],[102.664378,32.04442],[102.664256,32.04452],[102.664064,32.04471],[102.663871,32.044899],[102.663849,32.04492],[102.663585,32.045091],[102.663278,32.045199],[102.663064,32.045234],[102.662814,32.045234]]]]},"properties":{"cp":[102.49877817263959,32.16081640345188],"code":"513233101","name":"刷经寺镇","level":"street","center":[102.49877817263959,32.16081640345188],"fullCode":"513233101000","fullName":"四川省阿坝藏族羌族自治州红原县刷经寺镇","acreageMu":1479646.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.661,31.9177]}},{"id":"513233103","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.190465,32.696137],[102.190648,32.695897],[102.1908,32.695656],[102.19099,32.695463],[102.19118,32.69527],[102.19137,32.695077],[102.19156,32.694884],[102.191781,32.694532],[102.191877,32.694281],[102.191973,32.694031],[102.192053,32.693751],[102.192132,32.69347],[102.192144,32.693222],[102.192157,32.692973],[102.192157,32.692964],[102.192169,32.692725],[102.192181,32.692476],[102.192193,32.692228],[102.192206,32.691979],[102.192218,32.691731],[102.19223,32.691482],[102.192191,32.691051],[102.192169,32.690812],[102.192152,32.690619],[102.192166,32.690348],[102.192167,32.690321],[102.192174,32.690188],[102.192196,32.689758],[102.192219,32.689328],[102.192241,32.688898],[102.192293,32.688642],[102.192345,32.688386],[102.192398,32.68813],[102.19245,32.687874],[102.192502,32.687618],[102.192555,32.687361],[102.192607,32.687105],[102.192611,32.687088],[102.192659,32.686849],[102.192712,32.686593],[102.192738,32.686466],[102.192764,32.686337],[102.192816,32.686081],[102.192854,32.685898],[102.192865,32.685841],[102.192869,32.685825],[102.192956,32.685578],[102.193042,32.685331],[102.193129,32.685084],[102.193216,32.684837],[102.193303,32.684591],[102.193325,32.684528],[102.19339,32.684344],[102.193425,32.684243],[102.193477,32.684097],[102.193564,32.68385],[102.193677,32.683607],[102.19379,32.683365],[102.193903,32.683122],[102.194017,32.68288],[102.19413,32.682637],[102.194243,32.682395],[102.194356,32.682152],[102.194379,32.682104],[102.194469,32.68191],[102.194548,32.681812],[102.19475,32.681561],[102.19503,32.681212],[102.195311,32.680863],[102.195591,32.680514],[102.195872,32.680165],[102.196009,32.680089],[102.196105,32.680037],[102.19628,32.67994],[102.196299,32.679929],[102.196337,32.679909],[102.196684,32.679795],[102.196763,32.679769],[102.197011,32.67973],[102.197093,32.679718],[102.197258,32.679692],[102.197259,32.679692],[102.197259,32.679692],[102.197279,32.679689],[102.197452,32.679664],[102.197612,32.679641],[102.197877,32.679609],[102.198142,32.679578],[102.198406,32.679547],[102.198664,32.679516],[102.198671,32.679515],[102.198685,32.679506],[102.198713,32.679487],[102.198745,32.679465],[102.198883,32.67937],[102.198924,32.679343],[102.199142,32.679109],[102.199221,32.678815],[102.199234,32.678399],[102.199224,32.678146],[102.199215,32.677893],[102.199152,32.677639],[102.19909,32.677386],[102.199091,32.677363],[102.199095,32.677215],[102.199098,32.677109],[102.199101,32.677035],[102.199101,32.677032],[102.199101,32.67703],[102.199215,32.676735],[102.199399,32.676502],[102.199687,32.6763],[102.19992,32.676142],[102.200154,32.675984],[102.200387,32.67584],[102.20062,32.675697],[102.200818,32.675553],[102.201016,32.675409],[102.201234,32.675206],[102.201398,32.675016],[102.201562,32.674826],[102.20182,32.674485],[102.202077,32.674145],[102.202335,32.673804],[102.202507,32.673576],[102.202515,32.673565],[102.202592,32.673463],[102.20266,32.673267],[102.202669,32.673238],[102.202747,32.673013],[102.202812,32.672825],[102.202824,32.672788],[102.202902,32.672563],[102.202979,32.672339],[102.203057,32.672114],[102.203134,32.671889],[102.20316,32.671815],[102.203161,32.67181],[102.203212,32.671664],[102.20335,32.67147],[102.203487,32.671277],[102.203625,32.671083],[102.203763,32.670889],[102.203901,32.670696],[102.204039,32.670502],[102.204111,32.6704],[102.204138,32.670363],[102.204177,32.670308],[102.204231,32.670233],[102.204315,32.670115],[102.204444,32.669924],[102.204486,32.669863],[102.204506,32.669832],[102.204573,32.669734],[102.204793,32.669471],[102.205023,32.669409],[102.205253,32.669348],[102.205483,32.669286],[102.205672,32.669235],[102.20569,32.669231],[102.205714,32.669224],[102.205744,32.669228],[102.20576,32.66923],[102.20603,32.669262],[102.206203,32.669354],[102.206408,32.669537],[102.206543,32.669733],[102.206678,32.66993],[102.20683,32.670141],[102.206982,32.670353],[102.207169,32.67055],[102.207357,32.670746],[102.207711,32.670927],[102.208064,32.671107],[102.208343,32.671202],[102.208621,32.671298],[102.208864,32.671407],[102.208992,32.671465],[102.20903,32.671481],[102.209107,32.671516],[102.209135,32.671534],[102.209452,32.671732],[102.209688,32.672064],[102.209853,32.672425],[102.209915,32.672708],[102.209976,32.672992],[102.210126,32.673263],[102.210276,32.673533],[102.210445,32.673745],[102.210615,32.673957],[102.210922,32.674231],[102.211266,32.674476],[102.211474,32.674585],[102.211682,32.674693],[102.212066,32.674791],[102.212451,32.674859],[102.212838,32.674853],[102.213225,32.674847],[102.213507,32.674823],[102.21372,32.674768],[102.213953,32.674677],[102.214006,32.674656],[102.214063,32.674633],[102.214156,32.674596],[102.214284,32.674546],[102.21429,32.674544],[102.214507,32.674371],[102.214653,32.674225],[102.214958,32.673909],[102.215263,32.673592],[102.215488,32.67336],[102.215569,32.673276],[102.215802,32.672945],[102.216035,32.672613],[102.216268,32.672281],[102.216467,32.672093],[102.216667,32.671904],[102.216899,32.67182],[102.216997,32.671784],[102.217086,32.671753],[102.217131,32.671736],[102.217178,32.671737],[102.217235,32.671739],[102.217301,32.671754],[102.217375,32.671771],[102.217514,32.671834],[102.217753,32.672047],[102.217906,32.672214],[102.218059,32.67238],[102.218212,32.672547],[102.218366,32.672714],[102.218536,32.672881],[102.218707,32.673048],[102.219019,32.673204],[102.219298,32.6733],[102.219578,32.673305],[102.219826,32.673266],[102.220074,32.673227],[102.220141,32.673191],[102.22016,32.673182],[102.220181,32.67317],[102.220367,32.673059],[102.220385,32.673048],[102.2204,32.673039],[102.220437,32.673017],[102.220468,32.672998],[102.220519,32.672952],[102.220638,32.672845],[102.220808,32.672691],[102.220978,32.672537],[102.221148,32.672383],[102.221318,32.67223],[102.221488,32.672076],[102.221658,32.671922],[102.22173,32.671857],[102.221811,32.671785],[102.221829,32.671769],[102.221914,32.671691],[102.221999,32.671615],[102.222169,32.671461],[102.222365,32.671276],[102.22256,32.67109],[102.222756,32.670904],[102.222924,32.670745],[102.222927,32.670742],[102.222952,32.670718],[102.223007,32.670666],[102.223012,32.670661],[102.223019,32.670655],[102.223148,32.670533],[102.223344,32.670347],[102.223539,32.670161],[102.223634,32.670072],[102.223638,32.670068],[102.223735,32.669975],[102.223931,32.66979],[102.223967,32.669756],[102.224127,32.669604],[102.224268,32.669406],[102.224409,32.669208],[102.22455,32.66901],[102.2246,32.668939],[102.22469,32.668811],[102.224787,32.668676],[102.224787,32.668676],[102.224831,32.668613],[102.224846,32.668592],[102.224847,32.668592],[102.224937,32.668465],[102.224972,32.668415],[102.225113,32.668217],[102.225254,32.668019],[102.225314,32.667935],[102.225385,32.667834],[102.225395,32.667821],[102.225455,32.667736],[102.225536,32.667623],[102.225677,32.667425],[102.225818,32.667226],[102.225959,32.667028],[102.226067,32.666876],[102.2261,32.66683],[102.226226,32.666786],[102.226476,32.666699],[102.226727,32.666611],[102.226977,32.666524],[102.227017,32.66651],[102.227019,32.666509],[102.227021,32.666508],[102.227131,32.66647],[102.227131,32.66647],[102.227227,32.666437],[102.227275,32.66642],[102.227478,32.666349],[102.227728,32.666262],[102.227959,32.66615],[102.228191,32.666038],[102.228422,32.665926],[102.228474,32.665901],[102.228622,32.665829],[102.228653,32.665814],[102.228885,32.665702],[102.229116,32.66559],[102.229347,32.665478],[102.229482,32.665413],[102.229578,32.665367],[102.22961,32.665345],[102.229931,32.665124],[102.230283,32.664881],[102.230636,32.664639],[102.230988,32.664396],[102.231336,32.664118],[102.231684,32.66384],[102.23187,32.66367],[102.232056,32.663501],[102.232307,32.663241],[102.232557,32.662981],[102.232708,32.662785],[102.232859,32.662589],[102.233011,32.662393],[102.233162,32.662197],[102.23326,32.661956],[102.233358,32.661715],[102.233456,32.661474],[102.233554,32.661233],[102.233652,32.660993],[102.23375,32.660752],[102.233827,32.660589],[102.233978,32.66041],[102.234128,32.660249],[102.234275,32.660191],[102.234689,32.660097],[102.234697,32.660097],[102.235077,32.660086],[102.235319,32.660101],[102.23556,32.660116],[102.235971,32.660146],[102.236211,32.660182],[102.236451,32.660218],[102.236738,32.660326],[102.237123,32.660437],[102.237431,32.660669],[102.237598,32.660795],[102.237738,32.6609],[102.237937,32.66112],[102.237992,32.661181],[102.238135,32.661339],[102.238299,32.661516],[102.238463,32.661693],[102.238518,32.661757],[102.238627,32.661881],[102.239059,32.661973],[102.239196,32.661976],[102.239375,32.661979],[102.239691,32.661935],[102.240007,32.661891],[102.240235,32.661548],[102.240375,32.661337],[102.240514,32.661126],[102.240653,32.660934],[102.240791,32.660743],[102.241041,32.660504],[102.241317,32.660223],[102.241564,32.660005],[102.24186,32.659846],[102.242227,32.659742],[102.242593,32.659638],[102.242907,32.659624],[102.243293,32.659674],[102.243703,32.659714],[102.244113,32.659754],[102.244367,32.659735],[102.244621,32.659716],[102.244875,32.659697],[102.245128,32.659678],[102.245382,32.659659],[102.245636,32.65964],[102.24589,32.659621],[102.246143,32.659603],[102.246397,32.659584],[102.246651,32.659565],[102.24691,32.659526],[102.247169,32.659487],[102.247294,32.659469],[102.247429,32.659449],[102.247688,32.65941],[102.247947,32.659371],[102.248207,32.659333],[102.248448,32.659348],[102.24869,32.659363],[102.248931,32.659389],[102.248993,32.659396],[102.249158,32.659414],[102.249171,32.659415],[102.249244,32.659443],[102.24927,32.659452],[102.249338,32.659478],[102.24944,32.659516],[102.249459,32.659523],[102.249744,32.659714],[102.249932,32.659882],[102.250121,32.660049],[102.250455,32.660219],[102.250887,32.660331],[102.251174,32.660321],[102.251226,32.660319],[102.251493,32.660263],[102.251551,32.660248],[102.251667,32.660218],[102.25175,32.660197],[102.252006,32.660131],[102.252282,32.659791],[102.252283,32.65979],[102.252283,32.65979],[102.252283,32.65979],[102.252303,32.659765],[102.252484,32.659539],[102.252559,32.659444],[102.252684,32.659288],[102.252692,32.659281],[102.252871,32.659129],[102.253058,32.658969],[102.253381,32.65869],[102.253626,32.658573],[102.253872,32.658456],[102.254117,32.658379],[102.254458,32.658345],[102.254771,32.658352],[102.255058,32.65846],[102.255273,32.658567],[102.255487,32.658674],[102.255846,32.658805],[102.256085,32.658892],[102.256317,32.658836],[102.256323,32.658834],[102.256374,32.658822],[102.256425,32.658809],[102.256549,32.658779],[102.256768,32.658723],[102.257032,32.658475],[102.257189,32.658328],[102.257296,32.658228],[102.257424,32.657985],[102.257503,32.657772],[102.257582,32.657559],[102.257618,32.657298],[102.257655,32.657036],[102.257691,32.656775],[102.257727,32.656513],[102.257764,32.656252],[102.2578,32.65599],[102.257849,32.655552],[102.257899,32.655113],[102.257979,32.654859],[102.25806,32.654606],[102.25814,32.654352],[102.258221,32.654099],[102.258374,32.653836],[102.258552,32.653554],[102.258801,32.653284],[102.25905,32.653013],[102.259234,32.652841],[102.259418,32.652669],[102.259601,32.652496],[102.259785,32.652324],[102.259969,32.652152],[102.260152,32.65198],[102.260353,32.651791],[102.260553,32.651601],[102.260739,32.651432],[102.260925,32.651262],[102.261238,32.650941],[102.261454,32.650719],[102.26155,32.65062],[102.261753,32.650319],[102.261801,32.650206],[102.261883,32.650015],[102.26194,32.64973],[102.261944,32.649587],[102.261947,32.649481],[102.261955,32.649232],[102.261962,32.648983],[102.26197,32.648734],[102.261978,32.648485],[102.261985,32.648236],[102.261993,32.647987],[102.262,32.647738],[102.262008,32.647489],[102.262015,32.64724],[102.262055,32.646812],[102.262095,32.646383],[102.262135,32.645954],[102.262174,32.645526],[102.262245,32.645271],[102.262315,32.645017],[102.262385,32.644762],[102.262455,32.644508],[102.262542,32.644276],[102.262629,32.644045],[102.262717,32.643813],[102.262804,32.643582],[102.263076,32.643257],[102.263347,32.642931],[102.263619,32.642606],[102.263926,32.642291],[102.264233,32.641976],[102.26447,32.641733],[102.26454,32.641661],[102.2647,32.641484],[102.264859,32.641307],[102.265019,32.64113],[102.265179,32.640952],[102.265338,32.640775],[102.265498,32.640598],[102.265542,32.640501],[102.265594,32.640386],[102.26569,32.640174],[102.265786,32.639962],[102.265881,32.63975],[102.265977,32.639538],[102.266073,32.639326],[102.266169,32.639114],[102.266265,32.638902],[102.266267,32.638842],[102.266302,32.638571],[102.266336,32.638301],[102.266371,32.638031],[102.266406,32.63776],[102.266485,32.637506],[102.266565,32.637251],[102.266788,32.636956],[102.266974,32.636689],[102.267087,32.63651],[102.267252,32.636348],[102.267417,32.636185],[102.267532,32.635948],[102.267683,32.635649],[102.267797,32.635441],[102.267879,32.635082],[102.267873,32.634841],[102.267867,32.634599],[102.267861,32.634358],[102.267855,32.634117],[102.267849,32.633876],[102.267846,32.633787],[102.267842,32.633635],[102.267836,32.633394],[102.26783,32.633153],[102.267787,32.632919],[102.267743,32.632685],[102.267699,32.632451],[102.267656,32.632217],[102.267612,32.631983],[102.267568,32.63175],[102.267525,32.631516],[102.267481,32.631282],[102.267437,32.631048],[102.267394,32.630814],[102.26735,32.63058],[102.267306,32.630346],[102.267236,32.630082],[102.267166,32.629819],[102.267095,32.629555],[102.267025,32.629292],[102.266955,32.629028],[102.266884,32.628764],[102.266814,32.628501],[102.266744,32.628237],[102.266673,32.627974],[102.266603,32.62771],[102.266504,32.627479],[102.266406,32.627248],[102.266307,32.627017],[102.266208,32.626786],[102.266109,32.626555],[102.266011,32.626324],[102.265912,32.626092],[102.265813,32.625861],[102.265715,32.62563],[102.265616,32.625399],[102.26548,32.625119],[102.26536,32.624869],[102.265239,32.62462],[102.265119,32.624371],[102.264998,32.624122],[102.264878,32.623873],[102.264757,32.623624],[102.264637,32.623375],[102.264516,32.623126],[102.264415,32.622702],[102.264411,32.6225],[102.264407,32.622298],[102.264416,32.622023],[102.264455,32.621787],[102.264495,32.62155],[102.264534,32.621314],[102.264574,32.621078],[102.264613,32.620841],[102.264653,32.620605],[102.264722,32.620354],[102.264792,32.620103],[102.264862,32.619851],[102.264932,32.6196],[102.265002,32.619349],[102.265072,32.619098],[102.265142,32.618847],[102.265212,32.618596],[102.265291,32.618346],[102.26537,32.618097],[102.265449,32.61785],[102.26545,32.617848],[102.265529,32.617599],[102.265599,32.617382],[102.265609,32.61735],[102.265688,32.617101],[102.265768,32.616852],[102.265847,32.616603],[102.265927,32.616353],[102.265969,32.616219],[102.266006,32.616104],[102.266065,32.61592],[102.266086,32.615855],[102.266165,32.615606],[102.266225,32.615369],[102.266285,32.615132],[102.266345,32.614895],[102.266405,32.614658],[102.266413,32.614375],[102.266422,32.614092],[102.266449,32.613882],[102.266515,32.613725],[102.26657,32.613593],[102.26671,32.61341],[102.266851,32.613227],[102.267085,32.612876],[102.267319,32.612525],[102.267553,32.612175],[102.267591,32.61211],[102.267694,32.611935],[102.267817,32.611663],[102.267844,32.611388],[102.267858,32.610968],[102.267849,32.610612],[102.267839,32.610256],[102.267782,32.610022],[102.267725,32.609788],[102.267668,32.609554],[102.267611,32.609321],[102.267554,32.609087],[102.267497,32.608853],[102.26744,32.608619],[102.267383,32.608385],[102.267347,32.608239],[102.267341,32.608213],[102.267326,32.608151],[102.267269,32.607917],[102.26721,32.607683],[102.267176,32.607548],[102.267151,32.607448],[102.267092,32.607214],[102.267078,32.607156],[102.267068,32.607116],[102.267051,32.607047],[102.267034,32.606979],[102.266876,32.60665],[102.266719,32.606321],[102.26651,32.605944],[102.266282,32.605558],[102.266053,32.605171],[102.265759,32.604878],[102.265747,32.604865],[102.26544,32.604559],[102.265134,32.604253],[102.264827,32.603947],[102.264652,32.603784],[102.264478,32.60362],[102.264303,32.603457],[102.264129,32.603294],[102.263954,32.603131],[102.263779,32.602968],[102.263605,32.602805],[102.26343,32.602642],[102.263256,32.602479],[102.263081,32.602316],[102.262907,32.602152],[102.262732,32.601989],[102.262557,32.601826],[102.262383,32.601663],[102.262203,32.601518],[102.262105,32.601439],[102.262024,32.601374],[102.261845,32.601229],[102.261665,32.601084],[102.261486,32.60094],[102.261447,32.600908],[102.261413,32.600881],[102.261306,32.600795],[102.261127,32.60065],[102.260948,32.600505],[102.260768,32.600361],[102.260589,32.600216],[102.260433,32.600037],[102.260277,32.599859],[102.260122,32.59968],[102.259966,32.599501],[102.25981,32.599323],[102.259654,32.599144],[102.259499,32.598965],[102.259343,32.598787],[102.259187,32.598608],[102.259031,32.598429],[102.259009,32.598404],[102.258875,32.598251],[102.258869,32.598243],[102.258838,32.598207],[102.25872,32.598072],[102.258552,32.597914],[102.258385,32.597757],[102.258266,32.597552],[102.258147,32.597347],[102.258065,32.596958],[102.258045,32.59669],[102.258027,32.596454],[102.258025,32.596424],[102.258025,32.596423],[102.258026,32.596418],[102.258047,32.596314],[102.25805,32.596301],[102.258054,32.596284],[102.258077,32.596171],[102.25813,32.595918],[102.258182,32.595666],[102.258235,32.595413],[102.258287,32.595161],[102.25834,32.594908],[102.258461,32.59448],[102.258582,32.594051],[102.258704,32.593623],[102.258808,32.593407],[102.258913,32.593191],[102.259017,32.592974],[102.259046,32.592916],[102.259122,32.592758],[102.259226,32.592542],[102.259331,32.592326],[102.259435,32.59211],[102.25954,32.591894],[102.259644,32.591678],[102.259749,32.591462],[102.259894,32.591109],[102.259904,32.59109],[102.260057,32.590806],[102.260157,32.590662],[102.260317,32.590424],[102.260466,32.590248],[102.260615,32.590073],[102.260775,32.589866],[102.260993,32.589596],[102.261173,32.589373],[102.261314,32.589134],[102.261458,32.588829],[102.261544,32.588507],[102.261591,32.5882],[102.261618,32.587934],[102.261646,32.587667],[102.261674,32.587401],[102.261702,32.587135],[102.261665,32.586895],[102.261629,32.586656],[102.261593,32.586417],[102.261557,32.586177],[102.261478,32.585957],[102.261398,32.585737],[102.261319,32.585517],[102.261239,32.585297],[102.261117,32.584922],[102.261069,32.584613],[102.261078,32.58429],[102.261106,32.583999],[102.261134,32.583773],[102.261137,32.583643],[102.261177,32.583451],[102.261181,32.583434],[102.261225,32.58329],[102.261305,32.58313],[102.261506,32.582827],[102.261648,32.582571],[102.261828,32.582316],[102.261969,32.582076],[102.262076,32.581739],[102.262165,32.581336],[102.262254,32.580934],[102.262343,32.580532],[102.26239,32.580089],[102.262438,32.579647],[102.262486,32.579205],[102.262534,32.578762],[102.262581,32.57832],[102.262596,32.578248],[102.262631,32.578083],[102.26268,32.577847],[102.26273,32.57761],[102.26278,32.577374],[102.262829,32.577137],[102.262879,32.5769],[102.262928,32.576664],[102.262978,32.576427],[102.263027,32.57619],[102.263077,32.575954],[102.263101,32.575825],[102.263176,32.575543],[102.263252,32.575262],[102.263436,32.574876],[102.263637,32.574565],[102.263838,32.574254],[102.264017,32.574016],[102.264361,32.57374],[102.264704,32.573464],[102.264939,32.573316],[102.265173,32.573167],[102.265407,32.573018],[102.265641,32.572869],[102.265875,32.572721],[102.26611,32.572572],[102.266339,32.572427],[102.266568,32.572283],[102.266797,32.572138],[102.267026,32.571993],[102.267255,32.571848],[102.267484,32.571703],[102.267693,32.571619],[102.267901,32.571534],[102.268109,32.57145],[102.268318,32.571365],[102.26865,32.571178],[102.26894,32.571039],[102.269163,32.570939],[102.269387,32.570838],[102.269621,32.57069],[102.269855,32.570541],[102.270089,32.570393],[102.270323,32.570245],[102.270501,32.570083],[102.270678,32.569921],[102.270855,32.569759],[102.271033,32.569597],[102.27121,32.569435],[102.271388,32.569273],[102.271565,32.569111],[102.271743,32.568948],[102.271928,32.568801],[102.272112,32.568653],[102.272297,32.568506],[102.272482,32.568358],[102.272666,32.56821],[102.272851,32.568063],[102.273036,32.567915],[102.273221,32.567768],[102.273431,32.567594],[102.273642,32.567421],[102.273853,32.567247],[102.274064,32.567074],[102.274226,32.566904],[102.274388,32.566735],[102.274551,32.566565],[102.274713,32.566395],[102.274875,32.566226],[102.275037,32.566056],[102.275199,32.565886],[102.275362,32.565716],[102.275524,32.565547],[102.275686,32.565377],[102.275851,32.565215],[102.276016,32.565052],[102.276181,32.56489],[102.276346,32.564728],[102.276511,32.564565],[102.276676,32.564403],[102.276842,32.564241],[102.277007,32.564078],[102.277216,32.563916],[102.277425,32.563753],[102.277634,32.56359],[102.277843,32.563427],[102.278052,32.563264],[102.278261,32.563102],[102.278454,32.562973],[102.278647,32.562845],[102.278839,32.562717],[102.279032,32.562589],[102.279225,32.562461],[102.279417,32.562333],[102.279681,32.562161],[102.279944,32.561989],[102.280204,32.561622],[102.280326,32.561398],[102.280469,32.561125],[102.280572,32.560853],[102.280638,32.560564],[102.280704,32.560306],[102.280732,32.559967],[102.280743,32.559626],[102.280735,32.559354],[102.280734,32.559302],[102.28066,32.559042],[102.280587,32.558782],[102.280513,32.558521],[102.28044,32.558261],[102.280329,32.558042],[102.280317,32.558018],[102.280218,32.557823],[102.280107,32.557604],[102.279996,32.557385],[102.279885,32.557166],[102.279774,32.556947],[102.279663,32.556729],[102.279553,32.55651],[102.279485,32.556233],[102.279419,32.555891],[102.279425,32.555666],[102.279491,32.555408],[102.279593,32.555151],[102.279795,32.554799],[102.279918,32.554559],[102.28004,32.554383],[102.280276,32.554146],[102.280501,32.554005],[102.280726,32.553863],[102.280951,32.553722],[102.281177,32.55358],[102.281402,32.553439],[102.281627,32.553297],[102.281853,32.553156],[102.282078,32.553014],[102.282303,32.552873],[102.282528,32.552731],[102.282754,32.55259],[102.282979,32.552448],[102.283204,32.552307],[102.283348,32.552217],[102.28343,32.552165],[102.283677,32.552057],[102.283839,32.551986],[102.283924,32.551949],[102.283953,32.551937],[102.284171,32.551841],[102.284418,32.551733],[102.284666,32.551625],[102.284913,32.551517],[102.28516,32.55141],[102.285407,32.551302],[102.285756,32.551163],[102.286105,32.551025],[102.286453,32.550887],[102.286742,32.550829],[102.28703,32.55077],[102.287376,32.550753],[102.287721,32.550736],[102.287962,32.550693],[102.288203,32.550649],[102.2884,32.550609],[102.288978,32.55096],[102.289086,32.551026],[102.289096,32.551032],[102.289111,32.551039],[102.289115,32.551044],[102.289186,32.551087],[102.290274,32.551748],[102.292411,32.552783],[102.292504,32.552828],[102.29276,32.552991],[102.293699,32.553591],[102.294988,32.554134],[102.296448,32.554755],[102.298365,32.554649],[102.300189,32.554762],[102.301324,32.554639],[102.302104,32.554729],[102.302954,32.555411],[102.304401,32.556473],[102.306281,32.557619],[102.307993,32.55854],[102.309784,32.559757],[102.310799,32.560737],[102.312079,32.561575],[102.314074,32.561765],[102.31669,32.5616],[102.318094,32.561187],[102.319668,32.560926],[102.321407,32.560963],[102.322418,32.560466],[102.322485,32.560433],[102.322555,32.560398],[102.322969,32.560219],[102.323031,32.560192],[102.323525,32.559977],[102.323552,32.559976],[102.323697,32.559917],[102.323706,32.559915],[102.32385,32.559884],[102.323856,32.559882],[102.324016,32.559867],[102.32406,32.559863],[102.324067,32.559862],[102.324288,32.559863],[102.324574,32.559872],[102.324613,32.559874],[102.324932,32.559491],[102.325323,32.558026],[102.326171,32.555833],[102.326524,32.555242],[102.32676,32.554848],[102.326793,32.554865],[102.326831,32.554874],[102.326996,32.554451],[102.327033,32.554427],[102.327067,32.554405],[102.328045,32.553776],[102.328214,32.553667],[102.32853,32.553583],[102.328755,32.553524],[102.328977,32.553487],[102.329052,32.553474],[102.329113,32.553464],[102.33093,32.553798],[102.331867,32.553762],[102.332677,32.55284],[102.333546,32.55214],[102.334344,32.551659],[102.336023,32.552248],[102.33634,32.552322],[102.336358,32.552326],[102.336378,32.552331],[102.336436,32.552345],[102.33656,32.552374],[102.336584,32.552379],[102.336695,32.552405],[102.336849,32.552441],[102.337578,32.552612],[102.337747,32.552734],[102.338165,32.553037],[102.338258,32.553062],[102.338364,32.553181],[102.338472,32.553259],[102.33851,32.553287],[102.3386,32.553352],[102.33868,32.553364],[102.340021,32.553555],[102.34042,32.553612],[102.340496,32.553624],[102.340656,32.553649],[102.340686,32.553653],[102.340766,32.553666],[102.341371,32.55376],[102.343833,32.554143],[102.344319,32.554218],[102.345357,32.55438],[102.345758,32.554485],[102.345826,32.554502],[102.345829,32.554503],[102.34583,32.554504],[102.345877,32.554516],[102.346591,32.554702],[102.346649,32.554718],[102.346683,32.554727],[102.346714,32.554735],[102.346736,32.55474],[102.346762,32.554785],[102.346801,32.554847],[102.34683,32.554943],[102.346816,32.55505],[102.349894,32.555709],[102.349823,32.555859],[102.349919,32.55586],[102.349923,32.55586],[102.349925,32.555861],[102.349986,32.555876],[102.349987,32.555876],[102.349991,32.555878],[102.349991,32.555878],[102.35,32.555883],[102.349989,32.555919],[102.349878,32.556201],[102.349798,32.556311],[102.349759,32.556404],[102.349703,32.55654],[102.349695,32.556553],[102.349512,32.556771],[102.349418,32.556897],[102.349318,32.557032],[102.349231,32.55715],[102.349142,32.557271],[102.349038,32.557411],[102.348932,32.557554],[102.348847,32.55767],[102.348749,32.557802],[102.348666,32.557914],[102.348583,32.558026],[102.348522,32.558109],[102.348425,32.558238],[102.348367,32.558314],[102.346041,32.561381],[102.346003,32.56141],[102.345821,32.561634],[102.345548,32.561984],[102.345343,32.562247],[102.345385,32.562283],[102.345399,32.562296],[102.345415,32.56231],[102.345486,32.562374],[102.34583,32.56268],[102.345982,32.56263],[102.34695,32.562316],[102.347883,32.561673],[102.348553,32.561079],[102.349333,32.561206],[102.349438,32.561272],[102.349447,32.561278],[102.349503,32.561313],[102.352248,32.563027],[102.354179,32.563897],[102.3566,32.564735],[102.358537,32.565397],[102.360432,32.565851],[102.361909,32.565818],[102.362341,32.565808],[102.363617,32.565669],[102.36504,32.565492],[102.366579,32.564737],[102.367625,32.564096],[102.369078,32.562925],[102.36994,32.561866],[102.370662,32.560597],[102.371375,32.559618],[102.371833,32.559007],[102.372095,32.558432],[102.371835,32.557267],[102.371419,32.55643],[102.37106,32.555345],[102.371336,32.554274],[102.371367,32.553198],[102.371143,32.552489],[102.371114,32.551825],[102.371133,32.551163],[102.370768,32.550244],[102.370621,32.548584],[102.370863,32.547015],[102.371485,32.545785],[102.371856,32.544799],[102.37271,32.54403],[102.373359,32.543588],[102.374689,32.543243],[102.37572,32.542705],[102.374962,32.542285],[102.373745,32.541235],[102.373035,32.540443],[102.372261,32.539308],[102.371856,32.538088],[102.371844,32.537249],[102.372117,32.536696],[102.372542,32.535959],[102.373334,32.535199],[102.37504,32.534551],[102.376016,32.533795],[102.376584,32.533185],[102.377136,32.531861],[102.377549,32.530254],[102.377631,32.528702],[102.377972,32.527063],[102.377871,32.525476],[102.377822,32.524668],[102.378211,32.523868],[102.379417,32.522775],[102.380539,32.522021],[102.381558,32.521017],[102.382207,32.52013],[102.382852,32.519367],[102.383332,32.51801],[102.383771,32.516776],[102.383657,32.515655],[102.383724,32.5146],[102.383698,32.512953],[102.383621,32.511833],[102.383438,32.510556],[102.383064,32.509554],[102.382738,32.508149],[102.382615,32.507307],[102.383365,32.506733],[102.385074,32.50596],[102.38572,32.505197],[102.387068,32.5042],[102.388941,32.502841],[102.390805,32.501761],[102.39145,32.500998],[102.392357,32.500053],[102.39345,32.49902],[102.394946,32.49672],[102.395597,32.495771],[102.396198,32.495255],[102.39755,32.494134],[102.398591,32.493627],[102.39955,32.493429],[102.401838,32.492886],[102.403426,32.492484],[102.404943,32.492018],[102.406641,32.491587],[102.408235,32.490968],[102.409793,32.490316],[102.410346,32.490203],[102.4104,32.490262],[102.411555,32.491533],[102.412076,32.492538],[102.412626,32.493823],[102.413291,32.494893],[102.414039,32.495654],[102.414671,32.49663],[102.415415,32.497547],[102.416129,32.498214],[102.41708,32.498295],[102.417991,32.498501],[102.418382,32.498912],[102.419134,32.499549],[102.419839,32.500527],[102.420953,32.501327],[102.421837,32.502463],[102.422733,32.503165],[102.423334,32.503954],[102.423749,32.504832],[102.424621,32.506404],[102.425108,32.507315],[102.425522,32.508224],[102.425981,32.508855],[102.426506,32.509704],[102.426945,32.509744],[102.427608,32.509634],[102.428243,32.509243],[102.429025,32.508824],[102.429867,32.508841],[102.430677,32.508733],[102.431598,32.508597],[102.432183,32.50864],[102.432931,32.509401],[102.43312,32.509575],[102.433824,32.510227],[102.433868,32.510285],[102.434672,32.511362],[102.435728,32.512906],[102.436284,32.514005],[102.436475,32.515003],[102.43655,32.516247],[102.436476,32.51755],[102.436642,32.518175],[102.437275,32.51912],[102.438334,32.520571],[102.438827,32.521264],[102.439554,32.522802],[102.440397,32.524124],[102.441493,32.525544],[102.44224,32.526367],[102.443353,32.528502],[102.443733,32.529318],[102.444486,32.529924],[102.445242,32.530436],[102.445887,32.530977],[102.446146,32.532194],[102.446018,32.534118],[102.445949,32.535266],[102.445777,32.536164],[102.445894,32.537191],[102.446332,32.538567],[102.446959,32.53973],[102.448003,32.541739],[102.448533,32.542433],[102.448991,32.543126],[102.449447,32.54385],[102.449856,32.544946],[102.450201,32.54573],[102.451184,32.547272],[102.451482,32.547123],[102.452302,32.546642],[102.453052,32.546067],[102.454127,32.545685],[102.455121,32.54555],[102.456446,32.54539],[102.457791,32.545821],[102.458958,32.546062],[102.459078,32.546094],[102.460086,32.546365],[102.463179,32.547266],[102.4643,32.547848],[102.46605,32.548225],[102.467287,32.548592],[102.468744,32.548963],[102.470299,32.54974],[102.471013,32.550438],[102.472159,32.551424],[102.473065,32.551846],[102.47367,32.55248],[102.474416,32.553365],[102.475829,32.553983],[102.476735,32.554374],[102.477734,32.554084],[102.478815,32.553484],[102.479813,32.553193],[102.480878,32.553153],[102.481977,32.553206],[102.483219,32.553417],[102.484481,32.554188],[102.485368,32.555262],[102.486081,32.555991],[102.487423,32.556546],[102.489647,32.557056],[102.491842,32.557256],[102.492686,32.557272],[102.494116,32.557301],[102.495354,32.557636],[102.496292,32.558183],[102.496792,32.55869],[102.497559,32.558799],[102.49861,32.559286],[102.499293,32.559765],[102.500186,32.560653],[102.500606,32.561157],[102.501691,32.561911],[102.502444,32.562496],[102.503587,32.562885],[102.504697,32.562744],[102.506481,32.562576],[102.507486,32.562718],[102.50877,32.563232],[102.510436,32.563876],[102.511419,32.564832],[102.512154,32.566068],[102.512405,32.566541],[102.512657,32.567015],[102.51295,32.567733],[102.513242,32.568451],[102.514165,32.571605],[102.514792,32.573286],[102.515348,32.57403],[102.515912,32.57453],[102.516473,32.574236],[102.517034,32.573942],[102.517669,32.573588],[102.518304,32.573234],[102.519256,32.572703],[102.520208,32.572172],[102.521015,32.571679],[102.521822,32.571186],[102.522416,32.570587],[102.523355,32.569669],[102.5254,32.568732],[102.526094,32.569723],[102.526843,32.570471],[102.527781,32.571344],[102.529045,32.572591],[102.530168,32.573712],[102.530854,32.574988],[102.531133,32.575374],[102.531688,32.576144],[102.532809,32.577347],[102.534077,32.578471],[102.535204,32.579471],[102.536107,32.579855],[102.537194,32.580568],[102.539476,32.581509],[102.540609,32.582305],[102.541491,32.583462],[102.541791,32.583844],[102.54218,32.584338],[102.542467,32.584703],[102.543554,32.585416],[102.544673,32.5867],[102.54536,32.587976],[102.545678,32.588996],[102.545921,32.590114],[102.545948,32.591135],[102.546462,32.592397],[102.54731,32.593434],[102.548332,32.59415],[102.549407,32.594913],[102.549878,32.595711],[102.550069,32.596782],[102.550293,32.598595],[102.550447,32.59897],[102.550905,32.600277],[102.551303,32.60177],[102.551884,32.60257],[102.552908,32.603193],[102.554367,32.603963],[102.555829,32.604595],[102.556955,32.605545],[102.557915,32.606495],[102.557927,32.607061],[102.557933,32.607364],[102.557939,32.607651],[102.559003,32.608832],[102.559016,32.609776],[102.559021,32.610177],[102.559138,32.611041],[102.559204,32.611526],[102.55848,32.612442],[102.558409,32.612531],[102.557392,32.613671],[102.556752,32.615004],[102.556441,32.61639],[102.555649,32.617302],[102.554907,32.618354],[102.554006,32.619265],[102.552711,32.620455],[102.552375,32.620764],[102.550863,32.62194],[102.550262,32.621882],[102.548618,32.62185],[102.546576,32.622367],[102.544679,32.623582],[102.543939,32.624588],[102.542642,32.625908],[102.540786,32.627635],[102.539552,32.628631],[102.537873,32.629897],[102.536416,32.631074],[102.535564,32.632125],[102.534097,32.633673],[102.53276,32.634435],[102.530926,32.635327],[102.529309,32.636316],[102.52798,32.6368],[102.527296,32.63776],[102.526438,32.639042],[102.525754,32.640003],[102.524899,32.641192],[102.523992,32.642241],[102.523307,32.643248],[102.521664,32.645164],[102.520916,32.646448],[102.520448,32.647506],[102.52031,32.648524],[102.520001,32.64977],[102.519915,32.650928],[102.519496,32.652172],[102.519503,32.653935],[102.519855,32.655056],[102.51988,32.65512],[102.520021,32.655484],[102.520043,32.65554],[102.52047,32.656645],[102.520796,32.658739],[102.521132,32.660462],[102.521262,32.661717],[102.521115,32.663059],[102.521091,32.66394],[102.521381,32.665338],[102.521565,32.66664],[102.522027,32.667118],[102.522782,32.668224],[102.523542,32.669141],[102.524245,32.670104],[102.52453,32.670541],[102.524742,32.670868],[102.525214,32.671594],[102.525301,32.672498],[102.525806,32.674549],[102.525959,32.675027],[102.526549,32.676878],[102.526578,32.676968],[102.526736,32.677462],[102.527029,32.678396],[102.5272,32.678942],[102.527282,32.679131],[102.527495,32.679618],[102.527779,32.68027],[102.527947,32.680656],[102.528097,32.681001],[102.52822,32.681302],[102.528275,32.681436],[102.528298,32.681492],[102.528939,32.683058],[102.529464,32.68435],[102.529523,32.684686],[102.529572,32.684969],[102.529755,32.686017],[102.52993,32.687429],[102.529948,32.68758],[102.529975,32.687791],[102.529975,32.687791],[102.529985,32.687872],[102.530726,32.689501],[102.530923,32.689729],[102.531977,32.690949],[102.533055,32.69229],[102.533356,32.692665],[102.533876,32.693312],[102.534739,32.69445],[102.535047,32.694857],[102.535447,32.695384],[102.535735,32.696639],[102.535783,32.696847],[102.535798,32.696909],[102.536601,32.698301],[102.535597,32.698092],[102.534147,32.697731],[102.531396,32.697772],[102.53041,32.697799],[102.529879,32.697813],[102.528949,32.697838],[102.527351,32.697882],[102.526799,32.697831],[102.526433,32.697797],[102.525392,32.697701],[102.523367,32.697851],[102.523164,32.697857],[102.523039,32.697861],[102.519425,32.697971],[102.518648,32.697995],[102.518122,32.698068],[102.517859,32.698104],[102.517796,32.698112],[102.517796,32.698113],[102.517795,32.698113],[102.517768,32.698116],[102.517738,32.698121],[102.517212,32.698193],[102.517204,32.698194],[102.517151,32.698202],[102.517149,32.698202],[102.51627,32.698323],[102.516141,32.698341],[102.515943,32.698368],[102.515786,32.698361],[102.515777,32.69836],[102.515754,32.698359],[102.515608,32.698352],[102.515484,32.698346],[102.515438,32.698344],[102.515414,32.698343],[102.514305,32.69829],[102.514262,32.698288],[102.513131,32.69821],[102.512285,32.698152],[102.511348,32.698088],[102.511166,32.698065],[102.509502,32.697861],[102.509215,32.697769],[102.507934,32.69736],[102.507444,32.697203],[102.506688,32.696966],[102.50583,32.696696],[102.505234,32.696437],[102.503889,32.695851],[102.500492,32.69406],[102.500386,32.693993],[102.500211,32.693882],[102.499525,32.693627],[102.499003,32.69334],[102.497618,32.693278],[102.497331,32.693371],[102.496712,32.693571],[102.496321,32.69363],[102.495114,32.693815],[102.493923,32.694136],[102.492317,32.694655],[102.491319,32.695325],[102.49061,32.695897],[102.490429,32.696549],[102.490532,32.698391],[102.49058,32.698415],[102.490842,32.699282],[102.490906,32.699904],[102.491016,32.701804],[102.491064,32.702137],[102.49109,32.702322],[102.491104,32.702415],[102.491175,32.702907],[102.491183,32.702962],[102.491255,32.703464],[102.491399,32.704139],[102.491543,32.704815],[102.491631,32.705317],[102.491719,32.705819],[102.492025,32.706549],[102.492331,32.707279],[102.492622,32.707803],[102.492914,32.708326],[102.493385,32.708991],[102.493856,32.709655],[102.494348,32.710286],[102.49484,32.710917],[102.495136,32.711285],[102.495432,32.711653],[102.495767,32.712073],[102.496102,32.712494],[102.496531,32.71321],[102.496959,32.713925],[102.49707,32.714359],[102.49718,32.714792],[102.497412,32.715245],[102.497644,32.715698],[102.497995,32.716291],[102.498345,32.716885],[102.498375,32.717282],[102.498405,32.717679],[102.498409,32.718248],[102.498414,32.718818],[102.498422,32.719266],[102.49843,32.719715],[102.498577,32.720269],[102.498725,32.720824],[102.498832,32.721361],[102.49894,32.721898],[102.499112,32.722315],[102.499284,32.722732],[102.499438,32.723063],[102.499592,32.723394],[102.499828,32.723692],[102.500065,32.72399],[102.500346,32.724151],[102.500627,32.724311],[102.50109,32.725033],[102.501553,32.725754],[102.501973,32.72643],[102.502393,32.727106],[102.502505,32.727813],[102.502617,32.728519],[102.502643,32.72915],[102.502669,32.729781],[102.502666,32.729885],[102.502664,32.729988],[102.502662,32.730055],[102.502637,32.730957],[102.502601,32.732227],[102.502609,32.732461],[102.502644,32.733493],[102.502649,32.733637],[102.5027,32.733757],[102.502777,32.733942],[102.503308,32.735207],[102.503789,32.737993],[102.503744,32.739619],[102.503859,32.740319],[102.50403,32.741365],[102.504039,32.741419],[102.504047,32.741937],[102.504051,32.742242],[102.504056,32.742587],[102.504698,32.744352],[102.505915,32.746712],[102.50593,32.746729],[102.507251,32.748257],[102.507493,32.748537],[102.507648,32.748691],[102.507986,32.749029],[102.508823,32.749863],[102.50903,32.750069],[102.510096,32.7508],[102.510977,32.751402],[102.513051,32.752819],[102.515087,32.754152],[102.516244,32.755135],[102.516861,32.756023],[102.517078,32.757112],[102.517079,32.758864],[102.516983,32.76053],[102.517102,32.761576],[102.517273,32.762538],[102.517578,32.764004],[102.516656,32.765196],[102.515981,32.766392],[102.515761,32.76718],[102.515443,32.767967],[102.514966,32.769167],[102.514105,32.771694],[102.513882,32.772608],[102.513609,32.773562],[102.513343,32.774527],[102.51306,32.775553],[102.512259,32.77764],[102.512186,32.777831],[102.512155,32.777913],[102.511574,32.779277],[102.510617,32.78036],[102.510271,32.780752],[102.510266,32.780757],[102.510201,32.78083],[102.510197,32.780835],[102.510189,32.780844],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510178,32.780858],[102.510073,32.780984],[102.510024,32.781043],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.509912,32.781178],[102.50989,32.781205],[102.509817,32.781214],[102.509771,32.78122],[102.509279,32.781286],[102.5088,32.78135],[102.508286,32.781517],[102.508275,32.78152],[102.508199,32.781545],[102.508198,32.781545],[102.508188,32.781549],[102.507953,32.781625],[102.507932,32.781638],[102.507897,32.781662],[102.507803,32.781723],[102.507766,32.781748],[102.5074,32.781989],[102.507134,32.782651],[102.507301,32.783739],[102.508457,32.784805],[102.51011,32.785714],[102.510517,32.786236],[102.510549,32.786278],[102.510969,32.786816],[102.510992,32.787734],[102.510518,32.788809],[102.510266,32.789151],[102.509851,32.789713],[102.50972,32.789768],[102.509469,32.789874],[102.509383,32.789911],[102.509337,32.78993],[102.509164,32.790003],[102.509001,32.790072],[102.508743,32.79008],[102.50869,32.790082],[102.508606,32.790085],[102.508393,32.790092],[102.50821,32.790098],[102.508191,32.79008],[102.507873,32.789799],[102.507965,32.789429],[102.508047,32.789097],[102.508079,32.78897],[102.50812,32.788804],[102.508151,32.788678],[102.508389,32.788239],[102.508444,32.788136],[102.50862,32.787812],[102.508552,32.787428],[102.508526,32.787282],[102.508449,32.786849],[102.507623,32.786374],[102.506392,32.786224],[102.50592,32.786141],[102.505311,32.786035],[102.504282,32.785765],[102.504006,32.78575],[102.503785,32.785738],[102.503049,32.785698],[102.501936,32.786064],[102.501923,32.786069],[102.501884,32.786081],[102.501853,32.786092],[102.501849,32.786096],[102.501844,32.7861],[102.501785,32.786155],[102.501756,32.786183],[102.5015,32.786423],[102.50146,32.786461],[102.501361,32.786554],[102.501244,32.786663],[102.501171,32.786828],[102.500958,32.787305],[102.500876,32.78749],[102.500866,32.78783],[102.50085,32.788408],[102.500847,32.788526],[102.500834,32.788964],[102.500832,32.789058],[102.500825,32.789283],[102.500816,32.789612],[102.500808,32.789908],[102.500871,32.790208],[102.500526,32.790463],[102.499896,32.790929],[102.499671,32.79104],[102.499216,32.791264],[102.499195,32.791265],[102.498545,32.791294],[102.497803,32.791083],[102.497119,32.790656],[102.496484,32.790294],[102.496227,32.790781],[102.496206,32.790821],[102.496141,32.790943],[102.495977,32.791253],[102.495958,32.79129],[102.495957,32.791291],[102.495942,32.79132],[102.495743,32.791696],[102.495741,32.791699],[102.495701,32.791776],[102.495681,32.791814],[102.495664,32.791847],[102.495631,32.791908],[102.495601,32.791966],[102.495368,32.792407],[102.495357,32.79243],[102.495353,32.792439],[102.495339,32.792471],[102.495326,32.792499],[102.495311,32.792533],[102.495295,32.792567],[102.494921,32.793398],[102.494913,32.793415],[102.4949,32.793443],[102.494882,32.793483],[102.494849,32.793556],[102.494832,32.793593],[102.492391,32.799006],[102.492233,32.799358],[102.49192,32.800476],[102.491908,32.80052],[102.491803,32.800895],[102.491777,32.801788],[102.492419,32.802825],[102.493538,32.804306],[102.493553,32.80433],[102.494254,32.805432],[102.495026,32.80679],[102.495057,32.806843],[102.495058,32.806845],[102.495059,32.806847],[102.495091,32.806903],[102.495094,32.806909],[102.495557,32.807723],[102.496219,32.808956],[102.497089,32.810106],[102.497608,32.810922],[102.498223,32.81198],[102.498437,32.812638],[102.498573,32.813294],[102.498883,32.814215],[102.499278,32.814855],[102.49959,32.815689],[102.499831,32.816281],[102.500433,32.816903],[102.500655,32.817166],[102.501321,32.817952],[102.501299,32.818746],[102.501091,32.819456],[102.500798,32.819848],[102.500413,32.820158],[102.500339,32.820256],[102.500151,32.820513],[102.49959,32.821199],[102.498942,32.82221],[102.498588,32.8229],[102.498463,32.82366],[102.498227,32.824722],[102.498076,32.825525],[102.4977,32.82604],[102.497083,32.826899],[102.495954,32.829005],[102.495721,32.829684],[102.495588,32.830294],[102.495507,32.830836],[102.495287,32.832198],[102.495258,32.833215],[102.495307,32.834429],[102.495517,32.835172],[102.495487,32.835659],[102.49553,32.836469],[102.495488,32.836897],[102.495484,32.836942],[102.495393,32.837247],[102.495116,32.837687],[102.494919,32.838241],[102.49473,32.839101],[102.494596,32.839754],[102.494555,32.840302],[102.494771,32.840636],[102.495224,32.841623],[102.495537,32.842264],[102.495721,32.842674],[102.496027,32.843048],[102.496249,32.843674],[102.496327,32.84412],[102.496437,32.84449],[102.496502,32.84486],[102.496385,32.845276],[102.495856,32.8459],[102.494546,32.847029],[102.49356,32.847885],[102.492679,32.848706],[102.491861,32.849463],[102.490759,32.850338],[102.490281,32.850567],[102.489742,32.850826],[102.48862,32.851531],[102.487537,32.852254],[102.486855,32.85272],[102.486127,32.852953],[102.485238,32.853184],[102.484649,32.853194],[102.484003,32.853362],[102.483244,32.85373],[102.481971,32.854314],[102.481052,32.854679],[102.480214,32.854978],[102.479001,32.855337],[102.478111,32.85559],[102.477274,32.855889],[102.476142,32.856205],[102.475173,32.856433],[102.474545,32.856895],[102.474161,32.857282],[102.473931,32.857514],[102.473231,32.858282],[102.47278,32.859116],[102.472702,32.859232],[102.472222,32.859947],[102.471984,32.860785],[102.471528,32.861768],[102.470434,32.863912],[102.469976,32.864956],[102.469819,32.865465],[102.469365,32.866388],[102.469019,32.867284],[102.468038,32.869159],[102.467217,32.870467],[102.466829,32.871572],[102.466809,32.872264],[102.466789,32.872955],[102.466629,32.873584],[102.466434,32.874182],[102.465427,32.875726],[102.464908,32.876407],[102.464274,32.877387],[102.463539,32.878155],[102.463198,32.87887],[102.463072,32.879529],[102.463009,32.880491],[102.463611,32.881887],[102.463871,32.882795],[102.46356,32.883691],[102.463218,32.884437],[102.463022,32.885034],[102.462597,32.886199],[102.462401,32.886827],[102.462111,32.886972],[102.461397,32.887017],[102.460608,32.887152],[102.460165,32.887684],[102.459612,32.888305],[102.459053,32.889166],[102.458239,32.890203],[102.45739,32.891208],[102.45657,32.892425],[102.456305,32.892992],[102.456412,32.894227],[102.456252,32.89609],[102.456064,32.89765],[102.456207,32.898887],[102.456001,32.902145],[102.456122,32.903515],[102.456031,32.904303],[102.455844,32.905262],[102.455799,32.905636],[102.455754,32.906011],[102.45571,32.906751],[102.455666,32.907492],[102.455584,32.907943],[102.455503,32.908393],[102.455421,32.908864],[102.455339,32.909334],[102.45526,32.909717],[102.45518,32.910101],[102.45526,32.910487],[102.455341,32.910874],[102.455408,32.911299],[102.455476,32.911724],[102.455475,32.912157],[102.455474,32.912591],[102.455472,32.913062],[102.45547,32.913534],[102.45562,32.913855],[102.455771,32.914176],[102.455876,32.914515],[102.45598,32.914854],[102.456185,32.915263],[102.45639,32.915671],[102.45673,32.916159],[102.45707,32.916648],[102.457233,32.916949],[102.457395,32.917251],[102.457431,32.917608],[102.457466,32.917965],[102.45745,32.918523],[102.457434,32.919081],[102.457412,32.919221],[102.457389,32.919361],[102.457323,32.919772],[102.45741,32.921526],[102.457363,32.922373],[102.457186,32.922966],[102.456974,32.923193],[102.456693,32.923437],[102.455973,32.923866],[102.455301,32.924218],[102.454694,32.924668],[102.454021,32.925039],[102.453259,32.925351],[102.452633,32.925685],[102.452324,32.926121],[102.451945,32.926576],[102.451478,32.926932],[102.45119,32.927446],[102.450741,32.927976],[102.450068,32.928328],[102.449606,32.928531],[102.449481,32.928894],[102.449331,32.929353],[102.449001,32.929712],[102.448442,32.930105],[102.447794,32.930381],[102.446633,32.931069],[102.445596,32.931414],[102.444741,32.931762],[102.444338,32.932255],[102.444121,32.932655],[102.44351,32.933259],[102.442815,32.934419],[102.44229,32.935178],[102.441734,32.935456],[102.440916,32.935324],[102.440455,32.935375],[102.44039,32.935328],[102.440358,32.935305],[102.440217,32.935204],[102.440052,32.935086],[102.440038,32.935076],[102.439918,32.93499],[102.439561,32.934787],[102.439204,32.934584],[102.438942,32.934421],[102.43868,32.934259],[102.438465,32.934126],[102.438251,32.933994],[102.438037,32.933861],[102.437822,32.933728],[102.437599,32.933479],[102.437429,32.933329],[102.437258,32.933179],[102.437044,32.93304],[102.43683,32.932901],[102.436558,32.93276],[102.436286,32.93262],[102.435943,32.932442],[102.435726,32.932376],[102.43551,32.932311],[102.435077,32.932253],[102.434716,32.93216],[102.434355,32.932067],[102.434053,32.931963],[102.43375,32.931859],[102.433508,32.931707],[102.433265,32.931555],[102.433041,32.931306],[102.43283,32.931057],[102.432619,32.930808],[102.432462,32.930619],[102.432305,32.93043],[102.432149,32.930241],[102.431992,32.930052],[102.431835,32.929863],[102.431678,32.929675],[102.431521,32.929486],[102.431364,32.929297],[102.431207,32.929108],[102.431051,32.928919],[102.430894,32.92873],[102.430737,32.928541],[102.430619,32.928333],[102.430502,32.928124],[102.430384,32.927915],[102.430266,32.927706],[102.430149,32.927498],[102.430031,32.927289],[102.429913,32.92708],[102.429796,32.926872],[102.429678,32.926663],[102.42956,32.926454],[102.429437,32.926209],[102.429313,32.925965],[102.429189,32.92572],[102.429066,32.925475],[102.428942,32.92523],[102.428818,32.924985],[102.428694,32.92474],[102.428571,32.924496],[102.428447,32.924251],[102.428323,32.924006],[102.428071,32.923683],[102.427759,32.923407],[102.427502,32.923255],[102.427299,32.923251],[102.427067,32.923247],[102.426817,32.923339],[102.426567,32.923432],[102.426287,32.923573],[102.426006,32.923715],[102.425754,32.923893],[102.425502,32.924071],[102.425147,32.924284],[102.424792,32.924497],[102.424585,32.924639],[102.424377,32.924782],[102.42417,32.924924],[102.423962,32.925067],[102.42375,32.92518],[102.423537,32.925293],[102.423324,32.925406],[102.423112,32.925519],[102.422899,32.925632],[102.422687,32.925745],[102.422474,32.925858],[102.422262,32.925971],[102.422049,32.926084],[102.421837,32.926197],[102.421411,32.926335],[102.420986,32.926474],[102.420752,32.926505],[102.420519,32.926537],[102.420113,32.926504],[102.419929,32.926366],[102.419744,32.926227],[102.419559,32.926089],[102.419374,32.925951],[102.419204,32.9258],[102.419034,32.92565],[102.41885,32.925462],[102.418666,32.925274],[102.418415,32.924976],[102.418148,32.924653],[102.41788,32.924329],[102.417716,32.92413],[102.417551,32.923931],[102.417386,32.923731],[102.417221,32.923532],[102.417056,32.923333],[102.416891,32.923134],[102.416726,32.922935],[102.416561,32.922736],[102.416353,32.922576],[102.416145,32.922416],[102.415936,32.922256],[102.415728,32.922097],[102.415519,32.921937],[102.415311,32.921777],[102.415103,32.921617],[102.414894,32.921457],[102.414686,32.921298],[102.414478,32.921138],[102.414269,32.920978],[102.414061,32.920818],[102.413853,32.920659],[102.413644,32.920499],[102.413436,32.920339],[102.413228,32.920179],[102.413044,32.920012],[102.41286,32.919844],[102.412676,32.919676],[102.412491,32.919508],[102.412307,32.91934],[102.412123,32.919173],[102.411939,32.919005],[102.411755,32.918837],[102.411571,32.918669],[102.411387,32.918501],[102.411203,32.918333],[102.411019,32.918166],[102.410835,32.917998],[102.410651,32.91783],[102.410381,32.917617],[102.410111,32.917404],[102.409861,32.917031],[102.409778,32.916788],[102.409727,32.916637],[102.409736,32.916343],[102.409743,32.916099],[102.409777,32.915904],[102.409812,32.915734],[102.41001,32.915548],[102.410208,32.915362],[102.410405,32.915177],[102.410603,32.914991],[102.410801,32.914806],[102.410999,32.91462],[102.411197,32.914434],[102.411395,32.914249],[102.41154,32.914049],[102.411685,32.913849],[102.411831,32.913649],[102.411976,32.913449],[102.412121,32.913249],[102.412267,32.913049],[102.412412,32.912849],[102.412557,32.912649],[102.412703,32.912449],[102.412848,32.912249],[102.413033,32.912072],[102.413217,32.911895],[102.413402,32.911718],[102.413587,32.911541],[102.413772,32.911364],[102.413956,32.911187],[102.414141,32.91101],[102.414326,32.910834],[102.414511,32.910657],[102.414695,32.91048],[102.414918,32.910325],[102.41514,32.910171],[102.415363,32.910016],[102.415585,32.909862],[102.415706,32.909693],[102.415712,32.909547],[102.415688,32.909302],[102.415606,32.909128],[102.415489,32.909012],[102.415352,32.908878],[102.41521,32.908802],[102.414948,32.908772],[102.414612,32.908765],[102.4142,32.908673],[102.413788,32.908581],[102.413376,32.908489],[102.413011,32.908409],[102.412646,32.90833],[102.41228,32.908251],[102.411961,32.908164],[102.411641,32.908076],[102.411321,32.907988],[102.411004,32.907824],[102.410686,32.90766],[102.410463,32.907462],[102.41024,32.907265],[102.410041,32.90703],[102.409846,32.906799],[102.409669,32.906487],[102.409491,32.906176],[102.409163,32.905978],[102.408836,32.905781],[102.408508,32.905583],[102.408319,32.905456],[102.407983,32.905228],[102.407647,32.904999],[102.40731,32.904771],[102.407096,32.904621],[102.406882,32.904471],[102.406528,32.904272],[102.406356,32.90415],[102.40602,32.904051],[102.405783,32.903964],[102.405521,32.903895],[102.405259,32.903826],[102.404959,32.903772],[102.40466,32.903717],[102.404497,32.903718],[102.40416,32.90372],[102.403822,32.903722],[102.403405,32.903725],[102.403184,32.903727],[102.402802,32.90369],[102.40242,32.903654],[102.402037,32.903617],[102.401792,32.903555],[102.401547,32.903493],[102.401347,32.903384],[102.401129,32.903198],[102.400915,32.902969],[102.400734,32.902775],[102.400572,32.902527],[102.40041,32.90228],[102.400232,32.901934],[102.400055,32.901588],[102.399877,32.901242],[102.39981,32.900916],[102.399744,32.90059],[102.399601,32.900291],[102.399463,32.900086],[102.399358,32.899834],[102.399296,32.899534],[102.399234,32.899234],[102.399209,32.898915],[102.399184,32.898596],[102.399158,32.898278],[102.399149,32.898025],[102.39912,32.897806],[102.399122,32.89758],[102.399122,32.897514],[102.399124,32.897221],[102.399125,32.897126],[102.399096,32.896955],[102.399044,32.896798],[102.398858,32.896441],[102.39869,32.89611],[102.398521,32.895779],[102.398477,32.895674],[102.398356,32.895381],[102.398235,32.895089],[102.398168,32.894846],[102.398102,32.894604],[102.398035,32.894228],[102.397969,32.893852],[102.397923,32.893557],[102.397904,32.89344],[102.397877,32.893265],[102.39784,32.893028],[102.397808,32.89293],[102.39763,32.892784],[102.397452,32.892637],[102.397283,32.89245],[102.397115,32.892263],[102.396893,32.891941],[102.396848,32.891605],[102.396851,32.891506],[102.396883,32.891385],[102.397003,32.891241],[102.39712,32.891243],[102.397411,32.891249],[102.397583,32.891301],[102.397959,32.891359],[102.398222,32.891314],[102.398456,32.891246],[102.398601,32.891177],[102.398824,32.89107],[102.39909,32.890944],[102.399091,32.890943],[102.399092,32.890943],[102.399193,32.890895],[102.399549,32.890657],[102.39977,32.890527],[102.399991,32.890397],[102.400288,32.890183],[102.400555,32.89003],[102.400821,32.889876],[102.400967,32.889696],[102.401112,32.889515],[102.401257,32.889335],[102.401403,32.889155],[102.401548,32.888974],[102.401694,32.888794],[102.401847,32.888516],[102.401944,32.888342],[102.402061,32.888217],[102.402142,32.888084],[102.402323,32.887846],[102.402428,32.887646],[102.402418,32.887508],[102.402352,32.887422],[102.402285,32.887365],[102.402194,32.887161],[102.402152,32.88705],[102.402071,32.886837],[102.401999,32.886604],[102.402009,32.886466],[102.402061,32.886347],[102.402118,32.886176],[102.402149,32.886117],[102.402218,32.885985],[102.402214,32.885881],[102.402097,32.885754],[102.402004,32.885652],[102.401933,32.885581],[102.401923,32.885495],[102.401985,32.885333],[102.402019,32.885258],[102.402104,32.885067],[102.402099,32.884938],[102.402076,32.884848],[102.401971,32.88461],[102.401967,32.884602],[102.401899,32.884472],[102.401895,32.884329],[102.401933,32.883982],[102.401972,32.883634],[102.402011,32.883286],[102.402049,32.882939],[102.402054,32.882898],[102.40207,32.882577],[102.402104,32.882343],[102.402164,32.882126],[102.402225,32.881909],[102.402395,32.881664],[102.402481,32.881601],[102.402789,32.88137],[102.403097,32.881139],[102.403405,32.880909],[102.403643,32.880717],[102.403942,32.880429],[102.404126,32.880103],[102.40431,32.879777],[102.404413,32.879555],[102.404516,32.879333],[102.404619,32.879112],[102.404722,32.87889],[102.404826,32.878668],[102.404929,32.878447],[102.404968,32.878203],[102.405007,32.877959],[102.405046,32.877715],[102.405085,32.877471],[102.405124,32.877227],[102.405163,32.876983],[102.405202,32.87674],[102.405241,32.876496],[102.40528,32.876252],[102.405291,32.876186],[102.405319,32.876008],[102.405357,32.87574],[102.405394,32.875471],[102.405403,32.875154],[102.405404,32.875121],[102.405409,32.874909],[102.405391,32.874554],[102.405373,32.874199],[102.405321,32.873965],[102.405269,32.873731],[102.405203,32.87352],[102.405178,32.873312],[102.405088,32.873184],[102.405087,32.873183],[102.404783,32.872984],[102.404579,32.872855],[102.404517,32.872713],[102.404455,32.872584],[102.404493,32.872365],[102.404493,32.872284],[102.404393,32.872146],[102.404331,32.87197],[102.404283,32.871903],[102.404198,32.871785],[102.404103,32.871689],[102.403879,32.871452],[102.403772,32.871241],[102.403771,32.871239],[102.40377,32.871237],[102.403736,32.871099],[102.403774,32.871014],[102.403803,32.870895],[102.403741,32.87079],[102.403679,32.87069],[102.403655,32.870595],[102.403708,32.870495],[102.40377,32.870428],[102.403808,32.870324],[102.403805,32.8703],[102.403773,32.870204],[102.403746,32.870171],[102.403475,32.869991],[102.40337,32.869857],[102.403337,32.869743],[102.403327,32.869619],[102.403322,32.869519],[102.403256,32.869434],[102.40308,32.869291],[102.402898,32.868954],[102.402862,32.868794],[102.402856,32.868544],[102.402862,32.868336],[102.40291,32.868062],[102.402969,32.867913],[102.403011,32.86783],[102.40304,32.867771],[102.403034,32.867663],[102.403017,32.867556],[102.402957,32.867372],[102.402924,32.867295],[102.402922,32.867281],[102.402878,32.866916],[102.402939,32.866688],[102.402927,32.866533],[102.402898,32.866426],[102.402868,32.866271],[102.402808,32.866051],[102.402767,32.866001],[102.402624,32.865825],[102.40241,32.865647],[102.402368,32.86554],[102.402351,32.865307],[102.402334,32.865073],[102.402266,32.864738],[102.402198,32.864402],[102.402195,32.86435],[102.402184,32.864124],[102.402189,32.863736],[102.402193,32.863348],[102.402198,32.86296],[102.402219,32.862636],[102.402241,32.862311],[102.40217,32.861961],[102.402105,32.861725],[102.402041,32.86149],[102.402041,32.861247],[102.402062,32.860869],[102.402098,32.860662],[102.402105,32.860419],[102.402048,32.860262],[102.402027,32.860048],[102.40207,32.85982],[102.402048,32.859591],[102.401991,32.859427],[102.40177,32.859284],[102.401698,32.859063],[102.401684,32.858752],[102.401683,32.858751],[102.401682,32.85875],[102.401664,32.858723],[102.401529,32.858515],[102.401452,32.858299],[102.401374,32.858084],[102.401296,32.857868],[102.401218,32.857653],[102.40114,32.857438],[102.401062,32.857222],[102.400984,32.857007],[102.400906,32.856792],[102.400801,32.856422],[102.400663,32.856175],[102.400465,32.855975],[102.400267,32.855824],[102.400088,32.85567],[102.399908,32.855515],[102.399729,32.85536],[102.39955,32.855206],[102.39937,32.855051],[102.399191,32.854896],[102.399,32.854703],[102.39881,32.854509],[102.39862,32.854315],[102.398429,32.854122],[102.398348,32.85404],[102.398343,32.854034],[102.398239,32.853928],[102.398049,32.853735],[102.397858,32.853541],[102.397668,32.853347],[102.397499,32.853179],[102.397329,32.85301],[102.39716,32.852842],[102.396991,32.852673],[102.396821,32.852504],[102.396652,32.852336],[102.396483,32.852167],[102.396314,32.851998],[102.396124,32.85186],[102.395934,32.851722],[102.395744,32.851584],[102.395554,32.851446],[102.395364,32.851308],[102.395174,32.851171],[102.394985,32.851033],[102.394795,32.850895],[102.394605,32.850757],[102.394415,32.850619],[102.394225,32.850481],[102.394035,32.850343],[102.39383,32.850176],[102.393624,32.85001],[102.393418,32.849843],[102.393212,32.849677],[102.393007,32.84951],[102.392801,32.849344],[102.392595,32.849177],[102.39239,32.849011],[102.392261,32.848806],[102.392133,32.848602],[102.392005,32.848397],[102.391876,32.848193],[102.391748,32.847988],[102.39162,32.847784],[102.391492,32.847579],[102.391363,32.847375],[102.391318,32.846934],[102.391328,32.846591],[102.391394,32.846299],[102.391461,32.846006],[102.391586,32.84574],[102.39171,32.845461],[102.391834,32.845182],[102.3919,32.844891],[102.391903,32.844821],[102.391907,32.844686],[102.391908,32.844645],[102.391913,32.84445],[102.391892,32.84424],[102.391891,32.84423],[102.391692,32.843971],[102.391684,32.843961],[102.391642,32.843869],[102.391635,32.843863],[102.391563,32.843805],[102.391305,32.843595],[102.391046,32.843384],[102.390838,32.84323],[102.390631,32.843075],[102.390307,32.842868],[102.389982,32.842661],[102.389628,32.842401],[102.389274,32.84214],[102.38892,32.84188],[102.388873,32.841844],[102.388599,32.841629],[102.388325,32.841414],[102.388051,32.841199],[102.387777,32.840984],[102.38762,32.840885],[102.387218,32.840736],[102.386895,32.840616],[102.386572,32.840496],[102.386329,32.840428],[102.386087,32.84036],[102.38573,32.840303],[102.385409,32.840275],[102.385087,32.840246],[102.384798,32.840235],[102.384509,32.840225],[102.384202,32.8402],[102.383895,32.840175],[102.383598,32.840087],[102.3833,32.839999],[102.383003,32.839911],[102.38267,32.839801],[102.382337,32.839692],[102.382004,32.839582],[102.381797,32.839493],[102.38159,32.839404],[102.38133,32.839236],[102.38107,32.839068],[102.380734,32.83885],[102.380397,32.838633],[102.380041,32.838397],[102.379685,32.83816],[102.379328,32.837924],[102.379024,32.837723],[102.378721,32.837522],[102.378417,32.837321],[102.378113,32.837119],[102.377849,32.836991],[102.377585,32.836862],[102.377235,32.836763],[102.377021,32.836634],[102.37685,32.83652],[102.3766,32.836456],[102.376329,32.836395],[102.376057,32.836334],[102.375715,32.836256],[102.375483,32.836131],[102.375251,32.836006],[102.375008,32.835849],[102.374765,32.835692],[102.374544,32.835442],[102.374394,32.835074],[102.374244,32.834707],[102.374059,32.834475],[102.373873,32.834243],[102.373709,32.834061],[102.373545,32.833879],[102.37328,32.833722],[102.373016,32.833565],[102.372661,32.833422],[102.372307,32.83328],[102.371952,32.833137],[102.371931,32.833129],[102.371524,32.832965],[102.371189,32.832979],[102.371039,32.833022],[102.370825,32.833168],[102.370611,32.833315],[102.37033,32.833448],[102.370049,32.833581],[102.369768,32.833714],[102.369376,32.833839],[102.368983,32.833964],[102.368665,32.834026],[102.368314,32.834095],[102.367964,32.834163],[102.367848,32.834186],[102.367508,32.834202],[102.367168,32.834219],[102.366827,32.834236],[102.366501,32.8342],[102.366175,32.834164],[102.365849,32.834128],[102.365454,32.834083],[102.365059,32.834038],[102.364664,32.833993],[102.364407,32.833918],[102.36415,32.833843],[102.363808,32.833657],[102.363565,32.833424],[102.363322,32.833191],[102.36308,32.832958],[102.362891,32.832712],[102.362701,32.832465],[102.362484,32.832226],[102.362266,32.831987],[102.36206,32.831831],[102.361785,32.831624],[102.361509,32.831416],[102.361259,32.831221],[102.36101,32.831026],[102.36076,32.830831],[102.360446,32.830645],[102.360148,32.830531],[102.359851,32.830417],[102.359553,32.830302],[102.359211,32.830081],[102.358868,32.82986],[102.358791,32.82981],[102.358491,32.829617],[102.35819,32.829424],[102.35789,32.829232],[102.357705,32.829064],[102.357519,32.828896],[102.357383,32.828646],[102.357248,32.828396],[102.357119,32.828275],[102.356934,32.828196],[102.356634,32.828204],[102.356348,32.828214],[102.356063,32.828225],[102.355813,32.828225],[102.355563,32.828225],[102.355254,32.828144],[102.354944,32.828063],[102.354635,32.827982],[102.354325,32.827896],[102.354021,32.827811],[102.35365,32.827668],[102.353563,32.827643],[102.353257,32.827554],[102.3529,32.827511],[102.352472,32.827447],[102.352094,32.827354],[102.351803,32.827157],[102.351513,32.826959],[102.351223,32.826762],[102.351016,32.826448],[102.350809,32.826134],[102.350545,32.825805],[102.350281,32.825477],[102.350066,32.825098],[102.34997,32.824799],[102.349874,32.824499],[102.349817,32.824099],[102.349753,32.823761],[102.349688,32.823422],[102.349638,32.823157],[102.349517,32.822907],[102.34931,32.8226],[102.348959,32.822377],[102.348739,32.822236],[102.348467,32.821893],[102.348343,32.821668],[102.348218,32.821444],[102.348077,32.82117],[102.347937,32.820896],[102.347743,32.820639],[102.347548,32.820381],[102.347354,32.820123],[102.347199,32.819885],[102.347045,32.819647],[102.346955,32.819409],[102.346866,32.819171],[102.346818,32.818731],[102.346652,32.818493],[102.346366,32.818267],[102.345948,32.818227],[102.34553,32.818187],[102.345112,32.818147],[102.344731,32.818111],[102.344412,32.818116],[102.344094,32.81812],[102.34382,32.818125],[102.343547,32.818129],[102.343246,32.818051],[102.342946,32.817974],[102.342786,32.817906],[102.342536,32.8178],[102.342286,32.817694],[102.341911,32.81748],[102.341729,32.81729],[102.341548,32.8171],[102.341364,32.816847],[102.341181,32.816595],[102.341036,32.816398],[102.340894,32.816118],[102.340751,32.815838],[102.340608,32.815559],[102.340397,32.815247],[102.340186,32.814934],[102.340055,32.814696],[102.339924,32.814458],[102.339668,32.814274],[102.339668,32.814274],[102.339319,32.814213],[102.339135,32.814189],[102.33888,32.81422],[102.338625,32.81425],[102.338343,32.814351],[102.33806,32.814453],[102.337735,32.814553],[102.33741,32.814653],[102.337156,32.814648],[102.336902,32.814642],[102.336651,32.814598],[102.336399,32.814553],[102.336338,32.81453],[102.336011,32.81436],[102.335796,32.814215],[102.335581,32.814071],[102.335338,32.813965],[102.335096,32.81386],[102.334854,32.813832],[102.334612,32.813804],[102.334416,32.813755],[102.334069,32.813723],[102.333722,32.813691],[102.333606,32.81368],[102.333574,32.813677],[102.333389,32.81366],[102.333097,32.813632],[102.332869,32.813548],[102.33264,32.813465],[102.332405,32.813334],[102.332291,32.813234],[102.332161,32.81312],[102.332024,32.812924],[102.331905,32.812638],[102.33181,32.812409],[102.331715,32.81218],[102.331554,32.811936],[102.331382,32.811704],[102.331162,32.811609],[102.330852,32.811442],[102.33065,32.811163],[102.330448,32.810883],[102.330308,32.810702],[102.330168,32.81052],[102.329972,32.810348],[102.329776,32.810175],[102.329585,32.809917],[102.329395,32.809658],[102.329193,32.809289],[102.329153,32.809154],[102.329097,32.808962],[102.328907,32.808739],[102.328717,32.808516],[102.328447,32.808243],[102.328187,32.80798],[102.328026,32.807723],[102.327908,32.807534],[102.327833,32.807278],[102.327759,32.807023],[102.327682,32.806743],[102.327485,32.80635],[102.327307,32.805999],[102.327194,32.805803],[102.326962,32.805642],[102.32673,32.805482],[102.326641,32.80541],[102.326581,32.805196],[102.326534,32.80497],[102.326557,32.804607],[102.326665,32.804176],[102.326772,32.803751],[102.326795,32.803483],[102.326748,32.803257],[102.326611,32.803037],[102.32651,32.802912],[102.32645,32.802751],[102.326454,32.802713],[102.326468,32.802537],[102.326486,32.802395],[102.326534,32.802002],[102.326528,32.801701],[102.326522,32.801401],[102.326486,32.801122],[102.326415,32.801003],[102.326337,32.800931],[102.326218,32.800578],[102.326212,32.800562],[102.326141,32.800324],[102.325909,32.800188],[102.325748,32.800069],[102.325582,32.800057],[102.325557,32.800056],[102.325125,32.800038],[102.324693,32.800021],[102.324261,32.800003],[102.324038,32.799959],[102.323815,32.799914],[102.323589,32.799825],[102.323363,32.799735],[102.323012,32.799634],[102.322661,32.799533],[102.322286,32.799355],[102.322013,32.799236],[102.321834,32.799081],[102.321733,32.79891],[102.321626,32.79873],[102.321449,32.798579],[102.321424,32.798558],[102.321245,32.79848],[102.320983,32.79848],[102.320632,32.798714],[102.320486,32.798811],[102.320258,32.798962],[102.319984,32.799004],[102.319841,32.799016],[102.319544,32.798956],[102.319264,32.798932],[102.319116,32.798956],[102.318878,32.79898],[102.318455,32.798904],[102.31834,32.798799],[102.318217,32.798628],[102.318015,32.798408],[102.318007,32.798399],[102.317779,32.798238],[102.317462,32.798109],[102.317146,32.797981],[102.317046,32.797924],[102.316713,32.797714],[102.316565,32.79749],[102.316418,32.797267],[102.316293,32.796923],[102.316169,32.796578],[102.316206,32.796345],[102.316269,32.796027],[102.31632,32.795771],[102.316371,32.795516],[102.316423,32.795261],[102.316474,32.795005],[102.316525,32.79475],[102.316576,32.794494],[102.316539,32.794261],[102.316503,32.794028],[102.316339,32.793682],[102.316148,32.793311],[102.315953,32.793038],[102.315754,32.792874],[102.315555,32.792711],[102.315297,32.792403],[102.315038,32.792095],[102.314779,32.791787],[102.314504,32.791459],[102.314228,32.79113],[102.313952,32.790802],[102.313676,32.790474],[102.313483,32.790244],[102.313328,32.790078],[102.313173,32.789911],[102.313019,32.789744],[102.312864,32.789578],[102.312709,32.789411],[102.312554,32.789245],[102.312399,32.789078],[102.312244,32.788911],[102.31209,32.788745],[102.311935,32.788578],[102.311826,32.788331],[102.311717,32.788084],[102.311638,32.78782],[102.31156,32.787555],[102.311481,32.78729],[102.311402,32.787025],[102.311337,32.786767],[102.311272,32.786509],[102.311194,32.786213],[102.311115,32.785918],[102.311005,32.785494],[102.310894,32.785069],[102.310784,32.784645],[102.310674,32.784221],[102.310593,32.784011],[102.310512,32.783801],[102.310287,32.783552],[102.310059,32.7834],[102.309774,32.783246],[102.309398,32.783214],[102.309122,32.783208],[102.308847,32.783203],[102.308581,32.78321],[102.308315,32.783218],[102.308049,32.783226],[102.307783,32.783234],[102.307494,32.783191],[102.307204,32.783148],[102.30693,32.783105],[102.306656,32.783063],[102.306223,32.78298],[102.30579,32.782922],[102.305412,32.782913],[102.305005,32.782929],[102.304714,32.782984],[102.304422,32.783039],[102.304201,32.783144],[102.303981,32.78325],[102.3039,32.783265],[102.303587,32.783327],[102.303192,32.783404],[102.302959,32.783448],[102.302726,32.783492],[102.302389,32.783595],[102.302052,32.783698],[102.301717,32.783764],[102.301381,32.78383],[102.301175,32.783924],[102.300969,32.784017],[102.30066,32.784169],[102.300351,32.784321],[102.299982,32.784558],[102.299613,32.784795],[102.299427,32.784931],[102.299241,32.785068],[102.299055,32.785205],[102.298869,32.785341],[102.298688,32.785582],[102.298507,32.785823],[102.298328,32.78599],[102.298148,32.786158],[102.297969,32.786325],[102.29779,32.786493],[102.297788,32.786493],[102.297787,32.786494],[102.297481,32.786699],[102.297174,32.786904],[102.29689,32.787011],[102.296523,32.78715],[102.29623,32.787218],[102.295938,32.787285],[102.295692,32.78728],[102.295445,32.787274],[102.295377,32.787276],[102.295068,32.787218],[102.294755,32.787226],[102.294441,32.787233],[102.294157,32.787392],[102.293873,32.78755],[102.29353,32.787657],[102.293364,32.787705],[102.293112,32.787778],[102.29286,32.787852],[102.292625,32.78792],[102.292391,32.787988],[102.292355,32.787999],[102.292115,32.788036],[102.291874,32.788074],[102.291634,32.788112],[102.291394,32.78815],[102.291045,32.788142],[102.290697,32.788134],[102.290335,32.788102],[102.289974,32.78807],[102.289714,32.788015],[102.289455,32.78796],[102.289169,32.78782],[102.288883,32.787679],[102.288584,32.787489],[102.288285,32.787299],[102.288002,32.787073],[102.287719,32.786846],[102.287479,32.786632],[102.287239,32.786419],[102.287028,32.786207],[102.286817,32.785995],[102.28662,32.785783],[102.286422,32.78557],[102.286253,32.78542],[102.286084,32.785269],[102.285801,32.785043],[102.285514,32.784914],[102.285226,32.784883],[102.284907,32.784877],[102.284584,32.785016],[102.284418,32.785221],[102.284252,32.785426],[102.284065,32.785813],[102.283867,32.786115],[102.283669,32.786416],[102.283507,32.786617],[102.283345,32.786819],[102.283183,32.78702],[102.283021,32.787222],[102.282859,32.787423],[102.282697,32.787624],[102.282535,32.787826],[102.282373,32.788027],[102.282165,32.788194],[102.281956,32.788361],[102.281748,32.788527],[102.28154,32.788694],[102.281275,32.788835],[102.281009,32.788976],[102.280673,32.789067],[102.280337,32.789158],[102.280104,32.789189],[102.279871,32.789221],[102.279637,32.789253],[102.279404,32.789284],[102.279039,32.789374],[102.278675,32.789463],[102.278447,32.789551],[102.278218,32.789638],[102.27799,32.789725],[102.277761,32.789812],[102.277532,32.789899],[102.277304,32.789986],[102.277073,32.790091],[102.276843,32.790196],[102.276613,32.790301],[102.276382,32.790406],[102.276152,32.790511],[102.275921,32.790617],[102.275511,32.79073],[102.275101,32.790843],[102.274692,32.790944],[102.274283,32.791046],[102.27386,32.791122],[102.273437,32.791198],[102.273,32.791262],[102.272563,32.791326],[102.272258,32.791332],[102.271952,32.791338],[102.271705,32.791345],[102.271459,32.791352],[102.271212,32.791358],[102.270965,32.791365],[102.270673,32.79142],[102.270381,32.791474],[102.270074,32.791578],[102.269766,32.791681],[102.269675,32.791722],[102.269529,32.791787],[102.269309,32.791886],[102.269089,32.791984],[102.268764,32.792161],[102.268439,32.792337],[102.268087,32.792476],[102.267735,32.792615],[102.267516,32.792672],[102.267297,32.792728],[102.266861,32.792743],[102.266629,32.792726],[102.266398,32.792708],[102.266167,32.792673],[102.265936,32.792637],[102.265705,32.792602],[102.265474,32.792566],[102.265039,32.792532],[102.264808,32.79249],[102.264578,32.792449],[102.26429,32.792394],[102.26396,32.792264],[102.26363,32.792134],[102.2633,32.792005],[102.26297,32.791875],[102.262877,32.791788],[102.26265,32.791573],[102.262422,32.791359],[102.262238,32.79122],[102.262053,32.791081],[102.261893,32.79096],[102.261869,32.790942],[102.261685,32.790804],[102.2615,32.790665],[102.261316,32.790526],[102.261131,32.790387],[102.260947,32.790248],[102.260707,32.790148],[102.260467,32.790048],[102.260227,32.789949],[102.259988,32.789849],[102.259748,32.789749],[102.259508,32.789649],[102.259268,32.789549],[102.259028,32.789449],[102.258745,32.789329],[102.258588,32.789243],[102.258205,32.789027],[102.257822,32.788811],[102.257412,32.788652],[102.257002,32.788493],[102.256689,32.788391],[102.256376,32.788288],[102.256063,32.788186],[102.255717,32.78815],[102.255371,32.788114],[102.255059,32.78814],[102.254748,32.788167],[102.254436,32.788193],[102.254075,32.788265],[102.253713,32.788336],[102.253368,32.788391],[102.253022,32.788446],[102.252677,32.788501],[102.252662,32.788507],[102.25226,32.788685],[102.251858,32.788863],[102.25162,32.789005],[102.251487,32.789034],[102.251325,32.789053],[102.251102,32.789029],[102.250878,32.789005],[102.250764,32.789034],[102.250697,32.789129],[102.250526,32.789396],[102.250283,32.789621],[102.25004,32.789846],[102.249701,32.789965],[102.249609,32.789992],[102.249475,32.790031],[102.249142,32.78993],[102.248916,32.789948],[102.248725,32.790067],[102.248469,32.790102],[102.24845,32.790098],[102.248192,32.790041],[102.247934,32.789983],[102.247669,32.789855],[102.247405,32.789727],[102.247063,32.7896],[102.246721,32.789472],[102.246358,32.789228],[102.245995,32.788984],[102.245632,32.78874],[102.245266,32.788588],[102.2449,32.788437],[102.244872,32.788417],[102.244689,32.788287],[102.244395,32.78808],[102.244174,32.787925],[102.243984,32.787842],[102.243675,32.78786],[102.243383,32.788014],[102.24307,32.788179],[102.242757,32.788344],[102.242693,32.788377],[102.242342,32.788597],[102.241991,32.788817],[102.241852,32.789005],[102.241712,32.789192],[102.241406,32.789412],[102.241101,32.789632],[102.240796,32.789852],[102.240587,32.789954],[102.240379,32.790055],[102.239933,32.790084],[102.239749,32.790072],[102.239523,32.789942],[102.239308,32.789852],[102.238999,32.789775],[102.238681,32.789743],[102.238559,32.789731],[102.238345,32.78971],[102.23797,32.789656],[102.237595,32.789603],[102.237381,32.78962],[102.237102,32.789698],[102.236733,32.789716],[102.236594,32.789697],[102.236262,32.789595],[102.236113,32.789549],[102.236001,32.78946],[102.235787,32.78924],[102.235571,32.78903],[102.235412,32.788877],[102.235186,32.788496],[102.235014,32.788335],[102.234847,32.788228],[102.234651,32.788163],[102.234508,32.788157],[102.234353,32.788169],[102.234175,32.788151],[102.233943,32.788062],[102.233865,32.787985],[102.233723,32.787889],[102.233437,32.787758],[102.233294,32.787628],[102.233179,32.787434],[102.233054,32.787308],[102.232882,32.787089],[102.232711,32.786871],[102.232362,32.786663],[102.232067,32.786613],[102.231772,32.786564],[102.231576,32.786644],[102.231181,32.786804],[102.231103,32.786835],[102.230988,32.786923],[102.230624,32.787158],[102.230431,32.787283],[102.230239,32.787407],[102.229897,32.787693],[102.229554,32.787979],[102.229345,32.78817],[102.229136,32.788361],[102.228854,32.788551],[102.228573,32.78874],[102.228351,32.788863],[102.22813,32.788986],[102.227909,32.78911],[102.227687,32.789233],[102.227361,32.789459],[102.227035,32.789684],[102.226794,32.789973],[102.226553,32.790261],[102.226388,32.790441],[102.226223,32.790621],[102.226016,32.790726],[102.22581,32.790832],[102.22552,32.790827],[102.22526,32.790783],[102.225,32.79074],[102.224756,32.790637],[102.224513,32.790534],[102.2242,32.790343],[102.223887,32.790153],[102.223561,32.789914],[102.223234,32.789674],[102.223075,32.789502],[102.222915,32.78933],[102.222755,32.789157],[102.222595,32.788985],[102.222435,32.788813],[102.222275,32.788641],[102.222115,32.788469],[102.221956,32.788296],[102.221796,32.788124],[102.221636,32.787952],[102.221476,32.78778],[102.221316,32.787608],[102.221199,32.787388],[102.221081,32.787169],[102.220964,32.78695],[102.220846,32.78673],[102.220729,32.786511],[102.220611,32.786292],[102.220494,32.786072],[102.220376,32.785853],[102.220259,32.785634],[102.220141,32.785414],[102.220024,32.785195],[102.219906,32.784975],[102.219789,32.784756],[102.219671,32.784537],[102.219546,32.784289],[102.21942,32.784042],[102.219295,32.783795],[102.21917,32.783548],[102.219044,32.783301],[102.218919,32.783053],[102.218794,32.782806],[102.218668,32.782559],[102.218543,32.782312],[102.218418,32.782064],[102.218292,32.781817],[102.218167,32.78157],[102.218041,32.781323],[102.217916,32.781075],[102.217791,32.780828],[102.217665,32.780581],[102.217513,32.780363],[102.21736,32.780146],[102.217207,32.779928],[102.217054,32.779711],[102.216901,32.779493],[102.216749,32.779276],[102.216596,32.779058],[102.216443,32.778841],[102.216309,32.778495],[102.216176,32.77815],[102.216069,32.777829],[102.215963,32.777509],[102.215883,32.777262],[102.215804,32.777016],[102.215695,32.776793],[102.215585,32.77657],[102.215476,32.776348],[102.215367,32.776125],[102.215114,32.7759],[102.214856,32.775771],[102.21461,32.775742],[102.214365,32.775712],[102.214061,32.775705],[102.213756,32.775698],[102.21333,32.775729],[102.212903,32.775761],[102.212477,32.775792],[102.212112,32.775882],[102.211746,32.775971],[102.211424,32.776062],[102.211102,32.776153],[102.210677,32.776278],[102.210253,32.776403],[102.210029,32.776447],[102.209805,32.776491],[102.209582,32.776535],[102.209358,32.776579],[102.209134,32.776623],[102.208911,32.776667],[102.208511,32.776764],[102.208111,32.776861],[102.207712,32.776958],[102.207331,32.777072],[102.20695,32.777186],[102.206756,32.777312],[102.206563,32.777438],[102.206369,32.777564],[102.206176,32.77769],[102.205982,32.777816],[102.205789,32.777942],[102.205595,32.778068],[102.205401,32.778194],[102.205192,32.778434],[102.205055,32.778615],[102.204919,32.778796],[102.204795,32.77905],[102.204671,32.779303],[102.204617,32.779607],[102.204564,32.779911],[102.204526,32.780217],[102.204488,32.780523],[102.204333,32.780825],[102.204178,32.781127],[102.204006,32.781307],[102.203833,32.781486],[102.203661,32.781666],[102.203488,32.781845],[102.203301,32.782035],[102.203113,32.782225],[102.202926,32.782414],[102.202739,32.782604],[102.202551,32.782794],[102.202364,32.782983],[102.202039,32.783172],[102.201715,32.78336],[102.201419,32.783525],[102.201124,32.78369],[102.200755,32.783889],[102.200386,32.784089],[102.200263,32.784162],[102.200046,32.78429],[102.199706,32.78449],[102.199478,32.784803],[102.19925,32.785115],[102.199066,32.785454],[102.198882,32.785792],[102.198743,32.786035],[102.198605,32.786277],[102.198483,32.786469],[102.198361,32.786662],[102.198095,32.786827],[102.197748,32.786795],[102.197519,32.786704],[102.19729,32.786614],[102.197004,32.78646],[102.196718,32.786307],[102.196421,32.786068],[102.196124,32.785829],[102.195942,32.785629],[102.195759,32.785429],[102.195565,32.785156],[102.195547,32.78513],[102.195371,32.784883],[102.195135,32.784547],[102.194898,32.784211],[102.194706,32.783864],[102.194514,32.783517],[102.194322,32.783158],[102.19413,32.782799],[102.194073,32.782529],[102.194016,32.782258],[102.193958,32.781988],[102.193901,32.781718],[102.193916,32.78148],[102.193931,32.781242],[102.193945,32.781003],[102.19396,32.780765],[102.193975,32.780527],[102.193989,32.780289],[102.194004,32.780051],[102.194019,32.779812],[102.194015,32.77947],[102.194012,32.779127],[102.193946,32.778893],[102.193881,32.778659],[102.193714,32.778435],[102.193373,32.778208],[102.193173,32.778093],[102.192974,32.777978],[102.192688,32.77785],[102.192402,32.777721],[102.192136,32.777664],[102.19187,32.777607],[102.191604,32.777549],[102.191337,32.777492],[102.191071,32.777435],[102.190805,32.777378],[102.190538,32.77732],[102.190272,32.777263],[102.190006,32.777206],[102.189739,32.777149],[102.189473,32.777091],[102.189207,32.777034],[102.188941,32.776977],[102.188674,32.77692],[102.188265,32.776832],[102.187855,32.776744],[102.187445,32.776656],[102.187015,32.776548],[102.186786,32.776396],[102.186763,32.776225],[102.186801,32.775932],[102.186891,32.775714],[102.18698,32.775497],[102.187069,32.77528],[102.187159,32.775063],[102.187248,32.774846],[102.187337,32.774629],[102.187366,32.774562],[102.187433,32.774407],[102.187528,32.774185],[102.187624,32.773963],[102.187719,32.773741],[102.187815,32.773519],[102.18791,32.773297],[102.188006,32.773076],[102.188101,32.772854],[102.188197,32.772632],[102.188292,32.77241],[102.188388,32.772188],[102.188483,32.771966],[102.188579,32.771744],[102.188674,32.771523],[102.188714,32.77143],[102.188818,32.771173],[102.188922,32.770917],[102.189026,32.77066],[102.18913,32.770404],[102.189234,32.770147],[102.189338,32.769891],[102.189442,32.769634],[102.189546,32.769378],[102.18965,32.769121],[102.189754,32.768865],[102.189864,32.768623],[102.189973,32.768381],[102.190082,32.768138],[102.190191,32.767896],[102.190301,32.767654],[102.19041,32.767412],[102.190424,32.767345],[102.190467,32.767145],[102.190524,32.766878],[102.190581,32.766611],[102.190638,32.766344],[102.190696,32.766077],[102.190753,32.76581],[102.19081,32.765543],[102.190867,32.765275],[102.190924,32.765008],[102.190981,32.764741],[102.191038,32.764474],[102.191075,32.764301],[102.191096,32.764207],[102.191225,32.763794],[102.191319,32.763551],[102.191414,32.763309],[102.191599,32.762946],[102.191694,32.762704],[102.191875,32.762463],[102.192041,32.762271],[102.192206,32.762079],[102.192515,32.761793],[102.192824,32.761506],[102.193133,32.761219],[102.193327,32.761056],[102.19352,32.760894],[102.193714,32.760731],[102.193908,32.760568],[102.194101,32.760405],[102.194295,32.760242],[102.194595,32.75993],[102.194895,32.759619],[102.195148,32.759392],[102.195402,32.759165],[102.1956,32.759011],[102.195798,32.758856],[102.195996,32.758702],[102.196194,32.758547],[102.196392,32.758393],[102.196591,32.758238],[102.196919,32.757952],[102.197131,32.757663],[102.197255,32.757428],[102.197379,32.757193],[102.197503,32.756957],[102.197627,32.756722],[102.197709,32.756508],[102.197791,32.756295],[102.197873,32.756082],[102.197955,32.755868],[102.198037,32.755655],[102.198119,32.755442],[102.198202,32.755228],[102.198284,32.755015],[102.198366,32.754801],[102.198367,32.754799],[102.198367,32.754797],[102.198448,32.754588],[102.198604,32.754249],[102.198667,32.754055],[102.198675,32.753798],[102.198684,32.753541],[102.198694,32.753248],[102.198643,32.753002],[102.198568,32.752766],[102.198493,32.75253],[102.198418,32.752295],[102.198342,32.752059],[102.198267,32.751823],[102.198192,32.751587],[102.198117,32.751352],[102.198042,32.751116],[102.197967,32.75088],[102.197892,32.750645],[102.197817,32.750409],[102.197741,32.750173],[102.197718,32.750121],[102.197608,32.749874],[102.197497,32.749627],[102.197387,32.74938],[102.197277,32.749133],[102.197166,32.748886],[102.197056,32.748639],[102.196946,32.748392],[102.196835,32.748145],[102.196725,32.747898],[102.196615,32.747651],[102.196504,32.747405],[102.196394,32.747158],[102.196284,32.746911],[102.196173,32.746664],[102.196063,32.746417],[102.195953,32.74617],[102.195822,32.745943],[102.195692,32.745716],[102.195561,32.745489],[102.19543,32.745262],[102.1953,32.745035],[102.195169,32.744808],[102.195038,32.744581],[102.194908,32.744354],[102.194777,32.744127],[102.194646,32.7439],[102.194516,32.743673],[102.194385,32.743446],[102.19432,32.7432],[102.194255,32.742954],[102.19419,32.742708],[102.194126,32.742462],[102.194104,32.742217],[102.194083,32.741972],[102.194091,32.741703],[102.1941,32.741434],[102.194109,32.74114],[102.194178,32.740824],[102.194274,32.740508],[102.194397,32.740266],[102.194491,32.740073],[102.194644,32.739807],[102.194795,32.739608],[102.194946,32.73941],[102.195098,32.739212],[102.195249,32.739013],[102.1954,32.738815],[102.195551,32.738616],[102.195702,32.738418],[102.195854,32.73822],[102.196001,32.738015],[102.196148,32.737811],[102.196295,32.737606],[102.196442,32.737402],[102.196589,32.737198],[102.196736,32.736993],[102.196884,32.736789],[102.197031,32.736584],[102.197178,32.73638],[102.197325,32.736176],[102.197472,32.735971],[102.197619,32.735767],[102.197798,32.735599],[102.198124,32.735386],[102.198333,32.735195],[102.198484,32.735003],[102.198651,32.734774],[102.198818,32.734546],[102.198993,32.734207],[102.199168,32.733868],[102.199343,32.73353],[102.199438,32.733275],[102.199533,32.73302],[102.199628,32.732765],[102.199723,32.732511],[102.199817,32.732256],[102.199818,32.732255],[102.199818,32.732254],[102.199912,32.732001],[102.200017,32.731777],[102.200122,32.731553],[102.200171,32.731448],[102.200227,32.731329],[102.200332,32.731105],[102.200437,32.730881],[102.200542,32.730657],[102.200646,32.730433],[102.200751,32.730209],[102.200898,32.730023],[102.201044,32.729837],[102.201191,32.729651],[102.201337,32.729465],[102.201484,32.729279],[102.20163,32.729093],[102.201777,32.728907],[102.201924,32.728721],[102.20207,32.728534],[102.202217,32.728348],[102.202363,32.728162],[102.20251,32.727976],[102.202649,32.727763],[102.202788,32.727549],[102.202927,32.727335],[102.203066,32.727122],[102.203206,32.726908],[102.203345,32.726695],[102.203484,32.726481],[102.203623,32.726267],[102.203762,32.726054],[102.203902,32.72584],[102.204041,32.725627],[102.20418,32.725413],[102.204319,32.725199],[102.204458,32.724986],[102.204573,32.724759],[102.204688,32.724532],[102.204802,32.724305],[102.204917,32.724078],[102.205032,32.723851],[102.205147,32.723624],[102.205261,32.723397],[102.205376,32.72317],[102.205491,32.722943],[102.205566,32.722793],[102.205605,32.722716],[102.205613,32.722448],[102.205682,32.722132],[102.205805,32.72189],[102.206015,32.721674],[102.206194,32.721507],[102.206461,32.721317],[102.206699,32.721102],[102.20694,32.720838],[102.20712,32.720573],[102.207229,32.720363],[102.207337,32.720153],[102.207445,32.719944],[102.207553,32.719734],[102.207661,32.719524],[102.207769,32.719315],[102.207985,32.718928],[102.208108,32.718711],[102.20823,32.718493],[102.208427,32.718229],[102.208624,32.717964],[102.208791,32.717699],[102.208959,32.717433],[102.209244,32.717134],[102.209529,32.716834],[102.209798,32.716571],[102.210067,32.716308],[102.210311,32.715946],[102.210453,32.715734],[102.210595,32.715521],[102.210737,32.715309],[102.210879,32.715096],[102.211021,32.714884],[102.211163,32.714671],[102.211186,32.714427],[102.211208,32.714183],[102.211217,32.713865],[102.211229,32.713498],[102.211125,32.713129],[102.21102,32.71276],[102.210932,32.712521],[102.210844,32.712281],[102.210755,32.712042],[102.210667,32.711803],[102.210579,32.711563],[102.210491,32.711324],[102.210403,32.711085],[102.210314,32.710845],[102.210226,32.710606],[102.210138,32.710366],[102.210016,32.710095],[102.209893,32.709823],[102.20973,32.709526],[102.209564,32.709295],[102.209549,32.709275],[102.209479,32.709178],[102.209437,32.709135],[102.209392,32.709088],[102.209304,32.708997],[102.209129,32.708816],[102.208954,32.708635],[102.208779,32.708454],[102.2086,32.708269],[102.208422,32.708084],[102.208209,32.707933],[102.207996,32.707781],[102.207784,32.70763],[102.207571,32.707478],[102.207358,32.707326],[102.207146,32.707175],[102.206933,32.707023],[102.20672,32.706872],[102.206508,32.70672],[102.206295,32.706568],[102.206082,32.706417],[102.20587,32.706265],[102.205657,32.706114],[102.205444,32.705962],[102.205302,32.705906],[102.205264,32.705892],[102.205205,32.705868],[102.204983,32.705781],[102.204965,32.705774],[102.204725,32.70568],[102.20465,32.705651],[102.204485,32.705586],[102.204246,32.705492],[102.204006,32.705398],[102.203766,32.705304],[102.203526,32.705211],[102.203287,32.70512],[102.203049,32.705029],[102.20281,32.704938],[102.202571,32.704847],[102.202332,32.704756],[102.202094,32.704665],[102.201846,32.704576],[102.201599,32.704488],[102.201352,32.7044],[102.201104,32.704312],[102.200857,32.704224],[102.20061,32.704136],[102.200362,32.704048],[102.200115,32.70396],[102.199887,32.703844],[102.19966,32.703729],[102.199475,32.703591],[102.19929,32.703453],[102.199096,32.703202],[102.198873,32.702904],[102.198784,32.702658],[102.198695,32.702413],[102.198606,32.702167],[102.198517,32.701921],[102.198369,32.701563],[102.19822,32.701205],[102.198087,32.700834],[102.197921,32.700562],[102.197725,32.700337],[102.197613,32.700213],[102.197329,32.700035],[102.196985,32.699904],[102.196741,32.69985],[102.196496,32.699796],[102.196397,32.699773],[102.196151,32.699715],[102.195805,32.699634],[102.195518,32.699566],[102.19523,32.699499],[102.194913,32.69943],[102.194596,32.699362],[102.194266,32.699281],[102.193936,32.6992],[102.193633,32.69912],[102.193468,32.699076],[102.193331,32.69904],[102.193073,32.698948],[102.192815,32.698857],[102.192544,32.698729],[102.192273,32.698601],[102.191943,32.69834],[102.191613,32.69808],[102.191283,32.697819],[102.191071,32.697631],[102.19086,32.697443],[102.190677,32.697255],[102.190494,32.697068],[102.190388,32.696772],[102.190396,32.696528],[102.190432,32.696308],[102.190465,32.696137]]]]},"properties":{"cp":[102.35372199561037,32.712944518303445],"code":"513233103","name":"安曲镇","level":"street","center":[102.35372199561037,32.712944518303445],"fullCode":"513233103000","fullName":"四川省阿坝藏族羌族自治州红原县安曲镇","acreageMu":1327057.45,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.222,32.6709]}},{"id":"513233105","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.277244,32.524826],[102.277274,32.524758],[102.277761,32.523683],[102.278447,32.522401],[102.278934,32.521489],[102.279246,32.520805],[102.279632,32.520638],[102.280189,32.520398],[102.280201,32.520393],[102.280417,32.5203],[102.280661,32.520194],[102.281662,32.519821],[102.282892,32.519601],[102.283165,32.519536],[102.284592,32.519194],[102.286228,32.519032],[102.287337,32.518908],[102.287869,32.518673],[102.288122,32.517988],[102.288597,32.517196],[102.289346,32.515511],[102.29019,32.513605],[102.290391,32.512721],[102.29064,32.511691],[102.290603,32.510025],[102.290392,32.508318],[102.290556,32.507212],[102.290941,32.506036],[102.291382,32.504418],[102.29147,32.503999],[102.291505,32.503833],[102.291597,32.503393],[102.291601,32.503375],[102.291637,32.503202],[102.291887,32.502135],[102.291976,32.50062],[102.29189,32.499101],[102.291871,32.498286],[102.292101,32.497884],[102.292726,32.497454],[102.293911,32.49722],[102.295037,32.497541],[102.296037,32.497673],[102.297387,32.497776],[102.298297,32.498018],[102.299338,32.498225],[102.300303,32.498583],[102.300373,32.498609],[102.300504,32.498657],[102.301595,32.49868],[102.303308,32.49831],[102.304271,32.498257],[102.30559,32.497915],[102.307147,32.49745],[102.30744,32.497363],[102.308144,32.49723],[102.308319,32.497197],[102.308369,32.49715],[102.308633,32.496907],[102.308664,32.495872],[102.308679,32.495343],[102.30869,32.494985],[102.308318,32.494274],[102.308133,32.49316],[102.307815,32.492117],[102.307839,32.491304],[102.307999,32.490345],[102.308286,32.4895],[102.308793,32.488586],[102.309694,32.487643],[102.31063,32.486997],[102.31153,32.486092],[102.311816,32.485284],[102.311739,32.4847],[102.311673,32.484208],[102.311089,32.483307],[102.310916,32.481787],[102.311219,32.480334],[102.311323,32.479834],[102.312199,32.478262],[102.313131,32.476667],[102.313395,32.476216],[102.313725,32.475775],[102.314213,32.475123],[102.314795,32.474618],[102.316193,32.474574],[102.317894,32.47461],[102.318993,32.474375],[102.320272,32.473921],[102.321372,32.473611],[102.322209,32.47337],[102.323588,32.472475],[102.324006,32.471633],[102.324606,32.470535],[102.32456,32.469129],[102.324727,32.467911],[102.324895,32.466657],[102.325061,32.465477],[102.325074,32.463553],[102.325561,32.461861],[102.325773,32.460608],[102.32624,32.459545],[102.326497,32.458256],[102.326407,32.456885],[102.325506,32.454868],[102.323044,32.449599],[102.322678,32.448703],[102.321883,32.447539],[102.321341,32.446714],[102.32067,32.445774],[102.320434,32.444918],[102.320409,32.442809],[102.32037,32.44118],[102.320417,32.43959],[102.32067,32.438412],[102.32075,32.437193],[102.320707,32.435712],[102.320407,32.434041],[102.320451,32.432562],[102.320371,32.430858],[102.319935,32.429369],[102.319737,32.428699],[102.319588,32.427807],[102.319457,32.426362],[102.319034,32.422949],[102.318856,32.421613],[102.318847,32.420988],[102.318842,32.420614],[102.31871,32.419168],[102.319057,32.41777],[102.319248,32.417219],[102.320608,32.416952],[102.321596,32.417454],[102.322646,32.417365],[102.323692,32.417387],[102.324757,32.416781],[102.326135,32.415885],[102.327275,32.415687],[102.329636,32.416958],[102.330141,32.417065],[102.331197,32.417287],[102.332497,32.417574],[102.334328,32.417613],[102.334971,32.417589],[102.335594,32.417565],[102.336382,32.417471],[102.336462,32.417397],[102.336616,32.417255],[102.336623,32.417249],[102.336666,32.417209],[102.336699,32.417179],[102.336709,32.417169],[102.33675,32.417132],[102.337247,32.416674],[102.338886,32.415163],[102.342031,32.412263],[102.343993,32.410485],[102.344227,32.410274],[102.345215,32.409296],[102.345283,32.409199],[102.345289,32.40919],[102.3453,32.409175],[102.345373,32.409072],[102.345772,32.408509],[102.345785,32.408491],[102.34617,32.407947],[102.349568,32.402136],[102.351006,32.400686],[102.352698,32.399464],[102.35438,32.397131],[102.355089,32.395259],[102.355108,32.394594],[102.354352,32.393616],[102.354038,32.392425],[102.353635,32.39127],[102.353459,32.38986],[102.353236,32.389172],[102.352677,32.387444],[102.352579,32.387141],[102.352564,32.386142],[102.352552,32.385068],[102.351995,32.383244],[102.351449,32.381049],[102.350881,32.379595],[102.351855,32.37906],[102.352253,32.378883],[102.353004,32.378529],[102.353545,32.377949],[102.353752,32.376806],[102.354044,32.375776],[102.354239,32.375077],[102.354258,32.374412],[102.355159,32.373432],[102.356533,32.372647],[102.357558,32.371891],[102.358235,32.371091],[102.35931,32.370115],[102.35968,32.369383],[102.359798,32.368312],[102.359888,32.366723],[102.360052,32.36558],[102.360385,32.364625],[102.36063,32.363705],[102.361068,32.360643],[102.361199,32.359129],[102.36127,32.358168],[102.361379,32.357431],[102.361414,32.35621],[102.361683,32.354477],[102.362164,32.353634],[102.362371,32.353271],[102.362957,32.352617],[102.363549,32.351741],[102.364567,32.351208],[102.366066,32.35061],[102.367472,32.350232],[102.367972,32.34954],[102.368694,32.348667],[102.369292,32.347606],[102.369589,32.346355],[102.370191,32.345146],[102.371335,32.343283],[102.372027,32.341928],[102.372799,32.340872],[102.373813,32.338969],[102.375079,32.337367],[102.376028,32.336203],[102.376615,32.335512],[102.376631,32.334957],[102.376298,32.334395],[102.375032,32.33349],[102.375252,32.332881],[102.37576,32.332763],[102.376519,32.332736],[102.377477,32.332756],[102.378605,32.332179],[102.37984,32.33139],[102.380272,32.330413],[102.381055,32.329529],[102.381861,32.328876],[102.381887,32.328856],[102.382089,32.328693],[102.382162,32.328655],[102.382502,32.328481],[102.382698,32.328381],[102.382758,32.32835],[102.383216,32.328116],[102.384245,32.327451],[102.38475,32.32725],[102.384819,32.327222],[102.385082,32.327118],[102.385102,32.32711],[102.385369,32.327003],[102.386012,32.326709],[102.386085,32.326675],[102.386572,32.326499],[102.387208,32.326269],[102.387618,32.326291],[102.387649,32.326293],[102.387743,32.326298],[102.388139,32.326319],[102.388387,32.326332],[102.388519,32.326339],[102.389165,32.326696],[102.389704,32.327264],[102.389636,32.328009],[102.38963,32.328077],[102.389561,32.328778],[102.389525,32.329151],[102.389487,32.329532],[102.389464,32.330346],[102.389392,32.331457],[102.389373,32.331759],[102.389149,32.332155],[102.388894,32.332607],[102.388925,32.333294],[102.389072,32.333468],[102.389526,32.333597],[102.390993,32.334108],[102.391188,32.334133],[102.392014,32.33424],[102.393033,32.334372],[102.394551,32.334625],[102.395766,32.334799],[102.396598,32.334668],[102.397563,32.334466],[102.399008,32.335154],[102.399234,32.333035],[102.399466,32.33021],[102.399947,32.327518],[102.400234,32.326324],[102.400363,32.32534],[102.400456,32.324518],[102.400633,32.322953],[102.400807,32.322453],[102.401235,32.321224],[102.401741,32.320095],[102.401858,32.318758],[102.402707,32.316632],[102.403697,32.315111],[102.405008,32.313397],[102.405829,32.312275],[102.406189,32.310741],[102.406383,32.309472],[102.406479,32.308814],[102.406578,32.308137],[102.406573,32.306147],[102.406573,32.30611],[102.406573,32.306104],[102.406573,32.305983],[102.406572,32.305719],[102.406572,32.305591],[102.406571,32.305404],[102.406571,32.305289],[102.40657,32.305096],[102.406569,32.304863],[102.406569,32.304796],[102.406568,32.304556],[102.406567,32.304287],[102.406566,32.304193],[102.406566,32.304154],[102.406566,32.304044],[102.406565,32.303804],[102.406564,32.303568],[102.406563,32.303463],[102.406563,32.303396],[102.406562,32.303179],[102.406534,32.302981],[102.406507,32.302783],[102.406478,32.302577],[102.406446,32.302345],[102.40643,32.302229],[102.406403,32.30204],[102.406373,32.301825],[102.406345,32.301622],[102.406323,32.301464],[102.4063,32.301298],[102.406304,32.301146],[102.406309,32.300995],[102.406314,32.300817],[102.406319,32.300652],[102.406325,32.300416],[102.40633,32.300231],[102.406333,32.300126],[102.406337,32.299987],[102.406341,32.299853],[102.406342,32.299808],[102.406432,32.298755],[102.406286,32.297647],[102.406307,32.296894],[102.407203,32.296611],[102.408561,32.296689],[102.40948,32.296754],[102.409512,32.296756],[102.410499,32.296826],[102.410568,32.29683],[102.412026,32.29686],[102.412283,32.296866],[102.413298,32.296535],[102.413604,32.296585],[102.414055,32.29669],[102.414842,32.296875],[102.41684,32.296757],[102.418769,32.296758],[102.419457,32.296758],[102.419915,32.296739],[102.421203,32.296688],[102.422145,32.29657],[102.423392,32.296415],[102.424268,32.296274],[102.425403,32.295821],[102.425946,32.295245],[102.426431,32.29473],[102.427089,32.293474],[102.427678,32.29248],[102.428025,32.291217],[102.428394,32.289825],[102.428442,32.289646],[102.428583,32.289111],[102.429164,32.288382],[102.429922,32.287892],[102.430116,32.287767],[102.430546,32.28719],[102.43056,32.287172],[102.430585,32.287138],[102.430613,32.2871],[102.430642,32.287061],[102.430652,32.287048],[102.430739,32.286932],[102.430826,32.286815],[102.430842,32.286793],[102.430894,32.286724],[102.431242,32.285408],[102.431586,32.284251],[102.431994,32.28392],[102.43216,32.283786],[102.432327,32.283519],[102.432813,32.282741],[102.432974,32.281421],[102.432511,32.280194],[102.432303,32.278708],[102.432357,32.278597],[102.432394,32.27852],[102.432833,32.277608],[102.433249,32.276081],[102.433659,32.274819],[102.433592,32.272754],[102.433464,32.270687],[102.433526,32.268466],[102.433452,32.268119],[102.433317,32.267488],[102.433196,32.266924],[102.433139,32.266782],[102.433073,32.266629],[102.433007,32.266472],[102.432961,32.26634],[102.432896,32.266178],[102.432849,32.266061],[102.432788,32.26591],[102.432709,32.265757],[102.43262,32.265584],[102.432531,32.265416],[102.432429,32.265219],[102.432316,32.265001],[102.432211,32.264868],[102.432121,32.264754],[102.431988,32.264584],[102.431843,32.2644],[102.431713,32.264233],[102.431545,32.264019],[102.431401,32.263838],[102.431296,32.263705],[102.431173,32.263549],[102.431113,32.26361],[102.430917,32.263808],[102.430749,32.263871],[102.43055,32.263945],[102.430244,32.264061],[102.430032,32.26414],[102.429846,32.26421],[102.429622,32.264307],[102.429491,32.264364],[102.429196,32.264492],[102.428911,32.264616],[102.42863,32.26474],[102.428333,32.264867],[102.428111,32.264902],[102.427928,32.264931],[102.42776,32.264957],[102.427519,32.264995],[102.427291,32.265031],[102.427144,32.265054],[102.426934,32.265119],[102.426658,32.265204],[102.42637,32.265294],[102.426128,32.265369],[102.425892,32.265442],[102.425699,32.265501],[102.425453,32.265654],[102.425256,32.265777],[102.425064,32.265896],[102.424874,32.266014],[102.424673,32.26614],[102.424513,32.266241],[102.424304,32.266372],[102.424033,32.266405],[102.423829,32.26643],[102.423554,32.266463],[102.423305,32.26658],[102.423073,32.266688],[102.422796,32.266818],[102.422632,32.266984],[102.422484,32.267134],[102.422254,32.267366],[102.422059,32.267564],[102.421921,32.267703],[102.42177,32.267856],[102.420893,32.268049],[102.420724,32.267411],[102.420628,32.266403],[102.420277,32.265602],[102.420045,32.265385],[102.419549,32.264922],[102.419002,32.264412],[102.418229,32.263126],[102.417456,32.26206],[102.417453,32.262056],[102.41745,32.262051],[102.416786,32.261297],[102.416699,32.261108],[102.416492,32.260656],[102.416143,32.259802],[102.416096,32.259672],[102.416011,32.259436],[102.415904,32.259139],[102.415796,32.258842],[102.415811,32.258313],[102.415819,32.258033],[102.415832,32.257572],[102.415802,32.257217],[102.415758,32.256703],[102.415692,32.255929],[102.415631,32.255493],[102.415592,32.255207],[102.415537,32.254814],[102.415461,32.254511],[102.415391,32.254232],[102.415257,32.253697],[102.415242,32.253404],[102.415223,32.253017],[102.415206,32.252674],[102.415178,32.252108],[102.415166,32.251793],[102.415155,32.251458],[102.415141,32.251063],[102.415139,32.251002],[102.415135,32.2509],[102.415131,32.250786],[102.415126,32.250681],[102.415122,32.250547],[102.415117,32.250437],[102.415114,32.250319],[102.415112,32.250244],[102.415108,32.250148],[102.415105,32.250051],[102.415101,32.24994],[102.415097,32.249807],[102.415093,32.249679],[102.415087,32.249517],[102.415083,32.249368],[102.415078,32.249232],[102.415075,32.249142],[102.415024,32.249023],[102.414938,32.248818],[102.414838,32.248624],[102.414781,32.248501],[102.41477,32.2484],[102.414747,32.248199],[102.414739,32.248127],[102.414724,32.248002],[102.414703,32.247831],[102.414679,32.247592],[102.414652,32.247353],[102.414632,32.247174],[102.414657,32.246967],[102.414686,32.246721],[102.414722,32.246418],[102.414757,32.246127],[102.414796,32.245802],[102.414839,32.245634],[102.414889,32.245437],[102.414936,32.245253],[102.414985,32.24506],[102.415006,32.244978],[102.415018,32.244933],[102.415031,32.24488],[102.41505,32.244809],[102.415068,32.244738],[102.415088,32.244659],[102.415101,32.244609],[102.415114,32.244559],[102.415129,32.244497],[102.415142,32.244446],[102.415146,32.244433],[102.415148,32.244403],[102.415152,32.244359],[102.415158,32.24429],[102.415166,32.2442],[102.415175,32.244101],[102.415181,32.244025],[102.415187,32.243961],[102.415192,32.243905],[102.415198,32.243836],[102.415202,32.24379],[102.415209,32.243711],[102.415221,32.243576],[102.415229,32.243481],[102.415238,32.243376],[102.415243,32.243317],[102.41525,32.24324],[102.415259,32.243138],[102.415269,32.243022],[102.41528,32.242898],[102.415292,32.242763],[102.415303,32.242639],[102.415315,32.242508],[102.415325,32.242392],[102.415337,32.242266],[102.415347,32.242148],[102.415355,32.242057],[102.415364,32.241956],[102.415371,32.241877],[102.415376,32.241816],[102.415384,32.241737],[102.41539,32.241667],[102.415421,32.241316],[102.415506,32.240951],[102.415533,32.240835],[102.415551,32.240761],[102.415572,32.240669],[102.415577,32.240649],[102.415604,32.240533],[102.415608,32.240515],[102.41565,32.240335],[102.415676,32.240225],[102.415704,32.240104],[102.415726,32.240027],[102.415764,32.239893],[102.415806,32.239744],[102.415843,32.239614],[102.415883,32.239472],[102.41593,32.239304],[102.415968,32.239168],[102.416023,32.238974],[102.416052,32.238872],[102.416079,32.238774],[102.41612,32.238631],[102.416143,32.23856],[102.416174,32.238463],[102.416218,32.238329],[102.416279,32.238147],[102.416352,32.237915],[102.41642,32.237706],[102.41649,32.23749],[102.416555,32.237289],[102.416619,32.237092],[102.416665,32.236948],[102.416716,32.236876],[102.416804,32.236747],[102.416916,32.236586],[102.417037,32.236412],[102.417174,32.236213],[102.417309,32.236018],[102.417414,32.235866],[102.417541,32.235682],[102.417639,32.235539],[102.41775,32.235438],[102.417853,32.235344],[102.418007,32.235202],[102.418158,32.235063],[102.418325,32.23491],[102.418473,32.234774],[102.418598,32.234659],[102.418705,32.234556],[102.418831,32.234433],[102.418983,32.234286],[102.419122,32.234151],[102.419239,32.234037],[102.419323,32.23387],[102.419399,32.233719],[102.419798,32.23362],[102.420495,32.233406],[102.421206,32.23329],[102.421705,32.233208],[102.422269,32.233116],[102.422776,32.233126],[102.42345,32.23314],[102.424149,32.233154],[102.424565,32.233198],[102.425297,32.233276],[102.426057,32.233454],[102.426517,32.233562],[102.427028,32.233792],[102.427614,32.234056],[102.428109,32.234279],[102.428598,32.234556],[102.428998,32.234783],[102.429395,32.234958],[102.429741,32.235167],[102.430175,32.235429],[102.430659,32.235721],[102.431154,32.23602],[102.431821,32.236423],[102.432415,32.236781],[102.432801,32.237072],[102.433231,32.237395],[102.433618,32.237687],[102.433961,32.237949],[102.434286,32.238198],[102.43467,32.238491],[102.434893,32.238843],[102.435111,32.239185],[102.43535,32.239616],[102.435513,32.239911],[102.435746,32.240476],[102.436012,32.241121],[102.436197,32.24157],[102.436425,32.242124],[102.436524,32.242362],[102.436598,32.242544],[102.436716,32.242829],[102.436897,32.243267],[102.43712,32.243808],[102.437305,32.244257],[102.437409,32.244509],[102.437561,32.244879],[102.437653,32.245144],[102.437759,32.245448],[102.437881,32.245799],[102.437776,32.246008],[102.437652,32.246254],[102.437637,32.246283],[102.43739,32.246546],[102.437136,32.246815],[102.437004,32.246956],[102.436843,32.247229],[102.436687,32.247494],[102.436559,32.247711],[102.436461,32.247878],[102.4364,32.247982],[102.436359,32.248052],[102.436342,32.248671],[102.43699,32.24993],[102.437021,32.249991],[102.437106,32.250155],[102.43736,32.250654],[102.437761,32.251441],[102.437815,32.251581],[102.438039,32.252164],[102.438405,32.253118],[102.438638,32.254395],[102.439364,32.255878],[102.439525,32.256395],[102.439581,32.256575],[102.439681,32.256895],[102.439515,32.257349],[102.438964,32.257827],[102.438868,32.258063],[102.438634,32.258636],[102.438666,32.259208],[102.438685,32.25955],[102.438684,32.260357],[102.438684,32.260652],[102.438684,32.260953],[102.439117,32.261941],[102.440476,32.262784],[102.441138,32.263809],[102.441852,32.264378],[102.442676,32.265112],[102.443079,32.265806],[102.443412,32.266237],[102.443397,32.266791],[102.44334,32.267658],[102.443329,32.267833],[102.443258,32.268332],[102.443246,32.268412],[102.443138,32.269167],[102.443232,32.269919],[102.443212,32.270637],[102.443153,32.271353],[102.442814,32.272488],[102.442715,32.273302],[102.442676,32.273379],[102.442267,32.274206],[102.441318,32.275166],[102.440295,32.276059],[102.440265,32.276111],[102.440042,32.276506],[102.439729,32.277058],[102.439512,32.277416],[102.439146,32.278018],[102.439004,32.278251],[102.438982,32.278347],[102.438884,32.278774],[102.438861,32.278874],[102.438698,32.279582],[102.4387,32.279674],[102.438715,32.280333],[102.438138,32.281807],[102.438077,32.281961],[102.437764,32.28276],[102.437639,32.283096],[102.437464,32.283566],[102.437437,32.283638],[102.43739,32.283764],[102.436614,32.285412],[102.436418,32.286909],[102.436342,32.287743],[102.436334,32.287824],[102.436307,32.288114],[102.436235,32.288407],[102.436202,32.288543],[102.436194,32.288578],[102.436182,32.288624],[102.436169,32.288678],[102.435917,32.289704],[102.436036,32.290947],[102.436316,32.291898],[102.436507,32.293305],[102.436708,32.294353],[102.436747,32.295033],[102.436772,32.295461],[102.436785,32.295692],[102.437007,32.297452],[102.437037,32.297687],[102.436929,32.298794],[102.436959,32.300459],[102.436964,32.301633],[102.436629,32.302605],[102.436339,32.30335],[102.436223,32.30475],[102.435919,32.305984],[102.435335,32.307636],[102.435152,32.308676],[102.434708,32.309417],[102.434185,32.310287],[102.433662,32.311092],[102.43301,32.312416],[102.432892,32.313138],[102.432873,32.31325],[102.432871,32.313262],[102.432874,32.313331],[102.432875,32.313348],[102.432875,32.313349],[102.432877,32.313359],[102.432877,32.313361],[102.432878,32.313389],[102.432948,32.314634],[102.433116,32.315485],[102.433206,32.316368],[102.433846,32.317747],[102.434105,32.318304],[102.434182,32.318469],[102.434412,32.318963],[102.434554,32.31927],[102.434672,32.319572],[102.434873,32.320088],[102.435123,32.320905],[102.435498,32.322131],[102.43588,32.323124],[102.435809,32.32385],[102.435787,32.324072],[102.435784,32.324108],[102.435761,32.324933],[102.435756,32.325081],[102.435736,32.325798],[102.435735,32.325853],[102.435728,32.326079],[102.436313,32.327135],[102.436392,32.328078],[102.436403,32.328213],[102.436415,32.328355],[102.436481,32.328474],[102.436548,32.328594],[102.436634,32.32875],[102.436744,32.328948],[102.43685,32.329139],[102.436936,32.329295],[102.437047,32.329495],[102.43713,32.329646],[102.437177,32.32987],[102.437211,32.330039],[102.437252,32.330237],[102.437254,32.330243],[102.437551,32.331684],[102.437515,32.332959],[102.437296,32.333477],[102.437072,32.333964],[102.436784,32.334713],[102.436948,32.335206],[102.437005,32.335257],[102.437413,32.33562],[102.437419,32.335626],[102.437468,32.33567],[102.437505,32.335685],[102.437611,32.335728],[102.437753,32.335786],[102.438076,32.335918],[102.43883,32.336226],[102.440769,32.336831],[102.441061,32.336939],[102.441245,32.337007],[102.441275,32.337018],[102.441805,32.337214],[102.444552,32.338229],[102.444639,32.338395],[102.444719,32.338546],[102.444737,32.338582],[102.444755,32.338616],[102.444765,32.338635],[102.445203,32.33947],[102.446265,32.341494],[102.44698,32.343262],[102.447546,32.344897],[102.447984,32.345262],[102.448742,32.345895],[102.449134,32.346058],[102.449219,32.346108],[102.449228,32.346117],[102.449363,32.346021],[102.449807,32.346111],[102.450239,32.346387],[102.450444,32.346518],[102.45045,32.346521],[102.450575,32.346601],[102.450859,32.346782],[102.451698,32.346864],[102.453604,32.347097],[102.454452,32.347055],[102.454496,32.347052],[102.454523,32.347051],[102.455753,32.346816],[102.455953,32.34682],[102.456977,32.346841],[102.458579,32.347678],[102.458786,32.347787],[102.460597,32.348667],[102.462705,32.349879],[102.464668,32.350827],[102.466106,32.351376],[102.467467,32.351923],[102.468904,32.352536],[102.470346,32.352955],[102.470661,32.353029],[102.471258,32.353168],[102.472326,32.353254],[102.473468,32.353472],[102.47458,32.354728],[102.475767,32.356051],[102.476598,32.356457],[102.478407,32.357402],[102.479785,32.358482],[102.480688,32.359019],[102.481338,32.359864],[102.482039,32.361072],[102.482135,32.362009],[102.482273,32.363674],[102.482675,32.364617],[102.483433,32.365983],[102.484561,32.367252],[102.485027,32.368093],[102.48628,32.369261],[102.486611,32.370566],[102.486269,32.371858],[102.486108,32.373257],[102.486154,32.37383],[102.487249,32.374059],[102.488027,32.374698],[102.488845,32.376117],[102.490394,32.377654],[102.490542,32.378956],[102.490509,32.38015],[102.490598,32.381346],[102.491049,32.382758],[102.491141,32.383851],[102.491462,32.385519],[102.491056,32.386914],[102.490778,32.390337],[102.490554,32.391787],[102.490756,32.393349],[102.490781,32.394648],[102.490508,32.395682],[102.48943,32.397011],[102.488665,32.398086],[102.487793,32.39864],[102.485717,32.400625],[102.483981,32.401421],[102.48292,32.402127],[102.482146,32.403566],[102.481929,32.404757],[102.481957,32.405952],[102.481934,32.406782],[102.481535,32.407917],[102.481502,32.409111],[102.481512,32.41093],[102.481419,32.412071],[102.480722,32.415121],[102.480625,32.416418],[102.480701,32.418082],[102.480725,32.419433],[102.480743,32.420991],[102.481169,32.423285],[102.481591,32.425735],[102.482403,32.427362],[102.482739,32.428511],[102.48343,32.430083],[102.484503,32.431143],[102.485528,32.431735],[102.48649,32.432378],[102.487322,32.433277],[102.488331,32.43444],[102.490313,32.435882],[102.491259,32.437096],[102.491415,32.438086],[102.491511,32.439075],[102.492023,32.440487],[102.492528,32.44216],[102.492802,32.443308],[102.493447,32.444359],[102.493962,32.445668],[102.494777,32.447191],[102.495789,32.44825],[102.496884,32.448531],[102.498921,32.448001],[102.499732,32.447445],[102.500299,32.446213],[102.501265,32.445927],[102.501934,32.445535],[102.502618,32.444584],[102.50465,32.442494],[102.506141,32.440494],[102.507601,32.43961],[102.509176,32.438931],[102.510628,32.438351],[102.511793,32.437308],[102.513027,32.435963],[102.514031,32.434258],[102.514308,32.432894],[102.513938,32.43111],[102.512401,32.428239],[102.511394,32.425733],[102.510669,32.423791],[102.510708,32.422371],[102.510749,32.422294],[102.511223,32.421402],[102.511236,32.421379],[102.511246,32.421359],[102.511263,32.421327],[102.511323,32.421215],[102.511402,32.421066],[102.511778,32.420464],[102.512634,32.419771],[102.513727,32.419184],[102.516419,32.419186],[102.518773,32.419233],[102.518846,32.419234],[102.520065,32.419258],[102.521922,32.419193],[102.523122,32.419217],[102.523884,32.419232],[102.52509,32.419256],[102.526508,32.419228],[102.527664,32.419205],[102.527846,32.419192],[102.528362,32.419155],[102.529342,32.419085],[102.531386,32.41872],[102.532553,32.418385],[102.532712,32.41834],[102.533156,32.418286],[102.533943,32.418191],[102.534201,32.418159],[102.534512,32.418121],[102.535523,32.418344],[102.536887,32.418777],[102.538407,32.419519],[102.538835,32.419728],[102.538959,32.419788],[102.540902,32.420733],[102.543321,32.421947],[102.543751,32.422217],[102.544321,32.422575],[102.546463,32.423992],[102.54649,32.42401],[102.546613,32.424091],[102.5482,32.425063],[102.548362,32.425162],[102.54848,32.425234],[102.548491,32.425241],[102.548496,32.425244],[102.548521,32.425262],[102.548552,32.425285],[102.548567,32.425296],[102.548572,32.4253],[102.548578,32.425304],[102.550491,32.426704],[102.55254,32.428367],[102.553757,32.429224],[102.553949,32.429358],[102.556042,32.431289],[102.556984,32.432157],[102.558222,32.432841],[102.560255,32.433513],[102.561318,32.433826],[102.562118,32.434004],[102.562561,32.434597],[102.562842,32.435544],[102.563736,32.436471],[102.564399,32.437458],[102.565107,32.438186],[102.565743,32.438718],[102.566501,32.439025],[102.567794,32.439374],[102.569919,32.440065],[102.571286,32.440513],[102.573031,32.441131],[102.574966,32.441786],[102.576027,32.442228],[102.577781,32.442489],[102.579065,32.44266],[102.579498,32.442717],[102.580868,32.44287],[102.581255,32.442913],[102.583009,32.443174],[102.584527,32.44369],[102.586495,32.444572],[102.588311,32.445386],[102.589935,32.446262],[102.591138,32.447097],[102.592072,32.447959],[102.592622,32.448911],[102.593035,32.449211],[102.59391,32.449423],[102.59475,32.449504],[102.595746,32.44949],[102.596137,32.449205],[102.596761,32.448763],[102.598182,32.448628],[102.598772,32.448623],[102.598918,32.448621],[102.599103,32.44862],[102.599369,32.448618],[102.600517,32.448672],[102.601208,32.44862],[102.601388,32.448466],[102.601593,32.44829],[102.601913,32.448017],[102.603164,32.447034],[102.604169,32.446696],[102.606124,32.446636],[102.607959,32.446736],[102.609444,32.447056],[102.61112,32.447413],[102.612682,32.447702],[102.61341,32.447871],[102.61394,32.447994],[102.614205,32.448056],[102.614386,32.448063],[102.61501,32.448087],[102.61585,32.44812],[102.61711,32.448241],[102.618083,32.448202],[102.618222,32.448197],[102.619196,32.448167],[102.619525,32.448157],[102.620972,32.448476],[102.62145,32.448637],[102.622301,32.448924],[102.623403,32.449237],[102.624124,32.44951],[102.625067,32.450048],[102.625449,32.450087],[102.626046,32.449222],[102.626744,32.448499],[102.626755,32.448488],[102.626764,32.448476],[102.627062,32.448116],[102.627704,32.447337],[102.628138,32.446858],[102.629403,32.446785],[102.630589,32.44684],[102.631846,32.447091],[102.632531,32.447266],[102.633019,32.447665],[102.633699,32.448002],[102.634037,32.448268],[102.634595,32.448896],[102.635334,32.449916],[102.635926,32.450707],[102.636745,32.451631],[102.637417,32.452261],[102.638217,32.452438],[102.639168,32.452684],[102.640118,32.452994],[102.641417,32.453083],[102.64168,32.453283],[102.641667,32.453802],[102.642062,32.454784],[102.642086,32.455336],[102.643154,32.455518],[102.644645,32.455777],[102.645651,32.456373],[102.646926,32.45709],[102.648555,32.458134],[102.648767,32.458034],[102.651823,32.45676],[102.652817,32.456279],[102.654573,32.455181],[102.655635,32.455067],[102.656853,32.455057],[102.657613,32.454505],[102.65831,32.453353],[102.658992,32.4528],[102.659429,32.452575],[102.660497,32.452295],[102.66137,32.452311],[102.661713,32.452318],[102.662136,32.452314],[102.662891,32.452306],[102.66374,32.452888],[102.665082,32.454111],[102.666433,32.455002],[102.667513,32.455754],[102.669418,32.456488],[102.671048,32.457217],[102.672094,32.457769],[102.672349,32.458506],[102.67209,32.459433],[102.671722,32.461523],[102.671691,32.462721],[102.671317,32.463546],[102.671747,32.463587],[102.672971,32.463344],[102.673834,32.46336],[102.675509,32.46389],[102.676399,32.464406],[102.677165,32.465119],[102.678424,32.466573],[102.679419,32.467557],[102.679673,32.468394],[102.680198,32.469335],[102.680831,32.469147],[102.681996,32.468137],[102.682959,32.467322],[102.683992,32.466842],[102.685268,32.4661],[102.686659,32.465427],[102.688008,32.464885],[102.689386,32.464744],[102.691043,32.464409],[102.691914,32.464125],[102.693445,32.464153],[102.694665,32.464042],[102.696304,32.464007],[102.696354,32.464006],[102.696979,32.464118],[102.698109,32.464471],[102.699758,32.464468],[102.701285,32.464629],[102.702303,32.464747],[102.703025,32.464161],[102.70442,32.463321],[102.705694,32.462646],[102.705837,32.462569],[102.707325,32.461777],[102.707743,32.461523],[102.70796,32.461391],[102.708442,32.461098],[102.709838,32.460224],[102.711503,32.459589],[102.712851,32.459081],[102.713919,32.458767],[102.7153,32.458493],[102.715839,32.458306],[102.717122,32.45786],[102.718069,32.457644],[102.718778,32.457557],[102.718971,32.457495],[102.719038,32.45753],[102.719421,32.45773],[102.719804,32.45793],[102.720187,32.45813],[102.720484,32.458292],[102.72078,32.458455],[102.721076,32.458617],[102.721076,32.458617],[102.721076,32.458618],[102.72121,32.458703],[102.721395,32.458822],[102.721395,32.458822],[102.721396,32.458822],[102.721596,32.458976],[102.721796,32.459129],[102.722062,32.459472],[102.722308,32.459787],[102.722556,32.460105],[102.722805,32.460424],[102.723109,32.460712],[102.723414,32.461001],[102.723718,32.46129],[102.723912,32.46144],[102.724215,32.461674],[102.724518,32.461909],[102.724837,32.462175],[102.725156,32.462442],[102.725403,32.46257],[102.725651,32.462699],[102.726048,32.462863],[102.726445,32.463027],[102.726843,32.463191],[102.72724,32.463355],[102.727607,32.463443],[102.727975,32.46353],[102.728342,32.463618],[102.72871,32.463705],[102.729077,32.463793],[102.729464,32.463963],[102.729851,32.464133],[102.730127,32.464255],[102.730403,32.464376],[102.730657,32.464488],[102.731,32.464685],[102.731342,32.464883],[102.731685,32.46508],[102.732028,32.465278],[102.732315,32.465468],[102.732603,32.465659],[102.732891,32.465849],[102.733179,32.466039],[102.733517,32.466256],[102.733855,32.466472],[102.734193,32.466689],[102.734531,32.466905],[102.734654,32.466915],[102.734988,32.466867],[102.73518,32.466712],[102.735235,32.466667],[102.735514,32.466379],[102.735793,32.46609],[102.736073,32.465801],[102.736321,32.465624],[102.73657,32.465447],[102.736818,32.465269],[102.736837,32.465252],[102.737156,32.464969],[102.737474,32.464685],[102.737786,32.464479],[102.737832,32.464449],[102.737995,32.464297],[102.738357,32.46415],[102.738719,32.464002],[102.739147,32.463917],[102.739518,32.464002],[102.739651,32.464013],[102.739675,32.464012],[102.739993,32.464036],[102.740311,32.464061],[102.740352,32.464071],[102.740441,32.464079],[102.740548,32.464119],[102.740923,32.464261],[102.741298,32.464402],[102.741655,32.464535],[102.742012,32.464669],[102.742212,32.464726],[102.742335,32.464726],[102.742497,32.46464],[102.74265,32.464528],[102.742897,32.464346],[102.743145,32.464165],[102.743392,32.463983],[102.743763,32.463788],[102.744134,32.463593],[102.744553,32.463441],[102.744801,32.463384],[102.745134,32.463374],[102.745464,32.463412],[102.745794,32.46345],[102.746123,32.463488],[102.746287,32.463552],[102.746522,32.463644],[102.746823,32.463761],[102.747123,32.463879],[102.747432,32.463979],[102.747742,32.464079],[102.747973,32.464103],[102.748275,32.464136],[102.748627,32.464207],[102.748979,32.464278],[102.749179,32.464221],[102.749341,32.464155],[102.749565,32.463957],[102.749578,32.463945],[102.749807,32.463726],[102.750031,32.463655],[102.750254,32.463584],[102.750511,32.463536],[102.750768,32.463488],[102.75113,32.463469],[102.75135,32.463488],[102.751473,32.463498],[102.751787,32.463498],[102.752148,32.463403],[102.752407,32.463352],[102.752681,32.463298],[102.752986,32.463284],[102.75329,32.46327],[102.753592,32.4632],[102.753893,32.46313],[102.754272,32.463043],[102.754651,32.462955],[102.754694,32.462948],[102.755034,32.46289],[102.755375,32.462832],[102.755689,32.462784],[102.755993,32.462813],[102.756118,32.462857],[102.756498,32.462994],[102.756679,32.463003],[102.756907,32.462955],[102.757288,32.462917],[102.757592,32.462984],[102.757897,32.463051],[102.758259,32.463212],[102.758582,32.463251],[102.758968,32.46327],[102.759353,32.463289],[102.759715,32.463327],[102.760048,32.463554],[102.760077,32.463574],[102.760372,32.463815],[102.760667,32.464056],[102.760962,32.464297],[102.761238,32.464483],[102.761514,32.464669],[102.761536,32.464681],[102.761856,32.46485],[102.762132,32.464973],[102.762504,32.465059],[102.76278,32.465126],[102.763056,32.465192],[102.763408,32.465211],[102.76376,32.46523],[102.764112,32.465325],[102.764464,32.465449],[102.764693,32.465497],[102.764988,32.465516],[102.765205,32.46558],[102.765422,32.465645],[102.765422,32.465645],[102.765422,32.465645],[102.765547,32.465686],[102.765721,32.465744],[102.765721,32.465745],[102.765721,32.465745],[102.766039,32.465868],[102.766358,32.465992],[102.766625,32.466249],[102.766798,32.466407],[102.766971,32.466565],[102.767291,32.466858],[102.766968,32.467029],[102.764686,32.468174],[102.763549,32.468578],[102.762228,32.468925],[102.761659,32.469075],[102.760208,32.469527],[102.757623,32.470277],[102.755668,32.470826],[102.754269,32.471703],[102.752602,32.473318],[102.750992,32.475094],[102.750684,32.475398],[102.750094,32.47598],[102.748555,32.477438],[102.746753,32.479422],[102.745918,32.480256],[102.743611,32.482391],[102.742389,32.483696],[102.740655,32.485416],[102.740527,32.485544],[102.738793,32.487293],[102.736673,32.48943],[102.734052,32.491559],[102.733208,32.492503],[102.732184,32.493648],[102.731148,32.495009],[102.730612,32.495811],[102.729782,32.497054],[102.728646,32.498293],[102.728629,32.498311],[102.72856,32.498386],[102.728511,32.49844],[102.728492,32.49846],[102.728485,32.498468],[102.728471,32.498483],[102.728395,32.498566],[102.728367,32.498597],[102.728166,32.498816],[102.727914,32.49909],[102.726435,32.500656],[102.724504,32.502743],[102.724398,32.502835],[102.72393,32.50324],[102.723844,32.503314],[102.723843,32.503314],[102.723842,32.503315],[102.723817,32.503337],[102.723805,32.503348],[102.723691,32.503446],[102.723365,32.503728],[102.722519,32.504459],[102.722037,32.504752],[102.721877,32.504849],[102.721875,32.50485],[102.721873,32.504851],[102.721542,32.505053],[102.721438,32.505116],[102.721414,32.50513],[102.721334,32.505179],[102.72121,32.505255],[102.721208,32.505255],[102.721208,32.505256],[102.721117,32.505311],[102.721051,32.505351],[102.720993,32.505386],[102.720291,32.505904],[102.720151,32.505862],[102.720048,32.505831],[102.720017,32.505821],[102.720007,32.505818],[102.720007,32.505818],[102.720006,32.505818],[102.719977,32.505809],[102.719934,32.505796],[102.719359,32.505622],[102.71921,32.505691],[102.719204,32.505693],[102.71919,32.5057],[102.719185,32.505702],[102.718915,32.505826],[102.718782,32.506142],[102.718745,32.50632],[102.718639,32.50683],[102.718252,32.5073],[102.717491,32.507658],[102.716892,32.507487],[102.716857,32.507477],[102.7166,32.507404],[102.716496,32.507374],[102.71638,32.507319],[102.71622,32.507243],[102.716046,32.50716],[102.715942,32.507111],[102.715862,32.507073],[102.71583,32.507058],[102.715692,32.506992],[102.715631,32.506963],[102.715568,32.506933],[102.714991,32.507453],[102.714349,32.508078],[102.713785,32.508121],[102.713287,32.508006],[102.713075,32.507869],[102.713074,32.507869],[102.713073,32.507868],[102.713047,32.507852],[102.713025,32.507837],[102.712937,32.507781],[102.712847,32.507723],[102.712821,32.507706],[102.712609,32.507569],[102.712168,32.507667],[102.712118,32.507679],[102.711979,32.507714],[102.711945,32.507722],[102.711917,32.507729],[102.711916,32.507729],[102.711915,32.507729],[102.71116,32.507914],[102.710723,32.508037],[102.71031,32.508154],[102.710292,32.508174],[102.710504,32.50832],[102.71083,32.508545],[102.710882,32.50897],[102.710806,32.5095],[102.710493,32.509494],[102.710127,32.509116],[102.710063,32.509093],[102.710039,32.509084],[102.709979,32.509063],[102.709954,32.509053],[102.709887,32.509029],[102.709817,32.509004],[102.709529,32.509284],[102.709496,32.509317],[102.709494,32.50933],[102.70949,32.509363],[102.709487,32.509387],[102.709475,32.50948],[102.709417,32.509952],[102.709095,32.510318],[102.708462,32.510571],[102.708224,32.510567],[102.708024,32.510563],[102.70764,32.510325],[102.707622,32.510314],[102.707532,32.510258],[102.707499,32.510238],[102.707407,32.510181],[102.7071,32.509963],[102.70694,32.510034],[102.706669,32.510155],[102.706659,32.51016],[102.70656,32.510204],[102.706534,32.510216],[102.706532,32.510217],[102.706529,32.510218],[102.706572,32.511015],[102.706493,32.51165],[102.706044,32.512066],[102.705732,32.512007],[102.705623,32.511782],[102.705623,32.511782],[102.705622,32.511781],[102.705622,32.511781],[102.705612,32.51176],[102.70556,32.511652],[102.705536,32.511604],[102.705316,32.511151],[102.704959,32.510401],[102.704482,32.510437],[102.704444,32.51044],[102.704394,32.510444],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704323,32.510627],[102.704126,32.511129],[102.703558,32.511331],[102.70256,32.511154],[102.702492,32.511159],[102.702484,32.51116],[102.702421,32.511165],[102.702386,32.511168],[102.702384,32.511168],[102.702383,32.511168],[102.701667,32.511226],[102.701654,32.511227],[102.70162,32.51123],[102.70153,32.511237],[102.701513,32.511239],[102.701493,32.51124],[102.70036,32.511485],[102.699908,32.512007],[102.700016,32.512699],[102.700255,32.513128],[102.700242,32.513658],[102.699918,32.514077],[102.698342,32.514473],[102.697181,32.514664],[102.697136,32.514672],[102.697061,32.514684],[102.696895,32.514711],[102.696545,32.514754],[102.696356,32.514778],[102.695765,32.51485],[102.695268,32.514682],[102.695342,32.514081],[102.695344,32.514065],[102.695347,32.514047],[102.695347,32.514047],[102.695347,32.514046],[102.695447,32.513931],[102.695492,32.513878],[102.695798,32.513524],[102.695699,32.513401],[102.695663,32.513356],[102.695617,32.513298],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695495,32.513147],[102.694769,32.513134],[102.694744,32.513133],[102.69471,32.513123],[102.694688,32.513116],[102.694515,32.513064],[102.694498,32.513059],[102.694386,32.513025],[102.694049,32.512923],[102.694022,32.512914],[102.693998,32.512907],[102.693927,32.512948],[102.693926,32.512948],[102.693926,32.512948],[102.693915,32.512954],[102.693903,32.512961],[102.693362,32.513267],[102.692987,32.51326],[102.692613,32.5132],[102.692448,32.513257],[102.691931,32.513438],[102.691602,32.513553],[102.69077,32.514228],[102.690441,32.514858],[102.690046,32.514998],[102.689303,32.515262],[102.688716,32.51535],[102.688046,32.515451],[102.687724,32.515764],[102.687266,32.516551],[102.686701,32.516594],[102.686671,32.516504],[102.686655,32.516456],[102.686651,32.516445],[102.686625,32.516366],[102.686613,32.516331],[102.686606,32.51631],[102.686468,32.5159],[102.686179,32.515759],[102.686095,32.515718],[102.686083,32.515712],[102.68597,32.515657],[102.685954,32.515649],[102.685788,32.515569],[102.684905,32.515818],[102.684625,32.515951],[102.68351,32.516482],[102.68311,32.517089],[102.682923,32.517373],[102.682352,32.517681],[102.681919,32.517461],[102.681926,32.51717],[102.681929,32.517076],[102.681933,32.516899],[102.681933,32.516894],[102.681934,32.516877],[102.681434,32.516815],[102.681022,32.51715],[102.681017,32.517154],[102.680962,32.517198],[102.680957,32.517203],[102.680882,32.517263],[102.680855,32.517285],[102.680667,32.517438],[102.680585,32.518179],[102.680821,32.518767],[102.680557,32.519293],[102.680065,32.518912],[102.679507,32.51869],[102.679367,32.518942],[102.679245,32.519163],[102.679067,32.519549],[102.679013,32.519669],[102.678979,32.519741],[102.678266,32.520027],[102.678163,32.520069],[102.677981,32.520142],[102.677587,32.520299],[102.677006,32.520979],[102.676171,32.521759],[102.675023,32.522587],[102.67383,32.522671],[102.673602,32.522737],[102.67358,32.522743],[102.673464,32.522776],[102.673439,32.522784],[102.673136,32.52287],[102.673223,32.522998],[102.673237,32.523004],[102.673251,32.52301],[102.673382,32.523068],[102.673403,32.523078],[102.673758,32.523236],[102.673671,32.523595],[102.672697,32.523936],[102.67211,32.524252],[102.671554,32.524486],[102.671291,32.524597],[102.670986,32.524491],[102.670793,32.524424],[102.670553,32.524212],[102.670528,32.524189],[102.670513,32.524176],[102.670492,32.524157],[102.670432,32.524104],[102.670432,32.524104],[102.670431,32.524103],[102.670378,32.524057],[102.669892,32.523459],[102.669558,32.52293],[102.669515,32.522935],[102.669513,32.522936],[102.66951,32.522936],[102.669403,32.522951],[102.6694,32.522951],[102.669399,32.522951],[102.669367,32.522955],[102.669294,32.522965],[102.669132,32.522987],[102.668774,32.523406],[102.669075,32.523706],[102.66941,32.524202],[102.66932,32.524691],[102.669042,32.52498],[102.668617,32.525005],[102.668159,32.5248],[102.668065,32.524686],[102.668035,32.52465],[102.668012,32.524621],[102.667961,32.524559],[102.667961,32.524559],[102.667961,32.524558],[102.667951,32.524547],[102.66786,32.524435],[102.667492,32.524569],[102.667477,32.524574],[102.667431,32.524591],[102.6674,32.524619],[102.667395,32.524624],[102.66728,32.524732],[102.666917,32.525072],[102.666295,32.525224],[102.666055,32.525546],[102.665926,32.526067],[102.665566,32.526551],[102.664905,32.526735],[102.664518,32.52676],[102.664161,32.527146],[102.66307,32.527518],[102.661943,32.527824],[102.661704,32.528114],[102.66135,32.528369],[102.660922,32.528492],[102.660698,32.528418],[102.66068,32.528412],[102.660672,32.52841],[102.660566,32.528375],[102.660548,32.528369],[102.660501,32.528353],[102.66008,32.528215],[102.660071,32.528223],[102.660043,32.528249],[102.66003,32.528261],[102.659953,32.528333],[102.659942,32.528343],[102.659902,32.528379],[102.659803,32.528471],[102.659987,32.528834],[102.659938,32.529226],[102.659581,32.529579],[102.658259,32.529947],[102.657409,32.529996],[102.657263,32.52996],[102.657244,32.529955],[102.657237,32.529953],[102.65713,32.529926],[102.657123,32.529925],[102.656565,32.529784],[102.65641,32.529815],[102.656314,32.529834],[102.655669,32.529963],[102.655662,32.529965],[102.655534,32.52999],[102.655517,32.529994],[102.654879,32.53081],[102.654094,32.531286],[102.653944,32.531337],[102.653643,32.53144],[102.653072,32.531635],[102.651862,32.531816],[102.651536,32.531764],[102.650709,32.531631],[102.650693,32.531584],[102.65053,32.531097],[102.650534,32.531043],[102.650535,32.531031],[102.650536,32.531019],[102.650545,32.530898],[102.650546,32.530877],[102.650605,32.530077],[102.650322,32.529826],[102.650269,32.52985],[102.650259,32.529855],[102.650175,32.529894],[102.650146,32.529907],[102.649875,32.530032],[102.649638,32.53014],[102.649002,32.530496],[102.647929,32.530966],[102.646955,32.531316],[102.646118,32.531954],[102.645453,32.532333],[102.645388,32.532371],[102.645358,32.532387],[102.645329,32.532404],[102.645286,32.532429],[102.645275,32.532438],[102.645266,32.532445],[102.64499,32.532668],[102.645046,32.532714],[102.645294,32.532915],[102.645509,32.533089],[102.645557,32.533128],[102.64564,32.533307],[102.645627,32.533787],[102.645269,32.533806],[102.644856,32.533577],[102.644796,32.533544],[102.644769,32.533529],[102.644706,32.533494],[102.644682,32.533481],[102.644681,32.53348],[102.644681,32.53348],[102.64468,32.53348],[102.644393,32.533265],[102.644197,32.533295],[102.644196,32.533295],[102.644196,32.533295],[102.644091,32.533311],[102.64409,32.533311],[102.64408,32.533313],[102.643938,32.533334],[102.643625,32.533382],[102.643052,32.533827],[102.643167,32.534021],[102.643403,32.534187],[102.643595,32.534421],[102.643747,32.534606],[102.643747,32.534607],[102.643747,32.534607],[102.643783,32.534908],[102.643805,32.535024],[102.643814,32.535071],[102.643861,32.535323],[102.643453,32.535653],[102.643005,32.535605],[102.643002,32.535605],[102.643001,32.535604],[102.642943,32.535598],[102.642909,32.535594],[102.642891,32.535593],[102.642613,32.535562],[102.642035,32.535411],[102.641925,32.535382],[102.641818,32.535354],[102.641818,32.535354],[102.641735,32.535332],[102.641687,32.535319],[102.641299,32.535284],[102.641281,32.535282],[102.641211,32.535275],[102.641096,32.535265],[102.640967,32.535253],[102.640669,32.535225],[102.640672,32.535242],[102.640675,32.535254],[102.640694,32.535356],[102.640747,32.53564],[102.640563,32.5359],[102.640427,32.535948],[102.640397,32.535959],[102.640236,32.536015],[102.640215,32.536023],[102.64016,32.536042],[102.64012,32.536042],[102.639752,32.536035],[102.639724,32.536034],[102.63956,32.536031],[102.639527,32.536031],[102.639376,32.536028],[102.639317,32.536027],[102.638913,32.536207],[102.638812,32.536694],[102.638761,32.536728],[102.638676,32.536787],[102.638603,32.536836],[102.638587,32.536847],[102.638587,32.536848],[102.638586,32.536848],[102.638572,32.536858],[102.638505,32.536904],[102.638494,32.536911],[102.638493,32.536912],[102.638376,32.536992],[102.638376,32.536992],[102.638375,32.536993],[102.638283,32.537056],[102.638224,32.537096],[102.637999,32.537479],[102.637977,32.537517],[102.637927,32.537602],[102.637863,32.537711],[102.637853,32.537728],[102.637723,32.537886],[102.637682,32.537935],[102.637676,32.537942],[102.637616,32.538015],[102.637606,32.538026],[102.637599,32.538036],[102.637578,32.538061],[102.637513,32.538057],[102.637285,32.538045],[102.637269,32.538044],[102.637093,32.538035],[102.637073,32.538034],[102.636613,32.538009],[102.636583,32.538007],[102.636515,32.538003],[102.636483,32.538003],[102.636457,32.538002],[102.636312,32.538],[102.635849,32.537991],[102.635572,32.538437],[102.635523,32.538508],[102.635512,32.538524],[102.635443,32.538626],[102.635439,32.538632],[102.63535,32.538763],[102.635295,32.538845],[102.634716,32.538909],[102.634383,32.539042],[102.634369,32.539048],[102.63427,32.539088],[102.634269,32.539088],[102.634268,32.539088],[102.634267,32.539116],[102.634263,32.539258],[102.634261,32.539351],[102.63426,32.539366],[102.63426,32.539389],[102.634332,32.539479],[102.634336,32.539484],[102.634465,32.539644],[102.634475,32.539656],[102.634502,32.539652],[102.634853,32.539595],[102.635012,32.539569],[102.635099,32.539555],[102.635224,32.539591],[102.635234,32.539594],[102.635296,32.539612],[102.635763,32.539745],[102.635773,32.539748],[102.635803,32.539756],[102.635805,32.539763],[102.635849,32.539881],[102.635864,32.539923],[102.635927,32.540097],[102.635744,32.540319],[102.635162,32.540337],[102.635121,32.540338],[102.634989,32.540342],[102.634727,32.540324],[102.634704,32.540323],[102.634236,32.540291],[102.634144,32.540353],[102.633965,32.540473],[102.633956,32.5405],[102.633821,32.540884],[102.633902,32.541164],[102.633902,32.541164],[102.633902,32.541166],[102.633928,32.541255],[102.633928,32.541256],[102.633933,32.541275],[102.633966,32.541389],[102.633984,32.541451],[102.634002,32.541525],[102.634022,32.541607],[102.634025,32.541618],[102.634028,32.54163],[102.634043,32.541692],[102.634043,32.541694],[102.634044,32.541696],[102.634104,32.541942],[102.633512,32.542532],[102.632525,32.542927],[102.632235,32.542876],[102.632217,32.542873],[102.632135,32.542859],[102.632132,32.542858],[102.63213,32.542858],[102.632039,32.542842],[102.631989,32.54277],[102.631935,32.542694],[102.631934,32.542692],[102.631933,32.54269],[102.631826,32.542538],[102.631837,32.542473],[102.63184,32.542455],[102.631842,32.542444],[102.631869,32.542291],[102.631889,32.542171],[102.631892,32.542158],[102.63193,32.541938],[102.631845,32.541759],[102.631836,32.54174],[102.63176,32.541581],[102.631678,32.541408],[102.631678,32.541408],[102.631678,32.541407],[102.631635,32.541408],[102.630901,32.541419],[102.630886,32.541419],[102.630884,32.541419],[102.630883,32.541419],[102.630881,32.541419],[102.630813,32.54142],[102.630765,32.541421],[102.630765,32.541421],[102.630756,32.541421],[102.630568,32.541424],[102.629999,32.541316],[102.629969,32.541311],[102.62988,32.541294],[102.629861,32.54129],[102.629685,32.541257],[102.629664,32.541304],[102.629571,32.54151],[102.629563,32.541528],[102.629517,32.541628],[102.629508,32.54165],[102.62945,32.541779],[102.629441,32.541815],[102.629349,32.542228],[102.629265,32.542271],[102.62922,32.542295],[102.629207,32.542302],[102.629114,32.54235],[102.629104,32.542355],[102.629047,32.542384],[102.628719,32.542554],[102.628708,32.54261],[102.628705,32.542621],[102.628685,32.542719],[102.628655,32.54286],[102.628621,32.543023],[102.628618,32.543041],[102.628567,32.543054],[102.628128,32.543169],[102.627813,32.543251],[102.626966,32.542985],[102.626669,32.542891],[102.62662,32.542915],[102.626593,32.542927],[102.626426,32.543006],[102.626403,32.543016],[102.626329,32.543051],[102.62613,32.543144],[102.625855,32.543477],[102.62537,32.543724],[102.625351,32.543734],[102.62531,32.543755],[102.62528,32.54377],[102.625001,32.543912],[102.624776,32.544049],[102.624695,32.544097],[102.624693,32.544098],[102.624692,32.544099],[102.624691,32.5441],[102.624451,32.544246],[102.624279,32.54435],[102.622941,32.544625],[102.62239,32.545329],[102.621734,32.545806],[102.6217,32.545832],[102.621648,32.545869],[102.621587,32.545914],[102.621511,32.545969],[102.621485,32.545988],[102.62146,32.546013],[102.621385,32.546088],[102.621333,32.546139],[102.621213,32.546259],[102.621212,32.54626],[102.621211,32.546261],[102.621171,32.546301],[102.620892,32.546578],[102.620664,32.54663],[102.620648,32.546634],[102.620533,32.546661],[102.620532,32.546661],[102.62053,32.546661],[102.620412,32.546688],[102.620133,32.546752],[102.619927,32.546707],[102.619825,32.546684],[102.619653,32.546646],[102.619616,32.546638],[102.619578,32.54663],[102.619383,32.546587],[102.618569,32.547173],[102.61838,32.547621],[102.618233,32.548144],[102.618076,32.549043],[102.617824,32.550203],[102.617631,32.550764],[102.617712,32.551066],[102.618283,32.551302],[102.618628,32.551647],[102.61853,32.552021],[102.618168,32.552277],[102.617194,32.552183],[102.617168,32.552177],[102.616737,32.552072],[102.616357,32.55198],[102.616033,32.552462],[102.616057,32.553252],[102.615821,32.553774],[102.614949,32.554847],[102.614437,32.555777],[102.614384,32.55592],[102.614365,32.555971],[102.614348,32.556017],[102.614332,32.556062],[102.614149,32.556561],[102.614135,32.557124],[102.61425,32.557803],[102.614545,32.558372],[102.614831,32.559317],[102.615034,32.560035],[102.615287,32.560529],[102.615703,32.560952],[102.615734,32.560985],[102.615762,32.561012],[102.616151,32.561409],[102.616296,32.56148],[102.616302,32.561483],[102.616353,32.561508],[102.616994,32.561823],[102.617028,32.561839],[102.617147,32.56201],[102.617148,32.56201],[102.617228,32.562125],[102.617354,32.562305],[102.617369,32.562326],[102.61737,32.562328],[102.617371,32.562329],[102.617405,32.562378],[102.617435,32.562421],[102.617455,32.562449],[102.617449,32.562674],[102.617223,32.562857],[102.617187,32.562887],[102.617086,32.562968],[102.616705,32.563109],[102.616523,32.563175],[102.616504,32.563183],[102.616316,32.563555],[102.616205,32.564417],[102.616144,32.565017],[102.616011,32.565504],[102.615988,32.565587],[102.615899,32.565915],[102.6159,32.565956],[102.615901,32.566006],[102.61592,32.56678],[102.615962,32.566833],[102.616059,32.56696],[102.616069,32.566972],[102.616119,32.567038],[102.616138,32.567062],[102.616478,32.567504],[102.617125,32.568231],[102.617211,32.56852],[102.617235,32.568598],[102.617237,32.568605],[102.617303,32.568825],[102.617329,32.568911],[102.617329,32.568932],[102.61733,32.569001],[102.617331,32.56903],[102.617347,32.569889],[102.617188,32.570863],[102.617127,32.571108],[102.617046,32.571433],[102.617039,32.571461],[102.616982,32.571949],[102.617373,32.572257],[102.618068,32.572834],[102.618411,32.573291],[102.618447,32.573593],[102.618232,32.573802],[102.61822,32.573814],[102.618214,32.573818],[102.618213,32.573818],[102.618213,32.573818],[102.618204,32.573824],[102.618086,32.573899],[102.618041,32.573927],[102.617779,32.574093],[102.617618,32.574196],[102.617617,32.574197],[102.617617,32.574197],[102.617588,32.574215],[102.617564,32.574246],[102.617547,32.574268],[102.617547,32.574268],[102.617546,32.574269],[102.617128,32.574808],[102.617024,32.57537],[102.616962,32.576045],[102.616933,32.577135],[102.617007,32.57732],[102.617135,32.577638],[102.617158,32.577697],[102.617264,32.577963],[102.617266,32.577968],[102.617266,32.577979],[102.617244,32.578794],[102.617495,32.5794],[102.617835,32.579564],[102.6179,32.579595],[102.617943,32.579616],[102.618065,32.579674],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618089,32.579725],[102.618191,32.57994],[102.618139,32.580202],[102.61809,32.580389],[102.617912,32.580468],[102.617675,32.580574],[102.617655,32.580583],[102.617559,32.580625],[102.617559,32.580625],[102.617559,32.580626],[102.617533,32.580637],[102.617281,32.580749],[102.617094,32.581122],[102.617205,32.581575],[102.61721,32.581597],[102.617214,32.581612],[102.617246,32.581645],[102.61735,32.581753],[102.617388,32.581793],[102.617473,32.581881],[102.617738,32.581961],[102.617747,32.582039],[102.61777,32.582225],[102.617774,32.582262],[102.61777,32.582433],[102.617768,32.582485],[102.617767,32.582521],[102.617765,32.5826],[102.617679,32.582635],[102.617522,32.582697],[102.617414,32.582741],[102.617406,32.582744],[102.617249,32.582799],[102.617226,32.582808],[102.6166,32.583029],[102.616367,32.583438],[102.616362,32.583475],[102.616362,32.583477],[102.616361,32.583478],[102.61636,32.583488],[102.616351,32.583557],[102.616346,32.583592],[102.616342,32.583623],[102.616311,32.58385],[102.616365,32.584163],[102.616381,32.584261],[102.616384,32.584277],[102.616389,32.584305],[102.616401,32.584379],[102.616404,32.584397],[102.616407,32.584412],[102.616427,32.584529],[102.616227,32.585352],[102.616278,32.585615],[102.61628,32.585623],[102.616338,32.585925],[102.616344,32.585956],[102.616352,32.585974],[102.616478,32.586297],[102.616519,32.586401],[102.616552,32.586486],[102.616534,32.586583],[102.616514,32.586694],[102.616449,32.587048],[102.616342,32.587288],[102.616305,32.58737],[102.616298,32.587384],[102.616253,32.587485],[102.616247,32.587499],[102.616242,32.587511],[102.616241,32.587512],[102.616241,32.587512],[102.616166,32.587681],[102.616333,32.58806],[102.616396,32.588181],[102.616442,32.58827],[102.616519,32.588418],[102.616522,32.588425],[102.616564,32.588505],[102.616629,32.58863],[102.616997,32.588719],[102.616998,32.588719],[102.616999,32.58872],[102.617029,32.588727],[102.617206,32.58877],[102.617207,32.58877],[102.617208,32.588771],[102.617467,32.588833],[102.617815,32.589103],[102.617765,32.589328],[102.617676,32.589356],[102.617661,32.589361],[102.617608,32.589378],[102.617561,32.589394],[102.617546,32.589399],[102.617158,32.589524],[102.617122,32.589536],[102.617074,32.589552],[102.616999,32.589576],[102.616972,32.589585],[102.616779,32.589647],[102.616592,32.59002],[102.6166,32.5901],[102.616607,32.59016],[102.616616,32.590252],[102.61662,32.590286],[102.616627,32.590359],[102.617152,32.590885],[102.617265,32.590998],[102.617276,32.59101],[102.617339,32.591066],[102.617358,32.591082],[102.617441,32.591156],[102.617462,32.591174],[102.61797,32.591624],[102.618629,32.5919],[102.618865,32.592067],[102.619065,32.592209],[102.619144,32.592549],[102.618648,32.592833],[102.61849,32.592893],[102.618389,32.592931],[102.618246,32.592986],[102.618143,32.593025],[102.617866,32.59313],[102.617563,32.593467],[102.617771,32.593939],[102.618056,32.594319],[102.618823,32.594552],[102.619408,32.59475],[102.619447,32.594821],[102.619482,32.594884],[102.619536,32.59498],[102.619583,32.595065],[102.619583,32.595065],[102.619583,32.595066],[102.619571,32.595143],[102.619564,32.595186],[102.619539,32.595345],[102.619523,32.595354],[102.619127,32.595587],[102.619023,32.595659],[102.618996,32.595678],[102.618947,32.595711],[102.618912,32.595736],[102.61891,32.595738],[102.618908,32.595739],[102.618602,32.595951],[102.618557,32.596287],[102.618556,32.596293],[102.618919,32.596421],[102.618953,32.596433],[102.619213,32.596524],[102.619244,32.596551],[102.619282,32.596584],[102.61935,32.596645],[102.619548,32.59682],[102.619609,32.596874],[102.619648,32.596927],[102.620002,32.597411],[102.620046,32.59747],[102.62011,32.597558],[102.620125,32.597578],[102.620143,32.597602],[102.620386,32.598168],[102.620451,32.598311],[102.620462,32.598333],[102.62052,32.598459],[102.620521,32.598461],[102.620521,32.598461],[102.620541,32.598504],[102.620541,32.598505],[102.620541,32.598506],[102.62056,32.598545],[102.620145,32.598912],[102.62012,32.598941],[102.620093,32.598973],[102.619988,32.599097],[102.619979,32.599108],[102.619941,32.599153],[102.619624,32.599528],[102.619614,32.59954],[102.619574,32.599587],[102.619776,32.599746],[102.619899,32.599843],[102.619891,32.599908],[102.619889,32.599925],[102.619879,32.600015],[102.619878,32.600022],[102.619875,32.600045],[102.619852,32.600247],[102.619406,32.600395],[102.619385,32.600493],[102.619374,32.600544],[102.619357,32.600628],[102.619352,32.60065],[102.61934,32.60071],[102.619337,32.600725],[102.61933,32.600758],[102.619321,32.600799],[102.619576,32.601376],[102.619599,32.601428],[102.619655,32.601528],[102.619753,32.601704],[102.619784,32.601759],[102.619805,32.601797],[102.61981,32.601806],[102.620164,32.602357],[102.620595,32.602738],[102.620996,32.603038],[102.620927,32.603277],[102.620717,32.603433],[102.620715,32.603434],[102.620713,32.603436],[102.620627,32.6035],[102.620613,32.60351],[102.620611,32.603512],[102.620609,32.603513],[102.620366,32.603694],[102.620353,32.603704],[102.620236,32.603791],[102.620229,32.603796],[102.620124,32.603874],[102.620124,32.603875],[102.620124,32.603876],[102.620081,32.604039],[102.620076,32.604059],[102.620063,32.604105],[102.620037,32.604206],[102.620019,32.604272],[102.619949,32.604537],[102.619936,32.604566],[102.619885,32.604681],[102.619715,32.605065],[102.619722,32.605083],[102.619725,32.605092],[102.619734,32.605116],[102.619765,32.605202],[102.619773,32.605222],[102.619777,32.605235],[102.619869,32.605487],[102.619891,32.605547],[102.619896,32.605554],[102.620058,32.605784],[102.620064,32.605791],[102.620064,32.605792],[102.620065,32.605793],[102.620241,32.606042],[102.620407,32.606276],[102.620674,32.606738],[102.620675,32.606739],[102.620675,32.606739],[102.620718,32.606814],[102.620722,32.60682],[102.620723,32.606821],[102.620723,32.606822],[102.620828,32.607003],[102.621488,32.607016],[102.621904,32.607142],[102.621934,32.607151],[102.622028,32.607179],[102.62203,32.60718],[102.622031,32.60718],[102.62205,32.607186],[102.62205,32.607187],[102.62205,32.607188],[102.622056,32.607288],[102.622056,32.607289],[102.622056,32.60729],[102.622058,32.60732],[102.622072,32.607559],[102.621903,32.607706],[102.621892,32.607716],[102.621809,32.607789],[102.621802,32.607795],[102.621774,32.607819],[102.621653,32.607924],[102.621549,32.608132],[102.62152,32.608188],[102.621798,32.608406],[102.622085,32.60853],[102.622103,32.608538],[102.62212,32.608545],[102.622575,32.608741],[102.623239,32.608937],[102.623824,32.609111],[102.624476,32.609443],[102.625058,32.609693],[102.625316,32.609805],[102.6257,32.610144],[102.626085,32.610485],[102.626103,32.610498],[102.626128,32.610517],[102.62614,32.610526],[102.626181,32.610556],[102.626207,32.610575],[102.626208,32.610576],[102.626208,32.610576],[102.626225,32.610588],[102.626455,32.610758],[102.626729,32.610703],[102.626824,32.610684],[102.62685,32.610678],[102.627056,32.610636],[102.627375,32.610483],[102.627402,32.61047],[102.627463,32.61044],[102.627524,32.610411],[102.627534,32.610406],[102.628151,32.610442],[102.628191,32.610445],[102.628193,32.610445],[102.628194,32.610445],[102.628207,32.610464],[102.628234,32.610503],[102.628258,32.610537],[102.628436,32.610796],[102.628396,32.611017],[102.628373,32.61114],[102.628373,32.611142],[102.628372,32.611145],[102.628363,32.611194],[102.628333,32.611245],[102.628327,32.611257],[102.628317,32.611274],[102.628165,32.611536],[102.627812,32.611823],[102.627149,32.611975],[102.627071,32.611993],[102.627054,32.611997],[102.627017,32.612006],[102.626968,32.612017],[102.626966,32.612017],[102.626965,32.612018],[102.626957,32.612019],[102.626769,32.612071],[102.626761,32.612073],[102.626749,32.612076],[102.626707,32.612088],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.62666,32.612101],[102.626415,32.612168],[102.626406,32.612171],[102.626355,32.612185],[102.626338,32.61219],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626309,32.612255],[102.626302,32.612287],[102.626252,32.612512],[102.626312,32.612569],[102.625465,32.612859],[102.624053,32.613234],[102.623637,32.613392],[102.623002,32.613632],[102.621617,32.614163],[102.620392,32.614882],[102.619166,32.615647],[102.61789,32.616226],[102.617115,32.616743],[102.616607,32.617083],[102.615944,32.617552],[102.615944,32.617552],[102.615932,32.61756],[102.615859,32.617612],[102.615854,32.617616],[102.615852,32.617617],[102.615849,32.617619],[102.615713,32.617715],[102.614268,32.618476],[102.613601,32.618651],[102.61344,32.618693],[102.613437,32.618693],[102.613434,32.618693],[102.613217,32.618688],[102.613205,32.618688],[102.613203,32.618688],[102.613201,32.618688],[102.613188,32.618688],[102.612932,32.618683],[102.611947,32.618664],[102.611765,32.618661],[102.61174,32.61866],[102.611682,32.618659],[102.61147,32.618655],[102.611469,32.618655],[102.611467,32.618655],[102.61119,32.618646],[102.611136,32.618644],[102.611033,32.618641],[102.608017,32.618543],[102.606769,32.618055],[102.606245,32.617966],[102.606222,32.617962],[102.606214,32.617961],[102.606199,32.617958],[102.606198,32.617958],[102.605241,32.617794],[102.603269,32.617757],[102.602074,32.617363],[102.602038,32.617348],[102.601474,32.617115],[102.60143,32.617097],[102.601357,32.617067],[102.601329,32.617056],[102.600466,32.6167],[102.600068,32.616536],[102.597516,32.615606],[102.595497,32.615288],[102.595396,32.615221],[102.595355,32.615193],[102.582898,32.606836],[102.582228,32.607287],[102.581482,32.608525],[102.58152,32.609175],[102.581008,32.609861],[102.57961,32.610901],[102.578108,32.611707],[102.576709,32.612793],[102.575478,32.613697],[102.573846,32.615289],[102.573049,32.616387],[102.571868,32.617478],[102.571581,32.617982],[102.571601,32.618039],[102.57126,32.617698],[102.569487,32.616365],[102.568248,32.615552],[102.566533,32.614127],[102.564395,32.612091],[102.563974,32.611707],[102.563718,32.611475],[102.562416,32.61029],[102.562163,32.610092],[102.561452,32.609536],[102.561153,32.609302],[102.560591,32.608863],[102.558981,32.607625],[102.557963,32.606542],[102.557915,32.606495],[102.556955,32.605545],[102.555829,32.604595],[102.554367,32.603963],[102.552908,32.603193],[102.551884,32.60257],[102.551303,32.60177],[102.550905,32.600277],[102.550447,32.59897],[102.550293,32.598595],[102.550069,32.596782],[102.549878,32.595711],[102.549407,32.594913],[102.548332,32.59415],[102.54731,32.593434],[102.546462,32.592397],[102.545948,32.591135],[102.545921,32.590114],[102.545678,32.588996],[102.54536,32.587976],[102.544673,32.5867],[102.543554,32.585416],[102.542467,32.584703],[102.54218,32.584338],[102.541791,32.583844],[102.541491,32.583462],[102.540609,32.582305],[102.539476,32.581509],[102.537194,32.580568],[102.536107,32.579855],[102.535204,32.579471],[102.534077,32.578471],[102.532809,32.577347],[102.531688,32.576144],[102.531133,32.575374],[102.530854,32.574988],[102.530168,32.573712],[102.529045,32.572591],[102.527781,32.571344],[102.526843,32.570471],[102.526094,32.569723],[102.5254,32.568732],[102.523355,32.569669],[102.522416,32.570587],[102.521822,32.571186],[102.521015,32.571679],[102.520208,32.572172],[102.519256,32.572703],[102.518304,32.573234],[102.517669,32.573588],[102.517034,32.573942],[102.516473,32.574236],[102.515912,32.57453],[102.515348,32.57403],[102.514792,32.573286],[102.514165,32.571605],[102.513242,32.568451],[102.51295,32.567733],[102.512657,32.567015],[102.512405,32.566541],[102.512154,32.566068],[102.511419,32.564832],[102.510436,32.563876],[102.50877,32.563232],[102.507486,32.562718],[102.506481,32.562576],[102.504697,32.562744],[102.503587,32.562885],[102.502444,32.562496],[102.501691,32.561911],[102.500606,32.561157],[102.500186,32.560653],[102.499293,32.559765],[102.49861,32.559286],[102.497559,32.558799],[102.496792,32.55869],[102.496292,32.558183],[102.495354,32.557636],[102.494116,32.557301],[102.492686,32.557272],[102.491842,32.557256],[102.489647,32.557056],[102.487423,32.556546],[102.486081,32.555991],[102.485368,32.555262],[102.484481,32.554188],[102.483219,32.553417],[102.481977,32.553206],[102.480878,32.553153],[102.479813,32.553193],[102.478815,32.553484],[102.477734,32.554084],[102.476735,32.554374],[102.475829,32.553983],[102.474416,32.553365],[102.47367,32.55248],[102.473065,32.551846],[102.472159,32.551424],[102.471013,32.550438],[102.470299,32.54974],[102.468744,32.548963],[102.467287,32.548592],[102.46605,32.548225],[102.4643,32.547848],[102.463179,32.547266],[102.460086,32.546365],[102.459078,32.546094],[102.458958,32.546062],[102.457791,32.545821],[102.456446,32.54539],[102.455121,32.54555],[102.454127,32.545685],[102.453052,32.546067],[102.452302,32.546642],[102.451482,32.547123],[102.451184,32.547272],[102.450201,32.54573],[102.449856,32.544946],[102.449447,32.54385],[102.448991,32.543126],[102.448533,32.542433],[102.448003,32.541739],[102.446959,32.53973],[102.446332,32.538567],[102.445894,32.537191],[102.445777,32.536164],[102.445949,32.535266],[102.446018,32.534118],[102.446146,32.532194],[102.445887,32.530977],[102.445242,32.530436],[102.444486,32.529924],[102.443733,32.529318],[102.443353,32.528502],[102.44224,32.526367],[102.441493,32.525544],[102.440397,32.524124],[102.439554,32.522802],[102.438827,32.521264],[102.438334,32.520571],[102.437275,32.51912],[102.436642,32.518175],[102.436476,32.51755],[102.43655,32.516247],[102.436475,32.515003],[102.436284,32.514005],[102.435728,32.512906],[102.434672,32.511362],[102.433868,32.510285],[102.433824,32.510227],[102.43312,32.509575],[102.432931,32.509401],[102.432183,32.50864],[102.431598,32.508597],[102.430677,32.508733],[102.429867,32.508841],[102.429025,32.508824],[102.428243,32.509243],[102.427608,32.509634],[102.426945,32.509744],[102.426506,32.509704],[102.425981,32.508855],[102.425522,32.508224],[102.425108,32.507315],[102.424621,32.506404],[102.423749,32.504832],[102.423334,32.503954],[102.422733,32.503165],[102.421837,32.502463],[102.420953,32.501327],[102.419839,32.500527],[102.419134,32.499549],[102.418382,32.498912],[102.417991,32.498501],[102.41708,32.498295],[102.416129,32.498214],[102.415415,32.497547],[102.414671,32.49663],[102.414039,32.495654],[102.413291,32.494893],[102.412626,32.493823],[102.412076,32.492538],[102.411555,32.491533],[102.4104,32.490262],[102.410346,32.490203],[102.409793,32.490316],[102.408235,32.490968],[102.406641,32.491587],[102.404943,32.492018],[102.403426,32.492484],[102.401838,32.492886],[102.39955,32.493429],[102.398591,32.493627],[102.39755,32.494134],[102.396198,32.495255],[102.395597,32.495771],[102.394946,32.49672],[102.39345,32.49902],[102.392357,32.500053],[102.39145,32.500998],[102.390805,32.501761],[102.388941,32.502841],[102.387068,32.5042],[102.38572,32.505197],[102.385074,32.50596],[102.383365,32.506733],[102.382615,32.507307],[102.382738,32.508149],[102.383064,32.509554],[102.383438,32.510556],[102.383621,32.511833],[102.383698,32.512953],[102.383724,32.5146],[102.383657,32.515655],[102.383771,32.516776],[102.383332,32.51801],[102.382852,32.519367],[102.382207,32.52013],[102.381558,32.521017],[102.380539,32.522021],[102.379417,32.522775],[102.378211,32.523868],[102.377822,32.524668],[102.377871,32.525476],[102.377972,32.527063],[102.377631,32.528702],[102.377549,32.530254],[102.377136,32.531861],[102.376584,32.533185],[102.376016,32.533795],[102.37504,32.534551],[102.373334,32.535199],[102.372542,32.535959],[102.372117,32.536696],[102.371844,32.537249],[102.371856,32.538088],[102.372261,32.539308],[102.373035,32.540443],[102.373745,32.541235],[102.374962,32.542285],[102.37572,32.542705],[102.374689,32.543243],[102.373359,32.543588],[102.37271,32.54403],[102.371856,32.544799],[102.371485,32.545785],[102.370863,32.547015],[102.370621,32.548584],[102.370768,32.550244],[102.371133,32.551163],[102.371114,32.551825],[102.371143,32.552489],[102.371367,32.553198],[102.371336,32.554274],[102.37106,32.555345],[102.371419,32.55643],[102.371835,32.557267],[102.372095,32.558432],[102.371833,32.559007],[102.371375,32.559618],[102.370662,32.560597],[102.36994,32.561866],[102.369078,32.562925],[102.367625,32.564096],[102.366579,32.564737],[102.36504,32.565492],[102.363617,32.565669],[102.362341,32.565808],[102.361909,32.565818],[102.360432,32.565851],[102.358537,32.565397],[102.3566,32.564735],[102.354179,32.563897],[102.352248,32.563027],[102.349503,32.561313],[102.349447,32.561278],[102.349438,32.561272],[102.349333,32.561206],[102.348553,32.561079],[102.347883,32.561673],[102.34695,32.562316],[102.345982,32.56263],[102.34583,32.56268],[102.345486,32.562374],[102.345415,32.56231],[102.345399,32.562296],[102.345385,32.562283],[102.345343,32.562247],[102.345548,32.561984],[102.345821,32.561634],[102.346003,32.56141],[102.346041,32.561381],[102.348367,32.558314],[102.348425,32.558238],[102.348522,32.558109],[102.348583,32.558026],[102.348666,32.557914],[102.348749,32.557802],[102.348847,32.55767],[102.348932,32.557554],[102.349038,32.557411],[102.349142,32.557271],[102.349231,32.55715],[102.349318,32.557032],[102.349418,32.556897],[102.349512,32.556771],[102.349695,32.556553],[102.349703,32.55654],[102.349759,32.556404],[102.349798,32.556311],[102.349878,32.556201],[102.349989,32.555919],[102.35,32.555883],[102.349991,32.555878],[102.349991,32.555878],[102.349987,32.555876],[102.349986,32.555876],[102.349925,32.555861],[102.349923,32.55586],[102.349919,32.55586],[102.349823,32.555859],[102.349894,32.555709],[102.346816,32.55505],[102.34683,32.554943],[102.346801,32.554847],[102.346762,32.554785],[102.346736,32.55474],[102.346714,32.554735],[102.346683,32.554727],[102.346649,32.554718],[102.346591,32.554702],[102.345877,32.554516],[102.34583,32.554504],[102.345829,32.554503],[102.345826,32.554502],[102.345758,32.554485],[102.345357,32.55438],[102.344319,32.554218],[102.343833,32.554143],[102.341371,32.55376],[102.340766,32.553666],[102.340686,32.553653],[102.340656,32.553649],[102.340496,32.553624],[102.34042,32.553612],[102.340021,32.553555],[102.33868,32.553364],[102.3386,32.553352],[102.33851,32.553287],[102.338472,32.553259],[102.338364,32.553181],[102.338258,32.553062],[102.338165,32.553037],[102.337747,32.552734],[102.337578,32.552612],[102.336849,32.552441],[102.336695,32.552405],[102.336584,32.552379],[102.33656,32.552374],[102.336436,32.552345],[102.336378,32.552331],[102.336358,32.552326],[102.33634,32.552322],[102.336023,32.552248],[102.334344,32.551659],[102.333546,32.55214],[102.332677,32.55284],[102.331867,32.553762],[102.33093,32.553798],[102.329113,32.553464],[102.329052,32.553474],[102.328977,32.553487],[102.328755,32.553524],[102.32853,32.553583],[102.328214,32.553667],[102.328045,32.553776],[102.327067,32.554405],[102.327033,32.554427],[102.326996,32.554451],[102.326831,32.554874],[102.326793,32.554865],[102.32676,32.554848],[102.326524,32.555242],[102.326171,32.555833],[102.325323,32.558026],[102.324932,32.559491],[102.324613,32.559874],[102.324574,32.559872],[102.324288,32.559863],[102.324067,32.559862],[102.32406,32.559863],[102.324016,32.559867],[102.323856,32.559882],[102.32385,32.559884],[102.323706,32.559915],[102.323697,32.559917],[102.323552,32.559976],[102.323525,32.559977],[102.323031,32.560192],[102.322969,32.560219],[102.322555,32.560398],[102.322485,32.560433],[102.322418,32.560466],[102.321407,32.560963],[102.319668,32.560926],[102.318094,32.561187],[102.31669,32.5616],[102.314074,32.561765],[102.312079,32.561575],[102.310799,32.560737],[102.309784,32.559757],[102.307993,32.55854],[102.306281,32.557619],[102.304401,32.556473],[102.302954,32.555411],[102.302104,32.554729],[102.301324,32.554639],[102.300189,32.554762],[102.298365,32.554649],[102.296448,32.554755],[102.294988,32.554134],[102.293699,32.553591],[102.29276,32.552991],[102.292504,32.552828],[102.292411,32.552783],[102.290274,32.551748],[102.289186,32.551087],[102.289115,32.551044],[102.289111,32.551039],[102.289096,32.551032],[102.289086,32.551026],[102.288978,32.55096],[102.2884,32.550609],[102.288414,32.550606],[102.288469,32.550587],[102.28855,32.55056],[102.288645,32.550496],[102.288745,32.550402],[102.288845,32.550276],[102.288937,32.550067],[102.28903,32.549859],[102.289039,32.549804],[102.289077,32.549568],[102.289077,32.549557],[102.28908,32.54948],[102.289081,32.549434],[102.289085,32.54931],[102.289093,32.549052],[102.289101,32.548794],[102.289109,32.548536],[102.289133,32.54839],[102.28915,32.548296],[102.28916,32.548245],[102.289175,32.548166],[102.289178,32.548149],[102.289221,32.547987],[102.28928,32.54785],[102.289303,32.547796],[102.289345,32.547706],[102.289386,32.547619],[102.289411,32.547564],[102.289487,32.547397],[102.28953,32.54725],[102.289573,32.547074],[102.289619,32.546864],[102.289623,32.546706],[102.289624,32.546653],[102.289617,32.546281],[102.289617,32.546281],[102.289617,32.546281],[102.289607,32.545957],[102.289607,32.545957],[102.2896,32.545586],[102.2896,32.545586],[102.2896,32.545586],[102.289626,32.545359],[102.289635,32.545332],[102.289667,32.545241],[102.28971,32.545118],[102.289751,32.544979],[102.289758,32.544954],[102.289779,32.544881],[102.289848,32.544644],[102.289918,32.544406],[102.289987,32.544169],[102.290056,32.543938],[102.290058,32.543929],[102.290092,32.543816],[102.290124,32.543711],[102.290191,32.543486],[102.290198,32.543463],[102.290193,32.543306],[102.290188,32.543155],[102.290166,32.542956],[102.290157,32.542879],[102.290115,32.542721],[102.290088,32.54262],[102.29002,32.542495],[102.289962,32.54239],[102.289864,32.54229],[102.28972,32.542143],[102.289495,32.541959],[102.28935,32.541812],[102.289348,32.541811],[102.289333,32.541784],[102.289308,32.541738],[102.289275,32.541679],[102.28928,32.54155],[102.28928,32.541534],[102.289411,32.541302],[102.289542,32.54107],[102.289565,32.541044],[102.28976,32.540832],[102.289841,32.540751],[102.289997,32.540595],[102.29006,32.540515],[102.290166,32.54038],[102.290335,32.540165],[102.290613,32.539815],[102.290782,32.539617],[102.29087,32.539513],[102.291002,32.539234],[102.291014,32.539208],[102.291158,32.538904],[102.291228,32.538686],[102.291285,32.538512],[102.291411,32.53812],[102.291443,32.537688],[102.291444,32.537673],[102.291473,32.537281],[102.291475,32.537256],[102.291482,32.537162],[102.291498,32.536943],[102.291507,32.536823],[102.291539,32.536391],[102.291543,32.53619],[102.291544,32.536135],[102.291545,32.536106],[102.29155,32.53588],[102.291551,32.535845],[102.291552,32.535791],[102.291556,32.535646],[102.291556,32.535635],[102.291556,32.535624],[102.291557,32.535586],[102.291558,32.535548],[102.29156,32.535457],[102.291561,32.535431],[102.291561,32.535421],[102.291562,32.535369],[102.291568,32.535128],[102.291568,32.535113],[102.291571,32.534988],[102.291574,32.534858],[102.291576,32.534775],[102.291577,32.534741],[102.29158,32.534602],[102.291585,32.534369],[102.291586,32.534347],[102.291587,32.534278],[102.291591,32.534095],[102.291591,32.534091],[102.291593,32.534041],[102.291597,32.533836],[102.2916,32.533667],[102.291601,32.533607],[102.291603,32.533474],[102.291604,32.533377],[102.291607,32.533202],[102.291608,32.533148],[102.291608,32.533143],[102.291611,32.532919],[102.291615,32.53269],[102.291618,32.532461],[102.291606,32.532234],[102.291594,32.532007],[102.2916,32.5318],[102.291606,32.531603],[102.291693,32.531281],[102.291856,32.530929],[102.291958,32.530728],[102.29206,32.530528],[102.292179,32.530385],[102.292181,32.530384],[102.292182,32.530383],[102.292266,32.530315],[102.292316,32.530275],[102.292329,32.530268],[102.292334,32.530266],[102.292363,32.53025],[102.292381,32.530241],[102.292429,32.530215],[102.29255,32.530151],[102.292693,32.530093],[102.292867,32.530023],[102.292988,32.529974],[102.293019,32.529961],[102.293185,32.529894],[102.293198,32.529882],[102.293227,32.529854],[102.293283,32.529803],[102.293323,32.529766],[102.293335,32.529728],[102.29336,32.529658],[102.293427,32.529462],[102.293358,32.529217],[102.293284,32.528984],[102.29327,32.528941],[102.293276,32.528885],[102.293287,32.528783],[102.293297,32.528699],[102.293526,32.52838],[102.293617,32.528253],[102.293646,32.528213],[102.293756,32.52806],[102.293755,32.528047],[102.293754,32.528022],[102.293746,32.52777],[102.2936,32.527508],[102.293413,32.527382],[102.293225,32.527256],[102.292904,32.527136],[102.292579,32.527113],[102.292176,32.527136],[102.291888,32.527196],[102.291654,32.52732],[102.291325,32.527442],[102.291077,32.527428],[102.290834,32.527415],[102.290829,32.527414],[102.290694,32.527395],[102.29058,32.527378],[102.290573,32.527377],[102.290447,32.527359],[102.29019,32.527312],[102.289934,32.527266],[102.289834,32.527264],[102.289666,32.527261],[102.289398,32.527255],[102.289158,32.527298],[102.288918,32.527341],[102.288762,32.527395],[102.288754,32.527398],[102.288674,32.527425],[102.288608,32.527448],[102.288592,32.527453],[102.28853,32.527475],[102.28833,32.527544],[102.288299,32.527555],[102.288066,32.527687],[102.288017,32.527715],[102.287832,32.52782],[102.287531,32.527943],[102.287231,32.528066],[102.286942,32.528141],[102.28688,32.528137],[102.286713,32.528128],[102.286645,32.528124],[102.286485,32.528114],[102.286484,32.528114],[102.286484,32.528114],[102.286415,32.528068],[102.286346,32.528022],[102.286183,32.527914],[102.286152,32.527884],[102.285979,32.527715],[102.285893,32.527406],[102.285882,32.527132],[102.285884,32.527047],[102.285889,32.526855],[102.285856,32.526676],[102.285856,32.526675],[102.285855,32.526673],[102.285855,32.526673],[102.285847,32.526658],[102.285766,32.526496],[102.285504,32.52633],[102.285296,32.526214],[102.285087,32.526098],[102.284958,32.525966],[102.284809,32.525784],[102.284718,32.525619],[102.284717,32.525617],[102.28468,32.52555],[102.284665,32.525522],[102.284656,32.525453],[102.284639,32.525333],[102.284635,32.525304],[102.284633,32.525287],[102.284602,32.525053],[102.284611,32.524729],[102.284548,32.524322],[102.284436,32.524207],[102.284286,32.524139],[102.284056,32.524134],[102.283644,32.524115],[102.28349,32.524142],[102.283199,32.52425],[102.283117,32.524298],[102.282927,32.524406],[102.2829,32.52443],[102.282726,32.52458],[102.282672,32.524628],[102.282626,32.524697],[102.282432,32.524994],[102.28231,32.525243],[102.282187,32.525491],[102.281985,32.525843],[102.281807,32.526001],[102.281711,32.526047],[102.281622,32.526062],[102.281542,32.526075],[102.281268,32.526119],[102.281229,32.526115],[102.281124,32.526105],[102.28104,32.526098],[102.280778,32.526024],[102.280517,32.52595],[102.280255,32.525876],[102.279993,32.525803],[102.279731,32.525729],[102.279469,32.525655],[102.279207,32.525582],[102.278945,32.525508],[102.278684,32.525434],[102.278422,32.52536],[102.278187,32.525303],[102.278015,32.525261],[102.277989,32.525255],[102.277952,32.525246],[102.277718,32.525189],[102.277483,32.525132],[102.277248,32.525075],[102.277143,32.525049],[102.277244,32.524826]]]]},"properties":{"cp":[102.40058259505227,32.42604846213644],"code":"513233105","name":"龙日镇","level":"street","center":[102.40058259505227,32.42604846213644],"fullCode":"513233105000","fullName":"四川省阿坝藏族羌族自治州红原县龙日镇","acreageMu":967058.51,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.484,32.3605]}},{"id":"513233202","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.164139,32.32538],[102.164223,32.325168],[102.164246,32.325109],[102.164401,32.324716],[102.164763,32.323798],[102.165261,32.322312],[102.16556,32.321436],[102.165852,32.320752],[102.165879,32.319908],[102.165875,32.318564],[102.166,32.317454],[102.16583,32.315684],[102.165822,32.315506],[102.165819,32.31544],[102.165725,32.313225],[102.165894,32.312154],[102.166521,32.310901],[102.167013,32.309607],[102.167377,32.308079],[102.167576,32.307548],[102.168019,32.306366],[102.168943,32.304276],[102.169317,32.303862],[102.169594,32.303676],[102.169845,32.303446],[102.16988,32.303412],[102.169881,32.303412],[102.170149,32.303418],[102.170447,32.303456],[102.170666,32.303588],[102.170876,32.303971],[102.171014,32.304353],[102.171151,32.304735],[102.171234,32.304987],[102.171316,32.30524],[102.171399,32.305492],[102.171482,32.305744],[102.171565,32.305997],[102.171647,32.306249],[102.17173,32.306501],[102.171761,32.306596],[102.171761,32.306597],[102.171813,32.306754],[102.171896,32.307006],[102.171978,32.307258],[102.172061,32.307511],[102.172144,32.307763],[102.172227,32.308015],[102.17231,32.308268],[102.172392,32.30852],[102.172475,32.308772],[102.172542,32.309035],[102.172609,32.309297],[102.172676,32.309559],[102.172743,32.309821],[102.172809,32.310084],[102.172876,32.310346],[102.172943,32.310608],[102.17301,32.31087],[102.173077,32.311132],[102.173144,32.311395],[102.173147,32.31153],[102.173149,32.311626],[102.173154,32.311858],[102.173159,32.31209],[102.173162,32.312223],[102.173164,32.312322],[102.173169,32.312553],[102.173174,32.312785],[102.173174,32.312789],[102.173149,32.313195],[102.173135,32.313427],[102.173124,32.313604],[102.173099,32.314014],[102.173089,32.314313],[102.17308,32.314613],[102.173092,32.314845],[102.173103,32.315054],[102.173243,32.315374],[102.173448,32.315537],[102.173654,32.315699],[102.17386,32.315862],[102.174066,32.316024],[102.174272,32.316187],[102.174442,32.316321],[102.174477,32.316349],[102.174659,32.316489],[102.174841,32.316629],[102.175022,32.316768],[102.175204,32.316908],[102.175386,32.317048],[102.175567,32.317188],[102.175749,32.317328],[102.175931,32.317467],[102.176112,32.317607],[102.176294,32.317747],[102.176508,32.317907],[102.176722,32.318068],[102.176937,32.318228],[102.177151,32.318388],[102.177365,32.318549],[102.17758,32.318709],[102.177807,32.318848],[102.178035,32.318988],[102.178263,32.319127],[102.178491,32.319266],[102.178762,32.319381],[102.178804,32.319399],[102.179102,32.319526],[102.179117,32.319532],[102.179485,32.319666],[102.179852,32.319801],[102.18013,32.319854],[102.180408,32.319908],[102.180502,32.319915],[102.180705,32.319931],[102.180802,32.319938],[102.181002,32.319953],[102.181411,32.319931],[102.181646,32.319857],[102.181881,32.319783],[102.182116,32.319709],[102.182314,32.319647],[102.182351,32.319636],[102.18258,32.31957],[102.182766,32.319517],[102.18281,32.319504],[102.18304,32.319438],[102.18327,32.319373],[102.1835,32.319307],[102.183729,32.319241],[102.183959,32.319176],[102.184189,32.31911],[102.18446,32.31906],[102.184732,32.319011],[102.185003,32.318961],[102.185223,32.318921],[102.185275,32.318912],[102.18561,32.318888],[102.185791,32.318875],[102.185946,32.318864],[102.186261,32.318887],[102.186577,32.31891],[102.186809,32.318957],[102.186836,32.318963],[102.187094,32.319015],[102.187309,32.31913],[102.187388,32.319173],[102.187524,32.319246],[102.187739,32.319361],[102.187954,32.319476],[102.188311,32.319699],[102.188668,32.319923],[102.188859,32.320043],[102.189051,32.320163],[102.189272,32.320247],[102.189493,32.32033],[102.189806,32.320432],[102.190119,32.320534],[102.190509,32.320542],[102.190899,32.320551],[102.191218,32.320479],[102.191536,32.320407],[102.191744,32.320291],[102.191953,32.320174],[102.192161,32.320058],[102.192369,32.319941],[102.192577,32.319825],[102.192786,32.319708],[102.192987,32.319574],[102.193188,32.319439],[102.193335,32.319342],[102.19339,32.319305],[102.193591,32.319171],[102.193793,32.319036],[102.193994,32.318902],[102.194001,32.318897],[102.194195,32.318767],[102.194397,32.318633],[102.194598,32.318499],[102.194799,32.318364],[102.194991,32.318175],[102.195183,32.317986],[102.195375,32.317797],[102.195567,32.317608],[102.195759,32.317419],[102.195951,32.31723],[102.196143,32.317041],[102.196335,32.316852],[102.196538,32.316678],[102.196742,32.316504],[102.196945,32.31633],[102.197149,32.316155],[102.197352,32.315981],[102.197556,32.315807],[102.197925,32.315602],[102.198295,32.315397],[102.198664,32.315192],[102.199033,32.314987],[102.199385,32.314847],[102.199736,32.314707],[102.200087,32.314567],[102.200306,32.314499],[102.200526,32.31443],[102.200745,32.314361],[102.200964,32.314293],[102.201183,32.314224],[102.201403,32.314155],[102.201644,32.314107],[102.201884,32.314059],[102.202125,32.31401],[102.202366,32.313962],[102.202607,32.313914],[102.202848,32.313866],[102.203088,32.313818],[102.203329,32.31377],[102.203579,32.313723],[102.203828,32.313676],[102.204078,32.313629],[102.204327,32.313582],[102.204576,32.313535],[102.204826,32.313488],[102.205237,32.313444],[102.205648,32.3134],[102.20602,32.313361],[102.206058,32.313357],[102.206288,32.31333],[102.206518,32.313304],[102.206748,32.313277],[102.206978,32.313251],[102.207208,32.313225],[102.207438,32.313198],[102.207863,32.313113],[102.208288,32.313027],[102.208712,32.312942],[102.209126,32.312793],[102.20954,32.312644],[102.209953,32.312495],[102.210367,32.312347],[102.210758,32.312145],[102.211149,32.311944],[102.211539,32.311742],[102.21193,32.31153],[102.212321,32.311318],[102.212712,32.311105],[102.213038,32.310797],[102.213365,32.310489],[102.213616,32.310155],[102.213756,32.309971],[102.213868,32.309821],[102.21412,32.309487],[102.214371,32.309153],[102.214513,32.308931],[102.214654,32.308708],[102.214795,32.308485],[102.214936,32.308263],[102.215037,32.308036],[102.215137,32.307809],[102.215237,32.307583],[102.215337,32.307356],[102.215384,32.307025],[102.215432,32.306695],[102.215329,32.306393],[102.215227,32.306091],[102.215127,32.305694],[102.215027,32.305298],[102.215004,32.304887],[102.215051,32.304541],[102.215224,32.304356],[102.215397,32.30417],[102.215602,32.304009],[102.215807,32.303847],[102.216012,32.303686],[102.216217,32.303525],[102.216422,32.303363],[102.216627,32.303202],[102.216832,32.303041],[102.217037,32.302879],[102.21723,32.302764],[102.217423,32.302648],[102.217616,32.302532],[102.217809,32.302417],[102.218003,32.302301],[102.218196,32.302185],[102.218389,32.30207],[102.218582,32.301954],[102.218637,32.301921],[102.218775,32.301838],[102.218969,32.301723],[102.21927,32.301635],[102.219604,32.301642],[102.219939,32.30165],[102.220196,32.30175],[102.220235,32.301766],[102.220453,32.301851],[102.220471,32.301866],[102.220635,32.301997],[102.220763,32.3021],[102.220817,32.302143],[102.220973,32.302364],[102.221129,32.302584],[102.221285,32.302804],[102.221441,32.303025],[102.221597,32.303245],[102.221753,32.303465],[102.221797,32.303528],[102.221799,32.303531],[102.221909,32.303686],[102.222065,32.303906],[102.222204,32.304209],[102.222343,32.304511],[102.22248,32.304925],[102.222492,32.304998],[102.222543,32.305305],[102.222456,32.305682],[102.222299,32.305995],[102.222177,32.306307],[102.222073,32.306598],[102.222054,32.306652],[102.222007,32.306998],[102.222069,32.30741],[102.222191,32.307665],[102.222313,32.30792],[102.222602,32.308211],[102.222891,32.308502],[102.22318,32.308792],[102.223365,32.30897],[102.223371,32.308976],[102.223507,32.309106],[102.22355,32.309147],[102.223707,32.309298],[102.223736,32.309325],[102.223921,32.309503],[102.224106,32.30968],[102.224167,32.309738],[102.224292,32.309858],[102.224477,32.310035],[102.224662,32.310213],[102.224901,32.310561],[102.22514,32.310909],[102.225379,32.311257],[102.225455,32.311511],[102.225531,32.311765],[102.225608,32.31202],[102.225684,32.312274],[102.225709,32.312546],[102.225721,32.312675],[102.22575,32.312987],[102.225758,32.313075],[102.225761,32.313099],[102.225796,32.313476],[102.225813,32.31374],[102.225819,32.313846],[102.225829,32.314003],[102.225833,32.314065],[102.225846,32.314266],[102.225861,32.3145],[102.225863,32.31453],[102.225872,32.314667],[102.22588,32.314793],[102.225896,32.315057],[102.225911,32.315172],[102.225931,32.315331],[102.225966,32.315605],[102.226001,32.31588],[102.226036,32.316154],[102.226072,32.316429],[102.226096,32.316619],[102.226107,32.316703],[102.226141,32.316878],[102.226155,32.316946],[102.226203,32.317189],[102.226252,32.317432],[102.2263,32.317675],[102.226348,32.317918],[102.226375,32.318049],[102.226397,32.318162],[102.226432,32.318253],[102.226518,32.318474],[102.226539,32.318529],[102.226627,32.318667],[102.226682,32.318754],[102.226926,32.318907],[102.226977,32.31894],[102.22717,32.319061],[102.227247,32.319081],[102.227346,32.319105],[102.227707,32.319167],[102.227909,32.319201],[102.228069,32.319229],[102.22832,32.319253],[102.22857,32.319276],[102.228571,32.319276],[102.228573,32.319277],[102.228881,32.319343],[102.229189,32.31941],[102.229497,32.319476],[102.229725,32.319529],[102.229954,32.319581],[102.230315,32.319572],[102.230734,32.319505],[102.231077,32.319434],[102.231419,32.319362],[102.231848,32.319391],[102.2322,32.31941],[102.23259,32.319524],[102.232904,32.31961],[102.233247,32.319708],[102.233589,32.319806],[102.233932,32.319905],[102.234266,32.319999],[102.234599,32.320093],[102.23485,32.320164],[102.235101,32.320235],[102.235245,32.320276],[102.235655,32.320333],[102.235861,32.320326],[102.23595,32.320323],[102.236197,32.320285],[102.236483,32.320047],[102.236721,32.319695],[102.236935,32.319567],[102.237149,32.319438],[102.237544,32.319267],[102.237939,32.319096],[102.238269,32.31895],[102.238599,32.318804],[102.238929,32.318658],[102.238996,32.318618],[102.239298,32.318442],[102.2396,32.318265],[102.239966,32.318051],[102.240333,32.317836],[102.240699,32.317621],[102.241066,32.317407],[102.241432,32.317192],[102.241825,32.317054],[102.242217,32.316916],[102.24261,32.316778],[102.243002,32.31664],[102.243343,32.316533],[102.243683,32.316426],[102.244023,32.316319],[102.244364,32.316212],[102.244792,32.316131],[102.245207,32.316052],[102.24522,32.31605],[102.24542,32.315917],[102.245439,32.315869],[102.245553,32.315584],[102.245653,32.315327],[102.245753,32.31507],[102.245841,32.314868],[102.24587,32.314813],[102.24594,32.31466],[102.246035,32.314455],[102.2462,32.314096],[102.246365,32.313737],[102.246617,32.313396],[102.24687,32.313055],[102.246953,32.312756],[102.247037,32.312457],[102.247063,32.312205],[102.24709,32.311953],[102.247022,32.311715],[102.246955,32.311477],[102.24687,32.311215],[102.246784,32.310953],[102.246699,32.310691],[102.246614,32.310429],[102.246582,32.31032],[102.246528,32.31014],[102.246496,32.310032],[102.246419,32.309773],[102.246378,32.309634],[102.24633,32.309365],[102.246307,32.309234],[102.246282,32.309095],[102.246292,32.308796],[102.246301,32.308496],[102.246422,32.308214],[102.24654,32.308001],[102.246658,32.307788],[102.246776,32.307575],[102.246894,32.307362],[102.247012,32.307149],[102.24713,32.306937],[102.247284,32.306756],[102.247439,32.306575],[102.247593,32.306394],[102.247747,32.306213],[102.247901,32.306032],[102.248055,32.305851],[102.248209,32.30567],[102.248363,32.30549],[102.248491,32.305279],[102.248618,32.305069],[102.248746,32.304858],[102.248873,32.304648],[102.249016,32.304225],[102.249158,32.303803],[102.249226,32.303394],[102.249294,32.302985],[102.24933,32.302734],[102.249366,32.302482],[102.249401,32.30223],[102.249437,32.301979],[102.249417,32.301706],[102.249403,32.301508],[102.249397,32.301434],[102.249377,32.301162],[102.249358,32.300889],[102.24932,32.300489],[102.249283,32.300088],[102.249245,32.299688],[102.249252,32.299451],[102.24926,32.299215],[102.249267,32.298978],[102.249269,32.298897],[102.249274,32.298742],[102.24932,32.298471],[102.249365,32.298201],[102.249411,32.29793],[102.249456,32.29766],[102.249502,32.297389],[102.249547,32.297118],[102.249592,32.296848],[102.249638,32.296577],[102.249683,32.296307],[102.249729,32.296036],[102.249787,32.295813],[102.249844,32.295589],[102.249902,32.295365],[102.24996,32.295142],[102.250018,32.294918],[102.250076,32.294695],[102.250133,32.294471],[102.250191,32.294247],[102.250296,32.293871],[102.2504,32.293494],[102.25041,32.293162],[102.25042,32.292831],[102.250437,32.292571],[102.250454,32.292311],[102.25046,32.292224],[102.250471,32.292051],[102.250488,32.291791],[102.250489,32.29178],[102.250493,32.291689],[102.250511,32.291335],[102.250518,32.291193],[102.250534,32.290891],[102.250556,32.290446],[102.250579,32.290002],[102.250677,32.289636],[102.250775,32.28927],[102.250873,32.288904],[102.251021,32.288592],[102.251168,32.28828],[102.251279,32.288045],[102.25139,32.28781],[102.251518,32.287584],[102.251645,32.287358],[102.251773,32.287132],[102.251901,32.286906],[102.252068,32.286699],[102.252236,32.286493],[102.252403,32.286286],[102.252571,32.286079],[102.252738,32.285873],[102.252906,32.285666],[102.252966,32.285581],[102.253061,32.285448],[102.253216,32.285231],[102.253371,32.285013],[102.253526,32.284795],[102.253656,32.28461],[102.253663,32.284601],[102.253799,32.284407],[102.253935,32.284212],[102.254071,32.284018],[102.254092,32.283969],[102.254094,32.283964],[102.254171,32.283783],[102.254271,32.283548],[102.254292,32.283364],[102.254321,32.283108],[102.254239,32.282743],[102.254158,32.282378],[102.25409,32.282157],[102.254022,32.281936],[102.253955,32.281715],[102.253887,32.281493],[102.253819,32.281272],[102.253752,32.281051],[102.253764,32.28063],[102.253777,32.28021],[102.25379,32.279789],[102.253948,32.279509],[102.254228,32.279263],[102.254508,32.279016],[102.254788,32.278769],[102.254877,32.278676],[102.254967,32.278584],[102.255029,32.27852],[102.255032,32.278516],[102.255146,32.278398],[102.255325,32.278213],[102.255504,32.278027],[102.255669,32.277856],[102.255862,32.277656],[102.256071,32.277324],[102.256279,32.276992],[102.256488,32.27666],[102.256714,32.276318],[102.256759,32.276171],[102.25687,32.275881],[102.256981,32.275591],[102.257092,32.2753],[102.257194,32.275101],[102.257236,32.27502],[102.257381,32.274739],[102.257488,32.274477],[102.257595,32.274215],[102.257623,32.274142],[102.257745,32.273822],[102.257895,32.273429],[102.257957,32.273152],[102.25802,32.272876],[102.258052,32.272647],[102.258085,32.272418],[102.258115,32.271972],[102.258117,32.271752],[102.258121,32.271317],[102.258101,32.270958],[102.258081,32.270599],[102.258061,32.270241],[102.258017,32.269881],[102.257972,32.269521],[102.257929,32.269168],[102.257907,32.268985],[102.257835,32.268646],[102.257621,32.26842],[102.257389,32.268111],[102.257297,32.267769],[102.257205,32.267427],[102.256985,32.267103],[102.256765,32.266778],[102.256437,32.266517],[102.256176,32.266267],[102.256009,32.266172],[102.255979,32.266047],[102.256039,32.265898],[102.256164,32.265708],[102.256191,32.265684],[102.256384,32.265517],[102.256604,32.265327],[102.256931,32.265079],[102.257258,32.264831],[102.257585,32.264583],[102.257895,32.26431],[102.258204,32.264036],[102.258513,32.263762],[102.258537,32.263749],[102.258784,32.263613],[102.259031,32.263477],[102.259221,32.263328],[102.259282,32.263234],[102.25934,32.263144],[102.259376,32.26284],[102.259376,32.262487],[102.259376,32.262486],[102.259376,32.262484],[102.259346,32.262222],[102.259272,32.261909],[102.259197,32.261597],[102.259111,32.261285],[102.259025,32.260973],[102.258894,32.260681],[102.258704,32.260324],[102.258484,32.260021],[102.258264,32.259717],[102.258139,32.259533],[102.258103,32.259408],[102.258168,32.259212],[102.258264,32.259063],[102.258359,32.258891],[102.258302,32.258546],[102.258246,32.2582],[102.258252,32.257873],[102.258296,32.257621],[102.258341,32.257368],[102.258389,32.257127],[102.258437,32.256886],[102.25846,32.256773],[102.258418,32.256345],[102.258377,32.255916],[102.258264,32.255637],[102.258118,32.255428],[102.257972,32.25522],[102.257868,32.254991],[102.257764,32.254762],[102.257609,32.254423],[102.257556,32.254188],[102.257502,32.253953],[102.257466,32.253575],[102.257431,32.253198],[102.257389,32.252936],[102.257336,32.252728],[102.257246,32.252567],[102.257133,32.252442],[102.257104,32.252293],[102.257115,32.252079],[102.257234,32.251758],[102.257336,32.251502],[102.257337,32.251474],[102.257357,32.25106],[102.257377,32.250646],[102.257336,32.250378],[102.25727,32.250182],[102.257128,32.250035],[102.257092,32.249997],[102.256936,32.249788],[102.256919,32.249765],[102.256753,32.249355],[102.256634,32.249153],[102.256485,32.249028],[102.256408,32.248766],[102.25639,32.248516],[102.256402,32.248254],[102.256443,32.247923],[102.256485,32.247592],[102.256527,32.247261],[102.256515,32.246862],[102.256517,32.246441],[102.25652,32.246019],[102.256521,32.245976],[102.256592,32.245661],[102.256628,32.24542],[102.256663,32.245179],[102.25686,32.244822],[102.256989,32.244548],[102.257117,32.244275],[102.257246,32.244001],[102.257353,32.243739],[102.257496,32.243537],[102.257663,32.243478],[102.257919,32.243472],[102.258204,32.243478],[102.25843,32.243495],[102.258656,32.243513],[102.258914,32.2436],[102.259172,32.243686],[102.25936,32.243775],[102.259539,32.243859],[102.259749,32.243958],[102.25996,32.244057],[102.260175,32.244125],[102.26039,32.244193],[102.260604,32.24426],[102.260819,32.244328],[102.261034,32.244396],[102.261223,32.244456],[102.261249,32.244464],[102.261629,32.244609],[102.261892,32.244709],[102.262247,32.244895],[102.262602,32.245081],[102.262779,32.245185],[102.263064,32.245329],[102.263109,32.245351],[102.263439,32.245518],[102.263689,32.245589],[102.264081,32.245723],[102.264474,32.245857],[102.264516,32.245864],[102.264737,32.245959],[102.265141,32.246134],[102.265495,32.246382],[102.265848,32.24663],[102.266223,32.246842],[102.266598,32.247053],[102.266901,32.247326],[102.267026,32.247523],[102.267097,32.247707],[102.267197,32.247788],[102.267258,32.247838],[102.267523,32.24804],[102.267787,32.248242],[102.26794,32.248354],[102.268055,32.248439],[102.268364,32.248663],[102.268674,32.248887],[102.268983,32.249111],[102.269304,32.249283],[102.269544,32.249486],[102.269679,32.2496],[102.269843,32.249804],[102.270091,32.250113],[102.270242,32.250301],[102.270393,32.250489],[102.270544,32.250677],[102.270695,32.250865],[102.270846,32.251054],[102.270997,32.251242],[102.271173,32.251419],[102.271349,32.251597],[102.271525,32.251775],[102.271701,32.251952],[102.271876,32.25213],[102.272052,32.252308],[102.272228,32.252485],[102.272404,32.252663],[102.272629,32.25282],[102.272853,32.252977],[102.273078,32.253135],[102.273302,32.253292],[102.273527,32.253449],[102.273752,32.253607],[102.273971,32.253722],[102.274191,32.253837],[102.274411,32.253952],[102.27463,32.254067],[102.27485,32.254182],[102.27507,32.254297],[102.275439,32.2544],[102.275808,32.254503],[102.276102,32.254588],[102.276397,32.254673],[102.276749,32.254713],[102.277101,32.254752],[102.277548,32.25473],[102.27797,32.25471],[102.277996,32.254708],[102.278294,32.254667],[102.278476,32.254642],[102.278593,32.254626],[102.278628,32.254615],[102.278839,32.254549],[102.278874,32.254538],[102.279156,32.25445],[102.279421,32.25425],[102.279687,32.25405],[102.279842,32.253856],[102.279996,32.253662],[102.280151,32.253468],[102.280306,32.253274],[102.280484,32.252884],[102.280663,32.252493],[102.28071,32.252194],[102.280757,32.251895],[102.280875,32.251676],[102.281065,32.251538],[102.281255,32.251401],[102.2815,32.25128],[102.281744,32.251159],[102.28212,32.25102],[102.282496,32.250881],[102.282871,32.250741],[102.283094,32.250677],[102.283318,32.250613],[102.283541,32.250548],[102.283764,32.250484],[102.283987,32.25042],[102.28421,32.250355],[102.284418,32.25025],[102.284626,32.250144],[102.284662,32.250113],[102.284949,32.249866],[102.285211,32.24964],[102.285235,32.24962],[102.285354,32.249378],[102.285473,32.249136],[102.285592,32.248894],[102.285711,32.248652],[102.285797,32.248409],[102.285883,32.248166],[102.285969,32.247924],[102.286056,32.247681],[102.286142,32.247438],[102.286228,32.247195],[102.286314,32.246952],[102.286401,32.24671],[102.286512,32.246504],[102.286624,32.246299],[102.286735,32.246093],[102.286847,32.245888],[102.286958,32.245683],[102.287069,32.245477],[102.287181,32.245272],[102.287292,32.245066],[102.28738,32.244905],[102.28738,32.244905],[102.287404,32.244861],[102.287515,32.244656],[102.287627,32.24445],[102.287738,32.244245],[102.287954,32.243924],[102.288169,32.243603],[102.288436,32.24342],[102.288651,32.243277],[102.288866,32.243134],[102.28908,32.242992],[102.289295,32.242849],[102.28951,32.242706],[102.289725,32.242564],[102.289897,32.24241],[102.290069,32.242255],[102.29024,32.242101],[102.290412,32.241947],[102.290584,32.241793],[102.29071,32.24168],[102.290756,32.241639],[102.290931,32.241406],[102.291105,32.241173],[102.291226,32.240828],[102.291348,32.240484],[102.291383,32.240248],[102.291418,32.240012],[102.291453,32.239776],[102.291488,32.23954],[102.291497,32.23924],[102.291505,32.23894],[102.291426,32.238691],[102.291347,32.238442],[102.291267,32.238193],[102.291188,32.237944],[102.291109,32.237696],[102.291029,32.237447],[102.290958,32.237234],[102.290886,32.23702],[102.290814,32.236807],[102.290742,32.236594],[102.29067,32.236381],[102.290599,32.236168],[102.290527,32.235955],[102.290455,32.235742],[102.290383,32.235529],[102.290312,32.235316],[102.29025,32.234904],[102.290295,32.234653],[102.290431,32.234435],[102.290568,32.234217],[102.29083,32.233852],[102.290958,32.233672],[102.291091,32.233486],[102.291353,32.233121],[102.291615,32.232755],[102.291785,32.232554],[102.291955,32.232353],[102.292124,32.232153],[102.292294,32.231952],[102.292464,32.231751],[102.292634,32.23155],[102.292804,32.231349],[102.292974,32.231149],[102.293003,32.231101],[102.293106,32.230934],[102.293237,32.23072],[102.293369,32.230506],[102.293501,32.230292],[102.293632,32.230078],[102.293764,32.229864],[102.293896,32.22965],[102.294027,32.229435],[102.294121,32.229187],[102.29414,32.229135],[102.294214,32.228938],[102.294308,32.22869],[102.294401,32.228441],[102.294471,32.228254],[102.294472,32.228254],[102.294495,32.228193],[102.294588,32.227944],[102.294682,32.227696],[102.294775,32.227447],[102.294869,32.227198],[102.294962,32.22695],[102.295055,32.226701],[102.295149,32.226453],[102.295226,32.226248],[102.295226,32.226248],[102.295226,32.226248],[102.295395,32.225923],[102.295575,32.225674],[102.295811,32.225519],[102.296154,32.225385],[102.296496,32.225251],[102.296668,32.225251],[102.296924,32.225394],[102.297043,32.225602],[102.297105,32.225843],[102.297168,32.226084],[102.297418,32.226435],[102.297644,32.226607],[102.297935,32.226905],[102.298227,32.227202],[102.298476,32.227434],[102.29875,32.227618],[102.299022,32.227847],[102.299293,32.228075],[102.299565,32.228303],[102.299849,32.228545],[102.300133,32.228788],[102.300402,32.229018],[102.300672,32.229248],[102.300925,32.229498],[102.301179,32.229748],[102.301433,32.229998],[102.30165,32.230188],[102.301867,32.230379],[102.302111,32.230569],[102.302355,32.230759],[102.302599,32.23095],[102.302878,32.231137],[102.303158,32.231324],[102.303313,32.231503],[102.303377,32.231638],[102.30342,32.231729],[102.303485,32.231973],[102.303568,32.232092],[102.303872,32.232258],[102.304253,32.232389],[102.304485,32.23249],[102.304657,32.232657],[102.30483,32.232847],[102.305002,32.232999],[102.305175,32.233151],[102.305398,32.233258],[102.305621,32.233365],[102.305832,32.23352],[102.306043,32.233674],[102.306218,32.233868],[102.306329,32.233989],[102.306531,32.234239],[102.306662,32.234483],[102.306793,32.234727],[102.306828,32.234793],[102.307054,32.235149],[102.307164,32.235465],[102.307275,32.23578],[102.307435,32.236179],[102.307596,32.236577],[102.307611,32.236937],[102.307625,32.237297],[102.307679,32.237606],[102.307744,32.237767],[102.307991,32.237942],[102.308238,32.238118],[102.3085,32.238252],[102.308762,32.238386],[102.309196,32.238493],[102.309398,32.238558],[102.309559,32.238671],[102.309803,32.238826],[102.309969,32.239052],[102.310154,32.239314],[102.31035,32.239444],[102.310618,32.239504],[102.311037,32.239644],[102.311181,32.239692],[102.311456,32.239783],[102.311772,32.239849],[102.31198,32.239837],[102.312283,32.239789],[102.312432,32.239744],[102.312634,32.239682],[102.312908,32.239608],[102.313182,32.239534],[102.313455,32.23954],[102.313836,32.239605],[102.314183,32.239728],[102.314185,32.239729],[102.314187,32.23973],[102.314463,32.239798],[102.31474,32.239867],[102.31496,32.239926],[102.31518,32.239986],[102.315424,32.239989],[102.315668,32.239992],[102.315909,32.239992],[102.31615,32.239992],[102.316406,32.239965],[102.316661,32.239938],[102.317084,32.239861],[102.317456,32.239792],[102.317626,32.239761],[102.317827,32.239724],[102.318256,32.239659],[102.318684,32.239593],[102.318958,32.23954],[102.319362,32.239403],[102.3196,32.239391],[102.319838,32.239379],[102.320177,32.239409],[102.320516,32.239438],[102.320903,32.239482],[102.32129,32.239526],[102.321676,32.239569],[102.321811,32.239579],[102.322127,32.239602],[102.322443,32.239624],[102.322759,32.239647],[102.322946,32.239643],[102.323044,32.239641],[102.323425,32.239563],[102.323642,32.239465],[102.323859,32.239367],[102.3241,32.239254],[102.324341,32.239141],[102.324698,32.239016],[102.325055,32.238891],[102.325373,32.238817],[102.325692,32.238742],[102.325954,32.238667],[102.326177,32.238604],[102.326399,32.23854],[102.326774,32.238368],[102.327149,32.238195],[102.327506,32.238073],[102.327863,32.237951],[102.328142,32.237842],[102.328422,32.237733],[102.328484,32.237709],[102.328702,32.237624],[102.329017,32.237535],[102.329332,32.237446],[102.329346,32.237443],[102.329613,32.237394],[102.329879,32.237345],[102.330127,32.237337],[102.330419,32.237329],[102.330712,32.237321],[102.331087,32.237291],[102.331462,32.237261],[102.331575,32.237261],[102.331854,32.237309],[102.332074,32.237333],[102.332425,32.237327],[102.332705,32.237321],[102.332985,32.237309],[102.33301,32.237302],[102.333098,32.237279],[102.333407,32.237065],[102.333681,32.236809],[102.333898,32.236654],[102.334055,32.236541],[102.334305,32.236422],[102.334579,32.236405],[102.334633,32.236396],[102.334633,32.236396],[102.334633,32.236396],[102.334894,32.236356],[102.335156,32.236315],[102.335578,32.236202],[102.335888,32.236048],[102.336286,32.235869],[102.336471,32.235787],[102.336664,32.235701],[102.336768,32.235655],[102.337012,32.235578],[102.337256,32.2355],[102.337497,32.235453],[102.337738,32.235405],[102.337992,32.235362],[102.338247,32.235318],[102.338326,32.235304],[102.338675,32.235189],[102.339024,32.235074],[102.339373,32.234959],[102.339635,32.234849],[102.339897,32.234739],[102.340144,32.234626],[102.340391,32.234513],[102.340715,32.234332],[102.341039,32.23415],[102.341322,32.234022],[102.341604,32.233894],[102.341967,32.233644],[102.34233,32.233395],[102.342693,32.233145],[102.342976,32.232946],[102.34326,32.232748],[102.343543,32.23255],[102.343829,32.232241],[102.344091,32.23189],[102.344358,32.23161],[102.344648,32.231398],[102.344937,32.231186],[102.345227,32.230974],[102.345465,32.230843],[102.345703,32.230712],[102.345893,32.230556],[102.346083,32.230401],[102.346095,32.230391],[102.346434,32.230141],[102.346613,32.229977],[102.346791,32.229814],[102.347,32.229715],[102.347208,32.229617],[102.347567,32.229427],[102.347926,32.229237],[102.348285,32.229046],[102.348692,32.228871],[102.349099,32.228695],[102.349415,32.22857],[102.349748,32.228433],[102.350085,32.228287],[102.350422,32.22814],[102.350759,32.227993],[102.351125,32.227862],[102.351491,32.227731],[102.351817,32.227606],[102.35183,32.227601],[102.352228,32.227571],[102.352615,32.227601],[102.352953,32.227658],[102.353002,32.227666],[102.353269,32.22772],[102.353424,32.227726],[102.353609,32.227708],[102.3539,32.227648],[102.354156,32.227565],[102.354382,32.227497],[102.354608,32.227428],[102.354635,32.22742],[102.355037,32.227355],[102.355145,32.227337],[102.355233,32.227333],[102.355414,32.227293],[102.355474,32.22728],[102.355506,32.227273],[102.35572,32.227208],[102.355725,32.227198],[102.35581,32.227024],[102.35582,32.226992],[102.355899,32.226744],[102.355982,32.226533],[102.356065,32.226322],[102.356089,32.226096],[102.356113,32.22587],[102.356172,32.22556],[102.356214,32.225435],[102.356428,32.225281],[102.356684,32.225037],[102.356821,32.224936],[102.356892,32.224823],[102.356976,32.224626],[102.357118,32.224489],[102.357119,32.224489],[102.35712,32.224489],[102.357326,32.224365],[102.357493,32.22424],[102.357695,32.223901],[102.357862,32.223698],[102.358153,32.223478],[102.35835,32.223371],[102.358463,32.223288],[102.358522,32.223169],[102.358599,32.22302],[102.358891,32.222717],[102.359101,32.222425],[102.359153,32.222354],[102.359211,32.222263],[102.359301,32.222122],[102.359426,32.222021],[102.359569,32.221961],[102.359719,32.221781],[102.359868,32.2216],[102.360077,32.221348],[102.360218,32.221164],[102.360345,32.220965],[102.360473,32.220766],[102.36064,32.220403],[102.360821,32.220046],[102.361003,32.219689],[102.361107,32.219335],[102.361211,32.218981],[102.361407,32.218636],[102.361621,32.218345],[102.361717,32.218113],[102.361812,32.217881],[102.361919,32.217581],[102.362026,32.217282],[102.362133,32.216982],[102.362156,32.216877],[102.362237,32.216504],[102.362317,32.216132],[102.362414,32.215829],[102.362419,32.215816],[102.362573,32.215406],[102.362674,32.215067],[102.362722,32.214734],[102.362784,32.214392],[102.362847,32.21405],[102.362972,32.213627],[102.363007,32.213455],[102.363168,32.213264],[102.363345,32.213066],[102.363522,32.212868],[102.363561,32.212824],[102.36365,32.212592],[102.363715,32.212378],[102.363769,32.21214],[102.363787,32.211839],[102.363805,32.211537],[102.363822,32.211236],[102.363786,32.210824],[102.363749,32.210413],[102.363739,32.210296],[102.363717,32.21005],[102.363715,32.210028],[102.363793,32.209689],[102.3639,32.209314],[102.36405,32.209049],[102.364064,32.209024],[102.364102,32.208958],[102.364393,32.208642],[102.364646,32.208425],[102.364899,32.208208],[102.365185,32.208044],[102.36547,32.207881],[102.365613,32.207809],[102.365672,32.207746],[102.365684,32.207732],[102.365684,32.207643],[102.365625,32.207458],[102.365595,32.2072],[102.365565,32.206941],[102.365502,32.206706],[102.365452,32.206522],[102.365339,32.206102],[102.365316,32.205829],[102.365339,32.205507],[102.365423,32.205252],[102.365537,32.204975],[102.365652,32.204699],[102.365666,32.204663],[102.36572,32.204413],[102.365747,32.204151],[102.365774,32.203889],[102.365683,32.20361],[102.365637,32.203467],[102.365559,32.203294],[102.365464,32.203062],[102.365369,32.202926],[102.365185,32.202747],[102.365101,32.20264],[102.365113,32.202343],[102.365119,32.202075],[102.365125,32.201807],[102.365131,32.201563],[102.365238,32.20123],[102.365298,32.201111],[102.365452,32.200986],[102.365637,32.200873],[102.36575,32.200719],[102.365876,32.200404],[102.36594,32.200243],[102.366012,32.200011],[102.36616,32.199749],[102.366374,32.199452],[102.366398,32.199412],[102.366402,32.199402],[102.366478,32.199242],[102.366582,32.198942],[102.366598,32.198896],[102.366572,32.198549],[102.366545,32.198478],[102.36644,32.198417],[102.366142,32.19825],[102.365893,32.198024],[102.365637,32.197816],[102.365557,32.197774],[102.3655,32.197744],[102.365434,32.197709],[102.365357,32.197619],[102.365262,32.197364],[102.365119,32.196965],[102.365039,32.196694],[102.364959,32.196424],[102.364881,32.196067],[102.36478,32.19593],[102.364593,32.195671],[102.364405,32.195412],[102.364395,32.195397],[102.364162,32.195066],[102.363929,32.194734],[102.363834,32.194556],[102.363781,32.194383],[102.363739,32.194074],[102.363674,32.193896],[102.363543,32.193723],[102.363332,32.193423],[102.36312,32.193122],[102.362948,32.192908],[102.362938,32.19271],[102.362936,32.192682],[102.362859,32.192498],[102.362639,32.192117],[102.362439,32.191879],[102.36224,32.191641],[102.362044,32.191397],[102.361943,32.191225],[102.361904,32.19115],[102.361859,32.191064],[102.361782,32.190939],[102.361681,32.19088],[102.361496,32.190874],[102.361357,32.19087],[102.360997,32.190862],[102.360824,32.190838],[102.36067,32.190737],[102.360529,32.190663],[102.360455,32.190624],[102.360271,32.190594],[102.360104,32.190523],[102.359962,32.190392],[102.359831,32.190291],[102.359724,32.190243],[102.359456,32.190225],[102.359022,32.190237],[102.358977,32.190237],[102.358843,32.190237],[102.358707,32.190166],[102.35854,32.190059],[102.358415,32.190029],[102.358201,32.190011],[102.357892,32.190035],[102.357731,32.190017],[102.357614,32.189973],[102.357558,32.189952],[102.35738,32.189767],[102.357178,32.189488],[102.357023,32.189262],[102.356934,32.18894],[102.356868,32.188661],[102.356857,32.188523],[102.356857,32.18852],[102.356857,32.188518],[102.356773,32.188411],[102.356607,32.188215],[102.356494,32.187977],[102.356529,32.187768],[102.356636,32.187584],[102.35672,32.187394],[102.356708,32.187301],[102.356702,32.187251],[102.356517,32.186906],[102.356419,32.18676],[102.356369,32.186686],[102.356268,32.186585],[102.356024,32.186424],[102.355804,32.18624],[102.355628,32.186094],[102.355453,32.185948],[102.355298,32.18571],[102.355149,32.185383],[102.355131,32.185181],[102.355042,32.18502],[102.354882,32.184866],[102.354617,32.18472],[102.354352,32.184574],[102.353954,32.184407],[102.353626,32.184158],[102.35343,32.18392],[102.353258,32.183741],[102.353097,32.183581],[102.352924,32.183515],[102.352703,32.183441],[102.352481,32.183367],[102.352193,32.183271],[102.351958,32.183182],[102.351723,32.183093],[102.35139,32.183045],[102.351223,32.183015],[102.351134,32.182873],[102.351074,32.182676],[102.351059,32.182498],[102.351039,32.182272],[102.350973,32.181887],[102.350908,32.181503],[102.350842,32.181118],[102.350765,32.180927],[102.35061,32.180761],[102.350429,32.180588],[102.350248,32.180416],[102.350019,32.180279],[102.34979,32.180142],[102.349447,32.179997],[102.349105,32.179851],[102.348963,32.179791],[102.348927,32.17972],[102.348927,32.179607],[102.349004,32.179452],[102.349123,32.179292],[102.349399,32.179026],[102.349675,32.17876],[102.349896,32.178609],[102.350117,32.178458],[102.35052,32.17832],[102.350924,32.178182],[102.351328,32.178044],[102.351731,32.177905],[102.352105,32.177791],[102.352479,32.177676],[102.352853,32.177562],[102.353226,32.177447],[102.353576,32.177364],[102.353925,32.177281],[102.354275,32.177198],[102.354703,32.177097],[102.355078,32.177055],[102.35531,32.177046],[102.355542,32.177037],[102.355851,32.176942],[102.355869,32.176936],[102.355893,32.176928],[102.356014,32.176886],[102.356243,32.176809],[102.356472,32.176732],[102.356696,32.176633],[102.356919,32.176534],[102.357171,32.176423],[102.357367,32.176336],[102.35759,32.176237],[102.357814,32.176138],[102.358013,32.17605],[102.35829,32.175865],[102.358593,32.175692],[102.358895,32.175519],[102.359198,32.175347],[102.359331,32.17527],[102.35962,32.175128],[102.359908,32.174985],[102.360021,32.174878],[102.360099,32.174753],[102.36011,32.17461],[102.360116,32.174383],[102.360122,32.174146],[102.360146,32.173944],[102.360206,32.173837],[102.360348,32.173753],[102.360551,32.173623],[102.360676,32.173426],[102.360729,32.1732],[102.360705,32.172962],[102.360661,32.172605],[102.360616,32.172248],[102.360616,32.172022],[102.360646,32.171921],[102.360967,32.171659],[102.361211,32.171576],[102.361532,32.171499],[102.361764,32.17138],[102.361931,32.171291],[102.362145,32.171148],[102.362401,32.170987],[102.362656,32.170827],[102.36293,32.170708],[102.363261,32.170513],[102.363591,32.170318],[102.363656,32.170279],[102.3639,32.170154],[102.364072,32.170006],[102.364251,32.16975],[102.36434,32.169405],[102.36434,32.169149],[102.364304,32.168953],[102.364292,32.168925],[102.364191,32.168689],[102.36409,32.168453],[102.36398,32.168185],[102.36387,32.167918],[102.363779,32.167605],[102.363727,32.167424],[102.363668,32.16702],[102.363573,32.166799],[102.363424,32.16663],[102.363275,32.16646],[102.363014,32.166281],[102.362754,32.166103],[102.362493,32.165924],[102.36246,32.165901],[102.362335,32.165776],[102.36227,32.165628],[102.362234,32.16536],[102.362198,32.165092],[102.362198,32.164848],[102.362198,32.164604],[102.362202,32.164547],[102.362213,32.164366],[102.362235,32.163995],[102.362258,32.163623],[102.362258,32.163454],[102.362258,32.163325],[102.362234,32.163129],[102.362127,32.162796],[102.362103,32.162671],[102.362109,32.162534],[102.362192,32.162427],[102.362532,32.162201],[102.362766,32.161937],[102.363,32.161674],[102.363233,32.16141],[102.363495,32.161243],[102.363727,32.161124],[102.364025,32.161047],[102.364289,32.160991],[102.364554,32.160934],[102.364881,32.160934],[102.365155,32.160952],[102.365321,32.160964],[102.365546,32.160933],[102.365583,32.160928],[102.365653,32.1609],[102.365851,32.160821],[102.366184,32.16072],[102.366449,32.160663],[102.366713,32.160607],[102.366945,32.160577],[102.367183,32.160583],[102.367198,32.160583],[102.367264,32.16057],[102.367663,32.160494],[102.368061,32.160418],[102.368253,32.160397],[102.368468,32.160339],[102.368778,32.160155],[102.369045,32.160083],[102.369273,32.160032],[102.369501,32.159981],[102.369599,32.159958],[102.370018,32.159828],[102.370437,32.159697],[102.370622,32.159661],[102.370764,32.159673],[102.370943,32.159715],[102.370988,32.159727],[102.371098,32.159756],[102.37127,32.159804],[102.371496,32.159828],[102.371764,32.159881],[102.372032,32.159935],[102.372252,32.160033],[102.372472,32.160131],[102.372692,32.160214],[102.372882,32.160286],[102.373236,32.160342],[102.37359,32.160399],[102.373745,32.160494],[102.37381,32.160619],[102.37381,32.160768],[102.37378,32.160922],[102.373774,32.160952],[102.373774,32.161148],[102.373828,32.161368],[102.373965,32.161553],[102.37406,32.161618],[102.374328,32.161713],[102.374548,32.161826],[102.374839,32.16191],[102.375048,32.161975],[102.37528,32.162017],[102.375399,32.162037],[102.375601,32.16207],[102.375672,32.162171],[102.375697,32.162262],[102.375761,32.162493],[102.37588,32.162695],[102.376071,32.162933],[102.376243,32.163218],[102.376368,32.163427],[102.3766,32.163581],[102.376975,32.16376],[102.377266,32.163891],[102.377427,32.163938],[102.377724,32.164158],[102.377897,32.164301],[102.377939,32.164372],[102.37801,32.164557],[102.378069,32.164783],[102.378135,32.164884],[102.378266,32.164949],[102.378593,32.165039],[102.378884,32.165086],[102.379122,32.165086],[102.37936,32.165074],[102.379509,32.165134],[102.379586,32.165175],[102.379795,32.165288],[102.379884,32.165336],[102.380181,32.165348],[102.38036,32.165413],[102.380538,32.165491],[102.380693,32.165544],[102.38097,32.165549],[102.381062,32.16555],[102.381466,32.165651],[102.381752,32.165782],[102.382055,32.165943],[102.382192,32.166084],[102.382233,32.166127],[102.382394,32.166401],[102.382442,32.166457],[102.382662,32.166716],[102.382799,32.166829],[102.382947,32.166871],[102.38312,32.166901],[102.383304,32.166907],[102.383602,32.166889],[102.383754,32.166892],[102.383923,32.166895],[102.384185,32.166942],[102.384369,32.166972],[102.384708,32.16696],[102.38491,32.166936],[102.385255,32.16702],[102.385427,32.167057],[102.385666,32.167109],[102.385904,32.16718],[102.386186,32.167245],[102.386468,32.167309],[102.386606,32.167341],[102.386981,32.167409],[102.387169,32.167444],[102.387211,32.167531],[102.387477,32.168163],[102.388857,32.169446],[102.391037,32.170552],[102.393159,32.171705],[102.394544,32.172842],[102.395433,32.173487],[102.396988,32.174629],[102.398376,32.17567],[102.399263,32.176363],[102.40031,32.177446],[102.401627,32.178968],[102.402338,32.179899],[102.403043,32.181022],[102.403964,32.182536],[102.404182,32.182879],[102.404271,32.183019],[102.404692,32.183682],[102.404709,32.183709],[102.404833,32.183904],[102.40533,32.184349],[102.406406,32.184419],[102.407528,32.184828],[102.408253,32.185277],[102.408992,32.187221],[102.409303,32.18824],[102.409318,32.188261],[102.409432,32.188425],[102.40958,32.188638],[102.409848,32.189023],[102.410091,32.189611],[102.410432,32.190433],[102.410594,32.190966],[102.410847,32.191792],[102.410954,32.19333],[102.410968,32.19353],[102.410968,32.19354],[102.410986,32.194881],[102.411247,32.19592],[102.411356,32.196353],[102.411547,32.19711],[102.4118,32.198187],[102.411863,32.198457],[102.411898,32.198606],[102.411933,32.198756],[102.411959,32.19887],[102.412002,32.199049],[102.412074,32.199232],[102.412156,32.199442],[102.412229,32.199627],[102.412318,32.199855],[102.412379,32.200033],[102.412438,32.200171],[102.412478,32.200265],[102.412587,32.20041],[102.412705,32.200569],[102.41282,32.200724],[102.412911,32.200846],[102.41318,32.201208],[102.413353,32.20144],[102.413513,32.202148],[102.413605,32.202554],[102.413614,32.202796],[102.413632,32.203286],[102.413637,32.203423],[102.414411,32.204114],[102.415356,32.204808],[102.416104,32.206066],[102.416547,32.20681],[102.416637,32.207632],[102.416782,32.208527],[102.416927,32.209422],[102.416984,32.209705],[102.417051,32.210043],[102.417605,32.211043],[102.417692,32.211151],[102.418648,32.212336],[102.419035,32.213332],[102.419601,32.214079],[102.419855,32.214414],[102.420014,32.214855],[102.420069,32.215005],[102.420144,32.215214],[102.419942,32.215631],[102.419914,32.215689],[102.419814,32.215896],[102.418535,32.217087],[102.418141,32.21782],[102.417613,32.218867],[102.417531,32.219554],[102.417815,32.220512],[102.418602,32.221322],[102.419013,32.222177],[102.419167,32.223345],[102.419273,32.223626],[102.419688,32.224732],[102.419912,32.225636],[102.419875,32.226958],[102.420208,32.228394],[102.420318,32.230043],[102.420339,32.230355],[102.420302,32.231677],[102.419766,32.23299],[102.419399,32.233719],[102.419323,32.23387],[102.419239,32.234037],[102.419122,32.234151],[102.418983,32.234286],[102.418831,32.234433],[102.418705,32.234556],[102.418598,32.234659],[102.418473,32.234774],[102.418325,32.23491],[102.418158,32.235063],[102.418007,32.235202],[102.417853,32.235344],[102.41775,32.235438],[102.417639,32.235539],[102.417541,32.235682],[102.417414,32.235866],[102.417309,32.236018],[102.417174,32.236213],[102.417037,32.236412],[102.416916,32.236586],[102.416804,32.236747],[102.416716,32.236876],[102.416665,32.236948],[102.416619,32.237092],[102.416555,32.237289],[102.41649,32.23749],[102.41642,32.237706],[102.416352,32.237915],[102.416279,32.238147],[102.416218,32.238329],[102.416174,32.238463],[102.416143,32.23856],[102.41612,32.238631],[102.416079,32.238774],[102.416052,32.238872],[102.416023,32.238974],[102.415968,32.239168],[102.41593,32.239304],[102.415883,32.239472],[102.415843,32.239614],[102.415806,32.239744],[102.415764,32.239893],[102.415726,32.240027],[102.415704,32.240104],[102.415676,32.240225],[102.41565,32.240335],[102.415608,32.240515],[102.415604,32.240533],[102.415577,32.240649],[102.415572,32.240669],[102.415551,32.240761],[102.415533,32.240835],[102.415506,32.240951],[102.415421,32.241316],[102.41539,32.241667],[102.415384,32.241737],[102.415376,32.241816],[102.415371,32.241877],[102.415364,32.241956],[102.415355,32.242057],[102.415347,32.242148],[102.415337,32.242266],[102.415325,32.242392],[102.415315,32.242508],[102.415303,32.242639],[102.415292,32.242763],[102.41528,32.242898],[102.415269,32.243022],[102.415259,32.243138],[102.41525,32.24324],[102.415243,32.243317],[102.415238,32.243376],[102.415229,32.243481],[102.415221,32.243576],[102.415209,32.243711],[102.415202,32.24379],[102.415198,32.243836],[102.415192,32.243905],[102.415187,32.243961],[102.415181,32.244025],[102.415175,32.244101],[102.415166,32.2442],[102.415158,32.24429],[102.415152,32.244359],[102.415148,32.244403],[102.415146,32.244433],[102.415142,32.244446],[102.415129,32.244497],[102.415114,32.244559],[102.415101,32.244609],[102.415088,32.244659],[102.415068,32.244738],[102.41505,32.244809],[102.415031,32.24488],[102.415018,32.244933],[102.415006,32.244978],[102.414985,32.24506],[102.414936,32.245253],[102.414889,32.245437],[102.414839,32.245634],[102.414796,32.245802],[102.414757,32.246127],[102.414722,32.246418],[102.414686,32.246721],[102.414657,32.246967],[102.414632,32.247174],[102.414652,32.247353],[102.414679,32.247592],[102.414703,32.247831],[102.414724,32.248002],[102.414739,32.248127],[102.414747,32.248199],[102.41477,32.2484],[102.414781,32.248501],[102.414838,32.248624],[102.414938,32.248818],[102.415024,32.249023],[102.415075,32.249142],[102.415078,32.249232],[102.415083,32.249368],[102.415087,32.249517],[102.415093,32.249679],[102.415097,32.249807],[102.415101,32.24994],[102.415105,32.250051],[102.415108,32.250148],[102.415112,32.250244],[102.415114,32.250319],[102.415117,32.250437],[102.415122,32.250547],[102.415126,32.250681],[102.415131,32.250786],[102.415135,32.2509],[102.415139,32.251002],[102.415141,32.251063],[102.415155,32.251458],[102.415166,32.251793],[102.415178,32.252108],[102.415206,32.252674],[102.415223,32.253017],[102.415242,32.253404],[102.415257,32.253697],[102.415391,32.254232],[102.415461,32.254511],[102.415537,32.254814],[102.415592,32.255207],[102.415631,32.255493],[102.415692,32.255929],[102.415758,32.256703],[102.415802,32.257217],[102.415832,32.257572],[102.415819,32.258033],[102.415811,32.258313],[102.415796,32.258842],[102.415904,32.259139],[102.416011,32.259436],[102.416096,32.259672],[102.416143,32.259802],[102.416492,32.260656],[102.416699,32.261108],[102.416786,32.261297],[102.41745,32.262051],[102.417453,32.262056],[102.417456,32.26206],[102.418229,32.263126],[102.419002,32.264412],[102.419549,32.264922],[102.420045,32.265385],[102.420277,32.265602],[102.420628,32.266403],[102.420724,32.267411],[102.420893,32.268049],[102.42177,32.267856],[102.421921,32.267703],[102.422059,32.267564],[102.422254,32.267366],[102.422484,32.267134],[102.422632,32.266984],[102.422796,32.266818],[102.423073,32.266688],[102.423305,32.26658],[102.423554,32.266463],[102.423829,32.26643],[102.424033,32.266405],[102.424304,32.266372],[102.424513,32.266241],[102.424673,32.26614],[102.424874,32.266014],[102.425064,32.265896],[102.425256,32.265777],[102.425453,32.265654],[102.425699,32.265501],[102.425892,32.265442],[102.426128,32.265369],[102.42637,32.265294],[102.426658,32.265204],[102.426934,32.265119],[102.427144,32.265054],[102.427291,32.265031],[102.427519,32.264995],[102.42776,32.264957],[102.427928,32.264931],[102.428111,32.264902],[102.428333,32.264867],[102.42863,32.26474],[102.428911,32.264616],[102.429196,32.264492],[102.429491,32.264364],[102.429622,32.264307],[102.429846,32.26421],[102.430032,32.26414],[102.430244,32.264061],[102.43055,32.263945],[102.430749,32.263871],[102.430917,32.263808],[102.431113,32.26361],[102.431173,32.263549],[102.431296,32.263705],[102.431401,32.263838],[102.431545,32.264019],[102.431713,32.264233],[102.431843,32.2644],[102.431988,32.264584],[102.432121,32.264754],[102.432211,32.264868],[102.432316,32.265001],[102.432429,32.265219],[102.432531,32.265416],[102.43262,32.265584],[102.432709,32.265757],[102.432788,32.26591],[102.432849,32.266061],[102.432896,32.266178],[102.432961,32.26634],[102.433007,32.266472],[102.433073,32.266629],[102.433139,32.266782],[102.433196,32.266924],[102.433317,32.267488],[102.433452,32.268119],[102.433526,32.268466],[102.433464,32.270687],[102.433592,32.272754],[102.433659,32.274819],[102.433249,32.276081],[102.432833,32.277608],[102.432394,32.27852],[102.432357,32.278597],[102.432303,32.278708],[102.432511,32.280194],[102.432974,32.281421],[102.432813,32.282741],[102.432327,32.283519],[102.43216,32.283786],[102.431994,32.28392],[102.431586,32.284251],[102.431242,32.285408],[102.430894,32.286724],[102.430842,32.286793],[102.430826,32.286815],[102.430739,32.286932],[102.430652,32.287048],[102.430642,32.287061],[102.430613,32.2871],[102.430585,32.287138],[102.43056,32.287172],[102.430546,32.28719],[102.430116,32.287767],[102.429922,32.287892],[102.429164,32.288382],[102.428583,32.289111],[102.428442,32.289646],[102.428394,32.289825],[102.428025,32.291217],[102.427678,32.29248],[102.427089,32.293474],[102.426431,32.29473],[102.425946,32.295245],[102.425403,32.295821],[102.424268,32.296274],[102.423392,32.296415],[102.422145,32.29657],[102.421203,32.296688],[102.419915,32.296739],[102.419457,32.296758],[102.418769,32.296758],[102.41684,32.296757],[102.414842,32.296875],[102.414055,32.29669],[102.413604,32.296585],[102.413298,32.296535],[102.412283,32.296866],[102.412026,32.29686],[102.410568,32.29683],[102.410499,32.296826],[102.409512,32.296756],[102.40948,32.296754],[102.408561,32.296689],[102.407203,32.296611],[102.406307,32.296894],[102.406286,32.297647],[102.406432,32.298755],[102.406342,32.299808],[102.406341,32.299853],[102.406337,32.299987],[102.406333,32.300126],[102.40633,32.300231],[102.406325,32.300416],[102.406319,32.300652],[102.406314,32.300817],[102.406309,32.300995],[102.406304,32.301146],[102.4063,32.301298],[102.406323,32.301464],[102.406345,32.301622],[102.406373,32.301825],[102.406403,32.30204],[102.40643,32.302229],[102.406446,32.302345],[102.406478,32.302577],[102.406507,32.302783],[102.406534,32.302981],[102.406562,32.303179],[102.406563,32.303396],[102.406563,32.303463],[102.406564,32.303568],[102.406565,32.303804],[102.406566,32.304044],[102.406566,32.304154],[102.406566,32.304193],[102.406567,32.304287],[102.406568,32.304556],[102.406569,32.304796],[102.406569,32.304863],[102.40657,32.305096],[102.406571,32.305289],[102.406571,32.305404],[102.406572,32.305591],[102.406572,32.305719],[102.406573,32.305983],[102.406573,32.306104],[102.406573,32.30611],[102.406573,32.306147],[102.406578,32.308137],[102.406479,32.308814],[102.406383,32.309472],[102.406189,32.310741],[102.405829,32.312275],[102.405008,32.313397],[102.403697,32.315111],[102.402707,32.316632],[102.401858,32.318758],[102.401741,32.320095],[102.401235,32.321224],[102.400807,32.322453],[102.400633,32.322953],[102.400456,32.324518],[102.400363,32.32534],[102.400234,32.326324],[102.399947,32.327518],[102.399466,32.33021],[102.399234,32.333035],[102.399008,32.335154],[102.397563,32.334466],[102.396598,32.334668],[102.395766,32.334799],[102.394551,32.334625],[102.393033,32.334372],[102.392014,32.33424],[102.391188,32.334133],[102.390993,32.334108],[102.389526,32.333597],[102.389072,32.333468],[102.388925,32.333294],[102.388894,32.332607],[102.389149,32.332155],[102.389373,32.331759],[102.389392,32.331457],[102.389464,32.330346],[102.389487,32.329532],[102.389525,32.329151],[102.389561,32.328778],[102.38963,32.328077],[102.389636,32.328009],[102.389704,32.327264],[102.389165,32.326696],[102.388519,32.326339],[102.388387,32.326332],[102.388139,32.326319],[102.387743,32.326298],[102.387649,32.326293],[102.387618,32.326291],[102.387208,32.326269],[102.386572,32.326499],[102.386085,32.326675],[102.386012,32.326709],[102.385369,32.327003],[102.385102,32.32711],[102.385082,32.327118],[102.384819,32.327222],[102.38475,32.32725],[102.384245,32.327451],[102.383216,32.328116],[102.382758,32.32835],[102.382698,32.328381],[102.382502,32.328481],[102.382162,32.328655],[102.382089,32.328693],[102.381887,32.328856],[102.381861,32.328876],[102.381055,32.329529],[102.380272,32.330413],[102.37984,32.33139],[102.378605,32.332179],[102.377477,32.332756],[102.376519,32.332736],[102.37576,32.332763],[102.375252,32.332881],[102.375032,32.33349],[102.376298,32.334395],[102.376631,32.334957],[102.376615,32.335512],[102.376028,32.336203],[102.375079,32.337367],[102.373813,32.338969],[102.372799,32.340872],[102.372027,32.341928],[102.371335,32.343283],[102.370191,32.345146],[102.369589,32.346355],[102.369292,32.347606],[102.368694,32.348667],[102.367972,32.34954],[102.367472,32.350232],[102.366066,32.35061],[102.364567,32.351208],[102.363549,32.351741],[102.362957,32.352617],[102.362371,32.353271],[102.362164,32.353634],[102.361683,32.354477],[102.361414,32.35621],[102.361379,32.357431],[102.36127,32.358168],[102.361199,32.359129],[102.361068,32.360643],[102.36063,32.363705],[102.360385,32.364625],[102.360052,32.36558],[102.359888,32.366723],[102.359798,32.368312],[102.35968,32.369383],[102.35931,32.370115],[102.358235,32.371091],[102.357558,32.371891],[102.356533,32.372647],[102.355159,32.373432],[102.354258,32.374412],[102.354239,32.375077],[102.354044,32.375776],[102.353752,32.376806],[102.353545,32.377949],[102.353004,32.378529],[102.352253,32.378883],[102.351855,32.37906],[102.350881,32.379595],[102.351449,32.381049],[102.351995,32.383244],[102.352552,32.385068],[102.352564,32.386142],[102.352579,32.387141],[102.352677,32.387444],[102.353236,32.389172],[102.353459,32.38986],[102.353635,32.39127],[102.354038,32.392425],[102.354352,32.393616],[102.355108,32.394594],[102.355089,32.395259],[102.35438,32.397131],[102.352698,32.399464],[102.351006,32.400686],[102.349568,32.402136],[102.34617,32.407947],[102.345785,32.408491],[102.345772,32.408509],[102.345373,32.409072],[102.3453,32.409175],[102.345289,32.40919],[102.345283,32.409199],[102.345215,32.409296],[102.344227,32.410274],[102.343993,32.410485],[102.342031,32.412263],[102.338886,32.415163],[102.337247,32.416674],[102.33675,32.417132],[102.336709,32.417169],[102.336699,32.417179],[102.336666,32.417209],[102.336623,32.417249],[102.336616,32.417255],[102.336462,32.417397],[102.336382,32.417471],[102.335594,32.417565],[102.334971,32.417589],[102.334328,32.417613],[102.332497,32.417574],[102.331197,32.417287],[102.330141,32.417065],[102.329636,32.416958],[102.327275,32.415687],[102.326135,32.415885],[102.324757,32.416781],[102.323692,32.417387],[102.322646,32.417365],[102.321596,32.417454],[102.320608,32.416952],[102.319248,32.417219],[102.319057,32.41777],[102.31871,32.419168],[102.318842,32.420614],[102.318847,32.420988],[102.318856,32.421613],[102.319034,32.422949],[102.319457,32.426362],[102.319588,32.427807],[102.319737,32.428699],[102.319935,32.429369],[102.320371,32.430858],[102.320451,32.432562],[102.320407,32.434041],[102.320707,32.435712],[102.32075,32.437193],[102.32067,32.438412],[102.320417,32.43959],[102.32037,32.44118],[102.320409,32.442809],[102.320434,32.444918],[102.32067,32.445774],[102.321341,32.446714],[102.321883,32.447539],[102.322678,32.448703],[102.323044,32.449599],[102.325506,32.454868],[102.326407,32.456885],[102.326497,32.458256],[102.32624,32.459545],[102.325773,32.460608],[102.325561,32.461861],[102.325074,32.463553],[102.325061,32.465477],[102.324895,32.466657],[102.324727,32.467911],[102.32456,32.469129],[102.324606,32.470535],[102.324006,32.471633],[102.323588,32.472475],[102.322209,32.47337],[102.321372,32.473611],[102.320272,32.473921],[102.318993,32.474375],[102.317894,32.47461],[102.316193,32.474574],[102.314795,32.474618],[102.314213,32.475123],[102.313725,32.475775],[102.313395,32.476216],[102.313131,32.476667],[102.312199,32.478262],[102.311323,32.479834],[102.311219,32.480334],[102.310916,32.481787],[102.311089,32.483307],[102.311673,32.484208],[102.311739,32.4847],[102.311816,32.485284],[102.31153,32.486092],[102.31063,32.486997],[102.309694,32.487643],[102.308793,32.488586],[102.308286,32.4895],[102.307999,32.490345],[102.307839,32.491304],[102.307815,32.492117],[102.308133,32.49316],[102.308318,32.494274],[102.30869,32.494985],[102.308679,32.495343],[102.308664,32.495872],[102.308633,32.496907],[102.308369,32.49715],[102.308319,32.497197],[102.308144,32.49723],[102.30744,32.497363],[102.307147,32.49745],[102.30559,32.497915],[102.304271,32.498257],[102.303308,32.49831],[102.301595,32.49868],[102.300504,32.498657],[102.300373,32.498609],[102.300303,32.498583],[102.299338,32.498225],[102.298297,32.498018],[102.297387,32.497776],[102.296037,32.497673],[102.295037,32.497541],[102.293911,32.49722],[102.292726,32.497454],[102.292101,32.497884],[102.291871,32.498286],[102.29189,32.499101],[102.291976,32.50062],[102.291887,32.502135],[102.291637,32.503202],[102.291601,32.503375],[102.291597,32.503393],[102.291505,32.503833],[102.29147,32.503999],[102.291382,32.504418],[102.290941,32.506036],[102.290556,32.507212],[102.290392,32.508318],[102.290603,32.510025],[102.29064,32.511691],[102.290391,32.512721],[102.29019,32.513605],[102.289346,32.515511],[102.288597,32.517196],[102.288122,32.517988],[102.287869,32.518673],[102.287337,32.518908],[102.286228,32.519032],[102.284592,32.519194],[102.283165,32.519536],[102.282892,32.519601],[102.281662,32.519821],[102.280661,32.520194],[102.280417,32.5203],[102.280201,32.520393],[102.280189,32.520398],[102.279632,32.520638],[102.279246,32.520805],[102.278934,32.521489],[102.278447,32.522401],[102.277761,32.523683],[102.277274,32.524758],[102.277244,32.524826],[102.277143,32.525049],[102.277014,32.525018],[102.276779,32.524961],[102.276544,32.524904],[102.27631,32.524846],[102.276075,32.524789],[102.275857,32.52472],[102.275639,32.524651],[102.275299,32.52453],[102.275037,32.524347],[102.274816,32.524082],[102.274802,32.52406],[102.274785,32.524033],[102.27465,32.523819],[102.274563,32.523527],[102.274535,32.523284],[102.274531,32.523251],[102.274517,32.523138],[102.274515,32.523108],[102.274514,32.523097],[102.274505,32.522976],[102.274553,32.522872],[102.274604,32.522763],[102.274627,32.522713],[102.274749,32.522451],[102.27489,32.522227],[102.274992,32.522052],[102.274988,32.522033],[102.274974,32.52197],[102.27492,32.521911],[102.274887,32.521875],[102.274809,32.521789],[102.274619,32.521705],[102.274498,32.52168],[102.274354,32.52165],[102.274185,32.521646],[102.274086,32.521644],[102.273972,32.521641],[102.273945,32.52164],[102.273685,32.521627],[102.273398,32.521613],[102.273015,32.521516],[102.27298,32.521506],[102.272871,32.521439],[102.272714,32.521341],[102.272665,32.52131],[102.272604,32.521273],[102.272433,32.521087],[102.272345,32.520991],[102.272162,32.520727],[102.271881,32.520495],[102.2716,32.520327],[102.271536,32.5203],[102.271419,32.52025],[102.271333,32.520214],[102.271306,32.520202],[102.271279,32.520191],[102.271266,32.520188],[102.27088,32.520102],[102.270641,32.520104],[102.270403,32.520107],[102.270124,32.520142],[102.269985,32.520159],[102.269845,32.520177],[102.269719,32.520168],[102.26968,32.520165],[102.2695,32.520152],[102.269215,32.520099],[102.268971,32.519948],[102.268958,32.519931],[102.268931,32.519895],[102.268903,32.519857],[102.268713,32.519601],[102.268591,32.519445],[102.268569,32.519417],[102.268556,32.5194],[102.268475,32.519297],[102.268456,32.519273],[102.268363,32.519104],[102.268242,32.518884],[102.268083,32.518596],[102.268068,32.518568],[102.268027,32.518495],[102.267986,32.51842],[102.267813,32.518106],[102.267707,32.517914],[102.267599,32.517717],[102.267445,32.517468],[102.267417,32.517423],[102.267269,32.517226],[102.267177,32.517127],[102.267019,32.517056],[102.266987,32.517041],[102.26689,32.517035],[102.266644,32.517018],[102.266565,32.517012],[102.266367,32.516998],[102.266319,32.516995],[102.26613,32.51691],[102.265982,32.51676],[102.265873,32.516548],[102.265846,32.516223],[102.265853,32.515964],[102.26592,32.515658],[102.265986,32.515353],[102.266042,32.515195],[102.266049,32.515177],[102.266072,32.515048],[102.266122,32.514677],[102.266013,32.514495],[102.265967,32.514459],[102.265938,32.514437],[102.265863,32.514378],[102.265843,32.514363],[102.265829,32.514356],[102.265524,32.514209],[102.265145,32.514023],[102.264943,32.513842],[102.264759,32.513594],[102.26463,32.513381],[102.264601,32.513044],[102.264572,32.512706],[102.264564,32.512342],[102.264564,32.512341],[102.264562,32.512254],[102.264561,32.512191],[102.264558,32.512084],[102.264557,32.51201],[102.264556,32.511978],[102.264542,32.511781],[102.264535,32.511685],[102.264529,32.511604],[102.264423,32.511328],[102.264391,32.511291],[102.26438,32.511278],[102.264308,32.511196],[102.264219,32.511096],[102.264206,32.511081],[102.2642,32.511073],[102.264173,32.511041],[102.264145,32.511008],[102.264035,32.510876],[102.263985,32.510817],[102.263944,32.510767],[102.263917,32.510743],[102.263897,32.510726],[102.263744,32.51059],[102.263644,32.510502],[102.263581,32.510464],[102.263525,32.510431],[102.263363,32.510333],[102.263221,32.510303],[102.263191,32.510297],[102.263105,32.510295],[102.263045,32.510294],[102.26302,32.510294],[102.262713,32.510303],[102.262465,32.510395],[102.262424,32.51041],[102.262381,32.510443],[102.262272,32.510524],[102.262227,32.510558],[102.262141,32.510622],[102.26211,32.510645],[102.262074,32.510672],[102.261757,32.510913],[102.261519,32.511073],[102.26149,32.511092],[102.261406,32.511148],[102.261268,32.511221],[102.26123,32.511242],[102.261069,32.511285],[102.261006,32.511302],[102.260951,32.511316],[102.260909,32.511328],[102.26085,32.511343],[102.260794,32.511358],[102.260671,32.511391],[102.260385,32.511445],[102.26027,32.511466],[102.260128,32.511493],[102.259869,32.511541],[102.259798,32.511556],[102.259764,32.511563],[102.259715,32.511573],[102.259562,32.511606],[102.259429,32.511666],[102.25942,32.511671],[102.259378,32.51169],[102.259329,32.511712],[102.259096,32.511819],[102.258952,32.511885],[102.258914,32.511902],[102.258876,32.51192],[102.258863,32.511926],[102.258699,32.512001],[102.258629,32.512032],[102.258391,32.512086],[102.258301,32.512106],[102.258153,32.51214],[102.258097,32.512144],[102.257916,32.512158],[102.257678,32.512177],[102.257343,32.512216],[102.257006,32.512303],[102.256693,32.512556],[102.256596,32.512904],[102.256523,32.513161],[102.256498,32.513251],[102.256349,32.513602],[102.256259,32.513811],[102.256169,32.514021],[102.255982,32.514205],[102.255796,32.514389],[102.255623,32.514562],[102.255451,32.514735],[102.255306,32.514932],[102.255161,32.51513],[102.254807,32.51531],[102.254454,32.515491],[102.254177,32.515462],[102.25393,32.515339],[102.253742,32.515123],[102.25361,32.514861],[102.253524,32.514484],[102.253438,32.514108],[102.253385,32.513706],[102.253332,32.513305],[102.25328,32.512903],[102.25327,32.512677],[102.25326,32.512451],[102.25325,32.512225],[102.25324,32.511999],[102.25323,32.511772],[102.25322,32.511546],[102.253211,32.51132],[102.253201,32.511094],[102.253191,32.510867],[102.253181,32.510641],[102.25318,32.510373],[102.25318,32.510106],[102.253179,32.509838],[102.253178,32.50957],[102.253178,32.509303],[102.253177,32.509035],[102.253176,32.508767],[102.253175,32.5085],[102.253175,32.508232],[102.253174,32.507964],[102.253173,32.507696],[102.253173,32.507429],[102.253172,32.507161],[102.253171,32.506893],[102.253171,32.506626],[102.25317,32.506358],[102.253154,32.50612],[102.253138,32.505882],[102.253122,32.505645],[102.253106,32.505407],[102.25309,32.505169],[102.253074,32.504931],[102.253058,32.504694],[102.253042,32.504456],[102.253026,32.504218],[102.25301,32.503981],[102.252994,32.503743],[102.252978,32.503505],[102.25293,32.503249],[102.252882,32.502993],[102.252834,32.502737],[102.252786,32.50248],[102.252738,32.502224],[102.252691,32.501968],[102.252605,32.501755],[102.25252,32.501542],[102.252435,32.501328],[102.25235,32.501115],[102.252265,32.500902],[102.252179,32.500688],[102.252094,32.500475],[102.252009,32.500262],[102.25194,32.500117],[102.251924,32.500082],[102.251843,32.499911],[102.251745,32.499705],[102.251647,32.499499],[102.25155,32.499293],[102.251452,32.499088],[102.251355,32.498882],[102.251263,32.498536],[102.251172,32.49819],[102.25111,32.497955],[102.251048,32.49772],[102.250987,32.497485],[102.250925,32.497251],[102.250863,32.497016],[102.250801,32.496781],[102.250739,32.496547],[102.250677,32.496312],[102.250615,32.496077],[102.250554,32.495842],[102.250492,32.495608],[102.25043,32.495373],[102.250368,32.495138],[102.250306,32.494904],[102.250179,32.494548],[102.250121,32.494388],[102.250051,32.494192],[102.249838,32.493833],[102.249649,32.493642],[102.249348,32.493493],[102.24896,32.493415],[102.248703,32.493409],[102.248446,32.493403],[102.248189,32.493397],[102.247931,32.493392],[102.247666,32.493421],[102.247402,32.49345],[102.247136,32.49348],[102.246871,32.493509],[102.246501,32.49376],[102.246132,32.494011],[102.245762,32.494262],[102.245711,32.494302],[102.245563,32.494415],[102.245363,32.494568],[102.245164,32.49472],[102.244965,32.494873],[102.244765,32.495025],[102.244566,32.495178],[102.244366,32.49533],[102.244167,32.495483],[102.243968,32.495635],[102.243768,32.495788],[102.243569,32.495941],[102.24337,32.496093],[102.243205,32.496252],[102.24304,32.49641],[102.242875,32.496568],[102.24271,32.496727],[102.242545,32.496885],[102.24238,32.497043],[102.242215,32.497202],[102.24205,32.49736],[102.241891,32.497565],[102.241731,32.497771],[102.241572,32.497976],[102.241413,32.498182],[102.241253,32.498387],[102.241176,32.498487],[102.241094,32.498593],[102.240934,32.498798],[102.240775,32.499004],[102.24077,32.499014],[102.240604,32.499375],[102.240433,32.499746],[102.240262,32.500117],[102.240142,32.500378],[102.24003,32.500582],[102.239918,32.500787],[102.239806,32.500992],[102.239694,32.501197],[102.239582,32.501401],[102.23947,32.501606],[102.239358,32.501811],[102.239246,32.502016],[102.239134,32.50222],[102.239022,32.502425],[102.238908,32.502678],[102.238793,32.50293],[102.238679,32.503183],[102.238565,32.503435],[102.238451,32.503688],[102.238393,32.503815],[102.238336,32.50394],[102.238282,32.50419],[102.238228,32.50444],[102.238174,32.50469],[102.23812,32.504941],[102.238066,32.505191],[102.238011,32.505441],[102.237976,32.505699],[102.23794,32.505957],[102.237934,32.506192],[102.237927,32.506427],[102.237959,32.506687],[102.237992,32.506947],[102.238086,32.507165],[102.23818,32.507384],[102.238273,32.507603],[102.238367,32.507822],[102.238461,32.508041],[102.238555,32.50826],[102.238649,32.508479],[102.238742,32.508697],[102.238836,32.508916],[102.23893,32.509135],[102.238986,32.509354],[102.239042,32.509574],[102.239099,32.509793],[102.239155,32.510012],[102.239199,32.510366],[102.239162,32.510672],[102.239042,32.510975],[102.238808,32.5113],[102.238636,32.511473],[102.238464,32.511646],[102.238175,32.511968],[102.237945,32.512246],[102.237826,32.512491],[102.237707,32.512736],[102.237615,32.513016],[102.237608,32.513257],[102.237605,32.513345],[102.237595,32.513674],[102.237694,32.514077],[102.237727,32.514337],[102.237761,32.514597],[102.237753,32.514867],[102.237744,32.515138],[102.237706,32.515514],[102.237615,32.515723],[102.237493,32.516074],[102.237432,32.516293],[102.23737,32.516512],[102.237383,32.516655],[102.237401,32.516853],[102.237433,32.517195],[102.237437,32.517501],[102.237442,32.517807],[102.237442,32.51792],[102.237443,32.518059],[102.237445,32.51831],[102.237446,32.518561],[102.237448,32.518813],[102.237449,32.519064],[102.237451,32.519315],[102.237508,32.519717],[102.237566,32.520118],[102.237527,32.520447],[102.237489,32.520776],[102.237394,32.521174],[102.237246,32.521453],[102.237099,32.521733],[102.236927,32.522082],[102.236755,32.522431],[102.236583,32.52278],[102.236322,32.523136],[102.23606,32.523491],[102.235799,32.523847],[102.235644,32.52402],[102.23549,32.524193],[102.235335,32.524366],[102.23518,32.524539],[102.235025,32.524712],[102.23487,32.524885],[102.234715,32.525059],[102.234561,32.525232],[102.234394,32.525446],[102.234227,32.52566],[102.23406,32.525874],[102.233893,32.526089],[102.233761,32.526333],[102.233629,32.526577],[102.233452,32.526903],[102.2334,32.527196],[102.233349,32.52749],[102.233335,32.527741],[102.23332,32.527992],[102.233306,32.528244],[102.233292,32.528495],[102.233336,32.528861],[102.23338,32.529227],[102.233342,32.529544],[102.233305,32.529861],[102.233239,32.530201],[102.233174,32.530541],[102.233139,32.530776],[102.233104,32.53101],[102.233047,32.531244],[102.232991,32.531479],[102.23295,32.53165],[102.232935,32.531713],[102.232879,32.531947],[102.232781,32.532192],[102.232683,32.532437],[102.232585,32.532682],[102.232487,32.532927],[102.232425,32.533144],[102.232362,32.533361],[102.2323,32.533578],[102.232238,32.533794],[102.232239,32.534027],[102.23224,32.53426],[102.23224,32.534492],[102.232241,32.534725],[102.232242,32.534958],[102.232242,32.535108],[102.232243,32.53519],[102.232244,32.535423],[102.232244,32.535656],[102.232245,32.535888],[102.232246,32.536121],[102.232205,32.536387],[102.232165,32.536653],[102.232124,32.536919],[102.232083,32.537185],[102.232043,32.537451],[102.232002,32.537717],[102.231908,32.538068],[102.231814,32.538419],[102.231733,32.538601],[102.231679,32.538722],[102.231545,32.539025],[102.231382,32.539328],[102.231219,32.539631],[102.23107,32.539933],[102.23099,32.540097],[102.230922,32.540235],[102.230841,32.540611],[102.23076,32.540986],[102.230695,32.541279],[102.230631,32.541571],[102.230618,32.541704],[102.230609,32.541784],[102.23058,32.542065],[102.230551,32.542346],[102.230566,32.542731],[102.230582,32.543115],[102.230597,32.543499],[102.230716,32.543726],[102.230834,32.543954],[102.23088,32.544262],[102.230842,32.54459],[102.230691,32.544963],[102.230652,32.545011],[102.230431,32.545287],[102.230233,32.545424],[102.230035,32.545561],[102.229751,32.545696],[102.229468,32.545831],[102.229215,32.545919],[102.228962,32.546008],[102.228623,32.546095],[102.228373,32.546112],[102.228234,32.54611],[102.227848,32.545983],[102.227462,32.545857],[102.227227,32.545731],[102.226992,32.545606],[102.226757,32.54548],[102.226523,32.545355],[102.226288,32.545229],[102.226182,32.545173],[102.226053,32.545104],[102.225859,32.54497],[102.225666,32.544836],[102.225472,32.544702],[102.225279,32.544568],[102.225086,32.544435],[102.224892,32.544301],[102.224699,32.544167],[102.224505,32.544033],[102.224312,32.543899],[102.224118,32.543765],[102.223886,32.543629],[102.223653,32.543492],[102.223421,32.543356],[102.223189,32.543219],[102.222956,32.543083],[102.222724,32.542946],[102.222491,32.542809],[102.222259,32.542673],[102.222026,32.542536],[102.221794,32.5424],[102.221562,32.542263],[102.221329,32.542126],[102.221082,32.541955],[102.220835,32.541784],[102.220508,32.541558],[102.220182,32.541332],[102.219855,32.541106],[102.219655,32.540853],[102.219504,32.540664],[102.219489,32.540645],[102.219471,32.540623],[102.219454,32.540601],[102.219242,32.540244],[102.219058,32.539886],[102.218985,32.539579],[102.218913,32.53916],[102.218841,32.538742],[102.21877,32.538323],[102.218698,32.537904],[102.21866,32.537661],[102.218622,32.537419],[102.218585,32.537177],[102.218547,32.536934],[102.218509,32.536692],[102.218471,32.53645],[102.218434,32.536208],[102.218396,32.535965],[102.218379,32.535588],[102.218249,32.535326],[102.218005,32.535062],[102.217814,32.53494],[102.217623,32.534817],[102.217266,32.534717],[102.216987,32.53471],[102.216743,32.53471],[102.2165,32.534711],[102.21634,32.534711],[102.216256,32.534712],[102.216013,32.534712],[102.215614,32.534703],[102.215215,32.534694],[102.214816,32.534686],[102.214383,32.534711],[102.213951,32.534737],[102.213688,32.5348],[102.213425,32.534862],[102.213287,32.534895],[102.213239,32.534906],[102.213172,32.534922],[102.213163,32.534925],[102.213151,32.534927],[102.213123,32.534934],[102.2129,32.534987],[102.212727,32.535028],[102.212638,32.535049],[102.212375,32.535112],[102.212113,32.535174],[102.21185,32.535237],[102.211587,32.535299],[102.211325,32.535361],[102.211063,32.535416],[102.210802,32.535472],[102.21054,32.535527],[102.210279,32.535582],[102.210017,32.535637],[102.209755,32.535692],[102.209494,32.535747],[102.209232,32.535802],[102.209173,32.535814],[102.208971,32.535857],[102.208709,32.535912],[102.208448,32.535967],[102.208291,32.536],[102.208275,32.536004],[102.208186,32.536022],[102.207774,32.53613],[102.20765,32.536163],[102.207552,32.536189],[102.207363,32.536239],[102.206951,32.536347],[102.206559,32.536393],[102.206168,32.53644],[102.205777,32.536486],[102.205771,32.536486],[102.205443,32.536491],[102.205108,32.536495],[102.204873,32.536466],[102.204637,32.536437],[102.204276,32.536406],[102.203859,32.536326],[102.203532,32.536177],[102.203313,32.536054],[102.203126,32.535791],[102.203044,32.535537],[102.202962,32.535283],[102.202879,32.535029],[102.202797,32.534774],[102.202715,32.53452],[102.202633,32.534266],[102.202551,32.534011],[102.202469,32.533757],[102.202387,32.533503],[102.202305,32.533248],[102.202223,32.532994],[102.202141,32.53274],[102.202059,32.532486],[102.201977,32.532231],[102.201895,32.531977],[102.201813,32.531723],[102.201731,32.531468],[102.201648,32.531214],[102.201566,32.53096],[102.201484,32.530706],[102.201402,32.530451],[102.20132,32.530197],[102.201247,32.529978],[102.201173,32.529758],[102.2011,32.529539],[102.201027,32.529319],[102.200953,32.5291],[102.20088,32.52888],[102.200806,32.528661],[102.200733,32.528441],[102.200675,32.528178],[102.200617,32.527915],[102.200559,32.527652],[102.200502,32.527388],[102.200444,32.527125],[102.200386,32.526862],[102.200328,32.526599],[102.20027,32.526335],[102.200253,32.525984],[102.200264,32.525605],[102.200298,32.525419],[102.200359,32.525254],[102.20053,32.525105],[102.200681,32.524974],[102.200689,32.524968],[102.200701,32.524957],[102.200874,32.524808],[102.201046,32.524659],[102.201218,32.524511],[102.20139,32.524362],[102.201563,32.524213],[102.201643,32.524144],[102.201645,32.524143],[102.201735,32.524065],[102.201907,32.523916],[102.201961,32.52387],[102.202079,32.523767],[102.202245,32.523571],[102.202412,32.523374],[102.202578,32.523178],[102.202744,32.522982],[102.202949,32.52268],[102.203069,32.522425],[102.203174,32.522191],[102.203278,32.521957],[102.203345,32.521712],[102.203411,32.521466],[102.203478,32.52122],[102.203545,32.520975],[102.203612,32.520729],[102.203679,32.520483],[102.203745,32.520238],[102.203812,32.519992],[102.203867,32.519552],[102.203922,32.519112],[102.203977,32.518671],[102.204001,32.518481],[102.204001,32.518479],[102.204002,32.518477],[102.204033,32.518231],[102.204031,32.518193],[102.204011,32.517808],[102.203989,32.517385],[102.203967,32.516961],[102.203946,32.516538],[102.203898,32.516278],[102.20385,32.516018],[102.203803,32.515758],[102.203755,32.515498],[102.203666,32.515237],[102.203577,32.514976],[102.20342,32.514643],[102.203318,32.514359],[102.203191,32.513955],[102.203108,32.513694],[102.203025,32.513433],[102.202943,32.513172],[102.20286,32.512911],[102.202851,32.512676],[102.202842,32.512441],[102.202833,32.512206],[102.202824,32.511971],[102.202815,32.511735],[102.202806,32.5115],[102.202797,32.511265],[102.202788,32.51103],[102.202779,32.510795],[102.20277,32.510559],[102.202761,32.510324],[102.202757,32.510228],[102.202752,32.510089],[102.202713,32.509853],[102.202674,32.509616],[102.202634,32.50938],[102.202595,32.509144],[102.202556,32.508907],[102.202517,32.508671],[102.202478,32.508435],[102.202439,32.508198],[102.2024,32.507962],[102.202361,32.507726],[102.202322,32.507489],[102.202282,32.507253],[102.202255,32.506992],[102.202228,32.506731],[102.202201,32.50647],[102.202174,32.506209],[102.202147,32.505948],[102.20212,32.505686],[102.202093,32.505425],[102.202066,32.505164],[102.202039,32.504903],[102.202012,32.504642],[102.201985,32.504381],[102.201958,32.50412],[102.201931,32.503859],[102.201904,32.503598],[102.201877,32.503337],[102.20185,32.503076],[102.201797,32.502674],[102.201744,32.502272],[102.201692,32.50187],[102.201537,32.501514],[102.201376,32.501276],[102.201215,32.501084],[102.201,32.500867],[102.200702,32.500578],[102.200461,32.500219],[102.200418,32.500117],[102.200281,32.499791],[102.200176,32.499577],[102.200072,32.499362],[102.19997,32.499031],[102.199923,32.498765],[102.199876,32.498499],[102.199828,32.498233],[102.199781,32.497968],[102.199731,32.497724],[102.199682,32.49748],[102.199632,32.497237],[102.199582,32.496993],[102.199532,32.496749],[102.199482,32.496506],[102.199387,32.496284],[102.199292,32.496062],[102.199274,32.496021],[102.199197,32.49584],[102.199102,32.495618],[102.199006,32.495396],[102.198989,32.495356],[102.198911,32.495175],[102.198699,32.494863],[102.198535,32.494765],[102.198314,32.49469],[102.198009,32.494685],[102.197618,32.494699],[102.197395,32.494728],[102.197172,32.494758],[102.196907,32.494776],[102.196642,32.494794],[102.196196,32.494807],[102.195751,32.494798],[102.195306,32.494788],[102.195023,32.494782],[102.194862,32.494779],[102.19464,32.494738],[102.194419,32.494697],[102.194032,32.494606],[102.193645,32.494515],[102.193386,32.494419],[102.193127,32.494323],[102.192868,32.494227],[102.192609,32.494131],[102.19235,32.494035],[102.192091,32.493939],[102.191832,32.493843],[102.191572,32.493747],[102.191313,32.493651],[102.191054,32.493555],[102.190795,32.493458],[102.190536,32.493362],[102.190422,32.493317],[102.190407,32.493101],[102.190308,32.49166],[102.190146,32.489163],[102.190196,32.48754],[102.190116,32.484999],[102.190245,32.484007],[102.190247,32.483987],[102.190347,32.483219],[102.190356,32.483147],[102.190431,32.482569],[102.190829,32.48004],[102.191084,32.478285],[102.191362,32.477039],[102.191566,32.475622],[102.191625,32.475014],[102.190869,32.473643],[102.190209,32.473019],[102.190121,32.472689],[102.189816,32.471555],[102.189845,32.470611],[102.189847,32.470541],[102.189853,32.470371],[102.189859,32.468887],[102.189859,32.468882],[102.189841,32.468837],[102.189451,32.467891],[102.189325,32.466805],[102.189001,32.465647],[102.188354,32.464651],[102.187653,32.46406],[102.186502,32.463865],[102.185543,32.463877],[102.184357,32.463512],[102.182871,32.462497],[102.182061,32.461599],[102.181184,32.460259],[102.180516,32.458653],[102.179957,32.457355],[102.178293,32.455659],[102.177609,32.45456],[102.177051,32.453262],[102.177122,32.452248],[102.17725,32.450899],[102.177301,32.450356],[102.177262,32.449069],[102.176963,32.447133],[102.176604,32.445839],[102.176494,32.444245],[102.176729,32.4431],[102.178165,32.440593],[102.178953,32.439629],[102.179582,32.438662],[102.179974,32.437621],[102.180074,32.43698],[102.179828,32.435892],[102.179334,32.435102],[102.179353,32.434493],[102.17904,32.432997],[102.178558,32.431835],[102.177884,32.430398],[102.177654,32.428802],[102.177956,32.428098],[102.17782,32.427317],[102.178134,32.426207],[102.178769,32.42507],[102.179495,32.423529],[102.180289,32.422689],[102.180403,32.422568],[102.181511,32.421577],[102.182488,32.420956],[102.183544,32.420371],[102.184198,32.419877],[102.184373,32.419374],[102.184315,32.418695],[102.183905,32.417738],[102.183051,32.416975],[102.182793,32.416292],[102.182047,32.415903],[102.181391,32.415177],[102.180948,32.414017],[102.180106,32.412881],[102.178906,32.411703],[102.178143,32.41047],[102.177899,32.409269],[102.177831,32.407833],[102.177736,32.403623],[102.177688,32.401566],[102.177022,32.3994],[102.176786,32.397915],[102.176776,32.397853],[102.176769,32.397807],[102.176743,32.397648],[102.17674,32.397624],[102.176606,32.396474],[102.177087,32.395528],[102.177899,32.394769],[102.178099,32.394304],[102.178118,32.394259],[102.178127,32.394237],[102.178067,32.394221],[102.178007,32.394204],[102.177247,32.394002],[102.1769,32.39387],[102.176874,32.39386],[102.176767,32.393819],[102.176719,32.393801],[102.176618,32.393763],[102.176551,32.393737],[102.176434,32.393693],[102.176244,32.393621],[102.176065,32.393549],[102.176002,32.393524],[102.175933,32.393496],[102.175651,32.393383],[102.175632,32.393375],[102.175611,32.393369],[102.175201,32.393203],[102.174777,32.393229],[102.174767,32.393573],[102.174765,32.393624],[102.174763,32.393681],[102.174762,32.393731],[102.174325,32.394187],[102.173881,32.394177],[102.173814,32.394176],[102.173734,32.394174],[102.173727,32.394165],[102.173699,32.394124],[102.173289,32.393519],[102.173214,32.392941],[102.173208,32.39289],[102.173205,32.392866],[102.1732,32.392827],[102.173187,32.392727],[102.173166,32.392559],[102.17316,32.392508],[102.173113,32.392123],[102.173109,32.392091],[102.173102,32.392034],[102.173086,32.3919],[102.172956,32.391882],[102.172826,32.391863],[102.17277,32.391855],[102.172758,32.391853],[102.172497,32.391815],[102.17169,32.391941],[102.170849,32.391778],[102.170823,32.391733],[102.170806,32.391705],[102.170568,32.391306],[102.170609,32.391013],[102.170614,32.390974],[102.170637,32.390813],[102.170642,32.390776],[102.170666,32.3906],[102.170655,32.390583],[102.170641,32.390528],[102.170661,32.390492],[102.170679,32.390479],[102.170687,32.390204],[102.170688,32.390169],[102.1707,32.389803],[102.170631,32.389302],[102.170641,32.389284],[102.170649,32.389249],[102.170643,32.38922],[102.170616,32.389186],[102.170597,32.389047],[102.170133,32.388674],[102.17012,32.388663],[102.170104,32.38866],[102.170087,32.388637],[102.169996,32.388564],[102.169967,32.388471],[102.169955,32.388416],[102.169912,32.388356],[102.169845,32.388303],[102.169816,32.38829],[102.169784,32.388289],[102.169707,32.388312],[102.169688,32.388329],[102.169652,32.388339],[102.16964,32.38834],[102.169601,32.388324],[102.169541,32.388284],[102.169454,32.38823],[102.169358,32.38817],[102.169323,32.388123],[102.169322,32.388089],[102.169369,32.388026],[102.169373,32.388022],[102.169378,32.388018],[102.169383,32.388014],[102.169389,32.388012],[102.169422,32.388],[102.169427,32.387998],[102.169433,32.387997],[102.16944,32.387997],[102.169446,32.387997],[102.169491,32.388002],[102.169525,32.387997],[102.169538,32.387984],[102.169543,32.387957],[102.169489,32.38785],[102.169447,32.387798],[102.169418,32.387779],[102.169411,32.387776],[102.169376,32.387748],[102.169325,32.387735],[102.169262,32.387734],[102.169219,32.387728],[102.169185,32.387711],[102.169162,32.38768],[102.169194,32.387663],[102.169185,32.38761],[102.169195,32.38756],[102.169239,32.387476],[102.169242,32.387471],[102.169289,32.387423],[102.169345,32.387398],[102.169648,32.387353],[102.169878,32.387286],[102.169979,32.387248],[102.169989,32.387242],[102.170015,32.387232],[102.170167,32.387193],[102.170272,32.387137],[102.170298,32.387088],[102.170294,32.387056],[102.17029,32.387052],[102.17026,32.387022],[102.170225,32.387013],[102.170143,32.387018],[102.170072,32.386993],[102.170057,32.386982],[102.170029,32.386963],[102.169999,32.386921],[102.169933,32.386753],[102.169897,32.386712],[102.169867,32.386677],[102.169861,32.386637],[102.169882,32.386604],[102.169927,32.386579],[102.170049,32.386559],[102.170082,32.386548],[102.170127,32.386511],[102.170136,32.386465],[102.170126,32.386438],[102.170088,32.386394],[102.169938,32.386337],[102.169927,32.38633],[102.169856,32.386286],[102.169838,32.386258],[102.16983,32.386195],[102.169857,32.386111],[102.169867,32.386081],[102.169944,32.385946],[102.170015,32.385858],[102.170108,32.385784],[102.170167,32.385569],[102.170209,32.385536],[102.170203,32.3855],[102.170304,32.385444],[102.170333,32.385419],[102.17031,32.385366],[102.170183,32.385245],[102.170178,32.385199],[102.170207,32.385147],[102.170285,32.385077],[102.170356,32.385045],[102.170419,32.385047],[102.170445,32.385062],[102.170474,32.385098],[102.170513,32.385111],[102.170544,32.385112],[102.170576,32.385106],[102.170606,32.385091],[102.170657,32.385033],[102.170657,32.384891],[102.170646,32.384821],[102.170615,32.384752],[102.170517,32.384628],[102.170476,32.384524],[102.170451,32.384503],[102.170284,32.384454],[102.170138,32.384382],[102.170112,32.38436],[102.170101,32.38434],[102.170094,32.384291],[102.170114,32.384232],[102.170167,32.384179],[102.170241,32.384142],[102.170379,32.384108],[102.170453,32.38408],[102.170512,32.384046],[102.170542,32.383997],[102.17057,32.383861],[102.170566,32.383838],[102.17054,32.383806],[102.170477,32.38378],[102.170437,32.383764],[102.170391,32.383721],[102.170312,32.383597],[102.1703,32.383573],[102.170263,32.383499],[102.170254,32.383431],[102.170266,32.383394],[102.170276,32.383384],[102.170305,32.383353],[102.170387,32.383301],[102.17053,32.38324],[102.170601,32.383166],[102.170641,32.383081],[102.170679,32.383003],[102.170783,32.382744],[102.170786,32.38271],[102.17077,32.382669],[102.170709,32.382594],[102.170627,32.382546],[102.170605,32.38254],[102.170571,32.382549],[102.170517,32.382564],[102.170486,32.382573],[102.17044,32.38257],[102.170403,32.382554],[102.170357,32.3825],[102.1703,32.382457],[102.170276,32.382424],[102.170233,32.382311],[102.170224,32.382298],[102.170189,32.382245],[102.170168,32.38223],[102.170129,32.382233],[102.170089,32.382224],[102.170053,32.382187],[102.170029,32.382121],[102.169986,32.382001],[102.16989,32.381849],[102.16989,32.381807],[102.169916,32.381785],[102.169969,32.381775],[102.170082,32.381776],[102.17011,32.38176],[102.170137,32.381729],[102.170151,32.381649],[102.170115,32.381563],[102.170123,32.381548],[102.170155,32.381529],[102.170163,32.381436],[102.170198,32.381417],[102.170226,32.381416],[102.170233,32.381406],[102.170238,32.381368],[102.170219,32.38134],[102.170209,32.381299],[102.17021,32.381261],[102.170223,32.381212],[102.170248,32.381168],[102.170283,32.381133],[102.170324,32.381115],[102.17038,32.38109],[102.17041,32.381035],[102.170411,32.381012],[102.170402,32.380993],[102.170313,32.381027],[102.1703,32.381028],[102.170252,32.381034],[102.170184,32.381022],[102.170136,32.381006],[102.170116,32.380999],[102.170083,32.380965],[102.17008,32.380928],[102.170111,32.380859],[102.170162,32.380814],[102.170226,32.380755],[102.170237,32.380746],[102.170243,32.380706],[102.170228,32.380672],[102.170213,32.380664],[102.170201,32.380664],[102.17019,32.380664],[102.170129,32.380682],[102.170051,32.380736],[102.170031,32.38079],[102.170001,32.380819],[102.169953,32.380838],[102.1699,32.380833],[102.169856,32.380804],[102.169801,32.38073],[102.169573,32.380514],[102.169541,32.380485],[102.169495,32.38043],[102.169498,32.380404],[102.169519,32.380374],[102.169658,32.380312],[102.169811,32.380203],[102.16985,32.380187],[102.16995,32.380176],[102.170017,32.380158],[102.170052,32.380128],[102.170084,32.380069],[102.170071,32.38001],[102.170048,32.379984],[102.170022,32.37997],[102.169991,32.379968],[102.169867,32.380011],[102.169842,32.380008],[102.169812,32.379992],[102.16978,32.379947],[102.169766,32.379849],[102.16978,32.379776],[102.169803,32.379745],[102.169819,32.379736],[102.169856,32.37974],[102.169943,32.37978],[102.16996,32.379769],[102.169959,32.37974],[102.169927,32.379628],[102.169877,32.379541],[102.169876,32.37952],[102.169896,32.379486],[102.169936,32.379464],[102.169967,32.37946],[102.170063,32.379508],[102.170086,32.379494],[102.170108,32.379481],[102.170135,32.379444],[102.170131,32.379421],[102.17007,32.379335],[102.170021,32.379268],[102.170007,32.379205],[102.169968,32.37916],[102.169948,32.379087],[102.169959,32.379055],[102.170025,32.378995],[102.170032,32.378983],[102.170043,32.378964],[102.170037,32.378771],[102.17003,32.378737],[102.170006,32.378733],[102.169923,32.378717],[102.16983,32.378681],[102.169701,32.378599],[102.169569,32.37854],[102.169417,32.378418],[102.169397,32.378371],[102.169415,32.378299],[102.169406,32.378264],[102.169366,32.378216],[102.169267,32.378134],[102.169085,32.377896],[102.169081,32.377878],[102.169089,32.377852],[102.169125,32.377829],[102.169139,32.3778],[102.169133,32.377781],[102.169121,32.377747],[102.169062,32.377678],[102.168867,32.377543],[102.168839,32.377493],[102.16884,32.377462],[102.168878,32.377413],[102.168897,32.377405],[102.168961,32.377401],[102.169013,32.377412],[102.169022,32.377418],[102.169062,32.377442],[102.169078,32.377458],[102.169104,32.377517],[102.169122,32.37754],[102.169204,32.377521],[102.169256,32.377492],[102.16929,32.377458],[102.169309,32.37745],[102.169344,32.377461],[102.169367,32.377481],[102.169384,32.377547],[102.169398,32.377567],[102.169432,32.377562],[102.169476,32.377519],[102.169487,32.377396],[102.169517,32.377365],[102.169554,32.377361],[102.169584,32.377234],[102.169582,32.377135],[102.169595,32.377064],[102.169588,32.377048],[102.169542,32.377018],[102.169533,32.37699],[102.169552,32.376952],[102.16963,32.376884],[102.169643,32.376861],[102.169645,32.376827],[102.169628,32.376779],[102.169601,32.376733],[102.169564,32.37674],[102.169478,32.376734],[102.169433,32.376716],[102.169417,32.376701],[102.169411,32.376683],[102.169481,32.376592],[102.169469,32.376521],[102.169481,32.376482],[102.1695,32.376463],[102.169547,32.376445],[102.169608,32.37645],[102.169641,32.376463],[102.169674,32.376454],[102.169698,32.376419],[102.169706,32.376394],[102.169707,32.376378],[102.16968,32.376327],[102.169689,32.376298],[102.16972,32.376269],[102.169846,32.376197],[102.169828,32.376162],[102.169724,32.376146],[102.169696,32.37613],[102.169658,32.376089],[102.169655,32.376069],[102.169667,32.376042],[102.169731,32.375996],[102.169733,32.37598],[102.169721,32.375955],[102.169675,32.375951],[102.169586,32.375959],[102.169542,32.37595],[102.169503,32.375921],[102.169497,32.375895],[102.169503,32.375863],[102.169532,32.375813],[102.169565,32.375793],[102.169625,32.375792],[102.169772,32.375806],[102.169921,32.375785],[102.169955,32.375757],[102.169956,32.375702],[102.169854,32.375672],[102.1698,32.375635],[102.169758,32.375595],[102.169717,32.375606],[102.169652,32.375662],[102.16963,32.375669],[102.169584,32.375661],[102.169511,32.375609],[102.169506,32.375598],[102.169493,32.375565],[102.169497,32.375535],[102.169524,32.375495],[102.169599,32.375427],[102.169606,32.375396],[102.169599,32.375325],[102.169585,32.375302],[102.169565,32.375289],[102.169513,32.375344],[102.169452,32.375366],[102.169391,32.375347],[102.169348,32.375319],[102.169341,32.375289],[102.169355,32.375259],[102.169486,32.375188],[102.169482,32.375151],[102.169455,32.375089],[102.169419,32.375068],[102.169344,32.375096],[102.169297,32.375159],[102.169256,32.375182],[102.169205,32.375182],[102.169196,32.37518],[102.169121,32.375165],[102.169104,32.375203],[102.169075,32.375271],[102.169071,32.37531],[102.169059,32.37541],[102.169025,32.375441],[102.168996,32.375454],[102.168961,32.375463],[102.168871,32.375464],[102.168844,32.375471],[102.168844,32.375478],[102.16887,32.375496],[102.168879,32.375524],[102.16886,32.37557],[102.168846,32.375582],[102.168803,32.375581],[102.168723,32.375521],[102.168668,32.37546],[102.168653,32.375429],[102.168653,32.375412],[102.168673,32.375396],[102.168711,32.375392],[102.168753,32.375359],[102.168829,32.37521],[102.168866,32.375089],[102.168885,32.375061],[102.168914,32.375041],[102.168949,32.37503],[102.168965,32.375025],[102.168992,32.375016],[102.169014,32.374997],[102.169026,32.374964],[102.169009,32.374825],[102.168987,32.374825],[102.16895,32.374837],[102.168935,32.37485],[102.168904,32.374906],[102.168897,32.374911],[102.168884,32.374919],[102.168843,32.37493],[102.16881,32.374919],[102.168761,32.374876],[102.168681,32.374878],[102.168637,32.374857],[102.168615,32.374837],[102.168604,32.374778],[102.168621,32.37474],[102.168641,32.374718],[102.168654,32.374709],[102.168705,32.374678],[102.168812,32.374645],[102.168822,32.374641],[102.168832,32.374631],[102.168835,32.374604],[102.168821,32.374578],[102.168816,32.374569],[102.168783,32.374539],[102.168764,32.374531],[102.168663,32.374557],[102.168618,32.374552],[102.168539,32.374492],[102.168512,32.374461],[102.168458,32.374334],[102.16839,32.374252],[102.16838,32.374212],[102.168397,32.374181],[102.168432,32.374166],[102.168461,32.374166],[102.168516,32.374192],[102.168546,32.374193],[102.168555,32.374178],[102.168551,32.374145],[102.168525,32.374086],[102.168496,32.374076],[102.168456,32.37408],[102.168365,32.37413],[102.168253,32.374179],[102.168245,32.374181],[102.168218,32.374189],[102.168154,32.374188],[102.168037,32.374152],[102.167963,32.374101],[102.167917,32.374041],[102.167903,32.373986],[102.167914,32.373875],[102.167914,32.373867],[102.167943,32.373783],[102.168012,32.373713],[102.16814,32.373634],[102.168688,32.373499],[102.168792,32.373495],[102.168914,32.373512],[102.168927,32.373507],[102.168953,32.373479],[102.16897,32.373441],[102.168973,32.373364],[102.168894,32.37321],[102.16888,32.373168],[102.168886,32.373145],[102.168963,32.373085],[102.16928,32.372897],[102.1693,32.372875],[102.169316,32.372826],[102.169308,32.372778],[102.169163,32.372715],[102.169156,32.37271],[102.169134,32.372691],[102.169122,32.372671],[102.169106,32.372597],[102.169107,32.372562],[102.169111,32.37248],[102.169065,32.372477],[102.169044,32.372487],[102.169023,32.372497],[102.169001,32.372555],[102.168971,32.372595],[102.168924,32.37263],[102.16885,32.372657],[102.168799,32.372651],[102.168759,32.372618],[102.168746,32.372591],[102.168743,32.372533],[102.16876,32.372475],[102.168781,32.372437],[102.168815,32.372373],[102.168864,32.372323],[102.16898,32.372278],[102.169223,32.372225],[102.169236,32.372212],[102.169231,32.372176],[102.169167,32.372149],[102.169142,32.372129],[102.169121,32.372068],[102.169128,32.372053],[102.169145,32.372039],[102.169276,32.371999],[102.169273,32.371982],[102.16925,32.37195],[102.169142,32.371925],[102.169115,32.371908],[102.169077,32.371883],[102.16905,32.371847],[102.16904,32.371789],[102.169064,32.371659],[102.169127,32.371533],[102.169184,32.37148],[102.169268,32.371455],[102.169289,32.371398],[102.169288,32.371316],[102.169271,32.371268],[102.169229,32.371224],[102.169115,32.371142],[102.169099,32.371108],[102.169103,32.371085],[102.169126,32.371047],[102.1692,32.371021],[102.169204,32.370976],[102.169193,32.370869],[102.169209,32.370821],[102.169226,32.370803],[102.169248,32.370797],[102.169286,32.370803],[102.169328,32.370822],[102.16934,32.370827],[102.169383,32.370867],[102.16947,32.370981],[102.169495,32.370997],[102.169705,32.370998],[102.169759,32.37098],[102.169799,32.370951],[102.169801,32.370894],[102.169781,32.37086],[102.169626,32.370755],[102.169604,32.370733],[102.16956,32.37069],[102.169533,32.37063],[102.169517,32.370542],[102.169484,32.370471],[102.16948,32.370425],[102.169507,32.370358],[102.169547,32.370323],[102.169611,32.370292],[102.169715,32.37028],[102.16974,32.370263],[102.169752,32.370221],[102.169658,32.370152],[102.169651,32.370131],[102.169656,32.370114],[102.169709,32.370051],[102.1698,32.369988],[102.169856,32.369935],[102.169884,32.369886],[102.169914,32.369784],[102.169895,32.369735],[102.169858,32.369687],[102.169718,32.369591],[102.169694,32.369575],[102.169625,32.369514],[102.169594,32.369468],[102.169589,32.369443],[102.169595,32.369384],[102.169619,32.369298],[102.169664,32.36919],[102.169682,32.369114],[102.169684,32.36909],[102.169685,32.369077],[102.169687,32.369057],[102.16969,32.369029],[102.169684,32.368983],[102.169668,32.368941],[102.16961,32.368871],[102.1695,32.368737],[102.169472,32.368669],[102.169462,32.368612],[102.169462,32.368533],[102.169498,32.368414],[102.169514,32.368363],[102.169512,32.368345],[102.169507,32.368289],[102.169487,32.368279],[102.169469,32.368277],[102.169427,32.368274],[102.169356,32.368282],[102.169313,32.368295],[102.169185,32.368357],[102.169178,32.368363],[102.169155,32.368383],[102.169112,32.368441],[102.169072,32.368451],[102.169007,32.368433],[102.168944,32.368372],[102.168881,32.368338],[102.168831,32.368328],[102.168739,32.368364],[102.168687,32.36837],[102.168625,32.368368],[102.168577,32.368347],[102.168541,32.36829],[102.168529,32.368238],[102.168535,32.368194],[102.168552,32.36817],[102.168616,32.368117],[102.168635,32.368045],[102.168637,32.367966],[102.168597,32.36788],[102.168603,32.367816],[102.168652,32.367733],[102.168738,32.367663],[102.168828,32.367566],[102.168907,32.367455],[102.168976,32.367326],[102.169049,32.367237],[102.16907,32.367174],[102.169066,32.367124],[102.169052,32.367089],[102.169023,32.36706],[102.168976,32.367031],[102.168878,32.366994],[102.168829,32.366988],[102.168738,32.366995],[102.168663,32.367001],[102.168645,32.367002],[102.168628,32.366998],[102.168547,32.366978],[102.168504,32.366954],[102.168482,32.366907],[102.168486,32.366788],[102.168464,32.366718],[102.168429,32.3666],[102.168404,32.366558],[102.168381,32.366519],[102.168354,32.36649],[102.168316,32.366464],[102.16831,32.36646],[102.168223,32.366436],[102.168128,32.366436],[102.168047,32.366471],[102.167941,32.366518],[102.1678,32.366549],[102.167746,32.366553],[102.167653,32.36654],[102.167592,32.366519],[102.167567,32.3665],[102.167545,32.366463],[102.167533,32.366374],[102.167542,32.366341],[102.16758,32.366279],[102.167614,32.366242],[102.167694,32.366179],[102.167739,32.366152],[102.167853,32.36611],[102.167907,32.366011],[102.167918,32.365934],[102.167908,32.365912],[102.16788,32.365885],[102.16786,32.365875],[102.167841,32.365877],[102.167735,32.365924],[102.167681,32.365928],[102.167646,32.365909],[102.167593,32.365852],[102.167577,32.365817],[102.167573,32.365776],[102.167581,32.365729],[102.167606,32.36568],[102.167653,32.365625],[102.167709,32.365578],[102.167769,32.365546],[102.167908,32.365525],[102.16797,32.365495],[102.167994,32.365468],[102.168009,32.365413],[102.16801,32.36534],[102.167986,32.365265],[102.167947,32.365194],[102.167919,32.365161],[102.16787,32.365104],[102.167772,32.365021],[102.167707,32.364984],[102.167658,32.364969],[102.167472,32.364956],[102.16735,32.364963],[102.167209,32.364984],[102.167163,32.364995],[102.166876,32.36506],[102.166765,32.365072],[102.166667,32.365059],[102.166609,32.365039],[102.166578,32.365003],[102.166573,32.364939],[102.166597,32.364869],[102.166648,32.364813],[102.166681,32.364791],[102.166729,32.364779],[102.166822,32.36478],[102.166903,32.364768],[102.16695,32.364749],[102.166962,32.364724],[102.166964,32.364696],[102.166967,32.364621],[102.166957,32.364539],[102.166782,32.364058],[102.166783,32.364],[102.166802,32.363901],[102.166824,32.363859],[102.166873,32.36383],[102.167037,32.363758],[102.167562,32.363567],[102.167807,32.363446],[102.167923,32.363402],[102.168021,32.363383],[102.168041,32.363372],[102.168045,32.36336],[102.168038,32.363307],[102.168025,32.363283],[102.168007,32.363276],[102.167879,32.363274],[102.167844,32.363266],[102.167823,32.363252],[102.167804,32.363226],[102.167783,32.363167],[102.167797,32.363124],[102.167846,32.363088],[102.167901,32.363064],[102.168006,32.363051],[102.168024,32.363037],[102.168085,32.362884],[102.168087,32.362825],[102.168063,32.362756],[102.168041,32.362751],[102.167971,32.362762],[102.167942,32.36278],[102.167862,32.362862],[102.16785,32.362873],[102.167823,32.362885],[102.16779,32.362878],[102.16775,32.362837],[102.167732,32.3628],[102.16774,32.362479],[102.167729,32.362436],[102.167687,32.362384],[102.167632,32.362341],[102.167529,32.362277],[102.167496,32.362266],[102.167412,32.36227],[102.167294,32.362299],[102.167195,32.362308],[102.167155,32.362305],[102.167095,32.362286],[102.167039,32.362247],[102.167,32.362201],[102.166941,32.362036],[102.166929,32.361939],[102.166928,32.361931],[102.166935,32.361833],[102.166951,32.361774],[102.167044,32.361546],[102.16708,32.361486],[102.167123,32.361436],[102.167177,32.361399],[102.167272,32.361357],[102.167298,32.361326],[102.167317,32.361267],[102.167291,32.361079],[102.167297,32.361049],[102.167326,32.361023],[102.167403,32.360995],[102.167426,32.360977],[102.16747,32.360919],[102.167508,32.360841],[102.167496,32.360826],[102.167385,32.360805],[102.167338,32.360762],[102.16733,32.360748],[102.167287,32.360669],[102.167272,32.360624],[102.167267,32.360568],[102.167292,32.360491],[102.167299,32.360485],[102.167309,32.360476],[102.16735,32.360467],[102.167423,32.360475],[102.167517,32.360499],[102.167602,32.360483],[102.167647,32.360453],[102.167662,32.360366],[102.167691,32.360307],[102.167718,32.360282],[102.16777,32.360267],[102.16792,32.360263],[102.168093,32.360207],[102.168135,32.3602],[102.168202,32.360208],[102.168329,32.360274],[102.168493,32.360332],[102.16851,32.360305],[102.168508,32.360247],[102.168461,32.360113],[102.168474,32.360055],[102.168509,32.359999],[102.168642,32.359892],[102.168736,32.359758],[102.168799,32.359669],[102.168822,32.359649],[102.168864,32.359632],[102.168892,32.359632],[102.168936,32.359644],[102.168987,32.359679],[102.168999,32.359727],[102.16904,32.359892],[102.169061,32.359925],[102.169095,32.359944],[102.169189,32.359971],[102.169243,32.359977],[102.169269,32.359971],[102.169307,32.359889],[102.169367,32.359825],[102.169426,32.359793],[102.169503,32.359791],[102.169536,32.359783],[102.169587,32.359745],[102.169621,32.359695],[102.169622,32.359654],[102.169549,32.359438],[102.169538,32.359405],[102.169516,32.359272],[102.169517,32.359237],[102.169537,32.359174],[102.169568,32.359126],[102.169593,32.359109],[102.169642,32.359099],[102.169753,32.35911],[102.169807,32.359126],[102.169831,32.359143],[102.169857,32.359184],[102.169867,32.359225],[102.169851,32.359377],[102.169857,32.359439],[102.169873,32.359472],[102.169894,32.359489],[102.169942,32.359512],[102.169963,32.35951],[102.170001,32.359484],[102.170051,32.359416],[102.170156,32.359349],[102.170223,32.359327],[102.170374,32.359304],[102.170404,32.359294],[102.170457,32.359262],[102.170478,32.359236],[102.170481,32.359192],[102.170472,32.359122],[102.170438,32.359024],[102.170367,32.358887],[102.170252,32.358731],[102.17023,32.358661],[102.170225,32.358642],[102.170224,32.358563],[102.170244,32.358498],[102.170265,32.358475],[102.170355,32.358375],[102.170366,32.358344],[102.170345,32.358277],[102.170256,32.358148],[102.170244,32.358132],[102.170225,32.358092],[102.170216,32.357994],[102.170221,32.35798],[102.17024,32.35793],[102.170426,32.357646],[102.170476,32.357598],[102.170529,32.357569],[102.170606,32.35755],[102.170676,32.357546],[102.170732,32.357562],[102.170817,32.357611],[102.170892,32.357643],[102.170912,32.357645],[102.170934,32.357632],[102.170972,32.357586],[102.170984,32.357553],[102.170997,32.357263],[102.171007,32.357212],[102.171047,32.357128],[102.171077,32.357091],[102.171125,32.357076],[102.171192,32.357081],[102.171309,32.357146],[102.171434,32.35719],[102.171486,32.357186],[102.171547,32.357157],[102.171565,32.357122],[102.171563,32.357065],[102.171502,32.356999],[102.171426,32.356954],[102.171401,32.356928],[102.171391,32.356879],[102.171401,32.35683],[102.17142,32.356808],[102.171479,32.35678],[102.17181,32.356693],[102.171849,32.356651],[102.171866,32.356598],[102.171863,32.356548],[102.171841,32.356496],[102.1718,32.356454],[102.171766,32.35645],[102.171642,32.356474],[102.17158,32.35647],[102.171552,32.356468],[102.17146,32.356446],[102.17143,32.356428],[102.171407,32.356401],[102.171391,32.35637],[102.171368,32.356279],[102.171364,32.356163],[102.171326,32.355972],[102.171329,32.355919],[102.171379,32.355773],[102.171372,32.355711],[102.171346,32.355649],[102.171305,32.355599],[102.171261,32.355566],[102.171176,32.355528],[102.171165,32.355509],[102.171164,32.355483],[102.171176,32.355448],[102.171199,32.355432],[102.171342,32.355415],[102.171439,32.355373],[102.171464,32.355352],[102.171473,32.355317],[102.171463,32.355266],[102.171384,32.355181],[102.171353,32.355127],[102.17135,32.355109],[102.171365,32.355086],[102.171395,32.35507],[102.171457,32.355066],[102.17149,32.355063],[102.171511,32.35505],[102.171556,32.354979],[102.171577,32.354915],[102.171573,32.354877],[102.171554,32.354859],[102.171395,32.354777],[102.171339,32.354748],[102.171297,32.354708],[102.171285,32.354639],[102.171312,32.354543],[102.171345,32.354493],[102.171355,32.354479],[102.171411,32.354429],[102.171537,32.354369],[102.171707,32.35433],[102.171785,32.354281],[102.171808,32.354257],[102.171823,32.354223],[102.171821,32.354155],[102.171773,32.354048],[102.171752,32.353948],[102.171753,32.353903],[102.171789,32.353806],[102.171789,32.353776],[102.171707,32.353686],[102.171519,32.353383],[102.1715,32.353331],[102.171509,32.353286],[102.171547,32.353236],[102.171572,32.353229],[102.171601,32.353232],[102.171727,32.353282],[102.171848,32.353345],[102.17193,32.353368],[102.172115,32.353399],[102.172148,32.353398],[102.172199,32.353378],[102.17223,32.353346],[102.172255,32.35327],[102.172272,32.35276],[102.172239,32.352665],[102.172203,32.352624],[102.171834,32.352528],[102.171722,32.352481],[102.171665,32.352448],[102.171626,32.352404],[102.171615,32.352391],[102.171592,32.352337],[102.171589,32.352302],[102.171604,32.35227],[102.171625,32.352249],[102.171706,32.352203],[102.171744,32.352198],[102.171882,32.352205],[102.17191,32.352192],[102.171934,32.352105],[102.171937,32.351919],[102.171954,32.351843],[102.171988,32.351756],[102.172034,32.351672],[102.17206,32.351623],[102.17211,32.351561],[102.172188,32.351504],[102.17226,32.351464],[102.17229,32.351448],[102.172431,32.351391],[102.17254,32.351329],[102.172582,32.351279],[102.172616,32.35121],[102.172634,32.351145],[102.172636,32.351095],[102.172618,32.351045],[102.172566,32.350973],[102.172475,32.350905],[102.172248,32.350737],[102.172169,32.350662],[102.172068,32.350508],[102.171938,32.350361],[102.171902,32.350277],[102.17189,32.350183],[102.171896,32.35013],[102.171907,32.350106],[102.171938,32.350074],[102.172128,32.349964],[102.172167,32.349904],[102.172178,32.349843],[102.172164,32.349765],[102.172113,32.349665],[102.172055,32.349517],[102.171983,32.349425],[102.171968,32.349411],[102.171929,32.349373],[102.171838,32.349308],[102.171786,32.349255],[102.171718,32.349139],[102.171672,32.349019],[102.171662,32.348993],[102.171618,32.348796],[102.17164,32.348765],[102.17171,32.348738],[102.171724,32.348696],[102.171718,32.348673],[102.17165,32.348581],[102.17164,32.348554],[102.171652,32.348522],[102.171697,32.348471],[102.171746,32.348432],[102.171756,32.348413],[102.171764,32.348254],[102.171758,32.348217],[102.17174,32.348176],[102.171713,32.348155],[102.171633,32.348157],[102.171541,32.348193],[102.171371,32.34826],[102.171262,32.348319],[102.171203,32.348334],[102.171121,32.34832],[102.171066,32.348296],[102.171014,32.348252],[102.170998,32.348207],[102.170996,32.34811],[102.171015,32.34806],[102.17103,32.348018],[102.171363,32.34756],[102.171437,32.34743],[102.171526,32.347229],[102.171562,32.347183],[102.171661,32.347055],[102.171671,32.347008],[102.171646,32.346928],[102.171613,32.346894],[102.171548,32.346866],[102.171455,32.346848],[102.171363,32.346853],[102.171288,32.34688],[102.171222,32.346903],[102.171085,32.346999],[102.170982,32.347058],[102.170881,32.347086],[102.170826,32.347085],[102.170787,32.347067],[102.170749,32.347024],[102.170727,32.346989],[102.170699,32.346909],[102.170662,32.346868],[102.170633,32.34686],[102.170465,32.346855],[102.170423,32.346844],[102.170398,32.346828],[102.170357,32.346782],[102.170302,32.346678],[102.170283,32.346606],[102.170278,32.346537],[102.170292,32.346408],[102.170297,32.346357],[102.170314,32.346288],[102.170335,32.34625],[102.170419,32.346185],[102.170425,32.346144],[102.170417,32.346112],[102.170402,32.346079],[102.170368,32.346048],[102.170262,32.345999],[102.170219,32.345971],[102.170143,32.345896],[102.170133,32.345886],[102.170101,32.345842],[102.170068,32.345763],[102.170054,32.345677],[102.169977,32.345398],[102.169974,32.345376],[102.169952,32.345233],[102.169951,32.3451],[102.169938,32.345017],[102.169903,32.344971],[102.169821,32.344921],[102.169747,32.344857],[102.169729,32.344829],[102.169724,32.344802],[102.169742,32.344742],[102.169763,32.344716],[102.169782,32.344693],[102.169965,32.344557],[102.170078,32.344489],[102.170104,32.344464],[102.170152,32.344396],[102.17025,32.344219],[102.170274,32.344147],[102.170278,32.3441],[102.170252,32.34373],[102.170254,32.343703],[102.170259,32.343651],[102.170253,32.343622],[102.170216,32.343578],[102.170178,32.343584],[102.170085,32.343598],[102.170012,32.343584],[102.169974,32.343566],[102.16993,32.343501],[102.16991,32.343487],[102.169867,32.343473],[102.169801,32.34347],[102.169767,32.343456],[102.16974,32.343422],[102.169723,32.343359],[102.169762,32.343222],[102.169716,32.343183],[102.169693,32.34315],[102.169675,32.343113],[102.169662,32.343027],[102.169633,32.343007],[102.169526,32.342982],[102.169483,32.342965],[102.169382,32.342887],[102.16933,32.3428],[102.16923,32.342777],[102.169168,32.342739],[102.169148,32.342717],[102.16913,32.342682],[102.169147,32.342589],[102.169129,32.342545],[102.16912,32.342534],[102.16909,32.342501],[102.169071,32.34248],[102.168939,32.342378],[102.168918,32.342344],[102.168913,32.342304],[102.168926,32.342287],[102.168948,32.342282],[102.169023,32.342288],[102.169045,32.342282],[102.169111,32.342241],[102.169143,32.34219],[102.169152,32.342147],[102.169148,32.341922],[102.169157,32.341827],[102.169187,32.341653],[102.169249,32.341475],[102.169253,32.34139],[102.169245,32.34133],[102.16922,32.341248],[102.169198,32.341218],[102.169086,32.341122],[102.16905,32.341032],[102.169046,32.340959],[102.169058,32.340888],[102.169085,32.340813],[102.169122,32.340771],[102.169123,32.340734],[102.169081,32.340707],[102.168968,32.340699],[102.168851,32.34066],[102.168829,32.34064],[102.16881,32.340624],[102.168806,32.340588],[102.16882,32.340556],[102.168826,32.340541],[102.168871,32.340522],[102.169106,32.340527],[102.169201,32.340517],[102.169203,32.34049],[102.169128,32.340437],[102.169105,32.3404],[102.16909,32.340348],[102.169082,32.340246],[102.169101,32.340141],[102.169179,32.340024],[102.169182,32.340009],[102.169175,32.339999],[102.169129,32.339989],[102.169091,32.339965],[102.169067,32.339937],[102.169059,32.339899],[102.169073,32.339858],[102.169152,32.339809],[102.169191,32.33975],[102.169265,32.339678],[102.169292,32.339627],[102.169296,32.339581],[102.169289,32.339556],[102.169265,32.339532],[102.169148,32.339476],[102.169033,32.339436],[102.169,32.339417],[102.168975,32.339393],[102.168939,32.339325],[102.168927,32.339263],[102.168926,32.339189],[102.168917,32.33916],[102.168877,32.339098],[102.168871,32.339067],[102.16888,32.339004],[102.168917,32.338955],[102.168924,32.338927],[102.168911,32.338904],[102.168854,32.33887],[102.168845,32.338818],[102.16885,32.338779],[102.168877,32.338701],[102.168967,32.338549],[102.168919,32.338527],[102.168826,32.338501],[102.168681,32.33847],[102.168657,32.338453],[102.168625,32.338407],[102.168628,32.33835],[102.168652,32.338305],[102.16863,32.338193],[102.168636,32.338108],[102.168662,32.338085],[102.168706,32.338073],[102.168724,32.338064],[102.16871,32.338046],[102.168695,32.338026],[102.168656,32.337908],[102.168648,32.337886],[102.168599,32.337739],[102.168537,32.33769],[102.168557,32.337613],[102.168535,32.337548],[102.168539,32.337535],[102.168541,32.337528],[102.168541,32.337492],[102.168542,32.337441],[102.168524,32.33739],[102.168534,32.337302],[102.16851,32.337278],[102.16848,32.337268],[102.168447,32.337257],[102.168446,32.33725],[102.168437,32.33722],[102.168431,32.337185],[102.168319,32.336685],[102.167762,32.3361],[102.167753,32.336091],[102.167747,32.336085],[102.167743,32.336079],[102.167643,32.335987],[102.167638,32.335982],[102.167621,32.335966],[102.167556,32.335904],[102.167511,32.335862],[102.167202,32.335569],[102.16714,32.335508],[102.167098,32.335466],[102.167094,32.335462],[102.167046,32.335415],[102.167022,32.335392],[102.166812,32.335183],[102.166782,32.335155],[102.166736,32.335109],[102.166732,32.335105],[102.166719,32.335091],[102.166714,32.335083],[102.166574,32.334914],[102.166537,32.334869],[102.166422,32.334808],[102.166336,32.334723],[102.166258,32.334664],[102.166216,32.334649],[102.166071,32.334624],[102.166032,32.334606],[102.166016,32.334589],[102.165978,32.334479],[102.165947,32.334241],[102.16591,32.334055],[102.165879,32.333994],[102.165787,32.333925],[102.165776,32.333895],[102.165778,32.333851],[102.165755,32.333809],[102.165716,32.333792],[102.165603,32.333798],[102.165537,32.333789],[102.165478,32.333762],[102.165421,32.333701],[102.165355,32.333563],[102.165327,32.333515],[102.165265,32.333494],[102.165103,32.333333],[102.164966,32.333262],[102.164921,32.333151],[102.164927,32.33305],[102.165002,32.332933],[102.164698,32.332057],[102.164263,32.331119],[102.1638,32.330034],[102.163611,32.32884],[102.163562,32.327495],[102.163733,32.326386],[102.163901,32.325966],[102.163923,32.325912],[102.164095,32.325494],[102.164139,32.32538]]]]},"properties":{"cp":[102.26744142868846,32.352994695555495],"code":"513233202","name":"江茸乡","level":"street","center":[102.26744142868846,32.352994695555495],"fullCode":"513233202000","fullName":"四川省阿坝藏族羌族自治州红原县江茸乡","acreageMu":770863.29,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.412,32.3022]}},{"id":"513233203","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[101.851556,32.335369],[101.851603,32.335224],[101.851669,32.335022],[101.851663,32.334903],[101.851614,32.334563],[101.851521,32.334334],[101.851478,32.334227],[101.851405,32.333878],[101.851332,32.333528],[101.851259,32.333178],[101.851185,32.332829],[101.851144,32.33246],[101.851457,32.332486],[101.85148,32.332488],[101.85177,32.332511],[101.852084,32.332537],[101.852316,32.332555],[101.852548,32.332573],[101.852977,32.332573],[101.852993,32.332573],[101.853317,32.332573],[101.853356,32.332573],[101.853407,32.332573],[101.85378,32.332564],[101.854063,32.332557],[101.854153,32.332555],[101.854402,32.332533],[101.854651,32.33251],[101.854901,32.332488],[101.85515,32.332465],[101.855547,32.332423],[101.855795,32.332349],[101.856043,32.332276],[101.856262,32.332211],[101.856481,32.332146],[101.856744,32.332105],[101.857042,32.332009],[101.857208,32.331896],[101.857287,32.331765],[101.857315,32.331718],[101.857565,32.331498],[101.857836,32.331284],[101.858107,32.331069],[101.858386,32.330829],[101.858666,32.330588],[101.858936,32.330341],[101.859207,32.330094],[101.859549,32.329817],[101.859891,32.329541],[101.860097,32.329273],[101.860304,32.329005],[101.86051,32.328738],[101.860703,32.328393],[101.860896,32.328048],[101.861055,32.327724],[101.861214,32.327401],[101.861372,32.327078],[101.861485,32.326798],[101.861497,32.326477],[101.861462,32.326168],[101.861446,32.32603],[101.861427,32.325859],[101.861392,32.32555],[101.861383,32.325361],[101.861373,32.325173],[101.861355,32.324797],[101.861307,32.324438],[101.861258,32.324079],[101.861208,32.323706],[101.861166,32.323448],[101.861125,32.323191],[101.861091,32.32298],[101.861069,32.322844],[101.861069,32.322552],[101.861069,32.32226],[101.861069,32.322238],[101.861065,32.321903],[101.861061,32.321546],[101.861057,32.321189],[101.861035,32.321012],[101.861021,32.320906],[101.860986,32.320624],[101.860983,32.320614],[101.860902,32.320314],[101.860819,32.320088],[101.860575,32.319714],[101.860361,32.319345],[101.860266,32.319035],[101.860135,32.318637],[101.86007,32.318304],[101.860082,32.318054],[101.860195,32.31763],[101.86023,32.317501],[101.860244,32.317407],[101.86029,32.317102],[101.860284,32.316828],[101.860224,32.316537],[101.860135,32.316287],[101.860129,32.31628],[101.859915,32.316049],[101.859713,32.315859],[101.85951,32.315668],[101.859225,32.315484],[101.858939,32.3153],[101.858701,32.314993],[101.858463,32.314687],[101.858324,32.314452],[101.858184,32.314217],[101.857964,32.313842],[101.857809,32.313711],[101.857601,32.313574],[101.857339,32.313271],[101.857317,32.313226],[101.857119,32.312825],[101.856979,32.312498],[101.856839,32.312171],[101.856756,32.311974],[101.856494,32.311742],[101.856218,32.311484],[101.855941,32.311225],[101.855674,32.310993],[101.855561,32.310796],[101.855495,32.310517],[101.85542,32.31019],[101.855345,32.309862],[101.855233,32.309503],[101.855175,32.309208],[101.855117,32.308913],[101.855112,32.30887],[101.855072,32.308494],[101.855026,32.308075],[101.854981,32.307656],[101.854975,32.307599],[101.855007,32.30722],[101.855059,32.306797],[101.855111,32.306373],[101.855144,32.306097],[101.855186,32.305734],[101.855187,32.305722],[101.855227,32.305371],[101.855227,32.30508],[101.855323,32.304788],[101.855388,32.304503],[101.855394,32.304162],[101.8554,32.303821],[101.855406,32.30348],[101.855477,32.303182],[101.855566,32.303033],[101.855627,32.303011],[101.8559,32.302909],[101.85617,32.302888],[101.856441,32.302867],[101.856784,32.302861],[101.857127,32.302855],[101.85747,32.302849],[101.857823,32.302903],[101.858176,32.302956],[101.858529,32.30301],[101.858904,32.303041],[101.859278,32.303072],[101.859653,32.303103],[101.860028,32.303135],[101.860299,32.303152],[101.860569,32.30317],[101.860831,32.30317],[101.861128,32.303111],[101.861541,32.303012],[101.861953,32.302913],[101.862366,32.302813],[101.862586,32.302715],[101.862806,32.302617],[101.863171,32.302379],[101.863181,32.302373],[101.863567,32.302189],[101.863879,32.301945],[101.863936,32.3019],[101.86419,32.301701],[101.864501,32.301457],[101.864739,32.301222],[101.864977,32.300987],[101.865156,32.300821],[101.865215,32.30066],[101.865346,32.300505],[101.865501,32.30038],[101.865685,32.300226],[101.865865,32.300075],[101.86587,32.300071],[101.866045,32.299848],[101.866221,32.299625],[101.86626,32.299547],[101.866362,32.299345],[101.866464,32.299143],[101.866726,32.298863],[101.866905,32.298727],[101.866952,32.298691],[101.867211,32.29853],[101.86747,32.29837],[101.867689,32.298179],[101.867696,32.298173],[101.867868,32.297953],[101.868154,32.297858],[101.868456,32.29773],[101.868758,32.297601],[101.868868,32.297555],[101.869103,32.297498],[101.869338,32.297442],[101.869599,32.297454],[101.869879,32.297507],[101.870254,32.297644],[101.870426,32.297757],[101.870605,32.297888],[101.870878,32.298025],[101.871194,32.298221],[101.871509,32.298417],[101.871765,32.29862],[101.872014,32.298727],[101.872181,32.298858],[101.872294,32.299],[101.872341,32.299096],[101.872354,32.299123],[101.87252,32.299458],[101.872609,32.299643],[101.872764,32.299768],[101.872919,32.299845],[101.873145,32.299994],[101.873341,32.300363],[101.873466,32.300654],[101.873573,32.300785],[101.873674,32.300838],[101.874019,32.301011],[101.874227,32.301124],[101.87437,32.301279],[101.874447,32.301421],[101.874685,32.301552],[101.874914,32.301712],[101.875138,32.301868],[101.875328,32.302028],[101.875447,32.302159],[101.875548,32.30232],[101.875715,32.302534],[101.875881,32.302629],[101.876066,32.302712],[101.876244,32.302867],[101.876345,32.303004],[101.876524,32.303325],[101.876708,32.30345],[101.877047,32.303718],[101.877246,32.303881],[101.877446,32.304045],[101.877719,32.304176],[101.877957,32.304229],[101.878368,32.304271],[101.878689,32.304425],[101.878915,32.304574],[101.879073,32.304833],[101.87923,32.305092],[101.879395,32.305349],[101.879559,32.305607],[101.879724,32.305865],[101.879867,32.306064],[101.88001,32.306263],[101.880064,32.306574],[101.880119,32.306884],[101.880173,32.307194],[101.880364,32.307514],[101.880493,32.307588],[101.880593,32.307747],[101.880879,32.307927],[101.881165,32.308107],[101.881384,32.308246],[101.881604,32.308385],[101.881823,32.308525],[101.882043,32.308664],[101.882262,32.308803],[101.882482,32.308942],[101.882701,32.309081],[101.882921,32.309221],[101.883085,32.309299],[101.883225,32.309366],[101.883529,32.309512],[101.883913,32.309621],[101.884296,32.309731],[101.884638,32.309791],[101.884979,32.309851],[101.885379,32.309842],[101.885778,32.309833],[101.886178,32.309824],[101.886615,32.309735],[101.887052,32.309645],[101.887489,32.309556],[101.887845,32.309464],[101.888211,32.309441],[101.888577,32.309419],[101.889005,32.309352],[101.889374,32.309256],[101.889743,32.30916],[101.890111,32.309064],[101.89048,32.308968],[101.890861,32.30873],[101.891042,32.308663],[101.891185,32.308602],[101.891318,32.308525],[101.891508,32.308383],[101.891675,32.308283],[101.891875,32.308187],[101.892189,32.307997],[101.892431,32.307802],[101.892601,32.307547],[101.892641,32.307488],[101.892769,32.307298],[101.892898,32.307107],[101.893162,32.30681],[101.893426,32.306512],[101.893659,32.306174],[101.89384,32.305951],[101.894064,32.305639],[101.894287,32.305327],[101.894414,32.305132],[101.89454,32.304937],[101.894706,32.304782],[101.894873,32.304628],[101.895096,32.304518],[101.895254,32.30438],[101.895501,32.304119],[101.895748,32.303857],[101.895915,32.303747],[101.89604,32.303692],[101.896077,32.303676],[101.896235,32.303621],[101.89631,32.303595],[101.896472,32.303557],[101.896605,32.303481],[101.896753,32.303338],[101.896848,32.303176],[101.897019,32.302886],[101.897233,32.302624],[101.89724,32.302616],[101.897424,32.302408],[101.897607,32.302199],[101.897652,32.302148],[101.897859,32.301972],[101.898066,32.301796],[101.898223,32.301382],[101.898223,32.301342],[101.898223,32.301101],[101.898214,32.30084],[101.898128,32.300497],[101.898102,32.300327],[101.898071,32.300121],[101.898009,32.299786],[101.897947,32.29945],[101.897947,32.29916],[101.897947,32.299081],[101.897947,32.299012],[101.897999,32.298941],[101.898095,32.298912],[101.89829,32.298974],[101.898499,32.299103],[101.898786,32.299369],[101.899073,32.299636],[101.89936,32.299902],[101.899508,32.299945],[101.899751,32.299945],[101.900041,32.299938],[101.900331,32.299931],[101.900693,32.299893],[101.900883,32.299821],[101.901121,32.299688],[101.901395,32.299476],[101.901478,32.299412],[101.901759,32.299146],[101.902073,32.298931],[101.902335,32.298827],[101.902516,32.298717],[101.902739,32.298413],[101.902925,32.298256],[101.90313,32.297975],[101.903201,32.297813],[101.903268,32.297632],[101.903344,32.297551],[101.903501,32.29747],[101.903701,32.297351],[101.903858,32.29718],[101.903929,32.296956],[101.904062,32.296628],[101.904191,32.296414],[101.904338,32.296304],[101.904552,32.296205],[101.904857,32.296086],[101.905069,32.296005],[101.905281,32.295924],[101.905499,32.295819],[101.90578,32.295629],[101.905946,32.295543],[101.906185,32.295419],[101.90648,32.295317],[101.906775,32.295215],[101.907025,32.295106],[101.907072,32.295077],[101.90728,32.294946],[101.907487,32.294816],[101.907866,32.294579],[101.907979,32.294496],[101.908279,32.29423],[101.908483,32.294058],[101.908626,32.293806],[101.908645,32.29354],[101.908702,32.29334],[101.908821,32.29313],[101.908959,32.293045],[101.909283,32.29294],[101.909468,32.292835],[101.909568,32.292716],[101.909615,32.292525],[101.909615,32.292524],[101.909616,32.292521],[101.909616,32.29235],[101.909616,32.29215],[101.909616,32.292095],[101.909616,32.291998],[101.909702,32.291731],[101.909713,32.291496],[101.909725,32.29126],[101.909678,32.290998],[101.909652,32.29095],[101.909526,32.290708],[101.909506,32.290537],[101.909521,32.290475],[101.90964,32.290399],[101.909863,32.290313],[101.910049,32.290137],[101.910135,32.289866],[101.910163,32.289609],[101.910358,32.289385],[101.910525,32.289295],[101.910756,32.289271],[101.910987,32.289247],[101.911282,32.289289],[101.911577,32.289332],[101.911824,32.289457],[101.912071,32.289581],[101.912393,32.28967],[101.912716,32.289759],[101.913039,32.289848],[101.913326,32.289939],[101.913613,32.29003],[101.913983,32.290168],[101.914353,32.290307],[101.914723,32.290446],[101.915094,32.290585],[101.915464,32.290724],[101.915772,32.290794],[101.91603,32.290852],[101.916287,32.290911],[101.916542,32.29095],[101.916796,32.29099],[101.917051,32.291029],[101.917305,32.291068],[101.917559,32.291108],[101.917697,32.291129],[101.917814,32.291147],[101.918068,32.291186],[101.918323,32.291225],[101.918577,32.291265],[101.918832,32.291304],[101.919086,32.291343],[101.91934,32.291383],[101.919611,32.291419],[101.919883,32.291455],[101.920154,32.291491],[101.920425,32.291527],[101.920696,32.291563],[101.920967,32.2916],[101.921238,32.291636],[101.921509,32.291672],[101.921902,32.291709],[101.922296,32.291747],[101.922689,32.291784],[101.922953,32.291809],[101.923232,32.291802],[101.923511,32.291796],[101.923583,32.291784],[101.923989,32.291717],[101.924225,32.291575],[101.92446,32.291434],[101.924653,32.291226],[101.924685,32.291191],[101.924846,32.291017],[101.925006,32.290796],[101.925166,32.290574],[101.925326,32.290352],[101.925486,32.29013],[101.925578,32.290002],[101.925578,32.290002],[101.925646,32.289909],[101.925806,32.289687],[101.925966,32.289465],[101.926126,32.289243],[101.926267,32.289028],[101.926407,32.288812],[101.926547,32.288596],[101.926688,32.28838],[101.926828,32.288164],[101.926968,32.287948],[101.927253,32.287662],[101.927278,32.287636],[101.927555,32.287526],[101.927993,32.287518],[101.928276,32.287613],[101.928559,32.287708],[101.928751,32.287829],[101.928942,32.28795],[101.929072,32.288032],[101.929294,32.288119],[101.929672,32.288362],[101.930051,32.288605],[101.930261,32.288744],[101.930471,32.288884],[101.930531,32.288923],[101.93076,32.289047],[101.930988,32.289171],[101.931301,32.289368],[101.931342,32.289391],[101.931559,32.289508],[101.931775,32.289626],[101.931991,32.289744],[101.932208,32.289862],[101.932383,32.289958],[101.932744,32.290094],[101.933011,32.290204],[101.933244,32.290354],[101.933477,32.290505],[101.933689,32.290642],[101.933901,32.290779],[101.933912,32.290784],[101.934043,32.290832],[101.934172,32.29086],[101.934539,32.290932],[101.934906,32.291003],[101.935328,32.29115],[101.935696,32.291249],[101.936063,32.291349],[101.93643,32.291448],[101.936868,32.291459],[101.937305,32.29147],[101.937662,32.291385],[101.938018,32.291301],[101.938352,32.291141],[101.938686,32.290981],[101.93902,32.290821],[101.939354,32.290661],[101.939634,32.290515],[101.939914,32.290369],[101.940194,32.290223],[101.940407,32.290136],[101.940621,32.290048],[101.940834,32.28996],[101.941048,32.289872],[101.941343,32.28974],[101.941638,32.289607],[101.941934,32.289475],[101.94222,32.289304],[101.942554,32.289028],[101.942601,32.288977],[101.942667,32.288905],[101.942734,32.288803],[101.942837,32.288509],[101.942939,32.288215],[101.943,32.287839],[101.94306,32.287463],[101.943064,32.28738],[101.943068,32.287292],[101.943065,32.287271],[101.94305,32.287174],[101.94293,32.286813],[101.94281,32.286453],[101.94269,32.286092],[101.942601,32.285873],[101.942512,32.285653],[101.942511,32.285653],[101.942511,32.285652],[101.94244,32.28543],[101.942369,32.285208],[101.942317,32.284853],[101.942265,32.284498],[101.942264,32.284395],[101.942338,32.284224],[101.942457,32.284221],[101.942699,32.284283],[101.94293,32.284425],[101.943161,32.284567],[101.943444,32.28474],[101.943623,32.28485],[101.943855,32.284992],[101.944086,32.285133],[101.944196,32.285195],[101.944318,32.285259],[101.944726,32.285419],[101.945133,32.285579],[101.945442,32.285658],[101.945751,32.285737],[101.946084,32.285751],[101.946417,32.285765],[101.946802,32.285717],[101.947169,32.285628],[101.947552,32.285516],[101.947935,32.285404],[101.948259,32.285283],[101.948583,32.285162],[101.948843,32.285125],[101.949103,32.285089],[101.949365,32.285097],[101.949779,32.285148],[101.950198,32.285222],[101.950616,32.285297],[101.950951,32.285343],[101.951287,32.285389],[101.951622,32.285435],[101.951731,32.285456],[101.95204,32.285515],[101.952458,32.285596],[101.952875,32.285676],[101.95314,32.285742],[101.953405,32.285809],[101.95363,32.285897],[101.953647,32.285903],[101.953981,32.286034],[101.954343,32.286224],[101.954656,32.286423],[101.954969,32.286622],[101.955281,32.286821],[101.955594,32.287019],[101.955949,32.287263],[101.956038,32.287324],[101.956155,32.287396],[101.956337,32.287529],[101.956434,32.287596],[101.956624,32.287726],[101.956911,32.287924],[101.957166,32.288112],[101.957261,32.288182],[101.957421,32.288301],[101.957757,32.288595],[101.957906,32.288791],[101.957948,32.288868],[101.957961,32.28888],[101.958028,32.289011],[101.958166,32.289258],[101.958304,32.289505],[101.95837,32.289725],[101.9585,32.290082],[101.95853,32.290249],[101.958542,32.290392],[101.958546,32.290705],[101.95855,32.291018],[101.958554,32.291332],[101.95856,32.291362],[101.958637,32.291736],[101.958679,32.291885],[101.958774,32.292081],[101.958967,32.292435],[101.959161,32.292789],[101.959277,32.292988],[101.959298,32.293025],[101.959393,32.293187],[101.959404,32.293209],[101.959464,32.293318],[101.95947,32.29333],[101.959565,32.293521],[101.959649,32.293657],[101.959756,32.293782],[101.960029,32.294023],[101.960303,32.294264],[101.960596,32.294514],[101.960889,32.294765],[101.961084,32.294931],[101.961278,32.295097],[101.961433,32.295234],[101.961546,32.295412],[101.961623,32.29568],[101.961629,32.295936],[101.961552,32.296147],[101.961475,32.296358],[101.961449,32.296404],[101.961353,32.296575],[101.961231,32.296792],[101.960954,32.297123],[101.960678,32.297453],[101.960537,32.297593],[101.960277,32.297853],[101.960017,32.298113],[101.959875,32.298339],[101.959732,32.298565],[101.959633,32.298732],[101.959601,32.298785],[101.959619,32.299029],[101.959666,32.29919],[101.959738,32.299484],[101.959809,32.299779],[101.959884,32.300001],[101.959958,32.300223],[101.960032,32.300444],[101.960107,32.300665],[101.960261,32.301064],[101.960362,32.30129],[101.960562,32.301608],[101.960761,32.301926],[101.961026,32.302285],[101.961291,32.302644],[101.961527,32.302947],[101.96153,32.302952],[101.96153,32.302952],[101.96153,32.302952],[101.961566,32.303006],[101.961713,32.303232],[101.96186,32.303458],[101.962008,32.303683],[101.962155,32.303909],[101.962275,32.304117],[101.962395,32.304325],[101.962516,32.304533],[101.962636,32.304741],[101.962757,32.304949],[101.962877,32.305157],[101.962997,32.305365],[101.963063,32.305478],[101.963066,32.305484],[101.963118,32.305573],[101.963238,32.305781],[101.963358,32.30599],[101.963479,32.306198],[101.963564,32.306345],[101.963599,32.306406],[101.963706,32.306629],[101.963813,32.306853],[101.96392,32.307077],[101.964028,32.307301],[101.964063,32.307375],[101.964135,32.307525],[101.964205,32.307671],[101.964242,32.307749],[101.964324,32.308013],[101.964406,32.308276],[101.964488,32.30854],[101.96457,32.308804],[101.964652,32.309068],[101.964734,32.309332],[101.964838,32.309588],[101.964943,32.309843],[101.965047,32.310098],[101.965151,32.310354],[101.965255,32.310609],[101.96536,32.310865],[101.965464,32.31112],[101.965492,32.311188],[101.965568,32.311376],[101.965673,32.311631],[101.965777,32.311886],[101.965938,32.312275],[101.966099,32.312663],[101.966259,32.313049],[101.966259,32.31305],[101.966259,32.31305],[101.96626,32.313052],[101.966386,32.313252],[101.966512,32.313453],[101.966638,32.313653],[101.966764,32.313853],[101.966839,32.31393],[101.967068,32.314163],[101.967372,32.314472],[101.967676,32.314782],[101.967853,32.31494],[101.96803,32.315099],[101.968207,32.315258],[101.968384,32.315416],[101.968561,32.315575],[101.968738,32.315734],[101.968915,32.315892],[101.969092,32.316051],[101.969269,32.31621],[101.969446,32.316368],[101.969669,32.31653],[101.969891,32.316692],[101.970114,32.316854],[101.970336,32.317016],[101.970558,32.317178],[101.970781,32.31734],[101.971003,32.317502],[101.971226,32.317664],[101.971448,32.317826],[101.971671,32.317988],[101.971893,32.31815],[101.971945,32.318188],[101.972116,32.318312],[101.972338,32.318474],[101.97256,32.318636],[101.972754,32.318779],[101.972903,32.318891],[101.972904,32.318891],[101.972947,32.318923],[101.97314,32.319066],[101.973333,32.319209],[101.973527,32.319353],[101.973716,32.319493],[101.973718,32.319494],[101.97372,32.319496],[101.973913,32.319639],[101.974106,32.319782],[101.9743,32.319926],[101.974493,32.320069],[101.974686,32.320212],[101.974879,32.320356],[101.975073,32.320499],[101.975266,32.320642],[101.975431,32.320798],[101.975596,32.320953],[101.975761,32.321109],[101.975926,32.321264],[101.976091,32.32142],[101.976256,32.321575],[101.976421,32.321731],[101.976587,32.321886],[101.976752,32.322042],[101.976917,32.322197],[101.977109,32.322383],[101.977302,32.322569],[101.977495,32.322755],[101.977687,32.322941],[101.97788,32.323127],[101.978073,32.323313],[101.978265,32.323499],[101.978458,32.323685],[101.978651,32.323871],[101.978843,32.324057],[101.979036,32.324243],[101.979228,32.324429],[101.979421,32.324615],[101.979614,32.324801],[101.979771,32.324991],[101.979929,32.325181],[101.980087,32.325372],[101.980244,32.325562],[101.980402,32.325752],[101.980559,32.325942],[101.980717,32.326132],[101.980875,32.326322],[101.981032,32.326513],[101.98119,32.326703],[101.981347,32.326893],[101.981505,32.327083],[101.981663,32.327273],[101.98182,32.327463],[101.981986,32.327636],[101.982152,32.327809],[101.982317,32.327981],[101.982483,32.328154],[101.982649,32.328326],[101.982815,32.328499],[101.98298,32.328671],[101.983146,32.328844],[101.983312,32.329016],[101.983478,32.329189],[101.983831,32.329424],[101.984185,32.32966],[101.984344,32.329767],[101.984379,32.329791],[101.984573,32.329922],[101.984767,32.330053],[101.984857,32.330114],[101.984865,32.330119],[101.984921,32.330157],[101.984961,32.330185],[101.985037,32.330269],[101.985169,32.330416],[101.985215,32.330586],[101.985149,32.330738],[101.985065,32.330929],[101.984714,32.331191],[101.984563,32.331304],[101.98455,32.331314],[101.984363,32.331453],[101.984358,32.331456],[101.984329,32.331468],[101.984234,32.331507],[101.984179,32.33153],[101.984146,32.331543],[101.98393,32.331634],[101.98369,32.331656],[101.983451,32.331679],[101.983129,32.331653],[101.982808,32.331627],[101.982586,32.331655],[101.982559,32.331658],[101.982472,32.331669],[101.982311,32.331689],[101.982062,32.33172],[101.981813,32.331751],[101.981595,32.331824],[101.981378,32.331897],[101.98116,32.331971],[101.980943,32.332044],[101.980726,32.332139],[101.980509,32.332235],[101.980292,32.332331],[101.980075,32.332426],[101.979859,32.332522],[101.97983,32.332535],[101.979642,32.332618],[101.979289,32.33283],[101.978936,32.333042],[101.978583,32.333254],[101.978343,32.333353],[101.978249,32.333392],[101.978141,32.333436],[101.978102,32.333452],[101.9781,32.333452],[101.978099,32.333453],[101.978013,32.333488],[101.977738,32.333704],[101.977463,32.333921],[101.977269,32.334108],[101.977075,32.334295],[101.976864,32.334431],[101.976653,32.334566],[101.976389,32.334653],[101.976262,32.334695],[101.976228,32.334706],[101.975835,32.334911],[101.975536,32.335067],[101.975508,32.335082],[101.975442,32.335116],[101.975432,32.335121],[101.975238,32.335212],[101.975034,32.335308],[101.97483,32.335404],[101.974625,32.335499],[101.974351,32.335571],[101.974076,32.335643],[101.973848,32.335714],[101.973621,32.335784],[101.973486,32.335846],[101.973438,32.335868],[101.973062,32.336085],[101.972686,32.336302],[101.972293,32.336511],[101.9719,32.33672],[101.971506,32.336929],[101.971144,32.33712],[101.970782,32.337311],[101.970705,32.337351],[101.970554,32.337431],[101.97042,32.337502],[101.970009,32.337642],[101.969598,32.337782],[101.969481,32.33782],[101.969302,32.337876],[101.969275,32.337885],[101.969005,32.33797],[101.96873,32.338015],[101.968654,32.338028],[101.968489,32.338055],[101.968455,32.338061],[101.968226,32.338099],[101.967997,32.338137],[101.967767,32.338175],[101.967726,32.338182],[101.967685,32.338189],[101.967582,32.338206],[101.967538,32.338213],[101.967364,32.338251],[101.967277,32.33827],[101.967271,32.338271],[101.967164,32.338295],[101.967004,32.33833],[101.966807,32.338373],[101.966737,32.338388],[101.966624,32.338412],[101.96647,32.338446],[101.966076,32.338625],[101.965683,32.338804],[101.965426,32.338954],[101.965364,32.33899],[101.965267,32.339047],[101.965254,32.339054],[101.96517,32.339103],[101.965007,32.339296],[101.964844,32.339489],[101.964811,32.339528],[101.964811,32.339529],[101.964738,32.339615],[101.964738,32.339615],[101.964682,32.339681],[101.964519,32.339874],[101.96435,32.340043],[101.964182,32.340212],[101.964013,32.340381],[101.963844,32.34055],[101.963675,32.340719],[101.963507,32.340888],[101.963333,32.341135],[101.963306,32.341173],[101.963306,32.341173],[101.963306,32.341173],[101.963301,32.34118],[101.963275,32.341217],[101.963267,32.341229],[101.96325,32.341252],[101.963236,32.341272],[101.963187,32.341342],[101.963181,32.341351],[101.963096,32.341471],[101.962988,32.341669],[101.962879,32.341868],[101.96277,32.342066],[101.962675,32.342239],[101.962662,32.342264],[101.962425,32.342569],[101.962378,32.34263],[101.962378,32.34263],[101.962378,32.34263],[101.962314,32.342713],[101.962189,32.342875],[101.961938,32.343212],[101.961688,32.343549],[101.961542,32.343801],[101.961397,32.344052],[101.961304,32.344269],[101.961211,32.344486],[101.961118,32.344703],[101.961026,32.34492],[101.960972,32.345151],[101.960918,32.345382],[101.960864,32.345613],[101.96081,32.345843],[101.960756,32.346074],[101.960702,32.346305],[101.960648,32.346536],[101.960594,32.346766],[101.96054,32.346997],[101.960486,32.347228],[101.960436,32.347464],[101.960386,32.347699],[101.960336,32.347935],[101.96032,32.348009],[101.960286,32.348171],[101.960236,32.348406],[101.960186,32.348642],[101.960136,32.348878],[101.960124,32.348935],[101.960086,32.349113],[101.960004,32.349434],[101.959977,32.349542],[101.959868,32.34997],[101.959851,32.350037],[101.959759,32.350398],[101.959733,32.35045],[101.959564,32.350792],[101.959506,32.35091],[101.959369,32.351186],[101.959174,32.35158],[101.95898,32.351974],[101.958856,32.35219],[101.958732,32.352406],[101.958609,32.352622],[101.958485,32.352838],[101.958362,32.353054],[101.958238,32.35327],[101.958182,32.353367],[101.958114,32.353485],[101.957991,32.353701],[101.957867,32.353917],[101.957744,32.354133],[101.95762,32.354349],[101.957496,32.354565],[101.957404,32.354684],[101.957339,32.354769],[101.957231,32.35491],[101.956966,32.355254],[101.956856,32.355396],[101.956831,32.355428],[101.95683,32.355429],[101.956772,32.355504],[101.956759,32.355521],[101.956748,32.355618],[101.956723,32.355848],[101.956688,32.356174],[101.956701,32.356565],[101.956703,32.356577],[101.956741,32.356775],[101.956766,32.356905],[101.956775,32.356954],[101.956905,32.357146],[101.956989,32.357272],[101.957024,32.357323],[101.957034,32.357338],[101.957091,32.357375],[101.957127,32.357397],[101.957135,32.357402],[101.957199,32.357443],[101.9572,32.357443],[101.957203,32.357445],[101.957253,32.357477],[101.957473,32.357615],[101.957583,32.357643],[101.957606,32.357649],[101.957652,32.357661],[101.957708,32.357675],[101.957744,32.357684],[101.957752,32.357686],[101.957796,32.357694],[101.958123,32.357757],[101.958431,32.357763],[101.958511,32.357764],[101.958604,32.357766],[101.958606,32.357766],[101.958609,32.357766],[101.958739,32.357768],[101.959093,32.357786],[101.959447,32.357804],[101.959877,32.357794],[101.960307,32.357784],[101.960631,32.357828],[101.960955,32.357873],[101.961187,32.357919],[101.96142,32.357966],[101.961652,32.358012],[101.961884,32.358059],[101.962276,32.358145],[101.962668,32.358232],[101.96306,32.358319],[101.963066,32.358321],[101.963286,32.358411],[101.963512,32.358503],[101.963738,32.358596],[101.963752,32.358601],[101.963964,32.358688],[101.964168,32.358813],[101.964295,32.358892],[101.964372,32.358939],[101.964576,32.359065],[101.96478,32.35919],[101.964841,32.359228],[101.964983,32.359316],[101.965187,32.359441],[101.965384,32.359582],[101.965581,32.359723],[101.965777,32.359863],[101.965974,32.360004],[101.966086,32.360084],[101.966171,32.360145],[101.966367,32.360286],[101.966577,32.36042],[101.966786,32.360554],[101.966995,32.360687],[101.967205,32.360821],[101.967414,32.360955],[101.967623,32.361089],[101.967919,32.361226],[101.968216,32.361363],[101.968434,32.361436],[101.968651,32.361509],[101.969052,32.361552],[101.969221,32.361548],[101.96939,32.361544],[101.969696,32.36151],[101.970123,32.361396],[101.970383,32.361351],[101.970642,32.361306],[101.970919,32.361298],[101.971165,32.361294],[101.971339,32.36129],[101.971411,32.361289],[101.971719,32.36132],[101.972027,32.361352],[101.972367,32.361396],[101.972739,32.361491],[101.972973,32.361603],[101.973207,32.361715],[101.973613,32.361887],[101.97366,32.361908],[101.973799,32.361967],[101.974019,32.36206],[101.974265,32.362107],[101.974512,32.362153],[101.974835,32.362146],[101.975159,32.362138],[101.975541,32.36209],[101.975924,32.362042],[101.976332,32.361988],[101.97674,32.361935],[101.977148,32.361881],[101.977525,32.36182],[101.977902,32.361759],[101.978279,32.361699],[101.978523,32.361628],[101.978766,32.361557],[101.97901,32.361486],[101.979192,32.361433],[101.979192,32.361433],[101.979253,32.361416],[101.979497,32.361345],[101.97974,32.361274],[101.979985,32.361209],[101.980044,32.361194],[101.980229,32.361145],[101.980473,32.36108],[101.980717,32.361015],[101.98074,32.36101],[101.980938,32.360965],[101.981159,32.360914],[101.98138,32.360863],[101.981601,32.360813],[101.981968,32.360642],[101.982334,32.360472],[101.982602,32.360192],[101.98287,32.359912],[101.983017,32.359751],[101.983044,32.359594],[101.982963,32.359335],[101.98294,32.359259],[101.982779,32.359015],[101.982617,32.358771],[101.982583,32.358689],[101.982516,32.358526],[101.982503,32.358493],[101.982463,32.358396],[101.982415,32.358281],[101.982402,32.357838],[101.982437,32.357498],[101.982472,32.357159],[101.982555,32.356883],[101.982638,32.356607],[101.982937,32.356365],[101.983165,32.356281],[101.983392,32.356198],[101.983804,32.35611],[101.983976,32.356073],[101.984217,32.356022],[101.984521,32.35595],[101.984826,32.355878],[101.985079,32.355845],[101.985221,32.355827],[101.985332,32.355813],[101.985584,32.355781],[101.985837,32.355749],[101.986221,32.355643],[101.986605,32.355538],[101.986877,32.3554],[101.986893,32.355392],[101.987036,32.35532],[101.987149,32.355263],[101.987268,32.355221],[101.987468,32.355151],[101.987786,32.355039],[101.988185,32.354979],[101.98863,32.354968],[101.989075,32.354957],[101.989393,32.354964],[101.98971,32.35497],[101.98994,32.354964],[101.99017,32.354959],[101.9904,32.354953],[101.990619,32.354948],[101.99063,32.354947],[101.990875,32.354909],[101.99112,32.354871],[101.991365,32.354833],[101.99161,32.354794],[101.991762,32.354751],[101.992036,32.354673],[101.992463,32.354552],[101.992889,32.354431],[101.993315,32.35431],[101.993533,32.354231],[101.99375,32.354152],[101.993968,32.354073],[101.994186,32.353994],[101.994403,32.353916],[101.994621,32.353837],[101.994838,32.353703],[101.995056,32.353569],[101.995273,32.353436],[101.99549,32.353302],[101.995708,32.353168],[101.995925,32.353035],[101.996142,32.352901],[101.99636,32.352767],[101.996577,32.352634],[101.996794,32.3525],[101.997012,32.352367],[101.997229,32.352233],[101.997446,32.352099],[101.997664,32.351966],[101.997878,32.351832],[101.998092,32.351699],[101.998306,32.351566],[101.99852,32.351433],[101.998734,32.3513],[101.998949,32.351167],[101.999163,32.351033],[101.999254,32.350977],[101.999255,32.350976],[101.999377,32.3509],[101.999591,32.350767],[101.999805,32.350634],[102.000019,32.350501],[102.000233,32.350368],[102.000238,32.350363],[102.000548,32.350136],[102.000749,32.349989],[102.000749,32.349989],[102.000858,32.349909],[102.001168,32.349683],[102.001268,32.349609],[102.001444,32.349481],[102.00172,32.349279],[102.001932,32.349149],[102.002143,32.349019],[102.002355,32.348889],[102.002566,32.348759],[102.002777,32.348629],[102.002871,32.348571],[102.002989,32.348499],[102.0032,32.348369],[102.003412,32.34824],[102.00377,32.348063],[102.004129,32.347887],[102.004488,32.347711],[102.004741,32.347612],[102.004991,32.347552],[102.005242,32.347492],[102.005476,32.347471],[102.00571,32.34745],[102.005943,32.347469],[102.006176,32.347487],[102.006439,32.347533],[102.006702,32.347578],[102.006946,32.347703],[102.007191,32.347828],[102.007468,32.348171],[102.007745,32.348514],[102.008022,32.348858],[102.008299,32.349201],[102.008456,32.349396],[102.008613,32.349591],[102.00877,32.349786],[102.008927,32.349982],[102.009047,32.350117],[102.009263,32.350175],[102.009606,32.350155],[102.009935,32.350071],[102.010265,32.349987],[102.010531,32.349927],[102.010798,32.349868],[102.011065,32.349808],[102.011331,32.349749],[102.011642,32.349703],[102.011952,32.349657],[102.012335,32.349665],[102.012719,32.349674],[102.013102,32.349683],[102.013536,32.349737],[102.013695,32.349757],[102.013971,32.349791],[102.01426,32.349828],[102.014405,32.349846],[102.014669,32.349852],[102.014933,32.349857],[102.015291,32.349853],[102.01565,32.349848],[102.01593,32.349829],[102.01621,32.349809],[102.016505,32.349817],[102.016801,32.349824],[102.017225,32.349878],[102.017648,32.349931],[102.018072,32.349985],[102.018287,32.350065],[102.018503,32.350145],[102.018718,32.350225],[102.018934,32.350305],[102.01909,32.350363],[102.019111,32.35037],[102.019149,32.350385],[102.019365,32.350465],[102.019465,32.350531],[102.019654,32.350656],[102.019682,32.350674],[102.019944,32.350848],[102.020184,32.351118],[102.020424,32.351389],[102.020728,32.351633],[102.021031,32.351877],[102.021161,32.351955],[102.021305,32.352042],[102.021312,32.352044],[102.021676,32.352156],[102.021939,32.352189],[102.022203,32.352222],[102.022591,32.352231],[102.022868,32.352237],[102.022979,32.35224],[102.023213,32.352232],[102.023446,32.352224],[102.023628,32.352218],[102.02368,32.352216],[102.023913,32.352209],[102.024143,32.352188],[102.024372,32.352167],[102.024601,32.352146],[102.02483,32.352124],[102.02506,32.352103],[102.025289,32.352082],[102.025505,32.35203],[102.025687,32.351986],[102.026085,32.35189],[102.026483,32.351793],[102.026734,32.351714],[102.026876,32.351669],[102.026985,32.351634],[102.027237,32.351555],[102.027488,32.351475],[102.027701,32.351394],[102.027913,32.351313],[102.028126,32.351233],[102.028339,32.351152],[102.028569,32.351012],[102.02863,32.350975],[102.028686,32.350941],[102.0288,32.350872],[102.028994,32.350754],[102.02903,32.350732],[102.029044,32.350724],[102.029066,32.350711],[102.029261,32.350593],[102.029508,32.350317],[102.029756,32.350041],[102.030004,32.349765],[102.030034,32.349732],[102.030147,32.349604],[102.030156,32.349593],[102.030308,32.349422],[102.03046,32.34925],[102.030612,32.349078],[102.030764,32.348906],[102.030916,32.348734],[102.031068,32.348562],[102.03122,32.34839],[102.03136,32.348159],[102.031499,32.347928],[102.031639,32.347697],[102.031779,32.347466],[102.031919,32.347235],[102.032058,32.347004],[102.032198,32.346773],[102.032338,32.346542],[102.032424,32.346289],[102.03251,32.346036],[102.032596,32.345782],[102.032682,32.345529],[102.032769,32.345276],[102.032855,32.345023],[102.032904,32.344773],[102.032954,32.344524],[102.033004,32.344274],[102.033053,32.344024],[102.033103,32.343775],[102.033153,32.343525],[102.033244,32.343274],[102.033335,32.343022],[102.033426,32.342771],[102.033518,32.342519],[102.033609,32.342268],[102.0337,32.342016],[102.033799,32.341765],[102.033897,32.341514],[102.033996,32.341263],[102.034094,32.341012],[102.034193,32.340761],[102.034291,32.34051],[102.03439,32.340259],[102.034488,32.340008],[102.034586,32.339757],[102.034685,32.339505],[102.034811,32.339201],[102.034837,32.339139],[102.034988,32.338773],[102.035015,32.338721],[102.035176,32.338343],[102.03521,32.338295],[102.035324,32.338135],[102.03555,32.337968],[102.035788,32.337855],[102.036127,32.33773],[102.03649,32.337683],[102.036874,32.337704],[102.037258,32.337724],[102.037507,32.337724],[102.037698,32.337707],[102.037858,32.337665],[102.03809,32.337576],[102.038263,32.337617],[102.038376,32.337796],[102.038488,32.338104],[102.03855,32.338276],[102.0386,32.338412],[102.038614,32.33845],[102.038804,32.338849],[102.038923,32.339003],[102.039072,32.339075],[102.039209,32.33914],[102.039298,32.339176],[102.039578,32.339378],[102.03975,32.339456],[102.03981,32.339539],[102.039863,32.33967],[102.039929,32.339824],[102.04,32.339925],[102.040101,32.340009],[102.040375,32.340086],[102.040667,32.340349],[102.040743,32.340401],[102.040989,32.34057],[102.041167,32.340699],[102.041296,32.340849],[102.041353,32.341034],[102.041375,32.341164],[102.041445,32.341577],[102.041545,32.341777],[102.04171,32.34208],[102.041874,32.342383],[102.042006,32.342608],[102.042138,32.342833],[102.042359,32.343104],[102.042502,32.343269],[102.042745,32.343454],[102.042811,32.343479],[102.043016,32.343554],[102.043287,32.34369],[102.043551,32.343768],[102.043815,32.343847],[102.044072,32.343932],[102.044294,32.343961],[102.044615,32.343961],[102.044865,32.343915],[102.045115,32.343868],[102.045339,32.343886],[102.045564,32.343904],[102.0457,32.343975],[102.045828,32.344118],[102.045936,32.344268],[102.046071,32.344575],[102.046159,32.344762],[102.04625,32.344953],[102.046335,32.345216],[102.046335,32.345217],[102.046335,32.345217],[102.046428,32.345374],[102.046678,32.345589],[102.046792,32.345617],[102.047096,32.345716],[102.047239,32.345852],[102.047425,32.346028],[102.047611,32.346204],[102.047797,32.34638],[102.047983,32.346556],[102.048166,32.346692],[102.048348,32.346829],[102.04853,32.346965],[102.048712,32.347101],[102.048895,32.347238],[102.049077,32.347374],[102.049305,32.347531],[102.049534,32.347688],[102.049762,32.347846],[102.049991,32.348003],[102.050219,32.34816],[102.050448,32.348317],[102.050676,32.348474],[102.050905,32.348631],[102.051232,32.348891],[102.051559,32.349151],[102.051887,32.34941],[102.052133,32.349508],[102.052379,32.349606],[102.052749,32.349693],[102.053014,32.349686],[102.053279,32.349679],[102.053513,32.349658],[102.053747,32.349637],[102.053981,32.349617],[102.054216,32.349596],[102.054636,32.349579],[102.055057,32.349562],[102.055384,32.34957],[102.05571,32.349578],[102.05602,32.349612],[102.056331,32.349645],[102.056717,32.34972],[102.057103,32.349796],[102.057536,32.349911],[102.057968,32.350026],[102.058338,32.350128],[102.058631,32.350208],[102.058709,32.35023],[102.058987,32.350275],[102.059266,32.350321],[102.059638,32.350383],[102.060009,32.350444],[102.060197,32.350481],[102.060396,32.350519],[102.060782,32.350594],[102.061046,32.350626],[102.061309,32.350659],[102.061573,32.350691],[102.061836,32.350724],[102.062272,32.35076],[102.06255,32.350832],[102.062828,32.350905],[102.063058,32.351003],[102.063288,32.351101],[102.063478,32.351237],[102.063668,32.351373],[102.063745,32.351428],[102.063942,32.351565],[102.06414,32.351702],[102.064337,32.351839],[102.064535,32.351975],[102.064711,32.352138],[102.064888,32.352301],[102.065087,32.352411],[102.065286,32.35252],[102.06553,32.352631],[102.065717,32.352637],[102.066092,32.352592],[102.06644,32.352455],[102.066787,32.352319],[102.067156,32.352133],[102.067525,32.351948],[102.067894,32.351762],[102.068124,32.351629],[102.068354,32.351496],[102.068584,32.351362],[102.068814,32.351229],[102.069105,32.350919],[102.069395,32.350608],[102.069587,32.350448],[102.069779,32.350288],[102.069971,32.350128],[102.070162,32.349968],[102.070374,32.349794],[102.070586,32.349621],[102.070798,32.349448],[102.07101,32.349275],[102.071221,32.349101],[102.071433,32.348928],[102.071645,32.348755],[102.071857,32.348581],[102.072064,32.348448],[102.072271,32.348314],[102.072478,32.348181],[102.072685,32.348047],[102.072914,32.347933],[102.073143,32.34782],[102.073372,32.347706],[102.073452,32.347666],[102.0736,32.347592],[102.073789,32.34752],[102.073821,32.347508],[102.074042,32.347424],[102.074263,32.34734],[102.074483,32.347256],[102.074704,32.347172],[102.074925,32.347088],[102.075146,32.347004],[102.075366,32.34692],[102.075612,32.346841],[102.075857,32.346763],[102.07613,32.346675],[102.076519,32.34654],[102.076542,32.346532],[102.076908,32.346405],[102.07711,32.346335],[102.077297,32.34627],[102.077686,32.346135],[102.078075,32.346],[102.078465,32.345865],[102.078854,32.34573],[102.079243,32.345595],[102.079632,32.34546],[102.079876,32.345386],[102.080121,32.345312],[102.080462,32.345186],[102.080803,32.34506],[102.081145,32.344934],[102.081486,32.344808],[102.081827,32.344682],[102.082059,32.3446],[102.082291,32.344518],[102.082491,32.344404],[102.082712,32.344275],[102.082838,32.34422],[102.082955,32.344168],[102.08326,32.344042],[102.083564,32.343916],[102.083869,32.34379],[102.084233,32.343554],[102.084383,32.343461],[102.084547,32.343426],[102.084711,32.343383],[102.084904,32.343297],[102.085197,32.343126],[102.085211,32.343122],[102.085389,32.343076],[102.085596,32.343069],[102.085903,32.342997],[102.086125,32.342876],[102.08626,32.342698],[102.08641,32.342526],[102.086532,32.342441],[102.086917,32.342276],[102.087203,32.342148],[102.087438,32.342019],[102.087688,32.341927],[102.088038,32.341798],[102.08838,32.341691],[102.088659,32.341613],[102.088823,32.341548],[102.088916,32.341441],[102.089116,32.34127],[102.089315,32.341177],[102.089465,32.34107],[102.089587,32.340884],[102.08973,32.340635],[102.08987,32.340335],[102.09001,32.340035],[102.090151,32.339735],[102.090161,32.339439],[102.090172,32.339143],[102.090186,32.338893],[102.090201,32.338643],[102.090236,32.3383],[102.090244,32.338268],[102.090297,32.338049],[102.090351,32.337829],[102.09046,32.337425],[102.09057,32.337021],[102.0906,32.336908],[102.090679,32.336666],[102.090686,32.336451],[102.09067,32.336369],[102.090586,32.335952],[102.090565,32.335758],[102.090529,32.335416],[102.090436,32.335138],[102.090429,32.334917],[102.090472,32.33471],[102.090465,32.334531],[102.090379,32.334331],[102.090343,32.334103],[102.090408,32.333967],[102.090508,32.333882],[102.090757,32.333746],[102.090936,32.333525],[102.091057,32.333175],[102.091129,32.332847],[102.091137,32.332429],[102.091145,32.332011],[102.09119,32.331725],[102.09119,32.331722],[102.091191,32.331721],[102.091193,32.331707],[102.091269,32.331431],[102.091357,32.331313],[102.091383,32.331279],[102.091545,32.331079],[102.091707,32.330879],[102.091816,32.330674],[102.091926,32.330469],[102.092069,32.330232],[102.09224,32.329927],[102.092402,32.32966],[102.092563,32.329394],[102.092699,32.3292],[102.092787,32.329076],[102.093075,32.328841],[102.093295,32.32866],[102.093515,32.32848],[102.093715,32.328352],[102.093915,32.328223],[102.094181,32.328081],[102.094372,32.328033],[102.0946,32.327957],[102.094762,32.327728],[102.094924,32.3275],[102.095114,32.327291],[102.095305,32.327081],[102.09539,32.326862],[102.095457,32.326746],[102.095581,32.326529],[102.095571,32.326158],[102.095504,32.32583],[102.095438,32.325501],[102.095448,32.325322],[102.095457,32.325168],[102.095562,32.32493],[102.095666,32.324692],[102.095799,32.324527],[102.095942,32.32435],[102.096099,32.324093],[102.096256,32.323836],[102.096409,32.323563],[102.096561,32.32329],[102.096713,32.323017],[102.096846,32.322789],[102.097075,32.322551],[102.097208,32.322341],[102.097341,32.322132],[102.097379,32.321922],[102.097484,32.321665],[102.097646,32.321504],[102.097806,32.321201],[102.097965,32.320897],[102.09809,32.320739],[102.098342,32.320455],[102.098595,32.320171],[102.098848,32.319887],[102.099024,32.319768],[102.099029,32.319765],[102.099301,32.319603],[102.099574,32.319442],[102.099851,32.319321],[102.100084,32.319219],[102.100316,32.319117],[102.100549,32.319016],[102.100782,32.318914],[102.101014,32.318813],[102.101247,32.318711],[102.101479,32.318609],[102.101712,32.318508],[102.101945,32.318406],[102.102177,32.318304],[102.10241,32.318203],[102.102643,32.318101],[102.102875,32.317999],[102.103108,32.317898],[102.103341,32.317796],[102.103573,32.317694],[102.103784,32.317611],[102.103995,32.317527],[102.104206,32.317444],[102.104417,32.31736],[102.104628,32.317277],[102.104839,32.317193],[102.10505,32.31711],[102.105261,32.317026],[102.105472,32.316943],[102.105683,32.316859],[102.10608,32.316679],[102.106476,32.316499],[102.106873,32.316319],[102.107269,32.316139],[102.107477,32.316022],[102.107685,32.315906],[102.107894,32.31579],[102.108102,32.315674],[102.10831,32.315558],[102.108518,32.315441],[102.108872,32.315249],[102.109153,32.315096],[102.109153,32.315096],[102.109225,32.315057],[102.109578,32.314865],[102.109988,32.3147],[102.110397,32.314534],[102.110806,32.314369],[102.111195,32.314241],[102.111583,32.314113],[102.111972,32.313985],[102.112236,32.313881],[102.112499,32.313777],[102.112729,32.313592],[102.112922,32.313375],[102.112935,32.312995],[102.112907,32.31268],[102.112902,32.312621],[102.11288,32.312364],[102.11285,32.312139],[102.11282,32.311913],[102.11279,32.311687],[102.112759,32.311462],[102.112729,32.311236],[102.112699,32.31101],[102.112669,32.310785],[102.112639,32.310559],[102.112646,32.310323],[102.112654,32.310086],[102.112736,32.309852],[102.112818,32.309617],[102.1129,32.309382],[102.112982,32.309147],[102.113068,32.308786],[102.113153,32.308425],[102.113148,32.307998],[102.113143,32.307572],[102.113122,32.307339],[102.113102,32.307105],[102.113081,32.306872],[102.113061,32.306639],[102.11304,32.306406],[102.11302,32.306173],[102.112999,32.305939],[102.112979,32.305706],[102.112968,32.305474],[102.112956,32.305243],[102.112945,32.305011],[102.112934,32.304779],[102.112923,32.304547],[102.112911,32.304316],[102.112936,32.30409],[102.112962,32.303864],[102.112987,32.303639],[102.113012,32.303413],[102.113136,32.303006],[102.113261,32.302598],[102.113495,32.302288],[102.113523,32.302261],[102.113725,32.302072],[102.114149,32.301987],[102.114573,32.301902],[102.114926,32.301831],[102.114998,32.301817],[102.115437,32.301748],[102.115876,32.301679],[102.116315,32.301611],[102.11661,32.301564],[102.116755,32.301542],[102.117153,32.301509],[102.117551,32.301476],[102.117949,32.301443],[102.118265,32.301434],[102.118582,32.301425],[102.118952,32.301466],[102.119323,32.301506],[102.119768,32.301516],[102.120192,32.301636],[102.120507,32.301725],[102.120617,32.301757],[102.12065,32.30178],[102.120999,32.302025],[102.121035,32.302051],[102.121381,32.302294],[102.121572,32.302429],[102.121764,32.302563],[102.121955,32.302697],[102.122146,32.302832],[102.12251,32.303093],[102.122873,32.303354],[102.122873,32.303354],[102.122873,32.303354],[102.123203,32.303488],[102.123534,32.303622],[102.123923,32.303678],[102.124312,32.303734],[102.124696,32.303753],[102.12508,32.303773],[102.125463,32.303792],[102.125815,32.303793],[102.126167,32.303795],[102.126419,32.303796],[102.12667,32.303797],[102.127107,32.303799],[102.127174,32.303799],[102.127191,32.3038],[102.127456,32.303818],[102.127721,32.303835],[102.127994,32.303853],[102.128268,32.303871],[102.128541,32.303889],[102.128815,32.303907],[102.12917,32.30393],[102.129362,32.303943],[102.129602,32.30398],[102.129843,32.304017],[102.130084,32.304054],[102.130325,32.304092],[102.130749,32.304196],[102.131173,32.3043],[102.131467,32.304402],[102.131761,32.304503],[102.13202,32.304556],[102.132279,32.304609],[102.132614,32.304617],[102.132767,32.304495],[102.13278,32.304464],[102.132864,32.304278],[102.132864,32.304278],[102.132886,32.304229],[102.133006,32.303964],[102.133065,32.303704],[102.133101,32.303546],[102.133104,32.303534],[102.133104,32.303534],[102.133124,32.303445],[102.133184,32.303186],[102.133243,32.302927],[102.133257,32.302865],[102.133302,32.302667],[102.133362,32.302408],[102.133421,32.302149],[102.13348,32.30189],[102.133566,32.301545],[102.133587,32.301461],[102.133653,32.3012],[102.13381,32.30092],[102.133894,32.300769],[102.133967,32.300639],[102.134215,32.30044],[102.134462,32.30024],[102.134679,32.300097],[102.134785,32.300027],[102.134968,32.299906],[102.135108,32.299813],[102.135353,32.299701],[102.135598,32.29959],[102.135865,32.299406],[102.135942,32.299353],[102.136131,32.299223],[102.136325,32.298959],[102.13652,32.298695],[102.136643,32.298455],[102.136765,32.298215],[102.136888,32.297975],[102.137011,32.297734],[102.137134,32.297494],[102.137257,32.297254],[102.137379,32.297014],[102.137502,32.296774],[102.137625,32.296533],[102.137748,32.296293],[102.137851,32.296075],[102.137955,32.295856],[102.138059,32.295637],[102.138162,32.295419],[102.138266,32.2952],[102.138369,32.294982],[102.138473,32.294763],[102.138577,32.294544],[102.13868,32.294326],[102.138784,32.294107],[102.13888,32.293857],[102.138976,32.293606],[102.139073,32.293356],[102.139169,32.293105],[102.139265,32.292855],[102.139361,32.292604],[102.139457,32.292354],[102.139554,32.292103],[102.139727,32.291781],[102.139844,32.291564],[102.13996,32.291347],[102.140077,32.29113],[102.140194,32.290914],[102.14031,32.290697],[102.140427,32.29048],[102.140543,32.290263],[102.14066,32.290046],[102.140819,32.289853],[102.140979,32.289659],[102.141244,32.289507],[102.141509,32.289354],[102.141847,32.289267],[102.142083,32.289207],[102.142184,32.289181],[102.142484,32.289109],[102.142784,32.289036],[102.143193,32.289046],[102.143433,32.289083],[102.143674,32.28912],[102.144042,32.289255],[102.14441,32.289389],[102.14463,32.289481],[102.144851,32.289573],[102.145071,32.289665],[102.145292,32.289756],[102.145386,32.289796],[102.145418,32.289809],[102.145512,32.289848],[102.145732,32.28994],[102.145953,32.290032],[102.145967,32.290038],[102.146173,32.290124],[102.146411,32.290261],[102.146648,32.290397],[102.146885,32.290534],[102.147123,32.290671],[102.14736,32.290808],[102.147597,32.290945],[102.147925,32.291184],[102.148252,32.291423],[102.148579,32.291662],[102.148731,32.291776],[102.148737,32.291781],[102.149051,32.292019],[102.149212,32.292228],[102.149373,32.292437],[102.149459,32.29266],[102.149545,32.292883],[102.149541,32.29296],[102.14953,32.293151],[102.149515,32.293419],[102.149513,32.293471],[102.149548,32.293716],[102.149584,32.29396],[102.149588,32.294227],[102.149582,32.29457],[102.149575,32.294914],[102.149569,32.295257],[102.149562,32.2956],[102.149522,32.29595],[102.149481,32.2963],[102.149441,32.296649],[102.1494,32.296999],[102.149389,32.297378],[102.149377,32.297757],[102.149365,32.298136],[102.14941,32.298528],[102.149432,32.298718],[102.149456,32.298921],[102.1495,32.299116],[102.14957,32.299418],[102.149639,32.29972],[102.149709,32.300022],[102.149804,32.30025],[102.149899,32.300479],[102.150008,32.300698],[102.150018,32.300717],[102.150118,32.300917],[102.150321,32.301234],[102.150548,32.301588],[102.150776,32.301942],[102.150924,32.302173],[102.151003,32.302297],[102.151193,32.302544],[102.151384,32.302792],[102.151574,32.303039],[102.15175,32.303182],[102.151787,32.303212],[102.151926,32.303325],[102.152212,32.303567],[102.152378,32.303708],[102.152497,32.30381],[102.152635,32.304015],[102.152773,32.304219],[102.152897,32.304533],[102.152983,32.30479],[102.153013,32.305201],[102.153021,32.305304],[102.153173,32.305475],[102.153306,32.305623],[102.153592,32.305942],[102.15383,32.306123],[102.153935,32.306153],[102.15423,32.306237],[102.154591,32.306247],[102.154953,32.306256],[102.155272,32.306304],[102.155581,32.306351],[102.155962,32.306375],[102.156343,32.306399],[102.156714,32.306361],[102.157085,32.306323],[102.157404,32.306318],[102.157723,32.306313],[102.157989,32.306366],[102.158256,32.306418],[102.158503,32.306518],[102.158751,32.306618],[102.159021,32.306746],[102.159274,32.306865],[102.159617,32.307037],[102.159633,32.30704],[102.160035,32.307122],[102.160359,32.307094],[102.160673,32.307113],[102.160987,32.307132],[102.161315,32.307079],[102.161576,32.307085],[102.161814,32.30709],[102.162052,32.307096],[102.162393,32.307067],[102.162499,32.307059],[102.162947,32.307021],[102.163339,32.306968],[102.163731,32.306914],[102.164135,32.306839],[102.164539,32.306764],[102.164803,32.306628],[102.165067,32.306492],[102.165404,32.306197],[102.165741,32.305901],[102.166077,32.305606],[102.166414,32.305311],[102.166751,32.305015],[102.166949,32.304841],[102.167146,32.304666],[102.167344,32.304491],[102.167542,32.304317],[102.16774,32.304142],[102.167937,32.303968],[102.16822,32.303832],[102.168503,32.303696],[102.168748,32.303607],[102.168993,32.303518],[102.169237,32.30346],[102.16948,32.303403],[102.169815,32.30341],[102.16988,32.303412],[102.169845,32.303446],[102.169594,32.303676],[102.169317,32.303862],[102.168943,32.304276],[102.168019,32.306366],[102.167576,32.307548],[102.167377,32.308079],[102.167013,32.309607],[102.166521,32.310901],[102.165894,32.312154],[102.165725,32.313225],[102.165819,32.31544],[102.165822,32.315506],[102.16583,32.315684],[102.166,32.317454],[102.165875,32.318564],[102.165879,32.319908],[102.165852,32.320752],[102.16556,32.321436],[102.165261,32.322312],[102.164763,32.323798],[102.164401,32.324716],[102.164246,32.325109],[102.164223,32.325168],[102.164139,32.32538],[102.164095,32.325494],[102.163923,32.325912],[102.163901,32.325966],[102.163733,32.326386],[102.163562,32.327495],[102.163611,32.32884],[102.1638,32.330034],[102.164263,32.331119],[102.164698,32.332057],[102.165002,32.332933],[102.164927,32.33305],[102.164921,32.333151],[102.164966,32.333262],[102.165103,32.333333],[102.165265,32.333494],[102.165327,32.333515],[102.165355,32.333563],[102.165421,32.333701],[102.165478,32.333762],[102.165537,32.333789],[102.165603,32.333798],[102.165716,32.333792],[102.165755,32.333809],[102.165778,32.333851],[102.165776,32.333895],[102.165787,32.333925],[102.165879,32.333994],[102.16591,32.334055],[102.165947,32.334241],[102.165978,32.334479],[102.166016,32.334589],[102.166032,32.334606],[102.166071,32.334624],[102.166216,32.334649],[102.166258,32.334664],[102.166336,32.334723],[102.166422,32.334808],[102.166537,32.334869],[102.166574,32.334914],[102.166714,32.335083],[102.166719,32.335091],[102.166732,32.335105],[102.166736,32.335109],[102.166782,32.335155],[102.166812,32.335183],[102.167022,32.335392],[102.167046,32.335415],[102.167094,32.335462],[102.167098,32.335466],[102.16714,32.335508],[102.167202,32.335569],[102.167511,32.335862],[102.167556,32.335904],[102.167621,32.335966],[102.167638,32.335982],[102.167643,32.335987],[102.167743,32.336079],[102.167747,32.336085],[102.167753,32.336091],[102.167762,32.3361],[102.168319,32.336685],[102.168431,32.337185],[102.168437,32.33722],[102.168446,32.33725],[102.168447,32.337257],[102.16848,32.337268],[102.16851,32.337278],[102.168534,32.337302],[102.168524,32.33739],[102.168542,32.337441],[102.168541,32.337492],[102.168541,32.337528],[102.168539,32.337535],[102.168535,32.337548],[102.168557,32.337613],[102.168537,32.33769],[102.168599,32.337739],[102.168648,32.337886],[102.168656,32.337908],[102.168695,32.338026],[102.16871,32.338046],[102.168724,32.338064],[102.168706,32.338073],[102.168662,32.338085],[102.168636,32.338108],[102.16863,32.338193],[102.168652,32.338305],[102.168628,32.33835],[102.168625,32.338407],[102.168657,32.338453],[102.168681,32.33847],[102.168826,32.338501],[102.168919,32.338527],[102.168967,32.338549],[102.168877,32.338701],[102.16885,32.338779],[102.168845,32.338818],[102.168854,32.33887],[102.168911,32.338904],[102.168924,32.338927],[102.168917,32.338955],[102.16888,32.339004],[102.168871,32.339067],[102.168877,32.339098],[102.168917,32.33916],[102.168926,32.339189],[102.168927,32.339263],[102.168939,32.339325],[102.168975,32.339393],[102.169,32.339417],[102.169033,32.339436],[102.169148,32.339476],[102.169265,32.339532],[102.169289,32.339556],[102.169296,32.339581],[102.169292,32.339627],[102.169265,32.339678],[102.169191,32.33975],[102.169152,32.339809],[102.169073,32.339858],[102.169059,32.339899],[102.169067,32.339937],[102.169091,32.339965],[102.169129,32.339989],[102.169175,32.339999],[102.169182,32.340009],[102.169179,32.340024],[102.169101,32.340141],[102.169082,32.340246],[102.16909,32.340348],[102.169105,32.3404],[102.169128,32.340437],[102.169203,32.34049],[102.169201,32.340517],[102.169106,32.340527],[102.168871,32.340522],[102.168826,32.340541],[102.16882,32.340556],[102.168806,32.340588],[102.16881,32.340624],[102.168829,32.34064],[102.168851,32.34066],[102.168968,32.340699],[102.169081,32.340707],[102.169123,32.340734],[102.169122,32.340771],[102.169085,32.340813],[102.169058,32.340888],[102.169046,32.340959],[102.16905,32.341032],[102.169086,32.341122],[102.169198,32.341218],[102.16922,32.341248],[102.169245,32.34133],[102.169253,32.34139],[102.169249,32.341475],[102.169187,32.341653],[102.169157,32.341827],[102.169148,32.341922],[102.169152,32.342147],[102.169143,32.34219],[102.169111,32.342241],[102.169045,32.342282],[102.169023,32.342288],[102.168948,32.342282],[102.168926,32.342287],[102.168913,32.342304],[102.168918,32.342344],[102.168939,32.342378],[102.169071,32.34248],[102.16909,32.342501],[102.16912,32.342534],[102.169129,32.342545],[102.169147,32.342589],[102.16913,32.342682],[102.169148,32.342717],[102.169168,32.342739],[102.16923,32.342777],[102.16933,32.3428],[102.169382,32.342887],[102.169483,32.342965],[102.169526,32.342982],[102.169633,32.343007],[102.169662,32.343027],[102.169675,32.343113],[102.169693,32.34315],[102.169716,32.343183],[102.169762,32.343222],[102.169723,32.343359],[102.16974,32.343422],[102.169767,32.343456],[102.169801,32.34347],[102.169867,32.343473],[102.16991,32.343487],[102.16993,32.343501],[102.169974,32.343566],[102.170012,32.343584],[102.170085,32.343598],[102.170178,32.343584],[102.170216,32.343578],[102.170253,32.343622],[102.170259,32.343651],[102.170254,32.343703],[102.170252,32.34373],[102.170278,32.3441],[102.170274,32.344147],[102.17025,32.344219],[102.170152,32.344396],[102.170104,32.344464],[102.170078,32.344489],[102.169965,32.344557],[102.169782,32.344693],[102.169763,32.344716],[102.169742,32.344742],[102.169724,32.344802],[102.169729,32.344829],[102.169747,32.344857],[102.169821,32.344921],[102.169903,32.344971],[102.169938,32.345017],[102.169951,32.3451],[102.169952,32.345233],[102.169974,32.345376],[102.169977,32.345398],[102.170054,32.345677],[102.170068,32.345763],[102.170101,32.345842],[102.170133,32.345886],[102.170143,32.345896],[102.170219,32.345971],[102.170262,32.345999],[102.170368,32.346048],[102.170402,32.346079],[102.170417,32.346112],[102.170425,32.346144],[102.170419,32.346185],[102.170335,32.34625],[102.170314,32.346288],[102.170297,32.346357],[102.170292,32.346408],[102.170278,32.346537],[102.170283,32.346606],[102.170302,32.346678],[102.170357,32.346782],[102.170398,32.346828],[102.170423,32.346844],[102.170465,32.346855],[102.170633,32.34686],[102.170662,32.346868],[102.170699,32.346909],[102.170727,32.346989],[102.170749,32.347024],[102.170787,32.347067],[102.170826,32.347085],[102.170881,32.347086],[102.170982,32.347058],[102.171085,32.346999],[102.171222,32.346903],[102.171288,32.34688],[102.171363,32.346853],[102.171455,32.346848],[102.171548,32.346866],[102.171613,32.346894],[102.171646,32.346928],[102.171671,32.347008],[102.171661,32.347055],[102.171562,32.347183],[102.171526,32.347229],[102.171437,32.34743],[102.171363,32.34756],[102.17103,32.348018],[102.171015,32.34806],[102.170996,32.34811],[102.170998,32.348207],[102.171014,32.348252],[102.171066,32.348296],[102.171121,32.34832],[102.171203,32.348334],[102.171262,32.348319],[102.171371,32.34826],[102.171541,32.348193],[102.171633,32.348157],[102.171713,32.348155],[102.17174,32.348176],[102.171758,32.348217],[102.171764,32.348254],[102.171756,32.348413],[102.171746,32.348432],[102.171697,32.348471],[102.171652,32.348522],[102.17164,32.348554],[102.17165,32.348581],[102.171718,32.348673],[102.171724,32.348696],[102.17171,32.348738],[102.17164,32.348765],[102.171618,32.348796],[102.171662,32.348993],[102.171672,32.349019],[102.171718,32.349139],[102.171786,32.349255],[102.171838,32.349308],[102.171929,32.349373],[102.171968,32.349411],[102.171983,32.349425],[102.172055,32.349517],[102.172113,32.349665],[102.172164,32.349765],[102.172178,32.349843],[102.172167,32.349904],[102.172128,32.349964],[102.171938,32.350074],[102.171907,32.350106],[102.171896,32.35013],[102.17189,32.350183],[102.171902,32.350277],[102.171938,32.350361],[102.172068,32.350508],[102.172169,32.350662],[102.172248,32.350737],[102.172475,32.350905],[102.172566,32.350973],[102.172618,32.351045],[102.172636,32.351095],[102.172634,32.351145],[102.172616,32.35121],[102.172582,32.351279],[102.17254,32.351329],[102.172431,32.351391],[102.17229,32.351448],[102.17226,32.351464],[102.172188,32.351504],[102.17211,32.351561],[102.17206,32.351623],[102.172034,32.351672],[102.171988,32.351756],[102.171954,32.351843],[102.171937,32.351919],[102.171934,32.352105],[102.17191,32.352192],[102.171882,32.352205],[102.171744,32.352198],[102.171706,32.352203],[102.171625,32.352249],[102.171604,32.35227],[102.171589,32.352302],[102.171592,32.352337],[102.171615,32.352391],[102.171626,32.352404],[102.171665,32.352448],[102.171722,32.352481],[102.171834,32.352528],[102.172203,32.352624],[102.172239,32.352665],[102.172272,32.35276],[102.172255,32.35327],[102.17223,32.353346],[102.172199,32.353378],[102.172148,32.353398],[102.172115,32.353399],[102.17193,32.353368],[102.171848,32.353345],[102.171727,32.353282],[102.171601,32.353232],[102.171572,32.353229],[102.171547,32.353236],[102.171509,32.353286],[102.1715,32.353331],[102.171519,32.353383],[102.171707,32.353686],[102.171789,32.353776],[102.171789,32.353806],[102.171753,32.353903],[102.171752,32.353948],[102.171773,32.354048],[102.171821,32.354155],[102.171823,32.354223],[102.171808,32.354257],[102.171785,32.354281],[102.171707,32.35433],[102.171537,32.354369],[102.171411,32.354429],[102.171355,32.354479],[102.171345,32.354493],[102.171312,32.354543],[102.171285,32.354639],[102.171297,32.354708],[102.171339,32.354748],[102.171395,32.354777],[102.171554,32.354859],[102.171573,32.354877],[102.171577,32.354915],[102.171556,32.354979],[102.171511,32.35505],[102.17149,32.355063],[102.171457,32.355066],[102.171395,32.35507],[102.171365,32.355086],[102.17135,32.355109],[102.171353,32.355127],[102.171384,32.355181],[102.171463,32.355266],[102.171473,32.355317],[102.171464,32.355352],[102.171439,32.355373],[102.171342,32.355415],[102.171199,32.355432],[102.171176,32.355448],[102.171164,32.355483],[102.171165,32.355509],[102.171176,32.355528],[102.171261,32.355566],[102.171305,32.355599],[102.171346,32.355649],[102.171372,32.355711],[102.171379,32.355773],[102.171329,32.355919],[102.171326,32.355972],[102.171364,32.356163],[102.171368,32.356279],[102.171391,32.35637],[102.171407,32.356401],[102.17143,32.356428],[102.17146,32.356446],[102.171552,32.356468],[102.17158,32.35647],[102.171642,32.356474],[102.171766,32.35645],[102.1718,32.356454],[102.171841,32.356496],[102.171863,32.356548],[102.171866,32.356598],[102.171849,32.356651],[102.17181,32.356693],[102.171479,32.35678],[102.17142,32.356808],[102.171401,32.35683],[102.171391,32.356879],[102.171401,32.356928],[102.171426,32.356954],[102.171502,32.356999],[102.171563,32.357065],[102.171565,32.357122],[102.171547,32.357157],[102.171486,32.357186],[102.171434,32.35719],[102.171309,32.357146],[102.171192,32.357081],[102.171125,32.357076],[102.171077,32.357091],[102.171047,32.357128],[102.171007,32.357212],[102.170997,32.357263],[102.170984,32.357553],[102.170972,32.357586],[102.170934,32.357632],[102.170912,32.357645],[102.170892,32.357643],[102.170817,32.357611],[102.170732,32.357562],[102.170676,32.357546],[102.170606,32.35755],[102.170529,32.357569],[102.170476,32.357598],[102.170426,32.357646],[102.17024,32.35793],[102.170221,32.35798],[102.170216,32.357994],[102.170225,32.358092],[102.170244,32.358132],[102.170256,32.358148],[102.170345,32.358277],[102.170366,32.358344],[102.170355,32.358375],[102.170265,32.358475],[102.170244,32.358498],[102.170224,32.358563],[102.170225,32.358642],[102.17023,32.358661],[102.170252,32.358731],[102.170367,32.358887],[102.170438,32.359024],[102.170472,32.359122],[102.170481,32.359192],[102.170478,32.359236],[102.170457,32.359262],[102.170404,32.359294],[102.170374,32.359304],[102.170223,32.359327],[102.170156,32.359349],[102.170051,32.359416],[102.170001,32.359484],[102.169963,32.35951],[102.169942,32.359512],[102.169894,32.359489],[102.169873,32.359472],[102.169857,32.359439],[102.169851,32.359377],[102.169867,32.359225],[102.169857,32.359184],[102.169831,32.359143],[102.169807,32.359126],[102.169753,32.35911],[102.169642,32.359099],[102.169593,32.359109],[102.169568,32.359126],[102.169537,32.359174],[102.169517,32.359237],[102.169516,32.359272],[102.169538,32.359405],[102.169549,32.359438],[102.169622,32.359654],[102.169621,32.359695],[102.169587,32.359745],[102.169536,32.359783],[102.169503,32.359791],[102.169426,32.359793],[102.169367,32.359825],[102.169307,32.359889],[102.169269,32.359971],[102.169243,32.359977],[102.169189,32.359971],[102.169095,32.359944],[102.169061,32.359925],[102.16904,32.359892],[102.168999,32.359727],[102.168987,32.359679],[102.168936,32.359644],[102.168892,32.359632],[102.168864,32.359632],[102.168822,32.359649],[102.168799,32.359669],[102.168736,32.359758],[102.168642,32.359892],[102.168509,32.359999],[102.168474,32.360055],[102.168461,32.360113],[102.168508,32.360247],[102.16851,32.360305],[102.168493,32.360332],[102.168329,32.360274],[102.168202,32.360208],[102.168135,32.3602],[102.168093,32.360207],[102.16792,32.360263],[102.16777,32.360267],[102.167718,32.360282],[102.167691,32.360307],[102.167662,32.360366],[102.167647,32.360453],[102.167602,32.360483],[102.167517,32.360499],[102.167423,32.360475],[102.16735,32.360467],[102.167309,32.360476],[102.167299,32.360485],[102.167292,32.360491],[102.167267,32.360568],[102.167272,32.360624],[102.167287,32.360669],[102.16733,32.360748],[102.167338,32.360762],[102.167385,32.360805],[102.167496,32.360826],[102.167508,32.360841],[102.16747,32.360919],[102.167426,32.360977],[102.167403,32.360995],[102.167326,32.361023],[102.167297,32.361049],[102.167291,32.361079],[102.167317,32.361267],[102.167298,32.361326],[102.167272,32.361357],[102.167177,32.361399],[102.167123,32.361436],[102.16708,32.361486],[102.167044,32.361546],[102.166951,32.361774],[102.166935,32.361833],[102.166928,32.361931],[102.166929,32.361939],[102.166941,32.362036],[102.167,32.362201],[102.167039,32.362247],[102.167095,32.362286],[102.167155,32.362305],[102.167195,32.362308],[102.167294,32.362299],[102.167412,32.36227],[102.167496,32.362266],[102.167529,32.362277],[102.167632,32.362341],[102.167687,32.362384],[102.167729,32.362436],[102.16774,32.362479],[102.167732,32.3628],[102.16775,32.362837],[102.16779,32.362878],[102.167823,32.362885],[102.16785,32.362873],[102.167862,32.362862],[102.167942,32.36278],[102.167971,32.362762],[102.168041,32.362751],[102.168063,32.362756],[102.168087,32.362825],[102.168085,32.362884],[102.168024,32.363037],[102.168006,32.363051],[102.167901,32.363064],[102.167846,32.363088],[102.167797,32.363124],[102.167783,32.363167],[102.167804,32.363226],[102.167823,32.363252],[102.167844,32.363266],[102.167879,32.363274],[102.168007,32.363276],[102.168025,32.363283],[102.168038,32.363307],[102.168045,32.36336],[102.168041,32.363372],[102.168021,32.363383],[102.167923,32.363402],[102.167807,32.363446],[102.167562,32.363567],[102.167037,32.363758],[102.166873,32.36383],[102.166824,32.363859],[102.166802,32.363901],[102.166783,32.364],[102.166782,32.364058],[102.166957,32.364539],[102.166967,32.364621],[102.166964,32.364696],[102.166962,32.364724],[102.16695,32.364749],[102.166903,32.364768],[102.166822,32.36478],[102.166729,32.364779],[102.166681,32.364791],[102.166648,32.364813],[102.166597,32.364869],[102.166573,32.364939],[102.166578,32.365003],[102.166609,32.365039],[102.166667,32.365059],[102.166765,32.365072],[102.166876,32.36506],[102.167163,32.364995],[102.167209,32.364984],[102.16735,32.364963],[102.167472,32.364956],[102.167658,32.364969],[102.167707,32.364984],[102.167772,32.365021],[102.16787,32.365104],[102.167919,32.365161],[102.167947,32.365194],[102.167986,32.365265],[102.16801,32.36534],[102.168009,32.365413],[102.167994,32.365468],[102.16797,32.365495],[102.167908,32.365525],[102.167769,32.365546],[102.167709,32.365578],[102.167653,32.365625],[102.167606,32.36568],[102.167581,32.365729],[102.167573,32.365776],[102.167577,32.365817],[102.167593,32.365852],[102.167646,32.365909],[102.167681,32.365928],[102.167735,32.365924],[102.167841,32.365877],[102.16786,32.365875],[102.16788,32.365885],[102.167908,32.365912],[102.167918,32.365934],[102.167907,32.366011],[102.167853,32.36611],[102.167739,32.366152],[102.167694,32.366179],[102.167614,32.366242],[102.16758,32.366279],[102.167542,32.366341],[102.167533,32.366374],[102.167545,32.366463],[102.167567,32.3665],[102.167592,32.366519],[102.167653,32.36654],[102.167746,32.366553],[102.1678,32.366549],[102.167941,32.366518],[102.168047,32.366471],[102.168128,32.366436],[102.168223,32.366436],[102.16831,32.36646],[102.168316,32.366464],[102.168354,32.36649],[102.168381,32.366519],[102.168404,32.366558],[102.168429,32.3666],[102.168464,32.366718],[102.168486,32.366788],[102.168482,32.366907],[102.168504,32.366954],[102.168547,32.366978],[102.168628,32.366998],[102.168645,32.367002],[102.168663,32.367001],[102.168738,32.366995],[102.168829,32.366988],[102.168878,32.366994],[102.168976,32.367031],[102.169023,32.36706],[102.169052,32.367089],[102.169066,32.367124],[102.16907,32.367174],[102.169049,32.367237],[102.168976,32.367326],[102.168907,32.367455],[102.168828,32.367566],[102.168738,32.367663],[102.168652,32.367733],[102.168603,32.367816],[102.168597,32.36788],[102.168637,32.367966],[102.168635,32.368045],[102.168616,32.368117],[102.168552,32.36817],[102.168535,32.368194],[102.168529,32.368238],[102.168541,32.36829],[102.168577,32.368347],[102.168625,32.368368],[102.168687,32.36837],[102.168739,32.368364],[102.168831,32.368328],[102.168881,32.368338],[102.168944,32.368372],[102.169007,32.368433],[102.169072,32.368451],[102.169112,32.368441],[102.169155,32.368383],[102.169178,32.368363],[102.169185,32.368357],[102.169313,32.368295],[102.169356,32.368282],[102.169427,32.368274],[102.169469,32.368277],[102.169487,32.368279],[102.169507,32.368289],[102.169512,32.368345],[102.169514,32.368363],[102.169498,32.368414],[102.169462,32.368533],[102.169462,32.368612],[102.169472,32.368669],[102.1695,32.368737],[102.16961,32.368871],[102.169668,32.368941],[102.169684,32.368983],[102.16969,32.369029],[102.169687,32.369057],[102.169685,32.369077],[102.169684,32.36909],[102.169682,32.369114],[102.169664,32.36919],[102.169619,32.369298],[102.169595,32.369384],[102.169589,32.369443],[102.169594,32.369468],[102.169625,32.369514],[102.169694,32.369575],[102.169718,32.369591],[102.169858,32.369687],[102.169895,32.369735],[102.169914,32.369784],[102.169884,32.369886],[102.169856,32.369935],[102.1698,32.369988],[102.169709,32.370051],[102.169656,32.370114],[102.169651,32.370131],[102.169658,32.370152],[102.169752,32.370221],[102.16974,32.370263],[102.169715,32.37028],[102.169611,32.370292],[102.169547,32.370323],[102.169507,32.370358],[102.16948,32.370425],[102.169484,32.370471],[102.169517,32.370542],[102.169533,32.37063],[102.16956,32.37069],[102.169604,32.370733],[102.169626,32.370755],[102.169781,32.37086],[102.169801,32.370894],[102.169799,32.370951],[102.169759,32.37098],[102.169705,32.370998],[102.169495,32.370997],[102.16947,32.370981],[102.169383,32.370867],[102.16934,32.370827],[102.169328,32.370822],[102.169286,32.370803],[102.169248,32.370797],[102.169226,32.370803],[102.169209,32.370821],[102.169193,32.370869],[102.169204,32.370976],[102.1692,32.371021],[102.169126,32.371047],[102.169103,32.371085],[102.169099,32.371108],[102.169115,32.371142],[102.169229,32.371224],[102.169271,32.371268],[102.169288,32.371316],[102.169289,32.371398],[102.169268,32.371455],[102.169184,32.37148],[102.169127,32.371533],[102.169064,32.371659],[102.16904,32.371789],[102.16905,32.371847],[102.169077,32.371883],[102.169115,32.371908],[102.169142,32.371925],[102.16925,32.37195],[102.169273,32.371982],[102.169276,32.371999],[102.169145,32.372039],[102.169128,32.372053],[102.169121,32.372068],[102.169142,32.372129],[102.169167,32.372149],[102.169231,32.372176],[102.169236,32.372212],[102.169223,32.372225],[102.16898,32.372278],[102.168864,32.372323],[102.168815,32.372373],[102.168781,32.372437],[102.16876,32.372475],[102.168743,32.372533],[102.168746,32.372591],[102.168759,32.372618],[102.168799,32.372651],[102.16885,32.372657],[102.168924,32.37263],[102.168971,32.372595],[102.169001,32.372555],[102.169023,32.372497],[102.169044,32.372487],[102.169065,32.372477],[102.169111,32.37248],[102.169107,32.372562],[102.169106,32.372597],[102.169122,32.372671],[102.169134,32.372691],[102.169156,32.37271],[102.169163,32.372715],[102.169308,32.372778],[102.169316,32.372826],[102.1693,32.372875],[102.16928,32.372897],[102.168963,32.373085],[102.168886,32.373145],[102.16888,32.373168],[102.168894,32.37321],[102.168973,32.373364],[102.16897,32.373441],[102.168953,32.373479],[102.168927,32.373507],[102.168914,32.373512],[102.168792,32.373495],[102.168688,32.373499],[102.16814,32.373634],[102.168012,32.373713],[102.167943,32.373783],[102.167914,32.373867],[102.167914,32.373875],[102.167903,32.373986],[102.167917,32.374041],[102.167963,32.374101],[102.168037,32.374152],[102.168154,32.374188],[102.168218,32.374189],[102.168245,32.374181],[102.168253,32.374179],[102.168365,32.37413],[102.168456,32.37408],[102.168496,32.374076],[102.168525,32.374086],[102.168551,32.374145],[102.168555,32.374178],[102.168546,32.374193],[102.168516,32.374192],[102.168461,32.374166],[102.168432,32.374166],[102.168397,32.374181],[102.16838,32.374212],[102.16839,32.374252],[102.168458,32.374334],[102.168512,32.374461],[102.168539,32.374492],[102.168618,32.374552],[102.168663,32.374557],[102.168764,32.374531],[102.168783,32.374539],[102.168816,32.374569],[102.168821,32.374578],[102.168835,32.374604],[102.168832,32.374631],[102.168822,32.374641],[102.168812,32.374645],[102.168705,32.374678],[102.168654,32.374709],[102.168641,32.374718],[102.168621,32.37474],[102.168604,32.374778],[102.168615,32.374837],[102.168637,32.374857],[102.168681,32.374878],[102.168761,32.374876],[102.16881,32.374919],[102.168843,32.37493],[102.168884,32.374919],[102.168897,32.374911],[102.168904,32.374906],[102.168935,32.37485],[102.16895,32.374837],[102.168987,32.374825],[102.169009,32.374825],[102.169026,32.374964],[102.169014,32.374997],[102.168992,32.375016],[102.168965,32.375025],[102.168949,32.37503],[102.168914,32.375041],[102.168885,32.375061],[102.168866,32.375089],[102.168829,32.37521],[102.168753,32.375359],[102.168711,32.375392],[102.168673,32.375396],[102.168653,32.375412],[102.168653,32.375429],[102.168668,32.37546],[102.168723,32.375521],[102.168803,32.375581],[102.168846,32.375582],[102.16886,32.37557],[102.168879,32.375524],[102.16887,32.375496],[102.168844,32.375478],[102.168844,32.375471],[102.168871,32.375464],[102.168961,32.375463],[102.168996,32.375454],[102.169025,32.375441],[102.169059,32.37541],[102.169071,32.37531],[102.169075,32.375271],[102.169104,32.375203],[102.169121,32.375165],[102.169196,32.37518],[102.169205,32.375182],[102.169256,32.375182],[102.169297,32.375159],[102.169344,32.375096],[102.169419,32.375068],[102.169455,32.375089],[102.169482,32.375151],[102.169486,32.375188],[102.169355,32.375259],[102.169341,32.375289],[102.169348,32.375319],[102.169391,32.375347],[102.169452,32.375366],[102.169513,32.375344],[102.169565,32.375289],[102.169585,32.375302],[102.169599,32.375325],[102.169606,32.375396],[102.169599,32.375427],[102.169524,32.375495],[102.169497,32.375535],[102.169493,32.375565],[102.169506,32.375598],[102.169511,32.375609],[102.169584,32.375661],[102.16963,32.375669],[102.169652,32.375662],[102.169717,32.375606],[102.169758,32.375595],[102.1698,32.375635],[102.169854,32.375672],[102.169956,32.375702],[102.169955,32.375757],[102.169921,32.375785],[102.169772,32.375806],[102.169625,32.375792],[102.169565,32.375793],[102.169532,32.375813],[102.169503,32.375863],[102.169497,32.375895],[102.169503,32.375921],[102.169542,32.37595],[102.169586,32.375959],[102.169675,32.375951],[102.169721,32.375955],[102.169733,32.37598],[102.169731,32.375996],[102.169667,32.376042],[102.169655,32.376069],[102.169658,32.376089],[102.169696,32.37613],[102.169724,32.376146],[102.169828,32.376162],[102.169846,32.376197],[102.16972,32.376269],[102.169689,32.376298],[102.16968,32.376327],[102.169707,32.376378],[102.169706,32.376394],[102.169698,32.376419],[102.169674,32.376454],[102.169641,32.376463],[102.169608,32.37645],[102.169547,32.376445],[102.1695,32.376463],[102.169481,32.376482],[102.169469,32.376521],[102.169481,32.376592],[102.169411,32.376683],[102.169417,32.376701],[102.169433,32.376716],[102.169478,32.376734],[102.169564,32.37674],[102.169601,32.376733],[102.169628,32.376779],[102.169645,32.376827],[102.169643,32.376861],[102.16963,32.376884],[102.169552,32.376952],[102.169533,32.37699],[102.169542,32.377018],[102.169588,32.377048],[102.169595,32.377064],[102.169582,32.377135],[102.169584,32.377234],[102.169554,32.377361],[102.169517,32.377365],[102.169487,32.377396],[102.169476,32.377519],[102.169432,32.377562],[102.169398,32.377567],[102.169384,32.377547],[102.169367,32.377481],[102.169344,32.377461],[102.169309,32.37745],[102.16929,32.377458],[102.169256,32.377492],[102.169204,32.377521],[102.169122,32.37754],[102.169104,32.377517],[102.169078,32.377458],[102.169062,32.377442],[102.169022,32.377418],[102.169013,32.377412],[102.168961,32.377401],[102.168897,32.377405],[102.168878,32.377413],[102.16884,32.377462],[102.168839,32.377493],[102.168867,32.377543],[102.169062,32.377678],[102.169121,32.377747],[102.169133,32.377781],[102.169139,32.3778],[102.169125,32.377829],[102.169089,32.377852],[102.169081,32.377878],[102.169085,32.377896],[102.169267,32.378134],[102.169366,32.378216],[102.169406,32.378264],[102.169415,32.378299],[102.169397,32.378371],[102.169417,32.378418],[102.169569,32.37854],[102.169701,32.378599],[102.16983,32.378681],[102.169923,32.378717],[102.170006,32.378733],[102.17003,32.378737],[102.170037,32.378771],[102.170043,32.378964],[102.170032,32.378983],[102.170025,32.378995],[102.169959,32.379055],[102.169948,32.379087],[102.169968,32.37916],[102.170007,32.379205],[102.170021,32.379268],[102.17007,32.379335],[102.170131,32.379421],[102.170135,32.379444],[102.170108,32.379481],[102.170086,32.379494],[102.170063,32.379508],[102.169967,32.37946],[102.169936,32.379464],[102.169896,32.379486],[102.169876,32.37952],[102.169877,32.379541],[102.169927,32.379628],[102.169959,32.37974],[102.16996,32.379769],[102.169943,32.37978],[102.169856,32.37974],[102.169819,32.379736],[102.169803,32.379745],[102.16978,32.379776],[102.169766,32.379849],[102.16978,32.379947],[102.169812,32.379992],[102.169842,32.380008],[102.169867,32.380011],[102.169991,32.379968],[102.170022,32.37997],[102.170048,32.379984],[102.170071,32.38001],[102.170084,32.380069],[102.170052,32.380128],[102.170017,32.380158],[102.16995,32.380176],[102.16985,32.380187],[102.169811,32.380203],[102.169658,32.380312],[102.169519,32.380374],[102.169498,32.380404],[102.169495,32.38043],[102.169541,32.380485],[102.169573,32.380514],[102.169801,32.38073],[102.169856,32.380804],[102.1699,32.380833],[102.169953,32.380838],[102.170001,32.380819],[102.170031,32.38079],[102.170051,32.380736],[102.170129,32.380682],[102.17019,32.380664],[102.170201,32.380664],[102.170213,32.380664],[102.170228,32.380672],[102.170243,32.380706],[102.170237,32.380746],[102.170226,32.380755],[102.170162,32.380814],[102.170111,32.380859],[102.17008,32.380928],[102.170083,32.380965],[102.170116,32.380999],[102.170136,32.381006],[102.170184,32.381022],[102.170252,32.381034],[102.1703,32.381028],[102.170313,32.381027],[102.170402,32.380993],[102.170411,32.381012],[102.17041,32.381035],[102.17038,32.38109],[102.170324,32.381115],[102.170283,32.381133],[102.170248,32.381168],[102.170223,32.381212],[102.17021,32.381261],[102.170209,32.381299],[102.170219,32.38134],[102.170238,32.381368],[102.170233,32.381406],[102.170226,32.381416],[102.170198,32.381417],[102.170163,32.381436],[102.170155,32.381529],[102.170123,32.381548],[102.170115,32.381563],[102.170151,32.381649],[102.170137,32.381729],[102.17011,32.38176],[102.170082,32.381776],[102.169969,32.381775],[102.169916,32.381785],[102.16989,32.381807],[102.16989,32.381849],[102.169986,32.382001],[102.170029,32.382121],[102.170053,32.382187],[102.170089,32.382224],[102.170129,32.382233],[102.170168,32.38223],[102.170189,32.382245],[102.170224,32.382298],[102.170233,32.382311],[102.170276,32.382424],[102.1703,32.382457],[102.170357,32.3825],[102.170403,32.382554],[102.17044,32.38257],[102.170486,32.382573],[102.170517,32.382564],[102.170571,32.382549],[102.170605,32.38254],[102.170627,32.382546],[102.170709,32.382594],[102.17077,32.382669],[102.170786,32.38271],[102.170783,32.382744],[102.170679,32.383003],[102.170641,32.383081],[102.170601,32.383166],[102.17053,32.38324],[102.170387,32.383301],[102.170305,32.383353],[102.170276,32.383384],[102.170266,32.383394],[102.170254,32.383431],[102.170263,32.383499],[102.1703,32.383573],[102.170312,32.383597],[102.170391,32.383721],[102.170437,32.383764],[102.170477,32.38378],[102.17054,32.383806],[102.170566,32.383838],[102.17057,32.383861],[102.170542,32.383997],[102.170512,32.384046],[102.170453,32.38408],[102.170379,32.384108],[102.170241,32.384142],[102.170167,32.384179],[102.170114,32.384232],[102.170094,32.384291],[102.170101,32.38434],[102.170112,32.38436],[102.170138,32.384382],[102.170284,32.384454],[102.170451,32.384503],[102.170476,32.384524],[102.170517,32.384628],[102.170615,32.384752],[102.170646,32.384821],[102.170657,32.384891],[102.170657,32.385033],[102.170606,32.385091],[102.170576,32.385106],[102.170544,32.385112],[102.170513,32.385111],[102.170474,32.385098],[102.170445,32.385062],[102.170419,32.385047],[102.170356,32.385045],[102.170285,32.385077],[102.170207,32.385147],[102.170178,32.385199],[102.170183,32.385245],[102.17031,32.385366],[102.170333,32.385419],[102.170304,32.385444],[102.170203,32.3855],[102.170209,32.385536],[102.170167,32.385569],[102.170108,32.385784],[102.170015,32.385858],[102.169944,32.385946],[102.169867,32.386081],[102.169857,32.386111],[102.16983,32.386195],[102.169838,32.386258],[102.169856,32.386286],[102.169927,32.38633],[102.169938,32.386337],[102.170088,32.386394],[102.170126,32.386438],[102.170136,32.386465],[102.170127,32.386511],[102.170082,32.386548],[102.170049,32.386559],[102.169927,32.386579],[102.169882,32.386604],[102.169861,32.386637],[102.169867,32.386677],[102.169897,32.386712],[102.169933,32.386753],[102.169999,32.386921],[102.170029,32.386963],[102.170057,32.386982],[102.170072,32.386993],[102.170143,32.387018],[102.170225,32.387013],[102.17026,32.387022],[102.17029,32.387052],[102.170294,32.387056],[102.170298,32.387088],[102.170272,32.387137],[102.170167,32.387193],[102.170015,32.387232],[102.169989,32.387242],[102.169979,32.387248],[102.169878,32.387286],[102.169648,32.387353],[102.169345,32.387398],[102.169289,32.387423],[102.169242,32.387471],[102.169239,32.387476],[102.169195,32.38756],[102.169185,32.38761],[102.169194,32.387663],[102.169162,32.38768],[102.169185,32.387711],[102.169219,32.387728],[102.169262,32.387734],[102.169325,32.387735],[102.169376,32.387748],[102.169411,32.387776],[102.169418,32.387779],[102.169447,32.387798],[102.169489,32.38785],[102.169543,32.387957],[102.169538,32.387984],[102.169525,32.387997],[102.169491,32.388002],[102.169446,32.387997],[102.16944,32.387997],[102.169433,32.387997],[102.169427,32.387998],[102.169422,32.388],[102.169389,32.388012],[102.169383,32.388014],[102.169378,32.388018],[102.169373,32.388022],[102.169369,32.388026],[102.169322,32.388089],[102.169323,32.388123],[102.169358,32.38817],[102.169454,32.38823],[102.169541,32.388284],[102.169601,32.388324],[102.16964,32.38834],[102.169652,32.388339],[102.169688,32.388329],[102.169707,32.388312],[102.169784,32.388289],[102.169816,32.38829],[102.169845,32.388303],[102.169912,32.388356],[102.169955,32.388416],[102.169967,32.388471],[102.169996,32.388564],[102.170087,32.388637],[102.170104,32.38866],[102.17012,32.388663],[102.170133,32.388674],[102.170597,32.389047],[102.170616,32.389186],[102.170643,32.38922],[102.170649,32.389249],[102.170641,32.389284],[102.170631,32.389302],[102.1707,32.389803],[102.170688,32.390169],[102.170687,32.390204],[102.170679,32.390479],[102.170661,32.390492],[102.170641,32.390528],[102.170655,32.390583],[102.170666,32.3906],[102.170642,32.390776],[102.170637,32.390813],[102.170614,32.390974],[102.170609,32.391013],[102.170568,32.391306],[102.170806,32.391705],[102.170823,32.391733],[102.170849,32.391778],[102.17169,32.391941],[102.172497,32.391815],[102.172758,32.391853],[102.17277,32.391855],[102.172826,32.391863],[102.172956,32.391882],[102.173086,32.3919],[102.173102,32.392034],[102.173109,32.392091],[102.173113,32.392123],[102.17316,32.392508],[102.173166,32.392559],[102.173187,32.392727],[102.1732,32.392827],[102.173205,32.392866],[102.173208,32.39289],[102.173214,32.392941],[102.173289,32.393519],[102.173699,32.394124],[102.173727,32.394165],[102.173734,32.394174],[102.173814,32.394176],[102.173881,32.394177],[102.174325,32.394187],[102.174762,32.393731],[102.174763,32.393681],[102.174765,32.393624],[102.174767,32.393573],[102.174777,32.393229],[102.175201,32.393203],[102.175611,32.393369],[102.175632,32.393375],[102.175651,32.393383],[102.175933,32.393496],[102.176002,32.393524],[102.176065,32.393549],[102.176244,32.393621],[102.176434,32.393693],[102.176551,32.393737],[102.176618,32.393763],[102.176719,32.393801],[102.176767,32.393819],[102.176874,32.39386],[102.1769,32.39387],[102.177247,32.394002],[102.178007,32.394204],[102.178067,32.394221],[102.178127,32.394237],[102.178118,32.394259],[102.178099,32.394304],[102.177899,32.394769],[102.177087,32.395528],[102.176606,32.396474],[102.17674,32.397624],[102.176743,32.397648],[102.176769,32.397807],[102.176776,32.397853],[102.176786,32.397915],[102.177022,32.3994],[102.177688,32.401566],[102.177736,32.403623],[102.177831,32.407833],[102.177899,32.409269],[102.178143,32.41047],[102.178906,32.411703],[102.180106,32.412881],[102.180948,32.414017],[102.181391,32.415177],[102.182047,32.415903],[102.182793,32.416292],[102.183051,32.416975],[102.183905,32.417738],[102.184315,32.418695],[102.184373,32.419374],[102.184198,32.419877],[102.183544,32.420371],[102.182488,32.420956],[102.181511,32.421577],[102.180403,32.422568],[102.180289,32.422689],[102.179495,32.423529],[102.178769,32.42507],[102.178134,32.426207],[102.17782,32.427317],[102.177956,32.428098],[102.177654,32.428802],[102.177884,32.430398],[102.178558,32.431835],[102.17904,32.432997],[102.179353,32.434493],[102.179334,32.435102],[102.179828,32.435892],[102.180074,32.43698],[102.179974,32.437621],[102.179582,32.438662],[102.178953,32.439629],[102.178165,32.440593],[102.176729,32.4431],[102.176494,32.444245],[102.176604,32.445839],[102.176963,32.447133],[102.177262,32.449069],[102.177301,32.450356],[102.17725,32.450899],[102.177122,32.452248],[102.177051,32.453262],[102.177609,32.45456],[102.178293,32.455659],[102.179957,32.457355],[102.180516,32.458653],[102.181184,32.460259],[102.182061,32.461599],[102.182871,32.462497],[102.184357,32.463512],[102.185543,32.463877],[102.186502,32.463865],[102.187653,32.46406],[102.188354,32.464651],[102.189001,32.465647],[102.189325,32.466805],[102.189451,32.467891],[102.189841,32.468837],[102.189859,32.468882],[102.189859,32.468887],[102.189853,32.470371],[102.189847,32.470541],[102.189845,32.470611],[102.189816,32.471555],[102.190121,32.472689],[102.190209,32.473019],[102.190869,32.473643],[102.191625,32.475014],[102.191566,32.475622],[102.191362,32.477039],[102.191084,32.478285],[102.190829,32.48004],[102.190431,32.482569],[102.190356,32.483147],[102.190347,32.483219],[102.190247,32.483987],[102.190245,32.484007],[102.190116,32.484999],[102.190196,32.48754],[102.190146,32.489163],[102.190308,32.49166],[102.190407,32.493101],[102.190422,32.493317],[102.190289,32.493264],[102.190041,32.493187],[102.189735,32.49318],[102.18965,32.493201],[102.189537,32.49327],[102.189418,32.493503],[102.189328,32.493713],[102.189211,32.493923],[102.189121,32.494108],[102.188996,32.494439],[102.18897,32.494508],[102.18882,32.494909],[102.18867,32.495309],[102.188546,32.495638],[102.188422,32.495968],[102.188242,32.496378],[102.188062,32.496789],[102.187883,32.4972],[102.187703,32.49761],[102.187523,32.498021],[102.187445,32.498283],[102.187368,32.498545],[102.18729,32.498807],[102.187213,32.499069],[102.187135,32.499331],[102.187058,32.499593],[102.18698,32.499855],[102.186903,32.500116],[102.186895,32.500143],[102.186803,32.500435],[102.18671,32.500727],[102.186614,32.501126],[102.186482,32.501323],[102.186351,32.501519],[102.186282,32.501581],[102.186155,32.501696],[102.18596,32.501872],[102.185764,32.502048],[102.185568,32.502224],[102.185373,32.5024],[102.185177,32.502576],[102.184977,32.502736],[102.184777,32.502897],[102.184577,32.503057],[102.184378,32.503218],[102.184178,32.503378],[102.184055,32.503476],[102.183978,32.503538],[102.183769,32.503671],[102.183561,32.503804],[102.183353,32.503936],[102.183144,32.504069],[102.182936,32.504202],[102.182728,32.504334],[102.182566,32.504537],[102.182403,32.504739],[102.182241,32.504941],[102.182079,32.505143],[102.181916,32.505345],[102.181754,32.505547],[102.181592,32.505749],[102.181429,32.505951],[102.181267,32.506153],[102.181105,32.506355],[102.180942,32.506557],[102.18078,32.506759],[102.180611,32.506935],[102.180442,32.507111],[102.180273,32.507287],[102.180104,32.507462],[102.179935,32.507638],[102.179766,32.507814],[102.179597,32.50799],[102.179428,32.508165],[102.179254,32.50831],[102.179079,32.508454],[102.178905,32.508599],[102.178731,32.508743],[102.178556,32.508887],[102.178382,32.509032],[102.178208,32.509176],[102.178033,32.509321],[102.177859,32.509465],[102.177685,32.50961],[102.177468,32.509723],[102.177251,32.509835],[102.177035,32.509948],[102.176818,32.510061],[102.176601,32.510174],[102.176384,32.510287],[102.176147,32.510417],[102.17591,32.510547],[102.175673,32.510677],[102.175436,32.510807],[102.175198,32.510937],[102.174961,32.511067],[102.174724,32.511197],[102.174487,32.511327],[102.174155,32.511563],[102.173822,32.511799],[102.17349,32.512035],[102.173305,32.512184],[102.173119,32.512332],[102.172934,32.512481],[102.172748,32.512629],[102.172694,32.512692],[102.17258,32.512823],[102.172412,32.513017],[102.172244,32.513211],[102.172076,32.513404],[102.171907,32.513598],[102.171739,32.513792],[102.171571,32.513986],[102.171403,32.514179],[102.171235,32.514373],[102.171066,32.514567],[102.170878,32.514742],[102.17069,32.514918],[102.170501,32.515094],[102.170313,32.515269],[102.170124,32.515445],[102.169936,32.515621],[102.169748,32.515796],[102.169559,32.515972],[102.169371,32.516148],[102.169182,32.516323],[102.168994,32.516499],[102.168805,32.516675],[102.168617,32.51685],[102.168429,32.517026],[102.168222,32.517192],[102.168015,32.517358],[102.167808,32.517525],[102.167601,32.517691],[102.167394,32.517857],[102.167187,32.518023],[102.166981,32.518189],[102.166774,32.518356],[102.166567,32.518522],[102.16636,32.518688],[102.166153,32.518854],[102.165946,32.51902],[102.16574,32.519187],[102.165533,32.519353],[102.165351,32.519507],[102.165169,32.519661],[102.164987,32.519815],[102.164806,32.519969],[102.164624,32.520123],[102.164442,32.520277],[102.16426,32.520431],[102.164078,32.520585],[102.163897,32.520739],[102.163715,32.520894],[102.163533,32.521048],[102.163351,32.521202],[102.16317,32.521356],[102.163048,32.521459],[102.162988,32.52151],[102.16279,32.521653],[102.162593,32.521797],[102.162395,32.52194],[102.162198,32.522084],[102.162,32.522227],[102.161803,32.522371],[102.161605,32.522514],[102.161408,32.522658],[102.16121,32.522801],[102.161013,32.522945],[102.160816,32.523088],[102.160618,32.523232],[102.160421,32.523375],[102.160223,32.523519],[102.160165,32.523555],[102.160001,32.523658],[102.159779,32.523798],[102.159557,32.523938],[102.159336,32.524077],[102.159114,32.524217],[102.158892,32.524356],[102.15867,32.524496],[102.158448,32.524635],[102.158226,32.524775],[102.158004,32.524914],[102.157782,32.525054],[102.15756,32.525193],[102.157338,32.525333],[102.1572,32.52542],[102.157117,32.525473],[102.157002,32.525578],[102.156787,32.525777],[102.156457,32.526082],[102.156128,32.526386],[102.155798,32.526691],[102.155603,32.526858],[102.155409,32.527026],[102.155214,32.527193],[102.155019,32.52736],[102.154825,32.527528],[102.15463,32.527695],[102.154436,32.527863],[102.154241,32.52803],[102.154046,32.528198],[102.153852,32.528365],[102.153549,32.528688],[102.153246,32.529011],[102.153017,32.52923],[102.152787,32.529448],[102.152614,32.529667],[102.15244,32.529887],[102.15235,32.530097],[102.15226,32.530307],[102.152196,32.530576],[102.152132,32.530845],[102.15211,32.53108],[102.152089,32.531315],[102.152024,32.531573],[102.151893,32.53177],[102.151762,32.531968],[102.151691,32.53207],[102.151631,32.532157],[102.1515,32.532346],[102.151368,32.532535],[102.151237,32.532724],[102.151106,32.532913],[102.150975,32.533102],[102.150843,32.533291],[102.150712,32.53348],[102.150581,32.533669],[102.15045,32.533858],[102.150287,32.534054],[102.150123,32.534249],[102.14996,32.534444],[102.149797,32.53464],[102.149634,32.534835],[102.14947,32.53503],[102.149307,32.535226],[102.149144,32.535421],[102.149072,32.535662],[102.148999,32.535904],[102.148927,32.536146],[102.148854,32.536387],[102.148782,32.536629],[102.148709,32.536871],[102.148555,32.537267],[102.148463,32.537572],[102.148421,32.537994],[102.148427,32.538265],[102.148433,32.538536],[102.148516,32.538767],[102.148599,32.538998],[102.148682,32.53923],[102.148766,32.539461],[102.148849,32.539693],[102.148932,32.539924],[102.149015,32.540156],[102.149098,32.540387],[102.149217,32.540613],[102.149335,32.540838],[102.149395,32.541123],[102.149455,32.541407],[102.149462,32.541785],[102.149465,32.541969],[102.149408,32.54223],[102.149351,32.54249],[102.149294,32.542751],[102.149237,32.543011],[102.14918,32.543272],[102.149123,32.543533],[102.149065,32.543793],[102.149008,32.544054],[102.148965,32.544288],[102.148921,32.544523],[102.148878,32.544757],[102.148834,32.544992],[102.148791,32.545226],[102.148747,32.545461],[102.148703,32.545695],[102.14866,32.54593],[102.148616,32.546164],[102.148573,32.546399],[102.148563,32.546676],[102.148554,32.546954],[102.148544,32.547232],[102.148535,32.547509],[102.148525,32.547787],[102.148516,32.548064],[102.148485,32.548456],[102.148485,32.548457],[102.148485,32.548457],[102.148454,32.548848],[102.148423,32.54924],[102.148388,32.549451],[102.148277,32.549748],[102.148266,32.549777],[102.148095,32.549926],[102.147923,32.550075],[102.14758,32.55035],[102.147237,32.550625],[102.147037,32.550797],[102.146879,32.550933],[102.146836,32.550969],[102.146715,32.55107],[102.146657,32.551118],[102.146479,32.551267],[102.1463,32.551416],[102.146121,32.551565],[102.146048,32.551652],[102.14587,32.551866],[102.145619,32.552166],[102.145368,32.552466],[102.145221,32.55268],[102.145113,32.552837],[102.145074,32.552894],[102.144927,32.553107],[102.14478,32.553321],[102.144633,32.553535],[102.144486,32.553749],[102.144339,32.553963],[102.144192,32.554176],[102.144142,32.554246],[102.144052,32.554371],[102.143912,32.554565],[102.143772,32.55476],[102.143633,32.554955],[102.143493,32.555149],[102.143353,32.555344],[102.143214,32.555538],[102.143074,32.555733],[102.142934,32.555928],[102.142798,32.556117],[102.142795,32.556122],[102.142746,32.556158],[102.142595,32.556271],[102.142395,32.556419],[102.142204,32.556558],[102.14209,32.556641],[102.142081,32.556648],[102.141954,32.556715],[102.141742,32.556828],[102.141582,32.556863],[102.141348,32.556914],[102.140972,32.556929],[102.140596,32.556943],[102.140177,32.556981],[102.139758,32.557019],[102.139507,32.557014],[102.139257,32.557008],[102.138978,32.557025],[102.138699,32.557042],[102.13842,32.557047],[102.138142,32.557053],[102.137905,32.557083],[102.137667,32.557113],[102.1374,32.557189],[102.137133,32.557266],[102.136737,32.557445],[102.136506,32.557699],[102.136304,32.557929],[102.136102,32.558159],[102.135934,32.558364],[102.135765,32.558568],[102.135596,32.558773],[102.135428,32.558977],[102.135259,32.559182],[102.13509,32.559386],[102.134921,32.55959],[102.134753,32.559795],[102.134585,32.559948],[102.134418,32.560101],[102.134251,32.560254],[102.134083,32.560407],[102.133916,32.56056],[102.133749,32.560713],[102.133438,32.560859],[102.133126,32.561005],[102.132816,32.56114],[102.132506,32.561274],[102.132224,32.561385],[102.131942,32.561496],[102.131606,32.561559],[102.13127,32.561622],[102.131011,32.561669],[102.130752,32.561716],[102.130493,32.561763],[102.130233,32.56181],[102.129813,32.561895],[102.129553,32.561966],[102.129293,32.562036],[102.129034,32.562107],[102.128774,32.562177],[102.128521,32.562254],[102.128268,32.56233],[102.128014,32.562407],[102.127929,32.562433],[102.127761,32.562484],[102.127508,32.56256],[102.127255,32.562637],[102.127002,32.562713],[102.126749,32.56279],[102.126524,32.562855],[102.126299,32.562921],[102.126172,32.562948],[102.125795,32.563027],[102.125542,32.563022],[102.125197,32.562955],[102.124851,32.562888],[102.124607,32.562718],[102.124335,32.562499],[102.12416,32.562331],[102.123984,32.562162],[102.123856,32.561962],[102.123728,32.561761],[102.1236,32.56156],[102.123472,32.561359],[102.123268,32.561225],[102.123064,32.56109],[102.122761,32.560966],[102.122457,32.560889],[102.122384,32.56087],[102.122153,32.560812],[102.121919,32.560747],[102.121685,32.560682],[102.12145,32.560642],[102.121215,32.560601],[102.120937,32.560559],[102.12066,32.560517],[102.120405,32.560492],[102.120151,32.560467],[102.119896,32.560441],[102.119642,32.560416],[102.119387,32.560391],[102.119133,32.560365],[102.118701,32.560367],[102.118348,32.560368],[102.118269,32.560368],[102.117906,32.560395],[102.117543,32.560422],[102.11718,32.560449],[102.116817,32.560476],[102.116466,32.560563],[102.116116,32.56065],[102.115863,32.560761],[102.115611,32.560872],[102.115359,32.560983],[102.115107,32.561095],[102.114855,32.561206],[102.114603,32.561317],[102.114353,32.561423],[102.114102,32.561529],[102.113852,32.561636],[102.113601,32.561742],[102.113351,32.561848],[102.1131,32.561954],[102.11285,32.56206],[102.112599,32.562166],[102.112396,32.562265],[102.112192,32.562364],[102.111988,32.562463],[102.111785,32.562562],[102.111581,32.562661],[102.111377,32.562759],[102.111173,32.562858],[102.11097,32.562957],[102.110766,32.563056],[102.110562,32.563155],[102.110374,32.56328],[102.110186,32.563405],[102.109997,32.563531],[102.109809,32.563656],[102.109631,32.563774],[102.10962,32.563781],[102.109533,32.563839],[102.109432,32.563906],[102.109243,32.564031],[102.109055,32.564157],[102.108827,32.564304],[102.1086,32.564452],[102.108372,32.5646],[102.108144,32.564748],[102.108007,32.564837],[102.107991,32.564847],[102.107917,32.564895],[102.107839,32.564946],[102.107689,32.565043],[102.107462,32.565191],[102.107234,32.565338],[102.106839,32.565494],[102.106443,32.565649],[102.106119,32.565795],[102.105794,32.565941],[102.105532,32.566004],[102.10527,32.566066],[102.105008,32.566129],[102.104747,32.566191],[102.104485,32.566254],[102.104223,32.566317],[102.103961,32.566379],[102.103699,32.566442],[102.103467,32.566501],[102.103236,32.56656],[102.103004,32.56662],[102.102772,32.566679],[102.102541,32.566738],[102.102309,32.566798],[102.102077,32.566857],[102.101846,32.566917],[102.101602,32.566997],[102.101358,32.567078],[102.101114,32.567159],[102.10087,32.56724],[102.100626,32.56732],[102.100382,32.567401],[102.100072,32.567524],[102.099762,32.567646],[102.099515,32.567746],[102.099268,32.567846],[102.099021,32.567946],[102.098774,32.568046],[102.098406,32.568214],[102.098039,32.568382],[102.097773,32.568447],[102.097506,32.568512],[102.097213,32.568552],[102.096919,32.568592],[102.096655,32.568575],[102.096391,32.568557],[102.095947,32.568499],[102.095726,32.568435],[102.095505,32.568372],[102.095286,32.568272],[102.095067,32.568173],[102.094833,32.568038],[102.0946,32.567903],[102.094219,32.567683],[102.093986,32.567548],[102.093754,32.567413],[102.093521,32.567278],[102.093289,32.567143],[102.09311,32.567039],[102.093056,32.567008],[102.092851,32.566889],[102.092824,32.566873],[102.092629,32.566816],[102.092492,32.566775],[102.092419,32.566754],[102.092015,32.566634],[102.091611,32.566515],[102.091223,32.566436],[102.090835,32.566357],[102.090552,32.566334],[102.090419,32.566324],[102.090002,32.566291],[102.089683,32.566271],[102.089363,32.566251],[102.089319,32.56625],[102.089057,32.566244],[102.088751,32.566238],[102.088514,32.566256],[102.088276,32.566274],[102.088039,32.566292],[102.087801,32.56631],[102.08752,32.566397],[102.087239,32.566485],[102.086985,32.566597],[102.086591,32.566729],[102.086284,32.566722],[102.086012,32.566726],[102.085739,32.566731],[102.085409,32.566607],[102.08516,32.566543],[102.084911,32.566478],[102.08465,32.566378],[102.084388,32.566277],[102.084074,32.566117],[102.083759,32.565957],[102.083542,32.565864],[102.083326,32.56577],[102.08311,32.565677],[102.082894,32.565583],[102.082677,32.56549],[102.082618,32.565464],[102.082461,32.565397],[102.082353,32.56535],[102.082245,32.565303],[102.082179,32.565275],[102.082029,32.56521],[102.081819,32.565149],[102.081767,32.565133],[102.081505,32.565057],[102.081254,32.565039],[102.081004,32.565022],[102.080863,32.565018],[102.080804,32.565016],[102.080753,32.565015],[102.080643,32.565012],[102.080614,32.565011],[102.080302,32.565098],[102.080279,32.565105],[102.080222,32.565121],[102.080139,32.56517],[102.0801,32.565193],[102.07988,32.565325],[102.079666,32.565465],[102.079453,32.565606],[102.07924,32.565747],[102.079026,32.565888],[102.078813,32.566028],[102.0786,32.566169],[102.078386,32.56631],[102.078173,32.56645],[102.077959,32.566591],[102.077746,32.566732],[102.077533,32.566872],[102.077319,32.567013],[102.077106,32.567154],[102.076892,32.567294],[102.076679,32.567435],[102.076466,32.567576],[102.076257,32.567746],[102.076049,32.567916],[102.075841,32.568085],[102.075632,32.568255],[102.075404,32.568463],[102.075342,32.568626],[102.075338,32.568735],[102.075337,32.568767],[102.075385,32.569004],[102.075502,32.569278],[102.075619,32.569551],[102.075723,32.569751],[102.075828,32.56995],[102.075933,32.57015],[102.076038,32.570349],[102.076143,32.570549],[102.076247,32.570749],[102.076352,32.570948],[102.076457,32.571148],[102.076595,32.571339],[102.076732,32.571531],[102.07687,32.571722],[102.077008,32.571914],[102.077146,32.572105],[102.077283,32.572297],[102.077582,32.572563],[102.07788,32.572782],[102.078183,32.57293],[102.078457,32.573054],[102.078732,32.573131],[102.079007,32.573255],[102.079256,32.573355],[102.079501,32.573502],[102.07973,32.573628],[102.07996,32.573754],[102.080189,32.573879],[102.080419,32.574005],[102.080649,32.574131],[102.080878,32.574257],[102.081111,32.574396],[102.081343,32.574534],[102.081575,32.574673],[102.081807,32.574812],[102.08204,32.57495],[102.082272,32.575089],[102.082515,32.575307],[102.082676,32.575476],[102.082754,32.575689],[102.082801,32.575926],[102.082797,32.576066],[102.082796,32.576124],[102.082794,32.576208],[102.082754,32.576536],[102.082628,32.576958],[102.082601,32.577016],[102.082595,32.57703],[102.082591,32.577038],[102.082587,32.577047],[102.082586,32.577048],[102.082574,32.577074],[102.082524,32.577179],[102.082508,32.577214],[102.082466,32.577302],[102.082424,32.577391],[102.08242,32.5774],[102.082239,32.577796],[102.082061,32.578169],[102.082006,32.578586],[102.081979,32.578799],[102.081952,32.579004],[102.081922,32.579271],[102.081893,32.579538],[102.081878,32.579673],[102.081863,32.579805],[102.081834,32.580073],[102.081804,32.58034],[102.081774,32.580607],[102.081745,32.580874],[102.081715,32.581141],[102.081734,32.581448],[102.081835,32.581756],[102.081991,32.582066],[102.082204,32.582385],[102.082417,32.582704],[102.08263,32.583023],[102.08284,32.583405],[102.082862,32.583454],[102.082965,32.583677],[102.082971,32.58369],[102.083016,32.583974],[102.083007,32.584244],[102.082999,32.584515],[102.082876,32.584841],[102.08277,32.585145],[102.082663,32.585448],[102.082445,32.585795],[102.082228,32.586141],[102.082049,32.586426],[102.082011,32.586487],[102.081738,32.586741],[102.081465,32.586994],[102.081121,32.587267],[102.080893,32.587427],[102.080665,32.587587],[102.08027,32.587742],[102.079962,32.587829],[102.079653,32.587916],[102.079357,32.588027],[102.079061,32.588138],[102.078789,32.588332],[102.078518,32.588526],[102.078287,32.588768],[102.078056,32.589009],[102.077931,32.589204],[102.077807,32.589399],[102.077682,32.589593],[102.077557,32.589788],[102.077385,32.589974],[102.07724,32.590134],[102.077089,32.590484],[102.077134,32.590814],[102.077199,32.591049],[102.077264,32.591284],[102.077329,32.591518],[102.077394,32.591753],[102.077459,32.591987],[102.077524,32.592222],[102.077589,32.592457],[102.077654,32.592691],[102.077719,32.592926],[102.077784,32.59316],[102.077829,32.593468],[102.077805,32.593773],[102.07778,32.594078],[102.077731,32.594313],[102.077682,32.594547],[102.077576,32.594938],[102.077471,32.595328],[102.077365,32.595718],[102.077266,32.595974],[102.077167,32.59623],[102.077167,32.596231],[102.077068,32.596487],[102.076969,32.596744],[102.076908,32.597007],[102.076846,32.597271],[102.076785,32.597534],[102.076724,32.597798],[102.076663,32.598062],[102.076601,32.598325],[102.07654,32.598589],[102.076479,32.598853],[102.076418,32.599116],[102.076356,32.59938],[102.07629,32.59972],[102.076224,32.60006],[102.076045,32.600384],[102.07587,32.600664],[102.075592,32.600937],[102.075315,32.60121],[102.075219,32.601304],[102.075119,32.601402],[102.074922,32.601594],[102.074726,32.601785],[102.074529,32.601977],[102.074333,32.602169],[102.074137,32.60236],[102.074053,32.602461],[102.073967,32.602564],[102.073798,32.602768],[102.073629,32.602972],[102.07346,32.603176],[102.073291,32.60338],[102.073121,32.603584],[102.072952,32.603788],[102.072783,32.603992],[102.072614,32.604196],[102.072444,32.6044],[102.072275,32.604604],[102.072106,32.604808],[102.071957,32.605016],[102.071808,32.605224],[102.071757,32.605296],[102.071659,32.605432],[102.07151,32.60564],[102.071361,32.605849],[102.071212,32.606057],[102.071063,32.606265],[102.070913,32.606473],[102.070764,32.606681],[102.070615,32.606889],[102.070466,32.607097],[102.070317,32.607305],[102.070074,32.607645],[102.069831,32.607985],[102.069588,32.608325],[102.069445,32.60856],[102.069301,32.608795],[102.069158,32.609029],[102.069014,32.609264],[102.068882,32.609481],[102.068871,32.609499],[102.068727,32.609734],[102.068584,32.609969],[102.06844,32.610204],[102.068307,32.610448],[102.068173,32.610692],[102.068124,32.610915],[102.068075,32.611137],[102.06808,32.611431],[102.068084,32.611726],[102.068112,32.611953],[102.068139,32.612179],[102.068145,32.612228],[102.068167,32.612406],[102.068195,32.612633],[102.068237,32.612717],[102.068326,32.612895],[102.068457,32.613158],[102.068575,32.613373],[102.068693,32.613588],[102.068853,32.613803],[102.069014,32.614018],[102.069229,32.614258],[102.06928,32.61437],[102.069359,32.614543],[102.069366,32.614653],[102.069377,32.614827],[102.069314,32.615174],[102.069309,32.615202],[102.069191,32.615412],[102.068971,32.615759],[102.068937,32.615812],[102.068927,32.615828],[102.06875,32.616106],[102.068627,32.616486],[102.068504,32.616865],[102.06838,32.617244],[102.068359,32.617479],[102.068337,32.617714],[102.068315,32.617949],[102.068294,32.618184],[102.068272,32.618419],[102.06825,32.618654],[102.068229,32.618889],[102.068207,32.619124],[102.068186,32.619547],[102.068166,32.61997],[102.068145,32.620393],[102.068124,32.620816],[102.068039,32.621038],[102.067954,32.621259],[102.067869,32.62148],[102.067784,32.621702],[102.067699,32.621923],[102.067614,32.622144],[102.067529,32.622365],[102.067444,32.622587],[102.06738,32.622698],[102.067369,32.622719],[102.06734,32.622769],[102.06732,32.622804],[102.067197,32.62302],[102.067074,32.623237],[102.067017,32.623337],[102.067013,32.623344],[102.066993,32.623378],[102.066991,32.623383],[102.06695,32.623454],[102.066827,32.623671],[102.066704,32.623888],[102.066563,32.624093],[102.066422,32.624299],[102.066281,32.624504],[102.06614,32.62471],[102.065998,32.624916],[102.065857,32.625121],[102.065797,32.625209],[102.065621,32.625452],[102.065446,32.625694],[102.065296,32.626045],[102.065181,32.626135],[102.064959,32.626108],[102.064628,32.626006],[102.064463,32.625908],[102.064276,32.625692],[102.064069,32.625407],[102.063862,32.625121],[102.063672,32.624859],[102.063501,32.624622],[102.06333,32.624385],[102.063205,32.624153],[102.06308,32.62392],[102.062955,32.623687],[102.06283,32.623455],[102.062768,32.62323],[102.062705,32.623005],[102.062606,32.62265],[102.062507,32.622271],[102.062463,32.621916],[102.062416,32.621655],[102.06234,32.621466],[102.062204,32.621275],[102.062016,32.621105],[102.061797,32.620983],[102.061482,32.620834],[102.061166,32.620685],[102.060951,32.620593],[102.060735,32.620502],[102.06052,32.620411],[102.060305,32.620319],[102.060089,32.620228],[102.059874,32.620137],[102.059658,32.620045],[102.059443,32.619954],[102.059228,32.619863],[102.059012,32.619771],[102.058797,32.61968],[102.058582,32.619588],[102.058348,32.619501],[102.058114,32.619413],[102.057852,32.619324],[102.057589,32.619235],[102.057229,32.619204],[102.056949,32.619267],[102.056722,32.619404],[102.056462,32.619657],[102.056287,32.619865],[102.056169,32.620074],[102.056051,32.620283],[102.055876,32.620537],[102.055564,32.620719],[102.055226,32.620829],[102.05496,32.620846],[102.054694,32.620863],[102.054327,32.620807],[102.053959,32.620751],[102.053569,32.620718],[102.053161,32.620708],[102.052752,32.620698],[102.052344,32.620689],[102.051953,32.620719],[102.051562,32.620749],[102.051171,32.620778],[102.050735,32.620875],[102.0503,32.620971],[102.050071,32.621028],[102.049841,32.621086],[102.049612,32.621143],[102.049382,32.6212],[102.049153,32.621258],[102.048924,32.621315],[102.048666,32.621349],[102.048409,32.621383],[102.048151,32.621417],[102.047894,32.621451],[102.047637,32.621485],[102.047379,32.621519],[102.047122,32.621553],[102.046864,32.621587],[102.046607,32.621621],[102.046349,32.621655],[102.046073,32.62167],[102.045796,32.621685],[102.045519,32.6217],[102.045242,32.621715],[102.044965,32.62173],[102.044688,32.621745],[102.044411,32.62176],[102.044135,32.621775],[102.043858,32.62179],[102.043581,32.621805],[102.043304,32.62182],[102.043027,32.621835],[102.042679,32.621815],[102.042331,32.621795],[102.041887,32.621749],[102.041509,32.62171],[102.041443,32.621704],[102.041125,32.621637],[102.040806,32.621571],[102.040378,32.621479],[102.039949,32.621386],[102.039728,32.621318],[102.039565,32.621268],[102.039517,32.621253],[102.039507,32.62125],[102.039286,32.621182],[102.039066,32.621114],[102.038845,32.621046],[102.038624,32.620979],[102.038432,32.620862],[102.038239,32.620746],[102.037854,32.620513],[102.03747,32.62028],[102.037085,32.620048],[102.036893,32.619931],[102.0367,32.619815],[102.036501,32.619676],[102.036302,32.619537],[102.036104,32.619399],[102.035905,32.61926],[102.035706,32.619121],[102.035507,32.618982],[102.035308,32.618843],[102.035109,32.618705],[102.03491,32.618566],[102.034711,32.618427],[102.03454,32.618274],[102.034369,32.61812],[102.034197,32.617967],[102.034026,32.617814],[102.033854,32.617661],[102.033683,32.617507],[102.033443,32.617172],[102.033204,32.616837],[102.032964,32.616501],[102.032936,32.616436],[102.032917,32.616392],[102.032874,32.616292],[102.032783,32.616083],[102.032692,32.615873],[102.032602,32.615664],[102.032511,32.615455],[102.032421,32.615246],[102.03233,32.615036],[102.032239,32.614827],[102.032149,32.614618],[102.032058,32.614409],[102.031964,32.614199],[102.03187,32.61399],[102.031776,32.613781],[102.031682,32.613572],[102.031588,32.613363],[102.031494,32.613153],[102.0314,32.612944],[102.031307,32.612735],[102.031213,32.612526],[102.031119,32.612317],[102.031052,32.612088],[102.030985,32.611858],[102.030919,32.611629],[102.030852,32.6114],[102.030785,32.611171],[102.030719,32.610942],[102.030698,32.610718],[102.030678,32.610494],[102.030658,32.610269],[102.030637,32.610045],[102.030617,32.609821],[102.030597,32.609597],[102.030605,32.60936],[102.030613,32.609123],[102.03062,32.608886],[102.030628,32.608649],[102.030636,32.608412],[102.030644,32.608175],[102.030652,32.607938],[102.03066,32.607701],[102.030747,32.60726],[102.030834,32.60682],[102.03092,32.606379],[102.031007,32.605938],[102.031094,32.605498],[102.031075,32.605236],[102.031027,32.605002],[102.030868,32.604739],[102.030668,32.604475],[102.030468,32.604211],[102.030197,32.60397],[102.029927,32.603728],[102.029761,32.603576],[102.029595,32.603425],[102.029473,32.603313],[102.029437,32.60328],[102.029429,32.603273],[102.029263,32.603121],[102.029097,32.60297],[102.028931,32.602818],[102.028765,32.602666],[102.028599,32.602515],[102.028433,32.602363],[102.028267,32.602212],[102.02794,32.601968],[102.027928,32.601958],[102.027614,32.601724],[102.027356,32.601381],[102.027099,32.601037],[102.026841,32.600694],[102.026544,32.600381],[102.026398,32.600177],[102.026251,32.599972],[102.026181,32.599595],[102.026105,32.599346],[102.02603,32.599097],[102.025876,32.598693],[102.025716,32.598478],[102.025528,32.598285],[102.025338,32.598139],[102.025145,32.598064],[102.024922,32.598035],[102.024631,32.598028],[102.024339,32.598021],[102.024047,32.59799],[102.023756,32.59796],[102.023534,32.597908],[102.023312,32.597856],[102.023065,32.597756],[102.022817,32.597656],[102.022612,32.597557],[102.022406,32.597457],[102.022202,32.597323],[102.021998,32.597189],[102.021793,32.597055],[102.021589,32.596921],[102.021309,32.596645],[102.021029,32.596369],[102.020748,32.596094],[102.020471,32.595766],[102.020194,32.595437],[102.019917,32.595109],[102.019686,32.59476],[102.019455,32.594411],[102.019314,32.594199],[102.019224,32.594062],[102.019111,32.593671],[102.018999,32.59328],[102.018958,32.593049],[102.018916,32.592819],[102.018902,32.592738],[102.018875,32.592589],[102.018834,32.592358],[102.018744,32.592144],[102.018653,32.59193],[102.01844,32.591619],[102.018172,32.591353],[102.017954,32.59116],[102.017655,32.590964],[102.017336,32.590769],[102.017018,32.590573],[102.016699,32.590377],[102.016441,32.590292],[102.016183,32.590206],[102.016,32.590145],[102.015999,32.590145],[102.015997,32.590145],[102.015925,32.59012],[102.015667,32.590035],[102.015408,32.589949],[102.01515,32.589864],[102.014892,32.589778],[102.014634,32.589692],[102.014344,32.589615],[102.014053,32.589537],[102.01382,32.589438],[102.013587,32.589338],[102.013287,32.589119],[102.012988,32.588876],[102.012813,32.588696],[102.012639,32.588515],[102.012455,32.588129],[102.012271,32.587743],[102.012087,32.587358],[102.011902,32.586972],[102.011655,32.586597],[102.011407,32.586222],[102.01116,32.585848],[102.010845,32.585542],[102.01053,32.585236],[102.010473,32.585181],[102.010215,32.584931],[102.009949,32.584571],[102.009761,32.584366],[102.009573,32.584161],[102.009412,32.58397],[102.009251,32.583778],[102.009046,32.583455],[102.009039,32.583443],[102.008866,32.583078],[102.008692,32.582713],[102.008519,32.582348],[102.008446,32.582132],[102.008372,32.581916],[102.008299,32.5817],[102.008225,32.581484],[102.008152,32.581268],[102.008078,32.581052],[102.008005,32.580836],[102.007931,32.58062],[102.00786,32.580379],[102.007789,32.580139],[102.007719,32.579898],[102.007648,32.579657],[102.007577,32.579416],[102.007506,32.579175],[102.007418,32.578947],[102.007331,32.57872],[102.007243,32.578492],[102.007156,32.578264],[102.007068,32.578036],[102.00698,32.577809],[102.006893,32.577581],[102.006805,32.577353],[102.006717,32.577126],[102.00663,32.576898],[102.006542,32.57667],[102.006455,32.576443],[102.006355,32.576225],[102.006255,32.576007],[102.006155,32.575789],[102.006055,32.575572],[102.005956,32.575354],[102.005856,32.575136],[102.005756,32.574918],[102.005656,32.574701],[102.005556,32.574483],[102.005522,32.574409],[102.005457,32.574265],[102.005344,32.574051],[102.005231,32.573836],[102.005118,32.573622],[102.005005,32.573407],[102.004893,32.573193],[102.00478,32.572978],[102.004667,32.572764],[102.004554,32.57255],[102.004441,32.572335],[102.004329,32.572121],[102.004051,32.571792],[102.003773,32.571462],[102.003496,32.571133],[102.003218,32.570804],[102.003002,32.570568],[102.002786,32.570332],[102.002578,32.57006],[102.002371,32.569789],[102.002204,32.569486],[102.002037,32.569183],[102.001893,32.568796],[102.001748,32.56841],[102.001672,32.568153],[102.001595,32.567896],[102.001592,32.567888],[102.001574,32.567827],[102.001518,32.567639],[102.001492,32.567551],[102.001481,32.567513],[102.001442,32.567383],[102.001365,32.567126],[102.001352,32.567084],[102.001318,32.566968],[102.001288,32.566869],[102.001171,32.566511],[102.001155,32.566461],[102.001095,32.56628],[102.001035,32.566096],[102.001028,32.566073],[102.00102,32.56605],[102.000944,32.565819],[102.000868,32.565588],[102.000793,32.565357],[102.000717,32.565126],[102.000597,32.565004],[102.000597,32.565004],[102.000478,32.564882],[102.000247,32.564647],[102.000238,32.564638],[102.000138,32.564678],[102.000062,32.564708],[102.000009,32.564736],[102.000001,32.56474],[101.999995,32.564744],[101.999941,32.564772],[101.999928,32.564779],[101.999928,32.564779],[101.999916,32.564786],[101.999876,32.564807],[101.999844,32.564824],[101.999844,32.564824],[101.999839,32.564827],[101.999708,32.564896],[101.999627,32.564939],[101.999354,32.565084],[101.99922,32.565155],[101.99922,32.565155],[101.999,32.565273],[101.998824,32.565428],[101.998647,32.565584],[101.998471,32.565739],[101.998295,32.565895],[101.998119,32.56605],[101.997943,32.566206],[101.997766,32.566361],[101.99759,32.566517],[101.997414,32.566673],[101.997238,32.566828],[101.997097,32.567004],[101.996957,32.567181],[101.996816,32.567357],[101.996676,32.567534],[101.996536,32.56771],[101.996395,32.567886],[101.996255,32.568063],[101.996115,32.568239],[101.995974,32.568415],[101.995834,32.568592],[101.995645,32.568733],[101.995456,32.568874],[101.995267,32.569015],[101.995078,32.569157],[101.994889,32.569298],[101.9947,32.569439],[101.994511,32.56958],[101.994322,32.569722],[101.994133,32.569863],[101.993944,32.570004],[101.993752,32.570135],[101.99356,32.570265],[101.993369,32.570396],[101.993177,32.570527],[101.992985,32.570657],[101.992793,32.570788],[101.992602,32.570919],[101.99241,32.571049],[101.992218,32.57118],[101.992027,32.571311],[101.991835,32.571441],[101.991643,32.571572],[101.991439,32.571696],[101.991235,32.57182],[101.99103,32.571944],[101.990826,32.572068],[101.990621,32.572192],[101.990417,32.572316],[101.990213,32.57244],[101.990008,32.572564],[101.98981,32.572672],[101.989611,32.572781],[101.989413,32.57289],[101.989214,32.572998],[101.988912,32.57314],[101.988611,32.573281],[101.988244,32.573352],[101.987897,32.573195],[101.987792,32.573011],[101.987723,32.572774],[101.987654,32.572537],[101.987652,32.572472],[101.987643,32.572227],[101.987654,32.572152],[101.987679,32.571967],[101.987714,32.571707],[101.98775,32.571448],[101.987785,32.571188],[101.987821,32.570928],[101.987834,32.570834],[101.987856,32.570668],[101.987892,32.570408],[101.987927,32.570148],[101.987963,32.569888],[101.987998,32.569628],[101.988061,32.56936],[101.988123,32.569091],[101.988185,32.568822],[101.988192,32.568791],[101.988247,32.568553],[101.98831,32.568284],[101.988372,32.568015],[101.988435,32.567746],[101.988497,32.567477],[101.988559,32.567208],[101.988622,32.566939],[101.988684,32.566687],[101.988747,32.566435],[101.98881,32.566183],[101.988873,32.565931],[101.988935,32.565678],[101.988998,32.565426],[101.989061,32.565174],[101.989124,32.564922],[101.989186,32.56467],[101.989249,32.564417],[101.989278,32.564157],[101.989306,32.563897],[101.989335,32.563638],[101.989363,32.563378],[101.989324,32.562943],[101.989284,32.562509],[101.989245,32.562075],[101.989206,32.561641],[101.989192,32.561206],[101.989177,32.560772],[101.989163,32.560338],[101.989186,32.560112],[101.98921,32.559886],[101.989233,32.55966],[101.989256,32.559434],[101.989279,32.559208],[101.989302,32.558982],[101.989326,32.558757],[101.989339,32.558624],[101.989349,32.558531],[101.989386,32.558261],[101.989423,32.557992],[101.98946,32.557722],[101.989498,32.557453],[101.989517,32.557314],[101.989535,32.557183],[101.989572,32.556914],[101.989609,32.556645],[101.989646,32.556375],[101.989684,32.556106],[101.989721,32.555836],[101.989724,32.555583],[101.989728,32.555331],[101.989732,32.555078],[101.989733,32.555017],[101.989736,32.554825],[101.989739,32.554572],[101.989741,32.554473],[101.989743,32.554319],[101.989747,32.554066],[101.989751,32.553813],[101.989754,32.553561],[101.989758,32.553308],[101.989699,32.552978],[101.989594,32.552772],[101.989468,32.55265],[101.989292,32.55253],[101.989071,32.552494],[101.988859,32.552516],[101.988802,32.552521],[101.988567,32.552545],[101.988533,32.552548],[101.988119,32.55262],[101.98783,32.552794],[101.987542,32.552967],[101.987321,32.553084],[101.9871,32.553202],[101.986879,32.553319],[101.986658,32.553437],[101.986449,32.553548],[101.986438,32.553554],[101.986335,32.553609],[101.986217,32.553672],[101.986123,32.553722],[101.985996,32.553789],[101.985775,32.553907],[101.985555,32.554024],[101.985334,32.554142],[101.985113,32.554259],[101.984892,32.554377],[101.984811,32.554406],[101.98466,32.554461],[101.984461,32.554533],[101.984434,32.554543],[101.984429,32.554545],[101.984418,32.554548],[101.984197,32.554628],[101.983965,32.554712],[101.983829,32.554762],[101.983733,32.554796],[101.983501,32.55488],[101.983269,32.554964],[101.983038,32.555048],[101.982806,32.555132],[101.982574,32.555216],[101.982342,32.5553],[101.982127,32.555378],[101.98211,32.555384],[101.982047,32.555406],[101.981905,32.555458],[101.981878,32.555467],[101.981647,32.555551],[101.98125,32.555726],[101.980853,32.5559],[101.980568,32.556026],[101.980546,32.556035],[101.980457,32.556075],[101.980247,32.556167],[101.980213,32.556182],[101.980203,32.556186],[101.980129,32.556219],[101.980107,32.556228],[101.98006,32.556249],[101.979906,32.556392],[101.979739,32.556547],[101.979548,32.556724],[101.979485,32.556783],[101.979419,32.556845],[101.979098,32.557142],[101.978778,32.55744],[101.978736,32.557471],[101.978687,32.557508],[101.978613,32.557563],[101.978565,32.557598],[101.978353,32.557756],[101.97814,32.557914],[101.977928,32.558072],[101.977715,32.558229],[101.977503,32.558387],[101.977291,32.558545],[101.977128,32.558666],[101.977078,32.558703],[101.976893,32.558837],[101.976707,32.558971],[101.976603,32.559046],[101.976601,32.559048],[101.976599,32.559049],[101.976558,32.559079],[101.976552,32.559083],[101.976522,32.559105],[101.976337,32.559239],[101.975989,32.559454],[101.975716,32.559623],[101.97564,32.55967],[101.97535,32.559791],[101.975196,32.559855],[101.975059,32.559912],[101.97485,32.559963],[101.974779,32.55998],[101.9745,32.560049],[101.974277,32.560103],[101.974054,32.560156],[101.973831,32.56021],[101.973608,32.560263],[101.973385,32.560317],[101.973162,32.560371],[101.972898,32.560533],[101.972634,32.560695],[101.972622,32.560711],[101.972621,32.560712],[101.972551,32.560806],[101.972521,32.560847],[101.972476,32.560908],[101.972469,32.560916],[101.972305,32.561138],[101.97216,32.561319],[101.972014,32.561501],[101.971985,32.561538],[101.971869,32.561682],[101.971724,32.561864],[101.971694,32.561902],[101.971683,32.561915],[101.971578,32.562046],[101.971478,32.562171],[101.971477,32.562172],[101.971448,32.562209],[101.971433,32.562227],[101.971288,32.562409],[101.971143,32.56259],[101.970946,32.562761],[101.97075,32.562931],[101.970553,32.563101],[101.970492,32.563155],[101.970479,32.563166],[101.970432,32.563207],[101.970425,32.563213],[101.970357,32.563272],[101.97016,32.563442],[101.969964,32.563613],[101.969767,32.563783],[101.96957,32.563953],[101.969417,32.564173],[101.969375,32.564233],[101.969317,32.564317],[101.969264,32.564392],[101.96921,32.56447],[101.969156,32.564548],[101.969111,32.564611],[101.968958,32.56483],[101.968858,32.564974],[101.968842,32.564997],[101.968805,32.56505],[101.968775,32.565093],[101.968652,32.565269],[101.968441,32.565564],[101.968351,32.565691],[101.96835,32.565691],[101.96835,32.565692],[101.96823,32.565859],[101.968227,32.565862],[101.968204,32.565882],[101.967897,32.566158],[101.967563,32.566436],[101.967351,32.566506],[101.96733,32.566512],[101.967208,32.566552],[101.96717,32.566564],[101.967151,32.566571],[101.966859,32.566639],[101.966817,32.566649],[101.966795,32.566655],[101.966567,32.566708],[101.966311,32.566756],[101.966055,32.566803],[101.965641,32.566897],[101.965241,32.56701],[101.965214,32.567017],[101.965017,32.567072],[101.964891,32.567108],[101.96484,32.567122],[101.964617,32.567249],[101.964575,32.567273],[101.964451,32.56739],[101.964416,32.567424],[101.964373,32.567465],[101.964263,32.567569],[101.964235,32.567596],[101.964171,32.567656],[101.964008,32.567898],[101.963844,32.56814],[101.963638,32.568325],[101.963629,32.568332],[101.963476,32.568469],[101.963474,32.568471],[101.963423,32.568516],[101.963415,32.568524],[101.963125,32.568649],[101.963113,32.568655],[101.963101,32.56866],[101.963047,32.568684],[101.962957,32.568722],[101.96295,32.568725],[101.962811,32.568786],[101.962469,32.568836],[101.9622,32.568842],[101.961857,32.56885],[101.961635,32.568893],[101.961613,32.568897],[101.961516,32.568921],[101.961438,32.569151],[101.961417,32.569214],[101.961382,32.569315],[101.961375,32.569337],[101.96136,32.569381],[101.961306,32.56962],[101.961273,32.569769],[101.96127,32.569781],[101.961266,32.569801],[101.961252,32.569859],[101.961125,32.57007],[101.961079,32.570145],[101.960997,32.57028],[101.960662,32.570578],[101.960459,32.570738],[101.960348,32.570825],[101.960255,32.570899],[101.960035,32.571001],[101.959814,32.571102],[101.959594,32.571204],[101.959373,32.571306],[101.959136,32.571519],[101.959048,32.571598],[101.959036,32.571608],[101.958999,32.571641],[101.958999,32.571641],[101.958999,32.571641],[101.958939,32.571695],[101.958939,32.571695],[101.958723,32.571889],[101.958397,32.57218],[101.958348,32.572224],[101.95827,32.572295],[101.958266,32.572299],[101.958247,32.572315],[101.958148,32.572404],[101.957899,32.572628],[101.957624,32.572862],[101.957417,32.573039],[101.957397,32.573056],[101.95735,32.573096],[101.957338,32.573101],[101.957095,32.573196],[101.956841,32.573295],[101.956562,32.573395],[101.956284,32.573494],[101.956079,32.573603],[101.955874,32.573712],[101.955623,32.573924],[101.955373,32.574137],[101.955233,32.574348],[101.955093,32.574558],[101.954957,32.574798],[101.954955,32.574801],[101.954953,32.574803],[101.954914,32.574872],[101.954907,32.574885],[101.954902,32.574894],[101.954841,32.575001],[101.954839,32.575004],[101.954799,32.575075],[101.954722,32.575211],[101.954388,32.575508],[101.95412,32.575555],[101.954099,32.575552],[101.953848,32.575521],[101.95365,32.575442],[101.953399,32.575283],[101.953109,32.57501],[101.953068,32.574971],[101.953004,32.574911],[101.952819,32.574737],[101.952563,32.574432],[101.952394,32.574146],[101.952225,32.573859],[101.952125,32.573655],[101.952025,32.573451],[101.951924,32.573246],[101.951824,32.573042],[101.951724,32.572838],[101.951624,32.572633],[101.951524,32.572429],[101.951423,32.572225],[101.951323,32.572021],[101.951223,32.571816],[101.951103,32.571598],[101.950984,32.57138],[101.950864,32.571161],[101.950745,32.570943],[101.950625,32.570725],[101.950506,32.570506],[101.95044,32.570386],[101.95042,32.57035],[101.950386,32.570288],[101.950267,32.57007],[101.950147,32.569851],[101.950028,32.569633],[101.949908,32.569414],[101.949789,32.569196],[101.949762,32.569146],[101.949669,32.568968],[101.949549,32.56874],[101.949429,32.568511],[101.949309,32.568283],[101.9493,32.568266],[101.949189,32.568055],[101.949069,32.567827],[101.948949,32.567598],[101.948829,32.56737],[101.948709,32.567142],[101.948589,32.566913],[101.948469,32.566685],[101.948348,32.566457],[101.948271,32.566239],[101.948194,32.566021],[101.948116,32.565803],[101.948039,32.565584],[101.947961,32.565366],[101.947884,32.565148],[101.947806,32.56493],[101.947729,32.564712],[101.947634,32.564493],[101.947539,32.564274],[101.947444,32.564055],[101.947349,32.563836],[101.947254,32.563617],[101.947159,32.563399],[101.947064,32.56318],[101.946969,32.562961],[101.946874,32.562742],[101.946779,32.562523],[101.946684,32.562304],[101.946589,32.562085],[101.946483,32.561855],[101.946376,32.561624],[101.94627,32.561394],[101.946164,32.561163],[101.946058,32.560933],[101.945951,32.560702],[101.945845,32.560472],[101.945739,32.560241],[101.945622,32.560044],[101.945506,32.559847],[101.945389,32.559651],[101.945272,32.559454],[101.945155,32.559257],[101.945039,32.559061],[101.944922,32.558864],[101.944873,32.558781],[101.944805,32.558667],[101.944672,32.558459],[101.94465,32.558426],[101.944538,32.558252],[101.944405,32.558044],[101.944271,32.557837],[101.944138,32.557629],[101.944004,32.557421],[101.943827,32.557252],[101.94365,32.557083],[101.943473,32.556913],[101.943295,32.556744],[101.943118,32.556574],[101.942941,32.556405],[101.942764,32.556236],[101.942642,32.556119],[101.942623,32.556101],[101.942587,32.556066],[101.942428,32.55589],[101.942269,32.555714],[101.942111,32.555537],[101.941952,32.555361],[101.941793,32.555184],[101.941635,32.555008],[101.941476,32.554832],[101.941318,32.554655],[101.941159,32.554479],[101.941072,32.554382],[101.941,32.554303],[101.940974,32.554277],[101.940893,32.554199],[101.940817,32.554125],[101.94068,32.553992],[101.940591,32.553906],[101.940538,32.553854],[101.940408,32.553729],[101.940382,32.553704],[101.94036,32.553682],[101.940228,32.553554],[101.940039,32.553372],[101.939697,32.553117],[101.939484,32.552959],[101.939437,32.552924],[101.939354,32.552863],[101.939315,32.552834],[101.939269,32.552799],[101.939012,32.552608],[101.938669,32.552354],[101.938462,32.5522],[101.938255,32.552046],[101.937891,32.55179],[101.937527,32.551534],[101.937164,32.551279],[101.937117,32.551245],[101.9368,32.551023],[101.936623,32.550893],[101.936486,32.550792],[101.936172,32.550561],[101.936145,32.550526],[101.936131,32.550508],[101.936127,32.550504],[101.936121,32.550496],[101.936031,32.550381],[101.935989,32.550327],[101.935969,32.550301],[101.935891,32.550201],[101.93575,32.550022],[101.935609,32.549842],[101.935547,32.549763],[101.935468,32.549662],[101.935328,32.549483],[101.935261,32.549413],[101.935153,32.549301],[101.934978,32.549119],[101.934804,32.548937],[101.93472,32.548849],[101.934675,32.548803],[101.934629,32.548755],[101.934574,32.548697],[101.934454,32.548573],[101.93428,32.548391],[101.934268,32.548383],[101.933916,32.548135],[101.933553,32.547879],[101.933347,32.547734],[101.933345,32.547733],[101.933343,32.547731],[101.933189,32.547623],[101.932959,32.547461],[101.932826,32.547368],[101.932788,32.547334],[101.932759,32.547308],[101.932643,32.547204],[101.932601,32.547167],[101.932579,32.547147],[101.932562,32.547132],[101.932555,32.547126],[101.93246,32.547041],[101.932277,32.546878],[101.932094,32.546715],[101.931911,32.546551],[101.931728,32.546388],[101.931698,32.546361],[101.931578,32.546255],[101.931545,32.546225],[101.931361,32.546062],[101.931178,32.545898],[101.930995,32.545735],[101.930812,32.545572],[101.930629,32.545409],[101.930496,32.545262],[101.930465,32.545228],[101.930426,32.545184],[101.930301,32.545047],[101.930147,32.544877],[101.930138,32.544866],[101.929974,32.544685],[101.92981,32.544504],[101.929646,32.544323],[101.929482,32.544142],[101.92946,32.544118],[101.929319,32.543962],[101.929155,32.543781],[101.928991,32.5436],[101.928827,32.543419],[101.928663,32.543238],[101.928598,32.543165],[101.9285,32.543057],[101.928336,32.542876],[101.928134,32.542705],[101.927932,32.542533],[101.927732,32.542364],[101.92773,32.542362],[101.927698,32.542335],[101.927528,32.54219],[101.927339,32.542019],[101.92715,32.541848],[101.927087,32.541789],[101.926876,32.541591],[101.926846,32.541563],[101.92684,32.541557],[101.926592,32.541279],[101.926384,32.540916],[101.926177,32.540553],[101.925969,32.540191],[101.925873,32.540023],[101.925851,32.539986],[101.925761,32.539828],[101.925708,32.53971],[101.925692,32.539675],[101.925664,32.539611],[101.925658,32.539599],[101.925634,32.539545],[101.925567,32.539394],[101.925469,32.539178],[101.92539,32.539001],[101.925372,32.538961],[101.92532,32.538844],[101.925275,32.538744],[101.925178,32.538528],[101.925081,32.538311],[101.925052,32.538245],[101.925035,32.538208],[101.924984,32.538094],[101.924887,32.537877],[101.92479,32.537661],[101.924714,32.537492],[101.924692,32.537444],[101.924595,32.537227],[101.924528,32.537089],[101.924477,32.536983],[101.924359,32.536739],[101.924318,32.536654],[101.924294,32.536604],[101.924241,32.536495],[101.924122,32.53625],[101.924038,32.536076],[101.924021,32.536041],[101.924004,32.536006],[101.923886,32.535762],[101.923768,32.535518],[101.923649,32.535274],[101.923531,32.535029],[101.923413,32.534785],[101.923295,32.534541],[101.923177,32.534297],[101.923081,32.53407],[101.922986,32.533843],[101.922891,32.533616],[101.922877,32.533582],[101.922796,32.533389],[101.922701,32.533162],[101.922667,32.533082],[101.922606,32.532935],[101.922511,32.532708],[101.922415,32.532481],[101.92232,32.532254],[101.922225,32.532027],[101.92213,32.531801],[101.922035,32.531574],[101.92194,32.531347],[101.921844,32.53112],[101.921746,32.530891],[101.921648,32.530663],[101.921549,32.530434],[101.921451,32.530205],[101.921352,32.529977],[101.921254,32.529748],[101.92122,32.52967],[101.921201,32.529626],[101.921156,32.52952],[101.921057,32.529291],[101.921003,32.529164],[101.920959,32.529062],[101.92086,32.528834],[101.920825,32.528751],[101.920762,32.528605],[101.920664,32.528377],[101.920565,32.528148],[101.920524,32.528054],[101.920509,32.528019],[101.920467,32.52792],[101.920457,32.527899],[101.920361,32.527692],[101.920353,32.527676],[101.920255,32.527464],[101.920211,32.52737],[101.920149,32.527237],[101.920067,32.527061],[101.920043,32.527009],[101.91995,32.526808],[101.919938,32.526782],[101.919929,32.526763],[101.919832,32.526554],[101.919726,32.526326],[101.91962,32.526099],[101.919548,32.525943],[101.919545,32.525936],[101.919527,32.525899],[101.919514,32.525871],[101.919413,32.525653],[101.919409,32.525644],[101.919395,32.525619],[101.91939,32.52561],[101.919226,32.525302],[101.919217,32.525286],[101.919203,32.52526],[101.919043,32.524961],[101.918947,32.524781],[101.91886,32.52462],[101.918856,32.52461],[101.918703,32.524292],[101.918649,32.524086],[101.918617,32.523924],[101.918604,32.523859],[101.918567,32.523667],[101.91856,32.523632],[101.918543,32.523537],[101.918517,32.523397],[101.918515,32.523385],[101.91847,32.523137],[101.918426,32.52289],[101.918381,32.522642],[101.918322,32.522363],[101.918301,32.522262],[101.918263,32.522085],[101.918202,32.521651],[101.918195,32.521453],[101.918192,32.52134],[101.918196,32.521192],[101.918204,32.520967],[101.91822,32.520718],[101.918227,32.520685],[101.918234,32.520657],[101.918263,32.520531],[101.918354,32.520301],[101.91836,32.520286],[101.918366,32.520271],[101.918458,32.52004],[101.918555,32.519795],[101.918653,32.51955],[101.918738,32.519314],[101.918824,32.519078],[101.918909,32.518842],[101.918994,32.518606],[101.919055,32.518436],[101.919067,32.518405],[101.919079,32.518369],[101.919165,32.518133],[101.91925,32.517897],[101.919312,32.517725],[101.919325,32.517688],[101.919335,32.517661],[101.91942,32.517425],[101.919506,32.517189],[101.919536,32.517082],[101.91954,32.517066],[101.919574,32.516946],[101.919643,32.516704],[101.919712,32.516461],[101.91978,32.516219],[101.919832,32.516039],[101.919849,32.515976],[101.919903,32.515785],[101.919918,32.515734],[101.919987,32.515491],[101.920034,32.515325],[101.920055,32.515249],[101.920108,32.515016],[101.920141,32.514868],[101.920177,32.514708],[101.920184,32.514678],[101.920227,32.514487],[101.920313,32.514106],[101.920311,32.513853],[101.920309,32.513599],[101.920306,32.513345],[101.920304,32.513092],[101.920346,32.512863],[101.920348,32.512855],[101.920356,32.512822],[101.920418,32.51258],[101.920425,32.512553],[101.92044,32.512494],[101.92048,32.512337],[101.920488,32.512306],[101.920535,32.512126],[101.920629,32.511757],[101.920694,32.511487],[101.92071,32.511259],[101.920704,32.511051],[101.92068,32.510972],[101.920673,32.510946],[101.920649,32.510866],[101.920514,32.510497],[101.920379,32.510128],[101.920245,32.509767],[101.920197,32.509637],[101.920177,32.509581],[101.920123,32.509438],[101.920112,32.509406],[101.920067,32.509166],[101.920023,32.508926],[101.919979,32.508686],[101.919934,32.508445],[101.91989,32.508205],[101.919846,32.507965],[101.919843,32.507701],[101.919841,32.507437],[101.919839,32.507206],[101.919839,32.507172],[101.919836,32.506908],[101.919834,32.506857],[101.919834,32.50683],[101.919823,32.506515],[101.91986,32.506182],[101.919927,32.505974],[101.920045,32.505764],[101.920075,32.50569],[101.920085,32.505664],[101.920112,32.505596],[101.920091,32.505348],[101.920071,32.5051],[101.920051,32.505037],[101.919962,32.50475],[101.919852,32.5044],[101.919772,32.504174],[101.919691,32.503948],[101.919546,32.503641],[101.919528,32.503603],[101.919402,32.503333],[101.91939,32.503313],[101.919292,32.503158],[101.919273,32.503128],[101.919168,32.50296],[101.919134,32.502905],[101.918934,32.502588],[101.918899,32.502531],[101.918701,32.502215],[101.91861,32.501973],[101.91852,32.501732],[101.918463,32.50158],[101.918435,32.501506],[101.918429,32.50149],[101.918339,32.501249],[101.918248,32.501008],[101.918158,32.500766],[101.918067,32.500525],[101.917977,32.500283],[101.917936,32.500122],[101.917877,32.499887],[101.917818,32.499653],[101.917777,32.499492],[101.917759,32.499418],[101.917729,32.4993],[101.917722,32.499272],[101.9177,32.499184],[101.917641,32.49895],[101.917623,32.498879],[101.917616,32.498851],[101.917582,32.498715],[101.917553,32.498599],[101.917478,32.498292],[101.917458,32.498211],[101.917451,32.498185],[101.91744,32.498137],[101.917406,32.497999],[101.917406,32.497998],[101.917401,32.497979],[101.917374,32.497868],[101.917358,32.497804],[101.917342,32.497738],[101.917308,32.497601],[101.91727,32.497445],[101.917149,32.497247],[101.917029,32.497049],[101.916969,32.496952],[101.916908,32.496852],[101.916788,32.496654],[101.916667,32.496457],[101.916546,32.496259],[101.916402,32.495972],[101.916258,32.495685],[101.916098,32.495296],[101.915992,32.49505],[101.915958,32.494751],[101.915923,32.494451],[101.915928,32.494217],[101.915933,32.493984],[101.915938,32.493751],[101.915942,32.493549],[101.915942,32.493517],[101.915922,32.493269],[101.915901,32.493021],[101.915867,32.49269],[101.915762,32.492464],[101.915657,32.492239],[101.915608,32.492148],[101.915593,32.492121],[101.91554,32.492024],[101.915422,32.49181],[101.915304,32.491596],[101.915186,32.491382],[101.915063,32.49108],[101.915052,32.491054],[101.915035,32.491012],[101.914926,32.490744],[101.914884,32.490642],[101.914734,32.490272],[101.914652,32.490025],[101.914571,32.489779],[101.914489,32.489532],[101.914408,32.489285],[101.914349,32.488955],[101.91429,32.488666],[101.914253,32.488315],[101.914247,32.4881],[101.914246,32.488072],[101.914245,32.488045],[101.914239,32.487842],[101.914237,32.487776],[101.914241,32.487571],[101.914241,32.487534],[101.914246,32.487292],[101.91425,32.48705],[101.914255,32.486808],[101.914259,32.4866],[101.914259,32.486567],[101.91426,32.486554],[101.91426,32.486545],[101.914264,32.486338],[101.914264,32.486325],[101.91425,32.486222],[101.914238,32.486134],[101.914232,32.486088],[101.914202,32.485869],[101.914199,32.48585],[101.914196,32.485839],[101.914194,32.485832],[101.914137,32.485651],[101.914137,32.485651],[101.914124,32.48561],[101.914048,32.485369],[101.913973,32.485128],[101.913897,32.484887],[101.913833,32.484659],[101.913768,32.484431],[101.913704,32.484202],[101.913639,32.483974],[101.913575,32.483746],[101.91351,32.483517],[101.913446,32.483289],[101.913381,32.483061],[101.913317,32.482833],[101.913252,32.482604],[101.913188,32.482376],[101.913123,32.482148],[101.913034,32.481922],[101.912945,32.481696],[101.912855,32.481471],[101.912766,32.481245],[101.912677,32.481019],[101.912588,32.480794],[101.912498,32.480568],[101.912409,32.480342],[101.91232,32.480116],[101.912231,32.479891],[101.912142,32.479665],[101.912052,32.479439],[101.91195,32.479216],[101.911847,32.478992],[101.911744,32.478769],[101.911641,32.478545],[101.911538,32.478322],[101.911436,32.478098],[101.911339,32.477887],[101.911333,32.477874],[101.911322,32.477851],[101.911266,32.477728],[101.91123,32.477651],[101.911127,32.477427],[101.911025,32.477204],[101.910969,32.477064],[101.910939,32.47699],[101.910934,32.476976],[101.910854,32.476777],[101.910769,32.476563],[101.910683,32.476349],[101.910598,32.476136],[101.910513,32.475922],[101.910431,32.475717],[101.910427,32.475709],[101.910342,32.475495],[101.910296,32.47538],[101.910257,32.475281],[101.910171,32.475068],[101.910147,32.474912],[101.910141,32.474872],[101.910121,32.474749],[101.910102,32.474625],[101.910092,32.474564],[101.910032,32.474182],[101.909963,32.473739],[101.909893,32.473296],[101.90985,32.472849],[101.909806,32.472403],[101.909763,32.471956],[101.909719,32.471509],[101.909675,32.471063],[101.909676,32.47071],[101.909677,32.470407],[101.909677,32.470358],[101.909669,32.470089],[101.90966,32.469978],[101.909648,32.469841],[101.909628,32.469593],[101.909606,32.469282],[101.909596,32.469139],[101.909584,32.468972],[101.909527,32.468735],[101.90951,32.468665],[101.90947,32.468499],[101.909418,32.468282],[101.909413,32.468263],[101.909409,32.468244],[101.90936,32.468042],[101.909356,32.468027],[101.909264,32.467822],[101.909172,32.467617],[101.909079,32.467412],[101.908987,32.467207],[101.908895,32.467002],[101.908891,32.466995],[101.908882,32.466974],[101.90887,32.466947],[101.908849,32.4669],[101.908836,32.466871],[101.908809,32.466812],[101.908802,32.466797],[101.908734,32.466646],[101.908732,32.466641],[101.90871,32.466592],[101.908617,32.466387],[101.90856,32.466259],[101.908556,32.46625],[101.908537,32.466208],[101.908527,32.466186],[101.908526,32.466184],[101.908525,32.466182],[101.908498,32.466122],[101.908433,32.465977],[101.908356,32.465737],[101.908278,32.465497],[101.908201,32.465257],[101.908124,32.465017],[101.908047,32.464776],[101.907969,32.464536],[101.907915,32.464281],[101.90787,32.464069],[101.90786,32.464026],[101.907855,32.464003],[101.907845,32.463955],[101.907823,32.46385],[101.907806,32.463771],[101.907751,32.463516],[101.907697,32.463261],[101.907642,32.463006],[101.907621,32.462904],[101.907616,32.462881],[101.907607,32.462838],[101.907605,32.462828],[101.907588,32.46275],[101.907533,32.462495],[101.907494,32.462311],[101.907479,32.46224],[101.907476,32.462228],[101.907424,32.461985],[101.90738,32.461793],[101.907367,32.461738],[101.907357,32.461694],[101.907338,32.461613],[101.90731,32.461491],[101.907275,32.461159],[101.907252,32.460936],[101.907238,32.460808],[101.907228,32.460456],[101.907245,32.460207],[101.907282,32.459853],[101.907344,32.459521],[101.907346,32.459505],[101.907386,32.45925],[101.907372,32.458858],[101.907372,32.458858],[101.907372,32.458858],[101.907353,32.458718],[101.907316,32.458454],[101.907313,32.458427],[101.907313,32.458427],[101.907264,32.45807],[101.907256,32.458017],[101.907211,32.457686],[101.907168,32.457452],[101.907126,32.457217],[101.907107,32.457113],[101.907083,32.456983],[101.90706,32.456854],[101.907041,32.456748],[101.906998,32.456514],[101.906956,32.456279],[101.906913,32.456045],[101.906871,32.455811],[101.906829,32.455576],[101.906786,32.455342],[101.906786,32.455342],[101.906744,32.455107],[101.906743,32.455105],[101.906743,32.455103],[101.906701,32.454873],[101.906659,32.454639],[101.906616,32.454404],[101.906572,32.454162],[101.906527,32.45392],[101.906497,32.453758],[101.906497,32.453755],[101.906494,32.453738],[101.906483,32.453678],[101.906464,32.453578],[101.906464,32.453576],[101.906438,32.453435],[101.906438,32.453433],[101.906438,32.453432],[101.906425,32.453361],[101.906394,32.453193],[101.906349,32.452951],[101.906305,32.452709],[101.90626,32.452467],[101.906252,32.452424],[101.906247,32.452397],[101.906239,32.45235],[101.906229,32.452296],[101.906216,32.452225],[101.906171,32.451983],[101.906157,32.451905],[101.906144,32.451837],[101.906127,32.45174],[101.906107,32.451634],[101.906105,32.451621],[101.906101,32.451602],[101.9061,32.451594],[101.906082,32.451498],[101.906064,32.451245],[101.906045,32.450993],[101.906026,32.45074],[101.906008,32.450487],[101.905989,32.450234],[101.90597,32.449982],[101.905952,32.449729],[101.905933,32.449476],[101.905914,32.449223],[101.905896,32.448971],[101.905877,32.448718],[101.905868,32.448597],[101.905868,32.448595],[101.905868,32.448593],[101.905858,32.448465],[101.90584,32.448212],[101.905821,32.447959],[101.905832,32.447525],[101.905844,32.447091],[101.905855,32.446657],[101.905862,32.44638],[101.905866,32.446223],[101.905902,32.445984],[101.905937,32.445744],[101.905972,32.445505],[101.906007,32.445266],[101.906042,32.445027],[101.906078,32.444788],[101.906113,32.444549],[101.906148,32.444309],[101.906196,32.444078],[101.906243,32.443846],[101.906291,32.443615],[101.906338,32.443383],[101.906386,32.443151],[101.906433,32.44292],[101.906481,32.442688],[101.906529,32.442457],[101.90656,32.442192],[101.906591,32.441927],[101.906623,32.441663],[101.906654,32.441398],[101.906674,32.441229],[101.906686,32.441133],[101.906717,32.440869],[101.906748,32.440604],[101.90678,32.440339],[101.906784,32.440101],[101.906789,32.439862],[101.906793,32.439624],[101.906798,32.439385],[101.906803,32.439147],[101.906807,32.438908],[101.906812,32.43867],[101.906816,32.438431],[101.906821,32.438193],[101.906826,32.437954],[101.90683,32.437716],[101.906835,32.437477],[101.906799,32.437217],[101.906763,32.436957],[101.906727,32.436697],[101.906691,32.436437],[101.906655,32.436176],[101.906619,32.435916],[101.906583,32.435656],[101.906547,32.435396],[101.906502,32.435143],[101.906457,32.43489],[101.906412,32.434637],[101.906367,32.434384],[101.906322,32.434132],[101.906278,32.433879],[101.906233,32.433626],[101.906188,32.433373],[101.906155,32.43319],[101.906143,32.43312],[101.906098,32.432867],[101.906053,32.432615],[101.906008,32.432362],[101.905975,32.432087],[101.905942,32.431813],[101.905909,32.431538],[101.905876,32.431263],[101.905843,32.430989],[101.90581,32.430714],[101.905847,32.430361],[101.905884,32.430007],[101.906031,32.42959],[101.906178,32.429172],[101.906285,32.428949],[101.906392,32.428725],[101.906498,32.428501],[101.906605,32.428278],[101.906712,32.428055],[101.906712,32.428054],[101.906713,32.428052],[101.906716,32.428046],[101.906819,32.42783],[101.906945,32.427673],[101.906955,32.427661],[101.906986,32.427623],[101.90715,32.427418],[101.907315,32.427213],[101.907479,32.427009],[101.907643,32.426804],[101.907808,32.426599],[101.907972,32.426395],[101.908155,32.426209],[101.908337,32.426024],[101.90839,32.42597],[101.908403,32.425957],[101.90846,32.425899],[101.90847,32.425889],[101.90852,32.425838],[101.908702,32.425653],[101.908885,32.425467],[101.909067,32.425282],[101.90925,32.425097],[101.909432,32.424911],[101.909615,32.424726],[101.909797,32.42454],[101.90998,32.424355],[101.910162,32.42417],[101.910378,32.424023],[101.910593,32.423877],[101.910809,32.42373],[101.911024,32.423584],[101.91124,32.423437],[101.911455,32.42329],[101.911664,32.423182],[101.911873,32.423073],[101.912081,32.422965],[101.91229,32.422856],[101.912499,32.422748],[101.912707,32.422639],[101.912892,32.422532],[101.912935,32.422506],[101.912952,32.422496],[101.913026,32.422454],[101.913164,32.422373],[101.913173,32.422368],[101.913392,32.42224],[101.91362,32.422107],[101.913848,32.421974],[101.914018,32.421875],[101.914076,32.421841],[101.914385,32.421551],[101.914694,32.42126],[101.915003,32.420969],[101.915174,32.420753],[101.915344,32.420536],[101.915515,32.42032],[101.915685,32.420104],[101.91582,32.419708],[101.915824,32.419459],[101.915828,32.419209],[101.915793,32.418899],[101.915761,32.418672],[101.915619,32.418267],[101.915476,32.417861],[101.915394,32.417627],[101.915333,32.417456],[101.915191,32.417051],[101.915094,32.416787],[101.915009,32.416559],[101.914925,32.41633],[101.914841,32.416102],[101.914757,32.415873],[101.914673,32.415645],[101.914589,32.415416],[101.914505,32.415188],[101.914484,32.415132],[101.914459,32.415065],[101.914453,32.415048],[101.914421,32.41496],[101.914336,32.414731],[101.914252,32.414503],[101.914045,32.414145],[101.913838,32.413787],[101.91366,32.413574],[101.913482,32.41336],[101.913292,32.413177],[101.913102,32.412995],[101.912919,32.412649],[101.912736,32.412303],[101.912692,32.412071],[101.912648,32.411838],[101.912603,32.411606],[101.912559,32.411373],[101.912453,32.411066],[101.912346,32.410799],[101.912214,32.410532],[101.912024,32.41035],[101.911835,32.410168],[101.911637,32.41003],[101.911439,32.409891],[101.911242,32.409753],[101.911044,32.409614],[101.910846,32.409476],[101.910649,32.409337],[101.910451,32.409199],[101.910253,32.40906],[101.910056,32.408922],[101.909858,32.408783],[101.909636,32.408618],[101.909414,32.408453],[101.909192,32.408287],[101.908971,32.408122],[101.908749,32.407956],[101.908527,32.407791],[101.908305,32.407626],[101.908248,32.407583],[101.908083,32.40746],[101.907861,32.407295],[101.907691,32.407168],[101.907666,32.407149],[101.90764,32.407129],[101.907418,32.406964],[101.907196,32.406799],[101.907012,32.406649],[101.906827,32.4065],[101.906643,32.40635],[101.906459,32.406201],[101.906275,32.406051],[101.90609,32.405902],[101.905906,32.405752],[101.905722,32.405603],[101.905538,32.405453],[101.905353,32.405304],[101.905169,32.405155],[101.904985,32.405005],[101.904761,32.404896],[101.904537,32.404787],[101.904254,32.404731],[101.903971,32.404676],[101.903676,32.40463],[101.903522,32.404606],[101.903381,32.404585],[101.903252,32.404574],[101.903147,32.404565],[101.903098,32.40456],[101.902975,32.40455],[101.902816,32.404536],[101.902547,32.404553],[101.902279,32.40457],[101.902106,32.404607],[101.902013,32.404627],[101.901747,32.404685],[101.901584,32.40472],[101.901517,32.404734],[101.901481,32.404742],[101.901467,32.404745],[101.901215,32.404799],[101.901112,32.40484],[101.900913,32.40492],[101.900751,32.404985],[101.90061,32.405041],[101.900283,32.405132],[101.899955,32.405223],[101.899724,32.405259],[101.899493,32.405296],[101.899066,32.405336],[101.898639,32.405377],[101.898395,32.405393],[101.89815,32.405409],[101.897796,32.405438],[101.897442,32.405467],[101.897174,32.405504],[101.896906,32.405542],[101.896555,32.405622],[101.896204,32.405702],[101.89596,32.40576],[101.895717,32.405817],[101.895461,32.405875],[101.895206,32.405932],[101.894891,32.406002],[101.894475,32.406012],[101.894179,32.405956],[101.893907,32.40588],[101.893683,32.40575],[101.893459,32.405621],[101.893182,32.405379],[101.892964,32.405073],[101.892747,32.404767],[101.892565,32.404459],[101.89246,32.404208],[101.892354,32.403957],[101.892248,32.403705],[101.892142,32.403454],[101.892036,32.403202],[101.89193,32.402951],[101.891824,32.402699],[101.891719,32.402448],[101.891593,32.402233],[101.891467,32.402019],[101.891341,32.401804],[101.891215,32.40159],[101.89109,32.401376],[101.890964,32.401161],[101.890838,32.400947],[101.890712,32.400732],[101.890586,32.400518],[101.890461,32.400303],[101.890335,32.400089],[101.890209,32.399875],[101.890046,32.399655],[101.889883,32.399436],[101.88972,32.399217],[101.889557,32.398997],[101.889394,32.398778],[101.889231,32.398559],[101.889068,32.39834],[101.888905,32.39812],[101.888569,32.397831],[101.888233,32.397542],[101.887897,32.397253],[101.887703,32.397107],[101.887509,32.396961],[101.887314,32.396815],[101.88712,32.39667],[101.886908,32.39653],[101.886696,32.39639],[101.886435,32.396271],[101.886175,32.396152],[101.885903,32.396065],[101.885631,32.395978],[101.885368,32.395911],[101.885335,32.395902],[101.885244,32.395878],[101.885124,32.395848],[101.885086,32.395838],[101.885039,32.395826],[101.884791,32.395738],[101.884544,32.39565],[101.884221,32.395523],[101.883899,32.395396],[101.883588,32.395217],[101.883278,32.395038],[101.883141,32.394839],[101.883004,32.394641],[101.882867,32.394442],[101.88273,32.394243],[101.882614,32.394041],[101.882497,32.393839],[101.882381,32.393636],[101.882264,32.393434],[101.882148,32.393231],[101.882031,32.393029],[101.881914,32.392826],[101.881798,32.392624],[101.881681,32.392421],[101.881565,32.392219],[101.881439,32.392003],[101.881313,32.391787],[101.881188,32.391571],[101.881062,32.391355],[101.880936,32.391139],[101.880883,32.391048],[101.88081,32.390924],[101.880801,32.390908],[101.88074,32.390803],[101.880685,32.390708],[101.880559,32.390492],[101.880433,32.390276],[101.88035,32.390133],[101.880307,32.39006],[101.880182,32.389844],[101.880056,32.389628],[101.879877,32.389373],[101.879697,32.389119],[101.879517,32.38896],[101.879337,32.388802],[101.879156,32.388644],[101.878976,32.388485],[101.878796,32.388327],[101.878616,32.388169],[101.878316,32.38801],[101.87797,32.387893],[101.877674,32.387817],[101.877256,32.387745],[101.876819,32.387693],[101.876814,32.387693],[101.876771,32.387682],[101.876717,32.387668],[101.876703,32.387664],[101.876592,32.387635],[101.876371,32.387578],[101.876167,32.387479],[101.875798,32.387301],[101.875586,32.387171],[101.875375,32.387041],[101.87516,32.38687],[101.874946,32.386698],[101.874733,32.386516],[101.87452,32.386334],[101.874318,32.386142],[101.874116,32.385951],[101.873978,32.385827],[101.873919,32.385773],[101.87389,32.385748],[101.873848,32.38571],[101.873665,32.385545],[101.873337,32.385264],[101.873105,32.385161],[101.873026,32.385126],[101.873018,32.385123],[101.873018,32.385122],[101.872938,32.385087],[101.872831,32.385039],[101.872716,32.384988],[101.872456,32.38489],[101.872196,32.384793],[101.871854,32.384545],[101.871852,32.384543],[101.871849,32.384542],[101.871772,32.384486],[101.871772,32.384486],[101.871511,32.384297],[101.871169,32.384049],[101.871085,32.384],[101.870949,32.38392],[101.870897,32.38389],[101.870729,32.383791],[101.870621,32.383728],[101.870554,32.383688],[101.870509,32.383662],[101.870289,32.383533],[101.870069,32.383404],[101.869848,32.383275],[101.869628,32.383146],[101.869408,32.383017],[101.869188,32.382888],[101.868968,32.382759],[101.868748,32.38263],[101.868528,32.3825],[101.868308,32.382371],[101.868087,32.382242],[101.867867,32.382113],[101.867647,32.381984],[101.867597,32.381959],[101.867468,32.381894],[101.867443,32.381881],[101.867371,32.381846],[101.867264,32.381792],[101.867238,32.381779],[101.867033,32.381676],[101.866829,32.381573],[101.866624,32.38147],[101.866419,32.381368],[101.866215,32.381265],[101.86601,32.381162],[101.865805,32.381059],[101.865601,32.380957],[101.865367,32.3809],[101.865132,32.380843],[101.864895,32.380828],[101.864658,32.380813],[101.864422,32.380797],[101.864185,32.380782],[101.863948,32.380766],[101.863711,32.380751],[101.863416,32.380717],[101.863121,32.380661],[101.862895,32.380479],[101.862765,32.380243],[101.862635,32.380008],[101.862501,32.379638],[101.862444,32.379479],[101.862443,32.379474],[101.86242,32.379412],[101.862414,32.379393],[101.862389,32.379323],[101.86234,32.379186],[101.862336,32.379073],[101.862336,32.37907],[101.862332,32.378937],[101.862324,32.378689],[101.862316,32.37844],[101.862309,32.378192],[101.862301,32.377943],[101.862293,32.377695],[101.862285,32.377447],[101.862277,32.377198],[101.862294,32.376938],[101.862312,32.376679],[101.862329,32.376419],[101.862346,32.376159],[101.862363,32.375899],[101.862381,32.37564],[101.862398,32.37538],[101.862415,32.37512],[101.862427,32.374938],[101.862439,32.3747],[101.862451,32.374461],[101.862463,32.374223],[101.862475,32.373984],[101.862487,32.373745],[101.862493,32.373626],[101.862499,32.373507],[101.862503,32.373436],[101.862511,32.373268],[101.862524,32.37303],[101.862536,32.372791],[101.862548,32.372552],[101.862559,32.37212],[101.862565,32.371876],[101.86257,32.371687],[101.862579,32.37132],[101.862581,32.371255],[101.862592,32.370822],[101.862646,32.370603],[101.862701,32.370384],[101.862723,32.370326],[101.862783,32.370172],[101.862814,32.370091],[101.862879,32.36984],[101.862888,32.369811],[101.862937,32.36965],[101.862968,32.369548],[101.863084,32.369339],[101.863149,32.369094],[101.863215,32.368849],[101.86328,32.368603],[101.863333,32.368405],[101.863346,32.368358],[101.863373,32.368131],[101.863377,32.368101],[101.863409,32.367845],[101.863439,32.367599],[101.863497,32.367259],[101.863552,32.366935],[101.863553,32.366933],[101.863555,32.36692],[101.863613,32.36658],[101.86364,32.366294],[101.863666,32.366008],[101.863667,32.365995],[101.863623,32.365553],[101.863578,32.36511],[101.863534,32.364668],[101.863489,32.364226],[101.863466,32.364002],[101.863387,32.363576],[101.863307,32.363151],[101.863227,32.362725],[101.863148,32.3623],[101.863068,32.361874],[101.862977,32.361468],[101.862899,32.361123],[101.862827,32.360804],[101.862821,32.360779],[101.862757,32.360492],[101.862693,32.360206],[101.862693,32.35993],[101.862693,32.359654],[101.862697,32.359392],[101.862702,32.35913],[101.862702,32.358972],[101.862702,32.358683],[101.862636,32.358369],[101.862588,32.358102],[101.862626,32.357769],[101.862759,32.357455],[101.862869,32.357231],[101.862978,32.357008],[101.863035,32.356684],[101.863026,32.356427],[101.862908,32.355998],[101.862855,32.355805],[101.862848,32.355787],[101.862848,32.355786],[101.862848,32.355786],[101.862844,32.355774],[101.862771,32.355566],[101.86276,32.355533],[101.862687,32.355327],[101.862606,32.355138],[101.862606,32.355138],[101.862606,32.355138],[101.862444,32.354762],[101.862282,32.354387],[101.86222,32.354295],[101.862181,32.354238],[101.862043,32.354056],[101.861905,32.353875],[101.861866,32.353832],[101.861791,32.35375],[101.86152,32.35345],[101.861352,32.353286],[101.861184,32.353122],[101.861006,32.352969],[101.860827,32.352815],[101.860513,32.352615],[101.860335,32.352458],[101.86027,32.352244],[101.860263,32.352016],[101.860227,32.351701],[101.860162,32.351579],[101.860121,32.351503],[101.860042,32.351412],[101.859817,32.351167],[101.859593,32.350922],[101.859365,32.350659],[101.859192,32.35046],[101.859019,32.350261],[101.858847,32.350062],[101.858674,32.349863],[101.858448,32.349511],[101.858221,32.349159],[101.857995,32.348808],[101.857768,32.348456],[101.857588,32.348295],[101.857407,32.348133],[101.857226,32.347972],[101.857046,32.34781],[101.856865,32.347648],[101.856685,32.347487],[101.856367,32.347217],[101.856049,32.346948],[101.855731,32.346679],[101.8555,32.346345],[101.85527,32.346012],[101.855039,32.345679],[101.854922,32.345464],[101.854819,32.345274],[101.854805,32.345249],[101.854689,32.345034],[101.854572,32.344819],[101.854437,32.34457],[101.854326,32.344477],[101.854012,32.344242],[101.853892,32.344132],[101.853822,32.344069],[101.853777,32.344028],[101.853591,32.343746],[101.853406,32.343464],[101.853313,32.343232],[101.85322,32.343],[101.853077,32.342714],[101.852934,32.342429],[101.852791,32.342125],[101.852749,32.342036],[101.852656,32.341615],[101.852649,32.341237],[101.852642,32.340858],[101.852599,32.34068],[101.852549,32.340516],[101.852492,32.340409],[101.852406,32.340209],[101.852406,32.340002],[101.852392,32.339873],[101.852335,32.339709],[101.852381,32.339416],[101.852428,32.339124],[101.852499,32.338867],[101.852497,32.338843],[101.85247,32.338574],[101.852473,32.338228],[101.852475,32.337882],[101.852404,32.337654],[101.852379,32.337504],[101.852297,32.337083],[101.852254,32.336958],[101.852198,32.336881],[101.852198,32.33688],[101.852197,32.336879],[101.852111,32.336804],[101.851942,32.336622],[101.851785,32.336343],[101.851627,32.336063],[101.851514,32.335801],[101.851478,32.335605],[101.851556,32.335369]]]]},"properties":{"cp":[102.04239391087305,32.455224568167694],"code":"513233203","name":"查尔玛乡","level":"street","center":[102.04239391087305,32.455224568167694],"fullCode":"513233203000","fullName":"四川省阿坝藏族羌族自治州红原县查尔玛乡","acreageMu":1092920.26,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[101.921,32.5029]}},{"id":"513233204","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.485374,33.088931],[102.485341,33.088785],[102.485348,33.088537],[102.485356,33.088289],[102.485367,33.087863],[102.485377,33.087532],[102.485397,33.087205],[102.485417,33.086878],[102.485309,33.086675],[102.485202,33.086471],[102.48493,33.086183],[102.484751,33.086002],[102.484573,33.08582],[102.484395,33.085675],[102.484216,33.085529],[102.484007,33.085442],[102.483798,33.085355],[102.48338,33.085251],[102.483112,33.085246],[102.482844,33.085241],[102.482449,33.08528],[102.482155,33.085262],[102.48186,33.085245],[102.481496,33.085167],[102.481246,33.08502],[102.481032,33.08466],[102.480954,33.084446],[102.480876,33.084231],[102.480797,33.084005],[102.480719,33.083778],[102.480506,33.083457],[102.480449,33.083371],[102.480314,33.083155],[102.48018,33.08294],[102.480046,33.082712],[102.479912,33.082485],[102.479791,33.082293],[102.47967,33.082102],[102.479455,33.081718],[102.479351,33.081456],[102.479162,33.08113],[102.479138,33.080902],[102.479113,33.080675],[102.479089,33.080447],[102.479064,33.080219],[102.479039,33.079992],[102.479015,33.079764],[102.47899,33.079537],[102.478966,33.079309],[102.478941,33.079082],[102.478916,33.078854],[102.478894,33.078579],[102.478871,33.078305],[102.478849,33.07803],[102.478826,33.077756],[102.478803,33.077481],[102.478781,33.077207],[102.478758,33.076932],[102.478735,33.076658],[102.478713,33.076383],[102.47869,33.076109],[102.478667,33.075834],[102.478645,33.075559],[102.478596,33.075299],[102.478548,33.075038],[102.478502,33.074634],[102.478427,33.074325],[102.478354,33.074104],[102.478281,33.073883],[102.478208,33.073662],[102.478135,33.073441],[102.478062,33.07322],[102.477988,33.072999],[102.477907,33.07279],[102.477826,33.07258],[102.477745,33.07237],[102.477664,33.07216],[102.477582,33.071951],[102.477501,33.071741],[102.47742,33.071531],[102.477339,33.071321],[102.477257,33.071111],[102.477176,33.070902],[102.477092,33.070676],[102.477007,33.070449],[102.476923,33.070223],[102.476839,33.069997],[102.476755,33.069771],[102.47667,33.069545],[102.476586,33.069319],[102.476502,33.069093],[102.476417,33.068867],[102.476333,33.068641],[102.47625,33.068381],[102.476167,33.06812],[102.476084,33.06786],[102.476001,33.0676],[102.475918,33.06734],[102.475835,33.06708],[102.475752,33.066819],[102.475669,33.066559],[102.475586,33.066299],[102.475503,33.066039],[102.47542,33.065779],[102.475337,33.065518],[102.475254,33.065258],[102.475171,33.064998],[102.475042,33.064577],[102.474914,33.064157],[102.474785,33.063736],[102.474694,33.063427],[102.474604,33.063117],[102.474633,33.062859],[102.474662,33.0626],[102.474691,33.062341],[102.47472,33.062082],[102.474788,33.061843],[102.474856,33.061604],[102.474924,33.061364],[102.474992,33.061125],[102.47508,33.060812],[102.475292,33.060436],[102.475504,33.060061],[102.475702,33.059694],[102.475901,33.059327],[102.476099,33.05896],[102.476316,33.058571],[102.476533,33.058181],[102.476623,33.057788],[102.476713,33.057395],[102.476716,33.057121],[102.476719,33.056847],[102.476682,33.05653],[102.476644,33.056213],[102.476607,33.055896],[102.476555,33.055455],[102.476549,33.055064],[102.476543,33.054673],[102.476537,33.054282],[102.476531,33.05406],[102.476521,33.053734],[102.476511,33.053408],[102.476504,33.053084],[102.476496,33.052759],[102.476488,33.052435],[102.47642,33.052174],[102.476351,33.051913],[102.476291,33.051686],[102.476231,33.051459],[102.476115,33.051083],[102.475999,33.050706],[102.47598,33.050644],[102.475833,33.050356],[102.475686,33.050069],[102.47554,33.049781],[102.475349,33.049436],[102.475159,33.049091],[102.47512,33.048987],[102.474994,33.048655],[102.474868,33.048323],[102.474743,33.047991],[102.474637,33.047791],[102.474528,33.047586],[102.474291,33.047212],[102.474008,33.046911],[102.473725,33.046611],[102.473689,33.046536],[102.473642,33.046438],[102.473666,33.046212],[102.47366,33.045849],[102.473654,33.045486],[102.473688,33.045178],[102.473722,33.04487],[102.473749,33.044624],[102.473775,33.044255],[102.473801,33.043886],[102.473827,33.043517],[102.473828,33.043352],[102.47383,33.042991],[102.473833,33.042629],[102.473836,33.042267],[102.473838,33.041905],[102.473856,33.041537],[102.473904,33.041311],[102.474047,33.041067],[102.474172,33.040847],[102.474296,33.040626],[102.474499,33.040406],[102.474701,33.040186],[102.474826,33.039996],[102.474945,33.039764],[102.474998,33.039484],[102.475117,33.039223],[102.475177,33.039116],[102.475179,33.039109],[102.47519,33.03866],[102.475201,33.03829],[102.475211,33.03792],[102.475222,33.037549],[102.475261,33.037297],[102.475299,33.037044],[102.475338,33.036792],[102.475377,33.036539],[102.475416,33.036287],[102.475455,33.036034],[102.475493,33.035782],[102.475532,33.035529],[102.475574,33.035261],[102.475582,33.035207],[102.475637,33.03523],[102.476507,33.035744],[102.477346,33.03604],[102.478298,33.036277],[102.478923,33.036351],[102.478959,33.036352],[102.479841,33.036463],[102.480447,33.03719],[102.480949,33.037666],[102.481976,33.037842],[102.482808,33.038417],[102.483751,33.038964],[102.484244,33.03975],[102.484622,33.04072],[102.484898,33.041378],[102.485531,33.042477],[102.486396,33.043147],[102.487775,33.04392],[102.489316,33.044199],[102.490709,33.044015],[102.490944,33.043984],[102.492318,33.043639],[102.493072,33.043033],[102.494461,33.04216],[102.494835,33.040647],[102.495199,33.039536],[102.495965,33.038496],[102.497306,33.036691],[102.498087,33.035154],[102.499122,33.035051],[102.499675,33.035062],[102.500222,33.035185],[102.500546,33.035083],[102.501299,33.034557],[102.501858,33.034108],[102.502507,33.033851],[102.502766,33.033775],[102.503184,33.033756],[102.503601,33.033792],[102.504169,33.034128],[102.505439,33.034667],[102.506104,33.035005],[102.506864,33.035372],[102.507595,33.03563],[102.508559,33.035622],[102.509431,33.03545],[102.510549,33.035218],[102.511503,33.035064],[102.512043,33.035053],[102.512733,33.035197],[102.51329,33.035489],[102.513953,33.035654],[102.514969,33.036085],[102.515863,33.036276],[102.516349,33.036351],[102.517473,33.036568],[102.518386,33.036997],[102.519404,33.037342],[102.519916,33.037396],[102.522811,33.038062],[102.523696,33.038027],[102.524803,33.03817],[102.525561,33.038272],[102.526239,33.038286],[102.526871,33.038454],[102.527509,33.038449],[102.528049,33.038269],[102.528543,33.038227],[102.529272,33.037913],[102.530071,33.037407],[102.530795,33.036826],[102.531727,33.035888],[102.532038,33.03534],[102.532231,33.034928],[102.53248,33.034849],[102.532688,33.035034],[102.533093,33.035277],[102.533533,33.035438],[102.53399,33.035572],[102.534416,33.035636],[102.534951,33.035924],[102.535533,33.03631],[102.536001,33.036638],[102.537837,33.037931],[102.538575,33.038537],[102.539558,33.039192],[102.540183,33.039411],[102.540789,33.039719],[102.542123,33.040346],[102.543113,33.040937],[102.543737,33.041245],[102.544176,33.041431],[102.544879,33.041406],[102.545443,33.041338],[102.546175,33.041096],[102.54684,33.040735],[102.547299,33.040231],[102.54766,33.039864],[102.54839,33.039701],[102.549396,33.03972],[102.550049,33.039812],[102.550889,33.039908],[102.551708,33.039904],[102.553137,33.039853],[102.553888,33.039809],[102.554891,33.039927],[102.555916,33.040105],[102.556472,33.040293],[102.556985,33.040382],[102.557617,33.040375],[102.559062,33.04058],[102.559556,33.040511],[102.560478,33.040155],[102.561196,33.039597],[102.561634,33.038994],[102.561676,33.038325],[102.56179,33.037558],[102.561623,33.036826],[102.5616,33.035978],[102.561842,33.034839],[102.562602,33.033573],[102.563055,33.032418],[102.563595,33.030334],[102.563754,33.029327],[102.564152,33.027113],[102.564351,33.026233],[102.564996,33.024583],[102.565489,33.023014],[102.565268,33.022255],[102.564832,33.021152],[102.564503,33.019769],[102.564702,33.017414],[102.565032,33.016325],[102.565145,33.01585],[102.565203,33.015718],[102.565244,33.015624],[102.565393,33.015285],[102.565433,33.015195],[102.565508,33.015198],[102.565561,33.015211],[102.565608,33.015223],[102.565636,33.015245],[102.565658,33.015278],[102.565666,33.015309],[102.565667,33.01538],[102.565662,33.015432],[102.565642,33.015471],[102.565607,33.015517],[102.565605,33.01553],[102.565637,33.015558],[102.565684,33.01556],[102.565717,33.01555],[102.56577,33.01552],[102.565802,33.015493],[102.565852,33.015458],[102.565891,33.015428],[102.565952,33.015401],[102.566021,33.015384],[102.566053,33.015381],[102.566192,33.015377],[102.566269,33.015359],[102.566301,33.015328],[102.566314,33.015297],[102.566315,33.015268],[102.566298,33.01524],[102.566274,33.015213],[102.56634,33.015218],[102.566342,33.015157],[102.566316,33.015122],[102.566235,33.015069],[102.566174,33.015041],[102.56612,33.015038],[102.566059,33.015055],[102.565981,33.015083],[102.565927,33.015105],[102.565874,33.015116],[102.565848,33.015115],[102.565803,33.015099],[102.565774,33.015075],[102.56575,33.015037],[102.565722,33.014962],[102.56572,33.014955],[102.565709,33.014878],[102.565705,33.014794],[102.56569,33.014713],[102.565667,33.014665],[102.565623,33.014628],[102.565608,33.014616],[102.56554,33.014581],[102.565446,33.014556],[102.56541,33.014546],[102.56533,33.014531],[102.565257,33.014509],[102.565201,33.014488],[102.565159,33.014465],[102.565139,33.014437],[102.565127,33.014387],[102.56515,33.014316],[102.565187,33.014265],[102.56524,33.014238],[102.565273,33.014237],[102.56535,33.014261],[102.565421,33.01431],[102.565487,33.014334],[102.56553,33.014338],[102.565605,33.014317],[102.56566,33.01428],[102.565718,33.014212],[102.565756,33.014174],[102.565796,33.014128],[102.565832,33.014114],[102.565868,33.014113],[102.565929,33.014147],[102.566033,33.014201],[102.5661,33.014221],[102.566184,33.014236],[102.566269,33.01423],[102.566342,33.014224],[102.566406,33.014238],[102.566455,33.014276],[102.566501,33.01421],[102.56654,33.0142],[102.566559,33.014235],[102.566561,33.014264],[102.566558,33.014317],[102.566541,33.014371],[102.566525,33.01441],[102.566502,33.014452],[102.566472,33.014505],[102.566449,33.014539],[102.566419,33.014589],[102.566413,33.014636],[102.566427,33.014654],[102.566458,33.014667],[102.566533,33.01467],[102.566574,33.014662],[102.566625,33.014637],[102.566657,33.014613],[102.566684,33.014584],[102.56671,33.014548],[102.566742,33.014499],[102.566751,33.014475],[102.566762,33.014449],[102.566762,33.014384],[102.566753,33.014335],[102.566738,33.014279],[102.56672,33.014238],[102.566706,33.014202],[102.566684,33.014162],[102.566687,33.014128],[102.566694,33.014109],[102.56671,33.014092],[102.566746,33.014059],[102.566768,33.014035],[102.566794,33.014014],[102.566837,33.014003],[102.566886,33.014005],[102.56692,33.014019],[102.566961,33.014052],[102.566988,33.014081],[102.567028,33.014119],[102.567072,33.014156],[102.567113,33.014192],[102.567205,33.014274],[102.567256,33.014326],[102.567285,33.01437],[102.567332,33.014434],[102.567387,33.014464],[102.567442,33.014478],[102.567501,33.014482],[102.56754,33.014474],[102.567603,33.014452],[102.567646,33.014432],[102.567725,33.014424],[102.567768,33.014426],[102.567805,33.01443],[102.567845,33.01444],[102.56788,33.014448],[102.567914,33.014463],[102.567944,33.014481],[102.567966,33.014504],[102.567994,33.014572],[102.567994,33.014617],[102.567991,33.014652],[102.56796,33.014701],[102.567908,33.014749],[102.567853,33.014792],[102.567788,33.014833],[102.567713,33.014859],[102.567706,33.014862],[102.567675,33.014873],[102.567639,33.014903],[102.567637,33.014943],[102.567647,33.014967],[102.567668,33.014986],[102.567695,33.015012],[102.567728,33.015039],[102.567748,33.015072],[102.567799,33.015115],[102.567837,33.01514],[102.567889,33.015149],[102.567947,33.015145],[102.567987,33.015124],[102.568009,33.015103],[102.568033,33.015064],[102.568051,33.015022],[102.568057,33.01498],[102.56807,33.014907],[102.568073,33.01486],[102.568082,33.014828],[102.568115,33.014775],[102.568146,33.014746],[102.568178,33.014721],[102.568183,33.014718],[102.568234,33.01469],[102.568272,33.01468],[102.568333,33.01469],[102.568385,33.014721],[102.568425,33.014737],[102.568571,33.014829],[102.568597,33.014883],[102.568605,33.014951],[102.568596,33.015006],[102.568559,33.015057],[102.568512,33.015102],[102.568484,33.015122],[102.568456,33.015143],[102.568398,33.015176],[102.568353,33.015191],[102.568317,33.015215],[102.568267,33.015253],[102.568229,33.015291],[102.568249,33.015338],[102.568283,33.015382],[102.568316,33.015398],[102.56837,33.015403],[102.568408,33.015372],[102.568414,33.015368],[102.568466,33.015337],[102.568536,33.015276],[102.56859,33.015241],[102.568607,33.015225],[102.568662,33.01519],[102.568715,33.015156],[102.568759,33.015133],[102.568801,33.015106],[102.56884,33.015082],[102.568899,33.015046],[102.568917,33.015033],[102.569055,33.015019],[102.569089,33.015016],[102.569146,33.01501],[102.569426,33.014529],[102.569787,33.014311],[102.570199,33.014242],[102.57059,33.014177],[102.570725,33.014127],[102.570748,33.014119],[102.570984,33.014032],[102.571029,33.014015],[102.571149,33.013971],[102.571212,33.013973],[102.571312,33.013987],[102.571378,33.013999],[102.57148,33.014024],[102.57152,33.014066],[102.571586,33.014136],[102.571648,33.014213],[102.571679,33.014289],[102.571686,33.014315],[102.571705,33.014382],[102.571895,33.014331],[102.572006,33.014429],[102.571682,33.01491],[102.571574,33.015164],[102.571572,33.015169],[102.571586,33.01517],[102.57161,33.015172],[102.57163,33.015177],[102.571651,33.015183],[102.571701,33.015202],[102.571753,33.015256],[102.571792,33.015319],[102.571839,33.015361],[102.571897,33.015427],[102.571952,33.015495],[102.571989,33.015561],[102.571998,33.015576],[102.572005,33.015578],[102.57224,33.015632],[102.572479,33.015843],[102.57249,33.015853],[102.572602,33.015851],[102.572703,33.015863],[102.572802,33.015895],[102.572828,33.015924],[102.572855,33.015967],[102.572873,33.015994],[102.572882,33.016036],[102.572882,33.016083],[102.572857,33.016122],[102.572807,33.016178],[102.572758,33.016214],[102.572672,33.016248],[102.572706,33.016465],[102.572606,33.016875],[102.572569,33.016975],[102.572567,33.01698],[102.572514,33.017123],[102.57251,33.017135],[102.572587,33.017165],[102.572601,33.01717],[102.572818,33.017254],[102.573309,33.017151],[102.573531,33.017193],[102.573914,33.017799],[102.574333,33.018077],[102.574453,33.018156],[102.574533,33.01821],[102.574612,33.018262],[102.574703,33.018313],[102.575218,33.018598],[102.57523,33.018604],[102.575247,33.018595],[102.575282,33.018579],[102.575326,33.01858],[102.575384,33.01858],[102.57547,33.018581],[102.575537,33.018614],[102.57562,33.018684],[102.575653,33.018748],[102.575669,33.018787],[102.575929,33.018887],[102.576139,33.01934],[102.576176,33.019603],[102.576066,33.019799],[102.575989,33.019937],[102.57597,33.019953],[102.575993,33.019987],[102.57599,33.020037],[102.575967,33.020082],[102.575907,33.02015],[102.575843,33.020201],[102.575753,33.020236],[102.575708,33.020251],[102.57564,33.020246],[102.575625,33.020258],[102.575533,33.02034],[102.575489,33.020564],[102.575482,33.020602],[102.575479,33.020714],[102.575467,33.021125],[102.575115,33.021513],[102.575101,33.021529],[102.575107,33.021604],[102.575111,33.021674],[102.57511,33.021715],[102.575103,33.021787],[102.57509,33.021827],[102.575045,33.021888],[102.574983,33.021913],[102.574898,33.021918],[102.574812,33.021904],[102.574724,33.021856],[102.574624,33.021791],[102.574606,33.021779],[102.574594,33.021766],[102.57456,33.021781],[102.574404,33.021932],[102.574332,33.022001],[102.574501,33.022342],[102.574928,33.022949],[102.574919,33.023286],[102.574688,33.023618],[102.574313,33.024323],[102.574305,33.024612],[102.574305,33.024622],[102.574304,33.024659],[102.574358,33.024698],[102.574415,33.024738],[102.574522,33.024814],[102.574835,33.024745],[102.575447,33.024217],[102.575472,33.024195],[102.575488,33.024185],[102.575602,33.02411],[102.57565,33.024079],[102.57597,33.023868],[102.576169,33.023872],[102.576459,33.023878],[102.576574,33.024062],[102.576519,33.024115],[102.576576,33.024175],[102.576621,33.024138],[102.576672,33.024219],[102.576877,33.024822],[102.57682,33.025308],[102.577393,33.025468],[102.577466,33.025474],[102.577488,33.025476],[102.577502,33.025471],[102.577597,33.025435],[102.577719,33.025382],[102.577846,33.025382],[102.577993,33.025375],[102.578068,33.025354],[102.578151,33.0253],[102.578271,33.025223],[102.578381,33.025173],[102.578465,33.025182],[102.578554,33.02523],[102.578613,33.025312],[102.578625,33.025407],[102.578603,33.025482],[102.578573,33.025518],[102.578536,33.025544],[102.578459,33.025577],[102.578394,33.025597],[102.578412,33.025601],[102.578422,33.025619],[102.578624,33.025979],[102.578856,33.026539],[102.578865,33.026561],[102.578919,33.0266],[102.578967,33.026692],[102.578958,33.026736],[102.578945,33.026754],[102.578999,33.026885],[102.579209,33.027339],[102.579322,33.027438],[102.579386,33.027371],[102.579474,33.027289],[102.579553,33.027281],[102.579635,33.027288],[102.5797,33.027316],[102.579741,33.02735],[102.579766,33.027376],[102.579776,33.027395],[102.579781,33.027391],[102.579831,33.027351],[102.580229,33.027433],[102.580349,33.027715],[102.580365,33.027754],[102.580407,33.027851],[102.580409,33.027857],[102.580438,33.027924],[102.580833,33.028082],[102.58106,33.027936],[102.581295,33.027454],[102.5814,33.026857],[102.581564,33.02686],[102.581712,33.026863],[102.5818,33.026865],[102.581869,33.02692],[102.581881,33.026929],[102.581881,33.026973],[102.581879,33.027013],[102.581875,33.027071],[102.58188,33.027106],[102.581897,33.027129],[102.58193,33.027138],[102.582007,33.02714],[102.58206,33.027141],[102.582107,33.027138],[102.582137,33.027135],[102.582155,33.027137],[102.582207,33.027148],[102.582294,33.027218],[102.582492,33.027366],[102.58253,33.027407],[102.582562,33.027427],[102.582632,33.027511],[102.582682,33.027584],[102.582714,33.027629],[102.582759,33.027683],[102.582788,33.027724],[102.582816,33.027764],[102.582829,33.027774],[102.58285,33.027768],[102.582867,33.027746],[102.582872,33.027719],[102.582876,33.027658],[102.582875,33.027625],[102.582891,33.027635],[102.583036,33.0277],[102.583051,33.027706],[102.583154,33.027752],[102.583203,33.027803],[102.583413,33.028019],[102.583445,33.028507],[102.583558,33.028618],[102.58373,33.028787],[102.583777,33.028794],[102.583863,33.028828],[102.583938,33.028918],[102.584161,33.028982],[102.584225,33.029],[102.58454,33.02909],[102.58478,33.029044],[102.584898,33.029022],[102.585206,33.028996],[102.585243,33.028993],[102.585345,33.028985],[102.585759,33.028951],[102.585767,33.028951],[102.586011,33.028931],[102.586039,33.028928],[102.586204,33.028913],[102.586367,33.028897],[102.586502,33.028885],[102.586629,33.028873],[102.587086,33.02883],[102.587403,33.0288],[102.587423,33.028798],[102.58766,33.028776],[102.587814,33.028606],[102.588027,33.028371],[102.58808,33.028104],[102.588233,33.027326],[102.588196,33.027087],[102.588099,33.026455],[102.588082,33.02635],[102.587868,33.025627],[102.587867,33.025622],[102.587835,33.025516],[102.587821,33.025516],[102.587808,33.025504],[102.587795,33.025484],[102.587779,33.025436],[102.587752,33.025364],[102.587722,33.025307],[102.587693,33.025238],[102.587682,33.025154],[102.58767,33.025072],[102.587637,33.024948],[102.587601,33.024853],[102.587576,33.024778],[102.587537,33.024649],[102.587518,33.024537],[102.587511,33.024436],[102.587522,33.02426],[102.587533,33.02416],[102.587567,33.024012],[102.587602,33.023894],[102.58767,33.023781],[102.587689,33.023667],[102.587717,33.023529],[102.587717,33.023498],[102.587708,33.023479],[102.587684,33.023436],[102.587651,33.023372],[102.587611,33.0233],[102.587566,33.023207],[102.587534,33.023077],[102.587502,33.022953],[102.587477,33.022865],[102.587484,33.022815],[102.587525,33.022743],[102.587584,33.022693],[102.587663,33.022666],[102.587759,33.022624],[102.587813,33.022599],[102.587852,33.022603],[102.587872,33.022622],[102.587871,33.022651],[102.587857,33.022688],[102.587833,33.022713],[102.587836,33.022727],[102.587852,33.022736],[102.587876,33.022744],[102.587911,33.02274],[102.587944,33.02273],[102.587992,33.022703],[102.588098,33.022645],[102.588169,33.022586],[102.5882,33.022549],[102.5882,33.02253],[102.588183,33.02251],[102.588143,33.022492],[102.588106,33.022475],[102.588079,33.022449],[102.588085,33.022421],[102.5881,33.022403],[102.588144,33.022386],[102.588218,33.022382],[102.588312,33.022383],[102.588379,33.022393],[102.588426,33.022415],[102.588438,33.022402],[102.588579,33.022258],[102.58907,33.022159],[102.589152,33.022143],[102.589212,33.022163],[102.589334,33.022195],[102.589411,33.022213],[102.589576,33.022218],[102.589647,33.022218],[102.589704,33.022208],[102.589786,33.022188],[102.589907,33.022161],[102.590051,33.02212],[102.590142,33.022091],[102.590266,33.02204],[102.590511,33.021851],[102.591144,33.021708],[102.591161,33.021702],[102.591167,33.021699],[102.591902,33.021417],[102.592401,33.021225],[102.593002,33.020995],[102.59303,33.020981],[102.5936,33.020705],[102.593784,33.020616],[102.594183,33.020423],[102.594985,33.020034],[102.595286,33.019805],[102.595949,33.019299],[102.596136,33.019157],[102.596736,33.018017],[102.596761,33.017969],[102.596793,33.017892],[102.596987,33.017422],[102.597047,33.017276],[102.59709,33.01717],[102.597085,33.017167],[102.597084,33.017153],[102.597096,33.017099],[102.597126,33.01699],[102.597157,33.016801],[102.597174,33.016722],[102.597173,33.016653],[102.597178,33.016596],[102.597201,33.016546],[102.597226,33.016476],[102.597221,33.016398],[102.597217,33.016297],[102.597218,33.016187],[102.597169,33.015997],[102.597145,33.015832],[102.597124,33.015689],[102.597101,33.015493],[102.597057,33.015335],[102.597028,33.015083],[102.596998,33.014977],[102.596958,33.014857],[102.59689,33.014527],[102.596855,33.014254],[102.5968,33.013921],[102.596793,33.01388],[102.59678,33.013734],[102.596735,33.013516],[102.596723,33.013455],[102.596676,33.01334],[102.596637,33.01322],[102.596618,33.013132],[102.596619,33.012985],[102.5966,33.012861],[102.596583,33.012755],[102.596582,33.012722],[102.596587,33.01271],[102.596602,33.012707],[102.596501,33.012145],[102.596487,33.012067],[102.596486,33.012062],[102.596409,33.011956],[102.596377,33.011896],[102.596351,33.011828],[102.596329,33.011745],[102.596306,33.01165],[102.596279,33.011572],[102.596241,33.01145],[102.596222,33.011359],[102.596203,33.01129],[102.596194,33.0112],[102.596176,33.011106],[102.596159,33.011058],[102.596128,33.011012],[102.596117,33.010984],[102.596114,33.010931],[102.596111,33.010826],[102.596103,33.010737],[102.596067,33.010644],[102.596038,33.010551],[102.59602,33.010378],[102.596016,33.010342],[102.595964,33.009979],[102.595842,33.009421],[102.59581,33.00918],[102.595808,33.009091],[102.595796,33.008998],[102.595795,33.008862],[102.595803,33.00879],[102.595822,33.008722],[102.595851,33.008616],[102.595873,33.00855],[102.595979,33.008387],[102.596019,33.008347],[102.596058,33.00829],[102.596133,33.008224],[102.596165,33.008181],[102.59621,33.008151],[102.596247,33.008125],[102.596271,33.008089],[102.596302,33.00806],[102.596341,33.008054],[102.596361,33.008056],[102.596374,33.008063],[102.596502,33.007872],[102.597201,33.007266],[102.597291,33.007188],[102.597632,33.006829],[102.597681,33.006776],[102.597774,33.006678],[102.597988,33.006453],[102.598268,33.006157],[102.598568,33.005621],[102.598841,33.005135],[102.599175,33.004538],[102.599514,33.003933],[102.599699,33.003498],[102.599772,33.003328],[102.599868,33.003102],[102.600175,33.002382],[102.600288,33.002117],[102.600337,33.002],[102.600242,33.001836],[102.600198,33.001761],[102.599949,33.00133],[102.599487,33.000535],[102.599261,32.999641],[102.599114,32.999063],[102.599064,32.998867],[102.599032,32.998739],[102.599097,32.998698],[102.598982,32.998588],[102.598888,32.998445],[102.598769,32.998313],[102.597865,32.996847],[102.597802,32.996745],[102.597653,32.996432],[102.597535,32.996184],[102.59753,32.996173],[102.597496,32.996102],[102.597438,32.99598],[102.597539,32.995619],[102.597571,32.995504],[102.597736,32.995108],[102.597751,32.994957],[102.597837,32.994828],[102.597933,32.994676],[102.597978,32.994587],[102.59798,32.994457],[102.597985,32.994385],[102.597985,32.994376],[102.598043,32.994268],[102.598142,32.994094],[102.598145,32.994089],[102.598198,32.994014],[102.5982,32.99401],[102.598241,32.993894],[102.598252,32.99382],[102.598252,32.993758],[102.59824,32.993684],[102.598225,32.993622],[102.598197,32.993556],[102.598165,32.993482],[102.598135,32.993447],[102.598473,32.99306],[102.598643,32.992707],[102.598882,32.99221],[102.599116,32.991723],[102.599161,32.991631],[102.59971,32.991318],[102.599707,32.991307],[102.599715,32.991277],[102.599762,32.991106],[102.5998,32.991002],[102.599868,32.990857],[102.599935,32.990717],[102.600071,32.990565],[102.600144,32.990448],[102.600212,32.990406],[102.600289,32.990359],[102.600339,32.990322],[102.600399,32.990296],[102.600477,32.990284],[102.600506,32.990336],[102.600635,32.990232],[102.601333,32.989671],[102.60139,32.989583],[102.60146,32.989478],[102.601489,32.989433],[102.601541,32.989354],[102.601927,32.988769],[102.602002,32.988656],[102.602137,32.988388],[102.602371,32.987928],[102.602399,32.987871],[102.602545,32.987584],[102.602738,32.986789],[102.60284,32.986373],[102.602852,32.986324],[102.602978,32.985807],[102.60364,32.985062],[102.603682,32.98503],[102.603843,32.984905],[102.604081,32.984722],[102.604093,32.984712],[102.604134,32.984681],[102.604552,32.984358],[102.60496,32.984044],[102.605213,32.983848],[102.605268,32.983813],[102.606012,32.983334],[102.606602,32.982955],[102.607282,32.982517],[102.607396,32.982444],[102.6075,32.982377],[102.607528,32.982322],[102.607575,32.982231],[102.607727,32.981937],[102.607807,32.981784],[102.607811,32.981776],[102.607824,32.98175],[102.607817,32.981747],[102.607814,32.981738],[102.607814,32.981721],[102.607797,32.981674],[102.607784,32.981641],[102.607752,32.981596],[102.607727,32.981564],[102.607714,32.981534],[102.607699,32.981491],[102.607691,32.981449],[102.607691,32.981409],[102.607697,32.981342],[102.60771,32.981293],[102.607782,32.981204],[102.607824,32.98115],[102.60785,32.981107],[102.607863,32.981065],[102.607859,32.981006],[102.607853,32.980936],[102.607853,32.980869],[102.607853,32.980823],[102.607876,32.980759],[102.6079,32.980714],[102.607973,32.980628],[102.608028,32.980565],[102.608067,32.980495],[102.608097,32.980417],[102.608111,32.980371],[102.608148,32.980306],[102.608179,32.980261],[102.608216,32.980212],[102.608255,32.98014],[102.608276,32.980093],[102.608318,32.980065],[102.608326,32.980026],[102.60836,32.979838],[102.608452,32.979338],[102.608634,32.978352],[102.608636,32.978341],[102.608683,32.978282],[102.609001,32.977883],[102.609661,32.977056],[102.609699,32.977009],[102.610059,32.976693],[102.610081,32.976673],[102.610133,32.976627],[102.611094,32.975783],[102.611145,32.975738],[102.61265,32.974684],[102.612817,32.973998],[102.612939,32.9735],[102.612956,32.972851],[102.612603,32.972121],[102.612486,32.971878],[102.612348,32.971595],[102.612087,32.971478],[102.611207,32.971086],[102.611063,32.971029],[102.609539,32.970427],[102.609448,32.970391],[102.609047,32.970233],[102.609021,32.970216],[102.608589,32.969944],[102.608164,32.969675],[102.60807,32.969515],[102.608028,32.969443],[102.607989,32.969376],[102.60784,32.969122],[102.607427,32.968416],[102.607465,32.968105],[102.60747,32.968069],[102.607479,32.967994],[102.607494,32.967873],[102.607592,32.967067],[102.608788,32.965575],[102.609314,32.96527],[102.609357,32.965245],[102.609366,32.965239],[102.609626,32.965088],[102.609643,32.965079],[102.609676,32.96506],[102.609724,32.965032],[102.609961,32.964894],[102.610591,32.964906],[102.610987,32.964914],[102.611173,32.964917],[102.611051,32.964849],[102.611023,32.964837],[102.611,32.964814],[102.611003,32.96479],[102.611042,32.964775],[102.611113,32.964775],[102.611178,32.964775],[102.611226,32.964791],[102.611283,32.964827],[102.611354,32.964876],[102.611411,32.964929],[102.611433,32.964949],[102.611508,32.964992],[102.611579,32.965007],[102.611763,32.964986],[102.611856,32.964984],[102.611934,32.964987],[102.61198,32.964988],[102.612054,32.964968],[102.612068,32.964969],[102.612279,32.964982],[102.612445,32.964992],[102.612526,32.964997],[102.613554,32.964913],[102.614134,32.964866],[102.6142,32.964794],[102.614205,32.96479],[102.614255,32.964736],[102.614498,32.964475],[102.614554,32.964459],[102.61458,32.964406],[102.614576,32.96435],[102.614576,32.964278],[102.614606,32.964203],[102.614633,32.964126],[102.614661,32.964044],[102.614694,32.963962],[102.614731,32.963871],[102.614782,32.963811],[102.614795,32.96374],[102.614801,32.963688],[102.614816,32.963624],[102.614839,32.963528],[102.614901,32.963397],[102.614914,32.963326],[102.614924,32.963263],[102.61495,32.963164],[102.614992,32.963075],[102.614993,32.963056],[102.614996,32.963009],[102.615004,32.962926],[102.615008,32.96285],[102.615013,32.962764],[102.615004,32.962685],[102.61501,32.962636],[102.615045,32.962578],[102.615087,32.962527],[102.615101,32.96249],[102.615068,32.962424],[102.61506,32.962364],[102.615063,32.962228],[102.615074,32.962184],[102.61514,32.962163],[102.615175,32.962145],[102.615148,32.962077],[102.615143,32.962032],[102.615145,32.961999],[102.615167,32.961966],[102.615228,32.961926],[102.615258,32.961906],[102.615264,32.961873],[102.61569,32.962006],[102.615704,32.962011],[102.615916,32.962077],[102.615949,32.962087],[102.61794,32.962709],[102.618418,32.962804],[102.618494,32.962819],[102.619296,32.962979],[102.619415,32.963002],[102.619534,32.963026],[102.619545,32.963028],[102.619898,32.963098],[102.621186,32.963584],[102.621599,32.963739],[102.621695,32.963776],[102.621943,32.963869],[102.62215,32.963947],[102.622206,32.963968],[102.622228,32.963976],[102.622259,32.963988],[102.622854,32.964212],[102.624804,32.965004],[102.625129,32.96511],[102.62515,32.965116],[102.625202,32.965133],[102.625251,32.965149],[102.625517,32.965235],[102.625633,32.965272],[102.627837,32.965465],[102.628738,32.965587],[102.629563,32.965699],[102.631407,32.965986],[102.633611,32.965652],[102.635503,32.965123],[102.637224,32.964289],[102.638671,32.963675],[102.640033,32.962872],[102.641353,32.961992],[102.642505,32.960695],[102.643612,32.959435],[102.644205,32.958994],[102.644971,32.958744],[102.645697,32.958343],[102.646026,32.957747],[102.647238,32.957543],[102.649124,32.95724],[102.650025,32.956955],[102.651058,32.956786],[102.652834,32.957234],[102.653898,32.957593],[102.655903,32.95782],[102.657777,32.957968],[102.658295,32.958001],[102.65869,32.958026],[102.659473,32.958075],[102.661343,32.958374],[102.66317,32.958597],[102.664637,32.958888],[102.665795,32.95906],[102.66674,32.958814],[102.667381,32.958529],[102.668662,32.960426],[102.669856,32.962223],[102.670758,32.962785],[102.672389,32.964408],[102.673007,32.965511],[102.673966,32.965984],[102.676001,32.966568],[102.677882,32.966876],[102.678521,32.967068],[102.678685,32.967118],[102.680498,32.96797],[102.681946,32.968316],[102.68301,32.968881],[102.683574,32.970029],[102.683979,32.971037],[102.684403,32.973411],[102.685128,32.974561],[102.685795,32.975893],[102.686783,32.977321],[102.687721,32.978612],[102.688071,32.979665],[102.689113,32.981094],[102.690873,32.9819],[102.692481,32.982339],[102.693452,32.982357],[102.694762,32.98179],[102.695747,32.981262],[102.695866,32.981138],[102.695949,32.981122],[102.69608,32.981094],[102.696233,32.98102],[102.696396,32.98088],[102.696599,32.98065],[102.696966,32.980321],[102.697073,32.980172],[102.697083,32.98012],[102.697123,32.98001],[102.697098,32.979899],[102.697029,32.979737],[102.697309,32.97929],[102.697858,32.978936],[102.698725,32.978816],[102.699548,32.978648],[102.699627,32.978666],[102.699777,32.978697],[102.700037,32.978715],[102.700187,32.978722],[102.700314,32.978727],[102.700434,32.978724],[102.700581,32.978702],[102.70066,32.97867],[102.700754,32.978623],[102.700955,32.978536],[102.701082,32.978495],[102.701226,32.978445],[102.701421,32.978385],[102.701515,32.978352],[102.701665,32.978326],[102.701746,32.97832],[102.701882,32.978319],[102.701913,32.978323],[102.702012,32.978316],[102.703087,32.978242],[102.703451,32.978201],[102.703688,32.978167],[102.703748,32.978161],[102.704193,32.97812],[102.704448,32.978073],[102.704826,32.978018],[102.705015,32.978002],[102.705063,32.977983],[102.705176,32.977944],[102.705261,32.977908],[102.705345,32.977862],[102.705402,32.977816],[102.705455,32.977756],[102.705514,32.977692],[102.705592,32.977591],[102.705654,32.977498],[102.705701,32.977438],[102.705777,32.977349],[102.705929,32.977236],[102.706028,32.977181],[102.706146,32.977142],[102.706271,32.977108],[102.706395,32.977078],[102.706595,32.977039],[102.706776,32.976986],[102.706875,32.97694],[102.706993,32.976875],[102.7071,32.976786],[102.707246,32.976649],[102.707364,32.976534],[102.707446,32.976455],[102.707496,32.97638],[102.707563,32.976304],[102.707645,32.97626],[102.707797,32.976183],[102.707851,32.97613],[102.70789,32.976049],[102.70794,32.975956],[102.708021,32.975874],[102.708083,32.975847],[102.708153,32.975752],[102.708215,32.975644],[102.708262,32.97557],[102.708321,32.975493],[102.708383,32.975431],[102.708473,32.975335],[102.708599,32.975219],[102.708675,32.975162],[102.708742,32.975111],[102.708855,32.975044],[102.708968,32.975],[102.709075,32.974973],[102.7092,32.974968],[102.709358,32.974967],[102.709545,32.975005],[102.70956,32.975008],[102.709755,32.97507],[102.709911,32.975114],[102.710064,32.975178],[102.710224,32.975261],[102.710373,32.97535],[102.710505,32.975432],[102.710686,32.975545],[102.71072,32.975526],[102.7109,32.975471],[102.711006,32.975453],[102.711225,32.975434],[102.711476,32.975414],[102.711653,32.975396],[102.711836,32.975377],[102.71196,32.975352],[102.71213,32.975309],[102.712468,32.975191],[102.712683,32.975071],[102.712852,32.97495],[102.713024,32.97483],[102.713334,32.974629],[102.713465,32.974586],[102.713638,32.974546],[102.713804,32.974495],[102.714033,32.974407],[102.714198,32.974334],[102.714286,32.974262],[102.714346,32.974178],[102.714388,32.974089],[102.714387,32.974044],[102.714425,32.973969],[102.714527,32.973873],[102.714594,32.973861],[102.714697,32.973869],[102.714828,32.973904],[102.714963,32.973957],[102.715048,32.974001],[102.715319,32.974173],[102.715432,32.974247],[102.715685,32.974424],[102.715777,32.974477],[102.715951,32.974551],[102.716065,32.974607],[102.716239,32.974666],[102.716452,32.974739],[102.716675,32.974797],[102.716814,32.974844],[102.71697,32.974912],[102.717108,32.974968],[102.717218,32.975006],[102.717499,32.975141],[102.717655,32.975236],[102.717801,32.975354],[102.717933,32.975476],[102.718022,32.975586],[102.71819,32.975776],[102.71824,32.975859],[102.718309,32.975966],[102.718401,32.976016],[102.718468,32.976039],[102.718649,32.976068],[102.718776,32.976068],[102.718918,32.976058],[102.719013,32.976066],[102.719176,32.976113],[102.719279,32.97616],[102.719386,32.976219],[102.719532,32.976287],[102.719667,32.976334],[102.719759,32.976366],[102.719823,32.976401],[102.719858,32.976449],[102.719887,32.976517],[102.719902,32.976604],[102.719917,32.976684],[102.719931,32.976726],[102.719953,32.97675],[102.720045,32.976809],[102.72012,32.976841],[102.720233,32.976873],[102.720347,32.976896],[102.720489,32.976955],[102.720574,32.977035],[102.720646,32.977139],[102.72075,32.977303],[102.7208,32.977377],[102.720875,32.977466],[102.720936,32.977522],[102.721003,32.977576],[102.721106,32.977641],[102.721164,32.977697],[102.721189,32.97775],[102.721189,32.977813],[102.721188,32.977826],[102.721282,32.977901],[102.721369,32.977982],[102.721563,32.978086],[102.721599,32.978114],[102.721593,32.978136],[102.721591,32.978159],[102.721591,32.97819],[102.721607,32.978197],[102.721657,32.978226],[102.721664,32.97826],[102.72168,32.978298],[102.721687,32.978327],[102.721706,32.97834],[102.72176,32.97834],[102.721801,32.978332],[102.721843,32.978325],[102.721848,32.978324],[102.721873,32.978343],[102.721873,32.978358],[102.721871,32.978381],[102.721851,32.978402],[102.721845,32.978421],[102.721874,32.978432],[102.721924,32.978432],[102.721936,32.97843],[102.721995,32.978499],[102.722054,32.978557],[102.722056,32.97858],[102.722057,32.978607],[102.72205,32.978643],[102.722039,32.978682],[102.722023,32.978703],[102.722008,32.978724],[102.72199,32.978733],[102.72196,32.978739],[102.721949,32.978745],[102.721965,32.978768],[102.721986,32.978785],[102.722008,32.978806],[102.722027,32.978829],[102.722028,32.978843],[102.722032,32.978871],[102.722016,32.97888],[102.721986,32.97888],[102.721974,32.978862],[102.721961,32.978842],[102.721941,32.978816],[102.721918,32.978793],[102.72189,32.978782],[102.721823,32.97878],[102.721771,32.978788],[102.721721,32.978794],[102.721712,32.978813],[102.721737,32.978828],[102.72176,32.978861],[102.721773,32.97887],[102.721776,32.978873],[102.721713,32.978899],[102.721774,32.978931],[102.721718,32.978952],[102.7216,32.978993],[102.7216,32.978999],[102.721602,32.979054],[102.721838,32.980377],[102.721906,32.981925],[102.722161,32.982521],[102.723982,32.983055],[102.726878,32.98379],[102.72754,32.983958],[102.727843,32.984035],[102.729457,32.984246],[102.730261,32.984443],[102.730849,32.984681],[102.730877,32.98523],[102.73089,32.985484],[102.730894,32.985565],[102.730902,32.985731],[102.730921,32.986092],[102.73105,32.987368],[102.731337,32.988351],[102.731398,32.988557],[102.73255,32.989943],[102.73399,32.990606],[102.734674,32.991301],[102.735613,32.992591],[102.736182,32.993557],[102.737294,32.994396],[102.739037,32.995883],[102.740258,32.996724],[102.741226,32.996832],[102.741881,32.996571],[102.741919,32.995071],[102.742054,32.994027],[102.74248,32.993057],[102.742569,32.992854],[102.743522,32.991461],[102.743771,32.990192],[102.744401,32.988747],[102.744713,32.98707],[102.74496,32.985846],[102.74509,32.984984],[102.745489,32.984173],[102.745726,32.983313],[102.745721,32.981402],[102.74575,32.980266],[102.746421,32.979322],[102.747383,32.977566],[102.748527,32.976023],[102.748573,32.97596],[102.748677,32.97582],[102.748602,32.975817],[102.748514,32.975799],[102.748427,32.975771],[102.748302,32.97573],[102.74822,32.975692],[102.748206,32.975637],[102.748201,32.975555],[102.748229,32.975442],[102.748291,32.975306],[102.748423,32.975139],[102.748536,32.975063],[102.748577,32.975041],[102.74874,32.974867],[102.748886,32.974742],[102.749074,32.974619],[102.749236,32.974514],[102.749238,32.974513],[102.749338,32.974456],[102.749484,32.974377],[102.749566,32.974292],[102.74959,32.974253],[102.749638,32.974219],[102.74975,32.9742],[102.749773,32.974205],[102.749867,32.974226],[102.749954,32.974109],[102.752386,32.971833],[102.753006,32.97119],[102.753331,32.970853],[102.754014,32.970145],[102.754325,32.969821],[102.755924,32.968485],[102.756612,32.967712],[102.756631,32.967691],[102.75665,32.96767],[102.756662,32.967656],[102.756709,32.967604],[102.756723,32.967588],[102.756737,32.967572],[102.756973,32.967307],[102.756987,32.967291],[102.757178,32.967077],[102.757175,32.967062],[102.757137,32.966989],[102.7571,32.966894],[102.7571,32.966864],[102.757109,32.966842],[102.757133,32.966819],[102.757146,32.966812],[102.757174,32.966812],[102.757209,32.966816],[102.757316,32.96684],[102.757377,32.966849],[102.757429,32.966861],[102.757473,32.966848],[102.757499,32.966829],[102.757519,32.966804],[102.757526,32.966782],[102.757538,32.966744],[102.757537,32.966673],[102.757706,32.966483],[102.757757,32.966426],[102.758814,32.965171],[102.759517,32.964523],[102.759649,32.9644],[102.759974,32.9641],[102.760814,32.962887],[102.76097,32.962704],[102.76101,32.962656],[102.762149,32.961319],[102.764134,32.959673],[102.764298,32.959538],[102.76462,32.959262],[102.766063,32.958023],[102.767549,32.956867],[102.768272,32.955942],[102.768497,32.955655],[102.768538,32.955606],[102.768894,32.955187],[102.769094,32.954952],[102.769219,32.954804],[102.769561,32.954415],[102.769858,32.954077],[102.770164,32.953729],[102.770371,32.953438],[102.770611,32.9531],[102.77083,32.953415],[102.771028,32.953699],[102.77153,32.953991],[102.771908,32.95421],[102.772304,32.954447],[102.77269,32.954674],[102.773048,32.954872],[102.773346,32.955001],[102.773607,32.955113],[102.773923,32.955249],[102.774347,32.955432],[102.77481,32.955632],[102.775093,32.955812],[102.775548,32.956102],[102.775941,32.956354],[102.77635,32.956614],[102.776161,32.958036],[102.776151,32.958112],[102.776143,32.958432],[102.776118,32.959431],[102.776114,32.959593],[102.776077,32.961067],[102.776039,32.962568],[102.776066,32.96366],[102.776523,32.964805],[102.77741,32.966004],[102.77878,32.967302],[102.779723,32.968456],[102.781472,32.969715],[102.786111,32.971981],[102.787012,32.972634],[102.788022,32.973243],[102.789142,32.973764],[102.789884,32.974323],[102.791195,32.975847],[102.792179,32.977502],[102.792915,32.978288],[102.794242,32.979176],[102.795519,32.979927],[102.796524,32.980763],[102.798027,32.981063],[102.799009,32.98067],[102.80048,32.980105],[102.801797,32.979218],[102.801875,32.979166],[102.802073,32.979035],[102.803059,32.978376],[102.804862,32.977498],[102.805465,32.977145],[102.806382,32.977161],[102.807907,32.976597],[102.809487,32.975987],[102.810955,32.975558],[102.811809,32.975937],[102.813195,32.976644],[102.814265,32.977026],[102.815819,32.977463],[102.816384,32.977446],[102.817384,32.976424],[102.817708,32.976191],[102.818462,32.975606],[102.819401,32.974725],[102.820127,32.974064],[102.820311,32.973953],[102.820849,32.973626],[102.821336,32.973013],[102.821793,32.972472],[102.822168,32.971681],[102.822274,32.971483],[102.822335,32.971369],[102.822974,32.970174],[102.823218,32.969968],[102.823477,32.96975],[102.823699,32.969563],[102.824126,32.96954],[102.82438,32.969525],[102.826164,32.970354],[102.827426,32.97075],[102.828182,32.971287],[102.829415,32.971683],[102.830507,32.971776],[102.831339,32.971641],[102.832757,32.971716],[102.833971,32.971687],[102.835834,32.971694],[102.837553,32.971574],[102.839267,32.971268],[102.839335,32.971256],[102.84064,32.971129],[102.841619,32.971021],[102.84238,32.971334],[102.84263,32.97147],[102.842919,32.97144],[102.843118,32.971444],[102.843218,32.971431],[102.843486,32.971518],[102.843563,32.97156],[102.84357,32.971563],[102.843797,32.971686],[102.843972,32.971822],[102.844076,32.971876],[102.844129,32.971926],[102.84419,32.971994],[102.844191,32.972072],[102.844142,32.972126],[102.844075,32.972171],[102.843972,32.972247],[102.843996,32.972277],[102.844927,32.973424],[102.845412,32.975118],[102.84538,32.976404],[102.845782,32.977209],[102.845784,32.977216],[102.84612,32.978163],[102.846225,32.978459],[102.846324,32.978653],[102.846332,32.978669],[102.846525,32.979047],[102.846553,32.979101],[102.846727,32.979443],[102.846785,32.980114],[102.846813,32.980434],[102.846845,32.980817],[102.846856,32.980936],[102.846892,32.981354],[102.847113,32.983087],[102.847091,32.983208],[102.847085,32.983243],[102.847078,32.983278],[102.847073,32.983306],[102.847006,32.983679],[102.847003,32.983697],[102.846999,32.983722],[102.846965,32.983908],[102.84693,32.984104],[102.846533,32.985295],[102.846467,32.985599],[102.846456,32.985653],[102.846456,32.985653],[102.846356,32.986117],[102.846309,32.986335],[102.846295,32.9864],[102.846271,32.986698],[102.846121,32.988511],[102.846126,32.98858],[102.84622,32.988564],[102.846298,32.988564],[102.846337,32.988587],[102.84637,32.988697],[102.846336,32.988793],[102.84629,32.988838],[102.846149,32.988913],[102.846226,32.989992],[102.846212,32.990035],[102.846145,32.990243],[102.84577,32.991403],[102.845761,32.991448],[102.845653,32.991957],[102.845557,32.992407],[102.845532,32.992523],[102.84578,32.993888],[102.846594,32.995025],[102.848012,32.998625],[102.84811,32.998776],[102.848335,32.999122],[102.848353,32.99915],[102.848753,32.999765],[102.848992,33.000135],[102.849273,33.000567],[102.849408,33.000739],[102.84943,33.000767],[102.849431,33.000768],[102.849522,33.000883],[102.849565,33.000939],[102.849953,33.001413],[102.849954,33.001414],[102.84996,33.001421],[102.850149,33.001653],[102.850544,33.003383],[102.850866,33.003953],[102.850895,33.004014],[102.851009,33.004252],[102.851248,33.00475],[102.851266,33.004823],[102.851285,33.004902],[102.851583,33.006139],[102.851562,33.007013],[102.851312,33.00763],[102.850754,33.008552],[102.850632,33.008782],[102.850449,33.008855],[102.850304,33.008986],[102.850136,33.009268],[102.850107,33.009517],[102.850117,33.009651],[102.850162,33.009757],[102.84989,33.01102],[102.849655,33.012427],[102.849572,33.013075],[102.849761,33.013586],[102.851089,33.014291],[102.85133,33.014245],[102.852178,33.014483],[102.852586,33.014663],[102.853221,33.01522],[102.853395,33.015513],[102.85453,33.016079],[102.85455,33.016089],[102.854623,33.016126],[102.855511,33.016434],[102.855534,33.016442],[102.855541,33.016445],[102.855544,33.016446],[102.855579,33.016458],[102.855598,33.016465],[102.856308,33.016712],[102.856349,33.016726],[102.857779,33.017224],[102.858539,33.017689],[102.858594,33.018169],[102.858102,33.01912],[102.857836,33.019781],[102.857759,33.01997],[102.857639,33.02027],[102.85701,33.021331],[102.856625,33.022002],[102.856544,33.022593],[102.85659,33.023469],[102.857227,33.024806],[102.857501,33.025968],[102.857282,33.026698],[102.856808,33.02827],[102.856445,33.02945],[102.856091,33.030234],[102.855469,33.030985],[102.854791,33.03134],[102.854443,33.031842],[102.854085,33.032796],[102.853801,33.034173],[102.85374,33.034468],[102.853592,33.035186],[102.853084,33.036786],[102.852846,33.038278],[102.852891,33.039182],[102.852986,33.04082],[102.852059,33.044501],[102.851659,33.045792],[102.851163,33.046885],[102.85111,33.04701],[102.851068,33.04711],[102.850947,33.047394],[102.850701,33.047977],[102.850368,33.049242],[102.850289,33.049748],[102.849892,33.050927],[102.849238,33.051621],[102.848508,33.052709],[102.848225,33.053325],[102.847498,33.054272],[102.846876,33.055023],[102.846806,33.056518],[102.846591,33.057107],[102.846445,33.057584],[102.845688,33.058389],[102.845335,33.059145],[102.845546,33.060108],[102.84563,33.060759],[102.84601,33.061697],[102.846066,33.062149],[102.84569,33.062453],[102.845547,33.062818],[102.844961,33.063485],[102.843901,33.064313],[102.843883,33.065075],[102.844117,33.066462],[102.844119,33.066488],[102.844189,33.06762],[102.844198,33.067669],[102.844589,33.069865],[102.844711,33.07062],[102.844725,33.070707],[102.84485,33.071477],[102.845118,33.072038],[102.845204,33.072041],[102.845242,33.072058],[102.845263,33.072102],[102.845273,33.072178],[102.845272,33.072264],[102.845259,33.072336],[102.845459,33.073577],[102.845469,33.073643],[102.8455,33.073836],[102.845496,33.073923],[102.845548,33.073897],[102.845582,33.073888],[102.845607,33.073897],[102.845605,33.073935],[102.845592,33.073981],[102.845563,33.07405],[102.845532,33.074119],[102.845519,33.074188],[102.84552,33.074258],[102.845527,33.074306],[102.845541,33.074363],[102.845541,33.074403],[102.845535,33.074447],[102.845517,33.07448],[102.845469,33.074509],[102.845455,33.074811],[102.845218,33.075529],[102.845265,33.075541],[102.845276,33.075575],[102.84528,33.075629],[102.845258,33.075685],[102.845243,33.075728],[102.845203,33.075757],[102.845141,33.075762],[102.84501,33.076158],[102.845079,33.076199],[102.845103,33.076236],[102.845115,33.076287],[102.845117,33.076336],[102.845099,33.076369],[102.845065,33.076391],[102.845031,33.0764],[102.844994,33.076401],[102.844935,33.07639],[102.844671,33.077231],[102.84467,33.077303],[102.844669,33.077341],[102.844646,33.078265],[102.844645,33.078323],[102.844641,33.07835],[102.844578,33.07883],[102.844569,33.078895],[102.844506,33.079376],[102.84443,33.079385],[102.844382,33.079401],[102.844495,33.079459],[102.844487,33.079513],[102.844508,33.079591],[102.84451,33.079602],[102.844512,33.07961],[102.844514,33.079618],[102.844559,33.079789],[102.844655,33.080159],[102.84525,33.080499],[102.845257,33.080503],[102.845298,33.080522],[102.845361,33.080552],[102.845363,33.080553],[102.845381,33.080562],[102.845398,33.080569],[102.845445,33.080591],[102.846283,33.080984],[102.846558,33.081086],[102.847221,33.081334],[102.847443,33.08131],[102.847586,33.081323],[102.847683,33.081317],[102.847819,33.0813],[102.847929,33.081285],[102.848028,33.081272],[102.84815,33.081248],[102.848238,33.081223],[102.848321,33.081192],[102.84839,33.081165],[102.84849,33.081112],[102.848577,33.081023],[102.84862,33.080975],[102.848658,33.080933],[102.848697,33.080876],[102.848697,33.080876],[102.848701,33.08087],[102.848731,33.080818],[102.848758,33.080799],[102.848817,33.080776],[102.848885,33.080757],[102.848931,33.080737],[102.848963,33.080715],[102.848969,33.080701],[102.848998,33.080643],[102.849001,33.080629],[102.849112,33.080743],[102.849713,33.080503],[102.850058,33.08164],[102.850294,33.083945],[102.8503,33.084349],[102.850301,33.084383],[102.850301,33.0844],[102.850318,33.085526],[102.850086,33.086506],[102.850374,33.089233],[102.850422,33.09071],[102.850403,33.09149],[102.850402,33.091519],[102.850378,33.092483],[102.850522,33.092517],[102.851355,33.092713],[102.851419,33.092728],[102.851453,33.092736],[102.851526,33.092753],[102.851535,33.092755],[102.852391,33.092957],[102.852889,33.093255],[102.852894,33.093258],[102.854324,33.094114],[102.855045,33.094495],[102.856554,33.095223],[102.857046,33.095461],[102.858194,33.096306],[102.858509,33.09655],[102.85889,33.096845],[102.85994,33.097442],[102.861071,33.098129],[102.861065,33.098389],[102.861061,33.098533],[102.861061,33.098539],[102.86106,33.098556],[102.861044,33.098582],[102.861033,33.098598],[102.861023,33.098613],[102.86101,33.098642],[102.861004,33.098666],[102.860991,33.098698],[102.860981,33.098735],[102.860968,33.098759],[102.86095,33.098794],[102.86093,33.098823],[102.860904,33.098841],[102.860862,33.09888],[102.860836,33.098903],[102.860807,33.098916],[102.860786,33.098915],[102.860755,33.098913],[102.860741,33.098919],[102.860737,33.098931],[102.860733,33.098949],[102.860725,33.098969],[102.860716,33.099011],[102.860713,33.099037],[102.860705,33.099086],[102.86071,33.099107],[102.860719,33.099122],[102.860743,33.099141],[102.860767,33.099153],[102.860783,33.099167],[102.8608,33.099188],[102.860808,33.099205],[102.860823,33.099223],[102.86055,33.099531],[102.860332,33.099777],[102.86032,33.099766],[102.860306,33.099764],[102.860286,33.099765],[102.860274,33.09978],[102.860267,33.099809],[102.860262,33.099833],[102.860259,33.099867],[102.860109,33.100093],[102.859586,33.100879],[102.859505,33.101633],[102.85946,33.102616],[102.859614,33.104024],[102.85943,33.104706],[102.859011,33.105138],[102.859009,33.105141],[102.85894,33.105212],[102.858917,33.105196],[102.85889,33.105181],[102.858874,33.105183],[102.858854,33.105195],[102.858841,33.105217],[102.858842,33.10523],[102.858861,33.105255],[102.858881,33.105272],[102.858927,33.105335],[102.858942,33.105392],[102.858947,33.105411],[102.858932,33.105501],[102.85888,33.105546],[102.858816,33.10557],[102.858744,33.10554],[102.858651,33.105511],[102.858625,33.105504],[102.858593,33.1055],[102.858585,33.105513],[102.858585,33.105536],[102.858591,33.105555],[102.858601,33.105574],[102.858535,33.105655],[102.858533,33.105658],[102.858459,33.10575],[102.8581,33.106194],[102.858056,33.106573],[102.858054,33.106595],[102.858049,33.106638],[102.858048,33.10665],[102.858042,33.1067],[102.857995,33.107105],[102.85789,33.107543],[102.85791,33.107566],[102.857915,33.107591],[102.857909,33.107607],[102.857891,33.107625],[102.857869,33.107631],[102.857842,33.107648],[102.857822,33.10766],[102.857799,33.107671],[102.857769,33.10769],[102.857747,33.107706],[102.857732,33.107722],[102.857725,33.107741],[102.857732,33.107759],[102.857748,33.107772],[102.857774,33.107783],[102.857804,33.10779],[102.85783,33.107792],[102.85779,33.107866],[102.857773,33.107899],[102.857133,33.109093],[102.857054,33.109278],[102.857044,33.109303],[102.857035,33.109324],[102.856712,33.110087],[102.856575,33.110577],[102.856583,33.111086],[102.856485,33.111682],[102.855896,33.112743],[102.855313,33.113541],[102.85473,33.114357],[102.854244,33.115437],[102.854168,33.116016],[102.854051,33.11654],[102.854206,33.117035],[102.854426,33.117408],[102.854543,33.117761],[102.854455,33.117953],[102.854298,33.118248],[102.854264,33.11824],[102.854234,33.11824],[102.854211,33.118248],[102.854176,33.118258],[102.854148,33.11827],[102.854131,33.118289],[102.854114,33.118314],[102.854114,33.118362],[102.854129,33.118395],[102.854151,33.11842],[102.854175,33.118441],[102.854193,33.118461],[102.854211,33.118491],[102.854222,33.118521],[102.854223,33.118562],[102.854217,33.118592],[102.854213,33.118627],[102.854211,33.118663],[102.854225,33.118689],[102.854252,33.118707],[102.854291,33.11872],[102.854306,33.118726],[102.854362,33.118723],[102.854394,33.118731],[102.85441,33.118759],[102.854413,33.118787],[102.854399,33.118796],[102.854376,33.118803],[102.854335,33.118801],[102.854301,33.118794],[102.854286,33.118788],[102.854248,33.118772],[102.854212,33.118761],[102.854139,33.118735],[102.854094,33.118716],[102.854077,33.118712],[102.854031,33.118709],[102.853997,33.118714],[102.853972,33.118723],[102.853954,33.118751],[102.853947,33.118778],[102.853949,33.118823],[102.853966,33.118863],[102.854038,33.118965],[102.854095,33.119045],[102.854166,33.119131],[102.854181,33.11914],[102.854178,33.11916],[102.854174,33.119177],[102.85412,33.119686],[102.853982,33.12021],[102.853571,33.120801],[102.85348,33.121958],[102.853504,33.122696],[102.853509,33.123364],[102.853622,33.123875],[102.85372,33.124966],[102.853662,33.125633],[102.853441,33.126173],[102.852825,33.127445],[102.852286,33.128138],[102.851337,33.129387],[102.850987,33.130066],[102.85087,33.130573],[102.850819,33.130941],[102.850642,33.131377],[102.850197,33.132493],[102.8502,33.133214],[102.850457,33.133798],[102.851046,33.134493],[102.8511,33.134863],[102.851124,33.135206],[102.851131,33.135302],[102.851089,33.135465],[102.851015,33.135757],[102.851047,33.136144],[102.851189,33.136322],[102.851521,33.136416],[102.851627,33.136446],[102.851671,33.136459],[102.851688,33.136473],[102.851702,33.136484],[102.851723,33.136495],[102.851751,33.136504],[102.851779,33.136511],[102.851798,33.136513],[102.851827,33.136512],[102.851832,33.136504],[102.851847,33.13649],[102.851868,33.136476],[102.851891,33.136467],[102.851923,33.136459],[102.851946,33.136454],[102.851979,33.136456],[102.852017,33.136465],[102.852053,33.136475],[102.852095,33.136494],[102.852112,33.136522],[102.852121,33.136544],[102.852123,33.136568],[102.852104,33.136603],[102.85209,33.136639],[102.852091,33.136659],[102.852091,33.136678],[102.852095,33.136698],[102.852105,33.136728],[102.852118,33.136748],[102.852128,33.136758],[102.852173,33.136778],[102.852215,33.136781],[102.852248,33.136776],[102.852266,33.13679],[102.852469,33.136941],[102.852832,33.137457],[102.852861,33.138121],[102.852869,33.138295],[102.852872,33.138371],[102.852986,33.138727],[102.853008,33.138794],[102.853026,33.138802],[102.853035,33.138805],[102.853088,33.138824],[102.853089,33.138839],[102.853089,33.13888],[102.853092,33.138913],[102.853098,33.138939],[102.853107,33.138956],[102.853122,33.138961],[102.853139,33.138962],[102.85316,33.138958],[102.853177,33.13895],[102.853205,33.138929],[102.85322,33.138914],[102.853244,33.138881],[102.853256,33.138865],[102.853286,33.138848],[102.853316,33.138835],[102.853345,33.138832],[102.853376,33.138832],[102.853393,33.138841],[102.853413,33.13886],[102.853423,33.138881],[102.853436,33.13895],[102.853567,33.138998],[102.85381,33.139045],[102.853848,33.139052],[102.853854,33.139064],[102.853864,33.139078],[102.853873,33.139094],[102.853881,33.139114],[102.853877,33.139125],[102.853863,33.139138],[102.853841,33.139155],[102.853816,33.139177],[102.853795,33.139206],[102.853791,33.139229],[102.853786,33.139245],[102.853798,33.139281],[102.853832,33.139319],[102.853866,33.139336],[102.853909,33.139338],[102.853982,33.139336],[102.854048,33.139305],[102.854106,33.139261],[102.854139,33.139216],[102.854173,33.139158],[102.854186,33.139134],[102.854293,33.139168],[102.854451,33.13954],[102.854528,33.139805],[102.854537,33.139898],[102.854561,33.140174],[102.85473,33.140365],[102.854846,33.140495],[102.854948,33.140517],[102.854987,33.140525],[102.854982,33.140539],[102.854952,33.140618],[102.854951,33.140664],[102.854965,33.140707],[102.854985,33.140758],[102.855005,33.140816],[102.855021,33.140868],[102.855043,33.140907],[102.855063,33.140926],[102.855073,33.140935],[102.855143,33.140953],[102.855172,33.140954],[102.855249,33.140936],[102.855349,33.1409],[102.855441,33.140877],[102.855493,33.140839],[102.855528,33.140789],[102.855553,33.14073],[102.85556,33.140705],[102.855567,33.14069],[102.855716,33.140756],[102.855855,33.14104],[102.855825,33.141443],[102.855628,33.141791],[102.855242,33.142224],[102.854334,33.142629],[102.853763,33.142953],[102.853168,33.143365],[102.852716,33.143919],[102.852429,33.144564],[102.852192,33.144876],[102.852083,33.145032],[102.85227,33.145088],[102.852482,33.144951],[102.852932,33.144777],[102.852965,33.144764],[102.852951,33.144732],[102.852939,33.144708],[102.852936,33.144686],[102.852938,33.144657],[102.852957,33.144616],[102.852969,33.144585],[102.852982,33.144554],[102.852993,33.144536],[102.853022,33.144513],[102.853061,33.1445],[102.853092,33.144486],[102.853135,33.144481],[102.853134,33.144491],[102.853139,33.144507],[102.853148,33.144523],[102.853164,33.144545],[102.853181,33.144557],[102.853198,33.144572],[102.853213,33.144591],[102.853239,33.144635],[102.853263,33.144665],[102.85331,33.144793],[102.853336,33.144851],[102.853364,33.144872],[102.853389,33.144883],[102.85342,33.144891],[102.853441,33.144889],[102.853486,33.14488],[102.85354,33.144859],[102.85365,33.144798],[102.853749,33.144732],[102.853756,33.144743],[102.853817,33.144838],[102.853821,33.144845],[102.853837,33.14487],[102.853755,33.144926],[102.8537,33.145038],[102.853699,33.145148],[102.853781,33.145297],[102.853896,33.145411],[102.854034,33.145519],[102.854226,33.145579],[102.85439,33.145581],[102.85455,33.145567],[102.854776,33.145569],[102.854947,33.145547],[102.855225,33.145487],[102.855509,33.145482],[102.855613,33.145539],[102.855598,33.145652],[102.85554,33.145764],[102.855516,33.145842],[102.855599,33.145876],[102.855789,33.145868],[102.855974,33.145804],[102.856089,33.14567],[102.856094,33.145585],[102.856045,33.145471],[102.856066,33.145388],[102.85616,33.145378],[102.856239,33.145446],[102.856245,33.145579],[102.856248,33.145822],[102.856272,33.145942],[102.856332,33.146023],[102.856461,33.146098],[102.856477,33.146163],[102.856424,33.146239],[102.856377,33.146316],[102.856421,33.146351],[102.856472,33.146434],[102.856384,33.146497],[102.856284,33.146505],[102.856168,33.146517],[102.856006,33.146612],[102.855852,33.146782],[102.855717,33.14691],[102.855579,33.146957],[102.855498,33.146889],[102.855453,33.146737],[102.855495,33.146601],[102.855659,33.146507],[102.855919,33.14642],[102.855979,33.146311],[102.855956,33.146215],[102.855822,33.146085],[102.855653,33.146024],[102.855534,33.146069],[102.85545,33.146149],[102.855352,33.146178],[102.855179,33.146183],[102.85511,33.146201],[102.855055,33.146318],[102.855086,33.14641],[102.855192,33.146522],[102.855236,33.146616],[102.855235,33.146732],[102.855157,33.146821],[102.855105,33.146836],[102.854999,33.146813],[102.854734,33.146718],[102.854548,33.146725],[102.854436,33.146795],[102.854388,33.146909],[102.854392,33.147019],[102.854387,33.147135],[102.854312,33.147169],[102.854224,33.14718],[102.854104,33.147179],[102.854015,33.14711],[102.853843,33.146878],[102.853679,33.146759],[102.853561,33.146715],[102.853444,33.146772],[102.853351,33.146871],[102.853303,33.147027],[102.853313,33.147122],[102.8534,33.147209],[102.853387,33.147215],[102.853364,33.147242],[102.853354,33.147254],[102.853194,33.14744],[102.853204,33.147897],[102.8534,33.148427],[102.853415,33.148458],[102.854155,33.149986],[102.85451,33.150835],[102.854685,33.151383],[102.854651,33.151927],[102.854557,33.152364],[102.854841,33.152703],[102.855174,33.152744],[102.855307,33.152592],[102.855372,33.152518],[102.855379,33.15251],[102.855508,33.152364],[102.85544,33.152273],[102.85541,33.152176],[102.855457,33.152109],[102.855547,33.152032],[102.855608,33.152005],[102.855643,33.151981],[102.855684,33.151956],[102.855704,33.151944],[102.855746,33.151933],[102.855789,33.151913],[102.855806,33.151899],[102.855822,33.151871],[102.855829,33.151844],[102.85583,33.151806],[102.855824,33.151769],[102.855803,33.15173],[102.855774,33.151695],[102.855752,33.151676],[102.855729,33.151658],[102.85571,33.151645],[102.855697,33.151634],[102.855689,33.151627],[102.855693,33.151609],[102.855704,33.151558],[102.855902,33.15114],[102.856594,33.151029],[102.857314,33.150602],[102.857804,33.150347],[102.857815,33.150341],[102.857839,33.150329],[102.857872,33.150312],[102.857882,33.150306],[102.858096,33.150194],[102.858822,33.1504],[102.85898,33.150789],[102.85901,33.151264],[102.859011,33.151537],[102.859011,33.151654],[102.859011,33.15167],[102.859012,33.151914],[102.859012,33.152037],[102.859004,33.152152],[102.858998,33.152237],[102.858995,33.152278],[102.858981,33.152475],[102.859028,33.152578],[102.859159,33.152865],[102.859383,33.153097],[102.859653,33.153154],[102.859765,33.153089],[102.859773,33.153084],[102.859809,33.153063],[102.859868,33.153076],[102.859935,33.153071],[102.860054,33.153038],[102.860215,33.152977],[102.860474,33.152937],[102.860837,33.152894],[102.860979,33.15291],[102.861046,33.153017],[102.861085,33.15315],[102.861123,33.153199],[102.861209,33.153191],[102.861275,33.15311],[102.86129,33.152994],[102.861229,33.152841],[102.861199,33.152716],[102.861222,33.152602],[102.861298,33.152558],[102.861424,33.152514],[102.861549,33.152506],[102.861616,33.152473],[102.861647,33.152404],[102.861624,33.152334],[102.861546,33.152268],[102.861504,33.152214],[102.861509,33.152158],[102.861555,33.152114],[102.861664,33.152065],[102.861823,33.152065],[102.861971,33.15208],[102.862039,33.152125],[102.862069,33.152217],[102.862069,33.152279],[102.862075,33.152367],[102.862058,33.152421],[102.862004,33.152495],[102.861962,33.152606],[102.862011,33.152698],[102.862113,33.152775],[102.862352,33.15288],[102.862458,33.15295],[102.862465,33.153008],[102.862453,33.153064],[102.862355,33.153086],[102.862212,33.153072],[102.862068,33.153041],[102.861989,33.153035],[102.861933,33.15307],[102.861884,33.153142],[102.861932,33.153235],[102.862139,33.153353],[102.862346,33.153449],[102.862383,33.153511],[102.862355,33.153554],[102.862262,33.153572],[102.862172,33.153568],[102.862053,33.153518],[102.861934,33.15344],[102.861797,33.153295],[102.861669,33.153154],[102.861592,33.153088],[102.861501,33.153072],[102.861445,33.153084],[102.861412,33.153129],[102.861378,33.153225],[102.86138,33.153301],[102.861445,33.153399],[102.861568,33.153538],[102.861669,33.153586],[102.861786,33.153597],[102.861951,33.153617],[102.862159,33.153744],[102.862241,33.153789],[102.862326,33.153777],[102.862478,33.153719],[102.862541,33.153721],[102.862582,33.153802],[102.86254,33.153853],[102.86244,33.153904],[102.862327,33.153945],[102.86223,33.153974],[102.8622,33.154043],[102.862199,33.154105],[102.862288,33.154155],[102.862377,33.154192],[102.862501,33.154205],[102.862604,33.154185],[102.862698,33.154113],[102.862897,33.153876],[102.86303,33.153675],[102.863146,33.153478],[102.863233,33.153429],[102.863339,33.153423],[102.863418,33.153405],[102.863483,33.153358],[102.863523,33.153372],[102.863529,33.153375],[102.863801,33.153472],[102.863919,33.153772],[102.864053,33.154249],[102.864187,33.15476],[102.864531,33.155241],[102.864896,33.155651],[102.865472,33.156047],[102.86569,33.156508],[102.865764,33.156895],[102.865664,33.157596],[102.86563,33.158123],[102.865555,33.158631],[102.865422,33.158975],[102.865406,33.159015],[102.865324,33.159033],[102.865248,33.159128],[102.865281,33.159241],[102.865596,33.159537],[102.865897,33.159707],[102.865913,33.159812],[102.865844,33.159867],[102.865668,33.15994],[102.865293,33.159982],[102.865059,33.159868],[102.864926,33.159835],[102.8648,33.159867],[102.864647,33.159967],[102.864519,33.159978],[102.864448,33.159918],[102.864468,33.159805],[102.864648,33.159691],[102.864819,33.159546],[102.86477,33.159426],[102.864538,33.159352],[102.864366,33.159369],[102.864263,33.159523],[102.864195,33.159734],[102.864172,33.159927],[102.864097,33.15993],[102.864087,33.15993],[102.864074,33.159931],[102.863895,33.159937],[102.863574,33.160248],[102.863502,33.160633],[102.863574,33.161108],[102.863879,33.161447],[102.864355,33.161631],[102.864754,33.161533],[102.864783,33.161509],[102.864873,33.161516],[102.864999,33.161521],[102.86525,33.161519],[102.865401,33.161506],[102.865589,33.161469],[102.865705,33.161424],[102.865759,33.16138],[102.865898,33.161269],[102.865943,33.161156],[102.865944,33.161058],[102.866143,33.161082],[102.866454,33.161227],[102.866535,33.161265],[102.86663,33.16167],[102.866684,33.162022],[102.866571,33.16213],[102.866565,33.162137],[102.866534,33.162126],[102.866468,33.162123],[102.866373,33.162138],[102.866243,33.162176],[102.866144,33.162241],[102.866104,33.162299],[102.866091,33.162355],[102.86609,33.162408],[102.866102,33.162461],[102.866124,33.162507],[102.866115,33.162514],[102.865747,33.162779],[102.865361,33.163177],[102.865602,33.163567],[102.866019,33.163627],[102.866049,33.163623],[102.866067,33.16362],[102.866087,33.163638],[102.866129,33.163664],[102.866189,33.163679],[102.866274,33.163688],[102.866401,33.163689],[102.86647,33.163684],[102.866604,33.163657],[102.866747,33.163615],[102.866805,33.163586],[102.866848,33.163563],[102.867022,33.163591],[102.86706,33.16375],[102.866885,33.164063],[102.866586,33.164357],[102.865868,33.164661],[102.865665,33.164893],[102.865616,33.16495],[102.86546,33.165128],[102.865702,33.165501],[102.866131,33.165877],[102.866544,33.166939],[102.86676,33.167373],[102.866764,33.167381],[102.866766,33.167386],[102.866786,33.167427],[102.866659,33.167582],[102.866645,33.167692],[102.866774,33.167739],[102.867033,33.167719],[102.867305,33.167618],[102.867519,33.167525],[102.86762,33.167553],[102.86763,33.167738],[102.8675,33.167968],[102.867306,33.168085],[102.86713,33.168122],[102.866879,33.16811],[102.866426,33.167984],[102.866066,33.167791],[102.865703,33.16752],[102.865508,33.167464],[102.865339,33.167433],[102.864892,33.167447],[102.864819,33.167533],[102.864747,33.167748],[102.864756,33.167881],[102.864866,33.168042],[102.864779,33.168146],[102.864555,33.168273],[102.864278,33.168436],[102.864056,33.168472],[102.863676,33.168258],[102.863466,33.168173],[102.863342,33.168191],[102.86317,33.168344],[102.86302,33.168427],[102.862941,33.168382],[102.862874,33.168211],[102.862836,33.167979],[102.862764,33.167736],[102.86265,33.167623],[102.862477,33.167608],[102.862307,33.167643],[102.862227,33.167727],[102.862176,33.167832],[102.862188,33.167935],[102.862212,33.168096],[102.862176,33.168216],[102.862051,33.168323],[102.861926,33.168373],[102.861776,33.168376],[102.861677,33.168331],[102.861593,33.168154],[102.861512,33.168096],[102.861444,33.168095],[102.861402,33.168229],[102.861505,33.168555],[102.861583,33.168773],[102.861749,33.168787],[102.862067,33.168776],[102.862206,33.168813],[102.862234,33.168919],[102.862153,33.169042],[102.861936,33.169123],[102.861687,33.169168],[102.861351,33.169146],[102.861059,33.16906],[102.860881,33.168954],[102.860573,33.16873],[102.860453,33.168635],[102.860316,33.168625],[102.860218,33.168672],[102.860066,33.168801],[102.859907,33.168838],[102.859743,33.168882],[102.859713,33.168954],[102.859809,33.169103],[102.860098,33.169344],[102.860249,33.169469],[102.860213,33.169551],[102.860084,33.169589],[102.859929,33.169577],[102.859826,33.169508],[102.859616,33.169344],[102.859416,33.169167],[102.859409,33.169194],[102.859404,33.169211],[102.8594,33.169228],[102.859343,33.169437],[102.859239,33.169561],[102.859056,33.169544],[102.858712,33.169257],[102.858524,33.168762],[102.858248,33.16842],[102.857959,33.167952],[102.857931,33.167917],[102.857922,33.167907],[102.857972,33.167881],[102.858029,33.167835],[102.858095,33.167748],[102.858135,33.167654],[102.858139,33.16759],[102.85813,33.167542],[102.858114,33.167501],[102.858093,33.167467],[102.858071,33.167444],[102.858038,33.16743],[102.857942,33.167426],[102.857857,33.167432],[102.857825,33.16744],[102.857799,33.167465],[102.857777,33.16751],[102.857736,33.167605],[102.857718,33.167656],[102.857711,33.167647],[102.857643,33.167564],[102.857122,33.166926],[102.8571,33.166922],[102.857076,33.166912],[102.857051,33.166896],[102.857039,33.166879],[102.85703,33.166857],[102.857034,33.166819],[102.857039,33.166796],[102.85706,33.16675],[102.857104,33.166699],[102.857175,33.166641],[102.857276,33.166588],[102.857307,33.166574],[102.857309,33.166554],[102.857302,33.166535],[102.857291,33.166525],[102.857284,33.166519],[102.857252,33.166501],[102.857208,33.166477],[102.857132,33.16644],[102.85696,33.166411],[102.856906,33.166414],[102.856868,33.166425],[102.856835,33.166424],[102.85679,33.166425],[102.856746,33.166441],[102.856711,33.166475],[102.856688,33.166519],[102.856692,33.166568],[102.856691,33.166602],[102.856673,33.166599],[102.856625,33.166589],[102.8566,33.166584],[102.85634,33.166533],[102.855953,33.166653],[102.85588,33.166919],[102.855957,33.167187],[102.856167,33.167472],[102.856597,33.167662],[102.856908,33.167892],[102.856943,33.168003],[102.856966,33.168075],[102.856987,33.168142],[102.856926,33.16813],[102.856884,33.168128],[102.856872,33.168127],[102.856856,33.168134],[102.856843,33.168161],[102.85684,33.168189],[102.856841,33.168213],[102.85685,33.168257],[102.85686,33.168311],[102.856863,33.168345],[102.856859,33.168364],[102.856843,33.168379],[102.85681,33.168398],[102.85676,33.168403],[102.856693,33.168403],[102.856622,33.168396],[102.856574,33.168388],[102.856517,33.168351],[102.856489,33.168322],[102.856458,33.168259],[102.856444,33.168215],[102.856441,33.168165],[102.856449,33.168129],[102.856521,33.167951],[102.856551,33.167918],[102.856582,33.167874],[102.856595,33.167834],[102.856603,33.167797],[102.856603,33.167773],[102.856599,33.167758],[102.856592,33.167748],[102.856569,33.167743],[102.856545,33.167745],[102.8565,33.16775],[102.856354,33.167807],[102.856333,33.167814],[102.856278,33.167848],[102.856262,33.167865],[102.856256,33.167881],[102.856258,33.167899],[102.856292,33.167954],[102.856306,33.167983],[102.856312,33.168014],[102.856313,33.168053],[102.856313,33.168071],[102.856309,33.168124],[102.85632,33.16818],[102.856335,33.168224],[102.856349,33.168261],[102.856368,33.1683],[102.856373,33.16831],[102.856379,33.168347],[102.856378,33.16838],[102.856371,33.168405],[102.856354,33.168429],[102.856326,33.168455],[102.856297,33.168464],[102.856263,33.168472],[102.856219,33.168475],[102.85618,33.168471],[102.856149,33.168464],[102.856094,33.168422],[102.856034,33.168371],[102.856021,33.168364],[102.856004,33.168361],[102.855992,33.168367],[102.855983,33.168388],[102.855949,33.168487],[102.85587,33.168433],[102.855857,33.168446],[102.855838,33.168458],[102.855817,33.168462],[102.855788,33.168459],[102.855756,33.168447],[102.855734,33.168435],[102.85572,33.168431],[102.855609,33.168429],[102.855538,33.16843],[102.855463,33.168429],[102.855406,33.168438],[102.855371,33.168453],[102.855337,33.168482],[102.85532,33.16852],[102.855319,33.168555],[102.855329,33.168594],[102.855358,33.168637],[102.855403,33.168671],[102.855457,33.168681],[102.855518,33.168681],[102.855547,33.168681],[102.855583,33.168693],[102.855594,33.168696],[102.855595,33.168758],[102.855513,33.168811],[102.855466,33.168844],[102.855409,33.168881],[102.855308,33.16893],[102.855245,33.168964],[102.855212,33.168993],[102.855192,33.169022],[102.855186,33.169059],[102.855195,33.169088],[102.85521,33.169108],[102.855252,33.169131],[102.855296,33.169159],[102.855341,33.169185],[102.855382,33.169193],[102.855413,33.16919],[102.855477,33.169174],[102.855521,33.16917],[102.855528,33.169169],[102.855675,33.169172],[102.855712,33.169172],[102.855764,33.169166],[102.85581,33.169145],[102.855842,33.169141],[102.855865,33.169169],[102.855874,33.169204],[102.85589,33.169255],[102.855918,33.169305],[102.855948,33.16934],[102.85598,33.169407],[102.855999,33.169492],[102.856027,33.169536],[102.856061,33.169569],[102.856104,33.169579],[102.856156,33.169578],[102.856212,33.16957],[102.856246,33.16956],[102.856274,33.169541],[102.856326,33.169505],[102.856363,33.169483],[102.856448,33.169426],[102.856501,33.169407],[102.856552,33.169407],[102.856612,33.169411],[102.856653,33.16942],[102.856692,33.169455],[102.856706,33.169484],[102.856704,33.169532],[102.856683,33.169562],[102.856641,33.169596],[102.856597,33.169639],[102.856585,33.169674],[102.856589,33.169718],[102.856601,33.169763],[102.856625,33.169799],[102.856671,33.169839],[102.856709,33.169865],[102.856788,33.169907],[102.856839,33.16992],[102.856891,33.169935],[102.856928,33.169946],[102.856944,33.169959],[102.856947,33.169976],[102.856942,33.169997],[102.856916,33.170026],[102.856879,33.170054],[102.856835,33.170071],[102.856783,33.170071],[102.856735,33.170068],[102.856697,33.17006],[102.85666,33.170041],[102.856613,33.170009],[102.856572,33.169987],[102.85653,33.169983],[102.856442,33.169986],[102.856364,33.170004],[102.856315,33.170021],[102.85626,33.170055],[102.856233,33.170104],[102.856207,33.170157],[102.856186,33.17017],[102.856143,33.170184],[102.856097,33.170204],[102.856064,33.170227],[102.856049,33.170249],[102.85605,33.170283],[102.856063,33.170315],[102.85609,33.170345],[102.856108,33.17036],[102.856173,33.170398],[102.856287,33.17043],[102.856386,33.170435],[102.856585,33.170469],[102.856712,33.170487],[102.856807,33.170497],[102.856898,33.17051],[102.85694,33.170544],[102.856957,33.170575],[102.856962,33.170616],[102.856962,33.170674],[102.856957,33.170714],[102.856938,33.170765],[102.856924,33.170825],[102.856924,33.170884],[102.856935,33.170937],[102.856946,33.170997],[102.856957,33.17105],[102.85694,33.171077],[102.856903,33.171114],[102.856845,33.171171],[102.856805,33.171211],[102.856777,33.171246],[102.856779,33.171275],[102.856786,33.171303],[102.856801,33.171337],[102.856807,33.171369],[102.856807,33.171396],[102.85679,33.171408],[102.856761,33.171403],[102.856675,33.171325],[102.856601,33.171244],[102.856562,33.171184],[102.856514,33.17112],[102.856492,33.171103],[102.856459,33.171087],[102.85643,33.17108],[102.856393,33.17108],[102.856363,33.171088],[102.856339,33.171101],[102.856314,33.171125],[102.856312,33.171128],[102.856289,33.171179],[102.85628,33.171261],[102.856287,33.171378],[102.85631,33.171476],[102.85633,33.171511],[102.856336,33.171525],[102.856337,33.171558],[102.856331,33.171578],[102.856317,33.171582],[102.856267,33.171576],[102.85629,33.17162],[102.856245,33.171608],[102.85606,33.171533],[102.856043,33.171431],[102.856113,33.171284],[102.856257,33.170989],[102.856186,33.170805],[102.856081,33.170778],[102.855947,33.17082],[102.855806,33.170955],[102.855686,33.171148],[102.855636,33.171369],[102.855642,33.171499],[102.855575,33.171539],[102.855532,33.171497],[102.855523,33.171488],[102.855469,33.171435],[102.855461,33.171429],[102.855157,33.171219],[102.855041,33.171202],[102.855005,33.171286],[102.854901,33.171467],[102.854511,33.171713],[102.854437,33.171779],[102.854426,33.171789],[102.85433,33.171874],[102.854049,33.172126],[102.853644,33.17233],[102.852718,33.172623],[102.85213,33.172768],[102.852044,33.172905],[102.852058,33.172935],[102.852073,33.172976],[102.852082,33.173006],[102.852099,33.173051],[102.85214,33.173095],[102.852192,33.173125],[102.852237,33.173137],[102.852301,33.173148],[102.852331,33.173199],[102.852582,33.173393],[102.852959,33.173695],[102.853418,33.174068],[102.853463,33.174094],[102.85351,33.174122],[102.853906,33.173709],[102.854238,33.173342],[102.854302,33.173219],[102.854332,33.173127],[102.85435,33.172652],[102.854404,33.172652],[102.854494,33.172654],[102.854534,33.17279],[102.854684,33.172877],[102.855221,33.172888],[102.855663,33.172954],[102.856086,33.173109],[102.856217,33.17329],[102.856137,33.173504],[102.855868,33.173689],[102.855719,33.173823],[102.855707,33.17396],[102.855776,33.174117],[102.85594,33.174207],[102.856179,33.174188],[102.856328,33.173994],[102.856494,33.173635],[102.856714,33.173269],[102.857016,33.173076],[102.857299,33.173132],[102.857395,33.173369],[102.857242,33.173623],[102.856968,33.173815],[102.856708,33.174051],[102.856567,33.174424],[102.856441,33.174547],[102.856024,33.174698],[102.855619,33.174788],[102.855425,33.17492],[102.855369,33.175146],[102.855541,33.175322],[102.856057,33.175644],[102.856167,33.175862],[102.856038,33.176036],[102.855606,33.176157],[102.855556,33.176287],[102.855665,33.176531],[102.855851,33.176542],[102.856289,33.176468],[102.856598,33.176491],[102.856723,33.176825],[102.85676,33.177042],[102.856698,33.177297],[102.856483,33.177428],[102.856151,33.177578],[102.855763,33.177666],[102.855164,33.177819],[102.854894,33.177926],[102.854849,33.178117],[102.854903,33.178352],[102.855138,33.178474],[102.855364,33.178674],[102.855804,33.179088],[102.856238,33.17942],[102.856454,33.179801],[102.856415,33.179975],[102.85608,33.18014],[102.855702,33.180375],[102.855445,33.180412],[102.855288,33.180313],[102.855175,33.180115],[102.8552,33.179943],[102.855286,33.179729],[102.855208,33.179613],[102.855038,33.179555],[102.854861,33.17962],[102.854819,33.179859],[102.854888,33.180189],[102.854971,33.180526],[102.854965,33.180722],[102.85484,33.180846],[102.854603,33.180874],[102.854372,33.180787],[102.854121,33.18066],[102.854027,33.180679],[102.853948,33.180836],[102.853887,33.181026],[102.853915,33.181135],[102.854056,33.181274],[102.854435,33.181477],[102.854627,33.181643],[102.854615,33.181885],[102.854597,33.182196],[102.854584,33.182508],[102.854372,33.182789],[102.85431,33.183057],[102.854236,33.183283],[102.854177,33.183334],[102.854064,33.183327],[102.853893,33.183215],[102.853636,33.182961],[102.853336,33.182695],[102.853154,33.182295],[102.853024,33.181977],[102.852848,33.181963],[102.852663,33.182093],[102.852549,33.182296],[102.852552,33.182487],[102.852691,33.18277],[102.852761,33.183031],[102.852804,33.18326],[102.852919,33.183342],[102.85319,33.183439],[102.853239,33.183504],[102.853136,33.183586],[102.852772,33.18371],[102.852448,33.183722],[102.85214,33.183616],[102.852051,33.18333],[102.851944,33.182979],[102.851841,33.182918],[102.851651,33.183053],[102.851108,33.18347],[102.850898,33.183715],[102.850819,33.183976],[102.851029,33.184095],[102.851538,33.184096],[102.852272,33.184126],[102.85259,33.184497],[102.852927,33.185096],[102.853149,33.185151],[102.853271,33.185035],[102.853386,33.184747],[102.853548,33.184514],[102.853971,33.184332],[102.854266,33.184372],[102.854544,33.184654],[102.854868,33.18493],[102.855164,33.185104],[102.85541,33.185052],[102.855977,33.184947],[102.856161,33.185002],[102.856193,33.185223],[102.856055,33.18546],[102.855861,33.185676],[102.855846,33.185837],[102.856065,33.185865],[102.856291,33.185584],[102.856502,33.185369],[102.856712,33.185359],[102.856835,33.185578],[102.856954,33.186002],[102.85706,33.186716],[102.857127,33.186833],[102.857288,33.186878],[102.857428,33.186812],[102.857578,33.186476],[102.857712,33.186129],[102.857964,33.186082],[102.858294,33.186339],[102.858553,33.186566],[102.858638,33.186848],[102.858746,33.187039],[102.858977,33.18702],[102.859235,33.186823],[102.859393,33.18688],[102.859741,33.187323],[102.860062,33.187779],[102.860288,33.188138],[102.860301,33.188496],[102.860373,33.188691],[102.860739,33.18882],[102.861396,33.188919],[102.861854,33.189231],[102.862218,33.189396],[102.862522,33.189389],[102.862897,33.189376],[102.863164,33.189458],[102.863532,33.189559],[102.863676,33.189272],[102.863892,33.189149],[102.864033,33.189344],[102.863899,33.18961],[102.863689,33.189923],[102.863695,33.190473],[102.863618,33.190695],[102.863271,33.190752],[102.86302,33.190831],[102.862945,33.190957],[102.863189,33.191131],[102.863653,33.19119],[102.864031,33.191048],[102.864323,33.19085],[102.864723,33.19076],[102.86515,33.19083],[102.865354,33.191015],[102.865437,33.191342],[102.865572,33.191543],[102.865916,33.191681],[102.866537,33.191707],[102.866913,33.191579],[102.867118,33.191274],[102.867154,33.190942],[102.866997,33.19073],[102.866556,33.190579],[102.866222,33.190423],[102.865726,33.190372],[102.865304,33.19031],[102.865188,33.190118],[102.865233,33.189854],[102.865637,33.18949],[102.866046,33.189096],[102.866163,33.188845],[102.866085,33.188669],[102.865865,33.188487],[102.86585,33.188391],[102.866066,33.188317],[102.866306,33.188392],[102.8669,33.188803],[102.867363,33.189134],[102.867759,33.18938],[102.868,33.189369],[102.868087,33.189224],[102.868062,33.188988],[102.867732,33.188688],[102.867612,33.188564],[102.867667,33.188406],[102.867978,33.188293],[102.868247,33.188182],[102.868295,33.188021],[102.868124,33.187929],[102.86795,33.187698],[102.867821,33.187109],[102.867654,33.18676],[102.867559,33.186512],[102.867636,33.186342],[102.867811,33.186257],[102.868261,33.186406],[102.868873,33.186657],[102.868996,33.186802],[102.86901,33.186978],[102.869012,33.187142],[102.869186,33.187254],[102.869403,33.187321],[102.869645,33.187264],[102.869943,33.187205],[102.870056,33.187295],[102.870022,33.187494],[102.869847,33.187687],[102.869735,33.187858],[102.869765,33.188021],[102.869903,33.188075],[102.870106,33.187997],[102.87034,33.187774],[102.870545,33.187568],[102.870774,33.18752],[102.870958,33.187566],[102.871106,33.187748],[102.871219,33.187862],[102.871402,33.187851],[102.871574,33.187525],[102.871766,33.187247],[102.872046,33.187197],[102.872172,33.187269],[102.872207,33.187451],[102.872124,33.187605],[102.872107,33.187895],[102.872055,33.188207],[102.872009,33.188515],[102.872182,33.188655],[102.872397,33.188704],[102.872461,33.188719],[102.872783,33.188895],[102.87286,33.188897],[102.873122,33.188904],[102.873336,33.188737],[102.87347,33.188385],[102.873641,33.188082],[102.873879,33.188068],[102.874013,33.188298],[102.873936,33.188647],[102.873724,33.189367],[102.873707,33.189662],[102.873812,33.189904],[102.874092,33.189954],[102.874436,33.189882],[102.874778,33.189949],[102.874902,33.190154],[102.874874,33.190339],[102.874562,33.19054],[102.874168,33.190886],[102.873756,33.19115],[102.87376,33.191274],[102.873942,33.191373],[102.874351,33.191556],[102.874508,33.191868],[102.874645,33.19205],[102.875228,33.19206],[102.875511,33.192157],[102.875701,33.192389],[102.875536,33.192611],[102.875157,33.192781],[102.874901,33.192999],[102.874933,33.193129],[102.875286,33.1932],[102.875919,33.193122],[102.87614,33.192925],[102.876395,33.192531],[102.876719,33.192525],[102.876817,33.192882],[102.876812,33.193258],[102.877043,33.193372],[102.877263,33.1933],[102.877451,33.192989],[102.877415,33.19263],[102.877449,33.192332],[102.877707,33.192285],[102.877897,33.192712],[102.877772,33.193017],[102.877537,33.19345],[102.877164,33.193916],[102.876879,33.194242],[102.876882,33.194419],[102.877191,33.194468],[102.877701,33.194402],[102.878099,33.194368],[102.878267,33.19459],[102.878249,33.194794],[102.877983,33.19503],[102.877598,33.195196],[102.87714,33.195287],[102.876999,33.195394],[102.877035,33.195574],[102.877286,33.195692],[102.87745,33.1958],[102.877485,33.195929],[102.877387,33.196029],[102.877212,33.196114],[102.877071,33.196216],[102.877068,33.196344],[102.877256,33.196444],[102.877707,33.196482],[102.878042,33.196635],[102.878419,33.197029],[102.878504,33.197386],[102.878398,33.197604],[102.878233,33.197725],[102.877974,33.197868],[102.877907,33.198012],[102.878042,33.198175],[102.878364,33.198178],[102.879058,33.198093],[102.879687,33.198165],[102.879742,33.198317],[102.87966,33.198478],[102.879259,33.19879],[102.879215,33.19896],[102.879372,33.199172],[102.879953,33.199189],[102.880336,33.199244],[102.880946,33.19957],[102.881179,33.199804],[102.881181,33.19999],[102.881012,33.200122],[102.880801,33.20031],[102.88065,33.2005],[102.880722,33.200646],[102.880923,33.200765],[102.881327,33.200729],[102.881942,33.200578],[102.882119,33.200652],[102.882102,33.200846],[102.881928,33.20102],[102.881786,33.201224],[102.881844,33.201388],[102.882159,33.20152],[102.882604,33.201581],[102.882693,33.201699],[102.882907,33.201918],[102.883051,33.202162],[102.883038,33.202385],[102.882941,33.2026],[102.88274,33.202735],[102.882372,33.202846],[102.881961,33.2029],[102.881688,33.202817],[102.881583,33.202584],[102.881501,33.202238],[102.881393,33.202143],[102.881229,33.202132],[102.880979,33.202245],[102.880859,33.202455],[102.880912,33.202619],[102.881126,33.202932],[102.881335,33.203136],[102.881566,33.20326],[102.881841,33.2034],[102.881906,33.203546],[102.881774,33.203669],[102.881377,33.203707],[102.881129,33.20364],[102.88073,33.203266],[102.880498,33.20312],[102.880336,33.203098],[102.880178,33.203187],[102.88006,33.203396],[102.879948,33.20361],[102.879794,33.203701],[102.879562,33.203741],[102.879305,33.203841],[102.879244,33.204007],[102.879455,33.204408],[102.879752,33.204771],[102.880229,33.204905],[102.88027,33.205071],[102.880021,33.205196],[102.879562,33.205345],[102.879447,33.205494],[102.879475,33.205672],[102.880042,33.205948],[102.880437,33.206174],[102.880653,33.206459],[102.880786,33.206708],[102.88097,33.206753],[102.881599,33.20656],[102.881807,33.206692],[102.882021,33.207197],[102.882086,33.207533],[102.881954,33.207666],[102.88177,33.207706],[102.88148,33.207627],[102.880866,33.207459],[102.880327,33.207389],[102.879435,33.207332],[102.878863,33.207368],[102.878347,33.207519],[102.878146,33.207542],[102.878058,33.207389],[102.878141,33.207131],[102.87815,33.206971],[102.877948,33.206934],[102.877598,33.20697],[102.877276,33.207013],[102.876899,33.207062],[102.876816,33.207255],[102.876904,33.207495],[102.877028,33.207618],[102.877392,33.208067],[102.877455,33.208384],[102.877327,33.208604],[102.877053,33.208925],[102.876723,33.209343],[102.876555,33.20959],[102.876614,33.209746],[102.877007,33.209719],[102.877352,33.20954],[102.877606,33.20926],[102.87784,33.208646],[102.878047,33.208411],[102.87839,33.208345],[102.878707,33.208739],[102.878609,33.209555],[102.878665,33.210143],[102.878486,33.210202],[102.878036,33.210041],[102.877638,33.210067],[102.87749,33.210271],[102.877402,33.21071],[102.877371,33.211157],[102.877482,33.211476],[102.877831,33.211528],[102.87822,33.211259],[102.878891,33.210734],[102.879219,33.210952],[102.879335,33.211228],[102.879264,33.211475],[102.878795,33.211747],[102.878261,33.211904],[102.877611,33.211889],[102.876957,33.211928],[102.876879,33.212038],[102.876911,33.212229],[102.87745,33.212346],[102.878098,33.212251],[102.878578,33.212178],[102.878935,33.212246],[102.879453,33.212491],[102.879793,33.212787],[102.879963,33.213079],[102.879914,33.213325],[102.879743,33.213542],[102.879436,33.213658],[102.878894,33.213612],[102.878588,33.213428],[102.87789,33.21295],[102.87759,33.212991],[102.877485,33.213115],[102.87748,33.213354],[102.877595,33.213788],[102.877638,33.214136],[102.877576,33.214323],[102.877072,33.214298],[102.876716,33.214141],[102.876528,33.213858],[102.876565,33.213449],[102.876725,33.213034],[102.876722,33.212873],[102.876289,33.212859],[102.876145,33.213003],[102.876081,33.213211],[102.876195,33.213451],[102.876171,33.213722],[102.876054,33.214189],[102.875865,33.214363],[102.875557,33.214765],[102.875677,33.214959],[102.876039,33.214946],[102.876602,33.214694],[102.876906,33.21466],[102.877047,33.214934],[102.876838,33.215236],[102.876453,33.215431],[102.87584,33.215588],[102.87548,33.215566],[102.875188,33.215411],[102.874663,33.214707],[102.874311,33.214335],[102.874007,33.214233],[102.873825,33.214297],[102.873742,33.214479],[102.873798,33.214896],[102.874043,33.215262],[102.87456,33.215623],[102.875222,33.215942],[102.875718,33.215945],[102.876598,33.215851],[102.876764,33.21598],[102.876791,33.216186],[102.876742,33.21636],[102.876501,33.216491],[102.876018,33.216626],[102.875401,33.216764],[102.87527,33.216943],[102.87526,33.217109],[102.875468,33.217255],[102.875901,33.217478],[102.876438,33.217628],[102.876517,33.21763],[102.876919,33.217639],[102.877422,33.217525],[102.878134,33.217403],[102.878452,33.217475],[102.878655,33.217627],[102.878813,33.21783],[102.878788,33.218144],[102.878636,33.218257],[102.878276,33.218302],[102.877835,33.218388],[102.877646,33.218529],[102.877591,33.218741],[102.87769,33.218967],[102.878208,33.219444],[102.878635,33.219896],[102.878605,33.220041],[102.878397,33.220148],[102.878032,33.220276],[102.877952,33.220433],[102.878093,33.220621],[102.878608,33.220927],[102.879037,33.221043],[102.879335,33.220916],[102.879482,33.220651],[102.87951,33.220405],[102.879434,33.220021],[102.879404,33.219671],[102.879485,33.219508],[102.879722,33.219436],[102.880109,33.219437],[102.880335,33.219572],[102.880419,33.219811],[102.880538,33.220309],[102.880496,33.220597],[102.880425,33.22094],[102.880412,33.221079],[102.88056,33.221167],[102.880773,33.221087],[102.880946,33.220894],[102.881144,33.220709],[102.881418,33.220599],[102.881724,33.220602],[102.882309,33.220678],[102.882516,33.220616],[102.882813,33.22048],[102.883136,33.220489],[102.883571,33.220592],[102.883763,33.220655],[102.884003,33.220622],[102.884236,33.22061],[102.884372,33.220649],[102.884458,33.220786],[102.884507,33.220964],[102.884587,33.221201],[102.884615,33.221397],[102.884611,33.221624],[102.884594,33.222066],[102.88469,33.222463],[102.884879,33.222571],[102.885279,33.222559],[102.885777,33.222554],[102.885982,33.22267],[102.88598,33.222849],[102.88569,33.223094],[102.885317,33.223368],[102.885301,33.223496],[102.885456,33.223606],[102.885738,33.223582],[102.886025,33.223404],[102.886486,33.222829],[102.886929,33.222156],[102.887182,33.222059],[102.88735,33.222165],[102.887351,33.222323],[102.887083,33.223284],[102.886881,33.224173],[102.886656,33.224978],[102.886652,33.225178],[102.886773,33.225222],[102.887335,33.224988],[102.887719,33.22489],[102.88793,33.224916],[102.888442,33.225208],[102.888722,33.225427],[102.888766,33.225625],[102.88868,33.225783],[102.888423,33.226394],[102.888141,33.227232],[102.887977,33.227336],[102.887689,33.227256],[102.887502,33.227143],[102.886993,33.22674],[102.886835,33.226434],[102.886748,33.225892],[102.886656,33.225617],[102.88636,33.225543],[102.886035,33.225567],[102.885743,33.225722],[102.885578,33.225929],[102.885606,33.226216],[102.885872,33.226623],[102.886061,33.226983],[102.886162,33.227884],[102.886237,33.228639],[102.886503,33.228746],[102.886771,33.228909],[102.88681,33.229111],[102.88671,33.229269],[102.886361,33.229416],[102.885909,33.229402],[102.884948,33.229353],[102.884144,33.229267],[102.883596,33.229144],[102.883219,33.22881],[102.882999,33.228686],[102.882816,33.228726],[102.88273,33.229128],[102.882805,33.229593],[102.883041,33.230494],[102.883432,33.230886],[102.883645,33.230958],[102.8839,33.230826],[102.88417,33.230331],[102.884403,33.229662],[102.884605,33.229554],[102.884872,33.22964],[102.885304,33.229768],[102.885683,33.229834],[102.886169,33.229821],[102.886355,33.22985],[102.886318,33.23],[102.886141,33.230177],[102.885533,33.230879],[102.885255,33.231377],[102.88518,33.231593],[102.885261,33.231703],[102.885497,33.231744],[102.885966,33.23162],[102.886469,33.231435],[102.886753,33.231426],[102.88693,33.231496],[102.887065,33.231665],[102.887173,33.231934],[102.887334,33.232467],[102.887353,33.232666],[102.887254,33.232817],[102.887074,33.232833],[102.88683,33.232844],[102.886515,33.232891],[102.886205,33.232957],[102.886112,33.233058],[102.886143,33.233207],[102.886338,33.233358],[102.886677,33.233472],[102.88697,33.23345],[102.887288,33.233387],[102.887654,33.233339],[102.888415,33.233116],[102.889023,33.232847],[102.889106,33.232582],[102.889187,33.232291],[102.889355,33.232205],[102.889523,33.232236],[102.889832,33.232529],[102.890171,33.232977],[102.890233,33.233132],[102.89004,33.233276],[102.889766,33.233494],[102.889417,33.233794],[102.888742,33.234203],[102.888388,33.234381],[102.888307,33.234524],[102.888403,33.234632],[102.888722,33.234691],[102.889308,33.23478],[102.889447,33.234878],[102.889469,33.235083],[102.889301,33.235258],[102.888952,33.235426],[102.888621,33.235487],[102.888223,33.235521],[102.887839,33.235474],[102.887152,33.235156],[102.886755,33.234968],[102.886697,33.234862],[102.886779,33.234708],[102.886945,33.234411],[102.886993,33.234245],[102.886818,33.234178],[102.886645,33.234228],[102.886336,33.234504],[102.886005,33.234933],[102.885894,33.235239],[102.88575,33.235887],[102.885654,33.235997],[102.885538,33.236025],[102.885424,33.235934],[102.885224,33.235722],[102.885037,33.235579],[102.884805,33.235541],[102.884645,33.235591],[102.884464,33.235773],[102.884382,33.236088],[102.884376,33.236331],[102.884594,33.236461],[102.885068,33.236788],[102.885294,33.237065],[102.885354,33.237343],[102.885254,33.237528],[102.885069,33.23768],[102.884622,33.237852],[102.884345,33.23784],[102.883727,33.237662],[102.883055,33.237506],[102.882795,33.237591],[102.882744,33.237793],[102.88296,33.238079],[102.883384,33.238282],[102.884197,33.238521],[102.884537,33.238525],[102.884742,33.23831],[102.885012,33.238159],[102.88524,33.23813],[102.885324,33.238343],[102.885333,33.238752],[102.885351,33.239348],[102.88529,33.239803],[102.88507,33.239879],[102.884398,33.239742],[102.884024,33.239736],[102.883863,33.239882],[102.883846,33.240162],[102.884194,33.240336],[102.884848,33.240541],[102.885931,33.240851],[102.886625,33.241094],[102.886962,33.241286],[102.887068,33.241412],[102.887066,33.241559],[102.886971,33.241722],[102.886906,33.241905],[102.886872,33.242161],[102.886869,33.242297],[102.887023,33.242332],[102.88727,33.242238],[102.887805,33.24201],[102.888687,33.241701],[102.889379,33.241501],[102.889574,33.241516],[102.889703,33.241628],[102.889737,33.241851],[102.889561,33.242176],[102.88931,33.242391],[102.889041,33.242784],[102.889042,33.242905],[102.889181,33.243007],[102.889383,33.243044],[102.889892,33.24299],[102.890284,33.242971],[102.890503,33.243012],[102.890846,33.243211],[102.891113,33.243297],[102.891266,33.243225],[102.891251,33.243046],[102.89107,33.242802],[102.890757,33.242475],[102.890742,33.242299],[102.890848,33.242154],[102.891057,33.242077],[102.891472,33.242111],[102.892056,33.242296],[102.892356,33.242473],[102.892435,33.242723],[102.892283,33.243067],[102.891935,33.243422],[102.891163,33.24389],[102.890562,33.244241],[102.889853,33.244604],[102.889654,33.244733],[102.889557,33.244944],[102.889802,33.245114],[102.890317,33.2452],[102.890887,33.245127],[102.891293,33.244869],[102.891645,33.244558],[102.892258,33.244044],[102.892504,33.243968],[102.892716,33.243995],[102.893113,33.244172],[102.893426,33.244428],[102.893923,33.244959],[102.89429,33.245438],[102.894264,33.245594],[102.894022,33.245742],[102.893459,33.245776],[102.89241,33.245672],[102.892226,33.245703],[102.892149,33.245779],[102.892141,33.245979],[102.892439,33.24628],[102.892784,33.24648],[102.893311,33.246555],[102.893818,33.246548],[102.894883,33.246468],[102.895153,33.246499],[102.895398,33.24658],[102.89582,33.246931],[102.896192,33.247056],[102.896394,33.246997],[102.896449,33.246828],[102.896273,33.246549],[102.895895,33.246229],[102.895818,33.246078],[102.895906,33.245939],[102.896189,33.245865],[102.896799,33.245863],[102.897115,33.245915],[102.897341,33.246041],[102.897529,33.24623],[102.897822,33.246552],[102.898129,33.246865],[102.898144,33.24697],[102.897862,33.247193],[102.897746,33.24737],[102.89772,33.247506],[102.897828,33.247606],[102.89805,33.247686],[102.898386,33.247744],[102.899047,33.247929],[102.899276,33.248081],[102.899398,33.248322],[102.899431,33.248606],[102.899403,33.2491],[102.899288,33.249309],[102.898936,33.249619],[102.898817,33.249805],[102.898974,33.249935],[102.899372,33.250204],[102.899654,33.250625],[102.899824,33.251013],[102.899726,33.251142],[102.899016,33.251156],[102.898378,33.251233],[102.897627,33.251277],[102.897016,33.251388],[102.896725,33.251494],[102.896494,33.251712],[102.89637,33.251827],[102.896213,33.25182],[102.896089,33.25161],[102.895998,33.251345],[102.895913,33.250906],[102.895741,33.250662],[102.895498,33.250669],[102.895342,33.250815],[102.895287,33.251103],[102.895287,33.251499],[102.895229,33.251543],[102.895215,33.251553],[102.895108,33.251635],[102.895065,33.251667],[102.8946,33.252208],[102.894164,33.252633],[102.894157,33.252639],[102.894068,33.252726],[102.894085,33.252752],[102.894194,33.252928],[102.894255,33.253026],[102.895721,33.255386],[102.895736,33.255445],[102.895739,33.255484],[102.895741,33.255526],[102.895741,33.255564],[102.895732,33.255602],[102.895716,33.25565],[102.895714,33.25568],[102.895713,33.2557],[102.895726,33.255718],[102.895744,33.255718],[102.89575,33.255705],[102.895762,33.255691],[102.895771,33.255693],[102.895782,33.255703],[102.895788,33.25571],[102.895805,33.255748],[102.89583,33.255811],[102.895843,33.255845],[102.895863,33.255849],[102.895875,33.255844],[102.895879,33.255821],[102.895877,33.255776],[102.895862,33.25574],[102.895853,33.255707],[102.895852,33.25568],[102.895851,33.255654],[102.895862,33.255613],[102.896195,33.256149],[102.896639,33.256863],[102.896783,33.257095],[102.897857,33.258822],[102.918741,33.29242],[102.918913,33.292696],[102.918917,33.292834],[102.919007,33.292947],[102.919032,33.293128],[102.918998,33.293294],[102.918977,33.293403],[102.918996,33.293508],[102.919071,33.293562],[102.919194,33.293638],[102.91929,33.293746],[102.919345,33.29385],[102.919388,33.29395],[102.919384,33.294087],[102.919316,33.294215],[102.91927,33.294281],[102.919245,33.294396],[102.91929,33.294488],[102.919364,33.29455],[102.919532,33.29459],[102.919662,33.294607],[102.919821,33.294617],[102.919901,33.294644],[102.920008,33.294696],[102.920188,33.294747],[102.920341,33.29463],[102.920409,33.294639],[102.92046,33.294618],[102.920504,33.294597],[102.920524,33.294569],[102.920537,33.294543],[102.920567,33.294497],[102.920603,33.294483],[102.920786,33.294569],[102.921041,33.294573],[102.921283,33.294565],[102.921339,33.294614],[102.92125,33.294756],[102.920962,33.29493],[102.920874,33.295036],[102.920799,33.295032],[102.920757,33.295015],[102.920713,33.294983],[102.920685,33.294959],[102.920664,33.294929],[102.920652,33.294904],[102.920621,33.294895],[102.920584,33.294903],[102.920547,33.294919],[102.920524,33.294925],[102.920476,33.294921],[102.920443,33.294912],[102.92039,33.294918],[102.92035,33.294943],[102.920329,33.294973],[102.920226,33.295043],[102.920174,33.295158],[102.920147,33.295233],[102.9201,33.295312],[102.920066,33.295363],[102.920028,33.295426],[102.920021,33.295494],[102.920026,33.295557],[102.920055,33.295598],[102.920094,33.295609],[102.92021,33.295614],[102.920307,33.295606],[102.920416,33.29558],[102.920493,33.295573],[102.92057,33.295515],[102.92063,33.295457],[102.920666,33.295516],[102.92071,33.295589],[102.920946,33.295986],[102.921019,33.296109],[102.92084,33.296106],[102.920608,33.296102],[102.920377,33.296098],[102.920145,33.296095],[102.919913,33.296091],[102.919682,33.296087],[102.91945,33.296083],[102.919219,33.296079],[102.918987,33.296075],[102.918746,33.296088],[102.918506,33.2961],[102.918265,33.296112],[102.918024,33.296125],[102.917783,33.296137],[102.917542,33.296149],[102.917301,33.296161],[102.917061,33.296174],[102.91682,33.296186],[102.916666,33.296194],[102.916579,33.296198],[102.916338,33.296211],[102.916097,33.296223],[102.915841,33.296232],[102.915585,33.296242],[102.915329,33.296251],[102.915072,33.29626],[102.914816,33.29627],[102.91456,33.296279],[102.914303,33.296288],[102.914047,33.296297],[102.913791,33.296307],[102.913534,33.296316],[102.913278,33.296325],[102.913022,33.296335],[102.912766,33.296344],[102.912509,33.296353],[102.912253,33.296363],[102.911997,33.296372],[102.911729,33.296377],[102.911462,33.296381],[102.911195,33.296385],[102.910927,33.29639],[102.91066,33.296394],[102.910392,33.296399],[102.910125,33.296403],[102.909858,33.296408],[102.90959,33.296412],[102.909323,33.296417],[102.909065,33.296439],[102.908808,33.296462],[102.908486,33.296493],[102.908164,33.296524],[102.907886,33.296609],[102.907561,33.296751],[102.907552,33.296755],[102.907217,33.296902],[102.906998,33.297096],[102.906779,33.297289],[102.906645,33.297448],[102.906462,33.297587],[102.906278,33.297726],[102.906095,33.297866],[102.905912,33.298005],[102.905728,33.298144],[102.905545,33.298283],[102.905362,33.298422],[102.905178,33.298561],[102.904894,33.298843],[102.904609,33.299125],[102.904325,33.299407],[102.904115,33.299655],[102.903906,33.299902],[102.903742,33.30007],[102.903578,33.300238],[102.903381,33.300379],[102.903056,33.300553],[102.902731,33.300727],[102.902397,33.300855],[102.902063,33.300984],[102.901842,33.301061],[102.90162,33.301138],[102.901399,33.301215],[102.901178,33.301293],[102.900797,33.301404],[102.900416,33.301516],[102.900116,33.301566],[102.899838,33.301579],[102.899582,33.301539],[102.899347,33.301518],[102.898919,33.301493],[102.898585,33.301603],[102.898251,33.301713],[102.898056,33.30185],[102.89786,33.301988],[102.897664,33.302125],[102.897469,33.302263],[102.897273,33.3024],[102.897078,33.302538],[102.896903,33.302696],[102.896728,33.302854],[102.896553,33.303013],[102.896378,33.303171],[102.896203,33.30333],[102.896028,33.303488],[102.895853,33.303647],[102.895678,33.303805],[102.895483,33.303972],[102.895288,33.304138],[102.895093,33.304305],[102.894898,33.304471],[102.894703,33.304637],[102.894508,33.304804],[102.894212,33.305077],[102.893916,33.30535],[102.893763,33.305509],[102.893567,33.305684],[102.893349,33.305807],[102.893198,33.305857],[102.892907,33.305969],[102.892616,33.30608],[102.892337,33.306165],[102.892014,33.306215],[102.891725,33.306237],[102.891436,33.306258],[102.891007,33.306269],[102.890579,33.306279],[102.890354,33.306302],[102.89013,33.306326],[102.88984,33.306356],[102.88955,33.306387],[102.889388,33.306385],[102.889136,33.306343],[102.888883,33.3063],[102.888587,33.306231],[102.888291,33.306162],[102.88793,33.306061],[102.887568,33.30596],[102.887359,33.305848],[102.887149,33.305736],[102.886927,33.305643],[102.886705,33.30555],[102.886483,33.305456],[102.88626,33.305363],[102.886038,33.305269],[102.885816,33.305176],[102.885594,33.305082],[102.885371,33.304989],[102.885022,33.304839],[102.884829,33.304853],[102.88453,33.304884],[102.884206,33.304968],[102.884009,33.305163],[102.883766,33.305499],[102.883586,33.305882],[102.883405,33.306264],[102.883206,33.306584],[102.883006,33.30685],[102.882841,33.307053],[102.882676,33.307257],[102.882521,33.307443],[102.882367,33.307629],[102.882189,33.307904],[102.882011,33.308178],[102.881919,33.308462],[102.88185,33.308677],[102.88178,33.308892],[102.881676,33.309175],[102.881571,33.309458],[102.881455,33.309814],[102.881428,33.310066],[102.881442,33.310371],[102.881519,33.310696],[102.881566,33.310983],[102.881612,33.311271],[102.88165,33.311504],[102.881685,33.311847],[102.881719,33.312151],[102.881713,33.312402],[102.881707,33.312653],[102.881636,33.31294],[102.881566,33.31319],[102.881428,33.313598],[102.881326,33.313968],[102.881225,33.314337],[102.881123,33.314707],[102.881055,33.31495],[102.880988,33.315192],[102.88092,33.315435],[102.880853,33.315678],[102.880785,33.315921],[102.880718,33.316164],[102.88065,33.316406],[102.880583,33.316649],[102.880463,33.316898],[102.880343,33.317147],[102.880223,33.317396],[102.880103,33.317646],[102.879983,33.317895],[102.879863,33.318144],[102.879661,33.318517],[102.879419,33.318835],[102.879176,33.319154],[102.878903,33.319392],[102.878629,33.319629],[102.878304,33.319785],[102.878067,33.319871],[102.877679,33.319972],[102.877336,33.320012],[102.876993,33.320051],[102.876591,33.320052],[102.87619,33.320053],[102.876116,33.320053],[102.875867,33.320025],[102.875619,33.319996],[102.87537,33.319968],[102.875121,33.31994],[102.874872,33.319912],[102.874623,33.319884],[102.874353,33.319885],[102.874083,33.319886],[102.873813,33.319887],[102.873543,33.319888],[102.873147,33.31989],[102.872751,33.319892],[102.872386,33.319958],[102.872133,33.32003],[102.87188,33.320102],[102.871627,33.320174],[102.871374,33.320246],[102.871121,33.320317],[102.870868,33.320389],[102.870615,33.320461],[102.870362,33.320533],[102.870137,33.320602],[102.869913,33.320672],[102.869688,33.320741],[102.869464,33.320811],[102.869239,33.32088],[102.869015,33.32095],[102.868791,33.321019],[102.868566,33.321088],[102.868342,33.321158],[102.868117,33.321227],[102.867893,33.321297],[102.867668,33.321366],[102.867268,33.32142],[102.867031,33.321452],[102.866796,33.321448],[102.866561,33.321444],[102.866338,33.321378],[102.866115,33.321311],[102.865936,33.321164],[102.865757,33.321017],[102.865454,33.320725],[102.865151,33.320432],[102.864936,33.320272],[102.864721,33.320111],[102.864506,33.319951],[102.864291,33.31979],[102.864059,33.319643],[102.863828,33.319495],[102.863572,33.319455],[102.863316,33.319415],[102.863048,33.319354],[102.86278,33.319294],[102.862512,33.319234],[102.862244,33.319174],[102.861976,33.319114],[102.861708,33.319054],[102.86144,33.318993],[102.861172,33.318933],[102.860904,33.318873],[102.860636,33.318813],[102.860259,33.318641],[102.859882,33.318469],[102.859505,33.318297],[102.859092,33.318124],[102.858679,33.317951],[102.858266,33.317778],[102.857853,33.317605],[102.857639,33.317525],[102.857424,33.317445],[102.857209,33.317365],[102.856995,33.317285],[102.85678,33.317205],[102.856566,33.317125],[102.856351,33.317045],[102.856136,33.316965],[102.855892,33.316916],[102.855648,33.316866],[102.855351,33.316772],[102.855011,33.316641],[102.854652,33.316473],[102.854421,33.316272],[102.854171,33.316034],[102.854,33.315851],[102.85383,33.315669],[102.85366,33.315487],[102.85349,33.315304],[102.85332,33.315122],[102.853149,33.31494],[102.852878,33.314675],[102.852606,33.31441],[102.85233,33.314315],[102.851914,33.314281],[102.851498,33.314246],[102.851082,33.314212],[102.850683,33.314199],[102.850284,33.314186],[102.849885,33.314172],[102.849671,33.314222],[102.849498,33.314256],[102.849248,33.314404],[102.848998,33.314552],[102.848747,33.314763],[102.848496,33.314973],[102.848324,33.315025],[102.848217,33.31504],[102.847896,33.315035],[102.847661,33.315013],[102.847342,33.314935],[102.847096,33.314814],[102.846851,33.314694],[102.846605,33.314573],[102.84636,33.314452],[102.846114,33.314331],[102.845868,33.31421],[102.845623,33.314089],[102.845377,33.313969],[102.845153,33.313826],[102.84493,33.313683],[102.844706,33.31354],[102.844482,33.313397],[102.844258,33.313254],[102.844034,33.313112],[102.843811,33.312969],[102.843587,33.312826],[102.84337,33.312715],[102.843154,33.312603],[102.842938,33.312492],[102.842721,33.312381],[102.842478,33.312287],[102.842234,33.312192],[102.842011,33.31213],[102.841788,33.312068],[102.841565,33.312006],[102.841341,33.311944],[102.841065,33.311903],[102.840788,33.311863],[102.840516,33.311844],[102.840244,33.311826],[102.839972,33.311807],[102.839701,33.311789],[102.839429,33.31177],[102.839157,33.311752],[102.838886,33.311733],[102.838614,33.311714],[102.838386,33.311701],[102.838158,33.311688],[102.83793,33.311675],[102.837702,33.311662],[102.837474,33.311649],[102.837246,33.311636],[102.836842,33.311594],[102.836628,33.311573],[102.836393,33.311567],[102.836072,33.31158],[102.835672,33.31177],[102.835271,33.31196],[102.835096,33.312125],[102.834921,33.312289],[102.834746,33.312454],[102.834571,33.312619],[102.834396,33.312783],[102.834221,33.312948],[102.833979,33.313176],[102.833827,33.313244],[102.833612,33.313313],[102.833333,33.313345],[102.832991,33.313356],[102.832565,33.31326],[102.832237,33.313137],[102.831908,33.313015],[102.831741,33.312841],[102.831574,33.312668],[102.831408,33.312463],[102.831242,33.312258],[102.831076,33.312054],[102.83091,33.311849],[102.830744,33.311644],[102.830578,33.31144],[102.830412,33.311235],[102.830246,33.31103],[102.830037,33.310834],[102.829815,33.31067],[102.829593,33.310506],[102.829319,33.310369],[102.829046,33.310232],[102.828983,33.310219],[102.828625,33.310122],[102.828266,33.310025],[102.827908,33.309928],[102.827566,33.309922],[102.827225,33.309916],[102.82686,33.309964],[102.826579,33.310031],[102.826451,33.310083],[102.826255,33.310258],[102.826032,33.310612],[102.82596,33.310926],[102.825887,33.311239],[102.825839,33.311489],[102.82579,33.31174],[102.825632,33.312059],[102.825475,33.312289],[102.825301,33.312465],[102.824954,33.312621],[102.824707,33.31268],[102.824459,33.312739],[102.824237,33.312792],[102.824015,33.312844],[102.823792,33.312897],[102.82357,33.31295],[102.823348,33.313003],[102.823125,33.313056],[102.822899,33.313112],[102.822672,33.313168],[102.822445,33.313225],[102.822218,33.313281],[102.821991,33.313337],[102.821764,33.313393],[102.821537,33.313449],[102.82131,33.313506],[102.821083,33.313562],[102.820856,33.313618],[102.820641,33.313684],[102.820425,33.313749],[102.82021,33.313815],[102.819994,33.31388],[102.819779,33.313946],[102.819563,33.314011],[102.819348,33.314077],[102.819132,33.314142],[102.818743,33.314338],[102.818353,33.314533],[102.817964,33.314728],[102.817574,33.314924],[102.817247,33.315178],[102.816919,33.315433],[102.816688,33.315698],[102.816456,33.315962],[102.816149,33.316284],[102.815841,33.316607],[102.815534,33.316929],[102.815227,33.317251],[102.814895,33.317529],[102.814563,33.317808],[102.814301,33.318001],[102.813977,33.318138],[102.813689,33.318168],[102.813677,33.318169],[102.813292,33.318143],[102.812933,33.318029],[102.812592,33.317917],[102.812347,33.317867],[102.812103,33.317818],[102.811739,33.317789],[102.811665,33.317783],[102.811228,33.317748],[102.810958,33.317746],[102.810688,33.317743],[102.810418,33.317741],[102.810148,33.317739],[102.809878,33.317736],[102.809608,33.317734],[102.809517,33.317733],[102.809338,33.317731],[102.809211,33.31773],[102.809068,33.317729],[102.808798,33.317726],[102.808528,33.317724],[102.808456,33.317723],[102.808258,33.317721],[102.807988,33.317719],[102.807718,33.317716],[102.807448,33.317714],[102.807178,33.317711],[102.806908,33.317709],[102.806639,33.317717],[102.80637,33.317724],[102.8061,33.317732],[102.805831,33.31774],[102.805562,33.317748],[102.805292,33.317756],[102.805023,33.317763],[102.804754,33.317771],[102.804484,33.317779],[102.804215,33.317787],[102.803946,33.317795],[102.803676,33.317802],[102.803407,33.31781],[102.803138,33.317818],[102.802868,33.317826],[102.802599,33.317833],[102.80233,33.317841],[102.80206,33.317849],[102.801791,33.317857],[102.801522,33.317865],[102.801251,33.317896],[102.80098,33.317927],[102.800709,33.317958],[102.800439,33.317989],[102.800168,33.31802],[102.799897,33.318051],[102.799626,33.318082],[102.799355,33.318113],[102.799085,33.318144],[102.798814,33.318175],[102.798543,33.318206],[102.798272,33.318237],[102.798001,33.318268],[102.797731,33.318299],[102.79746,33.31833],[102.797189,33.318361],[102.796943,33.318396],[102.796698,33.318431],[102.796453,33.318466],[102.796207,33.3185],[102.795962,33.318535],[102.795716,33.31857],[102.795481,33.318584],[102.795245,33.318597],[102.79501,33.318611],[102.794774,33.318625],[102.794538,33.318638],[102.794303,33.318652],[102.7942,33.318647],[102.79387,33.318631],[102.793438,33.31861],[102.793005,33.318589],[102.792573,33.318567],[102.792196,33.318525],[102.791818,33.318482],[102.791441,33.318439],[102.791079,33.318406],[102.790717,33.318373],[102.790267,33.318365],[102.789818,33.318357],[102.789551,33.318339],[102.789284,33.318321],[102.789017,33.318302],[102.788751,33.318284],[102.788484,33.318266],[102.788217,33.318248],[102.78795,33.31823],[102.787683,33.318212],[102.787324,33.318122],[102.786964,33.318032],[102.786557,33.317924],[102.786196,33.317795],[102.785945,33.3177],[102.785693,33.317605],[102.785369,33.317518],[102.785045,33.31743],[102.784816,33.317366],[102.784586,33.317301],[102.784356,33.317236],[102.784127,33.317171],[102.783897,33.317106],[102.783667,33.317041],[102.783437,33.316976],[102.783208,33.316911],[102.782978,33.316846],[102.782748,33.316781],[102.782519,33.316716],[102.782289,33.316651],[102.782059,33.316586],[102.78183,33.316521],[102.781544,33.316374],[102.781329,33.316259],[102.781114,33.316144],[102.780846,33.315961],[102.780577,33.315778],[102.780309,33.315595],[102.779943,33.315336],[102.779577,33.315077],[102.77921,33.314818],[102.778844,33.314559],[102.778711,33.31433],[102.778644,33.314111],[102.77854,33.313688],[102.778435,33.313264],[102.778297,33.313031],[102.778159,33.312798],[102.778111,33.312725],[102.77793,33.312455],[102.777769,33.312303],[102.777768,33.312303],[102.77755,33.312227],[102.777232,33.312171],[102.777226,33.31217],[102.776969,33.312093],[102.776817,33.312017],[102.776731,33.311913],[102.776636,33.311741],[102.776494,33.311622],[102.776383,33.311554],[102.776174,33.311426],[102.775965,33.311298],[102.775756,33.311169],[102.775547,33.311041],[102.775337,33.310913],[102.775128,33.310785],[102.774919,33.310657],[102.77471,33.310529],[102.774353,33.31031],[102.774095,33.310276],[102.773705,33.310171],[102.77345,33.310067],[102.773333,33.310019],[102.773086,33.309838],[102.772867,33.309543],[102.772751,33.309225],[102.772635,33.308906],[102.772518,33.308588],[102.772505,33.308553],[102.772315,33.308381],[102.771925,33.308172],[102.771606,33.308025],[102.771287,33.307877],[102.771147,33.307815],[102.771049,33.307772],[102.770878,33.307687],[102.770659,33.307658],[102.770373,33.30763],[102.770069,33.307534],[102.76974,33.307434],[102.769412,33.307335],[102.769098,33.307135],[102.768869,33.306963],[102.768842,33.306882],[102.768727,33.306542],[102.768612,33.306202],[102.768543,33.306032],[102.768368,33.305901],[102.768181,33.305762],[102.767995,33.305623],[102.767643,33.30536],[102.767316,33.305187],[102.766988,33.305014],[102.766661,33.304841],[102.766376,33.304699],[102.76609,33.304558],[102.7657,33.304365],[102.765395,33.304089],[102.765215,33.303861],[102.765189,33.303824],[102.765053,33.303632],[102.764862,33.30347],[102.764615,33.303404],[102.764196,33.303356],[102.763904,33.303437],[102.763612,33.303517],[102.763473,33.303556],[102.763346,33.303581],[102.763178,33.303613],[102.762854,33.303584],[102.762473,33.303508],[102.762212,33.303423],[102.76195,33.303337],[102.761769,33.303223],[102.761636,33.303097],[102.761598,33.303061],[102.76148,33.302914],[102.761295,33.302844],[102.76114,33.302794],[102.760907,33.302813],[102.760675,33.302833],[102.760351,33.302804],[102.760027,33.30268],[102.759732,33.302595],[102.759437,33.302509],[102.759171,33.302394],[102.759085,33.302357],[102.758762,33.302252],[102.758438,33.302147],[102.758124,33.302109],[102.75781,33.302223],[102.757496,33.302484],[102.757182,33.302744],[102.756867,33.303004],[102.756866,33.303004],[102.756865,33.303005],[102.756605,33.303123],[102.756344,33.303242],[102.755906,33.303318],[102.75564,33.303328],[102.755373,33.303337],[102.755021,33.303251],[102.75481,33.303166],[102.7546,33.303081],[102.754574,33.303071],[102.754269,33.302918],[102.753917,33.302658],[102.753566,33.302398],[102.753214,33.302137],[102.75306,33.302024],[102.75281,33.301849],[102.752559,33.301675],[102.752308,33.3015],[102.752213,33.301433],[102.752118,33.301272],[102.752099,33.30092],[102.75208,33.300567],[102.752054,33.300482],[102.751948,33.300129],[102.751842,33.299777],[102.751731,33.299489],[102.75162,33.2992],[102.751536,33.298981],[102.751509,33.298911],[102.751515,33.298699],[102.751518,33.298578],[102.75154,33.298207],[102.751562,33.297836],[102.751583,33.297479],[102.751604,33.297122],[102.751585,33.296694],[102.751573,33.296427],[102.751561,33.29616],[102.751477,33.295949],[102.751443,33.295901],[102.751362,33.295786],[102.751219,33.295702],[102.751187,33.295684],[102.750976,33.295561],[102.750701,33.295465],[102.750425,33.295368],[102.750285,33.295321],[102.750227,33.295254],[102.750195,33.295218],[102.750005,33.294971],[102.749848,33.294766],[102.749691,33.294562],[102.749482,33.294409],[102.74922,33.294309],[102.748958,33.294209],[102.748673,33.294117],[102.748387,33.294025],[102.748102,33.293933],[102.747883,33.293819],[102.74773,33.293667],[102.747678,33.293573],[102.747645,33.293515],[102.747645,33.293463],[102.747645,33.293018],[102.747645,33.292572],[102.747616,33.292334],[102.747501,33.291937],[102.747387,33.29154],[102.747272,33.291142],[102.747226,33.290983],[102.747116,33.290655],[102.747007,33.290326],[102.746769,33.290079],[102.746498,33.290017],[102.746227,33.289955],[102.745836,33.289879],[102.745541,33.289755],[102.745227,33.289527],[102.744994,33.289256],[102.744761,33.288985],[102.74458,33.288775],[102.744294,33.288613],[102.744018,33.288565],[102.743601,33.288615],[102.743557,33.288603],[102.743279,33.288588],[102.743094,33.288578],[102.743001,33.288573],[102.742638,33.288565],[102.742325,33.288539],[102.742013,33.288473],[102.741701,33.288406],[102.741364,33.288339],[102.741102,33.288194],[102.740914,33.287987],[102.740753,33.28768],[102.740674,33.287446],[102.740595,33.287211],[102.740485,33.286864],[102.74037,33.286558],[102.740257,33.286292],[102.740021,33.286086],[102.739773,33.285868],[102.739525,33.285651],[102.739364,33.285475],[102.739202,33.2853],[102.73904,33.285125],[102.738879,33.28495],[102.738717,33.284775],[102.738555,33.284599],[102.738393,33.284424],[102.738232,33.284249],[102.738042,33.284099],[102.737853,33.283948],[102.737664,33.283798],[102.737474,33.283647],[102.737285,33.283497],[102.737095,33.283346],[102.736906,33.283196],[102.736717,33.283045],[102.736473,33.282943],[102.73623,33.282842],[102.735942,33.282746],[102.735655,33.282649],[102.735392,33.282553],[102.735128,33.282457],[102.734816,33.28236],[102.734504,33.282263],[102.734203,33.282237],[102.733902,33.282212],[102.733712,33.282244],[102.733417,33.282387],[102.733121,33.282531],[102.732825,33.282674],[102.732464,33.282798],[102.73215,33.282817],[102.731921,33.282798],[102.731636,33.282702],[102.731322,33.282502],[102.731007,33.282303],[102.73077,33.282248],[102.730567,33.282232],[102.730254,33.282226],[102.73004,33.282235],[102.729796,33.282293],[102.729551,33.28235],[102.729199,33.282388],[102.729018,33.28235],[102.728733,33.282245],[102.728585,33.282118],[102.72839,33.28195],[102.728228,33.281779],[102.728162,33.281532],[102.728151,33.281488],[102.728095,33.281256],[102.728019,33.280865],[102.727762,33.28077],[102.727376,33.280713],[102.726991,33.280656],[102.726779,33.280578],[102.726705,33.280551],[102.726477,33.280437],[102.72623,33.280342],[102.725925,33.28018],[102.725738,33.279968],[102.725448,33.279638],[102.72544,33.279628],[102.725225,33.279433],[102.725011,33.279238],[102.724791,33.279128],[102.724571,33.279018],[102.724554,33.279009],[102.724269,33.278902],[102.723983,33.278794],[102.723698,33.278686],[102.723422,33.278643],[102.723146,33.2786],[102.722781,33.278575],[102.722416,33.278549],[102.722051,33.278524],[102.721623,33.278476],[102.721261,33.278305],[102.721004,33.278115],[102.720814,33.277734],[102.720647,33.277496],[102.720481,33.277258],[102.72029,33.277001],[102.720162,33.276778],[102.720148,33.276754],[102.720014,33.276525],[102.719795,33.276316],[102.71951,33.27604],[102.719509,33.276039],[102.719509,33.276038],[102.719301,33.275678],[102.71911,33.27545],[102.718882,33.275126],[102.718644,33.274917],[102.718463,33.274745],[102.718257,33.274498],[102.718051,33.274251],[102.717892,33.27406],[102.717678,33.27376],[102.717464,33.273461],[102.717424,33.273264],[102.717375,33.273193],[102.717264,33.27303],[102.71713,33.272937],[102.716907,33.272785],[102.716683,33.272632],[102.71646,33.272326],[102.716237,33.272019],[102.71615,33.2719],[102.716084,33.2717],[102.716055,33.271424],[102.716029,33.271202],[102.716007,33.271014],[102.715961,33.270858],[102.71595,33.270824],[102.715865,33.270634],[102.715722,33.270443],[102.715579,33.270253],[102.715403,33.27011],[102.715227,33.269967],[102.715181,33.269933],[102.714968,33.26977],[102.71483,33.269592],[102.714692,33.269413],[102.714462,33.269201],[102.714231,33.26899],[102.714114,33.268771],[102.713998,33.268552],[102.713931,33.268457],[102.713803,33.268361],[102.713741,33.268261],[102.713739,33.268248],[102.713717,33.268076],[102.713684,33.267766],[102.713677,33.267674],[102.71366,33.26741],[102.713555,33.267005],[102.713455,33.266798],[102.713355,33.266591],[102.713222,33.266443],[102.713046,33.266334],[102.712807,33.266241],[102.712665,33.266187],[102.71228,33.265996],[102.711894,33.265806],[102.711642,33.265634],[102.711494,33.265515],[102.71128,33.265187],[102.711214,33.265092],[102.71119,33.264973],[102.711171,33.264849],[102.711028,33.264649],[102.710909,33.26444],[102.7107,33.264354],[102.710533,33.264259],[102.710428,33.264164],[102.710338,33.26405],[102.710262,33.263974],[102.710133,33.263897],[102.709857,33.26384],[102.70947,33.263733],[102.709082,33.263626],[102.708782,33.263498],[102.708425,33.263257],[102.708068,33.263017],[102.707721,33.262765],[102.707602,33.262608],[102.707421,33.26237],[102.707383,33.262284],[102.707359,33.262118],[102.707349,33.262078],[102.707311,33.261932],[102.707235,33.261832],[102.707069,33.261737],[102.706975,33.261688],[102.706686,33.261539],[102.706398,33.26139],[102.706298,33.261294],[102.706274,33.261223],[102.706272,33.261209],[102.70626,33.261123],[102.706198,33.261014],[102.706074,33.260952],[102.705908,33.260937],[102.7059,33.260938],[102.705636,33.260971],[102.705432,33.260937],[102.705294,33.260876],[102.70507,33.260709],[102.704846,33.260542],[102.704632,33.260447],[102.704342,33.260352],[102.704144,33.260237],[102.704013,33.260162],[102.703785,33.259986],[102.703633,33.259795],[102.703452,33.259434],[102.703361,33.259348],[102.703138,33.259267],[102.702947,33.259196],[102.702729,33.259096],[102.702581,33.258967],[102.702315,33.258748],[102.702048,33.258529],[102.701846,33.258284],[102.701644,33.258039],[102.701501,33.257768],[102.701372,33.25772],[102.701229,33.25773],[102.70112,33.257801],[102.700977,33.257901],[102.700735,33.257977],[102.70071,33.25798],[102.700421,33.258009],[102.700363,33.258015],[102.700225,33.258039],[102.70013,33.258073],[102.70004,33.258149],[102.699887,33.258353],[102.699714,33.258701],[102.69954,33.259048],[102.699335,33.259265],[102.699131,33.259481],[102.698926,33.259614],[102.698769,33.259729],[102.698541,33.259781],[102.698312,33.25981],[102.698208,33.259857],[102.698096,33.260183],[102.697984,33.260509],[102.697872,33.260835],[102.69776,33.261161],[102.697629,33.261572],[102.697497,33.261983],[102.697365,33.262394],[102.69734,33.262465],[102.697212,33.262828],[102.697108,33.263122],[102.69698,33.263369],[102.696885,33.263502],[102.696516,33.263729],[102.696147,33.263955],[102.696071,33.263974],[102.695866,33.26395],[102.695505,33.263888],[102.695152,33.263737],[102.6948,33.263587],[102.694448,33.263436],[102.694086,33.263291],[102.693725,33.263146],[102.693472,33.263086],[102.69322,33.263027],[102.692898,33.262995],[102.692576,33.262963],[102.692254,33.262931],[102.691914,33.262858],[102.691878,33.262851],[102.691721,33.262822],[102.691517,33.262865],[102.691226,33.263036],[102.690967,33.263329],[102.690707,33.263622],[102.690448,33.263915],[102.690188,33.264207],[102.689894,33.264346],[102.689568,33.26433],[102.689242,33.264314],[102.688954,33.264248],[102.688686,33.264124],[102.68846,33.264019],[102.688121,33.263729],[102.687782,33.263439],[102.687444,33.263148],[102.687261,33.262959],[102.687079,33.262771],[102.686897,33.262582],[102.686715,33.262393],[102.686533,33.262204],[102.68635,33.262015],[102.686168,33.261826],[102.685986,33.261637],[102.685804,33.261448],[102.685622,33.26126],[102.685439,33.261071],[102.685257,33.260882],[102.685075,33.260693],[102.684893,33.260504],[102.68471,33.260315],[102.684528,33.260126],[102.684415,33.260009],[102.684379,33.259972],[102.684346,33.259937],[102.684164,33.259748],[102.684042,33.259622],[102.683982,33.25956],[102.683911,33.259486],[102.683799,33.259371],[102.68353,33.259111],[102.683261,33.258852],[102.682992,33.258592],[102.68278,33.258366],[102.682569,33.258139],[102.682418,33.257913],[102.682267,33.257687],[102.682117,33.257431],[102.681967,33.257174],[102.681814,33.256979],[102.681662,33.256783],[102.681416,33.256525],[102.68117,33.256267],[102.680963,33.256096],[102.680756,33.255925],[102.680549,33.255754],[102.680342,33.255583],[102.68014,33.255455],[102.679938,33.255327],[102.679736,33.255199],[102.679535,33.255071],[102.679333,33.254943],[102.679131,33.254815],[102.678929,33.254687],[102.678727,33.254559],[102.678498,33.254435],[102.678305,33.254331],[102.67827,33.254312],[102.678269,33.254311],[102.678247,33.254299],[102.678179,33.254262],[102.678041,33.254188],[102.677812,33.254064],[102.677584,33.25394],[102.677355,33.253816],[102.677127,33.253693],[102.676969,33.253607],[102.676899,33.253569],[102.676899,33.253569],[102.676898,33.253569],[102.67667,33.253445],[102.676441,33.253321],[102.676242,33.253204],[102.676043,33.253086],[102.675844,33.252969],[102.675645,33.252851],[102.675418,33.252766],[102.675191,33.25268],[102.674759,33.252591],[102.674519,33.252525],[102.67428,33.25246],[102.673872,33.252351],[102.673621,33.252266],[102.67337,33.25218],[102.673119,33.252063],[102.672868,33.251946],[102.67256,33.251739],[102.672322,33.251593],[102.672238,33.251559],[102.672107,33.251507],[102.671939,33.25144],[102.671893,33.251421],[102.671652,33.251367],[102.671412,33.251312],[102.671123,33.251266],[102.670834,33.25122],[102.670497,33.251194],[102.670147,33.251187],[102.669797,33.25118],[102.669674,33.251259],[102.669623,33.251379],[102.669594,33.251562],[102.669601,33.251767],[102.669607,33.251927],[102.66964,33.251985],[102.669816,33.252294],[102.66998,33.252481],[102.670144,33.252667],[102.670304,33.252968],[102.670351,33.253055],[102.670351,33.253056],[102.670351,33.253056],[102.670319,33.253339],[102.670098,33.253497],[102.669829,33.253633],[102.669797,33.253661],[102.669705,33.253741],[102.669671,33.253771],[102.669557,33.25387],[102.669532,33.253892],[102.669502,33.254094],[102.669554,33.254439],[102.669564,33.254499],[102.669644,33.254669],[102.669747,33.254889],[102.669908,33.255195],[102.669962,33.25543],[102.670016,33.255664],[102.670033,33.255949],[102.670025,33.256242],[102.670017,33.256536],[102.669961,33.256819],[102.669877,33.257014],[102.669698,33.257229],[102.669684,33.257246],[102.669627,33.257314],[102.669553,33.257393],[102.669532,33.257407],[102.669481,33.257441],[102.669233,33.25761],[102.668915,33.257767],[102.668524,33.257942],[102.668255,33.258058],[102.668156,33.258158],[102.668129,33.258259],[102.668172,33.258442],[102.668334,33.258729],[102.668373,33.258803],[102.668402,33.258859],[102.668464,33.258977],[102.668477,33.259001],[102.668495,33.259036],[102.668497,33.259042],[102.668529,33.259172],[102.668581,33.259382],[102.668575,33.259686],[102.668525,33.259726],[102.668427,33.259764],[102.668395,33.259769],[102.668268,33.259789],[102.668245,33.259792],[102.668185,33.259801],[102.66799,33.259847],[102.667869,33.259875],[102.667567,33.25987],[102.667495,33.259868],[102.667423,33.259867],[102.667359,33.259866],[102.667224,33.259863],[102.666976,33.259859],[102.666529,33.259851],[102.666388,33.259848],[102.666319,33.259847],[102.666082,33.259842],[102.665719,33.259886],[102.665355,33.25993],[102.665303,33.259939],[102.665101,33.259976],[102.664846,33.260021],[102.66458,33.260046],[102.664313,33.260072],[102.664059,33.260067],[102.663805,33.260063],[102.663384,33.260005],[102.662963,33.259947],[102.66253,33.259867],[102.662098,33.259787],[102.661784,33.259781],[102.661351,33.259753],[102.660965,33.259746],[102.660531,33.259658],[102.660196,33.259549],[102.659861,33.259441],[102.659623,33.259317],[102.659384,33.259194],[102.659146,33.25907],[102.658908,33.258947],[102.65867,33.258823],[102.658431,33.258699],[102.658193,33.258576],[102.657955,33.258452],[102.657658,33.258237],[102.657352,33.257947],[102.657045,33.257657],[102.656809,33.25745],[102.65655,33.257203],[102.656336,33.257077],[102.656003,33.256868],[102.655693,33.25673],[102.655384,33.256592],[102.655169,33.256492],[102.654954,33.256392],[102.654739,33.256291],[102.654524,33.256191],[102.654225,33.256094],[102.653926,33.255997],[102.653661,33.255911],[102.653303,33.255783],[102.652993,33.255655],[102.652635,33.255466],[102.652495,33.255302],[102.652235,33.255113],[102.652045,33.254928],[102.651788,33.254659],[102.651482,33.254349],[102.651285,33.254051],[102.651088,33.253753],[102.650862,33.2534],[102.650636,33.253046],[102.65041,33.252692],[102.650184,33.252338],[102.649918,33.252038],[102.649716,33.251923],[102.649514,33.251808],[102.649154,33.251699],[102.648746,33.25163],[102.648337,33.251562],[102.64817,33.251519],[102.647881,33.251432],[102.647585,33.251244],[102.647288,33.251056],[102.647103,33.250907],[102.646918,33.250758],[102.646733,33.25061],[102.646548,33.250461],[102.646363,33.250312],[102.646178,33.250163],[102.646109,33.250122],[102.645797,33.249933],[102.645462,33.249805],[102.64521,33.249759],[102.644957,33.249714],[102.644729,33.249679],[102.6445,33.249645],[102.644117,33.249516],[102.64371,33.249387],[102.643499,33.249243],[102.643288,33.249099],[102.643077,33.248955],[102.642866,33.248811],[102.642642,33.248656],[102.642419,33.248501],[102.642195,33.248346],[102.641972,33.248192],[102.641748,33.248037],[102.641525,33.247882],[102.641301,33.247727],[102.641078,33.247572],[102.640854,33.247417],[102.640631,33.247263],[102.640407,33.247108],[102.640184,33.246953],[102.63996,33.246798],[102.639737,33.246643],[102.639545,33.246507],[102.639521,33.24649],[102.639304,33.246336],[102.639088,33.246182],[102.638872,33.246029],[102.638655,33.245875],[102.638439,33.245722],[102.638223,33.245568],[102.638007,33.245415],[102.637669,33.245265],[102.637641,33.245252],[102.637344,33.24512],[102.637305,33.245103],[102.637275,33.24509],[102.637194,33.245053],[102.637148,33.245033],[102.636988,33.244962],[102.63691,33.244927],[102.636563,33.244789],[102.636217,33.244651],[102.635792,33.244516],[102.635367,33.244381],[102.634942,33.244247],[102.634516,33.244112],[102.634115,33.243939],[102.633713,33.243767],[102.633311,33.243595],[102.633074,33.243428],[102.632863,33.243201],[102.632841,33.243162],[102.632755,33.24301],[102.632748,33.242996],[102.632734,33.242611],[102.632812,33.242389],[102.632891,33.242168],[102.633048,33.24187],[102.633081,33.241806],[102.633272,33.241445],[102.633376,33.241183],[102.633479,33.240922],[102.633537,33.240579],[102.633572,33.240194],[102.633583,33.240099],[102.633603,33.239931],[102.633634,33.239668],[102.633642,33.239371],[102.633644,33.239304],[102.633614,33.239081],[102.633584,33.238857],[102.633509,33.238637],[102.633469,33.238517],[102.633435,33.238416],[102.63336,33.238195],[102.633286,33.237975],[102.633211,33.237754],[102.633137,33.237533],[102.633027,33.237336],[102.632918,33.237139],[102.632808,33.236942],[102.632699,33.236745],[102.63259,33.236547],[102.63248,33.23635],[102.632371,33.236153],[102.632262,33.235956],[102.63209,33.235598],[102.631919,33.23524],[102.631794,33.234954],[102.631669,33.234669],[102.631578,33.234446],[102.631488,33.234224],[102.631397,33.234002],[102.631306,33.233779],[102.631216,33.233557],[102.631125,33.233335],[102.631034,33.233112],[102.630944,33.23289],[102.630843,33.232635],[102.630742,33.232381],[102.630632,33.231953],[102.630614,33.231694],[102.630638,33.231606],[102.630696,33.23139],[102.630809,33.23119],[102.630923,33.23099],[102.631111,33.23073],[102.631299,33.230469],[102.631454,33.230087],[102.631546,33.229816],[102.631639,33.229544],[102.631674,33.229119],[102.631638,33.228672],[102.631596,33.228418],[102.631555,33.228164],[102.631457,33.227787],[102.631359,33.22741],[102.631274,33.227149],[102.631189,33.226888],[102.631105,33.226627],[102.63102,33.226366],[102.630935,33.226105],[102.630851,33.225844],[102.630766,33.225583],[102.630681,33.225322],[102.630597,33.225061],[102.630512,33.224799],[102.630449,33.22458],[102.630386,33.22436],[102.630323,33.22414],[102.630261,33.22392],[102.630198,33.2237],[102.630135,33.223481],[102.630098,33.223074],[102.630044,33.22283],[102.629991,33.222585],[102.629902,33.2223],[102.629813,33.222015],[102.629591,33.221767],[102.629368,33.22152],[102.629146,33.221253],[102.628923,33.220985],[102.628779,33.220786],[102.628635,33.220586],[102.62849,33.220387],[102.628346,33.220187],[102.628202,33.219988],[102.628057,33.219789],[102.627913,33.219589],[102.627769,33.21939],[102.627625,33.21919],[102.62748,33.218991],[102.627288,33.218624],[102.627095,33.218258],[102.626903,33.217891],[102.626801,33.217666],[102.626698,33.217442],[102.626613,33.217054],[102.626571,33.216821],[102.62653,33.216587],[102.626439,33.216373],[102.626347,33.216159],[102.626185,33.215904],[102.626046,33.215686],[102.625812,33.215418],[102.625554,33.21515],[102.625244,33.214962],[102.625019,33.214836],[102.624793,33.21471],[102.624436,33.21446],[102.62413,33.214231],[102.623979,33.214045],[102.623827,33.21386],[102.623724,33.213634],[102.623621,33.213409],[102.623593,33.213145],[102.623564,33.212881],[102.623646,33.212526],[102.62375,33.212265],[102.623853,33.212003],[102.624077,33.211744],[102.624252,33.211524],[102.624427,33.211304],[102.624583,33.21111],[102.62474,33.210916],[102.624896,33.210721],[102.625052,33.210527],[102.625196,33.210332],[102.62534,33.210137],[102.625484,33.209942],[102.625628,33.209747],[102.625731,33.209545],[102.625821,33.209304],[102.625912,33.209063],[102.625965,33.20876],[102.626018,33.208457],[102.626054,33.208254],[102.626089,33.207871],[102.626097,33.207597],[102.626106,33.207324],[102.626053,33.206988],[102.626001,33.206652],[102.625885,33.20641],[102.625746,33.206163],[102.625631,33.205918],[102.625615,33.205634],[102.625716,33.205473],[102.625951,33.205129],[102.626186,33.204785],[102.626194,33.204773],[102.62646,33.204447],[102.626726,33.204122],[102.626992,33.203796],[102.627284,33.203497],[102.627576,33.203199],[102.627868,33.2029],[102.628159,33.202601],[102.628333,33.202363],[102.628489,33.201979],[102.62855,33.201758],[102.628611,33.201536],[102.628671,33.201314],[102.628732,33.201092],[102.628805,33.200827],[102.628879,33.200563],[102.628952,33.200298],[102.629026,33.200033],[102.629099,33.199769],[102.629173,33.199504],[102.629246,33.199239],[102.62932,33.198975],[102.629332,33.198573],[102.629289,33.19835],[102.629247,33.198127],[102.629162,33.19772],[102.629076,33.197312],[102.628917,33.196934],[102.628758,33.196556],[102.628631,33.196202],[102.628504,33.195848],[102.628377,33.195495],[102.628263,33.195249],[102.628149,33.195004],[102.628047,33.194759],[102.627945,33.194514],[102.627759,33.194185],[102.627573,33.193959],[102.627349,33.193793],[102.627124,33.193626],[102.626811,33.193424],[102.626498,33.193222],[102.626186,33.19302],[102.626057,33.192937],[102.625814,33.192758],[102.625648,33.192613],[102.625416,33.192305],[102.625301,33.19207],[102.625187,33.191835],[102.625121,33.1916],[102.625054,33.191366],[102.624968,33.190989],[102.624882,33.190613],[102.624749,33.190226],[102.624658,33.18999],[102.624567,33.189755],[102.624455,33.189449],[102.624342,33.189142],[102.624146,33.188824],[102.62395,33.188507],[102.623754,33.188148],[102.623558,33.18779],[102.623385,33.187496],[102.623211,33.187201],[102.623049,33.186934],[102.622861,33.186768],[102.622552,33.18656],[102.62222,33.186391],[102.621788,33.186292],[102.621355,33.186192],[102.621098,33.186152],[102.620842,33.186112],[102.620585,33.186071],[102.620328,33.186031],[102.620071,33.18599],[102.619815,33.18595],[102.619558,33.185909],[102.619301,33.185869],[102.619044,33.185829],[102.618788,33.185788],[102.618531,33.185748],[102.618274,33.185707],[102.618017,33.185667],[102.61776,33.185626],[102.617504,33.185586],[102.617247,33.185546],[102.616973,33.185514],[102.616698,33.185482],[102.616424,33.185451],[102.61615,33.185419],[102.615875,33.185388],[102.615601,33.185356],[102.615327,33.185325],[102.615053,33.185293],[102.614778,33.185262],[102.614504,33.18523],[102.61427,33.185192],[102.614195,33.185179],[102.614169,33.185175],[102.614036,33.185153],[102.613803,33.185115],[102.613569,33.185076],[102.613335,33.185038],[102.613101,33.185],[102.612868,33.184961],[102.612634,33.184923],[102.6124,33.184885],[102.612166,33.184846],[102.611933,33.184808],[102.611699,33.18477],[102.611435,33.184704],[102.611171,33.184638],[102.611034,33.184604],[102.610908,33.184572],[102.610644,33.184507],[102.61038,33.184441],[102.610117,33.184375],[102.609882,33.184338],[102.609786,33.184322],[102.6097,33.184308],[102.609648,33.1843],[102.609479,33.184273],[102.609414,33.184263],[102.609179,33.184225],[102.609081,33.184209],[102.609001,33.184196],[102.608945,33.184188],[102.608774,33.18416],[102.608711,33.18415],[102.608477,33.184113],[102.608242,33.184075],[102.608014,33.184054],[102.607968,33.184049],[102.607785,33.184032],[102.607557,33.184011],[102.607376,33.183994],[102.607328,33.183989],[102.6071,33.183968],[102.606871,33.183946],[102.606437,33.183939],[102.606098,33.183973],[102.605735,33.184047],[102.605371,33.184121],[102.605121,33.184197],[102.604872,33.184273],[102.604863,33.184276],[102.604622,33.184349],[102.604373,33.184426],[102.604123,33.184502],[102.604109,33.184506],[102.604085,33.184514],[102.603873,33.184578],[102.603624,33.184654],[102.603374,33.184731],[102.60313,33.184843],[102.602886,33.184954],[102.602641,33.185066],[102.602397,33.185178],[102.602152,33.18529],[102.601908,33.185402],[102.601842,33.185432],[102.601664,33.185514],[102.601419,33.185626],[102.60117,33.185713],[102.600922,33.185801],[102.600531,33.185915],[102.600313,33.185972],[102.600094,33.186029],[102.599744,33.186052],[102.599393,33.186076],[102.598966,33.186108],[102.598539,33.18614],[102.598112,33.186173],[102.597668,33.186168],[102.597224,33.186163],[102.59678,33.186158],[102.596655,33.186157],[102.596348,33.186154],[102.596301,33.186154],[102.595916,33.186151],[102.595688,33.186123],[102.595687,33.186123],[102.595687,33.186123],[102.59555,33.186107],[102.595459,33.186096],[102.595418,33.186091],[102.595231,33.186069],[102.595002,33.186042],[102.594774,33.186015],[102.594545,33.185987],[102.594316,33.18596],[102.594088,33.185933],[102.593835,33.185915],[102.593582,33.185896],[102.593329,33.185878],[102.593076,33.185859],[102.592824,33.185841],[102.592571,33.185822],[102.592341,33.18578],[102.592111,33.185738],[102.591881,33.185696],[102.591651,33.185653],[102.591421,33.185611],[102.591191,33.185569],[102.590961,33.185527],[102.590731,33.185485],[102.59047,33.185421],[102.590209,33.185357],[102.589948,33.185294],[102.589688,33.18523],[102.589427,33.185167],[102.589166,33.185103],[102.588906,33.185039],[102.588645,33.184976],[102.588384,33.184912],[102.588124,33.184848],[102.58801,33.184821],[102.587863,33.184785],[102.587662,33.184736],[102.587602,33.184721],[102.587452,33.184685],[102.587342,33.184658],[102.587081,33.184594],[102.587175,33.184202],[102.58727,33.18381],[102.587269,33.183796],[102.587251,33.1834],[102.587198,33.183066],[102.587115,33.182782],[102.58695,33.182623],[102.586923,33.182597],[102.586922,33.182595],[102.586785,33.182463],[102.58662,33.182303],[102.586456,33.182144],[102.586171,33.181972],[102.585887,33.1818],[102.585586,33.181679],[102.585284,33.181558],[102.584936,33.181449],[102.584588,33.18134],[102.584349,33.181284],[102.58411,33.181228],[102.584043,33.181212],[102.583989,33.1812],[102.583872,33.181172],[102.583633,33.181116],[102.583394,33.18106],[102.583156,33.181004],[102.582917,33.180949],[102.582678,33.180893],[102.582378,33.180747],[102.582373,33.180745],[102.582348,33.180733],[102.582017,33.180573],[102.581701,33.180387],[102.581386,33.180202],[102.581163,33.180005],[102.580939,33.179809],[102.580777,33.179601],[102.580615,33.179393],[102.580561,33.179157],[102.580506,33.178921],[102.580452,33.178684],[102.580398,33.178448],[102.580405,33.178141],[102.580444,33.177861],[102.580541,33.177631],[102.580638,33.17748],[102.58088,33.177242],[102.580919,33.177203],[102.581023,33.177009],[102.581123,33.176823],[102.581326,33.176443],[102.581469,33.176178],[102.581481,33.176155],[102.58153,33.176063],[102.581546,33.175853],[102.581554,33.175744],[102.58156,33.175671],[102.581572,33.175503],[102.581579,33.175424],[102.581583,33.175369],[102.581595,33.175242],[102.5816,33.175181],[102.581622,33.174939],[102.581753,33.174583],[102.581948,33.174227],[102.582134,33.174053],[102.582207,33.173939],[102.582238,33.173889],[102.582459,33.173746],[102.582572,33.17362],[102.582688,33.173403],[102.582664,33.173274],[102.58261,33.173017],[102.582583,33.172928],[102.582507,33.172677],[102.582242,33.172338],[102.582176,33.1722],[102.582069,33.171976],[102.581984,33.171758],[102.581898,33.171539],[102.581808,33.171437],[102.581692,33.171304],[102.581421,33.171171],[102.581086,33.171138],[102.580843,33.171082],[102.580658,33.171055],[102.580449,33.171024],[102.580087,33.170862],[102.579908,33.170705],[102.579733,33.170446],[102.579554,33.170059],[102.579376,33.169672],[102.579256,33.169431],[102.579135,33.169189],[102.579015,33.168948],[102.578894,33.168707],[102.578774,33.168466],[102.578653,33.168224],[102.578448,33.167965],[102.57818,33.167728],[102.577968,33.167648],[102.577756,33.167568],[102.577438,33.167497],[102.577121,33.167426],[102.576755,33.167336],[102.576726,33.167329],[102.576534,33.167282],[102.576332,33.167232],[102.576163,33.167177],[102.576,33.167123],[102.575667,33.167014],[102.575304,33.166905],[102.574941,33.166795],[102.574924,33.166791],[102.57454,33.166683],[102.574155,33.166575],[102.57373,33.166477],[102.573306,33.166378],[102.572897,33.166281],[102.572487,33.166184],[102.572064,33.166073],[102.57164,33.165962],[102.5714,33.165829],[102.57116,33.165697],[102.570921,33.1655],[102.570683,33.165303],[102.57052,33.165121],[102.570358,33.164939],[102.570182,33.164562],[102.570007,33.164185],[102.569832,33.163808],[102.569654,33.163599],[102.569491,33.163443],[102.569328,33.163287],[102.569091,33.163052],[102.568971,33.162985],[102.568957,33.162966],[102.568761,33.162752],[102.568642,33.16252],[102.568386,33.16236],[102.568095,33.162253],[102.567803,33.162276],[102.567473,33.162475],[102.56722,33.162627],[102.567095,33.162717],[102.566923,33.16274],[102.566739,33.162675],[102.566643,33.162449],[102.566582,33.162157],[102.56656,33.16205],[102.56653,33.161747],[102.566352,33.161467],[102.566123,33.161203],[102.565929,33.16098],[102.565784,33.160751],[102.565638,33.160522],[102.565538,33.160194],[102.565437,33.159867],[102.565412,33.159784],[102.565341,33.159683],[102.565263,33.159611],[102.565132,33.159582],[102.564919,33.159593],[102.564811,33.1596],[102.56446,33.159641],[102.564234,33.159611],[102.564074,33.159492],[102.563901,33.159356],[102.563776,33.15926],[102.563663,33.159254],[102.563366,33.159272],[102.56314,33.15935],[102.562908,33.159308],[102.562673,33.159189],[102.562438,33.15907],[102.562075,33.158969],[102.561712,33.158868],[102.561357,33.158746],[102.56114,33.15882],[102.560923,33.158895],[102.560521,33.159091],[102.560242,33.159253],[102.559963,33.159414],[102.559649,33.159715],[102.559463,33.159852],[102.559277,33.15999],[102.559242,33.160013],[102.559043,33.160151],[102.559011,33.160174],[102.558809,33.160313],[102.558532,33.160423],[102.558254,33.160533],[102.557827,33.160601],[102.557477,33.160568],[102.557127,33.160536],[102.556896,33.160504],[102.556679,33.160385],[102.55656,33.160319],[102.55634,33.16026],[102.556013,33.160319],[102.555922,33.160351],[102.555757,33.160408],[102.555531,33.160485],[102.555305,33.160563],[102.555011,33.160674],[102.554717,33.160785],[102.554423,33.160896],[102.554187,33.160986],[102.553848,33.161152],[102.553616,33.161164],[102.553431,33.161099],[102.553211,33.160956],[102.553033,33.160664],[102.552955,33.160441],[102.552878,33.160218],[102.552747,33.160099],[102.552609,33.160041],[102.55242,33.159962],[102.552345,33.159906],[102.552182,33.159784],[102.551926,33.159605],[102.551629,33.159397],[102.551492,33.159189],[102.55132,33.158817],[102.551147,33.158445],[102.550992,33.158083],[102.550927,33.157904],[102.550772,33.15772],[102.550736,33.157565],[102.550593,33.157486],[102.550201,33.15727],[102.549809,33.157053],[102.549613,33.156946],[102.549464,33.156964],[102.549291,33.156845],[102.548928,33.15675],[102.548637,33.156673],[102.548593,33.156656],[102.548256,33.15653],[102.548051,33.156408],[102.547846,33.156286],[102.547542,33.156012],[102.547358,33.155825],[102.547173,33.155638],[102.546878,33.155473],[102.546582,33.155308],[102.546477,33.155227],[102.546251,33.154864],[102.54621,33.154692],[102.546073,33.154507],[102.546002,33.154377],[102.545906,33.15418],[102.545847,33.153948],[102.545834,33.153855],[102.545787,33.153512],[102.54574,33.153169],[102.545752,33.152824],[102.545829,33.152527],[102.545829,33.152417],[102.545829,33.151993],[102.545829,33.151569],[102.545805,33.15142],[102.545696,33.151243],[102.54534,33.151018],[102.544948,33.150856],[102.544624,33.150778],[102.544374,33.150752],[102.544223,33.150736],[102.543946,33.150706],[102.54367,33.150677],[102.543414,33.150629],[102.543301,33.150558],[102.543174,33.150431],[102.543075,33.150332],[102.542849,33.150308],[102.542726,33.150324],[102.542533,33.150349],[102.542233,33.150445],[102.541933,33.15054],[102.541671,33.150546],[102.541377,33.15046],[102.541084,33.150375],[102.54079,33.15029],[102.540416,33.150236],[102.539987,33.150254],[102.539583,33.150314],[102.539268,33.150465],[102.538952,33.150617],[102.538875,33.150666],[102.538562,33.150864],[102.538248,33.151062],[102.537935,33.151259],[102.537656,33.151518],[102.537376,33.151777],[102.537351,33.151829],[102.537215,33.15211],[102.536971,33.152259],[102.536626,33.15239],[102.5365,33.15241],[102.536186,33.152461],[102.535832,33.152717],[102.535478,33.152973],[102.535303,33.153139],[102.535127,33.153306],[102.534954,33.153376],[102.534878,33.153407],[102.534741,33.153413],[102.534574,33.153365],[102.534342,33.153234],[102.534166,33.153212],[102.533994,33.153216],[102.533704,33.153223],[102.533606,33.153207],[102.533491,33.153211],[102.533242,33.153258],[102.532992,33.153306],[102.532778,33.153246],[102.53254,33.153145],[102.532236,33.153115],[102.532187,33.153119],[102.531964,33.153136],[102.531921,33.153139],[102.53186,33.153156],[102.531522,33.153246],[102.531195,33.153425],[102.530868,33.153603],[102.530621,33.153779],[102.530374,33.153955],[102.530136,33.154096],[102.529898,33.154236],[102.529897,33.154236],[102.529896,33.154237],[102.529638,33.154324],[102.529381,33.154412],[102.529149,33.154501],[102.528917,33.154589],[102.528662,33.154584],[102.528407,33.154579],[102.52811,33.154523],[102.527814,33.154467],[102.527551,33.154147],[102.527482,33.153881],[102.527413,33.153615],[102.527356,33.15322],[102.527299,33.152826],[102.527212,33.152588],[102.527125,33.15235],[102.526877,33.152031],[102.526764,33.151885],[102.526764,33.151885],[102.526763,33.151884],[102.526361,33.151698],[102.525958,33.151511],[102.525559,33.151403],[102.525159,33.151295],[102.52476,33.151187],[102.52445,33.15109],[102.524141,33.150993],[102.523832,33.150897],[102.523523,33.150786],[102.523215,33.150675],[102.522906,33.150563],[102.522716,33.150352],[102.522527,33.150141],[102.522457,33.149911],[102.522387,33.14968],[102.522402,33.149428],[102.522432,33.14909],[102.522462,33.148753],[102.522492,33.148416],[102.522546,33.148071],[102.522582,33.147785],[102.522617,33.1475],[102.52257,33.147238],[102.522522,33.146976],[102.522445,33.146759],[102.522368,33.146542],[102.522198,33.14626],[102.522028,33.145977],[102.521922,33.145791],[102.521755,33.1455],[102.521588,33.14521],[102.521474,33.144993],[102.521309,33.14468],[102.52113,33.144347],[102.520934,33.144062],[102.520708,33.143913],[102.520342,33.14372],[102.519976,33.143526],[102.519792,33.143306],[102.51972,33.143003],[102.519688,33.14278],[102.519655,33.142557],[102.519697,33.14211],[102.519738,33.141664],[102.51978,33.141218],[102.519756,33.140921],[102.519738,33.14065],[102.51972,33.140378],[102.519628,33.140072],[102.519616,33.140031],[102.519536,33.139765],[102.519278,33.139469],[102.51902,33.139173],[102.518762,33.138877],[102.518428,33.138656],[102.518161,33.138479],[102.517893,33.138301],[102.51748,33.138193],[102.517066,33.138085],[102.516768,33.138017],[102.516469,33.137949],[102.516171,33.137881],[102.516062,33.137847],[102.51606,33.137846],[102.516058,33.137846],[102.515742,33.137718],[102.515425,33.137589],[102.515211,33.137471],[102.514914,33.137195],[102.514616,33.136919],[102.514319,33.136644],[102.514105,33.136352],[102.514004,33.136025],[102.513962,33.135686],[102.513994,33.135377],[102.514026,33.135067],[102.514057,33.134758],[102.514016,33.134356],[102.513974,33.133955],[102.513967,33.133598],[102.51396,33.13324],[102.513956,33.133063],[102.513909,33.132694],[102.513825,33.132414],[102.513647,33.132081],[102.513638,33.132068],[102.513467,33.131822],[102.513296,33.131575],[102.513128,33.13137],[102.512961,33.131164],[102.512774,33.130934],[102.512517,33.130618],[102.512344,33.13035],[102.512172,33.130082],[102.511975,33.129847],[102.511779,33.129612],[102.511603,33.129458],[102.511428,33.129303],[102.511285,33.129],[102.511249,33.12875],[102.511291,33.128339],[102.511398,33.128066],[102.511505,33.127792],[102.511624,33.127572],[102.511725,33.127167],[102.511535,33.126906],[102.511336,33.1267],[102.511136,33.126495],[102.510904,33.126311],[102.510672,33.126126],[102.51039,33.125988],[102.510108,33.12585],[102.509766,33.125682],[102.509423,33.125514],[102.509106,33.125397],[102.508789,33.12528],[102.508471,33.125163],[102.508125,33.125022],[102.507778,33.124881],[102.507431,33.12474],[102.507129,33.124617],[102.506828,33.124494],[102.506526,33.124372],[102.506187,33.124215],[102.505848,33.124058],[102.505509,33.123902],[102.505268,33.123795],[102.505027,33.123687],[102.5047,33.123497],[102.504495,33.123334],[102.50429,33.12317],[102.504052,33.12298],[102.503703,33.122823],[102.503354,33.122666],[102.503005,33.12251],[102.502658,33.122361],[102.502311,33.122212],[102.501964,33.122064],[102.501658,33.121951],[102.501353,33.121838],[102.501252,33.121786],[102.500924,33.121574],[102.500596,33.121363],[102.500267,33.121151],[102.500176,33.121076],[102.499831,33.120791],[102.499486,33.120506],[102.499217,33.120271],[102.49892,33.120013],[102.498622,33.119754],[102.498325,33.119495],[102.498023,33.119332],[102.497722,33.119168],[102.49742,33.119005],[102.497119,33.118841],[102.496763,33.118629],[102.496408,33.118417],[102.496367,33.118384],[102.496163,33.118132],[102.495959,33.117879],[102.495715,33.117543],[102.495556,33.117185],[102.495507,33.116937],[102.495457,33.11669],[102.49546,33.116438],[102.495462,33.116185],[102.495465,33.115933],[102.495467,33.115681],[102.49547,33.115428],[102.495472,33.115176],[102.495511,33.114799],[102.495507,33.114697],[102.495495,33.114396],[102.495459,33.114135],[102.495424,33.113874],[102.495366,33.113448],[102.495308,33.113021],[102.49537,33.112809],[102.495404,33.112597],[102.495556,33.112221],[102.495763,33.11187],[102.495911,33.111613],[102.496002,33.111379],[102.496041,33.111001],[102.496019,33.110811],[102.495996,33.110679],[102.495994,33.110668],[102.495944,33.110455],[102.495767,33.110205],[102.49559,33.109955],[102.495497,33.109728],[102.495404,33.109501],[102.495304,33.109074],[102.495258,33.108695],[102.495271,33.108269],[102.49528,33.107914],[102.495289,33.107608],[102.495325,33.107324],[102.495449,33.106948],[102.495455,33.106711],[102.495376,33.106497],[102.495187,33.106233],[102.494911,33.106038],[102.494578,33.105889],[102.494342,33.105766],[102.494106,33.105644],[102.493787,33.105495],[102.493467,33.105347],[102.493204,33.105188],[102.492942,33.105029],[102.492763,33.104871],[102.492584,33.104714],[102.492338,33.104449],[102.492327,33.104204],[102.492315,33.103958],[102.4923,33.103509],[102.492211,33.103242],[102.492196,33.1032],[102.492093,33.10289],[102.491899,33.102744],[102.491851,33.102722],[102.491622,33.10262],[102.491491,33.102592],[102.491383,33.102569],[102.491259,33.102542],[102.491191,33.102499],[102.49112,33.102454],[102.491065,33.102419],[102.491054,33.102412],[102.490871,33.102297],[102.490655,33.101938],[102.490592,33.1017],[102.490528,33.101462],[102.49051,33.101411],[102.490484,33.10134],[102.490424,33.101177],[102.49018,33.100864],[102.489877,33.100621],[102.489517,33.100425],[102.489302,33.100357],[102.489196,33.100324],[102.489086,33.100289],[102.488875,33.100223],[102.488608,33.100194],[102.488341,33.100165],[102.488232,33.100168],[102.488185,33.10017],[102.488102,33.100172],[102.488087,33.100173],[102.487862,33.100179],[102.487814,33.100203],[102.487785,33.100218],[102.487591,33.100315],[102.487457,33.100383],[102.48732,33.100452],[102.487115,33.100731],[102.486944,33.100964],[102.486909,33.101011],[102.486705,33.101256],[102.486502,33.1015],[102.486273,33.101613],[102.486079,33.101539],[102.486032,33.101437],[102.485974,33.101313],[102.485945,33.101251],[102.485955,33.100897],[102.486053,33.100497],[102.486156,33.100286],[102.486157,33.100285],[102.486158,33.100284],[102.486241,33.100115],[102.48626,33.100075],[102.48632,33.099937],[102.486356,33.099852],[102.486451,33.09963],[102.486547,33.099407],[102.486642,33.099184],[102.486738,33.098961],[102.486834,33.098739],[102.486945,33.098511],[102.487057,33.098284],[102.487169,33.098057],[102.487281,33.09783],[102.487288,33.097592],[102.487212,33.097284],[102.487136,33.096998],[102.487059,33.096713],[102.486952,33.09651],[102.486846,33.096307],[102.486683,33.09609],[102.48652,33.095874],[102.486371,33.095694],[102.486221,33.095513],[102.486034,33.095155],[102.48599,33.094752],[102.485997,33.094492],[102.486004,33.094232],[102.486044,33.09383],[102.486112,33.093405],[102.486189,33.093171],[102.486266,33.092936],[102.486417,33.09256],[102.486569,33.092184],[102.486661,33.091925],[102.486674,33.091501],[102.486593,33.09131],[102.486406,33.090935],[102.486299,33.09072],[102.486193,33.090505],[102.486058,33.09029],[102.485924,33.090074],[102.485803,33.089882],[102.485682,33.08969],[102.485561,33.089464],[102.485518,33.089381],[102.485472,33.089294],[102.485441,33.089237],[102.485391,33.089011],[102.485382,33.08897],[102.485374,33.088931]]]]},"properties":{"cp":[102.6838973693402,33.13732598840634],"code":"513233204","name":"瓦切镇","level":"street","center":[102.6838973693402,33.13732598840634],"fullCode":"513233204000","fullName":"四川省阿坝藏族羌族自治州红原县瓦切镇","acreageMu":1486490.28,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.669,33.2578]}},{"id":"513233205","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.615039,32.961439],[102.615041,32.961423],[102.61506,32.961253],[102.615113,32.960767],[102.615237,32.959638],[102.615775,32.958729],[102.615969,32.958606],[102.616157,32.958487],[102.61641,32.958327],[102.616466,32.958292],[102.616657,32.958171],[102.616683,32.958155],[102.616813,32.958071],[102.616773,32.957989],[102.61714,32.957866],[102.617603,32.957574],[102.61982,32.956263],[102.620567,32.955685],[102.621524,32.954943],[102.622672,32.953755],[102.62291,32.953509],[102.623137,32.953362],[102.623227,32.953304],[102.62369,32.953007],[102.623828,32.952861],[102.623952,32.952768],[102.624102,32.95268],[102.624407,32.952583],[102.624521,32.952567],[102.624575,32.952549],[102.624634,32.95253],[102.624718,32.952503],[102.624784,32.952481],[102.624898,32.952443],[102.624993,32.952412],[102.625048,32.952413],[102.625092,32.952414],[102.625819,32.952428],[102.625966,32.95243],[102.626001,32.952431],[102.62601,32.952431],[102.626055,32.952432],[102.626411,32.952439],[102.626533,32.952441],[102.628126,32.95285],[102.629362,32.95283],[102.629667,32.952825],[102.629867,32.952653],[102.630014,32.952525],[102.630043,32.952501],[102.630072,32.952476],[102.630581,32.952036],[102.630586,32.952031],[102.631193,32.951022],[102.631212,32.950989],[102.631325,32.950801],[102.631305,32.95058],[102.631292,32.950435],[102.631289,32.950407],[102.631281,32.950321],[102.631268,32.950179],[102.631261,32.950096],[102.631253,32.950011],[102.631239,32.949864],[102.631226,32.949717],[102.631147,32.949632],[102.631026,32.949501],[102.630945,32.949414],[102.630797,32.949254],[102.630717,32.949168],[102.630664,32.949111],[102.630559,32.949094],[102.630223,32.94904],[102.630073,32.949016],[102.629896,32.948988],[102.629789,32.94897],[102.629708,32.948958],[102.629671,32.948952],[102.62965,32.948949],[102.629514,32.948927],[102.629305,32.949017],[102.629284,32.949026],[102.629275,32.949029],[102.629149,32.949084],[102.629124,32.949091],[102.629128,32.949072],[102.629128,32.949052],[102.629128,32.94903],[102.629132,32.94902],[102.62915,32.949005],[102.629183,32.948969],[102.629237,32.948921],[102.629284,32.948885],[102.62931,32.948845],[102.629287,32.948833],[102.629242,32.94884],[102.62918,32.948888],[102.629121,32.948941],[102.629036,32.948996],[102.628909,32.949071],[102.628805,32.949141],[102.628718,32.949208],[102.628679,32.949261],[102.628679,32.949286],[102.62867,32.94929],[102.627807,32.949785],[102.627695,32.949759],[102.627607,32.949758],[102.627511,32.949803],[102.627333,32.949871],[102.627195,32.949893],[102.627028,32.949901],[102.626858,32.949902],[102.626711,32.949872],[102.626617,32.949834],[102.626523,32.949756],[102.626241,32.949485],[102.62597,32.949274],[102.625912,32.949199],[102.625857,32.949129],[102.625849,32.949119],[102.625835,32.949102],[102.625803,32.949061],[102.625727,32.948963],[102.625684,32.948907],[102.625731,32.948804],[102.625736,32.948794],[102.625673,32.948727],[102.625545,32.948604],[102.625474,32.948537],[102.625371,32.948488],[102.625351,32.948476],[102.625221,32.948308],[102.624921,32.94792],[102.624661,32.947719],[102.624519,32.94761],[102.624337,32.947469],[102.62409,32.947278],[102.6239,32.947298],[102.623772,32.947322],[102.623654,32.947338],[102.623541,32.947333],[102.623575,32.947311],[102.623661,32.947282],[102.623752,32.947253],[102.623829,32.94723],[102.623969,32.947185],[102.62395,32.94717],[102.623915,32.947143],[102.623865,32.947114],[102.623832,32.947094],[102.623569,32.946939],[102.62325,32.946751],[102.622588,32.94636],[102.622215,32.94592],[102.622203,32.945672],[102.6222,32.945615],[102.622184,32.94527],[102.622188,32.945178],[102.622282,32.945131],[102.622399,32.94504],[102.622461,32.944995],[102.62253,32.944946],[102.622554,32.944902],[102.622627,32.944914],[102.624358,32.944947],[102.624897,32.944973],[102.624921,32.944974],[102.624962,32.944976],[102.625021,32.944979],[102.6252,32.944988],[102.625312,32.944994],[102.625517,32.945004],[102.625704,32.945013],[102.625829,32.945011],[102.625877,32.945011],[102.626547,32.945002],[102.626715,32.944999],[102.626771,32.944999],[102.626956,32.944996],[102.627475,32.944827],[102.627538,32.944807],[102.627781,32.944728],[102.627788,32.944485],[102.627799,32.944073],[102.6278,32.944038],[102.6278,32.94398],[102.627805,32.943247],[102.627806,32.943155],[102.627807,32.942856],[102.627808,32.94282],[102.627809,32.94268],[102.62781,32.942466],[102.62781,32.942438],[102.627811,32.942347],[102.627815,32.941644],[102.627778,32.941492],[102.627763,32.941406],[102.627746,32.941325],[102.627734,32.941265],[102.627706,32.941115],[102.627707,32.941113],[102.627744,32.94106],[102.627748,32.941041],[102.627755,32.941008],[102.627766,32.94096],[102.627786,32.940914],[102.627817,32.940889],[102.627836,32.940881],[102.627841,32.940702],[102.627853,32.940184],[102.627855,32.940176],[102.627857,32.940081],[102.627863,32.93986],[102.627846,32.939758],[102.627841,32.939733],[102.627815,32.93958],[102.627797,32.939471],[102.627788,32.939417],[102.627655,32.938638],[102.627586,32.938556],[102.627572,32.938538],[102.627485,32.938434],[102.62737,32.938296],[102.627091,32.937961],[102.627068,32.937934],[102.627002,32.937855],[102.626862,32.937789],[102.626004,32.937389],[102.625218,32.937134],[102.625103,32.937156],[102.62506,32.937158],[102.624961,32.937152],[102.624854,32.937123],[102.624805,32.937105],[102.624752,32.937074],[102.624729,32.936978],[102.623426,32.93661],[102.623307,32.936597],[102.622872,32.936552],[102.622375,32.936501],[102.62226,32.936489],[102.621987,32.936461],[102.621837,32.936446],[102.620499,32.936311],[102.620468,32.936312],[102.620401,32.936314],[102.620007,32.936327],[102.618958,32.936362],[102.618905,32.936357],[102.617919,32.936263],[102.617902,32.936261],[102.617001,32.935757],[102.616202,32.934903],[102.616183,32.934882],[102.616112,32.934807],[102.616086,32.933994],[102.616977,32.933038],[102.617518,32.933099],[102.617755,32.933125],[102.617769,32.933127],[102.617902,32.933142],[102.618273,32.933184],[102.618315,32.933188],[102.618538,32.933206],[102.618546,32.933207],[102.619521,32.933289],[102.619924,32.933347],[102.620041,32.933364],[102.620127,32.933377],[102.620815,32.933476],[102.621431,32.933512],[102.621677,32.933527],[102.621682,32.933559],[102.621699,32.933675],[102.621698,32.93368],[102.621696,32.93369],[102.621693,32.933708],[102.621769,32.93371],[102.621854,32.933686],[102.621881,32.933675],[102.621992,32.933632],[102.622146,32.933591],[102.622308,32.933513],[102.622452,32.933447],[102.622607,32.933378],[102.622749,32.933313],[102.622869,32.933262],[102.622959,32.933214],[102.623006,32.933178],[102.623085,32.933154],[102.623205,32.933127],[102.623314,32.933071],[102.623394,32.933046],[102.62347,32.932992],[102.623547,32.932913],[102.623691,32.932796],[102.623785,32.932719],[102.623863,32.932619],[102.623915,32.932574],[102.624021,32.932543],[102.624131,32.932516],[102.624212,32.932505],[102.62425,32.932496],[102.624268,32.932451],[102.624296,32.932367],[102.624322,32.932275],[102.62434,32.932118],[102.624352,32.932108],[102.624417,32.932049],[102.624694,32.931801],[102.62483,32.931679],[102.624812,32.931628],[102.624823,32.931597],[102.624853,32.931583],[102.624893,32.931572],[102.624945,32.931545],[102.62497,32.931512],[102.624988,32.931461],[102.624994,32.931421],[102.625017,32.931375],[102.625046,32.931365],[102.625083,32.931365],[102.625159,32.931349],[102.625181,32.931332],[102.625195,32.931307],[102.625206,32.931274],[102.625206,32.931252],[102.625197,32.931232],[102.625169,32.931228],[102.625177,32.931215],[102.625332,32.930966],[102.625345,32.930946],[102.625524,32.93066],[102.625606,32.930529],[102.625621,32.930505],[102.625668,32.93043],[102.625868,32.930111],[102.626012,32.929882],[102.626642,32.929153],[102.626655,32.929138],[102.626676,32.929114],[102.626806,32.928964],[102.627594,32.928481],[102.627833,32.928334],[102.628244,32.927368],[102.62809,32.926724],[102.628072,32.926649],[102.628035,32.926495],[102.627952,32.926149],[102.627941,32.926104],[102.627842,32.925932],[102.627826,32.925905],[102.627822,32.925898],[102.627717,32.925716],[102.627565,32.925452],[102.627544,32.925416],[102.627509,32.925355],[102.627443,32.925242],[102.62737,32.925116],[102.62724,32.924891],[102.627204,32.924827],[102.627159,32.92475],[102.627123,32.924718],[102.626866,32.924491],[102.626683,32.92433],[102.626609,32.924265],[102.626462,32.924135],[102.626306,32.923997],[102.626219,32.92392],[102.626133,32.923866],[102.625869,32.923702],[102.625858,32.923709],[102.625821,32.923754],[102.625802,32.923772],[102.625774,32.923775],[102.625746,32.923751],[102.625732,32.923722],[102.625703,32.92369],[102.625661,32.923676],[102.625633,32.923653],[102.625586,32.923629],[102.62553,32.923609],[102.625475,32.923596],[102.625424,32.923582],[102.625375,32.923548],[102.625368,32.923522],[102.625361,32.923485],[102.625316,32.923467],[102.625238,32.923459],[102.625196,32.923452],[102.625141,32.923431],[102.625101,32.923415],[102.625048,32.923421],[102.624994,32.923441],[102.624965,32.923437],[102.624953,32.923416],[102.624956,32.923393],[102.624992,32.923371],[102.625042,32.923351],[102.625088,32.923338],[102.625125,32.923322],[102.625135,32.923302],[102.625123,32.923279],[102.625064,32.923265],[102.624911,32.923211],[102.624853,32.923176],[102.62479,32.923129],[102.624716,32.923072],[102.624547,32.922905],[102.624522,32.922893],[102.62437,32.922788],[102.624427,32.922741],[102.624406,32.922721],[102.624385,32.922701],[102.62438,32.922696],[102.62423,32.922553],[102.62413,32.922457],[102.623484,32.921839],[102.622876,32.921123],[102.622695,32.920909],[102.6226,32.920797],[102.622552,32.92074],[102.622518,32.920701],[102.622504,32.920684],[102.622472,32.920638],[102.622378,32.920501],[102.622343,32.92045],[102.622252,32.920318],[102.622187,32.920224],[102.622164,32.92019],[102.622167,32.919965],[102.622119,32.919923],[102.62206,32.91986],[102.622022,32.919816],[102.622121,32.919364],[102.622252,32.918768],[102.622264,32.91871],[102.622268,32.918691],[102.622344,32.918642],[102.622456,32.91857],[102.622537,32.918518],[102.622575,32.918494],[102.622727,32.918396],[102.623325,32.91801],[102.624304,32.91738],[102.624471,32.917272],[102.624972,32.916551],[102.625006,32.916494],[102.625056,32.91641],[102.625147,32.916259],[102.625475,32.915709],[102.626131,32.914873],[102.62621,32.914864],[102.626231,32.91482],[102.626316,32.914762],[102.626331,32.914751],[102.626464,32.914602],[102.62657,32.914466],[102.626826,32.914228],[102.627014,32.914039],[102.627174,32.913921],[102.627188,32.913927],[102.627293,32.913989],[102.6273,32.913985],[102.62732,32.913971],[102.627406,32.913915],[102.627409,32.913899],[102.627408,32.913845],[102.627407,32.913819],[102.627407,32.913805],[102.627403,32.913797],[102.627386,32.913787],[102.627359,32.913775],[102.627343,32.913764],[102.627329,32.913749],[102.627312,32.913727],[102.627311,32.913725],[102.627301,32.913705],[102.627296,32.913693],[102.627294,32.913681],[102.627293,32.913665],[102.627293,32.913637],[102.627372,32.913652],[102.627486,32.913682],[102.627566,32.913712],[102.627622,32.913737],[102.627673,32.913766],[102.627717,32.913797],[102.627757,32.913764],[102.627804,32.913724],[102.627857,32.913679],[102.627826,32.913638],[102.627938,32.913564],[102.628346,32.913364],[102.628357,32.913358],[102.628468,32.913304],[102.628729,32.913174],[102.629248,32.912921],[102.629346,32.912872],[102.629352,32.912869],[102.629619,32.912738],[102.630083,32.91251],[102.630222,32.912471],[102.630646,32.912353],[102.63074,32.912327],[102.63089,32.912285],[102.63096,32.912265],[102.631066,32.912236],[102.631528,32.912107],[102.631709,32.912057],[102.632098,32.911948],[102.632122,32.911942],[102.632265,32.911902],[102.632352,32.911849],[102.632554,32.911727],[102.63295,32.911488],[102.633064,32.911482],[102.633099,32.911405],[102.633161,32.911223],[102.633158,32.911157],[102.633459,32.910423],[102.633451,32.909577],[102.633448,32.909315],[102.633446,32.909084],[102.633672,32.908455],[102.633697,32.908384],[102.633706,32.908358],[102.633669,32.908378],[102.633673,32.90837],[102.63376,32.908214],[102.633982,32.908013],[102.634106,32.907965],[102.634151,32.907921],[102.634259,32.907906],[102.634405,32.907885],[102.634408,32.907894],[102.634425,32.907924],[102.63444,32.907938],[102.63451,32.907935],[102.634578,32.90792],[102.634622,32.90792],[102.634669,32.907916],[102.634725,32.907908],[102.634773,32.907902],[102.63481,32.907899],[102.634866,32.90789],[102.634881,32.90788],[102.634845,32.907863],[102.634825,32.907857],[102.634803,32.907842],[102.6348,32.907831],[102.634893,32.907818],[102.634924,32.907813],[102.635186,32.907955],[102.635295,32.908014],[102.635437,32.90806],[102.635548,32.908071],[102.635648,32.908099],[102.635734,32.908135],[102.635777,32.908162],[102.635831,32.908216],[102.635759,32.908208],[102.635631,32.908196],[102.636014,32.908402],[102.636056,32.908415],[102.636157,32.908447],[102.636298,32.908491],[102.636569,32.908575],[102.636573,32.908576],[102.637189,32.908768],[102.637197,32.90877],[102.6372,32.908772],[102.637379,32.908827],[102.637467,32.908792],[102.637512,32.908781],[102.637542,32.908784],[102.637562,32.908815],[102.637562,32.90884],[102.637544,32.908877],[102.63776,32.908864],[102.637774,32.908863],[102.638553,32.908816],[102.638689,32.908634],[102.638712,32.908603],[102.638719,32.908595],[102.638775,32.908519],[102.63883,32.908446],[102.638818,32.908252],[102.638808,32.908094],[102.638816,32.907979],[102.638854,32.907902],[102.638858,32.907849],[102.638857,32.907807],[102.638875,32.907784],[102.638899,32.907758],[102.638926,32.907731],[102.638949,32.907703],[102.638974,32.907675],[102.638991,32.907659],[102.638979,32.90757],[102.638977,32.90756],[102.638906,32.907058],[102.638899,32.907013],[102.638848,32.906654],[102.638847,32.906642],[102.638846,32.906641],[102.63881,32.906386],[102.638776,32.906093],[102.638742,32.905803],[102.638736,32.905752],[102.638736,32.90575],[102.638653,32.905044],[102.638717,32.904836],[102.63872,32.904826],[102.638729,32.904799],[102.638725,32.904683],[102.638813,32.904022],[102.638917,32.903767],[102.639114,32.903378],[102.639166,32.903117],[102.639282,32.902909],[102.639399,32.90291],[102.639537,32.902585],[102.639571,32.902558],[102.639772,32.902395],[102.63978,32.902389],[102.640913,32.901475],[102.641605,32.901035],[102.64163,32.901019],[102.641649,32.901007],[102.641843,32.900884],[102.642057,32.900824],[102.642078,32.900818],[102.642113,32.900808],[102.6432,32.900504],[102.643417,32.900587],[102.643604,32.900659],[102.643616,32.900664],[102.643849,32.900753],[102.643867,32.90076],[102.644057,32.900946],[102.644144,32.901032],[102.644163,32.901051],[102.644176,32.901064],[102.644289,32.901174],[102.644939,32.902038],[102.645604,32.902375],[102.646228,32.902343],[102.646439,32.902333],[102.64648,32.90233],[102.64676,32.902316],[102.647604,32.901963],[102.64764,32.901948],[102.647781,32.901889],[102.647921,32.901721],[102.647949,32.901687],[102.647956,32.901679],[102.647988,32.90164],[102.648278,32.90129],[102.648493,32.900872],[102.64858,32.900704],[102.648589,32.900687],[102.648685,32.900502],[102.648717,32.900438],[102.648734,32.900406],[102.648746,32.900349],[102.64878,32.900186],[102.648955,32.899355],[102.648741,32.898383],[102.64874,32.898377],[102.648705,32.898318],[102.648697,32.898305],[102.648722,32.898283],[102.648726,32.898265],[102.648715,32.89824],[102.64869,32.898216],[102.648662,32.898199],[102.64862,32.898176],[102.648604,32.89815],[102.648575,32.8981],[102.648468,32.897922],[102.648421,32.897844],[102.648415,32.897833],[102.648333,32.897805],[102.648051,32.897713],[102.647969,32.897665],[102.64793,32.897624],[102.64786,32.897547],[102.647846,32.897512],[102.647823,32.897475],[102.647788,32.897445],[102.647752,32.897419],[102.647728,32.897394],[102.647717,32.897316],[102.647714,32.897294],[102.647879,32.896904],[102.647916,32.896819],[102.648151,32.89655],[102.648187,32.896508],[102.648212,32.89648],[102.64829,32.896338],[102.648418,32.896141],[102.648588,32.895963],[102.648795,32.895776],[102.649038,32.895568],[102.64909,32.895525],[102.649158,32.895495],[102.649227,32.895473],[102.649337,32.895435],[102.649552,32.895349],[102.649682,32.895287],[102.649687,32.895212],[102.649741,32.895177],[102.650277,32.894835],[102.650313,32.894808],[102.651363,32.894026],[102.651553,32.893885],[102.652916,32.893261],[102.65373,32.893353],[102.653779,32.893359],[102.654404,32.893727],[102.654774,32.893945],[102.654798,32.893966],[102.654896,32.894049],[102.654965,32.894054],[102.655054,32.894067],[102.655118,32.894094],[102.655163,32.894122],[102.655207,32.894169],[102.655241,32.89421],[102.655286,32.894246],[102.655358,32.894329],[102.655407,32.894417],[102.655436,32.894503],[102.655666,32.894697],[102.655688,32.894715],[102.655809,32.894817],[102.656172,32.895635],[102.65702,32.896301],[102.657266,32.89632],[102.657312,32.896324],[102.657283,32.896342],[102.657314,32.896348],[102.657345,32.896369],[102.657355,32.896381],[102.657375,32.896389],[102.657405,32.896396],[102.657512,32.896339],[102.657554,32.89631],[102.657595,32.896269],[102.657647,32.896223],[102.65768,32.896189],[102.657707,32.89615],[102.657719,32.896123],[102.657734,32.896075],[102.657742,32.896022],[102.657748,32.895951],[102.65776,32.895902],[102.657775,32.895842],[102.657791,32.89579],[102.657799,32.895756],[102.657788,32.895639],[102.657788,32.895596],[102.657781,32.895561],[102.657774,32.895521],[102.657763,32.89547],[102.657763,32.89542],[102.657769,32.895364],[102.657779,32.895304],[102.657807,32.895215],[102.657831,32.895167],[102.657837,32.895136],[102.657844,32.895084],[102.657853,32.895028],[102.657877,32.894944],[102.657896,32.894884],[102.657916,32.894839],[102.65794,32.894795],[102.657951,32.894777],[102.65794,32.894737],[102.657903,32.8946],[102.65772,32.893918],[102.657717,32.893906],[102.657666,32.893716],[102.657708,32.893378],[102.657727,32.89323],[102.658175,32.893014],[102.658214,32.892995],[102.659423,32.892734],[102.659453,32.892706],[102.660163,32.892018],[102.660845,32.891706],[102.661289,32.891693],[102.661711,32.891681],[102.662236,32.891849],[102.662522,32.89194],[102.662943,32.892394],[102.663252,32.89328],[102.663256,32.893293],[102.663256,32.893314],[102.663254,32.893365],[102.663282,32.893498],[102.663286,32.893564],[102.663283,32.89368],[102.663284,32.893795],[102.663309,32.893941],[102.663343,32.893988],[102.663323,32.89421],[102.66337,32.89451],[102.663371,32.89486],[102.663359,32.895057],[102.663396,32.895284],[102.663669,32.895898],[102.664223,32.89676],[102.664933,32.89722],[102.664967,32.897222],[102.664991,32.897223],[102.665116,32.897231],[102.665347,32.897244],[102.665707,32.897265],[102.665743,32.897268],[102.665941,32.897279],[102.666727,32.896685],[102.668332,32.895985],[102.668715,32.895839],[102.668775,32.895816],[102.668799,32.895807],[102.669116,32.895686],[102.669132,32.89568],[102.669277,32.895625],[102.66945,32.895559],[102.66958,32.895536],[102.66962,32.895528],[102.669704,32.895513],[102.670465,32.895375],[102.67052,32.895342],[102.670569,32.895312],[102.670716,32.895224],[102.671247,32.894903],[102.671862,32.894594],[102.671904,32.894503],[102.67193,32.894503],[102.671994,32.894497],[102.672181,32.894434],[102.672417,32.894316],[102.672699,32.894213],[102.673208,32.894028],[102.673582,32.893891],[102.673727,32.893784],[102.673732,32.89378],[102.673905,32.893652],[102.673934,32.893631],[102.67406,32.893538],[102.674171,32.893456],[102.674267,32.893385],[102.674244,32.893347],[102.674224,32.89325],[102.674259,32.893207],[102.674391,32.893184],[102.674546,32.89318],[102.67471,32.89306],[102.674932,32.893105],[102.674934,32.893105],[102.675121,32.893143],[102.675156,32.89315],[102.675214,32.893161],[102.67538,32.893194],[102.67542,32.893233],[102.675437,32.893248],[102.6766,32.894353],[102.67769,32.89476],[102.677699,32.894764],[102.677744,32.89478],[102.677992,32.89485],[102.678985,32.895128],[102.679132,32.895223],[102.67922,32.895247],[102.679411,32.895317],[102.679629,32.895423],[102.679745,32.895517],[102.679779,32.895555],[102.679814,32.895643],[102.67982,32.895665],[102.680026,32.895797],[102.680198,32.895948],[102.680475,32.896192],[102.68052,32.896233],[102.681483,32.897082],[102.682138,32.897476],[102.682161,32.89749],[102.682273,32.897558],[102.682409,32.89764],[102.682525,32.89771],[102.682605,32.89778],[102.682616,32.89779],[102.683137,32.898249],[102.683128,32.898592],[102.683182,32.898554],[102.683219,32.89852],[102.683253,32.898474],[102.683266,32.898424],[102.683302,32.898416],[102.683301,32.898442],[102.683301,32.89855],[102.683286,32.898632],[102.683259,32.898671],[102.683163,32.898703],[102.683124,32.898712],[102.683121,32.898865],[102.683117,32.898998],[102.683116,32.899033],[102.683115,32.89906],[102.683071,32.899073],[102.683051,32.899082],[102.683031,32.899093],[102.683013,32.899108],[102.682987,32.89914],[102.682675,32.899336],[102.682595,32.899352],[102.682578,32.899356],[102.682538,32.899364],[102.68195,32.899485],[102.681367,32.899717],[102.68106,32.9],[102.680776,32.900262],[102.680677,32.900354],[102.680458,32.900829],[102.680429,32.90089],[102.680419,32.900913],[102.680306,32.901158],[102.680333,32.90119],[102.680348,32.901209],[102.680387,32.901265],[102.680397,32.901294],[102.680399,32.901325],[102.680397,32.90136],[102.68039,32.9014],[102.680548,32.901609],[102.681053,32.901841],[102.681107,32.901866],[102.681351,32.901978],[102.681595,32.90209],[102.682116,32.902328],[102.683152,32.9032],[102.683054,32.903717],[102.683052,32.903728],[102.682995,32.904034],[102.682939,32.904074],[102.682898,32.904094],[102.68285,32.904113],[102.682817,32.904128],[102.682796,32.904149],[102.68277,32.904196],[102.682647,32.904257],[102.682643,32.904259],[102.681571,32.904794],[102.681325,32.905214],[102.681288,32.905277],[102.681218,32.905396],[102.681343,32.906169],[102.68191,32.906545],[102.682449,32.906578],[102.682606,32.906587],[102.682777,32.906597],[102.682784,32.906598],[102.682832,32.906601],[102.682871,32.906603],[102.683042,32.906606],[102.683315,32.906611],[102.683784,32.90662],[102.683806,32.906623],[102.684065,32.906654],[102.684176,32.906668],[102.684588,32.906717],[102.684669,32.906727],[102.685024,32.90677],[102.685174,32.906788],[102.685367,32.906812],[102.685487,32.906818],[102.68578,32.906834],[102.685877,32.906839],[102.686487,32.906872],[102.68652,32.906874],[102.686622,32.906833],[102.686633,32.906829],[102.686929,32.90671],[102.686953,32.906701],[102.687006,32.90668],[102.688349,32.906826],[102.688397,32.906859],[102.688524,32.906942],[102.689484,32.907578],[102.689666,32.907732],[102.689737,32.907793],[102.689756,32.907809],[102.690044,32.908054],[102.690057,32.908066],[102.690442,32.908393],[102.690785,32.908684],[102.690849,32.908739],[102.691092,32.908822],[102.691436,32.908938],[102.691508,32.908962],[102.691524,32.908967],[102.691541,32.908973],[102.691632,32.909004],[102.691648,32.909009],[102.692375,32.909255],[102.694242,32.909614],[102.695183,32.90955],[102.69524,32.909546],[102.696122,32.909486],[102.697161,32.909169],[102.697536,32.909054],[102.697544,32.909051],[102.697625,32.909027],[102.697734,32.908993],[102.69829,32.90882],[102.698352,32.908801],[102.698446,32.908772],[102.698983,32.908605],[102.700235,32.908392],[102.700258,32.908388],[102.700469,32.908352],[102.700916,32.908276],[102.701927,32.907981],[102.702094,32.907932],[102.702106,32.907929],[102.702224,32.907894],[102.702512,32.907857],[102.703616,32.907717],[102.703656,32.907712],[102.703674,32.90771],[102.703898,32.907681],[102.704457,32.90761],[102.704478,32.907608],[102.704734,32.907575],[102.704856,32.907609],[102.70505,32.907662],[102.705442,32.907771],[102.705574,32.907808],[102.705833,32.907879],[102.705886,32.907918],[102.705893,32.907924],[102.706339,32.908251],[102.706367,32.908272],[102.706412,32.908304],[102.706683,32.908504],[102.707575,32.908692],[102.707646,32.908707],[102.707735,32.908726],[102.708094,32.908687],[102.708159,32.90868],[102.708216,32.908674],[102.708361,32.908658],[102.7087,32.908622],[102.709571,32.908435],[102.710292,32.908524],[102.710722,32.908578],[102.710755,32.908581],[102.710802,32.908622],[102.710956,32.908706],[102.71108,32.908821],[102.711279,32.908959],[102.711516,32.909092],[102.711733,32.909211],[102.711933,32.909306],[102.712116,32.909376],[102.712227,32.909408],[102.712252,32.909414],[102.712418,32.909461],[102.712609,32.909589],[102.712665,32.909666],[102.712776,32.909808],[102.712907,32.910053],[102.713413,32.910575],[102.713932,32.910911],[102.714123,32.911034],[102.714274,32.911047],[102.714299,32.911049],[102.714365,32.911054],[102.714747,32.911086],[102.71487,32.911103],[102.714956,32.911162],[102.715039,32.911186],[102.715117,32.911207],[102.715182,32.911236],[102.715254,32.911274],[102.715321,32.911309],[102.715372,32.911327],[102.715443,32.911336],[102.715582,32.911339],[102.715599,32.911339],[102.716182,32.911853],[102.716183,32.911854],[102.716218,32.911884],[102.716229,32.911912],[102.71643,32.912388],[102.716465,32.91247],[102.71658,32.912743],[102.71758,32.913167],[102.718304,32.913058],[102.71978,32.912873],[102.719994,32.912846],[102.720509,32.912563],[102.720696,32.91246],[102.721067,32.912257],[102.722416,32.911998],[102.722522,32.911978],[102.722528,32.911977],[102.722541,32.911974],[102.722608,32.911961],[102.722614,32.91196],[102.722804,32.912009],[102.722942,32.912045],[102.72308,32.91208],[102.723202,32.912112],[102.723754,32.912254],[102.72387,32.912284],[102.724068,32.912336],[102.724086,32.91234],[102.724443,32.912432],[102.724455,32.912436],[102.724466,32.912438],[102.724754,32.912513],[102.724813,32.912528],[102.724963,32.912605],[102.72498,32.912613],[102.724997,32.912622],[102.726047,32.913159],[102.726388,32.913223],[102.726459,32.913236],[102.726484,32.913241],[102.726503,32.913245],[102.726707,32.913283],[102.726669,32.913316],[102.726672,32.913328],[102.726683,32.913328],[102.726769,32.913295],[102.727005,32.913339],[102.727323,32.913157],[102.727329,32.913152],[102.727385,32.913042],[102.727519,32.912918],[102.727617,32.912821],[102.727718,32.912715],[102.7278,32.912634],[102.72786,32.9126],[102.727891,32.912583],[102.728089,32.912489],[102.728131,32.912471],[102.728178,32.912451],[102.728273,32.91241],[102.728318,32.91239],[102.728723,32.912359],[102.728853,32.912364],[102.728923,32.912373],[102.728956,32.912386],[102.729003,32.912416],[102.729104,32.912447],[102.729271,32.91247],[102.729416,32.912485],[102.729546,32.912448],[102.729624,32.912485],[102.72991,32.912621],[102.730192,32.913232],[102.730268,32.913397],[102.730317,32.913503],[102.730318,32.913505],[102.730393,32.913668],[102.730416,32.913718],[102.730457,32.913807],[102.730451,32.914056],[102.73045,32.914098],[102.730431,32.914821],[102.730604,32.915148],[102.730611,32.915197],[102.730646,32.915269],[102.730666,32.915328],[102.730692,32.915396],[102.73071,32.915442],[102.730742,32.915484],[102.730774,32.915564],[102.730825,32.915564],[102.730844,32.9156],[102.7311,32.915744],[102.731291,32.915851],[102.732131,32.916324],[102.732409,32.916481],[102.732834,32.917172],[102.732956,32.917371],[102.733084,32.91758],[102.733241,32.917835],[102.733385,32.91797],[102.733601,32.918174],[102.733813,32.918373],[102.733821,32.918381],[102.733962,32.918514],[102.734196,32.918751],[102.734407,32.918941],[102.734604,32.919118],[102.734786,32.919267],[102.734929,32.919384],[102.735104,32.919528],[102.735408,32.919777],[102.735575,32.919913],[102.735707,32.920021],[102.735922,32.920198],[102.736177,32.920407],[102.736439,32.920621],[102.73663,32.920778],[102.736807,32.920895],[102.736945,32.920987],[102.737116,32.921101],[102.737241,32.921184],[102.737408,32.921296],[102.737582,32.921412],[102.737763,32.921532],[102.737933,32.921646],[102.738081,32.921744],[102.73822,32.921837],[102.738326,32.921907],[102.738424,32.921973],[102.738578,32.922075],[102.738677,32.922141],[102.738759,32.922196],[102.738913,32.922291],[102.739069,32.922388],[102.73921,32.922475],[102.739349,32.922569],[102.739501,32.92266],[102.739661,32.922755],[102.739811,32.922848],[102.739923,32.922917],[102.740037,32.922988],[102.740175,32.923074],[102.740282,32.92314],[102.740368,32.923194],[102.74047,32.923257],[102.740621,32.923268],[102.740795,32.923289],[102.740974,32.92334],[102.74112,32.923392],[102.741241,32.923447],[102.74136,32.923474],[102.742381,32.923703],[102.742473,32.923724],[102.742664,32.923748],[102.742859,32.923772],[102.742902,32.923777],[102.742914,32.923778],[102.742972,32.923786],[102.743241,32.923819],[102.74332,32.923671],[102.743392,32.923538],[102.743306,32.923128],[102.743254,32.923076],[102.743238,32.923032],[102.74322,32.922971],[102.743208,32.92291],[102.743198,32.922843],[102.743198,32.922799],[102.743221,32.922724],[102.743266,32.922591],[102.743284,32.92251],[102.743288,32.922482],[102.743265,32.922461],[102.743185,32.922477],[102.743209,32.92233],[102.743253,32.922069],[102.743256,32.922054],[102.74328,32.921913],[102.743304,32.921767],[102.743312,32.921719],[102.74334,32.921553],[102.743591,32.921428],[102.743748,32.92135],[102.74378,32.921278],[102.743816,32.921258],[102.743884,32.921212],[102.744126,32.921157],[102.744397,32.92113],[102.744411,32.921129],[102.744895,32.921081],[102.744916,32.92106],[102.744943,32.921059],[102.744962,32.921075],[102.745525,32.92102],[102.746005,32.921121],[102.746019,32.921124],[102.746121,32.921145],[102.746329,32.921189],[102.746567,32.921239],[102.746578,32.921241],[102.747119,32.921684],[102.747138,32.9217],[102.747181,32.921783],[102.747305,32.922024],[102.747367,32.922131],[102.747411,32.922251],[102.747439,32.922325],[102.747439,32.922335],[102.747441,32.92239],[102.748182,32.922896],[102.748981,32.923567],[102.749043,32.92362],[102.749067,32.92364],[102.749539,32.923916],[102.75014,32.924268],[102.750821,32.924666],[102.750897,32.92471],[102.752718,32.925775],[102.753762,32.926362],[102.754013,32.926339],[102.754486,32.926294],[102.755005,32.926005],[102.75512,32.92594],[102.755324,32.925675],[102.755343,32.92565],[102.755767,32.9251],[102.755851,32.925049],[102.75694,32.92439],[102.757962,32.923922],[102.759033,32.923413],[102.760483,32.923155],[102.76197,32.923076],[102.763326,32.923003],[102.763664,32.922917],[102.763759,32.922893],[102.763859,32.922868],[102.765263,32.922511],[102.768211,32.921995],[102.768917,32.921832],[102.769064,32.921799],[102.770498,32.921468],[102.770824,32.921393],[102.771647,32.921183],[102.772644,32.92093],[102.772761,32.9209],[102.774166,32.920519],[102.774659,32.920528],[102.775261,32.920538],[102.775272,32.920539],[102.775292,32.920549],[102.775406,32.92053],[102.775565,32.920533],[102.775685,32.920557],[102.775724,32.920578],[102.775837,32.920637],[102.775953,32.920716],[102.77599,32.920763],[102.776038,32.920889],[102.776038,32.920923],[102.776003,32.920942],[102.776782,32.921742],[102.777396,32.9222],[102.778451,32.92234],[102.779793,32.922567],[102.780707,32.922543],[102.780821,32.922521],[102.780877,32.92251],[102.781004,32.922486],[102.781198,32.922448],[102.781227,32.922443],[102.781286,32.922431],[102.781674,32.922357],[102.781909,32.922218],[102.781916,32.922214],[102.782113,32.922097],[102.782407,32.921923],[102.783091,32.921058],[102.783102,32.921043],[102.783114,32.921025],[102.783167,32.92094],[102.783366,32.92062],[102.783454,32.920564],[102.783543,32.920473],[102.783617,32.920393],[102.783675,32.920321],[102.78412,32.920115],[102.784185,32.920084],[102.78422,32.920068],[102.784388,32.919977],[102.784709,32.919681],[102.785332,32.919338],[102.785571,32.919205],[102.785616,32.919177],[102.785818,32.919049],[102.785914,32.918988],[102.786003,32.918932],[102.786149,32.918839],[102.786208,32.918801],[102.786525,32.918546],[102.786551,32.918524],[102.78661,32.918476],[102.786756,32.918358],[102.787174,32.918127],[102.78726,32.918079],[102.787287,32.918051],[102.787318,32.917956],[102.787394,32.917881],[102.787617,32.917841],[102.787644,32.917837],[102.787859,32.917819],[102.787935,32.917821],[102.788048,32.917806],[102.788186,32.917746],[102.788313,32.917692],[102.788329,32.917688],[102.788463,32.917656],[102.788542,32.91766],[102.788644,32.917719],[102.788656,32.91774],[102.78886,32.917735],[102.789098,32.91773],[102.789228,32.917726],[102.789246,32.917726],[102.789323,32.917724],[102.789727,32.917693],[102.790093,32.91736],[102.790161,32.917035],[102.790185,32.91692],[102.790195,32.916871],[102.790195,32.916856],[102.790184,32.916358],[102.790176,32.915935],[102.790175,32.915889],[102.790168,32.915826],[102.790066,32.914868],[102.790069,32.914745],[102.790084,32.91414],[102.79009,32.913887],[102.790291,32.913022],[102.790959,32.912533],[102.791086,32.91244],[102.791095,32.912434],[102.791248,32.912322],[102.791313,32.912243],[102.791388,32.912299],[102.791459,32.912257],[102.791503,32.91218],[102.791515,32.912118],[102.791531,32.912086],[102.791561,32.912038],[102.791593,32.911993],[102.79161,32.911953],[102.791637,32.911851],[102.791772,32.911688],[102.791795,32.91166],[102.792171,32.911206],[102.79235,32.910484],[102.792381,32.91036],[102.792427,32.910174],[102.79243,32.91016],[102.792448,32.91009],[102.792451,32.910076],[102.792469,32.910003],[102.792499,32.909857],[102.792674,32.908987],[102.792659,32.908868],[102.792589,32.908296],[102.792588,32.908293],[102.792562,32.908079],[102.79258,32.907362],[102.792598,32.906607],[102.792311,32.905583],[102.792201,32.904599],[102.792147,32.904164],[102.79194,32.902481],[102.791918,32.901574],[102.791897,32.90063],[102.792016,32.899424],[102.792136,32.898708],[102.792174,32.898483],[102.792529,32.897642],[102.792982,32.896572],[102.793136,32.895782],[102.793334,32.894993],[102.793577,32.894242],[102.794106,32.892741],[102.794852,32.891546],[102.795242,32.890232],[102.795807,32.887297],[102.796124,32.88534],[102.795936,32.884076],[102.795932,32.884053],[102.795721,32.883558],[102.794845,32.882788],[102.794064,32.88183],[102.792755,32.880486],[102.792195,32.879607],[102.792015,32.87783],[102.791732,32.876617],[102.791887,32.875789],[102.791954,32.874884],[102.791453,32.873441],[102.790717,32.872446],[102.790649,32.871614],[102.790525,32.871394],[102.789877,32.870242],[102.78952,32.869795],[102.789357,32.869591],[102.788486,32.868632],[102.787961,32.868131],[102.787511,32.86784],[102.787497,32.867831],[102.787411,32.867776],[102.787402,32.86777],[102.787301,32.867705],[102.786635,32.867461],[102.78658,32.867441],[102.786548,32.867429],[102.786326,32.867347],[102.785864,32.867321],[102.785395,32.867294],[102.785388,32.867293],[102.784325,32.866859],[102.784121,32.866063],[102.784091,32.865458],[102.78402,32.864739],[102.783364,32.862349],[102.782933,32.859888],[102.782824,32.858867],[102.782848,32.857923],[102.782782,32.856978],[102.78237,32.855536],[102.781341,32.853782],[102.780965,32.852718],[102.780298,32.850743],[102.77869,32.848865],[102.778394,32.84818],[102.778601,32.847051],[102.77866,32.844711],[102.778935,32.840828],[102.779019,32.839244],[102.778864,32.838297],[102.778723,32.836784],[102.777969,32.834732],[102.777469,32.833251],[102.777068,32.831432],[102.776906,32.830668],[102.776818,32.830249],[102.776788,32.830105],[102.776835,32.829659],[102.776963,32.828447],[102.777092,32.8281],[102.77749,32.827022],[102.777562,32.825929],[102.777201,32.824299],[102.776928,32.822671],[102.776819,32.82165],[102.77715,32.820938],[102.778082,32.819407],[102.778698,32.818021],[102.778842,32.815834],[102.778791,32.814285],[102.778952,32.813193],[102.778714,32.811981],[102.778086,32.810271],[102.778451,32.808201],[102.778828,32.807415],[102.779383,32.80667],[102.779207,32.806553],[102.777841,32.805774],[102.774801,32.803983],[102.772867,32.802665],[102.771281,32.801731],[102.77063,32.800927],[102.769432,32.798791],[102.7685,32.796736],[102.767758,32.794231],[102.767846,32.792496],[102.768283,32.791107],[102.768401,32.789977],[102.768603,32.789036],[102.768283,32.783934],[102.766972,32.782778],[102.764572,32.780432],[102.76358,32.779018],[102.762794,32.778286],[102.762059,32.777292],[102.760564,32.776321],[102.759334,32.775469],[102.757893,32.774121],[102.757023,32.7732],[102.756686,32.772363],[102.756347,32.77164],[102.755127,32.77041],[102.753668,32.76978],[102.751567,32.769817],[102.749698,32.769482],[102.749676,32.769478],[102.749675,32.769477],[102.74874,32.769307],[102.748725,32.769304],[102.748457,32.769256],[102.748441,32.769253],[102.74832,32.769231],[102.747987,32.769127],[102.747886,32.769096],[102.747007,32.768823],[102.746988,32.768817],[102.746903,32.768791],[102.746896,32.768786],[102.746884,32.768778],[102.745408,32.767744],[102.743606,32.766541],[102.74239,32.76516],[102.740571,32.764057],[102.739106,32.763074],[102.738288,32.762456],[102.736213,32.762066],[102.734195,32.761778],[102.733005,32.761706],[102.732346,32.761845],[102.731268,32.762077],[102.729958,32.762053],[102.728347,32.762125],[102.726982,32.761949],[102.725669,32.762026],[102.723295,32.761681],[102.722461,32.761665],[102.721722,32.761859],[102.721562,32.761901],[102.721528,32.761909],[102.721535,32.761574],[102.721403,32.760994],[102.721183,32.760042],[102.721268,32.758641],[102.721303,32.758239],[102.721475,32.756253],[102.72146,32.754933],[102.721534,32.753945],[102.720966,32.753233],[102.720301,32.75252],[102.719211,32.751263],[102.719018,32.751013],[102.718502,32.750343],[102.717787,32.749711],[102.717373,32.748714],[102.717,32.748006],[102.71673,32.745239],[102.716646,32.743862],[102.716626,32.743546],[102.716983,32.73914],[102.717228,32.737165],[102.717499,32.736098],[102.717708,32.735566],[102.716965,32.734109],[102.716123,32.732691],[102.715777,32.730953],[102.714921,32.728174],[102.71461,32.727312],[102.714009,32.725642],[102.713869,32.723495],[102.713414,32.722209],[102.713119,32.720389],[102.712902,32.719354],[102.712407,32.717695],[102.711905,32.716367],[102.711114,32.714868],[102.710765,32.713253],[102.709942,32.711094],[102.709183,32.710255],[102.709519,32.70857],[102.710358,32.706276],[102.710897,32.705149],[102.711045,32.704072],[102.710474,32.703337],[102.710017,32.702332],[102.709341,32.701549],[102.708339,32.700897],[102.707656,32.700386],[102.706591,32.70014],[102.705215,32.699435],[102.704211,32.698918],[102.703359,32.698676],[102.702284,32.698838],[102.70224,32.698831],[102.701003,32.698633],[102.699845,32.697841],[102.69933,32.697017],[102.698919,32.696329],[102.698738,32.695012],[102.698869,32.694109],[102.698802,32.692522],[102.698076,32.691602],[102.696438,32.690711],[102.695055,32.690323],[102.693941,32.690213],[102.693933,32.690212],[102.693482,32.690181],[102.693023,32.69015],[102.691877,32.691413],[102.68777,32.695936],[102.687705,32.696008],[102.683759,32.700354],[102.68316,32.700868],[102.682445,32.701482],[102.681951,32.701906],[102.680319,32.702827],[102.678915,32.703254],[102.678,32.703419],[102.676411,32.70271],[102.675476,32.70156],[102.675466,32.701628],[102.675395,32.701302],[102.675186,32.700339],[102.675227,32.698736],[102.674756,32.696418],[102.674282,32.694228],[102.673717,32.692614],[102.67323,32.690937],[102.672292,32.689059],[102.671802,32.687511],[102.671464,32.685901],[102.671496,32.684682],[102.67192,32.682958],[102.672356,32.681203],[102.672635,32.680083],[102.672656,32.679999],[102.672682,32.679893],[102.673309,32.679135],[102.674451,32.678964],[102.67544,32.678854],[102.676287,32.679232],[102.67635,32.67926],[102.676639,32.67939],[102.678383,32.679422],[102.680135,32.679134],[102.681366,32.678451],[102.681637,32.678265],[102.681667,32.678244],[102.681706,32.678218],[102.681757,32.678183],[102.681831,32.678132],[102.682246,32.677847],[102.682241,32.677779],[102.682238,32.677683],[102.682263,32.677557],[102.682279,32.677463],[102.68229,32.677449],[102.682321,32.677414],[102.682326,32.677409],[102.682385,32.677355],[102.682413,32.677294],[102.682416,32.677278],[102.682431,32.677204],[102.68247,32.677154],[102.682618,32.677107],[102.682743,32.677065],[102.682844,32.677026],[102.682918,32.677014],[102.682963,32.677006],[102.683032,32.677005],[102.683093,32.677005],[102.683215,32.676868],[102.683384,32.676676],[102.683689,32.675608],[102.683601,32.675309],[102.683561,32.675298],[102.683283,32.675222],[102.68256,32.675187],[102.682356,32.675177],[102.682117,32.675122],[102.681991,32.67516],[102.681835,32.675168],[102.681748,32.675149],[102.681649,32.6751],[102.681521,32.675014],[102.681482,32.674975],[102.681411,32.674893],[102.681323,32.674784],[102.681159,32.674621],[102.681082,32.674508],[102.681038,32.674407],[102.681001,32.674262],[102.681076,32.673936],[102.681534,32.673566],[102.682123,32.673486],[102.68224,32.67347],[102.682334,32.673489],[102.683125,32.673646],[102.683294,32.673679],[102.683994,32.673692],[102.684191,32.67371],[102.684761,32.673761],[102.685199,32.673653],[102.685276,32.673635],[102.685326,32.673616],[102.685475,32.673561],[102.685527,32.673541],[102.68576,32.673454],[102.685769,32.673103],[102.685713,32.672804],[102.685395,32.672717],[102.684462,32.672916],[102.684081,32.672828],[102.683798,32.672606],[102.683765,32.672199],[102.683765,32.672191],[102.68375,32.67201],[102.68374,32.671985],[102.683692,32.67186],[102.683682,32.671834],[102.683669,32.671799],[102.683542,32.67147],[102.68354,32.671465],[102.683467,32.671388],[102.683452,32.671372],[102.683415,32.671332],[102.683073,32.670969],[102.682674,32.670861],[102.682626,32.670848],[102.682328,32.670767],[102.682315,32.670764],[102.68225,32.670765],[102.682149,32.670761],[102.682008,32.670744],[102.681933,32.670728],[102.681834,32.670695],[102.681696,32.670622],[102.681564,32.670516],[102.681539,32.670496],[102.681376,32.670362],[102.681293,32.670263],[102.681219,32.670179],[102.681207,32.670113],[102.681199,32.670106],[102.680891,32.669823],[102.680857,32.669791],[102.68084,32.669776],[102.680831,32.669767],[102.680707,32.669653],[102.680427,32.669351],[102.679888,32.669178],[102.67976,32.669138],[102.679442,32.669037],[102.679356,32.66901],[102.679342,32.669005],[102.679253,32.668977],[102.67908,32.668782],[102.678911,32.668592],[102.678699,32.668128],[102.678713,32.667587],[102.67855,32.666735],[102.678393,32.666535],[102.678355,32.666486],[102.678324,32.666447],[102.678085,32.66614],[102.678058,32.666133],[102.677949,32.666105],[102.677937,32.666103],[102.677703,32.666043],[102.67728,32.665935],[102.677243,32.665925],[102.677131,32.665897],[102.677008,32.665897],[102.676871,32.665897],[102.675732,32.6659],[102.675723,32.6659],[102.675556,32.6659],[102.675492,32.6659],[102.675141,32.665901],[102.675118,32.665901],[102.674944,32.665901],[102.674897,32.665896],[102.674869,32.665893],[102.674833,32.665856],[102.674781,32.665836],[102.674713,32.665832],[102.674644,32.665833],[102.674558,32.665833],[102.674498,32.665851],[102.674354,32.665835],[102.674347,32.665834],[102.674246,32.665823],[102.674038,32.665799],[102.6739,32.665784],[102.673508,32.665739],[102.673251,32.665666],[102.673228,32.665659],[102.6732,32.665651],[102.672814,32.66554],[102.672603,32.665479],[102.672538,32.6654],[102.672506,32.665382],[102.672453,32.665356],[102.672368,32.665317],[102.672287,32.665292],[102.672161,32.665199],[102.671979,32.665064],[102.671966,32.665055],[102.671874,32.664987],[102.671203,32.664118],[102.670967,32.663856],[102.670925,32.663809],[102.670858,32.663736],[102.67085,32.663727],[102.670729,32.663593],[102.670713,32.663575],[102.670581,32.663429],[102.67017,32.662835],[102.669943,32.662767],[102.669939,32.662765],[102.669852,32.662739],[102.669561,32.662815],[102.669047,32.66295],[102.668465,32.663198],[102.668238,32.663295],[102.667752,32.663338],[102.667533,32.663334],[102.667305,32.663349],[102.6669,32.66324],[102.666766,32.663204],[102.666715,32.66319],[102.665581,32.662885],[102.664943,32.662681],[102.664908,32.66267],[102.664897,32.662666],[102.664682,32.662598],[102.664653,32.662576],[102.664645,32.662571],[102.66456,32.662507],[102.664054,32.662135],[102.664002,32.661992],[102.663999,32.661985],[102.663952,32.661856],[102.663873,32.661639],[102.663914,32.66163],[102.663935,32.661619],[102.664063,32.661558],[102.664012,32.661519],[102.663976,32.661466],[102.663946,32.661403],[102.66393,32.661365],[102.663909,32.661314],[102.663901,32.661238],[102.664145,32.660693],[102.664301,32.660276],[102.664308,32.660258],[102.664328,32.660206],[102.664431,32.659931],[102.664496,32.659481],[102.664352,32.659195],[102.664291,32.659076],[102.664166,32.658972],[102.663957,32.658847],[102.663842,32.65881],[102.663774,32.658798],[102.663745,32.658782],[102.663392,32.658874],[102.663113,32.659534],[102.663051,32.65968],[102.662612,32.660168],[102.662547,32.660146],[102.662537,32.660143],[102.662515,32.660135],[102.662432,32.660107],[102.662423,32.660104],[102.662194,32.660027],[102.662165,32.660017],[102.662145,32.66001],[102.661976,32.659953],[102.661766,32.659881],[102.661715,32.659887],[102.661588,32.659901],[102.661071,32.659959],[102.66048,32.660083],[102.660468,32.660086],[102.660331,32.660115],[102.660263,32.660129],[102.660221,32.660138],[102.660115,32.66016],[102.659891,32.660207],[102.659854,32.660197],[102.658885,32.659918],[102.658876,32.659914],[102.658804,32.659884],[102.658717,32.659846],[102.65828,32.65966],[102.658154,32.659607],[102.657777,32.659446],[102.657708,32.659398],[102.657242,32.659078],[102.657165,32.658991],[102.656969,32.658771],[102.656384,32.658111],[102.6562,32.657822],[102.655813,32.657212],[102.655451,32.656865],[102.655442,32.656856],[102.655278,32.656699],[102.655095,32.65655],[102.655075,32.656533],[102.655036,32.656501],[102.655026,32.656493],[102.654896,32.656387],[102.654696,32.656224],[102.654614,32.656204],[102.654515,32.656123],[102.654352,32.656076],[102.654241,32.656052],[102.654197,32.656099],[102.654116,32.656229],[102.653911,32.656557],[102.65393,32.657544],[102.65393,32.657563],[102.653927,32.657591],[102.65391,32.657751],[102.65394,32.657765],[102.654034,32.657839],[102.654096,32.657886],[102.654141,32.657929],[102.654177,32.65799],[102.654189,32.658071],[102.654178,32.658126],[102.654139,32.658164],[102.654065,32.658218],[102.653984,32.658258],[102.65393,32.658313],[102.653873,32.658375],[102.653794,32.658421],[102.65373,32.658464],[102.65366,32.658502],[102.653657,32.658504],[102.653635,32.658509],[102.653568,32.658526],[102.653463,32.658536],[102.653388,32.658525],[102.653297,32.658495],[102.653215,32.658451],[102.653212,32.658448],[102.653197,32.658435],[102.653175,32.658414],[102.653146,32.658386],[102.653084,32.658345],[102.653027,32.658352],[102.652912,32.658365],[102.652811,32.658376],[102.652703,32.658389],[102.652586,32.658402],[102.6524,32.658423],[102.65181,32.658258],[102.651782,32.658126],[102.651773,32.658083],[102.651744,32.657942],[102.651729,32.65787],[102.651863,32.65769],[102.651868,32.657683],[102.651958,32.657562],[102.652013,32.657488],[102.652065,32.657399],[102.652131,32.657286],[102.652137,32.657275],[102.652146,32.65726],[102.652178,32.657206],[102.652329,32.656947],[102.652348,32.656915],[102.652341,32.656723],[102.652334,32.65654],[102.652321,32.65618],[102.652298,32.65615],[102.652172,32.655985],[102.651953,32.6557],[102.651995,32.655655],[102.652012,32.655609],[102.652021,32.655556],[102.652023,32.655492],[102.652016,32.655442],[102.651995,32.655409],[102.651961,32.655391],[102.651932,32.65539],[102.65192,32.655396],[102.651906,32.655414],[102.651905,32.655441],[102.651905,32.655491],[102.651904,32.655534],[102.651904,32.655567],[102.651907,32.655641],[102.651844,32.655558],[102.651851,32.655516],[102.651856,32.655485],[102.651856,32.655457],[102.651846,32.655427],[102.651826,32.655408],[102.6518,32.655389],[102.651773,32.655371],[102.651747,32.655363],[102.651682,32.655348],[102.651658,32.655317],[102.651494,32.655286],[102.651474,32.655282],[102.650978,32.655188],[102.650023,32.654938],[102.649976,32.654918],[102.649797,32.654842],[102.6496,32.654759],[102.649299,32.654632],[102.649164,32.654574],[102.648968,32.654534],[102.64823,32.654383],[102.648138,32.654364],[102.647894,32.654314],[102.64771,32.654277],[102.647462,32.654346],[102.64723,32.654411],[102.647189,32.654423],[102.647065,32.654458],[102.64697,32.65444],[102.6469,32.654426],[102.646513,32.654353],[102.646156,32.654286],[102.646001,32.654009],[102.645981,32.653973],[102.645964,32.653355],[102.646166,32.652983],[102.646516,32.652746],[102.646582,32.652727],[102.646644,32.652708],[102.64667,32.6527],[102.646794,32.652663],[102.646825,32.652654],[102.646914,32.652627],[102.647089,32.652574],[102.647419,32.652475],[102.647597,32.652484],[102.647701,32.652483],[102.647775,32.652486],[102.647845,32.65248],[102.647933,32.652445],[102.647995,32.652416],[102.648144,32.652384],[102.648169,32.652376],[102.648164,32.652357],[102.648169,32.652348],[102.648201,32.652328],[102.648233,32.652318],[102.64829,32.652285],[102.648312,32.65226],[102.648334,32.652229],[102.648366,32.652188],[102.648393,32.652157],[102.648441,32.652112],[102.648468,32.652086],[102.648502,32.65205],[102.648537,32.652014],[102.64856,32.651958],[102.648568,32.651915],[102.648578,32.651865],[102.64858,32.651819],[102.648579,32.651759],[102.648575,32.651712],[102.64855,32.651674],[102.648505,32.651632],[102.64847,32.6516],[102.648426,32.65157],[102.648366,32.651541],[102.648281,32.651509],[102.648176,32.651471],[102.648223,32.651471],[102.648271,32.651475],[102.648312,32.651489],[102.648381,32.651514],[102.648417,32.651528],[102.648461,32.651549],[102.64852,32.651575],[102.648556,32.651602],[102.648582,32.651622],[102.648614,32.651649],[102.648631,32.651676],[102.64865,32.651705],[102.648686,32.651785],[102.648693,32.651852],[102.64869,32.651893],[102.648689,32.651941],[102.648679,32.651971],[102.648671,32.651991],[102.64865,32.652053],[102.648731,32.651947],[102.648825,32.651823],[102.64883,32.651649],[102.648832,32.651555],[102.648833,32.651528],[102.648838,32.651321],[102.648067,32.651187],[102.647838,32.651148],[102.646467,32.651122],[102.646263,32.651067],[102.646112,32.650997],[102.646097,32.651022],[102.646091,32.651021],[102.64607,32.651015],[102.646024,32.651003],[102.646015,32.651],[102.645972,32.651079],[102.64594,32.651134],[102.64584,32.651101],[102.645741,32.651096],[102.645628,32.651118],[102.645614,32.65112],[102.645556,32.651139],[102.645458,32.651296],[102.645486,32.651413],[102.645481,32.651488],[102.645476,32.651547],[102.645477,32.651662],[102.645463,32.651673],[102.645447,32.651715],[102.645425,32.651879],[102.645396,32.651912],[102.645371,32.651967],[102.645358,32.652007],[102.645341,32.652059],[102.645298,32.652125],[102.645292,32.652155],[102.64527,32.652195],[102.645229,32.652236],[102.645194,32.652271],[102.645171,32.652291],[102.645118,32.652329],[102.645079,32.652351],[102.645011,32.652382],[102.644947,32.652408],[102.644877,32.652428],[102.644819,32.652438],[102.64478,32.652438],[102.644741,32.652462],[102.644727,32.652471],[102.644661,32.65251],[102.64456,32.652469],[102.644537,32.652481],[102.644492,32.65248],[102.64442,32.652467],[102.644323,32.65244],[102.644241,32.652409],[102.644178,32.652405],[102.644126,32.652437],[102.644092,32.652477],[102.644052,32.652526],[102.64399,32.65255],[102.643908,32.652568],[102.643872,32.652504],[102.643885,32.652001],[102.643881,32.651991],[102.643868,32.651966],[102.643823,32.651874],[102.643845,32.651854],[102.643842,32.651837],[102.643825,32.651802],[102.643802,32.651766],[102.643774,32.65173],[102.643712,32.65165],[102.643629,32.651628],[102.643304,32.65154],[102.643265,32.65153],[102.643258,32.651528],[102.64294,32.651442],[102.642827,32.651464],[102.642411,32.651544],[102.642375,32.651551],[102.642338,32.651558],[102.642118,32.6516],[102.642042,32.651658],[102.642012,32.651676],[102.641971,32.651695],[102.641925,32.651696],[102.641851,32.651719],[102.641762,32.651737],[102.641696,32.651726],[102.641652,32.651713],[102.641614,32.651704],[102.641545,32.651695],[102.641479,32.651693],[102.641428,32.651698],[102.641348,32.651694],[102.64127,32.651691],[102.641198,32.65168],[102.641184,32.651674],[102.641069,32.65165],[102.640984,32.651616],[102.640909,32.651578],[102.640842,32.65154],[102.640778,32.651495],[102.640749,32.651456],[102.64075,32.651425],[102.640756,32.651378],[102.640767,32.651324],[102.640776,32.65128],[102.640792,32.651222],[102.640869,32.651121],[102.640918,32.65108],[102.640971,32.651057],[102.641024,32.651053],[102.641096,32.651054],[102.641233,32.650909],[102.641238,32.650903],[102.641464,32.650665],[102.641482,32.650646],[102.641594,32.650527],[102.6417,32.650316],[102.641725,32.650267],[102.641779,32.650159],[102.641854,32.65019],[102.641842,32.650144],[102.641847,32.650098],[102.641835,32.650049],[102.641836,32.650018],[102.641844,32.649988],[102.641878,32.64995],[102.641809,32.649892],[102.641788,32.649839],[102.641754,32.649773],[102.641713,32.649751],[102.641682,32.649738],[102.641637,32.64972],[102.641591,32.649711],[102.641516,32.649696],[102.641514,32.649688],[102.641502,32.649682],[102.641474,32.649688],[102.641448,32.649701],[102.641429,32.6497],[102.641406,32.649681],[102.641388,32.649639],[102.641373,32.649595],[102.641362,32.649555],[102.641355,32.649515],[102.641167,32.64936],[102.640851,32.649238],[102.640534,32.649116],[102.640256,32.649266],[102.640241,32.649274],[102.639978,32.649415],[102.639883,32.649521],[102.639815,32.649597],[102.63958,32.649859],[102.639559,32.649884],[102.639396,32.650066],[102.639383,32.65008],[102.639366,32.650099],[102.639039,32.650364],[102.638588,32.650123],[102.638462,32.649486],[102.638391,32.649507],[102.638388,32.649487],[102.638388,32.649476],[102.638381,32.649463],[102.638382,32.649447],[102.638393,32.649429],[102.638405,32.649414],[102.63844,32.649372],[102.638427,32.649308],[102.638406,32.649244],[102.638403,32.649235],[102.638398,32.649219],[102.638374,32.649146],[102.638258,32.648789],[102.638176,32.64872],[102.638128,32.64867],[102.638039,32.648598],[102.637989,32.648553],[102.637953,32.648494],[102.637928,32.648438],[102.637878,32.648376],[102.63779,32.648292],[102.637703,32.6482],[102.637607,32.648111],[102.637508,32.64809],[102.636909,32.647966],[102.636895,32.64797],[102.636676,32.648048],[102.636641,32.64806],[102.636494,32.648112],[102.636437,32.64868],[102.636436,32.648687],[102.636432,32.64873],[102.636395,32.648859],[102.636376,32.648927],[102.63628,32.649268],[102.636256,32.649282],[102.636118,32.649359],[102.636105,32.649366],[102.635796,32.649538],[102.63569,32.649598],[102.63568,32.649603],[102.635178,32.649768],[102.635153,32.649776],[102.635004,32.649825],[102.634991,32.649829],[102.634957,32.64984],[102.634894,32.64986],[102.634653,32.64992],[102.634284,32.650011],[102.63402,32.650076],[102.633705,32.649915],[102.633645,32.649691],[102.63359,32.64969],[102.633558,32.649691],[102.633564,32.6496],[102.633585,32.649578],[102.63359,32.64957],[102.633605,32.649544],[102.633615,32.649434],[102.633619,32.64936],[102.633595,32.649235],[102.633557,32.64912],[102.63354,32.649026],[102.633506,32.648948],[102.633469,32.648894],[102.633404,32.648827],[102.633373,32.648769],[102.633357,32.648718],[102.633338,32.648674],[102.633326,32.64866],[102.633296,32.648666],[102.633277,32.648675],[102.633258,32.648684],[102.63325,32.648698],[102.63322,32.648699],[102.633203,32.648688],[102.633183,32.648672],[102.633158,32.648647],[102.633136,32.648631],[102.633071,32.648598],[102.633005,32.648566],[102.632908,32.648529],[102.632804,32.648476],[102.632706,32.648412],[102.632522,32.648303],[102.632396,32.648214],[102.63231,32.648166],[102.632105,32.648184],[102.632104,32.648217],[102.632101,32.648348],[102.632096,32.648532],[102.632808,32.649241],[102.632558,32.649501],[102.632541,32.649519],[102.632512,32.649549],[102.63248,32.649583],[102.632467,32.649588],[102.631907,32.649842],[102.63174,32.649917],[102.631415,32.649935],[102.630687,32.649974],[102.630377,32.649879],[102.63037,32.649878],[102.629463,32.649603],[102.628923,32.649284],[102.628938,32.648743],[102.629165,32.648404],[102.62919,32.648367],[102.629271,32.648247],[102.629329,32.648163],[102.629346,32.648138],[102.62936,32.648141],[102.629374,32.648141],[102.629399,32.648129],[102.629418,32.648096],[102.629461,32.648035],[102.629481,32.647999],[102.629498,32.647951],[102.629543,32.647885],[102.629574,32.647841],[102.629597,32.647817],[102.629628,32.647802],[102.629659,32.647782],[102.629718,32.647744],[102.629771,32.647687],[102.629857,32.647492],[102.629887,32.647434],[102.629909,32.647389],[102.629915,32.647365],[102.629915,32.647354],[102.62991,32.647343],[102.629906,32.647337],[102.629891,32.647289],[102.629792,32.647173],[102.629766,32.647138],[102.629731,32.647103],[102.629681,32.647056],[102.629548,32.646963],[102.629532,32.646956],[102.629469,32.646928],[102.629217,32.646815],[102.628614,32.646829],[102.628551,32.646831],[102.628425,32.646834],[102.628404,32.646834],[102.628302,32.646837],[102.628276,32.646863],[102.627867,32.647264],[102.627784,32.647345],[102.627824,32.647393],[102.627842,32.64742],[102.627854,32.647442],[102.627855,32.647458],[102.627853,32.647466],[102.627844,32.647475],[102.627818,32.647486],[102.627799,32.647495],[102.627785,32.647505],[102.62777,32.647517],[102.62776,32.647528],[102.627754,32.647544],[102.62775,32.647559],[102.627746,32.647577],[102.627735,32.647597],[102.627723,32.647608],[102.6277,32.647623],[102.627673,32.647635],[102.627609,32.647639],[102.627595,32.647639],[102.627567,32.647637],[102.627493,32.647633],[102.627459,32.647624],[102.627409,32.647608],[102.627375,32.647589],[102.627176,32.647669],[102.627165,32.647674],[102.627145,32.647682],[102.627092,32.647703],[102.626417,32.64769],[102.626356,32.647689],[102.626224,32.647686],[102.626168,32.647672],[102.626156,32.647669],[102.626006,32.647629],[102.625589,32.64752],[102.625589,32.647488],[102.625602,32.64702],[102.625664,32.646948],[102.625811,32.646784],[102.625832,32.64676],[102.625842,32.64675],[102.625867,32.646721],[102.626103,32.646457],[102.626159,32.646395],[102.626178,32.646418],[102.626202,32.646444],[102.626213,32.64646],[102.626216,32.646457],[102.626223,32.646445],[102.626223,32.646432],[102.62622,32.646402],[102.62622,32.646374],[102.626216,32.646332],[102.626573,32.646042],[102.626583,32.646035],[102.626595,32.646025],[102.626614,32.64601],[102.626733,32.645913],[102.626742,32.645906],[102.626868,32.645804],[102.627083,32.645475],[102.627088,32.645468],[102.627124,32.645413],[102.627184,32.645323],[102.627197,32.645303],[102.6272,32.645298],[102.627344,32.645079],[102.627494,32.645015],[102.627505,32.64501],[102.627553,32.64499],[102.627697,32.644929],[102.627714,32.644922],[102.628129,32.644746],[102.628065,32.643701],[102.62774,32.643381],[102.627773,32.643365],[102.627792,32.643357],[102.627833,32.643358],[102.6278,32.643345],[102.627768,32.643337],[102.627736,32.64333],[102.627716,32.643315],[102.627683,32.643285],[102.627652,32.643251],[102.62762,32.643225],[102.627593,32.643198],[102.627548,32.643157],[102.627463,32.643137],[102.627452,32.643152],[102.627443,32.643145],[102.627155,32.642935],[102.627103,32.642935],[102.626987,32.642894],[102.626939,32.642875],[102.626893,32.642851],[102.626865,32.642816],[102.626845,32.642772],[102.626824,32.642728],[102.626794,32.642697],[102.626737,32.64267],[102.626647,32.642619],[102.626611,32.642578],[102.626596,32.642531],[102.626578,32.642495],[102.626576,32.642456],[102.626588,32.642396],[102.626415,32.642201],[102.626363,32.641808],[102.626358,32.64177],[102.626374,32.641763],[102.626391,32.641751],[102.626407,32.641713],[102.626462,32.641605],[102.626511,32.641553],[102.62656,32.641504],[102.626569,32.641496],[102.626634,32.641435],[102.626767,32.641306],[102.627,32.641052],[102.62712,32.640927],[102.627319,32.64076],[102.627601,32.640522],[102.62797,32.640143],[102.628064,32.640045],[102.628118,32.639991],[102.62806,32.639901],[102.628013,32.639828],[102.627959,32.639744],[102.627942,32.639717],[102.627741,32.639565],[102.627629,32.639479],[102.627123,32.639585],[102.626942,32.639769],[102.626928,32.639782],[102.626915,32.639796],[102.626824,32.639888],[102.626748,32.639965],[102.626732,32.639974],[102.626713,32.639973],[102.626673,32.639961],[102.626613,32.639958],[102.626546,32.639963],[102.62647,32.63998],[102.626389,32.64003],[102.62635,32.640055],[102.626332,32.640083],[102.626311,32.640101],[102.62629,32.640105],[102.626254,32.640108],[102.626168,32.64015],[102.626149,32.640171],[102.626143,32.640198],[102.626141,32.640219],[102.626136,32.640243],[102.626126,32.640256],[102.626099,32.640264],[102.626074,32.640276],[102.626022,32.640335],[102.626011,32.640364],[102.625999,32.640385],[102.625998,32.640401],[102.625997,32.640411],[102.62595,32.640439],[102.625866,32.640489],[102.625755,32.64051],[102.625683,32.640524],[102.625131,32.64063],[102.624709,32.640828],[102.624669,32.640847],[102.624653,32.640854],[102.62453,32.640866],[102.624426,32.640901],[102.624365,32.640937],[102.624306,32.640993],[102.624265,32.641052],[102.624211,32.641122],[102.624108,32.641187],[102.623956,32.641283],[102.623925,32.641303],[102.623331,32.64133],[102.622841,32.640819],[102.622849,32.640525],[102.62285,32.640505],[102.622852,32.640433],[102.622854,32.640355],[102.622942,32.640263],[102.622984,32.64022],[102.623183,32.640013],[102.623913,32.640027],[102.624517,32.639652],[102.624478,32.639223],[102.624446,32.638877],[102.624339,32.638636],[102.624188,32.638293],[102.623922,32.638299],[102.623867,32.6383],[102.623826,32.638301],[102.623522,32.638308],[102.623511,32.638309],[102.623273,32.638314],[102.622581,32.638572],[102.622298,32.638459],[102.622234,32.638433],[102.622226,32.638408],[102.622218,32.638381],[102.622209,32.638351],[102.622197,32.638314],[102.622178,32.63827],[102.622146,32.638221],[102.62212,32.638188],[102.622075,32.638137],[102.621974,32.637859],[102.621961,32.637825],[102.622061,32.637636],[102.622087,32.637586],[102.622202,32.637366],[102.622242,32.637317],[102.622579,32.636909],[102.622619,32.636891],[102.623227,32.636612],[102.623736,32.636598],[102.623709,32.636569],[102.623661,32.636536],[102.62384,32.636548],[102.623961,32.636569],[102.62406,32.636582],[102.624076,32.636571],[102.624422,32.636326],[102.624567,32.636049],[102.624609,32.635969],[102.624568,32.635921],[102.624521,32.635878],[102.624414,32.635802],[102.624326,32.635751],[102.624304,32.635733],[102.624297,32.635714],[102.624291,32.635699],[102.624273,32.635671],[102.624212,32.635638],[102.624154,32.635618],[102.624089,32.635615],[102.624033,32.635618],[102.623957,32.635651],[102.623899,32.63569],[102.623853,32.635693],[102.623799,32.635695],[102.623595,32.635824],[102.62358,32.63588],[102.623579,32.635904],[102.623549,32.635903],[102.623492,32.635916],[102.623472,32.635938],[102.623449,32.635967],[102.623423,32.635991],[102.623391,32.636009],[102.623358,32.636024],[102.623311,32.636038],[102.623236,32.636054],[102.623213,32.63605],[102.62319,32.636023],[102.623158,32.635977],[102.623155,32.635954],[102.623085,32.635952],[102.623025,32.635951],[102.623011,32.635951],[102.62297,32.63595],[102.622878,32.635882],[102.622872,32.635878],[102.622867,32.635874],[102.622701,32.635752],[102.622802,32.635406],[102.622929,32.635292],[102.622945,32.635277],[102.622952,32.635249],[102.622961,32.635228],[102.622988,32.635201],[102.623045,32.635153],[102.623142,32.635072],[102.623261,32.634973],[102.623259,32.634943],[102.623269,32.634927],[102.623291,32.634903],[102.623309,32.634889],[102.623364,32.634868],[102.623413,32.634838],[102.623455,32.634817],[102.623474,32.634804],[102.623512,32.634789],[102.623581,32.634765],[102.62364,32.63472],[102.623701,32.634688],[102.623756,32.634668],[102.623806,32.63465],[102.623857,32.634616],[102.623897,32.634583],[102.623929,32.634542],[102.623941,32.63451],[102.623969,32.634443],[102.624022,32.634379],[102.624045,32.634351],[102.624072,32.634278],[102.624101,32.634209],[102.624124,32.634171],[102.624132,32.634145],[102.624138,32.63412],[102.624144,32.634063],[102.624174,32.63402],[102.624231,32.633945],[102.624248,32.633897],[102.624256,32.633857],[102.624258,32.63382],[102.624254,32.633795],[102.624238,32.633779],[102.624231,32.633768],[102.624223,32.633759],[102.62421,32.633742],[102.624198,32.633719],[102.624192,32.633697],[102.624189,32.633673],[102.624188,32.633651],[102.624181,32.63361],[102.624173,32.633609],[102.62409,32.633596],[102.623628,32.633527],[102.623071,32.633865],[102.622798,32.634106],[102.622783,32.634119],[102.622692,32.634199],[102.622557,32.634319],[102.622451,32.634349],[102.622082,32.634455],[102.622065,32.634459],[102.62205,32.634464],[102.622031,32.63443],[102.621963,32.634307],[102.621964,32.634275],[102.621986,32.63425],[102.622042,32.63418],[102.622046,32.634175],[102.62207,32.634127],[102.62207,32.634117],[102.622076,32.634029],[102.622103,32.633843],[102.622148,32.633676],[102.622175,32.633609],[102.62218,32.633586],[102.622182,32.633571],[102.622179,32.633564],[102.622172,32.63356],[102.622267,32.633335],[102.62236,32.633117],[102.622331,32.632498],[102.622075,32.632303],[102.622017,32.63226],[102.621846,32.632138],[102.62184,32.632134],[102.621807,32.632111],[102.62168,32.632021],[102.621662,32.632008],[102.621344,32.631783],[102.621257,32.631659],[102.621237,32.63163],[102.621219,32.631604],[102.621124,32.63147],[102.621132,32.63116],[102.621273,32.631113],[102.621303,32.631102],[102.62132,32.631097],[102.621642,32.630987],[102.621737,32.630955],[102.621778,32.630941],[102.622201,32.630485],[102.62213,32.62971],[102.622103,32.629658],[102.622102,32.629657],[102.622088,32.62963],[102.622083,32.629619],[102.622036,32.629529],[102.622026,32.629509],[102.622001,32.629462],[102.621924,32.629313],[102.621826,32.629125],[102.622087,32.628956],[102.622102,32.628946],[102.622158,32.62891],[102.622224,32.628867],[102.622286,32.628878],[102.622343,32.628893],[102.622382,32.628908],[102.622437,32.628921],[102.622477,32.628922],[102.62256,32.628907],[102.622586,32.628892],[102.622627,32.628872],[102.622669,32.628869],[102.622691,32.62887],[102.622737,32.628865],[102.622773,32.628851],[102.622801,32.628841],[102.622837,32.628835],[102.622907,32.628829],[102.622941,32.628825],[102.623011,32.628821],[102.623081,32.628828],[102.62321,32.628868],[102.623298,32.628917],[102.623359,32.628922],[102.623886,32.62897],[102.624528,32.628867],[102.625035,32.628488],[102.625051,32.628476],[102.625078,32.628456],[102.625085,32.628451],[102.625134,32.628414],[102.625142,32.628097],[102.625147,32.627908],[102.625159,32.627448],[102.625101,32.626937],[102.625074,32.626704],[102.625048,32.62648],[102.624968,32.62631],[102.624943,32.626257],[102.624939,32.626249],[102.62493,32.626229],[102.624909,32.626185],[102.624597,32.625522],[102.624576,32.625477],[102.624561,32.625447],[102.624345,32.624987],[102.624313,32.624919],[102.624322,32.624879],[102.6244,32.624549],[102.624463,32.624281],[102.624486,32.624265],[102.624863,32.624273],[102.624876,32.624273],[102.624971,32.624253],[102.625082,32.624253],[102.625161,32.624285],[102.625295,32.624371],[102.625402,32.624458],[102.625533,32.624554],[102.625551,32.624586],[102.625921,32.625222],[102.625926,32.62523],[102.62593,32.625237],[102.625986,32.625333],[102.625994,32.625347],[102.626004,32.625364],[102.626079,32.625494],[102.626268,32.625571],[102.626576,32.625697],[102.626607,32.625687],[102.626673,32.625666],[102.626807,32.625624],[102.62684,32.625532],[102.626845,32.625518],[102.626961,32.625203],[102.626968,32.625182],[102.627102,32.624818],[102.627107,32.624623],[102.627108,32.624593],[102.62711,32.624529],[102.62711,32.624521],[102.627111,32.624469],[102.627112,32.624435],[102.62712,32.624122],[102.626967,32.623588],[102.626957,32.623553],[102.626953,32.623539],[102.626959,32.623484],[102.626971,32.623374],[102.626956,32.623352],[102.626953,32.62333],[102.626951,32.623303],[102.626954,32.623277],[102.626967,32.623244],[102.626988,32.623223],[102.627064,32.623118],[102.627155,32.623061],[102.627307,32.622987],[102.627439,32.622946],[102.627606,32.62301],[102.627689,32.62332],[102.627692,32.623327],[102.627731,32.623476],[102.627745,32.623485],[102.627846,32.623551],[102.627966,32.623628],[102.627983,32.623639],[102.628041,32.6237],[102.628085,32.623727],[102.628151,32.623761],[102.628334,32.623809],[102.628397,32.623817],[102.628444,32.623818],[102.628508,32.623811],[102.628561,32.623796],[102.628588,32.623785],[102.628717,32.623675],[102.628803,32.623708],[102.628935,32.623537],[102.629142,32.62327],[102.6292,32.623195],[102.629267,32.622988],[102.62935,32.622734],[102.629314,32.622685],[102.629246,32.622589],[102.629232,32.62257],[102.629041,32.622303],[102.628513,32.622107],[102.628496,32.622101],[102.628477,32.622093],[102.628362,32.622051],[102.628335,32.622086],[102.628316,32.62211],[102.628308,32.622136],[102.628293,32.62217],[102.628282,32.622188],[102.628255,32.622197],[102.628187,32.622181],[102.628165,32.622161],[102.628151,32.62213],[102.628127,32.622091],[102.628104,32.622059],[102.628054,32.622022],[102.628022,32.622004],[102.627994,32.621985],[102.627975,32.621956],[102.627964,32.621917],[102.627948,32.62186],[102.627935,32.621842],[102.627927,32.621828],[102.627905,32.621813],[102.627891,32.621803],[102.627875,32.62179],[102.627858,32.621771],[102.62785,32.621752],[102.627851,32.621739],[102.627858,32.621721],[102.627867,32.621707],[102.627882,32.621691],[102.627898,32.621668],[102.627901,32.621655],[102.627902,32.62163],[102.627898,32.621606],[102.627881,32.621591],[102.627879,32.621572],[102.627888,32.621522],[102.627909,32.621483],[102.62792,32.621467],[102.627935,32.621453],[102.627948,32.621443],[102.627959,32.621436],[102.627975,32.621437],[102.627984,32.621442],[102.627998,32.621386],[102.628,32.62138],[102.628003,32.621367],[102.628067,32.621125],[102.628506,32.620979],[102.62862,32.620942],[102.628627,32.620947],[102.628634,32.620953],[102.628766,32.621054],[102.628787,32.621071],[102.628932,32.621183],[102.628969,32.621235],[102.629037,32.6213],[102.629104,32.62135],[102.629144,32.621379],[102.629176,32.621402],[102.629193,32.62141],[102.629226,32.621418],[102.629255,32.621422],[102.629277,32.621429],[102.629291,32.621447],[102.629301,32.621469],[102.629337,32.621496],[102.629422,32.621507],[102.629432,32.621508],[102.629701,32.621542],[102.62987,32.62133],[102.629905,32.621285],[102.62992,32.621268],[102.630058,32.621094],[102.630126,32.621009],[102.630125,32.620995],[102.630123,32.620981],[102.630053,32.620312],[102.630051,32.620293],[102.62995,32.620178],[102.629837,32.6201],[102.629772,32.620038],[102.629754,32.619986],[102.629754,32.619921],[102.629819,32.619935],[102.629952,32.61994],[102.630005,32.619941],[102.630003,32.619926],[102.629994,32.619862],[102.629992,32.619847],[102.629977,32.61973],[102.629827,32.619381],[102.629822,32.61937],[102.629809,32.619339],[102.629793,32.619302],[102.629778,32.61931],[102.629764,32.619314],[102.629753,32.619317],[102.629744,32.61932],[102.629733,32.619318],[102.629723,32.619315],[102.629706,32.619314],[102.629696,32.619316],[102.629685,32.619322],[102.629676,32.619332],[102.629667,32.619343],[102.629637,32.619291],[102.62964,32.619268],[102.629706,32.619233],[102.629742,32.619184],[102.629676,32.619029],[102.629823,32.618645],[102.629966,32.618136],[102.629805,32.617975],[102.629496,32.617618],[102.629476,32.617571],[102.629432,32.617523],[102.629352,32.617438],[102.629347,32.617432],[102.628642,32.616651],[102.628652,32.616278],[102.628664,32.616229],[102.628667,32.616217],[102.628674,32.616187],[102.628701,32.616074],[102.628707,32.616047],[102.628718,32.615648],[102.62832,32.615214],[102.628268,32.615004],[102.628255,32.614951],[102.628235,32.614866],[102.62831,32.614415],[102.628316,32.614403],[102.62847,32.614105],[102.628542,32.613967],[102.628628,32.613684],[102.628679,32.613517],[102.628681,32.613503],[102.628698,32.613319],[102.628723,32.613065],[102.628543,32.612715],[102.62836,32.612499],[102.62808,32.612387],[102.627877,32.612463],[102.62785,32.612473],[102.627798,32.612493],[102.627674,32.612539],[102.627626,32.612589],[102.62759,32.612638],[102.62755,32.612693],[102.627505,32.612733],[102.627436,32.612777],[102.627426,32.612784],[102.627376,32.6128],[102.6273,32.612826],[102.62729,32.612828],[102.627266,32.612851],[102.627185,32.612929],[102.626827,32.612922],[102.626681,32.61292],[102.626531,32.612777],[102.626375,32.612629],[102.626329,32.612585],[102.626312,32.612569],[102.626252,32.612512],[102.626302,32.612287],[102.626309,32.612255],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626338,32.61219],[102.626355,32.612185],[102.626406,32.612171],[102.626415,32.612168],[102.62666,32.612101],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.626707,32.612088],[102.626749,32.612076],[102.626761,32.612073],[102.626769,32.612071],[102.626957,32.612019],[102.626965,32.612018],[102.626966,32.612017],[102.626968,32.612017],[102.627017,32.612006],[102.627054,32.611997],[102.627071,32.611993],[102.627149,32.611975],[102.627812,32.611823],[102.628165,32.611536],[102.628317,32.611274],[102.628327,32.611257],[102.628333,32.611245],[102.628363,32.611194],[102.628372,32.611145],[102.628373,32.611142],[102.628373,32.61114],[102.628396,32.611017],[102.628436,32.610796],[102.628258,32.610537],[102.628234,32.610503],[102.628207,32.610464],[102.628194,32.610445],[102.628193,32.610445],[102.628191,32.610445],[102.628151,32.610442],[102.627534,32.610406],[102.627524,32.610411],[102.627463,32.61044],[102.627402,32.61047],[102.627375,32.610483],[102.627056,32.610636],[102.62685,32.610678],[102.626824,32.610684],[102.626729,32.610703],[102.626455,32.610758],[102.626225,32.610588],[102.626208,32.610576],[102.626208,32.610576],[102.626207,32.610575],[102.626181,32.610556],[102.62614,32.610526],[102.626128,32.610517],[102.626103,32.610498],[102.626085,32.610485],[102.6257,32.610144],[102.625316,32.609805],[102.625058,32.609693],[102.624476,32.609443],[102.623824,32.609111],[102.623239,32.608937],[102.622575,32.608741],[102.62212,32.608545],[102.622103,32.608538],[102.622085,32.60853],[102.621798,32.608406],[102.62152,32.608188],[102.621549,32.608132],[102.621653,32.607924],[102.621774,32.607819],[102.621802,32.607795],[102.621809,32.607789],[102.621892,32.607716],[102.621903,32.607706],[102.622072,32.607559],[102.622058,32.60732],[102.622056,32.60729],[102.622056,32.607289],[102.622056,32.607288],[102.62205,32.607188],[102.62205,32.607187],[102.62205,32.607186],[102.622031,32.60718],[102.62203,32.60718],[102.622028,32.607179],[102.621934,32.607151],[102.621904,32.607142],[102.621488,32.607016],[102.620828,32.607003],[102.620723,32.606822],[102.620723,32.606821],[102.620722,32.60682],[102.620718,32.606814],[102.620675,32.606739],[102.620675,32.606739],[102.620674,32.606738],[102.620407,32.606276],[102.620241,32.606042],[102.620065,32.605793],[102.620064,32.605792],[102.620064,32.605791],[102.620058,32.605784],[102.619896,32.605554],[102.619891,32.605547],[102.619869,32.605487],[102.619777,32.605235],[102.619773,32.605222],[102.619765,32.605202],[102.619734,32.605116],[102.619725,32.605092],[102.619722,32.605083],[102.619715,32.605065],[102.619885,32.604681],[102.619936,32.604566],[102.619949,32.604537],[102.620019,32.604272],[102.620037,32.604206],[102.620063,32.604105],[102.620076,32.604059],[102.620081,32.604039],[102.620124,32.603876],[102.620124,32.603875],[102.620124,32.603874],[102.620229,32.603796],[102.620236,32.603791],[102.620353,32.603704],[102.620366,32.603694],[102.620609,32.603513],[102.620611,32.603512],[102.620613,32.60351],[102.620627,32.6035],[102.620713,32.603436],[102.620715,32.603434],[102.620717,32.603433],[102.620927,32.603277],[102.620996,32.603038],[102.620595,32.602738],[102.620164,32.602357],[102.61981,32.601806],[102.619805,32.601797],[102.619784,32.601759],[102.619753,32.601704],[102.619655,32.601528],[102.619599,32.601428],[102.619576,32.601376],[102.619321,32.600799],[102.61933,32.600758],[102.619337,32.600725],[102.61934,32.60071],[102.619352,32.60065],[102.619357,32.600628],[102.619374,32.600544],[102.619385,32.600493],[102.619406,32.600395],[102.619852,32.600247],[102.619875,32.600045],[102.619878,32.600022],[102.619879,32.600015],[102.619889,32.599925],[102.619891,32.599908],[102.619899,32.599843],[102.619776,32.599746],[102.619574,32.599587],[102.619614,32.59954],[102.619624,32.599528],[102.619941,32.599153],[102.619979,32.599108],[102.619988,32.599097],[102.620093,32.598973],[102.62012,32.598941],[102.620145,32.598912],[102.62056,32.598545],[102.620541,32.598506],[102.620541,32.598505],[102.620541,32.598504],[102.620521,32.598461],[102.620521,32.598461],[102.62052,32.598459],[102.620462,32.598333],[102.620451,32.598311],[102.620386,32.598168],[102.620143,32.597602],[102.620125,32.597578],[102.62011,32.597558],[102.620046,32.59747],[102.620002,32.597411],[102.619648,32.596927],[102.619609,32.596874],[102.619548,32.59682],[102.61935,32.596645],[102.619282,32.596584],[102.619244,32.596551],[102.619213,32.596524],[102.618953,32.596433],[102.618919,32.596421],[102.618556,32.596293],[102.618557,32.596287],[102.618602,32.595951],[102.618908,32.595739],[102.61891,32.595738],[102.618912,32.595736],[102.618947,32.595711],[102.618996,32.595678],[102.619023,32.595659],[102.619127,32.595587],[102.619523,32.595354],[102.619539,32.595345],[102.619564,32.595186],[102.619571,32.595143],[102.619583,32.595066],[102.619583,32.595065],[102.619583,32.595065],[102.619536,32.59498],[102.619482,32.594884],[102.619447,32.594821],[102.619408,32.59475],[102.618823,32.594552],[102.618056,32.594319],[102.617771,32.593939],[102.617563,32.593467],[102.617866,32.59313],[102.618143,32.593025],[102.618246,32.592986],[102.618389,32.592931],[102.61849,32.592893],[102.618648,32.592833],[102.619144,32.592549],[102.619065,32.592209],[102.618865,32.592067],[102.618629,32.5919],[102.61797,32.591624],[102.617462,32.591174],[102.617441,32.591156],[102.617358,32.591082],[102.617339,32.591066],[102.617276,32.59101],[102.617265,32.590998],[102.617152,32.590885],[102.616627,32.590359],[102.61662,32.590286],[102.616616,32.590252],[102.616607,32.59016],[102.6166,32.5901],[102.616592,32.59002],[102.616779,32.589647],[102.616972,32.589585],[102.616999,32.589576],[102.617074,32.589552],[102.617122,32.589536],[102.617158,32.589524],[102.617546,32.589399],[102.617561,32.589394],[102.617608,32.589378],[102.617661,32.589361],[102.617676,32.589356],[102.617765,32.589328],[102.617815,32.589103],[102.617467,32.588833],[102.617208,32.588771],[102.617207,32.58877],[102.617206,32.58877],[102.617029,32.588727],[102.616999,32.58872],[102.616998,32.588719],[102.616997,32.588719],[102.616629,32.58863],[102.616564,32.588505],[102.616522,32.588425],[102.616519,32.588418],[102.616442,32.58827],[102.616396,32.588181],[102.616333,32.58806],[102.616166,32.587681],[102.616241,32.587512],[102.616241,32.587512],[102.616242,32.587511],[102.616247,32.587499],[102.616253,32.587485],[102.616298,32.587384],[102.616305,32.58737],[102.616342,32.587288],[102.616449,32.587048],[102.616514,32.586694],[102.616534,32.586583],[102.616552,32.586486],[102.616519,32.586401],[102.616478,32.586297],[102.616352,32.585974],[102.616344,32.585956],[102.616338,32.585925],[102.61628,32.585623],[102.616278,32.585615],[102.616227,32.585352],[102.616427,32.584529],[102.616407,32.584412],[102.616404,32.584397],[102.616401,32.584379],[102.616389,32.584305],[102.616384,32.584277],[102.616381,32.584261],[102.616365,32.584163],[102.616311,32.58385],[102.616342,32.583623],[102.616346,32.583592],[102.616351,32.583557],[102.61636,32.583488],[102.616361,32.583478],[102.616362,32.583477],[102.616362,32.583475],[102.616367,32.583438],[102.6166,32.583029],[102.617226,32.582808],[102.617249,32.582799],[102.617406,32.582744],[102.617414,32.582741],[102.617522,32.582697],[102.617679,32.582635],[102.617765,32.5826],[102.617767,32.582521],[102.617768,32.582485],[102.61777,32.582433],[102.617774,32.582262],[102.61777,32.582225],[102.617747,32.582039],[102.617738,32.581961],[102.617473,32.581881],[102.617388,32.581793],[102.61735,32.581753],[102.617246,32.581645],[102.617214,32.581612],[102.61721,32.581597],[102.617205,32.581575],[102.617094,32.581122],[102.617281,32.580749],[102.617533,32.580637],[102.617559,32.580626],[102.617559,32.580625],[102.617559,32.580625],[102.617655,32.580583],[102.617675,32.580574],[102.617912,32.580468],[102.61809,32.580389],[102.618139,32.580202],[102.618191,32.57994],[102.618089,32.579725],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618065,32.579674],[102.617943,32.579616],[102.6179,32.579595],[102.617835,32.579564],[102.617495,32.5794],[102.617244,32.578794],[102.617266,32.577979],[102.617266,32.577968],[102.617264,32.577963],[102.617158,32.577697],[102.617135,32.577638],[102.617007,32.57732],[102.616933,32.577135],[102.616962,32.576045],[102.617024,32.57537],[102.617128,32.574808],[102.617546,32.574269],[102.617547,32.574268],[102.617547,32.574268],[102.617564,32.574246],[102.617588,32.574215],[102.617617,32.574197],[102.617617,32.574197],[102.617618,32.574196],[102.617779,32.574093],[102.618041,32.573927],[102.618086,32.573899],[102.618204,32.573824],[102.618213,32.573818],[102.618213,32.573818],[102.618214,32.573818],[102.61822,32.573814],[102.618232,32.573802],[102.618447,32.573593],[102.618411,32.573291],[102.618068,32.572834],[102.617373,32.572257],[102.616982,32.571949],[102.617039,32.571461],[102.617046,32.571433],[102.617127,32.571108],[102.617188,32.570863],[102.617347,32.569889],[102.617331,32.56903],[102.61733,32.569001],[102.617329,32.568932],[102.617329,32.568911],[102.617303,32.568825],[102.617237,32.568605],[102.617235,32.568598],[102.617211,32.56852],[102.617125,32.568231],[102.616478,32.567504],[102.616138,32.567062],[102.616119,32.567038],[102.616069,32.566972],[102.616059,32.56696],[102.615962,32.566833],[102.61592,32.56678],[102.615901,32.566006],[102.6159,32.565956],[102.615899,32.565915],[102.615988,32.565587],[102.616011,32.565504],[102.616144,32.565017],[102.616205,32.564417],[102.616316,32.563555],[102.616504,32.563183],[102.616523,32.563175],[102.616705,32.563109],[102.617086,32.562968],[102.617187,32.562887],[102.617223,32.562857],[102.617449,32.562674],[102.617455,32.562449],[102.617435,32.562421],[102.617405,32.562378],[102.617371,32.562329],[102.61737,32.562328],[102.617369,32.562326],[102.617354,32.562305],[102.617228,32.562125],[102.617148,32.56201],[102.617147,32.56201],[102.617028,32.561839],[102.616994,32.561823],[102.616353,32.561508],[102.616302,32.561483],[102.616296,32.56148],[102.616151,32.561409],[102.615762,32.561012],[102.615734,32.560985],[102.615703,32.560952],[102.615287,32.560529],[102.615034,32.560035],[102.614831,32.559317],[102.614545,32.558372],[102.61425,32.557803],[102.614135,32.557124],[102.614149,32.556561],[102.614332,32.556062],[102.614348,32.556017],[102.614365,32.555971],[102.614384,32.55592],[102.614437,32.555777],[102.614949,32.554847],[102.615821,32.553774],[102.616057,32.553252],[102.616033,32.552462],[102.616357,32.55198],[102.616737,32.552072],[102.617168,32.552177],[102.617194,32.552183],[102.618168,32.552277],[102.61853,32.552021],[102.618628,32.551647],[102.618283,32.551302],[102.617712,32.551066],[102.617631,32.550764],[102.617824,32.550203],[102.618076,32.549043],[102.618233,32.548144],[102.61838,32.547621],[102.618569,32.547173],[102.619383,32.546587],[102.619578,32.54663],[102.619616,32.546638],[102.619653,32.546646],[102.619825,32.546684],[102.619927,32.546707],[102.620133,32.546752],[102.620412,32.546688],[102.62053,32.546661],[102.620532,32.546661],[102.620533,32.546661],[102.620648,32.546634],[102.620664,32.54663],[102.620892,32.546578],[102.621171,32.546301],[102.621211,32.546261],[102.621212,32.54626],[102.621213,32.546259],[102.621333,32.546139],[102.621385,32.546088],[102.62146,32.546013],[102.621485,32.545988],[102.621511,32.545969],[102.621587,32.545914],[102.621648,32.545869],[102.6217,32.545832],[102.621734,32.545806],[102.62239,32.545329],[102.622941,32.544625],[102.624279,32.54435],[102.624451,32.544246],[102.624691,32.5441],[102.624692,32.544099],[102.624693,32.544098],[102.624695,32.544097],[102.624776,32.544049],[102.625001,32.543912],[102.62528,32.54377],[102.62531,32.543755],[102.625351,32.543734],[102.62537,32.543724],[102.625855,32.543477],[102.62613,32.543144],[102.626329,32.543051],[102.626403,32.543016],[102.626426,32.543006],[102.626593,32.542927],[102.62662,32.542915],[102.626669,32.542891],[102.626966,32.542985],[102.627813,32.543251],[102.628128,32.543169],[102.628567,32.543054],[102.628618,32.543041],[102.628621,32.543023],[102.628655,32.54286],[102.628685,32.542719],[102.628705,32.542621],[102.628708,32.54261],[102.628719,32.542554],[102.629047,32.542384],[102.629104,32.542355],[102.629114,32.54235],[102.629207,32.542302],[102.62922,32.542295],[102.629265,32.542271],[102.629349,32.542228],[102.629441,32.541815],[102.62945,32.541779],[102.629508,32.54165],[102.629517,32.541628],[102.629563,32.541528],[102.629571,32.54151],[102.629664,32.541304],[102.629685,32.541257],[102.629861,32.54129],[102.62988,32.541294],[102.629969,32.541311],[102.629999,32.541316],[102.630568,32.541424],[102.630756,32.541421],[102.630765,32.541421],[102.630765,32.541421],[102.630813,32.54142],[102.630881,32.541419],[102.630883,32.541419],[102.630884,32.541419],[102.630886,32.541419],[102.630901,32.541419],[102.631635,32.541408],[102.631678,32.541407],[102.631678,32.541408],[102.631678,32.541408],[102.63176,32.541581],[102.631836,32.54174],[102.631845,32.541759],[102.63193,32.541938],[102.631892,32.542158],[102.631889,32.542171],[102.631869,32.542291],[102.631842,32.542444],[102.63184,32.542455],[102.631837,32.542473],[102.631826,32.542538],[102.631933,32.54269],[102.631934,32.542692],[102.631935,32.542694],[102.631989,32.54277],[102.632039,32.542842],[102.63213,32.542858],[102.632132,32.542858],[102.632135,32.542859],[102.632217,32.542873],[102.632235,32.542876],[102.632525,32.542927],[102.633512,32.542532],[102.634104,32.541942],[102.634044,32.541696],[102.634043,32.541694],[102.634043,32.541692],[102.634028,32.54163],[102.634025,32.541618],[102.634022,32.541607],[102.634002,32.541525],[102.633984,32.541451],[102.633966,32.541389],[102.633933,32.541275],[102.633928,32.541256],[102.633928,32.541255],[102.633902,32.541166],[102.633902,32.541164],[102.633902,32.541164],[102.633821,32.540884],[102.633956,32.5405],[102.633965,32.540473],[102.634144,32.540353],[102.634236,32.540291],[102.634704,32.540323],[102.634727,32.540324],[102.634989,32.540342],[102.635121,32.540338],[102.635162,32.540337],[102.635744,32.540319],[102.635927,32.540097],[102.635864,32.539923],[102.635849,32.539881],[102.635805,32.539763],[102.635803,32.539756],[102.635773,32.539748],[102.635763,32.539745],[102.635296,32.539612],[102.635234,32.539594],[102.635224,32.539591],[102.635099,32.539555],[102.635012,32.539569],[102.634853,32.539595],[102.634502,32.539652],[102.634475,32.539656],[102.634465,32.539644],[102.634336,32.539484],[102.634332,32.539479],[102.63426,32.539389],[102.63426,32.539366],[102.634261,32.539351],[102.634263,32.539258],[102.634267,32.539116],[102.634268,32.539088],[102.634269,32.539088],[102.63427,32.539088],[102.634369,32.539048],[102.634383,32.539042],[102.634716,32.538909],[102.635295,32.538845],[102.63535,32.538763],[102.635439,32.538632],[102.635443,32.538626],[102.635512,32.538524],[102.635523,32.538508],[102.635572,32.538437],[102.635849,32.537991],[102.636312,32.538],[102.636457,32.538002],[102.636483,32.538003],[102.636515,32.538003],[102.636583,32.538007],[102.636613,32.538009],[102.637073,32.538034],[102.637093,32.538035],[102.637269,32.538044],[102.637285,32.538045],[102.637513,32.538057],[102.637578,32.538061],[102.637599,32.538036],[102.637606,32.538026],[102.637616,32.538015],[102.637676,32.537942],[102.637682,32.537935],[102.637723,32.537886],[102.637853,32.537728],[102.637863,32.537711],[102.637927,32.537602],[102.637977,32.537517],[102.637999,32.537479],[102.638224,32.537096],[102.638283,32.537056],[102.638375,32.536993],[102.638376,32.536992],[102.638376,32.536992],[102.638493,32.536912],[102.638494,32.536911],[102.638505,32.536904],[102.638572,32.536858],[102.638586,32.536848],[102.638587,32.536848],[102.638587,32.536847],[102.638603,32.536836],[102.638676,32.536787],[102.638761,32.536728],[102.638812,32.536694],[102.638913,32.536207],[102.639317,32.536027],[102.639376,32.536028],[102.639527,32.536031],[102.63956,32.536031],[102.639724,32.536034],[102.639752,32.536035],[102.64012,32.536042],[102.64016,32.536042],[102.640215,32.536023],[102.640236,32.536015],[102.640397,32.535959],[102.640427,32.535948],[102.640563,32.5359],[102.640747,32.53564],[102.640694,32.535356],[102.640675,32.535254],[102.640672,32.535242],[102.640669,32.535225],[102.640967,32.535253],[102.641096,32.535265],[102.641211,32.535275],[102.641281,32.535282],[102.641299,32.535284],[102.641687,32.535319],[102.641735,32.535332],[102.641818,32.535354],[102.641818,32.535354],[102.641925,32.535382],[102.642035,32.535411],[102.642613,32.535562],[102.642891,32.535593],[102.642909,32.535594],[102.642943,32.535598],[102.643001,32.535604],[102.643002,32.535605],[102.643005,32.535605],[102.643453,32.535653],[102.643861,32.535323],[102.643814,32.535071],[102.643805,32.535024],[102.643783,32.534908],[102.643747,32.534607],[102.643747,32.534607],[102.643747,32.534606],[102.643595,32.534421],[102.643403,32.534187],[102.643167,32.534021],[102.643052,32.533827],[102.643625,32.533382],[102.643938,32.533334],[102.64408,32.533313],[102.64409,32.533311],[102.644091,32.533311],[102.644196,32.533295],[102.644196,32.533295],[102.644197,32.533295],[102.644393,32.533265],[102.64468,32.53348],[102.644681,32.53348],[102.644681,32.53348],[102.644682,32.533481],[102.644706,32.533494],[102.644769,32.533529],[102.644796,32.533544],[102.644856,32.533577],[102.645269,32.533806],[102.645627,32.533787],[102.64564,32.533307],[102.645557,32.533128],[102.645509,32.533089],[102.645294,32.532915],[102.645046,32.532714],[102.64499,32.532668],[102.645266,32.532445],[102.645275,32.532438],[102.645286,32.532429],[102.645329,32.532404],[102.645358,32.532387],[102.645388,32.532371],[102.645453,32.532333],[102.646118,32.531954],[102.646955,32.531316],[102.647929,32.530966],[102.649002,32.530496],[102.649638,32.53014],[102.649875,32.530032],[102.650146,32.529907],[102.650175,32.529894],[102.650259,32.529855],[102.650269,32.52985],[102.650322,32.529826],[102.650605,32.530077],[102.650546,32.530877],[102.650545,32.530898],[102.650536,32.531019],[102.650535,32.531031],[102.650534,32.531043],[102.65053,32.531097],[102.650693,32.531584],[102.650709,32.531631],[102.651536,32.531764],[102.651862,32.531816],[102.653072,32.531635],[102.653643,32.53144],[102.653944,32.531337],[102.654094,32.531286],[102.654879,32.53081],[102.655517,32.529994],[102.655534,32.52999],[102.655662,32.529965],[102.655669,32.529963],[102.656314,32.529834],[102.65641,32.529815],[102.656565,32.529784],[102.657123,32.529925],[102.65713,32.529926],[102.657237,32.529953],[102.657244,32.529955],[102.657263,32.52996],[102.657409,32.529996],[102.658259,32.529947],[102.659581,32.529579],[102.659938,32.529226],[102.659987,32.528834],[102.659803,32.528471],[102.659902,32.528379],[102.659942,32.528343],[102.659953,32.528333],[102.66003,32.528261],[102.660043,32.528249],[102.660071,32.528223],[102.66008,32.528215],[102.660501,32.528353],[102.660548,32.528369],[102.660566,32.528375],[102.660672,32.52841],[102.66068,32.528412],[102.660698,32.528418],[102.660922,32.528492],[102.66135,32.528369],[102.661704,32.528114],[102.661943,32.527824],[102.66307,32.527518],[102.664161,32.527146],[102.664518,32.52676],[102.664905,32.526735],[102.665566,32.526551],[102.665926,32.526067],[102.666055,32.525546],[102.666295,32.525224],[102.666917,32.525072],[102.66728,32.524732],[102.667395,32.524624],[102.6674,32.524619],[102.667431,32.524591],[102.667477,32.524574],[102.667492,32.524569],[102.66786,32.524435],[102.667951,32.524547],[102.667961,32.524558],[102.667961,32.524559],[102.667961,32.524559],[102.668012,32.524621],[102.668035,32.52465],[102.668065,32.524686],[102.668159,32.5248],[102.668617,32.525005],[102.669042,32.52498],[102.66932,32.524691],[102.66941,32.524202],[102.669075,32.523706],[102.668774,32.523406],[102.669132,32.522987],[102.669294,32.522965],[102.669367,32.522955],[102.669399,32.522951],[102.6694,32.522951],[102.669403,32.522951],[102.66951,32.522936],[102.669513,32.522936],[102.669515,32.522935],[102.669558,32.52293],[102.669892,32.523459],[102.670378,32.524057],[102.670431,32.524103],[102.670432,32.524104],[102.670432,32.524104],[102.670492,32.524157],[102.670513,32.524176],[102.670528,32.524189],[102.670553,32.524212],[102.670793,32.524424],[102.670986,32.524491],[102.671291,32.524597],[102.671554,32.524486],[102.67211,32.524252],[102.672697,32.523936],[102.673671,32.523595],[102.673758,32.523236],[102.673403,32.523078],[102.673382,32.523068],[102.673251,32.52301],[102.673237,32.523004],[102.673223,32.522998],[102.673136,32.52287],[102.673439,32.522784],[102.673464,32.522776],[102.67358,32.522743],[102.673602,32.522737],[102.67383,32.522671],[102.675023,32.522587],[102.676171,32.521759],[102.677006,32.520979],[102.677587,32.520299],[102.677981,32.520142],[102.678163,32.520069],[102.678266,32.520027],[102.678979,32.519741],[102.679013,32.519669],[102.679067,32.519549],[102.679245,32.519163],[102.679367,32.518942],[102.679507,32.51869],[102.680065,32.518912],[102.680557,32.519293],[102.680821,32.518767],[102.680585,32.518179],[102.680667,32.517438],[102.680855,32.517285],[102.680882,32.517263],[102.680957,32.517203],[102.680962,32.517198],[102.681017,32.517154],[102.681022,32.51715],[102.681434,32.516815],[102.681934,32.516877],[102.681933,32.516894],[102.681933,32.516899],[102.681929,32.517076],[102.681926,32.51717],[102.681919,32.517461],[102.682352,32.517681],[102.682923,32.517373],[102.68311,32.517089],[102.68351,32.516482],[102.684625,32.515951],[102.684905,32.515818],[102.685788,32.515569],[102.685954,32.515649],[102.68597,32.515657],[102.686083,32.515712],[102.686095,32.515718],[102.686179,32.515759],[102.686468,32.5159],[102.686606,32.51631],[102.686613,32.516331],[102.686625,32.516366],[102.686651,32.516445],[102.686655,32.516456],[102.686671,32.516504],[102.686701,32.516594],[102.687266,32.516551],[102.687724,32.515764],[102.688046,32.515451],[102.688716,32.51535],[102.689303,32.515262],[102.690046,32.514998],[102.690441,32.514858],[102.69077,32.514228],[102.691602,32.513553],[102.691931,32.513438],[102.692448,32.513257],[102.692613,32.5132],[102.692987,32.51326],[102.693362,32.513267],[102.693903,32.512961],[102.693915,32.512954],[102.693926,32.512948],[102.693926,32.512948],[102.693927,32.512948],[102.693998,32.512907],[102.694022,32.512914],[102.694049,32.512923],[102.694386,32.513025],[102.694498,32.513059],[102.694515,32.513064],[102.694688,32.513116],[102.69471,32.513123],[102.694744,32.513133],[102.694769,32.513134],[102.695495,32.513147],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695617,32.513298],[102.695663,32.513356],[102.695699,32.513401],[102.695798,32.513524],[102.695492,32.513878],[102.695447,32.513931],[102.695347,32.514046],[102.695347,32.514047],[102.695347,32.514047],[102.695344,32.514065],[102.695342,32.514081],[102.695268,32.514682],[102.695765,32.51485],[102.696356,32.514778],[102.696545,32.514754],[102.696895,32.514711],[102.697061,32.514684],[102.697136,32.514672],[102.697181,32.514664],[102.698342,32.514473],[102.699918,32.514077],[102.700242,32.513658],[102.700255,32.513128],[102.700016,32.512699],[102.699908,32.512007],[102.70036,32.511485],[102.701493,32.51124],[102.701513,32.511239],[102.70153,32.511237],[102.70162,32.51123],[102.701654,32.511227],[102.701667,32.511226],[102.702383,32.511168],[102.702384,32.511168],[102.702386,32.511168],[102.702421,32.511165],[102.702484,32.51116],[102.702492,32.511159],[102.70256,32.511154],[102.703558,32.511331],[102.704126,32.511129],[102.704323,32.510627],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704394,32.510444],[102.704444,32.51044],[102.704482,32.510437],[102.704959,32.510401],[102.705316,32.511151],[102.705536,32.511604],[102.70556,32.511652],[102.705612,32.51176],[102.705622,32.511781],[102.705622,32.511781],[102.705623,32.511782],[102.705623,32.511782],[102.705732,32.512007],[102.706044,32.512066],[102.706493,32.51165],[102.706572,32.511015],[102.706529,32.510218],[102.706532,32.510217],[102.706534,32.510216],[102.70656,32.510204],[102.706659,32.51016],[102.706669,32.510155],[102.70694,32.510034],[102.7071,32.509963],[102.707407,32.510181],[102.707499,32.510238],[102.707532,32.510258],[102.707622,32.510314],[102.70764,32.510325],[102.708024,32.510563],[102.708224,32.510567],[102.708462,32.510571],[102.709095,32.510318],[102.709417,32.509952],[102.709475,32.50948],[102.709487,32.509387],[102.70949,32.509363],[102.709494,32.50933],[102.709496,32.509317],[102.709529,32.509284],[102.709817,32.509004],[102.709887,32.509029],[102.709954,32.509053],[102.709979,32.509063],[102.710039,32.509084],[102.710063,32.509093],[102.710127,32.509116],[102.710493,32.509494],[102.710806,32.5095],[102.710882,32.50897],[102.71083,32.508545],[102.710504,32.50832],[102.710292,32.508174],[102.71031,32.508154],[102.710723,32.508037],[102.71116,32.507914],[102.711915,32.507729],[102.711916,32.507729],[102.711917,32.507729],[102.711945,32.507722],[102.711979,32.507714],[102.712118,32.507679],[102.712168,32.507667],[102.712609,32.507569],[102.712821,32.507706],[102.712847,32.507723],[102.712937,32.507781],[102.713025,32.507837],[102.713047,32.507852],[102.713073,32.507868],[102.713074,32.507869],[102.713075,32.507869],[102.713287,32.508006],[102.713785,32.508121],[102.714349,32.508078],[102.714991,32.507453],[102.715568,32.506933],[102.715631,32.506963],[102.715692,32.506992],[102.71583,32.507058],[102.715862,32.507073],[102.715942,32.507111],[102.716046,32.50716],[102.71622,32.507243],[102.71638,32.507319],[102.716496,32.507374],[102.7166,32.507404],[102.716857,32.507477],[102.716892,32.507487],[102.717491,32.507658],[102.718252,32.5073],[102.718639,32.50683],[102.718745,32.50632],[102.718782,32.506142],[102.718915,32.505826],[102.719185,32.505702],[102.71919,32.5057],[102.719204,32.505693],[102.71921,32.505691],[102.719359,32.505622],[102.719934,32.505796],[102.719977,32.505809],[102.720006,32.505818],[102.720007,32.505818],[102.720007,32.505818],[102.720017,32.505821],[102.720048,32.505831],[102.720151,32.505862],[102.720291,32.505904],[102.720993,32.505386],[102.721051,32.505351],[102.721117,32.505311],[102.721208,32.505256],[102.721208,32.505255],[102.72121,32.505255],[102.721334,32.505179],[102.721414,32.50513],[102.721438,32.505116],[102.721542,32.505053],[102.721873,32.504851],[102.721875,32.50485],[102.721877,32.504849],[102.722037,32.504752],[102.722519,32.504459],[102.723365,32.503728],[102.723691,32.503446],[102.723805,32.503348],[102.723817,32.503337],[102.723842,32.503315],[102.723843,32.503314],[102.723844,32.503314],[102.72393,32.50324],[102.724398,32.502835],[102.724504,32.502743],[102.726435,32.500656],[102.727914,32.49909],[102.728166,32.498816],[102.728367,32.498597],[102.728395,32.498566],[102.728471,32.498483],[102.728485,32.498468],[102.728492,32.49846],[102.728511,32.49844],[102.72856,32.498386],[102.728629,32.498311],[102.728646,32.498293],[102.729782,32.497054],[102.730612,32.495811],[102.731148,32.495009],[102.732184,32.493648],[102.733208,32.492503],[102.734052,32.491559],[102.736673,32.48943],[102.738793,32.487293],[102.740527,32.485544],[102.740655,32.485416],[102.742389,32.483696],[102.743611,32.482391],[102.745918,32.480256],[102.746753,32.479422],[102.748555,32.477438],[102.750094,32.47598],[102.750684,32.475398],[102.750992,32.475094],[102.752602,32.473318],[102.754269,32.471703],[102.755668,32.470826],[102.757623,32.470277],[102.760208,32.469527],[102.761659,32.469075],[102.762228,32.468925],[102.763549,32.468578],[102.764686,32.468174],[102.766968,32.467029],[102.767291,32.466858],[102.767291,32.466858],[102.767291,32.466858],[102.767501,32.46702],[102.76771,32.467181],[102.768054,32.467329],[102.768399,32.467477],[102.768643,32.467581],[102.768995,32.467731],[102.769195,32.46781],[102.76928,32.467902],[102.769409,32.467974],[102.769609,32.468024],[102.769837,32.468124],[102.769894,32.468338],[102.769909,32.468588],[102.76998,32.468709],[102.770058,32.46883],[102.77008,32.468973],[102.770101,32.469405],[102.770123,32.469837],[102.770116,32.470037],[102.769923,32.470372],[102.769959,32.470629],[102.770044,32.471],[102.770098,32.471089],[102.770242,32.471326],[102.770387,32.471564],[102.77058,32.4718],[102.770672,32.472078],[102.770779,32.472278],[102.770979,32.472535],[102.771022,32.47261],[102.771186,32.472892],[102.771222,32.473071],[102.771251,32.473328],[102.771279,32.473585],[102.771251,32.47397],[102.771183,32.474402],[102.771115,32.474834],[102.771086,32.475159],[102.771058,32.475483],[102.770919,32.475847],[102.770779,32.476211],[102.770669,32.476579],[102.770558,32.476947],[102.770572,32.477089],[102.770658,32.477168],[102.770787,32.477254],[102.771097,32.477325],[102.771408,32.477396],[102.771734,32.477444],[102.77206,32.477492],[102.772236,32.477518],[102.772525,32.477625],[102.772814,32.477732],[102.773092,32.477832],[102.773371,32.477932],[102.773799,32.478053],[102.774049,32.478203],[102.774299,32.478353],[102.774391,32.478406],[102.774598,32.478524],[102.774798,32.478524],[102.775195,32.478453],[102.775591,32.478382],[102.775912,32.478336],[102.776233,32.478291],[102.776554,32.478246],[102.776933,32.478224],[102.777222,32.478142],[102.777511,32.47806],[102.777729,32.477946],[102.777946,32.477832],[102.778268,32.477632],[102.778632,32.477596],[102.77886,32.477582],[102.779146,32.47755],[102.779431,32.477518],[102.77971,32.477511],[102.779988,32.477504],[102.780213,32.477507],[102.780438,32.477511],[102.780677,32.477589],[102.780916,32.477668],[102.781166,32.477775],[102.781416,32.477882],[102.781698,32.47797],[102.781981,32.478059],[102.782008,32.478067],[102.782312,32.47811],[102.782615,32.478153],[102.782847,32.478192],[102.783079,32.478232],[102.783222,32.47821],[102.783621,32.478082],[102.783832,32.477971],[102.784043,32.47786],[102.784235,32.477714],[102.784428,32.477568],[102.784709,32.477406],[102.78499,32.477244],[102.78527,32.477082],[102.785531,32.477064],[102.785791,32.477047],[102.78617,32.477068],[102.786548,32.477089],[102.786934,32.477125],[102.787276,32.477318],[102.787612,32.477549],[102.787947,32.47778],[102.788283,32.47801],[102.788603,32.478216],[102.788922,32.478422],[102.789004,32.478474],[102.789289,32.478724],[102.789575,32.478974],[102.789867,32.479224],[102.790067,32.479395],[102.790126,32.479539],[102.790146,32.479588],[102.790274,32.479802],[102.790396,32.479959],[102.790681,32.480177],[102.790967,32.480395],[102.791202,32.480602],[102.791356,32.480826],[102.791509,32.481051],[102.791756,32.481397],[102.792002,32.481744],[102.79208,32.481886],[102.79208,32.482001],[102.791995,32.482101],[102.791659,32.482393],[102.791496,32.482604],[102.791388,32.482743],[102.791238,32.482957],[102.791152,32.483071],[102.790995,32.483107],[102.790767,32.483164],[102.790738,32.483171],[102.79036,32.483257],[102.790232,32.483321],[102.790053,32.483507],[102.789875,32.483757],[102.789718,32.483935],[102.789603,32.484042],[102.789518,32.484214],[102.789511,32.484328],[102.789546,32.484553],[102.789582,32.484778],[102.789482,32.484985],[102.78935,32.48517],[102.789218,32.485356],[102.789218,32.485356],[102.789217,32.485357],[102.789056,32.485639],[102.788989,32.485755],[102.788911,32.486051],[102.788832,32.486346],[102.788754,32.486641],[102.788691,32.486903],[102.788628,32.487166],[102.788568,32.487412],[102.788472,32.487811],[102.788376,32.488211],[102.788276,32.488514],[102.788176,32.488818],[102.788088,32.488952],[102.787957,32.489153],[102.787826,32.489353],[102.78764,32.489639],[102.787569,32.489856],[102.787498,32.490074],[102.787492,32.490101],[102.787405,32.490503],[102.787405,32.490838],[102.787405,32.491174],[102.787405,32.491438],[102.787365,32.491662],[102.787326,32.491887],[102.787324,32.491912],[102.787298,32.492151],[102.787291,32.492294],[102.787233,32.492551],[102.787169,32.492851],[102.787151,32.493276],[102.787133,32.4937],[102.787098,32.494122],[102.786976,32.494329],[102.786898,32.494557],[102.786877,32.494871],[102.786877,32.495128],[102.786905,32.495407],[102.786869,32.495564],[102.786812,32.495655],[102.786748,32.495756],[102.78647,32.495949],[102.786248,32.496045],[102.786027,32.496142],[102.785767,32.496164],[102.785692,32.49617],[102.78527,32.496206],[102.784963,32.496277],[102.784656,32.496349],[102.78435,32.49642],[102.78395,32.496531],[102.78355,32.496642],[102.783186,32.496763],[102.782912,32.496903],[102.782639,32.497044],[102.782365,32.497184],[102.782058,32.497373],[102.781751,32.497562],[102.781394,32.497805],[102.781037,32.498048],[102.780843,32.498153],[102.780558,32.498307],[102.780274,32.498462],[102.780071,32.498557],[102.779724,32.498719],[102.779453,32.498883],[102.779181,32.498919],[102.778953,32.498947],[102.778724,32.498976],[102.778697,32.498981],[102.778654,32.498989],[102.778408,32.499036],[102.778161,32.499083],[102.777889,32.499165],[102.777618,32.499247],[102.777261,32.49934],[102.776947,32.499554],[102.776769,32.499761],[102.776583,32.500161],[102.776441,32.50041],[102.776347,32.500575],[102.776069,32.500917],[102.775849,32.501231],[102.77563,32.501546],[102.77541,32.50186],[102.775191,32.502174],[102.774984,32.502395],[102.774777,32.502616],[102.774584,32.502859],[102.774391,32.503102],[102.774263,32.503237],[102.774042,32.503316],[102.773795,32.503395],[102.773548,32.503474],[102.77337,32.503531],[102.773085,32.503623],[102.772735,32.503773],[102.772386,32.503923],[102.772022,32.504105],[102.771657,32.504287],[102.7714,32.504447],[102.771144,32.504608],[102.770858,32.504851],[102.770826,32.504881],[102.770587,32.505108],[102.77043,32.505436],[102.770339,32.505684],[102.77022,32.506009],[102.770101,32.506335],[102.769994,32.506564],[102.769887,32.506792],[102.769616,32.507056],[102.769345,32.507321],[102.76906,32.507473],[102.768775,32.507626],[102.768545,32.507749],[102.768367,32.507892],[102.768317,32.507956],[102.768295,32.508042],[102.768324,32.508077],[102.768663,32.508231],[102.769002,32.508384],[102.769327,32.508498],[102.769652,32.508613],[102.77003,32.508727],[102.770255,32.508837],[102.77048,32.508948],[102.770815,32.509087],[102.771151,32.509226],[102.771536,32.509419],[102.771779,32.509562],[102.772067,32.509793],[102.772355,32.510024],[102.772643,32.510254],[102.772821,32.510472],[102.772999,32.51069],[102.773185,32.51109],[102.773264,32.511439],[102.773342,32.511789],[102.773406,32.512125],[102.773571,32.51246],[102.773689,32.512655],[102.773848,32.512914],[102.774006,32.513174],[102.774056,32.513506],[102.774106,32.513838],[102.77422,32.514148],[102.774334,32.514459],[102.774347,32.514488],[102.774448,32.514713],[102.774549,32.514937],[102.774602,32.515233],[102.774656,32.51553],[102.774756,32.515851],[102.774855,32.516079],[102.774955,32.516308],[102.775162,32.516636],[102.775344,32.5169],[102.775526,32.517164],[102.775634,32.517371],[102.775741,32.517578],[102.775791,32.517914],[102.775813,32.518135],[102.775841,32.518414],[102.775883,32.518671],[102.775926,32.518928],[102.776048,32.519263],[102.776172,32.519455],[102.776297,32.519647],[102.776326,32.519691],[102.776526,32.51992],[102.776597,32.520155],[102.776612,32.520498],[102.776597,32.520759],[102.776583,32.521019],[102.776644,32.521362],[102.776704,32.521704],[102.776751,32.521947],[102.776797,32.52219],[102.776859,32.522497],[102.776921,32.522804],[102.776983,32.523111],[102.777004,32.52341],[102.776963,32.523703],[102.776922,32.523997],[102.776881,32.524289],[102.77684,32.524581],[102.776729,32.524845],[102.776619,32.525109],[102.776612,32.525288],[102.776647,32.525473],[102.776738,32.525614],[102.776917,32.525891],[102.777096,32.526168],[102.777275,32.526444],[102.77749,32.526769],[102.777704,32.527094],[102.777875,32.527222],[102.777996,32.527279],[102.778325,32.527272],[102.778675,32.527229],[102.778903,32.527215],[102.779109,32.527215],[102.779153,32.527215],[102.77936,32.527258],[102.779667,32.527429],[102.779912,32.52761],[102.780168,32.527798],[102.780423,32.527986],[102.780766,32.528161],[102.781109,32.528336],[102.781401,32.528557],[102.781544,32.528757],[102.781798,32.528796],[102.782051,32.528836],[102.782322,32.528832],[102.782593,32.528828],[102.782915,32.528768],[102.783236,32.528707],[102.783644,32.528625],[102.783871,32.528579],[102.784292,32.528543],[102.784477,32.528554],[102.784792,32.528571],[102.785188,32.5285],[102.785584,32.528429],[102.785906,32.528354],[102.786227,32.528279],[102.786612,32.528207],[102.786948,32.528179],[102.787191,32.528172],[102.787483,32.5282],[102.787726,32.528272],[102.787922,32.528386],[102.788119,32.5285],[102.78849,32.5287],[102.788647,32.528821],[102.788847,32.529082],[102.789047,32.529342],[102.789314,32.529564],[102.789582,32.529785],[102.789921,32.530063],[102.79026,32.530342],[102.790588,32.530549],[102.790917,32.530756],[102.791139,32.530865],[102.791452,32.53102],[102.791458,32.531025],[102.791701,32.531233],[102.791945,32.531441],[102.792162,32.53162],[102.79238,32.531798],[102.792673,32.53198],[102.792966,32.532162],[102.793287,32.532401],[102.793608,32.53264],[102.793821,32.532942],[102.793915,32.533076],[102.794099,32.53344],[102.794243,32.533725],[102.794347,32.533975],[102.79445,32.534225],[102.794498,32.534335],[102.794485,32.534424],[102.794612,32.53465],[102.794622,32.534682],[102.79475,32.534775],[102.794776,32.534784],[102.794971,32.534853],[102.795014,32.534862],[102.795384,32.534921],[102.795522,32.534971],[102.795671,32.535003],[102.795819,32.535079],[102.795835,32.535084],[102.795841,32.535089],[102.796163,32.535253],[102.796485,32.535417],[102.796678,32.535589],[102.796929,32.535954],[102.797064,32.53615],[102.797199,32.536345],[102.797317,32.5366],[102.797418,32.536819],[102.79752,32.537038],[102.797547,32.537102],[102.79762,32.537273],[102.797741,32.537373],[102.798041,32.537602],[102.798255,32.537809],[102.798469,32.538016],[102.798612,32.538251],[102.798912,32.538351],[102.799304,32.538487],[102.799573,32.538581],[102.79959,32.538587],[102.799811,32.538665],[102.79999,32.538794],[102.800166,32.538946],[102.800342,32.539098],[102.800493,32.5392],[102.800702,32.539342],[102.800911,32.539483],[102.801021,32.539639],[102.801041,32.539794],[102.800921,32.540004],[102.80078,32.540208],[102.800638,32.540413],[102.800497,32.540618],[102.800355,32.540822],[102.800281,32.541013],[102.800276,32.541265],[102.80043,32.541478],[102.800727,32.541781],[102.800896,32.541953],[102.801066,32.542125],[102.801235,32.542297],[102.801404,32.542469],[102.801573,32.542641],[102.801742,32.542813],[102.801974,32.543067],[102.802207,32.543322],[102.802362,32.543497],[102.80247,32.54373],[102.802596,32.544162],[102.802722,32.544593],[102.802848,32.545025],[102.8029,32.545252],[102.802951,32.545479],[102.803003,32.545707],[102.803054,32.545934],[102.803048,32.546261],[102.802881,32.54649],[102.802608,32.546813],[102.802334,32.547136],[102.802061,32.547459],[102.801913,32.547673],[102.801766,32.547887],[102.801619,32.548101],[102.801471,32.548316],[102.801326,32.548673],[102.80118,32.54903],[102.801035,32.549387],[102.800926,32.549743],[102.800817,32.550099],[102.800708,32.550455],[102.800665,32.550781],[102.800626,32.551087],[102.800623,32.551107],[102.800637,32.551483],[102.800651,32.551859],[102.800733,32.552208],[102.800783,32.552418],[102.800816,32.552557],[102.800931,32.552734],[102.800953,32.552878],[102.801062,32.553169],[102.801203,32.553549],[102.801307,32.553759],[102.80141,32.55397],[102.801692,32.55432],[102.80176,32.554405],[102.802067,32.554648],[102.802374,32.554891],[102.802745,32.555142],[102.803116,32.555394],[102.803488,32.555646],[102.803859,32.555897],[102.804201,32.556115],[102.804544,32.556333],[102.804758,32.55649],[102.804944,32.556583],[102.805094,32.556697],[102.805158,32.556839],[102.805186,32.557002],[102.805188,32.55709],[102.805196,32.557363],[102.805118,32.55776],[102.805099,32.557855],[102.805062,32.558178],[102.805024,32.558501],[102.804987,32.558824],[102.804851,32.559238],[102.804818,32.559337],[102.804715,32.559638],[102.804595,32.559812],[102.804523,32.559916],[102.804316,32.560123],[102.804247,32.560195],[102.803992,32.560462],[102.803737,32.56073],[102.803537,32.560951],[102.803338,32.561172],[102.803211,32.561378],[102.803085,32.561583],[102.802938,32.561822],[102.802795,32.562093],[102.802652,32.562365],[102.802463,32.562682],[102.802274,32.563],[102.802103,32.563271],[102.801839,32.56361],[102.801574,32.563949],[102.80146,32.564149],[102.801377,32.564292],[102.801153,32.564677],[102.801004,32.564859],[102.800889,32.564999],[102.800889,32.565106],[102.800953,32.565249],[102.801253,32.565427],[102.80134,32.565504],[102.80151,32.565655],[102.801741,32.565879],[102.801972,32.566103],[102.802203,32.566326],[102.802213,32.566341],[102.802395,32.566605],[102.802542,32.56683],[102.802688,32.567055],[102.802834,32.567265],[102.802981,32.567476],[102.803273,32.56774],[102.803552,32.567958],[102.80383,32.568175],[102.804134,32.568325],[102.804437,32.568475],[102.804751,32.568539],[102.805151,32.568625],[102.805465,32.568561],[102.805779,32.568496],[102.806122,32.568447],[102.806432,32.568418],[102.806743,32.568389],[102.807088,32.568382],[102.807433,32.568375],[102.807778,32.568368],[102.80811,32.568404],[102.808442,32.568439],[102.808781,32.568504],[102.80912,32.568568],[102.809441,32.568621],[102.809762,32.568675],[102.810164,32.568851],[102.810402,32.568956],[102.81064,32.56906],[102.810658,32.569069],[102.811009,32.569247],[102.811359,32.569425],[102.81171,32.569603],[102.812061,32.569781],[102.812396,32.569956],[102.812732,32.570131],[102.813017,32.570414],[102.813303,32.570697],[102.813588,32.570981],[102.813831,32.571184],[102.814074,32.571388],[102.814381,32.571509],[102.814523,32.571559],[102.814895,32.571473],[102.815152,32.571259],[102.815409,32.571045],[102.815787,32.570809],[102.816165,32.570574],[102.816558,32.570502],[102.816951,32.570431],[102.817386,32.570364],[102.817821,32.570298],[102.818257,32.570231],[102.81857,32.5702],[102.818913,32.570165],[102.819256,32.570131],[102.819556,32.570174],[102.819857,32.570216],[102.820157,32.570259],[102.820363,32.570288],[102.820795,32.570388],[102.821226,32.570488],[102.821521,32.570559],[102.821817,32.570631],[102.822112,32.570702],[102.822461,32.570838],[102.822811,32.570973],[102.823128,32.571271],[102.823444,32.571568],[102.823761,32.571866],[102.824032,32.572206],[102.824303,32.572546],[102.824574,32.572887],[102.824769,32.573201],[102.824965,32.573515],[102.82516,32.573829],[102.825289,32.574103],[102.825418,32.574377],[102.825547,32.57465],[102.825567,32.574693],[102.825752,32.575092],[102.825913,32.575289],[102.826073,32.575485],[102.826395,32.575696],[102.826716,32.575906],[102.827111,32.576075],[102.827506,32.576244],[102.827901,32.576413],[102.828215,32.576538],[102.828529,32.576663],[102.828907,32.576877],[102.829286,32.577091],[102.8296,32.577227],[102.829914,32.577362],[102.830214,32.577562],[102.830242,32.577605],[102.830242,32.577606],[102.830242,32.577607],[102.830242,32.577684],[102.830157,32.577841],[102.829885,32.578055],[102.829718,32.578217],[102.8296,32.578333],[102.829478,32.57864],[102.829357,32.579068],[102.829236,32.579497],[102.829114,32.579925],[102.829014,32.580339],[102.828914,32.580753],[102.828879,32.581181],[102.828864,32.581446],[102.828972,32.581806],[102.829079,32.582166],[102.82916,32.582481],[102.82924,32.582795],[102.829321,32.583109],[102.829418,32.58338],[102.829514,32.583651],[102.829694,32.584014],[102.829875,32.584377],[102.830055,32.584739],[102.830206,32.585043],[102.830367,32.585432],[102.830528,32.585821],[102.830688,32.58621],[102.830849,32.586599],[102.831031,32.586994],[102.831106,32.587156],[102.831127,32.587313],[102.831085,32.587563],[102.830956,32.587749],[102.830737,32.588004],[102.830519,32.588259],[102.830485,32.588298],[102.830197,32.588627],[102.82991,32.588957],[102.829842,32.589034],[102.829734,32.589242],[102.829626,32.589451],[102.829564,32.589569],[102.829386,32.58994],[102.829207,32.590311],[102.829076,32.590663],[102.828946,32.591015],[102.828886,32.591175],[102.828907,32.591475],[102.828929,32.591775],[102.828872,32.592139],[102.828797,32.592481],[102.828722,32.592824],[102.828658,32.593115],[102.828595,32.593406],[102.828544,32.59364],[102.828493,32.593873],[102.828493,32.59428],[102.828496,32.59434],[102.828506,32.594577],[102.828516,32.594813],[102.828529,32.595143],[102.828543,32.595472],[102.828632,32.595772],[102.828722,32.596072],[102.828738,32.596151],[102.828822,32.596565],[102.828836,32.596789],[102.82885,32.597014],[102.828793,32.5974],[102.828679,32.59765],[102.828565,32.597899],[102.828364,32.598181],[102.82819,32.598426],[102.828015,32.59867],[102.82795,32.598777],[102.827614,32.599066],[102.827303,32.599387],[102.826992,32.599708],[102.826681,32.600028],[102.826371,32.600349],[102.826206,32.600549],[102.826041,32.600748],[102.825896,32.601112],[102.825843,32.601419],[102.825813,32.601766],[102.825806,32.601997],[102.8258,32.602228],[102.825761,32.602458],[102.825721,32.602688],[102.825659,32.602918],[102.825596,32.603149],[102.825522,32.603379],[102.825448,32.603609],[102.82534,32.603847],[102.825231,32.604086],[102.825181,32.604317],[102.82513,32.604547],[102.82506,32.604786],[102.824991,32.605024],[102.824922,32.605263],[102.824852,32.605501],[102.824731,32.605807],[102.824611,32.606113],[102.824509,32.606516],[102.8245,32.606921],[102.824582,32.607289],[102.824732,32.607657],[102.824928,32.608027],[102.825124,32.608396],[102.82532,32.608766],[102.825516,32.609135],[102.825579,32.609358],[102.825643,32.60958],[102.825749,32.60989],[102.825855,32.610201],[102.825938,32.610604],[102.826021,32.611007],[102.826059,32.611296],[102.825983,32.611602],[102.825817,32.611947],[102.825716,32.612186],[102.825615,32.612425],[102.825514,32.612664],[102.825414,32.612903],[102.825313,32.613142],[102.825233,32.613332],[102.825212,32.613381],[102.825113,32.613687],[102.824924,32.613954],[102.824715,32.614124],[102.824472,32.614255],[102.824229,32.614385],[102.823848,32.61459],[102.823667,32.614688],[102.823539,32.614725],[102.823232,32.614767],[102.822925,32.61481],[102.82254,32.614857],[102.822154,32.614903],[102.821826,32.614989],[102.821433,32.615117],[102.821085,32.615334],[102.820791,32.615517],[102.820505,32.615649],[102.82022,32.615781],[102.820179,32.615813],[102.819917,32.61602],[102.819613,32.616259],[102.819501,32.616394],[102.819328,32.616602],[102.819063,32.616909],[102.819006,32.617095],[102.819006,32.617344],[102.819091,32.617611],[102.819092,32.617616],[102.819263,32.617889],[102.819435,32.618163],[102.819606,32.618437],[102.819681,32.618686],[102.819756,32.618936],[102.819777,32.619074],[102.819799,32.619215],[102.819763,32.619572],[102.819699,32.619804],[102.819635,32.620036],[102.819583,32.62019],[102.81952,32.620378],[102.819456,32.620535],[102.819346,32.620669],[102.819292,32.620735],[102.819067,32.620906],[102.818842,32.621078],[102.818704,32.621131],[102.818348,32.621269],[102.817993,32.621406],[102.817707,32.621575],[102.817422,32.621744],[102.817136,32.621913],[102.816911,32.622064],[102.81671,32.622199],[102.816508,32.622334],[102.816322,32.622491],[102.816208,32.62262],[102.816237,32.622791],[102.816239,32.62287],[102.816244,32.623005],[102.81623,32.62321],[102.81623,32.623219],[102.81613,32.623533],[102.81593,32.623893],[102.81573,32.624252],[102.81553,32.624611],[102.81528,32.624915],[102.81503,32.625218],[102.814702,32.625518],[102.814374,32.625818],[102.814045,32.626118],[102.813753,32.626417],[102.813653,32.626482],[102.813467,32.626546],[102.81341,32.626565],[102.813296,32.626603],[102.813046,32.626717],[102.812832,32.626888],[102.812618,32.627045],[102.81251,32.627167],[102.812296,32.627324],[102.812196,32.627481],[102.812096,32.627738],[102.811954,32.627938],[102.811832,32.628045],[102.811718,32.628159],[102.81164,32.628316],[102.811618,32.628516],[102.811661,32.628896],[102.811668,32.628959],[102.811725,32.629401],[102.811781,32.629844],[102.811782,32.629851],[102.811782,32.630229],[102.811707,32.630618],[102.811632,32.631007],[102.811554,32.6314],[102.81144,32.631714],[102.811404,32.631892],[102.81144,32.632],[102.811604,32.632199],[102.811911,32.632464],[102.812218,32.632728],[102.812453,32.63302],[102.812689,32.633199],[102.812889,32.633263],[102.813131,32.633299],[102.813141,32.633302],[102.813223,32.633361],[102.813512,32.633655],[102.813682,32.633973],[102.813708,32.634024],[102.813906,32.634374],[102.81402,32.634574],[102.814135,32.634774],[102.81425,32.634973],[102.814365,32.635173],[102.814553,32.635388],[102.814741,32.635602],[102.814944,32.635731],[102.815111,32.635838],[102.815147,32.63586],[102.815392,32.636048],[102.815628,32.636228],[102.815638,32.636235],[102.815958,32.636504],[102.816279,32.636773],[102.816599,32.637042],[102.816824,32.63719],[102.817049,32.637338],[102.817377,32.637553],[102.817507,32.637682],[102.81751,32.637687],[102.81765,32.637932],[102.817832,32.638185],[102.818014,32.638438],[102.81825,32.63866],[102.818649,32.638831],[102.818985,32.639092],[102.81932,32.639352],[102.819556,32.639645],[102.819877,32.639887],[102.820141,32.64008],[102.820405,32.640273],[102.820712,32.640392],[102.821019,32.640511],[102.821326,32.64063],[102.821601,32.640786],[102.821875,32.640942],[102.822104,32.641072],[102.822291,32.641237],[102.822597,32.641508],[102.822861,32.641708],[102.823125,32.641908],[102.823389,32.642107],[102.823624,32.642257],[102.823859,32.642406],[102.824192,32.642617],[102.824524,32.642828],[102.82481,32.643071],[102.825095,32.643314],[102.825285,32.643507],[102.825474,32.643699],[102.825602,32.643956],[102.825816,32.644206],[102.826009,32.644285],[102.826384,32.644424],[102.826759,32.644563],[102.827073,32.644717],[102.827387,32.64487],[102.827662,32.645077],[102.827936,32.645284],[102.828163,32.645553],[102.828389,32.645822],[102.828615,32.646091],[102.828712,32.64618],[102.828872,32.646326],[102.829086,32.646433],[102.82945,32.646655],[102.829624,32.646755],[102.829735,32.646819],[102.82985,32.646954],[102.829892,32.647154],[102.829895,32.647186],[102.829921,32.647461],[102.829875,32.647861],[102.829828,32.648261],[102.829757,32.648614],[102.829685,32.648967],[102.829589,32.649207],[102.829493,32.649446],[102.829279,32.64981],[102.829209,32.649879],[102.829029,32.65006],[102.828857,32.650217],[102.828743,32.650452],[102.828686,32.650788],[102.828661,32.650906],[102.828593,32.65123],[102.828465,32.651559],[102.828336,32.651887],[102.828168,32.652187],[102.828001,32.652487],[102.827929,32.652658],[102.827737,32.652879],[102.827423,32.653116],[102.827109,32.653353],[102.827094,32.653365],[102.82683,32.6536],[102.826666,32.653836],[102.826644,32.654136],[102.826752,32.654336],[102.827019,32.65461],[102.827287,32.654885],[102.827555,32.65516],[102.827822,32.655435],[102.827978,32.655628],[102.828133,32.655821],[102.828236,32.655949],[102.828336,32.656142],[102.828429,32.656299],[102.828429,32.656491],[102.828386,32.656663],[102.828193,32.656955],[102.82812,32.657215],[102.828047,32.657474],[102.828018,32.657682],[102.827976,32.657981],[102.827953,32.658152],[102.827949,32.658176],[102.827938,32.658404],[102.827926,32.658633],[102.827922,32.658704],[102.827869,32.658943],[102.827815,32.659182],[102.827722,32.659418],[102.827672,32.659618],[102.82768,32.659854],[102.827887,32.66025],[102.828094,32.660646],[102.82826,32.660901],[102.828322,32.660996],[102.828436,32.661217],[102.828436,32.661345],[102.828543,32.661424],[102.828765,32.661538],[102.829139,32.661624],[102.829514,32.661709],[102.829889,32.661795],[102.830264,32.661881],[102.830606,32.662021],[102.830949,32.662162],[102.831292,32.662302],[102.83157,32.662454],[102.831848,32.662607],[102.832127,32.662759],[102.83234,32.662956],[102.832576,32.663175],[102.832812,32.663394],[102.832998,32.663682],[102.833183,32.66397],[102.833369,32.664258],[102.833643,32.664585],[102.83389,32.664879],[102.834068,32.665222],[102.834168,32.665386],[102.834325,32.665436],[102.834482,32.665393],[102.834732,32.665332],[102.834982,32.665272],[102.835239,32.665261],[102.835496,32.66525],[102.835808,32.665298],[102.836119,32.665346],[102.836162,32.665358],[102.836554,32.665558],[102.836946,32.665757],[102.837338,32.665957],[102.837663,32.666128],[102.837987,32.666299],[102.838348,32.666564],[102.838708,32.666828],[102.839008,32.667078],[102.839308,32.667327],[102.839672,32.66757],[102.839779,32.667749],[102.839929,32.667998],[102.840079,32.668248],[102.8401,32.668284],[102.840322,32.668512],[102.8405,32.668634],[102.84075,32.668748],[102.841064,32.668791],[102.841378,32.668834],[102.841685,32.668886],[102.841992,32.668938],[102.842299,32.668991],[102.842486,32.669046],[102.842784,32.669133],[102.843113,32.669355],[102.843434,32.669469],[102.843655,32.669569],[102.843827,32.669847],[102.844059,32.6702],[102.844225,32.670452],[102.84439,32.670704],[102.844559,32.670923],[102.844728,32.671142],[102.844945,32.671422],[102.845161,32.671703],[102.845347,32.67191],[102.845533,32.672117],[102.845694,32.672245],[102.845704,32.672253],[102.84574,32.67227],[102.845802,32.672302],[102.845825,32.672308],[102.845924,32.672334],[102.846118,32.672346],[102.846375,32.67231],[102.846561,32.672285],[102.847003,32.672224],[102.847267,32.672224],[102.84753,32.672224],[102.847596,32.672224],[102.847986,32.672286],[102.848244,32.672327],[102.848376,32.672348],[102.848766,32.67241],[102.849159,32.672481],[102.849552,32.672553],[102.849944,32.672624],[102.850183,32.672674],[102.850422,32.672724],[102.850601,32.672791],[102.851001,32.672939],[102.8514,32.673088],[102.8518,32.67325],[102.8522,32.673413],[102.8526,32.673575],[102.852999,32.673738],[102.853263,32.673905],[102.853528,32.674073],[102.853727,32.674252],[102.853927,32.674344],[102.854113,32.674355],[102.85417,32.674359],[102.85451,32.674249],[102.854851,32.67414],[102.855191,32.67403],[102.855278,32.67398],[102.855541,32.673827],[102.855805,32.673673],[102.856033,32.673449],[102.856262,32.673224],[102.856487,32.673073],[102.856519,32.673052],[102.856761,32.67296],[102.857068,32.672924],[102.857318,32.672938],[102.857568,32.672952],[102.857839,32.673013],[102.85811,32.673074],[102.858209,32.673122],[102.858452,32.673199],[102.858668,32.673285],[102.858885,32.673371],[102.859101,32.673457],[102.859317,32.673543],[102.859533,32.673629],[102.859749,32.673715],[102.859955,32.673849],[102.860161,32.673984],[102.860296,32.674072],[102.860581,32.674232],[102.860866,32.674392],[102.861151,32.674551],[102.861398,32.674753],[102.861645,32.674954],[102.861651,32.674958],[102.861777,32.675088],[102.861953,32.67527],[102.862129,32.675451],[102.862286,32.675644],[102.862579,32.675908],[102.862869,32.676067],[102.86316,32.676227],[102.86345,32.676386],[102.863714,32.67652],[102.863979,32.676653],[102.864278,32.676804],[102.864578,32.676956],[102.864878,32.677107],[102.865107,32.677208],[102.86519,32.677318],[102.865304,32.677458],[102.865312,32.677546],[102.865295,32.677613],[102.865074,32.677945],[102.864853,32.678277],[102.864781,32.678484],[102.864674,32.678798],[102.864696,32.679112],[102.864781,32.679384],[102.864938,32.679698],[102.865232,32.679999],[102.865488,32.680262],[102.865631,32.680476],[102.865773,32.68069],[102.865848,32.680943],[102.865923,32.681197],[102.865945,32.681425],[102.865816,32.681682],[102.865823,32.681868],[102.865909,32.682011],[102.865952,32.682196],[102.865995,32.68241],[102.865988,32.682646],[102.866016,32.682839],[102.866088,32.683046],[102.866173,32.683188],[102.866316,32.683281],[102.866687,32.683388],[102.866998,32.683428],[102.867308,32.683467],[102.867465,32.683545],[102.867697,32.683692],[102.867929,32.683838],[102.868136,32.683995],[102.868229,32.684145],[102.868251,32.684331],[102.868272,32.684538],[102.86835,32.684652],[102.868486,32.684752],[102.868832,32.684912],[102.869178,32.685073],[102.869236,32.685141],[102.8694,32.685337],[102.869568,32.685505],[102.869735,32.685673],[102.869887,32.685872],[102.870142,32.686208],[102.870385,32.686493],[102.870613,32.686743],[102.87091,32.686954],[102.871206,32.687164],[102.871225,32.68718],[102.871563,32.68745],[102.871834,32.687764],[102.871977,32.687989],[102.87212,32.688214],[102.872173,32.688612],[102.872198,32.688799],[102.872177,32.68911],[102.872155,32.68942],[102.872127,32.689583],[102.872062,32.689948],[102.871985,32.690345],[102.871907,32.690741],[102.871905,32.690748],[102.871913,32.690934],[102.872034,32.691162],[102.872079,32.691238],[102.872198,32.69144],[102.872323,32.691651],[102.872448,32.691862],[102.872499,32.691967],[102.872662,32.692304],[102.872719,32.692529],[102.872725,32.692553],[102.872776,32.692754],[102.872933,32.693054],[102.873078,32.693209],[102.873138,32.69329],[102.873315,32.693446],[102.873331,32.69346],[102.873637,32.693638],[102.873943,32.693816],[102.874084,32.693819],[102.874226,32.693797],[102.874496,32.693671],[102.874785,32.69354],[102.875074,32.693409],[102.875362,32.693278],[102.87564,32.69318],[102.875917,32.693082],[102.876263,32.693053],[102.87661,32.693023],[102.876667,32.693018],[102.877021,32.693008],[102.877376,32.692999],[102.87773,32.692989],[102.878059,32.692925],[102.878401,32.692775],[102.87866,32.692634],[102.878919,32.692493],[102.878951,32.692475],[102.879151,32.69234],[102.87954,32.692236],[102.879929,32.692133],[102.880286,32.692083],[102.880643,32.692033],[102.880886,32.691999],[102.88109,32.691948],[102.881454,32.691905],[102.881817,32.691862],[102.882169,32.691848],[102.882313,32.691891],[102.882335,32.69189],[102.882592,32.69194],[102.882849,32.69199],[102.88317,32.692126],[102.883484,32.692375],[102.883798,32.692625],[102.883962,32.692854],[102.884155,32.693196],[102.88425,32.693335],[102.884485,32.693493],[102.884719,32.69365],[102.884972,32.693763],[102.885225,32.693877],[102.885251,32.693885],[102.885481,32.693994],[102.885711,32.694103],[102.885979,32.694206],[102.886246,32.69431],[102.886599,32.694331],[102.886951,32.694353],[102.887303,32.694374],[102.887703,32.694474],[102.887981,32.694474],[102.888145,32.694353],[102.888171,32.694333],[102.888499,32.694072],[102.888828,32.693812],[102.888866,32.693782],[102.889188,32.693547],[102.889511,32.693312],[102.889523,32.693303],[102.88983,32.693089],[102.890227,32.693034],[102.890237,32.693032],[102.890451,32.693061],[102.890858,32.693096],[102.891161,32.693139],[102.891465,32.693182],[102.891842,32.693225],[102.892188,32.693264],[102.892535,32.693303],[102.892835,32.693313],[102.893135,32.693323],[102.893435,32.693332],[102.893627,32.693361],[102.893892,32.693432],[102.894093,32.693514],[102.894371,32.693626],[102.894648,32.693739],[102.894962,32.693867],[102.895276,32.693996],[102.895519,32.694067],[102.895748,32.694124],[102.895976,32.694182],[102.896267,32.694221],[102.896497,32.694253],[102.89674,32.694274],[102.896968,32.69436],[102.897197,32.694446],[102.897446,32.694681],[102.897604,32.694863],[102.897761,32.695045],[102.897937,32.695274],[102.898003,32.695359],[102.8982,32.695612],[102.898396,32.695866],[102.898549,32.696082],[102.898589,32.696137],[102.898731,32.696402],[102.898867,32.69663],[102.899088,32.696716],[102.899388,32.696762],[102.899688,32.696808],[102.900026,32.696844],[102.900364,32.69688],[102.900702,32.696916],[102.901087,32.697037],[102.901473,32.697158],[102.901687,32.697233],[102.901901,32.697308],[102.902229,32.697426],[102.902558,32.697544],[102.902797,32.697676],[102.903036,32.697808],[102.903375,32.698033],[102.903714,32.698258],[102.903925,32.698365],[102.904135,32.698472],[102.904378,32.698661],[102.904621,32.69885],[102.904856,32.698993],[102.905227,32.699128],[102.905366,32.699249],[102.90562,32.699471],[102.905756,32.699542],[102.905899,32.69957],[102.905972,32.699593],[102.906074,32.699581],[102.906177,32.699539],[102.90634,32.699435],[102.906635,32.699134],[102.906929,32.698833],[102.907224,32.698532],[102.907519,32.698231],[102.907787,32.698006],[102.908054,32.697782],[102.908277,32.697642],[102.908475,32.697531],[102.908672,32.69742],[102.908955,32.697318],[102.909237,32.697216],[102.909545,32.697148],[102.909853,32.69708],[102.910139,32.69713],[102.910306,32.697196],[102.910517,32.69728],[102.910827,32.697433],[102.911138,32.697587],[102.911452,32.697782],[102.911802,32.698001],[102.912134,32.69824],[102.912466,32.698479],[102.912644,32.698566],[102.913022,32.69875],[102.913262,32.698896],[102.913501,32.699043],[102.913822,32.69915],[102.913869,32.699175],[102.914143,32.699321],[102.914257,32.699421],[102.914285,32.69954],[102.914286,32.699541],[102.914286,32.699542],[102.914343,32.699735],[102.914436,32.699807],[102.9147,32.699821],[102.914814,32.699792],[102.915171,32.699814],[102.915457,32.699899],[102.915771,32.699878],[102.916024,32.699824],[102.916278,32.699771],[102.916645,32.699749],[102.917013,32.699728],[102.917248,32.699714],[102.917484,32.699699],[102.917789,32.699623],[102.918084,32.69955],[102.918394,32.699528],[102.918705,32.699507],[102.918972,32.699528],[102.91924,32.69955],[102.919612,32.699654],[102.919954,32.699749],[102.920351,32.699804],[102.920749,32.699859],[102.921146,32.699914],[102.921179,32.69992],[102.921484,32.699977],[102.921788,32.700035],[102.92221,32.700049],[102.92247,32.700021],[102.922731,32.699992],[102.923049,32.699895],[102.923368,32.699797],[102.923687,32.699699],[102.924078,32.699517],[102.924469,32.699334],[102.924805,32.699121],[102.924805,32.699121],[102.924806,32.69912],[102.925015,32.698987],[102.925224,32.698855],[102.925433,32.698722],[102.925642,32.698589],[102.925851,32.698456],[102.92606,32.698323],[102.926269,32.69819],[102.926478,32.698057],[102.926825,32.697921],[102.927173,32.697784],[102.927491,32.697691],[102.92781,32.697597],[102.928068,32.697552],[102.928326,32.697506],[102.928641,32.697531],[102.928957,32.697556],[102.929235,32.69765],[102.929513,32.697743],[102.92987,32.697996],[102.930227,32.698249],[102.930485,32.698543],[102.930678,32.698763],[102.930768,32.699014],[102.930938,32.699353],[102.930954,32.699385],[102.931118,32.699621],[102.931218,32.699792],[102.931368,32.700078],[102.931468,32.700378],[102.931639,32.700735],[102.931875,32.701113],[102.931996,32.701227],[102.932196,32.701377],[102.932481,32.701625],[102.932667,32.701787],[102.932753,32.701862],[102.932896,32.702005],[102.932981,32.702127],[102.933053,32.702266],[102.933081,32.702319],[102.93314,32.702599],[102.933198,32.702878],[102.933238,32.703265],[102.933278,32.703653],[102.933319,32.70404],[102.933339,32.704234],[102.933369,32.704521],[102.933399,32.704808],[102.933459,32.705029],[102.933519,32.705249],[102.933565,32.705421],[102.933706,32.705768],[102.933829,32.706082],[102.933952,32.706395],[102.934059,32.706624],[102.934166,32.706852],[102.934281,32.707038],[102.93453,32.707252],[102.934656,32.707324],[102.934903,32.707466],[102.935151,32.707609],[102.935432,32.707694],[102.935595,32.707743],[102.935623,32.707752],[102.935987,32.70798],[102.936269,32.708191],[102.936551,32.708401],[102.936746,32.708637],[102.936941,32.708872],[102.937136,32.709108],[102.937346,32.709479],[102.937557,32.70985],[102.937678,32.710134],[102.9377,32.710186],[102.937832,32.710497],[102.937964,32.710808],[102.938021,32.710942],[102.938085,32.711107],[102.938157,32.71121],[102.93831,32.711319],[102.93862,32.711454],[102.938929,32.711589],[102.939301,32.711725],[102.939673,32.711862],[102.940044,32.711999],[102.940416,32.712136],[102.940813,32.712337],[102.941205,32.712535],[102.941597,32.712734],[102.94199,32.712932],[102.942382,32.713131],[102.94239,32.713133],[102.942561,32.713181],[102.942826,32.713255],[102.943029,32.713312],[102.943089,32.713329],[102.943351,32.713402],[102.943614,32.713476],[102.943877,32.713549],[102.94414,32.713623],[102.944402,32.713696],[102.944665,32.71377],[102.944928,32.713843],[102.945315,32.713928],[102.945702,32.714013],[102.94609,32.714099],[102.946475,32.714174],[102.946859,32.71425],[102.947112,32.714267],[102.947366,32.714284],[102.947619,32.714302],[102.947872,32.714319],[102.948125,32.714336],[102.948378,32.714354],[102.948818,32.714374],[102.949259,32.714395],[102.949488,32.714406],[102.949699,32.714416],[102.949933,32.71442],[102.950142,32.714522],[102.950347,32.714723],[102.950471,32.714918],[102.950595,32.715112],[102.95065,32.715199],[102.950818,32.715361],[102.951057,32.715726],[102.951296,32.716092],[102.951457,32.71627],[102.951617,32.716449],[102.951831,32.716651],[102.952046,32.716853],[102.952176,32.717091],[102.95226,32.717376],[102.952323,32.717633],[102.952387,32.71789],[102.952415,32.718005],[102.952445,32.718127],[102.952522,32.718435],[102.952587,32.718697],[102.952652,32.718959],[102.952807,32.719209],[102.953069,32.719518],[102.95336,32.719831],[102.95339,32.719863],[102.953711,32.720049],[102.954032,32.720236],[102.954354,32.720422],[102.954556,32.720517],[102.95477,32.720636],[102.95483,32.720755],[102.954861,32.720923],[102.954865,32.720946],[102.954888,32.721244],[102.954889,32.721255],[102.954877,32.721636],[102.955032,32.721886],[102.95521,32.722052],[102.955282,32.72235],[102.955329,32.722695],[102.955591,32.72304],[102.955829,32.723295],[102.956067,32.723551],[102.956373,32.72369],[102.956567,32.723777],[102.956799,32.723849],[102.957031,32.72392],[102.957366,32.724001],[102.957667,32.724073],[102.957967,32.724145],[102.958268,32.724217],[102.958613,32.724467],[102.958684,32.724527],[102.958744,32.724753],[102.958732,32.724991],[102.95872,32.725229],[102.958714,32.72552],[102.958708,32.725812],[102.958803,32.726157],[102.959029,32.72643],[102.959351,32.72668],[102.959707,32.726859],[102.959815,32.726966],[102.959823,32.726983],[102.959922,32.72718],[102.959986,32.727502],[102.959993,32.727537],[102.959981,32.727838],[102.959969,32.72814],[102.959957,32.728441],[102.959962,32.728774],[102.959979,32.728813],[102.960143,32.729193],[102.960343,32.729412],[102.960619,32.729574],[102.961,32.729716],[102.961212,32.729778],[102.961428,32.72984],[102.961871,32.729894],[102.962294,32.729945],[102.96257,32.73005],[102.962722,32.730211],[102.962894,32.730392],[102.96291,32.730419],[102.963046,32.730639],[102.963183,32.73086],[102.963217,32.730916],[102.963465,32.73122],[102.963779,32.731392],[102.964093,32.731582],[102.964407,32.731772],[102.96455,32.731858],[102.964731,32.731991],[102.964864,32.732172],[102.964917,32.732264],[102.965007,32.732419],[102.965179,32.732592],[102.965197,32.73261],[102.965549,32.732857],[102.965755,32.732983],[102.965961,32.733108],[102.965987,32.733124],[102.966239,32.733343],[102.966491,32.733562],[102.966634,32.733761],[102.966758,32.733999],[102.966929,32.734171],[102.967072,32.734342],[102.967111,32.734414],[102.967186,32.734551],[102.967321,32.734969],[102.967367,32.735113],[102.967557,32.73547],[102.967629,32.735584],[102.96765,32.73577],[102.967586,32.73597],[102.967357,32.736277],[102.96715,32.736551],[102.966943,32.736826],[102.966747,32.737105],[102.966551,32.737383],[102.966551,32.737383],[102.966551,32.737383],[102.96636,32.737635],[102.966168,32.737886],[102.966144,32.737918],[102.965965,32.738254],[102.965659,32.738518],[102.96538,32.738789],[102.96508,32.739053],[102.964852,32.73925],[102.964773,32.739318],[102.964524,32.73956],[102.964523,32.739562],[102.964427,32.739781],[102.964424,32.739789],[102.964331,32.740133],[102.964295,32.740267],[102.964247,32.740533],[102.964198,32.740799],[102.964181,32.740895],[102.964167,32.74094],[102.964109,32.74112],[102.964038,32.741345],[102.963931,32.741559],[102.963738,32.741702],[102.963417,32.741745],[102.963146,32.741784],[102.962875,32.741823],[102.96276,32.741849],[102.962496,32.741909],[102.962132,32.741959],[102.961797,32.74198],[102.961497,32.741966],[102.961439,32.741961],[102.961254,32.741944],[102.96123,32.741944],[102.96099,32.741944],[102.960783,32.742041],[102.960576,32.742137],[102.960393,32.74239],[102.960254,32.742452],[102.96004,32.742547],[102.959825,32.742643],[102.95961,32.742738],[102.959395,32.742833],[102.959185,32.742926],[102.95918,32.742929],[102.958965,32.743024],[102.958751,32.743119],[102.958536,32.743215],[102.958165,32.743393],[102.957795,32.743571],[102.957424,32.74375],[102.957208,32.743911],[102.956991,32.744073],[102.956774,32.744235],[102.956557,32.744396],[102.956395,32.744576],[102.956233,32.744756],[102.956071,32.744936],[102.955909,32.745116],[102.955715,32.745449],[102.95552,32.745782],[102.955439,32.746013],[102.955357,32.746244],[102.955276,32.746474],[102.955194,32.746705],[102.955122,32.746953],[102.95505,32.747201],[102.954979,32.747449],[102.954907,32.747697],[102.954761,32.747942],[102.954614,32.748187],[102.954363,32.748449],[102.954112,32.748712],[102.953945,32.748867],[102.953777,32.749023],[102.95361,32.749178],[102.953442,32.749333],[102.953275,32.749489],[102.953107,32.749644],[102.953075,32.749672],[102.952832,32.74988],[102.952557,32.750116],[102.952533,32.750136],[102.952248,32.750381],[102.951904,32.750553],[102.951879,32.750566],[102.951561,32.750725],[102.951255,32.750818],[102.950948,32.750912],[102.950524,32.751014],[102.9501,32.751116],[102.949992,32.75113],[102.949684,32.751169],[102.949267,32.751221],[102.948851,32.751274],[102.948435,32.751326],[102.948189,32.751337],[102.947943,32.751348],[102.947697,32.751358],[102.947451,32.751369],[102.947207,32.75138],[102.947205,32.75138],[102.946959,32.751391],[102.946713,32.751401],[102.946467,32.751412],[102.946221,32.751423],[102.945975,32.751434],[102.945729,32.751444],[102.945483,32.751455],[102.945251,32.751473],[102.945019,32.751491],[102.944788,32.751509],[102.944556,32.751527],[102.94418,32.7516],[102.943803,32.751673],[102.943556,32.751748],[102.943309,32.751822],[102.943046,32.752035],[102.942829,32.752348],[102.942667,32.752528],[102.942504,32.752708],[102.942342,32.752888],[102.94218,32.753068],[102.942026,32.753285],[102.941983,32.753346],[102.941976,32.753355],[102.941872,32.753502],[102.941718,32.75372],[102.941563,32.753937],[102.941543,32.753966],[102.941485,32.754047],[102.941409,32.754154],[102.941395,32.754175],[102.941255,32.754372],[102.941101,32.754589],[102.940947,32.754806],[102.940816,32.755011],[102.940685,32.755215],[102.940555,32.755419],[102.940424,32.755623],[102.940293,32.755827],[102.940162,32.756031],[102.940047,32.756252],[102.939931,32.756472],[102.939815,32.756692],[102.939699,32.756912],[102.939527,32.757255],[102.939354,32.757598],[102.93926,32.757959],[102.939167,32.75832],[102.939073,32.758681],[102.939087,32.759089],[102.939101,32.759497],[102.939115,32.759906],[102.939144,32.760171],[102.939173,32.760437],[102.939202,32.760702],[102.939231,32.760968],[102.93926,32.761233],[102.939289,32.761498],[102.939246,32.761804],[102.939203,32.76211],[102.939032,32.762482],[102.93891,32.762707],[102.938788,32.762932],[102.938684,32.763024],[102.93846,32.763221],[102.938237,32.763418],[102.937973,32.763729],[102.937825,32.763904],[102.937709,32.76404],[102.937608,32.76435],[102.937553,32.764703],[102.937616,32.764972],[102.937643,32.765085],[102.93768,32.765241],[102.937769,32.765449],[102.937858,32.765658],[102.937947,32.765867],[102.938036,32.766076],[102.938147,32.766315],[102.938259,32.766554],[102.938323,32.766822],[102.938388,32.767089],[102.93841,32.767475],[102.938432,32.76786],[102.938454,32.768246],[102.938495,32.768493],[102.938536,32.768741],[102.938684,32.769157],[102.938712,32.769237],[102.938893,32.769517],[102.939052,32.769718],[102.939211,32.769918],[102.939324,32.770137],[102.939437,32.770355],[102.939476,32.770634],[102.939491,32.771029],[102.93946,32.771343],[102.939404,32.771719],[102.93942,32.772094],[102.939461,32.772247],[102.939528,32.772491],[102.939655,32.772707],[102.939782,32.772923],[102.939909,32.773139],[102.940036,32.773355],[102.940163,32.773571],[102.94029,32.773787],[102.940418,32.774003],[102.940545,32.774219],[102.940651,32.774443],[102.940757,32.774667],[102.940862,32.774891],[102.940968,32.775115],[102.941067,32.775413],[102.941166,32.775711],[102.941251,32.776068],[102.941336,32.776425],[102.941398,32.776791],[102.94146,32.777158],[102.941453,32.777444],[102.941446,32.77773],[102.941429,32.777987],[102.941411,32.778243],[102.94137,32.778509],[102.941337,32.778722],[102.941329,32.778775],[102.941265,32.779031],[102.941201,32.779287],[102.941107,32.779531],[102.941014,32.779775],[102.94092,32.78002],[102.940826,32.780264],[102.940608,32.780609],[102.940389,32.780954],[102.940171,32.781299],[102.939944,32.781664],[102.939717,32.782029],[102.93949,32.782394],[102.939221,32.782737],[102.938953,32.783081],[102.938684,32.783424],[102.938414,32.783769],[102.938143,32.784115],[102.937873,32.78446],[102.937766,32.784672],[102.93766,32.784883],[102.937553,32.785094],[102.937534,32.785132],[102.937486,32.785226],[102.937452,32.785294],[102.937446,32.785306],[102.93734,32.785517],[102.937233,32.785728],[102.937191,32.785833],[102.937139,32.785964],[102.937133,32.785979],[102.937122,32.786009],[102.937034,32.786229],[102.936934,32.786479],[102.936835,32.786729],[102.936724,32.787142],[102.936613,32.787555],[102.936524,32.787886],[102.936502,32.787968],[102.936457,32.788363],[102.936413,32.788758],[102.936404,32.789139],[102.936395,32.789521],[102.936387,32.789902],[102.936423,32.790326],[102.936459,32.79075],[102.936453,32.791027],[102.936447,32.791304],[102.936427,32.791544],[102.936406,32.791784],[102.936383,32.792054],[102.936327,32.792448],[102.936296,32.79267],[102.936271,32.792842],[102.936237,32.793024],[102.936193,32.793255],[102.936191,32.793268],[102.936111,32.793695],[102.936076,32.793879],[102.93603,32.794122],[102.93599,32.794375],[102.935968,32.79451],[102.935959,32.794566],[102.935949,32.794627],[102.935908,32.79488],[102.935867,32.795133],[102.935839,32.795311],[102.935829,32.79537],[102.935827,32.795386],[102.935786,32.795639],[102.93571,32.795874],[102.935645,32.796076],[102.935634,32.79611],[102.935602,32.796209],[102.935558,32.796346],[102.935482,32.796581],[102.935396,32.796818],[102.93531,32.797055],[102.935278,32.797143],[102.935224,32.797292],[102.935138,32.797529],[102.935053,32.797766],[102.934967,32.798003],[102.934881,32.79824],[102.934795,32.798477],[102.934709,32.798714],[102.934623,32.798952],[102.934537,32.799189],[102.934452,32.799426],[102.934395,32.799682],[102.934338,32.799938],[102.934281,32.800194],[102.934225,32.80045],[102.934168,32.800706],[102.934111,32.800962],[102.934074,32.801215],[102.934037,32.801468],[102.934,32.801721],[102.933963,32.801973],[102.933926,32.802226],[102.933889,32.802479],[102.93388,32.802884],[102.933871,32.803289],[102.9339,32.80371],[102.933929,32.80413],[102.933958,32.804551],[102.934029,32.804765],[102.9341,32.804978],[102.934172,32.805192],[102.934243,32.805406],[102.934399,32.805725],[102.934555,32.806043],[102.934797,32.806389],[102.935039,32.806736],[102.935281,32.807082],[102.935459,32.807248],[102.935637,32.807414],[102.935814,32.80758],[102.935992,32.807746],[102.936063,32.807793],[102.936013,32.80783],[102.934879,32.808317],[102.933789,32.808695],[102.933748,32.808709],[102.932941,32.809186],[102.932352,32.809534],[102.931927,32.809785],[102.931088,32.810276],[102.930562,32.810583],[102.929342,32.811574],[102.928809,32.811976],[102.927929,32.812814],[102.927908,32.812834],[102.92793,32.813059],[102.927881,32.813193],[102.927826,32.813299],[102.927769,32.813337],[102.927719,32.813338],[102.927605,32.813305],[102.927426,32.813288],[102.926973,32.813715],[102.92583,32.814612],[102.924806,32.815195],[102.923798,32.815581],[102.922549,32.81651],[102.921764,32.817317],[102.921287,32.818021],[102.920757,32.818833],[102.920502,32.819929],[102.920294,32.821177],[102.920074,32.821821],[102.919937,32.822229],[102.919542,32.823064],[102.919081,32.823862],[102.918583,32.824746],[102.917569,32.825852],[102.916515,32.827186],[102.916182,32.828332],[102.916115,32.829712],[102.916032,32.83184],[102.916081,32.832647],[102.916265,32.833514],[102.915939,32.83581],[102.915777,32.83693],[102.915502,32.837198],[102.915253,32.837439],[102.91442,32.838099],[102.913864,32.838538],[102.912854,32.839471],[102.912321,32.840383],[102.912231,32.841331],[102.912993,32.843704],[102.913418,32.844488],[102.913605,32.844679],[102.914017,32.845102],[102.914889,32.845721],[102.914945,32.84624],[102.914884,32.846419],[102.914653,32.847098],[102.914301,32.847809],[102.914116,32.848183],[102.913412,32.849121],[102.912774,32.850175],[102.912105,32.851084],[102.911271,32.851346],[102.910971,32.85144],[102.909854,32.851133],[102.909759,32.851113],[102.909691,32.851098],[102.909683,32.851097],[102.909637,32.851087],[102.90952,32.851062],[102.909397,32.851035],[102.909209,32.850995],[102.909152,32.850983],[102.909006,32.850952],[102.9089,32.850929],[102.908868,32.850922],[102.908844,32.850917],[102.908804,32.850908],[102.908682,32.850882],[102.908667,32.850879],[102.908656,32.850877],[102.908603,32.850866],[102.908585,32.850862],[102.908395,32.850821],[102.907379,32.850545],[102.906262,32.850181],[102.905111,32.849845],[102.904054,32.849827],[102.902658,32.849775],[102.901531,32.849871],[102.900031,32.849846],[102.899478,32.850182],[102.899453,32.851218],[102.899529,32.852341],[102.900031,32.854191],[102.900346,32.85529],[102.900999,32.85651],[102.901606,32.858247],[102.90189,32.85923],[102.901703,32.859946],[102.901726,32.860407],[102.901708,32.861155],[102.901659,32.861816],[102.901196,32.86552],[102.901096,32.866871],[102.900589,32.868129],[102.899904,32.871167],[102.899493,32.874124],[102.899108,32.875988],[102.899044,32.877282],[102.898907,32.878719],[102.898709,32.881334],[102.899057,32.882491],[102.899003,32.883325],[102.898817,32.883983],[102.89849,32.884389],[102.89829,32.884636],[102.8978,32.885175],[102.897787,32.885186],[102.897278,32.885626],[102.896146,32.887334],[102.895571,32.88859],[102.895698,32.888995],[102.895751,32.889629],[102.895731,32.890464],[102.895235,32.8927],[102.894937,32.893759],[102.894535,32.894904],[102.894308,32.895821],[102.894356,32.896685],[102.894163,32.897215],[102.894094,32.897403],[102.893845,32.898086],[102.893579,32.899262],[102.89373,32.90007],[102.893743,32.900962],[102.893818,32.902114],[102.893929,32.903181],[102.893877,32.903928],[102.893691,32.904587],[102.893298,32.905329],[102.893252,32.905846],[102.89303,32.906561],[102.892434,32.907242],[102.891588,32.908408],[102.891018,32.909434],[102.890012,32.910136],[102.887136,32.912016],[102.886416,32.912147],[102.885692,32.91248],[102.884545,32.913353],[102.883882,32.914004],[102.883036,32.91514],[102.882087,32.916275],[102.881664,32.916844],[102.880757,32.917692],[102.879803,32.917647],[102.879321,32.91756],[102.87904,32.917509],[102.877821,32.917289],[102.876403,32.917034],[102.8761,32.916979],[102.876038,32.917017],[102.871981,32.91947],[102.871968,32.919496],[102.870938,32.920345],[102.870533,32.921255],[102.870228,32.923298],[102.870064,32.924805],[102.869858,32.925394],[102.869007,32.926242],[102.868257,32.92817],[102.867081,32.929228],[102.865955,32.93088],[102.865398,32.932757],[102.86523,32.934426],[102.865707,32.935889],[102.866382,32.937033],[102.866716,32.937779],[102.866746,32.937848],[102.866625,32.938309],[102.866394,32.939189],[102.865904,32.94096],[102.864585,32.942662],[102.863643,32.944587],[102.862638,32.94651],[102.861969,32.947739],[102.861808,32.949137],[102.861775,32.950484],[102.861744,32.950788],[102.861691,32.951315],[102.86162,32.951313],[102.861651,32.951857],[102.86167,32.952186],[102.861624,32.953016],[102.861455,32.953297],[102.861363,32.953469],[102.861205,32.953713],[102.861087,32.953893],[102.860996,32.95408],[102.860905,32.954352],[102.860864,32.954539],[102.86083,32.954846],[102.860635,32.955175],[102.860484,32.955576],[102.860467,32.955601],[102.8603,32.955824],[102.860098,32.956054],[102.859863,32.956364],[102.859755,32.956557],[102.85963,32.956773],[102.859496,32.956982],[102.859387,32.957147],[102.859254,32.957377],[102.859153,32.957528],[102.85902,32.957772],[102.858932,32.957991],[102.858705,32.9583],[102.858044,32.95907],[102.854856,32.961091],[102.853988,32.961587],[102.853286,32.962597],[102.85298,32.963434],[102.851996,32.964319],[102.850872,32.965052],[102.84967,32.966084],[102.8473,32.968208],[102.845807,32.969445],[102.844901,32.970021],[102.843744,32.970467],[102.842155,32.970493],[102.840628,32.970574],[102.839288,32.970765],[102.839267,32.971268],[102.837553,32.971574],[102.835834,32.971694],[102.833971,32.971687],[102.832757,32.971716],[102.831339,32.971641],[102.830507,32.971776],[102.829415,32.971683],[102.828182,32.971287],[102.827426,32.97075],[102.826164,32.970354],[102.82438,32.969525],[102.824126,32.96954],[102.823699,32.969563],[102.823477,32.96975],[102.823218,32.969968],[102.822974,32.970174],[102.822335,32.971369],[102.822274,32.971483],[102.822168,32.971681],[102.821793,32.972472],[102.821336,32.973013],[102.820849,32.973626],[102.820311,32.973953],[102.820127,32.974064],[102.819401,32.974725],[102.818462,32.975606],[102.817708,32.976191],[102.817384,32.976424],[102.816384,32.977446],[102.815819,32.977463],[102.814265,32.977026],[102.813195,32.976644],[102.811809,32.975937],[102.810955,32.975558],[102.809487,32.975987],[102.807907,32.976597],[102.806382,32.977161],[102.805465,32.977145],[102.804862,32.977498],[102.803059,32.978376],[102.802073,32.979035],[102.801875,32.979166],[102.801797,32.979218],[102.80048,32.980105],[102.799009,32.98067],[102.798027,32.981063],[102.796524,32.980763],[102.795519,32.979927],[102.794242,32.979176],[102.792915,32.978288],[102.792179,32.977502],[102.791195,32.975847],[102.789884,32.974323],[102.789142,32.973764],[102.788022,32.973243],[102.787012,32.972634],[102.786111,32.971981],[102.781472,32.969715],[102.779723,32.968456],[102.77878,32.967302],[102.77741,32.966004],[102.776523,32.964805],[102.776066,32.96366],[102.776039,32.962568],[102.776077,32.961067],[102.776114,32.959593],[102.776118,32.959431],[102.776143,32.958432],[102.776151,32.958112],[102.776161,32.958036],[102.77635,32.956614],[102.775941,32.956354],[102.775548,32.956102],[102.775093,32.955812],[102.77481,32.955632],[102.774347,32.955432],[102.773923,32.955249],[102.773607,32.955113],[102.773346,32.955001],[102.773048,32.954872],[102.77269,32.954674],[102.772304,32.954447],[102.771908,32.95421],[102.77153,32.953991],[102.771028,32.953699],[102.77083,32.953415],[102.770611,32.9531],[102.770371,32.953438],[102.770164,32.953729],[102.769858,32.954077],[102.769561,32.954415],[102.769219,32.954804],[102.769094,32.954952],[102.768894,32.955187],[102.768538,32.955606],[102.768497,32.955655],[102.768272,32.955942],[102.767549,32.956867],[102.766063,32.958023],[102.76462,32.959262],[102.764298,32.959538],[102.764134,32.959673],[102.762149,32.961319],[102.76101,32.962656],[102.76097,32.962704],[102.760814,32.962887],[102.759974,32.9641],[102.759649,32.9644],[102.759517,32.964523],[102.758814,32.965171],[102.757757,32.966426],[102.757706,32.966483],[102.757537,32.966673],[102.757538,32.966744],[102.757526,32.966782],[102.757519,32.966804],[102.757499,32.966829],[102.757473,32.966848],[102.757429,32.966861],[102.757377,32.966849],[102.757316,32.96684],[102.757209,32.966816],[102.757174,32.966812],[102.757146,32.966812],[102.757133,32.966819],[102.757109,32.966842],[102.7571,32.966864],[102.7571,32.966894],[102.757137,32.966989],[102.757175,32.967062],[102.757178,32.967077],[102.756987,32.967291],[102.756973,32.967307],[102.756737,32.967572],[102.756723,32.967588],[102.756709,32.967604],[102.756662,32.967656],[102.75665,32.96767],[102.756631,32.967691],[102.756612,32.967712],[102.755924,32.968485],[102.754325,32.969821],[102.754014,32.970145],[102.753331,32.970853],[102.753006,32.97119],[102.752386,32.971833],[102.749954,32.974109],[102.749867,32.974226],[102.749773,32.974205],[102.74975,32.9742],[102.749638,32.974219],[102.74959,32.974253],[102.749566,32.974292],[102.749484,32.974377],[102.749338,32.974456],[102.749238,32.974513],[102.749236,32.974514],[102.749074,32.974619],[102.748886,32.974742],[102.74874,32.974867],[102.748577,32.975041],[102.748536,32.975063],[102.748423,32.975139],[102.748291,32.975306],[102.748229,32.975442],[102.748201,32.975555],[102.748206,32.975637],[102.74822,32.975692],[102.748302,32.97573],[102.748427,32.975771],[102.748514,32.975799],[102.748602,32.975817],[102.748677,32.97582],[102.748573,32.97596],[102.748527,32.976023],[102.747383,32.977566],[102.746421,32.979322],[102.74575,32.980266],[102.745721,32.981402],[102.745726,32.983313],[102.745489,32.984173],[102.74509,32.984984],[102.74496,32.985846],[102.744713,32.98707],[102.744401,32.988747],[102.743771,32.990192],[102.743522,32.991461],[102.742569,32.992854],[102.74248,32.993057],[102.742054,32.994027],[102.741919,32.995071],[102.741881,32.996571],[102.741226,32.996832],[102.740258,32.996724],[102.739037,32.995883],[102.737294,32.994396],[102.736182,32.993557],[102.735613,32.992591],[102.734674,32.991301],[102.73399,32.990606],[102.73255,32.989943],[102.731398,32.988557],[102.731337,32.988351],[102.73105,32.987368],[102.730921,32.986092],[102.730902,32.985731],[102.730894,32.985565],[102.73089,32.985484],[102.730877,32.98523],[102.730849,32.984681],[102.730261,32.984443],[102.729457,32.984246],[102.727843,32.984035],[102.72754,32.983958],[102.726878,32.98379],[102.723982,32.983055],[102.722161,32.982521],[102.721906,32.981925],[102.721838,32.980377],[102.721602,32.979054],[102.7216,32.978999],[102.7216,32.978993],[102.721718,32.978952],[102.721774,32.978931],[102.721713,32.978899],[102.721776,32.978873],[102.721773,32.97887],[102.72176,32.978861],[102.721737,32.978828],[102.721712,32.978813],[102.721721,32.978794],[102.721771,32.978788],[102.721823,32.97878],[102.72189,32.978782],[102.721918,32.978793],[102.721941,32.978816],[102.721961,32.978842],[102.721974,32.978862],[102.721986,32.97888],[102.722016,32.97888],[102.722032,32.978871],[102.722028,32.978843],[102.722027,32.978829],[102.722008,32.978806],[102.721986,32.978785],[102.721965,32.978768],[102.721949,32.978745],[102.72196,32.978739],[102.72199,32.978733],[102.722008,32.978724],[102.722023,32.978703],[102.722039,32.978682],[102.72205,32.978643],[102.722057,32.978607],[102.722056,32.97858],[102.722054,32.978557],[102.721995,32.978499],[102.721936,32.97843],[102.721924,32.978432],[102.721874,32.978432],[102.721845,32.978421],[102.721851,32.978402],[102.721871,32.978381],[102.721873,32.978358],[102.721873,32.978343],[102.721848,32.978324],[102.721843,32.978325],[102.721801,32.978332],[102.72176,32.97834],[102.721706,32.97834],[102.721687,32.978327],[102.72168,32.978298],[102.721664,32.97826],[102.721657,32.978226],[102.721607,32.978197],[102.721591,32.97819],[102.721591,32.978159],[102.721593,32.978136],[102.721599,32.978114],[102.721563,32.978086],[102.721369,32.977982],[102.721282,32.977901],[102.721188,32.977826],[102.721189,32.977813],[102.721189,32.97775],[102.721164,32.977697],[102.721106,32.977641],[102.721003,32.977576],[102.720936,32.977522],[102.720875,32.977466],[102.7208,32.977377],[102.72075,32.977303],[102.720646,32.977139],[102.720574,32.977035],[102.720489,32.976955],[102.720347,32.976896],[102.720233,32.976873],[102.72012,32.976841],[102.720045,32.976809],[102.719953,32.97675],[102.719931,32.976726],[102.719917,32.976684],[102.719902,32.976604],[102.719887,32.976517],[102.719858,32.976449],[102.719823,32.976401],[102.719759,32.976366],[102.719667,32.976334],[102.719532,32.976287],[102.719386,32.976219],[102.719279,32.97616],[102.719176,32.976113],[102.719013,32.976066],[102.718918,32.976058],[102.718776,32.976068],[102.718649,32.976068],[102.718468,32.976039],[102.718401,32.976016],[102.718309,32.975966],[102.71824,32.975859],[102.71819,32.975776],[102.718022,32.975586],[102.717933,32.975476],[102.717801,32.975354],[102.717655,32.975236],[102.717499,32.975141],[102.717218,32.975006],[102.717108,32.974968],[102.71697,32.974912],[102.716814,32.974844],[102.716675,32.974797],[102.716452,32.974739],[102.716239,32.974666],[102.716065,32.974607],[102.715951,32.974551],[102.715777,32.974477],[102.715685,32.974424],[102.715432,32.974247],[102.715319,32.974173],[102.715048,32.974001],[102.714963,32.973957],[102.714828,32.973904],[102.714697,32.973869],[102.714594,32.973861],[102.714527,32.973873],[102.714425,32.973969],[102.714387,32.974044],[102.714388,32.974089],[102.714346,32.974178],[102.714286,32.974262],[102.714198,32.974334],[102.714033,32.974407],[102.713804,32.974495],[102.713638,32.974546],[102.713465,32.974586],[102.713334,32.974629],[102.713024,32.97483],[102.712852,32.97495],[102.712683,32.975071],[102.712468,32.975191],[102.71213,32.975309],[102.71196,32.975352],[102.711836,32.975377],[102.711653,32.975396],[102.711476,32.975414],[102.711225,32.975434],[102.711006,32.975453],[102.7109,32.975471],[102.71072,32.975526],[102.710686,32.975545],[102.710505,32.975432],[102.710373,32.97535],[102.710224,32.975261],[102.710064,32.975178],[102.709911,32.975114],[102.709755,32.97507],[102.70956,32.975008],[102.709545,32.975005],[102.709358,32.974967],[102.7092,32.974968],[102.709075,32.974973],[102.708968,32.975],[102.708855,32.975044],[102.708742,32.975111],[102.708675,32.975162],[102.708599,32.975219],[102.708473,32.975335],[102.708383,32.975431],[102.708321,32.975493],[102.708262,32.97557],[102.708215,32.975644],[102.708153,32.975752],[102.708083,32.975847],[102.708021,32.975874],[102.70794,32.975956],[102.70789,32.976049],[102.707851,32.97613],[102.707797,32.976183],[102.707645,32.97626],[102.707563,32.976304],[102.707496,32.97638],[102.707446,32.976455],[102.707364,32.976534],[102.707246,32.976649],[102.7071,32.976786],[102.706993,32.976875],[102.706875,32.97694],[102.706776,32.976986],[102.706595,32.977039],[102.706395,32.977078],[102.706271,32.977108],[102.706146,32.977142],[102.706028,32.977181],[102.705929,32.977236],[102.705777,32.977349],[102.705701,32.977438],[102.705654,32.977498],[102.705592,32.977591],[102.705514,32.977692],[102.705455,32.977756],[102.705402,32.977816],[102.705345,32.977862],[102.705261,32.977908],[102.705176,32.977944],[102.705063,32.977983],[102.705015,32.978002],[102.704826,32.978018],[102.704448,32.978073],[102.704193,32.97812],[102.703748,32.978161],[102.703688,32.978167],[102.703451,32.978201],[102.703087,32.978242],[102.702012,32.978316],[102.701913,32.978323],[102.701882,32.978319],[102.701746,32.97832],[102.701665,32.978326],[102.701515,32.978352],[102.701421,32.978385],[102.701226,32.978445],[102.701082,32.978495],[102.700955,32.978536],[102.700754,32.978623],[102.70066,32.97867],[102.700581,32.978702],[102.700434,32.978724],[102.700314,32.978727],[102.700187,32.978722],[102.700037,32.978715],[102.699777,32.978697],[102.699627,32.978666],[102.699548,32.978648],[102.698725,32.978816],[102.697858,32.978936],[102.697309,32.97929],[102.697029,32.979737],[102.697098,32.979899],[102.697123,32.98001],[102.697083,32.98012],[102.697073,32.980172],[102.696966,32.980321],[102.696599,32.98065],[102.696396,32.98088],[102.696233,32.98102],[102.69608,32.981094],[102.695949,32.981122],[102.695866,32.981138],[102.695747,32.981262],[102.694762,32.98179],[102.693452,32.982357],[102.692481,32.982339],[102.690873,32.9819],[102.689113,32.981094],[102.688071,32.979665],[102.687721,32.978612],[102.686783,32.977321],[102.685795,32.975893],[102.685128,32.974561],[102.684403,32.973411],[102.683979,32.971037],[102.683574,32.970029],[102.68301,32.968881],[102.681946,32.968316],[102.680498,32.96797],[102.678685,32.967118],[102.678521,32.967068],[102.677882,32.966876],[102.676001,32.966568],[102.673966,32.965984],[102.673007,32.965511],[102.672389,32.964408],[102.670758,32.962785],[102.669856,32.962223],[102.668662,32.960426],[102.667381,32.958529],[102.66674,32.958814],[102.665795,32.95906],[102.664637,32.958888],[102.66317,32.958597],[102.661343,32.958374],[102.659473,32.958075],[102.65869,32.958026],[102.658295,32.958001],[102.657777,32.957968],[102.655903,32.95782],[102.653898,32.957593],[102.652834,32.957234],[102.651058,32.956786],[102.650025,32.956955],[102.649124,32.95724],[102.647238,32.957543],[102.646026,32.957747],[102.645697,32.958343],[102.644971,32.958744],[102.644205,32.958994],[102.643612,32.959435],[102.642505,32.960695],[102.641353,32.961992],[102.640033,32.962872],[102.638671,32.963675],[102.637224,32.964289],[102.635503,32.965123],[102.633611,32.965652],[102.631407,32.965986],[102.629563,32.965699],[102.628738,32.965587],[102.627837,32.965465],[102.625633,32.965272],[102.625517,32.965235],[102.625251,32.965149],[102.625202,32.965133],[102.62515,32.965116],[102.625129,32.96511],[102.624804,32.965004],[102.622854,32.964212],[102.622259,32.963988],[102.622228,32.963976],[102.622206,32.963968],[102.62215,32.963947],[102.621943,32.963869],[102.621695,32.963776],[102.621599,32.963739],[102.621186,32.963584],[102.619898,32.963098],[102.619545,32.963028],[102.619534,32.963026],[102.619415,32.963002],[102.619296,32.962979],[102.618494,32.962819],[102.618418,32.962804],[102.61794,32.962709],[102.615949,32.962087],[102.615916,32.962077],[102.615704,32.962011],[102.61569,32.962006],[102.615264,32.961873],[102.615128,32.961831],[102.615001,32.961791],[102.615024,32.961581],[102.615039,32.961439]]]]},"properties":{"cp":[102.84021326842111,32.73181473528267],"code":"513233205","name":"阿木乡","level":"street","center":[102.84021326842111,32.73181473528267],"fullCode":"513233205000","fullName":"四川省阿坝藏族羌族自治州红原县阿木乡","acreageMu":1338297.24,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.789,32.9154]}},{"id":"513233207","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.844495,33.079459],[102.844382,33.079401],[102.84443,33.079385],[102.844506,33.079376],[102.844569,33.078895],[102.844578,33.07883],[102.844641,33.07835],[102.844645,33.078323],[102.844646,33.078265],[102.844669,33.077341],[102.84467,33.077303],[102.844671,33.077231],[102.844935,33.07639],[102.844994,33.076401],[102.845031,33.0764],[102.845065,33.076391],[102.845099,33.076369],[102.845117,33.076336],[102.845115,33.076287],[102.845103,33.076236],[102.845079,33.076199],[102.84501,33.076158],[102.845141,33.075762],[102.845203,33.075757],[102.845243,33.075728],[102.845258,33.075685],[102.84528,33.075629],[102.845276,33.075575],[102.845265,33.075541],[102.845218,33.075529],[102.845455,33.074811],[102.845469,33.074509],[102.845517,33.07448],[102.845535,33.074447],[102.845541,33.074403],[102.845541,33.074363],[102.845527,33.074306],[102.84552,33.074258],[102.845519,33.074188],[102.845532,33.074119],[102.845563,33.07405],[102.845592,33.073981],[102.845605,33.073935],[102.845607,33.073897],[102.845582,33.073888],[102.845548,33.073897],[102.845496,33.073923],[102.8455,33.073836],[102.845469,33.073643],[102.845459,33.073577],[102.845259,33.072336],[102.845272,33.072264],[102.845273,33.072178],[102.845263,33.072102],[102.845242,33.072058],[102.845204,33.072041],[102.845118,33.072038],[102.84485,33.071477],[102.844725,33.070707],[102.844711,33.07062],[102.844589,33.069865],[102.844198,33.067669],[102.844189,33.06762],[102.844119,33.066488],[102.844117,33.066462],[102.843883,33.065075],[102.843901,33.064313],[102.844961,33.063485],[102.845547,33.062818],[102.84569,33.062453],[102.846066,33.062149],[102.84601,33.061697],[102.84563,33.060759],[102.845546,33.060108],[102.845335,33.059145],[102.845688,33.058389],[102.846445,33.057584],[102.846591,33.057107],[102.846806,33.056518],[102.846876,33.055023],[102.847498,33.054272],[102.848225,33.053325],[102.848508,33.052709],[102.849238,33.051621],[102.849892,33.050927],[102.850289,33.049748],[102.850368,33.049242],[102.850701,33.047977],[102.850947,33.047394],[102.851068,33.04711],[102.85111,33.04701],[102.851163,33.046885],[102.851659,33.045792],[102.852059,33.044501],[102.852986,33.04082],[102.852891,33.039182],[102.852846,33.038278],[102.853084,33.036786],[102.853592,33.035186],[102.85374,33.034468],[102.853801,33.034173],[102.854085,33.032796],[102.854443,33.031842],[102.854791,33.03134],[102.855469,33.030985],[102.856091,33.030234],[102.856445,33.02945],[102.856808,33.02827],[102.857282,33.026698],[102.857501,33.025968],[102.857227,33.024806],[102.85659,33.023469],[102.856544,33.022593],[102.856625,33.022002],[102.85701,33.021331],[102.857639,33.02027],[102.857759,33.01997],[102.857836,33.019781],[102.858102,33.01912],[102.858594,33.018169],[102.858539,33.017689],[102.857779,33.017224],[102.856349,33.016726],[102.856308,33.016712],[102.855598,33.016465],[102.855579,33.016458],[102.855544,33.016446],[102.855541,33.016445],[102.855534,33.016442],[102.855511,33.016434],[102.854623,33.016126],[102.85455,33.016089],[102.85453,33.016079],[102.853395,33.015513],[102.853221,33.01522],[102.852586,33.014663],[102.852178,33.014483],[102.85133,33.014245],[102.851089,33.014291],[102.849761,33.013586],[102.849572,33.013075],[102.849655,33.012427],[102.84989,33.01102],[102.850162,33.009757],[102.850117,33.009651],[102.850107,33.009517],[102.850136,33.009268],[102.850304,33.008986],[102.850449,33.008855],[102.850632,33.008782],[102.850754,33.008552],[102.851312,33.00763],[102.851562,33.007013],[102.851583,33.006139],[102.851285,33.004902],[102.851266,33.004823],[102.851248,33.00475],[102.851009,33.004252],[102.850895,33.004014],[102.850866,33.003953],[102.850544,33.003383],[102.850149,33.001653],[102.84996,33.001421],[102.849954,33.001414],[102.849953,33.001413],[102.849565,33.000939],[102.849522,33.000883],[102.849431,33.000768],[102.84943,33.000767],[102.849408,33.000739],[102.849273,33.000567],[102.848992,33.000135],[102.848753,32.999765],[102.848353,32.99915],[102.848335,32.999122],[102.84811,32.998776],[102.848012,32.998625],[102.846594,32.995025],[102.84578,32.993888],[102.845532,32.992523],[102.845557,32.992407],[102.845653,32.991957],[102.845761,32.991448],[102.84577,32.991403],[102.846145,32.990243],[102.846212,32.990035],[102.846226,32.989992],[102.846149,32.988913],[102.84629,32.988838],[102.846336,32.988793],[102.84637,32.988697],[102.846337,32.988587],[102.846298,32.988564],[102.84622,32.988564],[102.846126,32.98858],[102.846121,32.988511],[102.846271,32.986698],[102.846295,32.9864],[102.846309,32.986335],[102.846356,32.986117],[102.846456,32.985653],[102.846456,32.985653],[102.846467,32.985599],[102.846533,32.985295],[102.84693,32.984104],[102.846965,32.983908],[102.846999,32.983722],[102.847003,32.983697],[102.847006,32.983679],[102.847073,32.983306],[102.847078,32.983278],[102.847085,32.983243],[102.847091,32.983208],[102.847113,32.983087],[102.846892,32.981354],[102.846856,32.980936],[102.846845,32.980817],[102.846813,32.980434],[102.846785,32.980114],[102.846727,32.979443],[102.846553,32.979101],[102.846525,32.979047],[102.846332,32.978669],[102.846324,32.978653],[102.846225,32.978459],[102.84612,32.978163],[102.845784,32.977216],[102.845782,32.977209],[102.84538,32.976404],[102.845412,32.975118],[102.844927,32.973424],[102.843996,32.972277],[102.843972,32.972247],[102.844075,32.972171],[102.844142,32.972126],[102.844191,32.972072],[102.84419,32.971994],[102.844129,32.971926],[102.844076,32.971876],[102.843972,32.971822],[102.843797,32.971686],[102.84357,32.971563],[102.843563,32.97156],[102.843486,32.971518],[102.843218,32.971431],[102.843118,32.971444],[102.842919,32.97144],[102.84263,32.97147],[102.84238,32.971334],[102.841619,32.971021],[102.84064,32.971129],[102.839335,32.971256],[102.839267,32.971268],[102.839288,32.970765],[102.840628,32.970574],[102.842155,32.970493],[102.843744,32.970467],[102.844901,32.970021],[102.845807,32.969445],[102.8473,32.968208],[102.84967,32.966084],[102.850872,32.965052],[102.851996,32.964319],[102.85298,32.963434],[102.853286,32.962597],[102.853988,32.961587],[102.854856,32.961091],[102.858044,32.95907],[102.858705,32.9583],[102.858932,32.957991],[102.85902,32.957772],[102.859153,32.957528],[102.859254,32.957377],[102.859387,32.957147],[102.859496,32.956982],[102.85963,32.956773],[102.859755,32.956557],[102.859863,32.956364],[102.860098,32.956054],[102.8603,32.955824],[102.860467,32.955601],[102.860484,32.955576],[102.860635,32.955175],[102.86083,32.954846],[102.860864,32.954539],[102.860905,32.954352],[102.860996,32.95408],[102.861087,32.953893],[102.861205,32.953713],[102.861363,32.953469],[102.861455,32.953297],[102.861624,32.953016],[102.86167,32.952186],[102.861651,32.951857],[102.86162,32.951313],[102.861691,32.951315],[102.861744,32.950788],[102.861775,32.950484],[102.861808,32.949137],[102.861969,32.947739],[102.862638,32.94651],[102.863643,32.944587],[102.864585,32.942662],[102.865904,32.94096],[102.866394,32.939189],[102.866625,32.938309],[102.866746,32.937848],[102.866716,32.937779],[102.866382,32.937033],[102.865707,32.935889],[102.86523,32.934426],[102.865398,32.932757],[102.865955,32.93088],[102.867081,32.929228],[102.868257,32.92817],[102.869007,32.926242],[102.869858,32.925394],[102.870064,32.924805],[102.870228,32.923298],[102.870533,32.921255],[102.870938,32.920345],[102.871968,32.919496],[102.871693,32.92007],[102.871316,32.92156],[102.871284,32.922912],[102.871605,32.923752],[102.872158,32.924883],[102.87269,32.925439],[102.873804,32.925947],[102.874892,32.92611],[102.875972,32.926617],[102.876812,32.92715],[102.877686,32.927682],[102.878487,32.928444],[102.879622,32.929499],[102.880462,32.93006],[102.88147,32.930711],[102.882746,32.931567],[102.88366,32.931899],[102.884597,32.932663],[102.885266,32.933221],[102.886338,32.934045],[102.887179,32.934577],[102.888025,32.93485],[102.889218,32.934928],[102.89017,32.935088],[102.890806,32.935588],[102.891001,32.935994],[102.891224,32.93666],[102.891513,32.937442],[102.89211,32.938171],[102.892844,32.938845],[102.893542,32.939663],[102.893773,32.939983],[102.89386,32.940647],[102.893875,32.941453],[102.893751,32.942343],[102.893623,32.943434],[102.893464,32.944352],[102.8936,32.944383],[102.894722,32.944575],[102.89584,32.944939],[102.897195,32.945336],[102.898181,32.945496],[102.899676,32.945809],[102.900765,32.945914],[102.901924,32.945962],[102.902951,32.945864],[102.903707,32.945618],[102.904564,32.945489],[102.905414,32.945589],[102.906153,32.94612],[102.907391,32.947176],[102.907846,32.948134],[102.908545,32.948893],[102.909038,32.949679],[102.909909,32.950384],[102.911449,32.951647],[102.912465,32.951981],[102.912939,32.952161],[102.913242,32.952339],[102.912622,32.952587],[102.912574,32.952611],[102.912009,32.952887],[102.911482,32.953144],[102.910888,32.953738],[102.910227,32.954274],[102.909535,32.954665],[102.908971,32.955404],[102.908231,32.956428],[102.907793,32.957629],[102.907528,32.958718],[102.907099,32.959545],[102.907069,32.960811],[102.906946,32.961701],[102.906749,32.96423],[102.906522,32.965176],[102.906497,32.965334],[102.906495,32.965869],[102.906499,32.966255],[102.906439,32.966646],[102.90634,32.966847],[102.906244,32.967051],[102.906205,32.967212],[102.90613,32.967694],[102.906121,32.967749],[102.906063,32.968122],[102.906027,32.968355],[102.905999,32.968534],[102.906001,32.968584],[102.906008,32.968794],[102.906009,32.968813],[102.906011,32.968862],[102.906043,32.969763],[102.906044,32.969792],[102.906081,32.970837],[102.906163,32.971906],[102.906168,32.971965],[102.906193,32.972293],[102.906212,32.972537],[102.90621,32.972547],[102.906126,32.973054],[102.905943,32.97316],[102.905842,32.973237],[102.905686,32.973453],[102.905547,32.973693],[102.905436,32.973985],[102.905404,32.974157],[102.905462,32.974266],[102.905519,32.974347],[102.905554,32.974447],[102.905561,32.974561],[102.905513,32.974791],[102.90551,32.974799],[102.905355,32.975544],[102.90527,32.976262],[102.905155,32.976807],[102.904836,32.97732],[102.9047,32.978167],[102.904686,32.978259],[102.904675,32.978324],[102.904655,32.97847],[102.904633,32.978632],[102.904594,32.978913],[102.904561,32.979147],[102.904447,32.979969],[102.904366,32.980111],[102.904266,32.980259],[102.904233,32.980345],[102.904212,32.980503],[102.90423,32.980617],[102.904332,32.980799],[102.90433,32.98081],[102.904305,32.980994],[102.904256,32.981626],[102.904443,32.982349],[102.905163,32.983859],[102.905481,32.984526],[102.90555,32.98467],[102.906417,32.9869],[102.906576,32.987204],[102.906623,32.987326],[102.906681,32.987451],[102.906775,32.987602],[102.906836,32.987721],[102.90684,32.987808],[102.906877,32.987951],[102.906932,32.988087],[102.906997,32.988218],[102.907083,32.988337],[102.907148,32.988468],[102.907153,32.988593],[102.907112,32.988706],[102.907123,32.988829],[102.907153,32.98893],[102.907203,32.989031],[102.907229,32.989134],[102.907256,32.989241],[102.907257,32.989243],[102.907289,32.989367],[102.907377,32.989707],[102.907402,32.989805],[102.907673,32.989889],[102.907766,32.989945],[102.907883,32.990079],[102.907984,32.990283],[102.908002,32.990469],[102.907905,32.990584],[102.907786,32.990689],[102.907644,32.99074],[102.907704,32.990972],[102.907721,32.991037],[102.90796,32.99248],[102.908895,32.993387],[102.910068,32.994328],[102.910665,32.995057],[102.911393,32.996048],[102.911415,32.996074],[102.911493,32.996166],[102.91169,32.99629],[102.911844,32.996382],[102.911964,32.996527],[102.912034,32.996735],[102.912104,32.996916],[102.912156,32.996998],[102.912232,32.997048],[102.913258,32.998065],[102.913707,32.998406],[102.913747,32.998558],[102.913804,32.998675],[102.91386,32.998768],[102.91392,32.998843],[102.914031,32.998892],[102.914129,32.998931],[102.914209,32.998956],[102.914892,32.999732],[102.915434,32.999943],[102.916052,32.99978],[102.916126,32.999771],[102.916174,32.999764],[102.9162,32.999761],[102.917011,32.999653],[102.917514,32.999675],[102.918035,32.999698],[102.919982,32.999645],[102.920907,32.999516],[102.92169,32.999644],[102.922491,32.999642],[102.922543,32.999642],[102.923193,32.999641],[102.924316,32.999774],[102.925448,32.999592],[102.926467,32.99981],[102.926518,32.999816],[102.92683,32.999855],[102.927284,32.99991],[102.927557,32.999943],[102.928347,32.999726],[102.929353,32.999111],[102.929906,32.998774],[102.930204,32.998433],[102.930503,32.998093],[102.930961,32.997598],[102.930748,32.997514],[102.930684,32.997468],[102.930679,32.997396],[102.930704,32.997321],[102.930788,32.997263],[102.930902,32.997248],[102.931051,32.997236],[102.931208,32.997199],[102.93139,32.997147],[102.931714,32.997056],[102.932275,32.99677],[102.932608,32.996656],[102.932769,32.996601],[102.933285,32.996425],[102.933962,32.996193],[102.934749,32.996211],[102.935232,32.996222],[102.935324,32.99626],[102.935719,32.996425],[102.935852,32.996481],[102.936192,32.996622],[102.936612,32.996739],[102.936622,32.996741],[102.936887,32.996815],[102.936929,32.996827],[102.936943,32.997076],[102.93695,32.997206],[102.93694,32.997237],[102.936909,32.997338],[102.936905,32.997399],[102.936909,32.997525],[102.936929,32.997644],[102.936947,32.997751],[102.936954,32.99777],[102.936963,32.997787],[102.93698,32.997818],[102.937059,32.9979],[102.937139,32.997955],[102.937163,32.997974],[102.937142,32.998014],[102.937106,32.998043],[102.937052,32.998056],[102.936996,32.99804],[102.936958,32.998015],[102.936957,32.998075],[102.936956,32.998086],[102.936945,32.998557],[102.937224,32.99885],[102.93752,32.998759],[102.937586,32.998738],[102.937629,32.998709],[102.937689,32.99868],[102.937752,32.998662],[102.937807,32.99867],[102.938021,32.998604],[102.93804,32.998564],[102.93806,32.998523],[102.938081,32.998497],[102.938108,32.998472],[102.93813,32.998454],[102.938159,32.998434],[102.938193,32.998422],[102.938222,32.998415],[102.938256,32.998408],[102.938292,32.99841],[102.938331,32.998411],[102.938357,32.998413],[102.938389,32.998419],[102.938415,32.998425],[102.938434,32.998436],[102.938453,32.99845],[102.938469,32.998464],[102.938477,32.998497],[102.93883,32.998444],[102.93911,32.998689],[102.939105,32.998697],[102.9391,32.998709],[102.93907,32.998767],[102.939059,32.99879],[102.939043,32.998821],[102.938956,32.998995],[102.938944,32.999019],[102.938928,32.99905],[102.938898,32.999111],[102.938885,32.999137],[102.938751,32.999404],[102.938834,32.999835],[102.938853,32.999934],[102.938867,32.999974],[102.938875,32.999997],[102.938895,33.000053],[102.939019,33.000403],[102.939021,33.00041],[102.939024,33.000418],[102.939042,33.000467],[102.939069,33.000543],[102.939078,33.000571],[102.93931,33.001223],[102.939829,33.001618],[102.939572,33.002059],[102.940057,33.002453],[102.940541,33.002848],[102.940178,33.003287],[102.940114,33.003419],[102.939985,33.003684],[102.939919,33.003818],[102.939759,33.004002],[102.939731,33.004033],[102.93961,33.004071],[102.939537,33.004108],[102.939495,33.004134],[102.939403,33.004261],[102.939403,33.004286],[102.93889,33.004098],[102.938337,33.003766],[102.938229,33.003701],[102.938188,33.003968],[102.938272,33.004117],[102.938274,33.00412],[102.938383,33.004314],[102.938409,33.00436],[102.938425,33.004388],[102.938358,33.004432],[102.938342,33.004443],[102.938327,33.004453],[102.938262,33.004496],[102.938249,33.004505],[102.93823,33.004517],[102.937816,33.004794],[102.937788,33.004904],[102.937787,33.00491],[102.937786,33.004917],[102.93777,33.004977],[102.937741,33.005091],[102.937714,33.005202],[102.93766,33.005415],[102.93767,33.005428],[102.937918,33.005742],[102.937935,33.005764],[102.937969,33.005806],[102.93811,33.005948],[102.938167,33.006005],[102.93821,33.006048],[102.938205,33.006077],[102.938199,33.006109],[102.938197,33.006118],[102.938129,33.006492],[102.937805,33.006754],[102.937096,33.006951],[102.936373,33.007711],[102.936262,33.007878],[102.936249,33.007898],[102.936213,33.007952],[102.93608,33.008152],[102.935914,33.008704],[102.935908,33.008724],[102.935813,33.009039],[102.935438,33.009984],[102.934819,33.010806],[102.934762,33.010955],[102.934481,33.011691],[102.93449,33.011729],[102.934704,33.012705],[102.935033,33.013621],[102.935054,33.013682],[102.935069,33.013722],[102.935134,33.013858],[102.935164,33.013919],[102.935204,33.014003],[102.935674,33.01498],[102.93571,33.01506],[102.935717,33.015074],[102.935734,33.015114],[102.935742,33.01513],[102.935778,33.015212],[102.935942,33.015578],[102.936065,33.015696],[102.936191,33.015817],[102.936235,33.015859],[102.937046,33.016636],[102.93746,33.017342],[102.937508,33.017424],[102.937521,33.017447],[102.93782,33.017896],[102.938168,33.01842],[102.938174,33.01843],[102.938274,33.018581],[102.938279,33.018589],[102.938286,33.018599],[102.938339,33.018678],[102.938343,33.018702],[102.938345,33.018712],[102.93837,33.018701],[102.938446,33.018669],[102.938521,33.018625],[102.93852,33.018718],[102.938376,33.018899],[102.938525,33.019781],[102.938288,33.020847],[102.938445,33.021681],[102.938479,33.021746],[102.939121,33.02297],[102.939399,33.023421],[102.939937,33.024291],[102.940119,33.024354],[102.940279,33.024408],[102.940391,33.024447],[102.940623,33.024366],[102.940872,33.024278],[102.940879,33.024276],[102.941164,33.024176],[102.94128,33.024135],[102.942032,33.02392],[102.942559,33.02377],[102.943649,33.023907],[102.944453,33.024217],[102.945046,33.024524],[102.945566,33.024919],[102.945727,33.025575],[102.945435,33.026194],[102.945281,33.026518],[102.945072,33.026791],[102.944445,33.027604],[102.944594,33.027943],[102.944814,33.028442],[102.944982,33.028989],[102.945043,33.029189],[102.945058,33.030051],[102.944664,33.031827],[102.94418,33.032918],[102.943913,33.033805],[102.944072,33.034551],[102.944095,33.034921],[102.944123,33.035384],[102.944424,33.036102],[102.944406,33.036874],[102.944209,33.037241],[102.944185,33.037286],[102.943602,33.038079],[102.943658,33.038704],[102.943924,33.039421],[102.94475,33.040297],[102.945123,33.040957],[102.945112,33.041432],[102.944747,33.041931],[102.944704,33.042287],[102.944946,33.042499],[102.945685,33.04257],[102.946802,33.042783],[102.946879,33.042798],[102.947222,33.043098],[102.94723,33.043106],[102.947401,33.043255],[102.947433,33.043283],[102.947847,33.043646],[102.950089,33.046339],[102.950358,33.046662],[102.950379,33.046815],[102.950431,33.046911],[102.950535,33.047031],[102.950573,33.047075],[102.950715,33.047228],[102.950835,33.047306],[102.95104,33.047444],[102.951177,33.047521],[102.951336,33.04762],[102.951473,33.047748],[102.951564,33.047883],[102.951633,33.048022],[102.951643,33.048115],[102.951621,33.048179],[102.952035,33.048677],[102.952143,33.048753],[102.953077,33.049407],[102.954887,33.050447],[102.955224,33.051136],[102.954598,33.052421],[102.954577,33.052464],[102.954345,33.05294],[102.95424,33.053644],[102.954164,33.054391],[102.954105,33.054534],[102.954077,33.054667],[102.954007,33.054911],[102.953928,33.055083],[102.953828,33.055234],[102.953817,33.055363],[102.953789,33.055517],[102.953701,33.055665],[102.953639,33.05583],[102.95362,33.056019],[102.95363,33.056188],[102.953632,33.056324],[102.953616,33.056485],[102.953635,33.056631],[102.953696,33.056813],[102.953668,33.056932],[102.953601,33.057025],[102.953547,33.057108],[102.953527,33.057188],[102.953518,33.057226],[102.953515,33.057373],[102.953482,33.057455],[102.953438,33.057575],[102.953429,33.057599],[102.953401,33.057727],[102.953395,33.057754],[102.953401,33.058019],[102.953426,33.05914],[102.953439,33.059687],[102.953557,33.060173],[102.953721,33.060844],[102.954309,33.062117],[102.954944,33.063279],[102.955595,33.063773],[102.956519,33.063899],[102.957133,33.064058],[102.958356,33.064598],[102.959416,33.064541],[102.960792,33.064192],[102.962617,33.063516],[102.963865,33.06317],[102.96396,33.063143],[102.96426,33.06306],[102.965237,33.062816],[102.966028,33.06294],[102.966722,33.063472],[102.967116,33.06407],[102.967168,33.06407],[102.967212,33.06407],[102.967249,33.064082],[102.967288,33.064113],[102.9673,33.064167],[102.967297,33.064203],[102.96728,33.064215],[102.967228,33.064239],[102.967489,33.064636],[102.967934,33.065222],[102.968175,33.065539],[102.968292,33.06621],[102.968286,33.066451],[102.96828,33.06672],[102.968278,33.06679],[102.968298,33.066793],[102.968312,33.066798],[102.968323,33.066807],[102.96833,33.066818],[102.968346,33.066844],[102.968384,33.066858],[102.968404,33.066859],[102.968424,33.06686],[102.968462,33.066864],[102.96848,33.066872],[102.96849,33.066884],[102.968491,33.066904],[102.968473,33.066925],[102.968445,33.066929],[102.968403,33.066932],[102.96835,33.066937],[102.968321,33.066945],[102.968296,33.066961],[102.968281,33.066974],[102.96827,33.066993],[102.968269,33.067009],[102.968271,33.067024],[102.968278,33.067036],[102.96829,33.067047],[102.968302,33.067056],[102.968321,33.067071],[102.968356,33.067091],[102.968372,33.067101],[102.968392,33.067112],[102.968426,33.067137],[102.968447,33.067161],[102.968454,33.06718],[102.968445,33.067198],[102.968411,33.067212],[102.968398,33.067212],[102.968356,33.06722],[102.96835,33.067222],[102.968337,33.067232],[102.968324,33.06725],[102.968318,33.067277],[102.968322,33.0673],[102.968335,33.067312],[102.968363,33.067332],[102.968384,33.067336],[102.968404,33.067423],[102.968477,33.067736],[102.968553,33.067811],[102.969168,33.068416],[102.969685,33.068683],[102.969735,33.068709],[102.969749,33.068733],[102.969759,33.068742],[102.969795,33.068764],[102.969825,33.068783],[102.969864,33.068801],[102.969896,33.06882],[102.96992,33.068804],[102.969985,33.068838],[102.970433,33.069069],[102.971306,33.06967],[102.971649,33.069906],[102.971661,33.069933],[102.972195,33.071104],[102.972578,33.072109],[102.972614,33.072204],[102.972621,33.072223],[102.972648,33.072262],[102.972665,33.072291],[102.972677,33.072314],[102.972691,33.072337],[102.972705,33.072352],[102.972723,33.072365],[102.972746,33.07238],[102.972775,33.072413],[102.972803,33.072437],[102.972827,33.072459],[102.972831,33.072473],[102.972835,33.072484],[102.972837,33.072503],[102.972834,33.072516],[102.972809,33.072543],[102.972789,33.072563],[102.972789,33.072577],[102.972797,33.072602],[102.972803,33.072619],[102.972833,33.072668],[102.97286,33.072701],[102.972888,33.072742],[102.97291,33.072771],[102.972938,33.072801],[102.972978,33.072833],[102.972995,33.072855],[102.973046,33.072884],[102.973066,33.072893],[102.973059,33.072937],[102.973106,33.072967],[102.973176,33.073006],[102.973223,33.073032],[102.973267,33.073062],[102.973277,33.073082],[102.973282,33.073118],[102.973292,33.073146],[102.973322,33.073165],[102.97335,33.073177],[102.973391,33.07319],[102.973423,33.073214],[102.973442,33.07323],[102.973454,33.073252],[102.973466,33.073296],[102.973482,33.073314],[102.973529,33.073341],[102.973559,33.073361],[102.973583,33.073397],[102.973606,33.073428],[102.973636,33.073459],[102.97366,33.073485],[102.973776,33.073635],[102.973819,33.073704],[102.973849,33.07375],[102.973854,33.073756],[102.973904,33.07375],[102.97394,33.073796],[102.973967,33.07383],[102.973998,33.073857],[102.974025,33.073888],[102.974102,33.073961],[102.974151,33.074007],[102.974187,33.074036],[102.974217,33.074074],[102.974257,33.074135],[102.974299,33.074177],[102.974345,33.074214],[102.974391,33.074242],[102.974457,33.074265],[102.974485,33.07427],[102.974528,33.07428],[102.974546,33.074304],[102.974551,33.074329],[102.97453,33.074342],[102.9745,33.074373],[102.974482,33.074397],[102.974482,33.074409],[102.974503,33.074424],[102.974517,33.074424],[102.97453,33.074424],[102.974557,33.074417],[102.974592,33.074408],[102.974623,33.074427],[102.974632,33.074449],[102.97463,33.074478],[102.974618,33.0745],[102.974619,33.074523],[102.974631,33.074543],[102.974665,33.074558],[102.97468,33.074559],[102.974696,33.074559],[102.974716,33.074547],[102.974725,33.074528],[102.974725,33.0745],[102.974726,33.074486],[102.974729,33.074471],[102.974754,33.07446],[102.974774,33.074456],[102.974815,33.074466],[102.974832,33.074474],[102.974852,33.074486],[102.97486,33.074507],[102.974866,33.074527],[102.974873,33.074544],[102.974891,33.07456],[102.974915,33.074575],[102.974927,33.074586],[102.974935,33.074608],[102.974944,33.074623],[102.974963,33.074639],[102.974976,33.074656],[102.974975,33.074673],[102.974957,33.074692],[102.974947,33.074706],[102.974947,33.074717],[102.974953,33.074723],[102.974965,33.074727],[102.97498,33.074728],[102.974994,33.074725],[102.975017,33.074722],[102.975035,33.074711],[102.975037,33.074695],[102.97504,33.074675],[102.975047,33.074666],[102.975082,33.074672],[102.975101,33.074697],[102.97511,33.074721],[102.975128,33.074737],[102.975135,33.07474],[102.975155,33.07475],[102.975167,33.074772],[102.975148,33.074797],[102.975138,33.074808],[102.975132,33.074814],[102.975117,33.074839],[102.975114,33.07485],[102.975118,33.074861],[102.975127,33.074869],[102.975139,33.074872],[102.975161,33.074879],[102.975185,33.074894],[102.975209,33.074905],[102.97523,33.074922],[102.975258,33.074939],[102.975287,33.07496],[102.975302,33.074971],[102.975311,33.074994],[102.975308,33.075013],[102.975285,33.075026],[102.975268,33.075031],[102.975247,33.075035],[102.975233,33.07504],[102.975231,33.075048],[102.975234,33.07506],[102.975243,33.075066],[102.975253,33.075068],[102.975269,33.075069],[102.97529,33.075067],[102.975329,33.075072],[102.975356,33.075084],[102.975399,33.075081],[102.975412,33.075079],[102.975424,33.075074],[102.975457,33.075066],[102.975472,33.075075],[102.975479,33.075096],[102.975493,33.075107],[102.975505,33.075119],[102.975504,33.075149],[102.975497,33.075178],[102.975475,33.0752],[102.975454,33.075205],[102.975431,33.075194],[102.975432,33.075175],[102.975438,33.075152],[102.975437,33.075143],[102.975418,33.075143],[102.975409,33.075149],[102.975405,33.075162],[102.975405,33.07518],[102.975408,33.075202],[102.975409,33.075212],[102.975411,33.075229],[102.975412,33.075243],[102.97541,33.075255],[102.975403,33.075271],[102.975456,33.075352],[102.975708,33.075731],[102.975784,33.07606],[102.97587,33.076434],[102.9759,33.076565],[102.975931,33.076617],[102.975964,33.076668],[102.975994,33.076703],[102.976014,33.076721],[102.976044,33.076726],[102.976075,33.076731],[102.976139,33.076753],[102.976173,33.076777],[102.976197,33.076794],[102.976206,33.07682],[102.976207,33.076849],[102.976188,33.07689],[102.976152,33.076913],[102.976124,33.076942],[102.97611,33.076969],[102.976124,33.076997],[102.976134,33.077043],[102.976141,33.077065],[102.97615,33.077096],[102.976148,33.077127],[102.976137,33.077151],[102.976115,33.077176],[102.976067,33.077204],[102.976021,33.077226],[102.975987,33.077236],[102.975936,33.077246],[102.975916,33.077252],[102.975882,33.07774],[102.976311,33.078305],[102.977408,33.078583],[102.97755,33.078663],[102.978148,33.079003],[102.978661,33.079571],[102.978966,33.079908],[102.979567,33.080661],[102.980294,33.081676],[102.981612,33.081958],[102.982003,33.082224],[102.982649,33.082903],[102.983512,33.083772],[102.984031,33.084226],[102.984499,33.085014],[102.985049,33.086026],[102.985132,33.086162],[102.985363,33.086542],[102.985606,33.086943],[102.985688,33.087077],[102.985791,33.087132],[102.985844,33.087097],[102.985954,33.087109],[102.986004,33.08717],[102.986062,33.087192],[102.986151,33.087228],[102.986235,33.087244],[102.986326,33.087276],[102.986372,33.087311],[102.986403,33.08737],[102.986421,33.087408],[102.986387,33.087446],[102.98656,33.087537],[102.986654,33.087565],[102.987126,33.087706],[102.987181,33.087722],[102.987238,33.087739],[102.987875,33.08793],[102.988353,33.088182],[102.98871,33.08837],[102.988824,33.08843],[102.988965,33.088505],[102.988999,33.088951],[102.988992,33.089262],[102.988989,33.08941],[102.989081,33.089449],[102.989128,33.089493],[102.989139,33.089546],[102.989134,33.089602],[102.989111,33.089673],[102.989084,33.08971],[102.989027,33.089721],[102.988982,33.089715],[102.988919,33.08973],[102.988867,33.089752],[102.988813,33.08978],[102.988806,33.089824],[102.988826,33.089876],[102.98889,33.089939],[102.988927,33.089973],[102.988983,33.090017],[102.989034,33.090084],[102.989064,33.090145],[102.98911,33.090215],[102.989172,33.090273],[102.989269,33.090339],[102.989364,33.090465],[102.989491,33.090631],[102.990656,33.091231],[102.990756,33.091283],[102.990985,33.092048],[102.991003,33.092105],[102.991231,33.092496],[102.991257,33.092503],[102.991334,33.092519],[102.99138,33.092545],[102.99138,33.09259],[102.991339,33.092682],[102.99128,33.092725],[102.991255,33.092758],[102.991244,33.092806],[102.99125,33.092842],[102.991264,33.092873],[102.991287,33.092873],[102.99143,33.092838],[102.991706,33.093312],[102.991724,33.093342],[102.991725,33.093344],[102.991776,33.093355],[102.99183,33.093432],[102.991842,33.093494],[102.991864,33.093598],[102.991904,33.093685],[102.991958,33.093747],[102.992026,33.093815],[102.992094,33.093871],[102.992155,33.093915],[102.992219,33.093995],[102.992241,33.094058],[102.992209,33.094111],[102.992198,33.094183],[102.992208,33.094264],[102.992217,33.094338],[102.99226,33.094404],[102.992323,33.094442],[102.992435,33.094488],[102.992556,33.094709],[102.992569,33.094733],[102.992645,33.094872],[102.992657,33.094894],[102.992714,33.094999],[102.992724,33.095018],[102.992778,33.095116],[102.992791,33.09514],[102.992882,33.095307],[102.992893,33.095326],[102.992898,33.095336],[102.992957,33.095443],[102.992963,33.095448],[102.992987,33.095468],[102.993024,33.095499],[102.993059,33.095529],[102.993073,33.09554],[102.993191,33.09555],[102.993223,33.095552],[102.993248,33.09558],[102.993257,33.095624],[102.993266,33.095702],[102.993371,33.09579],[102.993453,33.095858],[102.993528,33.095921],[102.993551,33.09594],[102.993953,33.096277],[102.994552,33.097104],[102.995163,33.097344],[102.99534,33.097414],[102.995491,33.097303],[102.995513,33.097287],[102.995616,33.097212],[102.995789,33.097086],[102.995836,33.097096],[102.996039,33.097137],[102.996049,33.097139],[102.996102,33.09715],[102.99658,33.097248],[102.996695,33.097323],[102.996696,33.097265],[102.996695,33.097258],[102.996755,33.097256],[102.996838,33.097266],[102.996882,33.097285],[102.996913,33.097317],[102.996921,33.097354],[102.996911,33.097401],[102.996895,33.097455],[102.996909,33.097464],[102.997102,33.097591],[102.997232,33.097846],[102.99729,33.097841],[102.997343,33.097873],[102.997366,33.097918],[102.997368,33.097952],[102.99735,33.098004],[102.997308,33.098053],[102.997269,33.098059],[102.997233,33.09805],[102.997188,33.098032],[102.997137,33.098023],[102.997117,33.098035],[102.997103,33.098058],[102.997106,33.098094],[102.997135,33.098114],[102.997192,33.098145],[102.997242,33.098183],[102.997264,33.098226],[102.997264,33.098252],[102.997253,33.09827],[102.997227,33.098283],[102.997205,33.098296],[102.997209,33.098322],[102.997229,33.098339],[102.997277,33.09835],[102.997257,33.09855],[102.997256,33.098559],[102.997261,33.098615],[102.997271,33.098733],[102.997283,33.098875],[102.997206,33.098814],[102.997176,33.098787],[102.997123,33.098759],[102.99708,33.098754],[102.997051,33.098769],[102.997049,33.098811],[102.997095,33.098853],[102.997173,33.098898],[102.997243,33.098937],[102.997298,33.098966],[102.997385,33.099005],[102.997433,33.099035],[102.997437,33.099062],[102.997408,33.099089],[102.997359,33.099106],[102.997245,33.09913],[102.997172,33.099122],[102.99712,33.099096],[102.997095,33.099069],[102.997072,33.099044],[102.997038,33.099053],[102.997021,33.099073],[102.997039,33.099118],[102.997092,33.099162],[102.997137,33.099183],[102.997202,33.099217],[102.997226,33.099245],[102.997236,33.099284],[102.99724,33.099318],[102.997229,33.099362],[102.997202,33.099375],[102.997156,33.09938],[102.997122,33.099373],[102.9971,33.099379],[102.997073,33.099441],[102.997065,33.09949],[102.997027,33.099529],[102.996954,33.099554],[102.996924,33.099588],[102.996922,33.099634],[102.996923,33.099675],[102.996888,33.099719],[102.99685,33.09973],[102.996832,33.099749],[102.996854,33.099772],[102.99689,33.099779],[102.996915,33.099769],[102.996949,33.099732],[102.996991,33.099665],[102.997023,33.099625],[102.997057,33.099629],[102.997096,33.09965],[102.997132,33.099661],[102.997193,33.099649],[102.99725,33.099618],[102.997295,33.099615],[102.997341,33.099643],[102.997363,33.099695],[102.997361,33.099735],[102.997318,33.09976],[102.997232,33.099787],[102.997161,33.099794],[102.99711,33.09981],[102.997119,33.099837],[102.997156,33.099868],[102.997185,33.099874],[102.997206,33.099869],[102.997239,33.099837],[102.997281,33.099804],[102.997319,33.099782],[102.997366,33.099756],[102.997403,33.09975],[102.997437,33.099751],[102.997473,33.099767],[102.997485,33.099807],[102.99749,33.099873],[102.997499,33.099931],[102.997508,33.09996],[102.997532,33.100005],[102.99756,33.100042],[102.997607,33.100056],[102.997651,33.100049],[102.9978,33.099964],[102.997858,33.099933],[102.997886,33.099945],[102.997924,33.099988],[102.997929,33.100036],[102.997922,33.100064],[102.997913,33.10008],[102.997882,33.10011],[102.997876,33.100149],[102.997883,33.100164],[102.997911,33.100193],[102.997955,33.100218],[102.998054,33.100247],[102.99809,33.100244],[102.998117,33.100225],[102.998153,33.100255],[102.998188,33.100283],[102.998445,33.100478],[102.998839,33.100777],[102.999123,33.101199],[102.999213,33.101333],[102.999221,33.101345],[102.999211,33.101419],[102.999219,33.10149],[102.99924,33.101526],[102.999299,33.101548],[102.999332,33.101555],[102.999365,33.10156],[102.999383,33.101556],[102.999431,33.101555],[102.99948,33.101555],[102.99955,33.101557],[102.999567,33.101567],[102.99956,33.101582],[102.999525,33.101596],[102.999425,33.10163],[102.999457,33.101658],[102.99957,33.101757],[102.999784,33.101944],[103.000106,33.102294],[103.000462,33.10268],[103.000611,33.103062],[103.000655,33.103075],[103.000689,33.103106],[103.000712,33.103138],[103.000733,33.103183],[103.000763,33.103218],[103.000804,33.103233],[103.000831,33.103253],[103.000861,33.103282],[103.000853,33.103309],[103.000822,33.103328],[103.000788,33.10334],[103.00074,33.103394],[103.000745,33.103408],[103.000818,33.103578],[103.000854,33.103663],[103.001029,33.104074],[103.001466,33.104616],[103.00167,33.104724],[103.001836,33.104811],[103.002321,33.104818],[103.002523,33.104738],[103.002571,33.104718],[103.00256,33.104701],[103.002561,33.104674],[103.002573,33.104646],[103.002598,33.10461],[103.002622,33.104577],[103.002643,33.104541],[103.002658,33.104529],[103.002673,33.104527],[103.002698,33.104549],[103.002706,33.104574],[103.002712,33.104598],[103.002719,33.104615],[103.002728,33.104625],[103.002753,33.10463],[103.002788,33.104621],[103.002821,33.104602],[103.002833,33.104573],[103.002837,33.104544],[103.002842,33.104515],[103.002854,33.104493],[103.002885,33.104484],[103.002919,33.104494],[103.002962,33.104516],[103.002983,33.104539],[103.00299,33.104569],[103.003026,33.104565],[103.003063,33.104554],[103.003089,33.104541],[103.003113,33.104531],[103.003137,33.104528],[103.003157,33.104528],[103.003185,33.104535],[103.003215,33.104544],[103.003236,33.104542],[103.003675,33.104494],[103.003857,33.104717],[103.00381,33.105126],[103.003771,33.105182],[103.003661,33.105336],[103.003653,33.105348],[103.003608,33.105411],[103.003668,33.105385],[103.003688,33.105378],[103.003733,33.105374],[103.003761,33.105384],[103.003766,33.105404],[103.003751,33.105424],[103.003718,33.105444],[103.003664,33.105459],[103.003608,33.105478],[103.003584,33.105493],[103.003553,33.105529],[103.003535,33.105556],[103.003519,33.105584],[103.003495,33.105613],[103.003465,33.10564],[103.003447,33.105681],[103.003393,33.105798],[103.003386,33.105814],[103.003347,33.105898],[103.003344,33.105905],[103.003415,33.106097],[103.003428,33.106132],[103.003433,33.106145],[103.003433,33.106145],[103.003507,33.106343],[103.003516,33.106369],[103.003487,33.10638],[103.00347,33.106374],[103.003449,33.106364],[103.003438,33.106356],[103.003432,33.106401],[103.003435,33.106458],[103.003453,33.106491],[103.003558,33.10652],[103.003708,33.106527],[103.003742,33.106542],[103.003747,33.10657],[103.003729,33.106607],[103.003699,33.10671],[103.003699,33.106752],[103.003701,33.106825],[103.003722,33.106883],[103.003756,33.106942],[103.003803,33.106974],[103.003907,33.106978],[103.004004,33.106968],[103.004061,33.106946],[103.004131,33.106907],[103.004186,33.106848],[103.004233,33.106786],[103.004308,33.106712],[103.004325,33.106664],[103.004345,33.106648],[103.00437,33.106652],[103.004399,33.106657],[103.00444,33.10668],[103.004461,33.106699],[103.004482,33.106748],[103.004496,33.106799],[103.004506,33.106828],[103.004519,33.106844],[103.00455,33.106869],[103.004616,33.106874],[103.004659,33.106866],[103.004743,33.106819],[103.00483,33.106814],[103.004875,33.10685],[103.004908,33.10688],[103.004916,33.106908],[103.004904,33.106996],[103.004934,33.10703],[103.004985,33.107085],[103.005013,33.107163],[103.004992,33.107208],[103.004963,33.107274],[103.004968,33.107329],[103.004978,33.107358],[103.005021,33.107416],[103.005063,33.107478],[103.005115,33.10752],[103.005172,33.107558],[103.005246,33.107583],[103.005359,33.107587],[103.005458,33.107614],[103.005522,33.107672],[103.005559,33.107681],[103.005603,33.10769],[103.005652,33.107725],[103.005677,33.10776],[103.005706,33.107784],[103.005742,33.107806],[103.00579,33.107832],[103.005847,33.107851],[103.005915,33.107876],[103.005961,33.107893],[103.005998,33.107912],[103.006019,33.107956],[103.006044,33.107994],[103.006084,33.108065],[103.006087,33.108071],[103.006123,33.108138],[103.006175,33.108189],[103.006197,33.108208],[103.006188,33.108258],[103.006154,33.108294],[103.006129,33.108331],[103.006118,33.108386],[103.006117,33.108444],[103.006144,33.108498],[103.006168,33.108517],[103.00619,33.108526],[103.006234,33.108528],[103.006266,33.108524],[103.006357,33.108508],[103.00638,33.108531],[103.006379,33.10856],[103.006369,33.108576],[103.006348,33.108603],[103.006355,33.10864],[103.006369,33.10867],[103.006384,33.108684],[103.00641,33.108697],[103.006518,33.108739],[103.006557,33.108762],[103.006601,33.108786],[103.006632,33.108787],[103.006687,33.108786],[103.006695,33.10878],[103.006728,33.108793],[103.006768,33.10882],[103.006804,33.108836],[103.006842,33.108845],[103.006822,33.108886],[103.006861,33.108955],[103.006867,33.108965],[103.006869,33.108988],[103.006866,33.10903],[103.006872,33.109076],[103.006899,33.109105],[103.006951,33.109125],[103.00699,33.109143],[103.007032,33.109168],[103.007074,33.109199],[103.007127,33.109235],[103.00719,33.109263],[103.007251,33.109271],[103.007288,33.109267],[103.007331,33.109251],[103.007364,33.109229],[103.007389,33.109207],[103.007427,33.10919],[103.007481,33.109181],[103.007532,33.109172],[103.007569,33.109152],[103.0076,33.109133],[103.00762,33.109107],[103.007631,33.109081],[103.00765,33.109055],[103.007681,33.109035],[103.00774,33.109025],[103.007767,33.109031],[103.007805,33.109058],[103.007843,33.109091],[103.007875,33.109118],[103.007899,33.109136],[103.007941,33.109158],[103.007972,33.109163],[103.008006,33.109164],[103.008024,33.109151],[103.008034,33.10913],[103.008035,33.109108],[103.008104,33.109123],[103.008133,33.109129],[103.008298,33.10914],[103.00854,33.109156],[103.008569,33.109158],[103.008768,33.109171],[103.008904,33.10925],[103.008943,33.109273],[103.0091,33.109365],[103.009122,33.109384],[103.00918,33.109435],[103.009376,33.109607],[103.00943,33.109653],[103.009375,33.109836],[103.00936,33.109883],[103.009268,33.110186],[103.009288,33.110682],[103.009292,33.110784],[103.009659,33.111186],[103.009682,33.11121],[103.009723,33.111256],[103.00973,33.111263],[103.009893,33.111342],[103.009935,33.111325],[103.01,33.111311],[103.010083,33.111311],[103.010156,33.111314],[103.010265,33.11135],[103.010366,33.111375],[103.010445,33.111369],[103.010554,33.111331],[103.010665,33.111322],[103.010739,33.111335],[103.010801,33.111368],[103.010876,33.111395],[103.010967,33.111397],[103.011032,33.111365],[103.011101,33.111305],[103.011155,33.111273],[103.01121,33.111226],[103.011258,33.111167],[103.011289,33.111109],[103.011292,33.111046],[103.011297,33.110965],[103.011296,33.110948],[103.011294,33.110872],[103.011289,33.110846],[103.011283,33.110811],[103.011261,33.110768],[103.011244,33.110724],[103.011261,33.110682],[103.01129,33.110681],[103.011367,33.110686],[103.011415,33.110684],[103.011445,33.110668],[103.01145,33.110631],[103.01145,33.110589],[103.011445,33.110502],[103.011426,33.110441],[103.011399,33.110405],[103.011351,33.110362],[103.011326,33.110322],[103.011289,33.110261],[103.011244,33.110198],[103.011191,33.110137],[103.011166,33.110087],[103.011161,33.110039],[103.01121,33.110019],[103.011342,33.110021],[103.01139,33.11003],[103.011419,33.110059],[103.011431,33.110094],[103.011452,33.110135],[103.011465,33.110176],[103.011465,33.110202],[103.011477,33.110236],[103.011494,33.110262],[103.011517,33.110275],[103.011539,33.110286],[103.011574,33.110294],[103.011618,33.110295],[103.011663,33.110288],[103.011723,33.110264],[103.01176,33.110249],[103.011802,33.110238],[103.011854,33.110239],[103.011867,33.110243],[103.011884,33.11025],[103.011908,33.110262],[103.011949,33.110279],[103.011996,33.11031],[103.012034,33.110329],[103.012073,33.110335],[103.012119,33.110336],[103.01215,33.110323],[103.012179,33.110306],[103.012215,33.110292],[103.012249,33.110307],[103.012279,33.110326],[103.012294,33.110346],[103.012315,33.110363],[103.01233,33.110377],[103.012354,33.110384],[103.012387,33.110395],[103.012399,33.110411],[103.012417,33.110456],[103.012438,33.110483],[103.01246,33.110524],[103.012476,33.110539],[103.012514,33.110544],[103.012549,33.110541],[103.012582,33.110521],[103.012608,33.11049],[103.012624,33.110462],[103.012635,33.110433],[103.012645,33.110402],[103.012647,33.110383],[103.012651,33.110309],[103.012655,33.110247],[103.012664,33.110181],[103.012681,33.110114],[103.012711,33.110064],[103.012754,33.110042],[103.012834,33.110054],[103.012879,33.11008],[103.01294,33.110128],[103.012976,33.110158],[103.013011,33.110179],[103.013046,33.110188],[103.013076,33.11019],[103.013119,33.110184],[103.013163,33.110173],[103.013213,33.110147],[103.013263,33.110121],[103.013321,33.110092],[103.013499,33.110002],[103.013621,33.110004],[103.014019,33.11001],[103.014171,33.110012],[103.014503,33.110238],[103.01452,33.110348],[103.01456,33.110604],[103.014577,33.110714],[103.014617,33.110722],[103.01463,33.110731],[103.014637,33.110752],[103.014632,33.110773],[103.014622,33.110794],[103.014613,33.110827],[103.014606,33.110852],[103.014608,33.110882],[103.014616,33.110908],[103.014622,33.11093],[103.014623,33.11095],[103.014608,33.11097],[103.014606,33.110971],[103.01461,33.111045],[103.014627,33.111373],[103.014501,33.112],[103.014595,33.112058],[103.014631,33.112079],[103.014639,33.112084],[103.01468,33.112056],[103.014699,33.112052],[103.01473,33.112067],[103.01474,33.112083],[103.014753,33.112105],[103.01476,33.112128],[103.014799,33.112181],[103.014803,33.11219],[103.01483,33.112213],[103.014869,33.112235],[103.014891,33.112254],[103.0149,33.112265],[103.014899,33.112282],[103.014883,33.112291],[103.014869,33.112315],[103.01487,33.112339],[103.014885,33.112356],[103.014915,33.112368],[103.014983,33.11238],[103.015029,33.112371],[103.015072,33.112441],[103.015159,33.112584],[103.015171,33.112604],[103.015233,33.112705],[103.015147,33.113207],[103.015495,33.113537],[103.015586,33.113623],[103.015586,33.113623],[103.015607,33.113647],[103.015956,33.114065],[103.015987,33.114101],[103.016025,33.114142],[103.016091,33.114214],[103.016252,33.114387],[103.016462,33.114613],[103.016481,33.114728],[103.016576,33.115299],[103.016578,33.115309],[103.016582,33.115332],[103.016593,33.115402],[103.016594,33.115406],[103.016597,33.115423],[103.016625,33.115571],[103.016629,33.115591],[103.016629,33.115595],[103.016641,33.115655],[103.016642,33.11566],[103.016644,33.115674],[103.016688,33.11591],[103.016692,33.115932],[103.016736,33.116165],[103.01674,33.116186],[103.016794,33.116475],[103.017154,33.116731],[103.017179,33.116749],[103.017276,33.116817],[103.017298,33.116833],[103.017383,33.116893],[103.017663,33.116975],[103.017705,33.116953],[103.017729,33.116943],[103.017775,33.11694],[103.017807,33.116952],[103.01784,33.116968],[103.01788,33.116993],[103.017896,33.117014],[103.01791,33.117046],[103.018059,33.11709],[103.018113,33.117106],[103.018131,33.117111],[103.018339,33.117171],[103.018373,33.117162],[103.01848,33.11713],[103.018576,33.117134],[103.018644,33.117219],[103.018717,33.117248],[103.018781,33.117259],[103.01886,33.117251],[103.018922,33.117232],[103.018993,33.117217],[103.019029,33.117227],[103.019063,33.117257],[103.01909,33.117324],[103.019136,33.117383],[103.019171,33.117423],[103.019227,33.117455],[103.019271,33.117467],[103.01934,33.117468],[103.01941,33.117467],[103.019487,33.117487],[103.019513,33.1175],[103.019526,33.117542],[103.019522,33.117614],[103.019517,33.117658],[103.019664,33.117741],[103.019643,33.117793],[103.019632,33.117834],[103.019632,33.117883],[103.019655,33.117933],[103.019679,33.11796],[103.01971,33.117963],[103.019749,33.117945],[103.019803,33.117915],[103.01985,33.117903],[103.019911,33.117897],[103.019928,33.117944],[103.019958,33.118024],[103.019978,33.118007],[103.019996,33.11798],[103.020016,33.117962],[103.020043,33.117953],[103.020088,33.11795],[103.020128,33.117959],[103.020157,33.117976],[103.02019,33.117999],[103.020206,33.118021],[103.020221,33.118044],[103.020234,33.11808],[103.020226,33.118118],[103.020222,33.118142],[103.020238,33.118171],[103.02026,33.118182],[103.020298,33.118188],[103.020332,33.118208],[103.020321,33.118223],[103.020284,33.118238],[103.020264,33.11825],[103.020241,33.118255],[103.020212,33.118261],[103.020172,33.118265],[103.020138,33.11826],[103.020111,33.118242],[103.020092,33.118216],[103.020085,33.11819],[103.020078,33.118171],[103.020058,33.118124],[103.02004,33.118113],[103.020011,33.1181],[103.019985,33.118097],[103.020003,33.118145],[103.020047,33.118264],[103.020116,33.118448],[103.020461,33.118531],[103.020674,33.118582],[103.021023,33.118707],[103.021082,33.118727],[103.02123,33.11878],[103.021264,33.118818],[103.021668,33.119259],[103.021699,33.119563],[103.021709,33.119658],[103.021755,33.119696],[103.021771,33.119717],[103.0218,33.119749],[103.021803,33.119782],[103.021798,33.119809],[103.02179,33.119836],[103.021779,33.119871],[103.02177,33.119906],[103.021761,33.119946],[103.02174,33.119989],[103.021719,33.120008],[103.021712,33.120032],[103.021712,33.120054],[103.021732,33.120073],[103.021747,33.120079],[103.02175,33.120118],[103.02175,33.120128],[103.021751,33.120141],[103.021759,33.120236],[103.021818,33.120291],[103.021938,33.120401],[103.022415,33.120837],[103.022528,33.120941],[103.022644,33.121014],[103.022688,33.121041],[103.022719,33.12106],[103.022731,33.121077],[103.022764,33.121121],[103.022797,33.121165],[103.022819,33.121194],[103.022852,33.121206],[103.022891,33.121212],[103.023045,33.121264],[103.023128,33.121265],[103.023429,33.12127],[103.023567,33.121273],[103.023582,33.121267],[103.023599,33.121261],[103.023618,33.121256],[103.023699,33.121247],[103.023802,33.121254],[103.023859,33.121263],[103.024107,33.121217],[103.024118,33.121215],[103.024267,33.121187],[103.024305,33.121197],[103.024323,33.121202],[103.024347,33.121204],[103.024391,33.121216],[103.024421,33.121228],[103.024436,33.121242],[103.024437,33.121252],[103.024436,33.121282],[103.024428,33.121298],[103.024411,33.121327],[103.024412,33.121345],[103.024417,33.121366],[103.024447,33.12138],[103.024487,33.121386],[103.024533,33.121385],[103.024584,33.121375],[103.024615,33.121359],[103.024641,33.121332],[103.024656,33.121303],[103.024667,33.12127],[103.024676,33.121243],[103.02469,33.121208],[103.024697,33.121179],[103.024707,33.12115],[103.024712,33.121132],[103.024706,33.121106],[103.024694,33.121069],[103.024691,33.121055],[103.024673,33.121016],[103.024667,33.120986],[103.024668,33.120965],[103.024707,33.120954],[103.024752,33.120978],[103.024784,33.121002],[103.02483,33.121043],[103.024841,33.12108],[103.024842,33.1211],[103.024838,33.12112],[103.024832,33.121139],[103.024827,33.121157],[103.024818,33.121179],[103.02481,33.1212],[103.02481,33.12122],[103.024813,33.121242],[103.024828,33.121258],[103.024857,33.121269],[103.024913,33.12128],[103.024953,33.12128],[103.024998,33.121276],[103.025021,33.121267],[103.025046,33.121243],[103.025058,33.121226],[103.025074,33.121189],[103.025083,33.121166],[103.02508,33.121149],[103.025077,33.121132],[103.025074,33.121114],[103.02507,33.121097],[103.025068,33.12108],[103.025069,33.12106],[103.025233,33.121048],[103.025968,33.120996],[103.026047,33.121012],[103.027122,33.121234],[103.027291,33.121322],[103.027936,33.121656],[103.028157,33.122108],[103.028165,33.122123],[103.028195,33.122184],[103.028227,33.12225],[103.028294,33.122386],[103.028276,33.123172],[103.028262,33.123248],[103.02826,33.123263],[103.028233,33.123408],[103.028224,33.123457],[103.028215,33.123508],[103.028197,33.12361],[103.028191,33.123643],[103.02828,33.123744],[103.028341,33.123746],[103.028413,33.123757],[103.028481,33.123776],[103.028525,33.123794],[103.028573,33.123817],[103.028609,33.123843],[103.028641,33.123869],[103.028654,33.123896],[103.028675,33.123929],[103.028697,33.123947],[103.028743,33.123974],[103.028931,33.124001],[103.029399,33.123982],[103.029492,33.123979],[103.029903,33.124017],[103.030231,33.124303],[103.030184,33.124324],[103.030172,33.124341],[103.03015,33.12438],[103.03015,33.124395],[103.030169,33.124422],[103.030176,33.124426],[103.0302,33.124441],[103.030236,33.124452],[103.030261,33.124464],[103.030276,33.12446],[103.030311,33.124589],[103.030332,33.124666],[103.030344,33.124711],[103.030371,33.124811],[103.030514,33.125128],[103.030848,33.125228],[103.031089,33.125104],[103.031158,33.125069],[103.031265,33.125014],[103.031688,33.124485],[103.032065,33.124366],[103.032677,33.124505],[103.032726,33.124516],[103.032809,33.124535],[103.032961,33.124553],[103.033704,33.124643],[103.034095,33.12459],[103.034243,33.12457],[103.034517,33.124532],[103.034525,33.124553],[103.034536,33.124568],[103.034593,33.124613],[103.034631,33.124633],[103.034661,33.124638],[103.034692,33.124636],[103.034729,33.124615],[103.034762,33.124594],[103.034789,33.124577],[103.034813,33.124572],[103.034847,33.124581],[103.034875,33.124596],[103.034905,33.124603],[103.034955,33.1246],[103.034989,33.124583],[103.035013,33.124569],[103.035031,33.124554],[103.035045,33.124538],[103.035058,33.124523],[103.03507,33.124501],[103.03508,33.124475],[103.035076,33.124449],[103.035065,33.124432],[103.035036,33.124404],[103.035004,33.124382],[103.034983,33.124362],[103.034979,33.124341],[103.034987,33.12433],[103.035002,33.124321],[103.035036,33.124313],[103.03506,33.124312],[103.035083,33.124318],[103.035103,33.124328],[103.035114,33.124342],[103.035128,33.124365],[103.03514,33.124393],[103.035152,33.12442],[103.035161,33.124444],[103.035171,33.124467],[103.035184,33.124484],[103.035197,33.124492],[103.035224,33.124505],[103.035254,33.124513],[103.035282,33.124514],[103.035358,33.124509],[103.035388,33.124499],[103.035418,33.124485],[103.035435,33.12447],[103.035452,33.124452],[103.035468,33.124439],[103.03549,33.124428],[103.035528,33.124416],[103.035556,33.124417],[103.035585,33.124433],[103.035582,33.12446],[103.035569,33.124475],[103.035554,33.12448],[103.035521,33.124498],[103.035506,33.124507],[103.035488,33.124515],[103.035468,33.124537],[103.035457,33.124556],[103.03545,33.124578],[103.035469,33.124601],[103.035495,33.124618],[103.035524,33.124635],[103.0356,33.124646],[103.035688,33.124632],[103.035736,33.124615],[103.035986,33.124648],[103.036034,33.124659],[103.036544,33.124782],[103.037105,33.12476],[103.037527,33.124326],[103.037817,33.124189],[103.03798,33.124113],[103.038271,33.124135],[103.038306,33.124154],[103.038333,33.124163],[103.038373,33.124166],[103.038415,33.124173],[103.038444,33.124185],[103.038464,33.124202],[103.038484,33.124223],[103.038517,33.124245],[103.038539,33.124276],[103.038553,33.12431],[103.038555,33.124333],[103.038546,33.124362],[103.038518,33.124381],[103.038501,33.124398],[103.038481,33.124411],[103.038436,33.124434],[103.038411,33.124474],[103.038413,33.124513],[103.038425,33.124551],[103.038448,33.124571],[103.038513,33.124587],[103.038555,33.124586],[103.038605,33.124583],[103.038675,33.124583],[103.038688,33.124588],[103.0387,33.12462],[103.038692,33.124676],[103.03867,33.124712],[103.038656,33.124758],[103.038661,33.124809],[103.038684,33.124856],[103.038519,33.125097],[103.038596,33.125186],[103.038802,33.125427],[103.038847,33.12548],[103.038988,33.125489],[103.039482,33.125521],[103.039545,33.125507],[103.040122,33.125374],[103.040426,33.125425],[103.040679,33.125468],[103.040783,33.125486],[103.040853,33.125498],[103.040882,33.125522],[103.040899,33.125528],[103.040928,33.125534],[103.040956,33.125543],[103.040983,33.125552],[103.041059,33.125596],[103.041078,33.12561],[103.041119,33.125639],[103.041149,33.12566],[103.041236,33.125722],[103.041531,33.125931],[103.041659,33.126276],[103.041739,33.126492],[103.041742,33.126501],[103.041752,33.126598],[103.041773,33.126816],[103.042328,33.127077],[103.04289,33.127023],[103.043303,33.126866],[103.043569,33.126765],[103.043607,33.126751],[103.044159,33.126667],[103.044217,33.126658],[103.044232,33.126656],[103.044241,33.126667],[103.044264,33.126685],[103.044317,33.1267],[103.044374,33.12671],[103.04443,33.126712],[103.044487,33.126698],[103.044542,33.126679],[103.044581,33.126657],[103.044608,33.126639],[103.044652,33.126598],[103.044706,33.126591],[103.044869,33.12657],[103.045201,33.126527],[103.045221,33.126524],[103.045236,33.126522],[103.045671,33.126437],[103.046265,33.126666],[103.04653,33.126727],[103.047009,33.126836],[103.04773,33.126817],[103.047767,33.126806],[103.047826,33.12679],[103.047852,33.126782],[103.047872,33.126786],[103.048322,33.126667],[103.048922,33.126582],[103.048939,33.126581],[103.049416,33.126555],[103.049724,33.126539],[103.049737,33.126538],[103.049821,33.126533],[103.05046,33.126324],[103.051291,33.126053],[103.052377,33.125975],[103.053574,33.125963],[103.054513,33.12582],[103.055303,33.125741],[103.055351,33.125736],[103.0556,33.125711],[103.05683,33.12561],[103.057211,33.125579],[103.058862,33.125353],[103.06006,33.125308],[103.061785,33.125115],[103.062842,33.125031],[103.063434,33.124983],[103.064328,33.125155],[103.065495,33.128226],[103.065744,33.128796],[103.066639,33.128904],[103.067463,33.128854],[103.069706,33.128952],[103.070755,33.128874],[103.072174,33.12899],[103.073453,33.130363],[103.073888,33.131056],[103.073944,33.131144],[103.074176,33.131514],[103.074196,33.131545],[103.074197,33.131547],[103.074212,33.131571],[103.074849,33.133249],[103.074696,33.133199],[103.074522,33.1332],[103.074424,33.133219],[103.074404,33.133266],[103.074413,33.133348],[103.074453,33.133441],[103.074526,33.133497],[103.07465,33.13355],[103.07474,33.13361],[103.074899,33.133736],[103.074911,33.133848],[103.075345,33.134516],[103.075937,33.13484],[103.078205,33.135473],[103.080146,33.135692],[103.081307,33.135615],[103.082047,33.135973],[103.082068,33.135976],[103.082831,33.136079],[103.083459,33.136435],[103.083375,33.136533],[103.083405,33.136675],[103.083504,33.136861],[103.083655,33.137189],[103.083754,33.137388],[103.083836,33.137593],[103.083871,33.137692],[103.083958,33.137849],[103.084016,33.137963],[103.084086,33.138087],[103.084166,33.138143],[103.084226,33.138185],[103.084857,33.139622],[103.085072,33.140113],[103.085129,33.140151],[103.085224,33.140233],[103.085315,33.140379],[103.085354,33.14045],[103.085389,33.140536],[103.085421,33.140686],[103.085444,33.140803],[103.085465,33.141064],[103.085475,33.141297],[103.085472,33.141386],[103.085452,33.141455],[103.085415,33.141544],[103.085437,33.141634],[103.085523,33.141687],[103.085621,33.141764],[103.085691,33.14185],[103.085825,33.14194],[103.085881,33.142075],[103.08591,33.142201],[103.085918,33.142236],[103.08612,33.143117],[103.086857,33.144555],[103.086859,33.144561],[103.08696,33.144758],[103.087435,33.145684],[103.087456,33.145725],[103.08805,33.146885],[103.0884,33.146937],[103.088753,33.147005],[103.089233,33.147077],[103.089483,33.147159],[103.089447,33.147234],[103.089426,33.147278],[103.08918,33.147425],[103.089075,33.14754],[103.088967,33.147656],[103.088687,33.147881],[103.088571,33.147901],[103.088994,33.148728],[103.088996,33.148731],[103.089146,33.149024],[103.08933,33.149383],[103.089382,33.149484],[103.089539,33.14979],[103.089566,33.149843],[103.089882,33.150504],[103.090067,33.150889],[103.090161,33.15174],[103.090206,33.152182],[103.090263,33.152222],[103.090656,33.152496],[103.09081,33.152518],[103.090868,33.152624],[103.090998,33.152814],[103.091019,33.15284],[103.09107,33.152903],[103.091142,33.152998],[103.091137,33.153141],[103.091011,33.153279],[103.090636,33.153434],[103.090474,33.153492],[103.090573,33.153681],[103.090963,33.154428],[103.091088,33.154546],[103.09188,33.155292],[103.092615,33.155869],[103.093157,33.15679],[103.093466,33.157091],[103.093816,33.15743],[103.093868,33.157689],[103.093918,33.157935],[103.093917,33.157965],[103.093906,33.158476],[103.093905,33.158502],[103.093633,33.159001],[103.093483,33.159257],[103.09305,33.159999],[103.092612,33.160511],[103.09225,33.160935],[103.091754,33.161517],[103.09159,33.161708],[103.09157,33.162652],[103.091701,33.163844],[103.091756,33.164341],[103.091772,33.164486],[103.091883,33.165497],[103.091888,33.165537],[103.09182,33.1656],[103.091591,33.165584],[103.091443,33.165639],[103.091433,33.165645],[103.09152,33.165732],[103.091714,33.165909],[103.091808,33.166057],[103.091888,33.166253],[103.092005,33.166424],[103.092069,33.166813],[103.09211,33.167067],[103.092237,33.168139],[103.093096,33.169946],[103.093294,33.170724],[103.093337,33.170894],[103.09339,33.171894],[103.09339,33.171902],[103.093389,33.172164],[103.093385,33.172831],[103.093383,33.173386],[103.093379,33.174136],[103.093372,33.174438],[103.093362,33.174923],[103.093373,33.175038],[103.093422,33.175514],[103.093454,33.175837],[103.093441,33.175994],[103.093354,33.177032],[103.093047,33.17776],[103.092959,33.17797],[103.092198,33.178525],[103.091267,33.179046],[103.090721,33.179352],[103.090478,33.179431],[103.088874,33.179953],[103.087701,33.180367],[103.087594,33.180405],[103.087304,33.180507],[103.087252,33.180526],[103.086823,33.180677],[103.08563,33.181099],[103.085248,33.181439],[103.085214,33.181739],[103.085211,33.181768],[103.085202,33.181848],[103.085297,33.182636],[103.085289,33.182678],[103.085324,33.182877],[103.08527,33.183026],[103.085192,33.183183],[103.08519,33.183189],[103.08515,33.183397],[103.08506,33.183867],[103.085001,33.184174],[103.084871,33.18499],[103.084533,33.185342],[103.084335,33.185548],[103.083301,33.186533],[103.082806,33.187004],[103.082559,33.187315],[103.08246,33.187439],[103.082395,33.187642],[103.082383,33.187679],[103.082203,33.188242],[103.082092,33.188588],[103.082058,33.188692],[103.082014,33.188936],[103.081956,33.189255],[103.081952,33.189281],[103.081888,33.189634],[103.081577,33.190154],[103.081422,33.190414],[103.080772,33.191033],[103.080742,33.191309],[103.080725,33.191473],[103.080745,33.191523],[103.080751,33.191537],[103.080823,33.191713],[103.080836,33.191745],[103.08084,33.191756],[103.080867,33.191821],[103.081351,33.191955],[103.081721,33.191943],[103.081886,33.191938],[103.081899,33.191938],[103.081958,33.191902],[103.082066,33.19181],[103.082112,33.191757],[103.082329,33.19159],[103.082392,33.191547],[103.082398,33.191543],[103.082451,33.191505],[103.082488,33.191492],[103.082516,33.191495],[103.082555,33.191513],[103.082596,33.191542],[103.08263,33.191599],[103.082653,33.191658],[103.082677,33.191719],[103.082695,33.191768],[103.082716,33.191841],[103.082902,33.191816],[103.082976,33.191806],[103.083019,33.1918],[103.083076,33.191792],[103.083448,33.191924],[103.083553,33.19224],[103.082907,33.192671],[103.081883,33.19365],[103.081745,33.194453],[103.081953,33.194776],[103.08197,33.194802],[103.082122,33.195038],[103.082174,33.19506],[103.082217,33.195077],[103.082723,33.195284],[103.082857,33.195266],[103.082981,33.19525],[103.083076,33.195224],[103.083133,33.195194],[103.083142,33.195189],[103.083191,33.195164],[103.083254,33.195153],[103.08331,33.195161],[103.083358,33.195175],[103.083421,33.195206],[103.083501,33.195271],[103.083544,33.195327],[103.083584,33.19541],[103.083614,33.195485],[103.083626,33.195557],[103.083651,33.195652],[103.083755,33.195693],[103.083847,33.195835],[103.083875,33.195878],[103.083887,33.196067],[103.083859,33.196239],[103.083729,33.196406],[103.083663,33.196439],[103.083446,33.196549],[103.083383,33.196555],[103.083266,33.196556],[103.0831,33.196536],[103.082739,33.196522],[103.082591,33.196513],[103.082365,33.196522],[103.082357,33.196523],[103.08222,33.196539],[103.082137,33.196549],[103.081945,33.196573],[103.081785,33.196592],[103.081622,33.196605],[103.081491,33.196606],[103.081331,33.196609],[103.081241,33.1966],[103.081251,33.196628],[103.08127,33.196648],[103.081124,33.196732],[103.081085,33.196772],[103.080943,33.196909],[103.080742,33.197243],[103.080539,33.197582],[103.080587,33.198112],[103.080676,33.198268],[103.080688,33.19829],[103.080789,33.198467],[103.080895,33.198517],[103.081137,33.19863],[103.081144,33.198634],[103.081234,33.198676],[103.081715,33.198582],[103.081888,33.198513],[103.082099,33.198428],[103.08244,33.198291],[103.082489,33.198296],[103.082555,33.198217],[103.08262,33.198143],[103.082697,33.198082],[103.082699,33.198079],[103.082786,33.198074],[103.082865,33.19809],[103.082921,33.198124],[103.082945,33.19817],[103.082961,33.19822],[103.082971,33.198278],[103.082963,33.198341],[103.083068,33.198351],[103.083177,33.198456],[103.083157,33.198507],[103.08312,33.198664],[103.083084,33.198775],[103.083059,33.198872],[103.083042,33.198998],[103.083035,33.199121],[103.083008,33.199311],[103.083005,33.199443],[103.083003,33.199518],[103.082924,33.199781],[103.082907,33.199878],[103.082892,33.199956],[103.082862,33.199997],[103.082788,33.200041],[103.082741,33.20011],[103.082688,33.200272],[103.082583,33.200607],[103.082499,33.200811],[103.082465,33.200898],[103.082445,33.200929],[103.082419,33.200969],[103.082386,33.201009],[103.082332,33.201038],[103.08222,33.201098],[103.082175,33.20115],[103.082164,33.201173],[103.082127,33.201252],[103.082114,33.201326],[103.082113,33.201417],[103.082133,33.201491],[103.082138,33.201509],[103.082184,33.201616],[103.082276,33.20179],[103.082301,33.201884],[103.082302,33.201969],[103.082285,33.202088],[103.082246,33.202247],[103.0822,33.202403],[103.082153,33.202553],[103.082127,33.202666],[103.082116,33.202755],[103.082113,33.202857],[103.082111,33.202899],[103.082112,33.203],[103.082119,33.203097],[103.082164,33.203194],[103.082263,33.203352],[103.082379,33.203491],[103.082453,33.203514],[103.082527,33.203537],[103.082759,33.203546],[103.082942,33.20351],[103.083046,33.203846],[103.083152,33.204185],[103.083178,33.20427],[103.083508,33.204275],[103.084149,33.203898],[103.084175,33.203883],[103.084268,33.203856],[103.08441,33.203814],[103.084467,33.203797],[103.084665,33.203739],[103.084748,33.203715],[103.08492,33.204071],[103.084919,33.204119],[103.084809,33.204158],[103.084768,33.204206],[103.084741,33.204302],[103.08475,33.204377],[103.084751,33.204513],[103.084662,33.204581],[103.084546,33.204601],[103.084496,33.204653],[103.084471,33.20473],[103.084434,33.204851],[103.084458,33.204939],[103.084369,33.205068],[103.08418,33.20523],[103.083937,33.2055],[103.083681,33.205639],[103.083577,33.205667],[103.083534,33.205638],[103.083541,33.20545],[103.083512,33.205459],[103.083355,33.205349],[103.083251,33.205276],[103.083043,33.20513],[103.082716,33.2049],[103.082598,33.204817],[103.082133,33.204598],[103.082023,33.205058],[103.082209,33.20634],[103.082276,33.206795],[103.082283,33.20685],[103.082431,33.207171],[103.082703,33.207763],[103.083185,33.20825],[103.083445,33.208513],[103.083783,33.208807],[103.0838,33.208759],[103.083913,33.208796],[103.084071,33.208828],[103.084195,33.208844],[103.084357,33.20886],[103.084457,33.208862],[103.084523,33.208973],[103.084538,33.209077],[103.084512,33.209245],[103.084455,33.209414],[103.084403,33.209471],[103.084466,33.209557],[103.0845,33.209603],[103.084356,33.209695],[103.084287,33.209739],[103.084253,33.209761],[103.084202,33.209769],[103.084099,33.209766],[103.083986,33.209752],[103.083821,33.209821],[103.083671,33.209884],[103.083589,33.209832],[103.083535,33.209788],[103.08346,33.209738],[103.083403,33.209732],[103.083301,33.209763],[103.083195,33.209848],[103.083094,33.209968],[103.082996,33.210085],[103.082863,33.210232],[103.082793,33.210313],[103.082724,33.210421],[103.082694,33.210516],[103.082618,33.210733],[103.082548,33.211232],[103.082421,33.211445],[103.082177,33.21175],[103.082181,33.211758],[103.082168,33.211786],[103.082143,33.211857],[103.082129,33.211944],[103.082133,33.212066],[103.082149,33.212129],[103.082156,33.212156],[103.082211,33.21222],[103.082311,33.212262],[103.082484,33.212292],[103.082946,33.212355],[103.083309,33.212205],[103.08364,33.212147],[103.08384,33.212116],[103.084106,33.211842],[103.084296,33.211648],[103.084646,33.211327],[103.084655,33.211319],[103.084809,33.211178],[103.085233,33.21079],[103.085705,33.211133],[103.085768,33.21129],[103.085838,33.211467],[103.085894,33.211606],[103.085928,33.211682],[103.085923,33.211687],[103.085892,33.211741],[103.085868,33.211806],[103.085862,33.21189],[103.085868,33.211953],[103.085904,33.21204],[103.085956,33.212135],[103.086012,33.212196],[103.086132,33.212289],[103.08628,33.212369],[103.086416,33.212429],[103.086487,33.212438],[103.086579,33.212419],[103.086675,33.212388],[103.086749,33.21234],[103.086809,33.212274],[103.086863,33.212205],[103.086918,33.212132],[103.086974,33.212107],[103.087082,33.21206],[103.087138,33.212024],[103.087409,33.211845],[103.087483,33.211797],[103.088134,33.211368],[103.088166,33.211322],[103.088214,33.211253],[103.088284,33.211175],[103.088358,33.211118],[103.088428,33.211072],[103.088509,33.211018],[103.088594,33.210987],[103.088654,33.210987],[103.088718,33.211004],[103.0888,33.211058],[103.089103,33.21095],[103.08945,33.211051],[103.089505,33.211067],[103.089515,33.21107],[103.08963,33.211104],[103.089752,33.211139],[103.089768,33.211352],[103.089793,33.211677],[103.089357,33.212118],[103.089001,33.212424],[103.088595,33.212772],[103.088567,33.212796],[103.088552,33.212809],[103.088538,33.212821],[103.088515,33.212841],[103.088435,33.212909],[103.088319,33.213355],[103.088362,33.213803],[103.088473,33.213777],[103.088578,33.213753],[103.088595,33.213749],[103.088854,33.213688],[103.088898,33.213677],[103.089024,33.213628],[103.089207,33.213476],[103.089281,33.213397],[103.089287,33.213362],[103.08933,33.213327],[103.089548,33.21315],[103.089597,33.213132],[103.089609,33.213127],[103.089959,33.212995],[103.090418,33.212822],[103.090461,33.212806],[103.09061,33.21291],[103.090615,33.212914],[103.090723,33.212989],[103.090518,33.213398],[103.090501,33.213433],[103.090215,33.213892],[103.090059,33.214143],[103.090069,33.214208],[103.090071,33.214221],[103.090102,33.214434],[103.090105,33.214456],[103.090846,33.214692],[103.091044,33.214685],[103.091067,33.214685],[103.091566,33.214668],[103.091568,33.214682],[103.091641,33.215074],[103.091658,33.215388],[103.091622,33.215637],[103.091606,33.215711],[103.091756,33.215721],[103.091844,33.216224],[103.091862,33.216351],[103.091967,33.217109],[103.09238,33.217454],[103.092421,33.217488],[103.092437,33.217502],[103.092636,33.217668],[103.092713,33.217735],[103.092743,33.217743],[103.0928,33.21776],[103.092896,33.217811],[103.092979,33.217875],[103.093082,33.217944],[103.093176,33.218056],[103.093206,33.218121],[103.093223,33.218182],[103.093224,33.218229],[103.093224,33.218296],[103.093214,33.218354],[103.093201,33.218384],[103.093205,33.218526],[103.09321,33.218703],[103.092939,33.219019],[103.092929,33.219031],[103.092482,33.219551],[103.092484,33.219643],[103.092484,33.219656],[103.09249,33.219883],[103.092495,33.220173],[103.092511,33.220188],[103.09257,33.220251],[103.092636,33.220322],[103.092932,33.220641],[103.092978,33.220654],[103.093031,33.220665],[103.093087,33.220684],[103.093155,33.220711],[103.093251,33.220765],[103.093483,33.220904],[103.093548,33.220946],[103.093591,33.220984],[103.093632,33.22102],[103.093642,33.221031],[103.093765,33.221058],[103.094547,33.22123],[103.095763,33.221463],[103.096141,33.221538],[103.096285,33.221519],[103.096425,33.22151],[103.096561,33.221496],[103.09672,33.221477],[103.096929,33.221462],[103.096986,33.221467],[103.097043,33.221491],[103.097086,33.221531],[103.097135,33.221597],[103.09716,33.221682],[103.097175,33.221786],[103.097163,33.221866],[103.097342,33.221965],[103.097471,33.222561],[103.097457,33.222587],[103.0971,33.223158],[103.096815,33.223719],[103.096935,33.224042],[103.096969,33.22413],[103.09709,33.224442],[103.097097,33.224505],[103.097104,33.224577],[103.09712,33.224732],[103.096991,33.224807],[103.096842,33.224777],[103.096861,33.224728],[103.096861,33.224691],[103.096851,33.224655],[103.09679,33.224609],[103.096716,33.224561],[103.096663,33.224547],[103.096632,33.224553],[103.096611,33.224584],[103.096581,33.22463],[103.096538,33.22466],[103.096477,33.224672],[103.09609,33.224472],[103.096048,33.224451],[103.09594,33.224397],[103.095932,33.224394],[103.095875,33.224422],[103.095818,33.22444],[103.09572,33.224456],[103.095604,33.224454],[103.095539,33.224448],[103.095476,33.224429],[103.09542,33.224401],[103.095369,33.224345],[103.09537,33.224363],[103.095378,33.224614],[103.095442,33.225012],[103.095644,33.225207],[103.09578,33.225338],[103.095913,33.225464],[103.095934,33.225483],[103.096224,33.225756],[103.096264,33.225744],[103.096297,33.22573],[103.096315,33.225718],[103.096334,33.225706],[103.096384,33.22567],[103.096491,33.225626],[103.096537,33.225627],[103.0966,33.225634],[103.096638,33.225651],[103.096667,33.225676],[103.096691,33.225713],[103.096719,33.225773],[103.096734,33.225832],[103.096735,33.225903],[103.096725,33.225978],[103.096709,33.226027],[103.09669,33.226065],[103.096745,33.226101],[103.096919,33.226408],[103.09683,33.226647],[103.096784,33.226809],[103.096704,33.226972],[103.096666,33.227085],[103.096622,33.227148],[103.096586,33.227188],[103.096527,33.227243],[103.096425,33.2273],[103.096347,33.227339],[103.096229,33.227373],[103.096149,33.227384],[103.096029,33.227385],[103.095937,33.227377],[103.095831,33.227359],[103.095741,33.227323],[103.095695,33.2273],[103.095665,33.227304],[103.095555,33.22732],[103.095094,33.227619],[103.095262,33.22781],[103.095272,33.22782],[103.095649,33.228009],[103.095724,33.228028],[103.095804,33.228019],[103.095927,33.228014],[103.096073,33.228025],[103.096131,33.228036],[103.096223,33.228053],[103.096376,33.228103],[103.096436,33.228135],[103.096444,33.228134],[103.096628,33.228131],[103.096658,33.228128],[103.096794,33.228165],[103.097034,33.228201],[103.097134,33.2282],[103.097209,33.228193],[103.097287,33.228165],[103.097357,33.228118],[103.097421,33.228052],[103.097723,33.228063],[103.097757,33.228052],[103.097831,33.228048],[103.097926,33.228043],[103.098002,33.228044],[103.098058,33.228058],[103.098091,33.228076],[103.098138,33.228078],[103.098486,33.228197],[103.098532,33.228213],[103.098932,33.22835],[103.099295,33.228594],[103.099292,33.228707],[103.099287,33.228849],[103.099295,33.228928],[103.099287,33.229126],[103.099325,33.22928],[103.099552,33.229709],[103.099744,33.230109],[103.100051,33.230478],[103.100121,33.230493],[103.100202,33.23052],[103.100289,33.230561],[103.100326,33.230579],[103.100366,33.230599],[103.100409,33.230632],[103.100463,33.230692],[103.100528,33.230765],[103.100568,33.230821],[103.100579,33.230837],[103.100614,33.230895],[103.100655,33.230996],[103.100684,33.231063],[103.100689,33.231081],[103.100689,33.231104],[103.100688,33.231119],[103.100718,33.231151],[103.10072,33.231157],[103.100749,33.231288],[103.100771,33.231443],[103.100749,33.231626],[103.10069,33.231778],[103.100632,33.23193],[103.100545,33.232049],[103.100442,33.232165],[103.100277,33.232264],[103.100119,33.232345],[103.099925,33.232418],[103.099787,33.232437],[103.099344,33.232369],[103.099155,33.23234],[103.098956,33.232232],[103.098755,33.232122],[103.098728,33.232107],[103.098594,33.232107],[103.098442,33.232104],[103.09829,33.232067],[103.098153,33.232022],[103.098016,33.231963],[103.097934,33.231907],[103.0979,33.231872],[103.097881,33.231868],[103.097324,33.231742],[103.097318,33.23174],[103.097265,33.231699],[103.09715,33.231639],[103.096787,33.231478],[103.09662,33.231412],[103.096522,33.231383],[103.09642,33.231365],[103.096359,33.231365],[103.096214,33.231302],[103.095845,33.231263],[103.095799,33.231303],[103.095737,33.231346],[103.095626,33.23137],[103.09555,33.231379],[103.095468,33.231383],[103.095388,33.231375],[103.09527,33.231347],[103.095188,33.231414],[103.095121,33.231468],[103.095046,33.231529],[103.094911,33.231893],[103.094936,33.232413],[103.095287,33.232969],[103.095344,33.233096],[103.095505,33.233459],[103.095547,33.233553],[103.095446,33.233682],[103.095427,33.233831],[103.095392,33.233918],[103.095369,33.233996],[103.095327,33.234115],[103.095307,33.234211],[103.095288,33.234339],[103.095314,33.234396],[103.095291,33.234466],[103.095281,33.234628],[103.095263,33.234939],[103.095433,33.235172],[103.095446,33.235188],[103.095601,33.235402],[103.095648,33.235405],[103.095684,33.235412],[103.095766,33.235437],[103.095816,33.235462],[103.095876,33.235499],[103.095926,33.235521],[103.095945,33.235528],[103.095987,33.235544],[103.096051,33.235563],[103.096155,33.235592],[103.096252,33.235624],[103.096329,33.235652],[103.096461,33.235733],[103.09651,33.235776],[103.09656,33.235827],[103.09677,33.235863],[103.096823,33.235886],[103.097226,33.236057],[103.097256,33.236069],[103.097298,33.236126],[103.097415,33.236286],[103.097153,33.236633],[103.096642,33.23702],[103.09658,33.237067],[103.096548,33.237115],[103.096541,33.237126],[103.096373,33.237385],[103.09642,33.23759],[103.096439,33.237676],[103.096569,33.23777],[103.096656,33.23776],[103.096791,33.237769],[103.096885,33.237802],[103.096928,33.237856],[103.096977,33.237861],[103.097072,33.237869],[103.097192,33.237772],[103.09722,33.237749],[103.097479,33.237539],[103.09754,33.237492],[103.09764,33.237417],[103.098183,33.237006],[103.09831,33.23691],[103.098607,33.236733],[103.098702,33.236676],[103.09891,33.236552],[103.099157,33.236404],[103.099791,33.236551],[103.100005,33.236738],[103.100003,33.237054],[103.099892,33.237211],[103.099339,33.237771],[103.09873,33.238018],[103.098694,33.238166],[103.098626,33.238444],[103.098623,33.238457],[103.098599,33.238467],[103.098535,33.238496],[103.098348,33.238579],[103.098347,33.238579],[103.098255,33.23862],[103.098144,33.238772],[103.09788,33.239134],[103.097791,33.239548],[103.097771,33.239638],[103.097739,33.239789],[103.097794,33.240092],[103.097852,33.240417],[103.097885,33.240519],[103.097887,33.240527],[103.098125,33.241276],[103.097955,33.241564],[103.097685,33.241568],[103.097427,33.241571],[103.097363,33.241517],[103.097327,33.241487],[103.097325,33.241485],[103.097318,33.241479],[103.096892,33.24112],[103.096243,33.240104],[103.096112,33.239932],[103.096064,33.239941],[103.095986,33.239892],[103.095795,33.239738],[103.095763,33.239739],[103.095589,33.239747],[103.095525,33.239749],[103.095508,33.23975],[103.095431,33.239753],[103.094674,33.240119],[103.09465,33.240131],[103.094604,33.240153],[103.094458,33.240168],[103.093711,33.240246],[103.093265,33.240223],[103.093203,33.24022],[103.093182,33.240235],[103.093065,33.240286],[103.092893,33.240343],[103.092764,33.240367],[103.092608,33.240354],[103.092525,33.240332],[103.092486,33.240345],[103.092473,33.24035],[103.092267,33.240606],[103.092307,33.24074],[103.092327,33.240806],[103.092386,33.241005],[103.092683,33.241544],[103.093072,33.242039],[103.093301,33.242525],[103.093305,33.242533],[103.09342,33.242778],[103.093421,33.242783],[103.093453,33.242923],[103.093569,33.243437],[103.093523,33.24391],[103.093321,33.24409],[103.093037,33.244345],[103.092837,33.244526],[103.092437,33.244641],[103.092251,33.244694],[103.092233,33.2447],[103.091934,33.244669],[103.091544,33.244628],[103.090967,33.244466],[103.090912,33.244451],[103.0906,33.24443],[103.090583,33.244461],[103.090563,33.244491],[103.09053,33.244517],[103.090472,33.244538],[103.09038,33.244557],[103.090299,33.244561],[103.09025,33.244564],[103.090176,33.244558],[103.090102,33.244548],[103.090046,33.244537],[103.089991,33.244511],[103.089965,33.244502],[103.089934,33.244497],[103.089894,33.244499],[103.089852,33.2445],[103.089812,33.244501],[103.089776,33.244494],[103.089752,33.24448],[103.08974,33.244463],[103.08973,33.244436],[103.08942,33.244487],[103.089341,33.2445],[103.089328,33.244502],[103.08932,33.244508],[103.088878,33.244814],[103.088572,33.245025],[103.088561,33.245036],[103.088527,33.245073],[103.08848,33.245123],[103.088445,33.245086],[103.088406,33.245035],[103.088365,33.24502],[103.08834,33.245031],[103.088307,33.245079],[103.088296,33.24512],[103.088294,33.245131],[103.088296,33.245173],[103.088306,33.245224],[103.08834,33.245273],[103.08805,33.245582],[103.087851,33.245679],[103.087788,33.24571],[103.087607,33.245798],[103.087614,33.245824],[103.087593,33.24584],[103.087561,33.245853],[103.0875,33.245888],[103.087463,33.245911],[103.087416,33.245933],[103.087372,33.245959],[103.087356,33.245968],[103.087303,33.245946],[103.087076,33.246056],[103.087027,33.246056],[103.086943,33.246081],[103.086814,33.246122],[103.086683,33.246157],[103.086539,33.246182],[103.086428,33.246182],[103.0863,33.246182],[103.086194,33.24617],[103.086052,33.246147],[103.085975,33.246138],[103.085801,33.246174],[103.085379,33.246351],[103.084995,33.246483],[103.0845,33.246658],[103.084142,33.246792],[103.08395,33.246864],[103.083719,33.247186],[103.08376,33.247533],[103.083928,33.247652],[103.084217,33.247855],[103.084235,33.247868],[103.084261,33.247887],[103.085003,33.248306],[103.085645,33.248507],[103.085822,33.248563],[103.086052,33.248559],[103.086387,33.248554],[103.086477,33.248552],[103.086523,33.248548],[103.086823,33.24852],[103.087035,33.2485],[103.087184,33.248481],[103.087235,33.248413],[103.087267,33.248361],[103.087309,33.248372],[103.087344,33.248379],[103.087366,33.248406],[103.08738,33.248455],[103.087594,33.248427],[103.087619,33.248493],[103.087686,33.248673],[103.087685,33.248704],[103.087685,33.248725],[103.087673,33.249284],[103.087682,33.249314],[103.087619,33.249334],[103.087603,33.249357],[103.087608,33.24938],[103.087635,33.249395],[103.08767,33.249402],[103.087711,33.249408],[103.087783,33.249642],[103.087784,33.249646],[103.087786,33.249652],[103.088002,33.249757],[103.088269,33.249741],[103.088346,33.249678],[103.08859,33.249481],[103.088721,33.24935],[103.088728,33.249343],[103.088729,33.249343],[103.088816,33.249256],[103.088817,33.249256],[103.08883,33.249243],[103.089247,33.248829],[103.089358,33.248719],[103.089398,33.248706],[103.089704,33.248606],[103.089895,33.248544],[103.090329,33.248632],[103.090575,33.248813],[103.090608,33.248838],[103.090861,33.249024],[103.090882,33.24904],[103.090949,33.24909],[103.091106,33.249389],[103.091229,33.249624],[103.091336,33.25027],[103.091286,33.251084],[103.09112,33.251642],[103.091077,33.251787],[103.091058,33.252656],[103.091151,33.252795],[103.091204,33.252875],[103.091277,33.252985],[103.091881,33.253429],[103.092194,33.253895],[103.092359,33.254247],[103.092367,33.254264],[103.092421,33.254379],[103.092564,33.254652],[103.092666,33.254847],[103.092823,33.255148],[103.093182,33.255414],[103.093252,33.255466],[103.093575,33.255705],[103.093655,33.255764],[103.093717,33.255731],[103.093745,33.255719],[103.09378,33.255712],[103.093804,33.255707],[103.093842,33.255707],[103.093769,33.255827],[103.09397,33.255932],[103.094051,33.25584],[103.094098,33.255785],[103.094187,33.255693],[103.094362,33.255544],[103.09443,33.255476],[103.094524,33.255409],[103.0946,33.255361],[103.094616,33.255352],[103.09468,33.255315],[103.094766,33.255283],[103.094871,33.255247],[103.094972,33.255226],[103.095045,33.255226],[103.095123,33.255228],[103.095227,33.25524],[103.095352,33.255273],[103.095397,33.255293],[103.095583,33.255369],[103.095668,33.255422],[103.095859,33.255611],[103.095962,33.25579],[103.096067,33.256109],[103.096083,33.256266],[103.096084,33.256348],[103.096116,33.256321],[103.09613,33.256316],[103.09612,33.256447],[103.096106,33.256565],[103.096063,33.25668],[103.095973,33.25677],[103.095749,33.256918],[103.095601,33.257018],[103.095316,33.257127],[103.095308,33.257131],[103.095097,33.257227],[103.094745,33.25737],[103.094507,33.257493],[103.094269,33.257598],[103.093969,33.257731],[103.093603,33.257865],[103.093255,33.257948],[103.092908,33.258031],[103.092798,33.258069],[103.09266,33.258084],[103.092575,33.258079],[103.092446,33.258036],[103.092342,33.258003],[103.092166,33.257993],[103.092042,33.257998],[103.091923,33.258041],[103.091828,33.258122],[103.091771,33.258207],[103.091747,33.258283],[103.091747,33.258341],[103.091766,33.25845],[103.091818,33.25855],[103.091894,33.258645],[103.092037,33.258755],[103.092166,33.25884],[103.09242,33.258931],[103.092675,33.259021],[103.092922,33.259064],[103.09317,33.259107],[103.093376,33.259156],[103.093565,33.259202],[103.093674,33.25925],[103.093812,33.259383],[103.093826,33.259497],[103.093779,33.259654],[103.093712,33.259749],[103.093652,33.259806],[103.093617,33.25984],[103.09338,33.259992],[103.093143,33.260145],[103.092987,33.260256],[103.09273,33.260456],[103.092427,33.260606],[103.092123,33.260756],[103.091724,33.260863],[103.091395,33.260927],[103.091117,33.260963],[103.09071,33.260963],[103.090372,33.260906],[103.090034,33.260849],[103.089696,33.260792],[103.089368,33.260728],[103.089061,33.260728],[103.08879,33.260749],[103.088618,33.260813],[103.088404,33.260956],[103.088247,33.261134],[103.08814,33.261334],[103.088062,33.261513],[103.088056,33.261535],[103.087997,33.261763],[103.087933,33.261905],[103.087812,33.262034],[103.087633,33.26212],[103.087455,33.262198],[103.087284,33.262212],[103.087119,33.262184],[103.086955,33.262127],[103.086691,33.261948],[103.08657,33.261663],[103.086391,33.261256],[103.086353,33.261155],[103.086299,33.261013],[103.086227,33.26087],[103.08612,33.260713],[103.085992,33.260628],[103.085877,33.260628],[103.085706,33.260685],[103.085606,33.260792],[103.085492,33.26097],[103.085374,33.261234],[103.085256,33.261498],[103.085092,33.261841],[103.085006,33.262048],[103.084892,33.262277],[103.084749,33.262455],[103.084478,33.262683],[103.084307,33.262812],[103.084286,33.262825],[103.084086,33.262948],[103.083893,33.263147],[103.083857,33.263326],[103.0839,33.263483],[103.083979,33.263669],[103.084093,33.263861],[103.084378,33.264061],[103.084585,33.26414],[103.084807,33.264161],[103.084921,33.264154],[103.085006,33.264083],[103.085174,33.263865],[103.085342,33.263647],[103.085417,33.26354],[103.085485,33.263444],[103.085628,33.26324],[103.085742,33.263076],[103.08592,33.262876],[103.086199,33.262691],[103.086406,33.262612],[103.086527,33.262583],[103.08667,33.262576],[103.087019,33.262583],[103.087405,33.262683],[103.087562,33.262748],[103.087691,33.262833],[103.087862,33.263005],[103.087905,33.263083],[103.087927,33.263104],[103.088019,33.26319],[103.088147,33.263255],[103.088297,33.263276],[103.088454,33.263269],[103.088633,33.263219],[103.08879,33.263112],[103.088795,33.263107],[103.088897,33.263005],[103.088997,33.262762],[103.089061,33.262612],[103.089082,33.262491],[103.089111,33.262376],[103.089218,33.262277],[103.089397,33.262205],[103.089438,33.262195],[103.089539,33.262169],[103.089704,33.262169],[103.08982,33.262178],[103.090003,33.262191],[103.090253,33.262341],[103.090382,33.262519],[103.090467,33.262691],[103.090471,33.262696],[103.090537,33.262805],[103.090624,33.262948],[103.090717,33.263205],[103.090717,33.263387],[103.090717,33.263404],[103.090689,33.263547],[103.090574,33.263776],[103.090417,33.264054],[103.090324,33.264232],[103.09026,33.264354],[103.090068,33.264468],[103.089868,33.264568],[103.089642,33.264632],[103.089589,33.264646],[103.089254,33.264675],[103.088861,33.264704],[103.088497,33.264768],[103.088119,33.264961],[103.08793,33.2651],[103.08774,33.265239],[103.087405,33.265482],[103.087069,33.265724],[103.086827,33.265917],[103.086684,33.26611],[103.08667,33.266267],[103.086677,33.266374],[103.086741,33.266502],[103.086884,33.266688],[103.087066,33.266984],[103.087248,33.267281],[103.087298,33.267566],[103.087434,33.267894],[103.087619,33.268173],[103.087876,33.268423],[103.088112,33.268608],[103.088362,33.26874],[103.088611,33.268872],[103.088875,33.268922],[103.089268,33.268894],[103.089561,33.268822],[103.089961,33.268808],[103.090332,33.268808],[103.090374,33.26881],[103.090564,33.268819],[103.090796,33.26883],[103.091106,33.26888],[103.091417,33.26893],[103.091595,33.268979],[103.091874,33.269101],[103.091945,33.269186],[103.091995,33.269308],[103.091999,33.269389],[103.092002,33.269458],[103.091959,33.269743],[103.091902,33.270022],[103.091816,33.270222],[103.091652,33.270414],[103.091445,33.270564],[103.091231,33.2707],[103.090931,33.270857],[103.09066,33.270971],[103.090389,33.271085],[103.090091,33.271221],[103.089794,33.271357],[103.089497,33.271492],[103.089254,33.271671],[103.08904,33.271871],[103.089025,33.271999],[103.089054,33.272149],[103.089161,33.272299],[103.089361,33.272434],[103.089618,33.27257],[103.089946,33.272646],[103.090275,33.272722],[103.090603,33.272799],[103.090913,33.272913],[103.091224,33.273027],[103.091253,33.273038],[103.091502,33.273134],[103.091709,33.273355],[103.091781,33.273519],[103.091838,33.273698],[103.091824,33.273862],[103.091774,33.273983],[103.091717,33.274041],[103.09151,33.274126],[103.091388,33.274169],[103.09106,33.274226],[103.090817,33.274226],[103.09046,33.274191],[103.090075,33.274133],[103.089778,33.274108],[103.089482,33.274083],[103.089132,33.274033],[103.088783,33.273983],[103.088404,33.273983],[103.088382,33.273984],[103.088133,33.273991],[103.087898,33.274041],[103.087698,33.274141],[103.087491,33.274326],[103.087391,33.274483],[103.087312,33.274626],[103.087298,33.274797],[103.087298,33.274997],[103.087326,33.275176],[103.08744,33.275524],[103.087604,33.275835],[103.087631,33.276088],[103.087561,33.276411],[103.087496,33.276564],[103.08737,33.276716],[103.0873,33.276784],[103.087238,33.276844],[103.087197,33.276884],[103.087024,33.277052],[103.086852,33.27722],[103.086824,33.277248],[103.086679,33.277388],[103.086603,33.277462],[103.086506,33.277557],[103.086333,33.277725],[103.08616,33.277893],[103.085987,33.278061],[103.085842,33.278234],[103.085831,33.278248],[103.085674,33.278436],[103.085518,33.278623],[103.085455,33.278697],[103.085403,33.27876],[103.085361,33.27881],[103.085205,33.278997],[103.085048,33.279184],[103.084892,33.279371],[103.084736,33.279559],[103.084579,33.279746],[103.084423,33.279933],[103.084266,33.28012],[103.08411,33.280307],[103.083934,33.280496],[103.083759,33.280685],[103.083583,33.280874],[103.083408,33.281064],[103.083233,33.281253],[103.083057,33.281442],[103.082882,33.281631],[103.082706,33.28182],[103.082505,33.281957],[103.082304,33.282094],[103.081905,33.282241],[103.081492,33.282312],[103.081079,33.282383],[103.080833,33.282412],[103.080587,33.282441],[103.080341,33.282471],[103.080095,33.2825],[103.079849,33.282529],[103.079603,33.282558],[103.079357,33.282587],[103.079112,33.282616],[103.078859,33.282666],[103.078607,33.282715],[103.078354,33.282765],[103.078102,33.282814],[103.07785,33.282863],[103.077597,33.282913],[103.077345,33.282962],[103.077093,33.283011],[103.07684,33.283061],[103.076588,33.28311],[103.076336,33.28316],[103.076083,33.283209],[103.075847,33.28326],[103.075611,33.283311],[103.075375,33.283362],[103.075139,33.283413],[103.074902,33.283464],[103.074666,33.283516],[103.07443,33.283567],[103.074194,33.283618],[103.073958,33.283669],[103.073722,33.28372],[103.073486,33.283771],[103.07325,33.283822],[103.073013,33.283873],[103.072777,33.283924],[103.072616,33.283965],[103.07244,33.284009],[103.072103,33.284093],[103.071886,33.284268],[103.071822,33.28442],[103.07182,33.284427],[103.07181,33.284481],[103.071753,33.284778],[103.071647,33.284981],[103.071541,33.285184],[103.071435,33.285386],[103.071328,33.285589],[103.071222,33.285792],[103.071116,33.285994],[103.070927,33.286299],[103.070738,33.286603],[103.070458,33.286871],[103.070178,33.287139],[103.069898,33.287408],[103.069744,33.287614],[103.06959,33.287821],[103.069436,33.288028],[103.069282,33.288234],[103.069173,33.28838],[103.069128,33.288441],[103.06906,33.288531],[103.069056,33.288537],[103.068973,33.288648],[103.068819,33.288854],[103.068665,33.289061],[103.068521,33.289269],[103.068376,33.289476],[103.068231,33.289683],[103.068087,33.289891],[103.067942,33.290098],[103.067797,33.290306],[103.067653,33.290513],[103.067564,33.29064],[103.067508,33.290721],[103.067364,33.290928],[103.067275,33.291055],[103.06725,33.29109],[103.067219,33.291136],[103.066996,33.291463],[103.066986,33.291478],[103.066773,33.29179],[103.066644,33.29198],[103.066515,33.29217],[103.066386,33.29236],[103.066256,33.29255],[103.066127,33.29274],[103.065998,33.29293],[103.065868,33.29312],[103.065739,33.29331],[103.06559,33.29353],[103.065441,33.29375],[103.065292,33.293969],[103.065143,33.294189],[103.065045,33.294334],[103.064994,33.294408],[103.064977,33.294434],[103.064845,33.294628],[103.064696,33.294848],[103.064547,33.295067],[103.064398,33.295287],[103.064249,33.295507],[103.06411,33.295704],[103.064078,33.29575],[103.063971,33.295901],[103.063832,33.296099],[103.063731,33.296241],[103.063693,33.296296],[103.063539,33.296514],[103.063385,33.296732],[103.063231,33.296951],[103.063077,33.297169],[103.062923,33.297387],[103.062769,33.297606],[103.062568,33.297781],[103.062366,33.297956],[103.061968,33.298079],[103.061539,33.298166],[103.06111,33.298252],[103.060682,33.298339],[103.060652,33.298344],[103.060246,33.298416],[103.05981,33.298492],[103.059374,33.298568],[103.058938,33.298644],[103.058693,33.298705],[103.058448,33.298765],[103.058203,33.298825],[103.057958,33.298885],[103.057799,33.29892],[103.057717,33.298938],[103.057476,33.29899],[103.057236,33.299042],[103.056995,33.299094],[103.056754,33.299146],[103.056513,33.299198],[103.056273,33.299251],[103.056266,33.299252],[103.056032,33.299303],[103.055791,33.299355],[103.05555,33.299407],[103.05531,33.299459],[103.055069,33.299511],[103.054811,33.299579],[103.054554,33.299646],[103.054296,33.299714],[103.054039,33.299782],[103.053781,33.299849],[103.053524,33.299917],[103.053266,33.299984],[103.053009,33.300052],[103.052751,33.300119],[103.052494,33.300187],[103.052251,33.300221],[103.052007,33.300256],[103.051764,33.30029],[103.051521,33.300325],[103.051277,33.300359],[103.051034,33.300394],[103.050791,33.300428],[103.050547,33.300462],[103.050304,33.300497],[103.050061,33.300531],[103.049817,33.300566],[103.049574,33.3006],[103.049331,33.300635],[103.049088,33.300669],[103.048844,33.300704],[103.048601,33.300738],[103.048344,33.30076],[103.04833,33.300761],[103.04828,33.300765],[103.048087,33.300781],[103.04783,33.300803],[103.047573,33.300824],[103.047316,33.300846],[103.047059,33.300867],[103.046802,33.300889],[103.046545,33.30091],[103.046458,33.300918],[103.046404,33.300922],[103.046288,33.300932],[103.046031,33.300953],[103.045774,33.300975],[103.045517,33.300997],[103.045283,33.301014],[103.045049,33.301031],[103.044815,33.301049],[103.044581,33.301066],[103.044347,33.301084],[103.044113,33.301101],[103.043894,33.301141],[103.043874,33.301144],[103.043634,33.301188],[103.043395,33.301231],[103.043155,33.301274],[103.042944,33.301312],[103.042916,33.301317],[103.042676,33.30136],[103.042257,33.301385],[103.041837,33.301411],[103.041417,33.301436],[103.040997,33.301461],[103.040733,33.301457],[103.040469,33.301453],[103.040205,33.301449],[103.039941,33.301444],[103.039677,33.30144],[103.039413,33.301436],[103.039151,33.301435],[103.038889,33.301433],[103.038627,33.301432],[103.038365,33.30143],[103.038103,33.301429],[103.037841,33.301427],[103.037579,33.301426],[103.037317,33.301424],[103.037055,33.301423],[103.036793,33.301421],[103.036474,33.301409],[103.036388,33.301406],[103.035982,33.301391],[103.035576,33.301376],[103.035171,33.301338],[103.035149,33.301336],[103.034722,33.301296],[103.034295,33.301256],[103.033868,33.301216],[103.033442,33.301157],[103.033015,33.301097],[103.032588,33.301037],[103.032162,33.300977],[103.0318,33.300879],[103.031439,33.30078],[103.031213,33.300741],[103.030987,33.300702],[103.030733,33.300689],[103.030376,33.300683],[103.030366,33.300682],[103.03008,33.300661],[103.029818,33.300639],[103.029524,33.300599],[103.029209,33.300541],[103.028894,33.300483],[103.028662,33.300431],[103.028586,33.300413],[103.028483,33.30039],[103.028431,33.300378],[103.028166,33.300343],[103.0279,33.300307],[103.027635,33.300272],[103.02737,33.300237],[103.027097,33.300195],[103.026824,33.300154],[103.026793,33.300149],[103.026552,33.300112],[103.026279,33.30007],[103.026047,33.300053],[103.025816,33.300036],[103.025489,33.300031],[103.025162,33.300026],[103.024935,33.300036],[103.024708,33.300045],[103.02439,33.30008],[103.024073,33.300115],[103.02384,33.300154],[103.023607,33.300193],[103.023374,33.300232],[103.023142,33.300271],[103.022909,33.30031],[103.022676,33.300349],[103.02228,33.300404],[103.021884,33.300459],[103.021586,33.300521],[103.021289,33.300584],[103.020896,33.300692],[103.020751,33.300754],[103.02068,33.300785],[103.020463,33.300877],[103.020314,33.300963],[103.020121,33.301132],[103.019928,33.301302],[103.019731,33.301564],[103.019653,33.301757],[103.019567,33.302039],[103.019482,33.302321],[103.01938,33.302603],[103.01925,33.302761],[103.019154,33.302864],[103.019045,33.30296],[103.01895,33.303003],[103.018811,33.30308],[103.018673,33.303131],[103.018365,33.303188],[103.018111,33.3032],[103.017858,33.303211],[103.017605,33.303223],[103.017352,33.303234],[103.016904,33.303223],[103.016457,33.303213],[103.016009,33.303202],[103.015567,33.303144],[103.015124,33.303086],[103.014682,33.303029],[103.014239,33.302971],[103.013977,33.302925],[103.013715,33.302878],[103.013454,33.302831],[103.013192,33.302785],[103.01293,33.302738],[103.012668,33.302692],[103.012484,33.302659],[103.012406,33.302645],[103.012144,33.302599],[103.011882,33.302552],[103.011621,33.302506],[103.011359,33.302459],[103.011097,33.302413],[103.010835,33.302366],[103.010573,33.30232],[103.010311,33.302273],[103.010049,33.302227],[103.009787,33.30218],[103.009526,33.302134],[103.009264,33.302087],[103.009024,33.302044],[103.009002,33.302041],[103.0088,33.302005],[103.00874,33.301994],[103.008478,33.301948],[103.008216,33.301901],[103.007954,33.301854],[103.007693,33.301808],[103.007431,33.301761],[103.007169,33.301715],[103.006907,33.301668],[103.006653,33.301629],[103.006398,33.30159],[103.006144,33.301551],[103.005889,33.301511],[103.005635,33.301472],[103.005381,33.301433],[103.005126,33.301394],[103.004872,33.301355],[103.004618,33.301315],[103.004363,33.301276],[103.004109,33.301237],[103.003855,33.301198],[103.0036,33.301158],[103.003346,33.301119],[103.003076,33.301076],[103.002807,33.301032],[103.002538,33.300988],[103.002269,33.300945],[103.001999,33.300901],[103.00173,33.300857],[103.001461,33.300814],[103.001191,33.30077],[103.000961,33.300733],[103.000731,33.300696],[103.000501,33.300658],[103.000271,33.300621],[103.000029,33.300608],[102.999786,33.300594],[102.999544,33.300581],[102.999301,33.300567],[102.999059,33.300554],[102.998816,33.30054],[102.998574,33.300527],[102.998332,33.300513],[102.998089,33.3005],[102.997847,33.300486],[102.997604,33.300472],[102.997362,33.300459],[102.997124,33.300415],[102.996887,33.300372],[102.99665,33.300328],[102.996412,33.300285],[102.996406,33.300283],[102.996184,33.300243],[102.996175,33.300241],[102.995938,33.300198],[102.995815,33.300175],[102.995733,33.30016],[102.995701,33.300154],[102.995463,33.30011],[102.995226,33.300067],[102.994989,33.300023],[102.994751,33.29998],[102.994514,33.299936],[102.994277,33.299893],[102.994039,33.299849],[102.993613,33.299825],[102.99342,33.299822],[102.993205,33.29989],[102.99287,33.300178],[102.992535,33.300466],[102.992201,33.300754],[102.99194,33.300937],[102.99168,33.301121],[102.991431,33.301243],[102.991181,33.301364],[102.990771,33.301528],[102.990361,33.301692],[102.990352,33.301696],[102.990108,33.301776],[102.989855,33.301859],[102.989601,33.301942],[102.989348,33.302025],[102.989095,33.302108],[102.988841,33.302191],[102.988461,33.302281],[102.988081,33.30237],[102.987701,33.302459],[102.987455,33.302482],[102.987209,33.302505],[102.986824,33.302499],[102.986439,33.302494],[102.98611,33.302398],[102.985781,33.302302],[102.98558,33.302198],[102.985379,33.302094],[102.985178,33.30199],[102.984977,33.301886],[102.984776,33.301782],[102.984575,33.301677],[102.984374,33.301573],[102.984174,33.301469],[102.983947,33.301322],[102.983721,33.301175],[102.983494,33.301028],[102.983268,33.30088],[102.983041,33.300733],[102.982815,33.300586],[102.982588,33.300439],[102.982362,33.300292],[102.981996,33.300082],[102.98163,33.299873],[102.981264,33.299664],[102.98091,33.29952],[102.980556,33.299376],[102.980168,33.29919],[102.97978,33.299004],[102.979392,33.298818],[102.979095,33.298697],[102.978799,33.298576],[102.978671,33.298558],[102.978372,33.298515],[102.978138,33.298476],[102.977903,33.298436],[102.977669,33.298396],[102.977441,33.298357],[102.977435,33.298356],[102.977201,33.298317],[102.976967,33.298277],[102.976714,33.298264],[102.976461,33.298251],[102.976209,33.298238],[102.975956,33.298225],[102.975703,33.298212],[102.97545,33.298199],[102.975197,33.298185],[102.974944,33.298172],[102.974692,33.298159],[102.974439,33.298146],[102.974186,33.298133],[102.973933,33.29812],[102.973665,33.298117],[102.973396,33.298114],[102.973127,33.298111],[102.972859,33.298108],[102.97259,33.298105],[102.972321,33.298102],[102.972053,33.298098],[102.971784,33.298095],[102.971515,33.298092],[102.971247,33.298089],[102.970978,33.298086],[102.970709,33.298083],[102.970441,33.29808],[102.970172,33.298077],[102.969907,33.298083],[102.969642,33.29809],[102.969377,33.298097],[102.969113,33.298104],[102.968848,33.298111],[102.968583,33.298117],[102.968318,33.298124],[102.968053,33.298131],[102.967661,33.298149],[102.967268,33.298167],[102.966876,33.298184],[102.966515,33.298168],[102.966484,33.298166],[102.966093,33.298148],[102.965701,33.29813],[102.965472,33.298112],[102.965242,33.298095],[102.965013,33.298078],[102.964784,33.29806],[102.964554,33.298043],[102.964325,33.298026],[102.964096,33.298009],[102.963867,33.297991],[102.963609,33.29799],[102.963351,33.297988],[102.963093,33.297987],[102.962836,33.297985],[102.962578,33.297984],[102.96232,33.297982],[102.962062,33.29798],[102.961805,33.297979],[102.961547,33.297977],[102.961289,33.297976],[102.961031,33.297974],[102.960774,33.297973],[102.960516,33.297971],[102.960258,33.297969],[102.960001,33.297968],[102.959743,33.297966],[102.959485,33.297965],[102.959227,33.297963],[102.95897,33.297962],[102.958712,33.29796],[102.958453,33.297957],[102.958195,33.297954],[102.957936,33.297951],[102.957678,33.297949],[102.957419,33.297946],[102.957161,33.297943],[102.956902,33.29794],[102.956643,33.297937],[102.956385,33.297934],[102.956126,33.297931],[102.955868,33.297928],[102.955609,33.297925],[102.955351,33.297923],[102.955092,33.29792],[102.954834,33.297917],[102.954575,33.297914],[102.954317,33.297911],[102.954058,33.297908],[102.953799,33.297905],[102.953541,33.297902],[102.953282,33.2979],[102.953024,33.297897],[102.952765,33.297894],[102.952507,33.297891],[102.952248,33.297888],[102.95199,33.297885],[102.951731,33.297882],[102.951473,33.297879],[102.951214,33.297864],[102.950955,33.297848],[102.950697,33.297832],[102.950438,33.297816],[102.950179,33.2978],[102.94992,33.297784],[102.949662,33.297768],[102.94946,33.297756],[102.949403,33.297753],[102.949322,33.297748],[102.949144,33.297737],[102.948886,33.297721],[102.948627,33.297705],[102.948368,33.297689],[102.94811,33.297673],[102.947851,33.297657],[102.947598,33.297657],[102.947345,33.297656],[102.947092,33.297655],[102.946839,33.297654],[102.946586,33.297654],[102.946333,33.297653],[102.94608,33.297652],[102.945968,33.297652],[102.945827,33.297651],[102.945573,33.29765],[102.94532,33.29765],[102.944872,33.297678],[102.944636,33.297728],[102.944336,33.297759],[102.94393,33.297752],[102.943502,33.297741],[102.943075,33.297729],[102.942647,33.297718],[102.942564,33.297716],[102.942219,33.297707],[102.941985,33.2977],[102.941979,33.2977],[102.941739,33.297694],[102.941498,33.297688],[102.941258,33.297681],[102.941018,33.297675],[102.940778,33.297669],[102.940537,33.297662],[102.940297,33.297656],[102.940083,33.297653],[102.939977,33.297615],[102.939871,33.297505],[102.939834,33.297307],[102.939865,33.296913],[102.939876,33.296465],[102.939837,33.296349],[102.939815,33.296284],[102.93967,33.29612],[102.939544,33.296029],[102.939352,33.296007],[102.939158,33.296004],[102.938966,33.296055],[102.93879,33.296213],[102.93869,33.296416],[102.938538,33.296724],[102.938387,33.297032],[102.938358,33.29711],[102.938341,33.297157],[102.938296,33.297211],[102.938257,33.297253],[102.938231,33.297281],[102.938122,33.297316],[102.937972,33.29733],[102.937674,33.297289],[102.937399,33.29716],[102.937273,33.297062],[102.937232,33.29703],[102.937125,33.297011],[102.936976,33.29701],[102.936903,33.297018],[102.936718,33.29704],[102.936483,33.297054],[102.936248,33.297037],[102.936162,33.297031],[102.93602,33.297012],[102.936014,33.297011],[102.935908,33.296937],[102.935869,33.296793],[102.935853,33.296541],[102.935927,33.296112],[102.935934,33.296077],[102.935977,33.295827],[102.936002,33.295683],[102.935985,33.295521],[102.935945,33.295359],[102.935929,33.295336],[102.935884,33.295268],[102.935849,33.295257],[102.935649,33.295193],[102.935308,33.295169],[102.934988,33.29524],[102.934977,33.295243],[102.93491,33.295258],[102.934513,33.295346],[102.934115,33.295434],[102.933834,33.295483],[102.933428,33.295513],[102.933065,33.295506],[102.932787,33.295511],[102.932509,33.295515],[102.932245,33.295531],[102.93198,33.295548],[102.931716,33.295565],[102.931452,33.295581],[102.931188,33.295598],[102.930924,33.295614],[102.930658,33.29562],[102.930392,33.295626],[102.930126,33.295632],[102.92986,33.295637],[102.929595,33.295643],[102.929329,33.295649],[102.929063,33.295655],[102.928797,33.295661],[102.928531,33.295666],[102.928265,33.295672],[102.927999,33.295678],[102.927733,33.295684],[102.927467,33.295689],[102.927202,33.295695],[102.926962,33.295714],[102.926723,33.295733],[102.926483,33.295752],[102.926244,33.295771],[102.926004,33.29579],[102.925765,33.295809],[102.925526,33.295828],[102.925286,33.295847],[102.925047,33.295866],[102.924807,33.295885],[102.924572,33.295906],[102.924336,33.295928],[102.9241,33.295949],[102.923865,33.29597],[102.923629,33.295991],[102.923393,33.296013],[102.923158,33.296034],[102.922922,33.296055],[102.922686,33.296076],[102.922451,33.296097],[102.922066,33.29609],[102.921766,33.296122],[102.921535,33.296118],[102.921303,33.296114],[102.921071,33.29611],[102.921019,33.296109],[102.920946,33.295986],[102.92071,33.295589],[102.920666,33.295516],[102.92063,33.295457],[102.92057,33.295515],[102.920493,33.295573],[102.920416,33.29558],[102.920307,33.295606],[102.92021,33.295614],[102.920094,33.295609],[102.920055,33.295598],[102.920026,33.295557],[102.920021,33.295494],[102.920028,33.295426],[102.920066,33.295363],[102.9201,33.295312],[102.920147,33.295233],[102.920174,33.295158],[102.920226,33.295043],[102.920329,33.294973],[102.92035,33.294943],[102.92039,33.294918],[102.920443,33.294912],[102.920476,33.294921],[102.920524,33.294925],[102.920547,33.294919],[102.920584,33.294903],[102.920621,33.294895],[102.920652,33.294904],[102.920664,33.294929],[102.920685,33.294959],[102.920713,33.294983],[102.920757,33.295015],[102.920799,33.295032],[102.920874,33.295036],[102.920962,33.29493],[102.92125,33.294756],[102.921339,33.294614],[102.921283,33.294565],[102.921041,33.294573],[102.920786,33.294569],[102.920603,33.294483],[102.920567,33.294497],[102.920537,33.294543],[102.920524,33.294569],[102.920504,33.294597],[102.92046,33.294618],[102.920409,33.294639],[102.920341,33.29463],[102.920188,33.294747],[102.920008,33.294696],[102.919901,33.294644],[102.919821,33.294617],[102.919662,33.294607],[102.919532,33.29459],[102.919364,33.29455],[102.91929,33.294488],[102.919245,33.294396],[102.91927,33.294281],[102.919316,33.294215],[102.919384,33.294087],[102.919388,33.29395],[102.919345,33.29385],[102.91929,33.293746],[102.919194,33.293638],[102.919071,33.293562],[102.918996,33.293508],[102.918977,33.293403],[102.918998,33.293294],[102.919032,33.293128],[102.919007,33.292947],[102.918917,33.292834],[102.918913,33.292696],[102.918741,33.29242],[102.897857,33.258822],[102.896783,33.257095],[102.896639,33.256863],[102.896195,33.256149],[102.895862,33.255613],[102.895851,33.255654],[102.895852,33.25568],[102.895853,33.255707],[102.895862,33.25574],[102.895877,33.255776],[102.895879,33.255821],[102.895875,33.255844],[102.895863,33.255849],[102.895843,33.255845],[102.89583,33.255811],[102.895805,33.255748],[102.895788,33.25571],[102.895782,33.255703],[102.895771,33.255693],[102.895762,33.255691],[102.89575,33.255705],[102.895744,33.255718],[102.895726,33.255718],[102.895713,33.2557],[102.895714,33.25568],[102.895716,33.25565],[102.895732,33.255602],[102.895741,33.255564],[102.895741,33.255526],[102.895739,33.255484],[102.895736,33.255445],[102.895721,33.255386],[102.894255,33.253026],[102.894194,33.252928],[102.894085,33.252752],[102.894068,33.252726],[102.894157,33.252639],[102.894164,33.252633],[102.8946,33.252208],[102.895065,33.251667],[102.895108,33.251635],[102.895215,33.251553],[102.895229,33.251543],[102.895287,33.251499],[102.895287,33.251103],[102.895342,33.250815],[102.895498,33.250669],[102.895741,33.250662],[102.895913,33.250906],[102.895998,33.251345],[102.896089,33.25161],[102.896213,33.25182],[102.89637,33.251827],[102.896494,33.251712],[102.896725,33.251494],[102.897016,33.251388],[102.897627,33.251277],[102.898378,33.251233],[102.899016,33.251156],[102.899726,33.251142],[102.899824,33.251013],[102.899654,33.250625],[102.899372,33.250204],[102.898974,33.249935],[102.898817,33.249805],[102.898936,33.249619],[102.899288,33.249309],[102.899403,33.2491],[102.899431,33.248606],[102.899398,33.248322],[102.899276,33.248081],[102.899047,33.247929],[102.898386,33.247744],[102.89805,33.247686],[102.897828,33.247606],[102.89772,33.247506],[102.897746,33.24737],[102.897862,33.247193],[102.898144,33.24697],[102.898129,33.246865],[102.897822,33.246552],[102.897529,33.24623],[102.897341,33.246041],[102.897115,33.245915],[102.896799,33.245863],[102.896189,33.245865],[102.895906,33.245939],[102.895818,33.246078],[102.895895,33.246229],[102.896273,33.246549],[102.896449,33.246828],[102.896394,33.246997],[102.896192,33.247056],[102.89582,33.246931],[102.895398,33.24658],[102.895153,33.246499],[102.894883,33.246468],[102.893818,33.246548],[102.893311,33.246555],[102.892784,33.24648],[102.892439,33.24628],[102.892141,33.245979],[102.892149,33.245779],[102.892226,33.245703],[102.89241,33.245672],[102.893459,33.245776],[102.894022,33.245742],[102.894264,33.245594],[102.89429,33.245438],[102.893923,33.244959],[102.893426,33.244428],[102.893113,33.244172],[102.892716,33.243995],[102.892504,33.243968],[102.892258,33.244044],[102.891645,33.244558],[102.891293,33.244869],[102.890887,33.245127],[102.890317,33.2452],[102.889802,33.245114],[102.889557,33.244944],[102.889654,33.244733],[102.889853,33.244604],[102.890562,33.244241],[102.891163,33.24389],[102.891935,33.243422],[102.892283,33.243067],[102.892435,33.242723],[102.892356,33.242473],[102.892056,33.242296],[102.891472,33.242111],[102.891057,33.242077],[102.890848,33.242154],[102.890742,33.242299],[102.890757,33.242475],[102.89107,33.242802],[102.891251,33.243046],[102.891266,33.243225],[102.891113,33.243297],[102.890846,33.243211],[102.890503,33.243012],[102.890284,33.242971],[102.889892,33.24299],[102.889383,33.243044],[102.889181,33.243007],[102.889042,33.242905],[102.889041,33.242784],[102.88931,33.242391],[102.889561,33.242176],[102.889737,33.241851],[102.889703,33.241628],[102.889574,33.241516],[102.889379,33.241501],[102.888687,33.241701],[102.887805,33.24201],[102.88727,33.242238],[102.887023,33.242332],[102.886869,33.242297],[102.886872,33.242161],[102.886906,33.241905],[102.886971,33.241722],[102.887066,33.241559],[102.887068,33.241412],[102.886962,33.241286],[102.886625,33.241094],[102.885931,33.240851],[102.884848,33.240541],[102.884194,33.240336],[102.883846,33.240162],[102.883863,33.239882],[102.884024,33.239736],[102.884398,33.239742],[102.88507,33.239879],[102.88529,33.239803],[102.885351,33.239348],[102.885333,33.238752],[102.885324,33.238343],[102.88524,33.23813],[102.885012,33.238159],[102.884742,33.23831],[102.884537,33.238525],[102.884197,33.238521],[102.883384,33.238282],[102.88296,33.238079],[102.882744,33.237793],[102.882795,33.237591],[102.883055,33.237506],[102.883727,33.237662],[102.884345,33.23784],[102.884622,33.237852],[102.885069,33.23768],[102.885254,33.237528],[102.885354,33.237343],[102.885294,33.237065],[102.885068,33.236788],[102.884594,33.236461],[102.884376,33.236331],[102.884382,33.236088],[102.884464,33.235773],[102.884645,33.235591],[102.884805,33.235541],[102.885037,33.235579],[102.885224,33.235722],[102.885424,33.235934],[102.885538,33.236025],[102.885654,33.235997],[102.88575,33.235887],[102.885894,33.235239],[102.886005,33.234933],[102.886336,33.234504],[102.886645,33.234228],[102.886818,33.234178],[102.886993,33.234245],[102.886945,33.234411],[102.886779,33.234708],[102.886697,33.234862],[102.886755,33.234968],[102.887152,33.235156],[102.887839,33.235474],[102.888223,33.235521],[102.888621,33.235487],[102.888952,33.235426],[102.889301,33.235258],[102.889469,33.235083],[102.889447,33.234878],[102.889308,33.23478],[102.888722,33.234691],[102.888403,33.234632],[102.888307,33.234524],[102.888388,33.234381],[102.888742,33.234203],[102.889417,33.233794],[102.889766,33.233494],[102.89004,33.233276],[102.890233,33.233132],[102.890171,33.232977],[102.889832,33.232529],[102.889523,33.232236],[102.889355,33.232205],[102.889187,33.232291],[102.889106,33.232582],[102.889023,33.232847],[102.888415,33.233116],[102.887654,33.233339],[102.887288,33.233387],[102.88697,33.23345],[102.886677,33.233472],[102.886338,33.233358],[102.886143,33.233207],[102.886112,33.233058],[102.886205,33.232957],[102.886515,33.232891],[102.88683,33.232844],[102.887074,33.232833],[102.887254,33.232817],[102.887353,33.232666],[102.887334,33.232467],[102.887173,33.231934],[102.887065,33.231665],[102.88693,33.231496],[102.886753,33.231426],[102.886469,33.231435],[102.885966,33.23162],[102.885497,33.231744],[102.885261,33.231703],[102.88518,33.231593],[102.885255,33.231377],[102.885533,33.230879],[102.886141,33.230177],[102.886318,33.23],[102.886355,33.22985],[102.886169,33.229821],[102.885683,33.229834],[102.885304,33.229768],[102.884872,33.22964],[102.884605,33.229554],[102.884403,33.229662],[102.88417,33.230331],[102.8839,33.230826],[102.883645,33.230958],[102.883432,33.230886],[102.883041,33.230494],[102.882805,33.229593],[102.88273,33.229128],[102.882816,33.228726],[102.882999,33.228686],[102.883219,33.22881],[102.883596,33.229144],[102.884144,33.229267],[102.884948,33.229353],[102.885909,33.229402],[102.886361,33.229416],[102.88671,33.229269],[102.88681,33.229111],[102.886771,33.228909],[102.886503,33.228746],[102.886237,33.228639],[102.886162,33.227884],[102.886061,33.226983],[102.885872,33.226623],[102.885606,33.226216],[102.885578,33.225929],[102.885743,33.225722],[102.886035,33.225567],[102.88636,33.225543],[102.886656,33.225617],[102.886748,33.225892],[102.886835,33.226434],[102.886993,33.22674],[102.887502,33.227143],[102.887689,33.227256],[102.887977,33.227336],[102.888141,33.227232],[102.888423,33.226394],[102.88868,33.225783],[102.888766,33.225625],[102.888722,33.225427],[102.888442,33.225208],[102.88793,33.224916],[102.887719,33.22489],[102.887335,33.224988],[102.886773,33.225222],[102.886652,33.225178],[102.886656,33.224978],[102.886881,33.224173],[102.887083,33.223284],[102.887351,33.222323],[102.88735,33.222165],[102.887182,33.222059],[102.886929,33.222156],[102.886486,33.222829],[102.886025,33.223404],[102.885738,33.223582],[102.885456,33.223606],[102.885301,33.223496],[102.885317,33.223368],[102.88569,33.223094],[102.88598,33.222849],[102.885982,33.22267],[102.885777,33.222554],[102.885279,33.222559],[102.884879,33.222571],[102.88469,33.222463],[102.884594,33.222066],[102.884611,33.221624],[102.884615,33.221397],[102.884587,33.221201],[102.884507,33.220964],[102.884458,33.220786],[102.884372,33.220649],[102.884236,33.22061],[102.884003,33.220622],[102.883763,33.220655],[102.883571,33.220592],[102.883136,33.220489],[102.882813,33.22048],[102.882516,33.220616],[102.882309,33.220678],[102.881724,33.220602],[102.881418,33.220599],[102.881144,33.220709],[102.880946,33.220894],[102.880773,33.221087],[102.88056,33.221167],[102.880412,33.221079],[102.880425,33.22094],[102.880496,33.220597],[102.880538,33.220309],[102.880419,33.219811],[102.880335,33.219572],[102.880109,33.219437],[102.879722,33.219436],[102.879485,33.219508],[102.879404,33.219671],[102.879434,33.220021],[102.87951,33.220405],[102.879482,33.220651],[102.879335,33.220916],[102.879037,33.221043],[102.878608,33.220927],[102.878093,33.220621],[102.877952,33.220433],[102.878032,33.220276],[102.878397,33.220148],[102.878605,33.220041],[102.878635,33.219896],[102.878208,33.219444],[102.87769,33.218967],[102.877591,33.218741],[102.877646,33.218529],[102.877835,33.218388],[102.878276,33.218302],[102.878636,33.218257],[102.878788,33.218144],[102.878813,33.21783],[102.878655,33.217627],[102.878452,33.217475],[102.878134,33.217403],[102.877422,33.217525],[102.876919,33.217639],[102.876517,33.21763],[102.876438,33.217628],[102.875901,33.217478],[102.875468,33.217255],[102.87526,33.217109],[102.87527,33.216943],[102.875401,33.216764],[102.876018,33.216626],[102.876501,33.216491],[102.876742,33.21636],[102.876791,33.216186],[102.876764,33.21598],[102.876598,33.215851],[102.875718,33.215945],[102.875222,33.215942],[102.87456,33.215623],[102.874043,33.215262],[102.873798,33.214896],[102.873742,33.214479],[102.873825,33.214297],[102.874007,33.214233],[102.874311,33.214335],[102.874663,33.214707],[102.875188,33.215411],[102.87548,33.215566],[102.87584,33.215588],[102.876453,33.215431],[102.876838,33.215236],[102.877047,33.214934],[102.876906,33.21466],[102.876602,33.214694],[102.876039,33.214946],[102.875677,33.214959],[102.875557,33.214765],[102.875865,33.214363],[102.876054,33.214189],[102.876171,33.213722],[102.876195,33.213451],[102.876081,33.213211],[102.876145,33.213003],[102.876289,33.212859],[102.876722,33.212873],[102.876725,33.213034],[102.876565,33.213449],[102.876528,33.213858],[102.876716,33.214141],[102.877072,33.214298],[102.877576,33.214323],[102.877638,33.214136],[102.877595,33.213788],[102.87748,33.213354],[102.877485,33.213115],[102.87759,33.212991],[102.87789,33.21295],[102.878588,33.213428],[102.878894,33.213612],[102.879436,33.213658],[102.879743,33.213542],[102.879914,33.213325],[102.879963,33.213079],[102.879793,33.212787],[102.879453,33.212491],[102.878935,33.212246],[102.878578,33.212178],[102.878098,33.212251],[102.87745,33.212346],[102.876911,33.212229],[102.876879,33.212038],[102.876957,33.211928],[102.877611,33.211889],[102.878261,33.211904],[102.878795,33.211747],[102.879264,33.211475],[102.879335,33.211228],[102.879219,33.210952],[102.878891,33.210734],[102.87822,33.211259],[102.877831,33.211528],[102.877482,33.211476],[102.877371,33.211157],[102.877402,33.21071],[102.87749,33.210271],[102.877638,33.210067],[102.878036,33.210041],[102.878486,33.210202],[102.878665,33.210143],[102.878609,33.209555],[102.878707,33.208739],[102.87839,33.208345],[102.878047,33.208411],[102.87784,33.208646],[102.877606,33.20926],[102.877352,33.20954],[102.877007,33.209719],[102.876614,33.209746],[102.876555,33.20959],[102.876723,33.209343],[102.877053,33.208925],[102.877327,33.208604],[102.877455,33.208384],[102.877392,33.208067],[102.877028,33.207618],[102.876904,33.207495],[102.876816,33.207255],[102.876899,33.207062],[102.877276,33.207013],[102.877598,33.20697],[102.877948,33.206934],[102.87815,33.206971],[102.878141,33.207131],[102.878058,33.207389],[102.878146,33.207542],[102.878347,33.207519],[102.878863,33.207368],[102.879435,33.207332],[102.880327,33.207389],[102.880866,33.207459],[102.88148,33.207627],[102.88177,33.207706],[102.881954,33.207666],[102.882086,33.207533],[102.882021,33.207197],[102.881807,33.206692],[102.881599,33.20656],[102.88097,33.206753],[102.880786,33.206708],[102.880653,33.206459],[102.880437,33.206174],[102.880042,33.205948],[102.879475,33.205672],[102.879447,33.205494],[102.879562,33.205345],[102.880021,33.205196],[102.88027,33.205071],[102.880229,33.204905],[102.879752,33.204771],[102.879455,33.204408],[102.879244,33.204007],[102.879305,33.203841],[102.879562,33.203741],[102.879794,33.203701],[102.879948,33.20361],[102.88006,33.203396],[102.880178,33.203187],[102.880336,33.203098],[102.880498,33.20312],[102.88073,33.203266],[102.881129,33.20364],[102.881377,33.203707],[102.881774,33.203669],[102.881906,33.203546],[102.881841,33.2034],[102.881566,33.20326],[102.881335,33.203136],[102.881126,33.202932],[102.880912,33.202619],[102.880859,33.202455],[102.880979,33.202245],[102.881229,33.202132],[102.881393,33.202143],[102.881501,33.202238],[102.881583,33.202584],[102.881688,33.202817],[102.881961,33.2029],[102.882372,33.202846],[102.88274,33.202735],[102.882941,33.2026],[102.883038,33.202385],[102.883051,33.202162],[102.882907,33.201918],[102.882693,33.201699],[102.882604,33.201581],[102.882159,33.20152],[102.881844,33.201388],[102.881786,33.201224],[102.881928,33.20102],[102.882102,33.200846],[102.882119,33.200652],[102.881942,33.200578],[102.881327,33.200729],[102.880923,33.200765],[102.880722,33.200646],[102.88065,33.2005],[102.880801,33.20031],[102.881012,33.200122],[102.881181,33.19999],[102.881179,33.199804],[102.880946,33.19957],[102.880336,33.199244],[102.879953,33.199189],[102.879372,33.199172],[102.879215,33.19896],[102.879259,33.19879],[102.87966,33.198478],[102.879742,33.198317],[102.879687,33.198165],[102.879058,33.198093],[102.878364,33.198178],[102.878042,33.198175],[102.877907,33.198012],[102.877974,33.197868],[102.878233,33.197725],[102.878398,33.197604],[102.878504,33.197386],[102.878419,33.197029],[102.878042,33.196635],[102.877707,33.196482],[102.877256,33.196444],[102.877068,33.196344],[102.877071,33.196216],[102.877212,33.196114],[102.877387,33.196029],[102.877485,33.195929],[102.87745,33.1958],[102.877286,33.195692],[102.877035,33.195574],[102.876999,33.195394],[102.87714,33.195287],[102.877598,33.195196],[102.877983,33.19503],[102.878249,33.194794],[102.878267,33.19459],[102.878099,33.194368],[102.877701,33.194402],[102.877191,33.194468],[102.876882,33.194419],[102.876879,33.194242],[102.877164,33.193916],[102.877537,33.19345],[102.877772,33.193017],[102.877897,33.192712],[102.877707,33.192285],[102.877449,33.192332],[102.877415,33.19263],[102.877451,33.192989],[102.877263,33.1933],[102.877043,33.193372],[102.876812,33.193258],[102.876817,33.192882],[102.876719,33.192525],[102.876395,33.192531],[102.87614,33.192925],[102.875919,33.193122],[102.875286,33.1932],[102.874933,33.193129],[102.874901,33.192999],[102.875157,33.192781],[102.875536,33.192611],[102.875701,33.192389],[102.875511,33.192157],[102.875228,33.19206],[102.874645,33.19205],[102.874508,33.191868],[102.874351,33.191556],[102.873942,33.191373],[102.87376,33.191274],[102.873756,33.19115],[102.874168,33.190886],[102.874562,33.19054],[102.874874,33.190339],[102.874902,33.190154],[102.874778,33.189949],[102.874436,33.189882],[102.874092,33.189954],[102.873812,33.189904],[102.873707,33.189662],[102.873724,33.189367],[102.873936,33.188647],[102.874013,33.188298],[102.873879,33.188068],[102.873641,33.188082],[102.87347,33.188385],[102.873336,33.188737],[102.873122,33.188904],[102.87286,33.188897],[102.872783,33.188895],[102.872461,33.188719],[102.872397,33.188704],[102.872182,33.188655],[102.872009,33.188515],[102.872055,33.188207],[102.872107,33.187895],[102.872124,33.187605],[102.872207,33.187451],[102.872172,33.187269],[102.872046,33.187197],[102.871766,33.187247],[102.871574,33.187525],[102.871402,33.187851],[102.871219,33.187862],[102.871106,33.187748],[102.870958,33.187566],[102.870774,33.18752],[102.870545,33.187568],[102.87034,33.187774],[102.870106,33.187997],[102.869903,33.188075],[102.869765,33.188021],[102.869735,33.187858],[102.869847,33.187687],[102.870022,33.187494],[102.870056,33.187295],[102.869943,33.187205],[102.869645,33.187264],[102.869403,33.187321],[102.869186,33.187254],[102.869012,33.187142],[102.86901,33.186978],[102.868996,33.186802],[102.868873,33.186657],[102.868261,33.186406],[102.867811,33.186257],[102.867636,33.186342],[102.867559,33.186512],[102.867654,33.18676],[102.867821,33.187109],[102.86795,33.187698],[102.868124,33.187929],[102.868295,33.188021],[102.868247,33.188182],[102.867978,33.188293],[102.867667,33.188406],[102.867612,33.188564],[102.867732,33.188688],[102.868062,33.188988],[102.868087,33.189224],[102.868,33.189369],[102.867759,33.18938],[102.867363,33.189134],[102.8669,33.188803],[102.866306,33.188392],[102.866066,33.188317],[102.86585,33.188391],[102.865865,33.188487],[102.866085,33.188669],[102.866163,33.188845],[102.866046,33.189096],[102.865637,33.18949],[102.865233,33.189854],[102.865188,33.190118],[102.865304,33.19031],[102.865726,33.190372],[102.866222,33.190423],[102.866556,33.190579],[102.866997,33.19073],[102.867154,33.190942],[102.867118,33.191274],[102.866913,33.191579],[102.866537,33.191707],[102.865916,33.191681],[102.865572,33.191543],[102.865437,33.191342],[102.865354,33.191015],[102.86515,33.19083],[102.864723,33.19076],[102.864323,33.19085],[102.864031,33.191048],[102.863653,33.19119],[102.863189,33.191131],[102.862945,33.190957],[102.86302,33.190831],[102.863271,33.190752],[102.863618,33.190695],[102.863695,33.190473],[102.863689,33.189923],[102.863899,33.18961],[102.864033,33.189344],[102.863892,33.189149],[102.863676,33.189272],[102.863532,33.189559],[102.863164,33.189458],[102.862897,33.189376],[102.862522,33.189389],[102.862218,33.189396],[102.861854,33.189231],[102.861396,33.188919],[102.860739,33.18882],[102.860373,33.188691],[102.860301,33.188496],[102.860288,33.188138],[102.860062,33.187779],[102.859741,33.187323],[102.859393,33.18688],[102.859235,33.186823],[102.858977,33.18702],[102.858746,33.187039],[102.858638,33.186848],[102.858553,33.186566],[102.858294,33.186339],[102.857964,33.186082],[102.857712,33.186129],[102.857578,33.186476],[102.857428,33.186812],[102.857288,33.186878],[102.857127,33.186833],[102.85706,33.186716],[102.856954,33.186002],[102.856835,33.185578],[102.856712,33.185359],[102.856502,33.185369],[102.856291,33.185584],[102.856065,33.185865],[102.855846,33.185837],[102.855861,33.185676],[102.856055,33.18546],[102.856193,33.185223],[102.856161,33.185002],[102.855977,33.184947],[102.85541,33.185052],[102.855164,33.185104],[102.854868,33.18493],[102.854544,33.184654],[102.854266,33.184372],[102.853971,33.184332],[102.853548,33.184514],[102.853386,33.184747],[102.853271,33.185035],[102.853149,33.185151],[102.852927,33.185096],[102.85259,33.184497],[102.852272,33.184126],[102.851538,33.184096],[102.851029,33.184095],[102.850819,33.183976],[102.850898,33.183715],[102.851108,33.18347],[102.851651,33.183053],[102.851841,33.182918],[102.851944,33.182979],[102.852051,33.18333],[102.85214,33.183616],[102.852448,33.183722],[102.852772,33.18371],[102.853136,33.183586],[102.853239,33.183504],[102.85319,33.183439],[102.852919,33.183342],[102.852804,33.18326],[102.852761,33.183031],[102.852691,33.18277],[102.852552,33.182487],[102.852549,33.182296],[102.852663,33.182093],[102.852848,33.181963],[102.853024,33.181977],[102.853154,33.182295],[102.853336,33.182695],[102.853636,33.182961],[102.853893,33.183215],[102.854064,33.183327],[102.854177,33.183334],[102.854236,33.183283],[102.85431,33.183057],[102.854372,33.182789],[102.854584,33.182508],[102.854597,33.182196],[102.854615,33.181885],[102.854627,33.181643],[102.854435,33.181477],[102.854056,33.181274],[102.853915,33.181135],[102.853887,33.181026],[102.853948,33.180836],[102.854027,33.180679],[102.854121,33.18066],[102.854372,33.180787],[102.854603,33.180874],[102.85484,33.180846],[102.854965,33.180722],[102.854971,33.180526],[102.854888,33.180189],[102.854819,33.179859],[102.854861,33.17962],[102.855038,33.179555],[102.855208,33.179613],[102.855286,33.179729],[102.8552,33.179943],[102.855175,33.180115],[102.855288,33.180313],[102.855445,33.180412],[102.855702,33.180375],[102.85608,33.18014],[102.856415,33.179975],[102.856454,33.179801],[102.856238,33.17942],[102.855804,33.179088],[102.855364,33.178674],[102.855138,33.178474],[102.854903,33.178352],[102.854849,33.178117],[102.854894,33.177926],[102.855164,33.177819],[102.855763,33.177666],[102.856151,33.177578],[102.856483,33.177428],[102.856698,33.177297],[102.85676,33.177042],[102.856723,33.176825],[102.856598,33.176491],[102.856289,33.176468],[102.855851,33.176542],[102.855665,33.176531],[102.855556,33.176287],[102.855606,33.176157],[102.856038,33.176036],[102.856167,33.175862],[102.856057,33.175644],[102.855541,33.175322],[102.855369,33.175146],[102.855425,33.17492],[102.855619,33.174788],[102.856024,33.174698],[102.856441,33.174547],[102.856567,33.174424],[102.856708,33.174051],[102.856968,33.173815],[102.857242,33.173623],[102.857395,33.173369],[102.857299,33.173132],[102.857016,33.173076],[102.856714,33.173269],[102.856494,33.173635],[102.856328,33.173994],[102.856179,33.174188],[102.85594,33.174207],[102.855776,33.174117],[102.855707,33.17396],[102.855719,33.173823],[102.855868,33.173689],[102.856137,33.173504],[102.856217,33.17329],[102.856086,33.173109],[102.855663,33.172954],[102.855221,33.172888],[102.854684,33.172877],[102.854534,33.17279],[102.854494,33.172654],[102.854404,33.172652],[102.85435,33.172652],[102.854332,33.173127],[102.854302,33.173219],[102.854238,33.173342],[102.853906,33.173709],[102.85351,33.174122],[102.853463,33.174094],[102.853418,33.174068],[102.852959,33.173695],[102.852582,33.173393],[102.852331,33.173199],[102.852301,33.173148],[102.852237,33.173137],[102.852192,33.173125],[102.85214,33.173095],[102.852099,33.173051],[102.852082,33.173006],[102.852073,33.172976],[102.852058,33.172935],[102.852044,33.172905],[102.85213,33.172768],[102.852718,33.172623],[102.853644,33.17233],[102.854049,33.172126],[102.85433,33.171874],[102.854426,33.171789],[102.854437,33.171779],[102.854511,33.171713],[102.854901,33.171467],[102.855005,33.171286],[102.855041,33.171202],[102.855157,33.171219],[102.855461,33.171429],[102.855469,33.171435],[102.855523,33.171488],[102.855532,33.171497],[102.855575,33.171539],[102.855642,33.171499],[102.855636,33.171369],[102.855686,33.171148],[102.855806,33.170955],[102.855947,33.17082],[102.856081,33.170778],[102.856186,33.170805],[102.856257,33.170989],[102.856113,33.171284],[102.856043,33.171431],[102.85606,33.171533],[102.856245,33.171608],[102.85629,33.17162],[102.856267,33.171576],[102.856317,33.171582],[102.856331,33.171578],[102.856337,33.171558],[102.856336,33.171525],[102.85633,33.171511],[102.85631,33.171476],[102.856287,33.171378],[102.85628,33.171261],[102.856289,33.171179],[102.856312,33.171128],[102.856314,33.171125],[102.856339,33.171101],[102.856363,33.171088],[102.856393,33.17108],[102.85643,33.17108],[102.856459,33.171087],[102.856492,33.171103],[102.856514,33.17112],[102.856562,33.171184],[102.856601,33.171244],[102.856675,33.171325],[102.856761,33.171403],[102.85679,33.171408],[102.856807,33.171396],[102.856807,33.171369],[102.856801,33.171337],[102.856786,33.171303],[102.856779,33.171275],[102.856777,33.171246],[102.856805,33.171211],[102.856845,33.171171],[102.856903,33.171114],[102.85694,33.171077],[102.856957,33.17105],[102.856946,33.170997],[102.856935,33.170937],[102.856924,33.170884],[102.856924,33.170825],[102.856938,33.170765],[102.856957,33.170714],[102.856962,33.170674],[102.856962,33.170616],[102.856957,33.170575],[102.85694,33.170544],[102.856898,33.17051],[102.856807,33.170497],[102.856712,33.170487],[102.856585,33.170469],[102.856386,33.170435],[102.856287,33.17043],[102.856173,33.170398],[102.856108,33.17036],[102.85609,33.170345],[102.856063,33.170315],[102.85605,33.170283],[102.856049,33.170249],[102.856064,33.170227],[102.856097,33.170204],[102.856143,33.170184],[102.856186,33.17017],[102.856207,33.170157],[102.856233,33.170104],[102.85626,33.170055],[102.856315,33.170021],[102.856364,33.170004],[102.856442,33.169986],[102.85653,33.169983],[102.856572,33.169987],[102.856613,33.170009],[102.85666,33.170041],[102.856697,33.17006],[102.856735,33.170068],[102.856783,33.170071],[102.856835,33.170071],[102.856879,33.170054],[102.856916,33.170026],[102.856942,33.169997],[102.856947,33.169976],[102.856944,33.169959],[102.856928,33.169946],[102.856891,33.169935],[102.856839,33.16992],[102.856788,33.169907],[102.856709,33.169865],[102.856671,33.169839],[102.856625,33.169799],[102.856601,33.169763],[102.856589,33.169718],[102.856585,33.169674],[102.856597,33.169639],[102.856641,33.169596],[102.856683,33.169562],[102.856704,33.169532],[102.856706,33.169484],[102.856692,33.169455],[102.856653,33.16942],[102.856612,33.169411],[102.856552,33.169407],[102.856501,33.169407],[102.856448,33.169426],[102.856363,33.169483],[102.856326,33.169505],[102.856274,33.169541],[102.856246,33.16956],[102.856212,33.16957],[102.856156,33.169578],[102.856104,33.169579],[102.856061,33.169569],[102.856027,33.169536],[102.855999,33.169492],[102.85598,33.169407],[102.855948,33.16934],[102.855918,33.169305],[102.85589,33.169255],[102.855874,33.169204],[102.855865,33.169169],[102.855842,33.169141],[102.85581,33.169145],[102.855764,33.169166],[102.855712,33.169172],[102.855675,33.169172],[102.855528,33.169169],[102.855521,33.16917],[102.855477,33.169174],[102.855413,33.16919],[102.855382,33.169193],[102.855341,33.169185],[102.855296,33.169159],[102.855252,33.169131],[102.85521,33.169108],[102.855195,33.169088],[102.855186,33.169059],[102.855192,33.169022],[102.855212,33.168993],[102.855245,33.168964],[102.855308,33.16893],[102.855409,33.168881],[102.855466,33.168844],[102.855513,33.168811],[102.855595,33.168758],[102.855594,33.168696],[102.855583,33.168693],[102.855547,33.168681],[102.855518,33.168681],[102.855457,33.168681],[102.855403,33.168671],[102.855358,33.168637],[102.855329,33.168594],[102.855319,33.168555],[102.85532,33.16852],[102.855337,33.168482],[102.855371,33.168453],[102.855406,33.168438],[102.855463,33.168429],[102.855538,33.16843],[102.855609,33.168429],[102.85572,33.168431],[102.855734,33.168435],[102.855756,33.168447],[102.855788,33.168459],[102.855817,33.168462],[102.855838,33.168458],[102.855857,33.168446],[102.85587,33.168433],[102.855949,33.168487],[102.855983,33.168388],[102.855992,33.168367],[102.856004,33.168361],[102.856021,33.168364],[102.856034,33.168371],[102.856094,33.168422],[102.856149,33.168464],[102.85618,33.168471],[102.856219,33.168475],[102.856263,33.168472],[102.856297,33.168464],[102.856326,33.168455],[102.856354,33.168429],[102.856371,33.168405],[102.856378,33.16838],[102.856379,33.168347],[102.856373,33.16831],[102.856368,33.1683],[102.856349,33.168261],[102.856335,33.168224],[102.85632,33.16818],[102.856309,33.168124],[102.856313,33.168071],[102.856313,33.168053],[102.856312,33.168014],[102.856306,33.167983],[102.856292,33.167954],[102.856258,33.167899],[102.856256,33.167881],[102.856262,33.167865],[102.856278,33.167848],[102.856333,33.167814],[102.856354,33.167807],[102.8565,33.16775],[102.856545,33.167745],[102.856569,33.167743],[102.856592,33.167748],[102.856599,33.167758],[102.856603,33.167773],[102.856603,33.167797],[102.856595,33.167834],[102.856582,33.167874],[102.856551,33.167918],[102.856521,33.167951],[102.856449,33.168129],[102.856441,33.168165],[102.856444,33.168215],[102.856458,33.168259],[102.856489,33.168322],[102.856517,33.168351],[102.856574,33.168388],[102.856622,33.168396],[102.856693,33.168403],[102.85676,33.168403],[102.85681,33.168398],[102.856843,33.168379],[102.856859,33.168364],[102.856863,33.168345],[102.85686,33.168311],[102.85685,33.168257],[102.856841,33.168213],[102.85684,33.168189],[102.856843,33.168161],[102.856856,33.168134],[102.856872,33.168127],[102.856884,33.168128],[102.856926,33.16813],[102.856987,33.168142],[102.856966,33.168075],[102.856943,33.168003],[102.856908,33.167892],[102.856597,33.167662],[102.856167,33.167472],[102.855957,33.167187],[102.85588,33.166919],[102.855953,33.166653],[102.85634,33.166533],[102.8566,33.166584],[102.856625,33.166589],[102.856673,33.166599],[102.856691,33.166602],[102.856692,33.166568],[102.856688,33.166519],[102.856711,33.166475],[102.856746,33.166441],[102.85679,33.166425],[102.856835,33.166424],[102.856868,33.166425],[102.856906,33.166414],[102.85696,33.166411],[102.857132,33.16644],[102.857208,33.166477],[102.857252,33.166501],[102.857284,33.166519],[102.857291,33.166525],[102.857302,33.166535],[102.857309,33.166554],[102.857307,33.166574],[102.857276,33.166588],[102.857175,33.166641],[102.857104,33.166699],[102.85706,33.16675],[102.857039,33.166796],[102.857034,33.166819],[102.85703,33.166857],[102.857039,33.166879],[102.857051,33.166896],[102.857076,33.166912],[102.8571,33.166922],[102.857122,33.166926],[102.857643,33.167564],[102.857711,33.167647],[102.857718,33.167656],[102.857736,33.167605],[102.857777,33.16751],[102.857799,33.167465],[102.857825,33.16744],[102.857857,33.167432],[102.857942,33.167426],[102.858038,33.16743],[102.858071,33.167444],[102.858093,33.167467],[102.858114,33.167501],[102.85813,33.167542],[102.858139,33.16759],[102.858135,33.167654],[102.858095,33.167748],[102.858029,33.167835],[102.857972,33.167881],[102.857922,33.167907],[102.857931,33.167917],[102.857959,33.167952],[102.858248,33.16842],[102.858524,33.168762],[102.858712,33.169257],[102.859056,33.169544],[102.859239,33.169561],[102.859343,33.169437],[102.8594,33.169228],[102.859404,33.169211],[102.859409,33.169194],[102.859416,33.169167],[102.859616,33.169344],[102.859826,33.169508],[102.859929,33.169577],[102.860084,33.169589],[102.860213,33.169551],[102.860249,33.169469],[102.860098,33.169344],[102.859809,33.169103],[102.859713,33.168954],[102.859743,33.168882],[102.859907,33.168838],[102.860066,33.168801],[102.860218,33.168672],[102.860316,33.168625],[102.860453,33.168635],[102.860573,33.16873],[102.860881,33.168954],[102.861059,33.16906],[102.861351,33.169146],[102.861687,33.169168],[102.861936,33.169123],[102.862153,33.169042],[102.862234,33.168919],[102.862206,33.168813],[102.862067,33.168776],[102.861749,33.168787],[102.861583,33.168773],[102.861505,33.168555],[102.861402,33.168229],[102.861444,33.168095],[102.861512,33.168096],[102.861593,33.168154],[102.861677,33.168331],[102.861776,33.168376],[102.861926,33.168373],[102.862051,33.168323],[102.862176,33.168216],[102.862212,33.168096],[102.862188,33.167935],[102.862176,33.167832],[102.862227,33.167727],[102.862307,33.167643],[102.862477,33.167608],[102.86265,33.167623],[102.862764,33.167736],[102.862836,33.167979],[102.862874,33.168211],[102.862941,33.168382],[102.86302,33.168427],[102.86317,33.168344],[102.863342,33.168191],[102.863466,33.168173],[102.863676,33.168258],[102.864056,33.168472],[102.864278,33.168436],[102.864555,33.168273],[102.864779,33.168146],[102.864866,33.168042],[102.864756,33.167881],[102.864747,33.167748],[102.864819,33.167533],[102.864892,33.167447],[102.865339,33.167433],[102.865508,33.167464],[102.865703,33.16752],[102.866066,33.167791],[102.866426,33.167984],[102.866879,33.16811],[102.86713,33.168122],[102.867306,33.168085],[102.8675,33.167968],[102.86763,33.167738],[102.86762,33.167553],[102.867519,33.167525],[102.867305,33.167618],[102.867033,33.167719],[102.866774,33.167739],[102.866645,33.167692],[102.866659,33.167582],[102.866786,33.167427],[102.866766,33.167386],[102.866764,33.167381],[102.86676,33.167373],[102.866544,33.166939],[102.866131,33.165877],[102.865702,33.165501],[102.86546,33.165128],[102.865616,33.16495],[102.865665,33.164893],[102.865868,33.164661],[102.866586,33.164357],[102.866885,33.164063],[102.86706,33.16375],[102.867022,33.163591],[102.866848,33.163563],[102.866805,33.163586],[102.866747,33.163615],[102.866604,33.163657],[102.86647,33.163684],[102.866401,33.163689],[102.866274,33.163688],[102.866189,33.163679],[102.866129,33.163664],[102.866087,33.163638],[102.866067,33.16362],[102.866049,33.163623],[102.866019,33.163627],[102.865602,33.163567],[102.865361,33.163177],[102.865747,33.162779],[102.866115,33.162514],[102.866124,33.162507],[102.866102,33.162461],[102.86609,33.162408],[102.866091,33.162355],[102.866104,33.162299],[102.866144,33.162241],[102.866243,33.162176],[102.866373,33.162138],[102.866468,33.162123],[102.866534,33.162126],[102.866565,33.162137],[102.866571,33.16213],[102.866684,33.162022],[102.86663,33.16167],[102.866535,33.161265],[102.866454,33.161227],[102.866143,33.161082],[102.865944,33.161058],[102.865943,33.161156],[102.865898,33.161269],[102.865759,33.16138],[102.865705,33.161424],[102.865589,33.161469],[102.865401,33.161506],[102.86525,33.161519],[102.864999,33.161521],[102.864873,33.161516],[102.864783,33.161509],[102.864754,33.161533],[102.864355,33.161631],[102.863879,33.161447],[102.863574,33.161108],[102.863502,33.160633],[102.863574,33.160248],[102.863895,33.159937],[102.864074,33.159931],[102.864087,33.15993],[102.864097,33.15993],[102.864172,33.159927],[102.864195,33.159734],[102.864263,33.159523],[102.864366,33.159369],[102.864538,33.159352],[102.86477,33.159426],[102.864819,33.159546],[102.864648,33.159691],[102.864468,33.159805],[102.864448,33.159918],[102.864519,33.159978],[102.864647,33.159967],[102.8648,33.159867],[102.864926,33.159835],[102.865059,33.159868],[102.865293,33.159982],[102.865668,33.15994],[102.865844,33.159867],[102.865913,33.159812],[102.865897,33.159707],[102.865596,33.159537],[102.865281,33.159241],[102.865248,33.159128],[102.865324,33.159033],[102.865406,33.159015],[102.865422,33.158975],[102.865555,33.158631],[102.86563,33.158123],[102.865664,33.157596],[102.865764,33.156895],[102.86569,33.156508],[102.865472,33.156047],[102.864896,33.155651],[102.864531,33.155241],[102.864187,33.15476],[102.864053,33.154249],[102.863919,33.153772],[102.863801,33.153472],[102.863529,33.153375],[102.863523,33.153372],[102.863483,33.153358],[102.863418,33.153405],[102.863339,33.153423],[102.863233,33.153429],[102.863146,33.153478],[102.86303,33.153675],[102.862897,33.153876],[102.862698,33.154113],[102.862604,33.154185],[102.862501,33.154205],[102.862377,33.154192],[102.862288,33.154155],[102.862199,33.154105],[102.8622,33.154043],[102.86223,33.153974],[102.862327,33.153945],[102.86244,33.153904],[102.86254,33.153853],[102.862582,33.153802],[102.862541,33.153721],[102.862478,33.153719],[102.862326,33.153777],[102.862241,33.153789],[102.862159,33.153744],[102.861951,33.153617],[102.861786,33.153597],[102.861669,33.153586],[102.861568,33.153538],[102.861445,33.153399],[102.86138,33.153301],[102.861378,33.153225],[102.861412,33.153129],[102.861445,33.153084],[102.861501,33.153072],[102.861592,33.153088],[102.861669,33.153154],[102.861797,33.153295],[102.861934,33.15344],[102.862053,33.153518],[102.862172,33.153568],[102.862262,33.153572],[102.862355,33.153554],[102.862383,33.153511],[102.862346,33.153449],[102.862139,33.153353],[102.861932,33.153235],[102.861884,33.153142],[102.861933,33.15307],[102.861989,33.153035],[102.862068,33.153041],[102.862212,33.153072],[102.862355,33.153086],[102.862453,33.153064],[102.862465,33.153008],[102.862458,33.15295],[102.862352,33.15288],[102.862113,33.152775],[102.862011,33.152698],[102.861962,33.152606],[102.862004,33.152495],[102.862058,33.152421],[102.862075,33.152367],[102.862069,33.152279],[102.862069,33.152217],[102.862039,33.152125],[102.861971,33.15208],[102.861823,33.152065],[102.861664,33.152065],[102.861555,33.152114],[102.861509,33.152158],[102.861504,33.152214],[102.861546,33.152268],[102.861624,33.152334],[102.861647,33.152404],[102.861616,33.152473],[102.861549,33.152506],[102.861424,33.152514],[102.861298,33.152558],[102.861222,33.152602],[102.861199,33.152716],[102.861229,33.152841],[102.86129,33.152994],[102.861275,33.15311],[102.861209,33.153191],[102.861123,33.153199],[102.861085,33.15315],[102.861046,33.153017],[102.860979,33.15291],[102.860837,33.152894],[102.860474,33.152937],[102.860215,33.152977],[102.860054,33.153038],[102.859935,33.153071],[102.859868,33.153076],[102.859809,33.153063],[102.859773,33.153084],[102.859765,33.153089],[102.859653,33.153154],[102.859383,33.153097],[102.859159,33.152865],[102.859028,33.152578],[102.858981,33.152475],[102.858995,33.152278],[102.858998,33.152237],[102.859004,33.152152],[102.859012,33.152037],[102.859012,33.151914],[102.859011,33.15167],[102.859011,33.151654],[102.859011,33.151537],[102.85901,33.151264],[102.85898,33.150789],[102.858822,33.1504],[102.858096,33.150194],[102.857882,33.150306],[102.857872,33.150312],[102.857839,33.150329],[102.857815,33.150341],[102.857804,33.150347],[102.857314,33.150602],[102.856594,33.151029],[102.855902,33.15114],[102.855704,33.151558],[102.855693,33.151609],[102.855689,33.151627],[102.855697,33.151634],[102.85571,33.151645],[102.855729,33.151658],[102.855752,33.151676],[102.855774,33.151695],[102.855803,33.15173],[102.855824,33.151769],[102.85583,33.151806],[102.855829,33.151844],[102.855822,33.151871],[102.855806,33.151899],[102.855789,33.151913],[102.855746,33.151933],[102.855704,33.151944],[102.855684,33.151956],[102.855643,33.151981],[102.855608,33.152005],[102.855547,33.152032],[102.855457,33.152109],[102.85541,33.152176],[102.85544,33.152273],[102.855508,33.152364],[102.855379,33.15251],[102.855372,33.152518],[102.855307,33.152592],[102.855174,33.152744],[102.854841,33.152703],[102.854557,33.152364],[102.854651,33.151927],[102.854685,33.151383],[102.85451,33.150835],[102.854155,33.149986],[102.853415,33.148458],[102.8534,33.148427],[102.853204,33.147897],[102.853194,33.14744],[102.853354,33.147254],[102.853364,33.147242],[102.853387,33.147215],[102.8534,33.147209],[102.853313,33.147122],[102.853303,33.147027],[102.853351,33.146871],[102.853444,33.146772],[102.853561,33.146715],[102.853679,33.146759],[102.853843,33.146878],[102.854015,33.14711],[102.854104,33.147179],[102.854224,33.14718],[102.854312,33.147169],[102.854387,33.147135],[102.854392,33.147019],[102.854388,33.146909],[102.854436,33.146795],[102.854548,33.146725],[102.854734,33.146718],[102.854999,33.146813],[102.855105,33.146836],[102.855157,33.146821],[102.855235,33.146732],[102.855236,33.146616],[102.855192,33.146522],[102.855086,33.14641],[102.855055,33.146318],[102.85511,33.146201],[102.855179,33.146183],[102.855352,33.146178],[102.85545,33.146149],[102.855534,33.146069],[102.855653,33.146024],[102.855822,33.146085],[102.855956,33.146215],[102.855979,33.146311],[102.855919,33.14642],[102.855659,33.146507],[102.855495,33.146601],[102.855453,33.146737],[102.855498,33.146889],[102.855579,33.146957],[102.855717,33.14691],[102.855852,33.146782],[102.856006,33.146612],[102.856168,33.146517],[102.856284,33.146505],[102.856384,33.146497],[102.856472,33.146434],[102.856421,33.146351],[102.856377,33.146316],[102.856424,33.146239],[102.856477,33.146163],[102.856461,33.146098],[102.856332,33.146023],[102.856272,33.145942],[102.856248,33.145822],[102.856245,33.145579],[102.856239,33.145446],[102.85616,33.145378],[102.856066,33.145388],[102.856045,33.145471],[102.856094,33.145585],[102.856089,33.14567],[102.855974,33.145804],[102.855789,33.145868],[102.855599,33.145876],[102.855516,33.145842],[102.85554,33.145764],[102.855598,33.145652],[102.855613,33.145539],[102.855509,33.145482],[102.855225,33.145487],[102.854947,33.145547],[102.854776,33.145569],[102.85455,33.145567],[102.85439,33.145581],[102.854226,33.145579],[102.854034,33.145519],[102.853896,33.145411],[102.853781,33.145297],[102.853699,33.145148],[102.8537,33.145038],[102.853755,33.144926],[102.853837,33.14487],[102.853821,33.144845],[102.853817,33.144838],[102.853756,33.144743],[102.853749,33.144732],[102.85365,33.144798],[102.85354,33.144859],[102.853486,33.14488],[102.853441,33.144889],[102.85342,33.144891],[102.853389,33.144883],[102.853364,33.144872],[102.853336,33.144851],[102.85331,33.144793],[102.853263,33.144665],[102.853239,33.144635],[102.853213,33.144591],[102.853198,33.144572],[102.853181,33.144557],[102.853164,33.144545],[102.853148,33.144523],[102.853139,33.144507],[102.853134,33.144491],[102.853135,33.144481],[102.853092,33.144486],[102.853061,33.1445],[102.853022,33.144513],[102.852993,33.144536],[102.852982,33.144554],[102.852969,33.144585],[102.852957,33.144616],[102.852938,33.144657],[102.852936,33.144686],[102.852939,33.144708],[102.852951,33.144732],[102.852965,33.144764],[102.852932,33.144777],[102.852482,33.144951],[102.85227,33.145088],[102.852083,33.145032],[102.852192,33.144876],[102.852429,33.144564],[102.852716,33.143919],[102.853168,33.143365],[102.853763,33.142953],[102.854334,33.142629],[102.855242,33.142224],[102.855628,33.141791],[102.855825,33.141443],[102.855855,33.14104],[102.855716,33.140756],[102.855567,33.14069],[102.85556,33.140705],[102.855553,33.14073],[102.855528,33.140789],[102.855493,33.140839],[102.855441,33.140877],[102.855349,33.1409],[102.855249,33.140936],[102.855172,33.140954],[102.855143,33.140953],[102.855073,33.140935],[102.855063,33.140926],[102.855043,33.140907],[102.855021,33.140868],[102.855005,33.140816],[102.854985,33.140758],[102.854965,33.140707],[102.854951,33.140664],[102.854952,33.140618],[102.854982,33.140539],[102.854987,33.140525],[102.854948,33.140517],[102.854846,33.140495],[102.85473,33.140365],[102.854561,33.140174],[102.854537,33.139898],[102.854528,33.139805],[102.854451,33.13954],[102.854293,33.139168],[102.854186,33.139134],[102.854173,33.139158],[102.854139,33.139216],[102.854106,33.139261],[102.854048,33.139305],[102.853982,33.139336],[102.853909,33.139338],[102.853866,33.139336],[102.853832,33.139319],[102.853798,33.139281],[102.853786,33.139245],[102.853791,33.139229],[102.853795,33.139206],[102.853816,33.139177],[102.853841,33.139155],[102.853863,33.139138],[102.853877,33.139125],[102.853881,33.139114],[102.853873,33.139094],[102.853864,33.139078],[102.853854,33.139064],[102.853848,33.139052],[102.85381,33.139045],[102.853567,33.138998],[102.853436,33.13895],[102.853423,33.138881],[102.853413,33.13886],[102.853393,33.138841],[102.853376,33.138832],[102.853345,33.138832],[102.853316,33.138835],[102.853286,33.138848],[102.853256,33.138865],[102.853244,33.138881],[102.85322,33.138914],[102.853205,33.138929],[102.853177,33.13895],[102.85316,33.138958],[102.853139,33.138962],[102.853122,33.138961],[102.853107,33.138956],[102.853098,33.138939],[102.853092,33.138913],[102.853089,33.13888],[102.853089,33.138839],[102.853088,33.138824],[102.853035,33.138805],[102.853026,33.138802],[102.853008,33.138794],[102.852986,33.138727],[102.852872,33.138371],[102.852869,33.138295],[102.852861,33.138121],[102.852832,33.137457],[102.852469,33.136941],[102.852266,33.13679],[102.852248,33.136776],[102.852215,33.136781],[102.852173,33.136778],[102.852128,33.136758],[102.852118,33.136748],[102.852105,33.136728],[102.852095,33.136698],[102.852091,33.136678],[102.852091,33.136659],[102.85209,33.136639],[102.852104,33.136603],[102.852123,33.136568],[102.852121,33.136544],[102.852112,33.136522],[102.852095,33.136494],[102.852053,33.136475],[102.852017,33.136465],[102.851979,33.136456],[102.851946,33.136454],[102.851923,33.136459],[102.851891,33.136467],[102.851868,33.136476],[102.851847,33.13649],[102.851832,33.136504],[102.851827,33.136512],[102.851798,33.136513],[102.851779,33.136511],[102.851751,33.136504],[102.851723,33.136495],[102.851702,33.136484],[102.851688,33.136473],[102.851671,33.136459],[102.851627,33.136446],[102.851521,33.136416],[102.851189,33.136322],[102.851047,33.136144],[102.851015,33.135757],[102.851089,33.135465],[102.851131,33.135302],[102.851124,33.135206],[102.8511,33.134863],[102.851046,33.134493],[102.850457,33.133798],[102.8502,33.133214],[102.850197,33.132493],[102.850642,33.131377],[102.850819,33.130941],[102.85087,33.130573],[102.850987,33.130066],[102.851337,33.129387],[102.852286,33.128138],[102.852825,33.127445],[102.853441,33.126173],[102.853662,33.125633],[102.85372,33.124966],[102.853622,33.123875],[102.853509,33.123364],[102.853504,33.122696],[102.85348,33.121958],[102.853571,33.120801],[102.853982,33.12021],[102.85412,33.119686],[102.854174,33.119177],[102.854178,33.11916],[102.854181,33.11914],[102.854166,33.119131],[102.854095,33.119045],[102.854038,33.118965],[102.853966,33.118863],[102.853949,33.118823],[102.853947,33.118778],[102.853954,33.118751],[102.853972,33.118723],[102.853997,33.118714],[102.854031,33.118709],[102.854077,33.118712],[102.854094,33.118716],[102.854139,33.118735],[102.854212,33.118761],[102.854248,33.118772],[102.854286,33.118788],[102.854301,33.118794],[102.854335,33.118801],[102.854376,33.118803],[102.854399,33.118796],[102.854413,33.118787],[102.85441,33.118759],[102.854394,33.118731],[102.854362,33.118723],[102.854306,33.118726],[102.854291,33.11872],[102.854252,33.118707],[102.854225,33.118689],[102.854211,33.118663],[102.854213,33.118627],[102.854217,33.118592],[102.854223,33.118562],[102.854222,33.118521],[102.854211,33.118491],[102.854193,33.118461],[102.854175,33.118441],[102.854151,33.11842],[102.854129,33.118395],[102.854114,33.118362],[102.854114,33.118314],[102.854131,33.118289],[102.854148,33.11827],[102.854176,33.118258],[102.854211,33.118248],[102.854234,33.11824],[102.854264,33.11824],[102.854298,33.118248],[102.854455,33.117953],[102.854543,33.117761],[102.854426,33.117408],[102.854206,33.117035],[102.854051,33.11654],[102.854168,33.116016],[102.854244,33.115437],[102.85473,33.114357],[102.855313,33.113541],[102.855896,33.112743],[102.856485,33.111682],[102.856583,33.111086],[102.856575,33.110577],[102.856712,33.110087],[102.857035,33.109324],[102.857044,33.109303],[102.857054,33.109278],[102.857133,33.109093],[102.857773,33.107899],[102.85779,33.107866],[102.85783,33.107792],[102.857804,33.10779],[102.857774,33.107783],[102.857748,33.107772],[102.857732,33.107759],[102.857725,33.107741],[102.857732,33.107722],[102.857747,33.107706],[102.857769,33.10769],[102.857799,33.107671],[102.857822,33.10766],[102.857842,33.107648],[102.857869,33.107631],[102.857891,33.107625],[102.857909,33.107607],[102.857915,33.107591],[102.85791,33.107566],[102.85789,33.107543],[102.857995,33.107105],[102.858042,33.1067],[102.858048,33.10665],[102.858049,33.106638],[102.858054,33.106595],[102.858056,33.106573],[102.8581,33.106194],[102.858459,33.10575],[102.858533,33.105658],[102.858535,33.105655],[102.858601,33.105574],[102.858591,33.105555],[102.858585,33.105536],[102.858585,33.105513],[102.858593,33.1055],[102.858625,33.105504],[102.858651,33.105511],[102.858744,33.10554],[102.858816,33.10557],[102.85888,33.105546],[102.858932,33.105501],[102.858947,33.105411],[102.858942,33.105392],[102.858927,33.105335],[102.858881,33.105272],[102.858861,33.105255],[102.858842,33.10523],[102.858841,33.105217],[102.858854,33.105195],[102.858874,33.105183],[102.85889,33.105181],[102.858917,33.105196],[102.85894,33.105212],[102.859009,33.105141],[102.859011,33.105138],[102.85943,33.104706],[102.859614,33.104024],[102.85946,33.102616],[102.859505,33.101633],[102.859586,33.100879],[102.860109,33.100093],[102.860259,33.099867],[102.860262,33.099833],[102.860267,33.099809],[102.860274,33.09978],[102.860286,33.099765],[102.860306,33.099764],[102.86032,33.099766],[102.860332,33.099777],[102.86055,33.099531],[102.860823,33.099223],[102.860808,33.099205],[102.8608,33.099188],[102.860783,33.099167],[102.860767,33.099153],[102.860743,33.099141],[102.860719,33.099122],[102.86071,33.099107],[102.860705,33.099086],[102.860713,33.099037],[102.860716,33.099011],[102.860725,33.098969],[102.860733,33.098949],[102.860737,33.098931],[102.860741,33.098919],[102.860755,33.098913],[102.860786,33.098915],[102.860807,33.098916],[102.860836,33.098903],[102.860862,33.09888],[102.860904,33.098841],[102.86093,33.098823],[102.86095,33.098794],[102.860968,33.098759],[102.860981,33.098735],[102.860991,33.098698],[102.861004,33.098666],[102.86101,33.098642],[102.861023,33.098613],[102.861033,33.098598],[102.861044,33.098582],[102.86106,33.098556],[102.861061,33.098539],[102.861061,33.098533],[102.861065,33.098389],[102.861071,33.098129],[102.85994,33.097442],[102.85889,33.096845],[102.858509,33.09655],[102.858194,33.096306],[102.857046,33.095461],[102.856554,33.095223],[102.855045,33.094495],[102.854324,33.094114],[102.852894,33.093258],[102.852889,33.093255],[102.852391,33.092957],[102.851535,33.092755],[102.851526,33.092753],[102.851453,33.092736],[102.851419,33.092728],[102.851355,33.092713],[102.850522,33.092517],[102.850378,33.092483],[102.850402,33.091519],[102.850403,33.09149],[102.850422,33.09071],[102.850374,33.089233],[102.850086,33.086506],[102.850318,33.085526],[102.850301,33.0844],[102.850301,33.084383],[102.8503,33.084349],[102.850294,33.083945],[102.850058,33.08164],[102.849713,33.080503],[102.849112,33.080743],[102.849001,33.080629],[102.848998,33.080643],[102.848969,33.080701],[102.848963,33.080715],[102.848931,33.080737],[102.848885,33.080757],[102.848817,33.080776],[102.848758,33.080799],[102.848731,33.080818],[102.848701,33.08087],[102.848697,33.080876],[102.848697,33.080876],[102.848658,33.080933],[102.84862,33.080975],[102.848577,33.081023],[102.84849,33.081112],[102.84839,33.081165],[102.848321,33.081192],[102.848238,33.081223],[102.84815,33.081248],[102.848028,33.081272],[102.847929,33.081285],[102.847819,33.0813],[102.847683,33.081317],[102.847586,33.081323],[102.847443,33.08131],[102.847221,33.081334],[102.846558,33.081086],[102.846283,33.080984],[102.845445,33.080591],[102.845398,33.080569],[102.845381,33.080562],[102.845363,33.080553],[102.845361,33.080552],[102.845298,33.080522],[102.845257,33.080503],[102.84525,33.080499],[102.844655,33.080159],[102.844559,33.079789],[102.844514,33.079618],[102.844512,33.07961],[102.84451,33.079602],[102.844508,33.079591],[102.844487,33.079513],[102.844495,33.079459]]]]},"properties":{"cp":[102.93341761730755,33.11135771891013],"code":"513233207","name":"麦洼乡","level":"street","center":[102.93341761730755,33.11135771891013],"fullCode":"513233207000","fullName":"四川省阿坝藏族羌族自治州红原县麦洼乡","acreageMu":838703.39,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.918,32.9156]}},{"id":"513233208","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.876403,32.917034],[102.877821,32.917289],[102.87904,32.917509],[102.879321,32.91756],[102.879803,32.917647],[102.880757,32.917692],[102.881664,32.916844],[102.882087,32.916275],[102.883036,32.91514],[102.883882,32.914004],[102.884545,32.913353],[102.885692,32.91248],[102.886416,32.912147],[102.887136,32.912016],[102.890012,32.910136],[102.891018,32.909434],[102.891588,32.908408],[102.892434,32.907242],[102.89303,32.906561],[102.893252,32.905846],[102.893298,32.905329],[102.893691,32.904587],[102.893877,32.903928],[102.893929,32.903181],[102.893818,32.902114],[102.893743,32.900962],[102.89373,32.90007],[102.893579,32.899262],[102.893845,32.898086],[102.894094,32.897403],[102.894163,32.897215],[102.894356,32.896685],[102.894308,32.895821],[102.894535,32.894904],[102.894937,32.893759],[102.895235,32.8927],[102.895731,32.890464],[102.895751,32.889629],[102.895698,32.888995],[102.895571,32.88859],[102.896146,32.887334],[102.897278,32.885626],[102.897787,32.885186],[102.8978,32.885175],[102.89829,32.884636],[102.89849,32.884389],[102.898817,32.883983],[102.899003,32.883325],[102.899057,32.882491],[102.898709,32.881334],[102.898907,32.878719],[102.899044,32.877282],[102.899108,32.875988],[102.899493,32.874124],[102.899904,32.871167],[102.900589,32.868129],[102.901096,32.866871],[102.901196,32.86552],[102.901659,32.861816],[102.901708,32.861155],[102.901726,32.860407],[102.901703,32.859946],[102.90189,32.85923],[102.901606,32.858247],[102.900999,32.85651],[102.900346,32.85529],[102.900031,32.854191],[102.899529,32.852341],[102.899453,32.851218],[102.899478,32.850182],[102.900031,32.849846],[102.901531,32.849871],[102.902658,32.849775],[102.904054,32.849827],[102.905111,32.849845],[102.906262,32.850181],[102.907379,32.850545],[102.908395,32.850821],[102.908585,32.850862],[102.908603,32.850866],[102.908656,32.850877],[102.908667,32.850879],[102.908682,32.850882],[102.908804,32.850908],[102.908844,32.850917],[102.908868,32.850922],[102.9089,32.850929],[102.909006,32.850952],[102.909152,32.850983],[102.909209,32.850995],[102.909397,32.851035],[102.90952,32.851062],[102.909637,32.851087],[102.909683,32.851097],[102.909691,32.851098],[102.909759,32.851113],[102.909854,32.851133],[102.910971,32.85144],[102.911271,32.851346],[102.912105,32.851084],[102.912774,32.850175],[102.913412,32.849121],[102.914116,32.848183],[102.914301,32.847809],[102.914653,32.847098],[102.914884,32.846419],[102.914945,32.84624],[102.914889,32.845721],[102.914017,32.845102],[102.913605,32.844679],[102.913418,32.844488],[102.912993,32.843704],[102.912231,32.841331],[102.912321,32.840383],[102.912854,32.839471],[102.913864,32.838538],[102.91442,32.838099],[102.915253,32.837439],[102.915502,32.837198],[102.915777,32.83693],[102.915939,32.83581],[102.916265,32.833514],[102.916081,32.832647],[102.916032,32.83184],[102.916115,32.829712],[102.916182,32.828332],[102.916515,32.827186],[102.917569,32.825852],[102.918583,32.824746],[102.919081,32.823862],[102.919542,32.823064],[102.919937,32.822229],[102.920074,32.821821],[102.920294,32.821177],[102.920502,32.819929],[102.920757,32.818833],[102.921287,32.818021],[102.921764,32.817317],[102.922549,32.81651],[102.923798,32.815581],[102.924806,32.815195],[102.92583,32.814612],[102.926973,32.813715],[102.927426,32.813288],[102.927605,32.813305],[102.927719,32.813338],[102.927769,32.813337],[102.927826,32.813299],[102.927881,32.813193],[102.92793,32.813059],[102.927908,32.812834],[102.927929,32.812814],[102.928809,32.811976],[102.929342,32.811574],[102.930562,32.810583],[102.931088,32.810276],[102.931927,32.809785],[102.932352,32.809534],[102.932941,32.809186],[102.933748,32.808709],[102.933789,32.808695],[102.934879,32.808317],[102.936013,32.80783],[102.936063,32.807793],[102.936182,32.807873],[102.936372,32.808],[102.936563,32.808126],[102.936753,32.808253],[102.937055,32.808366],[102.937357,32.80848],[102.937721,32.808585],[102.938085,32.808689],[102.93845,32.808794],[102.938684,32.808886],[102.938914,32.808975],[102.939144,32.809065],[102.939373,32.809155],[102.939603,32.809245],[102.939832,32.809335],[102.940062,32.809424],[102.940291,32.809514],[102.940521,32.809604],[102.940751,32.809694],[102.94098,32.809784],[102.941207,32.809896],[102.941434,32.810007],[102.941662,32.810119],[102.941889,32.810231],[102.942116,32.810343],[102.942343,32.810454],[102.942562,32.810599],[102.942781,32.810745],[102.943,32.81089],[102.94322,32.811035],[102.943439,32.81118],[102.943658,32.811325],[102.943877,32.81147],[102.944096,32.811616],[102.944315,32.811761],[102.944534,32.811906],[102.944753,32.812051],[102.944972,32.812196],[102.945342,32.812425],[102.945712,32.812653],[102.946081,32.812882],[102.946451,32.81311],[102.946787,32.813264],[102.947123,32.813417],[102.947425,32.813501],[102.947752,32.813556],[102.948078,32.81361],[102.94845,32.813735],[102.948798,32.813918],[102.949012,32.814078],[102.949226,32.814238],[102.94944,32.814397],[102.949654,32.814557],[102.949868,32.814716],[102.950083,32.814876],[102.950297,32.815036],[102.950511,32.815195],[102.950725,32.815355],[102.950939,32.815514],[102.951132,32.815656],[102.951325,32.815797],[102.951518,32.815939],[102.951711,32.81608],[102.951903,32.816222],[102.952096,32.816363],[102.952289,32.816505],[102.952482,32.816646],[102.952793,32.816951],[102.953105,32.817255],[102.953416,32.81756],[102.953727,32.817865],[102.954085,32.818098],[102.954444,32.818331],[102.954675,32.818433],[102.954907,32.818535],[102.955168,32.818615],[102.955428,32.818694],[102.955689,32.818773],[102.955949,32.818853],[102.95621,32.818932],[102.95647,32.819011],[102.956731,32.819091],[102.956991,32.81917],[102.957252,32.819249],[102.957512,32.819329],[102.957883,32.819499],[102.958254,32.81967],[102.958625,32.819841],[102.95889,32.820022],[102.959156,32.820204],[102.959454,32.820486],[102.959679,32.820846],[102.959756,32.821084],[102.959832,32.821323],[102.959909,32.821541],[102.959986,32.82176],[102.960082,32.822008],[102.960179,32.822256],[102.960275,32.822504],[102.960371,32.822752],[102.960467,32.823],[102.960563,32.823248],[102.96066,32.823497],[102.960756,32.823745],[102.960852,32.823993],[102.960948,32.824241],[102.96106,32.82448],[102.961171,32.824719],[102.961283,32.824958],[102.961394,32.825197],[102.961427,32.825243],[102.961621,32.825516],[102.961704,32.825577],[102.961899,32.825718],[102.96209,32.825839],[102.962282,32.825961],[102.962473,32.826083],[102.962665,32.826205],[102.962856,32.826326],[102.963048,32.826448],[102.963239,32.82657],[102.963431,32.826691],[102.963621,32.826812],[102.963622,32.826813],[102.963761,32.826901],[102.963814,32.826935],[102.964229,32.827093],[102.964644,32.827252],[102.965059,32.827411],[102.965475,32.82757],[102.96589,32.827728],[102.966084,32.827845],[102.966092,32.82785],[102.966178,32.827902],[102.966467,32.828075],[102.966742,32.828316],[102.96697,32.828636],[102.967049,32.828814],[102.967148,32.829035],[102.967178,32.829262],[102.967208,32.829489],[102.967257,32.829895],[102.967306,32.830301],[102.967318,32.830568],[102.967329,32.830834],[102.967341,32.831101],[102.967353,32.831368],[102.967336,32.831598],[102.967319,32.831829],[102.967302,32.832059],[102.967285,32.83229],[102.967262,32.832526],[102.967239,32.832762],[102.967216,32.832999],[102.967193,32.833235],[102.967174,32.833451],[102.967138,32.833853],[102.967103,32.834255],[102.967067,32.834656],[102.966978,32.834971],[102.966888,32.835285],[102.966755,32.835501],[102.966621,32.835717],[102.966476,32.835902],[102.966332,32.836087],[102.966176,32.836262],[102.966019,32.836437],[102.965863,32.836613],[102.965707,32.836788],[102.96555,32.836964],[102.965394,32.837139],[102.965099,32.837444],[102.964804,32.837749],[102.964508,32.838053],[102.964213,32.838358],[102.964213,32.838359],[102.964212,32.83836],[102.964139,32.838534],[102.964134,32.838691],[102.964223,32.838892],[102.964409,32.839183],[102.964455,32.839256],[102.964687,32.83962],[102.964919,32.839984],[102.965151,32.840348],[102.965275,32.840554],[102.965399,32.84076],[102.965524,32.840966],[102.965648,32.841173],[102.965772,32.841379],[102.965896,32.841585],[102.96602,32.841791],[102.966144,32.841997],[102.966269,32.842203],[102.966339,32.84232],[102.966393,32.842409],[102.966517,32.842615],[102.966641,32.842822],[102.966814,32.84298],[102.966987,32.843139],[102.967159,32.843298],[102.967258,32.843388],[102.967332,32.843456],[102.967505,32.843615],[102.967678,32.843774],[102.96785,32.843932],[102.968023,32.844091],[102.968196,32.84425],[102.968368,32.844409],[102.968493,32.844598],[102.968618,32.844788],[102.968721,32.844994],[102.968742,32.845037],[102.968865,32.845286],[102.968988,32.84569],[102.969112,32.846093],[102.969235,32.846497],[102.969253,32.846725],[102.969272,32.846953],[102.969287,32.847308],[102.969279,32.847664],[102.969214,32.847939],[102.969149,32.848215],[102.969008,32.848594],[102.968867,32.848974],[102.968726,32.849353],[102.968566,32.849716],[102.968406,32.850079],[102.968241,32.850253],[102.968076,32.850428],[102.967911,32.850602],[102.967746,32.850776],[102.967581,32.850951],[102.967416,32.851125],[102.967234,32.851409],[102.967051,32.851692],[102.966974,32.852007],[102.966991,32.852303],[102.967068,32.852542],[102.967144,32.85278],[102.967255,32.853058],[102.967366,32.853336],[102.967473,32.853773],[102.967488,32.854129],[102.967471,32.854386],[102.967453,32.854642],[102.967415,32.854866],[102.967377,32.85509],[102.967339,32.855314],[102.967301,32.855538],[102.967263,32.855762],[102.967225,32.855986],[102.967187,32.85621],[102.96715,32.856434],[102.967112,32.856657],[102.967074,32.856881],[102.967026,32.857276],[102.966978,32.857671],[102.966931,32.858065],[102.966936,32.858352],[102.966941,32.858639],[102.967005,32.858936],[102.967068,32.859234],[102.967168,32.859477],[102.967267,32.85972],[102.967367,32.859964],[102.967467,32.860207],[102.96757,32.860361],[102.967639,32.860462],[102.967811,32.860717],[102.968064,32.860937],[102.968435,32.861121],[102.968666,32.861254],[102.968898,32.861386],[102.969129,32.861518],[102.96936,32.861651],[102.969634,32.86195],[102.969816,32.86225],[102.969939,32.862499],[102.970063,32.862748],[102.970082,32.862793],[102.970151,32.862957],[102.970239,32.863166],[102.970326,32.863473],[102.970413,32.86378],[102.970511,32.864138],[102.970608,32.864496],[102.970876,32.864809],[102.971144,32.865121],[102.971412,32.865433],[102.97171,32.865754],[102.972007,32.866075],[102.972304,32.866396],[102.972602,32.866717],[102.972749,32.866936],[102.972896,32.867156],[102.973052,32.867494],[102.973116,32.867832],[102.973128,32.868266],[102.973118,32.868701],[102.973039,32.869085],[102.972961,32.869469],[102.972883,32.869784],[102.972806,32.870098],[102.972798,32.870493],[102.972815,32.87075],[102.972833,32.871008],[102.97285,32.871265],[102.972868,32.871522],[102.97291,32.871586],[102.973072,32.871828],[102.973396,32.871992],[102.973722,32.872076],[102.974168,32.872043],[102.974311,32.871967],[102.974696,32.871828],[102.975082,32.87169],[102.975468,32.871551],[102.975728,32.871471],[102.975988,32.871391],[102.976248,32.871312],[102.976508,32.871232],[102.976848,32.871178],[102.977188,32.871125],[102.977626,32.871118],[102.978064,32.871112],[102.978501,32.871105],[102.978774,32.87113],[102.979048,32.871154],[102.979321,32.871178],[102.979594,32.871203],[102.979867,32.871227],[102.98014,32.871251],[102.980384,32.871322],[102.980629,32.871392],[102.980873,32.871463],[102.981117,32.871533],[102.981362,32.871604],[102.981606,32.871675],[102.981851,32.871745],[102.982095,32.871816],[102.98232,32.871911],[102.982545,32.872006],[102.98277,32.872102],[102.982995,32.872197],[102.983219,32.872293],[102.983444,32.872388],[102.983669,32.872483],[102.983894,32.872579],[102.984134,32.872666],[102.984373,32.872753],[102.984447,32.872779],[102.984612,32.87284],[102.984852,32.872927],[102.985091,32.873013],[102.985331,32.8731],[102.98557,32.873187],[102.98581,32.873274],[102.986049,32.873361],[102.986289,32.873448],[102.986542,32.873649],[102.986887,32.873931],[102.986937,32.873947],[102.987283,32.874056],[102.98761,32.874101],[102.987882,32.874103],[102.988155,32.874105],[102.988427,32.874107],[102.988699,32.874108],[102.988972,32.87411],[102.989244,32.874112],[102.989516,32.874114],[102.989789,32.874116],[102.990043,32.874103],[102.990297,32.87409],[102.990321,32.874088],[102.99055,32.874077],[102.990804,32.874064],[102.991058,32.874051],[102.991312,32.874038],[102.991566,32.874025],[102.99182,32.874012],[102.992127,32.873973],[102.992231,32.873959],[102.992642,32.873906],[102.993066,32.873795],[102.99349,32.873683],[102.993711,32.873564],[102.993932,32.873445],[102.994153,32.873326],[102.994373,32.873207],[102.994594,32.873088],[102.994815,32.872969],[102.995035,32.87285],[102.995114,32.872808],[102.995256,32.872732],[102.995477,32.872613],[102.995697,32.872494],[102.995923,32.872372],[102.996068,32.872294],[102.996148,32.872251],[102.996374,32.872129],[102.996599,32.872008],[102.996825,32.871887],[102.997051,32.871765],[102.997408,32.871494],[102.997765,32.871223],[102.997893,32.870988],[102.998022,32.870753],[102.99815,32.870518],[102.998279,32.870283],[102.998492,32.869933],[102.998705,32.869583],[102.998917,32.869234],[102.99911,32.869],[102.999303,32.868765],[102.99959,32.868524],[102.999876,32.868282],[103.000272,32.868072],[103.000501,32.86791],[103.000729,32.867747],[103.000958,32.867582],[103.001187,32.867417],[103.001378,32.867279],[103.001568,32.867142],[103.001839,32.866968],[103.002172,32.866684],[103.002376,32.86655],[103.00258,32.866416],[103.002784,32.866282],[103.002988,32.866149],[103.003291,32.86587],[103.003594,32.865592],[103.003772,32.865337],[103.00395,32.865082],[103.004137,32.864759],[103.004325,32.864436],[103.004512,32.864113],[103.004619,32.863897],[103.004726,32.863681],[103.004833,32.863465],[103.00494,32.863248],[103.005047,32.863032],[103.005154,32.862816],[103.005304,32.862399],[103.005453,32.861982],[103.005603,32.861564],[103.005765,32.861214],[103.005926,32.860864],[103.006087,32.860514],[103.006192,32.860293],[103.006297,32.860073],[103.006402,32.859853],[103.006508,32.859632],[103.006667,32.859393],[103.006784,32.859314],[103.006879,32.859315],[103.006994,32.859333],[103.007068,32.859431],[103.007121,32.859593],[103.007114,32.859948],[103.007094,32.860392],[103.007075,32.860835],[103.00704,32.861099],[103.007005,32.861363],[103.006971,32.861628],[103.006936,32.861892],[103.006907,32.862328],[103.006911,32.862578],[103.006914,32.862828],[103.006981,32.863083],[103.007047,32.863339],[103.007114,32.863594],[103.00718,32.863849],[103.007242,32.864073],[103.007304,32.864297],[103.007366,32.864522],[103.007428,32.864746],[103.00749,32.86497],[103.007552,32.865194],[103.007709,32.865579],[103.007866,32.865963],[103.008023,32.866347],[103.008144,32.866606],[103.008206,32.86674],[103.008389,32.867133],[103.008573,32.867526],[103.008751,32.867907],[103.008756,32.867919],[103.008856,32.868149],[103.008956,32.868379],[103.009057,32.868608],[103.009157,32.868838],[103.009257,32.869068],[103.009357,32.869297],[103.009366,32.869317],[103.009398,32.869391],[103.009457,32.869527],[103.009557,32.869757],[103.009686,32.869992],[103.009815,32.870228],[103.009945,32.870464],[103.010074,32.870699],[103.010203,32.870935],[103.010332,32.87117],[103.010461,32.871406],[103.01059,32.871642],[103.0107,32.871885],[103.010809,32.872129],[103.010919,32.872373],[103.011028,32.872616],[103.011138,32.87286],[103.011247,32.873104],[103.011357,32.873348],[103.011466,32.873591],[103.011641,32.873973],[103.011815,32.874355],[103.01199,32.874736],[103.012164,32.875118],[103.012317,32.875452],[103.01247,32.875787],[103.012588,32.876002],[103.012705,32.876217],[103.012759,32.876315],[103.012823,32.876432],[103.012941,32.876647],[103.013017,32.876786],[103.013058,32.876862],[103.013176,32.877077],[103.013294,32.877293],[103.013412,32.877508],[103.01362,32.877893],[103.013828,32.878278],[103.014036,32.878663],[103.014156,32.879042],[103.014275,32.87942],[103.014395,32.879799],[103.014504,32.880023],[103.014614,32.880248],[103.014763,32.880482],[103.014841,32.880603],[103.015068,32.880957],[103.015294,32.881312],[103.015298,32.881318],[103.015521,32.881667],[103.015631,32.881911],[103.015758,32.882187],[103.01581,32.882462],[103.015843,32.882688],[103.015876,32.882915],[103.015885,32.883157],[103.015894,32.883399],[103.015903,32.883641],[103.015912,32.883884],[103.015921,32.884143],[103.01593,32.884403],[103.015939,32.884662],[103.015948,32.884922],[103.015958,32.885182],[103.015967,32.885441],[103.015976,32.885701],[103.015985,32.88596],[103.016026,32.886407],[103.016067,32.886854],[103.016108,32.887301],[103.01616,32.887552],[103.016211,32.887803],[103.016262,32.888135],[103.016313,32.888466],[103.016445,32.888816],[103.016577,32.889167],[103.016709,32.889517],[103.016917,32.889866],[103.016932,32.889892],[103.017099,32.890121],[103.017287,32.89027],[103.017514,32.890353],[103.017887,32.89051],[103.018261,32.890666],[103.018634,32.890822],[103.018889,32.890972],[103.019028,32.891053],[103.019144,32.891121],[103.019388,32.891352],[103.019594,32.891596],[103.019779,32.89189],[103.01989,32.892102],[103.02,32.892313],[103.020134,32.892727],[103.020268,32.893141],[103.020389,32.893528],[103.020509,32.893916],[103.02063,32.894304],[103.020731,32.894508],[103.020832,32.894711],[103.020979,32.894955],[103.021298,32.895267],[103.021582,32.895434],[103.021824,32.89553],[103.022066,32.895627],[103.022308,32.895723],[103.022549,32.89582],[103.02278,32.895911],[103.022825,32.895929],[103.023058,32.896022],[103.0231,32.896039],[103.02327,32.896185],[103.02338,32.896382],[103.023433,32.896591],[103.023428,32.896785],[103.023404,32.897043],[103.023358,32.897366],[103.02333,32.897736],[103.023324,32.898026],[103.023384,32.898201],[103.023571,32.898413],[103.023835,32.89858],[103.024138,32.898714],[103.024482,32.898768],[103.024703,32.898805],[103.024925,32.898843],[103.025147,32.898881],[103.025369,32.898919],[103.025591,32.898956],[103.025812,32.898994],[103.026034,32.899032],[103.026256,32.89907],[103.02657,32.899139],[103.026885,32.899209],[103.027069,32.89928],[103.027122,32.899301],[103.027359,32.899393],[103.027496,32.899464],[103.027681,32.89956],[103.028002,32.899727],[103.028267,32.8999],[103.028532,32.900073],[103.028737,32.900302],[103.028943,32.900532],[103.029087,32.900716],[103.029232,32.9009],[103.029376,32.901084],[103.029521,32.901268],[103.029737,32.901605],[103.029953,32.901942],[103.030168,32.902279],[103.030447,32.902539],[103.030725,32.902799],[103.031004,32.903059],[103.031279,32.903414],[103.031553,32.90377],[103.031828,32.904125],[103.032103,32.904481],[103.032388,32.904778],[103.032396,32.904786],[103.03252,32.904916],[103.032541,32.904938],[103.032689,32.905092],[103.032766,32.905172],[103.032918,32.905331],[103.032983,32.905398],[103.033003,32.905416],[103.033007,32.90542],[103.033183,32.905578],[103.033383,32.905759],[103.033583,32.90594],[103.033783,32.90612],[103.033984,32.906301],[103.034184,32.906482],[103.034276,32.90655],[103.034337,32.906596],[103.034492,32.906713],[103.034514,32.906729],[103.034845,32.906976],[103.035148,32.907236],[103.035286,32.907354],[103.035451,32.907496],[103.035641,32.907662],[103.035695,32.90771],[103.035721,32.907732],[103.035739,32.907748],[103.035761,32.907767],[103.03594,32.907923],[103.036167,32.908057],[103.036409,32.908088],[103.036434,32.908091],[103.036454,32.908094],[103.036787,32.908128],[103.036816,32.90813],[103.03683,32.908129],[103.03722,32.90808],[103.037623,32.90803],[103.038057,32.907916],[103.03849,32.907802],[103.038923,32.907688],[103.039357,32.907574],[103.039599,32.907465],[103.039841,32.907355],[103.039904,32.907216],[103.040001,32.907003],[103.040023,32.906809],[103.040032,32.906756],[103.040069,32.906536],[103.040094,32.9063],[103.040118,32.906064],[103.040143,32.905828],[103.040167,32.905593],[103.040211,32.905335],[103.040255,32.905078],[103.040376,32.904822],[103.040562,32.904491],[103.040749,32.90416],[103.040935,32.90383],[103.041054,32.903635],[103.041173,32.903441],[103.041273,32.903276],[103.041292,32.903246],[103.041298,32.903235],[103.041411,32.903052],[103.04153,32.902857],[103.041564,32.902801],[103.041595,32.902751],[103.041649,32.902662],[103.041792,32.902434],[103.041935,32.902206],[103.042079,32.901978],[103.042222,32.90175],[103.042366,32.901522],[103.042462,32.901368],[103.042509,32.901294],[103.042612,32.901169],[103.042661,32.901111],[103.042765,32.900985],[103.042812,32.900927],[103.042964,32.900744],[103.043115,32.900561],[103.043267,32.900378],[103.043303,32.900334],[103.043418,32.900195],[103.043543,32.900043],[103.04357,32.900011],[103.043721,32.899828],[103.043873,32.899645],[103.044024,32.899462],[103.044177,32.899296],[103.044329,32.899129],[103.044482,32.898963],[103.044634,32.898797],[103.044701,32.898725],[103.044787,32.898631],[103.044939,32.898465],[103.045092,32.898299],[103.045244,32.898132],[103.045406,32.89796],[103.045568,32.897788],[103.04573,32.897616],[103.045892,32.897444],[103.046054,32.897271],[103.046215,32.897099],[103.046377,32.896927],[103.046539,32.896755],[103.046701,32.896582],[103.046863,32.89641],[103.047025,32.896238],[103.047186,32.896066],[103.047373,32.895892],[103.047443,32.895826],[103.047559,32.895718],[103.047745,32.895544],[103.047932,32.89537],[103.047965,32.89534],[103.048118,32.895196],[103.048276,32.895049],[103.048304,32.895022],[103.048491,32.894849],[103.048677,32.894675],[103.048699,32.894653],[103.04884,32.894513],[103.048848,32.894504],[103.049002,32.89435],[103.049165,32.894188],[103.049327,32.894026],[103.04949,32.893864],[103.049559,32.893795],[103.049652,32.893702],[103.049815,32.89354],[103.049977,32.893378],[103.05014,32.893216],[103.050303,32.893053],[103.050574,32.892881],[103.050604,32.892874],[103.050844,32.892821],[103.05119,32.89281],[103.05155,32.892928],[103.051792,32.893033],[103.051879,32.89307],[103.052034,32.893137],[103.052275,32.893242],[103.052517,32.893346],[103.052763,32.893495],[103.053009,32.893644],[103.053309,32.893964],[103.053609,32.894283],[103.053898,32.894619],[103.054187,32.894955],[103.05446,32.8952],[103.054732,32.895446],[103.055009,32.895609],[103.055053,32.895635],[103.055054,32.895635],[103.055057,32.895636],[103.055287,32.895771],[103.055544,32.895896],[103.0558,32.896021],[103.056219,32.896109],[103.056545,32.896097],[103.056618,32.896074],[103.056833,32.896005],[103.056911,32.895966],[103.05722,32.89581],[103.0573,32.89577],[103.057513,32.895662],[103.057608,32.895614],[103.057995,32.895418],[103.058382,32.895222],[103.058627,32.895128],[103.058872,32.895034],[103.059118,32.89494],[103.059363,32.894846],[103.059608,32.894752],[103.059685,32.894723],[103.059853,32.894658],[103.060099,32.894564],[103.060344,32.89447],[103.060584,32.894397],[103.060825,32.894324],[103.061065,32.894251],[103.061305,32.894178],[103.061747,32.89417],[103.062186,32.894208],[103.062439,32.894245],[103.062692,32.894281],[103.062945,32.894317],[103.063198,32.894354],[103.063443,32.894418],[103.063688,32.894481],[103.0641,32.894589],[103.064511,32.894696],[103.064796,32.89483],[103.065081,32.894964],[103.065288,32.895144],[103.065494,32.895325],[103.065701,32.895506],[103.065907,32.895686],[103.065943,32.895717],[103.066114,32.895867],[103.066321,32.896048],[103.066505,32.896254],[103.06669,32.89646],[103.066875,32.896666],[103.06706,32.896873],[103.067257,32.897037],[103.067454,32.897202],[103.067651,32.897367],[103.067849,32.897531],[103.068037,32.897704],[103.068224,32.897876],[103.068412,32.898048],[103.0686,32.898221],[103.068788,32.898393],[103.068976,32.898566],[103.069249,32.89878],[103.069523,32.898994],[103.069594,32.899032],[103.069741,32.89911],[103.069958,32.899227],[103.070176,32.899343],[103.070394,32.89946],[103.070643,32.899546],[103.070892,32.899632],[103.071141,32.899718],[103.07139,32.899804],[103.071639,32.89989],[103.071888,32.899976],[103.072137,32.900062],[103.072386,32.900148],[103.072635,32.900234],[103.072884,32.90032],[103.07312,32.900391],[103.073355,32.900462],[103.073464,32.900495],[103.073591,32.900533],[103.073826,32.900604],[103.074062,32.900675],[103.074298,32.900746],[103.074533,32.900817],[103.074769,32.900888],[103.075005,32.900959],[103.07524,32.90103],[103.075476,32.901101],[103.075711,32.901172],[103.075947,32.901243],[103.076183,32.901314],[103.076429,32.901423],[103.076676,32.901531],[103.076923,32.90164],[103.07717,32.901749],[103.077483,32.901916],[103.077795,32.902083],[103.07798,32.902231],[103.078165,32.902379],[103.07835,32.902527],[103.078535,32.902675],[103.078721,32.902823],[103.078906,32.902971],[103.079083,32.903175],[103.079261,32.90338],[103.079568,32.90369],[103.079875,32.904],[103.080182,32.90431],[103.080489,32.90462],[103.080697,32.904744],[103.080905,32.904868],[103.081211,32.904954],[103.081535,32.904975],[103.081842,32.904914],[103.082132,32.90479],[103.082483,32.904521],[103.082493,32.904506],[103.082621,32.904314],[103.082704,32.90404],[103.082824,32.903783],[103.083004,32.903464],[103.083259,32.90321],[103.083531,32.902972],[103.083685,32.90291],[103.08384,32.902848],[103.084166,32.902853],[103.084479,32.902963],[103.084793,32.903072],[103.084926,32.90313],[103.085033,32.903176],[103.08506,32.903188],[103.085272,32.903281],[103.085335,32.903308],[103.085512,32.903385],[103.085752,32.90349],[103.085992,32.903594],[103.086231,32.903699],[103.086471,32.903803],[103.086711,32.903907],[103.086878,32.904104],[103.086967,32.904262],[103.087044,32.904398],[103.087179,32.904803],[103.087315,32.905209],[103.087377,32.905413],[103.087414,32.905533],[103.087513,32.905857],[103.087634,32.906083],[103.087755,32.906309],[103.087876,32.906536],[103.087998,32.906762],[103.088119,32.906988],[103.08824,32.907214],[103.088383,32.907426],[103.088525,32.907638],[103.088667,32.90785],[103.08881,32.908063],[103.088952,32.908275],[103.089095,32.908487],[103.089365,32.908809],[103.089636,32.909131],[103.089907,32.909454],[103.090177,32.909776],[103.090446,32.910076],[103.090714,32.910376],[103.090983,32.910677],[103.091161,32.910848],[103.09134,32.911019],[103.091519,32.911191],[103.091698,32.911362],[103.091981,32.911496],[103.092285,32.91163],[103.092542,32.911721],[103.092799,32.911812],[103.093055,32.911903],[103.093312,32.911994],[103.093568,32.912085],[103.093825,32.912176],[103.094082,32.912267],[103.094338,32.912358],[103.094429,32.91239],[103.094595,32.912449],[103.094851,32.91254],[103.09502,32.912597],[103.095086,32.912619],[103.09532,32.912698],[103.095555,32.912777],[103.09579,32.912856],[103.096024,32.912935],[103.096259,32.913014],[103.096602,32.913067],[103.096794,32.913038],[103.096882,32.912988],[103.096989,32.912928],[103.097145,32.912769],[103.097175,32.912726],[103.097276,32.912585],[103.097408,32.912402],[103.097539,32.912218],[103.097671,32.912034],[103.097803,32.911851],[103.097934,32.911667],[103.09809,32.911438],[103.098246,32.911209],[103.098403,32.91098],[103.098559,32.910751],[103.098679,32.910503],[103.0988,32.910255],[103.098876,32.909812],[103.098952,32.90937],[103.09903,32.909153],[103.099108,32.908937],[103.099186,32.90872],[103.099264,32.908503],[103.099342,32.908287],[103.09942,32.90807],[103.09964,32.907679],[103.09986,32.907288],[103.10008,32.906897],[103.1003,32.906506],[103.100435,32.906286],[103.100569,32.906065],[103.100704,32.905844],[103.100839,32.905624],[103.100974,32.905403],[103.101109,32.905182],[103.101244,32.904962],[103.101378,32.904741],[103.101513,32.90452],[103.101648,32.9043],[103.101867,32.903977],[103.102085,32.903653],[103.102304,32.90333],[103.102434,32.90309],[103.102563,32.90285],[103.102626,32.902601],[103.102688,32.902352],[103.102773,32.902006],[103.102857,32.90166],[103.102904,32.901241],[103.102952,32.900822],[103.103139,32.900435],[103.103326,32.900048],[103.103513,32.899661],[103.103723,32.899273],[103.103932,32.898885],[103.104142,32.898497],[103.104351,32.898109],[103.104508,32.897933],[103.104664,32.897758],[103.104821,32.897583],[103.104977,32.897407],[103.105281,32.897121],[103.105585,32.896836],[103.105815,32.896712],[103.105824,32.896707],[103.106063,32.896579],[103.106302,32.896451],[103.106448,32.896373],[103.106541,32.896323],[103.10685,32.896199],[103.107159,32.896075],[103.107419,32.896039],[103.107679,32.896003],[103.108083,32.895912],[103.108486,32.895821],[103.108686,32.895767],[103.108852,32.895721],[103.109218,32.895622],[103.109422,32.895512],[103.109626,32.895402],[103.109867,32.895192],[103.109908,32.895156],[103.11019,32.89491],[103.110364,32.894762],[103.110537,32.894613],[103.110711,32.894464],[103.110884,32.894316],[103.111057,32.894167],[103.111231,32.894019],[103.111404,32.89387],[103.111578,32.893721],[103.111769,32.893535],[103.11196,32.893349],[103.112152,32.893163],[103.112343,32.892977],[103.112535,32.892791],[103.112726,32.892606],[103.112917,32.89242],[103.113109,32.892234],[103.113313,32.89208],[103.113517,32.891927],[103.113722,32.891773],[103.113926,32.89162],[103.11413,32.891467],[103.114335,32.891313],[103.114539,32.89116],[103.114743,32.891006],[103.114948,32.890853],[103.115152,32.8907],[103.115325,32.890555],[103.115497,32.89041],[103.11567,32.890266],[103.115843,32.890121],[103.116016,32.889976],[103.116189,32.889832],[103.116361,32.889687],[103.116534,32.889542],[103.116755,32.88941],[103.116769,32.889402],[103.117003,32.889263],[103.117237,32.889123],[103.117472,32.888983],[103.11783,32.888779],[103.118189,32.888575],[103.11839,32.888452],[103.11859,32.888328],[103.118791,32.888205],[103.118991,32.888081],[103.119192,32.887958],[103.119393,32.887834],[103.119486,32.887731],[103.119637,32.887564],[103.119882,32.887293],[103.119947,32.887222],[103.120002,32.887195],[103.120189,32.887105],[103.120226,32.887086],[103.12043,32.886987],[103.12078,32.886775],[103.121129,32.886562],[103.121275,32.886424],[103.121431,32.886276],[103.121733,32.88599],[103.121962,32.885639],[103.12199,32.885595],[103.12219,32.885287],[103.1223,32.885063],[103.122306,32.885051],[103.12241,32.884838],[103.122546,32.884469],[103.122681,32.8841],[103.122817,32.883731],[103.122832,32.883478],[103.122847,32.883226],[103.122862,32.882973],[103.122877,32.882721],[103.122882,32.882472],[103.122885,32.882312],[103.122894,32.881904],[103.122897,32.881761],[103.122902,32.881495],[103.122883,32.881413],[103.122851,32.88127],[103.12284,32.881224],[103.122809,32.881085],[103.122715,32.880676],[103.122622,32.880266],[103.122555,32.880068],[103.122495,32.879892],[103.12245,32.879756],[103.122369,32.879519],[103.122317,32.879364],[103.122243,32.879145],[103.122121,32.878929],[103.121998,32.878713],[103.121803,32.87846],[103.121607,32.878207],[103.121483,32.877991],[103.121358,32.877775],[103.121234,32.877559],[103.121109,32.877344],[103.120981,32.877027],[103.120853,32.876709],[103.12083,32.876484],[103.120806,32.876259],[103.120819,32.876012],[103.120824,32.87592],[103.120834,32.87572],[103.120841,32.875582],[103.120883,32.87535],[103.120925,32.875117],[103.120965,32.874895],[103.121005,32.874673],[103.121045,32.87445],[103.121085,32.874228],[103.121125,32.874006],[103.121165,32.873784],[103.121316,32.873415],[103.121467,32.873047],[103.121685,32.87271],[103.121911,32.872415],[103.122137,32.87212],[103.12236,32.872035],[103.12242,32.872012],[103.122582,32.87195],[103.122843,32.87184],[103.123104,32.871731],[103.123382,32.871712],[103.12366,32.871692],[103.124081,32.871633],[103.124199,32.871555],[103.12424,32.871377],[103.124254,32.871349],[103.124402,32.871044],[103.124564,32.870711],[103.124698,32.870503],[103.124831,32.870295],[103.124965,32.870087],[103.125099,32.869879],[103.12531,32.869522],[103.125521,32.869165],[103.125733,32.868808],[103.125913,32.868614],[103.126094,32.86842],[103.126187,32.868366],[103.12641,32.868239],[103.126424,32.868231],[103.126655,32.868122],[103.126736,32.868102],[103.12704,32.868031],[103.127285,32.867982],[103.12753,32.867933],[103.127776,32.867884],[103.128021,32.867835],[103.128266,32.867786],[103.128511,32.867737],[103.128608,32.867718],[103.128757,32.867689],[103.129002,32.86764],[103.129234,32.867593],[103.129466,32.867547],[103.129699,32.867501],[103.129931,32.867455],[103.130163,32.867408],[103.130395,32.867362],[103.130628,32.867316],[103.13086,32.867269],[103.131092,32.867223],[103.131151,32.867211],[103.131182,32.867205],[103.131324,32.867177],[103.131556,32.867131],[103.131789,32.867084],[103.132057,32.867072],[103.132325,32.86706],[103.132594,32.867048],[103.132862,32.867036],[103.13313,32.867023],[103.133399,32.867011],[103.13357,32.86702],[103.133817,32.867033],[103.133862,32.867036],[103.134236,32.867055],[103.134655,32.867078],[103.135073,32.8671],[103.1353,32.867089],[103.135528,32.867078],[103.135755,32.867067],[103.135983,32.867057],[103.13621,32.867046],[103.136438,32.867035],[103.136665,32.867024],[103.136892,32.867014],[103.137122,32.867019],[103.137352,32.867025],[103.137581,32.86703],[103.137811,32.867036],[103.137887,32.867037],[103.138041,32.867041],[103.13827,32.867047],[103.1385,32.867052],[103.13873,32.867057],[103.139027,32.867038],[103.139324,32.867018],[103.139655,32.866971],[103.139737,32.866959],[103.140151,32.8669],[103.140377,32.866835],[103.140603,32.86677],[103.140829,32.866705],[103.141055,32.86664],[103.141293,32.866571],[103.14153,32.866502],[103.141767,32.866432],[103.142005,32.866363],[103.142242,32.866293],[103.142479,32.866224],[103.142717,32.866154],[103.142954,32.866085],[103.14318,32.866028],[103.143407,32.86597],[103.143633,32.865913],[103.143859,32.865856],[103.144225,32.865796],[103.14459,32.865737],[103.14483,32.865676],[103.145001,32.865633],[103.145001,32.865633],[103.14507,32.865615],[103.145311,32.865554],[103.145551,32.865493],[103.145722,32.865437],[103.145956,32.865359],[103.146361,32.865225],[103.146766,32.865092],[103.147004,32.864954],[103.147241,32.864816],[103.147478,32.864679],[103.147716,32.864541],[103.147953,32.864403],[103.148191,32.864266],[103.148428,32.864128],[103.148665,32.86399],[103.148982,32.863863],[103.148993,32.863858],[103.149321,32.863726],[103.149552,32.863713],[103.149934,32.863751],[103.1503,32.863893],[103.150666,32.864034],[103.150895,32.864069],[103.151105,32.864056],[103.151318,32.864018],[103.151355,32.864012],[103.15152,32.863972],[103.151701,32.863928],[103.152047,32.863844],[103.152298,32.863727],[103.15255,32.863609],[103.152801,32.863492],[103.153052,32.863375],[103.153304,32.863258],[103.153555,32.863141],[103.153806,32.863024],[103.154058,32.862906],[103.154309,32.862789],[103.15456,32.862672],[103.154925,32.862544],[103.154936,32.86254],[103.155312,32.862408],[103.155639,32.862332],[103.156063,32.86229],[103.156326,32.862286],[103.156589,32.862282],[103.156853,32.862278],[103.157116,32.862273],[103.157187,32.862274],[103.157342,32.862274],[103.157568,32.862275],[103.157794,32.862275],[103.157998,32.862276],[103.15802,32.862276],[103.158246,32.862277],[103.158472,32.862278],[103.158699,32.862278],[103.158925,32.862279],[103.159308,32.862244],[103.159691,32.86221],[103.159937,32.86217],[103.160184,32.862131],[103.16043,32.862092],[103.160677,32.862052],[103.160923,32.862013],[103.161169,32.861973],[103.161554,32.861906],[103.161939,32.861839],[103.1622,32.861722],[103.162461,32.861605],[103.162733,32.861362],[103.16274,32.861356],[103.162756,32.861341],[103.162837,32.861165],[103.162861,32.860939],[103.162862,32.860907],[103.162864,32.860783],[103.162867,32.860617],[103.162797,32.860309],[103.162652,32.859952],[103.162449,32.859553],[103.162247,32.859155],[103.162101,32.85883],[103.162012,32.85849],[103.16198,32.858215],[103.161948,32.85794],[103.161924,32.857714],[103.161899,32.857488],[103.161875,32.857262],[103.161851,32.857035],[103.161826,32.856809],[103.161802,32.856583],[103.161809,32.856182],[103.161815,32.855781],[103.161844,32.855552],[103.161873,32.855322],[103.161902,32.855093],[103.16193,32.854863],[103.161959,32.854634],[103.161988,32.854404],[103.162017,32.854175],[103.162045,32.853945],[103.162069,32.853519],[103.162092,32.853094],[103.162115,32.852668],[103.162139,32.852242],[103.162157,32.851823],[103.162175,32.851403],[103.162193,32.850984],[103.162212,32.850564],[103.162278,32.850126],[103.162345,32.849689],[103.162411,32.849251],[103.162466,32.849023],[103.162521,32.848796],[103.162576,32.848569],[103.162631,32.848342],[103.162686,32.848115],[103.162741,32.847888],[103.162791,32.84768],[103.162795,32.847661],[103.16285,32.847433],[103.162928,32.847037],[103.162932,32.84702],[103.163007,32.84664],[103.163085,32.846243],[103.163167,32.846032],[103.163249,32.845821],[103.16333,32.84561],[103.163412,32.845399],[103.163678,32.845072],[103.163943,32.844745],[103.164138,32.844575],[103.164333,32.844404],[103.164528,32.844233],[103.164722,32.844063],[103.164992,32.843891],[103.165033,32.843866],[103.165343,32.843668],[103.16559,32.843567],[103.165836,32.843465],[103.166083,32.843364],[103.166329,32.843263],[103.16656,32.84321],[103.16679,32.843157],[103.167021,32.843104],[103.167251,32.843051],[103.167482,32.842998],[103.167713,32.842944],[103.168098,32.842885],[103.168337,32.842897],[103.168576,32.842908],[103.168851,32.842969],[103.169054,32.843013],[103.169087,32.843021],[103.169127,32.843029],[103.169491,32.843068],[103.169758,32.843063],[103.17002,32.843059],[103.170026,32.843059],[103.170257,32.842959],[103.170303,32.84294],[103.170579,32.84282],[103.170794,32.842599],[103.170872,32.842518],[103.170992,32.842293],[103.171112,32.842069],[103.17131,32.841733],[103.171508,32.841397],[103.171657,32.841001],[103.171805,32.840605],[103.171954,32.840209],[103.172074,32.83997],[103.172195,32.839732],[103.172315,32.839493],[103.172436,32.839255],[103.172652,32.838951],[103.172963,32.838714],[103.173071,32.838648],[103.173195,32.838572],[103.173618,32.838465],[103.174021,32.838471],[103.174256,32.838517],[103.17449,32.838564],[103.174725,32.83861],[103.17496,32.838657],[103.175194,32.838703],[103.175429,32.83875],[103.175667,32.83884],[103.175904,32.83893],[103.176142,32.83902],[103.17638,32.839111],[103.176617,32.839201],[103.176855,32.839291],[103.177092,32.839381],[103.17733,32.839471],[103.177524,32.839587],[103.177718,32.839703],[103.177911,32.839819],[103.178105,32.839935],[103.178247,32.840042],[103.178287,32.840072],[103.178387,32.840148],[103.178669,32.840362],[103.17903,32.840545],[103.1793,32.840629],[103.179337,32.84064],[103.179439,32.840672],[103.179849,32.840798],[103.180189,32.840846],[103.18053,32.840894],[103.180931,32.8409],[103.181211,32.840799],[103.18149,32.840698],[103.181857,32.840494],[103.181977,32.840354],[103.182014,32.84031],[103.182172,32.840127],[103.182349,32.83988],[103.182527,32.839632],[103.182684,32.839457],[103.18284,32.839282],[103.182997,32.839107],[103.183153,32.838931],[103.183494,32.838729],[103.183512,32.838719],[103.18387,32.838506],[103.184112,32.838401],[103.184354,32.838295],[103.184596,32.83819],[103.184838,32.838084],[103.18508,32.837979],[103.185322,32.837873],[103.185564,32.837768],[103.185807,32.837662],[103.186049,32.837557],[103.186291,32.837451],[103.18653,32.837336],[103.18677,32.837222],[103.18701,32.837107],[103.18725,32.836993],[103.187489,32.836878],[103.187729,32.836764],[103.187969,32.836649],[103.188208,32.836535],[103.188448,32.83642],[103.188688,32.836306],[103.188917,32.836196],[103.189145,32.836087],[103.189374,32.835978],[103.189603,32.835868],[103.189831,32.835759],[103.19006,32.83565],[103.190446,32.835482],[103.190832,32.835314],[103.191218,32.835147],[103.191604,32.834979],[103.192008,32.834871],[103.192412,32.834764],[103.192817,32.834657],[103.193221,32.83455],[103.193463,32.834502],[103.193705,32.834454],[103.193947,32.834407],[103.194189,32.834359],[103.194536,32.834189],[103.194867,32.833927],[103.194878,32.833919],[103.195198,32.833666],[103.195295,32.833537],[103.195533,32.833313],[103.195771,32.833089],[103.196009,32.832865],[103.196178,32.832611],[103.196346,32.832358],[103.196526,32.832028],[103.196568,32.83195],[103.196706,32.831697],[103.196885,32.831367],[103.197065,32.831037],[103.197182,32.830782],[103.197287,32.830497],[103.197365,32.830282],[103.197391,32.830212],[103.197467,32.830005],[103.197496,32.829928],[103.197573,32.829607],[103.19765,32.829286],[103.197727,32.828965],[103.197749,32.828835],[103.197829,32.828571],[103.197894,32.828356],[103.19796,32.82814],[103.198043,32.827921],[103.198049,32.827908],[103.198096,32.827803],[103.198178,32.827657],[103.198416,32.827419],[103.198681,32.827316],[103.198945,32.827212],[103.199241,32.827116],[103.199537,32.827019],[103.199737,32.826998],[103.199994,32.827055],[103.200251,32.827112],[103.200529,32.827184],[103.200808,32.827255],[103.200921,32.827251],[103.201029,32.827248],[103.201429,32.827155],[103.201494,32.827135],[103.2019,32.827012],[103.202092,32.826991],[103.202127,32.826987],[103.202353,32.826961],[103.202771,32.826899],[103.202871,32.826884],[103.203162,32.82683],[103.203388,32.826699],[103.203638,32.826527],[103.203811,32.826339],[103.203983,32.826152],[103.20416,32.825835],[103.204337,32.825518],[103.204369,32.825468],[103.204475,32.8253],[103.204614,32.825081],[103.204762,32.824737],[103.20491,32.824394],[103.20513,32.824015],[103.205212,32.823969],[103.20534,32.823927],[103.205725,32.823883],[103.206164,32.823907],[103.206469,32.823958],[103.206707,32.82401],[103.206944,32.824063],[103.207147,32.824133],[103.207287,32.824181],[103.207629,32.824299],[103.207968,32.824513],[103.208289,32.824775],[103.208569,32.825118],[103.20869,32.825314],[103.20881,32.82551],[103.208864,32.825728],[103.208917,32.825947],[103.208946,32.826382],[103.208938,32.826762],[103.208931,32.827141],[103.208934,32.827566],[103.208937,32.827991],[103.208987,32.828346],[103.209096,32.828573],[103.20932,32.828852],[103.209613,32.829066],[103.209906,32.82928],[103.210091,32.829412],[103.210277,32.829543],[103.210462,32.829675],[103.210648,32.829807],[103.210833,32.829939],[103.211019,32.830071],[103.211243,32.830195],[103.211468,32.830319],[103.211693,32.830443],[103.211918,32.830567],[103.212142,32.830691],[103.212367,32.830815],[103.212592,32.83094],[103.212817,32.831064],[103.213161,32.831234],[103.213506,32.831403],[103.213851,32.831573],[103.21427,32.831692],[103.214391,32.831702],[103.214708,32.831731],[103.214957,32.831742],[103.215206,32.831754],[103.215474,32.831756],[103.215742,32.831757],[103.21601,32.831759],[103.216278,32.831761],[103.216546,32.831762],[103.216814,32.831764],[103.217082,32.831766],[103.21735,32.831767],[103.21779,32.831779],[103.21823,32.831791],[103.218502,32.831799],[103.218669,32.831803],[103.218898,32.831838],[103.219126,32.831874],[103.219506,32.832025],[103.219754,32.832189],[103.219932,32.832353],[103.22011,32.832518],[103.220412,32.832828],[103.220715,32.833139],[103.221017,32.833449],[103.221258,32.833696],[103.221499,32.833943],[103.221653,32.834107],[103.221808,32.834272],[103.221963,32.834436],[103.222117,32.8346],[103.222272,32.834765],[103.222426,32.834929],[103.222581,32.835093],[103.222736,32.835258],[103.22289,32.835422],[103.223045,32.835586],[103.223355,32.835888],[103.223664,32.83619],[103.223823,32.836419],[103.223981,32.836648],[103.224167,32.836933],[103.224352,32.837218],[103.224517,32.837422],[103.224682,32.837626],[103.224847,32.83783],[103.225012,32.838034],[103.225177,32.838238],[103.225342,32.838442],[103.225483,32.838664],[103.225625,32.838887],[103.225766,32.83911],[103.225908,32.839333],[103.226049,32.839555],[103.226191,32.839778],[103.226332,32.840001],[103.226474,32.840224],[103.226615,32.840447],[103.226757,32.840669],[103.22682,32.840888],[103.226882,32.841107],[103.226945,32.841325],[103.227008,32.841544],[103.227087,32.841884],[103.227166,32.842224],[103.227219,32.842467],[103.227272,32.84271],[103.227373,32.843103],[103.227474,32.843495],[103.227575,32.843888],[103.227702,32.844261],[103.227828,32.844634],[103.228032,32.844943],[103.228237,32.845221],[103.228415,32.845426],[103.228593,32.84563],[103.228853,32.84594],[103.229021,32.846217],[103.229189,32.846493],[103.229437,32.846868],[103.229684,32.847243],[103.229932,32.847618],[103.23006,32.847902],[103.230187,32.848186],[103.230302,32.8486],[103.230416,32.849015],[103.23053,32.849429],[103.230602,32.849689],[103.230673,32.849948],[103.230745,32.850207],[103.230816,32.850466],[103.230944,32.850775],[103.231169,32.850988],[103.231416,32.851119],[103.231757,32.851222],[103.232141,32.851243],[103.232428,32.851248],[103.232715,32.851253],[103.232945,32.851207],[103.233176,32.851161],[103.233579,32.851102],[103.233982,32.851044],[103.234211,32.851079],[103.23444,32.851115],[103.234697,32.851183],[103.234954,32.851251],[103.235239,32.851368],[103.235524,32.851485],[103.235921,32.851634],[103.236318,32.851782],[103.236715,32.851931],[103.237113,32.852079],[103.237532,32.852182],[103.23777,32.852234],[103.238009,32.852286],[103.238247,32.852338],[103.238485,32.85239],[103.238731,32.852404],[103.238976,32.852418],[103.239221,32.852432],[103.239467,32.852446],[103.239712,32.85246],[103.239957,32.852474],[103.240202,32.852482],[103.240447,32.852491],[103.240692,32.852499],[103.240937,32.852507],[103.241182,32.852515],[103.241426,32.852524],[103.241671,32.852532],[103.241916,32.85254],[103.242161,32.852549],[103.242406,32.852557],[103.242664,32.852581],[103.242922,32.852605],[103.243179,32.852628],[103.243437,32.852652],[103.243695,32.852676],[103.243953,32.8527],[103.244211,32.852724],[103.244469,32.852747],[103.244828,32.852827],[103.245187,32.852906],[103.24553,32.852992],[103.245873,32.853077],[103.245913,32.853095],[103.245991,32.853129],[103.246216,32.853228],[103.246574,32.853442],[103.24679,32.853542],[103.247006,32.853642],[103.247221,32.853742],[103.247437,32.853842],[103.247653,32.853942],[103.247869,32.854041],[103.248084,32.854141],[103.2483,32.854241],[103.248306,32.854244],[103.2487,32.854408],[103.249027,32.85445],[103.249119,32.854462],[103.249339,32.854465],[103.249371,32.854466],[103.249552,32.854468],[103.249623,32.854469],[103.249875,32.854473],[103.250127,32.854476],[103.250379,32.85448],[103.250631,32.854484],[103.25091,32.854454],[103.251188,32.854424],[103.251578,32.854382],[103.251968,32.85434],[103.252358,32.854298],[103.252799,32.854229],[103.253241,32.854159],[103.253683,32.85409],[103.253934,32.854041],[103.254184,32.853992],[103.254435,32.853943],[103.254686,32.853894],[103.254937,32.853845],[103.255188,32.853796],[103.255439,32.853747],[103.25569,32.853698],[103.255941,32.853649],[103.256191,32.8536],[103.256442,32.853551],[103.256693,32.853502],[103.256923,32.853489],[103.257153,32.853476],[103.257421,32.853512],[103.257649,32.853612],[103.257877,32.85376],[103.258075,32.853916],[103.258272,32.854073],[103.25847,32.854229],[103.258668,32.854385],[103.258827,32.854565],[103.258986,32.854744],[103.259145,32.854924],[103.259304,32.855104],[103.259464,32.855283],[103.259623,32.855463],[103.259782,32.855642],[103.259941,32.855822],[103.26013,32.85597],[103.260318,32.856119],[103.260698,32.856318],[103.260923,32.856411],[103.261149,32.856505],[103.261374,32.856599],[103.2616,32.856693],[103.261822,32.856786],[103.261825,32.856787],[103.26205,32.856881],[103.262276,32.856975],[103.262501,32.857068],[103.26279,32.857256],[103.263079,32.857444],[103.263419,32.857696],[103.263759,32.857948],[103.264099,32.8582],[103.264272,32.858348],[103.264444,32.858496],[103.264617,32.858643],[103.264789,32.858791],[103.264962,32.858939],[103.265134,32.859087],[103.265456,32.859268],[103.265664,32.859368],[103.265872,32.859469],[103.266101,32.85955],[103.266329,32.859631],[103.266557,32.859712],[103.266785,32.859793],[103.267013,32.859874],[103.267241,32.859955],[103.26746,32.860023],[103.267679,32.86009],[103.267898,32.860158],[103.268117,32.860225],[103.268336,32.860293],[103.268555,32.86036],[103.268774,32.860428],[103.268993,32.860495],[103.269212,32.860562],[103.269431,32.86063],[103.269696,32.860755],[103.269961,32.860881],[103.270284,32.861046],[103.270567,32.861243],[103.270774,32.861457],[103.270999,32.861701],[103.27114,32.861885],[103.271281,32.862069],[103.271423,32.862253],[103.271564,32.862437],[103.271705,32.862621],[103.271847,32.862804],[103.2721,32.863106],[103.272353,32.863408],[103.27255,32.863596],[103.272747,32.863784],[103.272939,32.863946],[103.27313,32.864107],[103.273321,32.864268],[103.273513,32.86443],[103.273704,32.864591],[103.273896,32.864753],[103.274122,32.864965],[103.274327,32.865307],[103.274437,32.865511],[103.274548,32.865714],[103.274689,32.865953],[103.274829,32.866191],[103.27497,32.866429],[103.27511,32.866667],[103.275256,32.866992],[103.275402,32.867318],[103.275493,32.867601],[103.275584,32.867885],[103.275757,32.868299],[103.275931,32.868713],[103.276089,32.868973],[103.276247,32.869233],[103.276445,32.869421],[103.276642,32.86961],[103.276865,32.869752],[103.277088,32.869894],[103.277311,32.870036],[103.277534,32.870178],[103.277748,32.870262],[103.277962,32.870345],[103.278176,32.870429],[103.278389,32.870512],[103.27879,32.870588],[103.279191,32.870664],[103.279591,32.87074],[103.279859,32.870774],[103.280126,32.870808],[103.280393,32.870841],[103.280661,32.870875],[103.280928,32.870909],[103.281195,32.870943],[103.281463,32.870977],[103.28173,32.871011],[103.282163,32.87107],[103.282596,32.87113],[103.28303,32.87119],[103.283267,32.871266],[103.283505,32.871342],[103.283743,32.871418],[103.283981,32.871494],[103.28423,32.871611],[103.284479,32.871729],[103.284728,32.871847],[103.284978,32.871965],[103.285215,32.872065],[103.285453,32.872165],[103.285688,32.872267],[103.285923,32.872369],[103.286158,32.872471],[103.286393,32.872573],[103.286628,32.872675],[103.286863,32.872777],[103.287098,32.872879],[103.287333,32.872981],[103.287546,32.873061],[103.287759,32.873142],[103.287972,32.873222],[103.288185,32.873303],[103.288398,32.873383],[103.288611,32.873464],[103.288824,32.873544],[103.289037,32.873625],[103.28925,32.873705],[103.289463,32.873786],[103.289709,32.873894],[103.289956,32.874002],[103.290203,32.87411],[103.29045,32.874218],[103.290696,32.874326],[103.290943,32.874434],[103.291205,32.874492],[103.291468,32.87455],[103.29173,32.874609],[103.291992,32.874667],[103.292254,32.874725],[103.292516,32.874783],[103.292779,32.874841],[103.293041,32.874899],[103.293464,32.87493],[103.293887,32.874961],[103.294311,32.874992],[103.294734,32.875022],[103.295096,32.875093],[103.29514,32.875115],[103.295514,32.875307],[103.295662,32.875519],[103.295848,32.875861],[103.295994,32.876202],[103.296141,32.876542],[103.296262,32.876897],[103.296383,32.877252],[103.296503,32.877607],[103.296515,32.877995],[103.296471,32.878316],[103.296254,32.878653],[103.296135,32.878853],[103.296016,32.879053],[103.295838,32.879349],[103.29566,32.879645],[103.295554,32.879855],[103.295447,32.880065],[103.295341,32.880275],[103.295234,32.880485],[103.295128,32.880694],[103.295021,32.880904],[103.294909,32.881282],[103.294796,32.88166],[103.294764,32.881886],[103.294731,32.882112],[103.294724,32.882442],[103.294717,32.882773],[103.294691,32.88312],[103.294665,32.883467],[103.294612,32.883736],[103.294559,32.884005],[103.294506,32.884275],[103.294453,32.884544],[103.294343,32.884796],[103.294232,32.885047],[103.294121,32.885298],[103.294011,32.88555],[103.293865,32.885741],[103.29372,32.885933],[103.293575,32.886125],[103.293429,32.886316],[103.293284,32.886508],[103.293139,32.8867],[103.292993,32.886891],[103.292848,32.887083],[103.292703,32.887275],[103.292557,32.887466],[103.292438,32.88774],[103.292449,32.888095],[103.292615,32.888436],[103.292745,32.888639],[103.292876,32.888842],[103.293178,32.889054],[103.293481,32.889265],[103.29385,32.889472],[103.294219,32.88968],[103.294432,32.88984],[103.294644,32.890001],[103.294857,32.890161],[103.29507,32.890322],[103.295263,32.890473],[103.295456,32.890625],[103.29565,32.890777],[103.295843,32.890929],[103.296036,32.89108],[103.29623,32.891232],[103.296423,32.891384],[103.296616,32.891535],[103.296795,32.891724],[103.296973,32.891912],[103.297151,32.8921],[103.29733,32.892288],[103.297418,32.892579],[103.29739,32.892745],[103.297375,32.892837],[103.297357,32.892895],[103.297357,32.892896],[103.297305,32.893068],[103.297236,32.893299],[103.297166,32.893531],[103.297097,32.893762],[103.297033,32.894035],[103.29697,32.894309],[103.296888,32.894678],[103.29686,32.895082],[103.296837,32.895308],[103.296814,32.895534],[103.296822,32.895887],[103.296824,32.895953],[103.296862,32.896193],[103.296892,32.89639],[103.296961,32.896777],[103.297,32.897003],[103.297039,32.897228],[103.297077,32.897453],[103.297083,32.897488],[103.297116,32.897678],[103.297244,32.898019],[103.297371,32.898359],[103.297528,32.898644],[103.297556,32.898695],[103.297686,32.898929],[103.297843,32.89923],[103.298,32.89953],[103.2981,32.899822],[103.2982,32.900114],[103.298318,32.900446],[103.298335,32.900494],[103.298436,32.900778],[103.298486,32.901183],[103.298491,32.90142],[103.298496,32.901657],[103.298501,32.901894],[103.298506,32.902131],[103.298499,32.902368],[103.298491,32.902604],[103.298483,32.902841],[103.298475,32.903078],[103.298468,32.903314],[103.29846,32.903551],[103.298453,32.903914],[103.298446,32.904277],[103.298459,32.904616],[103.298472,32.904955],[103.298504,32.905238],[103.298537,32.905521],[103.298542,32.905769],[103.298547,32.906017],[103.298552,32.906264],[103.298556,32.906512],[103.298561,32.90676],[103.298566,32.907008],[103.298571,32.907255],[103.298576,32.907503],[103.298552,32.907777],[103.298528,32.908051],[103.298503,32.908326],[103.298479,32.9086],[103.298474,32.908852],[103.298469,32.909103],[103.298464,32.909355],[103.298459,32.909607],[103.298455,32.909859],[103.29845,32.910111],[103.298445,32.910363],[103.29844,32.910615],[103.298452,32.910877],[103.298463,32.911139],[103.298475,32.9114],[103.298487,32.911662],[103.298499,32.911924],[103.29851,32.912186],[103.298522,32.912448],[103.298534,32.912709],[103.298582,32.913151],[103.298631,32.913593],[103.29868,32.914034],[103.298702,32.914438],[103.298723,32.914842],[103.298724,32.915277],[103.298726,32.915711],[103.298625,32.916016],[103.298408,32.91632],[103.298184,32.916518],[103.29796,32.916716],[103.297858,32.916782],[103.297494,32.917017],[103.297282,32.917103],[103.29707,32.917189],[103.296858,32.917275],[103.296645,32.917361],[103.2964,32.917455],[103.296154,32.91755],[103.295909,32.917645],[103.295663,32.917739],[103.295418,32.917834],[103.295173,32.917928],[103.294927,32.918023],[103.294682,32.918118],[103.294436,32.918212],[103.294191,32.918307],[103.293945,32.918402],[103.2937,32.918496],[103.293454,32.918591],[103.293209,32.918686],[103.292841,32.918882],[103.292474,32.919078],[103.29226,32.919253],[103.291987,32.919492],[103.291847,32.919781],[103.291792,32.920011],[103.291737,32.920241],[103.291729,32.920604],[103.291722,32.920967],[103.291708,32.921201],[103.291694,32.921434],[103.29168,32.921668],[103.291666,32.921902],[103.29166,32.922209],[103.291653,32.922515],[103.29161,32.922805],[103.291566,32.923094],[103.291444,32.92348],[103.291304,32.923786],[103.291137,32.924126],[103.29097,32.924465],[103.290803,32.924805],[103.290592,32.925163],[103.29038,32.925521],[103.290169,32.925878],[103.290026,32.926082],[103.289883,32.926286],[103.28974,32.92649],[103.289597,32.926694],[103.289476,32.926886],[103.289354,32.927078],[103.289232,32.92727],[103.28911,32.927462],[103.288989,32.927654],[103.288867,32.927846],[103.288706,32.928046],[103.288546,32.928247],[103.288385,32.928448],[103.288224,32.928648],[103.288064,32.928849],[103.287903,32.929049],[103.287742,32.92925],[103.287582,32.929451],[103.287421,32.929651],[103.28726,32.929852],[103.2871,32.930052],[103.286939,32.930253],[103.286627,32.930507],[103.286506,32.930605],[103.286315,32.930761],[103.286083,32.930895],[103.285851,32.931029],[103.285542,32.931113],[103.285233,32.931197],[103.284898,32.931217],[103.284563,32.931237],[103.284299,32.931231],[103.284036,32.931226],[103.283773,32.93122],[103.283509,32.931214],[103.283246,32.931209],[103.282982,32.931203],[103.282719,32.931197],[103.282456,32.931192],[103.282321,32.931255],[103.28228,32.931383],[103.282275,32.931625],[103.282384,32.931966],[103.282554,32.932162],[103.282761,32.932213],[103.283144,32.932291],[103.283526,32.932369],[103.283767,32.932425],[103.284007,32.932481],[103.284248,32.932536],[103.284489,32.932592],[103.284729,32.932648],[103.28497,32.932704],[103.285022,32.932716],[103.285211,32.93276],[103.285451,32.932815],[103.285857,32.932952],[103.286262,32.933089],[103.286667,32.933226],[103.287073,32.933363],[103.28711,32.933375],[103.28733,32.933447],[103.28744,32.933483],[103.287587,32.933531],[103.287844,32.933615],[103.288101,32.9337],[103.288463,32.933834],[103.288701,32.933912],[103.288748,32.933927],[103.289033,32.93402],[103.289397,32.934056],[103.289628,32.934045],[103.289646,32.934044],[103.289668,32.934035],[103.289955,32.93392],[103.290172,32.93378],[103.290389,32.933639],[103.290607,32.933498],[103.290735,32.933415],[103.290824,32.933357],[103.290998,32.933244],[103.291041,32.933217],[103.291155,32.933143],[103.291259,32.933076],[103.291476,32.932935],[103.291693,32.932794],[103.291911,32.932654],[103.292128,32.932513],[103.292325,32.932379],[103.292522,32.932245],[103.292718,32.932111],[103.292915,32.931977],[103.293112,32.931844],[103.293309,32.93171],[103.293506,32.931576],[103.293702,32.931442],[103.293899,32.931308],[103.294096,32.931174],[103.294277,32.931016],[103.294458,32.930857],[103.29464,32.930698],[103.294821,32.930539],[103.295002,32.93038],[103.295183,32.930221],[103.295365,32.930062],[103.295546,32.929904],[103.295727,32.929745],[103.295908,32.929586],[103.296092,32.929383],[103.296276,32.929179],[103.296459,32.928976],[103.296643,32.928773],[103.296826,32.928569],[103.29701,32.928366],[103.297194,32.928163],[103.297377,32.927959],[103.297531,32.92778],[103.297684,32.9276],[103.297838,32.92742],[103.297991,32.92724],[103.298145,32.927061],[103.298299,32.926881],[103.298452,32.926701],[103.298606,32.926521],[103.298759,32.926342],[103.298913,32.926162],[103.299103,32.925987],[103.299294,32.925812],[103.299484,32.925637],[103.299674,32.925462],[103.299964,32.925352],[103.300308,32.925309],[103.300559,32.92524],[103.30081,32.92517],[103.301032,32.925092],[103.301253,32.925014],[103.301548,32.924836],[103.301842,32.924658],[103.30201,32.924504],[103.302178,32.92435],[103.302346,32.924195],[103.302513,32.924041],[103.302681,32.923887],[103.302849,32.923732],[103.303016,32.923578],[103.303184,32.923424],[103.303352,32.923269],[103.30352,32.923115],[103.303723,32.922977],[103.303927,32.922838],[103.304131,32.9227],[103.304335,32.922561],[103.304538,32.922423],[103.304742,32.922284],[103.304946,32.922146],[103.30515,32.922007],[103.305526,32.921851],[103.305657,32.921797],[103.305902,32.921695],[103.305997,32.921687],[103.306209,32.921667],[103.306592,32.921672],[103.306801,32.921788],[103.306952,32.921919],[103.30707,32.922155],[103.307082,32.922179],[103.307116,32.922357],[103.307101,32.922457],[103.307073,32.922647],[103.307029,32.922937],[103.306966,32.923188],[103.306966,32.92319],[103.306965,32.923192],[103.306904,32.923439],[103.306841,32.923691],[103.306779,32.923942],[103.306716,32.924193],[103.306654,32.924445],[103.306592,32.924696],[103.306529,32.924947],[103.306572,32.925244],[103.306615,32.925541],[103.306696,32.925967],[103.306777,32.926393],[103.306858,32.926819],[103.306985,32.927176],[103.307112,32.927532],[103.307233,32.927756],[103.307354,32.927979],[103.307457,32.928171],[103.307469,32.928193],[103.307474,32.928203],[103.307474,32.928203],[103.307595,32.928426],[103.307694,32.928534],[103.307763,32.92861],[103.307857,32.928712],[103.30812,32.928999],[103.308298,32.929195],[103.308476,32.929391],[103.308655,32.929587],[103.308833,32.929784],[103.309151,32.930045],[103.309235,32.930115],[103.309468,32.930306],[103.309484,32.930319],[103.309785,32.930567],[103.309992,32.930763],[103.310103,32.931024],[103.310077,32.931346],[103.309977,32.931683],[103.309884,32.931964],[103.309792,32.932246],[103.309698,32.932504],[103.309603,32.932762],[103.309508,32.93302],[103.309414,32.933278],[103.309319,32.933536],[103.309224,32.933793],[103.309129,32.934051],[103.309035,32.934309],[103.308817,32.934699],[103.3086,32.935089],[103.308581,32.935123],[103.308531,32.935212],[103.308383,32.935478],[103.308101,32.935803],[103.308098,32.935807],[103.308056,32.935855],[103.307898,32.936037],[103.30782,32.936127],[103.307539,32.936452],[103.307133,32.936625],[103.307085,32.936636],[103.306863,32.93669],[103.306861,32.93669],[103.306859,32.936691],[103.306594,32.936754],[103.306325,32.936819],[103.306056,32.936884],[103.305681,32.936943],[103.305307,32.937002],[103.305046,32.937063],[103.304786,32.937125],[103.304526,32.937186],[103.304266,32.937247],[103.304042,32.93739],[103.303819,32.937532],[103.303661,32.937772],[103.303504,32.938012],[103.303436,32.938374],[103.303487,32.938731],[103.30354,32.938957],[103.303593,32.939184],[103.303689,32.939411],[103.303785,32.939638],[103.303882,32.939866],[103.303978,32.940093],[103.304109,32.94028],[103.304239,32.940468],[103.30437,32.940655],[103.3045,32.940843],[103.304792,32.941121],[103.305084,32.941399],[103.305233,32.941689],[103.305383,32.941979],[103.305578,32.942353],[103.305772,32.942727],[103.306025,32.943021],[103.306278,32.943315],[103.306398,32.943583],[103.306517,32.943851],[103.306647,32.944087],[103.306776,32.944322],[103.307,32.944672],[103.307223,32.945022],[103.307437,32.945348],[103.307651,32.945674],[103.307867,32.945919],[103.308082,32.946164],[103.308413,32.946445],[103.308744,32.946726],[103.309075,32.947007],[103.309406,32.947289],[103.309601,32.947481],[103.309796,32.947673],[103.309992,32.947866],[103.310187,32.948058],[103.310382,32.94825],[103.310578,32.948443],[103.310773,32.948635],[103.310968,32.948827],[103.311059,32.94907],[103.311035,32.949328],[103.310876,32.949617],[103.310695,32.9498],[103.310515,32.949983],[103.310334,32.950166],[103.310153,32.950349],[103.309955,32.950691],[103.309756,32.951034],[103.309635,32.951339],[103.309515,32.951644],[103.309444,32.951865],[103.309373,32.952086],[103.309302,32.952307],[103.309231,32.952528],[103.309089,32.952919],[103.308947,32.95331],[103.308805,32.953702],[103.30879,32.953992],[103.308775,32.954282],[103.308864,32.954622],[103.308953,32.954961],[103.309045,32.955181],[103.309137,32.9554],[103.30936,32.955767],[103.309583,32.956134],[103.309807,32.956501],[103.309918,32.956712],[103.310028,32.956923],[103.310139,32.957134],[103.31025,32.957345],[103.310369,32.957662],[103.310487,32.957978],[103.310594,32.958399],[103.310607,32.958449],[103.310681,32.958732],[103.310755,32.959015],[103.31077,32.959257],[103.310785,32.9595],[103.310867,32.959722],[103.310949,32.959945],[103.311031,32.960167],[103.311113,32.96039],[103.311219,32.960627],[103.311324,32.960865],[103.31143,32.961102],[103.311536,32.96134],[103.311641,32.961577],[103.311747,32.961815],[103.311853,32.962052],[103.311958,32.96229],[103.312073,32.962498],[103.312187,32.962707],[103.312301,32.962916],[103.312416,32.963124],[103.31253,32.963333],[103.312644,32.963542],[103.31286,32.963762],[103.313076,32.963983],[103.313186,32.964242],[103.313219,32.964533],[103.313158,32.96471],[103.313002,32.964837],[103.312656,32.964962],[103.312251,32.96502],[103.311885,32.965081],[103.311625,32.965198],[103.311514,32.965248],[103.311365,32.965315],[103.311184,32.965425],[103.31117,32.965433],[103.310976,32.965551],[103.310782,32.965669],[103.310588,32.965787],[103.310394,32.965906],[103.3102,32.966024],[103.310035,32.966234],[103.310089,32.966472],[103.310252,32.966844],[103.310396,32.96706],[103.31054,32.967277],[103.310777,32.967489],[103.310962,32.967654],[103.311013,32.967701],[103.311254,32.967946],[103.311495,32.968192],[103.311622,32.968323],[103.311735,32.968438],[103.312013,32.96871],[103.312291,32.968982],[103.31252,32.969224],[103.312748,32.969465],[103.313044,32.969782],[103.313291,32.970046],[103.313539,32.970311],[103.313746,32.970548],[103.313954,32.970786],[103.314133,32.970989],[103.314162,32.971023],[103.31454,32.971243],[103.314875,32.971474],[103.31521,32.971705],[103.315225,32.971717],[103.315468,32.971905],[103.315726,32.972106],[103.315969,32.972419],[103.316044,32.972515],[103.316181,32.972756],[103.316318,32.972996],[103.31642,32.973212],[103.316522,32.973428],[103.316588,32.97365],[103.316655,32.973871],[103.316702,32.974016],[103.316735,32.974117],[103.316815,32.974362],[103.316867,32.974631],[103.316902,32.974818],[103.316918,32.9749],[103.316977,32.975158],[103.317036,32.975415],[103.317065,32.975761],[103.317093,32.976107],[103.317002,32.97653],[103.316969,32.976678],[103.316837,32.976858],[103.316708,32.977032],[103.316446,32.977387],[103.316236,32.977664],[103.316026,32.977942],[103.315815,32.978201],[103.315605,32.978461],[103.315427,32.978603],[103.315261,32.978735],[103.314939,32.979009],[103.314739,32.97918],[103.314721,32.979199],[103.314572,32.979358],[103.314525,32.979573],[103.314535,32.979612],[103.314561,32.979713],[103.314596,32.979846],[103.314725,32.98013],[103.314854,32.980414],[103.314893,32.980501],[103.314941,32.980673],[103.314989,32.980846],[103.315036,32.981244],[103.315059,32.981432],[103.315084,32.981643],[103.315159,32.982055],[103.315234,32.982468],[103.31531,32.98288],[103.315402,32.983207],[103.315494,32.983534],[103.315586,32.983862],[103.315626,32.984001],[103.315679,32.984189],[103.315687,32.984434],[103.315696,32.984679],[103.315702,32.984855],[103.315691,32.985188],[103.315798,32.985474],[103.315952,32.985795],[103.316309,32.986021],[103.316635,32.986194],[103.31696,32.986368],[103.317304,32.98658],[103.317671,32.986805],[103.31788,32.986928],[103.31809,32.987052],[103.3183,32.987175],[103.31851,32.987298],[103.318719,32.987421],[103.318929,32.987545],[103.319155,32.987765],[103.319381,32.987986],[103.319559,32.988182],[103.319738,32.988378],[103.319917,32.988574],[103.320095,32.98877],[103.320249,32.98899],[103.320403,32.98921],[103.320558,32.98943],[103.320712,32.98965],[103.320823,32.989853],[103.320934,32.990056],[103.321045,32.99026],[103.321156,32.990463],[103.321267,32.990666],[103.321378,32.990869],[103.321489,32.991073],[103.3216,32.991276],[103.321788,32.991649],[103.321975,32.992021],[103.322144,32.992209],[103.322314,32.992397],[103.322615,32.992692],[103.322965,32.992915],[103.323315,32.993138],[103.323528,32.993232],[103.32374,32.993326],[103.323952,32.99342],[103.324165,32.993514],[103.324377,32.993609],[103.324589,32.993703],[103.324629,32.993718],[103.324853,32.993801],[103.325077,32.993885],[103.325423,32.994008],[103.325768,32.994131],[103.326113,32.994254],[103.326333,32.994409],[103.326553,32.994563],[103.326553,32.994564],[103.326554,32.994564],[103.326898,32.994843],[103.327243,32.995122],[103.327512,32.995388],[103.327782,32.995654],[103.328052,32.995919],[103.32826,32.996056],[103.328468,32.996193],[103.328568,32.996236],[103.328676,32.996283],[103.329075,32.996455],[103.329392,32.996681],[103.329709,32.996907],[103.330027,32.997133],[103.330356,32.997387],[103.330685,32.997641],[103.331014,32.997894],[103.33107,32.998009],[103.331173,32.99822],[103.331276,32.99843],[103.33147,32.998609],[103.331585,32.998715],[103.331865,32.998816],[103.332014,32.99887],[103.332138,32.998956],[103.332287,32.99906],[103.332442,32.999322],[103.33254,32.999627],[103.332638,32.999932],[103.332736,33.000236],[103.332763,33.000321],[103.332942,33.000619],[103.333153,33.000798],[103.333365,33.000977],[103.333552,33.001135],[103.33366,33.001227],[103.333955,33.001476],[103.33425,33.001725],[103.334464,33.001987],[103.334487,33.002208],[103.3345,33.002332],[103.334504,33.002366],[103.33452,33.0025],[103.334565,33.002895],[103.334589,33.003105],[103.334611,33.003291],[103.334657,33.003686],[103.334702,33.004081],[103.334792,33.004343],[103.334881,33.004605],[103.334994,33.004935],[103.335107,33.005265],[103.335112,33.005279],[103.33522,33.005595],[103.335333,33.005925],[103.335505,33.006306],[103.335678,33.006687],[103.335892,33.007055],[103.335999,33.0074],[103.33601,33.007439],[103.336071,33.007656],[103.336114,33.007811],[103.336142,33.007912],[103.336201,33.008178],[103.336209,33.008215],[103.336261,33.008447],[103.336404,33.008792],[103.336635,33.009159],[103.336749,33.00934],[103.336803,33.00941],[103.336875,33.009503],[103.33703,33.009704],[103.337257,33.009997],[103.33731,33.010052],[103.337492,33.010237],[103.337728,33.010476],[103.337963,33.010716],[103.338184,33.011],[103.338406,33.011285],[103.338627,33.011569],[103.338848,33.011854],[103.339069,33.012138],[103.339239,33.012395],[103.339409,33.012651],[103.339578,33.012908],[103.339629,33.013215],[103.33968,33.013522],[103.339731,33.013828],[103.339731,33.013829],[103.339731,33.013829],[103.339751,33.01391],[103.339781,33.014316],[103.339811,33.014721],[103.339827,33.014944],[103.339841,33.015127],[103.33981,33.015519],[103.33978,33.015912],[103.33975,33.016304],[103.339678,33.016587],[103.339605,33.016871],[103.339372,33.017229],[103.339176,33.017416],[103.338981,33.017603],[103.338691,33.017866],[103.3384,33.018128],[103.338109,33.01839],[103.337772,33.018604],[103.337434,33.018818],[103.337097,33.019032],[103.336877,33.019137],[103.336657,33.019241],[103.336437,33.019346],[103.336216,33.019451],[103.335996,33.019555],[103.335776,33.01966],[103.335489,33.019941],[103.335202,33.020221],[103.335046,33.020389],[103.33489,33.020556],[103.334734,33.020723],[103.334578,33.02089],[103.334421,33.021057],[103.334265,33.021224],[103.334255,33.021601],[103.334244,33.021978],[103.334234,33.022354],[103.334375,33.022591],[103.334515,33.022827],[103.334656,33.023064],[103.334797,33.0233],[103.334938,33.023537],[103.335078,33.023773],[103.335278,33.024142],[103.335456,33.024415],[103.335726,33.024669],[103.335906,33.024846],[103.336223,33.025081],[103.336438,33.025238],[103.336652,33.025395],[103.336867,33.025553],[103.337082,33.02571],[103.337307,33.025954],[103.337533,33.026198],[103.337664,33.026388],[103.337664,33.026388],[103.337665,33.026389],[103.337778,33.026554],[103.338024,33.026909],[103.338171,33.027122],[103.33827,33.027264],[103.338355,33.027477],[103.338401,33.027593],[103.338486,33.02798],[103.33848,33.028295],[103.338498,33.028382],[103.338535,33.028736],[103.338572,33.029089],[103.338608,33.029443],[103.338616,33.029514],[103.3386,33.029828],[103.338583,33.030143],[103.338567,33.030458],[103.338561,33.030586],[103.338559,33.030621],[103.338464,33.031021],[103.338455,33.031241],[103.338454,33.031278],[103.338492,33.031478],[103.338632,33.031766],[103.338771,33.032055],[103.338911,33.032344],[103.338988,33.032472],[103.339044,33.032563],[103.339082,33.032753],[103.339025,33.033125],[103.338882,33.033515],[103.338697,33.033862],[103.338511,33.03421],[103.338473,33.034514],[103.338435,33.034819],[103.338411,33.035247],[103.338387,33.035675],[103.338356,33.036082],[103.338324,33.036488],[103.338297,33.036831],[103.338292,33.036894],[103.338378,33.037227],[103.338502,33.037431],[103.338625,33.037636],[103.338638,33.0377],[103.338673,33.037874],[103.338595,33.038213],[103.338587,33.038245],[103.3386,33.038547],[103.338602,33.038574],[103.338616,33.038902],[103.33861,33.039207],[103.338603,33.039511],[103.338597,33.039816],[103.338644,33.040139],[103.338666,33.04037],[103.338688,33.0406],[103.338692,33.04062],[103.338753,33.040944],[103.33877,33.041035],[103.338868,33.041409],[103.338965,33.041782],[103.338987,33.041868],[103.339028,33.042026],[103.339092,33.04227],[103.339156,33.042514],[103.339219,33.042758],[103.339317,33.043078],[103.339414,33.043398],[103.339477,33.043659],[103.339541,33.043919],[103.339649,33.044288],[103.339849,33.044638],[103.339937,33.044849],[103.340025,33.04506],[103.340099,33.045369],[103.340174,33.045679],[103.340225,33.046017],[103.340277,33.046356],[103.340291,33.046771],[103.340306,33.047186],[103.340325,33.047437],[103.340343,33.047688],[103.340338,33.047942],[103.340333,33.048196],[103.340329,33.04845],[103.340324,33.048704],[103.340319,33.048958],[103.340314,33.049212],[103.340297,33.049501],[103.34028,33.049791],[103.34023,33.05005],[103.340179,33.05031],[103.340034,33.050683],[103.33989,33.051057],[103.339788,33.051296],[103.339686,33.051536],[103.339585,33.051775],[103.339483,33.052014],[103.339383,33.052444],[103.339284,33.052873],[103.339184,33.053303],[103.339177,33.053593],[103.339241,33.053901],[103.339372,33.054251],[103.339483,33.054464],[103.339653,33.054663],[103.339824,33.054862],[103.339994,33.055061],[103.340165,33.05526],[103.340335,33.055459],[103.340506,33.055658],[103.340676,33.055858],[103.340847,33.056057],[103.341017,33.056256],[103.341187,33.056455],[103.341361,33.056652],[103.341534,33.056849],[103.341708,33.057045],[103.341881,33.057242],[103.342055,33.057439],[103.342228,33.057636],[103.342401,33.057833],[103.342575,33.05803],[103.342748,33.058226],[103.342922,33.058423],[103.343144,33.058802],[103.343367,33.059181],[103.34346,33.059409],[103.343553,33.059637],[103.343646,33.059865],[103.343739,33.060093],[103.343793,33.060325],[103.343846,33.060557],[103.343852,33.060828],[103.343857,33.061098],[103.343829,33.061396],[103.343801,33.061695],[103.343784,33.062004],[103.343767,33.062313],[103.343759,33.062717],[103.343774,33.063142],[103.343812,33.063586],[103.343852,33.063866],[103.343893,33.064147],[103.344004,33.064359],[103.344116,33.064572],[103.344227,33.064785],[103.344339,33.064998],[103.344427,33.065172],[103.344421,33.065481],[103.344393,33.06577],[103.344388,33.066041],[103.344309,33.066281],[103.34423,33.066521],[103.344151,33.06676],[103.344072,33.067],[103.343965,33.067385],[103.343858,33.067769],[103.343752,33.068154],[103.343642,33.06849],[103.343533,33.068826],[103.343539,33.069087],[103.343546,33.069347],[103.343631,33.069734],[103.343696,33.069967],[103.34376,33.0702],[103.343936,33.070529],[103.344239,33.070861],[103.344542,33.071192],[103.344845,33.071523],[103.345148,33.071854],[103.345304,33.072088],[103.345414,33.07234],[103.345524,33.072591],[103.345588,33.072883],[103.34558,33.073288],[103.345518,33.073519],[103.345457,33.07375],[103.345429,33.07398],[103.345402,33.074211],[103.345489,33.074463],[103.345597,33.074819],[103.345705,33.075174],[103.345813,33.07553],[103.34591,33.075811],[103.346008,33.076092],[103.346073,33.076363],[103.346137,33.076634],[103.346134,33.076673],[103.346107,33.077018],[103.345962,33.077423],[103.345793,33.077825],[103.345626,33.07819],[103.345403,33.078559],[103.345181,33.078929],[103.345062,33.079127],[103.344959,33.079298],[103.344745,33.079668],[103.344532,33.080038],[103.344424,33.080226],[103.344319,33.080407],[103.344198,33.080734],[103.344033,33.080984],[103.34387,33.081146],[103.343706,33.081307],[103.343543,33.081469],[103.34346,33.08155],[103.343379,33.08163],[103.343223,33.081808],[103.343066,33.081986],[103.34291,33.082165],[103.342754,33.082343],[103.342597,33.082521],[103.342441,33.082699],[103.342253,33.082937],[103.342065,33.083175],[103.341934,33.083449],[103.341825,33.083674],[103.341752,33.083914],[103.341678,33.084155],[103.34164,33.084395],[103.341621,33.084511],[103.341601,33.084636],[103.341585,33.084863],[103.341571,33.085065],[103.34154,33.085494],[103.341507,33.08574],[103.341473,33.085986],[103.34144,33.086231],[103.341406,33.086477],[103.341309,33.086727],[103.341279,33.086804],[103.341212,33.086977],[103.341207,33.087247],[103.341207,33.087277],[103.341202,33.087517],[103.341222,33.087729],[103.341232,33.087772],[103.341257,33.087882],[103.341307,33.088097],[103.341309,33.088115],[103.341347,33.088425],[103.341386,33.088831],[103.341358,33.089043],[103.341263,33.089196],[103.34108,33.089333],[103.340897,33.089471],[103.340713,33.089608],[103.340651,33.089655],[103.34053,33.089746],[103.340347,33.089884],[103.340163,33.090021],[103.33998,33.090159],[103.339968,33.090168],[103.339894,33.090223],[103.339891,33.090225],[103.339797,33.090296],[103.339563,33.090414],[103.339556,33.090417],[103.339337,33.090527],[103.33932,33.090536],[103.339315,33.090539],[103.339194,33.090599],[103.339074,33.09066],[103.338999,33.090698],[103.338834,33.090781],[103.338671,33.090809],[103.338466,33.090844],[103.338098,33.090907],[103.337913,33.090917],[103.337811,33.090922],[103.337524,33.090937],[103.337457,33.090941],[103.337388,33.090945],[103.337248,33.090952],[103.336856,33.091044],[103.336598,33.091272],[103.33639,33.0915],[103.336288,33.091615],[103.336236,33.091672],[103.336083,33.091845],[103.335988,33.092075],[103.335911,33.092235],[103.335881,33.092298],[103.335868,33.092323],[103.335776,33.092514],[103.335748,33.092572],[103.335561,33.092801],[103.335333,33.093024],[103.335327,33.09303],[103.334991,33.093219],[103.334916,33.093261],[103.334655,33.093407],[103.334351,33.093711],[103.33433,33.093744],[103.334184,33.09398],[103.333973,33.094219],[103.333911,33.094288],[103.333762,33.094457],[103.33346,33.094684],[103.333229,33.094778],[103.332906,33.094851],[103.332469,33.094883],[103.332158,33.094927],[103.331848,33.094971],[103.331478,33.095159],[103.331303,33.095335],[103.331273,33.095365],[103.331149,33.09549],[103.331127,33.095512],[103.330993,33.095647],[103.330993,33.095647],[103.330952,33.095688],[103.330776,33.095864],[103.33042,33.096098],[103.330064,33.096331],[103.329707,33.096564],[103.329344,33.096705],[103.329047,33.09668],[103.328726,33.096618],[103.328409,33.09646],[103.328277,33.096402],[103.328044,33.0963],[103.327745,33.096334],[103.327535,33.096507],[103.327417,33.096716],[103.327346,33.096794],[103.327232,33.096819],[103.327024,33.096866],[103.326772,33.096862],[103.326472,33.096917],[103.326264,33.09699],[103.326239,33.097018],[103.326144,33.097123],[103.326143,33.097123],[103.326143,33.097123],[103.326125,33.097144],[103.326122,33.097157],[103.326115,33.097189],[103.3261,33.097259],[103.326097,33.097317],[103.32608,33.097644],[103.326065,33.097951],[103.326061,33.09803],[103.326059,33.098048],[103.326033,33.098281],[103.325914,33.09851],[103.325705,33.098661],[103.325382,33.098774],[103.325316,33.098768],[103.325263,33.098764],[103.325106,33.098751],[103.324742,33.098649],[103.324493,33.09859],[103.324325,33.098551],[103.324307,33.098546],[103.324015,33.09856],[103.323988,33.098561],[103.323756,33.098577],[103.323724,33.09862],[103.32365,33.098717],[103.323568,33.098826],[103.323474,33.099015],[103.323473,33.099018],[103.323329,33.099306],[103.32319,33.09938],[103.323098,33.099399],[103.32296,33.099359],[103.322688,33.099239],[103.322606,33.0992],[103.322549,33.099173],[103.322393,33.0991],[103.322364,33.099103],[103.322002,33.099153],[103.321746,33.099304],[103.321675,33.099417],[103.321462,33.099782],[103.32134,33.100147],[103.321313,33.10034],[103.321377,33.10063],[103.321392,33.10066],[103.321487,33.100844],[103.321692,33.100962],[103.321994,33.101019],[103.322126,33.101044],[103.322419,33.101319],[103.322488,33.101451],[103.322492,33.101551],[103.322502,33.101818],[103.322501,33.101877],[103.322496,33.102146],[103.322462,33.102293],[103.322461,33.102295],[103.322442,33.10238],[103.322388,33.102614],[103.322336,33.102837],[103.322335,33.102844],[103.322334,33.102846],[103.322334,33.102848],[103.32232,33.102908],[103.322309,33.102953],[103.32228,33.103082],[103.322255,33.103187],[103.322226,33.103316],[103.322172,33.10355],[103.322104,33.103805],[103.322036,33.10406],[103.321968,33.104315],[103.32192,33.104493],[103.3219,33.104569],[103.32178,33.104876],[103.321709,33.105056],[103.321659,33.105183],[103.321491,33.10544],[103.321471,33.10547],[103.321209,33.105814],[103.320907,33.106041],[103.320605,33.106269],[103.320604,33.106269],[103.320415,33.106412],[103.320351,33.10646],[103.320303,33.106497],[103.320082,33.106677],[103.319861,33.106858],[103.319641,33.106977],[103.319569,33.107015],[103.319514,33.107045],[103.319119,33.107176],[103.318806,33.107279],[103.318718,33.107278],[103.318555,33.107276],[103.318554,33.107276],[103.318553,33.107276],[103.318301,33.107272],[103.318048,33.107269],[103.317796,33.107265],[103.31736,33.10724],[103.317286,33.107225],[103.31718,33.107204],[103.317097,33.107179],[103.316777,33.107079],[103.316375,33.106954],[103.316072,33.106945],[103.315768,33.106936],[103.315613,33.106998],[103.315367,33.107097],[103.314952,33.107198],[103.314536,33.107298],[103.31435,33.107441],[103.314165,33.107583],[103.313975,33.107927],[103.313972,33.108061],[103.313968,33.108222],[103.313922,33.108478],[103.313876,33.108735],[103.313819,33.108885],[103.313782,33.108945],[103.313691,33.108966],[103.313655,33.108974],[103.313313,33.109031],[103.313276,33.109037],[103.312949,33.109033],[103.312862,33.109032],[103.312623,33.109029],[103.312414,33.109151],[103.312205,33.109274],[103.312128,33.109621],[103.312192,33.10993],[103.312246,33.11004],[103.312325,33.110201],[103.312504,33.110435],[103.312706,33.110651],[103.312708,33.110655],[103.312749,33.110747],[103.312763,33.110805],[103.312813,33.111018],[103.312743,33.111191],[103.312486,33.11138],[103.312337,33.111432],[103.31222,33.111473],[103.312217,33.111474],[103.312214,33.111475],[103.311954,33.111566],[103.311654,33.111639],[103.311355,33.111712],[103.310942,33.111746],[103.310621,33.111683],[103.310392,33.111584],[103.31028,33.111543],[103.310188,33.111524],[103.309955,33.111694],[103.309904,33.111924],[103.309784,33.112193],[103.309589,33.112391],[103.309395,33.112588],[103.309231,33.112759],[103.309067,33.11293],[103.308846,33.113034],[103.308628,33.113136],[103.308626,33.113137],[103.308282,33.11319],[103.308122,33.113148],[103.307939,33.11307],[103.307827,33.112932],[103.307741,33.11268],[103.307399,33.11258],[103.307075,33.112677],[103.307029,33.112691],[103.306658,33.112859],[103.30664,33.112867],[103.306427,33.112962],[103.306195,33.113064],[103.306037,33.113228],[103.305973,33.113293],[103.305751,33.113521],[103.305627,33.113717],[103.30551,33.113901],[103.305502,33.113913],[103.305415,33.114051],[103.305378,33.114109],[103.305278,33.114268],[103.305254,33.114306],[103.305052,33.11467],[103.304963,33.11483],[103.304851,33.115032],[103.304851,33.115032],[103.30485,33.115034],[103.304798,33.115303],[103.304843,33.115401],[103.304957,33.115402],[103.305058,33.115392],[103.30521,33.115377],[103.30537,33.11536],[103.305463,33.115351],[103.305783,33.115452],[103.305821,33.115493],[103.305875,33.115552],[103.305962,33.115647],[103.306027,33.115822],[103.306024,33.115976],[103.305895,33.116134],[103.305883,33.116148],[103.305723,33.116272],[103.305534,33.11642],[103.305185,33.116692],[103.304836,33.116963],[103.304642,33.117083],[103.304448,33.117203],[103.304255,33.117322],[103.304061,33.117442],[103.303868,33.117562],[103.303813,33.117595],[103.303684,33.117675],[103.303674,33.117681],[103.303374,33.117812],[103.303121,33.117847],[103.302987,33.117652],[103.302911,33.117419],[103.302834,33.117187],[103.302831,33.117155],[103.302805,33.116935],[103.302789,33.116796],[103.302776,33.116684],[103.302757,33.116452],[103.302739,33.116221],[103.302718,33.116066],[103.302605,33.115968],[103.302442,33.115949],[103.302423,33.115946],[103.302283,33.116002],[103.302136,33.11613],[103.302108,33.116154],[103.30201,33.116239],[103.301933,33.116306],[103.301766,33.116613],[103.301748,33.116706],[103.301721,33.116838],[103.301716,33.116863],[103.30164,33.117208],[103.301635,33.117479],[103.301579,33.117568],[103.301347,33.117719],[103.300954,33.117887],[103.30063,33.118037],[103.300521,33.118087],[103.300453,33.118119],[103.300381,33.118152],[103.300306,33.118187],[103.300119,33.118349],[103.299931,33.11851],[103.299821,33.118653],[103.299754,33.11874],[103.299681,33.118835],[103.29968,33.118835],[103.29968,33.118835],[103.299429,33.119159],[103.299178,33.119484],[103.299143,33.119524],[103.299087,33.119588],[103.298943,33.11975],[103.298689,33.119921],[103.298413,33.119936],[103.298314,33.119935],[103.298251,33.119934],[103.29793,33.11991],[103.297586,33.119925],[103.297574,33.119931],[103.297527,33.119953],[103.297425,33.12],[103.297283,33.120152],[103.297116,33.120497],[103.297027,33.120698],[103.297005,33.120746],[103.296997,33.120766],[103.296955,33.120874],[103.2969,33.121015],[103.296855,33.121087],[103.296824,33.121136],[103.296733,33.121284],[103.296617,33.121398],[103.296501,33.121453],[103.29634,33.121432],[103.296248,33.121372],[103.29616,33.121314],[103.29616,33.121314],[103.296159,33.121314],[103.29612,33.121291],[103.296063,33.121258],[103.296056,33.121254],[103.296009,33.121227],[103.295819,33.121116],[103.295523,33.120996],[103.295469,33.120982],[103.295295,33.120935],[103.295291,33.120936],[103.295041,33.12098],[103.294788,33.121025],[103.294618,33.121148],[103.294578,33.121176],[103.294507,33.121374],[103.294481,33.121445],[103.294484,33.121469],[103.294494,33.121589],[103.294501,33.121658],[103.294564,33.121909],[103.294743,33.122124],[103.295085,33.122284],[103.295186,33.122362],[103.295219,33.122388],[103.295312,33.122461],[103.295331,33.122634],[103.295213,33.122767],[103.294819,33.122935],[103.29452,33.123029],[103.29429,33.123093],[103.294093,33.123148],[103.29406,33.123157],[103.293985,33.123195],[103.293803,33.123289],[103.293732,33.123442],[103.293729,33.123596],[103.29373,33.123638],[103.293733,33.123734],[103.293734,33.123766],[103.293739,33.123921],[103.293775,33.124087],[103.293824,33.124308],[103.293829,33.124367],[103.293843,33.124502],[103.293838,33.124683],[103.293838,33.124695],[103.293812,33.124848],[103.293546,33.125118],[103.293532,33.125133],[103.293321,33.125363],[103.293087,33.125572],[103.292854,33.125723],[103.292506,33.12593],[103.292275,33.126024],[103.291999,33.126019],[103.291633,33.125995],[103.291313,33.125952],[103.291037,33.125929],[103.290764,33.12589],[103.29074,33.125886],[103.290488,33.125835],[103.290446,33.125826],[103.290237,33.125783],[103.290127,33.125753],[103.28994,33.125702],[103.289734,33.125605],[103.289644,33.125562],[103.289418,33.125406],[103.289406,33.125406],[103.289339,33.125405],[103.289323,33.125404],[103.289189,33.125402],[103.289096,33.12544],[103.288934,33.125496],[103.28882,33.125693],[103.288791,33.125744],[103.288774,33.125792],[103.288694,33.126013],[103.288672,33.126114],[103.288645,33.126243],[103.288501,33.126532],[103.288406,33.126685],[103.28813,33.126776],[103.287898,33.126813],[103.287624,33.126827],[103.287544,33.126826],[103.287301,33.126823],[103.286945,33.126866],[103.286589,33.126909],[103.286488,33.12695],[103.286311,33.127021],[103.286194,33.127156],[103.286121,33.127348],[103.286003,33.1275],[103.285793,33.127651],[103.285539,33.127783],[103.285193,33.127875],[103.28493,33.12792],[103.284668,33.127965],[103.284366,33.128134],[103.284135,33.128207],[103.284119,33.128205],[103.283884,33.128185],[103.283832,33.128167],[103.283655,33.128104],[103.283635,33.128055],[103.283569,33.127892],[103.283506,33.127542],[103.283441,33.127349],[103.283374,33.127252],[103.283306,33.127213],[103.283073,33.12729],[103.283029,33.127305],[103.282959,33.127361],[103.282915,33.127367],[103.28282,33.12738],[103.282727,33.127357],[103.282569,33.127317],[103.282388,33.127219],[103.282211,33.126908],[103.282144,33.126733],[103.282078,33.126617],[103.281873,33.126538],[103.28162,33.126532],[103.281413,33.126588],[103.281181,33.126682],[103.28103,33.126753],[103.280904,33.126813],[103.280672,33.126886],[103.280488,33.126923],[103.280167,33.126938],[103.279845,33.126953],[103.279731,33.126959],[103.279592,33.126967],[103.279314,33.126979],[103.279248,33.126982],[103.279201,33.126983],[103.278938,33.126988],[103.278795,33.126991],[103.278704,33.126993],[103.278628,33.126994],[103.278588,33.126978],[103.278423,33.126913],[103.278388,33.126909],[103.278215,33.126886],[103.278102,33.126871],[103.277734,33.126943],[103.277615,33.127114],[103.277568,33.127191],[103.277541,33.127384],[103.277607,33.127519],[103.277788,33.127677],[103.277886,33.127702],[103.277948,33.127718],[103.278008,33.127726],[103.278177,33.12775],[103.278406,33.127782],[103.278655,33.127939],[103.278741,33.128249],[103.278716,33.128364],[103.278461,33.128496],[103.278116,33.128569],[103.277961,33.12858],[103.277885,33.128585],[103.277866,33.128586],[103.277471,33.128618],[103.27742,33.128638],[103.27724,33.12871],[103.277154,33.12878],[103.277123,33.128805],[103.277076,33.12886],[103.276912,33.129054],[103.276772,33.129168],[103.276655,33.129262],[103.276516,33.129317],[103.276228,33.129314],[103.276172,33.129314],[103.276036,33.129319],[103.275805,33.129327],[103.275461,33.129323],[103.275181,33.129351],[103.275145,33.129354],[103.275116,33.129357],[103.275029,33.129375],[103.27477,33.129429],[103.274563,33.129426],[103.274381,33.129385],[103.274314,33.129249],[103.274316,33.129128],[103.27432,33.128941],[103.274328,33.128855],[103.274335,33.128775],[103.27435,33.128613],[103.274367,33.128521],[103.274386,33.128411],[103.274402,33.128324],[103.274453,33.128036],[103.274467,33.127978],[103.274503,33.127823],[103.2746,33.127574],[103.274601,33.127517],[103.274533,33.127477],[103.274403,33.127476],[103.274312,33.127474],[103.274265,33.127486],[103.274093,33.127529],[103.274039,33.127542],[103.273874,33.127584],[103.27369,33.127601],[103.273552,33.127599],[103.273484,33.127598],[103.273361,33.127557],[103.273301,33.127537],[103.273168,33.127343],[103.273196,33.127015],[103.273203,33.126686],[103.273136,33.126477],[103.273116,33.126416],[103.272863,33.126412],[103.272539,33.126582],[103.272409,33.12671],[103.272375,33.126743],[103.272212,33.126905],[103.272058,33.127105],[103.271904,33.127305],[103.271741,33.127506],[103.271623,33.127649],[103.271506,33.127702],[103.271415,33.127743],[103.271277,33.12776],[103.270842,33.127696],[103.270617,33.127442],[103.270544,33.127281],[103.270515,33.127216],[103.27044,33.127054],[103.270337,33.126775],[103.270332,33.126762],[103.270284,33.126731],[103.270151,33.126644],[103.269897,33.126738],[103.269618,33.126927],[103.26936,33.127136],[103.269358,33.127137],[103.269356,33.127139],[103.269271,33.127194],[103.269151,33.127273],[103.269129,33.127287],[103.268921,33.127303],[103.26876,33.127282],[103.268534,33.127323],[103.268485,33.127332],[103.268308,33.127365],[103.268117,33.127401],[103.268081,33.127407],[103.268034,33.127416],[103.267855,33.127449],[103.267628,33.127491],[103.267402,33.127533],[103.267145,33.127593],[103.267089,33.127607],[103.266887,33.127654],[103.266842,33.127665],[103.266688,33.127701],[103.26663,33.127715],[103.266372,33.127776],[103.266114,33.127836],[103.265967,33.127871],[103.265893,33.127889],[103.265857,33.127897],[103.265834,33.127907],[103.265674,33.127975],[103.265614,33.128],[103.265371,33.128103],[103.265266,33.128181],[103.265116,33.128292],[103.264996,33.128483],[103.264992,33.128711],[103.264991,33.128734],[103.265001,33.128794],[103.265032,33.128985],[103.265043,33.129033],[103.265052,33.129074],[103.265096,33.129276],[103.265143,33.129516],[103.265166,33.129631],[103.265176,33.129684],[103.26519,33.129755],[103.265232,33.129967],[103.265182,33.130179],[103.264951,33.13033],[103.264697,33.130346],[103.264587,33.130345],[103.264506,33.130343],[103.264468,33.130343],[103.264283,33.130417],[103.264281,33.130514],[103.264321,33.130823],[103.264318,33.130946],[103.264317,33.131017],[103.264316,33.131054],[103.264289,33.131305],[103.264146,33.131534],[103.264043,33.131666],[103.264004,33.131716],[103.263981,33.131744],[103.263953,33.132014],[103.264016,33.132294],[103.26408,33.132575],[103.264213,33.132809],[103.264141,33.133001],[103.264094,33.133019],[103.264025,33.133018],[103.26366,33.132936],[103.263407,33.132952],[103.263154,33.132967],[103.262969,33.133023],[103.26283,33.133117],[103.262782,33.133232],[103.262821,33.133503],[103.262977,33.133795],[103.262984,33.133809],[103.263121,33.134067],[103.263265,33.134339],[103.263383,33.134732],[103.263393,33.134765],[103.263402,33.134819],[103.263455,33.135152],[103.263358,33.135382],[103.263243,33.135477],[103.26299,33.135493],[103.262932,33.135497],[103.262737,33.135509],[103.262484,33.135525],[103.262231,33.13554],[103.261978,33.135556],[103.261871,33.135563],[103.261726,33.135572],[103.261473,33.135587],[103.26114,33.135583],[103.260806,33.135579],[103.260629,33.135589],[103.260531,33.135594],[103.260365,33.135603],[103.260256,33.135609],[103.259956,33.135661],[103.25975,33.135732],[103.259713,33.135745],[103.25947,33.135829],[103.259283,33.136058],[103.259188,33.136231],[103.259172,33.136359],[103.259159,33.136463],[103.259213,33.136759],[103.259215,33.136769],[103.259283,33.137029],[103.259289,33.13705],[103.259363,33.137331],[103.259337,33.137562],[103.259265,33.137676],[103.259173,33.137713],[103.258943,33.137711],[103.258799,33.137684],[103.258714,33.137668],[103.258678,33.137665],[103.25837,33.137644],[103.25812,33.137674],[103.258073,33.137679],[103.257864,33.137753],[103.25777,33.137868],[103.257769,33.137929],[103.257761,33.138293],[103.257744,33.138502],[103.25773,33.138678],[103.257729,33.138758],[103.257726,33.138909],[103.257722,33.13914],[103.257651,33.139431],[103.257647,33.139449],[103.257489,33.139608],[103.257459,33.139639],[103.257136,33.139749],[103.256896,33.139803],[103.256895,33.139804],[103.256894,33.139804],[103.256824,33.13982],[103.256665,33.139855],[103.256653,33.139858],[103.256272,33.139921],[103.255892,33.139984],[103.255872,33.13999],[103.255521,33.140093],[103.255255,33.140175],[103.255221,33.140185],[103.255058,33.14032],[103.255003,33.140408],[103.254986,33.140434],[103.254984,33.140587],[103.254997,33.140678],[103.255025,33.140878],[103.255025,33.140879],[103.255025,33.14088],[103.255109,33.141168],[103.255171,33.141536],[103.255162,33.141979],[103.255091,33.142152],[103.255086,33.142169],[103.254969,33.142537],[103.254926,33.142593],[103.254837,33.142709],[103.254779,33.142785],[103.254777,33.142895],[103.254898,33.143119],[103.254922,33.143163],[103.254926,33.14317],[103.25501,33.143324],[103.25502,33.143342],[103.255174,33.143633],[103.255306,33.143886],[103.255322,33.144252],[103.255312,33.144352],[103.255295,33.144523],[103.255167,33.144795],[103.25515,33.144829],[103.255067,33.145093],[103.255028,33.145214],[103.255004,33.145288],[103.254973,33.145385],[103.254905,33.145597],[103.254821,33.145818],[103.254737,33.146039],[103.254593,33.146268],[103.25443,33.146421],[103.254316,33.146439],[103.254132,33.146435],[103.253927,33.146317],[103.253704,33.146044],[103.25367,33.145997],[103.253569,33.145859],[103.253528,33.145802],[103.253435,33.145674],[103.253425,33.145661],[103.253418,33.145653],[103.253289,33.145489],[103.253276,33.145472],[103.253158,33.145322],[103.253143,33.145303],[103.252957,33.145131],[103.252772,33.14496],[103.252658,33.144856],[103.252586,33.144789],[103.252563,33.144768],[103.2524,33.144617],[103.252289,33.144527],[103.252224,33.144475],[103.252049,33.144333],[103.251874,33.14419],[103.251699,33.144048],[103.251495,33.143939],[103.251291,33.143829],[103.251191,33.143835],[103.250991,33.143845],[103.250877,33.143862],[103.250778,33.144228],[103.25077,33.144594],[103.250796,33.144841],[103.250809,33.144961],[103.250873,33.145194],[103.250937,33.145426],[103.251003,33.145682],[103.251023,33.145756],[103.251016,33.146103],[103.251009,33.14645],[103.250798,33.146679],[103.250428,33.146828],[103.25015,33.146901],[103.249898,33.146878],[103.249647,33.146836],[103.249269,33.146715],[103.24911,33.146616],[103.248859,33.146555],[103.248608,33.146494],[103.248216,33.146585],[103.247983,33.146716],[103.247862,33.146985],[103.24786,33.147074],[103.247857,33.147224],[103.247856,33.147264],[103.24785,33.147543],[103.247779,33.147736],[103.24764,33.147792],[103.247319,33.147789],[103.247127,33.14774],[103.246908,33.147684],[103.246851,33.147673],[103.246725,33.147646],[103.246614,33.147623],[103.246519,33.147603],[103.246175,33.147617],[103.245888,33.14774],[103.245882,33.147743],[103.245827,33.147767],[103.245572,33.147936],[103.245293,33.148087],[103.245131,33.148143],[103.244993,33.148102],[103.244974,33.147947],[103.24498,33.147869],[103.244995,33.147701],[103.245003,33.147602],[103.245009,33.14733],[103.244994,33.147033],[103.244994,33.147024],[103.244992,33.147002],[103.244927,33.146828],[103.244723,33.146728],[103.244458,33.14674],[103.244402,33.146743],[103.244245,33.14678],[103.244171,33.146798],[103.244086,33.146889],[103.244029,33.14695],[103.243698,33.147213],[103.24347,33.147346],[103.243429,33.14736],[103.243124,33.147458],[103.243044,33.147471],[103.242686,33.147529],[103.242343,33.147505],[103.242068,33.147462],[103.241793,33.14742],[103.241718,33.147411],[103.241564,33.147393],[103.241515,33.147387],[103.241345,33.147367],[103.241335,33.147366],[103.241106,33.147338],[103.240877,33.147311],[103.240602,33.147269],[103.240473,33.147249],[103.240327,33.147226],[103.240278,33.147231],[103.239938,33.147259],[103.239589,33.147447],[103.239333,33.147617],[103.239207,33.147696],[103.239123,33.147749],[103.239022,33.147804],[103.238845,33.147899],[103.238614,33.147935],[103.238566,33.147939],[103.238481,33.147946],[103.238304,33.14796],[103.237995,33.147984],[103.237761,33.148008],[103.237527,33.148032],[103.237293,33.148056],[103.237059,33.148079],[103.236833,33.148148],[103.236608,33.148217],[103.236382,33.148286],[103.236157,33.148355],[103.235787,33.148472],[103.235736,33.148489],[103.235418,33.148589],[103.235048,33.148706],[103.234701,33.148843],[103.234354,33.148979],[103.234007,33.149116],[103.233599,33.149303],[103.233191,33.14949],[103.232783,33.149677],[103.232375,33.149864],[103.231968,33.150051],[103.231723,33.150128],[103.231479,33.150205],[103.231234,33.150282],[103.23099,33.150359],[103.230745,33.150436],[103.230501,33.150513],[103.230256,33.15059],[103.230012,33.150667],[103.229767,33.150744],[103.229523,33.150821],[103.229279,33.150898],[103.229034,33.150975],[103.228792,33.151042],[103.228682,33.151073],[103.228549,33.15111],[103.228539,33.151113],[103.228307,33.151178],[103.228064,33.151246],[103.227822,33.151314],[103.227579,33.151382],[103.227495,33.151406],[103.227337,33.15145],[103.227094,33.151518],[103.226852,33.151586],[103.22661,33.151654],[103.226533,33.151681],[103.226389,33.151733],[103.226168,33.151811],[103.225947,33.15189],[103.225726,33.151969],[103.225505,33.152047],[103.225284,33.152126],[103.225063,33.152205],[103.224842,33.152284],[103.224621,33.152362],[103.2244,33.152441],[103.224207,33.152507],[103.224169,33.15252],[103.223937,33.152598],[103.223821,33.152638],[103.223706,33.152677],[103.223475,33.152756],[103.223244,33.152835],[103.223013,33.152913],[103.222782,33.152992],[103.222551,33.153071],[103.222319,33.153149],[103.222088,33.153228],[103.221857,33.153307],[103.221626,33.153385],[103.221434,33.153451],[103.221395,33.153464],[103.221164,33.153543],[103.220932,33.153621],[103.220701,33.1537],[103.220463,33.153788],[103.220226,33.153875],[103.219988,33.153963],[103.21975,33.15405],[103.219512,33.154138],[103.219274,33.154226],[103.219036,33.154313],[103.218798,33.154401],[103.21856,33.154488],[103.218323,33.154576],[103.218085,33.154664],[103.217847,33.154751],[103.217609,33.154839],[103.217371,33.154926],[103.217117,33.155013],[103.216863,33.1551],[103.216609,33.155187],[103.216355,33.155274],[103.216101,33.155361],[103.215847,33.155448],[103.215593,33.155535],[103.215339,33.155622],[103.215085,33.155709],[103.214831,33.155796],[103.21478,33.155813],[103.214577,33.155883],[103.214323,33.155969],[103.214069,33.156048],[103.213815,33.156126],[103.21356,33.156205],[103.213306,33.156283],[103.212906,33.1564],[103.212505,33.156516],[103.212105,33.156633],[103.211889,33.156733],[103.211672,33.156833],[103.211456,33.156932],[103.211239,33.157032],[103.211023,33.157132],[103.210807,33.157232],[103.210436,33.15738],[103.210066,33.157528],[103.209672,33.157717],[103.209369,33.157906],[103.209229,33.158039],[103.208971,33.158331],[103.208712,33.158622],[103.208453,33.158914],[103.208265,33.159153],[103.208076,33.159391],[103.207845,33.159504],[103.207639,33.159483],[103.207388,33.159382],[103.207024,33.159202],[103.206706,33.159006],[103.206498,33.158905],[103.20629,33.158804],[103.206081,33.158703],[103.205873,33.158602],[103.205664,33.158501],[103.205456,33.158399],[103.205247,33.158298],[103.205039,33.158197],[103.204831,33.158096],[103.204622,33.157995],[103.204414,33.157894],[103.204205,33.157793],[103.203976,33.15769],[103.203747,33.157588],[103.203518,33.157485],[103.203289,33.157383],[103.20306,33.15728],[103.202831,33.157178],[103.202602,33.157075],[103.202373,33.156973],[103.202066,33.156834],[103.201758,33.156695],[103.201552,33.156671],[103.201207,33.156686],[103.200919,33.156778],[103.20063,33.15687],[103.200236,33.157019],[103.199959,33.157132],[103.199749,33.157264],[103.199539,33.157396],[103.199236,33.157674],[103.198932,33.157952],[103.198628,33.15823],[103.198435,33.158416],[103.198241,33.158602],[103.198048,33.158788],[103.197854,33.158974],[103.197726,33.15916],[103.197597,33.159347],[103.197469,33.159534],[103.19734,33.15972],[103.197212,33.159907],[103.197083,33.160094],[103.196955,33.16028],[103.196826,33.160467],[103.196697,33.160654],[103.196569,33.160841],[103.196435,33.161036],[103.196301,33.161232],[103.196166,33.161428],[103.196032,33.161624],[103.195898,33.16182],[103.195764,33.162016],[103.19563,33.162212],[103.195495,33.162408],[103.195361,33.162603],[103.195227,33.162799],[103.195093,33.162995],[103.194959,33.163191],[103.194805,33.163391],[103.194652,33.163592],[103.194418,33.163743],[103.194176,33.163846],[103.193933,33.163948],[103.193679,33.164012],[103.193425,33.164076],[103.193171,33.16414],[103.192917,33.164203],[103.192537,33.164304],[103.192156,33.164405],[103.191774,33.164553],[103.191391,33.164702],[103.191129,33.164785],[103.190868,33.164868],[103.190606,33.164951],[103.190344,33.165034],[103.190082,33.165117],[103.18982,33.1652],[103.189444,33.165333],[103.189068,33.165466],[103.188692,33.165598],[103.188664,33.165608],[103.188247,33.165766],[103.18783,33.165924],[103.187447,33.166122],[103.187064,33.166319],[103.186706,33.166553],[103.186347,33.166788],[103.186144,33.16692],[103.185919,33.167],[103.185693,33.167081],[103.185468,33.167161],[103.185242,33.167241],[103.185017,33.167321],[103.184791,33.167402],[103.184566,33.167482],[103.18434,33.167562],[103.184115,33.167643],[103.18389,33.167723],[103.183664,33.167803],[103.183439,33.167883],[103.183136,33.168032],[103.182811,33.168242],[103.182718,33.168317],[103.18262,33.168566],[103.182612,33.168952],[103.182605,33.169338],[103.18262,33.169666],[103.182643,33.170058],[103.182652,33.170215],[103.182658,33.170328],[103.182666,33.170451],[103.182688,33.170844],[103.182684,33.171076],[103.182683,33.171119],[103.18268,33.171249],[103.182672,33.171654],[103.182664,33.172059],[103.18266,33.172089],[103.182636,33.172289],[103.182608,33.172519],[103.18258,33.172749],[103.182552,33.172979],[103.182527,33.173065],[103.182484,33.173219],[103.182416,33.173459],[103.182348,33.173699],[103.18228,33.17394],[103.182206,33.174168],[103.182132,33.174397],[103.182059,33.174625],[103.181985,33.174854],[103.181912,33.175082],[103.18184,33.175305],[103.181838,33.175311],[103.181765,33.175539],[103.181691,33.175768],[103.181617,33.175996],[103.181597,33.17606],[103.181562,33.176168],[103.181544,33.176225],[103.181493,33.176452],[103.181442,33.17668],[103.181392,33.176907],[103.181341,33.177134],[103.18129,33.177362],[103.181239,33.177589],[103.181143,33.1778],[103.181046,33.17801],[103.18095,33.178221],[103.180854,33.178432],[103.180757,33.178642],[103.180661,33.178853],[103.180564,33.179063],[103.180468,33.179274],[103.180371,33.179485],[103.180275,33.179695],[103.180179,33.179906],[103.180082,33.180117],[103.180034,33.180334],[103.180033,33.180336],[103.180033,33.180338],[103.179987,33.180544],[103.179892,33.180972],[103.179797,33.181399],[103.179702,33.181827],[103.179645,33.182053],[103.179615,33.182175],[103.179589,33.182279],[103.179532,33.182505],[103.179476,33.182731],[103.179398,33.183173],[103.179392,33.183511],[103.179385,33.183849],[103.17933,33.184292],[103.17929,33.184542],[103.179251,33.184792],[103.179242,33.185236],[103.179282,33.185488],[103.179389,33.185874],[103.179565,33.186239],[103.17974,33.186604],[103.179837,33.186914],[103.179934,33.187224],[103.179926,33.18761],[103.179803,33.188032],[103.179611,33.188436],[103.179515,33.188652],[103.179419,33.188867],[103.179322,33.189083],[103.179226,33.189298],[103.179129,33.189514],[103.179033,33.189729],[103.178936,33.189945],[103.17884,33.19016],[103.178659,33.190523],[103.178478,33.190886],[103.178385,33.191315],[103.178292,33.191744],[103.178199,33.192173],[103.178147,33.192443],[103.178096,33.192712],[103.178086,33.193155],[103.178084,33.193573],[103.178082,33.193991],[103.178081,33.194409],[103.178083,33.194655],[103.178086,33.194901],[103.178088,33.195146],[103.178091,33.195392],[103.178093,33.195637],[103.178096,33.195883],[103.178098,33.196128],[103.178101,33.196374],[103.178103,33.19662],[103.178106,33.196865],[103.178108,33.197111],[103.178111,33.197356],[103.178071,33.1976],[103.178032,33.197844],[103.177992,33.198088],[103.177952,33.198332],[103.177913,33.198576],[103.177873,33.19882],[103.177822,33.199089],[103.177771,33.199358],[103.177685,33.199598],[103.177599,33.199838],[103.177513,33.200097],[103.177481,33.200193],[103.177427,33.200357],[103.177272,33.200673],[103.177116,33.200989],[103.176979,33.201214],[103.176843,33.201438],[103.176706,33.201663],[103.176569,33.201887],[103.176433,33.202112],[103.176296,33.202337],[103.176159,33.202561],[103.176155,33.202567],[103.176023,33.202786],[103.175884,33.203005],[103.175745,33.203224],[103.175606,33.203444],[103.175467,33.203663],[103.175328,33.203882],[103.175189,33.204102],[103.174969,33.20448],[103.174748,33.204857],[103.174528,33.205235],[103.174308,33.205613],[103.174164,33.20591],[103.17402,33.206207],[103.173965,33.206631],[103.173959,33.20692],[103.174021,33.20721],[103.174062,33.207451],[103.174103,33.207693],[103.174095,33.208074],[103.174087,33.208455],[103.174081,33.20875],[103.174075,33.209044],[103.174058,33.209324],[103.174041,33.209603],[103.174009,33.210027],[103.173977,33.210451],[103.173949,33.210682],[103.173921,33.210913],[103.173894,33.211144],[103.173866,33.211375],[103.173827,33.211615],[103.173788,33.211855],[103.173665,33.212163],[103.173487,33.212479],[103.173309,33.212795],[103.173235,33.213015],[103.173161,33.213235],[103.173061,33.21362],[103.173008,33.213976],[103.172975,33.21419],[103.172954,33.214332],[103.172919,33.21457],[103.172883,33.214807],[103.172848,33.215044],[103.172812,33.215282],[103.172777,33.215519],[103.172741,33.215756],[103.17271,33.215997],[103.172678,33.216238],[103.172646,33.216479],[103.172614,33.21672],[103.172582,33.216961],[103.17255,33.217201],[103.172511,33.217427],[103.172472,33.217653],[103.172433,33.217879],[103.172394,33.218105],[103.172354,33.218331],[103.172315,33.218557],[103.172276,33.218783],[103.172237,33.219008],[103.172172,33.219335],[103.172108,33.219662],[103.172031,33.220008],[103.172005,33.220139],[103.171981,33.220259],[103.17201,33.22051],[103.172039,33.220761],[103.172076,33.22099],[103.172114,33.221219],[103.172151,33.221448],[103.172189,33.221677],[103.172226,33.221906],[103.172263,33.222135],[103.172292,33.222386],[103.172322,33.222636],[103.172315,33.223003],[103.172283,33.223312],[103.172187,33.223638],[103.172123,33.223937],[103.17206,33.224235],[103.17199,33.224626],[103.17192,33.225017],[103.17185,33.225409],[103.171786,33.225736],[103.171723,33.226063],[103.171585,33.226412],[103.171447,33.226762],[103.17131,33.227112],[103.171248,33.227328],[103.171186,33.227544],[103.171124,33.22776],[103.171063,33.227977],[103.171044,33.228216],[103.171025,33.228454],[103.171006,33.228693],[103.170987,33.228932],[103.170969,33.229171],[103.17095,33.22941],[103.170931,33.229649],[103.170912,33.229888],[103.170893,33.230127],[103.170874,33.230366],[103.170834,33.230674],[103.170793,33.230983],[103.170694,33.23127],[103.170457,33.231635],[103.170315,33.231844],[103.170083,33.231974],[103.169683,33.232169],[103.169283,33.232364],[103.169072,33.232473],[103.168861,33.232582],[103.168808,33.232609],[103.168649,33.232691],[103.168441,33.232798],[103.168438,33.2328],[103.168226,33.232908],[103.168015,33.233017],[103.167804,33.233126],[103.167592,33.233235],[103.167381,33.233344],[103.167169,33.233452],[103.166962,33.233604],[103.166755,33.233755],[103.166549,33.233905],[103.166548,33.233906],[103.16634,33.234057],[103.166133,33.234208],[103.165926,33.234359],[103.165719,33.234511],[103.165512,33.234662],[103.165184,33.234933],[103.164857,33.235205],[103.16453,33.235477],[103.164352,33.235744],[103.164173,33.236011],[103.164077,33.236271],[103.16398,33.23653],[103.163833,33.236953],[103.163817,33.237184],[103.1638,33.237415],[103.163818,33.237722],[103.163835,33.238029],[103.163867,33.238286],[103.163899,33.238542],[103.163931,33.238798],[103.163963,33.239054],[103.163995,33.23931],[103.164027,33.239566],[103.164059,33.239822],[103.164091,33.240078],[103.164124,33.240326],[103.164157,33.240575],[103.16419,33.240823],[103.164224,33.241071],[103.164257,33.241319],[103.16429,33.241567],[103.164359,33.241809],[103.164429,33.242051],[103.164498,33.242293],[103.164568,33.242535],[103.164745,33.242866],[103.164922,33.243196],[103.165031,33.243507],[103.165045,33.243913],[103.165004,33.244259],[103.164962,33.244605],[103.164876,33.245033],[103.16479,33.245461],[103.164704,33.245889],[103.164676,33.24612],[103.164648,33.246351],[103.164639,33.246789],[103.16463,33.247226],[103.164622,33.247663],[103.164661,33.247915],[103.164795,33.248187],[103.164833,33.248534],[103.164826,33.248901],[103.164819,33.249267],[103.164742,33.249695],[103.164665,33.250122],[103.164661,33.250143],[103.164595,33.250396],[103.164529,33.250648],[103.164464,33.2509],[103.164398,33.251152],[103.164332,33.251405],[103.164266,33.251657],[103.164201,33.251909],[103.164135,33.252161],[103.164066,33.25243],[103.163997,33.252699],[103.163928,33.252968],[103.163859,33.253237],[103.163791,33.253506],[103.163722,33.253775],[103.163653,33.254044],[103.163584,33.254313],[103.163439,33.254678],[103.163293,33.255043],[103.163144,33.255241],[103.162995,33.255438],[103.162846,33.255636],[103.162697,33.255834],[103.162532,33.256027],[103.162368,33.256219],[103.162281,33.256321],[103.162203,33.256412],[103.162038,33.256604],[103.161873,33.256796],[103.161708,33.256989],[103.161543,33.257181],[103.161378,33.257374],[103.161214,33.257566],[103.161049,33.257758],[103.160865,33.257949],[103.16068,33.258139],[103.160496,33.25833],[103.160366,33.258464],[103.160312,33.25852],[103.160128,33.258711],[103.159944,33.258901],[103.15978,33.259032],[103.159665,33.25907],[103.159436,33.259047],[103.159184,33.258947],[103.158972,33.258805],[103.158889,33.25875],[103.158685,33.258621],[103.158481,33.258493],[103.158093,33.258313],[103.157886,33.25824],[103.157866,33.258233],[103.157498,33.258169],[103.157064,33.258125],[103.156754,33.25812],[103.156444,33.258116],[103.156144,33.25813],[103.155845,33.258145],[103.15558,33.258189],[103.155314,33.258234],[103.15508,33.258299],[103.154845,33.258365],[103.154698,33.258406],[103.154611,33.25843],[103.154376,33.258496],[103.154125,33.258538],[103.153873,33.258581],[103.153622,33.258623],[103.15337,33.258666],[103.153357,33.258668],[103.153156,33.258702],[103.153119,33.258708],[103.152867,33.25875],[103.152793,33.258763],[103.152727,33.258774],[103.152616,33.258793],[103.152443,33.258822],[103.152364,33.258835],[103.152113,33.258878],[103.151861,33.25892],[103.151434,33.259001],[103.151008,33.259081],[103.150581,33.259162],[103.150154,33.259243],[103.149923,33.259292],[103.149692,33.259342],[103.149461,33.259392],[103.14923,33.259441],[103.148907,33.259514],[103.148665,33.259539],[103.148626,33.259543],[103.148423,33.259564],[103.148181,33.259589],[103.147938,33.259615],[103.147752,33.259619],[103.147678,33.259621],[103.147418,33.259627],[103.147157,33.259633],[103.146897,33.259639],[103.146636,33.259645],[103.146376,33.259651],[103.146116,33.259657],[103.145855,33.259663],[103.145598,33.259655],[103.145341,33.259648],[103.145084,33.25964],[103.144827,33.259633],[103.14457,33.259626],[103.144313,33.259618],[103.144056,33.259611],[103.143799,33.259603],[103.143542,33.259596],[103.143285,33.259588],[103.143028,33.259581],[103.142771,33.259573],[103.142514,33.259566],[103.142257,33.259559],[103.141999,33.259551],[103.141742,33.259544],[103.141497,33.259543],[103.141252,33.259543],[103.141007,33.259542],[103.140762,33.259542],[103.140517,33.259541],[103.140272,33.259541],[103.140027,33.259541],[103.139781,33.25954],[103.139536,33.25954],[103.139291,33.259539],[103.139046,33.259539],[103.138801,33.259538],[103.138551,33.259533],[103.138302,33.259529],[103.138053,33.259524],[103.137803,33.259519],[103.137554,33.259514],[103.137304,33.259509],[103.137061,33.259504],[103.137055,33.259504],[103.136805,33.2595],[103.136556,33.259495],[103.136433,33.259492],[103.136306,33.25949],[103.136052,33.259463],[103.135797,33.259437],[103.135542,33.25941],[103.135287,33.259383],[103.135032,33.259357],[103.134778,33.25933],[103.134523,33.259303],[103.134405,33.259291],[103.134268,33.259277],[103.134013,33.25925],[103.133759,33.259224],[103.13352,33.259218],[103.133282,33.259213],[103.133044,33.259207],[103.132806,33.259202],[103.132567,33.259196],[103.132329,33.259191],[103.132091,33.259185],[103.131853,33.25918],[103.131776,33.259178],[103.131615,33.259174],[103.131376,33.259169],[103.131138,33.259163],[103.1309,33.259158],[103.130662,33.259152],[103.130423,33.259147],[103.130275,33.259149],[103.130017,33.259154],[103.12961,33.25916],[103.129346,33.259176],[103.129148,33.259188],[103.129082,33.259192],[103.12899,33.25921],[103.128849,33.259236],[103.128617,33.259279],[103.128359,33.25935],[103.128224,33.259388],[103.127831,33.259496],[103.127475,33.259602],[103.127447,33.25961],[103.127362,33.259636],[103.127118,33.259708],[103.126926,33.259766],[103.126762,33.259815],[103.126477,33.259898],[103.126193,33.259982],[103.125954,33.260052],[103.125716,33.260122],[103.125477,33.260192],[103.125239,33.260262],[103.125,33.260332],[103.124762,33.260402],[103.124667,33.26043],[103.124523,33.260472],[103.124285,33.260542],[103.124046,33.260612],[103.123808,33.260682],[103.12357,33.260752],[103.123331,33.260822],[103.122898,33.260922],[103.122465,33.261023],[103.122032,33.261123],[103.121688,33.261203],[103.121599,33.261224],[103.121206,33.261285],[103.120814,33.261346],[103.120367,33.261353],[103.120314,33.261352],[103.120314,33.261352],[103.120136,33.261349],[103.119905,33.261346],[103.119846,33.261341],[103.119489,33.261313],[103.119124,33.261281],[103.11871,33.261207],[103.118297,33.261133],[103.118267,33.261128],[103.117899,33.26106],[103.117657,33.26098],[103.117415,33.260899],[103.117174,33.260819],[103.116932,33.260738],[103.116563,33.260576],[103.116463,33.260532],[103.116291,33.260457],[103.116194,33.260415],[103.115826,33.260253],[103.115508,33.260141],[103.115191,33.260029],[103.11492,33.259998],[103.114649,33.259967],[103.114285,33.259948],[103.114246,33.259955],[103.113981,33.260003],[103.113879,33.260022],[103.113676,33.260059],[103.113339,33.260134],[103.113044,33.260162],[103.112748,33.260191],[103.112349,33.260185],[103.111976,33.26018],[103.11195,33.26018],[103.111715,33.260166],[103.111479,33.260153],[103.111244,33.260139],[103.111009,33.260126],[103.110782,33.260079],[103.110556,33.260032],[103.110329,33.259984],[103.110103,33.259937],[103.109732,33.259874],[103.109361,33.25981],[103.10899,33.259746],[103.108748,33.259692],[103.108506,33.259638],[103.108263,33.259584],[103.108021,33.25953],[103.107792,33.259467],[103.107563,33.259404],[103.107333,33.25934],[103.107104,33.259277],[103.106874,33.259214],[103.106645,33.25915],[103.106416,33.259087],[103.106186,33.259024],[103.105946,33.258961],[103.105706,33.258899],[103.105466,33.258837],[103.105225,33.258774],[103.104985,33.258712],[103.104745,33.25865],[103.104505,33.258587],[103.104265,33.258525],[103.104047,33.258462],[103.103829,33.258398],[103.103611,33.258334],[103.103393,33.258271],[103.103172,33.258195],[103.103161,33.258191],[103.103086,33.258166],[103.103074,33.258161],[103.103045,33.258151],[103.102943,33.258117],[103.10288,33.258095],[103.102696,33.258032],[103.102418,33.257934],[103.102141,33.257836],[103.101726,33.257685],[103.101312,33.257535],[103.100898,33.257384],[103.100494,33.25722],[103.100091,33.257056],[103.099688,33.256892],[103.099284,33.256728],[103.098871,33.256628],[103.098459,33.256529],[103.098046,33.256429],[103.097633,33.256329],[103.09737,33.256289],[103.097106,33.25625],[103.096787,33.256219],[103.096488,33.256259],[103.096268,33.256288],[103.096188,33.256298],[103.09613,33.256316],[103.096116,33.256321],[103.096084,33.256348],[103.096083,33.256266],[103.096067,33.256109],[103.095962,33.25579],[103.095859,33.255611],[103.095668,33.255422],[103.095583,33.255369],[103.095397,33.255293],[103.095352,33.255273],[103.095227,33.25524],[103.095123,33.255228],[103.095045,33.255226],[103.094972,33.255226],[103.094871,33.255247],[103.094766,33.255283],[103.09468,33.255315],[103.094616,33.255352],[103.0946,33.255361],[103.094524,33.255409],[103.09443,33.255476],[103.094362,33.255544],[103.094187,33.255693],[103.094098,33.255785],[103.094051,33.25584],[103.09397,33.255932],[103.093769,33.255827],[103.093842,33.255707],[103.093804,33.255707],[103.09378,33.255712],[103.093745,33.255719],[103.093717,33.255731],[103.093655,33.255764],[103.093575,33.255705],[103.093252,33.255466],[103.093182,33.255414],[103.092823,33.255148],[103.092666,33.254847],[103.092564,33.254652],[103.092421,33.254379],[103.092367,33.254264],[103.092359,33.254247],[103.092194,33.253895],[103.091881,33.253429],[103.091277,33.252985],[103.091204,33.252875],[103.091151,33.252795],[103.091058,33.252656],[103.091077,33.251787],[103.09112,33.251642],[103.091286,33.251084],[103.091336,33.25027],[103.091229,33.249624],[103.091106,33.249389],[103.090949,33.24909],[103.090882,33.24904],[103.090861,33.249024],[103.090608,33.248838],[103.090575,33.248813],[103.090329,33.248632],[103.089895,33.248544],[103.089704,33.248606],[103.089398,33.248706],[103.089358,33.248719],[103.089247,33.248829],[103.08883,33.249243],[103.088817,33.249256],[103.088816,33.249256],[103.088729,33.249343],[103.088728,33.249343],[103.088721,33.24935],[103.08859,33.249481],[103.088346,33.249678],[103.088269,33.249741],[103.088002,33.249757],[103.087786,33.249652],[103.087784,33.249646],[103.087783,33.249642],[103.087711,33.249408],[103.08767,33.249402],[103.087635,33.249395],[103.087608,33.24938],[103.087603,33.249357],[103.087619,33.249334],[103.087682,33.249314],[103.087673,33.249284],[103.087685,33.248725],[103.087685,33.248704],[103.087686,33.248673],[103.087619,33.248493],[103.087594,33.248427],[103.08738,33.248455],[103.087366,33.248406],[103.087344,33.248379],[103.087309,33.248372],[103.087267,33.248361],[103.087235,33.248413],[103.087184,33.248481],[103.087035,33.2485],[103.086823,33.24852],[103.086523,33.248548],[103.086477,33.248552],[103.086387,33.248554],[103.086052,33.248559],[103.085822,33.248563],[103.085645,33.248507],[103.085003,33.248306],[103.084261,33.247887],[103.084235,33.247868],[103.084217,33.247855],[103.083928,33.247652],[103.08376,33.247533],[103.083719,33.247186],[103.08395,33.246864],[103.084142,33.246792],[103.0845,33.246658],[103.084995,33.246483],[103.085379,33.246351],[103.085801,33.246174],[103.085975,33.246138],[103.086052,33.246147],[103.086194,33.24617],[103.0863,33.246182],[103.086428,33.246182],[103.086539,33.246182],[103.086683,33.246157],[103.086814,33.246122],[103.086943,33.246081],[103.087027,33.246056],[103.087076,33.246056],[103.087303,33.245946],[103.087356,33.245968],[103.087372,33.245959],[103.087416,33.245933],[103.087463,33.245911],[103.0875,33.245888],[103.087561,33.245853],[103.087593,33.24584],[103.087614,33.245824],[103.087607,33.245798],[103.087788,33.24571],[103.087851,33.245679],[103.08805,33.245582],[103.08834,33.245273],[103.088306,33.245224],[103.088296,33.245173],[103.088294,33.245131],[103.088296,33.24512],[103.088307,33.245079],[103.08834,33.245031],[103.088365,33.24502],[103.088406,33.245035],[103.088445,33.245086],[103.08848,33.245123],[103.088527,33.245073],[103.088561,33.245036],[103.088572,33.245025],[103.088878,33.244814],[103.08932,33.244508],[103.089328,33.244502],[103.089341,33.2445],[103.08942,33.244487],[103.08973,33.244436],[103.08974,33.244463],[103.089752,33.24448],[103.089776,33.244494],[103.089812,33.244501],[103.089852,33.2445],[103.089894,33.244499],[103.089934,33.244497],[103.089965,33.244502],[103.089991,33.244511],[103.090046,33.244537],[103.090102,33.244548],[103.090176,33.244558],[103.09025,33.244564],[103.090299,33.244561],[103.09038,33.244557],[103.090472,33.244538],[103.09053,33.244517],[103.090563,33.244491],[103.090583,33.244461],[103.0906,33.24443],[103.090912,33.244451],[103.090967,33.244466],[103.091544,33.244628],[103.091934,33.244669],[103.092233,33.2447],[103.092251,33.244694],[103.092437,33.244641],[103.092837,33.244526],[103.093037,33.244345],[103.093321,33.24409],[103.093523,33.24391],[103.093569,33.243437],[103.093453,33.242923],[103.093421,33.242783],[103.09342,33.242778],[103.093305,33.242533],[103.093301,33.242525],[103.093072,33.242039],[103.092683,33.241544],[103.092386,33.241005],[103.092327,33.240806],[103.092307,33.24074],[103.092267,33.240606],[103.092473,33.24035],[103.092486,33.240345],[103.092525,33.240332],[103.092608,33.240354],[103.092764,33.240367],[103.092893,33.240343],[103.093065,33.240286],[103.093182,33.240235],[103.093203,33.24022],[103.093265,33.240223],[103.093711,33.240246],[103.094458,33.240168],[103.094604,33.240153],[103.09465,33.240131],[103.094674,33.240119],[103.095431,33.239753],[103.095508,33.23975],[103.095525,33.239749],[103.095589,33.239747],[103.095763,33.239739],[103.095795,33.239738],[103.095986,33.239892],[103.096064,33.239941],[103.096112,33.239932],[103.096243,33.240104],[103.096892,33.24112],[103.097318,33.241479],[103.097325,33.241485],[103.097327,33.241487],[103.097363,33.241517],[103.097427,33.241571],[103.097685,33.241568],[103.097955,33.241564],[103.098125,33.241276],[103.097887,33.240527],[103.097885,33.240519],[103.097852,33.240417],[103.097794,33.240092],[103.097739,33.239789],[103.097771,33.239638],[103.097791,33.239548],[103.09788,33.239134],[103.098144,33.238772],[103.098255,33.23862],[103.098347,33.238579],[103.098348,33.238579],[103.098535,33.238496],[103.098599,33.238467],[103.098623,33.238457],[103.098626,33.238444],[103.098694,33.238166],[103.09873,33.238018],[103.099339,33.237771],[103.099892,33.237211],[103.100003,33.237054],[103.100005,33.236738],[103.099791,33.236551],[103.099157,33.236404],[103.09891,33.236552],[103.098702,33.236676],[103.098607,33.236733],[103.09831,33.23691],[103.098183,33.237006],[103.09764,33.237417],[103.09754,33.237492],[103.097479,33.237539],[103.09722,33.237749],[103.097192,33.237772],[103.097072,33.237869],[103.096977,33.237861],[103.096928,33.237856],[103.096885,33.237802],[103.096791,33.237769],[103.096656,33.23776],[103.096569,33.23777],[103.096439,33.237676],[103.09642,33.23759],[103.096373,33.237385],[103.096541,33.237126],[103.096548,33.237115],[103.09658,33.237067],[103.096642,33.23702],[103.097153,33.236633],[103.097415,33.236286],[103.097298,33.236126],[103.097256,33.236069],[103.097226,33.236057],[103.096823,33.235886],[103.09677,33.235863],[103.09656,33.235827],[103.09651,33.235776],[103.096461,33.235733],[103.096329,33.235652],[103.096252,33.235624],[103.096155,33.235592],[103.096051,33.235563],[103.095987,33.235544],[103.095945,33.235528],[103.095926,33.235521],[103.095876,33.235499],[103.095816,33.235462],[103.095766,33.235437],[103.095684,33.235412],[103.095648,33.235405],[103.095601,33.235402],[103.095446,33.235188],[103.095433,33.235172],[103.095263,33.234939],[103.095281,33.234628],[103.095291,33.234466],[103.095314,33.234396],[103.095288,33.234339],[103.095307,33.234211],[103.095327,33.234115],[103.095369,33.233996],[103.095392,33.233918],[103.095427,33.233831],[103.095446,33.233682],[103.095547,33.233553],[103.095505,33.233459],[103.095344,33.233096],[103.095287,33.232969],[103.094936,33.232413],[103.094911,33.231893],[103.095046,33.231529],[103.095121,33.231468],[103.095188,33.231414],[103.09527,33.231347],[103.095388,33.231375],[103.095468,33.231383],[103.09555,33.231379],[103.095626,33.23137],[103.095737,33.231346],[103.095799,33.231303],[103.095845,33.231263],[103.096214,33.231302],[103.096359,33.231365],[103.09642,33.231365],[103.096522,33.231383],[103.09662,33.231412],[103.096787,33.231478],[103.09715,33.231639],[103.097265,33.231699],[103.097318,33.23174],[103.097324,33.231742],[103.097881,33.231868],[103.0979,33.231872],[103.097934,33.231907],[103.098016,33.231963],[103.098153,33.232022],[103.09829,33.232067],[103.098442,33.232104],[103.098594,33.232107],[103.098728,33.232107],[103.098755,33.232122],[103.098956,33.232232],[103.099155,33.23234],[103.099344,33.232369],[103.099787,33.232437],[103.099925,33.232418],[103.100119,33.232345],[103.100277,33.232264],[103.100442,33.232165],[103.100545,33.232049],[103.100632,33.23193],[103.10069,33.231778],[103.100749,33.231626],[103.100771,33.231443],[103.100749,33.231288],[103.10072,33.231157],[103.100718,33.231151],[103.100688,33.231119],[103.100689,33.231104],[103.100689,33.231081],[103.100684,33.231063],[103.100655,33.230996],[103.100614,33.230895],[103.100579,33.230837],[103.100568,33.230821],[103.100528,33.230765],[103.100463,33.230692],[103.100409,33.230632],[103.100366,33.230599],[103.100326,33.230579],[103.100289,33.230561],[103.100202,33.23052],[103.100121,33.230493],[103.100051,33.230478],[103.099744,33.230109],[103.099552,33.229709],[103.099325,33.22928],[103.099287,33.229126],[103.099295,33.228928],[103.099287,33.228849],[103.099292,33.228707],[103.099295,33.228594],[103.098932,33.22835],[103.098532,33.228213],[103.098486,33.228197],[103.098138,33.228078],[103.098091,33.228076],[103.098058,33.228058],[103.098002,33.228044],[103.097926,33.228043],[103.097831,33.228048],[103.097757,33.228052],[103.097723,33.228063],[103.097421,33.228052],[103.097357,33.228118],[103.097287,33.228165],[103.097209,33.228193],[103.097134,33.2282],[103.097034,33.228201],[103.096794,33.228165],[103.096658,33.228128],[103.096628,33.228131],[103.096444,33.228134],[103.096436,33.228135],[103.096376,33.228103],[103.096223,33.228053],[103.096131,33.228036],[103.096073,33.228025],[103.095927,33.228014],[103.095804,33.228019],[103.095724,33.228028],[103.095649,33.228009],[103.095272,33.22782],[103.095262,33.22781],[103.095094,33.227619],[103.095555,33.22732],[103.095665,33.227304],[103.095695,33.2273],[103.095741,33.227323],[103.095831,33.227359],[103.095937,33.227377],[103.096029,33.227385],[103.096149,33.227384],[103.096229,33.227373],[103.096347,33.227339],[103.096425,33.2273],[103.096527,33.227243],[103.096586,33.227188],[103.096622,33.227148],[103.096666,33.227085],[103.096704,33.226972],[103.096784,33.226809],[103.09683,33.226647],[103.096919,33.226408],[103.096745,33.226101],[103.09669,33.226065],[103.096709,33.226027],[103.096725,33.225978],[103.096735,33.225903],[103.096734,33.225832],[103.096719,33.225773],[103.096691,33.225713],[103.096667,33.225676],[103.096638,33.225651],[103.0966,33.225634],[103.096537,33.225627],[103.096491,33.225626],[103.096384,33.22567],[103.096334,33.225706],[103.096315,33.225718],[103.096297,33.22573],[103.096264,33.225744],[103.096224,33.225756],[103.095934,33.225483],[103.095913,33.225464],[103.09578,33.225338],[103.095644,33.225207],[103.095442,33.225012],[103.095378,33.224614],[103.09537,33.224363],[103.095369,33.224345],[103.09542,33.224401],[103.095476,33.224429],[103.095539,33.224448],[103.095604,33.224454],[103.09572,33.224456],[103.095818,33.22444],[103.095875,33.224422],[103.095932,33.224394],[103.09594,33.224397],[103.096048,33.224451],[103.09609,33.224472],[103.096477,33.224672],[103.096538,33.22466],[103.096581,33.22463],[103.096611,33.224584],[103.096632,33.224553],[103.096663,33.224547],[103.096716,33.224561],[103.09679,33.224609],[103.096851,33.224655],[103.096861,33.224691],[103.096861,33.224728],[103.096842,33.224777],[103.096991,33.224807],[103.09712,33.224732],[103.097104,33.224577],[103.097097,33.224505],[103.09709,33.224442],[103.096969,33.22413],[103.096935,33.224042],[103.096815,33.223719],[103.0971,33.223158],[103.097457,33.222587],[103.097471,33.222561],[103.097342,33.221965],[103.097163,33.221866],[103.097175,33.221786],[103.09716,33.221682],[103.097135,33.221597],[103.097086,33.221531],[103.097043,33.221491],[103.096986,33.221467],[103.096929,33.221462],[103.09672,33.221477],[103.096561,33.221496],[103.096425,33.22151],[103.096285,33.221519],[103.096141,33.221538],[103.095763,33.221463],[103.094547,33.22123],[103.093765,33.221058],[103.093642,33.221031],[103.093632,33.22102],[103.093591,33.220984],[103.093548,33.220946],[103.093483,33.220904],[103.093251,33.220765],[103.093155,33.220711],[103.093087,33.220684],[103.093031,33.220665],[103.092978,33.220654],[103.092932,33.220641],[103.092636,33.220322],[103.09257,33.220251],[103.092511,33.220188],[103.092495,33.220173],[103.09249,33.219883],[103.092484,33.219656],[103.092484,33.219643],[103.092482,33.219551],[103.092929,33.219031],[103.092939,33.219019],[103.09321,33.218703],[103.093205,33.218526],[103.093201,33.218384],[103.093214,33.218354],[103.093224,33.218296],[103.093224,33.218229],[103.093223,33.218182],[103.093206,33.218121],[103.093176,33.218056],[103.093082,33.217944],[103.092979,33.217875],[103.092896,33.217811],[103.0928,33.21776],[103.092743,33.217743],[103.092713,33.217735],[103.092636,33.217668],[103.092437,33.217502],[103.092421,33.217488],[103.09238,33.217454],[103.091967,33.217109],[103.091862,33.216351],[103.091844,33.216224],[103.091756,33.215721],[103.091606,33.215711],[103.091622,33.215637],[103.091658,33.215388],[103.091641,33.215074],[103.091568,33.214682],[103.091566,33.214668],[103.091067,33.214685],[103.091044,33.214685],[103.090846,33.214692],[103.090105,33.214456],[103.090102,33.214434],[103.090071,33.214221],[103.090069,33.214208],[103.090059,33.214143],[103.090215,33.213892],[103.090501,33.213433],[103.090518,33.213398],[103.090723,33.212989],[103.090615,33.212914],[103.09061,33.21291],[103.090461,33.212806],[103.090418,33.212822],[103.089959,33.212995],[103.089609,33.213127],[103.089597,33.213132],[103.089548,33.21315],[103.08933,33.213327],[103.089287,33.213362],[103.089281,33.213397],[103.089207,33.213476],[103.089024,33.213628],[103.088898,33.213677],[103.088854,33.213688],[103.088595,33.213749],[103.088578,33.213753],[103.088473,33.213777],[103.088362,33.213803],[103.088319,33.213355],[103.088435,33.212909],[103.088515,33.212841],[103.088538,33.212821],[103.088552,33.212809],[103.088567,33.212796],[103.088595,33.212772],[103.089001,33.212424],[103.089357,33.212118],[103.089793,33.211677],[103.089768,33.211352],[103.089752,33.211139],[103.08963,33.211104],[103.089515,33.21107],[103.089505,33.211067],[103.08945,33.211051],[103.089103,33.21095],[103.0888,33.211058],[103.088718,33.211004],[103.088654,33.210987],[103.088594,33.210987],[103.088509,33.211018],[103.088428,33.211072],[103.088358,33.211118],[103.088284,33.211175],[103.088214,33.211253],[103.088166,33.211322],[103.088134,33.211368],[103.087483,33.211797],[103.087409,33.211845],[103.087138,33.212024],[103.087082,33.21206],[103.086974,33.212107],[103.086918,33.212132],[103.086863,33.212205],[103.086809,33.212274],[103.086749,33.21234],[103.086675,33.212388],[103.086579,33.212419],[103.086487,33.212438],[103.086416,33.212429],[103.08628,33.212369],[103.086132,33.212289],[103.086012,33.212196],[103.085956,33.212135],[103.085904,33.21204],[103.085868,33.211953],[103.085862,33.21189],[103.085868,33.211806],[103.085892,33.211741],[103.085923,33.211687],[103.085928,33.211682],[103.085894,33.211606],[103.085838,33.211467],[103.085768,33.21129],[103.085705,33.211133],[103.085233,33.21079],[103.084809,33.211178],[103.084655,33.211319],[103.084646,33.211327],[103.084296,33.211648],[103.084106,33.211842],[103.08384,33.212116],[103.08364,33.212147],[103.083309,33.212205],[103.082946,33.212355],[103.082484,33.212292],[103.082311,33.212262],[103.082211,33.21222],[103.082156,33.212156],[103.082149,33.212129],[103.082133,33.212066],[103.082129,33.211944],[103.082143,33.211857],[103.082168,33.211786],[103.082181,33.211758],[103.082177,33.21175],[103.082421,33.211445],[103.082548,33.211232],[103.082618,33.210733],[103.082694,33.210516],[103.082724,33.210421],[103.082793,33.210313],[103.082863,33.210232],[103.082996,33.210085],[103.083094,33.209968],[103.083195,33.209848],[103.083301,33.209763],[103.083403,33.209732],[103.08346,33.209738],[103.083535,33.209788],[103.083589,33.209832],[103.083671,33.209884],[103.083821,33.209821],[103.083986,33.209752],[103.084099,33.209766],[103.084202,33.209769],[103.084253,33.209761],[103.084287,33.209739],[103.084356,33.209695],[103.0845,33.209603],[103.084466,33.209557],[103.084403,33.209471],[103.084455,33.209414],[103.084512,33.209245],[103.084538,33.209077],[103.084523,33.208973],[103.084457,33.208862],[103.084357,33.20886],[103.084195,33.208844],[103.084071,33.208828],[103.083913,33.208796],[103.0838,33.208759],[103.083783,33.208807],[103.083445,33.208513],[103.083185,33.20825],[103.082703,33.207763],[103.082431,33.207171],[103.082283,33.20685],[103.082276,33.206795],[103.082209,33.20634],[103.082023,33.205058],[103.082133,33.204598],[103.082598,33.204817],[103.082716,33.2049],[103.083043,33.20513],[103.083251,33.205276],[103.083355,33.205349],[103.083512,33.205459],[103.083541,33.20545],[103.083534,33.205638],[103.083577,33.205667],[103.083681,33.205639],[103.083937,33.2055],[103.08418,33.20523],[103.084369,33.205068],[103.084458,33.204939],[103.084434,33.204851],[103.084471,33.20473],[103.084496,33.204653],[103.084546,33.204601],[103.084662,33.204581],[103.084751,33.204513],[103.08475,33.204377],[103.084741,33.204302],[103.084768,33.204206],[103.084809,33.204158],[103.084919,33.204119],[103.08492,33.204071],[103.084748,33.203715],[103.084665,33.203739],[103.084467,33.203797],[103.08441,33.203814],[103.084268,33.203856],[103.084175,33.203883],[103.084149,33.203898],[103.083508,33.204275],[103.083178,33.20427],[103.083152,33.204185],[103.083046,33.203846],[103.082942,33.20351],[103.082759,33.203546],[103.082527,33.203537],[103.082453,33.203514],[103.082379,33.203491],[103.082263,33.203352],[103.082164,33.203194],[103.082119,33.203097],[103.082112,33.203],[103.082111,33.202899],[103.082113,33.202857],[103.082116,33.202755],[103.082127,33.202666],[103.082153,33.202553],[103.0822,33.202403],[103.082246,33.202247],[103.082285,33.202088],[103.082302,33.201969],[103.082301,33.201884],[103.082276,33.20179],[103.082184,33.201616],[103.082138,33.201509],[103.082133,33.201491],[103.082113,33.201417],[103.082114,33.201326],[103.082127,33.201252],[103.082164,33.201173],[103.082175,33.20115],[103.08222,33.201098],[103.082332,33.201038],[103.082386,33.201009],[103.082419,33.200969],[103.082445,33.200929],[103.082465,33.200898],[103.082499,33.200811],[103.082583,33.200607],[103.082688,33.200272],[103.082741,33.20011],[103.082788,33.200041],[103.082862,33.199997],[103.082892,33.199956],[103.082907,33.199878],[103.082924,33.199781],[103.083003,33.199518],[103.083005,33.199443],[103.083008,33.199311],[103.083035,33.199121],[103.083042,33.198998],[103.083059,33.198872],[103.083084,33.198775],[103.08312,33.198664],[103.083157,33.198507],[103.083177,33.198456],[103.083068,33.198351],[103.082963,33.198341],[103.082971,33.198278],[103.082961,33.19822],[103.082945,33.19817],[103.082921,33.198124],[103.082865,33.19809],[103.082786,33.198074],[103.082699,33.198079],[103.082697,33.198082],[103.08262,33.198143],[103.082555,33.198217],[103.082489,33.198296],[103.08244,33.198291],[103.082099,33.198428],[103.081888,33.198513],[103.081715,33.198582],[103.081234,33.198676],[103.081144,33.198634],[103.081137,33.19863],[103.080895,33.198517],[103.080789,33.198467],[103.080688,33.19829],[103.080676,33.198268],[103.080587,33.198112],[103.080539,33.197582],[103.080742,33.197243],[103.080943,33.196909],[103.081085,33.196772],[103.081124,33.196732],[103.08127,33.196648],[103.081251,33.196628],[103.081241,33.1966],[103.081331,33.196609],[103.081491,33.196606],[103.081622,33.196605],[103.081785,33.196592],[103.081945,33.196573],[103.082137,33.196549],[103.08222,33.196539],[103.082357,33.196523],[103.082365,33.196522],[103.082591,33.196513],[103.082739,33.196522],[103.0831,33.196536],[103.083266,33.196556],[103.083383,33.196555],[103.083446,33.196549],[103.083663,33.196439],[103.083729,33.196406],[103.083859,33.196239],[103.083887,33.196067],[103.083875,33.195878],[103.083847,33.195835],[103.083755,33.195693],[103.083651,33.195652],[103.083626,33.195557],[103.083614,33.195485],[103.083584,33.19541],[103.083544,33.195327],[103.083501,33.195271],[103.083421,33.195206],[103.083358,33.195175],[103.08331,33.195161],[103.083254,33.195153],[103.083191,33.195164],[103.083142,33.195189],[103.083133,33.195194],[103.083076,33.195224],[103.082981,33.19525],[103.082857,33.195266],[103.082723,33.195284],[103.082217,33.195077],[103.082174,33.19506],[103.082122,33.195038],[103.08197,33.194802],[103.081953,33.194776],[103.081745,33.194453],[103.081883,33.19365],[103.082907,33.192671],[103.083553,33.19224],[103.083448,33.191924],[103.083076,33.191792],[103.083019,33.1918],[103.082976,33.191806],[103.082902,33.191816],[103.082716,33.191841],[103.082695,33.191768],[103.082677,33.191719],[103.082653,33.191658],[103.08263,33.191599],[103.082596,33.191542],[103.082555,33.191513],[103.082516,33.191495],[103.082488,33.191492],[103.082451,33.191505],[103.082398,33.191543],[103.082392,33.191547],[103.082329,33.19159],[103.082112,33.191757],[103.082066,33.19181],[103.081958,33.191902],[103.081899,33.191938],[103.081886,33.191938],[103.081721,33.191943],[103.081351,33.191955],[103.080867,33.191821],[103.08084,33.191756],[103.080836,33.191745],[103.080823,33.191713],[103.080751,33.191537],[103.080745,33.191523],[103.080725,33.191473],[103.080742,33.191309],[103.080772,33.191033],[103.081422,33.190414],[103.081577,33.190154],[103.081888,33.189634],[103.081952,33.189281],[103.081956,33.189255],[103.082014,33.188936],[103.082058,33.188692],[103.082092,33.188588],[103.082203,33.188242],[103.082383,33.187679],[103.082395,33.187642],[103.08246,33.187439],[103.082559,33.187315],[103.082806,33.187004],[103.083301,33.186533],[103.084335,33.185548],[103.084533,33.185342],[103.084871,33.18499],[103.085001,33.184174],[103.08506,33.183867],[103.08515,33.183397],[103.08519,33.183189],[103.085192,33.183183],[103.08527,33.183026],[103.085324,33.182877],[103.085289,33.182678],[103.085297,33.182636],[103.085202,33.181848],[103.085211,33.181768],[103.085214,33.181739],[103.085248,33.181439],[103.08563,33.181099],[103.086823,33.180677],[103.087252,33.180526],[103.087304,33.180507],[103.087594,33.180405],[103.087701,33.180367],[103.088874,33.179953],[103.090478,33.179431],[103.090721,33.179352],[103.091267,33.179046],[103.092198,33.178525],[103.092959,33.17797],[103.093047,33.17776],[103.093354,33.177032],[103.093441,33.175994],[103.093454,33.175837],[103.093422,33.175514],[103.093373,33.175038],[103.093362,33.174923],[103.093372,33.174438],[103.093379,33.174136],[103.093383,33.173386],[103.093385,33.172831],[103.093389,33.172164],[103.09339,33.171902],[103.09339,33.171894],[103.093337,33.170894],[103.093294,33.170724],[103.093096,33.169946],[103.092237,33.168139],[103.09211,33.167067],[103.092069,33.166813],[103.092005,33.166424],[103.091888,33.166253],[103.091808,33.166057],[103.091714,33.165909],[103.09152,33.165732],[103.091433,33.165645],[103.091443,33.165639],[103.091591,33.165584],[103.09182,33.1656],[103.091888,33.165537],[103.091883,33.165497],[103.091772,33.164486],[103.091756,33.164341],[103.091701,33.163844],[103.09157,33.162652],[103.09159,33.161708],[103.091754,33.161517],[103.09225,33.160935],[103.092612,33.160511],[103.09305,33.159999],[103.093483,33.159257],[103.093633,33.159001],[103.093905,33.158502],[103.093906,33.158476],[103.093917,33.157965],[103.093918,33.157935],[103.093868,33.157689],[103.093816,33.15743],[103.093466,33.157091],[103.093157,33.15679],[103.092615,33.155869],[103.09188,33.155292],[103.091088,33.154546],[103.090963,33.154428],[103.090573,33.153681],[103.090474,33.153492],[103.090636,33.153434],[103.091011,33.153279],[103.091137,33.153141],[103.091142,33.152998],[103.09107,33.152903],[103.091019,33.15284],[103.090998,33.152814],[103.090868,33.152624],[103.09081,33.152518],[103.090656,33.152496],[103.090263,33.152222],[103.090206,33.152182],[103.090161,33.15174],[103.090067,33.150889],[103.089882,33.150504],[103.089566,33.149843],[103.089539,33.14979],[103.089382,33.149484],[103.08933,33.149383],[103.089146,33.149024],[103.088996,33.148731],[103.088994,33.148728],[103.088571,33.147901],[103.088687,33.147881],[103.088967,33.147656],[103.089075,33.14754],[103.08918,33.147425],[103.089426,33.147278],[103.089447,33.147234],[103.089483,33.147159],[103.089233,33.147077],[103.088753,33.147005],[103.0884,33.146937],[103.08805,33.146885],[103.087456,33.145725],[103.087435,33.145684],[103.08696,33.144758],[103.086859,33.144561],[103.086857,33.144555],[103.08612,33.143117],[103.085918,33.142236],[103.08591,33.142201],[103.085881,33.142075],[103.085825,33.14194],[103.085691,33.14185],[103.085621,33.141764],[103.085523,33.141687],[103.085437,33.141634],[103.085415,33.141544],[103.085452,33.141455],[103.085472,33.141386],[103.085475,33.141297],[103.085465,33.141064],[103.085444,33.140803],[103.085421,33.140686],[103.085389,33.140536],[103.085354,33.14045],[103.085315,33.140379],[103.085224,33.140233],[103.085129,33.140151],[103.085072,33.140113],[103.084857,33.139622],[103.084226,33.138185],[103.084166,33.138143],[103.084086,33.138087],[103.084016,33.137963],[103.083958,33.137849],[103.083871,33.137692],[103.083836,33.137593],[103.083754,33.137388],[103.083655,33.137189],[103.083504,33.136861],[103.083405,33.136675],[103.083375,33.136533],[103.083459,33.136435],[103.082831,33.136079],[103.082068,33.135976],[103.082047,33.135973],[103.081307,33.135615],[103.080146,33.135692],[103.078205,33.135473],[103.075937,33.13484],[103.075345,33.134516],[103.074911,33.133848],[103.074899,33.133736],[103.07474,33.13361],[103.07465,33.13355],[103.074526,33.133497],[103.074453,33.133441],[103.074413,33.133348],[103.074404,33.133266],[103.074424,33.133219],[103.074522,33.1332],[103.074696,33.133199],[103.074849,33.133249],[103.074212,33.131571],[103.074197,33.131547],[103.074196,33.131545],[103.074176,33.131514],[103.073944,33.131144],[103.073888,33.131056],[103.073453,33.130363],[103.072174,33.12899],[103.070755,33.128874],[103.069706,33.128952],[103.067463,33.128854],[103.066639,33.128904],[103.065744,33.128796],[103.065495,33.128226],[103.064328,33.125155],[103.063434,33.124983],[103.062842,33.125031],[103.061785,33.125115],[103.06006,33.125308],[103.058862,33.125353],[103.057211,33.125579],[103.05683,33.12561],[103.0556,33.125711],[103.055351,33.125736],[103.055303,33.125741],[103.054513,33.12582],[103.053574,33.125963],[103.052377,33.125975],[103.051291,33.126053],[103.05046,33.126324],[103.049821,33.126533],[103.049737,33.126538],[103.049724,33.126539],[103.049416,33.126555],[103.048939,33.126581],[103.048922,33.126582],[103.048322,33.126667],[103.047872,33.126786],[103.047852,33.126782],[103.047826,33.12679],[103.047767,33.126806],[103.04773,33.126817],[103.047009,33.126836],[103.04653,33.126727],[103.046265,33.126666],[103.045671,33.126437],[103.045236,33.126522],[103.045221,33.126524],[103.045201,33.126527],[103.044869,33.12657],[103.044706,33.126591],[103.044652,33.126598],[103.044608,33.126639],[103.044581,33.126657],[103.044542,33.126679],[103.044487,33.126698],[103.04443,33.126712],[103.044374,33.12671],[103.044317,33.1267],[103.044264,33.126685],[103.044241,33.126667],[103.044232,33.126656],[103.044217,33.126658],[103.044159,33.126667],[103.043607,33.126751],[103.043569,33.126765],[103.043303,33.126866],[103.04289,33.127023],[103.042328,33.127077],[103.041773,33.126816],[103.041752,33.126598],[103.041742,33.126501],[103.041739,33.126492],[103.041659,33.126276],[103.041531,33.125931],[103.041236,33.125722],[103.041149,33.12566],[103.041119,33.125639],[103.041078,33.12561],[103.041059,33.125596],[103.040983,33.125552],[103.040956,33.125543],[103.040928,33.125534],[103.040899,33.125528],[103.040882,33.125522],[103.040853,33.125498],[103.040783,33.125486],[103.040679,33.125468],[103.040426,33.125425],[103.040122,33.125374],[103.039545,33.125507],[103.039482,33.125521],[103.038988,33.125489],[103.038847,33.12548],[103.038802,33.125427],[103.038596,33.125186],[103.038519,33.125097],[103.038684,33.124856],[103.038661,33.124809],[103.038656,33.124758],[103.03867,33.124712],[103.038692,33.124676],[103.0387,33.12462],[103.038688,33.124588],[103.038675,33.124583],[103.038605,33.124583],[103.038555,33.124586],[103.038513,33.124587],[103.038448,33.124571],[103.038425,33.124551],[103.038413,33.124513],[103.038411,33.124474],[103.038436,33.124434],[103.038481,33.124411],[103.038501,33.124398],[103.038518,33.124381],[103.038546,33.124362],[103.038555,33.124333],[103.038553,33.12431],[103.038539,33.124276],[103.038517,33.124245],[103.038484,33.124223],[103.038464,33.124202],[103.038444,33.124185],[103.038415,33.124173],[103.038373,33.124166],[103.038333,33.124163],[103.038306,33.124154],[103.038271,33.124135],[103.03798,33.124113],[103.037817,33.124189],[103.037527,33.124326],[103.037105,33.12476],[103.036544,33.124782],[103.036034,33.124659],[103.035986,33.124648],[103.035736,33.124615],[103.035688,33.124632],[103.0356,33.124646],[103.035524,33.124635],[103.035495,33.124618],[103.035469,33.124601],[103.03545,33.124578],[103.035457,33.124556],[103.035468,33.124537],[103.035488,33.124515],[103.035506,33.124507],[103.035521,33.124498],[103.035554,33.12448],[103.035569,33.124475],[103.035582,33.12446],[103.035585,33.124433],[103.035556,33.124417],[103.035528,33.124416],[103.03549,33.124428],[103.035468,33.124439],[103.035452,33.124452],[103.035435,33.12447],[103.035418,33.124485],[103.035388,33.124499],[103.035358,33.124509],[103.035282,33.124514],[103.035254,33.124513],[103.035224,33.124505],[103.035197,33.124492],[103.035184,33.124484],[103.035171,33.124467],[103.035161,33.124444],[103.035152,33.12442],[103.03514,33.124393],[103.035128,33.124365],[103.035114,33.124342],[103.035103,33.124328],[103.035083,33.124318],[103.03506,33.124312],[103.035036,33.124313],[103.035002,33.124321],[103.034987,33.12433],[103.034979,33.124341],[103.034983,33.124362],[103.035004,33.124382],[103.035036,33.124404],[103.035065,33.124432],[103.035076,33.124449],[103.03508,33.124475],[103.03507,33.124501],[103.035058,33.124523],[103.035045,33.124538],[103.035031,33.124554],[103.035013,33.124569],[103.034989,33.124583],[103.034955,33.1246],[103.034905,33.124603],[103.034875,33.124596],[103.034847,33.124581],[103.034813,33.124572],[103.034789,33.124577],[103.034762,33.124594],[103.034729,33.124615],[103.034692,33.124636],[103.034661,33.124638],[103.034631,33.124633],[103.034593,33.124613],[103.034536,33.124568],[103.034525,33.124553],[103.034517,33.124532],[103.034243,33.12457],[103.034095,33.12459],[103.033704,33.124643],[103.032961,33.124553],[103.032809,33.124535],[103.032726,33.124516],[103.032677,33.124505],[103.032065,33.124366],[103.031688,33.124485],[103.031265,33.125014],[103.031158,33.125069],[103.031089,33.125104],[103.030848,33.125228],[103.030514,33.125128],[103.030371,33.124811],[103.030344,33.124711],[103.030332,33.124666],[103.030311,33.124589],[103.030276,33.12446],[103.030261,33.124464],[103.030236,33.124452],[103.0302,33.124441],[103.030176,33.124426],[103.030169,33.124422],[103.03015,33.124395],[103.03015,33.12438],[103.030172,33.124341],[103.030184,33.124324],[103.030231,33.124303],[103.029903,33.124017],[103.029492,33.123979],[103.029399,33.123982],[103.028931,33.124001],[103.028743,33.123974],[103.028697,33.123947],[103.028675,33.123929],[103.028654,33.123896],[103.028641,33.123869],[103.028609,33.123843],[103.028573,33.123817],[103.028525,33.123794],[103.028481,33.123776],[103.028413,33.123757],[103.028341,33.123746],[103.02828,33.123744],[103.028191,33.123643],[103.028197,33.12361],[103.028215,33.123508],[103.028224,33.123457],[103.028233,33.123408],[103.02826,33.123263],[103.028262,33.123248],[103.028276,33.123172],[103.028294,33.122386],[103.028227,33.12225],[103.028195,33.122184],[103.028165,33.122123],[103.028157,33.122108],[103.027936,33.121656],[103.027291,33.121322],[103.027122,33.121234],[103.026047,33.121012],[103.025968,33.120996],[103.025233,33.121048],[103.025069,33.12106],[103.025068,33.12108],[103.02507,33.121097],[103.025074,33.121114],[103.025077,33.121132],[103.02508,33.121149],[103.025083,33.121166],[103.025074,33.121189],[103.025058,33.121226],[103.025046,33.121243],[103.025021,33.121267],[103.024998,33.121276],[103.024953,33.12128],[103.024913,33.12128],[103.024857,33.121269],[103.024828,33.121258],[103.024813,33.121242],[103.02481,33.12122],[103.02481,33.1212],[103.024818,33.121179],[103.024827,33.121157],[103.024832,33.121139],[103.024838,33.12112],[103.024842,33.1211],[103.024841,33.12108],[103.02483,33.121043],[103.024784,33.121002],[103.024752,33.120978],[103.024707,33.120954],[103.024668,33.120965],[103.024667,33.120986],[103.024673,33.121016],[103.024691,33.121055],[103.024694,33.121069],[103.024706,33.121106],[103.024712,33.121132],[103.024707,33.12115],[103.024697,33.121179],[103.02469,33.121208],[103.024676,33.121243],[103.024667,33.12127],[103.024656,33.121303],[103.024641,33.121332],[103.024615,33.121359],[103.024584,33.121375],[103.024533,33.121385],[103.024487,33.121386],[103.024447,33.12138],[103.024417,33.121366],[103.024412,33.121345],[103.024411,33.121327],[103.024428,33.121298],[103.024436,33.121282],[103.024437,33.121252],[103.024436,33.121242],[103.024421,33.121228],[103.024391,33.121216],[103.024347,33.121204],[103.024323,33.121202],[103.024305,33.121197],[103.024267,33.121187],[103.024118,33.121215],[103.024107,33.121217],[103.023859,33.121263],[103.023802,33.121254],[103.023699,33.121247],[103.023618,33.121256],[103.023599,33.121261],[103.023582,33.121267],[103.023567,33.121273],[103.023429,33.12127],[103.023128,33.121265],[103.023045,33.121264],[103.022891,33.121212],[103.022852,33.121206],[103.022819,33.121194],[103.022797,33.121165],[103.022764,33.121121],[103.022731,33.121077],[103.022719,33.12106],[103.022688,33.121041],[103.022644,33.121014],[103.022528,33.120941],[103.022415,33.120837],[103.021938,33.120401],[103.021818,33.120291],[103.021759,33.120236],[103.021751,33.120141],[103.02175,33.120128],[103.02175,33.120118],[103.021747,33.120079],[103.021732,33.120073],[103.021712,33.120054],[103.021712,33.120032],[103.021719,33.120008],[103.02174,33.119989],[103.021761,33.119946],[103.02177,33.119906],[103.021779,33.119871],[103.02179,33.119836],[103.021798,33.119809],[103.021803,33.119782],[103.0218,33.119749],[103.021771,33.119717],[103.021755,33.119696],[103.021709,33.119658],[103.021699,33.119563],[103.021668,33.119259],[103.021264,33.118818],[103.02123,33.11878],[103.021082,33.118727],[103.021023,33.118707],[103.020674,33.118582],[103.020461,33.118531],[103.020116,33.118448],[103.020047,33.118264],[103.020003,33.118145],[103.019985,33.118097],[103.020011,33.1181],[103.02004,33.118113],[103.020058,33.118124],[103.020078,33.118171],[103.020085,33.11819],[103.020092,33.118216],[103.020111,33.118242],[103.020138,33.11826],[103.020172,33.118265],[103.020212,33.118261],[103.020241,33.118255],[103.020264,33.11825],[103.020284,33.118238],[103.020321,33.118223],[103.020332,33.118208],[103.020298,33.118188],[103.02026,33.118182],[103.020238,33.118171],[103.020222,33.118142],[103.020226,33.118118],[103.020234,33.11808],[103.020221,33.118044],[103.020206,33.118021],[103.02019,33.117999],[103.020157,33.117976],[103.020128,33.117959],[103.020088,33.11795],[103.020043,33.117953],[103.020016,33.117962],[103.019996,33.11798],[103.019978,33.118007],[103.019958,33.118024],[103.019928,33.117944],[103.019911,33.117897],[103.01985,33.117903],[103.019803,33.117915],[103.019749,33.117945],[103.01971,33.117963],[103.019679,33.11796],[103.019655,33.117933],[103.019632,33.117883],[103.019632,33.117834],[103.019643,33.117793],[103.019664,33.117741],[103.019517,33.117658],[103.019522,33.117614],[103.019526,33.117542],[103.019513,33.1175],[103.019487,33.117487],[103.01941,33.117467],[103.01934,33.117468],[103.019271,33.117467],[103.019227,33.117455],[103.019171,33.117423],[103.019136,33.117383],[103.01909,33.117324],[103.019063,33.117257],[103.019029,33.117227],[103.018993,33.117217],[103.018922,33.117232],[103.01886,33.117251],[103.018781,33.117259],[103.018717,33.117248],[103.018644,33.117219],[103.018576,33.117134],[103.01848,33.11713],[103.018373,33.117162],[103.018339,33.117171],[103.018131,33.117111],[103.018113,33.117106],[103.018059,33.11709],[103.01791,33.117046],[103.017896,33.117014],[103.01788,33.116993],[103.01784,33.116968],[103.017807,33.116952],[103.017775,33.11694],[103.017729,33.116943],[103.017705,33.116953],[103.017663,33.116975],[103.017383,33.116893],[103.017298,33.116833],[103.017276,33.116817],[103.017179,33.116749],[103.017154,33.116731],[103.016794,33.116475],[103.01674,33.116186],[103.016736,33.116165],[103.016692,33.115932],[103.016688,33.11591],[103.016644,33.115674],[103.016642,33.11566],[103.016641,33.115655],[103.016629,33.115595],[103.016629,33.115591],[103.016625,33.115571],[103.016597,33.115423],[103.016594,33.115406],[103.016593,33.115402],[103.016582,33.115332],[103.016578,33.115309],[103.016576,33.115299],[103.016481,33.114728],[103.016462,33.114613],[103.016252,33.114387],[103.016091,33.114214],[103.016025,33.114142],[103.015987,33.114101],[103.015956,33.114065],[103.015607,33.113647],[103.015586,33.113623],[103.015586,33.113623],[103.015495,33.113537],[103.015147,33.113207],[103.015233,33.112705],[103.015171,33.112604],[103.015159,33.112584],[103.015072,33.112441],[103.015029,33.112371],[103.014983,33.11238],[103.014915,33.112368],[103.014885,33.112356],[103.01487,33.112339],[103.014869,33.112315],[103.014883,33.112291],[103.014899,33.112282],[103.0149,33.112265],[103.014891,33.112254],[103.014869,33.112235],[103.01483,33.112213],[103.014803,33.11219],[103.014799,33.112181],[103.01476,33.112128],[103.014753,33.112105],[103.01474,33.112083],[103.01473,33.112067],[103.014699,33.112052],[103.01468,33.112056],[103.014639,33.112084],[103.014631,33.112079],[103.014595,33.112058],[103.014501,33.112],[103.014627,33.111373],[103.01461,33.111045],[103.014606,33.110971],[103.014608,33.11097],[103.014623,33.11095],[103.014622,33.11093],[103.014616,33.110908],[103.014608,33.110882],[103.014606,33.110852],[103.014613,33.110827],[103.014622,33.110794],[103.014632,33.110773],[103.014637,33.110752],[103.01463,33.110731],[103.014617,33.110722],[103.014577,33.110714],[103.01456,33.110604],[103.01452,33.110348],[103.014503,33.110238],[103.014171,33.110012],[103.014019,33.11001],[103.013621,33.110004],[103.013499,33.110002],[103.013321,33.110092],[103.013263,33.110121],[103.013213,33.110147],[103.013163,33.110173],[103.013119,33.110184],[103.013076,33.11019],[103.013046,33.110188],[103.013011,33.110179],[103.012976,33.110158],[103.01294,33.110128],[103.012879,33.11008],[103.012834,33.110054],[103.012754,33.110042],[103.012711,33.110064],[103.012681,33.110114],[103.012664,33.110181],[103.012655,33.110247],[103.012651,33.110309],[103.012647,33.110383],[103.012645,33.110402],[103.012635,33.110433],[103.012624,33.110462],[103.012608,33.11049],[103.012582,33.110521],[103.012549,33.110541],[103.012514,33.110544],[103.012476,33.110539],[103.01246,33.110524],[103.012438,33.110483],[103.012417,33.110456],[103.012399,33.110411],[103.012387,33.110395],[103.012354,33.110384],[103.01233,33.110377],[103.012315,33.110363],[103.012294,33.110346],[103.012279,33.110326],[103.012249,33.110307],[103.012215,33.110292],[103.012179,33.110306],[103.01215,33.110323],[103.012119,33.110336],[103.012073,33.110335],[103.012034,33.110329],[103.011996,33.11031],[103.011949,33.110279],[103.011908,33.110262],[103.011884,33.11025],[103.011867,33.110243],[103.011854,33.110239],[103.011802,33.110238],[103.01176,33.110249],[103.011723,33.110264],[103.011663,33.110288],[103.011618,33.110295],[103.011574,33.110294],[103.011539,33.110286],[103.011517,33.110275],[103.011494,33.110262],[103.011477,33.110236],[103.011465,33.110202],[103.011465,33.110176],[103.011452,33.110135],[103.011431,33.110094],[103.011419,33.110059],[103.01139,33.11003],[103.011342,33.110021],[103.01121,33.110019],[103.011161,33.110039],[103.011166,33.110087],[103.011191,33.110137],[103.011244,33.110198],[103.011289,33.110261],[103.011326,33.110322],[103.011351,33.110362],[103.011399,33.110405],[103.011426,33.110441],[103.011445,33.110502],[103.01145,33.110589],[103.01145,33.110631],[103.011445,33.110668],[103.011415,33.110684],[103.011367,33.110686],[103.01129,33.110681],[103.011261,33.110682],[103.011244,33.110724],[103.011261,33.110768],[103.011283,33.110811],[103.011289,33.110846],[103.011294,33.110872],[103.011296,33.110948],[103.011297,33.110965],[103.011292,33.111046],[103.011289,33.111109],[103.011258,33.111167],[103.01121,33.111226],[103.011155,33.111273],[103.011101,33.111305],[103.011032,33.111365],[103.010967,33.111397],[103.010876,33.111395],[103.010801,33.111368],[103.010739,33.111335],[103.010665,33.111322],[103.010554,33.111331],[103.010445,33.111369],[103.010366,33.111375],[103.010265,33.11135],[103.010156,33.111314],[103.010083,33.111311],[103.01,33.111311],[103.009935,33.111325],[103.009893,33.111342],[103.00973,33.111263],[103.009723,33.111256],[103.009682,33.11121],[103.009659,33.111186],[103.009292,33.110784],[103.009288,33.110682],[103.009268,33.110186],[103.00936,33.109883],[103.009375,33.109836],[103.00943,33.109653],[103.009376,33.109607],[103.00918,33.109435],[103.009122,33.109384],[103.0091,33.109365],[103.008943,33.109273],[103.008904,33.10925],[103.008768,33.109171],[103.008569,33.109158],[103.00854,33.109156],[103.008298,33.10914],[103.008133,33.109129],[103.008104,33.109123],[103.008035,33.109108],[103.008034,33.10913],[103.008024,33.109151],[103.008006,33.109164],[103.007972,33.109163],[103.007941,33.109158],[103.007899,33.109136],[103.007875,33.109118],[103.007843,33.109091],[103.007805,33.109058],[103.007767,33.109031],[103.00774,33.109025],[103.007681,33.109035],[103.00765,33.109055],[103.007631,33.109081],[103.00762,33.109107],[103.0076,33.109133],[103.007569,33.109152],[103.007532,33.109172],[103.007481,33.109181],[103.007427,33.10919],[103.007389,33.109207],[103.007364,33.109229],[103.007331,33.109251],[103.007288,33.109267],[103.007251,33.109271],[103.00719,33.109263],[103.007127,33.109235],[103.007074,33.109199],[103.007032,33.109168],[103.00699,33.109143],[103.006951,33.109125],[103.006899,33.109105],[103.006872,33.109076],[103.006866,33.10903],[103.006869,33.108988],[103.006867,33.108965],[103.006861,33.108955],[103.006822,33.108886],[103.006842,33.108845],[103.006804,33.108836],[103.006768,33.10882],[103.006728,33.108793],[103.006695,33.10878],[103.006687,33.108786],[103.006632,33.108787],[103.006601,33.108786],[103.006557,33.108762],[103.006518,33.108739],[103.00641,33.108697],[103.006384,33.108684],[103.006369,33.10867],[103.006355,33.10864],[103.006348,33.108603],[103.006369,33.108576],[103.006379,33.10856],[103.00638,33.108531],[103.006357,33.108508],[103.006266,33.108524],[103.006234,33.108528],[103.00619,33.108526],[103.006168,33.108517],[103.006144,33.108498],[103.006117,33.108444],[103.006118,33.108386],[103.006129,33.108331],[103.006154,33.108294],[103.006188,33.108258],[103.006197,33.108208],[103.006175,33.108189],[103.006123,33.108138],[103.006087,33.108071],[103.006084,33.108065],[103.006044,33.107994],[103.006019,33.107956],[103.005998,33.107912],[103.005961,33.107893],[103.005915,33.107876],[103.005847,33.107851],[103.00579,33.107832],[103.005742,33.107806],[103.005706,33.107784],[103.005677,33.10776],[103.005652,33.107725],[103.005603,33.10769],[103.005559,33.107681],[103.005522,33.107672],[103.005458,33.107614],[103.005359,33.107587],[103.005246,33.107583],[103.005172,33.107558],[103.005115,33.10752],[103.005063,33.107478],[103.005021,33.107416],[103.004978,33.107358],[103.004968,33.107329],[103.004963,33.107274],[103.004992,33.107208],[103.005013,33.107163],[103.004985,33.107085],[103.004934,33.10703],[103.004904,33.106996],[103.004916,33.106908],[103.004908,33.10688],[103.004875,33.10685],[103.00483,33.106814],[103.004743,33.106819],[103.004659,33.106866],[103.004616,33.106874],[103.00455,33.106869],[103.004519,33.106844],[103.004506,33.106828],[103.004496,33.106799],[103.004482,33.106748],[103.004461,33.106699],[103.00444,33.10668],[103.004399,33.106657],[103.00437,33.106652],[103.004345,33.106648],[103.004325,33.106664],[103.004308,33.106712],[103.004233,33.106786],[103.004186,33.106848],[103.004131,33.106907],[103.004061,33.106946],[103.004004,33.106968],[103.003907,33.106978],[103.003803,33.106974],[103.003756,33.106942],[103.003722,33.106883],[103.003701,33.106825],[103.003699,33.106752],[103.003699,33.10671],[103.003729,33.106607],[103.003747,33.10657],[103.003742,33.106542],[103.003708,33.106527],[103.003558,33.10652],[103.003453,33.106491],[103.003435,33.106458],[103.003432,33.106401],[103.003438,33.106356],[103.003449,33.106364],[103.00347,33.106374],[103.003487,33.10638],[103.003516,33.106369],[103.003507,33.106343],[103.003433,33.106145],[103.003433,33.106145],[103.003428,33.106132],[103.003415,33.106097],[103.003344,33.105905],[103.003347,33.105898],[103.003386,33.105814],[103.003393,33.105798],[103.003447,33.105681],[103.003465,33.10564],[103.003495,33.105613],[103.003519,33.105584],[103.003535,33.105556],[103.003553,33.105529],[103.003584,33.105493],[103.003608,33.105478],[103.003664,33.105459],[103.003718,33.105444],[103.003751,33.105424],[103.003766,33.105404],[103.003761,33.105384],[103.003733,33.105374],[103.003688,33.105378],[103.003668,33.105385],[103.003608,33.105411],[103.003653,33.105348],[103.003661,33.105336],[103.003771,33.105182],[103.00381,33.105126],[103.003857,33.104717],[103.003675,33.104494],[103.003236,33.104542],[103.003215,33.104544],[103.003185,33.104535],[103.003157,33.104528],[103.003137,33.104528],[103.003113,33.104531],[103.003089,33.104541],[103.003063,33.104554],[103.003026,33.104565],[103.00299,33.104569],[103.002983,33.104539],[103.002962,33.104516],[103.002919,33.104494],[103.002885,33.104484],[103.002854,33.104493],[103.002842,33.104515],[103.002837,33.104544],[103.002833,33.104573],[103.002821,33.104602],[103.002788,33.104621],[103.002753,33.10463],[103.002728,33.104625],[103.002719,33.104615],[103.002712,33.104598],[103.002706,33.104574],[103.002698,33.104549],[103.002673,33.104527],[103.002658,33.104529],[103.002643,33.104541],[103.002622,33.104577],[103.002598,33.10461],[103.002573,33.104646],[103.002561,33.104674],[103.00256,33.104701],[103.002571,33.104718],[103.002523,33.104738],[103.002321,33.104818],[103.001836,33.104811],[103.00167,33.104724],[103.001466,33.104616],[103.001029,33.104074],[103.000854,33.103663],[103.000818,33.103578],[103.000745,33.103408],[103.00074,33.103394],[103.000788,33.10334],[103.000822,33.103328],[103.000853,33.103309],[103.000861,33.103282],[103.000831,33.103253],[103.000804,33.103233],[103.000763,33.103218],[103.000733,33.103183],[103.000712,33.103138],[103.000689,33.103106],[103.000655,33.103075],[103.000611,33.103062],[103.000462,33.10268],[103.000106,33.102294],[102.999784,33.101944],[102.99957,33.101757],[102.999457,33.101658],[102.999425,33.10163],[102.999525,33.101596],[102.99956,33.101582],[102.999567,33.101567],[102.99955,33.101557],[102.99948,33.101555],[102.999431,33.101555],[102.999383,33.101556],[102.999365,33.10156],[102.999332,33.101555],[102.999299,33.101548],[102.99924,33.101526],[102.999219,33.10149],[102.999211,33.101419],[102.999221,33.101345],[102.999213,33.101333],[102.999123,33.101199],[102.998839,33.100777],[102.998445,33.100478],[102.998188,33.100283],[102.998153,33.100255],[102.998117,33.100225],[102.99809,33.100244],[102.998054,33.100247],[102.997955,33.100218],[102.997911,33.100193],[102.997883,33.100164],[102.997876,33.100149],[102.997882,33.10011],[102.997913,33.10008],[102.997922,33.100064],[102.997929,33.100036],[102.997924,33.099988],[102.997886,33.099945],[102.997858,33.099933],[102.9978,33.099964],[102.997651,33.100049],[102.997607,33.100056],[102.99756,33.100042],[102.997532,33.100005],[102.997508,33.09996],[102.997499,33.099931],[102.99749,33.099873],[102.997485,33.099807],[102.997473,33.099767],[102.997437,33.099751],[102.997403,33.09975],[102.997366,33.099756],[102.997319,33.099782],[102.997281,33.099804],[102.997239,33.099837],[102.997206,33.099869],[102.997185,33.099874],[102.997156,33.099868],[102.997119,33.099837],[102.99711,33.09981],[102.997161,33.099794],[102.997232,33.099787],[102.997318,33.09976],[102.997361,33.099735],[102.997363,33.099695],[102.997341,33.099643],[102.997295,33.099615],[102.99725,33.099618],[102.997193,33.099649],[102.997132,33.099661],[102.997096,33.09965],[102.997057,33.099629],[102.997023,33.099625],[102.996991,33.099665],[102.996949,33.099732],[102.996915,33.099769],[102.99689,33.099779],[102.996854,33.099772],[102.996832,33.099749],[102.99685,33.09973],[102.996888,33.099719],[102.996923,33.099675],[102.996922,33.099634],[102.996924,33.099588],[102.996954,33.099554],[102.997027,33.099529],[102.997065,33.09949],[102.997073,33.099441],[102.9971,33.099379],[102.997122,33.099373],[102.997156,33.09938],[102.997202,33.099375],[102.997229,33.099362],[102.99724,33.099318],[102.997236,33.099284],[102.997226,33.099245],[102.997202,33.099217],[102.997137,33.099183],[102.997092,33.099162],[102.997039,33.099118],[102.997021,33.099073],[102.997038,33.099053],[102.997072,33.099044],[102.997095,33.099069],[102.99712,33.099096],[102.997172,33.099122],[102.997245,33.09913],[102.997359,33.099106],[102.997408,33.099089],[102.997437,33.099062],[102.997433,33.099035],[102.997385,33.099005],[102.997298,33.098966],[102.997243,33.098937],[102.997173,33.098898],[102.997095,33.098853],[102.997049,33.098811],[102.997051,33.098769],[102.99708,33.098754],[102.997123,33.098759],[102.997176,33.098787],[102.997206,33.098814],[102.997283,33.098875],[102.997271,33.098733],[102.997261,33.098615],[102.997256,33.098559],[102.997257,33.09855],[102.997277,33.09835],[102.997229,33.098339],[102.997209,33.098322],[102.997205,33.098296],[102.997227,33.098283],[102.997253,33.09827],[102.997264,33.098252],[102.997264,33.098226],[102.997242,33.098183],[102.997192,33.098145],[102.997135,33.098114],[102.997106,33.098094],[102.997103,33.098058],[102.997117,33.098035],[102.997137,33.098023],[102.997188,33.098032],[102.997233,33.09805],[102.997269,33.098059],[102.997308,33.098053],[102.99735,33.098004],[102.997368,33.097952],[102.997366,33.097918],[102.997343,33.097873],[102.99729,33.097841],[102.997232,33.097846],[102.997102,33.097591],[102.996909,33.097464],[102.996895,33.097455],[102.996911,33.097401],[102.996921,33.097354],[102.996913,33.097317],[102.996882,33.097285],[102.996838,33.097266],[102.996755,33.097256],[102.996695,33.097258],[102.996696,33.097265],[102.996695,33.097323],[102.99658,33.097248],[102.996102,33.09715],[102.996049,33.097139],[102.996039,33.097137],[102.995836,33.097096],[102.995789,33.097086],[102.995616,33.097212],[102.995513,33.097287],[102.995491,33.097303],[102.99534,33.097414],[102.995163,33.097344],[102.994552,33.097104],[102.993953,33.096277],[102.993551,33.09594],[102.993528,33.095921],[102.993453,33.095858],[102.993371,33.09579],[102.993266,33.095702],[102.993257,33.095624],[102.993248,33.09558],[102.993223,33.095552],[102.993191,33.09555],[102.993073,33.09554],[102.993059,33.095529],[102.993024,33.095499],[102.992987,33.095468],[102.992963,33.095448],[102.992957,33.095443],[102.992898,33.095336],[102.992893,33.095326],[102.992882,33.095307],[102.992791,33.09514],[102.992778,33.095116],[102.992724,33.095018],[102.992714,33.094999],[102.992657,33.094894],[102.992645,33.094872],[102.992569,33.094733],[102.992556,33.094709],[102.992435,33.094488],[102.992323,33.094442],[102.99226,33.094404],[102.992217,33.094338],[102.992208,33.094264],[102.992198,33.094183],[102.992209,33.094111],[102.992241,33.094058],[102.992219,33.093995],[102.992155,33.093915],[102.992094,33.093871],[102.992026,33.093815],[102.991958,33.093747],[102.991904,33.093685],[102.991864,33.093598],[102.991842,33.093494],[102.99183,33.093432],[102.991776,33.093355],[102.991725,33.093344],[102.991724,33.093342],[102.991706,33.093312],[102.99143,33.092838],[102.991287,33.092873],[102.991264,33.092873],[102.99125,33.092842],[102.991244,33.092806],[102.991255,33.092758],[102.99128,33.092725],[102.991339,33.092682],[102.99138,33.09259],[102.99138,33.092545],[102.991334,33.092519],[102.991257,33.092503],[102.991231,33.092496],[102.991003,33.092105],[102.990985,33.092048],[102.990756,33.091283],[102.990656,33.091231],[102.989491,33.090631],[102.989364,33.090465],[102.989269,33.090339],[102.989172,33.090273],[102.98911,33.090215],[102.989064,33.090145],[102.989034,33.090084],[102.988983,33.090017],[102.988927,33.089973],[102.98889,33.089939],[102.988826,33.089876],[102.988806,33.089824],[102.988813,33.08978],[102.988867,33.089752],[102.988919,33.08973],[102.988982,33.089715],[102.989027,33.089721],[102.989084,33.08971],[102.989111,33.089673],[102.989134,33.089602],[102.989139,33.089546],[102.989128,33.089493],[102.989081,33.089449],[102.988989,33.08941],[102.988992,33.089262],[102.988999,33.088951],[102.988965,33.088505],[102.988824,33.08843],[102.98871,33.08837],[102.988353,33.088182],[102.987875,33.08793],[102.987238,33.087739],[102.987181,33.087722],[102.987126,33.087706],[102.986654,33.087565],[102.98656,33.087537],[102.986387,33.087446],[102.986421,33.087408],[102.986403,33.08737],[102.986372,33.087311],[102.986326,33.087276],[102.986235,33.087244],[102.986151,33.087228],[102.986062,33.087192],[102.986004,33.08717],[102.985954,33.087109],[102.985844,33.087097],[102.985791,33.087132],[102.985688,33.087077],[102.985606,33.086943],[102.985363,33.086542],[102.985132,33.086162],[102.985049,33.086026],[102.984499,33.085014],[102.984031,33.084226],[102.983512,33.083772],[102.982649,33.082903],[102.982003,33.082224],[102.981612,33.081958],[102.980294,33.081676],[102.979567,33.080661],[102.978966,33.079908],[102.978661,33.079571],[102.978148,33.079003],[102.97755,33.078663],[102.977408,33.078583],[102.976311,33.078305],[102.975882,33.07774],[102.975916,33.077252],[102.975936,33.077246],[102.975987,33.077236],[102.976021,33.077226],[102.976067,33.077204],[102.976115,33.077176],[102.976137,33.077151],[102.976148,33.077127],[102.97615,33.077096],[102.976141,33.077065],[102.976134,33.077043],[102.976124,33.076997],[102.97611,33.076969],[102.976124,33.076942],[102.976152,33.076913],[102.976188,33.07689],[102.976207,33.076849],[102.976206,33.07682],[102.976197,33.076794],[102.976173,33.076777],[102.976139,33.076753],[102.976075,33.076731],[102.976044,33.076726],[102.976014,33.076721],[102.975994,33.076703],[102.975964,33.076668],[102.975931,33.076617],[102.9759,33.076565],[102.97587,33.076434],[102.975784,33.07606],[102.975708,33.075731],[102.975456,33.075352],[102.975403,33.075271],[102.97541,33.075255],[102.975412,33.075243],[102.975411,33.075229],[102.975409,33.075212],[102.975408,33.075202],[102.975405,33.07518],[102.975405,33.075162],[102.975409,33.075149],[102.975418,33.075143],[102.975437,33.075143],[102.975438,33.075152],[102.975432,33.075175],[102.975431,33.075194],[102.975454,33.075205],[102.975475,33.0752],[102.975497,33.075178],[102.975504,33.075149],[102.975505,33.075119],[102.975493,33.075107],[102.975479,33.075096],[102.975472,33.075075],[102.975457,33.075066],[102.975424,33.075074],[102.975412,33.075079],[102.975399,33.075081],[102.975356,33.075084],[102.975329,33.075072],[102.97529,33.075067],[102.975269,33.075069],[102.975253,33.075068],[102.975243,33.075066],[102.975234,33.07506],[102.975231,33.075048],[102.975233,33.07504],[102.975247,33.075035],[102.975268,33.075031],[102.975285,33.075026],[102.975308,33.075013],[102.975311,33.074994],[102.975302,33.074971],[102.975287,33.07496],[102.975258,33.074939],[102.97523,33.074922],[102.975209,33.074905],[102.975185,33.074894],[102.975161,33.074879],[102.975139,33.074872],[102.975127,33.074869],[102.975118,33.074861],[102.975114,33.07485],[102.975117,33.074839],[102.975132,33.074814],[102.975138,33.074808],[102.975148,33.074797],[102.975167,33.074772],[102.975155,33.07475],[102.975135,33.07474],[102.975128,33.074737],[102.97511,33.074721],[102.975101,33.074697],[102.975082,33.074672],[102.975047,33.074666],[102.97504,33.074675],[102.975037,33.074695],[102.975035,33.074711],[102.975017,33.074722],[102.974994,33.074725],[102.97498,33.074728],[102.974965,33.074727],[102.974953,33.074723],[102.974947,33.074717],[102.974947,33.074706],[102.974957,33.074692],[102.974975,33.074673],[102.974976,33.074656],[102.974963,33.074639],[102.974944,33.074623],[102.974935,33.074608],[102.974927,33.074586],[102.974915,33.074575],[102.974891,33.07456],[102.974873,33.074544],[102.974866,33.074527],[102.97486,33.074507],[102.974852,33.074486],[102.974832,33.074474],[102.974815,33.074466],[102.974774,33.074456],[102.974754,33.07446],[102.974729,33.074471],[102.974726,33.074486],[102.974725,33.0745],[102.974725,33.074528],[102.974716,33.074547],[102.974696,33.074559],[102.97468,33.074559],[102.974665,33.074558],[102.974631,33.074543],[102.974619,33.074523],[102.974618,33.0745],[102.97463,33.074478],[102.974632,33.074449],[102.974623,33.074427],[102.974592,33.074408],[102.974557,33.074417],[102.97453,33.074424],[102.974517,33.074424],[102.974503,33.074424],[102.974482,33.074409],[102.974482,33.074397],[102.9745,33.074373],[102.97453,33.074342],[102.974551,33.074329],[102.974546,33.074304],[102.974528,33.07428],[102.974485,33.07427],[102.974457,33.074265],[102.974391,33.074242],[102.974345,33.074214],[102.974299,33.074177],[102.974257,33.074135],[102.974217,33.074074],[102.974187,33.074036],[102.974151,33.074007],[102.974102,33.073961],[102.974025,33.073888],[102.973998,33.073857],[102.973967,33.07383],[102.97394,33.073796],[102.973904,33.07375],[102.973854,33.073756],[102.973849,33.07375],[102.973819,33.073704],[102.973776,33.073635],[102.97366,33.073485],[102.973636,33.073459],[102.973606,33.073428],[102.973583,33.073397],[102.973559,33.073361],[102.973529,33.073341],[102.973482,33.073314],[102.973466,33.073296],[102.973454,33.073252],[102.973442,33.07323],[102.973423,33.073214],[102.973391,33.07319],[102.97335,33.073177],[102.973322,33.073165],[102.973292,33.073146],[102.973282,33.073118],[102.973277,33.073082],[102.973267,33.073062],[102.973223,33.073032],[102.973176,33.073006],[102.973106,33.072967],[102.973059,33.072937],[102.973066,33.072893],[102.973046,33.072884],[102.972995,33.072855],[102.972978,33.072833],[102.972938,33.072801],[102.97291,33.072771],[102.972888,33.072742],[102.97286,33.072701],[102.972833,33.072668],[102.972803,33.072619],[102.972797,33.072602],[102.972789,33.072577],[102.972789,33.072563],[102.972809,33.072543],[102.972834,33.072516],[102.972837,33.072503],[102.972835,33.072484],[102.972831,33.072473],[102.972827,33.072459],[102.972803,33.072437],[102.972775,33.072413],[102.972746,33.07238],[102.972723,33.072365],[102.972705,33.072352],[102.972691,33.072337],[102.972677,33.072314],[102.972665,33.072291],[102.972648,33.072262],[102.972621,33.072223],[102.972614,33.072204],[102.972578,33.072109],[102.972195,33.071104],[102.971661,33.069933],[102.971649,33.069906],[102.971306,33.06967],[102.970433,33.069069],[102.969985,33.068838],[102.96992,33.068804],[102.969896,33.06882],[102.969864,33.068801],[102.969825,33.068783],[102.969795,33.068764],[102.969759,33.068742],[102.969749,33.068733],[102.969735,33.068709],[102.969685,33.068683],[102.969168,33.068416],[102.968553,33.067811],[102.968477,33.067736],[102.968404,33.067423],[102.968384,33.067336],[102.968363,33.067332],[102.968335,33.067312],[102.968322,33.0673],[102.968318,33.067277],[102.968324,33.06725],[102.968337,33.067232],[102.96835,33.067222],[102.968356,33.06722],[102.968398,33.067212],[102.968411,33.067212],[102.968445,33.067198],[102.968454,33.06718],[102.968447,33.067161],[102.968426,33.067137],[102.968392,33.067112],[102.968372,33.067101],[102.968356,33.067091],[102.968321,33.067071],[102.968302,33.067056],[102.96829,33.067047],[102.968278,33.067036],[102.968271,33.067024],[102.968269,33.067009],[102.96827,33.066993],[102.968281,33.066974],[102.968296,33.066961],[102.968321,33.066945],[102.96835,33.066937],[102.968403,33.066932],[102.968445,33.066929],[102.968473,33.066925],[102.968491,33.066904],[102.96849,33.066884],[102.96848,33.066872],[102.968462,33.066864],[102.968424,33.06686],[102.968404,33.066859],[102.968384,33.066858],[102.968346,33.066844],[102.96833,33.066818],[102.968323,33.066807],[102.968312,33.066798],[102.968298,33.066793],[102.968278,33.06679],[102.96828,33.06672],[102.968286,33.066451],[102.968292,33.06621],[102.968175,33.065539],[102.967934,33.065222],[102.967489,33.064636],[102.967228,33.064239],[102.96728,33.064215],[102.967297,33.064203],[102.9673,33.064167],[102.967288,33.064113],[102.967249,33.064082],[102.967212,33.06407],[102.967168,33.06407],[102.967116,33.06407],[102.966722,33.063472],[102.966028,33.06294],[102.965237,33.062816],[102.96426,33.06306],[102.96396,33.063143],[102.963865,33.06317],[102.962617,33.063516],[102.960792,33.064192],[102.959416,33.064541],[102.958356,33.064598],[102.957133,33.064058],[102.956519,33.063899],[102.955595,33.063773],[102.954944,33.063279],[102.954309,33.062117],[102.953721,33.060844],[102.953557,33.060173],[102.953439,33.059687],[102.953426,33.05914],[102.953401,33.058019],[102.953395,33.057754],[102.953401,33.057727],[102.953429,33.057599],[102.953438,33.057575],[102.953482,33.057455],[102.953515,33.057373],[102.953518,33.057226],[102.953527,33.057188],[102.953547,33.057108],[102.953601,33.057025],[102.953668,33.056932],[102.953696,33.056813],[102.953635,33.056631],[102.953616,33.056485],[102.953632,33.056324],[102.95363,33.056188],[102.95362,33.056019],[102.953639,33.05583],[102.953701,33.055665],[102.953789,33.055517],[102.953817,33.055363],[102.953828,33.055234],[102.953928,33.055083],[102.954007,33.054911],[102.954077,33.054667],[102.954105,33.054534],[102.954164,33.054391],[102.95424,33.053644],[102.954345,33.05294],[102.954577,33.052464],[102.954598,33.052421],[102.955224,33.051136],[102.954887,33.050447],[102.953077,33.049407],[102.952143,33.048753],[102.952035,33.048677],[102.951621,33.048179],[102.951643,33.048115],[102.951633,33.048022],[102.951564,33.047883],[102.951473,33.047748],[102.951336,33.04762],[102.951177,33.047521],[102.95104,33.047444],[102.950835,33.047306],[102.950715,33.047228],[102.950573,33.047075],[102.950535,33.047031],[102.950431,33.046911],[102.950379,33.046815],[102.950358,33.046662],[102.950089,33.046339],[102.947847,33.043646],[102.947433,33.043283],[102.947401,33.043255],[102.94723,33.043106],[102.947222,33.043098],[102.946879,33.042798],[102.946802,33.042783],[102.945685,33.04257],[102.944946,33.042499],[102.944704,33.042287],[102.944747,33.041931],[102.945112,33.041432],[102.945123,33.040957],[102.94475,33.040297],[102.943924,33.039421],[102.943658,33.038704],[102.943602,33.038079],[102.944185,33.037286],[102.944209,33.037241],[102.944406,33.036874],[102.944424,33.036102],[102.944123,33.035384],[102.944095,33.034921],[102.944072,33.034551],[102.943913,33.033805],[102.94418,33.032918],[102.944664,33.031827],[102.945058,33.030051],[102.945043,33.029189],[102.944982,33.028989],[102.944814,33.028442],[102.944594,33.027943],[102.944445,33.027604],[102.945072,33.026791],[102.945281,33.026518],[102.945435,33.026194],[102.945727,33.025575],[102.945566,33.024919],[102.945046,33.024524],[102.944453,33.024217],[102.943649,33.023907],[102.942559,33.02377],[102.942032,33.02392],[102.94128,33.024135],[102.941164,33.024176],[102.940879,33.024276],[102.940872,33.024278],[102.940623,33.024366],[102.940391,33.024447],[102.940279,33.024408],[102.940119,33.024354],[102.939937,33.024291],[102.939399,33.023421],[102.939121,33.02297],[102.938479,33.021746],[102.938445,33.021681],[102.938288,33.020847],[102.938525,33.019781],[102.938376,33.018899],[102.93852,33.018718],[102.938521,33.018625],[102.938446,33.018669],[102.93837,33.018701],[102.938345,33.018712],[102.938343,33.018702],[102.938339,33.018678],[102.938286,33.018599],[102.938279,33.018589],[102.938274,33.018581],[102.938174,33.01843],[102.938168,33.01842],[102.93782,33.017896],[102.937521,33.017447],[102.937508,33.017424],[102.93746,33.017342],[102.937046,33.016636],[102.936235,33.015859],[102.936191,33.015817],[102.936065,33.015696],[102.935942,33.015578],[102.935778,33.015212],[102.935742,33.01513],[102.935734,33.015114],[102.935717,33.015074],[102.93571,33.01506],[102.935674,33.01498],[102.935204,33.014003],[102.935164,33.013919],[102.935134,33.013858],[102.935069,33.013722],[102.935054,33.013682],[102.935033,33.013621],[102.934704,33.012705],[102.93449,33.011729],[102.934481,33.011691],[102.934762,33.010955],[102.934819,33.010806],[102.935438,33.009984],[102.935813,33.009039],[102.935908,33.008724],[102.935914,33.008704],[102.93608,33.008152],[102.936213,33.007952],[102.936249,33.007898],[102.936262,33.007878],[102.936373,33.007711],[102.937096,33.006951],[102.937805,33.006754],[102.938129,33.006492],[102.938197,33.006118],[102.938199,33.006109],[102.938205,33.006077],[102.93821,33.006048],[102.938167,33.006005],[102.93811,33.005948],[102.937969,33.005806],[102.937935,33.005764],[102.937918,33.005742],[102.93767,33.005428],[102.93766,33.005415],[102.937714,33.005202],[102.937741,33.005091],[102.93777,33.004977],[102.937786,33.004917],[102.937787,33.00491],[102.937788,33.004904],[102.937816,33.004794],[102.93823,33.004517],[102.938249,33.004505],[102.938262,33.004496],[102.938327,33.004453],[102.938342,33.004443],[102.938358,33.004432],[102.938425,33.004388],[102.938409,33.00436],[102.938383,33.004314],[102.938274,33.00412],[102.938272,33.004117],[102.938188,33.003968],[102.938229,33.003701],[102.938337,33.003766],[102.93889,33.004098],[102.939403,33.004286],[102.939403,33.004261],[102.939495,33.004134],[102.939537,33.004108],[102.93961,33.004071],[102.939731,33.004033],[102.939759,33.004002],[102.939919,33.003818],[102.939985,33.003684],[102.940114,33.003419],[102.940178,33.003287],[102.940541,33.002848],[102.940057,33.002453],[102.939572,33.002059],[102.939829,33.001618],[102.93931,33.001223],[102.939078,33.000571],[102.939069,33.000543],[102.939042,33.000467],[102.939024,33.000418],[102.939021,33.00041],[102.939019,33.000403],[102.938895,33.000053],[102.938875,32.999997],[102.938867,32.999974],[102.938853,32.999934],[102.938834,32.999835],[102.938751,32.999404],[102.938885,32.999137],[102.938898,32.999111],[102.938928,32.99905],[102.938944,32.999019],[102.938956,32.998995],[102.939043,32.998821],[102.939059,32.99879],[102.93907,32.998767],[102.9391,32.998709],[102.939105,32.998697],[102.93911,32.998689],[102.93883,32.998444],[102.938477,32.998497],[102.938469,32.998464],[102.938453,32.99845],[102.938434,32.998436],[102.938415,32.998425],[102.938389,32.998419],[102.938357,32.998413],[102.938331,32.998411],[102.938292,32.99841],[102.938256,32.998408],[102.938222,32.998415],[102.938193,32.998422],[102.938159,32.998434],[102.93813,32.998454],[102.938108,32.998472],[102.938081,32.998497],[102.93806,32.998523],[102.93804,32.998564],[102.938021,32.998604],[102.937807,32.99867],[102.937752,32.998662],[102.937689,32.99868],[102.937629,32.998709],[102.937586,32.998738],[102.93752,32.998759],[102.937224,32.99885],[102.936945,32.998557],[102.936956,32.998086],[102.936957,32.998075],[102.936958,32.998015],[102.936996,32.99804],[102.937052,32.998056],[102.937106,32.998043],[102.937142,32.998014],[102.937163,32.997974],[102.937139,32.997955],[102.937059,32.9979],[102.93698,32.997818],[102.936963,32.997787],[102.936954,32.99777],[102.936947,32.997751],[102.936929,32.997644],[102.936909,32.997525],[102.936905,32.997399],[102.936909,32.997338],[102.93694,32.997237],[102.93695,32.997206],[102.936943,32.997076],[102.936929,32.996827],[102.936887,32.996815],[102.936622,32.996741],[102.936612,32.996739],[102.936192,32.996622],[102.935852,32.996481],[102.935719,32.996425],[102.935324,32.99626],[102.935232,32.996222],[102.934749,32.996211],[102.933962,32.996193],[102.933285,32.996425],[102.932769,32.996601],[102.932608,32.996656],[102.932275,32.99677],[102.931714,32.997056],[102.93139,32.997147],[102.931208,32.997199],[102.931051,32.997236],[102.930902,32.997248],[102.930788,32.997263],[102.930704,32.997321],[102.930679,32.997396],[102.930684,32.997468],[102.930748,32.997514],[102.930961,32.997598],[102.930503,32.998093],[102.930204,32.998433],[102.929906,32.998774],[102.929353,32.999111],[102.928347,32.999726],[102.927557,32.999943],[102.927284,32.99991],[102.92683,32.999855],[102.926518,32.999816],[102.926467,32.99981],[102.925448,32.999592],[102.924316,32.999774],[102.923193,32.999641],[102.922543,32.999642],[102.922491,32.999642],[102.92169,32.999644],[102.920907,32.999516],[102.919982,32.999645],[102.918035,32.999698],[102.917514,32.999675],[102.917011,32.999653],[102.9162,32.999761],[102.916174,32.999764],[102.916126,32.999771],[102.916052,32.99978],[102.915434,32.999943],[102.914892,32.999732],[102.914209,32.998956],[102.914129,32.998931],[102.914031,32.998892],[102.91392,32.998843],[102.91386,32.998768],[102.913804,32.998675],[102.913747,32.998558],[102.913707,32.998406],[102.913258,32.998065],[102.912232,32.997048],[102.912156,32.996998],[102.912104,32.996916],[102.912034,32.996735],[102.911964,32.996527],[102.911844,32.996382],[102.91169,32.99629],[102.911493,32.996166],[102.911415,32.996074],[102.911393,32.996048],[102.910665,32.995057],[102.910068,32.994328],[102.908895,32.993387],[102.90796,32.99248],[102.907721,32.991037],[102.907704,32.990972],[102.907644,32.99074],[102.907786,32.990689],[102.907905,32.990584],[102.908002,32.990469],[102.907984,32.990283],[102.907883,32.990079],[102.907766,32.989945],[102.907673,32.989889],[102.907402,32.989805],[102.907377,32.989707],[102.907289,32.989367],[102.907257,32.989243],[102.907256,32.989241],[102.907229,32.989134],[102.907203,32.989031],[102.907153,32.98893],[102.907123,32.988829],[102.907112,32.988706],[102.907153,32.988593],[102.907148,32.988468],[102.907083,32.988337],[102.906997,32.988218],[102.906932,32.988087],[102.906877,32.987951],[102.90684,32.987808],[102.906836,32.987721],[102.906775,32.987602],[102.906681,32.987451],[102.906623,32.987326],[102.906576,32.987204],[102.906417,32.9869],[102.90555,32.98467],[102.905481,32.984526],[102.905163,32.983859],[102.904443,32.982349],[102.904256,32.981626],[102.904305,32.980994],[102.90433,32.98081],[102.904332,32.980799],[102.90423,32.980617],[102.904212,32.980503],[102.904233,32.980345],[102.904266,32.980259],[102.904366,32.980111],[102.904447,32.979969],[102.904561,32.979147],[102.904594,32.978913],[102.904633,32.978632],[102.904655,32.97847],[102.904675,32.978324],[102.904686,32.978259],[102.9047,32.978167],[102.904836,32.97732],[102.905155,32.976807],[102.90527,32.976262],[102.905355,32.975544],[102.90551,32.974799],[102.905513,32.974791],[102.905561,32.974561],[102.905554,32.974447],[102.905519,32.974347],[102.905462,32.974266],[102.905404,32.974157],[102.905436,32.973985],[102.905547,32.973693],[102.905686,32.973453],[102.905842,32.973237],[102.905943,32.97316],[102.906126,32.973054],[102.90621,32.972547],[102.906212,32.972537],[102.906193,32.972293],[102.906168,32.971965],[102.906163,32.971906],[102.906081,32.970837],[102.906044,32.969792],[102.906043,32.969763],[102.906011,32.968862],[102.906009,32.968813],[102.906008,32.968794],[102.906001,32.968584],[102.905999,32.968534],[102.906027,32.968355],[102.906063,32.968122],[102.906121,32.967749],[102.90613,32.967694],[102.906205,32.967212],[102.906244,32.967051],[102.90634,32.966847],[102.906439,32.966646],[102.906499,32.966255],[102.906495,32.965869],[102.906497,32.965334],[102.906522,32.965176],[102.906749,32.96423],[102.906946,32.961701],[102.907069,32.960811],[102.907099,32.959545],[102.907528,32.958718],[102.907793,32.957629],[102.908231,32.956428],[102.908971,32.955404],[102.909535,32.954665],[102.910227,32.954274],[102.910888,32.953738],[102.911482,32.953144],[102.912009,32.952887],[102.912574,32.952611],[102.912622,32.952587],[102.913242,32.952339],[102.912939,32.952161],[102.912465,32.951981],[102.911449,32.951647],[102.909909,32.950384],[102.909038,32.949679],[102.908545,32.948893],[102.907846,32.948134],[102.907391,32.947176],[102.906153,32.94612],[102.905414,32.945589],[102.904564,32.945489],[102.903707,32.945618],[102.902951,32.945864],[102.901924,32.945962],[102.900765,32.945914],[102.899676,32.945809],[102.898181,32.945496],[102.897195,32.945336],[102.89584,32.944939],[102.894722,32.944575],[102.8936,32.944383],[102.893464,32.944352],[102.893623,32.943434],[102.893751,32.942343],[102.893875,32.941453],[102.89386,32.940647],[102.893773,32.939983],[102.893542,32.939663],[102.892844,32.938845],[102.89211,32.938171],[102.891513,32.937442],[102.891224,32.93666],[102.891001,32.935994],[102.890806,32.935588],[102.89017,32.935088],[102.889218,32.934928],[102.888025,32.93485],[102.887179,32.934577],[102.886338,32.934045],[102.885266,32.933221],[102.884597,32.932663],[102.88366,32.931899],[102.882746,32.931567],[102.88147,32.930711],[102.880462,32.93006],[102.879622,32.929499],[102.878487,32.928444],[102.877686,32.927682],[102.876812,32.92715],[102.875972,32.926617],[102.874892,32.92611],[102.873804,32.925947],[102.87269,32.925439],[102.872158,32.924883],[102.871605,32.923752],[102.871284,32.922912],[102.871316,32.92156],[102.871693,32.92007],[102.871968,32.919496],[102.871981,32.91947],[102.876038,32.917017],[102.8761,32.916979],[102.876403,32.917034]]]]},"properties":{"cp":[103.14126598596769,33.03468485062284],"code":"513233208","name":"色地镇","level":"street","center":[103.14126598596769,33.03468485062284],"fullCode":"513233208000","fullName":"四川省阿坝藏族羌族自治州红原县色地镇","acreageMu":1798581.17,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.999,32.865]}}]} +`,n_={邛溪镇:"qiongxi",刷经寺镇:"shuajingsi",安曲镇:"anqu",龙日镇:"longri",江茸乡:"jiangrong",查尔玛乡:"chaerma",瓦切镇:"waqie",阿木乡:"amu",麦洼乡:"maiwa",色地镇:"sedi"},a_={色地镇:1199,瓦切镇:991,刷经寺镇:986,邛溪镇:896,阿木乡:892,安曲镇:885,查尔玛乡:729,龙日镇:645,麦洼乡:559,江茸乡:514},i_={};function r_(t){try{return JSON.parse(t)}catch(e){return{type:"FeatureCollection",features:[]}}}function o_(t={}){const e=t.properties||{},n=e.cp||e.center||e.centroid||e.sourceCenter;return Array.isArray(n)&&Number.isFinite(Number(n[0]))&&Number.isFinite(Number(n[1]))?[Number(n[0]),Number(n[1])]:[0,0]}function sp(t={}){return t!=null&&t.coordinates?t.type==="Polygon"?[t.coordinates]:t.type==="MultiPolygon"?t.coordinates:[]:[]}function s_(t=[]){return t.reduce((e,n,a)=>{const i=t[a===0?t.length-1:a-1];return e+(Number(i==null?void 0:i[0])*Number(n==null?void 0:n[1])-Number(n==null?void 0:n[0])*Number(i==null?void 0:i[1]))},0)/2}function l_(t=[]){let e=0,n=0,a=0;return t.forEach((i,r)=>{const o=t[r===0?t.length-1:r-1],s=Number(o==null?void 0:o[0])*Number(i==null?void 0:i[1])-Number(i==null?void 0:i[0])*Number(o==null?void 0:o[1]);e+=s,n+=(Number(o==null?void 0:o[0])+Number(i==null?void 0:i[0]))*s,a+=(Number(o==null?void 0:o[1])+Number(i==null?void 0:i[1]))*s}),Math.abs(e)<1e-10?null:[n/(3*e),a/(3*e)]}function u_(t=[]){const e=t.map(n=>[Number(n==null?void 0:n[0]),Number(n==null?void 0:n[1])]).filter(([n,a])=>Number.isFinite(n)&&Number.isFinite(a));return e.length?e.reduce((n,[a,i])=>({west:Math.min(n.west,a),east:Math.max(n.east,a),south:Math.min(n.south,i),north:Math.max(n.north,i)}),{west:1/0,east:-1/0,south:1/0,north:-1/0}):null}function kf(t=[],e=[]){const n=Number(t[0]),a=Number(t[1]);if(!Number.isFinite(n)||!Number.isFinite(a))return!1;let i=!1;for(let r=0,o=e.length-1;ra!=g>a&&n<(p-m)*(a-h)/(g-h||1e-12)+m&&(i=!i)}return i}function gl(t=[],e=[]){return!e.length||!kf(t,e[0])?!1:!e.slice(1).some(n=>kf(t,n))}function c_(t=[],e={}){return sp(e).some(n=>gl(t,n))}function d_(t={}){var e;return((e=sp(t.geometry).map(n=>({polygon:n,area:Math.abs(s_((n==null?void 0:n[0])||[]))})).filter(n=>n.area>0).sort((n,a)=>a.area-n.area)[0])==null?void 0:e.polygon)||null}function si(t=[]){return t.map(e=>Number(Number(e).toFixed(6)))}function f_(t={}){const e=o_(t);if(c_(e,t.geometry))return si(e);const n=d_(t),a=(n==null?void 0:n[0])||[],i=l_(a);if(i&&gl(i,n))return si(i);const r=u_(a),o=r?[(r.west+r.east)/2,(r.south+r.north)/2]:null;return o&&gl(o,n)?si(o):si(i||o||e)}const h_=op,Z4=r_(op),au=Z4.features||[],Ts=au.reduce((t,e)=>{const n=e.properties||{},a=kr(n.name);return[n.code,n.fullCode].forEach(i=>{const r=String(i||"").replace(/\D/g,"");r&&a&&(t[r]=a)}),t},{});au.reduce((t,e)=>{const n=e.properties||{},a=kr(n.name),i=String(n.code||"").replace(/\D/g,"");return a&&i&&(t[a]=i),t},{});const L9=au.map(t=>{const e=t.properties||{},n=kr(e.name),a=i_[n]||f_(t);return{name:n,code:e.code,fullCode:e.fullCode,center:a,centroid:a,acreageMu:Number(e.acreageMu)||0}}),lp=L9.map(t=>J2(L2({},t),{enName:n_[t.name]||"",value:a_[t.name]||0})).sort((t,e)=>e.value-t.value),ln=L9.map(t=>t.name);function kr(t){const e=String(t||"").trim();return!e||e==="--"?"":e}function Ca(t){const e=String(t||"").replace(/\D/g,"");return e&&(Ts[e]||Ts[e.slice(0,12)]||Ts[e.slice(0,9)])||""}function m_(t){const e=kr(t);return!!(e&&L9.some(n=>n.name===e))}const p_=17,g_=-18,y_=-50,v_=.045,Ef=-18,Nf=-58,Rf=4.2,Lf=3.2,Cs=4700,S_=4620,w_={__name:"index",props:{active:{type:Boolean,default:!0},activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null},overlayLayer:{type:Object,default:null},overlayLayers:{type:Array,default:()=>[]},tileUrlTemplate:{type:String,default:"https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png"},referenceTileUrlTemplate:{type:String,default:"https://map.shuxitech.com/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}"},terrainUrl:{type:String,default:"/terrain"},center:{type:Array,default:()=>[102.600005,32.585593]},initialZoom:{type:Number,default:9},autoApplyLayerMapView:{type:Boolean,default:!0},maxZoom:{type:Number,default:21},adminBoundaryLineScale:{type:Number,default:1},showNationalBackdrop:{type:Boolean,default:!0},enableImageryFeaturePick:{type:Boolean,default:!0},enableTownPolygonPick:{type:Boolean,default:!0},hideTownLabelStats:{type:Boolean,default:!1}},emits:["ready","scene-mounted","feature-loading","feature-info","layer-status","tile-status","map-click","draw-boundary"],setup(t,{expose:e,emit:n}){const a=t0(Z4),i=t,r=n,o=t3(null),s=t3(null),u=Om(null),m=l2(()=>i.activeLayer?[i.activeLayer,...Array.isArray(i.activeLayer.overlayLayers)?i.activeLayer.overlayLayers:[]].filter(Boolean):i.overlayLayers.length?i.overlayLayers.filter(Boolean):i.overlayLayer?[i.overlayLayer]:[]);let h=null,p=null,g=null,b=null,F=!1,H=0,K=null,e2=!1,p2=[],v2=null,A2=[],_2=[],q2=[],K2=[],$2=[],c3=[],p3=null,y3=[],z3=[],S3=[],I3=[];const A3=new Map;Ln(()=>{r("scene-mounted"),i.active&&a1()}),Rn(()=>G2()),V0(m,()=>P3(),{deep:!0}),V0(()=>i.mapRanking,()=>Be(),{deep:!0}),V0(()=>i.hideTownLabelStats,()=>Be()),V0(()=>i.active,C=>k3(this,null,function*(){if(!C){G2();return}yield q0(),a1()}));function a1(){var C2,U2,r3,P;if(h||!s.value)return!!h;const C=window.Cesium;if(!C)return r("layer-status",{type:"error",text:"Cesium 运行资源加载失败"}),!1;F=!1;const j=C1(C),T=S1(i.tileUrlTemplate),D=S1(i.referenceTileUrlTemplate),W=l1(T),G=D&&D!==T?y1(C,D,{maximumLevel:Math.min(i.maxZoom,19)}):null,Y=T?y1(C,T,{maximumLevel:W?Math.min(i.maxZoom,p_):i.maxZoom,rectangle:W?E1(C):null}):null;if(h=new C.Viewer(s.value,{animation:!1,baseLayerPicker:!1,fullscreenButton:!1,geocoder:!1,homeButton:!1,infoBox:!1,navigationHelpButton:!1,sceneModePicker:!1,selectionIndicator:!1,timeline:!1,scene3DOnly:!0,imageryProvider:!1,terrainProvider:j,useBrowserRecommendedResolution:!1,requestRenderMode:!0,maximumRenderTimeChange:1/0,contextOptions:{webgl:{alpha:!0,antialias:!0}}}),G){const N=h.imageryLayers.addImageryProvider(G);N.alpha=1,N.brightness=.68,N.contrast=1.08,N.saturation=.48,N.gamma=.9}Y&&(v2=h.imageryLayers.addImageryProvider(Y),v2.alpha=W?.88:1,v2.brightness=W?.96:.9,v2.contrast=W?1.12:1.1,v2.saturation=W?1.08:1.05,v2.gamma=W?.98:.96),h.scene.globe.terrainExaggeration=1.5,h.scene.globe.depthTestAgainstTerrain=!1,h.scene.globe.baseColor=C.Color.fromCssColorString("#061821"),h.scene.backgroundColor=C.Color.fromCssColorString("#020b12"),h.scene.skyAtmosphere.show=!1,h.scene.skyBox&&(h.scene.skyBox.show=!1),h.scene.fog.enabled=!0,h.scene.fog.density=18e-5,h.resolutionScale=Math.min(Math.max(window.devicePixelRatio||1,1),2),h.scene.fxaa=!1,h.scene.postProcessStages.fxaa.enabled=!1,h.scene.screenSpaceCameraController.enableCollisionDetection=!0,h.scene.screenSpaceCameraController.minimumZoomDistance=350,h.scene.screenSpaceCameraController.maximumZoomDistance=56e4,(C2=h.cesiumWidget)!=null&&C2.creditContainer&&(h.cesiumWidget.creditContainer.style.display="none"),(U2=h._cesiumWidget)!=null&&U2._creditContainer&&(h._cesiumWidget._creditContainer.style.display="none"),Q1(j,C),Q3(),se(),p0(),O(),v3(),o1(!1),w3(),P3(),Be();const S2={viewer:h,clearSelectedFeature:z1,focusProject:o2,focusPasture:h2,focusTownByName:n2,focusYakIndustryPoint:t2,focusVectorFeature:X,getVectorFeatureAnchorScreen:y2,getVectorFeatureScreen:R2,getYakIndustryPointScreen:d2,destroy:G2};return u.value=S2,(P=(r3=Y==null?void 0:Y.errorEvent)==null?void 0:r3.addEventListener)==null||P.call(r3,()=>{r("tile-status",{type:"warning",text:"牧场影像底图部分瓦片加载失败"})}),r("tile-status",{type:"success",text:"牧场影像底图已加载"}),window.setTimeout(()=>{var N;h&&!((N=h.isDestroyed)!=null&&N.call(h))&&r("ready")},0),q0(N3),!0}function C1(C){if(!i.terrainUrl)return new C.EllipsoidTerrainProvider;try{return new C.CesiumTerrainProvider({url:i.terrainUrl,requestVertexNormals:!0,requestWaterMask:!1})}catch(j){return F=!0,new C.EllipsoidTerrainProvider}}function y1(C,j,T={}){return j?new C.UrlTemplateImageryProvider({url:j,minimumLevel:T.minimumLevel||3,maximumLevel:T.maximumLevel||i.maxZoom,rectangle:T.rectangle||void 0,tilingScheme:new C.WebMercatorTilingScheme,credit:""}):null}function S1(C){return String(C||"").trim()}function l1(C){return/hy-result|qkl-map/i.test(String(C||""))}function E1(C){return C.Rectangle.fromDegrees($1.west-.035,$1.south-.035,$1.east+.035,$1.north+.035)}function t0(C){const j=[];if(((C==null?void 0:C.features)||[]).forEach(T=>{const D=v1(T==null?void 0:T.geometry);C3(D).forEach(W=>{const G=o0(W);G&&j.push(G)})}),!j.length)return[];try{return ri.union(...j)}catch(T){return console.warn("[cesium-map] township union boundary failed",T),j.map(D=>D)}}function o0(C){if(!Array.isArray(C))return null;const j=C.map(T=>G1((T||[]).map(L1).filter(Boolean))).filter(T=>T.length>=4);return j.length?j:null}function G1(C=[]){if(!C.length)return[];const j=C[0],T=C[C.length-1];return B3(j,T)?C:[...C,j]}function Q1(C,j){var D,W,G,Y;const T=()=>{!h||F||(F=!0,h.terrainProvider=new j.EllipsoidTerrainProvider,h.scene.globe.terrainExaggeration=1,h.scene.requestRender(),r("layer-status",{type:"warning",text:"CXPT 地形服务暂不可用,已保留三维影像地图"}))};(W=(D=C==null?void 0:C.errorEvent)==null?void 0:D.addEventListener)==null||W.call(D,T),(Y=(G=C==null?void 0:C.readyPromise)==null?void 0:G.catch)==null||Y.call(G,T)}function d3(){return a1()}function F3(){var C;return!!(h&&!((C=h.isDestroyed)!=null&&C.call(h)))}function U3(){a3()}function a3(){if(!h){a1();return}h.useDefaultRenderLoop=!0,N3()}function F2(){G2()}function N3(){var C;!h||(C=h.isDestroyed)!=null&&C.call(h)||(h.resize(),h.scene.requestRender())}function _3(){z1(),o1(!0)}function o1(C=!0){if(!h)return;const j=window.Cesium,T=U1(),D=w1(i.initialZoom),W=j.Cartesian3.fromDegrees(T[0],T[1]-v_,2200),G=new j.HeadingPitchRange(j.Math.toRadians(g_),j.Math.toRadians(y_),D);C?h.camera.flyToBoundingSphere(new j.BoundingSphere(W,1),{offset:G,duration:.9}):(h.camera.lookAt(W,G),h.camera.lookAtTransform(j.Matrix4.IDENTITY)),h.scene.requestRender()}function w1(C){const j=Number.isFinite(Number(C))?Number(C):9;return Math.max(9e3,Math.min(58e4,365e3/Math.pow(1.62,j-9)))}function U1(){const C=L1(i.center);return C||[($1.west+$1.east)/2,($1.south+$1.north)/2]}function O(){!o.value||!window.ResizeObserver||(g=new ResizeObserver(()=>N3()),g.observe(o.value))}function v3(){!h||b||(b=h.camera.moveEnd.addEventListener(w3))}function w3(){var D,W;if(!h||(D=h.isDestroyed)!=null&&D.call(h))return;const C=Number((W=h.camera.positionCartographic)==null?void 0:W.height)||32e4,j=Math.max(0,Math.min(1,(36e4-C)/3e5)),T={township:1.1+j*.35,countyOutline:1.9+j*.35,countyHalo:4.2+j*.65};_2.forEach(G=>{G!=null&&G.polyline&&G.__hyBoundaryRole==="township"&&(G.polyline.width=T.township)}),S3.forEach(G=>{G!=null&&G.polyline&&G.__hyBoundaryRole==="county-outline"&&(G.polyline.width=T.countyOutline),G!=null&&G.polyline&&G.__hyBoundaryRole==="county-halo"&&(G.polyline.width=T.countyHalo)}),h.scene.requestRender()}function P3(){return k3(this,null,function*(){var T,D;if(!h)return;const C=++H;f2();const j=m.value;if(!j.length){r("layer-status",{type:"idle",text:"未选择专题图层"}),h.scene.requestRender();return}r("layer-status",{type:"loading",text:"正在加载三维专题图层"});try{for(const W of j){if(C!==H)return;yield H3(W,C)}if(C!==H)return;i.autoApplyLayerMapView&&E3(j.find(W=>(W==null?void 0:W.mapView)||(W==null?void 0:W.cameraPosition))),r("layer-status",{type:"success",text:`${j.map(W=>W.name).filter(Boolean).join("、")}已加载`})}catch(W){if(C!==H)return;console.warn("[cesium-map] topic layer failed",W),r("layer-status",{type:"error",text:"三维专题图层加载失败"})}finally{(D=(T=h==null?void 0:h.scene)==null?void 0:T.requestRender)==null||D.call(T)}})}function H3(C,j){return k3(this,null,function*(){const T=String((C==null?void 0:C.sourceType)||"wms").toLowerCase();if(["geojson","wkt-api","wfs"].includes(T)){const D=yield O2(C);if(j!==H||!D)return;q1(D,C,q2);return}if(T==="wmts"){j3(C);return}e0(C)})}function j3(C){const j=window.Cesium,T=C.tileMatrixSetID||C.tileMatrixSet||"EPSG:900913",D=Number.isFinite(Number(C.maximumLevel))?Number(C.maximumLevel):21,W=new j.WebMapTileServiceImageryProvider({url:C.url||"/geoserver/gwc/service/wmts",layer:C.layerName,style:C.style||C.styles||"",format:C.format||"image/png",tileMatrixSetID:T,tileMatrixLabels:C.tileMatrixLabels||q3(T,D),tilingScheme:/4326/i.test(T)?new j.GeographicTilingScheme:new j.WebMercatorTilingScheme,maximumLevel:D,credit:C.credit||""}),G=h.imageryLayers.addImageryProvider(W),Y=String(C.layerName||"").includes("daping_yak_marks");G.alpha=Y?J3(C.opacity,.92):J3(C.opacity,.86),G.__hyLayer=C,A2.push(G)}function q3(C,j=21){return Array.from({length:j+1},(T,D)=>`${C}:${D}`)}function e0(C){const j=window.Cesium,T={service:"WMS",transparent:!0,format:"image/png",version:"1.1.1",styles:C.styles||""};C.cqlFilter&&(T.cql_filter=C.cqlFilter),C.sldBody&&(T.sld_body=C.sldBody);const D=new j.WebMapServiceImageryProvider({url:C.url||"/geoserver/ne/wms",layers:C.layerName,parameters:T,getFeatureInfoParameters:J2(L2({},T),{info_format:"application/json",feature_count:10})}),W=h.imageryLayers.addImageryProvider(D),G=String(C.layerName||"").includes("daping_yak_marks");W.alpha=G?J3(C.opacity,.92):J3(C.opacity,.86),W.__hyLayer=C,A2.push(W)}function O2(C){return k3(this,null,function*(){if(C.sourceType==="wkt-api")try{const j=yield fetch(C.apiUrl,{credentials:"same-origin"});if(!j.ok)throw new Error(`HTTP ${j.status}`);return i1(yield j.json())}catch(j){if(!C.fallbackPath)throw j;return Y2(C.fallbackPath)}if(C.sourceType==="wfs"){const j=s3(C);return Y2(j)}return Y2(C.dataPath||C.fallbackPath)})}function Y2(C){return k3(this,null,function*(){if(!C)return null;const j=/^(https?:)?\/\//.test(C)||C.startsWith("/")?C:`/${C}`,T=yield fetch(j,{credentials:"same-origin"});if(!T.ok)throw new Error(`HTTP ${T.status}`);return T.json()})}function s3(C){const j=new URLSearchParams({service:"WFS",version:"1.1.0",request:"GetFeature",typeName:C.layerName,outputFormat:"application/json",srsName:"EPSG:4326"});return C.cqlFilter&&j.set("cql_filter",C.cqlFilter),C.maxFeatures&&j.set("maxFeatures",String(C.maxFeatures)),Array.isArray(C.propertyName)&&C.propertyName.length?j.set("propertyName",C.propertyName.join(",")):C.propertyName&&j.set("propertyName",C.propertyName),`${C.url||"/geoserver/ne/wfs"}?${j.toString()}`}function G3(C,j={},T=null,D=null){var C2,U2,r3;const W=((C2=C==null?void 0:C.data)==null?void 0:C2.type)==="Feature"?C.data:((r3=(U2=C==null?void 0:C.data)==null?void 0:U2.features)==null?void 0:r3[0])||(C==null?void 0:C.feature)||null,G=(W==null?void 0:W.properties)||j||{},Y=v1((W==null?void 0:W.geometry)||G.geometry||G.geom||G.the_geom||G.theGeom||G.wkt||G.shape),S2=(W==null?void 0:W.id)||G.id||G.gid||G.objectid||G.OBJECTID||(C==null?void 0:C.name);return{type:"Feature",id:S2,properties:G,feature:{type:"Feature",id:S2,properties:G,geometry:Y},geometry:Y,layer:T,lngLat:D}}function i1(C){var D;const j=(D=C==null?void 0:C.data)!=null?D:C;return{type:"FeatureCollection",features:(Array.isArray(j)?j:(j==null?void 0:j.rows)||(j==null?void 0:j.list)||(j==null?void 0:j.records)||(j==null?void 0:j.data)||[]).map((W,G)=>{var Y;return{type:"Feature",id:(Y=W==null?void 0:W.id)!=null?Y:G,properties:L2({},W),geometry:v1(W==null?void 0:W.geometry)||Y1(N1(W))}}).filter(W=>W.geometry)}}function N1(C={}){return C.wkt||C.WKT||C.geom||C.the_geom||C.theGeom||C.shape||C.Shape}function q1(C,j,T){((C==null?void 0:C.type)==="FeatureCollection"?C.features:(C==null?void 0:C.type)==="Feature"?[C]:[]).filter(W=>W==null?void 0:W.geometry).filter(W=>Le(W.properties||{},j)).map(W=>Y3(W,j)).filter(Boolean).forEach(W=>f1(W,j,T))}function Y3(C,j){const T=v1(C==null?void 0:C.geometry),D=(j==null?void 0:j.clipToHongyuanBoundary)===!0,W=r1(j);if(!T||!["Polygon","MultiPolygon"].includes(T.type)||!D&&!W)return C;let G=T.type==="Polygon"?[T.coordinates]:T.coordinates;try{D&&a.length&&(G=ri.intersection(G,a)),W&&G.length&&(G=ri.intersection(G,[K3(W)]))}catch(Y){return console.warn("[cesium-map] vector layer clipping failed",j==null?void 0:j.key,Y),C}return G.length?J2(L2({},C),{geometry:{type:"MultiPolygon",coordinates:G}}):null}function r1(C){if(!(C!=null&&C.clipBounds)||C.clipToLayerBounds===!1)return null;const j=C.clipBounds,T=Math.max(Number(j.west),$1.west),D=Math.max(Number(j.south),$1.south),W=Math.min(Number(j.east),$1.east),G=Math.min(Number(j.north),$1.north);return![T,D,W,G].every(Number.isFinite)||T>=W||D>=G?null:{west:T,south:D,east:W,north:G}}function K3(C){return[[[C.west,C.south],[C.east,C.south],[C.east,C.north],[C.west,C.north],[C.west,C.south]]]}function f1(C,j,T,D={}){const W=v1(C.geometry);if(!W)return[];const G=k0(j,C.properties||{},D),Y=W1(W,C,j,G);return T.push(...Y),Y}function W1(C,j,T,D){const W=window.Cesium,G=[],Y=S2=>{const C2=h.entities.add(S2);return C2.__hyFeature=j,C2.__hyLayer=T,G.push(C2),C2};if(C.type==="Point"){const S2=L1(C.coordinates);return!S2||T.hidePointFeatures||T.hidePointMarkers||Y({position:W.Cartesian3.fromDegrees(S2[0],S2[1],8),point:{pixelSize:D.pointSize,color:D.fill,outlineColor:D.stroke,outlineWidth:2,heightReference:W.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:T.showPointLabels?D0(j):void 0}),G}if(C.type==="MultiPoint")return C.coordinates.forEach(S2=>G.push(...W1({type:"Point",coordinates:S2},j,T,D))),G;if(C.type==="LineString"){const S2=V3(C.coordinates);return S2.length<2||Y({polyline:{positions:S2,width:D.lineWidth,material:new W.PolylineGlowMaterialProperty({glowPower:.16,color:D.stroke}),clampToGround:!0}}),G}if(C.type==="MultiLineString")return C.coordinates.forEach(S2=>G.push(...W1({type:"LineString",coordinates:S2},j,T,D))),G;if(C.type==="Polygon"){const S2=O0(C.coordinates);return S2&&(Y({polygon:{hierarchy:S2,height:0,heightReference:W.HeightReference.CLAMP_TO_GROUND,perPositionHeight:!1,material:D.fill,outline:!1,classificationType:W.ClassificationType.BOTH}}),T0(C.coordinates,j,T,D,G)),G}return C.type==="MultiPolygon"&&C.coordinates.forEach(S2=>G.push(...W1({type:"Polygon",coordinates:S2},j,T,D))),G}function T0(C,j,T,D,W){C.forEach(G=>{const Y=V3(G);if(Y.length<2)return;const S2=h.entities.add({polyline:{positions:Y,width:D.lineWidth,material:D.stroke,depthFailMaterial:D.stroke,clampToGround:!0}});S2.__hyFeature=j,S2.__hyLayer=T,W.push(S2)})}function O0(C=[]){const j=window.Cesium,T=V3(C[0]||[]);if(T.length<3)return null;const D=C.slice(1).map(W=>{const G=V3(W);return G.length>=3?new j.PolygonHierarchy(G):null}).filter(Boolean);return new j.PolygonHierarchy(T,D)}function D0(C,j){const T=window.Cesium,D=C.properties||{},W=D.name||D.project_name||D.title||"";if(W)return{text:String(W),font:"600 14px PingFang SC, Microsoft YaHei, sans-serif",fillColor:T.Color.WHITE,outlineColor:T.Color.fromCssColorString("#03121e"),outlineWidth:3,style:T.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new T.Cartesian2(0,-22),heightReference:T.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new T.DistanceDisplayCondition(0,15e4)}}function k0(C,j,T={}){var C2,U2;const D=window.Cesium,W=Q0(C,j),G=J3(C.opacity,.84),Y=T.fillColor||(W==null?void 0:W.fillColor)||C.fillColor||C.color||"#24F6C4",S2=T.strokeColor||(W==null?void 0:W.strokeColor)||C.strokeColor||C.color||"#B7FFF2";return{fill:ye(D,Y,(C2=T.fillAlpha)!=null?C2:Math.min(.34,G*.34)),stroke:ye(D,S2,(U2=T.strokeAlpha)!=null?U2:Math.max(.72,G)),lineWidth:T.lineWidth||Math.max(1.6,1.8*Number(i.adminBoundaryLineScale||1)),pointSize:T.pointSize||12}}function ye(C,j,T){try{return C.Color.fromCssColorString(String(j||"#24F6C4")).withAlpha(J3(T,1))}catch(D){return C.Color.CYAN.withAlpha(J3(T,1))}}function Q0(C,j){var T;return C!=null&&C.activeLegend?C.activeLegend:((C==null?void 0:C.legends)||[]).find(D=>M0(j,D))||((T=C==null?void 0:C.legends)==null?void 0:T[0])}function Le(C,j){const T=j==null?void 0:j.activeLegend;return T?M0(C,T):!0}function M0(C,j={}){return j.match?ve(C,j.match):Array.isArray(j.matches)?j.matches.some(T=>ve(C,T)):!0}function ve(C,j={}){var T,D;return String((T=C==null?void 0:C[j.field])!=null?T:"")===String((D=j.value)!=null?D:"")}function se(){if(!h)return;B(_2);const C=window.Cesium,j={stroke:C.Color.fromCssColorString("#B8FFF8").withAlpha(.82),fill:C.Color.TRANSPARENT,lineWidth:1.2,pointSize:0};R1(Z4.features||[]).forEach(T=>{var G;const D=h1(T.points,S_);if(D.length<2)return;const W=h.entities.add({polyline:{positions:D,width:j.lineWidth,material:j.stroke,depthFailMaterial:j.stroke,clampToGround:!1}});W.__hyBoundaryRole="township",W.__hyTownName=((G=T.townNames)==null?void 0:G[0])||"",_2.push(W)}),h.scene.requestRender()}function R1(C=[]){const j=new Map;C.forEach(D=>{var Y;const W=String(((Y=D==null?void 0:D.properties)==null?void 0:Y.name)||"").trim(),G=v1(D==null?void 0:D.geometry);C3(G).forEach(S2=>{const C2=((S2==null?void 0:S2[0])||[]).map(L1).filter(Boolean);for(let U2=0;U2J2(L2({},D),{townNames:Array.from(D.townNames)})).filter(D=>D.count>1&&D.townNames.length>1);return m3(T)}function C3(C){return C!=null&&C.coordinates?C.type==="Polygon"?[C.coordinates]:C.type==="MultiPolygon"?C.coordinates:[]:[]}function m2(C,j){const T=D2(C),D=D2(j);return T{W.points.forEach(Y=>{const S2=D2(Y),C2=j.get(S2)||[];C2.push(G),j.set(S2,C2)})});const T=new Set,D=[];return C.forEach((W,G)=>{if(T.has(G))return;T.add(G);const Y=[W.points[0],W.points[1]];W3(Y,j,C,T,!0),W3(Y,j,C,T,!1),D.push({points:Y,townNames:W.townNames})}),D}function W3(C,j,T,D,W){for(;C.length;){const G=W?C[0]:C[C.length-1],Y=D2(G),S2=(j.get(Y)||[]).filter(U=>!D.has(U));if(S2.length!==1)return;const C2=S2[0],U2=T[C2];D.add(C2);const[r3,P]=U2.points,N=D2(r3)===Y?P:r3;W?C.unshift(N):C.push(N)}}function Q3(){if(!h||!a.length)return;B(S3);const C=window.Cesium;u0(C),a.forEach(j=>{const D=(Array.isArray(j==null?void 0:j[0])?j[0]:[]).map(L1).filter(Boolean);if(D.length<3)return;const W=O0(j);if(W){const S2=h.entities.add({polygon:{hierarchy:W,material:C.Color.fromCssColorString("#20EAF2").withAlpha(.026),outline:!1,classificationType:C.ClassificationType.BOTH}});S3.push(S2)}const G=h.entities.add({polyline:{positions:h1(D,Cs),width:4.8,material:new C.PolylineGlowMaterialProperty({glowPower:.16,color:C.Color.fromCssColorString("#78FFF7").withAlpha(.48)}),depthFailMaterial:C.Color.fromCssColorString("#78FFF7").withAlpha(.32),clampToGround:!1,zIndex:8}});G.__hyBoundaryRole="county-halo";const Y=h.entities.add({polyline:{positions:h1(D,Cs+80),width:1.9,material:C.Color.fromCssColorString("#F2FFFB").withAlpha(.98),depthFailMaterial:C.Color.fromCssColorString("#F2FFFB").withAlpha(.9),clampToGround:!1,zIndex:9}});Y.__hyBoundaryRole="county-outline",S3.push(G,Y)}),h.scene.requestRender()}function u0(C){const j=Z1();let T=[];try{T=ri.difference([j],a)}catch(D){console.warn("[cesium-map] county outside mask failed",D),T=[j]}T.forEach(D=>{const W=O0(D);if(!W)return;const G=h.entities.add({polygon:{hierarchy:W,material:C.Color.fromCssColorString("#020A10").withAlpha(.52),outline:!1,perPositionHeight:!1,heightReference:C.HeightReference.CLAMP_TO_GROUND,classificationType:C.ClassificationType.BOTH,zIndex:1}});S3.push(G)})}function Z1(){const C=$1.west-Rf,j=$1.south-Lf,T=$1.east+Rf,D=$1.north+Lf;return[[[C,j],[T,j],[T,D],[C,D],[C,j]]]}function m0(C,j=!1){const T=(Array.isArray(C)?C:[C]).map(q=>String(q||"").trim()).filter(Boolean).slice(0,2),D=`v15-centered-map-badge:${j?"h":"n"}:${T.join("|")}`;if(A3.has(D))return A3.get(D);const W=document.createElement("canvas"),G=W.getContext("2d");if(!G)return{image:"",width:1,height:1};const Y=Math.min(4,Math.max(3,window.devicePixelRatio||2)),S2="700 14px Microsoft YaHei, PingFang SC, sans-serif",C2="700 9px Microsoft YaHei, PingFang SC, sans-serif",U2="800 14px Microsoft YaHei, PingFang SC, sans-serif",r3="600 9px Microsoft YaHei, PingFang SC, sans-serif",P=Me(T[1]);G.font=S2;const N=Math.ceil(G.measureText(T[0]||"").width);let U=0;P&&(G.font=C2,U+=Math.ceil(G.measureText(P.metric).width),G.font=U2,U+=Math.ceil(G.measureText(P.value).width),G.font=r3,U+=Math.ceil(G.measureText(P.unit).width),U+=P.metric?5:0,U+=P.unit?4:0);const b2=Math.min(118,Math.max(P?96:62,N+20,U+20)),o3=P?40:25,Z2=P?5:0,J=6,X2=b2+J*2,e1=o3+Z2+J*2;W.width=Math.ceil(X2*Y),W.height=Math.ceil(e1*Y),W.style.width=`${X2}px`,W.style.height=`${e1}px`,G.scale(Y,Y),G.clearRect(0,0,X2,e1);const i0=J,I1=J,V1=I1+o3,y0=G.createLinearGradient(i0,I1,i0,V1);y0.addColorStop(0,j?"rgba(8, 58, 70, 0.9)":"rgba(6, 45, 57, 0.78)"),y0.addColorStop(.55,j?"rgba(4, 34, 46, 0.88)":"rgba(3, 29, 41, 0.76)"),y0.addColorStop(1,j?"rgba(2, 22, 32, 0.88)":"rgba(2, 18, 29, 0.78)"),G.save(),G.shadowColor="rgba(48, 220, 255, 0.13)",G.shadowBlur=6,G.fillStyle=y0,ae(G,i0,I1,b2,o3),G.fill(),G.restore(),G.save(),G.globalCompositeOperation="lighter";const me=G.createLinearGradient(i0,I1,i0+b2,I1);me.addColorStop(0,"rgba(42, 210, 255, 0)"),me.addColorStop(.5,j?"rgba(98, 246, 255, 0.34)":"rgba(98, 246, 255, 0.26)"),me.addColorStop(1,"rgba(42, 210, 255, 0)"),G.strokeStyle=me,G.lineWidth=1,G.beginPath(),G.moveTo(i0+10,I1+2),G.lineTo(i0+b2-10,I1+2),G.stroke(),G.restore(),G.save(),G.strokeStyle=j?"rgba(126, 251, 246, 0.58)":"rgba(126, 251, 246, 0.46)",G.lineWidth=.9,ae(G,i0+.5,I1+.5,b2-1,o3-1),G.stroke(),G.restore();const gt=i0+b2/2;Z2>0&&(G.save(),G.shadowColor="rgba(48, 220, 255, 0.2)",G.shadowBlur=5,G.beginPath(),G.moveTo(gt-5,V1-1),G.lineTo(gt+5,V1-1),G.lineTo(gt,V1+Z2),G.closePath(),G.fillStyle=j?"rgba(4, 42, 52, 0.98)":"rgba(3, 31, 43, 0.96)",G.fill(),G.strokeStyle=j?"rgba(126, 251, 246, 0.48)":"rgba(126, 251, 246, 0.34)",G.lineWidth=.8,G.stroke(),G.restore()),G.save(),G.textAlign="center",G.textBaseline="alphabetic",G.fillStyle="rgba(255, 255, 255, 0.98)",G.strokeStyle="rgba(0, 8, 14, 0.98)",G.lineJoin="round",G.shadowColor="rgba(0, 8, 14, 0.72)",G.shadowBlur=0,G.font=S2,G.lineWidth=1.6;const it=I1+(P?12.5:o3/2);if(te(G,T[0]||"",gt,it),P){const q=I1+29.5;let x2=gt-U/2;G.textAlign="left",G.shadowBlur=0,G.font=C2,G.lineWidth=1.2,G.fillStyle="rgba(126, 251, 246, 0.9)",P.metric&&(te(G,P.metric,x2,q,{stroke:!1}),G.font=C2,x2+=Math.ceil(G.measureText(P.metric).width)+5),G.font=U2,G.lineWidth=1.4,G.fillStyle="#FFFFFF",G.shadowColor="rgba(0, 8, 14, 0.72)",G.shadowBlur=0,te(G,P.value,x2,q),G.shadowBlur=0,x2+=Math.ceil(G.measureText(P.value).width)+(P.unit?4:0),P.unit&&(G.font=r3,G.fillStyle="rgba(232, 252, 255, 0.76)",te(G,P.unit,x2,q+1,{stroke:!1}))}G.restore();const Sn={image:W.toDataURL("image/png"),width:X2,height:e1};return A3.set(D,Sn),Sn}function te(C,j,T,D,W={}){const G=C.measureText(j),Y=N0(C.font),S2=Number(G.actualBoundingBoxAscent)||Y*.74,C2=Number(G.actualBoundingBoxDescent)||Y*.18,U2=D+(S2-C2)/2;W.stroke!==!1&&C.lineWidth>0&&C.strokeText(j,T,U2),C.fillText(j,T,U2)}function N0(C){const j=String(C||"").match(/(\d+(?:\.\d+)?)px/);return j?Number(j[1]):14}function Me(C){const j=String(C||"").trim();if(!j)return null;const T=j.match(/^(.+?)\s+([+-]?\d[\d,.]*)(.*)$/u);if(T)return{metric:T[1].trim(),value:T[2].trim(),unit:T[3].trim()};const D=j.match(/^(.*?)([+-]?\d[\d,.]*)([\u4e00-\u9fa5A-Za-z/%]+)?$/u);return D?{metric:D[1].trim(),value:D[2].trim(),unit:(D[3]||"").trim()}:{metric:"",value:j,unit:""}}function ae(C,j,T,D,W){const G=Math.min(7,D*.12,W*.34);C.beginPath(),C.moveTo(j+G,T),C.lineTo(j+D-G,T),C.lineTo(j+D,T+G),C.lineTo(j+D,T+W-G),C.lineTo(j+D-G,T+W),C.lineTo(j+G,T+W),C.lineTo(j,T+W-G),C.lineTo(j,T+G),C.closePath()}function Be(){var Y;if(!h)return;B(K2);const C=window.Cesium,j=i.mapRanking||{},T=Array.isArray(j.rows)?j.rows:[],D=new Map(T.map(S2=>[$3(S2.name),S2])),W=j.showTownNames!==!1&&j.hideTownNames!==!0,G=(Y=j.hideTownLabelStats)!=null?Y:i.hideTownLabelStats;W&&L9.forEach(S2=>{const C2=D.get($3(S2.name)),U2=[S2.name];if(!G&&C2&&j.showMapLabels!==!1){const b2=j.metricLabel?`${j.metricLabel} `:"";U2.push(`${b2}${R3(C2.value)}${C2.unit||j.unit||""}`)}const r3=L1(S2.center);if(!r3)return;const P=m0(U2,!!C2),N=!!(G||U2.length===1),U=h.entities.add({position:C.Cartesian3.fromDegrees(r3[0],r3[1],18),billboard:{image:P.image,width:P.width,height:P.height,scale:1,verticalOrigin:N?C.VerticalOrigin.CENTER:C.VerticalOrigin.BOTTOM,horizontalOrigin:C.HorizontalOrigin.CENTER,pixelOffset:N?new C.Cartesian2(0,0):new C.Cartesian2(0,-4),heightReference:C.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new C.NearFarScalar(2e4,.94,36e4,.8),distanceDisplayCondition:new C.DistanceDisplayCondition(0,42e4)}});U.__hyTownName=S2.name,U.__hyRankingRow=C2||null,K2.push(U)}),T.filter(S2=>D1(S2)).forEach(S2=>{const C2=D1(S2),U2=h.entities.add({position:C.Cartesian3.fromDegrees(C2[0],C2[1],16),point:{pixelSize:9,color:C.Color.fromCssColorString("#35F3FF"),outlineColor:C.Color.WHITE,outlineWidth:2,heightReference:C.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:j.showPointMarkers===!1?void 0:{text:String(S2.name||""),font:"600 12px PingFang SC, Microsoft YaHei, sans-serif",fillColor:C.Color.WHITE,outlineColor:C.Color.fromCssColorString("#03121e"),outlineWidth:3,style:C.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new C.Cartesian2(0,-18),heightReference:C.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}});U2.__hyTownName=S2.name,U2.__hyRankingRow=S2,K2.push(U2)}),h.scene.requestRender()}function p0(){if(!h)return;const C=window.Cesium;p=new C.ScreenSpaceEventHandler(h.scene.canvas),p.setInputAction(j=>k3(this,null,function*(){var U2,r3,P;const T=N2(j.position),D=b3(T);if(!D)return;const W=C.Cartographic.fromCartesian(D),G={lng:C.Math.toDegrees(W.longitude),lat:C.Math.toDegrees(W.latitude),height:W.height},Y=e3(T);if(e2){V(G);return}r("map-click",{lngLat:G,screen:Y,overlayLayer:m.value[0]||null});const S2=h.scene.pick(T),C2=S2==null?void 0:S2.id;if(!(i.enableTownPolygonPick&&(C2!=null&&C2.__hyTownName)&&r2(C2.__hyTownName))){if(i.enableTownPolygonPick){const N=E(G);if(N&&r2((U2=N.properties)==null?void 0:U2.name))return}if(C2!=null&&C2.__hyFeature){A1(C2),r("feature-info",{feature:{id:C2.__hyFeature.id,properties:C2.__hyFeature.properties||{},feature:C2.__hyFeature,layer:C2.__hyLayer,lngLat:G},screen:Y});return}if(i.enableImageryFeaturePick&&A2.length){r("feature-loading",!0);try{const N=h.camera.getPickRay(T),U=yield h.imageryLayers.pickImageryLayerFeatures(N,h.scene),b2=U==null?void 0:U[0];if(b2){const o3=A2.find(I1=>{var V1;return I1.imageryProvider===((V1=b2.imageryLayer)==null?void 0:V1.imageryProvider)})||A2[A2.length-1],Z2=(o3==null?void 0:o3.__hyLayer)||m.value[0],J=b2.properties||((r3=b2.data)==null?void 0:r3.properties)||b2.data||{},e1=G3(b2,J,Z2,G);f(e1)||z1(),r("feature-info",{feature:{id:e1.id||J.id||J.fid||b2.name,properties:e1.properties||J,feature:e1.feature||b2,geometry:e1.geometry||((P=e1.feature)==null?void 0:P.geometry)||null,layer:Z2,lngLat:G},screen:Y})}else z1(),r("feature-info",{feature:null,screen:Y})}catch(N){z1(),r("feature-info",{feature:null,screen:Y})}finally{r("feature-loading",!1)}}}}),C.ScreenSpaceEventType.LEFT_CLICK)}function N2(C){var N,U,b2,o3;if(!C||!((N=h==null?void 0:h.scene)!=null&&N.canvas))return C;const j=window.Cesium,T=h.scene.canvas,D=(U=T.getBoundingClientRect)==null?void 0:U.call(T),W=Number(D==null?void 0:D.width)||0,G=Number(D==null?void 0:D.height)||0,Y=Number(T.clientWidth||((b2=o.value)==null?void 0:b2.clientWidth))||W||1,S2=Number(T.clientHeight||((o3=o.value)==null?void 0:o3.clientHeight))||G||1,C2=Number(C.x),U2=Number(C.y);if(!Number.isFinite(C2)||!Number.isFinite(U2)||!W||!G)return C;const r3=Y/W,P=S2/G;return Math.abs(r3-1)<.001&&Math.abs(P-1)<.001?C:new j.Cartesian2(C2*r3,U2*P)}function e3(C){var U2,r3,P,N;if(!C||!((U2=h==null?void 0:h.scene)!=null&&U2.canvas))return null;const j=h.scene.canvas,T=(r3=j.getBoundingClientRect)==null?void 0:r3.call(j),D=Number(T==null?void 0:T.width)||0,W=Number(T==null?void 0:T.height)||0,G=Number(j.clientWidth||((P=o.value)==null?void 0:P.clientWidth))||D||1,Y=Number(j.clientHeight||((N=o.value)==null?void 0:N.clientHeight))||W||1,S2=Number(C.x),C2=Number(C.y);return!Number.isFinite(S2)||!Number.isFinite(C2)||!T?null:{x:(Number(T.left)||0)+S2*(D/G),y:(Number(T.top)||0)+C2*(W/Y)}}function b3(C){if(!h)return null;const j=h.camera.getPickRay(C);return j?h.scene.globe.pick(j,h.scene):null}function A1(C){var j,T,D,W,G;z1(),K=C,C.point&&(C.__hyOriginalPointSize=C.point.pixelSize,C.point.pixelSize=18),(j=C.__hyFeature)!=null&&j.geometry&&["Polygon","MultiPolygon","LineString","MultiLineString"].includes(C.__hyFeature.geometry.type)&&J1(C.__hyFeature,{townName:C.__hyTownName||((D=(T=C.__hyFeature)==null?void 0:T.properties)==null?void 0:D.name),mode:"feature"}),(G=(W=h==null?void 0:h.scene)==null?void 0:W.requestRender)==null||G.call(W)}function z1(){var C,j;K!=null&&K.point&&K.__hyOriginalPointSize&&(K.point.pixelSize=K.__hyOriginalPointSize),K=null,B(c3),R0(),(j=(C=h==null?void 0:h.scene)==null?void 0:C.requestRender)==null||j.call(C)}function J1(C,j={}){if(!h||!(C!=null&&C.geometry))return[];const T=s0();if(!T)return[];const D=window.Cesium,W={fill:D.Color.fromCssColorString(j.mode==="town"?"#30DCFF":"#FF2D2D").withAlpha((j.mode==="town",.16)),stroke:D.Color.fromCssColorString(j.mode==="town"?"#F2FFFF":"#FF2D2D").withAlpha(.98),lineWidth:j.mode==="town"?4.2:5.2,pointSize:j.mode==="town"?0:14},G=R(C.geometry,C,T.entities,W);return G.forEach(Y=>{var S2;Y.__hyFeature=null,Y.__hyLayer=null,Y.__hyTownName=j.townName||((S2=C.properties)==null?void 0:S2.name)||"",Y.__hySelectedOverlay=!0}),c3.push(...G),M2(T),G}function s0(){return!h||!window.Cesium?null:(R0(),p3=new window.Cesium.CustomDataSource("selected-feature-overlay"),h.dataSources.add(p3),M2(p3),p3)}function R0(){var j,T;if(!(h!=null&&h.dataSources)){p3=null;return}Array.from(new Set([p3,...((T=(j=h.dataSources).getByName)==null?void 0:T.call(j,"selected-feature-overlay"))||[]].filter(Boolean))).forEach(D=>{try{h.dataSources.remove(D,!0)}catch(W){console.warn("[cesium-map] remove selected overlay failed",W)}}),p3=null}function M2(C){var j,T;if(!(!(h!=null&&h.dataSources)||!C))try{if(h.dataSources.raiseToTop){h.dataSources.raiseToTop(C);return}for(;((T=(j=h.dataSources).indexOf)==null?void 0:T.call(j,C)){const C2=T.add(S2);return C2.__hyFeature=j,G.push(C2),C2};if(C.type==="Point"){const S2=L1(C.coordinates);return!S2||D.pointSize<=0||Y({position:W.Cartesian3.fromDegrees(S2[0],S2[1]),point:{show:!0,color:D.fill,pixelSize:D.pointSize,outlineColor:D.stroke,outlineWidth:3,heightReference:W.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}),G}return C.type==="MultiPoint"?(C.coordinates.forEach(S2=>{G.push(...R({type:"Point",coordinates:S2},j,T,D))}),G):C.type==="LineString"?(d(C.coordinates,j,T,D,G),G):C.type==="MultiLineString"?(C.coordinates.forEach(S2=>{d(S2,j,T,D,G)}),G):C.type==="Polygon"?(M(C.coordinates,j,T,D,G),G):(C.type==="MultiPolygon"&&C.coordinates.forEach(S2=>{M(S2,j,T,D,G)}),G)}function M(C,j,T,D,W){const G=window.Cesium,Y=O0(C);if(!Y)return;const S2=T.add({polygon:{hierarchy:Y,height:0,heightReference:G.HeightReference.CLAMP_TO_GROUND,perPositionHeight:!1,clampToGround:!0,material:D.fill,outline:!1,classificationType:G.ClassificationType.BOTH,zIndex:999}});S2.__hyFeature=j,W.push(S2),C.forEach(C2=>d(C2,j,T,D,W))}function d(C,j,T,D,W){const G=window.Cesium,Y=V3(C);if(Y.length<2)return;const S2=T.add({polyline:{positions:Y,width:D.lineWidth,material:D.stroke,depthFailMaterial:D.stroke,heightReference:G.HeightReference.CLAMP_TO_GROUND,clampToGround:!0,classificationType:G.ClassificationType.BOTH,zIndex:1e3}});S2.__hyFeature=j,W.push(S2)}function f(C,j={}){var G,Y,S2,C2,U2;if(!h||!C)return!1;const T=C.properties||((G=C.feature)==null?void 0:G.properties)||(typeof C=="object"?C:{}),D=v1(C.geometry||((Y=C.feature)==null?void 0:Y.geometry)||T.geometry||T.geom||T.wkt||C);if(!D)return!1;z1();const W={type:"Feature",id:C.id||((S2=C.feature)==null?void 0:S2.id)||T.id,properties:T,geometry:D};return J1(W,L2({mode:"feature"},j)),(U2=(C2=h==null?void 0:h.scene)==null?void 0:C2.requestRender)==null||U2.call(C2),c3.length>0}function y(C){const j=$3(C);return j&&(Z4.features||[]).find(T=>{var D;return $3((D=T==null?void 0:T.properties)==null?void 0:D.name)===j})||null}function w(){var C,j;return((C=i.mapRanking)==null?void 0:C.scope)==="town"&&Array.isArray((j=i.mapRanking)==null?void 0:j.rows)&&i.mapRanking.rows.length>0}function _(C){var T;if(!w())return!1;const j=$3(C);return(((T=i.mapRanking)==null?void 0:T.rows)||[]).some(D=>$3(D.name)===j)}function E(C){return w()&&(Z4.features||[]).find(j=>{var D;const T=(D=j==null?void 0:j.properties)==null?void 0:D.name;return _(T)&&n0(C,v1(j==null?void 0:j.geometry))})||null}function r2(C,j={}){var D,W,G,Y;if(!w()||!_(C))return!1;const T=y(C);return T?(z1(),J1(T,{mode:"town",townName:((D=T.properties)==null?void 0:D.name)||C}),j.emitFeatureInfo!==!1&&r("feature-info",{feature:null}),j.emitStatus!==!1&&r("layer-status",{type:"success",text:`已选中${((W=T.properties)==null?void 0:W.name)||C}`}),(Y=(G=h==null?void 0:h.scene)==null?void 0:G.requestRender)==null||Y.call(G),!0):!1}function n2(C,j={}){const T=L9.find(W=>$3(W.name)===$3(C)),D=L1(T==null?void 0:T.center);return D?(j.select&&r2(C,{emitFeatureInfo:!1,emitStatus:!1}),l3(D,42e3),{screen:m1(D)}):null}function o2(C){const j=T1(T=>{const D=T.properties||{};return[D.name,D.project_name,D.projectName,D.title].some(W=>String(W||"")===String(C||""))});return j?(h.flyTo(j,{duration:.9,offset:T3(18e3)}),A1(j),j):null}function t2(C={}){const j=D1(C);let T=T1(D=>x1(D,C));return T?(A1(T),h.flyTo(T,{duration:.9,offset:T3(16e3)})):j&&l3(j,16e3),{feature:(T==null?void 0:T.__hyFeature)||null,screen:d2(C)}}function X(C={}){const j=T1(T=>x1(T,C));return j?(A1(j),h.flyTo(j,{duration:.9,offset:T3(18e3)}),{feature:j.__hyFeature,screen:R2(j.__hyFeature)}):null}function R2(C){var T;const j=le(v1((C==null?void 0:C.geometry)||((T=C==null?void 0:C.feature)==null?void 0:T.geometry)));return j?m1(j):null}function y2(C){var S2,C2;const j=(C==null?void 0:C.properties)||((S2=C==null?void 0:C.feature)==null?void 0:S2.properties)||{},T=v1((C==null?void 0:C.geometry)||((C2=C==null?void 0:C.feature)==null?void 0:C2.geometry)||j.geometry||j.geom||j.wkt||j.geo||j.the_geom||j.geometryWkt||j.geometry_wkt||j.shape);if(!T)return R2(C);const D=[];ie(T.coordinates,D);const W=D.map(m1).filter(Boolean);if(!W.length)return R2(C);const G=W.map(U2=>Number(U2.x)).filter(Number.isFinite),Y=W.map(U2=>Number(U2.y)).filter(Number.isFinite);return!G.length||!Y.length?R2(C):{x:(Math.min(...G)+Math.max(...G))/2,y:Math.min(...Y)}}function d2(C={}){var W,G;const j=D1(C);if(j)return m1(j);const T=T1(Y=>x1(Y,C)),D=(G=(W=T==null?void 0:T.position)==null?void 0:W.getValue)==null?void 0:G.call(W,window.Cesium.JulianDate.now());return D?toLogicalScreen(window.Cesium.SceneTransforms.wgs84ToWindowCoordinates(h.scene,D)):null}function h2(C={}){var Y,S2;B2();const j=B1(C.grasslands||C),T=C.highlightTone==="white",D=T?{fillColor:"#FFFFFF",strokeColor:"#FFFFFF",fillAlpha:.04,strokeAlpha:.82,lineWidth:11}:{fillColor:"#FF3B30",strokeColor:"#FF3B30",fillAlpha:.1,strokeAlpha:.68,lineWidth:12},W=T?{fillColor:"#FFFFFF",strokeColor:"#FFFFFF",fillAlpha:.16,strokeAlpha:1,lineWidth:5.6}:{fillColor:"#FF2D2D",strokeColor:"#FFE1E1",fillAlpha:.3,strokeAlpha:1,lineWidth:6.2};C.locateOnly||(j.forEach(C2=>{f1(C2,{key:"pasture-focus-glow",name:C.name||"牧场高亮"},$2,D),f1(C2,{key:"pasture-focus",name:C.name||"牧场高亮"},$2,W)}),(Array.isArray(C.yakMarks)?C.yakMarks:[]).forEach((C2,U2)=>{const r3=D1(C2);r3&&f1({type:"Feature",id:C2.id||U2,properties:L2({},C2),geometry:{type:"Point",coordinates:r3}},{key:"pasture-focus-yak",name:"牦牛识别"},$2,{fillColor:"#FFCB45",strokeColor:"#FFF4B8",pointSize:11})}));const G=M1(j);return G&&x3(G,.9),(S2=(Y=h==null?void 0:h.scene)==null?void 0:Y.requestRender)==null||S2.call(Y),!!j.length}function B2(){var C,j;B($2),(j=(C=h==null?void 0:h.scene)==null?void 0:C.requestRender)==null||j.call(C)}function u2(){z1()}function A(C){e2=!!C,e2||(p2=[]),W2(),r("draw-boundary",{status:e2?"drawing":"clear",pointCount:p2.length,points:p2})}function V(C){p2.push([C.lng,C.lat]),W2(),r("draw-boundary",{status:"drawing",pointCount:p2.length,points:p2})}function Z(){p2.pop(),W2(),r("draw-boundary",{status:"drawing",pointCount:p2.length,points:p2})}function P2(){if(p2.length<3)return null;const C=[...p2,p2[0]],j={type:"Feature",properties:{source:"drawn"},geometry:{type:"Polygon",coordinates:[C]}};return e2=!1,p2=[],B(y3),f1(j,{key:"analysis-boundary",name:"分析边界"},y3,{fillColor:"#24F6C4",strokeColor:"#B7FFF2",fillAlpha:.12,strokeAlpha:1,lineWidth:3}),r("draw-boundary",{status:"complete",pointCount:0,points:[],feature:j}),j}function I2(){var C,j;e2=!1,p2=[],B(y3),B(z3),r("draw-boundary",{status:"clear",pointCount:0,points:[]}),(j=(C=h==null?void 0:h.scene)==null?void 0:C.requestRender)==null||j.call(C)}function W2(){if(!h)return;const C=window.Cesium;B(y3),p2.forEach(j=>{y3.push(h.entities.add({position:C.Cartesian3.fromDegrees(j[0],j[1],12),point:{pixelSize:10,color:C.Color.fromCssColorString("#24F6C4"),outlineColor:C.Color.WHITE,outlineWidth:2,heightReference:C.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}))}),p2.length>1&&y3.push(h.entities.add({polyline:{positions:V3(p2),width:3,material:C.Color.fromCssColorString("#24F6C4"),clampToGround:!0}})),h.scene.requestRender()}function V2(C={}){var T,D,W,G;B(z3);const j=((T=C.boundary)==null?void 0:T.type)==="Feature"||(D=C.boundary)!=null&&D.geometry?C.boundary:null;if(j&&f1(j,{key:"analysis-result-boundary"},z3,{fillColor:"#24F6C4",strokeColor:"#B7FFF2",fillAlpha:.1,lineWidth:3}),(Array.isArray(C.matches)?C.matches:[]).forEach(Y=>{const S2=(Y==null?void 0:Y.type)==="Feature"?Y:(Y==null?void 0:Y.feature)||null;S2&&f1(S2,{key:"analysis-result-feature"},z3,{fillColor:"#30DCFF",strokeColor:"#C9FBFF",fillAlpha:.1,lineWidth:2.6})}),!C.preserveView){const Y=[j,...C.matches||[]].filter(Boolean),S2=M1(Y);S2&&x3(S2,.9)}(G=(W=h==null?void 0:h.scene)==null?void 0:W.requestRender)==null||G.call(W)}function l3(C,j=22e3,T=.9){if(!h||!C)return;const D=window.Cesium,W=D.Cartesian3.fromDegrees(C[0],C[1],3600);h.camera.flyToBoundingSphere(new D.BoundingSphere(W,1),{offset:T3(j),duration:T})}function x3(C,j=.9){if(!h||!C)return;const T=window.Cesium,D=[(Number(C.west)+Number(C.east))/2,(Number(C.south)+Number(C.north))/2];if(!D.every(Number.isFinite))return;const W=Math.max(Math.abs(Number(C.east)-Number(C.west)),Math.abs(Number(C.north)-Number(C.south))),G=Math.max(18e3,Math.min(16e4,W*135e3)),Y=T.Cartesian3.fromDegrees(D[0],D[1],2600);h.camera.flyToBoundingSphere(new T.BoundingSphere(Y,1),{offset:T3(G),duration:j})}function E3(C){if(!h||!C)return;const j=C.mapView||(C.cameraPosition?{cameraPosition:C.cameraPosition}:null);if(!j)return;const T=window.Cesium,D=Number.isFinite(Number(j.duration))?Number(j.duration):.9,W=L1(j.targetLngLat);if(W){const G=w1(i.initialZoom),Y=Number.isFinite(Number(j.distanceScale))?Number(j.distanceScale):1,S2=Math.max(18e3,Math.min(56e4,G*Y)),C2=Number.isFinite(Number(j.targetHeight))?Number(j.targetHeight):2600,U2=Number.isFinite(Number(j.heading))?Number(j.heading):Ef,r3=Number.isFinite(Number(j.pitch))?Number(j.pitch):Nf,P=T.Cartesian3.fromDegrees(W[0],W[1],C2);h.camera.flyToBoundingSphere(new T.BoundingSphere(P,1),{offset:new T.HeadingPitchRange(T.Math.toRadians(U2),T.Math.toRadians(r3),S2),duration:D});return}j.bounds&&x3(j.bounds,D)}function T3(C){const j=window.Cesium;return new j.HeadingPitchRange(j.Math.toRadians(Ef),j.Math.toRadians(Nf),C)}function m1(C){if(!h||!C)return null;const j=window.Cesium,T=j.Cartesian3.fromDegrees(C[0],C[1],16);return e3(j.SceneTransforms.wgs84ToWindowCoordinates(h.scene,T))}function T1(C){return[...q2,...$2].find(j=>j.__hyFeature&&C(j.__hyFeature))||null}function x1(C,j={}){const T=(C==null?void 0:C.properties)||{},D=[j.id,j.key,j.featureId,j.projectId].filter(U2=>U2!=null&&U2!=="").map(String),W=[C.id,T.id,T.key,T.feature_id,T.project_id].filter(U2=>U2!=null&&U2!=="").map(String);if(D.some(U2=>W.includes(U2)))return!0;const G=[j.name,j.fullName,j.projectName].filter(Boolean).map(String),Y=[T.name,T.fullName,T.project_name,T.projectName].filter(Boolean).map(String);if(G.some(U2=>Y.includes(U2)))return!0;const S2=D1(j),C2=D1(J2(L2({},T),{geometry:C.geometry}));return!!(S2&&C2&&Math.abs(S2[0]-C2[0])<2e-5&&Math.abs(S2[1]-C2[1])<2e-5)}function B1(C){return(Array.isArray(C)?C:(C==null?void 0:C.grasslands)||(C==null?void 0:C.features)||(C==null?void 0:C.rows)||(C==null?void 0:C.list)||(C?[C]:[])).map((T,D)=>{var G,Y;if((T==null?void 0:T.type)==="Feature")return T;const W=v1(T==null?void 0:T.geometry)||Y1(N1(T));return W?{type:"Feature",id:(Y=(G=T==null?void 0:T.id)!=null?G:T==null?void 0:T.grasslandId)!=null?Y:D,properties:L2({},T),geometry:W}:null}).filter(Boolean)}function v1(C){if(!C)return null;if(C.type==="Feature")return v1(C.geometry);if(C.type&&Array.isArray(C.coordinates))return C;if(typeof C=="string"){const j=C.trim();if(!j)return null;if(j.startsWith("{")||j.startsWith("["))try{return v1(JSON.parse(j))}catch(T){return null}return Y1(j)}return null}function Y1(C){const T=String(C||"").trim().replace(/^SRID=\d+;/i,"").match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*(\(.+\))$/i);if(!T)return null;const D=T[1].toUpperCase(),W=T[2];return D==="POINT"?{type:"Point",coordinates:g0(W)}:D==="MULTIPOINT"?{type:"MultiPoint",coordinates:g3(W).map(g0).filter(Boolean)}:D==="LINESTRING"?{type:"LineString",coordinates:E2(W)}:D==="MULTILINESTRING"?{type:"MultiLineString",coordinates:g3(W).map(E2).filter(G=>G.length)}:D==="POLYGON"?{type:"Polygon",coordinates:f3(W)}:D==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:g3(W).map(f3).filter(G=>G.length)}:null}function g0(C){const j=String(C||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return j.length===2&&j.every(Number.isFinite)?j:null}function E2(C){return String(C||"").replace(/^\(+|\)+$/g,"").split(",").map(g0).filter(Boolean)}function f3(C){return g3(C).map(E2).filter(j=>j.length>=3)}function g3(C){const j=String(C||"").trim(),T=j.startsWith("(")&&j.endsWith(")")?j.slice(1,-1):j,D=[];let W=0,G=-1;return Array.from(T).forEach((Y,S2)=>{Y==="("?(W===0&&(G=S2),W+=1):Y===")"&&(W-=1,W===0&&G>=0&&(D.push(T.slice(G,S2+1)),G=-1))}),D.length?D:[T]}function V3(C=[]){const j=window.Cesium;return C.map(L1).filter(Boolean).map(T=>j.Cartesian3.fromDegrees(T[0],T[1],8))}function h1(C=[],j=Cs){const T=window.Cesium;return C.map(L1).filter(Boolean).map(D=>T.Cartesian3.fromDegrees(D[0],D[1],j))}function L1(C){if(!Array.isArray(C)||C.length<2)return null;const j=Number(C[0]),T=Number(C[1]);return Number.isFinite(j)&&Number.isFinite(T)?[j,T]:null}function D1(C={}){const j=v1(C.geometry);return(j==null?void 0:j.type)==="Point"?L1(j.coordinates):[[C.longitude,C.latitude],[C.lng,C.lat],[C.lon,C.lat],[C.x,C.y],C.point,C.center,C.centroid,C.coordinates].map(L1).find(Boolean)||null}function n0(C,j){return!C||!(j!=null&&j.coordinates)?!1:j.type==="Polygon"?C0(C,j.coordinates):j.type==="MultiPolygon"?j.coordinates.some(T=>C0(C,T)):!1}function C0(C,j=[]){return!j.length||!Pe(C,j[0])?!1:!j.slice(1).some(T=>Pe(C,T))}function Pe(C,j=[]){if(j.length<3)return!1;const T=Number(C.lng),D=Number(C.lat);if(!Number.isFinite(T)||!Number.isFinite(D))return!1;let W=!1;for(let G=0,Y=j.length-1;GD!=N>D&&T<(P-U2)*(D-r3)/(N-r3)+U2&&(W=!W)}return W}function ke(C,j,T,D,W,G){const Y=(C-T)*(G-D)-(j-D)*(W-T);return Math.abs(Y)>1e-10?!1:(C-T)*(C-W)+(j-D)*(j-G)<=1e-10}function le(C){if(!C)return null;if(C.type==="Point")return L1(C.coordinates);const j=[];return ie(C.coordinates,j),j.length?[j.reduce((T,D)=>T+D[0],0)/j.length,j.reduce((T,D)=>T+D[1],0)/j.length]:null}function ie(C,j){const T=L1(C);if(T&&!Array.isArray(C[0])){j.push(T);return}Array.isArray(C)&&C.forEach(D=>ie(D,j))}function M1(C=[]){const j=[];if(C.forEach(Y=>{var C2;const S2=v1((Y==null?void 0:Y.geometry)||((C2=Y==null?void 0:Y.feature)==null?void 0:C2.geometry)||Y);S2&&ie(S2.coordinates,j)}),!j.length)return null;const T=j.map(Y=>Y[0]),D=j.map(Y=>Y[1]),W=Math.max(.006,(Math.max(...T)-Math.min(...T))*.18),G=Math.max(.006,(Math.max(...D)-Math.min(...D))*.18);return{west:Math.max($1.west,Math.min(...T)-W),south:Math.max($1.south,Math.min(...D)-G),east:Math.min($1.east,Math.max(...T)+W),north:Math.min($1.north,Math.max(...D)+G)}}function B(C){if(!h){C.length=0;return}C.splice(0).forEach(j=>h.entities.remove(j))}function f2(){A2.splice(0).forEach(C=>{var j,T;return(T=(j=h==null?void 0:h.imageryLayers)==null?void 0:j.remove)==null?void 0:T.call(j,C,!0)}),B(q2),z1()}function G2(){var C,j,T;H+=1,(C=g==null?void 0:g.disconnect)==null||C.call(g),g=null,b==null||b(),b=null,(j=p==null?void 0:p.destroy)==null||j.call(p),p=null,f2(),B(I3),B(S3),B(_2),B(K2),B($2),B(y3),B(z3),h&&!((T=h.isDestroyed)!=null&&T.call(h))&&h.destroy(),h=null,v2=null,u.value=null,s.value&&s.value.replaceChildren()}function J3(C,j=1){const T=Number(C);return Number.isFinite(T)?Math.max(0,Math.min(1,T)):j}function $3(C){return String(C||"").trim().replace(/(镇|乡)$/,"")}function R3(C){const j=Number(C);return Number.isFinite(j)?Number.isInteger(j)?String(j):String(Number(j.toFixed(2))):"--"}return e({loadMap:d3,hasMap:F3,play:U3,resume:a3,pause:F2,refreshView:N3,resetView:_3,destroyMap:G2,highlightFeature:f,clearSelectedFeature:z1,clearFloatingOverlays:u2,focusProject:o2,focusPasture:h2,clearPastureFocus:B2,focusTown:n2,focusYakIndustryPoint:t2,focusVectorFeature:X,getVectorFeatureAnchorScreen:y2,getVectorFeatureScreen:R2,getYakIndustryPointScreen:d2,setBoundaryDrawing:A,finishBoundaryDrawing:P2,undoBoundaryPoint:Z,clearAnalysisBoundary:I2,showAnalysisResult:V2,canvasMap:u}),(C,j)=>(z(),Q("div",{ref_key:"containerRef",ref:o,class:"cesium-map"},[S("div",{ref_key:"viewerRef",ref:s,class:"cesium-map__viewer"},null,512)],512))}},Z8=Fa(w_,[["__scopeId","data-v-c3a3aaa8"]]);const b_={key:0,class:"business-stat-empty"},T_=["data-chart-tooltip"],C_={class:"business-stat-rank"},A_={class:"business-stat-main"},x_={class:"business-stat-name"},__={class:"business-stat-bar"},M_={class:"business-stat-value"},P_={key:0},If={__name:"BusinessStatList",props:{rows:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(t){const e=t,n=l2(()=>{const r=e.rows.map(o=>Number(o.value)).filter(o=>!Number.isNaN(o));return Math.max(...r,1)});function a(r){const o=Number(r.value);return Number.isNaN(o)?36:Math.max(8,Math.round(o/n.value*100))}function i(r){const o=(r==null?void 0:r.value)===void 0||(r==null?void 0:r.value)===null||(r==null?void 0:r.value)===""?"--":r.value,s=(r==null?void 0:r.unit)||"",u=[`数值:${o}${s}`];return r!=null&&r.extra&&u.push(String(r.extra)),[(r==null?void 0:r.name)||"数据",...u].join(` +`)}return(r,o)=>(z(),Q("div",{class:s1(["business-stat-list",{"is-compact":t.compact,"is-dense":t.rows.length>10}])},[t.rows.length?L3("",!0):(z(),Q("div",b_,"暂无业务统计数据")),(z(!0),Q(O3,null,X3(t.rows,(s,u)=>(z(),Q("div",{key:s.key||s.name,class:"business-stat-row","data-chart-tooltip":i(s)},[S("div",C_,c2(u+1),1),S("div",A_,[S("div",x_,c2(s.name),1),S("div",__,[S("span",{style:X1({width:`${a(s)}%`})},null,4)])]),S("div",M_,[S("strong",null,c2(s.value),1),S("em",null,c2(s.unit),1),s.extra?(z(),Q("span",P_,c2(s.extra),1)):L3("",!0)])],8,T_))),128))],2))}};function k_(t){let e=null,n=!1,a=!1;function i(){!n||a||(t(),e=requestAnimationFrame(i))}function r(){n||(n=!0,i())}function o(){n&&(n=!1,a=!0,cancelAnimationFrame(e))}function s(){!n&&a&&(n=!0,a=!1,i())}return{start:r,pause:o,resume:s,isActive:()=>n}}class Er{constructor(){this.events=new Map}on(e,n){let a=this.events.get(e);a||(a=new Set,this.events.set(e,a)),a.add(n)}off(e,n){const a=this.events.get(e);a&&(n?a.delete(n):this.events.delete(e))}emit(e,...n){const a=this.events.get(e);a&&a.forEach(i=>{i(...n)})}once(e,n){const a=(...i)=>{n(...i),this.off(e,a)};this.on(e,a)}}class E_ extends Er{constructor({canvas:e}){super(),this.canvas=e,this.maxPixelRatio=2,this.handleResize=()=>{this.init(),this.emit("resize")},this.init(),window.addEventListener("resize",this.handleResize)}init(){var n;const e=((n=this.canvas)==null?void 0:n.parentNode)||this.canvas||document.documentElement;this.width=e.offsetWidth||window.innerWidth||1,this.height=e.offsetHeight||window.innerHeight||1,this.pixelRatio=Math.min(window.devicePixelRatio||1,this.maxPixelRatio)}destroy(){window.removeEventListener("resize",this.handleResize),this.off("resize")}}class N_ extends Er{constructor(){super(),this.start=Date.now(),this.current=this.start,this.elapsed=0,this.delta=16,this.clock=new qC,this.raf=k_(()=>this.tick()),this.raf.start()}tick(){const e=Date.now();this.delta=e-this.current,this.current=e,this.elapsed=this.current-this.start;const n=this.clock.getDelta(),a=this.clock.getElapsedTime();this.emit("tick",n,a)}destroy(){this.pause(),this.off("tick")}pause(){this.raf.pause()}resume(){this.raf.resume()}isActive(){this.raf.isActive()}}function up(t,e=!1){const n=t[0].index!==null,a=new Set(Object.keys(t[0].attributes)),i=new Set(Object.keys(t[0].morphAttributes)),r={},o={},s=t[0].morphTargetsRelative,u=new d6;let m=0;for(let h=0;h=2.0 are supported."));return}const m=new cM(r,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});m.fileLoader.setRequestHeader(this.requestHeader);for(let h=0;h=0&&s[p]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+p+'".')}}m.setExtensions(o),m.setPlugins(s),m.parse(a,i)}parseAsync(e,n){const a=this;return new Promise(function(i,r){a.parse(e,n,i,r)})}}function L_(){let t={};return{get:function(e){return t[e]},add:function(e,n){t[e]=n},remove:function(e){delete t[e]},removeAll:function(){t={}}}}const J0={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class I_{constructor(e){this.parser=e,this.name=J0.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let a=0,i=n.length;a=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,r.source,o)}}class H_{constructor(e){this.parser=e,this.name=J0.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,a=this.parser,i=a.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],s=i.images[o.source];let u=a.textureLoader;if(s.uri){const m=a.options.manager.getHandler(s.uri);m!==null&&(u=m)}return this.detectSupport().then(function(m){if(m)return a.loadTextureImage(e,o.source,u);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return a.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class K_{constructor(e){this.parser=e,this.name=J0.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,a=this.parser,i=a.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],s=i.images[o.source];let u=a.textureLoader;if(s.uri){const m=a.options.manager.getHandler(s.uri);m!==null&&(u=m)}return this.detectSupport().then(function(m){if(m)return a.loadTextureImage(e,o.source,u);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return a.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class q_{constructor(e){this.name=J0.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,a=n.bufferViews[e];if(a.extensions&&a.extensions[this.name]){const i=a.extensions[this.name],r=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return r.then(function(s){const u=i.byteOffset||0,m=i.byteLength||0,h=i.count,p=i.byteStride,g=new Uint8Array(s,u,m);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(h,p,g,i.mode,i.filter).then(function(b){return b.buffer}):o.ready.then(function(){const b=new ArrayBuffer(h*p);return o.decodeGltfBuffer(new Uint8Array(b),h,p,g,i.mode,i.filter),b})})}else return null}}class J_{constructor(e){this.name=J0.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,a=n.nodes[e];if(!a.extensions||!a.extensions[this.name]||a.mesh===void 0)return null;const i=n.meshes[a.mesh];for(const m of i.primitives)if(m.mode!==Vn.TRIANGLES&&m.mode!==Vn.TRIANGLE_STRIP&&m.mode!==Vn.TRIANGLE_FAN&&m.mode!==void 0)return null;const o=a.extensions[this.name].attributes,s=[],u={};for(const m in o)s.push(this.parser.getDependency("accessor",o[m]).then(h=>(u[m]=h,u[m])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(m=>{const h=m.pop(),p=h.isGroup?h.children:[h],g=m[0].count,b=[];for(const F of p){const H=new N9,K=new c0,e2=new Zl,p2=new c0(1,1,1),v2=new XC(F.geometry,F.material,g);for(let A2=0;A20||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const uM=new N9;class cM{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new L_,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let a=!1,i=!1,r=-1;typeof navigator!="undefined"&&(a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,r=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap=="undefined"||a||i&&r<98?this.textureLoader=new $m(this.options.manager):this.textureLoader=new eA(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new va(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,n){const a=this,i=this.json,r=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([a.getDependencies("scene"),a.getDependencies("animation"),a.getDependencies("camera")])}).then(function(o){const s={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:a,userData:{}};return w9(r,s,i),B5(s,i),Promise.all(a._invokeAll(function(u){return u.afterRoot&&u.afterRoot(s)})).then(function(){e(s)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],a=this.json.meshes||[];for(let i=0,r=n.length;i{const u=this.associations.get(o);u!=null&&this.associations.set(s,u);for(const[m,h]of o.children.entries())r(h,s.children[m])};return r(a,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let a=0;a=2&&K.setY(c3,q2[K2*u+1]),u>=3&&K.setZ(c3,q2[K2*u+2]),u>=4&&K.setW(c3,q2[K2*u+3]),u>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return K})}loadTexture(e){const n=this.json,a=this.options,r=n.textures[e].source,o=n.images[r];let s=this.textureLoader;if(o.uri){const u=a.manager.getHandler(o.uri);u!==null&&(s=u)}return this.loadTextureImage(e,r,s)}loadTextureImage(e,n,a){const i=this,r=this.json,o=r.textures[e],s=r.images[n],u=(s.uri||s.bufferView)+":"+o.sampler;if(this.textureCache[u])return this.textureCache[u];const m=this.loadImageSource(n,a).then(function(h){h.flipY=!1,h.name=o.name||s.name||"",h.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(h.name=s.uri);const g=(r.samplers||{})[o.sampler]||{};return h.magFilter=Gf[g.magFilter]||k9,h.minFilter=Gf[g.minFilter]||Wm,h.wrapS=Uf[g.wrapS]||on,h.wrapT=Uf[g.wrapT]||on,i.associations.set(h,{textures:e}),h}).catch(function(){return null});return this.textureCache[u]=m,m}loadImageSource(e,n){const a=this,i=this.json,r=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(p=>p.clone());const o=i.images[e],s=self.URL||self.webkitURL;let u=o.uri||"",m=!1;if(o.bufferView!==void 0)u=a.getDependency("bufferView",o.bufferView).then(function(p){m=!0;const g=new Blob([p],{type:o.mimeType});return u=s.createObjectURL(g),u});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const h=Promise.resolve(u).then(function(p){return new Promise(function(g,b){let F=g;n.isImageBitmapLoader===!0&&(F=function(H){const K=new ef(H);K.needsUpdate=!0,g(K)}),n.load(oa.resolveURL(p,r.path),F,void 0,b)})}).then(function(p){return m===!0&&s.revokeObjectURL(u),p.userData.mimeType=o.mimeType||lM(o.uri),p}).catch(function(p){throw console.error("THREE.GLTFLoader: Couldn't load texture",u),p});return this.sourceCache[e]=h,h}assignTexture(e,n,a,i){const r=this;return this.getDependency("texture",a.index).then(function(o){if(!o)return null;if(a.texCoord!==void 0&&a.texCoord>0&&(o=o.clone(),o.channel=a.texCoord),r.extensions[J0.KHR_TEXTURE_TRANSFORM]){const s=a.extensions!==void 0?a.extensions[J0.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const u=r.associations.get(o);o=r.extensions[J0.KHR_TEXTURE_TRANSFORM].extendTexture(o,s),r.associations.set(o,u)}}return i!==void 0&&(o.colorSpace=i),e[n]=o,o})}assignFinalMaterial(e){const n=e.geometry;let a=e.material;const i=n.attributes.tangent===void 0,r=n.attributes.color!==void 0,o=n.attributes.normal===void 0;if(e.isPoints){const s="PointsMaterial:"+a.uuid;let u=this.cache.get(s);u||(u=new xr,fs.prototype.copy.call(u,a),u.color.copy(a.color),u.map=a.map,u.sizeAttenuation=!1,this.cache.add(s,u)),a=u}else if(e.isLine){const s="LineBasicMaterial:"+a.uuid;let u=this.cache.get(s);u||(u=new F5,fs.prototype.copy.call(u,a),u.color.copy(a.color),u.map=a.map,this.cache.add(s,u)),a=u}if(i||r||o){let s="ClonedMaterial:"+a.uuid+":";i&&(s+="derivative-tangents:"),r&&(s+="vertex-colors:"),o&&(s+="flat-shading:");let u=this.cache.get(s);u||(u=a.clone(),r&&(u.vertexColors=!0),o&&(u.flatShading=!0),i&&(u.normalScale&&(u.normalScale.y*=-1),u.clearcoatNormalScale&&(u.clearcoatNormalScale.y*=-1)),this.cache.add(s,u),this.associations.set(u,this.associations.get(a))),a=u}e.material=a}getMaterialType(){return T8}loadMaterial(e){const n=this,a=this.json,i=this.extensions,r=a.materials[e];let o;const s={},u=r.extensions||{},m=[];if(u[J0.KHR_MATERIALS_UNLIT]){const p=i[J0.KHR_MATERIALS_UNLIT];o=p.getMaterialType(),m.push(p.extendParams(s,r,n))}else{const p=r.pbrMetallicRoughness||{};if(s.color=new Xe(1,1,1),s.opacity=1,Array.isArray(p.baseColorFactor)){const g=p.baseColorFactor;s.color.setRGB(g[0],g[1],g[2],Y6),s.opacity=g[3]}p.baseColorTexture!==void 0&&m.push(n.assignTexture(s,"map",p.baseColorTexture,dn)),s.metalness=p.metallicFactor!==void 0?p.metallicFactor:1,s.roughness=p.roughnessFactor!==void 0?p.roughnessFactor:1,p.metallicRoughnessTexture!==void 0&&(m.push(n.assignTexture(s,"metalnessMap",p.metallicRoughnessTexture)),m.push(n.assignTexture(s,"roughnessMap",p.metallicRoughnessTexture))),o=this._invokeOne(function(g){return g.getMaterialType&&g.getMaterialType(e)}),m.push(Promise.all(this._invokeAll(function(g){return g.extendMaterialParams&&g.extendMaterialParams(e,s)})))}r.doubleSided===!0&&(s.side=vt);const h=r.alphaMode||xs.OPAQUE;if(h===xs.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,h===xs.MASK&&(s.alphaTest=r.alphaCutoff!==void 0?r.alphaCutoff:.5)),r.normalTexture!==void 0&&o!==ce&&(m.push(n.assignTexture(s,"normalMap",r.normalTexture)),s.normalScale=new lt(1,1),r.normalTexture.scale!==void 0)){const p=r.normalTexture.scale;s.normalScale.set(p,p)}if(r.occlusionTexture!==void 0&&o!==ce&&(m.push(n.assignTexture(s,"aoMap",r.occlusionTexture)),r.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=r.occlusionTexture.strength)),r.emissiveFactor!==void 0&&o!==ce){const p=r.emissiveFactor;s.emissive=new Xe().setRGB(p[0],p[1],p[2],Y6)}return r.emissiveTexture!==void 0&&o!==ce&&m.push(n.assignTexture(s,"emissiveMap",r.emissiveTexture,dn)),Promise.all(m).then(function(){const p=new o(s);return r.name&&(p.name=r.name),B5(p,r),n.associations.set(p,{materials:e}),r.extensions&&w9(i,p,r),p})}createUniqueName(e){const n=nA.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,a=this.extensions,i=this.primitiveCache;function r(s){return a[J0.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,n).then(function(u){return Of(u,s,n)})}const o=[];for(let s=0,u=e.length;s0&&oM(e2,r),e2.name=n.createUniqueName(r.name||"mesh_"+e),B5(e2,r),K.extensions&&w9(i,e2,K),n.assignFinalMaterial(e2),p.push(e2)}for(let b=0,F=p.length;b1?h=new Ae:m.length===1?h=m[0]:h=new Ba,h!==m[0])for(let p=0,g=m.length;p{const p=new Map;for(const[g,b]of i.associations)(g instanceof fs||g instanceof ef)&&p.set(g,b);return h.traverse(g=>{const b=i.associations.get(g);b!=null&&p.set(g,b)}),p};return i.associations=m(r),r})}_createAnimationTracks(e,n,a,i,r){const o=[],s=e.name?e.name:e.uuid,u=[];I5[r.path]===I5.weights?e.traverse(function(g){g.morphTargetInfluences&&u.push(g.name?g.name:g.uuid)}):u.push(s);let m;switch(I5[r.path]){case I5.weights:m=nf;break;case I5.rotation:m=af;break;case I5.position:case I5.scale:m=tf;break;default:switch(a.itemSize){case 1:m=nf;break;case 2:case 3:default:m=tf;break}break}const h=i.interpolation!==void 0?aM[i.interpolation]:qm,p=this._getArrayFromAccessor(a);for(let g=0,b=u.length;g{this.parse(o,n,i)},a,i)}parse(e,n,a=()=>{}){this.decodeDracoFile(e,n,null,null,dn).catch(a)}decodeDracoFile(e,n,a,i,r=Y6,o=()=>{}){const s={attributeIDs:a||this.defaultAttributeIDs,attributeTypes:i||this.defaultAttributeTypes,useUniqueIDs:!!a,vertexColorSpace:r};return this.decodeGeometry(e,s).then(n).catch(o)}decodeGeometry(e,n){const a=JSON.stringify(n);if(Ms.has(e)){const u=Ms.get(e);if(u.key===a)return u.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const r=this.workerNextTaskID++,o=e.byteLength,s=this._getWorker(r,o).then(u=>(i=u,new Promise((m,h)=>{i._callbacks[r]={resolve:m,reject:h},i.postMessage({type:"decode",id:r,taskConfig:n,buffer:e},[e])}))).then(u=>this._createGeometry(u.geometry));return s.catch(()=>!0).then(()=>{i&&r&&this._releaseTask(i,r)}),Ms.set(e,{key:a,promise:s}),s}_createGeometry(e){const n=new d6;e.index&&n.setIndex(new h6(e.index.array,1));for(let a=0;a{a.load(e,i,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",n=[];return e?n.push(this._loadLibrary("draco_decoder.js","text")):(n.push(this._loadLibrary("draco_wasm_wrapper.js","text")),n.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(n).then(a=>{const i=a[0];e||(this.decoderConfig.wasmBinary=a[1]);const r=hM.toString(),o=["/* draco decoder */",i,"","/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join(` +`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,n){return this._initDecoder().then(()=>{if(this.workerPool.lengthr._taskLoad?-1:1});const a=this.workerPool[this.workerPool.length-1];return a._taskCosts[e]=n,a._taskLoad+=n,a})}_releaseTask(e,n){e._taskLoad-=e._taskCosts[n],delete e._callbacks[n],delete e._taskCosts[n]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const p=h.draco,g=new p.Decoder;try{const b=n(p,g,new Int8Array(u),m),F=b.attributes.map(H=>H.array.buffer);b.index&&F.push(b.index.array.buffer),self.postMessage({type:"decode",id:s.id,geometry:b},F)}catch(b){console.error(b),self.postMessage({type:"error",id:s.id,error:b.message})}finally{p.destroy(g)}});break}};function n(o,s,u,m){const h=m.attributeIDs,p=m.attributeTypes;let g,b;const F=s.GetEncodedGeometryType(u);if(F===o.TRIANGULAR_MESH)g=new o.Mesh,b=s.DecodeArrayToMesh(u,u.byteLength,g);else if(F===o.POINT_CLOUD)g=new o.PointCloud,b=s.DecodeArrayToPointCloud(u,u.byteLength,g);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!b.ok()||g.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+b.error_msg());const H={index:null,attributes:[]};for(const K in h){const e2=self[p[K]];let p2,v2;if(m.useUniqueIDs)v2=h[K],p2=s.GetAttributeByUniqueId(g,v2);else{if(v2=s.GetAttributeId(g,o[h[K]]),v2===-1)continue;p2=s.GetAttribute(g,v2)}const A2=i(o,s,g,K,e2,p2);K==="color"&&(A2.vertexColorSpace=m.vertexColorSpace),H.attributes.push(A2)}return F===o.TRIANGULAR_MESH&&(H.index=a(o,s,g)),o.destroy(g),H}function a(o,s,u){const h=u.num_faces()*3,p=h*4,g=o._malloc(p);s.GetTrianglesUInt32Array(u,p,g);const b=new Uint32Array(o.HEAPF32.buffer,g,h).slice();return o._free(g),{array:b,itemSize:1}}function i(o,s,u,m,h,p){const g=p.num_components(),F=u.num_points()*g,H=F*h.BYTES_PER_ELEMENT,K=r(o,h),e2=o._malloc(H);s.GetAttributeDataArrayForAllPoints(u,p,K,H,e2);const p2=new h(o.HEAPF32.buffer,e2,F).slice();return o._free(e2),{name:m,array:p2,itemSize:g}}function r(o,s){switch(s){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let Di={GLTFLoader:"GLTF",TextureLoader:"Texture",FontLoader:"Font",MMDLoader:"MMD",MTLLoader:"MTL",OBJLoader:"OBJ",PCDLoader:"PCD",FileLoader:"File",ImageLoader:"Image",ObjectLoader:"Object",MaterialLoader:"Material",CubeTextureLoader:"CubeTexture",RGBELoader:"RGBELoader",FBXLoader:"FBX"};const mM=Object.values(Di);class pM extends Er{constructor({dracoPath:e,cloneTextures:n=!1}={}){super(),this.dracoPath=e||"./draco/gltf/",this.cloneTextures=n,this.loaded=!1,this.itemsLoaded=0,this.itemsTotal=0,this.assets=[],this.loaders={},this.initDefaultLoader()}initManager(){const e=new pA;return e.onProgress=(n,a,i)=>{this.itemsLoaded=a,this.itemsTotal=i,this.emit("onProgress",n,a,i)},e.onError=n=>{this.emit("onError",n)},e}initDefaultLoader(){[{loader:R_,name:"GLTFLoader"},{loader:$m,name:"TextureLoader"}].map(e=>this.addLoader(e.loader,e.name))}initDraco(e){const n=new fM;n.setDecoderPath(this.dracoPath),n.preload(),e.setDRACOLoader(n)}addLoader(e,n=""){if(e.name&&Di[n]){if(!this.loaders[n]){let i=new e(this.manager),r=n;i instanceof Ql&&(r==="GLTFLoader"&&this.initDraco(i),this.loaders[Di[r]]=i)}}else throw new Error("请配置正确的加载器")}loadItem(e){return new Promise((n,a)=>{if(!this.loaders[e.type])throw new Error(`资源${e.path}没有配置加载器`);this.loaders[e.type].load(e.path,i=>{this.itemsLoaded++,this.emit("onProgress",e.path,this.itemsLoaded,this.itemsTotal),n(J2(L2({},e),{data:i}))},null,i=>{this.emit("onError",i),a(i)})})}loadAll(e){return this.itemsLoaded=0,this.itemsTotal=0,new Promise((n,a)=>{let i=this.matchType(e),r=[];this.itemsTotal=i.length,i.map(o=>{let s=this.loadItem(o);r.push(s)}),Promise.all(r).then(o=>{this.assets=o,this.loaded=!0,this.emit("onLoad"),n(o)}).catch(o=>{this.emit("onError",o),a(o)})})}matchType(e){return this.assets=e.map(n=>({type:mM.includes(n.type)?n.type:"",path:n.path,name:n.name,data:null})).filter(n=>{if(!n.type)throw new Error(`资源${n.path},type不正确`);return n.type}),this.assets}getResource(e){var a;let n=this.assets.find(i=>i.name===e);if(!n)throw new Error(`资源${e}不存在`);return this.cloneTextures&&n.type===Di.TextureLoader&&((a=n.data)!=null&&a.isTexture)?n.data.clone():n.data}destroy(){this.off("onProgress"),this.off("onLoad"),this.off("onError"),this.assets=[]}}function gM(t=10,e=62){var n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),a=[],i;if(e=e||n.length,t)for(i=0;iyM(typeof t=="string"?JSON.parse(t):t);function yM(t){var n,a,i,r;let e=(t==null?void 0:t.features)||[];for(let o=0;o{this.canvas.style.cursor="grabbing"},this.handlePointerUp=()=>{this.canvas.style.cursor="grab"},this.canvas.style.cursor="grab",this.canvas.style.touchAction="none",this.canvas.addEventListener("pointerdown",this.handlePointerDown),window.addEventListener("pointerup",this.handlePointerUp),this.canvas.addEventListener("pointerleave",this.handlePointerUp))}resize(){let e=this.sizes.width/this.sizes.height;if(this.options.isOrthographic){let n=120;this.instance.left=-n*e,this.instance.right=n*e,this.instance.top=n,this.instance.bottom=-n}else this.instance.aspect=e;this.instance.updateProjectionMatrix()}update(){this.controls.update()}destroy(){var e,n,a,i;(n=(e=this.canvas)==null?void 0:e.removeEventListener)==null||n.call(e,"pointerdown",this.handlePointerDown),(i=(a=this.canvas)==null?void 0:a.removeEventListener)==null||i.call(a,"pointerleave",this.handlePointerUp),window.removeEventListener("pointerup",this.handlePointerUp),this.controls.dispose()}}class wM{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const n=this._partials;let a=0;for(let i=0;i0){for(o=e[--n];n>0&&(a=o,i=e[--n],o=a+i,r=i-(o-a),!r););n>0&&(r<0&&e[n-1]<0||r>0&&e[n-1]>0)&&(i=r*2,a=o+i,i==a-o&&(o=a))}return o}}function*bM(t){for(const e of t)yield*qd(e)}function fp(t){return Array.from(bM(t))}var Re=1e-6,TM=1e-12,ee=Math.PI,pn=ee/2,jf=ee/4,Xn=ee*2,Pn=180/ee,ut=ee/180,He=Math.abs,hp=Math.atan,Aa=Math.atan2,et=Math.cos,CM=Math.exp,AM=Math.log,tt=Math.sin,xM=Math.sign||function(t){return t>0?1:t<0?-1:0},Nr=Math.sqrt,_M=Math.tan;function MM(t){return t>1?0:t<-1?ee:Math.acos(t)}function xa(t){return t>1?pn:t<-1?-pn:Math.asin(t)}function ea(){}function tr(t,e){t&&Yf.hasOwnProperty(t.type)&&Yf[t.type](t,e)}var zf={Feature:function(t,e){tr(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,a=-1,i=n.length;++aee&&(t-=Math.round(t/Xn)*Xn),[t,e]}Cl.invert=Cl;function mp(t,e,n){return(t%=Xn)?e||n?Tl(Vf(t),Hf(e,n)):Vf(t):e||n?Hf(e,n):Cl}function Wf(t){return function(e,n){return e+=t,He(e)>ee&&(e-=Math.round(e/Xn)*Xn),[e,n]}}function Vf(t){var e=Wf(t);return e.invert=Wf(-t),e}function Hf(t,e){var n=et(t),a=tt(t),i=et(e),r=tt(e);function o(s,u){var m=et(u),h=et(s)*m,p=tt(s)*m,g=tt(u),b=g*n+h*a;return[Aa(p*i-b*r,h*n-g*a),xa(b*i+p*r)]}return o.invert=function(s,u){var m=et(u),h=et(s)*m,p=tt(s)*m,g=tt(u),b=g*i-p*r;return[Aa(p*i+g*r,h*n+b*a),xa(b*n-h*a)]},o}function kM(t){t=mp(t[0]*ut,t[1]*ut,t.length>2?t[2]*ut:0);function e(n){return n=t(n[0]*ut,n[1]*ut),n[0]*=Pn,n[1]*=Pn,n}return e.invert=function(n){return n=t.invert(n[0]*ut,n[1]*ut),n[0]*=Pn,n[1]*=Pn,n},e}function EM(t,e,n,a,i,r){if(n){var o=et(e),s=tt(e),u=a*n;i==null?(i=e+a*Xn,r=e-u/2):(i=Kf(o,i),r=Kf(o,r),(a>0?ir)&&(i+=a*Xn));for(var m,h=i;a>0?h>r:h1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function Gi(t,e){return He(t[0]-e[0])=0;--s)i.point((p=h[s])[0],p[1]);else a(g.x,g.p.x,-1,i);g=g.p}g=g.o,h=g.z,b=!b}while(!g.v);i.lineEnd()}}}function qf(t){if(e=t.length){for(var e,n=0,a=t[0],i;++n=0?1:-1,p3=c3*$2,y3=p3>ee,z3=K*q2;if(u.add(Aa(z3*c3*tt(p3),e2*K2+z3*et(p3))),o+=y3?$2+c3*Xn:$2,y3^F>=n^A2>=n){var S3=nr(Y8(b),Y8(v2));bl(S3);var I3=nr(r,S3);bl(I3);var A3=(y3^$2>=0?-1:1)*xa(I3[2]);(a>A3||a===A3&&(S3[0]||S3[1]))&&(s+=y3^$2>=0?1:-1)}}return(o<-Re||o0){for(u||(i.polygonStart(),u=!0),i.lineStart(),q2=0;q2<$2;++q2)i.point((p3=c3[q2])[0],p3[1]);i.lineEnd()}return}K2>1&&A2&2&&_2.push(_2.pop().concat(_2.shift())),h.push(_2.filter(RM))}}return g}}function RM(t){return t.length>1}function LM(t,e){return((t=t.x)[0]<0?t[1]-pn-Re:pn-t[1])-((e=e.x)[0]<0?e[1]-pn-Re:pn-e[1])}const Jf=yp(function(){return!0},IM,BM,[-ee,-pn]);function IM(t){var e=NaN,n=NaN,a=NaN,i;return{lineStart:function(){t.lineStart(),i=1},point:function(r,o){var s=r>0?ee:-ee,u=He(r-e);He(u-ee)0?pn:-pn),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(r,n),i=0):a!==s&&u>=ee&&(He(e-a)Re?hp((tt(e)*(r=et(a))*tt(n)-tt(a)*(i=et(e))*tt(t))/(i*r*o)):(e+a)/2}function BM(t,e,n,a){var i;if(t==null)i=n*pn,a.point(-ee,i),a.point(0,i),a.point(ee,i),a.point(ee,0),a.point(ee,-i),a.point(0,-i),a.point(-ee,-i),a.point(-ee,0),a.point(-ee,i);else if(He(t[0]-e[0])>Re){var r=t[0]0,i=He(e)>Re;function r(h,p,g,b){EM(b,t,n,g,h,p)}function o(h,p){return et(h)*et(p)>e}function s(h){var p,g,b,F,H;return{lineStart:function(){F=b=!1,H=1},point:function(K,e2){var p2=[K,e2],v2,A2=o(K,e2),_2=a?A2?0:m(K,e2):A2?m(K+(K<0?ee:-ee),e2):0;if(!p&&(F=b=A2)&&h.lineStart(),A2!==b&&(v2=u(p,p2),(!v2||Gi(p,v2)||Gi(p2,v2))&&(p2[2]=1)),A2!==b)H=0,A2?(h.lineStart(),v2=u(p2,p),h.point(v2[0],v2[1])):(v2=u(p,p2),h.point(v2[0],v2[1],2),h.lineEnd()),p=v2;else if(i&&p&&a^A2){var q2;!(_2&g)&&(q2=u(p2,p,!0))&&(H=0,a?(h.lineStart(),h.point(q2[0][0],q2[0][1]),h.point(q2[1][0],q2[1][1]),h.lineEnd()):(h.point(q2[1][0],q2[1][1]),h.lineEnd(),h.lineStart(),h.point(q2[0][0],q2[0][1],3)))}A2&&(!p||!Gi(p,p2))&&h.point(p2[0],p2[1]),p=p2,b=A2,g=_2},lineEnd:function(){b&&h.lineEnd(),p=null},clean:function(){return H|(F&&b)<<1}}}function u(h,p,g){var b=Y8(h),F=Y8(p),H=[1,0,0],K=nr(b,F),e2=li(K,K),p2=K[0],v2=e2-p2*p2;if(!v2)return!g&&h;var A2=e*e2/v2,_2=-e*p2/v2,q2=nr(H,K),K2=ui(H,A2),$2=ui(K,_2);Ps(K2,$2);var c3=q2,p3=li(K2,c3),y3=li(c3,c3),z3=p3*p3-y3*(li(K2,K2)-1);if(!(z3<0)){var S3=Nr(z3),I3=ui(c3,(-p3-S3)/y3);if(Ps(I3,K2),I3=wl(I3),!g)return I3;var A3=h[0],a1=p[0],C1=h[1],y1=p[1],S1;a10^I3[1]<(He(I3[0]-A3)ee^(A3<=I3[0]&&I3[0]<=a1)){var o0=ui(c3,(-p3+S3)/y3);return Ps(o0,K2),[I3,wl(o0)]}}}function m(h,p){var g=a?t:ee-t,b=0;return h<-g?b|=1:h>g&&(b|=2),p<-g?b|=4:p>g&&(b|=8),b}return yp(o,s,r,a?[0,-t]:[-ee,t-ee])}function GM(t,e,n,a,i,r){var o=t[0],s=t[1],u=e[0],m=e[1],h=0,p=1,g=u-o,b=m-s,F;if(F=n-o,!(!g&&F>0)){if(F/=g,g<0){if(F0){if(F>p)return;F>h&&(h=F)}if(F=i-o,!(!g&&F<0)){if(F/=g,g<0){if(F>p)return;F>h&&(h=F)}else if(g>0){if(F0)){if(F/=b,b<0){if(F0){if(F>p)return;F>h&&(h=F)}if(F=r-s,!(!b&&F<0)){if(F/=b,b<0){if(F>p)return;F>h&&(h=F)}else if(b>0){if(F0&&(t[0]=o+h*g,t[1]=s+h*b),p<1&&(e[0]=o+p*g,e[1]=s+p*b),!0}}}}}var ta=1e9,di=-ta;function UM(t,e,n,a){function i(m,h){return t<=m&&m<=n&&e<=h&&h<=a}function r(m,h,p,g){var b=0,F=0;if(m==null||(b=o(m,p))!==(F=o(h,p))||u(m,h)<0^p>0)do g.point(b===0||b===3?t:n,b>1?a:e);while((b=(b+p+4)%4)!==F);else g.point(h[0],h[1])}function o(m,h){return He(m[0]-t)0?0:3:He(m[0]-n)0?2:1:He(m[1]-e)0?1:0:h>0?3:2}function s(m,h){return u(m.x,h.x)}function u(m,h){var p=o(m,1),g=o(h,1);return p!==g?p-g:p===0?h[1]-m[1]:p===1?m[0]-h[0]:p===2?m[1]-h[1]:h[0]-m[0]}return function(m){var h=m,p=pp(),g,b,F,H,K,e2,p2,v2,A2,_2,q2,K2={point:$2,lineStart:z3,lineEnd:S3,polygonStart:p3,polygonEnd:y3};function $2(A3,a1){i(A3,a1)&&h.point(A3,a1)}function c3(){for(var A3=0,a1=0,C1=b.length;a1a&&(G1-t0)*(a-o0)>(Q1-o0)*(t-t0)&&++A3:Q1<=a&&(G1-t0)*(a-o0)<(Q1-o0)*(t-t0)&&--A3;return A3}function p3(){h=p,g=[],b=[],q2=!0}function y3(){var A3=c3(),a1=q2&&A3,C1=(g=fp(g)).length;(a1||C1)&&(m.polygonStart(),a1&&(m.lineStart(),r(null,null,1,m),m.lineEnd()),C1&&gp(g,s,A3,r,m),m.polygonEnd()),h=m,g=b=F=null}function z3(){K2.point=I3,b&&b.push(F=[]),_2=!0,A2=!1,p2=v2=NaN}function S3(){g&&(I3(H,K),e2&&A2&&p.rejoin(),g.push(p.result())),K2.point=$2,A2&&h.lineEnd()}function I3(A3,a1){var C1=i(A3,a1);if(b&&F.push([A3,a1]),_2)H=A3,K=a1,e2=C1,_2=!1,C1&&(h.lineStart(),h.point(A3,a1));else if(C1&&A2)h.point(A3,a1);else{var y1=[p2=Math.max(di,Math.min(ta,p2)),v2=Math.max(di,Math.min(ta,v2))],S1=[A3=Math.max(di,Math.min(ta,A3)),a1=Math.max(di,Math.min(ta,a1))];GM(y1,S1,t,e,n,a)?(A2||(h.lineStart(),h.point(y1[0],y1[1])),h.point(S1[0],S1[1]),C1||h.lineEnd(),q2=!1):C1&&(h.lineStart(),h.point(A3,a1),q2=!1)}p2=A3,v2=a1,A2=C1}return K2}}const Qf=t=>t;var $8=1/0,ar=$8,_a=-$8,ir=_a,OM={point:jM,lineStart:ea,lineEnd:ea,polygonStart:ea,polygonEnd:ea,result:function(){var t=[[$8,ar],[_a,ir]];return _a=ir=-(ar=$8=1/0),t}};function jM(t,e){t<$8&&($8=t),t>_a&&(_a=t),eir&&(ir=e)}const Xf=OM;function ru(t){return function(e){var n=new Al;for(var a in t)n[a]=t[a];return n.stream=e,n}}function Al(){}Al.prototype={constructor:Al,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function ou(t,e,n){var a=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),a!=null&&t.clipExtent(null),PM(n,t.stream(Xf)),e(Xf.result()),a!=null&&t.clipExtent(a),t}function vp(t,e,n){return ou(t,function(a){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],o=Math.min(i/(a[1][0]-a[0][0]),r/(a[1][1]-a[0][1])),s=+e[0][0]+(i-o*(a[1][0]+a[0][0]))/2,u=+e[0][1]+(r-o*(a[1][1]+a[0][1]))/2;t.scale(150*o).translate([s,u])},n)}function zM(t,e,n){return vp(t,[[0,0],e],n)}function YM(t,e,n){return ou(t,function(a){var i=+e,r=i/(a[1][0]-a[0][0]),o=(i-r*(a[1][0]+a[0][0]))/2,s=-r*a[0][1];t.scale(150*r).translate([o,s])},n)}function $M(t,e,n){return ou(t,function(a){var i=+e,r=i/(a[1][1]-a[0][1]),o=-r*a[0][0],s=(i-r*(a[1][1]+a[0][1]))/2;t.scale(150*r).translate([o,s])},n)}var Zf=16,WM=et(30*ut);function eh(t,e){return+e?HM(t,e):VM(t)}function VM(t){return ru({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function HM(t,e){function n(a,i,r,o,s,u,m,h,p,g,b,F,H,K){var e2=m-a,p2=h-i,v2=e2*e2+p2*p2;if(v2>4*e&&H--){var A2=o+g,_2=s+b,q2=u+F,K2=Nr(A2*A2+_2*_2+q2*q2),$2=xa(q2/=K2),c3=He(He(q2)-1)e||He((e2*S3+p2*I3)/v2-.5)>.3||o*g+s*b+u*F2?A3[2]%360*ut:0,S3()):[s*Pn,u*Pn,m*Pn]},y3.angle=function(A3){return arguments.length?(p=A3%360*ut,S3()):p*Pn},y3.reflectX=function(A3){return arguments.length?(g=A3?-1:1,S3()):g<0},y3.reflectY=function(A3){return arguments.length?(b=A3?-1:1,S3()):b<0},y3.precision=function(A3){return arguments.length?(q2=eh(K2,_2=A3*A3),I3()):Nr(_2)},y3.fitExtent=function(A3,a1){return vp(y3,A3,a1)},y3.fitSize=function(A3,a1){return zM(y3,A3,a1)},y3.fitWidth=function(A3,a1){return YM(y3,A3,a1)},y3.fitHeight=function(A3,a1){return $M(y3,A3,a1)};function S3(){var A3=th(n,0,0,g,b,p).apply(null,e(r,o)),a1=th(n,a-A3[0],i-A3[1],g,b,p);return h=mp(s,u,m),K2=Tl(e,a1),$2=Tl(h,K2),q2=eh(K2,_2),I3()}function I3(){return c3=p3=null,y3}return function(){return e=t.apply(this,arguments),y3.invert=e.invert&&z3,S3()}}function su(t,e){return[t,AM(_M((pn+e)/2))]}su.invert=function(t,e){return[t,2*hp(CM(e))-pn]};function D6(){return ZM(su).scale(961/Xn)}function ZM(t){var e=QM(t),n=e.center,a=e.scale,i=e.translate,r=e.clipExtent,o=null,s,u,m;e.scale=function(p){return arguments.length?(a(p),h()):a()},e.translate=function(p){return arguments.length?(i(p),h()):i()},e.center=function(p){return arguments.length?(n(p),h()):n()},e.clipExtent=function(p){return arguments.length?(p==null?o=s=u=m=null:(o=+p[0][0],s=+p[0][1],u=+p[1][0],m=+p[1][1]),h()):o==null?null:[[o,s],[u,m]]};function h(){var p=ee*a(),g=e(kM(e.rotate()).invert([0,0]));return r(o==null?[[g[0]-p,g[1]-p],[g[0]+p,g[1]+p]]:t===su?[[Math.max(g[0]-p,o),s],[Math.min(g[0]+p,u),m]]:[[o,Math.max(g[1]-p,s)],[u,Math.min(g[1]+p,m)]])}return h()}class eP extends Er{constructor(e,n={}){var i,r;super();let a={isOrthographic:!1};this.config=Object.assign({},a,n),this.canvas=e,this.scene=new vA,this.sizes=new E_(this),this.time=new N_(this),this.camera=new SM(this,{isOrthographic:this.config.isOrthographic}),this.renderer=new vM(this),this.handleControlsChange=()=>{var o,s,u;this.renderer.update(),(s=(o=this.label3d)==null?void 0:o.update)==null||s.call(o),(u=this.updateTownLabelScale)==null||u.call(this)},(r=(i=this.camera.controls)==null?void 0:i.addEventListener)==null||r.call(i,"change",this.handleControlsChange),this.sizes.on("resize",()=>{this.resize()}),this.time.on("tick",o=>{this.update(o)})}setAxesHelper(e=250){if(!e)return!1;let n=new SA(e);this.scene.add(n)}resize(){this.camera.resize(),this.renderer.resize()}update(e){this.camera.update(e),this.renderer.update(e)}destroy(){var e,n,a,i;(n=(e=this.camera.controls)==null?void 0:e.removeEventListener)==null||n.call(e,"change",this.handleControlsChange),this.sizes.destroy(),this.time.destroy(),this.camera.destroy(),this.renderer.destroy(),this.scene.traverse(r=>{if(r instanceof We){r.geometry.dispose();for(const o in r.material){const s=r.material[o];s&&typeof s.dispose=="function"&&s.dispose()}}}),(i=(a=this.canvas)==null?void 0:a.parentNode)==null||i.removeChild(this.canvas)}}class tP{constructor({material:e,time:n,size:a,diffuseColor:i,diffuseSpeed:r,diffuseWidth:o,callback:s=()=>{}}){this.time=n,this.pointShader=null,this.callback=s;let u={size:100,diffuseSpeed:15,diffuseColor:9345950,diffuseWidth:10};this.options=Object.assign({},u,{material:e,size:a,diffuseColor:i,diffuseSpeed:r,diffuseWidth:o}),this.init()}init(){let{material:e,size:n,diffuseColor:a,diffuseSpeed:i,diffuseWidth:r}=this.options,o=n/i;e.onBeforeCompile=s=>{this.pointShader=s,this.callback(s,o),s.uniforms=J2(L2({},s.uniforms),{uTime:{value:0},uSpeed:{value:i},uWidth:{value:r},uColor:{value:new Xe(a)}}),s.vertexShader=s.vertexShader.replace("void main() {",` + varying vec3 vPosition; + void main(){ + vPosition = position; + `),s.fragmentShader=s.fragmentShader.replace("void main() {",` + uniform float uTime; + uniform float uSpeed; + uniform float uWidth; + uniform vec3 uColor; + varying vec3 vPosition; + void main(){ + `),s.fragmentShader=s.fragmentShader.replace("#include ",` + #ifdef OPAQUE + diffuseColor.a = 1.0; + #endif + + #ifdef USE_TRANSMISSION + diffuseColor.a *= material.transmissionAlpha; + #endif + + float r = uTime * uSpeed; + + float w = uWidth; + // if(w>uWidth){ + // w = uWidth; + // }else{ + // w = uTime * 1.5; + // } + + vec2 center = vec2(0.0, 0.0); + + float rDistance = distance(vPosition.xy, center); + + if(rDistance > r && rDistance < r + 2.0 * w) { + float per = 0.0; + if(rDistance < r + w) { + float p = smoothstep(0.0,1.0,(rDistance - r) / w); + p*=p; + outgoingLight = mix(outgoingLight, uColor, p); + } else { + + float p = smoothstep(0.0,1.0,(rDistance - r - w) / w); + + outgoingLight = mix(uColor, outgoingLight, p); + } + gl_FragColor = vec4(outgoingLight, diffuseColor.a); + } else { + gl_FragColor = vec4(outgoingLight, 0.0); + } + `)}}}class nP{constructor({scene:e,time:n},a){this.scene=e,this.time=n,this.instance=null;let i={position:new c0(0,0,0),gridSize:100,gridDivision:20,gridColor:2635578,shapeSize:1,shapeColor:9345950,pointSize:.2,pointColor:2635578,pointLayout:{row:200,col:200},pointBlending:wA};this.options=Object.assign({},i,a),this.init()}init(){let e=new Ae;e.name="Grid";let n=this.createGridHelp(),a=this.createShapes(),i=this.createPoint();e.add(n,a,i),e.position.copy(this.options.position),this.instance=e,this.scene.add(e)}createShapes(){let{gridSize:e,gridDivision:n,shapeSize:a,shapeColor:i}=this.options,r=e/n,o=e/2,s=new ce({color:i,side:vt}),u=[];for(let p=0;p{this.update()}),this.sizes.on("resize",()=>{this.resize()})}create(e="",n="",a=!1){let i=document.createElement("div");i.innerHTML=e,i.className=n,i.style.visibility="hidden",i.style.position="absolute",n||(i.style.padding="10px",i.style.color="#fff",i.style.fontSize="12px",i.style.textAlign="center",i.style.background="rgba(0,0,0,0.6)",i.style.borderRadius="4px");let r=null;return a?r=new iP(i):r=new Sp(i),r.init=(o,s)=>{r.element.innerHTML=o,r.element.style.visibility="visible",r.position.copy(s)},r.hide=()=>{r.element.style.visibility="hidden"},r.scaleHide=()=>{r.element.classList.add("scale-hidden")},r.show=()=>{r.element.style.visibility="visible",r.element.classList.remove("scale-hidden")},r.setParent=o=>{this.parent=o,o.add(r)},r.remove=()=>{this.parent.remove(r)},r}setLabelStyle(e,n=.1,a="x",i=Math.PI/2,r="none"){e.element.style.pointerEvents=r,e.scale.set(n,n,n),e.rotation[a]=i}setRenderLevel(e){this.css3dRender.domElement.style.zIndex=e}update(){this.css3dRender.render(this.scene,this.camera.instance)}destroy(){if(this.css3dRender){let e=this.css3dRender.domElement;e.parentNode.removeChild(e)}}resize(){let{width:e,height:n}=this.sizes;this.css3dRender.setSize(e,n)}}class ih{constructor({time:e},n){this.time=e,this.options=Object.assign({},{width:10,scale:1,position:new c0(0,0,0),needRotate:!1,rotateSpeed:.001,material:new ce({transparent:!0,opacity:1,depthTest:!0})},n);let a=new d5(this.options.width,this.options.width),i=new We(a,this.options.material);i.position.copy(this.options.position),i.scale.set(this.options.scale,this.options.scale,this.options.scale),this.instance=i}setParent(e){e.add(this.instance),this.time.on("tick",()=>{this.update()})}update(){this.options.needRotate&&(this.instance.rotation.z+=this.options.rotateSpeed)}}class rr{constructor({time:e},n={}){this.instance=null,this.time=e,this.enable=!0,this.config=Object.assign({num:100,range:500,speed:.01,renderOrder:99,dir:"up",material:new xr({map:rr.createTexture(),size:20,color:16777215,transparent:!0,opacity:1,depthTest:!1,vertexColors:!0,blending:At,sizeAttenuation:!0})},n),this.create()}create(){const{range:e,speed:n,dir:a,material:i,num:r,renderOrder:o}=this.config,s=[],u=[],m=[];for(let p=0;pa/2&&o===1&&(g=-a/2),g<-a/2&&o==-1&&(g=a/2),s.setX(h,p),s.setZ(h,g),u.setX(h,b),u.setY(h,F)}s.needsUpdate=!0,u.needsUpdate=!0}setParent(e){e.add(this.instance),this.time.on("tick",(n,a)=>{this.enable&&this.update(n,a)})}}class j4{constructor({},e={}){this.mapGroup=new Ae,this.coordinates=[],this.config=Object.assign({position:new c0(0,0,0),geoProjectionCenter:new lt(0,0),geoProjectionScale:120,data:"",renderOrder:1,merge:!1,material:new ce({color:1582651,transparent:!0,opacity:1})},e),this.mapGroup.position.copy(this.config.position);let n=iu(this.config.data);this.create(n)}geoProjection(e){return D6().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){let{merge:n}=this.config,a=[];if(e.features.forEach(i=>{const r=new Ba;let{name:o,center:s=[],centroid:u=[]}=i.properties;this.coordinates.push({name:o,center:s,centroid:u}),r.userData.name=o,i.geometry.coordinates.forEach(m=>{m.forEach(h=>{const p=new wa;for(let b=0;b{var m,h,p;const a=new Ba;let{name:i,center:r=[],centroid:o=[]}=n.properties;this.coordinates.push({name:i,center:r,centroid:o});const s={depth:this.config.depth,bevelEnabled:(m=this.config.bevelEnabled)!=null?m:!0,bevelSegments:(h=this.config.bevelSegments)!=null?h:1,bevelThickness:(p=this.config.bevelThickness)!=null?p:.1};let u=[this.config.topFaceMaterial,this.config.sideMaterial];n.geometry.coordinates.forEach(g=>{g.forEach((b,F)=>{const H=new wa;for(let p2=0;p2 + #include + #include + #include + #include + + uniform float linewidth; + uniform vec2 resolution; + + attribute vec3 instanceStart; + attribute vec3 instanceEnd; + + attribute vec3 instanceColorStart; + attribute vec3 instanceColorEnd; + + #ifdef WORLD_UNITS + + varying vec4 worldPos; + varying vec3 worldStart; + varying vec3 worldEnd; + + #ifdef USE_DASH + + varying vec2 vUv; + + #endif + + #else + + varying vec2 vUv; + + #endif + + #ifdef USE_DASH + + uniform float dashScale; + attribute float instanceDistanceStart; + attribute float instanceDistanceEnd; + varying float vLineDistance; + + #endif + + void trimSegment( const in vec4 start, inout vec4 end ) { + + // trim end segment so it terminates between the camera plane and the near plane + + // conservative estimate of the near plane + float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column + float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column + float nearEstimate = - 0.5 * b / a; + + float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); + + end.xyz = mix( start.xyz, end.xyz, alpha ); + + } + + void main() { + + #ifdef USE_COLOR + + vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; + + #endif + + #ifdef USE_DASH + + vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; + vUv = uv; + + #endif + + float aspect = resolution.x / resolution.y; + + // camera space + vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); + vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); + + #ifdef WORLD_UNITS + + worldStart = start.xyz; + worldEnd = end.xyz; + + #else + + vUv = uv; + + #endif + + // special case for perspective projection, and segments that terminate either in, or behind, the camera plane + // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space + // but we need to perform ndc-space calculations in the shader, so we must address this issue directly + // perhaps there is a more elegant solution -- WestLangley + + bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column + + if ( perspective ) { + + if ( start.z < 0.0 && end.z >= 0.0 ) { + + trimSegment( start, end ); + + } else if ( end.z < 0.0 && start.z >= 0.0 ) { + + trimSegment( end, start ); + + } + + } + + // clip space + vec4 clipStart = projectionMatrix * start; + vec4 clipEnd = projectionMatrix * end; + + // ndc space + vec3 ndcStart = clipStart.xyz / clipStart.w; + vec3 ndcEnd = clipEnd.xyz / clipEnd.w; + + // direction + vec2 dir = ndcEnd.xy - ndcStart.xy; + + // account for clip-space aspect ratio + dir.x *= aspect; + dir = normalize( dir ); + + #ifdef WORLD_UNITS + + vec3 worldDir = normalize( end.xyz - start.xyz ); + vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); + vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); + vec3 worldFwd = cross( worldDir, worldUp ); + worldPos = position.y < 0.5 ? start: end; + + // height offset + float hw = linewidth * 0.5; + worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; + + // don't extend the line if we're rendering dashes because we + // won't be rendering the endcaps + #ifndef USE_DASH + + // cap extension + worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; + + // add width to the box + worldPos.xyz += worldFwd * hw; + + // endcaps + if ( position.y > 1.0 || position.y < 0.0 ) { + + worldPos.xyz -= worldFwd * 2.0 * hw; + + } + + #endif + + // project the worldpos + vec4 clip = projectionMatrix * worldPos; + + // shift the depth of the projected points so the line + // segments overlap neatly + vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; + clip.z = clipPose.z * clip.w; + + #else + + vec2 offset = vec2( dir.y, - dir.x ); + // undo aspect ratio adjustment + dir.x /= aspect; + offset.x /= aspect; + + // sign flip + if ( position.x < 0.0 ) offset *= - 1.0; + + // endcaps + if ( position.y < 0.0 ) { + + offset += - dir; + + } else if ( position.y > 1.0 ) { + + offset += dir; + + } + + // adjust for linewidth + offset *= linewidth; + + // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... + offset /= resolution.y; + + // select end + vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; + + // back to clip space + offset *= clip.w; + + clip.xy += offset; + + #endif + + gl_Position = clip; + + vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation + + #include + #include + #include + + } + `,fragmentShader:` + uniform vec3 diffuse; + uniform float opacity; + uniform float linewidth; + + #ifdef USE_DASH + + uniform float dashOffset; + uniform float dashSize; + uniform float gapSize; + + #endif + + varying float vLineDistance; + + #ifdef WORLD_UNITS + + varying vec4 worldPos; + varying vec3 worldStart; + varying vec3 worldEnd; + + #ifdef USE_DASH + + varying vec2 vUv; + + #endif + + #else + + varying vec2 vUv; + + #endif + + #include + #include + #include + #include + #include + + vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { + + float mua; + float mub; + + vec3 p13 = p1 - p3; + vec3 p43 = p4 - p3; + + vec3 p21 = p2 - p1; + + float d1343 = dot( p13, p43 ); + float d4321 = dot( p43, p21 ); + float d1321 = dot( p13, p21 ); + float d4343 = dot( p43, p43 ); + float d2121 = dot( p21, p21 ); + + float denom = d2121 * d4343 - d4321 * d4321; + + float numer = d1343 * d4321 - d1321 * d4343; + + mua = numer / denom; + mua = clamp( mua, 0.0, 1.0 ); + mub = ( d1343 + d4321 * ( mua ) ) / d4343; + mub = clamp( mub, 0.0, 1.0 ); + + return vec2( mua, mub ); + + } + + void main() { + + #include + + #ifdef USE_DASH + + if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps + + if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX + + #endif + + float alpha = opacity; + + #ifdef WORLD_UNITS + + // Find the closest points on the view ray and the line segment + vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; + vec3 lineDir = worldEnd - worldStart; + vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); + + vec3 p1 = worldStart + lineDir * params.x; + vec3 p2 = rayEnd * params.y; + vec3 delta = p1 - p2; + float len = length( delta ); + float norm = len / linewidth; + + #ifndef USE_DASH + + #ifdef USE_ALPHA_TO_COVERAGE + + float dnorm = fwidth( norm ); + alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); + + #else + + if ( norm > 0.5 ) { + + discard; + + } + + #endif + + #endif + + #else + + #ifdef USE_ALPHA_TO_COVERAGE + + // artifacts appear on some hardware if a derivative is taken within a conditional + float a = vUv.x; + float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; + float len2 = a * a + b * b; + float dlen = fwidth( len2 ); + + if ( abs( vUv.y ) > 1.0 ) { + + alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); + + } + + #else + + if ( abs( vUv.y ) > 1.0 ) { + + float a = vUv.x; + float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; + float len2 = a * a + b * b; + + if ( len2 > 1.0 ) discard; + + } + + #endif + + #endif + + vec4 diffuseColor = vec4( diffuse, alpha ); + + #include + #include + + gl_FragColor = vec4( diffuseColor.rgb, alpha ); + + #include + #include + #include + #include + + } + `};class bp extends xA{constructor(e){super({type:"LineMaterial",uniforms:Jm.clone(Ri.line.uniforms),vertexShader:Ri.line.vertexShader,fragmentShader:Ri.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1))}}const sh=new c0,lh=new c0,Tt=new Mr,Ct=new Mr,N6=new Mr,Es=new c0,Ns=new N9,_t=new _A,uh=new c0,hi=new _r,mi=new eu,R6=new Mr;let G6,E9;function ch(t,e,n){return R6.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),R6.multiplyScalar(1/R6.w),R6.x=E9/n.width,R6.y=E9/n.height,R6.applyMatrix4(t.projectionMatrixInverse),R6.multiplyScalar(1/R6.w),Math.abs(Math.max(R6.x,R6.y))}function lP(t,e){const n=t.matrixWorld,a=t.geometry,i=a.attributes.instanceStart,r=a.attributes.instanceEnd,o=Math.min(a.instanceCount,i.count);for(let s=0,u=o;sp&&Ct.z>p)continue;if(Tt.z>p){const v2=Tt.z-Ct.z,A2=(Tt.z-p)/v2;Tt.lerp(Ct,A2)}else if(Ct.z>p){const v2=Ct.z-Tt.z,A2=(Ct.z-p)/v2;Ct.lerp(Tt,A2)}Tt.applyMatrix4(a),Ct.applyMatrix4(a),Tt.multiplyScalar(1/Tt.w),Ct.multiplyScalar(1/Ct.w),Tt.x*=r.x/2,Tt.y*=r.y/2,Ct.x*=r.x/2,Ct.y*=r.y/2,_t.start.copy(Tt),_t.start.z=0,_t.end.copy(Ct),_t.end.z=0;const H=_t.closestPointToPointParameter(Es,!0);_t.at(H,uh);const K=Hm.lerp(Tt.z,Ct.z,H),e2=K>=-1&&K<=1,p2=Es.distanceTo(uh){const h=[];let p=null;n==="Line2"?(m[0].forEach(g=>{const[b,F]=this.geoProjection(g);h.push(b,-F,0)}),p=this.createLine2(h)):n==="Line3"?(m[0].forEach(g=>{const[b,F]=this.geoProjection(g);h.push(new c0(b,-F,0))}),p=this.createLine3(h)):m[0].forEach(g=>{const[b,F]=this.geoProjection(g);h.push(new c0(b,-F,0)),p=this.createLine(h)}),u.add(p)}),r.add(u))}return r}createLine3(e){const n=this.config.tubeRadius,a=256*10,i=4,r=!1,{material:o,renderOrder:s}=this.config,u=new Qm(e),m=new Xm(u,a,n,i,r),h=new We(m,o);return h.name="mapLine3",h.renderOrder=s,h}createLine2(e){const{material:n,renderOrder:a}=this.config,i=new Tp;i.setPositions(e);let r=new dP(i,n);return r.name="mapLine2",r.renderOrder=a,r.computeLineDistances(),r}createLine(e){const{material:n,renderOrder:a,type:i}=this.config,r=new d6;r.setFromPoints(e);let o=new Hi(r,n);return o.renderOrder=a,o.name="mapLine",o}setParent(e){e.add(this.lineGroup)}}class pi{constructor(e,n){this.shader=null,this.config=Object.assign({uColor1:2781042,uColor2:860197,size:15,dir:"x"},n),this.init(e)}init(e){let{uColor1:n,uColor2:a,dir:i,size:r}=this.config,o={x:1,y:2,z:3};e.onBeforeCompile=s=>{this.shader=s,s.uniforms=J2(L2({},s.uniforms),{uColor1:{value:new Xe(n)},uColor2:{value:new Xe(a)},uDir:{value:o[i]},uSize:{value:r}}),s.vertexShader=s.vertexShader.replace("void main() {",` + attribute float alpha; + varying vec3 vPosition; + varying float vAlpha; + void main() { + vAlpha = alpha; + vPosition = position; + `),s.fragmentShader=s.fragmentShader.replace("void main() {",` + varying vec3 vPosition; + varying float vAlpha; + uniform vec3 uColor1; + uniform vec3 uColor2; + uniform float uDir; + uniform float uSize; + + void main() { + `),s.fragmentShader=s.fragmentShader.replace("#include ",` + #ifdef OPAQUE + diffuseColor.a = 1.0; + #endif + + // https://github.com/mrdoob/three.js/pull/22425 + #ifdef USE_TRANSMISSION + diffuseColor.a *= transmissionAlpha + 0.1; + #endif + // vec3 gradient = mix(uColor1, uColor2, vPosition.x / 15.0); + vec3 gradient = vec3(0.0,0.0,0.0); + if(uDir==1.0){ + gradient = mix(uColor1, uColor2, vPosition.x/ uSize); + }else if(uDir==2.0){ + gradient = mix(uColor1, uColor2, vPosition.z/ uSize); + }else if(uDir==3.0){ + gradient = mix(uColor1, uColor2, vPosition.y/ uSize); + } + outgoingLight = outgoingLight * gradient; + + + gl_FragColor = vec4( outgoingLight, diffuseColor.a ); + `)}}}const fP={key:0,class:"business-panel-empty"},hP={key:2,class:"business-metrics"},mP=["data-chart-tooltip"],pP={key:3,class:"business-icon-metrics"},gP=["data-chart-tooltip"],yP={class:"business-icon-metric-copy"},vP={key:0},SP={key:4,class:"business-spotlight"},wP=["data-chart-tooltip"],bP={class:"business-spotlight-side"},TP=["data-chart-tooltip"],CP={key:0},AP={key:1,class:"business-panel-empty"},xP={key:0,class:"business-ring-visual"},_P={class:"business-ring-chart",viewBox:"0 0 160 160",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},MP=["stroke","stroke-dasharray","stroke-dashoffset","data-chart-tooltip"],PP={class:"business-ring-inner"},kP={key:1,class:"business-donut-visual"},EP={class:"business-three-pie-center"},NP={class:"business-donut-legend"},RP=["data-chart-tooltip"],LP={key:1,class:"business-panel-empty"},IP={class:"business-rose-visual"},FP={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},BP={class:"business-rose-guides"},DP=["x1","y1","x2","y2","stroke"],GP={class:"business-rose-segments"},UP=["d","fill","stroke","data-chart-tooltip"],OP={class:"business-rose-labels"},jP=["x","y","text-anchor"],zP={class:"business-donut-legend business-rose-legend"},YP=["data-chart-tooltip"],$P={key:1,class:"business-panel-empty"},WP={key:7,class:"business-structure"},VP={class:"business-structure-overview"},HP={class:"business-structure-band"},KP=["title","data-chart-tooltip"],qP={class:"business-structure-list"},JP=["data-chart-tooltip"],QP={key:1,class:"business-panel-empty"},XP={key:8,class:"business-capacity"},ZP=["data-chart-tooltip"],ek={class:"business-capacity-band"},tk=["title","data-chart-tooltip"],nk={class:"business-capacity-list"},ak=["data-chart-tooltip"],ik=["data-chart-tooltip"],rk={key:1,class:"business-panel-empty"},ok=["data-chart-tooltip"],sk={key:0,class:"business-bar-rank"},lk={class:"business-bar-name"},uk={class:"business-bar-track"},ck={key:0},dk={key:1},fk={key:0,class:"business-column-trend",viewBox:"0 0 320 90",preserveAspectRatio:"none","aria-hidden":"true"},hk=["points"],mk=["points"],pk=["cx","cy"],gk={key:1,class:"business-column-unit"},yk=["data-hover-value","title","data-chart-tooltip"],vk={class:"business-column-value"},Sk={key:0},wk={key:0,class:"business-project-search"},bk=["placeholder"],Tk={class:"business-project-frame"},Ck=["tabindex","onClick","onKeydown"],Ak=["title"],xk={key:0},_k={key:0},Mk=["onClick","onKeydown"],Pk={key:2},kk=["aria-label"],Ek={key:4},Nk={key:0,class:"business-project-empty"},Rk={key:12,class:"business-project-ledger"},Lk={class:"business-project-search"},Ik=["placeholder"],Fk={class:"business-project-ledger__summary"},Bk={class:"business-project-ledger__summary-main"},Dk={key:0,class:"business-project-ledger__pager"},Gk=["disabled"],Uk=["disabled"],Ok=["tabindex","onClick","onKeydown"],jk={class:"business-project-ledger__info"},zk=["title"],Yk=["title"],$k=["onClick","onKeydown"],Wk={key:1,class:"business-project-ledger__unlocated"},Vk={key:0,class:"business-project-empty"},Hk={key:13,class:"business-spec-grid"},Kk={class:"business-spec-grid__index"},qk=["title"],Jk={class:"business-spec-grid__count"},Qk={key:0},Xk={class:"business-spec-grid__specs"},Zk=["title"],eE={key:0},tE={key:0,class:"business-support-matrix__note"},nE={class:"business-support-matrix__head"},aE={key:0},iE={class:"business-support-matrix__body"},rE=["title"],oE=["title"],sE={class:"business-table-head"},lE={class:"business-table-body"},uE=["data-chart-tooltip"],cE={class:"business-table-name"},dE={class:"business-table-value"},fE={key:0},hE={class:"business-stack-legend"},mE={key:0,class:"business-stack-unit"},pE={class:"business-stack-chart"},gE=["data-hover-value","title","data-chart-tooltip"],yE={key:0,class:"business-stack-total"},vE={key:0},SE={class:"business-stack-track"},wE=["data-chart-tooltip"],bE={key:0,class:"business-column-unit business-peak-unit"},TE=["data-hover-value","title","data-chart-tooltip"],CE={key:0},AE={key:18,class:"business-line"},xE={viewBox:"0 0 320 86",preserveAspectRatio:"none","aria-hidden":"true"},_E=["points"],ME=["points"],PE=["cx","cy"],kE=["cx","cy","onMouseenter"],EE=["onMouseenter"],NE={key:0},RE=["data-chart-tooltip"],LE={class:"business-balance-gauge-head"},IE={class:"business-balance-gauge-ring"},FE={class:"business-balance-gauge-value"},BE={key:0},DE={class:"business-balance-gauge-name"},GE={key:0,class:"business-balance-gauge-extra"},UE=["data-chart-tooltip"],OE={class:"business-gauge-visual"},jE={viewBox:"0 0 152 96",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},zE=["stroke-dasharray"],YE={class:"business-gauge-value"},$E={key:0},WE={class:"business-gauge-name"},VE={key:0,class:"business-gauge-extra"},HE=["data-chart-tooltip"],KE={key:0},qE={class:"business-split-band"},JE=["data-chart-tooltip"],QE={class:"business-split-list"},XE=["data-chart-tooltip"],dh=3e3,cn={__name:"BusinessPanelRenderer",props:{panel:{type:Object,default:()=>({rows:[]})},compact:{type:Boolean,default:!1},columnLabelStandard:{type:Boolean,default:!1}},emits:["row-select"],setup(t,{emit:e}){const n=t,a=e,i=[h5.accentCyan,h5.accentMint,h5.accentWater,h5.accentOrange,"#16b6e8","#a8fbff"],r=l2(()=>{var B;return((B=n.panel)==null?void 0:B.type)||"rank"}),o=l2(()=>{var B;return(((B=n.panel)==null?void 0:B.rows)||[]).filter(f2=>f2==null?void 0:f2.name)}),s=l2(()=>o.value.map(B=>J2(L2({},B),{value:M0(B)})).filter(B=>B.value>0)),u=l2(()=>o.value.map(B=>M0(B)).filter(B=>B>0)),m=l2(()=>Math.max(...u.value,1)),h=l2(()=>u.value.reduce((B,f2)=>B+f2,0)),p=l2(()=>o.value.filter(B=>M0(B)>0)),g=l2(()=>{var B;return["raceBar","raceBarNoWrap","raceBarRelaxed","degradation"].includes((B=n.panel)==null?void 0:B.variant)}),b=l2(()=>r.value==="line"?o.value.filter(B=>(B==null?void 0:B.value)!==void 0&&(B==null?void 0:B.value)!==null&&(B==null?void 0:B.value)!==""):o.value.filter(B=>M0(B)>0)),F=l2(()=>b.value),H=l2(()=>r.value!=="column"?"":B3()),K=l2(()=>r.value!=="peak"?"":B3()),e2=l2(()=>o.value.filter(B=>M0(B)>0)),p2=l2(()=>{var B;return b.value.slice(0,((B=n.panel)==null?void 0:B.limit)||8)}),v2=l2(()=>{var B;return o.value.filter(f2=>(f2==null?void 0:f2.value)!==void 0&&(f2==null?void 0:f2.value)!==null&&(f2==null?void 0:f2.value)!=="").slice(0,((B=n.panel)==null?void 0:B.limit)||6)}),A2=l2(()=>{var B;return o.value.filter(f2=>(f2==null?void 0:f2.value)!==void 0&&(f2==null?void 0:f2.value)!==null&&(f2==null?void 0:f2.value)!=="").slice(0,((B=n.panel)==null?void 0:B.limit)||3)}),_2=l2(()=>{var B;return((B=n.panel)==null?void 0:B.segments)||[]}),q2=l2(()=>o.value.filter(B=>{var f2;return ve(B)>0||((f2=n.panel)==null?void 0:f2.showZero)===!0})),K2=l2(()=>Math.max(...q2.value.map(B=>ve(B)),1)),$2=t3(""),c3=t3(null),p3=[{key:"name",label:"项目名称",field:"name",width:"45%",className:"business-project-col-name"},{key:"year",label:"年份",field:"year",width:"13%",fallback:"未知",align:"right",className:"business-project-col-year"},{key:"category",label:"类型",field:"category",width:"20%",className:"business-project-col-category"},{key:"scale",label:"规模",field:"value",width:"22%",align:"right",strong:!0,unitField:"unit",className:"business-project-col-scale"}],y3=l2(()=>{var f2;return(Array.isArray((f2=n.panel)==null?void 0:f2.columns)&&n.panel.columns.length?n.panel.columns:p3).map((G2,J3)=>({key:G2.key||G2.field||`column-${J3}`,label:G2.label||G2.title||G2.name||"",field:G2.field||G2.dataIndex||G2.key,fields:G2.fields||[],width:G2.width,align:G2.align,strong:!!G2.strong,unit:G2.unit,unitField:G2.unitField,fallback:G2.fallback,format:G2.format,icon:G2.icon,action:G2.action,className:G2.className}))}),z3=l2(()=>{var B;return((B=n.panel)==null?void 0:B.rowSelectOnClick)!==!1}),S3=l2(()=>{var B;return((B=n.panel)==null?void 0:B.searchPlaceholder)||"搜索项目"}),I3=l2(()=>{var B;return((B=n.panel)==null?void 0:B.emptyText)||"无匹配项目"}),A3=l2(()=>{var f2;const B=Array.isArray((f2=n.panel)==null?void 0:f2.searchKeys)?n.panel.searchKeys:[];return B.length?B:[...y3.value.flatMap(G2=>[G2.field,...G2.fields||[]]),"projectName","category","year","measure","townships","metric"].filter(Boolean)}),a1=l2(()=>{const B=R($2.value);return B?o.value.filter(f2=>R(M(f2)).includes(B)):d(o.value)}),C1=t3(1),y1=l2(()=>{var B;return Math.max(1,Number((B=n.panel)==null?void 0:B.pageSize)||15)}),S1=l2(()=>a1.value),l1=l2(()=>Math.max(1,Math.ceil(S1.value.length/y1.value))),E1=l2(()=>{const B=Math.min(C1.value,l1.value),f2=Math.max(0,B-1)*y1.value;return S1.value.slice(f2,f2+y1.value)}),t0=l2(()=>Math.max(1,E1.value.length)),o0=l2(()=>{var B;return((B=n.panel)==null?void 0:B.summaryValue)||C3(o.value.length)}),G1=l2(()=>{var B;return((B=n.panel)==null?void 0:B.summaryLabel)||"条建设台账"}),Q1=l2(()=>o.value.filter(B=>B==null?void 0:B.canLocate).length),d3=l2(()=>o.value.filter(B=>B==null?void 0:B.name)),F3=l2(()=>o.value.filter(B=>B==null?void 0:B.name)),U3=l2(()=>{var B;return!!((B=n.panel)!=null&&B.showTotal)}),a3=l2(()=>o.value.find(B=>["forage-total","wetland-yield-total"].includes(B.key))||o.value[0]),F2=l2(()=>o.value.filter(B=>["forage-edible","forage-unavailable","wetland-yield-edible","wetland-yield-unavailable"].includes(B.key))),N3=l2(()=>o.value.find(B=>["forage-top-town","wetland-yield-top-town"].includes(B.key))),_3=t3(0),o1=t3(null),w1=t3(null),U1=t3(!0),O=t3({visible:!1,x:0,y:0,title:"",lines:[]});let v3=null,w3=null;const P3=l2(()=>{var B,f2;return`${((B=n.panel)==null?void 0:B.key)||((f2=n.panel)==null?void 0:f2.title)||"pie"}-${s.value.map(G2=>`${G2.name}:${G2.value}`).join("|")}`}),H3=l2(()=>{const J3=typeof window=="undefined"?1920:window.innerWidth,$3=typeof window=="undefined"?1080:window.innerHeight,R3=Math.min(J3-190-8,O.value.x+14),C=Math.min($3-82-8,O.value.y+14);return{left:`${Math.max(8,R3)}px`,top:`${Math.max(8,C)}px`}}),j3=l2(()=>{const B=q3.value;return B?_3.value%B:0}),q3=l2(()=>{var B;return r.value==="structure"?e2.value.length:r.value==="donut"||r.value==="rose"?s.value.length:r.value==="bar"&&((B=n.panel)==null?void 0:B.variant)==="capacity"?F2.value.length:r.value==="bar"||r.value==="column"?b.value.length:r.value==="table"?F.value.length:r.value==="line"?b.value.length:r.value==="balanceGaugeGrid"?A2.value.length:r.value==="gauge"?v2.value.length:r.value==="stackColumn"?q2.value.length:r.value==="split"?p.value.length:0}),e0=l2(()=>s.value[j3.value]||s.value[0]);l2(()=>e2.value[j3.value]||e2.value[0]);const O2=l2(()=>o.value[0]),Y2=l2(()=>o.value.slice(0,4).map((B,f2)=>J2(L2({},B),{icon:h1(B,f2)}))),s3=l2(()=>e2.value.map((B,f2)=>J2(L2({},B),{displayIndex:f2}))),G3=l2(()=>{var B;return r.value!=="donut"?"standard":((B=n.panel)==null?void 0:B.variant)==="ring"?"ring":"three"}),i1=l2(()=>{const B=s.value,f2=B.length;if(!f2)return[];const G2=52,J3=2*Math.PI*G2,$3=B.reduce((j,T)=>j+M0(T),0)||1,R3=f2>1?Math.min(12,Math.max(7,J3*.028)):0;let C=0;return B.map((j,T)=>{const W=M0(j)/$3*J3,G=f2>1?Math.max(5,W-R3):J3,Y=C+(f2>1?R3/2:0);return C+=W,{key:j.key||j.name||T,index:T,item:j,color:g3(T),dasharray:`${G.toFixed(2)} ${J3.toFixed(2)}`,dashoffset:`${(-Y).toFixed(2)}`}})}),N1=l2(()=>{const B=s.value,f2=B.length;if(!f2)return[];const G2=Math.max(...B.map(R3=>M0(R3)),1),J3=360/f2,$3=Math.min(8,J3*.16);return B.map((R3,C)=>{const j=M0(R3),T=C===j3.value,D=36+Math.sqrt(j/G2)*31+(T?5:0),W=17,G=-90+C*J3+$3/2,Y=-90+(C+1)*J3-$3/2,S2=(G+Y)/2,C2=E2(75,75,D+3,S2),U2=E2(75,75,D+15,S2),r3=E2(75,75,D+20,S2);return{key:R3.key||R3.name||C,index:C,item:R3,color:g3(C),path:f3(75,75,W,D,G,Y),lineStart:C2,lineEnd:U2,label:r3,anchor:Math.cos(S2*Math.PI/180)>=0?"start":"end"}})});Ln(()=>{C0(),D1()}),Rn(()=>{Pe(),n0()}),V0(()=>{var B;return[(B=n.panel)==null?void 0:B.key,o.value.length]},()=>{_3.value=0,o1.value=null,$2.value="",C1.value=1,c3.value=null,z1(),D1()}),V0($2,()=>{C1.value=1}),V0(U1,()=>{D1()});const q1=l2(()=>{const B=b.value,f2=320,G2=66,J3=10,$3=B.length>1?f2/(B.length-1):f2,R3=B.map(D=>M0(D)).filter(D=>Number.isFinite(D)&&D>=0),C=R3.length?Math.min(...R3):0,j=R3.length?Math.max(...R3):1,T=Math.max(j-C,j*.08,1);return B.map((D,W)=>{const G=M0(D);return{x:Math.round(W*$3),y:Math.round(J3+G2-(G-C)/T*G2),item:D}})}),Y3=l2(()=>q1.value.map(B=>`${B.x},${B.y}`).join(" ")),r1=l2(()=>q1.value.length?`0,86 ${Y3.value} 320,86`:""),K3=l2(()=>{var B,f2;return r.value==="column"&&(((B=n.panel)==null?void 0:B.lineOverlay)===!0||((f2=n.panel)==null?void 0:f2.variant)==="trendColumn")&&b.value.length>1}),f1=l2(()=>{if(!K3.value)return[];const B=b.value,f2=B.map(D=>M0(D)).filter(D=>Number.isFinite(D)&&D>=0),G2=Math.max(...f2,1),J3=Math.min(...f2,0),$3=Math.max(G2-J3,G2*.08,1),R3=320,C=9,j=67,T=B.length>1?R3/(B.length-1):0;return B.map((D,W)=>{const G=M0(D);return{key:D.key||D.name||W,x:Number((W*T).toFixed(2)),y:Number((C+j-(G-J3)/$3*j).toFixed(2))}})}),W1=l2(()=>f1.value.map(B=>`${B.x},${B.y}`).join(" ")),T0=l2(()=>f1.value.length?`0,82 ${W1.value} 320,82`:""),O0=l2(()=>b.value),D0=l2(()=>({gridTemplateColumns:`repeat(${Math.max(O0.value.length,1)}, minmax(0, 1fr))`})),k0=l2(()=>Number.isInteger(o1.value)?q1.value[o1.value]:null),ye=l2(()=>q1.value.length?Number.isInteger(o1.value)?o1.value:j3.value:0),Q0=l2(()=>k0.value?k0.value:q1.value[ye.value]||q1.value[0]),Le=l2(()=>{const B=Q0.value;if(!B)return{};const f2=B.x/320*100;return{left:`${Math.min(84,Math.max(16,f2))}%`,top:"6px",transform:"translateX(-50%)"}});function M0(B){const f2=Number(B==null?void 0:B.value);if(!Number.isNaN(f2)&&f2>0)return f2;const G2=Number(B==null?void 0:B.percent);return Number.isNaN(G2)?0:G2}function ve(B){const f2=(B==null?void 0:B.segments)||(B==null?void 0:B.values)||{};return _2.value.reduce((G2,J3)=>G2+(Number(f2[J3.key])||0),0)}function se(B){const f2=ve(B),G2=(B==null?void 0:B.segments)||(B==null?void 0:B.values)||{};return f2?_2.value.map((J3,$3)=>{var j,T,D;const R3=Number(G2[J3.key])||0,C=((j=n.panel)==null?void 0:j.variant)==="dual"||((T=n.panel)==null?void 0:T.variant)==="parkSlim"||((D=n.panel)==null?void 0:D.sharedScale)===!0?K2.value:f2;return J2(L2({},J3),{value:R3,percent:Math.max(R3>0?3:0,R3/Math.max(C,1)*100),color:R1(J3,$3)})}):[]}function R1(B,f2){var G2;return(G2=n.panel)!=null&&G2.preserveColors&&(B!=null&&B.color||B!=null&&B.fillColor)?B.color||B.fillColor:g3(f2)}function C3(B){const f2=Number(B);return Number.isNaN(f2)?"--":Number.isInteger(f2)?`${f2}`:`${Number(f2.toFixed(2))}`}function m2(B){return(B==null?void 0:B.displayValue)!==void 0&&(B==null?void 0:B.displayValue)!==null&&(B==null?void 0:B.displayValue)!==""?B.displayValue:(B==null?void 0:B.value)===void 0||(B==null?void 0:B.value)===null||(B==null?void 0:B.value)===""?"--":C3(B.value)}function D2(B){var J3;const f2=(B==null?void 0:B.displayUnit)||(B==null?void 0:B.unit)||"";if(!f2)return"";const G2=String((J3=m2(B))!=null?J3:"");return G2&&G2.endsWith(String(f2))?"":f2}function B3(){const B=[...new Set(b.value.map(f2=>(f2==null?void 0:f2.displayUnit)||(f2==null?void 0:f2.unit)).filter(Boolean))];return B.length===1?B[0]:""}function m3(B){const f2=D2(B);return f2?H.value===f2?"":f2:""}function W3(B){const f2=D2(B);return f2?K.value===f2?"":f2:""}function Q3(B){return String(B||"").trim().replace(/\s+/g,"").replace(/[乡镇]$/u,"")}function u0(B){return Array.from(Q3(B)).slice(0,3).join("")}function Z1(B){var f2;return((f2=n.panel)==null?void 0:f2.labelMode)==="horizontal"?Q3(B):n.columnLabelStandard?u0(B):Q3(B)}function m0(B){const f2=Q3(B==null?void 0:B.name)||"数据",G2=D2(B);return`${f2}:${m2(B)}${G2}`}function te(B,f2=[]){return[Q3(B)||"数据",...f2.filter(G2=>G2!=null&&String(G2).trim()!=="").map(G2=>String(G2))].join(` +`)}function N0(B,f2=[]){if(!B)return"";const G2=D2(B),J3=m2(B),$3=[];return J3!=="--"&&$3.push(`数值:${J3}${G2}`),B.extra&&$3.push(String(B.extra)),te(B.name,[...$3,...f2])}function Me(B){return N0(B,[`占比:${Y1(B)}`])}function ae(B){return N0(B,[`占比:${m1(B)}`])}function Be(B){return N0(B,[`占比:${B1(B)}`])}function p0(B){var $3;const f2=s0(B),G2=se(B).filter(R3=>R3.value>0).map(R3=>`${R3.name}:${R3.valuePrefix||""}${C3(R3.value)}${f2}`),J3=(($3=n.panel)==null?void 0:$3.totalLabel)||"合计";return te(B==null?void 0:B.name,[`${J3}:${R0(B)}${C3(ve(B))}${f2}`,...G2])}function N2(B,f2){const G2=s0(B);return te(`${Q3(B==null?void 0:B.name)} ${(f2==null?void 0:f2.name)||""}`,[`数值:${(f2==null?void 0:f2.valuePrefix)||""}${C3((f2==null?void 0:f2.value)||0)}${G2}`])}function e3(B){return N0(B,[`状态:${V2(B)}`])}function b3(B){const f2=h.value?`${C3(M0(B)/h.value*100)}%`:"--";return N0(B,[`占比:${f2}`])}function A1(B){var $3,R3,C;const f2=(R3=($3=B.target)==null?void 0:$3.closest)==null?void 0:R3.call($3,"[data-chart-tooltip], [data-hover-value]");if(!f2||!((C=w1.value)!=null&&C.contains(f2))){z1();return}const G2=f2.getAttribute("data-chart-tooltip")||f2.getAttribute("data-hover-value")||"",J3=String(G2).split(/\n+/).map(j=>j.trim()).filter(Boolean);if(!J3.length){z1();return}O.value={visible:!0,x:B.clientX,y:B.clientY,title:J3[0],lines:J3.slice(1)}}function z1(){O.value.visible&&(O.value={visible:!1,x:0,y:0,title:"",lines:[]})}function J1(B){const f2=Q3(B==null?void 0:B.name)||"数据",G2=s0(B);return`${f2}:${R0(B)}${C3(ve(B))}${G2}`}function s0(B){var f2;return(B==null?void 0:B.displayUnit)||(B==null?void 0:B.unit)||((f2=n.panel)==null?void 0:f2.unit)||""}function R0(B){const f2=(B==null?void 0:B.segments)||(B==null?void 0:B.values)||{};return _2.value.some(G2=>(G2==null?void 0:G2.valuePrefix)&&Number(f2[G2.key])>0)?"≥":""}function M2(){var B,f2,G2;return((B=n.panel)==null?void 0:B.showValue)===!0||((f2=n.panel)==null?void 0:f2.variant)==="dual"||((G2=n.panel)==null?void 0:G2.variant)==="parkSlim"}function R(B){return String(B||"").trim().toLowerCase()}function M(B){const f2=A3.value.map(G2=>f(B,{field:G2})).filter(G2=>G2!=null);return[B==null?void 0:B.searchText,...f2].filter(Boolean).join(" ")}function d(B=[]){var G2;const f2=Number((G2=n.panel)==null?void 0:G2.maxRows);return!Number.isFinite(f2)||f2<=0?B:B.slice(0,f2)}function f(B,f2){const G2=[f2==null?void 0:f2.field,...(f2==null?void 0:f2.fields)||[]].filter(Boolean);for(const J3 of G2){const $3=String(J3).split(".").reduce((R3,C)=>R3==null?void 0:R3[C],B);if($3!=null&&$3!=="")return $3}}function y(B,f2){const G2=f(B,f2);if((f2==null?void 0:f2.format)==="townVillage"){const J3=String((B==null?void 0:B.town)||"").trim(),$3=String((B==null?void 0:B.village)||"").trim();return[J3,$3].filter(Boolean).join(" / ")||(f2==null?void 0:f2.fallback)||"--"}return G2==null||G2===""?(f2==null?void 0:f2.fallback)||"--":(f2==null?void 0:f2.format)==="number"?C3(G2):(f2==null?void 0:f2.format)==="displayValue"?m2({value:G2}):String(G2)}function w(B,f2){return f2!=null&&f2.unitField&&(B!=null&&B[f2.unitField])?B[f2.unitField]:(f2==null?void 0:f2.unit)||""}function _(B){return{"business-project-name":(B==null?void 0:B.key)==="name","business-project-locate":(B==null?void 0:B.key)==="locate","is-right":(B==null?void 0:B.align)==="right","is-center":(B==null?void 0:B.align)==="center","is-strong":B==null?void 0:B.strong}}function E(B,f2={}){(f2==null?void 0:f2.action)==="locate"&&r2(B,!0)}function r2(B,f2=!1){!f2&&!z3.value||(B==null?void 0:B.canLocate)!==!1&&(c3.value=(B==null?void 0:B.key)||(B==null?void 0:B.name)||null,a("row-select",B))}function n2(B=0){const f2=C1.value+Number(B||0);C1.value=Math.max(1,Math.min(l1.value,f2))}function o2(B={}){return B.ledgerName||B.name||"--"}function t2(B={}){return B.ledgerLocation||[B.town,B.village].filter(Boolean).join(" · ")||"--"}function X(B={},f2={}){var J3,$3,R3,C;const G2=Number((C=(R3=(J3=B==null?void 0:B.segments)==null?void 0:J3[f2.key])!=null?R3:($3=B==null?void 0:B.values)==null?void 0:$3[f2.key])!=null?C:0);return!Number.isFinite(G2)||G2<=0?"—":`${(f2==null?void 0:f2.valuePrefix)||""}${C3(G2)}`}function R2(B={}){const f2=_2.value.map($3=>{var R3,C,j,T;return Number((T=(j=(R3=B==null?void 0:B.segments)==null?void 0:R3[$3.key])!=null?j:(C=B==null?void 0:B.values)==null?void 0:C[$3.key])!=null?T:0)}),G2=f2.reduce(($3,R3)=>$3+(Number.isFinite(R3)&&R3>0?R3:0),0);return G2?`${_2.value.some(($3,R3)=>($3==null?void 0:$3.valuePrefix)&&f2[R3]>0)?"≥":""}${C3(G2)}`:"—"}function y2(B){const f2=B==null?void 0:B.currentTarget;if(!f2||f2.scrollWidth<=f2.clientWidth)return;B.preventDefault();const G2=Math.abs(B.deltaX)>Math.abs(B.deltaY)?B.deltaX:B.deltaY;f2.scrollLeft+=G2}function d2(B){var R3,C;const f2=Number(B==null?void 0:B.scaleValue);if(!(r.value==="column"&&((R3=n.panel)==null?void 0:R3.variant)==="plain")&&!Number.isNaN(f2)&&f2>0)return Math.max(8,Math.min(100,Math.round(f2)));const J3=M0(B);if(!J3)return 8;const $3=r.value==="column"&&((C=n.panel)==null?void 0:C.variant)==="plain"?Math.max(...u.value,J3):m.value;return Math.max(8,Math.round(J3/$3*100))}function h2(B,f2){const G2=d2(B),J3=Math.max(.04,Math.min(.1,G2/360));return{"--heat-color":g3(f2),"--heat-bg":l3(g3(f2),J3)}}function B2(B){const f2=Number(B==null?void 0:B.value);return Number.isFinite(f2)?f2:0}function u2(){var G2;const B=Number((G2=n.panel)==null?void 0:G2.max);if(Number.isFinite(B)&&B>0)return B;const f2=Math.max(...v2.value.map(J3=>B2(J3)),100);return Math.max(f2,100)}function A(B){const f2=B2(B),G2=u2();return!G2||f2<=0?0:Number(Math.min(100,f2/G2*100).toFixed(1))}function V(B){return Number((-180+A(B)*1.8).toFixed(1))}function Z(B,f2){var G2;return(G2=n.panel)!=null&&G2.preserveColors&&(B!=null&&B.color||B!=null&&B.fillColor)?B.color||B.fillColor:g3(f2)}function P2(B){const f2=Math.max(0,B2(B)),G2=Math.max(5,...A2.value.map(J3=>Math.max(0,B2(J3))));return Math.max(6,Math.min(100,Number((f2/G2*100).toFixed(1))))}function I2(B){const f2=B2(B),G2=String((B==null?void 0:B.status)||(B==null?void 0:B.level)||"");return f2>20||/严重|重度|高超载/.test(G2)?"#8bf7ff":f2>10||/中度|预警/.test(G2)?"#48cfff":f2>5||/轻度/.test(G2)?"#b9fbff":f2<=0||/总体可控|合理|正常|达标|无超载/.test(G2)?"#24f6c4":"#30dcff"}function W2(B){return{"--balance-color":I2(B),"--balance-progress":`${P2(B)}%`}}function V2(B){if(B!=null&&B.status||B!=null&&B.level)return B.status||B.level;const f2=B2(B);return f2<0?"合理":f2<=5?"基本实现草畜平衡":f2<=10?"轻度超载":f2>100?"高超载":"超载预警"}function l3(B,f2=.2){const G2=String(B||"").replace("#","");if(G2.length!==6)return`rgba(48, 220, 255, ${f2})`;const J3=parseInt(G2,16),$3=J3>>16&255,R3=J3>>8&255,C=J3&255;return`rgba(${$3}, ${R3}, ${C}, ${f2})`}function x3(B){const f2=q1.value.length;if(!f2)return;const G2=B.currentTarget.getBoundingClientRect(),J3=G2.width?(B.clientX-G2.left)/G2.width:0,$3=Math.min(f2-1,Math.max(0,Math.round(J3*(f2-1))));o1.value=$3}function E3(B){const f2=M0(B);return!h.value||!f2?0:Math.max(6,f2/h.value*100)}function T3(B){const f2=M0(B);return!h.value||!f2?0:Math.max(2,f2/h.value*100)}function m1(B){if(!B)return"--";if(B.extra)return B.extra;const f2=M0(B);return!h.value||!f2?"--":`${C3(f2/h.value*100)}%`}function T1(){const B=M0(a3.value);return B>0?B:F2.value.reduce((f2,G2)=>f2+M0(G2),0)}function x1(B){const f2=T1(),G2=M0(B);return!f2||!G2?0:Math.max(6,G2/f2*100)}function B1(B){const f2=T1(),G2=M0(B);return!f2||!G2?"--":`${C3(G2/f2*100)}%`}function v1(B,f2){return["forage-edible","wetland-yield-edible"].includes(B==null?void 0:B.key)?"#24f6c4":["forage-unavailable","wetland-yield-unavailable"].includes(B==null?void 0:B.key)?"#8bf7ff":g3(f2)}function Y1(B){const f2=M0(B),G2=Number(B==null?void 0:B.count)||h.value;return!f2||!G2?"0%":`${C3(f2/G2*100)}%`}function g0(B){const f2=M0(B),G2=Number(B==null?void 0:B.count)||h.value;return!f2||!G2?0:f2/G2*100}function E2(B,f2,G2,J3){const $3=J3*Math.PI/180;return{x:Number((B+G2*Math.cos($3)).toFixed(2)),y:Number((f2+G2*Math.sin($3)).toFixed(2))}}function f3(B,f2,G2,J3,$3,R3){const C=E2(B,f2,J3,$3),j=E2(B,f2,J3,R3),T=E2(B,f2,G2,R3),D=E2(B,f2,G2,$3),W=R3-$3>180?1:0;return[`M ${C.x} ${C.y}`,`A ${J3} ${J3} 0 ${W} 1 ${j.x} ${j.y}`,`L ${T.x} ${T.y}`,`A ${G2} ${G2} 0 ${W} 0 ${D.x} ${D.y}`,"Z"].join(" ")}function g3(B){return i[B%i.length]}function V3(B,f2={}){var G2;return(G2=n.panel)!=null&&G2.preserveColors&&(f2!=null&&f2.color||f2!=null&&f2.fillColor)?f2.color||f2.fillColor:g3(B)}function h1(B,f2){if(B!=null&&B.icon)return String(B.icon).replace(/[^a-z0-9-]/gi,"");const G2=String((B==null?void 0:B.name)||"");return G2.includes("利用率")||G2.includes("占比")?"rate":G2.includes("重度")||G2.includes("退化")?"risk":G2.includes("可食")||G2.includes("供给")?"leaf":G2.includes("不可")?"stack":G2.includes("产量")||G2.includes("鲜草")?"yield":G2.includes("乡镇")?"town":G2.includes("面积")?"area":["yield","leaf","rate","risk"][f2%4]}function L1(){n0();const B=q3.value;U1.value&&(B<2||(v3=window.setInterval(()=>{_3.value=(_3.value+1)%B},dh)))}function D1(){U1.value?L1():n0()}function n0(){v3&&(window.clearInterval(v3),v3=null)}function C0(){ke(),!(!w1.value||typeof window.IntersectionObserver!="function")&&(w3=new IntersectionObserver(B=>{const f2=B[0];U1.value=!!(f2!=null&&f2.isIntersecting)&&le()}),w3.observe(w1.value),window.requestAnimationFrame(ke))}function Pe(){var B;(B=w3==null?void 0:w3.disconnect)==null||B.call(w3),w3=null}function ke(){U1.value=le()}function le(){const B=w1.value;return B?!!(B.offsetParent||B.getClientRects().length):!0}function ie(B,f2={}){const G2=V3(B,f2);return`linear-gradient(90deg, ${l3(G2,.08)} 0%, ${l3(G2,.58)} 48%, ${G2} 82%, rgba(248,255,255,0.86) 100%)`}function M1(B,f2={}){var J3,$3;if(((J3=n.panel)==null?void 0:J3.variant)==="water"){const R3=V3(B,f2);return`linear-gradient(180deg, rgba(248,255,255,0.92) 0%, ${l3(R3,.88)} 18%, ${l3(R3,.68)} 58%, rgba(47, 151, 255, 0.18) 100%)`}if((($3=n.panel)==null?void 0:$3.variant)==="plain"){const R3=V3(B,f2);return`linear-gradient(180deg, rgba(248,255,255,0.9) 0%, ${l3(R3,.84)} 18%, ${l3(R3,.64)} 74%, ${l3(R3,.1)} 100%)`}const G2=V3(B,f2);return`linear-gradient(180deg, rgba(248,255,255,0.9) 0%, ${G2} 18%, ${l3(G2,.62)} 72%, rgba(50, 220, 255, 0.08) 100%)`}return(B,f2)=>{var G2,J3,$3,R3,C,j,T,D,W,G,Y,S2,C2,U2,r3,P,N,U,b2,o3,Z2;return z(),Q("div",{ref_key:"panelRef",ref:w1,class:s1(["business-panel",[`is-${r.value}`,`is-${G3.value}`,{"is-compact":t.compact,"is-column-label-standard":t.columnLabelStandard,"is-column-label-horizontal":((G2=n.panel)==null?void 0:G2.labelMode)==="horizontal"}]]),onMousemove:A1,onMouseleave:z1},[o.value.length?r.value==="rank"?(z(),he(If,{key:1,rows:o.value,compact:""},null,8,["rows"])):r.value==="metric"?(z(),Q("div",hP,[(z(!0),Q(O3,null,X3(o.value.slice(0,4),J=>(z(),Q("div",{key:J.key||J.name,class:"business-metric-item","data-chart-tooltip":N0(J)},[S("span",null,c2(J.name),1),S("strong",null,c2(m2(J)),1),S("em",null,c2(J.unit),1)],8,mP))),128))])):r.value==="iconMetric"?(z(),Q("div",pP,[(z(!0),Q(O3,null,X3(Y2.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-icon-metric-item",`is-tone-${X2%i.length}`]),"data-chart-tooltip":N0(J)},[S("i",{class:s1(["business-icon-metric-mark",`is-${J.icon}`])},[...f2[6]||(f2[6]=[S("span",null,null,-1)])],2),S("div",yP,[S("span",null,c2(J.name),1),S("strong",null,[oe(c2(m2(J)),1),J.unit?(z(),Q("em",vP,c2(J.unit),1)):L3("",!0)])])],10,gP))),128))])):r.value==="spotlight"?(z(),Q("div",SP,[O2.value?(z(),Q(O3,{key:0},[S("div",{class:"business-spotlight-main","data-chart-tooltip":N0(O2.value)},[S("span",null,c2(O2.value.name),1),S("strong",null,[oe(c2(m2(O2.value)),1),S("em",null,c2(O2.value.unit),1)]),S("small",null,c2(O2.value.extra||((J3=t.panel)==null?void 0:J3.note)||"核心业务指标"),1)],8,wP),S("div",bP,[(z(!0),Q(O3,null,X3(o.value.slice(1,4),(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:"business-spotlight-chip","data-chart-tooltip":N0(J)},[S("i",{style:X1({borderColor:g3(X2+1)})},null,4),S("span",null,c2(J.name),1),S("strong",null,[oe(c2(m2(J)),1),S("em",null,c2(J.unit),1)]),J.extra?(z(),Q("small",CP,c2(J.extra),1)):L3("",!0)],8,TP))),128))])],64)):(z(),Q("div",AP,"暂无业务统计数据"))])):r.value==="donut"?(z(),Q("div",{key:5,class:s1(["business-donut",[`is-variant-${G3.value}`,{"is-dense":s.value.length>5}]])},[s.value.length?(z(),Q(O3,{key:0},[G3.value==="ring"?(z(),Q("div",xP,[(z(),Q("svg",_P,[f2[7]||(f2[7]=S("circle",{class:"business-ring-halo",cx:"80",cy:"80",r:"39"},null,-1)),f2[8]||(f2[8]=S("circle",{class:"business-ring-track",cx:"80",cy:"80",r:"52"},null,-1)),(z(!0),Q(O3,null,X3(i1.value,J=>(z(),Q("circle",{key:J.key,class:s1(["business-ring-segment",{"is-active":J.index===j3.value}]),cx:"80",cy:"80",r:"52",stroke:J.color,"stroke-dasharray":J.dasharray,"stroke-dashoffset":J.dashoffset,style:X1({color:J.color}),"data-chart-tooltip":Me(J.item)},null,14,MP))),128))])),S("div",PP,[S("strong",null,c2(Y1(e0.value)),1),S("span",null,c2((($3=e0.value)==null?void 0:$3.name)||"结构占比"),1)])])):(z(),Q("div",kP,[(z(),he(Zm,{key:P3.value,data:s.value,delay:dh,colors:i,opacity:.62,class:"business-three-pie"},{default:f0(({data:J})=>[S("div",EP,[S("strong",null,c2(Y1(J)),1),S("span",null,c2((J==null?void 0:J.name)||"结构占比"),1)])]),_:1},8,["data"]))])),S("div",NP,[(z(!0),Q(O3,null,X3(s.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-donut-row",{"is-active":X2===j3.value}]),style:X1({"--row-color":g3(X2),"--row-percent":`${Math.max(4,g0(J))}%`}),"data-chart-tooltip":Me(J)},[S("i",{style:X1({borderColor:g3(X2)})},null,4),S("span",null,c2(J.name),1),S("strong",null,c2(m2(J)),1),S("em",null,c2(J.unit),1)],14,RP))),128))])],64)):(z(),Q("div",LP,"暂无业务统计数据"))],2)):r.value==="rose"?(z(),Q("div",{key:6,class:s1(["business-rose",{"is-dense":s.value.length>5}])},[s.value.length?(z(),Q(O3,{key:0},[S("div",IP,[(z(),Q("svg",FP,[S("g",BP,[(z(!0),Q(O3,null,X3(N1.value,J=>(z(),Q("line",{key:`guide-${J.key}`,x1:J.lineStart.x,y1:J.lineStart.y,x2:J.lineEnd.x,y2:J.lineEnd.y,stroke:J.color},null,8,DP))),128))]),S("g",GP,[(z(!0),Q(O3,null,X3(N1.value,J=>(z(),Q("path",{key:J.key,class:s1(["business-rose-segment",{"is-active":J.index===j3.value}]),d:J.path,fill:J.color,stroke:J.color,"data-chart-tooltip":Me(J.item)},null,10,UP))),128))]),f2[9]||(f2[9]=S("circle",{class:"business-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),f2[10]||(f2[10]=S("circle",{class:"business-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),S("g",OP,[(z(!0),Q(O3,null,X3(N1.value,J=>(z(),Q("text",{key:`label-${J.key}`,x:J.label.x,y:J.label.y,"text-anchor":J.anchor},c2(J.item.name),9,jP))),128))])]))]),S("div",zP,[(z(!0),Q(O3,null,X3(s.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-donut-row business-rose-row",{"is-active":X2===j3.value}]),"data-chart-tooltip":Me(J)},[S("i",{style:X1({borderColor:g3(X2),background:g3(X2),color:g3(X2)})},null,4),S("span",null,c2(J.name),1),S("strong",null,c2(m2(J)),1),S("em",null,c2(J.unit),1)],10,YP))),128))])],64)):(z(),Q("div",$P,"暂无业务统计数据"))],2)):r.value==="structure"?(z(),Q("div",WP,[e2.value.length?(z(),Q(O3,{key:0},[S("div",VP,[S("div",HP,[(z(!0),Q(O3,null,X3(e2.value,(J,X2)=>(z(),Q("i",{key:J.key||J.name,class:s1({"is-active":X2===j3.value}),style:X1({width:`${T3(J)}%`,background:g3(X2),color:g3(X2)}),title:`${J.name}:${m2(J)}${J.unit||""} ${m1(J)}`,"data-chart-tooltip":ae(J)},null,14,KP))),128))])]),S("div",qP,[(z(!0),Q(O3,null,X3(s3.value,J=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-structure-row",{"is-active":J.displayIndex===j3.value}]),style:X1({"--row-color":g3(J.displayIndex),"--row-percent":`${Math.max(4,T3(J))}%`}),"data-chart-tooltip":ae(J)},[S("i",{style:X1({background:g3(J.displayIndex),color:g3(J.displayIndex)})},null,4),S("span",null,c2(J.name),1),S("strong",null,[oe(c2(m2(J)),1),S("em",null,c2(J.unit),1)]),S("small",null,c2(m1(J)),1)],14,JP))),128))])],64)):(z(),Q("div",QP,"暂无业务统计数据"))])):r.value==="bar"&&((R3=t.panel)==null?void 0:R3.variant)==="capacity"?(z(),Q("div",XP,[a3.value?(z(),Q(O3,{key:0},[S("div",{class:"business-capacity-head","data-chart-tooltip":N0(a3.value)},[S("span",null,c2(a3.value.name),1),S("strong",null,[oe(c2(m2(a3.value)),1),S("em",null,c2(a3.value.unit),1)])],8,ZP),S("div",ek,[(z(!0),Q(O3,null,X3(F2.value,(J,X2)=>(z(),Q("i",{key:J.key||J.name,class:s1({"is-active":X2===j3.value}),style:X1({width:`${x1(J)}%`,background:v1(J,X2),color:v1(J,X2)}),title:`${J.name}:${m2(J)}${J.unit||""} ${B1(J)}`,"data-chart-tooltip":Be(J)},null,14,tk))),128))]),S("div",nk,[(z(!0),Q(O3,null,X3(F2.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-capacity-row",{"is-active":X2===j3.value}]),"data-chart-tooltip":Be(J)},[S("i",{style:X1({background:v1(J,X2),color:v1(J,X2)})},null,4),S("span",null,c2(J.name),1),S("strong",null,[oe(c2(m2(J)),1),S("em",null,c2(J.unit),1)]),S("small",null,c2(B1(J)),1)],10,ak))),128))]),N3.value?(z(),Q("div",{key:0,class:"business-capacity-town","data-chart-tooltip":N0(N3.value)},[S("span",null,c2(N3.value.name),1),S("strong",null,[oe(c2(m2(N3.value)),1),S("em",null,c2(N3.value.unit),1)])],8,ik)):L3("",!0)],64)):(z(),Q("div",rk,"暂无业务统计数据"))])):r.value==="bar"?(z(),Q("div",{key:9,class:s1(["business-bars",{"is-dense":b.value.length>=5,"is-long":b.value.length>10,"is-scrollable":b.value.length>10,"is-single":((C=t.panel)==null?void 0:C.span)===1,"is-distribution":((j=t.panel)==null?void 0:j.variant)==="distribution","is-capacity":((T=t.panel)==null?void 0:T.variant)==="capacity","is-rank-bar":((D=t.panel)==null?void 0:D.variant)==="rankBar","is-park-bar":((W=t.panel)==null?void 0:W.variant)==="parkBar","is-race-bar":g.value,"is-few-rows":g.value&&b.value.length<=3,"is-degradation":((G=t.panel)==null?void 0:G.variant)==="degradation","is-race-nowrap":((Y=t.panel)==null?void 0:Y.variant)==="raceBarNoWrap","is-race-relaxed":((S2=t.panel)==null?void 0:S2.variant)==="raceBarRelaxed"}]),style:X1({"--bar-row-count":Math.max(b.value.length,1)}),onWheel:f2[0]||(f2[0]=$0(()=>{},["stop"]))},[(z(!0),Q(O3,null,X3(b.value,(J,X2)=>{var e1;return z(),Q("div",{key:J.key||J.name,class:s1(["business-bar-row",{"is-active":X2===j3.value}]),style:X1({"--bar-color":V3(X2,J)}),"data-chart-tooltip":N0(J)},[((e1=t.panel)==null?void 0:e1.variant)==="rankBar"?(z(),Q("span",sk,c2(X2+1),1)):L3("",!0),S("span",lk,c2(J.name),1),S("div",uk,[S("i",{style:X1({width:`${d2(J)}%`,background:ie(X2,J)})},null,4)]),S("strong",null,[oe(c2(m2(J))+" ",1),J.unit?(z(),Q("em",ck,c2(J.unit),1)):L3("",!0),J.extra?(z(),Q("small",dk,c2(J.extra),1)):L3("",!0)])],14,ok)}),128))],38)):r.value==="column"?(z(),Q("div",{key:10,class:s1(["business-columns",[`is-variant-${((C2=t.panel)==null?void 0:C2.variant)||"solid"}`,{"is-dense":b.value.length>6,"is-scrollable":b.value.length>6&&((U2=t.panel)==null?void 0:U2.scrollable)!==!1,"has-unit-label":!!H.value}]]),onWheel:$0(y2,["stop"])},[K3.value?(z(),Q("svg",fk,[S("polyline",{class:"business-column-trend-area",points:T0.value},null,8,hk),S("polyline",{class:"business-column-trend-line",points:W1.value},null,8,mk),(z(!0),Q(O3,null,X3(f1.value,J=>(z(),Q("circle",{key:J.key,class:"business-column-trend-dot",cx:J.x,cy:J.y,r:"2.3"},null,8,pk))),128))])):L3("",!0),H.value?(z(),Q("small",gk,"单位:"+c2(H.value),1)):L3("",!0),(z(!0),Q(O3,null,X3(b.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-column-item",{"is-active":X2===j3.value,"is-zero":(J==null?void 0:J.zero)===!0||(J==null?void 0:J.isZero)===!0}]),"data-hover-value":m0(J),title:m0(J),"data-chart-tooltip":N0(J)},[S("div",{class:"business-column-track",style:X1({"--column-percent":`${d2(J)}%`})},[S("i",{style:X1({height:`${d2(J)}%`,background:M1(X2,J),"--column-load-delay":`${X2*.075}s`})},null,4),S("strong",vk,[oe(c2(m2(J)),1),m3(J)?(z(),Q("em",Sk,c2(m3(J)),1)):L3("",!0)])],4),S("span",null,c2(Z1(J.name)),1)],10,yk))),128))],34)):r.value==="projectTable"?(z(),Q("div",{key:11,class:s1(["business-project-table",{"is-without-search":((r3=t.panel)==null?void 0:r3.showSearch)===!1,"is-fill-rows":((P=t.panel)==null?void 0:P.fillRows)===!0}])},[((N=t.panel)==null?void 0:N.showSearch)!==!1?(z(),Q("div",wk,[Oe(S("input",{"onUpdate:modelValue":f2[1]||(f2[1]=J=>$2.value=J),type:"search",placeholder:S3.value},null,8,bk),[[f5,$2.value]])])):L3("",!0),S("div",Tk,[S("table",null,[S("colgroup",null,[(z(!0),Q(O3,null,X3(y3.value,J=>(z(),Q("col",{key:J.key,class:s1(J.className),style:X1({width:J.width||void 0})},null,6))),128))]),S("thead",null,[S("tr",null,[(z(!0),Q(O3,null,X3(y3.value,J=>(z(),Q("th",{key:J.key,class:s1(_(J))},c2(J.label),3))),128))])]),S("tbody",null,[(z(!0),Q(O3,null,X3(a1.value,J=>(z(),Q("tr",{key:J.key||J.name,class:s1({"is-active":c3.value===(J.key||J.name)}),tabindex:z3.value?0:-1,onClick:X2=>r2(J),onKeydown:[Wt($0(X2=>r2(J),["prevent"]),["enter"]),Wt($0(X2=>r2(J),["prevent"]),["space"])]},[(z(!0),Q(O3,null,X3(y3.value,X2=>(z(),Q("td",{key:X2.key,class:s1(_(X2)),title:y(J,X2)},[X2.strong?(z(),Q("strong",xk,[oe(c2(y(J,X2)),1),w(J,X2)?(z(),Q("em",_k,c2(w(J,X2)),1)):L3("",!0)])):X2.action==="locate"&&J.canLocate?(z(),Q("button",{key:1,type:"button",class:"business-project-locate-button",title:"定位并查看详情","aria-label":"定位并查看详情",onClick:$0(e1=>E(J,X2),["stop"]),onKeydown:[Wt($0(e1=>E(J,X2),["stop","prevent"]),["enter"]),Wt($0(e1=>E(J,X2),["stop","prevent"]),["space"])]},[...f2[11]||(f2[11]=[S("span",{class:"business-project-cell-icon business-project-cell-icon--locate","aria-hidden":"true"},null,-1)])],40,Mk)):X2.action==="locate"?(z(),Q("span",Pk,"--")):X2.icon&&y(J,X2)!=="--"?(z(),Q("span",{key:3,class:s1(["business-project-cell-icon",`business-project-cell-icon--${X2.icon}`]),role:"img","aria-label":y(J,X2)},null,10,kk)):(z(),Q("span",Ek,c2(y(J,X2)),1))],10,Ak))),128))],42,Ck))),128))])]),a1.value.length?L3("",!0):(z(),Q("div",Nk,c2(I3.value),1))])],2)):r.value==="projectLedger"?(z(),Q("div",Rk,[S("div",Lk,[Oe(S("input",{"onUpdate:modelValue":f2[2]||(f2[2]=J=>$2.value=J),type:"search",placeholder:S3.value},null,8,Ik),[[f5,$2.value]])]),S("div",Fk,[S("div",Bk,[S("strong",null,c2(o0.value),1),S("span",null,c2(G1.value),1)]),S("small",null,"已定位 "+c2(Q1.value)+" 处",1),l1.value>1?(z(),Q("div",Dk,[S("button",{type:"button",class:"business-project-ledger__page-button is-previous",title:"上一页","aria-label":"上一页",disabled:C1.value<=1,onClick:f2[3]||(f2[3]=J=>n2(-1))},[...f2[12]||(f2[12]=[S("i",{"aria-hidden":"true"},null,-1)])],8,Gk),S("span",null,c2(C1.value)+" / "+c2(l1.value),1),S("button",{type:"button",class:"business-project-ledger__page-button is-next",title:"下一页","aria-label":"下一页",disabled:C1.value>=l1.value,onClick:f2[4]||(f2[4]=J=>n2(1))},[...f2[13]||(f2[13]=[S("i",{"aria-hidden":"true"},null,-1)])],8,Uk)])):L3("",!0)]),S("div",{class:"business-project-ledger__list business-project-frame",style:X1({"--ledger-row-count":t0.value})},[(z(!0),Q(O3,null,X3(E1.value,J=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-project-ledger__row",{"is-active":c3.value===(J.key||J.name),"is-locatable":J.canLocate,"is-unlocated":J.canLocate===!1}]),tabindex:J.canLocate?0:-1,onClick:X2=>r2(J),onKeydown:[Wt($0(X2=>r2(J),["prevent"]),["enter"]),Wt($0(X2=>r2(J),["prevent"]),["space"])]},[S("div",jk,[S("strong",{title:o2(J)},c2(o2(J)),9,zk),S("div",null,[S("span",{title:t2(J)},c2(t2(J)),9,Yk)])]),J.canLocate?(z(),Q("button",{key:0,type:"button",class:"business-project-locate-button",title:"定位并查看详情","aria-label":"定位并查看详情",onClick:$0(X2=>r2(J,!0),["stop"]),onKeydown:[Wt($0(X2=>r2(J,!0),["stop","prevent"]),["enter"]),Wt($0(X2=>r2(J,!0),["stop","prevent"]),["space"])]},[...f2[14]||(f2[14]=[S("span",{class:"business-project-cell-icon business-project-cell-icon--locate","aria-hidden":"true"},null,-1)])],40,$k)):(z(),Q("span",Wk,"暂无坐标"))],42,Ok))),128)),E1.value.length?L3("",!0):(z(),Q("div",Vk,c2(I3.value),1))],4)])):r.value==="specGrid"?(z(),Q("div",Hk,[(z(!0),Q(O3,null,X3(d3.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:"business-spec-grid__row"},[S("span",Kk,c2(String(X2+1).padStart(2,"0")),1),S("span",{class:"business-spec-grid__name",title:J.name},c2(J.name),9,qk),S("strong",Jk,[oe(c2(m2(J)),1),J.unit?(z(),Q("em",Qk,c2(J.unit),1)):L3("",!0)]),S("div",Xk,[(z(!0),Q(O3,null,X3(J.specs||[],e1=>(z(),Q("span",{key:e1.label,title:`${e1.label} ${C3(e1.value)}${e1.unit||""}`},[S("small",null,c2(e1.label),1),S("strong",null,[oe(c2(C3(e1.value)),1),e1.unit?(z(),Q("em",eE,c2(e1.unit),1)):L3("",!0)])],8,Zk))),128))])]))),128))])):r.value==="supportMatrix"?(z(),Q("div",{key:14,class:s1(["business-support-matrix",{"is-with-total":U3.value}])},[(U=t.panel)!=null&&U.note?(z(),Q("small",tE,c2(t.panel.note),1)):L3("",!0),S("div",nE,[f2[15]||(f2[15]=S("span",null,"乡镇",-1)),U3.value?(z(),Q("span",aE,c2(((b2=t.panel)==null?void 0:b2.totalLabel)||"合计"),1)):L3("",!0),(z(!0),Q(O3,null,X3(_2.value,J=>(z(),Q("span",{key:J.key},c2(J.headerName||J.name),1))),128))]),S("div",iE,[(z(!0),Q(O3,null,X3(F3.value,J=>(z(),Q("div",{key:J.key||J.name},[S("span",null,c2(Q3(J.name)),1),U3.value?(z(),Q("strong",{key:0,class:"business-support-matrix__total",title:R2(J)},c2(R2(J)),9,rE)):L3("",!0),(z(!0),Q(O3,null,X3(_2.value,X2=>(z(),Q("strong",{key:X2.key,title:X(J,X2)},c2(X(J,X2)),9,oE))),128))]))),128))])],2)):r.value==="table"?(z(),Q("div",{key:15,class:s1(["business-table",{"is-dense":F.value.length>8}])},[S("div",sE,[(z(),Q(O3,null,X3(2,J=>S("div",{key:J,class:"business-table-head-group"},[...f2[16]||(f2[16]=[S("span",null,"乡镇",-1),S("span",null,"亩产",-1)])])),64))]),S("div",lE,[(z(!0),Q(O3,null,X3(F.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-table-row",{"is-active":X2===j3.value}]),"data-chart-tooltip":N0(J)},[S("span",cE,c2(J.name),1),S("div",dE,[S("strong",null,[oe(c2(m2(J)),1),J.unit?(z(),Q("em",fE,c2(J.unit),1)):L3("",!0)]),S("i",null,[S("b",{style:X1({width:`${d2(J)}%`,background:ie(X2)})},null,4)])])],10,uE))),128))])],2)):r.value==="stackColumn"?(z(),Q("div",{key:16,class:s1(["business-stack-columns",[`is-variant-${((o3=t.panel)==null?void 0:o3.variant)||"standard"}`,{"is-dense":q2.value.length>6,"is-with-values":M2()}]])},[S("div",hE,[(z(!0),Q(O3,null,X3(_2.value,(J,X2)=>(z(),Q("span",{key:J.key||J.name},[S("i",{style:X1({background:R1(J,X2)})},null,4),oe(c2(J.name),1)]))),128)),s0(q2.value[0])?(z(),Q("small",mE,"单位:"+c2(s0(q2.value[0])),1)):L3("",!0)]),S("div",pE,[(z(!0),Q(O3,null,X3(q2.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-stack-item",{"is-active":X2===j3.value}]),"data-hover-value":J1(J),title:J1(J),"data-chart-tooltip":p0(J)},[M2()&&ve(J)>0?(z(),Q("strong",yE,[oe(c2(R0(J))+c2(C3(ve(J))),1),s0(J)?(z(),Q("em",vE,c2(s0(J)),1)):L3("",!0)])):L3("",!0),S("div",SE,[(z(!0),Q(O3,null,X3(se(J),(e1,i0)=>(z(),Q("i",{key:e1.key||e1.name,style:X1({height:`${e1.percent}%`,background:e1.color,color:e1.color}),"data-chart-tooltip":N2(J,e1)},null,12,wE))),128))]),S("span",null,c2(Z1(J.name)),1)],10,gE))),128))])],2)):r.value==="peak"?(z(),Q("div",{key:17,class:s1(["business-peaks",{"is-dense":b.value.length>5}])},[K.value?(z(),Q("small",bE,"单位:"+c2(K.value),1)):L3("",!0),(z(!0),Q(O3,null,X3(b.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:"business-peak-item",style:X1({"--peak-height":`${d2(J)}%`,"--peak-color":g3(X2)}),"data-hover-value":m0(J),title:m0(J),"data-chart-tooltip":N0(J)},[S("strong",null,[oe(c2(m2(J)),1),W3(J)?(z(),Q("em",CE,c2(W3(J)),1)):L3("",!0)]),f2[17]||(f2[17]=S("div",{class:"business-peak-stage"},[S("i")],-1)),S("span",null,c2(Z1(J.name)),1)],12,TE))),128))],2)):r.value==="line"?(z(),Q("div",AE,[S("div",{class:"business-line-chart",onMousemove:x3,onMouseleave:f2[5]||(f2[5]=J=>o1.value=null)},[(z(),Q("svg",xE,[f2[18]||(f2[18]=S("path",{class:"business-line-grid",d:"M0 18H320M0 44H320M0 70H320"},null,-1)),S("polyline",{class:"business-line-area",points:r1.value},null,8,_E),S("polyline",{class:"business-line-stroke",points:Y3.value},null,8,ME),(z(!0),Q(O3,null,X3(q1.value,(J,X2)=>(z(),Q("circle",{key:X2,cx:J.x,cy:J.y,r:"3",class:s1(["business-line-dot",{"is-active":X2===ye.value}])},null,10,PE))),128)),(z(!0),Q(O3,null,X3(q1.value,(J,X2)=>(z(),Q("circle",{key:`hit-${X2}`,cx:J.x,cy:J.y,r:"13",class:"business-line-hit",onMouseenter:e1=>o1.value=X2},null,40,kE))),128))])),S("div",{class:"business-line-hover-zones",style:X1(D0.value)},[(z(!0),Q(O3,null,X3(q1.value,(J,X2)=>(z(),Q("i",{key:`zone-${X2}`,onMouseenter:e1=>o1.value=X2},null,40,EE))),128))],4),Q0.value?(z(),Q("div",{key:0,class:"business-line-tooltip",style:X1(Le.value)},[S("span",null,c2(Q0.value.item.name),1),S("strong",null,[oe(c2(m2(Q0.value.item)),1),Q0.value.item.unit?(z(),Q("em",NE,c2(Q0.value.item.unit),1)):L3("",!0)])],4)):L3("",!0)],32),S("div",{class:"business-line-labels",style:X1(D0.value)},[(z(!0),Q(O3,null,X3(O0.value,J=>(z(),Q("span",{key:J.key||J.name},c2(Z1(J.name)),1))),128))],4)])):r.value==="balanceGaugeGrid"?(z(),Q("div",{key:19,class:s1(["business-balance-gauge-grid",{"is-single":A2.value.length===1}])},[(z(!0),Q(O3,null,X3(A2.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-balance-gauge-card",{"is-active":X2===j3.value}]),style:X1(W2(J)),"data-chart-tooltip":e3(J)},[S("div",LE,[S("strong",null,c2(V2(J)),1)]),S("div",IE,[S("div",FE,[S("strong",null,c2(m2(J)),1),D2(J)?(z(),Q("em",BE,c2(D2(J)),1)):L3("",!0)])]),S("div",DE,c2(J.name),1),J.extra?(z(),Q("div",GE,c2(J.extra),1)):L3("",!0)],14,RE))),128))],2)):r.value==="gauge"?(z(),Q("div",{key:20,class:s1(["business-gauges",{"is-dense":v2.value.length>3}])},[(z(!0),Q(O3,null,X3(v2.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:s1(["business-gauge-item",{"is-active":X2===j3.value,"is-safe":B2(J)<=0,"is-low-rate":B2(J)>0&&B2(J)<5,"is-alert":B2(J)>100}]),style:X1({"--gauge-color":Z(J,X2),"--needle-rotate":`${V(J)}deg`}),"data-chart-tooltip":e3(J)},[S("div",OE,[(z(),Q("svg",jE,[f2[19]||(f2[19]=S("path",{class:"business-gauge-track",d:"M24 76 A52 52 0 0 1 128 76",pathLength:"100"},null,-1)),S("path",{class:"business-gauge-progress",d:"M24 76 A52 52 0 0 1 128 76",pathLength:"100","stroke-dasharray":`${A(J)} 100`},null,8,zE),f2[20]||(f2[20]=S("path",{class:"business-gauge-glow",d:"M38 76 A38 38 0 0 1 114 76"},null,-1))])),f2[21]||(f2[21]=S("i",{class:"business-gauge-needle"},null,-1)),f2[22]||(f2[22]=S("b",{class:"business-gauge-pivot"},null,-1)),S("div",YE,[S("strong",null,[oe(c2(m2(J)),1),D2(J)?(z(),Q("em",$E,c2(D2(J)),1)):L3("",!0)]),S("small",null,c2(V2(J)),1)])]),S("span",WE,c2(J.name),1),J.extra?(z(),Q("small",VE,c2(J.extra),1)):L3("",!0)],14,UE))),128))],2)):r.value==="heat"?(z(),Q("div",{key:21,class:s1(["business-heat",{"is-dense":p2.value.length>6}])},[(z(!0),Q(O3,null,X3(p2.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:"business-heat-cell",style:X1(h2(J,X2)),"data-chart-tooltip":N0(J)},[f2[23]||(f2[23]=S("i",null,null,-1)),S("span",null,c2(J.name),1),S("strong",null,[oe(c2(m2(J)),1),J.unit?(z(),Q("em",KE,c2(J.unit),1)):L3("",!0)])],12,HE))),128))],2)):r.value==="split"?(z(),Q("div",{key:22,class:s1(["business-split",{"is-dense":p.value.length>8||((Z2=t.panel)==null?void 0:Z2.variant)==="compact"}])},[S("div",qE,[(z(!0),Q(O3,null,X3(p.value,(J,X2)=>(z(),Q("i",{key:J.key||J.name,style:X1({width:`${E3(J)}%`,background:g3(X2)}),"data-chart-tooltip":b3(J)},null,12,JE))),128))]),S("div",QE,[(z(!0),Q(O3,null,X3(p.value,(J,X2)=>(z(),Q("div",{key:J.key||J.name,class:"business-split-row","data-chart-tooltip":b3(J)},[S("span",null,[S("i",{style:X1({background:g3(X2)})},null,4),oe(c2(J.name),1)]),S("strong",null,c2(m2(J))+c2(J.unit),1)],8,XE))),128))])],2)):(z(),he(If,{key:23,rows:o.value,compact:""},null,8,["rows"])):(z(),Q("div",fP,"暂无业务统计数据")),(z(),he(zC,{to:"body"},[O.value.visible?(z(),Q("div",{key:0,class:"business-chart-tooltip",style:X1(H3.value)},[S("strong",null,c2(O.value.title),1),(z(!0),Q(O3,null,X3(O.value.lines,J=>(z(),Q("span",{key:J},c2(J),1))),128))],4)):L3("",!0)]))],34)}}};const ZE={class:"feature-info"},eN={key:0,class:"feature-info-state"},tN={key:1,class:"feature-info-state"},nN={key:2,class:"feature-info-state"},aN={key:0,class:"feature-table"},iN=["title"],rN={key:1,class:"feature-info-state is-inline"},Ga={__name:"FeatureInfoPanel",props:{feature:{type:Object,default:null},empty:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:Number,default:380},width:{type:Number,default:430},compactGrassland:{type:Boolean,default:!1}},setup(t){const e=t,n=[[["townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","areaCode","area_code"],"所在乡镇"],[["village_name","cunName","cun_name","cun","c_name","cmc"],"所在村"],[["full_name"],"所在区域"],[["land_number","patch_no"],"图斑编号"],[["areaWanMu","area_wan_mu","area_mu","acreage","mj","xbmj","tbdlmj","tbmj","geomj","shape_area"],"图斑面积"]],a=[[["investigator"],"调查人"],[["survey_time","dc_rq","sjnf","delimitation_year"],"调查时间"],[["adjust_opinion_name"],"调整意见"],[["adjust_reason"],"调整原因"]],i=[[["pastureName","pasture_name"],"所属牧场"],[["yakCount","yak_count"],"牦牛数量"],[["acreage","area_mu","mj","xbmj","tbdlmj","tbmj","geomj","shape_area","areaWanMu","area_wan_mu"],"草场面积"],[["full_name","townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","areaCode","area_code"],"所在区域"],[["grassTypeName","grass_type_name","grassland_type_name","grassType","grass_type"],"草原类"],[["grasslandLevelName","grassland_level_name","grasslandLevel","grassland_level","level_name","level"],"草原级别"],[["vegetationCover","vegetation_cover"],"植被盖度"],[["xcMuYield","xc_mu_yield","xbXcMuYield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["gcMuYield","gc_mu_yield","xbGcMuYield","xb_gc_mu_yield"],"干草亩产"]],o={"artificial-grassland":[[["plot_name","name"],"图斑名称"],[["plot_code"],"图斑编号"],[["town","town_name"],"所在乡镇"],[["plot_category"],"图斑类别"],[["data_status"],"数据状态"],[["source_type"],"资料类型"],[["data_source"],"数据来源"]],woodland:[[["dlmc","layer_class_name"],"地类名称"],...n,[["qsdwmc"],"权属单位"],[["zldwmc"],"坐落单位"],[["lin_ban"],"林班"],[["xiao_ban"],"小班"],[["ld_qs","tdsyqs","qsxz","ownership_name","ownership"],"土地权属"],[["gjgyl_bhdj","bh_dj","protection_level_name","protection_level"],"保护等级"],[["sen_lin_lb","forest_type"],"森林类别"],[["lin_zhong","forest_category"],"林种"],[["zl_dj","quality_level_name","quality_level"],"质量等级"],[["you_shi_sz","tree_species","dominant_tree_species"],"优势树种"],[["qi_yuan","origin"],"起源"],[["ling_zu"],"龄组"],[["yu_bi_du"],"郁闭度"],[["pingjun_sg"],"平均树高"],[["mei_gq_zs"],"每公顷株数"],[["mei_gq_xj"],"每公顷蓄积"],[["huo_lm_xj"],"活立木蓄积"],[["sheng_wu_l"],"生物量"],[["tan_chu_l"],"碳储量"],[["stqwmc"],"生态区位"],[["po_du","slope"],"坡度"],[["po_wei"],"坡位"],[["tu_ceng_hd","soil_depth"],"土层厚度"],...a],grassland:[...i,[["pastureName","pasture_name"],"所属牧场"],...n,[["land_class_name","landUseName","land_use_name","landUse","land_use"],"地类名称"],[["landType","land_type"],"资源大类"],[["resourceType","resource_type"],"资源类别"],[["grasslandCategory","grassland_category_name","grassland category","base_grass"],"草原类别"],[["basic_type_name"],"基本草原类型"],[["grassTypeName","grass_type_name","grassland_type_name","grassType","grass_type"],"草原类"],[["grassMinType","grass_min_type"],"草原型"],[["grasslandLevelName","grassland_level_name","grasslandLevel","grassland_level","level_name","level"],"草原级别"],[["degradationLevelName","degradation_level_name","degradationLevel","degradation_level"],"退化等级"],[["vegetationStructureName","vegetation_structure_name","vegetationStructure","vegetation_structure"],"植被结构"],[["vegetationCover","vegetation_cover"],"植被盖度"],[["lbmjbl"],"裸斑面积比例"],[["dominanceLevel","dominance_level"],"优势度"],[["dominantGrassSpecies","dominant_grass_species"],"优势草种"],[["functionalCategory","functional_category"],"功能类别"],[["xcYield","xc_yield"],"鲜草产量"],[["xcMuYield","xc_mu_yield","xbXcMuYield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["xbXcYield","xb_xc_yield"],"小班鲜草产量"],[["xbXcMuYield","xb_xc_mu_yield"],"小班鲜草亩产"],[["gcYield","gc_yield"],"干草产量"],[["gcMuYield","gc_mu_yield","xbGcMuYield","xb_gc_mu_yield"],"干草亩产"],[["xbGcYield","xb_gc_yield"],"小班干草产量"],[["xbGcMuYield","xb_gc_mu_yield"],"小班干草亩产"],[["elevation"],"海拔"],[["landformName","landform_name","landform"],"地貌"],[["slope"],"坡度"],[["aspect"],"坡向"],[["soilDepth","soil_depth","tu_ceng_hd"],"土层厚度"],[["soil texture"],"土壤质地"],[["sddl"],"三调地类"],[["hqlm"],"划区轮牧"],[["cdsyq"],"草地所有权"],[["cdsyq2"],"草地使用权"],[["cdjjq"],"草地经营权"],...a],wetland:[[["grass_min_type","grassland_category_name","grassland_type_name","land_class_name","land_use_name"],"湿地类型"],...n,[["grass_type_name","grass_type"],"湿地草地型"],[["grassland_level_name","grassland_level","level_name","level"],"湿地级别"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield","xb_xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["edible_xc_yield"],"可食鲜草产量"],[["edible_xc_mu_yield"],"可食鲜草亩产"],[["gc_yield","xb_gc_yield"],"干草产量"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["soil_depth","tu_ceng_hd"],"土层厚度"],...a],ecological:[[["type"],"管控分区"],[["project_name","projectName","name"],"项目名称"],[["project_category","projectCategory"],"项目类型"],[["company"],"实施单位"],[["leader"],"负责人"],[["project_status","projectStatus","status"],"项目状态"],[["full_name","fullName"],"所在区域"],[["address"],"项目地址"],[["measure_type"],"措施类型"],[["feature_role"],"要素类型"],[["township"],"涉及乡镇"],[["year"],"建设年份"],[["progress_count","progressCount"],"进度记录"],[["totalAcreage"],"总面积"],[["cdAcreage"],"草地面积"],[["sdAcreage"],"湿地面积"],[["area_mu"],"治理面积"],[["length_meter"],"工程长度"],[["cdScl"],"草地生产力"],[["sdScl"],"湿地生产力"],[["geometry_type"],"几何类型"]]},s={land_type:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},landType:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},vegetation_structure:{1:"草本型"},landform:{2:"平原",5:"中山",6:"高山"},land_use:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},sddl:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},ld_qs:{10:"集体林地",20:"国有或其他"},qsxz:{10:"集体林地",20:"国有或其他"},tdsyqs:{10:"集体林地",20:"国有或其他"},gjgyl_bhdj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},bh_dj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},zl_dj:{2:"二级质量",3:"三级质量",4:"四级质量",5:"五级质量"},po_wei:{1:"脊部",2:"上坡",3:"中坡",4:"下坡",5:"谷地",6:"平地"}},u=new Set(["lin_zhong","sen_lin_lb","you_shi_sz","qi_yuan","ling_zu","po_xiang","tu_rang_lx","ownership","ownership_name","protection_level","forest_category","forest_type","quality_level","origin","tree_species","dominant_tree_species","base_grass","degradation_level","land_class","grass_type"]),m={xiang:"所在乡镇",xzqdm:"所在乡镇",xzqmc:"所在乡镇",town_code:"所在乡镇",area_code:"所在乡镇",areaCode:"所在乡镇",cun:"所在村",cmc:"所在村",c_name:"所在村",acreage:"图斑面积",mj:"图斑面积",xbmj:"小班面积",tbdlmj:"图斑地类面积",geomj:"图斑面积",tbmj:"图斑面积",shape_area:"图斑面积",area_mu:"图斑面积",pastureName:"所属牧场",pasture_name:"所属牧场",pastureAcreage:"牧场面积",pasture_acreage:"牧场面积",relationAcreage:"关系面积",relation_acreage:"关系面积",pastureOverlapAcreage:"重叠面积",pasture_overlap_acreage:"重叠面积",relatedPastureCount:"关联牧场数",related_pasture_count:"关联牧场数",relatedPastureNames:"关联牧场",related_pasture_names:"关联牧场",yakCount:"牦牛数量",yak_count:"牦牛数量",grass_min_type:"草原型",grassMinType:"草原型",grass_type:"草原类",grassType:"草原类",grass_type_name:"草原类",grassTypeName:"草原类",grassland_type_name:"草原类",patch_no:"图斑编号",land_number:"图斑编号",grassland_level:"草原级别",grasslandLevel:"草原级别",grassland_level_name:"草原级别",grasslandLevelName:"草原级别",level:"等级",level_name:"等级",land_class_name:"地类名称",land_use_name:"地类名称",landUseName:"地类名称",landUse:"地类名称",basic_type_name:"草原类型",grassland_category_name:"草原类别",grasslandCategory:"草原类别",degradation_level:"退化等级",degradationLevel:"退化等级",degradation_level_name:"退化等级",degradationLevelName:"退化等级",vegetation_structure:"植被结构",vegetationStructure:"植被结构",vegetation_structure_name:"植被结构",vegetationStructureName:"植被结构",xc_yield:"鲜草产量",xcYield:"鲜草产量",gc_yield:"干草产量",gcYield:"干草产量",xc_mu_yield:"鲜草亩产",xcMuYield:"鲜草亩产",gc_mu_yield:"干草亩产",gcMuYield:"干草亩产",mu_yield:"亩产",edible_xc_yield:"可食鲜草产量",edible_xc_mu_yield:"可食鲜草亩产",dlmc:"地类名称",qsdwmc:"权属单位",zldwmc:"坐落单位",lin_ban:"林班",xiao_ban:"小班",ld_qs:"土地权属",tdsyqs:"土地权属",qsxz:"土地权属",gjgyl_bhdj:"保护等级",bh_dj:"保护等级",sen_lin_lb:"森林类别",lin_zhong:"林种",zl_dj:"质量等级",you_shi_sz:"优势树种",qi_yuan:"起源",cdsyq:"草地所有权",cdsyq2:"草地使用权",cdjjq:"草地经营权",resource_type:"资源类型","grassland category":"草原类别",dominant_grass_species:"优势草种",functional_category:"功能类别",functionalCategory:"功能类别",vegetation_cover:"植被盖度",vegetationCover:"植被盖度",xb_xc_yield:"小班鲜草产量",xbXcYield:"小班鲜草产量",xb_gc_yield:"小班干草产量",xbGcYield:"小班干草产量",base_grass:"基本草原",hqlm:"划区轮牧",elevation:"海拔",soil_depth:"土层厚度","soil texture":"土壤质地",aspect:"坡向",slope:"坡度",landform:"地貌",landform_name:"地貌",sddl:"三调地类",dominance_level:"优势度",investigator:"调查人",survey_time:"调查时间",land_type:"土地类型",landType:"土地类型",status:"状态",type:"类型",xb_gc_mu_yield:"干草亩产",xbGcMuYield:"干草亩产",xb_xc_mu_yield:"鲜草亩产",xbXcMuYield:"鲜草亩产",grass_yield:"草地产量",grassYield:"草地产量",full_name:"所在区域",gyl_bhlx:"公益林保护类型",ling_zu:"龄组",yu_bi_du:"郁闭度",pingjun_xj:"平均胸径",mei_gq_zs:"每公顷株数",mei_gq_xj:"每公顷蓄积",stqwmc:"生态区位",lyfq:"林业分区",qykz:"区域控制",po_wei:"坡位",tu_rang_zd:"土壤质地",zzsxmc:"主导属性",lin_chang:"林场",di_mao:"地貌",jt_qw:"交通区位",zbfglx:"植被覆盖类型",disaster_c:"灾害类型",dispe:"病虫害",pingjun_sg:"平均树高",huo_lm_xj:"活立木蓄积",sheng_wu_l:"生物量",tan_chu_l:"碳储量",g_cheng_lb:"工程类别",shi_quan_d:"事权等级",sf_tbq:"是否特别区",td_th_lx:"土地退化类型",project_name:"项目名称",projectName:"项目名称",project_category:"项目类型",projectCategory:"项目类型",company:"实施单位",leader:"负责人",project_status:"项目状态",projectStatus:"项目状态",address:"项目地址",conclusion:"工程结论",progress_count:"进度记录",progressCount:"进度记录",measure_type:"措施类型",measureType:"措施类型",feature_role:"要素类型",featureRole:"要素类型",township:"涉及乡镇",year:"建设年份",length_meter:"工程长度",lengthMeter:"工程长度",geometry_type:"几何类型",geometryType:"几何类型",totalAcreage:"总面积",cdAcreage:"草地面积",sdAcreage:"湿地面积",cdScl:"草地生产力",sdScl:"湿地生产力"},h=new Set(Object.keys(m)),p=new Set(["pingjun_sg","pingjun_xj","mei_gq_zs","mei_gq_xj","huo_lm_xj","sheng_wu_l","tan_chu_l","yu_bi_du","grass_yield","xb_xc_yield","xb_xc_mu_yield","xc_mu_yield","xb_gc_yield","xb_gc_mu_yield","gc_mu_yield"]),g=new Set(["xb_xc_yield","xb_gc_yield","grass_yield","gc_yield","xc_yield","yield","output","remark1","remark2","remark3","remark4","remark5","remarks"]),b=new Set(["full_name","fullName","townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town","town_code","areaCode","area_code"]),F=[...ln].sort((d3,F3)=>F3.length-d3.length),H=l2(()=>{var d3;return((d3=e.feature)==null?void 0:d3.properties)||{}}),K=l2(()=>{var d3,F3,U3;return((F3=(d3=e.feature)==null?void 0:d3.feature)==null?void 0:F3.geometry)||((U3=e.feature)==null?void 0:U3.geometry)||null}),e2=l2(()=>{var U3,a3;const d3=String(((a3=(U3=e.feature)==null?void 0:U3.layer)==null?void 0:a3.key)||"").toLowerCase(),F3=H.value;return d3.includes("artificial-grassland")||String(F3.stageKey||"")==="artificial-grassland"}),p2=l2(()=>{var N3,_3,o1,w1,U1;const d3=String(((N3=e.feature)==null?void 0:N3.id)||"").toLowerCase(),F3=String(((o1=(_3=e.feature)==null?void 0:_3.layer)==null?void 0:o1.key)||"").toLowerCase(),U3=String(((U1=(w1=e.feature)==null?void 0:w1.layer)==null?void 0:U1.layerName)||"").toLowerCase(),a3=`${F3} ${U3}`,F2=H.value;return e2.value?"artificial-grassland":a3.includes("national-park")||a3.includes("restoration")||F2.project_name||F2.project_category||F2.totalAcreage?"ecological":F2.dlmc||d3.includes("woodland")||d3.includes("t_woodland")||a3.includes("woodland")?"woodland":a3.includes("wetland")||a3.includes("shidi")||d3.includes("shidi")||F2.land_type==="shidi"||F2.landType==="shidi"||F2.land_type==="湿地"||F2.landType==="湿地"||F2.land_type===2||F2.landType===2||F2.landType==="2"?"wetland":a3.includes("grassland")||a3.includes("caodi")||F2.grassland_category_name||F2.grasslandCategory||F2.basic_type_name||d3.includes("caodi")||F2.land_type==="caodi"||F2.landType==="caodi"||F2.land_type===1||F2.landType===1||F2.landType==="1"?"grassland":"woodland"}),v2=l2(()=>{const d3=[],F3=new Set,U3=p2.value==="grassland",a3=U3&&e.compactGrassland;(a3?i:o[p2.value]||o.woodland).forEach(([_3,o1])=>{const w1=K2(H.value,_3,o1,F3);w1&&!d3.some(U1=>U1.label===w1.label)&&(d3.push(w1),F3.add(w1.sourceKey))});const N3=U3?"草场面积":"图斑面积";return!e2.value&&!d3.some(_3=>_3.label===N3||_3.label==="图斑面积")&&q2(d3,F3,N3,E1(K.value),"geometry-area"),a3?d3.slice(0,10):(Object.entries(H.value).forEach(([_3,o1])=>{if(F3.has(_3)||S1(_3,o1))return;const w1=c3(_3,o1);$2(w1)&&(d3.some(U1=>U1.value===w1||U1.label===(m[_3]||Q1(_3)))||(d3.push({key:`fallback-${_3}`,sourceKey:_3,label:m[_3]||Q1(_3),value:w1}),F3.add(_3)))}),d3)}),A2=l2(()=>v2.value.map((d3,F3)=>J2(L2({},d3),{displayOrder:_2(d3,F3)})).sort((d3,F3)=>d3.displayOrder-F3.displayOrder));function _2(d3,F3){const U3=(d3==null?void 0:d3.label)||"",a3=String((d3==null?void 0:d3.sourceKey)||"").toLowerCase();return["所属牧场","牦牛数量","草场面积","牧场面积","关系面积","重叠面积","关联牧场数","关联牧场"].includes(U3)||["图斑名称","所在乡镇","所在村","所在区域","图斑编号","图斑类别","数据状态","资料类型","数据来源","图斑面积","小班面积","图斑地类面积","地类名称","湿地类型"].includes(U3)?F3:["基本草原类型","草原类型","草原类","草原型","湿地草地型","草原级别","湿地级别","退化等级","功能类别","保护等级","森林类别","林种","质量等级","优势树种","起源","龄组"].includes(U3)?100+F3:U3.includes("产量")||U3.includes("亩产")||U3.includes("植被")||U3.includes("优势草种")||U3.includes("优势度")||U3.includes("海拔")||U3.includes("地貌")||U3.includes("坡")||U3.includes("土壤")||U3.includes("郁闭度")||U3.includes("树高")||U3.includes("蓄积")||U3.includes("生物量")||U3.includes("碳储量")?200+F3:U3.includes("权属")||U3.includes("所有权")||U3.includes("使用权")||U3.includes("经营权")||U3.includes("调查")||U3.includes("调整")||U3.includes("划区")||U3.includes("单位")||a3.includes("owner")||a3.includes("qsdw")||a3.includes("zldw")?300+F3:150+F3}function q2(d3,F3,U3,a3,F2){!$2(a3)||d3.some(N3=>N3.label===U3||N3.value===a3)||(d3.push({key:`static-${F2}`,sourceKey:F2,label:U3,value:a3}),F3.add(F2))}function K2(d3,F3,U3,a3=new Set){for(const F2 of F3)if(!(a3.has(F2)||y1(F2))&&$2(d3==null?void 0:d3[F2])){const N3=c3(F2,d3[F2]);if(!$2(N3))continue;return{key:`${U3}-${F2}`,sourceKey:F2,label:U3,value:N3}}return null}function $2(d3){return d3!=null&&d3!==""&&d3!==" "&&d3!=="null"&&d3!=="undefined"}function c3(d3,F3){var F2;if(!$2(F3))return"";if((F2=s[d3])!=null&&F2[String(F3)])return s[d3][String(F3)];if(b.has(d3))return p3(d3,F3);if(["cun","village_code"].includes(d3)&&S3(F3))return"";if(["grassland_level","grasslandLevel","level"].includes(d3)&&I3(F3))return p2.value==="wetland"?`${Number(F3)}级湿地`:`${Number(F3)}级草原`;if(u.has(d3)&&S3(F3)||l1(d3,F3))return"";if(a1(d3))return C1(F3);if(typeof F3=="number"||/^-?\d+(\.\d+)?$/.test(String(F3))){const N3=Number(F3);if(N3===0&&p.has(d3))return"";const _3=Number.isInteger(N3)?`${N3}`:`${Number(N3.toFixed(2))}`;return["xbmj","tbdlmj","geomj","area_square_meter"].includes(d3)?`${A3(N3/666.6667)} 亩`:["acreage","mj","area_mu","pastureAcreage","pasture_acreage","relationAcreage","relation_acreage","pastureOverlapAcreage","pasture_overlap_acreage"].includes(d3)?`${_3} 亩`:["yakCount","yak_count"].includes(d3)?`${_3} 头`:["relatedPastureCount","related_pasture_count"].includes(d3)?`${_3} 个`:["length_meter"].includes(d3)?`${_3} 米`:["totalAcreage","cdAcreage","sdAcreage"].includes(d3)?`${_3} 万亩`:["cdScl","sdScl"].includes(d3)?`${_3} 万吨`:["areaWanMu","area_wan_mu"].includes(d3)?`${_3} 万亩`:["xc_yield","xcYield","xb_xc_yield","xbXcYield","gc_yield","gcYield","xb_gc_yield","xbGcYield","edible_xc_yield","grass_yield","grassYield"].includes(d3)?`${_3} 斤`:["mu_yield","xc_mu_yield","xcMuYield","gc_mu_yield","gcMuYield","xb_xc_mu_yield","xbXcMuYield","xb_gc_mu_yield","xbGcMuYield","edible_xc_mu_yield"].includes(d3)?`${_3} 斤`:["vegetation_cover","vegetationCover","lbmjbl","yu_bi_du"].includes(d3)?`${_3}%`:["elevation","tu_ceng_hd","soilDepth","soil_depth","pingjun_sg"].includes(d3)?`${_3} 米`:["po_du","slope"].includes(d3)?`${_3}°`:_3}const a3=String(F3);return p2.value==="wetland"&&["grassland_level","grasslandLevel","level"].includes(d3)?a3.replace(/草原/g,"湿地"):a3}function p3(d3,F3){if(["xiang","xzqdm","town_code","area_code","areaCode"].includes(d3)){const U3=z3(F3);if(U3)return U3}return y3(F3)}function y3(d3){const F3=String(d3||"").trim();if(!F3)return"";const U3=F3.replace(/\s+/g,""),a3=Ca(U3);if(a3)return a3;const F2=F.find(o1=>U3.includes(o1));if(F2)return U3.slice(U3.indexOf(F2));const N3=U3.indexOf("红原县");if(N3>=0)return U3.slice(N3+3)||U3;const _3=U3.match(/县(.+)$/);return(_3==null?void 0:_3[1])||F3}function z3(d3){const F3=String(d3||"").trim();if(!F3)return"";const U3=F3.replace(/\D/g,""),a3=Ca(U3||F3);return a3||(S3(F3)?"":F3)}function S3(d3){return/^[0-9A-Za-z_-]{1,12}$/.test(String(d3).trim())}function I3(d3){return/^-?\d+(\.\d+)?$/.test(String(d3).trim())}function A3(d3){return Number.isInteger(d3)?`${d3}`:`${Number(d3.toFixed(2))}`}function a1(d3){return["survey_time","dc_rq","create_time","update_time"].includes(String(d3))}function C1(d3){const F3=String(d3);return/^\d{4}-\d{2}-\d{2}/.test(F3)?F3.slice(0,10):F3}function y1(d3){const F3=String(d3).toLowerCase();return["geom","wkt","geometry","the_geom","raw_properties"].includes(F3)||["bsm","ysdm","gid","id","objectid","object_id","fid","key_uid"].includes(F3)||["shape_leng","shape_length","length","perimeter"].includes(F3)?!0:["xzqdm","area_code","town_code","patch_no","land_number","plot_code"].includes(F3)?!1:["di_lei","qykz","stqw","lyfq","tbybh","patch_code"].includes(F3)||F3.endsWith("_code")||F3.endsWith("dm")||F3.endsWith("_id")||["create_by","create_time","update_by","update_time"].includes(F3)?!0:F3.includes("geom")||F3.includes("boundary")||F3.includes("wkb")}function S1(d3,F3){var a3;if(y1(d3)||!$2(F3))return!0;const U3=String(d3).toLowerCase();return!!(g.has(U3)||U3.includes("number")||U3.includes("patch_no")||!h.has(d3)||S3(F3)&&!((a3=s[d3])!=null&&a3[String(F3)])&&!["xiang","xzqdm","town_code","area_code","cun","land_type","grassland_level","level","gjgyl_bhdj","bh_dj","ld_qs","qsxz","tdsyqs","zl_dj"].includes(d3))}function l1(d3,F3){var U3;return!S3(F3)||(U3=s[d3])!=null&&U3[String(F3)]?!1:["resource_type","grassland category","functional_category","aspect","soil_depth","soil texture","cdsyq","cdsyq2","cdjjq"].includes(d3)}function E1(d3){const F3=t0(d3);if(!F3)return"";const U3=F3/666.6667;return U3>=1e4?`${A3(U3/1e4)} 万亩`:`${A3(U3)} 亩`}function t0(d3){return d3!=null&&d3.coordinates?d3.type==="Polygon"?o0(d3.coordinates):d3.type==="MultiPolygon"?d3.coordinates.reduce((F3,U3)=>F3+o0(U3),0):0:0}function o0(d3=[]){if(!d3.length)return 0;const[F3,...U3]=d3,a3=Math.abs(G1(F3)),F2=U3.reduce((N3,_3)=>N3+Math.abs(G1(_3)),0);return Math.max(0,a3-F2)}function G1(d3=[]){if(d3.length<3)return 0;const F3=d3.reduce((N3,_3)=>N3+Number((_3==null?void 0:_3[1])||0),0)/d3.length,U3=111320,a3=U3*Math.cos(F3*Math.PI/180);let F2=0;for(let N3=0;N3F3.toUpperCase())}return(d3,F3)=>(z(),he(_0,{title:"图斑详情",width:t.width,height:t.height},{default:f0(()=>[S("div",ZE,[t.loading?(z(),Q("div",eN,"正在查询图斑信息")):t.empty?(z(),Q("div",tN,"当前点击位置未查询到图斑")):t.feature?(z(),Q(O3,{key:3},[A2.value.length?(z(),Q("div",aN,[(z(!0),Q(O3,null,X3(A2.value,U3=>(z(),Q("div",{key:U3.key,class:"feature-row"},[S("span",null,c2(U3.label),1),S("strong",{title:U3.value},c2(U3.value),9,iN)]))),128))])):(z(),Q("div",rN,"当前图斑暂无可展示的业务字段"))],64)):(z(),Q("div",nN,"点击地图图层查看图斑/要素信息"))])]),_:1},8,["width","height"]))}};const oN={class:"topic-switcher"},sN={class:"topic-switcher-menu"},lN=["onPointerup","onClick"],uN={class:"topic-title"},cN={key:0},Ua={__name:"TopicSwitcher",props:{modelValue:{type:String,required:!0},topics:{type:Array,default:()=>j8}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,a=e;let i="",r=0;const o=l2(()=>{var u;return(u=n.topics)!=null&&u.length?n.topics:j8});function s(u,m){var p,g;if((g=(p=u.currentTarget)==null?void 0:p.blur)==null||g.call(p),m===n.modelValue)return;const h=Date.now();u.type==="click"&&i===m&&h-r<450||(u.type==="pointerup"&&(i=m,r=h),a("update:modelValue",m))}return(u,m)=>(z(),Q("div",oN,[m[0]||(m[0]=S("div",{class:"topic-switcher-arrow"},[S("img",{src:qi,alt:""}),S("img",{src:Ji,alt:""})],-1)),S("div",sN,[(z(!0),Q(O3,null,X3(o.value,h=>(z(),Q("button",{key:h.key,class:s1(["topic-switcher-item",{"is-active":h.key===t.modelValue}]),style:X1({"--topic-color":h.color,"--topic-item-width":h.width?`${h.width}px`:void 0}),type:"button",onPointerup:p=>s(p,h.key),onClick:p=>s(p,h.key)},[S("span",{class:s1(["topic-name",{"has-sub-name":h.subName}])},[S("span",uN,c2(h.name),1),h.subName?(z(),Q("small",cN,c2(h.subName),1)):L3("",!0)],2)],46,lN))),128))]),m[1]||(m[1]=S("div",{class:"topic-switcher-arrow is-reverse"},[S("img",{src:qi,alt:""}),S("img",{src:Ji,alt:""})],-1))]))}},dN=12e3;function fN(t,e={}){const n=new URLSearchParams;Object.entries(e).forEach(([i,r])=>{r!=null&&r!==""&&n.append(i,r)});const a=n.toString();return a?`${t}${t.includes("?")?"&":"?"}${a}`:t}function In(n){return k3(this,arguments,function*(t,e={}){const m=e,{params:a,timeout:i=dN}=m,r=s8(m,["params","timeout"]),o=new AbortController;let s=!1;const u=window.setTimeout(()=>{s=!0,o.abort()},i);try{const h=yield fetch(fN(t,a),J2(L2({credentials:"include"},r),{signal:o.signal,headers:L2({Accept:"application/json"},r.headers||{})}));if(!h.ok){const g=new Error(h.status===401?"用户未登录或授权已过期。":`HTTP ${h.status}`);throw g.code=`HTTP_${h.status}`,g.status=h.status,h.status===401&&Xd(),g}const p=yield h.json();if((p==null?void 0:p.code)===401||(p==null?void 0:p.code)==="401"){const g=new Error((p==null?void 0:p.msg)||"用户未登录或授权已过期。");throw g.code="HTTP_401",g.status=401,Xd(),g}return p}catch(h){if(o.signal.aborted||(h==null?void 0:h.name)==="AbortError"||/aborted/i.test((h==null?void 0:h.message)||"")){const g=new Error(s?"服务响应超时,请稍后再试。":"请求已取消,请重新发送。");throw g.code=s?"REQUEST_TIMEOUT":"REQUEST_ABORTED",g}throw h}finally{window.clearTimeout(u)}})}function x0(t){return(t==null?void 0:t.data)!==void 0?t.data:(t==null?void 0:t.result)!==void 0?t.result:t}const hN="/jsyApi",mN=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"];function pN(t){return/^https?:\/\//.test(t)?t:`${hN}${t.startsWith("/")?t:`/${t}`}`}function gN(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"视频监控接口请求失败");throw n.code=t==null?void 0:t.code,n}return x0(t)}function U6(t,e,n=""){for(const a of e)if((t==null?void 0:t[a])!==void 0&&(t==null?void 0:t[a])!==null&&(t==null?void 0:t[a])!=="")return t[a];return n}function yN(t,e){for(const n of e)if((t==null?void 0:t[n])!==void 0&&(t==null?void 0:t[n])!==null&&(t==null?void 0:t[n])!=="")return{key:n,value:t[n]};return null}function Cp(t){return U6(t,["token","accessToken","access_token"])}function vN(t){return U6(t,["hdPlayUrl","hd_play_url","playUrl","play_url","url"])}function lu(t){return!!(Cp(t)&&vN(t))}function SN(t){return yN(t,["isOnline","is_online","online","onlineStatus","online_status","statusName","status_name","deviceStatus","device_status","cameraStatus","camera_status","rawStatus","raw_status","status","state","deviceState","device_state"])}function Ap(t){const e=lu(t),n=SN(t);if(!n)return{online:e,raw:"",reason:e?"后台未返回设备状态":"缺少播放地址或令牌"};const a=n.value;if(typeof a=="boolean")return{online:a,raw:a?"在线":"离线",reason:`后台状态:${a?"在线":"离线"}`};const i=String(a!=null?a:"").trim().toLowerCase();return i?typeof a=="number"||/^-?\d+(\.\d+)?$/.test(i)?{online:Number(a)!==0,raw:String(a),reason:`后台状态:${a}`}:["true","online","on","open","running","active","enabled"].includes(i)?{online:!0,raw:String(a),reason:`后台状态:${a}`}:["false","offline","off","closed","disabled","stop","stopped"].includes(i)?{online:!1,raw:String(a),reason:`后台状态:${a}`}:/(离线|不在线|未在线|断线|断开|异常|故障|停用|不可用|offline|disabled|closed|stop)/i.test(i)?{online:!1,raw:String(a),reason:`后台状态:${a}`}:/(在线|直播中|正常|启用|可用|online|enabled|open|running|active)/i.test(i)?{online:!0,raw:String(a),reason:`后台状态:${a}`}:{online:e,raw:String(a),reason:`后台状态:${a}`}:{online:e,raw:"",reason:e?"后台状态为空":"缺少播放地址或令牌"}}function wN(t){return Ap(t).online}function bN(t){return U6(t,["previewImgUrl","preview_img_url","latestCaptureUrl","latest_capture_url","img","image","cover","snapshot"])}function TN(t){return U6(t,["lastCaptureTime","last_capture_time","captureTime","capture_time","latestCaptureTime","latest_capture_time"])}function CN(t){return!!(lu(t)&&wN(t))}function AN(t=""){const e=String(t);return mN.find(a=>e.includes(a.replace(/[镇乡]$/,"")))||"红原县"}function xN(t=""){const e=String(t);return e.includes("养殖")?"养殖基地":e.includes("饲草")?"饲草基地":e.includes("种草")||e.includes("牧草")?"牧草基地":e.includes("虫情")?"虫情监测":e.includes("机场")?"机场周边":"重点点位"}function _N(t,e){const n=U6(t,["hdPlayUrl","playUrl","url"]),a=String(n).match(/\/(\d+)(?:\.hd)?\.live/i);return a?a[1].padStart(2,"0"):String(e+1).padStart(2,"0")}function MN(){return new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function PN(t,e,n,a){const i=U6(t,["name","title","deviceName"],`视频监控${e+1}`),r=U6(t,["hdPlayUrl","hd_play_url","url"]),o=U6(t,["playUrl","play_url"],r),s=Cp(t),u=Ap(t),m=!!(lu(t)&&u.online),h=n?Math.round(a/n*100):0;return{key:U6(t,["id","number","deviceSerial"],`${i}-${e}`),title:i,town:AN(i),scene:xN(i),device:U6(t,["number","deviceSerial","serialNumber"],`CAM-${String(e+1).padStart(3,"0")}`),channel:_N(t,e),cameraCount:n,status:m?"直播中":"离线",rawStatus:u.raw,statusReason:u.reason,onlineRate:h,updateTime:MN(),operator:m?"萤石云 · 在线预览":u.reason,progress:m?100:0,image:bN(t),lastCaptureTime:TN(t),playUrl:o,hdPlayUrl:r,token:s,source:t}}function xp(){return k3(this,arguments,function*(t={}){const s=t,{includeOffline:e=!1}=s,n=s8(s,["includeOffline"]),a=yield In(pN("/api/home/monitorings"),{params:n,timeout:18e3}).then(gN),i=Array.isArray(a)?a:(a==null?void 0:a.rows)||(a==null?void 0:a.list)||[],r=i.filter(CN),o=i.map((u,m)=>PN(u,m,i.length,r.length));return e?o.sort((u,m)=>+(m.status==="直播中")-+(u.status==="直播中")):o.filter(u=>u.status==="直播中")})}const uu="/geoserver/ne/wms",kN={}.VITE_GEOSERVER_WFS_URL||uu.replace(/\/wms$/i,"/wfs"),EN={}.VITE_GEOSERVER_WMTS_URL||"/geoserver/gwc/service/wmts";function Rr(t,e){const n=new URLSearchParams;return Object.entries(e).forEach(([a,i])=>{i!=null&&i!==""&&n.append(a,i)}),`${t}${t.includes("?")?"&":"?"}${n.toString()}`}function NN(t,e={}){const n=e.bounds||$1,a=e.size||I6;return Rr(e.url||uu,{service:"WMS",version:"1.1.1",request:"GetMap",layers:t.layerName,styles:t.styles||"",format:"image/png",transparent:!0,tiled:!0,srs:"EPSG:4326",bbox:[n.west,n.south,n.east,n.north].join(","),width:a.width,height:a.height,CQL_FILTER:e.cqlFilter||t.cqlFilter,SLD_BODY:e.sldBody||t.sldBody,_:Date.now()})}function RN(t,e={}){var r,o,s,u,m;const n=t.tileMatrixSetID||t.tileMatrixSet||"EPSG:900913",a=Number((u=(s=(o=(r=e.z)!=null?r:e.zoom)!=null?o:t.wmtsZoom)!=null?s:t.homeWmtsZoom)!=null?u:0),i=e.tileMatrix||((m=t.tileMatrixLabels)==null?void 0:m[a])||`${n}:${a}`;return Rr(e.url||t.url||EN,{service:"WMTS",version:"1.0.0",request:"GetTile",layer:t.layerName,style:t.style||t.styles||"",format:t.format||"image/png",tileMatrixSet:n,tileMatrix:i,tileRow:e.y,tileCol:e.x})}function LN(t,e,n={}){var r,o;const a=n.bounds||$1,i=n.size||I6;return Rr(n.url||uu,{service:"WMS",version:"1.1.1",request:"GetFeatureInfo",layers:t.layerName,query_layers:t.layerName,styles:t.styles||"",info_format:"application/json",feature_count:5,srs:"EPSG:4326",bbox:[a.west,a.south,a.east,a.north].join(","),width:i.width,height:i.height,x:Math.round(e.x),y:Math.round(e.y),buffer:(o=(r=n.buffer)!=null?r:t.queryBuffer)!=null?o:8,CQL_FILTER:n.cqlFilter||t.cqlFilter,SLD_BODY:n.sldBody||t.sldBody})}function fh(a,i){return k3(this,arguments,function*(t,e,n={}){const r=LN(t,e,n);return In(r,{credentials:"include"})})}function IN(t,e={}){return Rr(e.url||kN,{service:"WFS",version:e.version||"1.0.0",request:"GetFeature",typeName:t,outputFormat:"json",propertyName:Array.isArray(e.propertyName)?e.propertyName.join(","):e.propertyName,CQL_FILTER:e.cqlFilter,maxFeatures:e.maxFeatures||2e5})}function or(n){return k3(this,arguments,function*(t,e={}){const a=IN(t,e);return In(a,{credentials:"include",timeout:e.timeout||2e4})})}const FN="/openApi",H5=756.37,xl=297.29,un=291.82,BN=16.47,DN=177.92,GN=[{key:"none",name:"未退化",value:481.8,unit:"万亩"},{key:"light",name:"轻度退化",value:231.25,unit:"万亩"},{key:"middle",name:"中度退化",value:23.7,unit:"万亩"},{key:"heavy",name:"重度退化",value:20.21,unit:"万亩"}],UN=ln.map(W8),gi=["#32DCFF","#24F6C4","#8BF7FF","#46E7FF","#19FFC6","#5CDFFF"],b9=["#19FFC6","#32DCFF","#8BF7FF","#46E7FF","#24F6C4","#5CDFFF"];function _p(t){return/^https?:\/\//.test(t)?t:`${FN}${t.startsWith("/")?t:`/${t}`}`}function U5(t,e){return In(_p(t),{method:"POST",body:e?JSON.stringify(e):void 0,headers:{"Content-Type":"application/json"}})}function re(t,e){return In(_p(t),{params:e})}function Mp(t,e=[]){const n=[...e.map(a=>t==null?void 0:t[a]),...e.map(a=>{var i;return(i=t==null?void 0:t.data)==null?void 0:i[a]}),...e.map(a=>{var i;return(i=t==null?void 0:t.result)==null?void 0:i[a]}),t==null?void 0:t.data,t==null?void 0:t.result,t];for(const a of n)if(Array.isArray(a)){const i=a.find(r=>r&&typeof r=="object");if(i)return i}else if(a&&typeof a=="object")return a;return null}function Pp(t){return k3(this,null,function*(){if(!t)return null;const e=x0(yield re("/woodland/detail",{wkt:t}));return Mp(e,["woodland"])})}function ON(t){return k3(this,null,function*(){if(!t)return null;const e=x0(yield re("/basic_grassland/detail",{wkt:t}));return Mp(e,["basicGrassland"])})}function l0(t,e){for(const n of e)if((t==null?void 0:t[n])!==void 0&&(t==null?void 0:t[n])!==null&&(t==null?void 0:t[n])!=="")return t[n]}function dt(t){if(t==null||t==="")return;const e=Number(t);return Number.isNaN(e)?void 0:e}function d0(t){const e=dt(t);if(e!==void 0)return Number.isInteger(e)?e:Number(e.toFixed(2))}function cu(t,e,n){const a=dt(t),i=dt(e),r=dt(n);if(a===void 0||i===void 0||r===void 0)return[d0(e),d0(n)];const o=i+r;if(!o)return[0,0];const s=d0(i/o*a);return[s,d0(Math.max(a-s,0))]}function qn(t,e){const n=dt(t),a=dt(e);if(!(n===void 0||a===void 0||a===0))return n/a*100}function yi(t,e,n="占比"){var i;const a=d0((i=l0(t,["areaPercent","area_percent","percent"]))!=null?i:qn(l0(t,["areaWanMu","value"]),e));return a===void 0?"":`${n} ${a}%`}function L6(t,e=""){const n=d0(l0(t,["areaPercent","area_percent","percent"]));return n===void 0?"":`${e}${n}%`}function jN(t,e=0){const n=l0(t,["name","title","label","zh","itemName","item_name"])||`指标${e+1}`,a=d0(l0(t,["value","num","count","area","acreage","total"])),i=l0(t,["unit","unitName","unit_name"])||"";return{key:l0(t,["id","key","code"])||`${n}-${e}`,name:n,value:a,unit:i,source:t}}function zN(t){return(Array.isArray(t)?t:(t==null?void 0:t.rows)||(t==null?void 0:t.list)||[]).map(jN).filter(n=>n.name)}function YN(t){const e=(t==null?void 0:t.core)||(t==null?void 0:t.summary)||t||{},n=((t==null?void 0:t.typeDistribution)||(t==null?void 0:t.typeStats)||[])[0]||{},a=((t==null?void 0:t.ecologicalPosition)||[])[0]||{};return[{key:"woodland-area",name:"林地总面积",value:d0(l0(e,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${l0(n,["name"])||"主导类型"}占比`,value:d0(l0(n,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:d0(l0(a,["areaWanMu","value"])),unit:"万亩"}]}function $N(t){const e=(t==null?void 0:t.overview)||(t==null?void 0:t.summary)||t||{},n=l0(e,["areaUnit","area_unit"])||"万亩",[a,i]=cu(H5,l0(e,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"]),l0(e,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"]));return[{key:"grassland-total-area",name:"草地面积",value:H5,unit:n},{key:"basic-grassland-area",name:"基本草原",value:a,unit:n},{key:"general-grassland-area",name:"一般草原",value:i,unit:n}]}function P9(t,e){const i=({woodland:[{key:"woodland-area",name:"林地总面积",unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",unit:"%"}],grassland:[{key:"grassland-area",name:"草地面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}],wetland:[{key:"wetland-area",name:"湿地面积",unit:"万亩"},{key:"wetland-yield",name:"湿地生产力",unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",unit:"万亩"}]}[e]||[]).map((r,o)=>{var s,u;return J2(L2(L2({},r),t[o]||{}),{name:((s=t[o])==null?void 0:s.name)||r.name,unit:((u=t[o])==null?void 0:u.unit)||r.unit})});return e==="wetland"&&i[0]&&(i[0]=J2(L2({},i[0]),{key:i[0].key||"wetland-area",name:"湿地面积",value:un,unit:i[0].unit||"万亩"})),i.length?i:t}function WN(t){return k3(this,null,function*(){let e;for(const n of t)try{return yield n()}catch(a){e=a}throw e||new Error("No request configured")})}function xe(t=[],e={}){const{nameKeys:n=["name","townName","typeName"],valueKeys:a=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:i="万亩",max:r=Number.POSITIVE_INFINITY,extra:o}=e,s=t.map((u,m)=>{const h=d0(l0(u,a)),p={key:l0(u,["key","code","townCode"])||`${l0(u,n)||m}-${m}`,name:l0(u,n)||`第${m+1}项`,value:h,unit:i,percent:d0(l0(u,["percent","areaPercent","basicRatio","generalRatio"])),source:u};return o?J2(L2({},p),{extra:o(u)}):p}).sort((u,m)=>(Number(m.value)||0)-(Number(u.value)||0));return Number.isFinite(r)?s.slice(0,r):s}function vi(t=[],e={}){const{nameKeys:n=["name"],valueKeys:a=["value"],unit:i,max:r=Number.POSITIVE_INFINITY,extra:o}=e;return xe(t,{nameKeys:n,valueKeys:a,unit:i,max:r,extra:o})}function VN(t=[],e={}){const{nameKeys:n=["grassMinType","name"],valueKeys:a=["acreage"],unit:i="万亩",max:r=Number.POSITIVE_INFINITY}=e,o=t.map((s,u)=>{const m=l0(s,a),h=d0(i==="万亩"?dt(m)/1e4:m),p=l0(s,n)||`第${u+1}项`;return{key:l0(s,["key","code"])||`${p}-${u}`,name:p,value:h,unit:i,source:s}}).filter(s=>Number(s.value)>0).sort((s,u)=>(Number(u.value)||0)-(Number(s.value)||0));return Number.isFinite(r)?o.slice(0,r):o}function U0(t,e,n,a="rank",i={}){return L2({key:t,title:e,type:a,rows:n||[]},i)}function sr(t=[],e=[],n={}){const{unit:a="万吨",max:i=Number.POSITIVE_INFINITY,showMuYieldExtra:r=!0}=n,o=new Map(e.map(s=>[s.areaName,s]));return xe(t,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:a,max:i,extra:s=>{const u=o.get(s.areaName),m=d0(l0(u,["yield","value"])),h=l0(u,["unit"])||"斤";return r&&m!==void 0?`亩产 ${m} ${h}`:""}})}function W8(t){return String(t||"").replace(/\s+/g,"").trim()}function Ma(t=[]){const e=new Map(UN.map((n,a)=>[n,a]));return[...t].sort((n,a)=>{const i=e.get(W8(n==null?void 0:n.name)),r=e.get(W8(a==null?void 0:a.name));return i!==void 0&&r!==void 0?i-r:i!==void 0?-1:r!==void 0?1:0})}function kp(t){const e=String(t||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[e]||e}function lr(t){return kp(t).replace(/\s+/g,"").replace(/类$/,"")}function ur(t){const e=String(t||""),n=e.match(/level-([1-8])/);if(n)return n[1];const a=e.match(/([1-8])\s*级/);if(a)return a[1];if(/^[1-8]$/.test(e.trim()))return e.trim();const r=Object.entries({一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8"}).find(([o])=>e.includes(`${o}级`));return(r==null?void 0:r[1])||""}function Ep(t){return ur(t==null?void 0:t.key)||ur(t==null?void 0:t.name)}function Lr(t=[],e={}){const{nameKeys:n=["name","townName","areaName"],valueKeys:a=["areaWanMu","value","totalAreaWanMu","yield"],unit:i="万亩"}=e;return t.map((r,o)=>{const s=W8(l0(r,n)),u=d0(l0(r,a));return!s||u===void 0?null:{key:l0(r,["key","code","townCode"])||`${s}-${o}`,name:s,value:u,unit:l0(r,["unit"])||i,source:r}}).filter(Boolean).sort((r,o)=>(Number(o.value)||0)-(Number(r.value)||0))}function _l(t=[],e={}){const{nameKeys:n=["townName","name","areaName"],valueKeys:a=["areaWanMu","value","totalAreaWanMu","yield"],unit:i="万亩"}=e,r=new Map;return t.forEach(o=>{const s=W8(l0(o,n)),u=dt(l0(o,a));if(!s||u===void 0)return;const m=r.get(s)||{key:l0(o,["townCode","code"])||s,name:s,value:0,unit:l0(o,["unit"])||i,source:[]};m.value+=u,m.source.push(o),r.set(s,m)}),Array.from(r.values()).map(o=>J2(L2({},o),{value:d0(o.value)})).sort((o,s)=>(Number(s.value)||0)-(Number(o.value)||0))}function j6({topicKey:t,layerKey:e,title:n,unit:a="万亩",rows:i=[],note:r="",metricLabel:o=""}){const s=i.filter(u=>(u==null?void 0:u.name)&&u.value!==void 0).sort((u,m)=>(Number(m.value)||0)-(Number(u.value)||0)).map((u,m)=>J2(L2({},u),{unit:u.unit||a,rank:m+1}));return{status:s.length?"success":"empty",topicKey:t,layerKey:e,title:n,unit:a,metricLabel:o,note:r,rows:s}}function Si(o){return k3(this,arguments,function*({topicKey:t,layerKey:e,layerName:n,title:a,cqlFilter:i="",unit:r="万亩"}){const s=yield or(n,{propertyName:["xiang","acreage"],cqlFilter:i,maxFeatures:2e5}),u=new Map;return((s==null?void 0:s.features)||[]).forEach(m=>{const h=m.properties||{},p=String(h.xiang||""),g=Ca(p),b=dt(h.acreage);if(!g||b===void 0)return;const F=u.get(g)||{key:p,name:g,value:0,unit:r};F.value+=b/1e4,u.set(g,F)}),j6({topicKey:t,layerKey:e,title:a,unit:r,rows:Array.from(u.values()).map(m=>J2(L2({},m),{value:d0(m.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function HN(t,e,n="林地面积排行"){return k3(this,null,function*(){const a=x0(yield U5("/woodland/distribution"));return j6({topicKey:t,layerKey:e,title:n,unit:"万亩",rows:Lr((a==null?void 0:a.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function hh(t,e,n,a){return k3(this,null,function*(){const i=x0(yield re("/basic_grassland/overview"));return j6({topicKey:t,layerKey:e,title:a,unit:"万亩",rows:Lr((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:[n],unit:"万亩"})})})}function KN(t={},e=[],n=[]){const a=l0(t,n);if(a)return W8(a);const i=e.map(o=>l0(t,[o])).find(o=>o!==void 0),r=String(i||"").slice(0,9);return Ca(r)}function qN(t,e,n,a){return k3(this,null,function*(){const i=(a==null?void 0:a.rankingTownCodeKeys)||(n==null?void 0:n.rankingTownCodeKeys)||["area_code","xiang","town_code"],r=(a==null?void 0:a.rankingTownNameKeys)||(n==null?void 0:n.rankingTownNameKeys)||["town_name","area_name","xiang_name"],o=(a==null?void 0:a.rankingAreaKeys)||(n==null?void 0:n.rankingAreaKeys)||["acreage","area_mu","area"],s=(a==null?void 0:a.rankingPropertyName)||[...i,...r,...o],u=yield or(n.layerName,{propertyName:s,cqlFilter:a.cqlFilter,maxFeatures:2e5,timeout:25e3}),m=new Map;return((u==null?void 0:u.features)||[]).forEach(h=>{const p=h.properties||{},g=KN(p,i,r),b=dt(l0(p,o));if(!g||b===void 0)return;const F=m.get(g)||{key:g,name:g,value:0,unit:"万亩"};F.value+=b/1e4,m.set(g,F)}),j6({topicKey:t,layerKey:e,title:`${a.name}面积排行`,unit:"万亩",metricLabel:a.name,rows:Array.from(m.values()).map(h=>J2(L2({},h),{value:d0(h.value),metricLabel:a.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function JN(t,e,n){return k3(this,null,function*(){const a=x0(yield re("/basic_grassland/overview"));return j6({topicKey:t,layerKey:e,title:`${n.name}面积排行`,unit:"万亩",metricLabel:n.name,rows:Lr((a==null?void 0:a.townStats)||[],{nameKeys:["name"],valueKeys:[n.rankingValueKey],unit:"万亩"}).map(i=>J2(L2({},i),{metricLabel:n.name}))})})}function Ir(t,e,n,a,i={}){const r=S8(a||[],i).map(o=>J2(L2({},o),{metricLabel:n.name}));return j6({topicKey:t,layerKey:e,title:`${n.name}面积排行`,unit:"万亩",metricLabel:n.name,rows:r})}function QN(t,e,n){return k3(this,null,function*(){const a=Ep(n);if(!a)return null;const i=x0(yield re("/grassland_grassland_level/distribution"));return Ir(t,e,n,i,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:r=>ur(l0(r,["level","name"]))===a})})}function XN(t,e,n){return k3(this,null,function*(){const a=lr(n.name);if(!a)return null;const[i,r]=yield Promise.all([Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_grass_type/distribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_grass_type/minTypeAreaDistribution"))}))]);return Ir(t,e,n,[...i||[],...r||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=l0(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return lr(s)===a}})})}function ZN(t,e,n){return k3(this,null,function*(){const a=Ep(n);if(!a)return null;const i=x0(yield re("/wetland_grassland_level/distribution"));return Ir(t,e,n,i,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:r=>ur(l0(r,["level","name"]))===a})})}function eR(t,e,n){return k3(this,null,function*(){const a=lr(n.name);if(!a)return null;const[i,r]=yield Promise.all([Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grass_type_copy/distribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return Ir(t,e,n,[...i||[],...r||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=l0(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return lr(s)===a}})})}function tR(t,e,n){return k3(this,null,function*(){if(!(n!=null&&n.key))return null;const a=W5(t,e);return a?t==="grassland"&&e==="basic-grassland"&&n.rankingValueKey?JN(t,e,n):t==="grassland"&&e==="grassland-level"?QN(t,e,n):t==="grassland"&&e==="grassland-type"?XN(t,e,n):t==="wetland"&&e==="wetland-level"?ZN(t,e,n):t==="wetland"&&e==="wetland-type"?eR(t,e,n):n.cqlFilter&&a.layerName?qN(t,e,a,n):null:null})}function wi(t,e,n,a,i="万吨"){return k3(this,null,function*(){const r=x0(yield re(n)),o=l0(r==null?void 0:r[0],["unit"])||i;return j6({topicKey:t,layerKey:e,title:a,unit:o,rows:Lr(r||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:o})})})}function Ft(t=[],e=5){return t.slice(0,e)}function R8(t=[],e={}){var h,p;const{limit:n=5,minPercent:a=1,otherName:i="其他类型"}=e,r=t.filter(g=>(g==null?void 0:g.name)&&Number(g.value)>0).sort((g,b)=>(Number(b.value)||0)-(Number(g.value)||0)),o=r.reduce((g,b)=>g+(Number(b.value)||0),0);if(!o||r.length<=n)return r;const s=[],u=[];if(r.forEach((g,b)=>{const F=qn(g.value,o);b=a)?s.push(g):u.push(g)}),!u.length)return s;const m=u.reduce((g,b)=>g+(Number(b.value)||0),0);return[...s,{key:`${i}-${u.length}`,name:i,value:d0(m),unit:((h=u[0])==null?void 0:h.unit)||((p=r[0])==null?void 0:p.unit)||"万亩",extra:`${d0(qn(m,o))}%`}]}function g6(t=[]){return t.reduce((e,n)=>e+(Number(n.value)||0),0)}function Nn(t=[],e=g6(t),n=""){return t.map(a=>{const i=d0(qn(a.value,e));return J2(L2({},a),{extra:i===void 0?a.extra:`${n}${i}%`})})}function L8(t=[],e,n={}){const{key:a="unclassified",name:i="未分类",unit:r="万亩",sort:o=!0}=n,s=dt(e);if(s===void 0)return t;const u=g6(t),m=d0(s-u);if(m===void 0||m<=.01)return t;const h=[...t,{key:a,name:i,value:m,unit:r}];return o?h.sort((p,g)=>(Number(g.value)||0)-(Number(p.value)||0)):h}function na(t=[],e){const n=dt(e),a=g6(t);if(n===void 0||!a)return t;let i=0;return t.map((r,o)=>{const s=o===t.length-1,u=d0(s?Math.max(n-i,0):(Number(r.value)||0)/a*n);return i+=Number(u)||0,J2(L2({},r),{value:u})})}function u6(t=[],e=[]){return e.length?t.map((n,a)=>J2(L2({},n),{color:(n==null?void 0:n.color)||(n==null?void 0:n.fillColor)||e[a%e.length]})):t}function mh(t){return Array.isArray(t==null?void 0:t.rows)&&t.rows.length>0}function zn(t=[],e=[],n=4){const a=[],i=new Set,r=s=>{!s||i.has(s.key)||(i.add(s.key),a.push(s))},o=[...t,...e];return o.filter(mh).forEach(r),o.filter(s=>s&&!mh(s)).forEach(r),a.slice(0,n)}function nR(t,e,n={}){return t&&L2(J2(L2({},t),{type:e}),n)}function Ne(t=[]){const e=["bar","line","donut","column","structure","heat","peak","split"],n={bar:["heat","column","structure","line"],line:["bar","column","heat"],donut:["structure","split","bar"],column:["heat","bar","line","structure"],structure:["split","donut","bar"],heat:["bar","column","structure"],peak:["column","bar","line"],split:["structure","donut","bar"]},a=new Set;return t.map(i=>{if(!(i!=null&&i.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(i.type))return i;const r=i.type==="donut"&&i.variant==="ring"?"donut-ring":i.type;if(i.fixedType||!a.has(r))return a.add(r),i;const o=(n[i.type]||e).find(s=>!a.has(s))||i.type;return a.add(o),nR(i,o,{variant:o===i.type?i.variant:void 0})})}function ph(t=[],e={}){const{headCount:n=4,headName:a="重点区域",tailName:i="其他区域"}=e,r=t.filter(m=>(m==null?void 0:m.name)&&Number(m.value)>0);if(!r.length)return[];const o=r.slice(0,n),s=r.slice(n),u=(m,h)=>{var p,g;return{key:m,name:m,value:d0(h.reduce((b,F)=>b+(Number(F.value)||0),0)),unit:((p=h[0])==null?void 0:p.unit)||((g=r[0])==null?void 0:g.unit)||"万亩",extra:`${h.length}项`}};return[u(a,o),s.length?u(i,s):null].filter(m=>m&&Number(m.value)>0)}function I8(t,e,n){var s,u,m,h;if(e==="woodland"||!n)return t;const a={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[e],i=((s=t==null?void 0:t.layerPanels)==null?void 0:s[n])||((u=t==null?void 0:t.layerPanels)==null?void 0:u[a]);if(!i)return t;const r=(m=i.leftPanels)!=null&&m.length?i.leftPanels:t.leftPanels,o=(h=i.rightPanels)!=null&&h.length?i.rightPanels:t.rightPanels;return J2(L2({},t),{activeLayerKey:n||a,leftPanels:r,rightPanels:o,left:(r==null?void 0:r[0])||t.left,right:(o==null?void 0:o[0])||t.right})}function Np(t,e=["areaWanMu","value","acreage","areaMu"]){for(const n of e){const a=l0(t,[n]),i=dt(a);if(i===void 0)continue;const r=String(n).toLowerCase(),o=String(l0(t,["unit","areaUnit","area_unit"])||"");return r.includes("wanmu")||o==="万亩"?i:r.includes("mu")||o==="亩"?i/1e4:i}}function S8(t=[],e={}){const{nameKeys:n=["name","areaName","townName"],valueKeys:a=["areaWanMu","value","acreage","areaMu"],nameTransform:i=u=>u,filter:r,extra:o}=e,s=new Map;return t.forEach(u=>{if(r&&!r(u))return;const m=l0(u,n),h=i(m,u),p=Np(u,a);if(!h||p===void 0)return;const g=s.get(h)||{key:l0(u,["key","code","townCode"])||h,name:h,value:0,unit:"万亩",source:[]};g.value+=p,g.source.push(u),s.set(h,g)}),Array.from(s.values()).map(u=>{const m=J2(L2({},u),{value:d0(u.value)});return o?J2(L2({},m),{extra:o(m)}):m}).filter(u=>Number(u.value)>0).sort((u,m)=>(Number(m.value)||0)-(Number(u.value)||0))}function gh(t){return String(t||"").replace(/草原/g,"湿地")}function aR(t={},e=[]){var o;const n=(t==null?void 0:t.unit)||l0(e==null?void 0:e[0],["unit"])||"万吨",a=(o=dt(t==null?void 0:t.xc))!=null?o:g6(e),i=dt(t==null?void 0:t.edibleXc),r=a!==void 0&&i!==void 0?Math.max(a-i,0):void 0;return[{key:"wetland-yield-edible",name:"可食鲜草",value:d0(i),unit:n,extra:`${d0(qn(i,a))}%`},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:d0(r),unit:n,extra:`${d0(qn(r,a))}%`}].filter(s=>s.value!==void 0)}function iR(t={},e=[],n=[]){var u;const a=(t==null?void 0:t.unit)||l0(e==null?void 0:e[0],["unit"])||l0(n==null?void 0:n[0],["unit"])||"万吨",i=(u=dt(t==null?void 0:t.xc))!=null?u:g6(n),r=dt(t==null?void 0:t.edibleXc),o=g6(e),s=r!==void 0||o>0?Math.max(r||0,o||0):void 0;return J2(L2({},t),{xc:d0(i),edibleXc:d0(s),unit:a})}function Rp({yieldSummary:t,townAreaRows:e,typeRows:n,levelRows:a,yieldRows:i,minTypeRows:r,muYieldRows:o,edibleYieldRows:s,edibleMuRows:u,typeTownRows:m,levelTownRows:h,minTownRows:p}){const g=U0("wetland-town-area","湿地面积分布",u6(Ma(e),gi),"column",{span:1,variant:"plain"}),b=U0("wetland-type","湿地类型结构",u6(n,gi),"donut",{span:1}),F=U0("wetland-level-proportion","湿地级占比",u6(Nn(a),gi),"donut",{span:1,variant:"ring"}),H=U0("wetland-min-type","湿地优势小类",u6(Ft(r,6),gi),"bar",{span:1,variant:"raceBarNoWrap"}),K=U0("wetland-yield-capacity","湿地产能结构",aR(t,i),"structure",{span:1}),e2=U0("wetland-yield","湿地生产力分布",Ma(i),"line",{span:1,fixedType:!0}),p2=U0("wetland-edible-yield","可食鲜草产量",Ft(s,ln.length),"column",{span:1,variant:"slim"}),v2=U0("wetland-mu-yield","湿地亩产效率",Ft(o,ln.length),"heat",{span:1,limit:ln.length}),A2=U0("wetland-level","湿地级别面积",a,"column",{span:1}),_2=U0("wetland-level-town","1级湿地分布",Ft(h,ln.length),"bar",{span:1,variant:"distribution"}),q2=U0("wetland-type-town","湿地类型乡镇分布",Ft(m,ln.length),"bar",{span:1,variant:"distribution"}),K2=U0("wetland-edible-mu","可食鲜草亩产",Ft(u,ln.length),"bar",{span:1}),$2=U0("wetland-min-town","优势小类乡镇分布",Ft(p,ln.length),"bar",{span:1,variant:"distribution"}),c3=Ne([g,b,F,H]),p3=Ne([p2,e2,v2,K]);return{leftPanels:c3,rightPanels:p3,left:c3[0],right:p3[0],layerPanels:rR({townAreaPanel:g,typePanel:b,yieldCapacityPanel:K,yieldPanel:e2,levelPanel:A2,levelTownPanel:_2,muYieldPanel:v2,levelStructurePanel:F,typeTownPanel:q2,minTypePanel:H,edibleYieldPanel:p2,edibleMuPanel:K2,minTownPanel:$2})}}function rR(t={}){const{townAreaPanel:e,typePanel:n,yieldCapacityPanel:a,yieldPanel:i,levelPanel:r,levelTownPanel:o,muYieldPanel:s,levelStructurePanel:u,typeTownPanel:m,minTypePanel:h,edibleYieldPanel:p,edibleMuPanel:g,minTownPanel:b}=t;return{"wetland-distribution":{leftPanels:Ne([e,n,u,h].filter(Boolean)),rightPanels:Ne([p,i,s,a].filter(Boolean))},"wetland-level":{leftPanels:Ne([u,r,o,n].filter(Boolean)),rightPanels:Ne([p,i,s,a].filter(Boolean))},"wetland-type":{leftPanels:Ne([n,m,h,b].filter(Boolean)),rightPanels:Ne([p,i,g,a].filter(Boolean))},"wetland-yield":{leftPanels:Ne([e,n,u,h].filter(Boolean)),rightPanels:Ne([p,i,s,a].filter(Boolean))}}}function oR(t={}){const{leftPanels:e=[],rightPanels:n=[]}=t,a={leftPanels:Ne(e.filter(Boolean)),rightPanels:Ne(n.filter(Boolean))};return{"grassland-distribution":a,"basic-grassland":a,"grassland-level":a,"grassland-type":a,"grassland-yield":a,"grassland-health":a}}function Lp({townRows:t=[],typeRows:e=[],scaleRows:n=[],protectionRows:a=[],ownershipRows:i=[],qualityRows:r=[],originRows:o=[],ageRows:s=[],canopyRows:u=[],forestTypeRows:m=[],manageLevelRows:h=[],regionRows:p=[],ownerRows:g=[],typeTownRows:b=[],qualityLevelRows:F=[],townConcentrationRows:H=ph(t,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:K=ph(e,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const e2=U0("woodland-town","林地面积分布",u6(Ma(t),b9),"column",{span:1,variant:"plain",lineOverlay:!0}),p2=U0("woodland-type","林地类型结构",u6(e,b9),"donut",{span:1,variant:"ring"}),v2=U0("woodland-protection","公益林保护等级",u6(Nn(a),b9),"bar",{span:1,variant:"raceBarRelaxed"}),A2=U0("woodland-ownership","林地权属结构",u6(Nn(i),b9),"structure",{span:1}),_2=U0("woodland-quality","优势树种面积",Ft(r,6),"bar",{span:1,variant:"raceBarNoWrap"}),q2=U0("woodland-origin","林地起源结构",Nn(o),"structure",{span:1}),K2=U0("woodland-age","林龄组结构",Ft(s,6),"column",{span:1}),$2=U0("woodland-canopy","郁闭度结构",u6(Ft(u,6),b9),"donut",{span:1,fixedType:!0}),c3=U0("woodland-area-scale","林地图斑规模",n,"column",{span:1}),p3=U0("woodland-forest-type","森林类别结构",Ft(m,6),"bar",{span:1}),y3=U0("woodland-manage-level","管护等级分布",Ft(h,6),"bar",{span:1}),z3=U0("woodland-public-rank","公益林面积排行",Ft(p,6),"bar",{span:1,variant:"distribution"}),S3=U0("woodland-owner-rank","权属单位排行",Ft(g,6),"bar",{span:1}),I3=U0("woodland-type-town","乡镇类型构成",Ft(b,6),"bar",{span:1,variant:"distribution"}),A3=U0("woodland-quality-level","林地质量等级",Nn(F),"donut",{span:1}),a1=U0("woodland-town-concentration","林地集中度",u6(Nn(H),b9),"structure",{span:1}),C1=U0("woodland-type-concentration","类型集中度",u6(Nn(K),b9),"rose",{span:1}),y1=Ne(zn([e2,p2,v2,A2],[c3,S3,p3,_2])),S1=Ne(zn([_2,q2,K2,$2],[c3,S3,p3,z3,a1,C1]));return{leftPanels:y1,rightPanels:S1,left:y1[0],right:S1[0],layerPanels:sR({townPanel:e2,typePanel:p2,scalePanel:c3,protectionPanel:v2,ownershipPanel:A2,qualityPanel:_2,originPanel:q2,agePanel:K2,canopyPanel:$2,forestTypePanel:p3,manageLevelPanel:y3,regionPanel:z3,ownerPanel:S3,typeTownPanel:I3,qualityLevelPanel:A3,townConcentrationPanel:a1,typeConcentrationPanel:C1})}}function sR(t={}){const{townPanel:e,typePanel:n,scalePanel:a,protectionPanel:i,ownershipPanel:r,qualityPanel:o,originPanel:s,agePanel:u,canopyPanel:m,forestTypePanel:h,manageLevelPanel:p,regionPanel:g,ownerPanel:b,typeTownPanel:F,qualityLevelPanel:H,townConcentrationPanel:K,typeConcentrationPanel:e2}=t;return{"woodland-distribution":{leftPanels:Ne(zn([e,n,i,r],[a,h,b])),rightPanels:Ne(zn([o,s,u,m],[a,b,g,K,e2,H]))},"woodland-protection":{leftPanels:Ne(zn([i,h,p,e],[n,r,a])),rightPanels:Ne(zn([g,o,s,r],[b,n,a]))},"woodland-type":{leftPanels:Ne(zn([n,e,F,a],[i,r,h])),rightPanels:Ne(zn([o,s,i,r],[u,m,b,e2]))},"woodland-quality":{leftPanels:Ne(zn([o,s,u,m],[H,a,n])),rightPanels:Ne(zn([e,n,i,r],[h,b,a]))},"woodland-ownership":{leftPanels:Ne(zn([r,b,e,n],[a,i,o])),rightPanels:Ne(zn([i,o,s,a],[h,u,m]))}}}function lR(t=GN){const e=t.map(r=>J2(L2({},r),{value:d0(r.value),unit:r.unit||"万亩"})),n=d0(H5-g6(e)),a=e.find(r=>r.name==="未退化");a&&n!==void 0&&Math.abs(n)>.01&&(a.value=d0(Math.max((Number(a.value)||0)+n,0)));const i=["未退化","轻度退化","中度退化","重度退化"];return Nn(e.sort((r,o)=>{const s=i.indexOf(r.name),u=i.indexOf(o.name);return(s===-1?99:s)-(u===-1?99:u)}),H5)}function uR(){return k3(this,null,function*(){return du()})}function Ip(t=[],e={},n=[]){var i;const a=(i=dt(e==null?void 0:e.xc))!=null?i:g6(n);return[t[0],t[1],t[2],{key:"grassland-yield-total",name:"鲜草产量",value:d0(a),unit:(e==null?void 0:e.unit)||"万吨"}].filter(r=>(r==null?void 0:r.value)!==void 0)}function cR(t={},e=[]){return J2(L2({},t),{xc:xl,unit:(t==null?void 0:t.unit)||l0(e==null?void 0:e[0],["unit"])||"万吨"})}function dR(t=[]){const e=g6(t);return t.filter(n=>n.name&&Number(n.value)>0).map(n=>J2(L2({},n),{color:fR(n.name),extra:d0(qn(n.value,e))?`${d0(qn(n.value,e))}%`:""})).sort((n,a)=>Number(a.value)-Number(n.value))}function fR(t=""){const e=String(t);return e.includes("未退化")?"#32DCFF":e.includes("重度")?"#FFE06B":e.includes("中度")?"#6EA8FF":"#24F6C4"}function Fp(t={},e=[]){var s;const n=(t==null?void 0:t.unit)||l0(e==null?void 0:e[0],["unit"])||"万吨",a=(s=dt(t==null?void 0:t.xc))!=null?s:g6(e),i=dt(t==null?void 0:t.edibleXc),r=a!==void 0&&i!==void 0?Math.max(a-i,0):void 0,o=e.find(u=>Number(u.value)>0);return[{key:"forage-total",name:"鲜草总产",value:d0(a),unit:n,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:d0(i),unit:n,scaleValue:d0(qn(i,a))},{key:"forage-unavailable",name:"不可食鲜草",value:d0(r),unit:n,scaleValue:d0(qn(r,a))},{key:"forage-top-town",name:o!=null&&o.name?`最高乡镇:${o.name}`:"最高乡镇产量",value:o==null?void 0:o.value,unit:(o==null?void 0:o.unit)||n,scaleValue:d0(qn(o==null?void 0:o.value,a))}].filter(u=>u.value!==void 0)}function du(){return{levelRows:lR(),townRows:[{key:"qiongxi",name:"邛溪镇",value:14.72,unit:"万亩"},{key:"sedi",name:"色地镇",value:13.86,unit:"万亩"},{key:"anqu",name:"安曲镇",value:12.38,unit:"万亩"},{key:"wache",name:"瓦切镇",value:10.64,unit:"万亩"},{key:"chaerma",name:"查尔玛乡",value:9.53,unit:"万亩"},{key:"amu",name:"阿木乡",value:8.71,unit:"万亩"}]}}function yh(t,e){if(t==="grassland"){const[n,a]=cu(H5,637.13,119.31),i=P9([{key:"grassland-area",name:"草地面积",value:H5,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:n,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:a,unit:"万亩"}],t),r=xe([{name:"色地镇",value:99.09,basicAreaWanMu:66.58},{name:"邛溪镇",value:93.01,basicAreaWanMu:70.6},{name:"安曲镇",value:90.08,basicAreaWanMu:73.49},{name:"阿木乡",value:86.3,basicAreaWanMu:77.31},{name:"查尔玛乡",value:80.8,basicAreaWanMu:79.04},{name:"瓦切镇",value:74.74,basicAreaWanMu:70.73},{name:"刷经寺镇",value:74.3,basicAreaWanMu:56.66},{name:"龙日镇",value:62.64,basicAreaWanMu:49.66},{name:"江茸乡",value:49.67,basicAreaWanMu:48.78},{name:"麦洼乡",value:45.82,basicAreaWanMu:44.28}],{nameKeys:["name"],valueKeys:["value"]}),o=xe([{areaName:"邛溪镇",yield:38.88},{areaName:"色地镇",yield:37.78},{areaName:"安曲镇",yield:36.77},{areaName:"查尔玛乡",yield:33.21},{areaName:"瓦切镇",yield:32.62},{areaName:"阿木乡",yield:32.17},{areaName:"龙日镇",yield:24.43},{areaName:"刷经寺镇",yield:22.51},{areaName:"麦洼乡",yield:19.5},{areaName:"江茸乡",yield:19.43}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),s=R8([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:a,unit:"万亩"},{key:"ecology",name:"生态调节草原",value:97.23,unit:"万亩"},{key:"mowing",name:"割草地",value:15.95,unit:"万亩"},{key:"improved",name:"改良草地",value:4.33,unit:"万亩"}],{limit:4,minPercent:3,otherName:"其他草原类型"}),u=xe([{areaName:"瓦切镇",yield:798.39},{areaName:"查尔玛乡",yield:794.32},{areaName:"麦洼乡",yield:784.16},{areaName:"邛溪镇",yield:772.43},{areaName:"安曲镇",yield:770.9}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),h=du().levelRows,p=Nn([{key:"level-3",name:"3级草原",value:200.9,unit:"万亩"},{key:"level-4",name:"4级草原",value:205.47,unit:"万亩"},{key:"level-5",name:"5级草原",value:385.42,unit:"万亩"},{key:"level-6",name:"6级草原",value:139.06,unit:"万亩"},{key:"level-7",name:"7级草原",value:3.68,unit:"万亩"},{key:"level-8",name:"8级草原",value:3.61,unit:"万亩"}]),g=Nn([{key:"good",name:"较健康",value:231.32,unit:"万亩"},{key:"healthy",name:"健康",value:481.87,unit:"万亩"},{key:"subhealthy",name:"亚健康",value:23.69,unit:"万亩"},{key:"unhealthy",name:"不健康",value:20.27,unit:"万亩"}]),b=Fp({xc:xl,edibleXc:192.26,unit:"万吨"},o),F=xe([{areaName:"邛溪镇",yield:24.71},{areaName:"色地镇",yield:24.18},{areaName:"安曲镇",yield:23.48},{areaName:"查尔玛乡",yield:21.26},{areaName:"瓦切镇",yield:20.88},{areaName:"阿木乡",yield:20.59},{areaName:"龙日镇",yield:15.63},{areaName:"刷经寺镇",yield:14.41},{areaName:"麦洼乡",yield:12.48},{areaName:"江茸乡",yield:12.44}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),H=Dp({core:i,townRows:r,grassTypeRows:s,grassLevelRows:p,healthRows:g,productivityRows:u,edibleYieldRows:F,forageRows:b,degradationRows:h}),K=J2(L2({status:"fallback"},H),{top:Ip(i,{xc:xl,unit:"万吨"},o)});return I8(K,t,e)}if(t==="wetland"){const n=P9([{key:"wetland-area",name:"湿地面积",value:un,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],t),a=L8(R8([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),un,{key:"wetland-type-unclassified",name:"未分类湿地"}),i=L8([{name:"1级湿地",value:213.22,unit:"万亩"},{name:"2级湿地",value:22.99,unit:"万亩"},{name:"3级湿地",value:6.42,unit:"万亩"},{name:"4级湿地",value:.36,unit:"万亩"},{name:"5级湿地",value:.02,unit:"万亩"}],un,{key:"wetland-level-unclassified",name:"未分级湿地"}),r=xe([{areaName:"色地镇",yield:21.32},{areaName:"瓦切镇",yield:17.49},{areaName:"安曲镇",yield:15.19},{areaName:"邛溪镇",yield:13.41},{areaName:"阿木乡",yield:10.37},{areaName:"龙日镇",yield:10.11},{areaName:"麦洼乡",yield:9.67},{areaName:"江茸乡",yield:5.78},{areaName:"刷经寺镇",yield:3.43},{areaName:"查尔玛乡",yield:2.08}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),o=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"},{name:"邛溪镇",value:870.48,unit:"斤"},{name:"色地镇",value:865.92,unit:"斤"},{name:"刷经寺镇",value:863.48,unit:"斤"},{name:"江茸乡",value:827.92,unit:"斤"},{name:"龙日镇",value:825.59,unit:"斤"}],s=na([{name:"瓦切镇",value:36.38,unit:"万亩"},{name:"邛溪镇",value:29.29,unit:"万亩"},{name:"阿木乡",value:25.26,unit:"万亩"},{name:"龙日镇",value:24.59,unit:"万亩"},{name:"色地镇",value:24.62,unit:"万亩"}].sort((b,F)=>F.value-b.value),un),u=L8([{name:"矮生嵩草、杂类草型",value:108.35,unit:"万亩"},{name:"高山嵩草、矮生嵩草型",value:34.36,unit:"万亩"},{name:"西藏嵩草、杂类草型",value:32.37,unit:"万亩"},{name:"早熟禾、杂类草型",value:20.99,unit:"万亩"},{name:"苔草、杂类草型",value:14.63,unit:"万亩"}],un,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),m=xe([{areaName:"色地镇",yield:2.82},{areaName:"邛溪镇",yield:2.71},{areaName:"瓦切镇",yield:2.64},{areaName:"麦洼乡",yield:1.76},{areaName:"安曲镇",yield:1.66}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),h=xe([{areaName:"阿木乡",yield:509.83},{areaName:"瓦切镇",yield:509.52},{areaName:"邛溪镇",yield:356.74},{areaName:"色地镇",yield:287.23},{areaName:"麦洼乡",yield:281.27}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),p=Rp({core:n,yieldSummary:{xc:108.84,edibleXc:BN,unit:"万吨"},townAreaRows:s,typeRows:a,levelRows:i,yieldRows:r,minTypeRows:u,muYieldRows:o,edibleYieldRows:m,edibleMuRows:h,typeTownRows:s,levelTownRows:s,minTownRows:s}),g=L2({status:"fallback",core:n,top:[n[0],n[1],n[2]]},p);return I8(g,t,e)}if(t==="woodland"){const n=P9([{key:"woodland-area",name:"林地总面积",value:177.92,unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",value:159.33,unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:89.55,unit:"%"}],t),a=xe([{name:"刷经寺镇",value:59.4,percent:33.39},{name:"色地镇",value:27.97,percent:15.72},{name:"查尔玛乡",value:22.6,percent:12.7},{name:"阿木乡",value:19.37,percent:10.89},{name:"江茸乡",value:11.61,percent:6.53},{name:"邛溪镇",value:8.29,percent:4.66},{name:"瓦切镇",value:7.98,percent:4.49},{name:"安曲镇",value:7.47,percent:4.2},{name:"龙日镇",value:7.08,percent:3.98},{name:"麦洼乡",value:6.14,percent:3.45}],{nameKeys:["name"],valueKeys:["value"],extra:p=>`占比 ${d0(p.percent)}%`}),i=R8([{name:"灌木林地",value:114.78,unit:"万亩"},{name:"乔木林地",value:49.56,unit:"万亩"},{name:"灌丛沼泽",value:8.79,unit:"万亩"},{name:"其他林地",value:4.79,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他林地"}),m=Lp({townRows:a,typeRows:i,scaleRows:[{name:"15-150亩",value:96.91,unit:"万亩"},{name:"<15亩",value:39.99,unit:"万亩"},{name:"150-1500亩",value:30.81,unit:"万亩"},{name:"≥1500亩",value:10.21,unit:"万亩"}],protectionRows:[{name:"国家二级公益林",value:158.33,unit:"万亩",extra:"88.99%"},{name:"未划定",value:18.72,unit:"万亩",extra:"10.52%"},{name:"国家一级公益林",value:.88,unit:"万亩",extra:"0.49%"}],ownershipRows:[{name:"集体林地",value:172.19,unit:"万亩",extra:"96.78%"},{name:"国有或其他",value:5.73,unit:"万亩",extra:"3.22%"}],ownerRows:[{name:"壤口村",value:42.74,unit:"万亩",extra:"占比 24.02%"},{name:"查龙村",value:16.34,unit:"万亩",extra:"占比 9.18%"},{name:"茸塔玛村",value:14.96,unit:"万亩",extra:"占比 8.41%"},{name:"峨扎村",value:9.96,unit:"万亩",extra:"占比 5.6%"},{name:"三家寨村",value:9.57,unit:"万亩",extra:"占比 5.38%"}]}),h=L2({status:"fallback",core:n,top:[n[0],n[1],n[2]]},m);return I8(h,t,e)}return{status:"empty",core:P9([],t),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function Bp(t=[],e=["name"]){const n=new Map;return t.forEach(a=>{const i=l0(a,e);!i||n.has(i)||n.set(i,a)}),Array.from(n.values())}function Ce(t,e=[]){return t().catch(()=>e)}function Rs(t=[],e={}){const{nameKeys:n=["name","health","level"],valueKeys:a=["value","acreage","areaWanMu"],unit:i="万亩",nameTransform:r=u=>u,max:o=Number.POSITIVE_INFINITY}=e,s=xe(t||[],{nameKeys:n,valueKeys:a,unit:i}).map(u=>J2(L2({},u),{name:r(u.name)}));return Nn(s).filter(u=>Number(u.value)>0).slice(0,o)}function hR(t){const e=String(t||"");return/^\d+$/.test(e)?`${e}级草原`:e.includes("级")?e.replace(/草地/g,"草原"):e}function mR(t){const e=String(t||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[e]||e}function Dp({core:t,townRows:e,grassTypeRows:n,grassLevelRows:a,healthRows:i,productivityRows:r,edibleYieldRows:o,forageRows:s,degradationRows:u}){const m=U0("grassland-town","草地面积分布",Ma(e),"column",{span:1,variant:"plain"}),h=U0("grassland-productivity-town","草地生产力分布",Ma(r),"line",{span:1,fixedType:!0}),p=U0("grassland-type-proportion","草原类占比",n,"donut",{span:1}),g=U0("grassland-edible-yield","可食鲜草产量分布",Ft(o,10),"column",{span:1,variant:"slim"}),b=U0("grassland-degradation","草地退化统计",dR(u),"bar",{span:1,variant:"degradation"}),F=U0("grassland-health-proportion","草地健康占比",i,"rose",{span:1}),H=U0("grassland-level-proportion","草原级占比",a,"donut",{span:1,variant:"ring"}),K=U0("grassland-forage-capacity","饲草供给",s,"bar",{span:1,variant:"capacity"}),e2=Ne([m,p,b,H]),p2=Ne([g,h,F,K]);return{core:t,leftPanels:e2,rightPanels:p2,left:e2[0],right:p2[0],layerPanels:oR({leftPanels:e2,rightPanels:p2})}}function pR(t,e={}){const n=zN(t),a=Bp(e.typeRows||[],["name"]),i=e.yieldRows||[],r=e.levelRows||[],o=e.minTypeRows||[],s=e.edibleRows||[],u=e.edibleMuRows||[],m=e.typeDistributionRows||[],h=e.levelDistributionRows||[],p=e.minTypeDistributionRows||[],g=e.yieldSummary||{},b=L8(R8(vi(a,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),un,{key:"wetland-type-unclassified",name:"未分类湿地"}),F=sr(i,e.muYieldRows||[],{showMuYieldExtra:!1}),H=vi(e.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:ln.length}),K=L8(vi(r,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(S3=>J2(L2({},S3),{name:gh(S3.name)})),un,{key:"wetland-level-unclassified",name:"未分级湿地"}),e2=R8(L8(VN(o),un,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),{limit:6,minPercent:1,otherName:"其他小类"}),p2=sr(s,u,{showMuYieldExtra:!1}),v2=vi(u,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:l0(u==null?void 0:u[0],["unit"])||"斤",max:ln.length}),A2=na(S8(m,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),un),_2=na(S8(m,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:S3=>{var I3;return`${((I3=S3.source)==null?void 0:I3.length)||0}类`}}),un),q2=na(S8(h,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),un),K2=S8(h,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:S3=>gh(l0(S3,["level","name"])).startsWith("1级")}),$2=na(S8(p,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:S3=>{var I3;return`${((I3=S3.source)==null?void 0:I3.filter(A3=>Np(A3,["acreage","areaWanMu","value"])>0).length)||0}型`}}),un),c3=iR(g,p2,F),p3=P9(n,"wetland"),y3=K.find(S3=>/^1级/.test(S3.name))||K[0],z3=Rp({yieldSummary:c3,townAreaRows:A2,typeRows:b,levelRows:K,yieldRows:F,minTypeRows:e2,muYieldRows:H,edibleYieldRows:p2,edibleMuRows:v2,typeTownRows:_2,levelTownRows:K2.length?K2:q2,minTownRows:$2});return L2({core:p3,top:[p3[0],p3[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:y3==null?void 0:y3.value,unit:(y3==null?void 0:y3.unit)||"万亩"}].filter(Boolean)},z3)}function gR(t={}){const e=Object.values(t.layerPanels||{}).flatMap(n=>[...(n==null?void 0:n.leftPanels)||[],...(n==null?void 0:n.rightPanels)||[]]);return[...t.leftPanels||[],...t.rightPanels||[],...e]}function yR(t,e=[]){const n=new Set(e);return gR(t).find(a=>n.has(a==null?void 0:a.key))||null}function f8(t,e,n,a,i,r={}){const o=yR(t,e);return L2(J2(L2({},o||{}),{key:n,title:a,type:i||(o==null?void 0:o.type)||"rank",rows:(o==null?void 0:o.rows)||[],span:1}),r)}function z4(t,e=[]){return[...(t==null?void 0:t.top)||[],...(t==null?void 0:t.core)||[]].find(a=>e.some(i=>(a==null?void 0:a.key)===i||String((a==null?void 0:a.name)||"").includes(i)))||null}function vR(t,e,n){var K,e2,p2,v2,A2;const a=z4(t,["grassland-area","grassland-total-area","草地面积"]),i=z4(e,["wetland-area","湿地面积"]),r=z4(n,["woodland-area","林地总面积"]),[o,s]=cu(H5,637.13,119.31),u=z4(t,["basic-grassland","basic-grassland-area","基本草原"]),m=z4(t,["general-grassland","general-grassland-area","一般草原"]),h=Nn([{key:"overview-basic-grassland",name:"基本草原",value:d0((K=u==null?void 0:u.value)!=null?K:o),unit:(u==null?void 0:u.unit)||"万亩",color:"#24F6C4"},{key:"overview-general-grassland",name:"一般草原",value:d0((e2=m==null?void 0:m.value)!=null?e2:s),unit:(m==null?void 0:m.unit)||"万亩",color:"#FFE06B"}]),p=Nn([{key:"overview-grassland-area",name:"草地资源",value:d0((p2=a==null?void 0:a.value)!=null?p2:H5),unit:(a==null?void 0:a.unit)||"万亩",color:"#8AE611"},{key:"overview-wetland-area",name:"湿地资源",value:d0((v2=i==null?void 0:i.value)!=null?v2:un),unit:(i==null?void 0:i.unit)||"万亩",color:"#32DCFF"},{key:"overview-woodland-area",name:"林地资源",value:d0((A2=r==null?void 0:r.value)!=null?A2:DN),unit:(r==null?void 0:r.unit)||"万亩",color:"#2BD17E"}]),g=[f8(t,["grassland-town"],"overview-grassland-distribution","草地分布","column",{variant:"plain"}),f8(e,["wetland-town-area"],"overview-wetland-distribution","湿地分布","column",{variant:"water"}),f8(n,["woodland-town"],"overview-woodland-distribution","林地分布","column",{variant:"plain",lineOverlay:!0}),f8(t,["grassland-forage-capacity"],"overview-forage-supply","饲草供给","bar",{variant:"capacity"})],b=[U0("overview-basic-general","基本/一般草原",h,"donut",{span:1,variant:"ring"}),f8(n,["woodland-quality-level","woodland-quality"],"overview-woodland-quality","林地质量","heat",{limit:6}),f8(e,["wetland-type"],"overview-wetland-type","湿地类型结构","rose"),U0("overview-resource-area","林草湿面积构成",p,"structure",{span:1})],H=[{key:"overview-resource-area-total",name:"林草湿面积",value:d0(g6(p)),unit:"万亩"},J2(L2({},p[0]),{name:"草地面积"}),J2(L2({},p[1]),{name:"湿地面积"}),J2(L2({},p[2]),{name:"林地面积"})];return{status:[t,e,n].some(_2=>(_2==null?void 0:_2.status)==="error")?"fallback":"success",core:H,top:H,leftPanels:g,rightPanels:b,left:g[0],right:b[0]}}function F8(t,e){return k3(this,null,function*(){var n;try{if(t==="overview"){const[a,i,r]=yield Promise.all([F8("grassland",""),F8("wetland",""),F8("woodland","")]);return vR(a,i,r)}if(t==="woodland"){const[a,i,r,o,s]=yield Promise.all([U5("/woodland/distribution").then(x0),Ce(()=>k3(this,null,function*(){return x0(yield U5("/woodland/types"))}),{}),Ce(()=>k3(this,null,function*(){return x0(yield U5("/woodland/protection"))}),{}),Ce(()=>k3(this,null,function*(){return x0(yield U5("/woodland/quality"))}),{}),Ce(()=>k3(this,null,function*(){return x0(yield U5("/woodland/ownership"))}),{})]),u=P9(YN(a),t),m=l0((a==null?void 0:a.core)||(a==null?void 0:a.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),h=l0((r==null?void 0:r.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),p=[u[0],{key:"woodland-public-area",name:"公益林面积",value:d0(h),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:d0((n=l0((r==null?void 0:r.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?n:qn(h,m)),unit:"%"}].filter(Boolean),g=xe((a==null?void 0:a.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:S3=>yi(S3,m)}),b=R8(xe((i==null?void 0:i.typeStats)||(a==null?void 0:a.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:L6}),{limit:4,minPercent:1,otherName:"其他林地"}),F=xe((a==null?void 0:a.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:S3=>yi(S3,m)}),H=xe((r==null?void 0:r.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:L6}),K=xe((o==null?void 0:o.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:L6}),e2=xe((s==null?void 0:s.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:S3=>yi(S3,m)}),p2=xe((s==null?void 0:s.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:L6}),v2=xe((r==null?void 0:r.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:L6}),A2=xe((r==null?void 0:r.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:L6}),_2=xe((r==null?void 0:r.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:S3=>yi(S3,h)}),q2=xe((o==null?void 0:o.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:L6}),K2=xe((o==null?void 0:o.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:L6}),$2=xe((o==null?void 0:o.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:S3=>{const I3=d0(l0(S3,["avgCanopy","avg_canopy"]));return I3!==void 0?`均值 ${I3}`:L6(S3)}}),c3=xe((o==null?void 0:o.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:L6}),p3=_l((i==null?void 0:i.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),y3=Lp({townRows:g,typeRows:b,scaleRows:F,protectionRows:H,ownershipRows:p2,qualityRows:K,originRows:q2,ageRows:K2,canopyRows:$2,forestTypeRows:v2,manageLevelRows:A2,regionRows:_2,ownerRows:e2,typeTownRows:p3,qualityLevelRows:c3}),z3=L2({status:"success",core:u,top:p},y3);return I8(z3,t,e)}if(t==="grassland"){const[a,i,r,o,s,u,m,h,p]=yield Promise.all([re("/basic_grassland/overview").then(x0),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_yield/yieldProportion"))}),{}),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_yield/distribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_yield/muYieldDistribution"))})),Ce(()=>k3(this,null,function*(){return uR()}),du()),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_grass_type/areaProportion"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_grassland_level/areaProportion"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_health/proportion"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/grassland_yield/edibleXcDistribution"))}))]),g=s.levelRows||[],b=P9($N(a),t),F=sr(r||[],o||[],{showMuYieldExtra:!1}),H=cR(i,F),K=xe(o||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:l0(o==null?void 0:o[0],["unit"])||"斤"}),e2=xe((a==null?void 0:a.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),p2=Rs(Bp(u||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:kp}),v2=Rs(m||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:hR}),A2=Rs(h||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:mR}),_2=sr(p||[],[],{showMuYieldExtra:!1}),q2=Dp({core:b,townRows:e2,grassTypeRows:p2,grassLevelRows:v2,healthRows:A2,productivityRows:K,edibleYieldRows:_2,forageRows:Fp(H,F),degradationRows:g}),K2=J2(L2({status:"success"},q2),{top:Ip(b,H,F)});return I8(K2,t,e)}if(t==="wetland"){const[a,i,r,o,s,u,m,h,p,g,b,F]=yield Promise.all([WN([()=>k3(this,null,function*(){return x0(yield re("/index/dataItem",{group:"wetland"}))}),()=>k3(this,null,function*(){return x0(yield re("/index/dataItem",{group:"wetland_grassland_level"}))})]),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grass_type_copy/areaProportion"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_yield/distribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_yield/muYieldDistribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grassland_level/areaProportion"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grass_type_copy/minTypeAreaProportion"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_yield/edibleXcDistribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_yield/edibleXcMuDistribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grass_type_copy/distribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grassland_level/distribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_grass_type_copy/minTypeAreaDistribution"))})),Ce(()=>k3(this,null,function*(){return x0(yield re("/wetland_yield/yieldProportion"))}),{})]),H=pR(a,{typeRows:i,yieldRows:r,muYieldRows:o,levelRows:s,minTypeRows:u,edibleRows:m,edibleMuRows:h,typeDistributionRows:p,levelDistributionRows:g,minTypeDistributionRows:b,yieldSummary:F}),K=J2(L2({status:"success"},H),{left:H.leftPanels[0],right:H.rightPanels[0]});return I8(K,t,e)}return yh(t,e)}catch(a){return J2(L2({},yh(t,e)),{status:"error",error:a})}})}function SR(t,e,n=null){return k3(this,null,function*(){try{const a=yield tR(t,e,n);return a||(t==="woodland"?e==="woodland-protection"?yield Si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>k3(this,null,function*(){const i=x0(yield U5("/woodland/protection")),r=_l((i==null?void 0:i.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return j6({topicKey:t,layerKey:e,title:"公益林面积排行",unit:"万亩",rows:r,note:"按公益林村级榜单汇总到乡镇"})})):e==="woodland-type"?yield Si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>k3(this,null,function*(){const i=x0(yield U5("/woodland/types")),r=_l((i==null?void 0:i.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return j6({topicKey:t,layerKey:e,title:"林地类型面积排行",unit:"万亩",rows:r,note:"按林地类型组成汇总到乡镇"})})):e==="woodland-quality"?yield Si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):e==="woodland-ownership"?yield Si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield HN(t,e,"林地面积排行"):t==="grassland"?e==="basic-grassland"?yield hh(t,e,"basicAreaWanMu","基本草原面积排行"):e==="grassland-level"?yield wi(t,e,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield hh(t,e,"totalAreaWanMu","草地面积排行"):t==="wetland"?e==="wetland-level"?yield wi(t,e,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):e==="wetland-type"?yield wi(t,e,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield wi(t,e,"/wetland_yield/distribution","湿地生产力排行","万吨"):j6({topicKey:t,layerKey:e,title:"乡镇统计排行",rows:[]}))}catch(a){return{status:"error",topicKey:t,layerKey:e,title:"乡镇统计排行",unit:"",rows:[],error:a}}})}const Gp="/jsyApi";function Up(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function Op(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");throw n.code=t==null?void 0:t.code,n}return x0(t)}function V6(t,e,n={}){return In(Up(Gp,t),{params:e,timeout:n.timeout||12e3}).then(Op)}function Fr(t,e,n={}){return In(Up(Gp,t),{method:"POST",params:e,timeout:n.timeout||12e3}).then(Op)}function wR(){return Fr("/api/dataItem?group=pastures").then(w5)}function bR(){return Fr("/api/muhu/distribution").then(w5)}function TR(){return Fr("/api/muhu/age").then(w5)}function CR(){return Fr("/api/muhu/upline_rate").then(w5)}function w5(t){return Array.isArray(t)?t:Array.isArray(t==null?void 0:t.rows)?t.rows:Array.isArray(t==null?void 0:t.list)?t.list:Array.isArray(t==null?void 0:t.data)?t.data:t!=null&&t.data?w5(t.data):t!=null&&t.result?w5(t.result):[]}function AR(t="",e=1,n=80){return V6("/api/home/muhu_list",{query:t,page:e,pageSize:n}).then(w5)}function xR(t){return t==null||t===""?Promise.resolve([]):V6("/api/home/grasslandByPastureId",{id:t},{timeout:2e4}).then(w5)}function _R(t){return t?V6("/api/pastureDetails",{wkt:t},{timeout:2e4}).then(e=>e||null):Promise.resolve(null)}function jp(t,e=[]){const n=[...e.map(a=>t==null?void 0:t[a]),...e.map(a=>{var i;return(i=t==null?void 0:t.data)==null?void 0:i[a]}),t==null?void 0:t.data,t==null?void 0:t.result,t];for(const a of n)if(Array.isArray(a)){const i=a.find(r=>r&&typeof r=="object");if(i)return i}else if(a&&typeof a=="object")return a;return null}function zp(t={}){return V6("/api/grasslandDetails",t,{timeout:2e4}).then(e=>jp(e,["grassland"]))}function Yp(t={}){return V6("/api/wetlandDetails",t,{timeout:2e4}).then(e=>jp(e,["wetland"]))}function MR(t){return t?V6("/api/map/projectDetail",{wkt:t},{timeout:2e4}).then(e=>e||null):Promise.resolve(null)}function PR(t="",e=1,n=10){return V6("/api/home/project_list",{query:t,page:e,pageSize:n},{timeout:2e4}).then(a=>a||{})}function kR(t){return V6("/api/pastureDetailsById",{id:t}).then(e=>(e==null?void 0:e.data)||e||{})}function ER(t){return V6("/api/pasturesDetails",{id:t}).then(e=>(e==null?void 0:e.data)||e||{})}function NR(){return V6("/api/pasturesList").then(w5)}function RR(){return k3(this,null,function*(){const[t,e,n,a,i,r]=yield Promise.allSettled([wR(),bR(),TR(),CR(),NR(),AR("",1,20)]),o=i.status==="fulfilled"?i.value:[],s=r.status==="fulfilled"?r.value:[],u=wh(s)?s:wh(o)?o:s.length?s:o,m=LR(u,o,s);return{core:t.status==="fulfilled"?t.value:[],distribution:e.status==="fulfilled"?e.value:[],age:n.status==="fulfilled"?n.value:[],online:a.status==="fulfilled"?a.value:[],list:m}})}function LR(t=[],...e){const n=new Map;return e.flat().forEach(a=>{Sh(a).forEach(i=>{const r=n.get(i)||{};n.set(i,vh(r,a))})}),(Array.isArray(t)?t:[]).map(a=>{const i=Sh(a).map(r=>n.get(r)).find(Boolean);return i?vh(a,i):a})}function vh(t={},e={}){const n=L2({},t);return Object.entries(e||{}).forEach(([a,i])=>{(n[a]===void 0||n[a]===null||n[a]==="")&&(n[a]=i)}),n}function Sh(t={}){return[t.id,t.pastureId,t.pasturesId,t.pastures_id,t.muhuId,t.muhu_id,t.name,t.pasturesName,t.pastures_name,t.muhuName,t.muhu_name,t.pastureName,t.pasture_name].map(e=>String(e||"").trim()).filter(Boolean)}function wh(t=[]){return(Array.isArray(t)?t:[]).some(e=>{var i,r,o,s,u,m;const n=(u=(s=(o=(r=(i=e==null?void 0:e.grasslandArea)!=null?i:e==null?void 0:e.grassland_area)!=null?r:e==null?void 0:e.acreage)!=null?o:e==null?void 0:e.area)!=null?s:e==null?void 0:e.areaRange)!=null?u:e==null?void 0:e.area_range;if(typeof n=="number")return n>0;const a=Number((m=String(n!=null?n:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/))==null?void 0:m[0]);return Number.isFinite(a)&&a>0})}const fu="/jsyApi",Q5="/openApi",IR=new Date().getFullYear();function FR(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function BR(t){if((t==null?void 0:t.success)===!1&&(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code))throw new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");return x0(t)}function S6(t,e,n,a={}){return In(FR(t,e),{params:n,timeout:a.timeout||18e3}).then(BR)}function DR(){return S6(fu,"/api/yak/distribution").then(t=>hu(t))}function GR(){return S6(fu,"/api/yak/structure").then(t=>hu(t))}function UR(){return S6(fu,"/api/yak/forecast").then(t=>hu(t))}function Ml(t=IR){return S6(Q5,"/yak/trade/overview",typeof t=="object"?t:{year:t}).then(n=>n||{})}function OR(){return S6(Q5,"/yak/trade/options").then(t=>t||{})}function bh(t={}){return S6(Q5,"/yak/trade/records",t).then(e=>e||{})}function jR(t={}){return S6(Q5,"/yak/epidemic/analysis",t).then(e=>e||{})}function Ls(t={}){return S6(Q5,"/yak/epidemic/records",t).then(e=>e||{})}function zR(t={}){return S6(Q5,"/yak/epidemic/stats",t).then(e=>e||{})}function YR(t={}){return S6(Q5,"/yak/epidemic/village-stats",t).then(e=>e||{})}function $R(t){return S6(Q5,"/yak/epidemic/detail",{earTag:t}).then(e=>e||null)}function WR(){return k3(this,null,function*(){return(yield DR()).map((e,n)=>({key:O6(e,["areaCode","area_code","code","id"],`yak-town-${n}`),name:O6(e,["areaName","area_name","zoneName","townName","name"],`区域${n+1}`),value:Br(O6(e,["number","yakCount","yak_count","count","value"])),unit:"头"})).filter(e=>e.name&&Number.isFinite(e.value)).sort((e,n)=>n.value-e.value)})}function VR(){return k3(this,null,function*(){const e=(yield GR()).map((n,a)=>{const i=O6(n,["sex","gender"],""),r=qR(i),o=O6(n,["ageRange","age_range","age","name","type"],""),s=[r,o].filter(Boolean).join(" ")||`结构${a+1}`;return{key:O6(n,["id","key"],`${s}-${a}`),name:s,value:Br(O6(n,["number","count","value"])),unit:"头"}}).filter(n=>n.name&&Number.isFinite(n.value));return KR(e)})}function HR(){return k3(this,null,function*(){return(yield UR()).map((e,n)=>{const a=O6(e,["month","date","name","time"],`预测${n+1}`);return{key:`${a}-${n}`,name:JR(a),value:Br(O6(e,["number","count","yakCount","value"])),unit:"头",extra:QR("增速",O6(e,["speed","growth","growthRate","rate"]))}}).filter(e=>e.name&&Number.isFinite(e.value))})}function hu(t){return Array.isArray(t)?t:Array.isArray(t==null?void 0:t.rows)?t.rows:Array.isArray(t==null?void 0:t.list)?t.list:Array.isArray(t==null?void 0:t.records)?t.records:Array.isArray(t==null?void 0:t.data)?t.data:[]}function KR(t=[]){const e=new Map;return t.forEach(n=>{const a=e.get(n.name)||J2(L2({},n),{value:0});a.value+=n.value,e.set(n.name,a)}),[...e.values()].sort((n,a)=>a.value-n.value)}function O6(t,e,n=""){for(const a of e){const i=t==null?void 0:t[a];if(i!=null&&i!=="")return i}return n}function qR(t){return["boy","male","公","公牛"].includes(t)?"公牛":["girl","female","母","母牛"].includes(t)?"母牛":t||""}function JR(t){const e=String(t||""),n=e.match(/(?:^|\D)(1[0-2]|0?[1-9])(?:月|$|-)/);return n?`${Number(n[1])}月`:e}function QR(t,e){const n=Br(e);return Number.isFinite(n)?`${t}:${n.toLocaleString("zh-CN",{maximumFractionDigits:2})}`:""}function Br(t){if(t==null||t==="")return NaN;const e=Number(String(t).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const e4=458230,mu=450817,XR=e4-mu;function $p(t,e,n="count"){const a=t.reduce((o,s)=>o+(Number(s[n])||0),0);if(!a||!e)return t.map(o=>J2(L2({},o),{[n]:0}));const i=t.map(o=>J2(L2({},o),{[n]:Math.round((Number(o[n])||0)/a*e)})),r=e-i.reduce((o,s)=>o+(Number(s[n])||0),0);return r&&i[0]&&(i[0][n]+=r),i}const I9={herdsmanCount:129,grasslandArea:7563700,wetArea:2918200,yakCount:e4,projectCount:17,baseCount:12},ZR=[{zoneName:"色地镇",grasslandArea:1463044,yakCount:11704},{zoneName:"麦洼乡",grasslandArea:660352,yakCount:5283},{zoneName:"阿木乡",grasslandArea:1115947,yakCount:8928},{zoneName:"瓦切镇",grasslandArea:1111492,yakCount:8892},{zoneName:"查尔玛乡",grasslandArea:858500,yakCount:6868},{zoneName:"江茸乡",grasslandArea:644761,yakCount:5158},{zoneName:"龙日镇",grasslandArea:874234,yakCount:6994},{zoneName:"安曲镇",grasslandArea:1165634,yakCount:9325},{zoneName:"刷经寺镇",grasslandArea:62465,yakCount:500},{zoneName:"邛溪镇",grasslandArea:1166721,yakCount:9334}],eL=[{zoneName:"色地镇",grasslandArea:350788,wetArea:166983},{zoneName:"麦洼乡",grasslandArea:162198,wetArea:71501},{zoneName:"阿木乡",grasslandArea:305522,wetArea:89411},{zoneName:"瓦切镇",grasslandArea:264640,wetArea:128717},{zoneName:"查尔玛乡",grasslandArea:286159,wetArea:17664},{zoneName:"江茸乡",grasslandArea:175840,wetArea:52341},{zoneName:"龙日镇",grasslandArea:222346,wetArea:87046},{zoneName:"安曲镇",grasslandArea:304970,wetArea:107548},{zoneName:"刷经寺镇",grasslandArea:22107,wetArea:7002},{zoneName:"邛溪镇",grasslandArea:318316,wetArea:94587}],tL=[{month:"1月",count:458230,speed:0},{month:"2月",count:458860,speed:630},{month:"3月",count:459520,speed:660},{month:"4月",count:460180,speed:660},{month:"5月",count:461260,speed:1080},{month:"6月",count:462050,speed:790},{month:"7月",count:462850,speed:800},{month:"8月",count:463160,speed:310},{month:"9月",count:463520,speed:360},{month:"10月",count:463940,speed:420},{month:"11月",count:464350,speed:410},{month:"12月",count:464760,speed:410}],Wp=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}],m6=$p(Wp,mu),nL=new Map($p(Wp,e4).map(t=>[t.name,t.count])),Oa=ZR.map(t=>J2(L2({},t),{yakCount:nL.get(t.zoneName)||t.yakCount}));m6.reduce((t,e)=>t+e.count,0);const pu=e4;I9.yakCount=pu;function aL(t,e){const n=t.map((i,r)=>{const o=e*i.ratio/100;return J2(L2({},i),{index:r,exact:o,count:Math.floor(o),remainder:o-Math.floor(o)})});let a=e-n.reduce((i,r)=>i+r.count,0);return n.slice().sort((i,r)=>r.remainder-i.remainder||i.index-r.index).forEach(i=>{a<=0||(i.count+=1,a-=1)}),n.map(u=>{var m=u,{index:i,exact:r,remainder:o}=m,s=s8(m,["index","exact","remainder"]);return J2(L2({},s),{count:Math.round(s.count)})})}aL([{key:"fertileCow",name:"适龄能繁母牛",ratio:44.8},{key:"meatBull",name:"麦洼公牦牛",ratio:15.2},{key:"breedingBull",name:"种公牛",ratio:3.1},{key:"femaleCalf",name:"母犊牛",ratio:14.9},{key:"maleCalf",name:"公犊牛",ratio:15.1},{key:"overageCow",name:"过龄能繁母牛",ratio:6.9}],pu);const gu=[{label:"屠宰出栏",value:1706,yoy:6},{label:"活畜交易",value:1043,yoy:-3},{label:"外运销售",value:624,yoy:12},{label:"其他出栏",value:299,yoy:-9}],Vp=[{name:"饲草储备库",value:7,capacity:10500,unit:"座"},{name:"加工企业",value:7,capacity:13e3,unit:"家"},{name:"工程数量",value:I9.projectCount,capacity:17,unit:"个"},{name:"基地数量",value:I9.baseCount,capacity:12,unit:"个"}],iL=mu,rL=XR,oL=0,St=e4;function Hp(t=[],e=e4){const n=t.map(o=>{var s,u,m;return J2(L2({},o),{name:o.name||o.label||o.town||"",count:Number((m=(u=(s=o.count)!=null?s:o.value)!=null?u:o.total)!=null?m:0)})}).filter(o=>o.name&&Number.isFinite(o.count)&&o.count>=0),a=n.reduce((o,s)=>o+s.count,0);if(!a||!e)return n.map(o=>J2(L2({},o),{count:0}));const i=n.map(o=>J2(L2({},o),{count:Math.round(o.count/a*e)})),r=e-i.reduce((o,s)=>o+s.count,0);return r&&i[0]&&(i[0].count+=r),i}const Pa=Hp(m6,St).sort((t,e)=>e.count-t.count),sL=[{key:"fertileCow",name:"适龄能繁母牛",ratio:45,source:"畜群结构比例表"},{key:"meatBull",name:"麦洼公牦牛",ratio:15,source:"畜群结构比例表"},{key:"breedingBull",name:"种公牛",ratio:3,source:"畜群结构比例表"},{key:"femaleCalf",name:"母犊牛",ratio:15,source:"畜群结构比例表"},{key:"maleCalf",name:"公犊牛",ratio:15,source:"畜群结构比例表"},{key:"overageCow",name:"过龄能繁母牛",ratio:7,source:"畜群结构比例表"}],lL=[{key:"fertileCow",name:"适龄能繁母牛",ratio:44.8,source:"畜群结构比例表"},{key:"meatBull",name:"麦洼公牦牛",ratio:15.2,source:"畜群结构比例表"},{key:"breedingBull",name:"种公牛",ratio:3.1,source:"畜群结构比例表"},{key:"femaleCalf",name:"母犊牛",ratio:14.9,source:"畜群结构比例表"},{key:"maleCalf",name:"公犊牛",ratio:15.1,source:"畜群结构比例表"},{key:"overageCow",name:"过龄能繁母牛",ratio:6.9,source:"畜群结构比例表"}],m5=Zp(lL,St),Pl=gu.map((t,e)=>J2(L2({},t),{color:["#48cfff","#30dcff","#8bf7ff","#48cfff"][e%4]})),Ui=[{age:"≤1岁",cow:38586,bull:40861},{age:"1-2岁",cow:27124,bull:27549},{age:"2-4岁",cow:93355,bull:49265},{age:"4-8岁",cow:106679,bull:32655},{age:"8岁以上",cow:28671,bull:13485}],Vt=[{key:"2026",label:"2026年底",shortLabel:"2026",months:7,stock:462850,births:24680,outflow:19020,correction:-1040,structure:{fertileCow:45.1,meatBull:15,breedingBull:3,femaleCalf:15.2,maleCalf:14.9,overageCow:6.8}},{key:"2027",label:"2027年底",shortLabel:"2027",months:19,stock:468920,births:67420,outflow:55180,correction:-1550,structure:{fertileCow:45.5,meatBull:14.8,breedingBull:3.1,femaleCalf:15.1,maleCalf:14.8,overageCow:6.7}},{key:"2028",label:"2028年底",shortLabel:"2028",months:31,stock:475360,births:109680,outflow:90140,correction:-2410,structure:{fertileCow:45.9,meatBull:14.5,breedingBull:3.1,femaleCalf:15.3,maleCalf:14.7,overageCow:6.5}}],kl=[{name:"新生牛犊",value:86},{name:"出栏周转",value:62},{name:"死亡淘汰",value:48},{name:"母牛基础",value:91},{name:"幼畜存活",value:73}],Kp=2026,qp=6;function Jp(t){return Vt.find(e=>e.key===t)||Vt[1]}function uL(t){const e=(t==null?void 0:t.structure)||{};return Zp(sL.map(n=>{var a;return J2(L2({},n),{ratio:(a=e[n.key])!=null?a:n.ratio,source:"预测模型"})}),t.stock)}function cL(t){const e=t.stock/St,n=Pa.map((i,r)=>J2(L2({},i),{forecast:Math.round(i.count*e+(r%3-1)*t.months*18)})),a=t.stock-n.reduce((i,r)=>i+r.forecast,0);if(a){const i=n.reduce((r,o)=>o.count>r.count?o:r,n[0]);i.forecast+=a}return n.map(i=>J2(L2({},i),{change:i.forecast-i.count})).sort((i,r)=>r.forecast-i.forecast)}function Qp(t){const e=yu(t),n=Array.from({length:e},(o,s)=>dL(s)),a=n.map((o,s)=>{const u=Is(s,e),m=Math.sin(s/2.6)*Math.sin(Math.PI*u)*Math.min(360,t.months*18);return Math.round(St+(t.stock-St)*u+m)}),i=n.map((o,s)=>Math.round(t.births*Is(s,e))),r=n.map((o,s)=>Math.round(t.outflow*Is(s,e)));return{labels:n,stock:a,births:i,outflow:r}}function yu(t={}){return Math.max(1,Math.round(Number(t.months||1)))}function Is(t,e){return e<=1?1:Math.min(1,Math.max(0,t/(e-1)))}function dL(t=0){const e=new Date(Date.UTC(Kp,qp-1+t,1));return`${String(e.getUTCFullYear()).slice(-2)}-${String(e.getUTCMonth()+1).padStart(2,"0")}`}function Xp(t=0){const e=new Date(Date.UTC(Kp,qp-1,1+t));return[String(e.getUTCFullYear()).slice(-2),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("-")}function Zp(t,e){const n=t.map((i,r)=>{const o=e*i.ratio/100;return J2(L2({},i),{index:r,exact:o,count:Math.floor(o),remainder:o-Math.floor(o)})});let a=e-n.reduce((i,r)=>i+r.count,0);return n.slice().sort((i,r)=>r.remainder-i.remainder||i.index-r.index).forEach(i=>{a<=0||(i.count+=1,a-=1)}),n.map(u=>{var m=u,{index:i,exact:r,remainder:o}=m,s=s8(m,["index","exact","remainder"]);return J2(L2({},s),{count:Math.round(s.count)})})}function fL(t){const e=new Map;return t.forEach(n=>{const a=n.name,i=e.get(a)||{name:a,count:0};i.count+=Number(n.count||0),e.set(a,i)}),[...e.values()].sort((n,a)=>a.count-n.count)}const Dr={grasslandCapacityPerMu:.06229833103624831,muPerYak:16.051794379822947,yakToSheepUnit:1},hL={key:"county-513233",type:"county",name:"红原县",areaCode:"513233"},Y4=[{key:"healthy",label:"合理",shortLabel:"合理",range:"< 0%",description:"承载力覆盖实际载畜量,当前放牧压力处于合理区间。",actions:["保持当前载畜水平与轮牧节奏","定期复测草地生产力和载畜量","关注极端天气对牧草生长的影响"]},{key:"watch",label:"基本实现草畜平衡",shortLabel:"基本平衡",range:"0% - 5%",description:"实际载畜量与草地承载力基本匹配,草畜平衡总体实现。",actions:["保持当前载畜规模基本稳定","持续核查草地生产力和牲畜存栏","结合季节变化做好补饲和轮牧安排"]},{key:"light",label:"轻度超载",shortLabel:"关注",range:"5% - 10%",description:"已出现轻度超载迹象,建议提前介入调控。",actions:["适度压减超载畜群规模","延长冬春舍饲补饲周期","增加人工草场补饲供应"]},{key:"warning",label:"中度超载",shortLabel:"预警",range:"10% - 20%",description:"超载较明显,草地退化风险上升,应启动主动调控。",actions:["压减载畜量至理论承载力以内","推行划区轮牧与阶段性休牧","扩大优质人工饲草供给"]},{key:"danger",label:"严重超载",shortLabel:"高压",range:"> 20%",description:"超载压力较高,建议纳入重点管控和生态修复范围。",actions:["强制压减载畜量并实施禁牧休牧","对退化草地实施生态修复","建立重点区域长效监测与考核机制"]}],l5={areaRange:["areaRange","area_range","arearange","acreage","grasslandArea","grasslandarea","area"],yakNumber:["yakNumber","yak_number","yaknumber","number","yakCount","yakcount","livestockCount","livestockcount"],bearingCapacity:["bearingCapacity","bearing_capacity","bearingcapacity","capacity","theoryCapacity","theorycapacity"],livestockCapacity:["livestockCapacity","livestock_capacity","livestockcapacity","carryingCapacity","carryingcapacity","actualCapacity","actualcapacity"],overloadRate:["overloadRate","overload_rate","overloadrate","rate"],level:["level","conclusion"],advice:["advice","balanceAdvice","balance_advice","balanceadvice","balanceAdivce","balance_adivce","balanceadivce"],year:["year"],areaName:["areaName","area_name","areaname","name"]},D5=(t,e=2)=>{const n=s5(10,e);return Math.round((Number(t)||0)*n)/n},l6="加强人工饲草饲料基地建设;购买饲草饲料,增加饲草饲料供应量;实行舍饲圈养,减轻草原放牧压力;加快牲畜出栏,优化畜群结构。";function je(t,e=null){if(t==null||t==="")return e;const n=typeof t=="string"?t.replace(/,/g,"").replace(/%/g,"").trim():t,a=Number(n);return Number.isFinite(a)?a:e}function Yn(t={},e=[],n=void 0){for(const a of e){const i=t==null?void 0:t[a];if(i!=null&&i!=="")return i}return n}function Oi(t,e={}){var a;const n=je(t);return n===null?"--":n.toLocaleString("zh-CN",{maximumFractionDigits:(a=e.maximumFractionDigits)!=null?a:Number.isInteger(n)?0:2})}function bi(t){const e=je(t);return e===null?"--":`${Oi(e)}%`}function ja(t){const e=je(t);return e===null||e<0?Y4[0]:e<=5?Y4[1]:e<=10?Y4[2]:e<=20?Y4[3]:Y4[4]}function Th(t){return Math.round(Number(t)||0)}function Ch(t){return Math.round((Number(t)||0)*Dr.grasslandCapacityPerMu)}const Gr=J2(L2({},hL),{areaRange:756851506e-2,yakNumber:458230,bearingCapacity:454864,livestockCapacity:458230,overloadRate:.74,level:"基本实现草畜平衡",advice:l6,year:"2026"}),za=[{key:"town-邛溪镇",type:"town",name:"邛溪镇",areaCode:"513233100",areaRange:930604.2,yakNumber:49140,bearingCapacity:47723,livestockCapacity:49140,overloadRate:2.97,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-刷经寺镇",type:"town",name:"刷经寺镇",areaCode:"513233101",areaRange:743557.5,yakNumber:18283,bearingCapacity:18002,livestockCapacity:18283,overloadRate:1.56,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-安曲镇",type:"town",name:"安曲镇",areaCode:"513233103",areaRange:900696.75,yakNumber:59725,bearingCapacity:58479,livestockCapacity:59725,overloadRate:2.13,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-龙日镇",type:"town",name:"龙日镇",areaCode:"513233105",areaRange:628303.8,yakNumber:40192,bearingCapacity:39462,livestockCapacity:40192,overloadRate:1.85,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-江茸乡",type:"town",name:"江茸乡",areaCode:"513233202",areaRange:496888.95,yakNumber:20789,bearingCapacity:20563,livestockCapacity:20789,overloadRate:1.1,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-查尔玛乡",type:"town",name:"查尔玛乡",areaCode:"513233203",areaRange:808628.4,yakNumber:28836,bearingCapacity:28312,livestockCapacity:28836,overloadRate:1.85,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-瓦切镇",type:"town",name:"瓦切镇",areaCode:"513233204",areaRange:747837.6,yakNumber:76127,bearingCapacity:74598,livestockCapacity:76127,overloadRate:2.05,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-阿木乡",type:"town",name:"阿木乡",areaCode:"513233205",areaRange:863346,yakNumber:38587,bearingCapacity:37554,livestockCapacity:38587,overloadRate:2.75,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-麦洼乡",type:"town",name:"麦洼乡",areaCode:"513233207",areaRange:458338.35,yakNumber:47193,bearingCapacity:46643,livestockCapacity:47193,overloadRate:1.18,level:"基本实现草畜平衡",advice:l6,year:"2026"},{key:"town-色地镇",type:"town",name:"色地镇",areaCode:"513233208",areaRange:991265.25,yakNumber:79358,bearingCapacity:77695,livestockCapacity:79358,overloadRate:2.14,level:"基本实现草畜平衡",advice:l6,year:"2026"}],mL=[Gr,...za];function pL(t={},e={}){var $2,c3,p3,y3,z3,S3,I3,A3,a1,C1;const n=t&&typeof t=="object"&&Object.keys(t).length>0,a=Yn(t,l5.areaRange,e.areaRange),i=Yn(t,l5.yakNumber,e.yakNumber),r=Yn(t,l5.bearingCapacity,e.bearingCapacity),o=Yn(t,l5.livestockCapacity,e.livestockCapacity),s=je(Yn(t,l5.overloadRate,e.overloadRate)),u=je(e.yakNumber),m=gL(t,o,u),h=je(a,($2=e.areaRange)!=null?$2:0),p=m!==null&&i===(t==null?void 0:t.yak_number)?je(Yn(t,["number","yakCount","yak_count","livestockCount","livestock_count"]),u!=null?u:Math.round(m/Dr.yakToSheepUnit)):je(i,(c3=e.yakNumber)!=null?c3:0),g=je(e.bearingCapacity),b=je(e.livestockCapacity),F=a!=null&&a!=="",H=i!=null&&i!=="",K=(p3=je(o))!=null?p3:m,e2=je(r),p2=Fs(K,s),v2=yL(e2,p2),A2=n?(S3=(z3=(y3=K!=null?K:Bs(v2,s))!=null?y3:b)!=null?z3:Bs(g,s))!=null?S3:H?Th(p):null:(I3=b!=null?b:Bs(g,s))!=null?I3:H?Th(p):null,_2=n?(a1=(A3=v2!=null?v2:Fs(A2,s))!=null?A3:g)!=null?a1:F?Ch(h):null:(C1=g!=null?g:Fs(A2,s))!=null?C1:F?Ch(h):null,q2=s!==null?D5(s,2):_2&&A2!==null?D5((A2-_2)/_2*100,1):null,K2=ja(q2);return J2(L2(L2({},e),t),{key:e.key||t.key||t.id||t.areaCode||e.name,type:e.type||t.type||"town",name:Yn(t,l5.areaName,e.name||"核算对象"),areaCode:t.areaCode||t.area_code||t.areacode||e.areaCode,areaRange:h,yakNumber:p,bearingCapacity:_2,livestockCapacity:A2,overloadRate:q2,level:q2===null?Yn(t,l5.level,K2.label):K2.label,advice:Yn(t,l5.advice,e.advice||K2.actions.join(";")),year:Yn(t,l5.year,e.year||"当前年度"),source:t.raw||t.source||e.source})}function gL(t={},e,n=null){if(!t||typeof t!="object"||e!=null&&e!=="")return null;const a=Object.prototype.hasOwnProperty.call(t,"yak_number"),i=["overload_rate","overloadRate","overloadrate","advice","balanceAdvice","balanceadvice","level","conclusion"].some(s=>t[s]!==void 0&&t[s]!==null&&t[s]!==""),r=je(t.yak_number);if(!a||!i||r===null)return null;const o=je(n);return o!==null&&o>0?r>o*1.5?r:null:r}function Fs(t,e){const n=je(t),a=je(e);return n===null||a===null||a<=-100?null:Math.round(n/(1+a/100))}function yL(t,e){return t===null?e:e===null?t:Math.abs(t-e)/Math.max(Math.abs(e),1)>.25?e:t}function Bs(t,e){const n=je(t),a=je(e);return n===null||a===null||a<=-100?null:Math.round(n*(1+a/100))}function vL(t={}){const e=je(t.bearingCapacity),n=je(t.livestockCapacity),a=je(t.areaRange,0),i=je(t.yakNumber,0),r=je(t.overloadRate,e&&n!==null?(n-e)/e*100:null),o=e!==null&&n!==null?n-e:null,s=e&&n!==null?D5(n/e*100,1):null,u=ja(r),m=Math.round(i*Dr.yakToSheepUnit),h=m&&n!==null?D5(n/m,2):null,p=a&&e!==null?D5(e/a,4):null,g=Math.max(e||0,n||0,1);return{bearing:e,livestock:n,areaRange:a,yakNumber:i,yakSheepUnit:m,pressureFactor:h,bearingCoefficient:p,overloadRate:r===null?null:D5(r,2),delta:o,usageRate:s,risk:u,bearingPercent:e===null?4:Math.max(4,Math.min(100,D5(e/g*100,1))),livestockPercent:n===null?4:Math.max(4,Math.min(100,D5(n/g*100,1)))}}function SL(t={},e=ja(t.overloadRate)){const n=String(t.advice||"").trim(),a=n?n.split(/[。;;\n]/).map(u=>u.trim()).filter(Boolean):[],i=["提高放牧畜禽的密度","增加草地的利用率","密度不能过高"],r=["轻度超载","已出现超载","超载迹象","压减超载畜群规模"],o=["healthy","watch"].includes(e.key),s=a.filter(u=>i.some(m=>u.includes(m))||o&&r.some(m=>u.includes(m))?!1:o?!0:!i.some(m=>u.includes(m)));return[...e.actions||[],...s].filter((u,m,h)=>h.indexOf(u)===m).slice(0,4)}const Dt=(t,e=2)=>{const n=s5(10,e);return Math.round((Number(t)||0)*n)/n},eg=(t,e)=>t.reduce((n,a)=>n+(Number(a[e])||0),0),Ah=t=>Dt((Number(t)||0)/1e4,2),wL=eg(gu,"value"),bL=eg(Oa,"yakCount"),vu=pu,G9=Dt(I9.grasslandArea/1e4,2),Ya=Dt(I9.wetArea/1e4,2),Ur=177.92,TL=Dt(G9+Ya+Ur,2),tg=Dt(vu/Math.max(G9,1),1),xh=Dt(Ya/Math.max(TL,1)*100,1),_h=637.07,la=108.84,ng=297.29,El=159.33,ag=Dt(G9+Ya,2),CL=Dt((ng+la)*2e3/Math.max(ag,1),2),ig=[{key:"pasture-area",zh:"草场面积",name:"草场面积",value:ag,unit:"万亩",decimals:2,icon:"area"},{key:"pasture-productivity",zh:"草场生产力",name:"草场生产力",value:CL,unit:"斤/亩",decimals:2,icon:"yield"},{key:"yak-stock",zh:"牦牛存栏",name:"牦牛存栏",value:vu,unit:"头",decimals:0,icon:"stack"},{key:"today-outflow",zh:"今日出栏",name:"今日出栏",value:0,unit:"头",decimals:0,icon:"length"},{key:"county-overload-rate",zh:"超载率",name:"超载率",value:Gr.overloadRate,unit:"%",decimals:2,icon:"rate"}],AL=[{key:"grassland",name:"草地面积",value:G9,unit:"万亩",tone:"green"},{key:"wetland",name:"湿地面积",value:Ya,unit:"万亩",tone:"cyan"},{key:"woodland",name:"林地面积",value:Ur,unit:"万亩",tone:"mint"},{key:"yak-density",name:"草畜密度",value:tg,unit:"头/万亩",tone:"gold"}],rg=[{key:"grassland",name:"草地",value:G9,unit:"万亩",color:"#24f6c4"},{key:"wetland",name:"湿地",value:Ya,unit:"万亩",color:"#32dcff"},{key:"woodland",name:"林地",value:Ur,unit:"万亩",color:"#8bf7ff"}],xL=[{key:"basic-grassland",name:"基本草原",value:_h,unit:"万亩",percent:Dt(_h/Math.max(G9,1)*100,1),note:"草地保护底盘"},{key:"wetland-yield",name:"湿地生产力",value:la,unit:"万吨",percent:Dt(la/Math.max(ng+la,1)*100,1),note:"鲜草产能"},{key:"public-woodland",name:"公益林面积",value:El,unit:"万亩",percent:Dt(El/Math.max(Ur,1)*100,1),note:"林地保护占比"},{key:"wetland-rate",name:"湿地占比",value:xh,unit:"%",percent:xh,note:"林草湿结构"}],_L=eL.map(t=>{const e=Oa.find(i=>i.zoneName===t.zoneName)||{},n=Ah(t.grasslandArea),a=Ah(t.wetArea);return{key:t.zoneName,name:t.zoneName,grasslandArea:n,wetlandArea:a,yakCount:e.yakCount||0,resourceTotal:Dt(n+a,2),density:Dt((e.yakCount||0)/Math.max(n+a,1),1)}}).sort((t,e)=>e.yakCount-t.yakCount),og=Oa.map(t=>({key:t.zoneName,name:t.zoneName,value:t.yakCount,unit:"头",percent:Dt(t.yakCount/Math.max(bL,1)*100,1)})).sort((t,e)=>e.value-t.value),Mh=gu.map(t=>({key:t.label,name:t.label,value:t.value,unit:"头",yoy:t.yoy,percent:Dt(t.value/Math.max(wL,1)*100,1)})),ML=Math.max(...Vp.map(t=>Number(t.value)||0),1);Vp.map(t=>{const e=t.name.includes("储备")||t.name.includes("加工")?`${Number(t.capacity||0).toLocaleString("zh-CN")}吨`:"已接入";return{key:t.name,name:t.name,value:t.value,unit:t.unit,capacity:t.capacity,capacityNote:e,percent:Dt((Number(t.value)||0)/ML*100,1)}});var Fm,Bm;const PL=[{key:"flow-grassland",module:"林草湿",name:"草地面积分布完成乡镇归集",value:G9,unit:"万亩",trend:"+0.8%"},{key:"flow-wetland",module:"林草湿",name:"湿地生产力指标进入总览",value:la,unit:"万吨",trend:"+1.2%"},{key:"flow-woodland",module:"林草湿",name:"公益林保护面积同步",value:El,unit:"万亩",trend:"89.6%"},{key:"flow-yak-town",module:"牦牛",name:"畜群结构总量同步",value:vu,unit:"头",trend:"+2.4%"},{key:"flow-yak-density",module:"草畜",name:"草畜密度联动核算",value:tg,unit:"头/万亩",trend:"联动"},{key:"flow-trade-1",module:"交易",name:"屠宰出栏流通记录入库",value:((Fm=Mh[0])==null?void 0:Fm.value)||0,unit:"头",trend:"+6%"},{key:"flow-trade-2",module:"交易",name:"活畜交易影响扣减存栏",value:((Bm=Mh[1])==null?void 0:Bm.value)||0,unit:"头",trend:"-3%"},{key:"flow-industry",module:"产业",name:"饲草储备与加工主体纳入画像",value:I9.baseCount+I9.projectCount,unit:"个",trend:"在线"}],cr=""+new URL("live-scene-1-786cdd0a-balabala-1783957353180.png",import.meta.url).href;const kL={class:"home-dashboard"},EL={class:"home-bottom-switcher"},NL=["title","aria-label","aria-pressed"],RL={class:"home-left"},LL={class:"home-side-stack is-left"},IL={class:"home-right"},FL={class:"home-side-stack is-right"},BL=["aria-label","onClick"],DL={key:0,class:"home-video-monitor"},GL=["disabled"],UL=["onClick"],OL=["id"],jL={key:1,class:"home-video-play"},zL={key:2,class:"home-video-loading"},YL={key:3,class:"home-video-error"},$L=["onPointerdown","onMousedown","onClick"],WL={class:"home-video-point-name"},VL=["disabled"],HL={key:1,class:"home-forecast-trend-card"},KL={class:"home-forecast-density-switcher","aria-label":"预测粒度切换"},qL=["onClick"],JL={key:3,class:"home-balance-gauge-grid"},QL={class:"home-balance-gauge-head"},XL={class:"home-balance-gauge-ring"},ZL={class:"home-balance-gauge-value"},eI={class:"home-balance-gauge-name"},tI={class:"home-balance-gauge-extra"},nI={class:"home-more-dialog home-video-dialog"},aI={class:"home-more-dialog-head"},iI=["data-video-index","onPointerdownCapture","onMousedownCapture","onClick","onKeydown"],rI=["id"],oI={key:1,class:"home-video-play"},sI={key:2,class:"home-video-loading"},lI={key:3,class:"home-video-error"},uI=["onPointerdown","onMousedown","onClick"],cI={class:"home-video-point-name"},dI={key:1,class:"home-more-empty"},fI={key:2,class:"home-more-pager"},hI=["disabled"],mI=["disabled"],pI={class:"home-more-dialog home-balance-dialog"},gI={class:"home-more-dialog-head"},yI={class:"home-balance-modal-grid"},vI={class:"home-balance-modal-title"},SI={class:"home-balance-modal-value"},wI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAL1JREFUOE9j/P///38GMgAjSKOMdxRJWp9sXcYA18giJMLw99MHhv9//mA1hJGZhYGZX4Dhz7s3DCgaGVlYGDjVtBi+37rO8P/PbxTNjCysDJyqWgzfb18Dy6FoBKmEKfh17wZcM0iMTUkDrgmkDkMjSJCFnZ3hwbr5KDYqBCUy/Pn5Ey6GVSMzMxPDw01LUDTK+8Uw/P37j0YayXIqWYGDHuTInsQbHeAE8PEDw/+/JCYAUtIcPDpI0QRTCwDhurXXJ/EmUwAAAABJRU5ErkJggg==",bI="image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAQ5JREFUOE+1la1OQ0EQRs8kCFIQdVCCxIBpCK1AInkDHC+B4QkwvASub4GsaE0NGCRpKhGFVDQZ+Mjem9vNbkphmWTMfjNnd3b2x0iYuxuwH7wNbIewBfAGzORm5nG6ElfM3QU6AXZSkzXG3oEnMxO8thWgux8DR2tAsfxiZs/VYA38Jazi1NBvYCizv+HK4vCRyrfQgIsf7Nm6+bSnjwIeAGeZaGnXQDfoE+ABmGbixwKeAoeJAMHuv3w30ubATQb6KqDKjZPEuAXOMysZAncJbS7gJbCVEAdAKwP8AK4S2vJfgMVLLt6UDtAreWx0W8od7OJXryq16OPwR2j6+WpAyz2wDagape7vARt9AZ+G3HmhiKS3xwAAAABJRU5ErkJggg==",TI=4,Ph="#ffffff",$4="#ffffff",W4="rgba(246, 253, 255, 0.92)",h8="rgba(242, 253, 255, 0.9)",Ti="rgba(218, 250, 255, 0.28)",CI=12e3,AI=9.35,V4=9,xI={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(t,{expose:e,emit:n}){const a={图斑编号:"patch_no",图斑号:"patch_no",湿地编号:"land_number",草地编号:"land_number",林地类型:"dlmc",地类:"landUseName",地类名称:"landUseName",所在乡镇:"townName",所在区域:"full_name",面积:"acreage",图斑面积:"acreage",湿地面积:"acreage",草场面积:"acreage",草原类:"grassTypeName",草原型:"grassMinType",草原等级:"grasslandLevel",草原类型:"basic_type_name",小斑干草产量:"xbGcYield",小斑鲜草产量:"xbXcYield",鲜草产量:"xcYield",干草产量:"gcYield",海拔:"elevation",地貌:"landformName",权属单位:"qsdwmc",坐落单位:"zldwmc",林班:"lin_ban",小班:"xiao_ban",森林类别:"sen_lin_lb",林种:"lin_zhong",公益林等级:"gjgyl_bhdj",保护等级:"bh_dj",质量等级:"zl_dj",优势树种:"you_shi_sz",起源:"qi_yuan",龄组:"ling_zu",郁闭度:"yu_bi_du",林地权属:"ld_qs",土地使用权属:"tdsyqs",林木权属:"lmqs",生态区位:"stqwmc",坡度等级:"slope"},i=new Set(["code","msg","message","success","data","result","grassland","wetland","woodland","basicGrassland","dyColumn","geom","wkt","geometry","the_geom","theGeom","shape","shape_leng","shape_length","length","perimeter","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].map(q=>q.toLowerCase())),r=t,o=n,s=t3(null),u=t3(null),m=new Map,h=t3({}),p=new Map;let g=!1,b=!1,F=null,H=null;const K=new Map,e2=new Map,p2=new Map;let v2=null,A2="",_2=!1,q2=null,K2=0;const $2=new Map,c3=t3(0),p3=t3([]),y3=t3(0),z3=t3(0),S3=t3(!1),I3=t3(1),A3=t3(!1),a1=t3("month"),C1=t3(!1),y1=t3(!1),S1=t3(""),l1=`home-video-player-${Math.random().toString(36).slice(2)}`,E1=YC({}),t0=["#30dcff","#27f0c0","#8bf7ff","#48cfff","#48cfff","#24f6c4"],o0=fn.sideCardWidth,G1=t3(typeof window=="undefined"?1080:window.innerHeight);fn.sideCardGap;const Q1=l2(()=>X8(G1.value)),d3=l2(()=>Q1.value),F3=d3,U3=Jp("2028"),a3=[{key:"day",label:"日",unit:"日"},{key:"week",label:"周",unit:"周"},{key:"month",label:"月",unit:"月"}],F2=[{key:"grassland",name:"草地",color:"#A7FF4F",width:92},{key:"wetland",name:"湿地",color:"#36C8FF",width:92},{key:"woodland",name:"林地",color:"#31F084",width:92},{key:"yak",name:"牦牛",color:"#30DCFF",width:92}],N3={grassland:{fill:"#A7FF4F",fillOpacity:.98,opacity:1,maxOpacity:1,stroke:"#F4FFCF",strokeOpacity:.95,strokeWidth:1.35,glowColor:"#DFFF86",glowBlur:18,glowOpacity:.44},wetland:{fill:"#36C8FF",fillOpacity:.97,opacity:1,maxOpacity:1,stroke:"#EBFCFF",strokeOpacity:.95,strokeWidth:1.35,glowColor:"#9AF2FF",glowBlur:18,glowOpacity:.48},woodland:{fill:"#31F084",fillOpacity:.97,opacity:1,maxOpacity:1,stroke:"#D9FFF0",strokeOpacity:.94,strokeWidth:1.3,glowColor:"#7CFFBF",glowBlur:18,glowOpacity:.44}},_3={grassland:{topicKey:"grassland",layerKey:"grassland-distribution",type:"raster"},wetland:{topicKey:"wetland",layerKey:"wetland-distribution",type:"raster"},woodland:{topicKey:"woodland",layerKey:"woodland-distribution",type:"raster"},yak:{topicKey:"yak-industry-chain",layerKey:"yak-recognition-layer",type:"vector",opacity:.94},pasture:{topicKey:"yak-industry-chain",layerKey:"yak-industry-points",legendKey:"yak-industry-family-pasture",type:"vector",opacity:.96},base:{topicKey:"yak-industry-chain",layerKey:"yak-industry-points",legendKeys:["yak-industry-artificial-grassland","yak-industry-scale-breeding","yak-industry-breeding-selection"],type:"vector",opacity:.96}},o1=t3("grassland"),w1=t3(!0),U1=l2(()=>w1.value?"暂停自动轮动":"继续自动轮动"),O=t3(null),v3=t3(!1),w3=t3(!1),P3=t3(null),H3=l2(()=>{var p1,H1,A0;const q=o1.value,s2=_3[q];if(!s2)return null;const x2=j8.find(v0=>v0.key===s2.topicKey),z2=R3(s2);if(!(z2!=null&&z2.layerName)&&!(z2!=null&&z2.dataPath))return null;const M3=N3[q],t1=s2.legendKey?(z2.legends||[]).find(v0=>v0.key===s2.legendKey):null,b1=Array.isArray(s2.legendKeys)?s2.legendKeys.map(v0=>(z2.legends||[]).find(K1=>K1.key===v0)).filter(Boolean):[];return s2.type==="vector"?J2(L2({},z2),{activeLegend:t1||z2.activeLegend,activeLegends:b1.length?b1:z2.activeLegends,name:`${((p1=F2.find(v0=>v0.key===q))==null?void 0:p1.name)||z2.name}图层`,opacity:(H1=s2.opacity)!=null?H1:z2.opacity,homePresentationMaxOpacity:(A0=s2.opacity)!=null?A0:.96,showPointLabels:!1,hidePointFeatures:!1}):M3?J2(L2({},z2),{name:`${(x2==null?void 0:x2.name)||z2.name}分布`,styles:"",opacity:M3.opacity,homePresentationMaxOpacity:M3.maxOpacity,softMask:!1,homeGlowColor:M3.glowColor,homeGlowBlur:M3.glowBlur,homeGlowOpacity:M3.glowOpacity,sldBody:C(z2.layerName,M3)}):null}),j3=l2(()=>!!P3.value),q3=l2(()=>{if(w3.value||v3.value||!O.value)return 186;const q=r3(O.value);return Math.min(480,Math.max(300,86+Math.min(q,12)*34))}),e0=l2(()=>{if(!P3.value)return{};const q=460,s2=q3.value,x2=24,z2=C2(P3.value),M3=104,t1=36,b1=Math.min(Math.max(z2.x-q/2,x2),1920-q-x2),p1=Math.min(Math.max(z2.y-s2-t1,M3),1080-s2-x2);return{left:`${b1}px`,top:`${p1}px`,right:"auto",bottom:"auto"}}),O2=l2(()=>Y1(m5.length)),Y2=l2(()=>Y1(Vt.length)),s3=l2(()=>Pe(a1.value)),G3=l2(()=>ke(U3,s3.value.key)),i1=l2(()=>Y1(G3.value.labels.length)),N1=l2(()=>za.filter(s2=>s2==null?void 0:s2.name).map((s2,x2)=>({key:`home-balance-${s2.areaCode||s2.key||s2.name}`,sourceIndex:x2,name:s2.name,value:s2.overloadRate,unit:"%",status:s2.level||"总体可控",extra:`载畜 ${B(s2.livestockCapacity)}头`}))),q1=l2(()=>{const q=N1.value,s2=3,x2=q.length?Math.floor(c3.value/2)*s2%q.length:0;return Array.from({length:Math.min(s2,q.length)},(z2,M3)=>q[(x2+M3)%q.length])}),Y3=l2(()=>{const q=q1.value.length;return q?c3.value%q:0}),r1={key:"home-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"基地监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:cr,playUrl:"",hdPlayUrl:"",token:""},K3=l2(()=>{const q=p3.value.length;return q?C1.value||S3.value?z3.value%q:(Math.floor(c3.value/TI)+z3.value)%q:0}),f1=l2(()=>p3.value[K3.value]||r1),W1=l2(()=>u0(p3.value,K3.value,r1)),T0=l2(()=>p3.value.filter(q=>q.status==="直播中").length),O0=l2(()=>Math.max(1,Math.ceil(p3.value.length/V4))),D0=l2(()=>{const q=(I3.value-1)*V4;return p3.value.slice(q,q+V4).map((s2,x2)=>({key:`home-video-modal-${s2.key||s2.title}-${q+x2}`,index:q+x2,live:s2}))}),k0=l2(()=>ig.map(q=>q.key==="today-outflow"?J2(L2({},q),{value:y3.value}):q)),ye=l2(()=>{const q=g3();return q.length?{key:"home-pasture-productivity",title:"草地生产力",rows:q,option:D1(q,"生产力"),height:Q1.value}:null}),Q0=l2(()=>({key:"yak-stock-distribution",title:"牦牛存栏分布",height:d3.value,option:L1({key:"yak-stock-distribution",rows:og},"牦牛存栏",{showTrendLine:!0})})),Le=l2(()=>[f3(E2("grassland","grassland-town"),"草地面积"),f3(E2("wetland","wetland-town-area"),"湿地面积"),f3(E2("grassland","grassland-type-proportion"),"草原类别"),ye.value].filter(Boolean).map((q,s2)=>h1(q,`forest-grass-wet-${s2}`))),M0=l2(()=>[{key:"home-video-monitor",title:"基地监控",type:"video",height:F3.value,live:f1.value},Q0.value,{key:"yak-structure",title:"畜群结构",height:d3.value,option:ve.value},{key:"home-town-balance-gauge",title:"草畜平衡",type:"gauge",height:d3.value,max:100,rows:q1.value}]),ve=l2(()=>y8({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:t0,tooltip:Ii(q=>`${q.name}
    占比:${q.percent}%
    估算数量:${B(q.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(q){const s2=m5.find(x2=>x2.name===q);return s2?`${q} ${G2(s2.count)}头`:q},textStyle:{color:W4,fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:$4,fontSize:10,formatter:"{d}%"},labelLine:{length:7,length2:4,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},emphasis:{scale:!0,scaleSize:8,itemStyle:{shadowBlur:5,shadowColor:"rgba(48, 220, 255, 0.2)"}},data:m5.map((q,s2)=>({name:q.name,value:q.count,selected:s2===O2.value}))}]}));l2(()=>y8({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:J2(L2({},Ii()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(q){const s2=Vt[q[0].dataIndex];return`${s2.label}
    预测存栏:${B(s2.stock)}头`}}),grid:{left:50,right:18,top:16,bottom:24},xAxis:{type:"category",data:Vt.map(q=>q.shortLabel),axisLabel:{color:h8,fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",min(q){return Math.max(0,Math.floor(q.min/1e4)*1e4)},axisLabel:{color:h8,fontSize:10,margin:4,formatter:q=>J3(q,1)},splitLine:{lineStyle:{color:Ti,type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:Vt.map((q,s2)=>({value:q.stock,itemStyle:{borderRadius:[9,9,1,1],color:new Qe(0,0,0,1,[{offset:0,color:s2===Y2.value?"#8bf7ff":"#30dcff"},{offset:.72,color:s2===Y2.value?"rgba(139, 247, 255, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:s2===Y2.value?"rgba(139, 247, 255, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:s2===Y2.value?16:8,shadowColor:s2===Y2.value?"rgba(139, 247, 255, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new Qe(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:.72,color:"rgba(48, 220, 255, 0.62)"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:$4,fontSize:10,formatter:({value:q})=>J3(q)}}]})),l2(()=>{const q=s3.value,s2=G3.value,x2=M1(s2),z2=le(x2.length,q.key);return y8({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#8bf7ff","#48cfff"],tooltip:J2(L2({},Ii()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(M3){var A0,v0,K1;const t1=Array.isArray(M3)?M3:[M3],b1=t1.find(Y0=>Y0.seriesType==="candlestick"),p1=(b1==null?void 0:b1.data)||x2[(K1=(v0=b1==null?void 0:b1.dataIndex)!=null?v0:(A0=t1[0])==null?void 0:A0.dataIndex)!=null?K1:0];if(!p1)return"";const H1=p1.close-p1.open;return[`${p1.label}|${q.unit}度预测`,`预测存栏:${B(p1.close)}头`,`较上期:${f2(H1)}头`,`繁殖补充:${B(p1.birth)}头`,`出栏扣减:${B(p1.outflow)}头`].join("
    ")}}),legend:{top:2,right:2,data:["预测存栏","繁殖补充","出栏扣减"],itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:W4,fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!0,data:s2.labels,axisLabel:{color:h8,fontSize:10,interval:z2},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:h8,fontSize:10,formatter:G2},splitLine:{lineStyle:{color:Ti,type:"dashed"}}},{type:"value",axisLabel:{color:W4,fontSize:10,formatter:G2},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:ie(x2.length,q.key),data:x2,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(72, 207, 255, 0.82)",borderColor:"#30dcff",borderColor0:"#48cfff",borderWidth:1.2}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:3,data:x2.map((M3,t1)=>({value:M3.close,symbolSize:t1===i1.value?7:3,itemStyle:{color:t1===i1.value?"#ffffff":"#30dcff"}})),lineStyle:{width:1.6,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff"},tooltip:{show:!1}},C0("繁殖补充",s2.births,"#8bf7ff",1,!1,i1.value),C0("出栏扣减",s2.outflow,"#48cfff",1,!1,i1.value)]})}),Ln(()=>{S2(),window.addEventListener("resize",S2),window.addEventListener("keydown",Y),document.addEventListener("pointerdown",Sn,!0),N0(),W(),se()}),Rn(()=>{var q,s2;g=!0,window.removeEventListener("resize",S2),window.removeEventListener("keydown",Y),document.removeEventListener("pointerdown",Sn,!0),V(),W2(),m3(),m0(),G(),p.clear(),(s2=(q=s.value)==null?void 0:q.destroyMap)==null||s2.call(q)}),V0(K3,()=>{if(!S3.value){if(!C1.value&&!y1.value&&!K.size){S1.value="";return}W2({resetError:!0})}}),V0(o1,()=>{K2+=1,it()}),V0(()=>r.active,q=>{var s2,x2;q?(se(),m2(),Z1(),W(),_2||B3()):(b=!1,(x2=(s2=s.value)==null?void 0:s2.pause)==null||x2.call(s2),m3(),m0(),G(),W2({resetError:!0}),y(),E())});function se(){b=!1,o("loading-progress",{progress:0}),q0(()=>{var q,s2;(s2=(q=s.value)==null?void 0:q.hasMap)!=null&&s2.call(q)&&R1()})}function R1(){g||b||(b=!0,o("loading-progress",{progress:100}),o("map-ready"),B3())}function C3(q={}){var s2,x2,z2,M3,t1,b1,p1,H1,A0;if((x2=(s2=s.value)==null?void 0:s2.resume)==null||x2.call(s2),q.reset){(M3=(z2=s.value)==null?void 0:z2.resetView)==null||M3.call(z2),(t1=s.value)!=null&&t1.resetView||(p1=(b1=s.value)==null?void 0:b1.refreshView)==null||p1.call(b1);return}(A0=(H1=s.value)==null?void 0:H1.refreshView)==null||A0.call(H1)}function m2(){_3[o1.value]||(o1.value="grassland");const q=()=>{g||!r.active||C3({reset:!0})};q0(()=>{q(),window.setTimeout(q,180)})}function D2(){var q,s2;if(it(),(s2=(q=s.value)==null?void 0:q.hasMap)!=null&&s2.call(q)){C3({reset:!0});return}se(),q0(()=>{var x2,z2;(z2=(x2=s.value)==null?void 0:x2.resume)==null||z2.call(x2)})}e({refreshMapView:C3,resetMap:D2});function B3(){m3();const q=()=>{v2=null,A2="",!(g||!r.active)&&(_2=!0,g0(),Be(),Me(),r.active&&Z1())};if(typeof window.requestIdleCallback=="function"){A2="idle",v2=window.requestIdleCallback(q,{timeout:1800});return}A2="timeout",v2=window.setTimeout(q,650)}function m3(){v2&&(A2==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(v2):window.clearTimeout(v2),v2=null,A2="")}function W3(q,s2){q&&(s2?p.set(q,s2):p.delete(q))}function Q3(q,s2){const x2=Number(s2==null?void 0:s2.index);Number.isFinite(x2)&&(q?m.set(x2,q):m.delete(x2)),s2!=null&&s2.isActive&&(u.value=q||null)}function u0(q=[],s2=0,x2=r1){const z2=Array.isArray(q)?q:[];if(!z2.length)return[{key:`empty-${x2.key||"video"}`,index:0,live:x2,isActive:!0}];const M3=(s2+z2.length)%z2.length,t1=z2[M3]||x2;return[{key:`${t1.key||t1.title||"video"}-${M3}`,index:M3,live:t1,isActive:!0}]}function Z1(){!r.active||g||(m0(),F=window.setInterval(te,2600),H=window.setTimeout(te,800))}function m0(){F&&(window.clearInterval(F),F=null),H&&(window.clearTimeout(H),H=null)}function te(){g||!r.active||(H=null,c3.value+=1,T1(),x1(),B1())}function N0(){o("module-stats",{moduleKey:"home",items:k0.value})}function Me(){return k3(this,null,function*(){var s2,x2;const q=ae(new Date);try{const z2=yield Ml({year:Number(q.slice(0,4)),startDate:q,endDate:q}),M3=(z2==null?void 0:z2.metrics)||{},t1=Number((x2=(s2=M3.headCount)!=null?s2:M3.head_count)!=null?x2:0);y3.value=Number.isFinite(t1)?t1:0}catch(z2){y3.value=0}g||N0()})}function ae(q){const s2=q.getFullYear(),x2=String(q.getMonth()+1).padStart(2,"0"),z2=String(q.getDate()).padStart(2,"0");return`${s2}-${x2}-${z2}`}function Be(){return k3(this,null,function*(){try{const q=yield xp({includeOffline:!0,includeHidden:!0});if(g)return;p3.value=q,z3.value=0,I3.value=1,S1.value=q.length?"":"暂无在线可播放摄像头"}catch(q){if(g)return;p3.value=[],S1.value="监控接口暂不可用",window.setTimeout(()=>{g||S1.value==="监控接口暂不可用"&&(S1.value="")},2400)}})}function p0(q){const s2=p3.value.length;return s2?((Number(q)||0)+s2)%s2:0}function N2(q){return String(p0(q))}function e3(q){const s2=N2(q);return E1[s2]||(E1[s2]={playing:!1,loading:!1,ready:!1,error:""}),E1[s2]}function b3(q){return E1[N2(q)]||{}}function A1(q){return`${l1}-${N2(q)}`}function z1(q){return!!b3(q).playing}function J1(q){return!!b3(q).loading}function s0(q){const s2=b3(q).error;return s2||(p0(q)===K3.value?S1.value:"")}function R0(q){const s2=b3(q);return!!(s2.playing||s2.loading)}function M2(){const q=Object.values(E1);C1.value=q.some(s2=>s2.playing),y1.value=q.some(s2=>s2.loading)}function R(q,s2=!0,x2=K3.value){const z2=(q==null?void 0:q.image)||cr;return z1(x2)&&s2?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${z2})`}}function M(){r2(-1)}function d(){r2(1)}function f(){const q=K3.value;W2({resetError:!0}),z3.value=q,c3.value=0,I3.value=Math.floor(q/V4)+1,S3.value=!0,q0(()=>Z())}function y(){S3.value&&(W2({resetError:!0}),S3.value=!1)}function w(q){const s2=Math.max(1,Math.min(O0.value,Number(q)||1));s2!==I3.value&&(W2({resetError:!0}),I3.value=s2,z3.value=Math.min((s2-1)*V4,Math.max(0,p3.value.length-1)),q0(()=>Z()))}function _(){A3.value=!0}function E(){A3.value=!1}function r2(q){const s2=p3.value.length;if(!s2)return;W2({resetError:!0});const x2=K3.value;z3.value=(x2+q+s2)%s2,c3.value=0}function n2(q){if(!p3.value.length){h2();return}const x2=p0(q),z2=b3(x2);if((z2.playing||z2.loading)&&!z2.error){I2(x2);return}z3.value=x2,c3.value=0,q0(()=>B2(x2,{stopOthers:!S3.value}))}function o2(q,s2){var M3,t1;if(X(s2==null?void 0:s2.target))return;const x2=p3.value.length;if(!x2)return;const z2=((Number(q)||0)+x2)%x2;z2!==K3.value&&((M3=s2==null?void 0:s2.preventDefault)==null||M3.call(s2),(t1=s2==null?void 0:s2.stopPropagation)==null||t1.call(s2),n2(z2))}function t2(q){var p1,H1;const s2=q==null?void 0:q.target;if(!(s2!=null&&s2.closest)||X(s2))return;const x2=s2.closest(".home-video-modal-item");if(!x2)return;const z2=Number(x2.dataset.videoIndex);if(!Number.isFinite(z2))return;const M3=p3.value.length;if(!M3)return;const t1=((z2||0)+M3)%M3;t1===K3.value&&!s0(t1)||((p1=q==null?void 0:q.preventDefault)==null||p1.call(q),(H1=q==null?void 0:q.stopPropagation)==null||H1.call(q),n2(t1))}function X(q){var s2;return!!((s2=q==null?void 0:q.closest)!=null&&s2.call(q,'[id$="-audioControls"], [id$="-ez-iframe-footer-container"], .footer-controls, .theme-icon-item'))}function R2(q){const s2=Math.max(0,Number((q==null?void 0:q.value)||0)),x2=Math.max(5,...N1.value.map(z2=>Math.max(0,Number(z2.value||0))));return Math.max(6,Math.min(100,s2/x2*100))}function y2(q){const s2=Number(q==null?void 0:q.value),x2=String((q==null?void 0:q.status)||(q==null?void 0:q.level)||"");return Number.isFinite(s2)?s2>20||/严重|重度|高超载/.test(x2)?"#8bf7ff":s2>10||/中度|预警/.test(x2)?"#48cfff":s2>5||/轻度/.test(x2)?"#8bf7ff":s2<=0||/总体可控|合理|正常|达标|无超载/.test(x2)?"#24f6c4":"#30dcff":"#30dcff"}function d2(q){return{"--balance-color":y2(q),"--balance-progress":`${R2(q)}%`}}function h2(){return k3(this,null,function*(){return B2(K3.value,{stopOthers:!S3.value})})}function B2(x2){return k3(this,arguments,function*(q,s2={}){const{stopOthers:z2=!0}=s2,M3=p0(q),t1=p3.value[M3]||r1,b1=N2(M3),p1=e3(M3);if((t1==null?void 0:t1.status)!=="直播中"||!(t1!=null&&t1.hdPlayUrl)||!(t1!=null&&t1.token)){p1.error=(t1==null?void 0:t1.status)==="离线"?"当前监控离线":"暂无在线可播放摄像头",p1.loading=!1,p1.playing=!1,p1.ready=!1,M3===K3.value&&(S1.value=p1.error),M2();return}if((p1.playing||p1.loading)&&!p1.error)return;z3.value=M3,c3.value=0,z2?W2({resetError:!0}):(K.has(b1)||p1.loading)&&V2(M3,{resetError:!0}),p1.error="",p1.loading=!0,p1.playing=!1,p1.ready=!1,M3===K3.value&&(S1.value=""),M2(),yield q0();const H1=(e2.get(b1)||0)+1;e2.set(b1,H1);let A0=null;l3(M3,H1);try{const v0=m.get(M3)||u.value,{width:K1,height:Y0}=P2(v0,340,92),I0=A1(M3);if(A0=new np.EZUIKitPlayer({id:I0,accessToken:t1.token,url:t1.hdPlayUrl,audio:0,width:K1,height:Y0,themeData:m1(),handleError(Ee){H1===e2.get(b1)&&(x3(M3),console.warn("EZUIKit player error",Ee),E3(A0),p1.error="视频加载失败",p1.loading=!1,p1.playing=!1,p1.ready=!1,e2.set(b1,H1+1),K.delete(b1),T3(M3),M3===K3.value&&(S1.value=p1.error),M2())},handleSuccess(){H1===e2.get(b1)&&(x3(M3),p1.error="",p1.ready=!0,p1.loading=!1,M3===K3.value&&(S1.value=""),I2(M3),A(M3),u2(I0),M2())},fullScreenChangeCallBack(){}}),H1!==e2.get(b1)){E3(A0),T3(M3);return}K.set(b1,A0),p1.playing=!0,M2(),q0(()=>{I2(M3),A(M3),u2(I0)})}catch(v0){x3(M3),console.warn("EZUIKit init error",v0),p1.error="视频加载失败",M3===K3.value&&(S1.value=p1.error),V2(M3,{resetError:!1})}})}function u2(q){if(typeof document=="undefined"||!q)return;const s2=document.getElementById(`${q}-ez-iframe-footer-container`),x2=document.getElementById(`${q}-audioControls`);s2&&Object.assign(s2.style,{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20",width:"100%",marginTop:"0",pointerEvents:"auto",visibility:"visible",opacity:"1"}),x2&&Object.assign(x2.style,{opacity:"1",pointerEvents:"all",visibility:"visible"})}function A(q=K3.value,s2=0){if(typeof window=="undefined")return;const x2=p0(q),z2=N2(x2),M3=$2.get(z2);s2===0&&M3&&window.cancelAnimationFrame(M3);const t1=window.requestAnimationFrame(()=>{I2(x2),s2<8?A(x2,s2+1):$2.delete(z2)});$2.set(z2,t1)}function V(q){if(typeof window!="undefined"){if(q!==void 0){const s2=N2(q),x2=$2.get(s2);x2&&window.cancelAnimationFrame(x2),$2.delete(s2);return}$2.forEach(s2=>window.cancelAnimationFrame(s2)),$2.clear()}}function Z(){Array.from(K.keys()).forEach(q=>{const s2=Number(q);Number.isFinite(s2)&&A(s2)})}function P2(q,s2=1,x2=1){var b1;if(!q)return{width:Math.max(1,Math.floor(s2||1)),height:Math.max(1,Math.floor(x2||1))};const z2=(b1=q.getBoundingClientRect)==null?void 0:b1.call(q),M3=q.clientWidth||q.offsetWidth||(z2==null?void 0:z2.width)||s2,t1=q.clientHeight||q.offsetHeight||(z2==null?void 0:z2.height)||x2;return{width:Math.max(1,Math.floor(M3||1)),height:Math.max(1,Math.floor(t1||1))}}function I2(q=K3.value){var w6,Fn;if(typeof document=="undefined")return;const s2=p0(q),x2=N2(s2),z2=A1(s2),M3=m.get(s2)||u.value,t1=document.getElementById(`${z2}-wrap`),b1=document.getElementById(z2),p1=t1||b1;if(!M3||!p1)return;const{width:H1,height:A0}=P2(M3),v0=K.get(x2);try{v0&&typeof v0.reSize=="function"?v0.reSize(H1,A0):v0&&typeof v0.autoResize=="function"&&v0.autoResize()}catch(Fe){console.warn("EZUIKit resize failed",Fe)}const K1={position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:`${H1}px`,height:`${A0}px`};Object.assign(p1.style,K1,{display:"block",verticalAlign:"top"}),t1&&b1&&Object.assign(b1.style,{position:"absolute",left:"0",top:"0",right:"0",bottom:"0",display:"block",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",overflow:"hidden",verticalAlign:"top"});const Y0=document.getElementById(`EZUIKitPlayer-${z2}`);Y0&&(Y0.setAttribute("width",String(H1)),Y0.setAttribute("height",String(A0)));const I0=document.getElementById(`${z2}-player`),Ee=document.getElementById(`${z2}canvas0`),Ke=document.getElementById(`${z2}canvas_draw0`),e6=[p1,b1,I0,Ee==null?void 0:Ee.parentElement,Ee,Ke==null?void 0:Ke.parentElement,Ke,...Array.from((b1==null?void 0:b1.children)||[]),...Array.from(((w6=p1==null?void 0:p1.querySelectorAll)==null?void 0:w6.call(p1,"[id$='-wrap'], .play-window, video, canvas, iframe, object, embed"))||[]),...Array.from(((Fn=b1==null?void 0:b1.querySelectorAll)==null?void 0:Fn.call(b1,".play-window, video, canvas, iframe, object, embed"))||[]),Y0].filter(Boolean);Array.from(new Set(e6)).forEach(Fe=>{var H6,wn;(H6=Fe.setAttribute)==null||H6.call(Fe,"width",String(H1)),(wn=Fe.setAttribute)==null||wn.call(Fe,"height",String(A0)),Object.assign(Fe.style,{position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",margin:"0",objectFit:"fill"})}),u2(z2)}function W2(q={}){Array.from(K.keys()).forEach(s2=>{V2(Number(s2),q)}),Object.keys(E1).forEach(s2=>{K.has(s2)||V2(Number(s2),q)}),M2()}function V2(q,s2={}){const{clearElement:x2=!0,resetError:z2=!1}=s2,M3=p0(q),t1=N2(M3);V(M3),x3(M3);const b1=K.get(t1);K.delete(t1),e2.set(t1,(e2.get(t1)||0)+1),b1&&E3(b1),x2&&T3(M3);const p1=E1[t1];p1&&(p1.playing=!1,p1.loading=!1,p1.ready=!1,z2&&(p1.error=""),p1.error||delete E1[t1]),M3===K3.value&&z2&&(S1.value=""),M2()}function l3(q,s2){const x2=p0(q),z2=N2(x2);x3(x2);const M3=window.setTimeout(()=>{const t1=E1[z2];s2!==e2.get(z2)||!(t1!=null&&t1.loading)||(t1.error="视频加载超时",x2===K3.value&&(S1.value=t1.error),V2(x2,{resetError:!1}))},CI);p2.set(z2,M3)}function x3(q){const s2=N2(q),x2=p2.get(s2);x2&&(window.clearTimeout(x2),p2.delete(s2))}function E3(q){if(!(!q||typeof q.stop!="function"))try{const s2=q.stop();s2&&typeof s2.catch=="function"&&s2.catch(()=>{})}catch(s2){console.warn("EZUIKit stop error",s2)}}function T3(q=K3.value){if(typeof document=="undefined")return;const s2=A1(q),x2=document.getElementById(`${s2}-wrap`);if(x2){const M3=document.createElement("div");M3.id=s2,M3.className="home-video-player",x2.replaceWith(M3);return}const z2=document.getElementById(s2);z2&&z2.replaceChildren()}function m1(){return{autoFocus:0,header:{color:"#30dcff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#30dcff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:0},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function T1(){const q=p.get("yak-structure");v1(q,"畜群结构",O2.value)}function x1(){const q=p.get("yak-three-year-forecast");v1(q,"预测存栏",Y2.value)}function B1(){const q=p.get("yak-forecast-trend");v1(q,"预测存栏",i1.value)}function v1(q,s2,x2){const z2=typeof(q==null?void 0:q.dispatchAction)=="function"?q:q==null?void 0:q.chart;!z2||x2<0||(z2.dispatchAction({type:"downplay",seriesName:s2}),z2.dispatchAction({type:"hideTip"}),z2.dispatchAction({type:"highlight",seriesName:s2,dataIndex:x2}),z2.dispatchAction({type:"showTip",seriesName:s2,dataIndex:x2}))}function Y1(q){return q?c3.value%q:0}function g0(){return k3(this,null,function*(){const[q,s2]=yield Promise.all([F8("grassland","grassland-distribution"),F8("wetland","wetland-distribution")]);g||(h.value={grassland:q,wetland:s2})})}function E2(q,s2){const x2=h.value[q];return[...(x2==null?void 0:x2.leftPanels)||[],...(x2==null?void 0:x2.rightPanels)||[]].find(M3=>(M3==null?void 0:M3.key)===s2)}function f3(q,s2){return q?J2(L2({},q),{title:s2}):null}function g3(){var A0,v0,K1,Y0;const q=((A0=E2("grassland","grassland-town"))==null?void 0:A0.rows)||[],s2=((v0=E2("wetland","wetland-town-area"))==null?void 0:v0.rows)||[],x2=((K1=E2("grassland","grassland-productivity-town"))==null?void 0:K1.rows)||[],z2=((Y0=E2("wetland","wetland-mu-yield"))==null?void 0:Y0.rows)||[],M3=V3(q),t1=V3(s2),b1=V3(x2),p1=V3(z2);return[...new Set([...q,...s2,...x2,...z2].map(I0=>I0==null?void 0:I0.name).filter(Boolean))].map((I0,Ee)=>{const Ke=M3.get(I0)||0,e6=t1.get(I0)||0,t6=b1.get(I0)||0,w6=p1.get(I0)||0;let Fn=0,Fe=0;Ke>0&&t6>0&&(Fn+=Ke*t6,Fe+=Ke),e6>0&&w6>0&&(Fn+=e6*w6,Fe+=e6);const H6=[t6,w6].filter(t9=>t9>0),wn=Fe>0?Fn/Fe:H6.reduce((t9,n9)=>t9+n9,0)/Math.max(H6.length,1);return{key:`home-pasture-productivity-${I0}`,name:I0,value:Number(wn.toFixed(2)),unit:"斤/亩",extra:"草地与湿地加权亩产",sourceIndex:Ee}}).filter(I0=>I0.value>0)}function V3(q=[]){return new Map(q.map(s2=>[s2.name,Number(s2.value)||0]))}function h1(q,s2){const x2=String((q==null?void 0:q.key)||"");return x2.includes("grassland-town")?J2(L2({},q),{key:`home-${s2}-${q.key}`,height:Q1.value,option:L1(q,q.title)}):x2.includes("wetland-town-area")?J2(L2({},q),{key:`home-${s2}-${q.key}`,height:Q1.value,option:L1(q,q.title,{variant:"water"})}):J2(L2({},q),{key:`home-${s2}-${q.key}`,height:Q1.value})}function L1(q,s2,x2={}){var v0;const z2=(q.rows||[]).filter(K1=>Number.isFinite(Number(K1.value))).slice(0,10),M3=((v0=z2.find(K1=>K1.unit))==null?void 0:v0.unit)||"万亩",t1=z2.map(K1=>Number(K1.value)||0),b1=Math.max(...t1,1),p1=Math.ceil(b1*1.14),H1=x2.showTrendLine===!0,A0=x2.variant==="water";return y8({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:`单位:${M3}`,left:"5%",top:"8%",textStyle:{color:W4,fontSize:10,fontWeight:400}},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:0}},backgroundColor:"rgba(0, 0, 0, 0.92)",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.82)",padding:[8,10],textStyle:{color:"#ffffff",fontSize:10},formatter(K1){var Ke;const Y0=Array.isArray(K1)?K1:[K1],I0=Y0.find(e6=>e6.seriesName===s2)||Y0[0],Ee=z2[(Ke=I0==null?void 0:I0.dataIndex)!=null?Ke:0];return Ee?`${Ee.name}
    ${s2}:${B(Ee.value)}${Ee.unit||M3}`:""}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},xAxis:[{type:"category",data:z2.map(K1=>K1.name),axisLabel:{interval:0,hideOverlap:!1,color:Ph,fontSize:10,fontWeight:700,lineHeight:12,margin:8,padding:[0,0,0,0],formatter:$3},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},{type:"category",data:z2.map(K1=>K1.name),axisLine:{show:!1,lineStyle:{color:"rgba(0, 0, 0, 0)"}},axisTick:{show:!1},axisLabel:{show:!1}}],yAxis:{type:"value",min:0,max:p1,axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!0,lineStyle:{type:[2,2],dashOffset:5,color:Ti,opacity:1,width:.3}},axisLabel:{color:h8,fontSize:10,formatter:G2}},series:[{name:s2,type:"bar",barWidth:A0?10:6,stack:"b",z:3,data:z2.map(K1=>Number(K1.value)||0),label:{show:!0,position:"top",distance:9,color:$4,fontSize:10,fontWeight:700,formatter:({value:K1})=>G2(K1)},itemStyle:{borderRadius:A0?[7,7,3,3]:2,color:new Qe(0,0,0,1,[...A0?[{offset:0,color:"#a8fbff"},{offset:.42,color:"#31dcff"},{offset:1,color:"#2b8fff"}]:[{offset:0,color:"#19FFC6"},{offset:1,color:"#33AAFF"}]])},emphasis:{itemStyle:{shadowBlur:4,shadowColor:A0?"rgba(49, 220, 255, 0.18)":"rgba(25, 255, 198, 0.16)"}}},...H1?[{name:`${s2}趋势`,type:"line",smooth:!0,symbol:"circle",symbolSize:5,showSymbol:!0,data:t1,label:{show:!1},lineStyle:{width:1.3,color:"rgba(139, 247, 255, 0.82)",shadowBlur:0,shadowColor:"transparent"},itemStyle:{color:$4,borderColor:"#8bf7ff",borderWidth:1,shadowBlur:0,shadowColor:"transparent"},emphasis:{scale:!0,lineStyle:{width:2}},tooltip:{show:!1},z:5}]:[],...A0?[{name:"水柱顶",type:"pictorialBar",symbol:"circle",symbolSize:[18,7],symbolOffset:[0,-2],symbolPosition:"end",data:t1,itemStyle:{color:"#a8fbff",opacity:.92,shadowBlur:3,shadowColor:"rgba(168, 251, 255, 0.18)"},tooltip:{show:!1},z:4}]:[{type:"custom",renderItem(K1,Y0){const I0=Y0.value(0),Ee=Y0.value(1),Ke=Y0.coord([I0,Ee]);return{type:"image",style:{x:Ke[0]-4.5,y:Ke[1]-9,width:10,height:10,image:wI},silent:!0}},data:z2.map((K1,Y0)=>[Y0,Number(K1.value)||0]),tooltip:{show:!1},z:4}],{type:"bar",barWidth:A0?20:30,xAxisIndex:1,barGap:"-220%",data:z2.map(()=>p1),emphasis:{focus:"none",itemStyle:{color:"rgba(255, 255, 255, 0.8)"}},itemStyle:{color:A0?"rgba(58, 164, 215, 0.75)":"rgba(122, 140, 153, 0.6)",opacity:A0?.12:.075},tooltip:{show:!1},z:0}]})}function D1(q=[],s2="数值"){var p1;const x2=q.filter(H1=>Number.isFinite(Number(H1.value))).slice(0,10),z2=((p1=x2.find(H1=>H1.unit))==null?void 0:p1.unit)||"",M3=x2.map(H1=>Number(H1.value)||0),t1=Math.max(...M3,1),b1=Math.ceil(t1*1.12);return y8({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:z2?`单位:${z2}`:"",left:"5%",top:"8%",textStyle:{color:W4,fontSize:10,fontWeight:400}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:.2}},backgroundColor:"rgba(0, 0, 0, 0.92)",borderWidth:1,borderColor:"rgba(153, 153, 153, 0.95)",padding:[8,10],textStyle:{color:"#ffffff",fontSize:10},formatter(H1){var Y0;const v0=(Array.isArray(H1)?H1:[H1])[0],K1=x2[(Y0=v0==null?void 0:v0.dataIndex)!=null?Y0:0];return K1?`${K1.name}
    ${s2}:${B(K1.value)}${K1.unit||z2}`:""}},color:["#6BC7F6"],xAxis:[{type:"category",data:x2.map(H1=>H1.name),axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{color:Ph,fontSize:10,fontWeight:700,interval:0,padding:[0,0,0,0],formatter:$3}},{data:[],axisLine:{show:!1,lineStyle:{color:"rgba(0, 0, 0, 0)"}},axisTick:{show:!1},axisLabel:{show:!1}}],yAxis:{type:"value",min:0,max:b1,axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!0,lineStyle:{type:[2,2],dashOffset:5,color:Ti,opacity:1,width:.3}},axisLabel:{color:h8,fontSize:10,formatter:G2}},series:[{name:s2,data:M3,type:"line",smooth:!0,symbol:bI,symbolSize:10,showSymbol:!1,z:3,emphasis:{focus:"none",itemStyle:{color:"white"}},label:{show:!0,position:"top",distance:10,color:$4,fontSize:10,fontWeight:700,formatter:({value:H1})=>G2(H1)},lineStyle:{shadowColor:"rgba(0, 0, 0, 0.4)",shadowBlur:3,shadowOffsetY:10,width:3,color:new Qe(0,0,0,1,[{offset:0,color:"rgba(115, 208, 255, 1)"},{offset:1,color:"rgba(18, 60, 98, 1)"}])},areaStyle:{color:new Qe(0,0,0,1,[{offset:0,color:"rgba(25, 255, 236, 0.34)"},{offset:1,color:"rgba(51, 153, 255, 0)"}])}}]})}function n0(q){const s2=String((q==null?void 0:q.key)||"");return s2.includes("grassland-town")||s2.includes("wetland-town-area")}function C0(q,s2,x2,z2=0,M3=!1,t1=-1){return{name:q,type:"line",yAxisIndex:z2,smooth:!0,symbolSize:5,data:s2.map((b1,p1)=>({value:b1,symbolSize:p1===t1?10:5,itemStyle:{color:p1===t1?"#ffffff":x2},label:{show:p1===t1,position:"top",color:x2,fontSize:10,formatter:({value:H1})=>G2(H1)}})),lineStyle:{width:2.4,color:x2},itemStyle:{color:x2},areaStyle:M3?{color:new Qe(0,0,0,1,[{offset:0,color:`${x2}44`},{offset:1,color:`${x2}05`}])}:void 0}}function Pe(q){return a3.find(s2=>s2.key===q)||a3[2]}function ke(q,s2="month"){if(s2==="month")return Qp(q);const x2=yu(q),z2=Math.max(1,Math.round(Math.max(1,x2-1)*30)),M3=s2==="week"?7:1,t1=Math.ceil(z2/M3)+1,b1=Array.from({length:t1},(v0,K1)=>{const Y0=Math.min(z2,K1*M3);return Xp(Y0)}),p1=b1.map((v0,K1)=>{const I0=Math.min(z2,K1*M3)/z2,Ee=Math.sin(K1/(s2==="week"?1.8:8.5))*Math.sin(Math.PI*I0)*Math.min(360,q.months*18);return Math.round(St+(q.stock-St)*I0+Ee)}),H1=b1.map((v0,K1)=>Math.round(q.births*(Math.min(z2,K1*M3)/z2))),A0=b1.map((v0,K1)=>Math.round(q.outflow*(Math.min(z2,K1*M3)/z2)));return{labels:b1,stock:p1,births:H1,outflow:A0}}function le(q,s2){return s2==="day"?Math.max(10,Math.ceil(q/6)):s2==="week"?Math.max(2,Math.ceil(q/7)):q>24?4:q>14?2:1}function ie(q,s2){return s2==="day"?q>700?2:q>360?3:4:s2==="week"?q>110?4:6:q>24?7:10}function M1(q){return(q.labels||[]).map((s2,x2)=>{var v0,K1,Y0,I0,Ee,Ke;const z2=Number(((v0=q.stock)==null?void 0:v0[Math.max(x2-1,0)])||0),M3=Number(((K1=q.stock)==null?void 0:K1[x2])||z2),t1=Math.max(0,Number(((Y0=q.births)==null?void 0:Y0[x2])||0)-Number(((I0=q.births)==null?void 0:I0[Math.max(x2-1,0)])||0)),b1=Math.max(0,Number(((Ee=q.outflow)==null?void 0:Ee[x2])||0)-Number(((Ke=q.outflow)==null?void 0:Ke[Math.max(x2-1,0)])||0)),p1=Math.max(120,Math.round((t1+b1)*.18)),H1=Math.max(z2,M3)+Math.max(p1,Math.round(t1*.32)),A0=Math.max(0,Math.min(z2,M3)-Math.max(p1,Math.round(b1*.32)));return{label:s2,open:z2,close:M3,low:A0,high:H1,birth:t1,outflow:b1,value:[z2,M3,A0,H1]}})}function B(q){const s2=Number(q);return Number.isFinite(s2)?s2.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(s2)?0:2}):"--"}function f2(q){const s2=Number(q);return Number.isFinite(s2)?`${s2>0?"+":""}${B(s2)}`:"--"}function G2(q){const s2=Number(q);return Number.isFinite(s2)?Math.abs(s2)>=1e4?`${(s2/1e4).toFixed(Math.abs(s2)>=1e5?0:1)}万`:Math.round(s2).toLocaleString("zh-CN"):"--"}function J3(q,s2=2){const x2=Number(q);return Number.isFinite(x2)?Math.abs(x2)>=1e4?`${(x2/1e4).toFixed(s2)}万`:Math.round(x2).toLocaleString("zh-CN"):"--"}function $3(q){return String(q||"").replace(/\s+/g,"").replace(/[镇乡]$/u,"").slice(0,4)}function R3(q){if(!q)return null;const s2=W5(q.topicKey,q.layerKey);if(s2)return s2;const x2=z8(q.topicKey);return x2.find(z2=>z2.key===q.layerKey)||x2[0]||null}function C(q,s2){const x2=Number.isFinite(Number(s2.fillOpacity))?Number(s2.fillOpacity):.46,z2=s2.stroke||s2.strokeColor||"#E5FCFF",M3=Number.isFinite(Number(s2.strokeOpacity))?Number(s2.strokeOpacity):.86,t1=Number.isFinite(Number(s2.strokeWidth))?Number(s2.strokeWidth):1.1;return`${q}${s2.fill}${x2}${z2}${M3}${t1}round`}function j(q){F2.some(s2=>s2.key===q)&&(o1.value=q,D(!1))}function T(){D(!w1.value)}function D(q){w1.value=!!q,w1.value?W():G()}function W(){G(),!(!r.active||g||!w1.value)&&(q2=window.setInterval(()=>{const q=F2.findIndex(x2=>x2.key===o1.value),s2=(Math.max(0,q)+1)%F2.length;o1.value=F2[s2].key},1e4))}function G(){q2&&(window.clearInterval(q2),q2=null)}function Y(q){q.key==="Escape"&&(y(),E())}function S2(){G1.value=typeof window=="undefined"?1080:window.innerHeight,Z()}function C2(q){const s2=document.querySelector(".home-dashboard"),x2=s2==null?void 0:s2.getBoundingClientRect();if(!(x2!=null&&x2.width)||!(x2!=null&&x2.height))return q;const z2=Number(q==null?void 0:q.x),M3=Number(q==null?void 0:q.y);return!Number.isFinite(z2)||!Number.isFinite(M3)?{x:960,y:540}:z2>=0&&z2<=1920&&M3>=0&&M3<=1080&&(z2>x2.width||M3>x2.height)?{x:z2,y:M3}:{x:(z2-x2.left)/x2.width*1920,y:(M3-x2.top)/x2.height*1080}}function U2(q,s2){var x2,z2,M3,t1;return((z2=(x2=s.value)==null?void 0:x2.getVectorFeatureAnchorScreen)==null?void 0:z2.call(x2,q))||((t1=(M3=s.value)==null?void 0:M3.getVectorFeatureScreen)==null?void 0:t1.call(M3,q))||s2}function r3(q){const s2=(q==null?void 0:q.properties)||{};return Object.keys(s2).filter(z2=>P(z2,s2[z2])).length}function P(q,s2){return s2==null||s2===""||Array.isArray(s2)||typeof s2=="object"?!1:!i.has(String(q||"").toLowerCase())}function N(q={}){const s2=String(o1.value||"").toLowerCase(),x2=`${q.key||""} ${q.layerName||""} ${s2}`.toLowerCase();return s2==="woodland"||x2.includes("woodland")||x2.includes("t_woodland")?"woodland":s2==="wetland"||x2.includes("wetland")||x2.includes("shidi")?"wetland":s2==="grassland"||x2.includes("grassland")||x2.includes("caodi")?"grassland":""}function U(q={}){const s2=b2(q.lng),x2=b2(q.lat);return s2===""||x2===""?"":`POINT(${s2} ${x2})`}function b2(q){const s2=Number(q);return Number.isFinite(s2)?s2.toFixed(8).replace(/\.?0+$/,""):""}function o3(){return k3(this,arguments,function*(q={}){var p1,H1,A0,v0,K1,Y0;const s2=Number((p1=q==null?void 0:q.lngLat)==null?void 0:p1.lng),x2=Number((H1=q==null?void 0:q.lngLat)==null?void 0:H1.lat),z2=H3.value,M3=N(z2);if(!Number.isFinite(s2)||!Number.isFinite(x2)||!M3){it();return}const t1=++K2,b1=q.screen||{x:960,y:540};P3.value=null,O.value=null,v3.value=!1,w3.value=!0,(v0=(A0=s.value)==null?void 0:A0.clearSelectedFeature)==null||v0.call(A0);try{const I0=yield Z2(z2,{lng:s2,lat:x2},M3);if(t1!==K2||g)return;if(!I0){it();return}O.value=I0,v3.value=!1,(Y0=(K1=s.value)==null?void 0:K1.highlightFeature)==null||Y0.call(K1,I0),P3.value=U2(I0,b1)}catch(I0){t1===K2&&it()}finally{t1===K2&&(w3.value=!1)}})}function Z2(z2,M3){return k3(this,arguments,function*(q,s2,x2=N(q)){const t1=U(s2);if(!t1)return null;let b1=null;x2==="grassland"?b1=yield zp({wkt:t1}):x2==="wetland"?b1=yield Yp({wkt:t1}):x2==="woodland"&&(b1=yield Pp(t1));const p1=J(b1,x2);if(!e1(p1))return null;const H1=I1(p1,q,s2,x2);return r3(H1)>0?H1:null})}function J(q,s2){var z2,M3,t1,b1;const x2=[q==null?void 0:q[s2],q==null?void 0:q.grassland,q==null?void 0:q.wetland,q==null?void 0:q.woodland,(z2=q==null?void 0:q.data)==null?void 0:z2[s2],(M3=q==null?void 0:q.data)==null?void 0:M3.grassland,(t1=q==null?void 0:q.data)==null?void 0:t1.wetland,(b1=q==null?void 0:q.data)==null?void 0:b1.woodland,q==null?void 0:q.data,q==null?void 0:q.result,q];for(const p1 of x2){const H1=X2(p1);if(H1)return H1}return null}function X2(q){return Array.isArray(q)?q.find(s2=>s2&&typeof s2=="object")||null:q&&typeof q=="object"?q:null}function e1(q){return!q||typeof q!="object"?!1:Array.isArray(q.dyColumn)&&q.dyColumn.some(i0)?!0:Object.keys(q).some(s2=>P(s2,q[s2]))}function i0(q={}){const s2=q==null?void 0:q.value;return s2==null||s2===""?!1:!!String((q==null?void 0:q.field)||(q==null?void 0:q.title)||"").trim()}function I1(q,s2,x2,z2){const M3=y0(q),t1=V1(q);return{id:q.id||q.patchNo||q.patch_no||q.landNumber||q.land_number||`${z2}-${x2.lng}-${x2.lat}`,properties:M3,feature:{type:"Feature",properties:M3,geometry:t1},geometry:t1,layer:s2,lngLat:x2}}function V1(q={}){return q.geometry||q.geom||q.wkt||q.the_geom||q.theGeom||q.geo||q.geometryWkt||q.geometry_wkt||q.shape||null}function y0(q={}){const s2=L2({},q);return(Array.isArray(q.dyColumn)?q.dyColumn:[]).forEach(z2=>{const M3=z2==null?void 0:z2.value;if(M3==null||M3==="")return;const t1=a[String((z2==null?void 0:z2.title)||"").trim()],b1=String((z2==null?void 0:z2.field)||"").trim();[b1,me(b1),t1].filter(Boolean).forEach(H1=>{(s2[H1]===void 0||s2[H1]===null||s2[H1]==="")&&(s2[H1]=M3)})}),s2}function me(q){const s2=String(q||"").trim();return s2?s2.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase():""}function gt(q){var x2,z2;const s2=(z2=(x2=q==null?void 0:q.feature)!=null?x2:q)!=null?z2:null;if(!s2||r3(s2)<=0){it();return}O.value=s2,v3.value=!1,q!=null&&q.screen&&(P3.value=U2(s2,q.screen))}function it(){var q,s2;K2+=1,O.value=null,v3.value=!1,w3.value=!1,P3.value=null,(s2=(q=s.value)==null?void 0:q.clearSelectedFeature)==null||s2.call(q)}function Sn(q){if(!j3.value)return;const s2=document.querySelector(".home-map-feature-info"),x2=q.target;s2&&x2 instanceof Node&&s2.contains(x2)||it()}return(q,s2)=>(z(),Q("div",kL,[d1(Z8,{ref_key:"mapSceneRef",ref:s,class:"home-map-scene",active:r.active,"active-layer":H3.value,"admin-boundary-line-scale":2.4,"initial-zoom":AI,"auto-apply-layer-map-view":!1,"enable-imagery-feature-pick":!1,"hide-town-label-stats":"",onReady:R1,onFeatureLoading:s2[0]||(s2[0]=x2=>w3.value=x2),onFeatureInfo:gt,onMapClick:o3},null,8,["active","active-layer"]),s2[9]||(s2[9]=S("div",{class:"home-map-scrim"},null,-1)),S("div",EL,[d1(Ua,{"model-value":o1.value,topics:F2,"onUpdate:modelValue":j},null,8,["model-value"]),S("button",{class:s1(["home-toolbar-rotation-toggle",{"is-paused":!w1.value}]),type:"button",title:U1.value,"aria-label":U1.value,"aria-pressed":!w1.value,onClick:T},[S("span",{class:s1(["home-toolbar-rotation-icon",w1.value?"is-pause":"is-play"]),"aria-hidden":"true"},null,2)],10,NL)]),j3.value?(z(),Q("div",{key:0,class:"home-map-feature-info",style:X1(e0.value)},[d1(Ga,{feature:O.value,empty:v3.value,loading:w3.value,width:460,height:q3.value},null,8,["feature","empty","loading","height"])],4)):L3("",!0),S("div",RL,[S("div",LL,[(z(!0),Q(O3,null,X3(Le.value,x2=>(z(),he(_0,{key:x2.key,class:"home-card left-card",title:x2.title,width:k1(o0),height:x2.height},{default:f0(()=>[x2.option?(z(),he(k1(Ue),{key:0,ref_for:!0,ref:z2=>W3(x2.key,z2),class:"home-chart home-town-column-chart",option:x2.option,autoresize:!0},null,8,["option"])):(z(),he(cn,{key:1,panel:x2,compact:"","column-label-standard":n0(x2)},null,8,["panel","column-label-standard"]))]),_:2},1032,["title","width","height"]))),128))])]),S("div",IL,[S("div",FL,[(z(!0),Q(O3,null,X3(M0.value,x2=>(z(),he(_0,{key:x2.key,class:s1(["home-card","right-card",{"home-video-card":x2.type==="video"}]),title:x2.title,width:k1(o0),height:x2.height},{extra:f0(()=>[x2.type==="video"||x2.key==="home-town-balance-gauge"?(z(),Q("button",{key:0,class:"home-card-more",type:"button","aria-label":x2.type==="video"?"查看全部基地监控":"查看全部乡镇草畜平衡",onClick:z2=>x2.type==="video"?f():_()},[...s2[3]||(s2[3]=[oe(" 更多 ",-1),S("span",{"aria-hidden":"true"},"›",-1)])],8,BL)):L3("",!0)]),default:f0(()=>[x2.type==="video"?(z(),Q("div",DL,[S("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:p3.value.length<=1,onClick:M},"‹",8,GL),S("div",{class:s1(["home-video-grid",{"is-single":W1.value.length<=1}])},[(z(!0),Q(O3,null,X3(W1.value,z2=>(z(),Q("div",{key:z2.key,ref_for:!0,ref:M3=>Q3(M3,z2),class:s1(["home-video-screen",{"is-active":z2.isActive,"is-playing":z1(z2.index),"is-loading":J1(z2.index)}]),style:X1(R(z2.live,z2.isActive,z2.index)),onClick:M3=>n2(z2.index)},[z2.isActive&&!S3.value?(z(),Q("div",{key:0,id:A1(z2.index),class:"home-video-player"},null,8,OL)):L3("",!0),!z1(z2.index)&&!J1(z2.index)&&z2.live.hdPlayUrl?(z(),Q("div",jL)):L3("",!0),J1(z2.index)?(z(),Q("div",zL,"加载中")):L3("",!0),s0(z2.index)?(z(),Q("div",YL,c2(s0(z2.index)),1)):L3("",!0),z2.live.hdPlayUrl&&(!z2.isActive||s0(z2.index))?(z(),Q("button",{key:4,class:"home-video-hit",type:"button","aria-label":"播放监控",onPointerdown:$0(M3=>n2(z2.index),["stop","prevent"]),onMousedown:$0(M3=>n2(z2.index),["stop","prevent"]),onClick:$0(M3=>n2(z2.index),["stop"])},null,40,$L)):L3("",!0),S("div",WL,c2(z2.live.title),1)],14,UL))),128))],2),S("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:p3.value.length<=1,onClick:d},"›",8,VL)])):x2.key==="yak-forecast-trend"?(z(),Q("div",HL,[S("div",KL,[(z(),Q(O3,null,X3(a3,z2=>S("button",{key:z2.key,type:"button",class:s1({active:z2.key===a1.value}),onClick:M3=>a1.value=z2.key},c2(z2.label),11,qL)),64))]),d1(k1(Ue),{ref_for:!0,ref:z2=>W3(x2.key,z2),class:"home-chart home-forecast-kline-chart",option:x2.option,autoresize:!0},null,8,["option"])])):x2.option?(z(),he(k1(Ue),{key:2,ref_for:!0,ref:z2=>W3(x2.key,z2),class:"home-chart",option:x2.option,autoresize:!0},null,8,["option"])):x2.key==="home-town-balance-gauge"?(z(),Q("div",JL,[(z(!0),Q(O3,null,X3(q1.value,(z2,M3)=>(z(),Q("div",{key:z2.key,class:s1(["home-balance-gauge-card",{"is-active":M3===Y3.value}]),style:X1(d2(z2))},[S("div",QL,[S("strong",null,c2(z2.status),1)]),S("div",XL,[S("div",ZL,[S("strong",null,c2(B(z2.value)),1),s2[4]||(s2[4]=S("em",null,"%",-1))])]),S("div",eI,c2(z2.name),1),S("div",tI,c2(z2.extra),1)],6))),128))])):(z(),he(cn,{key:4,panel:x2,compact:"","column-label-standard":n0(x2)},null,8,["panel","column-label-standard"]))]),_:2},1032,["class","title","width","height"]))),128))])]),S3.value?(z(),Q("div",{key:1,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部基地监控",onClick:$0(y,["self"])},[S("section",nI,[S("header",aI,[S("div",null,[s2[5]||(s2[5]=S("h2",null,"基地监控",-1)),S("p",null,"共 "+c2(p3.value.length)+" 路,在线 "+c2(T0.value)+" 路",1)]),S("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:y},"×")]),D0.value.length?(z(),Q("div",{key:0,class:"home-video-modal-grid",onPointerdownCapture:t2,onMousedownCapture:t2,onClickCapture:t2},[(z(!0),Q(O3,null,X3(D0.value,x2=>(z(),Q("div",{key:x2.key,ref_for:!0,ref:z2=>Q3(z2,x2),"data-video-index":x2.index,class:s1(["home-video-modal-item home-video-screen",{"is-active":x2.index===K3.value,"is-playing":z1(x2.index),"is-loading":J1(x2.index),"is-offline":x2.live.status!=="直播中"}]),style:X1(R(x2.live,x2.index===K3.value,x2.index)),role:"button",tabindex:"0",onPointerdownCapture:z2=>o2(x2.index,z2),onMousedownCapture:z2=>o2(x2.index,z2),onClick:z2=>n2(x2.index),onKeydown:[Wt($0(z2=>n2(x2.index),["prevent"]),["enter"]),Wt($0(z2=>n2(x2.index),["prevent"]),["space"])]},[R0(x2.index)?(z(),Q("div",{key:0,id:A1(x2.index),class:"home-video-player"},null,8,rI)):L3("",!0),x2.live.status==="直播中"&&!z1(x2.index)&&!J1(x2.index)?(z(),Q("div",oI)):L3("",!0),J1(x2.index)?(z(),Q("div",sI,"加载中")):L3("",!0),s0(x2.index)?(z(),Q("div",lI,c2(s0(x2.index)),1)):L3("",!0),x2.live.hdPlayUrl&&(!R0(x2.index)||s0(x2.index))?(z(),Q("button",{key:4,class:"home-video-hit",type:"button","aria-label":"播放监控",onPointerdown:$0(z2=>n2(x2.index),["stop","prevent"]),onMousedown:$0(z2=>n2(x2.index),["stop","prevent"]),onClick:$0(z2=>n2(x2.index),["stop"])},null,40,uI)):L3("",!0),S("span",cI,c2(x2.live.title),1)],46,iI))),128))],32)):(z(),Q("div",dI,"暂无监控数据")),O0.value>1?(z(),Q("footer",fI,[S("button",{type:"button",disabled:I3.value<=1,onClick:s2[1]||(s2[1]=x2=>w(I3.value-1))},"上一页",8,hI),S("span",null,c2(I3.value)+" / "+c2(O0.value),1),S("button",{type:"button",disabled:I3.value>=O0.value,onClick:s2[2]||(s2[2]=x2=>w(I3.value+1))},"下一页",8,mI)])):L3("",!0)])])):L3("",!0),A3.value?(z(),Q("div",{key:2,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部乡镇草畜平衡",onClick:$0(E,["self"])},[S("section",pI,[S("header",gI,[S("div",null,[s2[6]||(s2[6]=S("h2",null,"全县乡镇草畜平衡",-1)),S("p",null,"全部 "+c2(N1.value.length)+" 个乡镇,超载率沿用草畜平衡结果库口径",1)]),S("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:E},"×")]),S("div",yI,[(z(!0),Q(O3,null,X3(N1.value,x2=>(z(),Q("article",{key:x2.key,class:"home-balance-modal-item",style:X1(d2(x2))},[S("div",vI,[S("strong",null,c2(x2.name),1),S("span",null,c2(x2.status),1)]),S("div",SI,[S("strong",null,c2(B(x2.value)),1),s2[7]||(s2[7]=S("em",null,"%",-1))]),s2[8]||(s2[8]=S("div",{class:"home-balance-modal-track"},[S("i")],-1)),S("p",null,c2(x2.extra),1)],4))),128))])])])):L3("",!0)]))}},kh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgB7dEBDcAgEACxZ/5NTgkg40JaC137mgesf57wDSlCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTEHKbcBaYZyb5dAAAAAElFTkSuQmCC",_I=""+new URL("pathLine2-d4134d4b-balabala-1783957353180.png",import.meta.url).href,MI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADzSURBVHgB7dEBDcAwDMCw9vw5f4MRTTYF73/NC3bnBd+QIiRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSMwBQCIExogIrTYAAAAASUVORK5CYII=",PI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMxSURBVHgB7dZBDcJQFADBB/kCuHAgAQckHAA3Tf27aIXsjIjNXv7bfgyQdB0gSwAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgbN2erwGaHACECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCErfv7M0CTA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw9fj+BmhyABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABB2Amb1BS2MWc5zAAAAAElFTkSuQmCC",kI=""+new URL("ocean-bg-8c848b8f-balabala-1783957353180.png",import.meta.url).href,EI=""+new URL("rotationBorder1-2ce8e0ef-balabala-1783957353180.png",import.meta.url).href,NI=""+new URL("rotationBorder2-7496b968-balabala-1783957353180.png",import.meta.url).href,RI=""+new URL("chinaBlurLine-1a2cbc0f-balabala-1783957353180.png",import.meta.url).href,LI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA0ESURBVHgB7Z3/VRu7E8XFO+9/kgpIKoAOEioAKoBUAFSAqSCkAkwFQAVABUAFhAoIFfjt3bzl+TlGtndG0oz2fs6ZY/L94R2v9u6MpJG0FkKYBELIXP4KhJB3oUAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIfweSlA8fPoRPnz6Fra2t9u+NjY23/wyfsBg/f/58+/z161d4fn5++/vh4aH9JOlYC9wXSw089F+/fg2bm5tvosBnSjqhwO7u7lrx4G+iAwUiAA//7u5uKwh8LooGuehEcn19HW5vb9+iEFkdCmRFECF2dnZaQaSODlpAIBDKxcVF+0lWY0Jb3s7OziaeeXp6mpyfn08aobu67wXNlbPFDQ9WLUAsBwcHkyYSumqDzObKWRP28vIyqQ1EFQrlT+M8SA+Qy9dGE0lCE1HCzc1N288i/+FK0RaspjTrPRqhsJ/y21w5a8ZqTLPmMfTUa3ApFuYqMEQrpcY0ax5d6tUIxc2wtjauFC2xw8PDtze/NH0YQpo1SzfqVbINC5grZ3sZUgTk1NPg39LvHUqaNcv9/f2Q0i5Xzq5s01FjlibVEn33eDyeDJmTkxMz7ZzQXDm7tM2LGrMgZWj6JL2vMcQ0axbc45qjSZW1WBjHv7y8XKp48PT0NIxGo9AHfD86sKsUKaL6FrVRXcn66+vruyXr+N719fW3znFXMm8N/Jbj4+NwdXUVasSNmpcxhP1VQPoleQO+l2bhe/F2Re0WOrbNwy2KVp3hOxC5kB7iu3ENK32hSlMuV85GH5wmakz6gLH+vtfFgwo6QRwdHbViyP37cU1ce1FamRq0gcaLwJC5cnauIQKgPyGh77Bv90a39lBAuIhuJaIL2qKifokrZ/8wvDml4gAaw75WDSle7shSkUhcOfs/gzg035C1T4LhgUVU0XihLAPapkS6qWyunH2z/f199fQB31dZ/jzXIBS8DHIIBfcUbeXp/syYK2dbww1PRTPk6+peSA0d+xxCcSwSV84mFQfAG8/T/dAwRJQcS4mdisSPs9p9jllqnxVeZMtUH0hw2ifx4SgaL5U48L1INbzci9SWsn/iUCT2ndSY53iPoUeN2D1PFU2cDQHbdhCjSqnEwaix2DBokQJpoWhGs+1g3/KRRY3D9dbLm9Zk7CxoWwe/365zqxYeLsPAFvuoGe4Z7p02DgocbTrWFQFqglnkIUwEprQUi8SMR3N7TqXolA9tAjClafdLpEsOEps9p7RHTygOfdMWieFiUVsOafc7KI50pi0So6OKdpxBmNWE4khvmiIxmmrZcUZzlITiyGeaIjGYatlwBOUNWmCkxcrvGoppjm4ZS7XKO6E5aoUoZOE3Dc0wfK6VARhbl1PeCWyaoEFla6HdmeaL7vv371Z+V/mbqkUFyzvdm+Zmekbas6wDWtGDnXI7hj6EBkY67OUurvW2qXlHEq+mNdlroAzF901kv8OmaS1wM/DyK3NhregxwPMq3JhWqlU4ipS5sEb0YGpl3ypo5/wX1Rq5Ympl37TaulQUKXJG4cnJSZDy48ePdtt9Yhu0EY6YkKJxrmRf3L1R2DH3ZZgVl3bYS82uZ48gGofUM3r4AgcEoc0k4OCgptMfSpBVkdJSBPz/c/tMk5tGFClUZ5fvYhpDuxzW9WsaZfG5O+tZU6z9/f0gAWnV7e1tID45Ozt79zzGZSnRWc+mRml6JTkqjWbDpFGkwObieS6kkV5x5Mq/oS8iJWealS3FkqZXSK04cuUfpFjSNDl3mpVFidL0ip3zeky6KWDmkcz0F5FODg7xUJuaTWPId2NjI4uvWVIs6eTg1dVVIPWANOv6+jpI2NvbCznIIpCdnZ0gQXoziT3G43GQsLm5GXKwFn6HkqQ0OWNo0qzQl7W1tUDqAqUjeC7w2QdEoY8fP4bUJI8gW1tbInFwYrBO8IA/PDyEvkBYTT8kpCa5QCTiAEyv6kXattvb2yE1yQUi7aAzgtSLtG2RnaQmuUAknSlpGCa2QdtKarOk2ckyZOmD9IXiqB9JG+cYyUoqEHSk+o5SgMfHx0DqRtLGiCCS52sZkgpEmiOy/1E/0iwhdZqVPIJIkK4dIPaRCiR1Rz2pQKTqZh+kfqQV2q5TLIlAED0YQepH2s6DTbG49mM4SNp6fX09pCSpQCSlAIwew0EiENcRRAIjyHB4fX0NfRlsH0Ry04gvJNmCa4FIYIo1HCy3tVmBEGIBCoSQCBQIKc5oNGpXjfaxz58/h5RQIIREoEAIiWBWIKmH7whZhqQCkQzfpS4hIGQZzAokx5YuhCwiqUCen59DX3Js6ULIIsxGkBwL8glZRFKBSAoOpevZCdHAbAQBjCKkNEkFYn29MSGLMJtiAQqElCZ5iiURSa4t7kk5rKfRf4fEIM3qexMYQern/v6+/cRzcnd31+6FJt2SVJukR1idnZ1NJDQiyXLUFi2/oW3foxHO5PLycnJ0dJT1VNtZyxJBJGB3eO6PVSexnf+RPcCmT7TFc4AIg+1K8Xeu5yKpAqUHeN7c3BR7e9DSGtpWQo7sIssRbC8vL6KjtrAohmvU66N5xkNfMPiTerEUyFLuLjlJCMJiZ70+plOnPuTa+T+LQKS54v7+fiB1IT35OOfR4MnzOGk/BIfO4/D5HL7S8hjaVAKeqRx+ZokgyBelhYvSsw6JHQ4ODsT7NufaeTPbklvpiaaHh4eB1IE0Zc59sFKWUIXJHilMs/ybNN0GmScO890cad45Go1y3hhaAjs/P59IeHp6yupv1l1NLi4uggSkWVxE5RfU5En7krnTq6wCkQ7NQRxHR0eB+ATikFbvSl+yfcgaslCEJoFDvn4N6ZGn9AqWfeM46WgWo4hPkB5Lo8fp6WkoQVZF4u0v7awzivgyjFxJowfINTk4bdkjCIoOpXkko4gvNKLHeDwudixfdlVqzImUeqPQVjONeY/CbV3kouK1AIBrRexbBe1c5sJaUQRLMgvePFrEDg4OJhqUXHIbCl5Y5e2CDjtTLXum1TE3kCWUu7hWFGGqZc80Xn6gcPSAFb242o1kqmXHTk5OJhqgbsvA7ynrQGzrl1Ux8LYZvGm2p5HUubgD4r2zOpDzsj9SzrT6HcBI9ICVd0Jjdr0DtV6cZS9j0jq7DmMvOhNOtH0ILQy9fQZj0nUe02B42NBvM+OIWocdoKNo6bfVbFqdcoAoZOz32XEGYVUr1QIUSXrTFAcw2Ic05YxqqgUoknSmLQ6jS6rNOaSaagGKRN+0xWF4steeU9qpFuBEop5pi8P48LxJp9TKUADrtXQMw+eao1Udu7u7ln+3WcfanFQDHsIjN7xgtOY5pnGwlZNp59pThiQYG1N3aYjmWjPk06BtHfx+2w4irPdtHG40J7fDw8NJCtCmTioezDvYq8aH4pDfc+3RxA5nNXMunGz7EcuObKH40cvvsmiIGtqjiB0OB0zcOLqUSJzktSYtZdToxOFwwMSVs9F1zlqVvBjnH9KwMO6Z9tzGPJwOmLhytrV5ItHKa7sHBd9X++RiJ4xU6VQF4oC5cvbNcMO7htUSx7zBAPwb16opouQUBq7hfKjdlbP/M+SzmiMisVliXAf/vWeh5BRGJ44KJmldOZvMVtkBEB1ZL29FiAKlHCk73/PAC6WSCgZXziazPmUUeEMiqlirJYIoMPsN33JFi2kq2xvAlbNJTGsHQLyl0bEv8ebENXFt+FBCFB0YZq9pT4C1f/8YNM0bT7z7+CzYxf7h4aG1u7u7t3/jUwJ2toevjSDC5uZm+wmzcDQdzu8YjUahJgYvkKbTmrVRIRBs4z/9+fr6Ovd/u76+3j74nShgFs9oxG/Y29vLfn5gDgYtEDxwiB6kPxDFt2/fip3dkZrsB+hYAtGD9ANR4/j4OGxvb1crjg7zHaUUprlF5tDAQMCASnFcOatmKRYA1Q5Gxwa4tt+Vsyqmud59KGAJwUC3dHXlrJohRRiPxxMSB+nUwNf0u3JW3RBNcpdheAD3hMdJBAqkMwrlNxTGH+bK2eQ2xNQLnW/0MSiMuebK2WwGoaBGq+bRLhRoYnMLnqcSNVfOFjG8WRFVahALo8VqxmLFFWkerNBElvDlyxf1AsdUYKb7+vo6XF1dVVkvlRIKRAAEAsHs7Oy0FbVWBIMyEIjh8fGx/ay9FCQlFIginUggmq4UPXX1LR5+lNE/Pz+3n4gQFIQeFEhiIJBOKF3JOsrYu2izKOogGnSl8SiL70rkIYbub5IOCoSQCIMudydkERQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRAS4R+Py6dcyrAs4QAAAABJRU5ErkJggg==",II="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA4qSURBVHgB7Z3xVdvMEsX15bz/k1RAOoBUQDrAHUAHpgOgAkgF2BWAKwBXEKggUEGcCvx09d76M/LMalfalXal+zvnHhPFllbWXu3MrCT/UxTFtiCEiHwqCCEqNAghFmgQQizQIIRYoEEIsfCfgkThy5cvlU5OTopv375Vfx8dHe2WY9n++yQ2m00l8Pb2tnt9f3+vlr+8vFSvWGbeR8LyT8Eyb2dgAuj4+Ljq+MYUfQKTQDDNer3e/U26QYN4YkaFs7OznTG0EWBozCgDrVar3YhD3KFBHPjx40dxenpavUI58/z8XI0weIWIHRpEAUbAKHFxcRF8hDC5xX6OoWFyFFuu0haEYTDJcrmkWRRokD1CmcLE/0imTW5gEmmTbLcFuY1J+s3fyH1M6NelzTTLIZM3CDrWfD4vZrNZqw5mOtbr62v1OmRFyZhkv2jQdp9ubm52+zN1tlNUOVpsHx4etn/+/Nn68OvXr+3d3d22NNS27JDJ7yfaiLaizWi7L/f399V3lfp+RlRWje0sHOynpyfnDgID4f2Xl5dZGKJJZUi2LUPI6uTgA74DfC6nfQ2krBrbWji4v3//duoMxhT4zBhMoQn75msWfIcTM0pWjfWWjzHGNFL4yowsrmHYhIySVWOd5RpKYbRAfD7xOPuDysR+u1gsti7AKMhxcto/T2XV2EbhTOhqjOvr60mOFj7fpesIjGQe789p/xyVVWNVoaNfXV01Hkgc7KmGUV3kahQcg5F9t1k1VhTCo6aDN8HkMopcjDKy7zqrxn4QzlRNFRiGUnHkYpSRhF1ZNXYnl1EDyTeNEU/o/PiORz6aZNXYqsPf3t5aDwqS9JEmjEnKpTCCY5bpySqfxuJA2EYNhFNIwHPapzGpKezC/2V44sqjofP53HrdFHIRhlPDCwawzaFkeBJLv5G2kApf+MgnqrJU02iCcnAm+5Ju4zAi2GJb5hppqyk3wWUtGRy/NBvWlG+gdJtq26mPwrHSyCAvSa9RuBZIyzewnNdN5SdbWR7LccwTbXtaDTo/P1fNkcmQTClqigpw7BNsdzqNQaVKA5URVqnyF46hbXIxwQpXGg2xXWjIfGN8suUliVW4hm+EzRyc+BuvMjHJsA2wmYNX345fOMaJm2S4jWs5BytV0xKOtVaYSSCCGGbDqFho5ki45EdFkq20P3B1a5gvg+agpH4hmWTgftHvBm21cIZVFPqAdvIcaA6sv43ZzMGEnDLSEnf0nQHmwvrbmPbMJc5zUHUhOZfAxY89t6WfDWnlXJqD0qTNk+D2hx7bEX8jWjkXlxz0uKNUhtJuvuqx/Bt3A8g7pMrEQPEklZnQR6TQvMekPe7OSUl5pvcmUwNp4JNsvJVrt8qynEv5Siv/9pCPxFmxVqpjUk61lZa0Rz7hhl+pNt8xQImOGpmke9wjh1rhV4pHTko7wbyD6iotH8FjnyJtM+wKtdCKM+VUKOExTz2GWuFWplWtMKLE+KKo6Up6aHmkUCvcyqTZcoZWVAzBCFKoFaEIFGZFMAFDK6pPaddrBT4hh1mRlJizakXFllTVCtzvuq9ES5oYWlGxpUUuARP27iuREnNeiEj1Jek5WwFHkW4rkMq6TMypPqUl7IHy324rkEYPJuZU35IuQ0HfDLDu9h/WRo8+vhCK2pc2BxfgZN3+wxw9qJQU6YSdVGMoqpOkk3bHila7D0r1Z44e1NCSJg87VrT8PyTdvMLRg0pBWkWr7SjyqWjB+fn5wbKbm5uCkKHZbDbFz58/D5bP5/OiLV6O0mYuOe9BpSJpFMG/21zp6z2ClEPVwbLFYlG8vb0VhKQARpHlcvlhWWmOosxPijZ4OUqqEvCB01RqkvJkPD6oxboG2ShFRZdUafVN1r1CLCk5lxIiQlJgtVodLJvNZoUvzm6Swism51Sq0pJ1z/W4vVEKrx4fHwf/EijKpq5hlnOIJYVXpUEKQlKmXs0CvmGWk5Ok8IoPn6ZSV9cwy2kEwdxHmWt8WIYECPVmQlIGffTl5eXDMsyJSPN5Es4GqcPwiuSCVM1yNQhoHGakRIfVKyoXIcyq43GFr//KOTlI5SbpR3hccujGEOvk5ORg2Xq9LgjJCanPSn27TqNBpJLY8/NzQUhOSH3WpdzbaJDj42OnjRGSMlKflfq2hDUGq9eQmX9Quao+l+cyH2IdQRCjoWa8T72mTEgu1PMQ9O2mPMRqkPrkIHh9fS0IyRHp5N7JINJkCkcQkitSHtLJIFISQ4OQXJFuC5eipH28QiyYg9dfkVxB362bpKmSpRoECUzdIDQHyZ16BIQ+Xi9E7aMahAk6GSPv7+8Hyz5//qy+3zqC1OGjfUjuSH34+/fv6vtVg0jZPQ1Ccsc3UfcaQZiDkNyRDBIsBymn6gtCckY6yR8dHanvVw0ifUhKcAjJCWkE+fr1q/p+56eaMLwiY6Hel1tVsTgHQsZKvS+3StKbVkpIrvj0ZecqFg1CxkK9L7eqYtk+RMiYaGUQQggNQogVGoQQCzQIIRZoEEIsqAZhWZdMBVtfdzYIy75kLPjM8TmHWDQIGQs+fVk1SP2qRxqEjIV6X7bdCMgQi0yOICPI379/D5bZbiwhJAekK3dbjSC+N5YQkgOSQWw3AnqVeZueQkdI6vg+a8FrBKFBSO5Ifdj2OF3VINKHaBCSO1IfDjJRqK2ckJyQnsXbuszr+6BfQlJHmgNpPZPu+6BfQlJG+kWppqeFWg0ilb8YZpFckR6n2/RAdq8RBEi/OkVIDkgGafrFZm+DMA8hueKboBusP4Nb/xlo/JRu02coKkXhJ8yD/gw0YKJOxoCUoLv83majQaQkhnkIyQ2pz7r8YlqjQR4fH502RkjKSH1W6tsS1hisHJq2dRDLNX2OolJSPf8A6NsOn21e+dPTU9uVU9TgKvPmg/6LPu3yWad70tfr9cGyi4uLgpAckMIrqU9LOBlEmkw5OzsrCMkBqa82TRDu4zTU1OdD8G+GWVTqknJon7k858f+LJfLD/9GXXk2mxWEpIzUR31GD+DkpDKOa53oUNRQenh4OOi36Mse63DfGMMsKidJ1SvfS6W8Hl4thVmsZpFUkapXvuEVcHYTwywqJ0mTg57hFTTIRikqqk5OTjqHV5D374OsVquDZaxmkdSYz+cHy25uboo2eDkKSTmTdSplSck5wHLfdXmPIHgCRD3RQbJ+eXlZEJICUnK+WCyc7h6U8HaVlKxzFKFSEXKNgHlyu0ZIV/iWo8ggXwhFGZXTDgf9smOltd0HpVGE96tTQ0saPWCaDutMqjEU1VrS6BHgpB2+QcxFqCEU6YQdvlHX19e9fSkUBUUaPaDwDWNFi+pTmN+IGO53b6BU0bq9ve3tC6KmLfS1SKMH1H0lUkULtJm5pCgfabPms9ks1DbCNFQaRXilLxVbUr+7v78PuY0wK9KczMlDKpak/DdC5BKuwahe1WHCTsWQlphHqKCGWxmMIDUa9wXH+qKoaQphVJ1Ic3BhG64l7AGTJmri0kKrSFdxhN8B6UkSCLVY1aK6SgutAifm+wq/Ui3UYlWL6iqpaoW+FvHkG2dHtFDr6uoq1o5QIxf6To+hlVG8Hbq7uxN3iA95oHylnXDRxyJvO97KtVCL+QjlIy3v6OnK8fg7V3/IA8Djgzg/QjUpgZNs/J3EbLpExMoDNRJJFyKCHq/Q6GUjaj7CpJ3SpCXlPd9v1NuGxBJdz2cDKhNp5hjg9zH725gWT4Lz8/O+d5xKVOgLEpHnOzT1ujE1aQcs/1JaOXcgc0C9b7B6sLBkEizD/w3RJmp4af0CDNgvBtmoesEZTTJN2cwx8KOkBtuwWv7FF8VwazrCsdbMkUABZ9CNizdZGZi4j19aQg4SeXzU4A2wmoTzJOPVfD5P3RxQEo2gSSYmbZ4jMXNAyTREzUkALjngtVv5C8dQul3WkOCkcVKNUatbYMBaOBVAOHbSb1wCJOmJPvg8uQZVJT9txh3LWeHKT7ZKVeKl/SQbpd4DYGBeko9s+UYGUUGyDbMOyQAXPzLkSvv4aReomuOXQV6ZdOMq2SpcOAPxR3vSEx7zpIVUoIdbZUMpi0ZW1Q3bF47KCEeT4YURQXrskwHHMLPbG7JpaGNewtFkWGHiz3YSy7QKmVVjqzOUdneigblJv2rKNQCOWabzWFk1dieMFLbRBGBykUaJJ3R47Z7x/VEj87J8Vo39IHT+xWLReIAYdoUVjIHSrS2cAshFRnD1Q1aNFeUymtAo/X7XI5rMzaqxqnCmspWDaZRu3y0qT03GADgGI7tmLqvGNsol7No3CnMUXa6hFBhxYSSrxjoLE1UuZzyAORTe5vuvEB4h+XY1xsivjcuqsd5yiZkNuKxlqqOKCaOayrWGCYWqWTW2tXyMAlCBwWfGfA8K9g37CFO4jBYTM4ZRVo3tLNMhfDBmGcPIsj9SuJoCTCCU0pRVY4MJB9slma+DMAzxOXKcHEYXtBFtRZttV0ZLwEA4OUz5/pt//v/HZClHhaLsAEVZran+9uXl5aXS6+vr7u/NZlMMQWmG3f4cHx9Xr233abVaFXd3d4PtSypM3iD7oEOVoVRxenraqmMZjEnw+v7+Xry9vVX/xivUBbTLGAE6OjqqXssqXKc2o33L5bJ4fHwsnp+fC/I/aBCFUGaRQGfclw2YYV+h20FT2KFBHIBZIJgFrzkDI6zX6+qVpmiGBvEEZ3GEM2XiW8X5+Dv0mT0UJsxDfoRRYsj8KFdokACY+N8kxyY/6BPkNibnMcUCiHSDBomESaTNiINXk1AD82rLLfZzFJPoQzCBSfrNqMCRIQ40CCEWPhWEEBUahBALNAghFmgQQizQIIRY+C9cNXNlJEjHoQAAAABJRU5ErkJggg==",FI=""+new URL("huiguang-3c5dfda5-balabala-1783957353180.png",import.meta.url).href,BI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFPSURBVHgB7ddhbcMwEAXglyEoBEPoGARCIYTBymBhMAgrhDFoIZTBIATC21lxtGhdYieOW7u6T7L6x5HvfPXJBpRSSj0jko2MGqWTJL7tQMkkgSN/tSiRBG5cNQadjB1KI0GfeOsDJXHVmFKjFBLseSaRM0rg2q3PAbn7c8Cn2Dn5HnwJ7p3hWuSI/QHvFiRi5xrkhv+3W59P5ITz7danRi4YdsCn5NGOGdZufRo8kgSwi6zGIPoe9oI4bzIM4tkkjngExh3wqaoYrBRTkRbbslW5bzuWnTswnRorVFiB/dPVII1rVVWvWGjxX4t9qzRIZy9rpD34vH2+zrnIaN03dtj3+zXw27TPYvrvUxcXsMH8ZjRu7pw0z2JOt9sh+MU7GJCUwdZG1ejcwg03LP8oqa9RItvew9i325P7Tf6yY3/1GdbcQymllFJKKaUy9gO4eI9ILG1riwAAAABJRU5ErkJggg==",DI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA5BSURBVHgB7VxbjxxHFT516Znd9a537axDAhGJkQKCkEDCA5ECT0TwgBTxjgQviN/DD+BP8IgEAolAECQkcYAkCiEX2TGxY+9lrt1dF75T1T1T055ZO9u9thPtkdo909Ndl6/P+c6lak10KqdyKqdyKqdyKqdyKp8rEXQXxXvfqj8hhKe7JHcFmASQ+iwb31c+isM1vt8VgE4EmCVAiCWHpNv3b6kCgyJAPvl+oiB1DkwDlBSEWktU9VkN4mextBkchsgADb8bAaqBqcFKQeocoE6BqUBJgakBYQA0fwYYGhe04LnMQaLqM890NnEgYfi7jWe/Q1RQBKgGaaZF9y0wCSj1MdMMPoZEvQoQhaMnIlAMjhwRZXU7ZzBZzLBkBHoApQ9QxkQ5rjkAVJ6NwJU0B8hWjwYu6gqgToBpgCKTQ0ND+ls4TwAILqzhmjIF9YFIJjLqGWNkRlrjHMbiNRmttfUlFT4jC8QKHw82q5K1aBNAfQIgducalGpPJ+C0BibhlBQQtY8XDlXRUIv+Oj7n0Apwxrotyz70fksL8QVM4DFJ/itSyl3n3QU8l0shPoYNXYN6vEfSf2i8+hgojTeybAoNKgFwbqMGWbRZVPyDpucmdj8BU2uKqo4+E6uK5rPGgODcd8acxaC/pIT4IQD4Dp7+GkWTWjawgSX/qrP+RU/6j47MUGo9xs1jzH5SaQ+Dk+9G06oJuhOTagVMw4QCueLIBlFbAig4ztiSNpww2xjp93pK/gQ3f4Mqsr0D2Xfk/2Qd/UYo9TZMbKwyGlSmlQP0KWvOhag1M3DuF2CCpsDuM5BlvwbFFrTppNmEhpzD8QK05Od4qr/YhB9D98GvlFfX+FnQCG0s9EXifev9rwrn3si03gcCQXtwnmxGrjG0CE4rk9LUTlKy1ZhxjzlFxMmdAWwbNoLyPED5Ge7pJ+8iN879s/T+iifogfdlbFFkuKOfKXUBbT2FK+tVR4+Bl35BUv46n5pLPaUJrO3AOQ4eL9jSuUUibiXHBqYZyO1BY+BBJIPCnKJKOlMKs9MT8hlo0C8pgBK9hvH+KgD5O0Y/AmAMpAAgvbptXB8XxrxrhPior9QzAPnL1U9PAJyfukxcF4pK9GPZvVdo8KkmYVV9PrZ0pTF4f5SpGJ+wtvQttEU5t6u0ZvOpzcJbTx/kzv0DQJSsVYrduFwYhwefWCvl2Dk3nRrz0prWEog/wv3BOJ4GOM/mxtyASZXQFIOHjYxzYXBrrRGURMafVtoAMyNeuOYM2qKg8/1RCcIFKF7YLQz8OUH+sfoBjPjj3NrXMbtSk+gDkAwj34L27cAw1gIqgqZw0wMZIl85dYLGubOv9qRUMMmH0aOGlr0grHitAGyZWisRDzEwFqRvt+KLstSSP7vQGKFiNMu5j4Y9aWeCNzqnpHhSxIGGN2e9ewvvfD8Tcg3g9IHUdiYl4hixW0XCfCPCf3+zZFgk3cQ9hXHihpXiTeX9rogctNtT4slCZmxSQ3zna5xqqJs4zlcEzOZ+XAKWdAxJg7pPYpgvNypwQrgvEMl78RB+v1iDxwSLGX7E90rpGYQ1EOzjigO95AXFCYoLGcnH8XkTGtfXirR17ipAnVbtQSvFU6EvY/ommnDoXyX5VxvpooGQ70zjW8uECWeYidwGoz5Q3wcsP8S1AmaGuWICQu7I4EiWqryQwZvJXWgda4JgQkbKfbP6XUENdgDWjmWyL0vOteoX00ma0xqY81WWzG8azKcsmV5pEeWSY8JN3fM07Vd6fvTIIE9BzXYpguAUa533B/EnRpfWBKkNyxorBCeiQXPP3nkR7EhpA0zoeD8CE8wFLkIZC3+kmoMS9T9sg+xe/R0Mu26XOYJBhfcWtjFfD1Q0W19/nsXLvZitpyWQTy2tNaYWuE0JWxdaqdgmkhuMKp+RkaB1fC5BqFPcYOC2wdVHulMuMxzSvKxAbF58jm2Kwjrr7OrJt5pbZ8Cw6GSiFkEpVD9wQnx14lHmIAAGb0FD3Pg/XN5b1RbI+gD3XMa9AzxXyDjW3QoFCzd+TWpZqgS4LqUzYKrIk8uR0TUTDXFcTX5XCNMetSQ4JwJobs+QfwfXD/wtbXl+9m00ycAi6hc5nr0oYj2HJffWvmeRX5tQwlnUPN8oex5H2sQxoWOUGz1GziGnR+7igYwNma+Xk9L5d7US36ToTuGuxFfBoFcAznV2TajByJAWkHhICnk+NuoPEO98BE25ga97IKMxnnkQsc63aV7puzqy/oNeBi8HhA1CH8R9s3rM+XlqcM+SSPafnC6DcUNdlo/SB27xo9z6NxGxfhcuq851HkH8/5x37veOxCFMDRZBe6i7oBi1YBFTHwhXMOYbPaW+j/OD/AP3gQz7JTj0EfKLXPV0juKX4zEwqW92kECyHMuUmtFkVcBGlWEBnALF22Hh3e/weTh7FkEfPMnzoOgv4hsAEOAbcb1xHPJvuPc8gP0RHnu07gptvTE07m0EfTmi3rxETVRlWT6NfZqDOTD3zJRYHNS2hHvJKkCs8pqTw7GT9hCE2x8bxyXKP6xr9QOKNRYO0y/qSMavw6DewrXcxcoBhWRQyj6g/xY07euUvDzUYz4cGfdnBDgDmNcQGjfJ0B+vIvSq1YTtpIrXRtpyTHgrLsYmPDgD4y7G5STTvV6OyQ2FpLNQnUvgghy5wo9FVV+BSGjN0zgxB3GhalI1ywS7wcVyP3fFzFtXpsb9tvT2ak+oMZc+RQSU67+8ksDhb1r/vaeFqlAU2o5aozCaQmc0QcgineccBt7Ei5uoM7pxWb5ls0yuh1ovPSxiiYCFCXW7OqjGoq4bwBxHAPblnNwlFL2uKKn2MP1DAD21pZ6srYfab86xURlBae2RWFqTL1Wqi3S/HMZClQY4OYqxeYbyQXxtXpZey2lp37VK7K8L+WwmBRfC60W2W6K0anb78Gx/HVt7Cea1D4I5yBwNwS8ARk+he9OKz8LSyk6jtEkt5NjA8HxZqgFYZNmqH1WeuSZHgWpisVbkwY2Ih9e1sKjsi3FpXOYkvbIhpIX7fkJEMJfJ4cTavxSOPoA5jrW3I8G5qgJ/eT9CrxMfTWnKmrpVOQBasnx7HOnElHCIagmD3Q+TJXMOyrKaHPQHwdihBwNnLhSnHGotcuLcK8i2N+GhLi5pdzq19kVU+i4rL/axsjBADoF4hph0cdYTB5PF4KdAorCx75Lma9utpQtTSt8QxxIc01gedGDBEiUI4SWnhEqixBkIUYODrMTkXzuj9RYXnpLGfOncf6EGl4VQN+CZJkB6Aq1hUAZcfkDFbpJFTWETMnauLTUorRfdWgFTmVOdAQcXiVim5FnCS3AqTOCbTJbaO22gOWKAKhzqB24DvFMUXlxDqfOdNaU4OYx84/313Ps3OD9CYmWElANcO0RBeYLqdwEtHKlqyRbtT7fisktqQvcuwEulejOztWOA4vYqzeElVdYcqH2OItwY5TXwArhC0iEmfAMZxKTEehEmPgsA8eD7OFD+9Pu4Z8imI8ErYK4JYiQ2HwaFib5wi6uPna5dd5pdU7X74FxceOfAa7Ygz2+5NH6qlCp5kQ0aMQbrInbxe7CHf1XPj7HA9F5PAAwpJxyryJAwBmAZ4GlNuCD6opjveqj7bg1ILV0Bk3qB2fYMX3kp8EGOIhbMIIA0RqcFNGGEcvdIWD8syf2HeAHO+3/DxK7hHngg5EreF9AWeCLPMQrvfGDXXG5EbrG7i9rSqbQm3xUbDoNpbcUBl1NeoQxLHDp4D6fsFBWmPiLfEuYyRu32GkB52Tp/GcWoIY4c5oZcSTF/QFsAhI4RLQONYNJvL2pI89xauvBKTUk5JxxrMcEMOxJM1KACJoW37gb86pFxC8QmfxNxiWCMp+DRwTTIvr3iNlSuI6e49blLTvfndS4nAcwy4TfN0WBYNsU/TgcHhqURKQrOnxD4DOKdvJ6EQJkk4kAVch9XmWV/kVNmbdMJyEkAc2QRWoc4R1XaJHh1YUNy8CsJlsdkzCuSIWYc189wMlWsjmYlNcBps9CWjPP40uCXIwHpc+C2GIShnBK4X2MGD1QrAlj94CRUhoU137Gn+TRykqa0LC8M3krF4Iz3tPBCGu924J0QO/UzfE3OkuuVuxbEku91sNlaunLXTW2pd0GkYip3ywXzmSZUN4WVxOrrmbQt3Bt2NPSW50Bdx2Ez6UpjavsXjWu1pLEGEyi74b6PxaY9Jl8fNYiFl0puyLAHL65eZvMdU7Si/c7lpEypNhtVfTZVX+xduNLG4Ix43ZlNRQRemVX2uCJ3gN9GHAyuzZd2Q0xEtwLe7LcT6SqJZFmmNSw1QIFferHSFvbbYfL7GW9JAwgUTYifZyCQlNOA86wyApkn7ddVuqb4dFzUUk4qwGMQ6n0xdUDGEwrmkkUPFVbPTASCi+S8HJvxhkMTF/F5IW1SzE2vCUiagnQuJ+mVal6p44zaVdfgTItoRky8rBWijJoispgghj11vcVai0naWhXXdCJdApOaUpoW1N4k/RsAFtebAxW8SxLI8W+1ptXE29wBnhJ65yC1BuY2PJMCRLQIGk803U0epHerRjQBadZ106Mz6dqUmuWH5m9NYDQlkXDjXtO41y05p/fHRjr665OTIl+WELkm1+u9t7WH4nOR3Nt8nuhWs2mCMqscUsdy7B1HTVmRN6XbviQt7iRPry1LH9K/Q6onv4xXZuB3+cdcJxngsaRuO6TMtGhuR4X0Ta1Yde1EpDONYVlSzWtqTn2N6PZ/LLqKWJeaz339N5EsK8BhaYJzJ30vK10u9UD3PTC1rKgFC1oEhSezzJyaGuKXXI8Nflb+vHiZHKFFy3KrWx5vXvjM/kH6Kjn9LwzuUG4H1N0Eoin/B14zT4gj8tU+AAAAAElFTkSuQmCC",GI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAnCSURBVHgB7d3tURtXGwbgR563AN4OtgToADrAFYRUYKjASgV2KrBTAUkF0AHuQOrATgUn53iXQBxE9LHfuq6ZM/J4BKPhz3Pv2fusIgAAAAAAAAAAAAAAgGlYBDALKaVP+eU8pu2PxWJxHUDnBACYiRwATvLLQ15VTNM6r7McAL4F0Lk3AcxCMzgvoh6kU7PO68Lwh/7YAYCZyTsBp1HvBExJufL/EkBv7ADAzDSD9Cam48bwB4CW5J2AZRq/ZQAA7coD9nMar9sABqMDADOW6pMBd3mdxrisQ+MfBqUDADPWDNi3Ma6TAevQ+IfB2QGAI5DqkwFlJ+AkhvX9qKLSHwD0JIeAqzQ8T/kDgL6lYU8GLAMAGEYa5mTAxwAAhpOH8UleD6k/q1SfRgAAhpQHctUM5j6GfxUAwDjkwXya19fUna+GPwCMUOr2ZMBlAADjlLo5GbAMAGDcUrsnAzT+AWAqUjsnAx4CAJiOdPjJgFVS+gOA6WlCwD4nAzT+AWDK8iC/TLvT+AeAqUu7nQxYBgAwD3mwf9xi+Gv8A8Dc5AF/98rw1/gHgDlK9RcHrV4Y/uX/qgAA5in9+2SA4Q8AxyAP/PNnAeA8AIDjkAf/tcY/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGFSSpdlBQAwOXmGn+T1KXaVf+gq1d4HADAZeXZXea3Kil09CwDFhwAARi/P7NNm+Kc2AkDxUBJFAACjlOf0ux9mdysB4PsvEgIAYHzKLfuX5nbsakMAKL4qBwLAODyW/TbM7FYDwCPlQAAYUKrLfg+vzOpOAkChHAgAA0j/LPvtHADexGGuk3IgAPQqz92f8stdXlXs6dAAUJyWDyEEAED3mlvwn/M6iQO0EQCKKuoQcB4AQOvS05P9ltGCtgJAUUUdApQDAaBFzS572fK/ipa0GQAeLYUAAGhHKftFPfxPo0VdBICihIDbsl0RAMBe2ij7bdJVACjKw4KcEACAPbRV9tukywBQVFH3AlrdtgCAOWuz7LdJ1wGgqKLeCbgOAGCjxyf7RYtlv036CACPPigHAsDLnjX9e9k17zMAFMqBAPCDVH/JXrnyr6InfQeAQjkQABrN7vhtdFT222SIAFBUoRwIwJFrvlRvGQMYKgAUVSgHAnCEmsf6lvv9g83AIQPAI+VAAI5Gcwu83O8/jwGNIQAUyoEAzF7zpXm9lv02GUsAKJQDAZitPN/eRX3MbxQXu2MKAMW3AIB5+n+MyJgCwG95XSwWi3UAwMzk+bbMLxcxkovdsQSAX/If5iovOwAAzFaec/f55SyvdQxs6ABQBv7PTSoCgNlrdrrLTsCXGNCQAWAd9Zb/5wCAI1JCQF5lJ+DXGMhQAWAd9fAfNP0AwJDyHCwPAvolBjBEAPg9rzNlPwD4uxz4NnouB/YdAErZ762yHwA8yXPx+8Vx9FgO7DMA3Cj7AcDL+i4H9hEAytV+ud//MQCAjfosB3YdANZR3++/DwBgK32UA7sMAPeh7AcAe+m6HNhVAPg1f/ALZT8A2F+X5cAuAsBNs3UBABzoWTlwHS1qMwAo+wFAB5oQ0Go5sK0AsA5lPwDoTLmt3mY5sI0AcB/KfgDQi6YceBMHOjQAKPsBQM+a2+3dPDkwpXSVXqfoBwADyrO4ymv1yqxebfrZfXYAlP0AYASelQN/j7Zs2AFYlbQRAMCo5Pm83GUH4LVf9GMAeDD8AWC8yu35tgOA7X4AmIA8s0/TUy/goACwDABgMp6VA/cKAJclBAQAMDl5hp/k9SEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6XUqrKCgDgOOTBf5LXKq+H8u8AAOYvD/1P6cmnAADmLQ/89+nf3gcAME950L9Lm/0UAMC85AF/ml73tbwnAIB5aBr/q/TfynuqAACmLT01/rdV3utkAABMWR7mt2l3twEATFN6ufG/LScDAGBq0uuN/21dBwAwDem/G/+7cDIAAMYubd/431Y5HlgFADBOaffG/7ZWyckAABintF/jf1t3AQCMSzqs8b+tDwEAjENPw/+RkwEAMLQ8kM9T/84DGJVFAEcj1e38cm++in59y+tssVisAxgFAQCOxIDD/9E66hDwLYDBvQngWJTn9VcxnKr5DMAICABwBFLdxh/DE/rOk5MBANC91G/jf1tOBsDAdABgxvKgvYzxbrtfLBaL+wAGIQDATKW69PeQ11gfyetkAAxIBwBmKD01/sf8PP7y2e6SLw6CQdgBgBnKQ7Vc+U/la3m/5F2AswB6ZQcAZiaNp/G/rdPkZAAA7C+Ns/G/rfcB9MYtAJiJNO7G/7au8u2A3wLo3P8CmJOfY9r+DAAAAAAAAAAAAAAAAOCZvwCgkvxAcNS/iwAAAABJRU5ErkJggg==",UI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAD/CAMAAABb2Q/2AAAAsVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+3mHKcAAAAO3RSTlMABQoPExgdISgxJTYsQDtTRUr+9vpOWXJdaWVhgIx2om2n6oiWmYTKr5G68J22eqvBfeHZ5c++1LPdxUM4ZWUAAAZvSURBVGjerdrZdpswFAXQmnk0EMB4Ajwbz2Mc1///Yb0SuLg1km66mtfsdRBXRyIP+fH205IURZZa7794h7KqKZKEkrqFCgVpOSpOKoaJljZWOm1VwUnTRUv7/0sbvc62r2FlgJOy0o6x0kVL30NJiUh0ZkfHZuLXGWj/PTNArzPu68hMr4/MVEGqMlJaWNkDKWGukM4IK70uTipq3NVBthASMoWb1CJS644cIoG2OJDIQUYlm4KDH7mWxDJoKfX+3iSyooxEMqRSyhVlJFJp9YY2SGZoiyGZkMh+YtPRN4eWDqQCckSl1CoxIxKkQTMVSWp+pyeUQY4WbSqftuG9S+kkqWupitwkgdZSe5VSo5SeMgOpiaWqmfuVb1BZUUbkU6pyHdokJSJPs0AoZcjU7WRBMhWgQjnkSqmW2dB3ailx5HAW1FJqzJRLOd3Gjo6R7cVTym+y9aecbr1KCjLdae7hMt0090yupBAq/yLld1lHapa7WMVEElqNnimnr1JiS3+Rxqal8aVCZZp3+FJ+ylnRBalSyperA1IGM7ScFwNbIJXvSSOY3/u2QaTSIKVXudp2uVIupW7Eq3kHLetMmSu3RQ8p8/XoVQJtGieVu55A0lfXHY9m6iqhQpkg5fhNtljySKSGkPNxry2SKpGdec6VciUtIvtIOV5nbQekypLKUx4ep1rKHNk9PPZIWdRSEcmTi5KDYjl0HatZSn/IO1Kag/E9E0m1kkVSSlUg++Mic02UvD8WCKkbZn/3ORVLrZSLb0kdIdf06brGkspT9tZf6T9KiSmL25Aj5Ve5Bml8VyqNUn2u8zP1cfJ2mQmlRuToeJnRp2v/TdpE+jaVKk86IH8iZfJAy/UjRcrdkUhLIC0iH1j5uMwDnFyec7TcBrYjkDrIrJI6RuYYaYK8YqRh2vvP61gkNSpPy69t0EbI9pDK+iDx5GUbU6kJ5OIyKQKc/LnZ4TKnZ5R0zHZ63qxxmatreItdkbQM011NwqPHk1WVcJIWxJ2dJzuQDl5aukjOr5O159oYOYmWT6ny5Sb6xMktSkI9fSp9jMw30VcHpCGW4QeRpki2vyM34bITtHmSFqSSPkaO8TKMvujT4WZiSZ3IYBx+XLoI6WKljZVOJQccqbxJhyeNSv4cBLRMfBnDPD8HMVIuqTQwmRjpx7BHF5GkVYoP8EZ9DyG9UkJBOdJ6le3/JB2okleA7OFlWVBmQ0C6IDfhF5UOS2oaLUjnXkqXJ+kWUTnCyTA6j7qwSSxJBw+yew8/zgmVhqaxpe91d7XUEXIQ+zRTZUnYokEpq41XBPKaVZKb2aeSbDxb0hukAzK8iCSMs5J72CS+hMzeGuSJSJsnYfAgP64nsp0Mqfwhh1Q6fDkqZTcWy1v4McHIAZWLpC5Tk4QqeThJNzP5jgzPC6iISPaTI8gpXxovstx4kYR1iiUUJDtGONnLHiDTPU/qpdx/W9KCsiQUuTuicnXqieWJyqFIxiCXYXRd0YIypUPlcBmGRMJHli+TWvIzB8liCeucLWiV2dKv5Ga2SKjUm6RGpFfJOZRJIPsZXk5LmdF7kSVJ6fbTz0p6bGnWcgu140lakPQzjCbbVCxPIEOBtF5kXhaUKeH2HA1XX7DOfLXvYeWJL6EgtewEzVKt5GJG5LiqcrM0XuWsklqjpKWjMgQ5EshsSjMPAul7IOdfUbQ5zKHKIC2uvEThBGTCl1C6LchNQWTMlynIj7DYTkG6PLmv5YAre/vVU2YCeVrlP4nMsfKep3A8GFIH2flL2oxMUuThbFzJfZ8ldQfkiMpos8tXWDkm0ufJxfwpT0J5OMM61wcoPUiDKRMiP4ic8WU3mW6pvEFBhbI4RyALjLxSOYfSs2VM5P0KTz9CQblykKQ5kdHxLpIZkVEUVrLNkC6VOyIf9y3IgCHNV7mD0nPlfjXekXUudzkcJLb0+iDXE5ycVXItkqdapgypUNk7zQ63/y2Hv+U4zVjSKmVxm8A8P29COS+Ov+WgUcog/VouK+nwJawTl0nlmitdpNRrWc8TLW2OpJOvukROh6pITZ33+q8STodpNUgFZFz2k3SenCPPfZctkOT+pKeDyCO5Q0CW/3vyJu3qZgC5Jrdi7Dram6xGT+9kuEOie135Ur4dOfLlOoOsLjCr/rzXki6U/nVBvkf0c1Qu809Z9w4+8GeYUnrqkWm+LvMXnJRTlwruvBIAAAAASUVORK5CYII=",OI=""+new URL("focus_bg-b6803e2d-balabala-1783957353180.png",import.meta.url).href,jI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA3yDvvxBAn3CAYFCQzzCgj6+a/gWFAAAIxklEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB27gRJcRiGAqi8O2sH3f+wM1XM1lOAHZwQKfnvBF3tjyxbBgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAvfBPxkz+lro8xEBwMfyd87dumAkugx9xfhkswRXwUyb1CMH58UvTEgm0CjOVcYlLA4FCMTkOVQFABs4nLo5/ylTEdUxCP6BGyJ7vPBVxNd8TKBA6x3+EugCgDJxGTPyvnkp4HURAtOj5O18RAETgLKLn/7lQDgAicA7W8wN9OQCIwBmEhR/y5QAgAieQHT/mwj4BYJMJpIgTPxVLAXibwdRYhrDwC6kmANgHFBsc/7V+D+AWBpeDRws3LojFAKAI6BUdl4zFAKAIaBUWLnOFADRb8JL0INZwjUiv+MkYw00MtoFDZMdVRqpgY8zdbXL8Doc7gQMsXMnRCvPQ3RyvthB8lp24WqSV5v7L8DoTtoGPmg3XG+kNc+/RCIg1OK7nB3pP6G9cz+Hh6MdkruZzoAZ2TR3oCD6i40pujNTMfhkkQJSlemAbaBOhN0iAHImr+Egbqo1AIthZalj+tgggARIkrjBF2kFvkIDDpUMvZnuDBBwrcVkXaDe2QwKO1HGRt7QrO2EwcJhOxFiuNzgNHqM7/ON/Zz2XYDy8g0HCx7/2Khpzgc1ZJ2gcZ00pjPjOwKf/5WOgDwqjoDhewiRt18382kSwoUXet7Rmg8Pgx2SJ9dYaYUXpvAoNoA90iOD5FYc2YCPB8CtfdJgvfsXgGyPbWOReu3VoA/bXy13/UgLwQ8MbsEbw+hcS4LAJtEui17+QgBtBo174+hN1GArsyBqZ/f+/vrAJNGjYADwJ4XES2Mus4pgdDE4COzHS7n8fswZToV1kfk7UxH3GTGAP1qj5t2b0gTtI/NRIwozoAzdnNTSANY2goG5FlaTqX2qd/POqLlZNA3CXcRTcVtL2ifLa/mDZrIobgH9ZhxLwkQIg9td5M0rAdqzGqzWPErCZpOkE8JvFd8a3YmW/AVj/NkDcxYVwSVsHeBecytwKZNR1gHcZE4F9H4IZEm5SdXkllldaAIgiToIbsGoLAJHHSbBdUlsAiKKaCbZgRm8BeF4CHEGlQXEBIIrYA1olzQWAyOA2sJHTXACIMq4C2gxq3oE9FpyGh8yCJe0ldOQHfFaS3+M5fWPAQhvofI/Vrxb1X6V5rH6DUXcL+L0NdCli9VeatO8AROHX6o9Y/fXsGX5swzO7ERc/b+n17wBEA1b/bQlvqq7NqD8DQAt7hh0A3jfgGvXaRtWDQGjmlc8BoJFDC3BpM1qAaxvwnu7auhPcA8MP9u40yU0ghgIw6s2AWcy7/2EzNUmq8iMzeNwNSNb7jgCNpFYvVNh4ss63xEu3fYusAV3LrAF9K+ZuhaGm7pwE+NZzEuDbwMsVfFt5rNK3jQPAt2R+RzgdcSagIyeEA8A34X4w37gh0DkOAOe4FOAcTwXR+0ic0vjGpoZzbGo4xwHgHLtazrGp4RybGr4FNjV8K9zg6lvhTQe+cYezc9zh7NzGc66+zdzh7FvkjaeuLTzo7NudfSDfeNuRc7ztyLnIWaBrvPHSuZGTAN9unAT4JvivqSMXFrAGdG20//NDqpG4I9S1bP0H6OqUh6ns+RZ/v9SjPKKxCdTGEqCVXB7R3EJ6AM8ENJHLLVrcTDeCXYB6eUzRaBMtgdvBGrx9s48vgAsBVXKfTAfQGyeBh7RRo5EyMAv7wFVyhOkzFSMzQKUVphupwgxQqcByFT2CGaBWhOHtFGI7fqkwGQ4BI5gBqhXYDQECrgPUS2ZDwGh47CrSw+pyioArwQ3kCJu9gBEsAZsYYLIdGIQlYBsZgMHDdQNYAjayWnyUAQwArRQYLKdni6NWqwRzdeDIAHBKCIhKP6cgDAAtJWtJIDEANFVgKwn0YABoK5lKAgEMAOc9UlHXDsrCANDchC89OmUeDADt5WimDOjxJWEAqHusFm5bWmBmqNoy2/iwggBcBjxCgYVCMIuVSGXPBOjvByWwAjxKjvof7g02EpVNdwC69wYM+MCNYIfZlI+AAfpjlGk5qh4BA5gADlageAQMYAI43KR3BAz4xBthDpUFSvPsDTDRqLAuRHwn5e4SOeGDqTVrq3pAX60VBADXAM4x4VuydKdbBCwAzjND2efW4zezhxiNCYLvPXJ3ovyAxqz0zpao6JEHAVgAnuwOaEkDfcQfvA7oRD32pNCdICR80Nucel8D9sjYHa6PfP9XmbBrDt2hQgLf/3VW7BtCd5g8YN/a0WFW4MI80Ee+/6utuGwIlBl8/9dbcc0QKAl8/yqsuGAIlAS+fy0GPEfG3DWRe8FfXABSYMCT5Bba/LPuE+d/agx4WhpDq5/X6GlF0z3iedvLqeCe8LzI/v+JguAn0rjUdx717UnxLMz4GbmN4eUN6de3oGn/89wXt+G+dD8QwfJfrz7iFXHehr6U0HCQRZZ/lwiCKiIyp2dygKK9SPSvPKFafQ6YeP7jOqOgUm0OiOp/YvPewoo6lfOAjZ//j+kKAntn09n8Ua8uCHTfW5n9DVgEL3u9FzQz++vRy0EDIEfO/U14OQ90OxKjvxEvDoGXfgOT2Pr5xc6d4zAIAwEUDdjsm+D+h02X1pZFgcN7V5ivGRr8REUJFLxRFR3/pypI4JMSjb8m7VESQP4NGIz/6dqjuTWA7voJk0+/KsyxIIDkDYij8Vcjfw1k/pYeVru/MssR7gmgu4LLX6ecBj5pu9Vfr37dEgHw79r5aATwcu2yxiCAl9uX6YxBAC/X9cs4DWfcmkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC3PTgkAAAAABD0/7UrbAAAAAAAAAAAAAAAAAAAAAAAAHAKGbwwCsmp53wAAAAASUVORK5CYII=",zI=""+new URL("focus_move_bg-cf41417a-balabala-1783957353180.png",import.meta.url).href,Ds=new Map;class Or{constructor(e={}){this.options=L2({includeChinaMap:!1},e),this.ready=null,this.init()}init(){const e=this.getSharedKey(),n=YI(e,()=>this.createAssetList());this.instance=n.instance,this.ready=n.ready}getSharedKey(){return this.options.includeChinaMap?"hongyuan-map-with-china":"hongyuan-map"}createAssetList(){let e=[{type:"Texture",name:"flyline",path:kh},{type:"Texture",name:"pathLine",path:kh},{type:"Texture",name:"pathLine2",path:MI},{type:"Texture",name:"pathLine3",path:_I},{type:"File",name:"china",path:oi(Pf)},{type:"File",name:"mapJson",path:oi(e_)},{type:"File",name:"mapStroke",path:oi(Pf)},{type:"Texture",name:"huiguang",path:FI},{type:"Texture",name:"rotationBorder1",path:EI},{type:"Texture",name:"rotationBorder2",path:NI},{type:"Texture",name:"guangquan1",path:LI},{type:"Texture",name:"guangquan2",path:II},{type:"Texture",name:"chinaBlurLine",path:RI},{type:"Texture",name:"ocean",path:kI},{type:"Texture",name:"side",path:PI},{type:"Texture",name:"arrow",path:BI},{type:"Texture",name:"point",path:DI},{type:"Texture",name:"focusArrows",path:GI},{type:"Texture",name:"focusBar",path:UI},{type:"Texture",name:"focusBg",path:OI},{type:"Texture",name:"focusMidQuan",path:jI},{type:"Texture",name:"focusMoveBg",path:zI}];return this.options.includeChinaMap&&e.push({type:"File",name:"chinaMap",path:oi(t_)}),e}}function YI(t,e){if(Ds.has(t))return Ds.get(t);const n=new pM({cloneTextures:!0});n.addLoader(va,"FileLoader");const a=n.loadAll(e()),i={instance:n,ready:a};return Ds.set(t,i),i}const $I="/jsyApi/api/map/ndvi_timeline";function WI(){return k3(this,null,function*(){const t=yield fetch($I,{credentials:"include",headers:{Accept:"application/json"}});if(!t.ok){const a=new Error(`HTTP ${t.status}`);throw a.status=t.status,a}const e=yield t.json().catch(()=>({}));if((e==null?void 0:e.code)===401||(e==null?void 0:e.code)==="401"){const a=new Error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"NDVI 时间轴未授权");throw a.status=401,a}const n=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[];return VI(n)})}function VI(t=[]){const e=new Set;return t.map((n,a)=>{const i=HI(Eh(n,["url","layerName","layer_name","layer","name"]));if(!i)return null;const r=Eh(n,["date","month","time","label"])||i,o=KI(r);return{key:`${i}-${r||a}`,label:o,date:String(r),layerName:i,source:n}}).filter(Boolean).filter(n=>e.has(n.key)?!1:(e.add(n.key),!0))}function Eh(t,e){for(const n of e)if((t==null?void 0:t[n])!==void 0&&(t==null?void 0:t[n])!==null&&(t==null?void 0:t[n])!=="")return t[n]}function HI(t){const e=String(t||"").trim();return e?e.includes(":")||/^https?:\/\//i.test(e)?e:`ne:${e}`:""}function KI(t){const e=String(t||"").trim();if(!e)return"";const n=e.match(/(\d{4})[-_/年. ]?(0?[1-9]|1[0-2])(?:月)?/);return n?`${n[1]}.${String(Number(n[2])).padStart(2,"0")}`:e}const qI={key:0,class:"layer-panel-list"},JI=["onClick"],QI=["onClick"],XI={key:0,class:"layer-panel-empty"},ZI={class:"layer-panel-legend"},eF=["disabled","title","onClick"],tF={class:"legend-name"},nF={key:0,class:"legend-check"},aF={key:1,class:"layer-panel-empty is-legend"},jr={__name:"LayerPanel",props:{topicKey:{type:String,required:!0},modelValue:{type:[String,Array],default:""},legends:{type:Array,default:()=>[]},selectedLegendKey:{type:String,default:""},height:{type:Number,default:0},width:{type:Number,default:232},layers:{type:Array,default:null},overlayLayers:{type:Array,default:()=>[]},overlayKeys:{type:Array,default:()=>[]},legendOnly:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},emits:["update:modelValue","update:selectedLegendKey","update:overlayKeys"],setup(t,{emit:e}){const n=t,a=e,i=l2(()=>Array.isArray(n.layers)?n.layers:z8(n.topicKey)),r=l2(()=>Array.isArray(n.overlayLayers)?n.overlayLayers:[]),o=l2(()=>Array.isArray(n.legends)?n.legends:[]),s=l2(()=>Array.isArray(n.modelValue)?n.modelValue.map(String).filter(Boolean):n.modelValue?[String(n.modelValue)]:[]),u=l2(()=>Array.isArray(n.overlayKeys)?n.overlayKeys.map(String).filter(Boolean):[]),m=l2(()=>o.value.filter(v2).length>1),h=l2(()=>o.value.length===1),p=l2(()=>n.legendOnly?"图例":n.compact?"图层":"图层控制"),g=l2(()=>{const _2=n.legendOnly?0:i.value.length+r.value.length,q2=Math.ceil(o.value.length/2),K2=_2?_2*32:30,$2=o.value.length?24+Math.max(28,q2*28):28;return Math.max(132,Math.min(224,48+K2+$2))}),b=l2(()=>n.compact?n.height||g.value:n.height?n.height:430);function F(_2,q2){var K2,$2;if(($2=(K2=_2.currentTarget)==null?void 0:K2.blur)==null||$2.call(K2),n.multiple){const c3=new Set(s.value);c3.has(q2)?c3.delete(q2):c3.add(q2),a("update:modelValue",Array.from(c3));return}a("update:modelValue",n.modelValue===q2?"":q2)}function H(_2){return s.value.includes(String(_2))}function K(_2,q2){var $2,c3;(c3=($2=_2.currentTarget)==null?void 0:$2.blur)==null||c3.call($2);const K2=new Set(u.value);K2.has(q2)?K2.delete(q2):K2.add(q2),a("update:overlayKeys",Array.from(K2))}function e2(_2){return u.value.includes(String(_2))}function p2(_2,q2){var K2,$2;($2=(K2=_2.currentTarget)==null?void 0:K2.blur)==null||$2.call(K2),A2(q2)&&a("update:selectedLegendKey",n.selectedLegendKey===q2.key?"":q2.key)}function v2(_2){return(_2==null?void 0:_2.selectable)===!1?!1:!!(_2!=null&&_2.key&&(_2.cqlFilter||_2.rankingValueKey))}function A2(_2){return m.value&&v2(_2)}return(_2,q2)=>(z(),he(_0,{title:p.value,width:t.width,height:b.value},{default:f0(()=>[S("div",{class:s1(["layer-panel",{"is-legend-only":t.legendOnly,"is-compact":t.compact}])},[t.legendOnly?L3("",!0):(z(),Q("div",qI,[(z(!0),Q(O3,null,X3(i.value,K2=>(z(),Q("button",{key:K2.key,class:s1(["layer-panel-item",{"is-active":H(K2.key),"is-checked":H(K2.key)}]),type:"button",onMousedown:q2[0]||(q2[0]=$0(()=>{},["prevent"])),onClick:$2=>F($2,K2.key)},[S("span",null,c2(K2.name),1),q2[3]||(q2[3]=S("i",null,null,-1))],42,JI))),128)),(z(!0),Q(O3,null,X3(r.value,K2=>(z(),Q("button",{key:K2.key,class:s1(["layer-panel-item is-overlay",{"is-active":e2(K2.key),"is-checked":e2(K2.key)}]),type:"button",onMousedown:q2[1]||(q2[1]=$0(()=>{},["prevent"])),onClick:$2=>K($2,K2.key)},[S("span",null,c2(K2.name),1),q2[4]||(q2[4]=S("i",null,null,-1))],42,QI))),128)),!i.value.length&&!r.value.length?(z(),Q("div",XI,"暂无图层配置")):L3("",!0)])),S("div",ZI,[q2[5]||(q2[5]=S("div",{class:"layer-panel-section-title"},"图例",-1)),o.value.length?(z(),Q("div",{key:0,class:s1(["layer-panel-legend-grid",{"is-single":h.value}])},[(z(!0),Q(O3,null,X3(o.value,K2=>(z(),Q("button",{key:K2.key||K2.name,class:s1(["layer-panel-legend-row",{"is-selected":A2(K2)&&K2.key===t.selectedLegendKey,"is-checkable":A2(K2),"is-disabled":!A2(K2)}]),type:"button",disabled:!A2(K2),title:K2.name,onMousedown:q2[2]||(q2[2]=$0(()=>{},["prevent"])),onClick:$2=>p2($2,K2)},[S("span",{class:"legend-swatch",style:X1({backgroundColor:K2.fillColor,borderColor:K2.strokeColor||K2.fillColor})},null,4),S("span",tF,c2(K2.name),1),A2(K2)?(z(),Q("i",nF)):L3("",!0)],42,eF))),128))],2)):(z(),Q("div",aF,"暂无图例"))])],2)]),_:1},8,["title","width","height"]))}};const iF={class:"grassland-ndvi-timeline-head"},rF={key:0,class:"grassland-ndvi-timeline-state"},oF={key:1,class:"grassland-ndvi-timeline-state"},sF={key:2,class:"grassland-ndvi-timeline-body"},lF=["aria-checked","title","onClick"],uF={class:"grassland-ndvi-timeline-label"},cF=42,dF=28,fF={__name:"GrasslandNdviTimeline",props:{items:{type:Array,default:()=>[]},modelValue:{type:String,default:""},loading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,a=e,i=l2(()=>n.items.findIndex(p2=>p2.key===n.modelValue)),r=l2(()=>i.value===-1?Math.max(0,n.items.length-1):i.value),o=l2(()=>n.items[r.value]||null),s=l2(()=>n.loading?"加载中":"未选择"),u=l2(()=>n.items.length>7),m=l2(()=>u.value?dF:cF),h=l2(()=>H(r.value)),p=l2(()=>K(r.value));function g(p2){if(!n.items.length)return;const v2=Math.min(n.items.length-1,Math.max(0,r.value+p2));a("update:modelValue",n.items[v2].key)}function b(p2){!p2||p2.key===n.modelValue||a("update:modelValue",p2.key)}function F(p2){return!n.items.length||p2<0?0:n.items.length===1?.5:p2/(n.items.length-1)}function H(p2){const v2=F(p2),A2=e2(v2*100),_2=m.value*(1-v2*2);return`calc(${A2}% ${_2<0?"-":"+"} ${e2(Math.abs(_2))}px)`}function K(p2){const v2=F(p2);return v2<=0?"0px":`calc(${e2(v2*100)}% - ${e2(m.value*2*v2)}px)`}function e2(p2){return Number(p2.toFixed(4)).toString()}return(p2,v2)=>{var A2;return z(),Q("div",{class:s1(["grassland-ndvi-timeline",{"is-dense":u.value}])},[S("div",iF,[v2[2]||(v2[2]=S("span",null,"草地健康/退化",-1)),S("strong",null,c2(((A2=o.value)==null?void 0:A2.label)||s.value),1)]),t.loading?(z(),Q("div",rF,"加载月份数据")):t.items.length?(z(),Q("div",sF,[S("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"上一期",onClick:v2[0]||(v2[0]=_2=>g(-1))},"‹"),S("div",{class:"grassland-ndvi-timeline-track",style:X1({"--timeline-active-left":h.value,"--timeline-fill-width":p.value,"--timeline-edge-offset":`${m.value}px`}),role:"radiogroup","aria-label":"草地健康退化月份"},[v2[4]||(v2[4]=S("div",{class:"grassland-ndvi-timeline-line"},null,-1)),v2[5]||(v2[5]=S("div",{class:"grassland-ndvi-timeline-fill"},null,-1)),v2[6]||(v2[6]=S("div",{class:"grassland-ndvi-timeline-thumb"},[S("i")],-1)),(z(!0),Q(O3,null,X3(t.items,(_2,q2)=>{var K2,$2;return z(),Q("button",{key:_2.key,class:s1(["grassland-ndvi-timeline-mark",{"is-active":_2.key===((K2=o.value)==null?void 0:K2.key),"is-past":q2<=r.value,"is-staggered":u.value&&q2%2===1}]),type:"button",role:"radio","aria-checked":_2.key===(($2=o.value)==null?void 0:$2.key),style:X1({left:H(q2)}),title:_2.date,onClick:c3=>b(_2)},[v2[3]||(v2[3]=S("span",{class:"grassland-ndvi-timeline-tick"},null,-1)),S("span",uF,c2(_2.label),1)],14,lF)}),128))],4),S("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"下一期",onClick:v2[1]||(v2[1]=_2=>g(1))},"›")])):(z(),Q("div",oF,"暂无月份数据"))],2)}}},hF=Fa(fF,[["__scopeId","data-v-86212a95"]]);const mF={class:"forest-grass-wet"},pF={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},gF={class:"fgw-left"},yF={class:"fgw-side-stack is-left"},vF={class:"fgw-right"},SF={class:"fgw-side-stack is-right"},wF={key:1,class:"fgw-ndvi-timeline"},bF={class:"fgw-bottom-topic"},TF={key:0,class:"loading"},CF={class:"loading-progress"},AF={class:"value"},xF={__name:"index",props:{showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["topic-stats"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=t3(null),o=t3(j8[0].key),s=t3(""),u=t3([]),m=t3([]),h=t3("idle"),p=t3(!1),g=t3({title:"业务统计",rows:[]}),b=t3({title:"业务统计",rows:[]}),F=t3([]),H=t3([]),K=t3(null),e2=t3(""),p2=t3(null),v2=t3(!1),A2=t3(!1),_2=t3(null),q2=t3(0),K2=t3(a.showLoading),$2=t3([]),c3=t3("idle"),p3=t3(""),y3=t3({type:"idle",text:"等待 GeoServer 图层加载"});let z3=null,S3=!1,I3=!1,A3=!1,a1=null,C1=0,y1=0,S1=0,l1=0,E1=!1,t0=!1;const o0={图斑编号:"patch_no",图斑号:"patch_no",湿地编号:"land_number",草地编号:"land_number",林地类型:"dlmc",地类:"landUseName",地类名称:"landUseName",所在乡镇:"townName",所在区域:"full_name",面积:"acreage",图斑面积:"acreage",湿地面积:"acreage",草场面积:"acreage",草原类:"grassTypeName",草原型:"grassMinType",草原等级:"grasslandLevel",草原类型:"basic_type_name",小斑干草产量:"xbGcYield",小斑鲜草产量:"xbXcYield",鲜草产量:"xcYield",干草产量:"gcYield",海拔:"elevation",地貌:"landformName",权属单位:"qsdwmc",坐落单位:"zldwmc",林班:"lin_ban",小班:"xiao_ban",森林类别:"sen_lin_lb",林种:"lin_zhong",公益林等级:"gjgyl_bhdj",保护等级:"bh_dj",质量等级:"zl_dj",优势树种:"you_shi_sz",起源:"qi_yuan",龄组:"ling_zu",郁闭度:"yu_bi_du",林地权属:"ld_qs",土地使用权属:"tdsyqs",林木权属:"lmqs",生态区位:"stqwmc",坡度等级:"slope"},G1=new Set(["grassland-distribution","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]),Q1=[{topicKey:"wetland",layerKey:"wetland-distribution",name:"湿地分布",legendName:"湿地资源"},{topicKey:"grassland",layerKey:"grassland-distribution",name:"草地分布",legendName:"草地资源"},{topicKey:"woodland",layerKey:"woodland-distribution",name:"林地分布",legendName:"林地资源"}],d3=new Set(["code","msg","message","success","data","result","grassland","wetland","woodland","basicGrassland","dyColumn","geom","wkt","geometry","the_geom","theGeom","shape","shape_leng","shape_length","length","perimeter","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].map(M2=>M2.toLowerCase()));l2(()=>Mf(o.value));const F3=l2(()=>z8(o.value)),U3=l2(()=>Q1.map(M2=>Y3(M2)).filter(Boolean)),a3=l2(()=>o.value==="overview"?U3.value:F3.value),F2=l2({get(){return o.value==="overview"?u.value:s.value},set(M2){if(o.value==="overview"){u.value=Array.isArray(M2)?M2.map(String).filter(Boolean):[];return}s.value=String(M2||"")}}),N3=l2(()=>s.value?W5(o.value,s.value):null),_3=l2(()=>o.value==="grassland"&&s.value==="grassland-health"),o1=l2(()=>_3.value),w1=l2(()=>$2.value.find(M2=>M2.key===p3.value)||null),U1=l2(()=>{var M2;return(((M2=N3.value)==null?void 0:M2.legends)||[]).find(R=>R.key===e2.value)||null}),O=l2(()=>U3.value.flatMap(M2=>M2.legends||[])),v3=l2(()=>{var M2;return o.value==="overview"?O.value:((M2=N3.value)==null?void 0:M2.legends)||[]}),w3=l2(()=>a3.value.length>0),P3=l2(()=>a3.value.length<=6&&v3.value.length<=8),H3=l2(()=>{if(!P3.value)return 430;const M2=Math.max(1,a3.value.length),R=Math.max(1,Math.ceil(v3.value.length/2)),M=M2*32,d=24+R*28;return Math.max(228,Math.min(390,48+M+d))}),j3=l2(()=>{var d;if(o.value==="overview"){const f=new Set(u.value),y=U3.value.filter(w=>f.has(w.key));return r1(y)}const M2=N3.value;if(!M2)return null;let R=(d=U1.value)!=null&&d.cqlFilter?J2(L2({},M2),{cqlFilter:U1.value.cqlFilter,activeLegend:U1.value,name:U1.value.name||M2.name}):M2;const M=w1.value;return _3.value&&(M!=null&&M.layerName)&&(R=J2(L2({},R),{layerName:M.layerName,name:`${M2.name} ${M.label}`,timelineDate:M.label,timelineItem:M})),R}),q3=t3(typeof window=="undefined"?1080:window.innerHeight),e0=fn.sideCardWidth;l2(()=>fn.sideCardGap);const O2=l2(()=>X8(q3.value)),Y2=l2(()=>R9(O2.value,2)),s3=l2(()=>!!_2.value),G3=l2(()=>{if(A2.value||v2.value||!p2.value)return 186;const M2=C3(p2.value);return Math.min(480,Math.max(300,86+Math.min(M2,12)*34))}),i1=l2(()=>{if(!_2.value)return{};const M2=460,R=G3.value,M=24,d=N1(_2.value),f=104,y=36,w=Math.min(Math.max(d.x-M2/2,M),1920-M2-M),_=Math.min(Math.max(d.y-R-y,f),1080-R-M);return{left:`${w}px`,top:`${_}px`,right:"auto",bottom:"auto"}});function N1(M2){const R=document.querySelector(".forest-grass-wet"),M=R==null?void 0:R.getBoundingClientRect();return!(M!=null&&M.width)||!(M!=null&&M.height)?M2:{x:(M2.x-M.left)/M.width*1920,y:(M2.y-M.top)/M.height*1080}}function q1(){q3.value=typeof window=="undefined"?1080:window.innerHeight}function Y3({topicKey:M2,layerKey:R,name:M,legendName:d}){var w;const f=W5(M2,R);if(!f||f.key!==R)return null;const y=((w=f.legends)==null?void 0:w[0])||{};return J2(L2({},f),{name:M,overviewTopicKey:M2,legends:[J2(L2({},y),{key:`overview-${R}`,name:d,selectable:!1})]})}function r1(M2=[]){const R=M2.filter(Boolean);if(!R.length)return null;const[M,...d]=R;return J2(L2({},M),{overlayLayers:d})}Ln(()=>{q1(),window.addEventListener("resize",q1),document.addEventListener("pointerdown",s0,!0),K3(),k0(o.value,""),N2(o.value,"")}),Rn(()=>{S3=!0,a1&&window.clearTimeout(a1),window.removeEventListener("resize",q1),document.removeEventListener("pointerdown",s0,!0)}),V0(o,M2=>{E1=!0,e2.value="",s.value="",M2==="overview"&&(u.value=[]),J1(),y3.value={type:"idle",text:"等待 GeoServer 图层加载"},k0(M2,""),N2(M2,"",null),q0(()=>{E1=!1})}),V0(s,()=>{E1||(t0=!0,e2.value="",J1(),y3.value={type:s.value?"loading":"idle",text:s.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},o.value!=="woodland"&&k0(o.value,s.value),N2(o.value,s.value,null),q0(()=>{t0=!1}))}),V0(u,()=>{o.value==="overview"&&(e2.value="",J1(),y3.value={type:u.value.length?"loading":"idle",text:u.value.length?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},K.value=b3("overview",u.value.join(",")))},{deep:!0}),V0(e2,()=>{E1||t0||(J1(),N2(o.value,s.value,U1.value))}),V0(_3,M2=>{if(M2){ye();return}p3.value=""}),V0(p3,()=>{_3.value&&J1()}),V0(()=>a.active,M2=>{var R,M,d,f;r.value&&(M2?(f1(),(M=(R=r.value).resume)==null||M.call(R)):(f=(d=r.value).pause)==null||f.call(d))});function K3(){var M;z3=new Or;const M2={progress:0};z3.instance.on("onProgress",(d,f,y)=>{const w=Math.floor(f/y*100);Ht.to(M2,{progress:w,onUpdate:()=>{q2.value=Math.floor(M2.progress)}})});const R=()=>{S3||I3||(I3=!0,f1())};z3.instance.on("onLoad",R),(M=z3.ready)==null||M.then(R).catch(()=>{S3||(y3.value={type:"error",text:"地图资源加载失败"})})}function f1(){S3||!a.active||!I3||A3||(A3=!0,a1&&window.clearTimeout(a1),a1=window.setTimeout(()=>{a1=null,W1()},600))}function W1(M2=0){return k3(this,null,function*(){var M,d,f,y,w;if(S3)return;if(!a.active){A3=!1;return}if(yield q0(),!a.active){A3=!1;return}if(!!((d=(M=r.value)==null?void 0:M.loadMap)!=null&&d.call(M,z3)||(y=(f=r.value)==null?void 0:f.hasMap)!=null&&y.call(f))){yield R0(),yield q0(),(w=r.value)==null||w.play();return}if(M2<24){window.setTimeout(()=>W1(M2+1),120);return}A3=!1})}function T0(){a1&&(window.clearTimeout(a1),a1=null)}function O0(){var M2,R,M,d;(R=(M2=r.value)==null?void 0:M2.resume)==null||R.call(M2),(d=(M=r.value)==null?void 0:M.refreshView)==null||d.call(M)}function D0(){var M2,R;if(J1(),y3.value={type:"loading",text:"地图正在复位"},(R=(M2=r.value)==null?void 0:M2.hasMap)!=null&&R.call(M2)){O0(),y3.value={type:"success",text:"地图已复位"};return}T0(),A3=!1,q0(()=>{f1()})}e({refreshMapView:O0,resetMap:D0});function k0(M){return k3(this,arguments,function*(M2,R=s.value){const d=M2==="woodland"?"":R,f=++y1;p.value=!0,h.value="loading";const y=yield F8(M2,d);S3||f!==y1||M2===o.value&&(M2!=="woodland"&&(d||"")!==(s.value||"")||Le(y,M2))})}function ye(M2=!1){return k3(this,null,function*(){if(!_3.value)return;if(!M2&&$2.value.length){Q0();return}const R=++S1;c3.value="loading";try{const M=yield WI();if(S3||R!==S1)return;$2.value=M,c3.value=M.length?"success":"empty",Q0()}catch(M){if(S3||R!==S1)return;$2.value=[],p3.value="",c3.value="error"}})}function Q0(){if(!$2.value.length){p3.value="";return}$2.value.some(R=>R.key===p3.value)||(p3.value=$2.value[$2.value.length-1].key)}function Le(M2,R){var d,f,y;const M=M0(M2);m.value=M.core||[],g.value=M.left||{title:"业务统计",rows:[]},b.value=M.right||{title:"业务统计",rows:[]},F.value=(d=M.leftPanels)!=null&&d.length?M.leftPanels:[g.value],H.value=(f=M.rightPanels)!=null&&f.length?M.rightPanels:[b.value],h.value=M.status,p.value=!1,i("topic-stats",{topicKey:R,topicName:Mf(R).name,items:((y=M.top)!=null&&y.length?M.top:M.core||[]).slice(0,4)})}function M0(M2){return M2||{}}function ve(M2,R){return`${o.value}-${R}-${(M2==null?void 0:M2.key)||(M2==null?void 0:M2.title)||"panel"}`}function se(M2){var M;const R=((M=M2==null?void 0:M2.rows)==null?void 0:M.length)||0;return(M2==null?void 0:M2.span)===1?!1:(M2==null?void 0:M2.span)===2?!0:(M2==null?void 0:M2.type)==="spotlight"||(M2==null?void 0:M2.type)==="metric"||(M2==null?void 0:M2.type)==="column"&&R<=5?!1:(M2==null?void 0:M2.type)==="rank"&&R>4||(M2==null?void 0:M2.type)==="split"&&R>4||(M2==null?void 0:M2.type)==="donut"&&R>5||(M2==null?void 0:M2.type)==="structure"&&R>4||(M2==null?void 0:M2.type)==="bar"&&R>4||(M2==null?void 0:M2.type)==="line"&&R>6}function R1(M2){return se(M2)?Y2.value:O2.value}function C3(M2){const R=(M2==null?void 0:M2.properties)||{};return Object.keys(R).filter(d=>m2(d,R[d])).length}function m2(M2,R){return R==null||R===""||Array.isArray(R)||typeof R=="object"?!1:!d3.has(String(M2||"").toLowerCase())}function D2(){if(o.value==="overview"){const M2=new Set(u.value);return U3.value.filter(R=>M2.has(R.key)).slice().reverse()}return N3.value?[N3.value]:[]}function B3(M2={}){const R=String(M2.overviewTopicKey||o.value||"").toLowerCase(),M=`${M2.key||""} ${M2.layerName||""} ${R}`.toLowerCase();return M.includes("basic-grassland")||M.includes("t_basic_grassland")?"basicGrassland":R==="woodland"||M.includes("woodland")||M.includes("t_woodland")?"woodland":R==="wetland"||M.includes("wetland")||M.includes("shidi")?"wetland":R==="grassland"||M.includes("grassland")||M.includes("caodi")?"grassland":""}function m3(M2={}){const R=W3(M2.lng),M=W3(M2.lat);return R===""||M===""?"":`POINT(${R} ${M})`}function W3(M2){const R=Number(M2);return Number.isFinite(R)?R.toFixed(8).replace(/\.?0+$/,""):""}function Q3(){return k3(this,arguments,function*(M2={}){var w,_,E,r2,n2,o2;const R=Number((w=M2==null?void 0:M2.lngLat)==null?void 0:w.lng),M=Number((_=M2==null?void 0:M2.lngLat)==null?void 0:_.lat),d=D2();if(!Number.isFinite(R)||!Number.isFinite(M)||!d.length){J1();return}const f=++l1,y=M2.screen||{x:960,y:540};_2.value=null,p2.value=null,v2.value=!1,A2.value=!0,(r2=(E=r.value)==null?void 0:E.clearSelectedFeature)==null||r2.call(E);try{for(const t2 of d){const X=yield u0(t2,{lng:R,lat:M});if(f!==l1||S3)return;if(X){p2.value=X,_2.value=y,v2.value=!1,(o2=(n2=r.value)==null?void 0:n2.highlightFeature)==null||o2.call(n2,X);return}}f===l1&&J1()}catch(t2){f===l1&&J1()}finally{f===l1&&(A2.value=!1)}})}function u0(M2,R){return k3(this,null,function*(){const M=B3(M2);if(!M)return null;const d=m3(R);let f=null;M==="grassland"?f=yield zp({wkt:d}):M==="wetland"?f=yield Yp({wkt:d}):M==="woodland"?f=yield Pp(d):M==="basicGrassland"&&(f=yield ON(d));const y=Z1(f,M);if(!te(y))return null;const w=Me(y,M2,R,M);return C3(w)>0?w:null})}function Z1(M2,R){var d,f,y,w,_;const M=[M2==null?void 0:M2[R],M2==null?void 0:M2.grassland,M2==null?void 0:M2.wetland,M2==null?void 0:M2.woodland,M2==null?void 0:M2.basicGrassland,(d=M2==null?void 0:M2.data)==null?void 0:d[R],(f=M2==null?void 0:M2.data)==null?void 0:f.grassland,(y=M2==null?void 0:M2.data)==null?void 0:y.wetland,(w=M2==null?void 0:M2.data)==null?void 0:w.woodland,(_=M2==null?void 0:M2.data)==null?void 0:_.basicGrassland,M2==null?void 0:M2.data,M2==null?void 0:M2.result,M2];for(const E of M){const r2=m0(E);if(r2)return r2}return null}function m0(M2){return Array.isArray(M2)?M2.find(R=>R&&typeof R=="object")||null:M2&&typeof M2=="object"?M2:null}function te(M2){return!M2||typeof M2!="object"?!1:Array.isArray(M2.dyColumn)&&M2.dyColumn.some(N0)?!0:Object.keys(M2).some(R=>m2(R,M2[R]))}function N0(M2={}){const R=M2==null?void 0:M2.value;return R==null||R===""?!1:!!String((M2==null?void 0:M2.field)||(M2==null?void 0:M2.title)||"").trim()}function Me(M2,R,M,d){const f=Be(M2),y=ae(M2);return{id:M2.id||M2.patchNo||M2.patch_no||M2.landNumber||M2.land_number||`${d}-${M.lng}-${M.lat}`,properties:f,feature:{type:"Feature",properties:f,geometry:y},geometry:y,layer:R,lngLat:M}}function ae(M2={}){return M2.geometry||M2.geom||M2.wkt||M2.the_geom||M2.theGeom||M2.geo||M2.geometryWkt||M2.geometry_wkt||M2.shape||null}function Be(M2={}){const R=L2({},M2);return(Array.isArray(M2.dyColumn)?M2.dyColumn:[]).forEach(d=>{const f=d==null?void 0:d.value;if(f==null||f==="")return;const y=o0[String((d==null?void 0:d.title)||"").trim()],w=String((d==null?void 0:d.field)||"").trim();[w,p0(w),y].filter(Boolean).forEach(E=>{(R[E]===void 0||R[E]===null||R[E]==="")&&(R[E]=f)})}),R}function p0(M2){return String(M2||"").replace(/[A-Z]/g,R=>`_${R.toLowerCase()}`)}function N2(d,f){return k3(this,arguments,function*(M2,R,M=U1.value){const y=++C1;if(!R||!e3(R,M)){K.value=b3(M2,R);return}const w=yield SR(M2,R,M);S3||y!==C1||M2!==o.value||R!==s.value||((M==null?void 0:M.key)||"")===e2.value&&(K.value=J2(L2({},w),{hideTownLabelStats:!0}))})}function e3(M2,R=null){return!!(R!=null&&R.key)||G1.has(M2)}function b3(M2,R){return{status:"disabled",topicKey:M2,layerKey:R,title:"",unit:"",hideTownLabelStats:!0,rows:[]}}function A1(M2){var M,d;const R=(d=(M=M2==null?void 0:M2.feature)!=null?M:M2)!=null?d:null;if(!R||C3(R)<=0){J1();return}p2.value=R,v2.value=!1,M2!=null&&M2.screen&&(_2.value=M2.screen)}function z1(M2){y3.value=M2}function J1(){var M2,R;l1+=1,p2.value=null,v2.value=!1,A2.value=!1,_2.value=null,(R=(M2=r.value)==null?void 0:M2.clearSelectedFeature)==null||R.call(M2)}function s0(M2){if(!s3.value)return;const R=document.querySelector(".fgw-map-feature-info"),M=M2.target;R&&M instanceof Node&&R.contains(M)||J1()}function R0(){return K2.value?new Promise(M2=>{Ht.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{K2.value=!1,M2()}})}):Promise.resolve()}return(M2,R)=>(z(),Q("div",mF,[d1(Z8,{ref_key:"mapSceneRef",ref:r,"active-layer":j3.value,"map-ranking":K.value,"admin-boundary-line-scale":2.4,"initial-zoom":9.55,"hide-town-label-stats":"","enable-imagery-feature-pick":!1,"enable-town-polygon-pick":!1,onFeatureLoading:R[0]||(R[0]=M=>A2.value=M),onFeatureInfo:A1,onMapClick:Q3,onLayerStatus:z1},null,8,["active-layer","map-ranking"]),S("div",pF,[S("div",gF,[S("div",yF,[(z(!0),Q(O3,null,X3(F.value,M=>(z(),he(_0,{key:ve(M,"left"),class:s1(["fgw-side-card left-card",{"is-double":se(M)}]),title:M.title,width:k1(e0),height:R1(M)},{default:f0(()=>[d1(cn,{panel:M,compact:"","column-label-standard":""},null,8,["panel"])]),_:2},1032,["class","title","width","height"]))),128))])]),S("div",vF,[S("div",SF,[(z(!0),Q(O3,null,X3(H.value,M=>(z(),he(_0,{key:ve(M,"right"),class:s1(["fgw-side-card right-card",{"is-double":se(M)}]),title:M.title,width:k1(e0),height:R1(M)},{default:f0(()=>[d1(cn,{panel:M,compact:"","column-label-standard":""},null,8,["panel"])]),_:2},1032,["class","title","width","height"]))),128))])]),w3.value?(z(),Q("div",{key:0,class:"fgw-map-layer-tools",style:X1({height:`${H3.value}px`})},[d1(jr,{modelValue:F2.value,"onUpdate:modelValue":R[1]||(R[1]=M=>F2.value=M),"selected-legend-key":e2.value,"onUpdate:selectedLegendKey":R[2]||(R[2]=M=>e2.value=M),"topic-key":o.value,layers:a3.value,legends:v3.value,multiple:o.value==="overview",width:248,height:H3.value,compact:P3.value},null,8,["modelValue","selected-legend-key","topic-key","layers","legends","multiple","height","compact"])],4)):L3("",!0),o1.value?(z(),Q("div",wF,[d1(hF,{modelValue:p3.value,"onUpdate:modelValue":R[3]||(R[3]=M=>p3.value=M),items:$2.value,loading:c3.value==="loading"},null,8,["modelValue","items","loading"])])):L3("",!0),s3.value?(z(),Q("div",{key:2,class:"fgw-map-feature-info",style:X1(i1.value)},[d1(Ga,{feature:p2.value,empty:v2.value,loading:A2.value,width:460,height:G3.value},null,8,["feature","empty","loading","height"])],4)):L3("",!0),S("div",bF,[d1(Ua,{modelValue:o.value,"onUpdate:modelValue":R[4]||(R[4]=M=>o.value=M)},null,8,["modelValue"])])]),K2.value?(z(),Q("div",TF,[R[6]||(R[6]=ya('
    LOADING
    ',1)),S("div",CF,[S("span",AF,c2(q2.value),1),R[5]||(R[5]=S("span",{class:"unit"},"%",-1))])])):L3("",!0)]))}},_F="/openApi";function MF(t){return k3(this,null,function*(){const e=yield In(`${_F}/ecologicalProtection/rangeStats`,{method:"POST",timeout:3e4,params:{scopeKey:t},headers:{"Content-Type":"application/json"},body:JSON.stringify({scopeKey:t})}),n=x0(e);return kF(Array.isArray(n)?n[0]||{}:n||{})})}const PF={scope_key:"scopeKey",scope_name:"scopeName",scope_area_wan_mu:"scopeAreaWanMu",source_feature_count:"sourceFeatureCount",grassland_area_wan_mu:"grasslandAreaWanMu",wetland_area_wan_mu:"wetlandAreaWanMu",woodland_area_wan_mu:"woodlandAreaWanMu",grassland_fresh_yield_wan_ton:"grasslandFreshYieldWanTon",wetland_fresh_yield_wan_ton:"wetlandFreshYieldWanTon",grassland_mu_yield_jin:"grasslandMuYieldJin",wetland_mu_yield_jin:"wetlandMuYieldJin",grassland_vegetation_cover_percent:"grasslandVegetationCoverPercent",grassland_patch_count:"grasslandPatchCount",wetland_patch_count:"wetlandPatchCount",woodland_patch_count:"woodlandPatchCount",grassland_distribution:"grasslandDistribution",wetland_distribution:"wetlandDistribution",woodland_distribution:"woodlandDistribution",grassland_productivity:"grasslandProductivity",grassland_types:"grasslandTypes",zoning_structure:"zoningStructure",grassland_levels:"grasslandLevels",vegetation_cover_bands:"vegetationCoverBands",woodland_types:"woodlandTypes",woodland_quality:"woodlandQuality",area_method:"areaMethod",area_unit:"areaUnit",productivity_method:"productivityMethod"};function kF(t={}){return!t||typeof t!="object"?{}:Object.entries(t).reduce((e,[n,a])=>{e[n]=a;const i=PF[n];return i&&e[i]===void 0&&(e[i]=a),e},{})}function EF(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var e=1;e<=60;++e)t("EPSG:"+(32600+e),"+proj=utm +zone="+e+" +datum=WGS84 +units=m"),t("EPSG:"+(32700+e),"+proj=utm +zone="+e+" +south +datum=WGS84 +units=m");t("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),t("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}var F9=1,B9=2,B8=3,NF=4,Nl=5,Nh=6378137,RF=6356752314e-3,Rh=.0066943799901413165,ua=484813681109536e-20,c1=Math.PI/2,LF=.16666666666666666,IF=.04722222222222222,FF=.022156084656084655,_1=1e-10,Ve=.017453292519943295,gn=57.29577951308232,de=Math.PI/4,ka=Math.PI*2,Ze=3.14159265359,vn={};vn.greenwich=0;vn.lisbon=-9.131906111111;vn.paris=2.337229166667;vn.bogota=-74.080916666667;vn.madrid=-3.687938888889;vn.rome=12.452333333333;vn.bern=7.439583333333;vn.jakarta=106.807719444444;vn.ferro=-17.666666666667;vn.brussels=4.367975;vn.stockholm=18.058277777778;vn.athens=23.7163375;vn.oslo=10.722916666667;const BF={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}};var Lh=/[\s_\-\/\(\)]/g;function K5(t,e){if(t[e])return t[e];for(var n=Object.keys(t),a=e.toLowerCase().replace(Lh,""),i=-1,r,o;++iArray.isArray(a)&&a[0]==="ID");return n&&n.length>=3?{authority:n[1],code:parseInt(n[2],10)}:null}static convertUnit(e,n="unit"){if(!e||e.length<3)return{type:n,name:"unknown",conversion_factor:null};const a=e[1],i=parseFloat(e[2])||null,r=e.find(s=>Array.isArray(s)&&s[0]==="ID"),o=r?{authority:r[1],code:parseInt(r[2],10)}:null;return{type:n,name:a,conversion_factor:i,id:o}}static convertAxis(e){const n=e[1]||"Unknown";let a;const i=n.match(/^\((.)\)$/);if(i){const m=i[1].toUpperCase();if(m==="E")a="east";else if(m==="N")a="north";else if(m==="U")a="up";else if(e[2])a=e[2];else throw new Error(`Unknown axis abbreviation: ${m}`)}else a=e[2]||"unknown";const r=e.find(m=>Array.isArray(m)&&m[0]==="ORDER"),o=r?parseInt(r[1],10):null,s=e.find(m=>Array.isArray(m)&&(m[0]==="LENGTHUNIT"||m[0]==="ANGLEUNIT"||m[0]==="SCALEUNIT")),u=this.convertUnit(s);return{name:n,direction:a,unit:u,order:o}}static extractAxes(e){return e.filter(n=>Array.isArray(n)&&n[0]==="AXIS").map(n=>this.convertAxis(n)).sort((n,a)=>(n.order||0)-(a.order||0))}static convert(e,n={}){switch(e[0]){case"PROJCRS":n.type="ProjectedCRS",n.name=e[1],n.base_crs=e.find(g=>Array.isArray(g)&&g[0]==="BASEGEOGCRS")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="BASEGEOGCRS")):null,n.conversion=e.find(g=>Array.isArray(g)&&g[0]==="CONVERSION")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="CONVERSION")):null;const a=e.find(g=>Array.isArray(g)&&g[0]==="CS");a&&(n.coordinate_system={type:a[1],axis:this.extractAxes(e)});const i=e.find(g=>Array.isArray(g)&&g[0]==="LENGTHUNIT");if(i){const g=this.convertUnit(i);n.coordinate_system.unit=g}n.id=this.getId(e);break;case"BASEGEOGCRS":case"GEOGCRS":case"GEODCRS":n.type=e[0]==="GEODCRS"?"GeodeticCRS":"GeographicCRS",n.name=e[1];const r=e.find(g=>Array.isArray(g)&&(g[0]==="DATUM"||g[0]==="ENSEMBLE"));if(r){const g=this.convert(r);r[0]==="ENSEMBLE"?n.datum_ensemble=g:n.datum=g;const b=e.find(F=>Array.isArray(F)&&F[0]==="PRIMEM");b&&b[1]!=="Greenwich"&&(g.prime_meridian={name:b[1],longitude:parseFloat(b[2])})}n.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(e)},n.id=this.getId(e);break;case"DATUM":n.type="GeodeticReferenceFrame",n.name=e[1],n.ellipsoid=e.find(g=>Array.isArray(g)&&g[0]==="ELLIPSOID")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":n.type="DatumEnsemble",n.name=e[1],n.members=e.filter(g=>Array.isArray(g)&&g[0]==="MEMBER").map(g=>({type:"DatumEnsembleMember",name:g[1],id:this.getId(g)}));const o=e.find(g=>Array.isArray(g)&&g[0]==="ENSEMBLEACCURACY");o&&(n.accuracy=parseFloat(o[1]));const s=e.find(g=>Array.isArray(g)&&g[0]==="ELLIPSOID");s&&(n.ellipsoid=this.convert(s)),n.id=this.getId(e);break;case"ELLIPSOID":n.type="Ellipsoid",n.name=e[1],n.semi_major_axis=parseFloat(e[2]),n.inverse_flattening=parseFloat(e[3]),e.find(g=>Array.isArray(g)&&g[0]==="LENGTHUNIT")&&this.convert(e.find(g=>Array.isArray(g)&&g[0]==="LENGTHUNIT"),n);break;case"CONVERSION":n.type="Conversion",n.name=e[1],n.method=e.find(g=>Array.isArray(g)&&g[0]==="METHOD")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="METHOD")):null,n.parameters=e.filter(g=>Array.isArray(g)&&g[0]==="PARAMETER").map(g=>this.convert(g));break;case"METHOD":n.type="Method",n.name=e[1],n.id=this.getId(e);break;case"PARAMETER":n.type="Parameter",n.name=e[1],n.value=parseFloat(e[2]),n.unit=this.convertUnit(e.find(g=>Array.isArray(g)&&(g[0]==="LENGTHUNIT"||g[0]==="ANGLEUNIT"||g[0]==="SCALEUNIT"))),n.id=this.getId(e);break;case"BOUNDCRS":n.type="BoundCRS";const u=e.find(g=>Array.isArray(g)&&g[0]==="SOURCECRS");if(u){const g=u.find(b=>Array.isArray(b));n.source_crs=g?this.convert(g):null}const m=e.find(g=>Array.isArray(g)&&g[0]==="TARGETCRS");if(m){const g=m.find(b=>Array.isArray(b));n.target_crs=g?this.convert(g):null}const h=e.find(g=>Array.isArray(g)&&g[0]==="ABRIDGEDTRANSFORMATION");h?n.transformation=this.convert(h):n.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(n.type="Transformation",n.name=e[1],n.method=e.find(g=>Array.isArray(g)&&g[0]==="METHOD")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="METHOD")):null,n.parameters=e.filter(g=>Array.isArray(g)&&(g[0]==="PARAMETER"||g[0]==="PARAMETERFILE")).map(g=>{if(g[0]==="PARAMETER")return this.convert(g);if(g[0]==="PARAMETERFILE")return{name:g[1],value:g[2],id:{authority:"EPSG",code:8656}}}),n.parameters.length===7){const g=n.parameters[6];g.name==="Scale difference"&&(g.value=Math.round((g.value-1)*1e12)/1e6)}n.id=this.getId(e);break;case"AXIS":n.coordinate_system||(n.coordinate_system={type:"unspecified",axis:[]}),n.coordinate_system.axis.push(this.convertAxis(e));break;case"LENGTHUNIT":const p=this.convertUnit(e,"LinearUnit");n.coordinate_system&&n.coordinate_system.axis&&n.coordinate_system.axis.forEach(g=>{g.unit||(g.unit=p)}),p.conversion_factor&&p.conversion_factor!==1&&n.semi_major_axis&&(n.semi_major_axis={value:n.semi_major_axis,unit:p});break;default:n.keyword=e[0];break}return n}}class DF extends sg{static convert(e,n={}){return super.convert(e,n),n.coordinate_system&&n.coordinate_system.subtype==="Cartesian"&&delete n.coordinate_system,n.usage&&delete n.usage,n}}class GF extends sg{static convert(e,n={}){super.convert(e,n);const a=e.find(r=>Array.isArray(r)&&r[0]==="CS");a&&(n.coordinate_system={subtype:a[1],axis:this.extractAxes(e)});const i=e.find(r=>Array.isArray(r)&&r[0]==="USAGE");if(i){const r=i.find(u=>Array.isArray(u)&&u[0]==="SCOPE"),o=i.find(u=>Array.isArray(u)&&u[0]==="AREA"),s=i.find(u=>Array.isArray(u)&&u[0]==="BBOX");n.usage={},r&&(n.usage.scope=r[1]),o&&(n.usage.area=o[1]),s&&(n.usage.bbox=s.slice(1))}return n}}function UF(t){return t.find(e=>Array.isArray(e)&&e[0]==="USAGE")?"2019":(t.find(e=>Array.isArray(e)&&e[0]==="CS")||t[0]==="BOUNDCRS"||t[0]==="PROJCRS"||t[0]==="GEOGCRS","2015")}function OF(t){return(UF(t)==="2019"?GF:DF).convert(t)}function jF(t){const e=t.toUpperCase();return e.includes("PROJCRS")||e.includes("GEOGCRS")||e.includes("BOUNDCRS")||e.includes("VERTCRS")||e.includes("LENGTHUNIT")||e.includes("ANGLEUNIT")||e.includes("SCALEUNIT")?"WKT2":(e.includes("PROJCS")||e.includes("GEOGCS")||e.includes("LOCAL_CS")||e.includes("VERT_CS")||e.includes("UNIT"),"WKT1")}var Ea=1,lg=2,ug=3,dr=4,cg=5,Su=-1,zF=/\s/,YF=/[A-Za-z]/,$F=/[A-Za-z84_]/,zr=/[,\]]/,dg=/[\d\.E\-\+]/;function T5(t){if(typeof t!="string")throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=Ea}T5.prototype.readCharicter=function(){var t=this.text[this.place++];if(this.state!==dr)for(;zF.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case Ea:return this.neutral(t);case lg:return this.keyword(t);case dr:return this.quoted(t);case cg:return this.afterquote(t);case ug:return this.number(t);case Su:return}};T5.prototype.afterquote=function(t){if(t==='"'){this.word+='"',this.state=dr;return}if(zr.test(t)){this.word=this.word.trim(),this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in afterquote yet, index '+this.place)};T5.prototype.afterItem=function(t){if(t===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=Ea;return}if(t==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=Ea,this.currentObject=this.stack.pop(),this.currentObject||(this.state=Su);return}};T5.prototype.number=function(t){if(dg.test(t)){this.word+=t;return}if(zr.test(t)){this.word=parseFloat(this.word),this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in number yet, index '+this.place)};T5.prototype.quoted=function(t){if(t==='"'){this.state=cg;return}this.word+=t};T5.prototype.keyword=function(t){if($F.test(t)){this.word+=t;return}if(t==="["){var e=[];e.push(this.word),this.level++,this.root===null?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,this.state=Ea;return}if(zr.test(t)){this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in keyword yet, index '+this.place)};T5.prototype.neutral=function(t){if(YF.test(t)){this.word=t,this.state=lg;return}if(t==='"'){this.word="",this.state=dr;return}if(dg.test(t)){this.word=t,this.state=ug;return}if(zr.test(t)){this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in neutral yet, index '+this.place)};T5.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1,delete t.lat1):!t.lat_ts&&t.lat0&&(e==="polar stereographic"||e==="polar stereographic (variant a)")&&(t.lat_ts=t.lat0,t.lat0=$n(t.lat0>0?90:-90),delete t.lat1)}function Ih(t){let e={units:null,to_meter:void 0};return typeof t=="string"?(e.units=t.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.units==="meter"&&(e.to_meter=1)):t&&t.name&&(e.units=t.name.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.to_meter=t.conversion_factor),e}function Fh(t){return typeof t=="object"?t.value*t.unit.conversion_factor:t}function Bh(t,e){t.ellipsoid.radius?(e.a=t.ellipsoid.radius,e.rf=0):(e.a=Fh(t.ellipsoid.semi_major_axis),t.ellipsoid.inverse_flattening!==void 0?e.rf=t.ellipsoid.inverse_flattening:t.ellipsoid.semi_major_axis!==void 0&&t.ellipsoid.semi_minor_axis!==void 0&&(e.rf=e.a/(e.a-Fh(t.ellipsoid.semi_minor_axis))))}function fr(t,e={}){return!t||typeof t!="object"?t:t.type==="BoundCRS"?(fr(t.source_crs,e),t.transformation&&(t.transformation.method&&t.transformation.method.name==="NTv2"?e.nadgrids=t.transformation.parameters[0].value:e.datum_params=t.transformation.parameters.map(n=>n.value)),e):(Object.keys(t).forEach(n=>{const a=t[n];if(a!==null)switch(n){case"name":if(e.srsCode)break;e.name=a,e.srsCode=a;break;case"type":a==="GeographicCRS"?e.projName="longlat":a==="GeodeticCRS"?t.coordinate_system&&t.coordinate_system.subtype==="Cartesian"?e.projName="geocent":e.projName="longlat":a==="ProjectedCRS"&&t.conversion&&t.conversion.method&&(e.projName=t.conversion.method.name);break;case"datum":case"datum_ensemble":a.ellipsoid&&(e.ellps=a.ellipsoid.name,Bh(a,e)),a.prime_meridian&&(e.from_greenwich=a.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":e.ellps=a.name,Bh(a,e);break;case"prime_meridian":e.long0=(a.longitude||0)*Math.PI/180;break;case"coordinate_system":if(a.axis){const i={east:"e",north:"n",west:"w",south:"s",up:"u",down:"d",geocentricx:"e",geocentricy:"n",geocentricz:"u"},r=a.axis.map(o=>i[o.direction.toLowerCase()]);if(r.every(Boolean)&&(e.axis=r.join(""),e.axis.length===2&&(e.axis+="u")),a.unit){const{units:o,to_meter:s}=Ih(a.unit);e.units=o,e.to_meter=s}else if(a.axis[0]&&a.axis[0].unit){const{units:o,to_meter:s}=Ih(a.axis[0].unit);e.units=o,e.to_meter=s}}break;case"id":a.authority&&a.code&&(e.title=a.authority+":"+a.code);break;case"conversion":a.method&&a.method.name&&(e.projName=a.method.name),a.parameters&&a.parameters.forEach(i=>{const r=i.name.toLowerCase().replace(/\s+/g,"_"),o=i.value;i.unit&&i.unit.conversion_factor?e[r]=o*i.unit.conversion_factor:i.unit==="degree"?e[r]=o*Math.PI/180:e[r]=o});break;case"unit":a.name&&(e.units=a.name.toLowerCase(),e.units==="metre"&&(e.units="meter")),a.conversion_factor&&(e.to_meter=a.conversion_factor);break;case"base_crs":fr(a,e),e.datumCode=a.id?a.id.authority+"_"+a.id.code:a.name;break}}),e.latitude_of_false_origin!==void 0&&(e.lat0=e.latitude_of_false_origin),e.longitude_of_false_origin!==void 0&&(e.long0=e.longitude_of_false_origin),e.latitude_of_standard_parallel!==void 0&&(e.lat0=e.latitude_of_standard_parallel,e.lat1=e.latitude_of_standard_parallel),e.latitude_of_1st_standard_parallel!==void 0&&(e.lat1=e.latitude_of_1st_standard_parallel),e.latitude_of_2nd_standard_parallel!==void 0&&(e.lat2=e.latitude_of_2nd_standard_parallel),e.latitude_of_projection_centre!==void 0&&(e.lat0=e.latitude_of_projection_centre),e.longitude_of_projection_centre!==void 0&&(e.longc=e.longitude_of_projection_centre),e.easting_at_false_origin!==void 0&&(e.x0=e.easting_at_false_origin),e.northing_at_false_origin!==void 0&&(e.y0=e.northing_at_false_origin),e.latitude_of_natural_origin!==void 0&&(e.lat0=e.latitude_of_natural_origin),e.longitude_of_natural_origin!==void 0&&(e.long0=e.longitude_of_natural_origin),e.longitude_of_origin!==void 0&&(e.long0=e.longitude_of_origin),e.false_easting!==void 0&&(e.x0=e.false_easting),e.easting_at_projection_centre&&(e.x0=e.easting_at_projection_centre),e.false_northing!==void 0&&(e.y0=e.false_northing),e.northing_at_projection_centre&&(e.y0=e.northing_at_projection_centre),e.standard_parallel_1!==void 0&&(e.lat1=e.standard_parallel_1),e.standard_parallel_2!==void 0&&(e.lat2=e.standard_parallel_2),e.scale_factor_at_natural_origin!==void 0&&(e.k0=e.scale_factor_at_natural_origin),e.scale_factor_at_projection_centre!==void 0&&(e.k0=e.scale_factor_at_projection_centre),e.scale_factor_on_pseudo_standard_parallel!==void 0&&(e.k0=e.scale_factor_on_pseudo_standard_parallel),e.azimuth!==void 0&&(e.alpha=e.azimuth),e.azimuth_at_projection_centre!==void 0&&(e.alpha=e.azimuth_at_projection_centre),e.angle_from_rectified_to_skew_grid&&(e.rectified_grid_angle=e.angle_from_rectified_to_skew_grid),fg(e),e)}var HF=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function KF(t,e){var n=e[0],a=e[1];!(n in t)&&a in t&&(t[n]=t[a],e.length===3&&(t[n]=e[2](t[n])))}function hg(t){for(var e=Object.keys(t),n=0,a=e.length;n-1;var e=K5(t,"authority");if(e){var n=K5(e,"epsg");return n&&Dh.indexOf(n)>-1}}function eB(t){var e=K5(t,"extension");if(e)return K5(e,"proj4")}function tB(t){return t[0]==="+"}function nB(t){let e;if(JF(t))if(QF(t))e=Mt[t];else if(XF(t)){e=hr(t);var n=eB(e);n&&(e=Rl(n))}else tB(t)&&(e=Rl(t));else"projName"in t?e=t:e=hr(t);return e&&ZF(e)?Mt["EPSG:3857"]:e}function Gh(t,e){t=t||{};var n,a;if(!e)return t;for(a in e)n=e[a],n!==void 0&&(t[a]=n);return t}function $6(t,e,n){var a=t*e;return n/Math.sqrt(1-a*a)}function $a(t){return t<0?-1:1}function P1(t,e){return e||Math.abs(t)<=Ze?t:t-$a(t)*ka}function p6(t,e,n){var a=t*n,i=.5*t;return a=Math.pow((1-a)/(1+a),i),Math.tan(.5*(c1-e))/a}function Na(t,e){for(var n=.5*t,a,i,r=c1-2*Math.atan(e),o=0;o<=15;o++)if(a=t*Math.sin(r),i=c1-2*Math.atan(e*Math.pow((1-a)/(1+a),n))-r,r+=i,Math.abs(i)<=1e-10)return r;return-9999}function aB(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=$6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function iB(t){var e=t.x,n=t.y;if(n*gn>90&&n*gn<-90&&e*gn>180&&e*gn<-180)return null;var a,i;if(Math.abs(Math.abs(n)-c1)<=_1)return null;if(this.sphere)a=this.x0+this.a*this.k0*P1(e-this.long0,this.over),i=this.y0+this.a*this.k0*Math.log(Math.tan(de+.5*n));else{var r=Math.sin(n),o=p6(this.e,n,r);a=this.x0+this.a*this.k0*P1(e-this.long0,this.over),i=this.y0-this.a*this.k0*Math.log(o)}return t.x=a,t.y=i,t}function rB(t){var e=t.x-this.x0,n=t.y-this.y0,a,i;if(this.sphere)i=c1-2*Math.atan(Math.exp(-n/(this.a*this.k0)));else{var r=Math.exp(-n/(this.a*this.k0));if(i=Na(this.e,r),i===-9999)return null}return a=P1(this.long0+e/(this.a*this.k0),this.over),t.x=a,t.y=i,t}var oB=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const sB={init:aB,forward:iB,inverse:rB,names:oB};function lB(){}function Uh(t){return t}var mg=["longlat","identity"];const uB={init:lB,forward:Uh,inverse:Uh,names:mg};var cB=[sB,uB],C9={},x8=[];function pg(t,e){var n=x8.length;return t.names?(x8[n]=t,t.names.forEach(function(a){C9[a.toLowerCase()]=n}),this):(console.log(e),!0)}function gg(t){return t.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function dB(t){if(!t)return!1;var e=t.toLowerCase();if(typeof C9[e]!="undefined"&&x8[C9[e]]||(e=gg(e),e in C9&&x8[C9[e]]))return x8[C9[e]]}function fB(){cB.forEach(pg)}const hB={start:fB,add:pg,get:dB};var yg={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};const mB=yg.WGS84;function pB(t,e,n,a){var i=t*t,r=e*e,o=(i-r)/i,s=0;a?(t*=1-o*(LF+o*(IF+o*FF)),i=t*t,o=0):s=Math.sqrt(o);var u=(i-r)/r;return{es:o,e:s,ep2:u}}function gB(t,e,n,a,i){if(!t){var r=K5(yg,a);r||(r=mB),t=r.a,e=r.b,n=r.rf}return n&&!e&&(e=(1-1/n)*t),(n===0||Math.abs(t-e)<_1)&&(i=!0,e=t),{a:t,b:e,rf:n,sphere:i}}var ji={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},mgi:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Militar-Geographische Institut"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Ordnance Survey of Great Britain 1936"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"},EPSG_5451:{towgs84:"6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649"},IGNF_LURESG:{towgs84:"-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43"},EPSG_4614:{towgs84:"-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065"},EPSG_4615:{towgs84:"-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748"},ESRI_37241:{towgs84:"-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031"},ESRI_37249:{towgs84:"-440.296,58.548,296.265,1.128,10.202,4.559,-0.438"},ESRI_37245:{towgs84:"-511.151,-181.269,139.609,1.05,2.703,1.798,3.071"},EPSG_4178:{towgs84:"24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01"},EPSG_4622:{towgs84:"-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984"},EPSG_4625:{towgs84:"126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227"},EPSG_5252:{towgs84:"0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439"},EPSG_4314:{towgs84:"597.1,71.4,412.1,0.894,0.068,-1.563,7.58"},EPSG_4282:{towgs84:"-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166"},EPSG_4231:{towgs84:"-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218"},EPSG_4274:{towgs84:"-230.994,102.591,25.199,0.633,-0.239,0.9,1.95"},EPSG_4134:{towgs84:"-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006"},EPSG_4254:{towgs84:"18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013"},EPSG_4159:{towgs84:"-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175"},EPSG_4687:{towgs84:"0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093"},EPSG_4227:{towgs84:"-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225"},EPSG_4746:{towgs84:"599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46"},EPSG_4745:{towgs84:"612.4,77,440.2,-0.054,0.057,-2.797,2.55"},EPSG_6311:{towgs84:"8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926"},EPSG_4289:{towgs84:"565.7381,50.4018,465.2904,-0.395026,0.330772,-1.876073,4.07244"},EPSG_4230:{towgs84:"-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4"},EPSG_4154:{towgs84:"-123.02,-158.95,-168.47"},EPSG_4156:{towgs84:"570.8,85.7,462.8,4.998,1.587,5.261,3.56"},EPSG_4299:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4179:{towgs84:"33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"},EPSG_4313:{towgs84:"-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747"},EPSG_4194:{towgs84:"163.511,127.533,-159.789"},EPSG_4195:{towgs84:"105,326,-102.5"},EPSG_4196:{towgs84:"-45,417,-3.5"},EPSG_4611:{towgs84:"-162.619,-276.959,-161.764,0.067753,-2.243648,-1.158828,-1.094246"},EPSG_4633:{towgs84:"137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824"},EPSG_4641:{towgs84:"-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993"},EPSG_4643:{towgs84:"-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002"},EPSG_4300:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4188:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4660:{towgs84:"982.6087,552.753,-540.873,6.681627,-31.611492,-19.848161,16.805"},EPSG_4662:{towgs84:"97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259"},EPSG_3906:{towgs84:"577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664"},EPSG_4307:{towgs84:"-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547"},EPSG_6892:{towgs84:"-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686"},EPSG_4690:{towgs84:"221.597,152.441,176.523,2.403,1.3893,0.884,11.4648"},EPSG_4691:{towgs84:"218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817"},EPSG_4629:{towgs84:"72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653"},EPSG_4630:{towgs84:"165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111"},EPSG_4692:{towgs84:"217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093"},EPSG_9333:{towgs84:"0,0,0,-0.008393,0.000749,-0.010276,0"},EPSG_9059:{towgs84:"0,0,0"},EPSG_4312:{towgs84:"601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887"},EPSG_4123:{towgs84:"-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496"},EPSG_4309:{towgs84:"-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365"},ESRI_104106:{towgs84:"-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058"},EPSG_4281:{towgs84:"-219.247,-73.802,269.529"},EPSG_4322:{towgs84:"0,0,4.5"},EPSG_4324:{towgs84:"0,0,1.9"},EPSG_4284:{towgs84:"43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549"},EPSG_4277:{towgs84:"446.448,-125.157,542.06,0.15,0.247,0.842,-20.489"},EPSG_4207:{towgs84:"-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46"},EPSG_4688:{towgs84:"347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647"},EPSG_4689:{towgs84:"410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218"},EPSG_4720:{towgs84:"0,0,4.5"},EPSG_4273:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},EPSG_4240:{towgs84:"204.64,834.74,293.8"},EPSG_4817:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},ESRI_104131:{towgs84:"426.62,142.62,460.09,4.98,4.49,-12.42,-17.1"},EPSG_4265:{towgs84:"-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68"},EPSG_4263:{towgs84:"-111.92,-87.85,114.5,1.875,0.202,0.219,0.032"},EPSG_4298:{towgs84:"-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536"},EPSG_4270:{towgs84:"-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424"},EPSG_4229:{towgs84:"-121.8,98.1,-10.7"},EPSG_4220:{towgs84:"-55.5,-348,-229.2"},EPSG_4214:{towgs84:"12.646,-155.176,-80.863"},EPSG_4232:{towgs84:"-345,3,223"},EPSG_4238:{towgs84:"-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037"},EPSG_4168:{towgs84:"-170,33,326"},EPSG_4131:{towgs84:"199,931,318.9"},EPSG_4152:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_5228:{towgs84:"572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378"},EPSG_8351:{towgs84:"485.021,169.465,483.839,7.786342,4.397554,4.102655,0"},EPSG_4683:{towgs84:"-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"},EPSG_4133:{towgs84:"0,0,0"},EPSG_7373:{towgs84:"0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693"},EPSG_9075:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9072:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9294:{towgs84:"1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388"},EPSG_4212:{towgs84:"-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492"},EPSG_4191:{towgs84:"-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703"},EPSG_4237:{towgs84:"52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191"},EPSG_4740:{towgs84:"-1.08,-0.27,-0.9"},EPSG_4124:{towgs84:"419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496"},EPSG_5681:{towgs84:"584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922"},EPSG_4141:{towgs84:"23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262"},EPSG_4204:{towgs84:"-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194"},EPSG_4319:{towgs84:"226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798"},EPSG_4200:{towgs84:"24.82,-131.21,-82.66"},EPSG_4130:{towgs84:"0,0,0"},EPSG_4127:{towgs84:"-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359"},EPSG_4149:{towgs84:"674.374,15.056,405.346"},EPSG_4617:{towgs84:"-0.991,1.9072,0.5129,0.02579,0.00965,0.01166,0"},EPSG_4663:{towgs84:"-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485"},EPSG_4664:{towgs84:"-211.939,137.626,58.3,-0.089,0.251,0.079,0.384"},EPSG_4665:{towgs84:"-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048"},EPSG_4666:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},EPSG_4756:{towgs84:"-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188"},EPSG_4723:{towgs84:"-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925"},EPSG_4726:{towgs84:"8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081"},EPSG_4267:{towgs84:"-8.0,160.0,176.0"},EPSG_5365:{towgs84:"-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693"},EPSG_4218:{towgs84:"304.5,306.5,-318.1"},EPSG_4242:{towgs84:"-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95"},EPSG_4216:{towgs84:"-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289"},ESRI_104105:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},ESRI_104129:{towgs84:"0,0,0"},EPSG_4673:{towgs84:"174.05,-25.49,112.57"},EPSG_4202:{towgs84:"-124,-60,154"},EPSG_4203:{towgs84:"-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191"},EPSG_3819:{towgs84:"595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408"},EPSG_8694:{towgs84:"-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169"},EPSG_4145:{towgs84:"275.57,676.78,229.6"},EPSG_4283:{towgs84:"0.06155,-0.01087,-0.04019,0.039492,0.032722,0.032898,-0.009994"},EPSG_4317:{towgs84:"2.3287,-147.0425,-92.0802,-0.309248,0.324822,0.497299,5.689063"},EPSG_4272:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993"},EPSG_4248:{towgs84:"-307.7,265.3,-363.5"},EPSG_5561:{towgs84:"24,-121,-76"},EPSG_5233:{towgs84:"-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338"},ESRI_104130:{towgs84:"-86,-98,-119"},ESRI_104102:{towgs84:"682,-203,480"},ESRI_37207:{towgs84:"7,-10,-26"},EPSG_4675:{towgs84:"59.935,118.4,-10.871"},ESRI_104109:{towgs84:"-89.121,-348.182,260.871"},ESRI_104112:{towgs84:"-185.583,-230.096,281.361"},ESRI_104113:{towgs84:"25.1,-275.6,222.6"},IGNF_WGS72G:{towgs84:"0,12,6"},IGNF_NTFG:{towgs84:"-168,-60,320"},IGNF_EFATE57G:{towgs84:"-127,-769,472"},IGNF_PGP50G:{towgs84:"324.8,153.6,172.1"},IGNF_REUN47G:{towgs84:"94,-948,-1262"},IGNF_CSG67G:{towgs84:"-186,230,110"},IGNF_GUAD48G:{towgs84:"-467,-16,-300"},IGNF_TAHI51G:{towgs84:"162,117,154"},IGNF_TAHAAG:{towgs84:"65,342,77"},IGNF_NUKU72G:{towgs84:"84,274,65"},IGNF_PETRELS72G:{towgs84:"365,194,166"},IGNF_WALL78G:{towgs84:"253,-133,-127"},IGNF_MAYO50G:{towgs84:"-382,-59,-262"},IGNF_TANNAG:{towgs84:"-139,-967,436"},IGNF_IGN72G:{towgs84:"-13,-348,292"},IGNF_ATIGG:{towgs84:"1118,23,66"},IGNF_FANGA84G:{towgs84:"150.57,158.33,118.32"},IGNF_RUSAT84G:{towgs84:"202.13,174.6,-15.74"},IGNF_KAUE70G:{towgs84:"126.74,300.1,-75.49"},IGNF_MOP90G:{towgs84:"-10.8,-1.8,12.77"},IGNF_MHPF67G:{towgs84:"338.08,212.58,-296.17"},IGNF_TAHI79G:{towgs84:"160.61,116.05,153.69"},IGNF_ANAA92G:{towgs84:"1.5,3.84,4.81"},IGNF_MARQUI72G:{towgs84:"330.91,-13.92,58.56"},IGNF_APAT86G:{towgs84:"143.6,197.82,74.05"},IGNF_TUBU69G:{towgs84:"237.17,171.61,-77.84"},IGNF_STPM50G:{towgs84:"11.363,424.148,373.13"},EPSG_4150:{towgs84:"674.374,15.056,405.346"},EPSG_4754:{towgs84:"-208.4058,-109.8777,-2.5764"},ESRI_104101:{towgs84:"372.87,149.23,585.29"},EPSG_4693:{towgs84:"0,-0.15,0.68"},EPSG_6207:{towgs84:"293.17,726.18,245.36"},EPSG_4153:{towgs84:"-133.63,-157.5,-158.62"},EPSG_4132:{towgs84:"-241.54,-163.64,396.06"},EPSG_4221:{towgs84:"-154.5,150.7,100.4"},EPSG_4266:{towgs84:"-80.7,-132.5,41.1"},EPSG_4193:{towgs84:"-70.9,-151.8,-41.4"},EPSG_5340:{towgs84:"-0.41,0.46,-0.35"},EPSG_4246:{towgs84:"-294.7,-200.1,525.5"},EPSG_4318:{towgs84:"-3.2,-5.7,2.8"},EPSG_4121:{towgs84:"-199.87,74.79,246.62"},EPSG_4223:{towgs84:"-260.1,5.5,432.2"},EPSG_4158:{towgs84:"-0.465,372.095,171.736"},EPSG_4285:{towgs84:"-128.16,-282.42,21.93"},EPSG_4613:{towgs84:"-404.78,685.68,45.47"},EPSG_4607:{towgs84:"195.671,332.517,274.607"},EPSG_4475:{towgs84:"-381.788,-57.501,-256.673"},EPSG_4208:{towgs84:"-157.84,308.54,-146.6"},EPSG_4743:{towgs84:"70.995,-335.916,262.898"},EPSG_4710:{towgs84:"-323.65,551.39,-491.22"},EPSG_7881:{towgs84:"-0.077,0.079,0.086"},EPSG_4682:{towgs84:"283.729,735.942,261.143"},EPSG_4739:{towgs84:"-156,-271,-189"},EPSG_4679:{towgs84:"-80.01,253.26,291.19"},EPSG_4750:{towgs84:"-56.263,16.136,-22.856"},EPSG_4644:{towgs84:"-10.18,-350.43,291.37"},EPSG_4695:{towgs84:"-103.746,-9.614,-255.95"},EPSG_4292:{towgs84:"-355,21,72"},EPSG_4302:{towgs84:"-61.702,284.488,472.052"},EPSG_4143:{towgs84:"-124.76,53,466.79"},EPSG_4606:{towgs84:"-153,153,307"},EPSG_4699:{towgs84:"-770.1,158.4,-498.2"},EPSG_4247:{towgs84:"-273.5,110.6,-357.9"},EPSG_4160:{towgs84:"8.88,184.86,106.69"},EPSG_4161:{towgs84:"-233.43,6.65,173.64"},EPSG_9251:{towgs84:"-9.5,122.9,138.2"},EPSG_9253:{towgs84:"-78.1,101.6,133.3"},EPSG_4297:{towgs84:"-198.383,-240.517,-107.909"},EPSG_4269:{towgs84:"0,0,0"},EPSG_4301:{towgs84:"-147,506,687"},EPSG_4618:{towgs84:"-59,-11,-52"},EPSG_4612:{towgs84:"0,0,0"},EPSG_4678:{towgs84:"44.585,-131.212,-39.544"},EPSG_4250:{towgs84:"-130,29,364"},EPSG_4144:{towgs84:"214,804,268"},EPSG_4147:{towgs84:"-17.51,-108.32,-62.39"},EPSG_4259:{towgs84:"-254.1,-5.36,-100.29"},EPSG_4164:{towgs84:"-76,-138,67"},EPSG_4211:{towgs84:"-378.873,676.002,-46.255"},EPSG_4182:{towgs84:"-422.651,-172.995,84.02"},EPSG_4224:{towgs84:"-143.87,243.37,-33.52"},EPSG_4225:{towgs84:"-205.57,168.77,-4.12"},EPSG_5527:{towgs84:"-67.35,3.88,-38.22"},EPSG_4752:{towgs84:"98,390,-22"},EPSG_4310:{towgs84:"-30,190,89"},EPSG_9248:{towgs84:"-192.26,65.72,132.08"},EPSG_4680:{towgs84:"124.5,-63.5,-281"},EPSG_4701:{towgs84:"-79.9,-158,-168.9"},EPSG_4706:{towgs84:"-146.21,112.63,4.05"},EPSG_4805:{towgs84:"682,-203,480"},EPSG_4201:{towgs84:"-165,-11,206"},EPSG_4210:{towgs84:"-157,-2,-299"},EPSG_4183:{towgs84:"-104,167,-38"},EPSG_4139:{towgs84:"11,72,-101"},EPSG_4668:{towgs84:"-86,-98,-119"},EPSG_4717:{towgs84:"-2,151,181"},EPSG_4732:{towgs84:"102,52,-38"},EPSG_4280:{towgs84:"-377,681,-50"},EPSG_4209:{towgs84:"-138,-105,-289"},EPSG_4261:{towgs84:"31,146,47"},EPSG_4658:{towgs84:"-73,46,-86"},EPSG_4721:{towgs84:"265.025,384.929,-194.046"},EPSG_4222:{towgs84:"-136,-108,-292"},EPSG_4601:{towgs84:"-255,-15,71"},EPSG_4602:{towgs84:"725,685,536"},EPSG_4603:{towgs84:"72,213.7,93"},EPSG_4605:{towgs84:"9,183,236"},EPSG_4621:{towgs84:"137,248,-430"},EPSG_4657:{towgs84:"-28,199,5"},EPSG_4316:{towgs84:"103.25,-100.4,-307.19"},EPSG_4642:{towgs84:"-13,-348,292"},EPSG_4698:{towgs84:"145,-187,103"},EPSG_4192:{towgs84:"-206.1,-174.7,-87.7"},EPSG_4311:{towgs84:"-265,120,-358"},EPSG_4135:{towgs84:"58,-283,-182"},ESRI_104138:{towgs84:"198,-226,-347"},EPSG_4245:{towgs84:"-11,851,5"},EPSG_4142:{towgs84:"-125,53,467"},EPSG_4213:{towgs84:"-106,-87,188"},EPSG_4253:{towgs84:"-133,-77,-51"},EPSG_4129:{towgs84:"-132,-110,-335"},EPSG_4713:{towgs84:"-77,-128,142"},EPSG_4239:{towgs84:"217,823,299"},EPSG_4146:{towgs84:"295,736,257"},EPSG_4155:{towgs84:"-83,37,124"},EPSG_4165:{towgs84:"-173,253,27"},EPSG_4672:{towgs84:"175,-38,113"},EPSG_4236:{towgs84:"-637,-549,-203"},EPSG_4251:{towgs84:"-90,40,88"},EPSG_4271:{towgs84:"-2,374,172"},EPSG_4175:{towgs84:"-88,4,101"},EPSG_4716:{towgs84:"298,-304,-375"},EPSG_4315:{towgs84:"-23,259,-9"},EPSG_4744:{towgs84:"-242.2,-144.9,370.3"},EPSG_4244:{towgs84:"-97,787,86"},EPSG_4293:{towgs84:"616,97,-251"},EPSG_4714:{towgs84:"-127,-769,472"},EPSG_4736:{towgs84:"260,12,-147"},EPSG_6883:{towgs84:"-235,-110,393"},EPSG_6894:{towgs84:"-63,176,185"},EPSG_4205:{towgs84:"-43,-163,45"},EPSG_4256:{towgs84:"41,-220,-134"},EPSG_4262:{towgs84:"639,405,60"},EPSG_4604:{towgs84:"174,359,365"},EPSG_4169:{towgs84:"-115,118,426"},EPSG_4620:{towgs84:"-106,-129,165"},EPSG_4184:{towgs84:"-203,141,53"},EPSG_4616:{towgs84:"-289,-124,60"},EPSG_9403:{towgs84:"-307,-92,127"},EPSG_4684:{towgs84:"-133,-321,50"},EPSG_4708:{towgs84:"-491,-22,435"},EPSG_4707:{towgs84:"114,-116,-333"},EPSG_4709:{towgs84:"145,75,-272"},EPSG_4712:{towgs84:"-205,107,53"},EPSG_4711:{towgs84:"124,-234,-25"},EPSG_4718:{towgs84:"230,-199,-752"},EPSG_4719:{towgs84:"211,147,111"},EPSG_4724:{towgs84:"208,-435,-229"},EPSG_4725:{towgs84:"189,-79,-202"},EPSG_4735:{towgs84:"647,1777,-1124"},EPSG_4722:{towgs84:"-794,119,-298"},EPSG_4728:{towgs84:"-307,-92,127"},EPSG_4734:{towgs84:"-632,438,-609"},EPSG_4727:{towgs84:"912,-58,1227"},EPSG_4729:{towgs84:"185,165,42"},EPSG_4730:{towgs84:"170,42,84"},EPSG_4733:{towgs84:"276,-57,149"},ESRI_37218:{towgs84:"230,-199,-752"},ESRI_37240:{towgs84:"-7,215,225"},ESRI_37221:{towgs84:"252,-209,-751"},ESRI_4305:{towgs84:"-123,-206,219"},ESRI_104139:{towgs84:"-73,-247,227"},EPSG_4748:{towgs84:"51,391,-36"},EPSG_4219:{towgs84:"-384,664,-48"},EPSG_4255:{towgs84:"-333,-222,114"},EPSG_4257:{towgs84:"-587.8,519.75,145.76"},EPSG_4646:{towgs84:"-963,510,-359"},EPSG_6881:{towgs84:"-24,-203,268"},EPSG_6882:{towgs84:"-183,-15,273"},EPSG_4715:{towgs84:"-104,-129,239"},IGNF_RGF93GDD:{towgs84:"0,0,0"},IGNF_RGM04GDD:{towgs84:"0,0,0"},IGNF_RGSPM06GDD:{towgs84:"0,0,0"},IGNF_RGTAAF07GDD:{towgs84:"0,0,0"},IGNF_RGFG95GDD:{towgs84:"0,0,0"},IGNF_RGNCG:{towgs84:"0,0,0"},IGNF_RGPFGDD:{towgs84:"0,0,0"},IGNF_ETRS89G:{towgs84:"0,0,0"},IGNF_RGR92GDD:{towgs84:"0,0,0"},EPSG_4173:{towgs84:"0,0,0"},EPSG_4180:{towgs84:"0,0,0"},EPSG_4619:{towgs84:"0,0,0"},EPSG_4667:{towgs84:"0,0,0"},EPSG_4075:{towgs84:"0,0,0"},EPSG_6706:{towgs84:"0,0,0"},EPSG_7798:{towgs84:"0,0,0"},EPSG_4661:{towgs84:"0,0,0"},EPSG_4669:{towgs84:"0,0,0"},EPSG_8685:{towgs84:"0,0,0"},EPSG_4151:{towgs84:"0,0,0"},EPSG_9702:{towgs84:"0,0,0"},EPSG_4758:{towgs84:"0,0,0"},EPSG_4761:{towgs84:"0,0,0"},EPSG_4765:{towgs84:"0,0,0"},EPSG_8997:{towgs84:"0,0,0"},EPSG_4023:{towgs84:"0,0,0"},EPSG_4670:{towgs84:"0,0,0"},EPSG_4694:{towgs84:"0,0,0"},EPSG_4148:{towgs84:"0,0,0"},EPSG_4163:{towgs84:"0,0,0"},EPSG_4167:{towgs84:"0,0,0"},EPSG_4189:{towgs84:"0,0,0"},EPSG_4190:{towgs84:"0,0,0"},EPSG_4176:{towgs84:"0,0,0"},EPSG_4659:{towgs84:"0,0,0"},EPSG_3824:{towgs84:"0,0,0"},EPSG_3889:{towgs84:"0,0,0"},EPSG_4046:{towgs84:"0,0,0"},EPSG_4081:{towgs84:"0,0,0"},EPSG_4558:{towgs84:"0,0,0"},EPSG_4483:{towgs84:"0,0,0"},EPSG_5013:{towgs84:"0,0,0"},EPSG_5264:{towgs84:"0,0,0"},EPSG_5324:{towgs84:"0,0,0"},EPSG_5354:{towgs84:"0,0,0"},EPSG_5371:{towgs84:"0,0,0"},EPSG_5373:{towgs84:"0,0,0"},EPSG_5381:{towgs84:"0,0,0"},EPSG_5393:{towgs84:"0,0,0"},EPSG_5489:{towgs84:"0,0,0"},EPSG_5593:{towgs84:"0,0,0"},EPSG_6135:{towgs84:"0,0,0"},EPSG_6365:{towgs84:"0,0,0"},EPSG_5246:{towgs84:"0,0,0"},EPSG_7886:{towgs84:"0,0,0"},EPSG_8431:{towgs84:"0,0,0"},EPSG_8427:{towgs84:"0,0,0"},EPSG_8699:{towgs84:"0,0,0"},EPSG_8818:{towgs84:"0,0,0"},EPSG_4757:{towgs84:"0,0,0"},EPSG_9140:{towgs84:"0,0,0"},EPSG_8086:{towgs84:"0,0,0"},EPSG_4686:{towgs84:"0,0,0"},EPSG_4737:{towgs84:"0,0,0"},EPSG_4702:{towgs84:"0,0,0"},EPSG_4747:{towgs84:"0,0,0"},EPSG_4749:{towgs84:"0,0,0"},EPSG_4674:{towgs84:"0,0,0"},EPSG_4755:{towgs84:"0,0,0"},EPSG_4759:{towgs84:"0,0,0"},EPSG_4762:{towgs84:"0,0,0"},EPSG_4763:{towgs84:"0,0,0"},EPSG_4764:{towgs84:"0,0,0"},EPSG_4166:{towgs84:"0,0,0"},EPSG_4170:{towgs84:"0,0,0"},EPSG_5546:{towgs84:"0,0,0"},EPSG_7844:{towgs84:"0,0,0"},EPSG_4818:{towgs84:"589,76,480"},EPSG_10328:{towgs84:"0,0,0"},EPSG_9782:{towgs84:"0,0,0"},EPSG_9777:{towgs84:"0,0,0"},EPSG_10690:{towgs84:"0,0,0"},EPSG_10639:{towgs84:"0,0,0"},EPSG_10739:{towgs84:"0,0,0"},EPSG_7686:{towgs84:"0,0,0"},EPSG_8900:{towgs84:"0,0,0"},EPSG_5886:{towgs84:"0,0,0"},EPSG_7683:{towgs84:"0,0,0"},EPSG_6668:{towgs84:"0,0,0"},EPSG_20046:{towgs84:"0,0,0"},EPSG_10299:{towgs84:"0,0,0"},EPSG_10310:{towgs84:"0,0,0"},EPSG_10475:{towgs84:"0,0,0"},EPSG_4742:{towgs84:"0,0,0"},EPSG_10671:{towgs84:"0,0,0"},EPSG_10762:{towgs84:"0,0,0"},EPSG_10725:{towgs84:"0,0,0"},EPSG_10791:{towgs84:"0,0,0"},EPSG_10800:{towgs84:"0,0,0"},EPSG_10305:{towgs84:"0,0,0"},EPSG_10941:{towgs84:"0,0,0"},EPSG_10968:{towgs84:"0,0,0"},EPSG_10875:{towgs84:"0,0,0"},EPSG_6318:{towgs84:"0,0,0"},EPSG_10910:{towgs84:"0,0,0"}};for(var yB in ji){var Us=ji[yB];Us.datumName&&(ji[Us.datumName]=Us)}function vB(t,e,n,a,i,r,o){var s={};return s.datum_type=Nl,e&&(s.datum_type=NF,s.datum_params=e.map(parseFloat),(s.datum_params[0]!==0||s.datum_params[1]!==0||s.datum_params[2]!==0)&&(s.datum_type=F9),s.datum_params.length>3&&(s.datum_params[3]!==0||s.datum_params[4]!==0||s.datum_params[5]!==0||s.datum_params[6]!==0)&&(s.datum_type=B9,s.datum_params[3]*=ua,s.datum_params[4]*=ua,s.datum_params[5]*=ua,s.datum_params[6]=s.datum_params[6]/1e6+1)),o&&(s.datum_type=B8,s.grids=o),s.a=n,s.b=a,s.es=i,s.ep2=r,s}var wu={};function SB(t,e,n){return e instanceof ArrayBuffer?wB(t,e,n):{ready:bB(t,e)}}function wB(t,e,n){var a=!0;n!==void 0&&n.includeErrorFields===!1&&(a=!1);var i=new DataView(e),r=AB(i),o=xB(i,r),s=_B(i,o,r,a),u={header:o,subgrids:s};return wu[t]=u,u}function bB(t,e){return k3(this,null,function*(){for(var n=[],a=yield e.getImageCount(),i=a-1;i>=0;i--){var r=yield e.getImage(i),o=yield r.readRasters(),s=o,u=[r.getWidth(),r.getHeight()],m=r.getBoundingBox().map(Oh),h=typeof r.fileDirectory.getValue=="function"?r.fileDirectory.getValue("ModelPixelScale"):r.fileDirectory.ModelPixelScale,p=[h[0],h[1]].map(Oh),g=m[0]+(u[0]-1)*p[0],b=m[3]-(u[1]-1)*p[1],F=s[0],H=s[1],K=[];for(let v2=u[1]-1;v2>=0;v2--)for(let A2=u[0]-1;A2>=0;A2--){var e2=v2*u[0]+A2;K.push([-j5(H[e2]),j5(F[e2])])}n.push({del:p,lim:u,ll:[-g,b],cvs:K})}var p2={header:{nSubgrids:a},subgrids:n};return wu[t]=p2,p2})}function TB(t){if(t===void 0)return null;var e=t.split(",");return e.map(CB)}function CB(t){if(t.length===0)return null;var e=t[0]==="@";return e&&(t=t.slice(1)),t==="null"?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:wu[t]||null,isNull:!1}}function Oh(t){return t*Math.PI/180}function j5(t){return t/3600*Math.PI/180}function AB(t){var e=t.getInt32(8,!1);return e===11?!1:(e=t.getInt32(8,!0),e!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function xB(t,e){return{nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:Ll(t,56,56+8).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}function Ll(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function _B(t,e,n,a){for(var i=176,r=[],o=0;o5e-11?!1:t.datum_type===F9?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type===B9?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6]:!0}function vg(t,e,n){var a=t.x,i=t.y,r=t.z?t.z:0,o,s,u,m;if(i<-c1&&i>-1.001*c1)i=-c1;else if(i>c1&&i<1.001*c1)i=c1;else{if(i<-c1)return{x:-1/0,y:-1/0,z:t.z};if(i>c1)return{x:1/0,y:1/0,z:t.z}}return a>Math.PI&&(a-=2*Math.PI),s=Math.sin(i),m=Math.cos(i),u=s*s,o=n/Math.sqrt(1-e*u),{x:(o+r)*m*Math.cos(a),y:(o+r)*m*Math.sin(a),z:(o*(1-e)+r)*s}}function Sg(t,e,n,a){var i=1e-12,r=i*i,o=30,s,u,m,h,p,g,b,F,H,K,e2,p2,v2,A2=t.x,_2=t.y,q2=t.z?t.z:0,K2,$2,c3;if(s=Math.sqrt(A2*A2+_2*_2),u=Math.sqrt(A2*A2+_2*_2+q2*q2),s/nr&&v2a.y||b>a.x||Ks&&Math.abs(u.y)>s);if(o<0)return console.log("Inverse grid shift iterator failed to converge."),a;a.x=P1(r.x+n.ll[0]),a.y=r.y+n.ll[1]}else isNaN(r.x)||(a.x=t.x+r.x,a.y=t.y+r.y);return a}function zh(t,e){var n={x:t.x/e.del[0],y:t.y/e.del[1]},a={x:Math.floor(n.x),y:Math.floor(n.y)},i={x:n.x-1*a.x,y:n.y-1*a.y},r={x:Number.NaN,y:Number.NaN},o;if(a.x<0||a.x>=e.lim[0]||a.y<0||a.y>=e.lim[1])return r;o=a.y*e.lim[0]+a.x;var s={x:e.cvs[o][0],y:e.cvs[o][1]};o++;var u={x:e.cvs[o][0],y:e.cvs[o][1]};o+=e.lim[0];var m={x:e.cvs[o][0],y:e.cvs[o][1]};o--;var h={x:e.cvs[o][0],y:e.cvs[o][1]},p=i.x*i.y,g=i.x*(1-i.y),b=(1-i.x)*(1-i.y),F=(1-i.x)*i.y;return r.x=b*s.x+g*u.x+F*h.x+p*m.x,r.y=b*s.y+g*u.y+F*h.y+p*m.y,r}var A9=["x","y","z"];function FB(t,e){const n={};for(let a=0,i=t.axis.length;a2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function DB(t){Yh(t.x),Yh(t.y)}function Yh(t){if(typeof Number.isFinite=="function"){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if(typeof t!="number"||t!==t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function GB(t,e){return(t.datum.datum_type===F9||t.datum.datum_type===B9||t.datum.datum_type===B8)&&e.datumCode!=="WGS84"||(e.datum.datum_type===F9||e.datum.datum_type===B9||e.datum.datum_type===B8)&&t.datumCode!=="WGS84"}function mr(t,e,n,a){var i,r=n.z!==void 0;if(DB(n),t.datum&&e.datum&&GB(t,e)&&(i=new Jn("WGS84"),n=mr(t,i,n,a),t=i),a&&t.axis!=="enu"&&(n=FB(t,n)),t.projName==="longlat")n={x:n.x*Ve,y:n.y*Ve,z:n.z||0};else if(t.to_meter&&(n={x:n.x*t.to_meter,y:n.y*t.to_meter,z:n.z||0}),n=t.inverse(n),!n)return;if(t.from_greenwich&&(n.x+=t.from_greenwich),n=LB(t.datum,e.datum,n),!!n)return n=n,e.from_greenwich&&(n={x:n.x-e.from_greenwich,y:n.y,z:n.z||0}),e.projName==="longlat"?n={x:n.x*gn,y:n.y*gn,z:n.z||0}:(n=e.forward(n),e.to_meter&&(n={x:n.x/e.to_meter,y:n.y/e.to_meter,z:n.z||0})),a&&e.axis!=="enu"?BB(e,n):(n&&!r&&e.projName!=="geocent"&&delete n.z,n)}function UB(t,e,n,a){var i;return Array.isArray(n)?i=bu(n):i={x:n.x,y:n.y,z:n.z,m:n.m},mr(t,e,i,a)}var $h=Jn("WGS84");function Os(t,e,n,a){var i,r,o;return Array.isArray(n)?(i=mr(t,e,bu(n),a)||{x:NaN,y:NaN},n.length>2?(r=typeof t.name!="undefined"&&t.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",r?typeof i.z=="number"?[i.x,i.y,i.z].concat(n.slice(3)):[i.x,i.y,n[2]].concat(n.slice(3)):a&&typeof i.z=="number"?[i.x,i.y,i.z].concat(n.slice(3)):[i.x,i.y].concat(n.slice(2))):[i.x,i.y]):(i=mr(t,e,{x:n.x,y:n.y,z:n.z,m:n.m},a)||{x:NaN,y:NaN},o=Object.keys(n),o.length===2||(r=typeof t.name!="undefined"&&t.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",o.forEach(function(s){s==="x"||s==="y"||s==="z"&&(r||a)||(i[s]=n[s])})),i)}function Ai(t){return t instanceof Jn?t:typeof t=="object"&&"oProj"in t?t.oProj:Jn(t)}function OB(t,e,n){var a,i,r=!1,o;return typeof e=="undefined"?(i=Ai(t),a=$h,r=!0):(typeof e.x!="undefined"||Array.isArray(e))&&(n=e,i=Ai(t),a=$h,r=!0),a||(a=Ai(t)),i||(i=Ai(e)),n?Os(a,i,n):(o={forward:function(s,u){return Os(a,i,s,u)},inverse:function(s,u){return Os(i,a,s,u)}},r&&(o.oProj=i),o)}var Wh=6,wg="AJSAJS",bg="AFAFAF",_8=65,rn=73,Wn=79,aa=86,ia=90;const jB={forward:Tg,inverse:zB,toPoint:Cg};function Tg(t,e){return e=e||5,WB(YB({lat:t[1],lon:t[0]}),e)}function zB(t){var e=Tu(xg(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]}function Cg(t){var e=Tu(xg(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function js(t){return t*(Math.PI/180)}function Vh(t){return 180*(t/Math.PI)}function YB(t){var e=t.lat,n=t.lon,a=6378137,i=.00669438,r=.9996,o,s,u,m,h,p,g,b=js(e),F=js(n),H,K;K=Math.floor((n+180)/6)+1,n===180&&(K=60),e>=56&&e<64&&n>=3&&n<12&&(K=32),e>=72&&e<84&&(n>=0&&n<9?K=31:n>=9&&n<21?K=33:n>=21&&n<33?K=35:n>=33&&n<42&&(K=37)),o=(K-1)*6-180+3,H=js(o),s=i/(1-i),u=a/Math.sqrt(1-i*Math.sin(b)*Math.sin(b)),m=Math.tan(b)*Math.tan(b),h=s*Math.cos(b)*Math.cos(b),p=Math.cos(b)*(F-H),g=a*((1-i/4-3*i*i/64-5*i*i*i/256)*b-(3*i/8+3*i*i/32+45*i*i*i/1024)*Math.sin(2*b)+(15*i*i/256+45*i*i*i/1024)*Math.sin(4*b)-35*i*i*i/3072*Math.sin(6*b));var e2=r*u*(p+(1-m+h)*p*p*p/6+(5-18*m+m*m+72*h-58*s)*p*p*p*p*p/120)+5e5,p2=r*(g+u*Math.tan(b)*(p*p/2+(5-m+9*h+4*h*h)*p*p*p*p/24+(61-58*m+m*m+600*h-330*s)*p*p*p*p*p*p/720));return e<0&&(p2+=1e7),{northing:Math.round(p2),easting:Math.round(e2),zoneNumber:K,zoneLetter:$B(e)}}function Tu(t){var e=t.northing,n=t.easting,a=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var r=.9996,o=6378137,s=.00669438,u,m=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s)),h,p,g,b,F,H,K,e2,p2,v2=n-5e5,A2=e;a<"N"&&(A2-=1e7),K=(i-1)*6-180+3,u=s/(1-s),H=A2/r,e2=H/(o*(1-s/4-3*s*s/64-5*s*s*s/256)),p2=e2+(3*m/2-27*m*m*m/32)*Math.sin(2*e2)+(21*m*m/16-55*m*m*m*m/32)*Math.sin(4*e2)+151*m*m*m/96*Math.sin(6*e2),h=o/Math.sqrt(1-s*Math.sin(p2)*Math.sin(p2)),p=Math.tan(p2)*Math.tan(p2),g=u*Math.cos(p2)*Math.cos(p2),b=o*(1-s)/Math.pow(1-s*Math.sin(p2)*Math.sin(p2),1.5),F=v2/(h*r);var _2=p2-h*Math.tan(p2)/b*(F*F/2-(5+3*p+10*g-4*g*g-9*u)*F*F*F*F/24+(61+90*p+298*g+45*p*p-252*u-3*g*g)*F*F*F*F*F*F/720);_2=Vh(_2);var q2=(F-(1+2*p+g)*F*F*F/6+(5-2*g+28*p-3*g*g+8*u+24*p*p)*F*F*F*F*F/120)/Math.cos(p2);q2=K+Vh(q2);var K2;if(t.accuracy){var $2=Tu({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});K2={top:$2.lat,right:$2.lon,bottom:_2,left:q2}}else K2={lat:_2,lon:q2};return K2}function $B(t){var e="Z";return 84>=t&&t>=72?e="X":72>t&&t>=64?e="W":64>t&&t>=56?e="V":56>t&&t>=48?e="U":48>t&&t>=40?e="T":40>t&&t>=32?e="S":32>t&&t>=24?e="R":24>t&&t>=16?e="Q":16>t&&t>=8?e="P":8>t&&t>=0?e="N":0>t&&t>=-8?e="M":-8>t&&t>=-16?e="L":-16>t&&t>=-24?e="K":-24>t&&t>=-32?e="J":-32>t&&t>=-40?e="H":-40>t&&t>=-48?e="G":-48>t&&t>=-56?e="F":-56>t&&t>=-64?e="E":-64>t&&t>=-72?e="D":-72>t&&t>=-80&&(e="C"),e}function WB(t,e){var n="00000"+t.easting,a="00000"+t.northing;return t.zoneNumber+t.zoneLetter+VB(t.easting,t.northing,t.zoneNumber)+n.substr(n.length-5,e)+a.substr(a.length-5,e)}function VB(t,e,n){var a=Ag(n),i=Math.floor(t/1e5),r=Math.floor(e/1e5)%20;return HB(i,r,a)}function Ag(t){var e=t%Wh;return e===0&&(e=Wh),e}function HB(t,e,n){var a=n-1,i=wg.charCodeAt(a),r=bg.charCodeAt(a),o=i+t-1,s=r+e,u=!1;o>ia&&(o=o-ia+_8-1,u=!0),(o===rn||irn||(o>rn||iWn||(o>Wn||iia&&(o=o-ia+_8-1),s>aa?(s=s-aa+_8-1,u=!0):u=!1,(s===rn||rrn||(s>rn||rWn||(s>Wn||raa&&(s=s-aa+_8-1);var m=String.fromCharCode(o)+String.fromCharCode(s);return m}function xg(t){if(t&&t.length===0)throw"MGRSPoint coverting from nothing";for(var e=t.length,n=null,a="",i,r=0;!/[A-Z]/.test(i=t.charAt(r));){if(r>=2)throw"MGRSPoint bad conversion from: "+t;a+=i,r++}var o=parseInt(a,10);if(r===0||r+3>e)throw"MGRSPoint bad conversion from: "+t;var s=t.charAt(r++);if(s<="A"||s==="B"||s==="Y"||s>="Z"||s==="I"||s==="O")throw"MGRSPoint zone letter "+s+" not handled: "+t;n=t.substring(r,r+=2);for(var u=Ag(o),m=KB(n.charAt(0),u),h=qB(n.charAt(1),u);h0&&(H=1e5/Math.pow(10,g),K=t.substring(r,r+g),b=parseFloat(K)*H,e2=t.substring(r+g),F=parseFloat(e2)*H),p2=b+m,v2=F+h,{easting:p2,northing:v2,zoneLetter:s,zoneNumber:o,accuracy:H}}function KB(t,e){for(var n=wg.charCodeAt(e-1),a=1e5,i=!1;n!==t.charCodeAt(0);){if(n++,n===rn&&n++,n===Wn&&n++,n>ia){if(i)throw"Bad character: "+t;n=_8,i=!0}a+=1e5}return a}function qB(t,e){if(t>"V")throw"MGRSPoint given invalid Northing "+t;for(var n=bg.charCodeAt(e-1),a=0,i=!1;n!==t.charCodeAt(0);){if(n++,n===rn&&n++,n===Wn&&n++,n>aa){if(i)throw"Bad character: "+t;n=_8,i=!0}a+=1e5}return a}function JB(t){var e;switch(t){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+t}function V8(t,e,n){if(!(this instanceof V8))return new V8(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if(typeof t=="object")this.x=t.x,this.y=t.y,this.z=t.z||0;else if(typeof t=="string"&&typeof e=="undefined"){var a=t.split(",");this.x=parseFloat(a[0]),this.y=parseFloat(a[1]),this.z=parseFloat(a[2])||0}else this.x=t,this.y=e,this.z=n||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}V8.fromMGRS=function(t){return new V8(Cg(t))};V8.prototype.toMGRS=function(t){return Tg([this.x,this.y],t)};var QB=1,XB=.25,Hh=.046875,Kh=.01953125,qh=.01068115234375,ZB=.75,eD=.46875,tD=.013020833333333334,nD=.007120768229166667,aD=.3645833333333333,iD=.005696614583333333,rD=.3076171875;function Cu(t){var e=[];e[0]=QB-t*(XB+t*(Hh+t*(Kh+t*qh))),e[1]=t*(ZB-t*(Hh+t*(Kh+t*qh)));var n=t*t;return e[2]=n*(eD-t*(tD+t*nD)),n*=t,e[3]=n*(aD-t*iD),e[4]=n*t*rD,e}function t4(t,e,n,a){return n*=e,e*=e,a[0]*t-n*(a[1]+e*(a[2]+e*(a[3]+e*a[4])))}var oD=20;function Au(t,e,n){for(var a=1/(1-e),i=t,r=oD;r;--r){var o=Math.sin(i),s=1-e*o*o;if(s=(t4(i,o,Math.cos(i),n)-t)*(s*Math.sqrt(s))*a,i-=s,Math.abs(s)<_1)return i}return i}function sD(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=Cu(this.es),this.ml0=t4(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function lD(t){var e=t.x,n=t.y,a=P1(e-this.long0,this.over),i,r,o,s=Math.sin(n),u=Math.cos(n);if(this.es){var h=u*a,p=Math.pow(h,2),g=this.ep2*Math.pow(u,2),b=Math.pow(g,2),F=Math.abs(u)>_1?Math.tan(n):0,H=Math.pow(F,2),K=Math.pow(H,2);i=1-this.es*Math.pow(s,2),h=h/Math.sqrt(i);var e2=t4(n,s,u,this.en);r=this.a*(this.k0*h*(1+p/6*(1-H+g+p/20*(5-18*H+K+14*g-58*H*g+p/42*(61+179*K-K*H-479*H)))))+this.x0,o=this.a*(this.k0*(e2-this.ml0+s*a*h/2*(1+p/12*(5-H+9*g+4*b+p/30*(61+K-58*H+270*g-330*H*g+p/56*(1385+543*K-K*H-3111*H))))))+this.y0}else{var m=u*Math.sin(a);if(Math.abs(Math.abs(m)-1)<_1)return 93;if(r=.5*this.a*this.k0*Math.log((1+m)/(1-m))+this.x0,o=u*Math.cos(a)/Math.sqrt(1-Math.pow(m,2)),m=Math.abs(o),m>=1){if(m-1>_1)return 93;o=0}else o=Math.acos(o);n<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return t.x=r,t.y=o,t}function uD(t){var e,n,a,i,r=(t.x-this.x0)*(1/this.a),o=(t.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+o/this.k0,n=Au(e,this.es,this.en),Math.abs(n)_1?Math.tan(n):0,F=this.ep2*Math.pow(g,2),H=Math.pow(F,2),K=Math.pow(b,2),e2=Math.pow(K,2);e=1-this.es*Math.pow(p,2);var p2=r*Math.sqrt(e)/this.k0,v2=Math.pow(p2,2);e=e*b,a=n-e*v2/(1-this.es)*.5*(1-v2/12*(5+3*K-9*F*K+F-4*H-v2/30*(61+90*K-252*F*K+45*e2+46*F-v2/56*(1385+3633*K+4095*e2+1574*e2*K)))),i=P1(this.long0+p2*(1-v2/6*(1+2*K+F-v2/20*(5+28*K+24*e2+8*F*K+6*F-v2/42*(61+662*K+1320*e2+720*e2*K))))/g,this.over)}else a=c1*$a(o),i=0;else{var s=Math.exp(r/this.k0),u=.5*(s-1/s),m=this.lat0+o/this.k0,h=Math.cos(m);e=Math.sqrt((1-Math.pow(h,2))/(1+Math.pow(u,2))),a=Math.asin(e),o<0&&(a=-a),u===0&&h===0?i=0:i=P1(Math.atan2(u,h)+this.long0,this.over)}return t.x=i,t.y=a,t}var cD=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const zi={init:sD,forward:lD,inverse:uD,names:cD};function _g(t){var e=Math.exp(t);return e=(e-1/e)/2,e}function hn(t,e){t=Math.abs(t),e=Math.abs(e);var n=Math.max(t,e),a=Math.min(t,e)/(n||1);return n*Math.sqrt(1+Math.pow(a,2))}function dD(t){var e=1+t,n=e-1;return n===0?t:t*Math.log(e)/n}function fD(t){var e=Math.abs(t);return e=dD(e*(1+e/(hn(1,e)+1))),t<0?-e:e}function xu(t,e){for(var n=2*Math.cos(2*e),a=t.length-1,i=t[a],r=0,o;--a>=0;)o=-r+n*i+t[a],r=i,i=o;return e+o*Math.sin(2*e)}function hD(t,e){for(var n=2*Math.cos(e),a=t.length-1,i=t[a],r=0,o;--a>=0;)o=-r+n*i+t[a],r=i,i=o;return Math.sin(e)*o}function mD(t){var e=Math.exp(t);return e=(e+1/e)/2,e}function Mg(t,e,n){for(var a=Math.sin(e),i=Math.cos(e),r=_g(n),o=mD(n),s=2*i*o,u=-2*a*r,m=t.length-1,h=t[m],p=0,g=0,b=0,F,H;--m>=0;)F=g,H=p,g=h,p=b,h=-F+s*g-u*p+t[m],b=-H+u*g+s*p;return s=a*o,u=i*r,[s*h-u*b,s*b+u*h]}function pD(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(zi.init.apply(this),this.forward=zi.forward,this.inverse=zi.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),n=e;this.cgb[0]=e*(2+e*(-2/3+e*(-2+e*(116/45+e*(26/45+e*(-2854/675)))))),this.cbg[0]=e*(-2+e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))),n=n*e,this.cgb[1]=n*(7/3+e*(-8/5+e*(-227/45+e*(2704/315+e*(2323/945))))),this.cbg[1]=n*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),n=n*e,this.cgb[2]=n*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=n*(-26/15+e*(34/21+e*(8/5+e*(-12686/2835)))),n=n*e,this.cgb[3]=n*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=n*(1237/630+e*(-12/5+e*(-24832/14175))),n=n*e,this.cgb[4]=n*(4174/315+e*(-144838/6237)),this.cbg[4]=n*(-734/315+e*(109598/31185)),n=n*e,this.cgb[5]=n*(601676/22275),this.cbg[5]=n*(444337/155925),n=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+n*(1/4+n*(1/64+n/256))),this.utg[0]=e*(-.5+e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=n*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=n*(13/48+e*(-3/5+e*(557/1440+e*(281/630+e*(-1983433/1935360))))),n=n*e,this.utg[2]=n*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=n*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),n=n*e,this.utg[3]=n*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=n*(49561/161280+e*(-179/168+e*(6601661/7257600))),n=n*e,this.utg[4]=n*(-4583/161280+e*(108847/3991680)),this.gtu[4]=n*(34729/80640+e*(-3418889/1995840)),n=n*e,this.utg[5]=n*(-20648693/638668800),this.gtu[5]=n*(212378941/319334400);var a=xu(this.cbg,this.lat0);this.Zb=-this.Qn*(a+hD(this.gtu,2*a))}function gD(t){var e=P1(t.x-this.long0,this.over),n=t.y;n=xu(this.cbg,n);var a=Math.sin(n),i=Math.cos(n),r=Math.sin(e),o=Math.cos(e);n=Math.atan2(a,o*i),e=Math.atan2(r*i,hn(a,i*o)),e=fD(Math.tan(e));var s=Mg(this.gtu,2*n,2*e);n=n+s[0],e=e+s[1];var u,m;return Math.abs(e)<=2.623395162778?(u=this.a*(this.Qn*e)+this.x0,m=this.a*(this.Qn*n+this.Zb)+this.y0):(u=1/0,m=1/0),t.x=u,t.y=m,t}function yD(t){var e=(t.x-this.x0)*(1/this.a),n=(t.y-this.y0)*(1/this.a);n=(n-this.Zb)/this.Qn,e=e/this.Qn;var a,i;if(Math.abs(e)<=2.623395162778){var r=Mg(this.utg,2*n,2*e);n=n+r[0],e=e+r[1],e=Math.atan(_g(e));var o=Math.sin(n),s=Math.cos(n),u=Math.sin(e),m=Math.cos(e);n=Math.atan2(o*m,hn(u,m*s)),e=Math.atan2(u,m*s),a=P1(e+this.long0,this.over),i=xu(this.cgb,n)}else a=1/0,i=1/0;return t.x=a,t.y=i,t}var vD=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const Yi={init:pD,forward:gD,inverse:yD,names:vD};function SD(t,e){if(t===void 0){if(t=Math.floor((P1(e)+Math.PI)*30/Math.PI)+1,t<0)return 0;if(t>60)return 60}return t}var wD="etmerc";function bD(){var t=SD(this.zone,this.long0);if(t===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*Ve,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Yi.init.apply(this),this.forward=Yi.forward,this.inverse=Yi.inverse}var TD=["Universal Transverse Mercator System","utm"];const CD={init:bD,names:TD,dependsOn:wD};function _u(t,e){return Math.pow((1-t)/(1+t),e)}var AD=20;function xD(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+de)/(Math.pow(Math.tan(.5*this.lat0+de),this.C)*_u(this.e*t,this.ratexp))}function _D(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+de),this.C)*_u(this.e*Math.sin(n),this.ratexp))-c1,t.x=this.C*e,t}function MD(t){for(var e=1e-14,n=t.x/this.C,a=t.y,i=Math.pow(Math.tan(.5*a+de)/this.K,1/this.C),r=AD;r>0&&(a=2*Math.atan(i*_u(this.e*Math.sin(t.y),-.5*this.e))-c1,!(Math.abs(a-t.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=_1&&Math.abs(Math.cos(this.lat_ts))>_1&&(this.k0=.5*this.cons*$6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/p6(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=$6(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(Pu(this.lat0,this.sinlat0,this.e))-c1,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function FD(t){var e=t.x,n=t.y,a=Math.sin(n),i=Math.cos(n),r,o,s,u,m,h,p=P1(e-this.long0,this.over);return Math.abs(Math.abs(e-this.long0)-Math.PI)<=_1&&Math.abs(n+this.lat0)<=_1?(t.x=NaN,t.y=NaN,t):this.sphere?(r=2*this.k0/(1+this.sinlat0*a+this.coslat0*i*Math.cos(p)),t.x=this.a*r*i*Math.sin(p)+this.x0,t.y=this.a*r*(this.coslat0*a-this.sinlat0*i*Math.cos(p))+this.y0,t):(o=2*Math.atan(Pu(n,a,this.e))-c1,u=Math.cos(o),s=Math.sin(o),Math.abs(this.coslat0)<=_1?(m=p6(this.e,n*this.con,this.con*a),h=2*this.a*this.k0*m/this.cons,t.x=this.x0+h*Math.sin(e-this.long0),t.y=this.y0-this.con*h*Math.cos(e-this.long0),t):(Math.abs(this.sinlat0)<_1?(r=2*this.a*this.k0/(1+u*Math.cos(p)),t.y=r*s):(r=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*s+this.cosX0*u*Math.cos(p))),t.y=r*(this.cosX0*s-this.sinX0*u*Math.cos(p))+this.y0),t.x=r*u*Math.sin(p)+this.x0,t))}function BD(t){t.x-=this.x0,t.y-=this.y0;var e,n,a,i,r,o=Math.sqrt(t.x*t.x+t.y*t.y);if(this.sphere){var s=2*Math.atan(o/(2*this.a*this.k0));return e=this.long0,n=this.lat0,o<=_1?(t.x=e,t.y=n,t):(n=Math.asin(Math.cos(s)*this.sinlat0+t.y*Math.sin(s)*this.coslat0/o),Math.abs(this.coslat0)<_1?this.lat0>0?e=P1(this.long0+Math.atan2(t.x,-1*t.y),this.over):e=P1(this.long0+Math.atan2(t.x,t.y),this.over):e=P1(this.long0+Math.atan2(t.x*Math.sin(s),o*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s)),this.over),t.x=e,t.y=n,t)}else if(Math.abs(this.coslat0)<=_1){if(o<=_1)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,a=o*this.cons/(2*this.a*this.k0),n=this.con*Na(this.e,a),e=this.con*P1(this.con*this.long0+Math.atan2(t.x,-1*t.y),this.over)}else i=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,o<=_1?r=this.X0:(r=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/o),e=P1(this.long0+Math.atan2(t.x*Math.sin(i),o*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)),this.over)),n=-1*Na(this.e,Math.tan(.5*(c1+r)));return t.x=e,t.y=n,t}var DD=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const GD={init:ID,forward:FD,inverse:BD,names:DD,ssfn_:Pu};function UD(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,a=this.rf,i=1/a,r=2*i-Math.pow(i,2),o=this.e=Math.sqrt(r);this.R=this.k0*n*Math.sqrt(1-r)/(1-r*Math.pow(e,2)),this.alpha=Math.sqrt(1+r/(1-r)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var s=Math.log(Math.tan(Math.PI/4+this.b0/2)),u=Math.log(Math.tan(Math.PI/4+t/2)),m=Math.log((1+o*e)/(1-o*e));this.K=s-this.alpha*u+this.alpha*o/2*m}function OD(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),a=-this.alpha*(e+n)+this.K,i=2*(Math.atan(Math.exp(a))-Math.PI/4),r=this.alpha*(t.x-this.lambda0),o=Math.atan(Math.sin(r)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(r))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(r));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*o+this.x0,t}function jD(t){for(var e=t.x-this.x0,n=t.y-this.y0,a=e/this.R,i=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),r=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(a)),o=Math.atan(Math.sin(a)/(Math.cos(this.b0)*Math.cos(a)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+o/this.alpha,u=0,m=r,h=-1e3,p=0;Math.abs(m-h)>1e-7;){if(++p>20)return;u=1/this.alpha*(Math.log(Math.tan(Math.PI/4+r/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(m))/2)),h=m,m=2*Math.atan(Math.exp(u))-Math.PI/2}return t.x=s,t.y=m,t}var zD=["somerc"];const YD={init:UD,forward:OD,inverse:jD,names:zD};var w8=1e-7;function $D(t){var e=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],n=typeof t.projName=="object"?Object.keys(t.projName)[0]:t.projName;return"no_uoff"in t||"no_off"in t||e.indexOf(n)!==-1||e.indexOf(gg(n))!==-1}function WD(){var t,e,n,a,i,r,o,s,u,m,h=0,p,g=0,b=0,F=0,H=0,K=0,e2=0;this.no_off=$D(this),this.no_rot="no_rot"in this;var p2=!1;"alpha"in this&&(p2=!0);var v2=!1;if("rectified_grid_angle"in this&&(v2=!0),p2&&(e2=this.alpha),v2&&(h=this.rectified_grid_angle,p2||(e2=0,p2=!0)),p2||v2)g=this.longc;else if(b=this.long1,H=this.lat1,F=this.long2,K=this.lat2,Math.abs(H-K)<=w8||(t=Math.abs(H))<=w8||Math.abs(t-c1)<=w8||Math.abs(Math.abs(this.lat0)-c1)<=w8||Math.abs(Math.abs(K)-c1)<=w8)throw new Error;var A2=1-this.es;e=Math.sqrt(A2),Math.abs(this.lat0)>_1?(s=Math.sin(this.lat0),n=Math.cos(this.lat0),t=1-this.es*s*s,this.B=n*n,this.B=Math.sqrt(1+this.es*this.B*this.B/A2),this.A=this.B*this.k0*e/t,a=this.B*e/(n*Math.sqrt(t)),i=a*a-1,i<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=a,this.E*=Math.pow(p6(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=a=i=1),p2||v2?(p2?(p=Math.asin(Math.sin(e2)/a),v2||(h=e2)):(p=h,e2=Math.asin(a*Math.sin(p))),this.lam0=g-Math.asin(.5*(i-1/i)*Math.tan(p))/this.B):(r=Math.pow(p6(this.e,H,Math.sin(H)),this.B),o=Math.pow(p6(this.e,K,Math.sin(K)),this.B),i=this.E/r,u=(o-r)/(o+r),m=this.E*this.E,m=(m-o*r)/(m+o*r),t=b-F,t<-Math.PI?F-=ka:t>Math.PI&&(F+=ka),this.lam0=P1(.5*(b+F)-Math.atan(m*Math.tan(.5*this.B*(b-F))/u)/this.B,this.over),p=Math.atan(2*Math.sin(this.B*P1(b-this.lam0,this.over))/(i-1/i)),h=e2=Math.asin(a*Math.sin(p))),this.singam=Math.sin(p),this.cosgam=Math.cos(p),this.sinrot=Math.sin(h),this.cosrot=Math.cos(h),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(a*a-1)/Math.cos(e2))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*p,this.v_pole_n=this.ArB*Math.log(Math.tan(de-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(de+i))}function VD(t){var e={},n,a,i,r,o,s,u,m;if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-c1)>_1){if(o=this.E/Math.pow(p6(this.e,t.y,Math.sin(t.y)),this.B),s=1/o,n=.5*(o-s),a=.5*(o+s),r=Math.sin(this.B*t.x),i=(n*this.singam-r*this.cosgam)/a,Math.abs(Math.abs(i)-1)<_1)throw new Error;m=.5*this.ArB*Math.log((1-i)/(1+i)),s=Math.cos(this.B*t.x),Math.abs(s)0?this.v_pole_n:this.v_pole_s,u=this.ArB*t.y;return this.no_rot?(e.x=u,e.y=m):(u-=this.u_0,e.x=m*this.cosrot+u*this.sinrot,e.y=u*this.cosrot-m*this.sinrot),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function HD(t){var e,n,a,i,r,o,s,u={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(n=t.y,e=t.x):(n=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),a=Math.exp(-this.BrA*n),i=.5*(a-1/a),r=.5*(a+1/a),o=Math.sin(this.BrA*e),s=(o*this.cosgam+i*this.singam)/r,Math.abs(Math.abs(s)-1)<_1)u.x=0,u.y=s<0?-c1:c1;else{if(u.y=this.E/Math.sqrt((1+s)/(1-s)),u.y=Na(this.e,Math.pow(u.y,1/this.B)),u.y===1/0)throw new Error;u.x=-this.rB*Math.atan2(i*this.cosgam-o*this.singam,Math.cos(this.BrA*e))}return u.x+=this.lam0,u}var KD=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Variant_B","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"];const qD={init:WD,forward:VD,inverse:HD,names:KD};function JD(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<_1)){var t=this.b/this.a;this.e=Math.sqrt(1-t*t);var e=Math.sin(this.lat1),n=Math.cos(this.lat1),a=$6(this.e,e,n),i=p6(this.e,this.lat1,e),r=Math.sin(this.lat2),o=Math.cos(this.lat2),s=$6(this.e,r,o),u=p6(this.e,this.lat2,r),m=Math.abs(Math.abs(this.lat0)-c1)<_1?0:p6(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>_1?this.ns=Math.log(a/s)/Math.log(i/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=a/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(m,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function QD(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=_1&&(n=$a(n)*(c1-2*_1));var a=Math.abs(Math.abs(n)-c1),i,r;if(a>_1)i=p6(this.e,n,Math.sin(n)),r=this.a*this.f0*Math.pow(i,this.ns);else{if(a=n*this.ns,a<=0)return null;r=0}var o=this.ns*P1(e-this.long0,this.over);return t.x=this.k0*(r*Math.sin(o))+this.x0,t.y=this.k0*(this.rh-r*Math.cos(o))+this.y0,t}function XD(t){var e,n,a,i,r,o=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(o*o+s*s),n=1):(e=-Math.sqrt(o*o+s*s),n=-1);var u=0;if(e!==0&&(u=Math.atan2(n*o,n*s)),e!==0||this.ns>0){if(n=1/this.ns,a=Math.pow(e/(this.a*this.f0),n),i=Na(this.e,a),i===-9999)return null}else i=-c1;return r=P1(u/this.ns+this.long0,this.over),t.x=r,t.y=i,t}var ZD=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"];const eG={init:JD,forward:QD,inverse:XD,names:ZD};function tG(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function nG(t){var e,n,a,i,r,o,s,u=t.x,m=t.y,h=P1(u-this.long0,this.over);return e=Math.pow((1+this.e*Math.sin(m))/(1-this.e*Math.sin(m)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(m/2+this.s45),this.alfa)/e)-this.s45),a=-h*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(a)),r=Math.asin(Math.cos(n)*Math.sin(a)/Math.cos(i)),o=this.n*r,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(o)/1,t.x=s*Math.sin(o)/1,this.czech||(t.y*=-1,t.x*=-1),t}function aG(t){var e,n,a,i,r,o,s,u,m=t.x;t.x=t.y,t.y=m,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),r=Math.atan2(t.y,t.x),i=r/Math.sin(this.s0),a=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(a)-Math.sin(this.ad)*Math.cos(a)*Math.cos(i)),n=Math.asin(Math.cos(a)*Math.sin(i)/Math.cos(e)),t.x=this.long0-n/this.alfa,s=e,u=0;var h=0;do t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(s))/(1-this.e*Math.sin(s)),this.e/2))-this.s45),Math.abs(s-t.y)<1e-10&&(u=1),s=t.y,h+=1;while(u===0&&h<15);return h>=15?null:t}var iG=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const rG={init:tG,forward:nG,inverse:aG,names:iG};function Kt(t,e,n,a,i){return t*i-e*Math.sin(2*i)+n*Math.sin(4*i)-a*Math.sin(6*i)}function Wa(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function Va(t){return .375*t*(1+.25*t*(1+.46875*t))}function Ha(t){return .05859375*t*t*(1+.75*t)}function Ka(t){return t*t*t*(35/3072)}function ku(t,e,n){var a=e*n;return t/Math.sqrt(1-a*a)}function X5(t){return Math.abs(t)1e-7?(n=t*e,(1-t*t)*(e/(1-n*n)-.5/t*Math.log((1-n)/(1+n)))):2*e}var dG=.3333333333333333,fG=.17222222222222222,hG=.10257936507936508,mG=.06388888888888888,pG=.0664021164021164,gG=.016415012942191543;function Pg(t){var e,n=[];return n[0]=t*dG,e=t*t,n[0]+=e*fG,n[1]=e*mG,e*=t,n[0]+=e*hG,n[1]+=e*pG,n[2]=e*gG,n}function kg(t,e){var n=t+t;return t+e[0]*Math.sin(n)+e[1]*Math.sin(n+n)+e[2]*Math.sin(n+n+n)}var Il=1,Fl=2,Bl=3,$i=4;function yG(){var t=Math.abs(this.lat0);if(Math.abs(t-c1)<_1?this.mode=this.lat0<0?Il:Fl:Math.abs(t)<_1?this.mode=Bl:this.mode=$i,this.es>0){var e;switch(this.qp=z6(this.e,1),this.mmf=.5/(1-this.es),this.apa=Pg(this.es),this.mode){case Fl:this.dd=1;break;case Il:this.dd=1;break;case Bl:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case $i:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=z6(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===$i&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function vG(t){var e,n,a,i,r,o,s,u,m,h,p=t.x,g=t.y;if(p=P1(p-this.long0,this.over),this.sphere){if(r=Math.sin(g),h=Math.cos(g),a=Math.cos(p),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(n=this.mode===this.EQUIT?1+h*a:1+this.sinph0*r+this.cosph0*h*a,n<=_1)return null;n=Math.sqrt(2/n),e=n*h*Math.sin(p),n*=this.mode===this.EQUIT?r:this.cosph0*r-this.sinph0*h*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(g+this.lat0)<_1)return null;n=de-g*.5,n=2*(this.mode===this.S_POLE?Math.cos(n):Math.sin(n)),e=n*Math.sin(p),n*=a}}else{switch(s=0,u=0,m=0,a=Math.cos(p),i=Math.sin(p),r=Math.sin(g),o=z6(this.e,r),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(s=o/this.qp,u=Math.sqrt(1-s*s)),this.mode){case this.OBLIQ:m=1+this.sinb1*s+this.cosb1*u*a;break;case this.EQUIT:m=1+u*a;break;case this.N_POLE:m=c1+g,o=this.qp-o;break;case this.S_POLE:m=g-c1,o=this.qp+o;break}if(Math.abs(m)<_1)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:m=Math.sqrt(2/m),this.mode===this.OBLIQ?n=this.ymf*m*(this.cosb1*s-this.sinb1*u*a):n=(m=Math.sqrt(2/(1+u*a)))*s*this.ymf,e=this.xmf*m*u*i;break;case this.N_POLE:case this.S_POLE:o>=0?(e=(m=Math.sqrt(o))*i,n=a*(this.mode===this.S_POLE?m:-m)):e=n=0;break}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t}function SG(t){t.x-=this.x0,t.y-=this.y0;var e=t.x/this.a,n=t.y/this.a,a,i,r,o,s,u,m;if(this.sphere){var h=0,p,g=0;if(p=Math.sqrt(e*e+n*n),i=p*.5,i>1)return null;switch(i=2*Math.asin(i),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(g=Math.sin(i),h=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(p)<=_1?0:Math.asin(n*g/p),e*=g,n=h*p;break;case this.OBLIQ:i=Math.abs(p)<=_1?this.lat0:Math.asin(h*this.sinph0+n*g*this.cosph0/p),e*=g*this.cosph0,n=(h-Math.sin(i)*this.sinph0)*p;break;case this.N_POLE:n=-n,i=c1-i;break;case this.S_POLE:i-=c1;break}a=n===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(e,n)}else{if(m=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e/=this.dd,n*=this.dd,u=Math.sqrt(e*e+n*n),u<_1)return t.x=this.long0,t.y=this.lat0,t;o=2*Math.asin(.5*u/this.rq),r=Math.cos(o),e*=o=Math.sin(o),this.mode===this.OBLIQ?(m=r*this.sinb1+n*o*this.cosb1/u,s=this.qp*m,n=u*this.cosb1*r-n*this.sinb1*o):(m=n*o/u,s=this.qp*m,n=u*r)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(n=-n),s=e*e+n*n,!s)return t.x=this.long0,t.y=this.lat0,t;m=1-s/this.qp,this.mode===this.S_POLE&&(m=-m)}a=Math.atan2(e,n),i=kg(Math.asin(m),this.apa)}return t.x=P1(this.long0+a,this.over),t.y=i,t}var wG=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];const bG={init:yG,forward:vG,inverse:SG,names:wG,S_POLE:Il,N_POLE:Fl,EQUIT:Bl,OBLIQ:$i};function q5(t){return Math.abs(t)>1&&(t=t>1?1:-1),Math.asin(t)}function TG(){Math.abs(this.lat1+this.lat2)<_1||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=$6(this.e3,this.sin_po,this.cos_po),this.qs1=z6(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=$6(this.e3,this.sin_po,this.cos_po),this.qs2=z6(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=z6(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>_1?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function CG(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var a=z6(this.e3,this.sin_phi),i=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,r=this.ns0*P1(e-this.long0,this.over),o=i*Math.sin(r)+this.x0,s=this.rh-i*Math.cos(r)+this.y0;return t.x=o,t.y=s,t}function AG(t){var e,n,a,i,r,o;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),a=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),a=-1),i=0,e!==0&&(i=Math.atan2(a*t.x,a*t.y)),a=e*this.ns0/this.a,this.sphere?o=Math.asin((this.c-a*a)/(2*this.ns0)):(n=(this.c-a*a)/this.ns0,o=this.phi1z(this.e3,n)),r=P1(i/this.ns0+this.long0,this.over),t.x=r,t.y=o,t}function xG(t,e){var n,a,i,r,o,s=q5(.5*e);if(t<_1)return s;for(var u=t*t,m=1;m<=25;m++)if(n=Math.sin(s),a=Math.cos(s),i=t*n,r=1-i*i,o=.5*r*r/a*(e/(1-u)-n/r+.5/t*Math.log((1-i)/(1+i))),s=s+o,Math.abs(o)<=1e-7)return s;return null}var _G=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"];const MG={init:TG,forward:CG,inverse:AG,names:_G,phi1z:xG};function PG(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function kG(t){var e,n,a,i,r,o,s,u,m=t.x,h=t.y;return a=P1(m-this.long0,this.over),e=Math.sin(h),n=Math.cos(h),i=Math.cos(a),o=this.sin_p14*e+this.cos_p14*n*i,r=1,o>0||Math.abs(o)<=_1?(s=this.x0+this.a*r*n*Math.sin(a)/o,u=this.y0+this.a*r*(this.cos_p14*e-this.sin_p14*n*i)/o):(s=this.x0+this.infinity_dist*n*Math.sin(a),u=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*i)),t.x=s,t.y=u,t}function EG(t){var e,n,a,i,r,o;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),n=Math.sin(i),a=Math.cos(i),o=q5(a*this.sin_p14+t.y*n*this.cos_p14/e),r=Math.atan2(t.x*n,e*this.cos_p14*a-t.y*this.sin_p14*n),r=P1(this.long0+r,this.over)):(o=this.phic0,r=0),t.x=r,t.y=o,t}var NG=["gnom"];const RG={init:PG,forward:kG,inverse:EG,names:NG};function LG(t,e){var n=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-n)<1e-6)return e<0?-1*c1:c1;for(var a=Math.asin(.5*e),i,r,o,s,u=0;u<30;u++)if(r=Math.sin(a),o=Math.cos(a),s=t*r,i=Math.pow(1-s*s,2)/(2*o)*(e/(1-t*t)-r/(1-s*s)+.5/t*Math.log((1-s)/(1+s))),a+=i,Math.abs(i)<=1e-10)return a;return NaN}function IG(){this.sphere||(this.k0=$6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function FG(t){var e=t.x,n=t.y,a,i,r=P1(e-this.long0,this.over);if(this.sphere)a=this.x0+this.a*r*Math.cos(this.lat_ts),i=this.y0+this.a*Math.sin(n)/Math.cos(this.lat_ts);else{var o=z6(this.e,Math.sin(n));a=this.x0+this.a*this.k0*r,i=this.y0+this.a*o*.5/this.k0}return t.x=a,t.y=i,t}function BG(t){t.x-=this.x0,t.y-=this.y0;var e,n;return this.sphere?(e=P1(this.long0+t.x/this.a/Math.cos(this.lat_ts),this.over),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=LG(this.e,2*t.y*this.k0/this.a),e=P1(this.long0+t.x/(this.a*this.k0),this.over)),t.x=e,t.y=n,t}var DG=["cea"];const GG={init:IG,forward:FG,inverse:BG,names:DG};function UG(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function OG(t){var e=t.x,n=t.y,a=P1(e-this.long0,this.over),i=X5(n-this.lat0);return t.x=this.x0+this.a*a*this.rc,t.y=this.y0+this.a*i,t}function jG(t){var e=t.x,n=t.y;return t.x=P1(this.long0+(e-this.x0)/(this.a*this.rc),this.over),t.y=X5(this.lat0+(n-this.y0)/this.a),t}var zG=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const YG={init:UG,forward:OG,inverse:jG,names:zG};var Jh=20;function $G(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Wa(this.es),this.e1=Va(this.es),this.e2=Ha(this.es),this.e3=Ka(this.es),this.ml0=this.a*Kt(this.e0,this.e1,this.e2,this.e3,this.lat0)}function WG(t){var e=t.x,n=t.y,a,i,r,o=P1(e-this.long0,this.over);if(r=o*Math.sin(n),this.sphere)Math.abs(n)<=_1?(a=this.a*o,i=-1*this.a*this.lat0):(a=this.a*Math.sin(r)/Math.tan(n),i=this.a*(X5(n-this.lat0)+(1-Math.cos(r))/Math.tan(n)));else if(Math.abs(n)<=_1)a=this.a*o,i=-1*this.ml0;else{var s=ku(this.a,this.e,Math.sin(n))/Math.tan(n);a=s*Math.sin(r),i=this.a*Kt(this.e0,this.e1,this.e2,this.e3,n)-this.ml0+s*(1-Math.cos(r))}return t.x=a+this.x0,t.y=i+this.y0,t}function VG(t){var e,n,a,i,r,o,s,u,m;if(a=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=_1)e=P1(a/this.a+this.long0,this.over),n=0;else{o=this.lat0+i/this.a,s=a*a/this.a/this.a+o*o,u=o;var h;for(r=Jh;r;--r)if(h=Math.tan(u),m=-1*(o*(u*h+1)-u-.5*(u*u+s)*h)/((u-o)/h-1),u+=m,Math.abs(m)<=_1){n=u;break}e=P1(this.long0+Math.asin(a*Math.tan(u)/this.a)/Math.sin(n),this.over)}else if(Math.abs(i+this.ml0)<=_1)n=0,e=P1(this.long0+a/this.a,this.over);else{o=(this.ml0+i)/this.a,s=a*a/this.a/this.a+o*o,u=o;var p,g,b,F,H;for(r=Jh;r;--r)if(H=this.e*Math.sin(u),p=Math.sqrt(1-H*H)*Math.tan(u),g=this.a*Kt(this.e0,this.e1,this.e2,this.e3,u),b=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),F=g/this.a,m=(o*(p*F+1)-F-.5*p*(F*F+s))/(this.es*Math.sin(2*u)*(F*F+s-2*o*F)/(4*p)+(o-F)*(p*b-2/Math.sin(2*u))-b),u-=m,Math.abs(m)<=_1){n=u;break}p=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=P1(this.long0+Math.asin(a*p/this.a)/Math.sin(n),this.over)}return t.x=e,t.y=n,t}var HG=["Polyconic","American_Polyconic","poly"];const KG={init:$G,forward:WG,inverse:VG,names:HG};function qG(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function JG(t){var e,n=t.x,a=t.y,i=a-this.lat0,r=n-this.long0,o=i/ua*1e-5,s=r,u=1,m=0;for(e=1;e<=10;e++)u=u*o,m=m+this.A[e]*u;var h=m,p=s,g=1,b=0,F,H,K=0,e2=0;for(e=1;e<=6;e++)F=g*h-b*p,H=b*h+g*p,g=F,b=H,K=K+this.B_re[e]*g-this.B_im[e]*b,e2=e2+this.B_im[e]*g+this.B_re[e]*b;return t.x=e2*this.a+this.x0,t.y=K*this.a+this.y0,t}function QG(t){var e,n=t.x,a=t.y,i=n-this.x0,r=a-this.y0,o=r/this.a,s=i/this.a,u=1,m=0,h,p,g=0,b=0;for(e=1;e<=6;e++)h=u*o-m*s,p=m*o+u*s,u=h,m=p,g=g+this.C_re[e]*u-this.C_im[e]*m,b=b+this.C_im[e]*u+this.C_re[e]*m;for(var F=0;F.999999999999&&(n=.999999999999),e=Math.asin(n);var a=P1(this.long0+t.x/(.900316316158*this.a*Math.cos(e)),this.over);a<-Math.PI&&(a=-Math.PI),a>Math.PI&&(a=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var i=Math.asin(n);return t.x=a,t.y=i,t}var yU=["Mollweide","moll"];const vU={init:mU,forward:pU,inverse:gU,names:yU};function SU(){Math.abs(this.lat1+this.lat2)<_1||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Wa(this.es),this.e1=Va(this.es),this.e2=Ha(this.es),this.e3=Ka(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=$6(this.e,this.sin_phi,this.cos_phi),this.ml1=Kt(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<_1?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=$6(this.e,this.sin_phi,this.cos_phi),this.ml2=Kt(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Kt(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function wU(t){var e=t.x,n=t.y,a;if(this.sphere)a=this.a*(this.g-n);else{var i=Kt(this.e0,this.e1,this.e2,this.e3,n);a=this.a*(this.g-i)}var r=this.ns*P1(e-this.long0,this.over),o=this.x0+a*Math.sin(r),s=this.y0+this.rh-a*Math.cos(r);return t.x=o,t.y=s,t}function bU(t){t.x-=this.x0,t.y=this.rh-t.y+this.y0;var e,n,a,i;this.ns>=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var r=0;if(n!==0&&(r=Math.atan2(e*t.x,e*t.y)),this.sphere)return i=P1(this.long0+r/this.ns,this.over),a=X5(this.g-n/this.a),t.x=i,t.y=a,t;var o=this.g-n/this.a;return a=pr(o,this.e0,this.e1,this.e2,this.e3),i=P1(this.long0+r/this.ns,this.over),t.x=i,t.y=a,t}var TU=["Equidistant_Conic","eqdc"];const CU={init:SU,forward:wU,inverse:bU,names:TU};function AU(){this.R=this.a}function xU(t){var e=t.x,n=t.y,a=P1(e-this.long0,this.over),i,r;Math.abs(n)<=_1&&(i=this.x0+this.R*a,r=this.y0);var o=q5(2*Math.abs(n/Math.PI));(Math.abs(a)<=_1||Math.abs(Math.abs(n)-c1)<=_1)&&(i=this.x0,n>=0?r=this.y0+Math.PI*this.R*Math.tan(.5*o):r=this.y0+Math.PI*this.R*-Math.tan(.5*o));var s=.5*Math.abs(Math.PI/a-a/Math.PI),u=s*s,m=Math.sin(o),h=Math.cos(o),p=h/(m+h-1),g=p*p,b=p*(2/m-1),F=b*b,H=Math.PI*this.R*(s*(p-F)+Math.sqrt(u*(p-F)*(p-F)-(F+u)*(g-F)))/(F+u);a<0&&(H=-H),i=this.x0+H;var K=u+p;return H=Math.PI*this.R*(b*K-s*Math.sqrt((F+u)*(u+1)-K*K))/(F+u),n>=0?r=this.y0+H:r=this.y0-H,t.x=i,t.y=r,t}function _U(t){var e,n,a,i,r,o,s,u,m,h,p,g,b;return t.x-=this.x0,t.y-=this.y0,p=Math.PI*this.R,a=t.x/p,i=t.y/p,r=a*a+i*i,o=-Math.abs(i)*(1+r),s=o-2*i*i+a*a,u=-2*o+1+2*i*i+r*r,b=i*i/u+(2*s*s*s/u/u/u-9*o*s/u/u)/27,m=(o-s*s/3/u)/u,h=2*Math.sqrt(-m/3),p=3*b/m/h,Math.abs(p)>1&&(p>=0?p=1:p=-1),g=Math.acos(p)/3,t.y>=0?n=(-h*Math.cos(g+Math.PI/3)-s/3/u)*Math.PI:n=-(-h*Math.cos(g+Math.PI/3)-s/3/u)*Math.PI,Math.abs(a)<_1?e=this.long0:e=P1(this.long0+Math.PI*(r-1+Math.sqrt(1+2*(a*a-i*i)+r*r))/2/a,this.over),t.x=e,t.y=n,t}var MU=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"];const PU={init:AU,forward:xU,inverse:_U,names:MU};function kU(t,e,n,a,i,r){const o=a-e,s=Math.atan((1-r)*Math.tan(t)),u=Math.atan((1-r)*Math.tan(n)),m=Math.sin(s),h=Math.cos(s),p=Math.sin(u),g=Math.cos(u);let b=o,F,H=100,K,e2,p2,v2,A2,_2,q2,K2,$2,c3,p3,y3,z3,S3;do{if(K=Math.sin(b),e2=Math.cos(b),p2=Math.sqrt(g*K*(g*K)+(h*p-m*g*e2)*(h*p-m*g*e2)),p2===0)return{azi1:0,s12:0};v2=m*p+h*g*e2,A2=Math.atan2(p2,v2),_2=h*g*K/p2,q2=1-_2*_2,K2=q2!==0?v2-2*m*p/q2:0,$2=r/16*q2*(4+r*(4-3*q2)),F=b,b=o+(1-$2)*r*_2*(A2+$2*p2*(K2+$2*v2*(-1+2*K2*K2)))}while(Math.abs(b-F)>1e-12&&--H>0);return H===0?{azi1:NaN,s12:NaN}:(c3=q2*(i*i-i*(1-r)*(i*(1-r)))/(i*(1-r)*(i*(1-r))),p3=1+c3/16384*(4096+c3*(-768+c3*(320-175*c3))),y3=c3/1024*(256+c3*(-128+c3*(74-47*c3))),z3=y3*p2*(K2+y3/4*(v2*(-1+2*K2*K2)-y3/6*K2*(-3+4*p2*p2)*(-3+4*K2*K2))),S3=i*(1-r)*p3*(A2-z3),{azi1:Math.atan2(g*K,h*p-m*g*e2),s12:S3})}function EU(t,e,n,a,i,r){const o=Math.atan((1-r)*Math.tan(t)),s=Math.sin(o),u=Math.cos(o),m=Math.sin(n),h=Math.cos(n),p=Math.atan2(s,u*h),g=u*m,b=1-g*g,F=b*(i*i-i*(1-r)*(i*(1-r)))/(i*(1-r)*(i*(1-r))),H=1+F/16384*(4096+F*(-768+F*(320-175*F))),K=F/1024*(256+F*(-128+F*(74-47*F)));let e2=a/(i*(1-r)*H),p2,v2=100,A2,_2,q2,K2;do A2=Math.cos(2*p+e2),_2=Math.sin(e2),q2=Math.cos(e2),K2=K*_2*(A2+K/4*(q2*(-1+2*A2*A2)-K/6*A2*(-3+4*_2*_2)*(-3+4*A2*A2))),p2=e2,e2=a/(i*(1-r)*H)+K2;while(Math.abs(e2-p2)>1e-12&&--v2>0);if(v2===0)return{lat2:NaN,lon2:NaN};const $2=s*_2-u*q2*h,c3=Math.atan2(s*q2+u*_2*h,(1-r)*Math.sqrt(g*g+$2*$2)),p3=Math.atan2(_2*m,u*q2-s*_2*h),y3=r/16*b*(4+r*(4-3*b)),z3=p3-(1-y3)*r*g*(e2+y3*_2*(A2+y3*q2*(-1+2*A2*A2))),S3=e+z3;return{lat2:c3,lon2:S3}}function NU(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function RU(t){var e=t.x,n=t.y,a=Math.sin(t.y),i=Math.cos(t.y),r=P1(e-this.long0,this.over),o,s,u,m,h,p,g,b,F,H,K;return this.sphere?Math.abs(this.sin_p12-1)<=_1?(t.x=this.x0+this.a*(c1-n)*Math.sin(r),t.y=this.y0-this.a*(c1-n)*Math.cos(r),t):Math.abs(this.sin_p12+1)<=_1?(t.x=this.x0+this.a*(c1+n)*Math.sin(r),t.y=this.y0+this.a*(c1+n)*Math.cos(r),t):(F=this.sin_p12*a+this.cos_p12*i*Math.cos(r),g=Math.acos(F),b=g?g/Math.sin(g):1,t.x=this.x0+this.a*b*i*Math.sin(r),t.y=this.y0+this.a*b*(this.cos_p12*a-this.sin_p12*i*Math.cos(r)),t):(o=Wa(this.es),s=Va(this.es),u=Ha(this.es),m=Ka(this.es),Math.abs(this.sin_p12-1)<=_1?(h=this.a*Kt(o,s,u,m,c1),p=this.a*Kt(o,s,u,m,n),t.x=this.x0+(h-p)*Math.sin(r),t.y=this.y0-(h-p)*Math.cos(r),t):Math.abs(this.sin_p12+1)<=_1?(h=this.a*Kt(o,s,u,m,c1),p=this.a*Kt(o,s,u,m,n),t.x=this.x0+(h+p)*Math.sin(r),t.y=this.y0+(h+p)*Math.cos(r),t):Math.abs(e)<_1&&Math.abs(n-this.lat0)<_1?(t.x=t.y=0,t):(H=kU(this.lat0,this.long0,n,e,this.a,this.f),K=H.azi1,t.x=H.s12*Math.sin(K),t.y=H.s12*Math.cos(K),t))}function LU(t){t.x-=this.x0,t.y-=this.y0;var e,n,a,i,r,o,s,u,m,h,p,g,b,F,H,K;return this.sphere?(e=Math.sqrt(t.x*t.x+t.y*t.y),e>2*c1*this.a?void 0:(n=e/this.a,a=Math.sin(n),i=Math.cos(n),r=this.long0,Math.abs(e)<=_1?o=this.lat0:(o=q5(i*this.sin_p12+t.y*a*this.cos_p12/e),s=Math.abs(this.lat0)-c1,Math.abs(s)<=_1?this.lat0>=0?r=P1(this.long0+Math.atan2(t.x,-t.y),this.over):r=P1(this.long0-Math.atan2(-t.x,t.y),this.over):r=P1(this.long0+Math.atan2(t.x*a,e*this.cos_p12*i-t.y*this.sin_p12*a),this.over)),t.x=r,t.y=o,t)):(u=Wa(this.es),m=Va(this.es),h=Ha(this.es),p=Ka(this.es),Math.abs(this.sin_p12-1)<=_1?(g=this.a*Kt(u,m,h,p,c1),e=Math.sqrt(t.x*t.x+t.y*t.y),b=g-e,o=pr(b/this.a,u,m,h,p),r=P1(this.long0+Math.atan2(t.x,-1*t.y),this.over),t.x=r,t.y=o,t):Math.abs(this.sin_p12+1)<=_1?(g=this.a*Kt(u,m,h,p,c1),e=Math.sqrt(t.x*t.x+t.y*t.y),b=e-g,o=pr(b/this.a,u,m,h,p),r=P1(this.long0+Math.atan2(t.x,t.y),this.over),t.x=r,t.y=o,t):(F=Math.atan2(t.x,t.y),H=Math.sqrt(t.x*t.x+t.y*t.y),K=EU(this.lat0,this.long0,F,H,this.a,this.f),t.x=K.lon2,t.y=K.lat2,t))}var IU=["Azimuthal_Equidistant","aeqd"];const FU={init:NU,forward:RU,inverse:LU,names:IU};function BU(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function DU(t){var e,n,a,i,r,o,s,u,m=t.x,h=t.y;return a=P1(m-(this.long0||0),this.over),e=Math.sin(h),n=Math.cos(h),i=Math.cos(a),o=this.sin_p14*e+this.cos_p14*n*i,r=1,(o>0||Math.abs(o)<=_1)&&(s=this.a*r*n*Math.sin(a),u=(this.y0||0)+this.a*r*(this.cos_p14*e-this.sin_p14*n*i)),t.x=s,t.y=u,t}function GU(t){var e,n,a,i,r,o,s,u,m;return t.x-=this.x0||0,t.y-=this.y0||0,e=Math.sqrt(t.x*t.x+t.y*t.y),n=q5(e/this.a),a=Math.sin(n),i=Math.cos(n),u=this.long0||0,m=this.lat0||0,o=u,Math.abs(e)<=_1?(s=m,t.x=o,t.y=s,t):(s=q5(i*this.sin_p14+t.y*a*this.cos_p14/e),r=Math.abs(m)-c1,Math.abs(r)<=_1?(m>=0?o=P1(u+Math.atan2(t.x,-t.y),this.over):o=P1(u-Math.atan2(-t.x,t.y),this.over),t.x=o,t.y=s,t):(o=P1(u+Math.atan2(t.x*a,e*this.cos_p14*i-t.y*this.sin_p14*a),this.over),t.x=o,t.y=s,t))}var UU=["ortho"];const OU={init:BU,forward:DU,inverse:GU,names:UU};var ze={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},fe={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function jU(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=c1-de/2?this.face=ze.TOP:this.lat0<=-(c1-de/2)?this.face=ze.BOTTOM:Math.abs(this.long0)<=de?this.face=ze.FRONT:Math.abs(this.long0)<=c1+de?this.face=this.long0>0?ze.RIGHT:ze.LEFT:this.face=ze.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function zU(t){var e={x:0,y:0},n,a,i,r,o,s,u={value:0};if(t.x-=this.long0,this.es!==0?n=Math.atan(this.one_minus_f_squared*Math.tan(t.y)):n=t.y,a=t.x,this.face===ze.TOP)r=c1-n,a>=de&&a<=c1+de?(u.value=fe.AREA_0,i=a-c1):a>c1+de||a<=-(c1+de)?(u.value=fe.AREA_1,i=a>0?a-Ze:a+Ze):a>-(c1+de)&&a<=-de?(u.value=fe.AREA_2,i=a+c1):(u.value=fe.AREA_3,i=a);else if(this.face===ze.BOTTOM)r=c1+n,a>=de&&a<=c1+de?(u.value=fe.AREA_0,i=-a+c1):a=-de?(u.value=fe.AREA_1,i=-a):a<-de&&a>=-(c1+de)?(u.value=fe.AREA_2,i=-a-c1):(u.value=fe.AREA_3,i=a>0?-a+Ze:-a-Ze);else{var m,h,p,g,b,F,H;this.face===ze.RIGHT?a=D8(a,+c1):this.face===ze.BACK?a=D8(a,+Ze):this.face===ze.LEFT&&(a=D8(a,-c1)),g=Math.sin(n),b=Math.cos(n),F=Math.sin(a),H=Math.cos(a),m=b*H,h=b*F,p=g,this.face===ze.FRONT?(r=Math.acos(m),i=xi(r,p,h,u)):this.face===ze.RIGHT?(r=Math.acos(h),i=xi(r,p,-m,u)):this.face===ze.BACK?(r=Math.acos(-m),i=xi(r,p,-h,u)):this.face===ze.LEFT?(r=Math.acos(-h),i=xi(r,p,m,u)):(r=i=0,u.value=fe.AREA_0)}return s=Math.atan(12/Ze*(i+Math.acos(Math.sin(i)*Math.cos(de))-c1)),o=Math.sqrt((1-Math.cos(r))/(Math.cos(s)*Math.cos(s))/(1-Math.cos(Math.atan(1/Math.cos(i))))),u.value===fe.AREA_1?s+=c1:u.value===fe.AREA_2?s+=Ze:u.value===fe.AREA_3&&(s+=1.5*Ze),e.x=o*Math.cos(s),e.y=o*Math.sin(s),e.x=e.x*this.a+this.x0,e.y=e.y*this.a+this.y0,t.x=e.x,t.y=e.y,t}function YU(t){var e={lam:0,phi:0},n,a,i,r,o,s,u,m,h,p={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,a=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),n=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?p.value=fe.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(p.value=fe.AREA_1,n-=c1):t.x<0&&-t.x>=Math.abs(t.y)?(p.value=fe.AREA_2,n=n<0?n+Ze:n-Ze):(p.value=fe.AREA_3,n+=c1),h=Ze/12*Math.tan(n),o=Math.sin(h)/(Math.cos(h)-1/Math.sqrt(2)),s=Math.atan(o),i=Math.cos(n),r=Math.tan(a),u=1-i*i*r*r*(1-Math.cos(Math.atan(1/Math.cos(s)))),u<-1?u=-1:u>1&&(u=1),this.face===ze.TOP)m=Math.acos(u),e.phi=c1-m,p.value===fe.AREA_0?e.lam=s+c1:p.value===fe.AREA_1?e.lam=s<0?s+Ze:s-Ze:p.value===fe.AREA_2?e.lam=s-c1:e.lam=s;else if(this.face===ze.BOTTOM)m=Math.acos(u),e.phi=m-c1,p.value===fe.AREA_0?e.lam=-s+c1:p.value===fe.AREA_1?e.lam=-s:p.value===fe.AREA_2?e.lam=-s-c1:e.lam=s<0?-s-Ze:-s+Ze;else{var g,b,F;g=u,h=g*g,h>=1?F=0:F=Math.sqrt(1-h)*Math.sin(s),h+=F*F,h>=1?b=0:b=Math.sqrt(1-h),p.value===fe.AREA_1?(h=b,b=-F,F=h):p.value===fe.AREA_2?(b=-b,F=-F):p.value===fe.AREA_3&&(h=b,b=F,F=-h),this.face===ze.RIGHT?(h=g,g=-b,b=h):this.face===ze.BACK?(g=-g,b=-b):this.face===ze.LEFT&&(h=g,g=b,b=-h),e.phi=Math.acos(-F)-c1,e.lam=Math.atan2(b,g),this.face===ze.RIGHT?e.lam=D8(e.lam,-c1):this.face===ze.BACK?e.lam=D8(e.lam,-Ze):this.face===ze.LEFT&&(e.lam=D8(e.lam,+c1))}if(this.es!==0){var H,K,e2;H=e.phi<0?1:0,K=Math.tan(e.phi),e2=this.b/Math.sqrt(K*K+this.one_minus_f_squared),e.phi=Math.atan(Math.sqrt(this.a*this.a-e2*e2)/(this.one_minus_f*e2)),H&&(e.phi=-e.phi)}return e.lam+=this.long0,t.x=e.lam,t.y=e.phi,t}function xi(t,e,n,a){var i;return t<_1?(a.value=fe.AREA_0,i=0):(i=Math.atan2(e,n),Math.abs(i)<=de?a.value=fe.AREA_0:i>de&&i<=c1+de?(a.value=fe.AREA_1,i-=c1):i>c1+de||i<=-(c1+de)?(a.value=fe.AREA_2,i=i>=0?i-Ze:i+Ze):(a.value=fe.AREA_3,i+=c1)),i}function D8(t,e){var n=t+e;return n<-Ze?n+=ka:n>+Ze&&(n-=ka),n}var $U=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const WU={init:jU,forward:zU,inverse:YU,names:$U};var Dl=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],ra=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Rg=.8487,Lg=1.3523,Ig=gn/5,VU=1/Ig,M8=18,gr=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))},HU=function(t,e){return t[1]+e*(2*t[2]+e*3*t[3])};function KU(t,e,n,a){for(var i=e;a;--a){var r=t(i);if(i-=r,Math.abs(r)=M8&&(a=M8-1),n=gn*(n-VU*a);var i={x:gr(Dl[a],n)*e,y:gr(ra[a],n)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*Rg+this.x0,i.y=i.y*this.a*Lg+this.y0,i}function QU(t){var e={x:(t.x-this.x0)/(this.a*Rg),y:Math.abs(t.y-this.y0)/(this.a*Lg)};if(e.y>=1)e.x/=Dl[M8][0],e.y=t.y<0?-c1:c1;else{var n=Math.floor(e.y*M8);for(n<0?n=0:n>=M8&&(n=M8-1);;)if(ra[n][0]>e.y)--n;else if(ra[n+1][0]<=e.y)++n;else break;var a=ra[n],i=5*(e.y-a[0])/(ra[n+1][0]-a[0]);i=KU(function(r){return(gr(a,r)-e.y)/HU(a,r)},i,_1,100),e.x/=gr(Dl[n],i),e.y=(5*n+i)*Ve,t.y<0&&(e.y=-e.y)}return e.x=P1(e.x+this.long0,this.over),e}var XU=["Robinson","robin"];const ZU={init:qU,forward:JU,inverse:QU,names:XU};function eO(){this.name="geocent"}function tO(t){var e=vg(t,this.es,this.a);return e}function nO(t){var e=Sg(t,this.es,this.a,this.b);return e}var aO=["Geocentric","geocentric","geocent","Geocent"];const iO={init:eO,forward:tO,inverse:nO,names:aO};var Bt={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},H4={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function rO(){if(Object.keys(H4).forEach(function(n){if(typeof this[n]=="undefined")this[n]=H4[n].def;else{if(H4[n].num&&isNaN(this[n]))throw new Error("Invalid parameter value, must be numeric "+n+" = "+this[n]);H4[n].num&&(this[n]=parseFloat(this[n]))}H4[n].degrees&&(this[n]=this[n]*Ve)}.bind(this)),Math.abs(Math.abs(this.lat0)-c1)<_1?this.mode=this.lat0<0?Bt.S_POLE:Bt.N_POLE:Math.abs(this.lat0)<_1?this.mode=Bt.EQUIT:(this.mode=Bt.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var t=this.tilt,e=this.azi;this.cg=Math.cos(e),this.sg=Math.sin(e),this.cw=Math.cos(t),this.sw=Math.sin(t)}function oO(t){t.x-=this.long0;var e=Math.sin(t.y),n=Math.cos(t.y),a=Math.cos(t.x),i,r;switch(this.mode){case Bt.OBLIQ:r=this.sinph0*e+this.cosph0*n*a;break;case Bt.EQUIT:r=n*a;break;case Bt.S_POLE:r=-e;break;case Bt.N_POLE:r=e;break}switch(r=this.pn1/(this.p-r),i=r*n*Math.sin(t.x),this.mode){case Bt.OBLIQ:r*=this.cosph0*e-this.sinph0*n*a;break;case Bt.EQUIT:r*=e;break;case Bt.N_POLE:r*=-(n*a);break;case Bt.S_POLE:r*=n*a;break}var o,s;return o=r*this.cg+i*this.sg,s=1/(o*this.sw*this.h1+this.cw),i=(i*this.cg-r*this.sg)*this.cw*s,r=o*s,t.x=i*this.a,t.y=r*this.a,t}function sO(t){t.x/=this.a,t.y/=this.a;var e={x:t.x,y:t.y},n,a,i;i=1/(this.pn1-t.y*this.sw),n=this.pn1*t.x*i,a=this.pn1*t.y*this.cw*i,t.x=n*this.cg+a*this.sg,t.y=a*this.cg-n*this.sg;var r=hn(t.x,t.y);if(Math.abs(r)<_1)e.x=0,e.y=t.y;else{var o,s;switch(s=1-r*r*this.pfact,s=(this.p-Math.sqrt(s))/(this.pn1/r+r/this.pn1),o=Math.sqrt(1-s*s),this.mode){case Bt.OBLIQ:e.y=Math.asin(o*this.sinph0+t.y*s*this.cosph0/r),t.y=(o-this.sinph0*Math.sin(e.y))*r,t.x*=s*this.cosph0;break;case Bt.EQUIT:e.y=Math.asin(t.y*s/r),t.y=o*r,t.x*=s;break;case Bt.N_POLE:e.y=Math.asin(o),t.y=-t.y;break;case Bt.S_POLE:e.y=-Math.asin(o);break}e.x=Math.atan2(t.x,t.y)}return t.x=e.x+this.long0,t.y=e.y,t}var lO=["Tilted_Perspective","tpers"];const uO={init:rO,forward:oO,inverse:sO,names:lO};function cO(){if(this.flip_axis=this.sweep==="x"?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function dO(t){var e=t.x,n=t.y,a,i,r,o;if(e=e-this.long0,this.shape==="ellipse"){n=Math.atan(this.radius_p2*Math.tan(n));var s=this.radius_p/hn(this.radius_p*Math.cos(n),Math.sin(n));if(i=s*Math.cos(e)*Math.cos(n),r=s*Math.sin(e)*Math.cos(n),o=s*Math.sin(n),(this.radius_g-i)*i-r*r-o*o*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;a=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/hn(o,a)),t.y=this.radius_g_1*Math.atan(o/a)):(t.x=this.radius_g_1*Math.atan(r/a),t.y=this.radius_g_1*Math.atan(o/hn(r,a)))}else this.shape==="sphere"&&(a=Math.cos(n),i=Math.cos(e)*a,r=Math.sin(e)*a,o=Math.sin(n),a=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/hn(o,a)),t.y=this.radius_g_1*Math.atan(o/a)):(t.x=this.radius_g_1*Math.atan(r/a),t.y=this.radius_g_1*Math.atan(o/hn(r,a))));return t.x=t.x*this.a,t.y=t.y*this.a,t}function fO(t){var e=-1,n=0,a=0,i,r,o,s;if(t.x=t.x/this.a,t.y=t.y/this.a,this.shape==="ellipse"){this.flip_axis?(a=Math.tan(t.y/this.radius_g_1),n=Math.tan(t.x/this.radius_g_1)*hn(1,a)):(n=Math.tan(t.x/this.radius_g_1),a=Math.tan(t.y/this.radius_g_1)*hn(1,n));var u=a/this.radius_p;if(i=n*n+u*u+e*e,r=2*this.radius_g*e,o=r*r-4*i*this.C,o<0)return t.x=Number.NaN,t.y=Number.NaN,t;s=(-r-Math.sqrt(o))/(2*i),e=this.radius_g+s*e,n*=s,a*=s,t.x=Math.atan2(n,e),t.y=Math.atan(a*Math.cos(t.x)/e),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y))}else if(this.shape==="sphere"){if(this.flip_axis?(a=Math.tan(t.y/this.radius_g_1),n=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+a*a)):(n=Math.tan(t.x/this.radius_g_1),a=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+n*n)),i=n*n+a*a+e*e,r=2*this.radius_g*e,o=r*r-4*i*this.C,o<0)return t.x=Number.NaN,t.y=Number.NaN,t;s=(-r-Math.sqrt(o))/(2*i),e=this.radius_g+s*e,n*=s,a*=s,t.x=Math.atan2(n,e),t.y=Math.atan(a*Math.cos(t.x)/e)}return t.x=t.x+this.long0,t}var hO=["Geostationary Satellite View","Geostationary_Satellite","geos"];const mO={init:cO,forward:dO,inverse:fO,names:hO};var ca=1.340264,da=-.081106,fa=893e-6,ha=.003796,yr=Math.sqrt(3)/2;function pO(){this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.es!==0&&(this.apa=Pg(this.es),this.qp=z6(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function gO(t){var e=P1(t.x-this.long0,this.over),n=t.y,a=Math.sin(n);this.es!==0&&(a=z6(this.e,a)/this.qp);var i=Math.asin(yr*a),r=i*i,o=r*r*r;return t.x=e*Math.cos(i)/(yr*(ca+3*da*r+o*(7*fa+9*ha*r))),t.y=i*(ca+da*r+o*(fa+ha*r)),this.es!==0&&(t.x*=this.rqda,t.y*=this.rqda),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function yO(t){t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,this.es!==0&&(t.x/=this.rqda,t.y/=this.rqda);var e=1e-9,n=12,a=t.y,i,r,o,s,u,m;for(m=0;m=c1?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=AO,this.forward=CO)}function bO(t){var e=P1(t.x-(this.long0||0),this.over),n=t.y,a,i,r;return a=this.am1+this.m1-t4(n,i=Math.sin(n),r=Math.cos(n),this.en),i=r*e/(a*Math.sqrt(1-this.es*i*i)),t.x=a*Math.sin(i),t.y=this.am1-a*Math.cos(i),t.x=this.a*t.x+(this.x0||0),t.y=this.a*t.y+(this.y0||0),t}function TO(t){t.x=(t.x-(this.x0||0))/this.a,t.y=(t.y-(this.y0||0))/this.a;var e,n,a,i;if(n=hn(t.x,t.y=this.am1-t.y),i=Au(this.am1+this.m1-n,this.es,this.en),(e=Math.abs(i))Ra?(t.x=i*Math.sin(a=e*Math.cos(n)/i),t.y=this.cphi1-i*Math.cos(a)):t.x=t.y=0,t.x=this.a*t.x+(this.x0||0),t.y=this.a*t.y+(this.y0||0),t}function AO(t){t.x=(t.x-(this.x0||0))/this.a,t.y=(t.y-(this.y0||0))/this.a;var e,n,a=hn(t.x,t.y=this.cphi1-t.y);if(n=this.cphi1+this.phi1-a,Math.abs(n)>c1)throw new Error;return Math.abs(Math.abs(n)-c1)<=Ra?e=0:e=a*Math.atan2(t.x,t.y)/Math.cos(n),t.x=P1(e+(this.long0||0),this.over),t.y=X5(n),t}var xO=["bonne","Bonne (Werner lat_1=90)"];const _O={init:wO,names:xO},Qh={OBLIQUE:{forward:NO,inverse:LO},TRANSVERSE:{forward:RO,inverse:IO}},vr={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};function MO(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=mg.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);const t=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),e=Jn(t);if(!e)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);e.long0=0,this.obliqueProjection=e;let n;const a=Object.keys(vr),i=s=>{if(typeof this[s]=="undefined")return;const u=parseFloat(this[s])*Ve;if(isNaN(u))throw new Error("Invalid value for "+s+": "+this[s]);return u};for(let s=0;stypeof this[g]!="undefined")){n=m;for(let g=0;g_1?(this.cphip=Math.cos(o),this.sphip=Math.sin(o),this.projectionType=Qh.OBLIQUE):this.projectionType=Qh.TRANSVERSE}function PO(t){return this.projectionType.forward(this,t)}function kO(t){return this.projectionType.inverse(this,t)}function EO(t,e){let n,a;if(e===vr.ROTATE){let i=t.oLongC,r=t.oLatC,o=t.oAlpha;if(Math.abs(Math.abs(r)-c1)<=_1)throw new Error("Invalid value for o_lat_c: "+t.o_lat_c+" should be < 90°");a=i+Math.atan2(-1*Math.cos(o),-1*Math.sin(o)*Math.sin(r)),n=Math.asin(Math.cos(r)*Math.sin(o))}else if(e===vr.NEW_POLE)a=t.oLongP,n=t.oLatP;else{let i=t.oLong1,r=t.oLat1,o=t.oLong2,s=t.oLat2,u=Math.abs(r);if(Math.abs(r)>c1-_1)throw new Error("Invalid value for o_lat_1: "+t.o_lat_1+" should be < 90°");if(Math.abs(s)>c1-_1)throw new Error("Invalid value for o_lat_2: "+t.o_lat_2+" should be < 90°");if(Math.abs(r-s)<_1)throw new Error("Invalid value for o_lat_1 and o_lat_2: o_lat_1 should be different from o_lat_2");if(u<_1)throw new Error("Invalid value for o_lat_1: o_lat_1 should be different from zero");a=Math.atan2(Math.cos(r)*Math.sin(s)*Math.cos(i)-Math.sin(r)*Math.cos(s)*Math.cos(o),Math.sin(r)*Math.cos(s)*Math.sin(o)-Math.cos(r)*Math.sin(s)*Math.sin(i)),n=Math.atan(-1*Math.cos(a-i)/Math.tan(r))}return{lamp:a,phip:n}}function NO(t,e){let{x:n,y:a}=e;n=P1(n-t.long0,t.over);const i=Math.cos(n),r=Math.sin(a),o=Math.cos(a);e.x=P1(Math.atan2(o*Math.sin(n),t.sphip*o*i+t.cphip*r)+t.lamp),e.y=Math.asin(t.sphip*r-t.cphip*o*i);const s=t.obliqueProjection.forward(e);return t.isIdentity&&(s.x*=gn,s.y*=gn),s}function RO(t,e){let{x:n,y:a}=e;n=P1(n-t.long0,t.over);const i=Math.cos(a),r=Math.cos(n);e.x=P1(Math.atan2(i*Math.sin(n),Math.sin(a))+t.lamp),e.y=Math.asin(-1*i*r);const o=t.obliqueProjection.forward(e);return t.isIdentity&&(o.x*=gn,o.y*=gn),o}function LO(t,e){t.isIdentity&&(e.x*=Ve,e.y*=Ve);const n=t.obliqueProjection.inverse(e);let{x:a,y:i}=n;if(anew DecompressionStream("deflate-raw"),e=n=>new Response(n);t(),Fg=n=>e(e(n).body.pipeThrough(t())).arrayBuffer().then(a=>new Uint8Array(a))}catch(t){}var Fg,Xh=new TextDecoder,zs=t=>{throw Error("but-unzip~"+t)};function*GO(t,e=Fg){let n=t.length-21,a=n-65536,i=new DataView(t.buffer,t.byteOffset),r=u=>i.getUint16(u+n,1),o=u=>i.getUint32(u+n,1),s=(u,m)=>t.subarray(n+=u,n+=m);for(;n>a&&(n=t.lastIndexOf(80,n-1))+1&&(t[n+1]-75||t[n+2]-5||t[n+3]-6););for(n<0&&zs(2),a=r(10),a-r(8)&&zs(3),n=o(16);a--;){let u=r(10),m=r(28),h=r(30),p=r(32),g=o(20),b=o(42),F=Xh.decode(s(46,m)),H=Xh.decode(s(h,p)),K=n,e2;n=b,e2=s(30+r(26)+r(28),g),yield{filename:F,comment:H,read:()=>u-8?u?zs(1):e2:e(e2)},n=K}}const UO=/.+\.(shp|dbf|json|prj|cpg)$/i,OO=t=>k3(void 0,null,function*(){const e={},n=[];for(const r of GO(t))UO.test(r.filename)&&n.push(Promise.resolve(r.read()).then(o=>e[r.filename]=o));yield Promise.all(n);const a={},i=new TextDecoder;for(const[r,o]of Object.entries(e))r.slice(-3).toLowerCase()==="shp"||r.slice(-3).toLowerCase()==="dbf"?a[r]=new DataView(o.buffer,o.byteOffset,o.byteLength):a[r]=i.decode(o);return a}),jO=globalThis.URL,zO=(t,e)=>{if(!e)return t;const n=new jO(t);return n.pathname=`${n.pathname}.${e}`,n.href};function La(t,e){return k3(this,null,function*(){const n=zO(t,e),a=e==="prj"||e==="cpg";try{const i=yield fetch(n);if(i.status>399)throw new Error(i.statusText);if(a)return i.text();const r=yield i.arrayBuffer();return new DataView(r)}catch(i){if(a||e==="dbf")return!1;throw i}})}function YO(t){let e=0,n=1;const a=t.length;let i,r;const o=[t[0][0],t[0][1],t[0][0],t[0][1]];for(;no[2]&&(o[2]=r[0]),r[1]>o[3]&&(o[3]=r[1]);return{ring:t,clockWise:e>0,bbox:o,children:[]}}function Zh(t,e){return!(t.bbox[0]>e.bbox[0]||t.bbox[1]>e.bbox[1]||t.bbox[2]m.toReversed())));return s}}const r=[];for(const o of n)r.push([o.ring].concat(o.children));return r}at.prototype.parsePoint=function(t){return{type:"Point",coordinates:this.parseCoord(t,0)}};at.prototype.parseZPoint=function(t){const e=this.parsePoint(t);return e.coordinates.push(t.getFloat64(16,!0)),e};at.prototype.parsePointArray=function(t,e,n){const a=[];let i=0;for(;i20&&(e-=20),!(e in em))throw new Error(`I don't know shp type "${e}"`);this.parseFunc=this[em[e]],this.parseCoord=$O(t)};at.prototype.getShpCode=function(){return this.parseHeader().shpCode};at.prototype.parseHeader=function(){const t=this.buffer;return{length:t.getInt32(24)<<1,version:t.getInt32(28,!0),shpCode:t.getInt32(32,!0),bbox:[t.getFloat64(36,!0),t.getFloat64(44,!0),t.getFloat64(52,!0),t.getFloat64(60,!0)]}};at.prototype.getRows=function(){let t=100;const e=this.buffer.byteLength-8,n=[];let a;for(;t<=e&&(a=this.getRow(t),!!a);)t+=8,t+=a.len,a.type?n.push(this.parseFunc(a.data)):n.push(null);return n};at.prototype.getRow=function(t){const e=this.buffer.getInt32(t),n=this.buffer.getInt32(t+4)<<1;if(n===0)return{id:e,len:n,type:0};if(!(t+n+8>this.buffer.byteLength))return{id:e,len:n,data:new DataView(this.buffer.buffer,this.buffer.byteOffset+t+12,n-4),type:this.buffer.getInt32(t+8,!0)}};function Eu(t,e){return new at(t,e).rows}var WO=/^(?:ANSI\s)?(\d+)$/m;function Dg(t,e){if(!t)return a;try{new TextDecoder(t.trim())}catch(i){var n=WO.exec(t);return n&&!e?Dg("windows-"+n[1],!0):(t=void 0,a)}return a;function a(i){var r=new TextDecoder(t||void 0),o=r.decode(i,{stream:!0})+r.decode();return o.replace(/\0/g,"").trim()}}function VO(t){var e={};return e.lastUpdated=new Date(t.getUint8(1)+1900,t.getUint8(2),t.getUint8(3)),e.records=t.getUint32(4,!0),e.headerLen=t.getUint16(8,!0),e.recLen=t.getUint16(10,!0),e}function HO(t,e,n){for(var a=[],i=32;i{if(!t)throw new Error("forgot to pass buffer");if(H8(t))return new Uint8Array(t);if(H8(t.buffer))return t.BYTES_PER_ELEMENT===1?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("invalid buffer like object")},XO=new TextDecoder,Gg=t=>{if(t){if(typeof t=="string")return t;if(H8(t)||ArrayBuffer.isView(t)||Ru(t))return XO.decode(t)}},Ug=t=>{if(!t)throw new Error("forgot to pass buffer");if(Ru(t))return t;if(H8(t))return new DataView(t);if(H8(t.buffer))return new DataView(t.buffer,t.byteOffset,t.byteLength);throw new Error("invalid buffer like object")};function H8(t){return t instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(t)==="[object ArrayBuffer]"}function Ru(t){return t instanceof globalThis.DataView||Object.prototype.toString.call(t)==="[object DataView]"}const Lu=function([t,e]){const n={};n.type="FeatureCollection",n.features=[];let a=0;const i=t.length;for(e||(e=[]);a-1?i.push(n.slice(0,-3)+n.slice(-3).toLowerCase()):(n.slice(-4).toLowerCase()===".dbf"||n.slice(-4).toLowerCase()===".cpg")&&(a[n.slice(0,-3)+n.slice(-3).toLowerCase()]=a[n]));if(!i.length)throw new Error("no layers founds");const r=i.map(function(o){let s,u;const m=o.lastIndexOf(".");return m>-1&&o.slice(m).indexOf("json")>-1?(s=JSON.parse(a[o]),s.fileName=o.slice(0,m)):e.indexOf(o.slice(m+1))>-1?(s=a[o],s.fileName=o):(a[o+".dbf"]&&(u=Nu(a[o+".dbf"],a[o+".cpg"])),s=Lu([Eu(a[o+".shp"],a[o+".prj"]),u]),s.fileName=o),s});return r.length===1?r[0]:r})};function ZO(t,e){return k3(this,null,function*(){const n=yield La(t);return Og(n,e)})}const ej=t=>k3(void 0,null,function*(){const e=yield Promise.all([La(t,"shp"),La(t,"prj")]);let n=!1;try{e[1]&&(n=Yr(e[1]))}catch(a){n=!1}return Eu(e[0],n)}),tj=t=>k3(void 0,null,function*(){const[e,n]=yield Promise.all([La(t,"dbf"),La(t,"cpg")]);if(e)return Nu(e,n)}),tm=(t,e)=>{var a;return new JO(t,(a=globalThis==null?void 0:globalThis.document)==null?void 0:a.location).pathname.slice(-4).toLowerCase()===e},nj=({shp:t,dbf:e,cpg:n,prj:a})=>{const i=[ij(t,a)];return e&&i.push(rj(e,n)),Lu(i)},aj=function(t,e){return k3(this,null,function*(){if(typeof t!="string"){if(H8(t)||ArrayBuffer.isView(t)||Ru(t))return Og(t);if(t.shp)return nj(t);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(tm(t,".zip"))return ZO(t,e);tm(t,".shp")&&(t=t.slice(0,-4));const n=yield Promise.all([ej(t),tj(t)]);return Lu(n)})},ij=function(t,e){if(t=Ug(t),e=Gg(e),typeof e=="string")try{e=Yr(e)}catch(n){e=!1}return Eu(t,e)},rj=function(t,e){return t=Ug(t),e=Gg(e),Nu(t,e)};const oj={class:"engineering-analysis-panel"},sj={class:"analysis-card analysis-workbench"},lj={class:"analysis-card-head"},uj={key:0},cj=["disabled"],dj=["disabled"],fj={key:1,class:"analysis-drawing-stage"},hj={class:"analysis-point-count"},mj=["disabled"],pj=["disabled"],gj={key:2,class:"analysis-boundary-bar"},yj={key:0,class:"analysis-card analysis-result"},vj={class:"analysis-card-head"},Sj={class:"analysis-conclusion-head"},wj={class:"analysis-conclusion-tags"},bj={key:0,class:"analysis-empty is-success"},Tj={key:1,class:"analysis-project-list"},Cj=["onPointerup"],Aj={class:"analysis-project-name"},xj={class:"analysis-project-meta"},_j={__name:"EngineeringAnalysisPanel",props:{drawingPointCount:{type:Number,default:0}},emits:["drawing-change","finish-drawing","undo-point","clear-boundary","analysis-result","focus-project"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=t3(!1),o=t3(null),s=t3([]),u=t3([]),m=t3(""),h=t3("idle"),p=t3([]);let g=null;const b=l2(()=>{var G3;const O2=u.value.length,Y2=s.value.length,s3=s.value.reduce((i1,N1)=>i1+Number(N1.overlapAreaWanMu||0),0);return{boundaryAreaWanMu:U1((G3=o.value)==null?void 0:G3.geometry),featureCount:O2,projectCount:Y2,overlapAreaWanMu:s3}}),F=l2(()=>m.value?m.value:h.value==="loading"?"项目库加载中":h.value==="error"?"项目库加载失败":""),H=l2(()=>o.value?s.value.length?"已发现建设记录":"未发现建设记录":"未分析"),K=l2(()=>r.value&&a.drawingPointCount>=3),e2=l2(()=>{if(!o.value)return{levelClass:"",verdict:"",summary:"",tags:[],advice:""};if(!s.value.length)return{levelClass:"is-clear",verdict:"未发现建设记录",summary:"该边界范围暂未与项目库中的已建设工程形成空间叠加。",tags:[`分析范围 ${P3(b.value.boundaryAreaWanMu)} 万亩`,"项目库未命中"],advice:"可进入新增工程选址论证,仍需结合保护红线、审批台账和现场踏勘复核。"};const O2=j3(s.value),Y2=q3(s.value),s3=[...s.value].sort((N1,q1)=>Number(q1.overlapAreaWanMu||0)-Number(N1.overlapAreaWanMu||0))[0],G3=H3(b.value.overlapAreaWanMu),i1=s.value.length>=6||b.value.overlapAreaWanMu>=1?"存在建设叠加":"存在局部叠加";return{levelClass:s.value.length>=6?"is-heavy":"is-hit",verdict:i1,summary:`该边界命中 ${s.value.length} 个历史项目,叠加约 ${G3} 亩,项目类型以${O2.name}为主,年份集中在 ${Y2}。`,tags:[`主类型 ${O2.name}`,`年份 ${Y2}`,`最大叠加 ${H3(s3==null?void 0:s3.overlapAreaWanMu)} 亩`],advice:`重点复核“${e0(s3==null?void 0:s3.projectName)}”(${(s3==null?void 0:s3.year)||"未知"},${(s3==null?void 0:s3.category)||"未知类型"})与拟建范围的重合边界。`}});Ln(()=>{z3().catch(()=>{})});function p2(O2){return k3(this,null,function*(){var s3;const Y2=(s3=O2.target.files)==null?void 0:s3[0];if(O2.target.value="",!!Y2){m.value="";try{const G3=yield v2(Y2);r.value&&(r.value=!1,i("drawing-change",!1)),i("clear-boundary"),yield y3(G3)}catch(G3){m.value="边界文件解析失败"}}})}function v2(O2){return k3(this,null,function*(){const Y2=String(O2.name||"").toLowerCase();if(Y2.endsWith(".json")||Y2.endsWith(".geojson"))return A2(JSON.parse(yield O2.text()));if(Y2.endsWith(".zip")){const s3=yield aj(yield O2.arrayBuffer());return A2(s3)}throw new Error("unsupported file")})}function A2(O2){const Y2=I3(O2).filter(s3=>G1(s3==null?void 0:s3.geometry));if(Y2.length)return A3(Y2);throw new Error("no polygon")}function _2(){r.value||(m.value="",r.value=!0,o.value=null,s.value=[],u.value=[],i("analysis-result",{boundary:null,matches:[],rows:[],summary:b.value}),i("drawing-change",!0))}function q2(){r.value&&(r.value=!1,i("clear-boundary"),i("analysis-result",{boundary:null,matches:[],rows:[],summary:b.value}))}function K2(){K.value&&i("finish-drawing")}function $2(){i("undo-point")}function c3(){r.value=!1,o.value=null,s.value=[],u.value=[],m.value="",i("clear-boundary"),i("analysis-result",{boundary:null,matches:[],rows:[],summary:b.value})}function p3(O2){O2!=null&&O2.geometry&&(r.value=!1,y3(O2))}function y3(O2){return k3(this,null,function*(){o.value=O2,u.value=[],s.value=[];let Y2=[];try{const s3=yield z3();Y2=a1(O2,s3),u.value=Y2,s.value=C1(Y2)}catch(s3){m.value="项目库加载失败"}i("analysis-result",{boundary:O2,matches:Y2,rows:s.value,summary:b.value})})}function z3(){return k3(this,null,function*(){return p.value.length?p.value:g||(h.value="loading",g=fetch(S3("datas/ecological-protection/ecological_restoration_projects.geojson"),{credentials:"include"}).then(Y2=>{if(!Y2.ok)throw new Error(`HTTP ${Y2.status}`);return Y2.json()}).then(Y2=>{const s3=I3(Y2).filter(G3=>{var i1;return(i1=G3==null?void 0:G3.geometry)==null?void 0:i1.coordinates}).map((G3,i1)=>J2(L2({},G3),{properties:J2(L2({},G3.properties||{}),{source_index:i1})}));return p.value=s3,h.value="success",s3}).catch(Y2=>{throw h.value="error",g=null,Y2}),g)})}function S3(O2){return O2?/^https?:\/\//.test(O2)||O2.startsWith("/")?O2:`./${O2}`:""}function I3(O2){return O2?Array.isArray(O2)?O2.flatMap(Y2=>I3(Y2)):O2.type==="FeatureCollection"?(O2.features||[]).filter(Boolean):O2.type==="Feature"?O2.geometry?[O2]:[]:Q1(O2)?[{type:"Feature",properties:{},geometry:O2}]:typeof O2=="object"?Object.values(O2).flatMap(Y2=>I3(Y2)):[]:[]}function A3(O2){const Y2=O2.flatMap(s3=>s3.geometry.type==="Polygon"?[s3.geometry.coordinates]:s3.geometry.coordinates);return Y2.length===1?{type:"Feature",properties:O2[0].properties||{},geometry:{type:"Polygon",coordinates:Y2[0]}}:{type:"Feature",properties:{sourceFeatureCount:O2.length},geometry:{type:"MultiPolygon",coordinates:Y2}}}function a1(O2,Y2=p.value){const s3=_3(O2.geometry);return Y2.filter(G3=>y1(G3.geometry,O2.geometry,s3)).map(G3=>({feature:G3,properties:G3.properties||{},overlapAreaWanMu:t0(G3,O2.geometry)}))}function C1(O2){const Y2=new Map;return O2.forEach(s3=>{const G3=s3.properties||{},i1=G3.project_name||G3.projectName||"未命名项目",N1=Y2.get(i1)||{key:i1,projectName:i1,category:G3.project_category||"未知类型",year:G3.year||"未知",featureCount:0,overlapAreaWanMu:0,features:[],sourceIndex:Number(G3.source_index||0)};N1.featureCount+=1,N1.overlapAreaWanMu+=Number(s3.overlapAreaWanMu||0),N1.features.push(s3.feature),Y2.set(i1,N1)}),[...Y2.values()].map(s3=>J2(L2({},s3),{overlapAreaWanMu:Number(s3.overlapAreaWanMu.toFixed(4))}))}function y1(O2,Y2,s3){if(!o1(_3(O2),s3))return!1;const G3=o0(Y2);return G3.length?G1(O2)?S1(O2,G3):(O2==null?void 0:O2.type)==="Point"?d3(O2.coordinates,G3):(O2==null?void 0:O2.type)==="MultiPoint"?O2.coordinates.some(i1=>d3(i1,G3)):(O2==null?void 0:O2.type)==="LineString"?l1(O2.coordinates,G3):(O2==null?void 0:O2.type)==="MultiLineString"?O2.coordinates.some(i1=>l1(i1,G3)):!1:!1}function S1(O2,Y2){const s3=o0(O2);return s3.length?s3.some(G3=>G3.some(i1=>d3(i1,Y2)))||Y2.some(G3=>G3.some(i1=>d3(i1,s3)))||s3.some(G3=>Y2.some(i1=>U3(G3,i1))):!1}function l1(O2=[],Y2){return!Array.isArray(O2)||!O2.length?!1:O2.some(s3=>d3(s3,Y2))?!0:Y2.some(s3=>E1(O2,s3))}function E1(O2,Y2){for(let s3=1;s3f1+W1.filter(T0=>d3(T0,i1)).length,0),r1=G3.reduce((f1,W1)=>f1+W1.length,0);return Y3?Number((N1*Math.max(.08,Math.min(1,Y3/Math.max(r1,1)))).toFixed(4)):i1.reduce((f1,W1)=>f1+W1.filter(T0=>d3(T0,G3)).length,0)?Number(Math.min(N1,q1).toFixed(4)):G3.some(f1=>i1.some(W1=>U3(f1,W1)))?Number((Math.min(N1,q1)*.12).toFixed(4)):0}function o0(O2){var Y2;return(O2==null?void 0:O2.type)==="Polygon"?[((Y2=O2.coordinates)==null?void 0:Y2[0])||[]]:(O2==null?void 0:O2.type)==="MultiPolygon"?O2.coordinates.map(s3=>(s3==null?void 0:s3[0])||[]).filter(s3=>s3.length):[]}function G1(O2){return(O2==null?void 0:O2.type)==="Polygon"||(O2==null?void 0:O2.type)==="MultiPolygon"}function Q1(O2){return["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(O2==null?void 0:O2.type)}function d3(O2,Y2){return Y2.some(s3=>F3(O2,s3))}function F3(O2,Y2){var N1,q1,Y3,r1;let s3=!1;const G3=Number(O2==null?void 0:O2[0]),i1=Number(O2==null?void 0:O2[1]);for(let K3=0,f1=Y2.length-1;K3i1!=D0>i1&&G3<(O0-W1)*(i1-T0)/(D0-T0)+W1&&(s3=!s3)}return s3}function U3(O2,Y2){for(let s3=1;s3(Number(f1[0])-Number(K3[0]))*(Number(W1[1])-Number(K3[1]))-(Number(f1[1])-Number(K3[1]))*(Number(W1[0])-Number(K3[0])),N1=i1(O2,Y2,s3),q1=i1(O2,Y2,G3),Y3=i1(s3,G3,O2),r1=i1(s3,G3,Y2);return N1===0&&N3(s3,O2,Y2)||q1===0&&N3(G3,O2,Y2)||Y3===0&&N3(O2,s3,G3)||r1===0&&N3(Y2,s3,G3)?!0:(N1>0&&q1<0||N1<0&&q1>0)&&(Y3>0&&r1<0||Y3<0&&r1>0)}function F2(O2,Y2,s3,G3){const i1=w3([O2,Y2]),N1=w3([s3,G3]);return o1(i1,N1)}function N3(O2,Y2,s3){const G3=Number(O2==null?void 0:O2[0]),i1=Number(O2==null?void 0:O2[1]),N1=Number(Y2==null?void 0:Y2[0]),q1=Number(Y2==null?void 0:Y2[1]),Y3=Number(s3==null?void 0:s3[0]),r1=Number(s3==null?void 0:s3[1]),K3=(G3-N1)*(r1-q1)-(i1-q1)*(Y3-N1);return Math.abs(K3)>1e-10?!1:G3>=Math.min(N1,Y3)-1e-10&&G3<=Math.max(N1,Y3)+1e-10&&i1>=Math.min(q1,r1)-1e-10&&i1<=Math.max(q1,r1)+1e-10}function _3(O2){const Y2=[];return v3(O2==null?void 0:O2.coordinates,Y2),Y2.length?Y2.reduce((s3,G3)=>({minLng:Math.min(s3.minLng,Number(G3[0])),minLat:Math.min(s3.minLat,Number(G3[1])),maxLng:Math.max(s3.maxLng,Number(G3[0])),maxLat:Math.max(s3.maxLat,Number(G3[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}function o1(O2,Y2){return!O2||!Y2?!1:!(O2.maxLngY2.maxLng||O2.maxLatY2.maxLat)}function w1(O2){return U1(O2==null?void 0:O2.geometry)}function U1(O2){return(O2==null?void 0:O2.type)==="Polygon"?O(O2.coordinates):(O2==null?void 0:O2.type)==="MultiPolygon"?O2.coordinates.reduce((Y2,s3)=>Y2+O(s3),0):0}function O(O2=[]){const Y2=O2[0]||[];if(Y2.length<3)return 0;const s3=Y2.reduce((q1,Y3)=>q1+Number(Y3[1]||0),0)/Y2.length,G3=111320*Math.cos(s3*Math.PI/180),i1=110540;let N1=0;for(let q1=0;q1v3(s3,Y2))}}function w3(O2){return O2.reduce((Y2,s3)=>({minLng:Math.min(Y2.minLng,Number(s3==null?void 0:s3[0])),minLat:Math.min(Y2.minLat,Number(s3==null?void 0:s3[1])),maxLng:Math.max(Y2.maxLng,Number(s3==null?void 0:s3[0])),maxLat:Math.max(Y2.maxLat,Number(s3==null?void 0:s3[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY})}function P3(O2){const Y2=Number(O2||0);return Number.isFinite(Y2)?Number(Y2.toFixed(Y2>=10?2:4)).toString():"0"}function H3(O2){const Y2=Number(O2||0)*1e4;return Number.isFinite(Y2)?Y2>=1e3?Number(Y2.toFixed(0)).toLocaleString("zh-CN"):Y2>=10?Number(Y2.toFixed(1)).toLocaleString("zh-CN"):Number(Y2.toFixed(2)).toString():"0"}function j3(O2=[]){const Y2=new Map;return O2.forEach(s3=>{const G3=s3.category||"未知类型",i1=Y2.get(G3)||{name:G3,count:0,area:0};i1.count+=1,i1.area+=Number(s3.overlapAreaWanMu||0),Y2.set(G3,i1)}),[...Y2.values()].sort((s3,G3)=>G3.area-s3.area||G3.count-s3.count)[0]||{name:"未知类型",count:0,area:0}}function q3(O2=[]){const Y2=O2.map(i1=>Number(i1.year)).filter(i1=>Number.isFinite(i1));if(!Y2.length)return"未知年份";const s3=Math.min(...Y2),G3=Math.max(...Y2);return s3===G3?`${s3} 年`:`${s3}-${G3} 年`}function e0(O2,Y2=18){const s3=String(O2||"未命名项目");return s3.length>Y2?`${s3.slice(0,Y2)}...`:s3}return e({applyDrawnBoundary:p3}),(O2,Y2)=>(z(),Q("div",oj,[S("div",sj,[S("div",lj,[Y2[0]||(Y2[0]=S("span",null,"生态工程分析",-1)),F.value?(z(),Q("strong",uj,c2(F.value),1)):L3("",!0)]),r.value?L3("",!0):(z(),Q("div",{key:0,class:s1(["analysis-operation",{"has-boundary":o.value}])},[S("label",{class:s1(["analysis-entry is-upload",{"is-disabled":r.value}])},[S("input",{type:"file",accept:".zip,.json,.geojson",disabled:r.value,onChange:p2},null,40,cj),S("span",null,c2(o.value?"更换边界":"上传边界"),1),Y2[1]||(Y2[1]=S("strong",null,"SHP / GeoJSON",-1))],2),S("button",{type:"button",class:"analysis-entry is-draw",disabled:r.value,onPointerup:$0(_2,["stop","prevent"])},[S("span",null,c2(o.value?"重新绘制":"在线绘制"),1),Y2[2]||(Y2[2]=S("strong",null,"地图圈定",-1))],40,dj)],2)),r.value?(z(),Q("div",fj,[S("div",hj,[Y2[3]||(Y2[3]=S("span",null,"已落点",-1)),S("strong",null,c2(t.drawingPointCount),1),Y2[4]||(Y2[4]=S("em",null,"点",-1)),Y2[5]||(Y2[5]=S("small",null,"至少 3 点",-1))]),S("button",{type:"button",class:"analysis-control is-primary",disabled:!K.value,onPointerup:$0(K2,["stop","prevent"])}," 完成分析 ",40,mj),S("button",{type:"button",class:"analysis-control",disabled:!t.drawingPointCount,onPointerup:$0($2,["stop","prevent"])},"撤销",40,pj),S("button",{type:"button",class:"analysis-control is-danger",onPointerup:$0(q2,["stop","prevent"])},"删除图形",32)])):o.value?(z(),Q("div",gj,[Y2[6]||(Y2[6]=S("span",null,"边界已加载",-1)),S("strong",null,c2(s.value.length?`命中 ${s.value.length} 项`:H.value),1),S("button",{type:"button",onPointerup:$0(c3,["stop","prevent"])},"删除图形",32)])):L3("",!0)]),o.value?(z(),Q("div",yj,[S("div",vj,[Y2[7]||(Y2[7]=S("span",null,"建设记录核查",-1)),S("strong",null,c2(H.value),1)]),S("div",{class:s1(["analysis-conclusion",e2.value.levelClass])},[S("div",Sj,[Y2[8]||(Y2[8]=S("span",null,"分析结论",-1)),S("strong",null,c2(e2.value.verdict),1)]),S("p",null,c2(e2.value.summary),1),S("div",wj,[(z(!0),Q(O3,null,X3(e2.value.tags,s3=>(z(),Q("span",{key:s3},c2(s3),1))),128))]),S("small",null,c2(e2.value.advice),1)],2),s.value.length?(z(),Q("div",Tj,[(z(!0),Q(O3,null,X3(s.value,s3=>(z(),Q("button",{key:s3.key,type:"button",class:"analysis-project-row",onPointerup:$0(G3=>O2.$emit("focus-project",s3),["stop","prevent"])},[S("span",Aj,c2(s3.projectName),1),S("div",xj,[S("strong",null,c2(s3.year),1),S("em",null,c2(s3.category),1),S("small",null,"叠加 "+c2(H3(s3.overlapAreaWanMu))+" 亩",1)]),S("b",null,c2(s3.featureCount)+" 个要素",1)],40,Cj))),128))])):(z(),Q("div",bj,"该边界范围内暂未匹配到已建设项目"))])):L3("",!0)]))}},Mj=Fa(_j,[["__scopeId","data-v-98130796"]]),c6=(t,e)=>t.reduce((n,a)=>n+Number(a[e]||0),0),B0=(t,e=2)=>Number(Number(t||0).toFixed(e)),mn={kpi:{projectCount:22,featureCount:29280,subjectFeatureCount:1478,controlPointCount:27802,areaWanMu:175.3693,lengthKm:1250.62,townshipCount:10},categories:[{name:"草地修复",subjectFeatureCount:1067,areaWanMu:168.0339,lengthKm:1238.18,projectCount:13},{name:"林地修复",subjectFeatureCount:244,areaWanMu:7.3354,lengthKm:0,projectCount:6},{name:"湿地修复",subjectFeatureCount:167,areaWanMu:0,lengthKm:12.44,projectCount:3}],measures:[{name:"草原改良",subjectFeatureCount:285,areaWanMu:84.2792,lengthKm:467.5,projectCount:8},{name:"人工种草",subjectFeatureCount:532,areaWanMu:29.1561,lengthKm:0,projectCount:13},{name:"封育治理",subjectFeatureCount:45,areaWanMu:21.2487,lengthKm:0,projectCount:1},{name:"围栏建设",subjectFeatureCount:223,areaWanMu:19.4235,lengthKm:660.88,projectCount:9},{name:"林草碳汇试点",subjectFeatureCount:11,areaWanMu:12.5759,lengthKm:0,projectCount:1},{name:"水源涵养",subjectFeatureCount:82,areaWanMu:5.6993,lengthKm:0,projectCount:1},{name:"人工种草/补播",subjectFeatureCount:46,areaWanMu:2.8162,lengthKm:0,projectCount:4},{name:"防风固沙林",subjectFeatureCount:6,areaWanMu:.1303,lengthKm:0,projectCount:1},{name:"草种繁育",subjectFeatureCount:4,areaWanMu:.04,lengthKm:0,projectCount:1},{name:"种草围栏",subjectFeatureCount:77,areaWanMu:0,lengthKm:109.81,projectCount:1},{name:"小型坝",subjectFeatureCount:8,areaWanMu:0,lengthKm:8.83,projectCount:1},{name:"微型坝",subjectFeatureCount:159,areaWanMu:0,lengthKm:3.61,projectCount:2}],years:[{name:2017,areaWanMu:.1412,lengthKm:0,projectCount:1},{name:2018,areaWanMu:.5608,lengthKm:0,projectCount:1},{name:2019,areaWanMu:12.513,lengthKm:0,projectCount:1},{name:2020,areaWanMu:35.9848,lengthKm:0,projectCount:2},{name:2021,areaWanMu:25.0755,lengthKm:467.5,projectCount:5},{name:2022,areaWanMu:72.024,lengthKm:656.05,projectCount:8},{name:2023,areaWanMu:29.07,lengthKm:114.64,projectCount:3},{name:"未知",areaWanMu:0,lengthKm:12.44,projectCount:2}],townships:[{name:"麦洼乡",areaWanMu:28.5019,lengthKm:84.28,projectCount:3},{name:"龙日镇",areaWanMu:15.8472,lengthKm:46.05,projectCount:2},{name:"安曲镇",areaWanMu:13.1168,lengthKm:0,projectCount:2},{name:"瓦切镇",areaWanMu:6.6824,lengthKm:214.41,projectCount:4},{name:"色地镇",areaWanMu:6.344,lengthKm:101.25,projectCount:3},{name:"刷经寺镇",areaWanMu:5.6528,lengthKm:126.26,projectCount:1},{name:"邛溪镇",areaWanMu:2.3127,lengthKm:101.39,projectCount:4},{name:"阿木乡",areaWanMu:1.34,lengthKm:59.5,projectCount:2},{name:"查尔玛乡",areaWanMu:.7001,lengthKm:37.56,projectCount:1}],projects:[{projectName:"阿坝州红原县2020年退牧还草工程项目",projectCategory:"草地修复",year:2020,areaWanMu:35.6232,lengthKm:0,measureTypes:["人工种草","围栏建设"],townships:[],subjectFeatureCount:73},{projectName:"四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-2022年",projectCategory:"草地修复",year:2022,areaWanMu:21.5,lengthKm:172.31,measureTypes:["人工种草","围栏建设","种草围栏","草原改良"],townships:["刷经寺镇","龙日镇"],subjectFeatureCount:273},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理项目-草原封育治理-700",projectCategory:"草地修复",year:2022,areaWanMu:21.2487,lengthKm:272.25,measureTypes:["围栏建设","封育治理"],townships:["瓦切镇","色地镇","邛溪镇"],subjectFeatureCount:90},{projectName:"四川省阿坝州 2023 年中央财政林业草原改革发展资金预算(第三批)——红原县草原生态修复项目",projectCategory:"草地修复",year:2023,areaWanMu:18.79,lengthKm:32.32,measureTypes:["人工种草","围栏建设","草原改良","草种繁育"],townships:["瓦切镇","麦洼乡"],subjectFeatureCount:102},{projectName:"阿坝州红原县2022年第二批重点生态保护和修护治理——红原县林草碳汇创新开发建设试点项目",projectCategory:"草地修复",year:2022,areaWanMu:12.5759,lengthKm:0,measureTypes:["林草碳汇试点"],townships:["安曲镇"],subjectFeatureCount:11},{projectName:"四川省红原县2019年草原生态修复治理项目退化草地治理和天然草原改良",projectCategory:"草地修复",year:2019,areaWanMu:12.513,lengthKm:0,measureTypes:["人工种草/补播","草原改良"],townships:[],subjectFeatureCount:25},{projectName:"阿坝州红原县2021年若尔盖—甘南草原湿地生态保护和修复项目-1880",projectCategory:"草地修复",year:2021,areaWanMu:11.0031,lengthKm:467.5,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:229},{projectName:"2023 年度四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-1315",projectCategory:"草地修复",year:2023,areaWanMu:10.28,lengthKm:82.32,measureTypes:["人工种草","围栏建设","草原改良"],townships:["查尔玛乡","麦洼乡"],subjectFeatureCount:50},{projectName:"阿坝州红原县 2022 年中央财政林业草原生态保护恢复(第二批)——草原生态修复治理补助项目-1972",projectCategory:"草地修复",year:2022,areaWanMu:8.2,lengthKm:113.37,measureTypes:["围栏建设","草原改良","人工种草"],townships:["色地镇","邛溪镇","阿木乡"],subjectFeatureCount:127},{projectName:"阿坝州红原县2021年省级草原生态保护恢复项目-1790",projectCategory:"草地修复",year:2021,areaWanMu:7,lengthKm:0,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:16},{projectName:"阿坝州红原县 2021 年中央财政林业草原生态保护恢复项目-984",projectCategory:"草地修复",year:2021,areaWanMu:6.5,lengthKm:0,measureTypes:["草原改良","人工种草"],townships:[],subjectFeatureCount:14},{projectName:"红原县2022年度黄河上游水源涵养补给区综合治理项目实施方案(代作业设计)变更后最终版",projectCategory:"林地修复",year:2022,areaWanMu:5.6993,lengthKm:0,measureTypes:["水源涵养"],townships:["安曲镇","瓦切镇"],subjectFeatureCount:82},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理——草原生态修复治理项目-1500",projectCategory:"草地修复",year:2022,areaWanMu:2,lengthKm:81.05,measureTypes:["人工种草","围栏建设"],townships:["瓦切镇","色地镇","麦洼乡"],subjectFeatureCount:53},{projectName:"阿坝州红原县 2022 年省级林业草原生态保护恢复——草原生态修复治理补助项目-888",projectCategory:"草地修复",year:2022,areaWanMu:.8,lengthKm:17.07,measureTypes:["人工种草","围栏建设"],townships:["阿木乡"],subjectFeatureCount:4},{projectName:"红原县2018年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2018,areaWanMu:.5608,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:107},{projectName:"红原县2021年黄河上游水源涵养补给区生态综合治理项目",projectCategory:"林地修复",year:2021,areaWanMu:.5224,lengthKm:0,measureTypes:["人工种草/补播"],townships:["邛溪镇"],subjectFeatureCount:14},{projectName:"红原县2020年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2020,areaWanMu:.3617,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:31},{projectName:"2017年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2017,areaWanMu:.1412,lengthKm:0,measureTypes:["人工种草","防风固沙林"],townships:["邛溪镇"],subjectFeatureCount:8},{projectName:"红原县2021年人工造林封山育林项目",projectCategory:"林地修复",year:2021,areaWanMu:.05,lengthKm:0,measureTypes:["围栏建设"],townships:[],subjectFeatureCount:2},{projectName:"4980小型坝(1)(1)",projectCategory:"湿地修复",year:"未知",areaWanMu:0,lengthKm:8.83,measureTypes:["小型坝"],townships:[],subjectFeatureCount:8},{projectName:"红原县蓄水保湿工程-小型坝和微型坝(1)(1)",projectCategory:"湿地修复",year:2023,areaWanMu:0,lengthKm:3.61,measureTypes:["微型坝"],townships:[],subjectFeatureCount:59},{projectName:"4980微型坝成型(1)(1)",projectCategory:"湿地修复",year:2022,areaWanMu:0,lengthKm:0,measureTypes:["微型坝"],townships:[],subjectFeatureCount:100}]},Ys=[{key:"ecological-redline",label:"生态保护红线",bottomLabel:"生态保护红线"},{key:"natural-protected-area",label:"自然保护地",bottomLabel:"自然保护地"},{key:"national-park",label:"若尔盖国家公园",bottomLabel:"若尔盖国家公园"},{key:"restoration",label:"生态修复工程",bottomLabel:"生态修复工程"},{key:"engineering-analysis",label:"生态工程分析",bottomLabel:"生态工程分析"}],ma=["ecological-redline","natural-protected-area"];function Iu(t=[]){let e=t;if(e&&typeof e=="object"&&!Array.isArray(e)&&"value"in e&&(e=e.value),typeof e=="string")try{e=JSON.parse(e)}catch(n){e=[]}return(Array.isArray(e)?e:[]).map((n,a)=>({key:n.key||`${n.name||"统计项"}-${a}`,name:n.name||`统计项${a+1}`,value:B0(n.value,2),unit:n.unit||"万亩",color:n.color,extra:n.extra||"",icon:n.icon||""}))}function jg(t,e,n,a,i=""){return{key:t,name:e,value:B0(n,a==="%"?1:2),unit:a,extra:i}}function Fu(t=[],e=c6(t,"value")){return t.map(n=>J2(L2({},n),{extra:n.extra||`占比 ${B0(Number(n.value||0)/Math.max(e,1)*100,1)}%`}))}function Pj(t=[],e=!1){const n=new Map(ln.map((a,i)=>[a,i]));return[...t].sort((a,i)=>{if(e)return Number(i.value||0)-Number(a.value||0);const r=n.has(a.name)?n.get(a.name):999,o=n.has(i.name)?n.get(i.name):999;return r-o||Number(i.value||0)-Number(a.value||0)})}function _i(t={},e,n,a="万亩",i={}){const r=Pj(Iu(t[e]),i.sortByValue===!0).filter(s=>Number(s.value)>0).map(s=>J2(L2({},s),{unit:s.unit||a}));if(r.length)return i.withPercent===!1?r:Fu(r);const o=Number(t[n]||0);return o>0?[jg(`${e}-total`,"全县合计",o,a)]:[]}function $s(t={},e,n,a,i="万亩",r=6){const o=Iu(t[e]).filter(u=>Number(u.value)>0).slice(0,r).map(u=>J2(L2({},u),{unit:u.unit||i}));if(o.length)return Fu(o);const s=Number(t[n]||0);return s>0?[jg(`${e}-total`,a,s,i)]:[]}function nm(t){return((t==null?void 0:t.rows)||[]).some(e=>Number(e.value)>0)}const kj=Object.freeze({"ecological-redline":{scopeKey:"ecological-redline",scopeName:"生态保护红线",scopeAreaWanMu:537.12,sourceFeatureCount:374,grasslandAreaWanMu:338.87,wetlandAreaWanMu:88.34,woodlandAreaWanMu:69.14,grasslandFreshYieldWanTon:84.83,wetlandFreshYieldWanTon:.54,grasslandMuYieldJin:500.66,wetlandMuYieldJin:12.18,grasslandVegetationCoverPercent:86,grasslandPatchCount:8061,wetlandPatchCount:3458,woodlandPatchCount:37868,grasslandDistribution:[{name:"邛溪镇",value:30.2,unit:"万亩"},{name:"刷经寺镇",value:5.75,unit:"万亩"},{name:"龙日镇",value:9.82,unit:"万亩"},{name:"安曲镇",value:35.4,unit:"万亩"},{name:"色地镇",value:42.52,unit:"万亩"},{name:"瓦切镇",value:94.25,unit:"万亩"},{name:"麦洼乡",value:66.61,unit:"万亩"},{name:"阿木乡",value:33.87,unit:"万亩"},{name:"查尔玛乡",value:20.45,unit:"万亩"}],wetlandDistribution:[{name:"邛溪镇",value:9.6,unit:"万亩"},{name:"刷经寺镇",value:2.8,unit:"万亩"},{name:"龙日镇",value:3.12,unit:"万亩"},{name:"安曲镇",value:7.2,unit:"万亩"},{name:"色地镇",value:15.22,unit:"万亩"},{name:"瓦切镇",value:24.6,unit:"万亩"},{name:"麦洼乡",value:14.8,unit:"万亩"},{name:"阿木乡",value:6.4,unit:"万亩"},{name:"查尔玛乡",value:4.6,unit:"万亩"}],woodlandDistribution:[{name:"邛溪镇",value:16.4,unit:"万亩"},{name:"刷经寺镇",value:3.2,unit:"万亩"},{name:"龙日镇",value:1.4,unit:"万亩"},{name:"安曲镇",value:14.8,unit:"万亩"},{name:"色地镇",value:6.9,unit:"万亩"},{name:"瓦切镇",value:4.7,unit:"万亩"},{name:"麦洼乡",value:9.8,unit:"万亩"},{name:"阿木乡",value:11.2,unit:"万亩"},{name:"查尔玛乡",value:.74,unit:"万亩"}],grasslandProductivity:[{name:"邛溪镇",value:487,unit:"斤/亩"},{name:"刷经寺镇",value:488,unit:"斤/亩"},{name:"龙日镇",value:509,unit:"斤/亩"},{name:"安曲镇",value:514,unit:"斤/亩"},{name:"色地镇",value:492,unit:"斤/亩"},{name:"瓦切镇",value:518,unit:"斤/亩"},{name:"麦洼乡",value:506,unit:"斤/亩"},{name:"阿木乡",value:503,unit:"斤/亩"},{name:"查尔玛乡",value:496,unit:"斤/亩"}],grasslandTypes:[{name:"高寒草甸",value:210.32,unit:"万亩"},{name:"山地草甸",value:61.45,unit:"万亩"},{name:"沼泽草甸",value:38.26,unit:"万亩"},{name:"高寒草原",value:21.84,unit:"万亩"},{name:"灌丛草甸",value:7,unit:"万亩"}],zoningStructure:[{name:"水源涵养",value:537.12,unit:"万亩"}],grasslandLevels:[{name:"5级草原",value:175.5,unit:"万亩"},{name:"4级草原",value:79.01,unit:"万亩"},{name:"6级草原",value:74.36,unit:"万亩"},{name:"7级草原",value:8.91,unit:"万亩"},{name:"8级草原",value:1.05,unit:"万亩"},{name:"3级草原",value:.03,unit:"万亩"}],woodlandTypes:[{name:"灌木林地",value:49.13,unit:"万亩"},{name:"乔木林地",value:16.61,unit:"万亩"},{name:"灌丛沼泽",value:2.48,unit:"万亩"},{name:"其他林地",value:.92,unit:"万亩"}],woodlandQuality:[{name:"4级",value:36.74,unit:"万亩"},{name:"3级",value:25.75,unit:"万亩"},{name:"5级",value:3.9,unit:"万亩"},{name:"未定级",value:2.49,unit:"万亩"},{name:"2级",value:.26,unit:"万亩"}],vegetationCoverBands:[{name:"80%-89%",value:226.68,unit:"万亩"},{name:"90%以上",value:112.19,unit:"万亩"}]},"natural-protected-area":{scopeKey:"natural-protected-area",scopeName:"自然保护地",scopeAreaWanMu:160.34,sourceFeatureCount:3,grasslandAreaWanMu:74.31,wetlandAreaWanMu:46.82,woodlandAreaWanMu:2.23,grasslandFreshYieldWanTon:21.67,wetlandFreshYieldWanTon:.31,grasslandMuYieldJin:583.23,wetlandMuYieldJin:13.27,grasslandVegetationCoverPercent:90.9,grasslandPatchCount:1637,wetlandPatchCount:1607,woodlandPatchCount:2066,grasslandDistribution:[{name:"邛溪镇",value:2.5,unit:"万亩"},{name:"安曲镇",value:1.9,unit:"万亩"},{name:"色地镇",value:16.22,unit:"万亩"},{name:"瓦切镇",value:32.07,unit:"万亩"},{name:"麦洼乡",value:19.66,unit:"万亩"},{name:"阿木乡",value:1.1,unit:"万亩"},{name:"查尔玛乡",value:.86,unit:"万亩"}],wetlandDistribution:[{name:"邛溪镇",value:4.8,unit:"万亩"},{name:"安曲镇",value:3.2,unit:"万亩"},{name:"色地镇",value:15.22,unit:"万亩"},{name:"瓦切镇",value:11.73,unit:"万亩"},{name:"麦洼乡",value:6.52,unit:"万亩"},{name:"阿木乡",value:2.5,unit:"万亩"},{name:"查尔玛乡",value:2.85,unit:"万亩"}],woodlandDistribution:[{name:"邛溪镇",value:.28,unit:"万亩"},{name:"安曲镇",value:.16,unit:"万亩"},{name:"色地镇",value:.73,unit:"万亩"},{name:"瓦切镇",value:.4,unit:"万亩"},{name:"麦洼乡",value:.54,unit:"万亩"},{name:"阿木乡",value:.08,unit:"万亩"},{name:"查尔玛乡",value:.04,unit:"万亩"}],grasslandProductivity:[{name:"邛溪镇",value:566,unit:"斤/亩"},{name:"安曲镇",value:579,unit:"斤/亩"},{name:"色地镇",value:572,unit:"斤/亩"},{name:"瓦切镇",value:596,unit:"斤/亩"},{name:"麦洼乡",value:584,unit:"斤/亩"},{name:"阿木乡",value:561,unit:"斤/亩"},{name:"查尔玛乡",value:575,unit:"斤/亩"}],grasslandTypes:[{name:"高寒草甸",value:42.65,unit:"万亩"},{name:"沼泽草甸",value:15.21,unit:"万亩"},{name:"山地草甸",value:10.48,unit:"万亩"},{name:"高寒草原",value:4.23,unit:"万亩"},{name:"灌丛草甸",value:1.74,unit:"万亩"}],zoningStructure:[{name:"核心保护区",value:121.44,unit:"万亩"},{name:"一般控制区",value:38.9,unit:"万亩"}],grasslandLevels:[{name:"4级草原",value:35.48,unit:"万亩"},{name:"5级草原",value:33.67,unit:"万亩"},{name:"6级草原",value:5.05,unit:"万亩"},{name:"7级草原",value:.08,unit:"万亩"},{name:"3级草原",value:.02,unit:"万亩"}],woodlandTypes:[{name:"灌木林地",value:1.27,unit:"万亩"},{name:"灌丛沼泽",value:.87,unit:"万亩"},{name:"乔木林地",value:.09,unit:"万亩"}],woodlandQuality:[{name:"未定级",value:.87,unit:"万亩"},{name:"4级",value:.81,unit:"万亩"},{name:"3级",value:.51,unit:"万亩"},{name:"5级",value:.04,unit:"万亩"}],vegetationCoverBands:[{name:"90%以上",value:55.12,unit:"万亩"},{name:"80%-89%",value:19.19,unit:"万亩"}]}});function Ej(t="ecological-redline"){const e=t==="natural-protected-area"?"natural-protected-area":"ecological-redline";return structuredClone(kj[e])}function zg(t={},e="ecological-redline"){const n=Ej(e),i=Number(t.scopeAreaWanMu)>0||Number(t.grasslandAreaWanMu)>0||Number(t.wetlandAreaWanMu)>0||Number(t.woodlandAreaWanMu)>0?L2(L2({},n),t):n;return["zoningStructure","grasslandLevels","woodlandTypes","woodlandQuality","vegetationCoverBands","grasslandDistribution","wetlandDistribution","woodlandDistribution","grasslandProductivity","grasslandTypes"].forEach(r=>{Iu(i[r]).length||(i[r]=n[r])}),i}function Mi(t={},e="ecological-redline"){t=zg(t,e);const n=_i(t,"grasslandDistribution","grasslandAreaWanMu","万亩"),a=_i(t,"wetlandDistribution","wetlandAreaWanMu","万亩"),i=_i(t,"woodlandDistribution","woodlandAreaWanMu","万亩",{sortByValue:!0}),r=_i(t,"grasslandProductivity","grasslandMuYieldJin","斤/亩",{withPercent:!1}),o=$s(t,"grasslandTypes","grasslandAreaWanMu","草地面积"),s=$s(t,"grasslandLevels","grasslandAreaWanMu","草地面积"),u=$s(t,"woodlandQuality","woodlandAreaWanMu","林地面积"),m=Fu([{key:`${e}-scope-grassland`,name:"草地资源",value:Number(t.grasslandAreaWanMu||0),unit:"万亩"},{key:`${e}-scope-wetland`,name:"湿地资源",value:Number(t.wetlandAreaWanMu||0),unit:"万亩"},{key:`${e}-scope-woodland`,name:"林地资源",value:Number(t.woodlandAreaWanMu||0),unit:"万亩"}].filter(h=>Number(h.value)>0));return{left:[{key:`${e}-grassland-distribution`,title:"草地分布",type:"column",variant:"plain",labelMode:"horizontal",scrollable:!1,span:1,rows:n},{key:`${e}-wetland-distribution`,title:"湿地面积",type:"column",variant:"water",labelMode:"horizontal",scrollable:!1,span:1,rows:a},{key:`${e}-woodland-distribution`,title:"林地分布",type:"split",variant:"compact",span:1,rows:i},{key:`${e}-grassland-productivity`,title:"草地生产力",type:"line",fixedType:!0,labelMode:"horizontal",span:1,rows:r}].filter(nm),right:[{key:`${e}-grassland-type`,title:"草原类型",type:"donut",variant:"ring",span:1,rows:o},{key:`${e}-grassland-level`,title:"草原级占比",type:"bar",variant:"rankBar",span:1,rows:s},{key:`${e}-woodland-quality`,title:"林地质量",type:"heat",limit:6,span:1,rows:u},{key:`${e}-resource-structure`,title:"林草湿面积构成",type:"structure",span:1,rows:m}].filter(nm)}}function Ws(t={},e="ecological-redline"){return t=zg(t,e),[{zh:`${e==="natural-protected-area"?"保护地":"红线"}面积`,value:B0(t.scopeAreaWanMu,2),unit:"万亩",decimals:2,icon:"park"},{zh:"草地面积",value:B0(t.grasslandAreaWanMu,2),unit:"万亩",decimals:2,icon:"grass-basic"},{zh:"湿地面积",value:B0(t.wetlandAreaWanMu,2),unit:"万亩",decimals:2,icon:"wetland"},{zh:"林地面积",value:B0(t.woodlandAreaWanMu,2),unit:"万亩",decimals:2,icon:"forest"}]}const kn=[{name:"瓦切镇",protectedAreaWanMu:75.01,coreProtectionAreaWanMu:31.65,generalControlAreaWanMu:43.36,grasslandAreaWanMu:32.07,wetlandAreaWanMu:11.73,ecologyJobs:160,householdCount:1400,peopleCount:6375,yakCount:43459,livestockCount:45260,cover:85,villages:"唐日村、德香村、日干村、色永村、曲登塘社区"},{name:"麦洼乡",protectedAreaWanMu:66.61,coreProtectionAreaWanMu:28.1,generalControlAreaWanMu:38.51,grasslandAreaWanMu:19.66,wetlandAreaWanMu:6.52,ecologyJobs:179,householdCount:1049,peopleCount:4857,yakCount:35773,livestockCount:36776,cover:85,villages:"洞拉村、滚塘村"},{name:"色地镇",protectedAreaWanMu:20.98,coreProtectionAreaWanMu:8.85,generalControlAreaWanMu:12.13,grasslandAreaWanMu:42.52,wetlandAreaWanMu:15.22,ecologyJobs:39,householdCount:405,peopleCount:1692,yakCount:25947,livestockCount:26731,cover:86,villages:"让里村、茸塔玛村"}],_e={name:"若尔盖国家公园红原区域",nationalParkTotalAreaWanMu:1250.4,hongyuanDelimitedAreaWanMu:162.55,totalAreaWanMu:162.55,grasslandAreaWanMu:94.25,wetlandAreaWanMu:33.47,woodlandAreaWanMu:null,woodlandDataStatus:"待接入",vegetationCoverage:B0(c6(kn,"cover")/kn.length,1),townCount:kn.length,villageCount:kn.reduce((t,e)=>t+String(e.villages||"").split("、").filter(Boolean).length,0),householdCount:c6(kn,"householdCount"),peopleCount:c6(kn,"peopleCount"),ecologyJobCount:c6(kn,"ecologyJobs"),yakCount:c6(kn,"yakCount"),livestockCount:c6(kn,"livestockCount")};_e.otherProtectedAreaWanMu=B0(_e.totalAreaWanMu-_e.grasslandAreaWanMu-_e.wetlandAreaWanMu,2);const Nj=[{key:"park-national-area",name:"四川片区面积",value:_e.nationalParkTotalAreaWanMu,unit:"万亩",icon:"park"},{key:"park-hongyuan-area",name:"红原县划定面积",value:_e.hongyuanDelimitedAreaWanMu,unit:"万亩",icon:"park"},{key:"park-yak-count",name:"牦牛数量",value:_e.yakCount,unit:"头",icon:"stack"}];kn.map(t=>({key:t.name,name:t.name,value:B0(t.grasslandAreaWanMu+t.wetlandAreaWanMu,2),unit:"万亩",extra:`草地 ${t.grasslandAreaWanMu} / 湿地 ${t.wetlandAreaWanMu}`}));kn.map(t=>({key:`${t.name}-town`,name:t.name,value:B0(t.grasslandAreaWanMu+t.wetlandAreaWanMu,2),unit:"万亩",extra:t.villages}));const Rj=[{key:"core-protection",name:"核心保护区",value:68.6,unit:"万亩",color:C8.core.fillColor},{key:"general-control",name:"一般控制区",value:94,unit:"万亩",color:C8.general.fillColor}],Gl=43.66,am=12.48,Lj=B0(Gl*(192.26/297.29),2),Ij=.06229833103624831,Fj=new Map([["瓦切镇",{areaRange:750120,yakNumber:43459,bearingCapacity:44927.54,livestockCapacity:45260,overloadRate:.74,year:"2026"}],["麦洼乡",{areaRange:666075,yakNumber:35773,bearingCapacity:36505.86,livestockCapacity:36776,overloadRate:.74,year:"2026"}],["色地镇",{areaRange:209805,yakNumber:25947,bearingCapacity:26534.58,livestockCapacity:26731,overloadRate:.74,year:"2026"}]]),Bj={麦洼乡:[{name:"洞拉村",grassland:.632,wetland:.632,household:.5643,yak:.545,edible:.632,woodland:.632},{name:"滚塘村",grassland:.368,wetland:.368,household:.4357,yak:.455,edible:.368,woodland:.368}],瓦切镇:[{name:"唐日村",grassland:.3059,wetland:.3059,household:.1957,yak:.2843,edible:.3059,woodland:.3059},{name:"德香村",grassland:.2369,wetland:.2369,household:.2679,yak:.2848,edible:.2369,woodland:.2369},{name:"日干村",grassland:.1603,wetland:.1603,household:.2071,yak:.2107,edible:.1603,woodland:.1603},{name:"色永村",grassland:.2969,wetland:.2969,household:.2607,yak:.2202,edible:.2969,woodland:.2969},{name:"曲登塘社区",grassland:0,wetland:0,household:.0679,yak:0,edible:0,woodland:0}],色地镇:[{name:"让里村",grassland:.4623,wetland:.4623,household:.7309,yak:.6411,edible:.4623,woodland:.4623},{name:"茸塔玛村",grassland:.5377,wetland:.5377,household:.2691,yak:.3589,edible:.5377,woodland:.5377}]},nt=kn.map(t=>J2(L2({},t),{value:t.protectedAreaWanMu,unit:"万亩",segments:{core:t.coreProtectionAreaWanMu,general:t.generalControlAreaWanMu},householdCount:Number(t.householdCount||0),edibleGrasslandWanTon:B0(Number(t.grasslandAreaWanMu||0)/Math.max(_e.grasslandAreaWanMu,1)*Lj,2)})),im=_e.householdCount-c6(nt,"householdCount");im&&nt[0]&&(nt[0].householdCount+=im);nt.forEach(t=>{const e=Fj.get(t.name),n=Number(e==null?void 0:e.bearingCapacity)||B0(Number(t.grasslandAreaWanMu||0)*1e4*Ij,0),a=Number(e==null?void 0:e.livestockCapacity)||Number(t.livestockCount||t.yakCount||0),i=Number.isFinite(Number(e==null?void 0:e.overloadRate))?Number(e.overloadRate):n?B0((a-n)/n*100,1):0,r=ja(i);t.bearingCapacity=n,t.livestockCapacity=a,t.overloadRate=B0(i,2),t.balanceLevel=r.label,t.searchText=[t.name,`划定面积${t.protectedAreaWanMu}万亩`,`牦牛${t.yakCount}头`,`牧户${t.householdCount}户`,`超载率${t.overloadRate}%`].join(" ")});const pa=c6(nt,"bearingCapacity"),Bu=c6(nt,"livestockCapacity"),Vs=Bu-pa,Hs=nt.map(t=>Number(t.overloadRate)).filter(t=>Number.isFinite(t));_e.balanceOverloadRate=Hs.length?B0(Hs.reduce((t,e)=>t+e,0)/Hs.length,2):pa?B0((Bu-pa)/pa*100,2):0;const u5=[...nt].sort((t,e)=>Number(e.overloadRate||0)-Number(t.overloadRate||0))[0],Du=(t,e=c6(t,"value"))=>t.map(n=>J2(L2({},n),{extra:n.extra||`占比 ${B0(Number(n.value||0)/Math.max(e,1)*100,1)}%`}));Du([{key:"park-scope-grassland",name:"草地",value:_e.grasslandAreaWanMu,unit:"万亩"},{key:"park-scope-wetland",name:"湿地",value:_e.wetlandAreaWanMu,unit:"万亩"},{key:"park-scope-other",name:"其他保护范围",value:_e.otherProtectedAreaWanMu,unit:"万亩"}]);const n4=({sourceKey:t,weightKey:e,unit:n="万亩",decimals:a=2,sortByValue:i=!0})=>{const r=nt.flatMap(s=>(Bj[s.name]||[]).map(m=>({key:`${s.name}-${m.name}-${t}`,name:m.name,town:s.name,value:B0(Number(s[t]||0)*Number(m[e]||0),a),unit:n}))).filter(s=>Number(s.value)>0),o=i?r.sort((s,u)=>Number(u.value||0)-Number(s.value||0)):r;return Du(o)};n4({sourceKey:"wetlandAreaWanMu",weightKey:"wetland",sortByValue:!1});n4({sourceKey:"grasslandAreaWanMu",weightKey:"grassland"});n4({sourceKey:"householdCount",weightKey:"household",unit:"户",decimals:0});n4({sourceKey:"yakCount",weightKey:"yak",unit:"头",decimals:0});n4({sourceKey:"edibleGrasslandWanTon",weightKey:"edible",unit:"万吨"});n4({sourceKey:"wetlandAreaWanMu",weightKey:"woodland"});const Dj=["瓦切镇","麦洼乡","色地镇"],C5=t=>Dj.map(e=>t.find(n=>n.name===e)).filter(Boolean),Gj=C5(nt).map(t=>({key:`${t.name}-area`,name:t.name,value:t.protectedAreaWanMu,unit:"万亩",extra:`核心 ${t.coreProtectionAreaWanMu} / 一般 ${t.generalControlAreaWanMu}`}));C5(nt).map(t=>({key:`${t.name}-zoning`,name:t.name,value:t.protectedAreaWanMu,unit:"万亩",segments:{core:t.coreProtectionAreaWanMu,general:t.generalControlAreaWanMu}}));const Uj=C5(nt).map(t=>({key:`${t.name}-grass-wet-area`,name:t.name,value:B0(t.grasslandAreaWanMu+t.wetlandAreaWanMu,2),unit:"万亩",segments:{grassland:t.grasslandAreaWanMu,wetland:t.wetlandAreaWanMu}})),Oj=C5(nt).map(t=>({key:`${t.name}-grass-wet-productivity`,name:t.name,value:B0(t.grasslandAreaWanMu/Math.max(_e.grasslandAreaWanMu,1)*Gl+t.wetlandAreaWanMu/Math.max(_e.wetlandAreaWanMu,1)*am,2),unit:"万吨",segments:{grassland:B0(t.grasslandAreaWanMu/Math.max(_e.grasslandAreaWanMu,1)*Gl,2),wetland:B0(t.wetlandAreaWanMu/Math.max(_e.wetlandAreaWanMu,1)*am,2)}})),jj=C5(nt).map(t=>({key:`${t.name}-yak`,name:t.name,value:t.yakCount,unit:"头",extra:`${B0(t.yakCount/Math.max(_e.yakCount,1)*100,1)}%`})),zj=C5(nt).map(t=>({key:`${t.name}-household`,name:t.name,value:t.householdCount,unit:"户",metricLabel:"牧户",ecologyJobs:t.ecologyJobs,peopleCount:t.peopleCount,extra:`公益岗位 ${t.ecologyJobs}户`}));C5(nt).map(t=>({key:`${t.name}-balance`,name:t.name,value:t.overloadRate,unit:"%",status:t.balanceLevel,extra:`载畜 ${t.livestockCapacity}头`}));const Yj=[{key:"park-balance-overload-rate",name:"超载率",value:_e.balanceOverloadRate,unit:"%",status:ja(_e.balanceOverloadRate).label,color:"#24f6c4"}];B0(pa/1e4,2),B0(Bu/1e4,2),Vs>=0,B0(Math.abs(Vs)/1e4,2),Vs>=0,`${(u5==null?void 0:u5.name)||"重点乡镇"}`,B0((u5==null?void 0:u5.overloadRate)||0,2),u5!=null&&u5.balanceLevel;const $j=C5(nt).map(t=>({key:`${t.name}-job`,name:t.name,value:t.ecologyJobs,unit:"户",color:t.name==="麦洼乡"?"#24f6c4":t.name==="瓦切镇"?"#32dcff":"#8bf7ff",extra:`牧户 ${t.householdCount}户`}));C5(nt).map(t=>J2(L2({},t),{key:`${t.name}-ledger`,name:t.name,value:t.protectedAreaWanMu,unit:"万亩",canLocate:!0}));var Dm,Gm,Um;const Yg=[{zh:"四川片区面积",value:_e.nationalParkTotalAreaWanMu,unit:"万亩",decimals:2,icon:"area"},{zh:"红原县划定面积",value:_e.hongyuanDelimitedAreaWanMu,unit:"万亩",decimals:2,icon:"park"},{zh:"牦牛数量",value:_e.yakCount,unit:"头",decimals:0,icon:"stack"},{zh:"牧户数量",value:_e.householdCount,unit:"户",decimals:0,icon:"town"},{zh:"公益岗位",value:_e.ecologyJobCount,unit:"户",decimals:0,icon:"certificate"},{zh:"瓦切镇面积",value:((Dm=nt.find(t=>t.name==="瓦切镇"))==null?void 0:Dm.protectedAreaWanMu)||0,unit:"万亩",decimals:2,icon:"area"},{zh:"麦洼乡面积",value:((Gm=nt.find(t=>t.name==="麦洼乡"))==null?void 0:Gm.protectedAreaWanMu)||0,unit:"万亩",decimals:2,icon:"area"},{zh:"色地镇面积",value:((Um=nt.find(t=>t.name==="色地镇"))==null?void 0:Um.protectedAreaWanMu)||0,unit:"万亩",decimals:2,icon:"area"},{zh:"草地面积",value:_e.grasslandAreaWanMu,unit:"万亩",decimals:2,icon:"leaf"},{zh:"湿地面积",value:_e.wetlandAreaWanMu,unit:"万亩",decimals:2,icon:"wetland"}],$g=[{zh:"修复项目",value:mn.kpi.projectCount,unit:"个",decimals:0},{zh:"治理面积",value:mn.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:mn.kpi.lengthKm,unit:"公里",decimals:2}],Wj=[{zh:"项目库工程",value:mn.kpi.projectCount,unit:"个",decimals:0},{zh:"可比对图斑",value:mn.kpi.featureCount,unit:"个",decimals:0},{zh:"项目面积",value:mn.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:mn.kpi.lengthKm,unit:"公里",decimals:2}];function Vj(t){return ma.includes(t)?[]:t==="engineering-analysis"?[]:(t==="restoration"?$g:Yg.slice(0,5)).map((n,a)=>L2({icon:n.icon||(a%2===0?"xiaoshoujine":"zongxiaoliang"),en:""},n))}const Wg={left:[{key:"park-town-grass-wet-area",title:"草地湿地面积分布",type:"stackColumn",variant:"parkSlim",showValue:!0,sharedScale:!0,unit:"万亩",segments:[{key:"grassland",name:"草地面积",color:"#24f6c4"},{key:"wetland",name:"湿地面积",color:"#8bf7ff"}],rows:Uj},{key:"park-town-productivity",title:"草地湿地生产力",type:"stackColumn",variant:"parkSlim",showValue:!0,sharedScale:!0,unit:"万吨",segments:[{key:"grassland",name:"草地生产力",color:"#32dcff"},{key:"wetland",name:"湿地生产力",color:"#8bf7ff"}],rows:Oj},{key:"park-town-yak",title:"乡镇牦牛数量",type:"bar",variant:"parkBar",rows:jj},{key:"park-town-balance",title:"草畜平衡超载率",type:"balanceGaugeGrid",limit:1,rows:Yj}],right:[{key:"park-zoning-structure",title:"红原管控区结构",type:"donut",rows:Du(Rj)},{key:"park-town-household",title:"牧户分布",type:"split",rows:zj},{key:"park-town-ecology-job",title:"公益岗位分布",type:"column",variant:"plain",rows:$j}]},Ks=new Map((mn.townships||[]).filter(t=>/[乡镇]$/.test(String(t.name||""))).map(t=>[t.name,t])),Vg=ln.map(t=>{var e,n,a;return{name:t,areaWanMu:((e=Ks.get(t))==null?void 0:e.areaWanMu)||0,lengthKm:((n=Ks.get(t))==null?void 0:n.lengthKm)||0,projectCount:((a=Ks.get(t))==null?void 0:a.projectCount)||0}}),Hg=(mn.projects||[]).map((t,e)=>{const n=Number(t.areaWanMu)>0,a=Number(t.lengthKm)>0,i=n?{value:B0(t.areaWanMu,2),unit:"万亩",metric:"治理面积"}:a?{value:B0(t.lengthKm,2),unit:"公里",metric:"工程长度"}:{value:t.subjectFeatureCount||0,unit:"个",metric:"主体要素"},r=(t.measureTypes||[]).join("、"),o=(t.townships||[]).join("、");return{key:t.id||t.projectName,index:e+1,name:t.projectName,projectName:t.projectName,category:t.projectCategory,year:t.year||"未知",areaWanMu:B0(t.areaWanMu,4),lengthKm:B0(t.lengthKm,2),measure:r,townships:o,subjectFeatureCount:t.subjectFeatureCount||0,value:i.value,unit:i.unit,metric:i.metric,extra:[t.year||"未知",r].filter(Boolean).join(" / "),searchText:[t.projectName,t.projectCategory,t.year,r,o].filter(Boolean).join(" ")}});Hg.map((t,e)=>{const n=e%6,a=Math.floor(e/6),i=102.42+n*.045,r=32.55+a*.035,o=.018+Math.min(.024,Number(t.areaWanMu||0)/1200);return{type:"Feature",properties:{project_name:t.projectName,project_category:t.category,year:t.year,areaWanMu:t.areaWanMu,lengthKm:t.lengthKm,townships:t.townships,measure:t.measure},geometry:{type:"Polygon",coordinates:[[[i,r],[i+o,r+o*.22],[i+o*.82,r+o],[i-o*.16,r+o*.72],[i,r]]]}}});const Wi={left:[{key:"restoration-year-area",title:"治理面积分布",type:"line",labelMode:"horizontal",rows:(mn.years||[]).map(t=>({key:t.name,name:`${t.name}`,value:B0(t.areaWanMu,2),unit:"万亩",extra:`${t.projectCount||0}个项目`}))},{key:"restoration-town-area",title:"乡镇治理面积分布",type:"column",variant:"water",labelMode:"horizontal",scrollable:!1,rows:Vg.map(t=>({key:t.name,name:t.name,value:B0(t.areaWanMu,2),unit:"万亩",extra:`${B0(t.lengthKm,2)}公里`}))},{key:"restoration-category",title:"修复类型占比",type:"donut",rows:(mn.categories||[]).map(t=>({key:t.name,name:t.name,value:B0(t.areaWanMu||t.lengthKm||t.subjectFeatureCount,2),unit:t.areaWanMu?"万亩":t.lengthKm?"公里":"个",extra:`${t.subjectFeatureCount}个图斑`}))},{key:"restoration-year-length",title:"年度工程长度",type:"column",variant:"slim",labelMode:"horizontal",rows:(mn.years||[]).filter(t=>Number(t.lengthKm)>0).map(t=>({key:t.name,name:`${t.name}`,value:B0(t.lengthKm,2),unit:"公里",extra:`${t.projectCount||0}个项目`}))}],right:[{key:"restoration-measure-area",title:"修复措施统计",type:"structure",rows:(mn.measures||[]).slice(0,8).map(t=>({key:t.name,name:t.name,value:B0(t.areaWanMu||t.lengthKm||t.subjectFeatureCount,2),unit:t.areaWanMu?"万亩":t.lengthKm?"公里":"个",extra:`${t.projectCount}个项目`}))},{key:"restoration-year-project",title:"年度项目数量",type:"column",variant:"projectYear",labelMode:"horizontal",rows:(mn.years||[]).filter(t=>t.name!=="未知").map(t=>({key:t.name,name:`${t.name}`,value:t.projectCount,unit:"个",extra:`${B0(t.areaWanMu,2)}万亩`}))},{key:"restoration-projects",title:"重点项目库",type:"projectTable",span:2,rows:Hg}]},Hj={left:[],right:[]};function Kj(t){return ma.includes(t)?{status:"success",title:t==="natural-protected-area"?"自然保护地":"生态保护红线",metricLabel:"",unit:"",rows:[]}:t==="restoration"?{status:"success",title:"乡镇治理排行",metricLabel:"治理面积",unit:"万亩",rows:Vg.map(e=>({name:e.name,value:B0(e.areaWanMu,2),unit:"万亩"}))}:t==="engineering-analysis"?{status:"success",title:"工程分析",metricLabel:"",unit:"",rows:[]}:{status:"success",title:"国家公园乡镇划定面积",scope:"town",hideTownNames:!1,onlyRankedTownLabels:!0,metricLabel:"划定面积",unit:"万亩",rows:Gj.map(e=>({name:e.name,value:e.value,unit:e.unit,metricLabel:"划定面积"}))}}const qj={class:"forest-grass-wet ecological-protection"},Jj={class:"forest-grass-wet-ui ecological-protection-ui"},Qj={key:0,class:"fgw-left"},Xj={class:"fgw-side-stack is-left"},Zj={key:1,class:"fgw-right"},ez={class:"fgw-side-stack is-right"},tz={class:"fgw-bottom-topic ecological-bottom-topic"},nz={key:0,class:"loading"},az={class:"loading-progress"},iz={class:"value"},rz={__name:"index",props:{activeView:{type:String,default:"ecological-redline"},showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=t3(null),o=t3(null),s=t3(""),u=t3(""),m=t3(Mi({},"ecological-redline")),h=t3(null),p=t3(!1),g=t3(!1),b=t3(null),F=t3(0),H=t3(a.showLoading),K=t3(null),e2=t3(0),p2=t3({type:"idle",text:"等待生态保护图层加载"});let v2=null,A2=!1,_2=!1,q2=!1,K2=null,$2=0,c3=0,p3=0;const y3=new Map,z3=t3(null),S3=new Set(["code","msg","message","success","data","result","project","progress","dycolumn","geom","wkt","geometry","the_geom","raw_properties","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"]),I3=l2(()=>v8.some(N2=>N2.key===a.activeView)?a.activeView:"ecological-redline"),A3=l2(()=>I3.value==="engineering-analysis"),a1=l2(()=>["restoration","engineering-analysis"].includes(I3.value)),C1=l2(()=>ma.includes(I3.value)),y1=l2(()=>s.value?W5(I3.value,s.value):null),S1=l2(()=>{var N2;return(((N2=y1.value)==null?void 0:N2.legends)||[]).find(e3=>e3.key===u.value)||null}),l1=l2(()=>{var N2;return((N2=y1.value)==null?void 0:N2.legends)||[]}),E1=l2(()=>z8(I3.value)),t0=l2(()=>!A3.value&&E1.value.length<=2&&l1.value.length<=6),o0=l2(()=>{if(!t0.value)return 430;const N2=Math.max(1,E1.value.length),e3=Math.ceil(l1.value.length/2),b3=l1.value.length?24+Math.max(28,e3*28):28;return Math.max(132,Math.min(224,48+N2*32+b3))}),G1=l2(()=>{const N2=y1.value;return N2?S1.value?J2(L2({},N2),{cqlFilter:S1.value.cqlFilter||N2.cqlFilter,activeLegend:S1.value,name:S1.value.name||N2.name}):N2:null}),Q1=l2(()=>C1.value?m.value:I3.value==="restoration"?U1(z3.value):I3.value==="engineering-analysis"?Hj:Wg),d3=l2(()=>Q1.value.left||[]),F3=l2(()=>Q1.value.right||[]),U3=t3(typeof window=="undefined"?1080:window.innerHeight),a3=fn.sideCardWidth,F2=l2(()=>X8(U3.value)),N3=l2(()=>R9(F2.value,2)),_3=l2(()=>!!b.value),o1=l2(()=>{if(g.value||p.value||!h.value)return 186;const N2=k0(h.value);return Math.min(480,Math.max(300,86+Math.min(N2,12)*34))}),w1=l2(()=>{if(!b.value)return{};const N2=460,e3=o1.value,b3=24,A1=f1(b.value),z1=104,J1=36,s0=Math.min(Math.max(A1.x-N2/2,b3),1920-N2-b3),R0=Math.min(Math.max(A1.y-e3-J1,z1),1080-e3-b3);return{left:`${s0}px`,top:`${R0}px`,right:"auto",bottom:"auto"}});function U1(N2){return!Array.isArray(N2)||!N2.length?Wi:J2(L2({},Wi),{right:(Wi.right||[]).map(e3=>(e3==null?void 0:e3.key)==="restoration-projects"?J2(L2({},e3),{rows:N2}):e3)})}Ln(()=>{W1(),window.addEventListener("resize",W1),document.addEventListener("pointerdown",Be,!0),i1(),O(I3.value)}),Rn(()=>{A2=!0,K2&&window.clearTimeout(K2),window.removeEventListener("resize",W1),document.removeEventListener("pointerdown",Be,!0)}),V0(I3,N2=>{O(N2)}),V0(s,()=>{u.value="",ae()}),V0(u,()=>{ae()}),V0(()=>a.active,N2=>{var e3,b3,A1,z1;r.value&&(N2?(N1(),(b3=(e3=r.value).resume)==null||b3.call(e3)):(z1=(A1=r.value).pause)==null||z1.call(A1))});function O(N2){var A1,z1,J1,s0,R0;const e3=v8.find(M2=>M2.key===N2)||v8[0],b3=z8(N2);u.value="",s.value=e3.defaultLayerKey||((A1=b3[0])==null?void 0:A1.key)||"",K.value=Kj(N2),e2.value=0,(J1=(z1=r.value)==null?void 0:z1.setBoundaryDrawing)==null||J1.call(z1,!1),N2!=="engineering-analysis"&&((R0=(s0=r.value)==null?void 0:s0.clearAnalysisBoundary)==null||R0.call(s0)),ae(),ma.includes(N2)&&(m.value=Mi({},N2),G3(N2)),N2==="restoration"&&v3(),i("module-stats",{moduleKey:"ecological-protection",viewKey:N2,items:ma.includes(N2)?Ws({},N2):Vj(N2)})}function v3(){return k3(this,null,function*(){const N2=++p3;try{const e3=yield PR("",1,200);if(N2!==p3||I3.value!=="restoration"||A2)return;const b3=w3(e3);z3.value=b3.length?b3:null}catch(e3){if(N2!==p3||I3.value!=="restoration"||A2)return;z3.value=null,console.warn("Failed to load restoration project list",e3)}})}function w3(N2){return P3(N2).map((e3,b3)=>H3(e3,b3)).filter(e3=>e3.name)}function P3(N2){var b3,A1,z1,J1,s0,R0;if(Array.isArray(N2))return N2;if(!N2||typeof N2!="object")return[];const e3=[N2.rows,N2.list,N2.records,N2.items,(b3=N2.data)==null?void 0:b3.rows,(A1=N2.data)==null?void 0:A1.list,(z1=N2.data)==null?void 0:z1.records,(J1=N2.result)==null?void 0:J1.rows,(s0=N2.result)==null?void 0:s0.list,(R0=N2.result)==null?void 0:R0.records];for(const M2 of e3)if(Array.isArray(M2))return M2;return[]}function H3(N2={},e3=0){const b3=j3(N2,["projectName","project_name","name","project","title"]),A1=j3(N2,["projectCategory","project_category","category","type","project_type"]),z1=j3(N2,["year","projectYear","project_year","buildYear","build_year"])||"未知",J1=e0(j3(N2,["areaWanMu","area_wan_mu","area_mu","acreage","area","mj"])),s0=O2(j3(N2,["lengthKm","length_km","length_meter","length","project_length"])),R0=q3(j3(N2,["measure","measureTypes","measure_types","measure_type","method"])),M2=q3(j3(N2,["townships","township","town","xzqmc","full_name"])),R=e0(j3(N2,["subjectFeatureCount","subject_feature_count","featureCount","feature_count","count"])),M=J1>0,d=s0>0,f=M?Y2(J1,2):d?Y2(s0,2):R||0,y=M?"万亩":d?"公里":"个",w=M?"治理面积":d?"工程长度":"主体要素";return{key:N2.id||N2.project_id||b3||`project-${e3+1}`,index:e3+1,name:b3,projectName:b3,category:A1,year:z1,areaWanMu:Y2(J1,4),lengthKm:Y2(s0,2),measure:R0,townships:M2,subjectFeatureCount:R,value:f,unit:y,metric:w,extra:[z1,R0].filter(Boolean).join(" / "),searchText:[b3,A1,z1,R0,M2].filter(Boolean).join(" ")}}function j3(N2,e3){for(const b3 of e3){const A1=N2==null?void 0:N2[b3];if(A1!=null&&A1!=="")return A1}}function q3(N2){return Array.isArray(N2)?N2.filter(Boolean).join("、"):String(N2||"").trim()}function e0(N2){if(N2==null||N2==="")return 0;const e3=Number(String(N2).replace(/[^\d.-]/g,""));return Number.isFinite(e3)?e3:0}function O2(N2){const e3=e0(N2);return e3?e3>1e4?e3/1e3:e3:0}function Y2(N2,e3=2){return Number(Number(N2||0).toFixed(e3))}function s3(N2){const e3=v8.some(b3=>b3.key===N2)?N2:"ecological-redline";e3!==I3.value&&i("view-change",e3)}function G3(N2){return k3(this,null,function*(){const e3=++$2;try{const A1=y3.get(N2)||(yield MF(N2));if(e3!==$2||I3.value!==N2)return;y3.set(N2,A1),m.value=Mi(A1,N2),i("module-stats",{moduleKey:"ecological-protection",viewKey:N2,items:Ws(A1,N2)})}catch(b3){if(e3!==$2||I3.value!==N2)return;m.value=Mi({},N2),i("module-stats",{moduleKey:"ecological-protection",viewKey:N2,items:Ws({},N2)}),p2.value={type:"error",text:"保护范围统计加载失败"},console.warn("Failed to load ecological scope statistics",b3)}})}function i1(){var b3;v2=new Or;const N2={progress:0};v2.instance.on("onProgress",(A1,z1,J1)=>{const s0=Math.floor(z1/J1*100);Ht.to(N2,{progress:s0,onUpdate:()=>{F.value=Math.floor(N2.progress)}})});const e3=()=>{A2||_2||(_2=!0,N1())};v2.instance.on("onLoad",e3),(b3=v2.ready)==null||b3.then(e3).catch(()=>{A2||(p2.value={type:"error",text:"地图资源加载失败"})})}function N1(){A2||!a.active||!_2||q2||(q2=!0,K2&&window.clearTimeout(K2),K2=window.setTimeout(()=>{K2=null,q1()},600))}function q1(N2=0){return k3(this,null,function*(){var b3,A1,z1,J1,s0;if(A2)return;if(!a.active){q2=!1;return}if(yield q0(),!a.active){q2=!1;return}if(!!((A1=(b3=r.value)==null?void 0:b3.loadMap)!=null&&A1.call(b3,v2)||(J1=(z1=r.value)==null?void 0:z1.hasMap)!=null&&J1.call(z1))){yield p0(),yield q0(),(s0=r.value)==null||s0.play();return}if(N2<24){window.setTimeout(()=>q1(N2+1),120);return}q2=!1})}function Y3(){K2&&(window.clearTimeout(K2),K2=null)}function r1(){var N2,e3,b3,A1;(e3=(N2=r.value)==null?void 0:N2.resume)==null||e3.call(N2),(A1=(b3=r.value)==null?void 0:b3.refreshView)==null||A1.call(b3)}function K3(){var N2,e3,b3,A1,z1,J1;if(ae(),(e3=(N2=r.value)==null?void 0:N2.setBoundaryDrawing)==null||e3.call(N2,!1),(A1=(b3=r.value)==null?void 0:b3.clearAnalysisBoundary)==null||A1.call(b3),(J1=(z1=r.value)==null?void 0:z1.hasMap)!=null&&J1.call(z1)){r1();return}Y3(),q2=!1,q0(()=>{N1()})}e({refreshMapView:r1,resetMap:K3});function f1(N2){const e3=document.querySelector(".ecological-protection"),b3=e3==null?void 0:e3.getBoundingClientRect();return!(b3!=null&&b3.width)||!(b3!=null&&b3.height)?N2:{x:(N2.x-b3.left)/b3.width*1920,y:(N2.y-b3.top)/b3.height*1080}}function W1(){U3.value=typeof window=="undefined"?1080:window.innerHeight}function T0(N2,e3){return`${I3.value}-${e3}-${(N2==null?void 0:N2.key)||(N2==null?void 0:N2.title)||"panel"}`}function O0(N2){return(N2==null?void 0:N2.span)===2}function D0(N2){return O0(N2)?N3.value:F2.value}function k0(N2){const e3=(N2==null?void 0:N2.properties)||{};return Object.keys(e3).filter(b3=>ye(b3,e3[b3])).length}function ye(N2,e3){return e3==null||e3===""||Array.isArray(e3)||typeof e3=="object"?!1:!S3.has(String(N2||"").toLowerCase())}function Q0(N2={}){const e3=Le(N2.lng),b3=Le(N2.lat);return e3===""||b3===""?"":`POINT(${e3} ${b3})`}function Le(N2){const e3=Number(N2);return Number.isFinite(e3)?e3.toFixed(8).replace(/\.?0+$/,""):""}function M0(){return k3(this,arguments,function*(N2={}){var J1,s0;if(!a1.value)return;const e3=Number((J1=N2==null?void 0:N2.lngLat)==null?void 0:J1.lng),b3=Number((s0=N2==null?void 0:N2.lngLat)==null?void 0:s0.lat);if(!Number.isFinite(e3)||!Number.isFinite(b3)){ae();return}const A1=++c3,z1=N2.screen||{x:960,y:540};b.value=null,h.value=null,p.value=!1,g.value=!0;try{const R0=yield MR(Q0({lng:e3,lat:b3}));if(A1!==c3||A2)return;const M2=ve(R0,N2);if(!M2||k0(M2)<=0){ae();return}h.value=M2,b.value=z1,p.value=!1}catch(R0){if(A1!==c3)return;ae()}finally{A1===c3&&(g.value=!1)}})}function ve(N2,e3={}){var J1,s0,R0;const b3=se((N2==null?void 0:N2.project)||((J1=N2==null?void 0:N2.data)==null?void 0:J1.project)||(N2==null?void 0:N2.data)||N2);if(!R1(b3))return null;const A1=m2(b3,N2),z1=b3.geom||b3.geometry||b3.wkt||null;return{id:b3.id||A1.id||A1.project_name||`project-${(s0=e3==null?void 0:e3.lngLat)==null?void 0:s0.lng}-${(R0=e3==null?void 0:e3.lngLat)==null?void 0:R0.lat}`,properties:A1,feature:{type:"Feature",properties:A1,geometry:z1},geometry:z1,layer:e3.overlayLayer||G1.value||y1.value,lngLat:e3.lngLat}}function se(N2){return Array.isArray(N2)?N2.find(e3=>e3&&typeof e3=="object")||null:N2&&typeof N2=="object"?N2:null}function R1(N2){return!N2||typeof N2!="object"?!1:Array.isArray(N2.dyColumn)&&N2.dyColumn.some(C3)?!0:Object.keys(N2).some(e3=>ye(e3,N2[e3]))}function C3(N2={}){const e3=N2==null?void 0:N2.value;return e3==null||e3===""?!1:!!String((N2==null?void 0:N2.field)||(N2==null?void 0:N2.title)||"").trim()}function m2(N2={},e3={}){const b3=L2({},N2);(Array.isArray(N2.dyColumn)?N2.dyColumn:[]).forEach(R0=>{const M2=R0==null?void 0:R0.value;if(M2==null||M2==="")return;const R=String((R0==null?void 0:R0.field)||"").trim();[R,D2(R)].filter(Boolean).forEach(d=>{(b3[d]===void 0||b3[d]===null||b3[d]==="")&&(b3[d]=M2)})});const z1=b3.project_name||b3.projectName||b3.name,J1=b3.area_mu||b3.areaMu||b3.acreage,s0=b3.project_status||b3.projectStatus;return J2(L2({},b3),{project_name:z1,name:z1||b3.name,area_mu:J1,project_status:s0,progress_count:Array.isArray(e3==null?void 0:e3.progress)?e3.progress.length:void 0})}function D2(N2){return String(N2||"").replace(/[A-Z]/g,e3=>`_${e3.toLowerCase()}`)}function B3(N2){var b3,A1;if(a1.value)return;const e3=(A1=(b3=N2==null?void 0:N2.feature)!=null?b3:N2)!=null?A1:null;if(!e3||k0(e3)<=0){ae();return}h.value=e3,p.value=!1,N2!=null&&N2.screen&&(b.value=N2.screen)}function m3(N2){p2.value=N2}function W3(N2,e3){var A1,z1,J1,s0;if(I3.value==="national-park"&&(e3!=null&&e3.name)){ae(),(z1=(A1=r.value)==null?void 0:A1.focusTown)==null||z1.call(A1,e3.name,{distanceScale:.66,targetLocalZ:.84,cameraOffset:{x:0,y:1.05,z:0},select:!0});return}if(I3.value!=="restoration"||(N2==null?void 0:N2.key)!=="restoration-projects")return;const b3=(e3==null?void 0:e3.projectName)||(e3==null?void 0:e3.name);b3&&(ae(),(s0=(J1=r.value)==null?void 0:J1.focusProject)==null||s0.call(J1,b3))}function Q3(N2){var e3,b3;ae(),e2.value=0,(b3=(e3=r.value)==null?void 0:e3.setBoundaryDrawing)==null||b3.call(e3,N2)}function u0(){var N2,e3;(e3=(N2=r.value)==null?void 0:N2.finishBoundaryDrawing)==null||e3.call(N2)}function Z1(){var N2,e3;(e3=(N2=r.value)==null?void 0:N2.undoBoundaryPoint)==null||e3.call(N2)}function m0(){var N2,e3;e2.value=0,(e3=(N2=r.value)==null?void 0:N2.clearAnalysisBoundary)==null||e3.call(N2)}function te(N2={}){var e3,b3,A1;e2.value=N2.pointCount||((e3=N2.points)==null?void 0:e3.length)||0,N2.status==="complete"&&N2.feature&&(e2.value=0,(A1=(b3=o.value)==null?void 0:b3.applyDrawnBoundary)==null||A1.call(b3,N2.feature)),N2.status==="clear"&&(e2.value=0)}function N0(N2={}){var e3,b3;(b3=(e3=r.value)==null?void 0:e3.showAnalysisResult)==null||b3.call(e3,{boundary:N2.boundary,matches:N2.matches,preserveView:I3.value==="engineering-analysis"}),I3.value}function Me(N2){var b3,A1;const e3=((N2==null?void 0:N2.features)||[]).filter(Boolean);(A1=(b3=r.value)==null?void 0:b3.showAnalysisResult)==null||A1.call(b3,{matches:e3})}function ae(){var N2,e3;c3+=1,h.value=null,p.value=!1,g.value=!1,b.value=null,(e3=(N2=r.value)==null?void 0:N2.clearSelectedFeature)==null||e3.call(N2)}function Be(N2){if(!_3.value)return;const e3=document.querySelector(".fgw-map-feature-info"),b3=N2.target;e3&&b3 instanceof Node&&e3.contains(b3)||ae()}function p0(){return H.value?new Promise(N2=>{Ht.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{H.value=!1,N2()}})}):Promise.resolve()}return(N2,e3)=>(z(),Q("div",qj,[d1(Z8,{ref_key:"mapSceneRef",ref:r,"active-layer":G1.value,"map-ranking":K.value,"admin-boundary-line-scale":2.4,"auto-apply-layer-map-view":!1,onFeatureLoading:e3[0]||(e3[0]=b3=>g.value=b3),onFeatureInfo:B3,onMapClick:M0,onLayerStatus:m3,onDrawBoundary:te},null,8,["active-layer","map-ranking"]),S("div",Jj,[A3.value?L3("",!0):(z(),Q("div",Qj,[S("div",Xj,[(z(!0),Q(O3,null,X3(d3.value,b3=>(z(),he(_0,{key:T0(b3,"left"),class:s1(["fgw-side-card left-card",{"is-double":O0(b3)}]),title:b3.title,width:k1(a3),height:D0(b3)},{default:f0(()=>[d1(cn,{panel:b3,compact:"","column-label-standard":"",onRowSelect:A1=>W3(b3,A1)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","width","height"]))),128))])])),A3.value?L3("",!0):(z(),Q("div",Zj,[S("div",ez,[(z(!0),Q(O3,null,X3(F3.value,b3=>(z(),he(_0,{key:T0(b3,"right"),class:s1(["fgw-side-card right-card",{"is-double":O0(b3)}]),title:b3.title,width:k1(a3),height:D0(b3)},{default:f0(()=>[d1(cn,{panel:b3,compact:"","column-label-standard":"",onRowSelect:A1=>W3(b3,A1)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","width","height"]))),128))])])),A3.value?(z(),he(Mj,{key:2,ref_key:"engineeringAnalysisRef",ref:o,"drawing-point-count":e2.value,onDrawingChange:Q3,onFinishDrawing:u0,onUndoPoint:Z1,onClearBoundary:m0,onAnalysisResult:N0,onFocusProject:Me},null,8,["drawing-point-count"])):L3("",!0),S("div",{class:s1(["fgw-map-layer-tools",{"is-analysis":A3.value,"is-compact":t0.value}]),style:X1({height:`${o0.value}px`})},[d1(jr,{modelValue:s.value,"onUpdate:modelValue":e3[1]||(e3[1]=b3=>s.value=b3),"selected-legend-key":u.value,"onUpdate:selectedLegendKey":e3[2]||(e3[2]=b3=>u.value=b3),"topic-key":I3.value,legends:l1.value,width:248,height:o0.value,compact:t0.value},null,8,["modelValue","selected-legend-key","topic-key","legends","height","compact"])],6),_3.value?(z(),Q("div",{key:3,class:"fgw-map-feature-info",style:X1(w1.value)},[d1(Ga,{feature:h.value,empty:p.value,loading:g.value,width:460,height:o1.value},null,8,["feature","empty","loading","height"])],4)):L3("",!0),S("div",tz,[d1(Ua,{"model-value":I3.value,topics:k1(v8),"onUpdate:modelValue":s3},null,8,["model-value","topics"])])]),H.value?(z(),Q("div",nz,[e3[4]||(e3[4]=ya('
    LOADING
    ',1)),S("div",az,[S("span",iz,c2(F.value),1),e3[3]||(e3[3]=S("span",{class:"unit"},"%",-1))])])):L3("",!0)]))}},Ul=lz("/jsyApi"),oz="/openApi";function sz(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function lz(t){const e=String(t||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function uz(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");throw n.code=t==null?void 0:t.code,n}return x0(t)}function Sr(t,e,n,a={}){return In(sz(t,e),{params:n,timeout:a.timeout||16e3}).then(uz)}function cz(t){return Array.isArray(t)?t:Array.isArray(t==null?void 0:t.rows)?t.rows:Array.isArray(t==null?void 0:t.list)?t.list:Array.isArray(t==null?void 0:t.data)?t.data:[]}function dz(t){return Array.isArray(t)?t.length>0:!t||typeof t!="object"?t!=null&&t!=="":["areaRange","area_range","acreage","grasslandArea","grassland_area","arearange","area","yakNumber","yak_number","yaknumber","number","yakCount","yak_count","livestockCount","livestock_count","bearingCapacity","bearing_capacity","bearingcapacity","capacity","theoryCapacity","livestockCapacity","livestock_capacity","livestockcapacity","carryingCapacity","actualCapacity","overloadRate","overload_rate","overloadrate","rate","level","conclusion","advice","balanceAdvice","balance_advice"].some(n=>t[n]!==void 0&&t[n]!==null&&t[n]!=="")}function fz(){return k3(this,arguments,function*({areaCode:t}={}){const e={areaCode:t},n=[()=>Sr(Ul,"/ai/livestockBalance",e,{timeout:18e3}),()=>Sr(oz,"/ai/balance/advice",e,{timeout:18e3})];let a;for(const i of n)try{const r=yield i();if(dz(r))return r}catch(r){a=r}throw a||new Error("草畜平衡接口不可用")})}function hz(t){return k3(this,null,function*(){const e=[()=>Sr(Ul,"/area/children",{areaCode:t},{timeout:12e3}),()=>Sr(Ul,"/map/areaCode",{areaCode:t},{timeout:12e3})];let n,a=!1;for(const i of e)try{const r=cz(yield i());if(r.length)return r;a=!0}catch(r){n=r}if(a)return[];throw n||new Error("区划接口不可用")})}const mz={class:"grass-livestock-balance"},pz={class:"balance-selector"},gz={class:"balance-scope-tabs"},yz=["onClick"],vz={class:"balance-target-list"},Sz=["title","onClick"],wz={class:"balance-action-box"},bz=["disabled"],Tz={key:0,class:"balance-running"},Cz={class:"balance-running-head"},Az={class:"balance-core-inner"},xz={class:"balance-running-title"},_z={class:"balance-progress-line"},Mz={class:"balance-live-process"},Pz={key:1,class:"balance-waiting"},kz={class:"balance-wait-core"},Ez={class:"balance-core-ring is-empty"},Nz={class:"balance-core-inner"},Rz={class:"balance-preflight"},Lz={key:2,class:"balance-analysis"},Iz={class:"balance-dashboard"},Fz={class:"balance-object-block"},Bz={class:"balance-core"},Dz={class:"balance-core-inner"},Gz={class:"balance-compare"},Uz={class:"balance-bar-row"},Oz={class:"balance-bar-row is-livestock"},jz={class:"balance-detail"},zz={class:"balance-process"},Yz={class:"balance-section-title"},$z={class:"balance-process-track"},Wz={class:"balance-decision"},Vz={class:"balance-section-title"},Hz={class:"balance-conclusion"},Kz={class:"balance-advice-list"},qz={class:"balance-overload-ranking"},Jz={class:"balance-rank-list"},Qz=326,Xz=1310,Zz=128,eY=8,tY=6200,nY={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["loading-progress","map-ready"],setup(t,{emit:e}){const n=t,a=e,i=t3(typeof window=="undefined"?1080:window.innerHeight),r=l2(()=>{const Y3=Math.max(1080,Number(i.value)||1080);return Math.max(944,Y3-Zz-eY)}),o=l2(()=>r.value),s=t3("county"),u=t3(""),m=t3("idle"),h=t3(0),p=t3(0),g=t3(""),b=t3({}),F=t3([]);let H=!1,K=0,e2=null,p2=0,v2=null;const A2=l2(()=>[...mL,...F.value].map(Y3=>pL(b.value[Y3.key],Y3))),_2=l2(()=>A2.value.filter(Y3=>Y3.type==="county")),q2=l2(()=>A2.value.filter(Y3=>Y3.type==="town")),K2=l2(()=>A2.value.filter(Y3=>Y3.type==="village")),$2=l2(()=>s.value==="town"?q2.value:s.value==="village"?K2.value:_2.value),c3=l2(()=>A2.value.find(Y3=>Y3.key===u.value)||null),p3=l2(()=>!!c3.value),y3=l2(()=>m.value==="running"),z3=l2(()=>p3.value&&m.value==="done"),S3=l2(()=>vL(c3.value||{})),I3=l2(()=>[{key:"county",name:"县"},{key:"town",name:"镇"},{key:"village",name:"村"}]),A3=l2(()=>{var Y3;return((Y3=I3.value.find(r1=>r1.key===s.value))==null?void 0:Y3.name)||"县"}),a1=l2(()=>c3.value?c3.value.areaCode?`行政区划 ${c3.value.areaCode}`:c3.value.township||"核算对象":"等待选择核算对象"),C1=l2(()=>g.value?g.value:p3.value?z3.value?"分析已完成":y3.value?"正在执行核算":"已选择,待开始分析":"请先选择具体对象"),y1=l2(()=>z3.value?"草畜平衡分析舱":"草畜平衡分析"),S1=l2(()=>p3.value?y3.value?"分析中":"待开始":"待选择"),l1=l2(()=>p3.value?y3.value?`${c3.value.name} 正在分析`:`${c3.value.name} 待开始分析`:"先选择一个核算对象"),E1=l2(()=>g.value?g.value:p3.value?y3.value?"正在读取草畜平衡结果,核对承载力、载畜量和超载率。":"点击左侧开始分析后,再展示结果、分析过程、结论和建议。":"选择县、镇或村后,系统才会进入草地承载力核算。"),t0=l2(()=>{const Y3=S3.value;return Y3.delta===null?"根据草畜平衡结果表返回的承载力、载畜量和超载率生成判定。":`${Y3.delta>0?"超载量":"承载余量"} ${Oi(Math.abs(Y3.delta))},承载利用率 ${bi(Y3.usageRate)}。`}),o0=l2(()=>S3.value.risk.key==="healthy"?"保持监测":S3.value.risk.key==="watch"?"基本平衡":S3.value.risk.key==="light"?"关注调控":S3.value.delta===null?"按结果表判定":S3.value.delta>0?"需调控载畜量":"承载能力可覆盖"),G1=l2(()=>S3.value.risk.key==="healthy"||S3.value.risk.key==="watch"?"保持监测":S3.value.risk.key==="light"?"关注调控":S3.value.delta===null?"结果表口径":S3.value.delta>0?"需要调控":"保持监测"),Q1=l2(()=>{const Y3=Math.max(0,Math.min(130,Number(S3.value.usageRate)||0));return`${Math.round(Y3/130*360)}deg`}),d3=l2(()=>[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核定草地范围、面积和产草量等级,形成生产力基础口径。"},{key:"forage",index:"02",name:"可利用草量折算",desc:"扣除不可食草量、生态保留量和利用限制,折算可供放牧利用草量。"},{key:"livestock",index:"03",name:"载畜量折算",desc:"依据实际存栏和草畜平衡标准,统一形成载畜压力口径。"},{key:"balance",index:"04",name:"平衡判定",desc:"对比草地承载能力与载畜压力,输出平衡状态和调控方案。"}]),F3=l2(()=>{const Y3=S3.value;return[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与产草能力",pending:"等待草地参数",plan:"核定草地范围、面积和产草量等级"},{key:"forage",index:"02",name:"可利用草量折算",desc:"折算可供放牧利用草量",pending:"等待草量折算",plan:"扣除不可食草量、生态保留量和利用限制"},{key:"livestock",index:"03",name:"载畜量折算",desc:"形成实际载畜压力口径",pending:"等待载畜折算",plan:"依据实际存栏和草畜平衡标准进行折算"},{key:"balance",index:"04",name:"平衡判定",desc:"生成结论与调控方向",pending:"等待平衡判定",plan:["healthy","watch"].includes(Y3.risk.key)?"判定平衡状态并生成监测方案":"判定超载风险并生成调控方案"}]}),U3=l2(()=>F3.value[Math.min(p.value,F3.value.length-1)]||F3.value[0]),a3=l2(()=>[{key:"productivity",index:"01",name:"生产力核算",desc:z3.value?"草地生产力核算":p3.value?"等待核算":"等待选择",state:p3.value?"done":"active"},{key:"forage",index:"02",name:"草量折算",desc:z3.value?"可利用草量折算":"分析后折算",state:y3.value?"active":z3.value?"done":p3.value?"pending":"disabled"},{key:"livestock",index:"03",name:"载畜折算",desc:z3.value?"载畜压力折算":"等待折算",state:y3.value?"active":z3.value?"done":"disabled"},{key:"balance",index:"04",name:"平衡判定",desc:z3.value?S3.value.risk.label:"等待判定",state:z3.value?"done":"disabled"}]),F2=l2(()=>z3.value?SL(c3.value,S3.value.risk):[]),N3=l2(()=>q2.value.filter(Y3=>Number.isFinite(Number(Y3.overloadRate))).slice().sort((Y3,r1)=>Number(r1.overloadRate)-Number(Y3.overloadRate)).slice(0,10)),_3=l2(()=>Math.max(1,...N3.value.map(Y3=>Math.max(0,Number(Y3.overloadRate)||0)))),o1=l2(()=>N3.value.map((Y3,r1)=>J2(L2({},Y3),{rank:r1+1})));function w1(Y3){const r1=Math.max(0,Number(Y3==null?void 0:Y3.overloadRate)||0);return Math.max(6,Math.min(100,r1/_3.value*100))}function U1(Y3){const r1=Number(Y3==null?void 0:Y3.overloadRate);return Number.isFinite(r1)?r1>=2.5?"is-alert":r1>=2?"is-warning":"is-stable":"is-empty"}function O(){i.value=typeof window=="undefined"?1080:window.innerHeight}Ln(()=>{O(),window.addEventListener("resize",O),a("loading-progress",{progress:100}),a("map-ready"),j3()}),Rn(()=>{H=!0,window.removeEventListener("resize",O),K+=1,p2+=1,i1()}),V0(()=>{var Y3;return(Y3=c3.value)==null?void 0:Y3.key},()=>{m.value="idle",h.value=0,p.value=0,g.value="",v2=null,i1()}),V0(()=>n.active,Y3=>{Y3||!y3.value||(m.value="idle",h.value=0,p.value=0,g.value="",v2=null,i1())});function v3(Y3){s.value=Y3,u.value="",m.value="idle",g.value=""}function w3(Y3){Y3&&(s.value=["county","town","village"].includes(Y3.type)?Y3.type:"county",u.value=Y3.key,m.value="idle",g.value="")}function P3(){if(!n.active||!c3.value||y3.value)return;m.value="running",h.value=0,p.value=0,g.value="",i1();const Y3=Date.now();let r1=!1;const K3=H3().catch(f1=>(r1=!0,console.warn("[grassLivestockBalance] fallback balance row used",f1),g.value="接口暂不可用,已使用本地兜底口径",c3.value));v2=K3,e2=window.setInterval(()=>{if(H)return;const f1=v2===K3?92:100;h.value=Math.min(f1,h.value+2),p.value=Math.min(F3.value.length-1,Math.floor(h.value/25))},140),K3.finally(()=>k3(this,null,function*(){var W1;const f1=tY-(Date.now()-Y3);if(f1>0&&(yield new Promise(T0=>window.setTimeout(T0,f1))),!(H||m.value!=="running"||v2!==K3)){if(v2=null,i1(),!c3.value){h.value=0,p.value=0,m.value="idle";return}!r1&&!b.value[(W1=c3.value)==null?void 0:W1.key]&&(g.value="未查询到接口结果,已使用本地兜底口径"),h.value=100,p.value=F3.value.length-1,m.value="done"}}))}function H3(){return k3(this,null,function*(){const Y3=c3.value;if(!Y3)throw new Error("请先选择具体核算对象");if(b.value[Y3.key])return b.value[Y3.key];const r1=++K,K3=yield fz({areaCode:Y3.areaCode});if(H||r1!==K)return null;if(!K3||typeof K3!="object"||!Object.keys(K3).length)throw new Error("未查询到该对象的草畜平衡结果");return b.value=J2(L2({},b.value),{[Y3.key]:K3}),K3})}function j3(){return k3(this,null,function*(){const Y3=++p2,r1=q2.value.filter(K3=>K3==null?void 0:K3.areaCode).map(K3=>L2({},K3));if(r1.length)try{const K3=yield Promise.all(r1.map(f1=>k3(this,null,function*(){try{const W1=yield hz(f1.areaCode);return H||Y3!==p2?[]:q3(W1,f1)}catch(W1){return[]}})));if(H||Y3!==p2)return;F.value=K3.flat()}catch(K3){if(H||Y3!==p2)return;F.value=[]}})}function q3(Y3=[],r1={}){const f1=(Array.isArray(Y3)?Y3:[]).filter(W1=>{const T0=s3(W1),O0=G3(W1);return!!(T0||O0)}).map((W1,T0)=>Y2(W1,T0,r1)).filter(Boolean);return e0(f1,r1)}function e0(Y3=[],r1={}){const K3=new Map;return Y3.forEach(f1=>{const W1=O2(f1,r1),T0=K3.get(W1);if(!T0){K3.set(W1,J2(L2({},f1),{duplicateSources:[f1.source].filter(Boolean)}));return}const D0=!T0.areaCode&&f1.areaCode?L2(L2({},T0),f1):T0;K3.set(W1,J2(L2({},D0),{duplicateSources:[...T0.duplicateSources||[],f1.source].filter(Boolean)}))}),[...K3.values()]}function O2(Y3={},r1={}){const K3=String(Y3.name||"").replace(/\s+/g,"").trim();return`${String(Y3.township||r1.name||"").replace(/\s+/g,"").trim()||"unknown-town"}-${K3||Y3.areaCode||"unknown-village"}`}function Y2(Y3={},r1=0,K3={}){const f1=s3(Y3),W1=G3(Y3)||(f1?`村级区划${f1}`:"");return!f1&&!W1?null:{key:`village-${f1||`${K3.key||K3.name}-${W1}-${r1}`}`,type:"village",name:W1,areaCode:f1,township:K3.name,source:Y3,year:"2026"}}function s3(Y3={}){return String(Yn(Y3,["areaCode","area_code","areacode","code","value","id","areaId","area_id"],"")||"").trim()}function G3(Y3={}){return String(Yn(Y3,["areaName","area_name","areaname","name","label","zoneName","villageName","village_name"],"")||"").trim()}function i1(){e2&&(window.clearInterval(e2),e2=null)}function N1(Y3){return z3.value||y3.value&&Y3<=p.value}function q1(Y3){return Y3(z(),Q("div",mz,[r1[15]||(r1[15]=S("div",{class:"balance-backdrop","aria-hidden":"true"},[S("div",{class:"balance-orbit is-left"}),S("div",{class:"balance-orbit is-right"}),S("div",{class:"balance-energy-band"})],-1)),S("div",{class:"balance-screen",style:X1({"--balance-card-height":`${r.value}px`})},[d1(_0,{class:"balance-card balance-target-card",title:"核算对象",width:Qz,height:o.value},{default:f0(()=>{var K3;return[S("div",pz,[S("div",gz,[(z(!0),Q(O3,null,X3(I3.value,f1=>(z(),Q("button",{key:f1.key,type:"button",class:s1({active:s.value===f1.key}),onClick:W1=>v3(f1.key)},c2(f1.name),11,yz))),128))]),S("div",vz,[(z(!0),Q(O3,null,X3($2.value,f1=>{var W1;return z(),Q("button",{key:f1.key,type:"button",class:s1({active:f1.key===((W1=c3.value)==null?void 0:W1.key)}),title:f1.name,onClick:T0=>w3(f1)},[S("span",null,c2(f1.name),1)],10,Sz)}),128))]),S("div",wz,[r1[0]||(r1[0]=S("span",null,"当前对象",-1)),S("strong",null,c2(((K3=c3.value)==null?void 0:K3.name)||"未选择"),1),S("small",null,c2(C1.value),1),S("button",{type:"button",disabled:!p3.value||y3.value,onClick:P3},c2(y3.value?"分析中...":z3.value?"重新分析":"开始分析"),9,bz)])])]}),_:1},8,["height"]),d1(_0,{class:"balance-card balance-sheet-card",title:y1.value,width:Xz,height:r.value},{default:f0(()=>[S("div",{class:s1(["balance-sheet",{"is-ready":z3.value,"is-running":y3.value}])},[r1[14]||(r1[14]=S("div",{class:"balance-field-lines","aria-hidden":"true"},[S("i"),S("i"),S("i")],-1)),y3.value?(z(),Q("section",Tz,[S("div",Cz,[S("div",{class:"balance-core-ring is-running",style:X1({"--usage-angle":`${h.value*3.6}deg`})},[S("div",Az,[r1[1]||(r1[1]=S("span",null,"分析进度",-1)),S("strong",null,c2(h.value)+"%",1),S("small",null,c2(U3.value.name),1)])],4),S("div",xz,[S("span",null,c2(c3.value.name),1),S("strong",null,c2(U3.value.desc),1),S("small",null,c2(U3.value.plan),1),S("div",_z,[S("i",{style:X1({width:`${h.value}%`})},null,4)])])]),S("div",Mz,[(z(!0),Q(O3,null,X3(F3.value,(K3,f1)=>(z(),Q("div",{key:K3.key,class:s1(["balance-live-step",`is-${q1(f1)}`])},[S("span",null,c2(K3.index),1),S("div",null,[S("strong",null,c2(K3.name),1),S("p",null,c2(N1(f1)?K3.plan:K3.pending),1)])],2))),128))])])):z3.value?(z(),Q("section",Lz,[S("div",Iz,[S("div",Fz,[S("span",null,c2(A3.value)+"核算对象",1),S("strong",null,c2(c3.value.name),1),S("small",null,c2(a1.value),1)]),S("div",Bz,[S("div",{class:"balance-core-ring",style:X1({"--usage-angle":Q1.value})},[S("div",Dz,[r1[5]||(r1[5]=S("span",null,"承载利用率",-1)),S("strong",null,c2(k1(bi)(S3.value.usageRate)),1),S("small",null,"超载率 "+c2(k1(bi)(S3.value.overloadRate)),1)])],4),r1[6]||(r1[6]=S("div",{class:"balance-core-caption"},"草地承载力模型",-1))]),S("div",{class:s1(["balance-verdict-card",`is-${S3.value.risk.key}`])},[r1[7]||(r1[7]=S("span",null,"分析结论",-1)),S("strong",null,c2(S3.value.risk.label),1),S("small",null,c2(o0.value),1)],2)]),S("div",Gz,[S("div",Uz,[r1[8]||(r1[8]=S("span",null,"理论承载力",-1)),S("div",null,[S("i",{style:X1({width:`${S3.value.bearingPercent}%`})},null,4)]),S("strong",null,c2(k1(Oi)(S3.value.bearing)),1)]),S("div",Oz,[r1[9]||(r1[9]=S("span",null,"实际载畜量",-1)),S("div",null,[S("i",{style:X1({width:`${S3.value.livestockPercent}%`})},null,4)]),S("strong",null,c2(k1(Oi)(S3.value.livestock)),1)])]),S("div",jz,[S("div",zz,[S("div",Yz,[r1[10]||(r1[10]=S("span",null,"分析过程",-1)),S("small",null,c2(c3.value.year||"当前年度"),1)]),S("div",$z,[(z(!0),Q(O3,null,X3(a3.value,K3=>(z(),Q("span",{key:`track-${K3.key}`,class:s1(`is-${K3.state}`)},c2(K3.name),3))),128))]),(z(!0),Q(O3,null,X3(d3.value,K3=>(z(),Q("div",{key:K3.key,class:"balance-formula-row"},[S("span",null,c2(K3.index),1),S("div",null,[S("strong",null,c2(K3.name),1),S("p",null,c2(K3.desc),1)])]))),128))]),S("div",Wz,[S("div",Vz,[r1[11]||(r1[11]=S("span",null,"结论与建议",-1)),S("small",null,c2(G1.value),1)]),S("div",Hz,[S("strong",null,c2(S3.value.risk.description),1),S("p",null,c2(t0.value),1)]),S("div",Kz,[(z(!0),Q(O3,null,X3(F2.value,(K3,f1)=>(z(),Q("div",{key:`${K3}-${f1}`,class:"balance-advice-item"},[S("span",null,c2(f1+1),1),S("p",null,c2(K3),1)]))),128))])]),S("div",qz,[r1[13]||(r1[13]=S("div",{class:"balance-section-title"},[S("span",null,"超载率排行"),S("small",null,"乡镇 Top10")],-1)),S("div",Jz,[(z(!0),Q(O3,null,X3(o1.value,K3=>(z(),Q("div",{key:`overload-${K3.key||K3.name}`,class:s1(["balance-rank-row",U1(K3)]),style:X1({"--rank-progress":`${w1(K3)}%`})},[S("span",null,c2(K3.rank),1),S("strong",null,c2(K3.name),1),r1[12]||(r1[12]=S("div",null,[S("i")],-1)),S("em",null,c2(k1(bi)(K3.overloadRate)),1)],6))),128))])])])])):(z(),Q("section",Pz,[S("div",kz,[S("div",Ez,[S("div",Nz,[S("span",null,c2(S1.value),1),S("strong",null,c2(p3.value?c3.value.name:"草畜平衡"),1),S("small",null,c2(p3.value?"待执行模型分析":"等待核算对象"),1)])]),S("h2",null,c2(l1.value),1),S("p",null,c2(E1.value),1)]),S("div",Rz,[S("span",{class:s1({active:p3.value})},"对象锁定",2),r1[2]||(r1[2]=S("i",null,null,-1)),S("span",{class:s1({active:p3.value})},"等待启动分析",2),r1[3]||(r1[3]=S("i",null,null,-1)),r1[4]||(r1[4]=S("span",null,"生成过程与结论",-1))])]))],2)]),_:1},8,["title","height"])],4)]))}},aY="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK+SURBVHgB7dzNbdswGIdxSugCRtGBuklWSO17nXs/J0hHywA11AEMu3wDsLFT5WCJ5PtI/D8nQ5cA/FmxJJLqtofhHBSmPihUAoElEFgCgfVu7ODX95suqOKNXVDpDIElEFgCgSUQWAKBJRBYAoE1G2Q3DJ/j9fRjUGE7DI+f4niEGc0CMYzzKezjx7vWUQwjnMJdF8djDsq8M+QYLu/om0VJGP8OXI/LTc0C+fJhs4/fiIeLQ82hvMaI/zEevsVxCROb/RvSMkpuDCvLVVaLKCUwrGyXvS2hlMKwst6HtIBSEsPKfmO4ZpTSGFaRO/U1otTAsIo9OlkTSi0Mq+izrDWg1MSwij9cXDJKbQyrytPeJaJ4YFjVHr8vCcULw6o6H7IEFE8Mq/oEFRnFG8NymTEkohAwLLcpXBIKBcNynVMnoJAwLPdFDp4oNAwLserEA4WIYXVjK7C9Vr+fY8Gh7e8/Lhha/f5GhDMjJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJZDwvIIQs2kIA/K81tYvzKYhBMh/75vyCYHiDgLBSLmjuIK8xrBV6J1HoO11biCk/Rmk7XUuIMTNMhSU6iDUnUsWAaUqCBkj5Y1SDWQJGClPlCogS8JIeaEUB1kiRsoDpSjIkjFStVGKgawBI1UTpQjImjBStVCyg6wRI1UDJSvImjFSpVGygbSAkSqJkgWkJYxUKZTZIC1ipEqgzAJpGSOVG2UyiDBeyokyCWR3OOyFcd0Yyu4wfA83Ngnk2Pe/ziE82WdhvHSJYuNz7MPPcGOTQH5sNk+nPnyMf/xeGNcZSvyS3tv42DiFG0O94q+19Iq/BSQQWAKBJRBYAoElEFgCgSUQWKM3hsovnSGwBAJLILAEAusvLK6Na4P/Au0AAAAASUVORK5CYII=",iY=L9.map(t=>L2({},t)),rm=lp.map(t=>L2({},t)),rY=lp.map(t=>{var e,n;return{name:t.name,value:t.value,lng:(e=t.center)==null?void 0:e[0],lat:(n=t.center)==null?void 0:n[1]}}),oY=[{name:"邛溪镇",level:"县城驻地",value:895.94,lng:102.60242339873115,lat:32.83022561372293},{name:"瓦切镇",level:"北部牧区",value:991,lng:102.71535664604494,lat:33.12869670968013},{name:"刷经寺镇",level:"南部通道",value:986.44,lng:102.55651980382184,lat:32.204097908180216},{name:"色地镇",level:"东部片区",value:1199.06,lng:103.12540730227074,lat:33.010462261362875}];var om=class{constructor(t,e){E0(this,"target");E0(this,"name");E0(this,"intersected");E0(this,"wasIntersected",!1);E0(this,"wasIntersectedOnMouseDown",!1);E0(this,"distance");this.target=t,this.name=e,this.intersected=!1,this.distance=0}},an=class{constructor(t,e=null){E0(this,"type");E0(this,"cancelBubble");E0(this,"originalEvent");E0(this,"coords",new lt(0,0));E0(this,"distance",0);E0(this,"intersected",!1);E0(this,"wasIntersected",!1);E0(this,"wasIntersectedOnMouseDown",!1);this.cancelBubble=!1,this.type=t,this.originalEvent=e}stopPropagation(){this.cancelBubble=!0}},sY=class{constructor(t,e,n,a){E0(this,"renderer");E0(this,"camera");E0(this,"domElement");E0(this,"bindEventsOnBodyElement");E0(this,"autoAdd");E0(this,"scene");E0(this,"mouse");E0(this,"supportsPointerEvents");E0(this,"interactiveObjects");E0(this,"closestObject");E0(this,"raycaster");E0(this,"treatTouchEventsAsMouseEvents");E0(this,"dispose",()=>{this.domElement.removeEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("pointermove",this.onDocumentPointerMove):this.domElement.removeEventListener("pointermove",this.onDocumentPointerMove),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("mousemove",this.onDocumentMouseMove):this.domElement.removeEventListener("mousemove",this.onDocumentMouseMove),this.domElement.removeEventListener("mousedown",this.onMouseDown),this.domElement.removeEventListener("mouseup",this.onMouseUp),this.domElement.removeEventListener("touchstart",this.onTouchStart),this.domElement.removeEventListener("touchmove",this.onTouchMove),this.domElement.removeEventListener("touchend",this.onTouchEnd)});E0(this,"add",(t,e=[])=>{if(t&&!this.interactiveObjects.find(n=>n.target===t))if(e.length>0)e.forEach(n=>{let a=t.getObjectByName(n);if(a){let i=new om(a,n);this.interactiveObjects.push(i)}});else{let n=new om(t,t.name);this.interactiveObjects.push(n)}});E0(this,"remove",(t,e=[])=>{!t||(e.length>0?e.forEach(n=>{let a=t.getObjectByName(n);a&&(this.interactiveObjects=this.interactiveObjects.filter(i=>i.target!==a))}):this.interactiveObjects=this.interactiveObjects.filter(n=>n.target!==t))});E0(this,"update",()=>{var a;this.raycaster.setFromCamera(this.mouse,this.camera),this.interactiveObjects.forEach(i=>{i.target&&this.checkIntersection(i)}),this.interactiveObjects.sort(function(i,r){return i.distance-r.distance});let t=(a=this.interactiveObjects.find(i=>i.intersected))!=null?a:null;if(t!=this.closestObject){if(this.closestObject){let i=new an("mouseout");this.dispatch(this.closestObject,i)}if(t){let i=new an("mouseover");this.dispatch(t,i)}this.closestObject=t}let e;this.interactiveObjects.forEach(i=>{!i.intersected&&i.wasIntersected&&(e||(e=new an("mouseleave")),this.dispatch(i,e))});let n;this.interactiveObjects.forEach(i=>{i.intersected&&!i.wasIntersected&&(n||(n=new an("mouseenter")),this.dispatch(i,n))})});E0(this,"checkIntersection",t=>{let e=this.raycaster.intersectObjects([t.target],!0);if(t.wasIntersected=t.intersected,e.length>0){let n=e[0].distance;e.forEach(a=>{a.distance{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY);let e=new an("mousemove",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});E0(this,"onDocumentPointerMove",t=>{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY);let e=new an("pointermove",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});E0(this,"onTouchMove",t=>{t.touches.length>0&&this.mapPositionToPoint(this.mouse,t.touches[0].clientX,t.touches[0].clientY);let e=new an(this.treatTouchEventsAsMouseEvents?"mousemove":"touchmove",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});E0(this,"onMouseClick",t=>{this.update();let e=new an("click",t);this.interactiveObjects.forEach(n=>{n.intersected&&this.dispatch(n,e)})});E0(this,"onMouseDown",t=>{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY),this.update();let e=new an("mousedown",t);this.interactiveObjects.forEach(n=>{n.intersected?(n.wasIntersectedOnMouseDown=!0,this.dispatch(n,e)):n.wasIntersectedOnMouseDown=!1})});E0(this,"onPointerDown",t=>{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY),this.update();let e=new an("pointerdown",t);this.interactiveObjects.forEach(n=>{n.intersected&&this.dispatch(n,e)})});E0(this,"onTouchStart",t=>{t.touches.length>0&&this.mapPositionToPoint(this.mouse,t.touches[0].clientX,t.touches[0].clientY),this.update();let e=new an(this.treatTouchEventsAsMouseEvents?"mousedown":"touchstart",t);this.interactiveObjects.forEach(n=>{n.intersected&&this.dispatch(n,e)})});E0(this,"onMouseUp",t=>{let e=new an("mouseup",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});E0(this,"onPointerUp",t=>{let e=new an("pointerup",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});E0(this,"onTouchEnd",t=>{t.touches.length>0&&this.mapPositionToPoint(this.mouse,t.touches[0].clientX,t.touches[0].clientY),this.update();let e=new an(this.treatTouchEventsAsMouseEvents?"mouseup":"touchend",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});E0(this,"dispatch",(t,e)=>{t.target&&!e.cancelBubble&&(e.coords=this.mouse,e.distance=t.distance,e.intersected=t.intersected,e.wasIntersected=t.wasIntersected,e.wasIntersectedOnMouseDown=t.wasIntersectedOnMouseDown,t.target.dispatchEvent(e))});E0(this,"mapPositionToPoint",(t,e,n)=>{let a=this.renderer.domElement.getBoundingClientRect();t.x=(e-a.left)/a.width*2-1,t.y=-((n-a.top)/a.height)*2+1});this.renderer=t,this.camera=e,this.domElement=n,this.bindEventsOnBodyElement=a&&typeof a.bindEventsOnBodyElement<"u"?a.bindEventsOnBodyElement:!0,this.scene=a&&typeof a.scene<"u"?a.scene:null,this.scene&&(this.scene.onBeforeRender=()=>{this.autoAdd&&this.scene!==null&&this.scene.traverse(i=>{this.add(i),i.addEventListener("removed",r=>{this.remove(r.target)})}),this.update()}),this.autoAdd=a&&typeof a.autoAdd<"u"?a.autoAdd:!1,this.autoAdd&&this.scene===null&&console.error("Attention: Options.scene needs to be set when using options.autoAdd"),this.mouse=new lt(-1,1),this.supportsPointerEvents=!!window.PointerEvent,this.interactiveObjects=[],this.closestObject=null,this.raycaster=new MA,n.addEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?n.ownerDocument.addEventListener("pointermove",this.onDocumentPointerMove):n.addEventListener("pointermove",this.onDocumentPointerMove),n.addEventListener("pointerdown",this.onPointerDown),n.addEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?n.ownerDocument.addEventListener("mousemove",this.onDocumentMouseMove):n.addEventListener("mousemove",this.onDocumentMouseMove),n.addEventListener("mousedown",this.onMouseDown),n.addEventListener("mouseup",this.onMouseUp),n.addEventListener("touchstart",this.onTouchStart,{passive:!0}),n.addEventListener("touchmove",this.onTouchMove,{passive:!0}),n.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this.treatTouchEventsAsMouseEvents=!0}};const P8=256,Ol="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",lY=900,uY=10,x9=new Map,k8={west:101.852492,south:31.851389,east:103.347518,north:33.319796};function qs(t,e,n){const a=s5(2,n),i=Math.sin(e*Math.PI/180);return{x:(t+180)/360*a,y:(.5-Math.log((1+i)/(1-i))/(4*Math.PI))*a}}function sm(t,e,n){const a=s5(2,n),i=t/a*360-180,r=Math.PI-2*Math.PI*e/a,o=180/Math.PI*Math.atan(.5*(Math.exp(r)-Math.exp(-r)));return[i,o]}function Pi(t,e,n){return Math.max(e,Math.min(n,t))}function Kg(t,e,{centerLngLat:n,maxCols:a,maxRows:i}={}){const r=qs(t.west,t.north,e),o=qs(t.east,t.south,e),s=Math.floor(r.x),u=Math.floor(o.x),m=Math.floor(r.y),h=Math.floor(o.y);let p=s,g=u,b=m,F=h,H=Math.floor((s+u)/2),K=Math.floor((m+h)/2);if(n&&Number.isFinite(a)&&Number.isFinite(i)){const e2=Pi(Number(n[0]),t.west,t.east),p2=Pi(Number(n[1]),t.south,t.north),v2=qs(e2,p2,e);H=Math.floor(v2.x),K=Math.floor(v2.y);const A2=Math.max(1,Math.min(Math.floor(a),u-s+1)),_2=Math.max(1,Math.min(Math.floor(i),h-m+1));p=Pi(H-Math.floor(A2/2),s,u-A2+1),b=Pi(K-Math.floor(_2/2),m,h-_2+1),g=p+A2-1,F=b+_2-1}return{zoom:e,minX:p,maxX:g,minY:b,maxY:F,centerX:H,centerY:K,cols:g-p+1,rows:F-b+1}}function cY({zoom:t=11,centerLngLat:e,maxCols:n,maxRows:a,bounds:i=k8}={}){return Kg(i,t,{centerLngLat:e,maxCols:n,maxRows:a})}function dY(t,e){const[n,a]=sm(t.minX,t.minY,t.zoom),[i,r]=sm(t.maxX+1,t.maxY+1,t.zoom),[o]=e([n,k8.south]),[s]=e([i,k8.south]),[,u]=e([k8.west,a]),[,m]=e([k8.west,r]);return{left:o,right:s,bottom:-m,top:-u}}function fY(t,e){const{width:n,height:a}=e;t.save(),t.globalCompositeOperation="multiply",t.fillStyle="rgba(5, 24, 34, 0.22)",t.fillRect(0,0,n,a),t.globalCompositeOperation="screen";const i=t.createRadialGradient(n*.5,a*.48,n*.1,n*.5,a*.5,n*.72);i.addColorStop(0,"rgba(80, 230, 255, 0.16)"),i.addColorStop(1,"rgba(0, 18, 36, 0.03)"),t.fillStyle=i,t.fillRect(0,0,n,a),t.restore()}function hY(t,e){const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"#061927"),n.addColorStop(.5,"#0b2c3c"),n.addColorStop(1,"#07131f"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height)}function mY(t){const e=x9.get(t);return e||new Promise(n=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>n(a),a.onerror=()=>{x9.delete(t),n(null)},a.src=t})}function pY(t){const e=x9.get(t);if(e)return e;const n=mY(t);for(x9.set(t,n);x9.size>lY;){const a=x9.keys().next().value;if(!a)break;x9.delete(a)}return n}function gY(t,e,n,a=Ol){return String(a||Ol).replace(/\{x\}/g,t).replace(/\{y\}/g,e).replace(/\{z\}/g,n)}function yY(s,u,m,h){return k3(this,arguments,function*(t,e,n,a,{tileUrlTemplate:i,onTileStatus:r,applyTone:o=!0}={}){const p=[],g=a.cols*a.rows;let b=0,F=0;r==null||r({type:"loading",text:`正在加载${a.zoom}级影像底图`,loaded:b,failed:F,total:g,zoom:a.zoom,tileRange:a,tileUrlTemplate:i}),t.save(),t.filter="brightness(0.92) contrast(1.22) saturate(1.06)";for(let A2=a.minX;A2<=a.maxX;A2+=1)for(let _2=a.minY;_2<=a.maxY;_2+=1)p.push({x:A2,y:_2});p.sort((A2,_2)=>Math.abs(A2.x-a.centerX)+Math.abs(A2.y-a.centerY)-(Math.abs(_2.x-a.centerX)+Math.abs(_2.y-a.centerY)));let H=0;function K(){return k3(this,null,function*(){for(;H0?b/g:0,p2=b===0?"error":e2>=.75?"success":"warning",v2=b===g?`${a.zoom}级影像底图已加载`:b>0?`${a.zoom}级影像底图已加载(${b}/${g}张有效瓦片)`:`${a.zoom}级影像底图加载失败`;r==null||r({type:p2,text:v2,loaded:b,failed:F,total:g,zoom:a.zoom,tileRange:a,tileUrlTemplate:i})})}function lm({geoProjectionCenter:t,geoProjectionScale:e,zoom:n=11,tileUrlTemplate:a=Ol,onTileStatus:i,centerLngLat:r,maxCols:o,maxRows:s,transparentBackground:u=!1,applyTone:m=!0}={}){const h=Kg(k8,n,{centerLngLat:r,maxCols:o,maxRows:s}),p=document.createElement("canvas");p.width=h.cols*P8,p.height=h.rows*P8;const g=p.getContext("2d");u?g.clearRect(0,0,p.width,p.height):hY(g,p);const b=new Ki(p);b.colorSpace=dn,b.wrapS=Sa,b.wrapT=Sa,b.minFilter=k9,b.magFilter=k9,b.needsUpdate=!0;const F=D6().center(t).scale(e).translate([0,0]),H=dY(h,F);return yY(g,p,b,h,{tileUrlTemplate:a,onTileStatus:i,applyTone:m}).catch(K=>{console.warn("load satellite tiles failed:",K),i==null||i({type:"error",text:`${h.zoom}级影像底图加载失败`,loaded:0,failed:h.cols*h.rows,total:h.cols*h.rows,zoom:h.zoom,tileRange:h,tileUrlTemplate:a})}),{texture:b,uvBounds:H,tileRange:h}}function um(t,e){const n=e.right-e.left,a=e.top-e.bottom;t.mapGroup.traverse(i=>{var s,u;const r=(u=(s=i.geometry)==null?void 0:s.attributes)==null?void 0:u.position;if(!i.isMesh||!r)return;const o=new Float32Array(r.count*2);for(let m=0;mn.value-e.value),t}function s6(t){return String(t||"").replace(/\s+/g,"").trim()}function be(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function T9(t,e,n){const a=Number(t);return Number.isFinite(a)?Math.max(e,Math.min(n,a)):e}function mt(t){return String(t!=null?t:"").replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}function pm(t){return(t==null?void 0:t.scope)==="village"||(t==null?void 0:t.labelMode)==="village"}function gm(t){return(t==null?void 0:t.scope)==="trade-flow"||(t==null?void 0:t.labelMode)==="trade-flow"}function PY(t){return(t==null?void 0:t.showFlowLines)!==!1}function ym(t){return!!(t!=null&&t.hideTownNames||(t==null?void 0:t.showTownNames)===!1)}function K4(t){return!!(t!=null&&t.hideMapLabels||(t==null?void 0:t.showMapLabels)===!1)}function kY(t){return(t==null?void 0:t.displayMode)==="callout"||(t==null?void 0:t.labelMode)==="callout"}function ki(t){return["wkt-api","geojson","wfs"].includes(String((t==null?void 0:t.sourceType)||"").toLowerCase())}function EY(t){return(t==null?void 0:t.interactive)===!1||(t==null?void 0:t.key)==="yak-recognition-layer"}function vm(t){return String((t==null?void 0:t.sourceType)||"").toLowerCase()==="wmts"}function Sm(t,e,n){const a=s5(2,n),i=Math.sin(e*Math.PI/180);return{x:(t+180)/360*a,y:(.5-Math.log((1+i)/(1-i))/(4*Math.PI))*a}}function wm(t,e,n){const a=s5(2,n),i=t/a*360-180,r=Math.PI-2*Math.PI*e/a,o=180/Math.PI*Math.atan(.5*(Math.exp(r)-Math.exp(-r)));return[i,o]}function NY(t,e){const n=Sm(t.west,t.north,e),a=Sm(t.east,t.south,e);return{minX:Math.floor(n.x),maxX:Math.floor(a.x),minY:Math.floor(n.y),maxY:Math.floor(a.y)}}function RY(t,e,n,a){const[i,r]=wm(t,e,n),[o,s]=wm(t+1,e+1,n),u=$1.east-$1.west,m=$1.north-$1.south;return{x:(i-$1.west)/u*a.width,y:($1.north-r)/m*a.height,width:(o-i)/u*a.width,height:(r-s)/m*a.height}}function LY(t){const e=m8.get(t);if(e)return e;const n=new Promise(a=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>a(i),i.onerror=()=>{m8.delete(t),a(null)},i.src=t});for(m8.set(t,n);m8.size>AY;){const a=m8.keys().next().value;if(!a)break;m8.delete(a)}return n}function bm(t){return t?/^https?:\/\//.test(t)||t.startsWith("/")?t:`./${t}`:""}function IY(t){if(!t)return null;if(typeof t=="string")try{return JSON.parse(t)}catch(e){return console.warn("地图 GeoJSON 解析失败",e),null}return t}function q4(t){const e=IY(t);return e!=null&&e.features&&e.features.forEach(n=>{var a;((a=n.geometry)==null?void 0:a.type)==="Polygon"&&(n.geometry.coordinates=[n.geometry.coordinates])}),e}function Tm(t){var e,n,a;return t!=null&&t.coordinates?t.type==="Polygon"?Array.isArray((a=(n=(e=t.coordinates)==null?void 0:e[0])==null?void 0:n[0])==null?void 0:a[0])?t.coordinates:[t.coordinates]:t.type==="MultiPolygon"?t.coordinates:[]:[]}class FY extends eP{constructor(e,n,a={}){var s,u,m,h;super(e),this.geoProjectionCenter=[102.6305459723107,32.72169252326339],this.geoProjectionScale=650,this.tradeGeoProjectionCenter=[104,36],this.tradeGeoProjectionScale=11.4,this.tradeNationalDepth=.24,this.depth=.5,this.clicked=!1,this.scene.fog=new PA(466735,1,50),this.scene.background=new Xe(466735),this.camera.instance.position.copy(wY),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.defaultMapCameraPosition=vY.clone(),this.defaultMapTarget=SY.clone(),this.camera.controls.target.copy(this.defaultMapTarget),this.camera.controls.update(),this.activeMapViewTweens=[],this.sceneTweens=[],this.sceneTimers=[],this.interactionManager=new sY(this.renderer.instance,this.camera.instance,this.canvas),this.assets=n,this.callbacks=a,this.useSatelliteBase=a.useSatelliteBase!==!1,this.showNationalBackdrop=a.showNationalBackdrop===!0,this.topicLayerPresentation=a.topicLayerPresentation||"default",this.hideTownLabelStatsByDefault=a.hideTownLabelStats===!0,this.tileUrlTemplate=a.tileUrlTemplate||"",this.usesCustomSatelliteTiles=this.useSatelliteBase&&!!this.tileUrlTemplate;const i=Math.round(Number(a.satelliteTextureZoom));this.satelliteTextureZoom=Number.isFinite(i)&&i>0?Math.min(Js,i):Vx;const r=Math.round(Number(a.satelliteMaxZoom)),o=Number.isFinite(r)&&r>0?Math.min(Js,Math.max(this.satelliteTextureZoom,r)):Js;this.adminBoundaryLineScale=this.normalizeAdminBoundaryLineScale(a.adminBoundaryLineScale),this.mapBoundaryEmphasisMaterial=null,this.dynamicSatelliteMaxZoom=o,this.dynamicSatelliteTileWindow=bY,this.dynamicSatelliteOverlay=null,this.dynamicSatelliteMaterial=null,this.dynamicSatelliteTexture=null,this.dynamicSatelliteCurrentKey="",this.dynamicSatelliteLoadingKey="",this.dynamicSatelliteRequestId=0,this.dynamicSatelliteLastCheck=0,this.topicLayerLoadId=0,this.visibleTopicLayers=[],this.mapAnimationComplete=!1,this.showTownRankingBars=!1,this.showTownRankingPointMarkers=!1,this.currentTownRanking=null,this.villageRankingGroup=null,this.villageRankingLabels=[],this.tradeFlowGroup=null,this.tradeFlowMeshGroup=null,this.tradeFlowLabelGroup=null,this.tradeFlowLabels=[],this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[],this.isTradeNationalMapActive=!1,this.selectedFeatureGroup=null,this.selectedVectorFeatures=[],this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.currentVectorFeatures=[],this.yakIndustryPointLabelGroup=null,this.yakIndustryPointLabels=[],this.yakIndustryPointMarkerGroup=null,this.yakIndustryPointMarkers=[],this.yakIndustryMarkerMaterialCache=new Map,this.hongyuanBoundaryPolygons=[],this.townMetaByName=new Map(rm.map(p=>[s6(p.name),p])),this.staticMapData={china:q4(this.assets.instance.getResource("china")),mapJson:q4(this.assets.instance.getResource("mapJson")),mapStroke:q4(this.assets.instance.getResource("mapStroke"))},this.handleCanvasBoundaryPointerDown=this.handleCanvasBoundaryPointerDown.bind(this),this.handleCanvasBoundaryDoubleClick=this.handleCanvasBoundaryDoubleClick.bind(this),(u=(s=this.canvas)==null?void 0:s.addEventListener)==null||u.call(s,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(h=(m=this.canvas)==null?void 0:m.addEventListener)==null||h.call(m,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.initEnvironment(),this.init()}init(){this.labelGroup=new Ae,this.label3d=new sP(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new Ae,this.flyLineFocusGroup.visible=!1,this.flyLineFocusGroup.rotation.x=-Math.PI/2,this.scene.add(this.flyLineFocusGroup),this.eventElement=[],this.defaultMaterial=null,this.defaultLightMaterial=null,this.createBottomBg(),this.createChinaBlurLine(),this.createGrid(),this.createRotateBorder(),this.createLabel(),this.createMap(),this.createEvent(),this.createFlyLine(),this.createFocus(),this.createParticles(),this.createScatter(),this.createInfoPoint(),this.createStorke();let e=Ht.timeline({onComplete:()=>{if(this.mapAnimationComplete=!0,this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),K4(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}});e.pause(),this.animateTl=e,e.addLabel("focusMap",1.5),e.addLabel("focusMapOpacity",2),e.addLabel("bar",3),e.to(this.camera.instance.position,{duration:2,x:this.defaultMapCameraPosition.x,y:this.defaultMapCameraPosition.y,z:this.defaultMapCameraPosition.z,ease:"circ.out",onStart:()=>{this.flyLineFocusGroup.visible=!1}}),e.to(this.focusMapGroup.position,{duration:1,x:0,y:0,z:0},"focusMap"),e.to(this.focusMapGroup.scale,{duration:1,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{if(this.flyLineGroup.visible=!0,this.scatterGroup.visible=!0,this.InfoPointGroup.visible=!K4(this.currentTownRanking)&&this.showTownRankingPointMarkers&&this.hasTownRankingRows(),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),K4(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}},"focusMap"),e.to(this.focusMapTopMaterial,{duration:1,opacity:this.getFocusMapTopOpacity(),ease:"circ.out"},"focusMapOpacity"),e.to(this.focusMapSideMaterial,{duration:1,opacity:1,ease:"circ.out",onComplete:()=>{this.focusMapSideMaterial.transparent=!1}},"focusMapOpacity"),this.otherLabel.map((a,i)=>{let r=a.element.querySelector(".other-label");e.to(r,{duration:1,delay:.1*i,translateY:0,opacity:1,ease:"circ.out"},"focusMapOpacity")}),e.to(this.mapLineMaterial,{duration:.5,delay:.3,opacity:1},"focusMapOpacity"),this.mapBoundaryEmphasisMaterial&&e.to(this.mapBoundaryEmphasisMaterial,{duration:.5,delay:.3,opacity:this.getAdminBoundaryEmphasisOpacity()},"focusMapOpacity"),e.to(this.rotateBorder1.scale,{delay:.3,duration:1,x:1,y:1,z:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.rotateBorder2.scale,{duration:1,delay:.5,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{var a,i;this.flyLineFocusGroup.visible=!0,(i=(a=this.callbacks).onPlayComplete)==null||i.call(a)}},"focusMapOpacity"),this.showTownRankingBars&&(this.allBar.map((a,i)=>{e.to(a.scale,{duration:1,delay:.1*i,x:1,y:1,z:1,ease:"circ.out"},"bar")}),this.allBarMaterial.map((a,i)=>{e.to(a,{duration:1,delay:.1*i,opacity:1,ease:"circ.out"},"bar")}));const n=this;this.allProvinceLabel.map((a,i)=>{let r=a.element.querySelector(".provinces-label-wrap"),o=a.element.querySelector(".number .value"),s={progress:0};e.to(r,{duration:1,delay:.2*i,translateY:0,opacity:1,ease:"circ.out"},"bar"),e.to(s,{duration:1,delay:.2*i,progress:1,onStart:()=>{s.progress=0},onUpdate:u},"bar");function u(){var h,p;const m=be((p=(h=a.userData)==null?void 0:h.targetValue)!=null?p:o.dataset.targetValue);o.innerText=n.formatMapRankingValue(m*s.progress)}}),this.showTownRankingBars&&this.allGuangquan.map((a,i)=>{e.to(a.children[0].scale,{duration:1,delay:.1*i,x:1,y:1,z:1,ease:"circ.out"},"bar"),e.to(a.children[1].scale,{duration:1,delay:.1*i,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let e=new kA(13171711,4.2);this.scene.add(e);let n=new Ym(14679295,5.8);n.position.set(-30,6,-8),n.castShadow=!0,n.shadow.radius=20,n.shadow.mapSize.width=1024,n.shadow.mapSize.height=1024,this.scene.add(n),this.createPointLight({color:"#1fd6df",intensity:680,distance:1e4,x:-9,y:3,z:-3}),this.createPointLight({color:"#2af0c6",intensity:260,distance:1e4,x:0,y:2,z:5})}createPointLight(e){const n=new zm(1924702,e.intensity,e.distance);n.position.set(e.x,e.y,e.z),this.scene.add(n)}createMap(){let e=new Ae,n=new Ae;this.mapGroup=e,this.focusMapGroup=n;let{china:a,chinaTopLine:i}=this.createChina(),{map:r,mapTop:o,mapLine:s,mapBoundaryEmphasis:u}=this.createProvince();this.createNationalBackdrop(),a.setParent(e),i.setParent(e),this.createDiffuse(),r.setParent(n),o.setParent(n),s.setParent(n),u==null||u.setParent(n),n.position.set(0,0,-.01),n.scale.set(1,1,0),e.add(n),this.createTopicLayer(),e.rotation.x=-Math.PI/2,e.position.set(0,.2,0),this.scene.add(e),this.createBar()}createChina(){let e={chinaBgMaterialColor:"#0d3349",lineColor:"#39c7ef"},n=this.staticMapData.china,a=new ms({color:new Xe(e.chinaBgMaterialColor),transparent:!0,opacity:.72}),i=new j4(this,{data:n,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,merge:!0,material:a,renderOrder:2}),r=new F5({color:e.lineColor,transparent:!0,opacity:.58}),o=new d8(this,{data:n,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,material:r,renderOrder:3});return o.lineGroup.position.z+=.01,{china:i,chinaTopLine:o}}createNationalBackdrop(){var m;if(!this.showNationalBackdrop||this.nationalBackdropGroup)return!1;let e=null;try{e=q4(this.assets.instance.getResource("chinaMap"))}catch(h){return console.warn("首页全国底图资源未加载",h),!1}if(!((m=e==null?void 0:e.features)!=null&&m.length))return!1;const n=this.geoProjectionCenter,a=120,i=new c0(0,0,-.08),r=new ms({color:new Xe("#152c47"),transparent:!0,opacity:.72,depthWrite:!1,fog:!1,side:vt}),o=new j4(this,{data:e,geoProjectionCenter:n,geoProjectionScale:a,merge:!0,position:i,material:r,renderOrder:0});o.mapGroup.name="home-national-backdrop-fill",o.setParent(this.mapGroup);const s=new F5({color:new Xe("#3f82cd"),transparent:!0,opacity:.46,depthWrite:!1,fog:!1}),u=new d8(this,{data:e,geoProjectionCenter:n,geoProjectionScale:a,position:new c0(i.x,i.y,i.z+.01),material:s,renderOrder:1});return u.lineGroup.name="home-national-backdrop-line",u.setParent(this.mapGroup),this.nationalBackdropGroup=o.mapGroup,this.nationalBackdropLineGroup=u.lineGroup,!0}createTradeNationalMap(){var p;if(this.tradeNationalMapGroup)return!0;let e=null;try{e=q4(this.assets.instance.getResource("chinaMap"))}catch(g){return console.warn("牦牛交易全国地图资源未加载",g),!1}const n=e;if(!e||!((p=n==null?void 0:n.features)!=null&&p.length))return!1;const a=new Ae;a.name="trade-national-map",a.visible=!1,a.rotation.x=-Math.PI/2,a.position.set(0,.04,0);const i=new ce({color:403001,transparent:!0,opacity:.14,side:vt,depthWrite:!1,fog:!1});new j4(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new c0(.05,-.05,-.03),material:i,renderOrder:17}).setParent(a);const{topMaterial:o,sideMaterial:s}=this.createTradeNationalMaterials(),u=new rh(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new c0(0,0,0),depth:this.tradeNationalDepth,topFaceMaterial:o,sideMaterial:s,renderOrder:20,bevelThickness:.024,bevelSegments:1});u.mapGroup.traverse(g=>{g.isMesh&&(g.renderOrder=20)}),u.setParent(a);const m=new F5({color:4777983,transparent:!0,opacity:.52,fog:!1,depthTest:!1}),h=new d8(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,material:m,renderOrder:21});return h.lineGroup.position.z+=this.tradeNationalDepth+.055,h.setParent(a),this.scene.add(a),this.tradeNationalMapGroup=a,this.createTradeNationalLabels(n),!0}createTradeNationalMaterials(){const e=new T8({color:16777215,transparent:!0,opacity:.54,roughness:.84,metalness:.08,side:vt,fog:!1});new pi(e,{uColor1:827317,uColor2:403515,size:6.8,dir:"x"});const n=this.assets.instance.getResource("side").clone();n.wrapS=on,n.wrapT=on,n.repeat.set(1,1.2),n.needsUpdate=!0;const a=new T8({color:1485501,map:n,transparent:!0,opacity:.58,roughness:.78,metalness:.04,side:vt,fog:!1});return new pi(a,{uColor1:1354174,uColor2:134940,size:Math.max(this.tradeNationalDepth,.1),dir:"y"}),this.time.on("tick",()=>{n.offset.y+=.004}),{topMaterial:e,sideMaterial:a}}createTradeNationalLabels(e){this.tradeNationalLabelGroup=new Ae,this.tradeNationalLabelGroup.name="trade-national-label",this.tradeNationalLabelGroup.rotation.x=-Math.PI/2,this.tradeNationalLabelGroup.visible=!1,this.scene.add(this.tradeNationalLabelGroup),this.tradeNationalLabels=[];const n=new Set(["四川","青海","甘肃","陕西","重庆","云南","西藏","新疆"]);(e.features||[]).forEach(a=>{var u;const i=((u=a.properties)==null?void 0:u.name)||"",r=this.normalizeTradeProvinceName(i);if(!n.has(r))return;const o=this.getFeatureCenterLngLat(a);if(!o)return;const s=this.label3d.create("","trade-national-label",!0);s.init(`
    ${mt(r)}
    `,this.getTradeLocalPoint(o.lng,o.lat,.82)),this.label3d.setLabelStyle(s,.012,"x"),s.setParent(this.tradeNationalLabelGroup),s.visible=!0,this.tradeNationalLabels.push(s)})}normalizeTradeProvinceName(e=""){return String(e).replace(/省|市|自治区|壮族|回族|维吾尔|特别行政区/g,"").trim()}getFeatureCenterLngLat(e){var r,o,s;const n=((r=e==null?void 0:e.properties)==null?void 0:r.cp)||((o=e==null?void 0:e.properties)==null?void 0:o.centroid)||((s=e==null?void 0:e.properties)==null?void 0:s.center);if(Array.isArray(n)&&Number.isFinite(Number(n[0]))&&Number.isFinite(Number(n[1])))return{lng:Number(n[0]),lat:Number(n[1])};const a=this.getGeometryCoordinateList(e==null?void 0:e.geometry);if(!a.length)return null;const i=a.reduce((u,m)=>({minLng:Math.min(u.minLng,Number(m[0])),maxLng:Math.max(u.maxLng,Number(m[0])),minLat:Math.min(u.minLat,Number(m[1])),maxLat:Math.max(u.maxLat,Number(m[1]))}),{minLng:1/0,maxLng:-1/0,minLat:1/0,maxLat:-1/0});return{lng:(i.minLng+i.maxLng)/2,lat:(i.minLat+i.maxLat)/2}}isHomeTopicPresentation(){return this.topicLayerPresentation==="home"}createProvince(){let e=this.staticMapData.mapJson;this.mapJsonData=e;const n=this.useSatelliteBase?lm({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:this.satelliteTextureZoom,tileUrlTemplate:this.tileUrlTemplate,onTileStatus:p=>{var g,b;return(b=(g=this.callbacks).onTileStatus)==null?void 0:b.call(g,p)}}):null;n!=null&&n.texture&&this.enhanceTexture(n.texture);let[a,i]=this.createProvinceMaterial();this.focusMapTopMaterial=a,this.focusMapSideMaterial=i;let r=new rh(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new c0(0,0,.11),data:e,depth:this.depth,topFaceMaterial:a,sideMaterial:i,renderOrder:9}),o=new T8({color:this.useSatelliteBase?16777215:13172735,map:(n==null?void 0:n.texture)||null,transparent:!0,opacity:this.useSatelliteBase?this.usesCustomSatelliteTiles?1:.94:this.isHomeTopicPresentation()?.58:.88,roughness:this.useSatelliteBase?this.usesCustomSatelliteTiles?.7:.82:.66,metalness:this.useSatelliteBase?0:.08});this.usesCustomSatelliteTiles||new pi(o,{uColor1:this.useSatelliteBase?1629410:this.isHomeTopicPresentation()?683906:1227744,uColor2:this.useSatelliteBase?757673:this.isHomeTopicPresentation()?406090:38069,size:this.useSatelliteBase?15:8.6}),this.defaultMaterial=o,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new Xe("rgba(128,244,255,1)"),this.defaultLightMaterial.opacity=.9;let s=new j4(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new c0(0,0,this.depth+.22),data:e,material:o,renderOrder:this.usesCustomSatelliteTiles?14:8});this.satelliteMapTop=s,this.satelliteMaterial=o,n!=null&&n.uvBounds&&um(s,n.uvBounds),s.mapGroup.children.map(p=>{p.children.map(g=>{g.type==="Mesh"&&this.eventElement.push(g)})}),this.mapLineMaterial=new F5({color:12254463,opacity:0,transparent:!0,linewidth:this.adminBoundaryLineScale,fog:!1});let u=new d8(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapLineMaterial,renderOrder:this.isHomeTopicPresentation()?34:26});u.lineGroup.position.z+=this.depth+(this.isHomeTopicPresentation()?.315:.285);let m=null;const h=this.getAdminBoundaryEmphasisRadius();return h>0&&(this.mapBoundaryEmphasisMaterial=new ce({color:9632767,transparent:!0,opacity:0,depthTest:!1,depthWrite:!1,fog:!1,blending:At}),m=new d8(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapBoundaryEmphasisMaterial,renderOrder:this.usesCustomSatelliteTiles?24:18,type:"Line3",tubeRadius:h}),m.lineGroup.position.z+=this.depth+.255),{map:r,mapTop:s,mapLine:u,mapBoundaryEmphasis:m}}normalizeAdminBoundaryLineScale(e){const n=Number(e);return Number.isFinite(n)?Math.min(4,Math.max(1,n)):1}getAdminBoundaryEmphasisRadius(){return this.adminBoundaryLineScale<=1?0:Math.min(.04,.011*this.adminBoundaryLineScale)}getAdminBoundaryEmphasisOpacity(){return this.adminBoundaryLineScale<=1?0:Math.min(.5,.2+this.adminBoundaryLineScale*.08)}createTopicLayer(){if(!this.mapJsonData)return;this.initHongyuanBoundaryPolygons();const e=document.createElement("canvas");e.width=I6.width,e.height=I6.height;const n=e.getContext("2d");n.clearRect(0,0,e.width,e.height);const a=new Ki(e);a.colorSpace=dn,a.wrapS=Sa,a.wrapT=Sa,a.minFilter=k9,a.magFilter=k9,this.enhanceTexture(a),a.needsUpdate=!0;const i=new ce({map:a,transparent:!0,opacity:0,depthWrite:!1,depthTest:!this.isHomeTopicPresentation(),side:vt,fog:!1}),r=this.createLayerUvBounds(),o=new j4(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new c0(0,0,this.depth+(this.isHomeTopicPresentation()?.272:.255)),data:this.mapJsonData,material:i,renderOrder:this.isHomeTopicPresentation()?24:18});um(o,r),o.setParent(this.focusMapGroup),this.topicLayerUvBounds=r,this.topicLayerCanvas=e,this.topicLayerContext=n,this.topicLayerTexture=a,this.topicLayerMaterial=i,this.topicLayerMap=o}initHongyuanBoundaryPolygons(){var n,a,i;if((n=this.hongyuanBoundaryPolygons)!=null&&n.length)return;const e=this.staticMapData.mapStroke;this.hongyuanBoundaryPolygons=Tm((i=(a=e==null?void 0:e.features)==null?void 0:a[0])==null?void 0:i.geometry)}createSelectedFeatureGroup(){var e;this.selectedFeatureGroup||(this.selectedFeatureGroup=new Ae,this.selectedFeatureGroup.name="selected-feature-highlight",this.selectedFeatureGroup.position.z=this.depth+.31,(e=this.focusMapGroup)==null||e.add(this.selectedFeatureGroup))}createLayerUvBounds(){const e=D6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),[n]=e([$1.west,$1.south]),[a]=e([$1.east,$1.south]),[,i]=e([$1.west,$1.north]),[,r]=e([$1.west,$1.south]);return{left:n,right:a,bottom:-r,top:-i}}setTopicLayer(e){var a,i;if(!e||!this.topicLayerContext||!this.topicLayerTexture)return;this.currentTopicLayer=e,this.visibleTopicLayers=[e],this.clearSelectedFeature(),this.applyLayerMapView(e);const n=++this.topicLayerLoadId;if(this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(i=(a=this.callbacks).onLayerStatus)==null||i.call(a,{type:"loading",text:`正在加载 ${e.name}`}),ki(e)){this.loadVectorTopicLayer(e,n);return}this.loadTopicLayerImage(e).then(r=>{var o,s,u,m;if(n===this.topicLayerLoadId){if(!(r!=null&&r.image)){this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"GeoServer 图层加载失败"});return}this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.drawTopicRasterImage(r.image,r.layer||e),this.topicLayerTexture.needsUpdate=!0,this.updateTopicLayerTextureSampling(e),this.topicLayerMaterial.opacity=this.getTopicLayerMaterialOpacity(e,.84),(m=(u=this.callbacks).onLayerStatus)==null||m.call(u,{type:"success",text:"GeoServer 图层已加载"})}}).catch(()=>{var r,o;n===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"error",text:"GeoServer 图层加载失败"}))})}setTopicLayers(e=[],n=e[0]){var r,o,s,u;if(!this.topicLayerContext||!this.topicLayerTexture)return;const a=e.filter(Boolean);if(!a.length){this.topicLayerLoadId+=1,this.visibleTopicLayers=[],this.currentTopicLayer=null,this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.clearSelectedFeature(),this.applyLayerMapView(null),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"success",text:"图层已关闭"});return}if(a.length===1){this.setTopicLayer(L2(L2({},a[0]),(n==null?void 0:n.key)===a[0].key?n:{}));return}this.currentTopicLayer=n||a[a.length-1],this.visibleTopicLayers=a,this.clearSelectedFeature(),this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.applyLayerMapView(this.currentTopicLayer);const i=++this.topicLayerLoadId;this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(u=(s=this.callbacks).onLayerStatus)==null||u.call(s,{type:"loading",text:`正在加载 ${a.length} 个地图图层`}),Promise.all(a.map(m=>this.loadCompositeTopicLayerItem(m))).then(m=>{var g,b,F;if(i!==this.topicLayerLoadId)return;const h=m.filter(Boolean),p=h.find(H=>{var K,e2;return H.type==="vector"&&((K=H.layer)==null?void 0:K.key)===((e2=this.currentTopicLayer)==null?void 0:e2.key)});this.currentVectorFeatures=((g=p==null?void 0:p.geojson)==null?void 0:g.features)||[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),h.forEach((H,K)=>{var e2,p2;if(H.type==="image"){this.topicLayerContext.save();const v2=K===h.length-1?Math.max(.78,(e2=H.layer.opacity)!=null?e2:.9):Math.min(.52,(p2=H.layer.opacity)!=null?p2:.52);this.topicLayerContext.globalAlpha=Math.min(1,Math.max(.28,v2)),this.drawTopicRasterImage(H.image,H.layer),this.topicLayerContext.restore();return}this.drawVectorTopicLayer(H.layer,H.geojson.features||[],{clear:!1})}),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.updateTopicLayerTextureSampling(this.currentTopicLayer),this.topicLayerMaterial.opacity=h.length?this.getTopicLayerMaterialOpacity(this.currentTopicLayer,1):0,(F=(b=this.callbacks).onLayerStatus)==null||F.call(b,{type:h.length?"success":"error",text:h.length?`已加载 ${h.length} 个地图图层`:"地图图层加载失败"})})}loadCompositeTopicLayerItem(e){return k3(this,null,function*(){if(ki(e))try{const n=yield this.fetchVectorLayerGeojson(e);return{type:"vector",layer:e,geojson:n}}catch(n){return null}return this.loadTopicLayerImage(e).then(n=>n?L2({type:"image"},n):null)})}loadTopicLayerImage(e){return vm(e)?this.loadWmtsTopicLayerImage(e):new Promise(n=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>n({image:a,layer:e}),a.onerror=()=>n(null),a.src=NN(e)})}loadWmtsTopicLayerImage(e){return k3(this,null,function*(){const n=document.createElement("canvas");n.width=I6.width,n.height=I6.height;const a=n.getContext("2d");if(!a)return null;a.clearRect(0,0,n.width,n.height);const i=this.getWmtsTopicZoom(e),r=NY($1,i),o=[];for(let h=r.minX;h<=r.maxX;h+=1)for(let p=r.minY;p<=r.maxY;p+=1)o.push({x:h,y:p});let s=0,u=0;const m=()=>k3(this,null,function*(){for(;u0&&(a.save(),a.globalAlpha=.58,a.filter=`blur(${s}px)`,a.drawImage(i,0,0),a.restore()),o>0){const h=[[-o,0],[o,0],[0,-o],[0,o],[-o,-o],[o,-o],[-o,o],[o,o]];a.save(),a.globalAlpha=.72,h.forEach(([p,g])=>a.drawImage(i,p,g)),a.restore()}a.drawImage(i,0,0)}getWmtsTopicZoom(e={}){var o,s,u;const n=Math.round(Number(e.maximumLevel)),a=Number.isFinite(n)&&n>0?n:21,i=Number((u=(s=(o=e.homeWmtsZoom)!=null?o:e.wmtsZoom)!=null?s:e.tileZoom)!=null?u:this.satelliteTextureZoom),r=Number.isFinite(i)&&i>0?Math.round(i):11;return T9(r,3,Math.min(a,13))}updateTopicLayerTextureSampling(e={}){if(!this.topicLayerTexture)return;const n=vm(e)?rl:k9;this.topicLayerTexture.minFilter=n,this.topicLayerTexture.magFilter=n,this.topicLayerTexture.needsUpdate=!0}drawTopicRasterImage(e,n={}){const a=this.topicLayerCanvas,i=this.topicLayerContext;if(!a||!i)return;if(!n.softMask){this.drawHomeTopicRasterGlow(e,n),i.drawImage(e,0,0,a.width,a.height);return}const r=Math.min(1,Math.max(.08,Number(n.softMaskScale)||.18)),o=document.createElement("canvas");o.width=Math.max(96,Math.round(a.width*r)),o.height=Math.max(96,Math.round(a.height*r));const s=o.getContext("2d");if(!s){i.drawImage(e,0,0,a.width,a.height);return}s.clearRect(0,0,o.width,o.height),s.imageSmoothingEnabled=!0,s.imageSmoothingQuality="high",s.drawImage(e,0,0,o.width,o.height),i.save(),i.imageSmoothingEnabled=!0,i.imageSmoothingQuality="high",i.drawImage(o,0,0,a.width,a.height),i.restore()}drawHomeTopicRasterGlow(e,n={}){var u,m;if(!this.isHomeTopicPresentation())return;const a=this.topicLayerCanvas,i=this.topicLayerContext;if(!a||!i)return;const r=T9((u=n.homeGlowOpacity)!=null?u:0,0,.8),o=T9((m=n.homeGlowBlur)!=null?m:0,0,32);if(!r||!o)return;const s=n.homeGlowColor||"#E5FCFF";i.save(),i.globalAlpha=r,i.filter=`drop-shadow(0 0 ${o}px ${s})`,i.drawImage(e,0,0,a.width,a.height),i.restore()}applyLayerMapView(e,n={}){var u,m;if(!((u=this.camera)!=null&&u.instance)||!((m=this.camera)!=null&&m.controls)||!this.mapAnimationComplete&&!n.force)return;const a=e?null:this.currentTownRanking,i=(e==null?void 0:e.mapView)||(e!=null&&e.cameraPosition?{cameraPosition:e.cameraPosition}:null)||(a==null?void 0:a.mapView)||(a!=null&&a.cameraPosition?{cameraPosition:a.cameraPosition}:null),r=i?this.getLayerMapViewTarget(i):this.defaultMapTarget.clone(),o=i?this.getLayerMapViewCameraPosition(i,r):this.defaultMapCameraPosition.clone(),s=i&&Number.isFinite(i.duration)?i.duration:.75;this.animateMapCamera(o,r,s)}getFocusMapTopOpacity(){return this.useSatelliteBase?this.usesCustomSatelliteTiles?.16:1:.78}getTopicLayerMaterialOpacity(e,n=.84){const a=Number(e==null?void 0:e.opacity),i=Number.isFinite(a)?a:n;if(!this.isHomeTopicPresentation())return i;const r=Number(e==null?void 0:e.homePresentationMaxOpacity),o=Number.isFinite(r)?r:.56;return T9(i,0,o)}getDynamicSatelliteZoom(e){return this.usesCustomSatelliteTiles?e<=4.2?Math.min(this.dynamicSatelliteMaxZoom,21):e<=6.4?Math.min(this.dynamicSatelliteMaxZoom,19):e<=8.4?Math.min(this.dynamicSatelliteMaxZoom,17):e<=11?Math.min(this.dynamicSatelliteMaxZoom,15):e<=14.5?Math.min(this.dynamicSatelliteMaxZoom,13):e<=18?Math.min(this.dynamicSatelliteMaxZoom,11):this.satelliteTextureZoom:this.satelliteTextureZoom}getCameraTargetLngLat(){var r,o,s,u,m,h,p;const e=(u=(s=(o=(r=this.camera)==null?void 0:r.controls)==null?void 0:o.target)==null?void 0:s.clone)==null?void 0:u.call(s);if(!e)return[102.58,32.72];(h=(m=this.focusMapGroup)==null?void 0:m.updateWorldMatrix)==null||h.call(m,!0,!1);const n=this.focusMapGroup?this.focusMapGroup.worldToLocal(e):e,a=D6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),i=((p=a.invert)==null?void 0:p.call(a,[n.x,-n.y]))||[102.58,32.72];return[Math.max($1.west,Math.min($1.east,Number(i[0])||102.58)),Math.max($1.south,Math.min($1.north,Number(i[1])||32.72))]}getDynamicSatelliteTileWindow(e){return e>=21?3:e>=19?5:e>=17?7:e>=15?this.dynamicSatelliteTileWindow:e>=13?Math.min(11,this.dynamicSatelliteTileWindow+2):Math.min(11,this.dynamicSatelliteTileWindow+2)}getDynamicSatelliteKey(e,n){return n?`${e}:${n.minX}-${n.maxX}:${n.minY}-${n.maxY}`:""}updateDynamicSatelliteTiles(e=!1){if(!this.usesCustomSatelliteTiles||!this.mapAnimationComplete)return;const n=Date.now();if(!e&&n-this.dynamicSatelliteLastCheck{var u,m,h,p,g;if((h=(m=this.callbacks).onTileStatus)==null||h.call(m,J2(L2({},s),{text:((u=s.text)==null?void 0:u.replace("影像底图","高清影像底图"))||s.text})),s.type!=="loading"){if(r!==this.dynamicSatelliteRequestId){(g=(p=o==null?void 0:o.texture)==null?void 0:p.dispose)==null||g.call(p);return}if(this.dynamicSatelliteLoadingKey="",Number(s.loaded||0)<=0){this.dynamicSatelliteCurrentKey===i&&this.hideDynamicSatelliteOverlay();return}this.applyDynamicSatelliteOverlay(o,i)}}}),this.applyDynamicSatelliteOverlay(o,i)}ensureDynamicSatelliteOverlay(){var a;if(this.dynamicSatelliteOverlay)return;const e=new ce({transparent:!0,opacity:0,depthWrite:!1,depthTest:!0,side:vt,fog:!1}),n=new We(new d5(1,1),e);n.name="dynamic-satellite-overlay",n.renderOrder=15,n.visible=!1,n.position.z=this.depth+.248,(a=this.focusMapGroup)==null||a.add(n),this.dynamicSatelliteOverlay=n,this.dynamicSatelliteMaterial=e}applyDynamicSatelliteOverlay(e,n){var o,s;if(!(e!=null&&e.texture)||!(e!=null&&e.uvBounds))return;this.ensureDynamicSatelliteOverlay();const a=e.uvBounds,i=Math.max(1e-4,a.right-a.left),r=Math.max(1e-4,a.top-a.bottom);this.dynamicSatelliteOverlay.position.set((a.left+a.right)/2,(a.bottom+a.top)/2,this.depth+.248),this.dynamicSatelliteOverlay.scale.set(i,r,1),this.dynamicSatelliteOverlay.visible=!0,this.dynamicSatelliteTexture&&this.dynamicSatelliteTexture!==e.texture&&((s=(o=this.dynamicSatelliteTexture).dispose)==null||s.call(o)),this.dynamicSatelliteTexture=e.texture,this.dynamicSatelliteMaterial.map=e.texture,this.dynamicSatelliteMaterial.opacity=1,this.dynamicSatelliteMaterial.needsUpdate=!0,this.dynamicSatelliteCurrentKey=n}hideDynamicSatelliteOverlay(){this.dynamicSatelliteOverlay&&(this.dynamicSatelliteOverlay.visible=!1),this.dynamicSatelliteLoadingKey&&(this.dynamicSatelliteRequestId+=1,this.dynamicSatelliteLoadingKey=""),this.dynamicSatelliteCurrentKey=""}ensureMapRevealed(){var e,n,a,i;if(!this.mapAnimationComplete){if((n=(e=this.animateTl)==null?void 0:e.progress)==null||n.call(e,1,!1),(i=(a=this.animateTl)==null?void 0:a.pause)==null||i.call(a),this.mapAnimationComplete=!0,this.focusMapGroup&&(this.focusMapGroup.position.set(0,0,0),this.focusMapGroup.scale.set(1,1,1)),this.focusMapTopMaterial&&(this.focusMapTopMaterial.opacity=this.getFocusMapTopOpacity()),this.focusMapSideMaterial&&(this.focusMapSideMaterial.opacity=1,this.focusMapSideMaterial.transparent=!1),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=!0),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!0),this.scatterGroup&&(this.scatterGroup.visible=!0),this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.hasTownRankingRows()),this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.updateDynamicSatelliteTiles(!0),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),K4(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}}getLayerMapViewTarget(e){var n;return e!=null&&e.targetLngLat?this.lngLatToWorldPoint(e.targetLngLat,(n=e.targetLocalZ)!=null?n:.72):e!=null&&e.target?this.toVector3(e.target,this.defaultMapTarget):this.defaultMapTarget.clone()}getLayerMapViewCameraPosition(e,n){if(e!=null&&e.cameraPosition)return this.toVector3(e.cameraPosition,this.defaultMapCameraPosition);const a=Number.isFinite(e==null?void 0:e.distanceScale)?e.distanceScale:1,i=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(a),r=n.clone().add(i);return e!=null&&e.cameraOffset&&r.add(this.toVector3(e.cameraOffset,new c0(0,0,0))),r}lngLatToWorldPoint(e,n=0){const a=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],i=Number(a==null?void 0:a[0]),r=Number(a==null?void 0:a[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return this.defaultMapTarget.clone();const[o,s]=this.geoProjection([i,r]),u=new c0(o,-s,Number(n)||0);return this.focusMapGroup?this.focusMapGroup.localToWorld(u):u}toVector3(e,n){if(Array.isArray(e)){const[o,s,u]=e.map(Number);return[o,s,u].every(Number.isFinite)?new c0(o,s,u):n.clone()}const a=Number(e==null?void 0:e.x),i=Number(e==null?void 0:e.y),r=Number(e==null?void 0:e.z);return[a,i,r].every(Number.isFinite)?new c0(a,i,r):n.clone()}animateMapCamera(e,n,a=.75){this.activeMapViewTweens.forEach(o=>{var s;return(s=o==null?void 0:o.kill)==null?void 0:s.call(o)}),this.activeMapViewTweens=[];const i=this.camera.controls,r=()=>i.update();this.activeMapViewTweens.push(Ht.to(this.camera.instance.position,{duration:a,x:e.x,y:e.y,z:e.z,ease:"power2.out",onUpdate:r}),Ht.to(i.target,{duration:a,x:n.x,y:n.y,z:n.z,ease:"power2.out",onUpdate:r}))}addSceneTween(e){var n;return e&&(this.sceneTweens.push(e),this.scenePaused&&((n=e.pause)==null||n.call(e)),e)}addSceneTimer(e){return e&&this.sceneTimers.push(e),e}focusTownByName(e,n={}){var s,u,m;const a=this.townMetaByName.get(s6(e)),i=n.select?this.selectTownFeatureByName(e,n):!1;if(n.preserveCamera)return i||!!(a!=null&&a.center);if(!(a!=null&&a.center))return i;const r=this.lngLatToWorldPoint(a.center,(s=n.targetLocalZ)!=null?s:.82),o=this.getLayerMapViewCameraPosition({distanceScale:(u=n.distanceScale)!=null?u:.82,cameraOffset:n.cameraOffset||{x:0,y:1.2,z:0}},r);return this.animateMapCamera(o,r,(m=n.duration)!=null?m:.75),!0}isNationalParkTownSelectionActive(){var e;return((e=this.currentTopicLayer)==null?void 0:e.key)==="national-park-zoning"&&this.getTownRankingMeta().onlyRankedTownLabels}getTownNameFromMapEvent(e){var a,i,r,o,s,u,m,h,p,g;return[(r=(i=(a=e==null?void 0:e.target)==null?void 0:a.parent)==null?void 0:i.userData)==null?void 0:r.name,(s=(o=e==null?void 0:e.target)==null?void 0:o.userData)==null?void 0:s.name,(h=(m=(u=e==null?void 0:e.target)==null?void 0:u.parent)==null?void 0:m.userData)==null?void 0:h.townName,(g=(p=e==null?void 0:e.target)==null?void 0:p.userData)==null?void 0:g.townName].find(b=>String(b||"").trim())||""}findTownFeatureByName(e){var i,r,o,s;const n=s6(e);if(!n)return null;const a=(((i=this.mapJsonData)==null?void 0:i.features)||((o=(r=this.staticMapData)==null?void 0:r.mapJson)==null?void 0:o.features)||[]).find(u=>{const m=(u==null?void 0:u.properties)||{};return[m.name,m.fullName,m.full_name,m.townName].some(p=>s6(p)===n)});return a!=null&&a.geometry?{type:"Feature",properties:J2(L2({},a.properties||{}),{name:((s=a.properties)==null?void 0:s.name)||e,feature_role:"乡镇范围"}),geometry:a.geometry}:null}selectTownFeatureByName(e,n={}){var i,r,o,s,u;const a=this.findTownFeatureByName(e);return a?(this.showSelectedFeature(a,{mode:"town"}),n.silentStatus!==!0&&((u=(s=this.callbacks).onLayerStatus)==null||u.call(s,{type:"success",text:n.statusText||`已选中${((o=a.properties)==null?void 0:o.name)||e}`})),!0):(n.showMissingStatus!==!1&&((r=(i=this.callbacks).onLayerStatus)==null||r.call(i,{type:"warning",text:"未找到对应乡镇边界"})),!1)}handleTownRankingSelect(e,n={}){var s,u;if(!this.isNationalParkTownSelectionActive())return!1;const a=s6(e);if(!a||!this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1).some(m=>s6(m.name)===a))return!1;const o=this.focusTownByName(e,L2({select:!0,preserveCamera:!0,statusText:`已选中${e}`},n));return o&&((u=(s=this.callbacks).onFeatureInfo)==null||u.call(s,{feature:null})),o}focusYakIndustryPoint(e={}){var r,o;const n=this.getYakIndustryPayloadCoordinate(e);if(!n)return(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"warning",text:"当前主体暂无可定位坐标"}),{focused:!1,screen:null};const a=this.findYakIndustryPointFeature(e,n);return a?this.setSelectedVectorFeatures([a]):this.clearSelectedFeature(),{focused:this.flyToLngLat(n,{span:.035,duration:.72,statusText:"已定位产业主体"}),screen:this.getYakIndustryPointScreen(e),feature:a}}focusVectorFeature(e={}){var m,h;const n=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),a=String(e.id||e.key||""),i=String(e.fullName||e.name||"").trim(),r=n.find(p=>{const g=(p==null?void 0:p.properties)||{};return a&&String(g.id||"")===a||i&&String(g.name||g.plot_name||"").trim()===i});if(!r)return(h=(m=this.callbacks).onLayerStatus)==null||h.call(m,{type:"warning",text:"当前图斑尚未加载"}),{focused:!1,screen:null,feature:null};this.setSelectedVectorFeatures([r]);const o=this.getGeometryLngLatBounds(r.geometry);if(!o)return{focused:!1,screen:null,feature:r};const s=[(o.minLng+o.maxLng)/2,(o.minLat+o.maxLat)/2];return{focused:this.flyToLngLat(s,{span:Math.max(o.maxLng-o.minLng,o.maxLat-o.minLat),duration:.75,statusText:"已定位种草图斑"}),screen:this.getVectorFeatureScreen(r),feature:r}}getVectorFeatureScreen(e={}){let n=(e==null?void 0:e.feature)||e;if(!(n!=null&&n.geometry)){const r=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),o=String((e==null?void 0:e.id)||(e==null?void 0:e.key)||"");n=r.find(s=>{var u;return String(((u=s==null?void 0:s.properties)==null?void 0:u.id)||"")===o})||null}const a=this.getGeometryLngLatBounds(n==null?void 0:n.geometry);if(!a)return null;const i=[(a.minLng+a.maxLng)/2,(a.minLat+a.maxLat)/2];return this.lngLatToLayerScreenPoint(i,this.depth+.34)||this.lngLatToScreenPoint(i,this.depth+.32)}getYakIndustryPointScreen(e={}){const n=this.getYakIndustryPayloadCoordinate(e);return n?this.lngLatToLayerScreenPoint(n,this.depth+.36)||this.lngLatToScreenPoint(n,this.depth+.32):null}getYakIndustryPayloadCoordinate(e={}){var r,o,s,u,m;const n=((r=e.geometry)==null?void 0:r.coordinates)||e.coordinates,a=Number((s=(o=e.longitude)!=null?o:e.lng)!=null?s:n==null?void 0:n[0]),i=Number((m=(u=e.latitude)!=null?u:e.lat)!=null?m:n==null?void 0:n[1]);return!Number.isFinite(a)||!Number.isFinite(i)?null:[a,i]}findYakIndustryPointFeature(e={},n=this.getYakIndustryPayloadCoordinate(e)){const a=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),i=String(e.id||e.key||""),r=String(e.fullName||e.name||"").trim(),o=String(e.stageKey||""),s=n&&a.find(m=>{var p;if(((p=m==null?void 0:m.geometry)==null?void 0:p.type)!=="Point")return!1;const h=m.properties||{};return o&&String(h.stageKey||"")!==o?!1:this.getCoordinateDistance(m.geometry.coordinates,n)<=8e-4})||null;if(e.preferCoordinateMatch)return s;const u=a.find(m=>{const h=(m==null?void 0:m.properties)||{};return!!(i&&String(h.id||"")===i||r&&String(h.name||h.fullName||"").trim()===r)});return u||s}loadVectorTopicLayer(e,n){return k3(this,null,function*(){var a,i,r,o;try{const s=yield this.fetchVectorLayerGeojson(e);if(n!==this.topicLayerLoadId)return;this.currentVectorFeatures=s.features||[],this.drawVectorTopicLayer(e,this.currentVectorFeatures),this.updateYakIndustryPointMarkers(e,this.currentVectorFeatures),this.updateYakIndustryPointLabels(e,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=this.getTopicLayerMaterialOpacity(e,.9),(i=(a=this.callbacks).onLayerStatus)==null||i.call(a,{type:"success",text:"真实矢量图层已加载"})}catch(s){if(n!==this.topicLayerLoadId)return;this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"error",text:"真实矢量图层加载失败"})}})}fetchVectorLayerGeojson(e){return k3(this,null,function*(){var r,o;if(e.sourceType==="geojson"){if(((r=e.geojsonData)==null?void 0:r.type)==="FeatureCollection")return e.geojsonData;const s=yield fetch(bm(e.dataPath),{credentials:"include"});if(!s.ok)throw new Error(`HTTP ${s.status}`);return yield s.json()}if(e.sourceType==="wfs"){const s=yield or(e.layerName,{cqlFilter:e.cqlFilter,maxFeatures:e.maxFeatures||1200,timeout:e.timeout||18e3});return(s==null?void 0:s.type)==="FeatureCollection"?s:{type:"FeatureCollection",features:(s==null?void 0:s.features)||[]}}let n=[],a=null;try{const s=yield fetch(e.apiUrl,{credentials:"include"});if(!s.ok)throw new Error(`HTTP ${s.status}`);const u=yield s.json();n=Array.isArray(u==null?void 0:u.data)?u.data:Array.isArray((o=u==null?void 0:u.data)==null?void 0:o.rows)?u.data.rows:[]}catch(s){a=s}let i=this.buildWktLayerFeatures(n);if((!n.length||!i.length)&&e.fallbackPath){const s=yield fetch(bm(e.fallbackPath),{credentials:"include"});if(!s.ok)throw a||new Error(`HTTP ${s.status}`);const u=yield s.json();n=Array.isArray(u==null?void 0:u.rows)?u.rows:[],i=this.buildWktLayerFeatures(n)}return{type:"FeatureCollection",features:i}})}buildWktLayerFeatures(e=[]){return(e||[]).map(n=>({type:"Feature",properties:{id:n.id,type:n.type,totalAcreage:n.totalAcreage,cdAcreage:n.cdAcreage,sdAcreage:n.sdAcreage,cdScl:n.cdScl,sdScl:n.sdScl},geometry:this.parseWktGeometry(this.pickWktValue(n))})).filter(n=>n.geometry)}pickWktValue(e={}){return e.wkt||e.WKT||e.geom||e.geometry||e.the_geom||e.theGeom||e.shape||e.Shape}drawVectorTopicLayer(e,n,a={}){const i=this.topicLayerContext;a.clear!==!1&&i.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),i.save(),i.lineJoin="round",i.lineCap="round",this.clipVectorLayerContext(i,e);const o=this.getVisibleVectorFeatures(e,n).filter(s=>{var u;return!(e!=null&&e.hidePointFeatures)||((u=s==null?void 0:s.geometry)==null?void 0:u.type)!=="Point"}).sort((s,u)=>{var p,g;const m=this.getGeometryDrawRank((p=s.geometry)==null?void 0:p.type),h=this.getGeometryDrawRank((g=u.geometry)==null?void 0:g.type);return m-h});o.forEach(s=>{const u=this.getVectorFeatureStyle(e,s);this.drawVectorFeature(i,s.geometry,u)}),this.drawNationalParkBoundaryOverlay(i,e,o),this.drawSelectedVectorOverlay(i),i.restore()}drawNationalParkBoundaryOverlay(e,n,a=[]){(n==null?void 0:n.key)!=="national-park-zoning"||!a.length||a.forEach(i=>{const r=this.getVectorFeatureStyle(n,i);this.drawVectorFeature(e,i.geometry,J2(L2({},r),{fill:"#071A20",stroke:"#071A20",polygonAlpha:0,lineAlpha:.34,lineWidth:7,glow:!0})),this.drawVectorFeature(e,i.geometry,J2(L2({},r),{fill:"#E7FFF6",stroke:"#E7FFF6",polygonAlpha:0,lineAlpha:.68,lineWidth:2.1,glow:!1})),this.drawVectorFeature(e,i.geometry,J2(L2({},r),{fill:r.stroke,stroke:r.stroke,polygonAlpha:0,lineAlpha:.86,lineWidth:1.2,glow:!1}))})}drawSelectedVectorOverlay(e){const n=this.selectedVectorFeatures||[],a=this.analysisMatchedFeatures||[],i=this.analysisBoundaryFeature,r=this.boundaryDrawPoints||[];if(!n.length&&!a.length&&!i&&!r.length)return;const o=this.isEcologicalProjectLayer(this.currentTopicLayer),s={fill:cm,stroke:_Y,polygonAlpha:o?.2:.28,lineAlpha:o?.78:.98,lineWidth:o?6:12,pointRadius:11,glow:!o,halo:!o},u={fill:cm,stroke:xY,polygonAlpha:o?.34:.52,lineAlpha:o?.94:1,lineWidth:o?3.2:5,pointRadius:6.5,glow:!1,halo:!1};if(e.save(),n.forEach(m=>{var p;const h=(m==null?void 0:m.geometry)||((p=m==null?void 0:m.feature)==null?void 0:p.geometry);this.drawVectorFeature(e,h,s),this.drawVectorFeature(e,h,u)}),a.forEach(m=>{var p;const h=(m==null?void 0:m.geometry)||((p=m==null?void 0:m.feature)==null?void 0:p.geometry);this.drawVectorFeature(e,h,{fill:"#30DCFF",stroke:"#C9FBFF",polygonAlpha:o?.22:.28,lineAlpha:o?.88:.98,lineWidth:o?2.8:5,pointRadius:6,glow:!o})}),i!=null&&i.geometry&&this.drawVectorFeature(e,i.geometry,{fill:"#24F6C4",stroke:"#FFFFFF",polygonAlpha:o?.12:.18,lineAlpha:o?.92:1,lineWidth:o?3:4,pointRadius:6,glow:!o}),r.length){const m=r.map(p=>[p.lng,p.lat]),h={type:"LineString",coordinates:this.boundaryDrawingEnabled?m:[...m,m[0]].filter(Boolean)};this.drawVectorFeature(e,h,{fill:"#24F6C4",stroke:"#24F6C4",polygonAlpha:o?.08:.12,lineAlpha:1,lineWidth:o?3:4,pointRadius:6,glow:!o}),m.forEach(p=>{this.drawVectorFeature(e,{type:"Point",coordinates:p},{fill:"#FFFFFF",stroke:"#24F6C4",polygonAlpha:.2,lineAlpha:1,lineWidth:o?2.4:3,pointRadius:5.5,glow:!o})})}e.restore()}redrawVectorTopicLayer(){!this.topicLayerContext||!this.topicLayerTexture||!this.currentTopicLayer||!ki(this.currentTopicLayer)||(this.drawVectorTopicLayer(this.currentTopicLayer,this.currentVectorFeatures||[]),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0)}featureMatchesLegend(e={},n={}){var r;const a=Array.isArray(n==null?void 0:n.matches)?n.matches.filter(o=>o==null?void 0:o.field):[];if(a.length)return a.some(o=>{var s;return String((s=e[o.field])!=null?s:"")===String(o.value)});const i=n==null?void 0:n.match;return i!=null&&i.field?String((r=e[i.field])!=null?r:"")===String(i.value):!0}getVisibleVectorFeatures(e,n){var s,u;const a=Array.isArray(e==null?void 0:e.activeLegends)?e.activeLegends.filter(m=>{var h,p;return((h=m==null?void 0:m.matches)==null?void 0:h.length)||((p=m==null?void 0:m.match)==null?void 0:p.field)}):[];if(a.length)return(n||[]).filter(m=>a.some(h=>this.featureMatchesLegend((m==null?void 0:m.properties)||{},h)));const i=e==null?void 0:e.activeLegend;if((s=i==null?void 0:i.matches)!=null&&s.length||(u=i==null?void 0:i.match)!=null&&u.field)return(n||[]).filter(m=>this.featureMatchesLegend((m==null?void 0:m.properties)||{},i));const o=String((e==null?void 0:e.cqlFilter)||"").trim().match(/^([a-zA-Z0-9_]+)\s*=\s*'((?:''|[^'])*)'$/);if(o){const[,m,h]=o,p=h.replace(/''/g,"'");return(n||[]).filter(g=>{var b,F;return String((F=(b=g==null?void 0:g.properties)==null?void 0:b[m])!=null?F:"")===p})}return[...n||[]]}updateYakIndustryPointLabels(e=this.currentTopicLayer,n=this.currentVectorFeatures){if(this.clearYakIndustryPointLabels(),(e==null?void 0:e.showPointLabels)===!1||e!=null&&e.hidePointFeatures||(e==null?void 0:e.key)!=="yak-industry-points"||!this.label3d)return;const a=this.getYakIndustryLabelFeatures(e,n);a.length&&(this.ensureYakIndustryPointLabelGroup(),a.forEach((i,r)=>{var s;let o=this.yakIndustryPointLabels[r];o||(o=this.label3d.create("","yak-industry-point-label",!0),this.label3d.setLabelStyle(o,.012,"x"),o.setParent(this.yakIndustryPointLabelGroup),this.yakIndustryPointLabels.push(o)),o.element.className="yak-industry-point-label",o.init(this.getYakIndustryPointLabelHtml(i),this.getYakIndustryPointLabelPosition(i,r)),o.visible=!0,(s=o.show)==null||s.call(o),o.userData={feature:i}}),this.yakIndustryPointLabels.slice(a.length).forEach(i=>{var r;i.visible=!1,(r=i.hide)==null||r.call(i),i.userData=null}),this.yakIndustryPointLabelGroup.visible=!!this.mapAnimationComplete)}updateYakIndustryPointMarkers(e=this.currentTopicLayer,n=this.currentVectorFeatures){if(this.clearYakIndustryPointMarkers(),(e==null?void 0:e.key)!=="yak-industry-points"||e!=null&&e.hidePointMarkers)return;const a=this.getVisibleVectorFeatures(e,n).filter(i=>{var r;return((r=i==null?void 0:i.geometry)==null?void 0:r.type)==="Point"});a.length&&(this.ensureYakIndustryPointMarkerGroup(),a.forEach((i,r)=>{let o=this.yakIndustryPointMarkers[r];const s=this.getVectorFeatureStyle(e,i),u=this.getYakIndustryMarkerMaterial(s,i),m=this.lngLatToLayerLocalPoint(i.geometry.coordinates,this.depth+.36),h=Number(e==null?void 0:e.pointSpriteScale)||.34,p=this.getYakIndustryMarkerType(i);o||(o=new l8(u),o.name="yak-industry-point-marker",o.renderOrder=42,this.bindYakIndustryPointMarkerEvents(o),this.interactionManager.add(o),this.yakIndustryPointMarkerGroup.add(o),this.yakIndustryPointMarkers.push(o)),o.material=u,o.center.set(.5,.5),o.position.copy(m),o.scale.set(h*.88,h*.88,1),o.visible=!0,o.userData={feature:i,layer:e,index:r,markerType:p}}),this.yakIndustryPointMarkers.slice(a.length).forEach(i=>{i.visible=!1,i.userData=null}),this.yakIndustryPointMarkerGroup.visible=!!this.mapAnimationComplete)}ensureYakIndustryPointMarkerGroup(){var e;this.yakIndustryPointMarkerGroup||(this.yakIndustryPointMarkerGroup=new Ae,this.yakIndustryPointMarkerGroup.name="yak-industry-point-markers",this.yakIndustryPointMarkerGroup.visible=!1,(e=this.focusMapGroup)==null||e.add(this.yakIndustryPointMarkerGroup))}clearYakIndustryPointMarkers(){var e;this.yakIndustryPointMarkerGroup&&(this.yakIndustryPointMarkerGroup.visible=!1),(e=this.yakIndustryPointMarkers)==null||e.forEach(n=>{n.visible=!1})}bindYakIndustryPointMarkerEvents(e){e.addEventListener("mousedown",n=>{var r,o,s,u,m,h,p,g,b;if(this.clicked||!((r=this.yakIndustryPointMarkerGroup)!=null&&r.visible))return!1;const a=(s=(o=n.target)==null?void 0:o.userData)==null?void 0:s.feature;if(!a)return!1;this.clicked=!0;const i=((u=a.geometry)==null?void 0:u.coordinates)||[];this.setSelectedVectorFeatures([a]),(b=(g=this.callbacks).onFeatureInfo)==null||b.call(g,{feature:{id:((m=a.properties)==null?void 0:m.id)||((h=a.properties)==null?void 0:h.feature_id)||((p=a.properties)==null?void 0:p.project_name),properties:a.properties||{},feature:a,layer:this.currentTopicLayer,lngLat:{lng:Number(i[0]),lat:Number(i[1])}},screen:this.getPointFeatureScreenPoint(a)})}),e.addEventListener("mouseup",()=>{this.clicked=!1}),e.addEventListener("mouseover",()=>{e.visible&&(document.body.style.cursor="pointer")}),e.addEventListener("mouseout",()=>{document.body.style.cursor="default"})}getYakIndustryMarkerMaterial(e,n){const a=e.markerType||this.getYakIndustryMarkerType(n),i=`${e.fill||"#24F6C4"}-${e.stroke||"#B7FFF2"}-${a}`,r=this.yakIndustryMarkerMaterialCache.get(i);if(r)return r;const o=this.createYakIndustryMarkerTexture(e.fill,e.stroke,a),s=new u8({map:o,transparent:!0,depthTest:!1,depthWrite:!1,fog:!1});return this.yakIndustryMarkerMaterialCache.set(i,s),s}getYakIndustryMarkerType(e={}){var a;const n=String(((a=e==null?void 0:e.properties)==null?void 0:a.stageKey)||"");return hm[n]||"point"}createYakIndustryMarkerTexture(e="#24F6C4",n="#B7FFF2",a="point"){const i=document.createElement("canvas");i.width=112,i.height=112;const r=i.getContext("2d"),o=56,s=56;r.clearRect(0,0,i.width,i.height),r.beginPath(),r.arc(o,s,42,0,Math.PI*2),r.fillStyle=this.hexToRgba(e,.18),r.shadowColor=e,r.shadowBlur=20,r.fill(),this.drawYakIndustryMarkerFrame(r,a,o,s,e,n||e),r.save(),r.shadowBlur=0,r.beginPath(),r.arc(o,s,19,0,Math.PI*2),r.fillStyle="rgba(3, 23, 34, 0.64)",r.fill(),r.strokeStyle=this.hexToRgba("#FFFFFF",.32),r.lineWidth=2,r.stroke(),r.restore(),this.drawYakIndustryMarkerGlyph(r,a,o,s,"#FFFFFF");const u=new Ki(i);return u.colorSpace=dn,u.needsUpdate=!0,u}drawYakIndustryMarkerFrame(e,n,a,i,r="#24F6C4",o="#B7FFF2"){if(e.save(),e.translate(a,i),e.fillStyle=this.hexToRgba(r,.92),e.strokeStyle=this.hexToRgba(o||r,.98),e.lineWidth=4,e.shadowColor=o||r,e.shadowBlur=14,n==="pasture")e.beginPath(),e.moveTo(-34,-9),e.lineTo(0,-38),e.lineTo(34,-9),e.lineTo(28,-9),e.lineTo(28,24),e.quadraticCurveTo(28,31,21,31),e.lineTo(-21,31),e.quadraticCurveTo(-28,31,-28,24),e.lineTo(-28,-9),e.closePath();else if(n==="grass")e.beginPath(),e.moveTo(0,-38),e.bezierCurveTo(31,-22,34,18,0,38),e.bezierCurveTo(-34,18,-31,-22,0,-38),e.closePath();else if(n==="breeding"){e.beginPath();for(let s=0;s<6;s+=1){const u=-Math.PI/2+Math.PI*2*s/6,m=Math.cos(u)*35,h=Math.sin(u)*35;s===0?e.moveTo(m,h):e.lineTo(m,h)}e.closePath()}else if(n==="storage")e.beginPath(),e.moveTo(-34,-25),e.lineTo(25,-25),e.lineTo(35,-13),e.lineTo(35,27),e.lineTo(-25,27),e.lineTo(-35,15),e.lineTo(-35,-25),e.closePath();else if(n==="processing"){e.beginPath();for(let s=0;s<10;s+=1){const u=-Math.PI/2+Math.PI*2*s/10,m=s%2===0?38:30,h=Math.cos(u)*m,p=Math.sin(u)*m;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.closePath()}else if(n==="equipment"){e.beginPath();for(let s=0;s<16;s+=1){const u=-Math.PI/2+Math.PI*2*s/16,m=s%2===0?38:30,h=Math.cos(u)*m,p=Math.sin(u)*m;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.closePath()}else n==="service"?(e.beginPath(),e.moveTo(0,-39),e.lineTo(31,-24),e.lineTo(25,14),e.quadraticCurveTo(0,39,-25,14),e.lineTo(-31,-24),e.closePath()):(e.beginPath(),e.arc(0,0,34,0,Math.PI*2));e.fill(),e.stroke(),e.restore()}drawYakIndustryMarkerGlyph(e,n,a,i,r="#24F6C4"){if(e.save(),e.translate(a,i),e.lineCap="round",e.lineJoin="round",e.shadowBlur=0,e.fillStyle=this.hexToRgba(r,.98),e.strokeStyle=this.hexToRgba(r,.98),e.lineWidth=3,n==="pasture")e.beginPath(),e.moveTo(-12,-2),e.lineTo(0,-11),e.lineTo(12,-2),e.stroke(),e.fillRect(-9,-2,18,12),e.clearRect(-3,2,6,8);else if(n==="grass")e.beginPath(),e.moveTo(0,10),e.quadraticCurveTo(-10,1,-7,-10),e.moveTo(0,10),e.quadraticCurveTo(10,1,7,-10),e.moveTo(0,10),e.quadraticCurveTo(0,0,1,-12),e.stroke();else if(n==="breeding")e.beginPath(),e.moveTo(-8,-5),e.quadraticCurveTo(-15,-12,-18,-4),e.moveTo(8,-5),e.quadraticCurveTo(15,-12,18,-4),e.stroke(),e.beginPath(),e.ellipse(0,1,11,12,0,0,Math.PI*2),e.fill(),e.fillStyle=this.hexToRgba("#08202D",.85),e.fillRect(-5,-2,3,3),e.fillRect(2,-2,3,3);else if(n==="storage")e.beginPath(),e.moveTo(-13,-3),e.lineTo(0,-11),e.lineTo(13,-3),e.lineTo(13,9),e.lineTo(-13,9),e.closePath(),e.fill(),e.strokeStyle=this.hexToRgba("#08202D",.72),e.lineWidth=2,e.beginPath(),e.moveTo(-8,0),e.lineTo(8,0),e.moveTo(-8,5),e.lineTo(8,5),e.stroke();else if(n==="processing")e.beginPath(),e.moveTo(-13,8),e.lineTo(-13,-1),e.lineTo(-5,-6),e.lineTo(-5,-1),e.lineTo(3,-6),e.lineTo(3,-1),e.lineTo(12,-6),e.lineTo(12,8),e.closePath(),e.fill(),e.fillRect(-13,-11,5,7),e.fillStyle=this.hexToRgba("#08202D",.72),e.fillRect(-8,2,4,3),e.fillRect(0,2,4,3),e.fillRect(7,2,4,3);else if(n==="equipment"){for(let o=0;o<8;o+=1)e.save(),e.rotate(Math.PI*2*o/8),e.fillRect(8,-2,5,4),e.restore();e.beginPath(),e.arc(0,0,9,0,Math.PI*2),e.fill(),e.fillStyle=this.hexToRgba("#FFFFFF",.98),e.beginPath(),e.arc(0,0,4,0,Math.PI*2),e.fill()}else n==="service"?(e.beginPath(),e.moveTo(0,-13),e.lineTo(12,-7),e.lineTo(9,6),e.quadraticCurveTo(0,14,-9,6),e.lineTo(-12,-7),e.closePath(),e.fill(),e.strokeStyle=this.hexToRgba("#FFFFFF",.94),e.lineWidth=2.4,e.beginPath(),e.moveTo(0,-7),e.lineTo(0,6),e.moveTo(-6,-1),e.lineTo(6,-1),e.stroke()):(e.beginPath(),e.arc(0,0,7,0,Math.PI*2),e.fill());e.restore()}ensureYakIndustryPointLabelGroup(){this.yakIndustryPointLabelGroup||(this.yakIndustryPointLabelGroup=new Ae,this.yakIndustryPointLabelGroup.name="yak-industry-point-labels",this.yakIndustryPointLabelGroup.rotation.x=-Math.PI/2,this.yakIndustryPointLabelGroup.visible=!1,this.scene.add(this.yakIndustryPointLabelGroup))}clearYakIndustryPointLabels(){var e;this.yakIndustryPointLabelGroup&&(this.yakIndustryPointLabelGroup.visible=!1),(e=this.yakIndustryPointLabels)==null||e.forEach(n=>{var a;n.visible=!1,(a=n.hide)==null||a.call(n)})}getYakIndustryLabelFeatures(e,n){const a=this.getVisibleVectorFeatures(e,n).filter(u=>{var m;return((m=u==null?void 0:u.geometry)==null?void 0:m.type)==="Point"}),i=Number(e==null?void 0:e.pointLabelLimit)||(a.length>36?12:Math.min(a.length,16)),r=a.map(u=>{var m;return{feature:u,score:this.getYakIndustryFeatureScore(u),town:s6((m=u.properties)==null?void 0:m.town)}}).sort((u,m)=>{var h,p;return m.score-u.score||String(((h=u.feature.properties)==null?void 0:h.name)||"").localeCompare(String(((p=m.feature.properties)==null?void 0:p.name)||""),"zh-CN")}),o=[],s=new Set;return r.forEach(u=>{o.length>=i||!u.town||s.has(u.town)||(o.push(u.feature),s.add(u.town))}),r.forEach(u=>{o.length>=i||o.includes(u.feature)||o.push(u.feature)}),o}getYakIndustryFeatureScore(e){const n=(e==null?void 0:e.properties)||{},a=[n.outputValue,n.capacity,n.value,n.count,n["年产值 (万元)"],n["年总产值 (万元)"],n["设计存栏量 (头)"],n["总库容 (吨)"]].map(i=>this.parseMapMetricNumber(i));return Math.max(...a,0)}parseMapMetricNumber(e){if(typeof e=="number")return Number.isFinite(e)?e:0;const n=String(e!=null?e:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);return n&&Number(n[0])||0}getYakIndustryPointLabelPosition(e,n=0){var i;const a=this.lngLatToLayerLocalPoint((i=e==null?void 0:e.geometry)==null?void 0:i.coordinates,this.depth+.42+Math.min(n,5)*.01);return a.x+=(n%3-1)*.08,a.y+=n%2===0?.07:-.06,a}getYakIndustryPointLabelHtml(e){const n=(e==null?void 0:e.properties)||{},a=this.compactYakIndustryLabelName(n.name||n.fullName||"产业主体"),i=this.formatYakIndustryLabelText(n.categoryName||n.stageName||"产业主体"),r=n.town||n.village||"红原县",o=this.getYakIndustryPointMetricText(n),s=this.getYakIndustryLabelColor(n);return`
    +
    ${mt(i)}
    +
    ${mt(a)}
    +
    + ${mt(r)} + ${o?`${mt(o)}`:""} +
    +
    `}compactYakIndustryLabelName(e=""){const n=String(e).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/\s+/g," ").trim();return n.length>16?`${n.slice(0,15)}…`:n}formatYakIndustryLabelText(e=""){return String(e).replace(/\bcxpt[-_./\s]*/gi,"").replace(/^cxpt/i,"").replace(/\s+/g," ").trim()}getYakIndustryPointMetricText(e={}){return e.capacity!==void 0&&e.capacity!==null&&e.capacity!==""&&this.parseMapMetricNumber(e.capacity)>0?this.formatYakIndustryMetricText(e.capacity,e.capacityUnit):this.parseMapMetricNumber(e.outputValue)>0?`${this.formatMapRankingValue(e.outputValue)}万元`:this.isMeaningfulMapText(e.locationType)?e.locationType:this.isMeaningfulMapText(e.status)?e.status:""}isMeaningfulMapText(e){const n=String(e!=null?e:"").trim();return!!(n&&n!=="0"&&n!=="无"&&n!=="待完善")}formatYakIndustryMetricText(e,n=""){const a=String(e!=null?e:"").trim();return!a||a==="0"?"":typeof e=="string"&&/[^\d.,\s-]/.test(a)?a:`${this.formatMapRankingValue(e)}${n||""}`}getYakIndustryLabelColor(e={}){var i,r,o,s,u,m;const n=String(e.stageKey||""),a=(((i=this.currentTopicLayer)==null?void 0:i.legends)||[]).find(h=>{var p;return String(((p=h.match)==null?void 0:p.value)||"")===n})||(String(((s=(o=(r=this.currentTopicLayer)==null?void 0:r.activeLegend)==null?void 0:o.match)==null?void 0:s.value)||"")===n?this.currentTopicLayer.activeLegend:null);return(a==null?void 0:a.fillColor)||((m=(u=this.currentTopicLayer)==null?void 0:u.activeLegend)==null?void 0:m.fillColor)||"#24F6C4"}clipVectorLayerContext(e,n){if(this.shouldClipLayerToHongyuanBoundary(n)&&this.clipContextToHongyuanBoundary(e),!this.shouldClipLayerToLayerBounds(n))return;const a=this.getLayerClipBounds(n);if(!a)return;const i=this.lngLatToLayerCanvasPoint([a.west,a.north]),r=this.lngLatToLayerCanvasPoint([a.east,a.south]),o=Math.min(i.x,r.x),s=Math.min(i.y,r.y),u=Math.abs(r.x-i.x),m=Math.abs(r.y-i.y);!u||!m||(e.beginPath(),e.rect(o,s,u,m),e.clip())}clipContextToHongyuanBoundary(e){const n=this.hongyuanBoundaryPolygons||[];n.length&&(e.beginPath(),n.forEach(a=>{a.forEach(i=>{i.forEach((r,o)=>{const s=this.lngLatToLayerCanvasPoint(r);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()})}),e.clip("evenodd"))}shouldClipLayerToHongyuanBoundary(e=this.currentTopicLayer){if(!e||e.clipToHongyuanBoundary===!1)return!1;if(e.clipToHongyuanBoundary===!0)return!0;const n=String((e==null?void 0:e.key)||"");return!!(n==="national-park-zoning"||n.startsWith("yak-"))}shouldClipLayerToLayerBounds(e=this.currentTopicLayer){return!!(e!=null&&e.clipBounds&&(e==null?void 0:e.clipToLayerBounds)!==!1)}isLngLatInHongyuanBoundary(e){const n=this.hongyuanBoundaryPolygons||[];return n.length?n.some(a=>this.isLngLatInPolygon(e,a)):!0}isLngLatInLayerClipBounds(e,n=this.currentTopicLayer){const a=this.getLayerClipBounds(n);return a?e.lng>=a.west&&e.lng<=a.east&&e.lat>=a.south&&e.lat<=a.north:!0}getLayerClipBounds(e){const n=e==null?void 0:e.clipBounds;if(!n)return null;const a=Math.max(Number(n.west),$1.west),i=Math.max(Number(n.south),$1.south),r=Math.min(Number(n.east),$1.east),o=Math.min(Number(n.north),$1.north);return![a,i,r,o].every(Number.isFinite)||a>=r||i>=o?null:{west:a,south:i,east:r,north:o}}getGeometryDrawRank(e){return String(e).includes("Polygon")?1:String(e).includes("LineString")?2:3}isEcologicalProjectLayer(e=this.currentTopicLayer){return["restoration-projects","engineering-analysis-projects"].includes(e==null?void 0:e.key)}getVectorFeatureStyle(e,n){var u,m,h;const a=n.properties||{},r=(e.legends||[]).find(p=>{var g,b;return(((g=p==null?void 0:p.matches)==null?void 0:g.length)||((b=p==null?void 0:p.match)==null?void 0:b.field))&&this.featureMatchesLegend(a,p)})||e.activeLegend||((u=e.legends)==null?void 0:u[0])||{},o=String(((m=n.geometry)==null?void 0:m.type)||"").includes("LineString"),s=((h=n.geometry)==null?void 0:h.type)==="Point";if(this.isEcologicalProjectLayer(e)){const p=o||String(a.feature_role||"")==="线性设施";return{fill:p||s?r.strokeColor||r.fillColor||"#D2EA78":r.fillColor||"#75AD49",stroke:r.strokeColor||r.fillColor||"#D2EA78",polygonAlpha:p?.08:.22,lineAlpha:p?.9:.82,lineWidth:p?3:1.85,pointRadius:s?3.8:4,glow:!1}}return(e==null?void 0:e.key)==="yak-epidemic-village-boundary"?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||"#C9FBFF",polygonAlpha:.16,lineAlpha:1,lineWidth:3.2,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="artificial-grassland-plots"?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||"#A7F8FF",polygonAlpha:.2,lineAlpha:.94,lineWidth:1.6,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="yak-industry-points"?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||r.fillColor||"#B7FFF2",polygonAlpha:.36,lineAlpha:.82,lineWidth:1.6,pointRadius:this.getVectorPointRadius(e,n),glow:!0,halo:!0,marker:!0,markerType:hm[String(a.stageKey||"")]||"point"}:(e==null?void 0:e.key)==="national-park-zoning"?{fill:r.fillColor||"#30DCFF",stroke:r.strokeColor||"#F2FFFF",polygonAlpha:.38,lineAlpha:.96,lineWidth:2.7,pointRadius:4.5,glow:!1}:e!=null&&e.boundaryOnly?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||r.fillColor||"#18F8FF",polygonAlpha:.04,lineAlpha:.96,lineWidth:10,pointRadius:4.5,glow:!0}:{fill:o||s?r.strokeColor||r.fillColor||"#30DCFF":r.fillColor||"#30DCFF",stroke:r.strokeColor||r.fillColor||"#30DCFF",polygonAlpha:.36,lineAlpha:o?.92:.9,lineWidth:o?5:2.4,pointRadius:s?this.getVectorPointRadius(e,n):4.5,glow:!0}}getVectorPointRadius(e,n){var i,r;const a=Number(((i=n==null?void 0:n.properties)==null?void 0:i.count)||((r=n==null?void 0:n.properties)==null?void 0:r.value)||0);return(e==null?void 0:e.key)==="yak-recognition-layer"?Math.max(3.8,Math.min(8.6,3.6+Math.sqrt(a)/68)):(e==null?void 0:e.key)==="yak-industry-points"?10.4:4.5}drawVectorFeature(e,n,a){if(n!=null&&n.coordinates){if(n.type==="Polygon"){this.drawPolygonPath(e,n.coordinates,a);return}if(n.type==="MultiPolygon"){n.coordinates.forEach(i=>this.drawPolygonPath(e,i,a));return}if(n.type==="LineString"){this.drawLinePath(e,n.coordinates,a);return}if(n.type==="MultiLineString"){n.coordinates.forEach(i=>this.drawLinePath(e,i,a));return}n.type==="Point"&&this.drawPointPath(e,n.coordinates,a)}}drawPolygonPath(e,n,a){Array.isArray(n==null?void 0:n[0])&&(e.save(),e.beginPath(),n.forEach(i=>{i.forEach((r,o)=>{const s=this.lngLatToLayerCanvasPoint(r);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()}),e.fillStyle=this.hexToRgba(a.fill,a.polygonAlpha),e.strokeStyle=this.hexToRgba(a.stroke,a.lineAlpha),e.lineWidth=a.lineWidth,a.glow&&(e.shadowColor=a.stroke,e.shadowBlur=14),e.fill("evenodd"),e.stroke(),e.restore())}drawLinePath(e,n,a){!Array.isArray(n)||n.length<2||(e.save(),e.beginPath(),n.forEach((i,r)=>{const o=this.lngLatToLayerCanvasPoint(i);r===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.strokeStyle=this.hexToRgba(a.stroke,a.lineAlpha),e.lineWidth=a.lineWidth,e.shadowColor=a.stroke,e.shadowBlur=12,e.stroke(),e.restore())}drawPointPath(e,n,a){var r;if(a.marker){this.drawMarkerPointPath(e,n,a);return}const i=this.lngLatToLayerCanvasPoint(n);e.save(),a.halo&&(e.beginPath(),e.arc(i.x,i.y,a.pointRadius*2.35,0,Math.PI*2),e.fillStyle=this.hexToRgba(a.fill,.18),e.shadowColor=a.fill,e.shadowBlur=18,e.fill()),e.beginPath(),e.arc(i.x,i.y,a.pointRadius,0,Math.PI*2),e.fillStyle=this.hexToRgba(a.fill,.96),e.shadowColor=a.stroke,e.shadowBlur=a.halo?8:12,e.fill(),a.lineWidth&&(e.lineWidth=a.lineWidth,e.strokeStyle=this.hexToRgba(a.stroke,(r=a.lineAlpha)!=null?r:.9),e.stroke()),e.restore()}drawMarkerPointPath(e,n,a){const i=this.lngLatToLayerCanvasPoint(n),r=a.pointRadius||6;e.save(),e.beginPath(),e.arc(i.x,i.y+r*.22,r*2.55,0,Math.PI*2),e.fillStyle=this.hexToRgba(a.fill,.16),e.shadowColor=a.fill,e.shadowBlur=24,e.fill(),e.beginPath(),e.moveTo(i.x,i.y+r*2.05),e.bezierCurveTo(i.x+r*1.46,i.y+r*.62,i.x+r*1.34,i.y-r*1.34,i.x,i.y-r*1.62),e.bezierCurveTo(i.x-r*1.34,i.y-r*1.34,i.x-r*1.46,i.y+r*.62,i.x,i.y+r*2.05),e.closePath(),e.fillStyle=this.hexToRgba(a.fill,.94),e.strokeStyle=this.hexToRgba(a.stroke,.98),e.lineWidth=Math.max(2,a.lineWidth||2),e.shadowColor=a.stroke,e.shadowBlur=14,e.fill(),e.stroke(),e.beginPath(),e.arc(i.x,i.y-r*.34,r*.52,0,Math.PI*2),e.fillStyle=this.hexToRgba("#FFFFFF",.96),e.shadowBlur=0,e.fill(),e.beginPath(),e.arc(i.x,i.y-r*.34,r*.82,0,Math.PI*2),e.lineWidth=Math.max(1.2,r*.14),e.strokeStyle=this.hexToRgba("#FFFFFF",.42),e.stroke(),e.restore()}lngLatToLayerCanvasPoint(e){const n=Number(e==null?void 0:e[0]),a=Number(e==null?void 0:e[1]);return{x:(n-$1.west)/($1.east-$1.west)*this.topicLayerCanvas.width,y:($1.north-a)/($1.north-$1.south)*this.topicLayerCanvas.height}}hexToRgba(e,n=1){const a=String(e||"#30DCFF").replace("#",""),i=a.length===3?a.split("").map(m=>m+m).join(""):a,r=Number.parseInt(i,16);if(!Number.isFinite(r))return`rgba(48, 220, 255, ${n})`;const o=r>>16&255,s=r>>8&255,u=r&255;return`rgba(${o}, ${s}, ${u}, ${n})`}parseWktGeometry(e){var o;const n=String(e||"").trim();if(!n)return null;const a=n.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),i=(o=a==null?void 0:a[1])==null?void 0:o.toUpperCase();if(!i)return null;const r=n.slice(n.indexOf("("));return i==="POLYGON"?{type:"Polygon",coordinates:this.parseWktPolygonBody(r)}:i==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:this.parseWktMultiPolygonBody(r)}:i==="POINT"?{type:"Point",coordinates:this.parseWktPoint(r)}:i==="MULTIPOINT"?{type:"MultiPoint",coordinates:this.getWktChildGroups(r).map(s=>this.parseWktPoint(s)).filter(Boolean)}:i==="LINESTRING"?{type:"LineString",coordinates:this.parseWktRing(r)}:i==="MULTILINESTRING"?{type:"MultiLineString",coordinates:this.getWktChildGroups(r).map(s=>this.parseWktRing(s)).filter(s=>s.length)}:null}parseWktMultiPolygonBody(e){return this.getWktChildGroups(e).map(n=>this.parseWktPolygonBody(n)).filter(n=>n.length)}parseWktPolygonBody(e){return this.getWktChildGroups(e).map(n=>this.parseWktRing(n)).filter(n=>n.length>=3)}getWktChildGroups(e){const n=String(e||"").trim(),a=n.startsWith("(")&&n.endsWith(")")?n.slice(1,-1):n,i=[];let r=0,o=-1;for(let s=0;s=0&&(i.push(a.slice(o,s+1)),o=-1))}return i.length?i:[a]}parseWktRing(e){return String(e||"").replace(/^\(+|\)+$/g,"").split(",").map(a=>a.trim().split(/\s+/).slice(0,2).map(Number)).filter(([a,i])=>Number.isFinite(a)&&Number.isFinite(i))}parseWktPoint(e){const n=String(e||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return n.length>=2&&Number.isFinite(n[0])&&Number.isFinite(n[1])?[n[0],n[1]]:null}createProvinceMaterial(){const e=!this.useSatelliteBase;let n=new ms({color:16777215,transparent:!0,opacity:0,depthWrite:!this.usesCustomSatelliteTiles,fog:!1,side:vt});n.onBeforeCompile=r=>{r.uniforms=J2(L2({},r.uniforms),{uColor1:{value:new Xe(e?2780818:2152676)},uColor2:{value:new Xe(e?1058614:475482)}}),r.vertexShader=r.vertexShader.replace("void main() {",` + attribute float alpha; + varying vec3 vPosition; + varying float vAlpha; + void main() { + vAlpha = alpha; + vPosition = position; + `),r.fragmentShader=r.fragmentShader.replace("void main() {",` + varying vec3 vPosition; + varying float vAlpha; + uniform vec3 uColor1; + uniform vec3 uColor2; + void main() { + `),r.fragmentShader=r.fragmentShader.replace("#include ",` + #ifdef OPAQUE + diffuseColor.a = 1.0; + #endif + #ifdef USE_TRANSMISSION + diffuseColor.a *= transmissionAlpha + 0.1; + #endif + vec3 gradient = mix(uColor1, uColor2, vPosition.x/15.78); + ${e?`outgoingLight = outgoingLight * gradient; + float topAlpha = 0.56;`:`outgoingLight = mix(outgoingLight * vec3(1.18), outgoingLight * gradient, 0.32); + float topAlpha = 0.92;`} + if(vPosition.z>0.3){ + diffuseColor.a *= topAlpha; + } + gl_FragColor = vec4( outgoingLight, diffuseColor.a ); + `)};let a=this.assets.instance.getResource("side");a.wrapS=on,a.wrapT=on,a.repeat.set(1,1.8),a.offset.y+=.065;let i=new T8({color:2148829,map:a,fog:!1,opacity:0,side:vt,roughness:.58,metalness:.08});return this.time.on("tick",()=>{a.offset.y+=.005}),i.onBeforeCompile=r=>{r.uniforms=J2(L2({},r.uniforms),{uColor1:{value:new Xe(1629410)},uColor2:{value:new Xe(205365)}}),r.vertexShader=r.vertexShader.replace("void main() {",` + attribute float alpha; + varying vec3 vPosition; + varying float vAlpha; + void main() { + vAlpha = alpha; + vPosition = position; + `),r.fragmentShader=r.fragmentShader.replace("void main() {",` + varying vec3 vPosition; + varying float vAlpha; + uniform vec3 uColor1; + uniform vec3 uColor2; + void main() { + `),r.fragmentShader=r.fragmentShader.replace("#include ",` + #ifdef OPAQUE + diffuseColor.a = 1.0; + #endif + #ifdef USE_TRANSMISSION + diffuseColor.a *= transmissionAlpha + 0.1; + #endif + vec3 gradient = mix(uColor1, uColor2, vPosition.z/1.2); + outgoingLight = outgoingLight*gradient*vec3(1.12); + gl_FragColor = vec4( outgoingLight, diffuseColor.a ); + `)},[n,i]}getDefaultTownRanking(){return{title:"乡镇统计加载中",unit:"",rows:rm.map(e=>({name:e.name,value:0,unit:""}))}}getTownRankingMeta(e=this.currentTownRanking){var i,r,o,s;const n=this.getDefaultTownRanking(),a=kY(e);return{title:(e==null?void 0:e.title)||n.title,unit:(e==null?void 0:e.unit)||n.unit,metricLabel:(e==null?void 0:e.metricLabel)||(e==null?void 0:e.legendName)||"",note:(e==null?void 0:e.note)||"",hideTownNames:ym(e),hideMapLabels:K4(e),hideTownLabelStats:(i=e==null?void 0:e.hideTownLabelStats)!=null?i:this.hideTownLabelStatsByDefault,calloutMode:a,showBars:(r=e==null?void 0:e.showBars)!=null?r:!1,showPointMarkers:(o=e==null?void 0:e.showPointMarkers)!=null?o:a,onlyRankedTownLabels:(s=e==null?void 0:e.onlyRankedTownLabels)!=null?s:!1,showMissingTownStats:(e==null?void 0:e.showMissingTownStats)===!0}}getTownRankingRows(e=this.currentTownRanking,n=7,a=!0){var u;const i=this.getDefaultTownRanking(),r=(u=e==null?void 0:e.rows)!=null&&u.length?e.rows:a?i.rows:[],o=this.getTownRankingMeta(e),s=r.map(m=>{const h=this.townMetaByName.get(s6(m.name));return h?J2(L2(L2({},h),m),{name:h.name,enName:h.enName,center:h.center,centroid:h.centroid,value:be(m.value),unit:m.unit||o.unit,metricTitle:o.title}):null}).filter(Boolean).sort((m,h)=>h.value-m.value).map((m,h)=>J2(L2({},m),{rank:h+1}));return Number.isFinite(n)?s.slice(0,n):s}getVillageRankingRows(e=this.currentTownRanking){const n=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((a,i)=>{var m,h,p,g,b,F,H,K;const r=be((m=a.lng)!=null?m:a.longitude,NaN),o=be((h=a.lat)!=null?h:a.latitude,NaN);if(!Number.isFinite(r)||!Number.isFinite(o))return null;const s=be((p=a.displayValue)!=null?p:a.value),u=be((F=(b=(g=a.rawValue)!=null?g:a.earTagCount)!=null?b:a.ear_tag_count)!=null?F:a.value);return J2(L2({},a),{key:a.key||`${a.town||""}-${a.village||a.name||i}`,name:a.name||a.village||`村${i+1}`,town:a.town||"",lng:r,lat:o,value:s,rawValue:u,recordCount:be((H=a.recordCount)!=null?H:a.record_count,0),imageRate:be((K=a.imageRate)!=null?K:a.image_rate,0),unit:a.displayUnit||a.unit||n.unit,metricTitle:n.title,metricLabel:a.metricLabel||n.metricLabel||""})}).filter(Boolean).sort((a,i)=>i.rawValue-a.rawValue).map((a,i)=>J2(L2({},a),{rank:i+1}))}getVillageRankingHtml(e,n){const a=n.hideTownNames?"":`${mt(e.town||"红原县")}`;return e.displayMode==="park-village"||n.displayMode==="park-village"?`
    +
    + ${mt(e.name)} + ${a} +
    +
    + ${mt(e.metricLabel||n.metricLabel||"")} + ${this.formatMapRankingValue(e.value)} + ${mt(e.unit||n.unit||"")} +
    +
    `:`
    +
    + ${mt(e.name)} + ${a} +
    +
    + ${mt(e.metricLabel||"防疫")} + ${this.formatMapRankingValue(e.value)} + ${mt(e.unit||n.unit||"")} +
    +
    + 台账 ${this.formatMapCompactValue(e.recordCount)}条 + 耳标 ${this.formatMapCompactValue(e.rawValue)}头 +
    +
    `}ensureVillageRankingGroup(){this.villageRankingGroup||(this.villageRankingGroup=new Ae,this.villageRankingGroup.rotation.x=-Math.PI/2,this.villageRankingGroup.visible=!1,this.scene.add(this.villageRankingGroup),this.villageRankingLabels=[])}hideVillageRankingLabels(){var e;this.villageRankingGroup&&(this.villageRankingGroup.visible=!1),(e=this.villageRankingLabels)==null||e.forEach(n=>{n.visible=!1})}hideAllMapStatisticLabels(){var e,n,a,i;this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.hideTradeFlowLayer(),this.clearInfoPointStats(),(e=this.allProvinceLabel)==null||e.forEach(r=>{r.visible=!1}),(n=this.allBar)==null||n.forEach(r=>{r.visible=!1,r.scale.set(1,1,0)}),(a=this.allBarMaterial)==null||a.forEach(r=>{r.opacity=0}),(i=this.allGuangquan)==null||i.forEach(r=>{r.visible=!1})}setTownNameLabelsVisible(e=!0){var n;(n=this.townNameLabels)==null||n.forEach(a=>{a.visible=e})}updateVillageRankingLabels(e=this.currentTownRanking){if(this.ensureVillageRankingGroup(),!pm(e)){this.hideVillageRankingLabels();return}const n=this.getVillageRankingRows(e),a=this.getTownRankingMeta(e);if(!n.length){this.hideVillageRankingLabels();return}this.villageRankingGroup.visible=this.mapAnimationComplete,n.forEach((i,r)=>{let o=this.villageRankingLabels[r];o||(o=this.label3d.create("","epidemic-village-label",!0),this.label3d.setLabelStyle(o,.0135,"x"),o.setParent(this.villageRankingGroup),this.villageRankingLabels.push(o));const[s,u]=this.geoProjection([i.lng,i.lat]),m=(r%3-1)*.06,h=Math.floor(r/3)%2*.04;o.init(this.getVillageRankingHtml(i,a),new c0(s+m,-u+h,this.depth+1.55+Math.min(r,6)*.015)),o.visible=!0,o.userData=L2({},i)}),this.villageRankingLabels.slice(n.length).forEach(i=>{i.visible=!1})}ensureTradeFlowGroup(){this.tradeFlowGroup||(this.tradeFlowGroup=new Ae,this.tradeFlowGroup.name="yak-trade-flow",this.tradeFlowGroup.visible=!1,this.tradeFlowMeshGroup=new Ae,this.tradeFlowMeshGroup.name="yak-trade-flow-mesh",this.tradeFlowMeshGroup.rotation.x=-Math.PI/2,this.tradeFlowLabelGroup=new Ae,this.tradeFlowLabelGroup.name="yak-trade-flow-label",this.tradeFlowLabelGroup.rotation.x=-Math.PI/2,this.tradeFlowGroup.add(this.tradeFlowMeshGroup,this.tradeFlowLabelGroup),this.scene.add(this.tradeFlowGroup))}hideTradeFlowLayer(){var e,n;this.tradeFlowGroup&&(this.tradeFlowGroup.visible=!1),(e=this.tradeFlowLabels)==null||e.forEach(a=>{a.visible=!1}),(n=this.tradeFlowPulseSprites)==null||n.forEach(a=>{a.visible=!1})}clearTradeFlowLayer(){this.tradeFlowMeshGroup&&(this.tradeFlowMeshGroup.children.forEach(e=>{var n;(n=e.traverse)==null||n.call(e,a=>this.disposeObject3D(a))}),this.tradeFlowMeshGroup.clear(),this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[])}getTradeFlowSource(e=this.currentTownRanking){var r,o,s,u;const n=(e==null?void 0:e.source)||{},a=be((r=n.lng)!=null?r:n.longitude,NaN),i=be((o=n.lat)!=null?o:n.latitude,NaN);return!Number.isFinite(a)||!Number.isFinite(i)?null:{name:n.name||"红原牦牛交易市场",lng:a,lat:i,total:be((u=(s=n.total)!=null?s:n.headCount)!=null?u:n.value,NaN)}}getTradeFlowRows(e=this.currentTownRanking){const n=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((a,i)=>{var g,b,F,H,K,e2;const r=be((g=a.lng)!=null?g:a.longitude,NaN),o=be((b=a.lat)!=null?b:a.latitude,NaN),s=be((K=(H=(F=a.headCount)!=null?F:a.head_count)!=null?H:a.rawValue)!=null?K:a.value),u=a.displayName||a.display_name||a.name,m=a.mapTownName||a.map_town_name||a.town||a.startTown||a.start_town||u,h=this.townMetaByName.get(s6(m)),p=Number.isFinite(r)&&Number.isFinite(o)?{lng:r,lat:o}:h!=null&&h.center?{lng:h.center[0],lat:h.center[1]}:null;return!p||!Number.isFinite(s)?null:J2(L2(L2({},a),h),{key:a.key||`${(h==null?void 0:h.name)||u||m||"trade-source"}-${i}`,name:u||m||(h==null?void 0:h.name)||`来源${i+1}`,townName:(h==null?void 0:h.name)||m,lng:p.lng,lat:p.lat,labelSide:a.labelSide||a.label_side||this.getTradeSourceLabelSide(h,i),value:s,headCount:s,recordCount:be((e2=a.recordCount)!=null?e2:a.record_count,0),unit:a.unit||n.unit||"头"})}).filter(Boolean).sort((a,i)=>i.value-a.value).map((a,i)=>J2(L2({},a),{rank:i+1}))}getTradeMarketHtml(e,n){const a=Number.isFinite(e.total)?e.total:n.reduce((i,r)=>i+be(r.value),0);return`
    +
    ${mt(e.name)}
    +
    ${this.formatMapIntegerValue(a)}
    +
    `}getTradeFlowDisplayName(e=""){const n=String(e||"").replace(/^.*红原县/,"").replace(/\s+/g,"");return n.length>7?`${n.slice(0,7)}…`:n||"来源区域"}getTradeFlowLabelHtml(e){return`
    +
    ${String(e.rank).padStart(2,"0")}${mt(this.getTradeFlowDisplayName(e.name))}
    +
    ${this.formatMapIntegerValue(e.value)}${mt(e.unit||"头")}
    +
    `}getTradeFlowLabelOffset(e,n){return new c0(0,0,0)}getTradeSourceLabelSide(e,n=0){var r,o;const a=Number((r=e==null?void 0:e.center)==null?void 0:r[0]),i=Number((o=e==null?void 0:e.center)==null?void 0:o[1]);return Number.isFinite(a)&&athis.geoProjectionCenter[0]+.2?"right":Number.isFinite(i)&&i>this.geoProjectionCenter[1]+.22?"top":Number.isFinite(i)&&i0&&(u.normalize().multiplyScalar((a%2===0?1:-1)*Math.min(.18,.05+s*.02)),o.add(u)),new Qm([i,o,r])}tradeGeoProjection(e){return D6().center(this.tradeGeoProjectionCenter).scale(this.tradeGeoProjectionScale).translate([0,0])(e)}setTradeNationalMapVisible(e){const n=!!e;if(!(!n&&!this.isTradeNationalMapActive&&!this.tradeNationalMapGroup&&!this.tradeFlowGroup)){if(n&&!this.createTradeNationalMap()){this.isTradeNationalMapActive=!1;return}this.isTradeNationalMapActive=n,this.tradeNationalMapGroup&&(this.tradeNationalMapGroup.visible=n&&this.mapAnimationComplete),this.tradeNationalLabelGroup&&(this.tradeNationalLabelGroup.visible=n&&this.mapAnimationComplete),this.mapGroup&&(this.mapGroup.visible=!n),this.labelGroup&&(this.labelGroup.visible=!n),this.flyLineGroup&&(this.flyLineGroup.visible=!n&&this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!n&&this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=!n&&this.mapAnimationComplete),this.topicLayerMaterial&&n&&(this.topicLayerMaterial.opacity=0),n&&this.mapAnimationComplete?this.animateMapCamera(new c0(0,11.4,16.2),new c0(0,-.05,0),.65):!n&&this.mapAnimationComplete&&this.applyLayerMapView(this.currentTopicLayer,{force:!0})}}createTradeSourceMarker(e,n,a,i,r=!0){const o=new Xe(n%3===1?16766828:n%3===2?2617536:3202303),s=this.getTradeFlowPoint(e,.72);if(i&&r){const H=this.getLocalTradeFlowCurve(e,i,n),K=new ce({color:o,transparent:!0,opacity:.42,depthWrite:!1,depthTest:!1,fog:!1,blending:At}),e2=.012+Math.min(.012,be(e.value)/Math.max(a,1)*.01),p2=new We(new Xm(H,48,e2,8,!1),K);p2.renderOrder=31,this.tradeFlowMeshGroup.add(p2),this.tradeFlowMaterials.push(K);const v2=new u8({map:this.assets.instance.getResource("point"),color:o,transparent:!0,opacity:.92,depthWrite:!1,depthTest:!1,fog:!1,blending:At}),A2=new l8(v2),_2=.12+Math.min(.08,be(e.value)/Math.max(a,1)*.06);A2.renderOrder=36,A2.scale.set(_2,_2,_2),A2.userData={curve:H,phase:n*.13%1,speed:.16+Math.min(.16,be(e.value)/Math.max(a,1)*.12)},A2.position.copy(H.getPointAt(A2.userData.phase)),this.tradeFlowPulseSprites.push(A2),this.tradeFlowMeshGroup.add(A2)}const u=new u8({map:this.assets.instance.getResource("point"),color:o,transparent:!0,opacity:.95,depthWrite:!1,depthTest:!1,fog:!1,blending:At}),m=new l8(u),h=.22+Math.min(.34,be(e.value)/Math.max(a,1)*.28);m.renderOrder=34,m.scale.set(h,h,h),m.position.copy(s),this.tradeFlowMeshGroup.add(m);const p=this.assets.instance.getResource("guangquan1"),g=new ce({map:p,alphaMap:p,color:o,transparent:!0,opacity:.52,depthWrite:!1,depthTest:!1,fog:!1,blending:At,side:vt}),b=.38+Math.min(.36,be(e.value)/Math.max(a,1)*.28),F=new We(new d5(b,b),g);F.renderOrder=29,F.position.copy(this.getTradeFlowPoint(e,.5)),this.tradeFlowMeshGroup.add(F)}createTradeMarketMarker(e){const n=this.assets.instance.getResource("point"),a=this.assets.instance.getResource("guangquan1"),i=this.getTradeLocalPoint(e.lng,e.lat,.82),r=new u8({map:n,color:16773997,transparent:!0,opacity:1,depthWrite:!1,depthTest:!1,fog:!1,blending:At}),o=new l8(r);o.renderOrder=35,o.scale.set(.34,.34,.34),o.position.copy(i),this.tradeFlowMeshGroup.add(o);const s=new ce({map:a,alphaMap:a,color:16773997,transparent:!0,opacity:.72,depthWrite:!1,depthTest:!1,fog:!1,blending:At,side:vt}),u=new We(new d5(.58,.58),s);u.renderOrder=29,u.position.copy(this.getTradeLocalPoint(e.lng,e.lat,.58)),this.tradeFlowMeshGroup.add(u)}disposeObject3D(e){var n,a,i,r;(a=(n=e.geometry)==null?void 0:n.dispose)==null||a.call(n),Array.isArray(e.material)?e.material.forEach(o=>{var s;return(s=o==null?void 0:o.dispose)==null?void 0:s.call(o)}):(r=(i=e.material)==null?void 0:i.dispose)==null||r.call(i)}updateTradeFlowPulses(e=.016){var n,a;!((n=this.tradeFlowGroup)!=null&&n.visible)||!((a=this.tradeFlowPulseSprites)!=null&&a.length)||this.tradeFlowPulseSprites.forEach(i=>{var s;const r=(s=i.userData)==null?void 0:s.curve;if(!r)return;const o=(be(i.userData.phase)+be(i.userData.speed,.16)*e)%1;i.userData.phase=o,i.position.copy(r.getPointAt(o))})}updateTradeFlowLayer(e=this.currentTownRanking){if(!gm(e)){this.hideTradeFlowLayer();return}this.ensureTradeFlowGroup();const n=this.getTradeFlowSource(e),a=this.getTradeFlowRows(e);if(!n||!a.length){this.clearTradeFlowLayer(),this.hideTradeFlowLayer();return}this.clearTradeFlowLayer(),this.tradeFlowGroup.visible=this.mapAnimationComplete;const i=PY(e);this.createTradeMarketMarker(n);const r=Math.max(...a.map(u=>u.value),1);a.forEach((u,m)=>{this.createTradeSourceMarker(u,m,r,n,i)});const o=a.length+1;for(let u=this.tradeFlowLabels.length;u{const h=this.tradeFlowLabels[m+1];h.element.className="trade-flow-label",h.init(this.getTradeFlowLabelHtml(u),this.getTradeFlowPoint(u,.78).add(this.getTradeFlowLabelOffset(u,m))),h.visible=!0,h.userData=L2({},u)}),this.tradeFlowLabels.slice(o).forEach(u=>{u.visible=!1})}hasTownRankingRows(e=this.currentTownRanking){return this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1).length>0}formatMapRankingValue(e){const n=be(e);return Math.abs(n)>=100?String(Math.round(n)):Math.abs(n)>=10?String(Number(n.toFixed(1))):String(Number(n.toFixed(2)))}formatMapCompactValue(e){const n=be(e);return Math.abs(n)>=1e4?`${Number((n/1e4).toFixed(Math.abs(n)>=1e5?1:2))}万`:Math.abs(n)>=1e3?`${Number((n/1e3).toFixed(1))}千`:this.formatMapRankingValue(n)}formatMapIntegerValue(e){const n=be(e);return Math.round(n).toLocaleString("zh-CN")}getBarHeight(e,n){return n?Math.max(2.8*.12,2.8*(be(e)/n)):2.8*.25}createBarGeometry(e){const a=new EA(.06999999999999999,.06999999999999999,e);return a.translate(0,0,e/2),a}getProvinceLabelHtml(e,n,a){return`
    +
    +
    +
    ${a.title}
    +
    ${this.formatMapRankingValue(e.value)}${e.unit||a.unit}
    +
    ${e.name}
    +
    +
    ${n+1}
    +
    +
    `}updateBarItem(e,n,a,i,r=!0){var m,h;const o=this.getBarHeight(n.value,i),[s,u]=this.geoProjection(n.centroid);return e.visible=!0,(h=(m=e.geometry)==null?void 0:m.dispose)==null||h.call(m),e.geometry=this.createBarGeometry(o),e.position.set(s,-u,this.depth+.45),e.userData=J2(L2({},n),{targetValue:n.value,geoHeight:o}),e.children.forEach(p=>{var g,b,F,H;(b=(g=p.geometry)==null?void 0:g.dispose)==null||b.call(g),Array.isArray(p.material)?p.material.forEach(K=>{var e2;return(e2=K==null?void 0:K.dispose)==null?void 0:e2.call(K)}):(H=(F=p.material)==null?void 0:F.dispose)==null||H.call(F)}),e.clear(),e.add(...this.createHUIGUANG(o,a>3?16776948:7863285)),r?Ht.to(e.scale,{duration:.45,x:1,y:1,z:1,ease:"power2.out"}):this.mapAnimationComplete&&e.scale.set(1,1,1),{x:s,y:u,geoHeight:o}}updateProvinceLabel(e,n,a,i,r,o=!0){var F;const s=be((F=e.userData)==null?void 0:F.targetValue,n.value);e.visible=!0,e.userData=J2(L2({},n),{targetValue:n.value}),e.position.copy(i);const u=e.element.querySelector(".label-title"),m=e.element.querySelector(".number .value"),h=e.element.querySelector(".number .unit"),p=e.element.querySelector(".name"),g=e.element.querySelector(".no");!u||!m||!h||!p||!g?e.element.innerHTML=this.getProvinceLabelHtml(n,a,r):(u.innerText=r.title,m.dataset.targetValue=String(n.value),m.innerText=this.formatMapRankingValue(n.value),h.innerText=n.unit||r.unit,p.innerText=n.name,g.innerText=a+1);const b=e.element.querySelector(".provinces-label-wrap");if(this.mapAnimationComplete&&(b.style.opacity="1",b.style.transform="translate(50%, 0)"),o&&this.mapAnimationComplete){const H=e.element.querySelector(".number .value"),e2={value:s};Ht.to(e2,{value:n.value,duration:.45,ease:"power2.out",onUpdate:()=>{H.innerText=this.formatMapRankingValue(e2.value)},onComplete:()=>{H.dataset.previousValue=String(n.value),H.innerText=this.formatMapRankingValue(n.value)}})}}clearTownNameLabelStat(e){const n=e.element.querySelector(".town-stat-label"),a=e.element.querySelector(".town-stat-value"),i=e.element.querySelector(".town-stat-unit"),r=e.element.querySelector(".town-rank"),o=e.element.querySelector(".town-stat-metric");n==null||n.classList.remove("has-stat"),e.element.style.pointerEvents="none",e.element.style.cursor="",a&&(a.innerText=""),i&&(i.innerText=""),r&&(r.innerText=""),o&&(o.innerText="")}updateTownNameLabelStats(e=this.currentTownRanking){var o;if(!((o=this.townNameLabels)!=null&&o.length))return;const n=this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1),a=this.getTownRankingMeta(e);if(a.hideTownLabelStats){this.townNameLabels.forEach(s=>{var h,p;const u=((h=s.userData)==null?void 0:h.townName)||((p=s.userData)==null?void 0:p.name),m=s.element.querySelector(".town-name");m&&(m.innerText=u||""),this.clearTownNameLabelStat(s),s.visible=!a.hideTownNames});return}const i=new Map(n.map(s=>[s6(s.name),s])),r=!!(a.showMissingTownStats&&e&&n.length&&(a.metricLabel||a.unit||a.title));this.townNameLabels.forEach(s=>{var p2,v2;const u=((p2=s.userData)==null?void 0:p2.townName)||((v2=s.userData)==null?void 0:v2.name),m=i.get(s6(u));if(a.onlyRankedTownLabels&&!m){this.clearTownNameLabelStat(s),s.element.style.pointerEvents="none",s.element.style.cursor="",s.visible=!1;return}const h=m||(r?{name:u,value:0,unit:a.unit,metricLabel:a.metricLabel,rank:null}:null);if(!h){this.clearTownNameLabelStat(s),s.element.style.pointerEvents="none",s.element.style.cursor="";return}const p=s.element.querySelector(".town-stat-label"),g=s.element.querySelector(".town-name"),b=s.element.querySelector(".town-stat-value"),F=s.element.querySelector(".town-stat-unit"),H=s.element.querySelector(".town-rank"),K=s.element.querySelector(".town-stat-metric");p==null||p.classList.add("has-stat"),g&&(g.innerText=u),K&&(K.innerText=h.metricLabel||a.metricLabel||""),b&&(b.innerText=this.formatMapRankingValue(h.value)),F&&(F.innerText=h.unit||a.unit||""),H&&(H.innerText=h.rank?`第${h.rank}名`:"");const e2=this.isNationalParkTownSelectionActive()&&!!m;s.element.style.pointerEvents=e2?"auto":"none",s.element.style.cursor=e2?"pointer":"",s.userData=J2(L2(L2({},s.userData),h),{townName:u,targetValue:h.value})})}getInfoPointHtml(e,n=this.getTownRankingMeta()){const a=String(e.metricLabel||n.metricLabel||n.title||"统计指标").replace(/排行$/,""),i=Number(e.rank),r=Number.isFinite(i)?String(i).padStart(2,"0"):"--";return`
    +
    +
    + ${r} + ${mt(e.name||"红原县")} +
    +
    ${mt(a)}
    +
    + ${this.formatMapRankingValue(e.value)} + ${mt(e.unit||n.unit||"")} +
    +
    +
    `}updateInfoPointStats(){var o,s;if(!((o=this.infoPointSprites)!=null&&o.length)||!((s=this.infoLabelElement)!=null&&s.length))return;if(!this.showTownRankingPointMarkers){this.clearInfoPointStats();return}const e=this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1);if(!e.length){this.clearInfoPointStats();return}const n=this.getTownRankingMeta(),a=e.slice(0,this.infoPointSprites.length),i=Math.max(...a.map(u=>u.value),1);this.infoPointSprites.forEach((u,m)=>{const h=a[m],p=this.infoLabelElement[m];if(!h){u.visible=!1,u.scale.set(0,0,0),p&&(p.visible=!1);return}const[g,b]=this.geoProjection(h.centroid||h.center),F=[g,-b,this.depth+.72];u.userData=J2(L2(L2({},u.userData),h),{position:F,value:h.value,unit:h.unit||n.unit,rank:h.rank,metricTitle:n.title,index:m}),u.position.set(...F),u.visible=this.showTownRankingPointMarkers;const H=.78+h.value/i*.44;if(u.scale.set(H,H,H),p){const K=(m%2===0?.22:-.18)+(m===0?.12:0),e2=m%3===0?.08:-.04;p.position.set(g+K,-b+e2,this.depth+1.88+Math.min(m,4)*.03),p.userData=J2(L2({},h),{index:m}),p.element.innerHTML=this.getInfoPointHtml(h,n)}});const r=this.infoLabelElement[this.infoPointIndex];r&&this.showTownRankingPointMarkers&&this.mapAnimationComplete&&(r.visible=!0),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}clearInfoPointStats(){var e,n;clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null,this.infoPointIndex=0,this.InfoPointGroup&&(this.InfoPointGroup.visible=!1),(e=this.infoLabelElement)==null||e.forEach(a=>{a.visible=!1}),(n=this.infoPointSprites)==null||n.forEach(a=>{a.visible=!1,a.scale.set(0,0,0)})}createBar(){const e=this.getTownRankingRows();this.getTownRankingMeta();const n=new Ae;this.barGroup=n;const a=Math.max(...e.map(i=>i.value),1);this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],e.map((i,r)=>{const o=this.getBarHeight(i.value,a),s=new ce({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new pi(s,{uColor1:r>3?16506760:5291006,uColor2:r>3?16776948:7863285,size:o,dir:"y"});const u=new We(this.createBarGeometry(o),s);u.renderOrder=5;const[m,h]=this.geoProjection(i.centroid);u.position.set(m,-h,this.depth+.45),u.scale.set(1,1,0),u.userData=J2(L2({},i),{targetValue:i.value,geoHeight:o});const p=this.createQuan(new c0(m,this.depth+.44,h),r);u.add(...this.createHUIGUANG(o,r>3?16776948:7863285)),n.add(u),n.rotation.x=-Math.PI/2,this.allBar.push(u),this.allBarMaterial.push(s),this.allGuangquan.push(p)}),this.scene.add(n),this.updateTownNameLabelStats(this.currentTownRanking)}setTownRanking(e){var r,o,s,u,m,h,p,g,b,F,H,K,e2,p2,v2,A2;this.currentTownRanking=e;const n=this.getTownRankingMeta(e);if(this.showTownRankingBars=!!n.showBars,this.showTownRankingPointMarkers=!!n.showPointMarkers,n.hideMapLabels){this.hideAllMapStatisticLabels(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete);return}if(gm(e)){this.setTradeNationalMapVisible(!1),this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.clearInfoPointStats(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!1),this.flyLineGroup&&(this.flyLineGroup.visible=!1),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1),this.scatterGroup&&(this.scatterGroup.visible=!1),(r=this.allBar)!=null&&r.length&&(this.allBar.forEach(_2=>{_2.visible=!1,_2.scale.set(1,1,0)}),(o=this.allBarMaterial)==null||o.forEach(_2=>{_2.opacity=0}),(s=this.allProvinceLabel)==null||s.forEach(_2=>{_2.visible=!1}),(u=this.allGuangquan)==null||u.forEach(_2=>{_2.visible=!1})),this.updateTradeFlowLayer(e),(e!=null&&e.mapView||e!=null&&e.cameraPosition)&&this.applyLayerMapView(null);return}if(this.setTradeNationalMapVisible(!1),this.hideTradeFlowLayer(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete),pm(e)){this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!ym(e)),this.clearInfoPointStats(),this.updateVillageRankingLabels(e),(m=this.allBar)!=null&&m.length&&(this.allBar.forEach(_2=>{_2.visible=!1,_2.scale.set(1,1,0)}),(h=this.allBarMaterial)==null||h.forEach(_2=>{_2.opacity=0}),(p=this.allProvinceLabel)==null||p.forEach(_2=>{_2.visible=!1}),(g=this.allGuangquan)==null||g.forEach(_2=>{_2.visible=!1}));return}if(this.setTownNameLabelsVisible(!n.calloutMode&&!n.hideTownNames),this.hideVillageRankingLabels(),n.calloutMode?this.updateTownNameLabelStats(null):this.updateTownNameLabelStats(e),!((b=this.allBar)!=null&&b.length))return;if(!this.showTownRankingBars){this.allBar.forEach(_2=>{_2.visible=!1,_2.scale.set(1,1,0)}),(F=this.allBarMaterial)==null||F.forEach(_2=>{_2.opacity=0}),(H=this.allProvinceLabel)==null||H.forEach(_2=>{_2.visible=!1}),(K=this.allGuangquan)==null||K.forEach(_2=>{_2.visible=!1}),this.showTownRankingPointMarkers?(this.InfoPointGroup&&(this.InfoPointGroup.visible=this.mapAnimationComplete&&this.hasTownRankingRows(e)),this.updateInfoPointStats()):this.clearInfoPointStats();return}const a=this.getTownRankingRows(e,7,!1);if(!a.length){this.allBar.forEach(_2=>{_2.visible=!1,_2.scale.set(1,1,0)}),(e2=this.allProvinceLabel)==null||e2.forEach(_2=>{_2.visible=!1}),(p2=this.allGuangquan)==null||p2.forEach(_2=>{_2.visible=!1}),this.clearInfoPointStats();return}this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.mapAnimationComplete),(v2=this.infoPointSprites)==null||v2.forEach(_2=>{_2.visible=this.showTownRankingPointMarkers});const i=Math.max(...a.map(_2=>_2.value),1);this.allBar.forEach((_2,q2)=>{const K2=q2{_2.visible=!1}),this.allGuangquan.forEach((_2,q2)=>{_2.visible=q2{const K2=this.allBar[q2],$2=this.allGuangquan[q2];if(!K2)return;const{x:c3,y:p3}=this.updateBarItem(K2,_2,q2,i,this.mapAnimationComplete);$2&&($2.visible=!0,$2.position.set(0,0,0),$2.children.forEach(y3=>{y3.position.set(c3,this.depth+.44,p3),this.mapAnimationComplete&&y3.scale.set(1,1,1)}))}),this.updateInfoPointStats()}createEvent(){let e=[];const n=i=>{i.traverse(r=>{r.isMesh&&(r.material=this.defaultMaterial)})},a=i=>{i.traverse(r=>{r.isMesh&&(r.material=this.defaultLightMaterial)})};this.eventElement.map(i=>{this.interactionManager.add(i),i.addEventListener("mousedown",r=>{this.handleMapClick(r)}),i.addEventListener("mouseover",r=>{e.includes(r.target.parent)||e.push(r.target.parent),document.body.style.cursor="pointer",a(r.target.parent)}),i.addEventListener("mouseout",r=>{e=e.filter(o=>o.userData.name!==r.target.parent.userData.name),e.length>0&&e[e.length-1],n(r.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(e,n){let a=new d5(.35,e);a.translate(0,e/2,0);const i=this.assets.instance.getResource("huiguang");i.colorSpace=dn,i.wrapS=on,i.wrapT=on;let r=new ce({color:n,map:i,transparent:!0,opacity:.4,depthWrite:!1,side:vt,blending:At}),o=new We(a,r);o.renderOrder=10,o.rotateX(Math.PI/2);let s=o.clone(),u=o.clone();return s.rotateY(Math.PI/180*60),u.rotateY(Math.PI/180*120),[o,s,u]}createQuan(e,n){const a=this.assets.instance.getResource("guangquan1"),i=this.assets.instance.getResource("guangquan2");let r=new d5(.5,.5),o=new ce({color:16777215,map:a,alphaMap:a,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:At}),s=new ce({color:16777215,map:i,alphaMap:i,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:At}),u=new We(r,o),m=new We(r,s);return u.renderOrder=6,m.renderOrder=6,u.rotateX(-Math.PI/2),m.rotateX(-Math.PI/2),u.position.copy(e),m.position.copy(e),m.position.y-=.001,u.scale.set(0,0,0),m.scale.set(0,0,0),this.quanGroup=new Ae,this.quanGroup.add(u,m),this.scene.add(this.quanGroup),this.time.on("tick",()=>{u.rotation.z+=.05}),this.quanGroup}createDiffuse(){let e=new d5(200,200),n=new ce({color:0,depthWrite:!1,transparent:!0,blending:NA});n.blendEquation=RA,n.blendSrc=LA,n.blendDst=IA,new tP({material:n,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:i=>{const r=setTimeout(()=>{this.addSceneTween(Ht.to(i.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(r)}});let a=new We(e,n);a.renderOrder=3,a.rotation.x=-Math.PI/2,a.position.set(0,.21,0),this.scene.add(a)}createGrid(){new nP(this,{gridSize:54,gridDivision:24,gridColor:1990543,shapeSize:.55,shapeColor:3309487,pointSize:.085,pointColor:1993891,pointBlending:At})}createBottomBg(){let e=new d5(24,24);const n=this.assets.instance.getResource("ocean");n.colorSpace=dn,n.wrapS=on,n.wrapT=on,n.repeat.set(1,1);let a=new ce({map:n,opacity:.92,fog:!1}),i=new We(e,a);i.rotation.x=-Math.PI/2,i.position.set(0,-.7,0),this.scene.add(i)}createChinaBlurLine(){let e=new d5(154,154);const n=this.assets.instance.getResource("chinaBlurLine");n.colorSpace=dn,n.wrapS=on,n.wrapT=on,n.generateMipmaps=!1,n.minFilter=rl,n.repeat.set(1,1);let a=new ce({color:4162253,alphaMap:n,transparent:!0,opacity:.62}),i=new We(e,a);i.rotateX(-Math.PI/2),i.position.set(-19.3,-.5,-19.7),this.scene.add(i)}createLabel(){let e=this,n=this.labelGroup,a=this.label3d,i=[],r=[];iY.map(s=>{if(s.hide==!0)return!1;let u=o(s,a,n);i.push(u),r.push(u)}),this.otherLabel=i,this.townNameLabels=r;function o(s,u,m){let h=u.create("",`china-label ${s.blur?" blur":""}`,!0);const[p,g]=e.geoProjection(s.center);return h.init(`
    +
    ${s.name}
    +
    +
    `,new c0(p,-g,e.depth+.85)),u.setLabelStyle(h,.018,"x"),h.setParent(m),h.userData=J2(L2({},s),{labelType:"town-label",baseScale:.018,townName:s.name}),h.element.addEventListener("pointerdown",b=>{e.handleTownRankingSelect(s.name,{preserveCamera:!0,statusText:`已选中${s.name}`})&&(b.preventDefault(),b.stopPropagation())}),h}}createRotateBorder(){let e=13.2,n=this.assets.instance.getResource("rotationBorder1"),a=this.assets.instance.getResource("rotationBorder2"),i=new ih(this,{width:e*1.178,needRotate:!0,rotateSpeed:.001,material:new ce({map:n,color:4763647,transparent:!0,opacity:.26,side:vt,depthWrite:!1,blending:At}),position:new c0(0,.31,0)});i.instance.rotation.x=-Math.PI/2,i.instance.renderOrder=6,i.instance.scale.set(0,0,0),i.setParent(this.scene);let r=new ih(this,{width:e*1.116,needRotate:!0,rotateSpeed:-.004,material:new ce({map:a,color:4763647,transparent:!0,opacity:.5,side:vt,depthWrite:!1,blending:At}),position:new c0(0,.33,0)});r.instance.rotation.x=-Math.PI/2,r.instance.renderOrder=6,r.instance.scale.set(0,0,0),r.setParent(this.scene),this.rotateBorder1=i.instance,this.rotateBorder2=r.instance}createFlyLine(){this.flyLineGroup=new Ae,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup)}createFocus(){this.flyLineFocusGroup.clear()}createParticles(){this.particles=new rr(this,{num:10,range:30,dir:"up",speed:.05,material:new xr({map:rr.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:At,sizeAttenuation:!0})}),this.particleGroup=new Ae,this.scene.add(this.particleGroup),this.particleGroup.rotation.x=-Math.PI/2,this.particles.setParent(this.particleGroup),this.particles.enable=!0,this.particleGroup.visible=!0}createScatter(){this.scatterGroup=new Ae,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const e=this.assets.instance.getResource("arrow"),n=new u8({map:e,color:16776948,fog:!1,transparent:!0,depthTest:!1});let a=mm(rY),i=a[0].value;a.map(r=>{const o=new l8(n);o.renderOrder=23;let s=.1+r.value/i*.2;o.scale.set(s,s,s);let[u,m]=this.geoProjection([r.lng,r.lat]);o.position.set(u,-m,this.depth+.45),o.userData.position=[u,-m,this.depth+.45],this.scatterGroup.add(o)})}createInfoPoint(){let e=this;this.InfoPointGroup=new Ae,this.scene.add(this.InfoPointGroup),this.InfoPointGroup.visible=!1,this.InfoPointGroup.rotation.x=-Math.PI/2,this.infoPointIndex=0,this.infoPointLabelTime=null,this.infoLabelElement=[],this.infoPointSprites=[];let n=this.label3d;const a=this.assets.instance.getResource("point");let i=[16776948,7863285],r=mm(oY),o=r[0].value;r.map((u,m)=>{const h=new u8({map:a,color:i[m%i.length],fog:!1,transparent:!0,depthTest:!1}),p=new l8(h);p.renderOrder=23;let g=.7+u.value/o*.4;p.scale.set(g,g,g);let[b,F]=this.geoProjection([u.lng,u.lat]),H=[b,-F,this.depth+.7];p.position.set(...H),p.userData.position=[...H],p.userData={position:[b,-F,this.depth+.7],name:u.name,value:u.value,level:u.level,index:m},this.InfoPointGroup.add(p);let K=s(u,n,this.InfoPointGroup,m);this.infoLabelElement.push(K),this.infoPointSprites.push(p),this.interactionManager.add(p),p.addEventListener("mousedown",e2=>{var p2,v2;if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.infoPointIndex=e2.target.userData.index,this.infoLabelElement.map(A2=>{A2.visible=!1}),K.visible=!0,this.handleTownRankingSelect(((p2=e2.target.userData)==null?void 0:p2.name)||((v2=e2.target.userData)==null?void 0:v2.townName)),this.createInfoPointLabelLoop()}),p.addEventListener("mouseup",e2=>{this.clicked=!1}),p.addEventListener("mouseover",e2=>{document.body.style.cursor="pointer"}),p.addEventListener("mouseout",e2=>{document.body.style.cursor="default"})});function s(u,m,h,p){let g=m.create("","info-point",!0);const[b,F]=e.geoProjection([u.lng,u.lat]);return g.init(e.getInfoPointHtml(J2(L2({},u),{value:0,rank:p+1,unit:""}),e.getTownRankingMeta()),new c0(b,-F,e.depth+1.9)),m.setLabelStyle(g,.015,"x"),g.setParent(h),g.visible=!1,g}}createInfoPointLabelLoop(){var e;this.scenePaused||!((e=this.infoLabelElement)!=null&&e.length)||(clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((n,a)=>{this.infoPointIndex===a?n.visible=!0:n.visible=!1})},3e3))}createStorke(){const e=this.staticMapData.mapStroke,n=this.assets.instance.getResource("pathLine3");n.wrapS=n.wrapT=on,n.repeat.set(2,1);let a=new d8(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new c0(0,0,this.depth+.24),data:e,material:new ce({color:2868444,map:n,alphaMap:n,fog:!1,transparent:!0,opacity:1,blending:At}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(a.lineGroup),this.time.on("tick",()=>{n.offset.x+=.005})}handleMapClick(e){return k3(this,null,function*(){var r,o,s,u,m,h,p,g,b,F,H,K,e2,p2,v2,A2,_2,q2,K2,$2,c3,p3,y3,z3,S3,I3,A3,a1,C1,y1,S1,l1,E1,t0,o0,G1,Q1,d3,F3,U3,a3;if(!this.currentTopicLayer)return;const n=this.getScreenPointFromEvent(e),a=this.getLngLatFromEvent(e);if(!a){this.clearSelectedFeature(),(o=(r=this.callbacks).onFeatureInfo)==null||o.call(r,{feature:null});return}if(this.boundaryDrawingEnabled){const F2=((s=e==null?void 0:e.data)==null?void 0:s.originalEvent)||(e==null?void 0:e.originalEvent)||e;if(F2!=null&&F2.__analysisBoundaryHandled)return;this.addBoundaryDrawPoint(a);return}if(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)&&!this.isLngLatInHongyuanBoundary(a)){this.clearSelectedFeature(),(m=(u=this.callbacks).onFeatureInfo)==null||m.call(u,{feature:null}),(p=(h=this.callbacks).onLayerStatus)==null||p.call(h,{type:"success",text:"当前点击位置不在红原县边界内"});return}if(this.shouldClipLayerToLayerBounds(this.currentTopicLayer)&&!this.isLngLatInLayerClipBounds(a,this.currentTopicLayer)){this.clearSelectedFeature(),(b=(g=this.callbacks).onFeatureInfo)==null||b.call(g,{feature:null}),(H=(F=this.callbacks).onLayerStatus)==null||H.call(F,{type:"success",text:"当前点击位置不在图层显示范围内"});return}if(EY(this.currentTopicLayer)){this.clearSelectedFeature(),(e2=(K=this.callbacks).onFeatureInfo)==null||e2.call(K,{feature:null});return}if(ki(this.currentTopicLayer)){const F2=this.pickVectorFeatureAtPoint(a,n),N3=(F2==null?void 0:F2.feature)||F2;let _3=(F2==null?void 0:F2.screen)||n;if(N3)this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)?(this.clearSelectedGeometryGroup(),this.setSelectedVectorFeatures([N3])):this.showSelectedFeature(N3),((p2=this.currentTopicLayer)==null?void 0:p2.key)==="yak-industry-points"&&(this.setSelectedVectorFeatures([N3]),_3=this.getPointFeatureScreenPoint(N3)||_3),(K2=(q2=this.callbacks).onFeatureInfo)==null||K2.call(q2,{feature:{id:((v2=N3.properties)==null?void 0:v2.id)||((A2=N3.properties)==null?void 0:A2.feature_id)||((_2=N3.properties)==null?void 0:_2.project_name),properties:N3.properties||{},feature:N3,layer:this.currentTopicLayer,lngLat:a},screen:_3}),(c3=($2=this.callbacks).onLayerStatus)==null||c3.call($2,{type:"success",text:"真实矢量要素已选中"});else{const o1=this.getTownNameFromMapEvent(e);if(this.handleTownRankingSelect(o1))return;this.clearSelectedFeature(),(y3=(p3=this.callbacks).onFeatureInfo)==null||y3.call(p3,{feature:null}),(S3=(z3=this.callbacks).onLayerStatus)==null||S3.call(z3,{type:"success",text:"当前点击位置无生态保护要素"})}return}const i=this.lngLatToWmsPixel(a);(A3=(I3=this.callbacks).onFeatureInfo)==null||A3.call(I3,{feature:null}),(C1=(a1=this.callbacks).onFeatureLoading)==null||C1.call(a1,!0);try{const F2=yield fh(this.currentTopicLayer,i,{size:I6,buffer:10}),N3=this.normalizeFeatureInfoAtPoint(F2,a),_3=N3?null:yield this.queryFallbackFeatureInfo(a),o1=N3||(_3==null?void 0:_3.feature);if(o1){const w1=yield this.enrichFeatureInfo(o1,i,a);this.showSelectedFeature(w1.feature||w1),(S1=(y1=this.callbacks).onFeatureInfo)==null||S1.call(y1,{feature:J2(L2({},w1),{layer:(_3==null?void 0:_3.layer)||this.currentTopicLayer,lngLat:a}),screen:n})}else this.clearSelectedFeature(),(E1=(l1=this.callbacks).onFeatureInfo)==null||E1.call(l1,{feature:null});o1||(o0=(t0=this.callbacks).onLayerStatus)==null||o0.call(t0,{type:"success",text:"当前点击位置无图斑"})}catch(F2){this.clearSelectedFeature(),(Q1=(G1=this.callbacks).onFeatureInfo)==null||Q1.call(G1,{feature:null}),(F3=(d3=this.callbacks).onLayerStatus)==null||F3.call(d3,{type:"error",text:"图斑信息查询失败"})}finally{(a3=(U3=this.callbacks).onFeatureLoading)==null||a3.call(U3,!1)}})}handleCanvasBoundaryPointerDown(e){var a,i;if(!this.boundaryDrawingEnabled)return;const n=this.getLngLatFromCanvasEvent(e);n&&this.addBoundaryDrawPoint(n)&&(e.__analysisBoundaryHandled=!0),(a=e.preventDefault)==null||a.call(e),(i=e.stopPropagation)==null||i.call(e)}handleCanvasBoundaryDoubleClick(e){var a,i;if(!this.boundaryDrawingEnabled)return;const n=this.getLngLatFromCanvasEvent(e);(this.boundaryDrawPoints||[]).length<3&&n&&this.addBoundaryDrawPoint(n),(this.boundaryDrawPoints||[]).length>=3&&(this.finishBoundaryDrawing(),e.__analysisBoundaryHandled=!0),(a=e.preventDefault)==null||a.call(e),(i=e.stopPropagation)==null||i.call(e)}getLngLatFromCanvasEvent(e){var g,b,F;if(!((g=this.camera)!=null&&g.instance)||!this.focusMapGroup||!this.canvas)return null;const n=this.canvas.getBoundingClientRect();if(!n.width||!n.height)return null;const a=(b=this.interactionManager)==null?void 0:b.raycaster;if(!(a!=null&&a.setFromCamera))return null;const i={x:(e.clientX-n.left)/n.width*2-1,y:-((e.clientY-n.top)/n.height)*2+1};a.setFromCamera(i,this.camera.instance);const o=((F=a.intersectObjects(this.eventElement||[],!0)[0])==null?void 0:F.point)||this.getRayMapPlaneIntersection(a.ray);if(!o)return null;const s=this.focusMapGroup.worldToLocal(o.clone()),m=D6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([s.x,-s.y]);if(!m)return null;const h=Number(m[0]),p=Number(m[1]);return!Number.isFinite(h)||!Number.isFinite(p)?null:h<$1.west-.03||h>$1.east+.03||p<$1.south-.03||p>$1.north+.03?this.getFallbackLngLatFromPointer(e,n):{lng:h,lat:p}}getFallbackLngLatFromPointer(e,n=(i=>(i=(a=>(a=this.canvas)==null?void 0:a.getBoundingClientRect)())==null?void 0:i.call(a))()){if(!(n!=null&&n.width)||!(n!=null&&n.height))return null;const r=Math.min(1,Math.max(0,(e.clientX-n.left)/n.width)),o=Math.min(1,Math.max(0,(e.clientY-n.top)/n.height)),s=$1.west+($1.east-$1.west)*r,u=$1.north-($1.north-$1.south)*o;return{lng:s,lat:u}}getRayMapPlaneIntersection(e){if(!(e!=null&&e.origin)||!(e!=null&&e.direction)||!this.focusMapGroup)return null;const n=this.focusMapGroup.worldToLocal(e.origin.clone()),i=this.focusMapGroup.worldToLocal(e.origin.clone().add(e.direction.clone())).sub(n),r=this.depth+.22;if(Math.abs(i.z)<1e-8)return null;const o=(r-n.z)/i.z;if(!Number.isFinite(o)||o<0)return null;const s=n.add(i.multiplyScalar(o));return this.focusMapGroup.localToWorld(s)}enrichFeatureInfo(e,n,a){return k3(this,null,function*(){const i=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","wetland","woodland"].includes(i))return e;const o=(Bi[i]||[]).find(p=>p.key===`${i}-distribution`),s=(this.visibleTopicLayers||[]).filter(p=>this.getLayerTopicKey(p)===i).slice(0,5),u=[o,this.currentTopicLayer,...s].filter(p=>p==null?void 0:p.layerName).filter((p,g,b)=>b.findIndex(F=>this.getLayerQueryKey(F)===this.getLayerQueryKey(p))===g);if(!u.length)return e;const m=yield Promise.allSettled([...u.filter(p=>this.getLayerQueryKey(p)!==this.getLayerQueryKey(this.currentTopicLayer)).map(p=>k3(this,null,function*(){const g=yield fh(p,n,{size:I6,buffer:10}),b=this.normalizeFeatureInfoAtPoint(g,a);return b?{layer:p,feature:b,source:"wms"}:null})),...u.map(p=>k3(this,null,function*(){const g=yield this.queryLayerFeatureByPoint(p,a);return g?{layer:p,feature:g,source:"wfs"}:null}))]),h=L2({},e.properties||{});return m.forEach(p=>{var g,b;p.status!=="fulfilled"||!((b=(g=p.value)==null?void 0:g.feature)!=null&&b.properties)||this.mergeBusinessProperties(h,p.value.feature.properties,p.value.layer)}),J2(L2({},e),{properties:h,relatedFeatures:m.filter(p=>{var g;return p.status==="fulfilled"&&((g=p.value)==null?void 0:g.feature)}).map(p=>p.value),feature:J2(L2({},e.feature||{}),{properties:h})})})}queryFallbackFeatureInfo(e){return k3(this,null,function*(){const n=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","wetland","woodland"].includes(n))return null;const i=[(Bi[n]||[]).find(r=>r.key===`${n}-distribution`),this.currentTopicLayer,...(this.visibleTopicLayers||[]).filter(r=>this.getLayerTopicKey(r)===n)].filter((r,o,s)=>(r==null?void 0:r.layerName)&&s.findIndex(u=>this.getLayerQueryKey(u)===this.getLayerQueryKey(r))===o);for(const r of i){const o=yield this.queryLayerFeatureByPoint(r,e,{requireContainment:!0});if(o)return{layer:r,feature:o}}return null})}normalizeFeatureInfoAtPoint(e,n){const a=Array.isArray(e==null?void 0:e.features)?e.features:[];if(!a.length)return null;const i=this.pickFeatureAtPoint(a,n,{requireContainment:!0});if(!i)return null;const r=i.properties||{};return{id:i.id||r.gid||r.objectid||r.OBJECTID,properties:r,feature:i}}queryLayerFeatureByPoint(i,r){return k3(this,arguments,function*(e,n,a={}){var F,H,K;if(!(e!=null&&e.layerName)||!Number.isFinite(n==null?void 0:n.lng)||!Number.isFinite(n==null?void 0:n.lat))return null;const o=e.pointQueryTolerance||.0015,s=e.geometryField||"geom",u=n.lng-o,m=n.lat-o,h=n.lng+o,p=n.lat+o,g=yield or(e.layerName,{cqlFilter:`BBOX(${s},${u},${m},${h},${p})`,maxFeatures:8,timeout:12e3}),b=this.pickFeatureAtPoint((g==null?void 0:g.features)||[],n,a);return b?{id:b.id||((F=b.properties)==null?void 0:F.gid)||((H=b.properties)==null?void 0:H.objectid)||((K=b.properties)==null?void 0:K.OBJECTID),properties:b.properties||{},feature:b}:null})}pickFeatureAtPoint(e,n,a={}){var r;if(!Array.isArray(e)||!e.length)return null;const i=e.filter(o=>this.isLngLatInGeometry(n,o.geometry)).sort((o,s)=>this.getGeometryAreaScore(o.geometry)-this.getGeometryAreaScore(s.geometry));return i.length?i[0]:a.requireContainment?null:((r=e.map(o=>({feature:o,distance:this.getGeometryDistanceScore(o.geometry,n)})).sort((o,s)=>o.distance-s.distance)[0])==null?void 0:r.feature)||null}isLngLatInGeometry(e,n){return!e||!(n!=null&&n.coordinates)?!1:n.type==="Polygon"?this.isLngLatInPolygon(e,n.coordinates):n.type==="MultiPolygon"?n.coordinates.some(a=>this.isLngLatInPolygon(e,a)):!1}isLngLatInPolygon(e,n=[]){return!n.length||!this.isLngLatInRing(e,n[0])?!1:!n.slice(1).some(i=>this.isLngLatInRing(e,i))}isLngLatInRing(e,n=[]){if(n.length<3)return!1;let a=!1;const i=e.lng,r=e.lat;for(let o=0,s=n.length-1;or!=b>r&&i<(g-h)*(r-p)/(b-p)+h&&(a=!a)}return a}isPointOnSegment(e,n,a,i,r,o){const s=(e-a)*(o-i)-(n-i)*(r-a);return Math.abs(s)>1e-10?!1:(e-a)*(e-r)+(n-i)*(n-o)<=1e-10}getGeometryAreaScore(e){return e!=null&&e.coordinates?e.type==="Polygon"?this.getLngLatPolygonAreaScore(e.coordinates):e.type==="MultiPolygon"?e.coordinates.reduce((n,a)=>n+this.getLngLatPolygonAreaScore(a),0):Number.POSITIVE_INFINITY:Number.POSITIVE_INFINITY}getLngLatPolygonAreaScore(e=[]){const n=e[0]||[];if(n.length<3)return Number.POSITIVE_INFINITY;let a=0;for(let i=0;i({minLng:Math.min(a.minLng,Number((i==null?void 0:i[0])||0)),minLat:Math.min(a.minLat,Number((i==null?void 0:i[1])||0)),maxLng:Math.max(a.maxLng,Number((i==null?void 0:i[0])||0)),maxLat:Math.max(a.maxLat,Number((i==null?void 0:i[1])||0))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}getGeometryCoordinateList(e){const n=[],a=i=>{if(Array.isArray(i)){if(typeof i[0]=="number"&&typeof i[1]=="number"){n.push(i);return}i.forEach(a)}};return a(e==null?void 0:e.coordinates),n}pickVectorFeatureAtPoint(e,n){var o;const a=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]);if(((o=this.currentTopicLayer)==null?void 0:o.key)==="yak-industry-points"){const s=this.pickPointFeatureAtScreenPoint(a,n);if(s)return s}const i=a.filter(s=>this.isLngLatInGeometry(e,s.geometry)).sort((s,u)=>this.getGeometryAreaScore(s.geometry)-this.getGeometryAreaScore(u.geometry));if(i.length)return i[0];const r=a.find(s=>this.isPointOrLineNearLngLat(s.geometry,e));return r||null}pickPointFeatureAtScreenPoint(e,n){var r;if(!n||!((r=this.camera)!=null&&r.instance)||!this.focusMapGroup||!this.canvas)return null;const i=(e||[]).filter(o=>{var s;return((s=o==null?void 0:o.geometry)==null?void 0:s.type)==="Point"}).map(o=>{const s=this.getPointFeatureScreenPoint(o);return s?{feature:o,screen:s,distance:Math.hypot(s.x-n.x,s.y-n.y)}:null}).filter(Boolean).sort((o,s)=>o.distance-s.distance)[0];return(i==null?void 0:i.distance)<=22?{feature:i.feature,screen:i.screen}:null}getPointFeatureScreenPoint(e){var a,i;const n=(e==null?void 0:e.geometry)||((a=e==null?void 0:e.feature)==null?void 0:a.geometry);return(n==null?void 0:n.type)!=="Point"?null:((i=this.currentTopicLayer)==null?void 0:i.key)==="yak-industry-points"?this.lngLatToLayerScreenPoint(n.coordinates,this.depth+.36):this.lngLatToScreenPoint(n.coordinates,this.depth+.32)}lngLatToLayerLocalPoint(e,n=0){const a=()=>{const m=Number(e==null?void 0:e[0]),h=Number(e==null?void 0:e[1]);if(!Number.isFinite(m)||!Number.isFinite(h))return new c0(0,0,Number(n)||0);const[p,g]=this.geoProjection([m,h]);return new c0(p,-g,Number(n)||0)},i=this.topicLayerUvBounds;if(!i)return a();const r=this.lngLatToLayerCanvasPoint(e),o=this.topicLayerCanvas;if(!(o!=null&&o.width)||!(o!=null&&o.height))return a();const s=i.left+r.x/o.width*(i.right-i.left),u=i.bottom+(o.height-r.y)/o.height*(i.top-i.bottom);return new c0(s,u,Number(n)||0)}lngLatToLayerScreenPoint(e,n=0){return this.localMapPointToScreenPoint(this.lngLatToLayerLocalPoint(e,n))}lngLatToScreenPoint(e,n=0){const a=Number(e==null?void 0:e[0]),i=Number(e==null?void 0:e[1]);if(!Number.isFinite(a)||!Number.isFinite(i))return null;const r=this.lngLatToWorldPoint([a,i],n);return this.worldPointToScreenPoint(r)}localMapPointToScreenPoint(e){const n=this.focusMapGroup?this.focusMapGroup.localToWorld(e):e;return this.worldPointToScreenPoint(n)}worldPointToScreenPoint(e){var i;if(!((i=this.camera)!=null&&i.instance)||!this.canvas||!e)return null;const n=this.canvas.getBoundingClientRect();if(!n.width||!n.height)return null;const a=e.clone().project(this.camera.instance);return!Number.isFinite(a.x)||!Number.isFinite(a.y)?null:{x:n.left+(a.x+1)/2*n.width,y:n.top+(1-a.y)/2*n.height}}focusProject(e){var g,b,F,H;const n=String(e||"").trim();if(!n)return!1;const a=(this.currentVectorFeatures||[]).filter(K=>{var e2;return String(((e2=K==null?void 0:K.properties)==null?void 0:e2.project_name)||"").trim()===n});if(!a.length)return(b=(g=this.callbacks).onLayerStatus)==null||b.call(g,{type:"success",text:"当前项目图斑尚未加载"}),!1;const i=this.getFeatureListLngLatBounds(a);if(!i)return!1;const r=this.getProjectHighlightFeatures(a);r.length?(this.showSelectedFeatures(r),this.setSelectedVectorFeatures(r)):this.clearSelectedFeature();const o=[(i.minLng+i.maxLng)/2,(i.minLat+i.maxLat)/2],s=Math.max(i.maxLng-i.minLng,i.maxLat-i.minLat),u=Math.max(.22,Math.min(.55,s*1.25)),m=this.lngLatToWorldPoint(o,.72),h=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(u),p=m.clone().add(h);return this.animateMapCamera(p,m,.75),(H=(F=this.callbacks).onLayerStatus)==null||H.call(F,{type:"success",text:"已定位项目"}),!0}setBoundaryDrawing(e){var n,a,i,r;this.boundaryDrawingEnabled=!!e,this.boundaryDrawingEnabled?(this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.clearSelectedFeature(),(a=(n=this.callbacks).onLayerStatus)==null||a.call(n,{type:"success",text:"请在地图上依次点击绘制分析边界"})):(r=(i=this.callbacks).onLayerStatus)==null||r.call(i,{type:"success",text:"已退出边界绘制"}),this.redrawVectorTopicLayer()}addBoundaryDrawPoint(e){var r,o,s,u;if(!Number.isFinite(e==null?void 0:e.lng)||!Number.isFinite(e==null?void 0:e.lat))return!1;const n=Date.now(),a=this.lastBoundaryDrawPoint;return a&&n-a.time<350&&Math.hypot(e.lng-a.lng,e.lat-a.lat)<8e-4?!1:(this.lastBoundaryDrawPoint={lng:e.lng,lat:e.lat,time:n},this.boundaryDrawPoints=[...this.boundaryDrawPoints||[],{lng:e.lng,lat:e.lat}],(o=(r=this.callbacks).onDrawBoundary)==null||o.call(r,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),(u=(s=this.callbacks).onLayerStatus)==null||u.call(s,{type:"success",text:`已添加边界点 ${this.boundaryDrawPoints.length} 个`}),this.redrawVectorTopicLayer(),!0)}undoBoundaryPoint(){var e,n,a;return(e=this.boundaryDrawPoints)!=null&&e.length?(this.boundaryDrawPoints=this.boundaryDrawPoints.slice(0,-1),(a=(n=this.callbacks).onDrawBoundary)==null||a.call(n,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),this.redrawVectorTopicLayer(),!0):!1}finishBoundaryDrawing(){var o,s,u,m,h,p;const e=this.boundaryDrawPoints||[];if(e.length<3)return(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"至少需要 3 个点才能形成分析边界"}),null;const n=e.map(g=>[g.lng,g.lat]),a=n[0],i=n[n.length-1];(a[0]!==i[0]||a[1]!==i[1])&&n.push([...a]);const r={type:"Feature",properties:{source:"draw",pointCount:e.length},geometry:{type:"Polygon",coordinates:[n]}};return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=r,(m=(u=this.callbacks).onDrawBoundary)==null||m.call(u,{status:"complete",feature:r,points:e,pointCount:e.length}),(p=(h=this.callbacks).onLayerStatus)==null||p.call(h,{type:"success",text:"分析边界已生成"}),this.redrawVectorTopicLayer(),r}clearAnalysisBoundary(){var e,n;return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.redrawVectorTopicLayer(),(n=(e=this.callbacks).onDrawBoundary)==null||n.call(e,{status:"clear",points:[],pointCount:0}),!0}showAnalysisResult(e={}){var r;const n=Object.prototype.hasOwnProperty.call(e,"boundary")||Object.prototype.hasOwnProperty.call(e,"boundaryFeature")||Object.prototype.hasOwnProperty.call(e,"feature"),a=e.boundary||e.boundaryFeature||e.feature||null,i=Array.isArray(e.matches)?e.matches:[];return n&&(this.analysisBoundaryFeature=(a==null?void 0:a.type)==="Feature"?a:a!=null&&a.geometry?{type:"Feature",properties:a.properties||{},geometry:a.geometry}:null),this.analysisMatchedFeatures=i.map(o=>(o==null?void 0:o.feature)||o).filter(o=>o==null?void 0:o.geometry),e.preserveView||(!n&&this.analysisMatchedFeatures.length?this.focusAnalysisFeatures(this.analysisMatchedFeatures):(r=this.analysisBoundaryFeature)!=null&&r.geometry&&this.focusAnalysisGeometry(this.analysisBoundaryFeature.geometry)),this.redrawVectorTopicLayer(),!0}focusAnalysisFeatures(e=[]){const n=this.getFeatureListLngLatBounds(e);if(!n)return!1;const a=[(n.minLng+n.maxLng)/2,(n.minLat+n.maxLat)/2];return this.flyToLngLat(a,{span:Math.max(n.maxLng-n.minLng,n.maxLat-n.minLat),statusText:"已定位命中项目"})}focusAnalysisGeometry(e){const n=this.getGeometryLngLatBounds(e);if(!n)return!1;const a=[(n.minLng+n.maxLng)/2,(n.minLat+n.maxLat)/2];return this.flyToLngLat(a,{span:Math.max(n.maxLng-n.minLng,n.maxLat-n.minLat),statusText:"已定位分析边界"})}focusPasture(e={}){var i,r;const a=[...this.normalizePastureGrasslandRows(e==null?void 0:e.grasslands),...this.normalizePastureGrasslandRows(e==null?void 0:e.wkt)].map((o,s)=>{const u=this.normalizePastureGrasslandGeometry(o);if(!u)return null;const m=this.normalizePastureGrasslandProperties(o);return{type:"Feature",properties:J2(L2({},m),{id:m.id||m.gid||`${(e==null?void 0:e.name)||"pasture"}-${s}`,pasture_name:(e==null?void 0:e.name)||m.pastureName||m.name}),geometry:u}}).filter(Boolean);if(a.length){const o=this.getFeatureListLngLatBounds(a);if(!o)return!1;this.showSelectedFeatures(a,{mode:"pasture"}),this.setSelectedVectorFeatures(a);const s=[(o.minLng+o.maxLng)/2,(o.minLat+o.maxLat)/2];return this.flyToLngLat(s,{span:Math.max(o.maxLng-o.minLng,o.maxLat-o.minLat),statusText:"已定位具体草场"}),!0}return(r=(i=this.callbacks).onLayerStatus)==null||r.call(i,{type:"warning",text:"当前牧户暂无可定位数据"}),!1}normalizePastureGrasslandRows(e){return e?typeof e=="string"?[e]:Array.isArray(e)?e:(e==null?void 0:e.type)==="FeatureCollection"&&Array.isArray(e.features)?e.features:(e==null?void 0:e.type)==="Feature"||this.isGeoJsonGeometry(e)?[e]:Array.isArray(e==null?void 0:e.rows)?e.rows:Array.isArray(e==null?void 0:e.data)?e.data:e!=null&&e.data?this.normalizePastureGrasslandRows(e.data):Array.isArray(e==null?void 0:e.list)?e.list:Array.isArray(e==null?void 0:e.features)?e.features:e!=null&&e.wkt||e!=null&&e.geo||e!=null&&e.geom||e!=null&&e.geometryWkt||e!=null&&e.geometry_wkt||e!=null&&e.shape||e!=null&&e.location||e!=null&&e.geometry?[e]:[]:[]}normalizePastureGrasslandGeometry(e){var n;return typeof e=="string"?this.parseGeometryText(e):(e==null?void 0:e.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry):this.isGeoJsonGeometry(e)?e:typeof(e==null?void 0:e.geometry)=="string"?this.parseGeometryText(e.geometry):((n=e==null?void 0:e.geometry)==null?void 0:n.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry.geometry):this.isGeoJsonGeometry(e==null?void 0:e.geometry)?e.geometry:this.parseGeometryText((e==null?void 0:e.wkt)||(e==null?void 0:e.geo)||(e==null?void 0:e.geom)||(e==null?void 0:e.geometryWkt)||(e==null?void 0:e.geometry_wkt)||(e==null?void 0:e.shape)||(e==null?void 0:e.location))}normalizePastureGrasslandProperties(e){return!e||typeof e!="object"||Array.isArray(e)?{wkt:e}:e.type==="Feature"?e.properties||{}:e}parseGeometryText(e){const n=String(e||"").trim();if(!n)return null;if(n.startsWith("{")||n.startsWith("["))try{const a=JSON.parse(n);if((a==null?void 0:a.type)==="Feature")return this.normalizePastureGrasslandGeometry(a);if(this.isGeoJsonGeometry(a))return a}catch(a){return null}return this.parseWktGeometry(n)}isGeoJsonGeometry(e){return!!(e&&["Polygon","MultiPolygon","LineString","MultiLineString","Point"].includes(e.type)&&e.coordinates)}flyToLngLat(e,n={}){var p,g;const a=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],i=Number(a==null?void 0:a[0]),r=Number(a==null?void 0:a[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return!1;const o=Number(n.span),s=Number.isFinite(o)?Math.max(.2,Math.min(.55,o*1.25)):.32,u=this.lngLatToWorldPoint([i,r],.72),m=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(s),h=u.clone().add(m);return this.animateMapCamera(h,u,n.duration||.75),(g=(p=this.callbacks).onLayerStatus)==null||g.call(p,{type:"success",text:n.statusText||"已定位"}),!0}getProjectHighlightFeatures(e){const n=e.filter(i=>{var o;const r=String(((o=i==null?void 0:i.geometry)==null?void 0:o.type)||"");return r.includes("Polygon")||r.includes("LineString")}),a=n.filter(i=>{var r;return((r=i==null?void 0:i.properties)==null?void 0:r.feature_role)==="工程范围"});return a.length?a:n}getFeatureListLngLatBounds(e){return e.reduce((n,a)=>{const i=this.getGeometryLngLatBounds(a.geometry);return i?n?{minLng:Math.min(n.minLng,i.minLng),minLat:Math.min(n.minLat,i.minLat),maxLng:Math.max(n.maxLng,i.maxLng),maxLat:Math.max(n.maxLat,i.maxLat)}:L2({},i):n},null)}isPointOrLineNearLngLat(e,n){return e!=null&&e.coordinates?e.type==="Point"?this.getCoordinateDistance(e.coordinates,[n.lng,n.lat])<=.02:e.type==="LineString"?this.isCoordinateNearLine(e.coordinates,n,.004):e.type==="MultiLineString"?e.coordinates.some(a=>this.isCoordinateNearLine(a,n,.004)):!1:!1}isCoordinateNearLine(e,n,a){if(!Array.isArray(e)||e.length<2)return!1;const i=[n.lng,n.lat];for(let r=1;rr.some(o=>o.key===a||o.layerName===n));return(i==null?void 0:i[0])||""}getLayerQueryKey(e){return[(e==null?void 0:e.layerName)||"",(e==null?void 0:e.styles)||"",(e==null?void 0:e.cqlFilter)||"",(e==null?void 0:e.key)||""].join("|")}mergeBusinessProperties(e,n,a){const i=(a==null?void 0:a.key)||"";if(Object.entries(n||{}).forEach(([r,o])=>{o==null||o===""||(e[r]===void 0||e[r]===null||e[r]==="")&&(e[r]=o)}),i==="basic-grassland"){const r=(n==null?void 0:n.basic_type_name)||(n==null?void 0:n.grassland_category_name)||(n==null?void 0:n.land_class_name)||(n==null?void 0:n.land_use_name)||(n==null?void 0:n.base_grass);r!=null&&r!==""&&(e.basic_type_name=r)}if(i==="grassland-level"){const r=(n==null?void 0:n.grassland_level)||(n==null?void 0:n.level)||(n==null?void 0:n.grassland_level_name)||(n==null?void 0:n.level_name);r!=null&&r!==""&&(e.grassland_level=r)}if(i==="grassland-type"||i==="wetland-type"){const r=(n==null?void 0:n.grass_min_type)||(n==null?void 0:n.grass_type)||(n==null?void 0:n.grassland_type)||(n==null?void 0:n.type_name)||(n==null?void 0:n.type);r!=null&&r!==""&&(e.grass_min_type=r)}if(i==="grassland-yield"||i==="wetland-yield"){const r=(n==null?void 0:n.yield)||(n==null?void 0:n.xc_yield)||(n==null?void 0:n.xb_xc_yield)||(n==null?void 0:n.fresh_grass_yield)||(n==null?void 0:n.value),o=(n==null?void 0:n.mu_yield)||(n==null?void 0:n.xc_mu_yield)||(n==null?void 0:n.xb_xc_mu_yield)||(n==null?void 0:n.yield_per_mu);r!=null&&r!==""&&(e.fresh_grass_yield=r),o!=null&&o!==""&&(e.mu_yield=o)}if(i==="grassland-health"){const r=(n==null?void 0:n.health_level)||(n==null?void 0:n.health_level_name)||(n==null?void 0:n.ndvi_level)||(n==null?void 0:n.level)||(n==null?void 0:n.level_name),o=(n==null?void 0:n.ndvi)||(n==null?void 0:n.NDVI)||(n==null?void 0:n.value);r!=null&&r!==""&&(e.health_level=r),o!=null&&o!==""&&(e.ndvi=o);const s=(n==null?void 0:n.degradation_level)||(n==null?void 0:n.degradation_level_name)||(n==null?void 0:n.level)||(n==null?void 0:n.level_name);s!=null&&s!==""&&(e.degradation_level=s)}}getScreenPointFromEvent(e){var a;const n=((a=e==null?void 0:e.data)==null?void 0:a.originalEvent)||(e==null?void 0:e.originalEvent)||e;return(n==null?void 0:n.clientX)!==void 0&&(n==null?void 0:n.clientY)!==void 0?{x:n.clientX,y:n.clientY}:null}getLngLatFromEvent(e){var s,u,m;const a=(m=(((u=(s=this.interactionManager)==null?void 0:s.raycaster)==null?void 0:u.intersectObject(e.target,!1))||[])[0])==null?void 0:m.point;if(!a)return null;const i=this.focusMapGroup.worldToLocal(a.clone()),o=D6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([i.x,-i.y]);return o?{lng:o[0],lat:o[1]}:null}lngLatToWmsPixel({lng:e,lat:n}){const a=(e-$1.west)/($1.east-$1.west)*I6.width,i=($1.north-n)/($1.north-$1.south)*I6.height;return{x:a,y:i}}showSelectedFeature(e,n={}){var i;const a=(e==null?void 0:e.geometry)||((i=e==null?void 0:e.feature)==null?void 0:i.geometry);this.clearSelectedFeature(),this.createSelectedFeatureGroup(),this.addSelectedGeometry(a,n),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}showSelectedFeatures(e=[],n={}){this.clearSelectedFeature(),this.createSelectedFeatureGroup(),e.forEach(a=>{var r;const i=(a==null?void 0:a.geometry)||((r=a==null?void 0:a.feature)==null?void 0:r.geometry);this.addSelectedGeometry(i,n)}),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}setSelectedVectorFeatures(e=[]){this.selectedVectorFeatures=[...e],this.redrawVectorTopicLayer()}getSelectedFeatureStyle(e={}){const n=e.mode==="pasture",a=e.mode==="town";return{fillColor:dm,fillOpacity:n?.46:a?.24:.54,lineColor:MY,lineOpacity:.98,glowColor:fm,glowOpacity:n?.92:.96,renderOrderBase:n?42:a?40:35,boundary:n||a,boundaryColor:dm,boundaryGlowColor:fm,boundaryWidth:a?.012:.018,boundaryGlowWidth:a?.045:.06,boundaryOpacity:.95,boundaryGlowOpacity:a?.34:.42}}addSelectedGeometry(e,n={}){if(!(e!=null&&e.coordinates)||!this.selectedFeatureGroup)return;const a=this.getSelectedFeatureStyle(n),i=this.getDisplayFeaturePolygons(e),r=new ce({color:a.fillColor,transparent:!0,opacity:a.fillOpacity,side:vt,depthWrite:!1,fog:!1}),o=new F5({color:a.lineColor,transparent:!0,opacity:a.lineOpacity,linewidth:2,depthTest:!1,depthWrite:!1,fog:!1}),s=new F5({color:a.glowColor,transparent:!0,opacity:a.glowOpacity,linewidth:3,depthTest:!1,depthWrite:!1,fog:!1}),u=a.boundary?new ce({color:a.boundaryColor,transparent:!0,opacity:a.boundaryOpacity,side:vt,depthTest:!1,depthWrite:!1,fog:!1}):null,m=a.boundary?new ce({color:a.boundaryGlowColor,transparent:!0,opacity:a.boundaryGlowOpacity,side:vt,depthTest:!1,depthWrite:!1,fog:!1,blending:At}):null;i.length&&i.forEach(p=>{const g=this.createProjectedShape(p);if(!g)return;const b=new tu(g),F=new We(b,r);F.renderOrder=a.renderOrderBase,this.selectedFeatureGroup.add(F),p.forEach(H=>{const K=this.createProjectedRingPoints(H);if(K.length<3)return;a.boundary&&(this.addSelectedBoundaryBand(K,m,a.boundaryGlowWidth,a.renderOrderBase+1,!0),this.addSelectedBoundaryBand(K,u,a.boundaryWidth,a.renderOrderBase+4,!0));const e2=new d6().setFromPoints(K),p2=new Hi(e2,o);p2.renderOrder=a.renderOrderBase+5,this.selectedFeatureGroup.add(p2);const v2=new d6().setFromPoints(K),A2=new Hi(v2,s);A2.renderOrder=a.renderOrderBase+3,A2.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(A2)})});const h=this.normalizeFeatureLineStrings(e);h.length&&h.forEach(p=>{const g=this.createProjectedRingPoints(p);if(g.length<2)return;a.boundary&&(this.addSelectedBoundaryBand(g,m,a.boundaryGlowWidth,a.renderOrderBase+1,!1),this.addSelectedBoundaryBand(g,u,a.boundaryWidth,a.renderOrderBase+4,!1));const b=new d6().setFromPoints(g),F=new il(b,s);F.renderOrder=a.renderOrderBase+3,F.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(F);const H=new d6().setFromPoints(g),K=new il(H,o);K.renderOrder=a.renderOrderBase+5,this.selectedFeatureGroup.add(K)})}addSelectedBoundaryBand(e,n,a,i,r=!0){if(!n||!this.selectedFeatureGroup)return;const o=this.createPathBandGeometry(e,a,r);if(!o)return;const s=new We(o,n);s.renderOrder=i,this.selectedFeatureGroup.add(s)}createPathBandGeometry(e,n,a=!0){const i=this.normalizePathBandPoints(e,a);if(i.length<(a?3:2))return null;const r=Math.max(Number(n)||0,0)/2;if(!r)return null;const o=[],s=a?i.length:i.length-1;for(let m=0;mNumber.isFinite(i==null?void 0:i.x)&&Number.isFinite(i==null?void 0:i.y)).map(i=>i.clone());if(n&&a.length>2){const i=a[0],r=a[a.length-1];i.distanceToSquared(r)<1e-10&&a.pop()}return a}clearSelectedFeature(){var n;const e=!!((n=this.selectedVectorFeatures)!=null&&n.length);this.selectedVectorFeatures=[],e&&this.redrawVectorTopicLayer(),this.clearSelectedGeometryGroup()}clearSelectedGeometryGroup(){var n,a;if(!this.selectedFeatureGroup)return;const e=new Set;for(;this.selectedFeatureGroup.children.length;){const i=this.selectedFeatureGroup.children.pop();(a=(n=i.geometry)==null?void 0:n.dispose)==null||a.call(n),Array.isArray(i.material)?i.material.forEach(r=>e.add(r)):e.add(i.material)}e.forEach(i=>{var r;return(r=i==null?void 0:i.dispose)==null?void 0:r.call(i)})}normalizeFeaturePolygons(e){return Tm(e)}normalizeFeatureLineStrings(e){return e!=null&&e.coordinates?e.type==="LineString"?[e.coordinates]:e.type==="MultiLineString"?e.coordinates:[]:[]}getDisplayFeaturePolygons(e){const n=this.normalizeFeaturePolygons(e),a=this.getLayerClipBounds(this.currentTopicLayer);return a?n.map(i=>{const r=this.clipRingToBounds(i==null?void 0:i[0],a);if(r.length<3)return null;const o=i.slice(1).map(s=>this.clipRingToBounds(s,a)).filter(s=>s.length>=3);return[r,...o]}).filter(Boolean):n}clipRingToBounds(e=[],n){let a=e.map(r=>[Number(r==null?void 0:r[0]),Number(r==null?void 0:r[1])]).filter(([r,o])=>Number.isFinite(r)&&Number.isFinite(o));return[{inside:([r])=>r>=n.west,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lng",n.west)},{inside:([r])=>r<=n.east,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lng",n.east)},{inside:([,r])=>r>=n.south,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lat",n.south)},{inside:([,r])=>r<=n.north,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lat",n.north)}].forEach(r=>{const o=a;a=[],o.length&&o.forEach((s,u)=>{const m=o[(u+o.length-1)%o.length],h=r.inside(s),p=r.inside(m);h?(p||a.push(r.intersect(m,s)),a.push(s)):p&&a.push(r.intersect(m,s))})}),a}getLngLatLineIntersection(e,n,a,i){const r=a==="lng"?0:1,o=a==="lng"?1:0,s=n[r]-e[r];if(!s)return[...e];const u=(i-e[r])/s,m=[...e];return m[r]=i,m[o]=e[o]+(n[o]-e[o])*u,m}createProjectedShape(e){const n=e==null?void 0:e[0];if(!Array.isArray(n)||n.length<3)return null;const a=new wa;return this.createProjectedRingPoints(n).forEach((r,o)=>{o===0?a.moveTo(r.x,r.y):a.lineTo(r.x,r.y)}),e.slice(1).forEach(r=>{const o=this.createProjectedRingPoints(r);if(o.length<3)return;const s=new wa;o.forEach((u,m)=>{m===0?s.moveTo(u.x,u.y):s.lineTo(u.x,u.y)}),a.holes.push(s)}),a}createProjectedRingPoints(e){if(!Array.isArray(e))return[];const n=[];return e.forEach(a=>{if(!Array.isArray(a)||a.length<2)return;const i=Number(a[0]),r=Number(a[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return;const[o,s]=this.geoProjection([i,r]);n.push(new c0(o,-s,0))}),n}enhanceTexture(e){var a,i,r;const n=(i=(a=this.renderer)==null?void 0:a.instance)==null?void 0:i.capabilities;e.anisotropy=((r=n==null?void 0:n.getMaxAnisotropy)==null?void 0:r.call(n))||1,e.needsUpdate=!0}geoProjection(e){return D6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0])(e)}updateTownLabelScale(){var s,u,m;const e=this.townNameLabels||this.otherLabel||[],n=(s=this.camera)==null?void 0:s.instance,a=(m=(u=this.camera)==null?void 0:u.controls)==null?void 0:m.target;if(!e.length||!n||!a)return;const i=n.position.distanceTo(a),r=T9(i*72e-5,.011,.026),o=i>45?"0.76":i<22?"0.94":"1";e.forEach(h=>{var g,b,F;if(((g=h==null?void 0:h.userData)==null?void 0:g.labelType)!=="town-label")return;h.scale.set(r,r,r);const p=(F=(b=h.element)==null?void 0:b.querySelector)==null?void 0:F.call(b,".other-label");p&&(p.style.opacity=o)})}update(e){super.update(e),this.updateDynamicSatelliteTiles(),this.updateTownLabelScale(),this.updateTradeFlowPulses(e),this.interactionManager&&this.interactionManager.update()}pauseScene(){var e,n;this.scenePaused=!0,(n=(e=this.time)==null?void 0:e.pause)==null||n.call(e),this.sceneTweens.forEach(a=>{var i;return(i=a==null?void 0:a.pause)==null?void 0:i.call(a)}),clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null}resumeScene(){var e,n;this.scenePaused=!1,(n=(e=this.time)==null?void 0:e.resume)==null||n.call(e),this.sceneTweens.forEach(a=>{var i;return(i=a==null?void 0:a.resume)==null?void 0:i.call(a)}),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}destroy(){var e,n,a,i;this.pauseScene(),this.sceneTimers.forEach(r=>clearTimeout(r)),this.sceneTimers=[],this.sceneTweens.forEach(r=>{var o;return(o=r==null?void 0:r.kill)==null?void 0:o.call(r)}),this.sceneTweens=[],this.callbacks={},(n=(e=this.canvas)==null?void 0:e.removeEventListener)==null||n.call(e,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(i=(a=this.canvas)==null?void 0:a.removeEventListener)==null||i.call(a,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.clearTradeFlowLayer(),this.clearSelectedFeature(),super.destroy(),this.label3d&&this.label3d.destroy()}}const BY={class:"map"},DY={__name:"map",props:{activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null},tileUrlTemplate:{type:String,default:""},satelliteTextureZoom:{type:Number,default:0},satelliteMaxZoom:{type:Number,default:0},adminBoundaryLineScale:{type:Number,default:1},useSatelliteBase:{type:Boolean,default:!0},showNationalBackdrop:{type:Boolean,default:!1},topicLayerPresentation:{type:String,default:"default"},hideTownLabelStats:{type:Boolean,default:!1}},emits:["feature-loading","feature-info","layer-status","tile-status","draw-boundary","scene-mounted"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=t3(null),o=Om(null);let s=null,u=null,m=null,h=null,p=null,g="",b="",F=!1;Ln(()=>{i("scene-mounted")}),Rn(()=>{C1()});function H(a3){return o.value?!0:r.value?(o.value=new FY(r.value,a3,{onFeatureLoading:F2=>i("feature-loading",F2),onFeatureInfo:F2=>i("feature-info",F2),onLayerStatus:F2=>i("layer-status",F2),onTileStatus:F2=>i("tile-status",F2),onDrawBoundary:F2=>i("draw-boundary",F2),tileUrlTemplate:a.tileUrlTemplate,satelliteTextureZoom:a.satelliteTextureZoom,satelliteMaxZoom:a.satelliteMaxZoom,adminBoundaryLineScale:a.adminBoundaryLineScale,useSatelliteBase:a.useSatelliteBase,showNationalBackdrop:a.showNationalBackdrop,topicLayerPresentation:a.topicLayerPresentation,hideTownLabelStats:a.hideTownLabelStats}),o.value.time.pause(),g=d3(a.activeLayer),b=U3(a.mapRanking),o.value.setTopicLayers(F3(a.activeLayer),a.activeLayer),o.value.setTownRanking(a.mapRanking),E1(),l1(),!0):!1}function K(){return!!o.value}function e2(){return k3(this,null,function*(){var a3,F2,N3,_3,o1,w1;if(o.value&&(p2(),!o.value.mapAnimationComplete)){if(F){(F2=(a3=o.value.animateTl)==null?void 0:a3.play)==null||F2.call(a3),y1();return}F=!0,(_3=(N3=o.value.animateTl)==null?void 0:N3.timeScale)==null||_3.call(N3,1),(w1=(o1=o.value.animateTl)==null?void 0:o1.play)==null||w1.call(o1),y1()}})}function p2(){var a3,F2;o.value&&(E1(),l1(),window.requestAnimationFrame(()=>{var N3,_3,o1,w1,U1,O;(o1=(_3=(N3=o.value)==null?void 0:N3.label3d)==null?void 0:_3.resize)==null||o1.call(_3),(O=(U1=(w1=o.value)==null?void 0:w1.label3d)==null?void 0:U1.update)==null||O.call(U1)}),(F2=(a3=o.value).resumeScene)==null||F2.call(a3),o.value.resumeScene||o.value.time.resume())}function v2(){var a3,F2,N3,_3,o1,w1;o.value&&(S1(),(F2=(a3=o.value.animateTl)==null?void 0:a3.pause)==null||F2.call(a3),(_3=(N3=o.value).pauseScene)==null||_3.call(N3),o.value.pauseScene||(w1=(o1=o.value.time)==null?void 0:o1.pause)==null||w1.call(o1),o0())}function A2(){var a3,F2;(F2=(a3=o.value)==null?void 0:a3.clearSelectedFeature)==null||F2.call(a3)}function _2(a3){var F2,N3;(N3=(F2=o.value)==null?void 0:F2.focusProject)==null||N3.call(F2,a3)}function q2(a3){var F2,N3;(N3=(F2=o.value)==null?void 0:F2.focusPasture)==null||N3.call(F2,a3)}function K2(a3,F2){var N3,_3;return(_3=(N3=o.value)==null?void 0:N3.focusTownByName)==null?void 0:_3.call(N3,a3,F2)}function $2(a3){var F2,N3;return(N3=(F2=o.value)==null?void 0:F2.focusYakIndustryPoint)==null?void 0:N3.call(F2,a3)}function c3(a3){var F2,N3;return(N3=(F2=o.value)==null?void 0:F2.focusVectorFeature)==null?void 0:N3.call(F2,a3)}function p3(a3){var F2,N3;return(N3=(F2=o.value)==null?void 0:F2.getVectorFeatureScreen)==null?void 0:N3.call(F2,a3)}function y3(a3){var F2,N3;return(N3=(F2=o.value)==null?void 0:F2.getYakIndustryPointScreen)==null?void 0:N3.call(F2,a3)}function z3(a3){var F2,N3;(N3=(F2=o.value)==null?void 0:F2.setBoundaryDrawing)==null||N3.call(F2,a3)}function S3(){var a3,F2;return(F2=(a3=o.value)==null?void 0:a3.finishBoundaryDrawing)==null?void 0:F2.call(a3)}function I3(){var a3,F2;(F2=(a3=o.value)==null?void 0:a3.undoBoundaryPoint)==null||F2.call(a3)}function A3(){var a3,F2;(F2=(a3=o.value)==null?void 0:a3.clearAnalysisBoundary)==null||F2.call(a3)}function a1(a3){var F2,N3;(N3=(F2=o.value)==null?void 0:F2.showAnalysisResult)==null||N3.call(F2,a3)}function C1(){var a3,F2;S1(),o0(),(F2=(a3=o.value)==null?void 0:a3.destroy)==null||F2.call(a3),o.value=null}function y1(){S1(),p=window.setTimeout(()=>{var a3,F2;p=null,(F2=(a3=o.value)==null?void 0:a3.ensureMapRevealed)==null||F2.call(a3)},5200)}function S1(){p&&(window.clearTimeout(p),p=null)}function l1(){u&&window.cancelAnimationFrame(u),u=window.requestAnimationFrame(()=>{var a3,F2,N3,_3,o1;u=null,(N3=(F2=(a3=o.value)==null?void 0:a3.sizes)==null?void 0:F2.init)==null||N3.call(F2),(o1=(_3=o.value)==null?void 0:_3.resize)==null||o1.call(_3)}),m&&window.clearTimeout(m),m=window.setTimeout(()=>{var a3,F2,N3,_3,o1;m=null,(N3=(F2=(a3=o.value)==null?void 0:a3.sizes)==null?void 0:F2.init)==null||N3.call(F2),(o1=(_3=o.value)==null?void 0:_3.resize)==null||o1.call(_3)},180)}function E1(){var F2;o0();const a3=(F2=r.value)==null?void 0:F2.parentNode;a3&&window.ResizeObserver&&(s=new ResizeObserver(()=>l1()),s.observe(a3)),h=window.setInterval(t0,1e3),q0(l1)}function t0(){var U1;if(!o.value||!r.value)return;const a3=r.value.parentNode,F2=(a3==null?void 0:a3.offsetWidth)||window.innerWidth||1,N3=(a3==null?void 0:a3.offsetHeight)||window.innerHeight||1,_3=((U1=o.value.sizes)==null?void 0:U1.pixelRatio)||1,o1=Math.floor(F2*_3),w1=Math.floor(N3*_3);(r.value.width!==o1||r.value.height!==w1)&&l1()}function o0(){s&&(s.disconnect(),s=null),u&&(window.cancelAnimationFrame(u),u=null),m&&(window.clearTimeout(m),m=null),h&&(window.clearInterval(h),h=null)}function G1(){if(!o.value)return;E1();const a3=()=>{var F2,N3,_3,o1,w1,U1,O,v3,w3,P3,H3,j3,q3,e0,O2,Y2,s3,G3,i1,N1,q1;o.value&&((N3=(F2=o.value)==null?void 0:F2.resumeScene)==null||N3.call(F2),o.value.resumeScene||(o1=(_3=o.value.time)==null?void 0:_3.resume)==null||o1.call(_3),(O=(U1=(w1=o.value)==null?void 0:w1.sizes)==null?void 0:U1.init)==null||O.call(U1),(w3=(v3=o.value)==null?void 0:v3.resize)==null||w3.call(v3),(j3=(H3=(P3=o.value)==null?void 0:P3.label3d)==null?void 0:H3.resize)==null||j3.call(H3),(O2=(e0=(q3=o.value)==null?void 0:q3.label3d)==null?void 0:e0.update)==null||O2.call(e0),(s3=(Y2=o.value)==null?void 0:Y2.setTopicLayers)==null||s3.call(Y2,F3(a.activeLayer),a.activeLayer),(i1=(G3=o.value)==null?void 0:G3.setTownRanking)==null||i1.call(G3,a.mapRanking),(q1=(N1=o.value)==null?void 0:N1.ensureMapRevealed)==null||q1.call(N1))};l1(),window.requestAnimationFrame(a3),window.setTimeout(()=>{a3()},80),window.setTimeout(()=>{a3()},220)}function Q1(){if(!o.value)return;E1();const a3=()=>{var N3,_3,o1,w1,U1,O,v3,w3,P3,H3,j3,q3,e0,O2,Y2,s3;const F2=o.value;F2&&((N3=F2.resumeScene)==null||N3.call(F2),F2.resumeScene||(o1=(_3=F2.time)==null?void 0:_3.resume)==null||o1.call(_3),(U1=(w1=F2.sizes)==null?void 0:w1.init)==null||U1.call(w1),(O=F2.resize)==null||O.call(F2),(v3=F2.ensureMapRevealed)==null||v3.call(F2),(w3=F2.setTradeNationalMapVisible)==null||w3.call(F2,!1),(P3=F2.setTopicLayers)==null||P3.call(F2,F3(a.activeLayer),a.activeLayer),(H3=F2.setTownRanking)==null||H3.call(F2,a.mapRanking),(j3=F2.applyLayerMapView)==null||j3.call(F2,F2.currentTopicLayer||a.activeLayer||null,{force:!0}),(e0=(q3=F2.label3d)==null?void 0:q3.resize)==null||e0.call(q3),(Y2=(O2=F2.label3d)==null?void 0:O2.update)==null||Y2.call(O2),(s3=F2.updateDynamicSatelliteTiles)==null||s3.call(F2,!0))};l1(),window.requestAnimationFrame(a3),window.setTimeout(a3,100),window.setTimeout(a3,260)}V0(()=>a.activeLayer,a3=>{const F2=d3(a3);F2!==g&&(g=F2,o.value&&o.value.setTopicLayers(F3(a3),a3))},{deep:!0}),V0(()=>a.mapRanking,a3=>{const F2=U3(a3);F2!==b&&(b=F2,o.value&&o.value.setTownRanking(a3))},{deep:!0}),e({loadMap:H,hasMap:K,play:e2,resume:p2,pause:v2,clearSelectedFeature:A2,focusProject:_2,focusPasture:q2,focusTown:K2,focusYakIndustryPoint:$2,focusVectorFeature:c3,getVectorFeatureScreen:p3,getYakIndustryPointScreen:y3,setBoundaryDrawing:z3,finishBoundaryDrawing:S3,undoBoundaryPoint:I3,clearAnalysisBoundary:A3,showAnalysisResult:a1,refreshView:G1,resetView:Q1,destroyMap:C1,canvasMap:o});function d3(a3){return a3?F3(a3).map(F2=>{var N3,_3;return[F2.key||"",F2.layerName||"",F2.styles||"",F2.sldBody||"",F2.cqlFilter||"",((N3=F2.activeLegend)==null?void 0:N3.key)||"",Array.isArray(F2.activeLegends)?F2.activeLegends.map(o1=>(o1==null?void 0:o1.key)||"").join(","):"",F2.timelineDate||"",((_3=F2.timelineItem)==null?void 0:_3.key)||"",F2.sourceType||"",F2.dataPath||"",F2.fallbackPath||""].join("|")}).join("||"):""}function F3(a3){if(!a3)return[];const F2=Array.isArray(a3.overlayLayers)?a3.overlayLayers.filter(Boolean):[];return[a3,...F2]}function U3(a3){var F2,N3,_3,o1,w1,U1,O,v3,w3,P3;return a3?[a3.status||"",a3.topicKey||"",a3.layerKey||"",a3.title||"",a3.metricLabel||"",a3.scope||"",a3.displayMode||"",(F2=a3.showPointMarkers)!=null?F2:"",(N3=a3.showBars)!=null?N3:"",(_3=a3.showTownNames)!=null?_3:"",(o1=a3.showMapLabels)!=null?o1:"",(w1=a3.hideTownLabelStats)!=null?w1:"",(U1=a3.showFlowLines)!=null?U1:"",(O=a3.onlyRankedTownLabels)!=null?O:"",(v3=a3.showMissingTownStats)!=null?v3:"",((w3=a3.rows)==null?void 0:w3.length)||0,((P3=a3.rows)==null?void 0:P3.map(H3=>{var j3;return`${H3.key||H3.name||""}:${(j3=H3.value)!=null?j3:""}`}).join(","))||""].join("|"):""}return(a3,F2)=>(z(),Q("div",BY,[S("canvas",{ref_key:"canvasRef",ref:r},null,512)]))}};const GY={class:"yak-management"},UY={key:1,class:"yak-map-loading"},OY={class:"yak-management-ui"},jY={key:0,class:"trade-year-switcher","aria-label":"交易年份切换"},zY=["onClick"],YY={key:1,class:"epidemic-year-switcher","aria-label":"防疫年份切换"},$Y=["onClick"],WY={key:2,class:"forecast-year-switcher","aria-label":"预测年份切换"},VY=["onClick"],HY={class:"yak-left"},KY={class:"yak-side-stack is-left"},qY={class:"breeding-health-card"},JY={class:"breeding-health-head"},QY={class:"breeding-health-grid"},XY={class:"structure-chart-card"},ZY={class:"structure-ratio-card"},e$={class:"structure-ratio-chart"},t$={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},n$={class:"structure-rose-segments"},a$=["d","fill","stroke"],i$={class:"structure-ratio-list"},r$={key:0,class:"yak-data-status"},o$={key:1,class:"yak-data-status is-warning"},s$={class:"forecast-waterfall-card"},l$={class:"forecast-waterfall-head"},u$={class:"forecast-waterfall-list"},c$={class:"forecast-trend-card"},d$={class:"forecast-density-switcher","aria-label":"预测粒度切换"},f$=["onClick"],h$={key:0,class:"epidemic-three-pie-card"},m$={class:"epidemic-three-pie-visual"},p$={class:"epidemic-three-pie-center"},g$={class:"epidemic-three-pie-legend"},y$={key:1,class:"epidemic-empty"},v$={class:"trade-risk-card"},S$={class:"trade-risk-head"},w$={class:"trade-risk-list"},b$={class:"yak-right"},T$={class:"yak-side-stack is-right"},C$={class:"structure-chart-card"},A$={class:"structure-summary-card"},x$={key:0,class:"yak-data-status"},_$={key:1,class:"yak-data-status is-warning"},M$={class:"forecast-heat-list"},P$=["title"],k$={class:"epidemic-record-table is-full"},E$={class:"epidemic-record-toolbar"},N$={class:"epidemic-record-rows"},R$=["onClick"],L$={key:0,class:"epidemic-empty"},I$={class:"epidemic-record-pager"},F$=["disabled"],B$=["disabled"],D$={class:"trade-cert-card"},G$={class:"trade-cert-main"},U$={class:"trade-dest-list"},O$={key:0,class:"epidemic-empty"},j$={class:"trade-ledger-table"},z$={class:"trade-ledger-toolbar"},Y$={class:"trade-ledger-rows"},$$=["onClick"],W$={key:0,class:"epidemic-empty"},V$={class:"trade-ledger-pager"},H$=["disabled"],K$=["disabled"],q$={class:"yak-bottom-topic"},J$={class:"epidemic-ledger-dialog"},Q$={class:"epidemic-ledger-dialog-head"},X$={class:"epidemic-ledger-filters"},Z$=["value"],eW=["value"],tW={class:"epidemic-ledger-workspace"},nW={class:"epidemic-ledger-list"},aW=["onClick"],iW={key:0,class:"epidemic-empty"},rW={class:"epidemic-ledger-detail trade-ledger-detail epidemic-ledger-record-detail"},oW={class:"epidemic-detail-head trade-detail-head"},sW={class:"epidemic-detail-grid is-modal trade-detail-grid epidemic-detail-flat-grid"},lW={key:0,class:"epidemic-detail-photos"},uW={class:"epidemic-modal-photo-strip"},cW=["onClick"],dW=["src"],fW={class:"epidemic-ledger-pager"},hW=["disabled"],mW=["disabled"],pW={class:"epidemic-ledger-dialog trade-ledger-dialog"},gW={class:"epidemic-ledger-dialog-head"},yW={class:"epidemic-ledger-filters trade-ledger-filters"},vW=["value"],SW=["value"],wW=["value"],bW={class:"epidemic-ledger-workspace trade-ledger-workspace"},TW={class:"epidemic-ledger-list trade-ledger-modal-list"},CW=["onClick"],AW={key:0,class:"epidemic-empty"},xW={class:"epidemic-ledger-detail trade-ledger-detail"},_W={class:"epidemic-detail-head trade-detail-head"},MW={class:"epidemic-detail-grid is-modal trade-detail-grid"},PW={class:"is-wide"},kW={class:"is-wide"},EW={class:"is-wide"},NW={class:"is-wide"},RW=["disabled"],LW={class:"epidemic-ledger-pager"},IW=["disabled"],FW=["disabled"],BW={class:"epidemic-image-preview-dialog"},DW={class:"epidemic-image-preview-head"},GW={class:"epidemic-image-preview-body"},UW={class:"epidemic-image-preview-frame"},OW=["src"],jW="https://qkl-hy.oss-cn-chengdu.aliyuncs.com/yak-vaccine-images",zW="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",YW="oss-satellite-dynamic-zoom21-v5",Ei=8,Cm=14,Qs=12,Am=14,$W=5e3,Ni=6,WW=4200,VW={__name:"index",props:{active:{type:Boolean,default:!0},viewKey:{type:String,default:"structure"}},emits:["module-stats","view-change"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=fn.sideCardWidth;fn.sideCardGap;const o=t3(typeof window=="undefined"?1080:window.innerHeight),s=l2(()=>X8(o.value)),u=l2(()=>R9(s.value,2)),m=l2(()=>s.value),h=l2(()=>R9(s.value,2)),p=h5.textPrimary,g=h5.textStrong,b=h5.textSecondary,F=h5.textMuted,H=h5.chartGridLine,K=[103.07984,33.029058],e2=[102.682809,33.131561],p2={targetLngLat:[102.6,32.59],targetLocalZ:.72,distanceScale:1.05,duration:.75},v2=["#30dcff","#8bf7ff","#58d9ff","#28e8d6","#7bdfff","#9efcff"],A2=["#30dcff","#8bf7ff","#58d9ff","#28e8d6","#7bdfff","#9efcff"],_2=["#30dcff","#8bf7ff","#58d9ff","#28e8d6","#7bdfff","#9efcff","#48cfff"],q2={name:"红原牦牛交易市场",lng:102.562157,lat:32.820484},K2=[{key:"structure",name:"畜群结构",color:"#30dcff"},{key:"forecast",name:"畜群预测",color:"#8bf7ff"},{key:"epidemic",name:"牦牛防疫",color:"#8bf7ff"},{key:"trade",name:"牦牛交易",color:"#63d7ff"}],$2=t3(l9(a.viewKey)),c3=t3("2027"),p3=t3("month"),y3=t3(0),z3=t3([]),S3=t3([]),I3=t3([]),A3=t3(!1),a1=t3(""),C1=[2025,2026],y1=t3(2026),S1=t3({metrics:{}}),l1=t3({rows:[],year:null}),E1=t3({rows:[]}),t0=t3([]),o0=t3(0),G1=t3(1),Q1=t3(""),d3=t3(""),F3=t3(!1),U3=t3(""),a3=t3(!1),F2=t3([]),N3=t3(0),_3=t3(1),o1=t3(!1),w1=t3(""),U1=t3(null),O=t3(null),v3=t3(!1),w3=t3(!1),P3=t3(""),H3=t3(a9()),j3=t3({years:[],latestYear:null}),q3=t3({metrics:{},hasData:!1}),e0=t3([]),O2=t3(0),Y2=t3(null),s3=t3(!1),G3=t3(""),i1=t3(1),N1=t3(""),q1=t3(""),Y3=t3(!1),r1=t3([]),K3=t3(0),f1=t3(1),W1=t3(!1),T0=t3(""),O0=t3(null),D0=t3({keyword:"",startTown:"",usageType:"",certType:""}),k0=t3(null),ye=t3(null),Q0=t3(!1),Le=t3(!1),M0=t3(0),ve=t3(0),se=t3({type:"idle",text:""}),R1=t3({type:"idle",text:""});let C3=null,m2=!1,D2=!1,B3=null,m3=!1,W3=null,Q3=null,u0=0;const Z1=[{key:"day",label:"日",unit:"日",stepDays:1},{key:"week",label:"周",unit:"周",stepDays:7},{key:"month",label:"月",unit:"月",stepDays:30}],m0=l2(()=>Jp(c3.value)),te=new Set(["epidemic","trade"]),N0=l2(()=>!te.has($2.value)),Me=l2(()=>N0.value?zW:""),ae=l2(()=>N0.value?"oss-satellite":"solid-3d"),Be=l2(()=>`yak-management-map-${ae.value}-${YW}-${M0.value}`),p0=l2(()=>rL+oL),N2=l2(()=>m0.value.stock-St),e3=l2(()=>go(m0.value)),b3=l2(()=>w7(I3.value,m5)),A1=l2(()=>b3.value.reduce((x,k)=>x+Number(k.count||0),0));l2(()=>{const x=A1.value||1;return b3.value.map((k,L)=>{const i2=Number(k.count||0),k2=Number(k.ratio);return J2(L2({},k),{count:i2,color:v2[L%v2.length],percent:Number.isFinite(k2)?k2:i2/x*100})})});const z1=l2(()=>Q9(b3.value,m5)),J1=l2(()=>z1.value),s0=l2(()=>ho(J1.value)),R0=l2(()=>_6(b3.value,m5)),M2=l2(()=>mo(R0.value)),R=l2(()=>Math.max(...s0.value.map(x=>Number(x.count||0)),1)),M=l2(()=>J1.value.length?0:-1),d=l2(()=>{const x=J1.value,k=x.length;if(!k)return[];const L=Math.max(...x.map(H2=>Number(H2.count||0)),1),i2=360/k,k2=Math.min(8,i2*.16);return x.map((H2,u3)=>{const w2=Number(H2.count||0),n3=u3===M.value,Q2=36+Math.sqrt(w2/L)*31+(n3?5:0),D3=17,g1=-90+u3*i2+k2/2,O1=-90+(u3+1)*i2-k2/2,j1=(g1+O1)/2,a0=J6(75,75,Q2+3,j1),st=J6(75,75,Q2+15,j1),Cn=J6(75,75,Q2+20,j1);return{key:H2.key||H2.name||u3,index:u3,item:H2,color:H2.color||v2[u3%v2.length],path:fo(75,75,D3,Q2,g1,O1),lineStart:a0,lineEnd:st,label:Cn,anchor:Math.cos(j1*Math.PI/180)>=0?"start":"end"}})}),f=l2(()=>Q6(["fertileCow","overageCow"])),y=l2(()=>Q6(["femaleCalf","maleCalf"])),w=l2(()=>Hp(t9(z3.value.length?z3.value:Pa,Pa),St)),_=l2(()=>tL),E=l2(()=>cL(m0.value)),r2=l2(()=>uL(m0.value)),n2=l2(()=>{var x;return((x=S1.value)==null?void 0:x.metrics)||{}}),o2=l2(()=>{var x;return n6((x=S1.value)==null?void 0:x.dateTrend).sort(s4)}),t2=l2(()=>{var x;return n6((x=S1.value)==null?void 0:x.medicineCounts)}),X=l2(()=>t2.value.filter(x=>x.value>0).map((x,k)=>J2(L2({},x),{key:x.key||`${x.name}-${k}`,unit:"条"}))),R2=l2(()=>X.value.map(x=>`${x.name}:${x.value}`).join("|")||"epidemic-medicine-empty"),y2=l2(()=>{var x;return n6((x=S1.value)==null?void 0:x.ownerRanks).slice(0,8)}),d2=l2(()=>Xa(S1.value)),h2=l2(()=>{var x;return((x=t2.value.find(k=>k.name&&k.name!=="未填写"))==null?void 0:x.name)||"-"}),B2=l2(()=>r9(n2.value,["total","vaccine"]));l2(()=>r9(n2.value,["owners"]));const u2=l2(()=>Number(y1.value)===2026?10:r9(n2.value,["villages"])),A=l2(()=>V2.value.length),V=l2(()=>{var x;return((x=V2.value[0])==null?void 0:x.name)||"-"}),Z=l2(()=>{const x=t0.value.map(k=>k.operateTime).filter(Boolean).sort();return x.length?T6(x[x.length-1]):"-"}),P2=l2(()=>{const x=Math.max(...t2.value.map(k=>Number(k.value||0)),0);return x>0?x:Math.round(B2.value/d2.value)}),I2=l2(()=>{var k;const x=Hr((k=l1.value)==null?void 0:k.rows);return x.length?x:V2.value.map(L=>({name:L.name,recordCount:Number(L.recordCount||0),earTagCount:Number(L.earTagCount||0),ratio:L.ratio,source:"ledger"}))}),W2=l2(()=>{var k;const x=new Set;return _5((k=E1.value)==null?void 0:k.rows).filter(L=>Number.isFinite(L.lng)&&Number.isFinite(L.lat)).map((L,i2)=>{const k2=`${L.lng.toFixed(4)},${L.lat.toFixed(4)}`,H2=x.has(k2)?(i2%3-1)*.012:0;return x.add(k2),J2(L2({},L),{name:L.village,value:L.earTagCount,unit:"万头",lng:L.lng+H2,lat:L.lat-H2*.65,displayValue:Number((L.earTagCount/1e4).toFixed(2)),displayUnit:"万头",rankLabel:`第${i2+1}名`})})}),V2=l2(()=>{var k;const x=new Map;return n6((k=S1.value)==null?void 0:k.townCounts).forEach(L=>{const i2=Jt(L.name);i2&&x.set(i2,Number(x.get(i2)||0)+Number(L.value||0))}),[...x.entries()].map(([L,i2])=>{const k2=Math.round(i2/d2.value),H2=B2.value?i2/B2.value*100:0;return{name:L,recordCount:i2,earTagCount:k2,ratio:H2}}).sort((L,i2)=>Number(i2.recordCount||0)-Number(L.recordCount||0))}),l3=l2(()=>Math.max(w.value.length,A.value)),x3=l2(()=>new Set(V2.value.map(x=>Jt(x.name)).filter(Boolean))),E3=l2(()=>{const x=x3.value;return w.value.map(k=>Jt(k.name)).filter(k=>k&&!x.has(k))}),T3=l2(()=>{const x=l3.value||A.value||1;return A.value/x*100});l2(()=>P2.value/St*100);const m1=l2(()=>o7());l2(()=>B2.value?E3.value.length?E3.value.length:m1.value.name&&m1.value.name!=="暂无"?1:0:0);const T1=l2(()=>Jr()),x1=l2(()=>Qr()),B1=l2(()=>Xr());l2(()=>s7());const v1=l2(()=>Zr());l2(()=>v1.value.slice(0,3)),l2(()=>B2.value?E3.value.length?"年度免疫进度需核查":m1.value.desc:"年度计划待核查");const Y1=l2(()=>Math.max(Math.ceil(o0.value/Ei),1)),g0=l2(()=>t0.value.slice(0,Ei)),E2=l2(()=>Math.max(Math.ceil(N3.value/Cm),1)),f3=l2(()=>O.value||U1.value||{}),g3=l2(()=>d4(f3.value)),V3=l2(()=>{const x=f3.value||{};return[rt("台账编号",x.epidemicId,{wide:!0}),rt("养殖户",x.owner,{wide:!0}),rt("联系电话",Se(x.phone)),rt("证件类型",x.idType),rt("证件号码",we(x.idNo)),rt("镇/乡",x.town),rt("村",x.village),rt("详细地址",x.location,{wide:!0}),rt("畜种",x.livestockType),rt("性别",x.sex),rt("畜龄",x.age),rt("体重",no(x.weight)),rt("疫苗/药品",x.medicine),rt("防疫类型",x.preventionType),rt("免疫方式",x.method),rt("剂量",ao(x.dose)),rt("免疫时间",T6(x.operateTime)),rt("操作员",x.operator)].filter(Boolean)}),h1=l2(()=>{var x;return n6((x=S1.value)==null?void 0:x.townCounts).map(k=>k.name)}),L1=l2(()=>t2.value.map(x=>x.name).filter(x=>x&&x!=="未填写")),D1=l2(()=>{var x;return((x=q3.value)==null?void 0:x.metrics)||{}}),n0=l2(()=>{var x,k,L,i2,k2,H2,u3,w2;return Za((x=j3.value)==null?void 0:x.years,(k=q3.value)==null?void 0:k.availableYears,(L=q3.value)==null?void 0:L.available_years,(i2=q3.value)==null?void 0:i2.yearSummary,(k2=q3.value)==null?void 0:k2.year_summary,(H2=q3.value)==null?void 0:H2.latestYear,(u3=q3.value)==null?void 0:u3.latest_year,(w2=q3.value)==null?void 0:w2.year)}),C0=l2(()=>{var x,k;return j9(((x=q3.value)==null?void 0:x.monthTrend)||((k=q3.value)==null?void 0:k.month_trend),"name")});l2(()=>{var x,k;return e7(((x=q3.value)==null?void 0:x.yearSummary)||((k=q3.value)==null?void 0:k.year_summary))});const Pe=l2(()=>{var x,k;return j9(((x=q3.value)==null?void 0:x.startTownCounts)||((k=q3.value)==null?void 0:k.start_town_counts),"name")}),ke=l2(()=>{var x,k;return j9(((x=q3.value)==null?void 0:x.usageCounts)||((k=q3.value)==null?void 0:k.usage_counts),"name")}),le=l2(()=>{var x,k,L,i2,k2,H2;return j9(((x=q3.value)==null?void 0:x.transportNumberCounts)||((k=q3.value)==null?void 0:k.transport_number_counts)||((L=q3.value)==null?void 0:L.vehicleCounts)||((i2=q3.value)==null?void 0:i2.vehicle_counts)||((k2=q3.value)==null?void 0:k2.transportCounts)||((H2=q3.value)==null?void 0:H2.transport_counts),"transportNumber")}),ie=l2(()=>{const x=Pe.value.map(L=>{const i2=String(L.name||"").trim(),k2=Jt(i2),H2=n9(k2||i2);return J2(L2({},L),{rawName:i2,name:H2,displayName:H2,town:k2,mapTownName:k2})}).filter(L=>L.name&&L.name!=="未填写").slice(0,10),k=Math.max(...x.map(L=>L.headCount),1);return x.map((L,i2)=>J2(L2({},L),{key:L.key||`${L.mapTownName||L.name}-${i2}`,value:L.headCount,unit:"头",ratio:Math.max(8,Math.round(L.headCount/k*100))}))}),M1=l2(()=>e0.value.slice(0,Qs)),B=l2(()=>Math.max(Math.ceil(O2.value/Qs),1)),f2=l2(()=>Math.max(Math.ceil(K3.value/Am),1)),G2=l2(()=>O0.value||{}),J3=l2(()=>G2.value.certId||G2.value.factoryCode||""),$3=l2(()=>{var k,L;const x=z9(((k=j3.value)==null?void 0:k.startTowns)||((L=j3.value)==null?void 0:L.start_towns));return x.length?x:i9(Pe.value.map(i2=>i2.name))}),R3=l2(()=>{var k,L;const x=z9(((k=j3.value)==null?void 0:k.usageTypes)||((L=j3.value)==null?void 0:L.usage_types));return x.length?x:i9(ke.value.map(i2=>i2.name))}),C=l2(()=>{var k,L,i2,k2;const x=t7(((k=j3.value)==null?void 0:k.certTypeOptions)||((L=j3.value)==null?void 0:L.cert_type_options));return x.length?x:z9(((i2=j3.value)==null?void 0:i2.certTypes)||((k2=j3.value)==null?void 0:k2.cert_types)).map(H2=>({value:H2,label:H2}))}),j=l2(()=>ie.value.map((x,k)=>({key:x.key||`${x.name}-${k}`,name:x.displayName||x.name,displayName:x.displayName||x.name,rawName:x.rawName,town:x.mapTownName||x.town||Jt(x.name),mapTownName:x.mapTownName||x.town||Jt(x.name),value:x.headCount,headCount:x.headCount,recordCount:x.recordCount,ratio:x.ratio,unit:"头"}))),T=l2(()=>eo()),D=l2(()=>{const x=T.value.filter(k=>k.level==="high");return x.length>=2?`${x.length}项重点`:x.length===1?`重点:${x[0].name}`:"整体平稳"}),W=l2(()=>w.value.map(x=>J2(L2({},x),{breedingCowRatio:f.value,calfRatio:y.value,breedingCow:Math.round(x.count*f.value/100),calf:Math.round(x.count*y.value/100)}))),G=l2(()=>{const x=W.value,k=x.length,L=Math.max(Math.ceil(k/Ni),1),i2=y3.value%L,k2=i2*Ni,H2=Math.min(k2+Ni,k);return{page:i2,pageCount:L,start:k2,end:H2,total:k,rows:x.slice(k2,H2)}}),Y=l2(()=>$2.value==="forecast"?E.value:w.value),S2=l2(()=>$2.value==="forecast"?"forecast":"count"),C2=l2(()=>S7(Y.value,S2.value)),U2=l2(()=>({key:"yak-marks-layer",sourceType:"wmts",layerName:"ne:daping_yak_marks",style:"ne:yak_marks",styles:"ne:yak_marks",format:"image/png",tileMatrixSetID:"EPSG:900913",maximumLevel:21,url:"/geoserver/gwc/service/wmts",cqlFilter:"gov_show = true",name:"牦牛识别标记",opacity:.96,queryBuffer:10,geometryField:"geom",fillColor:"rgba(255, 203, 69, 0)",strokeColor:"#FFCB45",glowColor:"rgba(255, 203, 69, 0.28)",lineWidth:1.4,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-marks",name:"牦牛",fillColor:"#FFCB45",strokeColor:"#FFF4B8",selectable:!1}]})),r3=l2(()=>{var L;const k=_5((L=E1.value)==null?void 0:L.rows).map(i2=>o4(i2.town,i2.village)).filter(Boolean);return{key:"yak-epidemic-village-boundary",sourceType:"wfs",layerName:"ne:t_pastures_map",styles:"牧场样式",name:"防疫村边界",opacity:.86,queryBuffer:8,cqlFilter:k.length?k.join(" OR "):"EXCLUDE",legends:[{key:"yak-epidemic-village-boundary",name:"防疫村边界",fillColor:"#30DCFF",strokeColor:"#C9FBFF",selectable:!1}]}}),P=l2(()=>$2.value==="epidemic"?r3.value:$2.value==="trade"?null:U2.value),N=l2(()=>$2.value==="structure"||$2.value==="forecast"),U=l2(()=>$2.value==="forecast"?e2:K),b2=l2(()=>N.value?null:P.value),o3=l2(()=>N.value?null:X2.value),Z2=l2(()=>N.value?!Le.value:!Q0.value),J=l2(()=>"3D地图加载中"),X2=l2(()=>$2.value==="trade"?{scope:"trade-flow",title:`${Y2.value||""}出栏来源`,metricLabel:"来源",unit:"头",source:J2(L2({},q2),{total:wt("headCount")}),rows:j.value,showFlowLines:!1,mapView:p2}:{scope:$2.value==="epidemic"?"village":"town",hideTownNames:$2.value==="epidemic",title:$2.value==="forecast"?`${m0.value.shortLabel}预测存栏`:$2.value==="epidemic"?`${y1.value}年村级防疫信息`:"乡镇估算存栏",metricLabel:$2.value==="forecast"?"预测":$2.value==="epidemic"?"防疫":"存栏",unit:"万头",rows:$2.value==="epidemic"?W2.value:C2.value.map(x=>({name:x.name,value:Number((x.value/1e4).toFixed(2)),unit:"万头"}))}),e1=l2(()=>({color:["#8bf7ff","#30dcff"],tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(x){const k=x.map(L=>`${L.marker}${L.seriesName}:${P0(Math.abs(L.value))}头`);return`${x[0].name}
    ${k.join("
    ")}`}}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:b,fontSize:11}},grid:{left:22,right:22,top:32,bottom:12,containLabel:!0},xAxis:{type:"value",axisLabel:{color:F,fontSize:10,formatter:x=>ne(Math.abs(x))},splitLine:{lineStyle:{color:H,type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",data:Ui.map(x=>x.age),axisLabel:{color:p,fontSize:11,fontWeight:700},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"母牛",type:"bar",stack:"gender",barWidth:12,data:Ui.map(x=>-x.cow),itemStyle:{borderRadius:[7,0,0,7]}},{name:"公牛",type:"bar",stack:"gender",barWidth:12,data:Ui.map(x=>x.bull),itemStyle:{borderRadius:[0,7,7,0]}}]})),i0=l2(()=>{const x=w.value,k=x.map(L=>L.count);return{color:v2,tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(L){const i2=L.map(k2=>`${k2.marker}${k2.seriesName}:${P0(k2.value)}头`);return`${L[0].name}
    ${i2.join("
    ")}
    估算存栏:${P0(k[L[0].dataIndex])}头
    结构依据:畜群结构比例表`}}),legend:{top:-2,right:0,itemWidth:8,itemHeight:6,itemGap:6,textStyle:{color:b,fontSize:10}},grid:{left:54,right:30,top:22,bottom:8},xAxis:{type:"value",axisLabel:{color:F,fontSize:10,formatter:ne},splitLine:{lineStyle:{color:H,type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",inverse:!0,data:x.map(L=>L.name),axisLabel:{color:p,fontSize:10,fontWeight:700,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:m5.map(L=>({name:L.name,type:"bar",stack:"town",barWidth:x.length>8?6:11,data:x.map(i2=>Math.round(i2.count*L.ratio/100))}))}}),I1=l2(()=>H9(w.value,"count","头",{style:"ladder",tooltipFormatter(x){const k=w.value[x.dataIndex];return`${k.name}
    估算存栏:${P0(k.count)}头
    来源:无人机识别`}})),V1=l2(()=>{const x=G.value,k=x.rows,L=Math.max(...k.map(i2=>i2.breedingCow+i2.calf),1);return{color:["#30dcff","#8bf7ff"],animationDurationUpdate:700,animationEasingUpdate:"cubicOut",tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(i2){const k2=k[i2[0].dataIndex],H2=i2.filter(u3=>["能繁母牛","犊牛合计"].includes(u3.seriesName)).map(u3=>`${u3.marker}${u3.seriesName}:${P0(u3.value)}头`);return`${k2.name}
    母犊合计:${P0(k2.breedingCow+k2.calf)}头
    ${H2.join("
    ")}
    依据:无人机识别 + 畜群结构比例表`}}),legend:{data:["能繁母牛","犊牛合计"],top:2,left:2,itemWidth:10,itemHeight:7,itemGap:9,textStyle:{color:b,fontSize:10}},graphic:x.total>Ni?{type:"text",right:4,top:3,silent:!0,style:{text:`${x.start+1}-${x.end} / ${x.total}`,fill:F,fontSize:10,fontWeight:600}}:void 0,grid:{left:18,right:18,top:42,bottom:44,containLabel:!1},xAxis:{type:"category",data:k.map(i2=>i2.name),axisLabel:{color:F,fontSize:10,lineHeight:12,interval:0,margin:8,formatter:r7},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",max:Math.ceil(L*1.28),axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:H,type:"dashed"}}},series:[{name:"基础群规模",type:"bar",barWidth:15,barGap:"-100%",data:k.map(i2=>i2.breedingCow+i2.calf),tooltip:{show:!1},itemStyle:{borderRadius:[8,8,1,1],color:"rgba(48, 220, 255, 0.07)"},silent:!0},{name:"能繁母牛",type:"bar",stack:"foundation",barWidth:15,data:k.map(i2=>i2.breedingCow),itemStyle:{borderRadius:[1,1,0,0],color:new Qe(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.34)"},{offset:1,color:"#30dcff"}])}},{name:"犊牛合计",type:"bar",stack:"foundation",barWidth:15,data:k.map(i2=>i2.calf),itemStyle:{borderRadius:[8,8,1,1],color:new Qe(0,0,0,1,[{offset:0,color:"#8bf7ff"},{offset:1,color:"rgba(139, 247, 255, 0.2)"}])},label:{show:!0,position:"top",formatter:({dataIndex:i2})=>ne(k[i2].breedingCow+k[i2].calf),color:"#ffffff",fontSize:10,fontWeight:700}}]}}),y0=l2(()=>{const x=Pl.slice().sort((i2,k2)=>k2.value-i2.value),k=Pl.reduce((i2,k2)=>i2+k2.value,0),L=x.map(i2=>i2.yoy||0);return{color:x.map(i2=>i2.color),tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(i2){const k2=x[i2[0].dataIndex];return`${k2.label}
    数量:${P0(k2.value)}头
    占比:${Xt(k2.value/k*100)}
    同比:${k2.yoy>0?"+":""}${k2.yoy}%`}}),grid:{left:36,right:30,top:20,bottom:34},xAxis:{type:"category",data:x.map(i2=>i2.label),axisLabel:{color:p,fontSize:10,fontWeight:700,interval:0,margin:10},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:F,fontSize:10,formatter:ne},splitLine:{lineStyle:{color:H,type:"dashed"}}},{type:"value",min:Math.min(-2,Math.floor(Math.min(...L)-1)),max:Math.max(8,Math.ceil(Math.max(...L)+1)),axisLabel:{color:b,fontSize:10,formatter:"{value}%"},splitLine:{show:!1},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:16,data:x.map((i2,k2)=>({value:i2.value,itemStyle:{borderRadius:[8,8,2,2],color:new Qe(0,0,0,1,[{offset:0,color:i2.color},{offset:.72,color:`${i2.color}cc`},{offset:1,color:`${i2.color}18`}]),shadowBlur:k2===0?4:2,shadowColor:"rgba(48, 220, 255, 0.16)"},label:{show:!0,position:"top",color:g,fontSize:10,fontFamily:ps.number,fontWeight:700,formatter:({value:H2})=>ne(H2)}}))},{name:"同比",type:"line",yAxisIndex:1,smooth:!0,symbol:"circle",symbolSize:6,data:L,lineStyle:{width:2,color:"#8bf7ff"},itemStyle:{color:"#8bf7ff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2},label:{show:!0,position:"top",color:"#8bf7ff",fontSize:10,formatter:({value:i2})=>`${i2>0?"+":""}${i2}%`}}]}}),me=l2(()=>{const x=lo(p3.value),k=y7(m0.value,x.key),L=T4(k),i2=v7(L.length,x.key);return{color:["#30dcff","#8bf7ff","#48cfff"],tooltip:J2(L2({},De()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(k2){var Q2,D3,g1;const H2=Array.isArray(k2)?k2:[k2],u3=H2.find(O1=>O1.seriesType==="candlestick"),w2=(u3==null?void 0:u3.data)||L[(g1=(D3=u3==null?void 0:u3.dataIndex)!=null?D3:(Q2=H2[0])==null?void 0:Q2.dataIndex)!=null?g1:0];if(!w2)return"";const n3=w2.close-w2.open;return[`${w2.label}|${x.unit}度预测`,`预测存栏:${P0(w2.close)}头`,`较上期:${a6(n3)}头`,`新生牛犊:${P0(w2.birth)}头`,`出栏扣减:${P0(w2.outflow)}头`].join("
    ")}}),legend:{top:4,right:8,data:["预测存栏","新生牛犊","出栏扣减"],itemWidth:12,itemHeight:8,textStyle:{color:b,fontSize:10}},grid:{left:44,right:40,top:34,bottom:28},xAxis:{type:"category",boundaryGap:!0,data:k.labels,axisLabel:{color:F,fontSize:10,interval:i2},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:F,fontSize:10,formatter:ne},splitLine:{lineStyle:{color:H,type:"dashed"}}},{type:"value",axisLabel:{color:b,fontSize:10,formatter:ne},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:b4(L.length,x.key),data:L,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(72, 207, 255, 0.82)",borderColor:"#30dcff",borderColor0:"#48cfff",borderWidth:1.4}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:4,data:L.map(k2=>k2.close),lineStyle:{width:1.8,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:1},tooltip:{show:!1}},q6("新生牛犊",k.births,"#8bf7ff",1),q6("出栏扣减",k.outflow,"#48cfff",1)]}}),gt=l2(()=>({color:["#30dcff","#8bf7ff"],tooltip:J2(L2({},De()),{trigger:"axis"}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:b,fontSize:10}},grid:{left:52,right:42,top:34,bottom:28},xAxis:{type:"category",data:_.value.map(x=>x.month||x.name),axisLabel:{color:F,fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:F,fontSize:10,formatter:x=>{const k=Number(x);return Number.isFinite(k)?Math.abs(k)>=1e4?`${Number((k/1e4).toFixed(1))}万`:`${k}`:x}},splitLine:{lineStyle:{color:H,type:"dashed"}}},{type:"value",axisLabel:{color:b,fontSize:10},splitLine:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:12,data:_.value.map(x=>x.count||x.value),itemStyle:{borderRadius:[8,8,0,0],color:new Qe(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"增速",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:_.value.map(x=>x.speed||x.growthRate||0),lineStyle:{width:2.4,color:"#8bf7ff"},itemStyle:{color:"#8bf7ff"}}]})),it=l2(()=>({tooltip:De(),radar:{center:["50%","54%"],radius:"68%",splitNumber:4,indicator:kl.map(x=>({name:x.name,max:100})),axisName:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},splitArea:{areaStyle:{color:["rgba(48, 220, 255, 0.04)","rgba(139, 247, 255, 0.018)"]}},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.18)"}}},series:[{type:"radar",data:[{name:"预测因子",value:kl.map(x=>x.value),areaStyle:{color:"rgba(48, 220, 255, 0.22)"},lineStyle:{color:"#30dcff",width:2},itemStyle:{color:"#8bf7ff"}}]}]})),Sn=l2(()=>H9(E.value,"forecast","头")),q=l2(()=>{const x=r2.value,k=x.reduce((L,i2,k2)=>{const H2=i2.color||v2[k2%v2.length];return L[`name${k2}`]={color:H2,fontSize:10,fontWeight:800},L[`percent${k2}`]={color:H2,fontSize:10,fontFamily:"D-DIN, Arial, sans-serif",fontWeight:800},L},{});return{color:v2,tooltip:De(L=>{var k2;const i2=x.find(H2=>H2.name===L.name);return`${L.name}
    预测占比:${Xt((k2=i2==null?void 0:i2.ratio)!=null?k2:L.percent)}
    预测数量:${P0((i2==null?void 0:i2.count)||0)}头`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(L){const i2=x.findIndex(H2=>H2.name===L),k2=x[i2];return k2?`{name${i2}|${L}} {percent${i2}|${Xt(k2.ratio)}}`:L},textStyle:{color:b,fontSize:10,rich:k}},series:[{name:"期末结构预测",type:"pie",radius:["38%","66%"],center:["32%","54%"],startAngle:118,avoidLabelOverlap:!1,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:x.map(L=>({name:L.name,value:L.count}))}]}}),s2=l2(()=>({color:["#8bf7ff","#48cfff","#48cfff"],tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:b,fontSize:10}},grid:{left:44,right:26,top:34,bottom:28},xAxis:{type:"category",data:Vt.map(x=>x.shortLabel),axisLabel:{color:p,fontSize:11,fontWeight:700},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:F,fontSize:10,formatter:x=>J9(x,1)},splitLine:{lineStyle:{color:H,type:"dashed"}}},series:[{name:"新生牛犊",type:"bar",barWidth:12,data:Vt.map(x=>x.births),itemStyle:{borderRadius:[7,7,0,0]}},{name:"出栏流出",type:"bar",barWidth:12,data:Vt.map(x=>-x.outflow),itemStyle:{borderRadius:[0,0,7,7]}},{name:"稳态校正",type:"line",smooth:!0,symbolSize:6,data:Vt.map(x=>x.correction),lineStyle:{width:2.4}}]})),x2=l2(()=>{const x=E.value,k=Math.max(...x.map(L=>Math.abs(L.change)),1);return x.map(L=>J2(L2({},L),{width:Math.max(8,Math.round(Math.abs(L.change)/k*100))}))});function z2(x){const k=Number((x==null?void 0:x.change)||0)>=0;return{"--heat-width":`${x.width}%`,"--heat-color":k?"#30dcff":"#8bf7ff","--heat-color-soft":k?"rgba(48, 220, 255, 0.24)":"rgba(139, 247, 255, 0.22)","--heat-color-dim":k?"rgba(48, 220, 255, 0.07)":"rgba(139, 247, 255, 0.07)"}}function M3(x){return`${x.name}:${a6(x.change)}头`}const t1=l2(()=>{const x=o2.value,k=x.map(i2=>i2.value),L=Math.max(...k,1);return{color:["#30dcff","#8bf7ff"],tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},formatter(i2){const k2=i2[0];return`${k2.name}
    防疫记录:${P0(k2.value)}条`}}),grid:{left:42,right:24,top:20,bottom:28},xAxis:{type:"category",data:x.map(i2=>i2.name),axisLabel:{color:F,fontSize:10,interval:Math.max(Math.floor(x.length/7),0)},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:F,fontSize:10,formatter:ne},splitLine:{lineStyle:{color:H,type:"dashed"}}},series:[{name:"防疫记录",type:"bar",barMaxWidth:12,data:k,itemStyle:{borderRadius:[7,7,0,0],color:new Qe(0,0,0,1,[{offset:0,color:"#8bf7ff"},{offset:.45,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.92)",fontSize:10,formatter:({value:i2})=>i2>=L*.42?ne(i2):""}},{name:"作业趋势",type:"line",smooth:!0,showSymbol:!1,data:k,lineStyle:{width:2.4,color:"#8bf7ff"}}]}});l2(()=>{const x=o2.value.length?o2.value.slice(-6):[{name:"待开展",value:0}],k=x.map(u3=>Number(u3.value||0)),L=T1.value,i2=L.map(u3=>Number(u3.value||0)),k2=Math.max(...k,1),H2=u3=>String(u3||"").replace(/(镇|乡|村)$/,"");return{color:["#30dcff","#8bf7ff"],title:[{text:"作业节奏",left:4,top:0,textStyle:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,fontWeight:800}},{text:"补免关注",left:"55%",top:0,textStyle:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,fontWeight:800}}],tooltip:J2(L2({},De()),{trigger:"axis",formatter(u3){const w2=Array.isArray(u3)?u3[0]:u3;if((w2==null?void 0:w2.axisIndex)===1){const Q2=L[w2.dataIndex]||{};return`${Q2.name}
    补免关注:${Q2.label||w2.value}`}const n3=x[w2.dataIndex]||{};return`${n3.name}
    防疫记录:${P0(n3.value)}条`}}),grid:[{left:6,right:"52%",top:26,bottom:15},{left:"56%",right:12,top:26,bottom:15}],xAxis:[{type:"category",gridIndex:0,data:x.map(u3=>u3.name),axisLabel:{color:"rgba(226, 252, 255, 0.56)",fontSize:9,interval:0,formatter:u3=>String(u3||"").replace(/^(\d{1,2})\D+(\d{1,2}).*$/,"$1/$2")},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},axisTick:{show:!1}},{type:"value",gridIndex:1,min:0,max:Math.max(...i2,100),show:!1}],yAxis:[{type:"value",gridIndex:0,show:!1},{type:"category",gridIndex:1,inverse:!0,data:L.map(u3=>u3.name),axisLabel:{color:"rgba(226, 252, 255, 0.68)",fontSize:9,formatter:u3=>H2(u3)},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"防疫记录",type:"bar",xAxisIndex:0,yAxisIndex:0,barMaxWidth:9,data:k,itemStyle:{borderRadius:[6,6,0,0],color:new Qe(0,0,0,1,[{offset:0,color:"#8bf7ff"},{offset:.45,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.1)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.86)",fontSize:8,formatter:({value:u3})=>u3>=k2*.55?ne(u3):""}},{name:"节奏线",type:"line",xAxisIndex:0,yAxisIndex:0,smooth:!0,showSymbol:!1,data:k,lineStyle:{width:1.8,color:"#8bf7ff"},tooltip:{show:!1}},{name:"补免关注",type:"bar",xAxisIndex:1,yAxisIndex:1,barWidth:8,data:i2,itemStyle:{borderRadius:[0,7,7,0],color:new Qe(0,0,1,0,[{offset:0,color:"rgba(139, 247, 255, 0.24)"},{offset:1,color:"#8bf7ff"}])},label:{show:!0,position:"right",color:"rgba(201, 251, 255, 0.9)",fontSize:8,formatter:({dataIndex:u3})=>{var w2;return((w2=L[u3])==null?void 0:w2.label)||""}}}]}}),l2(()=>{const x=x1.value,k=x.map(H2=>Number(H2.value||0)),L=Math.max(...k,1),i2=k.filter(Boolean).reduce((H2,u3)=>H2+u3,0)/Math.max(k.filter(Boolean).length,1),k2=Math.ceil(L*1.18);return{color:["#30dcff","#8bf7ff"],tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(H2){var w2;const u3=x[(w2=H2[0])==null?void 0:w2.dataIndex]||{};return u3.isMissing?`${u3.name}
    年度防疫:待补强`:`${u3.name}
    覆盖量:${P0(u3.value)}头
    防疫记录:${P0(u3.recordCount)}条`}}),grid:{left:56,right:46,top:16,bottom:12},xAxis:{type:"value",min:0,max:k2,show:!1},yAxis:{type:"category",inverse:!0,data:x.map(H2=>H2.name),axisLabel:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,interval:0,formatter:H2=>String(H2||"").replace(/(镇|乡)$/,"")},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"均衡参照",type:"bar",barWidth:11,silent:!0,barGap:"-100%",data:x.map(()=>k2),itemStyle:{borderRadius:[0,8,8,0],borderColor:"rgba(48, 220, 255, 0.12)",borderWidth:1,color:"rgba(48, 220, 255, 0.045)"}},{name:"覆盖量",type:"bar",barWidth:11,barGap:"-100%",z:3,data:x.map(H2=>{const u3=Number(H2.value||0);return{value:u3>0?u3:Math.max(k2*.035,1),rawValue:u3,itemStyle:{borderRadius:[0,8,8,0],color:new Qe(0,0,1,0,[{offset:0,color:H2.isMissing?"rgba(72, 207, 255, 0.2)":"rgba(48, 220, 255, 0.14)"},{offset:.72,color:H2.isMissing?"#48cfff":"#30dcff"},{offset:1,color:H2.isMissing?"#8bf7ff":"#9efcff"}]),shadowBlur:H2.isMissing?4:5,shadowColor:H2.isMissing?"rgba(72, 207, 255, 0.18)":"rgba(48, 220, 255, 0.16)"}}}),label:{show:!0,position:"right",color:"rgba(239, 255, 255, 0.92)",fontSize:11,fontWeight:800,formatter:({dataIndex:H2})=>{const u3=x[H2]||{};return u3.isMissing?"待补强":`${ne(u3.value)}头`}},markLine:i2>0?{symbol:"none",silent:!0,lineStyle:{color:"rgba(139, 247, 255, 0.46)",type:"dashed",width:1},label:{color:"rgba(201, 251, 255, 0.8)",fontSize:10,formatter:"均衡线"},data:[{xAxis:i2}]}:void 0}]}}),l2(()=>{const x=B1.value,k=["#30dcff","#8bf7ff","#58d9ff","#28e8d6","#7bdfff","#9efcff","#48cfff","#40b8ff","#8bf7ff"],L=x.length?x.map((i2,k2)=>({name:String(i2.name||"").replace(/(村|社区|牧委会)$/,""),value:Math.max(Number(i2.value||0),1),rawValue:Number(i2.value||0),town:i2.town||"",itemStyle:{color:new Qe(0,0,1,1,[{offset:0,color:k[k2%k.length]},{offset:1,color:"rgba(17, 70, 92, 0.38)"}])}})):[{name:"待形成",value:1,rawValue:0,town:"",itemStyle:{color:"rgba(48, 220, 255, 0.14)"}}];return{tooltip:J2(L2({},De()),{formatter(i2){const k2=i2.data||{};return k2.rawValue?`${k2.town?`${k2.town} `:""}${k2.name}
    覆盖量:${P0(k2.rawValue)}头`:`${k2.name}
    暂无村级覆盖量`}}),series:[{type:"treemap",roam:!1,nodeClick:!1,breadcrumb:{show:!1},left:6,right:6,top:7,bottom:5,visibleMin:1,data:L,label:{show:!0,color:"rgba(235, 254, 255, 0.9)",fontSize:10,fontWeight:800,lineHeight:14,formatter(i2){var H2;const k2=Number(((H2=i2.data)==null?void 0:H2.rawValue)||0);return k2?`${i2.name} +${ne(k2)}头`:i2.name}},upperLabel:{show:!1},itemStyle:{borderColor:"rgba(4, 24, 36, 0.88)",borderWidth:2,gapWidth:2},emphasis:{label:{color:"#ffffff"},itemStyle:{shadowBlur:6,shadowColor:"rgba(48, 220, 255, 0.18)"}},levels:[{itemStyle:{borderColor:"rgba(14, 75, 98, 0.72)",borderWidth:1,gapWidth:2}}]}]}});const b1=l2(()=>{const x=I2.value,k=x.length>8?10:12,L=k+8,i2=x.map(Q2=>Number(Q2.recordCount||0)),k2=x.map(Q2=>Number(Q2.earTagCount||0)),H2=Math.max(...i2,1),u3=x.map(()=>Math.ceil(H2*1.08)),w2=new Qe(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.18)"},{offset:.48,color:"rgba(48, 220, 255, 0.06)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}]),n3=new Qe(0,0,0,1,[{offset:0,color:"#31f7ff"},{offset:.36,color:"#1cbcff"},{offset:1,color:"#266dff"}]);return{color:["#31f7ff","#8bf7ff"],title:{text:`台账总量:{value|${ne(B2.value)}条}`,right:0,top:0,textStyle:{color:"#fff",fontSize:12,fontWeight:500,rich:{value:{color:"#22f1ff",borderColor:"#14bdf4",borderWidth:1,borderRadius:2,padding:[2,6,3,6],fontSize:12,fontWeight:700}}}},tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(Q2){const D3=x[Q2[0].dataIndex];return[`${D3.name}`,`防疫记录:${P0(D3.recordCount)}条`,`耳标数量:${P0(D3.earTagCount)}头`,"数据来源:防疫台账"].join("
    ")}}),legend:[{data:["防疫记录"],top:0,left:0,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:p,fontSize:11},selectedMode:!1},{data:["耳标数"],top:0,left:82,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:p,fontSize:11},selectedMode:!1}],grid:{left:42,right:12,top:46,bottom:68},xAxis:{type:"category",data:x.map(Q2=>Q2.name),axisLabel:{color:p,fontSize:10,interval:0,lineHeight:11,margin:8,formatter:Kr},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",name:"数量/条",max:Math.ceil(H2*1.2),nameTextStyle:{color:F,fontSize:10,align:"left"},axisLabel:{color:F,fontSize:10,formatter:ne},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:H,type:"dashed"}}},series:[{name:"统计底柱",type:"bar",barWidth:L,barGap:"-100%",data:u3,tooltip:{show:!1},silent:!0,z:1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(48, 220, 255, 0.22)",borderWidth:1,color:w2}},{name:"防疫记录",type:"bar",barGap:"-100%",barWidth:k,barMinHeight:2,z:3,data:i2.map(Q2=>({value:Q2,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(200, 252, 255, 0.22)",borderWidth:1,color:n3,shadowBlur:10,shadowColor:"rgba(49, 247, 255, 0.28)"}}))},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[k+7,5],symbolOffset:[0,-3],symbolPosition:"end",z:8,tooltip:{show:!1},data:i2.map(Q2=>({value:Q2,itemStyle:{color:"rgba(207, 252, 255, 0.88)",shadowBlur:8,shadowColor:"rgba(49, 247, 255, 0.72)"}}))},{name:"底座光影",type:"pictorialBar",symbol:"diamond",symbolSize:[L+3,5],symbolOffset:[0,3],z:2,tooltip:{show:!1},data:i2,itemStyle:{color:"rgba(48, 220, 255, 0.24)",shadowBlur:10,shadowColor:"rgba(48, 220, 255, 0.45)"}},{name:"耳标数",type:"line",smooth:!0,showSymbol:!1,z:9,data:k2,lineStyle:{width:1.6,color:"#8bf7ff",shadowBlur:0,shadowColor:"transparent"},itemStyle:{color:"#8bf7ff"}}]}}),p1=l2(()=>{const x=y2.value;return{tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(k){const L=x[k[0].dataIndex];return`${L.name}
    防疫记录:${P0(L.value)}条`}}),grid:{left:74,right:42,top:12,bottom:8},xAxis:{type:"value",axisLabel:{color:F,fontSize:10,formatter:ne},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:H,type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:x.map(k=>k.name),axisLabel:{color:p,fontSize:10,fontWeight:700,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"记录",type:"bar",barWidth:9,data:x.map((k,L)=>({value:k.value,itemStyle:{borderRadius:[0,8,8,0],color:new Qe(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.12)"},{offset:.62,color:["#30dcff","#8bf7ff","#58d9ff"][L%3]},{offset:1,color:"#ffffff"}])}})),label:{show:!0,position:"right",color:"#eaffff",fontSize:10,formatter:({value:k})=>ne(k)}},{type:"scatter",symbolSize:7,data:x.map(k=>k.value),itemStyle:{color:"#8bf7ff",shadowBlur:2,shadowColor:"rgba(139, 247, 255, 0.16)"}}]}}),H1=l2(()=>{const x=C0.value;return{color:["#30dcff","#8bf7ff"],tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(k){const L=k.find(k2=>k2.seriesName==="流通头数"),i2=k.find(k2=>k2.seriesName==="出证记录");return`${(L==null?void 0:L.axisValue)||""}
    流通头数:${P0((L==null?void 0:L.value)||0)}头
    出证记录:${P0((i2==null?void 0:i2.value)||0)}条`}}),legend:{top:4,right:10,itemWidth:12,itemHeight:8,textStyle:{color:b,fontSize:10}},grid:{left:42,right:38,top:34,bottom:28},xAxis:{type:"category",data:x.map(k=>k.name),axisLabel:{color:F,fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:F,fontSize:10,formatter:ne},splitLine:{lineStyle:{color:H,type:"dashed"}}},{type:"value",axisLabel:{color:b,fontSize:10,formatter:ne},splitLine:{show:!1}}],series:[{name:"流通头数",type:"bar",barMaxWidth:13,data:x.map(k=>k.headCount),itemStyle:{borderRadius:[7,7,0,0],color:new Qe(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"出证记录",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:x.map(k=>k.recordCount),lineStyle:{width:2.2,color:"#8bf7ff"},itemStyle:{color:"#8bf7ff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2}}]}}),A0=l2(()=>H9(Pe.value.slice(0,10),"headCount","头",{colors:_2,style:"ladder",axisTextColor:"rgba(255, 255, 255, 0.88)",dimAxisTextColor:"rgba(255, 255, 255, 0.74)",tooltipFormatter(x){const k=Pe.value[x.dataIndex];return`${k.name}
    流通头数:${P0(k.headCount)}头
    出证记录:${P0(k.recordCount)}条`}})),v0=l2(()=>{const x=ke.value;return{color:_2,tooltip:De(k=>{const L=x.find(i2=>i2.name===k.name);return`${k.name}
    占比:${k.percent}%
    流通头数:${P0(k.value)}头
    出证记录:${P0((L==null?void 0:L.recordCount)||0)}条`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,textStyle:{color:b,fontSize:10},formatter(k){const L=x.find(i2=>i2.name===k);return L?`${k} ${ne(L.headCount)}头`:k}},series:[{name:"用途结构",type:"pie",radius:["38%","64%"],center:["32%","54%"],startAngle:110,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:x.map(k=>({name:k.name,value:k.headCount}))}]}}),K1=l2(()=>{const x=[{name:"省外A证",value:wt("outProvinceHeads","aCertHeads")},{name:"省内B证",value:wt("inProvinceHeads","bCertHeads")}];return{color:["#8bf7ff","#30dcff"],tooltip:De(k=>`${k.name}
    流通头数:${P0(k.value)}头
    占比:${k.percent}%`),series:[{type:"pie",radius:["48%","72%"],center:["50%","52%"],label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:x}]}});function Y0(){o.value=typeof window=="undefined"?1080:window.innerHeight}function I0(){var x,k,L,i2,k2,H2;if(N.value){(k=(x=ye.value)==null?void 0:x.refreshView)==null||k.call(x);return}(i2=(L=k0.value)==null?void 0:L.resume)==null||i2.call(L),(H2=(k2=k0.value)==null?void 0:k2.refreshView)==null||H2.call(k2)}function Ee(){B3&&(window.clearTimeout(B3),B3=null)}function Ke(){var x,k,L,i2,k2,H2;if(se.value={type:"loading",text:"地图正在复位"},R1.value={type:"idle",text:""},N.value){(k=(x=ye.value)==null?void 0:x.hasMap)!=null&&k.call(x)?(Le.value=!0,(i2=(L=ye.value)==null?void 0:L.resetView)==null||i2.call(L)):(Le.value=!1,ve.value+=1,q0(()=>{window.setTimeout(()=>{var u3,w2;return(w2=(u3=ye.value)==null?void 0:u3.refreshView)==null?void 0:w2.call(u3)},160)}));return}if((H2=(k2=k0.value)==null?void 0:k2.hasMap)!=null&&H2.call(k2)){Q0.value=!0,I0();return}Ee(),Q0.value=!1,D2=!1,M0.value+=1,q0(()=>{K6()})}e({refreshMapView:I0,resetMap:Ke,setActiveView(x){$2.value=l9(x)}}),Ln(()=>{Y0(),window.addEventListener("resize",Y0),x6(),io(),v4(),c7(),t6(),Fe()}),Rn(()=>{var x,k;m3=!0,window.removeEventListener("resize",Y0),B3&&window.clearTimeout(B3),Fn(),wn(),(k=(x=k0.value)==null?void 0:x.destroyMap)==null||k.call(x)}),V0([$2,m0,w,P2,B2,y1,Y2,D1],()=>{so()},{immediate:!0}),V0($2,(x,k)=>{i("view-change",x);const L=x==="structure"||x==="forecast",i2=k==="structure"||k==="forecast",k2=!L&&!i2&&(x==="trade"||k==="trade");L&&!i2&&(Le.value=!1,se.value={type:"idle",text:""},R1.value={type:"idle",text:""}),!L&&i2&&(Ee(),Q0.value=!1,D2=!1,se.value={type:"idle",text:""},R1.value={type:"idle",text:""},q0(()=>{var H2,u3,w2,n3;K6(),(u3=(H2=k0.value)==null?void 0:H2.resume)==null||u3.call(H2),(n3=(w2=k0.value)==null?void 0:w2.refreshView)==null||n3.call(w2),window.setTimeout(()=>{var Q2,D3;return(D3=(Q2=k0.value)==null?void 0:Q2.refreshView)==null?void 0:D3.call(Q2)},180)})),k2&&(Ee(),Q0.value=!1,D2=!1,se.value={type:"idle",text:""},R1.value={type:"idle",text:""},q0(()=>{K6()})),t6(),Fe()}),V0(()=>a.viewKey,x=>{const k=l9(x);k!==$2.value&&($2.value=k)}),V0(()=>a.active,x=>{var k,L,i2,k2;x?(K6(),(L=(k=k0.value)==null?void 0:k.resume)==null||L.call(k),t6(),Fe()):((k2=(i2=k0.value)==null?void 0:i2.pause)==null||k2.call(i2),Fn(),wn())}),V0(G,x=>{y3.value>=x.pageCount&&(y3.value=0),Fe()});function e6(x){x!==c3.value&&(c3.value=x,t6())}function t6(){Fn(),!(!a.active||$2.value!=="forecast"||m3)&&(W3=window.setInterval(w6,$W))}function w6(){const x=Vt.findIndex(L=>L.key===c3.value),k=x>=0?(x+1)%Vt.length:0;c3.value=Vt[k].key}function Fn(){W3&&(window.clearInterval(W3),W3=null)}function Fe(){wn(),!(!a.active||$2.value!=="structure"||m3||G.value.pageCount<=1)&&(Q3=window.setInterval(H6,WW))}function H6(){const x=G.value.pageCount;x<=1||(y3.value=(y3.value+1)%x)}function wn(){Q3&&(window.clearInterval(Q3),Q3=null)}function t9(x=[],k=[]){const L=new Map;return k.forEach(i2=>{const k2=n9(i2.name);k2&&L.set(k2,J2(L2({},i2),{name:k2,count:Number(i2.count||0)}))}),x.forEach(i2=>{const k2=n9(i2.name);if(!k2)return;const H2=L.get(k2)||{};L.set(k2,J2(L2(L2({},H2),i2),{name:k2,count:Number.isFinite(Number(i2.count))?Number(i2.count):Number(H2.count||0)}))}),[...L.values()].sort((i2,k2)=>Number(k2.count||0)-Number(i2.count||0))}function n9(x){return x||""}function Jt(x){return String(x||"").trim()}function U9(x){const k=Number(x);return Number.isFinite(k)&&C1.includes(k)?k:C1[C1.length-1]}function O9(x=y1.value){const k=U9(x);return{startDate:`${k}-01-01`,endDate:`${k}-12-31`}}function a9(){return{keyword:"",town:"",medicine:"",startDate:"",endDate:""}}function n6(x=[]){return Array.isArray(x)?x.map((k,L)=>{var i2,k2,H2;return{key:k.key||k.id||`${k.name||k.label||"item"}-${L}`,name:String(k.name||k.label||k.town||k.village||"未填写"),value:Number((H2=(k2=(i2=k.value)!=null?i2:k.count)!=null?k2:k.total)!=null?H2:0)}}).filter(k=>k.name&&Number.isFinite(k.value)):[]}function Xa(x={}){const k=n6(x==null?void 0:x.medicineCounts);return Math.max(k.filter(L=>L.name!=="未填写").length,1)}function Za(...x){const k=x.flatMap(L=>Array.isArray(L)?L:[L]).map(L=>{var i2,k2,H2;return L&&typeof L=="object"?(H2=(k2=(i2=L.year)!=null?i2:L.value)!=null?k2:L.latestYear)!=null?H2:L.latest_year:L}).map(Number).filter(L=>Number.isFinite(L)&&L>0);return[...new Set(k)].sort((L,i2)=>L-i2)}function j9(x=[],k="name"){return Array.isArray(x)?x.map((L,i2)=>{var k2,H2,u3,w2,n3,Q2,D3,g1,O1,j1,a0,st,Cn,ft,pe,Nt,Bn;return{key:L.key||L.id||`${L[k]||L.name||L.label||"trade"}-${i2}`,name:String(L[k]||L.name||L.label||L.town||"未填写"),recordCount:Number((u3=(H2=(k2=L.recordCount)!=null?k2:L.record_count)!=null?H2:L.count)!=null?u3:0),headCount:Number((D3=(Q2=(n3=(w2=L.headCount)!=null?w2:L.head_count)!=null?n3:L.amount)!=null?Q2:L.value)!=null?D3:0),lng:bn((st=(a0=(j1=(O1=(g1=L.lng)!=null?g1:L.longitude)!=null?O1:L.destLng)!=null?j1:L.dest_lng)!=null?a0:L.destLongitude)!=null?st:L.dest_longitude),lat:bn((Bn=(Nt=(pe=(ft=(Cn=L.lat)!=null?Cn:L.latitude)!=null?ft:L.destLat)!=null?pe:L.dest_lat)!=null?Nt:L.destLatitude)!=null?Bn:L.dest_latitude)}}).filter(L=>L.name&&Number.isFinite(L.headCount)):[]}function e7(x=[]){return Array.isArray(x)?x.map(k=>{var L,i2,k2,H2,u3,w2;return{year:Number(k.year),recordCount:Number((i2=(L=k.recordCount)!=null?L:k.record_count)!=null?i2:0),headCount:Number((w2=(u3=(H2=(k2=k.headCount)!=null?k2:k.head_count)!=null?H2:k.amount)!=null?u3:k.value)!=null?w2:0)}}).filter(k=>Number.isFinite(k.year)&&Number.isFinite(k.headCount)):[]}function z9(x=[]){return Array.isArray(x)?i9(x.map(k=>{var L,i2,k2;return k&&typeof k=="object"?(k2=(i2=(L=k.value)!=null?L:k.label)!=null?i2:k.name)!=null?k2:"":k})):[]}function t7(x=[]){return Array.isArray(x)?x.map(k=>{var L,i2,k2,H2,u3,w2;if(k&&typeof k=="object"){const n3=(k2=(i2=(L=k.value)!=null?L:k.name)!=null?i2:k.label)!=null?k2:"",Q2=(w2=(u3=(H2=k.label)!=null?H2:k.name)!=null?u3:k.value)!=null?w2:n3;return n3?{value:String(n3),label:String(Q2||n3)}:null}return k?{value:String(k),label:String(k)}:null}).filter(Boolean):[]}function i9(x=[]){return[...new Set(x.map(k=>String(k||"").trim()).filter(Boolean))]}function Hr(x=[]){if(!Array.isArray(x))return[];const k=new Map;x.forEach((i2,k2)=>{var Q2,D3,g1,O1,j1,a0;const H2=Jt(i2.name||i2.areaName||i2.area_name||i2.town||i2.label||"");if(!H2)return;const u3=bn((g1=(D3=(Q2=i2.value)!=null?Q2:i2.number)!=null?D3:i2.count)!=null?g1:i2.total);if(!Number.isFinite(u3))return;const w2=k.get(H2)||{key:i2.areaCode||i2.area_code||`${H2}-${k2}`,name:H2,recordCount:0,earTagCount:0,source:"stats"};w2.recordCount+=u3;const n3=bn((a0=(j1=(O1=i2.earTagCount)!=null?O1:i2.ear_tag_count)!=null?j1:i2.headCount)!=null?a0:i2.head_count);w2.earTagCount+=Number.isFinite(n3)?n3:0,k.set(H2,w2)});const L=[...k.values()].reduce((i2,k2)=>i2+Number(k2.recordCount||0),0);return[...k.values()].map(i2=>J2(L2({},i2),{earTagCount:i2.earTagCount||Math.round(Number(i2.recordCount||0)/d2.value),ratio:L?Number(i2.recordCount||0)/L*100:0})).sort((i2,k2)=>Number(k2.recordCount||0)-Number(i2.recordCount||0))}function n7(x={}){var k2,H2;const k=Array.isArray(x)?{rows:x}:x||{},L=k.result||{};return{rows:k.rows||k.data||k.list||k.records||[],year:(H2=(k2=k.year)!=null?k2:L.year)!=null?H2:null}}function _5(x=[]){return Array.isArray(x)?x.map((k,L)=>{var g1,O1,j1,a0,st,Cn,ft,pe,Nt,Bn,c9,d9;const i2=Jt(k.town||k.townName||k.town_name||""),k2=String(k.village||k.villageName||k.village_name||k.name||"").trim(),H2=bn((j1=(O1=(g1=k.recordCount)!=null?g1:k.record_count)!=null?O1:k.records)!=null?j1:k.total),u3=bn((ft=(Cn=(st=(a0=k.earTagCount)!=null?a0:k.ear_tag_count)!=null?st:k.headCount)!=null?Cn:k.head_count)!=null?ft:k.value),w2=bn((Nt=(pe=k.imageCount)!=null?pe:k.image_count)!=null?Nt:k.images),n3=bn((Bn=k.imageRate)!=null?Bn:k.image_rate),Q2=bn((c9=k.lng)!=null?c9:k.longitude),D3=bn((d9=k.lat)!=null?d9:k.latitude);return{key:k.key||k.id||`${i2}-${k2}-${L}`,town:i2,village:k2,recordCount:Number.isFinite(H2)?H2:0,earTagCount:Number.isFinite(u3)?u3:0,imageCount:Number.isFinite(w2)?w2:0,imageRate:Number.isFinite(n3)?n3:0,lng:Q2,lat:D3}}).filter(k=>k.town&&k.village&&Number.isFinite(k.earTagCount)).sort((k,L)=>Number(L.earTagCount||0)-Number(k.earTagCount||0)):[]}function a7(x={},k={}){const L=Array.isArray(k)?{rows:k}:k||{},i2=L.result||{},k2=_5(L.rows||L.data||L.list||L.records||i2.rows||[]),H2=new Map;k2.forEach(D3=>{i7(D3.village).forEach(g1=>{H2.has(g1)||H2.set(g1,D3)})});const u3=n6(x==null?void 0:x.townCounts),w2=u3.length===1?Jt(u3[0].name):"",n3=Xa(x),Q2=n6(x==null?void 0:x.villageCounts).map((D3,g1)=>{const O1=String(D3.name||"").trim(),j1=i7(O1).map(st=>H2.get(st)).find(Boolean)||{},a0=Number(D3.value||0);return{key:j1.key||`${j1.town||w2||"防疫"}-${O1}-${g1}`,town:j1.town||w2,village:O1,recordCount:a0,earTagCount:Math.round(a0/n3),imageCount:j1.imageCount||0,imageRate:j1.imageRate||0,lng:j1.lng,lat:j1.lat}}).filter(D3=>D3.village&&D3.recordCount>0);return J2(L2({},L),{rows:Q2})}function i7(x){const k=String(x||"").trim(),L=k.replace(/(村|社区|牧委会)$/,"");return[...new Set([k,L].filter(Boolean))]}function bn(x){if(x==null||x==="")return NaN;const k=Number(String(x).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(k)?k:NaN}function r4(x){return String(x||"").replace(/'/g,"''").replace(/%/g,"\\%").replace(/_/g,"\\_")}function o4(x,k){const L=Jt(x),i2=String(k||"").trim();if(!L||!i2)return"";const k2=`${L}${i2}`,H2=r4(k2),u3=r4(i2);return`(full_name LIKE '%${H2}%' OR name = '${H2}' OR name = '${u3}')`}function Kr(x){const k=String(x||"").trim().replace(/\s+/g,"");return k?Array.from(k).join(` +`):""}function r7(x){const k=String(x||"").trim();if(!k)return"";const L=k.match(/^(.+)(镇|乡|村)$/);return L?`${L[1]} +${L[2]}`:k}function s4(x,k){return Y9(x.name)-Y9(k.name)}function Y9(x){const k=String(x||"").match(/(\d{1,2})\D+(\d{1,2})/);return k?Number(k[1])*100+Number(k[2]):Number.MAX_SAFE_INTEGER}function b6(x=[]){return Array.isArray(x)?x.map(l4).filter(Boolean):[]}function l4(x){return x?{epidemicId:x.epidemicId||x.epidemic_id||x.id||"",earTag:x.earTag||x.ear_tag||"",owner:x.owner||"",idType:x.idType||x.id_type||"",idNo:x.idNo||x.id_no||"",phone:x.phone||"",town:x.town||"",village:x.village||"",location:x.location||"",livestockType:x.livestockType||x.livestock_type||"",age:x.age||"",sex:x.sex||"",weight:x.weight||x.weightKg||x.weight_kg||"",preventionType:x.preventionType||x.prevention_type||"",method:x.method||"",medicine:x.medicine||"",dose:x.dose||"",operator:x.operator||"",operateTime:x.operateTime||x.operate_time||"",imagePaths:x.imagePaths||x.image_paths||""}:null}function u4(x=[]){return Array.isArray(x)?x.map(qr).filter(Boolean):[]}function qr(x){var k,L,i2,k2;return x?{certId:x.certId||x.cert_id||x.id||"",certType:x.certType||x.cert_type||"",certScopeName:x.certScopeName||x.cert_scope_name||"",factoryCode:x.factoryCode||x.factory_code||"",ownerName:x.ownerName||x.owner_name||"",ownerPhone:x.ownerPhone||x.owner_phone||"",transportNumber:x.transportNumber||x.transport_number||"",amount:Number((k2=(i2=(L=(k=x.amount)!=null?k:x.headCount)!=null?L:x.head_count)!=null?i2:x.value)!=null?k2:0),unitName:x.unitName||x.unit_name||"头",animalTypeName:x.animalTypeName||x.animal_type_name||"",usageTypeName:x.usageTypeName||x.usage_type_name||"",startTown:x.startTown||x.start_town||"",startRegionFullName:x.startRegionFullName||x.start_region_full_name||"",destProvince:x.destProvince||x.dest_province||"",destRegionFullName:x.destRegionFullName||x.dest_region_full_name||"",quarantineOfficerName:x.quarantineOfficerName||x.quarantine_officer_name||"",issueTime:x.issueTime||x.issue_time||"",statusName:x.statusName||x.status_name||""}:null}function r9(x,k){for(const L of k){const i2=Number(x==null?void 0:x[L]);if(Number.isFinite(i2))return i2}return 0}function wt(...x){return r9(D1.value,x)}function c4(x=[],k=2){const L=[...new Set(x.map(i2=>String(i2||"").trim()).filter(Boolean))];return L.length?L.length<=k?L.join("、"):`${L.slice(0,k).join("、")}等${L.length}个乡镇`:"暂无"}function o7(){const x=E3.value;if(x.length)return{name:c4(x,1),desc:"年度防疫覆盖需补强",level:"watch"};const k=V2.value.filter(i2=>Number(i2.earTagCount||i2.recordCount||0)>0).sort((i2,k2)=>Number(i2.earTagCount||i2.recordCount||0)-Number(k2.earTagCount||k2.recordCount||0)),L=k[0];return L?{name:L.name,desc:`${ne(L.earTagCount||L.recordCount)}头,建议补免回访`,level:k.length>=2?"watch":"normal"}:{name:"暂无",desc:"等待年度防疫记录形成",level:"normal"}}function Jr(){const x=E3.value;if(x.length)return x.slice(0,4).map((i2,k2)=>({key:`missing-${i2}`,name:i2,value:Math.max(25,100-k2*12),label:"待补免",level:"watch"}));const k=V2.value.filter(i2=>Number(i2.earTagCount||i2.recordCount||0)>0);if(!k.length)return[{key:"empty",name:"暂无",value:0,label:"待开展",level:"watch"}];const L=k.reduce((i2,k2)=>i2+Number(k2.earTagCount||0),0)/k.length||1;return[...k].sort((i2,k2)=>Number(i2.earTagCount||0)-Number(k2.earTagCount||0)).slice(0,4).map(i2=>{const k2=Number(i2.earTagCount||i2.recordCount||0),H2=Math.max(8,Math.round((L-k2)/L*100));return{key:`weak-${i2.name}`,name:i2.name,value:Math.min(100,H2),label:`${ne(k2)}头`,level:H2>=35?"watch":"normal"}})}function Qr(){const k=(I2.value.length?I2.value:V2.value).map((k2,H2)=>{const u3=Jt(k2.name),w2=Number(k2.earTagCount||0),n3=Number(k2.recordCount||k2.value||0),Q2=w2||Math.round(n3/d2.value);return{key:k2.key||`${u3}-${H2}`,name:u3,value:Q2,recordCount:n3,isMissing:!1}}).filter(k2=>k2.name&&Number.isFinite(k2.value)),i2=[...E3.value.map((k2,H2)=>({key:`missing-${k2}-${H2}`,name:k2,value:0,recordCount:0,isMissing:!0})),...k];return i2.length?i2.sort((k2,H2)=>k2.isMissing!==H2.isMissing?k2.isMissing?-1:1:Number(k2.value||0)-Number(H2.value||0)).slice(0,7):[{key:"empty",name:"待开展",value:0,recordCount:0,isMissing:!0}]}function Xr(){var k;const x=W2.value.map((L,i2)=>({key:L.key||`${L.town}-${L.village}-${i2}`,name:L.village||L.name,town:L.town,value:Number(L.earTagCount||L.value||0)})).filter(L=>L.name&&Number.isFinite(L.value)&&L.value>0);return x.length?x.sort((L,i2)=>i2.value-L.value).slice(0,9):n6((k=S1.value)==null?void 0:k.villageCounts).map((L,i2)=>({key:L.key||`${L.name}-${i2}`,name:L.name,town:"",value:Math.round(Number(L.value||0)/d2.value)})).filter(L=>L.name&&Number.isFinite(L.value)&&L.value>0).sort((L,i2)=>i2.value-L.value).slice(0,9)}function s7(){if(!B2.value)return{level:"watch",title:"年度待开展",desc:"年度免疫记录暂未形成",advice:"建议先核查年度免疫计划与乡镇推进节奏。"};const x=T3.value,k=m1.value;return E3.value.length?{level:"watch",title:"补免待核查",desc:`乡镇覆盖${Xt(x)},${k.name}需补强`,advice:`优先核查${c4(E3.value,1)}免疫进度。`}:x>=90&&d2.value>=4?{level:"stable",title:"运行平稳",desc:`乡镇覆盖${Xt(x)},疫苗谱较完整`,advice:"建议保持当前免疫节奏,持续跟踪补免回访。"}:{level:"normal",title:"均衡回访",desc:`${k.name}相对偏低,适合继续跟进`,advice:`关注${k.name}补免回访,保持覆盖均衡。`}}function Zr(){return[{key:"latest",name:"最近免疫",value:Z.value,desc:"最后作业时间",level:Z.value==="-"?"watch":"stable",color:"#8bf7ff"},{key:"top-town",name:"高频乡镇",value:V.value,desc:"年度作业集中区",level:"normal",color:"#30dcff"},{key:"vaccine",name:"主用疫苗",value:h2.value,desc:`${d2.value}类疫苗`,level:"normal",color:"#8bf7ff"}]}function eo(){const x=wt("headCount","totalHeads","total_heads"),k=ie.value,L=k.reduce((pe,Nt)=>pe+Number(Nt.headCount||0),0)||x||1,i2=k[0],k2=i2?Number(i2.headCount||0)/L*100:0,H2=ke.value.filter(pe=>pe.name&&pe.name!=="未填写").sort((pe,Nt)=>Number(Nt.headCount||0)-Number(pe.headCount||0)),u3=H2.reduce((pe,Nt)=>pe+Number(Nt.headCount||0),0)||x||1,w2=H2[0],n3=w2?Number(w2.headCount||0)/u3*100:0,D3=le.value.filter(pe=>pe.name&&pe.name!=="未填写").sort((pe,Nt)=>Number(Nt.headCount||Nt.recordCount||0)-Number(pe.headCount||pe.recordCount||0))[0],g1=wt("vehicleCount","vehicle_count","transportVehicleCount","transport_vehicle_count"),O1=g1>0?x/g1:0,j1=wt("outProvinceHeads","out_province_heads","aCertHeads","a_cert_heads"),a0=wt("inProvinceHeads","in_province_heads","bCertHeads","b_cert_heads"),st=j1+a0||x||1,Cn=j1?j1/st*100:0;return[{key:"town",name:"高频出栏乡镇",value:(i2==null?void 0:i2.displayName)||(i2==null?void 0:i2.name)||"暂无",desc:i2?`${ne(i2.headCount)}头,占${Xt(k2)}`:"等待来源乡镇数据",level:k2>=35?"high":k2>=24?"watch":"normal",color:"#63d7ff"},{key:"usage",name:"交易用途集中度",value:(w2==null?void 0:w2.name)||"暂无",desc:w2?`占${Xt(n3)}`:"等待用途结构数据",level:n3>=60?"high":n3>=45?"watch":"normal",color:"#30dcff"},{key:"vehicle",name:D3?"运输车辆高频":"车辆周转强度",value:D3?`${ne(D3.headCount||D3.recordCount)}${D3.headCount?"头":"条"}`:g1?`车均${P0(O1)}头`:"--",desc:D3?"已接入车辆聚合,明细在台账核查":g1?`${P0(g1)}辆参与流通`:"等待车辆聚合数据",level:D3||O1>=260?"watch":"normal",color:"#48cfff"},{key:"cert-dest",name:"证照/去向线索",value:j1?Xt(Cn):"--",desc:j1?`省外流通${ne(j1)}头`:"等待证照去向数据",level:Cn>=55?"high":Cn>=35?"watch":"normal",color:"#48cfff"}].map(pe=>J2(L2({},pe),{badge:pe.level==="high"?"重点":pe.level==="watch"?"关注":"平稳"}))}function d4(x={}){return String(x.imagePaths||"").split(";").map(k=>k.trim()).filter(Boolean)}function l7(x){const L=String(x||"").replace(/^images\//,"").split("/").map(encodeURIComponent).join("/");return`${jW}/${L}`}function f4(x){P3.value=l7(x),w3.value=!0}function h4(){w3.value=!1,P3.value=""}function Z0(x){return x==null||x===""?"-":x}function to(x){const k=String(x!=null?x:"").trim();return!!(k&&k!=="-")}function rt(x,k,L={}){return to(k)?L2({label:x,value:k},L):null}function T6(x){return x?String(x).slice(0,10):"-"}function Se(x){const k=String(x||"").trim();return k?k.length<7?k:`${k.slice(0,3)}****${k.slice(-4)}`:"-"}function we(x){const k=String(x||"").trim();return k?k.length<=4?k:`****${k.slice(-4)}`:"-"}function no(x){const k=String(x!=null?x:"").trim();if(!k)return"-";if(/kg|公斤|千克/i.test(k))return k;const L=Number(k);return Number.isFinite(L)?`${P0(L)}kg`:k}function ao(x){return String(x!=null?x:"").trim()||"-"}function u7(x={}){return x.certScopeName||x.certType||"-"}function io(){return k3(this,null,function*(){var i2,k2;A3.value=!0,a1.value="";const[x,k,L]=yield Promise.allSettled([WR(),HR(),VR()]);x.status==="fulfilled"&&((i2=x.value)!=null&&i2.length)&&(z3.value=fL(x.value.map(H2=>({name:H2.name,count:Number(H2.value)})).filter(H2=>H2.name&&Number.isFinite(H2.count)))),k.status==="fulfilled"&&((k2=k.value)!=null&&k2.length)&&(S3.value=k.value.map(H2=>({month:H2.name,count:Number(H2.value),speed:b7(H2.extra)})).filter(H2=>H2.month&&Number.isFinite(H2.count))),L.status==="fulfilled"?(I3.value=co(L.value),I3.value.length||(a1.value="结构数据暂无数据")):(a1.value=u9(L.reason,"结构数据异常"),I3.value=[]),A3.value=!1})}function c7(){return k3(this,arguments,function*(x=Y2.value){var k,L,i2,k2,H2,u3;s3.value=!0,G3.value="";try{(L=(k=j3.value)==null?void 0:k.years)!=null&&L.length||(j3.value=yield OR());const w2=Za((i2=j3.value)==null?void 0:i2.years),n3=Number(((k2=j3.value)==null?void 0:k2.latestYear)||((H2=j3.value)==null?void 0:H2.latest_year)||w2[w2.length-1]),Q2=Number(x||Y2.value||n3||w2[w2.length-1]);Y2.value=Q2;let D3=yield Ml({year:Q2});const g1=(u3=D3==null?void 0:D3.hasData)!=null?u3:D3==null?void 0:D3.has_data,O1=Number((D3==null?void 0:D3.latestYear)||(D3==null?void 0:D3.latest_year)||n3);g1===!1&&O1&&O1!==Q2&&(Y2.value=O1,D3=yield Ml({year:O1})),q3.value=D3||{metrics:{},hasData:!1},yield m4(1)}catch(w2){G3.value="交易数据接口异常",q3.value={metrics:{},hasData:!1},e0.value=[],O2.value=0}finally{s3.value=!1}})}function m4(){return k3(this,arguments,function*(x=i1.value){var L,i2;if(!Y2.value)return;const k={year:Y2.value,page:x,pageSize:Qs,keyword:q1.value};try{const k2=yield bh(k);e0.value=u4(k2.rows),O2.value=Number(((L=k2.page)==null?void 0:L.totalCount)||k2.totalCount||e0.value.length||0),i1.value=Number(((i2=k2.page)==null?void 0:i2.page)||x||1)}catch(k2){G3.value=G3.value||"交易台账接口异常",e0.value=[],O2.value=0}})}function d7(x){const k=Number(x);!Number.isFinite(k)||k===Number(Y2.value)||(Y2.value=k,i1.value=1,N1.value="",q1.value="",c7(k))}function ro(x){const k=U9(x);k!==Number(y1.value)&&(y1.value=k,G1.value=1,Q1.value="",d3.value="",_3.value=1,H3.value=a9(),v4(k))}function ot(){q1.value=N1.value.trim(),m4(1)}function $9(x){const k=Math.min(Math.max(Number(x)||1,1),B.value);m4(k)}function C6(x=null){Y3.value=!0,x&&(O0.value=x),o9(x?i1.value:1,x)}function p4(){Y3.value=!1}function W9(){o9(1)}function Qt(){D0.value={keyword:"",startTown:"",usageType:"",certType:""},o9(1)}function g4(x){const k=Math.min(Math.max(Number(x)||1,1),f2.value);o9(k)}function o9(){return k3(this,arguments,function*(x=f1.value,k=null){var k2,H2;if(!Y2.value)return;W1.value=!0,T0.value="";const L=D0.value,i2={year:Y2.value,page:x,pageSize:Am,keyword:L.keyword.trim(),startTown:L.startTown,usageType:L.usageType,certType:L.certType};try{const u3=yield bh(i2);r1.value=u4(u3.rows),K3.value=Number(((k2=u3.page)==null?void 0:k2.totalCount)||u3.totalCount||r1.value.length||0),f1.value=Number(((H2=u3.page)==null?void 0:H2.page)||x||1);const w2=k?k.certId||k.factoryCode:"",n3=w2?r1.value.find(Q2=>(Q2.certId||Q2.factoryCode)===w2)||k:r1.value[0]||null;y4(n3)}catch(u3){T0.value="交易台账接口异常",r1.value=[],K3.value=0,O0.value=null}finally{W1.value=!1}})}function y4(x){O0.value=x||null}function f7(x){x!=null&&x.startTown&&($2.value="trade",q0(()=>{var k,L,i2,k2,H2,u3;(L=(k=k0.value)==null?void 0:k.resume)==null||L.call(k),(k2=(i2=k0.value)==null?void 0:i2.refreshView)==null||k2.call(i2),(u3=(H2=k0.value)==null?void 0:H2.focusTown)==null||u3.call(H2,Jt(x.startTown),{distanceScale:.78,duration:.8})}))}function v4(){return k3(this,arguments,function*(x=y1.value){var w2;const k=U9(x),L=O9(k);y1.value=k,F3.value=!0,U3.value="";const[i2,k2,H2,u3]=yield Promise.allSettled([jR(L),Ls(L2({page:G1.value,pageSize:Ei,keyword:d3.value},L)),zR({year:k}),YR()]);if(i2.status==="fulfilled"?S1.value=i2.value||{metrics:{}}:(U3.value="防疫统计接口异常",S1.value={metrics:{}}),k2.status==="fulfilled"){const n3=k2.value||{};t0.value=b6(n3.rows),o0.value=Number(((w2=n3.page)==null?void 0:w2.totalCount)||n3.totalCount||t0.value.length||0)}else U3.value=U3.value||"防疫台账接口异常",t0.value=[],o0.value=0;H2.status==="fulfilled"?l1.value=n7(H2.value):l1.value={rows:[],year:null},u3.status==="fulfilled"?E1.value=a7(S1.value,u3.value):E1.value={rows:[]},F3.value=!1})}function S4(){return k3(this,arguments,function*(x=G1.value){var i2,k2;F3.value=!0,U3.value="";const k=Math.min(Math.max(Number(x)||1,1),Y1.value),L=O9(y1.value);try{const H2=yield Ls(L2({page:k,pageSize:Ei,keyword:d3.value},L));t0.value=b6(H2.rows),o0.value=Number(((i2=H2.page)==null?void 0:i2.totalCount)||H2.totalCount||t0.value.length||0),G1.value=Number(((k2=H2.page)==null?void 0:k2.page)||k||1)}catch(H2){U3.value="防疫台账接口异常",t0.value=[],o0.value=0,G1.value=1}finally{F3.value=!1}})}function Et(){d3.value=Q1.value.trim(),H3.value=J2(L2({},a9()),{keyword:d3.value}),S4(1)}function h7(x){S4(x)}function Gt(x=null){a3.value=!0,x&&(U1.value=x,O.value=null),M5(1,x)}function m7(){a3.value=!1,h4()}function w4(){M5(1)}function A6(){H3.value=a9(),M5(1)}function s9(x){M5(x)}function M5(){return k3(this,arguments,function*(x=_3.value,k=null){var H2,u3;o1.value=!0,w1.value="";const L=H3.value,i2=O9(y1.value),k2={keyword:L.keyword.trim(),town:L.town,medicine:L.medicine,startDate:L.startDate||i2.startDate,endDate:L.endDate||i2.endDate,page:x,pageSize:Cm};try{const w2=yield Ls(k2);F2.value=b6(w2.rows),N3.value=Number(((H2=w2.page)==null?void 0:H2.totalCount)||w2.totalCount||F2.value.length||0),_3.value=Number(((u3=w2.page)==null?void 0:u3.page)||x||1);const n3=k||F2.value[0]||null;n3?Te(n3):(U1.value=null,O.value=null)}catch(w2){w1.value="台账接口异常",F2.value=[],N3.value=0}finally{o1.value=!1}})}function Te(x){return k3(this,null,function*(){if(U1.value=x,O.value=null,!(x!=null&&x.earTag)&&!(x!=null&&x.epidemicId))return;const k=++u0;v3.value=!0;try{const L=yield $R(x.earTag||x.epidemicId);k===u0&&(O.value=l4(L)||x)}catch(L){k===u0&&(O.value=x)}finally{k===u0&&(v3.value=!1)}})}function x6(){var x;C3=new Or,m2=!1,(x=C3.ready)==null||x.then(()=>{m2=!0,K6()}).catch(()=>{Q0.value=!0})}function K6(){m3||!a.active||!m2||D2||(D2=!0,B3&&window.clearTimeout(B3),B3=window.setTimeout(()=>{B3=null,p7()},600))}function p7(x=0){return k3(this,null,function*(){var L,i2;if(m3)return;if(!a.active){D2=!1;return}if(yield q0(),!a.active){D2=!1;return}const k=k0.value;if((L=k==null?void 0:k.loadMap)==null||L.call(k,C3),k!=null&&k.canvasMap){D2=!1,Q0.value=!0,(i2=k.play)==null||i2.call(k);return}if(x<24){window.setTimeout(()=>p7(x+1),120);return}D2=!1})}function V9(x={}){R1.value={type:x.type||"idle",text:x.text||""}}function oo(){Le.value=!0}function g7(x={}){se.value={type:x.type||"idle",text:x.text||"",loaded:x.loaded,failed:x.failed,total:x.total,zoom:x.zoom,tileUrlTemplate:x.tileUrlTemplate}}function so(){if($2.value==="epidemic"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"防疫记录",value:B2.value,unit:"条"},{zh:"防疫耳标",value:P2.value,unit:"头"},{zh:"疫苗类型",value:d2.value,unit:"类"},{zh:"涉及村数",value:u2.value,unit:"个"}]});return}if($2.value==="forecast"){const x=m0.value.stock-St;i("module-stats",{moduleKey:"yak-management",items:[{zh:"预测期末存栏",value:m0.value.stock,unit:"头"},{zh:"新生牛犊",value:m0.value.births,unit:"头"},{zh:"出栏流出",value:m0.value.outflow,unit:"头"},{zh:"预测净变化",value:x,unit:"头"}]});return}if($2.value==="trade"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"流通总量",value:wt("headCount"),unit:"头"},{zh:"出证记录",value:wt("recordCount"),unit:"条"},{zh:"运输车辆",value:wt("vehicleCount"),unit:"辆"}]});return}i("module-stats",{moduleKey:"yak-management",items:[{zh:"图像识别总数",value:iL,unit:"头"},{zh:"模型修正总数",value:p0.value,unit:"头"},{zh:"当前存栏数量",value:St,unit:"头"}]})}function H9(x,k,L,i2={}){const k2=i2.labelKey||"name",H2=i2.colors||v2,u3=Math.max(...x.map(j1=>Number(j1[k]||0)),1),w2=x.length>8,n3=i2.style==="ladder",Q2=w2?n3?7:6:x.length>6?11:13,D3=["#30dcff","#58d9ff","#8bf7ff","#48cfff","#16b6e8","#b9fbff"],g1=i2.axisTextColor||p,O1=i2.dimAxisTextColor||F;return{tooltip:J2(L2({},De()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(j1){if(i2.tooltipFormatter)return i2.tooltipFormatter(j1[0]);const a0=x[j1[0].dataIndex];return`${a0[k2]}
    数值:${P0(a0[k])}${L}`}}),grid:{left:w2?58:74,right:w2?54:58,top:w2?6:16,bottom:w2?8:14},xAxis:{type:"value",axisLabel:{color:O1,fontSize:10,formatter:L==="%"?"{value}%":ne},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:H,type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:x.map(j1=>j1[k2]),axisLabel:{color:g1,fontSize:w2?10:11,fontWeight:700,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{type:"bar",barWidth:Q2,barGap:"-100%",data:x.map((j1,a0)=>({value:j1[k],itemStyle:{borderRadius:n3?[1,10,10,1]:[0,7,7,0],color:K9(n3?D3[a0%D3.length]:H2[a0%H2.length],n3),shadowBlur:n3?3:0,shadowColor:n3?"rgba(48, 220, 255, 0.16)":"transparent"}})),showBackground:!0,backgroundStyle:{color:n3?"rgba(48, 220, 255, 0.05)":"rgba(48, 220, 255, 0.07)",borderRadius:n3?[1,10,10,1]:[0,7,7,0]},label:{show:!0,position:"right",color:g,fontFamily:ps.number,fontSize:w2?10:rf.chartLabel,fontWeight:700,formatter:({value:j1})=>`${L==="%"?Xt(j1):ne(j1)}`},markLine:i2.showAverage===!1?void 0:{silent:!0,symbol:"none",label:{show:!1},lineStyle:{color:"rgba(139, 247, 255, 0.22)",type:"dashed",width:1},data:[{xAxis:Math.round(u3*.72)}]}},...n3?[{type:"pictorialBar",symbol:"rect",symbolSize:[2,Q2+5],symbolOffset:[0,0],symbolPosition:"end",z:4,data:x.map((j1,a0)=>({value:j1[k],itemStyle:{color:g,opacity:a0<3?.82:.56,shadowBlur:2,shadowColor:"rgba(139, 247, 255, 0.16)"}}))}]:[]]}}function K9(x,k=!1){return new Qe(0,0,1,0,[{offset:0,color:k?`${x}22`:"rgba(48, 220, 255, 0.12)"},{offset:.64,color:k?x:`${x}cc`},{offset:1,color:x}])}function q6(x,k,L,i2=0,k2=!1){return{name:x,type:"line",yAxisIndex:i2,smooth:!0,symbolSize:5,data:k,lineStyle:{width:2.5,color:L},itemStyle:{color:L},areaStyle:k2?{color:new Qe(0,0,0,1,[{offset:0,color:`${L}44`},{offset:1,color:`${L}05`}])}:void 0}}function lo(x){return Z1.find(k=>k.key===x)||Z1[2]}function y7(x,k="month"){if(k==="month")return Qp(x);const L=yu(x),i2=Math.max(1,Math.round(Math.max(1,L-1)*30)),k2=k==="week"?7:1,H2=Math.ceil(i2/k2)+1,u3=Array.from({length:H2},(D3,g1)=>{const O1=Math.min(i2,g1*k2);return Xp(O1)}),w2=u3.map((D3,g1)=>{const j1=Math.min(i2,g1*k2)/i2,a0=Math.sin(g1/(k==="week"?1.8:8.5))*Math.sin(Math.PI*j1)*Math.min(360,x.months*18);return Math.round(St+(x.stock-St)*j1+a0)}),n3=u3.map((D3,g1)=>{const O1=Math.min(i2,g1*k2)/i2;return Math.round(x.births*O1)}),Q2=u3.map((D3,g1)=>{const O1=Math.min(i2,g1*k2)/i2;return Math.round(x.outflow*O1)});return{labels:u3,stock:w2,births:n3,outflow:Q2}}function v7(x,k){return k==="day"?Math.max(10,Math.ceil(x/6)):k==="week"?Math.max(2,Math.ceil(x/7)):x>24?4:x>14?2:1}function b4(x,k){return k==="day"?x>700?2:x>360?3:4:k==="week"?x>110?4:6:x>24?7:10}function T4(x){return(x.labels||[]).map((k,L)=>{var D3,g1,O1,j1,a0,st;const i2=Number(((D3=x.stock)==null?void 0:D3[Math.max(L-1,0)])||0),k2=Number(((g1=x.stock)==null?void 0:g1[L])||i2),H2=Math.max(0,Number(((O1=x.births)==null?void 0:O1[L])||0)-Number(((j1=x.births)==null?void 0:j1[Math.max(L-1,0)])||0)),u3=Math.max(0,Number(((a0=x.outflow)==null?void 0:a0[L])||0)-Number(((st=x.outflow)==null?void 0:st[Math.max(L-1,0)])||0)),w2=Math.max(120,Math.round((H2+u3)*.18)),n3=Math.max(i2,k2)+Math.max(w2,Math.round(H2*.32)),Q2=Math.max(0,Math.min(i2,k2)-Math.max(w2,Math.round(u3*.32)));return{label:k,open:i2,close:k2,low:Q2,high:n3,birth:H2,outflow:u3,value:[i2,k2,Q2,n3]}})}function S7(x,k){const L=new Map;return x.forEach(i2=>{const k2=uo(i2.name);if(!k2)return;const H2=L.get(k2)||{name:k2,value:0};H2.value+=Number(i2[k]||0),L.set(k2,H2)}),[...L.values()].sort((i2,k2)=>k2.value-i2.value)}function uo(x){return{色地镇:"色地镇",瓦切镇:"瓦切镇",安曲镇:"安曲镇",龙日镇:"龙日镇",邛溪镇:"邛溪镇",刷经寺镇:"刷经寺镇",阿木乡:"阿木乡",查尔玛乡:"查尔玛乡",江茸乡:"江茸乡",麦洼乡:"麦洼乡"}[x]||""}function De(x){return{trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:p,fontFamily:ps.ui,fontSize:rf.tooltip,lineHeight:18},extraCssText:"box-shadow:0 0 10px rgba(0,210,255,.12);",formatter:x}}function l9(x){return K2.some(k=>k.key===x)?x:"structure"}function co(x=[]){return x.map((k,L)=>{var H2,u3,w2,n3;const i2=String(k.name||k.label||k.type||`结构${L+1}`).trim(),k2=q9((u3=(H2=k.value)!=null?H2:k.count)!=null?u3:k.number);return{key:k.key||k.id||`${i2}-${L}`,name:i2,count:k2,ratio:Number((n3=(w2=k.ratio)!=null?w2:k.percent)!=null?n3:0),source:k.source||"结构统计"}}).filter(k=>k.name&&k.count>0)}function w7(x=[],k=[]){const L=x.some(k2=>C4(k2))?x:k,i2=Q9(L,k).map((k2,H2)=>{var n3,Q2;const u3=String(k2.name||k2.label||`结构${H2+1}`).trim(),w2=q9((Q2=(n3=k2.count)!=null?n3:k2.value)!=null?Q2:k2.number);return J2(L2({},k2),{key:k2.key||`${u3}-${H2}`,name:u3,count:w2})}).filter(k2=>k2.name&&k2.count>0);return Ut(i2,St)}function Ut(x=[],k=St){const L=x.reduce((H2,u3)=>H2+Number(u3.count||0),0);if(!L||!k)return x;const i2=x.map((H2,u3)=>{const w2=Number.isFinite(Number(H2.ratio))&&Number(H2.ratio)>0?Number(H2.ratio):Number(H2.count||0)/L*100,n3=k*w2/100;return J2(L2({},H2),{index:u3,ratio:w2,count:Math.floor(n3),remainder:n3-Math.floor(n3)})});let k2=k-i2.reduce((H2,u3)=>H2+u3.count,0);return i2.slice().sort((H2,u3)=>u3.remainder-H2.remainder||H2.index-u3.index).forEach(H2=>{k2<=0||(H2.count+=1,k2-=1)}),i2.map(n3=>{var Q2=n3,{index:H2,remainder:u3}=Q2,w2=s8(Q2,["index","remainder"]);return J2(L2({},w2),{ratio:Number(w2.ratio.toFixed(1))})})}function q9(x){const k=Number(String(x!=null?x:"").replace(/,/g,"").replace(/%/g,""));return Number.isFinite(k)&&k>0?Math.round(k):0}function u9(x,k){const L=String((x==null?void 0:x.message)||x||"");return/未登录|401|HTTP_401/.test(L)?"结构数据未就绪":/超时|timeout/i.test(L)?"结构数据加载超时":k}function b7(x){const k=String(x||"").match(/-?\d+(?:\.\d+)?/);return k?Number(k[0]):0}function P0(x){const k=Number(x);return Number.isFinite(k)?k.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(k)?0:2}):"--"}function ne(x){const k=Number(x);return Number.isFinite(k)?Math.abs(k)>=1e4?`${(k/1e4).toFixed(Math.abs(k)>=1e5?0:1)}万`:Math.round(k).toLocaleString("zh-CN"):"--"}function J9(x,k=2){const L=Number(x);return Number.isFinite(L)?`${(L/1e4).toFixed(k)}万`:"--"}function Xt(x){const k=Number(x);return Number.isFinite(k)?`${Number.isInteger(k)?k:k.toFixed(1)}%`:"--"}function J6(x,k,L,i2){const k2=i2*Math.PI/180;return{x:Number((x+L*Math.cos(k2)).toFixed(2)),y:Number((k+L*Math.sin(k2)).toFixed(2))}}function fo(x,k,L,i2,k2,H2){const u3=J6(x,k,i2,k2),w2=J6(x,k,i2,H2),n3=J6(x,k,L,H2),Q2=J6(x,k,L,k2),D3=H2-k2>180?1:0;return[`M ${u3.x} ${u3.y}`,`A ${i2} ${i2} 0 ${D3} 1 ${w2.x} ${w2.y}`,`L ${n3.x} ${n3.y}`,`A ${L} ${L} 0 ${D3} 0 ${Q2.x} ${Q2.y}`,"Z"].join(" ")}function Q6(x=[]){return x.reduce((k,L)=>{const i2=m5.find(k2=>k2.key===L);return k+Number((i2==null?void 0:i2.ratio)||0)},0)}function T7(){return[{key:"fertileCow",name:"适龄能繁母牛",color:"#30dcff",matcher:(x,k)=>x==="fertileCow"||k.includes("适龄能繁母牛")},{key:"meatBull",name:"麦洼公牦牛",color:"#48cfff",matcher:(x,k)=>x==="meatBull"||k.includes("肉公牛")||k.includes("麦洼公牦牛")},{key:"breedingBull",name:"种公牛",color:"#58d9ff",matcher:(x,k)=>x==="breedingBull"||k.includes("种公牛")},{key:"femaleCalf",name:"母犊牛",color:"#30dcff",matcher:(x,k)=>x==="femaleCalf"||k.includes("母犊牛")},{key:"maleCalf",name:"公犊牛",color:"#8bf7ff",matcher:(x,k)=>x==="maleCalf"||k.includes("公犊牛")},{key:"overageCow",name:"过龄能繁母牛",color:"#48cfff",matcher:(x,k)=>x==="overageCow"||k.includes("过龄能繁母牛")}]}function ho(x=[]){const k=x.reduce((i2,k2)=>i2+Number(k2.count||0),0)||1;return[{key:"female",group:"性别",name:"母牛合计",color:"#8bf7ff",matcher:(i2,k2)=>["fertileCow","femaleCalf","overageCow"].includes(i2)||k2.includes("母")},{key:"male",group:"性别",name:"公牛合计",color:"#30dcff",matcher:(i2,k2)=>["meatBull","breedingBull","maleCalf"].includes(i2)||k2.includes("公")||k2.includes("肉牛")},{key:"calf",group:"阶段",name:"犊牛合计",color:"#8bf7ff",matcher:(i2,k2)=>["femaleCalf","maleCalf"].includes(i2)||k2.includes("犊牛")},{key:"breeding-cow",group:"阶段",name:"能繁母牛",color:"#48cfff",matcher:(i2,k2)=>["fertileCow","overageCow"].includes(i2)||k2.includes("能繁母牛")}].map(i2=>{const k2=x.filter(H2=>i2.matcher(String(H2.key||""),String(H2.name||""))).reduce((H2,u3)=>H2+Number(u3.count||0),0);return{key:i2.key,group:i2.group,name:i2.name,color:i2.color,count:k2,percent:k2/k*100}})}function Q9(x=[],k=[]){const i2=x.some(u3=>C4(u3))?x:k,k2=i2.reduce((u3,w2)=>u3+Number(w2.count||0),0)||St||1;return T7().map(u3=>{const w2=i2.filter(D3=>u3.matcher(String(D3.key||""),String(D3.name||""))),n3=w2.reduce((D3,g1)=>D3+Number(g1.count||0),0),Q2=w2.length===1?Number(w2[0].ratio):Number.NaN;return{key:u3.key,name:u3.name,color:u3.color,count:n3,percent:Number.isFinite(Q2)&&Q2>0?Q2:n3/k2*100}}).filter(u3=>u3.count>0||u3.percent>0)}function C4(x={}){const k=String(x.key||""),L=String(x.name||"");return T7().some(i2=>i2.matcher(k,L))}function _6(x=[],k=[]){const i2=x.some(u3=>X9(u3))?x:k,k2=i2.reduce((u3,w2)=>u3+Number(w2.count||0),0)||1,H2=(u3,w2,n3,Q2,D3)=>{const g1=i2.filter(a0=>Q2(String(a0.key||""),String(a0.name||""))),O1=g1.reduce((a0,st)=>a0+Number(st.count||0),0),j1=g1.length===1?Number(g1[0].ratio):Number.NaN;return{key:u3,name:w2,color:n3,count:O1,percent:Number.isFinite(j1)&&j1>0?j1:O1/k2*100,desc:D3}};return[H2("fertile-cow","适龄能繁母牛","#30dcff",(u3,w2)=>u3==="fertileCow"||w2.includes("适龄能繁母牛"),"繁殖基础"),H2("calf","犊牛合计","#8bf7ff",(u3,w2)=>["femaleCalf","maleCalf"].includes(u3)||w2.includes("犊牛"),"新生补充"),H2("overage-cow","过龄能繁母牛","#30dcff",(u3,w2)=>u3==="overageCow"||w2.includes("过龄能繁母牛"),"更新压力"),H2("breeding-bull","种公牛配比","#48cfff",(u3,w2)=>u3==="breedingBull"||w2.includes("种公牛"),"配种支撑")]}function X9(x={}){const k=String(x.key||""),L=String(x.name||"");return["fertileCow","femaleCalf","maleCalf","overageCow","breedingBull"].includes(k)||L.includes("适龄能繁母牛")||L.includes("犊牛")||L.includes("过龄能繁母牛")||L.includes("种公牛")}function mo(x=[]){const k=u3=>{var w2;return Number(((w2=x.find(n3=>n3.key===u3))==null?void 0:w2.percent)||0)},L=k("fertile-cow"),i2=k("calf"),k2=k("overage-cow"),H2=k("breeding-bull");return L>=40&&i2>=25&&H2>=2&&H2<=5&&k2<=10?{label:"结构健康",title:"繁殖基础稳定",summary:"适龄母牛足,犊牛补充稳",note:"保持适龄能繁母牛、犊牛补充与种公牛配置稳定。"}:i2<25?{label:"结构健康",title:"犊牛补充需关注",summary:"繁殖基础稳定,补充端可优化",note:"关注犊牛成活和季节性补栏,保持生产连续性。"}:H2<2?{label:"结构健康",title:"繁殖基础总体稳定",summary:"适龄母牛基础较稳",note:"结合实际配种需求,平稳优化公牛配置。"}:{label:"结构健康",title:"生产阶段较均衡",summary:"繁殖群和犊牛补充连续支撑",note:"延续结构管理,优先保障适龄母牛与犊牛质量。"}}function po(x){const k=Number((x==null?void 0:x.count)||0);return Math.max(8,Math.min(100,k/R.value*100))}function go(x={}){const k=St,L=[{key:"births",name:"新生牛犊",delta:Number(x.births||0),color:"#30dcff"},{key:"outflow",name:"出栏流出",delta:-Number(x.outflow||0),color:"#48cfff"},{key:"correction",name:"修正损耗",delta:Number(x.correction||0),color:"#8bf7ff"}];let i2=k;const k2=[{key:"current",name:"当前存栏",type:"anchor",value:k,magnitude:k,from:k,to:k,color:"#30dcff",display:`${J9(k,2)}头`}];L.forEach(w2=>{const n3=i2,Q2=i2+w2.delta;i2=Q2,k2.push(J2(L2({},w2),{name:`${w2.delta>=0?"+":"-"}${w2.name}`,type:"delta",from:n3,to:Q2,value:w2.delta,magnitude:Math.abs(w2.delta),display:`${Tn(w2.delta)}头`}))});const H2=Number(x.stock||i2);k2.push({key:"final",name:"=期末预测",type:"final",value:H2,magnitude:H2,from:H2,to:H2,color:"#48cfff",display:`${J9(H2,2)}头`});const u3=Math.max(...k2.map(w2=>Number(w2.magnitude)||0),1);return k2.map(w2=>{const n3=(Number(w2.magnitude)||0)/u3*100;return J2(L2({},w2),{left:0,width:Math.max(w2.type==="delta"?5:10,Math.min(100,n3))})})}function a6(x){const k=Number(x);return Number.isFinite(k)?`${k>=0?"+":"-"}${P0(Math.abs(k))}`:"--"}function Tn(x){const k=Number(x);return Number.isFinite(k)?`${k>=0?"+":"-"}${J9(Math.abs(k))}`:"--"}return(x,k)=>(z(),Q("div",GY,[Oe((z(),he(DY,{key:Be.value,ref_key:"mapSceneRef",ref:k0,class:"yak-map-scene","active-layer":b2.value,"map-ranking":o3.value,"tile-url-template":Me.value,"use-satellite-base":N0.value,"admin-boundary-line-scale":1.35,onLayerStatus:V9,onTileStatus:g7},null,8,["active-layer","map-ranking","tile-url-template","use-satellite-base"])),[[c5,!N.value]]),N.value?(z(),he(Z8,{key:ve.value,ref_key:"yakOlMapRef",ref:ye,class:"yak-ol-map-layer",active:a.active&&N.value,"tile-url-template":Me.value,center:U.value,"auto-apply-layer-map-view":!1,"max-zoom":21,"overlay-layer":P.value,onReady:oo,onLayerStatus:V9,onTileStatus:g7},null,8,["active","tile-url-template","center","overlay-layer"])):L3("",!0),S("div",{class:s1(["yak-map-scrim",{"is-ol-map":N.value}])},null,2),Z2.value?(z(),Q("div",UY,c2(J.value),1)):L3("",!0),S("div",OY,[$2.value==="trade"&&n0.value.length?(z(),Q("div",jY,[k[23]||(k[23]=S("span",null,"交易年份",-1)),(z(!0),Q(O3,null,X3(n0.value,L=>(z(),Q("button",{key:L,type:"button",class:s1({active:Number(L)===Number(Y2.value)}),onClick:i2=>d7(L)},c2(L),11,zY))),128))])):L3("",!0),$2.value==="epidemic"&&C1.length?(z(),Q("div",YY,[k[24]||(k[24]=S("span",null,"防疫年份",-1)),(z(),Q(O3,null,X3(C1,L=>S("button",{key:L,type:"button",class:s1({active:Number(L)===Number(y1.value)}),onClick:i2=>ro(L)},c2(L),11,$Y)),64))])):L3("",!0),$2.value==="forecast"?(z(),Q("div",WY,[k[25]||(k[25]=S("span",null,"预测年份",-1)),(z(!0),Q(O3,null,X3(k1(Vt),L=>(z(),Q("button",{key:L.key,type:"button",class:s1({active:L.key===c3.value}),onClick:i2=>e6(L.key)},c2(L.shortLabel),11,VY))),128))])):L3("",!0),S("div",HY,[S("div",KY,[$2.value==="structure"?(z(),Q(O3,{key:0},[d1(_0,{class:"yak-side-card left-card",title:"繁殖基础评估",width:k1(r),height:s.value},{default:f0(()=>[S("div",qY,[S("div",JY,[S("strong",null,c2(M2.value.title)+","+c2(M2.value.summary),1)]),S("div",QY,[(z(!0),Q(O3,null,X3(R0.value,L=>(z(),Q("div",{key:L.key,class:"breeding-health-item",style:X1({"--health-color":L.color,"--health-width":`${Math.max(5,Math.min(100,L.percent))}%`})},[S("span",null,c2(L.name),1),S("strong",null,c2(Xt(L.percent)),1),k[26]||(k[26]=S("i",null,[S("b")],-1)),S("em",null,c2(L.desc),1)],4))),128))])])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"畜群结构占比",width:k1(r),height:s.value},{default:f0(()=>[S("div",XY,[S("div",ZY,[S("div",e$,[(z(),Q("svg",t$,[S("g",n$,[(z(!0),Q(O3,null,X3(d.value,L=>(z(),Q("path",{key:L.key,class:s1(["structure-rose-segment",{"is-active":L.index===M.value}]),d:L.path,fill:L.color,stroke:L.color},null,10,a$))),128))]),k[27]||(k[27]=S("circle",{class:"structure-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),k[28]||(k[28]=S("circle",{class:"structure-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),k[29]||(k[29]=S("text",{class:"structure-rose-center",x:"75",y:"72","text-anchor":"middle"},"结构",-1)),k[30]||(k[30]=S("text",{class:"structure-rose-center is-sub",x:"75",y:"83","text-anchor":"middle"},"占比",-1))]))]),S("div",i$,[(z(!0),Q(O3,null,X3(J1.value,(L,i2)=>(z(),Q("div",{key:L.key||L.name,class:s1(["structure-ratio-row",{"is-active":i2===M.value}]),style:X1({"--row-color":L.color,"--row-percent":`${Math.max(4,L.percent)}%`})},[S("i",{style:X1({background:L.color,color:L.color})},null,4),S("span",null,[oe(c2(L.name),1),S("small",null,c2(Xt(L.percent)),1)]),S("strong",null,c2(ne(L.count)),1),k[31]||(k[31]=S("em",null,"头",-1))],6))),128))])]),A3.value?(z(),Q("div",r$,"结构数据加载中")):a1.value?(z(),Q("div",o$,c2(a1.value),1)):L3("",!0)])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"母牛/公牛年龄结构",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:e1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"牦牛乡镇分布",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:i0.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"])],64)):$2.value==="forecast"?(z(),Q(O3,{key:1},[d1(_0,{class:"yak-side-card left-card",title:"存栏变化拆解",width:k1(r),height:s.value},{default:f0(()=>[S("div",s$,[S("div",l$,[S("span",null,c2(m0.value.label)+"变化路径",1),S("strong",{class:s1({positive:N2.value>0,negative:N2.value<0})},[oe(" 净变化 "+c2(a6(N2.value)),1),k[32]||(k[32]=S("em",null,"头",-1))],2)]),S("div",u$,[(z(!0),Q(O3,null,X3(e3.value,L=>(z(),Q("div",{key:L.key,class:s1(["forecast-waterfall-row",[`is-${L.type}`,{positive:L.delta>0,negative:L.delta<0}]]),style:X1({"--waterfall-left":`${L.left}%`,"--waterfall-width":`${L.width}%`,"--waterfall-color":L.color})},[S("span",null,c2(L.name),1),k[33]||(k[33]=S("i",null,[S("b")],-1)),S("strong",null,c2(L.display),1)],6))),128))])])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"未来存栏趋势",width:k1(r),height:s.value},{default:f0(()=>[S("div",c$,[S("div",d$,[(z(),Q(O3,null,X3(Z1,L=>S("button",{key:L.key,type:"button",class:s1({active:L.key===p3.value}),onClick:i2=>p3.value=L.key},c2(L.label),11,f$)),64))]),d1(k1(Ue),{class:"yak-chart forecast-kline-chart",option:me.value,autoresize:!0},null,8,["option"])])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"月度数量预测",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:gt.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"预测因子雷达",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:it.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"])],64)):$2.value==="epidemic"?(z(),Q(O3,{key:2},[d1(_0,{class:"yak-side-card left-card",title:"防疫统计",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:b1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"养殖户防疫排行",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:p1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"防疫作业趋势",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:t1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"疫苗类型分布",width:k1(r),height:s.value},{default:f0(()=>[X.value.length?(z(),Q("div",h$,[S("div",m$,[(z(),he(Zm,{key:R2.value,data:X.value,delay:3e3,colors:A2,opacity:.62,class:"epidemic-three-pie"},{default:f0(({data:L})=>[S("div",p$,[S("strong",null,c2(ne((L==null?void 0:L.count)||B2.value)),1),S("span",null,c2((L==null?void 0:L.name)||"疫苗类型"),1)])]),_:1},8,["data"]))]),S("div",g$,[(z(!0),Q(O3,null,X3(X.value,(L,i2)=>(z(),Q("div",{key:L.key||L.name,class:"epidemic-three-pie-row"},[S("i",{style:X1({borderColor:A2[i2%A2.length]})},null,4),S("span",null,c2(L.name),1),S("strong",null,c2(ne(L.value)),1),S("em",null,c2(L.unit),1)]))),128))])])):(z(),Q("div",y$,"暂无疫苗类型数据"))]),_:1},8,["width","height"])],64)):$2.value==="trade"?(z(),Q(O3,{key:3},[d1(_0,{class:"yak-side-card left-card",title:"交易异常关注",width:k1(r),height:s.value},{default:f0(()=>[S("div",v$,[S("div",S$,[S("span",null,c2(Y2.value)+"年流通监管线索",1),S("strong",null,c2(D.value),1)]),S("div",w$,[(z(!0),Q(O3,null,X3(T.value,L=>(z(),Q("div",{key:L.key,class:s1(["trade-risk-row",`is-${L.level}`]),style:X1({"--risk-color":L.color})},[k[34]||(k[34]=S("i",null,null,-1)),S("span",null,[S("em",null,[S("b",null,c2(L.badge),1),oe(c2(L.name),1)]),S("small",null,c2(L.value)+"|"+c2(L.desc),1)])],6))),128))])])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"交易流通趋势",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:H1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"来源乡镇分布",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:A0.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card left-card",title:"用途结构统计",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:v0.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"])],64)):L3("",!0)])]),S("div",b$,[S("div",T$,[$2.value==="structure"?(z(),Q(O3,{key:0},[d1(_0,{class:"yak-side-card right-card",title:"乡镇存栏排行",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:I1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card",title:"能繁母牛与犊牛分布",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:V1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card",title:"出栏/交易影响",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:y0.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card",title:"性别与生产阶段汇总",width:k1(r),height:s.value},{default:f0(()=>[S("div",C$,[S("div",A$,[(z(!0),Q(O3,null,X3(s0.value,L=>(z(),Q("div",{key:L.key||L.name,class:"structure-summary-row",style:X1({"--structure-color":L.color,"--structure-width":`${po(L)}%`})},[S("span",null,[k[35]||(k[35]=S("i",null,null,-1)),oe(c2(L.name),1)]),k[37]||(k[37]=S("b",null,[S("em")],-1)),S("strong",null,[oe(c2(ne(L.count)),1),k[36]||(k[36]=S("em",null,"头",-1))]),S("small",null,c2(Xt(L.percent)),1)],4))),128))]),A3.value?(z(),Q("div",x$,"结构数据加载中")):a1.value?(z(),Q("div",_$,c2(a1.value),1)):L3("",!0)])]),_:1},8,["width","height"])],64)):$2.value==="forecast"?(z(),Q(O3,{key:1},[d1(_0,{class:"yak-side-card right-card",title:"乡镇预测排行",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:Sn.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card",title:"期末结构预测",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:q.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card",title:"补充/流出对比",width:k1(r),height:s.value},{default:f0(()=>[d1(k1(Ue),{class:"yak-chart",option:s2.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card",title:"预测变化热力",width:k1(r),height:s.value},{default:f0(()=>[S("div",M$,[(z(!0),Q(O3,null,X3(x2.value,L=>(z(),Q("div",{key:L.name,class:s1(["heat-row",{"is-negative":L.change<0}]),style:X1(z2(L)),title:M3(L)},[S("span",null,c2(L.name),1),k[38]||(k[38]=S("b",null,[S("i")],-1)),S("strong",null,c2(a6(L.change)),1)],14,P$))),128))])]),_:1},8,["width","height"])],64)):$2.value==="epidemic"?(z(),he(_0,{key:2,class:"yak-side-card right-card epidemic-ledger-card",title:"防疫记录台账",width:k1(r),height:u.value},{default:f0(()=>[S("div",k$,[S("div",E$,[S("span",null,c2(y1.value)+"年 共 "+c2(P0(o0.value))+" 条",1),S("div",null,[Oe(S("input",{"onUpdate:modelValue":k[0]||(k[0]=L=>Q1.value=L),type:"search",placeholder:"耳标/养殖户/疫苗",onKeyup:Wt(Et,["enter"])},null,544),[[f5,Q1.value]]),S("button",{type:"button",onClick:Et},"搜索"),S("button",{type:"button",class:"is-more",onClick:k[1]||(k[1]=L=>Gt())},"查看更多")])]),k[39]||(k[39]=S("div",{class:"epidemic-record-header"},[S("span",null,"电子耳标"),S("span",null,"养殖户"),S("span",null,"镇/乡"),S("span",null,"疫苗"),S("span",null,"时间")],-1)),S("div",N$,[(z(!0),Q(O3,null,X3(g0.value,L=>(z(),Q("button",{key:L.epidemicId||L.earTag,type:"button",onClick:i2=>Gt(L)},[S("span",null,c2(Z0(L.earTag)),1),S("span",null,c2(Z0(L.owner)),1),S("span",null,c2(Z0(L.town)),1),S("strong",null,c2(Z0(L.medicine)),1),S("span",null,c2(T6(L.operateTime)),1)],8,R$))),128)),t0.value.length?L3("",!0):(z(),Q("div",L$,c2(F3.value?"防疫台账读取中":U3.value||"暂无防疫记录"),1))]),S("div",I$,[S("span",null,"第 "+c2(G1.value)+" / "+c2(Y1.value)+" 页",1),S("button",{type:"button",disabled:G1.value<=1,onClick:k[2]||(k[2]=L=>h7(G1.value-1))},"上一页",8,F$),S("button",{type:"button",disabled:G1.value>=Y1.value,onClick:k[3]||(k[3]=L=>h7(G1.value+1))},"下一页",8,B$)])])]),_:1},8,["width","height"])):$2.value==="trade"?(z(),Q(O3,{key:3},[d1(_0,{class:"yak-side-card right-card",title:"出证结构统计",width:k1(r),height:s.value},{default:f0(()=>[S("div",D$,[S("div",G$,[S("span",null,[k[41]||(k[41]=S("em",null,"省外流通 A证",-1)),S("strong",null,[oe(c2(P0(wt("outProvinceHeads","aCertHeads"))),1),k[40]||(k[40]=S("b",null,"头",-1))]),S("small",null,c2(P0(wt("outProvinceCount","aCertCount")))+"条记录",1)]),S("span",null,[k[43]||(k[43]=S("em",null,"省内流通 B证",-1)),S("strong",null,[oe(c2(P0(wt("inProvinceHeads","bCertHeads"))),1),k[42]||(k[42]=S("b",null,"头",-1))]),S("small",null,c2(P0(wt("inProvinceCount","bCertCount")))+"条记录",1)])]),d1(k1(Ue),{class:"trade-cert-chart",option:K1.value,autoresize:!0},null,8,["option"])])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card trade-source-card",title:"出栏来源排行",width:k1(r),height:m.value},{default:f0(()=>[S("div",U$,[(z(!0),Q(O3,null,X3(ie.value,(L,i2)=>(z(),Q("div",{key:L.name,class:"trade-dest-row",style:X1({"--trade-ratio":`${L.ratio}%`})},[S("span",null,c2(i2+1),1),S("strong",null,c2(L.name),1),S("em",null,c2(ne(L.headCount))+"头",1)],4))),128)),ie.value.length?L3("",!0):(z(),Q("div",O$,c2(s3.value?"交易数据读取中":G3.value||"暂无出栏来源数据"),1))])]),_:1},8,["width","height"]),d1(_0,{class:"yak-side-card right-card trade-ledger-card",title:"交易出证台账",width:k1(r),height:h.value},{default:f0(()=>[S("div",j$,[S("div",z$,[S("span",null,"共 "+c2(P0(O2.value))+" 条",1),S("div",null,[Oe(S("input",{"onUpdate:modelValue":k[4]||(k[4]=L=>N1.value=L),type:"search",placeholder:"货主/车辆/检疫号/地区",onKeyup:Wt(ot,["enter"])},null,544),[[f5,N1.value]]),S("button",{type:"button",onClick:ot},"搜索"),S("button",{type:"button",class:"is-more",onClick:k[5]||(k[5]=L=>C6())},"查看更多")])]),k[44]||(k[44]=S("div",{class:"trade-ledger-header"},[S("span",null,"货主"),S("span",null,"车牌"),S("span",null,"数量"),S("span",null,"来源"),S("span",null,"用途"),S("span",null,"时间")],-1)),S("div",Y$,[(z(!0),Q(O3,null,X3(M1.value,L=>(z(),Q("button",{key:L.certId,type:"button",onClick:i2=>C6(L)},[S("span",null,c2(Z0(L.ownerName)),1),S("span",null,c2(Z0(L.transportNumber)),1),S("strong",null,c2(P0(L.amount))+"头",1),S("span",null,c2(Z0(L.startTown)),1),S("span",null,c2(Z0(L.usageTypeName)),1),S("span",null,c2(T6(L.issueTime)),1)],8,$$))),128)),M1.value.length?L3("",!0):(z(),Q("div",W$,c2(s3.value?"交易台账读取中":G3.value||"暂无交易记录"),1))]),S("div",V$,[S("span",null,"第 "+c2(i1.value)+" / "+c2(B.value)+" 页",1),S("button",{type:"button",disabled:i1.value<=1,onClick:k[6]||(k[6]=L=>$9(i1.value-1))},"上一页",8,H$),S("button",{type:"button",disabled:i1.value>=B.value,onClick:k[7]||(k[7]=L=>$9(i1.value+1))},"下一页",8,K$)])])]),_:1},8,["width","height"])],64)):L3("",!0)])]),S("div",q$,[d1(Ua,{"model-value":$2.value,topics:K2,"onUpdate:modelValue":k[8]||(k[8]=L=>$2.value=L)},null,8,["model-value"])])]),a3.value?(z(),Q("div",{key:2,class:"epidemic-ledger-modal",onClick:$0(m7,["self"])},[S("div",J$,[S("div",Q$,[S("div",null,[k[45]||(k[45]=S("span",null,"牦牛防疫台账",-1)),S("strong",null,c2(y1.value)+"年 "+c2(P0(N3.value))+" 条记录",1)]),S("button",{type:"button",onClick:m7},"关闭")]),S("div",X$,[Oe(S("input",{"onUpdate:modelValue":k[9]||(k[9]=L=>H3.value.keyword=L),type:"search",placeholder:"耳标 / 养殖户 / 药品","aria-label":"耳标 / 养殖户 / 药品",onKeyup:Wt(w4,["enter"])},null,544),[[f5,H3.value.keyword]]),Oe(S("select",{"onUpdate:modelValue":k[10]||(k[10]=L=>H3.value.town=L)},[k[46]||(k[46]=S("option",{value:""},"全部镇/乡",-1)),(z(!0),Q(O3,null,X3(h1.value,L=>(z(),Q("option",{key:L,value:L},c2(L),9,Z$))),128))],512),[[G4,H3.value.town]]),Oe(S("select",{"onUpdate:modelValue":k[11]||(k[11]=L=>H3.value.medicine=L)},[k[47]||(k[47]=S("option",{value:""},"全部疫苗",-1)),(z(!0),Q(O3,null,X3(L1.value,L=>(z(),Q("option",{key:L,value:L},c2(L),9,eW))),128))],512),[[G4,H3.value.medicine]]),Oe(S("input",{"onUpdate:modelValue":k[12]||(k[12]=L=>H3.value.startDate=L),type:"date"},null,512),[[f5,H3.value.startDate]]),Oe(S("input",{"onUpdate:modelValue":k[13]||(k[13]=L=>H3.value.endDate=L),type:"date"},null,512),[[f5,H3.value.endDate]]),S("button",{type:"button",onClick:w4},"检索"),S("button",{type:"button",class:"is-ghost",onClick:A6},"重置")]),S("div",tW,[S("div",nW,[k[48]||(k[48]=S("div",{class:"epidemic-ledger-table-head"},[S("span",null,"电子耳标"),S("span",null,"养殖户"),S("span",null,"镇/乡"),S("span",null,"村"),S("span",null,"疫苗"),S("span",null,"免疫时间"),S("span",null,"图片")],-1)),(z(!0),Q(O3,null,X3(F2.value,L=>{var i2,k2;return z(),Q("button",{key:L.epidemicId||L.earTag,type:"button",class:s1({active:(((i2=U1.value)==null?void 0:i2.epidemicId)||((k2=U1.value)==null?void 0:k2.earTag))===(L.epidemicId||L.earTag)}),onClick:H2=>Te(L)},[S("span",null,c2(Z0(L.earTag)),1),S("span",null,c2(Z0(L.owner)),1),S("span",null,c2(Z0(L.town)),1),S("span",null,c2(Z0(L.village)),1),S("strong",null,c2(Z0(L.medicine)),1),S("span",null,c2(T6(L.operateTime)),1),S("span",null,c2(d4(L).length?`${d4(L).length}张`:"无"),1)],10,aW)}),128)),F2.value.length?L3("",!0):(z(),Q("div",iW,c2(o1.value?"台账读取中":w1.value||"暂无匹配记录"),1))]),S("div",rW,[S("div",oW,[S("div",null,[S("span",null,c2(Z0(f3.value.earTag)),1),S("em",null,c2(Z0(f3.value.medicine||f3.value.preventionType)),1)]),S("strong",null,c2(v3.value?"加载中":T6(f3.value.operateTime)),1)]),S("div",sW,[(z(!0),Q(O3,null,X3(V3.value,L=>(z(),Q("span",{key:L.label,class:s1({"is-wide":L.wide})},[S("em",null,c2(L.label),1),S("strong",null,c2(L.value),1)],2))),128))]),g3.value.length?(z(),Q("div",lW,[k[49]||(k[49]=S("div",{class:"epidemic-detail-photo-title"},"现场照片",-1)),S("div",uW,[(z(!0),Q(O3,null,X3(g3.value.slice(0,6),L=>(z(),Q("button",{key:L,type:"button",class:"epidemic-modal-photo-thumb",onClick:$0(i2=>f4(L),["stop"])},[S("img",{src:l7(L),alt:"防疫照片"},null,8,dW)],8,cW))),128))])])):L3("",!0)])]),S("div",fW,[S("span",null,"第 "+c2(_3.value)+" / "+c2(E2.value)+" 页",1),S("button",{type:"button",disabled:_3.value<=1,onClick:k[14]||(k[14]=L=>s9(_3.value-1))},"上一页",8,hW),S("button",{type:"button",disabled:_3.value>=E2.value,onClick:k[15]||(k[15]=L=>s9(_3.value+1))},"下一页",8,mW)])])])):L3("",!0),Y3.value?(z(),Q("div",{key:3,class:"epidemic-ledger-modal trade-ledger-modal",onClick:$0(p4,["self"])},[S("div",pW,[S("div",gW,[S("div",null,[k[50]||(k[50]=S("span",null,"牦牛交易出证台账",-1)),S("strong",null,c2(Y2.value)+"年 "+c2(P0(K3.value))+" 条记录",1)]),S("button",{type:"button",onClick:p4},"关闭")]),S("div",yW,[Oe(S("input",{"onUpdate:modelValue":k[16]||(k[16]=L=>D0.value.keyword=L),type:"search",placeholder:"货主 / 车辆 / 检疫号 / 地区",onKeyup:Wt(W9,["enter"])},null,544),[[f5,D0.value.keyword]]),Oe(S("select",{"onUpdate:modelValue":k[17]||(k[17]=L=>D0.value.startTown=L)},[k[51]||(k[51]=S("option",{value:""},"全部来源乡镇",-1)),(z(!0),Q(O3,null,X3($3.value,L=>(z(),Q("option",{key:L,value:L},c2(L),9,vW))),128))],512),[[G4,D0.value.startTown]]),Oe(S("select",{"onUpdate:modelValue":k[18]||(k[18]=L=>D0.value.usageType=L)},[k[52]||(k[52]=S("option",{value:""},"全部用途",-1)),(z(!0),Q(O3,null,X3(R3.value,L=>(z(),Q("option",{key:L,value:L},c2(L),9,SW))),128))],512),[[G4,D0.value.usageType]]),Oe(S("select",{"onUpdate:modelValue":k[19]||(k[19]=L=>D0.value.certType=L)},[k[53]||(k[53]=S("option",{value:""},"全部证书",-1)),(z(!0),Q(O3,null,X3(C.value,L=>(z(),Q("option",{key:L.value,value:L.value},c2(L.label),9,wW))),128))],512),[[G4,D0.value.certType]]),S("button",{type:"button",onClick:W9},"检索"),S("button",{type:"button",class:"is-ghost",onClick:Qt},"重置")]),S("div",bW,[S("div",TW,[k[54]||(k[54]=S("div",{class:"trade-ledger-modal-table-head"},[S("span",null,"货主"),S("span",null,"证书"),S("span",null,"车牌号"),S("span",null,"数量"),S("span",null,"来源"),S("span",null,"用途"),S("span",null,"出证时间"),S("span",null,"状态")],-1)),(z(!0),Q(O3,null,X3(r1.value,L=>(z(),Q("button",{key:L.certId||L.factoryCode,type:"button",class:s1({active:J3.value===(L.certId||L.factoryCode)}),onClick:i2=>y4(L)},[S("span",null,c2(Z0(L.ownerName)),1),S("span",null,c2(Z0(L.certType||L.certScopeName)),1),S("span",null,c2(Z0(L.transportNumber)),1),S("strong",null,c2(P0(L.amount))+"头",1),S("span",null,c2(Z0(L.startTown)),1),S("span",null,c2(Z0(L.usageTypeName)),1),S("span",null,c2(T6(L.issueTime)),1),S("span",null,c2(Z0(L.statusName)),1)],10,CW))),128)),r1.value.length?L3("",!0):(z(),Q("div",AW,c2(W1.value?"交易台账读取中":T0.value||"暂无匹配记录"),1))]),S("div",xW,[S("div",_W,[S("div",null,[S("span",null,c2(Z0(G2.value.factoryCode||G2.value.certId)),1),S("em",null,c2(u7(G2.value)),1)]),S("strong",null,c2(T6(G2.value.issueTime)),1)]),S("div",MW,[S("span",PW,[k[55]||(k[55]=S("em",null,"货主",-1)),S("strong",null,c2(Z0(G2.value.ownerName)),1)]),S("span",null,[k[56]||(k[56]=S("em",null,"联系方式",-1)),S("strong",null,c2(Se(G2.value.ownerPhone)),1)]),S("span",null,[k[57]||(k[57]=S("em",null,"证书类型",-1)),S("strong",null,c2(u7(G2.value)),1)]),S("span",null,[k[58]||(k[58]=S("em",null,"车牌号",-1)),S("strong",null,c2(Z0(G2.value.transportNumber)),1)]),S("span",null,[k[59]||(k[59]=S("em",null,"牦牛数量",-1)),S("strong",null,c2(P0(G2.value.amount))+"头",1)]),S("span",null,[k[60]||(k[60]=S("em",null,"用途",-1)),S("strong",null,c2(Z0(G2.value.usageTypeName)),1)]),S("span",null,[k[61]||(k[61]=S("em",null,"来源乡镇",-1)),S("strong",null,c2(Z0(G2.value.startTown)),1)]),S("span",null,[k[62]||(k[62]=S("em",null,"目的省份",-1)),S("strong",null,c2(Z0(G2.value.destProvince)),1)]),S("span",null,[k[63]||(k[63]=S("em",null,"检疫员",-1)),S("strong",null,c2(Z0(G2.value.quarantineOfficerName)),1)]),S("span",kW,[k[64]||(k[64]=S("em",null,"状态",-1)),S("strong",null,c2(Z0(G2.value.statusName)),1)]),S("span",EW,[k[65]||(k[65]=S("em",null,"来源地区",-1)),S("strong",null,c2(Z0(G2.value.startRegionFullName)),1)]),S("span",NW,[k[66]||(k[66]=S("em",null,"目的地",-1)),S("strong",null,c2(Z0(G2.value.destRegionFullName)),1)])]),S("button",{type:"button",class:"trade-detail-locate",disabled:!G2.value.startTown,onClick:k[20]||(k[20]=L=>f7(G2.value))}," 查看乡镇位置 ",8,RW)])]),S("div",LW,[S("span",null,"第 "+c2(f1.value)+" / "+c2(f2.value)+" 页",1),S("button",{type:"button",disabled:f1.value<=1,onClick:k[21]||(k[21]=L=>g4(f1.value-1))},"上一页",8,IW),S("button",{type:"button",disabled:f1.value>=f2.value,onClick:k[22]||(k[22]=L=>g4(f1.value+1))},"下一页",8,FW)])])])):L3("",!0),w3.value?(z(),Q("div",{key:4,class:"epidemic-image-preview-modal",onClick:$0(h4,["self"])},[S("div",BW,[S("div",DW,[S("div",null,[k[67]||(k[67]=S("span",null,"防疫照片",-1)),S("strong",null,c2(Z0(f3.value.earTag)),1)]),S("button",{type:"button",onClick:h4},"关闭")]),S("div",GW,[S("div",UW,[S("img",{src:P3.value,alt:"防疫照片预览"},null,8,OW)])])])])):L3("",!0)]))}},HW=(t,e=2)=>{const n=s5(10,e);return Math.round((Number(t)||0)*n)/n},jl=t=>HW((Number(t)||0)/1e4,2),_9=9110,KW=(t,e,n="number")=>{const a=t.reduce((o,s)=>o+(Number(s[n])||0),0);if(!a||!e)return t.map(o=>J2(L2({},o),{[n]:0}));const i=t.map(o=>J2(L2({},o),{[n]:Math.round((Number(o[n])||0)/a*e)})),r=e-i.reduce((o,s)=>o+(Number(s[n])||0),0);if(r&&i.length){const o=i.reduce((s,u,m)=>{var h;return Number(u[n])>Number(((h=i[s])==null?void 0:h[n])||0)?m:s},0);i[o][n]+=r}return i},qW=KW([{areaCode:"513233100",areaName:"邛溪镇",number:1452,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",number:1500,year:2024},{areaCode:"513233103",areaName:"安曲镇",number:76,year:2024},{areaCode:"513233105",areaName:"龙日镇",number:828,year:2024},{areaCode:"513233202",areaName:"江茸乡",number:902,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",number:450,year:2024},{areaCode:"513233204",areaName:"瓦切镇",number:602,year:2024},{areaCode:"513233205",areaName:"阿木乡",number:300,year:2024},{areaCode:"513233207",areaName:"麦洼乡",number:1204,year:2024},{areaCode:"513233208",areaName:"色地镇",number:2638,year:2024}],_9),qg=[{key:"pasture-total",name:"牧户数量",value:_9,unit:"户",icon:"town"},{key:"avg-yak-per-household",name:"户均牦牛头数",value:52,unit:"头",icon:"stack"},{key:"avg-grassland-area",name:"户均草地面积",value:1131,unit:"亩",icon:"area"},{key:"joint-household-count",name:"联户数量",value:237,unit:"户",icon:"town"},{key:"poverty-monitor-count",name:"防反贫监测户",value:122,unit:"户",icon:"town"},{key:"average-income",name:"人均收入",value:19679,unit:"元/年",icon:"rate"}],Gu=qg,zl=qg.map(t=>J2(L2({},t),{zh:t.name,decimals:0})),G8=qW.map(t=>J2(L2({},t),{key:t.areaCode,name:t.areaName,value:t.number,unit:"户"})),Uu=[{areaCode:"513233105",areaName:"龙日镇",uplineRate:4,year:2024},{areaCode:"513233207",areaName:"麦洼乡",uplineRate:52,year:2024},{areaCode:"513233103",areaName:"安曲镇",uplineRate:22,year:2024},{areaCode:"513233100",areaName:"邛溪镇",uplineRate:23,year:2024},{areaCode:"513233208",areaName:"色地镇",uplineRate:8,year:2024},{areaCode:"513233205",areaName:"阿木乡",uplineRate:12,year:2024},{areaCode:"513233202",areaName:"江茸乡",uplineRate:14,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",uplineRate:18,year:2024},{areaCode:"513233204",areaName:"瓦切镇",uplineRate:16,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",uplineRate:9,year:2024}].map(t=>J2(L2({},t),{key:t.areaCode,name:t.areaName,value:t.uplineRate,unit:"%",extra:`${t.uplineRate}%`})),Ou=[{areaName:"全县",ageRange:"0-20",sex:"男",number:311,value:311,year:2024},{areaName:"全县",ageRange:"0-20",sex:"女",number:319,value:319,year:2024},{areaName:"全县",ageRange:"21-40",sex:"男",number:1556,value:1556,year:2024},{areaName:"全县",ageRange:"21-40",sex:"女",number:1868,value:1868,year:2024},{areaName:"全县",ageRange:"41-60",sex:"男",number:1868,value:1868,year:2024},{areaName:"全县",ageRange:"41-60",sex:"女",number:1925,value:1925,year:2024},{areaName:"全县",ageRange:"61-80",sex:"男",number:622,value:622,year:2024},{areaName:"全县",ageRange:"61-80",sex:"女",number:531,value:531,year:2024},{areaName:"全县",ageRange:"81-100",sex:"男",number:55,value:55,year:2024},{areaName:"全县",ageRange:"81-100",sex:"女",number:55,value:55,year:2024}],Jg=(t,e,n,a)=>Array.from(t.reduce((i,r)=>{const o=r[e]||"未标注",s=i.get(o)||{key:o,name:o,value:0,unit:a};return s.value+=Number(r[n])||0,i.set(o,s),i},new Map).values()),Qg=Jg(Ou,"ageRange","value","人"),ju=Jg(Ou,"sex","value","人"),U8=[{name:"更洼尔",areaName:"瓦切镇",acreage:4704.87,summerAcreage:2267.26,winterAcreage:2437.61,year:2024},{name:"涉尔丹",areaName:"麦洼乡",acreage:1426.53,summerAcreage:687.82,winterAcreage:738.71,year:2024},{name:"热布丹",areaName:"查尔玛乡",acreage:2176.09,summerAcreage:1049.37,winterAcreage:1126.72,year:2024},{name:"王西卓玛",areaName:"阿木乡",acreage:4126.13,summerAcreage:1989.59,winterAcreage:2136.54,year:2024},{name:"阿尔",areaName:"色地镇",acreage:1249.48,summerAcreage:602.25,winterAcreage:647.23,year:2024},{name:"尕让吉",areaName:"邛溪镇",acreage:3688.72,summerAcreage:1778.56,winterAcreage:1910.16,year:2024},{name:"华尔甲",areaName:"安曲镇",acreage:2956.44,summerAcreage:1425.01,winterAcreage:1531.43,year:2024},{name:"泽让措",areaName:"江茸乡",acreage:3448.36,summerAcreage:1662.61,winterAcreage:1785.75,year:2024},{name:"扎西让布",areaName:"龙日镇",acreage:2689.1,summerAcreage:1296.15,winterAcreage:1392.95,year:2024},{name:"格桑卓玛",areaName:"刷经寺镇",acreage:3187.64,summerAcreage:1536.84,winterAcreage:1650.8,year:2024}].map(t=>J2(L2({},t),{township:t.areaName,grasslandArea:t.acreage,value:t.acreage,unit:"亩",canLocate:!1,locateText:"--",searchText:`${t.name} ${t.areaName}`})),JW=Oa.map(t=>({key:t.zoneName,name:t.zoneName,value:jl(t.grasslandArea),unit:"万亩",extra:"草场资源"}));Array.from(U8.reduce((t,e)=>{const n=e.township||"未填写",a=t.get(n)||{key:`${n}-season`,name:n,values:{summer:0,winter:0}};return a.values.summer+=Number(e.summerAcreage)||0,a.values.winter+=Number(e.winterAcreage)||0,t.set(n,a),t},new Map).values()).map(t=>J2(L2({},t),{values:{summer:jl(t.values.summer),winter:jl(t.values.winter)},unit:"万亩"}));const QW=G8.map(t=>({name:t.name,value:t.value,unit:"户"})),Xs={topStats:zl,coreRows:Gu,townRows:G8,ageRows:Ou,genderRows:ju,onlineRows:Uu,list:U8};const XW={class:"pasture-management"},ZW={key:0,class:"pasture-map-loading"},eV={class:"pasture-management-ui"},tV={class:"pasture-left"},nV={class:"pasture-side-stack is-left"},aV={class:"pasture-video-monitor"},iV=["disabled"],rV=["onClick"],oV={key:1,class:"pasture-video-play"},sV={key:2,class:"pasture-video-loading"},lV={key:3,class:"pasture-video-error"},uV={class:"pasture-video-point-name"},cV=["disabled"],dV={class:"pasture-right"},fV={class:"pasture-side-stack is-right"},hV={class:"pasture-map-layer-tools"},Zs="pasture-grassland-boundary",xm="pasture-yak-marks-layer",mV=12e3,pV="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",J4="#FFE35A",gV={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=fn.sideCardWidth;fn.sideCardGap;const o=t3(typeof window=="undefined"?1080:window.innerHeight),s=l2(()=>X8(o.value)),u=l2(()=>R9(s.value,2)),m=t3(null),h=t3(!1),p=t3(0);let g=0;const b=t3(null),F=t3(!1),H=t3(!1),K=t3(null),e2=t3(Xs),p2=t3(U8),v2=t3([Zs,xm]),A2=t3(""),_2=["牧户数量","户均牦牛头数","户均草地面积","联户数量"],q2=["#30dcff","#24f6c4","#8bf7ff","#48cfff","#16b6e8","#b9fbff","#67ffe4"],K2=`pasture-video-player-${Math.random().toString(36).slice(2)}`,$2=new Set(["code","msg","message","success","data","result","dycolumn","geom","wkt","geometry","the_geom","raw_properties","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"]),c3=[102.58,32.72],p3=d2("ne:t_pasture_grassland",J4),y3={key:xm,sourceType:"wmts",layerName:"ne:daping_yak_marks",style:"ne:yak_marks",styles:"ne:yak_marks",format:"image/png",tileMatrixSetID:"EPSG:900913",maximumLevel:21,url:"/geoserver/gwc/service/wmts",name:"牦牛识别标记",color:"#FFCB45",fillColor:"rgba(255, 203, 69, 0)",strokeColor:"#FFCB45",glowColor:"rgba(255, 203, 69, 0.28)",opacity:.96,lineWidth:1.4,zIndex:46,legends:[{key:"pasture-yak-marks",name:"牦牛识别",fillColor:"#FFCB45",strokeColor:"#FFF4B8",selectable:!1}]},z3={key:"pasture-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"牧场监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:cr,playUrl:"",hdPlayUrl:"",token:""},S3=t3(null),I3=t3([]),A3=t3(0),a1=t3(!1),C1=t3(!1),y1=t3("");let S1=!1,l1=0,E1=null,t0=null,o0=!1,G1=0,Q1=null,d3=0;const F3={"4028abc18eecd2af018eecdc44b7086b":"瓦切镇","402881828b486d54018b48741f590270":"查尔玛乡","402881828b486d54018b48740ed7024a":"麦洼乡","402881828b486d54018b48732e1c0044":"安曲镇","4028abc18eec9b97018eeca1538900db":"瓦切镇","402881828b486d54018b48740fb1024c":"安曲镇"},U3={尼尕尔让:"瓦切镇",更迫尕:"查尔玛乡",王西卓玛:"麦洼乡",扎花克周:"安曲镇",恰波:"瓦切镇",热布丹:"安曲镇",求甲:"阿木乡",罗尔旦:"阿木乡",扎尔江:"阿木乡",达尔基:"阿木乡",尼科:"瓦切镇",班洛:"阿木乡",拉木共:"阿木乡",尕尔玛:"瓦切镇",尕尔丹:"安曲镇",泽旺甲:"瓦切镇",阿尕:"安曲镇",陈理:"瓦切镇",贡秋卓玛:"阿木乡",更多:"瓦切镇",阿泽:"瓦切镇",达勒错:"色地镇",泽朗罗日:"安曲镇",仁青:"瓦切镇",贡多:"阿木乡",泽周:"刷经寺镇",泽科:"瓦切镇",扎巴:"阿木乡",泽真:"瓦切镇",索拉姐:"瓦切镇",尕让罗周:"瓦切镇",尕让拉姆:"瓦切镇",更让尼玛:"阿木乡",向秋卓玛:"瓦切镇",东科:"阿木乡",扑瓦甲:"阿木乡"},a3=Y(h_),F2=l2(()=>[{key:Zs,sourceType:"wms",renderMode:"tile",layerName:"ne:t_pasture_grassland",name:"草场边界",styles:"",cqlFilter:"gov_show = true",sldBody:p3,color:J4,fillColor:"rgba(255, 227, 90, 0.08)",strokeColor:J4,glowColor:"rgba(255, 227, 90, 0.28)",zIndex:35,opacity:.86,queryBuffer:8,mapView:{targetLngLat:c3,distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"pasture-grassland-boundary",name:"草场边界",fillColor:J4,strokeColor:J4,selectable:!1}]},y3]),N3=l2(()=>Array.isArray(v2.value)?v2.value.map(String).filter(Boolean):v2.value?[String(v2.value)]:[]),_3=l2(()=>{const P=new Set(N3.value);return F2.value.filter(N=>P.has(N.key))}),o1=l2(()=>_3.value[0]||null),w1=l2(()=>_3.value.flatMap(P=>P.legends||[]).find(P=>P.key===A2.value)||null),U1=l2(()=>_3.value.flatMap(P=>P.legends||[]));function O(P){var U;return P?!(P.legends||[]).some(b2=>{var o3;return b2.key===((o3=w1.value)==null?void 0:o3.key)})||!((U=w1.value)!=null&&U.cqlFilter)?P:J2(L2({},P),{cqlFilter:w1.value.cqlFilter,activeLegend:w1.value,name:w1.value.name||P.name}):null}const v3=l2(()=>_3.value.map(O).filter(Boolean)),w3=l2(()=>v3.value[0]||null),P3=l2(()=>!!K.value),H3=l2(()=>{if(H.value||F.value||!b.value)return 186;const P=d(b.value);return Math.min(500,Math.max(320,86+Math.min(P,13)*34))}),j3=l2(()=>{if(!K.value)return{};const P=460,N=H3.value,U=24,b2=M(K.value),o3=104,Z2=36,J=Math.min(Math.max(b2.x-P/2,U),1920-P-U),X2=Math.min(Math.max(b2.y-N-Z2,o3),1080-N-U);return{left:`${J}px`,top:`${X2}px`,right:"auto",bottom:"auto"}}),q3=l2(()=>Z(e2.value.core).length?Z(e2.value.core):Gu),e0=l2(()=>D0(V2(e2.value.distribution).length?V2(e2.value.distribution):G8,_9)),O2=l2(()=>{const P=l3(e2.value.online);return x3(P.length?P:Uu)}),Y2=l2(()=>D0(T3(e2.value.age).length?T3(e2.value.age):Qg,_9)),s3=l2(()=>D0(m1(e2.value.age).length?m1(e2.value.age):ju,_9)),G3=l2(()=>E3(JW));l2(()=>({title:"牧户分布排行",metricLabel:"牧户",unit:"户",hideMapLabels:!1,hideTownNames:!1,showBars:!1,showPointMarkers:!1,showMissingTownStats:!1,rows:(e0.value.length?e0.value:QW).map(P=>{const N=Number(P.value);return!P.name||!Number.isFinite(N)||N<=0?null:{name:P.name,value:N,unit:P.unit||"户"}}).filter(Boolean)})),l2(()=>({key:"pasture-town",type:"bar",variant:"distribution",rows:e0.value})),l2(()=>({key:"pasture-grassland-area",type:"heat",rows:G3.value}));const i1=l2(()=>({key:"pasture-household-column",type:"column",variant:"plain",scrollable:!1,rows:O0(e0.value).slice(0,10).map((P,N)=>J2(L2({},P),{unit:P.unit||"户",color:q2[N%q2.length]}))})),N1=l2(()=>({key:"pasture-grassland-column",type:"bar",variant:"raceBar",rows:G3.value.map((P,N)=>J2(L2({},P),{unit:P.unit||"万亩",color:q2[(N+1)%q2.length]}))})),q1=l2(()=>({key:"pasture-online",type:"line",rows:O2.value})),Y3=l2(()=>({key:"pasture-age",type:"column",variant:"plain",lineOverlay:!0,labelMode:"horizontal",scrollable:!1,rows:Y2.value})),r1=l2(()=>({key:"pasture-gender",type:"donut",rows:s3.value})),K3=l2(()=>({key:"pasture-herdsman-list",type:"projectTable",searchPlaceholder:"搜索牧户 / 乡镇",emptyText:"无匹配牧户",maxRows:300,searchKeys:["name","herdsmanName","herdsman_name","phone","phonenumber","idCard","id_card","township","id","grasslandArea","searchText"],columns:[{key:"name",label:"牧户名称",field:"name",width:"42%"},{key:"township",label:"区域",field:"township",width:"36%"},{key:"locate",label:"定位",field:"locateText",width:"22%",align:"center",fallback:"定位",icon:"locate",action:"locate"}],rows:p2.value})),f1=l2(()=>{const P=I3.value.length;return P?A3.value%P:0}),W1=l2(()=>I3.value[f1.value]||z3),T0=l2(()=>Le(I3.value,f1.value,z3));function O0(P=[]){return(Array.isArray(P)?P:[]).map((N,U)=>{var b2,o3,Z2;return J2(L2({},N),{key:N.key||N.code||N.name||`${U}`,name:N.name||N.areaName||N.area_name||N.townName||"未标注",value:Number((Z2=(o3=(b2=N.value)!=null?b2:N.number)!=null?o3:N.count)!=null?Z2:N.num)||0,unit:N.unit||""})}).filter(N=>N.name&&Number.isFinite(N.value)&&N.value>=0)}function D0(P=[],N=_9){const U=Array.isArray(P)?P:[],b2=U.reduce((J,X2)=>J+(Number(X2.value)||0),0);if(!U.length||!b2||!N||b2===N)return U;const o3=U.map(J=>J2(L2({},J),{value:Math.round((Number(J.value)||0)/b2*N)})),Z2=N-o3.reduce((J,X2)=>J+(Number(X2.value)||0),0);if(Z2&&o3.length){const J=o3.reduce((X2,e1,i0)=>{var I1;return Number(e1.value)>Number(((I1=o3[X2])==null?void 0:I1.value)||0)?i0:X2},0);o3[J].value+=Z2}return o3}function k0(){o.value=typeof window=="undefined"?1080:window.innerHeight}Ln(()=>{k0(),window.addEventListener("resize",k0),A(),R0(),te(),ye()}),Rn(()=>{S1=!0,window.removeEventListener("resize",k0),m3(),E1&&window.clearTimeout(E1),l1+=1}),V0(()=>a.active,P=>{var N,U;P||m3({resetError:!0}),m.value&&(P?(R2(),(U=(N=m.value).refreshView)==null||U.call(N)):(E1&&window.clearTimeout(E1),E1=null,l1+=1))});function ye(){return k3(this,null,function*(){try{const P=yield xp();if(S1)return;I3.value=P,A3.value=0,y1.value=P.length?"":"暂无在线可播放摄像头"}catch(P){if(S1)return;I3.value=[],y1.value="监控接口暂不可用",window.setTimeout(()=>{!S1&&y1.value==="监控接口暂不可用"&&(y1.value="")},2400)}})}function Q0(P,N){N!=null&&N.isActive&&(S3.value=P||null)}function Le(P=[],N=0,U=z3){const b2=Array.isArray(P)?P:[];if(!b2.length)return[{key:`empty-${U.key||"video"}`,index:0,live:U,isActive:!0}];const o3=(N+b2.length)%b2.length,Z2=b2[o3]||U;return[{key:`${Z2.key||Z2.title||"video"}-${o3}`,index:o3,live:Z2,isActive:!0}]}function M0(P,N=!0){const U=(P==null?void 0:P.image)||cr;return a1.value&&N?void 0:{backgroundImage:`url(${U})`}}function ve(){R1(-1)}function se(){R1(1)}function R1(P){const N=I3.value.length;N&&(m3({resetError:!0}),A3.value=(f1.value+P+N)%N)}function C3(P){const N=I3.value.length;if(!N){m2();return}const U=((Number(P)||0)+N)%N;(U!==f1.value||t0||C1.value)&&m3({resetError:!0}),A3.value=U,q0(m2)}function m2(){return k3(this,null,function*(){var b2,o3;const P=W1.value;if(!(P!=null&&P.hdPlayUrl)||!(P!=null&&P.token)){y1.value="暂无在线可播放摄像头";return}if(a1.value||C1.value)return;t0&&m3({resetError:!0}),y1.value="",C1.value=!0,yield q0();const N=++G1;let U=null;W3(N);try{const Z2=(o3=(b2=S3.value)==null?void 0:b2.getBoundingClientRect)==null?void 0:o3.call(b2),J=Math.max(300,Math.floor((Z2==null?void 0:Z2.width)||340)),X2=Math.max(80,Math.floor((Z2==null?void 0:Z2.height)||120));if(U=new np.EZUIKitPlayer({id:K2,accessToken:P.token,url:P.hdPlayUrl,audio:0,width:J,height:X2,themeData:m0(),handleError(e1){N===G1&&(Q3(),console.warn("Pasture EZUIKit player error",e1),y1.value="视频加载失败",C1.value=!1,a1.value=!1,G1+=1,t0=null,o0=!1,Z1())},handleSuccess(){N===G1&&(Q3(),y1.value="",o0=!0,C1.value=!1,B3(),D2())},fullScreenChangeCallBack(){}}),N!==G1){u0(U),Z1();return}t0=U,a1.value=!0,q0(()=>{B3(),D2()})}catch(Z2){Q3(),console.warn("Pasture EZUIKit init error",Z2),y1.value="视频加载失败",m3()}})}function D2(){if(typeof document=="undefined")return;const P=document.getElementById(`${K2}-ez-iframe-footer-container`),N=document.getElementById(`${K2}-audioControls`);P&&Object.assign(P.style,{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20",width:"100%",marginTop:"0",pointerEvents:"auto",visibility:"visible",opacity:"1"}),N&&Object.assign(N.style,{opacity:"1",pointerEvents:"all",visibility:"visible"})}function B3(){var i0,I1;if(typeof document=="undefined")return;const P=S3.value,N=document.getElementById(`${K2}-wrap`),U=document.getElementById(K2),b2=N||U;if(!P||!b2)return;const o3=(i0=P.getBoundingClientRect)==null?void 0:i0.call(P),Z2=Math.max(1,Math.floor((o3==null?void 0:o3.width)||P.clientWidth||1)),J=Math.max(1,Math.floor((o3==null?void 0:o3.height)||P.clientHeight||1));try{t0&&typeof t0.reSize=="function"?t0.reSize(Z2,J):t0&&typeof t0.autoResize=="function"&&t0.autoResize()}catch(V1){console.warn("Pasture EZUIKit resize failed",V1)}Object.assign(b2.style,{position:"absolute",left:"0",top:"0",right:"0",bottom:"0",display:"block",width:`${Z2}px`,height:`${J}px`,verticalAlign:"top"}),N&&U&&Object.assign(U.style,{position:"relative",left:"auto",top:"auto",right:"auto",bottom:"auto",display:"block",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",overflow:"hidden",verticalAlign:"top"});const X2=document.getElementById(`EZUIKitPlayer-${K2}`);X2&&(X2.setAttribute("width",String(Z2)),X2.setAttribute("height",String(J))),[...Array.from((U==null?void 0:U.children)||[]),...Array.from(((I1=U==null?void 0:U.querySelectorAll)==null?void 0:I1.call(U,".play-window, video, canvas, iframe"))||[]),X2].filter(Boolean).forEach(V1=>{Object.assign(V1.style,{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none"})})}function m3(P={}){const{clearElement:N=!0,resetError:U=!1}=P;Q3();const b2=t0;t0=null,o0=!1,G1+=1,b2&&u0(b2),N&&Z1(),a1.value=!1,C1.value=!1,U&&(y1.value="")}function W3(P){Q3(),Q1=window.setTimeout(()=>{P!==G1||!C1.value||(y1.value="视频加载超时",m3({resetError:!1}))},mV)}function Q3(){Q1&&(window.clearTimeout(Q1),Q1=null)}function u0(P){if(!(!P||typeof P.stop!="function"))try{const N=P.stop();N&&typeof N.catch=="function"&&N.catch(()=>{})}catch(N){console.warn("Pasture EZUIKit stop error",N)}}function Z1(){if(typeof document=="undefined")return;const P=document.getElementById(`${K2}-wrap`);if(P){const U=document.createElement("div");U.id=K2,U.className="pasture-video-player",P.replaceWith(U);return}const N=document.getElementById(K2);N&&N.replaceChildren()}function m0(){return{autoFocus:0,header:{color:"#30dcff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#30dcff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function te(){return k3(this,null,function*(){try{const P=yield RR();if(S1)return;e2.value=L2(L2({},Xs),P),A();const N=T1(P.list);p2.value=N.length?N:x1(U8),N0(p2.value)}catch(P){e2.value=Xs,p2.value=x1(U8)}})}function N0(P=p2.value,N=600){S1||!a.active||(E1&&window.clearTimeout(E1),E1=window.setTimeout(()=>{E1=null,!(S1||!a.active)&&Me(P)},N))}function Me(){return k3(this,arguments,function*(P=[]){const N=++l1,U=(Array.isArray(P)?P:[]).filter(ae).slice(0,60);if(!U.length)return;const b2=yield A1(U,5,Z2=>k3(this,null,function*(){const J=le(Z2),X2=V3(Z2);let e1=X2,i0=null,I1=B(Z2,X2)||G2(Z2,Z2.name,J);try{(!I1||!e1.some(h1))&&(e1=yield z1(Z2))}catch(me){e1=X2}if(I1=I1||B(Z2,e1)||G2(Z2,Z2.name,J),!I1){try{i0=J?yield ER(J):null}catch(gt){i0=null}const me=V3(i0);I1=e3(i0)||B(i0,me),me.length&&!e1.length&&(e1=me)}I1=I1||G2(Z2,Z2.name,J);const V1=e1.some(h1)||h1(Z2);if(!I1&&!e1.length&&V1===Z2.canLocate)return null;const y0={key:Z2.key,id:Z2.id,realPastureId:J,name:Z2.name,township:I1||Z2.township,grasslands:e1.length?e1:Z2.grasslands,canLocate:V1,locateText:V1?"定位":"--"};return Be(y0,N),y0}));if(S1||N!==l1)return;const o3=new Map;b2.filter(Boolean).forEach(Z2=>{[Z2.key,Z2.id,Z2.realPastureId,Z2.name].filter(Boolean).forEach(J=>{o3.set(String(J),Z2)})}),o3.size&&p0(o3)})}function ae(P={}){const N=String((P==null?void 0:P.township)||"").trim();return!(h1(P)||V3(P).some(h1))&&Pe(P).length?!0:N&&N!=="--"?!1:E2(P)>0||ie(P)}function Be(P,N=l1){if(!P||S1||N!==l1)return;const U=new Map;[P.key,P.id,P.realPastureId,P.name].filter(Boolean).forEach(b2=>{U.set(String(b2),P)}),p0(U)}function p0(P){P!=null&&P.size&&(p2.value=p2.value.map(N=>{var o3,Z2;const U=[N.key,N.id,N.realPastureId,N.name].filter(Boolean).map(J=>P.get(String(J))).find(Boolean);if(!U)return N;const b2=U.township&&U.township!=="--"?U.township:N.township;return J2(L2({},N),{township:b2,grasslands:U.grasslands,grasslandCount:g0(U,U.grasslands),hasGrasslandBoundary:((Z2=(o3=U.grasslands)==null?void 0:o3.some)==null?void 0:Z2.call(o3,h1))||N.hasGrasslandBoundary,canLocate:U.canLocate,locateText:U.locateText,searchText:[N.name,b2,N.id].filter(Boolean).join(" ")})}))}function N2(P=[]){const N=[],U=b2=>{if(!b2)return;if(Array.isArray(b2)){b2.forEach(U);return}if(typeof b2!="object")return;const o3=V3(b2);if(o3.length)N.push(...o3);else{let Z2=!1;["rows","list","data","result","grassland","pasture","features"].forEach(J=>{const X2=b2==null?void 0:b2[J];X2&&(Array.isArray(X2)||typeof X2=="object")&&(Z2=!0,U(X2))}),Z2||N.push(b2)}};return U(P),N}function e3(P){const N=Array.isArray(P)?P:Array.isArray(P==null?void 0:P.rows)?P.rows:Array.isArray(P==null?void 0:P.list)?P.list:Array.isArray(P==null?void 0:P.data)?P.data:[P];for(const U of N.filter(Boolean)){const b2=Array.isArray(U==null?void 0:U.fields)?U.fields:Array.isArray(U==null?void 0:U.children)?U.children:[],o3=M1(U,["township","townName","town_name","areaName","area_name","fullName","full_name","address","牧场所在区域"]);if(o3)return f2(b3(o3));for(const J of b2){const X2=String((J==null?void 0:J.name)||(J==null?void 0:J.label)||(J==null?void 0:J.title)||"").trim(),e1=M1(J,["value","text","content"]);if(e1&&/区域|地址|乡镇/.test(X2))return f2(b3(e1))}const Z2=Object.entries(U||{}).filter(([J])=>/fullName|full_name|address|areaName|area_name|town/i.test(J)).map(([,J])=>J);for(const J of Z2)if(J)return f2(b3(J))}return""}function b3(P){const N=String(P||"").trim();if(!N||N==="--")return"";const U=N.match(/([\u4e00-\u9fa5]{1,12}(?:镇|乡))/);return(U==null?void 0:U[1])||N}function A1(P,N,U){return k3(this,null,function*(){const b2=new Array(P.length);let o3=0;const Z2=Array.from({length:Math.min(N,P.length)},()=>k3(this,null,function*(){for(;o3k3(this,null,function*(){if(h1(b2))return b2;const o3=C0(b2);if(!o3)return b2;try{const Z2=yield kR(o3),X2=N2([Z2]).find(h1);return X2?L1(b2,X2):b2}catch(Z2){return b2}}));return D1(U)})}function s0(P){return k3(this,null,function*(){var Z2,J,X2,e1;const N=++g;R2(),(J=(Z2=m.value)==null?void 0:Z2.clearFloatingOverlays)==null||J.call(Z2);let U=[];try{U=yield z1(P)}catch(i0){U=V3(P)}if(N!==g)return;const b2=U.filter(h1);if(!b2.length){y2();return}if(N!==g)return;((e1=(X2=m.value)==null?void 0:X2.focusPasture)==null?void 0:e1.call(X2,{name:P==null?void 0:P.name,grasslands:b2,highlightTone:"white"}))||y2()})}function R0(){h.value=!1,i("loading-progress",{progress:0})}function M2(){h.value=!0,i("loading-progress",{progress:100}),i("map-ready")}function R(P=w3.value){const N=String((P==null?void 0:P.key)||"").toLowerCase(),U=String((P==null?void 0:P.layerName)||"").toLowerCase();return N===Zs||U.includes("t_pasture_grassland")}function M(P={}){const N=document.querySelector(".pasture-management"),U=N==null?void 0:N.getBoundingClientRect();return U?{x:((Number(P.x)||U.left+U.width/2)-U.left)/Math.max(1,U.width)*1920,y:((Number(P.y)||U.top+U.height/2)-U.top)/Math.max(1,U.height)*1080}:{x:Number(P.x)||960,y:Number(P.y)||540}}function d(P){const N=(P==null?void 0:P.properties)||{};return Math.min(10,Object.entries(N).filter(([U,b2])=>f(U,b2)).length)}function f(P,N){return N==null||N===""||Array.isArray(N)||typeof N=="object"?!1:!$2.has(String(P||"").toLowerCase())}function y(P={}){const N=w(P.lng),U=w(P.lat);return N===""||U===""?"":`POINT(${N} ${U})`}function w(P){const N=Number(P);return Number.isFinite(N)?N.toFixed(8).replace(/\.?0+$/,""):""}function _(P={},N={}){var o3,Z2;const U=E(P);if(!U||!Object.keys(U).length)return null;const b2=o2(P,U);return{id:U.id||U.grasslandId||U.grassland_id||`${(o3=N==null?void 0:N.lngLat)==null?void 0:o3.lng}-${(Z2=N==null?void 0:N.lngLat)==null?void 0:Z2.lat}`,properties:U,feature:{type:"Feature",properties:U,geometry:b2},geometry:b2,layer:w3.value||o1.value,lngLat:N.lngLat}}function E(P={}){var J,X2,e1;const N=n2(P),U=t2((N==null?void 0:N.grassland)||((J=N==null?void 0:N.data)==null?void 0:J.grassland)),b2=t2((N==null?void 0:N.pasture)||((X2=N==null?void 0:N.data)==null?void 0:X2.pasture)),o3=t2((N==null?void 0:N.pasture_balance)||(N==null?void 0:N.pastureBalance)||((e1=N==null?void 0:N.data)==null?void 0:e1.pasture_balance)),Z2=U||t2(N==null?void 0:N.data)||t2(N==null?void 0:N.result)||t2(N);return!Z2&&!b2&&!o3?null:J2(L2(L2(L2(L2(L2({},Z2||{}),o3||{}),r2(Z2)),r2(b2)),r2(o3)),{pastureName:M1(b2||{},["name","pasturesName","pastures_name","pastureName","pasture_name"])||M1(Z2||{},["pastureName","pasture_name"]),yakCount:M1(b2||{},["yakCount","yak_count","yakNumber","yak_number"])||M1(o3||{},["yakCount","yak_count","yakNumber","yak_number"])})}function r2(P={}){return(Array.isArray(P==null?void 0:P.dyColumn)?P.dyColumn:Array.isArray(P==null?void 0:P.fields)?P.fields:[]).reduce((U,b2)=>{var J,X2;const o3=String((b2==null?void 0:b2.field)||(b2==null?void 0:b2.key)||(b2==null?void 0:b2.title)||(b2==null?void 0:b2.label)||"").trim(),Z2=(X2=(J=b2==null?void 0:b2.value)!=null?J:b2==null?void 0:b2.text)!=null?X2:b2==null?void 0:b2.content;return o3&&Z2!==void 0&&Z2!==null&&Z2!==""&&(U[o3]=Z2),U},{})}function n2(P){return!P||typeof P!="object"?{}:P.data&&typeof P.data=="object"?P.data:P.result&&typeof P.result=="object"?P.result:P}function o2(P={},N={}){var o3;const U=n2(P),b2=t2((U==null?void 0:U.grassland)||((o3=U==null?void 0:U.data)==null?void 0:o3.grassland));return M1(b2||{},["geometry","geom","wkt","geo","the_geom","geometryWkt","geometry_wkt","shape"])||M1(N,["geometry","geom","wkt","geo","the_geom","geometryWkt","geometry_wkt","shape"])||M1(U,["geometry","geom","wkt","geo","the_geom","geometryWkt","geometry_wkt","shape"])||null}function t2(P){return Array.isArray(P)?P.find(N=>N&&typeof N=="object")||null:P&&typeof P=="object"?P:null}function X(){b.value=null,K.value=null,F.value=!1,H.value=!1}function R2(){var P,N;d3+=1,X(),(N=(P=m.value)==null?void 0:P.clearSelectedFeature)==null||N.call(P)}function y2(){var P,N;g+=1,(N=(P=m.value)==null?void 0:P.clearPastureFocus)==null||N.call(P)}function d2(P,N){return`${P}${P}${N}0.05${N}1.10.92`}function h2(){return k3(this,arguments,function*(P={}){var Z2,J,X2,e1,i0,I1;if(!R(P.overlayLayer||w3.value)){R2();return}const N=Number((Z2=P==null?void 0:P.lngLat)==null?void 0:Z2.lng),U=Number((J=P==null?void 0:P.lngLat)==null?void 0:J.lat);if(!Number.isFinite(N)||!Number.isFinite(U)){R2();return}const b2=++d3,o3=P.screen||{x:960,y:540};K.value=null,b.value=null,F.value=!1,H.value=!0,(e1=(X2=m.value)==null?void 0:X2.clearSelectedFeature)==null||e1.call(X2);try{const V1=yield _R(y({lng:N,lat:U}));if(b2!==d3)return;const y0=_(V1,P);if(!y0||d(y0)<=0){X();return}b.value=y0,K.value=o3,F.value=!1,y0.geometry&&((I1=(i0=m.value)==null?void 0:i0.highlightFeature)==null||I1.call(i0,y0))}catch(V1){if(b2!==d3)return;X()}finally{b2===d3&&(H.value=!1)}})}function B2(){var P,N;R2(),(N=(P=m.value)==null?void 0:P.refreshView)==null||N.call(P)}function u2(){var P,N,U,b2;if(R2(),(N=(P=m.value)==null?void 0:P.hasMap)!=null&&N.call(P)){h.value=!0,(b2=(U=m.value)==null?void 0:U.resetView)==null||b2.call(U);return}h.value=!1,p.value+=1,q0(()=>{window.setTimeout(()=>{var o3,Z2;(Z2=(o3=m.value)==null?void 0:o3.refreshView)==null||Z2.call(o3)},160)})}e({refreshMapView:B2,resetMap:u2});function A(){i("module-stats",{moduleKey:"pasture-management",items:V().map(P=>({zh:P.name,name:P.name,value:P.value,unit:P.unit,decimals:Number.isInteger(Number(P.value))?0:2}))})}function V(){const P=new Map;(Array.isArray(q3.value)?q3.value:[]).forEach(U=>{!(U!=null&&U.name)||W2(U.name)||P.set(U.name,U)});const N=P.get("牧户数量")||zl.find(U=>U.name==="牧户数量"||U.zh==="牧户数量");return P.set("牧户数量",J2(L2({},N),{name:"牧户数量",value:_9,unit:(N==null?void 0:N.unit)||"户"})),_2.map(U=>P.get(U)||zl.find(b2=>b2.name===U||b2.zh===U)).filter(Boolean).slice(0,4)}function Z(P=[]){return(Array.isArray(P)?P:[]).map((N,U)=>{const b2=N.key||N.id||N.code||N.name||N.zh||`${U}`,o3=N.name||N.title||N.label||N.zh,Z2=P2(o3,b2),J=M1(N,["value","num","count","dataValue"]);if(!Z2||J===void 0||J===null||J==="")return null;const X2=I2(Z2,J,N.unit||N.dw||"");return{key:b2,name:X2.name,value:X2.value,unit:X2.unit,icon:N.icon||["town","area","yield","rate"][U%4]}}).filter(Boolean)}function P2(P,N){const U=String(P||N||""),b2=String(N||"").toLowerCase();return/avg.*yak|yak.*avg|yak.*household|yak.*per|hjyak/.test(b2)||/户均.*牦牛|牦牛.*户均/.test(U)?"户均牦牛头数":/avg.*grass|grass.*avg|grass.*household|grass.*per/.test(b2)||/户均.*草地|草地.*户均/.test(U)?"户均草地面积":/income|revenue|人均收入/.test(b2)||U.includes("人均收入")?"人均收入":/poverty|monitor|防反贫|监测户/.test(b2)||U.includes("防反贫")||U.includes("监测户")?"防反贫监测户":/joint|union|link|联户/.test(b2)||U.includes("联户")?"联户数量":/herdsman|muhu|pasture.*count|牧户数量/.test(b2)||U.includes("牧户数量")?"牧户数量":/yak/.test(b2)||U.includes("牦牛")?null:/grass/.test(b2)||U.includes("草地面积")?"草地面积":/wet/.test(b2)||U.includes("湿地")?"湿地面积":U.includes("牧户")||U.includes("牧场")?"牧户数量":/project/.test(b2)||U.includes("工程")||U.includes("项目")?"工程数量":/base/.test(b2)||U.includes("基地")?"基地数量":U}function I2(P,N,U){const b2=Number(N)||0;return P==="户均牦牛头数"?{name:P,value:b2,unit:U||"头"}:P==="户均草地面积"?{name:P,value:b2,unit:U||"亩"}:P==="人均收入"?{name:P,value:b2,unit:U||"元/年"}:P==="联户数量"||P==="防反贫监测户"?{name:P,value:b2,unit:U||"户"}:(P.includes("草地")||P.includes("湿地"))&&!String(U).includes("万")?{name:P,value:Math.round(b2/1e4*100)/100,unit:"万亩"}:P.includes("牧户")?{name:P,value:b2,unit:U||"户"}:P.includes("工程")||P.includes("项目")||P.includes("基地")?{name:P,value:b2,unit:U||"个"}:{name:P,value:b2,unit:U}}function W2(P){return P==="草地面积"||P==="湿地面积"||P==="区域数量"||P==="牦牛数量"}function V2(P=[]){return(Array.isArray(P)?P:[]).map(N=>{const U=M1(N,["areaName","area_name","name","townName","zoneName"]),b2=M1(N,["number","value","count","num","pastureCount","muhuCount","muhu_count"]);return!U||b2===void 0||b2===null||b2===""?null:{key:N.code||N.areaCode||N.area_code||U,name:U,value:Number(b2)||0,unit:"户"}}).filter(Boolean).sort((N,U)=>U.value-N.value)}function l3(P=[]){return(Array.isArray(P)?P:[]).map(N=>{const U=M1(N,["areaName","area_name","name","townName","zoneName"]),b2=Number(M1(N,["registeredMuhuCount","registered_muhu_count","registeredCount"])),o3=Number(M1(N,["muhuCount","muhu_count","onlineCount"])),Z2=M1(N,["onlinePercent","uplineRate","upline_rate","onlineRate","value","percent","rate"]),J=Z2!=null&&Z2!==""?Z2:b2>0?o3/b2*100:void 0;return!U||J===void 0||J===null||J===""?null:{key:N.code||N.areaCode||N.area_code||U,name:U,value:Number(String(J).replace("%",""))||0,unit:"%",extra:Number.isFinite(o3)&&Number.isFinite(b2)&&b2>0?`${o3}/${b2}户`:N.extra}}).filter(Boolean)}function x3(P=[]){const N=new Map;return(Array.isArray(P)?P:[]).forEach(U=>{const b2=String((U==null?void 0:U.key)||(U==null?void 0:U.code)||(U==null?void 0:U.areaCode)||(U==null?void 0:U.area_code)||"").trim(),o3=f2((U==null?void 0:U.name)||(U==null?void 0:U.areaName)||(U==null?void 0:U.area_name)||(U==null?void 0:U.townName)||(U==null?void 0:U.zoneName));[b2,o3].filter(Boolean).forEach(Z2=>N.set(Z2,U))}),G8.map(U=>{const b2=N.get(String(U.key||""))||N.get(U.name);return b2?J2(L2({},b2),{key:U.key,name:U.name,unit:b2.unit||"%"}):{key:U.key,name:U.name,value:0,unit:"%",extra:"--"}})}function E3(P=[]){const N=new Map;return(Array.isArray(P)?P:[]).forEach(U=>{const b2=String((U==null?void 0:U.key)||(U==null?void 0:U.code)||(U==null?void 0:U.areaCode)||(U==null?void 0:U.area_code)||"").trim(),o3=f2((U==null?void 0:U.name)||(U==null?void 0:U.areaName)||(U==null?void 0:U.area_name)||(U==null?void 0:U.townName)||(U==null?void 0:U.zoneName)||(U==null?void 0:U.township));[b2,o3].filter(Boolean).forEach(Z2=>N.set(Z2,U))}),G8.map(U=>{const b2=N.get(String(U.key||""))||N.get(U.name);return{key:U.key,name:U.name,value:Number(b2==null?void 0:b2.value)||0,unit:(b2==null?void 0:b2.unit)||"万亩"}}).sort((U,b2)=>b2.value-U.value)}function T3(P=[]){const N=new Map;return(Array.isArray(P)?P:[]).forEach(U=>{const b2=M1(U,["ageRange","age_range","age","name","label"]),o3=M1(U,["number","value","count","num"]);!b2||o3===void 0||o3===null||o3===""||N.set(b2,(N.get(b2)||0)+(Number(o3)||0))}),Array.from(N.entries()).map(([U,b2])=>({key:U,name:U,value:b2,unit:"人"}))}function m1(P=[]){const N=new Map;return(Array.isArray(P)?P:[]).forEach(U=>{const b2=M1(U,["sex","gender","name"]),o3=M1(U,["number","value","count","num"]);if(!b2||o3===void 0||o3===null||o3==="")return;const Z2=String(b2).includes("女")?"女":String(b2).includes("男")?"男":b2;N.set(Z2,(N.get(Z2)||0)+(Number(o3)||0))}),Array.from(N.entries()).map(([U,b2])=>({key:U,name:U,value:b2,unit:"人"}))}function T1(P=[]){return(Array.isArray(P)?P:[]).map((N,U)=>{const b2=M1(N,["name","pasturesName","pastures_name","muhuName","muhu_name","pastureName","pasture_name","herdsmanName"]);if(!b2)return null;const o3=V3(N),Z2=E2(N)||f3(o3),J=g0(N,o3),X2=le(N),e1=B(N,o3)||G2(N,b2,X2),i0=B1(N),I1=J2(L2({},N),{key:N.key||N.id||N.pasturesId||N.pastures_id||`${b2}-${U}`,id:X2||N.id||N.pastureId||N.pasturesId||N.pastures_id||N.muhuId||N.key,realPastureId:X2,name:b2,pastureSortOrder:i0,township:e1||"--",grasslandArea:Z2,acreage:Z2,grasslandCount:J,hasGrasslandBoundary:J>0,grasslands:o3});return I1.canLocate=o3.some(h1)||h1(N),I1.locateText=I1.canLocate?"定位":"--",I1.value=I1.grasslandArea,I1.unit="亩",I1.searchText=[I1.name,I1.herdsmanName,I1.herdsman_name,I1.phone,I1.phonenumber,I1.idCard,I1.id_card,I1.township,I1.id].filter(Boolean).join(" "),I1}).filter(Boolean).sort(v1)}function x1(P=[]){return[...Array.isArray(P)?P:[]].map(N=>J2(L2({},N),{pastureSortOrder:B1(N),grasslandArea:E2(N),acreage:E2(N)})).sort(v1)}function B1(P={}){const N=M1(P,["pastureSortOrder","pasture_sort_order","pastureOrder","pasture_order","muhuSortOrder","muhu_sort_order","sortOrder","sort_order"]);if(N==null||N==="")return null;const U=Number(String(N).replace(/,/g,"").trim());return Number.isFinite(U)?U:null}function v1(P,N){const U=B1(P),b2=B1(N);if(U!==null||b2!==null)return U===null?1:b2===null?-1:U!==b2?U-b2:String((P==null?void 0:P.name)||"").localeCompare(String((N==null?void 0:N.name)||""),"zh-CN");const o3=Y1(P)?1:0,Z2=Y1(N)?1:0;if(o3!==Z2)return Z2-o3;const J=g0(P),X2=g0(N);if(J!==X2)return X2-J;const e1=E2(P),i0=E2(N),I1=e1>0?1:0,V1=i0>0?1:0;if(I1!==V1)return V1-I1;const y0=ie(P)?1:0,me=ie(N)?1:0;return y0!==me?me-y0:e1!==i0?i0-e1:String((P==null?void 0:P.name)||"").localeCompare(String((N==null?void 0:N.name)||""),"zh-CN")}function Y1(P={}){const N=M1(P,["hasGrasslandBoundary","has_grassland_boundary","hasBoundary","has_boundary"]);return N===!0||N===1||N==="1"||typeof N=="string"&&["true","yes","y"].includes(N.trim().toLowerCase())?!0:g0(P)>0}function g0(P={},N=P==null?void 0:P.grasslands){const U=["grasslandCount","grassland_count","grasslandsCount","grasslands_count","grasslandBoundaryCount","grassland_boundary_count","boundaryCount","boundary_count"];for(const b2 of U){const o3=Number(P==null?void 0:P[b2]);if(Number.isFinite(o3)&&o3>0)return o3}return Array.isArray(N)?N.length:0}function E2(P={}){const U=["acreage","grasslandArea","grassland_area","area","areaRange","area_range","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"].map(o3=>g3(P==null?void 0:P[o3]));return U.find(o3=>o3>0)||U.find(o3=>o3===0)||0}function f3(P=[]){return(Array.isArray(P)?P:[]).reduce((N,U)=>N+E2(U),0)}function g3(P){if(typeof P=="number")return Number.isFinite(P)?P:0;const N=String(P!=null?P:"").trim();if(!N||N==="--")return 0;const U=N.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!U)return 0;const b2=Number(U[0]);return Number.isFinite(b2)?N.includes("万")?b2*1e4:b2:0}function V3(P={}){const N=[];["grasslands","grasslandList","grasslandRows","landList","plots","features"].forEach(o3=>{const Z2=P==null?void 0:P[o3];Array.isArray(Z2)?N.push(...Z2):Array.isArray(Z2==null?void 0:Z2.rows)?N.push(...Z2.rows):Array.isArray(Z2==null?void 0:Z2.list)?N.push(...Z2.list):Array.isArray(Z2==null?void 0:Z2.data)&&N.push(...Z2.data)});const b2=M1(P,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return(b2||P!=null&&P.geometry)&&N.push(J2(L2({},P),{id:(P==null?void 0:P.grasslandId)||(P==null?void 0:P.gid)||(P==null?void 0:P.id),pastureId:(P==null?void 0:P.pastureId)||(P==null?void 0:P.pasturesId)||(P==null?void 0:P.pastures_id)||(P==null?void 0:P.muhuId)||(P==null?void 0:P.id),name:(P==null?void 0:P.grasslandName)||(P==null?void 0:P.name),wkt:b2,geometry:P==null?void 0:P.geometry})),N.filter(Boolean)}function h1(P={}){var N,U;return typeof P=="string"?!!P.trim():(P==null?void 0:P.type)==="Feature"||P!=null&&P.type&&(P!=null&&P.coordinates)||(N=P==null?void 0:P.geometry)!=null&&N.type||(U=P==null?void 0:P.geometry)!=null&&U.coordinates||typeof(P==null?void 0:P.geometry)=="string"?!0:!!M1(P,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"])}function L1(P={},N={}){var Z2,J,X2,e1,i0;const U=J2(L2(L2({},P),N),{id:(Z2=P==null?void 0:P.id)!=null?Z2:N==null?void 0:N.id,grasslandId:(i0=(e1=(X2=(J=P==null?void 0:P.grasslandId)!=null?J:P==null?void 0:P.grassland_id)!=null?X2:N==null?void 0:N.grasslandId)!=null?e1:N==null?void 0:N.grassland_id)!=null?i0:N==null?void 0:N.id}),b2=M1(N,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]),o3=M1(P,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return(b2||o3)&&(U.wkt=b2||o3),U.geometry=(N==null?void 0:N.geometry)||(P==null?void 0:P.geometry),U}function D1(P=[]){const N=new Set;return(Array.isArray(P)?P:[]).filter(U=>{if(!U)return!1;const b2=n0(U);return b2&&N.has(b2)?!1:(b2&&N.add(b2),!0)})}function n0(P={}){const N=M1(P,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);if(N)return`g:${String(N).slice(0,240)}`;if(P!=null&&P.geometry)try{return`j:${JSON.stringify(P.geometry).slice(0,240)}`}catch(b2){return""}const U=C0(P);return U?`id:${U}`:""}function C0(P={}){return ke(M1(P,["id","grasslandId","grassland_id","landId","land_id","gid","objectid","object_id","fid"]))}function Pe(P={}){return[P==null?void 0:P.realPastureId,P==null?void 0:P.pastureId,P==null?void 0:P.pasturesId,P==null?void 0:P.pastures_id,P==null?void 0:P.muhuId,P==null?void 0:P.muhu_id,P==null?void 0:P.id].map(ke).filter(Boolean).filter((N,U,b2)=>b2.indexOf(N)===U)}function ke(P){const N=String(P!=null?P:"").trim();return N&&N!=="--"?N:""}function le(P={}){return Pe(P)[0]||null}function ie(P={}){return P!=null&&P.canLocate||h1(P)?!0:V3(P).some(h1)}function M1(P={},N=[]){for(const U of N){const b2=P==null?void 0:P[U];if(b2!=null&&b2!=="")return b2}}function B(P={},N=[]){const U=M1(P,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]),b2=f2(U);if(b2)return b2;const o3=$3(M1(P,["areaCode","area_code","townCode","town_code","code"]));if(o3)return o3;for(const J of N){const X2=M1(J,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]),e1=f2(X2);if(e1)return e1;const i0=$3(M1(J,["areaCode","area_code","townCode","town_code","code"]));if(i0)return i0}const Z2=R3(P);if(Z2)return Z2;for(const J of N){const X2=R3(J);if(X2)return X2}return""}function f2(P){const N=String(P||"").trim();if(!N||N==="--")return"";const U=$3(N);if(U)return U;if(m_(N))return N;const b2=ln.find(Z2=>N.includes(Z2));if(b2)return b2;const o3=b3(N);return o3&&o3!==N?f2(o3):""}function G2(P={},N="",U=""){const b2=[U,P.realPastureId,P.pastureId,P.pasturesId,P.pastures_id,P.muhuId,P.id];for(const Z2 of b2){const J=F3[String(Z2||"").trim()];if(J)return f2(J)}const o3=[N,P.name,P.pasturesName,P.pastures_name,P.muhuName,P.muhu_name,P.pastureName,P.pasture_name];for(const Z2 of o3){const J=U3[J3(Z2)];if(J)return f2(J)}return""}function J3(P){return String(P||"").replace(/[·•・..。`´’‘ʼʹ''"“”\s\-—_()()]/g,"").replace(/˙/g,"")}function $3(P){const N=String(P||"").trim();if(!N)return"";const U=N.replace(/\D/g,"");return U?Ca(U):""}function R3(P={}){const N=C(P),U=S2(N);if(!U)return"";const b2=a3.find(o3=>U2(U,o3.geometry));return b2!=null&&b2.name?f2(b2.name):""}function C(P={}){var b2,o3;if((P==null?void 0:P.type)==="Feature")return C(P.geometry);if(P!=null&&P.type&&(P!=null&&P.coordinates))return P;if((b2=P==null?void 0:P.geometry)!=null&&b2.type||(o3=P==null?void 0:P.geometry)!=null&&o3.coordinates)return P.geometry;const N=M1(P,["geometry","location","wkt","geo","geom","geometryWkt","geometry_wkt","shape"]);if(!N||typeof N!="string")return null;const U=N.trim();if(!U)return null;if(U.startsWith("{")||U.startsWith("["))try{const Z2=JSON.parse(U);return C(Z2)}catch(Z2){return null}return j(U)}function j(P){var Z2;const N=String(P||"").trim(),U=N.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),b2=(Z2=U==null?void 0:U[1])==null?void 0:Z2.toUpperCase();if(!b2)return null;const o3=N.slice(N.indexOf("("));return b2==="POINT"?{type:"Point",coordinates:T(o3)}:b2==="MULTIPOINT"?{type:"MultiPoint",coordinates:G(o3).map(T).filter(Boolean)}:b2==="LINESTRING"?{type:"LineString",coordinates:D(o3)}:b2==="MULTILINESTRING"?{type:"MultiLineString",coordinates:G(o3).map(D).filter(J=>J.length)}:b2==="POLYGON"?{type:"Polygon",coordinates:W(o3)}:b2==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:G(o3).map(W).filter(J=>J.length)}:null}function T(P){const N=String(P||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return N.length>=2&&Number.isFinite(N[0])&&Number.isFinite(N[1])?[N[0],N[1]]:null}function D(P){return String(P||"").replace(/^\(+|\)+$/g,"").split(",").map(T).filter(Boolean)}function W(P){return G(P).map(D).filter(N=>N.length>=3)}function G(P){const N=[];let U=0,b2=-1;return Array.from(String(P||"")).forEach((o3,Z2)=>{o3==="("?(U===0&&(b2=Z2+1),U+=1):o3===")"&&(U-=1,U===0&&b2>=0&&(N.push(P.slice(b2,Z2)),b2=-1))}),N.length?N:[String(P||"")]}function Y(P){try{const N=typeof P=="string"?JSON.parse(P):P;return((N==null?void 0:N.features)||[]).map(U=>{var b2,o3,Z2,J;return{name:((b2=U==null?void 0:U.properties)==null?void 0:b2.name)||((o3=U==null?void 0:U.properties)==null?void 0:o3.areaName)||((Z2=U==null?void 0:U.properties)==null?void 0:Z2.townName),code:(J=U==null?void 0:U.properties)==null?void 0:J.code,geometry:U==null?void 0:U.geometry}}).filter(U=>{var b2;return U.name&&((b2=U.geometry)==null?void 0:b2.coordinates)})}catch(N){return[]}}function S2(P){const N=C2(P);if(!N.length)return null;const U=N.reduce((b2,o3)=>({lng:b2.lng+o3[0],lat:b2.lat+o3[1]}),{lng:0,lat:0});return[U.lng/N.length,U.lat/N.length]}function C2(P){const N=[],U=b2=>{if(Array.isArray(b2)){if(b2.length>=2&&Number.isFinite(Number(b2[0]))&&Number.isFinite(Number(b2[1]))){N.push([Number(b2[0]),Number(b2[1])]);return}b2.forEach(U)}};return U(P==null?void 0:P.coordinates),N}function U2(P,N){return!P||!(N!=null&&N.coordinates)?!1:N.type==="Polygon"?r3(P,N.coordinates):N.type==="MultiPolygon"?N.coordinates.some(U=>r3(P,U)):!1}function r3(P,N){var J,X2,e1,i0;const U=N==null?void 0:N[0];if(!Array.isArray(U)||U.length<3)return!1;let b2=!1;const o3=P[0],Z2=P[1];for(let I1=0,V1=U.length-1;I1Z2!=it>Z2&&o3<(gt-y0)*(Z2-me)/(it-me||1e-12)+y0&&(b2=!b2)}return b2}return(P,N)=>(z(),Q("div",XW,[(z(),he(Z8,{key:p.value,ref_key:"mapSceneRef",ref:m,class:"pasture-ol-map-layer",active:a.active,"tile-url-template":pV,center:c3,"initial-zoom":9,"auto-apply-layer-map-view":!1,"max-zoom":21,"overlay-layer":w3.value,"overlay-layers":v3.value,onReady:M2,onMapClick:h2},null,8,["active","overlay-layer","overlay-layers"])),N[2]||(N[2]=S("div",{class:"pasture-map-scrim"},null,-1)),h.value?L3("",!0):(z(),Q("div",ZW,"3D地图加载中")),S("div",eV,[S("div",tV,[S("div",nV,[d1(_0,{class:"pasture-side-card left-card",title:"牧户区域统计",width:k1(r),height:s.value},{default:f0(()=>[d1(cn,{panel:i1.value,compact:"","column-label-standard":""},null,8,["panel"])]),_:1},8,["width","height"]),d1(_0,{class:"pasture-side-card left-card",title:"草场面积分布",width:k1(r),height:s.value},{default:f0(()=>[d1(cn,{panel:N1.value,compact:""},null,8,["panel"])]),_:1},8,["width","height"]),d1(_0,{class:"pasture-side-card left-card pasture-video-card",title:"牧场实时监控",width:k1(r),height:s.value},{default:f0(()=>[S("div",aV,[S("button",{class:"pasture-video-nav pasture-video-prev",type:"button",disabled:I3.value.length<=1,"aria-label":"上一个监控点",onClick:ve}," ‹ ",8,iV),S("div",{class:s1(["pasture-video-grid",{"is-single":T0.value.length<=1}])},[(z(!0),Q(O3,null,X3(T0.value,U=>(z(),Q("div",{key:U.key,ref_for:!0,ref:b2=>Q0(b2,U),class:s1(["pasture-video-screen",{"is-active":U.isActive,"is-playing":a1.value&&U.isActive,"is-loading":C1.value&&U.isActive}]),style:X1(M0(U.live,U.isActive)),onClick:b2=>C3(U.index)},[U.isActive?(z(),Q("div",{key:0,id:K2,class:"pasture-video-player"})):L3("",!0),(!a1.value||!U.isActive)&&U.live.hdPlayUrl?(z(),Q("div",oV)):L3("",!0),C1.value&&U.isActive?(z(),Q("div",sV,"加载中")):L3("",!0),y1.value&&U.isActive?(z(),Q("div",lV,c2(y1.value),1)):L3("",!0),S("div",uV,c2(U.live.title),1)],14,rV))),128))],2),S("button",{class:"pasture-video-nav pasture-video-next",type:"button",disabled:I3.value.length<=1,"aria-label":"下一个监控点",onClick:se}," › ",8,cV)])]),_:1},8,["width","height"]),d1(_0,{class:"pasture-side-card left-card",title:"牧户上线率",width:k1(r),height:s.value},{default:f0(()=>[d1(cn,{panel:q1.value,compact:""},null,8,["panel"])]),_:1},8,["width","height"])])]),S("div",dV,[S("div",fV,[d1(_0,{class:"pasture-side-card right-card",title:"牧户年龄统计",width:k1(r),height:s.value},{default:f0(()=>[d1(cn,{panel:Y3.value,compact:"","column-label-standard":""},null,8,["panel"])]),_:1},8,["width","height"]),d1(_0,{class:"pasture-side-card right-card",title:"牧户性别统计",width:k1(r),height:s.value},{default:f0(()=>[d1(cn,{panel:r1.value,compact:""},null,8,["panel"])]),_:1},8,["width","height"]),d1(_0,{class:"pasture-side-card right-card pasture-list-card",title:"牧户列表",width:k1(r),height:u.value},{default:f0(()=>[d1(cn,{panel:K3.value,compact:"",onRowSelect:s0},null,8,["panel"])]),_:1},8,["width","height"])])]),S("div",hV,[d1(jr,{modelValue:v2.value,"onUpdate:modelValue":N[0]||(N[0]=U=>v2.value=U),"selected-legend-key":A2.value,"onUpdate:selectedLegendKey":N[1]||(N[1]=U=>A2.value=U),"topic-key":"grassland",layers:F2.value,legends:U1.value,multiple:"",width:232,height:430},null,8,["modelValue","selected-legend-key","layers","legends"])]),P3.value?(z(),Q("div",{key:0,class:"pasture-map-feature-info",style:X1(j3.value)},[S("button",{class:"pasture-map-feature-close",type:"button","aria-label":"关闭图斑详情",title:"关闭",onClick:$0(R2,["stop"])}," × "),d1(Ga,{feature:b.value,empty:F.value,loading:H.value,width:460,height:H3.value,"compact-grassland":""},null,8,["feature","empty","loading","height"])],4)):L3("",!0)])]))}},yV=`{ + "datasetName": "红原牦牛产业全链分类数据草稿", + "generatedAt": "2026-07-01T19:47:37", + "privacy": { + "includedContactFields": [ + "户主", + "负责人", + "联系人", + "联系电话", + "服务热线", + "信贷联系电话", + "24小时理赔热线" + ], + "excludedPersonalFields": [ + "身份证", + "备注" + ], + "note": "此 JSON 面向大屏展示,已保留可展示的联系人/电话字段;身份证和备注仍未写入。图片文件仅登记为视觉参考,不作为业务数据。" + }, + "fileInventory": [ + { + "path": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "type": "xlsx", + "role": "data-source" + }, + { + "path": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "type": "xlsx", + "role": "data-source" + }, + { + "path": "cxpt.qkl.public.t_base_land", + "type": "database-table", + "role": "data-source" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-1.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-2.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-3.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-4.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-5.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-6.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-7.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-8.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-9.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-10.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-11.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-12.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-9ee4fd26-fb6f-46c2-81ea-f9925d24acf8.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-acf2f529-2ce8-4d8b-96eb-6899d2beb524.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-eded9fbe-e18f-4b2a-88ad-b207e8589cd3.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-ae00ea0b-6e25-4a45-b182-2ab3cdae2abd.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-d7084d17-25fa-43e5-b216-a1d62b49f862.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-f3e1ccc7-5d38-4103-96eb-be214e5b67c0.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-5ffbf4b9-ab8f-49a4-8577-705da4e7c157.png", + "type": "png", + "role": "visual-reference" + }, + { + "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-1548ca35-7fe9-4786-9cb4-41366b1b5b10.png", + "type": "png", + "role": "visual-reference" + } + ], + "summary": { + "categoryCount": 18, + "itemCount": 206, + "categoryCounts": { + "YC-FAMILY-PASTURE": 82, + "YC-BREEDING-BASE": 19, + "YC-BREEDING-STOCK": 4, + "YC-FORAGE-BASE": 8, + "YC-DISASTER-FORAGE-STORAGE": 7, + "YC-PROCESSING-PLANT": 9, + "YC-SLAUGHTERHOUSE": 7, + "YC-FARM-EQUIPMENT": 2, + "YC-DISEASE-CONTROL": 3, + "YC-TECH-TRAINING": 8, + "YC-SERVICE-FINANCE": 4, + "YC-SERVICE-INSURANCE": 4, + "YC-GRASSLAND-RESOURCE": 3, + "YC-CXPT-BREEDING-BASE": 28, + "YC-CXPT-FORAGE-BASE": 5, + "YC-CXPT-BREEDING-STOCK-BASE": 1, + "YC-CXPT-GRASS-SEED-BASE": 1, + "YC-CXPT-OTHER-BASE": 11 + } + }, + "sourceSheets": [ + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "防灾减灾饲草储备库", + "categoryCode": "YC-DISASTER-FORAGE-STORAGE", + "rawRowCount": 7, + "keptFields": [ + "主体全称", + "上级单位", + "所属乡镇", + "详细地址", + "经度", + "纬度", + "运营状态", + "总库容 (吨)", + "储备草种", + "发放次数" + ], + "excludedFields": [] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "标准化养殖基地", + "categoryCode": "YC-BREEDING-BASE", + "rawRowCount": 19, + "keptFields": [ + "主体全称", + "运营单位", + "经纬度", + "建设 / 升级年份", + "详细地址", + "运营状态", + "设计存栏量 (头)", + "年出栏量 (头)", + "监控设备情况" + ], + "excludedFields": [ + "备注", + "Unnamed:10" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "育种场", + "categoryCode": "YC-BREEDING-STOCK", + "rawRowCount": 4, + "keptFields": [ + "主体全称", + "简称", + "运营单位", + "建设 / 升级年份", + "详细地址", + "经纬度", + "运营状态", + "育种等级", + "核心基础母牛群 (头)", + "种公牛数量 (头)", + "年提供良种犊牛 (头)", + "主要育种方向", + "基本介绍", + "监控设备情况" + ], + "excludedFields": [] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "种草饲草基地", + "categoryCode": "YC-FORAGE-BASE", + "rawRowCount": 16, + "keptFields": [ + "基地全称", + "所属乡镇", + "运营状态", + "种植面积 (亩)", + "主要草种", + "年产量 (吨)", + "经纬度" + ], + "excludedFields": [ + "Unnamed:7", + "Unnamed:8", + "Unnamed:9" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "加工厂", + "categoryCode": "YC-PROCESSING-PLANT", + "rawRowCount": 9, + "keptFields": [ + "企业全称", + "详细地址", + "经度", + "纬度", + "运营状态", + "SC 许可证号", + "设计日处理鲜奶能力 (吨)", + "年加工鲜奶总量 (吨)", + "主要产品", + "奶源来源", + "年产值 (万元)", + "带动本地农户数", + "原料奶冷藏能力 (吨)", + "产品销售范围", + "负责人", + "联系电话" + ], + "excludedFields": [ + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "屠宰厂", + "categoryCode": "YC-SLAUGHTERHOUSE", + "rawRowCount": 7, + "keptFields": [ + "企业全称", + "定点屠宰证号", + "详细地址", + "经度", + "纬度", + "运营状态", + "设计日屠宰能力 (头)", + "年屠宰总量 (头)", + "冷冻库容量 (吨)", + "环保达标情况", + "年总产值 (万元)", + "负责人", + "联系电话" + ], + "excludedFields": [ + "备注", + "Unnamed:14", + "Unnamed:15", + "Unnamed:16", + "Unnamed:17", + "Unnamed:18", + "Unnamed:19", + "Unnamed:20", + "Unnamed:21", + "Unnamed:22", + "Unnamed:23", + "Unnamed:24", + "Unnamed:25", + "Unnamed:26", + "Unnamed:27", + "Unnamed:28", + "Unnamed:29", + "Unnamed:30", + "Unnamed:31", + "Unnamed:32", + "Unnamed:33", + "Unnamed:34", + "Unnamed:35" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "农机装备", + "categoryCode": "YC-FARM-EQUIPMENT", + "rawRowCount": 2, + "keptFields": [ + "主体全称", + "简称", + "所属乡镇", + "经度", + "纬度", + "运营状态", + "组织形式", + "主要服务项目", + "主要设备类型", + "设备总台数 (台)", + "可出租设备数 (台)", + "服务覆盖乡镇数", + "收费标准", + "服务热线", + "年产值 (万元)", + "负责人", + "联系电话" + ], + "excludedFields": [ + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "疫病防控", + "categoryCode": "YC-DISEASE-CONTROL", + "rawRowCount": 3, + "keptFields": [ + "主体全称", + "详细地址", + "经度", + "纬度", + "运营状态", + "服务覆盖乡镇数", + "主要服务内容", + "持证兽医数", + "是否 24 小时应急", + "联系电话" + ], + "excludedFields": [ + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "技术培训", + "categoryCode": "YC-TECH-TRAINING", + "rawRowCount": 8, + "keptFields": [ + "序号", + "机构全称", + "机构类型", + "所属乡镇", + "红原办公地址", + "培训等级", + "年培训场次", + "年培训人次", + "单次最大容纳人数", + "主要培训内容", + "核心专家团队", + "最近培训时间", + "下期培训计划(时间 + 内容)", + "联系人", + "联系电话" + ], + "excludedFields": [ + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "金融服务网点", + "categoryCode": "YC-SERVICE-FINANCE", + "rawRowCount": 4, + "keptFields": [ + "序号", + "银行全称", + "简称", + "红原支行地址", + "经度", + "纬度", + "服务覆盖乡镇数", + "主要贷款产品(可多选)", + "最高单户贷款额度 (万元)", + "最长贷款期限 (年)", + "年利率范围", + "还款方式", + "联系人", + "信贷联系电话" + ], + "excludedFields": [ + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "保险服务网点", + "categoryCode": "YC-SERVICE-INSURANCE", + "rawRowCount": 4, + "keptFields": [ + "序号", + "公司全称", + "简称", + "红原支公司地址", + "经度", + "纬度", + "服务覆盖乡镇数", + "主要承保险种(可多选)", + "24 小时理赔热线", + "2025 年承保牦牛数量 (头)", + "平均理赔时效 (天)", + "最高单头赔付金额 (元)", + "联系人", + "联系电话" + ], + "excludedFields": [ + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sheetName": "林草局数据", + "categoryCode": "YC-GRASSLAND-RESOURCE", + "rawRowCount": 4, + "keptFields": [ + "天然草原改良", + "人工种草", + "鼠虫害防治", + "全县草原面积", + "基本草原面积", + "一般草原面积", + "湿地面积", + "灌木林面积", + "围栏封育面积", + "生态奖补面积,到每个村" + ], + "excludedFields": [ + "Unnamed:0", + "Unnamed:11", + "备注" + ] + }, + { + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sheetName": "Sheet1", + "categoryCode": "YC-FAMILY-PASTURE", + "rawRowCount": 82, + "keptFields": [ + "序号", + "乡镇", + "点位", + "户主", + "暖棚经纬度", + "管理用房经纬度", + "坐落" + ], + "excludedFields": [ + "身份证", + "备注" + ] + }, + { + "sourceFile": "cxpt PostgreSQL database", + "sheetName": "t_base_land", + "categoryCode": "YC-CXPT-*", + "rawRowCount": 46, + "keptFields": [ + "id", + "name", + "type", + "area_code", + "address", + "scale", + "acreage", + "leader", + "tel", + "leader_phone", + "geom centroid" + ], + "excludedFields": [ + "description", + "imgs", + "remarks" + ] + } + ], + "categories": [ + { + "categoryCode": "YC-FAMILY-PASTURE", + "categoryName": "家庭生态牧场", + "industryStage": "family-pasture", + "sources": [ + "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx:Sheet1" + ], + "itemCount": 82, + "items": [ + { + "id": "YC-FAMILY-PASTURE-001", + "name": "安曲镇夺龙村1号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "夺龙村", + "pointName": "1号点", + "locations": { + "greenhouse": { + "longitude": 102.45047712, + "latitude": 32.61360272 + }, + "managementHouse": { + "longitude": 102.45082378, + "latitude": 32.6136657 + } + }, + "contacts": { + "owner": "拿木甲" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-002", + "name": "安曲镇夺龙村2号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "夺龙村", + "pointName": "2号点", + "locations": { + "greenhouse": { + "longitude": 102.34691526, + "latitude": 32.61425696 + }, + "managementHouse": { + "longitude": 102.34697849, + "latitude": 32.61455374 + } + }, + "contacts": { + "owner": "桑我甲" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-003", + "name": "安曲镇夺龙村3号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "夺龙村", + "pointName": "3号点", + "locations": { + "greenhouse": { + "longitude": 102.37805264, + "latitude": 32.5692703 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "泽朗罗日" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-004", + "name": "安曲镇哈拉玛村4号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "哈拉玛村", + "pointName": "4号点", + "locations": { + "greenhouse": { + "longitude": 102.31781652, + "latitude": 32.67023409 + }, + "managementHouse": { + "longitude": 102.318167, + "latitude": 32.67018808 + } + }, + "contacts": { + "owner": "德清旺姆" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-005", + "name": "安曲镇下哈拉玛村5号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "下哈拉玛村", + "pointName": "5号点", + "locations": { + "greenhouse": { + "longitude": 102.43198641, + "latitude": 32.73093298 + }, + "managementHouse": { + "longitude": 102.43182146, + "latitude": 32.73162602 + } + }, + "contacts": {}, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-006", + "name": "安曲镇下哈拉玛村6号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "下哈拉玛村", + "pointName": "6号点", + "locations": { + "greenhouse": { + "longitude": 102.42615548, + "latitude": 32.80562386 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": {}, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-007", + "name": "安曲镇下哈拉玛村7号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "安曲镇", + "village": "下哈拉玛村", + "pointName": "7号点", + "locations": { + "greenhouse": { + "longitude": 102.43325488, + "latitude": 32.76769519 + }, + "managementHouse": { + "longitude": 102.43310351, + "latitude": 32.76736081 + } + }, + "contacts": { + "owner": "尺真" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-008", + "name": "龙日镇龙日坝村8号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "龙日坝村", + "pointName": "8号点", + "locations": { + "greenhouse": { + "longitude": 102.34174988, + "latitude": 32.51793446 + }, + "managementHouse": { + "longitude": 102.34150772, + "latitude": 32.51809855 + } + }, + "contacts": { + "owner": "扎花甲初" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-009", + "name": "龙日镇龙日坝村9号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "龙日坝村", + "pointName": "9号点", + "locations": { + "greenhouse": { + "longitude": 102.39106026, + "latitude": 32.41522425 + }, + "managementHouse": { + "longitude": 102.39163622, + "latitude": 32.41535563 + } + }, + "contacts": { + "owner": "刘永秀" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-010", + "name": "龙日镇龙日坝村10号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "龙日坝村", + "pointName": "10号点", + "locations": { + "greenhouse": { + "longitude": 102.36445049, + "latitude": 32.46856208 + }, + "managementHouse": { + "longitude": 102.36479551, + "latitude": 32.4682826 + } + }, + "contacts": { + "owner": "尼西甲" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-011", + "name": "龙日镇龙日坝村11号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "龙日坝村", + "pointName": "11号点", + "locations": { + "greenhouse": { + "longitude": 102.36543866, + "latitude": 32.46986063 + }, + "managementHouse": { + "longitude": 102.36574919, + "latitude": 32.46984022 + } + }, + "contacts": { + "owner": "尕尔穷" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-012", + "name": "龙日镇壤噶夺玛村12号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "壤噶夺玛村", + "pointName": "12号点", + "locations": { + "greenhouse": { + "longitude": 102.47723794, + "latitude": 32.45980785 + }, + "managementHouse": { + "longitude": 102.47729207, + "latitude": 32.45943812 + } + }, + "contacts": { + "owner": "拉玛扎西" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-013", + "name": "龙日镇龙日坝村12号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "龙日坝村", + "pointName": "12号点", + "locations": { + "greenhouse": { + "longitude": null, + "latitude": null + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": {}, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-014", + "name": "龙日镇格玛村13号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "格玛村", + "pointName": "13号点", + "locations": { + "greenhouse": { + "longitude": 102.57181204, + "latitude": 32.57674824 + }, + "managementHouse": { + "longitude": 102.57153908, + "latitude": 32.57642249 + } + }, + "contacts": { + "owner": "索迫" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-015", + "name": "龙日镇格玛村14号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "格玛村", + "pointName": "14号点", + "locations": { + "greenhouse": { + "longitude": 102.56396058, + "latitude": 32.5657272 + }, + "managementHouse": { + "longitude": 102.56368441, + "latitude": 32.56554011 + } + }, + "contacts": { + "owner": "让白" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-016", + "name": "龙日镇格玛村15号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "格玛村", + "pointName": "15号点", + "locations": { + "greenhouse": { + "longitude": 102.47353743, + "latitude": 32.53889572 + }, + "managementHouse": { + "longitude": 102.47340175, + "latitude": 32.5391063 + } + }, + "contacts": { + "owner": "罗周" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-017", + "name": "龙日镇格玛村16号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "格玛村", + "pointName": "16号点", + "locations": { + "greenhouse": { + "longitude": 102.55268505, + "latitude": 32.54389452 + }, + "managementHouse": { + "longitude": 102.55244875, + "latitude": 32.543925 + } + }, + "contacts": { + "owner": "贡波" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-018", + "name": "龙日镇格玛村17号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "格玛村", + "pointName": "17号点", + "locations": { + "greenhouse": { + "longitude": 102.55699444, + "latitude": 32.51600578 + }, + "managementHouse": { + "longitude": 102.55661126, + "latitude": 32.51593726 + } + }, + "contacts": { + "owner": "阿新" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-019", + "name": "龙日镇壤噶夺玛村18号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "壤噶夺玛村", + "pointName": "18号点", + "locations": { + "greenhouse": { + "longitude": 102.45743039, + "latitude": 32.50039193 + }, + "managementHouse": { + "longitude": 102.45747569, + "latitude": 32.4997112 + } + }, + "contacts": { + "owner": "南木青" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-020", + "name": "龙日镇壤噶夺玛村19号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "壤噶夺玛村", + "pointName": "19号点", + "locations": { + "greenhouse": { + "longitude": 102.51569341, + "latitude": 32.46983718 + }, + "managementHouse": { + "longitude": 102.51611367, + "latitude": 32.46971999 + } + }, + "contacts": { + "owner": "桑白" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-021", + "name": "龙日镇壤噶夺玛村20号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "壤噶夺玛村", + "pointName": "20号点", + "locations": { + "greenhouse": { + "longitude": 102.44978266, + "latitude": 32.53944862 + }, + "managementHouse": { + "longitude": 102.44969589, + "latitude": 32.53923831 + } + }, + "contacts": { + "owner": "尼玛" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-022", + "name": "龙日镇壤噶夺玛村21号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "壤噶夺玛村", + "pointName": "21号点", + "locations": { + "greenhouse": { + "longitude": 102.47179278, + "latitude": 32.40707185 + }, + "managementHouse": { + "longitude": 102.47150078, + "latitude": 32.40722678 + } + }, + "contacts": { + "owner": "求扎" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-023", + "name": "龙日镇壤噶夺玛村22号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "龙日镇", + "village": "壤噶夺玛村", + "pointName": "22号点", + "locations": { + "greenhouse": { + "longitude": 102.49088427, + "latitude": 32.4950118 + }, + "managementHouse": { + "longitude": 102.49071333, + "latitude": 32.49521145 + } + }, + "contacts": { + "owner": "俄白" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-024", + "name": "邛溪镇玛萨村23号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "玛萨村", + "pointName": "23号点", + "locations": { + "greenhouse": { + "longitude": 102.63389415, + "latitude": 32.77017909 + }, + "managementHouse": { + "longitude": 102.6341466, + "latitude": 32.77015436 + } + }, + "contacts": { + "owner": "杨中泽仁" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-025", + "name": "邛溪镇玛萨村24号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "玛萨村", + "pointName": "24号点", + "locations": { + "greenhouse": { + "longitude": 102.55578247, + "latitude": 32.71974519 + }, + "managementHouse": { + "longitude": 102.55496732, + "latitude": 32.71987605 + } + }, + "contacts": { + "owner": "西泽" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-026", + "name": "邛溪镇玛萨村25号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "玛萨村", + "pointName": "25号点", + "locations": { + "greenhouse": { + "longitude": 102.5948059, + "latitude": 32.73476878 + }, + "managementHouse": { + "longitude": 102.59523521, + "latitude": 32.73509347 + } + }, + "contacts": { + "owner": "阿尔布基" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-027", + "name": "邛溪镇玛萨村26号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "玛萨村", + "pointName": "26号点", + "locations": { + "greenhouse": { + "longitude": 102.63704412, + "latitude": 32.8134533 + }, + "managementHouse": { + "longitude": 102.63713205, + "latitude": 32.81316056 + } + }, + "contacts": { + "owner": "兰卡" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-028", + "name": "邛溪镇达格龙村27号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "达格龙村", + "pointName": "27号点", + "locations": { + "greenhouse": { + "longitude": 102.50979432, + "latitude": 32.80879562 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "华扎" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-029", + "name": "邛溪镇达格龙村28号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "达格龙村", + "pointName": "28号点", + "locations": { + "greenhouse": { + "longitude": 102.46200958, + "latitude": 32.954686 + }, + "managementHouse": { + "longitude": 102.46173752, + "latitude": 32.95518424 + } + }, + "contacts": { + "owner": "勒西" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-030", + "name": "邛溪镇达格龙村29号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "达格龙村", + "pointName": "29号点", + "locations": { + "greenhouse": { + "longitude": 102.70045355, + "latitude": 32.72249951 + }, + "managementHouse": { + "longitude": 102.70020081, + "latitude": 32.72191648 + } + }, + "contacts": { + "owner": "夺基泽单" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-031", + "name": "邛溪镇麻色阳德村30号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "麻色阳德村", + "pointName": "30号点", + "locations": { + "greenhouse": { + "longitude": 102.5118488, + "latitude": 32.93352001 + }, + "managementHouse": { + "longitude": 102.51242484, + "latitude": 32.93367637 + } + }, + "contacts": { + "owner": "卡卓措" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-032", + "name": "邛溪镇麻色阳德村31号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "麻色阳德村", + "pointName": "31号点", + "locations": { + "greenhouse": { + "longitude": 102.52277514, + "latitude": 32.95178758 + }, + "managementHouse": { + "longitude": 102.52268299, + "latitude": 32.95119696 + } + }, + "contacts": { + "owner": "甲花若巴" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-033", + "name": "邛溪镇麻色阳德村32号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "麻色阳德村", + "pointName": "32号点", + "locations": { + "greenhouse": { + "longitude": 102.54154441, + "latitude": 32.97243338 + }, + "managementHouse": { + "longitude": 102.54114597, + "latitude": 32.97254854 + } + }, + "contacts": { + "owner": "布穷" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-034", + "name": "邛溪镇热坤村33号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "热坤村", + "pointName": "33号点", + "locations": { + "greenhouse": { + "longitude": 102.68837196, + "latitude": 32.90189172 + }, + "managementHouse": { + "longitude": 102.68834131, + "latitude": 32.90209342 + } + }, + "contacts": { + "owner": "丹姆初" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-035", + "name": "邛溪镇热坤村34号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "热坤村", + "pointName": "34号点", + "locations": { + "greenhouse": { + "longitude": 102.66431407, + "latitude": 32.89220187 + }, + "managementHouse": { + "longitude": 102.6640831, + "latitude": 32.89217135 + } + }, + "contacts": { + "owner": "塔尔洼" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-036", + "name": "邛溪镇热坤村35号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "热坤村", + "pointName": "35号点", + "locations": { + "greenhouse": { + "longitude": 102.57510429, + "latitude": 32.8117671 + }, + "managementHouse": { + "longitude": 102.57449573, + "latitude": 32.81193451 + } + }, + "contacts": { + "owner": "相木秋" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-037", + "name": "邛溪镇热多村36号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "热多村", + "pointName": "36号点", + "locations": { + "greenhouse": { + "longitude": 102.60036425, + "latitude": 32.96680279 + }, + "managementHouse": { + "longitude": 102.59972676, + "latitude": 32.96673649 + } + }, + "contacts": { + "owner": "索科" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-038", + "name": "邛溪镇热多村37号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "热多村", + "pointName": "37号点", + "locations": { + "greenhouse": { + "longitude": 102.5418407, + "latitude": 32.92737961 + }, + "managementHouse": { + "longitude": 102.54097207, + "latitude": 32.92694872 + } + }, + "contacts": { + "owner": "容中黑周" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-039", + "name": "邛溪镇热多村38号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "邛溪镇", + "village": "热多村", + "pointName": "38号点", + "locations": { + "greenhouse": { + "longitude": 102.58801957, + "latitude": 32.88408206 + }, + "managementHouse": { + "longitude": 102.58826677, + "latitude": 32.88476392 + } + }, + "contacts": { + "owner": "桑都" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-040", + "name": "查尔玛乡什布龙村39号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "什布龙村", + "pointName": "39号点", + "locations": { + "greenhouse": { + "longitude": 102.07972827, + "latitude": 32.47333689 + }, + "managementHouse": { + "longitude": 102.07991934, + "latitude": 32.47311379 + } + }, + "contacts": { + "owner": "茫兴" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-041", + "name": "查尔玛乡什布龙村40号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "什布龙村", + "pointName": "40号点", + "locations": { + "greenhouse": { + "longitude": 102.02905511, + "latitude": 32.43749287 + }, + "managementHouse": { + "longitude": 102.02913011, + "latitude": 32.43776256 + } + }, + "contacts": { + "owner": "得基卓玛" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-042", + "name": "查尔玛乡什布龙村41号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "什布龙村", + "pointName": "41号点", + "locations": { + "greenhouse": { + "longitude": 102.02290624, + "latitude": 32.46043784 + }, + "managementHouse": { + "longitude": 102.02292951, + "latitude": 32.46024019 + } + }, + "contacts": { + "owner": "俄玛" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-043", + "name": "查尔玛乡什布龙村42号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "什布龙村", + "pointName": "42号点", + "locations": { + "greenhouse": { + "longitude": null, + "latitude": null + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "能周" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-044", + "name": "查尔玛乡查龙村43号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "查龙村", + "pointName": "43号点", + "locations": { + "greenhouse": { + "longitude": 101.9504197, + "latitude": 32.41285591 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "桑都措" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-045", + "name": "查尔玛乡查龙村44号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "查龙村", + "pointName": "44号点", + "locations": { + "greenhouse": { + "longitude": 101.93515169, + "latitude": 32.42601524 + }, + "managementHouse": { + "longitude": 101.93533172, + "latitude": 32.42625182 + } + }, + "contacts": { + "owner": "求沙" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-046", + "name": "查尔玛乡查龙村45号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "查龙村", + "pointName": "45号点", + "locations": { + "greenhouse": { + "longitude": 101.95330639, + "latitude": 32.50669919 + }, + "managementHouse": { + "longitude": 101.95319961, + "latitude": 32.50653773 + } + }, + "contacts": { + "owner": "旦渣" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-047", + "name": "查尔玛乡达尔龙村46号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "达尔龙村", + "pointName": "46号点", + "locations": { + "greenhouse": { + "longitude": 102.13292789, + "latitude": 32.44464674 + }, + "managementHouse": { + "longitude": 102.13310816, + "latitude": 32.44495604 + } + }, + "contacts": { + "owner": "达玛王" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-048", + "name": "查尔玛乡达尔龙村47号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "达尔龙村", + "pointName": "47号点", + "locations": { + "greenhouse": { + "longitude": 102.1000073, + "latitude": 32.52950127 + }, + "managementHouse": { + "longitude": 102.10031343, + "latitude": 32.52946984 + } + }, + "contacts": { + "owner": "吉措" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-049", + "name": "查尔玛乡达尔龙村48号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "查尔玛乡", + "village": "达尔龙村", + "pointName": "48号点", + "locations": { + "greenhouse": { + "longitude": 102.11832613, + "latitude": 32.54201141 + }, + "managementHouse": { + "longitude": 102.1186522, + "latitude": 32.54205879 + } + }, + "contacts": { + "owner": "然让" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-050", + "name": "瓦切镇德香村49号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "德香村", + "pointName": "49号点", + "locations": { + "greenhouse": { + "longitude": 102.59826937, + "latitude": 33.15242954 + }, + "managementHouse": { + "longitude": 102.59817262, + "latitude": 33.15279516 + } + }, + "contacts": { + "owner": "索郎益西" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-051", + "name": "瓦切镇德香村50号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "德香村", + "pointName": "50号点", + "locations": { + "greenhouse": { + "longitude": 102.58881798, + "latitude": 33.13491038 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "阿布洛" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-052", + "name": "瓦切镇德香村51号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "德香村", + "pointName": "51号点", + "locations": { + "greenhouse": { + "longitude": 102.62447024, + "latitude": 33.14756405 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "甲花扎巴" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-053", + "name": "瓦切镇唐日村52号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "唐日村", + "pointName": "52号点", + "locations": { + "greenhouse": { + "longitude": 102.60249352, + "latitude": 33.06252399 + }, + "managementHouse": { + "longitude": 102.60287876, + "latitude": 33.06269322 + } + }, + "contacts": { + "owner": "桑阿" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-054", + "name": "瓦切镇唐日村53号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "唐日村", + "pointName": "53号点", + "locations": { + "greenhouse": { + "longitude": 102.6195876, + "latitude": 33.07660844 + }, + "managementHouse": { + "longitude": 102.62023015, + "latitude": 33.07672504 + } + }, + "contacts": { + "owner": "泽旺卓玛" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-055", + "name": "瓦切镇唐日村54号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "唐日村", + "pointName": "54号点", + "locations": { + "greenhouse": { + "longitude": 102.65878993, + "latitude": 33.0443906 + }, + "managementHouse": { + "longitude": 102.65907881, + "latitude": 33.04426714 + } + }, + "contacts": { + "owner": "达多杰" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-056", + "name": "瓦切镇曲登塘社区55号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "曲登塘社区", + "pointName": "55号点", + "locations": { + "greenhouse": { + "longitude": 102.60968583, + "latitude": 33.05324231 + }, + "managementHouse": { + "longitude": 102.60900684, + "latitude": 33.05296943 + } + }, + "contacts": { + "owner": "甲花" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-057", + "name": "瓦切镇达峨村56号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "达峨村", + "pointName": "56号点", + "locations": { + "greenhouse": { + "longitude": 102.60365851, + "latitude": 33.08085512 + }, + "managementHouse": { + "longitude": 102.60388795, + "latitude": 33.080497 + } + }, + "contacts": { + "owner": "普尔娃他" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-058", + "name": "瓦切镇达峨村57号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "达峨村", + "pointName": "57号点", + "locations": { + "greenhouse": { + "longitude": 102.60526934, + "latitude": 33.03662516 + }, + "managementHouse": { + "longitude": 102.60558227, + "latitude": 33.03649561 + } + }, + "contacts": { + "owner": "腊夺" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-059", + "name": "瓦切镇达峨村58号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "达峨村", + "pointName": "58号点", + "locations": { + "greenhouse": { + "longitude": 102.68739311, + "latitude": 33.0149217 + }, + "managementHouse": { + "longitude": 102.68677242, + "latitude": 33.01494028 + } + }, + "contacts": { + "owner": "拉姆姐" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-060", + "name": "瓦切镇日干村59号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "日干村", + "pointName": "59号点", + "locations": { + "greenhouse": { + "longitude": 102.75821556, + "latitude": 33.05186118 + }, + "managementHouse": { + "longitude": 102.75797357, + "latitude": 33.05247976 + } + }, + "contacts": { + "owner": "尔金姐" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-061", + "name": "瓦切镇日干村60号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "日干村", + "pointName": "60号点", + "locations": { + "greenhouse": { + "longitude": 102.72188962, + "latitude": 33.09419876 + }, + "managementHouse": { + "longitude": 102.72144107, + "latitude": 33.09435508 + } + }, + "contacts": { + "owner": "果·尼科" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-062", + "name": "瓦切镇日干村61号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "日干村", + "pointName": "61号点", + "locations": { + "greenhouse": { + "longitude": 102.61834278, + "latitude": 33.16780533 + }, + "managementHouse": { + "longitude": null, + "latitude": null + } + }, + "contacts": { + "owner": "苏拉王" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-063", + "name": "瓦切镇色永村62号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "色永村", + "pointName": "62号点", + "locations": { + "greenhouse": { + "longitude": 102.80909925, + "latitude": 33.03857555 + }, + "managementHouse": { + "longitude": 102.80956551, + "latitude": 33.03877017 + } + }, + "contacts": { + "owner": "桑阿" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-064", + "name": "瓦切镇色永村63号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "色永村", + "pointName": "63号点", + "locations": { + "greenhouse": { + "longitude": 102.82561727, + "latitude": 33.03236022 + }, + "managementHouse": { + "longitude": 102.82588257, + "latitude": 33.03170874 + } + }, + "contacts": { + "owner": "卓玛娜姆" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-065", + "name": "瓦切镇色永村64号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "瓦切镇", + "village": "色永村", + "pointName": "64号点", + "locations": { + "greenhouse": { + "longitude": 102.83285089, + "latitude": 33.02300106 + }, + "managementHouse": { + "longitude": 102.83282822, + "latitude": 33.02336202 + } + }, + "contacts": { + "owner": "麦朵拉姆" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-066", + "name": "江茸乡江宫玛村65号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "江宫玛村", + "pointName": "65号点", + "locations": { + "greenhouse": { + "longitude": 102.20070669, + "latitude": 32.42224384 + }, + "managementHouse": { + "longitude": 102.19990732, + "latitude": 32.42229086 + } + }, + "contacts": { + "owner": "支多娜姆" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-067", + "name": "江茸乡江宫玛村66号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "江宫玛村", + "pointName": "66号点", + "locations": { + "greenhouse": { + "longitude": 102.20320835, + "latitude": 32.43908196 + }, + "managementHouse": { + "longitude": 102.20292182, + "latitude": 32.43868925 + } + }, + "contacts": { + "owner": "俄波" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-068", + "name": "江茸乡江宫玛村67号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "江宫玛村", + "pointName": "67号点", + "locations": { + "greenhouse": { + "longitude": 102.22170157, + "latitude": 32.47727277 + }, + "managementHouse": { + "longitude": 102.2217086, + "latitude": 32.4769641 + } + }, + "contacts": { + "owner": "格日" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-069", + "name": "江茸乡茸日玛村68号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "茸日玛村", + "pointName": "68号点", + "locations": { + "greenhouse": { + "longitude": 102.22028091, + "latitude": 32.50928539 + }, + "managementHouse": { + "longitude": 102.21973813, + "latitude": 32.50918264 + } + }, + "contacts": { + "owner": "更让尼玛" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-070", + "name": "江茸乡茸日玛村69号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "茸日玛村", + "pointName": "69号点", + "locations": { + "greenhouse": { + "longitude": 102.22815984, + "latitude": 32.51915025 + }, + "managementHouse": { + "longitude": 102.22810898, + "latitude": 32.51942 + } + }, + "contacts": { + "owner": "罗布让" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-071", + "name": "江茸乡茸日玛村70号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "茸日玛村", + "pointName": "70号点", + "locations": { + "greenhouse": { + "longitude": 102.22913952, + "latitude": 32.50866903 + }, + "managementHouse": { + "longitude": 102.22938935, + "latitude": 32.50833256 + } + }, + "contacts": { + "owner": "王甲" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-072", + "name": "江茸乡茸日玛村71号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "江茸乡", + "village": "茸日玛村", + "pointName": "71号点", + "locations": { + "greenhouse": { + "longitude": 102.23962706, + "latitude": 32.48083944 + }, + "managementHouse": { + "longitude": 102.23990168, + "latitude": 32.48078901 + } + }, + "contacts": { + "owner": "占波" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-073", + "name": "刷经寺镇壤口村72号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "刷经寺镇", + "village": "壤口村", + "pointName": "72号点", + "locations": { + "greenhouse": { + "longitude": 102.61148498, + "latitude": 32.08914501 + }, + "managementHouse": { + "longitude": 102.61169021, + "latitude": 32.08932106 + } + }, + "contacts": { + "owner": "罗日" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-074", + "name": "刷经寺镇壤口村73号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "刷经寺镇", + "village": "壤口村", + "pointName": "73号点", + "locations": { + "greenhouse": { + "longitude": 102.5699463, + "latitude": 32.08635954 + }, + "managementHouse": { + "longitude": 102.56962246, + "latitude": 32.08623818 + } + }, + "contacts": { + "owner": "甲花夺基" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-075", + "name": "刷经寺镇壤口村74号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "刷经寺镇", + "village": "壤口村", + "pointName": "74号点", + "locations": { + "greenhouse": { + "longitude": 102.48249928, + "latitude": 32.20799391 + }, + "managementHouse": { + "longitude": 102.48240109, + "latitude": 32.20777413 + } + }, + "contacts": { + "owner": "供木丹" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-076", + "name": "刷经寺镇壤口村75号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "刷经寺镇", + "village": "壤口村", + "pointName": "75号点", + "locations": { + "greenhouse": { + "longitude": 102.55912658, + "latitude": 32.38683384 + }, + "managementHouse": { + "longitude": 102.5588633, + "latitude": 32.38692708 + } + }, + "contacts": { + "owner": "华尔白" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-077", + "name": "阿木乡峨扎村76号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "阿木乡", + "village": "峨扎村", + "pointName": "76号点", + "locations": { + "greenhouse": { + "longitude": 102.67883757, + "latitude": 32.93485478 + }, + "managementHouse": { + "longitude": 102.67850122, + "latitude": 32.93495695 + } + }, + "contacts": { + "owner": "谢尔拉姆" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-078", + "name": "阿木乡峨扎村77号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "阿木乡", + "village": "峨扎村", + "pointName": "77号点", + "locations": { + "greenhouse": { + "longitude": 102.8392576, + "latitude": 32.77165891 + }, + "managementHouse": { + "longitude": 102.83999152, + "latitude": 32.77133407 + } + }, + "contacts": { + "owner": "若巴" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-079", + "name": "阿木乡峨扎村78号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "阿木乡", + "village": "峨扎村", + "pointName": "78号点", + "locations": { + "greenhouse": { + "longitude": 102.78948161, + "latitude": 32.79853105 + }, + "managementHouse": { + "longitude": 102.79027109, + "latitude": 32.79883402 + } + }, + "contacts": { + "owner": "扑尔夺" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-080", + "name": "阿木乡卡口村79号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "阿木乡", + "village": "卡口村", + "pointName": "79号点", + "locations": { + "greenhouse": { + "longitude": 102.83426146, + "latitude": 32.86765306 + }, + "managementHouse": { + "longitude": 102.83380011, + "latitude": 32.86722605 + } + }, + "contacts": { + "owner": "甲基" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-081", + "name": "阿木乡卡口村80号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "阿木乡", + "village": "卡口村", + "pointName": "80号点", + "locations": { + "greenhouse": { + "longitude": 102.83237405, + "latitude": 32.82819561 + }, + "managementHouse": { + "longitude": 102.83189751, + "latitude": 32.82836028 + } + }, + "contacts": { + "owner": "尕得" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + }, + { + "id": "YC-FAMILY-PASTURE-082", + "name": "阿木乡卡口村81号点家庭牧场", + "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "sourceSheet": "Sheet1", + "town": "阿木乡", + "village": "卡口村", + "pointName": "81号点", + "locations": { + "greenhouse": { + "longitude": 102.7785588, + "latitude": 32.72665098 + }, + "managementHouse": { + "longitude": 102.77903691, + "latitude": 32.72696452 + } + }, + "contacts": { + "owner": "西夏唐美" + }, + "metrics": {}, + "attributes": { + "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" + } + } + ] + }, + { + "categoryCode": "YC-BREEDING-BASE", + "categoryName": "标准化养殖基地", + "industryStage": "scale-breeding", + "sources": [ + "详细数据清单-归档(1).xlsx:标准化养殖基地" + ], + "itemCount": 19, + "items": [ + { + "id": "YC-BREEDING-BASE-001", + "name": "阿木乡卡口村标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "阿木乡卡口乡", + "status": "正常运营", + "longitude": 102.63473007, + "latitude": 32.92227975, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 429, + "年出栏量 (头)": 35 + }, + "attributes": { + "运营单位": "阿木乡卡口村村集体经济", + "建设 / 升级年份": "2022年", + "监控设备情况": "已接入" + } + }, + { + "id": "YC-BREEDING-BASE-002", + "name": "瓦切唐日标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "唐日村", + "status": "正常运营", + "longitude": 102.6175964, + "latitude": 33.10971976, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 250 + }, + "attributes": { + "运营单位": "瓦切镇唐日村村集体经济", + "建设 / 升级年份": "2023年", + "监控设备情况": "已接入" + } + }, + { + "id": "YC-BREEDING-BASE-003", + "name": "瓦切镇标准化色永村养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "瓦切镇色永村", + "status": "正常运营", + "longitude": 102.62460529, + "latitude": 33.13967122, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 600, + "年出栏量 (头)": 1300 + }, + "attributes": { + "运营单位": "红原县高原犇犇农副产品有限公司", + "建设 / 升级年份": "2023年", + "监控设备情况": "2个在线,2个离线。电路在维修" + } + }, + { + "id": "YC-BREEDING-BASE-004", + "name": "瓦切镇达俄村标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "瓦切镇达俄村", + "status": "正常运营", + "longitude": 102.61994774, + "latitude": 33.07151208, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 500, + "年出栏量 (头)": 90 + }, + "attributes": { + "运营单位": "红原县雅卓阳养殖农民专业合作社", + "建设 / 升级年份": "2024年", + "监控设备情况": "3个设备离线,电线被施工方挖断了" + } + }, + { + "id": "YC-BREEDING-BASE-005", + "name": "安曲牦牛扩繁基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "夺龙村", + "status": "正常运营", + "longitude": 102.32214229, + "latitude": 32.64253259, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 200 + }, + "attributes": { + "运营单位": "红原县雅克农业开发有限责任公司", + "建设 / 升级年份": "2022年", + "监控设备情况": "已接入" + } + }, + { + "id": "YC-BREEDING-BASE-006", + "name": "安曲标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "夺龙村", + "status": "正常运营", + "longitude": 102.32390544, + "latitude": 32.63888471, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 600, + "年出栏量 (头)": 1300 + }, + "attributes": { + "运营单位": "红原县高原犇犇农副产品有限公司", + "建设 / 升级年份": "2022年", + "监控设备情况": "已接入" + } + }, + { + "id": "YC-BREEDING-BASE-007", + "name": "安曲下哈拉玛标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "安曲下哈拉玛村", + "status": "正常运营", + "longitude": 102.42837241, + "latitude": 32.7425359, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 100, + "年出栏量 (头)": 30 + }, + "attributes": { + "运营单位": "安曲下哈拉玛村村集体经济", + "建设 / 升级年份": "2023年", + "监控设备情况": "已接入" + } + }, + { + "id": "YC-BREEDING-BASE-008", + "name": "龙日坝标准化养殖基地 (2023)", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "龙日坝村", + "status": "正常运营", + "longitude": 102.38394817, + "latitude": 32.44966887, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 600, + "年出栏量 (头)": 1400 + }, + "attributes": { + "运营单位": "红原县雅克农业开发有限责任公司", + "建设 / 升级年份": 2023, + "监控设备情况": "等他们要到设备账号,然后再接入平台。" + } + }, + { + "id": "YC-BREEDING-BASE-009", + "name": "龙日坝标准化养殖基地 (2025)", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "龙日坝村", + "status": "正常运营", + "longitude": 102.38126323, + "latitude": 32.44955785, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 3000, + "年出栏量 (头)": 11000 + }, + "attributes": { + "运营单位": "红原县高原犇犇农副产品有限公司", + "建设 / 升级年份": 2025, + "监控设备情况": "预计月底完成设备安装,完成后再接入平台。" + } + }, + { + "id": "YC-BREEDING-BASE-010", + "name": "刷经寺嚷口标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "嚷口村", + "status": "正常运营", + "longitude": 102.48723433, + "latitude": 32.20562585, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 600 + }, + "attributes": { + "运营单位": "四川川数农牧科技有限公司", + "建设 / 升级年份": "2023年", + "监控设备情况": "已接入" + } + }, + { + "id": "YC-BREEDING-BASE-011", + "name": "麦洼乡标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "洞拉村", + "status": "正常运营", + "longitude": 102.90867472, + "latitude": 33.07181647, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 500, + "年出栏量 (头)": 1300 + }, + "attributes": { + "运营单位": "红原县高原犇犇农副产品有限公司", + "建设 / 升级年份": "2023年", + "监控设备情况": "断电导致设备离线" + } + }, + { + "id": "YC-BREEDING-BASE-012", + "name": "江茸绵羊养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "茸日村", + "status": "正常运营", + "longitude": 102.26005599, + "latitude": 32.50027984, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 502, + "年出栏量 (头)": 151 + }, + "attributes": { + "运营单位": "江茸乡茸日玛村集体经济", + "建设 / 升级年份": "2023年", + "监控设备情况": "没有设备" + } + }, + { + "id": "YC-BREEDING-BASE-013", + "name": "邛溪镇麻萨阳德村标准化养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "麻色阳德村", + "status": "正常运营", + "longitude": 102.55803526, + "latitude": 32.83725412, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 600, + "年出栏量 (头)": 400 + }, + "attributes": { + "运营单位": "红原县祥发牧业发展有限责任公司", + "建设 / 升级年份": 2024, + "监控设备情况": "等待联系具体情况" + } + }, + { + "id": "YC-BREEDING-BASE-014", + "name": "阿木乡峨扎村养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "峨扎村", + "status": "正常运营", + "longitude": 102.84054893, + "latitude": 32.81675104, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 114, + "年出栏量 (头)": 16 + }, + "attributes": { + "运营单位": "阿木乡", + "建设 / 升级年份": "2022年", + "监控设备情况": "没有设备" + } + }, + { + "id": "YC-BREEDING-BASE-015", + "name": "查尔玛查龙村养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "红原县查尔玛乡查龙村", + "status": "正常运营", + "longitude": 101.95890418, + "latitude": 32.3869733, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 83, + "年出栏量 (头)": 511 + }, + "attributes": { + "运营单位": "红原县查尔玛乡查龙村股份经济合作联合社", + "建设 / 升级年份": 2025, + "监控设备情况": "没有设备" + } + }, + { + "id": "YC-BREEDING-BASE-016", + "name": "查尔玛什布龙养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "红原县查尔玛乡什布龙村", + "status": "正常运营", + "longitude": 102.11433108, + "latitude": 32.42652249, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 60, + "年出栏量 (头)": 286 + }, + "attributes": { + "运营单位": "红原县查尔玛乡什布龙村股份经济合作联合社", + "建设 / 升级年份": 2022, + "监控设备情况": "没有设备" + } + }, + { + "id": "YC-BREEDING-BASE-017", + "name": "查尔玛达尔龙养殖基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "红原县查尔玛乡达尔龙村", + "status": "正常运营", + "longitude": 102.11709449, + "latitude": 32.4529061, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 147, + "年出栏量 (头)": 283 + }, + "attributes": { + "运营单位": "红原县查尔玛乡达尔龙村村股份经济合作联合社", + "建设 / 升级年份": 2024, + "监控设备情况": "没有设备" + } + }, + { + "id": "YC-BREEDING-BASE-018", + "name": "安曲下哈拉玛改良繁育基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "安曲下哈拉玛村", + "status": "正常运营", + "longitude": 102.47817887, + "latitude": 32.77041412, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 100, + "年出栏量 (头)": 30 + }, + "attributes": { + "运营单位": "安曲下哈拉玛村村集体经济", + "监控设备情况": "没有设备" + } + }, + { + "id": "YC-BREEDING-BASE-019", + "name": "麦洼利群合作社", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "标准化养殖基地", + "town": null, + "address": "麦洼乡滚塘村", + "status": "正常运营", + "longitude": 102.91754148, + "latitude": 33.05358447, + "contacts": {}, + "metrics": { + "设计存栏量 (头)": 400, + "年出栏量 (头)": 351 + }, + "attributes": { + "运营单位": "红原县鑫陶一家农业发展专业合作社", + "建设 / 升级年份": "2022年", + "监控设备情况": "没有设备" + } + } + ] + }, + { + "categoryCode": "YC-BREEDING-STOCK", + "categoryName": "育种繁育场", + "industryStage": "scale-breeding", + "sources": [ + "详细数据清单-归档(1).xlsx:育种场" + ], + "itemCount": 4, + "items": [ + { + "id": "YC-BREEDING-STOCK-001", + "name": "安曲牦牛扩繁基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "育种场", + "town": null, + "address": "安曲镇XX村", + "status": "正常运营", + "longitude": 102.32214229, + "latitude": 32.64253259, + "contacts": {}, + "metrics": {}, + "attributes": { + "简称": "安曲育种场", + "运营单位": "红原县雅克农业开发有限责任公司", + "育种等级": "县级", + "主要育种方向": "良种扩繁", + "基本介绍": "管理用房X间、厂房几间、占地多少、人员多少等。" + } + }, + { + "id": "YC-BREEDING-STOCK-002", + "name": "龙日镇农科院扩繁基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "育种场", + "town": null, + "address": null, + "status": "正常运营", + "longitude": 102.2948457, + "latitude": 32.52975262, + "contacts": {}, + "metrics": {}, + "attributes": { + "简称": "龙日种畜场", + "运营单位": "阿坝州农科院", + "建设 / 升级年份": 2024, + "育种等级": "省级", + "主要育种方向": "原种保护与选育", + "监控设备情况": "设备不支持" + } + }, + { + "id": "YC-BREEDING-STOCK-003", + "name": "龙日坝原种场", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "育种场", + "town": null, + "address": null, + "status": "正常运营", + "longitude": 102.29621044, + "latitude": 32.52968225, + "contacts": {}, + "metrics": {}, + "attributes": { + "简称": "龙日原种场", + "运营单位": "阿坝州农科院", + "育种等级": "省级", + "主要育种方向": "麦洼牦牛原种保护", + "监控设备情况": "设备不支持" + } + }, + { + "id": "YC-BREEDING-STOCK-004", + "name": "麦洼洞拉村达坤玛选育场", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "育种场", + "town": null, + "address": null, + "status": null, + "longitude": 102.90220018, + "latitude": 33.07630283, + "contacts": {}, + "metrics": {}, + "attributes": { + "运营单位": "麦洼乡", + "监控设备情况": "没有设备" + } + } + ] + }, + { + "categoryCode": "YC-FORAGE-BASE", + "categoryName": "种草饲草基地", + "industryStage": "artificial-grassland", + "sources": [ + "详细数据清单-归档(1).xlsx:种草饲草基地" + ], + "itemCount": 8, + "items": [ + { + "id": "YC-FORAGE-BASE-001", + "name": "红原机场种草基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": "龙日镇", + "address": null, + "status": "正常运营", + "longitude": 102.3421702, + "latitude": 32.56665418, + "contacts": {}, + "metrics": { + "种植面积 (亩)": 1000 + }, + "attributes": { + "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" + } + }, + { + "id": "YC-FORAGE-BASE-002", + "name": "龙日镇饲草种植基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": "龙日镇", + "address": null, + "status": "正常运营", + "longitude": 102.41691162, + "latitude": 32.4065831, + "contacts": {}, + "metrics": { + "种植面积 (亩)": 10000 + }, + "attributes": { + "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" + } + }, + { + "id": "YC-FORAGE-BASE-003", + "name": "安曲饲草基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": "安曲镇", + "address": null, + "status": "正常运营", + "longitude": 102.42757952, + "latitude": 32.74443722, + "contacts": {}, + "metrics": { + "种植面积 (亩)": 2000 + }, + "attributes": { + "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" + } + }, + { + "id": "YC-FORAGE-BASE-004", + "name": "瓦切饲草基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": "瓦切镇", + "address": null, + "status": "正常运营", + "longitude": 102.59922971, + "latitude": 33.10319702, + "contacts": {}, + "metrics": { + "种植面积 (亩)": 7000 + }, + "attributes": { + "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" + } + }, + { + "id": "YC-FORAGE-BASE-005", + "name": "江茸饲草基地", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": null, + "address": null, + "status": null, + "longitude": 102.26164962, + "latitude": 32.50057455, + "contacts": {}, + "metrics": { + "种植面积 (亩)": 1000 + }, + "attributes": {} + }, + { + "id": "YC-FORAGE-BASE-006", + "name": "畜牧工作站", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + }, + { + "id": "YC-FORAGE-BASE-007", + "name": "规划建设股", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + }, + { + "id": "YC-FORAGE-BASE-008", + "name": "数据欠缺,请两个股室核定饲草基地数据。", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "种草饲草基地", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-DISASTER-FORAGE-STORAGE", + "categoryName": "防灾减灾饲草储备库", + "industryStage": "forage-storage", + "sources": [ + "详细数据清单-归档(1).xlsx:防灾减灾饲草储备库" + ], + "itemCount": 7, + "items": [ + { + "id": "YC-DISASTER-FORAGE-STORAGE-001", + "name": "嚷口防灾减灾饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "刷经寺镇", + "address": "壤口村", + "status": "正常运营", + "longitude": 102.489619, + "latitude": 32.20577086, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "红原县农业农村局", + "储备草种": "燕麦草、披碱草、老芒麦" + } + }, + { + "id": "YC-DISASTER-FORAGE-STORAGE-002", + "name": "安曲防灾减灾饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "安曲镇", + "address": "夺龙村", + "status": "正常运营", + "longitude": 102.3283137, + "latitude": 32.63727531, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "红原县农业农村局", + "储备草种": "燕麦草、披碱草、老芒麦" + } + }, + { + "id": "YC-DISASTER-FORAGE-STORAGE-003", + "name": "瓦切唐日合作社饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "瓦切镇", + "address": "唐日村", + "status": "正常运营", + "longitude": 102.6162349, + "latitude": 33.11047864, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "瓦切唐日合作社", + "储备草种": "燕麦草、披碱草、老芒麦" + } + }, + { + "id": "YC-DISASTER-FORAGE-STORAGE-004", + "name": "瓦切牧草交易中心饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "瓦切镇", + "address": "达俄村", + "status": "正常运营", + "longitude": 102.6014834, + "latitude": 33.09604707, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "红原县农业农村局", + "储备草种": "燕麦草、披碱草、老芒麦" + } + }, + { + "id": "YC-DISASTER-FORAGE-STORAGE-005", + "name": "龙日坝龙日坝村 1 饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "龙日镇", + "address": "龙日坝村", + "status": "正常运营", + "longitude": 102.383916, + "latitude": 32.44992916, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "红原县农业农村局", + "储备草种": "燕麦草、披碱草、老芒麦" + } + }, + { + "id": "YC-DISASTER-FORAGE-STORAGE-006", + "name": "龙日坝龙日坝村 2 饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "龙日镇", + "address": "龙日坝村", + "status": "正常运营", + "longitude": 102.3834086, + "latitude": 32.45041994, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "红原县农业农村局", + "储备草种": "燕麦草、披碱草、老芒麦" + } + }, + { + "id": "YC-DISASTER-FORAGE-STORAGE-007", + "name": "江茸乡饲草储备库", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "防灾减灾饲草储备库", + "town": "江茸乡", + "address": "茸日玛村", + "status": "正常运营", + "longitude": 102.256868, + "latitude": 32.46996565, + "contacts": {}, + "metrics": { + "总库容 (吨)": 1500, + "发放次数": "3-4次" + }, + "attributes": { + "上级单位": "江茸乡", + "储备草种": "燕麦草、披碱草、老芒麦" + } + } + ] + }, + { + "categoryCode": "YC-PROCESSING-PLANT", + "categoryName": "加工厂", + "industryStage": "slaughter-processing", + "sources": [ + "详细数据清单-归档(1).xlsx:加工厂" + ], + "itemCount": 9, + "items": [ + { + "id": "YC-PROCESSING-PLANT-001", + "name": "西部牦牛产业集团有限责任公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路37号", + "status": "存续(在营)", + "longitude": 102.5292, + "latitude": 32.7917, + "contacts": { + "leader": "税晓燕", + "phone": 13348993961 + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "约 50吨/日", + "年加工鲜奶总量 (吨)": 3000, + "年产值 (万元)": 30000, + "带动本地农户数": 6000, + "原料奶冷藏能力 (吨)": 400 + }, + "attributes": { + "SC 许可证号": "SC10551323300016", + "主要产品": "牦牛奶粉", + "奶源来源": "红原县及周边", + "产品销售范围": "全国" + } + }, + { + "id": "YC-PROCESSING-PLANT-002", + "name": "四川红原菊乐牦牛乳业有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路76号附6号", + "status": "存续(在营)", + "longitude": 102.5666, + "latitude": 32.8179, + "contacts": { + "leader": "刘鑫森", + "phone": 18581879298 + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "约240吨/日", + "年加工鲜奶总量 (吨)": 4000, + "年产值 (万元)": 7000, + "带动本地农户数": 600, + "原料奶冷藏能力 (吨)": 2000 + }, + "attributes": { + "SC 许可证号": "SC10551323300032", + "主要产品": "圣舟牦牛奶", + "奶源来源": "红原县及周边", + "产品销售范围": "全国、四川为主" + } + }, + { + "id": "YC-PROCESSING-PLANT-003", + "name": "四川雅克乳业有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路", + "status": "存续(在营)", + "longitude": 102.5315, + "latitude": 32.7921, + "contacts": { + "leader": "徐瑞", + "phone": 18628189868 + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "约 2吨/日", + "年加工鲜奶总量 (吨)": 1000, + "年产值 (万元)": 3000, + "带动本地农户数": 200, + "原料奶冷藏能力 (吨)": "无(委托)" + }, + "attributes": { + "SC 许可证号": "SC10551323300032(委托)", + "主要产品": "牦牛酸奶、牦牛奶粉、牦牛奶冰淇淋(", + "奶源来源": "红原县及周边", + "产品销售范围": "四川" + } + }, + { + "id": "YC-PROCESSING-PLANT-004", + "name": "企业全称", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "详细地址", + "status": "运营状态", + "longitude": null, + "latitude": null, + "contacts": { + "leader": "负责人", + "phone": "联系电话" + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "设计日加工能力 (吨)", + "年加工鲜奶总量 (吨)": "年加工原料肉总量 (吨)", + "年产值 (万元)": "年产值 (万元)", + "带动本地农户数": "带动本地农户数", + "原料奶冷藏能力 (吨)": "冷库容量 (吨)" + }, + "attributes": { + "SC 许可证号": "SC 许可证号", + "主要产品": "主要产品", + "奶源来源": "原料来源", + "产品销售范围": "产品销售范围" + } + }, + { + "id": "YC-PROCESSING-PLANT-005", + "name": "四川红原遛遛牛食品有限责任公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路72号", + "status": "存续(在营)", + "longitude": 102.5592, + "latitude": 32.8151, + "contacts": { + "leader": "王加立", + "phone": 13982065805 + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "约15吨/日", + "年加工鲜奶总量 (吨)": "约4500吨/年", + "年产值 (万元)": "约8000万元", + "带动本地农户数": 400, + "原料奶冷藏能力 (吨)": 1000 + }, + "attributes": { + "SC 许可证号": "SC10451323300028", + "主要产品": "风干牦牛肉、手撕牦牛肉、卤制牦牛肉、牦牛肉酱", + "奶源来源": "红原县及周边麦洼牦牛", + "产品销售范围": "全国、四川为主" + } + }, + { + "id": "YC-PROCESSING-PLANT-006", + "name": "四川红原黑帐篷牦牛肉食品有限责任公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆中路", + "status": "存续(在营)", + "longitude": 102.551, + "latitude": 32.7987, + "contacts": { + "leader": "龙国胜", + "phone": "0837-8994333" + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "约 1吨/日", + "年加工鲜奶总量 (吨)": "约300吨/年", + "年产值 (万元)": 1000, + "带动本地农户数": 200, + "原料奶冷藏能力 (吨)": 200 + }, + "attributes": { + "主要产品": "风干牦牛肉、手撕牦牛肉、卤牦牛肉、牦牛肉礼包", + "奶源来源": "红原本地麦洼牦牛", + "产品销售范围": "全国、四川为主" + } + }, + { + "id": "YC-PROCESSING-PLANT-007", + "name": "红原御坊斋牦牛肉制品厂", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县邛溪镇阳嘎北街", + "status": "存续(在营)", + "longitude": 102.5431, + "latitude": 32.7962, + "contacts": { + "leader": "陈远明", + "phone": "0837-2662837" + }, + "metrics": { + "设计日处理鲜奶能力 (吨)": "约 0.5吨/日", + "年加工鲜奶总量 (吨)": "约200吨/年", + "年产值 (万元)": 600, + "带动本地农户数": 100, + "原料奶冷藏能力 (吨)": 100 + }, + "attributes": { + "SC 许可证号": "SC10451323300036", + "主要产品": "牛肉干、卤牦牛肉、手撕牦牛肉、牦牛肉粒", + "奶源来源": "红原本地麦洼牦牛", + "产品销售范围": "四川" + } + }, + { + "id": "YC-PROCESSING-PLANT-008", + "name": "四川牦牛火了生态农业科技有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": "四川省阿坝藏族羌族自治州红原县瑞庆中路13号附1号", + "status": "存续(在营)", + "longitude": 102.5402, + "latitude": 32.7958, + "contacts": { + "leader": "王忠波", + "phone": 18980978767 + }, + "metrics": { + "年产值 (万元)": 500 + }, + "attributes": { + "主要产品": "包装牦牛肉干", + "奶源来源": "红原及周边加工厂成品", + "产品销售范围": "四川" + } + }, + { + "id": "YC-PROCESSING-PLANT-009", + "name": "农产品检测站", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "加工厂", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-SLAUGHTERHOUSE", + "categoryName": "屠宰厂", + "industryStage": "slaughter-processing", + "sources": [ + "详细数据清单-归档(1).xlsx:屠宰厂" + ], + "itemCount": 7, + "items": [ + { + "id": "YC-SLAUGHTERHOUSE-001", + "name": "红原宏牦牛肉食品有限责任公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": "四川省阿坝州红原县邛溪镇桑青路11号", + "status": "正常", + "longitude": 102.53333333, + "latitude": 32.78333333, + "contacts": { + "leader": "蒋悦南", + "phone": 13909047031 + }, + "metrics": { + "设计日屠宰能力 (头)": 200, + "年屠宰总量 (头)": 20000, + "冷冻库容量 (吨)": 800, + "年总产值 (万元)": "2000-5000" + }, + "attributes": { + "环保达标情况": "已达标" + } + }, + { + "id": "YC-SLAUGHTERHOUSE-002", + "name": "红原县永源牦牛肉业有限责任公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": "红原县绿色产业园区", + "status": "正常", + "longitude": 102.56055556, + "latitude": 32.82, + "contacts": { + "leader": "张建", + "phone": 13541231860 + }, + "metrics": { + "设计日屠宰能力 (头)": 167, + "年屠宰总量 (头)": 20000, + "冷冻库容量 (吨)": 2400, + "年总产值 (万元)": 2046 + }, + "attributes": { + "定点屠宰证号": "A29191301", + "环保达标情况": "达标" + } + }, + { + "id": "YC-SLAUGHTERHOUSE-003", + "name": "红原新希望牦牛产业有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": "红原县邛溪镇绿色工业园区内", + "status": "正常", + "longitude": 9175.41666667, + "latitude": 13213.51666667, + "contacts": { + "leader": "柴建", + "phone": "17778545888" + }, + "metrics": { + "设计日屠宰能力 (头)": 300, + "年屠宰总量 (头)": 10000, + "冷冻库容量 (吨)": 3000, + "年总产值 (万元)": 4048.63 + }, + "attributes": { + "环保达标情况": "达标" + } + }, + { + "id": "YC-SLAUGHTERHOUSE-004", + "name": "红原县天交畜牧科技有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": "红原县邛溪镇绿色产业园区瑞庆东路76号附5号", + "status": "正常", + "longitude": 102.90083333, + "latitude": 33.33083333, + "contacts": { + "leader": "余震", + "phone": 18080930003 + }, + "metrics": { + "设计日屠宰能力 (头)": 150, + "年屠宰总量 (头)": 18000, + "冷冻库容量 (吨)": 2000, + "年总产值 (万元)": 1200 + }, + "attributes": { + "环保达标情况": "达标" + } + }, + { + "id": "YC-SLAUGHTERHOUSE-005", + "name": "红原县雪月天佑农牧科技有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + }, + { + "id": "YC-SLAUGHTERHOUSE-006", + "name": "红原牦牛肉食品有限责任公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + }, + { + "id": "YC-SLAUGHTERHOUSE-007", + "name": "执法大队", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "屠宰厂", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-FARM-EQUIPMENT", + "categoryName": "农机装备", + "industryStage": "farm-equipment", + "sources": [ + "详细数据清单-归档(1).xlsx:农机装备" + ], + "itemCount": 2, + "items": [ + { + "id": "YC-FARM-EQUIPMENT-001", + "name": "红原县益众农业机械服务专业合作社", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "农机装备", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "简称": "益众农机" + } + }, + { + "id": "YC-FARM-EQUIPMENT-002", + "name": "农机监理站", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "农机装备", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-DISEASE-CONTROL", + "categoryName": "疫病防控", + "industryStage": "social-service", + "sources": [ + "详细数据清单-归档(1).xlsx:疫病防控" + ], + "itemCount": 3, + "items": [ + { + "id": "YC-DISEASE-CONTROL-001", + "name": "红原县高原牧歌农业科技有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "疫病防控", + "town": null, + "address": "邛溪镇", + "status": null, + "longitude": 102.54861991, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + }, + { + "id": "YC-DISEASE-CONTROL-002", + "name": "红原县动物疫病预防控制中心", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "疫病防控", + "town": null, + "address": "邛溪镇", + "status": null, + "longitude": 102.54852894, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + }, + { + "id": "YC-DISEASE-CONTROL-003", + "name": "疫控中心", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "疫病防控", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-TECH-TRAINING", + "categoryName": "技术培训", + "industryStage": "social-service", + "sources": [ + "详细数据清单-归档(1).xlsx:技术培训" + ], + "itemCount": 8, + "items": [ + { + "id": "YC-TECH-TRAINING-001", + "name": "四川省草科院", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": "瓦切镇", + "address": "国家级牧草基地", + "status": null, + "longitude": null, + "latitude": null, + "contacts": { + "expertTeam": "游明鸿、季晓菲、官久强、安添午、赵文吉、贾国夫等", + "contactPerson": "游明鸿", + "phone": 13880288056 + }, + "metrics": { + "年培训场次": "‘2-3", + "年培训人次": "80-100", + "单次最大容纳人数": 40, + "下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" + }, + "attributes": { + "序号": 1, + "机构类型": "科研院所", + "主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", + "最近培训时间": "7月" + } + }, + { + "id": "YC-TECH-TRAINING-002", + "name": "乡村振兴科技特派团", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": "全县覆盖", + "address": "县农业农村局", + "status": null, + "longitude": null, + "latitude": null, + "contacts": { + "expertTeam": "游明鸿、季晓菲、刘琳、官久强、安添午、赵文吉等", + "contactPerson": "游明鸿", + "phone": 13880288056 + }, + "metrics": { + "年培训场次": "’3-4", + "年培训人次": "100-150", + "单次最大容纳人数": 40, + "下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" + }, + "attributes": { + "序号": 2, + "机构类型": "政府派出机构", + "主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", + "最近培训时间": "7月" + } + }, + { + "id": "YC-TECH-TRAINING-003", + "name": "中国科学院", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": "邛溪镇", + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": 3, + "机构类型": "国家级科研机构" + } + }, + { + "id": "YC-TECH-TRAINING-004", + "name": "红原县畜牧业高质量发展专家工作站", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": "邛溪镇", + "address": "县畜牧兽医服务中心", + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": 4, + "机构类型": "地方专家平台" + } + }, + { + "id": "YC-TECH-TRAINING-005", + "name": "西南民族大学", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": "邛溪镇", + "address": "红原牦牛研究基地", + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": 5, + "机构类型": "高校" + } + }, + { + "id": "YC-TECH-TRAINING-006", + "name": "阿坝州农科院", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": "马尔康市 / 邛溪镇", + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": 6, + "机构类型": "科研院所" + } + }, + { + "id": "YC-TECH-TRAINING-007", + "name": "对接相关科研院校收集数据", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": "科教股" + } + }, + { + "id": "YC-TECH-TRAINING-008", + "name": "技术培训-8", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "技术培训", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": "科技股" + } + } + ] + }, + { + "categoryCode": "YC-SERVICE-FINANCE", + "categoryName": "金融服务网点", + "industryStage": "social-service", + "sources": [ + "详细数据清单-归档(1).xlsx:金融服务网点" + ], + "itemCount": 4, + "items": [ + { + "id": "YC-SERVICE-FINANCE-001", + "name": "中国农业银行股份有限公司红原县支行", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "金融服务网点", + "town": null, + "address": "红原县邛溪镇阳嘎中街", + "status": null, + "longitude": 102.54, + "latitude": 32.79, + "contacts": { + "contactPerson": "泽旺吉松", + "creditPhone": 13096265881 + }, + "metrics": { + "服务覆盖乡镇数": 10, + "主要贷款产品(可多选)": "惠农e贷、专业大户贷、商户贷、乡旅贷、富民贷、帮扶小额信贷。", + "最高单户贷款额度 (万元)": 150, + "最长贷款期限 (年)": "5年" + }, + "attributes": { + "序号": 1, + "简称": "农行红原支行", + "年利率范围": 0.03, + "还款方式": "等额本息还款、一次性还本按约还息、一次性利随本清、" + } + }, + { + "id": "YC-SERVICE-FINANCE-002", + "name": "四川红原农村商业银行股份有限公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "金融服务网点", + "town": null, + "address": "红原县邛溪镇绛熙中街13号", + "status": null, + "longitude": 102.54, + "latitude": 32.79, + "contacts": { + "contactPerson": "索让东周", + "creditPhone": 18283790555 + }, + "metrics": { + "服务覆盖乡镇数": 9, + "主要贷款产品(可多选)": "小额农贷、生源地信用助学贷款、惠商贷、居民消费贷、消费易贷、个人生产经营贷款、个人综合消费贷款、个人一手住房贷款、一人二手住房贷款", + "最高单户贷款额度 (万元)": 770, + "最长贷款期限 (年)": "生源地信用助学贷款22年、个人一手住房贷款30年、个人贷款5年。" + }, + "attributes": { + "序号": 2, + "简称": "红原农商行", + "年利率范围": "2.1%—5.0%", + "还款方式": "按月结息、按年还本;按月结息,到期一次性还本;等额本息。" + } + }, + { + "id": "YC-SERVICE-FINANCE-003", + "name": "中国邮政储蓄银行股份有限公司红原县支行", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "金融服务网点", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": { + "服务覆盖乡镇数": 9 + }, + "attributes": { + "序号": 3, + "简称": "邮储银行红原支行" + } + }, + { + "id": "YC-SERVICE-FINANCE-004", + "name": "金融服务网点-4", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "金融服务网点", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": "乡村振兴股" + } + } + ] + }, + { + "categoryCode": "YC-SERVICE-INSURANCE", + "categoryName": "保险服务网点", + "industryStage": "social-service", + "sources": [ + "详细数据清单-归档(1).xlsx:保险服务网点" + ], + "itemCount": 4, + "items": [ + { + "id": "YC-SERVICE-INSURANCE-001", + "name": "中华安盟财产保险股份有限公司红原支公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "保险服务网点", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": { + "claimHotline": 95585 + }, + "metrics": { + "服务覆盖乡镇数": 9 + }, + "attributes": { + "序号": 1, + "简称": "中华安盟" + } + }, + { + "id": "YC-SERVICE-INSURANCE-002", + "name": "中国人民财产保险股份有限公司红原支公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "保险服务网点", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": { + "claimHotline": 95518 + }, + "metrics": { + "服务覆盖乡镇数": 9 + }, + "attributes": { + "序号": 2, + "简称": "人保财险" + } + }, + { + "id": "YC-SERVICE-INSURANCE-003", + "name": "中华联合财产保险股份有限公司红原支公司", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "保险服务网点", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": { + "claimHotline": 95585 + }, + "metrics": { + "服务覆盖乡镇数": 9 + }, + "attributes": { + "序号": 3, + "简称": "中华财险" + } + }, + { + "id": "YC-SERVICE-INSURANCE-004", + "name": "保险服务网点-4", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "保险服务网点", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": {}, + "attributes": { + "序号": "疫控中心" + } + } + ] + }, + { + "categoryCode": "YC-GRASSLAND-RESOURCE", + "categoryName": "林草资源数据", + "industryStage": "artificial-grassland", + "sources": [ + "详细数据清单-归档(1).xlsx:林草局数据" + ], + "itemCount": 3, + "items": [ + { + "id": "YC-GRASSLAND-RESOURCE-001", + "name": "林草局数据-1", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "林草局数据", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": { + "灌木林面积": "调整优化意见", + "围栏封育面积": "ABC 是基本草原", + "生态奖补面积,到每个村": "DE一般草原" + }, + "attributes": {} + }, + { + "id": "YC-GRASSLAND-RESOURCE-002", + "name": "林草局数据-2", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "林草局数据", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": { + "灌木林面积": "基本草原面积:", + "围栏封育面积": 637.127369, + "生态奖补面积,到每个村": "万亩" + }, + "attributes": {} + }, + { + "id": "YC-GRASSLAND-RESOURCE-003", + "name": "林草局数据-3", + "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", + "sourceSheet": "林草局数据", + "town": null, + "address": null, + "status": null, + "longitude": null, + "latitude": null, + "contacts": {}, + "metrics": { + "灌木林面积": "一般草原面积", + "围栏封育面积": 119.301972, + "生态奖补面积,到每个村": "万亩" + }, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-CXPT-BREEDING-BASE", + "categoryName": "cxpt养殖基地", + "industryStage": "scale-breeding", + "sources": [ + "cxpt.t_base_land" + ], + "itemCount": 28, + "items": [ + { + "id": "2c9380898a69780a018a69a6e4d30001", + "name": "下哈拉玛标准化养殖基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233103202", + "areaName": "下哈拉玛村", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇下哈拉玛村", + "address": null, + "scale": "1000亩", + "longitude": null, + "latitude": null, + "geometryType": null, + "contacts": { + "leader": "下哈拉玛标准化养殖基地", + "phone": "下哈拉玛标准化养殖基地" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048125ab0001", + "name": "刷经寺镇国航专属农场", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233101000", + "areaName": "刷经寺镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", + "address": "红原县刷经寺镇", + "scale": "200亩", + "longitude": 102.60753736, + "latitude": 32.01520185, + "geometryType": "Point", + "contacts": { + "leader": "文明智", + "phone": "18372667181" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028816489fc57730189fc6a28c60001", + "name": "唐日标准化养殖基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233", + "areaName": "红原县", + "areaFullName": "四川省阿坝藏族羌族自治州红原县", + "address": "红原", + "scale": "1000", + "longitude": 102.52418747, + "latitude": 32.7965246, + "geometryType": "Polygon", + "contacts": { + "leader": "唐日标准化养殖基地", + "phone": "18090242999" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870482432f000f", + "name": "国航专属农牧场", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": null, + "scale": null, + "longitude": 102.611698, + "latitude": 32.928581, + "geometryType": "Point", + "contacts": { + "phone": "13888888888" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870483afc00027", + "name": "央诺尔畜牧专业合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233205000", + "areaName": "阿木乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", + "address": "四川省红原县阿木乡", + "scale": null, + "longitude": 102.64730957, + "latitude": 32.94532722, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704828d450013", + "name": "安曲哈拉玛合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233103000", + "areaName": "安曲镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", + "address": null, + "scale": null, + "longitude": 102.32834969, + "latitude": 32.64290686, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870483a0800026", + "name": "安曲家庭农场", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233103000", + "areaName": "安曲镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", + "address": "红原县安曲牧场(近209省道)", + "scale": null, + "longitude": 102.38834969, + "latitude": 32.69290686, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048291f90014", + "name": "安曲抗灾保畜基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233103000", + "areaName": "安曲镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", + "address": null, + "scale": null, + "longitude": 102.30834969, + "latitude": 32.67290686, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048318f2001b", + "name": "尚源牧业发展有限责任公司", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇", + "scale": null, + "longitude": 102.53242152, + "latitude": 32.81168014, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704814a8d0005", + "name": "更攀合作总社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇瑞庆西路", + "scale": "154244亩", + "longitude": 102.583582, + "latitude": 32.830854, + "geometryType": "Point", + "contacts": { + "phone": "18789497898" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870482e47c0015", + "name": "查尔玛乡查龙合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233203000", + "areaName": "查尔玛乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", + "address": null, + "scale": null, + "longitude": 101.96111079, + "latitude": 32.36851156, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704812a950002", + "name": "查尔玛乡达尔龙合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233202000", + "areaName": "江茸乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", + "address": null, + "scale": "388680亩", + "longitude": 102.25164714, + "latitude": 32.34434154, + "geometryType": "Point", + "contacts": { + "phone": "13666666666" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870482ee200016", + "name": "查尔玛乡达智合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233203000", + "areaName": "查尔玛乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", + "address": null, + "scale": null, + "longitude": 102.10243332, + "latitude": 32.5533277, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028816489fc81de0189fc8dd5c90000", + "name": "查尔玛标准养殖基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233203000", + "areaName": "查尔玛乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", + "address": "查尔玛乡", + "scale": "200", + "longitude": null, + "latitude": null, + "geometryType": null, + "contacts": { + "leader": "查尔玛标准养殖基地", + "phone": "13696856985" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "2c9380898a69780a018a69a654f90000", + "name": "瓦切卡口乡标准化养殖基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": "2000", + "longitude": null, + "latitude": null, + "geometryType": null, + "contacts": { + "leader": "瓦切卡口乡标准化养殖基地", + "phone": "瓦切卡口乡标准化养殖基地" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "2c9380898a69780a018a69a7484e0002", + "name": "瓦切唐日标准化养殖基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233204201", + "areaName": "唐日村", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇唐日村", + "address": null, + "scale": "1000亩", + "longitude": null, + "latitude": null, + "geometryType": null, + "contacts": { + "leader": "瓦切唐日标准化养殖基地", + "phone": "瓦切唐日标准化养殖基地" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870483561f0020", + "name": "瓦切德香村合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": "1800亩", + "longitude": 102.60756103, + "latitude": 33.16501517, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704836a0f0022", + "name": "瓦切罗尔江合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": "5000亩", + "longitude": 102.61692465, + "latitude": 33.07321484, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048271970011", + "name": "瓦切镇达峨村种草大户泽郎夺尔基", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": "红原县瓦切镇达峨村", + "scale": "2000余平方千米", + "longitude": 102.768611, + "latitude": 33.218282, + "geometryType": "Point", + "contacts": { + "leader": "泽郎夺尔基", + "phone": "18728211722" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048137b80004", + "name": "红原县邛溪镇热多村高产奶牦牛繁育基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇热多村", + "scale": "1000头", + "longitude": 102.607635, + "latitude": 32.899228, + "geometryType": "Point", + "contacts": { + "leader": "桑键", + "phone": "13990407109" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704812f390003", + "name": "红原县麦洼牦牛现代农业园区", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233105000", + "areaName": "龙日镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", + "address": null, + "scale": "664.2亩", + "longitude": 102.523105, + "latitude": 32.470534, + "geometryType": "Point", + "contacts": { + "leader": "李先生", + "phone": "13926576971" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048339ee001e", + "name": "红原雪玛格牦牛养殖合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233101000", + "areaName": "刷经寺镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", + "address": null, + "scale": null, + "longitude": 102.48668882, + "latitude": 32.20779478, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048349d4001f", + "name": "色地让里村合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233208000", + "areaName": "色地镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县色地镇", + "address": null, + "scale": "2000平方米", + "longitude": 102.97944868, + "latitude": 32.99718428, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048300bb0019", + "name": "邛溪国航奶牛基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇", + "scale": null, + "longitude": 102.60973364, + "latitude": 32.93442417, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704830f93001a", + "name": "邛溪国航肉牛基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇", + "scale": null, + "longitude": 102.5857137, + "latitude": 32.9178444, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704832780001d", + "name": "邛溪镇奇杨益西合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233103000", + "areaName": "安曲镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", + "address": null, + "scale": "3355.4亩", + "longitude": 102.51815641, + "latitude": 32.7759152, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048288e30012", + "name": "阿木乡卡口养殖基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233205000", + "areaName": "阿木乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", + "address": "四川省红原县阿木乡", + "scale": null, + "longitude": 102.66730957, + "latitude": 32.90532722, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870482f79f0018", + "name": "麦洼乡利群合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_base", + "categoryNameRaw": "养殖基地", + "areaCode": "513233207000", + "areaName": "麦洼乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", + "address": "四川省阿坝藏族羌族自治州红原县麦洼乡滚塘村", + "scale": "1万亩", + "longitude": 102.91804548, + "latitude": 33.05789166, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-CXPT-FORAGE-BASE", + "categoryName": "cxpt饲草基地", + "industryStage": "artificial-grassland", + "sources": [ + "cxpt.t_base_land" + ], + "itemCount": 5, + "items": [ + { + "id": "2c9380898a69780a018a69a7c9b10003", + "name": "安曲种草基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "forage_base", + "categoryNameRaw": "饲草基地", + "areaCode": "513233103000", + "areaName": "安曲镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", + "address": null, + "scale": "5000亩", + "longitude": null, + "latitude": null, + "geometryType": null, + "contacts": { + "leader": "安曲种草基地", + "phone": "安曲种草基地" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704835aae0021", + "name": "瓦切抗灾保畜基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "forage_base", + "categoryNameRaw": "饲草基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": "3000亩", + "longitude": 102.58969571, + "latitude": 33.0961638, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048380420023", + "name": "瓦切色永村种草基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "forage_base", + "categoryNameRaw": "饲草基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": "2000亩", + "longitude": 102.63066554, + "latitude": 33.14234459, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870483927c0025", + "name": "瓦切镇特色蔬菜种植园", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "forage_base", + "categoryNameRaw": "饲草基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": null, + "longitude": 102.5959684, + "latitude": 33.08257632, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870481a0d10006", + "name": "红原县唐日牦牛养殖农民专业合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "forage_base", + "categoryNameRaw": "饲草基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": "红原县瓦切镇唐日村", + "scale": "2000亩", + "longitude": 102.690423, + "latitude": 33.134153, + "geometryType": "Point", + "contacts": { + "leader": "旦真贡", + "phone": "18090242999" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-CXPT-BREEDING-STOCK-BASE", + "categoryName": "cxpt种畜基地", + "industryStage": "scale-breeding", + "sources": [ + "cxpt.t_base_land" + ], + "itemCount": 1, + "items": [ + { + "id": "4028c4f88704809e01870482f2de0017", + "name": "麦洼乡达坤玛选育场", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "breeding_stock_base", + "categoryNameRaw": "种畜基地", + "areaCode": "513233207000", + "areaName": "麦洼乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", + "address": null, + "scale": "1万亩", + "longitude": 102.90295791, + "latitude": 33.05466505, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-CXPT-GRASS-SEED-BASE", + "categoryName": "cxpt草种基地", + "industryStage": "artificial-grassland", + "sources": [ + "cxpt.t_base_land" + ], + "itemCount": 1, + "items": [ + { + "id": "4028c4f88704809e018704831d77001c", + "name": "红原县金针菇特色种植园区", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "grass_seed_base", + "categoryNameRaw": "草种基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇", + "scale": null, + "longitude": 102.5421184, + "latitude": 32.79970142, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + } + ] + }, + { + "categoryCode": "YC-CXPT-OTHER-BASE", + "categoryName": "cxpt其他基地", + "industryStage": "social-service", + "sources": [ + "cxpt.t_base_land" + ], + "itemCount": 11, + "items": [ + { + "id": "4028c4f88704809e0187048215ac000e", + "name": "刷经寺镇露地蔬菜种植基地", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233101000", + "areaName": "刷经寺镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", + "address": "红原县刷经寺镇", + "scale": null, + "longitude": 102.620282, + "latitude": 32.037843, + "geometryType": "Point", + "contacts": { + "leader": "文明智", + "phone": "0837-2667185" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870482023a000c", + "name": "四川红原遛遛牛食品有限责任公司", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233103000", + "areaName": "安曲镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", + "address": "四川省红原县绿色产业园区", + "scale": "25亩", + "longitude": 102.324776, + "latitude": 32.689929, + "geometryType": "Point", + "contacts": { + "leader": "张自龙", + "phone": "13909047233" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704826d4c0010", + "name": "植物园", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": null, + "scale": null, + "longitude": 102.551944, + "latitude": 32.780316, + "geometryType": "Point", + "contacts": { + "phone": "13888888888" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870481f0a0000a", + "name": "活畜交易市场", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "红原县邛溪镇", + "scale": "3000亩", + "longitude": 102.57314, + "latitude": 32.82984, + "geometryType": "Point", + "contacts": { + "leader": "向白", + "phone": "18090223335" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870481f4e9000b", + "name": "物联网大数据监测系统", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233205000", + "areaName": "阿木乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", + "address": "红原县绿色工业园区", + "scale": "10000", + "longitude": 102.776153, + "latitude": 32.72242, + "geometryType": "Point", + "contacts": { + "leader": "熊先生", + "phone": "13845444444" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e0187048384dc0024", + "name": "瓦切阳诺合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233204000", + "areaName": "瓦切镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", + "address": null, + "scale": "3000亩", + "longitude": 102.63675654, + "latitude": 33.14253159, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e018704811f290000", + "name": "红原县城市污水处理厂", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": null, + "scale": "2.5公顷", + "longitude": 102.559801, + "latitude": 32.816904, + "geometryType": "Point", + "contacts": {}, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870481b7180008", + "name": "红原县永源牦牛肉业有限公司", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233205000", + "areaName": "阿木乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", + "address": "红原县邛溪镇绿色工业园区", + "scale": "30亩", + "longitude": 102.628332, + "latitude": 32.639351, + "geometryType": "Point", + "contacts": { + "leader": "张健", + "phone": "13566787888" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870482067d000d", + "name": "红原县茸日玛绵羊养殖专业合作社", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233202000", + "areaName": "江茸乡", + "areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", + "address": "红原县江茸镇日玛村", + "scale": "5000亩", + "longitude": 102.23279, + "latitude": 32.402614, + "geometryType": "Point", + "contacts": { + "leader": "旦真则旺", + "phone": "13541576727" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870481aa840007", + "name": "红原牦牛乳业有限责任公司", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233100000", + "areaName": "邛溪镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", + "address": "四川省红原县邛溪镇", + "scale": "92490平方米", + "longitude": 102.747914, + "latitude": 32.802653, + "geometryType": "Point", + "contacts": { + "leader": "杨勇", + "phone": "13551770158" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + }, + { + "id": "4028c4f88704809e01870481cc520009", + "name": "(无害化)红原县宜霖阳光环保科技有限公司", + "sourceFile": "cxpt PostgreSQL database", + "sourceSheet": "t_base_land", + "categoryCodeRaw": "other", + "categoryNameRaw": "其他基地", + "areaCode": "513233105000", + "areaName": "龙日镇", + "areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", + "address": "红原县邛溪镇绛熙东街", + "scale": "占地20亩", + "longitude": 102.352372, + "latitude": 32.538109, + "geometryType": "Point", + "contacts": { + "leader": "谢光伍", + "phone": "13609975631" + }, + "metrics": { + "acreage": null + }, + "attributes": {} + } + ] + } + ] +} +`,vV=`{ + "datasetName": "红原县家庭生态牧场建设台账", + "sourceSummary": "红原县2023年至今建设家庭牧场汇总表.xls", + "sourceCoordinates": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", + "recordUnit": "处", + "recordCount": 252, + "locatedRecordCount": 79, + "records": [ + { + "id": "YC-FAMILY-PASTURE-SUM-001", + "name": "旦巴措家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "旦巴措", + "constructionYear": 2023, + "sourceNo": 1, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "旦巴措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-002", + "name": "兰美家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "兰美", + "constructionYear": 2023, + "sourceNo": 2, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "兰美" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-003", + "name": "求基家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "求基", + "constructionYear": 2023, + "sourceNo": 3, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-004", + "name": "罗日则巴家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "罗日则巴", + "constructionYear": 2023, + "sourceNo": 4, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "罗日则巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-005", + "name": "泽让夺基家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "泽让夺基", + "constructionYear": 2023, + "sourceNo": 5, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽让夺基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-006", + "name": "尕玛让丹家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "尕玛让丹", + "constructionYear": 2023, + "sourceNo": 6, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尕玛让丹" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-007", + "name": "泽郎吉家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "泽郎吉", + "constructionYear": 2023, + "sourceNo": 7, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽郎吉" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-008", + "name": "吴穷家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "吴穷", + "constructionYear": 2023, + "sourceNo": 8, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "吴穷" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-009", + "name": "东周罗吾家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "东周罗吾", + "constructionYear": 2023, + "sourceNo": 9, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "东周罗吾" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-010", + "name": "扎巴家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "扎巴", + "constructionYear": 2023, + "sourceNo": 10, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "扎巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-011", + "name": "尼美青则家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "尼美青则", + "constructionYear": 2023, + "sourceNo": 11, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尼美青则" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-012", + "name": "尕尔玛家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "尕尔玛", + "constructionYear": 2023, + "sourceNo": 12, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尕尔玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-013", + "name": "尼玛甲参家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "尼玛甲参", + "constructionYear": 2023, + "sourceNo": 13, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尼玛甲参" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-014", + "name": "俄热多吉家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "俄热多吉", + "constructionYear": 2023, + "sourceNo": 14, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "俄热多吉" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-015", + "name": "头旦让俄家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "头旦让俄", + "constructionYear": 2023, + "sourceNo": 15, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "头旦让俄" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-016", + "name": "洛真娜姆家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "洛真娜姆", + "constructionYear": 2023, + "sourceNo": 16, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "洛真娜姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-017", + "name": "达洛家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "达洛", + "constructionYear": 2023, + "sourceNo": 17, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "达洛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-018", + "name": "阿旦家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "阿旦", + "constructionYear": 2023, + "sourceNo": 18, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "阿旦" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-019", + "name": "哥扎尕洛家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "哥扎尕洛", + "constructionYear": 2023, + "sourceNo": 19, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "哥扎尕洛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-020", + "name": "让巴家庭生态牧场", + "town": "瓦切镇", + "village": "唐日村", + "owner": "让巴", + "constructionYear": 2023, + "sourceNo": 20, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "让巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-021", + "name": "罗尔让家庭生态牧场", + "town": "瓦切镇", + "village": "唐日村", + "owner": "罗尔让", + "constructionYear": 2023, + "sourceNo": 21, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "罗尔让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-022", + "name": "泽郎扎西家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "泽郎扎西", + "constructionYear": 2023, + "sourceNo": 22, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽郎扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-023", + "name": "更根加家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "更根加", + "constructionYear": 2023, + "sourceNo": 23, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "更根加" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-024", + "name": "周吉家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "周吉", + "constructionYear": 2023, + "sourceNo": 24, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "周吉" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-025", + "name": "南木姐家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "南木姐", + "constructionYear": 2023, + "sourceNo": 25, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "南木姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-026", + "name": "慈陈家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "慈陈", + "constructionYear": 2023, + "sourceNo": 26, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "慈陈" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-027", + "name": "尼西甲家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "尼西甲", + "constructionYear": 2023, + "sourceNo": 27, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尼西甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-028", + "name": "索夺家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "索夺", + "constructionYear": 2023, + "sourceNo": 28, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "索夺" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-029", + "name": "罗让求迫家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "罗让求迫", + "constructionYear": 2023, + "sourceNo": 29, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "罗让求迫" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-030", + "name": "王多家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "王多", + "constructionYear": 2023, + "sourceNo": 30, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "王多" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-031", + "name": "班玛确折家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "班玛确折", + "constructionYear": 2023, + "sourceNo": 31, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "班玛确折" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-032", + "name": "单比甲参家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "单比甲参", + "constructionYear": 2023, + "sourceNo": 32, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "单比甲参" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-033", + "name": "罗日东周家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "罗日东周", + "constructionYear": 2023, + "sourceNo": 33, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "罗日东周" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-034", + "name": "格登甲措家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "格登甲措", + "constructionYear": 2023, + "sourceNo": 34, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "格登甲措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-035", + "name": "泽朗姐家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "泽朗姐", + "constructionYear": 2023, + "sourceNo": 35, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽朗姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-036", + "name": "能周家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "能周", + "constructionYear": 2023, + "sourceNo": 36, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "能周" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-037", + "name": "角布家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "角布", + "constructionYear": 2023, + "sourceNo": 37, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "角布" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-038", + "name": "仁真沙尔夺家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "仁真沙尔夺", + "constructionYear": 2023, + "sourceNo": 38, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "仁真沙尔夺" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-039", + "name": "罗波家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "罗波", + "constructionYear": 2023, + "sourceNo": 39, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "罗波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-040", + "name": "扎西坚措家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "扎西坚措", + "constructionYear": 2023, + "sourceNo": 40, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "扎西坚措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-041", + "name": "求甲家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "求甲", + "constructionYear": 2023, + "sourceNo": 41, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-042", + "name": "卡波家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "卡波", + "constructionYear": 2023, + "sourceNo": 42, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "卡波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-043", + "name": "占扎哥马家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "占扎哥马", + "constructionYear": 2023, + "sourceNo": 43, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "占扎哥马" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-044", + "name": "穷措家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "穷措", + "constructionYear": 2023, + "sourceNo": 44, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "穷措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-045", + "name": "旦巴泽让家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "旦巴泽让", + "constructionYear": 2023, + "sourceNo": 45, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "旦巴泽让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-046", + "name": "杨准家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "杨准", + "constructionYear": 2023, + "sourceNo": 46, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "杨准" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-047", + "name": "格登家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "格登", + "constructionYear": 2023, + "sourceNo": 47, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "格登" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-048", + "name": "东朱家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "东朱", + "constructionYear": 2023, + "sourceNo": 48, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "东朱" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-049", + "name": "措么家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "措么", + "constructionYear": 2023, + "sourceNo": 49, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "措么" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-050", + "name": "勒波家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "勒波", + "constructionYear": 2023, + "sourceNo": 50, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "勒波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-051", + "name": "泽波甲家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "泽波甲", + "constructionYear": 2023, + "sourceNo": 51, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽波甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-052", + "name": "旦真索拉家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "旦真索拉", + "constructionYear": 2023, + "sourceNo": 52, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "旦真索拉" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-053", + "name": "索尕家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "索尕", + "constructionYear": 2023, + "sourceNo": 53, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "索尕" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-054", + "name": "列红家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "列红", + "constructionYear": 2023, + "sourceNo": 54, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "列红" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-055", + "name": "基西甲家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "基西甲", + "constructionYear": 2023, + "sourceNo": 55, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "基西甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-056", + "name": "罗日花甲家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "罗日花甲", + "constructionYear": 2023, + "sourceNo": 56, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "罗日花甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-057", + "name": "南木甲家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "南木甲", + "constructionYear": 2023, + "sourceNo": 57, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "南木甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-058", + "name": "旺青成里家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "旺青成里", + "constructionYear": 2023, + "sourceNo": 58, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "旺青成里" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-059", + "name": "拉玛家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "拉玛", + "constructionYear": 2023, + "sourceNo": 59, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "拉玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-060", + "name": "求扎家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "求扎", + "constructionYear": 2023, + "sourceNo": 60, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求扎" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-061", + "name": "纳哇家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "纳哇", + "constructionYear": 2023, + "sourceNo": 61, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "纳哇" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-062", + "name": "直甲家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "直甲", + "constructionYear": 2023, + "sourceNo": 62, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "直甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-063", + "name": "文伯家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "文伯", + "constructionYear": 2023, + "sourceNo": 63, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "文伯" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-064", + "name": "王青扎西家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "王青扎西", + "constructionYear": 2023, + "sourceNo": 64, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "王青扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-065", + "name": "贡秋泽旦家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "贡秋泽旦", + "constructionYear": 2023, + "sourceNo": 65, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "贡秋泽旦" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-066", + "name": "若巴甲初家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "若巴甲初", + "constructionYear": 2023, + "sourceNo": 66, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "若巴甲初" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-067", + "name": "泽郎兰基家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "泽郎兰基", + "constructionYear": 2023, + "sourceNo": 67, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽郎兰基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-068", + "name": "兰木机家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "兰木机", + "constructionYear": 2023, + "sourceNo": 68, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "兰木机" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-069", + "name": "迫洼姐家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "迫洼姐", + "constructionYear": 2023, + "sourceNo": 69, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "迫洼姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-070", + "name": "达真德旦家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "达真德旦", + "constructionYear": 2023, + "sourceNo": 70, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "达真德旦" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-071", + "name": "额尔家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "额尔", + "constructionYear": 2023, + "sourceNo": 71, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "额尔" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-072", + "name": "求扎家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "求扎", + "constructionYear": 2023, + "sourceNo": 72, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求扎" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-073", + "name": "仁真甲家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "仁真甲", + "constructionYear": 2023, + "sourceNo": 73, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "仁真甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-074", + "name": "泽郎扎西家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "泽郎扎西", + "constructionYear": 2023, + "sourceNo": 74, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽郎扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-075", + "name": "洼玛卡卓家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "洼玛卡卓", + "constructionYear": 2023, + "sourceNo": 75, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "洼玛卡卓" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-076", + "name": "旦真扎西家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "旦真扎西", + "constructionYear": 2023, + "sourceNo": 76, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "旦真扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-077", + "name": "夺柯甲家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "夺柯甲", + "constructionYear": 2023, + "sourceNo": 77, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "夺柯甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-078", + "name": "曲格准家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "曲格准", + "constructionYear": 2023, + "sourceNo": 78, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "曲格准" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-079", + "name": "次旺依玛家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "次旺依玛", + "constructionYear": 2023, + "sourceNo": 79, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "次旺依玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-080", + "name": "甲央扎西家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "甲央扎西", + "constructionYear": 2023, + "sourceNo": 80, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "甲央扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-081", + "name": "石德家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "石德", + "constructionYear": 2023, + "sourceNo": 81, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "石德" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-082", + "name": "求措家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "求措", + "constructionYear": 2023, + "sourceNo": 82, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-083", + "name": "卓尔单家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "卓尔单", + "constructionYear": 2023, + "sourceNo": 83, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "卓尔单" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-084", + "name": "穷真家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "穷真", + "constructionYear": 2023, + "sourceNo": 84, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "穷真" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-085", + "name": "贡波家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "贡波", + "constructionYear": 2023, + "sourceNo": 85, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "贡波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-086", + "name": "穷拉家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "穷拉", + "constructionYear": 2023, + "sourceNo": 86, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "穷拉" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-087", + "name": "克周家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "克周", + "constructionYear": 2023, + "sourceNo": 87, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "克周" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-088", + "name": "热布尕家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "热布尕", + "constructionYear": 2023, + "sourceNo": 88, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "热布尕" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-089", + "name": "求科家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "求科", + "constructionYear": 2023, + "sourceNo": 89, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求科" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-090", + "name": "窝能家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "窝能", + "constructionYear": 2023, + "sourceNo": 90, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "窝能" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-091", + "name": "泽郎扎西家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "泽郎扎西", + "constructionYear": 2023, + "sourceNo": 91, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽郎扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-092", + "name": "哈里家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "哈里", + "constructionYear": 2023, + "sourceNo": 92, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "哈里" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-093", + "name": "旦灯家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "旦灯", + "constructionYear": 2023, + "sourceNo": 93, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "旦灯" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-094", + "name": "卓玛家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "卓玛", + "constructionYear": 2023, + "sourceNo": 94, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "卓玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-095", + "name": "阿木滚家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "阿木滚", + "constructionYear": 2023, + "sourceNo": 95, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "阿木滚" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-096", + "name": "求科家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "求科", + "constructionYear": 2023, + "sourceNo": 96, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "求科" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-097", + "name": "泽不丹家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "泽不丹", + "constructionYear": 2023, + "sourceNo": 97, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽不丹" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-098", + "name": "许格甲家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "许格甲", + "constructionYear": 2023, + "sourceNo": 98, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "许格甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-099", + "name": "扎西热丹家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "扎西热丹", + "constructionYear": 2023, + "sourceNo": 99, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "扎西热丹" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-100", + "name": "达姆家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "达姆", + "constructionYear": 2023, + "sourceNo": 100, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "达姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-101", + "name": "措格加家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "措格加", + "constructionYear": 2023, + "sourceNo": 101, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "措格加" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-102", + "name": "勒科家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "勒科", + "constructionYear": 2023, + "sourceNo": 102, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "勒科" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-103", + "name": "科柯家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "科柯", + "constructionYear": 2023, + "sourceNo": 103, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "科柯" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-104", + "name": "吉科家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "吉科", + "constructionYear": 2023, + "sourceNo": 104, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "吉科" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-105", + "name": "尼玛旦真家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "尼玛旦真", + "constructionYear": 2023, + "sourceNo": 105, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尼玛旦真" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-106", + "name": "向秋夺基家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "向秋夺基", + "constructionYear": 2023, + "sourceNo": 106, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "向秋夺基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-107", + "name": "尼格卓家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "尼格卓", + "constructionYear": 2023, + "sourceNo": 107, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尼格卓" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-108", + "name": "尕尔让家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "尕尔让", + "constructionYear": 2023, + "sourceNo": 108, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "尕尔让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-109", + "name": "陈香家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "陈香", + "constructionYear": 2023, + "sourceNo": 109, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "陈香" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-110", + "name": "泽让姐家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "泽让姐", + "constructionYear": 2023, + "sourceNo": 110, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽让姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-111", + "name": "甲布寻家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "甲布寻", + "constructionYear": 2023, + "sourceNo": 111, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "甲布寻" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-112", + "name": "南克甲叁家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "南克甲叁", + "constructionYear": 2023, + "sourceNo": 112, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "南克甲叁" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-113", + "name": "易美达机家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "易美达机", + "constructionYear": 2023, + "sourceNo": 113, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "易美达机" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-114", + "name": "仁青甲家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "仁青甲", + "constructionYear": 2023, + "sourceNo": 114, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "仁青甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-115", + "name": "秋银家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "秋银", + "constructionYear": 2023, + "sourceNo": 115, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "秋银" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-116", + "name": "阿泽波家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "阿泽波", + "constructionYear": 2023, + "sourceNo": 116, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "阿泽波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-117", + "name": "秋热周朴家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "秋热周朴", + "constructionYear": 2023, + "sourceNo": 117, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "秋热周朴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-118", + "name": "根伯家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "根伯", + "constructionYear": 2023, + "sourceNo": 118, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "根伯" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-119", + "name": "更秋姐家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "更秋姐", + "constructionYear": 2023, + "sourceNo": 119, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "更秋姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-120", + "name": "泽朗华尔丹家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "泽朗华尔丹", + "constructionYear": 2023, + "sourceNo": 120, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 40㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "grassSupportType": "割草地", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "割草地 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 40, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 400, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", + "草料配套": "割草地 5亩", + "户主": "泽朗华尔丹" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-121", + "name": "更尕让俄家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "更尕让俄", + "constructionYear": 2024, + "sourceNo": 121, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "更尕让俄" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-122", + "name": "尊珠家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "尊珠", + "constructionYear": 2024, + "sourceNo": 122, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 6, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 6亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 6 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 6亩", + "户主": "尊珠" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-123", + "name": "东泽家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "东泽", + "constructionYear": 2024, + "sourceNo": 123, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 7, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 7亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 7 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 7亩", + "户主": "东泽" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-124", + "name": "四郎绒布家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "四郎绒布", + "constructionYear": 2024, + "sourceNo": 124, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 8, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 8亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 8 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 8亩", + "户主": "四郎绒布" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-125", + "name": "华尔丹家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "华尔丹", + "constructionYear": 2024, + "sourceNo": 125, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 9, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 9亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 9 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 9亩", + "户主": "华尔丹" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-126", + "name": "求达家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "求达", + "constructionYear": 2024, + "sourceNo": 126, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 10, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 10亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 10 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 10亩", + "户主": "求达" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-127", + "name": "德尔达家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "德尔达", + "constructionYear": 2024, + "sourceNo": 127, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 11, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 11亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 11 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 11亩", + "户主": "德尔达" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-128", + "name": "泽让彭措家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "泽让彭措", + "constructionYear": 2024, + "sourceNo": 128, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 12, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 12亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 12 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 12亩", + "户主": "泽让彭措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-129", + "name": "万青家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "万青", + "constructionYear": 2024, + "sourceNo": 129, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 13, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 13亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 13 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 13亩", + "户主": "万青" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-130", + "name": "更让达基家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "更让达基", + "constructionYear": 2024, + "sourceNo": 130, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 14, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 14亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 14 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 14亩", + "户主": "更让达基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-131", + "name": "西卓家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "西卓", + "constructionYear": 2024, + "sourceNo": 131, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 15, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 15亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 15 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 15亩", + "户主": "西卓" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-132", + "name": "黄坤甲家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "黄坤甲", + "constructionYear": 2024, + "sourceNo": 132, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 19, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 19亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 19 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 19亩", + "户主": "黄坤甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-133", + "name": "达洛甲家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "达洛甲", + "constructionYear": 2024, + "sourceNo": 133, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 23, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 23亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 23 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 23亩", + "户主": "达洛甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-134", + "name": "德基初家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "德基初", + "constructionYear": 2024, + "sourceNo": 134, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 27, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 27亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 27 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 27亩", + "户主": "德基初" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-135", + "name": "尕尔洼家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "尕尔洼", + "constructionYear": 2024, + "sourceNo": 135, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 28, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 28亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 28 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 28亩", + "户主": "尕尔洼" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-136", + "name": "甲华扎巴家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "甲华扎巴", + "constructionYear": 2024, + "sourceNo": 136, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 29, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 29亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 29 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 29亩", + "户主": "甲华扎巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-137", + "name": "阿茸家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "阿茸", + "constructionYear": 2024, + "sourceNo": 137, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 30, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 30亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 30 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 30亩", + "户主": "阿茸" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-138", + "name": "尼玛姐家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "尼玛姐", + "constructionYear": 2024, + "sourceNo": 138, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 31, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 31亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 31 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 31亩", + "户主": "尼玛姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-139", + "name": "许尔洛家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "许尔洛", + "constructionYear": 2024, + "sourceNo": 139, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 32, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 32亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 32 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 32亩", + "户主": "许尔洛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-140", + "name": "球日格家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "球日格", + "constructionYear": 2024, + "sourceNo": 140, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 33, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 33亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 33 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 33亩", + "户主": "球日格" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-141", + "name": "华旦让俄家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "华旦让俄", + "constructionYear": 2024, + "sourceNo": 141, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 34, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 34亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 34 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 34亩", + "户主": "华旦让俄" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-142", + "name": "春雷然旦家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "春雷然旦", + "constructionYear": 2024, + "sourceNo": 142, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 35, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 35亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 35 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 35亩", + "户主": "春雷然旦" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-143", + "name": "泽郎夺尔基家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "泽郎夺尔基", + "constructionYear": 2024, + "sourceNo": 143, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 36, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 36亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 36 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 36亩", + "户主": "泽郎夺尔基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-144", + "name": "仁真南甲家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "仁真南甲", + "constructionYear": 2024, + "sourceNo": 144, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 37, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 37亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 37 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 37亩", + "户主": "仁真南甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-145", + "name": "其美兰甲家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "其美兰甲", + "constructionYear": 2024, + "sourceNo": 145, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 38, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 38亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 38 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 38亩", + "户主": "其美兰甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-146", + "name": "扎西娜姆家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "扎西娜姆", + "constructionYear": 2024, + "sourceNo": 146, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 39, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 39亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 39 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 39亩", + "户主": "扎西娜姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-147", + "name": "额日家庭生态牧场", + "town": "瓦切镇", + "village": "唐日村", + "owner": "额日", + "constructionYear": 2024, + "sourceNo": 147, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 40, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 40亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 40 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 40亩", + "户主": "额日" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-148", + "name": "勒德夺机家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "勒德夺机", + "constructionYear": 2024, + "sourceNo": 148, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 41, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 41亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 41 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 41亩", + "户主": "勒德夺机" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-149", + "name": "哈格巴家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "哈格巴", + "constructionYear": 2024, + "sourceNo": 149, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 42, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 42亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 42 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 42亩", + "户主": "哈格巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-150", + "name": "日托美家庭生态牧场", + "town": "色地镇", + "village": "日西村", + "owner": "日托美", + "constructionYear": 2024, + "sourceNo": 150, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 43, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 43亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 43 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 43亩", + "户主": "日托美" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-151", + "name": "格·吾穷家庭生态牧场", + "town": "色地镇", + "village": "让里村", + "owner": "格·吾穷", + "constructionYear": 2024, + "sourceNo": 151, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 44, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 44亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 44 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 44亩", + "户主": "格·吾穷" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-152", + "name": "日西家庭生态牧场", + "town": "色地镇", + "village": "茸塔玛村", + "owner": "日西", + "constructionYear": 2024, + "sourceNo": 152, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 45, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 45亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 45 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 45亩", + "户主": "日西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-153", + "name": "阿旺罗让家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "阿旺罗让", + "constructionYear": 2023, + "sourceNo": 153, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "阿旺罗让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-154", + "name": "日格特家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "日格特", + "constructionYear": 2023, + "sourceNo": 154, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "日格特" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-155", + "name": "求让家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "求让", + "constructionYear": 2023, + "sourceNo": 155, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "求让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-156", + "name": "央莫家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "央莫", + "constructionYear": 2023, + "sourceNo": 156, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "央莫" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-157", + "name": "贡波甲家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "贡波甲", + "constructionYear": 2023, + "sourceNo": 157, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "贡波甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-158", + "name": "瓦布登家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "瓦布登", + "constructionYear": 2023, + "sourceNo": 158, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "瓦布登" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-159", + "name": "则扎家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "则扎", + "constructionYear": 2023, + "sourceNo": 159, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "则扎" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-160", + "name": "额扎家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "额扎", + "constructionYear": 2023, + "sourceNo": 160, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "额扎" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-161", + "name": "常热里家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "常热里", + "constructionYear": 2023, + "sourceNo": 161, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "常热里" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-162", + "name": "王真尼玛家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "王真尼玛", + "constructionYear": 2023, + "sourceNo": 162, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "王真尼玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-163", + "name": "卢巴家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "卢巴", + "constructionYear": 2023, + "sourceNo": 163, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "卢巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-164", + "name": "格商花家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "格商花", + "constructionYear": 2023, + "sourceNo": 164, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "格商花" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-165", + "name": "泽旺初家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "泽旺初", + "constructionYear": 2023, + "sourceNo": 165, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "泽旺初" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-166", + "name": "泽旺嘎让家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "泽旺嘎让", + "constructionYear": 2023, + "sourceNo": 166, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "泽旺嘎让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-167", + "name": "邓代夺基家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "邓代夺基", + "constructionYear": 2023, + "sourceNo": 167, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "邓代夺基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-168", + "name": "俄见达基家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "俄见达基", + "constructionYear": 2023, + "sourceNo": 168, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "俄见达基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-169", + "name": "谢拉华拉家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "谢拉华拉", + "constructionYear": 2023, + "sourceNo": 169, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "谢拉华拉" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-170", + "name": "贡波夺基家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "贡波夺基", + "constructionYear": 2023, + "sourceNo": 170, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "贡波夺基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-171", + "name": "若巴家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "若巴", + "constructionYear": 2023, + "sourceNo": 171, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "若巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-172", + "name": "桑波家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "桑波", + "constructionYear": 2023, + "sourceNo": 172, + "pointName": "", + "facilityBrief": "200㎡暖棚 / 20㎡管理房", + "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "grassSupportType": "储草基地", + "grassSupportMu": 50, + "grassSupportLowerBound": true, + "grassSupportText": "储草基地 ≥50亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 200, + "管理用房 (㎡)": 20, + "饲草料库 (㎡)": 20, + "活动场地及通道 (㎡)": 240, + "配套草料地 (亩)": 50 + }, + "attributes": { + "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", + "草料配套": "储草基地 ≥50亩", + "户主": "桑波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-001", + "name": "拿木甲家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "拿木甲", + "constructionYear": 2025, + "sourceNo": 173, + "pointName": "1号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.45082378, + "latitude": 32.6136657, + "locations": { + "暖棚": { + "longitude": 102.45047712, + "latitude": 32.61360272 + }, + "管理用房": { + "longitude": 102.45082378, + "latitude": 32.6136657 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "拿木甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-002", + "name": "桑我甲家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "桑我甲", + "constructionYear": 2025, + "sourceNo": 174, + "pointName": "2号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.34697849, + "latitude": 32.61455374, + "locations": { + "暖棚": { + "longitude": 102.34691526, + "latitude": 32.61425696 + }, + "管理用房": { + "longitude": 102.34697849, + "latitude": 32.61455374 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "桑我甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-003", + "name": "泽朗罗日家庭生态牧场", + "town": "安曲镇", + "village": "夺龙村", + "owner": "泽朗罗日", + "constructionYear": 2025, + "sourceNo": 175, + "pointName": "3号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.37805264, + "latitude": 32.5692703, + "locations": { + "暖棚": { + "longitude": 102.37805264, + "latitude": 32.5692703 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "泽朗罗日" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-004", + "name": "德清旺姆家庭生态牧场", + "town": "安曲镇", + "village": "哈拉玛村", + "owner": "德清旺姆", + "constructionYear": 2025, + "sourceNo": 176, + "pointName": "4号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.318167, + "latitude": 32.67018808, + "locations": { + "暖棚": { + "longitude": 102.31781652, + "latitude": 32.67023409 + }, + "管理用房": { + "longitude": 102.318167, + "latitude": 32.67018808 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "德清旺姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-005", + "name": "安曲镇下哈拉玛村177号家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "", + "constructionYear": 2025, + "sourceNo": 177, + "pointName": "5号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.43182146, + "latitude": 32.73162602, + "locations": { + "暖棚": { + "longitude": 102.43198641, + "latitude": 32.73093298 + }, + "管理用房": { + "longitude": 102.43182146, + "latitude": 32.73162602 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-006", + "name": "安曲镇下哈拉玛村178号家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "", + "constructionYear": 2025, + "sourceNo": 178, + "pointName": "6号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.42615548, + "latitude": 32.80562386, + "locations": { + "暖棚": { + "longitude": 102.42615548, + "latitude": 32.80562386 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-007", + "name": "尺真家庭生态牧场", + "town": "安曲镇", + "village": "下哈拉玛村", + "owner": "尺真", + "constructionYear": 2025, + "sourceNo": 179, + "pointName": "7号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.43310351, + "latitude": 32.76736081, + "locations": { + "暖棚": { + "longitude": 102.43325488, + "latitude": 32.76769519 + }, + "管理用房": { + "longitude": 102.43310351, + "latitude": 32.76736081 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "尺真" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-008", + "name": "扎花甲初家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "扎花甲初", + "constructionYear": 2025, + "sourceNo": 180, + "pointName": "8号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.34150772, + "latitude": 32.51809855, + "locations": { + "暖棚": { + "longitude": 102.34174988, + "latitude": 32.51793446 + }, + "管理用房": { + "longitude": 102.34150772, + "latitude": 32.51809855 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "扎花甲初" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-009", + "name": "刘永秀家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "刘永秀", + "constructionYear": 2025, + "sourceNo": 181, + "pointName": "9号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.39163622, + "latitude": 32.41535563, + "locations": { + "暖棚": { + "longitude": 102.39106026, + "latitude": 32.41522425 + }, + "管理用房": { + "longitude": 102.39163622, + "latitude": 32.41535563 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "刘永秀" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-010", + "name": "尼西甲家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "尼西甲", + "constructionYear": 2025, + "sourceNo": 182, + "pointName": "10号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.36479551, + "latitude": 32.4682826, + "locations": { + "暖棚": { + "longitude": 102.36445049, + "latitude": 32.46856208 + }, + "管理用房": { + "longitude": 102.36479551, + "latitude": 32.4682826 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "尼西甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-011", + "name": "尕尔穷家庭生态牧场", + "town": "龙日镇", + "village": "龙日坝村", + "owner": "尕尔穷", + "constructionYear": 2025, + "sourceNo": 183, + "pointName": "11号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.36574919, + "latitude": 32.46984022, + "locations": { + "暖棚": { + "longitude": 102.36543866, + "latitude": 32.46986063 + }, + "管理用房": { + "longitude": 102.36574919, + "latitude": 32.46984022 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "尕尔穷" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-SUM-184", + "name": "拉玛扎西家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "拉玛扎西", + "constructionYear": 2025, + "sourceNo": 184, + "pointName": "", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": null, + "latitude": null, + "locations": {}, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "拉玛扎西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-013", + "name": "索迫家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "索迫", + "constructionYear": 2025, + "sourceNo": 185, + "pointName": "13号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.57153908, + "latitude": 32.57642249, + "locations": { + "暖棚": { + "longitude": 102.57181204, + "latitude": 32.57674824 + }, + "管理用房": { + "longitude": 102.57153908, + "latitude": 32.57642249 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "索迫" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-014", + "name": "让白家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "让白", + "constructionYear": 2025, + "sourceNo": 186, + "pointName": "14号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.56368441, + "latitude": 32.56554011, + "locations": { + "暖棚": { + "longitude": 102.56396058, + "latitude": 32.5657272 + }, + "管理用房": { + "longitude": 102.56368441, + "latitude": 32.56554011 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "让白" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-015", + "name": "罗周家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "罗周", + "constructionYear": 2025, + "sourceNo": 187, + "pointName": "15号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.47340175, + "latitude": 32.5391063, + "locations": { + "暖棚": { + "longitude": 102.47353743, + "latitude": 32.53889572 + }, + "管理用房": { + "longitude": 102.47340175, + "latitude": 32.5391063 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "罗周" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-016", + "name": "贡波家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "贡波", + "constructionYear": 2025, + "sourceNo": 188, + "pointName": "16号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.55244875, + "latitude": 32.543925, + "locations": { + "暖棚": { + "longitude": 102.55268505, + "latitude": 32.54389452 + }, + "管理用房": { + "longitude": 102.55244875, + "latitude": 32.543925 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "贡波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-017", + "name": "阿新家庭生态牧场", + "town": "龙日镇", + "village": "格玛村", + "owner": "阿新", + "constructionYear": 2025, + "sourceNo": 189, + "pointName": "17号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.55661126, + "latitude": 32.51593726, + "locations": { + "暖棚": { + "longitude": 102.55699444, + "latitude": 32.51600578 + }, + "管理用房": { + "longitude": 102.55661126, + "latitude": 32.51593726 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "阿新" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-018", + "name": "南木青家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "南木青", + "constructionYear": 2025, + "sourceNo": 190, + "pointName": "18号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.45747569, + "latitude": 32.4997112, + "locations": { + "暖棚": { + "longitude": 102.45743039, + "latitude": 32.50039193 + }, + "管理用房": { + "longitude": 102.45747569, + "latitude": 32.4997112 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "南木青" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-019", + "name": "桑白家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "桑白", + "constructionYear": 2025, + "sourceNo": 191, + "pointName": "19号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.51611367, + "latitude": 32.46971999, + "locations": { + "暖棚": { + "longitude": 102.51569341, + "latitude": 32.46983718 + }, + "管理用房": { + "longitude": 102.51611367, + "latitude": 32.46971999 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "桑白" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-020", + "name": "尼玛家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "尼玛", + "constructionYear": 2025, + "sourceNo": 192, + "pointName": "20号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.44969589, + "latitude": 32.53923831, + "locations": { + "暖棚": { + "longitude": 102.44978266, + "latitude": 32.53944862 + }, + "管理用房": { + "longitude": 102.44969589, + "latitude": 32.53923831 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "尼玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-021", + "name": "求扎家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "求扎", + "constructionYear": 2025, + "sourceNo": 193, + "pointName": "21号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.47150078, + "latitude": 32.40722678, + "locations": { + "暖棚": { + "longitude": 102.47179278, + "latitude": 32.40707185 + }, + "管理用房": { + "longitude": 102.47150078, + "latitude": 32.40722678 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "求扎" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-022", + "name": "俄白家庭生态牧场", + "town": "龙日镇", + "village": "壤噶夺玛村", + "owner": "俄白", + "constructionYear": 2025, + "sourceNo": 194, + "pointName": "22号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.49071333, + "latitude": 32.49521145, + "locations": { + "暖棚": { + "longitude": 102.49088427, + "latitude": 32.4950118 + }, + "管理用房": { + "longitude": 102.49071333, + "latitude": 32.49521145 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "俄白" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-023", + "name": "杨中泽仁家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "杨中泽仁", + "constructionYear": 2025, + "sourceNo": 195, + "pointName": "23号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.6341466, + "latitude": 32.77015436, + "locations": { + "暖棚": { + "longitude": 102.63389415, + "latitude": 32.77017909 + }, + "管理用房": { + "longitude": 102.6341466, + "latitude": 32.77015436 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "杨中泽仁" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-024", + "name": "西泽家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "西泽", + "constructionYear": 2025, + "sourceNo": 196, + "pointName": "24号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.55496732, + "latitude": 32.71987605, + "locations": { + "暖棚": { + "longitude": 102.55578247, + "latitude": 32.71974519 + }, + "管理用房": { + "longitude": 102.55496732, + "latitude": 32.71987605 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "西泽" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-025", + "name": "阿尔布基家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "阿尔布基", + "constructionYear": 2025, + "sourceNo": 197, + "pointName": "25号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.59523521, + "latitude": 32.73509347, + "locations": { + "暖棚": { + "longitude": 102.5948059, + "latitude": 32.73476878 + }, + "管理用房": { + "longitude": 102.59523521, + "latitude": 32.73509347 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "阿尔布基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-026", + "name": "兰卡家庭生态牧场", + "town": "邛溪镇", + "village": "玛萨村", + "owner": "兰卡", + "constructionYear": 2025, + "sourceNo": 198, + "pointName": "26号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.63713205, + "latitude": 32.81316056, + "locations": { + "暖棚": { + "longitude": 102.63704412, + "latitude": 32.8134533 + }, + "管理用房": { + "longitude": 102.63713205, + "latitude": 32.81316056 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "兰卡" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-027", + "name": "华扎家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "华扎", + "constructionYear": 2025, + "sourceNo": 199, + "pointName": "27号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.50979432, + "latitude": 32.80879562, + "locations": { + "暖棚": { + "longitude": 102.50979432, + "latitude": 32.80879562 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "华扎" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-028", + "name": "勒西家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "勒西", + "constructionYear": 2025, + "sourceNo": 200, + "pointName": "28号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.46173752, + "latitude": 32.95518424, + "locations": { + "暖棚": { + "longitude": 102.46200958, + "latitude": 32.954686 + }, + "管理用房": { + "longitude": 102.46173752, + "latitude": 32.95518424 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "勒西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-029", + "name": "夺基泽单家庭生态牧场", + "town": "邛溪镇", + "village": "达格龙村", + "owner": "夺基泽单", + "constructionYear": 2025, + "sourceNo": 201, + "pointName": "29号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.70020081, + "latitude": 32.72191648, + "locations": { + "暖棚": { + "longitude": 102.70045355, + "latitude": 32.72249951 + }, + "管理用房": { + "longitude": 102.70020081, + "latitude": 32.72191648 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "夺基泽单" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-030", + "name": "卡卓措家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "卡卓措", + "constructionYear": 2025, + "sourceNo": 202, + "pointName": "30号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.51242484, + "latitude": 32.93367637, + "locations": { + "暖棚": { + "longitude": 102.5118488, + "latitude": 32.93352001 + }, + "管理用房": { + "longitude": 102.51242484, + "latitude": 32.93367637 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "卡卓措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-031", + "name": "甲花若巴家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "甲花若巴", + "constructionYear": 2025, + "sourceNo": 203, + "pointName": "31号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.52268299, + "latitude": 32.95119696, + "locations": { + "暖棚": { + "longitude": 102.52277514, + "latitude": 32.95178758 + }, + "管理用房": { + "longitude": 102.52268299, + "latitude": 32.95119696 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "甲花若巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-032", + "name": "布穷家庭生态牧场", + "town": "邛溪镇", + "village": "麻色阳德村", + "owner": "布穷", + "constructionYear": 2025, + "sourceNo": 204, + "pointName": "32号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.54114597, + "latitude": 32.97254854, + "locations": { + "暖棚": { + "longitude": 102.54154441, + "latitude": 32.97243338 + }, + "管理用房": { + "longitude": 102.54114597, + "latitude": 32.97254854 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "布穷" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-033", + "name": "丹姆初家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "丹姆初", + "constructionYear": 2025, + "sourceNo": 205, + "pointName": "33号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.68834131, + "latitude": 32.90209342, + "locations": { + "暖棚": { + "longitude": 102.68837196, + "latitude": 32.90189172 + }, + "管理用房": { + "longitude": 102.68834131, + "latitude": 32.90209342 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "丹姆初" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-034", + "name": "塔尔洼家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "塔尔洼", + "constructionYear": 2025, + "sourceNo": 206, + "pointName": "34号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.6640831, + "latitude": 32.89217135, + "locations": { + "暖棚": { + "longitude": 102.66431407, + "latitude": 32.89220187 + }, + "管理用房": { + "longitude": 102.6640831, + "latitude": 32.89217135 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "塔尔洼" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-035", + "name": "相木秋家庭生态牧场", + "town": "邛溪镇", + "village": "热坤村", + "owner": "相木秋", + "constructionYear": 2025, + "sourceNo": 207, + "pointName": "35号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.57449573, + "latitude": 32.81193451, + "locations": { + "暖棚": { + "longitude": 102.57510429, + "latitude": 32.8117671 + }, + "管理用房": { + "longitude": 102.57449573, + "latitude": 32.81193451 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "相木秋" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-036", + "name": "索科家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "索科", + "constructionYear": 2025, + "sourceNo": 208, + "pointName": "36号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.59972676, + "latitude": 32.96673649, + "locations": { + "暖棚": { + "longitude": 102.60036425, + "latitude": 32.96680279 + }, + "管理用房": { + "longitude": 102.59972676, + "latitude": 32.96673649 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "索科" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-037", + "name": "容中黑周家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "容中黑周", + "constructionYear": 2025, + "sourceNo": 209, + "pointName": "37号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.54097207, + "latitude": 32.92694872, + "locations": { + "暖棚": { + "longitude": 102.5418407, + "latitude": 32.92737961 + }, + "管理用房": { + "longitude": 102.54097207, + "latitude": 32.92694872 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "容中黑周" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-038", + "name": "桑都家庭生态牧场", + "town": "邛溪镇", + "village": "热多村", + "owner": "桑都", + "constructionYear": 2025, + "sourceNo": 210, + "pointName": "38号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.58826677, + "latitude": 32.88476392, + "locations": { + "暖棚": { + "longitude": 102.58801957, + "latitude": 32.88408206 + }, + "管理用房": { + "longitude": 102.58826677, + "latitude": 32.88476392 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "桑都" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-039", + "name": "茫兴家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "茫兴", + "constructionYear": 2025, + "sourceNo": 211, + "pointName": "39号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.07991934, + "latitude": 32.47311379, + "locations": { + "暖棚": { + "longitude": 102.07972827, + "latitude": 32.47333689 + }, + "管理用房": { + "longitude": 102.07991934, + "latitude": 32.47311379 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "茫兴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-040", + "name": "得基卓玛家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "得基卓玛", + "constructionYear": 2025, + "sourceNo": 212, + "pointName": "40号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.02913011, + "latitude": 32.43776256, + "locations": { + "暖棚": { + "longitude": 102.02905511, + "latitude": 32.43749287 + }, + "管理用房": { + "longitude": 102.02913011, + "latitude": 32.43776256 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "得基卓玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-041", + "name": "俄玛家庭生态牧场", + "town": "查尔玛乡", + "village": "什布龙村", + "owner": "俄玛", + "constructionYear": 2025, + "sourceNo": 213, + "pointName": "41号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.02292951, + "latitude": 32.46024019, + "locations": { + "暖棚": { + "longitude": 102.02290624, + "latitude": 32.46043784 + }, + "管理用房": { + "longitude": 102.02292951, + "latitude": 32.46024019 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "俄玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-043", + "name": "桑都措家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "桑都措", + "constructionYear": 2025, + "sourceNo": 214, + "pointName": "43号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 101.9504197, + "latitude": 32.41285591, + "locations": { + "暖棚": { + "longitude": 101.9504197, + "latitude": 32.41285591 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "桑都措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-044", + "name": "求沙家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "求沙", + "constructionYear": 2025, + "sourceNo": 215, + "pointName": "44号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 101.93533172, + "latitude": 32.42625182, + "locations": { + "暖棚": { + "longitude": 101.93515169, + "latitude": 32.42601524 + }, + "管理用房": { + "longitude": 101.93533172, + "latitude": 32.42625182 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "求沙" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-045", + "name": "旦渣家庭生态牧场", + "town": "查尔玛乡", + "village": "查龙村", + "owner": "旦渣", + "constructionYear": 2025, + "sourceNo": 216, + "pointName": "45号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 101.95319961, + "latitude": 32.50653773, + "locations": { + "暖棚": { + "longitude": 101.95330639, + "latitude": 32.50669919 + }, + "管理用房": { + "longitude": 101.95319961, + "latitude": 32.50653773 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "旦渣" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-046", + "name": "达玛王家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "达玛王", + "constructionYear": 2025, + "sourceNo": 217, + "pointName": "46号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.13310816, + "latitude": 32.44495604, + "locations": { + "暖棚": { + "longitude": 102.13292789, + "latitude": 32.44464674 + }, + "管理用房": { + "longitude": 102.13310816, + "latitude": 32.44495604 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "达玛王" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-047", + "name": "吉措家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "吉措", + "constructionYear": 2025, + "sourceNo": 218, + "pointName": "47号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.10031343, + "latitude": 32.52946984, + "locations": { + "暖棚": { + "longitude": 102.1000073, + "latitude": 32.52950127 + }, + "管理用房": { + "longitude": 102.10031343, + "latitude": 32.52946984 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "吉措" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-048", + "name": "然让家庭生态牧场", + "town": "查尔玛乡", + "village": "达尔龙村", + "owner": "然让", + "constructionYear": 2025, + "sourceNo": 219, + "pointName": "48号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.1186522, + "latitude": 32.54205879, + "locations": { + "暖棚": { + "longitude": 102.11832613, + "latitude": 32.54201141 + }, + "管理用房": { + "longitude": 102.1186522, + "latitude": 32.54205879 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "然让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-049", + "name": "索郎益西家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "索郎益西", + "constructionYear": 2025, + "sourceNo": 220, + "pointName": "49号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.59817262, + "latitude": 33.15279516, + "locations": { + "暖棚": { + "longitude": 102.59826937, + "latitude": 33.15242954 + }, + "管理用房": { + "longitude": 102.59817262, + "latitude": 33.15279516 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "索郎益西" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-050", + "name": "阿布洛家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "阿布洛", + "constructionYear": 2025, + "sourceNo": 221, + "pointName": "50号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.58881798, + "latitude": 33.13491038, + "locations": { + "暖棚": { + "longitude": 102.58881798, + "latitude": 33.13491038 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "阿布洛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-051", + "name": "甲花扎巴家庭生态牧场", + "town": "瓦切镇", + "village": "德香村", + "owner": "甲花扎巴", + "constructionYear": 2025, + "sourceNo": 222, + "pointName": "51号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.62447024, + "latitude": 33.14756405, + "locations": { + "暖棚": { + "longitude": 102.62447024, + "latitude": 33.14756405 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "甲花扎巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-052", + "name": "桑阿家庭生态牧场", + "town": "瓦切镇", + "village": "唐日村", + "owner": "桑阿", + "constructionYear": 2025, + "sourceNo": 223, + "pointName": "52号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.60287876, + "latitude": 33.06269322, + "locations": { + "暖棚": { + "longitude": 102.60249352, + "latitude": 33.06252399 + }, + "管理用房": { + "longitude": 102.60287876, + "latitude": 33.06269322 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "桑阿" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-053", + "name": "泽旺卓玛家庭生态牧场", + "town": "瓦切镇", + "village": "唐日村", + "owner": "泽旺卓玛", + "constructionYear": 2025, + "sourceNo": 224, + "pointName": "53号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.62023015, + "latitude": 33.07672504, + "locations": { + "暖棚": { + "longitude": 102.6195876, + "latitude": 33.07660844 + }, + "管理用房": { + "longitude": 102.62023015, + "latitude": 33.07672504 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "泽旺卓玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-054", + "name": "达多杰家庭生态牧场", + "town": "瓦切镇", + "village": "唐日村", + "owner": "达多杰", + "constructionYear": 2025, + "sourceNo": 225, + "pointName": "54号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.65907881, + "latitude": 33.04426714, + "locations": { + "暖棚": { + "longitude": 102.65878993, + "latitude": 33.0443906 + }, + "管理用房": { + "longitude": 102.65907881, + "latitude": 33.04426714 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "达多杰" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-055", + "name": "甲花家庭生态牧场", + "town": "瓦切镇", + "village": "曲登塘社区", + "owner": "甲花", + "constructionYear": 2025, + "sourceNo": 226, + "pointName": "55号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.60900684, + "latitude": 33.05296943, + "locations": { + "暖棚": { + "longitude": 102.60968583, + "latitude": 33.05324231 + }, + "管理用房": { + "longitude": 102.60900684, + "latitude": 33.05296943 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "甲花" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-056", + "name": "普尔娃他家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "普尔娃他", + "constructionYear": 2025, + "sourceNo": 227, + "pointName": "56号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.60388795, + "latitude": 33.080497, + "locations": { + "暖棚": { + "longitude": 102.60365851, + "latitude": 33.08085512 + }, + "管理用房": { + "longitude": 102.60388795, + "latitude": 33.080497 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "普尔娃他" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-057", + "name": "腊夺家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "腊夺", + "constructionYear": 2025, + "sourceNo": 228, + "pointName": "57号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.60558227, + "latitude": 33.03649561, + "locations": { + "暖棚": { + "longitude": 102.60526934, + "latitude": 33.03662516 + }, + "管理用房": { + "longitude": 102.60558227, + "latitude": 33.03649561 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "腊夺" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-058", + "name": "拉姆姐家庭生态牧场", + "town": "瓦切镇", + "village": "达峨村", + "owner": "拉姆姐", + "constructionYear": 2025, + "sourceNo": 229, + "pointName": "58号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.68677242, + "latitude": 33.01494028, + "locations": { + "暖棚": { + "longitude": 102.68739311, + "latitude": 33.0149217 + }, + "管理用房": { + "longitude": 102.68677242, + "latitude": 33.01494028 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "拉姆姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-059", + "name": "尔金姐家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "尔金姐", + "constructionYear": 2025, + "sourceNo": 230, + "pointName": "59号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.75797357, + "latitude": 33.05247976, + "locations": { + "暖棚": { + "longitude": 102.75821556, + "latitude": 33.05186118 + }, + "管理用房": { + "longitude": 102.75797357, + "latitude": 33.05247976 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "尔金姐" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-060", + "name": "果·尼科家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "果·尼科", + "constructionYear": 2025, + "sourceNo": 231, + "pointName": "60号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.72144107, + "latitude": 33.09435508, + "locations": { + "暖棚": { + "longitude": 102.72188962, + "latitude": 33.09419876 + }, + "管理用房": { + "longitude": 102.72144107, + "latitude": 33.09435508 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "果·尼科" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-061", + "name": "苏拉王家庭生态牧场", + "town": "瓦切镇", + "village": "日干村", + "owner": "苏拉王", + "constructionYear": 2025, + "sourceNo": 232, + "pointName": "61号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.61834278, + "latitude": 33.16780533, + "locations": { + "暖棚": { + "longitude": 102.61834278, + "latitude": 33.16780533 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "苏拉王" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-062", + "name": "桑阿家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "桑阿", + "constructionYear": 2025, + "sourceNo": 233, + "pointName": "62号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.80956551, + "latitude": 33.03877017, + "locations": { + "暖棚": { + "longitude": 102.80909925, + "latitude": 33.03857555 + }, + "管理用房": { + "longitude": 102.80956551, + "latitude": 33.03877017 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "桑阿" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-063", + "name": "卓玛娜姆家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "卓玛娜姆", + "constructionYear": 2025, + "sourceNo": 234, + "pointName": "63号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.82588257, + "latitude": 33.03170874, + "locations": { + "暖棚": { + "longitude": 102.82561727, + "latitude": 33.03236022 + }, + "管理用房": { + "longitude": 102.82588257, + "latitude": 33.03170874 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "卓玛娜姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-064", + "name": "麦朵拉姆家庭生态牧场", + "town": "瓦切镇", + "village": "色永村", + "owner": "麦朵拉姆", + "constructionYear": 2025, + "sourceNo": 235, + "pointName": "64号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.83282822, + "latitude": 33.02336202, + "locations": { + "暖棚": { + "longitude": 102.83285089, + "latitude": 33.02300106 + }, + "管理用房": { + "longitude": 102.83282822, + "latitude": 33.02336202 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "麦朵拉姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-065", + "name": "支多娜姆家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "支多娜姆", + "constructionYear": 2025, + "sourceNo": 236, + "pointName": "65号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.19990732, + "latitude": 32.42229086, + "locations": { + "暖棚": { + "longitude": 102.20070669, + "latitude": 32.42224384 + }, + "管理用房": { + "longitude": 102.19990732, + "latitude": 32.42229086 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "支多娜姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-066", + "name": "俄波家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "俄波", + "constructionYear": 2025, + "sourceNo": 237, + "pointName": "66号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.20292182, + "latitude": 32.43868925, + "locations": { + "暖棚": { + "longitude": 102.20320835, + "latitude": 32.43908196 + }, + "管理用房": { + "longitude": 102.20292182, + "latitude": 32.43868925 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "俄波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-067", + "name": "格日家庭生态牧场", + "town": "江茸乡", + "village": "江宫玛村", + "owner": "格日", + "constructionYear": 2025, + "sourceNo": 238, + "pointName": "67号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.2217086, + "latitude": 32.4769641, + "locations": { + "暖棚": { + "longitude": 102.22170157, + "latitude": 32.47727277 + }, + "管理用房": { + "longitude": 102.2217086, + "latitude": 32.4769641 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "格日" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-068", + "name": "更让尼玛家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "更让尼玛", + "constructionYear": 2025, + "sourceNo": 239, + "pointName": "68号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.21973813, + "latitude": 32.50918264, + "locations": { + "暖棚": { + "longitude": 102.22028091, + "latitude": 32.50928539 + }, + "管理用房": { + "longitude": 102.21973813, + "latitude": 32.50918264 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "更让尼玛" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-069", + "name": "罗布让家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "罗布让", + "constructionYear": 2025, + "sourceNo": 240, + "pointName": "69号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.22810898, + "latitude": 32.51942, + "locations": { + "暖棚": { + "longitude": 102.22815984, + "latitude": 32.51915025 + }, + "管理用房": { + "longitude": 102.22810898, + "latitude": 32.51942 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "罗布让" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-070", + "name": "王甲家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "王甲", + "constructionYear": 2025, + "sourceNo": 241, + "pointName": "70号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.22938935, + "latitude": 32.50833256, + "locations": { + "暖棚": { + "longitude": 102.22913952, + "latitude": 32.50866903 + }, + "管理用房": { + "longitude": 102.22938935, + "latitude": 32.50833256 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "王甲" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-071", + "name": "占波家庭生态牧场", + "town": "江茸乡", + "village": "茸日玛村", + "owner": "占波", + "constructionYear": 2025, + "sourceNo": 242, + "pointName": "71号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.23990168, + "latitude": 32.48078901, + "locations": { + "暖棚": { + "longitude": 102.23962706, + "latitude": 32.48083944 + }, + "管理用房": { + "longitude": 102.23990168, + "latitude": 32.48078901 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "占波" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-072", + "name": "罗日家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "罗日", + "constructionYear": 2025, + "sourceNo": 243, + "pointName": "72号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.61169021, + "latitude": 32.08932106, + "locations": { + "暖棚": { + "longitude": 102.61148498, + "latitude": 32.08914501 + }, + "管理用房": { + "longitude": 102.61169021, + "latitude": 32.08932106 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "罗日" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-073", + "name": "甲花夺基家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "甲花夺基", + "constructionYear": 2025, + "sourceNo": 244, + "pointName": "73号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.56962246, + "latitude": 32.08623818, + "locations": { + "暖棚": { + "longitude": 102.5699463, + "latitude": 32.08635954 + }, + "管理用房": { + "longitude": 102.56962246, + "latitude": 32.08623818 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "甲花夺基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-074", + "name": "供木丹家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "供木丹", + "constructionYear": 2025, + "sourceNo": 245, + "pointName": "74号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.48240109, + "latitude": 32.20777413, + "locations": { + "暖棚": { + "longitude": 102.48249928, + "latitude": 32.20799391 + }, + "管理用房": { + "longitude": 102.48240109, + "latitude": 32.20777413 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "供木丹" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-075", + "name": "华尔白家庭生态牧场", + "town": "刷经寺镇", + "village": "壤口村", + "owner": "华尔白", + "constructionYear": 2025, + "sourceNo": 246, + "pointName": "75号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.5588633, + "latitude": 32.38692708, + "locations": { + "暖棚": { + "longitude": 102.55912658, + "latitude": 32.38683384 + }, + "管理用房": { + "longitude": 102.5588633, + "latitude": 32.38692708 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "华尔白" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-076", + "name": "谢尔拉姆家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "谢尔拉姆", + "constructionYear": 2025, + "sourceNo": 247, + "pointName": "76号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.67850122, + "latitude": 32.93495695, + "locations": { + "暖棚": { + "longitude": 102.67883757, + "latitude": 32.93485478 + }, + "管理用房": { + "longitude": 102.67850122, + "latitude": 32.93495695 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "谢尔拉姆" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-077", + "name": "若巴家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "若巴", + "constructionYear": 2025, + "sourceNo": 248, + "pointName": "77号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.83999152, + "latitude": 32.77133407, + "locations": { + "暖棚": { + "longitude": 102.8392576, + "latitude": 32.77165891 + }, + "管理用房": { + "longitude": 102.83999152, + "latitude": 32.77133407 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "若巴" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-078", + "name": "扑尔夺家庭生态牧场", + "town": "阿木乡", + "village": "峨扎村", + "owner": "扑尔夺", + "constructionYear": 2025, + "sourceNo": 249, + "pointName": "78号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.79027109, + "latitude": 32.79883402, + "locations": { + "暖棚": { + "longitude": 102.78948161, + "latitude": 32.79853105 + }, + "管理用房": { + "longitude": 102.79027109, + "latitude": 32.79883402 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "扑尔夺" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-079", + "name": "甲基家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "甲基", + "constructionYear": 2025, + "sourceNo": 250, + "pointName": "79号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.83380011, + "latitude": 32.86722605, + "locations": { + "暖棚": { + "longitude": 102.83426146, + "latitude": 32.86765306 + }, + "管理用房": { + "longitude": 102.83380011, + "latitude": 32.86722605 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "甲基" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-080", + "name": "尕得家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "尕得", + "constructionYear": 2025, + "sourceNo": 251, + "pointName": "80号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.83189751, + "latitude": 32.82836028, + "locations": { + "暖棚": { + "longitude": 102.83237405, + "latitude": 32.82819561 + }, + "管理用房": { + "longitude": 102.83189751, + "latitude": 32.82836028 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "尕得" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + }, + { + "id": "YC-FAMILY-PASTURE-081", + "name": "西夏唐美家庭生态牧场", + "town": "阿木乡", + "village": "卡口村", + "owner": "西夏唐美", + "constructionYear": 2025, + "sourceNo": 252, + "pointName": "81号点", + "facilityBrief": "300㎡暖棚 / 60㎡管理房", + "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "grassSupportType": "网围栏种草", + "grassSupportMu": 5, + "grassSupportLowerBound": false, + "grassSupportText": "网围栏种草 5亩", + "longitude": 102.77903691, + "latitude": 32.72696452, + "locations": { + "暖棚": { + "longitude": 102.7785588, + "latitude": 32.72665098 + }, + "管理用房": { + "longitude": 102.77903691, + "latitude": 32.72696452 + } + }, + "metrics": { + "标准化暖棚 (㎡)": 300, + "管理用房 (㎡)": 60, + "饲草料库 (㎡)": 50, + "活动场地及通道 (㎡)": 500, + "配套草料地 (亩)": 5 + }, + "attributes": { + "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", + "草料配套": "网围栏种草 5亩", + "户主": "西夏唐美" + }, + "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" + } + ] +} +`,SV=`{ + "generatedAt": "2026-07-10T16:32:43.331Z", + "sourceLabel": "21.95万亩种草矢量数据", + "statusLabel": "待核定", + "totalPlots": 118, + "coveredTowns": 6, + "projectPlots": 9, + "pendingPlots": 118, + "townRows": [ + { + "key": "邛溪镇", + "name": "邛溪镇", + "value": 31, + "unit": "个", + "extra": "待核定图斑", + "zero": false + }, + { + "key": "刷经寺镇", + "name": "刷经寺镇", + "value": 0, + "unit": "个", + "extra": "暂无图斑", + "zero": true + }, + { + "key": "安曲镇", + "name": "安曲镇", + "value": 81, + "unit": "个", + "extra": "待核定图斑", + "zero": false + }, + { + "key": "龙日镇", + "name": "龙日镇", + "value": 2, + "unit": "个", + "extra": "待核定图斑", + "zero": false + }, + { + "key": "江茸乡", + "name": "江茸乡", + "value": 2, + "unit": "个", + "extra": "待核定图斑", + "zero": false + }, + { + "key": "查尔玛乡", + "name": "查尔玛乡", + "value": 1, + "unit": "个", + "extra": "待核定图斑", + "zero": false + }, + { + "key": "瓦切镇", + "name": "瓦切镇", + "value": 1, + "unit": "个", + "extra": "待核定图斑", + "zero": false + }, + { + "key": "阿木乡", + "name": "阿木乡", + "value": 0, + "unit": "个", + "extra": "暂无图斑", + "zero": true + }, + { + "key": "麦洼乡", + "name": "麦洼乡", + "value": 0, + "unit": "个", + "extra": "暂无图斑", + "zero": true + }, + { + "key": "色地镇", + "name": "色地镇", + "value": 0, + "unit": "个", + "extra": "暂无图斑", + "zero": true + } + ], + "categoryRows": [ + { + "key": "待分类图斑", + "name": "待分类图斑", + "value": 49, + "unit": "个" + }, + { + "key": "撒播图斑", + "name": "撒播图斑", + "value": 42, + "unit": "个" + }, + { + "key": "调拨地块", + "name": "调拨地块", + "value": 10, + "unit": "个" + }, + { + "key": "项目地块", + "name": "项目地块", + "value": 9, + "unit": "个" + }, + { + "key": "高产稳产范围", + "name": "高产稳产范围", + "value": 8, + "unit": "个" + } + ], + "sourceRows": [ + { + "key": "边界图斑", + "name": "边界图斑", + "value": 109, + "unit": "个" + }, + { + "key": "面图斑", + "name": "面图斑", + "value": 9, + "unit": "个" + } + ], + "plotRows": [ + { + "key": "AG-111", + "id": "AG-111", + "name": "1号地块多边形", + "fullName": "1号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "1号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-115", + "id": "AG-115", + "name": "2号地块多边形", + "fullName": "2号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "2号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-110", + "id": "AG-110", + "name": "3号地块多边形", + "fullName": "3号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "3号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-113", + "id": "AG-113", + "name": "4号地块多边形", + "fullName": "4号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "4号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-118", + "id": "AG-118", + "name": "5号地块多边形", + "fullName": "5号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "5号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-117", + "id": "AG-117", + "name": "6号地块多边形", + "fullName": "6号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "6号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-112", + "id": "AG-112", + "name": "产业园9号地块多边形", + "fullName": "产业园9号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "产业园9号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-116", + "id": "AG-116", + "name": "人字形7号地块多边形", + "fullName": "人字形7号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "人字形7号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-114", + "id": "AG-114", + "name": "无人区8号地块多边形", + "fullName": "无人区8号地块多边形", + "town": "邛溪镇", + "category": "项目地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "无人区8号地块多边形 邛溪镇 项目地块 待核定" + }, + { + "key": "AG-069", + "id": "AG-069", + "name": "121212_118", + "fullName": "121212_118", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_118 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-070", + "id": "AG-070", + "name": "121212_119", + "fullName": "121212_119", + "town": "江茸乡", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_119 江茸乡 待分类图斑 待核定" + }, + { + "key": "AG-071", + "id": "AG-071", + "name": "121212_120", + "fullName": "121212_120", + "town": "江茸乡", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_120 江茸乡 待分类图斑 待核定" + }, + { + "key": "AG-072", + "id": "AG-072", + "name": "121212_121", + "fullName": "121212_121", + "town": "查尔玛乡", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_121 查尔玛乡 待分类图斑 待核定" + }, + { + "key": "AG-073", + "id": "AG-073", + "name": "121212_122", + "fullName": "121212_122", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_122 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-061", + "id": "AG-061", + "name": "121212_61", + "fullName": "121212_61", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_61 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-062", + "id": "AG-062", + "name": "121212_62", + "fullName": "121212_62", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_62 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-063", + "id": "AG-063", + "name": "121212_63", + "fullName": "121212_63", + "town": "龙日镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_63 龙日镇 待分类图斑 待核定" + }, + { + "key": "AG-064", + "id": "AG-064", + "name": "121212_64", + "fullName": "121212_64", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_64 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-065", + "id": "AG-065", + "name": "121212_65", + "fullName": "121212_65", + "town": "龙日镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_65 龙日镇 待分类图斑 待核定" + }, + { + "key": "AG-066", + "id": "AG-066", + "name": "121212_66", + "fullName": "121212_66", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_66 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-067", + "id": "AG-067", + "name": "121212_67", + "fullName": "121212_67", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_67 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-068", + "id": "AG-068", + "name": "121212_68", + "fullName": "121212_68", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "121212_68 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-051", + "id": "AG-051", + "name": "调拨_51", + "fullName": "调拨_51", + "town": "安曲镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_51 安曲镇 调拨地块 待核定" + }, + { + "key": "AG-052", + "id": "AG-052", + "name": "调拨_52", + "fullName": "调拨_52", + "town": "安曲镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_52 安曲镇 调拨地块 待核定" + }, + { + "key": "AG-053", + "id": "AG-053", + "name": "调拨_53", + "fullName": "调拨_53", + "town": "安曲镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_53 安曲镇 调拨地块 待核定" + }, + { + "key": "AG-054", + "id": "AG-054", + "name": "调拨_54", + "fullName": "调拨_54", + "town": "安曲镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_54 安曲镇 调拨地块 待核定" + }, + { + "key": "AG-055", + "id": "AG-055", + "name": "调拨_55", + "fullName": "调拨_55", + "town": "安曲镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_55 安曲镇 调拨地块 待核定" + }, + { + "key": "AG-056", + "id": "AG-056", + "name": "调拨_56", + "fullName": "调拨_56", + "town": "邛溪镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_56 邛溪镇 调拨地块 待核定" + }, + { + "key": "AG-057", + "id": "AG-057", + "name": "调拨_57", + "fullName": "调拨_57", + "town": "邛溪镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_57 邛溪镇 调拨地块 待核定" + }, + { + "key": "AG-058", + "id": "AG-058", + "name": "调拨_58", + "fullName": "调拨_58", + "town": "邛溪镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_58 邛溪镇 调拨地块 待核定" + }, + { + "key": "AG-059", + "id": "AG-059", + "name": "调拨_59", + "fullName": "调拨_59", + "town": "邛溪镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_59 邛溪镇 调拨地块 待核定" + }, + { + "key": "AG-060", + "id": "AG-060", + "name": "调拨_60", + "fullName": "调拨_60", + "town": "邛溪镇", + "category": "调拨地块", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "调拨_60 邛溪镇 调拨地块 待核定" + }, + { + "key": "AG-105", + "id": "AG-105", + "name": "其他_100", + "fullName": "其他_100", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_100 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-106", + "id": "AG-106", + "name": "其他_101", + "fullName": "其他_101", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_101 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-107", + "id": "AG-107", + "name": "其他_102", + "fullName": "其他_102", + "town": "邛溪镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_102 邛溪镇 待分类图斑 待核定" + }, + { + "key": "AG-108", + "id": "AG-108", + "name": "其他_103", + "fullName": "其他_103", + "town": "邛溪镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_103 邛溪镇 待分类图斑 待核定" + }, + { + "key": "AG-109", + "id": "AG-109", + "name": "其他_104", + "fullName": "其他_104", + "town": "邛溪镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_104 邛溪镇 待分类图斑 待核定" + }, + { + "key": "AG-074", + "id": "AG-074", + "name": "其他_69", + "fullName": "其他_69", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_69 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-075", + "id": "AG-075", + "name": "其他_70", + "fullName": "其他_70", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_70 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-076", + "id": "AG-076", + "name": "其他_71", + "fullName": "其他_71", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_71 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-077", + "id": "AG-077", + "name": "其他_72", + "fullName": "其他_72", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_72 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-078", + "id": "AG-078", + "name": "其他_73", + "fullName": "其他_73", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_73 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-079", + "id": "AG-079", + "name": "其他_74", + "fullName": "其他_74", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_74 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-080", + "id": "AG-080", + "name": "其他_75", + "fullName": "其他_75", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_75 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-081", + "id": "AG-081", + "name": "其他_76", + "fullName": "其他_76", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_76 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-082", + "id": "AG-082", + "name": "其他_77", + "fullName": "其他_77", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_77 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-083", + "id": "AG-083", + "name": "其他_78", + "fullName": "其他_78", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_78 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-084", + "id": "AG-084", + "name": "其他_79", + "fullName": "其他_79", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_79 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-085", + "id": "AG-085", + "name": "其他_80", + "fullName": "其他_80", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_80 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-086", + "id": "AG-086", + "name": "其他_81", + "fullName": "其他_81", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_81 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-087", + "id": "AG-087", + "name": "其他_82", + "fullName": "其他_82", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_82 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-088", + "id": "AG-088", + "name": "其他_83", + "fullName": "其他_83", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_83 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-089", + "id": "AG-089", + "name": "其他_84", + "fullName": "其他_84", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_84 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-090", + "id": "AG-090", + "name": "其他_85", + "fullName": "其他_85", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_85 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-091", + "id": "AG-091", + "name": "其他_86", + "fullName": "其他_86", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_86 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-092", + "id": "AG-092", + "name": "其他_87", + "fullName": "其他_87", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_87 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-093", + "id": "AG-093", + "name": "其他_88", + "fullName": "其他_88", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_88 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-094", + "id": "AG-094", + "name": "其他_89", + "fullName": "其他_89", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_89 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-095", + "id": "AG-095", + "name": "其他_90", + "fullName": "其他_90", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_90 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-096", + "id": "AG-096", + "name": "其他_91", + "fullName": "其他_91", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_91 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-097", + "id": "AG-097", + "name": "其他_92", + "fullName": "其他_92", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_92 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-098", + "id": "AG-098", + "name": "其他_93", + "fullName": "其他_93", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_93 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-099", + "id": "AG-099", + "name": "其他_94", + "fullName": "其他_94", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_94 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-100", + "id": "AG-100", + "name": "其他_95", + "fullName": "其他_95", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_95 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-101", + "id": "AG-101", + "name": "其他_96", + "fullName": "其他_96", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_96 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-102", + "id": "AG-102", + "name": "其他_97", + "fullName": "其他_97", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_97 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-103", + "id": "AG-103", + "name": "其他_98", + "fullName": "其他_98", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_98 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-104", + "id": "AG-104", + "name": "其他_99", + "fullName": "其他_99", + "town": "安曲镇", + "category": "待分类图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "其他_99 安曲镇 待分类图斑 待核定" + }, + { + "key": "AG-001", + "id": "AG-001", + "name": "撒播_0", + "fullName": "撒播_0", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_0 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-002", + "id": "AG-002", + "name": "撒播_1", + "fullName": "撒播_1", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_1 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-011", + "id": "AG-011", + "name": "撒播_10", + "fullName": "撒播_10", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_10 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-012", + "id": "AG-012", + "name": "撒播_11", + "fullName": "撒播_11", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_11 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-013", + "id": "AG-013", + "name": "撒播_12", + "fullName": "撒播_12", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_12 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-014", + "id": "AG-014", + "name": "撒播_13", + "fullName": "撒播_13", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_13 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-015", + "id": "AG-015", + "name": "撒播_14", + "fullName": "撒播_14", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_14 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-016", + "id": "AG-016", + "name": "撒播_15", + "fullName": "撒播_15", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_15 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-017", + "id": "AG-017", + "name": "撒播_16", + "fullName": "撒播_16", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_16 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-018", + "id": "AG-018", + "name": "撒播_17", + "fullName": "撒播_17", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_17 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-019", + "id": "AG-019", + "name": "撒播_18", + "fullName": "撒播_18", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_18 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-020", + "id": "AG-020", + "name": "撒播_19", + "fullName": "撒播_19", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_19 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-003", + "id": "AG-003", + "name": "撒播_2", + "fullName": "撒播_2", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_2 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-021", + "id": "AG-021", + "name": "撒播_20", + "fullName": "撒播_20", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_20 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-022", + "id": "AG-022", + "name": "撒播_21", + "fullName": "撒播_21", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_21 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-023", + "id": "AG-023", + "name": "撒播_22", + "fullName": "撒播_22", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_22 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-024", + "id": "AG-024", + "name": "撒播_23", + "fullName": "撒播_23", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_23 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-025", + "id": "AG-025", + "name": "撒播_24", + "fullName": "撒播_24", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_24 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-026", + "id": "AG-026", + "name": "撒播_25", + "fullName": "撒播_25", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_25 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-027", + "id": "AG-027", + "name": "撒播_26", + "fullName": "撒播_26", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_26 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-028", + "id": "AG-028", + "name": "撒播_27", + "fullName": "撒播_27", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_27 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-029", + "id": "AG-029", + "name": "撒播_28", + "fullName": "撒播_28", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_28 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-030", + "id": "AG-030", + "name": "撒播_29", + "fullName": "撒播_29", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_29 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-004", + "id": "AG-004", + "name": "撒播_3", + "fullName": "撒播_3", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_3 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-031", + "id": "AG-031", + "name": "撒播_30", + "fullName": "撒播_30", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_30 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-032", + "id": "AG-032", + "name": "撒播_31", + "fullName": "撒播_31", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_31 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-033", + "id": "AG-033", + "name": "撒播_32", + "fullName": "撒播_32", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_32 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-034", + "id": "AG-034", + "name": "撒播_33", + "fullName": "撒播_33", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_33 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-035", + "id": "AG-035", + "name": "撒播_34", + "fullName": "撒播_34", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_34 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-036", + "id": "AG-036", + "name": "撒播_35", + "fullName": "撒播_35", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_35 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-037", + "id": "AG-037", + "name": "撒播_36", + "fullName": "撒播_36", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_36 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-038", + "id": "AG-038", + "name": "撒播_37", + "fullName": "撒播_37", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_37 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-039", + "id": "AG-039", + "name": "撒播_38", + "fullName": "撒播_38", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_38 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-040", + "id": "AG-040", + "name": "撒播_39", + "fullName": "撒播_39", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_39 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-005", + "id": "AG-005", + "name": "撒播_4", + "fullName": "撒播_4", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_4 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-041", + "id": "AG-041", + "name": "撒播_40", + "fullName": "撒播_40", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_40 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-042", + "id": "AG-042", + "name": "撒播_41", + "fullName": "撒播_41", + "town": "邛溪镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_41 邛溪镇 撒播图斑 待核定" + }, + { + "key": "AG-006", + "id": "AG-006", + "name": "撒播_5", + "fullName": "撒播_5", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_5 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-007", + "id": "AG-007", + "name": "撒播_6", + "fullName": "撒播_6", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_6 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-008", + "id": "AG-008", + "name": "撒播_7", + "fullName": "撒播_7", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_7 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-009", + "id": "AG-009", + "name": "撒播_8", + "fullName": "撒播_8", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_8 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-010", + "id": "AG-010", + "name": "撒播_9", + "fullName": "撒播_9", + "town": "安曲镇", + "category": "撒播图斑", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "撒播_9 安曲镇 撒播图斑 待核定" + }, + { + "key": "AG-043", + "id": "AG-043", + "name": "总范围_42", + "fullName": "总范围_42", + "town": "安曲镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_42 安曲镇 高产稳产范围 待核定" + }, + { + "key": "AG-044", + "id": "AG-044", + "name": "总范围_44", + "fullName": "总范围_44", + "town": "安曲镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_44 安曲镇 高产稳产范围 待核定" + }, + { + "key": "AG-045", + "id": "AG-045", + "name": "总范围_45", + "fullName": "总范围_45", + "town": "安曲镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_45 安曲镇 高产稳产范围 待核定" + }, + { + "key": "AG-046", + "id": "AG-046", + "name": "总范围_46", + "fullName": "总范围_46", + "town": "邛溪镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_46 邛溪镇 高产稳产范围 待核定" + }, + { + "key": "AG-047", + "id": "AG-047", + "name": "总范围_47", + "fullName": "总范围_47", + "town": "邛溪镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_47 邛溪镇 高产稳产范围 待核定" + }, + { + "key": "AG-048", + "id": "AG-048", + "name": "总范围_48", + "fullName": "总范围_48", + "town": "邛溪镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_48 邛溪镇 高产稳产范围 待核定" + }, + { + "key": "AG-049", + "id": "AG-049", + "name": "总范围_49", + "fullName": "总范围_49", + "town": "邛溪镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_49 邛溪镇 高产稳产范围 待核定" + }, + { + "key": "AG-050", + "id": "AG-050", + "name": "总范围_50", + "fullName": "总范围_50", + "town": "瓦切镇", + "category": "高产稳产范围", + "status": "待核定", + "stageKey": "artificial-grassland", + "stageName": "人工种草", + "canLocate": true, + "locateText": "定位", + "searchText": "总范围_50 瓦切镇 高产稳产范围 待核定" + } + ] +} +`,wV=`{ + "generatedAt": "2026-07-11T03:50:38.329544+00:00", + "sourceLabel": "各乡镇实测种草面积汇总表2023-7-25.xlsx", + "sourceSheet": "Sheet1", + "sourceNote": "按汇总表合计行作为大屏面积口径;图斑资料仅用于地图定位,不作为统计主口径。", + "summary": { + "actualAreaMu": 56569, + "contractAreaMu": 56569, + "areaDifferenceMu": 0, + "projectCount": 6, + "coveredTownCount": 7, + "constructionYearCount": 3, + "investmentRecordCount": 5, + "investmentWanYuan": 4322.56, + "tillageDisturbanceMu": 10011.32, + "slightDisturbanceMu": 2301.69, + "tillageMu": 7093.23, + "drillSowingMu": 14818, + "noTillOverseedingMu": 30118.76 + }, + "projectRows": [ + { + "key": "artificial-grassland-project-1", + "name": "2023饲草基地", + "fullName": "四川省红原县草原畜牧业转型升级试点项目(2023)高产稳产饲草基地", + "year": "2023", + "category": "高产稳产饲草基地", + "value": 12000, + "unit": "亩", + "actualAreaMu": 12000, + "contractAreaMu": 12000, + "investmentWanYuan": 984.1, + "owner": "红原县科学技术和农业畜牧局", + "contractor": "四川格润草业有限公司", + "requirement": "免耕补播:12000亩", + "towns": [ + "安曲镇", + "瓦切镇", + "龙日镇" + ], + "locations": [ + "安曲当木柯", + "安曲镇(安曲牧场", + "壤口黑水方向(沟里面)", + "瓦切镇(赛马场后面、村委会后面山坡)", + "瓦切镇(麦洼方向)", + "龙日镇(龙日坝村神山后)" + ], + "notes": [], + "canLocate": false, + "searchText": "四川省红原县草原畜牧业转型升级试点项目(2023)高产稳产饲草基地 2023 高产稳产饲草基地 安曲当木柯 安曲镇(安曲牧场 壤口黑水方向(沟里面) 瓦切镇(赛马场后面、村委会后面山坡) 瓦切镇(麦洼方向) 龙日镇(龙日坝村神山后)" + }, + { + "key": "artificial-grassland-project-2", + "name": "2023草种基地", + "fullName": "四川省红原县草原畜牧业转型升级试点项目(2023)草种基地", + "year": "2023", + "category": "草种基地", + "value": 2500, + "unit": "亩", + "actualAreaMu": 2500, + "contractAreaMu": 2500, + "investmentWanYuan": 0, + "owner": "红原县科学技术和农业畜牧局", + "contractor": "", + "requirement": "翻耕2500亩", + "towns": [ + "龙日镇" + ], + "locations": [ + "龙日镇(机场右)", + "龙日镇(机场左、右)" + ], + "notes": [ + "2500亩2024年做" + ], + "canLocate": false, + "searchText": "四川省红原县草原畜牧业转型升级试点项目(2023)草种基地 2023 草种基地 龙日镇(机场右) 龙日镇(机场左、右) 2500亩2024年做" + }, + { + "key": "artificial-grassland-project-3", + "name": "2022草种基地", + "fullName": "四川省红原县草原畜牧业转型升级试点项目(2022)草种基地", + "year": "2022", + "category": "草种基地", + "value": 3000, + "unit": "亩", + "actualAreaMu": 3000, + "contractAreaMu": 3000, + "investmentWanYuan": 308.48, + "owner": "红原县科学技术和农业畜牧局", + "contractor": "中材克普(北京)生态环境有限公司", + "requirement": "翻耕3000亩", + "towns": [ + "安曲镇", + "邛溪镇", + "龙日镇" + ], + "locations": [ + "安曲镇(机场旁)", + "安曲镇(镇旁)", + "邛溪镇(麦洼牦牛园区)", + "龙日镇" + ], + "notes": [ + "601.74" + ], + "canLocate": false, + "searchText": "四川省红原县草原畜牧业转型升级试点项目(2022)草种基地 2022 草种基地 安曲镇(机场旁) 安曲镇(镇旁) 邛溪镇(麦洼牦牛园区) 龙日镇 601.74" + }, + { + "key": "artificial-grassland-project-4", + "name": "2022饲草基地", + "fullName": "四川省红原县草原畜牧业转型升级试点项目(2022)高产稳产饲草基地", + "year": "2022", + "category": "高产稳产饲草基地", + "value": 5000, + "unit": "亩", + "actualAreaMu": 5000, + "contractAreaMu": 5000, + "investmentWanYuan": 489.03, + "owner": "红原县科学技术和农业畜牧局", + "contractor": "四川省林丰园林建设工程有限公司", + "requirement": "翻耕:3500亩;人工播种1500亩", + "towns": [ + "安曲镇", + "江茸乡", + "刷经寺镇", + "瓦切镇", + "龙日镇" + ], + "locations": [ + "安曲镇(安曲牧场红原方向右侧)", + "安曲镇(安曲牧场)", + "安曲镇(安曲牧场路口右侧)", + "江茸乡(绵羊养殖场)", + "刷经寺镇(壤口黑水路口)", + "瓦切镇(场镇旁)", + "刷经寺镇(壤口黑水路口下)", + "刷经寺镇(壤口村)", + "龙日镇(龙日坝村神山后)", + "龙日镇(飞机场)", + "安曲镇阿坝县路口至飞机场)" + ], + "notes": [], + "canLocate": false, + "searchText": "四川省红原县草原畜牧业转型升级试点项目(2022)高产稳产饲草基地 2022 高产稳产饲草基地 安曲镇(安曲牧场红原方向右侧) 安曲镇(安曲牧场) 安曲镇(安曲牧场路口右侧) 江茸乡(绵羊养殖场) 刷经寺镇(壤口黑水路口) 瓦切镇(场镇旁) 刷经寺镇(壤口黑水路口下) 刷经寺镇(壤口村) 龙日镇(龙日坝村神山后) 龙日镇(飞机场) 安曲镇阿坝县路口至飞机场)" + }, + { + "key": "artificial-grassland-project-5", + "name": "2024草地资源保护", + "fullName": "草地资源保护与利用子项目", + "year": "2024", + "category": "草地资源保护", + "value": 11050, + "unit": "亩", + "actualAreaMu": 11050, + "contractAreaMu": 11050, + "investmentWanYuan": 1087.12, + "owner": "红原县科学技术和农业畜牧局", + "contractor": "四川省川蜀林草建设工程有限公司", + "requirement": "免耕补播:7900亩,条播:2000亩,翻耕1150亩", + "towns": [ + "瓦切镇" + ], + "locations": [ + "瓦切镇(如意空行寺路口)", + "瓦切镇(如意空行寺瓦切镇方向左侧)", + "瓦切镇(种草基地工地后)", + "瓦切镇(虎头山)", + "瓦切镇(三角神牛牧家乐旁)", + "瓦切镇(牧草产业园区)", + "瓦切镇达俄村(唐日合作社旁)", + "瓦切镇达俄村(红原印象路口)", + "瓦切镇达俄村(如意空行寺旁)" + ], + "notes": [ + "翻耕1050亩2024年实施" + ], + "canLocate": false, + "searchText": "草地资源保护与利用子项目 2024 草地资源保护 瓦切镇(如意空行寺路口) 瓦切镇(如意空行寺瓦切镇方向左侧) 瓦切镇(种草基地工地后) 瓦切镇(虎头山) 瓦切镇(三角神牛牧家乐旁) 瓦切镇(牧草产业园区) 瓦切镇达俄村(唐日合作社旁) 瓦切镇达俄村(红原印象路口) 瓦切镇达俄村(如意空行寺旁) 翻耕1050亩2024年实施" + }, + { + "key": "artificial-grassland-project-6", + "name": "2024饲草基地", + "fullName": "高产稳产优质饲草基地建设子项目", + "year": "2024", + "category": "高产稳产饲草基地", + "value": 23019, + "unit": "亩", + "actualAreaMu": 23019, + "contractAreaMu": 23019, + "investmentWanYuan": 1453.82, + "owner": "红原县科学技术和农业畜牧局", + "contractor": "中材克普(北京)生态环境有限公司", + "requirement": "条播23019亩", + "towns": [ + "龙日镇", + "瓦切镇", + "安曲镇", + "查尔玛乡", + "江茸乡" + ], + "locations": [ + "龙日镇(飞机场)", + "瓦切(泽旺多尔基对面)", + "瓦切(种畜场对面)", + "热坤村(音乐牧场对面)", + "(安曲)月亮湾", + "安曲镇(阿坝县路口旁)", + "查尔玛(镇政府旁边)", + "江茸乡(绵羊养殖场)", + "4600" + ], + "notes": [ + "24年实施" + ], + "canLocate": false, + "searchText": "高产稳产优质饲草基地建设子项目 2024 高产稳产饲草基地 龙日镇(飞机场) 瓦切(泽旺多尔基对面) 瓦切(种畜场对面) 热坤村(音乐牧场对面) (安曲)月亮湾 安曲镇(阿坝县路口旁) 查尔玛(镇政府旁边) 江茸乡(绵羊养殖场) 4600 24年实施" + } + ], + "yearRows": [ + { + "key": "year-2022", + "name": "2022年", + "value": 8000, + "unit": "亩", + "extra": "实测种草面积" + }, + { + "key": "year-2023", + "name": "2023年", + "value": 14500, + "unit": "亩", + "extra": "实测种草面积" + }, + { + "key": "year-2024", + "name": "2024年", + "value": 34069, + "unit": "亩", + "extra": "实测种草面积" + } + ], + "typeRows": [ + { + "key": "type-高产稳产饲草基地", + "name": "高产稳产饲草基地", + "value": 40019, + "unit": "亩", + "extra": "实测种草面积" + }, + { + "key": "type-草地资源保护", + "name": "草地资源保护", + "value": 11050, + "unit": "亩", + "extra": "实测种草面积" + }, + { + "key": "type-草种基地", + "name": "草种基地", + "value": 5500, + "unit": "亩", + "extra": "实测种草面积" + } + ], + "operationRows": [ + { + "key": "tillage", + "name": "实际翻耕", + "value": 7093.23, + "unit": "亩", + "extra": "表内实测记录" + }, + { + "key": "drill-sowing", + "name": "条播", + "value": 14818, + "unit": "亩", + "extra": "表内实测记录" + }, + { + "key": "no-till-overseeding", + "name": "免耕补播", + "value": 30118.76, + "unit": "亩", + "extra": "表内实测记录" + } + ], + "disturbanceRows": [ + { + "key": "disturbance-total", + "name": "翻耕及扰动", + "value": 10011.32, + "unit": "亩", + "extra": "施工扰动面积" + }, + { + "key": "disturbance-light", + "name": "轻微扰动", + "value": 2301.69, + "unit": "亩", + "extra": "施工扰动面积" + }, + { + "key": "disturbance-tillage", + "name": "实际翻耕", + "value": 7093.23, + "unit": "亩", + "extra": "施工扰动面积" + } + ], + "townRows": [ + { + "key": "town-安曲镇", + "name": "安曲镇", + "value": 4, + "unit": "项", + "extra": "涉及种草项目" + }, + { + "key": "town-瓦切镇", + "name": "瓦切镇", + "value": 4, + "unit": "项", + "extra": "涉及种草项目" + }, + { + "key": "town-龙日镇", + "name": "龙日镇", + "value": 5, + "unit": "项", + "extra": "涉及种草项目" + }, + { + "key": "town-邛溪镇", + "name": "邛溪镇", + "value": 1, + "unit": "项", + "extra": "涉及种草项目" + }, + { + "key": "town-江茸乡", + "name": "江茸乡", + "value": 2, + "unit": "项", + "extra": "涉及种草项目" + }, + { + "key": "town-刷经寺镇", + "name": "刷经寺镇", + "value": 1, + "unit": "项", + "extra": "涉及种草项目" + }, + { + "key": "town-查尔玛乡", + "name": "查尔玛乡", + "value": 1, + "unit": "项", + "extra": "涉及种草项目" + } + ], + "investmentRows": [ + { + "key": "artificial-grassland-project-6", + "name": "2024饲草基地", + "value": 1453.82, + "unit": "万元", + "extra": "2024" + }, + { + "key": "artificial-grassland-project-5", + "name": "2024草地资源保护", + "value": 1087.12, + "unit": "万元", + "extra": "2024" + }, + { + "key": "artificial-grassland-project-1", + "name": "2023饲草基地", + "value": 984.1, + "unit": "万元", + "extra": "2023" + }, + { + "key": "artificial-grassland-project-4", + "name": "2022饲草基地", + "value": 489.03, + "unit": "万元", + "extra": "2022" + }, + { + "key": "artificial-grassland-project-3", + "name": "2022草种基地", + "value": 308.48, + "unit": "万元", + "extra": "2022" + } + ] +} +`,bV=""+new URL("xiangfa-breeding-base-03c7f2cb-balabala-1783957353180.png",import.meta.url).href,W6=[{key:"family-pasture",name:"家庭生态牧场",color:"#30dcff",unit:"处",metricLabel:"生态牧场",width:126},{key:"artificial-grassland",name:"人工种草",color:"#19ffc6",unit:"万亩",metricLabel:"种草面积",width:112},{key:"scale-breeding",name:"规模化养殖基地",color:"#46e7ff",unit:"个",metricLabel:"基地",width:132},{key:"breeding-selection",name:"选育/扩繁基地",color:"#7aefff",unit:"个",metricLabel:"基地",width:132},{key:"forage-storage",name:"防灾减灾",subName:"饲草储备库",color:"#25cbe8",unit:"吨",metricLabel:"库容",width:126},{key:"milk-source-station",name:"奶源站",color:"#5cdfff",unit:"个",metricLabel:"站点",width:112},{key:"slaughter-processing",name:"屠宰与加工",color:"#1fafd2",unit:"万元",metricLabel:"产值",width:112},{key:"farm-equipment",name:"农机装备",color:"#30dcff",unit:"个",metricLabel:"装备",width:112},{key:"forage-trade",name:"牧草交易",color:"#19ffc6",unit:"个",metricLabel:"点位",width:112},{key:"social-service",name:"社会化服务",subName:"金融/疫病/保险/培训",color:"#8aefff",unit:"个",metricLabel:"主体",width:132}],Qn=Oa.map(t=>t.zoneName),TV=new Map(L9.map(t=>[t.name,t.center])),Xg=JSON.parse(yV),CV=JSON.parse(vV),AV=JSON.parse(SV),Z5=JSON.parse(wV),$r=Xg.categories||[],xV=new Map($r.map(t=>[t.categoryCode,t])),Zg=(CV.records||[]).map(t=>J2(L2({},t),{areaName:t.town,address:t.village,categoryCode:"YC-FAMILY-PASTURE",categoryName:"家庭生态牧场",stageKey:"family-pasture",stageName:"家庭生态牧场"})),_m=new Set(["企业全称","主体全称","畜牧工作站","规划建设股","执法大队","疫控中心","科教股","科技股","乡村振兴股","农产品检测站","数据欠缺,请两个股室核定饲草基地数据。","对接相关科研院校收集数据"]),_V=new Set(["YC-GRASSLAND-RESOURCE","YC-CXPT-OTHER-BASE"]),MV=[/^林草局数据-\d+$/,/^(技术培训|金融服务网点|保险服务网点)-\d+$/],PV=[/蔬菜/,/金针菇/,/植物园/,/污水/,/物联网/,/绵羊/],zu=$r.flatMap(t=>(t.categoryCode==="YC-FAMILY-PASTURE"?Zg:t.items||[]).map(e=>{var n;return J2(L2({},e),{categoryCode:t.categoryCode,categoryName:t.categoryName,stageKey:t.industryStage,stageName:((n=v6(t.industryStage))==null?void 0:n.name)||t.categoryName})})),qa=zu.filter(Ie),Mm=new Map(zu.map(t=>[String(t.id),t])),A5=kt("YC-FAMILY-PASTURE"),a4=kt(["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"]),Yu=kt(["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE"]),e9=kt("YC-DISASTER-FORAGE-STORAGE"),y6=kt("YC-PROCESSING-PLANT"),x5=kt("YC-SLAUGHTERHOUSE"),$u=kt("YC-FARM-EQUIPMENT"),Wu=kt("YC-DISEASE-CONTROL"),D9=kt("YC-TECH-TRAINING"),Ja=kt("YC-SERVICE-FINANCE"),Wr=kt("YC-SERVICE-INSURANCE"),Vu=Zn(A5),Yl=pt(A5,t=>b0(t,["标准化暖棚 (㎡)"])),kV=pt(A5,t=>b0(t,["管理用房 (㎡)"])),ey=pt(A5,t=>b0(t,["饲草料库 (㎡)"])),EV=pt(A5,t=>b0(t,["活动场地及通道 (㎡)"]));Zn(Yu);const wr=Zn(e9),NV=Zn(a4),RV=pt(a4,t=>b0(t,["设计存栏量 (头)"]));Zn(y6);Zn(x5);const $l=Zn($u),Wl=Zn(Wu),ty=Zn(D9),Hu=Zn(Ja),ny=Zn(Wr),LV=$r.filter(t=>kt(t.categoryCode).some(Ie)).length;qa.length;new Set(qa.map(yn).filter(Boolean)).size||Qn.length;const IV=Math.max($l,m6.reduce((t,e)=>t+Number(e.devices||0),0));pt(Yu,t=>b0(t,["种植面积 (亩)","acreage"])||J8(t.scale));const K8=pt(e9,t=>b0(t,["总库容 (吨)"]));pt(kt("YC-BREEDING-BASE"),t=>b0(t,["设计存栏量 (头)"]));pt(kt("YC-BREEDING-BASE"),t=>b0(t,["年出栏量 (头)"]));const ay=pt(y6,t=>b0(t,["年产值 (万元)"])),Ku=pt(y6,t=>b0(t,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"])),qu=pt(y6,t=>b0(t,["带动本地农户数"])),Ju=pt(x5,t=>b0(t,["年总产值 (万元)"])),Vr=pt(x5,t=>b0(t,["年屠宰总量 (头)"])),iy=pt(x5,t=>b0(t,["冷冻库容量 (吨)"])),Qa=ay+Ju,q8=ec(Ja,t=>b0(t,["最高单户贷款额度 (万元)"])),FV=ec(Ja,t=>b0(t,["服务覆盖乡镇数"])),Vl=ec(Wr,t=>b0(t,["服务覆盖乡镇数"])),ry=pt(D9,t=>b0(t,["年培训场次"])),Ia=pt(D9,t=>b0(t,["年培训人次"])),BV=kt("YC-BREEDING-BASE"),DV=new Set(["YC-BREEDING-BASE"]),Hl=[{key:"longri-2025",aliases:["龙日坝标准化养殖基地 (2025)"],name:"龙日坝标准化养殖基地",town:"龙日镇",village:"龙日坝村",operator:"红原县高原犇犇农副产品有限公司",tag:"标准化育肥示范",projectInvestment:5118,summary:"以牦牛育肥为主,联动科研机构和饲料企业开展标准化育肥。",facts:[{label:"建设规模",value:"30,685㎡",note:"规划总建筑面积"},{label:"项目投资",value:"5,118万元",note:"重点项目建设"},{label:"示范带动",value:"500户",note:"牧民增收"}],highlights:["科研协作","补饲精料","育肥增效"]},{key:"seyong",aliases:["瓦切镇标准化色永村养殖基地"],name:"色永村标准化养殖基地",town:"瓦切镇",village:"色永村",operator:"红原县高原犇犇农副产品有限公司",tag:"设施育肥示范",projectInvestment:1566,summary:"依托双育肥舍开展集中育肥,形成标准化养殖和补饲配套。",facts:[{label:"建设规模",value:"6,651㎡",note:"规划总建筑面积"},{label:"项目投资",value:"1,566万元",note:"基地建设"},{label:"示范带动",value:"100户",note:"牧民增收"}],highlights:["双育肥舍","集中育肥","标准化配套"]},{key:"dae",aliases:["瓦切镇达俄村标准化养殖基地","瓦切镇达峨村标准化养殖基地"],name:"达峨村标准化养殖基地",town:"瓦切镇",village:"达峨村",operator:"红原县雅卓阳养殖农民专业合作社",tag:"联牧联营示范",projectInvestment:997,summary:"以联牧联营组织资源,推进分区放牧、分群饲养和专业化管理。",facts:[{label:"项目投资",value:"997万元",note:"基地建设"},{label:"优质草场",value:"8,800亩",note:"养殖基础"},{label:"增收成效",value:"约6万元",note:"社员户均增收"}],highlights:["联牧联营","分群饲养","四季均衡出栏"]},{key:"xiangfa",aliases:["邛溪镇麻萨阳德村标准化养殖基地","邛溪镇麻色阳德村标准化养殖基地","祥发牧业综合养殖基地"],name:"祥发牧业综合养殖基地",town:"邛溪镇",village:"麻色阳德村",operator:"红原县祥发牧业发展有限责任公司",tag:"联农带农示范",projectInvestment:515,summary:"以“4218”标准化养殖和联农带农模式,提升育肥效益与产业带动能力。",image:bV,facts:[{label:"项目投资",value:"515万元",note:"项目建设"},{label:"建设面积",value:"7,517㎡",note:"建筑面积"},{label:"养殖模式",value:"4218",note:"标准化养殖"}],highlights:["标准化养殖","联农带农","集中育肥"]}],oy=NH([...Yu,...e9]),p5=Z5.summary||{},sy=Z5.projectRows||[],GV=Z5.yearRows||[],UV=Z5.typeRows||[],OV=Z5.operationRows||[],jV=Z5.disturbanceRows||[],ly=[...Z5.townRows||[]].sort(qt),zV=Z5.investmentRows||[],YV=AV.plotRows||[],$V=RH(),uy=LH(),Pm=m6.map(t=>({key:t.name,name:t.name,value:Number(t.devices||0),unit:"套",extra:`${Pt(t.count)}头识别样本`})).filter(t=>t.value>0).sort(qt),WV=m6.map(t=>({key:t.name,name:t.name,value:Number(t.count||0),unit:"头",extra:`${Pt(t.devices)}套设备`})).filter(t=>t.value>0).sort(qt),VV=gH();Xg.generatedAt;e9.map(Xu);[...y6,...x5].map(Xu);qa.map(Xu);const br=qa.map(SH).sort((t,e)=>Number(e.canLocate)-Number(t.canLocate)||t.stageOrder-e.stageOrder||String(t.name).localeCompare(String(e.name),"zh-CN"));function el(t={}){const e=String(t.featuredBaseKey||"").trim();if(e)return Hl.find(a=>a.key===e)||null;const n=[t.name,t.fullName].filter(Boolean).map(a=>String(a));return Hl.find(a=>a.aliases.some(i=>n.some(r=>r===i||r.includes(i)||i.includes(r))))||null}const cy=W6.reduce((t,e)=>t+g5(e.key),0),dy=new Set(W6.flatMap(t=>Cr(t.key).map(e=>e.town)).filter(Boolean)).size||Qn.length,HV=[{zh:"产业点位",name:"产业点位",value:cy,unit:"个"},{zh:"产业产值",name:"产业产值",value:sn(Qa,1),unit:"万元",decimals:1},{zh:"饲草库容",name:"饲草库容",value:K8,unit:"吨"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:dy,unit:"个"}];function fy(t){const e=rH(t),n=b8();return({"family-pasture":[{zh:"家庭生态牧场",name:"家庭生态牧场",value:Vu,unit:"处",icon:"town"},{zh:"标准化暖棚",name:"标准化暖棚",value:Yl,unit:"㎡",icon:"area"},{zh:"饲草料库",name:"饲草料库",value:ey,unit:"㎡",icon:"stack"},{zh:"活动场地",name:"活动场地",value:EV,unit:"㎡",icon:"project"}],"artificial-grassland":[{zh:"实测种草面积",name:"实测种草面积",value:sn(Number(p5.actualAreaMu||0)/1e4,2),unit:"万亩",icon:"area"},{zh:"建设项目",name:"建设项目",value:p5.projectCount||0,unit:"项",icon:"project"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:p5.coveredTownCount||0,unit:"个",icon:"town"},{zh:"项目投资",name:"项目投资",value:p5.investmentWanYuan||0,unit:"万元",icon:"certificate"}],"scale-breeding":[{zh:"养殖基地",name:"养殖基地",value:n.baseCount,unit:"个"},{zh:"设计存栏",name:"设计存栏",value:n.designStock,unit:"头"},{zh:"年出栏",name:"年出栏",value:n.annualOutput,unit:"头"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:n.townCount,unit:"个"}],"breeding-selection":[{zh:"选育/扩繁基地",name:"选育/扩繁基地",value:NV,unit:"个"},{zh:"设计存栏",name:"设计存栏",value:RV,unit:"头"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:ql(a4,yn),unit:"个"},{zh:"育种等级",name:"育种等级",value:JV.length,unit:"类"}],"forage-storage":[{zh:"储备库",name:"储备库",value:wr,unit:"个"},{zh:"总库容",name:"总库容",value:K8,unit:"吨"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:ql(e9,yn),unit:"个"},{zh:"草种类型",name:"草种类型",value:oy.length,unit:"类"}],"milk-source-station":[{zh:"奶源站",name:"奶源站",value:0,unit:"个"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:0,unit:"个"},{zh:"年收奶量",name:"年收奶量",value:0,unit:"吨"},{zh:"建档主体",name:"建档主体",value:0,unit:"家"}],"slaughter-processing":[{zh:"加工屠宰点位",name:"加工屠宰点位",value:g5("slaughter-processing"),unit:"个"},{zh:"产业产值",name:"产业产值",value:sn(Qa,1),unit:"万元",decimals:1},{zh:"年屠宰量",name:"年屠宰量",value:Vr,unit:"头"},{zh:"带动农户",name:"带动农户",value:qu,unit:"户"}],"farm-equipment":[{zh:"监测点位",name:"监测点位",value:g5("farm-equipment"),unit:"个"},{zh:"识别设备",name:"识别设备",value:m6.reduce((i,r)=>i+Number(r.devices||0),0),unit:"套"},{zh:"乡镇样本",name:"乡镇样本",value:m6.length,unit:"个"},{zh:"识别样本",name:"识别样本",value:m6.reduce((i,r)=>i+Number(r.count||0),0),unit:"头"}],"forage-trade":[{zh:"交易点位",name:"交易点位",value:0,unit:"个"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:0,unit:"个"},{zh:"交易草量",name:"交易草量",value:0,unit:"吨"},{zh:"建档主体",name:"建档主体",value:0,unit:"家"}],"social-service":[{zh:"服务点位",name:"服务点位",value:g5("social-service"),unit:"个"},{zh:"最高授信",name:"最高授信",value:q8,unit:"万元"},{zh:"培训人次",name:"培训人次",value:Ia,unit:"人次"},{zh:"服务类型",name:"服务类型",value:uy.length,unit:"类"}]}[t]||[{zh:e.name,name:e.name,value:e.value,unit:e.unit},{zh:e.capacityUnit?"能力规模":"主体规模",name:e.capacityUnit?"能力规模":"主体规模",value:e.capacity,unit:e.capacityUnit},...(e.fields||[]).map(i=>({zh:i.label,name:i.label,value:i.value,unit:i.unit}))]).filter(i=>i.value!==void 0&&i.value!==null&&i.value!=="").slice(0,4)}const KV=[{key:"chain-subject",name:"产业点位",value:cy,unit:"个",icon:"town",extra:`${LV}类主体`},{key:"chain-town",name:"镇域覆盖",value:dy,unit:"个",icon:"town",extra:"全链覆盖"},{key:"chain-output",name:"产业产值",value:sn(Qa,1),unit:"万元",icon:"certificate",extra:"加工+屠宰"},{key:"chain-forage",name:"饲草库容",value:K8,unit:"吨",icon:"yield",extra:"防灾储备"}],qV=W6.map(t=>({key:t.key,name:t.name,value:g5(t.key),unit:t.key==="family-pasture"?"处":"个",color:t.color})),Tr=[{key:"family-pasture",name:"家庭生态牧场",value:Vu,unit:"处",capacity:sn(Yl/1e4,2),capacityUnit:"万㎡",note:"家庭生态牧场建设及标准化养殖设施",fields:[{label:"标准化暖棚",value:sn(Yl/1e4,2),unit:"万㎡"},{label:"管理用房",value:sn(kV/1e4,2),unit:"万㎡"},{label:"饲草料库",value:sn(ey/1e4,2),unit:"万㎡"}]},{key:"artificial-grassland",name:"人工种草",value:sn(Number(p5.actualAreaMu||0)/1e4,2),unit:"万亩",capacity:p5.projectCount||0,capacityUnit:"项",note:"实测种草项目建设资料",fields:[{label:"实测种草面积",value:sn(Number(p5.actualAreaMu||0)/1e4,2),unit:"万亩"},{label:"建设项目",value:p5.projectCount||0,unit:"项"},{label:"覆盖乡镇",value:p5.coveredTownCount||0,unit:"个"}]},{key:"scale-breeding",name:"规模化养殖基地",value:b8().baseCount,unit:"个",capacity:b8().designStock,capacityUnit:"头",note:"标准化养殖、选育扩繁与种畜基地",fields:[{label:"设计存栏",value:b8().designStock,unit:"头"},{label:"年出栏",value:b8().annualOutput,unit:"头"},{label:"覆盖乡镇",value:b8().townCount,unit:"个"}]},{key:"forage-storage",name:"防灾减灾饲草储备库",value:wr,unit:"个",capacity:K8,capacityUnit:"吨",note:"饲草储备、防灾调拨和草种保障",fields:[{label:"储备库",value:wr,unit:"个"},{label:"总库容",value:K8,unit:"吨"},{label:"覆盖乡镇",value:ql(e9,yn),unit:"个"}]},{key:"slaughter-processing",name:"屠宰与加工",value:g5("slaughter-processing"),unit:"个",capacity:sn(Qa,1),capacityUnit:"万元",note:"乳品加工、肉制品加工与定点屠宰",fields:[{label:"加工产值",value:ay,unit:"万元"},{label:"屠宰产值",value:sn(Ju,1),unit:"万元"},{label:"年屠宰量",value:Vr,unit:"头"}]},{key:"farm-equipment",name:"农机装备",value:g5("farm-equipment"),unit:"个",capacity:IV,capacityUnit:"套",note:"农机服务主体与生产监测设备",fields:[{label:"监测点位",value:g5("farm-equipment"),unit:"个"},{label:"识别设备",value:m6.reduce((t,e)=>t+Number(e.devices||0),0),unit:"套"},{label:"乡镇样本",value:m6.length,unit:"个"}]},{key:"social-service",name:"社会化服务",value:g5("social-service"),unit:"个",capacity:q8,capacityUnit:"万元",note:"金融、保险、防疫、培训和其他服务网点",fields:[{label:"金融网点",value:Hu,unit:"家"},{label:"最高授信",value:q8,unit:"万元"},{label:"培训人次",value:Ia,unit:"人次"}]}],JV=CH(),hy=J5(e9,yn,t=>b0(t,["总库容 (吨)"])).map(t=>J2(L2({},t),{unit:"吨",extra:`${t.count}个库点`})),my=[{key:"milk-processing",name:"乳品加工",value:pt(y6.filter(FH),t=>b0(t,["年产值 (万元)"])),unit:"万元",color:"#32dcff"},{key:"meat-processing",name:"肉品加工",value:pt(y6.filter(BH),t=>b0(t,["年产值 (万元)"])),unit:"万元",color:"#48cfff"},{key:"slaughter-output",name:"定点屠宰",value:sn(Ju,1),unit:"万元",color:"#8bf7ff"}].filter(t=>t.value>0),QV=[{key:"raw-capacity",name:"年加工原料",value:Ku,unit:"吨",extra:`${y6.filter(Ie).length}家加工主体`},{key:"slaughter-heads",name:"年屠宰总量",value:Vr,unit:"头",extra:`${x5.filter(Ie).length}家定点屠宰`},{key:"farmer-driven",name:"带动本地农户",value:qu,unit:"户",extra:"加工企业申报"},{key:"cold-storage",name:"冷冻/冷藏能力",value:iy,unit:"吨",extra:"屠宰冷链"}],XV=[{key:"finance",name:"金融服务",value:X4(FV,10),count:Hu,unit:"家",extra:`最高${Pt(q8)}万元`},{key:"insurance",name:"保险服务",value:X4(Vl,10),count:ny,unit:"家",extra:`覆盖${Pt(Vl)}乡镇`},{key:"training",name:"技术培训",value:X4(Ia,200),count:ty,unit:"家",extra:`${Pt(Ia)}人次`},{key:"disease",name:"疫病防控",value:X4(Wl,4),count:Wl,unit:"个",extra:"防疫主体"},{key:"equipment",name:"农机装备",value:X4($l,3),count:$l,unit:"个",extra:"服务主体"}],ZV=[{key:"cutting",name:"割草地",headerName:"割草地"},{key:"storage",name:"储草基地",headerName:"储草基地",valuePrefix:"≥"},{key:"netFence",name:"网围栏种草",headerName:"网围栏"}],eH=[{key:"cutting",name:"割草地",color:"#37DDF3"},{key:"storage",name:"储草基地",color:"#8bf7ff"}];function py(t){return fy(t).map((e,n)=>({key:e.key||`${t}-metric-${n}`,name:e.name||e.zh||`指标${n+1}`,value:e.value,unit:e.unit||"",extra:e.extra||""}))}function tH(t){var o;const e=v6(t),n=Tr.find(s=>s.key===t),a=py(t),i=a[0]||{key:`${t}-primary`,name:e.name,value:0,unit:e.unit||""},r=((o=n==null?void 0:n.fields)!=null&&o.length?n.fields:a.slice(1)).map((s,u)=>({key:s.key||`${t}-field-${u}`,name:s.label||s.name||`要点${u+1}`,value:s.value,unit:s.unit||"",extra:s.extra||(n==null?void 0:n.note)||e.metricLabel||""}));return[J2(L2({},i),{key:i.key||`${t}-spotlight-main`,name:i.name||e.name,extra:i.extra||(n==null?void 0:n.note)||e.metricLabel||"环节核心能力"}),...r].slice(0,4)}function nH(t){return z0(`${t}-right-metrics`,"环节核心指标","metric",py(t))}function aH(t){return z0(`${t}-right-spotlight`,"建设要点","spotlight",tH(t))}function p8(t,e=Ty(t)){return[e,nH(t),aH(t)]}function iH(t){const e=v6(t),n=AH(t),a={"family-pasture":{left:[z0("family-town","家庭生态牧场乡镇分布","column",Q4(t),{variant:"townCompact",scrollable:!1,uniformColor:!0,fillHeight:!0}),z0("family-unit","标准化建设配置","specGrid",cH(),{fillHeight:!0}),z0("family-forage","乡镇割草地、储草基地面积","stackColumn",Qu(),{fillHeight:!0,unit:"亩",segments:eH,sharedScale:!0,showZero:!0,showValue:!0,totalLabel:"汇总面积"}),z0("family-support-type","草料配套类型占比","structure",dH(),{fillHeight:!0})],right:[Ty(t),z0("family-construction-year","年度建设节奏","line",hH(),{fixedType:!0}),z0("family-net-fence","网围栏配套面积","rank",fH("netFence"),{unit:"亩"})]},"artificial-grassland":{left:[z0("grass-town-area","人工种草乡镇面积","column",ly,{variant:"townCompact",scrollable:!1,uniformColor:!0}),z0("grass-year","年度项目建设面积","column",GV,{variant:"plain",scrollable:!1,lineOverlay:!0}),z0("grass-type","建设类型面积","structure",UV),z0("grass-operation","作业方式面积","bar",OV)],right:[_H(),z0("grass-investment","项目投资规模","rank",zV),z0("grass-disturbance","施工扰动面积","split",jV),z0("grass-project-area","项目面积明细","specGrid",uH())]},"scale-breeding":{left:[z0("breeding-town-count","乡镇养殖基地分布","column",gy("baseCount","个","养殖基地"),{variant:"townCompact",scrollable:!1,axisLabelMode:"short",uniformColor:!0}),z0("breeding-town-stock","设计存栏规模排名","bar",yy("designStock","头","设计存栏"),{variant:"rankBar"}),z0("breeding-town-output","年出栏区域贡献","structure",sH()),z0("breeding-project-investment","重点示范项目投入","rank",lH())],right:[...p8(t,xH())]},"forage-storage":{left:[z0("storage-town","库容镇域分布","column",Q4(t),{variant:"townCompact",scrollable:!1}),z0("storage-point","储备库点排名","bar",PH(),{variant:"rankBar"}),z0("storage-grass","储备草种结构","structure",oy),z0("storage-capacity","库容能力占比","split",Q4(t).filter(r=>Number(r.value||0)>0).slice(0,7))],right:[...p8(t)]},"slaughter-processing":{left:[z0("processing-value","产值结构","donut",my,{variant:"ring"}),z0("processing-chain","产能与带动","structure",$V),z0("processing-heads","屠宰能力排名","bar",kH(),{variant:"rankBar"}),z0("processing-town","加工点位乡镇分布","column",nl([...y6,...x5],"加工/屠宰主体"),{variant:"townCompact",scrollable:!1,uniformColor:!0})],right:[...p8(t)]},"farm-equipment":{left:[z0("equipment-device","识别设备分布","column",z5(Pm,{unit:"套",extra:"识别设备"}),{variant:"townCompact",scrollable:!1}),z0("equipment-recognition","识别样本排名","bar",WV,{variant:"rankBar"}),z0("equipment-service-town","农机服务主体分布","column",nl($u,"农机服务主体"),{variant:"townCompact",scrollable:!1,uniformColor:!0}),z0("equipment-device-structure","设备投放结构","structure",Pm.filter(r=>Number(r.value||0)>0).slice(0,6))],right:[...p8(t)]},"social-service":{left:[z0("service-type","服务主体结构","donut",uy,{variant:"ring"}),z0("service-town","服务镇域分布","column",nl([...Wu,...D9,...Ja,...Wr],"服务主体"),{variant:"townCompact",scrollable:!1}),z0("service-training-town","培训人次分布","column",MH(D9,["年培训人次"],{unit:"人次",extra:"技术培训"}),{variant:"townCompact",scrollable:!1,lineOverlay:!0}),z0("service-training","培训服务能力","line",EH())],right:[...p8(t)]}},i={left:[z0(`${e.key}-rank`,`${e.metricLabel}分布`,"column",Q4(t),{variant:"townCompact",scrollable:!1}),z0(`${e.key}-subject`,"主体结构","structure",n),z0(`${e.key}-town`,"镇域覆盖分布","column",z5(mH(t),{unit:"个",extra:"镇域覆盖"}),{variant:"townCompact",scrollable:!1}),z0(`${e.key}-capacity`,"能力规模分布","split",Q4(t).slice(0,7))],right:[...p8(t)]};return a[t]||i}`${wr}`,`${y6.filter(Ie).length}`,sn(Qa,1);function v6(t){return W6.find(e=>e.key===t)||W6[0]}function rH(t){return Tr.find(e=>e.key===t)||Tr[0]}function Q4(t){if(t==="family-pasture")return z5(vy(),{unit:"处",extra:"家庭生态牧场"});if(t==="artificial-grassland")return ly;if(t==="breeding-selection"){const e=J5(a4,yn,()=>1).map(n=>J2(L2({},n),{unit:"个",extra:"选育/扩繁基地"}));return z5(e,{unit:"个",extra:"选育/扩繁基地"})}if(t==="scale-breeding"){const e=J5(kt("YC-BREEDING-BASE"),yn,n=>b0(n,["设计存栏量 (头)"])).map(n=>J2(L2({},n),{unit:"头",extra:`${n.count}个基地`}));return z5(e,{unit:"头",extra:"养殖基地"})}return t==="forage-storage"?z5(hy,{unit:"吨",extra:"饲草储备"}):t==="slaughter-processing"?[...y6,...x5].filter(Ie).map(e=>({key:e.id,name:Q8(e.name),value:b0(e,["年产值 (万元)","年总产值 (万元)"]),unit:"万元",extra:e.categoryName})).filter(e=>e.value>0).sort(qt).slice(0,7):t==="farm-equipment"?$u.filter(Ie).map(e=>{var n;return{key:e.id,name:Q8(e.name),value:1,unit:"个",extra:((n=e.attributes)==null?void 0:n.简称)||"农机服务"}}):t==="social-service"?[{key:"finance",name:"金融服务网点",value:Hu,unit:"家",extra:`最高${Pt(q8)}万元`},{key:"insurance",name:"保险服务网点",value:ny,unit:"家",extra:`覆盖${Pt(Vl)}乡镇`},{key:"training",name:"技术培训机构",value:ty,unit:"家",extra:`${Pt(ry)}场`},{key:"disease",name:"疫病防控主体",value:Wl,unit:"个",extra:"防疫服务"}]:[]}function oH(){const t=new Map(Qn.map((e,n)=>[e,{key:e,name:e,sourceIndex:n,segments:{baseCount:0,designStock:0,annualOutput:0}}]));return Zu().forEach(e=>{const n=t.get(e.town);n&&(n.segments.baseCount+=1,n.segments.designStock+=Number(e.numericValue||e.value||0),n.segments.annualOutput+=Number(e.annualOutput||0))}),Qn.map(e=>t.get(e))}function gy(t,e,n){return oH().map((a,i)=>{var s;const r=Number(((s=a.segments)==null?void 0:s[t])||0),o=r>0;return{key:`${a.key}-${t}`,name:a.name,rawValue:r,value:o?r:.001,displayValue:o?r:"0",unit:e,extra:n,zero:!o,sourceIndex:i}})}function yy(t,e,n){return gy(t,e,n).filter(a=>a.rawValue>0).map(a=>J2(L2({},a),{value:a.rawValue,displayValue:a.rawValue})).sort(qt)}function sH(){const t=yy("annualOutput","头","年出栏"),e=t.reduce((r,o)=>r+Number(o.value||0),0);if(!e)return[];const n=t.slice(0,3),a=t.slice(3);return(a.length?[...n,{key:"other-towns-annual-output",name:"其他乡镇",value:a.reduce((r,o)=>r+Number(o.value||0),0),unit:"头"}]:n).map(r=>J2(L2({},r),{extra:`占比 ${Pt(Number(r.value||0)/e*100)}%`}))}function lH(){return Hl.map(t=>({key:t.key,name:t.name.replace(/标准化养殖基地/g,"基地").replace(/综合养殖基地/g,"基地"),value:Number(t.projectInvestment||0),unit:"万元",extra:`${t.town} · ${t.tag}`})).filter(t=>t.value>0).sort(qt)}function uH(){return sy.map(t=>({key:t.key,name:t.name,value:Number(t.actualAreaMu||t.value||0),unit:"亩",extra:t.year?`${t.year}年`:t.category||"实测面积"})).filter(t=>t.value>0).sort(qt)}function vy(){const t=new Map(J5(A5,yn,()=>1).map(e=>[e.name,e]));return Qn.map(e=>{const n=t.get(e);return{key:e,name:e,value:Number((n==null?void 0:n.value)||0),unit:"处",extra:"家庭生态牧场"}})}function cH(){const t=new Map;return A5.filter(Ie).forEach(e=>{const n=b0(e,["标准化暖棚 (㎡)"]),a=b0(e,["管理用房 (㎡)"]),i=b0(e,["饲草料库 (㎡)"]),r=b0(e,["活动场地及通道 (㎡)"]),o=`${Pt(n)}㎡暖棚 + ${Pt(a)}㎡管理房`,s=`${n}-${a}-${i}-${r}`,u=t.get(s)||{key:s,name:o,value:0,unit:"处",specs:[{label:"饲草料库",value:i,unit:"㎡"},{label:"活动场地",value:r,unit:"㎡"}]};u.value+=1,t.set(s,u)}),[...t.values()].sort(qt)}function Qu(){const t=new Map(Qn.map(e=>[e,{key:e,name:e,unit:"亩",segments:{cutting:0,storage:0,netFence:0}}]));return A5.filter(Ie).forEach(e=>{const n=yn(e),a=t.get(n);if(!a)return;const i=e.grassSupportType,r=Number(e.grassSupportMu||0);r&&(i==="割草地"&&(a.segments.cutting+=r),i==="储草基地"&&(a.segments.storage+=r),i==="网围栏种草"&&(a.segments.netFence+=r))}),[...t.values()]}function dH(){const t=Qu();return ZV.map(e=>{const n=t.reduce((i,r)=>{var o;return i+Number(((o=r.segments)==null?void 0:o[e.key])||0)},0),a=t.filter(i=>{var r;return Number(((r=i.segments)==null?void 0:r[e.key])||0)>0}).length;return{key:e.key,name:e.name,value:n,unit:"亩",extra:`覆盖${a}个乡镇`}})}function fH(t=""){return Qu().map(e=>{var a;const n=t?Number(((a=e.segments)==null?void 0:a[t])||0):Object.values(e.segments||{}).reduce((i,r)=>i+Number(r||0),0);return{key:e.key,name:e.name,value:n,unit:"亩",extra:t==="netFence"?"网围栏种草":"草料配套"}}).filter(e=>e.value>0).sort(qt)}function hH(){return J5(A5.filter(Ie),t=>String(t.constructionYear||"未标注"),()=>1).map(t=>J2(L2({},t),{name:t.name==="未标注"?t.name:`${t.name}年`,unit:"处",extra:"建成牧场"})).sort((t,e)=>String(t.key).localeCompare(String(e.key),"zh-CN"))}function mH(t){return J5(pH(t),yn,()=>1).map(e=>J2(L2({},e),{unit:"个",extra:`${e.count}条`}))}function tl(t={}){const e=DH(t);if(!e)return[];const n=[],a=e.metrics||{},i=e.attributes||{},r=(o,s,u="",m={})=>{Cy(s)||n.push(L2({label:o,value:UH(s,u)},m))};return e.categoryCode==="YC-FAMILY-PASTURE"?(r("户主",e.owner||i.户主),r("建设年份",e.constructionYear,"年"),r("所在村",e.village),r("标准化暖棚",a["标准化暖棚 (㎡)"],"㎡"),r("生产管理用房",a["管理用房 (㎡)"],"㎡"),r("饲草料库",a["饲草料库 (㎡)"],"㎡"),r("活动场地及通道",a["活动场地及通道 (㎡)"],"㎡"),r("草料配套",e.grassSupportText||i.草料配套,"",{wide:!0}),n):(r("运营单位",i.运营单位),r("育种等级",i.育种等级),r("育种方向",i.主要育种方向),r("设计存栏",a["设计存栏量 (头)"],"头"),r("年出栏量",a["年出栏量 (头)"],"头"),r("种植面积",a["种植面积 (亩)"]||e.scale,e.scale?"":"亩"),r("总库容",a["总库容 (吨)"],"吨"),r("年产值",a["年产值 (万元)"]||a["年总产值 (万元)"],"万元"),r("年加工量",a["年加工鲜奶总量 (吨)"]||a["年加工原料肉总量 (吨)"],"吨"),r("年屠宰量",a["年屠宰总量 (头)"],"头"),r("服务覆盖",a.服务覆盖乡镇数,"个乡镇"),r("最高授信",a["最高单户贷款额度 (万元)"],"万元"),r("主要产品",i.主要产品),r("主要草种",i.主要草种||i.储备草种),n.slice(0,8))}function kt(t){return(Array.isArray(t)?t:[t]).flatMap(n=>{const a=xV.get(n);return(n==="YC-FAMILY-PASTURE"?Zg:(a==null?void 0:a.items)||[]).map(r=>{var o;return J2(L2({},r),{categoryCode:a.categoryCode,categoryName:a.categoryName,stageKey:a.industryStage,stageName:((o=v6(a.industryStage))==null?void 0:o.name)||a.categoryName})})})}function pH(t){return t==="scale-breeding"?BV.filter(Ie):t==="breeding-selection"?a4.filter(Ie):t==="milk-source-station"||t==="forage-trade"?[]:qa.filter(e=>e.stageKey===t)}function Cr(t){return t==="artificial-grassland"?YV:t==="farm-equipment"?VV:t==="scale-breeding"?Zu():t==="breeding-selection"?br.filter(e=>["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"].includes(e.categoryCode)&&e.canLocate).map(e=>J2(L2({},e),{stageKey:t,stageName:v6(t).name,stageOrder:W6.findIndex(n=>n.key===t)})):br.filter(e=>e.stageKey===t&&e.canLocate)}function g5(t){return t==="family-pasture"?Vu:Cr(t).length}function gH(){return m6.map((t,e)=>{const n=TV.get(t.name),a=Number(n==null?void 0:n[0]),i=Number(n==null?void 0:n[1]);if(!Kl(a,i))return null;const r=`YC-FARM-EQUIPMENT-TOWN-${String(e+1).padStart(3,"0")}`,o=`${t.name}农机装备监测点`,s=Number(t.devices||0),u=Number(t.count||0);return{key:r,id:r,name:o,fullName:o,stageKey:"farm-equipment",stageName:v6("farm-equipment").name,stageOrder:W6.findIndex(m=>m.key==="farm-equipment"),typeName:"农机装备监测点",categoryName:"农机装备监测点",town:t.name,address:`${t.name}乡镇中心`,status:"监测样本",value:s,unit:"套",numericValue:s,valueText:`${Pt(s)}套`,extra:`${Pt(u)}头识别样本`,longitude:a,latitude:i,locateText:"定位",canLocate:!0,searchText:[o,"农机装备",t.name,`${s}套`,`${u}头识别样本`].join(" ")}}).filter(Boolean).sort((t,e)=>e.numericValue-t.numericValue||String(t.name).localeCompare(String(e.name),"zh-CN"))}function Ie(t={}){var a;const e=S5(t.name),n=S5((a=t.attributes)==null?void 0:a.序号);return!(!e||_m.has(e)||_V.has(t.categoryCode)||PV.some(i=>i.test(e))||n&&_m.has(n)&&!yH(t)||MV.some(i=>i.test(e)))}function Zn(t=[]){return t.filter(Ie).length}function yH(t={}){return Object.values(t.metrics||{}).some(e=>J8(e)>0)}function Xu(t={}){var n,a,i,r;const e=Sy(t);return{key:String(t.id||t.name),name:t.name,stageKey:t.stageKey,categoryCode:t.categoryCode,typeName:t.categoryName,categoryName:t.categoryName,town:yn(t),address:t.address||t.village||t.areaFullName||"",status:t.status||"",products:((n=t.attributes)==null?void 0:n.主要产品)||((a=t.attributes)==null?void 0:a.主要草种)||((i=t.attributes)==null?void 0:i.储备草种)||((r=t.attributes)==null?void 0:r.主要育种方向)||"",capacity:e,capacityUnit:wy(t),outputValue:b0(t,["年产值 (万元)","年总产值 (万元)"]),longitude:t.longitude,latitude:t.latitude}}function vH(t={}){const e=Sy(t),n=wy(t),a=yn(t);return{key:String(t.id||t.name),name:Q8(t.name),fullName:t.name,stageKey:t.stageKey,categoryCode:t.categoryCode,typeName:t.categoryName,categoryName:t.categoryName,town:a||"全县",address:t.address||t.village||t.areaFullName||"",status:t.status||"待完善",value:e,unit:n,numericValue:Number(e)||0,valueText:bH(t,e,n),extra:TH(t),sourceSheet:t.sourceSheet}}function SH(t={}){var h,p;const e=vH(t),n=IH(t),a=v6(t.stageKey),i=S5(t.name),r=S5(t.categoryName).replace(/^cxpt/i,""),o=S5(t.address||t.village||t.areaFullName||""),s=t.attributes||{},u=t.metrics||{},m=[i,e.name,a==null?void 0:a.name,r,e.town,o,s.简称,s.运营单位,s.主要产品,s.主要草种,s.储备草种,s.主要育种方向,t.owner,t.village,t.constructionYear,t.facilityBrief,t.grassSupportText,u["主要贷款产品(可多选)"],e.valueText,e.extra,t.sourceSheet].filter(Boolean).join(" ");return J2(L2({},e),{name:e.name,fullName:i,stageName:(a==null?void 0:a.name)||e.stageName||"",stageOrder:W6.findIndex(g=>g.key===t.stageKey),categoryName:r,address:o,longitude:(h=n==null?void 0:n.longitude)!=null?h:"",latitude:(p=n==null?void 0:n.latitude)!=null?p:"",locateText:n?"定位":"暂无",canLocate:!!n,owner:t.owner||s.户主||"",village:t.village||"",constructionYear:t.constructionYear||"",facilityBrief:t.facilityBrief||"",facilityDetail:t.facilityDetail||s.设施配置||"",grassSupportText:t.grassSupportText||s.草料配套||"",pointName:t.pointName||"",preferCoordinateMatch:t.categoryCode==="YC-FAMILY-PASTURE",ledgerName:t.categoryCode==="YC-FAMILY-PASTURE"?t.owner||e.name.replace(/家庭生态牧场$/,""):e.name,ledgerLocation:[e.town,t.village].filter(Boolean).join(" · "),facilityCompact:t.categoryCode==="YC-FAMILY-PASTURE"?wH(t.facilityBrief):t.facilityBrief||"",annualOutput:t.categoryCode==="YC-BREEDING-BASE"?b0(t,["年出栏量 (头)"]):0,searchText:m})}function Zu(){return br.filter(t=>DV.has(t.categoryCode)&&t.canLocate)}function b8(){const t=Zu();return{baseCount:t.length,designStock:t.reduce((e,n)=>e+Number(n.numericValue||n.value||0),0),annualOutput:t.reduce((e,n)=>e+Number(n.annualOutput||0),0),townCount:new Set(t.map(e=>e.town).filter(Boolean)).size}}function wH(t=""){return String(t).replace(/管理房/g,"管理").replace(/\s*\/\s*/g," · ")}function Sy(t={}){var e,n;return t.stageKey==="family-pasture"?1:t.categoryCode==="YC-BREEDING-STOCK"?((e=t.attributes)==null?void 0:e.育种等级)||"待完善":t.categoryCode==="YC-CXPT-BREEDING-STOCK-BASE"?J8(t.scale)||1:t.categoryCode==="YC-BREEDING-BASE"?b0(t,["设计存栏量 (头)"]):t.categoryCode==="YC-FORAGE-BASE"?b0(t,["种植面积 (亩)"]):t.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?b0(t,["总库容 (吨)"]):t.categoryCode==="YC-PROCESSING-PLANT"?b0(t,["年产值 (万元)"])||b0(t,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"]):t.categoryCode==="YC-SLAUGHTERHOUSE"?b0(t,["年总产值 (万元)"])||b0(t,["年屠宰总量 (头)"]):t.categoryCode==="YC-SERVICE-FINANCE"?b0(t,["最高单户贷款额度 (万元)","服务覆盖乡镇数"]):t.categoryCode==="YC-SERVICE-INSURANCE"?b0(t,["服务覆盖乡镇数"]):t.categoryCode==="YC-TECH-TRAINING"?b0(t,["年培训人次","年培训场次"]):(n=t.categoryCode)!=null&&n.startsWith("YC-CXPT")?J8(t.scale)||b0(t,["acreage"]):b0(t,Object.keys(t.metrics||{}))||1}function wy(t={}){var e;return t.stageKey==="family-pasture"?"处":t.categoryCode==="YC-BREEDING-STOCK"?"":t.categoryCode==="YC-BREEDING-BASE"?"头":["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE","YC-CXPT-BREEDING-STOCK-BASE"].includes(t.categoryCode)?"亩":t.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?"吨":t.categoryCode==="YC-PROCESSING-PLANT"||t.categoryCode==="YC-SLAUGHTERHOUSE"||t.categoryCode==="YC-SERVICE-FINANCE"?"万元":t.categoryCode==="YC-SERVICE-INSURANCE"?"乡镇":t.categoryCode==="YC-TECH-TRAINING"?"人次":(e=t.categoryCode)!=null&&e.startsWith("YC-CXPT")?"亩":""}function bH(t,e,n){return t.categoryCode==="YC-BREEDING-STOCK"?String(e||"待完善"):Number.isFinite(Number(e))?`${Pt(e)}${n||""}`:String(e||"")}function TH(t={}){const e=t.attributes||{},n=t.metrics||{};return e.主要产品||e.主要草种||e.储备草种||e.主要育种方向||n["主要贷款产品(可多选)"]||t.sourceSheet||""}function CH(){const t=new Map;return a4.forEach(e=>{var i;const n=S5((i=e.attributes)==null?void 0:i.育种等级)||"待完善",a=t.get(n)||{key:n,name:n,value:0,unit:"个"};a.value+=1,t.set(n,a)}),[...t.values()].sort((e,n)=>{var i,r;const a={省级:0,县级:1,待完善:2};return((i=a[e.name])!=null?i:9)-((r=a[n.name])!=null?r:9)})}function AH(t){return $r.filter(e=>e.industryStage===t).map(e=>{const n=Zn(kt(e.categoryCode));return{key:e.categoryCode,name:e.categoryName.replace(/^cxpt/,""),value:n,unit:"条",extra:v6(t).name}}).filter(e=>e.value>0).sort(qt)}function z0(t,e,n,a,i={}){return L2({key:t,title:e,height:227,renderer:"business",type:n,rows:a},i)}function by(t){return t==="family-pasture"?br.filter(e=>e.stageKey===t):t?Cr(t):W6.flatMap(e=>Cr(e.key))}function Ty(t){const e=v6(t),n=by(t);return t==="family-pasture"?{key:"family-pasture-ledger",title:"家庭牧场列表",renderer:"business",type:"projectTable",rows:n,maxRows:12,fillRows:!0,searchPlaceholder:"搜索户主、乡镇或村",emptyText:"无匹配家庭生态牧场",searchKeys:["name","fullName","owner","town","village","constructionYear","facilityBrief","facilityDetail","grassSupportText","sourceSheet","searchText"],columns:[{key:"name",label:"名称",field:"ledgerName",fields:["name"],width:"44%",className:"business-project-col-name"},{key:"region",label:"区域",field:"town",width:"36%",format:"townVillage"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center",fallback:"定位",icon:"locate"}]}:{key:"industry-chain-list",title:`${e.name}点位清单`,height:466,span:2,keepSpanHeight:!0,renderer:"business",type:"projectTable",rows:n,searchPlaceholder:`搜索${e.name}点位 / 乡镇`,emptyText:"无匹配点位",columns:[{key:"name",label:"主体",field:"name",width:"38%",className:"business-project-col-name"},{key:"stage",label:"类型",field:"categoryName",width:"24%"},{key:"town",label:"乡镇",field:"town",width:"18%"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center"}],searchKeys:["name","fullName","stageName","categoryName","town","address","valueText","extra","sourceSheet","searchText"]}}function xH(){return{key:"scale-breeding-location-list",title:"养殖基地定位",height:466,span:2,keepSpanHeight:!0,renderer:"business",type:"projectTable",rows:by("scale-breeding").slice().sort((e,n)=>String(e.town||"").localeCompare(String(n.town||""),"zh-CN")||String(e.name||"").localeCompare(String(n.name||""),"zh-CN")),maxRows:300,searchPlaceholder:"搜索养殖基地 / 乡镇",emptyText:"无匹配养殖基地",columns:[{key:"name",label:"养殖基地",field:"name",width:"46%",className:"business-project-col-name"},{key:"town",label:"区域",field:"town",width:"32%"},{key:"locate",label:"定位",field:"locateText",width:"22%",align:"center",fallback:"定位",action:"locate"}],searchKeys:["name","fullName","town","address","searchText"]}}function _H(){return{key:"artificial-grassland-business-ledger",title:"项目建设台账",renderer:"business",type:"projectTable",rows:sy,fixedHeight:!0,rowSelectOnClick:!1,showSearch:!1,maxRows:6,emptyText:"暂无项目建设台账",columns:[{key:"name",label:"项目",field:"name",width:"48%",className:"business-project-col-name"},{key:"year",label:"年度",field:"year",width:"16%",align:"center"},{key:"area",label:"实测面积",field:"actualAreaMu",width:"36%",align:"right",strong:!0,unit:"亩"}],searchKeys:["name","fullName","year","category","towns","searchText"]}}function MH(t=[],e=[],n={}){const a=J5(t,yn,i=>b0(i,e)).map(i=>J2(L2({},i),{unit:n.unit||"",extra:n.extra||`${i.count}个点位`}));return z5(a,n)}function nl(t=[],e="点位"){const n=J5(t,yn,()=>1).map(a=>J2(L2({},a),{unit:"个",extra:e}));return z5(n,{unit:"个",extra:e})}function PH(){return e9.filter(Ie).map(t=>{var e;return{key:t.id,name:Q8(t.name),value:b0(t,["总库容 (吨)"]),unit:"吨",extra:b0(t,["发放次数"])||((e=t.attributes)==null?void 0:e.储备草种)||"储备库"}}).filter(t=>t.value>0).sort(qt).slice(0,8)}function kH(){return x5.filter(Ie).map(t=>({key:t.id,name:Q8(t.name),value:b0(t,["年屠宰总量 (头)"]),unit:"头",extra:`${Pt(b0(t,["冷冻库容量 (吨)"]))}吨冷链`})).filter(t=>t.value>0).sort(qt).slice(0,7)}function EH(){const t=D9.filter(Ie).map(e=>({key:e.id,name:Q8(e.name),value:b0(e,["年培训人次"]),unit:"人次",extra:`${Pt(b0(e,["年培训场次"]))}场`})).filter(e=>e.value>0).sort(qt).slice(0,7);return t.length?t:[{key:"sessions",name:"年培训场次",value:ry,unit:"场"},{key:"persons",name:"年培训人次",value:Ia,unit:"人次"}]}function NH(t){const e=[{key:"oat",name:"燕麦草",pattern:/燕麦/},{key:"elymus",name:"披碱草",pattern:/披碱草/},{key:"roegneria",name:"老芒麦",pattern:/老芒麦/},{key:"other",name:"其他草种",pattern:/./}],n=new Map(e.map(a=>[a.key,{key:a.key,name:a.name,value:0,unit:"处"}]));return t.filter(Ie).forEach(a=>{var s,u;const i=[(s=a.attributes)==null?void 0:s.主要草种,(u=a.attributes)==null?void 0:u.储备草种].filter(Boolean).join("、"),r=e.filter(m=>m.key!=="other"&&m.pattern.test(i));(r.length?r:[e[e.length-1]]).forEach(m=>{n.get(m.key).value+=1})}),[...n.values()].filter(a=>a.value>0).sort(qt)}function RH(){return[{key:"raw-capacity",name:"原料加工",value:Ku,unit:"吨"},{key:"slaughter-heads",name:"屠宰总量",value:Vr,unit:"头"},{key:"farmer-driven",name:"带动农户",value:qu,unit:"户"},{key:"cold-storage",name:"冷链能力",value:iy,unit:"吨"}].filter(t=>t.value>0)}function LH(){return[{key:"finance",name:"金融",value:Ja.filter(Ie).length,unit:"家"},{key:"insurance",name:"保险",value:Wr.filter(Ie).length,unit:"家"},{key:"training",name:"培训",value:D9.filter(Ie).length,unit:"家"},{key:"disease",name:"防疫",value:Wu.filter(Ie).length,unit:"个"}].filter(t=>t.value>0)}function J5(t,e,n){const a=new Map;return t.filter(Ie).forEach(i=>{const r=S5(typeof e=="function"?e(i):i[e])||"未填写",o=a.get(r)||{key:r,name:r,value:0,count:0,extra:""};o.value+=Number(n(i)||0),o.count+=1,a.set(r,o)}),[...a.values()].sort(qt)}function z5(t=[],e={}){const n=new Map;return t.forEach(a=>{const i=S5(a==null?void 0:a.name),r=Qn.find(o=>o===i)||Qn.find(o=>{const s=o.replace(/[镇乡]$/,"");return s.length>=2&&i.includes(s)});r&&n.set(r,a)}),Qn.map((a,i)=>{const r=n.get(a),o=Number((r==null?void 0:r.value)||0),s=Number.isFinite(o)&&o>0;return{key:(r==null?void 0:r.key)||a,name:a,value:s?o:.001,displayValue:s?r.displayValue:"0",scaleValue:r==null?void 0:r.scaleValue,unit:(r==null?void 0:r.unit)||e.unit||"",extra:(r==null?void 0:r.extra)||e.extra||"",color:r==null?void 0:r.color,zero:!s,sourceIndex:i}})}function b0(t={},e=[]){const n=t.metrics||{},a=Array.isArray(e)?e:[e];for(const i of a)if(Object.prototype.hasOwnProperty.call(n,i)){const r=J8(n[i]);if(r||r===0)return r}return 0}function J8(t){if(typeof t=="number")return Number.isFinite(t)?t:0;if(Cy(t))return 0;const e=String(t).replace(/,/g,"").trim();if(!e||e==="无"||e==="待完善")return 0;const n=e.match(/-?\d+(?:\.\d+)?/);if(!n)return 0;let a=Number(n[0]);return e.includes("万亩")&&!e.includes("万元")&&(a*=1e4),Number.isFinite(a)?a:0}function yn(t={}){const e=S5(t.town||t.areaName);if(Qn.includes(e))return e;const n=[t.town,t.areaName,t.areaFullName,t.address,t.village,t.name].filter(Boolean).join(" "),a=Qn.find(i=>n.includes(i));return a||Qn.find(i=>{const r=i.replace(/[镇乡]$/,"");return r.length>=2&&n.includes(r)})||e}function IH(t={}){const e=g8(t.longitude),n=g8(t.latitude);if(Kl(e,n))return{longitude:e,latitude:n};const a=Object.values(t.locations||{}).find(i=>Kl(g8(i==null?void 0:i.longitude),g8(i==null?void 0:i.latitude)));return a?{longitude:g8(a.longitude),latitude:g8(a.latitude)}:null}function Kl(t,e){const n=Number(t),a=Number(e);return Number.isFinite(n)&&Number.isFinite(a)&&n>=$1.west&&n<=$1.east&&a>=$1.south&&a<=$1.north}function g8(t){if(t==null||t==="")return NaN;const e=Number(t);return Number.isFinite(e)?e:NaN}function FH(t={}){var n;const e=[t.name,(n=t.attributes)==null?void 0:n.主要产品].filter(Boolean).join("");return/奶|乳|酸奶|奶粉/.test(e)}function BH(t={}){var n;const e=[t.name,(n=t.attributes)==null?void 0:n.主要产品].filter(Boolean).join("");return/肉|屠宰|牛肉/.test(e)}function DH(t={}){const e=String(t.id||"");return e&&Mm.has(e)?Mm.get(e):zu.find(n=>n.name===t.name&&n.categoryCode===t.categoryCode)}function X4(t,e){return Math.max(12,Math.min(100,Math.round(Number(t||0)/e*100)))}function pt(t,e){return t.filter(Ie).reduce((n,a)=>n+Number(e(a)||0),0)}function ec(t,e){return t.filter(Ie).reduce((n,a)=>Math.max(n,Number(e(a)||0)),0)}function ql(t,e){return new Set(t.filter(Ie).map(e).filter(Boolean)).size}function qt(t,e){return e.value-t.value||e.count-t.count||String(t.name).localeCompare(String(e.name),"zh-CN")}function Q8(t=""){return String(t).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/股份有限公司红原县支行$/,"红原支行").trim()}function S5(t){return String(t!=null?t:"").replace(/\s+/g," ").trim()}function Cy(t){return t==null||String(t).trim()===""||String(t).trim().toLowerCase()==="nan"}function GH(t){return typeof t=="number"?Pt(t):J8(t)&&String(t).match(/^\s*[约≈]?\d/)?String(t):String(t!=null?t:"")}function UH(t,e=""){const n=GH(t);return!e||typeof t=="string"&&n.includes(e.replace(/^个/,""))?n:`${n}${e}`}function Pt(t){const e=Number(t||0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(e)?0:1}):"0"}function sn(t,e=0){const n=s5(10,e);return Math.round(Number(t||0)*n)/n}const OH={class:"yak-industry-chain"},jH={key:0,class:"industry-map-loading"},zH={key:1,class:"fgw-left industry-side-panel industry-side-panel--left"},YH={class:"fgw-side-stack industry-side-stack is-left"},$H={key:1,class:"industry-panel-empty"},WH={key:3,class:"industry-featured-base-list"},VH=["disabled","aria-label","onClick"],HH={class:"industry-featured-base__index"},KH={class:"industry-featured-base__copy"},qH={key:4,class:"industry-leadership-mode-list"},JH={key:5,class:"industry-ledger-list"},QH={key:2,class:"fgw-right industry-side-panel industry-side-panel--right"},XH={class:"fgw-side-stack industry-side-stack is-right"},ZH={key:1,class:"industry-panel-empty"},eK={key:3,class:"industry-featured-base-list"},tK=["disabled","aria-label","onClick"],nK={class:"industry-featured-base__index"},aK={class:"industry-featured-base__copy"},iK={key:4,class:"industry-leadership-mode-list"},rK={key:5,class:"industry-ledger-list"},oK={key:3,class:"industry-artificial-layer-tools"},sK={class:"industry-point-detail__head"},lK={class:"industry-point-detail__name"},uK={key:0,class:"industry-point-detail__profile"},cK={class:"industry-point-detail__profile-head"},dK=["src","alt"],fK={class:"industry-point-detail__facts"},hK={class:"industry-point-detail__highlights"},mK={class:"industry-bottom-switcher"},pK={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=fn.sideCardWidth,o=t3(typeof window=="undefined"?1080:window.innerHeight),s=fn.sideCardGap,u=fn.sidePanelTop,m=fn.sidePanelBottom,h=fn.sideCardMinHeight,p=l2(()=>X8(o.value)),g=l2(()=>R9(p.value,2)),b=l2(()=>R9(p.value,4)),F=t3("family-pasture"),H=t3(null),K=t3(!1),e2=t3(null),p2=t3(""),v2=t3({x:0,y:0}),A2=t3(null),_2=t3({x:0,y:0}),q2=t3(!1),K2=t3(["artificial-grassland-plots"]);let $2=null,c3=!1,p3=!1,y3=null,z3=null,S3=!1;const I3=l2(()=>v6(F.value));l2(()=>F.value==="family-pasture");const A3=l2(()=>F.value==="artificial-grassland"),a1=l2(()=>[{key:"artificial-grassland-plots",name:"待核定种草图斑",color:"#30DCFF",stroke:"#C9FBFF"},{key:"yak-industry-points",name:"人工种草基地点",color:"#19FFC6",stroke:"#B7FFF2"}]),C1=l2(()=>[{key:"artificial-grassland-pending",name:"待核定种草图斑",fillColor:"#30DCFF",strokeColor:"#C9FBFF",selectable:!1},{key:"artificial-grassland-base",name:"人工种草基地点",fillColor:"#19FFC6",strokeColor:"#B7FFF2",selectable:!1}]),y1=l2(()=>iH(F.value)),S1=l2(()=>_3(y1.value)),l1=l2(()=>{const m2=S1.value.left;return m2.filter(D2=>!(D2!=null&&D2.placeholder)).map(D2=>o1(D2,m2.length))}),E1=l2(()=>{const m2=S1.value.right;return m2.map(D2=>o1(D2,m2.length))}),t0=l2(()=>{var B3,m3,W3;const m2=W5("yak-industry-chain","yak-industry-points");if(A3.value){const Q3=[];if(K2.value.includes("artificial-grassland-plots")){const m0=W5("yak-industry-chain","artificial-grassland-plots");m0&&Q3.push(J2(L2({},m0),{activeLegend:(B3=m0.legends)==null?void 0:B3[0]}))}if(K2.value.includes("yak-industry-points")&&m2){const m0=(m3=m2.legends)==null?void 0:m3.find(te=>te.key==="yak-industry-artificial-grassland");Q3.push(J2(L2({},m2),{showPointLabels:!1,activeLegend:m0}))}if(!Q3.length)return null;const[u0,...Z1]=Q3;return J2(L2({},u0),{overlayLayers:Z1})}const D2=(W3=m2==null?void 0:m2.legends)==null?void 0:W3.find(Q3=>{var u0;return((u0=Q3.match)==null?void 0:u0.value)===F.value||Q3.key===`yak-industry-${F.value}`});return m2&&J2(L2({},m2),{hidePointFeatures:F.value==="family-pasture",hidePointMarkers:F.value==="family-pasture",showPointLabels:F.value==="family-pasture"?!1:m2.showPointLabels,activeLegend:D2||{key:`yak-industry-empty-${F.value}`,name:I3.value.name,fillColor:I3.value.color,strokeColor:I3.value.color,match:{field:"stageKey",value:F.value}}})}),o0=l2(()=>W6.map(m2=>({key:m2.key,name:m2.name,color:m2.color,width:m2.width}))),G1=l2(()=>{const m2=F.value==="family-pasture",D2=A3.value&&K2.value.includes("yak-industry-points");return{showTownNames:!0,showBars:!1,showPointMarkers:!m2&&!A3.value||D2,showMissingTownStats:m2,title:m2?"家庭生态牧场":`${I3.value.name}排行`,metricLabel:m2?"生态牧场":I3.value.metricLabel,unit:I3.value.unit,rows:m2?vy():[]}}),Q1=l2(()=>{var m2;return el(J2(L2({},e2.value||{}),{featuredBaseKey:p2.value||((m2=e2.value)==null?void 0:m2.featuredBaseKey)}))}),d3=l2(()=>{const m2=e2.value;if(!m2)return[];if(Q1.value){const D2=Q1.value,B3=tl(m2).filter(m3=>["设计存栏","年出栏量"].includes(m3.label));return[{label:"所在地",value:`${D2.town} ${D2.village}`},{label:"运营单位",value:D2.operator},...B3].filter(m3=>m3.value!==void 0&&m3.value!==null&&String(m3.value).trim()!=="")}return m2.categoryCode==="YC-FAMILY-PASTURE"?[{label:"所在乡镇",value:R1(m2.town)},...tl(m2)].filter(D2=>D2.value!==void 0&&D2.value!==null&&String(D2.value).trim()!==""):[{label:"所属环节",value:R1(m2.stageName)},{label:"主体类型",value:R1(m2.categoryName)},{label:"所在乡镇",value:R1(m2.town)},{label:"能力规模",value:se(m2)},{label:"运行状态",value:R1(m2.status)},...tl(m2)].filter(D2=>D2.value!==void 0&&D2.value!==null&&String(D2.value).trim()!=="")}),F3=l2(()=>{var m2,D2;return Q1.value?"重点示范基地":R1(((m2=e2.value)==null?void 0:m2.categoryName)||((D2=e2.value)==null?void 0:D2.stageName))}),U3=l2(()=>{var m2,D2;return((m2=Q1.value)==null?void 0:m2.name)||R1((D2=e2.value)==null?void 0:D2.name)}),a3=l2(()=>{var Be;const D2=((Be=e2.value)==null?void 0:Be.categoryCode)==="YC-FAMILY-PASTURE",B3=d3.value.filter(p0=>p0.wide).length,m3=Math.ceil(Math.max(0,d3.value.length-B3)/2)+B3,W3=Q1.value?Q1.value.image?576:532:D2?Math.min(400,Math.max(318,150+m3*38)):Math.min(520,Math.max(252,116+d3.value.length*40)),Q3=24,u0=28,Z1={x:Math.max(Q3,Math.min(1920-Q3,Number(v2.value.x||0))),y:Math.max(Q3,Math.min(1080-Q3,Number(v2.value.y||0)))},m0=r+46,te=1920-r-46,N0=Math.min(Math.max(Z1.x-456/2,m0),te-456),Me=Math.min(Math.max(Z1.y-W3-u0,128),1080-W3-116),ae=Math.min(Math.max(Z1.x-N0,34),456-34);return{left:`${N0}px`,top:`${Me}px`,"--point-arrow-left":`${ae}px`,"--point-arrow-top":"100%","--point-arrow-x":"-50%","--point-arrow-y":"-8px","--point-arrow-rotate":"45deg"}}),F2=l2(()=>{const Z1={x:Math.max(452,Math.min(1468,Number(_2.value.x||960))),y:Math.max(128,Math.min(960,Number(_2.value.y||540)))},m0=Math.min(Math.max(Z1.x-460/2,452),1468-460),te=Z1.y-374-26,N0=te>=116,Me=N0?te:Math.min(Math.max(Z1.y+26,116),944-374),ae=Math.min(Math.max(Z1.x-m0,26),460-26);return{left:`${m0}px`,top:`${Me}px`,"--feature-arrow-left":`${ae}px`,"--feature-arrow-top":N0?`${374-6}px`:"-6px","--feature-arrow-rotate":N0?"45deg":"225deg"}});V0(F,m2=>{G3(m2)},{immediate:!0}),Ln(()=>{s3(),window.addEventListener("resize",s3),i1()}),Rn(()=>{var m2,D2;S3=!0,window.removeEventListener("resize",s3),y3&&window.clearTimeout(y3),z3&&window.cancelAnimationFrame(z3),(D2=(m2=H.value)==null?void 0:m2.destroyMap)==null||D2.call(m2)}),V0(()=>a.active,m2=>{var D2,B3,m3,W3;H.value&&(m2?(N1(),(B3=(D2=H.value).resume)==null||B3.call(D2)):(W3=(m3=H.value).pause)==null||W3.call(m3))}),V0(K2,()=>{Q0()},{deep:!0});function N3(m2){m2!==F.value&&(F.value=m2,Q0())}function _3(m2={}){const D2=O(m2.left),B3=O(m2.right);if(B3.length)return{left:D2,right:B3};const m3=[...D2,...B3];return m3.length<=4?{left:m3,right:[]}:{left:D2,right:B3}}function o1(m2,D2=0){if((m2==null?void 0:m2.fixedHeight)===!0)return J2(L2({},m2),{height:p.value});if((m2==null?void 0:m2.fillHeight)===!0)return J2(L2({},m2),{height:w1(D2)});if(["projectTable","projectLedger"].includes(m2==null?void 0:m2.type))return J2(L2({},m2),{height:U1(m2)});const B3=Number((m2==null?void 0:m2.height)||0)>=400||(m2==null?void 0:m2.span)===2,m3=(m2==null?void 0:m2.keepSpanHeight)===!0;return J2(L2({},m2),{height:D2===1&&!m3?b.value:B3?g.value:p.value})}function w1(m2=1){const D2=Math.max(1,Number(m2)||1),m3=Math.max(1080,Number(o.value)||1080)-u-m-s*Math.max(D2-1,0);return Math.max(h,Math.floor(m3/D2))}function U1(m2={}){if((m2==null?void 0:m2.span)===2||(m2==null?void 0:m2.keepSpanHeight)===!0)return g.value;const D2=Array.isArray(m2.rows)?m2.rows:[],B3=100,m3=32,W3=B3+25+D2.length*m3;return Math.min(g.value,Math.max(p.value,W3))}function O(m2=[]){return m2.filter(Boolean)}function v3(m2={}){return(m2==null?void 0:m2.renderer)==="business"&&(m2==null?void 0:m2.type)==="column"&&(m2==null?void 0:m2.variant)==="townCompact"}function w3(m2={}){return Array.isArray(m2.rows)&&m2.rows.some(D2=>Number(D2!=null&&D2.zero?0:(D2==null?void 0:D2.value)||0)>0)}function P3(m2={}){const D2=Array.isArray(m2.rows)?m2.rows:[],B3=D2.map(Q3=>Number(Q3!=null&&Q3.zero?0:(Q3==null?void 0:Q3.value)||0)),m3=Math.max(...B3,1),W3=H3(D2);return y8({animationDuration:720,animationEasing:"cubicOut",grid:{top:30,right:8,bottom:58,left:8,containLabel:!1},tooltip:Ii((Q3=[])=>{var Me;const Z1=((Me=(Array.isArray(Q3)?Q3:[Q3])[0])==null?void 0:Me.data)||{},m0=Z1.zero?"0":Z1.displayValue,te=Z1.unit||W3||"",N0=Z1.extra?`
    ${Z1.extra}`:"";return`${Z1.name||""}
    ${m0}${te}${N0}`},{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{color:"rgba(48, 220, 255, 0.06)"}},confine:!0}),graphic:W3?[{type:"text",right:10,top:4,silent:!0,style:{text:`单位:${W3}`,fill:of,font:`10px ${FA}`}}]:[],xAxis:{type:"category",data:D2.map(Q3=>(Q3==null?void 0:Q3.name)||""),axisTick:{show:!1},axisLine:{show:!0,lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisLabel:{color:BA,fontSize:10,fontWeight:700,lineHeight:14,interval:0,margin:10,formatter:(m2==null?void 0:m2.axisLabelMode)==="short"?q3:j3}},yAxis:{type:"value",min:0,max:Math.ceil(m3*1.18),splitNumber:3,axisLabel:{show:!1},axisTick:{show:!1},axisLine:{show:!1},splitLine:{show:!0,lineStyle:{color:DA,type:"dashed"}}},series:[{type:"bar",data:D2.map((Q3,u0)=>{var te;const Z1=!!(Q3!=null&&Q3.zero||Q3!=null&&Q3.isZero),m0=Z1?0:Number((Q3==null?void 0:Q3.value)||0);return{name:Q3==null?void 0:Q3.name,value:m0,displayValue:(te=Q3==null?void 0:Q3.displayValue)!=null?te:Y2(m0),unit:(Q3==null?void 0:Q3.unit)||W3||"",extra:(Q3==null?void 0:Q3.extra)||"",zero:Z1,itemStyle:{color:Z1?"rgba(48, 220, 255, 0.1)":m2!=null&&m2.uniformColor?O2():e0(u0,Q3)}}}),barWidth:6,barMinHeight:3,showBackground:!0,backgroundStyle:{color:"rgba(48, 220, 255, 0.06)",borderColor:"rgba(48, 220, 255, 0.08)",borderWidth:1},itemStyle:{borderRadius:[4,4,0,0]},label:{show:!0,position:"top",distance:5,color:sf,fontFamily:GA,fontSize:10,fontWeight:700,formatter(Q3={}){var Z1;const u0=Q3.data||{};return u0.zero?"":(Z1=u0.displayValue)!=null?Z1:Y2(Number(u0.value||0))}},emphasis:{focus:"series",itemStyle:{shadowBlur:0,shadowColor:"rgba(48, 220, 255, 0)"}}}]})}function H3(m2=[]){const D2=[...new Set(m2.map(B3=>B3==null?void 0:B3.unit).filter(Boolean))];return D2.length===1?D2[0]:""}function j3(m2){const D2=String(m2||"").replace(/\s+/g,"");return Array.from(D2).slice(0,3).join(` +`)}function q3(m2){return Array.from(String(m2||"").replace(/\s+/g,"")).slice(0,2).join("")}function e0(m2,D2={}){return D2.color||D2.fillColor?D2.color||D2.fillColor:lf(gs[m2%gs.length])}function O2(){return lf(gs[0])}function Y2(m2){const D2=Number(m2);return Number.isFinite(D2)?Number.isInteger(D2)?`${D2}`:`${Number(D2.toFixed(2))}`:"--"}function s3(){o.value=typeof window=="undefined"?1080:window.innerHeight}function G3(m2=F.value){const D2=m2||F.value;i("module-stats",{moduleKey:"yak-industry-chain",items:fy(D2)})}function i1(){var m2,D2,B3;$2=new Or,c3=!1,i("loading-progress",{progress:0}),(D2=(m2=$2.instance)==null?void 0:m2.on)==null||D2.call(m2,"onProgress",(m3,W3,Q3)=>{i("loading-progress",{progress:Math.floor(W3/(Q3||1)*100),path:m3,itemsLoaded:W3,itemsTotal:Q3})}),(B3=$2.ready)==null||B3.then(()=>{c3=!0,N1()}).catch(()=>{K.value=!0,i("map-ready")})}function N1(){S3||!a.active||!c3||p3||(p3=!0,y3&&window.clearTimeout(y3),y3=window.setTimeout(()=>{y3=null,q1()},600))}function q1(m2=0){return k3(this,null,function*(){var B3,m3;if(S3)return;if(!a.active){p3=!1;return}if(yield q0(),!a.active){p3=!1;return}const D2=H.value;if((B3=D2==null?void 0:D2.loadMap)==null||B3.call(D2,$2),D2!=null&&D2.canvasMap){K.value=!0,i("loading-progress",{progress:100}),i("map-ready"),(m3=D2.play)==null||m3.call(D2);return}if(m2<24){window.setTimeout(()=>q1(m2+1),120);return}p3=!1,K.value=!0,i("map-ready")})}function Y3(){y3&&(window.clearTimeout(y3),y3=null)}function r1(){var m2,D2,B3,m3;(D2=(m2=H.value)==null?void 0:m2.resume)==null||D2.call(m2),(m3=(B3=H.value)==null?void 0:B3.refreshView)==null||m3.call(B3)}function K3(){var m2,D2;if(Q0(),(D2=(m2=H.value)==null?void 0:m2.hasMap)!=null&&D2.call(m2)){K.value=!0,r1();return}Y3(),K.value=!1,p3=!1,q0(()=>{N1()})}e({refreshMapView:r1,resetMap:K3});function f1(m2={}){var m3,W3,Q3,u0;const D2=m2.feature||null,B3=(D2==null?void 0:D2.properties)||{};if(((m3=D2==null?void 0:D2.layer)==null?void 0:m3.key)==="artificial-grassland-plots"){e2.value=null,A2.value=D2;const Z1=m2.screen||((Q3=(W3=H.value)==null?void 0:W3.getVectorFeatureScreen)==null?void 0:Q3.call(W3,D2.feature));Z1&&(_2.value=C3(Z1)),q2.value=!!Z1;return}if(A2.value=null,q2.value=!1,B3.stageKey){if(String(B3.stageKey)!==String(F.value)){e2.value=null,p2.value="";return}p2.value=((u0=el(B3))==null?void 0:u0.key)||"",e2.value=B3,v2.value=C3(m2.screen);return}e2.value=null,p2.value=""}function W1(){return k3(this,arguments,function*(m2={}){if(m2.stageKey==="artificial-grassland"){yield T0(m2);return}yield k0(m2)})}function T0(){return k3(this,arguments,function*(m2={}){m2!=null&&m2.canLocate&&(A3.value||(F.value="artificial-grassland",yield q0()),e2.value=null,p2.value="",A2.value=null,_2.value={x:960,y:510},q2.value=!1,window.setTimeout(()=>O0(m2),90))})}function O0(m2={},D2=0){var W3,Q3,u0;const B3=(Q3=(W3=H.value)==null?void 0:W3.focusVectorFeature)==null?void 0:Q3.call(W3,m2);if(!(B3!=null&&B3.feature)){D2<4&&window.setTimeout(()=>O0(m2,D2+1),180);return}A2.value={id:((u0=B3.feature.properties)==null?void 0:u0.id)||m2.id,properties:B3.feature.properties||{},feature:B3.feature,layer:W5("yak-industry-chain","artificial-grassland-plots")};const m3=A2.value.id;window.setTimeout(()=>{var Z1;((Z1=A2.value)==null?void 0:Z1.id)===m3&&(D0(B3.feature,B3.screen),q2.value=!0)},820)}function D0(m2,D2=null){var m3,W3;const B3=((W3=(m3=H.value)==null?void 0:m3.getVectorFeatureScreen)==null?void 0:W3.call(m3,m2))||D2;B3&&(_2.value=C3(B3))}function k0(){return k3(this,arguments,function*(m2={}){var m3;if(!m2.canLocate)return;const D2=!!(m2.stageKey&&m2.stageKey!==F.value);D2&&(F.value=m2.stageKey,yield q0());const B3=Le(m2);p2.value=((m3=el(B3))==null?void 0:m3.key)||"",e2.value=B3,v2.value={x:960,y:500},window.setTimeout(()=>{var Q3,u0;const W3=(u0=(Q3=H.value)==null?void 0:Q3.focusYakIndustryPoint)==null?void 0:u0.call(Q3,B3);M0(B3,W3),ve(B3)},D2?320:80)})}function ye(){return k3(this,arguments,function*(m2={}){m2.point&&(p2.value=m2.key,yield k0(m2.point))})}function Q0(){var D2,B3,m3,W3;e2.value=null,p2.value="",A2.value=null,q2.value=!1,z3&&(window.cancelAnimationFrame(z3),z3=null);const m2=((B3=(D2=H.value)==null?void 0:D2.canvasMap)==null?void 0:B3.value)||((m3=H.value)==null?void 0:m3.canvasMap);(W3=m2==null?void 0:m2.clearSelectedFeature)==null||W3.call(m2)}function Le(m2={}){var m3;const D2=Number(m2.longitude),B3=Number(m2.latitude);return J2(L2({},m2),{id:m2.key||m2.id,name:m2.fullName||m2.name,stageKey:m2.stageKey,stageName:m2.stageName||((m3=v6(m2.stageKey))==null?void 0:m3.name),categoryName:m2.categoryName||m2.typeName,capacity:m2.value,capacityUnit:m2.unit,longitude:D2,latitude:B3,geometry:Number.isFinite(D2)&&Number.isFinite(B3)?{type:"Point",coordinates:[D2,B3]}:void 0,preferCoordinateMatch:Number.isFinite(D2)&&Number.isFinite(B3),status:m2.status})}function M0(m2,D2=null){var m3,W3;const B3=((W3=(m3=H.value)==null?void 0:m3.getYakIndustryPointScreen)==null?void 0:W3.call(m3,m2))||(D2==null?void 0:D2.screen);B3&&(v2.value=C3(B3))}function ve(m2,D2=920){var W3,Q3;z3&&window.cancelAnimationFrame(z3);const B3=((Q3=(W3=window.performance)==null?void 0:W3.now)==null?void 0:Q3.call(W3))||Date.now(),m3=()=>{var Z1,m0;if(!e2.value||e2.value.id!==m2.id){z3=null;return}if(M0(m2),(((m0=(Z1=window.performance)==null?void 0:Z1.now)==null?void 0:m0.call(Z1))||Date.now())-B3{var B3;return z(),Q("div",OH,[d1(Z8,{ref_key:"mapSceneRef",ref:H,class:"industry-map-scene","active-layer":t0.value,"map-ranking":G1.value,"admin-boundary-line-scale":2.4,"auto-apply-layer-map-view":!1,onFeatureInfo:f1},null,8,["active-layer","map-ranking"]),D2[3]||(D2[3]=S("div",{class:"industry-map-scrim"},null,-1)),K.value?L3("",!0):(z(),Q("div",jH,"3D地图加载中")),l1.value.length?(z(),Q("div",zH,[S("div",YH,[(z(!0),Q(O3,null,X3(l1.value,m3=>(z(),he(_0,{key:m3.key,class:s1(["fgw-side-card industry-side-card left-card",`industry-side-card--${m3.key}`]),title:m3.title,width:k1(r),height:m3.height},{default:f0(()=>[v3(m3)&&w3(m3)?(z(),he(k1(Ue),{key:0,class:"industry-town-column-chart",option:P3(m3),autoresize:!0},null,8,["option"])):v3(m3)?(z(),Q("div",$H," 暂无业务统计数据 ")):m3.renderer==="business"?(z(),he(cn,{key:2,panel:m3,compact:"",onRowSelect:W1},null,8,["panel"])):m3.renderer==="featured"?(z(),Q("div",WH,[(z(!0),Q(O3,null,X3(m3.rows,(W3,Q3)=>(z(),Q("button",{key:W3.key,class:s1(["industry-featured-base",{"is-active":p2.value===W3.key}]),type:"button",disabled:!W3.point,"aria-label":`查看${W3.name}`,onClick:u0=>ye(W3)},[S("span",HH,c2(`0${Q3+1}`),1),S("span",KH,[S("strong",null,c2(W3.name),1),S("em",null,c2(W3.town)+" · "+c2(W3.tag),1),S("small",null,c2(W3.summary),1)])],10,VH))),128))])):m3.renderer==="leadershipMode"?(z(),Q("div",qH,[(z(!0),Q(O3,null,X3(m3.rows,(W3,Q3)=>(z(),Q("div",{key:W3.key,class:"industry-leadership-mode"},[S("i",{style:X1({color:W3.color,background:W3.color})},null,4),S("span",null,c2(`0${Q3+1}`),1),S("div",null,[S("strong",null,c2(W3.name),1),S("small",null,c2(W3.description),1)])]))),128))])):m3.renderer==="ledger"?(z(),Q("div",JH,[(z(!0),Q(O3,null,X3(m3.rows,W3=>(z(),Q("div",{key:W3.key,class:"industry-ledger-row"},[S("div",null,[S("strong",null,c2(W3.name),1),S("span",null,c2(W3.typeName)+" / "+c2(W3.town),1)]),S("em",null,c2(W3.valueText),1)]))),128))])):L3("",!0)]),_:2},1032,["class","title","width","height"]))),128))])])):L3("",!0),E1.value.length?(z(),Q("div",QH,[S("div",XH,[(z(!0),Q(O3,null,X3(E1.value,m3=>(z(),he(_0,{key:m3.key,class:s1(["fgw-side-card industry-side-card right-card",`industry-side-card--${m3.key}`]),title:m3.title,width:k1(r),height:m3.height},{default:f0(()=>[v3(m3)&&w3(m3)?(z(),he(k1(Ue),{key:0,class:"industry-town-column-chart",option:P3(m3),autoresize:!0},null,8,["option"])):v3(m3)?(z(),Q("div",ZH," 暂无业务统计数据 ")):m3.renderer==="business"?(z(),he(cn,{key:2,panel:m3,compact:"",onRowSelect:W1},null,8,["panel"])):m3.renderer==="featured"?(z(),Q("div",eK,[(z(!0),Q(O3,null,X3(m3.rows,(W3,Q3)=>(z(),Q("button",{key:W3.key,class:s1(["industry-featured-base",{"is-active":p2.value===W3.key}]),type:"button",disabled:!W3.point,"aria-label":`查看${W3.name}`,onClick:u0=>ye(W3)},[S("span",nK,c2(`0${Q3+1}`),1),S("span",aK,[S("strong",null,c2(W3.name),1),S("em",null,c2(W3.town)+" · "+c2(W3.tag),1),S("small",null,c2(W3.summary),1)])],10,tK))),128))])):m3.renderer==="leadershipMode"?(z(),Q("div",iK,[(z(!0),Q(O3,null,X3(m3.rows,(W3,Q3)=>(z(),Q("div",{key:W3.key,class:"industry-leadership-mode"},[S("i",{style:X1({color:W3.color,background:W3.color})},null,4),S("span",null,c2(`0${Q3+1}`),1),S("div",null,[S("strong",null,c2(W3.name),1),S("small",null,c2(W3.description),1)])]))),128))])):m3.renderer==="ledger"?(z(),Q("div",rK,[(z(!0),Q(O3,null,X3(m3.rows,W3=>(z(),Q("div",{key:W3.key,class:"industry-ledger-row"},[S("div",null,[S("strong",null,c2(W3.name),1),S("span",null,c2(W3.typeName)+" / "+c2(W3.town),1)]),S("em",null,c2(W3.valueText),1)]))),128))])):L3("",!0)]),_:2},1032,["class","title","width","height"]))),128))])])):L3("",!0),A3.value?(z(),Q("div",oK,[d1(jr,{modelValue:K2.value,"onUpdate:modelValue":D2[0]||(D2[0]=m3=>K2.value=m3),"topic-key":"yak-industry-chain",layers:a1.value,legends:C1.value,width:248,height:430,multiple:""},null,8,["modelValue","layers","legends"])])):L3("",!0),A2.value&&q2.value?(z(),Q("div",{key:4,class:"industry-map-feature-info",style:X1(F2.value)},[d1(Ga,{feature:A2.value,width:460,height:374},null,8,["feature"])],4)):L3("",!0),e2.value?(z(),Q("div",{key:5,class:"industry-point-detail",style:X1(a3.value)},[S("div",sK,[S("span",null,c2(F3.value),1),S("button",{type:"button",title:"关闭",onClick:Q0},"×")]),S("div",lK,c2(U3.value),1),Q1.value?(z(),Q("div",uK,[S("div",cK,[D2[1]||(D2[1]=S("span",null,"基地介绍",-1)),S("strong",null,c2(Q1.value.tag),1)]),S("p",null,c2(Q1.value.summary),1),Q1.value.image?(z(),Q("img",{key:0,class:"industry-point-detail__image",src:Q1.value.image,alt:`${Q1.value.name}项目资料图`},null,8,dK)):L3("",!0),S("div",fK,[(z(!0),Q(O3,null,X3(Q1.value.facts,m3=>(z(),Q("div",{key:m3.label},[S("span",null,c2(m3.label),1),S("strong",null,c2(m3.value),1),S("small",null,c2(m3.note),1)]))),128))]),S("div",hK,[D2[2]||(D2[2]=S("span",null,"示范亮点",-1)),(z(!0),Q(O3,null,X3(Q1.value.highlights,m3=>(z(),Q("i",{key:m3},c2(m3),1))),128))])])):L3("",!0),S("div",{class:s1(["industry-point-detail__grid",{"is-family-layout":((B3=e2.value)==null?void 0:B3.categoryCode)==="YC-FAMILY-PASTURE"}])},[(z(!0),Q(O3,null,X3(d3.value,m3=>(z(),Q("div",{key:m3.label,class:s1(["industry-point-detail__row",{"is-wide":m3.wide}])},[S("span",null,c2(m3.label),1),S("strong",null,c2(m3.value),1)],2))),128))],2)],4)):L3("",!0),S("div",mK,[d1(Ua,{"model-value":F.value,topics:o0.value,"onUpdate:modelValue":N3},null,8,["model-value","topics"])])])}}},gK="/openApi";function yK(t){return/^https?:\/\//.test(t)?t:`${gK}${t.startsWith("/")?t:`/${t}`}`}function vK(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"图表接口请求失败");throw n.code=t==null?void 0:t.code,n}return x0(t)}function SK(a){return k3(this,arguments,function*(t,e=window.location.hash||window.location.pathname,n="智慧管理"){const i=yield In(yK("/ai/stat/charts"),{params:{question:t,pagePath:e,pageName:n},timeout:12e3}).then(vK);return(Array.isArray(i==null?void 0:i.charts)?i.charts:[]).map(wK).filter(o=>o.rows.length)})}function wK(t,e){const n=Array.isArray(t==null?void 0:t.rows)?t.rows:[];return{id:(t==null?void 0:t.id)||`smart-chart-${e}`,type:bK(t==null?void 0:t.type),title:(t==null?void 0:t.title)||`统计图表${e+1}`,subtitle:TK(t==null?void 0:t.subtitle),unit:(t==null?void 0:t.unit)||"",source:(t==null?void 0:t.source)||{},rows:n.map((a,i)=>({key:(a==null?void 0:a.key)||`${(a==null?void 0:a.name)||"row"}-${i}`,name:String((a==null?void 0:a.name)||`指标${i+1}`),value:CK(a==null?void 0:a.value),rawValue:a==null?void 0:a.value,unit:(a==null?void 0:a.unit)||(t==null?void 0:t.unit)||"",extra:(a==null?void 0:a.extra)||""})).filter(a=>a.name&&Number.isFinite(a.value))}}function bK(t){return["pie","donut"].includes(t)?"pie":["line","trend"].includes(t)?"line":"bar"}function TK(t){const e=String(t||"").trim();return!e||/^(数据)?来源[::]/.test(e)||e.includes("固定展示")?"":e}function CK(t){if(t==null||t==="")return NaN;const e=Number(String(t).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const km="智慧管理",AK=80,xK=[{key:"livestock_balance",label:"草畜平衡",patterns:[/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧/],build:EK},{key:"yak",label:"牦牛管理",patterns:[/牦牛|耗牛|犛牛|存栏|畜群|牛群|牛犊|母牛|公牛|出栏|交易|预测/],build:kK},{key:"pasture",label:"牧户管理",patterns:[/牧户|牧场|联户|在线|年龄|性别|户均|草场/],build:NK},{key:"ecology",label:"生态保护",patterns:[/生态|公益林|湿地|草地|林地|保护|修复|红线|公园|自然保护地|工程/],build:RK},{key:"industry",label:"牦牛产业链",patterns:[/产业链|产业|主体|加工|屠宰|饲草|储草|家庭生态牧场|品牌|服务能力/],build:LK}];function _K(n){return k3(this,arguments,function*(t,e={}){const a=_y(t),i=e.pagePath||window.location.hash||window.location.pathname,r=[],o=SK(a,i,km).catch(F=>(r.push(zK(F,"辅助图表暂不可用")),[])),s=PK(a),u=yield Promise.all(s.map(F=>F.build(a,r))),m=BK(u.flat()),h=yield o,p=m.length?m:Ay(),g=OK(a,p),b={question:a,pageName:km,pagePath:i,scope:g,intents:s.map(F=>({key:F.key,label:F.label})),datasets:p,charts:h,notes:DK(p,h,r),warnings:r};return J2(L2({},b),{insights:GK(b)})})}function MK(t={}){const e=Array.isArray(t.datasets)?t.datasets:[],n=Array.isArray(t.insights)?t.insights:[],a=t.scope||"红原县",i=e.slice(0,4).map(s=>s.title).filter(Boolean),r=n.slice(0,5).map(s=>`- ${s.label}:${s.value}${s.note?`(${s.note})`:""}`),o=(t.notes||[]).slice(0,3).map(s=>`- ${s}`);return["**总体情况**",`已按${a}相关业务数据整理本次问题的业务信息。`,"","**已整理数据**",...i.length?i.map(s=>`- ${s}`):["- 平台综合业务数据"],"",r.length?"**关键数据**":"",...r,"",o.length?"**数据说明**":"",...o].filter(Boolean).join(` +`)}function PK(t){const e=xK.filter(n=>n.patterns.some(a=>a.test(t)));return e.length?e:[{key:"overview",label:"综合总览",build:()=>Ay()}]}function Ay(){return[W0("home.topStats","首页核心指标",ig,"平台业务汇总数据"),W0("home.heroStats","资源与草畜概览",AL,"平台业务汇总数据"),W0("home.resourceComposition","资源构成",rg,"平台业务汇总数据"),W0("home.businessMatrix","业务矩阵",xL,"平台业务汇总数据"),W0("home.dataFlow","数据流汇总",PL,"平台业务汇总数据")]}function kK(){return[W0("yak.townDistribution","乡镇牦牛存栏分布",Pa.length?Pa:og,"平台业务汇总数据"),W0("yak.structure","畜群结构",m5,"平台业务汇总数据"),W0("yak.genderAge","年龄性别结构",Ui,"平台业务汇总数据"),W0("yak.forecast","牦牛存栏预测",Vt,"平台业务汇总数据"),W0("yak.forecastFactors","预测因素",kl,"平台业务汇总数据"),W0("yak.tradeImpact","交易影响",Pl,"平台业务汇总数据")]}function EK(t){const e=IK(t),n=(e==null?void 0:e.name)||"红原县";return[W0("balance.target",`${n}草畜平衡`,[e],"平台业务汇总数据"),W0("balance.county","全县草畜平衡",[Gr],"平台业务汇总数据"),W0("balance.townRows","乡镇草畜平衡",za,"平台业务汇总数据"),W0("balance.params","草畜平衡计算参数",[Dr],"平台业务汇总数据")]}function NK(){return[W0("pasture.core","牧户核心指标",Gu,"平台业务汇总数据"),W0("pasture.townDistribution","牧户乡镇分布",G8,"平台业务汇总数据"),W0("pasture.online","牧户在线率",Uu,"平台业务汇总数据"),W0("pasture.age","牧户年龄结构",Qg,"平台业务汇总数据"),W0("pasture.gender","牧户性别结构",ju,"平台业务汇总数据"),W0("pasture.examples","牧户示例列表",U8,"平台业务汇总数据")]}function RK(){return[W0("ecology.parkTopStats","生态保护核心指标",Yg,"平台业务汇总数据"),W0("ecology.parkCore","国家公园核心指标",Nj,"平台业务汇总数据"),W0("ecology.parkTownRows","国家公园乡镇数据",kn,"平台业务汇总数据"),W0("ecology.restorationTopStats","生态修复项目汇总",$g,"平台业务汇总数据"),W0("ecology.engineeringTopStats","生态工程分析指标",Wj,"平台业务汇总数据"),W0("ecology.parkPanels","生态保护图表数据",Em(Wg),"平台业务汇总数据"),W0("ecology.restorationPanels","生态修复图表数据",Em(Wi),"平台业务汇总数据"),W0("home.resourceComposition","林草湿资源构成",rg,"平台业务汇总数据"),W0("home.townSynergy","乡镇林草湿与牦牛协同",_L,"平台业务汇总数据")]}function LK(){return[W0("industry.topStats","产业链核心指标",HV,"平台业务汇总数据"),W0("industry.overview","产业链总览",KV,"平台业务汇总数据"),W0("industry.stageComposition","产业阶段构成",qV,"平台业务汇总数据"),W0("industry.stageRows","产业阶段说明",Tr,"平台业务汇总数据"),W0("industry.forageSecurity","饲草保障能力",hy,"平台业务汇总数据"),W0("industry.value","产业价值指标",my,"平台业务汇总数据"),W0("industry.processingAbility","加工能力指标",QV,"平台业务汇总数据"),W0("industry.serviceCapability","服务能力指标",XV,"平台业务汇总数据")]}function IK(t){return za.find(e=>xy(t,e.name))||Gr}function W0(t,e,n,a){return{id:t,title:e,suggestedView:jK(e,n),source:{label:a||"平台展示数据"},rows:FK(n)}}function FK(t){return(Array.isArray(t)?t:[]).slice(0,AK).map(e=>Jl(e)).filter(e=>e&&typeof e=="object")}function Jl(t,e=0){return e>4||t===void 0||typeof t=="function"?null:t===null||["string","number","boolean"].includes(typeof t)?t:Array.isArray(t)?t.slice(0,30).map(n=>Jl(n,e+1)):typeof t=="object"?Object.entries(t).reduce((n,[a,i])=>(["icon","color","tone","image","cover","component"].includes(a)||(n[a]=Jl(i,e+1)),n),{}):String(t)}function BK(t=[]){const e=new Set;return t.filter(n=>{var a;return!((a=n==null?void 0:n.rows)!=null&&a.length)||e.has(n.id)?!1:(e.add(n.id),!0)})}function DK(t,e,n){return[...n].filter(Boolean)}function GK(t){const e=[];return(t.datasets||[]).some(n=>{const a=UK(n);return a&&e.push(a),e.length>=5}),(t.charts||[]).some(n=>{var u,m;const a=(n.rows||[]).filter(h=>Number.isFinite(Number(h.value)));if(!a.length)return!1;const i=a.slice().sort((h,p)=>Number(p.value||0)-Number(h.value||0)),r=n.unit==="%"||/率|占比|比例/.test(n.title||""),o=r?(u=i[0])==null?void 0:u.value:a.reduce((h,p)=>h+Number(p.value||0),0),s=r&&((m=i[0])!=null&&m.name)?`${n.title||"关联图表"}:${i[0].name}`:n.title||"关联图表";return e.push({label:s,value:`${My(o)}${n.unit||""}`,note:a.length>1?r?"数值较高项":`覆盖 ${a.length} 项`:""}),e.length>=5}),e.slice(0,5)}function UK(t){var o,s,u,m;const e=(t.rows||[]).find(Boolean);if(!e)return null;const n=e.name||e.areaName||e.zh||e.label||t.title,a=e.overloadRate!==void 0||e.overloadrate!==void 0,i=a?(o=e.overloadRate)!=null?o:e.overloadrate:(m=(u=(s=e.value)!=null?s:e.yakNumber)!=null?u:e.livestockCapacity)!=null?m:e.areaRange;if(i==null||i==="")return null;const r=e.unit||(a?"%":e.yakNumber!==void 0||e.livestockCapacity!==void 0?"头":"");return{label:a?`${n}超载率`:n,value:`${My(i)}${r}`,note:a&&e.level||t.title}}function Em(t={}){return Object.entries(t||{}).flatMap(([e,n])=>(Array.isArray(n)?n:[]).flatMap(a=>(Array.isArray(a==null?void 0:a.rows)?a.rows:Array.isArray(a==null?void 0:a.data)?a.data:[]).map(r=>L2({groupKey:e,panelKey:a.key,panelTitle:a.title},r))))}function OK(t,e){var i,r;const n=za.find(o=>xy(t,o.name));if(n)return n.name;const a=(r=(i=e.find(o=>o.id==="balance.target"))==null?void 0:i.rows)==null?void 0:r[0];return a!=null&&a.name?a.name:a!=null&&a.areaName?a.areaName:"红原县"}function jK(t,e){return!Array.isArray(e)||e.length<=1?"metrics":/结构|构成|占比|比例/.test(t)?"pie":/趋势|预测/.test(t)?"line":"bar-table"}function xy(t,e){const n=_y(t),a=String(e||"").replace(/(县|镇|村|乡|牧场|牧户|联户)$/g,"");return!!(e&&(n.includes(e)||a&&n.includes(a)))}function _y(t){return String(t||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛").trim()}function zK(t,e){const n=String((t==null?void 0:t.message)||"");return(t==null?void 0:t.code)===401||(t==null?void 0:t.code)==="401"||/未登录|授权|Unauthorized|HTTP 401/i.test(n)?"当前登录状态已失效,部分接口数据未取得":/timeout|timed out|超时/i.test(n)?`${e},接口响应超时`:e}function My(t){const e=Number(String(t).replace(/,/g,""));return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:2}):t||"--"}const YK="/openApi",$K=12e4,WK=8e3,VK=12,HK=500;function KK(t){return/^https?:\/\//.test(t)?t:`${YK}${t.startsWith("/")?t:`/${t}`}`}function qK(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.message)||(t==null?void 0:t.msg)||"HTML界面生成失败");throw n.code=t==null?void 0:t.code,n}return x0(t)}function JK(){return k3(this,arguments,function*({question:t,answer:e="",charts:n=[],datasets:a=[],context:i=null,pagePath:r=window.location.hash||window.location.pathname,pageName:o="智慧管理"}={}){const s=ky({question:t,answer:e,charts:n,datasets:a,context:i}),u=yield In(KK("/ai/artifact/html"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:t,pagePath:r,pageName:o,dataJson:s}),timeout:11e4}).then(qK),m=String((u==null?void 0:u.provider)||""),h=String((u==null?void 0:u.model)||"");if(m.toLowerCase()!=="deepseek"||!h.toLowerCase().startsWith("deepseek-"))throw new Error("HTML界面不是由DeepSeek模型生成,已拒绝展示");const p=Sq((u==null?void 0:u.html)||(u==null?void 0:u.content)||u);if(!p)throw new Error("代码模型没有返回完整HTML");if(wq(p))throw new Error("专题页面仍为原始数据表,已切换报告模板");return J2(L2({},u),{html:p})})}function QK({question:t,answer:e="",charts:n=[],datasets:a=[],context:i=null,reason:r=""}={}){const o=JSON.parse(ky({question:t,answer:e,charts:n,datasets:a,context:i})),s=XK(o);return` + + + + + ${ct(s.title)} + + + +
    +
    +
    +

    智慧管理专题报告

    +

    ${ct(s.title)}

    +

    ${ct(s.subtitle)}

    +
    +
    ${ct(s.sourceText)}
    +
    + + ${rq(s.metrics)} + +
    +
    +

    总体态势

    +
    ${oq(s.summary)}
    +
    + +
    +

    ${ct(s.primaryChart.title)}

    + ${Nm(s.primaryChart)} +
    + +
    +

    ${ct(s.table.title)}

    + ${sq(s.table)} +
    + + ${s.secondaryChart?`

    ${ct(s.secondaryChart.title)}

    ${Nm(s.secondaryChart)}
    `:""} + +
    +

    需关注事项

    + ${Rm(s.attention)} +
    + +
    +

    工作建议

    + ${Rm(s.recommendations)} +
    +
    + + ${s.footnotes.length?`
    ${s.footnotes.map(u=>`
    ${ct(u)}
    `).join("")}
    `:""} +
    + +`}function XK(t,e){const n=ZK(t);return n==="balance"?eq(t):n==="yak"?tq(t):nq(t)}function ZK(t){var i;const e=String((t==null?void 0:t.question)||""),n=Ye((i=t==null?void 0:t.context)==null?void 0:i.intents).map(r=>`${(r==null?void 0:r.key)||""}${(r==null?void 0:r.label)||""}`).join(" "),a=`${e} ${n}`;return/草畜|平衡|承载|载畜|超载|放牧压力/.test(a)?"balance":/牦牛|存栏|畜群|牛群|出栏|交易|预测/.test(a)?"yak":"generic"}function eq(t,e){var H,K;const n=((H=t.context)==null?void 0:H.scope)||"红原县",a=Lm(t,"balance.county")||Lm(t,"balance.target")||lq(t,e2=>(e2==null?void 0:e2.type)==="county")||{},i=O8(t,"balance.townRows").length?O8(t,"balance.townRows"):Py(t,e2=>(e2==null?void 0:e2.type)==="town"&&(e2==null?void 0:e2.overloadRate)!==void 0),r=uq(t,e2=>/草畜平衡|超载率/.test((e2==null?void 0:e2.title)||"")&&Ye(e2==null?void 0:e2.rows).some(p2=>(p2==null?void 0:p2.value)!==void 0)),o=(i.length?i:r).map(e2=>{var p2,v2;return{name:e2.name||e2.areaName||e2.key,overloadRate:En((p2=e2.overloadRate)!=null?p2:e2.value),level:e2.level||e2.extra||"",livestockCapacity:En((v2=e2.livestockCapacity)!=null?v2:e2.yakNumber),bearingCapacity:En(e2.bearingCapacity)}}).filter(e2=>e2.name&&Number.isFinite(e2.overloadRate)).sort((e2,p2)=>p2.overloadRate-e2.overloadRate),s=o.slice(0,5),u=En(a.overloadRate),m=En((K=a.livestockCapacity)!=null?K:a.yakNumber),h=En(a.bearingCapacity),p=En(a.areaRange),g=a.level||(Number.isFinite(u)?"基本实现草畜平衡":"待核算"),b=s.map(e2=>`${e2.name}${fq(e2.overloadRate)}`).join("、"),F=cq(a.advice);return{title:"草畜平衡情况",subtitle:`${n} · 草畜平衡专题`,sourceText:"数据来源:平台草畜平衡核算数据",metrics:[y5("全县超载率",Y5(u),g),y5("实际载畜量",Kn(m),"当前核算口径"),y5("理论承载力",Kn(h),"按草地面积折算"),y5("草地面积",dq(p),"纳入平衡核算")],summary:[`${n}当前草畜平衡总体处于“${g}”状态,超载率为${Y5(u)},实际载畜量${Kn(m)},理论承载力${Kn(h)}。`,b?`乡镇层面,放牧压力相对较高的区域集中在${b},这些区域应作为后续动态监测和调控的重点。`:"乡镇层面的草畜平衡压力整体可控,后续仍需结合季节牧草产量和牲畜流动持续校核。"],primaryChart:{title:"乡镇超载率对比",note:"按超载率由高到低展示前几项",rows:o.slice(0,8).map(e2=>({label:e2.name,value:e2.overloadRate,unit:"%"}))},secondaryChart:aq(o),table:{title:"重点区域与平衡状态",columns:["区域","超载率","实际载畜量","理论承载力","状态"],rows:o.slice(0,6).map(e2=>[e2.name,Y5(e2.overloadRate),Kn(e2.livestockCapacity),Kn(e2.bearingCapacity),e2.level||"待跟踪"])},attention:[s.length?`${s[0].name}超载率最高,为${Y5(s[0].overloadRate)},建议优先复核载畜量和可利用草地面积。`:"暂无明显高压乡镇,需保持常态化监测。","草畜平衡结果受季节牧草产量、牲畜出入栏、补饲能力影响,应定期更新核算口径。","接近平衡上限的区域不宜继续扩大放牧规模,避免从基本平衡转为超载。"],recommendations:F.length?F:["对高压力乡镇开展轮牧、休牧和补饲组合管理。","将超载率、载畜量和草地面积纳入月度跟踪,及时发现压力变化。","结合出栏计划和饲草供应能力,动态优化畜群规模。"],footnotes:tc(t)}}function tq(t,e){var g;const n=((g=t.context)==null?void 0:g.scope)||"红原县",a=O8(t,"yak.townDistribution").map(b=>{var F,H;return{name:b.name||b.areaName||b.key,count:En((H=(F=b.count)!=null?F:b.value)!=null?H:b.total)}}).filter(b=>b.name&&Number.isFinite(b.count)).sort((b,F)=>F.count-b.count),i=a.reduce((b,F)=>b+F.count,0),r=a.slice(0,5),o=i?r.reduce((b,F)=>b+F.count,0)/i*100:NaN,s=O8(t,"yak.structure").map(b=>{var F;return{name:b.name||b.label||b.key,ratio:En((F=b.ratio)!=null?F:b.value),count:En(b.count)}}).filter(b=>b.name&&(Number.isFinite(b.ratio)||Number.isFinite(b.count))),u=O8(t,"yak.forecast"),m=u[u.length-1]||{},h=En(m.stock),p=a[0];return{title:"牦牛分布情况",subtitle:`${n} · 牦牛存栏专题`,sourceText:"数据来源:平台牦牛存栏与畜群结构数据",metrics:[y5("牦牛存栏",Kn(i),"乡镇汇总"),y5("最高乡镇",p?p.name:"--",p?Kn(p.count):""),y5("覆盖乡镇",`${a.length||"--"}个`,"当前展示范围"),y5("预测存栏",Kn(h),m.label||"趋势预测")],summary:[`${n}当前牦牛存栏约${Kn(i)},主要分布在${r.map(b=>b.name).join("、")||"重点牧区"}等区域。`,Number.isFinite(o)?`前五个乡镇合计占全县存栏的${Y5(o)},存栏分布具有较明显的重点区域特征。`:"当前已完成乡镇存栏数据整理,可用于后续联动草畜平衡、出栏计划和疫病防控管理。"],primaryChart:{title:"乡镇牦牛存栏分布",note:Number.isFinite(o)?`前五项占比${Y5(o)}`:"",rows:a.slice(0,9).map(b=>({label:b.name,value:b.count,unit:"头"}))},secondaryChart:s.length?{title:"畜群结构占比",rows:s.slice(0,8).map(b=>({label:b.name,value:Number.isFinite(b.ratio)?b.ratio:b.count,unit:Number.isFinite(b.ratio)?"%":"头"}))}:null,table:{title:"重点乡镇存栏情况",columns:["乡镇","存栏量","全县占比"],rows:a.slice(0,6).map(b=>[b.name,Kn(b.count),i?Y5(b.count/i*100):"--"])},attention:[p?`${p.name}存栏量最高,约${Kn(p.count)},建议同步关注草地承载和疫病防控压力。`:"暂无可排序的乡镇存栏数据。","存栏密集区域需要与草畜平衡结果联动研判,避免单看数量忽略草场承载能力。","预测存栏继续上行时,应提前校核出栏节奏、补饲能力和畜群结构。"],recommendations:["对高存栏乡镇建立动态监测清单,联动草地面积、出栏和补饲指标。","围绕能繁母牛、犊牛和种公牛结构优化畜群质量,避免单纯追求数量增长。","将存栏分布结果用于牧户服务、疫病防控和草畜平衡调控的优先级排序。"],footnotes:tc(t)}}function nq(t,e){var o,s;const n=((o=t.context)==null?void 0:o.scope)||"红原县",a=mq((s=t.context)==null?void 0:s.insights),i=a.length?a:pq(t.datasets),r=Ye(t.datasets).map(u=>({title:(u==null?void 0:u.title)||"指标对比",rows:Ye(u==null?void 0:u.rows).map((m,h)=>({label:nc(m,h),value:ac(m),unit:(m==null?void 0:m.unit)||(u==null?void 0:u.unit)||""})).filter(m=>m.label&&Number.isFinite(m.value)).slice(0,8)})).find(u=>u.rows.length);return{title:hq(t.question),subtitle:`${n} · 智慧管理专题`,sourceText:"数据来源:平台业务汇总数据",metrics:i.slice(0,4).map(u=>y5(u.label,u.value,u.note)),summary:[`${n}已完成本次问题相关业务数据整理,并形成专题分析结果。`,"报告优先呈现关键指标、主要分布和可执行建议,原始字段明细不作为页面主体展示。"],primaryChart:r||{title:"核心指标对比",rows:[]},secondaryChart:null,table:iq(t),attention:["需结合业务口径持续复核关键指标变化。","若涉及乡镇、牧户或生态区域,应按重点对象继续下钻。"],recommendations:["将本报告作为专题研判入口,后续结合业务部门口径补充结论。","对指标波动较大的对象建立跟踪清单。"],footnotes:tc(t)}}function aq(t){const e=t.map(n=>({label:n.name,value:Number.isFinite(n.livestockCapacity)&&Number.isFinite(n.bearingCapacity)?Math.max(0,n.livestockCapacity-n.bearingCapacity):NaN,unit:"头"})).filter(n=>n.label&&Number.isFinite(n.value)&&n.value>0).slice(0,8);return e.length?{title:"超承载量估算",note:"仅展示实际载畜量高于理论承载力的区域",rows:e}:null}function iq(t){const e=Ye(t.datasets).flatMap(n=>Ye(n==null?void 0:n.rows).map((a,i)=>({target:nc(a,i),value:ac(a),unit:(a==null?void 0:a.unit)||(n==null?void 0:n.unit)||"",note:(n==null?void 0:n.title)||""}))).filter(n=>n.target&&Number.isFinite(n.value)).slice(0,6);return{title:"重点指标明细",columns:["对象","数值","说明"],rows:e.map(n=>[n.target,`${i4(n.value)}${n.unit||""}`,n.note])}}function rq(t){const e=Ye(t).filter(Boolean).slice(0,4);return e.length?`
    ${e.map(n=>` +
    + ${ct(n.label)} + ${ct(n.value)} + ${ct(n.note||"")} +
    `).join("")}
    `:""}function oq(t){return Ye(t).filter(Boolean).map(e=>`

    ${ct(e)}

    `).join("")}function Nm(t){const e=Ye(t==null?void 0:t.rows).filter(a=>(a==null?void 0:a.label)&&Number.isFinite(Number(a.value))).slice(0,9);if(!e.length)return'

    当前问题暂无可绘制的核心指标。

    ';const n=Math.max(...e.map(a=>Math.abs(Number(a.value))),1);return`
    + ${e.map(a=>{const i=Number(a.value),r=Math.max(3,Math.round(Math.abs(i)/n*100));return`
    + ${ct(a.label)} +
    + ${ct(i4(i))}${ct(a.unit||"")} +
    `}).join("")} + ${t!=null&&t.note?`

    ${ct(t.note)}

    `:""} +
    `}function sq(t){const e=Ye(t==null?void 0:t.rows).slice(0,8),n=Ye(t==null?void 0:t.columns);return!e.length||!n.length?'

    暂无可展示的重点明细。

    ':` + ${n.map(a=>``).join("")} + + ${e.map(a=>`${Ye(a).map(i=>``).join("")}`).join("")} + +
    ${ct(a)}
    ${ct(i)}
    `}function Rm(t){const e=Ye(t).filter(Boolean).slice(0,6);return e.length?`
      ${e.map(n=>`
    • ${ct(n)}
    • `).join("")}
    `:'

    暂无补充事项。

    '}function y5(t,e,n=""){return{label:t||"指标",value:e==null||e===""?"--":String(e),note:n||""}}function O8(t,e){var n;return Ye((n=Ye(t==null?void 0:t.datasets).find(a=>(a==null?void 0:a.id)===e))==null?void 0:n.rows)}function Lm(t,e){return O8(t,e).find(Boolean)}function Py(t,e){return Ye(t==null?void 0:t.datasets).flatMap(n=>Ye(n==null?void 0:n.rows)).filter(n=>n&&typeof n=="object"&&e(n))}function lq(t,e){return Py(t,e).find(Boolean)}function uq(t,e){const n=Ye(t==null?void 0:t.datasets).find(e);return Ye(n==null?void 0:n.rows)}function cq(t){return Ey(String(t||"").split(/[;;。.\n]+/)).slice(0,5)}function tc(t){var n;return Ey([...((n=t.context)==null?void 0:n.notes)||[]]).slice(0,3)}function dq(t){const e=Number(t);return Number.isFinite(e)?`${i4(e/1e4)}万亩`:"--"}function Kn(t){const e=Number(t);return Number.isFinite(e)?`${i4(e)}头`:"--"}function Y5(t){const e=Number(t);return Number.isFinite(e)?`${i4(e)}%`:"--"}function fq(t){const e=Y5(t);return e==="--"?"":`(${e})`}function ky({question:t,answer:e,charts:n,datasets:a,context:i}){const r={question:String(t||"").trim(),generatedAt:new Date().toISOString(),presentation:{format:"business-report",requirements:["输出应为业务报告页面,而不是原始数据表或字段清单。","不要直接展示 key、rawValue、areaCode、areaRange 等技术字段名。","页面需包含结论、关键指标、图表化对比、重点对象和工作建议。"]},answer:String(e||"").slice(0,WK),context:gq(i),datasets:[...yq(n),...vq(a)]},o=JSON.stringify(r);if(o.length>$K){const s=new Error("汇总数据超过120000字符,请先缩小查询范围");throw s.code="ARTIFACT_DATA_TOO_LARGE",s}return o}function hq(t){const e=String(t||"").replace(/[??。!!]+$/g,"").trim();return e?`${e}专题分析`:"智慧管理专题分析"}function Ye(t){return Array.isArray(t)?t:[]}function Ey(t){const e=new Set;return Ye(t).map(n=>String(n||"").trim()).filter(n=>!n||e.has(n)?!1:(e.add(n),!0))}function mq(t){return Ye(t).map(e=>{var n;return{label:(e==null?void 0:e.label)||(e==null?void 0:e.name)||"指标",value:(n=e==null?void 0:e.value)!=null?n:"--",note:(e==null?void 0:e.note)||(e==null?void 0:e.title)||""}}).filter(e=>e.label&&e.value!==void 0&&e.value!==null).slice(0,6)}function pq(t=[]){return Ye(t).map(e=>{const n=Ye(e==null?void 0:e.rows).find(Boolean);if(!n||typeof n!="object")return null;const a=ac(n);return Number.isFinite(a)?{label:nc(n,0),value:`${i4(a)}${(n==null?void 0:n.unit)||(e==null?void 0:e.unit)||""}`,note:(e==null?void 0:e.title)||""}:null}).filter(Boolean).slice(0,6)}function nc(t,e){if(!t||typeof t!="object")return`指标${e+1}`;const n=t.name||t.label||t.areaName||t.town||t.title||t.key;return n?String(n):Object.values(t).find(i=>typeof i=="string"&&i.trim())||`指标${e+1}`}function ac(t){if(!t||typeof t!="object")return NaN;const e=["value","count","total","rate","ratio","yakNumber","livestockCapacity","overloadRate","onlineRate","areaRange","amount","number"];for(const n of e){const a=En(t[n]);if(Number.isFinite(a))return a}for(const n of Object.values(t)){const a=En(n);if(Number.isFinite(a))return a}return NaN}function En(t){if(t==null||t==="")return NaN;const e=Number(String(t).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}function i4(t){const e=Number(t);return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:2}):t||"--"}function ct(t){return String(t||"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function gq(t){if(!t||typeof t!="object")return null;const{question:e,pageName:n,pagePath:a,scope:i,intents:r,notes:o,warnings:s,insights:u}=t;return Ar({question:e,pageName:n,pagePath:a,scope:i,intents:r,notes:o,warnings:s,insights:u})}function yq(t=[]){return(Array.isArray(t)?t:[]).slice(0,6).map((e,n)=>({id:(e==null?void 0:e.id)||`chart-${n+1}`,title:(e==null?void 0:e.title)||`统计数据${n+1}`,suggestedView:(e==null?void 0:e.type)||"bar",unit:(e==null?void 0:e.unit)||"",subtitle:(e==null?void 0:e.subtitle)||"",source:(e==null?void 0:e.source)||{},rows:Ny(e==null?void 0:e.rows)}))}function vq(t=[]){return(Array.isArray(t)?t:[]).slice(0,VK).map((e,n)=>({id:(e==null?void 0:e.id)||`dataset-${n+1}`,title:(e==null?void 0:e.title)||(e==null?void 0:e.name)||`汇总数据${n+1}`,suggestedView:(e==null?void 0:e.suggestedView)||(e==null?void 0:e.type)||"auto",unit:(e==null?void 0:e.unit)||"",source:(e==null?void 0:e.source)||{},rows:Ny((e==null?void 0:e.rows)||(e==null?void 0:e.data)||e)}))}function Ny(t){return(Array.isArray(t)?t:[]).slice(0,HK).map(e=>Ar(e))}function Ar(t,e=0){return e>4||t===void 0||typeof t=="function"?null:t===null||["string","number","boolean"].includes(typeof t)?t:Array.isArray(t)?t.slice(0,50).map(n=>Ar(n,e+1)):typeof t=="object"?Object.entries(t).reduce((n,[a,i])=>(n[a]=Ar(i,e+1),n),{}):String(t)}function Sq(t){let e=String(t||"").trim();e.startsWith("```")&&(e=e.replace(/^```(?:html)?\s*/i,"").replace(/\s*```$/i,"").trim());const n=e.match(/");return n&&a>=n.index&&(e=e.slice(n.index,a+7)),/]+>/g," ").replace(/\s+/g," ").toLowerCase(),a=(e.match(/n.includes(o)).length;return a>=2&&r>=4||a>=1&&r>=6}const bq=["default-src 'none'","script-src 'unsafe-inline'","style-src 'unsafe-inline'","img-src data: blob:","font-src data:","connect-src 'none'","media-src 'none'","frame-src 'none'","object-src 'none'","base-uri 'none'","form-action 'none'"].join("; "),Tq=["iframe","object","embed","form","base","meta[http-equiv='refresh' i]","script[src]","link[href]"];function Im(t){const e=String(t||"").trim();if(!e||typeof DOMParser=="undefined")return"";const n=new DOMParser().parseFromString(e,"text/html");n.querySelectorAll(Tq.join(",")).forEach(o=>o.remove()),n.querySelectorAll("*").forEach(o=>Cq(o));const a=n.head.querySelector("meta[http-equiv='Content-Security-Policy' i]");a==null||a.remove();const i=n.createElement("meta");i.setAttribute("http-equiv","Content-Security-Policy"),i.setAttribute("content",bq),n.head.prepend(i);const r=n.createElement("script");return r.textContent=` + (() => { + const notify = (type, message = "") => { + window.parent.postMessage({ source: "smart-artifact", type, message: String(message).slice(0, 240) }, "*"); + }; + window.addEventListener("error", (event) => notify("runtime-error", event.message || "界面运行异常")); + window.addEventListener("unhandledrejection", (event) => notify("runtime-error", event.reason?.message || event.reason || "界面运行异常")); + window.addEventListener("DOMContentLoaded", () => notify("ready")); + })(); + `,i.after(r),` +${n.documentElement.outerHTML}`}function Cq(t){Array.from(t.attributes||[]).forEach(e=>{const n=e.name.toLowerCase(),a=String(e.value||"").trim();if(n.startsWith("on")||n==="target"){t.removeAttribute(e.name);return}["href","xlink:href","src","action","formaction"].includes(n)&&(a.startsWith("#")||a.startsWith("data:")||a.startsWith("blob:")||t.removeAttribute(e.name))})}const Aq={class:"wisdom-management"},xq={key:0,class:"wisdom-side wisdom-side-left"},_q={key:0,class:"wisdom-side-header"},Mq={key:0},Pq={key:1,class:"wisdom-side-metrics"},kq={key:0},Eq=["innerHTML"],Nq={key:3,class:"wisdom-side-actions"},Rq=["disabled","onClick"],Lq={key:1,class:"wisdom-side wisdom-side-right"},Iq={key:0,class:"wisdom-side-header"},Fq={key:0},Bq={key:2,class:"wisdom-side-metrics"},Dq={key:0},Gq=["innerHTML"],Uq={key:4,class:"wisdom-side-actions"},Oq=["disabled","onClick"],jq={key:2,class:"wisdom-artifact-workspace"},zq={class:"wisdom-artifact-header"},Yq={class:"wisdom-artifact-heading"},$q={class:"wisdom-artifact-tools"},Wq=["disabled"],Vq={class:"wisdom-artifact-body"},Hq={key:0,class:"wisdom-artifact-building"},Kq={class:"wisdom-artifact-building__intro"},qq=["srcdoc"],Jq={key:2,class:"wisdom-artifact-error"},Qq=["disabled"],Xq={key:0,class:"wisdom-empty-state"},Zq={key:0,class:"wisdom-message-mark"},eJ={class:"wisdom-bubble"},tJ={key:0,class:"wisdom-digesting"},nJ=["innerHTML"],aJ={key:2,class:"wisdom-stream-caret"},iJ={key:3,class:"wisdom-suggestion-list"},rJ=["disabled","onClick"],oJ={class:"wisdom-input-shell"},sJ=["disabled"],lJ=["disabled","title","aria-label"],uJ=["disabled"],cJ={key:0,class:"wisdom-button-loading"},dJ="请输入需要了解的业务事项,系统将依据平台汇总数据形成要点分析和专题页面。",fJ=28e3,hJ={__name:"index",props:{active:{type:Boolean,default:!0}},setup(t){const e=$C({loader:()=>WC(()=>import("./SmartChartRenderer-55310556-1783957353180.js"),["./SmartChartRenderer-55310556-1783957353180.js","./index-1783957353180.js","./index-4ccdd147-balabala-1783957353180.css","./chartTheme-1b75dfa1-1783957353180.js","./chartTheme-73f6d8d0-balabala-1783957353180.css","./SmartChartRenderer-7a3a96b9-balabala-1783957353180.css"],import.meta.url),loadingComponent:{template:'
    正在绘制统计图表
    '}}),n=t,a=t3(""),i=t3([]),r=t3(!1),o=t3(null),s=t3(null),u=t3([]),m=t3([]),h=t3(q2()),p=l2(()=>h.value.status!=="idle"),g=l2(()=>["collecting","generating"].includes(h.value.status)),b=l2(()=>h.value.status==="collecting"?"汇总数据":h.value.status==="generating"?"生成页面":h.value.status==="ready"?"分析完成":h.value.status==="error"?"生成失败":h.value.status==="waiting"?"等待选择":"待生成"),F=t3(!1),H=t3(!1),K=t3("");let e2=null,p2=null,v2=0;const A2=t3(null);Ln(()=>{y1(),window.addEventListener("message",A3)}),Rn(()=>{_3(),l1(),v2+=1,window.removeEventListener("message",A3)}),V0(()=>n.active,v3=>{v3||(_3(),l1(),v2+=1,r.value=!1,i.value=i.value.map(w3=>w3.streaming?J2(L2({},w3),{streaming:!1,digesting:!1}):w3))});function _2(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function q2(){return{status:"idle",title:"动态分析",question:"",html:"",error:"",model:"",fallback:!1,renderKey:0}}function K2(v3){v2+=1,A2.value=null,h.value=J2(L2({},q2()),{status:"collecting",title:$2(v3),question:v3})}function $2(v3){const w3=String(v3||"动态分析").replace(/[??。!!]+$/g,"").trim();return w3.length>28?`${w3.slice(0,28)}...`:w3||"动态分析"}function c3(v3){return k3(this,null,function*(){const w3={question:(v3==null?void 0:v3.question)||h.value.question,answer:(v3==null?void 0:v3.answer)||"",charts:Array.isArray(v3==null?void 0:v3.charts)?v3.charts:[],datasets:Array.isArray(v3==null?void 0:v3.datasets)?v3.datasets:[],context:(v3==null?void 0:v3.context)||null,pagePath:window.location.hash||window.location.pathname,pageName:"智慧管理"};A2.value=w3;const P3=++v2;h.value=J2(L2({},h.value),{status:"generating",title:$2(w3.question),question:w3.question,html:"",error:"",model:"",fallback:!1});try{const H3=yield p3(JK(w3));if(P3!==v2)return{stale:!0};const j3=Im(H3.html);if(!j3)throw new Error("生成页面未通过安全检查");return h.value=J2(L2({},h.value),{status:"ready",html:j3,error:"",model:H3.model||"DeepSeek",fallback:!1,renderKey:Date.now()}),{ok:!0,result:H3}}catch(H3){if(P3!==v2)return{stale:!0};const j3=F2(H3,"专题分析页面生成暂时不可用,请稍后重试。");console.error("[智慧管理] DeepSeek HTML生成失败",H3);const q3=y3(w3,j3);return q3?(h.value=J2(L2({},h.value),{status:"ready",html:q3,error:j3,model:"本地兜底",fallback:!0,renderKey:Date.now()}),{ok:!1,fallback:!0,message:j3,error:H3}):(h.value=J2(L2({},h.value),{status:"error",html:"",error:j3,model:"",fallback:!1,renderKey:Date.now()}),{ok:!1,message:j3,error:H3})}})}function p3(v3){return new Promise((w3,P3)=>{const H3=window.setTimeout(()=>{const j3=new Error("专题分析页面生成服务响应时间较长,已切换本地分析页面");j3.code="ARTIFACT_SOFT_TIMEOUT",P3(j3)},fJ);v3.then(w3,P3).finally(()=>window.clearTimeout(H3))})}function y3(v3,w3){try{const P3=QK(J2(L2({},v3),{reason:w3}));return Im(P3)}catch(P3){return console.error("[智慧管理] 本地专题页面生成失败",P3),""}}function z3(){!A2.value||g.value||c3(A2.value)}function S3(v3){v2+=1,h.value=J2(L2({},h.value),{status:"error",html:"",error:v3,fallback:!1,renderKey:Date.now()})}function I3(){h.value.status!=="ready"&&(h.value=J2(L2({},h.value),{status:"ready"}))}function A3(v3){var w3,P3;v3.source!==((w3=s.value)==null?void 0:w3.contentWindow)||((P3=v3.data)==null?void 0:P3.source)!=="smart-artifact"||v3.data.type==="runtime-error"&&(h.value=J2(L2({},h.value),{status:"error",html:"",error:v3.data.message||"生成界面运行异常",fallback:!1,renderKey:Date.now()}))}function a1(v3){return String(v3||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛")}function C1(v3){return a1(v3).trim()}function y1(){if(typeof window=="undefined")return;const v3=window.SpeechRecognition||window.webkitSpeechRecognition;F.value=!!v3,v3&&(p2=new v3,p2.lang="zh-CN",p2.continuous=!1,p2.interimResults=!0,p2.maxAlternatives=1,p2.onstart=()=>{H.value=!0,K.value=""},p2.onresult=w3=>{const H3=Array.from(w3.results||[]).map(j3=>{var q3;return((q3=j3==null?void 0:j3[0])==null?void 0:q3.transcript)||""}).join("").trim();H3&&(a.value=H3)},p2.onerror=w3=>{H.value=!1,K.value=(w3==null?void 0:w3.error)||"语音输入失败"},p2.onend=()=>{H.value=!1})}function S1(){if(!(!p2||r.value)){if(H.value){l1();return}try{K.value="",p2.start()}catch(v3){K.value=(v3==null?void 0:v3.message)||"语音输入启动失败",H.value=!1}}}function l1(){if(!(!p2||!H.value))try{p2.stop()}catch(v3){K.value=(v3==null?void 0:v3.message)||"语音输入已结束"}finally{H.value=!1}}function E1(){return k3(this,arguments,function*(v3=a.value){const w3=C1(v3);if(!w3||r.value)return;l1();const P3={id:_2(),role:"user",text:w3},H3={id:_2(),role:"assistant",steps:[],digesting:!0,digestText:"生成中",visibleText:"",fullText:"",streaming:!1,charts:[],insights:[],suggestions:[]};i.value=[...i.value,P3,H3],a.value="",r.value=!0,K2(w3),yield O(),yield t0(w3,H3.id)})}function t0(v3,w3){return k3(this,null,function*(){var P3;U3(w3,{digestText:"生成中"});try{const H3=window.location.hash||window.location.pathname,j3=yield _K(v3,{pagePath:H3}),q3=MK(j3),e0=(P3=j3.insights)!=null&&P3.length?j3.insights:F3(j3.charts||[]);U3(w3,{digesting:!0,digestText:"生成中",insights:e0,suggestions:[],allowFollowUp:!0}),Q1({question:v3,answer:q3,charts:j3.charts||[],insights:e0,suggestions:[]}),a3(w3,o0()),c3({question:v3,answer:q3,charts:j3.charts||[],datasets:j3.datasets||[],context:j3})}catch(H3){const j3=F2(H3,"上下文数据整理失败,请稍后重试。");Q1({question:v3,answer:j3,charts:[],insights:[],suggestions:[]}),S3(j3),a3(w3,j3)}})}function o0(){return["专题分析页面正在生成,完成后会自动显示在右侧。","你可以继续提出其他问题。"].join(` +`)}function G1(v3){const w3=Number(String(v3).replace(/,/g,""));return Number.isFinite(w3)?w3.toLocaleString("zh-CN",{maximumFractionDigits:2}):v3||"--"}function Q1({question:v3,answer:w3,charts:P3=[],insights:H3=[],suggestions:j3=[],aiPanels:q3}={}){const e0=(q3==null?void 0:q3.leftPanels)||[],O2=(q3==null?void 0:q3.rightPanels)||[];if(e0.length||O2.length){u.value=e0,m.value=O2;return}const Y2=d3({question:v3,answer:w3,charts:P3,insights:H3,suggestions:j3});u.value=Y2.left,m.value=Y2.right}function d3({question:v3,answer:w3,charts:P3=[],insights:H3=[],suggestions:j3=[]}={}){const q3=[],e0=[],O2=(H3.length?H3:F3(P3)).map(Y2=>({label:Y2.label,value:Y2.value,note:Y2.note}));return!P3.length&&!O2.length?{left:q3,right:e0}:(O2.length&&q3.push({id:`summary-${_2()}`,type:"metrics",kicker:"数据要点",title:"数据摘要",badge:"实时",items:O2.slice(0,4),actions:[]}),P3.slice(0,2).forEach((Y2,s3)=>{e0.push({id:`chart-${Y2.id||s3}-${_2()}`,type:"chart",kicker:s3===0?"可视分析":"关联图表",title:Y2.title||`统计图表${s3+1}`,badge:Y2.unit||"",chart:Y2,items:[],actions:[],text:""})}),{left:q3.slice(0,2),right:e0.slice(0,2)})}function F3(v3=[]){const w3=[];return v3.slice(0,2).forEach(P3=>{var G3;const H3=(P3.rows||[]).map(i1=>J2(L2({},i1),{value:Number(i1.value)})).filter(i1=>i1.name&&Number.isFinite(i1.value));if(!H3.length)return;const j3=P3.unit||((G3=H3.find(i1=>i1.unit))==null?void 0:G3.unit)||"",q3=H3.slice().sort((i1,N1)=>N1.value-i1.value),e0=H3.reduce((i1,N1)=>i1+N1.value,0),O2=e0/H3.length,Y2=q3[0],s3=q3[q3.length-1];w3.push({label:"最高",value:`${Y2.name} ${G1(Y2.value)}${j3}`,note:P3.title}),H3.length>2&&w3.push({label:P3.type==="pie"?"占比项":"最低",value:`${s3.name} ${G1(s3.value)}${j3}`,note:P3.type==="pie"?"最小结构项":"低值区域"}),w3.push({label:"合计",value:`${G1(e0)}${j3}`,note:H3.length>1?`覆盖 ${H3.length} 项`:P3.title}),P3.type!=="pie"&&H3.length>1&&w3.push({label:"均值",value:`${G1(O2)}${j3}`,note:"按当前图表项计算"})}),w3.slice(0,4)}function U3(v3,w3,P3=!0){i.value=i.value.map(H3=>H3.id===v3?L2(L2({},H3),w3):H3),P3&&O()}function a3(v3,w3){U3(v3,{digesting:!1}),N3(v3,w3)}function F2(v3,w3){const P3=String((v3==null?void 0:v3.message)||"");return(v3==null?void 0:v3.code)===401||(v3==null?void 0:v3.code)==="401"||(v3==null?void 0:v3.code)==="HTTP_401"||/未登录|授权|Unauthorized|HTTP 401/i.test(P3)?"当前登录状态已失效,请重新登录后查询。":(v3==null?void 0:v3.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(P3)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(v3==null?void 0:v3.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(P3)?"本次分析已中断,请重新提交。":(v3==null?void 0:v3.code)==="HTTP_404"||(v3==null?void 0:v3.status)===404||/HTTP 404/i.test(P3)?"专题分析页面生成服务暂不可用,请稍后重试。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(P3)||/[a-zA-Z]{4,}/.test(P3)?w3:P3||w3}function N3(v3,w3){_3();const P3=a1(w3),H3=P3.length>1200?36:P3.length>700?24:14;let j3=0;U3(v3,{fullText:P3,visibleText:"",streaming:!0,charts:[]});const q3=()=>{if(j3=Math.min(j3+H3,P3.length),U3(v3,{visibleText:P3.slice(0,j3),streaming:j3=P3.length){e2=null,r.value=!1;return}e2=window.setTimeout(q3,18)};e2=window.setTimeout(q3,0)}function _3(){e2&&(window.clearTimeout(e2),e2=null)}function o1(v3){const w3=U1(v3).split(/\r?\n/),P3=[];let H3=[],j3=!1;const q3=()=>{H3.length&&(P3.push(`<${j3?"ol":"ul"}>${H3.map(e0=>`
  • ${w1(e0)}
  • `).join("")}`),H3=[],j3=!1)};return w3.forEach(e0=>{const O2=e0.trim();if(!O2){q3();return}const Y2=O2.match(/^#{1,4}\s+(.+)$/)||O2.match(/^\*\*(.+)\*\*$/);if(Y2){q3(),P3.push(`

    ${w1(Y2[1])}

    `);return}const s3=O2.match(/^\d+[.)、]\s+(.+)$/),G3=O2.match(/^[-*]\s+(.+)$/);if(s3||G3){const i1=!!s3;H3.length&&j3!==i1&&q3(),j3=i1,H3.push(s3?s3[1]:G3[1]);return}q3(),P3.push(`

    ${w1(O2)}

    `)}),q3(),P3.join("")}function w1(v3){return v3.replace(/\*\*([^*]+)\*\*/g,"$1")}function U1(v3){return String(v3||"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function O(){return k3(this,null,function*(){yield q0(),window.requestAnimationFrame(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})})}return(v3,w3)=>(z(),Q("div",Aq,[w3[17]||(w3[17]=ya('',1)),u.value.length&&!p.value?(z(),Q("aside",xq,[(z(!0),Q(O3,null,X3(u.value,P3=>{var H3,j3;return z(),Q("section",{key:P3.id,class:s1(["wisdom-side-panel",`is-${P3.type}`])},[P3.chart?L3("",!0):(z(),Q("header",_q,[S("div",null,[S("span",null,c2(P3.kicker),1),S("strong",null,c2(P3.title),1)]),P3.badge?(z(),Q("em",Mq,c2(P3.badge),1)):L3("",!0)])),(H3=P3.items)!=null&&H3.length?(z(),Q("div",Pq,[(z(!0),Q(O3,null,X3(P3.items,q3=>(z(),Q("div",{key:`${P3.id}-${q3.label}`,class:"wisdom-side-metric"},[S("span",null,c2(q3.label),1),S("strong",null,c2(q3.value),1),q3.note?(z(),Q("em",kq,c2(q3.note),1)):L3("",!0)]))),128))])):L3("",!0),P3.text?(z(),Q("div",{key:2,class:"wisdom-side-text",innerHTML:o1(P3.text)},null,8,Eq)):L3("",!0),(j3=P3.actions)!=null&&j3.length?(z(),Q("div",Nq,[(z(!0),Q(O3,null,X3(P3.actions,q3=>(z(),Q("button",{key:q3.question,type:"button",disabled:r.value,onClick:e0=>E1(q3.question)},c2(q3.label),9,Rq))),128))])):L3("",!0)],2)}),128))])):L3("",!0),m.value.length&&!p.value?(z(),Q("aside",Lq,[(z(!0),Q(O3,null,X3(m.value,P3=>{var H3,j3;return z(),Q("section",{key:P3.id,class:s1(["wisdom-side-panel",`is-${P3.type}`])},[P3.chart?L3("",!0):(z(),Q("header",Iq,[S("div",null,[S("span",null,c2(P3.kicker),1),S("strong",null,c2(P3.title),1)]),P3.badge?(z(),Q("em",Fq,c2(P3.badge),1)):L3("",!0)])),P3.chart?(z(),he(k1(e),{key:1,class:"wisdom-side-chart",chart:P3.chart},null,8,["chart"])):L3("",!0),(H3=P3.items)!=null&&H3.length?(z(),Q("div",Bq,[(z(!0),Q(O3,null,X3(P3.items,q3=>(z(),Q("div",{key:`${P3.id}-${q3.label}`,class:"wisdom-side-metric"},[S("span",null,c2(q3.label),1),S("strong",null,c2(q3.value),1),q3.note?(z(),Q("em",Dq,c2(q3.note),1)):L3("",!0)]))),128))])):L3("",!0),P3.text?(z(),Q("div",{key:3,class:"wisdom-side-text",innerHTML:o1(P3.text)},null,8,Gq)):L3("",!0),(j3=P3.actions)!=null&&j3.length?(z(),Q("div",Uq,[(z(!0),Q(O3,null,X3(P3.actions,q3=>(z(),Q("button",{key:q3.question,type:"button",disabled:r.value,onClick:e0=>E1(q3.question)},c2(q3.label),9,Oq))),128))])):L3("",!0)],2)}),128))])):L3("",!0),p.value?(z(),Q("section",jq,[S("header",zq,[S("div",Yq,[w3[4]||(w3[4]=S("span",{class:"wisdom-artifact-mark","aria-hidden":"true"},null,-1)),S("div",null,[w3[3]||(w3[3]=S("small",null,"专题分析",-1)),S("strong",null,c2(h.value.title),1)])]),S("div",$q,[S("span",{class:s1(["wisdom-artifact-status",`is-${h.value.status}`])},[w3[5]||(w3[5]=S("i",null,null,-1)),oe(c2(b.value),1)],2),h.value.status==="ready"||h.value.status==="error"?(z(),Q("button",{key:0,type:"button",disabled:g.value||!A2.value,title:"重新生成当前界面",onClick:z3}," 重新生成 ",8,Wq)):L3("",!0)])]),S("div",Vq,[g.value?(z(),Q("div",Hq,[S("div",Kq,[w3[6]||(w3[6]=S("span",{class:"wisdom-artifact-building__spinner"},null,-1)),S("div",null,[S("strong",null,c2(h.value.status==="collecting"?"正在汇总业务数据":"正在生成专题分析页面"),1)])]),w3[7]||(w3[7]=ya('
    ',3))])):h.value.html?(z(),Q("iframe",{key:h.value.renderKey,ref_key:"artifactFrameRef",ref:s,class:"wisdom-artifact-frame",srcdoc:h.value.html,sandbox:"allow-scripts",referrerpolicy:"no-referrer",title:"专题分析页面",onLoad:I3},null,40,qq)):(z(),Q("div",Jq,[w3[8]||(w3[8]=S("strong",null,"专题分析页面暂未生成",-1)),S("p",null,c2(h.value.error||"当前数据不足以形成专题分析页面。"),1),S("button",{type:"button",disabled:!A2.value,onClick:z3},"重新生成",8,Qq)]))])])):L3("",!0),S("main",{class:s1(["wisdom-chat",{"has-artifact":p.value}])},[S("div",{ref_key:"dialogueRef",ref:o,class:s1(["wisdom-dialogue",{"is-empty":!i.value.length}])},[i.value.length?L3("",!0):(z(),Q("section",Xq,[w3[9]||(w3[9]=S("div",{class:"wisdom-empty-mark"},[S("span"),S("strong",null,"AI")],-1)),w3[10]||(w3[10]=S("h2",null,"智慧辅助分析",-1)),S("p",null,c2(dJ))])),(z(!0),Q(O3,null,X3(i.value,P3=>{var H3;return z(),Q("article",{key:P3.id,class:s1(["wisdom-message",`is-${P3.role}`])},[P3.role==="assistant"?(z(),Q("div",Zq,[...w3[11]||(w3[11]=[S("span",null,"智",-1)])])):L3("",!0),S("div",eJ,[P3.role==="user"?(z(),Q(O3,{key:0},[oe(c2(P3.text),1)],64)):(z(),Q(O3,{key:1},[P3.digesting?(z(),Q("div",tJ,[w3[12]||(w3[12]=S("span",null,null,-1)),w3[13]||(w3[13]=S("span",null,null,-1)),w3[14]||(w3[14]=S("span",null,null,-1)),S("em",null,c2(P3.digestText||"正在汇总分析"),1)])):L3("",!0),P3.visibleText?(z(),Q("div",{key:1,class:"wisdom-answer",innerHTML:o1(P3.visibleText)},null,8,nJ)):L3("",!0),P3.streaming?(z(),Q("span",aJ)):L3("",!0),(H3=P3.suggestions)!=null&&H3.length&&(P3.allowFollowUp||!P3.digesting&&!P3.streaming)?(z(),Q("div",iJ,[(z(!0),Q(O3,null,X3(P3.suggestions,j3=>(z(),Q("button",{key:j3.question,type:"button",disabled:r.value,onClick:q3=>E1(j3.question)},c2(j3.label),9,rJ))),128))])):L3("",!0)],64))])],2)}),128))],2),S("form",{class:"wisdom-input-bar",onSubmit:w3[2]||(w3[2]=$0(P3=>E1(),["prevent"]))},[S("div",oJ,[w3[16]||(w3[16]=S("span",{class:"wisdom-input-icon"},null,-1)),Oe(S("input",{"onUpdate:modelValue":w3[0]||(w3[0]=P3=>a.value=P3),disabled:r.value,autocomplete:"off",placeholder:"请输入需要了解的业务事项",onKeydown:w3[1]||(w3[1]=Wt($0(P3=>E1(),["prevent"]),["enter"]))},null,40,sJ),[[f5,a.value]]),S("button",{type:"button",class:s1(["wisdom-voice-button",{"is-listening":H.value}]),disabled:r.value||!F.value,title:F.value?H.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入","aria-label":F.value?H.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入",onClick:S1},[...w3[15]||(w3[15]=[S("span",null,null,-1)])],10,lJ),S("button",{class:"wisdom-submit-button",type:"submit",disabled:r.value||!a.value.trim()},[r.value?(z(),Q("span",cJ)):L3("",!0),S("span",null,c2(r.value?"分析中":"发送"),1)],8,uJ)])],32)],2)]))}},ga=[{key:"home",label:"首页",bottomLabel:"核心指标",status:"ready"},{key:"forest-grass-wet",label:"林草湿资源",bottomLabel:"林草湿",status:"ready"},{key:"ecological-protection",label:"生态保护",bottomLabel:"生态保护",status:"ready"},{key:"yak-management",label:"牦牛管理",bottomLabel:"牦牛管理",status:"ready"},{key:"pasture-management",label:"牧场管理",bottomLabel:"牧场管理",status:"ready"},{key:"yak-industry-chain",label:"牦牛产业全链",bottomLabel:"产业全链",status:"ready"},{key:"smart-management",label:"智慧管理",bottomLabel:"智慧管理",status:"ready"},{key:"grass-livestock-balance",label:"草畜平衡",bottomLabel:"草畜平衡",status:"ready"}];function mJ(t){return ga.find(e=>e.key===t)||ga[1]}const pJ="/jsyApi",gJ={}.VITE_AMAP_WEATHER_KEY||"b72b3e3b2023760dae2cdf2e00561812",yJ="513233";function vJ(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code))throw new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"天气接口请求失败");return x0(t)}function Ry(t){var o,s,u,m;const e=(s=(o=t==null?void 0:t.data)!=null?o:t==null?void 0:t.result)!=null?s:t,n=Array.isArray(e)?e[0]:Array.isArray(e==null?void 0:e.rows)?e.rows[0]:Array.isArray(e==null?void 0:e.list)?e.list[0]:e;if(!n||typeof n!="object")return null;const a=(...h)=>h.find(p=>p!=null&&p!==""),i=a(n.temp,n.temperature,n.temperature_float,n.tempDay,n.temperatureDay),r=a(n.humidity,n.humidity_float,n.pop,n.relativeHumidity);return{condition:n.conditionDay||n.condition||n.weather||n.weatherText||"",temperature:i==null||i===""?"--":i,humidity:r==null||r===""?"--":r,windDirection:n.windDir||n.windDirection||"",windLevel:n.windLevel||n.windScale||n.windPower||"",icon:(m=(u=n.icon)!=null?u:n.weatherIcon)!=null?m:null}}function SJ(t){return k3(this,null,function*(){const e=yield In(`${pJ}${t}`,{timeout:8e3});return Ry(vJ(e))})}function wJ(){return new Promise((t,e)=>{const n=`__hongyuanWeather${Date.now()}${Math.random().toString(16).slice(2)}`,a=document.createElement("script"),i=()=>{window.clearTimeout(r),a.remove(),delete window[n]},r=window.setTimeout(()=>{i(),e(new Error("高德天气接口响应超时"))},8e3);window[n]=s=>{var m;const u=(m=s==null?void 0:s.lives)==null?void 0:m[0];if(i(),!u){e(new Error((s==null?void 0:s.info)||"高德天气暂无数据"));return}t(Ry(u))},a.onerror=()=>{i(),e(new Error("高德天气接口加载失败"))};const o=new URLSearchParams({city:yJ,key:gJ,extensions:"base",output:"JSON",callback:n});a.src=`https://restapi.amap.com/v3/weather/weatherInfo?${o}`,document.head.appendChild(a)})}function bJ(){return k3(this,null,function*(){const t=["/api/home/realTimeWeather","/api/home/weatherForecast"];let e=null;for(const n of t)try{const a=yield SJ(n);if(a)return a}catch(a){e=a}try{const n=yield wJ();if(n)return n}catch(n){e=n}throw e||new Error("天气数据暂不可用")})}const TJ={key:0,class:"platform-module-pane"},CJ={key:1,class:"platform-module-pane"},AJ={key:2,class:"platform-module-pane"},xJ={key:3,class:"platform-module-pane"},_J={key:4,class:"platform-module-pane"},MJ={key:5,class:"platform-module-pane"},PJ={key:6,class:"platform-module-pane"},kJ={key:7,class:"platform-module-pane"},EJ={class:"large-screen-wrap"},NJ={class:"m-header-tools"},RJ=["src","alt"],LJ={key:1,class:"platform-weather__fallback-icon","aria-hidden":"true"},IJ={class:"platform-weather__copy"},FJ={class:"platform-weather__primary"},BJ={key:0},DJ={key:0},GJ={key:0},UJ={key:1,"aria-hidden":"true"},OJ={key:2},jJ={class:"platform-datetime","aria-label":"当前日期和时间"},zJ={class:"top-menu"},YJ={key:0,class:"top-menu-mid-space"},$J={key:1,class:"platform-map-tools","aria-label":"地图工具"},WJ=["title","aria-label"],VJ={key:2,class:"module-coming"},HJ={class:"module-coming-title"},KJ={key:3,class:"bottom-tray"},qJ={class:"bottom-menu"},JJ=["onClick"],QJ={key:8,class:"loading platform-loading"},XJ={class:"loading-progress"},ZJ={class:"value"},eQ=1200,iQ={__name:"index",setup(t){const e=VC(),n=HC(),a=P3(e.query.module),i=t3(a),r=t3(a==="ecological-protection"?j3(e.query.view):"ecological-redline"),o=t3(a==="yak-management"?H3(e.query.view):"structure"),s=t3({home:!0,[a]:!0}),u=t3({}),m=t3(!0),h=t3(0),p=t3(null),g=t3(null),b=t3(null),F=t3(null),H=t3(null),K=t3(null),e2=t3(null),p2=t3(!1),v2=t3(""),A2=t3(""),_2=t3({condition:"",temperature:"--",humidity:"--",windDirection:"",windLevel:"",icon:null}),q2=t3(!1),K2=t3(!1);let $2=null,c3=null,p3=null,y3=!1,z3=null,S3=null,I3=null;const A3=Date.now(),a1={progress:0},C1=new Set(["home","grass-livestock-balance","pasture-management","yak-industry-chain"]),y1=["town","area","wetland","yield","rate","stack","leaf","risk","grass-basic","grass-general","forest","park","project","length","device","certificate"],S1=new Set(y1),l1=l2(()=>mJ(i.value)),E1=l2(()=>`/images/weather/W${_2.value.icon}.png`),t0=l2(()=>q2.value&&_2.value.icon!==null&&!K2.value),o0=l2(()=>!["","--",null,void 0].includes(_2.value.humidity)),G1=l2(()=>{const C3=String(_2.value.windDirection||"").trim(),m2=String(_2.value.windLevel||"").trim();return!C3&&!m2?"":`${C3}${C3&&m2?" ":""}${m2?`${m2}级`:""}`}),Q1=l2(()=>p2.value?"退出":"全屏"),d3=l2(()=>!["smart-management","grass-livestock-balance"].includes(l1.value.key)),F3=l2(()=>F2.value.length===5&&(l1.value.key==="home"||l1.value.key==="ecological-protection"&&a3.value==="national-park")),U3=l2(()=>i.value==="ecological-protection"?Ys:ga),a3=l2(()=>i.value==="ecological-protection"?r.value:i.value),F2=l2(()=>{const C3=u.value[i.value];return Array.isArray(C3)||C3!=null&&C3.length?C3:q1([{zh:"草地面积",en:"",value:756.37,unit:"万亩",decimals:2},{zh:"林地总面积",en:"",value:177.92,unit:"万亩",decimals:2},{zh:"湿地面积",en:"",value:291.82,unit:"万亩",decimals:2}])});Ln(()=>{N3(),_3(),c3=window.setInterval(N3,1e3),p3=window.setInterval(_3,30*60*1e3),$2=Pr.init({dh:1080,dw:1920,el:"#large-screen",resize:!0,cssMode:"zoom"}),ye(),k0(),T0(),G3(i.value)?i1(i.value):(y3=!0,h.value=100,m.value=!1)}),Rn(()=>{var C3;c3&&window.clearInterval(c3),p3&&window.clearInterval(p3),N1(),(C3=$2==null?void 0:$2.off)==null||C3.call($2,"#large-screen"),Q0(),S3&&window.clearTimeout(S3),I3&&window.cancelAnimationFrame(I3),Ht.killTweensOf(a1)});function N3(){const C3=new Date,m2=B3=>String(B3).padStart(2,"0"),D2=["周日","周一","周二","周三","周四","周五","周六"];v2.value=`${C3.getFullYear()}.${m2(C3.getMonth()+1)}.${m2(C3.getDate())} ${D2[C3.getDay()]}`,A2.value=`${m2(C3.getHours())}:${m2(C3.getMinutes())}:${m2(C3.getSeconds())}`}function _3(){return k3(this,null,function*(){try{_2.value=yield bJ(),q2.value=!0,K2.value=!1}catch(C3){q2.value=!1,console.warn("[platform] weather unavailable",C3)}})}function o1(){K2.value=!0}function w1(C3,m2={}){const D2=P3(C3);if(D2==="yak-management"&&!m2.fromRoute&&(o.value="structure"),D2===i.value){w3(D2);return}const B3=!!s.value[D2];i.value=D2,B3||f1(D2),w3(D2),q0(T0)}function U1(C3){if(C3!=null&&C3.key){if(i.value==="ecological-protection"){O(C3.key);return}w1(C3.key)}}function O(C3){const m2=Ys.some(D2=>D2.key===C3)?C3:"ecological-redline";m2===r.value&&i.value==="ecological-protection"||(r.value=m2,i.value==="ecological-protection"&&w3("ecological-protection"),q0(T0))}function v3(C3){const m2=H3(C3);m2!==o.value&&(o.value=m2,i.value==="yak-management"&&w3("yak-management"))}V0(()=>[e.query.module,e.query.view],([C3,m2])=>{const D2=P3(C3);D2==="ecological-protection"&&(r.value=j3(m2)),D2==="yak-management"&&(o.value=H3(m2)),D2!==i.value&&w1(D2,{fromRoute:!0})});function w3(C3=i.value){const m2=J2(L2({},e.query),{module:C3});C3==="yak-management"?m2.view=o.value:C3==="ecological-protection"?m2.view=r.value:delete m2.view;const D2=e.query||{},B3=String(D2.module||"")===String(m2.module||"")&&String(D2.view||"")===String(m2.view||"");e.path==="/platform"&&B3||n.replace({path:"/platform",query:m2}).catch(()=>{})}function P3(C3){const m2=Array.isArray(C3)?C3[0]:C3;return ga.some(D2=>D2.key===m2)?m2:"home"}function H3(C3){const m2=Array.isArray(C3)?C3[0]:C3;return["structure","forecast","epidemic","trade"].includes(m2)?m2:"structure"}function j3(C3){const m2=Array.isArray(C3)?C3[0]:C3;return Ys.some(D2=>D2.key===m2)?m2:"ecological-redline"}function q3(C3){const m2=C3.moduleKey||(C3.topicKey?"forest-grass-wet":i.value);u.value=J2(L2({},u.value),{[m2]:q1(C3.items||[])})}function e0(C3={}){const m2=typeof C3=="number"?C3:C3.progress;Y2(m2)}function O2(){N1(),Ht.killTweensOf(a1),a1.progress=100,h.value=100;const C3=Date.now()-A3,m2=Math.max(180,eQ-C3);window.setTimeout(s3,m2)}function Y2(C3){if(!m.value)return;const m2=Math.max(0,Math.min(100,Math.floor(Number(C3)||0)));m2{h.value=Math.floor(a1.progress)}})}function s3(){if(!m.value||y3)return;N1(),y3=!0;const C3=Ht.timeline({onComplete:()=>{m.value=!1}});C3.to(".platform-loading .loading-text span",{y:"200%",opacity:0,ease:"power4.inOut",duration:1.4,stagger:.14}),C3.to(".platform-loading .loading-progress",{opacity:0,ease:"power4.inOut",duration:1.2},"<"),C3.to(".platform-loading",{opacity:0,ease:"power4.inOut",duration:.8},"-=0.55")}function G3(C3){return C1.has(C3)}function i1(C3){N1();const m2=C3==="home"?12e3:8e3;z3=window.setTimeout(()=>{!m.value||y3||(Ht.killTweensOf(a1),a1.progress=100,h.value=100,window.setTimeout(s3,120))},m2)}function N1(){z3&&(window.clearTimeout(z3),z3=null)}function q1(C3=[]){const m2=new Set;return C3.slice(0,10).map((D2,B3)=>{var u0;const m3=Number(D2.value)||0,W3={zh:D2.zh||D2.name||`指标${B3+1}`,en:D2.en||"",value:m3,unit:D2.unit||"",decimals:(u0=D2.decimals)!=null?u0:Number.isInteger(m3)?0:2},Q3=Y3(L2(L2({},D2),W3),B3,m2);return m2.add(Q3),L2({icon:Q3},W3)})}function Y3(C3={},m2=0,D2=new Set){const m3=r1(C3,m2).find(W3=>S1.has(W3)&&!D2.has(W3));return m3||y1.find(W3=>!D2.has(W3))||y1[m2%y1.length]}function r1(C3={},m2=0){const D2=`${C3.zh||C3.name||""}${C3.unit||""}`,B3=[],m3=(...Q3)=>{Q3.forEach(u0=>{u0&&!B3.includes(u0)&&B3.push(u0)})};m3(C3.icon),/风险|预警|告警/.test(D2)&&m3("risk","rate"),/模型|修正|共识|预测|变化|净/.test(D2)&&m3("rate","stack"),/率|占比|比例|超载/.test(D2)&&m3("rate","project"),/生态牧场|家庭生态/.test(D2)&&m3("leaf","town"),/出证|证书|证/.test(D2)&&m3("certificate","project"),/交易|销售/.test(D2)&&m3("yield","certificate"),/流通|出栏|流出/.test(D2)&&m3("length","certificate","project"),/运输|车辆|无人机|识别|设备|监测/.test(D2)&&m3("device","length"),/工程长度|长度|公里/.test(D2)&&m3("length","project"),/修复项目|项目|工程|治理/.test(D2)&&m3("project","length"),/国家公园|保护范围|保护区|划定/.test(D2)&&m3("park","leaf"),/产量|库容|鲜草|饲草|收入|产值|繁殖|补充/.test(D2)&&m3("yield","leaf"),/湿地/.test(D2)&&m3("wetland","leaf"),/基本草原/.test(D2)&&m3("grass-basic","area"),/一般草原/.test(D2)&&m3("grass-general","area"),/林地|森林|公益林/.test(D2)&&m3("forest","leaf"),/面积|草地|草原|草场|万亩|亩/.test(D2)&&m3("area","grass-basic","grass-general"),/牦牛|存栏|头|结构/.test(D2)&&m3("stack","yield","leaf"),/乡镇|镇域|村|点位|主体|牧户|农户|联户|户|个|覆盖/.test(D2)&&m3("town","project"),/生态|林草/.test(D2)&&m3("leaf","wetland");const W3=m2%y1.length;return m3(...y1.slice(W3),...y1.slice(0,W3)),B3}function K3(C3){["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(C3)&&(s.value[C3]||(s.value=J2(L2({},s.value),{[C3]:!0})))}function f1(C3){W1(),S3=window.setTimeout(()=>{S3=null,I3=window.requestAnimationFrame(()=>{I3=null,S3=null,i.value===C3&&K3(C3)})},180)}function W1(){S3&&(window.clearTimeout(S3),S3=null),I3&&(window.cancelAnimationFrame(I3),I3=null)}function T0(){window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0;const C3=document.querySelector("#app");C3&&(C3.scrollTop=0)}const O0=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];function D0(){return typeof document=="undefined"?null:document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null}function k0(){var D2;const C3=D0(),m2=p.value;p2.value=!!(m2&&C3&&(C3===m2||m2.contains(C3)||(D2=C3.contains)!=null&&D2.call(C3,m2)))}function ye(){typeof document!="undefined"&&O0.forEach(C3=>document.addEventListener(C3,k0))}function Q0(){typeof document!="undefined"&&O0.forEach(C3=>document.removeEventListener(C3,k0))}function Le(){var C3,m2;(m2=(C3=se())==null?void 0:C3.refreshMapView)==null||m2.call(C3)}function M0(){return k3(this,null,function*(){if(typeof document=="undefined")return;const C3=D0();try{if(C3){const m2=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen||document.msExitFullscreen;yield m2==null?void 0:m2.call(document)}else{const m2=p.value||document.documentElement,D2=m2.requestFullscreen||m2.webkitRequestFullscreen||m2.mozRequestFullScreen||m2.msRequestFullscreen;yield D2==null?void 0:D2.call(m2)}}catch(m2){console.warn("[platform] fullscreen toggle failed",m2)}finally{k0(),window.setTimeout(Le,80),window.setTimeout(Le,280)}})}function ve(){var C3,m2;(m2=(C3=se())==null?void 0:C3.resetMap)==null||m2.call(C3)}function se(){return l1.value.key==="home"?g.value:l1.value.key==="forest-grass-wet"?b.value:l1.value.key==="ecological-protection"?F.value:l1.value.key==="yak-management"?H.value:l1.value.key==="pasture-management"?K.value:l1.value.key==="yak-industry-chain"?e2.value:null}function R1(){KC()}return(C3,m2)=>(z(),Q("div",{ref_key:"platformScreenRef",ref:p,class:s1(["large-screen platform-screen",{"is-home":l1.value.key==="home","is-forest-grass-wet":l1.value.key==="forest-grass-wet","is-ecological-protection":l1.value.key==="ecological-protection","is-grass-livestock-balance":l1.value.key==="grass-livestock-balance","is-yak-management":l1.value.key==="yak-management","is-pasture-management":l1.value.key==="pasture-management","is-yak-industry-chain":l1.value.key==="yak-industry-chain","is-smart-management":l1.value.key==="smart-management","is-ecology-national-park":l1.value.key==="ecological-protection"&&a3.value==="national-park"}]),id:"large-screen"},[s.value.home?Oe((z(),Q("div",TJ,[d1(xI,{ref_key:"homeDashboardRef",ref:g,active:l1.value.key==="home",onLoadingProgress:e0,onMapReady:O2,onModuleStats:q3},null,8,["active"])],512)),[[c5,l1.value.key==="home"]]):L3("",!0),s.value["forest-grass-wet"]?Oe((z(),Q("div",CJ,[d1(xF,{ref_key:"forestGrassWetRef",ref:b,active:l1.value.key==="forest-grass-wet","show-loading":!1,onTopicStats:q3},null,8,["active"])],512)),[[c5,l1.value.key==="forest-grass-wet"]]):L3("",!0),s.value["ecological-protection"]?Oe((z(),Q("div",AJ,[d1(rz,{ref_key:"ecologicalProtectionRef",ref:F,active:l1.value.key==="ecological-protection","active-view":r.value,"show-loading":!1,onModuleStats:q3,onViewChange:O},null,8,["active","active-view"])],512)),[[c5,l1.value.key==="ecological-protection"]]):L3("",!0),s.value["grass-livestock-balance"]?Oe((z(),Q("div",xJ,[d1(nY,{active:l1.value.key==="grass-livestock-balance",onLoadingProgress:e0,onMapReady:O2,onModuleStats:q3},null,8,["active"])],512)),[[c5,l1.value.key==="grass-livestock-balance"]]):L3("",!0),s.value["yak-management"]?Oe((z(),Q("div",_J,[d1(VW,{ref_key:"yakManagementRef",ref:H,active:l1.value.key==="yak-management","view-key":o.value,onModuleStats:q3,onViewChange:v3},null,8,["active","view-key"])],512)),[[c5,l1.value.key==="yak-management"]]):L3("",!0),s.value["pasture-management"]?Oe((z(),Q("div",MJ,[d1(gV,{ref_key:"pastureManagementRef",ref:K,active:l1.value.key==="pasture-management",onLoadingProgress:e0,onMapReady:O2,onModuleStats:q3},null,8,["active"])],512)),[[c5,l1.value.key==="pasture-management"]]):L3("",!0),s.value["yak-industry-chain"]?Oe((z(),Q("div",PJ,[d1(pK,{ref_key:"yakIndustryChainRef",ref:e2,active:l1.value.key==="yak-industry-chain",onLoadingProgress:e0,onMapReady:O2,onModuleStats:q3},null,8,["active"])],512)),[[c5,l1.value.key==="yak-industry-chain"]]):L3("",!0),s.value["smart-management"]?Oe((z(),Q("div",kJ,[d1(hJ,{active:l1.value.key==="smart-management"},null,8,["active"])],512)),[[c5,l1.value.key==="smart-management"]]):L3("",!0),S("div",EJ,[d1(ax,{title:"红原县数字畜牧业监管平台","sub-text":"Hongyuan Digital Animal Husbandry Supervision Platform"},{right:f0(()=>[S("div",NJ,[S("div",{class:s1(["platform-weather",{"is-unavailable":!q2.value}])},[t0.value?(z(),Q("img",{key:0,class:"platform-weather__icon",src:E1.value,alt:_2.value.condition||"天气",onError:o1},null,40,RJ)):(z(),Q("span",LJ)),S("div",IJ,[S("div",FJ,[S("strong",null,c2(q2.value?_2.value.condition||"实时天气":"天气暂无数据"),1),q2.value?(z(),Q("em",BJ,c2(_2.value.temperature)+"℃",1)):L3("",!0)]),o0.value||G1.value?(z(),Q("small",DJ,[o0.value?(z(),Q("span",GJ,"湿度 "+c2(_2.value.humidity)+"%",1)):L3("",!0),o0.value&&G1.value?(z(),Q("i",UJ)):L3("",!0),G1.value?(z(),Q("span",OJ,c2(G1.value),1)):L3("",!0)])):L3("",!0)])],2),S("div",jJ,[S("strong",null,c2(A2.value),1),S("span",null,c2(v2.value),1)]),S("button",{class:"logout-button","aria-label":"退出登录",title:"退出登录",type:"button",onClick:R1},[...m2[0]||(m2[0]=[S("svg",{class:"logout-icon",viewBox:"0 0 24 24","aria-hidden":"true"},[S("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),S("path",{d:"M16 17l5-5-5-5"}),S("path",{d:"M21 12H9"})],-1)])])])]),_:1}),S("div",zJ,[d1(rx,{"default-active":i.value,onSelect:w1},{default:f0(()=>[(z(!0),Q(O3,null,X3(k1(ga),(D2,B3)=>(z(),Q(O3,{key:D2.key},[d1(ox,{index:D2.key},{default:f0(()=>[oe(c2(D2.label),1)]),_:2},1032,["index"]),B3===3?(z(),Q("div",YJ)):L3("",!0)],64))),128))]),_:1},8,["default-active"])]),F2.value.length&&!["smart-management","grass-livestock-balance"].includes(l1.value.key)?(z(),Q("div",{key:0,class:s1(["top-count-card",{"is-four":F2.value.length>3&&F2.value.length<=4,"is-multi":F2.value.length>4,"is-count-five":F2.value.length===5,"is-home-five":F3.value}])},[(z(!0),Q(O3,null,X3(F2.value,D2=>(z(),he(gx,{key:D2.zh,info:D2},null,8,["info"]))),128))],2)):L3("",!0),d3.value?(z(),Q("div",$J,[S("button",{type:"button",title:Q1.value,"aria-label":Q1.value,onClick:M0},[...m2[1]||(m2[1]=[S("span",{class:"platform-map-tool-icon is-fullscreen","aria-hidden":"true"},null,-1)])],8,WJ),S("button",{type:"button",title:"复位地图","aria-label":"复位地图",onClick:ve},[...m2[2]||(m2[2]=[S("span",{class:"platform-map-tool-icon is-reset","aria-hidden":"true"},null,-1)])])])):L3("",!0),l1.value.status!=="ready"?(z(),Q("div",VJ,[S("div",HJ,c2(l1.value.label),1),m2[3]||(m2[3]=S("div",{class:"module-coming-text"},"模块建设中,平台框架已预留入口",-1))])):L3("",!0),["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(l1.value.key)?L3("",!0):(z(),Q("div",KJ,[d1(Qi,{class:"bottom-svg-line-left",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),d1(Qi,{class:"bottom-svg-line-left bottom-svg-line-right",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),m2[4]||(m2[4]=S("div",{class:"bottom-tray-arrow"},[S("img",{src:qi,alt:""}),S("img",{src:Ji,alt:""})],-1)),S("div",qJ,[(z(!0),Q(O3,null,X3(U3.value,D2=>(z(),Q("div",{key:D2.key,class:s1(["bottom-menu-item",{"is-active":D2.key===a3.value}]),onClick:B3=>U1(D2)},[S("span",null,c2(D2.bottomLabel),1)],10,JJ))),128))]),m2[5]||(m2[5]=S("div",{class:"bottom-tray-arrow is-reverse"},[S("img",{src:qi,alt:""}),S("img",{src:Ji,alt:""})],-1))])),m2[6]||(m2[6]=S("div",{class:"large-screen-left-zsline"},null,-1)),m2[7]||(m2[7]=S("div",{class:"large-screen-right-zsline"},null,-1))]),m.value?(z(),Q("div",QJ,[m2[9]||(m2[9]=ya('
    LOADING
    ',1)),S("div",XJ,[S("span",ZJ,c2(h.value),1),m2[8]||(m2[8]=S("span",{class:"unit"},"%",-1))])])):L3("",!0)],2))}};export{iQ as default}; diff --git a/docs/assets/index-8d752fbe-balabala-1783905032331.css b/docs/assets/index-8d752fbe-balabala-1783957353180.css similarity index 100% rename from docs/assets/index-8d752fbe-balabala-1783905032331.css rename to docs/assets/index-8d752fbe-balabala-1783957353180.css diff --git a/docs/assets/index-b410abf2-1783957353180.js b/docs/assets/index-b410abf2-1783957353180.js new file mode 100644 index 0000000..47f33e8 --- /dev/null +++ b/docs/assets/index-b410abf2-1783957353180.js @@ -0,0 +1,2 @@ +import{b6 as $,b7 as Q,b8 as U,b9 as x,aI as h,b5 as l,aJ as b,ba as z,bb as X,bc as Y,bd as ee,be as p,bf as te,aK as ae,aE as ne,aF as le}from"./chartTheme-1b75dfa1-1783957353180.js";import{_ as oe,o as i,c as s,a as t,F as u,k as g,u as B,l as m,b as L,v as O,n as F,m as re,g as N,t as r,q as y}from"./index-1783957353180.js";const ie={class:"chart-guide-screen"},se={class:"guide-header"},ue={class:"guide-palette","aria-label":"系统图表色板"},ce={class:"guide-layout"},de={class:"guide-chart-grid","aria-label":"系统图表示例"},ge={class:"guide-three-pie-visual"},me={class:"guide-three-pie-center"},pe={class:"guide-three-pie-legend"},he={class:"guide-band"},be={class:"guide-band-list"},ve={class:"guide-warning-core"},ye={class:"guide-warning-list"},fe={__name:"index",setup(ke){const P=l,f={standard:{width:398,height:190,label:"398x190"},tall:{width:398,height:392,label:"398x392"}},R=["瓦切镇","安曲镇","邛溪镇","龙日镇","刷经寺镇","麦洼乡","查尔玛乡"],W=[{name:"瓦切镇",value:74721},{name:"安曲镇",value:65780},{name:"邛溪镇",value:63466},{name:"龙日镇",value:54691},{name:"刷经寺镇",value:45940},{name:"麦洼乡",value:38202},{name:"查尔玛乡",value:31766}],G=["草地","湿地","林地","牧场","保护地"],k=["1月","2月","3月","4月","5月","6月","7月","8月"],A=[{key:"bar-vertical",title:"林草湿资源面积",unit:"单位:万亩",option:$({categories:G,rows:[{name:"草地",value:486.2},{name:"湿地",value:82.4},{name:"林地",value:126.8},{name:"牧场",value:58.6},{name:"保护地",value:214.5}],unit:"万亩",name:"资源面积",showLabel:!1,grid:{left:40,right:16,top:18,bottom:34}})},{key:"bar-horizontal",title:"乡镇牦牛存栏排行",unit:"单位:头",option:$({categories:R.slice(0,5),rows:W.slice(0,5),unit:"头",name:"牦牛存栏",orientation:"horizontal",colorIndex:1,grid:{left:58,right:54,top:16,bottom:18}})},{key:"grouped-bar",title:"林草湿年度对比",unit:"单位:万亩",option:Q({categories:["2021","2022","2023","2024","2025"],unit:"万亩",series:[{name:"草地",values:[472,476,481,486,489]},{name:"湿地",values:[76,79,81,82,84]},{name:"林地",values:[119,121,124,127,130]}],grid:{left:38,right:14,top:34,bottom:32}})},{key:"stacked-bar",title:"草地利用结构",unit:"单位:万亩",option:U({categories:["瓦切","安曲","邛溪","龙日","刷经寺"],unit:"万亩",series:[{name:"可利用草地",values:[66,52,48,44,38]},{name:"禁牧草地",values:[18,21,16,13,12]},{name:"退化治理",values:[9,7,8,6,5]}],grid:{left:38,right:14,top:34,bottom:32}})},{key:"line-trend",title:"牦牛存栏趋势",unit:"单位:万头",option:x({categories:k,unit:"万头",series:[{name:"2025年",values:[45.2,45.8,46.4,47.1,48.3,49.1,49.8,50.2]},{name:"2024年",values:[42.9,43.5,44.2,44.8,45.9,46.5,47.1,47.7]}],grid:{left:38,right:14,top:34,bottom:30}})},{key:"area-line",title:"草地产草量走势",unit:"单位:万吨",option:x({categories:k,unit:"万吨",area:!0,series:[{name:"鲜草产量",values:[12.4,14.1,19.8,28.6,36.2,43.5,46.8,41.2]}],grid:{left:38,right:14,top:34,bottom:30}})},{key:"three-pie",title:"草牧资源结构",unit:"3D饼图",visual:"three-pie"},{key:"donut",title:"湿地类型结构",unit:"单位:%",option:M({unit:"万亩",name:"湿地结构",rows:[{name:"沼泽湿地",value:36.8},{name:"河流湿地",value:21.3},{name:"湖泊湿地",value:14.6},{name:"人工湿地",value:9.7}]})},{key:"rose",title:"林地类型占比",unit:"单位:%",option:E()},{key:"pictorial-column",title:"乡镇草地光柱",unit:"单位:万亩",option:q()},{key:"gauge",title:"草畜平衡预警",unit:"单位:分",option:J()},{key:"progress-ring",title:"治理任务完成率",unit:"单位:%",option:K()},{key:"structure-band",title:"资源结构占比",unit:"单位:%",visual:"structure-band"},{key:"rank-list",title:"重点对象排行",unit:"单位:项",visual:"rank-list"},{key:"warning-band",title:"风险状态分布",unit:"单位:项",visual:"warning-band"},{key:"target-stack",title:"年度目标达成",unit:"单位:%",visual:"target-stack"}],w=["#17E6C3","#40CFFF","#1979FF","#FFC472"],v=[{name:"草地",value:486.2,unit:"万亩"},{name:"湿地",value:82.4,unit:"万亩"},{name:"林地",value:126.8,unit:"万亩"},{name:"保护地",value:214.5,unit:"万亩"}],_=[{name:"草地",percent:52,color:l[0]},{name:"林地",percent:24,color:l[1]},{name:"湿地",percent:14,color:l[2]},{name:"保护地",percent:10,color:l[3]}],V=[{name:"瓦切镇",value:"74,721",percent:100},{name:"安曲镇",value:"65,780",percent:88},{name:"邛溪镇",value:"63,466",percent:85},{name:"龙日镇",value:"54,691",percent:73}],S={name:"中低风险占比",value:"86%"},T=[{name:"正常",value:"128",percent:100,color:l[0]},{name:"关注",value:"36",percent:45,color:l[2]},{name:"预警",value:"12",percent:18,color:l[4]}],D=[{name:"草地修复",percent:92,color:l[0]},{name:"湿地巡护",percent:86,color:l[1]},{name:"林地管护",percent:78,color:l[2]},{name:"风险处置",percent:94,color:l[3]}];function H(o){return`C${String(o+1).padStart(2,"0")}`}function C(o){return f[o.size||"standard"]||f.standard}function I(o={}){const n=v.reduce((c,e)=>c+(Number(e.value)||0),0)||1;return`${((Number(o.value)||0)/n*100).toFixed(1)}%`}function M({rows:o=[],unit:n="",name:a="结构占比"}={}){const c=o.reduce((e,d)=>e+(Number(d.value)||0),0)||1;return h({color:l,tooltip:b(e=>`${e.marker}${e.name}:${p(e.value)}${n}
    占比:${p(e.percent)}%`),legend:z({orient:"vertical",right:12,top:"middle",itemWidth:8,itemHeight:8,itemGap:8,formatter:e=>{const d=o.find(j=>j.name===e),Z=d?Math.round((Number(d.value)||0)/c*100):0;return`${e} ${Z}%`}}),series:[{name:a,type:"pie",radius:["48%","68%"],center:["34%","52%"],avoidLabelOverlap:!0,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.94)",borderWidth:3},data:o.map((e,d)=>({name:e.name,value:Number(e.value)||0,itemStyle:{color:e.color||l[d%l.length]}}))}]})}function E(){const o=[{name:"乔木林地",value:42.6},{name:"灌木林地",value:35.2},{name:"疏林地",value:18.4},{name:"未成林地",value:8.7}];return h({color:l,tooltip:b(n=>`${n.marker}${n.name}:${p(n.value)}万亩
    占比:${p(n.percent)}%`),legend:z({orient:"vertical",right:8,top:"middle",itemWidth:8,itemHeight:8,itemGap:7}),series:[{name:"林地类型",type:"pie",roseType:"radius",radius:[14,"64%"],center:["34%","54%"],avoidLabelOverlap:!0,itemStyle:{borderColor:"rgba(3, 18, 31, 0.94)",borderWidth:3,shadowBlur:10,shadowColor:"rgba(0, 0, 0, 0.25)"},label:{color:"#f7feff",fontSize:10,formatter:({percent:n})=>n>=8?`${Math.round(n)}%`:""},labelLine:{length:7,length2:6,lineStyle:{color:"rgba(223, 250, 255, 0.38)"}},data:o}]})}function q(){const o=["瓦切","安曲","邛溪","龙日","刷经寺"],n=[486,372,318,246,205],a=520;return h({color:l,grid:X({left:40,right:18,top:22,bottom:34}),tooltip:b(c=>`${c.name}:${p(c.value)}万亩`,{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{color:"rgba(48, 220, 255, 0.08)"}}}),xAxis:Y(o),yAxis:ee(),series:[{name:"底柱",type:"bar",barWidth:24,barGap:"-100%",data:n.map(()=>a),tooltip:{show:!1},silent:!0,itemStyle:{borderRadius:[8,8,0,0],borderColor:"rgba(48, 220, 255, 0.2)",borderWidth:1,color:"rgba(48, 220, 255, 0.08)"}},{name:"草地面积",type:"bar",barWidth:13,barGap:"-76%",z:3,data:n,label:{show:!0,position:"top",color:"#ffffff",fontSize:10,formatter:({value:c})=>p(c)},itemStyle:{borderRadius:[8,8,1,1],color:te(l[0]),shadowBlur:10,shadowColor:"rgba(36, 246, 196, 0.28)"}},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[21,6],symbolOffset:[0,-4],symbolPosition:"end",z:5,tooltip:{show:!1},data:n,itemStyle:{color:"rgba(232, 255, 255, 0.9)",shadowBlur:9,shadowColor:"rgba(48, 220, 255, 0.7)"}}]})}function J(){return h({series:[{type:"gauge",startAngle:210,endAngle:-30,min:0,max:100,radius:"88%",center:["50%","58%"],progress:{show:!0,width:12,itemStyle:{color:l[2]}},axisLine:{lineStyle:{width:12,color:[[.55,"rgba(36, 246, 196, 0.42)"],[.8,"rgba(255, 224, 107, 0.42)"],[1,"rgba(255, 154, 98, 0.42)"]]}},axisTick:{show:!1},splitLine:{length:7,lineStyle:{color:"rgba(225, 249, 255, 0.36)",width:1}},axisLabel:{show:!1},pointer:{icon:"path://M4 0 L-4 0 L0 -62 Z",width:8,length:"56%",itemStyle:{color:"#ffe06b",shadowBlur:8,shadowColor:"rgba(255, 224, 107, 0.45)"}},anchor:{show:!0,size:7,itemStyle:{color:"#ffe06b"}},title:{offsetCenter:[0,"52%"],color:"rgba(225, 249, 255, 0.7)",fontSize:12},detail:{valueAnimation:!0,offsetCenter:[0,"26%"],color:"#ffe06b",fontSize:27,fontWeight:700,formatter:"{value}"},data:[{value:78,name:"中度预警"}]}]})}function K(){return h({tooltip:b(o=>`${o.marker}${o.name}:${o.value}%`),series:[{type:"pie",radius:["62%","76%"],center:["50%","52%"],silent:!0,label:{show:!1},data:[{name:"已完成",value:72,itemStyle:{color:l[0]}},{name:"未完成",value:28,itemStyle:{color:"rgba(48, 220, 255, .12)"}}]},{type:"pie",radius:["42%","46%"],center:["50%","52%"],silent:!0,label:{position:"center",formatter:`72% +完成`,color:"#ffe06b",fontSize:22,lineHeight:30,fontWeight:700},data:[{value:1,itemStyle:{color:"rgba(255, 224, 107, .28)"}}]}]})}return(o,n)=>(i(),s("div",ie,[n[1]||(n[1]=t("div",{class:"guide-bg guide-bg-grid"},null,-1)),n[2]||(n[2]=t("div",{class:"guide-bg guide-bg-glow"},null,-1)),t("header",se,[n[0]||(n[0]=t("div",null,[t("div",{class:"guide-kicker"},"Chart Style System"),t("h1",null,"图表样式规范")],-1)),t("div",ue,[(i(!0),s(u,null,g(B(P),a=>(i(),s("span",{key:a,style:m({background:a})},null,4))),128))])]),t("main",ce,[t("section",de,[(i(),s(u,null,g(A,(a,c)=>L(le,{key:a.key,class:F(["guide-chart-card",`is-${a.size||"standard"}`]),width:C(a).width,height:C(a).height,title:`${H(c)} ${a.title}`,"data-unit":a.unit},{default:O(()=>[t("div",{class:F(["guide-card-content",a.visual?`is-${a.visual}`:""])},[a.option?(i(),re(B(ae),{key:0,class:"guide-chart",option:a.option,autoresize:""},null,8,["option"])):N("",!0),a.visual==="three-pie"?(i(),s(u,{key:1},[t("div",ge,[L(ne,{data:v,colors:w,delay:3e3,opacity:.62,class:"guide-three-pie"},{default:O(({data:e})=>[t("div",me,[t("strong",null,r(I(e)),1),t("span",null,r((e==null?void 0:e.name)||"结构占比"),1)])]),_:1})]),t("div",pe,[(i(),s(u,null,g(v,(e,d)=>t("div",{key:e.name},[t("i",{style:m({borderColor:w[d]})},null,4),t("span",null,r(e.name),1),t("strong",null,[y(r(e.value),1),t("em",null,r(e.unit),1)])])),64))])],64)):a.visual==="structure-band"?(i(),s(u,{key:2},[t("div",he,[(i(),s(u,null,g(_,e=>t("i",{key:e.name,style:m({width:`${e.percent}%`,background:e.color})},null,4)),64))]),t("div",be,[(i(),s(u,null,g(_,e=>t("div",{key:e.name},[t("span",null,[t("i",{style:m({background:e.color})},null,4),y(r(e.name),1)]),t("strong",null,r(e.percent)+"%",1)])),64))])],64)):a.visual==="rank-list"?(i(),s(u,{key:3},g(V,(e,d)=>t("div",{key:e.name,class:"guide-rank-row"},[t("span",null,r(d+1),1),t("em",null,r(e.name),1),t("i",null,[t("b",{style:m({width:`${e.percent}%`})},null,4)]),t("strong",null,r(e.value),1)])),64)):a.visual==="warning-band"?(i(),s(u,{key:4},[t("div",ve,[t("strong",null,r(S.value),1),t("span",null,r(S.name),1)]),t("div",ye,[(i(),s(u,null,g(T,e=>t("div",{key:e.name},[t("span",null,[t("i",{style:m({background:e.color})},null,4),y(r(e.name),1)]),t("em",null,r(e.value),1),t("b",null,[t("i",{style:m({width:`${e.percent}%`,background:e.color})},null,4)])])),64))])],64)):a.visual==="target-stack"?(i(),s(u,{key:5},g(D,e=>t("div",{key:e.name,class:"guide-target-row"},[t("span",null,r(e.name),1),t("b",null,[t("i",{style:m({width:`${e.percent}%`,background:e.color})},null,4)]),t("strong",null,r(e.percent)+"%",1)])),64)):N("",!0)],2)]),_:2},1032,["class","width","height","title","data-unit"])),64))])])]))}},Se=oe(fe,[["__scopeId","data-v-1d923a5c"]]);export{Se as default}; diff --git a/docs/assets/index-ca1a1f57-1783905032331.js b/docs/assets/index-ca1a1f57-1783905032331.js deleted file mode 100644 index a38bb3f..0000000 --- a/docs/assets/index-ca1a1f57-1783905032331.js +++ /dev/null @@ -1,17858 +0,0 @@ -var _C=Object.defineProperty,xC=Object.defineProperties;var MC=Object.getOwnPropertyDescriptors;var Ya=Object.getOwnPropertySymbols;var Dd=Object.prototype.hasOwnProperty,Gd=Object.prototype.propertyIsEnumerable;var ns=(t,e)=>{if(e=Symbol[t])return e;throw Error("Symbol."+t+" is not defined")},N6=Math.pow,as=(t,e,n)=>e in t?_C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,B2=(t,e)=>{for(var n in e||(e={}))Dd.call(e,n)&&as(t,n,e[n]);if(Ya)for(var n of Ya(e))Gd.call(e,n)&&as(t,n,e[n]);return t},Z2=(t,e)=>xC(t,MC(e));var F9=(t,e)=>{var n={};for(var a in t)Dd.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(t!=null&&Ya)for(var a of Ya(t))e.indexOf(a)<0&&Gd.call(t,a)&&(n[a]=t[a]);return n};var p0=(t,e,n)=>(as(t,typeof e!="symbol"?e+"":e,n),n);var P3=(t,e,n)=>new Promise((a,i)=>{var r=u=>{try{s(n.next(u))}catch(m){i(m)}},o=u=>{try{s(n.throw(u))}catch(m){i(m)}},s=u=>u.done?a(u.value):Promise.resolve(u.value).then(r,o);s((n=n.apply(t,e)).next())}),PC=function(t,e){this[0]=t,this[1]=e};var Ud=t=>{var e=t[ns("asyncIterator")],n=!1,a,i={};return e==null?(e=t[ns("iterator")](),a=r=>i[r]=o=>e[r](o)):(e=e.call(t),a=r=>i[r]=o=>{if(n){if(n=!1,r==="throw")throw o;return o}return n=!0,{done:!1,value:new PC(new Promise(s=>{var u=e[r](o);if(!(u instanceof Object))throw TypeError("Object expected");s(u)}),1)}}),i[ns("iterator")]=()=>i,a("next"),"throw"in e?a("throw"):i.throw=r=>{throw r},"return"in e&&a("return"),i};import{_ as S7,o as G,c as z,a as w,t as i2,r as Ri,b as l1,d as Q2,w as N0,p as Od,i as jd,n as r1,u as k1,e as s2,f as hn,g as k3,h as zd,j as mn,s as Em,k as O0,F as B3,l as H3,m as z1,q as J0,v as z0,x as e0,y as _0,z as he,A as B6,B as xt,T as kC,L as Ce,C as n7,D as I6,E as C4,G as EC,H as NC,I as RC,J as LC,K as IC}from"./index-1783905032331.js";import{C as FC,T as BC,a as qs,b as Nm,B as zn,c as $n,L as Yl,d as W4,F as a7,e as Ae,f as y6,S as DC,P as Rm,D as Lm,M as V0,g as Wt,h as $6,V as Ee,i as t9,j as t0,I as GC,k as UC,O as w7,l as Im,m as OC,n as jC,o as X5,p as Fm,R as Ot,q as hr,r as is,s as s5,t as J9,u as ze,v as zC,w as YC,x as ye,y as $C,z as Js,A as Li,E as $l,G as ae,H as Bm,J as Dm,K as Gm,N as WC,Q as VC,U as HC,W as Um,X as Yd,Y as Wl,Z as Qs,_ as KC,$ as qC,a0 as JC,a1 as i7,a2 as QC,a3 as XC,a4 as ZC,a5 as J5,a6 as $d,a7 as Wd,a8 as Vd,a9 as Hd,aa as mr,ab as Vl,ac as eA,ad as tA,ae as nA,af as aA,ag as rs,ah as iA,ai as rA,aj as oA,ak as sA,al as r7,am as Hl,an as F6,ao as qe,ap as Ii,aq as lA,ar as uA,as as Xs,at as Zs,au as cA,av as vi,aw as Om,ax as Si,ay as dA,az as pr,aA as fA,aB as jm,aC as zm,aD as hA,aE as mA,aF as Yt,aG as pA,aH as os,aI as B9,aJ as D9,aK as gA,aL as yA,aM as vA,aN as SA,aO as wA,aP as D6,aQ as Ym,aR as l0,aS as Vt,aT as _8,aU as W9,aV as wi,aW as ue,aX as n9,aY as ss,aZ as Kd,a_ as qd,a$ as Jd,b0 as bA,b1 as TA,b2 as CA,b3 as AA,b4 as Qd,b5 as ls}from"./chartTheme-798f6f49-1783905032331.js";const Fi=""+new URL("bottom-menu-arrow-big-180b7071-balabala-1783905032331.svg",import.meta.url).href,Bi=""+new URL("bottom-menu-arrow-small-19304179-balabala-1783905032331.svg",import.meta.url).href;/** - * @name: autofit.js - * @author: Larry Zhu - * @version: 3.2.8 - * @description: autofit.js 是迄今为止最易用的自适应工具 - * @license: MIT - */let us=null,o7="",el="",tl="",cs=null,Xd=null,Je=1,i8=!1;const gr={isAutofitRunning:!1,init(t={},e=!0){e&&console.log("autofit.js is running");const{dw:n=1920,dh:a=1080,el:i=typeof t=="string"?t:"body",resize:r=!0,ignore:o=[],transition:s="none",delay:u=0,limit:m=.1,cssMode:h="scale",allowScroll:p=!1}=t;us=i;const g=document.querySelector(i);if(!g){console.error(`autofit: '${i}' is not exist`);return}const C=document.createElement("style"),I=document.createElement("style");C.lang="text/css",I.lang="text/css",C.id="autofit-style",I.id="ignoreStyle",!p&&(C.innerHTML="body {overflow: hidden;}");const U=document.querySelector("body");U.appendChild(C),U.appendChild(I),g.style.height=`${a}px`,g.style.width=`${n}px`,g.style.transformOrigin="0 0",!p&&(g.style.overflow="hidden"),ds(n,a,g,o,m,h),cs=()=>{clearTimeout(Xd),u!=0?Xd=setTimeout(()=>{ds(n,a,g,o,m,h),i8&&nl(o7,tl,el)},u):(ds(n,a,g,o,m,h),i8&&nl(o7,tl,el))},r&&window.addEventListener("resize",cs),this.isAutofitRunning=!0,setTimeout(()=>{g.style.transition=`${s}s`})},off(t="body"){try{window.removeEventListener("resize",cs);const e=document.querySelector("#autofit-style");e&&e.remove();const n=document.querySelector("#ignoreStyle");n&&n.remove();const a=document.querySelector(us||t);a&&(a.style.cssText=""),i8&&$m()}catch(e){console.error("autofit: Failed to remove normally",e)}this.isAutofitRunning=!1,console.log("autofit.js is off")},elRectification:null,scale:Je};function nl(t,e=!0,n=1){if(!gr.isAutofitRunning){console.error("autofit.js:(elRectification): autofit has not been initialized yet");return}$m(),!t&&console.error(`autofit.js:elRectification bad selector: ${t}`),o7=t,el=n,tl=e;const a=Array.from(document.querySelectorAll(t));if(a.length==0){console.error(`autofit.js:elRectification found no element by selector: "${t}"`);return}for(const i of a){const r=Je==1?1:Number(Je)*Number(n);i8||(i.originalWidth=i.clientWidth,i.originalHeight=i.clientHeight),e?(i.style.width=`${i.originalWidth*r}px`,i.style.height=`${i.originalHeight*r}px`):(i.style.width=`${100*r}%`,i.style.height=`${100*r}%`),i.style.transform=`translateZ(0) scale(${1/Number(Je)})`,i.style.transformOrigin="0 0"}i8=!0}function $m(){if(o7){i8=!1;for(const t of Array.from(document.querySelectorAll(o7)))t.style.width="",t.style.height="",t.style.transform=""}}function ds(t,e,n,a,i,r="scale"){const o=document.documentElement.clientHeight,s=document.documentElement.clientWidth;Je=s/oi?Je:1,gr.scale=+Je;const u=Math.round(o/Number(Je)),m=Math.round(s/Number(Je));n.style.height=`${u}px`,n.style.width=`${m}px`,r==="zoom"?n.style.zoom=`${Je}`:n.style.transform=`translateZ(0) scale(${Je})`;const h=document.querySelector("#ignoreStyle");h.innerHTML="";for(const p of a){const g=p;let C=g.el||g.dom;if(typeof g=="string"&&(C=g),!C||typeof C=="object"&&!Object.keys(C).length){console.error(`autofit: found invalid or empty selector/object: ${C}`);continue}const I=g.scale?g.scale:1/Number(Je),U=I!=Je&&g.fontSize,j=I!=Je&&g.width,l2=I!=Je&&g.height;h.innerHTML+=` -${C} { - transform: scale(${I})!important; - transform-origin: 0 0; - ${j?`width: ${j}!important;`:""} - ${l2?`height: ${l2}!important;`:""} - }`,U&&(h.innerHTML+=` -${C} div ,${C} span,${C} a,${C} * { - font-size: ${U}px; - }`)}}gr.elRectification=nl;const _A={name:"SvglineAnimation",props:{width:{type:Number,default:135},height:{type:Number,default:150},path:{type:String,default:"M0 72.5H682L732 0.5H3082"},color:{type:String,default:"#0091FF"},duration:{type:Number,default:3},length:{type:Number,default:100},begin:{type:Number,default:0},dir:{type:Array,default:()=>[0,1]},strokeWidth:{type:Number,default:4}},data(){let t=1;return{maskId:"svgline-"+t,radialGradientId:"radialGradient-"+t}},mounted(){let t=this._.uid;this.maskId="svgline-"+t,this.radialGradientId="radialGradient-"+t}},xA={class:"svg-line-animation"},MA=["viewBox"],PA=["id"],kA=["stop-opacity"],EA=["stop-opacity"],NA=["id"],RA=["r","fill"],LA=["begin","dur","path","keyPoints"],IA=["d","stroke","stroke-width","mask"];function FA(t,e,n,a,i,r){return G(),z("div",xA,[(G(),z("svg",{width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,fill:"none",xmlns:"http://www.w3.org/2000/svg"},[w("defs",null,[w("radialGradient",{id:i.radialGradientId,cx:"50%",cy:"50%",fx:"100%",fy:"50%",r:"50%"},[w("stop",{offset:"0%","stop-color":"#fff","stop-opacity":n.dir[1]},null,8,kA),w("stop",{offset:"100%","stop-color":"#fff","stop-opacity":n.dir[0]},null,8,EA)],8,PA),w("mask",{id:i.maskId},[w("circle",{r:n.length,cx:"0",cy:"0",fill:`url(#${i.radialGradientId})`},[w("animateMotion",{begin:`${n.begin}s`,dur:`${n.duration}s`,path:n.path,rotate:"auto",keyPoints:`${n.dir[0]};${n.dir[1]}`,keyTimes:"0;1",repeatCount:"indefinite"},null,8,LA)],8,RA)],8,NA)]),w("path",{class:"path-line",d:n.path,stroke:n.color,"stroke-width":n.strokeWidth,mask:`url(#${i.maskId})`},null,8,IA)],8,MA))])}const Di=S7(_A,[["render",FA]]);const BA={class:"m-header"},DA={class:"m-header-wrap"},GA={class:"m-header-title"},UA={class:"m-header-subtext"},OA={class:"m-header-left",style:{color:"#fff"}},jA={class:"m-header-right"},zA={class:"m-header-line"},YA={__name:"index",props:{title:{type:String,default:"红原县数字畜牧业监管平台"},subText:{type:String,default:"Hongyuan Digital Animal Husbandry Supervision Platform"}},setup(t){return(e,n)=>(G(),z("div",BA,[w("div",DA,[w("div",GA,i2(t.title),1),w("div",UA,i2(t.subText),1)]),w("div",OA,[Ri(e.$slots,"left")]),w("div",jA,[Ri(e.$slots,"right")]),w("div",zA,[l1(Di,{class:"m-header-line-left",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"}),l1(Di,{class:"m-header-line-right",width:961,height:79,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:100,path:"M1 1.52783L535 25.6808C552.73 26.5835 571.454 31.3851 588.834 39.2194C593.758 41.4385 598.692 43.7289 603.643 46.0273C633.567 59.9182 664.121 74.1016 696.754 74.6262C696.765 74.6264 696.775 74.6265 696.786 74.6267C821.602 76.5993 879.336 78 961 78"})])]))}};const $A={class:"m-menu"},WA={__name:"index",props:{defaultActive:{type:[String,Number],default:""}},emits:["select"],setup(t,{emit:e}){const n=e,a=t,i=Q2(a.defaultActive);return Od("updateActive",o=>{o!==i.value&&(i.value=o,n("select",o))}),Od("activeIndex",i),N0(()=>a.defaultActive,o=>{o!==i.value&&(i.value=o)}),(o,s)=>(G(),z("div",$A,[Ri(o.$slots,"default")]))}},VA={__name:"index",props:{index:{type:[String,Number],required:!0}},setup(t){const e=t,n=jd("updateActive"),a=jd("activeIndex"),i=()=>{n(e.index)};return(r,o)=>(G(),z("div",{class:r1(["m-menu-item",{"is-active":t.index===k1(a)}]),onClick:i},[Ri(r.$slots,"default")],2))}};let Zd=0;const ef="webkit moz ms o".split(" ");let u6,c6;const HA=typeof window=="undefined";if(HA)u6=function(){},c6=function(){};else{u6=window.requestAnimationFrame,c6=window.cancelAnimationFrame;let t;for(let e=0;e{e(n+a)},a);return Zd=n+a,i},c6=function(e){window.clearTimeout(e)})}const KA={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator(t){return t>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default(t,e,n,a){return n*(-Math.pow(2,-10*t/a)+1)*1024/1023+e}}},data(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown(){return this.startVal>this.endVal}},watch:{startVal(){this.autoplay&&this.start()},endVal(){this.autoplay&&this.start()}},mounted(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=u6(this.count)},pauseResume(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause(){c6(this.rAF)},resume(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,u6(this.count)},reset(){this.startTime=null,c6(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count(t){this.startTime||(this.startTime=t),this.timestamp=t;const e=t-this.startTime;this.remaining=this.localDuration-e,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(e,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(e,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(e/this.localDuration):this.printVal=this.localStartVal+(this.endVal-this.localStartVal)*(e/this.localDuration),this.countDown?this.printVal=this.printValthis.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),e1?this.decimal+e[1]:"",i=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;i.test(n);)n=n.replace(i,"$1"+this.separator+"$2");return this.prefix+n+a+this.suffix}},destroyed(){c6(this.rAF)}};function qA(t,e,n,a,i,r){return G(),z("span",null,i2(i.displayValue),1)}const Wm=S7(KA,[["render",qA]]);typeof window!="undefined"&&window.Vue&&window.Vue.component("count-to",Wm);const JA={class:"count-card-left"},QA={class:"count-card-title"},XA={class:"title-zh"},ZA={key:0,class:"title-en"},e_={class:"count-card-right"},t_={class:"unit"},n_={__name:"index",props:{info:{type:Object,default:()=>({icon:"xiaoshoujine",zh:"2023年销售金额",en:"Sales amount in 2023",value:9500,unit:"万元",decimals:0})}},setup(t){const e=t,n=Q2(!0),a=Q2(!1),i=Q2(0);let r=null;const o=s2(()=>e.info.duration||1800);N0(()=>[e.info.value,e.info.zh],()=>{r&&window.clearTimeout(r),n.value=!0,a.value=!1,i.value+=1},{immediate:!0});function s(h){return h.toUpperCase()}function u(){n.value=!0,a.value=!1}function m(){n.value=!1,a.value=!0,r&&window.clearTimeout(r),r=window.setTimeout(()=>{a.value=!1},900)}return hn(()=>{r&&window.clearTimeout(r)}),(h,p)=>(G(),z("div",{class:r1(["count-card",{"is-counting":n.value,"is-settled":a.value}])},[w("div",JA,[w("div",{class:r1(["count-card-icon","icon-"+t.info.icon])},null,2),w("div",QA,[w("div",XA,i2(t.info.zh),1),t.info.en?(G(),z("div",ZA,i2(s(t.info.en)),1)):k3("",!0)])]),w("div",e_,[(G(),z("div",{class:"value",key:i.value},[l1(k1(Wm),{startVal:0,endVal:t.info.value,decimals:t.info.decimals,duration:o.value,separator:"",autoplay:!0,onMountedCallback:u,onCallback:m},null,8,["endVal","decimals","duration"])])),w("div",t_,i2(t.info.unit),1)])],2))}};var $a=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function a_(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Wa(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Gi={exports:{}};Gi.exports;(function(t,e){function n(O){"@babel/helpers - typeof";return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(N){return typeof N}:function(N){return N&&typeof Symbol=="function"&&N.constructor===Symbol&&N!==Symbol.prototype?"symbol":typeof N},n(O)}function a(O,N){if(!(O instanceof N))throw new TypeError("Cannot call a class as a function")}function i(O,N){for(var d=0;d>>1,f2=[["ary",N2],["bind",d2],["bindKey",F2],["curry",T],["curryRight",D],["flip",W2],["partial",W],["partialRight",x2],["rearg",Y2]],r3="[object Arguments]",N3="[object Array]",K="[object AsyncFunction]",m2="[object Boolean]",R2="[object Date]",q2="[object DOMException]",X3="[object Error]",p1="[object Function]",B="[object GeneratorFunction]",H="[object Map]",S="[object Number]",E="[object Null]",c2="[object Object]",L2="[object Promise]",U2="[object Proxy]",J2="[object RegExp]",M3="[object Set]",u1="[object String]",V="[object Symbol]",w2="[object Undefined]",E2="[object WeakMap]",I2="[object WeakSet]",u2="[object ArrayBuffer]",t3="[object DataView]",z2="[object Float32Array]",c3="[object Float64Array]",C3="[object Int8Array]",J3="[object Int16Array]",_3="[object Int32Array]",i1="[object Uint8Array]",x0="[object Uint8ClampedArray]",Y0="[object Uint16Array]",Z1="[object Uint32Array]",h2=/\b__p \+= '';/g,R3=/\b(__p \+=) '' \+/g,J1=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,pt=/[&<>"']/g,y0=RegExp(mt.source),X0=RegExp(pt.source),Qn=/<%-([\s\S]+?)%>/g,_5=/<%([\s\S]+?)%>/g,x5=/<%=([\s\S]+?)%>/g,u9=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c9=/^\w*$/,de=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ee=/[\\^$.*+?()[\]{}|]/g,gt=RegExp(ee.source),en=/^\s+/,pn=/\s/,q6=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,d9=/\{\n\/\* \[wrapped with (.+)\] \*/,f9=/,? & /,h9=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,J6=/[()=,{}\[\]\/\s]/,tn=/\\(\\)?/g,Ir=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,G7=/\w*$/,N8=/^[-+]0x[0-9a-f]+$/i,U7=/^0b[01]+$/i,R8=/^\[object .+?Constructor\]$/,Fr=/^0o[0-7]+$/i,Br=/^(?:0|[1-9]\d*)$/,m9=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,p9=/($^)/,L8=/['\n\r\u2028\u2029\\]/g,w6="\\ud800-\\udfff",Dr="\\u0300-\\u036f",I8="\\ufe20-\\ufe2f",Gr="\\u20d0-\\u20ff",g9=Dr+I8+Gr,yt="\\u2700-\\u27bf",y9="a-z\\xdf-\\xf6\\xf8-\\xff",F8="\\xac\\xb1\\xd7\\xf7",v9="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Rn="\\u2000-\\u206f",O7=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",B8="A-Z\\xc0-\\xd6\\xd8-\\xde",M5="\\ufe0e\\ufe0f",j7=F8+v9+Rn+O7,P5="['’]",Ur="["+w6+"]",S9="["+j7+"]",w9="["+g9+"]",z7="\\d+",D8="["+yt+"]",Y7="["+y9+"]",G8="[^"+w6+j7+z7+yt+y9+B8+"]",Nt="\\ud83c[\\udffb-\\udfff]",$7="(?:"+w9+"|"+Nt+")",W7="[^"+w6+"]",U8="(?:\\ud83c[\\udde6-\\uddff]){2}",O8="[\\ud800-\\udbff][\\udc00-\\udfff]",Q6="["+B8+"]",j8="\\u200d",b9="(?:"+Y7+"|"+G8+")",V7="(?:"+Q6+"|"+G8+")",z8="(?:"+P5+"(?:d|ll|m|re|s|t|ve))?",H7="(?:"+P5+"(?:D|LL|M|RE|S|T|VE))?",k5=$7+"?",We="["+M5+"]?",K7="(?:"+j8+"(?:"+[W7,U8,O8].join("|")+")"+We+k5+")*",Or="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",q7=We+k5+K7,zr="(?:"+[D8,U8,O8].join("|")+")"+q7,Yr="(?:"+[W7+w9+"?",w9,U8,O8,Ur].join("|")+")",$r=RegExp(P5,"g"),Wr=RegExp(w9,"g"),E5=RegExp(Nt+"(?="+Nt+")|"+Yr+q7,"g"),J7=RegExp([Q6+"?"+Y7+"+"+z8+"(?="+[S9,Q6,"$"].join("|")+")",V7+"+"+H7+"(?="+[S9,Q6+b9,"$"].join("|")+")",Q6+"?"+b9+"+"+z8,Q6+"+"+H7,jr,Or,z7,zr].join("|"),"g"),Vr=RegExp("["+j8+w6+g9+M5+"]"),Y8=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,F0=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Hr=-1,h0={};h0[z2]=h0[c3]=h0[C3]=h0[J3]=h0[_3]=h0[i1]=h0[x0]=h0[Y0]=h0[Z1]=!0,h0[r3]=h0[N3]=h0[u2]=h0[m2]=h0[t3]=h0[R2]=h0[X3]=h0[p1]=h0[H]=h0[S]=h0[c2]=h0[J2]=h0[M3]=h0[u1]=h0[E2]=!1;var R0={};R0[r3]=R0[N3]=R0[u2]=R0[t3]=R0[m2]=R0[R2]=R0[z2]=R0[c3]=R0[C3]=R0[J3]=R0[_3]=R0[H]=R0[S]=R0[c2]=R0[J2]=R0[M3]=R0[u1]=R0[V]=R0[i1]=R0[x0]=R0[Y0]=R0[Z1]=!0,R0[X3]=R0[p1]=R0[E2]=!1;var Q7={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Kr={"&":"&","<":"<",">":">",'"':""","'":"'"},qr={"&":"&","<":"<",">":">",""":'"',"'":"'"},Jr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},X7=parseFloat,Qr=parseInt,$8=typeof V2=="object"&&V2&&V2.Object===Object&&V2,W8=typeof self=="object"&&self&&self.Object===Object&&self,Ie=$8||W8||Function("return this")(),V8=N&&!N.nodeType&&N,Xn=V8&&!0&&O&&!O.nodeType&&O,H8=Xn&&Xn.exports===V8,K8=H8&&$8.process,vt=function(){try{var X=Xn&&Xn.require&&Xn.require("util").types;return X||K8&&K8.binding&&K8.binding("util")}catch(A2){}}(),q8=vt&&vt.isArrayBuffer,Z7=vt&&vt.isDate,J8=vt&&vt.isMap,N5=vt&&vt.isRegExp,Q8=vt&&vt.isSet,X8=vt&&vt.isTypedArray;function nt(X,A2,P2){switch(P2.length){case 0:return X.call(A2);case 1:return X.call(A2,P2[0]);case 2:return X.call(A2,P2[0],P2[1]);case 3:return X.call(A2,P2[0],P2[1],P2[2])}return X.apply(A2,P2)}function ea(X,A2,P2,A3){for(var $3=-1,d1=X==null?0:X.length;++$3-1}function e4(X,A2,P2){for(var A3=-1,$3=X==null?0:X.length;++A3<$3;)if(P2(A2,X[A3]))return!0;return!1}function te(X,A2){for(var P2=-1,A3=X==null?0:X.length,$3=Array(A3);++P2-1;);return P2}function oa(X,A2){for(var P2=X.length;P2--&&Zn(A2,X[P2],0)>-1;);return P2}function no(X,A2){for(var P2=X.length,A3=0;P2--;)X[P2]===A2&&++A3;return A3}var m0=i4(Q7),D0=i4(Kr);function _9(X){return"\\"+Jr[X]}function Rt(X,A2){return X==null?d:X[A2]}function Lt(X){return Vr.test(X)}function ao(X){return Y8.test(X)}function sa(X){for(var A2,P2=[];!(A2=X.next()).done;)P2.push(A2.value);return P2}function x9(X){var A2=-1,P2=Array(X.size);return X.forEach(function(A3,$3){P2[++A2]=[$3,A3]}),P2}function la(X,A2){return function(P2){return X(A2(P2))}}function In(X,A2){for(var P2=-1,A3=X.length,$3=0,d1=[];++P2-1}function Jy(l,c){var v=this.__data__,R=ba(v,l);return R<0?(++this.size,v.push([l,c])):v[R][1]=c,this}T6.prototype.clear=Vy,T6.prototype.delete=Hy,T6.prototype.get=Ky,T6.prototype.has=qy,T6.prototype.set=Jy;function C6(l){var c=-1,v=l==null?0:l.length;for(this.clear();++c=c?l:c)),l}function yn(l,c,v,R,Q,b2){var O2,X2=c&J,d3=c&Y,K3=c&k2;if(v&&(O2=Q?v(l,R,Q,b2):v(l)),O2!==d)return O2;if(!fe(l))return l;var Q3=g0(l);if(Q3){if(O2=eS(l),!X2)return It(l,O2)}else{var f1=rt(l),I1=f1==p1||f1==B;if(r5(l))return Pc(l,X2);if(f1==c2||f1==r3||I1&&!Q){if(O2=d3||I1?{}:Hc(l),!X2)return d3?Yv(l,fv(O2,l)):zv(l,ic(O2,l))}else{if(!R0[f1])return Q?l:{};O2=tS(l,f1,X2)}}b2||(b2=new Fn);var V1=b2.get(l);if(V1)return V1;b2.set(l,O2),Td(l)?l.forEach(function(r0){O2.add(yn(r0,c,v,r0,l,b2))}):wd(l)&&l.forEach(function(r0,M0){O2.set(M0,yn(r0,c,v,M0,l,b2))});var i0=K3?d3?Lo:Ro:d3?Bt:je,w0=Q3?d:i0(l);return St(w0||l,function(r0,M0){w0&&(M0=r0,r0=l[M0]),m4(O2,M0,yn(r0,c,v,M0,l,b2))}),O2}function hv(l){var c=je(l);return function(v){return rc(v,l,c)}}function rc(l,c,v){var R=v.length;if(l==null)return!R;for(l=U1(l);R--;){var Q=v[R],b2=c[Q],O2=l[Q];if(O2===d&&!(Q in l)||!b2(O2))return!1}return!0}function oc(l,c,v){if(typeof l!="function")throw new q0(_);return b4(function(){l.apply(d,v)},c)}function p4(l,c,v,R){var Q=-1,b2=R5,O2=!0,X2=l.length,d3=[],K3=c.length;if(!X2)return d3;v&&(c=te(c,wt(v))),R?(b2=e4,O2=!1):c.length>=y&&(b2=L5,O2=!1,c=new G5(c));e:for(;++QQ?0:Q+v),R=R===d||R>Q?Q:v0(R),R<0&&(R+=Q),R=v>R?0:Ad(R);v0&&v(X2)?c>1?Ve(X2,c-1,v,R,Q):nn(Q,X2):R||(Q[Q.length]=X2)}return Q}var mo=Ic(),uc=Ic(!0);function t6(l,c){return l&&mo(l,c,je)}function po(l,c){return l&&uc(l,c,je)}function Ca(l,c){return Ln(c,function(v){return P6(l[v])})}function O5(l,c){c=a5(c,l);for(var v=0,R=c.length;l!=null&&vc}function gv(l,c){return l!=null&&U0.call(l,c)}function yv(l,c){return l!=null&&c in U1(l)}function vv(l,c,v){return l>=it(c,v)&&l=120&&Q3.length>=120)?new G5(O2&&Q3):d}Q3=l[0];var f1=-1,I1=X2[0];e:for(;++f1-1;)X2!==l&&ma.call(X2,d3,1),ma.call(l,d3,1);return l}function wc(l,c){for(var v=l?c.length:0,R=v-1;v--;){var Q=c[v];if(v==R||Q!==b2){var b2=Q;M6(Q)?ma.call(l,Q,1):_o(l,Q)}}return l}function To(l,c){return l+ya(ec()*(c-l+1))}function Nv(l,c,v,R){for(var Q=-1,b2=Be(ga((c-l)/(v||1)),0),O2=P2(b2);b2--;)O2[R?b2:++Q]=l,l+=v;return O2}function Co(l,c){var v="";if(!l||c<1||c>N1)return v;do c%2&&(v+=l),c=ya(c/2),c&&(l+=l);while(c);return v}function T0(l,c){return Oo(Jc(l,c,Dt),l+"")}function Rv(l){return ac(I9(l))}function Lv(l,c){var v=I9(l);return Ia(v,U5(c,0,v.length))}function v4(l,c,v,R){if(!fe(l))return l;c=a5(c,l);for(var Q=-1,b2=c.length,O2=b2-1,X2=l;X2!=null&&++QQ?0:Q+c),v=v>Q?Q:v,v<0&&(v+=Q),Q=c>v?0:v-c>>>0,c>>>=0;for(var b2=P2(Q);++R>>1,O2=l[b2];O2!==null&&!on(O2)&&(v?O2<=c:O2=y){var K3=c?null:Hv(l);if(K3)return I5(K3);O2=!1,Q=L5,d3=new G5}else d3=c?[]:X2;e:for(;++R=R?l:vn(l,c,v)}var Mc=Ay||function(l){return Ie.clearTimeout(l)};function Pc(l,c){if(c)return l.slice();var v=l.length,R=qu?qu(v):new l.constructor(v);return l.copy(R),R}function ko(l){var c=new l.constructor(l.byteLength);return new fa(c).set(new fa(l)),c}function Gv(l,c){var v=c?ko(l.buffer):l.buffer;return new l.constructor(v,l.byteOffset,l.byteLength)}function Uv(l){var c=new l.constructor(l.source,G7.exec(l));return c.lastIndex=l.lastIndex,c}function Ov(l){return h4?U1(h4.call(l)):{}}function kc(l,c){var v=c?ko(l.buffer):l.buffer;return new l.constructor(v,l.byteOffset,l.length)}function Ec(l,c){if(l!==c){var v=l!==d,R=l===null,Q=l===l,b2=on(l),O2=c!==d,X2=c===null,d3=c===c,K3=on(c);if(!X2&&!K3&&!b2&&l>c||b2&&O2&&d3&&!X2&&!K3||R&&O2&&d3||!v&&d3||!Q)return 1;if(!R&&!b2&&!K3&&l=X2)return d3;var K3=v[R];return d3*(K3=="desc"?-1:1)}}return l.index-c.index}function Nc(l,c,v,R){for(var Q=-1,b2=l.length,O2=v.length,X2=-1,d3=c.length,K3=Be(b2-O2,0),Q3=P2(d3+K3),f1=!R;++X21?v[Q-1]:d,O2=Q>2?v[2]:d;for(b2=l.length>3&&typeof b2=="function"?(Q--,b2):d,O2&&Tt(v[0],v[1],O2)&&(b2=Q<3?d:b2,Q=1),c=U1(c);++R-1?Q[b2?c[O2]:O2]:d}}function Dc(l){return x6(function(c){var v=c.length,R=v,Q=gn.prototype.thru;for(l&&c.reverse();R--;){var b2=c[R];if(typeof b2!="function")throw new q0(_);if(Q&&!O2&&Ra(b2)=="wrapper")var O2=new gn([],!0)}for(R=O2?R:v;++R1&&I0.reverse(),Q3&&d3X2))return!1;var K3=b2.get(l),Q3=b2.get(c);if(K3&&Q3)return K3==c&&Q3==l;var f1=-1,I1=!0,V1=v&o2?new G5:d;for(b2.set(l,c),b2.set(c,l);++f11?"& ":"")+c[R],c=c.join(v>2?", ":" "),l.replace(q6,`{ -/* [wrapped with `+c+`] */ -`)}function aS(l){return g0(l)||Y5(l)||!!(Xu&&l&&l[Xu])}function M6(l,c){var v=typeof l;return c=c==null?N1:c,!!c&&(v=="number"||v!="symbol"&&Br.test(l))&&l>-1&&l%1==0&&l0){if(++c>=v3)return arguments[0]}else c=0;return l.apply(d,arguments)}}function Ia(l,c){var v=-1,R=l.length,Q=R-1;for(c=c===d?R:c;++v1?l[c-1]:d;return v=typeof v=="function"?(l.pop(),v):d,ld(l,v)});function ud(l){var c=g2(l);return c.__chain__=!0,c}function mw(l,c){return c(l),l}function Fa(l,c){return c(l)}var pw=x6(function(l){var c=l.length,v=c?l[0]:0,R=this.__wrapped__,Q=function(b2){return ho(b2,l)};return c>1||this.__actions__.length||!(R instanceof k0)||!M6(v)?this.thru(Q):(R=R.slice(v,+v+(c?1:0)),R.__actions__.push({func:Fa,args:[Q],thisArg:d}),new gn(R,this.__chain__).thru(function(b2){return c&&!b2.length&&b2.push(d),b2}))});function gw(){return ud(this)}function yw(){return new gn(this.value(),this.__chain__)}function vw(){this.__values__===d&&(this.__values__=Cd(this.value()));var l=this.__index__>=this.__values__.length,c=l?d:this.__values__[this.__index__++];return{done:l,value:c}}function Sw(){return this}function ww(l){for(var c,v=this;v instanceof wa;){var R=nd(v);R.__index__=0,R.__values__=d,c?Q.__wrapped__=R:c=R;var Q=R;v=v.__wrapped__}return Q.__wrapped__=l,c}function bw(){var l=this.__wrapped__;if(l instanceof k0){var c=l;return this.__actions__.length&&(c=new k0(this)),c=c.reverse(),c.__actions__.push({func:Fa,args:[jo],thisArg:d}),new gn(c,this.__chain__)}return this.thru(jo)}function Tw(){return _c(this.__wrapped__,this.__actions__)}var Cw=Ma(function(l,c,v){U0.call(l,v)?++l[v]:A6(l,v,1)});function Aw(l,c,v){var R=g0(l)?Z8:mv;return v&&Tt(l,c,v)&&(c=d),R(l,a0(c,3))}function _w(l,c){var v=g0(l)?Ln:lc;return v(l,a0(c,3))}var xw=Bc(ad),Mw=Bc(id);function Pw(l,c){return Ve(Ba(l,c),1)}function kw(l,c){return Ve(Ba(l,c),T1)}function Ew(l,c,v){return v=v===d?1:v0(v),Ve(Ba(l,c),v)}function cd(l,c){var v=g0(l)?St:t5;return v(l,a0(c,3))}function dd(l,c){var v=g0(l)?ta:sc;return v(l,a0(c,3))}var Nw=Ma(function(l,c,v){U0.call(l,v)?l[v].push(c):A6(l,v,[c])});function Rw(l,c,v,R){l=Ft(l)?l:I9(l),v=v&&!R?v0(v):0;var Q=l.length;return v<0&&(v=Be(Q+v,0)),ja(l)?v<=Q&&l.indexOf(c,v)>-1:!!Q&&Zn(l,c,v)>-1}var Lw=T0(function(l,c,v){var R=-1,Q=typeof c=="function",b2=Ft(l)?P2(l.length):[];return t5(l,function(O2){b2[++R]=Q?nt(c,O2,v):g4(O2,c,v)}),b2}),Iw=Ma(function(l,c,v){A6(l,v,c)});function Ba(l,c){var v=g0(l)?te:mc;return v(l,a0(c,3))}function Fw(l,c,v,R){return l==null?[]:(g0(c)||(c=c==null?[]:[c]),v=R?d:v,g0(v)||(v=v==null?[]:[v]),vc(l,c,v))}var Bw=Ma(function(l,c,v){l[v?0:1].push(c)},function(){return[[],[]]});function Dw(l,c,v){var R=g0(l)?T9:ra,Q=arguments.length<3;return R(l,a0(c,4),v,Q,t5)}function Gw(l,c,v){var R=g0(l)?Xr:ra,Q=arguments.length<3;return R(l,a0(c,4),v,Q,sc)}function Uw(l,c){var v=g0(l)?Ln:lc;return v(l,Ua(a0(c,3)))}function Ow(l){var c=g0(l)?ac:Rv;return c(l)}function jw(l,c,v){(v?Tt(l,c,v):c===d)?c=1:c=v0(c);var R=g0(l)?uv:Lv;return R(l,c)}function zw(l){var c=g0(l)?cv:Fv;return c(l)}function Yw(l){if(l==null)return 0;if(Ft(l))return ja(l)?X6(l):l.length;var c=rt(l);return c==H||c==M3?l.size:So(l).length}function $w(l,c,v){var R=g0(l)?b6:Bv;return v&&Tt(l,c,v)&&(c=d),R(l,a0(c,3))}var Ww=T0(function(l,c){if(l==null)return[];var v=c.length;return v>1&&Tt(l,c[0],c[1])?c=[]:v>2&&Tt(c[0],c[1],c[2])&&(c=[c[0]]),vc(l,Ve(c,1),[])}),Da=_y||function(){return Ie.Date.now()};function Vw(l,c){if(typeof c!="function")throw new q0(_);return l=v0(l),function(){if(--l<1)return c.apply(this,arguments)}}function fd(l,c,v){return c=v?d:c,c=l&&c==null?l.length:c,_6(l,N2,d,d,d,d,c)}function hd(l,c){var v;if(typeof c!="function")throw new q0(_);return l=v0(l),function(){return--l>0&&(v=c.apply(this,arguments)),l<=1&&(c=d),v}}var Yo=T0(function(l,c,v){var R=d2;if(v.length){var Q=In(v,R9(Yo));R|=W}return _6(l,R,c,v,Q)}),md=T0(function(l,c,v){var R=d2|F2;if(v.length){var Q=In(v,R9(md));R|=W}return _6(c,R,l,v,Q)});function pd(l,c,v){c=v?d:c;var R=_6(l,T,d,d,d,d,d,c);return R.placeholder=pd.placeholder,R}function gd(l,c,v){c=v?d:c;var R=_6(l,D,d,d,d,d,d,c);return R.placeholder=gd.placeholder,R}function yd(l,c,v){var R,Q,b2,O2,X2,d3,K3=0,Q3=!1,f1=!1,I1=!0;if(typeof l!="function")throw new q0(_);c=wn(c)||0,fe(v)&&(Q3=!!v.leading,f1="maxWait"in v,b2=f1?Be(wn(v.maxWait)||0,c):b2,I1="trailing"in v?!!v.trailing:I1);function V1(Te){var Dn=R,E6=Q;return R=Q=d,K3=Te,O2=l.apply(E6,Dn),O2}function i0(Te){return K3=Te,X2=b4(M0,c),Q3?V1(Te):O2}function w0(Te){var Dn=Te-d3,E6=Te-K3,Bd=c-Dn;return f1?it(Bd,b2-E6):Bd}function r0(Te){var Dn=Te-d3,E6=Te-K3;return d3===d||Dn>=c||Dn<0||f1&&E6>=b2}function M0(){var Te=Da();if(r0(Te))return I0(Te);X2=b4(M0,w0(Te))}function I0(Te){return X2=d,I1&&R?V1(Te):(R=Q=d,O2)}function sn(){X2!==d&&Mc(X2),K3=0,R=d3=Q=X2=d}function Ct(){return X2===d?O2:I0(Da())}function ln(){var Te=Da(),Dn=r0(Te);if(R=arguments,Q=this,d3=Te,Dn){if(X2===d)return i0(d3);if(f1)return Mc(X2),X2=b4(M0,c),V1(d3)}return X2===d&&(X2=b4(M0,c)),O2}return ln.cancel=sn,ln.flush=Ct,ln}var Hw=T0(function(l,c){return oc(l,1,c)}),Kw=T0(function(l,c,v){return oc(l,wn(c)||0,v)});function qw(l){return _6(l,W2)}function Ga(l,c){if(typeof l!="function"||c!=null&&typeof c!="function")throw new q0(_);var v=function(){var R=arguments,Q=c?c.apply(this,R):R[0],b2=v.cache;if(b2.has(Q))return b2.get(Q);var O2=l.apply(this,R);return v.cache=b2.set(Q,O2)||b2,O2};return v.cache=new(Ga.Cache||C6),v}Ga.Cache=C6;function Ua(l){if(typeof l!="function")throw new q0(_);return function(){var c=arguments;switch(c.length){case 0:return!l.call(this);case 1:return!l.call(this,c[0]);case 2:return!l.call(this,c[0],c[1]);case 3:return!l.call(this,c[0],c[1],c[2])}return!l.apply(this,c)}}function Jw(l){return hd(2,l)}var Qw=Dv(function(l,c){c=c.length==1&&g0(c[0])?te(c[0],wt(a0())):te(Ve(c,1),wt(a0()));var v=c.length;return T0(function(R){for(var Q=-1,b2=it(R.length,v);++Q=c}),Y5=dc(function(){return arguments}())?dc:function(l){return ge(l)&&U0.call(l,"callee")&&!Qu.call(l,"callee")},g0=P2.isArray,fb=q8?wt(q8):wv;function Ft(l){return l!=null&&Oa(l.length)&&!P6(l)}function be(l){return ge(l)&&Ft(l)}function hb(l){return l===!0||l===!1||ge(l)&&bt(l)==m2}var r5=My||ts,mb=Z7?wt(Z7):bv;function pb(l){return ge(l)&&l.nodeType===1&&!T4(l)}function gb(l){if(l==null)return!0;if(Ft(l)&&(g0(l)||typeof l=="string"||typeof l.splice=="function"||r5(l)||L9(l)||Y5(l)))return!l.length;var c=rt(l);if(c==H||c==M3)return!l.size;if(w4(l))return!So(l).length;for(var v in l)if(U0.call(l,v))return!1;return!0}function yb(l,c){return y4(l,c)}function vb(l,c,v){v=typeof v=="function"?v:d;var R=v?v(l,c):d;return R===d?y4(l,c,d,v):!!R}function Wo(l){if(!ge(l))return!1;var c=bt(l);return c==X3||c==q2||typeof l.message=="string"&&typeof l.name=="string"&&!T4(l)}function Sb(l){return typeof l=="number"&&Zu(l)}function P6(l){if(!fe(l))return!1;var c=bt(l);return c==p1||c==B||c==K||c==U2}function Sd(l){return typeof l=="number"&&l==v0(l)}function Oa(l){return typeof l=="number"&&l>-1&&l%1==0&&l<=N1}function fe(l){var c=typeof l;return l!=null&&(c=="object"||c=="function")}function ge(l){return l!=null&&typeof l=="object"}var wd=J8?wt(J8):Cv;function wb(l,c){return l===c||vo(l,c,Fo(c))}function bb(l,c,v){return v=typeof v=="function"?v:d,vo(l,c,Fo(c),v)}function Tb(l){return bd(l)&&l!=+l}function Cb(l){if(oS(l))throw new $3(b);return fc(l)}function Ab(l){return l===null}function _b(l){return l==null}function bd(l){return typeof l=="number"||ge(l)&&bt(l)==S}function T4(l){if(!ge(l)||bt(l)!=c2)return!1;var c=ha(l);if(c===null)return!0;var v=U0.call(c,"constructor")&&c.constructor;return typeof v=="function"&&v instanceof v&&e6.call(v)==by}var Vo=N5?wt(N5):Av;function xb(l){return Sd(l)&&l>=-N1&&l<=N1}var Td=Q8?wt(Q8):_v;function ja(l){return typeof l=="string"||!g0(l)&&ge(l)&&bt(l)==u1}function on(l){return typeof l=="symbol"||ge(l)&&bt(l)==V}var L9=X8?wt(X8):xv;function Mb(l){return l===d}function Pb(l){return ge(l)&&rt(l)==E2}function kb(l){return ge(l)&&bt(l)==I2}var Eb=Na(wo),Nb=Na(function(l,c){return l<=c});function Cd(l){if(!l)return[];if(Ft(l))return ja(l)?an(l):It(l);if(u4&&l[u4])return sa(l[u4]());var c=rt(l),v=c==H?x9:c==M3?I5:I9;return v(l)}function k6(l){if(!l)return l===0?l:0;if(l=wn(l),l===T1||l===-T1){var c=l<0?-1:1;return c*L}return l===l?l:0}function v0(l){var c=k6(l),v=c%1;return c===c?v?c-v:c:0}function Ad(l){return l?U5(v0(l),0,F):0}function wn(l){if(typeof l=="number")return l;if(on(l))return q;if(fe(l)){var c=typeof l.valueOf=="function"?l.valueOf():l;l=fe(c)?c+"":c}if(typeof l!="string")return l===0?l:+l;l=A9(l);var v=U7.test(l);return v||Fr.test(l)?Qr(l.slice(2),v?2:8):N8.test(l)?q:+l}function _d(l){return n6(l,Bt(l))}function Rb(l){return l?U5(v0(l),-N1,N1):l===0?l:0}function $0(l){return l==null?"":rn(l)}var Lb=E9(function(l,c){if(w4(c)||Ft(c)){n6(c,je(c),l);return}for(var v in c)U0.call(c,v)&&m4(l,v,c[v])}),xd=E9(function(l,c){n6(c,Bt(c),l)}),za=E9(function(l,c,v,R){n6(c,Bt(c),l,R)}),Ib=E9(function(l,c,v,R){n6(c,je(c),l,R)}),Fb=x6(ho);function Bb(l,c){var v=k9(l);return c==null?v:ic(v,c)}var Db=T0(function(l,c){l=U1(l);var v=-1,R=c.length,Q=R>2?c[2]:d;for(Q&&Tt(c[0],c[1],Q)&&(R=1);++v1),b2}),n6(l,Lo(l),v),R&&(v=yn(v,J|Y|k2,Kv));for(var Q=c.length;Q--;)_o(v,c[Q]);return v});function tT(l,c){return Pd(l,Ua(a0(c)))}var nT=x6(function(l,c){return l==null?{}:kv(l,c)});function Pd(l,c){if(l==null)return{};var v=te(Lo(l),function(R){return[R]});return c=a0(c),Sc(l,v,function(R,Q){return c(R,Q[0])})}function aT(l,c,v){c=a5(c,l);var R=-1,Q=c.length;for(Q||(Q=1,l=d);++Rc){var R=l;l=c,c=R}if(v||l%1||c%1){var Q=ec();return it(l+Q*(c-l+X7("1e-"+((Q+"").length-1))),c)}return To(l,c)}var mT=N9(function(l,c,v){return c=c.toLowerCase(),l+(v?Nd(c):c)});function Nd(l){return qo($0(l).toLowerCase())}function Rd(l){return l=$0(l),l&&l.replace(m9,m0).replace(Wr,"")}function pT(l,c,v){l=$0(l),c=rn(c);var R=l.length;v=v===d?R:U5(v0(v),0,R);var Q=v;return v-=c.length,v>=0&&l.slice(v,Q)==c}function gT(l){return l=$0(l),l&&X0.test(l)?l.replace(pt,D0):l}function yT(l){return l=$0(l),l&>.test(l)?l.replace(ee,"\\$&"):l}var vT=N9(function(l,c,v){return l+(v?"-":"")+c.toLowerCase()}),ST=N9(function(l,c,v){return l+(v?" ":"")+c.toLowerCase()}),wT=Fc("toLowerCase");function bT(l,c,v){l=$0(l),c=v0(c);var R=c?X6(l):0;if(!c||R>=c)return l;var Q=(c-R)/2;return Ea(ya(Q),v)+l+Ea(ga(Q),v)}function TT(l,c,v){l=$0(l),c=v0(c);var R=c?X6(l):0;return c&&R>>0,v?(l=$0(l),l&&(typeof c=="string"||c!=null&&!Vo(c))&&(c=rn(c),!c&&Lt(l))?i5(an(l),0,v):l.split(c,v)):[]}var kT=N9(function(l,c,v){return l+(v?" ":"")+qo(c)});function ET(l,c,v){return l=$0(l),v=v==null?0:U5(v0(v),0,l.length),c=rn(c),l.slice(v,v+c.length)==c}function NT(l,c,v){var R=g2.templateSettings;v&&Tt(l,c,v)&&(c=d),l=$0(l),c=za({},c,R,zc);var Q=za({},c.imports,R.imports,zc),b2=je(Q),O2=s4(Q,b2),X2,d3,K3=0,Q3=c.interpolate||p9,f1="__p += '",I1=X1((c.escape||p9).source+"|"+Q3.source+"|"+(Q3===x5?Ir:p9).source+"|"+(c.evaluate||p9).source+"|$","g"),V1="//# sourceURL="+(U0.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Hr+"]")+` -`;l.replace(I1,function(r0,M0,I0,sn,Ct,ln){return I0||(I0=sn),f1+=l.slice(K3,ln).replace(L8,_9),M0&&(X2=!0,f1+=`' + -__e(`+M0+`) + -'`),Ct&&(d3=!0,f1+=`'; -`+Ct+`; -__p += '`),I0&&(f1+=`' + -((__t = (`+I0+`)) == null ? '' : __t) + -'`),K3=ln+r0.length,r0}),f1+=`'; -`;var i0=U0.call(c,"variable")&&c.variable;if(!i0)f1=`with (obj) { -`+f1+` -} -`;else if(J6.test(i0))throw new $3(M);f1=(d3?f1.replace(h2,""):f1).replace(R3,"$1").replace(J1,"$1;"),f1="function("+(i0||"obj")+`) { -`+(i0?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(X2?", __e = _.escape":"")+(d3?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+f1+`return __p -}`;var w0=Id(function(){return d1(b2,V1+"return "+f1).apply(d,O2)});if(w0.source=f1,Wo(w0))throw w0;return w0}function RT(l){return $0(l).toLowerCase()}function LT(l){return $0(l).toUpperCase()}function IT(l,c,v){if(l=$0(l),l&&(v||c===d))return A9(l);if(!l||!(c=rn(c)))return l;var R=an(l),Q=an(c),b2=l4(R,Q),O2=oa(R,Q)+1;return i5(R,b2,O2).join("")}function FT(l,c,v){if(l=$0(l),l&&(v||c===d))return l.slice(0,F5(l)+1);if(!l||!(c=rn(c)))return l;var R=an(l),Q=oa(R,an(c))+1;return i5(R,0,Q).join("")}function BT(l,c,v){if(l=$0(l),l&&(v||c===d))return l.replace(en,"");if(!l||!(c=rn(c)))return l;var R=an(l),Q=l4(R,an(c));return i5(R,Q).join("")}function DT(l,c){var v=a3,R=w3;if(fe(c)){var Q="separator"in c?c.separator:Q;v="length"in c?v0(c.length):v,R="omission"in c?rn(c.omission):R}l=$0(l);var b2=l.length;if(Lt(l)){var O2=an(l);b2=O2.length}if(v>=b2)return l;var X2=v-X6(R);if(X2<1)return R;var d3=O2?i5(O2,0,X2).join(""):l.slice(0,X2);if(Q===d)return d3+R;if(O2&&(X2+=d3.length-X2),Vo(Q)){if(l.slice(X2).search(Q)){var K3,Q3=d3;for(Q.global||(Q=X1(Q.source,$0(G7.exec(Q))+"g")),Q.lastIndex=0;K3=Q.exec(Q3);)var f1=K3.index;d3=d3.slice(0,f1===d?X2:f1)}}else if(l.indexOf(rn(Q),X2)!=X2){var I1=d3.lastIndexOf(Q);I1>-1&&(d3=d3.slice(0,I1))}return d3+R}function GT(l){return l=$0(l),l&&y0.test(l)?l.replace(mt,so):l}var UT=N9(function(l,c,v){return l+(v?" ":"")+c.toUpperCase()}),qo=Fc("toUpperCase");function Ld(l,c,v){return l=$0(l),c=v?d:c,c===d?ao(l)?k(l):Zr(l):l.match(c)||[]}var Id=T0(function(l,c){try{return nt(l,d,c)}catch(v){return Wo(v)?v:new $3(v)}}),OT=x6(function(l,c){return St(c,function(v){v=a6(v),A6(l,v,Yo(l[v],l))}),l});function jT(l){var c=l==null?0:l.length,v=a0();return l=c?te(l,function(R){if(typeof R[1]!="function")throw new q0(_);return[v(R[0]),R[1]]}):[],T0(function(R){for(var Q=-1;++QN1)return[];var v=F,R=it(l,F);c=a0(c),l-=F;for(var Q=o4(R,c);++v0||c<0)?new k0(v):(l<0?v=v.takeRight(-l):l&&(v=v.drop(l)),c!==d&&(c=v0(c),v=c<0?v.dropRight(-c):v.take(c-l)),v)},k0.prototype.takeRightWhile=function(l){return this.reverse().takeWhile(l).reverse()},k0.prototype.toArray=function(){return this.take(F)},t6(k0.prototype,function(l,c){var v=/^(?:filter|find|map|reject)|While$/.test(c),R=/^(?:head|last)$/.test(c),Q=g2[R?"take"+(c=="last"?"Right":""):c],b2=R||/^find/.test(c);Q&&(g2.prototype[c]=function(){var O2=this.__wrapped__,X2=R?[1]:arguments,d3=O2 instanceof k0,K3=X2[0],Q3=d3||g0(O2),f1=function(M0){var I0=Q.apply(g2,nn([M0],X2));return R&&I1?I0[0]:I0};Q3&&v&&typeof K3=="function"&&K3.length!=1&&(d3=Q3=!1);var I1=this.__chain__,V1=!!this.__actions__.length,i0=b2&&!I1,w0=d3&&!V1;if(!b2&&Q3){O2=w0?O2:new k0(this);var r0=l.apply(O2,X2);return r0.__actions__.push({func:Fa,args:[f1],thisArg:d}),new gn(r0,I1)}return i0&&w0?l.apply(this,X2):(r0=this.thru(f1),i0?R?r0.value()[0]:r0.value():r0)})}),St(["pop","push","shift","sort","splice","unshift"],function(l){var c=at[l],v=/^(?:push|sort|unshift)$/.test(l)?"tap":"thru",R=/^(?:pop|shift)$/.test(l);g2.prototype[l]=function(){var Q=arguments;if(R&&!this.__chain__){var b2=this.value();return c.apply(g0(b2)?b2:[],Q)}return this[v](function(O2){return c.apply(g0(O2)?O2:[],Q)})}}),t6(k0.prototype,function(l,c){var v=g2[c];if(v){var R=v.name+"";U0.call(P9,R)||(P9[R]=[]),P9[R].push({name:c,func:v})}}),P9[Pa(d,F2).name]=[{name:"wrapper",func:d}],k0.prototype.clone=Gy,k0.prototype.reverse=Uy,k0.prototype.value=Oy,g2.prototype.at=pw,g2.prototype.chain=gw,g2.prototype.commit=yw,g2.prototype.next=vw,g2.prototype.plant=ww,g2.prototype.reverse=bw,g2.prototype.toJSON=g2.prototype.valueOf=g2.prototype.value=Tw,g2.prototype.first=g2.prototype.head,u4&&(g2.prototype[u4]=Sw),g2},M2=e2();Xn?((Xn.exports=M2)._=M2,V8._=M2):Ie._=M2}).call(V2)});function p3(O,N){var d=N.parentNode;d.lastChild==N?d.appendChild(O):d.insertBefore(O,N.nextSibling)}var U3=function(){function O(N,d){a(this,O),this.id=d,this.jSPlugin=N,this.state={play:!1,loading:!1,text:""},this.loadingSetText=this.loadingSetText}return r(O,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"setPlayStatus",value:function(d){this.state=Object.assign(this.state,d)}},{key:"loadingStart",value:function(d){var f=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(f),f.innerHTML="@keyframes antRotate {to {transform: rotate(400deg);transform-origin:50% 50%;}} .loading {display: inline-block;z-index: 1000;-webkit-animation: antRotate 1s infinite linear;animation: antRotate 1s infinite linear;}";var y=d,b=document.getElementById(y),_=b.offsetWidth,M=b.offsetHeight,a2=0,Z=b.offsetLeft;document.getElementById("".concat(d,"-loading-id-0"))&&document.getElementById("".concat(d,"-loading-id-0")).parentNode.removeChild(document.getElementById("".concat(d,"-loading-id-0")));var t2=document.createElement("div");t2.setAttribute("id","".concat(d,"-loading-id-0"));var y2="position:absolute;outline:none;pointer-events:none;";console.log("this.jSPlugin",this.jSPlugin),y2+="width: 100%;background-size: cover; background-repeat:no-repeat;",y2+="height: 100%;",y2+="top:"+a2+";",y2+="left:"+Z+"px;",t2.setAttribute("style",y2),t2.style.height=M,t2.setAttribute("class","loading-container"),p3(t2,b);var J=1,Y=document.createElement("div"),k2=document.createElement("div");Y.setAttribute("class","loading-item"),Y.setAttribute("id","".concat(d,"-loading-item-0"));var y2="display:inline-flex;pointer-events:none;flex-direction:column;justify-content:center;align-items: center;width:100%;height:"+M+"px;outline:none;vertical-align: top;position:absolute;";y2+="left:"+o2(M,_,J,0).left+"px;",y2+="top:"+o2(M,_,J,0).top+"px;",Y.setAttribute("style",y2);function o2(n2,T,D,W){var x2=parseInt(W/D,10)*(n2/D),N2=W%D*(T/D);return{top:x2,left:N2}}var d2=document.createElement("div");k2.innerHTML="",k2.style.color="#fff",d2.setAttribute("class","loading"),d2.setAttribute("id","loading-icon");var F2='';d2.innerHTML=F2,Y.appendChild(d2),Y.appendChild(k2),t2.appendChild(Y)}},{key:"loadingStop",value:function(d){var f=document.getElementById("".concat(d,"-loading-item-0"));f&&f.removeChild(document.getElementById("loading-icon"))}},{key:"loadingSetText",value:function(d){var f=this;if(this.loadingClearText(),document.getElementById("".concat(this.id,"-loading-item-0"))){var y=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes[1];if(!y){var b=document.getElementById("".concat(this.id,"-loading-item-0"));b.style.height="100%",y=document.createElement("div"),y.innerHTML=d.text,b.appendChild(y)}y.innerHTML=d.text,y.style.fontSize="14px",y.style.color=d.color||"#FFFFFF",this.state.text=d.text,d.delayClear&&setTimeout(function(){f.loadingClearText()},parseInt(d.delayClear))}}},{key:"loadingClearText",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){var d=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes;d.length>1?d[1].parentNode.removeChild(d[1]):d[0]&&d[0].parentNode.removeChild(d[0])}}},{key:"loadingClear",value:function(){if(document.getElementById("".concat(this.id,"-loading-item-0"))){for(var d=document.getElementById("".concat(this.id,"-loading-item-0")).childNodes,f=d.length-1;f>=0;f--)d[f].parentNode.removeChild(d[f]);document.getElementById("".concat(this.id,"-loading-id-0"))&&(document.getElementById("".concat(this.id,"-loading-id-0")).style.background="none"),document.getElementById("loading-icon")&&document.getElementById("loading-icon").parentNode.removeChild(document.getElementById("loading-icon"))}}},{key:"loadingEnd",value:function(){var d=document.getElementById("".concat(this.id,"-loading-item-0"));if(d){d.parentNode.removeChild(d);var f=document.getElementById("".concat(this.id,"-loading-id-0"));f&&f.children.length===0&&f.parentNode.removeChild(f)}document.getElementById("".concat(this.id,"-loading-item-0")).style.background="none"}}]),O}(),b3=function(){function O(N,d){a(this,O),this.id=d,this.jSPlugin=N,this.timer=null,this.state={play:!1,loading:!1}}return r(O,[{key:"default",value:function(d){var f=this,y="msgId";document.getElementById("".concat(this.id,"-").concat(y))&&document.getElementById("".concat(this.id,"-wrap")).removeChild(document.getElementById("".concat(this.id,"-").concat(y)));var b=document.createElement("div");b.id="".concat(this.id,"-").concat(y),b.style="position: absolute;top: 50%;left:calc(50% - ".concat(d.length*14/2,"px);padding: 4px 16px;background: #00000080;color: #FFFFFF;font-size: 14px"),b.innerHTML=d,document.getElementById("".concat(this.id,"-wrap")).appendChild(b),this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){document.getElementById("".concat(f.id,"-wrap")).removeChild(document.getElementById("".concat(f.id,"-").concat(y)))},2e3)}}]),O}(),Y3=[{moduleCode:"",detailCode:"405984",description:"",solution:"",updateTime:1559564188e3},{moduleCode:"",detailCode:"10035",description:"获取子账户AccessToken异常,子账户不存在或子账户不属于该开发者",solution:"",updateTime:1559551958e3},{moduleCode:"",detailCode:"1052674",description:"获取本地录像失败",solution:"",updateTime:1558579653e3},{moduleCode:"",detailCode:"395547",description:"",solution:"",updateTime:1557367296e3},{moduleCode:"",detailCode:"12",description:"",solution:"",updateTime:1557229476e3},{moduleCode:"",detailCode:"10052",description:"余额不足",solution:"",updateTime:1557121463e3},{moduleCode:"",detailCode:"20108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:1556541725e3},{moduleCode:"",detailCode:"10009",description:"",solution:"",updateTime:1556422452e3},{moduleCode:"",detailCode:"320001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:1556419044e3},{moduleCode:"",detailCode:"120001",description:"通道不存在",solution:"请检查录像机的关联状态是否正常,没有摄像头的通道无法播放",updateTime:155641903e4},{moduleCode:"",detailCode:"320049",description:"",solution:"",updateTime:1556272984e3},{moduleCode:"",detailCode:"380227",description:"",solution:"",updateTime:1556264379e3},{moduleCode:"",detailCode:"10033",description:"policy参数信息异常",solution:"",updateTime:1555922124e3},{moduleCode:"",detailCode:"10065",description:"weakAppKey 不属于accessToken对应的用户",solution:"",updateTime:1555497522e3},{moduleCode:"",detailCode:"100001",description:"",solution:"",updateTime:1555141776e3},{moduleCode:"",detailCode:"395558",description:"",solution:"",updateTime:1554987121e3},{moduleCode:"",detailCode:"70001",description:"智能家居买断用户设备受到限制,建议合理选择pagestart和pageSize",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"170001",description:"",solution:"",updateTime:1554691023e3},{moduleCode:"",detailCode:"1012",description:"重置失败",solution:"",updateTime:1554645841e3},{moduleCode:"",detailCode:"1043",description:"重置失败",solution:"",updateTime:1554645834e3},{moduleCode:"",detailCode:"60060",description:"直播功能未开通",solution:"通道未开通直播功能,请先开通直播",updateTime:1554346018e3},{moduleCode:"",detailCode:"380203",description:"",solution:"",updateTime:1554093666e3},{moduleCode:"",detailCode:"399048",description:"免费版并发数达到上限,请升级企业版使用多并发能力",solution:"升级成为企业版套餐即可取消并发数限制",updateTime:1553839878e3},{moduleCode:"",detailCode:"60007",description:"预置点个数超过最大值",solution:"",updateTime:1553671316e3},{moduleCode:"",detailCode:"1005",description:"",solution:"",updateTime:1553513701e3},{moduleCode:"",detailCode:"20605",description:"其他用户正在认证中",solution:"",updateTime:1552976317e3},{moduleCode:"",detailCode:"90004",description:"当前型号设备暂时不支持AI任务:CS-C3W-3B1WFR-YGL",solution:"",updateTime:1552898525e3},{moduleCode:"",detailCode:"60046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:1552872372e3},{moduleCode:"",detailCode:"3",description:"修改视频清晰度失败!",solution:"",updateTime:1552440229e3},{moduleCode:"",detailCode:"1013",description:"",solution:"",updateTime:1552035069e3},{moduleCode:"",detailCode:"370007",description:"",solution:"",updateTime:1551852327e3},{moduleCode:"",detailCode:"-1",description:"",solution:"",updateTime:1551752889e3},{moduleCode:"",detailCode:"30005",description:"弱账户不存在",solution:"",updateTime:1551422358e3},{moduleCode:"",detailCode:"90006",description:"用户操作AI任务受限",solution:"",updateTime:155107332e4},{moduleCode:"",detailCode:"60203",description:"未开通相关服务",solution:"",updateTime:155062307e4},{moduleCode:"",detailCode:"10002",description:"accessToken过期或异常",solution:"",updateTime:1550300346e3},{moduleCode:"",detailCode:"380339",description:"",solution:"",updateTime:1549889458e3},{moduleCode:"",detailCode:"90002",description:"AI任务设备配置数达到上限:3",solution:"",updateTime:1549071664e3},{moduleCode:"",detailCode:"380008",description:"",solution:"",updateTime:1549005979e3},{moduleCode:"",detailCode:"320227",description:"",solution:"",updateTime:1548739731e3},{moduleCode:"",detailCode:"60059",description:"ezopen地址均不可用",solution:"",updateTime:154839535e4},{moduleCode:"",detailCode:"10005",description:"appKey异常",solution:"",updateTime:1548317858e3},{moduleCode:"",detailCode:"60045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:1548155085e3},{moduleCode:"",detailCode:"60047",description:"码流类型不支持",solution:"",updateTime:1547962108e3},{moduleCode:"",detailCode:"60041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:154796098e4},{moduleCode:"",detailCode:"110029",description:"个人用户接口调用频率超限",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1547606859e3},{moduleCode:"",detailCode:"380355",description:"设备直连推流异常结束",solution:"",updateTime:1547106294e3},{moduleCode:"",detailCode:"320081",description:"",solution:"",updateTime:1547106279e3},{moduleCode:"",detailCode:"60035",description:"购买云存储服务失败",solution:"",updateTime:1547026959e3},{moduleCode:"",detailCode:"90005",description:"设备已存在:C75714141",solution:"",updateTime:1546940622e3},{moduleCode:"",detailCode:"1053445",description:"该时间段没有录像片段",solution:"",updateTime:1546935727e3},{moduleCode:"",detailCode:"90007",description:"设备未加入到AI任务",solution:"",updateTime:1546932948e3},{moduleCode:"",detailCode:"326000",description:"",solution:"",updateTime:1546823143e3},{moduleCode:"",detailCode:"1021",description:"重置失败",solution:"",updateTime:1546781152e3},{moduleCode:"",detailCode:"2001",description:"删除设备失败!",solution:"",updateTime:1546422886e3},{moduleCode:"",detailCode:"380425",description:"",solution:"",updateTime:1546407694e3},{moduleCode:"",detailCode:"120097",description:"",solution:"",updateTime:1546085995e3},{moduleCode:"",detailCode:"10059",description:"requestId已存在",solution:"",updateTime:1545824509e3},{moduleCode:"",detailCode:"1154723",description:"",solution:"",updateTime:1545795209e3},{moduleCode:"",detailCode:"60043",description:"添加的设备超出最大数量",solution:"",updateTime:1545493607e3},{moduleCode:"",detailCode:"1152677",description:"",solution:"",updateTime:1545313404e3},{moduleCode:"",detailCode:"20097",description:"设备添加异常,设备验证码为ABCDEF或设备被N1,R1关联",solution:"",updateTime:1545310795e3},{moduleCode:"",detailCode:"10060",description:"设备不支持该云存储类型",solution:"",updateTime:1545309064e3},{moduleCode:"",detailCode:"20102",description:"无相应邀请信息,无法接受邀请",solution:"",updateTime:1545204966e3},{moduleCode:"",detailCode:"10053",description:"云存储开通中",solution:"",updateTime:1545100293e3},{moduleCode:"",detailCode:"20401",description:"用户云空间信息不存在",solution:"",updateTime:154501788e4},{moduleCode:"",detailCode:"20600",description:"临时密码数已达上限",solution:"",updateTime:1544873457e3},{moduleCode:"",detailCode:"901",description:"",solution:"",updateTime:1544693519e3},{moduleCode:"",detailCode:"60210",description:"图片数据错误",solution:"",updateTime:1544604457e3},{moduleCode:"",detailCode:"10013",description:"您的应用没有权限调用",solution:"",updateTime:1544416237e3},{moduleCode:"",detailCode:"70007",description:"授权码不存在",solution:"",updateTime:1544179533e3},{moduleCode:"",detailCode:"10015",description:"授权地址不存在",solution:"",updateTime:154416324e4},{moduleCode:"",detailCode:"320423",description:"",solution:"",updateTime:1544100685e3},{moduleCode:"",detailCode:"370009",description:"",solution:"",updateTime:1544077151e3},{moduleCode:"",detailCode:"10031",description:"子账户或萤石用户没有权限",solution:"",updateTime:1543990462e3},{moduleCode:"",detailCode:"10055",description:"设备不支持试用云存储服务",solution:"",updateTime:1543986292e3},{moduleCode:"",detailCode:"60042",description:"添加的设备密码错误",solution:"",updateTime:1543710913e3},{moduleCode:"",detailCode:"60082",description:"设备正在响应本次声源定位",solution:"",updateTime:1543647426e3},{moduleCode:"",detailCode:"10056",description:"设备不支持云存储服务转出",solution:"",updateTime:1543558342e3},{moduleCode:"",detailCode:"20104",description:"好友不存在",solution:"",updateTime:1543492403e3},{moduleCode:"",detailCode:"20111",description:"好友不是等待验证状态,无法接受邀请",solution:"",updateTime:1543492365e3},{moduleCode:"",detailCode:"20107",description:"不能添加自己为好友",solution:"",updateTime:1543480986e3},{moduleCode:"",detailCode:"1",description:"设备返回其他错误",solution:"",updateTime:1543459921e3},{moduleCode:"",detailCode:"60084",description:"当前正在关闭隐私遮蔽",solution:"",updateTime:1543456515e3},{moduleCode:"",detailCode:"380255",description:"",solution:"",updateTime:1543411652e3},{moduleCode:"",detailCode:"20015",description:"设备不支持",solution:"",updateTime:1543390936e3},{moduleCode:"",detailCode:"30003",description:"手机验证码错误",solution:"",updateTime:1543389137e3},{moduleCode:"",detailCode:"20615",description:"锁用户已存在",solution:"",updateTime:1543388325e3},{moduleCode:"",detailCode:"60061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:1543372581e3},{moduleCode:"",detailCode:"60020",description:"设备不支持该信令",solution:"",updateTime:1543321636e3},{moduleCode:"",detailCode:"320146",description:"",solution:"",updateTime:1543318472e3},{moduleCode:"",detailCode:"60018",description:"设备升级失败",solution:"",updateTime:1543304928e3},{moduleCode:"",detailCode:"60044",description:"添加的设备网络不可达超时",solution:"",updateTime:1543304102e3},{moduleCode:"",detailCode:"20619",description:"主用户无法删除",solution:"",updateTime:1543290219e3},{moduleCode:"",detailCode:"20608",description:"锁用户不存在",solution:"",updateTime:154328195e4},{moduleCode:"",detailCode:"20609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:1543281601e3},{moduleCode:"",detailCode:"1049954",description:"升级设备失败",solution:"",updateTime:1543279264e3},{moduleCode:"",detailCode:"60009",description:"正在调用预置点",solution:"",updateTime:1543238114e3},{moduleCode:"",detailCode:"1052677",description:"获取本地录像失败",solution:"",updateTime:1543207604e3},{moduleCode:"",detailCode:"327000",description:"",solution:"",updateTime:1543196609e3},{moduleCode:"",detailCode:"20021",description:"设备在线,未被用户添加",solution:"",updateTime:1543193436e3},{moduleCode:"",detailCode:"20202",description:"操作留言信息失败",solution:"",updateTime:1543191562e3},{moduleCode:"",detailCode:"1052678",description:"获取本地录像失败",solution:"",updateTime:1543132218e3},{moduleCode:"",detailCode:"1054723",description:"格式化设备失败",solution:"",updateTime:1543129833e3},{moduleCode:"",detailCode:"20109",description:"对应分享不存在",solution:"",updateTime:1543129111e3},{moduleCode:"",detailCode:"60026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:1543110403e3},{moduleCode:"",detailCode:"60083",description:"当前正在开启隐私遮蔽",solution:"",updateTime:1543071148e3},{moduleCode:"",detailCode:"60001",description:"用户无云台控制权限",solution:"",updateTime:1543059167e3},{moduleCode:"",detailCode:"2003",description:"设备不在线",solution:"",updateTime:1543051046e3},{moduleCode:"",detailCode:"-24",description:"设置设备enable错误",solution:"",updateTime:1543042701e3},{moduleCode:"",detailCode:"10018",description:"",solution:"",updateTime:1543041564e3},{moduleCode:"",detailCode:"20103",description:"好友已存在",solution:"",updateTime:154303843e4},{moduleCode:"",detailCode:"70010",description:"授权异常请重试",solution:"",updateTime:154303559e4},{moduleCode:"",detailCode:"60056",description:"删除设备失败",solution:"",updateTime:1543031275e3},{moduleCode:"",detailCode:"60040",description:"添加的设备不在同一局域网",solution:"",updateTime:154303121e4},{moduleCode:"",detailCode:"60019",description:"加密已开启",solution:"",updateTime:1543029931e3},{moduleCode:"",detailCode:"1054722",description:"格式化设备失败",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"20016",description:"当前设备正在格式化",solution:"",updateTime:1543028537e3},{moduleCode:"",detailCode:"10024",description:"透明通道权限校验不通过",solution:"",updateTime:154302554e4},{moduleCode:"",detailCode:"6002",description:"删除设备失败!",solution:"",updateTime:1543025026e3},{moduleCode:"",detailCode:"1011",description:"验证码错误!",solution:"",updateTime:1543016865e3},{moduleCode:"",detailCode:"60032",description:"卡密已使用",solution:"",updateTime:1543006668e3},{moduleCode:"",detailCode:"10034",description:"子账号已存在",solution:"",updateTime:1542989194e3},{moduleCode:"",detailCode:"20301",description:"根据uuid查询联动信息不存在",solution:"",updateTime:1542988651e3},{moduleCode:"",detailCode:"1041",description:"获取验证码过于频繁",solution:"",updateTime:1542980953e3},{moduleCode:"",detailCode:"10012",description:"该appkey下已绑定重复的phone!",solution:"",updateTime:15429808e5},{moduleCode:"",detailCode:"1008",description:"phone不合法!",solution:"",updateTime:1542979812e3},{moduleCode:"",detailCode:"60023",description:"订阅操作失败",solution:"",updateTime:1542979006e3},{moduleCode:"",detailCode:"5",description:"设备返回其他错误",solution:"",updateTime:1542977828e3},{moduleCode:"",detailCode:"60006",description:"云台当前操作失败",solution:"",updateTime:1542977598e3},{moduleCode:"",detailCode:"131",description:"修改视频清晰度失败!",solution:"",updateTime:1542977246e3},{moduleCode:"",detailCode:"10019",description:"密码错误",solution:"",updateTime:1542976628e3},{moduleCode:"",detailCode:"10004",description:"用户不存在",solution:"",updateTime:1542976268e3},{moduleCode:"",detailCode:"20201",description:"操作报警信息失败",solution:"",updateTime:1542975906e3},{moduleCode:"",detailCode:"20024",description:"设备不在线,已经被别的用户添加",solution:"",updateTime:1542975858e3},{moduleCode:"",detailCode:"60004",description:"设备云台旋转达到左限位",solution:"",updateTime:1542975207e3},{moduleCode:"",detailCode:"1052679",description:"修改视频清晰度失败!",solution:"",updateTime:1542974886e3},{moduleCode:"",detailCode:"20031",description:"请在萤石客户端关闭终端绑定",solution:"",updateTime:1542974756e3},{moduleCode:"",detailCode:"1053825",description:"获取本地录像失败",solution:"",updateTime:1542974692e3},{moduleCode:"",detailCode:"60011",description:"预置点不存在",solution:"",updateTime:1542974414e3},{moduleCode:"",detailCode:"1052936",description:"修改视频清晰度失败!",solution:"",updateTime:154297439e4},{moduleCode:"",detailCode:"1016",description:"",solution:"",updateTime:1542974273e3},{moduleCode:"",detailCode:"10032",description:"子账号不存在",solution:"",updateTime:1542973906e3},{moduleCode:"",detailCode:"20013",description:"设备已被别人添加",solution:"",updateTime:1542973817e3},{moduleCode:"",detailCode:"50000",description:"服务器错误!",solution:"",updateTime:1542973801e3},{moduleCode:"",detailCode:"60010",description:"该预置点已经是当前位置",solution:"",updateTime:15429738e5},{moduleCode:"",detailCode:"60003",description:"设备云台旋转达到下限位",solution:"",updateTime:154297377e4},{moduleCode:"",detailCode:"4",description:"设备返回其他错误",solution:"",updateTime:1542973755e3},{moduleCode:"",detailCode:"60016",description:"加密未开启,无需关闭",solution:"",updateTime:1542973753e3},{moduleCode:"",detailCode:"60002",description:"设备云台旋转达到上限位",solution:"",updateTime:1542973742e3},{moduleCode:"",detailCode:"20023",description:"设备不在线,未被用户添加",solution:"",updateTime:1542973685e3},{moduleCode:"",detailCode:"10008",description:"",solution:"",updateTime:1542973676e3},{moduleCode:"",detailCode:"20010",description:"设备验证码错误",solution:"",updateTime:1542973658e3},{moduleCode:"",detailCode:"60005",description:"设备云台旋转达到右限位",solution:"",updateTime:1542973657e3},{moduleCode:"",detailCode:"20017",description:"设备已经被自己添加",solution:"",updateTime:1542973648e3},{moduleCode:"",detailCode:"20020",description:"设备在线,已经被自己添加",solution:"",updateTime:1542973533e3},{moduleCode:"",detailCode:"20029",description:"设备不在线,已经被自己添加",solution:"",updateTime:154297353e4},{moduleCode:"",detailCode:"10014",description:"APPKEY下对应的第三方userId和phone未绑定!",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"20002",description:"设备不存在",solution:"",updateTime:1542973499e3},{moduleCode:"",detailCode:"10030",description:"appkey和appsecret不匹配",solution:"",updateTime:154297349e4},{moduleCode:"",detailCode:"20022",description:"设备在线,已经被别的用户添加",solution:"",updateTime:1542973486e3},{moduleCode:"",detailCode:"20008",description:"设备响应超时",solution:"",updateTime:1542973484e3},{moduleCode:"",detailCode:"20032",description:"该用户下通道不存在",solution:"",updateTime:1542973481e3},{moduleCode:"",detailCode:"20006",description:"网络异常",solution:"",updateTime:1542973475e3},{moduleCode:"",detailCode:"20014",description:"deviceSerial不合法!",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20007",description:"设备不在线",solution:"",updateTime:1542973454e3},{moduleCode:"",detailCode:"20018",description:"该用户不拥有该设备",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10010",description:"",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"10011",description:"未绑定!",solution:"",updateTime:1542973453e3},{moduleCode:"",detailCode:"20001",description:"通道不存在!",solution:"",updateTime:1542973452e3},{moduleCode:"",detailCode:"10017",description:"appKey不存在",solution:"",updateTime:1542973451e3},{moduleCode:"",detailCode:"400259",description:"",solution:"",updateTime:1542875643e3},{moduleCode:"",detailCode:"400004",description:"",solution:"",updateTime:1542873364e3},{moduleCode:"",detailCode:"3840",description:"",solution:"",updateTime:154186e7},{moduleCode:"",detailCode:"-1017",description:"",solution:"",updateTime:1541733663e3},{moduleCode:"",detailCode:"320025",description:"",solution:"",updateTime:1541078281e3},{moduleCode:"",detailCode:"320024",description:"",solution:"",updateTime:1540801374e3},{moduleCode:"",detailCode:"321002",description:"",solution:"",updateTime:1540631734e3},{moduleCode:"",detailCode:"321000",description:"",solution:"",updateTime:1540609178e3},{moduleCode:"",detailCode:"321022",description:"",solution:"",updateTime:1540548345e3},{moduleCode:"",detailCode:"321016",description:"",solution:"",updateTime:1540287187e3},{moduleCode:"",detailCode:"320023",description:"",solution:"",updateTime:1539825993e3},{moduleCode:"",detailCode:"-1016",description:"",solution:"",updateTime:1539584931e3},{moduleCode:"",detailCode:"8",description:"",solution:"",updateTime:1539391812e3},{moduleCode:"",detailCode:"1075127593",description:"",solution:"",updateTime:1538959251e3},{moduleCode:"",detailCode:"380421",description:"",solution:"",updateTime:1537288465e3},{moduleCode:"",detailCode:"322000",description:"麦克风权限未开启",solution:"",updateTime:1536820136e3},{moduleCode:"",detailCode:"1152678",description:"",solution:"",updateTime:1536738348e3},{moduleCode:"",detailCode:"320047",description:"",solution:"",updateTime:1536664472e3},{moduleCode:"",detailCode:"327006",description:"",solution:"",updateTime:153613612e4},{moduleCode:"",detailCode:"1074807593",description:"",solution:"",updateTime:1536135035e3},{moduleCode:"",detailCode:"320291",description:"",solution:"",updateTime:1536110836e3},{moduleCode:"",detailCode:"320045",description:"",solution:"",updateTime:1535963775e3},{moduleCode:"",detailCode:"370004",description:"",solution:"",updateTime:1535883699e3},{moduleCode:"",detailCode:"1149954",description:"",solution:"",updateTime:1535700674e3},{moduleCode:"",detailCode:"320053",description:"",solution:"",updateTime:1535681079e3},{moduleCode:"",detailCode:"400000",description:"",solution:"",updateTime:1535532332e3},{moduleCode:"",detailCode:"110028",description:"个人版抓图接口日调用次数超出限制",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348756e3},{moduleCode:"",detailCode:"110027",description:"个人版帐号数量超出安全限制,无法调用",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348734e3},{moduleCode:"",detailCode:"110026",description:"设备数量超出个人版限制,当前设备无法操作",solution:"请升级企业版:https://open.ys7.com/price.html",updateTime:1535348588e3},{moduleCode:"",detailCode:"100000",description:"",solution:"",updateTime:1534980008e3},{moduleCode:"",detailCode:"324004",description:"",solution:"",updateTime:1534927762e3},{moduleCode:"",detailCode:"360104",description:"",solution:"",updateTime:1534761006e3},{moduleCode:"",detailCode:"320204",description:"",solution:"",updateTime:1534584221e3},{moduleCode:"",detailCode:"380001",description:"",solution:"",updateTime:1534404715e3},{moduleCode:"",detailCode:"380204",description:"",solution:"",updateTime:1534401682e3},{moduleCode:"",detailCode:"328006",description:"",solution:"",updateTime:1534144407e3},{moduleCode:"",detailCode:"321703",description:"",solution:"",updateTime:1534127274e3},{moduleCode:"",detailCode:"321510",description:"",solution:"",updateTime:1533428892e3},{moduleCode:"",detailCode:"321006",description:"",solution:"",updateTime:1533036916e3},{moduleCode:"",detailCode:"50009",description:"",solution:"",updateTime:1532078548e3},{moduleCode:"",detailCode:"50007",description:"",solution:"",updateTime:153199172e4},{moduleCode:"",detailCode:"50018",description:"",solution:"",updateTime:1531912829e3},{moduleCode:"",detailCode:"380451",description:"",solution:"",updateTime:15316157e5},{moduleCode:"",detailCode:"380336",description:"",solution:"",updateTime:1531231721e3},{moduleCode:"",detailCode:"360020",description:"",solution:"",updateTime:1531117554e3},{moduleCode:"",detailCode:"380418",description:"",solution:"",updateTime:153110707e4},{moduleCode:"",detailCode:"1153445",description:"设备在该时间段内没有录像",solution:"",updateTime:1530944007e3},{moduleCode:"",detailCode:"110007",description:"调用接口总次数达到上限",solution:"请升级企业版,获取更高能力",updateTime:1530935584e3},{moduleCode:"",detailCode:"360019",description:"",solution:"",updateTime:1530869771e3},{moduleCode:"",detailCode:"360100",description:"",solution:"",updateTime:1530786188e3},{moduleCode:"",detailCode:"380042",description:"",solution:"",updateTime:1530775199e3},{moduleCode:"",detailCode:"320355",description:"",solution:"",updateTime:1530716074e3},{moduleCode:"",detailCode:"100003",description:"",solution:"",updateTime:1530232541e3},{moduleCode:"",detailCode:"371026",description:"",solution:"",updateTime:15301926e5},{moduleCode:"",detailCode:"102",description:"",solution:"",updateTime:1529895641e3},{moduleCode:"",detailCode:"380201",description:"",solution:"",updateTime:1529740929e3},{moduleCode:"",detailCode:"320054",description:"",solution:"",updateTime:1529544875e3},{moduleCode:"",detailCode:"500101",description:"",solution:"",updateTime:1529485953e3},{moduleCode:"",detailCode:"321001",description:"",solution:"",updateTime:1529411048e3},{moduleCode:"",detailCode:"321508",description:"",solution:"",updateTime:1529393279e3},{moduleCode:"",detailCode:"405991",description:"",solution:"",updateTime:1529380238e3},{moduleCode:"",detailCode:"380461",description:"",solution:"",updateTime:1529130941e3},{moduleCode:"",detailCode:"-1019",description:"",solution:"",updateTime:1529057245e3},{moduleCode:"",detailCode:"322009",description:"",solution:"",updateTime:1528965717e3},{moduleCode:"",detailCode:"324005",description:"",solution:"",updateTime:1528950153e3},{moduleCode:"",detailCode:"325000",description:"",solution:"",updateTime:1528947143e3},{moduleCode:"",detailCode:"326032",description:"",solution:"",updateTime:1528872971e3},{moduleCode:"",detailCode:"325032",description:"",solution:"",updateTime:1528863189e3},{moduleCode:"",detailCode:"328000",description:"",solution:"",updateTime:1528794505e3},{moduleCode:"",detailCode:"53",description:"",solution:"",updateTime:1528693249e3},{moduleCode:"",detailCode:"-1020",description:"",solution:"",updateTime:152849944e4},{moduleCode:"",detailCode:"329032",description:"",solution:"",updateTime:1528446301e3},{moduleCode:"",detailCode:"-1202",description:"",solution:"",updateTime:152843982e4},{moduleCode:"",detailCode:"2",description:"",solution:"",updateTime:1528434175e3},{moduleCode:"",detailCode:"1152936",description:"",solution:"",updateTime:1528345986e3},{moduleCode:"",detailCode:"328011",description:"",solution:"",updateTime:15283386e5},{moduleCode:"",detailCode:"28",description:"",solution:"",updateTime:152833753e4},{moduleCode:"",detailCode:"320356",description:"",solution:"",updateTime:1528188693e3},{moduleCode:"",detailCode:"320357",description:"",solution:"",updateTime:1528188517e3},{moduleCode:"",detailCode:"405800",description:"",solution:"",updateTime:1528168732e3},{moduleCode:"",detailCode:"405996",description:"",solution:"",updateTime:1528168686e3},{moduleCode:"",detailCode:"380357",description:"",solution:"",updateTime:1528011565e3},{moduleCode:"",detailCode:"328022",description:"",solution:"",updateTime:1527929065e3},{moduleCode:"",detailCode:"380003",description:"",solution:"",updateTime:1527927819e3},{moduleCode:"",detailCode:"50004",description:"",solution:"",updateTime:1527770643e3},{moduleCode:"",detailCode:"50011",description:"",solution:"",updateTime:1527770635e3},{moduleCode:"",detailCode:"370017",description:"",solution:"",updateTime:1527739514e3},{moduleCode:"",detailCode:"327032",description:"",solution:"",updateTime:1527726704e3},{moduleCode:"",detailCode:"324001",description:"",solution:"",updateTime:1527681892e3},{moduleCode:"",detailCode:"405997",description:"",solution:"",updateTime:1527653408e3},{moduleCode:"",detailCode:"405995",description:"",solution:"",updateTime:1527647283e3},{moduleCode:"",detailCode:"1153825",description:"",solution:"",updateTime:1527601747e3},{moduleCode:"",detailCode:"328002",description:"",solution:"",updateTime:1527495292e3},{moduleCode:"",detailCode:"1152679",description:"",solution:"",updateTime:1527486665e3},{moduleCode:"",detailCode:"380356",description:"",solution:"",updateTime:1527125669e3},{moduleCode:"",detailCode:"328032",description:"",solution:"",updateTime:1527069382e3},{moduleCode:"",detailCode:"22",description:"",solution:"",updateTime:1527049826e3},{moduleCode:"",detailCode:"9",description:"",solution:"",updateTime:1527006778e3},{moduleCode:"",detailCode:"89",description:"",solution:"",updateTime:1526622784e3},{moduleCode:"",detailCode:"328016",description:"",solution:"",updateTime:1526452365e3},{moduleCode:"",detailCode:"368005",description:"",solution:"",updateTime:1525921264e3},{moduleCode:"",detailCode:"0",description:"",solution:"",updateTime:1525920242e3},{moduleCode:"",detailCode:"380006",description:"",solution:"",updateTime:1525918868e3},{moduleCode:"",detailCode:"310",description:"",solution:"",updateTime:1525834436e3},{moduleCode:"",detailCode:"360011",description:"",solution:"",updateTime:1525681552e3},{moduleCode:"",detailCode:"170005",description:"",solution:"",updateTime:15254339e5},{moduleCode:"",detailCode:"50023",description:"",solution:"",updateTime:1525403338e3},{moduleCode:"",detailCode:"100131",description:"",solution:"",updateTime:1525229691e3},{moduleCode:"",detailCode:"-1018",description:"",solution:"",updateTime:1525142341e3},{moduleCode:"",detailCode:"362026",description:"",solution:"",updateTime:1524882677e3},{moduleCode:"",detailCode:"368007",description:"",solution:"",updateTime:1524832269e3},{moduleCode:"",detailCode:"54",description:"",solution:"",updateTime:1524793646e3},{moduleCode:"",detailCode:"1154722",description:"",solution:"",updateTime:1524620807e3},{moduleCode:"",detailCode:"320229",description:"",solution:"",updateTime:1524551682e3},{moduleCode:"",detailCode:"360012",description:"",solution:"",updateTime:1524472094e3},{moduleCode:"",detailCode:"380229",description:"",solution:"",updateTime:1524110755e3},{moduleCode:"",detailCode:"360016",description:"",solution:"",updateTime:1523933518e3},{moduleCode:"",detailCode:"-1003",description:"",solution:"",updateTime:1523584804e3},{moduleCode:"",detailCode:"410026",description:"",solution:"",updateTime:152351743e4},{moduleCode:"",detailCode:"360102",description:"TTS初始化失败",solution:"",updateTime:1523503528e3},{moduleCode:"",detailCode:"360013",description:"设备开启了隐私保护",solution:"",updateTime:1523503507e3},{moduleCode:"",detailCode:"360010",description:"设备正在对讲中",solution:"",updateTime:1523503491e3},{moduleCode:"",detailCode:"360007",description:"TTS关闭了与客户端的连接",solution:"",updateTime:1523503475e3},{moduleCode:"",detailCode:"360006",description:"客户端接收发生错误",solution:"",updateTime:1523503457e3},{moduleCode:"",detailCode:"360005",description:"客户端发送的消息错误",solution:"",updateTime:1523503437e3},{moduleCode:"",detailCode:"360004",description:"TTS内部发生错误",solution:"",updateTime:1523503421e3},{moduleCode:"",detailCode:"360003",description:"TTS的设备端发生错误",solution:"",updateTime:1523503397e3},{moduleCode:"",detailCode:"360002",description:"对讲发起超时",solution:"",updateTime:1523503376e3},{moduleCode:"",detailCode:"360001",description:"客户端请求超时",solution:"",updateTime:1523503357e3},{moduleCode:"",detailCode:"320077",description:"",solution:"",updateTime:1523444274e3},{moduleCode:"",detailCode:"370047",description:"",solution:"",updateTime:152344048e4},{moduleCode:"",detailCode:"100002",description:"",solution:"",updateTime:1523413964e3},{moduleCode:"",detailCode:"-1004",description:"",solution:"",updateTime:1523336653e3},{moduleCode:"",detailCode:"380000",description:"",solution:"",updateTime:1523180856e3},{moduleCode:"",detailCode:"380213",description:"",solution:"",updateTime:1523180623e3},{moduleCode:"",detailCode:"380101",description:"",solution:"",updateTime:1522834231e3},{moduleCode:"",detailCode:"50047",description:"",solution:"",updateTime:1522833243e3},{moduleCode:"",detailCode:"-999",description:"",solution:"",updateTime:1522831034e3},{moduleCode:"",detailCode:"320418",description:"",solution:"",updateTime:1522829072e3},{moduleCode:"",detailCode:"-1009",description:"",solution:"",updateTime:1522746247e3},{moduleCode:"",detailCode:"320209",description:"",solution:"",updateTime:1522744395e3},{moduleCode:"",detailCode:"368006",description:"",solution:"",updateTime:15227443e5},{moduleCode:"",detailCode:"369003",description:"",solution:"",updateTime:1522736355e3},{moduleCode:"",detailCode:"405989",description:"",solution:"",updateTime:1522726571e3},{moduleCode:"",detailCode:"-1012",description:"",solution:"",updateTime:1522726203e3},{moduleCode:"",detailCode:"322016",description:"",solution:"",updateTime:1522722918e3},{moduleCode:"",detailCode:"500103",description:"",solution:"",updateTime:1522655556e3},{moduleCode:"",detailCode:"405999",description:"",solution:"",updateTime:1522654716e3},{moduleCode:"",detailCode:"321032",description:"",solution:"",updateTime:1522647732e3},{moduleCode:"",detailCode:"381101",description:"",solution:"",updateTime:1522392414e3},{moduleCode:"",detailCode:"399999",description:"",solution:"",updateTime:1522379834e3},{moduleCode:"",detailCode:"380103",description:"",solution:"",updateTime:1522312724e3},{moduleCode:"",detailCode:"360014",description:"",solution:"",updateTime:1522304341e3},{moduleCode:"",detailCode:"-1005",description:"",solution:"",updateTime:1522288195e3},{moduleCode:"",detailCode:"100005",description:"",solution:"",updateTime:1522218849e3},{moduleCode:"",detailCode:"100004",description:"",solution:"",updateTime:1522209053e3},{moduleCode:"",detailCode:"106002",description:"",solution:"",updateTime:15222062e5},{moduleCode:"",detailCode:"410030",description:"",solution:"",updateTime:1522162252e3},{moduleCode:"",detailCode:"-1002",description:"",solution:"",updateTime:152215069e4},{moduleCode:"",detailCode:"-1200",description:"",solution:"",updateTime:1522139025e3},{moduleCode:"",detailCode:"-1001",description:"",solution:"",updateTime:1522046436e3},{moduleCode:"",detailCode:"-1011",description:"",solution:"",updateTime:1522045931e3},{moduleCode:"",detailCode:"381102",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"381103",description:"",solution:"",updateTime:1522044953e3},{moduleCode:"",detailCode:"391205",description:"vtdu解析服务器ip失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391206",description:"vtdu描述符select失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391207",description:"vtdu文件描述符不在可读中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391208",description:"vtdu网络发生错误getsockopt",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"391209",description:"vtdu描述符select超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395000",description:"cas回复信令,发现内存已经释放(和设备之间异常断开)",msg:"播放失败请重试",solution:"检查设备网络;刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395400",description:"私有化协议vtm检测私有化协议中码流类型小于0或者设备序列号为空等非法参数场景返回(app不重试取流)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395402",description:"回放找不到录像文件",msg:"回放找不到录像文件,本地存储请检查存储卡是否接触良好",solution:"检查是否有存储卡并且接触良好",updateTime:1522034841e3},{moduleCode:"",detailCode:"395403",description:"操作码或信令密钥与设备不匹配",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395404",description:"设备不在线",solution:"检查设备网络;重启设备接入萤石云",msg:"设备不在线,请检查设备网络或重启设备接入萤石云",updateTime:1522034841e3},{moduleCode:"",detailCode:"395405",description:"流媒体向设备发送或接受信令超时/cas响应超时",msg:"播放失败,请检查设备网络或重启设备",solution:"检查设备网络;重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395406",description:"token失效",msg:"播放失败请重试或重启设备",solution:"刷新重试或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395407",description:"客户端的URL格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395409",description:"预览开启隐私保护",msg:"播放失败请关闭隐私遮蔽",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395410",description:"设备达到最大连接数",solution:"请升级设备固件版本",updateTime:1522034841e3},{moduleCode:"",detailCode:"395411",description:"token无权限",msg:"播放失败",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395412",description:"session不存在",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395413",description:"验证token的他异常(不具体) ",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395415",description:"设备通道错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395416",description:"设备资源受限",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395451",description:"设备不支持的码流类型",msg:"播放失败请重试或切换设备码流",solution:"刷新重试或者切换到高清模式",updateTime:1522034841e3},{moduleCode:"",detailCode:"395452",description:"设备链接流媒体服务器失败",msg:"播放失败,请检查设备网络或重启设备或重新加载",solution:"检查设备网络,重启设备,刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395454",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395455",description:"设备通道未关联",msg:"播放失败,请检查设备通道是否关联",solution:"检查设备通道是否关联",updateTime:152222018e4},{moduleCode:"",detailCode:"395456",description:"设备通道关联设备不在线",msg:"播放失败,请检查设备通道是否上线",solution:"检查设备通道是否上线",updateTime:152222018e4},{moduleCode:"",detailCode:"395457",description:"客户端不支持端到端加密",msg:"播放失败",solution:"客户端不支持端到端加密",updateTime:152222018e4},{moduleCode:"",detailCode:"395458",description:"设备不支持当前并发ECDH密",msg:"客户端不支持端到端加密",solution:"设备不支持当前并发ECDH密",updateTime:152222018e4},{moduleCode:"",detailCode:"395459",description:"VTDU 处理ECDH 加密失败",msg:"播放失败",solution:"VTDU 处理ECDH 加密失败",updateTime:152222018e4},{moduleCode:"",detailCode:"395460",description:"流媒体中关于设备取流会话不存在",msg:"播放失败请重试",solution:"流媒体中关于设备取流会话不存在",updateTime:152222018e4},{moduleCode:"",detailCode:"395492",description:"设备不支持的命令",msg:"操作失败,设备不支持",solution:"",updateTime:152222018e4},{moduleCode:"",detailCode:"395500",description:"服务器处理失败",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395501",description:"流媒体vtdu达到最大负载,请扩容",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395503",description:"vtm返回分配vtdu失败",msg:"播放失败请重试",solution:"vtdu服务异常,请请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395504",description:"流媒体vtdu达到最大负载",msg:"播放失败请重试",solution:"服务器负载达到上限,请稍后重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395505",description:"vtm ecdh解密失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395506",description:"vtm 返回IPC不支持取流(需要IPC添加NVR后支持)",msg:"播放失败,请绑定NVR使用",solution:"IPC绑定NVR使用",updateTime:1522034841e3},{moduleCode:"",detailCode:"395544",description:"设备返回无视频源",msg:"播放失败,请检查设备接触情况",solution:"设备是否接触良好; 如果一直无法解决,请联系技术支持",updateTime:1522034841e3},{moduleCode:"",detailCode:"395545",description:"视频分享时间已经结束",msg:"视频分享时间已结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395546",description:"vtdu返回达到取流并发路数限制",msg:"并发上限,请升级为企业版",solution:"请升级为企业版,放开并发限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395547",description:"vtdu返回开放平台用户并发限制",msg:"并发上限,请升级为企业版",solution:"请确定开放平台用户预览是否超过用户并发数量限制",updateTime:1522034841e3},{moduleCode:"",detailCode:"395556",description:"ticket校验失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395557",description:"回放服务器等待流头超时",msg:"播放失败请重试",solution:"刷新重试,检测设备网络,重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"395558",description:"查找录像开始时间错误",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395560",description:"群组分享取流二次验证失败",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395561",description:"分享群组用户被锁住",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395562",description:"群组分享用户权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395563",description:"认证服务连接失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395564",description:"认证超时",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395566",description:"不在分享时间内预览",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395567",description:"分享通道被锁定",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395568",description:"未找到认证类型",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395569",description:"认证返回的参数异常",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395600",description:"分享设备不在分享时间内",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395601",description:"群组分享用户没权限",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395602",description:"群组分享权限变更",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395610",description:"接收流头失败",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395620",description:"心跳超时",msg:"播放失败请重试并检查设备网络情况以及设备配置",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"395530",description:"机房故障不可用",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395701",description:"cas信令返回格式错误",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395702",description:"SPGW请求Cas、Status透传超时",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"395703",description:"SPGW请求http不通",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396001",description:"客户端参数出错",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396099",description:"客户端默认错误",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396101",description:"不支持的命令",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396102",description:"设备流头发送失败",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396103",description:"cas/设备返回错误1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396104",description:"cas/设备返回错误-1",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396105",description:"设备返回错误码3",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396106",description:"设备返回错误码4",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396107",description:"设备返回错误码5",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396108",description:"cas信令回应重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396109",description:"视频广场取消分享",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396110",description:"设备信令默认错误",msg:"播放失败请重试",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396501",description:"设备数据链路和实际链路不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396502",description:"设备数据链路重复建立连接",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396503",description:"设备数据链路端口不匹配",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396504",description:"缓存设备数据链路失败(内存块不足)",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396505",description:"设备发送确认头消息重复",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396506",description:"设备数据先于确定头部到达",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396508",description:"设备数据头部长度非法",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396509",description:"索引找不到设备数据管理块",msg:"播放失败请重试",solution:"刷新重试",updateTime:1522034841e3},{moduleCode:"",detailCode:"396510",description:"设备数据链路vtdu内存块协议状态不匹配",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396511",description:"设备数据头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396512",description:"设备数据头部非法(较笼统)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396513",description:"设备数据长度过小",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396514",description:"设备老协议推流头部没有streamkey错误",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396515",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396516",description:"设备老协议索引找不到内存管理块",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396517",description:"设备老协议推流数据非法",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396518",description:"设备数据包过大",msg:"播放失败请重试或重启设备",solution:"刷新重试,或者重启设备",updateTime:1522034841e3},{moduleCode:"",detailCode:"396519",description:"设备推流链路网络不稳定",msg:"播放失败,请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396520",description:"设备推流链路网络不稳定(默认)",msg:"播放失败请重试或重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396700",description:"异常数据包",msg:"播放失败,设备重启",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"396701",description:"回放结束数据包",msg:"回放结束",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397001",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397002",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397003",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397004",description:"与相应服务连接失败",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397005",description:"VTDU连接失败,或VTDU侧断开连接",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397006",description:"vtm断开连接(无需 关注)",msg:"播放失败请重试,请检查设备网络情况以及连接情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"397007",description:"客户端发送缓冲区满(上行带宽太小)",msg:"播放失败,上行带宽过小请检查设备网络情况",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399000",description:"无效包,包过大",msg:" 检查设备重启设备",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399001",description:"地址不合法",msg:"播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"399002",description:"缺少端口",msg:" 播放失败",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"170003",description:"refreshToken不存在",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"170004",description:"refreshToken已过期",solution:"建议用户重新调用logout接口,然后调用openLoginPage接口重新启动登录页面登录",updateTime:1522034841e3},{moduleCode:"",detailCode:"380011",description:"设备隐私保护中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380045",description:"设备直连取流连接数量过大",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380047",description:"设备不支持该命令",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380077",description:"设备正在对讲中",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380102",description:"数据接收异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380205",description:"设备检测入参异常",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380209",description:"网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"380212",description:"设备端网络连接超时",solution:"",updateTime:1522034841e3},{moduleCode:"",detailCode:"101007",description:"手机号未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120503",description:"正在响铃",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390016",description:"vtdu成功响应未携带流头",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101008",description:"手机号码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120504",description:"室内机正在通话",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390017",description:"无数据流,尚未使用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101009",description:"用户名与手机不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120505",description:"设备操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390018",description:"信令消息体PB解析失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101010",description:"获取验证码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120506",description:"非法命令",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390019",description:"信令消息体PB封装失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101011",description:"验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120507",description:"智能锁密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390020",description:"申请系统内存资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101012",description:"验证码失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120508",description:"开关锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390021",description:"vtdu地址尚未获取到",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101013",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120509",description:"开关锁超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390022",description:"客户端尚未支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101014",description:"密码不正确或者appKey不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120510",description:"智能锁设备繁忙",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390023",description:"获取系统socket资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101015",description:"用户被锁住",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120511",description:"远程开锁功能未打开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390024",description:"上层填充的StreamSsnId不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101021",description:"验证参数异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120600",description:"临时密码数已达上限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390025",description:"链接服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101026",description:"邮箱已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120601",description:"添加临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390026",description:"客户端请求未收到服务端应答",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101031",description:"邮箱未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120602",description:"删除临时密码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390027",description:"链路断开",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101032",description:"邮箱不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120603",description:"该临时密码不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390028",description:"没有取流链接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101041",description:"获取验证码过于频繁",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120604",description:"指纹锁射频通信失败,请稍后再试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390029",description:"流成功停止",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101043",description:"手机验证码输入错误超过规定次数",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120605",description:"其他用户正在认证中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390030",description:"客户端防串流校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102000",description:"设备不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120606",description:"验证已启动,请在120s内进行本地验证和调用添加设备接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390031",description:"应用层tcp粘包处理缓冲区满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102001",description:"摄像机不存在",solution:"摄像机未注册到萤石云平台,请仔细检查摄像机的网络配置,确保连接到网络",updateTime:152203484e4},{moduleCode:"",detailCode:"120607",description:"删除用户失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390032",description:"无效状态迁移",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102003",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"120608",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390033",description:"无效客户端状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102004",description:"设备异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120609",description:"设备响应超时,门锁通信故障或者电量不足,请重试.",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390034",description:"向vtm取流流媒体信息请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102007",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120610",description:"获取临时密码列表失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390035",description:"向代理取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"102009",description:"设备请求响应超时异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130001",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390036",description:"向代理保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105000",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130002",description:"手机号码已经注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390037",description:"向vtdu取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105001",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130003",description:"手机验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390038",description:"向vtdu保活取流请求超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"105002",description:"设备验证码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"130004",description:"终端绑定操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391001",description:"vtm地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107001",description:"邀请不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"149999",description:"数据异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391002",description:"vtm生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107002",description:"邀请验证失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"150000",description:"服务器异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391003",description:"vtm设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107003",description:"邀请用户不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160000",description:"设备不支持云台控制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391004",description:"vtm设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107004",description:"云存储连接失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160001",description:"用户无云台控制权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391005",description:"vtm解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"7005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107005",description:"VTDU主动断开连接",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160002",description:"设备云台旋转达到上限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391006",description:"vtm描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107006",description:"不能邀请自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160003",description:"设备云台旋转达到下限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391007",description:"vtm文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"107007",description:"重复邀请",solution:"分享和删除分享必须全部由接口形式操作,如果与萤石客户端混用会造成这个问题,解决办法:在萤石客户端清空所有相关分享数据并重新添加设备,再通过接口操作即可",updateTime:152203484e4},{moduleCode:"",detailCode:"160004",description:"设备云台旋转达到左限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391008",description:"vtm网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110001",description:"参数错误",solution:"参数为空或者格式不对",updateTime:152203484e4},{moduleCode:"",detailCode:"160005",description:"设备云台旋转达到右限位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391009",description:"vtm描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110002",description:"accessToken异常或过期",solution:"accessToken有效期为七天,建议在accessToken即将过期或者出现10002错误码的时候重新获取accessToken",updateTime:152203484e4},{moduleCode:"",detailCode:"160006",description:"云台当前操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391101",description:"proxy地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110004",description:"用户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160007",description:"预置点个数超过最大值",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391102",description:"proxy生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110005",description:"appKey异常",solution:"确认appKey状态,不通过或者冻结状态会返回该错误码",updateTime:152203484e4},{moduleCode:"",detailCode:"160009",description:"正在调用预置点",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391103",description:"proxy设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110006",description:"ip受限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160010",description:"该预置点已经是当前位置",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391104",description:"proxy设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160011",description:"预置点不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391105",description:"proxy解析服务器ip失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110008",description:"签名错误",solution:"①获取签名方式详见apidemo及[旧]API文档 ②注意编码格式为UTF-8",updateTime:152203484e4},{moduleCode:"",detailCode:"160013",description:"设备版本已是最新",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391106",description:"proxy描述符select失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110009",description:"签名参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160014",description:"设备正在升级",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391107",description:"proxy文件描述符不在可读中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110010",description:"签名超时",solution:"请调用同步服务器时间接口进行校时",updateTime:152203484e4},{moduleCode:"",detailCode:"160015",description:"设备正在重启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391108",description:"proxy网络发生错误getsockopt",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110011",description:"未开通萤石云服务",solution:"参照绑定流程",updateTime:152203484e4},{moduleCode:"",detailCode:"160016",description:"加密未开启,无须关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391109",description:"proxy描述符select超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110012",description:"第三方账户与萤石账号已经绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160017",description:"设备抓图失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391201",description:"vtdu地址或端口非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110013",description:"应用没有权限调用此接口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160018",description:"设备升级失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391202",description:"vtdu生成文件描述符失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110014",description:"APPKEY下对应的第三方userId和phone未绑定",solution:"获取AccessToken时所用appKey与SDK所用appKey不一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160019",description:"加密已开启",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"391203",description:"vtdu设置文件描述符非阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110017",description:"appKey不存在",solution:"请填写在官网申请的应用秘钥",updateTime:152203484e4},{moduleCode:"",detailCode:"160020",description:"不支持该命令",solution:"请确认设备是否支持该命令",updateTime:152203484e4},{moduleCode:"",detailCode:"391204",description:"vtdu设置文件描述符阻塞失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110018",description:"AccessToken与Appkey不匹配",solution:"请检查获取accessToken对应的appKey和SDK中设置的appKey是否一致",updateTime:152203484e4},{moduleCode:"",detailCode:"160023",description:"订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110019",description:"密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160024",description:"取消订阅操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110020",description:"请求方法为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160025",description:"客流统计配置失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110021",description:"ticket校验失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160026",description:"设备处于隐私遮蔽状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110022",description:"透传目的地非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160027",description:"设备正在镜像操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110024",description:"无透传权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160028",description:"设备正在键控动作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110025",description:"appKey被禁止使用通明通道",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160029",description:"设备处于语音对讲状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160030",description:"卡密输入错误次数过多,24小时后再输入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160031",description:"卡密信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160032",description:"卡密状态不对或已过期",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160033",description:"卡密非卖品,只能开通对应的绑定设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110030",description:"appKey和appSecret不匹配",solution:"请检查appKey和appSecret是否对应",updateTime:152203484e4},{moduleCode:"",detailCode:"160035",description:"购买云存储服务失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110031",description:"子账户或萤石用户没有权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160040",description:"添加的设备不在同一局域网",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110032",description:"子账户不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160041",description:"添加的设备被其他设备关联或响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110033",description:"子账户未设置授权策略",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160042",description:"添加的设备密码错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110034",description:"子账户已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160043",description:"添加的设备超出最大数量",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110035",description:"获取子账户AccessToken异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160044",description:"添加的设备网络不可达超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110036",description:"子账户被禁用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160045",description:"添加的设备的IP和其他通道的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"110051",description:"无权限进行抓图",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160046",description:"添加的设备的IP和本设备的IP冲突",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160047",description:"码流类型不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120002",description:"设备不存在",solution:"①设备没有注册到萤石云平台,请检查下设备网络参数,确保能正常连接网络②设备序列号不存在",updateTime:152203484e4},{moduleCode:"",detailCode:"160048",description:"带宽超出系统接入带宽",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120003",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160049",description:"IP或者端口不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120004",description:"参数异常,SDK版本过低",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160050",description:"添加的设备版本不支持需要升级才能接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120005",description:"安全认证失败,需进行SDK安全认证",solution:"已去掉安全验证",updateTime:152203484e4},{moduleCode:"",detailCode:"160051",description:"添加的设备不支持接入",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120006",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160052",description:"添加的设备通道号出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120007",description:"设备不在线",solution:"参考服务中心排查方法",updateTime:152203484e4},{moduleCode:"",detailCode:"160053",description:"添加的设备分辨率不支持",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120008",description:"设备响应超时",solution:"设备响应超时,请检测设备网络或重试",updateTime:152203484e4},{moduleCode:"",detailCode:"160054",description:"添加的设备账号被锁定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120009",description:"子账号不能添加设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160055",description:"添加的设备取码流出错",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120010",description:"设备验证码错误",solution:"验证码在设备标签上,六位大写字母,注意大小写",updateTime:152203484e4},{moduleCode:"",detailCode:"160056",description:"删除设备失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120012",description:"设备添加失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160057",description:"删除的设备未关联",solution:"检查IPC与NVR是否有关联关系",updateTime:152203484e4},{moduleCode:"",detailCode:"120013",description:"设备已被别人添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160060",description:"地址未绑定",solution:"请前往官网设置直播",updateTime:152203484e4},{moduleCode:"",detailCode:"120014",description:"设备序列号不正确",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160061",description:"账户流量已超出或未购买,限制开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120015",description:"设备不支持该功能",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160062",description:"该通道直播已开通",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120016",description:"当前设备正在格式化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160063",description:"直播未使用或直播已关闭",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120017",description:"设备已被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160070",description:"设备不能转移给自己",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120018",description:"该用户不拥有该设备",solution:"确认设备是否属于用户",updateTime:152203484e4},{moduleCode:"",detailCode:"160071",description:"设备不能转移,设备与其他设备存在关联关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400001",description:"参数为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120019",description:"设备不支持云存储服务",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160072",description:"设备不能转移,通道被分享给其他用户或者分享到视频广场",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400002",description:"参数错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120020",description:"设备在线,被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160073",description:"云存储转移失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400025",description:"设备不支持对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120021",description:"设备在线,但是未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160080",description:"当前正在声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400029",description:"没有初始化或资源被释放",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120022",description:"设备在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160081",description:"当前正在轨迹巡航",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400030",description:"json解析异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120023",description:"设备不在线,未被用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160082",description:"设备正在响应本次声源定位",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400031",description:"网络异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120024",description:"设备不在线,但是已经被别的用户添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"160083",description:"当前正在开启隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400032",description:"设备信息异常为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120025",description:"重复申请分享",solution:"确认设备是否由添加过该设备且申请过分享的账户下是否还存在分享记录",updateTime:152203484e4},{moduleCode:"",detailCode:"160084",description:"当前正在关闭隐私遮蔽",solution:"设备正在操作隐私遮蔽,无法进行当前操作",updateTime:152203484e4},{moduleCode:"",detailCode:"400034",description:"取流超时",solution:"一般是由于网络状况不好导致,可以尝试下让用户重新播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120026",description:"视频广场不存在该视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"380290",description:" 连接CAS服务器失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400035",description:"设备已加密,需要输入验证码",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120027",description:"视频转码失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361001",description:"对讲服务端排队超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400036",description:"播放验证码错误",solution:"收到此错误码,需要让用户输入验证码后,调用EZPlayer.setPlayKey传入验证码,并重新调用播放函数",updateTime:152203484e4},{moduleCode:"",detailCode:"120028",description:"设备固件升级包不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361002",description:"对讲服务端处理超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400037",description:"surfacehold错误",solution:"请检查是否是播放之前销毁了surface,收到此错误也可以重新建立surface后播放",updateTime:152203484e4},{moduleCode:"",detailCode:"120029",description:"设备不在线,但是已经被自己添加",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361003",description:"设备链接对讲服务器超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400100",description:"未知错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120030",description:"该用户不拥有该视频广场视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361004",description:"服务器内部错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400200",description:"player sdk出错,这种错误一般开发者也是无法解决,不具体分类传出,传一个统一的inner错误码出去",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120031",description:"开启终端绑定,硬件特征码验证失败",solution:"请在萤石客户端关闭终端绑定,参考此步骤",updateTime:152203484e4},{moduleCode:"",detailCode:"361005",description:"解析消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400300",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120032",description:"该用户下通道不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361006",description:"请求重定向--需要向其他服务申请对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400901",description:"设备不在线,可以提示用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120033",description:"无法收藏自己分享的视频",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361007",description:"请求url非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400902",description:"accesstoken异常或失效,需要重新获取accesstoken,并传入到sdk",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120034",description:"该用户下无设备",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361008",description:"token失效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400903",description:"当前账号开启了终端绑定,只允许指定设备登录操作,提示用户登录i.ys7.com解除终端绑定",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120090",description:"用户反馈失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361009",description:"设备验证码或者通信秘钥不匹配",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400904",description:"设备正在对讲中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120095",description:"APP包下载失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361010",description:"设备已经在对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"400905",description:"设备开启了隐私保护,不允许预览、对讲等",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120096",description:"APP包信息删除失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361011",description:"设备10s响应超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120101",description:"视频不支持分享给本人",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361012",description:"设备不在线",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320002",description:"参数无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120102",description:"无相应邀请信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361013",description:"设备开启隐私保护拒绝对讲",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320003",description:"暂不支持此操作",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120103",description:"好友已存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361014",description:"token无权限",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320004",description:"内存溢出",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120104",description:"好友不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361015",description:"设备返回session不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320005",description:"创建CAS session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120105",description:"好友状态错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361016",description:"验证token其他异常错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320006",description:"创建cloud session失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120106",description:"对应群组不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361017",description:"服务端监听设备建立端口超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320007",description:"token失效",solution:"重新设置token后再重试",updateTime:152203484e4},{moduleCode:"",detailCode:"120107",description:"不能添加自己为好友",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361018",description:"设备链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320008",description:"token池里面没有token,请传入token",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120108",description:"当前用户和所添加用户不是好友关系",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361019",description:"对讲服务端不支持的信令消息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320009",description:"传入新的INIT_PARAM并reset(保留,目前未用)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120109",description:"对应分享不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361020",description:"对讲服务端解析对讲请求未携带会话描述能力集",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320010",description:"请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120110",description:"好友群组不属于当前用户",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361021",description:"对讲服务端优先能力集结果为空",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320011",description:"500毫秒后请重试",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120111",description:"好友不是等待验证状态",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361022",description:"cas链路异常",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320012",description:"token池已满",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120112",description:"添加应用下的用户为好友失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361023",description:"对讲服务端分配对讲会话资源失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320013",description:"P2P client超过限制",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120201",description:"操作报警信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"361024",description:"对讲服务端解析信令消息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320014",description:"sdk未初始化",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120202",description:"操作留言信息失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390001",description:"通用错误返回",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320015",description:"超时",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120301",description:"根据UUID查询报警消息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390002",description:"入参为空指针",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320016",description:"正在打洞中",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120302",description:"根据UUID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390003",description:"入参值无效",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320017",description:"没有视频文件头(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120303",description:"根据FID查询图片不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390004",description:"信令消息解析非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320018",description:"解码错误/超时(播放器层面产生和处理此错误)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120305",description:"设备ip解析错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390005",description:"内存资源不足",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320019",description:"取消(保留,用户不用处理)",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120401",description:"用户云空间信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390006",description:"协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320020",description:"播放过程中预连接被用户清除预操作信息",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120402",description:"云空间操作失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390007",description:"设备序列号长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320021",description:"流加密码不对",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120403",description:"用户目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390008",description:"取流url长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"320022",description:"未传入播放窗口",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120404",description:"要操作的目标目录不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390009",description:"解析vtm返回vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"100200",description:"操作成功",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120405",description:"要删除的文件信息不存在",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390010",description:"解析vtm返回级联vtdu地址不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101001",description:"用户名不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120406",description:"已开通云存储",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390011",description:"解析vtm返回会话标识长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101002",description:"用户名已被占用",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120407",description:"开通记录失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390012",description:"vtdu返回流头长度不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101003",description:"密码不合法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120500",description:"获取数据错误",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390013",description:"vtdu会话长度非法",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101004",description:"密码为同一字符",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120501",description:"开锁失败",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390014",description:"回调函数未注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"101006",description:"手机号码已经被注册",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"120502",description:"室内机未收到呼叫",solution:"",updateTime:152203484e4},{moduleCode:"",detailCode:"390015",description:"vtdu成功响应未携带会话标识",solution:"",updateTime:152203484e4}],o3="200",n1="操作成功!",b1={data:Y3,code:o3,msg:n1},W3=function(){function O(N,d){a(this,O),this.coreX=N,this.coreY=d,console.log("ErrorCode",b1)}return r(O,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchErrorInfo",value:function(d){return b1.data.find(function(f){return f.detailCode.substr(-4)==d})}}]),O}(),R1={color:"red",backgroundColor:"red",activeColor:"red",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-0",iconId:"deviceID",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"},{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-header-1",iconId:"deviceName",part:"left",defaultActive:1,isrender:1,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},D1={color:"blue",backgroundColor:"blue",activeColor:"blue",btnList:[{btnKey:"ade5d065a113432e8091a1c5bc819c57-934f270c08b14e928bf0c2ae8e1a937d-footer-0",iconId:"play",part:"left",defaultActive:0,isrender:0,themeId:"934f270c08b14e928bf0c2ae8e1a937d"}]},Y1={header:R1,footer:D1},h3=function O(N){this.jsPlugin=N;var d={isMouseDown:!1,isOver:!1,mousePosition:null,oldTime:null,nowTime:null,moved:null,hoverTime:"2018-12-07 12:00:00",hoverLeft:0,timeTipShow:!1,randomNum:123,timeWidthTbls:[60,1800,3600,86400],timeUnits:["范围: 1分钟; 单位: 秒","范围: 30分钟; 单位: 分钟","范围: 1小时; 单位: 分钟","范围: 1天; 单位: 小时","范围: 3天; 单位: 小时"],drawPen:null,timeSection:[],canvasWidth:null,canvasHeight:null,timeTips:null},f=this;Object.keys(d).forEach(function(y){f[y]=d[y]}),this.options={width:this.canvasWidth,height:48,time:new Date().getTime(),timeSection:[],timeWidth:0},O.prototype.subTime=function(y){return y<10?"0"+y:y},O.prototype.tranTime=function(y){var b=y;if(y){var _=new Date(y);b=_.getFullYear()+"/"+(_.getMonth()+1)+"/"+_.getDate()+" "+this.subTime(_.getHours())+":"+this.subTime(_.getMinutes())+":"+this.subTime(_.getSeconds())}return b},O.prototype.init=function(y){y.width&&document.getElementById(y.id).setAttribute("width",parseInt(y.width,10)+"px");var b=this,_=this.options;b.randomNum=(Math.random()+"").split(".").join(""),b.timeWidthTblIndex=_.timeWidth;var M=document.querySelector("#".concat(this.jsPlugin.id,"-canvas"));b.drawPen=M.getContext("2d"),b.nowTime=_.time||Date.now(),b.timeSection=_.timeSection||[],b.canvasWidth=M.offsetWidth,b.canvasHeight=M.offsetHeight,b.updata(),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousemove",function(a2){b.options.readOnly||b.mousemove(a2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseover",function(a2){b.options.readOnly||b.mouseover(a2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseleave",function(a2){b.options.readOnly||b.mouseleave(a2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mousedown",function(a2){b.options.readOnly||b.mousedown(a2)}),document.getElementById("".concat(this.jsPlugin.id,"-canvas")).addEventListener("mouseup",function(a2){if(!b.options.readOnly){var Z=y.onChange;b.mouseUpFn(a2,Z)}})},O.prototype.setWidth=function(y){var b=this,_=this;y.width&&(document.getElementById(this.jsPlugin.id).style.width=y.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=y.width,document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=y.width,_.canvasWidth=y.width,setTimeout(function(){b.updata({time:new Date})},500))},O.prototype.mousemove=function(y){if(this.isMouseDown&&this.isOver){var b=this.mousePosition-y.pageX;if(b===0)return;var _=0;switch(this.timeWidth){case 60:_=1/10;break;case 1800:_=1/20*60;break;case 3600:_=1/20*60;break;case 86400:_=1/30*60*60;break}var M=new Date(this.oldTime).getTime()+b*_*1e3;this.updata({time:M}),this.moved=!0}else{var a2=parseInt(document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).offsetLeft,10);this.mousePosition=y.pageX-a2,this.updata()}},O.prototype.mousedown=function(y){this.isMouseDown=!0,this.mousePosition=y.pageX,this.oldTime=this.nowTime},O.prototype.mouseover=function(y){this.isOver=!0},O.prototype.mouseleave=function(y){this.isOver=!1,this.isMouseDown=!1,this.updata()},O.prototype.changeSize=function(y){console.log("changeSize",y),this.options.timeWidth=y,this.updata({timeWidth:y})},O.prototype.mouseUpFn=function(y,b){if(this.isMouseDown&&(this.isMouseDown=!1,this.moved)){this.moved=!1;var _=this.subTime(new Date(this.nowTime).getHours())+":"+this.subTime(new Date(this.nowTime).getMinutes())+":"+this.subTime(new Date(this.nowTime).getSeconds()),M=new Date(this.oldTime).getFullYear()+"/"+(new Date(this.oldTime).getMonth()+1)+"/"+new Date(this.oldTime).getDate();this.nowTime=new Date("".concat(M," ").concat(_)),this.updata({time:this.nowTime}),this.oldTime=this.nowTime,console.log("nowTime",new Date(this.nowTime),"".concat(M," ").concat(_)),b(this.nowTime)}},O.prototype.readOnly=function(y){console.log("更改为只读"),this.options.readOnly=!0,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="not-allowed"},O.prototype.unReadOnly=function(y){console.log("更改为只读"),this.options.readOnly=!1,document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.cursor="pointer"},O.prototype.run=function(y){this.isMouseDown||this.updata(y)},O.prototype.getTime=function(y){console.log("this",this),console.log("当前时间",new Date(this.nowTime))},O.prototype.updata=function(y){var b=this;y=y||{},b.nowTime=y.time||b.nowTime,b.timeSection=y.timeSection||b.timeSection,b.timeWidthTblIndex=y.timeWidth||b.timeWidthTblIndex,b.timeWidth=b.timeWidthTbls[y.timeWidth||b.timeWidthTblIndex],b.timeUnit=b.timeUnits[y.timeWidth||b.timeWidthTblIndex],y.timeWidth===0&&(b.timeWidthTblIndex=0,b.timeWidth=b.timeWidthTbls[0],b.timeUnit=b.timeUnits[0]),b.drawPen.fillStyle="#000000",b.drawPen.fillRect(0,0,b.canvasWidth,b.canvasHeight),b.drawScale(),b.drawRecord(),b.drawOtherMsg(),document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.width=b.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.width=b.options.width+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas-container")).style.height=b.options.height+"px",document.getElementById("".concat(this.jsPlugin.id,"-canvas")).style.height=b.options.height+"px"},O.prototype.drawSolidLine=function(y,b,_,M,a2,Z){this.drawPen.save(),this.drawPen.strokeStyle=Z,this.drawPen.lineWidth=a2,this.drawPen.beginPath(),this.drawPen.moveTo(y,b),this.drawPen.lineTo(_,M),this.drawPen.stroke(),this.drawPen.restore()},O.prototype.drawString=function(y,b,_,M,a2){this.drawPen.font="12px serif",this.drawPen.fillStyle="#ffffff",this.drawPen.textAlign=M||"left",this.drawPen.fillText(y,b,_+10)},O.prototype.drawScale=function(){var y=this,b="rgba(255,255,255)",_=new Date(y.nowTime),M=_.getFullYear(),a2=_.getSeconds(),Z=_.getMinutes(),t2=_.getHours(),J=_.getDate(),Y=0;switch(y.timeWidth){case 60:{var k2=parseInt(y.canvasWidth/10);_.setSeconds(_.getSeconds()-parseInt(k2/2,10)),J=_.getDate(),t2=_.getHours(),Z=_.getMinutes(),a2=_.getSeconds();for(var y2=0;y2b.canvasWidth&&(y2=b.canvasWidth),y2<=0&&(y2=0),y2}},O.prototype.drawOtherMsg=function(){this.drawSolidLine(this.canvasWidth/2,0,this.canvasWidth/2,this.canvasHeight,2,"#1890FF"),this.drawPen.shadowBlur=0,this.isOver&&!this.isMouseDown?(this.mouseTime=this.mousePosition/this.canvasWidth*this.timeWidth*1e3+this.nowTime-this.timeWidth/2*1e3,this.mouseString=this.tranTime(this.mouseTime),this.hoverTime=this.mouseString,this.hoverLeft=this.mousePosition-60,this.timeTipShow=!0):this.timeTipShow=!1}},x3=function(){function O(N){if(a(this,O),this.jSPlugin=N,!document.getElementById("".concat(this.jSPlugin.id,"-audioControls")))return!1;this.currentTimeWidth=0,this.date=new Date,this.datepickerVisible=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency),this.recInit()}return r(O,[{key:"recInit",value:function(){var d=this;this.currentTimeWidth=0;var f=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100,y=document.createElement("div");y.style="display:inline-block;height:48px;",y.id=this.jSPlugin.id+"-canvas-container";var b=document.createElement("canvas");b.id=this.jSPlugin.id+"-canvas",b.className="time-line-body",b.height="48",b.width=f,b.style="display:inline-block;",b.innerHTML="该浏览器不支持canvas",y.appendChild(b),g(y,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")));var _=document.createElement("div");_.className="timeline-controls",_.style="display:flex;width:100px;height:48px;text-align:center;line-height: 48px;vertical-align: top;background: #000000;";var M=` -
    - - - add - - - - - - - - - - - - - - reduce - - - - - - - - -
    - - -`);_.innerHTML=M,g(_,y),this.timeLine=new h3(this.jSPlugin),this.timeLine.init({id:this.jSPlugin.id+"-canvas",width:f,onChange:function(Y){console.log("time",Y,new Date(Y).Format("yyyyMMddhhmmss"));var k2=new Date(Y).Format("yyyyMMddhhmmss");if(console.log("----------------this.jSPlugin.url",d.jSPlugin.url),S2(d.jSPlugin.url).type==="cloud.rec"||d.jSPlugin.capacity&&d.jSPlugin.capacity.support_seek_playback=="1"){var y2=function(){d.jSPlugin.seek(k2.substr(8,6),"235959"),d.unSyncTimeLine(),setTimeout(function(){d.syncTimeLine()},6e3)};d.seekTimer?clearTimeout(d.seekTimer):y2(),d.seekTimer=setTimeout(function(){y2(),clearTimeout(d.seekTimer),d.seekTimer=null},d.seekFrequency)}else{var o2=function(){setTimeout(function(){d.disabled=!1},d.seekFrequency)},d2=function(n2){d.disabled=!0,d.jSPlugin.pause().then(function(){console.log("暂停成功"),d.jSPlugin.resume(k2).then(function(T){console.log("恢复成功:",T),d.jSPlugin.Theme&&d.jSPlugin.Theme.setDecoderState({play:!0}),d.jSPlugin.Theme&&d.jSPlugin.Theme.decoderState.state.sound&&d.jSPlugin.openSound(),n2&&n2()}).catch(function(T){console.log("恢复失败",T)})}).catch(function(){console.log("暂停失败"),d.jSPlugin.resume(k2).then(function(T){console.log("恢复成功"),d.jSPlugin.Theme&&d.jSPlugin.Theme.setDecoderState({play:!0}),n2&&n2()}).catch(function(T){console.log("恢复失败",T)})})};d.disabled?(console.log("操作频繁,等待2秒后执行"),d.seekTimer&&clearTimeout(d.seekTimer),d.seekTimer=setTimeout(function(){d2(o2)},d.seekFrequency)):d2(o2)}}}),this.syncTimeLine(),m("".concat(this.jSPlugin.staticPath,"/rec/datepicker.min.css")),u("".concat(this.jSPlugin.staticPath,"/rec/jquery.min.js"),function(){u("".concat(d.jSPlugin.staticPath,"/rec/datepicker.js"),function(){u("".concat(d.jSPlugin.staticPath,"/rec/datepicker.zh-CN.js"),function(){!document.getElementsByClassName("datepicker-container")[0]&&$("#".concat(d.jSPlugin.id,"-datepicker")).datepicker&&$("#".concat(d.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",date:new Date(p("begin",d.jSPlugin.params.url).replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"))||new Date,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(d.jSPlugin.id,"-wrap"))}),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),d.datepickerVisible=!1,$("#".concat(d.jSPlugin.id,"-datepicker")).on("pick.datepicker",function(J){console.log("重新选择日期",J.date,new Date(J.date).Format("yyyyMMdd"),new Date(document.getElementById("".concat(d.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")),J.date>new Date||new Date(J.date).Format("yyyyMMdd")===new Date(document.getElementById("".concat(d.jSPlugin.id,"-datepicker")).value).Format("yyyyMMdd")?J.preventDefault():(document.getElementById("".concat(d.jSPlugin.id,"-datepicker")).value=new Date(J.date).Format("yyyy-MM-dd"),d.renderRec(J.date),d.jSPlugin.decoderState&&d.jSPlugin.decoderState.state?d.jSPlugin.decoderState.state.cloudRec?d.jSPlugin.changePlayUrl({begin:new Date(J.date).Format("yyyyMMdd"),type:"cloud.rec"}):d.jSPlugin.decoderState.state.rec?d.jSPlugin.changePlayUrl({begin:new Date(J.date).Format("yyyyMMdd"),type:"rec"}):d.jSPlugin.changePlayUrl({begin:new Date(J.date).Format("yyyyMMdd")}):d.jSPlugin.changePlayUrl({begin:new Date(J.date).Format("yyyyMMdd")})),document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),d.datepickerVisible=!1,d.jSPlugin.decoderState&&d.jSPlugin.decoderState&&d.jSPlugin.decoderState.state&&d.jSPlugin.decoderState.state.zoom&&(d.jSPlugin.setDecoderState({zoom:!1}),d.jSPlugin.Zoom.stopZoom())}),$("#".concat(d.jSPlugin.id,"-datepicker")).off("click").on("click",function(J){console.log("点击日期"),d.datepickerVisible?document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"):document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),d.datepickerVisible=!d.datepickerVisible})})})}),document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-add")).onclick=function(){var J=d.currentTimeWidth;J<3&&d.timeLine.changeSize(++d.currentTimeWidth)},document.getElementById("".concat(this.jSPlugin.id,"-timeline-scale-sub")).onclick=function(){var J=d.currentTimeWidth;J>0&&d.timeLine.changeSize(--d.currentTimeWidth)};var a2=p("begin",this.jSPlugin.url)||new Date().Format("yyyyMMdd");this.renderRec("".concat(a2.slice(0,4),"-").concat(a2.slice(4,6),"-").concat(a2.slice(6,8))),this.observer=new MutationObserver(function(J,Y){d.recAutoSize()});var Z={attributes:!0,attributeOldValue:!0,attributeFilter:["style"]},t2=document.getElementById("".concat(this.jSPlugin.id));this.observer.observe(t2,Z)}},{key:"setDatepickerDate",value:function(d){if(document.getElementsByClassName("datepicker-container")[0]){var f=document.getElementsByClassName("datepicker-container")[0],y=f.parentNode;y.removeChild(f),document.getElementById("".concat(this.jSPlugin.id,"-datepicker")).value=d.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3"),$("#".concat(this.jSPlugin.id,"-datepicker")).datepicker({autoShow:!1,autoHide:!0,autoPick:!0,language:"zh-CN",defaultDate:d,format:"yyyy-mm-dd",endDate:new Date,inline:!0,container:document.getElementById("".concat(this.jSPlugin.id,"-wrap"))})}}},{key:"datepickerHide",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="none"),this.datepickerVisible=!1}},{key:"datepickerShow",value:function(){document.getElementsByClassName("datepicker-container")[0]&&(document.getElementsByClassName("datepicker-container")[0].style.display="inline"),this.datepickerVisible=!0}},{key:"recAutoSize",value:function(){var d=this;if(document.getElementById("".concat(this.jSPlugin.id,"-canvas"))){var f=parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).width,10)-100;f!==parseInt(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width)&&(document.getElementById("".concat(this.jSPlugin.id,"-canvas")).width=f,this.timeLine.init({id:"".concat(this.jSPlugin.id,"-canvas"),width:f,onChange:function(b){console.log("time",b,new Date(b).Format("yyyyMMddhhmmss")),console.log("jSPlugin",d.jSPlugin);var _=new Date(b).Format("yyyyMMddhhmmss");d.jSPlugin.changePlayUrl({begin:_})}}),this.renderRec(this.date),this.syncTimeLine())}}},{key:"syncTimeLine",value:function(){var d=this;this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer),this.jSPlugin.recTimer=setInterval(function(){var f=d.jSPlugin.getOSDTime();f.then(function(y){var b=y.data;b===-1?console.log("获取播放时间错误"):b>0&&d.timeLine.run({time:new Date(b>1e12?b:b*1e3)})}).catch(function(y){})},1e3)}},{key:"unSyncTimeLine",value:function(){this.jSPlugin.recTimer&&clearInterval(this.jSPlugin.recTimer)}},{key:"renderRec",value:function(d){var f=this;this.date=d;var y=this,b=new Date(new Date(d).Format("yyyy-MM-dd 00:00:00").replace(/-/g,"/")).getTime(),_=new Date(new Date(d).Format("yyyy-MM-dd 23:59:59").replace(/-/g,"/")).getTime();this.timeLine.getRecord([],b,_),console.log("-----------233---------this.jSPlugin.url",this.jSPlugin.url);var M={accessToken:this.jSPlugin.accessToken,recType:S2(this.jSPlugin.url).type==="cloud.rec"?1:2,deviceSerial:S2(this.jSPlugin.url).deviceSerial,channelNo:S2(this.jSPlugin.url).channelNo,startTime:b,endTime:_,version:"2.0"},a2=function(J){if(J.data&&J.data.files&&J.data.files.length>0){var Y=J.data.files,k2=new Date().getTime(),y2=J.data.isAll;if(y2)f.timeLine.getRecord(Y,b,_);else{var o2=function d2(){function F2(n2){n2.data&&n2.data.files&&n2.data.files.length>0?n2.data.isAll==!1?(n2.data.files&&(Y=Y.concat(n2.data.files)),k2=n2.data.nextFileTime>0?n2.data.nextFileTime:new Date().getTime(),d2()):(console.log("云存储执行渲染片段"),y.timeLine.getRecord(Y,b,_)):y.timeLine.getRecord(Y,b,_)}M.startTime=k2,C2(this.jSPlugin.env.domain+"/api/lapp/video/by/time","POST",M,"",F2)};o2()}f.timeLine.run({time:new Date(b)})}else J.data&&J.data.length>0&&(console.log("获取本地录像片段成功",J),y.timeLine.getRecord(J.data,b,_),y.timeLine.run({time:new Date(b)}))},Z=this.jSPlugin.env.domain+"/api/lapp/video/by/time";C2(Z,"POST",M,"",a2)}}]),O}(),L3=function(N){console.log("执行TimeLine - params",N),this.state={id:N.id,start:"00:00:00",end:"24:00:00",current:0,timelag:30,timeArr:[],availTimeLine:[],scrollTop:0,index:0,date:"",noTimeLineTxt:"",disabled:!1};var d=this;this.setState=function(f){Object.keys(f).forEach(function(y){d.state[y]=f[y],y==="scrollTop"&&document.getElementById("time-line-item").parentNode.scrollTo(0,f[y]),y==="current"&&(document.getElementById("time-line-current").innerHTML=f[y])})},this.setDisabled=function(f){this.setState({disabled:f}),document.getElementById("time-line-item").parentNode.style.overflowY=f?"hidden":"scroll"},this.timeToSecond=function(f){var y=f.split(":"),b=Number(y[0]),_=Number(y[1]),M=Number(y[2]);return b*60*60+_*60+(M||0)},this.minuteToTime=function(f){var y=Math.floor(f/60),b=f%60;return(y>9?y:"0"+y)+":"+(b>9?b:"0"+b)},this.timeToMinute=function(f){var y=f.split(":"),b=Number(y[0]),_=Number(y[1]);return b*60+_},this.getPalyParam=N.getPalyParam,document.getElementById("time-line-item").parentNode.ontouchstart=function(){if(d.state.disabled)return!1;N.ontouchstart()},document.getElementById("time-line-item").parentNode.ontouchmove=function(){if(d.state.disabled)return!1;N.ontouchmove()},document.getElementById("time-line-item").parentNode.ontouchend=function(){if(d.state.disabled)return!1;var f,y=new Promise(function(b,_){var M=-1;f=setInterval(function(){var a2=document.getElementById("time-line-item").parentNode.scrollTop;a2!==M?(console.log("scolling",a2,M),M=a2):(console.log("scoll stop",a2,M),clearInterval(f),b(a2))},100)});y.then(function(b){console.log("scollPromise: then",b,d),d.rectTopTotime(b),console.log("页面滚动实际高度",b,d.state),d.getPalyParam({current:d.state.current})}),N.ontouchend()},this.matchTimeDot()};L3.prototype.changeScale=function(O){this.setState({timelag:O}),this.matchTimeDot()},L3.prototype.setDateLine=function(O,N){O.length>0?(typeof N=="undefined"&&(N=O.length-1),this.setState({availTimeLine:O,start:O[N].st,end:O[N].et,current:O[N].st}),console.log("this.state",this.state),this.matchRecTimeDot(),this.primaryOffsetH()):(this.setState({availTimeLine:[]}),console.log("this.state",this.state),this.matchRecTimeDot())},L3.prototype.matchTimeDot=function(){var O=this.state,N=O.start,d=O.end,f=O.timelag;O.availTimeLine,console.log("start",N,"end",d);var y=[],b=this.timeToMinute(d);b=Math.floor(b/f)*f;for(var _=b;_>=0;){var M=0,a2=0,Z=[];_==b&&(M=70),_==0&&(a2=230);var t2=this.minuteToTime(_);y.push({id:_,current:t2,label:"a"+_,marginTop:M,marginBottom:a2,recArr:Z}),_=_-f}this.setState({timeArr:y}),this.renderDateLine()},L3.prototype.matchRecTimeDot=function(){var O=this.state,N=O.start,d=O.end,f=O.timelag,y=O.availTimeLine,b=O.timeArr;console.log("start",N,"end",d);var _=[],M=y.length;if(M===0)for(var a2=0;a2y2&&b[a2].id')}),a2+="
    ').concat(y.current,"
    "),_.innerHTML=a2,f.appendChild(_)})},L3.prototype.primaryOffsetH=function(){var O=this.state,N=O.start,d=O.timelag,f=O.timeArr,y=f[0].current,b=this.timeToSecond(y),_=this.timeToSecond(N),M=b-_,a2=Math.ceil(M/d)+60;this.setState({scrollTop:a2}),console.log("起始偏移量",a2)},L3.prototype.currentOffsetH=function(){var O=this.state,N=O.current,d=O.timelag,f=O.timeArr,y=f[0].current,b=this.timeToSecond(y),_=this.timeToSecond(N),M=b-_,a2=Math.ceil(M/d)+60;this.setState({scrollTop:a2})},L3.prototype.rectTopTotime=function(O){var N=this.state.timelag,d=Math.floor(O/60),f=O-d*60,y,b;if(console.log("index:",d,"offsetH:",f),f==0)y=this.state.timeArr[d-1].current,b=0;else{var _=this.state.timeArr[d].current,M=this.timeToMinute(_),a2=60-f,Z=a2*N,t2=Math.floor(Z/60)+M,J=Math.floor(Z/60)*60;b=Math.ceil(Z-J),y=this.minuteToTime(t2)}this.setState({current:y+":"+(b>9?b:"0"+b),scrollTop:O})},L3.prototype.stepScrollTimeLine=function(O){this.setState({current:O}),this.currentOffsetH()},L3.prototype.secondCountDown=function(O){var N=this.state.current,d=N.split(":"),f=Number(d[0]),y=Number(d[1]),b=Number(d[2]),_=f*60*60+y*60+b+1,M=Math.floor(_/3600),a2=Math.floor((_-M*3600)/60),Z=_-M*3600-a2*60;this.setState({current:(M>9?M:"0"+M)+":"+(a2>9?a2:"0"+a2)+":"+(Z>9?Z:"0"+Z)})};var h1=L3;Date.prototype.Format=function(O){var N={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(O)&&(O=O.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var d in N)new RegExp("("+d+")").test(O)&&(O=O.replace(RegExp.$1,RegExp.$1.length==1?N[d]:("00"+N[d]).substr((""+N[d]).length)));return O};function C1(O){var N=new Date(O),d=N.getHours(),f=N.getMinutes(),y=N.getSeconds();return(d>9?d:"0"+d)+":"+(f>9?f:"0"+f)+":"+(y>9?y:"0"+y)}var _1=function(){function O(N,d,f){var y=this;a(this,O),this.changeRecSpeed=d,this.resetMobileZoomStatus=f,this.isMobile=!0,this.jSPlugin=N,this.timer=null,this.date=new Date().Format("yyyy-MM-dd"),this.begin=(new Date().Format("yyyy-MM-dd")+" 00:00:00").replace(/-/g,"/"),this.end=(new Date().Format("yyyy-MM-dd")+" 23:59:59").replace(/-/g,"/"),this.initBegin=null,this.initEnd=null,this.type=S2(this.jSPlugin.url).type,this.operating=!1,this.seekTimer=null,this.disabled=!1,this.seekFrequency=2e3,this.jSPlugin.params&&this.jSPlugin.params.seekFrequency&&(this.seekFrequency=this.jSPlugin.params.seekFrequency);var b=document.createElement("style");if(b.innerHTML=` - body{ - padding: 0; - margin: 0; - } - .time-line-container { - text-align: left; - height: 300px; - /* outline: 1px solid red; */ - /* background: gray; */ - position: relative; - /* padding-top: 60px; */ - margin-top: 20px; - } - - .time-line-container .time-line-item-container { - display: inline-block; - /* height: 400px; */ - width: 30%; - /* background: indianred; */ - overflow-y: scroll; - overflow-x: hidden; - /* padding-top: 60px; */ - height: 300px; - box-sizing: border-box; - white-space: nowrap; - position: relative; - } - - .time-line-container .time-line-item-container::-webkit-scrollbar { - width: 0px; - /*滚动条宽度*/ - height: 0px; - /*滚动条高度*/ - } - - .time-line-item .time-item { - position: relative; - box-sizing: border-box; - height: 60px; - font-size: 12px; - color: rgb(150, 150, 150); - border-right: 6px solid; - border-right-color: #ddd; - } - - .time-line-item .time-item .scale { - width: 6px; - height: 9px; - border-bottom: 1px solid #ccc; - float: right; - clear: both; - } - - .time-line-item .time-item .item-unavail { - width: 6px; - position: absolute; - left: 100%; - background-color: #ddd; - } - - .time-line-container .current-time { - position: absolute; - left: 0; - top: 40px; - height: 29px; - /* line-height: 58px; */ - border-bottom: 1px solid #648FFC; - width: 60%; - margin-left: 26%; - } - - .time-line-container .current-time .current-time-bg { - position: relative; - top: 15px; - width: 100px; - height: 29px; - line-height: 29px; - left: -70px; - font-size: 12px; - color: #2C2C2C; - } - - .time-line-container .current-time .current-time-bg::before { - content: ''; - display: inline-block; - width: 6px; - height: 6px; - border-radius: 100%; - background: #648FFC; - top: 11px; - position: absolute; - right: 30px; - } - - .date-switch-container { - height: 40px; - position: relative; - text-align: center; - margin: 20px 10px; - } - - .date-switch-container .current-date { - line-height: 40px; - height: 22px; - font-size: 16px; - color: #2C2C2C; - text-align: center; - font-weight: bold; - } - - .date-container { - width: 40px; - height: 40px; - position: absolute; - right: 0; - top: 0; - } - - .rec-type-container { - display: flex; - justify-content: space-between; - } - - .rec-type-container .rec-type-text { - padding: 0 15px; - font-size: 12px; - color: #2C2C2C; - } - - .rec-type-container .rec-type-switch { - padding: 0 20px; - } - - .date-container input { - position: absolute; - opacity: 0; - display: inline-block; - width: 40px; - height: 40px; - z-index: 10; - left: 0; - } - - .date-container label { - position: absolute; - left: 0; - top: 0; - /* display: none; */ - z-index: 0; - } - - .date-icon { - display: inline-block; - width: 40px; - height: 40px; - background: url('https://resource.eziot.com/group2/M00/00/6A/CtwQF2F6VieAQrU9AAABP-_Nsqo949.png') no-repeat 100% 100%; - } - .select-container { - padding: 10px; - display: flex; - justify-content: space-between; - } - - .advice { - height: 24px; - width: 70px; - display: flex; - justify-content: space-between; - line-height: 24px; - background: #F8F8F8; - border-radius: 8px; - } - - .advice span { - width: 40px; - display: inline-block; - } - - input[type="checkbox"]:not(:checked)+.advice span:first-child { - box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); - border-radius: 8px; - text-align: center; - - } - - input[type="checkbox"]:checked+.advice span:last-child { - box-shadow: 0px 2px 5px 0px rgb(23 45 101 / 20%); - border-radius: 8px; - text-align: center; - } - - input[type="checkbox"]:not(:checked)+.advice span:first-child svg { - fill: #648FFC !important; - } - - input[type="checkbox"]:checked+.advice span:last-child svg { - fill: #648FFC !important; - }`,document.getElementsByTagName("head")[0].appendChild(b),p("begin",this.jSPlugin.url)){var _=p("begin",this.jSPlugin.url);this.date=_.slice(0,4)+"/"+_.slice(4,6)+"/"+_.slice(6,8),this.begin=this.date+" ".concat(_.slice(8,10)||"00",":").concat(_.slice(10,12)||"00",":").concat(_.slice(12,14)||"00"),this.end=this.date+" 23:59:59",this.initBegin=this.begin}if(p("end",this.jSPlugin.url)){var M=p("end",this.jSPlugin.url);this.end=this.date+" ".concat(M.slice(8,10)||"23",":").concat(M.slice(10,12)||"59",":").concat(M.slice(12,14)||"59"),this.initEnd=this.end}var a2=document.createElement("div");a2.id="date-switch-container-wrap",a2.className="date-switch-container-wrap",a2.style="",a2.innerHTML=` -
    -
    今日录像
    -
    - - -
    -
    - `,g(a2,document.getElementById("".concat(this.jSPlugin.id,"-wrap")));var Z=document.createElement("div");Z.id="rec-type-container-wrap",Z.className="rec-type-container-wrap",Z.style="",Z.innerHTML=` -
    -
    0个录像
    -
    - -
    -
    - `,g(Z,a2);var t2=document.createElement("div");t2.id="mobile-rec-wrap",t2.className="mobileRec-wrap",t2.style="",t2.innerHTML=` -
    -
    -
    2020-01-01 00:00:00
    -
    -
    -
    -
    -
    -
    - `,g(t2,Z);var J=function(d2){console.log("子组件传值到父组件",d2,d2.current);var F2=d2.current,n2=new Date(y.date).Format("yyyyMMdd").substr(0,8)+(d2.current?F2.replace(/:/g,""):d2.current.replace(/:/g,""));if(y.initBegin&&new Date("".concat(y.date," ").concat(d2.current)).getTime()new Date(y.initEnd).getTime()&&(console.log("超过限制最高值"),n2=new Date(y.initBegin).Format("yyyyMMddhhmmss")),y.type==="cloud.rec"){var T=function(){y.jSPlugin.seek(n2.substr(8,6),"235959"),setTimeout(function(){y.syncTimeLine()},6e3)};y.seekTimer?clearTimeout(y.seekTimer):T(),console.log("this.jsPlug",y.jSPlugin.params),y.seekTimer=setTimeout(function(){T(),clearTimeout(y.seekTimer),y.seekTimer=null},y.seekFrequency)}else{var D=function(){setTimeout(function(){y.disabled=!1},y.seekFrequency)},W=function(N2){y.disabled=!0,y.jSPlugin.pause().then(function(){console.log("暂停成功"),y.jSPlugin.resume(n2).then(function(Y2){console.log("恢复成功"),y.jSPlugin.Theme&&y.jSPlugin.Theme.setDecoderState({play:!0}),y.jSPlugin.Theme&&y.jSPlugin.Theme.decoderState.state.sound&&y.jSPlugin.openSound(),y.syncTimeLine(),N2&&N2()})}).catch(function(){console.log("暂停失败"),y.jSPlugin.resume(n2).then(function(Y2){console.log("恢复成功"),y.jSPlugin.Theme&&y.jSPlugin.Theme.setDecoderState({play:!0}),y.syncTimeLine(),N2&&N2()})})};y.disabled?(console.log("操作频繁,等待2秒后执行"),y.seekTimer&&clearTimeout(y.seekTimer),y.seekTimer=setTimeout(function(){W(D)},y.seekFrequency)):W(D)}},Y=function(){y.operating=!0,y.unSyncTimeLine()},k2=function(){},y2=function(){y.operating=!1,console.log("ontouchend")};this.TimeLineOBJ=new h1({id:"time-line-item",getPalyParam:J,ontouchstart:Y,ontouchmove:k2,ontouchend:y2}),this.fetchDeviceRec(),document.getElementById("date").addEventListener("change",function(o2){if(console.log("日期变化",o2.target.value),y.initBegin||y.initEnd)return console.log("您开启了时间限制,无法切换日期"),!1;y.date=new Date(o2.target.value).Format("yyyy/MM/dd"),y.begin=y.date+" 00:00:00",y.end=y.date+" 23:59:59",y.fetchDeviceRec(),y.jSPlugin.changePlayUrl({type:y.type,begin:"".concat(new Date(y.date).Format("yyyyMMdd"),"000000")}),y.changeRecSpeed(1),y.resetMobileZoomStatus()}),document.getElementById("cloudType").checked=this.type==="rec",document.getElementById("cloudType").addEventListener("change",function(o2){var d2=o2.target.checked?2:1;y.type=o2.target.checked?"rec":"cloud.rec",console.log("recType",d2),y.fetchDeviceRec(),y.jSPlugin.changePlayUrl({type:y.type,begin:"".concat(new Date(y.date).Format("yyyyMMdd"),"000000")}).then(function(){console.log("切换类型成功"),y.syncTimeLine(),y.changeRecSpeed(1),y.resetMobileZoomStatus()},function(F2){console.log("err",F2)}).catch(function(F2){console.log(F2)})}),this.syncTimeLine()}return r(O,[{key:"fetchDeviceRec",value:function(){var d=this,f=function(_){var M=_.length;document.getElementById("recCount").innerHTML=M;for(var a2=[],Z=M-1;Z>=0;Z--){var t2=_[Z],J=C1(t2.endTime),Y=C1(t2.startTime);a2.push({st:Y,et:J})}d.TimeLineOBJ.setDateLine(a2)},y=new FormData;y.append("deviceSerial",S2(this.jSPlugin.url).deviceSerial),y.append("channelNo",S2(this.jSPlugin.url).channelNo),y.append("accessToken",this.jSPlugin.accessToken),y.append("recType",this.type==="cloud.rec"?1:2),y.append("startTime",new Date(this.begin).getTime()),y.append("endTime",new Date(this.end).getTime()),fetch(this.jSPlugin.env.domain+"/api/lapp/video/by/time",{method:"POST",body:y}).then(function(b){return b.json()}).then(function(b){if(b.code==200&&b.data){var _=[];_=b.data,f(_)}else f([])})}},{key:"syncTimeLine",value:function(){var d=this,f=function(b){var _=new Date(b),M=_.getHours(),a2=_.getMinutes(),Z=_.getSeconds();return(M>9?M:"0"+M)+":"+(a2>9?a2:"0"+a2)+":"+(Z>9?Z:"0"+Z)};this.timer&&clearInterval(this.timer),this.timer=setInterval(function(){if(d.operating)return console.log("操作中"),!1;d.jSPlugin.getOSDTime().then(function(y){y.data>0?d.TimeLineOBJ.stepScrollTimeLine(f(y.data*1e3)):(console.log("未找到当前获取播放时间,等待中..."),console.log("res:-----------------",y))}).catch(function(y){console.log("err:-----",y),console.log("未找到当前获取播放时间,等待中...")})},1e3)}},{key:"unSyncTimeLine",value:function(){this.timer&&clearInterval(this.timer)}}]),O}(),o1=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStart"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStart"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStart"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStart"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStart"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStart"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStart"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStart"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStart"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStart"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStart"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStart"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStart"},{code:60002,msg:"设备已旋转到上限位",desc:"",text:"设备云台旋转达到上限位",type:"ptzStart"},{code:60003,msg:"设备已旋转到下限位",desc:"",text:"设备云台旋转达到下限位",type:"ptzStart"},{code:60004,msg:"设备已旋转到左限位",desc:"",text:"设备云台旋转达到左限位",type:"ptzStart"},{code:60005,msg:"设备已旋转到右限位",desc:"",text:"设备云台旋转达到右限位",type:"ptzStart"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStart"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStart"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStart"}],l3=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"ptzStop"},{code:10001,msg:"操作失败",desc:"参数为空或格式不正确",text:"参数错误",type:"ptzStop"},{code:10002,msg:"账号异常,操作失败",desc:"重新获取accessToken",text:"accessToken异常或过期",type:"ptzStop"},{code:10005,msg:"账号异常,操作失败",desc:"appKey被冻结",text:"appKey异常",type:"ptzStop"},{code:20002,msg:"设备不存在,请检查设备连接情况",desc:"",text:"设备不存在",type:"ptzStop"},{code:20006,msg:"操作失败,请检查设备网络情况",desc:"检查设备网络状况,稍后再试",text:"网络异常",type:"ptzStop"},{code:20007,msg:"操作失败,请检查设备在线情况",desc:"检查设备是否在线",text:"设备不在线",type:"ptzStop"},{code:20008,msg:"操作过于频繁,稍后再试",desc:"操作过于频繁,稍后再试",text:"设备响应超时",type:"ptzStop"},{code:20014,msg:"操作失败",desc:"",text:"deviceSerial不合法",type:"ptzStop"},{code:20032,msg:"通道不存在请检查设备连接情况",desc:"该用户下通道不存在",text:"该用户下通道不存在",type:"ptzStop"},{code:49999,msg:"操作失败,请重试",desc:"接口调用异常",text:"数据异常",type:"ptzStop"},{code:6e4,msg:"操作失败,设备不支持该操作",desc:"",text:"设备不支持云台控制",type:"ptzStop"},{code:60001,msg:"操作失败,用户无权限",desc:"",text:"用户无云台控制权限",type:"ptzStop"},{code:60006,msg:"操作失败,请重试",desc:"稍候再试",text:"云台当前操作失败",type:"ptzStop"},{code:60009,msg:"设备正在操作中",desc:"",text:"正在调用预置点",type:"ptzStop"},{code:60020,msg:"操作失败",desc:"确认设备是否支持该操作",text:"不支持该命令",type:"ptzStop"}],$2=[{code:200,msg:"",desc:"请求成功",text:"操作成功",type:"talk"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"talk"},{code:10002,msg:"账号异常,操作失败",desc:"",text:"accessToken异常或过期",type:"talk"},{code:10031,msg:"账号异常,操作失败",desc:"",text:"子账户或萤石用户没有权限",type:"talk"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"talk"},{code:60059,msg:"播放失败",desc:"",text:"ezopen地址均不可用",type:"talk"}],j3=[{code:200,msg:"",desc:"",text:"操作成功",type:"time"},{code:10001,msg:"播放失败",desc:"参数为空或格式不正确",text:"参数错误",type:"time"},{code:10002,msg:"账号异常,播放失败",desc:"",text:"accessToken异常或过期",type:"time"},{code:10004,msg:"账号异常,播放失败",desc:"",text:"用户不存在",type:"time"},{code:10005,msg:"账号异常,播放失败",desc:"",text:"appKey异常",type:"time"},{code:10011,msg:"播放失败",desc:"设备对应用户未注册至应用下",text:"未开通萤石服务",type:"time"},{code:10013,msg:"账号异常,播放失败",desc:"",text:"非开发者账号无权限调用",type:"time"},{code:10030,msg:"播放失败",desc:"",text:"appkey和appsecret不匹配",type:"time"},{code:20002,msg:"设备不存在请检查设备连接情况",desc:"设备序列号输入有误或者设备未被添加或者通道异常",text:"设备不存在",type:"time"},{code:20014,msg:"播放失败",desc:"",text:"deviceSerial不合法",type:"time"},{code:20032,msg:"设备不存在请检查设备连接情况",desc:"",text:"该用户下通道不存在",type:"time"},{code:60024,msg:"播放失败请重试",desc:"",text:"取消订阅操作失败",type:"time"},{code:49999,msg:"播放失败请重试",desc:"",text:"操作异常",type:"time"}],c1={ptzStart:o1,ptzStop:l3,talk:$2,time:j3},M1=function(){function O(N,d){a(this,O),this.coreX=N,this.coreY=d,console.log("uikitCode",c1)}return r(O,[{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"matchInfo",value:function(d,f){if(c1[f]){var y={};return c1[f].map(function(b){b.code==d&&(y=b)}),y}else return{code:500,msg:"未知错误",desc:"未知的错误码,或错误码类型有误",text:"",type:f}}}]),O}(),$1=function(){function O(N){var d=this;if(a(this,O),this.jSPlugin=N,this.codeHandler=new M1,this.pluginStatus=new U3(this,this.jSPlugin.id),console.log("云台初始化"),document.getElementById(this.jSPlugin.id+"-ez-ptz-item"))return!1;var f=document.createElement("div");f.id=this.jSPlugin.id+"-ez-ptz-item",f.className="ez-ptz-wrap",f.style="display:none";var y=document.createElement("style");y.innerHTML=` - .ez-ptz-container { - position: relative; - width: 80px; - height: 80px; - background: rgba(255, 255, 255, 0.80); - box-shadow: 0px 0px 33px 4px rgb(0 0 0 / 15%); - border: 1px solid rgba(255, 255, 255, 0.80); - border-radius: 100%; - cursor: pointer; - overflow: hidden; - user-select: none; - } - .ez-ptz-container .ez-ptz-icon.top { - width: 0; - height: 0; - border-left: 3px solid transparent; - border-right: 3px solid transparent; - border-bottom: 6px solid #333333; - position: absolute; - display: inline-block; - left: calc(50% - 3px); - top: 2px; - } - - .ez-ptz-container .ez-ptz-icon.top.active { - border-bottom-color: #1890FF; - } - - .ez-ptz-container .ez-ptz-icon.bottom { - width: 0; - height: 0; - border-left: 3px solid transparent; - border-right: 3px solid transparent; - border-top: 6px solid #333333; - position: absolute; - display: inline-block; - left: calc(50% - 3px); - bottom: 2px; - } - - .ez-ptz-container .ez-ptz-icon.bottom.active { - border-top-color: #1890FF; - } - - .ez-ptz-container .ez-ptz-icon.right { - width: 0; - height: 0; - border-top: 3px solid transparent; - border-bottom: 3px solid transparent; - border-left: 6px solid #333333; - position: absolute; - display: inline-block; - top: calc(50% - 3px); - right: 2px; - } - - .ez-ptz-container .ez-ptz-icon.right.active { - border-left-color: #1890FF; - } - - .ez-ptz-container .ez-ptz-icon.left { - width: 0; - height: 0; - border-top: 3px solid transparent; - border-bottom: 3px solid transparent; - border-right: 6px solid #333333; - position: absolute; - display: inline-block; - top: calc(50% - 3px); - left: 2px; - } - - .ez-ptz-container .ez-ptz-icon.left.active { - border-right-color: #1890FF; - } - - .ez-ptz-container .ez-ptz-main.center { - width: 23px; - height: 23px; - background: #1890FF; - border-radius: 100%; - top: calc(50% - 12.3px); - left: calc(50% - 12.3px); - position: absolute; - } - - .ez-ptz-wrap { - position: absolute; - right: 20px; - top: calc(50% - 50px); - width: 100px; - height: 100px; - z-index: 999; - } - - .ez-ptz-close { - position: absolute; - color: #FFFFFF; - top: 0; - right: 0px; - }`,document.getElementsByTagName("head")[0].appendChild(y),f.innerHTML=` -
    -
    -
    -
    -
    -
    - `),document.getElementById("".concat(N.id,"-wrap")).appendChild(f),document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmousedown=function(b){b.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(b,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).onmouseup=function(b){b.preventDefault(),console.log("触摸结束"),d._handlePtzTouch(b,"stop")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchstart=function(b){b.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(b,"start")},document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).ontouchend=function(b){b.preventDefault(),console.log("触摸结束",b),d._handlePtzTouch(b,"stop")}}return r(O,[{key:"show",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-item")).style="display: none"}},{key:"_handlePtzTouch",value:function(d,f){var y=this,b=document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).getBoundingClientRect(),_=b.left+41,M=b.top+41,a2=d.x||d.changedTouches[0].clientX,Z=d.y||d.changedTouches[0].clientY,t2=a2-_,J=Z-M,Y=0,k2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";if(Math.abs(t2)>Math.abs(J)?t2>0?Y=3:Y=2:J>0?Y=1:Y=0,/^rotate\(90/.test(document.getElementById("".concat(this.jSPlugin.id,"-wrap")).style.transform))switch(Y){case 0:Y=2;break;case 1:Y=3;break;case 2:Y=1;break;case 3:Y=0;break}document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(Y===0?180:Y===1?0:Y===2?90:270,"deg, #1d8dd8 0%, rgba(100,143,252,0.00) 30%)"),f==="stop"&&(k2=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("".concat(this.jSPlugin.id,"-ez-ptz-container")).style="");var y2=new FormData;y2.append("deviceSerial",S2(this.jSPlugin.url).deviceSerial),y2.append("channelNo",S2(this.jSPlugin.url).channelNo),y2.append("speed",1),y2.append("direction",Y),y2.append("accessToken",this.jSPlugin.accessToken),fetch(k2,{method:"POST",body:y2}).then(function(o2){return o2.json()}).then(function(o2){o2.code==200||(console.log(o2.code,y.codeHandler.matchInfo(o2.code,f==="start"?"ptzStart":"ptzStop")),y.pluginStatus.loadingSetText({text:y.codeHandler.matchInfo(o2.code,f==="start"?"ptzStart":"ptzStop").msg,color:"red",delayClear:2e3}),(o2.code==60005||o2.code==60002||o2.code==60003||o2.code==60004)&&(document.getElementById("".concat(y.jSPlugin.id,"-ez-ptz-container")).style="background-image:linear-gradient(".concat(Y===0?180:Y===1?0:Y===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 30%)")))}).catch(function(o2){console.log("云台调用异常",o2)})}}]),O}();(function(O){if(n(e)==="object")t.exports=O();else{var N;typeof window!="undefined"?N=window:typeof $a!="undefined"?N=$a:typeof self!="undefined"?N=self:N=this,N.adapter=O()}})(function(){return function(){function O(N,d,f){function y(M,a2){if(!d[M]){if(!N[M]){var Z=typeof Wa=="function"&&Wa;if(!a2&&Z)return Z(M,!0);if(b)return b(M,!0);var t2=new Error("Cannot find module '"+M+"'");throw t2.code="MODULE_NOT_FOUND",t2}var J=d[M]={exports:{}};N[M][0].call(J.exports,function(Y){var k2=N[M][1][Y];return y(k2||Y)},J,J.exports,O,N,d,f)}return d[M].exports}for(var b=typeof Wa=="function"&&Wa,_=0;_0&&arguments[0]!==void 0?arguments[0]:{},n2=F2.window,T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0},D=y.log,W=y.detectBrowser(n2),x2={browserDetails:W,commonShim:y2,extractVersion:y.extractVersion,disableLog:y.disableLog,disableWarnings:y.disableWarnings};switch(W.browser){case"chrome":if(!_||!_.shimPeerConnection||!T.shimChrome)return D("Chrome shim is not included in this adapter release."),x2;D("adapter.js shimming chrome."),x2.browserShim=_,_.shimGetUserMedia(n2),_.shimMediaStream(n2),_.shimPeerConnection(n2),_.shimOnTrack(n2),_.shimAddTrackRemoveTrack(n2),_.shimGetSendersWithDtmf(n2),_.shimGetStats(n2),_.shimSenderReceiverGetStats(n2),_.fixNegotiationNeeded(n2),y2.shimRTCIceCandidate(n2),y2.shimConnectionState(n2),y2.shimMaxMessageSize(n2),y2.shimSendThrowTypeError(n2),y2.removeAllowExtmapMixed(n2);break;case"firefox":if(!t2||!t2.shimPeerConnection||!T.shimFirefox)return D("Firefox shim is not included in this adapter release."),x2;D("adapter.js shimming firefox."),x2.browserShim=t2,t2.shimGetUserMedia(n2),t2.shimPeerConnection(n2),t2.shimOnTrack(n2),t2.shimRemoveStream(n2),t2.shimSenderGetStats(n2),t2.shimReceiverGetStats(n2),t2.shimRTCDataChannel(n2),t2.shimAddTransceiver(n2),t2.shimCreateOffer(n2),t2.shimCreateAnswer(n2),y2.shimRTCIceCandidate(n2),y2.shimConnectionState(n2),y2.shimMaxMessageSize(n2),y2.shimSendThrowTypeError(n2);break;case"edge":if(!a2||!a2.shimPeerConnection||!T.shimEdge)return D("MS edge shim is not included in this adapter release."),x2;D("adapter.js shimming edge."),x2.browserShim=a2,a2.shimGetUserMedia(n2),a2.shimGetDisplayMedia(n2),a2.shimPeerConnection(n2),a2.shimReplaceTrack(n2),y2.shimMaxMessageSize(n2),y2.shimSendThrowTypeError(n2);break;case"safari":if(!Y||!T.shimSafari)return D("Safari shim is not included in this adapter release."),x2;D("adapter.js shimming safari."),x2.browserShim=Y,Y.shimRTCIceServerUrls(n2),Y.shimCreateOfferLegacy(n2),Y.shimCallbacksAPI(n2),Y.shimLocalStreamsAPI(n2),Y.shimRemoteStreamsAPI(n2),Y.shimTrackEventTransceiver(n2),Y.shimGetUserMedia(n2),y2.shimRTCIceCandidate(n2),y2.shimMaxMessageSize(n2),y2.shimSendThrowTypeError(n2),y2.removeAllowExtmapMixed(n2);break;default:D("Unsupported browser!");break}return x2}},{"./chrome/chrome_shim":3,"./common_shim":6,"./edge/edge_shim":7,"./firefox/firefox_shim":11,"./safari/safari_shim":14,"./utils":15}],3:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=d.shimGetUserMedia=void 0;var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(T){return n(T)}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":n(T)},y=O("./getusermedia");Object.defineProperty(d,"shimGetUserMedia",{enumerable:!0,get:function(){return y.shimGetUserMedia}});var b=O("./getdisplaymedia");Object.defineProperty(d,"shimGetDisplayMedia",{enumerable:!0,get:function(){return b.shimGetDisplayMedia}}),d.shimMediaStream=t2,d.shimOnTrack=J,d.shimGetSendersWithDtmf=Y,d.shimGetStats=k2,d.shimSenderReceiverGetStats=y2,d.shimAddTrackRemoveTrackWithNative=o2,d.shimAddTrackRemoveTrack=d2,d.shimPeerConnection=F2,d.fixNegotiationNeeded=n2;var _=O("../utils.js"),M=a2(_);function a2(T){if(T&&T.__esModule)return T;var D={};if(T!=null)for(var W in T)Object.prototype.hasOwnProperty.call(T,W)&&(D[W]=T[W]);return D.default=T,D}function Z(T,D,W){return D in T?Object.defineProperty(T,D,{value:W,enumerable:!0,configurable:!0,writable:!0}):T[D]=W,T}function t2(T){T.MediaStream=T.MediaStream||T.webkitMediaStream}function J(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection&&!("ontrack"in T.RTCPeerConnection.prototype)){Object.defineProperty(T.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(x2){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=x2)},enumerable:!0,configurable:!0});var D=T.RTCPeerConnection.prototype.setRemoteDescription;T.RTCPeerConnection.prototype.setRemoteDescription=function(){var x2=this;return this._ontrackpoly||(this._ontrackpoly=function(N2){N2.stream.addEventListener("addtrack",function(Y2){var W2=void 0;T.RTCPeerConnection.prototype.getReceivers?W2=x2.getReceivers().find(function(w3){return w3.track&&w3.track.id===Y2.track.id}):W2={track:Y2.track};var a3=new Event("track");a3.track=Y2.track,a3.receiver=W2,a3.transceiver={receiver:W2},a3.streams=[N2.stream],x2.dispatchEvent(a3)}),N2.stream.getTracks().forEach(function(Y2){var W2=void 0;T.RTCPeerConnection.prototype.getReceivers?W2=x2.getReceivers().find(function(w3){return w3.track&&w3.track.id===Y2.id}):W2={track:Y2};var a3=new Event("track");a3.track=Y2,a3.receiver=W2,a3.transceiver={receiver:W2},a3.streams=[N2.stream],x2.dispatchEvent(a3)})},this.addEventListener("addstream",this._ontrackpoly)),D.apply(this,arguments)}}else M.wrapPeerConnectionEvent(T,"track",function(W){return W.transceiver||Object.defineProperty(W,"transceiver",{value:{receiver:W.receiver}}),W})}function Y(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection&&!("getSenders"in T.RTCPeerConnection.prototype)&&"createDTMFSender"in T.RTCPeerConnection.prototype){var D=function(w3,v3){return{track:v3,get dtmf(){return this._dtmf===void 0&&(v3.kind==="audio"?this._dtmf=w3.createDTMFSender(v3):this._dtmf=null),this._dtmf},_pc:w3}};if(!T.RTCPeerConnection.prototype.getSenders){T.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var W=T.RTCPeerConnection.prototype.addTrack;T.RTCPeerConnection.prototype.addTrack=function(w3,v3){var f3=W.apply(this,arguments);return f3||(f3=D(this,w3),this._senders.push(f3)),f3};var x2=T.RTCPeerConnection.prototype.removeTrack;T.RTCPeerConnection.prototype.removeTrack=function(w3){x2.apply(this,arguments);var v3=this._senders.indexOf(w3);v3!==-1&&this._senders.splice(v3,1)}}var N2=T.RTCPeerConnection.prototype.addStream;T.RTCPeerConnection.prototype.addStream=function(w3){var v3=this;this._senders=this._senders||[],N2.apply(this,[w3]),w3.getTracks().forEach(function(f3){v3._senders.push(D(v3,f3))})};var Y2=T.RTCPeerConnection.prototype.removeStream;T.RTCPeerConnection.prototype.removeStream=function(w3){var v3=this;this._senders=this._senders||[],Y2.apply(this,[w3]),w3.getTracks().forEach(function(f3){var v1=v3._senders.find(function(a1){return a1.track===f3});v1&&v3._senders.splice(v3._senders.indexOf(v1),1)})}}else if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection&&"getSenders"in T.RTCPeerConnection.prototype&&"createDTMFSender"in T.RTCPeerConnection.prototype&&T.RTCRtpSender&&!("dtmf"in T.RTCRtpSender.prototype)){var W2=T.RTCPeerConnection.prototype.getSenders;T.RTCPeerConnection.prototype.getSenders=function(){var w3=this,v3=W2.apply(this,[]);return v3.forEach(function(f3){return f3._pc=w3}),v3},Object.defineProperty(T.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function k2(T){if(T.RTCPeerConnection){var D=T.RTCPeerConnection.prototype.getStats;T.RTCPeerConnection.prototype.getStats=function(){var x2=this,N2=Array.prototype.slice.call(arguments),Y2=N2[0],W2=N2[1],a3=N2[2];if(arguments.length>0&&typeof Y2=="function")return D.apply(this,arguments);if(D.length===0&&(arguments.length===0||typeof Y2!="function"))return D.apply(this,[]);var w3=function(a1){var w1={},T1=a1.result();return T1.forEach(function(N1){var L={id:N1.id,timestamp:N1.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[N1.type]||N1.type};N1.names().forEach(function(q){L[q]=N1.stat(q)}),w1[L.id]=L}),w1},v3=function(a1){return new Map(Object.keys(a1).map(function(w1){return[w1,a1[w1]]}))};if(arguments.length>=2){var f3=function(a1){W2(v3(w3(a1)))};return D.apply(this,[f3,Y2])}return new Promise(function(v1,a1){D.apply(x2,[function(w1){v1(v3(w3(w1)))},a1])}).then(W2,a3)}}}function y2(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection&&T.RTCRtpSender&&T.RTCRtpReceiver){if(!("getStats"in T.RTCRtpSender.prototype)){var D=T.RTCPeerConnection.prototype.getSenders;D&&(T.RTCPeerConnection.prototype.getSenders=function(){var W2=this,a3=D.apply(this,[]);return a3.forEach(function(w3){return w3._pc=W2}),a3});var W=T.RTCPeerConnection.prototype.addTrack;W&&(T.RTCPeerConnection.prototype.addTrack=function(){var W2=W.apply(this,arguments);return W2._pc=this,W2}),T.RTCRtpSender.prototype.getStats=function(){var W2=this;return this._pc.getStats().then(function(a3){return M.filterStats(a3,W2.track,!0)})}}if(!("getStats"in T.RTCRtpReceiver.prototype)){var x2=T.RTCPeerConnection.prototype.getReceivers;x2&&(T.RTCPeerConnection.prototype.getReceivers=function(){var W2=this,a3=x2.apply(this,[]);return a3.forEach(function(w3){return w3._pc=W2}),a3}),M.wrapPeerConnectionEvent(T,"track",function(Y2){return Y2.receiver._pc=Y2.srcElement,Y2}),T.RTCRtpReceiver.prototype.getStats=function(){var W2=this;return this._pc.getStats().then(function(a3){return M.filterStats(a3,W2.track,!1)})}}if("getStats"in T.RTCRtpSender.prototype&&"getStats"in T.RTCRtpReceiver.prototype){var N2=T.RTCPeerConnection.prototype.getStats;T.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof T.MediaStreamTrack){var W2=arguments[0],a3=void 0,w3=void 0,v3=void 0;return this.getSenders().forEach(function(f3){f3.track===W2&&(a3?v3=!0:a3=f3)}),this.getReceivers().forEach(function(f3){return f3.track===W2&&(w3?v3=!0:w3=f3),f3.track===W2}),v3||a3&&w3?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):a3?a3.getStats():w3?w3.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return N2.apply(this,arguments)}}}}function o2(T){T.RTCPeerConnection.prototype.getLocalStreams=function(){var W2=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(function(a3){return W2._shimmedLocalStreams[a3][0]})};var D=T.RTCPeerConnection.prototype.addTrack;T.RTCPeerConnection.prototype.addTrack=function(W2,a3){if(!a3)return D.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var w3=D.apply(this,arguments);return this._shimmedLocalStreams[a3.id]?this._shimmedLocalStreams[a3.id].indexOf(w3)===-1&&this._shimmedLocalStreams[a3.id].push(w3):this._shimmedLocalStreams[a3.id]=[a3,w3],w3};var W=T.RTCPeerConnection.prototype.addStream;T.RTCPeerConnection.prototype.addStream=function(W2){var a3=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},W2.getTracks().forEach(function(f3){var v1=a3.getSenders().find(function(a1){return a1.track===f3});if(v1)throw new DOMException("Track already exists.","InvalidAccessError")});var w3=this.getSenders();W.apply(this,arguments);var v3=this.getSenders().filter(function(f3){return w3.indexOf(f3)===-1});this._shimmedLocalStreams[W2.id]=[W2].concat(v3)};var x2=T.RTCPeerConnection.prototype.removeStream;T.RTCPeerConnection.prototype.removeStream=function(W2){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[W2.id],x2.apply(this,arguments)};var N2=T.RTCPeerConnection.prototype.removeTrack;T.RTCPeerConnection.prototype.removeTrack=function(W2){var a3=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},W2&&Object.keys(this._shimmedLocalStreams).forEach(function(w3){var v3=a3._shimmedLocalStreams[w3].indexOf(W2);v3!==-1&&a3._shimmedLocalStreams[w3].splice(v3,1),a3._shimmedLocalStreams[w3].length===1&&delete a3._shimmedLocalStreams[w3]}),N2.apply(this,arguments)}}function d2(T){if(!T.RTCPeerConnection)return;var D=M.detectBrowser(T);if(T.RTCPeerConnection.prototype.addTrack&&D.version>=65)return o2(T);var W=T.RTCPeerConnection.prototype.getLocalStreams;T.RTCPeerConnection.prototype.getLocalStreams=function(){var f3=this,v1=W.apply(this);return this._reverseStreams=this._reverseStreams||{},v1.map(function(a1){return f3._reverseStreams[a1.id]})};var x2=T.RTCPeerConnection.prototype.addStream;T.RTCPeerConnection.prototype.addStream=function(f3){var v1=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},f3.getTracks().forEach(function(w1){var T1=v1.getSenders().find(function(N1){return N1.track===w1});if(T1)throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[f3.id]){var a1=new T.MediaStream(f3.getTracks());this._streams[f3.id]=a1,this._reverseStreams[a1.id]=f3,f3=a1}x2.apply(this,[f3])};var N2=T.RTCPeerConnection.prototype.removeStream;T.RTCPeerConnection.prototype.removeStream=function(f3){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},N2.apply(this,[this._streams[f3.id]||f3]),delete this._reverseStreams[this._streams[f3.id]?this._streams[f3.id].id:f3.id],delete this._streams[f3.id]},T.RTCPeerConnection.prototype.addTrack=function(f3,v1){var a1=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var w1=[].slice.call(arguments,1);if(w1.length!==1||!w1[0].getTracks().find(function(q){return q===f3}))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");var T1=this.getSenders().find(function(q){return q.track===f3});if(T1)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var N1=this._streams[v1.id];if(N1)N1.addTrack(f3),Promise.resolve().then(function(){a1.dispatchEvent(new Event("negotiationneeded"))});else{var L=new T.MediaStream([f3]);this._streams[v1.id]=L,this._reverseStreams[L.id]=v1,this.addStream(L)}return this.getSenders().find(function(q){return q.track===f3})};function Y2(v3,f3){var v1=f3.sdp;return Object.keys(v3._reverseStreams||[]).forEach(function(a1){var w1=v3._reverseStreams[a1],T1=v3._streams[w1.id];v1=v1.replace(new RegExp(T1.id,"g"),w1.id)}),new RTCSessionDescription({type:f3.type,sdp:v1})}function W2(v3,f3){var v1=f3.sdp;return Object.keys(v3._reverseStreams||[]).forEach(function(a1){var w1=v3._reverseStreams[a1],T1=v3._streams[w1.id];v1=v1.replace(new RegExp(w1.id,"g"),T1.id)}),new RTCSessionDescription({type:f3.type,sdp:v1})}["createOffer","createAnswer"].forEach(function(v3){var f3=T.RTCPeerConnection.prototype[v3],v1=Z({},v3,function(){var a1=this,w1=arguments,T1=arguments.length&&typeof arguments[0]=="function";return T1?f3.apply(this,[function(N1){var L=Y2(a1,N1);w1[0].apply(null,[L])},function(N1){w1[1]&&w1[1].apply(null,N1)},arguments[2]]):f3.apply(this,arguments).then(function(N1){return Y2(a1,N1)})});T.RTCPeerConnection.prototype[v3]=v1[v3]});var a3=T.RTCPeerConnection.prototype.setLocalDescription;T.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?a3.apply(this,arguments):(arguments[0]=W2(this,arguments[0]),a3.apply(this,arguments))};var w3=Object.getOwnPropertyDescriptor(T.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(T.RTCPeerConnection.prototype,"localDescription",{get:function(){var f3=w3.get.apply(this);return f3.type===""?f3:Y2(this,f3)}}),T.RTCPeerConnection.prototype.removeTrack=function(f3){var v1=this;if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!f3._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");var a1=f3._pc===this;if(!a1)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};var w1=void 0;Object.keys(this._streams).forEach(function(T1){var N1=v1._streams[T1].getTracks().find(function(L){return f3.track===L});N1&&(w1=v1._streams[T1])}),w1&&(w1.getTracks().length===1?this.removeStream(this._reverseStreams[w1.id]):w1.removeTrack(f3.track),this.dispatchEvent(new Event("negotiationneeded")))}}function F2(T){var D=M.detectBrowser(T);if(!T.RTCPeerConnection&&T.webkitRTCPeerConnection&&(T.RTCPeerConnection=T.webkitRTCPeerConnection),!!T.RTCPeerConnection){D.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(x2){var N2=T.RTCPeerConnection.prototype[x2],Y2=Z({},x2,function(){return arguments[0]=new(x2==="addIceCandidate"?T.RTCIceCandidate:T.RTCSessionDescription)(arguments[0]),N2.apply(this,arguments)});T.RTCPeerConnection.prototype[x2]=Y2[x2]});var W=T.RTCPeerConnection.prototype.addIceCandidate;T.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?D.version<78&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():W.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}}function n2(T){M.wrapPeerConnectionEvent(T,"negotiationneeded",function(D){var W=D.target;if(W.signalingState==="stable")return D})}},{"../utils.js":15,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=f;function f(y,b){if(!(y.navigator.mediaDevices&&"getDisplayMedia"in y.navigator.mediaDevices)&&y.navigator.mediaDevices){if(typeof b!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}y.navigator.mediaDevices.getDisplayMedia=function(M){return b(M).then(function(a2){var Z=M.video&&M.video.width,t2=M.video&&M.video.height,J=M.video&&M.video.frameRate;return M.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:a2,maxFrameRate:J||3}},Z&&(M.video.mandatory.maxWidth=Z),t2&&(M.video.mandatory.maxHeight=t2),y.navigator.mediaDevices.getUserMedia(M)})}}}},{}],5:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(Z){return n(Z)}:function(Z){return Z&&typeof Symbol=="function"&&Z.constructor===Symbol&&Z!==Symbol.prototype?"symbol":n(Z)};d.shimGetUserMedia=a2;var y=O("../utils.js"),b=_(y);function _(Z){if(Z&&Z.__esModule)return Z;var t2={};if(Z!=null)for(var J in Z)Object.prototype.hasOwnProperty.call(Z,J)&&(t2[J]=Z[J]);return t2.default=Z,t2}var M=b.log;function a2(Z){var t2=Z&&Z.navigator;if(t2.mediaDevices){var J=b.detectBrowser(Z),Y=function(n2){if((typeof n2=="undefined"?"undefined":f(n2))!=="object"||n2.mandatory||n2.optional)return n2;var T={};return Object.keys(n2).forEach(function(D){if(!(D==="require"||D==="advanced"||D==="mediaSource")){var W=f(n2[D])==="object"?n2[D]:{ideal:n2[D]};W.exact!==void 0&&typeof W.exact=="number"&&(W.min=W.max=W.exact);var x2=function(W2,a3){return W2?W2+a3.charAt(0).toUpperCase()+a3.slice(1):a3==="deviceId"?"sourceId":a3};if(W.ideal!==void 0){T.optional=T.optional||[];var N2={};typeof W.ideal=="number"?(N2[x2("min",D)]=W.ideal,T.optional.push(N2),N2={},N2[x2("max",D)]=W.ideal,T.optional.push(N2)):(N2[x2("",D)]=W.ideal,T.optional.push(N2))}W.exact!==void 0&&typeof W.exact!="number"?(T.mandatory=T.mandatory||{},T.mandatory[x2("",D)]=W.exact):["min","max"].forEach(function(Y2){W[Y2]!==void 0&&(T.mandatory=T.mandatory||{},T.mandatory[x2(Y2,D)]=W[Y2])})}}),n2.advanced&&(T.optional=(T.optional||[]).concat(n2.advanced)),T},k2=function(n2,T){if(J.version>=61)return T(n2);if(n2=JSON.parse(JSON.stringify(n2)),n2&&f(n2.audio)==="object"){var D=function(W2,a3,w3){a3 in W2&&!(w3 in W2)&&(W2[w3]=W2[a3],delete W2[a3])};n2=JSON.parse(JSON.stringify(n2)),D(n2.audio,"autoGainControl","googAutoGainControl"),D(n2.audio,"noiseSuppression","googNoiseSuppression"),n2.audio=Y(n2.audio)}if(n2&&f(n2.video)==="object"){var W=n2.video.facingMode;W=W&&((typeof W=="undefined"?"undefined":f(W))==="object"?W:{ideal:W});var x2=J.version<66;if(W&&(W.exact==="user"||W.exact==="environment"||W.ideal==="user"||W.ideal==="environment")&&!(t2.mediaDevices.getSupportedConstraints&&t2.mediaDevices.getSupportedConstraints().facingMode&&!x2)){delete n2.video.facingMode;var N2=void 0;if(W.exact==="environment"||W.ideal==="environment"?N2=["back","rear"]:(W.exact==="user"||W.ideal==="user")&&(N2=["front"]),N2)return t2.mediaDevices.enumerateDevices().then(function(Y2){Y2=Y2.filter(function(a3){return a3.kind==="videoinput"});var W2=Y2.find(function(a3){return N2.some(function(w3){return a3.label.toLowerCase().includes(w3)})});return!W2&&Y2.length&&N2.includes("back")&&(W2=Y2[Y2.length-1]),W2&&(n2.video.deviceId=W.exact?{exact:W2.deviceId}:{ideal:W2.deviceId}),n2.video=Y(n2.video),M("chrome: "+JSON.stringify(n2)),T(n2)})}n2.video=Y(n2.video)}return M("chrome: "+JSON.stringify(n2)),T(n2)},y2=function(n2){return J.version>=64?n2:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[n2.name]||n2.name,message:n2.message,constraint:n2.constraint||n2.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},o2=function(n2,T,D){k2(n2,function(W){t2.webkitGetUserMedia(W,T,function(x2){D&&D(y2(x2))})})};if(t2.getUserMedia=o2.bind(t2),t2.mediaDevices.getUserMedia){var d2=t2.mediaDevices.getUserMedia.bind(t2.mediaDevices);t2.mediaDevices.getUserMedia=function(F2){return k2(F2,function(n2){return d2(n2).then(function(T){if(n2.audio&&!T.getAudioTracks().length||n2.video&&!T.getVideoTracks().length)throw T.getTracks().forEach(function(D){D.stop()}),new DOMException("","NotFoundError");return T},function(T){return Promise.reject(y2(T))})})}}}}},{"../utils.js":15}],6:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(o2){return n(o2)}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":n(o2)};d.shimRTCIceCandidate=t2,d.shimMaxMessageSize=J,d.shimSendThrowTypeError=Y,d.shimConnectionState=k2,d.removeAllowExtmapMixed=y2;var y=O("sdp"),b=Z(y),_=O("./utils"),M=a2(_);function a2(o2){if(o2&&o2.__esModule)return o2;var d2={};if(o2!=null)for(var F2 in o2)Object.prototype.hasOwnProperty.call(o2,F2)&&(d2[F2]=o2[F2]);return d2.default=o2,d2}function Z(o2){return o2&&o2.__esModule?o2:{default:o2}}function t2(o2){if(!(!o2.RTCIceCandidate||o2.RTCIceCandidate&&"foundation"in o2.RTCIceCandidate.prototype)){var d2=o2.RTCIceCandidate;o2.RTCIceCandidate=function(n2){if((typeof n2=="undefined"?"undefined":f(n2))==="object"&&n2.candidate&&n2.candidate.indexOf("a=")===0&&(n2=JSON.parse(JSON.stringify(n2)),n2.candidate=n2.candidate.substr(2)),n2.candidate&&n2.candidate.length){var T=new d2(n2),D=b.default.parseCandidate(n2.candidate),W=Object.assign(T,D);return W.toJSON=function(){return{candidate:W.candidate,sdpMid:W.sdpMid,sdpMLineIndex:W.sdpMLineIndex,usernameFragment:W.usernameFragment}},W}return new d2(n2)},o2.RTCIceCandidate.prototype=d2.prototype,M.wrapPeerConnectionEvent(o2,"icecandidate",function(F2){return F2.candidate&&Object.defineProperty(F2,"candidate",{value:new o2.RTCIceCandidate(F2.candidate),writable:"false"}),F2})}}function J(o2){if(o2.RTCPeerConnection){var d2=M.detectBrowser(o2);"sctp"in o2.RTCPeerConnection.prototype||Object.defineProperty(o2.RTCPeerConnection.prototype,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp}});var F2=function(N2){if(!N2||!N2.sdp)return!1;var Y2=b.default.splitSections(N2.sdp);return Y2.shift(),Y2.some(function(W2){var a3=b.default.parseMLine(W2);return a3&&a3.kind==="application"&&a3.protocol.indexOf("SCTP")!==-1})},n2=function(N2){var Y2=N2.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(Y2===null||Y2.length<2)return-1;var W2=parseInt(Y2[1],10);return W2!==W2?-1:W2},T=function(N2){var Y2=65536;return d2.browser==="firefox"&&(d2.version<57?N2===-1?Y2=16384:Y2=2147483637:d2.version<60?Y2=d2.version===57?65535:65536:Y2=2147483637),Y2},D=function(N2,Y2){var W2=65536;d2.browser==="firefox"&&d2.version===57&&(W2=65535);var a3=b.default.matchPrefix(N2.sdp,"a=max-message-size:");return a3.length>0?W2=parseInt(a3[0].substr(19),10):d2.browser==="firefox"&&Y2!==-1&&(W2=2147483637),W2},W=o2.RTCPeerConnection.prototype.setRemoteDescription;o2.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,d2.browser==="chrome"&&d2.version>=76){var N2=this.getConfiguration(),Y2=N2.sdpSemantics;Y2==="plan-b"&&Object.defineProperty(this,"sctp",{get:function(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(F2(arguments[0])){var W2=n2(arguments[0]),a3=T(W2),w3=D(arguments[0],W2),v3=void 0;a3===0&&w3===0?v3=Number.POSITIVE_INFINITY:a3===0||w3===0?v3=Math.max(a3,w3):v3=Math.min(a3,w3);var f3={};Object.defineProperty(f3,"maxMessageSize",{get:function(){return v3}}),this._sctp=f3}return W.apply(this,arguments)}}}function Y(o2){if(!(o2.RTCPeerConnection&&"createDataChannel"in o2.RTCPeerConnection.prototype))return;function d2(n2,T){var D=n2.send;n2.send=function(){var x2=arguments[0],N2=x2.length||x2.size||x2.byteLength;if(n2.readyState==="open"&&T.sctp&&N2>T.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+T.sctp.maxMessageSize+" bytes)");return D.apply(n2,arguments)}}var F2=o2.RTCPeerConnection.prototype.createDataChannel;o2.RTCPeerConnection.prototype.createDataChannel=function(){var T=F2.apply(this,arguments);return d2(T,this),T},M.wrapPeerConnectionEvent(o2,"datachannel",function(n2){return d2(n2.channel,n2.target),n2})}function k2(o2){if(!(!o2.RTCPeerConnection||"connectionState"in o2.RTCPeerConnection.prototype)){var d2=o2.RTCPeerConnection.prototype;Object.defineProperty(d2,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(d2,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(n2){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),n2&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=n2)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(function(F2){var n2=d2[F2];d2[F2]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(T){var D=T.target;if(D._lastConnectionState!==D.connectionState){D._lastConnectionState=D.connectionState;var W=new Event("connectionstatechange",T);D.dispatchEvent(W)}return T},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),n2.apply(this,arguments)}})}}function y2(o2){if(o2.RTCPeerConnection){var d2=M.detectBrowser(o2);if(!(d2.browser==="chrome"&&d2.version>=71)){var F2=o2.RTCPeerConnection.prototype.setRemoteDescription;o2.RTCPeerConnection.prototype.setRemoteDescription=function(T){return T&&T.sdp&&T.sdp.indexOf(` -a=extmap-allow-mixed`)!==-1&&(T.sdp=T.sdp.split(` -`).filter(function(D){return D.trim()!=="a=extmap-allow-mixed"}).join(` -`)),F2.apply(this,arguments)}}}}},{"./utils":15,sdp:17}],7:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=d.shimGetUserMedia=void 0;var f=O("./getusermedia");Object.defineProperty(d,"shimGetUserMedia",{enumerable:!0,get:function(){return f.shimGetUserMedia}});var y=O("./getdisplaymedia");Object.defineProperty(d,"shimGetDisplayMedia",{enumerable:!0,get:function(){return y.shimGetDisplayMedia}}),d.shimPeerConnection=Y,d.shimReplaceTrack=k2;var b=O("../utils"),_=J(b),M=O("./filtericeservers"),a2=O("rtcpeerconnection-shim"),Z=t2(a2);function t2(y2){return y2&&y2.__esModule?y2:{default:y2}}function J(y2){if(y2&&y2.__esModule)return y2;var o2={};if(y2!=null)for(var d2 in y2)Object.prototype.hasOwnProperty.call(y2,d2)&&(o2[d2]=y2[d2]);return o2.default=y2,o2}function Y(y2){var o2=_.detectBrowser(y2);if(y2.RTCIceGatherer&&(y2.RTCIceCandidate||(y2.RTCIceCandidate=function(T){return T}),y2.RTCSessionDescription||(y2.RTCSessionDescription=function(T){return T}),o2.version<15025)){var d2=Object.getOwnPropertyDescriptor(y2.MediaStreamTrack.prototype,"enabled");Object.defineProperty(y2.MediaStreamTrack.prototype,"enabled",{set:function(T){d2.set.call(this,T);var D=new Event("enabled");D.enabled=T,this.dispatchEvent(D)}})}y2.RTCRtpSender&&!("dtmf"in y2.RTCRtpSender.prototype)&&Object.defineProperty(y2.RTCRtpSender.prototype,"dtmf",{get:function(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new y2.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),y2.RTCDtmfSender&&!y2.RTCDTMFSender&&(y2.RTCDTMFSender=y2.RTCDtmfSender);var F2=(0,Z.default)(y2,o2.version);y2.RTCPeerConnection=function(T){return T&&T.iceServers&&(T.iceServers=(0,M.filterIceServers)(T.iceServers,o2.version),_.log("ICE servers after filtering:",T.iceServers)),new F2(T)},y2.RTCPeerConnection.prototype=F2.prototype}function k2(y2){y2.RTCRtpSender&&!("replaceTrack"in y2.RTCRtpSender.prototype)&&(y2.RTCRtpSender.prototype.replaceTrack=y2.RTCRtpSender.prototype.setTrack)}},{"../utils":15,"./filtericeservers":8,"./getdisplaymedia":9,"./getusermedia":10,"rtcpeerconnection-shim":16}],8:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.filterIceServers=_;var f=O("../utils"),y=b(f);function b(M){if(M&&M.__esModule)return M;var a2={};if(M!=null)for(var Z in M)Object.prototype.hasOwnProperty.call(M,Z)&&(a2[Z]=M[Z]);return a2.default=M,a2}function _(M,a2){var Z=!1;return M=JSON.parse(JSON.stringify(M)),M.filter(function(t2){if(t2&&(t2.urls||t2.url)){var J=t2.urls||t2.url;t2.url&&!t2.urls&&y.deprecated("RTCIceServer.url","RTCIceServer.urls");var Y=typeof J=="string";return Y&&(J=[J]),J=J.filter(function(k2){if(k2.indexOf("stun:")===0)return!1;var y2=k2.startsWith("turn")&&!k2.startsWith("turn:[")&&k2.includes("transport=udp");return y2&&!Z?(Z=!0,!0):y2&&!Z}),delete t2.url,t2.urls=Y?J[0]:J,!!J.length}})}},{"../utils":15}],9:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=f;function f(y){"getDisplayMedia"in y.navigator&&y.navigator.mediaDevices&&(y.navigator.mediaDevices&&"getDisplayMedia"in y.navigator.mediaDevices||(y.navigator.mediaDevices.getDisplayMedia=y.navigator.getDisplayMedia.bind(y.navigator)))}},{}],10:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetUserMedia=f;function f(y){var b=y&&y.navigator,_=function(Z){return{name:{PermissionDeniedError:"NotAllowedError"}[Z.name]||Z.name,message:Z.message,constraint:Z.constraint,toString:function(){return this.name}}},M=b.mediaDevices.getUserMedia.bind(b.mediaDevices);b.mediaDevices.getUserMedia=function(a2){return M(a2).catch(function(Z){return Promise.reject(_(Z))})}}},{}],11:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=d.shimGetUserMedia=void 0;var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(T){return n(T)}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":n(T)},y=O("./getusermedia");Object.defineProperty(d,"shimGetUserMedia",{enumerable:!0,get:function(){return y.shimGetUserMedia}});var b=O("./getdisplaymedia");Object.defineProperty(d,"shimGetDisplayMedia",{enumerable:!0,get:function(){return b.shimGetDisplayMedia}}),d.shimOnTrack=t2,d.shimPeerConnection=J,d.shimSenderGetStats=Y,d.shimReceiverGetStats=k2,d.shimRemoveStream=y2,d.shimRTCDataChannel=o2,d.shimAddTransceiver=d2,d.shimCreateOffer=F2,d.shimCreateAnswer=n2;var _=O("../utils"),M=a2(_);function a2(T){if(T&&T.__esModule)return T;var D={};if(T!=null)for(var W in T)Object.prototype.hasOwnProperty.call(T,W)&&(D[W]=T[W]);return D.default=T,D}function Z(T,D,W){return D in T?Object.defineProperty(T,D,{value:W,enumerable:!0,configurable:!0,writable:!0}):T[D]=W,T}function t2(T){(typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCTrackEvent&&"receiver"in T.RTCTrackEvent.prototype&&!("transceiver"in T.RTCTrackEvent.prototype)&&Object.defineProperty(T.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function J(T){var D=M.detectBrowser(T);if(!((typeof T=="undefined"?"undefined":f(T))!=="object"||!(T.RTCPeerConnection||T.mozRTCPeerConnection))){if(!T.RTCPeerConnection&&T.mozRTCPeerConnection&&(T.RTCPeerConnection=T.mozRTCPeerConnection),D.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(Y2){var W2=T.RTCPeerConnection.prototype[Y2],a3=Z({},Y2,function(){return arguments[0]=new(Y2==="addIceCandidate"?T.RTCIceCandidate:T.RTCSessionDescription)(arguments[0]),W2.apply(this,arguments)});T.RTCPeerConnection.prototype[Y2]=a3[Y2]}),D.version<68){var W=T.RTCPeerConnection.prototype.addIceCandidate;T.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?arguments[0]&&arguments[0].candidate===""?Promise.resolve():W.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())}}var x2={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},N2=T.RTCPeerConnection.prototype.getStats;T.RTCPeerConnection.prototype.getStats=function(){var W2=Array.prototype.slice.call(arguments),a3=W2[0],w3=W2[1],v3=W2[2];return N2.apply(this,[a3||null]).then(function(f3){if(D.version<53&&!w3)try{f3.forEach(function(v1){v1.type=x2[v1.type]||v1.type})}catch(v1){if(v1.name!=="TypeError")throw v1;f3.forEach(function(a1,w1){f3.set(w1,Object.assign({},a1,{type:x2[a1.type]||a1.type}))})}return f3}).then(w3,v3)}}}function Y(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection&&T.RTCRtpSender&&!(T.RTCRtpSender&&"getStats"in T.RTCRtpSender.prototype)){var D=T.RTCPeerConnection.prototype.getSenders;D&&(T.RTCPeerConnection.prototype.getSenders=function(){var N2=this,Y2=D.apply(this,[]);return Y2.forEach(function(W2){return W2._pc=N2}),Y2});var W=T.RTCPeerConnection.prototype.addTrack;W&&(T.RTCPeerConnection.prototype.addTrack=function(){var N2=W.apply(this,arguments);return N2._pc=this,N2}),T.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function k2(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection&&T.RTCRtpSender&&!(T.RTCRtpSender&&"getStats"in T.RTCRtpReceiver.prototype)){var D=T.RTCPeerConnection.prototype.getReceivers;D&&(T.RTCPeerConnection.prototype.getReceivers=function(){var x2=this,N2=D.apply(this,[]);return N2.forEach(function(Y2){return Y2._pc=x2}),N2}),M.wrapPeerConnectionEvent(T,"track",function(W){return W.receiver._pc=W.srcElement,W}),T.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function y2(T){!T.RTCPeerConnection||"removeStream"in T.RTCPeerConnection.prototype||(T.RTCPeerConnection.prototype.removeStream=function(W){var x2=this;M.deprecated("removeStream","removeTrack"),this.getSenders().forEach(function(N2){N2.track&&W.getTracks().includes(N2.track)&&x2.removeTrack(N2)})})}function o2(T){T.DataChannel&&!T.RTCDataChannel&&(T.RTCDataChannel=T.DataChannel)}function d2(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection){var D=T.RTCPeerConnection.prototype.addTransceiver;D&&(T.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var x2=arguments[1],N2=x2&&"sendEncodings"in x2;N2&&x2.sendEncodings.forEach(function(w3){if("rid"in w3){var v3=/^[a-z0-9]{0,16}$/i;if(!v3.test(w3.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in w3&&!(parseFloat(w3.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in w3&&!(parseFloat(w3.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});var Y2=D.apply(this,arguments);if(N2){var W2=Y2.sender,a3=W2.getParameters();"encodings"in a3||(a3.encodings=x2.sendEncodings,this.setParametersPromises.push(W2.setParameters(a3).catch(function(){})))}return Y2})}}function F2(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection){var D=T.RTCPeerConnection.prototype.createOffer;T.RTCPeerConnection.prototype.createOffer=function(){var x2=this,N2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return D.apply(x2,N2)}).finally(function(){x2.setParametersPromises=[]}):D.apply(this,arguments)}}}function n2(T){if((typeof T=="undefined"?"undefined":f(T))==="object"&&T.RTCPeerConnection){var D=T.RTCPeerConnection.prototype.createAnswer;T.RTCPeerConnection.prototype.createAnswer=function(){var x2=this,N2=arguments;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(function(){return D.apply(x2,N2)}).finally(function(){x2.setParametersPromises=[]}):D.apply(this,arguments)}}}},{"../utils":15,"./getdisplaymedia":12,"./getusermedia":13}],12:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0}),d.shimGetDisplayMedia=f;function f(y,b){y.navigator.mediaDevices&&"getDisplayMedia"in y.navigator.mediaDevices||y.navigator.mediaDevices&&(y.navigator.mediaDevices.getDisplayMedia=function(M){if(!(M&&M.video)){var a2=new DOMException("getDisplayMedia without video constraints is undefined");return a2.name="NotFoundError",a2.code=8,Promise.reject(a2)}return M.video===!0?M.video={mediaSource:b}:M.video.mediaSource=b,y.navigator.mediaDevices.getUserMedia(M)})}},{}],13:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(a2){return n(a2)}:function(a2){return a2&&typeof Symbol=="function"&&a2.constructor===Symbol&&a2!==Symbol.prototype?"symbol":n(a2)};d.shimGetUserMedia=M;var y=O("../utils"),b=_(y);function _(a2){if(a2&&a2.__esModule)return a2;var Z={};if(a2!=null)for(var t2 in a2)Object.prototype.hasOwnProperty.call(a2,t2)&&(Z[t2]=a2[t2]);return Z.default=a2,Z}function M(a2){var Z=b.detectBrowser(a2),t2=a2&&a2.navigator,J=a2&&a2.MediaStreamTrack;if(t2.getUserMedia=function(d2,F2,n2){b.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),t2.mediaDevices.getUserMedia(d2).then(F2,n2)},!(Z.version>55&&"autoGainControl"in t2.mediaDevices.getSupportedConstraints())){var Y=function(F2,n2,T){n2 in F2&&!(T in F2)&&(F2[T]=F2[n2],delete F2[n2])},k2=t2.mediaDevices.getUserMedia.bind(t2.mediaDevices);if(t2.mediaDevices.getUserMedia=function(d2){return(typeof d2=="undefined"?"undefined":f(d2))==="object"&&f(d2.audio)==="object"&&(d2=JSON.parse(JSON.stringify(d2)),Y(d2.audio,"autoGainControl","mozAutoGainControl"),Y(d2.audio,"noiseSuppression","mozNoiseSuppression")),k2(d2)},J&&J.prototype.getSettings){var y2=J.prototype.getSettings;J.prototype.getSettings=function(){var d2=y2.apply(this,arguments);return Y(d2,"mozAutoGainControl","autoGainControl"),Y(d2,"mozNoiseSuppression","noiseSuppression"),d2}}if(J&&J.prototype.applyConstraints){var o2=J.prototype.applyConstraints;J.prototype.applyConstraints=function(d2){return this.kind==="audio"&&(typeof d2=="undefined"?"undefined":f(d2))==="object"&&(d2=JSON.parse(JSON.stringify(d2)),Y(d2,"autoGainControl","mozAutoGainControl"),Y(d2,"noiseSuppression","mozNoiseSuppression")),o2.apply(this,[d2])}}}}},{"../utils":15}],14:[function(O,N,d){Object.defineProperty(d,"__esModule",{value:!0});var f=typeof Symbol=="function"&&n(Symbol.iterator)==="symbol"?function(o2){return n(o2)}:function(o2){return o2&&typeof Symbol=="function"&&o2.constructor===Symbol&&o2!==Symbol.prototype?"symbol":n(o2)};d.shimLocalStreamsAPI=M,d.shimRemoteStreamsAPI=a2,d.shimCallbacksAPI=Z,d.shimGetUserMedia=t2,d.shimConstraints=J,d.shimRTCIceServerUrls=Y,d.shimTrackEventTransceiver=k2,d.shimCreateOfferLegacy=y2;var y=O("../utils"),b=_(y);function _(o2){if(o2&&o2.__esModule)return o2;var d2={};if(o2!=null)for(var F2 in o2)Object.prototype.hasOwnProperty.call(o2,F2)&&(d2[F2]=o2[F2]);return d2.default=o2,d2}function M(o2){if(!((typeof o2=="undefined"?"undefined":f(o2))!=="object"||!o2.RTCPeerConnection)){if("getLocalStreams"in o2.RTCPeerConnection.prototype||(o2.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in o2.RTCPeerConnection.prototype)){var d2=o2.RTCPeerConnection.prototype.addTrack;o2.RTCPeerConnection.prototype.addStream=function(n2){var T=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(n2)||this._localStreams.push(n2),n2.getAudioTracks().forEach(function(D){return d2.call(T,D,n2)}),n2.getVideoTracks().forEach(function(D){return d2.call(T,D,n2)})},o2.RTCPeerConnection.prototype.addTrack=function(n2){var T=arguments[1];return T&&(this._localStreams?this._localStreams.includes(T)||this._localStreams.push(T):this._localStreams=[T]),d2.apply(this,arguments)}}"removeStream"in o2.RTCPeerConnection.prototype||(o2.RTCPeerConnection.prototype.removeStream=function(n2){var T=this;this._localStreams||(this._localStreams=[]);var D=this._localStreams.indexOf(n2);if(D!==-1){this._localStreams.splice(D,1);var W=n2.getTracks();this.getSenders().forEach(function(x2){W.includes(x2.track)&&T.removeTrack(x2)})}})}}function a2(o2){if(!((typeof o2=="undefined"?"undefined":f(o2))!=="object"||!o2.RTCPeerConnection)&&("getRemoteStreams"in o2.RTCPeerConnection.prototype||(o2.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in o2.RTCPeerConnection.prototype))){Object.defineProperty(o2.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(n2){var T=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=n2),this.addEventListener("track",this._onaddstreampoly=function(D){D.streams.forEach(function(W){if(T._remoteStreams||(T._remoteStreams=[]),!T._remoteStreams.includes(W)){T._remoteStreams.push(W);var x2=new Event("addstream");x2.stream=W,T.dispatchEvent(x2)}})})}});var d2=o2.RTCPeerConnection.prototype.setRemoteDescription;o2.RTCPeerConnection.prototype.setRemoteDescription=function(){var n2=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(T){T.streams.forEach(function(D){if(n2._remoteStreams||(n2._remoteStreams=[]),!(n2._remoteStreams.indexOf(D)>=0)){n2._remoteStreams.push(D);var W=new Event("addstream");W.stream=D,n2.dispatchEvent(W)}})}),d2.apply(n2,arguments)}}}function Z(o2){if(!((typeof o2=="undefined"?"undefined":f(o2))!=="object"||!o2.RTCPeerConnection)){var d2=o2.RTCPeerConnection.prototype,F2=d2.createOffer,n2=d2.createAnswer,T=d2.setLocalDescription,D=d2.setRemoteDescription,W=d2.addIceCandidate;d2.createOffer=function(Y2,W2){var a3=arguments.length>=2?arguments[2]:arguments[0],w3=F2.apply(this,[a3]);return W2?(w3.then(Y2,W2),Promise.resolve()):w3},d2.createAnswer=function(Y2,W2){var a3=arguments.length>=2?arguments[2]:arguments[0],w3=n2.apply(this,[a3]);return W2?(w3.then(Y2,W2),Promise.resolve()):w3};var x2=function(Y2,W2,a3){var w3=T.apply(this,[Y2]);return a3?(w3.then(W2,a3),Promise.resolve()):w3};d2.setLocalDescription=x2,x2=function(Y2,W2,a3){var w3=D.apply(this,[Y2]);return a3?(w3.then(W2,a3),Promise.resolve()):w3},d2.setRemoteDescription=x2,x2=function(Y2,W2,a3){var w3=W.apply(this,[Y2]);return a3?(w3.then(W2,a3),Promise.resolve()):w3},d2.addIceCandidate=x2}}function t2(o2){var d2=o2&&o2.navigator;if(d2.mediaDevices&&d2.mediaDevices.getUserMedia){var F2=d2.mediaDevices,n2=F2.getUserMedia.bind(F2);d2.mediaDevices.getUserMedia=function(T){return n2(J(T))}}!d2.getUserMedia&&d2.mediaDevices&&d2.mediaDevices.getUserMedia&&(d2.getUserMedia=function(D,W,x2){d2.mediaDevices.getUserMedia(D).then(W,x2)}.bind(d2))}function J(o2){return o2&&o2.video!==void 0?Object.assign({},o2,{video:b.compactObject(o2.video)}):o2}function Y(o2){var d2=o2.RTCPeerConnection;o2.RTCPeerConnection=function(n2,T){if(n2&&n2.iceServers){for(var D=[],W=0;W=D&&parseInt(W[D],10)}function a2(n2,T,D){if(n2.RTCPeerConnection){var W=n2.RTCPeerConnection.prototype,x2=W.addEventListener;W.addEventListener=function(Y2,W2){if(Y2!==T)return x2.apply(this,arguments);var a3=function(v3){var f3=D(v3);f3&&W2(f3)};return this._eventMap=this._eventMap||{},this._eventMap[W2]=a3,x2.apply(this,[Y2,a3])};var N2=W.removeEventListener;W.removeEventListener=function(Y2,W2){if(Y2!==T||!this._eventMap||!this._eventMap[W2])return N2.apply(this,arguments);var a3=this._eventMap[W2];return delete this._eventMap[W2],N2.apply(this,[Y2,a3])},Object.defineProperty(W,"on"+T,{get:function(){return this["_on"+T]},set:function(W2){this["_on"+T]&&(this.removeEventListener(T,this["_on"+T]),delete this["_on"+T]),W2&&this.addEventListener(T,this["_on"+T]=W2)},enumerable:!0,configurable:!0})}}function Z(n2){return typeof n2!="boolean"?new Error("Argument type: "+(typeof n2=="undefined"?"undefined":f(n2))+". Please use a boolean."):(b=n2,n2?"adapter.js logging disabled":"adapter.js logging enabled")}function t2(n2){return typeof n2!="boolean"?new Error("Argument type: "+(typeof n2=="undefined"?"undefined":f(n2))+". Please use a boolean."):(_=!n2,"adapter.js deprecation warnings "+(n2?"disabled":"enabled"))}function J(){if((typeof window=="undefined"?"undefined":f(window))==="object"){if(b)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function Y(n2,T){_&&console.warn(n2+" is deprecated, please use "+T+" instead.")}function k2(n2){var T=n2.navigator,D={browser:null,version:null};if(typeof n2=="undefined"||!n2.navigator)return D.browser="Not a browser.",D;if(T.mozGetUserMedia)D.browser="firefox",D.version=M(T.userAgent,/Firefox\/(\d+)\./,1);else if(T.webkitGetUserMedia||n2.isSecureContext===!1&&n2.webkitRTCPeerConnection&&!n2.RTCIceGatherer)D.browser="chrome",D.version=M(T.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(T.mediaDevices&&T.userAgent.match(/Edge\/(\d+).(\d+)$/))D.browser="edge",D.version=M(T.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(n2.RTCPeerConnection&&T.userAgent.match(/AppleWebKit\/(\d+)\./))D.browser="safari",D.version=M(T.userAgent,/AppleWebKit\/(\d+)\./,1),D.supportsUnifiedPlan=n2.RTCRtpTransceiver&&"currentDirection"in n2.RTCRtpTransceiver.prototype;else return D.browser="Not a supported browser.",D;return D}function y2(n2){return Object.prototype.toString.call(n2)==="[object Object]"}function o2(n2){return y2(n2)?Object.keys(n2).reduce(function(T,D){var W=y2(n2[D]),x2=W?o2(n2[D]):n2[D],N2=W&&!Object.keys(x2).length;return x2===void 0||N2?T:Object.assign(T,y({},D,x2))},{}):n2}function d2(n2,T,D){!T||D.has(T.id)||(D.set(T.id,T),Object.keys(T).forEach(function(W){W.endsWith("Id")?d2(n2,n2.get(T[W]),D):W.endsWith("Ids")&&T[W].forEach(function(x2){d2(n2,n2.get(x2),D)})}))}function F2(n2,T,D){var W=D?"outbound-rtp":"inbound-rtp",x2=new Map;if(T===null)return x2;var N2=[];return n2.forEach(function(Y2){Y2.type==="track"&&Y2.trackIdentifier===T.id&&N2.push(Y2)}),N2.forEach(function(Y2){n2.forEach(function(W2){W2.type===W&&W2.trackId===Y2.id&&d2(n2,W2,x2)})}),x2}},{}],16:[function(O,N,d){var f=O("sdp");function y(J){return{inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[J.type]||J.type}function b(J,Y,k2,y2,o2){var d2=f.writeRtpDescription(J.kind,Y);if(d2+=f.writeIceParameters(J.iceGatherer.getLocalParameters()),d2+=f.writeDtlsParameters(J.dtlsTransport.getLocalParameters(),k2==="offer"?"actpass":o2||"active"),d2+="a=mid:"+J.mid+`\r -`,J.rtpSender&&J.rtpReceiver?d2+=`a=sendrecv\r -`:J.rtpSender?d2+=`a=sendonly\r -`:J.rtpReceiver?d2+=`a=recvonly\r -`:d2+=`a=inactive\r -`,J.rtpSender){var F2=J.rtpSender._initialTrackId||J.rtpSender.track.id;J.rtpSender._initialTrackId=F2;var n2="msid:"+(y2?y2.id:"-")+" "+F2+`\r -`;d2+="a="+n2,d2+="a=ssrc:"+J.sendEncodingParameters[0].ssrc+" "+n2,J.sendEncodingParameters[0].rtx&&(d2+="a=ssrc:"+J.sendEncodingParameters[0].rtx.ssrc+" "+n2,d2+="a=ssrc-group:FID "+J.sendEncodingParameters[0].ssrc+" "+J.sendEncodingParameters[0].rtx.ssrc+`\r -`)}return d2+="a=ssrc:"+J.sendEncodingParameters[0].ssrc+" cname:"+f.localCName+`\r -`,J.rtpSender&&J.sendEncodingParameters[0].rtx&&(d2+="a=ssrc:"+J.sendEncodingParameters[0].rtx.ssrc+" cname:"+f.localCName+`\r -`),d2}function _(J,Y){var k2=!1;return J=JSON.parse(JSON.stringify(J)),J.filter(function(y2){if(y2&&(y2.urls||y2.url)){var o2=y2.urls||y2.url;y2.url&&!y2.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var d2=typeof o2=="string";return d2&&(o2=[o2]),o2=o2.filter(function(F2){var n2=F2.indexOf("turn:")===0&&F2.indexOf("transport=udp")!==-1&&F2.indexOf("turn:[")===-1&&!k2;return n2?(k2=!0,!0):F2.indexOf("stun:")===0&&Y>=14393&&F2.indexOf("?transport=udp")===-1}),delete y2.url,y2.urls=d2?o2[0]:o2,!!o2.length}})}function M(J,Y){var k2={codecs:[],headerExtensions:[],fecMechanisms:[]},y2=function(F2,n2){F2=parseInt(F2,10);for(var T=0;T0;N2--)this._iceGatherers.push(new J.RTCIceGatherer({iceServers:D.iceServers,gatherPolicy:D.iceTransportPolicy}));else D.iceCandidatePoolSize=0;this._config=D,this.transceivers=[],this._sdpSessionId=f.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(d2.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(d2.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),d2.prototype.onicecandidate=null,d2.prototype.onaddstream=null,d2.prototype.ontrack=null,d2.prototype.onremovestream=null,d2.prototype.onsignalingstatechange=null,d2.prototype.oniceconnectionstatechange=null,d2.prototype.onconnectionstatechange=null,d2.prototype.onicegatheringstatechange=null,d2.prototype.onnegotiationneeded=null,d2.prototype.ondatachannel=null,d2.prototype._dispatchEvent=function(T,D){this._isClosed||(this.dispatchEvent(D),typeof this["on"+T]=="function"&&this["on"+T](D))},d2.prototype._emitGatheringStateChange=function(){var T=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",T)},d2.prototype.getConfiguration=function(){return this._config},d2.prototype.getLocalStreams=function(){return this.localStreams},d2.prototype.getRemoteStreams=function(){return this.remoteStreams},d2.prototype._createTransceiver=function(T,D){var W=this.transceivers.length>0,x2={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:T,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&W)x2.iceTransport=this.transceivers[0].iceTransport,x2.dtlsTransport=this.transceivers[0].dtlsTransport;else{var N2=this._createIceAndDtlsTransports();x2.iceTransport=N2.iceTransport,x2.dtlsTransport=N2.dtlsTransport}return D||this.transceivers.push(x2),x2},d2.prototype.addTrack=function(T,D){if(this._isClosed)throw t2("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var W=this.transceivers.find(function(Y2){return Y2.track===T});if(W)throw t2("InvalidAccessError","Track already exists.");for(var x2,N2=0;N2=15025)T.getTracks().forEach(function(x2){D.addTrack(x2,T)});else{var W=T.clone();T.getTracks().forEach(function(x2,N2){var Y2=W.getTracks()[N2];x2.addEventListener("enabled",function(W2){Y2.enabled=W2.enabled})}),W.getTracks().forEach(function(x2){D.addTrack(x2,W)})}},d2.prototype.removeTrack=function(T){if(this._isClosed)throw t2("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(T instanceof J.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var D=this.transceivers.find(function(N2){return N2.rtpSender===T});if(!D)throw t2("InvalidAccessError","Sender was not created by this connection.");var W=D.stream;D.rtpSender.stop(),D.rtpSender=null,D.track=null,D.stream=null;var x2=this.transceivers.map(function(N2){return N2.stream});x2.indexOf(W)===-1&&this.localStreams.indexOf(W)>-1&&this.localStreams.splice(this.localStreams.indexOf(W),1),this._maybeFireNegotiationNeeded()},d2.prototype.removeStream=function(T){var D=this;T.getTracks().forEach(function(W){var x2=D.getSenders().find(function(N2){return N2.track===W});x2&&D.removeTrack(x2)})},d2.prototype.getSenders=function(){return this.transceivers.filter(function(T){return!!T.rtpSender}).map(function(T){return T.rtpSender})},d2.prototype.getReceivers=function(){return this.transceivers.filter(function(T){return!!T.rtpReceiver}).map(function(T){return T.rtpReceiver})},d2.prototype._createIceGatherer=function(T,D){var W=this;if(D&&T>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var x2=new J.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(x2,"state",{value:"new",writable:!0}),this.transceivers[T].bufferedCandidateEvents=[],this.transceivers[T].bufferCandidates=function(N2){var Y2=!N2.candidate||Object.keys(N2.candidate).length===0;x2.state=Y2?"completed":"gathering",W.transceivers[T].bufferedCandidateEvents!==null&&W.transceivers[T].bufferedCandidateEvents.push(N2)},x2.addEventListener("localcandidate",this.transceivers[T].bufferCandidates),x2},d2.prototype._gather=function(T,D){var W=this,x2=this.transceivers[D].iceGatherer;if(!x2.onlocalcandidate){var N2=this.transceivers[D].bufferedCandidateEvents;this.transceivers[D].bufferedCandidateEvents=null,x2.removeEventListener("localcandidate",this.transceivers[D].bufferCandidates),x2.onlocalcandidate=function(Y2){if(!(W.usingBundle&&D>0)){var W2=new Event("icecandidate");W2.candidate={sdpMid:T,sdpMLineIndex:D};var a3=Y2.candidate,w3=!a3||Object.keys(a3).length===0;if(w3)(x2.state==="new"||x2.state==="gathering")&&(x2.state="completed");else{x2.state==="new"&&(x2.state="gathering"),a3.component=1,a3.ufrag=x2.getLocalParameters().usernameFragment;var v3=f.writeCandidate(a3);W2.candidate=Object.assign(W2.candidate,f.parseCandidate(v3)),W2.candidate.candidate=v3,W2.candidate.toJSON=function(){return{candidate:W2.candidate.candidate,sdpMid:W2.candidate.sdpMid,sdpMLineIndex:W2.candidate.sdpMLineIndex,usernameFragment:W2.candidate.usernameFragment}}}var f3=f.getMediaSections(W._localDescription.sdp);w3?f3[W2.candidate.sdpMLineIndex]+=`a=end-of-candidates\r -`:f3[W2.candidate.sdpMLineIndex]+="a="+W2.candidate.candidate+`\r -`,W._localDescription.sdp=f.getDescription(W._localDescription.sdp)+f3.join("");var v1=W.transceivers.every(function(a1){return a1.iceGatherer&&a1.iceGatherer.state==="completed"});W.iceGatheringState!=="gathering"&&(W.iceGatheringState="gathering",W._emitGatheringStateChange()),w3||W._dispatchEvent("icecandidate",W2),v1&&(W._dispatchEvent("icecandidate",new Event("icecandidate")),W.iceGatheringState="complete",W._emitGatheringStateChange())}},J.setTimeout(function(){N2.forEach(function(Y2){x2.onlocalcandidate(Y2)})},0)}},d2.prototype._createIceAndDtlsTransports=function(){var T=this,D=new J.RTCIceTransport(null);D.onicestatechange=function(){T._updateIceConnectionState(),T._updateConnectionState()};var W=new J.RTCDtlsTransport(D);return W.ondtlsstatechange=function(){T._updateConnectionState()},W.onerror=function(){Object.defineProperty(W,"state",{value:"failed",writable:!0}),T._updateConnectionState()},{iceTransport:D,dtlsTransport:W}},d2.prototype._disposeIceAndDtlsTransports=function(T){var D=this.transceivers[T].iceGatherer;D&&(delete D.onlocalcandidate,delete this.transceivers[T].iceGatherer);var W=this.transceivers[T].iceTransport;W&&(delete W.onicestatechange,delete this.transceivers[T].iceTransport);var x2=this.transceivers[T].dtlsTransport;x2&&(delete x2.ondtlsstatechange,delete x2.onerror,delete this.transceivers[T].dtlsTransport)},d2.prototype._transceive=function(T,D,W){var x2=M(T.localCapabilities,T.remoteCapabilities);D&&T.rtpSender&&(x2.encodings=T.sendEncodingParameters,x2.rtcp={cname:f.localCName,compound:T.rtcpParameters.compound},T.recvEncodingParameters.length&&(x2.rtcp.ssrc=T.recvEncodingParameters[0].ssrc),T.rtpSender.send(x2)),W&&T.rtpReceiver&&x2.codecs.length>0&&(T.kind==="video"&&T.recvEncodingParameters&&Y<15019&&T.recvEncodingParameters.forEach(function(N2){delete N2.rtx}),T.recvEncodingParameters.length?x2.encodings=T.recvEncodingParameters:x2.encodings=[{}],x2.rtcp={compound:T.rtcpParameters.compound},T.rtcpParameters.cname&&(x2.rtcp.cname=T.rtcpParameters.cname),T.sendEncodingParameters.length&&(x2.rtcp.ssrc=T.sendEncodingParameters[0].ssrc),T.rtpReceiver.receive(x2))},d2.prototype.setLocalDescription=function(T){var D=this;if(["offer","answer"].indexOf(T.type)===-1)return Promise.reject(t2("TypeError",'Unsupported type "'+T.type+'"'));if(!a2("setLocalDescription",T.type,D.signalingState)||D._isClosed)return Promise.reject(t2("InvalidStateError","Can not set local "+T.type+" in state "+D.signalingState));var W,x2;if(T.type==="offer")W=f.splitSections(T.sdp),x2=W.shift(),W.forEach(function(Y2,W2){var a3=f.parseRtpParameters(Y2);D.transceivers[W2].localCapabilities=a3}),D.transceivers.forEach(function(Y2,W2){D._gather(Y2.mid,W2)});else if(T.type==="answer"){W=f.splitSections(D._remoteDescription.sdp),x2=W.shift();var N2=f.matchPrefix(x2,"a=ice-lite").length>0;W.forEach(function(Y2,W2){var a3=D.transceivers[W2],w3=a3.iceGatherer,v3=a3.iceTransport,f3=a3.dtlsTransport,v1=a3.localCapabilities,a1=a3.remoteCapabilities,w1=f.isRejected(Y2)&&f.matchPrefix(Y2,"a=bundle-only").length===0;if(!w1&&!a3.rejected){var T1=f.getIceParameters(Y2,x2),N1=f.getDtlsParameters(Y2,x2);N2&&(N1.role="server"),(!D.usingBundle||W2===0)&&(D._gather(a3.mid,W2),v3.state==="new"&&v3.start(w3,T1,N2?"controlling":"controlled"),f3.state==="new"&&f3.start(N1));var L=M(v1,a1);D._transceive(a3,L.codecs.length>0,!1)}})}return D._localDescription={type:T.type,sdp:T.sdp},T.type==="offer"?D._updateSignalingState("have-local-offer"):D._updateSignalingState("stable"),Promise.resolve()},d2.prototype.setRemoteDescription=function(T){var D=this;if(["offer","answer"].indexOf(T.type)===-1)return Promise.reject(t2("TypeError",'Unsupported type "'+T.type+'"'));if(!a2("setRemoteDescription",T.type,D.signalingState)||D._isClosed)return Promise.reject(t2("InvalidStateError","Can not set remote "+T.type+" in state "+D.signalingState));var W={};D.remoteStreams.forEach(function(v3){W[v3.id]=v3});var x2=[],N2=f.splitSections(T.sdp),Y2=N2.shift(),W2=f.matchPrefix(Y2,"a=ice-lite").length>0,a3=f.matchPrefix(Y2,"a=group:BUNDLE ").length>0;D.usingBundle=a3;var w3=f.matchPrefix(Y2,"a=ice-options:")[0];return w3?D.canTrickleIceCandidates=w3.substr(14).split(" ").indexOf("trickle")>=0:D.canTrickleIceCandidates=!1,N2.forEach(function(v3,f3){var v1=f.splitLines(v3),a1=f.getKind(v3),w1=f.isRejected(v3)&&f.matchPrefix(v3,"a=bundle-only").length===0,T1=v1[0].substr(2).split(" ")[2],N1=f.getDirection(v3,Y2),L=f.parseMsid(v3),q=f.getMid(v3)||f.generateIdentifier();if(w1||a1==="application"&&(T1==="DTLS/SCTP"||T1==="UDP/DTLS/SCTP")){D.transceivers[f3]={mid:q,kind:a1,protocol:T1,rejected:!0};return}!w1&&D.transceivers[f3]&&D.transceivers[f3].rejected&&(D.transceivers[f3]=D._createTransceiver(a1,!0));var F,r2,p2,f2,r3,N3,K,m2,R2,q2=f.parseRtpParameters(v3),X3,p1;w1||(X3=f.getIceParameters(v3,Y2),p1=f.getDtlsParameters(v3,Y2),p1.role="client"),K=f.parseRtpEncodingParameters(v3);var B=f.parseRtcpParameters(v3),H=f.matchPrefix(v3,"a=end-of-candidates",Y2).length>0,S=f.matchPrefix(v3,"a=candidate:").map(function(J2){return f.parseCandidate(J2)}).filter(function(J2){return J2.component===1});if((T.type==="offer"||T.type==="answer")&&!w1&&a3&&f3>0&&D.transceivers[f3]&&(D._disposeIceAndDtlsTransports(f3),D.transceivers[f3].iceGatherer=D.transceivers[0].iceGatherer,D.transceivers[f3].iceTransport=D.transceivers[0].iceTransport,D.transceivers[f3].dtlsTransport=D.transceivers[0].dtlsTransport,D.transceivers[f3].rtpSender&&D.transceivers[f3].rtpSender.setTransport(D.transceivers[0].dtlsTransport),D.transceivers[f3].rtpReceiver&&D.transceivers[f3].rtpReceiver.setTransport(D.transceivers[0].dtlsTransport)),T.type==="offer"&&!w1){F=D.transceivers[f3]||D._createTransceiver(a1),F.mid=q,F.iceGatherer||(F.iceGatherer=D._createIceGatherer(f3,a3)),S.length&&F.iceTransport.state==="new"&&(H&&(!a3||f3===0)?F.iceTransport.setRemoteCandidates(S):S.forEach(function(J2){Z(F.iceTransport,J2)})),m2=J.RTCRtpReceiver.getCapabilities(a1),Y<15019&&(m2.codecs=m2.codecs.filter(function(J2){return J2.name!=="rtx"})),N3=F.sendEncodingParameters||[{ssrc:(2*f3+2)*1001}];var E=!1;if(N1==="sendrecv"||N1==="sendonly"){if(E=!F.rtpReceiver,r3=F.rtpReceiver||new J.RTCRtpReceiver(F.dtlsTransport,a1),E){var c2;R2=r3.track,L&&L.stream==="-"||(L?(W[L.stream]||(W[L.stream]=new J.MediaStream,Object.defineProperty(W[L.stream],"id",{get:function(){return L.stream}})),Object.defineProperty(R2,"id",{get:function(){return L.track}}),c2=W[L.stream]):(W.default||(W.default=new J.MediaStream),c2=W.default)),c2&&(k2(R2,c2),F.associatedRemoteMediaStreams.push(c2)),x2.push([R2,r3,c2])}}else F.rtpReceiver&&F.rtpReceiver.track&&(F.associatedRemoteMediaStreams.forEach(function(J2){var M3=J2.getTracks().find(function(u1){return u1.id===F.rtpReceiver.track.id});M3&&y2(M3,J2)}),F.associatedRemoteMediaStreams=[]);F.localCapabilities=m2,F.remoteCapabilities=q2,F.rtpReceiver=r3,F.rtcpParameters=B,F.sendEncodingParameters=N3,F.recvEncodingParameters=K,D._transceive(D.transceivers[f3],!1,E)}else if(T.type==="answer"&&!w1){F=D.transceivers[f3],r2=F.iceGatherer,p2=F.iceTransport,f2=F.dtlsTransport,r3=F.rtpReceiver,N3=F.sendEncodingParameters,m2=F.localCapabilities,D.transceivers[f3].recvEncodingParameters=K,D.transceivers[f3].remoteCapabilities=q2,D.transceivers[f3].rtcpParameters=B,S.length&&p2.state==="new"&&((W2||H)&&(!a3||f3===0)?p2.setRemoteCandidates(S):S.forEach(function(J2){Z(F.iceTransport,J2)})),(!a3||f3===0)&&(p2.state==="new"&&p2.start(r2,X3,"controlling"),f2.state==="new"&&f2.start(p1));var L2=M(F.localCapabilities,F.remoteCapabilities),U2=L2.codecs.filter(function(J2){return J2.name.toLowerCase()==="rtx"}).length;!U2&&F.sendEncodingParameters[0].rtx&&delete F.sendEncodingParameters[0].rtx,D._transceive(F,N1==="sendrecv"||N1==="recvonly",N1==="sendrecv"||N1==="sendonly"),r3&&(N1==="sendrecv"||N1==="sendonly")?(R2=r3.track,L?(W[L.stream]||(W[L.stream]=new J.MediaStream),k2(R2,W[L.stream]),x2.push([R2,r3,W[L.stream]])):(W.default||(W.default=new J.MediaStream),k2(R2,W.default),x2.push([R2,r3,W.default]))):delete F.rtpReceiver}}),D._dtlsRole===void 0&&(D._dtlsRole=T.type==="offer"?"active":"passive"),D._remoteDescription={type:T.type,sdp:T.sdp},T.type==="offer"?D._updateSignalingState("have-remote-offer"):D._updateSignalingState("stable"),Object.keys(W).forEach(function(v3){var f3=W[v3];if(f3.getTracks().length){if(D.remoteStreams.indexOf(f3)===-1){D.remoteStreams.push(f3);var v1=new Event("addstream");v1.stream=f3,J.setTimeout(function(){D._dispatchEvent("addstream",v1)})}x2.forEach(function(a1){var w1=a1[0],T1=a1[1];f3.id===a1[2].id&&o2(D,w1,T1,[f3])})}}),x2.forEach(function(v3){v3[2]||o2(D,v3[0],v3[1],[])}),J.setTimeout(function(){D&&D.transceivers&&D.transceivers.forEach(function(v3){v3.iceTransport&&v3.iceTransport.state==="new"&&v3.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),v3.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},d2.prototype.close=function(){this.transceivers.forEach(function(T){T.iceTransport&&T.iceTransport.stop(),T.dtlsTransport&&T.dtlsTransport.stop(),T.rtpSender&&T.rtpSender.stop(),T.rtpReceiver&&T.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},d2.prototype._updateSignalingState=function(T){this.signalingState=T;var D=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",D)},d2.prototype._maybeFireNegotiationNeeded=function(){var T=this;this.signalingState!=="stable"||this.needNegotiation===!0||(this.needNegotiation=!0,J.setTimeout(function(){if(T.needNegotiation){T.needNegotiation=!1;var D=new Event("negotiationneeded");T._dispatchEvent("negotiationneeded",D)}},0))},d2.prototype._updateIceConnectionState=function(){var T,D={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(x2){x2.iceTransport&&!x2.rejected&&D[x2.iceTransport.state]++}),T="new",D.failed>0?T="failed":D.checking>0?T="checking":D.disconnected>0?T="disconnected":D.new>0?T="new":D.connected>0?T="connected":D.completed>0&&(T="completed"),T!==this.iceConnectionState){this.iceConnectionState=T;var W=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",W)}},d2.prototype._updateConnectionState=function(){var T,D={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(x2){x2.iceTransport&&x2.dtlsTransport&&!x2.rejected&&(D[x2.iceTransport.state]++,D[x2.dtlsTransport.state]++)}),D.connected+=D.completed,T="new",D.failed>0?T="failed":D.connecting>0?T="connecting":D.disconnected>0?T="disconnected":D.new>0?T="new":D.connected>0&&(T="connected"),T!==this.connectionState){this.connectionState=T;var W=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",W)}},d2.prototype.createOffer=function(){var T=this;if(T._isClosed)return Promise.reject(t2("InvalidStateError","Can not call createOffer after close"));var D=T.transceivers.filter(function(W2){return W2.kind==="audio"}).length,W=T.transceivers.filter(function(W2){return W2.kind==="video"}).length,x2=arguments[0];if(x2){if(x2.mandatory||x2.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");x2.offerToReceiveAudio!==void 0&&(x2.offerToReceiveAudio===!0?D=1:x2.offerToReceiveAudio===!1?D=0:D=x2.offerToReceiveAudio),x2.offerToReceiveVideo!==void 0&&(x2.offerToReceiveVideo===!0?W=1:x2.offerToReceiveVideo===!1?W=0:W=x2.offerToReceiveVideo)}for(T.transceivers.forEach(function(W2){W2.kind==="audio"?(D--,D<0&&(W2.wantReceive=!1)):W2.kind==="video"&&(W--,W<0&&(W2.wantReceive=!1))});D>0||W>0;)D>0&&(T._createTransceiver("audio"),D--),W>0&&(T._createTransceiver("video"),W--);var N2=f.writeSessionBoilerplate(T._sdpSessionId,T._sdpSessionVersion++);T.transceivers.forEach(function(W2,a3){var w3=W2.track,v3=W2.kind,f3=W2.mid||f.generateIdentifier();W2.mid=f3,W2.iceGatherer||(W2.iceGatherer=T._createIceGatherer(a3,T.usingBundle));var v1=J.RTCRtpSender.getCapabilities(v3);Y<15019&&(v1.codecs=v1.codecs.filter(function(w1){return w1.name!=="rtx"})),v1.codecs.forEach(function(w1){w1.name==="H264"&&w1.parameters["level-asymmetry-allowed"]===void 0&&(w1.parameters["level-asymmetry-allowed"]="1"),W2.remoteCapabilities&&W2.remoteCapabilities.codecs&&W2.remoteCapabilities.codecs.forEach(function(T1){w1.name.toLowerCase()===T1.name.toLowerCase()&&w1.clockRate===T1.clockRate&&(w1.preferredPayloadType=T1.payloadType)})}),v1.headerExtensions.forEach(function(w1){var T1=W2.remoteCapabilities&&W2.remoteCapabilities.headerExtensions||[];T1.forEach(function(N1){w1.uri===N1.uri&&(w1.id=N1.id)})});var a1=W2.sendEncodingParameters||[{ssrc:(2*a3+1)*1001}];w3&&Y>=15019&&v3==="video"&&!a1[0].rtx&&(a1[0].rtx={ssrc:a1[0].ssrc+1}),W2.wantReceive&&(W2.rtpReceiver=new J.RTCRtpReceiver(W2.dtlsTransport,v3)),W2.localCapabilities=v1,W2.sendEncodingParameters=a1}),T._config.bundlePolicy!=="max-compat"&&(N2+="a=group:BUNDLE "+T.transceivers.map(function(W2){return W2.mid}).join(" ")+`\r -`),N2+=`a=ice-options:trickle\r -`,T.transceivers.forEach(function(W2,a3){N2+=b(W2,W2.localCapabilities,"offer",W2.stream,T._dtlsRole),N2+=`a=rtcp-rsize\r -`,W2.iceGatherer&&T.iceGatheringState!=="new"&&(a3===0||!T.usingBundle)&&(W2.iceGatherer.getLocalCandidates().forEach(function(w3){w3.component=1,N2+="a="+f.writeCandidate(w3)+`\r -`}),W2.iceGatherer.state==="completed"&&(N2+=`a=end-of-candidates\r -`))});var Y2=new J.RTCSessionDescription({type:"offer",sdp:N2});return Promise.resolve(Y2)},d2.prototype.createAnswer=function(){var T=this;if(T._isClosed)return Promise.reject(t2("InvalidStateError","Can not call createAnswer after close"));if(!(T.signalingState==="have-remote-offer"||T.signalingState==="have-local-pranswer"))return Promise.reject(t2("InvalidStateError","Can not call createAnswer in signalingState "+T.signalingState));var D=f.writeSessionBoilerplate(T._sdpSessionId,T._sdpSessionVersion++);T.usingBundle&&(D+="a=group:BUNDLE "+T.transceivers.map(function(N2){return N2.mid}).join(" ")+`\r -`),D+=`a=ice-options:trickle\r -`;var W=f.getMediaSections(T._remoteDescription.sdp).length;T.transceivers.forEach(function(N2,Y2){if(!(Y2+1>W)){if(N2.rejected){N2.kind==="application"?N2.protocol==="DTLS/SCTP"?D+=`m=application 0 DTLS/SCTP 5000\r -`:D+="m=application 0 "+N2.protocol+` webrtc-datachannel\r -`:N2.kind==="audio"?D+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r -a=rtpmap:0 PCMU/8000\r -`:N2.kind==="video"&&(D+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r -a=rtpmap:120 VP8/90000\r -`),D+=`c=IN IP4 0.0.0.0\r -a=inactive\r -a=mid:`+N2.mid+`\r -`;return}if(N2.stream){var W2;N2.kind==="audio"?W2=N2.stream.getAudioTracks()[0]:N2.kind==="video"&&(W2=N2.stream.getVideoTracks()[0]),W2&&Y>=15019&&N2.kind==="video"&&!N2.sendEncodingParameters[0].rtx&&(N2.sendEncodingParameters[0].rtx={ssrc:N2.sendEncodingParameters[0].ssrc+1})}var a3=M(N2.localCapabilities,N2.remoteCapabilities),w3=a3.codecs.filter(function(v3){return v3.name.toLowerCase()==="rtx"}).length;!w3&&N2.sendEncodingParameters[0].rtx&&delete N2.sendEncodingParameters[0].rtx,D+=b(N2,a3,"answer",N2.stream,T._dtlsRole),N2.rtcpParameters&&N2.rtcpParameters.reducedSize&&(D+=`a=rtcp-rsize\r -`)}});var x2=new J.RTCSessionDescription({type:"answer",sdp:D});return Promise.resolve(x2)},d2.prototype.addIceCandidate=function(T){var D=this,W;return T&&!(T.sdpMLineIndex!==void 0||T.sdpMid)?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(x2,N2){if(D._remoteDescription)if(!T||T.candidate==="")for(var Y2=0;Y20?f.parseCandidate(T.candidate):{};if(v3.protocol==="tcp"&&(v3.port===0||v3.port===9)||v3.component&&v3.component!==1)return x2();if((W2===0||W2>0&&w3.iceTransport!==D.transceivers[0].iceTransport)&&!Z(w3.iceTransport,v3))return N2(t2("OperationError","Can not add ICE candidate"));var f3=T.candidate.trim();f3.indexOf("a=")===0&&(f3=f3.substr(2)),W=f.getMediaSections(D._remoteDescription.sdp),W[W2]+="a="+(v3.type?f3:"end-of-candidates")+`\r -`,D._remoteDescription.sdp=f.getDescription(D._remoteDescription.sdp)+W.join("")}else return N2(t2("OperationError","Can not add ICE candidate"))}else return N2(t2("InvalidStateError","Can not add ICE candidate without a remote description"));x2()})},d2.prototype.getStats=function(T){if(T&&T instanceof J.MediaStreamTrack){var D=null;if(this.transceivers.forEach(function(x2){x2.rtpSender&&x2.rtpSender.track===T?D=x2.rtpSender:x2.rtpReceiver&&x2.rtpReceiver.track===T&&(D=x2.rtpReceiver)}),!D)throw t2("InvalidAccessError","Invalid selector.");return D.getStats()}var W=[];return this.transceivers.forEach(function(x2){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(N2){x2[N2]&&W.push(x2[N2].getStats())})}),Promise.all(W).then(function(x2){var N2=new Map;return x2.forEach(function(Y2){Y2.forEach(function(W2){N2.set(W2.id,W2)})}),N2})};var F2=["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"];F2.forEach(function(T){var D=J[T];if(D&&D.prototype&&D.prototype.getStats){var W=D.prototype.getStats;D.prototype.getStats=function(){return W.apply(this).then(function(x2){var N2=new Map;return Object.keys(x2).forEach(function(Y2){x2[Y2].type=y(x2[Y2]),N2.set(Y2,x2[Y2])}),N2})}}});var n2=["createOffer","createAnswer"];return n2.forEach(function(T){var D=d2.prototype[T];d2.prototype[T]=function(){var W=arguments;return typeof W[0]=="function"||typeof W[1]=="function"?D.apply(this,[arguments[2]]).then(function(x2){typeof W[0]=="function"&&W[0].apply(null,[x2])},function(x2){typeof W[1]=="function"&&W[1].apply(null,[x2])}):D.apply(this,arguments)}}),n2=["setLocalDescription","setRemoteDescription","addIceCandidate"],n2.forEach(function(T){var D=d2.prototype[T];d2.prototype[T]=function(){var W=arguments;return typeof W[1]=="function"||typeof W[2]=="function"?D.apply(this,arguments).then(function(){typeof W[1]=="function"&&W[1].apply(null)},function(x2){typeof W[2]=="function"&&W[2].apply(null,[x2])}):D.apply(this,arguments)}}),["getStats"].forEach(function(T){var D=d2.prototype[T];d2.prototype[T]=function(){var W=arguments;return typeof W[1]=="function"?D.apply(this,arguments).then(function(){typeof W[1]=="function"&&W[1].apply(null)}):D.apply(this,arguments)}}),d2}},{sdp:17}],17:[function(O,N,d){var f={};f.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},f.localCName=f.generateIdentifier(),f.splitLines=function(y){return y.trim().split(` -`).map(function(b){return b.trim()})},f.splitSections=function(y){var b=y.split(` -m=`);return b.map(function(_,M){return(M>0?"m="+_:_).trim()+`\r -`})},f.getDescription=function(y){var b=f.splitSections(y);return b&&b[0]},f.getMediaSections=function(y){var b=f.splitSections(y);return b.shift(),b},f.matchPrefix=function(y,b){return f.splitLines(y).filter(function(_){return _.indexOf(b)===0})},f.parseCandidate=function(y){var b;y.indexOf("a=candidate:")===0?b=y.substring(12).split(" "):b=y.substring(10).split(" ");for(var _={foundation:b[0],component:parseInt(b[1],10),protocol:b[2].toLowerCase(),priority:parseInt(b[3],10),ip:b[4],address:b[4],port:parseInt(b[5],10),type:b[7]},M=8;M0?b[0].split("/")[1]:"sendrecv",uri:b[1]}},f.writeExtmap=function(y){return"a=extmap:"+(y.id||y.preferredId)+(y.direction&&y.direction!=="sendrecv"?"/"+y.direction:"")+" "+y.uri+`\r -`},f.parseFmtp=function(y){for(var b={},_,M=y.substr(y.indexOf(" ")+1).split(";"),a2=0;a2-1?(_.attribute=y.substr(b+1,M-b-1),_.value=y.substr(M+1)):_.attribute=y.substr(b+1),_},f.parseSsrcGroup=function(y){var b=y.substr(13).split(" ");return{semantics:b.shift(),ssrcs:b.map(function(_){return parseInt(_,10)})}},f.getMid=function(y){var b=f.matchPrefix(y,"a=mid:")[0];if(b)return b.substr(6)},f.parseFingerprint=function(y){var b=y.substr(14).split(" ");return{algorithm:b[0].toLowerCase(),value:b[1]}},f.getDtlsParameters=function(y,b){var _=f.matchPrefix(y+b,"a=fingerprint:");return{role:"auto",fingerprints:_.map(f.parseFingerprint)}},f.writeDtlsParameters=function(y,b){var _="a=setup:"+b+`\r -`;return y.fingerprints.forEach(function(M){_+="a=fingerprint:"+M.algorithm+" "+M.value+`\r -`}),_},f.getIceParameters=function(y,b){var _=f.splitLines(y);_=_.concat(f.splitLines(b));var M={usernameFragment:_.filter(function(a2){return a2.indexOf("a=ice-ufrag:")===0})[0].substr(12),password:_.filter(function(a2){return a2.indexOf("a=ice-pwd:")===0})[0].substr(10)};return M},f.writeIceParameters=function(y){return"a=ice-ufrag:"+y.usernameFragment+`\r -a=ice-pwd:`+y.password+`\r -`},f.parseRtpParameters=function(y){for(var b={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},_=f.splitLines(y),M=_[0].split(" "),a2=3;a20?"9":"0",_+=" UDP/TLS/RTP/SAVPF ",_+=b.codecs.map(function(a2){return a2.preferredPayloadType!==void 0?a2.preferredPayloadType:a2.payloadType}).join(" ")+`\r -`,_+=`c=IN IP4 0.0.0.0\r -`,_+=`a=rtcp:9 IN IP4 0.0.0.0\r -`,b.codecs.forEach(function(a2){_+=f.writeRtpMap(a2),_+=f.writeFmtp(a2),_+=f.writeRtcpFb(a2)});var M=0;return b.codecs.forEach(function(a2){a2.maxptime>M&&(M=a2.maxptime)}),M>0&&(_+="a=maxptime:"+M+`\r -`),_+=`a=rtcp-mux\r -`,b.headerExtensions&&b.headerExtensions.forEach(function(a2){_+=f.writeExtmap(a2)}),_},f.parseRtpEncodingParameters=function(y){var b=[],_=f.parseRtpParameters(y),M=_.fecMechanisms.indexOf("RED")!==-1,a2=_.fecMechanisms.indexOf("ULPFEC")!==-1,Z=f.matchPrefix(y,"a=ssrc:").map(function(y2){return f.parseSsrcMedia(y2)}).filter(function(y2){return y2.attribute==="cname"}),t2=Z.length>0&&Z[0].ssrc,J,Y=f.matchPrefix(y,"a=ssrc-group:FID").map(function(y2){var o2=y2.substr(17).split(" ");return o2.map(function(d2){return parseInt(d2,10)})});Y.length>0&&Y[0].length>1&&Y[0][0]===t2&&(J=Y[0][1]),_.codecs.forEach(function(y2){if(y2.name.toUpperCase()==="RTX"&&y2.parameters.apt){var o2={ssrc:t2,codecPayloadType:parseInt(y2.parameters.apt,10)};t2&&J&&(o2.rtx={ssrc:J}),b.push(o2),M&&(o2=JSON.parse(JSON.stringify(o2)),o2.fec={ssrc:t2,mechanism:a2?"red+ulpfec":"red"},b.push(o2))}}),b.length===0&&t2&&b.push({ssrc:t2});var k2=f.matchPrefix(y,"b=");return k2.length&&(k2[0].indexOf("b=TIAS:")===0?k2=parseInt(k2[0].substr(7),10):k2[0].indexOf("b=AS:")===0?k2=parseInt(k2[0].substr(5),10)*1e3*.95-50*40*8:k2=void 0,b.forEach(function(y2){y2.maxBitrate=k2})),b},f.parseRtcpParameters=function(y){var b={},_=f.matchPrefix(y,"a=ssrc:").map(function(Z){return f.parseSsrcMedia(Z)}).filter(function(Z){return Z.attribute==="cname"})[0];_&&(b.cname=_.value,b.ssrc=_.ssrc);var M=f.matchPrefix(y,"a=rtcp-rsize");b.reducedSize=M.length>0,b.compound=M.length===0;var a2=f.matchPrefix(y,"a=rtcp-mux");return b.mux=a2.length>0,b},f.parseMsid=function(y){var b,_=f.matchPrefix(y,"a=msid:");if(_.length===1)return b=_[0].substr(7).split(" "),{stream:b[0],track:b[1]};var M=f.matchPrefix(y,"a=ssrc:").map(function(a2){return f.parseSsrcMedia(a2)}).filter(function(a2){return a2.attribute==="msid"});if(M.length>0)return b=M[0].value.split(" "),{stream:b[0],track:b[1]}},f.parseSctpDescription=function(y){var b=f.parseMLine(y),_=f.matchPrefix(y,"a=max-message-size:"),M;_.length>0&&(M=parseInt(_[0].substr(19),10)),isNaN(M)&&(M=65536);var a2=f.matchPrefix(y,"a=sctp-port:");if(a2.length>0)return{port:parseInt(a2[0].substr(12),10),protocol:b.fmt,maxMessageSize:M};var Z=f.matchPrefix(y,"a=sctpmap:");if(Z.length>0){var t2=f.matchPrefix(y,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(t2[0],10),protocol:t2[1],maxMessageSize:M}}},f.writeSctpDescription=function(y,b){var _=[];return y.protocol!=="DTLS/SCTP"?_=["m="+y.kind+" 9 "+y.protocol+" "+b.protocol+`\r -`,`c=IN IP4 0.0.0.0\r -`,"a=sctp-port:"+b.port+`\r -`]:_=["m="+y.kind+" 9 "+y.protocol+" "+b.port+`\r -`,`c=IN IP4 0.0.0.0\r -`,"a=sctpmap:"+b.port+" "+b.protocol+` 65535\r -`],b.maxMessageSize!==void 0&&_.push("a=max-message-size:"+b.maxMessageSize+`\r -`),_.join("")},f.generateSessionId=function(){return Math.random().toString().substr(2,21)},f.writeSessionBoilerplate=function(y,b,_){var M,a2=b!==void 0?b:2;y?M=y:M=f.generateSessionId();var Z=_||"thisisadapterortc";return`v=0\r -o=`+Z+" "+M+" "+a2+` IN IP4 127.0.0.1\r -s=-\r -t=0 0\r -`},f.writeMediaSection=function(y,b,_,M){var a2=f.writeRtpDescription(y.kind,b);if(a2+=f.writeIceParameters(y.iceGatherer.getLocalParameters()),a2+=f.writeDtlsParameters(y.dtlsTransport.getLocalParameters(),_==="offer"?"actpass":"active"),a2+="a=mid:"+y.mid+`\r -`,y.direction?a2+="a="+y.direction+`\r -`:y.rtpSender&&y.rtpReceiver?a2+=`a=sendrecv\r -`:y.rtpSender?a2+=`a=sendonly\r -`:y.rtpReceiver?a2+=`a=recvonly\r -`:a2+=`a=inactive\r -`,y.rtpSender){var Z="msid:"+M.id+" "+y.rtpSender.track.id+`\r -`;a2+="a="+Z,a2+="a=ssrc:"+y.sendEncodingParameters[0].ssrc+" "+Z,y.sendEncodingParameters[0].rtx&&(a2+="a=ssrc:"+y.sendEncodingParameters[0].rtx.ssrc+" "+Z,a2+="a=ssrc-group:FID "+y.sendEncodingParameters[0].ssrc+" "+y.sendEncodingParameters[0].rtx.ssrc+`\r -`)}return a2+="a=ssrc:"+y.sendEncodingParameters[0].ssrc+" cname:"+f.localCName+`\r -`,y.rtpSender&&y.sendEncodingParameters[0].rtx&&(a2+="a=ssrc:"+y.sendEncodingParameters[0].rtx.ssrc+" cname:"+f.localCName+`\r -`),a2},f.getDirection=function(y,b){for(var _=f.splitLines(y),M=0;M<_.length;M++)switch(_[M]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return _[M].substr(2)}return b?f.getDirection(b):"sendrecv"},f.getKind=function(y){var b=f.splitLines(y),_=b[0].split(" ");return _[0].substr(2)},f.isRejected=function(y){return y.split(" ",2)[1]==="0"},f.parseMLine=function(y){var b=f.splitLines(y),_=b[0].substr(2).split(" ");return{kind:_[0],port:parseInt(_[1],10),protocol:_[2],fmt:_.slice(3).join(" ")}},f.parseOLine=function(y){var b=f.matchPrefix(y,"o=")[0],_=b.substr(2).split(" ");return{username:_[0],sessionId:_[1],sessionVersion:parseInt(_[2],10),netType:_[3],addressType:_[4],address:_[5]}},f.isValidSDP=function(y){if(typeof y!="string"||y.length===0)return!1;for(var b=f.splitLines(y),_=0;_=26&&O<=N?!0:P.extension.isInstalled()}else return!0};var W1={extensionId:"hapfgfdkleiggjjpfpenajgdnfckjpaj",isInstalled:function(){return document.querySelector("#janus-extension-installed")!==null},getScreen:function(N){var d=window.setTimeout(function(){var f=new Error("NavigatorUserMediaError");return f.name='The required Chrome extension is not installed: click here to install it. (NOTE: this will need you to refresh the page)',N(f)},1e3);this.cache[d]=N,window.postMessage({type:"janusGetScreen",id:d},"*")},init:function(){var N={};this.cache=N,window.addEventListener("message",function(d){if(d.origin==window.location.origin)if(d.data.type=="janusGotScreen"&&N[d.data.id]){var f=N[d.data.id];if(delete N[d.data.id],d.data.sourceId===""){var y=new Error("NavigatorUserMediaError");y.name="You cancelled the request for permission, giving up...",f(y)}else f(null,d.data.sourceId)}else d.data.type=="janusGetScreenPending"&&(console.log("clearing ",d.data.id),window.clearTimeout(d.data.id))})}};P.useDefaultDependencies=function(O){var N=O&&O.fetch||fetch,d=O&&O.Promise||Promise,f=O&&O.WebSocket||WebSocket;return{newWebSocket:function(b,_){return new f(b,_)},extension:O&&O.extension||W1,isArray:function(b){return Array.isArray(b)},webRTCAdapter:O&&O.adapter||window.adapter,httpAPICall:function(b,_){var M={method:_.verb,headers:{Accept:"application/json, text/plain, */*"},cache:"no-cache"};_.verb==="POST"&&(M.headers["Content-Type"]="application/json"),_.withCredentials!==void 0&&(M.credentials=_.withCredentials===!0?"include":_.withCredentials?_.withCredentials:"omit"),_.body!==void 0&&(M.body=JSON.stringify(_.body));var a2=N(b,M).catch(function(t2){return d.reject({message:"Probably a network error, is the server down?",error:t2})});if(_.timeout!==void 0){var Z=new d(function(t2,J){var Y=setTimeout(function(){return clearTimeout(Y),J({message:"Request timed out",timeout:_.timeout})},_.timeout)});a2=d.race([a2,Z])}return a2.then(function(t2){if(t2.ok){if(n(_.success)===n(P.noop))return t2.json().then(function(J){_.success(J)}).catch(function(J){return d.reject({message:"Failed to parse response body",error:J,response:t2})})}else return d.reject({message:"API call failed",response:t2})}).catch(function(t2){n(_.error)===n(P.noop)&&_.error(t2.message||"<< internal error >>",t2)}),a2}}},P.useOldDependencies=function(O){var N=O&&O.jQuery||jQuery,d=O&&O.WebSocket||WebSocket;return{newWebSocket:function(y,b){return new d(y,b)},isArray:function(y){return N.isArray(y)},extension:O&&O.extension||W1,webRTCAdapter:O&&O.adapter||adapter,httpAPICall:function(y,b){var _=b.body!==void 0?{contentType:"application/json",data:JSON.stringify(b.body)}:{},M=b.withCredentials!==void 0?{xhrFields:{withCredentials:b.withCredentials}}:{};return N.ajax(N.extend(_,M,{url:y,type:b.verb,cache:!1,dataType:"json",async:b.async,timeout:b.timeout,success:function(Z){n(b.success)===n(P.noop)&&b.success(Z)},error:function(Z,t2,J){n(b.error)===n(P.noop)&&b.error(t2,J)}}))}}},P.noop=function(){},P.dataChanDefaultLabel="JanusDataChannel",P.endOfCandidates=null,P.init=function(O){if(O=O||{},O.callback=typeof O.callback=="function"?O.callback:P.noop,P.initDone===!0)O.callback();else{if((typeof console=="undefined"||typeof console.log=="undefined")&&(console={log:function(){}}),P.trace=P.noop,P.debug=P.noop,P.vdebug=P.noop,P.log=P.noop,P.warn=P.noop,P.error=P.noop,O.debug===!0||O.debug==="all")P.trace=console.trace.bind(console),P.debug=console.debug.bind(console),P.vdebug=console.debug.bind(console),P.log=console.log.bind(console),P.warn=console.warn.bind(console),P.error=console.error.bind(console);else if(Array.isArray(O.debug))for(var N in O.debug){var d=O.debug[N];switch(d){case"trace":P.trace=console.trace.bind(console);break;case"debug":P.debug=console.debug.bind(console);break;case"vdebug":P.vdebug=console.debug.bind(console);break;case"log":P.log=console.log.bind(console);break;case"warn":P.warn=console.warn.bind(console);break;case"error":P.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+d+"' (supported: 'trace', 'debug', 'vdebug', 'log', warn', 'error')");break}}P.log("Initializing library");var f=O.dependencies||P.useDefaultDependencies();P.isArray=f.isArray,P.webRTCAdapter=f.webRTCAdapter,P.httpAPICall=f.httpAPICall,P.newWebSocket=f.newWebSocket,P.extension=f.extension,P.extension.init(),P.listDevices=function(t2,J){t2=typeof t2=="function"?t2:P.noop,J==null&&(J={audio:!0,video:!0}),P.isGetUserMediaAvailable()?navigator.mediaDevices.getUserMedia(J).then(function(Y){navigator.mediaDevices.enumerateDevices().then(function(k2){P.debug(k2),t2(k2);try{var y2=Y.getTracks();for(var o2 in y2){var d2=y2[o2];d2!=null&&d2.stop()}}catch(F2){}})}).catch(function(Y){P.error(Y),t2([])}):(P.warn("navigator.mediaDevices unavailable"),t2([]))},P.attachMediaStream=function(t2,J){if(P.webRTCAdapter.browserDetails.browser==="chrome"){var Y=P.webRTCAdapter.browserDetails.version;Y>=52?t2.srcObject=J:P.error("Error attaching stream to element")}else t2.srcObject=J},P.reattachMediaStream=function(t2,J){if(P.webRTCAdapter.browserDetails.browser==="chrome"){var Y=P.webRTCAdapter.browserDetails.version;Y>=52?t2.srcObject=J.srcObject:typeof t2.src!="undefined"?t2.src=J.src:P.error("Error reattaching stream to element")}else t2.srcObject=J.srcObject};var y=["iPad","iPhone","iPod"].indexOf(navigator.platform)>=0,b=y?"pagehide":"beforeunload",_=window["on"+b];if(window.addEventListener(b,function(t2){P.log("Closing window");for(var J in P.sessions)P.sessions[J]!==null&&P.sessions[J]!==void 0&&P.sessions[J].destroyOnUnload&&(P.log("Destroying session "+J),P.sessions[J].destroy({asyncRequest:!1,notifyDestroyed:!1}));_&&typeof _=="function"&&_()}),P.safariVp8=!1,P.webRTCAdapter.browserDetails.browser==="safari"&&P.webRTCAdapter.browserDetails.version>=605)if(RTCRtpSender&&RTCRtpSender.getCapabilities&&RTCRtpSender.getCapabilities("video")&&RTCRtpSender.getCapabilities("video").codecs&&RTCRtpSender.getCapabilities("video").codecs.length){for(var N in RTCRtpSender.getCapabilities("video").codecs){var M=RTCRtpSender.getCapabilities("video").codecs[N];if(M&&M.mimeType&&M.mimeType.toLowerCase()==="video/vp8"){P.safariVp8=!0;break}}P.safariVp8?P.log("This version of Safari supports VP8"):P.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu")}else{var a2=new RTCPeerConnection({},{});a2.createOffer({offerToReceiveVideo:!0}).then(function(t2){P.safariVp8=t2.sdp.indexOf("VP8")!==-1,P.safariVp8?P.log("This version of Safari supports VP8"):P.warn("This version of Safari does NOT support VP8: if you're using a Technology Preview, try enabling the 'WebRTC VP8 codec' setting in the 'Experimental Features' Develop menu"),a2.close(),a2=null})}if(P.unifiedPlan=!1,P.webRTCAdapter.browserDetails.browser==="firefox"&&P.webRTCAdapter.browserDetails.version>=59)P.unifiedPlan=!0;else if(P.webRTCAdapter.browserDetails.browser==="chrome"&&P.webRTCAdapter.browserDetails.version<72)P.unifiedPlan=!1;else if(typeof RTCRtpTransceiver!="undefined"&&!("currentDirection"in RTCRtpTransceiver.prototype))P.unifiedPlan=!1;else{var Z=new RTCPeerConnection;try{Z.addTransceiver("audio"),P.unifiedPlan=!0}catch(t2){}Z.close()}P.initDone=!0,O.callback()}},P.isWebrtcSupported=function(){return window.RTCPeerConnection!==void 0&&window.RTCPeerConnection!==null},P.isGetUserMediaAvailable=function(){return navigator.mediaDevices!==void 0&&navigator.mediaDevices!==null&&navigator.mediaDevices.getUserMedia!==void 0&&navigator.mediaDevices.getUserMedia!==null},P.randomString=function(O){for(var N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",d="",f=0;f3){T=!1,O.error("Lost connection to the server (is it down?)");return}W2()}})}}function a3(V,w2){if(N2=0,!N&&D!==void 0&&D!==null&&w2!==!0&&W2(),!N&&P.isArray(V)){for(var E2=0;E2 data channel: "+x0),x0==="open"){if(t3.dataChannel[i1].pending&&t3.dataChannel[i1].pending.length>0){P.log("Sending pending messages on <"+i1+">:",t3.dataChannel[i1].pending.length);for(var Y0 in t3.dataChannel[i1].pending){var Z1=t3.dataChannel[i1].pending[Y0];P.log("Sending string on data channel <"+i1+">: "+Z1),t3.dataChannel[i1].send(Z1)}t3.dataChannel[i1].pending=[]}u2.ondataopen(i1)}},C3=function(_3){P.error("Got error on data channel:",_3)};E2?t3.dataChannel[w2]=E2:t3.dataChannel[w2]=t3.pc.createDataChannel(w2,{ordered:!1}),t3.dataChannel[w2].onmessage=z2,t3.dataChannel[w2].onopen=c3,t3.dataChannel[w2].onclose=c3,t3.dataChannel[w2].onerror=C3,t3.dataChannel[w2].pending=[],I2&&t3.dataChannel[w2].pending.push(I2)}function N1(V,w2){w2=w2||{},w2.success=typeof w2.success=="function"?w2.success:P.noop,w2.error=typeof w2.error=="function"?w2.error:P.noop;var E2=W[V];if(E2==null||E2.webrtcStuff===null||E2.webrtcStuff===void 0){P.warn("Invalid handle"),w2.error("Invalid handle");return}var I2=E2.webrtcStuff,u2=w2.text;if(u2==null){P.warn("Invalid text"),w2.error("Invalid text");return}var t3=w2.label?w2.label:P.dataChanDefaultLabel;if(!I2.dataChannel[t3]){T1(V,t3,!1,u2),w2.success();return}if(I2.dataChannel[t3].readyState!=="open"){I2.dataChannel[t3].pending.push(u2),w2.success();return}P.log("Sending string on data channel <"+t3+">: "+u2),I2.dataChannel[t3].send(u2),w2.success()}function L(V,w2){w2=w2||{},w2.success=typeof w2.success=="function"?w2.success:P.noop,w2.error=typeof w2.error=="function"?w2.error:P.noop;var E2=W[V];if(E2==null||E2.webrtcStuff===null||E2.webrtcStuff===void 0){P.warn("Invalid handle"),w2.error("Invalid handle");return}var I2=E2.webrtcStuff;if(I2.dtmfSender===null||I2.dtmfSender===void 0){if(I2.pc!==void 0&&I2.pc!==null){var u2=I2.pc.getSenders(),t3=u2.find(function(_3){return _3.track&&_3.track.kind==="audio"});if(!t3){P.warn("Invalid DTMF configuration (no audio track)"),w2.error("Invalid DTMF configuration (no audio track)");return}I2.dtmfSender=t3.dtmf,I2.dtmfSender&&(P.log("Created DTMF Sender"),I2.dtmfSender.ontonechange=function(_3){P.debug("Sent DTMF tone: "+_3.tone)})}if(I2.dtmfSender===null||I2.dtmfSender===void 0){P.warn("Invalid DTMF configuration"),w2.error("Invalid DTMF configuration");return}}var z2=w2.dtmf;if(z2==null){P.warn("Invalid DTMF parameters"),w2.error("Invalid DTMF parameters");return}var c3=z2.tones;if(c3==null){P.warn("Invalid DTMF string"),w2.error("Invalid DTMF string");return}var C3=z2.duration;C3==null&&(C3=500);var J3=z2.gap;J3==null&&(J3=50),P.debug("Sending DTMF string "+c3+" (duration "+C3+"ms, gap "+J3+"ms)"),I2.dtmfSender.insertDTMF(c3,C3,J3),w2.success()}function q(V,w2){w2=w2||{},w2.success=typeof w2.success=="function"?w2.success:P.noop,w2.error=typeof w2.error=="function"?w2.error:P.noop;var E2=!0;w2.asyncRequest!==void 0&&w2.asyncRequest!==null&&(E2=w2.asyncRequest===!0);var I2=!0;w2.noRequest!==void 0&&w2.noRequest!==null&&(I2=w2.noRequest===!0),P.log("Destroying handle "+V+" (async="+E2+")"),p1(V);var u2=W[V];if(u2==null||u2.detached){delete W[V],w2.success();return}if(I2){delete W[V],w2.success();return}if(!T){P.warn("Is the server down? (connected=false)"),w2.error("Is the server down? (connected=false)");return}var t3={rtcgw:"detach",transaction:P.randomString(12)};if(u2.token!==null&&u2.token!==void 0&&(t3.token=u2.token),o2!=null&&(t3.apisecret=o2),N){t3.session_id=D,t3.handle_id=V,d.send(JSON.stringify(t3)),delete W[V],w2.success();return}P.httpAPICall(M+"/"+D+"/"+V,{verb:"POST",async:E2,withCredentials:Y,body:t3,success:function(c3){P.log("Destroyed handle:"),P.debug(c3),c3.rtcgw!=="success"&&P.error("Ooops: "+c3.error.code+" "+c3.error.reason),delete W[V],w2.success()},error:function(c3,C3){P.error(c3+":",C3),delete W[V],w2.success()}})}function F(V,w2,E2,I2,u2){var t3=W[V];if(t3==null||t3.webrtcStuff===null||t3.webrtcStuff===void 0){P.warn("Invalid handle"),I2.error("Invalid handle");return}var z2=t3.webrtcStuff;P.debug("streamsDone:",u2),u2&&(P.debug(" -- Audio tracks:",u2.getAudioTracks()),P.debug(" -- Video tracks:",u2.getVideoTracks()));var c3=!1;if(!z2.myStream||!E2.update||z2.streamExternal)z2.myStream=u2,c3=!0;else{if((!E2.update&&H(E2)||E2.update&&(E2.addAudio||E2.replaceAudio))&&u2.getAudioTracks()&&u2.getAudioTracks().length)if(z2.myStream.addTrack(u2.getAudioTracks()[0]),P.unifiedPlan){P.log((E2.replaceAudio?"Replacing":"Adding")+" audio track:",u2.getAudioTracks()[0]);var C3=null,J3=z2.pc.getTransceivers();if(J3&&J3.length>0)for(var _3 in J3){var i1=J3[_3];if(i1.sender&&i1.sender.track&&i1.sender.track.kind==="audio"||i1.receiver&&i1.receiver.track&&i1.receiver.track.kind==="audio"){C3=i1;break}}C3&&C3.sender?C3.sender.replaceTrack(u2.getAudioTracks()[0]):z2.pc.addTrack(u2.getAudioTracks()[0],u2)}else P.log((E2.replaceAudio?"Replacing":"Adding")+" audio track:",u2.getAudioTracks()[0]),z2.pc.addTrack(u2.getAudioTracks()[0],u2);if((!E2.update&&c2(E2)||E2.update&&(E2.addVideo||E2.replaceVideo))&&u2.getVideoTracks()&&u2.getVideoTracks().length)if(z2.myStream.addTrack(u2.getVideoTracks()[0]),P.unifiedPlan){P.log((E2.replaceVideo?"Replacing":"Adding")+" video track:",u2.getVideoTracks()[0]);var x0=null,J3=z2.pc.getTransceivers();if(J3&&J3.length>0)for(var _3 in J3){var i1=J3[_3];if(i1.sender&&i1.sender.track&&i1.sender.track.kind==="video"||i1.receiver&&i1.receiver.track&&i1.receiver.track.kind==="video"){x0=i1;break}}x0&&x0.sender?x0.sender.replaceTrack(u2.getVideoTracks()[0]):z2.pc.addTrack(u2.getVideoTracks()[0],u2)}else P.log((E2.replaceVideo?"Replacing":"Adding")+" video track:",u2.getVideoTracks()[0]),z2.pc.addTrack(u2.getVideoTracks()[0],u2)}if(!z2.pc){var Y0={iceServers:a2,iceTransportPolicy:Z,bundlePolicy:t2};P.webRTCAdapter.browserDetails.browser==="chrome"&&(Y0.sdpSemantics=P.webRTCAdapter.browserDetails.version<72?"plan-b":"unified-plan");var Z1={optional:[{DtlsSrtpKeyAgreement:!0}]};if(J===!0&&Z1.optional.push({googIPv6:!0}),I2.rtcConstraints&&n(I2.rtcConstraints)==="object"){P.debug("Adding custom PeerConnection constraints:",I2.rtcConstraints);for(var _3 in I2.rtcConstraints)Z1.optional.push(I2.rtcConstraints[_3])}P.webRTCAdapter.browserDetails.browser==="edge"&&(Y0.bundlePolicy="max-bundle"),P.log("Creating PeerConnection"),P.debug(Z1),z2.pc=new RTCPeerConnection(Y0,Z1),P.debug(z2.pc),z2.pc.getStats&&(z2.volume={},z2.bitrate.value="0 kbits/sec"),P.log("Preparing local SDP and gathering candidates (trickle="+z2.trickle+")"),z2.pc.oniceconnectionstatechange=function(R3){z2.pc&&t3.iceState(z2.pc.iceConnectionState)},z2.pc.onicecandidate=function(R3){if(R3.candidate==null||P.webRTCAdapter.browserDetails.browser==="edge"&&R3.candidate.candidate.indexOf("endOfCandidates")>0)P.log("End of candidates."),z2.iceDone=!0,z2.trickle===!0?w1(V,{completed:!0}):N3(V,I2);else{var J1={candidate:R3.candidate.candidate,sdpMid:R3.candidate.sdpMid,sdpMLineIndex:R3.candidate.sdpMLineIndex};z2.trickle===!0&&w1(V,J1)}},z2.pc.ontrack=function(R3){P.log("Handling Remote Track"),P.debug(R3),R3.streams&&(z2.remoteStream=R3.streams[0],t3.onremotestream(z2.remoteStream),!R3.track.onended&&(P.log("Adding onended callback to track:",R3.track),R3.track.onended=function(J1){P.log("Remote track muted/removed:",J1),z2.remoteStream&&(z2.remoteStream.removeTrack(J1.target),t3.onremotestream(z2.remoteStream))},R3.track.onmute=R3.track.onended,R3.track.onunmute=function(J1){P.log("Remote track flowing again:",J1);try{z2.remoteStream.addTrack(J1.target),t3.onremotestream(z2.remoteStream)}catch(mt){P.error(mt)}}))}}if(c3&&u2!==null&&u2!==void 0){P.log("Adding local stream");var h2=I2.simulcast2===!0;u2.getTracks().forEach(function(R3){if(P.log("Adding local track:",R3),!h2)z2.pc.addTrack(R3,u2);else if(R3.kind==="audio")z2.pc.addTrack(R3,u2);else{P.log("Enabling rid-based simulcasting:",R3);var J1=n2(I2.simulcastMaxBitrates);z2.pc.addTransceiver(R3,{direction:"sendrecv",streams:[u2],sendEncodings:[{rid:"h",active:!0,maxBitrate:J1.high},{rid:"m",active:!0,maxBitrate:J1.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:J1.low,scaleResolutionDownBy:4}]})}})}M3(E2)&&!z2.dataChannel[P.dataChanDefaultLabel]&&(P.log("Creating data channel"),T1(V,P.dataChanDefaultLabel,!1),z2.pc.ondatachannel=function(R3){P.log("Data channel created by Janus:",R3),T1(V,R3.channel.label,R3.channel)}),z2.myStream&&t3.onlocalstream(z2.myStream),w2==null?f2(V,E2,I2):z2.pc.setRemoteDescription(w2).then(function(){if(P.log("Remote description accepted!"),z2.remoteSdp=w2.sdp,z2.candidates&&z2.candidates.length>0){for(var R3=0;R3=26&&x5<=u9?(h2={video:{mandatory:{googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:u2.screenshareFrameRate,maxFrameRate:u2.screenshareFrameRate,chromeMediaSource:"screen"}},audio:H(u2)&&!u2.keepAudio},_5(h2,Qn)):P.extension.getScreen(function(de,ee){if(de)return t3.consentDialog(!1),E2.error(de);h2={audio:!1,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:window.screen.width,maxHeight:window.screen.height,minFrameRate:u2.screenshareFrameRate,maxFrameRate:u2.screenshareFrameRate},optional:[{googLeakyBucket:!0},{googTemporalLayeredScreencast:!0}]}},h2.video.mandatory.chromeMediaSourceId=ee,_5(h2,Qn,H(u2)&&!u2.keepAudio)})}else if(P.webRTCAdapter.browserDetails.browser==="firefox")if(P.webRTCAdapter.browserDetails.version>=33)h2={video:{mozMediaSource:u2.video,mediaSource:u2.video},audio:H(u2)&&!u2.keepAudio},_5(h2,function(de,ee){if(Qn(de,ee),!de)var gt=ee.currentTime,en=window.setInterval(function(){ee||window.clearInterval(en),ee.currentTime==gt&&(window.clearInterval(en),ee.onended&&ee.onended()),gt=ee.currentTime},500)});else{var c9=new Error("NavigatorUserMediaError");c9.name="Your version of Firefox does not support screen sharing, please install Firefox 33 (or more recent versions)",t3.consentDialog(!1),E2.error(c9);return}return}}(u2==null||u2.video!=="screen")&&navigator.mediaDevices.enumerateDevices().then(function(de){var ee=de.some(function(tn){return tn.kind==="audioinput"}),gt=J2(u2)||de.some(function(tn){return tn.kind==="videoinput"}),en=H(u2),pn=c2(u2),q6=S(u2),d9=L2(u2);if(en||pn||q6||d9){var f9=en?ee:!1,h9=pn?gt:!1;if(!f9&&!h9)return t3.consentDialog(!1),E2.error("No capture device found"),!1;if(!f9&&q6)return t3.consentDialog(!1),E2.error("Audio capture is required, but no capture device found"),!1;if(!h9&&d9)return t3.consentDialog(!1),E2.error("Video capture is required, but no capture device found"),!1}var J6={audio:ee&&!u2.keepAudio?R3:!1,video:gt&&!u2.keepVideo?J1:!1};P.debug("getUserMedia constraints",J6),!J6.audio&&!J6.video?(t3.consentDialog(!1),F(V,I2,u2,E2,i1)):navigator.mediaDevices.getUserMedia(J6).then(function(tn){t3.consentDialog(!1),F(V,I2,u2,E2,tn)}).catch(function(tn){t3.consentDialog(!1),E2.error({code:tn.code,name:tn.name,message:tn.message})})}).catch(function(de){t3.consentDialog(!1),E2.error("enumerateDevices error",de)})}else F(V,I2,u2,E2)}function p2(V,w2){w2=w2||{},w2.success=typeof w2.success=="function"?w2.success:P.noop,w2.error=typeof w2.error=="function"?w2.error:X3;var E2=w2.jsep,I2=W[V];if(I2==null||I2.webrtcStuff===null||I2.webrtcStuff===void 0){P.warn("Invalid handle"),w2.error("Invalid handle");return}var u2=I2.webrtcStuff;if(E2!=null){if(u2.pc===null){P.warn("Wait, no PeerConnection?? if this is an answer, use createAnswer and not handleRemoteJsep"),w2.error("No PeerConnection: if this is an answer, use createAnswer and not handleRemoteJsep");return}u2.pc.setRemoteDescription(E2).then(function(){if(P.log("Remote description accepted!"),u2.remoteSdp=E2.sdp,u2.candidates&&u2.candidates.length>0){for(var t3=0;t30)for(var _3 in J3){var i1=J3[_3];if(i1.sender&&i1.sender.track&&i1.sender.track.kind==="audio"||i1.receiver&&i1.receiver.track&&i1.receiver.track.kind==="audio"){c3||(c3=i1);continue}if(i1.sender&&i1.sender.track&&i1.sender.track.kind==="video"||i1.receiver&&i1.receiver.track&&i1.receiver.track.kind==="video"){C3||(C3=i1);continue}}var x0=H(w2),Y0=E(w2);!x0&&!Y0?w2.removeAudio&&c3&&(c3.setDirection?c3.setDirection("inactive"):c3.direction="inactive",P.log("Setting audio transceiver to inactive:",c3)):x0&&Y0?c3&&(c3.setDirection?c3.setDirection("sendrecv"):c3.direction="sendrecv",P.log("Setting audio transceiver to sendrecv:",c3)):x0&&!Y0?c3&&(c3.setDirection?c3.setDirection("sendonly"):c3.direction="sendonly",P.log("Setting audio transceiver to sendonly:",c3)):!x0&&Y0&&(c3?(c3.setDirection?c3.setDirection("recvonly"):c3.direction="recvonly",P.log("Setting audio transceiver to recvonly:",c3)):(c3=u2.pc.addTransceiver("audio",{direction:"recvonly"}),P.log("Adding recvonly audio transceiver:",c3)));var Z1=c2(w2),h2=U2(w2);!Z1&&!h2?w2.removeVideo&&C3&&(C3.setDirection?C3.setDirection("inactive"):C3.direction="inactive",P.log("Setting video transceiver to inactive:",C3)):Z1&&h2?C3&&(C3.setDirection?C3.setDirection("sendrecv"):C3.direction="sendrecv",P.log("Setting video transceiver to sendrecv:",C3)):Z1&&!h2?C3&&(C3.setDirection?C3.setDirection("sendonly"):C3.direction="sendonly",P.log("Setting video transceiver to sendonly:",C3)):!Z1&&h2&&(C3?(C3.setDirection?C3.setDirection("recvonly"):C3.direction="recvonly",P.log("Setting video transceiver to recvonly:",C3)):(C3=u2.pc.addTransceiver("video",{direction:"recvonly"}),P.log("Adding recvonly video transceiver:",C3)))}else z2.offerToReceiveAudio=E(w2),z2.offerToReceiveVideo=U2(w2);var R3=E2.iceRestart===!0;R3&&(z2.iceRestart=!0),P.debug(z2);var J1=c2(w2);if(J1&&t3&&P.webRTCAdapter.browserDetails.browser==="firefox"){P.log("Enabling Simulcasting for Firefox (RID)");var mt=u2.pc.getSenders().find(function(X0){return X0.track.kind=="video"});if(mt){var pt=mt.getParameters();pt||(pt={});var y0=n2(E2.simulcastMaxBitrates);pt.encodings=[{rid:"h",active:!0,maxBitrate:y0.high},{rid:"m",active:!0,maxBitrate:y0.medium,scaleResolutionDownBy:2},{rid:"l",active:!0,maxBitrate:y0.low,scaleResolutionDownBy:4}],mt.setParameters(pt)}}u2.pc.createOffer(z2).then(function(X0){P.debug(X0);var Qn={type:X0.type,sdp:X0.sdp};if(E2.customizeSdp(Qn),X0.sdp=Qn.sdp,P.log("Setting local description"),J1&&t3&&(P.webRTCAdapter.browserDetails.browser==="chrome"||P.webRTCAdapter.browserDetails.browser==="safari"?(P.log("Enabling Simulcasting for Chrome (SDP munging)"),X0.sdp=B(X0.sdp)):P.webRTCAdapter.browserDetails.browser!=="firefox"&&P.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),u2.mySdp=X0.sdp,u2.pc.setLocalDescription(X0).catch(E2.error),u2.mediaConstraints=z2,!u2.iceDone&&!u2.trickle){P.log("Waiting for all candidates...");return}P.log("Offer ready"),P.debug(E2),E2.success(X0)},E2.error)}function r3(V,w2,E2){E2=E2||{},E2.success=typeof E2.success=="function"?E2.success:P.noop,E2.error=typeof E2.error=="function"?E2.error:P.noop,E2.customizeSdp=typeof E2.customizeSdp=="function"?E2.customizeSdp:P.noop;var I2=W[V];if(I2==null||I2.webrtcStuff===null||I2.webrtcStuff===void 0){P.warn("Invalid handle"),E2.error("Invalid handle");return}var u2=I2.webrtcStuff,t3=E2.simulcast===!0;t3?P.log("Creating answer (iceDone="+u2.iceDone+", simulcast="+t3+")"):P.log("Creating answer (iceDone="+u2.iceDone+")");var z2=null;if(P.unifiedPlan){z2={};var c3=null,C3=null,J3=u2.pc.getTransceivers();if(J3&&J3.length>0)for(var _3 in J3){var i1=J3[_3];if(i1.sender&&i1.sender.track&&i1.sender.track.kind==="audio"||i1.receiver&&i1.receiver.track&&i1.receiver.track.kind==="audio"){c3||(c3=i1);continue}if(i1.sender&&i1.sender.track&&i1.sender.track.kind==="video"||i1.receiver&&i1.receiver.track&&i1.receiver.track.kind==="video"){C3||(C3=i1);continue}}var x0=H(w2),Y0=E(w2);if(!x0&&!Y0){if(w2.removeAudio&&c3)try{c3.setDirection?c3.setDirection("inactive"):c3.direction="inactive",P.log("Setting audio transceiver to inactive:",c3)}catch(y0){P.error(y0)}}else if(x0&&Y0){if(c3)try{c3.setDirection?c3.setDirection("sendrecv"):c3.direction="sendrecv",P.log("Setting audio transceiver to sendrecv:",c3)}catch(y0){P.error(y0)}}else if(x0&&!Y0)try{c3&&(c3.setDirection?c3.setDirection("sendonly"):c3.direction="sendonly",P.log("Setting audio transceiver to sendonly:",c3))}catch(y0){P.error(y0)}else if(!x0&&Y0)if(c3)try{c3.setDirection?c3.setDirection("recvonly"):c3.direction="recvonly",P.log("Setting audio transceiver to recvonly:",c3)}catch(y0){P.error(y0)}else c3=u2.pc.addTransceiver("audio",{direction:"recvonly"}),P.log("Adding recvonly audio transceiver:",c3);var Z1=c2(w2),h2=U2(w2);if(!Z1&&!h2){if(w2.removeVideo&&C3)try{C3.setDirection?C3.setDirection("inactive"):C3.direction="inactive",P.log("Setting video transceiver to inactive:",C3)}catch(y0){P.error(y0)}}else if(Z1&&h2){if(C3)try{C3.setDirection?C3.setDirection("sendrecv"):C3.direction="sendrecv",P.log("Setting video transceiver to sendrecv:",C3)}catch(y0){P.error(y0)}}else if(Z1&&!h2){if(C3)try{C3.setDirection?C3.setDirection("sendonly"):C3.direction="sendonly",P.log("Setting video transceiver to sendonly:",C3)}catch(y0){P.error(y0)}}else if(!Z1&&h2)if(C3)try{C3.setDirection?C3.setDirection("recvonly"):C3.direction="recvonly",P.log("Setting video transceiver to recvonly:",C3)}catch(y0){P.error(y0)}else C3=u2.pc.addTransceiver("video",{direction:"recvonly"}),P.log("Adding recvonly video transceiver:",C3)}else P.webRTCAdapter.browserDetails.browser=="firefox"||P.webRTCAdapter.browserDetails.browser=="edge"?z2={offerToReceiveAudio:E(w2),offerToReceiveVideo:U2(w2)}:z2={mandatory:{OfferToReceiveAudio:E(w2),OfferToReceiveVideo:U2(w2)}};P.debug(z2);var R3=c2(w2);if(R3&&t3&&P.webRTCAdapter.browserDetails.browser==="firefox"){P.log("Enabling Simulcasting for Firefox (RID)");var J1=u2.pc.getSenders()[1];P.log(J1);var mt=J1.getParameters();P.log(mt);var pt=n2(E2.simulcastMaxBitrates);J1.setParameters({encodings:[{rid:"high",active:!0,priority:"high",maxBitrate:pt.high},{rid:"medium",active:!0,priority:"medium",maxBitrate:pt.medium},{rid:"low",active:!0,priority:"low",maxBitrate:pt.low}]})}u2.pc.createAnswer(z2).then(function(y0){P.debug(y0);var X0={type:y0.type,sdp:y0.sdp};if(E2.customizeSdp(X0),y0.sdp=X0.sdp,P.log("Setting local description"),R3&&t3&&(P.webRTCAdapter.browserDetails.browser==="chrome"?P.warn("simulcast=true, but this is an answer, and video breaks in Chrome if we enable it"):P.webRTCAdapter.browserDetails.browser!=="firefox"&&P.warn("simulcast=true, but this is not Chrome nor Firefox, ignoring")),u2.mySdp=y0.sdp,u2.pc.setLocalDescription(y0).catch(E2.error),u2.mediaConstraints=z2,!u2.iceDone&&!u2.trickle){P.log("Waiting for all candidates...");return}E2.success(y0)},E2.error)}function N3(V,w2){w2=w2||{},w2.success=typeof w2.success=="function"?w2.success:P.noop,w2.error=typeof w2.error=="function"?w2.error:P.noop;var E2=W[V];if(E2==null||E2.webrtcStuff===null||E2.webrtcStuff===void 0){P.warn("Invalid handle, not sending anything");return}var I2=E2.webrtcStuff;if(P.log("Sending offer/answer SDP..."),I2.mySdp===null||I2.mySdp===void 0){P.warn("Local SDP instance is invalid, not sending anything...");return}I2.mySdp={type:I2.pc.localDescription.type,sdp:I2.pc.localDescription.sdp},I2.trickle===!1&&(I2.mySdp.trickle=!1),P.debug(w2),I2.sdpSent=!0,w2.success(I2.mySdp)}function K(V,w2){var E2=W[V];if(E2==null||E2.webrtcStuff===null||E2.webrtcStuff===void 0)return P.warn("Invalid handle"),0;var I2=w2?"remote":"local",u2=E2.webrtcStuff;return u2.volume[I2]||(u2.volume[I2]={value:0}),u2.pc.getStats&&P.webRTCAdapter.browserDetails.browser==="chrome"?w2&&(u2.remoteStream===null||u2.remoteStream===void 0)?(P.warn("Remote stream unavailable"),0):!w2&&(u2.myStream===null||u2.myStream===void 0)?(P.warn("Local stream unavailable"),0):u2.volume[I2].timer===null||u2.volume[I2].timer===void 0?(P.log("Starting "+I2+" volume monitor"),u2.volume[I2].timer=setInterval(function(){u2.pc.getStats(function(t3){for(var z2=t3.result(),c3=0;c3-1)&&u2.type==="inbound-rtp"&&u2.id.indexOf("rtcp")<0||u2.type=="ssrc"&&u2.bytesReceived&&(u2.googCodecName==="VP8"||u2.googCodecName===""))&&(t3=!0),t3)if(E2.bitrate.bsnow=u2.bytesReceived,E2.bitrate.tsnow=u2.timestamp,E2.bitrate.bsbefore===null||E2.bitrate.tsbefore===null)E2.bitrate.bsbefore=E2.bitrate.bsnow,E2.bitrate.tsbefore=E2.bitrate.tsnow;else{var z2=E2.bitrate.tsnow-E2.bitrate.tsbefore;P.webRTCAdapter.browserDetails.browser=="safari"&&(z2=z2/1e3);var c3=Math.round((E2.bitrate.bsnow-E2.bitrate.bsbefore)*8/z2);P.webRTCAdapter.browserDetails.browser==="safari"&&(c3=parseInt(c3/1e3)),E2.bitrate.value=c3+" kbits/sec",E2.bitrate.bsbefore=E2.bitrate.bsnow,E2.bitrate.tsbefore=E2.bitrate.tsnow}}})})},1e3),"0 kbits/sec"):E2.bitrate.value:(P.warn("Getting the video bitrate unsupported by browser"),"Feature unsupported by browser")}function X3(V){P.error("WebRTC error:",V)}function p1(V,w2){P.log("Cleaning WebRTC stuff");var E2=W[V];if(E2!=null){var I2=E2.webrtcStuff;if(I2!=null){if(w2===!0){var u2={rtcgw:"hangup",transaction:P.randomString(12)};E2.token!==null&&E2.token!==void 0&&(u2.token=E2.token),o2!=null&&(u2.apisecret=o2),P.debug("Sending hangup request (handle="+V+"):"),P.debug(u2),N?(u2.session_id=D,u2.handle_id=V,d.send(JSON.stringify(u2))):P.httpAPICall(M+"/"+D+"/"+V,{verb:"POST",withCredentials:Y,body:u2})}I2.remoteStream=null,I2.volume&&(I2.volume.local&&I2.volume.local.timer&&clearInterval(I2.volume.local.timer),I2.volume.remote&&I2.volume.remote.timer&&clearInterval(I2.volume.remote.timer)),I2.volume={},I2.bitrate.timer&&clearInterval(I2.bitrate.timer),I2.bitrate.timer=null,I2.bitrate.bsnow=null,I2.bitrate.bsbefore=null,I2.bitrate.tsnow=null,I2.bitrate.tsbefore=null,I2.bitrate.value=null;try{if(!I2.streamExternal&&I2.myStream!==null&&I2.myStream!==void 0){P.log("Stopping local stream tracks");var t3=I2.myStream.getTracks();for(var z2 in t3){var c3=t3[z2];P.log(c3),c3!=null&&c3.stop()}}}catch(C3){}I2.streamExternal=!1,I2.myStream=null;try{I2.pc.close()}catch(C3){}I2.pc=null,I2.candidates=null,I2.mySdp=null,I2.remoteSdp=null,I2.iceDone=!1,I2.dataChannel={},I2.dtmfSender=null}E2.oncleanup()}}function B(V){for(var w2=V.split(`\r -`),E2=!1,I2=[-1],u2=[-1],t3=null,z2=null,c3=null,C3=null,J3=-1,_3=0;_3-1){J3=_3;break}continue}if(E2){var Y0=w2[_3].match(/a=ssrc-group:FID (\d+) (\d+)/);if(Y0){I2[0]=Y0[1],u2[0]=Y0[2],w2.splice(_3,1),_3--;continue}if(I2[0]){var Z1=w2[_3].match("a=ssrc:"+I2[0]+" cname:(.+)");if(Z1&&(t3=Z1[1]),Z1=w2[_3].match("a=ssrc:"+I2[0]+" msid:(.+)"),Z1&&(z2=Z1[1]),Z1=w2[_3].match("a=ssrc:"+I2[0]+" mslabel:(.+)"),Z1&&(c3=Z1[1]),Z1=w2[_3].match("a=ssrc:"+I2[0]+" label:(.+)"),Z1&&(C3=Z1[1]),w2[_3].indexOf("a=ssrc:"+u2[0])===0){w2.splice(_3,1),_3--;continue}if(w2[_3].indexOf("a=ssrc:"+I2[0])===0){w2.splice(_3,1),_3--;continue}}if(w2[_3].length==0){w2.splice(_3,1),_3--;continue}}}if(I2[0]<0){J3=-1,E2=!1;for(var _3=0;_3-1){J3=_3;break}continue}if(E2){if(I2[0]<0){var h2=w2[_3].match(/a=ssrc:(\d+)/);if(h2){I2[0]=h2[1],w2.splice(_3,1),_3--;continue}}else{var Z1=w2[_3].match("a=ssrc:"+I2[0]+" cname:(.+)");if(Z1&&(t3=Z1[1]),Z1=w2[_3].match("a=ssrc:"+I2[0]+" msid:(.+)"),Z1&&(z2=Z1[1]),Z1=w2[_3].match("a=ssrc:"+I2[0]+" mslabel:(.+)"),Z1&&(c3=Z1[1]),Z1=w2[_3].match("a=ssrc:"+I2[0]+" label:(.+)"),Z1&&(C3=Z1[1]),w2[_3].indexOf("a=ssrc:"+u2[0])===0){w2.splice(_3,1),_3--;continue}if(w2[_3].indexOf("a=ssrc:"+I2[0])===0){w2.splice(_3,1),_3--;continue}}if(w2[_3].length==0){w2.splice(_3,1),_3--;continue}}}}if(I2[0]<0)return P.warn("Couldn't find the video SSRC, simulcasting NOT enabled"),V;J3<0&&(J3=w2.length),I2[1]=Math.floor(Math.random()*4294967295),I2[2]=Math.floor(Math.random()*4294967295),u2[1]=Math.floor(Math.random()*4294967295),u2[2]=Math.floor(Math.random()*4294967295);for(var _3=0;_3 -
    -
    -
    -
    -
    -
    - `,document.getElementById("mobile-ez-ptz-item")||y.appendChild(M),g(y,document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),document.getElementById("mobile-ez-ptz-item").ontouchstart=function(a2){a2.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(a2,"start")},document.getElementById("mobile-ez-ptz-item").ontouchend=function(a2){a2.preventDefault(),console.log("触摸结束",a2),d._handlePtzTouch(a2,"stop")},document.getElementById("mobile-ez-ptz-item").onmousedown=function(a2){a2.preventDefault(),console.log("触摸开始"),d._handlePtzTouch(a2,"start")},document.getElementById("mobile-ez-ptz-item").onmouseup=function(a2){a2.preventDefault(),console.log("触摸结束",a2),d._handlePtzTouch(a2,"stop")}}return r(O,[{key:"show",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: inline-block"}},{key:"hide",value:function(){document.getElementById("mobile-ez-ptz-item").style="display: none"}},{key:"_handlePtzTouch",value:function(d,f){var y=document.getElementById("mobile-ez-ptz-item").getBoundingClientRect(),b=y.left+130,_=y.top+130,M=d.x||d.changedTouches[0].clientX,a2=d.y||d.changedTouches[0].clientY,Z=M-b,t2=a2-_,J=0,Y=this.jSPlugin.env.domain+"/api/lapp/device/ptz/start";Math.abs(Z)>Math.abs(t2)?Z>0?(J=3,document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("default","active")):(J=2,document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("default","active")):t2>0?(J=1,document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("default","active")):(J=0,document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("default","active")),document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(J===0?180:J===1?0:J===2?90:270,"deg, #c0ddf1 0%, rgba(100,143,252,0.00) 50%)"),f==="stop"&&(Y=this.jSPlugin.env.domain+"/api/lapp/device/ptz/stop",document.getElementById("mobile-ez-ptz-item").style="",document.getElementsByClassName("mobile-ez-ptz-icon")[3].className=document.getElementsByClassName("mobile-ez-ptz-icon")[3].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[1].className=document.getElementsByClassName("mobile-ez-ptz-icon")[1].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[2].className=document.getElementsByClassName("mobile-ez-ptz-icon")[2].className.replace("active","default"),document.getElementsByClassName("mobile-ez-ptz-icon")[0].className=document.getElementsByClassName("mobile-ez-ptz-icon")[0].className.replace("active","default"));var k2=new FormData;k2.append("deviceSerial",S2(this.jSPlugin.url).deviceSerial),k2.append("channelNo",S2(this.jSPlugin.url).channelNo),k2.append("speed",1),k2.append("direction",J),k2.append("accessToken",this.jSPlugin.accessToken),fetch(Y,{method:"POST",body:k2}).then(function(y2){return y2.json()}).then(function(y2){y2.code==200||(y2.code==60005||y2.code==60002||y2.code==60003||y2.code==60004)&&(document.getElementById("mobile-ez-ptz-item").style="background-image:linear-gradient(".concat(J===0?180:J===1?0:J===2?90:270,"deg, #f45656 0%, rgba(100,143,252,0.00) 50%)"))}).catch(function(y2){console.log("云台调用异常",y2)})}}]),O}(),H1=0,G2="成功",H2={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]},footer:{color:"#FFFFFF",backgroundColor:"rgb(0 0 0 / 0%)",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-0",iconId:"play",part:"left",defaultActive:1,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-1",iconId:"capturePicture",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-2",iconId:"sound",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-3",iconId:"pantile",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-4",iconId:"recordvideo",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-5",iconId:"talk",part:"left",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-6",iconId:"hd",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-7",iconId:"webExpend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-footer-8",iconId:"expend",part:"right",defaultActive:0,isrender:0,themeId:"f7896c8942c9476fb439370dd974f1c0"}]}},e3={retcode:H1,msg:G2,data:H2},T3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},y1={data:T3},B1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},G1={data:B1},D3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},e1={data:D3},s1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-0",iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-1",iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-2",iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{btnKey:"c1cbc1d4e86d49a0981f54beea95280a-f7896c8942c9476fb439370dd974f1c0-header-3",iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},S1={data:s1},F1={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:0},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"sound",part:"left",defaultActive:1,isrender:0},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:0}]}},s0={data:F1},G0={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:0},{iconId:"rec",part:"right",defaultActive:0,isrender:0}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:0},{iconId:"talk",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:0},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"zoom",part:"left",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:0},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},u3={data:G0},z3={header:{color:"#FFFFFF",backgroundColor:"#000000",activeColor:"#1890FF",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,isrender:1},{iconId:"deviceName",part:"left",defaultActive:0,isrender:1},{iconId:"cloudRec",part:"right",defaultActive:0,isrender:1},{iconId:"rec",part:"right",defaultActive:0,isrender:1}]},footer:{color:"#FFFFFF",backgroundColor:"#00000080",activeColor:"#1890FF",btnList:[{iconId:"play",part:"left",defaultActive:1,isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,isrender:1},{iconId:"sound",part:"left",defaultActive:1,isrender:1},{iconId:"pantile",part:"left",defaultActive:0,isrender:0},{iconId:"recordvideo",part:"left",defaultActive:0,isrender:1},{iconId:"zoom",part:"left",defaultActive:0,isrender:1},{iconId:"speed",part:"right",defaultActive:0,isrender:1},{iconId:"hd",part:"right",defaultActive:0,isrender:0},{iconId:"webExpend",part:"right",defaultActive:0,isrender:1},{iconId:"expend",part:"right",defaultActive:0,isrender:1}]}},V3={data:z3},x1=[{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcLive",themeIntro:"PC直播全量版",themeName:"PC直播全量版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:e1.data.header,footer:e1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"security",themeIntro:"PC直播安防版",themeName:"PC直播安防版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:S1.data.header,footer:S1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"voice",themeIntro:"PC直播语音版",themeName:"PC直播语音版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:u3.data.header,footer:u3.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"simple",themeIntro:"PC直播极简版",themeName:"PC直播极简版",themeType:"webLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"",header:s0.data.header,footer:s0.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"pcRec",themeIntro:"PC回放全量版",themeName:"PC回放全量版",themeType:"webRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_DmANlElAAA-xyivSaw030.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:V3.data.header,footer:V3.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileLive",themeIntro:"Mobile直播全量版",themeName:"Mobile直播全量版",themeType:"mobileLive",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:y1.data.header,footer:y1.data.footer},{autoFocus:5,createTime:"2021-06-14T08:04:37.000Z",themeId:"mobileRec",themeIntro:"Mobile回放全量版",themeName:"Mobile回放全量版",themeType:"mobileRec",updateTime:"2021-06-14T08:04:37.000Z",label:"官方",labelPic:"https://resource.eziot.com/group1/M00/00/8A/CtwQEmLr_GmAL5IhAABZs1vUK0s564.png",poster:"https://resource.eziot.com/group1/M00/00/89/CtwQEmLl8r-AZU7wAAETKlvgerU237.png",header:G1.data.header,footer:G1.data.footer}],S3=function(){function O(N){var d=this;a(this,O),this.jSPlugin=N,this.enableZoom=!1,this.isMouseDown=!1,this.videoWidth=1920,this.videoHeight=1080,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(N.id),this.clientRect=document.getElementById(N.id).getBoundingClientRect();var f=document.createElement("div");f.id="".concat(N.id,"-zoom-container"),f.style=`position: absolute; - display:none; - left: 12px; - bottom: 80px;`;var y=` -
    -
    2.0X
    -
    - - - 放大 - - - - - - - - - - - - - -
    -
    -
    -
    -
    -
    - - - 缩小 - - - - - - - - - - -
    -
    - `);f.innerHTML=y,document.getElementById("".concat(N.id,"-audioControls-left")).parentNode.appendChild(f),document.getElementById("".concat(N.id,"-addScale")).onclick=function(){d.addScale()},document.getElementById("".concat(N.id,"-subScale")).onclick=function(){d.subScale()}}return r(O,[{key:"onMouseDown",value:function(d){this.currentPosition,this.currentScale;var f=this.enableZoom;if(!f)return!1;this.moveX=d.clientX,this.moveY=d.clientY,this.isMouseDown=!0}},{key:"onMouseUp",value:function(d){var f=this.currentPosition,y=this.enableZoom;if(!y)return!1;this.isMouseDown=!1,f.left=f.left-(d.clientX-this.moveX),f.top=f.top-(d.clientY-this.moveY),this.doScale()}},{key:"onMouseOut",value:function(d){var f=this.enableZoom;if(!f)return!1;this.isMouseDown&&(console.log("鼠标按上",d),this.isMouseDown=!1),this.isMouseDown=!1}},{key:"renderDot",value:function(){var d=this.currentScale;document.getElementById("".concat(this.jSPlugin.id,"-scale-value")).innerHTML="".concat(d,".0X"),document.getElementById("".concat(this.jSPlugin.id,"-line-dot")).style.height="".concat((d-1)/7*100,"%"),document.getElementById("".concat(this.jSPlugin.id,"-scale-body-line-dot")).style.bottom="calc(".concat((d-1)/7*100,"% - 6px)")}},{key:"startZoom",value:function(){var d=this,f=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=f.width,this.videoHeight=f.height,this.currentPosition.right=f.width,this.currentPosition.bottom=f.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot(),this.enableZoom=!0,document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0"))?(document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mousedown",function(y){return d.onMouseDown(y)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseup",function(y){return d.onMouseUp(y)}),document.getElementById("".concat(this.jSPlugin.id,"canvas_draw0")).addEventListener("mouseout",function(y){return d.onMouseOut(y)})):document.getElementById("".concat(this.jSPlugin.id,"-player"))&&(document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mousedown",function(y){return d.onMouseDown(y)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseup",function(y){return d.onMouseUp(y)}),document.getElementById("".concat(this.jSPlugin.id,"-player")).addEventListener("mouseout",function(y){return d.onMouseOut(y)}))}},{key:"stopZoom",value:function(){var d=this;this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot(),this.enableZoom=!1,document.getElementById(this.jSPlugin.id).removeEventListener("mousedown",function(f){return d.onMouseDown(f)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseup",function(f){return d.onMouseUp(f)}),document.getElementById(this.jSPlugin.id).removeEventListener("mouseout",function(f){return d.onMouseOut(f)})}},{key:"doScale",value:function(){console.log("执行放大");var d=this.currentPosition,f=this.currentScale;d.left=d.left+d.xPercent*(d.right-d.left)-1/2*(this.videoWidth/f),d.left<0?d.left=0:d.left>this.videoWidth-this.videoWidth/f&&(d.left=this.videoWidth-this.videoWidth/f),d.right=d.left+this.videoWidth/f,d.top=d.top+d.yPercent*(d.bottom-d.top)-1/2*(this.videoHeight/f),d.top<0?d.top=0:d.top>this.videoHeight-this.videoHeight/f&&(d.top=this.videoHeight-this.videoHeight/f),d.bottom=d.top+this.videoHeight/f,d.left=parseInt(d.left,10),d.right=parseInt(d.right,10),d.top=parseInt(d.top,10),d.bottom=parseInt(d.bottom,10),console.log("计算后,",this.jSPlugin.jSPlugin,d.left,d.right,d.top,d.bottom,d.xPercent,d.yPercent),this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(d.left,d.right,d.top,d.bottom),this.renderDot()}},{key:"calCurrentPosition",value:function(d){var f=this.currentPosition,y=this.clientRect;f.x=d.clientX,f.y=d.clientY,f.xPercent=(d.clientX-y.x)/y.width,f.yPercent=(d.clientY-y.y)/y.height,this.doScale()}},{key:"addScale",value:function(){var d=this.currentScale,f=this.currentPosition;if(d>=8)return console.log("达到最大倍率了"),this.jSPlugin.Message&&this.jSPlugin.Message.default("已经放大到最大倍数8.0X"),!1;this.currentScale++,f.xPercent=.5,f.yPercent=.5,this.doScale()}},{key:"subScale",value:function(){var d=this.currentScale,f=this.currentPosition;if(d<=1)return console.log("达到最小倍率了"),!1;this.currentScale--,f.xPercent=.5,f.yPercent=.5,this.doScale()}}]),O}();function y3(O,N){return Math.abs(N.clientX-O.clientX)*Math.abs(N.clientX-O.clientX)+Math.abs(N.clientY-O.clientY)*Math.abs(N.clientY-O.clientY)}var D2=function(){function O(N){var d=this;a(this,O),this.jSPlugin=N,this.enableZoom=!1,this.isDubboTouch=!1,this.videoWidth=0,this.videoHeight=0,this.currentScale=1,this.currentPosition={x:0,y:0,xPercent:.1,yPercent:.1,xCurrentVideo:0,yCurrentVideo:0,left:0,top:0,right:1920,bottom:1080},this.DOM=document.getElementById(N.id),this.clientRect=document.getElementById(N.id).getBoundingClientRect(),this.point1={clientX:0,clientY:0},this.point2={clientX:0,clientY:0},this.touchLineLength=0,this.inited=!1;var f=document.createElement("div");f.id="".concat(N.id,"-zoom-container"),f.style=`display:none; - position: absolute; - left: 10px; - top: -30px; - border: 1px solid rgba(0,0,0,0.6); - color: #FFFFFF; - background: rgba(0,0,0,0.6); - border-radius: 10px; - width: 36px; - font-size: 12px; - text-align: center; - height: 22px; - line-height: 22px;`;var y="1X";f.innerHTML=y,document.getElementById("".concat(N.id,"-audioControls-left")).parentNode.appendChild(f),document.getElementById(this.jSPlugin.id).addEventListener("touchstart",function(b){return d.onTouchstart(b)}),document.getElementById(this.jSPlugin.id).addEventListener("touchmove",function(b){return d.onTouchmove(b)})}return r(O,[{key:"onTouchstart",value:function(d){var f=this.jSPlugin.beforeMobileZoomVerify();if(!f)return!1;if(!this.inited){var y=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=y.width,this.videoHeight=y.height,this.currentPosition.right=y.width,this.currentPosition.bottom=y.height,this.inited=!0}var b=this.currentPosition;this.currentScale,console.log("双指按下",b);var _=d.touches,M=_[0],a2=_[1];M&&(this.point1.clientX=M.clientX,this.point1.clientY=M.clientY),a2&&(this.point2.clientX=a2.clientX,this.point2.clientY=a2.clientY,this.touchLineLength=y3(this.point1,this.point2),this.isDubboTouch=!0,this.moveX=M.clientX,this.moveY=M.clientY),console.log("双指按下2",b)}},{key:"onTouchmove",value:function(d){var f=this.isDubboTouch,y=this.currentPosition,b=this.clientRect,_=this.jSPlugin.beforeMobileZoomVerify();if(!_)return!1;if(d.touches.length===1){var a2=d.touches[0];return y.xPercent=y.xPercent+(this.point1.clientX-a2.clientX)/b.width/this.currentScale,y.yPercent=y.yPercent+(this.point1.clientY-a2.clientY)/b.height/this.currentScale,this.doScale(),this.point1.clientX=a2.clientX,this.point1.clientY=a2.clientY,!1}if(!f)return!1;var M=d.touches,a2=M[0],Z=M[1];if(a2&&(this.point1.clientX=a2.clientX,this.point1.clientY=a2.clientY),Z){this.point2.clientX=Z.clientX,this.point2.clientY=Z.clientY;var t2=y3(this.point1,this.point2);t2!==this.touchLineLength&&(t2>this.touchLineLength?this.currentScale<8?(++this.currentScale,y.xPercent=(this.point1.clientX+this.point2.clientX)/2/b.width,y.yPercent=(this.point1.clientY+this.point2.clientY)/2/b.height,this.doScale()):console.log("已经是最大8倍率了"):this.currentScale>1?(--this.currentScale,y.xPercent=(this.point1.clientX+this.point2.clientX)/2/b.width,y.yPercent=(this.point1.clientY+this.point2.clientY)/2/b.height,this.doScale()):console.log("已经是最小1倍率了"),this.isDubboTouch=!1)}}},{key:"startZoom",value:function(){var d=this.jSPlugin.jSPlugin._JSPlayM4_GetFrameInfo(0);this.videoWidth=d.width,this.videoHeight=d.height,this.currentPosition.right=d.width,this.currentPosition.bottom=d.height,this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="block",this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),this.renderDot()}},{key:"stopZoom",value:function(){this.currentScale=1,this.jSPlugin.jSPlugin._JSPlayM4_SetDisplayRegion(0,this.videoWidth,0,this.videoHeight),document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none",this.renderDot()}},{key:"resetZoom",value:function(){this.currentScale=1,document.getElementById("".concat(this.jSPlugin.id,"-zoom-container")).style.display="none"}},{key:"doScale",value:function(){var d=this.currentPosition,f=this.currentScale;d.left=d.left+d.xPercent*(d.right-d.left)-1/2*(this.videoWidth/f),d.left<0?d.left=0:d.left>this.videoWidth-this.videoWidth/f&&(d.left=this.videoWidth-this.videoWidth/f),d.right=d.left+this.videoWidth/f,d.top=d.top+d.yPercent*(d.bottom-d.top)-1/2*(this.videoHeight/f),d.top<0?d.top=0:d.top>this.videoHeight-this.videoHeight/f&&(d.top=this.videoHeight-this.videoHeight/f),d.bottom=d.top+this.videoHeight/f,d.left=parseInt(d.left,10),d.right=parseInt(d.right,10),d.top=parseInt(d.top,10),d.bottom=parseInt(d.bottom,10),console.log("视频宽高",this.videoWidth,this.videoHeight),console.log("计算后,",d.left,d.right,d.top,d.bottom,d.xPercent,d.yPercent),d.left0&&(this.autoFocus=parseInt(this.themeData.autoFocus),this.startAutoFocus(),document.getElementById("".concat(this.jSPlugin.id,"-wrap")).addEventListener("click",function(){d.stopAutoFocus()})),this.setDecoderState({cloudRec:S2(this.jSPlugin.url).type==="cloud.rec",rec:S2(this.jSPlugin.url).type==="rec",type:S2(this.jSPlugin.url).type});else if(!this.themeInited)var _=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(_),d.jSPlugin.play(),d.themeInited=!0)},50);var M=m3.findIndex(this.themeData.footer.btnList,function(Z){return Z.iconId==="zoom"&&Z.isrender>0})>=0;M&&(this.isMobile?(this.jSPlugin.beforeMobileZoomVerify=function(){var Z=d.decoderState.state.play;return console.log("手机端电子放大前校验回调play------------",Z),!!Z},this.jSPlugin.Zoom=new D2(this.jSPlugin)):this.jSPlugin.Zoom=new S3(this.jSPlugin));var a2=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(a2),d.jSPlugin.reSize(d.jSPlugin.params.width,d.jSPlugin.params.height))},50)}},{key:"setDecoderState",value:function(d){var f=this,y=this.themeData,b=y.header,_=y.footer;Object.keys(d).map(function(M,a2){var Z="#FFFFFF",t2="#FFFFFF",J=b.btnList.findIndex(function(Y){return Y.iconId===M});switch(J===-1?(Z=_.color.replace("-diy",""),t2=_.activeColor.replace("-diy","")):(Z=b.color.replace("-diy",""),t2=_.activeColor.replace("-diy","")),M){case"play":d[M]?document.getElementById("".concat(f.jSPlugin.id,"-play"))&&(document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[1].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-play")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).childNodes[0].children[0].style.fill=d[M]?t2:Z):document.getElementById("".concat(f.jSPlugin.id,"-play"))&&(document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).children[0].children[0].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-play")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-play-content")).childNodes[0].children[1].style.fill=d[M]?t2:Z);break;case"sound":document.getElementById("".concat(f.jSPlugin.id,"-sound"))&&(d[M]?(document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-sound")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).childNodes[0].children[1].style.fill=d[M]?t2:Z):(document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).children[0].children[1].style="display:none",document.getElementById("".concat(f.jSPlugin.id,"-sound")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-sound-content")).childNodes[0].children[0].style.fill=d[M]?t2:Z));break;case"recordvideo":document.getElementById("".concat(f.jSPlugin.id,"-recordvideo"))&&(document.getElementById("".concat(f.jSPlugin.id,"-recordvideo")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-recordvideo-content")).childNodes[0].style.fill=d[M]?t2:Z,d[M]?f.countTime("add",0):f.countTime("destroy",0));break;case"talk":document.getElementById("".concat(f.jSPlugin.id,"-talk"))&&(document.getElementById("".concat(f.jSPlugin.id,"-talk")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-talk-content")).childNodes[1].style.fill=d[M]?t2:Z);break;case"zoom":document.getElementById("".concat(f.jSPlugin.id,"-zoom"))&&(document.getElementById("".concat(f.jSPlugin.id,"-zoom")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-zoom-content")).childNodes[1].style.fill=d[M]?t2:Z);break;case"pantile":document.getElementById("".concat(f.jSPlugin.id,"-pantile"))&&(document.getElementById("".concat(f.jSPlugin.id,"-pantile")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-pantile-content")).childNodes[0].style.fill=d[M]?t2:Z);break;case"webExpend":d[M]?(document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend")).className="disabled")):(document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend")).className="")),document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[0].style.fill=d[M]?t2:Z,document.getElementById("".concat(f.jSPlugin.id,"-webExpend-content")).childNodes[0].childNodes[1].style.fill=d[M]?t2:Z);break;case"capturePicture":document.getElementById("".concat(f.jSPlugin.id,"-capturePicture"))&&(document.getElementById("".concat(f.jSPlugin.id,"-capturePicture")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-capturePicture-content")).childNodes[0].style.fill=d[M]?t2:Z);break;case"expend":d[M]?(document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend")).className="disabled")):(document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[0].style="display:inline-block",document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).children[0].children[1].style="display:none"),document.getElementById("".concat(f.jSPlugin.id,"-webExpend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-webExpend")).className="")),document.getElementById("".concat(f.jSPlugin.id,"-expend"))&&(document.getElementById("".concat(f.jSPlugin.id,"-expend")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[0].style.fill=d[M]?t2:Z,document.getElementById("".concat(f.jSPlugin.id,"-expend-content")).childNodes[0].childNodes[1].style.fill=d[M]?t2:Z);break;case"hd":d[M]?document.getElementById("".concat(f.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:block",document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:none"):document.getElementById("".concat(f.jSPlugin.id,"-hd"))&&(document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[1].style="display:block",document.getElementById("".concat(f.jSPlugin.id,"-hd-content")).children[1].children[0].style="display:none");break;case"speed":document.getElementById("".concat(f.jSPlugin.id,"-speed"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speed-content")).children[1].children[0].style.color=d[M]?t2:Z,document.getElementById("".concat(f.jSPlugin.id,"-speed-content")).children[1].children[0].style.borderColor=d[M]?t2:Z),document.getElementById("".concat(f.jSPlugin.id,"-select-mask"))&&(f.isMobile&&d[M]?document.getElementById("".concat(f.jSPlugin.id,"-select-mask")).style.display="block":document.getElementById("".concat(f.jSPlugin.id,"-select-mask")).style.display="none");break;case"cloudRec":document.getElementById("".concat(f.jSPlugin.id,"-cloudRec"))&&(console.log("document.getElementById(`${this.jSPlugin.id}-cloudRec-content`)",document.getElementById("".concat(f.jSPlugin.id,"-cloudRec"))),document.getElementById("".concat(f.jSPlugin.id,"-cloudRec")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=d[M]?t2:Z),document.getElementById("".concat(f.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(f.jSPlugin.id,"-rec")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=d[M]?Z:t2);break;case"rec":document.getElementById("".concat(f.jSPlugin.id,"-cloudRec"))&&(document.getElementById("".concat(f.jSPlugin.id,"-cloudRec")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-cloudRec-content")).children[0].children[0].style.fill=d[M]?Z:t2),document.getElementById("".concat(f.jSPlugin.id,"-rec"))&&(document.getElementById("".concat(f.jSPlugin.id,"-rec")).className=d[M]?"active":"",document.getElementById("".concat(f.jSPlugin.id,"-rec-content")).children[0].children[0].style.fill=d[M]?t2:Z);break}f.decoderState.state=Object.assign(f.decoderState.state,d)})}},{key:"startAutoFocus",value:function(){var d=this,f=this.autoFocus;this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.autoFocusTimer=setTimeout(function(){document.getElementById("".concat(d.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(d.jSPlugin.id,"-audioControls")).style.opacity=0,document.getElementById("".concat(d.jSPlugin.id,"-audioControls")).style.pointerEvents="none")},f*1e3)}},{key:"stopAutoFocus",value:function(){document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.opacity=1,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.pointerEvents="all"),this.autoFocusTimer&&clearTimeout(this.autoFocusTimer),this.startAutoFocus()}},{key:"toString",value:function(){return"".concat(this.coreX,"-").concat(this.coreY)}},{key:"renderFooter",value:function(d,f){var y=this,b=this.matchBtn(d);if(this.isMobile&&b.id==="zoom")return!1;var _=document.createElement("div");_.className="theme-icon-item",_.innerHTML="".concat('')+'
    ')).concat(b.domString,"
    ")+"
    ",_.onclick=function(t2){if(y.decoderState.state.isEditing)return!1;b.onclick(t2)},b.onmouseenter&&(_.onmouseenter=function(t2){if(y.decoderState.state.isEditing)return!1;b.onmouseenter(t2)}),b.onmouseleave&&(_.onmouseleave=function(t2){if(y.decoderState.state.isEditing)return!1;b.onmouseleave(t2)});var M=document.createElement("span");M.className="icon-move left",M.innerHTML=''),M.onclick=function(){y.editIcon(b.id,"left","footer")},_.appendChild(M);var a2=document.createElement("span");a2.className="icon-move right",a2.innerHTML=''),a2.onclick=function(){y.editIcon(b.id,"right","footer")},_.appendChild(a2);var Z=document.createElement("span");Z.className="icon-move close",Z.innerHTML='')+'',Z.onclick=function(){y.editIcon(b.id,"delete","footer")},_.appendChild(Z),f==="left"?document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[0].appendChild(_):document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).childNodes[1].appendChild(_)}},{key:"editIcon",value:function(d,f,y){console.log("编辑组件",d,f,y);var b=this.themeData;console.log("themeData",this.themeData);var _=this.themeData[y].btnList,M=m3.findIndex(_,function(k2){return k2.iconId===d}),a2=_[M];switch(f){case"delete":if(d==="rec"){if(m3.findIndex(_,function(k2){return k2.iconId==="cloudRec"&&k2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1}else if(d==="cloudRec"&&m3.findIndex(_,function(k2){return k2.iconId==="rec"&&k2.isrender==1})===-1)return this.jSPlugin.Message&&this.jSPlugin.Message.default("必须选中一种存储介质"),!1;_[M].isrender=0;break;case"right":for(var Z=-1,t2=M+1;t2<_.length;t2++)if(_[t2].part===_[M].part&&_[t2].isrender==1){Z=t2;break}Z!==-1&&(_[M]=_[Z],_[Z]=a2);break;case"left":for(var J=-1,Y=M-1;Y>=0;Y--)if(_[Y].part===_[M].part&&_[Y].isrender==1){J=Y;break}J!==-1&&(_[M]=_[J],_[J]=a2);break}console.log("new btnList",_),b[y].btnList=_,this.changeTheme(b)}},{key:"renderHeader",value:function(d,f){var y=this,b=this.matchBtn(d),_=document.createElement("div");_.className="theme-icon-item",_.style="max-width:50%;",_.innerHTML="".concat('')+'')).concat(b.domString,"")+'',_.onclick=function(a2){if(y.decoderState.state.isEditing)return!1;b.onclick(a2)};var M=document.createElement("span");M.className="icon-move close",M.innerHTML='')+'',M.onclick=function(){y.editIcon(b.id,"delete","header")},_.appendChild(M),f==="left"?document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[0].appendChild(_):document.getElementById("".concat(this.jSPlugin.id,"-headControl")).childNodes[1].appendChild(_)}},{key:"countTime",value:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=this;if(!document.getElementById(this.jSPlugin.id+"time-area")){var b=document.createElement("div");b.id=this.jSPlugin.id+"time-area",b.className="time-area",b.innerHTML='00:00',document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).appendChild(b)}if(this.countTimer&&clearInterval(this.countTimer),d==="add"){var _=f;document.getElementById(y.jSPlugin.id+"time-area").style.display="flex",this.countTimer=setInterval(function(){++_,document.getElementById(y.jSPlugin.id+"time-area").children[1].innerHTML=M(_)},1e3)}else d==="destroy"&&(this.countTimer&&clearInterval(this.countTimer),this.countTimer=void 0,document.getElementById(y.jSPlugin.id+"time-area")&&(document.getElementById(y.jSPlugin.id+"time-area").children[1].innerHTML="00:00",document.getElementById(y.jSPlugin.id+"time-area").style.display="none"));function M(a2){var Z=parseInt(a2),t2=0,J=0,Y="00",k2="00",y2="00";return Z>59&&(t2=parseInt(Z/60),Z=parseInt(Z%60),t2>59&&(J=parseInt(t2/60),t2=parseInt(t2%60))),Y=parseInt(Z)>9?parseInt(Z):"0"+parseInt(Z),k2=parseInt(t2)>9?parseInt(t2):"0"+parseInt(t2),y2=parseInt(J)>9?parseInt(J):"0"+parseInt(J),J>0?y2+":"+k2+":"+Y:t2>0?k2+":"+Y:"00:"+Y}}},{key:"setDisabled",value:function(d){var f=this.decoderState.state,y=f.sound,b=f.hd;document.getElementById(y?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon"))!=null&&document.getElementById(y?"".concat(this.jSPlugin.id,"-sound-icon"):"".concat(this.jSPlugin.id,"-nosound-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-recordvideo-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-capturePicture-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-talk-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-talk-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-zoom-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-pantile-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById(b?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon"))!=null&&document.getElementById(b?"".concat(this.jSPlugin.id,"-hdSelect-icon"):"".concat(this.jSPlugin.id,"-sdSelect-icon")).setAttribute("style",d?"cursor: not-allowed;fill: gray":"cursor: default"),document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))!=null&&document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).setAttribute("style",document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).getAttribute("style")+";"+(d?"cursor: not-allowed;color: gray;border-color: gray;":"cursor: default;color: #ffffff;border-color: #ffffff;"))}},{key:"matchBtn",value:function(d){var f=this,y=this.themeData,b=y.header,_=y.footer,M={title:"",id:"",domString:"",color:"#FFFFFF",activeColor:"#FFFFFF",onclick:function(){},onmoveleft:function(){},onmoveright:function(){},onremove:function(){}},a2=b.btnList.findIndex(function(Z){return Z.iconId===d});switch(a2===-1?(M.color=_.color,M.backgroundColor=_.backgroundColor,M.activeColor=_.activeColor):(M.color=b.color,M.backgroundColor=b.backgroundColor,M.activeColor=b.activeColor),d){case"play":return M.title="播放/结束播放",M.id=d,M.domString='
    '+'`)+'')+'
    ',M.onclick=function(){var Z=f.decoderState.state,t2=Z.play,J=Z.isEditing,Y=Z.rec,k2=Z.cloudRec,y2=Z.recordvideo;if(J)return!1;t2?(Y||k2?f.jSPlugin.pause():f.jSPlugin.stop(),y2&&f.setDecoderState({recordvideo:!1}),f.jSPlugin.Zoom.stopZoom()):(Y||k2?f.jSPlugin.resume():f.jSPlugin.play(),f.resetMobileZoomStatus()),f.setDecoderState({zoom:!1,play:!t2}),f.setDisabled(t2)},M;case"sound":return M.title="声音",M.id=d,M.domString=''+'`)+' - - - - - `)+"",M.onclick=function(){var Z=f.decoderState.state,t2=Z.play,J=Z.sound,Y=Z.talk;t2&&(J?(f.jSPlugin.closeSound(),f.setDecoderState({sound:!1})):Y||(f.jSPlugin.openSound(),f.setDecoderState({sound:!0})))},M;case"recordvideo":return M.title="录屏",M.id=d,M.domString='')+'',M.onclick=function(){var Z=f.decoderState.state,t2=Z.play,J=Z.recordvideo;t2&&(J?(f.jSPlugin.stopSave(),f.setDecoderState({recordvideo:!1})):(f.jSPlugin.startSave("".concat(new Date().getTime())),f.setDecoderState({recordvideo:!0})))},M;case"capturePicture":return M.title="截图",M.id=d,M.domString='')+'',M.onclick=function(){var Z=f.decoderState.state.play;Z?f.jSPlugin.capturePicture("".concat(new Date().getTime())):console.log("视频未播放,无法截图")},M;case"talk":return M.title="对讲",M.id=d,M.domString="
    "+'')+'',M.onclick=function(){var Z=f.decoderState.state,t2=Z.talk,J=Z.sound,Y=Z.play;if(Y)if(t2){console.log("结束对讲"),f.setDecoderState({talk:!1}),f.jSPlugin.Talk.stopTalk();var k2=m3.findIndex(f.themeData.footer.btnList,function(y2){return y2.iconId==="sound"&&y2.isrender===1&&y2.defaultActive===1})>-1;f.themeData&&k2&&(f.jSPlugin.openSound(),f.setDecoderState({sound:!0}))}else console.log("开始对讲"),f.setDecoderState({talk:!0}),J&&(f.jSPlugin.closeSound(),f.setDecoderState({sound:!1})),f.jSPlugin.Talk.startTalk()},M;case"zoom":return M.title="电子放大",M.id=d,M.domString="
    "+' - - - - - `),M.onclick=function(){var Z=f.decoderState.state,t2=Z.zoom,J=Z.play;if(!J)return!1;t2?(console.log("结束电子放大"),f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom()):(console.log("开始电子放大"),f.jSPlugin.Zoom.startZoom(),f.setDecoderState({zoom:!0}))},M;case"pantile":return M.title="云台控制",M.id=d,M.domString='')+'',M.onclick=function(){var Z=f.decoderState.state,t2=Z.play,J=Z.pantile,Y=Z.expend;if(t2)if(J)console.log("隐藏云台"),f.Ptz.hide(),f.setDecoderState({pantile:!1});else{if(console.log("显示云台"),f.isMobile&&!Y)return console.log("移动端,非全屏状态不展示云台"),!1;f.Ptz.show(),f.setDecoderState({pantile:!0})}},M;case"expend":return M.title="全局全屏",M.id=d,M.domString='')+''+' - `),M.onclick=function(){var Z=f.decoderState.state,t2=Z.webExpend,J=Z.expend;Z.play;var Y=Z.pantile;if(t2)return console.log("正在网站全屏"),!1;if(J)if(f.isMobile){var k2=parseInt(getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(f.jSPlugin.id)).height,10);document.getElementById("".concat(f.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(f.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-32px"),document.getElementById("".concat(f.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(f.jSPlugin.id,"-headControl")).style.position="relative"),j(document.getElementById("".concat(f.jSPlugin.id,"-wrap")),f.jSPlugin.width,f.jSPlugin.height+k2),f.jSPlugin.jSPlugin.JS_Resize(f.jSPlugin.width,f.jSPlugin.height),Y&&(f.Ptz.hide(),f.setDecoderState({pantile:!1}))}else{console.log("取消全局全屏");var F2=v2();F2.then(function(n2){console.log("取消全屏",n2,f.jSPlugin),f.jSPlugin.jSPlugin.JS_Resize(f.jSPlugin.width,f.jSPlugin.height)})}else if(console.log("执行全局全屏"),f.isMobile){var k2=parseInt(getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(f.jSPlugin.id)).height,10);I(document.getElementById("".concat(f.jSPlugin.id,"-wrap"))),setTimeout(function(){var n2=document.documentElement.clientWidth,T=document.documentElement.clientHeight;document.getElementById("".concat(f.jSPlugin.id)).style["backface-visibility"]="hidden",f.jSPlugin.jSPlugin.JS_Resize(T,n2-k2)},100)}else{var y2=window.screen.width,o2=window.screen.height,d2=U(document.getElementById("".concat(f.jSPlugin.id)));d2.then(function(n2){f.jSPlugin.jSPlugin.JS_Resize(y2,o2)}).catch(function(n2){console.log(n2)})}f.setDecoderState({expend:!J})},M;case"webExpend":return M.title="网页全屏",M.id=d,M.domString='')+''+'",M.onclick=function(){var Z=f.decoderState.state,t2=Z.webExpend,J=Z.expend;if(Z.play,J)return console.log("正在全局全屏"),!1;if(f.jSPlugin.recTimer&&clearInterval(f.jSPlugin.recTimer),t2){console.log("取消网页全屏");var n2=v2();n2.then(function(T){f.jSPlugin.jSPlugin.JS_Resize(f.jSPlugin.width,f.jSPlugin.height),f.jSPlugin.Theme.Rec&&f.jSPlugin.Theme.Rec.recAutoSize()})}else{console.log("执行网页全屏");var Y=0,k2=0,y2=f;["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(T){window.addEventListener(T,function(W){var x2=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;return x2?document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0")).style.height=window.screen.height-parseInt(window.getComputedStyle(document.getElementById("".concat(y2.jSPlugin.id,"-headControl"))).height,10)+"px"):document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0"))&&(document.getElementById("".concat(y2.jSPlugin.id,"-loading-item-0")).style.height=y2.jSPlugin.height+parseInt(window.getComputedStyle(document.getElementById("".concat(y2.jSPlugin.id,"-headControl"))).height,10)+"px"),x2})});var o2=window.screen.width,d2=window.screen.height,F2=U(document.getElementById("".concat(f.jSPlugin.id,"-wrap")));F2.then(function(T){document.getElementById("".concat(f.jSPlugin.id,"-canvas-container"))&&(Y=parseInt(window.getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(f.jSPlugin.id,"-headControl"))&&(k2=parseInt(window.getComputedStyle(document.getElementById("".concat(f.jSPlugin.id,"-headControl"))).height,10)),f.jSPlugin.jSPlugin.JS_Resize(o2,d2-Y-k2),f.jSPlugin.Theme.Rec&&f.jSPlugin.Theme.Rec.recAutoSize()}).catch(function(T){console.log(T)})}f.setDecoderState({webExpend:!t2})},M;case"hd":return M.title="画面清晰度",M.id=d,M.domString='"+'')+''+' - `)+`')+"",M.onclick=function(Z){var t2=f.decoderState.state,J=t2.hd,Y=t2.expend,k2=t2.recordvideo,y2=t2.play;y2&&(J&&Z.target.id==="".concat(f.jSPlugin.id,"-select-sd")?(console.log("切换到标清"),f.jSPlugin.changeVideoLevel(0),f.setDecoderState({hd:!1}),f.resetMobileZoomStatus(),k2&&f.setDecoderState({recordvideo:!1}),f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom()):!J&&Z.target.id==="".concat(f.jSPlugin.id,"-select-hd")&&(f.jSPlugin.changeVideoLevel(1),f.setDecoderState({hd:!0}),f.resetMobileZoomStatus(),k2&&f.setDecoderState({recordvideo:!1}),f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom()),f.showHD=!f.showHD,document.getElementById("".concat(f.jSPlugin.id,"-hdSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).style.display=document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).style.display==="none"?"block":"none",f.isMobile&&(document.getElementById("".concat(f.jSPlugin.id,"-select-hd-mask")).style.display=document.getElementById("".concat(f.jSPlugin.id,"-select-hd-mask")).style.display==="none"?"block":"none")),f.isMobile&&Y&&f.showHD?document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).className="hd speed-select mobile expend":document.getElementById("".concat(f.jSPlugin.id,"-hdSelect")).className=f.isMobile?"hd speed-select mobile":"speed-select")},M;case"speed":return M.title="回放倍速",M.id=d,M.domString='"+` -
    `).concat(this.nextRate===1?"倍速":"".concat(this.nextRate,"倍").replace("3","0.5"),`
    - `)+`')+"
    ",this.isMobile||(M.onmouseenter=function(Z){var t2=f.decoderState.state.play;if(!t2)return!1;console.log("鼠标移入",Z),f.setDecoderState({speed:!0}),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display="block")},M.onmouseleave=function(Z){var t2=f.decoderState.state.play;if(!t2)return!1;console.log("鼠标移出",Z),f.setDecoderState({speed:!1}),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display="none")}),M.onclick=function(Z){var t2=f.decoderState.state,J=t2.speed,Y=t2.expend,k2=t2.play;if(!k2)return!1;if(!J&&f.isMobile&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).className=Y?"speed speed-select mobile expend":"speed speed-select mobile"),f.nextRate=1,Z.target.id)switch(Z.target.id){case"".concat(f.jSPlugin.id,"-select-speed1"):console.log("倍速1"),f.nextRate=1,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(1),f.jSPlugin.speed=1,f.setDecoderState({speed:!J});break;case"".concat(f.jSPlugin.id,"-select-speed2"):console.log("倍速2"),f.nextRate=2,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(2),f.jSPlugin.speed=2,f.setDecoderState({speed:!J});break;case"".concat(f.jSPlugin.id,"-select-speed4"):console.log("倍速4"),f.nextRate=4,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(4),f.jSPlugin.speed=4,f.setDecoderState({speed:!J});break;case"".concat(f.jSPlugin.id,"-select-speed05"):console.log("倍速05"),f.nextRate=3,f.jSPlugin.jSPlugin.JS_Speed(f.nextRate),f.changeRecSpeed(.5),f.jSPlugin.speed=.5,f.setDecoderState({speed:!J});break;default:f.isMobile?f.setDecoderState({speed:!J}):f.setDecoderState({speed:!0});break}!f.isMobile&&Z.target.id==="".concat(f.jSPlugin.id,"-speed-text")?document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display="block":document.getElementById("".concat(f.jSPlugin.id,"-speedSelect"))&&(document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).style.display==="none"?"block":"none")},M;case"deviceName":return M.title="设备名称",M.id=d,M.domString="设备名称",M.onclick=function(){},M;case"deviceID":return M.title="设备序列号",M.id=d,M.domString="设备序列号",M.onclick=function(){},M;case"cloudRec":return M.title="云存储回放",M.id=d,M.domString=` - - - - - - - - `),M.onclick=function(){console.log("点击云回放"),f.setDecoderState({type:"cloud.rec",cloudRec:!0,rec:!1}),f.jSPlugin.changePlayUrl({type:"cloud.rec"},function(){console.log(f.jSPlugin);var Z=p("begin",f.jSPlugin.url)||new Date().Format("yyyyMMdd");f.Rec.renderRec("".concat(Z.slice(0,4),"-").concat(Z.slice(4,6),"-").concat(Z.slice(6,8)));var t2=f.decoderState.state.zoom;t2&&(f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom())}),console.log(f.jSPlugin)},M;case"rec":return M.title="本地存储",M.id=d,M.domString=` - - - - - - - - - `),M.onclick=function(){console.log("点击本地回放"),f.setDecoderState({type:"rec",cloudRec:!1,rec:!0}),f.jSPlugin.changePlayUrl({type:"rec"},function(){console.log("---------本地回放"),console.log(f.jSPlugin);var Z=p("begin",f.jSPlugin.url)||new Date().Format("yyyyMMdd");f.Rec.renderRec("".concat(Z.slice(0,4),"-").concat(Z.slice(4,6),"-").concat(Z.slice(6,8)));var t2=f.decoderState.state.zoom;t2&&(f.setDecoderState({zoom:!1}),f.jSPlugin.Zoom.stopZoom())}),console.log(f.jSPlugin)},M;default:return M}}},{key:"changeRecSpeed",value:function(d){var f=this,y=function(M){if(console.log("setLiActive",M),!document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")))return!1;document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[0].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[0].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[1].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[1].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[2].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[2].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[3].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[3].className.replace("active","default"),document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[M].className=document.getElementById("".concat(f.jSPlugin.id,"-speedSelect")).childNodes[M].className.replace("default","active")},b="1";switch(d){case 1:y(2),b="倍速";break;case 2:y(1),b="".concat(d,"倍");break;case 4:y(0),b="".concat(d,"倍");break;case .5:y(3),b="".concat(d,"倍");break;default:y(2),b="".concat(d,"倍");break}document.getElementById("".concat(this.jSPlugin.id,"-speed-text"))&&(document.getElementById("".concat(this.jSPlugin.id,"-speed-text")).innerHTML=b)}},{key:"initThemeData",value:function(){var d=this,f=this.themeData,y=f.header,b=f.footer,_=this.jSPlugin.id;if(this.header=Y1.header,this.footer=Y1.footer,this.isNeedRenderHeader=m3.findIndex(y.btnList,function(d2){return d2.isrender>0})>=0,this.isMobile&&(this.isNeedRenderHeader=m3.findIndex(y.btnList,function(d2){return d2.isrender>0&&d2.iconId==="deviceID"||d2.isrender>0&&d2.iconId==="deviceName"})>=0),this.isNeedRenderFooter=m3.findIndex(b.btnList,function(d2){return d2.isrender>0})>=0,this.isNeedRenderTimeLine=m3.findIndex(y.btnList,function(d2){return d2.iconId==="cloudRec"&&d2.isrender===1||d2.iconId==="rec"&&d2.isrender===1})>=0&&!this.jSPlugin.disabledTimeLine,["date-switch-container-wrap","rec-type-container-wrap","mobile-rec-wrap","mobile-ez-ptz-container"].forEach(function(d2,F2){document.getElementById(d2)&&document.getElementById(d2).parentElement.removeChild(document.getElementById(d2))}),this.isNeedRenderHeader)if(document.getElementById("".concat(this.jSPlugin.id,"-headControl")))document.getElementById("".concat(this.jSPlugin.id,"-headControl")).innerHTML="
    ");else{var M=document.createElement("div");M.setAttribute("id","".concat(this.jSPlugin.id,"-headControl")),M.setAttribute("class","header-controls"),M.innerHTML="
    `);var a2={height:this.jSPlugin.width>i3?"48px":"32px","line-height":this.jSPlugin.width>i3?"48px":"32px",display:"flex","justify-content":"space-between",top:0,"z-index":1,background:"#000000",color:"#FFFFFF",width:"100%"};M.style=G3(a2),document.getElementById("".concat(_,"-wrap")).insertBefore(M,document.getElementById(_));var Z=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(Z)},50)}else document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&document.getElementById("".concat(this.jSPlugin.id,"-headControl")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-headControl")));if(this.isNeedRenderFooter)if(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")))document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).style.marginTop="-".concat(this.jSPlugin.width>i3?48:32,"px"),document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).innerHTML='`));else{var t2=document.createElement("div");t2.setAttribute("id","".concat(this.jSPlugin.id,"-ez-iframe-footer-container")),t2.setAttribute("class","ez-iframe-footer-container");var J={"min-height":this.jSPlugin.width>i3?"48px":"32px","max-height":this.jSPlugin.width>i3?"96px":"80px",position:"relative","margin-top":this.jSPlugin.width>i3?"-48px":"-32px",display:"flex","flex-wrap":"wrap","justify-content":"space-between","z-index":999,top:0,color:"#FFFFFF",width:"100%"};t2.style=G3(J),t2.innerHTML='`),g(t2,document.getElementById(_))}else document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container"))&&document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")).parentElement.removeChild(document.getElementById("".concat(this.jSPlugin.id,"-ez-iframe-footer-container")));if(this.isNeedRenderHeader&&document.getElementById("".concat(this.jSPlugin.id,"-headControl"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.background=y.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-headControl")).style.color=y.color,y.btnList.map(function(d2,F2){d2.isrender&&d.renderHeader(d2.iconId,d2.part)})),this.isNeedRenderFooter&&document.getElementById("".concat(this.jSPlugin.id,"-audioControls"))&&(document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.background=b.backgroundColor,document.getElementById("".concat(this.jSPlugin.id,"-audioControls")).style.color=b.color,b.btnList.map(function(d2,F2){d2.isrender&&d.renderFooter(d2.iconId,d2.part)})),this.isNeedRenderTimeLine)if(this.isMobile)document.getElementById("".concat(this.jSPlugin.id,"-headControl-right"))&&(document.getElementById("".concat(this.jSPlugin.id,"-headControl-right")).style.display="none"),this.Rec=new _1(this.jSPlugin,this.changeRecSpeed,this.resetMobileZoomStatus);else{this.Rec?(this.Rec.unSyncTimeLine(),this.Rec.recInit()):(this.jSPlugin.decoderState=this.decoderState,this.jSPlugin.setDecoderState=this.setDecoderState,this.Rec=new x3(this.jSPlugin));var Y=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&clearInterval(Y)},50)}var k2=m3.findIndex(this.themeData.footer.btnList,function(d2){return d2.iconId==="pantile"&&d2.isrender===1})>=0&&!this.jSPlugin.disabledPTZ;k2&&(this.isMobile&&(this.MobilePtz=new g1(this.jSPlugin)),this.Ptz=new $1(this.jSPlugin));var y2=function(){var F2=d.decoderState.state,n2=F2.expend,T=F2.webExpend,D=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;D||(d.jSPlugin.jSPlugin.JS_Resize(d.jSPlugin.width,d.jSPlugin.height),n2&&d.setDecoderState({expend:!1}),T&&d.setDecoderState({webExpend:!1})),d.jSPlugin.Theme.Rec&&d.jSPlugin.Theme.Rec.recAutoSize()};if(["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(d2){window.addEventListener(d2,function(F2){return y2()})}),this.themeData.poster){this.jSPlugin.poster=this.themeData.poster;var o2=setInterval(function(){window.EZUIKit[d.jSPlugin.id].state.EZUIKitPlayer.init&&(clearInterval(o2),d.jSPlugin.setPoster(d.themeData.poster))},50)}this.inited=!0,this.getDeviceInfo()}},{key:"resetMobileZoomStatus",value:function(){if(this.isMobile){var d=document.getElementById("".concat(this.jSPlugin.id,"-zoom-container"));d&&d.style&&d.style.display!="none"&&(console.log("结束电子放大"),d.style.display="none"),this.jSPlugin.Zoom.resetZoom()}}},{key:"getDeviceInfo",value:function(){var d=this,f=function(b){b.code==200&&b.data&&(b.data.isEncrypt&&setTimeout(function(){d.pluginStatus.loadingClear(),d.pluginStatus.loadingSetText({text:"设备已加密",color:"red"})},1500),document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content"))&&(document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.maxWidth="100%",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.overflow="hidden",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.textOverflow="ellipsis",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).style.whiteSpace="nowrap",document.getElementById("".concat(d.jSPlugin.id,"-deviceName-content")).innerHTML=b.data.deviceName),document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content"))&&(document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.maxWidth="100%",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.overflow="hidden",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.textOverflow="ellipsis",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).style.whiteSpace="nowrap",document.getElementById("".concat(d.jSPlugin.id,"-deviceID-content")).innerHTML=S2(d.jSPlugin.url).deviceSerial))};C2(this.jSPlugin.env.domain+"/api/lapp/device/info","POST",{accessToken:this.jSPlugin.accessToken,deviceSerial:S2(this.jSPlugin.url).deviceSerial},"",f)}},{key:"editStart",value:function(d){var f=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),y=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));y&&y.setAttribute("class","header-controls themeEditing"),f&&f.setAttribute("class","footer-controls themeEditing"),this.setDecoderState({isEditing:!0})}},{key:"editEnd",value:function(d){var f=document.getElementById("".concat(this.jSPlugin.id,"-audioControls")),y=document.getElementById("".concat(this.jSPlugin.id,"-headControl"));y&&y.setAttribute("class","header-controls"),f&&f.setAttribute("class","footer-controls"),this.setDecoderState({isEditing:!1})}},{key:"webExpend",value:function(){var d=this,f=this.decoderState.state;f.webExpend;var y=f.expend,b=f.play;if(!b)return!1;if(y)return console.log("正在全局全屏"),!1;console.log("执行网页全屏");var _=0,M=0,a2=U(document.getElementById("".concat(this.jSPlugin.id,"-wrap")));a2.then(function(Z){console.log("全屏promise",window.screen.width),document.getElementById("".concat(d.jSPlugin.id,"-canvas-container"))&&(_=parseInt(window.getComputedStyle(document.getElementById("".concat(d.jSPlugin.id,"-canvas-container"))).height,10)),document.getElementById("".concat(d.jSPlugin.id,"-headControl"))&&(M=parseInt(window.getComputedStyle(document.getElementById("".concat(d.jSPlugin.id,"-headControl"))).height,10)),console.log("this.jSPlugin.JS_Resiz",_,M,document.body.clientWidth),d.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height-_-M)}).catch(function(Z){console.log(Z)})}},{key:"expend",value:function(){var d=this,f=this.decoderState.state,y=f.webExpend;f.expend;var b=f.play;if(f.pantile,!b)return!1;if(y)return console.log("正在网站全屏"),!1;if(console.log("执行全局全屏"),this.isMobile){var _=parseInt(getComputedStyle(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))).height,10)-parseInt(getComputedStyle(document.getElementById(this.jSPlugin.id)).height,10);I(document.getElementById("".concat(this.jSPlugin.id,"-wrap"))),setTimeout(function(){var a2=document.documentElement.clientWidth,Z=document.documentElement.clientHeight;document.getElementById("".concat(d.jSPlugin.id)).style["backface-visibility"]="hidden",d.jSPlugin.jSPlugin.JS_Resize(Z,a2-_)},100)}else{var M=U(document.getElementById("".concat(this.jSPlugin.id)));M.then(function(a2){d.jSPlugin.jSPlugin.JS_Resize(window.screen.width,window.screen.height)}).catch(function(a2){console.log(a2)})}}}]),O}();Date.prototype.Format=function(O){var N={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(O)&&(O=O.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(var d in N)new RegExp("("+d+")").test(O)&&(O=O.replace(RegExp.$1,RegExp.$1.length==1?N[d]:("00"+N[d]).substr((""+N[d]).length)));return O};var _2=function(){function O(N,d){if(a(this,O),this.params=N,this.state={},this.jsPlugin=d,this.url="https://log.ys7.com/statistics.do?",N.env)switch(N.env){case"test12":this.url="https://test12dclog.ys7.com/statistics.do?";break;case"online":break;default:this.url=N.env;break}}return r(O,[{key:"uuid",value:function(){for(var d=[],f="0123456789abcdef",y=0;y<36;y++)d[y]=f.substr(Math.floor(Math.random()*16),1);d[14]="4",d[19]=f.substr(d[19]&3|8,1),d[8]=d[13]=d[18]=d[23]="-";var b=d.join("");return b}},{key:"dclog",value:function(d){var f=this.url,y=Object.assign({},{systemName:"open_website_monitor"},{bn:"ezuikit-js"},d,{un:d.url},{st:new Date().getTime(),h:window.location.pathname});Object.keys(y).forEach(function(_,M){var a2=y[_];typeof y[_]=="string"&&(a2=y[_].replace("%","%25")),typeof y[_]!="undefined"&&(f+="".concat(M===0?"":"&").concat(_,"=").concat(encodeURIComponent(a2)))});var b=new Image;b.src=f}},{key:"localInfoLog",value:function(d){var f=this.url,y=window.location.protocol+"//"+window.location.host,b={systemName:"open_netstream_localinfo",Ver:"v6.0.0",PlatAddr:y,ExterVer:"v6.0.0",OpId:this.uuid(),CltType:102,AppId:"",playurl:encodeURIComponent(this.jsPlugin.url),StartTime:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),OS:navigator.platform};b=Object.assign(b,d),Object.keys(b).forEach(function(M,a2){var Z=b[M];typeof b[M]=="string"&&(Z=b[M].replace("%","%25")),typeof b[M]!="undefined"&&(f+="".concat(a2===0?"":"&").concat(M,"=").concat(encodeURIComponent(Z)))});var _=new Image;_.src=f}},{key:"playLog",value:function(d){var f=this.url,y=f,b={systemName:"open_netstream_play_main",playurl:encodeURIComponent(this.jsPlugin.url),Time:new Date().Format("yyyy-MM-dd hh:mm:ss.S"),Via:2,OpId:this.uuid()};b=Object.assign(b,d),Object.keys(b).forEach(function(M,a2){var Z=b[M];typeof b[M]=="string"&&(Z=b[M].replace("%","%25")),typeof b[M]!="undefined"&&(y+="".concat(a2===0?"":"&").concat(M,"=").concat(encodeURIComponent(Z)))});var _=new Image;_.src=y}}]),O}();(function(O,N){n(t)==="object"&&n(t.exports)==="object"?t.exports=O.document?N(O,!0):function(d){if(!d.document)throw new Error("EZUIPlayer requires a window with a document");return N(d)}:N(O)})(typeof window!="undefined"?window:void 0,function(O,N){var d;function f(J,Y){for(var k2=document.getElementsByTagName("head")[0].getElementsByTagName("script"),y2=!1,o2=0;o20&&(Y2=Y.controls.join(","),N2+="&controls="+Y2)),Y.websocketParams&&(N2+="&websocketParams="+JSON.stringify(Y.websocketParams)),N2;case"standard":return M+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+W.opt.url.replace("?","&")+"&autoplay="+W.opt.autoplay+"&audio="+W.opt.audio+"&accessToken="+Y.accessToken+"&templete=1&id="+k2+"&decoderVersion="+W.opt.decoderVersion;case"security":return M+"/ezopen/h5/iframe_se?bSupporDoubleClickFull=0&url="+W.opt.url.replace("?","&")+"&autoplay="+W.opt.autoplay+"&audio="+W.opt.audio+"&accessToken="+Y.accessToken+"&templete=0&id="+k2+"&decoderVersion="+W.opt.decoderVersion;case"theme":return N2=M+"/jssdk/theme.html?url=".concat(Y.url,"&accessToken=").concat(Y.accessToken,"&id=").concat(k2,"&isMobile=").concat(Y.isMobile),typeof Y.isMobile!="undefined"&&(N2+="&isMobile="+Y.isMobile),typeof Y.autoplay!="undefined"&&(N2+="&autoplay="+Y.autoplay),typeof Y.domain!="undefined"&&Y.domain=="https://test12open.ys7.com"&&(N2+="&env=test12"),typeof Y.env!="undefined"&&typeof Y.env.domain!="undefined"&&Y.env.domain=="https://test12open.ys7.com"&&(N2+="&env=test12"),typeof Y.header!="undefined"&&(N2+="&header="+Y.header),N2;default:return M+"/ezopen/h5/iframe?bSupporDoubleClickFull=0&url="+W.opt.url.replace("?","&")+"&autoplay="+W.opt.autoplay+"&audio="+W.opt.audio+"&accessToken="+Y.accessToken+"&templete=0&id="+k2+"&decoderVersion="+W.opt.decoderVersion}}o2.src=d2();var F2=document.getElementById(k2).offsetHeight,n2=document.getElementById(k2).offsetWidth;Y.height&&(F2=parseInt(Y.height),/\%$/.test(Y.height)&&(n2=document.getElementById(k2).offsetWidth*(parseInt(Y.height)/100))),Y.width&&(n2=parseInt(Y.width),/\%$/.test(Y.width)&&(n2=document.getElementById(k2).offsetWidth*(parseInt(Y.width)/100))),o2.width=n2,o2.height=F2,o2.id="EZUIKitPlayer-"+k2,o2.setAttribute("allowfullscreen",!0),o2.setAttribute("allow","autoplay"),o2.setAttribute("frameborder",0),y2.appendChild(o2);var T=W.opt.filePath+"/js/jquery.js",D="https://open.ys7.com/assets/layer/layer.js";f(T,function(){f(D,function(){if(a1().headerContainer){var N2=document.createElement("div");N2.setAttribute("class","panel-top");var Y2=document.createElement("div");if(Y2.setAttribute("class","contros"),N2.appendChild(Y2),y2.insertBefore(N2,o2),a1().capturePictureModule){var W2=document.createElement("span");W2.innerHTML=' ',W2.onclick=function(){W.capturePicture()},Y2.appendChild(W2)}if(console.log("matchHeaderOpt().saveModule",a1().saveModule),a1().saveModule){var a3=document.createElement("span");a3.innerHTML=' ',a3.onclick=function(){W.startSave(),document.getElementById("startSave").setAttribute("class","icon hide"),document.getElementById("stopSave").setAttribute("class","icon")},Y2.appendChild(a3);var w3=document.createElement("span");w3.innerHTML=' ',w3.onclick=function(){W.stopSave(),document.getElementById("stopSave").setAttribute("class","icon hide"),document.getElementById("startSave").setAttribute("class","icon")},Y2.appendChild(w3)}if(a1().zoomModule){var v3=document.createElement("span");v3.innerHTML=' ',v3.onclick=function(){W.enableZoom(),document.getElementById("enableZoom").setAttribute("class","icon hide"),document.getElementById("closeZoom").setAttribute("class","icon")},Y2.appendChild(v3);var f3=document.createElement("span");f3.innerHTML=' ',f3.onclick=function(){W.closeZoom(),document.getElementById("closeZoom").setAttribute("class","icon hide"),document.getElementById("enableZoom").setAttribute("class","icon")},Y2.appendChild(f3)}}function v1(){var L2={footerContainer:!1,talkModule:!1,broadcastModule:!1,hdModule:!1,fullScreenModule:!1},U2=W.opt.template;switch(U2){case"simple":if(Y.footer&&Y.footer instanceof Array){var J2=Y.footer;L2={footerContainer:!0,talkModule:J2.indexOf("talk")!==-1,broadcastModule:J2.indexOf("broadcast")!==-1,hdModule:J2.indexOf("hd")!==-1,fullScreenModule:J2.indexOf("fullScreen")!==-1}}break;case"standard":if(Y.footer&&Y.footer instanceof Array){var J2=Y.footer;L2={footerContainer:!0,talkModule:J2.indexOf("talk")!==-1,broadcastModule:J2.indexOf("broadcast")!==-1,hdModule:J2.indexOf("hd")!==-1,fullScreenModule:J2.indexOf("fullScreen")!==-1}}break;case"security":break;case"voice":L2={footerContainer:!0,talkModule:!0,broadcastModule:!0,hdModule:!0,fullScreenModule:!0};break}return L2}function a1(){var L2={headerContainer:!1,capturePictureModule:!1,saveModule:!1,zoomModule:!1},U2=W.opt.template;switch(U2){case"simple":if(Y.header&&Y.header instanceof Array){var J2=Y.header;L2={headerContainer:!0,capturePictureModule:J2.indexOf("capturePicture")!==-1,saveModule:J2.indexOf("save")!==-1,zoomModule:J2.indexOf("zoom")!==-1}}break;case"standard":break;case"security":break;case"voice":L2={headerContainer:!0,capturePictureModule:!0,saveModule:!0,zoomModule:!0};break}return L2}if(v1().footerContainer||W.opt.plugin.indexOf("talk")!==-1){var w1=W.opt.filePath+"/npm/css/recoder.css",T1=W.opt.filePath+"/npm/js/recoder.js",N1=W.opt.filePath+"/recorder.js";if(y(w1,function(){}),f(T1,function(){f(N1,function(){})}),W.opt.plugin.indexOf("talk")!==-1||v1().talkModule){var L=function(U2){if(console.log("data",U2),U2.code==200){var J2=U2.data;if(J2){var M3=J2.rtcUrl;M3.indexOf("ws")===-1&&(M3=M3.replace("https","wss").replace("rtcgw","rtcgw-ws")),W.opt.rtcUrl=M3,W.opt.ttsUrl="tts://"+J2.ttsUrl;var u1="talk://"+W.opt.deviceSerial+":0:"+W.opt.channelNo+":cas.ys7.com:6500";if(W.opt.talkLink=W.opt.ttsUrl+"/"+u1,W.opt.stream=J2.stream,console.log("_this.opt",W.opt),!W.opt.isReliesReady){var V=W.opt.filePath+"/npm/js/adapeter.js",w2=W.opt.filePath+"/npm/js/janus.js",E2=W.opt.filePath+"/npm/js/tts.js";console.log("加载jquery.js"),f(V,function(){console.log("加载adapeter.js"),f(w2,function(){console.log("加载janus.js"),f(E2,function(){console.log("加载tts.js"),W.opt.isReliesReady=!0})})},function(){return!!O.adapter})}if(!document.getElementById("audioleft")){var I2=document.createElement("div");I2.style.display="none",I2.id="audioleft",document.body.appendChild(I2)}if(!document.getElementById("audioright")){var u2=document.createElement("div");u2.style.display="none",u2.id="audioright",document.body.appendChild(u2)}}}_.opt=W.opt,O.EZUIKit&&(O.EZUIKit.opt=W.opt)};b(W.opt.apiDomain,"POST",{accessToken:W.opt.accessToken,deviceSerial:W.opt.deviceSerial,channelNo:W.opt.channelNo},"",L)}if(v1().footerContainer){var q=function(U2,J2){if(clearInterval(_.state.countTimer),U2==="add"){var M3=J2;_.state.countTimer=setInterval(function(){++M3,document.getElementById("time-area").innerHTML=u1(M3)},1e3)}else if(U2==="sub"){var M3=J2;_.state.countTimer=setInterval(function(){M3>0?(M3--,document.getElementById("time-area").innerHTML=u1(M3)):(clearInterval(_.state.countTimer),_.state.countTimer=void 0,console.log("倒计时结束,开启声音"))},1e3)}else U2==="destory"&&(clearInterval(_.state.countTimer),_.state.countTimer=void 0,document.getElementById("time-area").innerHTML="00:00");function u1(V){var w2=parseInt(V),E2=0,I2=0,u2="00",t3="00",z2="00";return w2>59&&(E2=parseInt(w2/60),w2=parseInt(w2%60),E2>59&&(I2=parseInt(E2/60),E2=parseInt(E2%60))),u2=parseInt(w2)>9?parseInt(w2):"0"+parseInt(w2),t3=parseInt(E2)>9?parseInt(E2):"0"+parseInt(E2),z2=parseInt(I2)>9?parseInt(I2):"0"+parseInt(I2),I2>0?z2+":"+t3+":"+u2:E2>0?t3+":"+u2:"00:"+u2}},F=document.createElement("div");if(F.setAttribute("class","audio-controls"),y2.appendChild(F),v1().hdModule||v1().fullScreenModule){var r2=document.createElement("div");if(r2.setAttribute("class","contros"),F.appendChild(r2),v1().hdModule){var p2=document.createElement("span");p2.setAttribute("id","video-hd"),p2.innerHTML=W.opt.url.indexOf(".hd")===-1?"标清":"高清",p2.onclick=function(){if(W.opt.videoLoading)return layer.msg("视频加载中,请稍后"),!1;var L2=W.stop();W.opt.videoLoading=!0,L2.then(function(U2){W.opt.videoLoading=!1,W.opt.url.indexOf(".hd")===-1?(W.opt.url=W.opt.url.replace(".live",".hd.live"),p2.innerHTML=W.opt.url.indexOf(".hd")===-1?"标清":"高清"):(W.opt.url=W.opt.url.replace(".hd.live",".live"),p2.innerHTML=W.opt.url.indexOf(".hd")===-1?"标清":"高清"),W.play(W.opt.url)}).catch(function(U2){console.log("error",U2)})},r2.appendChild(p2)}if(v1().fullScreenModule){var f2=document.createElement("span");f2.setAttribute("class","hide"),f2.setAttribute("id","ezuikit-open-sound"),f2.setAttribute("title","打开声音"),f2.setAttribute("style","vertical-align: top;"),f2.innerHTML='',f2.onclick=function(){W.openSound(0),f2.setAttribute("class","hide"),r3.setAttribute("class","")};var r3=document.createElement("span");f2.setAttribute("id","ezuikit-close-sound"),r3.setAttribute("class","hide"),r3.setAttribute("title","关闭声音"),r3.setAttribute("style","vertical-align: top;"),r3.innerHTML='',r3.onclick=function(){W.closeSound(0),f2.setAttribute("class",""),r3.setAttribute("class","hide")},r2.appendChild(f2),r2.appendChild(r3)}if(W.opt.audio==1?r3.setAttribute("class",""):(f2.setAttribute("class",""),W.closeSound(0)),v1().fullScreenModule){var N3=document.createElement("span");N3.setAttribute("title","全屏"),N3.setAttribute("style","vertical-align: top;"),N3.innerHTML=' ',N3.onclick=function(){W.fullScreen()},r2.appendChild(N3)}}if(v1().talkModule){var K=document.createElement("div"),m2=document.createElement("div");K.setAttribute("class","ptp-talk off"),K.innerHTML=' 开启对讲',K.onclick=function(){if(console.log("EZUIKit.state.countTimer",_.state.countTimer),_.state.countTimer)return O.layer.msg("语音设备正忙,请稍后重试"),!1;q("add",0),console.log("开始对讲,关闭声音"),W.closeSound(0),console.log(W.opt),W.startTalk(),this.setAttribute("class","ptp-talk off hide"),m2.setAttribute("class","ptp-talk on")},m2.setAttribute("class","ptp-talk on hide"),m2.innerHTML=' 关闭对讲',m2.onclick=function(){console.log(W.opt),W.stopTalk(),q("destory",0),W.openSound(0),this.setAttribute("class","ptp-talk on hide"),K.setAttribute("class","ptp-talk off")},F.appendChild(K),F.appendChild(m2)}if(v1().broadcastModule){var R2=function L2(U2){function J2(M3){console.log("data",M3),M3.code==200&&(q2(M3.data,5),_.state.page=M3.page.page,U2==0&&M3.data.length==0&&!_.state.fetchDefaultList&&(_.state.fetchDefaultList=!0,L2(0)))}b(M+"/api/lapp/voice/query","POST",{accessToken:W.opt.accessToken,pageStart:U2,pageSize:_.state.pageSize,default:_.state.fetchDefaultList?"true":"false"},"",J2)},q2=function(U2){if(console.log("renderVoliceList",U2),U2&&U2.length>0){for(var J2=0;J2"+(U2[J2].voiceName.length>10?U2[J2].voiceName.substr(0,10)+"...":U2[J2].voiceName)+"",document.getElementsByClassName("voice-list-ul")[0].append(M3),M3.onclick=function(u1){console.log("点击元素",u1.target,u1.target.dataset.url);var V=u1.target.dataset.url,w2=u1.target.dataset.time;X3(V,w2)}}U2.length===_.state.pageSize?document.getElementById("voice-list-end").innerHTML="向下滚动加载更多":document.getElementById("voice-list-end").innerHTML="没有更多数据了"}},X3=function(U2,J2){console.log("播放语音",U2,J2);function M3(u1){console.log("data.data",u1.data),u1.code==200?q("sub",parseInt(J2)):u1.code=="10001"?O.layer.msg("未找到当前语音"):O.layer.msg(u1.msg||"发送失败,请稍后再试")}b(M+"/api/lapp/voice/send","POST",{accessToken:W.opt.accessToken,deviceSerial:W.opt.deviceSerial,channelNo:W.opt.channelNo,fileUrl:U2},"",M3)},p1=document.createElement("div"),B=document.createElement("div");p1.setAttribute("class","broadcast off"),B.setAttribute("class","broadcast on hide"),p1.innerHTML=' 语音播报',p1.onclick=function(){this.setAttribute("class","broadcast off hide"),B.setAttribute("class","broadcast on")},B.innerHTML='
    自定义语音
    语音播报',B.onclick=function(){this.setAttribute("class","broadcast on hide"),p1.setAttribute("class","broadcast off")},F.appendChild(p1),F.appendChild(B),document.getElementById("voice-custom").onclick=function(){console.log("显示自定义语音"),H.setAttribute("class","speak off")},R2(0);var H=document.createElement("div"),S=document.createElement("div");H.setAttribute("class","speak off hide"),S.setAttribute("class","speak on hide"),H.setAttribute("id","startSpeak"),S.setAttribute("id","stopSpeak"),H.innerHTML=' 按住说话',S.innerHTML=' 松开发送',F.appendChild(H),F.appendChild(S),document.getElementById("voice-list").onscroll=function(L2){var U2=this.scrollHeight;console.log("sum",U2,this.scrollTop,document.getElementById("voice-list").clientHeight),U2<=this.scrollTop+this.clientHeight&&(console.log("拖动到底,执行加载",_.state.page),R2(++_.state.page))};var E=document.createElement("div");E.setAttribute("class","time-area"),E.setAttribute("id","time-area"),E.innerHTML="00:00",F.appendChild(E);var c2;document.getElementById("startSpeak").onmousedown=function(){if(_.state.countTimer)return O.layer.msg("语音设备正忙,请稍后重试"),!1;console.log("按住说话"),H.setAttribute("class","speak off hide"),S.setAttribute("class","speak on"),M3(),q("add",0),setTimeout(function(){_.state.recodeTime=0,J2()},1e3),_.state.recodeTimer&&clearInterval(_.state.recodeTimer),_.state.recodeTimer=setInterval(function(){_.state.recodeTime>=59?(W.stopTalk(),q("destory",0),this.setAttribute("class","ptp-talk on hide"),K.setAttribute("class","ptp-talk off"),O.layer.msg("不超过1分钟")):_.state.recodeTime=_.state.recodeTime+1},1e3);var L2;function U2(u1){var V=L2.createMediaStreamSource(u1);c2=new O.Recorder(V)}function J2(){c2&&c2.record()}function M3(){console.log("run init");try{O.AudioContext=O.AudioContext||O.webkitAudioContext,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia,O.URL=O.URL||O.webkitURL,L2=new AudioContext,console.log("Audio context set up."),console.log("navigator.getUserMedia "+(navigator.getUserMedia?"available.":"not present!"))}catch(u1){console.log("err",u1),O.layer.msg("No web audio support in this browser!")}navigator.getUserMedia({audio:!0},U2,function(u1){console.log("No live audio input: "+u1)})}},document.getElementById("stopSpeak").onmouseup=function(){console.log("松开发送"),S.setAttribute("class","speak on hide"),L2();function L2(){if(q("destory",0),_.state.recodeTime<1)return O.layer.msg("说话时间过短"),clearInterval(_.state.recodeTimer),!1;clearInterval(_.state.recodeTimer),U2()}function U2(){try{c2&&c2.stop(),c2&&c2.exportWAV(function(J2){if(console.log("wav_file",J2),J2.size<1e3)return O.layer.msg("录音失败,请重试"),_.state.recodeTime=0,!1;q("sub",_.state.recodeTime+2);var M3=new FormData;M3.append("voiceFile",J2),M3.append("accessToken",W.opt.accessToken),M3.append("deviceSerial",W.opt.deviceSerial),M3.append("channelNo",W.opt.channelNo);function u1(w2){console.log("data.data",w2.data),w2.code==200?q("sub",_.state.recodeTime+2):w2.code=="10001"?O.layer.msg("未找到当前语音"):O.layer.msg(w2.msg||"发送失败,请稍后再试")}function V(w2){console.log("err",w2)}b(M+"/api/lapp/voice/sendonce","POST",{voiceFile:J2,accessToken:W.opt.accessToken,deviceSerial:W.opt.deviceSerial,channelNo:W.opt.channelNo},"",u1,V)}),c2&&c2.clear()}catch(J2){console.log(J2)}}}}}}})});var W=this;O.addEventListener("message",function(N2){N2.origin;var Y2=W.opt.id;if(N2.data.type)switch(N2.data.type){case"openSound":Y2==N2.data.id&&Y.openSoundCallBack&&Y.openSoundCallBack(N2.data);break;case"closeSound":Y2==N2.data.id&&Y.closeSoundCallBack&&Y.closeSoundCallBack(N2.data);break;case"capturePicture":Y2==N2.data.id&&Y.capturePictureCallBack&&Y.capturePictureCallBack(N2.data);break;case"startSave":Y2==N2.data.id&&Y.startSaveCallBack&&Y.startSaveCallBack(N2.data);break;case"stopSave":Y2==N2.data.id&&Y.stopSaveCallBack&&Y.stopSaveCallBack(N2.data);break;case"fullScreen":Y2==N2.data.id&&Y.fullScreenCallBack&&Y.fullScreenCallBack(N2.data);break;case"getOSDTime":Y2==N2.data.id&&Y.getOSDTimeCallBack&&Y.getOSDTimeCallBack(N2.data);break;case"handleSuccess":Y2==N2.data.id&&Y.handleSuccess&&Y.handleSuccess(N2.data);break;case"handleError":Y2==N2.data.id&&Y.handleError&&Y.handleError(N2.data);break;case"dblclick":Y2==N2.data.id&&W.opt.bSupporDoubleClickFull&&(W.opt.fullScreenStatus===0?W.fullScreen():W.cancelFullScreen());break;case"startTalk":W.startTalk(),W.closeSound();break;case"stopTalk":W.stopTalk(),W.openSound();break;case"clickEventHandle":console.log("event.data",N2.data),Y.clickEventHandle&&Y.clickEventHandle(N2.data);break;case"removeEventHandle":Y.removeEventHandle&&Y.removeEventHandle(N2.data);break;case"esc":Y.clickEventHandle&&Y.clickEventHandle(N2.data);break;case"iframeFullScreen":if(Y2==N2.data.id){var W2=function(w3){var v3=w3.requestFullScreen||w3.webkitRequestFullScreen||w3.mozRequestFullScreen||w3.msRequestFullScreen;if(v3)v3.call(w3);else if(typeof O.ActiveXObject!="undefined"){var f3=new ActiveXObject("WScript.Shell");f3!==null&&f3.SendKeys("{F11}")}};W2(document.getElementById("EZUIKitPlayer-"+N2.data.id))}break}});function x2(N2){W.opt.fullScreenStatus=N2?1:0,Y.fullScreenChangeCallBack&&Y.fullScreenChangeCallBack({data:N2,id:W.opt.id})}typeof document.fullScreen!="undefined"?document.addEventListener("fullscreenchange",function(){var N2=document.fullscreen||!1;x2(N2)}):typeof document.webkitIsFullScreen!="undefined"?document.addEventListener("webkitfullscreenchange",function(){var N2=document.webkitIsFullScreen||!1;x2(N2)}):typeof document.mozFullScreen!="undefined"&&document.addEventListener("mozfullscreenchange",function(){var N2=document.mozFullScreen||!1;x2(N2)})};Z.prototype.play=function(J){var Y="EZUIKitPlayer-"+this.opt.id,k2=document.getElementById(Y).contentWindow;n(J)==="object"&&J.url&&(this.opt.url=J.url),n(J)==="object"&&J.accessToken&&(this.opt.accessToken=J.accessToken),typeof J=="string"&&(this.opt.url=J),k2.postMessage({action:"play",accessToken:this.opt.accessToken,url:this.opt.url},M+"/ezopen/h5/iframe");var y2=this;this.opt.videoLoading=!0;var o2=new Promise(function(d2,F2){O.addEventListener("message",function(n2){var T=y2.opt.id;T==n2.data.id&&n2.data.type==="handleSuccess"&&(setTimeout(function(){y2.opt.videoLoading=!1},1e3),d2(n2.data))})});return o2},Z.prototype.stop=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("stop",M+"/ezopen/h5/iframe");var k2=this,y2=new Promise(function(o2,d2){O.addEventListener("message",function(F2){var n2=k2.opt.id;n2==F2.data.id&&F2.data.type==="stop"&&o2(F2.data)})});return y2},Z.prototype.openSound=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("openSound",M+"/ezopen/h5/iframe");var k2=this,y2=new Promise(function(o2,d2){O.addEventListener("message",function(F2){var n2=k2.opt.id;n2==F2.data.id&&F2.data.type==="openSound"&&o2(F2.data)})});return y2},Z.prototype.closeSound=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("closeSound",M+"/ezopen/h5/iframe");var k2=this,y2=new Promise(function(o2,d2){O.addEventListener("message",function(F2){var n2=k2.opt.id;n2==F2.data.id&&F2.data.type==="closeSound"&&o2(F2.data)})});return y2},Z.prototype.startSave=function(J){var Y="EZUIKitPlayer-"+this.opt.id,k2=document.getElementById(Y).contentWindow;k2.postMessage({action:"startSave",fileName:J||"default"},M+"/ezopen/h5/iframe");var y2=this,o2=new Promise(function(d2,F2){O.addEventListener("message",function(n2){var T=y2.opt.id;T==n2.data.id&&n2.data.type==="startSave"&&d2(n2.data)})});return o2},Z.prototype.stopSave=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("stopSave",M+"/ezopen/h5/iframe");var k2=this,y2=new Promise(function(o2,d2){O.addEventListener("message",function(F2){var n2=k2.opt.id;n2==F2.data.id&&F2.data.type==="stopSave"&&o2(F2.data)})});return y2},Z.prototype.fullScreen=function(){if(this.opt.fullScreenStatus===1)return!1;var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var k2=document.documentElement.clientWidth,y2=document.documentElement.clientHeight,o2=document.body;o2=document.getElementById(J);var d2="";d2+="width:"+y2+"px;",d2+="height:"+k2+"px;",d2+="-webkit-transform: rotate(90deg); transform: rotate(90deg);",d2+="-webkit-transform-origin: "+k2/2+"px "+k2/2+"px;",d2+="transform-origin: "+k2/2+"px "+k2/2+"px;",d2+="position: fixed;top: 0;left: 0;z-index:10",o2.style.cssText=d2,setTimeout(function(){Y.postMessage("autoResize",M+"/ezopen/h5/iframe")},500)}else{var F2=function(T){var D=T.requestFullScreen||T.webkitRequestFullScreen||T.mozRequestFullScreen||T.msRequestFullScreen;if(D)D.call(T);else if(typeof O.ActiveXObject!="undefined"){var W=new ActiveXObject("WScript.Shell");W!==null&&W.SendKeys("{F11}")}};F2(document.getElementById(J))}this.params.fullScreenCallBack&&this.params.fullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=1},Z.prototype.cancelFullScreen=function(){if(this.opt.fullScreenStatus===0)return!1;var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){var k2=document.getElementById(J).width,y2=document.getElementById(J).height,o2=document.body;o2=document.getElementById(J);var d2="";d2+="width:"+k2+"px;",d2+="height:"+y2+"px;",d2+="-webkit-transform: none; transform: none;",d2+="-webkit-transform-origin: 0 0;",d2+="transform-origin: 0 0;",o2.style.cssText=d2,setTimeout(function(){Y.postMessage("autoResize",M+"/ezopen/h5/iframe")},500);var F2=J+"cancel-full-screen",n2=document.getElementById(F2);n2&&document.body.removeChild(n2)}else document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.mozCancelFullScreen&&document.mozCancelFullScreen();this.params.cancelFullScreenCallBack&&this.params.cancelFullScreenCallBack(this.opt.id),this.opt.fullScreenStatus=0},Z.prototype.capturePicture=function(J,Y){var k2="EZUIKitPlayer-"+this.opt.id,y2=document.getElementById(k2).contentWindow;y2.postMessage({action:"capturePicture",fileName:J||"default",isUndownload:Y},M+"/ezopen/h5/iframe");var o2=this,d2=new Promise(function(F2,n2){O.addEventListener("message",function(T){var D=o2.opt.id;D==T.data.id&&T.data.type==="capturePicture"&&F2(T.data)})});return d2},Z.prototype.enableZoom=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("enableZoom",M+"/ezopen/h5/iframe")},Z.prototype.closeZoom=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("closeZoom",M+"/ezopen/h5/iframe")},Z.prototype.getOSDTime=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("getOSDTime",M+"/ezopen/h5/iframe");var k2=this,y2=new Promise(function(o2,d2){O.addEventListener("message",function(F2){var n2=k2.opt.id;n2==F2.data.id&&F2.data.type==="getOSDTime"&&o2(F2.data)})});return y2},Z.prototype.autoResize=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("autoResize",M+"/ezopen/h5/iframe")},Z.prototype.reSize=function(J,Y){var k2="EZUIKitPlayer-"+this.opt.id,y2=document.getElementById(k2).contentWindow,o2=document.getElementById(this.opt.id);o2.style.width=J+"px",o2.style.height=Y+"px",document.getElementById(this.opt.id).style.width=J+"px",document.getElementById(this.opt.id).style.height=Y+"px";var d2=document.getElementById(k2);d2.setAttribute("width",J),d2.setAttribute("height",Y),d2.style.width=J+"px",d2.style.height=Y+"px",setTimeout(function(){y2.postMessage({action:"autoResize"},M+"/ezopen/h5/iframe")},500)},Z.prototype.startTalk=function(){console.log("执行开始对讲"),console.log(this.opt);var J=this;_.opt=this.opt,O.EZUIKit&&(O.EZUIKit.opt=this.opt);var Y=function(y2){if(y2.code==200){var o2=y2.data;if(o2){var d2=o2.rtcUrl;d2.indexOf("ws")===-1&&(d2=d2.replace("https","wss").replace("rtcgw","rtcgw-ws")),J.opt.rtcUrl=d2,J.opt.ttsUrl="tts://"+o2.ttsUrl;var F2="talk://"+J.opt.deviceSerial+":0:"+J.opt.channelNo+":cas.ys7.com:6500";J.opt.talkLink=J.opt.ttsUrl+"/"+F2,J.opt.stream=o2.stream,O.startTalk()}}};b(J.opt.apiDomain,"POST",{accessToken:J.opt.accessToken,deviceSerial:J.opt.deviceSerial,channelNo:J.opt.channelNo},"",Y)},Z.prototype.stopTalk=function(){console.log("执行结束对讲"),O.stopTalk()},Z.prototype.edit=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage("edit",M+"/ezopen/h5/iframe")},Z.prototype.btnReRender=function(J){var Y="EZUIKitPlayer-"+this.opt.id,k2=document.getElementById(Y).contentWindow;k2.postMessage({action:"btnReRender",data:J},M+"/ezopen/h5/iframe")},Z.prototype.changePlayUrl=function(J){J.deviceSerial&&(this.opt.deviceSerial=J.deviceSerial),J.channelNo&&(this.opt.channelNo=J.channelNo),J.accessToken&&(this.opt.accessToken=J.accessToken);var Y="EZUIKitPlayer-"+this.opt.id,k2=document.getElementById(Y).contentWindow;k2.postMessage({action:"changePlayUrl",data:J},M+"/ezopen/h5/iframe")},Z.prototype.fetchThemeData=function(){var J="EZUIKitPlayer-"+this.opt.id,Y=document.getElementById(J).contentWindow;Y.postMessage({action:"fetchThemeData"},M+"/ezopen/h5/iframe")},Z.prototype.setThemeData=function(J,Y,k2){var y2="EZUIKitPlayer-"+this.opt.id,o2=document.getElementById(y2).contentWindow;o2.postMessage({action:"setThemeData",data:{accessToken:J,header:Y,footer:k2}},M+"/ezopen/h5/iframe")},_.EZUIKitPlayer=Z,O.EZUIKitV3=_;var t2=_;return t2});var n3=EZUIKitV3,I3=function(N){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},y=void 0,b=void 0,_=void 0,M=[];return function(){var t2=F3(d),J=new Date().getTime(),Y=!y||J-y>t2;y=J;for(var k2=arguments.length,y2=Array(k2),o2=0;o2>>0)+"_",r3=0;return r2}),b("Symbol.iterator",function(F){if(F)return F;F=Symbol("Symbol.iterator");for(var r2="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),p2=0;p20&&y>0){var _=N.left/f,M=N.top/y,a2=N.right/f,Z=N.bottom/y;b=new Float32Array([a2,M,_,M,a2,Z,_,Z])}else b=new Float32Array([1,0,0,0,1,1,0,1]);var t2=this.texturePosBuffer;d.bindBuffer(d.ARRAY_BUFFER,t2),d.bufferSubData(d.ARRAY_BUFFER,0,b),d.bindBuffer(d.ARRAY_BUFFER,null)},O.prototype.SR_Destroy=function(){var N=this.contextGL,d=this.YUVProgram;N.deleteProgram(d);var f=this.vertexPosBuffer,y=this.texturePosBuffer;N.deleteBuffer(f),N.deleteBuffer(y);var b=this.yTextureRef,_=this.uTextureRef,M=this.vTextureRef;N.deleteTexture(b),N.deleteTexture(_),N.deleteTexture(M)},O});var A0="https://open.ys7.com",Q0="".concat(A0,"/console/ezuikit_static/v66/v2"),Ue="".concat(A0,"/console/ezuikit_static/v66/v1"),$e=function(N,d){var f=["theme","standard"],y=["pcLive","pcRec","mobileLive","mobileRec","noData","security","voice","simple"];if(typeof N=="undefined")return d.themeData?{templateType:"themeData",templateId:"themeData"}:{templateType:"local",templateId:""};if(typeof N=="string"){if(N.length===32)return{templateType:"remote",templateId:N};if(f.indexOf(N)!==-1)return N==="simple"&&typeof d.header=="undefined"&&typeof d.footer=="undefined"?{templateType:"local",templateId:""}:{templateType:"iframe",templateId:N};if(y.indexOf(N)!==-1)return{templateType:"local",templateId:N}}},f0=function(){var N=window.navigator.userAgent.toLowerCase(),d={sa:/version.*safari/.test(N),ch:/chrome/.test(N),ff:/gecko/.test(N)&&!/webkit/.test(N)},f=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);if(f)return!1;if(d.ch){var y=function(){for(var _=window.navigator.userAgent.split(" "),M="",a2=0;a2<_.length;a2++)/chrome/i.test(_[a2])&&(M=_[a2]);return M?Number(M.split("/")[1].split(".")[0]):!1};return y()>91&&!!window.SharedArrayBuffer}return!1},ct=function(){function O(N){var d=this;a(this,O),this.isStoping=!1;var f=N.autoplay,y=f===void 0?!0:f;if((N.template||N.themeData)&&(y=!1),this.params=N,this.autoplay=y,window.EZUIKit[N.id]={state:{EZUIKitPlayer:{init:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.init||!1,themeInit:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.themeInit||!1,talkInit:window.EZUIKit[N.id]&&window.EZUIKit[N.id].state&&window.EZUIKit[N.id].state.EZUIKitPlayer.talkInit||!1}}},$e(this.params.template,N).templateType!=="iframe"){this.Monitor=new _2({env:typeof N.disableMonitor!="undefined"&&N.disableMonitor?"test12":"online"},this),this.id=N.id,this.width=N.width,this.height=N.height,this.url=N.url,this.accessToken=N.accessToken,this.themeId=$e(N.template,N).templateId,this.id=N.id,this.audio=!0,this.poster=N.poster,this.speed=1,this.disabledTimeLine=!1,this.disabledPTZ=!1,this.enableSharedArrayBufferGuide=!1,this.capacity={},this.playTimer=null,this.env={domain:"https://open.ys7.com"};var b=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.isMobile=b,document.getElementById("".concat(this.id,"-wrap"))&&(document.getElementById("".concat(this.id,"-wrap")).innerHTML="",document.getElementById("".concat(this.id,"-wrap")).id=this.id),this.staticPath=f0()?Q0:Ue,typeof N.staticPath=="string"&&(N.staticPath.startsWith("http")?this.staticPath=N.staticPath:this.staticPath=window.location.protocol+"//"+window.location.host+N.staticPath,f0()?this.staticPath+="/v2":this.staticPath+="/v1"),typeof N.audio!="undefined"&&(this.audio=N.audio),typeof N.env!="undefined"&&(this.env=Object.assign(this.env,N.env)),typeof N.isMobile!="undefined"&&(this.isMobile=N.isMobile),typeof N.disabledTimeLine!="undefined"&&(this.disabledTimeLine=N.disabledTimeLine),typeof N.disabledPTZ!="undefined"&&(this.disabledPTZ=N.disabledPTZ),typeof N.enableSharedArrayBufferGuide!="undefined"&&(this.enableSharedArrayBufferGuide=N.enableSharedArrayBufferGuide);var _="".concat(this.staticPath,"/js/jsPluginV1-1.0.0.min.js"),M=function(){if(window.addPluginUrlIng=!0,f0())console.log("启用多线程解析视频"),_="".concat(d.staticPath,"/js/jsPluginV2-2.0.1.min.js");else{var t2=function(){for(var d2=navigator.userAgent.split(" "),F2="",n2=0;n20&&(_=Z.width),!d.height&&Z.height>0&&(a2=Z.height)}if(!document.getElementById("".concat(y,"-wrap"))){var t2=document.createElement("div");t2.id="".concat(y,"-wrap"),t2.style="display:inline-block;width:".concat(_,"px;position:relative;vertical-align: bottom;"),document.getElementById(y).parentNode.insertBefore(t2,document.getElementById(y)),document.getElementById(y).parentNode.removeChild(document.getElementById(y)),t2.innerHTML="
    "),document.getElementById(y).style="display:inline-block;width:".concat(_,"px;height:").concat(a2,"px;"),document.getElementById(y).style.verticalAlign="top"}this.themeId&&(this.Theme=new L1(this,d.id),window.EZUIKit[d.id].state.EZUIKitPlayer.themeInit=!0,this.Monitor.dclog({url:this.url,action:2,text:this.themeId}),typeof this.params.handleThemeChange=="function"&&(this.handleThemeChange=this.params.handleThemeChange));var J=new b3(this,y);this.Message=J;var Y=function(o2,d2){var F2;if(f0()){F2=new window.JSPluginV2({szId:y,iType:2,iWidth:_,iHeight:a2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:f.staticPath,oStyle:{border:"none",background:"#000000"}}),f.pluginStatus.loadingStart(y),f.pluginStatus.loadingSetText({text:"初始化播放器完成"}),F2.EventCallback={pluginErrorHandler:function(D,W,x2){if(console.log(D,W,x2),W===1003)console.log("断流"),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),F2.bPlay||(f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof f.params.handleError=="function"&&f.params.handleError({msg:"连接断开,请重试",retcode:1003,id:f.params.id,type:"handleError"});else if(x2.errorCode!=1){var N2=f.errorHander.matchErrorInfo(x2.errorCode),Y2="连接断开,请重试";N2&&N2.msg?Y2=N2.msg:N2&&N2.description&&(Y2=N2.description),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:Y2,color:"red"})}else f.pluginStatus.loadingClear(),f.Theme&&f.Theme.setDisabled(!1)},openStreamCallback:function(){console.log("开启取流"),f.openStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:224,d:f.openStreamTime-f.gotWsUrlTime,text:"openStream",isVersion2Available:f0()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),f.getStreamHeaderTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:225,d:f.getStreamHeaderTime-f.openStreamTime,text:"getStreamHeader",isVersion2Available:f0()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),f.getVideoStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:226,d:f.getVideoStreamTime-f.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:f0()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),f.appearFirstFrameTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:227,d:f.appearFirstFrameTime-f.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:f0()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),f.averageStreamSuccessTime=f.initSuccessTime-f.initTime+(f.gotWsUrlTime-f.startGetWsUrlTime)+(f.appearFirstFrameTime-f.openStreamTime),f.Monitor.dclog({url:f.url,action:228,d:f.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:f0()?1:0})}},f.env={domain:"https://open.ys7.com"},typeof d.env!="undefined"&&(f.env=Object.assign(f.env,d.env)),typeof d.handleTalkSuccess!="undefined"&&(f.handleTalkSuccess=d.handleTalkSuccess),typeof d.handleTalkError!="undefined"&&(f.handleTalkError=d.handleTalkError),f.errorHander=new W3,f.jSPlugin=F2;var n2=setInterval(function(){window.JSPlayerModuleLoaded&&(clearInterval(n2),typeof f.params.handleInitSuccess=="function"&&f.params.handleInitSuccess({retcode:0,id:f.params.id,type:"handleInitSuccess"}),o2({meta:{retcode:200,msg:"初始化成功"}}),d.url.indexOf("rec")!=-1&&f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec"))},50)}else F2=new window.JSPluginV1({szId:y,iType:2,iWidth:_,iHeight:a2,iMaxSplit:1,iCurrentSplit:1,szBasePath:"",staticPath:f.staticPath,oStyle:{border:"none",background:"#000000"}}),f.pluginStatus.loadingStart(y),f.pluginStatus.loadingSetText({text:"初始化播放器完成"}),F2.EventCallback={openStreamCallback:function(){console.log("开启取流---v1"),f.openStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:224,d:f.openStreamTime-f.gotWsUrlTime,text:"openStream",isVersion2Available:f0()?1:0})},getStreamHeaderCallback:function(){console.log("完成取流返回流头"),f.getStreamHeaderTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:225,d:f.getStreamHeaderTime-f.openStreamTime,text:"getStreamHeader",isVersion2Available:f0()?1:0})},getVideoStreamCallback:function(){console.log("返回视频流(首次)"),f.getVideoStreamTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:226,d:f.getVideoStreamTime-f.getStreamHeaderTime,text:"getVideoStream",isVersion2Available:f0()?1:0})},appearFirstFrameCallback:function(){console.log("出现首帧画面(播放成功)"),f.appearFirstFrameTime=new Date().getTime(),f.Monitor.dclog({url:f.url,action:227,d:f.appearFirstFrameTime-f.getStreamHeaderTime,text:"appearFirstFrame",isVersion2Available:f0()?1:0})},averageStreamSuccessCallback:function(){console.log("平均成功取流的出流耗时"),f.averageStreamSuccessTime=f.initSuccessTime-f.initTime+(f.gotWsUrlTime-f.startGetWsUrlTime)+(f.appearFirstFrameTime-f.openStreamTime),f.Monitor.dclog({url:f.url,action:228,d:f.averageStreamSuccessTime,text:"averageStreamSuccess",isVersion2Available:f0()?1:0})},loadEventHandler:function(){},zoomEventResponse:function(){},windowEventSelect:function(D){},pluginErrorHandler:function(D,W,x2){if(console.log(D,W,x2),W===1003)console.log("断流"),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),F2.bPlay||(f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:"连接断开,请重试",color:"red"})),typeof f.params.handleError=="function"&&f.params.handleError({msg:"连接断开,请重试",retcode:1003,id:f.params.id,type:"handleError"});else if(x2.errorCode!=1){var N2=f.errorHander.matchErrorInfo(x2.errorCode),Y2="连接断开,请重试";N2&&N2.msg?Y2=N2.msg:N2&&N2.description&&(Y2=N2.description),f.Theme.setDecoderState({play:!1}),f.pluginStatus.setPlayStatus({play:!1}),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:Y2,color:"red"})}else f.pluginStatus.loadingClear(),f.Theme&&f.Theme.setDisabled(!1)},windowEventOver:function(D){},windowEventOut:function(D){},windowEventUp:function(D){},windowFullCcreenChange:function(D){},firstFrameDisplay:function(D,W,x2){console.log(W,x2),F2.JS_SetCanFullScreen(!1)},performanceLack:function(){},mouseEvent:function(D,W,x2){}},f.env={domain:"https://open.ys7.com"},typeof d.env!="undefined"&&(f.env=Object.assign(f.env,d.env)),typeof d.handleTalkSuccess!="undefined"&&(f.handleTalkSuccess=d.handleTalkSuccess),typeof d.handleTalkError!="undefined"&&(f.handleTalkError=d.handleTalkError),f.errorHander=new W3,f.jSPlugin=F2,typeof f.params.handleInitSuccess=="function"&&f.params.handleInitSuccess({retcode:0,id:f.params.id,type:"handleInitSuccess"}),o2({meta:{retcode:200,msg:"初始化成功"}}),d.url.indexOf("rec")!=-1&&f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec")},k2=new Promise(Y);return k2}},{key:"_getRealUrlPromise",value:function(d,f){var y=this;console.log("获取播放地址 url => ".concat(f," ").concat(this.accessToken)),console.log("开始获取wsurl"),this.startGetWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:222,text:"startGetWsUrl",isVersion2Available:f0()?1:0});var b=this.env.domain;this.env&&(b=this.env.domain);var _=function(t2,J){var Y="",k2=b+"/api/lapp/live/url/ezopen",y2=new FormData;y2.append("ezopen",f),y2.append("isFlv",!1),y2.append("userAgent",window.navigator.userAgent),y2.append("isHttp",!1),y2.append("accessToken",d),fetch(k2,{method:"POST",body:y2}).then(function(o2){return o2.json()}).then(function(o2){if(o2.code==200||o2.retcode==0){var d2="",F2="";o2.ext&&o2.ext.token?(Y+=o2.data,F2=o2.ext.token,d2=o2.data):o2.data&&o2.data.token&&(Y+=o2.data.url,F2=o2.data.token,d2=o2.data.url);var n2=f.indexOf("live")!==-1?"live":"playback";n2==="live"?Y=Y+"&ssn="+F2+"&auth=1&biz=4&cln=100":Y=Y+"&ssn="+F2+"&auth=1&cln=100",console.log(Y);var T=p("checkCode",Y);if(T&&(typeof y.jSPlugin.decoderVersion!="undefined"&&y.jSPlugin.decoderVersion==="2.0"?y.validateCode=T:(console.log("设置密钥",T),y.jSPlugin.JS_SetSecretKey(0,T))),Y.indexOf("playback")!==-1){var D=p("begin",d2)||p("begin",f),W=p("end",d2)||p("end",f);if(D)Y=Y.replace("&begin="+p("begin",d2),"&begin="+M(D,"000000")),p("begin",Y)||(Y+="&begin="+M(D,"000000"));else{var x2=new Date;Y=Y+"&begin="+x2.Format("yyyyMMdd")+"T000000Z"}if(W?(Y=Y.replace("&end="+p("end",d2),"&end="+M(W,"235959")),p("end",Y)||(Y+="&end="+M(W,"235959"))):Y=Y+"&end="+M(p("begin",Y).substr(0,8),"235959"),p("stream",d2)||(Y=Y.replace("stream","&stream")),f.indexOf(".cloud")!==-1){var N2=function(T1){if(T1.code==200){var N1=[];if(T1.data&&T1.data.files&&T1.data.files.length>0){var L=T1.data.files,q=new Date().getTime(),F=T1.data.isAll;if(F){N1=f2(L);var r2=JSON.stringify(N1).replace("\\","");Y+="&recSlice="+r2.replace("\\","")+"&r="+Math.random(),t2(Y)}else{var p2=function r3(){function N3(K){if(K.data&&K.data.files&&K.data.files.length>0)if(K.data.isAll==!1)K.data.files&&(L=L.concat(K.data.files)),q=K.data.nextFileTime>0?K.data.nextFileTime:new Date().getTime(),r3();else{N1=f2(L);var m2=JSON.stringify(N1).replace("\\","");Y+="&recSlice="+m2.replace("\\","")+"&r="+Math.random(),t2(Y)}else{N1=f2(L);var m2=JSON.stringify(N1).replace("\\","");Y+="&recSlice="+m2.replace("\\","")+"&r="+Math.random(),t2(Y)}}f3.startTime=q,C2(v3,"POST",f3,"",N3)};p2()}}else J({retcode:-1,msg:"未找到录像片段"})}else J({retcode:-1,msg:"未找到录像片段"});function f2(r3){var N3=[];return r3.forEach(function(K,m2){N3.length==0||K.downloadPath!==N3[N3.length-1].downloadPath?N3.push({downloadPath:K.downloadPath,ownerId:K.ownerId,iStorageVersion:K.iStorageVersion,videoType:K.videoType,iPlaySpeed:0,startTime:K.startTime,endTime:K.endTime}):N3[N3.length-1].endTime=K.endTime}),N3}},Y2=a2(p("begin",Y)),W2=a2(p("end",Y)),a3=p("serial",Y),w3=p("chn",Y),v3=b+"/api/lapp/video/by/time",f3={accessToken:y.accessToken,recType:1,deviceSerial:a3,channelNo:w3,startTime:Y2,endTime:W2,version:"2.0"};C2(v3,"POST",f3,"",N2)}else if(f.indexOf("alarmId")!==-1){var v1=function(p2){if(p2.code==200){var f2=[];if(p2.data){f2=N3([p2.data]);var r3=JSON.stringify(f2).replace("\\","");Y+="&recSlice="+r3.replace("\\",""),console.log("realUrl",Y,p2.data.recType),p2.data.recType==1?Y=Y.replace("/playback","/cloudplayback"):Y=Y.replace("/cloudplayback","/playback"),t2(Y)}}function N3(K){var m2=[];return K.forEach(function(R2,q2){m2.length==0||R2.downloadPath!==m2[m2.length-1].downloadPath?m2.push({downloadPath:R2.downloadPath,ownerId:R2.ownerId,iStorageVersion:R2.iStorageVersion,videoType:R2.videoType,iPlaySpeed:0,startTime:R2.startTime,endTime:R2.endTime}):m2[m2.length-1].endTime=R2.endTime}),console.log("downloadPathArr",m2),m2}};console.log("进入alarmId回放");var a1=p("alarmId",Y),Y2=a2(p("begin",Y)),W2=a2(p("end",Y)),a3=p("serial",Y),w3=p("chn",Y),v3=b+"/api/lapp/video/by/id",f3={accessToken:y.accessToken,deviceSerial:a3,channelNo:w3,alarmId:a1};C2(v3,"POST",f3,"",v1)}else t2(Y)}else t2(Y)}else y.Theme&&y.Theme.setDisabled(!0),y.pluginStatus.loadingClear(),y.pluginStatus.loadingSetText({text:o2.msg,color:"red"}),typeof y.params.handleError=="function"&&y.params.handleError({retcode:o2.code,msg:o2.msg,id:y.params.id,type:"handleError"}),J(o2)})};return new Promise(function(Z,t2){return _(Z,t2)});function M(Z,t2){var J=/^[0-9]{8}T[0-9]{6}Z$/;if(J.test(Z))return Z;if(/[0-9]{8,14}/.test(Z)){var Y=6-(14-Z.length),k2=t2.length,y2=Z+t2.substring(Y,k2);return y2.slice(0,8)+"T"+y2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}function a2(Z){var t2=Z.slice(0,4),J=Z.slice(4,6),Y=Z.slice(6,8),k2=Z.slice(9,11),y2=Z.slice(11,13),o2=Z.slice(13,15),d2=t2+"-"+J+"-"+Y+" "+k2+":"+y2+":"+o2;return new Date(d2.replace(/-/g,"/")).getTime()}}},{key:"_pluginPlay",value:function(d,f,y){var b=this;if(console.log("执行播放 _pluginPlay",d),!d)return!1;function _(t2){var J=t2.split("?")[0].replace("/live","").replace("/playback",""),Y=(t2.indexOf("/live")===-1?t2.indexOf("cloudplayback")!==-1?"/cloudplayback?":"/playback?":"/live?")+t2.split("?")[1];return Y.indexOf("/playback")!==-1&&(Y=Y.replace("stream=2","stream=1")),{websocketConnectUrl:J,websocketStreamingParam:Y}}var M=_(d).websocketConnectUrl;this.env&&this.env.wsUrl&&(M=this.env.wsUrl),this.gotWsUrlTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:223,d:this.gotWsUrlTime-this.startGetWsUrlTime,text:"getWsUrlSuccess",isVersion2Available:f0()?1:0});var a2={playURL:_(d).websocketStreamingParam};console.log("播放前 stop 阶段 结束"),this.isStoping=!1;var Z=Date.now();console.log("执行播放 ... this.jSPlugin.JS_Play at ",Z),this.jSPlugin.JS_Play(M,a2,0).then(function(){if(console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功",M,a2),console.log("执行播放耗时 ",Date.now()-Z),b.isStoping){console.log("现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效");return}if(b.validateCode&&typeof b.jSPlugin.decoderVersion!="undefined"&&b.jSPlugin.decoderVersion==="2.0"&&b.jSPlugin.JS_SetSecretKey(0,b.validateCode),b.pluginStatus.loadingClear(),b.pluginStatus.setPlayStatus({play:!0,loading:!1}),b.Theme){b.Theme.setDecoderState({play:!0});var t2=m3.findIndex(b.Theme.themeData.footer.btnList,function(J){return J.iconId==="sound"&&J.isrender===1&&J.defaultActive===1})>-1;b.audio=t2}b.audio&&setTimeout(function(){b.openSound()},500),typeof b.params.handleSuccess=="function"&&b.params.handleSuccess({retcode:0,id:b.params.id,type:"handleSuccess"}),f(a2),b.Monitor.dclog({url:b.url,action:211,d:new Date().getTime()-b.playStartTime,text:"startPlaySuccess"}),b.Monitor.playLog({Enc:b.url.indexOf("@")===-1?0:1,PlTp:b.url.indexOf("back")===-1?1:2,Via:2,ErrCd:0,Cost:new Date().getTime()-b.playStartTime,Serial:S2(b.url).deviceSerial,Channel:S2(b.url).channelNo,Ver:f0()?"v7.0.0":"v6.0.0"})},function(t2){console.log("err",t2);var J="播放失败,请检查设备及客户端网络",Y=-1;if(b.jSPlugin.bPlay)return!1;if(t2&&t2.errorCode){var k2=b.errorHander.matchErrorInfo(t2.errorCode);b.Theme&&b.Theme.setDisabled(!0),k2&&k2.msg?J=k2.msg:k2&&k2.description?J=k2.description:J="播放失败,请检查设备及客户端网络",Y=t2.errorCode}b.pluginStatus.loadingClear(),b.pluginStatus.loadingSetText({text:J,color:"red"}),typeof b.params.handleError=="function"&&b.params.handleError({retcode:Y,msg:J,id:b.params.id,type:"handleError"}),y(),b.Monitor.dclog({url:b.url,action:411,d:new Date().getTime()-b.playStartTime,text:"startPlayError"}),b.Monitor.playLog({Enc:b.url.indexOf("@")===-1?0:1,PlTp:b.url.indexOf("back")===-1?1:2,Via:2,ErrCd:Y,Cost:-1,Serial:S2(b.url).deviceSerial,Channel:S2(b.url).channelNo,Ver:f0()?"v7.0.0":"v6.0.0"})})}},{key:"_play",value:function(d){var f=this;console.log("执行播放 play options.url =>",d),this.pluginStatus.setPlayStatus({play:!1,loading:!0}),this.playStartTime=new Date().getTime(),this.Monitor.dclog({url:this.url,action:1,d:new Date().getTime()-this.initTime,text:"startPlay"}),d&&(typeof d=="string"&&(this.url=d),typeof d.url=="string"&&(this.url=d.url),typeof d.accessToken=="string"&&(this.accessToken=d.accessToken),this.Theme&&(typeof d.url=="string"||typeof d.accessToken=="string")&&this.Theme.getDeviceInfo());var y=new Promise(function(b,_){console.log("执行 播放前 stop"),f.isStoping=!0,f.jSPlugin.JS_Stop(0).then(function(){console.log("播放前 stop 执行成功 this.url => ".concat(f.url," ").concat(f.accessToken)),f._getRealUrlPromise(f.accessToken,f.url).then(function(M){f._pluginPlay(M,function(a2){b(!0)},function(){return _(!1)})}).catch(function(M){var a2=M.msg?M.msg:"播放失败,请检查设备及客户端网络";f.Theme&&f.Theme.setDisabled(!0),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:a2,color:"red"}),typeof f.params.handleError=="function"&&f.params.handleError({retcode:M.oError?M.oError.errorCode:-1,msg:a2,id:f.params.id,type:"handleError"}),_({retcode:M.oError?M.oError.errorCode:-1,msg:a2,id:f.params.id,type:"handleError"})})})});return y}},{key:"stop",value:function(){var d=this;return this.pluginStatus.setPlayStatus({loading:!0}),this.reSetTheme(),this.jSPlugin.JS_Stop(0).then(function(){console.log("停止成功"),d.pluginStatus.setPlayStatus({play:!1,loading:!1}),d.Theme&&d.Theme.setDecoderState({play:!1})})}},{key:"changeVideoLevel",value:function(d){var f=this,y=this.url,b=d?y.replace(".live",".hd.live"):y.replace(".hd.live",".live");this.jSPlugin.playURL=d?this.jSPlugin.playURL.replace("stream=2","stream=1"):this.jSPlugin.playURL.replace("stream=1","stream=2"),console.log("changeVideoLevel",b,this.jSPlugin.playURL),this.url=b;var _=new Promise(function(M,a2){f.pause().then(function(){console.log("暂停成功"),f.resume().then(function(Z){console.log("恢复成功")})}).catch(function(){console.log("暂停失败"),f.resume().then(function(Z){console.log("恢复成功")})})});return _}},{key:"reSetTheme",value:function(){this.Theme&&this.Theme.Ptz&&(this.Theme.setDecoderState({pantile:!1}),this.Theme.Ptz.hide()),this.Theme&&this.Theme.decoderState.state.recordvideo&&this.Theme.setDecoderState({recordvideo:!1}),this.Theme&&this.Theme.decoderState.state.zoom&&(this.Zoom.stopZoom(),this.Theme.setDecoderState({zoom:!1})),this.Theme&&this.Theme.decoderState.state.talk&&(this.stopTalk(),this.Theme.setDecoderState({talk:!1})),this.Theme&&this.Theme.Rec&&!this.Theme.isMobile&&this.Theme.Rec.datepickerHide(),this.Theme&&this.Theme.Rec&&(this.Theme.changeRecSpeed(1),this.Theme.nextRate=1,this.speed=1,this.Theme.setDecoderState({speed:!1}))}},{key:"_changePlayUrl",value:function(d){var f=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){};console.log("_changePlayUrl"),console.log(d),this.reSetTheme(),this.getDeviceCapacity({accessToken:d.accessToken,deviceSerial:d.deviceSerial});var b=this.url,_=a2(b,d);d.accessToken&&(this.accessToken=d.accessToken),this.url=_,y(),this.pluginStatus.loadingStart(this.id),this.pluginStatus.loadingSetText({text:"加载中,请稍后"});var M=new Promise(function(Z,t2){var J={url:_};return d.accessToken&&(J.accessToken=d.accessToken),console.log("切换播放地址 参数 ",J),f.play(J).then(function(){console.log("切换播放地址 play 执行成功 ",f.url,f.accessToken),f.Theme&&f.Theme.decoderState.state.webExpend&&f.Theme.webExpend(),f.Theme&&f.Theme.decoderState.state.expend&&f.Theme.expend(),d.type?d.type=="rec"||d.type=="cloud.rec"?f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec"):f.Theme.changeTheme(f.isMobile?"mobileLive":"pcLive"):f.url.indexOf(".rec")>-1?f.Theme.changeTheme(f.isMobile?"mobileRec":"pcRec"):f.Theme.changeTheme(f.isMobile?"mobileLive":"pcLive"),d&&d.begin&&d.deviceSerial&&f.Theme.Rec.setDatepickerDate(d.begin),f.Theme.setDisabled(!1),Z(_)}).catch(function(Y){t2(_),Y&&Y.msg&&(f.Theme&&f.Theme.setDisabled(!0),f.pluginStatus.loadingClear(),f.pluginStatus.loadingSetText({text:Y.msg,color:"red"}))})});function a2(Z,t2){if(t2.url)return t2.url;console.log("--------------matchInitUrl",Z);var J=Z.split("/")[4].split(".")[Z.split("/")[4].split(".").length-1].split("?")[0];J==="rec"&&Z.indexOf(".cloud.rec")!==-1&&(J="cloud.rec"),t2.type&&(J=t2.type);var Y=Z.split("/")[3];t2.deviceSerial&&(Y=t2.deviceSerial);var k2=Z.split("/")[4].split(".")[0];t2.channelNo&&(k2=t2.channelNo);var y2=Z.split("/")[2].split("@").length===2?Z.split("/")[2].split("@")[0]:"";typeof t2.validCode!="undefined"&&(y2=t2.validCode);var o2=typeof t2.hd=="undefined"?Z.indexOf(".hd")!==-1:t2.hd,d2="ezopen://".concat(y2?"".concat(y2,"@"):"","open.ys7.com/").concat(Y,"/").concat(k2).concat(o2?".hd":"",".").concat(J);return J==="live"||(d2="ezopen://".concat(y2?"".concat(y2,"@"):"","open.ys7.com/").concat(Y,"/").concat(k2,".").concat(J),t2.begin&&t2.end?d2+="?begin=".concat(t2.begin,"&end=").concat(t2.end):t2.begin?d2+="?begin=".concat(t2.begin):p("begin",Z)&&(d2+="?begin=".concat(p("begin",Z)))),d2}return M}},{key:"getOSDTime",value:function(){var d=this,f=new Promise(function(y,b){d.jSPlugin.JS_GetOSDTime(0).then(function(_){y({code:0,retcode:0,data:_}),typeof d.params.getOSDTimeCallBack=="function"&&d.params.getOSDTimeCallBack({id:d.id,type:"getOSDTime",code:0,data:_})}).catch(function(_){b({code:-1,retcode:-1,data:_}),typeof d.params.getOSDTimeCallBack=="function"&&d.params.getOSDTimeCallBack({id:d.id,type:"getOSDTime",code:-1,data:-1})})});return f}},{key:"capturePicture",value:function(d){var f=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=this.jSPlugin.JS_CapturePicture(0,d,"JPEG",y,!!y);return h(b)?(typeof this.params.capturePictureCallBack=="function"&&b.then(function(){f.params.capturePictureCallBack({id:f.id,type:"capturePicture",code:0})}).catch(function(){f.params.capturePictureCallBack({id:f.id,type:"capturePicture",code:-1})}),b):new Promise(function(_){_(b)})}},{key:"startSave",value:function(d){var f=this,y=this.jSPlugin.JS_StartSave(0,d);return h(y)?(typeof this.params.startSaveCallBack=="function"&&y.then(function(){f.params.startSaveCallBack({id:f.id,type:"startSave",code:0})}).catch(function(){f.params.startSaveCallBack({id:f.id,type:"startSave",code:-1})}),y):(this.Theme&&this.Theme.setDecoderState({recordvideo:!0}),new Promise(function(b){b(y)}))}},{key:"stopSave",value:function(){var d=this,f=this.jSPlugin.JS_StopSave(0);return h(f)?(typeof this.params.startSaveCallBack=="function"&&f.then(function(){d.params.stopSaveCallBack({id:d.id,type:"stopSave",code:0})}).catch(function(){d.params.stopSaveCallBack({id:d.id,type:"stopSave",code:-1})}),f):(this.Theme&&this.Theme.setDecoderState({recordvideo:!1}),new Promise(function(y){y(f)}))}},{key:"openSound",value:function(){var d=this.jSPlugin.JS_OpenSound(0);return console.log("打开声音",d),h(d)?d:(this.Theme&&this.Theme.setDecoderState({sound:!0}),typeof this.params.openSoundCallBack=="function"&&this.params.openSoundCallBack({id:this.id,type:"openSound",code:d}),new Promise(function(f){f(d)}))}},{key:"closeSound",value:function(){var d=this.jSPlugin.JS_CloseSound(0);return h(d)?d:(this.Theme&&this.Theme.setDecoderState({sound:!1}),typeof this.params.closeSoundCallBack=="function"&&this.params.closeSoundCallBack({id:this.id,type:"closeSound",code:d}),new Promise(function(f){f(d)}))}},{key:"enableZoom",value:function(){var d=this.jSPlugin.JS_EnableZoom(0);return h(d)?d:new Promise(function(f){f(d)})}},{key:"closeZoom",value:function(){var d=this.jSPlugin.JS_DisableZoom(0);return h(d)?d:new Promise(function(f){f(d)})}},{key:"setPoster",value:function(d){f0()?document.getElementById("".concat(this.id))&&(document.getElementById("".concat(this.id)).style.backgroundImage="url(".concat(d,")"),document.getElementById("".concat(this.id)).style.backgroundSize="100% 100%"):document.getElementById("".concat(this.id,"canvas0"))&&(document.getElementById("".concat(this.id,"canvas0")).style.backgroundImage="url(".concat(d,")"),document.getElementById("".concat(this.id,"canvas0")).style.backgroundSize="cover")}},{key:"reSize",value:function(d,f){var y=0,b=0;if(this.params.height=f,this.params.width=d,this.Theme&&this.Theme.isNeedRenderHeader&&document.getElementById("".concat(this.id,"-headControl"))&&(y=parseInt(document.getElementById("".concat(this.id,"-headControl")).style.height,10)),this.Theme&&this.Theme.isNeedRenderTimeLine&&!this.isMobile&&(b=48),f=f-y-b,this.width=d,this.height=f,document.getElementById("".concat(this.id,"-wrap")).style="width:".concat(d,"px;position:relative;display:inline-block;vertical-align: bottom;"),document.getElementById("".concat(this.id)).style.width=d+"px",document.getElementById("".concat(this.id)).style.height=f+"px",this.jSPlugin&&this.jSPlugin.bPlay)this.jSPlugin&&(this.jSPlugin.iHeight=f,this.jSPlugin.iWidth=d),this.jSPlugin.JS_Resize(d,f);else{document.getElementById("".concat(this.id,"-player"))&&(document.getElementById("".concat(this.id,"-player")).width=d,document.getElementById("".concat(this.id,"-player")).height=f,document.getElementById("".concat(this.id,"-player")).style.width=d+"px",document.getElementById("".concat(this.id,"-player")).style.height=f+"px");var _=1;if(document.getElementById("".concat(this.id,"canvas0"))){var M=navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);M&&(_=2),document.getElementById("".concat(this.id,"canvas0")).style.width=d*_+"px",document.getElementById("".concat(this.id,"canvas0")).style.height=f*_+"px",document.getElementById("".concat(this.id,"canvas0")).width=d*_,document.getElementById("".concat(this.id,"canvas0")).height=f*_,document.getElementById("".concat(this.id,"canvas0")).parentNode.style.width=d*_+"px",document.getElementById("".concat(this.id,"canvas0")).parentNode.style.height=f*_+"px",document.getElementById("".concat(this.id,"canvas_draw0")).height=f*_}this.jSPlugin&&(this.jSPlugin.iHeight=f*_,this.jSPlugin.iWidth=d*_)}}},{key:"fast",value:function(d){var f=this,y=this.speed;if(d)var b=this.jSPlugin.JS_Fast(0,d);else{if(y===1)y=2;else if(y===2)y=4;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最大为4倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(M,a2){f.speed=y,a2({code:-1,data:{speed:y,result:"播放速度最大为4倍速度"}})});var b=this.jSPlugin.JS_Fast(0)}return new Promise(function(_){f.speed=y,_({code:0,data:{speed:y,result:b}})})}},{key:"slow",value:function(){var d=this,f=this.speed;if(f===4)f=2;else if(f===2)f=1;else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"播放速度最小为1倍速度",retcode:1003,id:this.id,type:"handleError"}),new Promise(function(b,_){d.speed=f,_({code:-1,data:{speed:f,result:"播放速度最小为1倍速度"}})});var y=this.jSPlugin.JS_Slow(0);return new Promise(function(b){d.speed=f,b({code:0,data:{speed:f,result:y}})})}},{key:"seek",value:function(d,f){var y=this.url,b=(p("begin",y)||new Date().Format("yyyyMMdd")).substr(0,8);if(f=_(b,"235959"),d.length===6)d=_(b,d);else if(d.length===16){if(d.substr(0,8)!==b)return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间不能跨日期",retcode:-1,id:this.id,type:"handleError"}),!1}else return typeof this.params.handleError=="function"&&this.params.handleError({msg:"seek时间格式错误",retcode:-1,id:this.id,type:"handleError"}),!1;function _(a2,Z){var t2=/^[0-9]{8}T[0-9]{6}Z$/;if(t2.test(a2))return a2;if(/[0-9]{8,14}/.test(a2)){var J=6-(14-a2.length),Y=Z.length,k2=a2+Z.substring(J,Y);return k2.slice(0,8)+"T"+k2.slice(8)+"Z"}throw new Error("回放时间格式有误,请确认")}var M=this.jSPlugin.JS_Seek(0,d,f);return console.log("seekRT",M),h(M)?M:new Promise(function(a2){a2(M)})}},{key:"fullScreen",value:function(){var d=this,f=U(document.getElementById("".concat(this.id)));f.then(function(b){console.log("全屏promise",window.screen.availWidth),d.jSPlugin.JS_Resize(window.screen.availWidth,window.screen.availHeight),typeof d.params.fullScreenCallBack=="function"&&d.params.fullScreenCallBack({id:d.id,type:"fullScreen",code:0})});var y=function(){var _=document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen;_||d.jSPlugin.JS_Resize(d.width,d.height),typeof d.params.fullScreenChangeCallBack=="function"&&d.params.fullScreenChangeCallBack({id:d.id,type:"fullScreen",code:_})};["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach(function(b){window.addEventListener(b,function(_){return y()})})}},{key:"cancelFullScreen",value:function(){var d=this,f=v2();f.then(function(y){console.log("取消全屏",y,d.jSPlugin),d.jSPlugin.JS_Resize(d.width,d.height)})}},{key:"startTalk",value:function(){this.Talk.startTalk()}},{key:"stopTalk",value:function(){this.Talk.stopTalk()}},{key:"destroy",value:function(){var d=this.jSPlugin.JS_DestroyWorker(0);return this.Theme&&(this.Theme=null,window.EZUIKit[this.params.id].state.EZUIKitPlayer.themeInit=!1),h(d)?d:new Promise(function(f){f(d)})}},{key:"getDeviceCapacity",value:function(d){var f=this,y=this.env.domain;this.env&&(y=this.env.domain);var b=y+"/api/lapp/device/capacity",_=function(Z){Z.code==200&&Z.data&&(f.capacity=Z.data)},M=d||{accessToken:this.accessToken,deviceSerial:S2(this.url).deviceSerial};C2(b,"POST",M,"",_)}},{key:"pause",value:function(){var d=this;return new Promise(function(f,y){d.jSPlugin.JS_CloseSound(0),d.jSPlugin.JS_Pause(0,function(b){d.setPoster(b.base64)}).then(function(b){d.Theme&&d.Theme.setDecoderState({play:!1}),f()}).catch(function(b){console.log(b),y(b)})})}},{key:"_resume",value:function(d){var f=this;return new Promise(function(y,b){f.pluginStatus.setPlayStatus({play:!1,loading:!0}),f.jSPlugin.JS_Resume(d).then(function(_){if(setTimeout(function(){f.url.indexOf(".rec")!==-1&&f.speed!=1&&f.jSPlugin.JS_Speed(f.speed)},500),f.Theme){f.Theme.setDecoderState({play:!0,speed:f.speed});var M=f.Theme.decoderState.state.sound;M&&setTimeout(function(){f.openSound()},500)}y(_)}).catch(function(_){console.log("resume err",_),b(_)})})}}]),O}(),q1=null;function Oe(O,N,d,f){return new WebControl({szPluginContainer:O,iServicePortStart:14510,iServicePortEnd:14519,cbConnectSuccess:N,cbConnectError:d,cbConnectClose:f})}function Et(){q1!=null&&(q1.JS_DestroyWnd().then(function(){console.log("JS_DestroyWnd")},function(){}),q1.JS_StopService("window").then(function(){q1.JS_Disconnect().then(function(){console.log("JS_Disconnect")},function(){})}))}function dt(O){O.responseMsg.eventName,console.log(O.responseMsg)}function ft(){q1.JS_SetWindowControlCallback({cbIntegrationCallBack:dt}),q1.JS_StartService("window",{dllPath:"./chain/cloudTransform.dll"}).then(function(){q1.JS_CreateWnd("playWnd",900,500).then(function(){console.log("JS_CreateWnd success")})})}function Le(){console.log("cbConnectError"),q1=null,console.error("确认本地进程是否已安装并开启成功!")}function ht(O){console.log("cbConnectClose"),q1=null}window.onscroll=function(){q1!=null&&q1.JS_Resize(900,500)},window.onresize=function(){q1!=null&&q1.JS_Resize(900,500)},window.onunload=function(){try{q1.JS_HideWnd(),Et()}catch(O){console.error(O)}},window.onpagehide=function(){try{q1.JS_HideWnd()}catch(O){console.error(O)}};var tt=function(){function O(N){var d=this;a(this,O),o(this,"changeModel",function(f,y){var b=d;d.switchVideo=parseInt(f),q1&&q1.JS_RequestInterface({funcName:"ChangeModel",arguments:encodeURI(JSON.stringify({model:f}))}).then(function(_){f==0?b.play({deviceSerial:y.deviceSerial,channelNo:y.channelNo,validateCode:y.validateCode}):b.play({deviceSerial:y.deviceSerial,channelNo:y.channelNo,validateCode:y.validateCode,startTime:y.startTime,endTime:y.endTime})})}),o(this,"init",function(f){var y,b=d;if(!f.appKey||!f.accessToken){b.showTips(!1,"请输入appkey和token");return}typeof f.appKey!="undefined"&&(d.appKey=f.appKey),typeof f.accessToken!="undefined"&&(d.accessToken=f.accessToken),typeof f.platformId!="undefined"&&(d.platformId=f.platformId);var _=(y={layout:+b.layout,userName:"",waterMark:""},o(y,"waterMark","1"),o(y,"iWndType",0),o(y,"intelligenceEnable",1),o(y,"isRecord",1),o(y,"isSetPos",1),o(y,"motionDetectEnable",0),o(y,"playBackAlarmOverlyingEnable",0),o(y,"response",{code:0,message:null,data:{appKey:f.appKey,ezvizToken:f.accessToken,videoLevel:0,logLevel:3,showMainTool:1,showSubTool:1,waterMark:"1",userName:"openteam",platformId:f.platformId}}),y);console.log("初始化入参",_),q1.JS_RequestInterface({funcName:"Init",arguments:encodeURI(JSON.stringify(_))}).then(function(M){console.log(M.responseMsg),b.showTips(!0,"视频初始化成功!")})}),o(this,"play",function(f){var y=d;if(!(!f.deviceSerial||!f.channelNo)){typeof f.deviceSerial!="undefined"&&(d.deviceSerial=f.deviceSerial),typeof f.channelNo!="undefined"&&(d.channelNo=f.channelNo),typeof f.startTime!="undefined"&&f.startTime&&(d.startTime=f.startTime+" 00:00:00"),typeof f.endTime!="undefined"&&f.endTime&&(d.endTime=f.endTime+" 23:59:59"),typeof f.validateCode!="undefined"&&f.validateCode&&(d.validateCode=f.validateCode);var b={response:{code:0,message:null,data:{deviceSerial:f.deviceSerial,channelCode:f.channelNo,channelNo:+f.channelNo,codeIsEncrypt:0,validateCode:f.validateCode,deviceClass:y.deviceClass,deviceType:"10222",channelId:"2222222222",channelName:"channelNameTest",storeName:"storeName",storeId:"storeid",startTime:d.startTime,endTime:d.endTime}}};y.deviceClass==="1"?(b.response.data.channelCode=y.channelNo,b.response.data.platformId=y.platformId):b.response.data.channelNo=+y.channelNo,d.switchVideo===1&&(d.startTime&&(b.response.data.startTime=d.startTime),d.endTime&&(b.response.data.endTime=d.endTime)),console.log("预览/回放入参",b),q1.JS_RequestInterface({funcName:d.switchVideo===0?"StartPreview":"StartPlayback",arguments:encodeURI(JSON.stringify(b))}).then(function(_){console.log(_.responseMsg),y.showTips(!0,"预览/回放成功!")}).catch(function(_){console.log("开始播放:",_)})}}),o(this,"showCBInfo",function(f){d.callbackMessage=d.callbackMessage+JSON.stringify(f)+` - -`,console.log(d.callbackMessage)}),o(this,"showTips",function(f,y){}),o(this,"hideVideo",function(){q1.JS_HideWnd()}),o(this,"showVideo",function(){q1.JS_ShowWnd()}),o(this,"GetLayout",function(){var f=null;q1.JS_RequestInterface({funcName:"GetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:f}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"capturePicture",function(f){var y=null;q1.JS_RequestInterface({funcName:"CaptureJPGEx",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:y}}))}).then(function(b){console.log(JSON.stringify(b.responseMsg)),console.log(b.responseMsg)})}),o(this,"stop",function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1;q1.JS_RequestInterface({funcName:"StopPlay",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"setLayout",function(f){var y=parseInt(f);if(isNaN(y)||y==0||y>=13){console.log("不支持实际布局大于16的窗口数");return}d.layout=y,q1.JS_RequestInterface({funcName:"SetLayout",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{layout:y}}}))}).then(function(b){console.log(JSON.stringify(b.responseMsg)),console.log(b.responseMsg)})}),o(this,"setSoundVolumn",function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:-1,y=arguments.length>1?arguments[1]:void 0;q1.JS_RequestInterface({funcName:"SoundVolumn",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f),volumn:parseInt(y)}}}))}).then(function(b){console.log(JSON.stringify(b.responseMsg)),console.log(b.responseMsg)})}),o(this,"testMute",function(){var f=parseInt(prompt("请输入窗口ID"));q1.JS_RequestInterface({funcName:"MuteOnOff",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:f}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"testSelectWnd",function(){var f=parseInt(prompt("请输入窗口ID"));q1.JS_RequestInterface({funcName:"SelectPlayWnd",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:f}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"setVideoLevel",function(f,y){q1.JS_RequestInterface({funcName:"SetVideoLevel",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:d.switchVideo==1?0:parseInt(f),level:parseInt(y,10)}}}))}).then(function(b){console.log(JSON.stringify(b.responseMsg)),console.log(b.responseMsg)})}),o(this,"startTalk",function(f){q1.JS_RequestInterface({funcName:"StartTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"stopTalk",function(f){q1.JS_RequestInterface({funcName:"StopTalk",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"startSave",function(f){q1.JS_RequestInterface({funcName:"StartRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),o(this,"stopSave",function(f){q1.JS_RequestInterface({funcName:"StopRecord",arguments:encodeURI(JSON.stringify({response:{code:0,message:null,data:{wndId:parseInt(f)}}}))}).then(function(y){console.log(JSON.stringify(y.responseMsg)),console.log(y.responseMsg)})}),this.appKey="b9a3ad6e8026410095d8252169fa430a",this.accessToken="at.2vtum8873rrcwbrv431qb6pn94dkbv23-8dw2twn355-1u3x014-wrthellzk",this.deviceSerial="C33368372",this.channelNo="1",this.validateCode="",this.deviceClass="0",this.platformId="",this.startTime="",this.endTime="",this.layout=2,this.switchVideo=0,this.tips="调用成功",this.successTip=!1,this.tipsShow=!1,q1=Oe("playWnd",ft,Le,ht)}return r(O,[{key:"alarmMsg",value:function(){var d={request:{body:{alarmTypes:[10800,0,0,0,0],channelId:"066dde0465dd4abaab6afe355baf9d0b",endTime:"1621007999000",startTime:"1620921600000"},callBack:"GetAlarmMsgOrders",majorKey:"",method:"POST",storeId:"",url:"/videoplugin/message/getMessageByTypes"},response:{code:0,message:null,data:[{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620921217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920678e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620920586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919513e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919483e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620919333e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918913e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620918305e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917858e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917658e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917244e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620917064e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916668e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916529e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916343e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620916081e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915825e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915394e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620915197e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914971e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914644e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914533e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914457e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914376e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620914284e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620913431e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912354e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912275e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912093e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620912024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091189e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911839e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091176e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911682e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091127e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620911184e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910982e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910781e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910727e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910677e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910647e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910588e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910544e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091041e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162091035e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910278e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910217e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620910124e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909939e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909847e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909817e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909664e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909605e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909575e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090912e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620909028e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908999e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908969e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908909e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090888e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908835e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090875e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090872e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908652e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908582e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908552e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908456e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620908268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090805e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907918e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907758e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907625e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907386e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907292e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620907127e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906828e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906797e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906747e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906717e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906632e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906368e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620906013e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905946e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905823e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905622e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905511e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905382e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905352e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905322e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905262e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620905196e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090515e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904994e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904813e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090473e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209047e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904618e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904286e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904173e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904053e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620904023e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903854e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903723e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903643e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903612e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903573e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903505e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903329e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903299e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903268e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16209032e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620903149e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090312e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902977e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090286e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090277e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902639e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902517e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902373e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090232e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902253e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902198e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620902132e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090194e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090185e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901789e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901685e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901638e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090152e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901489e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901424e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901271e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901233e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620901157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900915e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900774e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900744e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090065e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162090044e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900409e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900175e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900134e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900069e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620900016e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899976e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899908e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899826e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899756e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899467e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899406e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899265e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620899211e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089914e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089911e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089905e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898785e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898746e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898697e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898666e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898507e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898248e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898218e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898157e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620898088e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089802e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089796e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089785e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897807e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897771e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089769e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089763e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:16208976e5},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089757e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089754e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897475e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897369e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897339e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897279e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897237e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897207e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897172e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897142e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897112e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620897024e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896985e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896874e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896814e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896783e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896736e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896621e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896447e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896358e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896307e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896277e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896247e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620896214e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089604e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895953e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895921e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895868e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089577e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895704e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089559e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895559e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089548e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895442e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895377e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895347e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895293e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895171e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895136e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620895017e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894926e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894896e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894864e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894834e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894738e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894599e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894539e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894426e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894359e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894213e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894183e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620894051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893964e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893934e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893843e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893754e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893676e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893606e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089353e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893452e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893423e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893357e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893143e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893051e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620893006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892904e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892824e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892764e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892541e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892479e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892412e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892311e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892281e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892209e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620892063e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891991e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891931e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089187e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089181e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891708e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891655e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891585e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891531e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891401e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891297e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891257e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891178e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891128e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620891033e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162089094e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890879e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890794e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890714e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890616e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890586e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890469e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890346e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890288e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890179e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890108e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890041e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620890011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889937e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889719e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889635e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889481e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889451e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889317e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889227e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889139e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620889034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888973e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888902e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888837e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888767e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888737e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888706e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888633e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888571e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888413e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888353e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888323e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888249e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888162e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620888e6},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887859e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887776e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887734e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887692e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887619e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887501e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887355e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088732e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887289e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887126e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887066e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620887034e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088697e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886884e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886804e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886728e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886609e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886538e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886478e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886396e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886334e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886246e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886111e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620886011e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885956e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885894e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885696e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885514e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885484e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885414e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885383e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885341e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885306e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885276e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885216e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885186e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885114e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885037e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620885006e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884975e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884945e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884911e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884851e3},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:162088478e4},{alarmType:10800,alarmName:"移动侦测报警",alarmTime:1620884696e3}],success:!0}};console.log(d),q1.JS_RequestInterface({funcName:"TransFunctionResult",arguments:encodeURI(JSON.stringify(d))})}}]),O}();(function(O,N){n(t)==="object"&&n(t.exports)==="object"?t.exports=O.document?N(O,!0):function(d){if(!d.document)throw new Error("EZUIPlayer requires a window with a document");return N(d)}:N(O)})(typeof window!="undefined"?window:void 0,function(O,N){var d={Core:s,HLS:j2,FLV:K2,EZUIKitPlayer:ct,EZUIKitHD:tt};return O.EZUIKit=d,d})})(Gi,Gi.exports);var i_=Gi.exports;const Vm=a_(i_);function r_(t){let e=null,n=!1,a=!1;function i(){!n||a||(t(),e=requestAnimationFrame(i))}function r(){n||(n=!0,i())}function o(){n&&(n=!1,a=!0,cancelAnimationFrame(e))}function s(){!n&&a&&(n=!0,a=!1,i())}return{start:r,pause:o,resume:s,isActive:()=>n}}class yr{constructor(){this.events=new Map}on(e,n){let a=this.events.get(e);a||(a=new Set,this.events.set(e,a)),a.add(n)}off(e,n){const a=this.events.get(e);a&&(n?a.delete(n):this.events.delete(e))}emit(e,...n){const a=this.events.get(e);a&&a.forEach(i=>{i(...n)})}once(e,n){const a=(...i)=>{n(...i),this.off(e,a)};this.on(e,a)}}class o_ extends yr{constructor({canvas:e}){super(),this.canvas=e,this.maxPixelRatio=2,this.handleResize=()=>{this.init(),this.emit("resize")},this.init(),window.addEventListener("resize",this.handleResize)}init(){var n;const e=((n=this.canvas)==null?void 0:n.parentNode)||this.canvas||document.documentElement;this.width=e.offsetWidth||window.innerWidth||1,this.height=e.offsetHeight||window.innerHeight||1,this.pixelRatio=Math.min(window.devicePixelRatio||1,this.maxPixelRatio)}destroy(){window.removeEventListener("resize",this.handleResize),this.off("resize")}}class s_ extends yr{constructor(){super(),this.start=Date.now(),this.current=this.start,this.elapsed=0,this.delta=16,this.clock=new FC,this.raf=r_(()=>this.tick()),this.raf.start()}tick(){const e=Date.now();this.delta=e-this.current,this.current=e,this.elapsed=this.current-this.start;const n=this.clock.getDelta(),a=this.clock.getElapsedTime();this.emit("tick",n,a)}destroy(){this.pause(),this.off("tick")}pause(){this.raf.pause()}resume(){this.raf.resume()}isActive(){this.raf.isActive()}}function Hm(t,e=!1){const n=t[0].index!==null,a=new Set(Object.keys(t[0].attributes)),i=new Set(Object.keys(t[0].morphAttributes)),r={},o={},s=t[0].morphTargetsRelative,u=new zn;let m=0;for(let h=0;h=2.0 are supported."));return}const m=new O_(r,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});m.fileLoader.setRequestHeader(this.requestHeader);for(let h=0;h=0&&s[p]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+p+'".')}}m.setExtensions(o),m.setPlugins(s),m.parse(a,i)}parseAsync(e,n){const a=this;return new Promise(function(i,r){a.parse(e,n,i,r)})}}function u_(){let t={};return{get:function(e){return t[e]},add:function(e,n){t[e]=n},remove:function(e){delete t[e]},removeAll:function(){t={}}}}const E0={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class c_{constructor(e){this.parser=e,this.name=E0.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let a=0,i=n.length;a=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,r.source,o)}}class C_{constructor(e){this.parser=e,this.name=E0.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,a=this.parser,i=a.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],s=i.images[o.source];let u=a.textureLoader;if(s.uri){const m=a.options.manager.getHandler(s.uri);m!==null&&(u=m)}return this.detectSupport().then(function(m){if(m)return a.loadTextureImage(e,o.source,u);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return a.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class A_{constructor(e){this.parser=e,this.name=E0.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,a=this.parser,i=a.json,r=i.textures[e];if(!r.extensions||!r.extensions[n])return null;const o=r.extensions[n],s=i.images[o.source];let u=a.textureLoader;if(s.uri){const m=a.options.manager.getHandler(s.uri);m!==null&&(u=m)}return this.detectSupport().then(function(m){if(m)return a.loadTextureImage(e,o.source,u);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return a.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class __{constructor(e){this.name=E0.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,a=n.bufferViews[e];if(a.extensions&&a.extensions[this.name]){const i=a.extensions[this.name],r=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return r.then(function(s){const u=i.byteOffset||0,m=i.byteLength||0,h=i.count,p=i.byteStride,g=new Uint8Array(s,u,m);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(h,p,g,i.mode,i.filter).then(function(C){return C.buffer}):o.ready.then(function(){const C=new ArrayBuffer(h*p);return o.decodeGltfBuffer(new Uint8Array(C),h,p,g,i.mode,i.filter),C})})}else return null}}class x_{constructor(e){this.name=E0.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,a=n.nodes[e];if(!a.extensions||!a.extensions[this.name]||a.mesh===void 0)return null;const i=n.meshes[a.mesh];for(const m of i.primitives)if(m.mode!==_n.TRIANGLES&&m.mode!==_n.TRIANGLE_STRIP&&m.mode!==_n.TRIANGLE_FAN&&m.mode!==void 0)return null;const o=a.extensions[this.name].attributes,s=[],u={};for(const m in o)s.push(this.parser.getDependency("accessor",o[m]).then(h=>(u[m]=h,u[m])));return s.length<1?null:(s.push(this.parser.createNodeMesh(e)),Promise.all(s).then(m=>{const h=m.pop(),p=h.isGroup?h.children:[h],g=m[0].count,C=[];for(const I of p){const U=new t9,j=new t0,l2=new Wl,v2=new t0(1,1,1),S2=new GC(I.geometry,I.material,g);for(let T2=0;T20||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const U_=new t9;class O_{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new u_,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let a=!1,i=!1,r=-1;typeof navigator!="undefined"&&(a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,r=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap=="undefined"||a||i&&r<98?this.textureLoader=new Im(this.options.manager):this.textureLoader=new OC(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new a7(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,n){const a=this,i=this.json,r=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([a.getDependencies("scene"),a.getDependencies("animation"),a.getDependencies("camera")])}).then(function(o){const s={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:a,userData:{}};return $5(r,s,i),l5(s,i),Promise.all(a._invokeAll(function(u){return u.afterRoot&&u.afterRoot(s)})).then(function(){e(s)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],a=this.json.meshes||[];for(let i=0,r=n.length;i{const u=this.associations.get(o);u!=null&&this.associations.set(s,u);for(const[m,h]of o.children.entries())r(h,s.children[m])};return r(a,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let a=0;a=2&&j.setY(s3,j2[K2*u+1]),u>=3&&j.setZ(s3,j2[K2*u+2]),u>=4&&j.setW(s3,j2[K2*u+3]),u>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return j})}loadTexture(e){const n=this.json,a=this.options,r=n.textures[e].source,o=n.images[r];let s=this.textureLoader;if(o.uri){const u=a.manager.getHandler(o.uri);u!==null&&(s=u)}return this.loadTextureImage(e,r,s)}loadTextureImage(e,n,a){const i=this,r=this.json,o=r.textures[e],s=r.images[n],u=(s.uri||s.bufferView)+":"+o.sampler;if(this.textureCache[u])return this.textureCache[u];const m=this.loadImageSource(n,a).then(function(h){h.flipY=!1,h.name=o.name||s.name||"",h.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(h.name=s.uri);const g=(r.samplers||{})[o.sampler]||{};return h.magFilter=rf[g.magFilter]||X5,h.minFilter=rf[g.minFilter]||Fm,h.wrapS=of[g.wrapS]||Ot,h.wrapT=of[g.wrapT]||Ot,i.associations.set(h,{textures:e}),h}).catch(function(){return null});return this.textureCache[u]=m,m}loadImageSource(e,n){const a=this,i=this.json,r=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(p=>p.clone());const o=i.images[e],s=self.URL||self.webkitURL;let u=o.uri||"",m=!1;if(o.bufferView!==void 0)u=a.getDependency("bufferView",o.bufferView).then(function(p){m=!0;const g=new Blob([p],{type:o.mimeType});return u=s.createObjectURL(g),u});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const h=Promise.resolve(u).then(function(p){return new Promise(function(g,C){let I=g;n.isImageBitmapLoader===!0&&(I=function(U){const j=new $d(U);j.needsUpdate=!0,g(j)}),n.load(W4.resolveURL(p,r.path),I,void 0,C)})}).then(function(p){return m===!0&&s.revokeObjectURL(u),p.userData.mimeType=o.mimeType||G_(o.uri),p}).catch(function(p){throw console.error("THREE.GLTFLoader: Couldn't load texture",u),p});return this.sourceCache[e]=h,h}assignTexture(e,n,a,i){const r=this;return this.getDependency("texture",a.index).then(function(o){if(!o)return null;if(a.texCoord!==void 0&&a.texCoord>0&&(o=o.clone(),o.channel=a.texCoord),r.extensions[E0.KHR_TEXTURE_TRANSFORM]){const s=a.extensions!==void 0?a.extensions[E0.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const u=r.associations.get(o);o=r.extensions[E0.KHR_TEXTURE_TRANSFORM].extendTexture(o,s),r.associations.set(o,u)}}return i!==void 0&&(o.colorSpace=i),e[n]=o,o})}assignFinalMaterial(e){const n=e.geometry;let a=e.material;const i=n.attributes.tangent===void 0,r=n.attributes.color!==void 0,o=n.attributes.normal===void 0;if(e.isPoints){const s="PointsMaterial:"+a.uuid;let u=this.cache.get(s);u||(u=new hr,is.prototype.copy.call(u,a),u.color.copy(a.color),u.map=a.map,u.sizeAttenuation=!1,this.cache.add(s,u)),a=u}else if(e.isLine){const s="LineBasicMaterial:"+a.uuid;let u=this.cache.get(s);u||(u=new s5,is.prototype.copy.call(u,a),u.color.copy(a.color),u.map=a.map,this.cache.add(s,u)),a=u}if(i||r||o){let s="ClonedMaterial:"+a.uuid+":";i&&(s+="derivative-tangents:"),r&&(s+="vertex-colors:"),o&&(s+="flat-shading:");let u=this.cache.get(s);u||(u=a.clone(),r&&(u.vertexColors=!0),o&&(u.flatShading=!0),i&&(u.normalScale&&(u.normalScale.y*=-1),u.clearcoatNormalScale&&(u.clearcoatNormalScale.y*=-1)),this.cache.add(s,u),this.associations.set(u,this.associations.get(a))),a=u}e.material=a}getMaterialType(){return J9}loadMaterial(e){const n=this,a=this.json,i=this.extensions,r=a.materials[e];let o;const s={},u=r.extensions||{},m=[];if(u[E0.KHR_MATERIALS_UNLIT]){const p=i[E0.KHR_MATERIALS_UNLIT];o=p.getMaterialType(),m.push(p.extendParams(s,r,n))}else{const p=r.pbrMetallicRoughness||{};if(s.color=new Ae(1,1,1),s.opacity=1,Array.isArray(p.baseColorFactor)){const g=p.baseColorFactor;s.color.setRGB(g[0],g[1],g[2],y6),s.opacity=g[3]}p.baseColorTexture!==void 0&&m.push(n.assignTexture(s,"map",p.baseColorTexture,Wt)),s.metalness=p.metallicFactor!==void 0?p.metallicFactor:1,s.roughness=p.roughnessFactor!==void 0?p.roughnessFactor:1,p.metallicRoughnessTexture!==void 0&&(m.push(n.assignTexture(s,"metalnessMap",p.metallicRoughnessTexture)),m.push(n.assignTexture(s,"roughnessMap",p.metallicRoughnessTexture))),o=this._invokeOne(function(g){return g.getMaterialType&&g.getMaterialType(e)}),m.push(Promise.all(this._invokeAll(function(g){return g.extendMaterialParams&&g.extendMaterialParams(e,s)})))}r.doubleSided===!0&&(s.side=ze);const h=r.alphaMode||hs.OPAQUE;if(h===hs.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,h===hs.MASK&&(s.alphaTest=r.alphaCutoff!==void 0?r.alphaCutoff:.5)),r.normalTexture!==void 0&&o!==V0&&(m.push(n.assignTexture(s,"normalMap",r.normalTexture)),s.normalScale=new Ee(1,1),r.normalTexture.scale!==void 0)){const p=r.normalTexture.scale;s.normalScale.set(p,p)}if(r.occlusionTexture!==void 0&&o!==V0&&(m.push(n.assignTexture(s,"aoMap",r.occlusionTexture)),r.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=r.occlusionTexture.strength)),r.emissiveFactor!==void 0&&o!==V0){const p=r.emissiveFactor;s.emissive=new Ae().setRGB(p[0],p[1],p[2],y6)}return r.emissiveTexture!==void 0&&o!==V0&&m.push(n.assignTexture(s,"emissiveMap",r.emissiveTexture,Wt)),Promise.all(m).then(function(){const p=new o(s);return r.name&&(p.name=r.name),l5(p,r),n.associations.set(p,{materials:e}),r.extensions&&$5(i,p,r),p})}createUniqueName(e){const n=zC.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,a=this.extensions,i=this.primitiveCache;function r(s){return a[E0.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,n).then(function(u){return sf(u,s,n)})}const o=[];for(let s=0,u=e.length;s0&&B_(l2,r),l2.name=n.createUniqueName(r.name||"mesh_"+e),l5(l2,r),j.extensions&&$5(i,l2,j),n.assignFinalMaterial(l2),p.push(l2)}for(let C=0,I=p.length;C1?h=new ae:m.length===1?h=m[0]:h=new w7,h!==m[0])for(let p=0,g=m.length;p{const p=new Map;for(const[g,C]of i.associations)(g instanceof is||g instanceof $d)&&p.set(g,C);return h.traverse(g=>{const C=i.associations.get(g);C!=null&&p.set(g,C)}),p};return i.associations=m(r),r})}_createAnimationTracks(e,n,a,i,r){const o=[],s=e.name?e.name:e.uuid,u=[];o5[r.path]===o5.weights?e.traverse(function(g){g.morphTargetInfluences&&u.push(g.name?g.name:g.uuid)}):u.push(s);let m;switch(o5[r.path]){case o5.weights:m=Vd;break;case o5.rotation:m=Hd;break;case o5.position:case o5.scale:m=Wd;break;default:switch(a.itemSize){case 1:m=Vd;break;case 2:case 3:default:m=Wd;break}break}const h=i.interpolation!==void 0?L_[i.interpolation]:Um,p=this._getArrayFromAccessor(a);for(let g=0,C=u.length;g{this.parse(o,n,i)},a,i)}parse(e,n,a=()=>{}){this.decodeDracoFile(e,n,null,null,Wt).catch(a)}decodeDracoFile(e,n,a,i,r=y6,o=()=>{}){const s={attributeIDs:a||this.defaultAttributeIDs,attributeTypes:i||this.defaultAttributeTypes,useUniqueIDs:!!a,vertexColorSpace:r};return this.decodeGeometry(e,s).then(n).catch(o)}decodeGeometry(e,n){const a=JSON.stringify(n);if(ps.has(e)){const u=ps.get(e);if(u.key===a)return u.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const r=this.workerNextTaskID++,o=e.byteLength,s=this._getWorker(r,o).then(u=>(i=u,new Promise((m,h)=>{i._callbacks[r]={resolve:m,reject:h},i.postMessage({type:"decode",id:r,taskConfig:n,buffer:e},[e])}))).then(u=>this._createGeometry(u.geometry));return s.catch(()=>!0).then(()=>{i&&r&&this._releaseTask(i,r)}),ps.set(e,{key:a,promise:s}),s}_createGeometry(e){const n=new zn;e.index&&n.setIndex(new $n(e.index.array,1));for(let a=0;a{a.load(e,i,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",n=[];return e?n.push(this._loadLibrary("draco_decoder.js","text")):(n.push(this._loadLibrary("draco_wasm_wrapper.js","text")),n.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(n).then(a=>{const i=a[0];e||(this.decoderConfig.wasmBinary=a[1]);const r=Y_.toString(),o=["/* draco decoder */",i,"","/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join(` -`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,n){return this._initDecoder().then(()=>{if(this.workerPool.lengthr._taskLoad?-1:1});const a=this.workerPool[this.workerPool.length-1];return a._taskCosts[e]=n,a._taskLoad+=n,a})}_releaseTask(e,n){e._taskLoad-=e._taskCosts[n],delete e._callbacks[n],delete e._taskCosts[n]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{const p=h.draco,g=new p.Decoder;try{const C=n(p,g,new Int8Array(u),m),I=C.attributes.map(U=>U.array.buffer);C.index&&I.push(C.index.array.buffer),self.postMessage({type:"decode",id:s.id,geometry:C},I)}catch(C){console.error(C),self.postMessage({type:"error",id:s.id,error:C.message})}finally{p.destroy(g)}});break}};function n(o,s,u,m){const h=m.attributeIDs,p=m.attributeTypes;let g,C;const I=s.GetEncodedGeometryType(u);if(I===o.TRIANGULAR_MESH)g=new o.Mesh,C=s.DecodeArrayToMesh(u,u.byteLength,g);else if(I===o.POINT_CLOUD)g=new o.PointCloud,C=s.DecodeArrayToPointCloud(u,u.byteLength,g);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!C.ok()||g.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+C.error_msg());const U={index:null,attributes:[]};for(const j in h){const l2=self[p[j]];let v2,S2;if(m.useUniqueIDs)S2=h[j],v2=s.GetAttributeByUniqueId(g,S2);else{if(S2=s.GetAttributeId(g,o[h[j]]),S2===-1)continue;v2=s.GetAttribute(g,S2)}const T2=i(o,s,g,j,l2,v2);j==="color"&&(T2.vertexColorSpace=m.vertexColorSpace),U.attributes.push(T2)}return I===o.TRIANGULAR_MESH&&(U.index=a(o,s,g)),o.destroy(g),U}function a(o,s,u){const h=u.num_faces()*3,p=h*4,g=o._malloc(p);s.GetTrianglesUInt32Array(u,p,g);const C=new Uint32Array(o.HEAPF32.buffer,g,h).slice();return o._free(g),{array:C,itemSize:1}}function i(o,s,u,m,h,p){const g=p.num_components(),I=u.num_points()*g,U=I*h.BYTES_PER_ELEMENT,j=r(o,h),l2=o._malloc(U);s.GetAttributeDataArrayForAllPoints(u,p,j,U,l2);const v2=new h(o.HEAPF32.buffer,l2,I).slice();return o._free(l2),{name:m,array:v2,itemSize:g}}function r(o,s){switch(s){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let bi={GLTFLoader:"GLTF",TextureLoader:"Texture",FontLoader:"Font",MMDLoader:"MMD",MTLLoader:"MTL",OBJLoader:"OBJ",PCDLoader:"PCD",FileLoader:"File",ImageLoader:"Image",ObjectLoader:"Object",MaterialLoader:"Material",CubeTextureLoader:"CubeTexture",RGBELoader:"RGBELoader",FBXLoader:"FBX"};const $_=Object.values(bi);class W_ extends yr{constructor({dracoPath:e,cloneTextures:n=!1}={}){super(),this.dracoPath=e||"./draco/gltf/",this.cloneTextures=n,this.loaded=!1,this.itemsLoaded=0,this.itemsTotal=0,this.assets=[],this.loaders={},this.initDefaultLoader()}initManager(){const e=new tA;return e.onProgress=(n,a,i)=>{this.itemsLoaded=a,this.itemsTotal=i,this.emit("onProgress",n,a,i)},e.onError=n=>{this.emit("onError",n)},e}initDefaultLoader(){[{loader:l_,name:"GLTFLoader"},{loader:Im,name:"TextureLoader"}].map(e=>this.addLoader(e.loader,e.name))}initDraco(e){const n=new z_;n.setDecoderPath(this.dracoPath),n.preload(),e.setDRACOLoader(n)}addLoader(e,n=""){if(e.name&&bi[n]){if(!this.loaders[n]){let i=new e(this.manager),r=n;i instanceof Yl&&(r==="GLTFLoader"&&this.initDraco(i),this.loaders[bi[r]]=i)}}else throw new Error("请配置正确的加载器")}loadItem(e){return new Promise((n,a)=>{if(!this.loaders[e.type])throw new Error(`资源${e.path}没有配置加载器`);this.loaders[e.type].load(e.path,i=>{this.itemsLoaded++,this.emit("onProgress",e.path,this.itemsLoaded,this.itemsTotal),n(Z2(B2({},e),{data:i}))},null,i=>{this.emit("onError",i),a(i)})})}loadAll(e){return this.itemsLoaded=0,this.itemsTotal=0,new Promise((n,a)=>{let i=this.matchType(e),r=[];this.itemsTotal=i.length,i.map(o=>{let s=this.loadItem(o);r.push(s)}),Promise.all(r).then(o=>{this.assets=o,this.loaded=!0,this.emit("onLoad"),n(o)}).catch(o=>{this.emit("onError",o),a(o)})})}matchType(e){return this.assets=e.map(n=>({type:$_.includes(n.type)?n.type:"",path:n.path,name:n.name,data:null})).filter(n=>{if(!n.type)throw new Error(`资源${n.path},type不正确`);return n.type}),this.assets}getResource(e){var a;let n=this.assets.find(i=>i.name===e);if(!n)throw new Error(`资源${e}不存在`);return this.cloneTextures&&n.type===bi.TextureLoader&&((a=n.data)!=null&&a.isTexture)?n.data.clone():n.data}destroy(){this.off("onProgress"),this.off("onLoad"),this.off("onError"),this.assets=[]}}function V_(t=10,e=62){var n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),a=[],i;if(e=e||n.length,t)for(i=0;iH_(typeof t=="string"?JSON.parse(t):t);function H_(t){var n,a,i,r;let e=(t==null?void 0:t.features)||[];for(let o=0;o{this.canvas.style.cursor="grabbing"},this.handlePointerUp=()=>{this.canvas.style.cursor="grab"},this.canvas.style.cursor="grab",this.canvas.style.touchAction="none",this.canvas.addEventListener("pointerdown",this.handlePointerDown),window.addEventListener("pointerup",this.handlePointerUp),this.canvas.addEventListener("pointerleave",this.handlePointerUp))}resize(){let e=this.sizes.width/this.sizes.height;if(this.options.isOrthographic){let n=120;this.instance.left=-n*e,this.instance.right=n*e,this.instance.top=n,this.instance.bottom=-n}else this.instance.aspect=e;this.instance.updateProjectionMatrix()}update(){this.controls.update()}destroy(){var e,n,a,i;(n=(e=this.canvas)==null?void 0:e.removeEventListener)==null||n.call(e,"pointerdown",this.handlePointerDown),(i=(a=this.canvas)==null?void 0:a.removeEventListener)==null||i.call(a,"pointerleave",this.handlePointerUp),window.removeEventListener("pointerup",this.handlePointerUp),this.controls.dispose()}}class J_{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const n=this._partials;let a=0;for(let i=0;i0){for(o=e[--n];n>0&&(a=o,i=e[--n],o=a+i,r=i-(o-a),!r););n>0&&(r<0&&e[n-1]<0||r>0&&e[n-1]>0)&&(i=r*2,a=o+i,i==a-o&&(o=a))}return o}}function*Q_(t){for(const e of t)yield*Ud(e)}function Jm(t){return Array.from(Q_(t))}var le=1e-6,X_=1e-12,B0=Math.PI,qt=B0/2,lf=B0/4,En=B0*2,un=180/B0,Ne=B0/180,Se=Math.abs,Qm=Math.atan,s7=Math.atan2,xe=Math.cos,Z_=Math.exp,ex=Math.log,Me=Math.sin,tx=Math.sign||function(t){return t>0?1:t<0?-1:0},vr=Math.sqrt,nx=Math.tan;function ax(t){return t>1?0:t<-1?B0:Math.acos(t)}function l7(t){return t>1?qt:t<-1?-qt:Math.asin(t)}function U4(){}function Ui(t,e){t&&cf.hasOwnProperty(t.type)&&cf[t.type](t,e)}var uf={Feature:function(t,e){Ui(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,a=-1,i=n.length;++aB0&&(t-=Math.round(t/En)*En),[t,e]}ul.invert=ul;function Xm(t,e,n){return(t%=En)?e||n?ll(hf(t),mf(e,n)):hf(t):e||n?mf(e,n):ul}function ff(t){return function(e,n){return e+=t,Se(e)>B0&&(e-=Math.round(e/En)*En),[e,n]}}function hf(t){var e=ff(t);return e.invert=ff(-t),e}function mf(t,e){var n=xe(t),a=Me(t),i=xe(e),r=Me(e);function o(s,u){var m=xe(u),h=xe(s)*m,p=Me(s)*m,g=Me(u),C=g*n+h*a;return[s7(p*i-C*r,h*n-g*a),l7(C*i+p*r)]}return o.invert=function(s,u){var m=xe(u),h=xe(s)*m,p=Me(s)*m,g=Me(u),C=g*i-p*r;return[s7(p*i+g*r,h*n+C*a),l7(C*n-h*a)]},o}function rx(t){t=Xm(t[0]*Ne,t[1]*Ne,t.length>2?t[2]*Ne:0);function e(n){return n=t(n[0]*Ne,n[1]*Ne),n[0]*=un,n[1]*=un,n}return e.invert=function(n){return n=t.invert(n[0]*Ne,n[1]*Ne),n[0]*=un,n[1]*=un,n},e}function ox(t,e,n,a,i,r){if(n){var o=xe(e),s=Me(e),u=a*n;i==null?(i=e+a*En,r=e-u/2):(i=pf(o,i),r=pf(o,r),(a>0?ir)&&(i+=a*En));for(var m,h=i;a>0?h>r:h1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function Ti(t,e){return Se(t[0]-e[0])=0;--s)i.point((p=h[s])[0],p[1]);else a(g.x,g.p.x,-1,i);g=g.p}g=g.o,h=g.z,C=!C}while(!g.v);i.lineEnd()}}}function gf(t){if(e=t.length){for(var e,n=0,a=t[0],i;++n=0?1:-1,m3=s3*V2,p3=m3>B0,U3=j*j2;if(u.add(s7(U3*s3*Me(m3),l2*K2+U3*xe(m3))),o+=p3?V2+s3*En:V2,p3^I>=n^T2>=n){var b3=Oi(m8(C),m8(S2));sl(b3);var Y3=Oi(r,b3);sl(Y3);var o3=(p3^V2>=0?-1:1)*l7(Y3[2]);(a>o3||a===o3&&(b3[0]||b3[1]))&&(s+=p3^V2>=0?1:-1)}}return(o<-le||o0){for(u||(i.polygonStart(),u=!0),i.lineStart(),j2=0;j21&&T2&2&&C2.push(C2.pop().concat(C2.shift())),h.push(C2.filter(lx))}}return g}}function lx(t){return t.length>1}function ux(t,e){return((t=t.x)[0]<0?t[1]-qt-le:qt-t[1])-((e=e.x)[0]<0?e[1]-qt-le:qt-e[1])}const yf=tp(function(){return!0},cx,fx,[-B0,-qt]);function cx(t){var e=NaN,n=NaN,a=NaN,i;return{lineStart:function(){t.lineStart(),i=1},point:function(r,o){var s=r>0?B0:-B0,u=Se(r-e);Se(u-B0)0?qt:-qt),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(r,n),i=0):a!==s&&u>=B0&&(Se(e-a)le?Qm((Me(e)*(r=xe(a))*Me(n)-Me(a)*(i=xe(e))*Me(t))/(i*r*o)):(e+a)/2}function fx(t,e,n,a){var i;if(t==null)i=n*qt,a.point(-B0,i),a.point(0,i),a.point(B0,i),a.point(B0,0),a.point(B0,-i),a.point(0,-i),a.point(-B0,-i),a.point(-B0,0),a.point(-B0,i);else if(Se(t[0]-e[0])>le){var r=t[0]0,i=Se(e)>le;function r(h,p,g,C){ox(C,t,n,g,h,p)}function o(h,p){return xe(h)*xe(p)>e}function s(h){var p,g,C,I,U;return{lineStart:function(){I=C=!1,U=1},point:function(j,l2){var v2=[j,l2],S2,T2=o(j,l2),C2=a?T2?0:m(j,l2):T2?m(j+(j<0?B0:-B0),l2):0;if(!p&&(I=C=T2)&&h.lineStart(),T2!==C&&(S2=u(p,v2),(!S2||Ti(p,S2)||Ti(v2,S2))&&(v2[2]=1)),T2!==C)U=0,T2?(h.lineStart(),S2=u(v2,p),h.point(S2[0],S2[1])):(S2=u(p,v2),h.point(S2[0],S2[1],2),h.lineEnd()),p=S2;else if(i&&p&&a^T2){var j2;!(C2&g)&&(j2=u(v2,p,!0))&&(U=0,a?(h.lineStart(),h.point(j2[0][0],j2[0][1]),h.point(j2[1][0],j2[1][1]),h.lineEnd()):(h.point(j2[1][0],j2[1][1]),h.lineEnd(),h.lineStart(),h.point(j2[0][0],j2[0][1],3)))}T2&&(!p||!Ti(p,v2))&&h.point(v2[0],v2[1]),p=v2,C=T2,g=C2},lineEnd:function(){C&&h.lineEnd(),p=null},clean:function(){return U|(I&&C)<<1}}}function u(h,p,g){var C=m8(h),I=m8(p),U=[1,0,0],j=Oi(C,I),l2=Va(j,j),v2=j[0],S2=l2-v2*v2;if(!S2)return!g&&h;var T2=e*l2/S2,C2=-e*v2/S2,j2=Oi(U,j),K2=Ha(U,T2),V2=Ha(j,C2);gs(K2,V2);var s3=j2,m3=Va(K2,s3),p3=Va(s3,s3),U3=m3*m3-p3*(Va(K2,K2)-1);if(!(U3<0)){var b3=vr(U3),Y3=Ha(s3,(-m3-b3)/p3);if(gs(Y3,K2),Y3=ol(Y3),!g)return Y3;var o3=h[0],n1=p[0],b1=h[1],W3=p[1],R1;n10^Y3[1]<(Se(Y3[0]-o3)B0^(o3<=Y3[0]&&Y3[0]<=n1)){var x3=Ha(s3,(-m3+b3)/p3);return gs(x3,K2),[Y3,ol(x3)]}}}function m(h,p){var g=a?t:B0-t,C=0;return h<-g?C|=1:h>g&&(C|=2),p<-g?C|=4:p>g&&(C|=8),C}return tp(o,s,r,a?[0,-t]:[-B0,t-B0])}function mx(t,e,n,a,i,r){var o=t[0],s=t[1],u=e[0],m=e[1],h=0,p=1,g=u-o,C=m-s,I;if(I=n-o,!(!g&&I>0)){if(I/=g,g<0){if(I0){if(I>p)return;I>h&&(h=I)}if(I=i-o,!(!g&&I<0)){if(I/=g,g<0){if(I>p)return;I>h&&(h=I)}else if(g>0){if(I0)){if(I/=C,C<0){if(I0){if(I>p)return;I>h&&(h=I)}if(I=r-s,!(!C&&I<0)){if(I/=C,C<0){if(I>p)return;I>h&&(h=I)}else if(C>0){if(I0&&(t[0]=o+h*g,t[1]=s+h*C),p<1&&(e[0]=o+p*g,e[1]=s+p*C),!0}}}}}var O4=1e9,qa=-O4;function px(t,e,n,a){function i(m,h){return t<=m&&m<=n&&e<=h&&h<=a}function r(m,h,p,g){var C=0,I=0;if(m==null||(C=o(m,p))!==(I=o(h,p))||u(m,h)<0^p>0)do g.point(C===0||C===3?t:n,C>1?a:e);while((C=(C+p+4)%4)!==I);else g.point(h[0],h[1])}function o(m,h){return Se(m[0]-t)0?0:3:Se(m[0]-n)0?2:1:Se(m[1]-e)0?1:0:h>0?3:2}function s(m,h){return u(m.x,h.x)}function u(m,h){var p=o(m,1),g=o(h,1);return p!==g?p-g:p===0?h[1]-m[1]:p===1?m[0]-h[0]:p===2?m[1]-h[1]:h[0]-m[0]}return function(m){var h=m,p=Zm(),g,C,I,U,j,l2,v2,S2,T2,C2,j2,K2={point:V2,lineStart:U3,lineEnd:b3,polygonStart:m3,polygonEnd:p3};function V2(o3,n1){i(o3,n1)&&h.point(o3,n1)}function s3(){for(var o3=0,n1=0,b1=C.length;n1a&&(L3-h3)*(a-x3)>(h1-x3)*(t-h3)&&++o3:h1<=a&&(L3-h3)*(a-x3)<(h1-x3)*(t-h3)&&--o3;return o3}function m3(){h=p,g=[],C=[],j2=!0}function p3(){var o3=s3(),n1=j2&&o3,b1=(g=Jm(g)).length;(n1||b1)&&(m.polygonStart(),n1&&(m.lineStart(),r(null,null,1,m),m.lineEnd()),b1&&ep(g,s,o3,r,m),m.polygonEnd()),h=m,g=C=I=null}function U3(){K2.point=Y3,C&&C.push(I=[]),C2=!0,T2=!1,v2=S2=NaN}function b3(){g&&(Y3(U,j),l2&&T2&&p.rejoin(),g.push(p.result())),K2.point=V2,T2&&h.lineEnd()}function Y3(o3,n1){var b1=i(o3,n1);if(C&&I.push([o3,n1]),C2)U=o3,j=n1,l2=b1,C2=!1,b1&&(h.lineStart(),h.point(o3,n1));else if(b1&&T2)h.point(o3,n1);else{var W3=[v2=Math.max(qa,Math.min(O4,v2)),S2=Math.max(qa,Math.min(O4,S2))],R1=[o3=Math.max(qa,Math.min(O4,o3)),n1=Math.max(qa,Math.min(O4,n1))];mx(W3,R1,t,e,n,a)?(T2||(h.lineStart(),h.point(W3[0],W3[1])),h.point(R1[0],R1[1]),b1||h.lineEnd(),j2=!1):b1&&(h.lineStart(),h.point(o3,n1),j2=!1)}v2=o3,S2=n1,T2=b1}return K2}}const vf=t=>t;var p8=1/0,ji=p8,u7=-p8,zi=u7,gx={point:yx,lineStart:U4,lineEnd:U4,polygonStart:U4,polygonEnd:U4,result:function(){var t=[[p8,ji],[u7,zi]];return u7=zi=-(ji=p8=1/0),t}};function yx(t,e){tu7&&(u7=t),ezi&&(zi=e)}const Sf=gx;function ql(t){return function(e){var n=new cl;for(var a in t)n[a]=t[a];return n.stream=e,n}}function cl(){}cl.prototype={constructor:cl,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Jl(t,e,n){var a=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),a!=null&&t.clipExtent(null),ix(n,t.stream(Sf)),e(Sf.result()),a!=null&&t.clipExtent(a),t}function np(t,e,n){return Jl(t,function(a){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],o=Math.min(i/(a[1][0]-a[0][0]),r/(a[1][1]-a[0][1])),s=+e[0][0]+(i-o*(a[1][0]+a[0][0]))/2,u=+e[0][1]+(r-o*(a[1][1]+a[0][1]))/2;t.scale(150*o).translate([s,u])},n)}function vx(t,e,n){return np(t,[[0,0],e],n)}function Sx(t,e,n){return Jl(t,function(a){var i=+e,r=i/(a[1][0]-a[0][0]),o=(i-r*(a[1][0]+a[0][0]))/2,s=-r*a[0][1];t.scale(150*r).translate([o,s])},n)}function wx(t,e,n){return Jl(t,function(a){var i=+e,r=i/(a[1][1]-a[0][1]),o=-r*a[0][0],s=(i-r*(a[1][1]+a[0][1]))/2;t.scale(150*r).translate([o,s])},n)}var wf=16,bx=xe(30*Ne);function bf(t,e){return+e?Cx(t,e):Tx(t)}function Tx(t){return ql({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function Cx(t,e){function n(a,i,r,o,s,u,m,h,p,g,C,I,U,j){var l2=m-a,v2=h-i,S2=l2*l2+v2*v2;if(S2>4*e&&U--){var T2=o+g,C2=s+C,j2=u+I,K2=vr(T2*T2+C2*C2+j2*j2),V2=l7(j2/=K2),s3=Se(Se(j2)-1)e||Se((l2*b3+v2*Y3)/S2-.5)>.3||o*g+s*C+u*I2?o3[2]%360*Ne:0,b3()):[s*un,u*un,m*un]},p3.angle=function(o3){return arguments.length?(p=o3%360*Ne,b3()):p*un},p3.reflectX=function(o3){return arguments.length?(g=o3?-1:1,b3()):g<0},p3.reflectY=function(o3){return arguments.length?(C=o3?-1:1,b3()):C<0},p3.precision=function(o3){return arguments.length?(j2=bf(K2,C2=o3*o3),Y3()):vr(C2)},p3.fitExtent=function(o3,n1){return np(p3,o3,n1)},p3.fitSize=function(o3,n1){return vx(p3,o3,n1)},p3.fitWidth=function(o3,n1){return Sx(p3,o3,n1)},p3.fitHeight=function(o3,n1){return wx(p3,o3,n1)};function b3(){var o3=Tf(n,0,0,g,C,p).apply(null,e(r,o)),n1=Tf(n,a-o3[0],i-o3[1],g,C,p);return h=Xm(s,u,m),K2=ll(e,n1),V2=ll(h,K2),j2=bf(K2,C2),Y3()}function Y3(){return s3=m3=null,p3}return function(){return e=t.apply(this,arguments),p3.invert=e.invert&&U3,b3()}}function Ql(t,e){return[t,ex(nx((qt+e)/2))]}Ql.invert=function(t,e){return[t,2*Qm(Z_(e))-qt]};function d6(){return kx(Ql).scale(961/En)}function kx(t){var e=Mx(t),n=e.center,a=e.scale,i=e.translate,r=e.clipExtent,o=null,s,u,m;e.scale=function(p){return arguments.length?(a(p),h()):a()},e.translate=function(p){return arguments.length?(i(p),h()):i()},e.center=function(p){return arguments.length?(n(p),h()):n()},e.clipExtent=function(p){return arguments.length?(p==null?o=s=u=m=null:(o=+p[0][0],s=+p[0][1],u=+p[1][0],m=+p[1][1]),h()):o==null?null:[[o,s],[u,m]]};function h(){var p=B0*a(),g=e(rx(e.rotate()).invert([0,0]));return r(o==null?[[g[0]-p,g[1]-p],[g[0]+p,g[1]+p]]:t===Ql?[[Math.max(g[0]-p,o),s],[Math.min(g[0]+p,u),m]]:[[o,Math.max(g[1]-p,s)],[u,Math.min(g[1]+p,m)]])}return h()}class Ex extends yr{constructor(e,n={}){var i,r;super();let a={isOrthographic:!1};this.config=Object.assign({},a,n),this.canvas=e,this.scene=new iA,this.sizes=new o_(this),this.time=new s_(this),this.camera=new q_(this,{isOrthographic:this.config.isOrthographic}),this.renderer=new K_(this),this.handleControlsChange=()=>{var o,s,u;this.renderer.update(),(s=(o=this.label3d)==null?void 0:o.update)==null||s.call(o),(u=this.updateTownLabelScale)==null||u.call(this)},(r=(i=this.camera.controls)==null?void 0:i.addEventListener)==null||r.call(i,"change",this.handleControlsChange),this.sizes.on("resize",()=>{this.resize()}),this.time.on("tick",o=>{this.update(o)})}setAxesHelper(e=250){if(!e)return!1;let n=new rA(e);this.scene.add(n)}resize(){this.camera.resize(),this.renderer.resize()}update(e){this.camera.update(e),this.renderer.update(e)}destroy(){var e,n,a,i;(n=(e=this.camera.controls)==null?void 0:e.removeEventListener)==null||n.call(e,"change",this.handleControlsChange),this.sizes.destroy(),this.time.destroy(),this.camera.destroy(),this.renderer.destroy(),this.scene.traverse(r=>{if(r instanceof ye){r.geometry.dispose();for(const o in r.material){const s=r.material[o];s&&typeof s.dispose=="function"&&s.dispose()}}}),(i=(a=this.canvas)==null?void 0:a.parentNode)==null||i.removeChild(this.canvas)}}class Nx{constructor({material:e,time:n,size:a,diffuseColor:i,diffuseSpeed:r,diffuseWidth:o,callback:s=()=>{}}){this.time=n,this.pointShader=null,this.callback=s;let u={size:100,diffuseSpeed:15,diffuseColor:9345950,diffuseWidth:10};this.options=Object.assign({},u,{material:e,size:a,diffuseColor:i,diffuseSpeed:r,diffuseWidth:o}),this.init()}init(){let{material:e,size:n,diffuseColor:a,diffuseSpeed:i,diffuseWidth:r}=this.options,o=n/i;e.onBeforeCompile=s=>{this.pointShader=s,this.callback(s,o),s.uniforms=Z2(B2({},s.uniforms),{uTime:{value:0},uSpeed:{value:i},uWidth:{value:r},uColor:{value:new Ae(a)}}),s.vertexShader=s.vertexShader.replace("void main() {",` - varying vec3 vPosition; - void main(){ - vPosition = position; - `),s.fragmentShader=s.fragmentShader.replace("void main() {",` - uniform float uTime; - uniform float uSpeed; - uniform float uWidth; - uniform vec3 uColor; - varying vec3 vPosition; - void main(){ - `),s.fragmentShader=s.fragmentShader.replace("#include ",` - #ifdef OPAQUE - diffuseColor.a = 1.0; - #endif - - #ifdef USE_TRANSMISSION - diffuseColor.a *= material.transmissionAlpha; - #endif - - float r = uTime * uSpeed; - - float w = uWidth; - // if(w>uWidth){ - // w = uWidth; - // }else{ - // w = uTime * 1.5; - // } - - vec2 center = vec2(0.0, 0.0); - - float rDistance = distance(vPosition.xy, center); - - if(rDistance > r && rDistance < r + 2.0 * w) { - float per = 0.0; - if(rDistance < r + w) { - float p = smoothstep(0.0,1.0,(rDistance - r) / w); - p*=p; - outgoingLight = mix(outgoingLight, uColor, p); - } else { - - float p = smoothstep(0.0,1.0,(rDistance - r - w) / w); - - outgoingLight = mix(uColor, outgoingLight, p); - } - gl_FragColor = vec4(outgoingLight, diffuseColor.a); - } else { - gl_FragColor = vec4(outgoingLight, 0.0); - } - `)}}}class Rx{constructor({scene:e,time:n},a){this.scene=e,this.time=n,this.instance=null;let i={position:new t0(0,0,0),gridSize:100,gridDivision:20,gridColor:2635578,shapeSize:1,shapeColor:9345950,pointSize:.2,pointColor:2635578,pointLayout:{row:200,col:200},pointBlending:oA};this.options=Object.assign({},i,a),this.init()}init(){let e=new ae;e.name="Grid";let n=this.createGridHelp(),a=this.createShapes(),i=this.createPoint();e.add(n,a,i),e.position.copy(this.options.position),this.instance=e,this.scene.add(e)}createShapes(){let{gridSize:e,gridDivision:n,shapeSize:a,shapeColor:i}=this.options,r=e/n,o=e/2,s=new V0({color:i,side:ze}),u=[];for(let p=0;p{this.update()}),this.sizes.on("resize",()=>{this.resize()})}create(e="",n="",a=!1){let i=document.createElement("div");i.innerHTML=e,i.className=n,i.style.visibility="hidden",i.style.position="absolute",n||(i.style.padding="10px",i.style.color="#fff",i.style.fontSize="12px",i.style.textAlign="center",i.style.background="rgba(0,0,0,0.6)",i.style.borderRadius="4px");let r=null;return a?r=new Ix(i):r=new ap(i),r.init=(o,s)=>{r.element.innerHTML=o,r.element.style.visibility="visible",r.position.copy(s)},r.hide=()=>{r.element.style.visibility="hidden"},r.scaleHide=()=>{r.element.classList.add("scale-hidden")},r.show=()=>{r.element.style.visibility="visible",r.element.classList.remove("scale-hidden")},r.setParent=o=>{this.parent=o,o.add(r)},r.remove=()=>{this.parent.remove(r)},r}setLabelStyle(e,n=.1,a="x",i=Math.PI/2,r="none"){e.element.style.pointerEvents=r,e.scale.set(n,n,n),e.rotation[a]=i}setRenderLevel(e){this.css3dRender.domElement.style.zIndex=e}update(){this.css3dRender.render(this.scene,this.camera.instance)}destroy(){if(this.css3dRender){let e=this.css3dRender.domElement;e.parentNode.removeChild(e)}}resize(){let{width:e,height:n}=this.sizes;this.css3dRender.setSize(e,n)}}class _f{constructor({time:e},n){this.time=e,this.options=Object.assign({},{width:10,scale:1,position:new t0(0,0,0),needRotate:!1,rotateSpeed:.001,material:new V0({transparent:!0,opacity:1,depthTest:!0})},n);let a=new F6(this.options.width,this.options.width),i=new ye(a,this.options.material);i.position.copy(this.options.position),i.scale.set(this.options.scale,this.options.scale,this.options.scale),this.instance=i}setParent(e){e.add(this.instance),this.time.on("tick",()=>{this.update()})}update(){this.options.needRotate&&(this.instance.rotation.z+=this.options.rotateSpeed)}}class Yi{constructor({time:e},n={}){this.instance=null,this.time=e,this.enable=!0,this.config=Object.assign({num:100,range:500,speed:.01,renderOrder:99,dir:"up",material:new hr({map:Yi.createTexture(),size:20,color:16777215,transparent:!0,opacity:1,depthTest:!1,vertexColors:!0,blending:qe,sizeAttenuation:!0})},n),this.create()}create(){const{range:e,speed:n,dir:a,material:i,num:r,renderOrder:o}=this.config,s=[],u=[],m=[];for(let p=0;pa/2&&o===1&&(g=-a/2),g<-a/2&&o==-1&&(g=a/2),s.setX(h,p),s.setZ(h,g),u.setX(h,C),u.setY(h,I)}s.needsUpdate=!0,u.needsUpdate=!0}setParent(e){e.add(this.instance),this.time.on("tick",(n,a)=>{this.enable&&this.update(n,a)})}}class _4{constructor({},e={}){this.mapGroup=new ae,this.coordinates=[],this.config=Object.assign({position:new t0(0,0,0),geoProjectionCenter:new Ee(0,0),geoProjectionScale:120,data:"",renderOrder:1,merge:!1,material:new V0({color:1582651,transparent:!0,opacity:1})},e),this.mapGroup.position.copy(this.config.position);let n=Kl(this.config.data);this.create(n)}geoProjection(e){return d6().center(this.config.geoProjectionCenter).scale(this.config.geoProjectionScale).translate([0,0])(e)}create(e){let{merge:n}=this.config,a=[];if(e.features.forEach(i=>{const r=new w7;let{name:o,center:s=[],centroid:u=[]}=i.properties;this.coordinates.push({name:o,center:s,centroid:u}),r.userData.name=o,i.geometry.coordinates.forEach(m=>{m.forEach(h=>{const p=new r7;for(let C=0;C{var m,h,p;const a=new w7;let{name:i,center:r=[],centroid:o=[]}=n.properties;this.coordinates.push({name:i,center:r,centroid:o});const s={depth:this.config.depth,bevelEnabled:(m=this.config.bevelEnabled)!=null?m:!0,bevelSegments:(h=this.config.bevelSegments)!=null?h:1,bevelThickness:(p=this.config.bevelThickness)!=null?p:.1};let u=[this.config.topFaceMaterial,this.config.sideMaterial];n.geometry.coordinates.forEach(g=>{g.forEach((C,I)=>{const U=new r7;for(let v2=0;v2 - #include - #include - #include - #include - - uniform float linewidth; - uniform vec2 resolution; - - attribute vec3 instanceStart; - attribute vec3 instanceEnd; - - attribute vec3 instanceColorStart; - attribute vec3 instanceColorEnd; - - #ifdef WORLD_UNITS - - varying vec4 worldPos; - varying vec3 worldStart; - varying vec3 worldEnd; - - #ifdef USE_DASH - - varying vec2 vUv; - - #endif - - #else - - varying vec2 vUv; - - #endif - - #ifdef USE_DASH - - uniform float dashScale; - attribute float instanceDistanceStart; - attribute float instanceDistanceEnd; - varying float vLineDistance; - - #endif - - void trimSegment( const in vec4 start, inout vec4 end ) { - - // trim end segment so it terminates between the camera plane and the near plane - - // conservative estimate of the near plane - float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column - float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column - float nearEstimate = - 0.5 * b / a; - - float alpha = ( nearEstimate - start.z ) / ( end.z - start.z ); - - end.xyz = mix( start.xyz, end.xyz, alpha ); - - } - - void main() { - - #ifdef USE_COLOR - - vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd; - - #endif - - #ifdef USE_DASH - - vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd; - vUv = uv; - - #endif - - float aspect = resolution.x / resolution.y; - - // camera space - vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 ); - vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 ); - - #ifdef WORLD_UNITS - - worldStart = start.xyz; - worldEnd = end.xyz; - - #else - - vUv = uv; - - #endif - - // special case for perspective projection, and segments that terminate either in, or behind, the camera plane - // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space - // but we need to perform ndc-space calculations in the shader, so we must address this issue directly - // perhaps there is a more elegant solution -- WestLangley - - bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column - - if ( perspective ) { - - if ( start.z < 0.0 && end.z >= 0.0 ) { - - trimSegment( start, end ); - - } else if ( end.z < 0.0 && start.z >= 0.0 ) { - - trimSegment( end, start ); - - } - - } - - // clip space - vec4 clipStart = projectionMatrix * start; - vec4 clipEnd = projectionMatrix * end; - - // ndc space - vec3 ndcStart = clipStart.xyz / clipStart.w; - vec3 ndcEnd = clipEnd.xyz / clipEnd.w; - - // direction - vec2 dir = ndcEnd.xy - ndcStart.xy; - - // account for clip-space aspect ratio - dir.x *= aspect; - dir = normalize( dir ); - - #ifdef WORLD_UNITS - - vec3 worldDir = normalize( end.xyz - start.xyz ); - vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) ); - vec3 worldUp = normalize( cross( worldDir, tmpFwd ) ); - vec3 worldFwd = cross( worldDir, worldUp ); - worldPos = position.y < 0.5 ? start: end; - - // height offset - float hw = linewidth * 0.5; - worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp; - - // don't extend the line if we're rendering dashes because we - // won't be rendering the endcaps - #ifndef USE_DASH - - // cap extension - worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir; - - // add width to the box - worldPos.xyz += worldFwd * hw; - - // endcaps - if ( position.y > 1.0 || position.y < 0.0 ) { - - worldPos.xyz -= worldFwd * 2.0 * hw; - - } - - #endif - - // project the worldpos - vec4 clip = projectionMatrix * worldPos; - - // shift the depth of the projected points so the line - // segments overlap neatly - vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd; - clip.z = clipPose.z * clip.w; - - #else - - vec2 offset = vec2( dir.y, - dir.x ); - // undo aspect ratio adjustment - dir.x /= aspect; - offset.x /= aspect; - - // sign flip - if ( position.x < 0.0 ) offset *= - 1.0; - - // endcaps - if ( position.y < 0.0 ) { - - offset += - dir; - - } else if ( position.y > 1.0 ) { - - offset += dir; - - } - - // adjust for linewidth - offset *= linewidth; - - // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ... - offset /= resolution.y; - - // select end - vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd; - - // back to clip space - offset *= clip.w; - - clip.xy += offset; - - #endif - - gl_Position = clip; - - vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation - - #include - #include - #include - - } - `,fragmentShader:` - uniform vec3 diffuse; - uniform float opacity; - uniform float linewidth; - - #ifdef USE_DASH - - uniform float dashOffset; - uniform float dashSize; - uniform float gapSize; - - #endif - - varying float vLineDistance; - - #ifdef WORLD_UNITS - - varying vec4 worldPos; - varying vec3 worldStart; - varying vec3 worldEnd; - - #ifdef USE_DASH - - varying vec2 vUv; - - #endif - - #else - - varying vec2 vUv; - - #endif - - #include - #include - #include - #include - #include - - vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) { - - float mua; - float mub; - - vec3 p13 = p1 - p3; - vec3 p43 = p4 - p3; - - vec3 p21 = p2 - p1; - - float d1343 = dot( p13, p43 ); - float d4321 = dot( p43, p21 ); - float d1321 = dot( p13, p21 ); - float d4343 = dot( p43, p43 ); - float d2121 = dot( p21, p21 ); - - float denom = d2121 * d4343 - d4321 * d4321; - - float numer = d1343 * d4321 - d1321 * d4343; - - mua = numer / denom; - mua = clamp( mua, 0.0, 1.0 ); - mub = ( d1343 + d4321 * ( mua ) ) / d4343; - mub = clamp( mub, 0.0, 1.0 ); - - return vec2( mua, mub ); - - } - - void main() { - - #include - - #ifdef USE_DASH - - if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps - - if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX - - #endif - - float alpha = opacity; - - #ifdef WORLD_UNITS - - // Find the closest points on the view ray and the line segment - vec3 rayEnd = normalize( worldPos.xyz ) * 1e5; - vec3 lineDir = worldEnd - worldStart; - vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd ); - - vec3 p1 = worldStart + lineDir * params.x; - vec3 p2 = rayEnd * params.y; - vec3 delta = p1 - p2; - float len = length( delta ); - float norm = len / linewidth; - - #ifndef USE_DASH - - #ifdef USE_ALPHA_TO_COVERAGE - - float dnorm = fwidth( norm ); - alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm ); - - #else - - if ( norm > 0.5 ) { - - discard; - - } - - #endif - - #endif - - #else - - #ifdef USE_ALPHA_TO_COVERAGE - - // artifacts appear on some hardware if a derivative is taken within a conditional - float a = vUv.x; - float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; - float len2 = a * a + b * b; - float dlen = fwidth( len2 ); - - if ( abs( vUv.y ) > 1.0 ) { - - alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 ); - - } - - #else - - if ( abs( vUv.y ) > 1.0 ) { - - float a = vUv.x; - float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0; - float len2 = a * a + b * b; - - if ( len2 > 1.0 ) discard; - - } - - #endif - - #endif - - vec4 diffuseColor = vec4( diffuse, alpha ); - - #include - #include - - gl_FragColor = vec4( diffuseColor.rgb, alpha ); - - #include - #include - #include - #include - - } - `};class rp extends dA{constructor(e){super({type:"LineMaterial",uniforms:Om.clone(vi.line.uniforms),vertexShader:vi.line.vertexShader,fragmentShader:vi.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1))}}const Pf=new t0,kf=new t0,He=new pr,Ke=new pr,r6=new pr,vs=new t0,Ss=new t9,Qe=new fA,Ef=new t0,Qa=new mr,Xa=new Vl,o6=new pr;let h6,Z5;function Nf(t,e,n){return o6.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),o6.multiplyScalar(1/o6.w),o6.x=Z5/n.width,o6.y=Z5/n.height,o6.applyMatrix4(t.projectionMatrixInverse),o6.multiplyScalar(1/o6.w),Math.abs(Math.max(o6.x,o6.y))}function Gx(t,e){const n=t.matrixWorld,a=t.geometry,i=a.attributes.instanceStart,r=a.attributes.instanceEnd,o=Math.min(a.instanceCount,i.count);for(let s=0,u=o;sp&&Ke.z>p)continue;if(He.z>p){const S2=He.z-Ke.z,T2=(He.z-p)/S2;He.lerp(Ke,T2)}else if(Ke.z>p){const S2=Ke.z-He.z,T2=(Ke.z-p)/S2;Ke.lerp(He,T2)}He.applyMatrix4(a),Ke.applyMatrix4(a),He.multiplyScalar(1/He.w),Ke.multiplyScalar(1/Ke.w),He.x*=r.x/2,He.y*=r.y/2,Ke.x*=r.x/2,Ke.y*=r.y/2,Qe.start.copy(He),Qe.start.z=0,Qe.end.copy(Ke),Qe.end.z=0;const U=Qe.closestPointToPointParameter(vs,!0);Qe.at(U,Ef);const j=Dm.lerp(He.z,Ke.z,U),l2=j>=-1&&j<=1,v2=vs.distanceTo(Ef){const h=[];let p=null;n==="Line2"?(m[0].forEach(g=>{const[C,I]=this.geoProjection(g);h.push(C,-I,0)}),p=this.createLine2(h)):n==="Line3"?(m[0].forEach(g=>{const[C,I]=this.geoProjection(g);h.push(new t0(C,-I,0))}),p=this.createLine3(h)):m[0].forEach(g=>{const[C,I]=this.geoProjection(g);h.push(new t0(C,-I,0)),p=this.createLine(h)}),u.add(p)}),r.add(u))}return r}createLine3(e){const n=this.config.tubeRadius,a=256*10,i=4,r=!1,{material:o,renderOrder:s}=this.config,u=new jm(e),m=new zm(u,a,n,i,r),h=new ye(m,o);return h.name="mapLine3",h.renderOrder=s,h}createLine2(e){const{material:n,renderOrder:a}=this.config,i=new op;i.setPositions(e);let r=new jx(i,n);return r.name="mapLine2",r.renderOrder=a,r.computeLineDistances(),r}createLine(e){const{material:n,renderOrder:a,type:i}=this.config,r=new zn;r.setFromPoints(e);let o=new Li(r,n);return o.renderOrder=a,o.name="mapLine",o}setParent(e){e.add(this.lineGroup)}}class Za{constructor(e,n){this.shader=null,this.config=Object.assign({uColor1:2781042,uColor2:860197,size:15,dir:"x"},n),this.init(e)}init(e){let{uColor1:n,uColor2:a,dir:i,size:r}=this.config,o={x:1,y:2,z:3};e.onBeforeCompile=s=>{this.shader=s,s.uniforms=Z2(B2({},s.uniforms),{uColor1:{value:new Ae(n)},uColor2:{value:new Ae(a)},uDir:{value:o[i]},uSize:{value:r}}),s.vertexShader=s.vertexShader.replace("void main() {",` - attribute float alpha; - varying vec3 vPosition; - varying float vAlpha; - void main() { - vAlpha = alpha; - vPosition = position; - `),s.fragmentShader=s.fragmentShader.replace("void main() {",` - varying vec3 vPosition; - varying float vAlpha; - uniform vec3 uColor1; - uniform vec3 uColor2; - uniform float uDir; - uniform float uSize; - - void main() { - `),s.fragmentShader=s.fragmentShader.replace("#include ",` - #ifdef OPAQUE - diffuseColor.a = 1.0; - #endif - - // https://github.com/mrdoob/three.js/pull/22425 - #ifdef USE_TRANSMISSION - diffuseColor.a *= transmissionAlpha + 0.1; - #endif - // vec3 gradient = mix(uColor1, uColor2, vPosition.x / 15.0); - vec3 gradient = vec3(0.0,0.0,0.0); - if(uDir==1.0){ - gradient = mix(uColor1, uColor2, vPosition.x/ uSize); - }else if(uDir==2.0){ - gradient = mix(uColor1, uColor2, vPosition.z/ uSize); - }else if(uDir==3.0){ - gradient = mix(uColor1, uColor2, vPosition.y/ uSize); - } - outgoingLight = outgoingLight * gradient; - - - gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - `)}}}const zx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK+SURBVHgB7dzNbdswGIdxSugCRtGBuklWSO17nXs/J0hHywA11AEMu3wDsLFT5WCJ5PtI/D8nQ5cA/FmxJJLqtofhHBSmPihUAoElEFgCgfVu7ODX95suqOKNXVDpDIElEFgCgSUQWAKBJRBYAoE1G2Q3DJ/j9fRjUGE7DI+f4niEGc0CMYzzKezjx7vWUQwjnMJdF8djDsq8M+QYLu/om0VJGP8OXI/LTc0C+fJhs4/fiIeLQ82hvMaI/zEevsVxCROb/RvSMkpuDCvLVVaLKCUwrGyXvS2hlMKwst6HtIBSEsPKfmO4ZpTSGFaRO/U1otTAsIo9OlkTSi0Mq+izrDWg1MSwij9cXDJKbQyrytPeJaJ4YFjVHr8vCcULw6o6H7IEFE8Mq/oEFRnFG8NymTEkohAwLLcpXBIKBcNynVMnoJAwLPdFDp4oNAwLserEA4WIYXVjK7C9Vr+fY8Gh7e8/Lhha/f5GhDMjJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJRBYAoElEFgCgSUQWAKBJZDwvIIQs2kIA/K81tYvzKYhBMh/75vyCYHiDgLBSLmjuIK8xrBV6J1HoO11biCk/Rmk7XUuIMTNMhSU6iDUnUsWAaUqCBkj5Y1SDWQJGClPlCogS8JIeaEUB1kiRsoDpSjIkjFStVGKgawBI1UTpQjImjBStVCyg6wRI1UDJSvImjFSpVGygbSAkSqJkgWkJYxUKZTZIC1ipEqgzAJpGSOVG2UyiDBeyokyCWR3OOyFcd0Yyu4wfA83Ngnk2Pe/ziE82WdhvHSJYuNz7MPPcGOTQH5sNk+nPnyMf/xeGNcZSvyS3tv42DiFG0O94q+19Iq/BSQQWAKBJRBYAoElEFgCgSUQWKM3hsovnSGwBAJLILAEAusvLK6Na4P/Au0AAAAASUVORK5CYII=",sp=`{"name":"hongyuan_townships","type":"FeatureCollection","source":"PostGIS public.c_area where parent_code = 513233","features":[{"id":"513233100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.439335,32.937888],[102.439465,32.937624],[102.439588,32.937381],[102.439753,32.937201],[102.439756,32.937198],[102.439918,32.937021],[102.440068,32.936829],[102.440337,32.936613],[102.440605,32.936411],[102.440872,32.936208],[102.440989,32.936044],[102.440992,32.93604],[102.440994,32.935966],[102.440914,32.935745],[102.440772,32.935619],[102.440517,32.935419],[102.440455,32.935375],[102.440916,32.935324],[102.441734,32.935456],[102.44229,32.935178],[102.442815,32.934419],[102.44351,32.933259],[102.444121,32.932655],[102.444338,32.932255],[102.444741,32.931762],[102.445596,32.931414],[102.446633,32.931069],[102.447794,32.930381],[102.448442,32.930105],[102.449001,32.929712],[102.449331,32.929353],[102.449481,32.928894],[102.449606,32.928531],[102.450068,32.928328],[102.450741,32.927976],[102.45119,32.927446],[102.451478,32.926932],[102.451945,32.926576],[102.452324,32.926121],[102.452633,32.925685],[102.453259,32.925351],[102.454021,32.925039],[102.454694,32.924668],[102.455301,32.924218],[102.455973,32.923866],[102.456693,32.923437],[102.456974,32.923193],[102.457186,32.922966],[102.457363,32.922373],[102.45741,32.921526],[102.457323,32.919772],[102.457389,32.919361],[102.457412,32.919221],[102.457434,32.919081],[102.45745,32.918523],[102.457466,32.917965],[102.457431,32.917608],[102.457395,32.917251],[102.457233,32.916949],[102.45707,32.916648],[102.45673,32.916159],[102.45639,32.915671],[102.456185,32.915263],[102.45598,32.914854],[102.455876,32.914515],[102.455771,32.914176],[102.45562,32.913855],[102.45547,32.913534],[102.455472,32.913062],[102.455474,32.912591],[102.455475,32.912157],[102.455476,32.911724],[102.455408,32.911299],[102.455341,32.910874],[102.45526,32.910487],[102.45518,32.910101],[102.45526,32.909717],[102.455339,32.909334],[102.455421,32.908864],[102.455503,32.908393],[102.455584,32.907943],[102.455666,32.907492],[102.45571,32.906751],[102.455754,32.906011],[102.455799,32.905636],[102.455844,32.905262],[102.456031,32.904303],[102.456122,32.903515],[102.456001,32.902145],[102.456207,32.898887],[102.456064,32.89765],[102.456252,32.89609],[102.456412,32.894227],[102.456305,32.892992],[102.45657,32.892425],[102.45739,32.891208],[102.458239,32.890203],[102.459053,32.889166],[102.459612,32.888305],[102.460165,32.887684],[102.460608,32.887152],[102.461397,32.887017],[102.462111,32.886972],[102.462401,32.886827],[102.462597,32.886199],[102.463022,32.885034],[102.463218,32.884437],[102.46356,32.883691],[102.463871,32.882795],[102.463611,32.881887],[102.463009,32.880491],[102.463072,32.879529],[102.463198,32.87887],[102.463539,32.878155],[102.464274,32.877387],[102.464908,32.876407],[102.465427,32.875726],[102.466434,32.874182],[102.466629,32.873584],[102.466789,32.872955],[102.466809,32.872264],[102.466829,32.871572],[102.467217,32.870467],[102.468038,32.869159],[102.469019,32.867284],[102.469365,32.866388],[102.469819,32.865465],[102.469976,32.864956],[102.470434,32.863912],[102.471528,32.861768],[102.471984,32.860785],[102.472222,32.859947],[102.472702,32.859232],[102.47278,32.859116],[102.473231,32.858282],[102.473931,32.857514],[102.474161,32.857282],[102.474545,32.856895],[102.475173,32.856433],[102.476142,32.856205],[102.477274,32.855889],[102.478111,32.85559],[102.479001,32.855337],[102.480214,32.854978],[102.481052,32.854679],[102.481971,32.854314],[102.483244,32.85373],[102.484003,32.853362],[102.484649,32.853194],[102.485238,32.853184],[102.486127,32.852953],[102.486855,32.85272],[102.487537,32.852254],[102.48862,32.851531],[102.489742,32.850826],[102.490281,32.850567],[102.490759,32.850338],[102.491861,32.849463],[102.492679,32.848706],[102.49356,32.847885],[102.494546,32.847029],[102.495856,32.8459],[102.496385,32.845276],[102.496502,32.84486],[102.496437,32.84449],[102.496327,32.84412],[102.496249,32.843674],[102.496027,32.843048],[102.495721,32.842674],[102.495537,32.842264],[102.495224,32.841623],[102.494771,32.840636],[102.494555,32.840302],[102.494596,32.839754],[102.49473,32.839101],[102.494919,32.838241],[102.495116,32.837687],[102.495393,32.837247],[102.495484,32.836942],[102.495488,32.836897],[102.49553,32.836469],[102.495487,32.835659],[102.495517,32.835172],[102.495307,32.834429],[102.495258,32.833215],[102.495287,32.832198],[102.495507,32.830836],[102.495588,32.830294],[102.495721,32.829684],[102.495954,32.829005],[102.497083,32.826899],[102.4977,32.82604],[102.498076,32.825525],[102.498227,32.824722],[102.498463,32.82366],[102.498588,32.8229],[102.498942,32.82221],[102.49959,32.821199],[102.500151,32.820513],[102.500339,32.820256],[102.500413,32.820158],[102.500798,32.819848],[102.501091,32.819456],[102.501299,32.818746],[102.501321,32.817952],[102.500655,32.817166],[102.500433,32.816903],[102.499831,32.816281],[102.49959,32.815689],[102.499278,32.814855],[102.498883,32.814215],[102.498573,32.813294],[102.498437,32.812638],[102.498223,32.81198],[102.497608,32.810922],[102.497089,32.810106],[102.496219,32.808956],[102.495557,32.807723],[102.495094,32.806909],[102.495091,32.806903],[102.495059,32.806847],[102.495058,32.806845],[102.495057,32.806843],[102.495026,32.80679],[102.494254,32.805432],[102.493553,32.80433],[102.493538,32.804306],[102.492419,32.802825],[102.491777,32.801788],[102.491803,32.800895],[102.491908,32.80052],[102.49192,32.800476],[102.492233,32.799358],[102.492391,32.799006],[102.494832,32.793593],[102.494849,32.793556],[102.494882,32.793483],[102.4949,32.793443],[102.494913,32.793415],[102.494921,32.793398],[102.495295,32.792567],[102.495311,32.792533],[102.495326,32.792499],[102.495339,32.792471],[102.495353,32.792439],[102.495357,32.79243],[102.495368,32.792407],[102.495601,32.791966],[102.495631,32.791908],[102.495664,32.791847],[102.495681,32.791814],[102.495701,32.791776],[102.495741,32.791699],[102.495743,32.791696],[102.495942,32.79132],[102.495957,32.791291],[102.495958,32.79129],[102.495977,32.791253],[102.496141,32.790943],[102.496206,32.790821],[102.496227,32.790781],[102.496484,32.790294],[102.497119,32.790656],[102.497803,32.791083],[102.498545,32.791294],[102.499195,32.791265],[102.499216,32.791264],[102.499671,32.79104],[102.499896,32.790929],[102.500526,32.790463],[102.500871,32.790208],[102.500808,32.789908],[102.500816,32.789612],[102.500825,32.789283],[102.500832,32.789058],[102.500834,32.788964],[102.500847,32.788526],[102.50085,32.788408],[102.500866,32.78783],[102.500876,32.78749],[102.500958,32.787305],[102.501171,32.786828],[102.501244,32.786663],[102.501361,32.786554],[102.50146,32.786461],[102.5015,32.786423],[102.501756,32.786183],[102.501785,32.786155],[102.501844,32.7861],[102.501849,32.786096],[102.501853,32.786092],[102.501884,32.786081],[102.501923,32.786069],[102.501936,32.786064],[102.503049,32.785698],[102.503785,32.785738],[102.504006,32.78575],[102.504282,32.785765],[102.505311,32.786035],[102.50592,32.786141],[102.506392,32.786224],[102.507623,32.786374],[102.508449,32.786849],[102.508526,32.787282],[102.508552,32.787428],[102.50862,32.787812],[102.508444,32.788136],[102.508389,32.788239],[102.508151,32.788678],[102.50812,32.788804],[102.508079,32.78897],[102.508047,32.789097],[102.507965,32.789429],[102.507873,32.789799],[102.508191,32.79008],[102.50821,32.790098],[102.508393,32.790092],[102.508606,32.790085],[102.50869,32.790082],[102.508743,32.79008],[102.509001,32.790072],[102.509164,32.790003],[102.509337,32.78993],[102.509383,32.789911],[102.509469,32.789874],[102.50972,32.789768],[102.509851,32.789713],[102.510266,32.789151],[102.510518,32.788809],[102.510992,32.787734],[102.510969,32.786816],[102.510549,32.786278],[102.510517,32.786236],[102.51011,32.785714],[102.508457,32.784805],[102.507301,32.783739],[102.507134,32.782651],[102.5074,32.781989],[102.507766,32.781748],[102.507803,32.781723],[102.507897,32.781662],[102.507932,32.781638],[102.507953,32.781625],[102.508188,32.781549],[102.508198,32.781545],[102.508199,32.781545],[102.508275,32.78152],[102.508286,32.781517],[102.5088,32.78135],[102.509279,32.781286],[102.509771,32.78122],[102.509817,32.781214],[102.50989,32.781205],[102.509912,32.781178],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.510024,32.781043],[102.510073,32.780984],[102.510178,32.780858],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780844],[102.510197,32.780835],[102.510201,32.78083],[102.510266,32.780757],[102.510271,32.780752],[102.510617,32.78036],[102.511574,32.779277],[102.512155,32.777913],[102.512186,32.777831],[102.512259,32.77764],[102.51306,32.775553],[102.513343,32.774527],[102.513609,32.773562],[102.513882,32.772608],[102.514105,32.771694],[102.514966,32.769167],[102.515443,32.767967],[102.515761,32.76718],[102.515981,32.766392],[102.516656,32.765196],[102.517578,32.764004],[102.517273,32.762538],[102.517102,32.761576],[102.516983,32.76053],[102.517079,32.758864],[102.517078,32.757112],[102.516861,32.756023],[102.516244,32.755135],[102.515087,32.754152],[102.513051,32.752819],[102.510977,32.751402],[102.510096,32.7508],[102.50903,32.750069],[102.508823,32.749863],[102.507986,32.749029],[102.507648,32.748691],[102.507493,32.748537],[102.507251,32.748257],[102.50593,32.746729],[102.505915,32.746712],[102.504698,32.744352],[102.504056,32.742587],[102.504051,32.742242],[102.504047,32.741937],[102.504039,32.741419],[102.50403,32.741365],[102.503859,32.740319],[102.503744,32.739619],[102.503789,32.737993],[102.503308,32.735207],[102.502777,32.733942],[102.5027,32.733757],[102.502649,32.733637],[102.502644,32.733493],[102.502609,32.732461],[102.502601,32.732227],[102.502637,32.730957],[102.502662,32.730055],[102.502664,32.729988],[102.502666,32.729885],[102.502669,32.729781],[102.502643,32.72915],[102.502617,32.728519],[102.502505,32.727813],[102.502393,32.727106],[102.501973,32.72643],[102.501553,32.725754],[102.50109,32.725033],[102.500627,32.724311],[102.500346,32.724151],[102.500065,32.72399],[102.499828,32.723692],[102.499592,32.723394],[102.499438,32.723063],[102.499284,32.722732],[102.499112,32.722315],[102.49894,32.721898],[102.498832,32.721361],[102.498725,32.720824],[102.498577,32.720269],[102.49843,32.719715],[102.498422,32.719266],[102.498414,32.718818],[102.498409,32.718248],[102.498405,32.717679],[102.498375,32.717282],[102.498345,32.716885],[102.497995,32.716291],[102.497644,32.715698],[102.497412,32.715245],[102.49718,32.714792],[102.49707,32.714359],[102.496959,32.713925],[102.496531,32.71321],[102.496102,32.712494],[102.495767,32.712073],[102.495432,32.711653],[102.495136,32.711285],[102.49484,32.710917],[102.494348,32.710286],[102.493856,32.709655],[102.493385,32.708991],[102.492914,32.708326],[102.492622,32.707803],[102.492331,32.707279],[102.492025,32.706549],[102.491719,32.705819],[102.491631,32.705317],[102.491543,32.704815],[102.491399,32.704139],[102.491255,32.703464],[102.491183,32.702962],[102.491175,32.702907],[102.491104,32.702415],[102.49109,32.702322],[102.491064,32.702137],[102.491016,32.701804],[102.490906,32.699904],[102.490842,32.699282],[102.49058,32.698415],[102.490532,32.698391],[102.490429,32.696549],[102.49061,32.695897],[102.491319,32.695325],[102.492317,32.694655],[102.493923,32.694136],[102.495114,32.693815],[102.496321,32.69363],[102.496712,32.693571],[102.497331,32.693371],[102.497618,32.693278],[102.499003,32.69334],[102.499525,32.693627],[102.500211,32.693882],[102.500386,32.693993],[102.500492,32.69406],[102.503889,32.695851],[102.505234,32.696437],[102.50583,32.696696],[102.506688,32.696966],[102.507444,32.697203],[102.507934,32.69736],[102.509215,32.697769],[102.509502,32.697861],[102.511166,32.698065],[102.511348,32.698088],[102.512285,32.698152],[102.513131,32.69821],[102.514262,32.698288],[102.514305,32.69829],[102.515414,32.698343],[102.515438,32.698344],[102.515484,32.698346],[102.515608,32.698352],[102.515754,32.698359],[102.515777,32.69836],[102.515786,32.698361],[102.515943,32.698368],[102.516141,32.698341],[102.51627,32.698323],[102.517149,32.698202],[102.517151,32.698202],[102.517204,32.698194],[102.517212,32.698193],[102.517738,32.698121],[102.517768,32.698116],[102.517795,32.698113],[102.517796,32.698113],[102.517796,32.698112],[102.517859,32.698104],[102.518122,32.698068],[102.518648,32.697995],[102.519425,32.697971],[102.523039,32.697861],[102.523164,32.697857],[102.523367,32.697851],[102.525392,32.697701],[102.526433,32.697797],[102.526799,32.697831],[102.527351,32.697882],[102.528949,32.697838],[102.529879,32.697813],[102.53041,32.697799],[102.531396,32.697772],[102.534147,32.697731],[102.535597,32.698092],[102.536601,32.698301],[102.535798,32.696909],[102.535783,32.696847],[102.535735,32.696639],[102.535447,32.695384],[102.535047,32.694857],[102.534739,32.69445],[102.533876,32.693312],[102.533356,32.692665],[102.533055,32.69229],[102.531977,32.690949],[102.530923,32.689729],[102.530726,32.689501],[102.529985,32.687872],[102.529975,32.687791],[102.529975,32.687791],[102.529948,32.68758],[102.52993,32.687429],[102.529755,32.686017],[102.529572,32.684969],[102.529523,32.684686],[102.529464,32.68435],[102.528939,32.683058],[102.528298,32.681492],[102.528275,32.681436],[102.52822,32.681302],[102.528097,32.681001],[102.527947,32.680656],[102.527779,32.68027],[102.527495,32.679618],[102.527282,32.679131],[102.5272,32.678942],[102.527029,32.678396],[102.526736,32.677462],[102.526578,32.676968],[102.526549,32.676878],[102.525959,32.675027],[102.525806,32.674549],[102.525301,32.672498],[102.525214,32.671594],[102.524742,32.670868],[102.52453,32.670541],[102.524245,32.670104],[102.523542,32.669141],[102.522782,32.668224],[102.522027,32.667118],[102.521565,32.66664],[102.521381,32.665338],[102.521091,32.66394],[102.521115,32.663059],[102.521262,32.661717],[102.521132,32.660462],[102.520796,32.658739],[102.52047,32.656645],[102.520043,32.65554],[102.520021,32.655484],[102.51988,32.65512],[102.519855,32.655056],[102.519503,32.653935],[102.519496,32.652172],[102.519915,32.650928],[102.520001,32.64977],[102.52031,32.648524],[102.520448,32.647506],[102.520916,32.646448],[102.521664,32.645164],[102.523307,32.643248],[102.523992,32.642241],[102.524899,32.641192],[102.525754,32.640003],[102.526438,32.639042],[102.527296,32.63776],[102.52798,32.6368],[102.529309,32.636316],[102.530926,32.635327],[102.53276,32.634435],[102.534097,32.633673],[102.535564,32.632125],[102.536416,32.631074],[102.537873,32.629897],[102.539552,32.628631],[102.540786,32.627635],[102.542642,32.625908],[102.543939,32.624588],[102.544679,32.623582],[102.546576,32.622367],[102.548618,32.62185],[102.550262,32.621882],[102.550863,32.62194],[102.552375,32.620764],[102.552711,32.620455],[102.554006,32.619265],[102.554907,32.618354],[102.555649,32.617302],[102.556441,32.61639],[102.556752,32.615004],[102.557392,32.613671],[102.558409,32.612531],[102.55848,32.612442],[102.559204,32.611526],[102.559138,32.611041],[102.559021,32.610177],[102.559016,32.609776],[102.559003,32.608832],[102.557939,32.607651],[102.557933,32.607364],[102.557927,32.607061],[102.557915,32.606495],[102.557963,32.606542],[102.558981,32.607625],[102.560591,32.608863],[102.561153,32.609302],[102.561452,32.609536],[102.562163,32.610092],[102.562416,32.61029],[102.563718,32.611475],[102.563974,32.611707],[102.564395,32.612091],[102.566533,32.614127],[102.568248,32.615552],[102.569487,32.616365],[102.57126,32.617698],[102.571601,32.618039],[102.571581,32.617982],[102.571868,32.617478],[102.573049,32.616387],[102.573846,32.615289],[102.575478,32.613697],[102.576709,32.612793],[102.578108,32.611707],[102.57961,32.610901],[102.581008,32.609861],[102.58152,32.609175],[102.581482,32.608525],[102.582228,32.607287],[102.582898,32.606836],[102.595355,32.615193],[102.595396,32.615221],[102.595497,32.615288],[102.597516,32.615606],[102.600068,32.616536],[102.600466,32.6167],[102.601329,32.617056],[102.601357,32.617067],[102.60143,32.617097],[102.601474,32.617115],[102.602038,32.617348],[102.602074,32.617363],[102.603269,32.617757],[102.605241,32.617794],[102.606198,32.617958],[102.606199,32.617958],[102.606214,32.617961],[102.606222,32.617962],[102.606245,32.617966],[102.606769,32.618055],[102.608017,32.618543],[102.611033,32.618641],[102.611136,32.618644],[102.61119,32.618646],[102.611467,32.618655],[102.611469,32.618655],[102.61147,32.618655],[102.611682,32.618659],[102.61174,32.61866],[102.611765,32.618661],[102.611947,32.618664],[102.612932,32.618683],[102.613188,32.618688],[102.613201,32.618688],[102.613203,32.618688],[102.613205,32.618688],[102.613217,32.618688],[102.613434,32.618693],[102.613437,32.618693],[102.61344,32.618693],[102.613601,32.618651],[102.614268,32.618476],[102.615713,32.617715],[102.615849,32.617619],[102.615852,32.617617],[102.615854,32.617616],[102.615859,32.617612],[102.615932,32.61756],[102.615944,32.617552],[102.615944,32.617552],[102.616607,32.617083],[102.617115,32.616743],[102.61789,32.616226],[102.619166,32.615647],[102.620392,32.614882],[102.621617,32.614163],[102.623002,32.613632],[102.623637,32.613392],[102.624053,32.613234],[102.625465,32.612859],[102.626312,32.612569],[102.626329,32.612585],[102.626375,32.612629],[102.626531,32.612777],[102.626681,32.61292],[102.626827,32.612922],[102.627185,32.612929],[102.627266,32.612851],[102.62729,32.612828],[102.6273,32.612826],[102.627376,32.6128],[102.627426,32.612784],[102.627436,32.612777],[102.627505,32.612733],[102.62755,32.612693],[102.62759,32.612638],[102.627626,32.612589],[102.627674,32.612539],[102.627798,32.612493],[102.62785,32.612473],[102.627877,32.612463],[102.62808,32.612387],[102.62836,32.612499],[102.628543,32.612715],[102.628723,32.613065],[102.628698,32.613319],[102.628681,32.613503],[102.628679,32.613517],[102.628628,32.613684],[102.628542,32.613967],[102.62847,32.614105],[102.628316,32.614403],[102.62831,32.614415],[102.628235,32.614866],[102.628255,32.614951],[102.628268,32.615004],[102.62832,32.615214],[102.628718,32.615648],[102.628707,32.616047],[102.628701,32.616074],[102.628674,32.616187],[102.628667,32.616217],[102.628664,32.616229],[102.628652,32.616278],[102.628642,32.616651],[102.629347,32.617432],[102.629352,32.617438],[102.629432,32.617523],[102.629476,32.617571],[102.629496,32.617618],[102.629805,32.617975],[102.629966,32.618136],[102.629823,32.618645],[102.629676,32.619029],[102.629742,32.619184],[102.629706,32.619233],[102.62964,32.619268],[102.629637,32.619291],[102.629667,32.619343],[102.629676,32.619332],[102.629685,32.619322],[102.629696,32.619316],[102.629706,32.619314],[102.629723,32.619315],[102.629733,32.619318],[102.629744,32.61932],[102.629753,32.619317],[102.629764,32.619314],[102.629778,32.61931],[102.629793,32.619302],[102.629809,32.619339],[102.629822,32.61937],[102.629827,32.619381],[102.629977,32.61973],[102.629992,32.619847],[102.629994,32.619862],[102.630003,32.619926],[102.630005,32.619941],[102.629952,32.61994],[102.629819,32.619935],[102.629754,32.619921],[102.629754,32.619986],[102.629772,32.620038],[102.629837,32.6201],[102.62995,32.620178],[102.630051,32.620293],[102.630053,32.620312],[102.630123,32.620981],[102.630125,32.620995],[102.630126,32.621009],[102.630058,32.621094],[102.62992,32.621268],[102.629905,32.621285],[102.62987,32.62133],[102.629701,32.621542],[102.629432,32.621508],[102.629422,32.621507],[102.629337,32.621496],[102.629301,32.621469],[102.629291,32.621447],[102.629277,32.621429],[102.629255,32.621422],[102.629226,32.621418],[102.629193,32.62141],[102.629176,32.621402],[102.629144,32.621379],[102.629104,32.62135],[102.629037,32.6213],[102.628969,32.621235],[102.628932,32.621183],[102.628787,32.621071],[102.628766,32.621054],[102.628634,32.620953],[102.628627,32.620947],[102.62862,32.620942],[102.628506,32.620979],[102.628067,32.621125],[102.628003,32.621367],[102.628,32.62138],[102.627998,32.621386],[102.627984,32.621442],[102.627975,32.621437],[102.627959,32.621436],[102.627948,32.621443],[102.627935,32.621453],[102.62792,32.621467],[102.627909,32.621483],[102.627888,32.621522],[102.627879,32.621572],[102.627881,32.621591],[102.627898,32.621606],[102.627902,32.62163],[102.627901,32.621655],[102.627898,32.621668],[102.627882,32.621691],[102.627867,32.621707],[102.627858,32.621721],[102.627851,32.621739],[102.62785,32.621752],[102.627858,32.621771],[102.627875,32.62179],[102.627891,32.621803],[102.627905,32.621813],[102.627927,32.621828],[102.627935,32.621842],[102.627948,32.62186],[102.627964,32.621917],[102.627975,32.621956],[102.627994,32.621985],[102.628022,32.622004],[102.628054,32.622022],[102.628104,32.622059],[102.628127,32.622091],[102.628151,32.62213],[102.628165,32.622161],[102.628187,32.622181],[102.628255,32.622197],[102.628282,32.622188],[102.628293,32.62217],[102.628308,32.622136],[102.628316,32.62211],[102.628335,32.622086],[102.628362,32.622051],[102.628477,32.622093],[102.628496,32.622101],[102.628513,32.622107],[102.629041,32.622303],[102.629232,32.62257],[102.629246,32.622589],[102.629314,32.622685],[102.62935,32.622734],[102.629267,32.622988],[102.6292,32.623195],[102.629142,32.62327],[102.628935,32.623537],[102.628803,32.623708],[102.628717,32.623675],[102.628588,32.623785],[102.628561,32.623796],[102.628508,32.623811],[102.628444,32.623818],[102.628397,32.623817],[102.628334,32.623809],[102.628151,32.623761],[102.628085,32.623727],[102.628041,32.6237],[102.627983,32.623639],[102.627966,32.623628],[102.627846,32.623551],[102.627745,32.623485],[102.627731,32.623476],[102.627692,32.623327],[102.627689,32.62332],[102.627606,32.62301],[102.627439,32.622946],[102.627307,32.622987],[102.627155,32.623061],[102.627064,32.623118],[102.626988,32.623223],[102.626967,32.623244],[102.626954,32.623277],[102.626951,32.623303],[102.626953,32.62333],[102.626956,32.623352],[102.626971,32.623374],[102.626959,32.623484],[102.626953,32.623539],[102.626957,32.623553],[102.626967,32.623588],[102.62712,32.624122],[102.627112,32.624435],[102.627111,32.624469],[102.62711,32.624521],[102.62711,32.624529],[102.627108,32.624593],[102.627107,32.624623],[102.627102,32.624818],[102.626968,32.625182],[102.626961,32.625203],[102.626845,32.625518],[102.62684,32.625532],[102.626807,32.625624],[102.626673,32.625666],[102.626607,32.625687],[102.626576,32.625697],[102.626268,32.625571],[102.626079,32.625494],[102.626004,32.625364],[102.625994,32.625347],[102.625986,32.625333],[102.62593,32.625237],[102.625926,32.62523],[102.625921,32.625222],[102.625551,32.624586],[102.625533,32.624554],[102.625402,32.624458],[102.625295,32.624371],[102.625161,32.624285],[102.625082,32.624253],[102.624971,32.624253],[102.624876,32.624273],[102.624863,32.624273],[102.624486,32.624265],[102.624463,32.624281],[102.6244,32.624549],[102.624322,32.624879],[102.624313,32.624919],[102.624345,32.624987],[102.624561,32.625447],[102.624576,32.625477],[102.624597,32.625522],[102.624909,32.626185],[102.62493,32.626229],[102.624939,32.626249],[102.624943,32.626257],[102.624968,32.62631],[102.625048,32.62648],[102.625074,32.626704],[102.625101,32.626937],[102.625159,32.627448],[102.625147,32.627908],[102.625142,32.628097],[102.625134,32.628414],[102.625085,32.628451],[102.625078,32.628456],[102.625051,32.628476],[102.625035,32.628488],[102.624528,32.628867],[102.623886,32.62897],[102.623359,32.628922],[102.623298,32.628917],[102.62321,32.628868],[102.623081,32.628828],[102.623011,32.628821],[102.622941,32.628825],[102.622907,32.628829],[102.622837,32.628835],[102.622801,32.628841],[102.622773,32.628851],[102.622737,32.628865],[102.622691,32.62887],[102.622669,32.628869],[102.622627,32.628872],[102.622586,32.628892],[102.62256,32.628907],[102.622477,32.628922],[102.622437,32.628921],[102.622382,32.628908],[102.622343,32.628893],[102.622286,32.628878],[102.622224,32.628867],[102.622158,32.62891],[102.622102,32.628946],[102.622087,32.628956],[102.621826,32.629125],[102.621924,32.629313],[102.622001,32.629462],[102.622026,32.629509],[102.622036,32.629529],[102.622083,32.629619],[102.622088,32.62963],[102.622102,32.629657],[102.622103,32.629658],[102.62213,32.62971],[102.622201,32.630485],[102.621778,32.630941],[102.621737,32.630955],[102.621642,32.630987],[102.62132,32.631097],[102.621303,32.631102],[102.621273,32.631113],[102.621132,32.63116],[102.621124,32.63147],[102.621219,32.631604],[102.621237,32.63163],[102.621257,32.631659],[102.621344,32.631783],[102.621662,32.632008],[102.62168,32.632021],[102.621807,32.632111],[102.62184,32.632134],[102.621846,32.632138],[102.622017,32.63226],[102.622075,32.632303],[102.622331,32.632498],[102.62236,32.633117],[102.622267,32.633335],[102.622172,32.63356],[102.622179,32.633564],[102.622182,32.633571],[102.62218,32.633586],[102.622175,32.633609],[102.622148,32.633676],[102.622103,32.633843],[102.622076,32.634029],[102.62207,32.634117],[102.62207,32.634127],[102.622046,32.634175],[102.622042,32.63418],[102.621986,32.63425],[102.621964,32.634275],[102.621963,32.634307],[102.622031,32.63443],[102.62205,32.634464],[102.622065,32.634459],[102.622082,32.634455],[102.622451,32.634349],[102.622557,32.634319],[102.622692,32.634199],[102.622783,32.634119],[102.622798,32.634106],[102.623071,32.633865],[102.623628,32.633527],[102.62409,32.633596],[102.624173,32.633609],[102.624181,32.63361],[102.624188,32.633651],[102.624189,32.633673],[102.624192,32.633697],[102.624198,32.633719],[102.62421,32.633742],[102.624223,32.633759],[102.624231,32.633768],[102.624238,32.633779],[102.624254,32.633795],[102.624258,32.63382],[102.624256,32.633857],[102.624248,32.633897],[102.624231,32.633945],[102.624174,32.63402],[102.624144,32.634063],[102.624138,32.63412],[102.624132,32.634145],[102.624124,32.634171],[102.624101,32.634209],[102.624072,32.634278],[102.624045,32.634351],[102.624022,32.634379],[102.623969,32.634443],[102.623941,32.63451],[102.623929,32.634542],[102.623897,32.634583],[102.623857,32.634616],[102.623806,32.63465],[102.623756,32.634668],[102.623701,32.634688],[102.62364,32.63472],[102.623581,32.634765],[102.623512,32.634789],[102.623474,32.634804],[102.623455,32.634817],[102.623413,32.634838],[102.623364,32.634868],[102.623309,32.634889],[102.623291,32.634903],[102.623269,32.634927],[102.623259,32.634943],[102.623261,32.634973],[102.623142,32.635072],[102.623045,32.635153],[102.622988,32.635201],[102.622961,32.635228],[102.622952,32.635249],[102.622945,32.635277],[102.622929,32.635292],[102.622802,32.635406],[102.622701,32.635752],[102.622867,32.635874],[102.622872,32.635878],[102.622878,32.635882],[102.62297,32.63595],[102.623011,32.635951],[102.623025,32.635951],[102.623085,32.635952],[102.623155,32.635954],[102.623158,32.635977],[102.62319,32.636023],[102.623213,32.63605],[102.623236,32.636054],[102.623311,32.636038],[102.623358,32.636024],[102.623391,32.636009],[102.623423,32.635991],[102.623449,32.635967],[102.623472,32.635938],[102.623492,32.635916],[102.623549,32.635903],[102.623579,32.635904],[102.62358,32.63588],[102.623595,32.635824],[102.623799,32.635695],[102.623853,32.635693],[102.623899,32.63569],[102.623957,32.635651],[102.624033,32.635618],[102.624089,32.635615],[102.624154,32.635618],[102.624212,32.635638],[102.624273,32.635671],[102.624291,32.635699],[102.624297,32.635714],[102.624304,32.635733],[102.624326,32.635751],[102.624414,32.635802],[102.624521,32.635878],[102.624568,32.635921],[102.624609,32.635969],[102.624567,32.636049],[102.624422,32.636326],[102.624076,32.636571],[102.62406,32.636582],[102.623961,32.636569],[102.62384,32.636548],[102.623661,32.636536],[102.623709,32.636569],[102.623736,32.636598],[102.623227,32.636612],[102.622619,32.636891],[102.622579,32.636909],[102.622242,32.637317],[102.622202,32.637366],[102.622087,32.637586],[102.622061,32.637636],[102.621961,32.637825],[102.621974,32.637859],[102.622075,32.638137],[102.62212,32.638188],[102.622146,32.638221],[102.622178,32.63827],[102.622197,32.638314],[102.622209,32.638351],[102.622218,32.638381],[102.622226,32.638408],[102.622234,32.638433],[102.622298,32.638459],[102.622581,32.638572],[102.623273,32.638314],[102.623511,32.638309],[102.623522,32.638308],[102.623826,32.638301],[102.623867,32.6383],[102.623922,32.638299],[102.624188,32.638293],[102.624339,32.638636],[102.624446,32.638877],[102.624478,32.639223],[102.624517,32.639652],[102.623913,32.640027],[102.623183,32.640013],[102.622984,32.64022],[102.622942,32.640263],[102.622854,32.640355],[102.622852,32.640433],[102.62285,32.640505],[102.622849,32.640525],[102.622841,32.640819],[102.623331,32.64133],[102.623925,32.641303],[102.623956,32.641283],[102.624108,32.641187],[102.624211,32.641122],[102.624265,32.641052],[102.624306,32.640993],[102.624365,32.640937],[102.624426,32.640901],[102.62453,32.640866],[102.624653,32.640854],[102.624669,32.640847],[102.624709,32.640828],[102.625131,32.64063],[102.625683,32.640524],[102.625755,32.64051],[102.625866,32.640489],[102.62595,32.640439],[102.625997,32.640411],[102.625998,32.640401],[102.625999,32.640385],[102.626011,32.640364],[102.626022,32.640335],[102.626074,32.640276],[102.626099,32.640264],[102.626126,32.640256],[102.626136,32.640243],[102.626141,32.640219],[102.626143,32.640198],[102.626149,32.640171],[102.626168,32.64015],[102.626254,32.640108],[102.62629,32.640105],[102.626311,32.640101],[102.626332,32.640083],[102.62635,32.640055],[102.626389,32.64003],[102.62647,32.63998],[102.626546,32.639963],[102.626613,32.639958],[102.626673,32.639961],[102.626713,32.639973],[102.626732,32.639974],[102.626748,32.639965],[102.626824,32.639888],[102.626915,32.639796],[102.626928,32.639782],[102.626942,32.639769],[102.627123,32.639585],[102.627629,32.639479],[102.627741,32.639565],[102.627942,32.639717],[102.627959,32.639744],[102.628013,32.639828],[102.62806,32.639901],[102.628118,32.639991],[102.628064,32.640045],[102.62797,32.640143],[102.627601,32.640522],[102.627319,32.64076],[102.62712,32.640927],[102.627,32.641052],[102.626767,32.641306],[102.626634,32.641435],[102.626569,32.641496],[102.62656,32.641504],[102.626511,32.641553],[102.626462,32.641605],[102.626407,32.641713],[102.626391,32.641751],[102.626374,32.641763],[102.626358,32.64177],[102.626363,32.641808],[102.626415,32.642201],[102.626588,32.642396],[102.626576,32.642456],[102.626578,32.642495],[102.626596,32.642531],[102.626611,32.642578],[102.626647,32.642619],[102.626737,32.64267],[102.626794,32.642697],[102.626824,32.642728],[102.626845,32.642772],[102.626865,32.642816],[102.626893,32.642851],[102.626939,32.642875],[102.626987,32.642894],[102.627103,32.642935],[102.627155,32.642935],[102.627443,32.643145],[102.627452,32.643152],[102.627463,32.643137],[102.627548,32.643157],[102.627593,32.643198],[102.62762,32.643225],[102.627652,32.643251],[102.627683,32.643285],[102.627716,32.643315],[102.627736,32.64333],[102.627768,32.643337],[102.6278,32.643345],[102.627833,32.643358],[102.627792,32.643357],[102.627773,32.643365],[102.62774,32.643381],[102.628065,32.643701],[102.628129,32.644746],[102.627714,32.644922],[102.627697,32.644929],[102.627553,32.64499],[102.627505,32.64501],[102.627494,32.645015],[102.627344,32.645079],[102.6272,32.645298],[102.627197,32.645303],[102.627184,32.645323],[102.627124,32.645413],[102.627088,32.645468],[102.627083,32.645475],[102.626868,32.645804],[102.626742,32.645906],[102.626733,32.645913],[102.626614,32.64601],[102.626595,32.646025],[102.626583,32.646035],[102.626573,32.646042],[102.626216,32.646332],[102.62622,32.646374],[102.62622,32.646402],[102.626223,32.646432],[102.626223,32.646445],[102.626216,32.646457],[102.626213,32.64646],[102.626202,32.646444],[102.626178,32.646418],[102.626159,32.646395],[102.626103,32.646457],[102.625867,32.646721],[102.625842,32.64675],[102.625832,32.64676],[102.625811,32.646784],[102.625664,32.646948],[102.625602,32.64702],[102.625589,32.647488],[102.625589,32.64752],[102.626006,32.647629],[102.626156,32.647669],[102.626168,32.647672],[102.626224,32.647686],[102.626356,32.647689],[102.626417,32.64769],[102.627092,32.647703],[102.627145,32.647682],[102.627165,32.647674],[102.627176,32.647669],[102.627375,32.647589],[102.627409,32.647608],[102.627459,32.647624],[102.627493,32.647633],[102.627567,32.647637],[102.627595,32.647639],[102.627609,32.647639],[102.627673,32.647635],[102.6277,32.647623],[102.627723,32.647608],[102.627735,32.647597],[102.627746,32.647577],[102.62775,32.647559],[102.627754,32.647544],[102.62776,32.647528],[102.62777,32.647517],[102.627785,32.647505],[102.627799,32.647495],[102.627818,32.647486],[102.627844,32.647475],[102.627853,32.647466],[102.627855,32.647458],[102.627854,32.647442],[102.627842,32.64742],[102.627824,32.647393],[102.627784,32.647345],[102.627867,32.647264],[102.628276,32.646863],[102.628302,32.646837],[102.628404,32.646834],[102.628425,32.646834],[102.628551,32.646831],[102.628614,32.646829],[102.629217,32.646815],[102.629469,32.646928],[102.629532,32.646956],[102.629548,32.646963],[102.629681,32.647056],[102.629731,32.647103],[102.629766,32.647138],[102.629792,32.647173],[102.629891,32.647289],[102.629906,32.647337],[102.62991,32.647343],[102.629915,32.647354],[102.629915,32.647365],[102.629909,32.647389],[102.629887,32.647434],[102.629857,32.647492],[102.629771,32.647687],[102.629718,32.647744],[102.629659,32.647782],[102.629628,32.647802],[102.629597,32.647817],[102.629574,32.647841],[102.629543,32.647885],[102.629498,32.647951],[102.629481,32.647999],[102.629461,32.648035],[102.629418,32.648096],[102.629399,32.648129],[102.629374,32.648141],[102.62936,32.648141],[102.629346,32.648138],[102.629329,32.648163],[102.629271,32.648247],[102.62919,32.648367],[102.629165,32.648404],[102.628938,32.648743],[102.628923,32.649284],[102.629463,32.649603],[102.63037,32.649878],[102.630377,32.649879],[102.630687,32.649974],[102.631415,32.649935],[102.63174,32.649917],[102.631907,32.649842],[102.632467,32.649588],[102.63248,32.649583],[102.632512,32.649549],[102.632541,32.649519],[102.632558,32.649501],[102.632808,32.649241],[102.632096,32.648532],[102.632101,32.648348],[102.632104,32.648217],[102.632105,32.648184],[102.63231,32.648166],[102.632396,32.648214],[102.632522,32.648303],[102.632706,32.648412],[102.632804,32.648476],[102.632908,32.648529],[102.633005,32.648566],[102.633071,32.648598],[102.633136,32.648631],[102.633158,32.648647],[102.633183,32.648672],[102.633203,32.648688],[102.63322,32.648699],[102.63325,32.648698],[102.633258,32.648684],[102.633277,32.648675],[102.633296,32.648666],[102.633326,32.64866],[102.633338,32.648674],[102.633357,32.648718],[102.633373,32.648769],[102.633404,32.648827],[102.633469,32.648894],[102.633506,32.648948],[102.63354,32.649026],[102.633557,32.64912],[102.633595,32.649235],[102.633619,32.64936],[102.633615,32.649434],[102.633605,32.649544],[102.63359,32.64957],[102.633585,32.649578],[102.633564,32.6496],[102.633558,32.649691],[102.63359,32.64969],[102.633645,32.649691],[102.633705,32.649915],[102.63402,32.650076],[102.634284,32.650011],[102.634653,32.64992],[102.634894,32.64986],[102.634957,32.64984],[102.634991,32.649829],[102.635004,32.649825],[102.635153,32.649776],[102.635178,32.649768],[102.63568,32.649603],[102.63569,32.649598],[102.635796,32.649538],[102.636105,32.649366],[102.636118,32.649359],[102.636256,32.649282],[102.63628,32.649268],[102.636376,32.648927],[102.636395,32.648859],[102.636432,32.64873],[102.636436,32.648687],[102.636437,32.64868],[102.636494,32.648112],[102.636641,32.64806],[102.636676,32.648048],[102.636895,32.64797],[102.636909,32.647966],[102.637508,32.64809],[102.637607,32.648111],[102.637703,32.6482],[102.63779,32.648292],[102.637878,32.648376],[102.637928,32.648438],[102.637953,32.648494],[102.637989,32.648553],[102.638039,32.648598],[102.638128,32.64867],[102.638176,32.64872],[102.638258,32.648789],[102.638374,32.649146],[102.638398,32.649219],[102.638403,32.649235],[102.638406,32.649244],[102.638427,32.649308],[102.63844,32.649372],[102.638405,32.649414],[102.638393,32.649429],[102.638382,32.649447],[102.638381,32.649463],[102.638388,32.649476],[102.638388,32.649487],[102.638391,32.649507],[102.638462,32.649486],[102.638588,32.650123],[102.639039,32.650364],[102.639366,32.650099],[102.639383,32.65008],[102.639396,32.650066],[102.639559,32.649884],[102.63958,32.649859],[102.639815,32.649597],[102.639883,32.649521],[102.639978,32.649415],[102.640241,32.649274],[102.640256,32.649266],[102.640534,32.649116],[102.640851,32.649238],[102.641167,32.64936],[102.641355,32.649515],[102.641362,32.649555],[102.641373,32.649595],[102.641388,32.649639],[102.641406,32.649681],[102.641429,32.6497],[102.641448,32.649701],[102.641474,32.649688],[102.641502,32.649682],[102.641514,32.649688],[102.641516,32.649696],[102.641591,32.649711],[102.641637,32.64972],[102.641682,32.649738],[102.641713,32.649751],[102.641754,32.649773],[102.641788,32.649839],[102.641809,32.649892],[102.641878,32.64995],[102.641844,32.649988],[102.641836,32.650018],[102.641835,32.650049],[102.641847,32.650098],[102.641842,32.650144],[102.641854,32.65019],[102.641779,32.650159],[102.641725,32.650267],[102.6417,32.650316],[102.641594,32.650527],[102.641482,32.650646],[102.641464,32.650665],[102.641238,32.650903],[102.641233,32.650909],[102.641096,32.651054],[102.641024,32.651053],[102.640971,32.651057],[102.640918,32.65108],[102.640869,32.651121],[102.640792,32.651222],[102.640776,32.65128],[102.640767,32.651324],[102.640756,32.651378],[102.64075,32.651425],[102.640749,32.651456],[102.640778,32.651495],[102.640842,32.65154],[102.640909,32.651578],[102.640984,32.651616],[102.641069,32.65165],[102.641184,32.651674],[102.641198,32.65168],[102.64127,32.651691],[102.641348,32.651694],[102.641428,32.651698],[102.641479,32.651693],[102.641545,32.651695],[102.641614,32.651704],[102.641652,32.651713],[102.641696,32.651726],[102.641762,32.651737],[102.641851,32.651719],[102.641925,32.651696],[102.641971,32.651695],[102.642012,32.651676],[102.642042,32.651658],[102.642118,32.6516],[102.642338,32.651558],[102.642375,32.651551],[102.642411,32.651544],[102.642827,32.651464],[102.64294,32.651442],[102.643258,32.651528],[102.643265,32.65153],[102.643304,32.65154],[102.643629,32.651628],[102.643712,32.65165],[102.643774,32.65173],[102.643802,32.651766],[102.643825,32.651802],[102.643842,32.651837],[102.643845,32.651854],[102.643823,32.651874],[102.643868,32.651966],[102.643881,32.651991],[102.643885,32.652001],[102.643872,32.652504],[102.643908,32.652568],[102.64399,32.65255],[102.644052,32.652526],[102.644092,32.652477],[102.644126,32.652437],[102.644178,32.652405],[102.644241,32.652409],[102.644323,32.65244],[102.64442,32.652467],[102.644492,32.65248],[102.644537,32.652481],[102.64456,32.652469],[102.644661,32.65251],[102.644727,32.652471],[102.644741,32.652462],[102.64478,32.652438],[102.644819,32.652438],[102.644877,32.652428],[102.644947,32.652408],[102.645011,32.652382],[102.645079,32.652351],[102.645118,32.652329],[102.645171,32.652291],[102.645194,32.652271],[102.645229,32.652236],[102.64527,32.652195],[102.645292,32.652155],[102.645298,32.652125],[102.645341,32.652059],[102.645358,32.652007],[102.645371,32.651967],[102.645396,32.651912],[102.645425,32.651879],[102.645447,32.651715],[102.645463,32.651673],[102.645477,32.651662],[102.645476,32.651547],[102.645481,32.651488],[102.645486,32.651413],[102.645458,32.651296],[102.645556,32.651139],[102.645614,32.65112],[102.645628,32.651118],[102.645741,32.651096],[102.64584,32.651101],[102.64594,32.651134],[102.645972,32.651079],[102.646015,32.651],[102.646024,32.651003],[102.64607,32.651015],[102.646091,32.651021],[102.646097,32.651022],[102.646112,32.650997],[102.646263,32.651067],[102.646467,32.651122],[102.647838,32.651148],[102.648067,32.651187],[102.648838,32.651321],[102.648833,32.651528],[102.648832,32.651555],[102.64883,32.651649],[102.648825,32.651823],[102.648731,32.651947],[102.64865,32.652053],[102.648671,32.651991],[102.648679,32.651971],[102.648689,32.651941],[102.64869,32.651893],[102.648693,32.651852],[102.648686,32.651785],[102.64865,32.651705],[102.648631,32.651676],[102.648614,32.651649],[102.648582,32.651622],[102.648556,32.651602],[102.64852,32.651575],[102.648461,32.651549],[102.648417,32.651528],[102.648381,32.651514],[102.648312,32.651489],[102.648271,32.651475],[102.648223,32.651471],[102.648176,32.651471],[102.648281,32.651509],[102.648366,32.651541],[102.648426,32.65157],[102.64847,32.6516],[102.648505,32.651632],[102.64855,32.651674],[102.648575,32.651712],[102.648579,32.651759],[102.64858,32.651819],[102.648578,32.651865],[102.648568,32.651915],[102.64856,32.651958],[102.648537,32.652014],[102.648502,32.65205],[102.648468,32.652086],[102.648441,32.652112],[102.648393,32.652157],[102.648366,32.652188],[102.648334,32.652229],[102.648312,32.65226],[102.64829,32.652285],[102.648233,32.652318],[102.648201,32.652328],[102.648169,32.652348],[102.648164,32.652357],[102.648169,32.652376],[102.648144,32.652384],[102.647995,32.652416],[102.647933,32.652445],[102.647845,32.65248],[102.647775,32.652486],[102.647701,32.652483],[102.647597,32.652484],[102.647419,32.652475],[102.647089,32.652574],[102.646914,32.652627],[102.646825,32.652654],[102.646794,32.652663],[102.64667,32.6527],[102.646644,32.652708],[102.646582,32.652727],[102.646516,32.652746],[102.646166,32.652983],[102.645964,32.653355],[102.645981,32.653973],[102.646001,32.654009],[102.646156,32.654286],[102.646513,32.654353],[102.6469,32.654426],[102.64697,32.65444],[102.647065,32.654458],[102.647189,32.654423],[102.64723,32.654411],[102.647462,32.654346],[102.64771,32.654277],[102.647894,32.654314],[102.648138,32.654364],[102.64823,32.654383],[102.648968,32.654534],[102.649164,32.654574],[102.649299,32.654632],[102.6496,32.654759],[102.649797,32.654842],[102.649976,32.654918],[102.650023,32.654938],[102.650978,32.655188],[102.651474,32.655282],[102.651494,32.655286],[102.651658,32.655317],[102.651682,32.655348],[102.651747,32.655363],[102.651773,32.655371],[102.6518,32.655389],[102.651826,32.655408],[102.651846,32.655427],[102.651856,32.655457],[102.651856,32.655485],[102.651851,32.655516],[102.651844,32.655558],[102.651907,32.655641],[102.651904,32.655567],[102.651904,32.655534],[102.651905,32.655491],[102.651905,32.655441],[102.651906,32.655414],[102.65192,32.655396],[102.651932,32.65539],[102.651961,32.655391],[102.651995,32.655409],[102.652016,32.655442],[102.652023,32.655492],[102.652021,32.655556],[102.652012,32.655609],[102.651995,32.655655],[102.651953,32.6557],[102.652172,32.655985],[102.652298,32.65615],[102.652321,32.65618],[102.652334,32.65654],[102.652341,32.656723],[102.652348,32.656915],[102.652329,32.656947],[102.652178,32.657206],[102.652146,32.65726],[102.652137,32.657275],[102.652131,32.657286],[102.652065,32.657399],[102.652013,32.657488],[102.651958,32.657562],[102.651868,32.657683],[102.651863,32.65769],[102.651729,32.65787],[102.651744,32.657942],[102.651773,32.658083],[102.651782,32.658126],[102.65181,32.658258],[102.6524,32.658423],[102.652586,32.658402],[102.652703,32.658389],[102.652811,32.658376],[102.652912,32.658365],[102.653027,32.658352],[102.653084,32.658345],[102.653146,32.658386],[102.653175,32.658414],[102.653197,32.658435],[102.653212,32.658448],[102.653215,32.658451],[102.653297,32.658495],[102.653388,32.658525],[102.653463,32.658536],[102.653568,32.658526],[102.653635,32.658509],[102.653657,32.658504],[102.65366,32.658502],[102.65373,32.658464],[102.653794,32.658421],[102.653873,32.658375],[102.65393,32.658313],[102.653984,32.658258],[102.654065,32.658218],[102.654139,32.658164],[102.654178,32.658126],[102.654189,32.658071],[102.654177,32.65799],[102.654141,32.657929],[102.654096,32.657886],[102.654034,32.657839],[102.65394,32.657765],[102.65391,32.657751],[102.653927,32.657591],[102.65393,32.657563],[102.65393,32.657544],[102.653911,32.656557],[102.654116,32.656229],[102.654197,32.656099],[102.654241,32.656052],[102.654352,32.656076],[102.654515,32.656123],[102.654614,32.656204],[102.654696,32.656224],[102.654896,32.656387],[102.655026,32.656493],[102.655036,32.656501],[102.655075,32.656533],[102.655095,32.65655],[102.655278,32.656699],[102.655442,32.656856],[102.655451,32.656865],[102.655813,32.657212],[102.6562,32.657822],[102.656384,32.658111],[102.656969,32.658771],[102.657165,32.658991],[102.657242,32.659078],[102.657708,32.659398],[102.657777,32.659446],[102.658154,32.659607],[102.65828,32.65966],[102.658717,32.659846],[102.658804,32.659884],[102.658876,32.659914],[102.658885,32.659918],[102.659854,32.660197],[102.659891,32.660207],[102.660115,32.66016],[102.660221,32.660138],[102.660263,32.660129],[102.660331,32.660115],[102.660468,32.660086],[102.66048,32.660083],[102.661071,32.659959],[102.661588,32.659901],[102.661715,32.659887],[102.661766,32.659881],[102.661976,32.659953],[102.662145,32.66001],[102.662165,32.660017],[102.662194,32.660027],[102.662423,32.660104],[102.662432,32.660107],[102.662515,32.660135],[102.662537,32.660143],[102.662547,32.660146],[102.662612,32.660168],[102.663051,32.65968],[102.663113,32.659534],[102.663392,32.658874],[102.663745,32.658782],[102.663774,32.658798],[102.663842,32.65881],[102.663957,32.658847],[102.664166,32.658972],[102.664291,32.659076],[102.664352,32.659195],[102.664496,32.659481],[102.664431,32.659931],[102.664328,32.660206],[102.664308,32.660258],[102.664301,32.660276],[102.664145,32.660693],[102.663901,32.661238],[102.663909,32.661314],[102.66393,32.661365],[102.663946,32.661403],[102.663976,32.661466],[102.664012,32.661519],[102.664063,32.661558],[102.663935,32.661619],[102.663914,32.66163],[102.663873,32.661639],[102.663952,32.661856],[102.663999,32.661985],[102.664002,32.661992],[102.664054,32.662135],[102.66456,32.662507],[102.664645,32.662571],[102.664653,32.662576],[102.664682,32.662598],[102.664897,32.662666],[102.664908,32.66267],[102.664943,32.662681],[102.665581,32.662885],[102.666715,32.66319],[102.666766,32.663204],[102.6669,32.66324],[102.667305,32.663349],[102.667533,32.663334],[102.667752,32.663338],[102.668238,32.663295],[102.668465,32.663198],[102.669047,32.66295],[102.669561,32.662815],[102.669852,32.662739],[102.669939,32.662765],[102.669943,32.662767],[102.67017,32.662835],[102.670581,32.663429],[102.670713,32.663575],[102.670729,32.663593],[102.67085,32.663727],[102.670858,32.663736],[102.670925,32.663809],[102.670967,32.663856],[102.671203,32.664118],[102.671874,32.664987],[102.671966,32.665055],[102.671979,32.665064],[102.672161,32.665199],[102.672287,32.665292],[102.672368,32.665317],[102.672453,32.665356],[102.672506,32.665382],[102.672538,32.6654],[102.672603,32.665479],[102.672814,32.66554],[102.6732,32.665651],[102.673228,32.665659],[102.673251,32.665666],[102.673508,32.665739],[102.6739,32.665784],[102.674038,32.665799],[102.674246,32.665823],[102.674347,32.665834],[102.674354,32.665835],[102.674498,32.665851],[102.674558,32.665833],[102.674644,32.665833],[102.674713,32.665832],[102.674781,32.665836],[102.674833,32.665856],[102.674869,32.665893],[102.674897,32.665896],[102.674944,32.665901],[102.675118,32.665901],[102.675141,32.665901],[102.675492,32.6659],[102.675556,32.6659],[102.675723,32.6659],[102.675732,32.6659],[102.676871,32.665897],[102.677008,32.665897],[102.677131,32.665897],[102.677243,32.665925],[102.67728,32.665935],[102.677703,32.666043],[102.677937,32.666103],[102.677949,32.666105],[102.678058,32.666133],[102.678085,32.66614],[102.678324,32.666447],[102.678355,32.666486],[102.678393,32.666535],[102.67855,32.666735],[102.678713,32.667587],[102.678699,32.668128],[102.678911,32.668592],[102.67908,32.668782],[102.679253,32.668977],[102.679342,32.669005],[102.679356,32.66901],[102.679442,32.669037],[102.67976,32.669138],[102.679888,32.669178],[102.680427,32.669351],[102.680707,32.669653],[102.680831,32.669767],[102.68084,32.669776],[102.680857,32.669791],[102.680891,32.669823],[102.681199,32.670106],[102.681207,32.670113],[102.681219,32.670179],[102.681293,32.670263],[102.681376,32.670362],[102.681539,32.670496],[102.681564,32.670516],[102.681696,32.670622],[102.681834,32.670695],[102.681933,32.670728],[102.682008,32.670744],[102.682149,32.670761],[102.68225,32.670765],[102.682315,32.670764],[102.682328,32.670767],[102.682626,32.670848],[102.682674,32.670861],[102.683073,32.670969],[102.683415,32.671332],[102.683452,32.671372],[102.683467,32.671388],[102.68354,32.671465],[102.683542,32.67147],[102.683669,32.671799],[102.683682,32.671834],[102.683692,32.67186],[102.68374,32.671985],[102.68375,32.67201],[102.683765,32.672191],[102.683765,32.672199],[102.683798,32.672606],[102.684081,32.672828],[102.684462,32.672916],[102.685395,32.672717],[102.685713,32.672804],[102.685769,32.673103],[102.68576,32.673454],[102.685527,32.673541],[102.685475,32.673561],[102.685326,32.673616],[102.685276,32.673635],[102.685199,32.673653],[102.684761,32.673761],[102.684191,32.67371],[102.683994,32.673692],[102.683294,32.673679],[102.683125,32.673646],[102.682334,32.673489],[102.68224,32.67347],[102.682123,32.673486],[102.681534,32.673566],[102.681076,32.673936],[102.681001,32.674262],[102.681038,32.674407],[102.681082,32.674508],[102.681159,32.674621],[102.681323,32.674784],[102.681411,32.674893],[102.681482,32.674975],[102.681521,32.675014],[102.681649,32.6751],[102.681748,32.675149],[102.681835,32.675168],[102.681991,32.67516],[102.682117,32.675122],[102.682356,32.675177],[102.68256,32.675187],[102.683283,32.675222],[102.683561,32.675298],[102.683601,32.675309],[102.683689,32.675608],[102.683384,32.676676],[102.683215,32.676868],[102.683093,32.677005],[102.683032,32.677005],[102.682963,32.677006],[102.682918,32.677014],[102.682844,32.677026],[102.682743,32.677065],[102.682618,32.677107],[102.68247,32.677154],[102.682431,32.677204],[102.682416,32.677278],[102.682413,32.677294],[102.682385,32.677355],[102.682326,32.677409],[102.682321,32.677414],[102.68229,32.677449],[102.682279,32.677463],[102.682263,32.677557],[102.682238,32.677683],[102.682241,32.677779],[102.682246,32.677847],[102.681831,32.678132],[102.681757,32.678183],[102.681706,32.678218],[102.681667,32.678244],[102.681637,32.678265],[102.681366,32.678451],[102.680135,32.679134],[102.678383,32.679422],[102.676639,32.67939],[102.67635,32.67926],[102.676287,32.679232],[102.67544,32.678854],[102.674451,32.678964],[102.673309,32.679135],[102.672682,32.679893],[102.672656,32.679999],[102.672635,32.680083],[102.672356,32.681203],[102.67192,32.682958],[102.671496,32.684682],[102.671464,32.685901],[102.671802,32.687511],[102.672292,32.689059],[102.67323,32.690937],[102.673717,32.692614],[102.674282,32.694228],[102.674756,32.696418],[102.675227,32.698736],[102.675186,32.700339],[102.675395,32.701302],[102.675466,32.701628],[102.675476,32.70156],[102.676411,32.70271],[102.678,32.703419],[102.678915,32.703254],[102.680319,32.702827],[102.681951,32.701906],[102.682445,32.701482],[102.68316,32.700868],[102.683759,32.700354],[102.687705,32.696008],[102.68777,32.695936],[102.691877,32.691413],[102.693023,32.69015],[102.693482,32.690181],[102.693933,32.690212],[102.693941,32.690213],[102.695055,32.690323],[102.696438,32.690711],[102.698076,32.691602],[102.698802,32.692522],[102.698869,32.694109],[102.698738,32.695012],[102.698919,32.696329],[102.69933,32.697017],[102.699845,32.697841],[102.701003,32.698633],[102.70224,32.698831],[102.702284,32.698838],[102.703359,32.698676],[102.704211,32.698918],[102.705215,32.699435],[102.706591,32.70014],[102.707656,32.700386],[102.708339,32.700897],[102.709341,32.701549],[102.710017,32.702332],[102.710474,32.703337],[102.711045,32.704072],[102.710897,32.705149],[102.710358,32.706276],[102.709519,32.70857],[102.709183,32.710255],[102.709942,32.711094],[102.710765,32.713253],[102.711114,32.714868],[102.711905,32.716367],[102.712407,32.717695],[102.712902,32.719354],[102.713119,32.720389],[102.713414,32.722209],[102.713869,32.723495],[102.714009,32.725642],[102.71461,32.727312],[102.714921,32.728174],[102.715777,32.730953],[102.716123,32.732691],[102.716965,32.734109],[102.717708,32.735566],[102.717499,32.736098],[102.717228,32.737165],[102.716983,32.73914],[102.716626,32.743546],[102.716646,32.743862],[102.71673,32.745239],[102.717,32.748006],[102.717373,32.748714],[102.717787,32.749711],[102.718502,32.750343],[102.719018,32.751013],[102.719211,32.751263],[102.720301,32.75252],[102.720966,32.753233],[102.721534,32.753945],[102.72146,32.754933],[102.721475,32.756253],[102.721303,32.758239],[102.721268,32.758641],[102.721183,32.760042],[102.721403,32.760994],[102.721535,32.761574],[102.721528,32.761909],[102.721562,32.761901],[102.721722,32.761859],[102.722461,32.761665],[102.723295,32.761681],[102.725669,32.762026],[102.726982,32.761949],[102.728347,32.762125],[102.729958,32.762053],[102.731268,32.762077],[102.732346,32.761845],[102.733005,32.761706],[102.734195,32.761778],[102.736213,32.762066],[102.738288,32.762456],[102.739106,32.763074],[102.740571,32.764057],[102.74239,32.76516],[102.743606,32.766541],[102.745408,32.767744],[102.746884,32.768778],[102.746896,32.768786],[102.746903,32.768791],[102.746988,32.768817],[102.747007,32.768823],[102.747886,32.769096],[102.747987,32.769127],[102.74832,32.769231],[102.748441,32.769253],[102.748457,32.769256],[102.748725,32.769304],[102.74874,32.769307],[102.749675,32.769477],[102.749676,32.769478],[102.749698,32.769482],[102.751567,32.769817],[102.753668,32.76978],[102.755127,32.77041],[102.756347,32.77164],[102.756686,32.772363],[102.757023,32.7732],[102.757893,32.774121],[102.759334,32.775469],[102.760564,32.776321],[102.762059,32.777292],[102.762794,32.778286],[102.76358,32.779018],[102.764572,32.780432],[102.766972,32.782778],[102.768283,32.783934],[102.768603,32.789036],[102.768401,32.789977],[102.768283,32.791107],[102.767846,32.792496],[102.767758,32.794231],[102.7685,32.796736],[102.769432,32.798791],[102.77063,32.800927],[102.771281,32.801731],[102.772867,32.802665],[102.774801,32.803983],[102.777841,32.805774],[102.779207,32.806553],[102.779383,32.80667],[102.778828,32.807415],[102.778451,32.808201],[102.778086,32.810271],[102.778714,32.811981],[102.778952,32.813193],[102.778791,32.814285],[102.778842,32.815834],[102.778698,32.818021],[102.778082,32.819407],[102.77715,32.820938],[102.776819,32.82165],[102.776928,32.822671],[102.777201,32.824299],[102.777562,32.825929],[102.77749,32.827022],[102.777092,32.8281],[102.776963,32.828447],[102.776835,32.829659],[102.776788,32.830105],[102.776818,32.830249],[102.776906,32.830668],[102.777068,32.831432],[102.777469,32.833251],[102.777969,32.834732],[102.778723,32.836784],[102.778864,32.838297],[102.779019,32.839244],[102.778935,32.840828],[102.77866,32.844711],[102.778601,32.847051],[102.778394,32.84818],[102.77869,32.848865],[102.780298,32.850743],[102.780965,32.852718],[102.781341,32.853782],[102.78237,32.855536],[102.782782,32.856978],[102.782848,32.857923],[102.782824,32.858867],[102.782933,32.859888],[102.783364,32.862349],[102.78402,32.864739],[102.784091,32.865458],[102.784121,32.866063],[102.784325,32.866859],[102.785388,32.867293],[102.785395,32.867294],[102.785864,32.867321],[102.786326,32.867347],[102.786548,32.867429],[102.78658,32.867441],[102.786635,32.867461],[102.787301,32.867705],[102.787402,32.86777],[102.787411,32.867776],[102.787497,32.867831],[102.787511,32.86784],[102.787961,32.868131],[102.788486,32.868632],[102.789357,32.869591],[102.78952,32.869795],[102.789877,32.870242],[102.790525,32.871394],[102.790649,32.871614],[102.790717,32.872446],[102.791453,32.873441],[102.791954,32.874884],[102.791887,32.875789],[102.791732,32.876617],[102.792015,32.87783],[102.792195,32.879607],[102.792755,32.880486],[102.794064,32.88183],[102.794845,32.882788],[102.795721,32.883558],[102.795932,32.884053],[102.795936,32.884076],[102.796124,32.88534],[102.795807,32.887297],[102.795242,32.890232],[102.794852,32.891546],[102.794106,32.892741],[102.793577,32.894242],[102.793334,32.894993],[102.793136,32.895782],[102.792982,32.896572],[102.792529,32.897642],[102.792174,32.898483],[102.792136,32.898708],[102.792016,32.899424],[102.791897,32.90063],[102.791918,32.901574],[102.79194,32.902481],[102.792147,32.904164],[102.792201,32.904599],[102.792311,32.905583],[102.792598,32.906607],[102.79258,32.907362],[102.792562,32.908079],[102.792588,32.908293],[102.792589,32.908296],[102.792659,32.908868],[102.792674,32.908987],[102.792499,32.909857],[102.792469,32.910003],[102.792451,32.910076],[102.792448,32.91009],[102.79243,32.91016],[102.792427,32.910174],[102.792381,32.91036],[102.79235,32.910484],[102.792171,32.911206],[102.791795,32.91166],[102.791772,32.911688],[102.791637,32.911851],[102.79161,32.911953],[102.791593,32.911993],[102.791561,32.912038],[102.791531,32.912086],[102.791515,32.912118],[102.791503,32.91218],[102.791459,32.912257],[102.791388,32.912299],[102.791313,32.912243],[102.791248,32.912322],[102.791095,32.912434],[102.791086,32.91244],[102.790959,32.912533],[102.790291,32.913022],[102.79009,32.913887],[102.790084,32.91414],[102.790069,32.914745],[102.790066,32.914868],[102.790168,32.915826],[102.790175,32.915889],[102.790176,32.915935],[102.790184,32.916358],[102.790195,32.916856],[102.790195,32.916871],[102.790185,32.91692],[102.790161,32.917035],[102.790093,32.91736],[102.789727,32.917693],[102.789323,32.917724],[102.789246,32.917726],[102.789228,32.917726],[102.789098,32.91773],[102.78886,32.917735],[102.788656,32.91774],[102.788644,32.917719],[102.788542,32.91766],[102.788463,32.917656],[102.788329,32.917688],[102.788313,32.917692],[102.788186,32.917746],[102.788048,32.917806],[102.787935,32.917821],[102.787859,32.917819],[102.787644,32.917837],[102.787617,32.917841],[102.787394,32.917881],[102.787318,32.917956],[102.787287,32.918051],[102.78726,32.918079],[102.787174,32.918127],[102.786756,32.918358],[102.78661,32.918476],[102.786551,32.918524],[102.786525,32.918546],[102.786208,32.918801],[102.786149,32.918839],[102.786003,32.918932],[102.785914,32.918988],[102.785818,32.919049],[102.785616,32.919177],[102.785571,32.919205],[102.785332,32.919338],[102.784709,32.919681],[102.784388,32.919977],[102.78422,32.920068],[102.784185,32.920084],[102.78412,32.920115],[102.783675,32.920321],[102.783617,32.920393],[102.783543,32.920473],[102.783454,32.920564],[102.783366,32.92062],[102.783167,32.92094],[102.783114,32.921025],[102.783102,32.921043],[102.783091,32.921058],[102.782407,32.921923],[102.782113,32.922097],[102.781916,32.922214],[102.781909,32.922218],[102.781674,32.922357],[102.781286,32.922431],[102.781227,32.922443],[102.781198,32.922448],[102.781004,32.922486],[102.780877,32.92251],[102.780821,32.922521],[102.780707,32.922543],[102.779793,32.922567],[102.778451,32.92234],[102.777396,32.9222],[102.776782,32.921742],[102.776003,32.920942],[102.776038,32.920923],[102.776038,32.920889],[102.77599,32.920763],[102.775953,32.920716],[102.775837,32.920637],[102.775724,32.920578],[102.775685,32.920557],[102.775565,32.920533],[102.775406,32.92053],[102.775292,32.920549],[102.775272,32.920539],[102.775261,32.920538],[102.774659,32.920528],[102.774166,32.920519],[102.772761,32.9209],[102.772644,32.92093],[102.771647,32.921183],[102.770824,32.921393],[102.770498,32.921468],[102.769064,32.921799],[102.768917,32.921832],[102.768211,32.921995],[102.765263,32.922511],[102.763859,32.922868],[102.763759,32.922893],[102.763664,32.922917],[102.763326,32.923003],[102.76197,32.923076],[102.760483,32.923155],[102.759033,32.923413],[102.757962,32.923922],[102.75694,32.92439],[102.755851,32.925049],[102.755767,32.9251],[102.755343,32.92565],[102.755324,32.925675],[102.75512,32.92594],[102.755005,32.926005],[102.754486,32.926294],[102.754013,32.926339],[102.753762,32.926362],[102.752718,32.925775],[102.750897,32.92471],[102.750821,32.924666],[102.75014,32.924268],[102.749539,32.923916],[102.749067,32.92364],[102.749043,32.92362],[102.748981,32.923567],[102.748182,32.922896],[102.747441,32.92239],[102.747439,32.922335],[102.747439,32.922325],[102.747411,32.922251],[102.747367,32.922131],[102.747305,32.922024],[102.747181,32.921783],[102.747138,32.9217],[102.747119,32.921684],[102.746578,32.921241],[102.746567,32.921239],[102.746329,32.921189],[102.746121,32.921145],[102.746019,32.921124],[102.746005,32.921121],[102.745525,32.92102],[102.744962,32.921075],[102.744943,32.921059],[102.744916,32.92106],[102.744895,32.921081],[102.744411,32.921129],[102.744397,32.92113],[102.744126,32.921157],[102.743884,32.921212],[102.743816,32.921258],[102.74378,32.921278],[102.743748,32.92135],[102.743591,32.921428],[102.74334,32.921553],[102.743312,32.921719],[102.743304,32.921767],[102.74328,32.921913],[102.743256,32.922054],[102.743253,32.922069],[102.743209,32.92233],[102.743185,32.922477],[102.743265,32.922461],[102.743288,32.922482],[102.743284,32.92251],[102.743266,32.922591],[102.743221,32.922724],[102.743198,32.922799],[102.743198,32.922843],[102.743208,32.92291],[102.74322,32.922971],[102.743238,32.923032],[102.743254,32.923076],[102.743306,32.923128],[102.743392,32.923538],[102.74332,32.923671],[102.743241,32.923819],[102.742972,32.923786],[102.742914,32.923778],[102.742902,32.923777],[102.742859,32.923772],[102.742664,32.923748],[102.742473,32.923724],[102.742381,32.923703],[102.74136,32.923474],[102.741241,32.923447],[102.74112,32.923392],[102.740974,32.92334],[102.740795,32.923289],[102.740621,32.923268],[102.74047,32.923257],[102.740368,32.923194],[102.740282,32.92314],[102.740175,32.923074],[102.740037,32.922988],[102.739923,32.922917],[102.739811,32.922848],[102.739661,32.922755],[102.739501,32.92266],[102.739349,32.922569],[102.73921,32.922475],[102.739069,32.922388],[102.738913,32.922291],[102.738759,32.922196],[102.738677,32.922141],[102.738578,32.922075],[102.738424,32.921973],[102.738326,32.921907],[102.73822,32.921837],[102.738081,32.921744],[102.737933,32.921646],[102.737763,32.921532],[102.737582,32.921412],[102.737408,32.921296],[102.737241,32.921184],[102.737116,32.921101],[102.736945,32.920987],[102.736807,32.920895],[102.73663,32.920778],[102.736439,32.920621],[102.736177,32.920407],[102.735922,32.920198],[102.735707,32.920021],[102.735575,32.919913],[102.735408,32.919777],[102.735104,32.919528],[102.734929,32.919384],[102.734786,32.919267],[102.734604,32.919118],[102.734407,32.918941],[102.734196,32.918751],[102.733962,32.918514],[102.733821,32.918381],[102.733813,32.918373],[102.733601,32.918174],[102.733385,32.91797],[102.733241,32.917835],[102.733084,32.91758],[102.732956,32.917371],[102.732834,32.917172],[102.732409,32.916481],[102.732131,32.916324],[102.731291,32.915851],[102.7311,32.915744],[102.730844,32.9156],[102.730825,32.915564],[102.730774,32.915564],[102.730742,32.915484],[102.73071,32.915442],[102.730692,32.915396],[102.730666,32.915328],[102.730646,32.915269],[102.730611,32.915197],[102.730604,32.915148],[102.730431,32.914821],[102.73045,32.914098],[102.730451,32.914056],[102.730457,32.913807],[102.730416,32.913718],[102.730393,32.913668],[102.730318,32.913505],[102.730317,32.913503],[102.730268,32.913397],[102.730192,32.913232],[102.72991,32.912621],[102.729624,32.912485],[102.729546,32.912448],[102.729416,32.912485],[102.729271,32.91247],[102.729104,32.912447],[102.729003,32.912416],[102.728956,32.912386],[102.728923,32.912373],[102.728853,32.912364],[102.728723,32.912359],[102.728318,32.91239],[102.728273,32.91241],[102.728178,32.912451],[102.728131,32.912471],[102.728089,32.912489],[102.727891,32.912583],[102.72786,32.9126],[102.7278,32.912634],[102.727718,32.912715],[102.727617,32.912821],[102.727519,32.912918],[102.727385,32.913042],[102.727329,32.913152],[102.727323,32.913157],[102.727005,32.913339],[102.726769,32.913295],[102.726683,32.913328],[102.726672,32.913328],[102.726669,32.913316],[102.726707,32.913283],[102.726503,32.913245],[102.726484,32.913241],[102.726459,32.913236],[102.726388,32.913223],[102.726047,32.913159],[102.724997,32.912622],[102.72498,32.912613],[102.724963,32.912605],[102.724813,32.912528],[102.724754,32.912513],[102.724466,32.912438],[102.724455,32.912436],[102.724443,32.912432],[102.724086,32.91234],[102.724068,32.912336],[102.72387,32.912284],[102.723754,32.912254],[102.723202,32.912112],[102.72308,32.91208],[102.722942,32.912045],[102.722804,32.912009],[102.722614,32.91196],[102.722608,32.911961],[102.722541,32.911974],[102.722528,32.911977],[102.722522,32.911978],[102.722416,32.911998],[102.721067,32.912257],[102.720696,32.91246],[102.720509,32.912563],[102.719994,32.912846],[102.71978,32.912873],[102.718304,32.913058],[102.71758,32.913167],[102.71658,32.912743],[102.716465,32.91247],[102.71643,32.912388],[102.716229,32.911912],[102.716218,32.911884],[102.716183,32.911854],[102.716182,32.911853],[102.715599,32.911339],[102.715582,32.911339],[102.715443,32.911336],[102.715372,32.911327],[102.715321,32.911309],[102.715254,32.911274],[102.715182,32.911236],[102.715117,32.911207],[102.715039,32.911186],[102.714956,32.911162],[102.71487,32.911103],[102.714747,32.911086],[102.714365,32.911054],[102.714299,32.911049],[102.714274,32.911047],[102.714123,32.911034],[102.713932,32.910911],[102.713413,32.910575],[102.712907,32.910053],[102.712776,32.909808],[102.712665,32.909666],[102.712609,32.909589],[102.712418,32.909461],[102.712252,32.909414],[102.712227,32.909408],[102.712116,32.909376],[102.711933,32.909306],[102.711733,32.909211],[102.711516,32.909092],[102.711279,32.908959],[102.71108,32.908821],[102.710956,32.908706],[102.710802,32.908622],[102.710755,32.908581],[102.710722,32.908578],[102.710292,32.908524],[102.709571,32.908435],[102.7087,32.908622],[102.708361,32.908658],[102.708216,32.908674],[102.708159,32.90868],[102.708094,32.908687],[102.707735,32.908726],[102.707646,32.908707],[102.707575,32.908692],[102.706683,32.908504],[102.706412,32.908304],[102.706367,32.908272],[102.706339,32.908251],[102.705893,32.907924],[102.705886,32.907918],[102.705833,32.907879],[102.705574,32.907808],[102.705442,32.907771],[102.70505,32.907662],[102.704856,32.907609],[102.704734,32.907575],[102.704478,32.907608],[102.704457,32.90761],[102.703898,32.907681],[102.703674,32.90771],[102.703656,32.907712],[102.703616,32.907717],[102.702512,32.907857],[102.702224,32.907894],[102.702106,32.907929],[102.702094,32.907932],[102.701927,32.907981],[102.700916,32.908276],[102.700469,32.908352],[102.700258,32.908388],[102.700235,32.908392],[102.698983,32.908605],[102.698446,32.908772],[102.698352,32.908801],[102.69829,32.90882],[102.697734,32.908993],[102.697625,32.909027],[102.697544,32.909051],[102.697536,32.909054],[102.697161,32.909169],[102.696122,32.909486],[102.69524,32.909546],[102.695183,32.90955],[102.694242,32.909614],[102.692375,32.909255],[102.691648,32.909009],[102.691632,32.909004],[102.691541,32.908973],[102.691524,32.908967],[102.691508,32.908962],[102.691436,32.908938],[102.691092,32.908822],[102.690849,32.908739],[102.690785,32.908684],[102.690442,32.908393],[102.690057,32.908066],[102.690044,32.908054],[102.689756,32.907809],[102.689737,32.907793],[102.689666,32.907732],[102.689484,32.907578],[102.688524,32.906942],[102.688397,32.906859],[102.688349,32.906826],[102.687006,32.90668],[102.686953,32.906701],[102.686929,32.90671],[102.686633,32.906829],[102.686622,32.906833],[102.68652,32.906874],[102.686487,32.906872],[102.685877,32.906839],[102.68578,32.906834],[102.685487,32.906818],[102.685367,32.906812],[102.685174,32.906788],[102.685024,32.90677],[102.684669,32.906727],[102.684588,32.906717],[102.684176,32.906668],[102.684065,32.906654],[102.683806,32.906623],[102.683784,32.90662],[102.683315,32.906611],[102.683042,32.906606],[102.682871,32.906603],[102.682832,32.906601],[102.682784,32.906598],[102.682777,32.906597],[102.682606,32.906587],[102.682449,32.906578],[102.68191,32.906545],[102.681343,32.906169],[102.681218,32.905396],[102.681288,32.905277],[102.681325,32.905214],[102.681571,32.904794],[102.682643,32.904259],[102.682647,32.904257],[102.68277,32.904196],[102.682796,32.904149],[102.682817,32.904128],[102.68285,32.904113],[102.682898,32.904094],[102.682939,32.904074],[102.682995,32.904034],[102.683052,32.903728],[102.683054,32.903717],[102.683152,32.9032],[102.682116,32.902328],[102.681595,32.90209],[102.681351,32.901978],[102.681107,32.901866],[102.681053,32.901841],[102.680548,32.901609],[102.68039,32.9014],[102.680397,32.90136],[102.680399,32.901325],[102.680397,32.901294],[102.680387,32.901265],[102.680348,32.901209],[102.680333,32.90119],[102.680306,32.901158],[102.680419,32.900913],[102.680429,32.90089],[102.680458,32.900829],[102.680677,32.900354],[102.680776,32.900262],[102.68106,32.9],[102.681367,32.899717],[102.68195,32.899485],[102.682538,32.899364],[102.682578,32.899356],[102.682595,32.899352],[102.682675,32.899336],[102.682987,32.89914],[102.683013,32.899108],[102.683031,32.899093],[102.683051,32.899082],[102.683071,32.899073],[102.683115,32.89906],[102.683116,32.899033],[102.683117,32.898998],[102.683121,32.898865],[102.683124,32.898712],[102.683163,32.898703],[102.683259,32.898671],[102.683286,32.898632],[102.683301,32.89855],[102.683301,32.898442],[102.683302,32.898416],[102.683266,32.898424],[102.683253,32.898474],[102.683219,32.89852],[102.683182,32.898554],[102.683128,32.898592],[102.683137,32.898249],[102.682616,32.89779],[102.682605,32.89778],[102.682525,32.89771],[102.682409,32.89764],[102.682273,32.897558],[102.682161,32.89749],[102.682138,32.897476],[102.681483,32.897082],[102.68052,32.896233],[102.680475,32.896192],[102.680198,32.895948],[102.680026,32.895797],[102.67982,32.895665],[102.679814,32.895643],[102.679779,32.895555],[102.679745,32.895517],[102.679629,32.895423],[102.679411,32.895317],[102.67922,32.895247],[102.679132,32.895223],[102.678985,32.895128],[102.677992,32.89485],[102.677744,32.89478],[102.677699,32.894764],[102.67769,32.89476],[102.6766,32.894353],[102.675437,32.893248],[102.67542,32.893233],[102.67538,32.893194],[102.675214,32.893161],[102.675156,32.89315],[102.675121,32.893143],[102.674934,32.893105],[102.674932,32.893105],[102.67471,32.89306],[102.674546,32.89318],[102.674391,32.893184],[102.674259,32.893207],[102.674224,32.89325],[102.674244,32.893347],[102.674267,32.893385],[102.674171,32.893456],[102.67406,32.893538],[102.673934,32.893631],[102.673905,32.893652],[102.673732,32.89378],[102.673727,32.893784],[102.673582,32.893891],[102.673208,32.894028],[102.672699,32.894213],[102.672417,32.894316],[102.672181,32.894434],[102.671994,32.894497],[102.67193,32.894503],[102.671904,32.894503],[102.671862,32.894594],[102.671247,32.894903],[102.670716,32.895224],[102.670569,32.895312],[102.67052,32.895342],[102.670465,32.895375],[102.669704,32.895513],[102.66962,32.895528],[102.66958,32.895536],[102.66945,32.895559],[102.669277,32.895625],[102.669132,32.89568],[102.669116,32.895686],[102.668799,32.895807],[102.668775,32.895816],[102.668715,32.895839],[102.668332,32.895985],[102.666727,32.896685],[102.665941,32.897279],[102.665743,32.897268],[102.665707,32.897265],[102.665347,32.897244],[102.665116,32.897231],[102.664991,32.897223],[102.664967,32.897222],[102.664933,32.89722],[102.664223,32.89676],[102.663669,32.895898],[102.663396,32.895284],[102.663359,32.895057],[102.663371,32.89486],[102.66337,32.89451],[102.663323,32.89421],[102.663343,32.893988],[102.663309,32.893941],[102.663284,32.893795],[102.663283,32.89368],[102.663286,32.893564],[102.663282,32.893498],[102.663254,32.893365],[102.663256,32.893314],[102.663256,32.893293],[102.663252,32.89328],[102.662943,32.892394],[102.662522,32.89194],[102.662236,32.891849],[102.661711,32.891681],[102.661289,32.891693],[102.660845,32.891706],[102.660163,32.892018],[102.659453,32.892706],[102.659423,32.892734],[102.658214,32.892995],[102.658175,32.893014],[102.657727,32.89323],[102.657708,32.893378],[102.657666,32.893716],[102.657717,32.893906],[102.65772,32.893918],[102.657903,32.8946],[102.65794,32.894737],[102.657951,32.894777],[102.65794,32.894795],[102.657916,32.894839],[102.657896,32.894884],[102.657877,32.894944],[102.657853,32.895028],[102.657844,32.895084],[102.657837,32.895136],[102.657831,32.895167],[102.657807,32.895215],[102.657779,32.895304],[102.657769,32.895364],[102.657763,32.89542],[102.657763,32.89547],[102.657774,32.895521],[102.657781,32.895561],[102.657788,32.895596],[102.657788,32.895639],[102.657799,32.895756],[102.657791,32.89579],[102.657775,32.895842],[102.65776,32.895902],[102.657748,32.895951],[102.657742,32.896022],[102.657734,32.896075],[102.657719,32.896123],[102.657707,32.89615],[102.65768,32.896189],[102.657647,32.896223],[102.657595,32.896269],[102.657554,32.89631],[102.657512,32.896339],[102.657405,32.896396],[102.657375,32.896389],[102.657355,32.896381],[102.657345,32.896369],[102.657314,32.896348],[102.657283,32.896342],[102.657312,32.896324],[102.657266,32.89632],[102.65702,32.896301],[102.656172,32.895635],[102.655809,32.894817],[102.655688,32.894715],[102.655666,32.894697],[102.655436,32.894503],[102.655407,32.894417],[102.655358,32.894329],[102.655286,32.894246],[102.655241,32.89421],[102.655207,32.894169],[102.655163,32.894122],[102.655118,32.894094],[102.655054,32.894067],[102.654965,32.894054],[102.654896,32.894049],[102.654798,32.893966],[102.654774,32.893945],[102.654404,32.893727],[102.653779,32.893359],[102.65373,32.893353],[102.652916,32.893261],[102.651553,32.893885],[102.651363,32.894026],[102.650313,32.894808],[102.650277,32.894835],[102.649741,32.895177],[102.649687,32.895212],[102.649682,32.895287],[102.649552,32.895349],[102.649337,32.895435],[102.649227,32.895473],[102.649158,32.895495],[102.64909,32.895525],[102.649038,32.895568],[102.648795,32.895776],[102.648588,32.895963],[102.648418,32.896141],[102.64829,32.896338],[102.648212,32.89648],[102.648187,32.896508],[102.648151,32.89655],[102.647916,32.896819],[102.647879,32.896904],[102.647714,32.897294],[102.647717,32.897316],[102.647728,32.897394],[102.647752,32.897419],[102.647788,32.897445],[102.647823,32.897475],[102.647846,32.897512],[102.64786,32.897547],[102.64793,32.897624],[102.647969,32.897665],[102.648051,32.897713],[102.648333,32.897805],[102.648415,32.897833],[102.648421,32.897844],[102.648468,32.897922],[102.648575,32.8981],[102.648604,32.89815],[102.64862,32.898176],[102.648662,32.898199],[102.64869,32.898216],[102.648715,32.89824],[102.648726,32.898265],[102.648722,32.898283],[102.648697,32.898305],[102.648705,32.898318],[102.64874,32.898377],[102.648741,32.898383],[102.648955,32.899355],[102.64878,32.900186],[102.648746,32.900349],[102.648734,32.900406],[102.648717,32.900438],[102.648685,32.900502],[102.648589,32.900687],[102.64858,32.900704],[102.648493,32.900872],[102.648278,32.90129],[102.647988,32.90164],[102.647956,32.901679],[102.647949,32.901687],[102.647921,32.901721],[102.647781,32.901889],[102.64764,32.901948],[102.647604,32.901963],[102.64676,32.902316],[102.64648,32.90233],[102.646439,32.902333],[102.646228,32.902343],[102.645604,32.902375],[102.644939,32.902038],[102.644289,32.901174],[102.644176,32.901064],[102.644163,32.901051],[102.644144,32.901032],[102.644057,32.900946],[102.643867,32.90076],[102.643849,32.900753],[102.643616,32.900664],[102.643604,32.900659],[102.643417,32.900587],[102.6432,32.900504],[102.642113,32.900808],[102.642078,32.900818],[102.642057,32.900824],[102.641843,32.900884],[102.641649,32.901007],[102.64163,32.901019],[102.641605,32.901035],[102.640913,32.901475],[102.63978,32.902389],[102.639772,32.902395],[102.639571,32.902558],[102.639537,32.902585],[102.639399,32.90291],[102.639282,32.902909],[102.639166,32.903117],[102.639114,32.903378],[102.638917,32.903767],[102.638813,32.904022],[102.638725,32.904683],[102.638729,32.904799],[102.63872,32.904826],[102.638717,32.904836],[102.638653,32.905044],[102.638736,32.90575],[102.638736,32.905752],[102.638742,32.905803],[102.638776,32.906093],[102.63881,32.906386],[102.638846,32.906641],[102.638847,32.906642],[102.638848,32.906654],[102.638899,32.907013],[102.638906,32.907058],[102.638977,32.90756],[102.638979,32.90757],[102.638991,32.907659],[102.638974,32.907675],[102.638949,32.907703],[102.638926,32.907731],[102.638899,32.907758],[102.638875,32.907784],[102.638857,32.907807],[102.638858,32.907849],[102.638854,32.907902],[102.638816,32.907979],[102.638808,32.908094],[102.638818,32.908252],[102.63883,32.908446],[102.638775,32.908519],[102.638719,32.908595],[102.638712,32.908603],[102.638689,32.908634],[102.638553,32.908816],[102.637774,32.908863],[102.63776,32.908864],[102.637544,32.908877],[102.637562,32.90884],[102.637562,32.908815],[102.637542,32.908784],[102.637512,32.908781],[102.637467,32.908792],[102.637379,32.908827],[102.6372,32.908772],[102.637197,32.90877],[102.637189,32.908768],[102.636573,32.908576],[102.636569,32.908575],[102.636298,32.908491],[102.636157,32.908447],[102.636056,32.908415],[102.636014,32.908402],[102.635631,32.908196],[102.635759,32.908208],[102.635831,32.908216],[102.635777,32.908162],[102.635734,32.908135],[102.635648,32.908099],[102.635548,32.908071],[102.635437,32.90806],[102.635295,32.908014],[102.635186,32.907955],[102.634924,32.907813],[102.634893,32.907818],[102.6348,32.907831],[102.634803,32.907842],[102.634825,32.907857],[102.634845,32.907863],[102.634881,32.90788],[102.634866,32.90789],[102.63481,32.907899],[102.634773,32.907902],[102.634725,32.907908],[102.634669,32.907916],[102.634622,32.90792],[102.634578,32.90792],[102.63451,32.907935],[102.63444,32.907938],[102.634425,32.907924],[102.634408,32.907894],[102.634405,32.907885],[102.634259,32.907906],[102.634151,32.907921],[102.634106,32.907965],[102.633982,32.908013],[102.63376,32.908214],[102.633673,32.90837],[102.633669,32.908378],[102.633706,32.908358],[102.633697,32.908384],[102.633672,32.908455],[102.633446,32.909084],[102.633448,32.909315],[102.633451,32.909577],[102.633459,32.910423],[102.633158,32.911157],[102.633161,32.911223],[102.633099,32.911405],[102.633064,32.911482],[102.63295,32.911488],[102.632554,32.911727],[102.632352,32.911849],[102.632265,32.911902],[102.632122,32.911942],[102.632098,32.911948],[102.631709,32.912057],[102.631528,32.912107],[102.631066,32.912236],[102.63096,32.912265],[102.63089,32.912285],[102.63074,32.912327],[102.630646,32.912353],[102.630222,32.912471],[102.630083,32.91251],[102.629619,32.912738],[102.629352,32.912869],[102.629346,32.912872],[102.629248,32.912921],[102.628729,32.913174],[102.628468,32.913304],[102.628357,32.913358],[102.628346,32.913364],[102.627938,32.913564],[102.627826,32.913638],[102.627857,32.913679],[102.627804,32.913724],[102.627757,32.913764],[102.627717,32.913797],[102.627673,32.913766],[102.627622,32.913737],[102.627566,32.913712],[102.627486,32.913682],[102.627372,32.913652],[102.627293,32.913637],[102.627293,32.913665],[102.627294,32.913681],[102.627296,32.913693],[102.627301,32.913705],[102.627311,32.913725],[102.627312,32.913727],[102.627329,32.913749],[102.627343,32.913764],[102.627359,32.913775],[102.627386,32.913787],[102.627403,32.913797],[102.627407,32.913805],[102.627407,32.913819],[102.627408,32.913845],[102.627409,32.913899],[102.627406,32.913915],[102.62732,32.913971],[102.6273,32.913985],[102.627293,32.913989],[102.627188,32.913927],[102.627174,32.913921],[102.627014,32.914039],[102.626826,32.914228],[102.62657,32.914466],[102.626464,32.914602],[102.626331,32.914751],[102.626316,32.914762],[102.626231,32.91482],[102.62621,32.914864],[102.626131,32.914873],[102.625475,32.915709],[102.625147,32.916259],[102.625056,32.91641],[102.625006,32.916494],[102.624972,32.916551],[102.624471,32.917272],[102.624304,32.91738],[102.623325,32.91801],[102.622727,32.918396],[102.622575,32.918494],[102.622537,32.918518],[102.622456,32.91857],[102.622344,32.918642],[102.622268,32.918691],[102.622264,32.91871],[102.622252,32.918768],[102.622121,32.919364],[102.622022,32.919816],[102.62206,32.91986],[102.622119,32.919923],[102.622167,32.919965],[102.622164,32.92019],[102.622187,32.920224],[102.622252,32.920318],[102.622343,32.92045],[102.622378,32.920501],[102.622472,32.920638],[102.622504,32.920684],[102.622518,32.920701],[102.622552,32.92074],[102.6226,32.920797],[102.622695,32.920909],[102.622876,32.921123],[102.623484,32.921839],[102.62413,32.922457],[102.62423,32.922553],[102.62438,32.922696],[102.624385,32.922701],[102.624406,32.922721],[102.624427,32.922741],[102.62437,32.922788],[102.624522,32.922893],[102.624547,32.922905],[102.624716,32.923072],[102.62479,32.923129],[102.624853,32.923176],[102.624911,32.923211],[102.625064,32.923265],[102.625123,32.923279],[102.625135,32.923302],[102.625125,32.923322],[102.625088,32.923338],[102.625042,32.923351],[102.624992,32.923371],[102.624956,32.923393],[102.624953,32.923416],[102.624965,32.923437],[102.624994,32.923441],[102.625048,32.923421],[102.625101,32.923415],[102.625141,32.923431],[102.625196,32.923452],[102.625238,32.923459],[102.625316,32.923467],[102.625361,32.923485],[102.625368,32.923522],[102.625375,32.923548],[102.625424,32.923582],[102.625475,32.923596],[102.62553,32.923609],[102.625586,32.923629],[102.625633,32.923653],[102.625661,32.923676],[102.625703,32.92369],[102.625732,32.923722],[102.625746,32.923751],[102.625774,32.923775],[102.625802,32.923772],[102.625821,32.923754],[102.625858,32.923709],[102.625869,32.923702],[102.626133,32.923866],[102.626219,32.92392],[102.626306,32.923997],[102.626462,32.924135],[102.626609,32.924265],[102.626683,32.92433],[102.626866,32.924491],[102.627123,32.924718],[102.627159,32.92475],[102.627204,32.924827],[102.62724,32.924891],[102.62737,32.925116],[102.627443,32.925242],[102.627509,32.925355],[102.627544,32.925416],[102.627565,32.925452],[102.627717,32.925716],[102.627822,32.925898],[102.627826,32.925905],[102.627842,32.925932],[102.627941,32.926104],[102.627952,32.926149],[102.628035,32.926495],[102.628072,32.926649],[102.62809,32.926724],[102.628244,32.927368],[102.627833,32.928334],[102.627594,32.928481],[102.626806,32.928964],[102.626676,32.929114],[102.626655,32.929138],[102.626642,32.929153],[102.626012,32.929882],[102.625868,32.930111],[102.625668,32.93043],[102.625621,32.930505],[102.625606,32.930529],[102.625524,32.93066],[102.625345,32.930946],[102.625332,32.930966],[102.625177,32.931215],[102.625169,32.931228],[102.625197,32.931232],[102.625206,32.931252],[102.625206,32.931274],[102.625195,32.931307],[102.625181,32.931332],[102.625159,32.931349],[102.625083,32.931365],[102.625046,32.931365],[102.625017,32.931375],[102.624994,32.931421],[102.624988,32.931461],[102.62497,32.931512],[102.624945,32.931545],[102.624893,32.931572],[102.624853,32.931583],[102.624823,32.931597],[102.624812,32.931628],[102.62483,32.931679],[102.624694,32.931801],[102.624417,32.932049],[102.624352,32.932108],[102.62434,32.932118],[102.624322,32.932275],[102.624296,32.932367],[102.624268,32.932451],[102.62425,32.932496],[102.624212,32.932505],[102.624131,32.932516],[102.624021,32.932543],[102.623915,32.932574],[102.623863,32.932619],[102.623785,32.932719],[102.623691,32.932796],[102.623547,32.932913],[102.62347,32.932992],[102.623394,32.933046],[102.623314,32.933071],[102.623205,32.933127],[102.623085,32.933154],[102.623006,32.933178],[102.622959,32.933214],[102.622869,32.933262],[102.622749,32.933313],[102.622607,32.933378],[102.622452,32.933447],[102.622308,32.933513],[102.622146,32.933591],[102.621992,32.933632],[102.621881,32.933675],[102.621854,32.933686],[102.621769,32.93371],[102.621693,32.933708],[102.621696,32.93369],[102.621698,32.93368],[102.621699,32.933675],[102.621682,32.933559],[102.621677,32.933527],[102.621431,32.933512],[102.620815,32.933476],[102.620127,32.933377],[102.620041,32.933364],[102.619924,32.933347],[102.619521,32.933289],[102.618546,32.933207],[102.618538,32.933206],[102.618315,32.933188],[102.618273,32.933184],[102.617902,32.933142],[102.617769,32.933127],[102.617755,32.933125],[102.617518,32.933099],[102.616977,32.933038],[102.616086,32.933994],[102.616112,32.934807],[102.616183,32.934882],[102.616202,32.934903],[102.617001,32.935757],[102.617902,32.936261],[102.617919,32.936263],[102.618905,32.936357],[102.618958,32.936362],[102.620007,32.936327],[102.620401,32.936314],[102.620468,32.936312],[102.620499,32.936311],[102.621837,32.936446],[102.621987,32.936461],[102.62226,32.936489],[102.622375,32.936501],[102.622872,32.936552],[102.623307,32.936597],[102.623426,32.93661],[102.624729,32.936978],[102.624752,32.937074],[102.624805,32.937105],[102.624854,32.937123],[102.624961,32.937152],[102.62506,32.937158],[102.625103,32.937156],[102.625218,32.937134],[102.626004,32.937389],[102.626862,32.937789],[102.627002,32.937855],[102.627068,32.937934],[102.627091,32.937961],[102.62737,32.938296],[102.627485,32.938434],[102.627572,32.938538],[102.627586,32.938556],[102.627655,32.938638],[102.627788,32.939417],[102.627797,32.939471],[102.627815,32.93958],[102.627841,32.939733],[102.627846,32.939758],[102.627863,32.93986],[102.627857,32.940081],[102.627855,32.940176],[102.627853,32.940184],[102.627841,32.940702],[102.627836,32.940881],[102.627817,32.940889],[102.627786,32.940914],[102.627766,32.94096],[102.627755,32.941008],[102.627748,32.941041],[102.627744,32.94106],[102.627707,32.941113],[102.627706,32.941115],[102.627734,32.941265],[102.627746,32.941325],[102.627763,32.941406],[102.627778,32.941492],[102.627815,32.941644],[102.627811,32.942347],[102.62781,32.942438],[102.62781,32.942466],[102.627809,32.94268],[102.627808,32.94282],[102.627807,32.942856],[102.627806,32.943155],[102.627805,32.943247],[102.6278,32.94398],[102.6278,32.944038],[102.627799,32.944073],[102.627788,32.944485],[102.627781,32.944728],[102.627538,32.944807],[102.627475,32.944827],[102.626956,32.944996],[102.626771,32.944999],[102.626715,32.944999],[102.626547,32.945002],[102.625877,32.945011],[102.625829,32.945011],[102.625704,32.945013],[102.625517,32.945004],[102.625312,32.944994],[102.6252,32.944988],[102.625021,32.944979],[102.624962,32.944976],[102.624921,32.944974],[102.624897,32.944973],[102.624358,32.944947],[102.622627,32.944914],[102.622554,32.944902],[102.62253,32.944946],[102.622461,32.944995],[102.622399,32.94504],[102.622282,32.945131],[102.622188,32.945178],[102.622184,32.94527],[102.6222,32.945615],[102.622203,32.945672],[102.622215,32.94592],[102.622588,32.94636],[102.62325,32.946751],[102.623569,32.946939],[102.623832,32.947094],[102.623865,32.947114],[102.623915,32.947143],[102.62395,32.94717],[102.623969,32.947185],[102.623829,32.94723],[102.623752,32.947253],[102.623661,32.947282],[102.623575,32.947311],[102.623541,32.947333],[102.623654,32.947338],[102.623772,32.947322],[102.6239,32.947298],[102.62409,32.947278],[102.624337,32.947469],[102.624519,32.94761],[102.624661,32.947719],[102.624921,32.94792],[102.625221,32.948308],[102.625351,32.948476],[102.625371,32.948488],[102.625474,32.948537],[102.625545,32.948604],[102.625673,32.948727],[102.625736,32.948794],[102.625731,32.948804],[102.625684,32.948907],[102.625727,32.948963],[102.625803,32.949061],[102.625835,32.949102],[102.625849,32.949119],[102.625857,32.949129],[102.625912,32.949199],[102.62597,32.949274],[102.626241,32.949485],[102.626523,32.949756],[102.626617,32.949834],[102.626711,32.949872],[102.626858,32.949902],[102.627028,32.949901],[102.627195,32.949893],[102.627333,32.949871],[102.627511,32.949803],[102.627607,32.949758],[102.627695,32.949759],[102.627807,32.949785],[102.62867,32.94929],[102.628679,32.949286],[102.628679,32.949261],[102.628718,32.949208],[102.628805,32.949141],[102.628909,32.949071],[102.629036,32.948996],[102.629121,32.948941],[102.62918,32.948888],[102.629242,32.94884],[102.629287,32.948833],[102.62931,32.948845],[102.629284,32.948885],[102.629237,32.948921],[102.629183,32.948969],[102.62915,32.949005],[102.629132,32.94902],[102.629128,32.94903],[102.629128,32.949052],[102.629128,32.949072],[102.629124,32.949091],[102.629149,32.949084],[102.629275,32.949029],[102.629284,32.949026],[102.629305,32.949017],[102.629514,32.948927],[102.62965,32.948949],[102.629671,32.948952],[102.629708,32.948958],[102.629789,32.94897],[102.629896,32.948988],[102.630073,32.949016],[102.630223,32.94904],[102.630559,32.949094],[102.630664,32.949111],[102.630717,32.949168],[102.630797,32.949254],[102.630945,32.949414],[102.631026,32.949501],[102.631147,32.949632],[102.631226,32.949717],[102.631239,32.949864],[102.631253,32.950011],[102.631261,32.950096],[102.631268,32.950179],[102.631281,32.950321],[102.631289,32.950407],[102.631292,32.950435],[102.631305,32.95058],[102.631325,32.950801],[102.631212,32.950989],[102.631193,32.951022],[102.630586,32.952031],[102.630581,32.952036],[102.630072,32.952476],[102.630043,32.952501],[102.630014,32.952525],[102.629867,32.952653],[102.629667,32.952825],[102.629362,32.95283],[102.628126,32.95285],[102.626533,32.952441],[102.626411,32.952439],[102.626055,32.952432],[102.62601,32.952431],[102.626001,32.952431],[102.625966,32.95243],[102.625819,32.952428],[102.625092,32.952414],[102.625048,32.952413],[102.624993,32.952412],[102.624898,32.952443],[102.624784,32.952481],[102.624718,32.952503],[102.624634,32.95253],[102.624575,32.952549],[102.624521,32.952567],[102.624407,32.952583],[102.624102,32.95268],[102.623952,32.952768],[102.623828,32.952861],[102.62369,32.953007],[102.623227,32.953304],[102.623137,32.953362],[102.62291,32.953509],[102.622672,32.953755],[102.621524,32.954943],[102.620567,32.955685],[102.61982,32.956263],[102.617603,32.957574],[102.61714,32.957866],[102.616773,32.957989],[102.616813,32.958071],[102.616683,32.958155],[102.616657,32.958171],[102.616466,32.958292],[102.61641,32.958327],[102.616157,32.958487],[102.615969,32.958606],[102.615775,32.958729],[102.615237,32.959638],[102.615113,32.960767],[102.61506,32.961253],[102.615041,32.961423],[102.615039,32.961439],[102.615024,32.961581],[102.615001,32.961791],[102.615128,32.961831],[102.615264,32.961873],[102.615258,32.961906],[102.615228,32.961926],[102.615167,32.961966],[102.615145,32.961999],[102.615143,32.962032],[102.615148,32.962077],[102.615175,32.962145],[102.61514,32.962163],[102.615074,32.962184],[102.615063,32.962228],[102.61506,32.962364],[102.615068,32.962424],[102.615101,32.96249],[102.615087,32.962527],[102.615045,32.962578],[102.61501,32.962636],[102.615004,32.962685],[102.615013,32.962764],[102.615008,32.96285],[102.615004,32.962926],[102.614996,32.963009],[102.614993,32.963056],[102.614992,32.963075],[102.61495,32.963164],[102.614924,32.963263],[102.614914,32.963326],[102.614901,32.963397],[102.614839,32.963528],[102.614816,32.963624],[102.614801,32.963688],[102.614795,32.96374],[102.614782,32.963811],[102.614731,32.963871],[102.614694,32.963962],[102.614661,32.964044],[102.614633,32.964126],[102.614606,32.964203],[102.614576,32.964278],[102.614576,32.96435],[102.61458,32.964406],[102.614554,32.964459],[102.614498,32.964475],[102.614255,32.964736],[102.614205,32.96479],[102.6142,32.964794],[102.614134,32.964866],[102.613554,32.964913],[102.612526,32.964997],[102.612445,32.964992],[102.612279,32.964982],[102.612068,32.964969],[102.612054,32.964968],[102.61198,32.964988],[102.611934,32.964987],[102.611856,32.964984],[102.611763,32.964986],[102.611579,32.965007],[102.611508,32.964992],[102.611433,32.964949],[102.611411,32.964929],[102.611354,32.964876],[102.611283,32.964827],[102.611226,32.964791],[102.611178,32.964775],[102.611113,32.964775],[102.611042,32.964775],[102.611003,32.96479],[102.611,32.964814],[102.611023,32.964837],[102.611051,32.964849],[102.611173,32.964917],[102.610987,32.964914],[102.610591,32.964906],[102.609961,32.964894],[102.609724,32.965032],[102.609676,32.96506],[102.609643,32.965079],[102.609626,32.965088],[102.609366,32.965239],[102.609357,32.965245],[102.609314,32.96527],[102.608788,32.965575],[102.607592,32.967067],[102.607494,32.967873],[102.607479,32.967994],[102.60747,32.968069],[102.607465,32.968105],[102.607427,32.968416],[102.60784,32.969122],[102.607989,32.969376],[102.608028,32.969443],[102.60807,32.969515],[102.608164,32.969675],[102.608589,32.969944],[102.609021,32.970216],[102.609047,32.970233],[102.609448,32.970391],[102.609539,32.970427],[102.611063,32.971029],[102.611207,32.971086],[102.612087,32.971478],[102.612348,32.971595],[102.612486,32.971878],[102.612603,32.972121],[102.612956,32.972851],[102.612939,32.9735],[102.612817,32.973998],[102.61265,32.974684],[102.611145,32.975738],[102.611094,32.975783],[102.610133,32.976627],[102.610081,32.976673],[102.610059,32.976693],[102.609699,32.977009],[102.609661,32.977056],[102.609001,32.977883],[102.608683,32.978282],[102.608636,32.978341],[102.608634,32.978352],[102.608452,32.979338],[102.60836,32.979838],[102.608326,32.980026],[102.608318,32.980065],[102.608276,32.980093],[102.608255,32.98014],[102.608216,32.980212],[102.608179,32.980261],[102.608148,32.980306],[102.608111,32.980371],[102.608097,32.980417],[102.608067,32.980495],[102.608028,32.980565],[102.607973,32.980628],[102.6079,32.980714],[102.607876,32.980759],[102.607853,32.980823],[102.607853,32.980869],[102.607853,32.980936],[102.607859,32.981006],[102.607863,32.981065],[102.60785,32.981107],[102.607824,32.98115],[102.607782,32.981204],[102.60771,32.981293],[102.607697,32.981342],[102.607691,32.981409],[102.607691,32.981449],[102.607699,32.981491],[102.607714,32.981534],[102.607727,32.981564],[102.607752,32.981596],[102.607784,32.981641],[102.607797,32.981674],[102.607814,32.981721],[102.607814,32.981738],[102.607817,32.981747],[102.607824,32.98175],[102.607811,32.981776],[102.607807,32.981784],[102.607727,32.981937],[102.607575,32.982231],[102.607528,32.982322],[102.6075,32.982377],[102.607396,32.982444],[102.607282,32.982517],[102.606602,32.982955],[102.606012,32.983334],[102.605268,32.983813],[102.605213,32.983848],[102.60496,32.984044],[102.604552,32.984358],[102.604134,32.984681],[102.604093,32.984712],[102.604081,32.984722],[102.603843,32.984905],[102.603682,32.98503],[102.60364,32.985062],[102.602978,32.985807],[102.602852,32.986324],[102.60284,32.986373],[102.602738,32.986789],[102.602545,32.987584],[102.602399,32.987871],[102.602371,32.987928],[102.602137,32.988388],[102.602002,32.988656],[102.601927,32.988769],[102.601541,32.989354],[102.601489,32.989433],[102.60146,32.989478],[102.60139,32.989583],[102.601333,32.989671],[102.600635,32.990232],[102.600506,32.990336],[102.600477,32.990284],[102.600399,32.990296],[102.600339,32.990322],[102.600289,32.990359],[102.600212,32.990406],[102.600144,32.990448],[102.600071,32.990565],[102.599935,32.990717],[102.599868,32.990857],[102.5998,32.991002],[102.599762,32.991106],[102.599715,32.991277],[102.599707,32.991307],[102.59971,32.991318],[102.599161,32.991631],[102.599116,32.991723],[102.598882,32.99221],[102.598643,32.992707],[102.598473,32.99306],[102.598135,32.993447],[102.598165,32.993482],[102.598197,32.993556],[102.598225,32.993622],[102.59824,32.993684],[102.598252,32.993758],[102.598252,32.99382],[102.598241,32.993894],[102.5982,32.99401],[102.598198,32.994014],[102.598145,32.994089],[102.598142,32.994094],[102.598043,32.994268],[102.597985,32.994376],[102.597985,32.994385],[102.59798,32.994457],[102.597978,32.994587],[102.597933,32.994676],[102.597837,32.994828],[102.597751,32.994957],[102.597736,32.995108],[102.597571,32.995504],[102.597539,32.995619],[102.597438,32.99598],[102.597496,32.996102],[102.59753,32.996173],[102.597535,32.996184],[102.597653,32.996432],[102.597802,32.996745],[102.597865,32.996847],[102.598769,32.998313],[102.598888,32.998445],[102.598982,32.998588],[102.599097,32.998698],[102.599032,32.998739],[102.599064,32.998867],[102.599114,32.999063],[102.599261,32.999641],[102.599487,33.000535],[102.599949,33.00133],[102.600198,33.001761],[102.600242,33.001836],[102.600337,33.002],[102.600288,33.002117],[102.600175,33.002382],[102.599868,33.003102],[102.599772,33.003328],[102.599699,33.003498],[102.599514,33.003933],[102.599175,33.004538],[102.598841,33.005135],[102.598568,33.005621],[102.598268,33.006157],[102.597988,33.006453],[102.597774,33.006678],[102.597681,33.006776],[102.597632,33.006829],[102.597291,33.007188],[102.597201,33.007266],[102.596502,33.007872],[102.596374,33.008063],[102.596361,33.008056],[102.596341,33.008054],[102.596302,33.00806],[102.596271,33.008089],[102.596247,33.008125],[102.59621,33.008151],[102.596165,33.008181],[102.596133,33.008224],[102.596058,33.00829],[102.596019,33.008347],[102.595979,33.008387],[102.595873,33.00855],[102.595851,33.008616],[102.595822,33.008722],[102.595803,33.00879],[102.595795,33.008862],[102.595796,33.008998],[102.595808,33.009091],[102.59581,33.00918],[102.595842,33.009421],[102.595964,33.009979],[102.596016,33.010342],[102.59602,33.010378],[102.596038,33.010551],[102.596067,33.010644],[102.596103,33.010737],[102.596111,33.010826],[102.596114,33.010931],[102.596117,33.010984],[102.596128,33.011012],[102.596159,33.011058],[102.596176,33.011106],[102.596194,33.0112],[102.596203,33.01129],[102.596222,33.011359],[102.596241,33.01145],[102.596279,33.011572],[102.596306,33.01165],[102.596329,33.011745],[102.596351,33.011828],[102.596377,33.011896],[102.596409,33.011956],[102.596486,33.012062],[102.596487,33.012067],[102.596501,33.012145],[102.596602,33.012707],[102.596587,33.01271],[102.596582,33.012722],[102.596583,33.012755],[102.5966,33.012861],[102.596619,33.012985],[102.596618,33.013132],[102.596637,33.01322],[102.596676,33.01334],[102.596723,33.013455],[102.596735,33.013516],[102.59678,33.013734],[102.596793,33.01388],[102.5968,33.013921],[102.596855,33.014254],[102.59689,33.014527],[102.596958,33.014857],[102.596998,33.014977],[102.597028,33.015083],[102.597057,33.015335],[102.597101,33.015493],[102.597124,33.015689],[102.597145,33.015832],[102.597169,33.015997],[102.597218,33.016187],[102.597217,33.016297],[102.597221,33.016398],[102.597226,33.016476],[102.597201,33.016546],[102.597178,33.016596],[102.597173,33.016653],[102.597174,33.016722],[102.597157,33.016801],[102.597126,33.01699],[102.597096,33.017099],[102.597084,33.017153],[102.597085,33.017167],[102.59709,33.01717],[102.597047,33.017276],[102.596987,33.017422],[102.596793,33.017892],[102.596761,33.017969],[102.596736,33.018017],[102.596136,33.019157],[102.595949,33.019299],[102.595286,33.019805],[102.594985,33.020034],[102.594183,33.020423],[102.593784,33.020616],[102.5936,33.020705],[102.59303,33.020981],[102.593002,33.020995],[102.592401,33.021225],[102.591902,33.021417],[102.591167,33.021699],[102.591161,33.021702],[102.591144,33.021708],[102.590511,33.021851],[102.590266,33.02204],[102.590142,33.022091],[102.590051,33.02212],[102.589907,33.022161],[102.589786,33.022188],[102.589704,33.022208],[102.589647,33.022218],[102.589576,33.022218],[102.589411,33.022213],[102.589334,33.022195],[102.589212,33.022163],[102.589152,33.022143],[102.58907,33.022159],[102.588579,33.022258],[102.588438,33.022402],[102.588426,33.022415],[102.588379,33.022393],[102.588312,33.022383],[102.588218,33.022382],[102.588144,33.022386],[102.5881,33.022403],[102.588085,33.022421],[102.588079,33.022449],[102.588106,33.022475],[102.588143,33.022492],[102.588183,33.02251],[102.5882,33.02253],[102.5882,33.022549],[102.588169,33.022586],[102.588098,33.022645],[102.587992,33.022703],[102.587944,33.02273],[102.587911,33.02274],[102.587876,33.022744],[102.587852,33.022736],[102.587836,33.022727],[102.587833,33.022713],[102.587857,33.022688],[102.587871,33.022651],[102.587872,33.022622],[102.587852,33.022603],[102.587813,33.022599],[102.587759,33.022624],[102.587663,33.022666],[102.587584,33.022693],[102.587525,33.022743],[102.587484,33.022815],[102.587477,33.022865],[102.587502,33.022953],[102.587534,33.023077],[102.587566,33.023207],[102.587611,33.0233],[102.587651,33.023372],[102.587684,33.023436],[102.587708,33.023479],[102.587717,33.023498],[102.587717,33.023529],[102.587689,33.023667],[102.58767,33.023781],[102.587602,33.023894],[102.587567,33.024012],[102.587533,33.02416],[102.587522,33.02426],[102.587511,33.024436],[102.587518,33.024537],[102.587537,33.024649],[102.587576,33.024778],[102.587601,33.024853],[102.587637,33.024948],[102.58767,33.025072],[102.587682,33.025154],[102.587693,33.025238],[102.587722,33.025307],[102.587752,33.025364],[102.587779,33.025436],[102.587795,33.025484],[102.587808,33.025504],[102.587821,33.025516],[102.587835,33.025516],[102.587867,33.025622],[102.587868,33.025627],[102.588082,33.02635],[102.588099,33.026455],[102.588196,33.027087],[102.588233,33.027326],[102.58808,33.028104],[102.588027,33.028371],[102.587814,33.028606],[102.58766,33.028776],[102.587423,33.028798],[102.587403,33.0288],[102.587086,33.02883],[102.586629,33.028873],[102.586502,33.028885],[102.586367,33.028897],[102.586204,33.028913],[102.586039,33.028928],[102.586011,33.028931],[102.585767,33.028951],[102.585759,33.028951],[102.585345,33.028985],[102.585243,33.028993],[102.585206,33.028996],[102.584898,33.029022],[102.58478,33.029044],[102.58454,33.02909],[102.584225,33.029],[102.584161,33.028982],[102.583938,33.028918],[102.583863,33.028828],[102.583777,33.028794],[102.58373,33.028787],[102.583558,33.028618],[102.583445,33.028507],[102.583413,33.028019],[102.583203,33.027803],[102.583154,33.027752],[102.583051,33.027706],[102.583036,33.0277],[102.582891,33.027635],[102.582875,33.027625],[102.582876,33.027658],[102.582872,33.027719],[102.582867,33.027746],[102.58285,33.027768],[102.582829,33.027774],[102.582816,33.027764],[102.582788,33.027724],[102.582759,33.027683],[102.582714,33.027629],[102.582682,33.027584],[102.582632,33.027511],[102.582562,33.027427],[102.58253,33.027407],[102.582492,33.027366],[102.582294,33.027218],[102.582207,33.027148],[102.582155,33.027137],[102.582137,33.027135],[102.582107,33.027138],[102.58206,33.027141],[102.582007,33.02714],[102.58193,33.027138],[102.581897,33.027129],[102.58188,33.027106],[102.581875,33.027071],[102.581879,33.027013],[102.581881,33.026973],[102.581881,33.026929],[102.581869,33.02692],[102.5818,33.026865],[102.581712,33.026863],[102.581564,33.02686],[102.5814,33.026857],[102.581295,33.027454],[102.58106,33.027936],[102.580833,33.028082],[102.580438,33.027924],[102.580409,33.027857],[102.580407,33.027851],[102.580365,33.027754],[102.580349,33.027715],[102.580229,33.027433],[102.579831,33.027351],[102.579781,33.027391],[102.579776,33.027395],[102.579766,33.027376],[102.579741,33.02735],[102.5797,33.027316],[102.579635,33.027288],[102.579553,33.027281],[102.579474,33.027289],[102.579386,33.027371],[102.579322,33.027438],[102.579209,33.027339],[102.578999,33.026885],[102.578945,33.026754],[102.578958,33.026736],[102.578967,33.026692],[102.578919,33.0266],[102.578865,33.026561],[102.578856,33.026539],[102.578624,33.025979],[102.578422,33.025619],[102.578412,33.025601],[102.578394,33.025597],[102.578459,33.025577],[102.578536,33.025544],[102.578573,33.025518],[102.578603,33.025482],[102.578625,33.025407],[102.578613,33.025312],[102.578554,33.02523],[102.578465,33.025182],[102.578381,33.025173],[102.578271,33.025223],[102.578151,33.0253],[102.578068,33.025354],[102.577993,33.025375],[102.577846,33.025382],[102.577719,33.025382],[102.577597,33.025435],[102.577502,33.025471],[102.577488,33.025476],[102.577466,33.025474],[102.577393,33.025468],[102.57682,33.025308],[102.576877,33.024822],[102.576672,33.024219],[102.576621,33.024138],[102.576576,33.024175],[102.576519,33.024115],[102.576574,33.024062],[102.576459,33.023878],[102.576169,33.023872],[102.57597,33.023868],[102.57565,33.024079],[102.575602,33.02411],[102.575488,33.024185],[102.575472,33.024195],[102.575447,33.024217],[102.574835,33.024745],[102.574522,33.024814],[102.574415,33.024738],[102.574358,33.024698],[102.574304,33.024659],[102.574305,33.024622],[102.574305,33.024612],[102.574313,33.024323],[102.574688,33.023618],[102.574919,33.023286],[102.574928,33.022949],[102.574501,33.022342],[102.574332,33.022001],[102.574404,33.021932],[102.57456,33.021781],[102.574594,33.021766],[102.574606,33.021779],[102.574624,33.021791],[102.574724,33.021856],[102.574812,33.021904],[102.574898,33.021918],[102.574983,33.021913],[102.575045,33.021888],[102.57509,33.021827],[102.575103,33.021787],[102.57511,33.021715],[102.575111,33.021674],[102.575107,33.021604],[102.575101,33.021529],[102.575115,33.021513],[102.575467,33.021125],[102.575479,33.020714],[102.575482,33.020602],[102.575489,33.020564],[102.575533,33.02034],[102.575625,33.020258],[102.57564,33.020246],[102.575708,33.020251],[102.575753,33.020236],[102.575843,33.020201],[102.575907,33.02015],[102.575967,33.020082],[102.57599,33.020037],[102.575993,33.019987],[102.57597,33.019953],[102.575989,33.019937],[102.576066,33.019799],[102.576176,33.019603],[102.576139,33.01934],[102.575929,33.018887],[102.575669,33.018787],[102.575653,33.018748],[102.57562,33.018684],[102.575537,33.018614],[102.57547,33.018581],[102.575384,33.01858],[102.575326,33.01858],[102.575282,33.018579],[102.575247,33.018595],[102.57523,33.018604],[102.575218,33.018598],[102.574703,33.018313],[102.574612,33.018262],[102.574533,33.01821],[102.574453,33.018156],[102.574333,33.018077],[102.573914,33.017799],[102.573531,33.017193],[102.573309,33.017151],[102.572818,33.017254],[102.572601,33.01717],[102.572587,33.017165],[102.57251,33.017135],[102.572514,33.017123],[102.572567,33.01698],[102.572569,33.016975],[102.572606,33.016875],[102.572706,33.016465],[102.572672,33.016248],[102.572758,33.016214],[102.572807,33.016178],[102.572857,33.016122],[102.572882,33.016083],[102.572882,33.016036],[102.572873,33.015994],[102.572855,33.015967],[102.572828,33.015924],[102.572802,33.015895],[102.572703,33.015863],[102.572602,33.015851],[102.57249,33.015853],[102.572479,33.015843],[102.57224,33.015632],[102.572005,33.015578],[102.571998,33.015576],[102.571989,33.015561],[102.571952,33.015495],[102.571897,33.015427],[102.571839,33.015361],[102.571792,33.015319],[102.571753,33.015256],[102.571701,33.015202],[102.571651,33.015183],[102.57163,33.015177],[102.57161,33.015172],[102.571586,33.01517],[102.571572,33.015169],[102.571574,33.015164],[102.571682,33.01491],[102.572006,33.014429],[102.571895,33.014331],[102.571705,33.014382],[102.571686,33.014315],[102.571679,33.014289],[102.571648,33.014213],[102.571586,33.014136],[102.57152,33.014066],[102.57148,33.014024],[102.571378,33.013999],[102.571312,33.013987],[102.571212,33.013973],[102.571149,33.013971],[102.571029,33.014015],[102.570984,33.014032],[102.570748,33.014119],[102.570725,33.014127],[102.57059,33.014177],[102.570199,33.014242],[102.569787,33.014311],[102.569426,33.014529],[102.569146,33.01501],[102.569089,33.015016],[102.569055,33.015019],[102.568917,33.015033],[102.568899,33.015046],[102.56884,33.015082],[102.568801,33.015106],[102.568759,33.015133],[102.568715,33.015156],[102.568662,33.01519],[102.568607,33.015225],[102.56859,33.015241],[102.568536,33.015276],[102.568466,33.015337],[102.568414,33.015368],[102.568408,33.015372],[102.56837,33.015403],[102.568316,33.015398],[102.568283,33.015382],[102.568249,33.015338],[102.568229,33.015291],[102.568267,33.015253],[102.568317,33.015215],[102.568353,33.015191],[102.568398,33.015176],[102.568456,33.015143],[102.568484,33.015122],[102.568512,33.015102],[102.568559,33.015057],[102.568596,33.015006],[102.568605,33.014951],[102.568597,33.014883],[102.568571,33.014829],[102.568425,33.014737],[102.568385,33.014721],[102.568333,33.01469],[102.568272,33.01468],[102.568234,33.01469],[102.568183,33.014718],[102.568178,33.014721],[102.568146,33.014746],[102.568115,33.014775],[102.568082,33.014828],[102.568073,33.01486],[102.56807,33.014907],[102.568057,33.01498],[102.568051,33.015022],[102.568033,33.015064],[102.568009,33.015103],[102.567987,33.015124],[102.567947,33.015145],[102.567889,33.015149],[102.567837,33.01514],[102.567799,33.015115],[102.567748,33.015072],[102.567728,33.015039],[102.567695,33.015012],[102.567668,33.014986],[102.567647,33.014967],[102.567637,33.014943],[102.567639,33.014903],[102.567675,33.014873],[102.567706,33.014862],[102.567713,33.014859],[102.567788,33.014833],[102.567853,33.014792],[102.567908,33.014749],[102.56796,33.014701],[102.567991,33.014652],[102.567994,33.014617],[102.567994,33.014572],[102.567966,33.014504],[102.567944,33.014481],[102.567914,33.014463],[102.56788,33.014448],[102.567845,33.01444],[102.567805,33.01443],[102.567768,33.014426],[102.567725,33.014424],[102.567646,33.014432],[102.567603,33.014452],[102.56754,33.014474],[102.567501,33.014482],[102.567442,33.014478],[102.567387,33.014464],[102.567332,33.014434],[102.567285,33.01437],[102.567256,33.014326],[102.567205,33.014274],[102.567113,33.014192],[102.567072,33.014156],[102.567028,33.014119],[102.566988,33.014081],[102.566961,33.014052],[102.56692,33.014019],[102.566886,33.014005],[102.566837,33.014003],[102.566794,33.014014],[102.566768,33.014035],[102.566746,33.014059],[102.56671,33.014092],[102.566694,33.014109],[102.566687,33.014128],[102.566684,33.014162],[102.566706,33.014202],[102.56672,33.014238],[102.566738,33.014279],[102.566753,33.014335],[102.566762,33.014384],[102.566762,33.014449],[102.566751,33.014475],[102.566742,33.014499],[102.56671,33.014548],[102.566684,33.014584],[102.566657,33.014613],[102.566625,33.014637],[102.566574,33.014662],[102.566533,33.01467],[102.566458,33.014667],[102.566427,33.014654],[102.566413,33.014636],[102.566419,33.014589],[102.566449,33.014539],[102.566472,33.014505],[102.566502,33.014452],[102.566525,33.01441],[102.566541,33.014371],[102.566558,33.014317],[102.566561,33.014264],[102.566559,33.014235],[102.56654,33.0142],[102.566501,33.01421],[102.566455,33.014276],[102.566406,33.014238],[102.566342,33.014224],[102.566269,33.01423],[102.566184,33.014236],[102.5661,33.014221],[102.566033,33.014201],[102.565929,33.014147],[102.565868,33.014113],[102.565832,33.014114],[102.565796,33.014128],[102.565756,33.014174],[102.565718,33.014212],[102.56566,33.01428],[102.565605,33.014317],[102.56553,33.014338],[102.565487,33.014334],[102.565421,33.01431],[102.56535,33.014261],[102.565273,33.014237],[102.56524,33.014238],[102.565187,33.014265],[102.56515,33.014316],[102.565127,33.014387],[102.565139,33.014437],[102.565159,33.014465],[102.565201,33.014488],[102.565257,33.014509],[102.56533,33.014531],[102.56541,33.014546],[102.565446,33.014556],[102.56554,33.014581],[102.565608,33.014616],[102.565623,33.014628],[102.565667,33.014665],[102.56569,33.014713],[102.565705,33.014794],[102.565709,33.014878],[102.56572,33.014955],[102.565722,33.014962],[102.56575,33.015037],[102.565774,33.015075],[102.565803,33.015099],[102.565848,33.015115],[102.565874,33.015116],[102.565927,33.015105],[102.565981,33.015083],[102.566059,33.015055],[102.56612,33.015038],[102.566174,33.015041],[102.566235,33.015069],[102.566316,33.015122],[102.566342,33.015157],[102.56634,33.015218],[102.566274,33.015213],[102.566298,33.01524],[102.566315,33.015268],[102.566314,33.015297],[102.566301,33.015328],[102.566269,33.015359],[102.566192,33.015377],[102.566053,33.015381],[102.566021,33.015384],[102.565952,33.015401],[102.565891,33.015428],[102.565852,33.015458],[102.565802,33.015493],[102.56577,33.01552],[102.565717,33.01555],[102.565684,33.01556],[102.565637,33.015558],[102.565605,33.01553],[102.565607,33.015517],[102.565642,33.015471],[102.565662,33.015432],[102.565667,33.01538],[102.565666,33.015309],[102.565658,33.015278],[102.565636,33.015245],[102.565608,33.015223],[102.565561,33.015211],[102.565508,33.015198],[102.565433,33.015195],[102.565393,33.015285],[102.565244,33.015624],[102.565203,33.015718],[102.565145,33.01585],[102.565032,33.016325],[102.564702,33.017414],[102.564503,33.019769],[102.564832,33.021152],[102.565268,33.022255],[102.565489,33.023014],[102.564996,33.024583],[102.564351,33.026233],[102.564152,33.027113],[102.563754,33.029327],[102.563595,33.030334],[102.563055,33.032418],[102.562602,33.033573],[102.561842,33.034839],[102.5616,33.035978],[102.561623,33.036826],[102.56179,33.037558],[102.561676,33.038325],[102.561634,33.038994],[102.561196,33.039597],[102.560478,33.040155],[102.559556,33.040511],[102.559062,33.04058],[102.557617,33.040375],[102.556985,33.040382],[102.556472,33.040293],[102.555916,33.040105],[102.554891,33.039927],[102.553888,33.039809],[102.553137,33.039853],[102.551708,33.039904],[102.550889,33.039908],[102.550049,33.039812],[102.549396,33.03972],[102.54839,33.039701],[102.54766,33.039864],[102.547299,33.040231],[102.54684,33.040735],[102.546175,33.041096],[102.545443,33.041338],[102.544879,33.041406],[102.544176,33.041431],[102.543737,33.041245],[102.543113,33.040937],[102.542123,33.040346],[102.540789,33.039719],[102.540183,33.039411],[102.539558,33.039192],[102.538575,33.038537],[102.537837,33.037931],[102.536001,33.036638],[102.535533,33.03631],[102.534951,33.035924],[102.534416,33.035636],[102.53399,33.035572],[102.533533,33.035438],[102.533093,33.035277],[102.532688,33.035034],[102.53248,33.034849],[102.532231,33.034928],[102.532038,33.03534],[102.531727,33.035888],[102.530795,33.036826],[102.530071,33.037407],[102.529272,33.037913],[102.528543,33.038227],[102.528049,33.038269],[102.527509,33.038449],[102.526871,33.038454],[102.526239,33.038286],[102.525561,33.038272],[102.524803,33.03817],[102.523696,33.038027],[102.522811,33.038062],[102.519916,33.037396],[102.519404,33.037342],[102.518386,33.036997],[102.517473,33.036568],[102.516349,33.036351],[102.515863,33.036276],[102.514969,33.036085],[102.513953,33.035654],[102.51329,33.035489],[102.512733,33.035197],[102.512043,33.035053],[102.511503,33.035064],[102.510549,33.035218],[102.509431,33.03545],[102.508559,33.035622],[102.507595,33.03563],[102.506864,33.035372],[102.506104,33.035005],[102.505439,33.034667],[102.504169,33.034128],[102.503601,33.033792],[102.503184,33.033756],[102.502766,33.033775],[102.502507,33.033851],[102.501858,33.034108],[102.501299,33.034557],[102.500546,33.035083],[102.500222,33.035185],[102.499675,33.035062],[102.499122,33.035051],[102.498087,33.035154],[102.497306,33.036691],[102.495965,33.038496],[102.495199,33.039536],[102.494835,33.040647],[102.494461,33.04216],[102.493072,33.043033],[102.492318,33.043639],[102.490944,33.043984],[102.490709,33.044015],[102.489316,33.044199],[102.487775,33.04392],[102.486396,33.043147],[102.485531,33.042477],[102.484898,33.041378],[102.484622,33.04072],[102.484244,33.03975],[102.483751,33.038964],[102.482808,33.038417],[102.481976,33.037842],[102.480949,33.037666],[102.480447,33.03719],[102.479841,33.036463],[102.478959,33.036352],[102.478923,33.036351],[102.478298,33.036277],[102.477346,33.03604],[102.476507,33.035744],[102.475637,33.03523],[102.475582,33.035207],[102.475615,33.034992],[102.475657,33.034723],[102.475698,33.034454],[102.47574,33.034185],[102.475781,33.033917],[102.475823,33.033648],[102.475864,33.033379],[102.475906,33.03311],[102.475947,33.032842],[102.475926,33.032605],[102.475905,33.032368],[102.475776,33.031939],[102.475736,33.03187],[102.475733,33.031859],[102.475587,33.031612],[102.475442,33.031366],[102.475314,33.031314],[102.474999,33.031184],[102.474684,33.031054],[102.474302,33.030978],[102.4741,33.03096],[102.47385,33.030906],[102.473606,33.030835],[102.473238,33.030609],[102.472936,33.030362],[102.472634,33.030115],[102.472332,33.029868],[102.47203,33.029621],[102.471843,33.029357],[102.471655,33.029092],[102.4715,33.028928],[102.471345,33.028765],[102.471316,33.028735],[102.471123,33.028536],[102.47093,33.028337],[102.470912,33.028314],[102.47076,33.028123],[102.470608,33.027932],[102.470368,33.027646],[102.470128,33.027361],[102.469889,33.027075],[102.469597,33.026796],[102.469317,33.026475],[102.469005,33.026189],[102.468693,33.025904],[102.468529,33.025713],[102.468366,33.025523],[102.468253,33.02535],[102.468098,33.025041],[102.467937,33.024886],[102.467806,33.024738],[102.467658,33.024541],[102.467533,33.024363],[102.467426,33.024107],[102.467319,33.023851],[102.46714,33.02359],[102.466955,33.023369],[102.466795,33.023179],[102.466572,33.022974],[102.466349,33.022769],[102.466072,33.022605],[102.465796,33.022442],[102.4655,33.022267],[102.465205,33.022093],[102.464909,33.021918],[102.464541,33.021739],[102.464172,33.021561],[102.463803,33.021383],[102.463494,33.021148],[102.463184,33.020913],[102.463059,33.020746],[102.462997,33.020574],[102.462872,33.02029],[102.462817,33.019904],[102.462762,33.019518],[102.462706,33.019132],[102.462638,33.018914],[102.462569,33.018695],[102.4625,33.018477],[102.462431,33.018259],[102.462363,33.018041],[102.462294,33.017822],[102.462189,33.017513],[102.462063,33.017084],[102.461956,33.016869],[102.461849,33.016655],[102.461728,33.016451],[102.461607,33.016247],[102.461416,33.016042],[102.461225,33.015837],[102.461075,33.015669],[102.460926,33.0155],[102.460767,33.015165],[102.460708,33.014786],[102.460648,33.014407],[102.460642,33.01399],[102.460635,33.013574],[102.460629,33.01322],[102.460644,33.01306],[102.460682,33.012626],[102.46072,33.012191],[102.460745,33.011906],[102.460751,33.011867],[102.460799,33.01156],[102.460847,33.011252],[102.4609,33.011068],[102.460974,33.010764],[102.461049,33.010461],[102.461111,33.010104],[102.461174,33.009747],[102.461287,33.009456],[102.461275,33.0092],[102.461215,33.008962],[102.46121,33.008949],[102.461061,33.008617],[102.46096,33.008457],[102.46096,33.008456],[102.46096,33.008456],[102.460876,33.008218],[102.460781,33.007903],[102.460742,33.007677],[102.460702,33.007451],[102.460644,33.007118],[102.460658,33.006945],[102.460662,33.006898],[102.460766,33.006689],[102.46087,33.006481],[102.460936,33.006249],[102.460942,33.006041],[102.460858,33.005904],[102.46071,33.005535],[102.460674,33.005274],[102.460668,33.005095],[102.460638,33.004958],[102.460538,33.004786],[102.460536,33.004552],[102.460534,33.004459],[102.460589,33.0042],[102.460644,33.003941],[102.46068,33.00362],[102.460716,33.003299],[102.460789,33.002962],[102.460862,33.002626],[102.460882,33.002531],[102.460992,33.002133],[102.461102,33.001734],[102.461174,33.001294],[102.461174,33.001294],[102.461174,33.001293],[102.461245,33.000961],[102.461346,33.000681],[102.461418,33.000485],[102.461572,33.000199],[102.461602,33.000009],[102.4617,32.999709],[102.461798,32.999408],[102.461905,32.999146],[102.461959,32.99895],[102.461941,32.998784],[102.461769,32.99851],[102.461614,32.998147],[102.46162,32.99782],[102.461644,32.997624],[102.461691,32.997493],[102.461786,32.997261],[102.461798,32.9971],[102.461721,32.996981],[102.461632,32.996934],[102.461471,32.996827],[102.461388,32.996696],[102.461293,32.996517],[102.461215,32.996166],[102.461138,32.996],[102.461114,32.995791],[102.461111,32.995754],[102.461096,32.995589],[102.460971,32.995405],[102.460751,32.995256],[102.460561,32.995039],[102.460371,32.994822],[102.46024,32.994631],[102.460174,32.994453],[102.460192,32.994298],[102.460281,32.994185],[102.460287,32.994084],[102.460275,32.994019],[102.460192,32.993953],[102.460061,32.993906],[102.459752,32.993721],[102.459609,32.993531],[102.45952,32.993376],[102.459502,32.993144],[102.459455,32.992984],[102.459234,32.992627],[102.459187,32.992496],[102.459187,32.992347],[102.459187,32.992291],[102.459187,32.992157],[102.459204,32.992057],[102.459275,32.991636],[102.45935,32.991397],[102.459425,32.991157],[102.459517,32.990935],[102.45956,32.990829],[102.459555,32.99068],[102.459553,32.990622],[102.45955,32.990342],[102.459548,32.990062],[102.459546,32.989915],[102.459575,32.989773],[102.459646,32.989594],[102.459775,32.989394],[102.459917,32.989194],[102.460017,32.98908],[102.460099,32.988898],[102.460233,32.9886],[102.460367,32.988302],[102.460538,32.987917],[102.460617,32.987638],[102.460645,32.987238],[102.460646,32.987233],[102.460672,32.986868],[102.460698,32.986504],[102.460724,32.986139],[102.460767,32.985725],[102.46081,32.985311],[102.460792,32.985001],[102.460774,32.98469],[102.46077,32.984527],[102.460767,32.984383],[102.460824,32.984026],[102.460896,32.983779],[102.460968,32.983533],[102.461032,32.983316],[102.461095,32.983098],[102.461131,32.982841],[102.461045,32.982684],[102.46096,32.982591],[102.460774,32.982402],[102.460588,32.982213],[102.460409,32.981955],[102.46036,32.981885],[102.460256,32.981649],[102.460153,32.981414],[102.460074,32.981271],[102.459953,32.981192],[102.459746,32.981092],[102.459461,32.981017],[102.459175,32.980942],[102.458743,32.980834],[102.458547,32.980785],[102.458326,32.980693],[102.458054,32.980407],[102.457783,32.980122],[102.45764,32.979772],[102.457599,32.979558],[102.457583,32.979472],[102.457583,32.979222],[102.457649,32.978846],[102.45769,32.978608],[102.457676,32.978365],[102.457683,32.978119],[102.45769,32.977873],[102.457685,32.977689],[102.457683,32.977595],[102.457633,32.97738],[102.457526,32.977202],[102.457405,32.976995],[102.457305,32.976766],[102.457233,32.976417],[102.457176,32.976088],[102.457133,32.975696],[102.457091,32.975303],[102.457073,32.975231],[102.456991,32.974889],[102.456919,32.974619],[102.456819,32.974247],[102.456714,32.973826],[102.456609,32.973406],[102.456569,32.973247],[102.456471,32.972903],[102.456373,32.972558],[102.456275,32.972214],[102.456177,32.97187],[102.456177,32.971498],[102.456234,32.971077],[102.456316,32.970842],[102.456398,32.970606],[102.456602,32.970346],[102.456805,32.970085],[102.456965,32.969889],[102.457091,32.969735],[102.457119,32.969496],[102.457148,32.969257],[102.457134,32.969133],[102.457196,32.968854],[102.457322,32.968539],[102.457403,32.968165],[102.45739,32.967829],[102.457352,32.967511],[102.457348,32.967358],[102.45734,32.967095],[102.457352,32.966699],[102.457387,32.966284],[102.457406,32.966047],[102.457424,32.96581],[102.457435,32.965414],[102.457466,32.965177],[102.457543,32.964941],[102.457556,32.96481],[102.457576,32.964624],[102.457688,32.964315],[102.4578,32.964006],[102.457899,32.963769],[102.457998,32.963533],[102.458097,32.963296],[102.458196,32.963059],[102.458295,32.962823],[102.458393,32.962586],[102.458492,32.96235],[102.458591,32.962113],[102.45869,32.961876],[102.458789,32.96164],[102.458888,32.961403],[102.458987,32.961167],[102.458967,32.960873],[102.458943,32.960652],[102.458862,32.96043],[102.45875,32.96028],[102.458537,32.960093],[102.458325,32.959906],[102.45814,32.959743],[102.457956,32.95958],[102.457701,32.959354],[102.457388,32.959127],[102.457015,32.958948],[102.456642,32.95877],[102.456414,32.958729],[102.456186,32.958689],[102.455958,32.958649],[102.45573,32.958609],[102.455502,32.958569],[102.455275,32.958528],[102.455137,32.958455],[102.454846,32.958299],[102.454603,32.958148],[102.45436,32.957996],[102.454162,32.957821],[102.453881,32.957472],[102.453657,32.957175],[102.453463,32.956852],[102.453325,32.956556],[102.453201,32.956346],[102.453076,32.956135],[102.45294,32.955814],[102.452689,32.955441],[102.452522,32.955218],[102.45224,32.954919],[102.451926,32.954692],[102.451639,32.95454],[102.451324,32.954386],[102.451064,32.954307],[102.450804,32.954229],[102.450546,32.954138],[102.450287,32.954047],[102.449898,32.953941],[102.449509,32.953835],[102.449261,32.953789],[102.449012,32.953742],[102.448763,32.953695],[102.448514,32.953649],[102.448266,32.953602],[102.448017,32.953555],[102.447768,32.953509],[102.447519,32.953462],[102.44727,32.953416],[102.447022,32.953369],[102.446775,32.953358],[102.446528,32.953346],[102.446281,32.953335],[102.446034,32.953324],[102.445657,32.953316],[102.445279,32.953308],[102.444902,32.953301],[102.444622,32.953204],[102.444343,32.953107],[102.444061,32.952832],[102.443892,32.952633],[102.443723,32.952434],[102.443559,32.952088],[102.443451,32.951768],[102.443381,32.951543],[102.443311,32.951318],[102.443242,32.951093],[102.443172,32.950869],[102.443102,32.950644],[102.443032,32.950419],[102.442962,32.950195],[102.442892,32.94997],[102.44286,32.94959],[102.442828,32.94921],[102.442722,32.948842],[102.442586,32.94852],[102.44245,32.948175],[102.442309,32.947955],[102.442168,32.947734],[102.441954,32.947596],[102.44174,32.947457],[102.441526,32.947318],[102.441312,32.947179],[102.441058,32.946929],[102.440804,32.946679],[102.440637,32.946406],[102.44047,32.946134],[102.440305,32.945837],[102.44014,32.94554],[102.440044,32.94533],[102.439948,32.94512],[102.439852,32.94491],[102.439756,32.944701],[102.439634,32.944417],[102.439511,32.944133],[102.439431,32.943862],[102.439352,32.943591],[102.43933,32.943359],[102.439307,32.943126],[102.439314,32.942881],[102.439322,32.942635],[102.439343,32.942245],[102.439363,32.941854],[102.439384,32.941463],[102.439386,32.941039],[102.439389,32.940615],[102.439391,32.940191],[102.439339,32.93997],[102.439287,32.939748],[102.439235,32.939527],[102.439183,32.939306],[102.439162,32.939036],[102.439141,32.938766],[102.43915,32.938449],[102.439216,32.938156],[102.43931,32.937939],[102.439335,32.937888]]]]},"properties":{"cp":[102.63776751384222,32.82512378846329],"code":"513233100","name":"邛溪镇","level":"street","center":[102.63776751384222,32.82512378846329],"fullCode":"513233100000","fullName":"四川省阿坝藏族羌族自治州红原县邛溪镇","acreageMu":1343909.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.515,32.7855]}},{"id":"513233101","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.662814,32.045234],[102.662707,32.045207],[102.662601,32.045181],[102.662557,32.04517],[102.662315,32.045091],[102.662072,32.045013],[102.661779,32.044999],[102.661578,32.045064],[102.661494,32.045091],[102.661194,32.045298],[102.661069,32.04533],[102.660994,32.045348],[102.660687,32.045334],[102.660559,32.04532],[102.660459,32.045341],[102.660418,32.045441],[102.66038,32.045534],[102.660302,32.045862],[102.660259,32.046041],[102.660223,32.046191],[102.660152,32.046355],[102.66004,32.046537],[102.660016,32.046576],[102.659766,32.046748],[102.659631,32.04689],[102.659509,32.047026],[102.659467,32.047269],[102.659467,32.04744],[102.65944,32.047502],[102.659381,32.04764],[102.659368,32.047662],[102.65926,32.047847],[102.659274,32.048011],[102.659317,32.048132],[102.659407,32.048364],[102.659496,32.048595],[102.659616,32.048903],[102.659681,32.049139],[102.659745,32.049374],[102.659798,32.049628],[102.659802,32.049646],[102.659802,32.049953],[102.659831,32.050153],[102.659859,32.050352],[102.659991,32.050747],[102.660122,32.051141],[102.660173,32.051295],[102.660262,32.051569],[102.660351,32.051844],[102.66043,32.052087],[102.660452,32.052216],[102.660455,32.052277],[102.660459,32.05233],[102.660437,32.052423],[102.66035,32.052517],[102.660137,32.052748],[102.659923,32.052979],[102.659862,32.053059],[102.659852,32.053072],[102.659852,32.053158],[102.659909,32.053272],[102.660088,32.053604],[102.660266,32.053936],[102.660462,32.054243],[102.660659,32.05455],[102.660677,32.054574],[102.66071,32.054618],[102.660948,32.054931],[102.660973,32.054964],[102.661058,32.055196],[102.661144,32.055428],[102.661315,32.055793],[102.661358,32.055885],[102.661537,32.056099],[102.661758,32.05637],[102.661779,32.056463],[102.661779,32.056563],[102.661715,32.056881],[102.661651,32.057198],[102.661645,32.057299],[102.661637,32.057466],[102.661622,32.057734],[102.661601,32.057933],[102.661442,32.058194],[102.661422,32.058226],[102.66124,32.058504],[102.661058,32.058783],[102.661032,32.05891],[102.661001,32.059054],[102.660966,32.059497],[102.660969,32.059843],[102.660973,32.060189],[102.66098,32.060218],[102.661008,32.060332],[102.661001,32.060518],[102.660958,32.06061],[102.660823,32.060717],[102.660743,32.060806],[102.66063,32.060932],[102.660473,32.061231],[102.660438,32.061359],[102.660387,32.061545],[102.660373,32.06181],[102.660363,32.061956],[102.660359,32.062017],[102.660302,32.062195],[102.660291,32.062217],[102.660282,32.062235],[102.660186,32.062431],[102.660132,32.062539],[102.66008,32.062645],[102.659879,32.063025],[102.659879,32.063025],[102.659879,32.063025],[102.659694,32.063374],[102.659576,32.063597],[102.659509,32.063723],[102.659395,32.063901],[102.659267,32.064101],[102.659145,32.064272],[102.659031,32.064451],[102.658938,32.064779],[102.658853,32.064993],[102.658681,32.065243],[102.658653,32.065281],[102.658553,32.065414],[102.658189,32.065557],[102.657932,32.065636],[102.657575,32.065736],[102.657218,32.065836],[102.657015,32.065928],[102.656811,32.066021],[102.656586,32.066143],[102.656361,32.066264],[102.656259,32.066373],[102.656147,32.066492],[102.655962,32.066778],[102.655847,32.067078],[102.65573,32.067351],[102.655614,32.067625],[102.655555,32.067763],[102.655511,32.06791],[102.655412,32.068248],[102.655262,32.068627],[102.655023,32.068984],[102.654784,32.069341],[102.654728,32.069441],[102.654655,32.069573],[102.654533,32.069793],[102.654527,32.069805],[102.65442,32.070197],[102.65439,32.070314],[102.654314,32.070611],[102.654287,32.070717],[102.654238,32.070908],[102.654196,32.071071],[102.654191,32.071089],[102.654084,32.071375],[102.653956,32.071603],[102.653784,32.071832],[102.653592,32.072082],[102.653292,32.072274],[102.652946,32.072424],[102.652599,32.072574],[102.652396,32.072671],[102.652193,32.072767],[102.6519,32.072974],[102.651679,32.073217],[102.651561,32.07351],[102.651536,32.073574],[102.651429,32.073752],[102.651265,32.073866],[102.651022,32.073973],[102.650808,32.074009],[102.650544,32.074038],[102.650479,32.074051],[102.650408,32.074066],[102.650369,32.074089],[102.650144,32.074223],[102.649831,32.074507],[102.649523,32.074786],[102.649216,32.075066],[102.648948,32.075351],[102.64868,32.075637],[102.648583,32.075734],[102.648465,32.075852],[102.64825,32.076067],[102.648124,32.076193],[102.647981,32.076372],[102.647838,32.07655],[102.647717,32.076836],[102.647674,32.077047],[102.647645,32.077193],[102.647549,32.07761],[102.647453,32.078028],[102.647447,32.078049],[102.647365,32.07834],[102.647277,32.078651],[102.647188,32.078963],[102.64718,32.078995],[102.647134,32.079157],[102.647095,32.079295],[102.647024,32.079546],[102.646953,32.079798],[102.646867,32.080039],[102.646822,32.080164],[102.646739,32.080398],[102.646677,32.080554],[102.646656,32.080607],[102.646632,32.080669],[102.646446,32.080969],[102.646346,32.08124],[102.646339,32.081483],[102.646341,32.081493],[102.646382,32.081654],[102.646387,32.081658],[102.64653,32.081746],[102.646589,32.081783],[102.646732,32.081876],[102.646782,32.081965],[102.646832,32.082054],[102.646889,32.082275],[102.647009,32.082514],[102.647129,32.082752],[102.64731,32.08311],[102.647381,32.083378],[102.647453,32.083646],[102.647531,32.083889],[102.647595,32.084181],[102.647595,32.084403],[102.647474,32.084688],[102.64731,32.084824],[102.647174,32.085016],[102.647124,32.085209],[102.647081,32.085445],[102.647075,32.085466],[102.646996,32.085745],[102.646874,32.085923],[102.646659,32.086014],[102.646653,32.086016],[102.646526,32.086055],[102.646146,32.086173],[102.64607,32.08622],[102.645882,32.086337],[102.645818,32.08643],[102.645725,32.086565],[102.645589,32.08693],[102.64544,32.087294],[102.645392,32.087478],[102.645347,32.087651],[102.64529,32.087943],[102.645271,32.088172],[102.645252,32.0884],[102.645225,32.088728],[102.645225,32.088729],[102.645224,32.08873],[102.645135,32.088896],[102.645134,32.088898],[102.645133,32.0889],[102.644883,32.089157],[102.64459,32.089378],[102.6445,32.089487],[102.644426,32.089578],[102.644219,32.089885],[102.644064,32.090142],[102.644054,32.090159],[102.64391,32.090399],[102.643755,32.090656],[102.643712,32.090725],[102.643555,32.090977],[102.643469,32.091348],[102.643412,32.091619],[102.643362,32.091746],[102.64336,32.091753],[102.643334,32.091819],[102.64322,32.092026],[102.642991,32.092255],[102.642722,32.092469],[102.642453,32.092683],[102.642184,32.092897],[102.642081,32.093179],[102.641977,32.093461],[102.641856,32.093875],[102.641699,32.094246],[102.64168,32.094334],[102.641649,32.094475],[102.641649,32.094721],[102.641649,32.094753],[102.641692,32.094953],[102.641778,32.095231],[102.641829,32.095399],[102.641863,32.09551],[102.641935,32.095842],[102.642006,32.096174],[102.64203,32.096328],[102.642042,32.096402],[102.642013,32.096731],[102.642012,32.096752],[102.641999,32.097073],[102.642006,32.097409],[102.642135,32.097787],[102.642227,32.097973],[102.642326,32.098093],[102.642377,32.098155],[102.642527,32.098337],[102.642606,32.098465],[102.642623,32.098534],[102.642641,32.098608],[102.642648,32.098736],[102.642645,32.098869],[102.642641,32.098993],[102.642634,32.099243],[102.642656,32.0995],[102.642677,32.099757],[102.642721,32.099967],[102.64277,32.1002],[102.642756,32.100507],[102.642751,32.100593],[102.642747,32.100664],[102.642741,32.100778],[102.642627,32.101056],[102.642599,32.101206],[102.642606,32.101378],[102.642638,32.101451],[102.642684,32.101556],[102.64269,32.101774],[102.642691,32.101806],[102.642657,32.101871],[102.642563,32.102049],[102.642425,32.10232],[102.642287,32.102591],[102.642149,32.102862],[102.64197,32.103119],[102.641792,32.103376],[102.641592,32.103765],[102.641392,32.104154],[102.641278,32.104347],[102.641071,32.104419],[102.640857,32.104447],[102.640671,32.104397],[102.640428,32.10434],[102.640179,32.104326],[102.640107,32.104356],[102.639834,32.104471],[102.639822,32.104476],[102.639479,32.104568],[102.639293,32.104583],[102.639022,32.104661],[102.638822,32.104768],[102.638677,32.104843],[102.638542,32.104913],[102.63838,32.104997],[102.638173,32.105082],[102.638082,32.105093],[102.637866,32.105118],[102.637602,32.105104],[102.637352,32.105111],[102.637232,32.105145],[102.637173,32.105161],[102.637104,32.105256],[102.637038,32.105347],[102.636933,32.105511],[102.636911,32.105537],[102.636702,32.105739],[102.636452,32.105903],[102.636164,32.106136],[102.635938,32.106317],[102.635724,32.106681],[102.635673,32.106835],[102.635662,32.106868],[102.635543,32.107224],[102.635424,32.107581],[102.635314,32.10787],[102.635203,32.108159],[102.635123,32.108305],[102.635046,32.108445],[102.634853,32.108716],[102.634659,32.10891],[102.634646,32.108923],[102.634475,32.109073],[102.634225,32.109144],[102.633954,32.109216],[102.633554,32.109365],[102.633329,32.109448],[102.633104,32.10953],[102.632871,32.10963],[102.632637,32.109731],[102.632426,32.109822],[102.632205,32.109933],[102.631984,32.110044],[102.631812,32.110122],[102.63158,32.110222],[102.631348,32.110322],[102.631077,32.110365],[102.631068,32.110367],[102.630806,32.110436],[102.630542,32.110529],[102.63037,32.110693],[102.630192,32.110964],[102.630128,32.111129],[102.630128,32.111279],[102.630185,32.111486],[102.63032,32.11175],[102.630588,32.112055],[102.63087,32.112378],[102.631006,32.112592],[102.631037,32.11272],[102.631038,32.112724],[102.631109,32.113029],[102.63118,32.113334],[102.631278,32.113759],[102.631291,32.113815],[102.631377,32.114184],[102.631484,32.114523],[102.631591,32.114862],[102.631677,32.115133],[102.631698,32.115319],[102.631691,32.115469],[102.63162,32.115669],[102.631594,32.115712],[102.631464,32.115937],[102.631334,32.116161],[102.63122,32.116368],[102.631248,32.116725],[102.63134,32.117046],[102.631463,32.117475],[102.631591,32.117689],[102.631591,32.117853],[102.631584,32.118103],[102.631516,32.11836],[102.631448,32.118617],[102.631452,32.118842],[102.631456,32.119067],[102.631534,32.119481],[102.631545,32.119511],[102.631605,32.119688],[102.631684,32.120066],[102.631634,32.120237],[102.631527,32.120466],[102.631384,32.120708],[102.63121,32.120884],[102.631036,32.12106],[102.63077,32.121329],[102.630692,32.121453],[102.630635,32.121544],[102.630563,32.121643],[102.630513,32.121686],[102.630446,32.121749],[102.630278,32.121905],[102.630042,32.122124],[102.629807,32.122343],[102.629703,32.122483],[102.629476,32.122788],[102.629293,32.123035],[102.629228,32.12315],[102.62905,32.123228],[102.628907,32.123264],[102.628722,32.123307],[102.6286,32.123292],[102.628599,32.123292],[102.628597,32.123291],[102.628486,32.123242],[102.628351,32.12321],[102.628336,32.123207],[102.628186,32.123193],[102.628136,32.123178],[102.628034,32.123205],[102.627915,32.123235],[102.627634,32.123345],[102.627353,32.123454],[102.627073,32.123564],[102.626773,32.123697],[102.626473,32.12383],[102.626173,32.123963],[102.625937,32.124067],[102.625681,32.124179],[102.625424,32.124292],[102.625032,32.124485],[102.624931,32.124535],[102.624621,32.12467],[102.624312,32.124805],[102.624002,32.12494],[102.623788,32.125113],[102.623574,32.125285],[102.623276,32.125598],[102.622979,32.12591],[102.62283,32.126011],[102.622803,32.126024],[102.622574,32.126136],[102.622271,32.126279],[102.622199,32.126326],[102.622217,32.126421],[102.622295,32.126656],[102.622372,32.126891],[102.622521,32.1271],[102.622601,32.127332],[102.622681,32.127564],[102.62275,32.127748],[102.622847,32.128004],[102.622943,32.12826],[102.623035,32.128622],[102.623127,32.128985],[102.623234,32.129092],[102.623347,32.129211],[102.623383,32.129318],[102.623469,32.129584],[102.623554,32.12985],[102.623597,32.129985],[102.623663,32.130169],[102.623758,32.13055],[102.623844,32.130838],[102.62393,32.131127],[102.623919,32.131412],[102.623898,32.13147],[102.623823,32.131674],[102.623663,32.132085],[102.623591,32.132281],[102.623595,32.132388],[102.623597,32.132441],[102.623645,32.132572],[102.623782,32.132977],[102.623859,32.133209],[102.623863,32.133232],[102.623919,32.133566],[102.623907,32.133893],[102.623895,32.13422],[102.623883,32.1345],[102.623901,32.134601],[102.623948,32.134708],[102.623966,32.134815],[102.623972,32.134928],[102.623936,32.13533],[102.623901,32.135731],[102.623878,32.13585],[102.623811,32.136189],[102.623798,32.136483],[102.623785,32.136778],[102.62377,32.137117],[102.623767,32.137516],[102.623764,32.137914],[102.623749,32.138086],[102.623748,32.138093],[102.623743,32.138155],[102.623722,32.138396],[102.623695,32.138652],[102.623669,32.138908],[102.623591,32.139044],[102.623383,32.139342],[102.623157,32.139503],[102.622818,32.139711],[102.622703,32.139768],[102.622486,32.139877],[102.622485,32.139877],[102.622188,32.139943],[102.62208,32.139943],[102.621846,32.13991],[102.621612,32.139877],[102.621402,32.139848],[102.621111,32.139851],[102.620819,32.139854],[102.620684,32.139877],[102.620546,32.139901],[102.620355,32.139907],[102.620177,32.139895],[102.620016,32.139889],[102.619737,32.140014],[102.619528,32.140121],[102.619421,32.140139],[102.619332,32.140127],[102.618893,32.140084],[102.618547,32.14005],[102.618312,32.14008],[102.618077,32.140109],[102.617977,32.140132],[102.617869,32.140157],[102.617678,32.140181],[102.617518,32.140139],[102.617167,32.139961],[102.616965,32.139901],[102.616536,32.139889],[102.616153,32.139901],[102.615769,32.139913],[102.615501,32.139949],[102.615234,32.139984],[102.614933,32.140006],[102.614823,32.140014],[102.614567,32.140106],[102.614311,32.140199],[102.614062,32.140347],[102.613789,32.140421],[102.613516,32.140494],[102.613419,32.14052],[102.613084,32.140563],[102.612749,32.140607],[102.612414,32.140651],[102.612119,32.140683],[102.611825,32.140716],[102.611605,32.14074],[102.611474,32.140728],[102.611472,32.140727],[102.611331,32.140686],[102.611165,32.140585],[102.610956,32.140585],[102.610948,32.140589],[102.61079,32.140657],[102.610454,32.140799],[102.610118,32.140942],[102.609933,32.140978],[102.609689,32.140996],[102.609529,32.141025],[102.609528,32.141026],[102.609463,32.141061],[102.60944,32.141109],[102.60941,32.141251],[102.609434,32.141614],[102.609469,32.141781],[102.609483,32.141829],[102.609529,32.141995],[102.609612,32.14237],[102.60961,32.142548],[102.609609,32.142605],[102.609606,32.14284],[102.609606,32.143069],[102.609606,32.143298],[102.609535,32.143595],[102.609525,32.143645],[102.609456,32.144013],[102.609386,32.14438],[102.609292,32.144707],[102.609213,32.144981],[102.609187,32.145039],[102.609112,32.145198],[102.609011,32.145415],[102.608952,32.145725],[102.608946,32.146046],[102.608999,32.146269],[102.609053,32.146492],[102.609195,32.146804],[102.609337,32.147115],[102.609362,32.14717],[102.60941,32.14739],[102.609422,32.147563],[102.609356,32.147735],[102.609277,32.147842],[102.609231,32.147902],[102.609128,32.147988],[102.608905,32.148172],[102.608779,32.148277],[102.608529,32.148426],[102.608434,32.148568],[102.608428,32.148753],[102.608434,32.148884],[102.608517,32.149074],[102.608648,32.149377],[102.608735,32.149594],[102.608821,32.149812],[102.608889,32.150032],[102.608958,32.150252],[102.608976,32.150448],[102.609077,32.150615],[102.609243,32.150763],[102.609359,32.150957],[102.609392,32.151013],[102.609499,32.151204],[102.609683,32.151382],[102.609951,32.151572],[102.610219,32.151763],[102.610287,32.151857],[102.610314,32.151894],[102.610385,32.152078],[102.610443,32.152262],[102.610516,32.152494],[102.610582,32.152786],[102.610659,32.152893],[102.610778,32.152964],[102.610836,32.153019],[102.610944,32.15312],[102.610974,32.153149],[102.611016,32.153292],[102.611028,32.153416],[102.611025,32.153735],[102.611022,32.154053],[102.611081,32.154249],[102.611081,32.154451],[102.611081,32.154654],[102.611129,32.154814],[102.611218,32.154999],[102.61129,32.155147],[102.611325,32.155296],[102.611319,32.155534],[102.61129,32.155825],[102.61129,32.155832],[102.611367,32.156242],[102.61142,32.156516],[102.611504,32.15667],[102.611635,32.156837],[102.611712,32.156986],[102.611849,32.157122],[102.61189,32.157194],[102.611926,32.157325],[102.611944,32.157586],[102.611947,32.157718],[102.611953,32.157958],[102.611957,32.158142],[102.611962,32.15833],[102.611974,32.15858],[102.612018,32.158741],[102.612033,32.158794],[102.612033,32.159014],[102.611962,32.159169],[102.61189,32.159306],[102.611837,32.159466],[102.611801,32.159591],[102.61173,32.159758],[102.611569,32.159939],[102.611409,32.160121],[102.611099,32.160269],[102.610968,32.160295],[102.610885,32.160311],[102.610683,32.160394],[102.610466,32.160582],[102.610303,32.160722],[102.610257,32.160762],[102.610249,32.160769],[102.610197,32.160851],[102.61013,32.160959],[102.61007,32.161156],[102.610034,32.161358],[102.610073,32.1617],[102.610112,32.162042],[102.610209,32.162357],[102.610237,32.162446],[102.610311,32.162667],[102.610385,32.162887],[102.610439,32.163101],[102.610439,32.163103],[102.610439,32.163104],[102.610463,32.163315],[102.610463,32.163517],[102.610445,32.163636],[102.610302,32.163803],[102.610211,32.164013],[102.610119,32.164224],[102.610066,32.164345],[102.610023,32.164445],[102.60993,32.164659],[102.609838,32.164874],[102.609761,32.165094],[102.609683,32.165314],[102.60957,32.165451],[102.609416,32.165564],[102.609332,32.165677],[102.609267,32.165831],[102.609202,32.166141],[102.609166,32.166449],[102.609148,32.166605],[102.609095,32.166771],[102.60897,32.166843],[102.608785,32.166878],[102.608625,32.166985],[102.608482,32.167169],[102.608482,32.16717],[102.608375,32.167402],[102.608324,32.167625],[102.608274,32.167848],[102.608265,32.168136],[102.608256,32.168425],[102.608253,32.16869],[102.60825,32.168954],[102.608208,32.169153],[102.60819,32.16924],[102.608119,32.169424],[102.607857,32.169638],[102.607655,32.169674],[102.607393,32.16974],[102.607256,32.169894],[102.607114,32.170156],[102.606894,32.170543],[102.606884,32.170554],[102.6067,32.170789],[102.6067,32.17083],[102.6067,32.170951],[102.606705,32.170968],[102.606766,32.171189],[102.606871,32.171426],[102.606861,32.171588],[102.606766,32.171712],[102.606595,32.171836],[102.606376,32.17195],[102.606157,32.172064],[102.605911,32.172261],[102.605729,32.172407],[102.605402,32.172705],[102.605075,32.173003],[102.604749,32.173301],[102.604574,32.173505],[102.604339,32.173777],[102.604116,32.174053],[102.603892,32.174329],[102.603511,32.174553],[102.60313,32.174777],[102.602812,32.174948],[102.602493,32.175119],[102.602312,32.175367],[102.602302,32.175408],[102.602255,32.175595],[102.602198,32.175824],[102.602192,32.175871],[102.60217,32.176075],[102.602122,32.176506],[102.602074,32.176937],[102.602046,32.177255],[102.602036,32.177375],[102.602164,32.177751],[102.602293,32.178127],[102.60235,32.178327],[102.60236,32.178565],[102.602379,32.178653],[102.602458,32.179011],[102.602537,32.179368],[102.602617,32.179726],[102.602688,32.180063],[102.60276,32.180399],[102.602769,32.180442],[102.60289,32.180806],[102.602962,32.180999],[102.602975,32.181063],[102.60299,32.181135],[102.60299,32.181313],[102.60296,32.181477],[102.602947,32.181549],[102.602962,32.181699],[102.603004,32.181802],[102.603001,32.181902],[102.602969,32.181988],[102.602969,32.182091],[102.602994,32.182138],[102.603151,32.182327],[102.603172,32.182405],[102.603204,32.182516],[102.60324,32.182652],[102.603271,32.18276],[102.603276,32.182777],[102.60334,32.18293],[102.603411,32.183044],[102.603518,32.183191],[102.603536,32.183251],[102.60353,32.183409],[102.603525,32.183537],[102.60355,32.183897],[102.603568,32.184172],[102.603568,32.184436],[102.60354,32.184831],[102.603511,32.185225],[102.603509,32.185533],[102.603508,32.185664],[102.603497,32.185867],[102.603483,32.186107],[102.603461,32.186224],[102.603401,32.186378],[102.60334,32.186528],[102.603323,32.186627],[102.603311,32.186695],[102.603315,32.187038],[102.603326,32.18722],[102.60329,32.187434],[102.603236,32.187656],[102.603183,32.187877],[102.603097,32.187991],[102.602994,32.188145],[102.602919,32.188287],[102.602808,32.188348],[102.602519,32.188434],[102.602148,32.188601],[102.6021,32.188621],[102.601759,32.188758],[102.601459,32.188851],[102.601245,32.188891],[102.601041,32.188919],[102.600956,32.188908],[102.600859,32.188873],[102.600524,32.188684],[102.60027,32.188591],[102.600053,32.18853],[102.600006,32.188523],[102.599646,32.188469],[102.599335,32.188434],[102.599207,32.188387],[102.598918,32.188266],[102.598746,32.188209],[102.598429,32.188195],[102.598182,32.188216],[102.598018,32.188237],[102.597818,32.188241],[102.597601,32.188198],[102.597599,32.188198],[102.597597,32.188197],[102.597483,32.188177],[102.597354,32.188159],[102.597265,32.188177],[102.59694,32.188373],[102.596719,32.188562],[102.596583,32.188758],[102.596412,32.188894],[102.596219,32.188948],[102.59608,32.188983],[102.595827,32.189076],[102.595455,32.189272],[102.595365,32.189319],[102.595234,32.189398],[102.595031,32.189636],[102.594851,32.189831],[102.59467,32.190026],[102.594554,32.1901],[102.59446,32.190161],[102.594278,32.190272],[102.593932,32.190436],[102.593721,32.190543],[102.59351,32.19065],[102.593196,32.190904],[102.592886,32.191125],[102.592745,32.191225],[102.592725,32.191239],[102.592699,32.191277],[102.592657,32.191339],[102.592532,32.191616],[102.592407,32.191892],[102.592311,32.192198],[102.592214,32.192504],[102.592118,32.19281],[102.592039,32.193146],[102.592025,32.193292],[102.592018,32.193367],[102.591946,32.193639],[102.591804,32.193818],[102.591754,32.193881],[102.591532,32.194034],[102.591525,32.194038],[102.59139,32.194238],[102.591268,32.194474],[102.591147,32.194709],[102.591035,32.195111],[102.590923,32.195514],[102.590811,32.195916],[102.590701,32.19619],[102.59059,32.196465],[102.590465,32.196676],[102.59034,32.196886],[102.590205,32.197158],[102.590133,32.197379],[102.590133,32.197508],[102.590183,32.19765],[102.590239,32.197822],[102.590269,32.197917],[102.590305,32.197952],[102.590392,32.198037],[102.590447,32.198091],[102.590736,32.198295],[102.591025,32.198498],[102.591265,32.198659],[102.591505,32.19882],[102.591622,32.198898],[102.591759,32.198962],[102.591918,32.199037],[102.592021,32.199102],[102.592118,32.199223],[102.592153,32.199355],[102.59231,32.199615],[102.592392,32.199708],[102.592428,32.199758],[102.592435,32.199851],[102.592426,32.199914],[102.592401,32.200081],[102.592367,32.200311],[102.592303,32.200736],[102.592306,32.200756],[102.592346,32.201],[102.592396,32.201239],[102.592496,32.201568],[102.592528,32.201732],[102.592564,32.201914],[102.592563,32.201921],[102.592539,32.202114],[102.592553,32.202217],[102.592567,32.202237],[102.592614,32.202303],[102.592714,32.202417],[102.593089,32.20264],[102.593224,32.202721],[102.593399,32.202863],[102.593552,32.20301],[102.593606,32.203085],[102.59366,32.203142],[102.593709,32.20317],[102.594045,32.203263],[102.594216,32.203313],[102.594616,32.203406],[102.594919,32.203474],[102.594939,32.203486],[102.595134,32.203609],[102.595234,32.203663],[102.595344,32.203677],[102.595548,32.203688],[102.595851,32.203706],[102.59599,32.203742],[102.596072,32.203763],[102.596394,32.203966],[102.596588,32.204091],[102.596783,32.204216],[102.596921,32.20433],[102.59704,32.204427],[102.597122,32.204466],[102.597207,32.204509],[102.597236,32.204523],[102.597293,32.204584],[102.59735,32.204698],[102.597375,32.204976],[102.597407,32.205133],[102.597475,32.205298],[102.597543,32.205369],[102.597568,32.205412],[102.597589,32.205444],[102.597614,32.20558],[102.597657,32.205719],[102.597728,32.205887],[102.597796,32.205994],[102.597964,32.206158],[102.598037,32.206254],[102.598114,32.206354],[102.598207,32.20644],[102.598232,32.206511],[102.598239,32.206625],[102.598276,32.206735],[102.598289,32.206772],[102.598298,32.206837],[102.598317,32.206986],[102.598321,32.207125],[102.598315,32.207172],[102.598303,32.207275],[102.598311,32.207525],[102.598317,32.207753],[102.598285,32.207857],[102.59831,32.208021],[102.598349,32.20821],[102.598399,32.208346],[102.59846,32.208517],[102.598503,32.208599],[102.598522,32.20865],[102.598589,32.208831],[102.598628,32.209234],[102.598637,32.209285],[102.59868,32.209508],[102.598702,32.209621],[102.598713,32.209661],[102.598734,32.209707],[102.598742,32.209723],[102.598921,32.210127],[102.599106,32.210534],[102.599216,32.210736],[102.599278,32.21085],[102.599335,32.210955],[102.599395,32.211105],[102.59942,32.211151],[102.599424,32.211215],[102.599388,32.211351],[102.599385,32.21136],[102.599331,32.211544],[102.599336,32.211586],[102.599342,32.211626],[102.599388,32.211708],[102.599536,32.212001],[102.599537,32.212002],[102.599538,32.212004],[102.599638,32.212343],[102.599756,32.212689],[102.599796,32.212844],[102.599856,32.213071],[102.599876,32.213141],[102.599959,32.213425],[102.599975,32.21346],[102.600059,32.21365],[102.600152,32.213832],[102.600205,32.213917],[102.600253,32.213971],[102.60043,32.214171],[102.600605,32.214478],[102.600662,32.214592],[102.600677,32.214685],[102.600677,32.214777],[102.600648,32.214902],[102.600641,32.214916],[102.600559,32.215077],[102.600387,32.215325],[102.600216,32.215573],[102.600045,32.215887],[102.599941,32.215991],[102.599784,32.216109],[102.599727,32.216184],[102.599656,32.216355],[102.599635,32.216448],[102.599552,32.216819],[102.599521,32.217025],[102.59952,32.217027],[102.59952,32.21703],[102.599524,32.217119],[102.599531,32.217204],[102.599531,32.217297],[102.599488,32.217408],[102.599385,32.217668],[102.599306,32.217975],[102.599256,32.218279],[102.59925,32.218305],[102.599237,32.218369],[102.599213,32.218479],[102.599192,32.218739],[102.59921,32.219121],[102.599215,32.219268],[102.599231,32.219692],[102.599256,32.21996],[102.599213,32.220149],[102.599156,32.220327],[102.599106,32.220411],[102.599031,32.220535],[102.598931,32.220659],[102.598651,32.22088],[102.598614,32.220909],[102.598353,32.221173],[102.598264,32.221288],[102.598175,32.221516],[102.598085,32.221627],[102.597939,32.22168],[102.597702,32.221821],[102.597693,32.221827],[102.597536,32.221959],[102.597391,32.222132],[102.597247,32.222305],[102.596965,32.22258],[102.5969,32.222751],[102.59685,32.222872],[102.596846,32.222894],[102.596825,32.223001],[102.596847,32.223111],[102.596897,32.223286],[102.596929,32.223399],[102.596954,32.223483],[102.597011,32.223636],[102.597043,32.223715],[102.597061,32.223779],[102.597063,32.223839],[102.597065,32.223868],[102.59709,32.223997],[102.597175,32.224204],[102.597188,32.224229],[102.597236,32.224321],[102.597293,32.224425],[102.597325,32.224528],[102.597343,32.224664],[102.597311,32.224917],[102.597223,32.225246],[102.597136,32.225574],[102.597047,32.225806],[102.597018,32.225992],[102.597009,32.226021],[102.596982,32.226106],[102.596925,32.226181],[102.59684,32.226267],[102.596679,32.226488],[102.596647,32.226627],[102.596568,32.226813],[102.596508,32.226948],[102.59649,32.227045],[102.596489,32.227115],[102.596483,32.227409],[102.596501,32.227655],[102.596497,32.227741],[102.596436,32.227873],[102.596419,32.227966],[102.596412,32.228018],[102.59641,32.228029],[102.596401,32.228105],[102.596372,32.228297],[102.596369,32.228394],[102.596415,32.228494],[102.596511,32.228672],[102.596536,32.228733],[102.596536,32.228804],[102.596511,32.228951],[102.596583,32.229286],[102.596654,32.229704],[102.596676,32.229833],[102.596693,32.229939],[102.596736,32.230178],[102.596779,32.230503],[102.596829,32.230689],[102.596918,32.230878],[102.597072,32.231046],[102.597225,32.231214],[102.597446,32.231343],[102.597571,32.231417],[102.597696,32.231528],[102.597708,32.231545],[102.597715,32.231657],[102.597732,32.231928],[102.597749,32.232198],[102.597774,32.232493],[102.597791,32.232557],[102.597797,32.232577],[102.597833,32.232713],[102.597839,32.232728],[102.597908,32.232907],[102.598015,32.233117],[102.598123,32.233327],[102.598231,32.233538],[102.598339,32.233748],[102.598446,32.233959],[102.598554,32.234169],[102.598662,32.234379],[102.598769,32.23459],[102.5989,32.234804],[102.59903,32.235018],[102.59917,32.235215],[102.59931,32.235413],[102.59945,32.23561],[102.59959,32.235808],[102.599797,32.236119],[102.600004,32.236431],[102.600211,32.236743],[102.600429,32.237019],[102.600681,32.237244],[102.600973,32.237447],[102.601266,32.23765],[102.601455,32.237781],[102.601645,32.237913],[102.601835,32.238044],[102.602025,32.238175],[102.602113,32.238236],[102.602151,32.238313],[102.60224,32.238438],[102.602311,32.23853],[102.602436,32.23868],[102.60259,32.238788],[102.60265,32.23883],[102.602825,32.238894],[102.602932,32.238923],[102.603089,32.238977],[102.603204,32.239062],[102.603412,32.239237],[102.603621,32.239412],[102.60385,32.239558],[102.604071,32.239715],[102.604214,32.239802],[102.604417,32.239926],[102.60467,32.240103],[102.604924,32.240279],[102.60519,32.240401],[102.605456,32.240522],[102.605652,32.240675],[102.605852,32.240918],[102.606102,32.241211],[102.606152,32.241332],[102.606187,32.241521],[102.606248,32.241739],[102.606316,32.24191],[102.606384,32.242032],[102.606592,32.242219],[102.606683,32.242301],[102.606737,32.242349],[102.606808,32.242453],[102.606894,32.242599],[102.606951,32.242688],[102.60708,32.242753],[102.607331,32.242837],[102.607429,32.242871],[102.607547,32.24291],[102.607604,32.242985],[102.607629,32.243081],[102.60766,32.243344],[102.607694,32.243631],[102.607747,32.243852],[102.607868,32.244186],[102.607947,32.244401],[102.60799,32.244519],[102.608065,32.244741],[102.608143,32.244962],[102.608226,32.2451],[102.608229,32.245105],[102.608318,32.245201],[102.608468,32.245255],[102.608732,32.245317],[102.608757,32.245323],[102.608956,32.245374],[102.608993,32.245383],[102.609111,32.24543],[102.609285,32.245701],[102.609428,32.245797],[102.609546,32.245865],[102.609592,32.245911],[102.609767,32.246276],[102.609894,32.246429],[102.609935,32.246479],[102.610142,32.24669],[102.61042,32.246889],[102.610699,32.247089],[102.611025,32.247286],[102.611352,32.247482],[102.611548,32.247609],[102.611745,32.247735],[102.612052,32.247978],[102.612114,32.248037],[102.612251,32.248167],[102.612387,32.248392],[102.612479,32.248493],[102.612501,32.248517],[102.612633,32.24866],[102.612783,32.248845],[102.612947,32.24912],[102.613037,32.249306],[102.613076,32.249388],[102.613229,32.249573],[102.613404,32.24973],[102.613479,32.249863],[102.613508,32.249927],[102.613536,32.249991],[102.613583,32.250067],[102.613704,32.250266],[102.613882,32.250465],[102.61394,32.25053],[102.613993,32.250637],[102.614003,32.25071],[102.614011,32.250773],[102.614015,32.250908],[102.613833,32.251251],[102.613779,32.251408],[102.613786,32.251536],[102.613811,32.251676],[102.613831,32.251713],[102.613972,32.251968],[102.614222,32.252257],[102.614525,32.252493],[102.614914,32.252696],[102.614996,32.252793],[102.615155,32.253076],[102.615171,32.253105],[102.615346,32.253417],[102.615485,32.253624],[102.615623,32.253752],[102.615678,32.253803],[102.61588,32.253975],[102.615896,32.253989],[102.615931,32.254039],[102.615935,32.254128],[102.615933,32.254143],[102.615892,32.254524],[102.615835,32.254727],[102.615778,32.255006],[102.615728,32.255138],[102.615631,32.255266],[102.615446,32.255388],[102.615178,32.255548],[102.615085,32.255602],[102.614993,32.255741],[102.614893,32.256005],[102.614814,32.256216],[102.614783,32.25642],[102.614775,32.256469],[102.614728,32.256773],[102.614757,32.256951],[102.614757,32.257058],[102.614748,32.257113],[102.614739,32.257172],[102.614664,32.257254],[102.614543,32.257351],[102.614304,32.257583],[102.614132,32.257811],[102.613968,32.258065],[102.613829,32.258273],[102.613696,32.258474],[102.61369,32.258482],[102.613618,32.258596],[102.613618,32.258661],[102.613665,32.258739],[102.613751,32.258853],[102.613979,32.25903],[102.614207,32.259207],[102.614439,32.259317],[102.614518,32.259367],[102.614582,32.259471],[102.614662,32.259587],[102.614907,32.259946],[102.615078,32.260213],[102.615114,32.260274],[102.615167,32.260324],[102.61526,32.26036],[102.615485,32.260381],[102.615592,32.260356],[102.615867,32.260277],[102.61617,32.260249],[102.616388,32.260252],[102.616656,32.260199],[102.616882,32.260124],[102.616916,32.260113],[102.617106,32.260099],[102.617512,32.260085],[102.617852,32.260074],[102.618269,32.26002],[102.61859,32.259988],[102.618883,32.260017],[102.619161,32.260104],[102.61944,32.260192],[102.61975,32.260256],[102.619985,32.260286],[102.620218,32.260317],[102.620486,32.26037],[102.620597,32.260354],[102.620632,32.260349],[102.620718,32.260338],[102.620785,32.260324],[102.620832,32.260317],[102.620885,32.260331],[102.620957,32.260374],[102.621174,32.260663],[102.621213,32.260742],[102.621335,32.260991],[102.621381,32.261063],[102.621489,32.261155],[102.621585,32.261198],[102.621853,32.261316],[102.62212,32.261434],[102.62237,32.26168],[102.622574,32.261832],[102.622777,32.261984],[102.622977,32.262135],[102.623177,32.262287],[102.623405,32.262474],[102.623634,32.262662],[102.623876,32.262847],[102.624101,32.262972],[102.624381,32.263056],[102.624662,32.26314],[102.624894,32.263204],[102.625018,32.263258],[102.625031,32.263263],[102.625031,32.263263],[102.625031,32.263263],[102.625179,32.263329],[102.625315,32.26344],[102.62559,32.263629],[102.625692,32.263728],[102.625693,32.263729],[102.625693,32.263729],[102.625781,32.263817],[102.625891,32.263927],[102.626089,32.264125],[102.626102,32.264141],[102.626103,32.264141],[102.626103,32.264142],[102.626381,32.264485],[102.62666,32.264828],[102.626829,32.264994],[102.626997,32.265161],[102.627196,32.265356],[102.627538,32.265578],[102.627724,32.26567],[102.627877,32.265749],[102.627981,32.265838],[102.628084,32.265949],[102.628249,32.26606],[102.628513,32.266245],[102.628685,32.266318],[102.62878,32.266359],[102.628905,32.266388],[102.629116,32.266342],[102.629234,32.266249],[102.629413,32.26605],[102.629425,32.266037],[102.629593,32.265852],[102.629658,32.265795],[102.629808,32.265667],[102.629965,32.265574],[102.630342,32.265368],[102.63064,32.26523],[102.630804,32.265165],[102.630879,32.265135],[102.6311,32.265092],[102.631393,32.265071],[102.631472,32.265068],[102.631818,32.265053],[102.632057,32.26501],[102.632203,32.264935],[102.63235,32.264846],[102.632514,32.264828],[102.632639,32.26486],[102.63276,32.264842],[102.632917,32.264807],[102.63306,32.264725],[102.633081,32.26469],[102.633149,32.264578],[102.633238,32.264351],[102.633253,32.264314],[102.633406,32.2641],[102.63356,32.264011],[102.633838,32.263943],[102.633981,32.263868],[102.634129,32.263795],[102.634316,32.263704],[102.634402,32.263608],[102.634429,32.263552],[102.634555,32.26329],[102.634641,32.26304],[102.634727,32.26279],[102.634809,32.262647],[102.63503,32.262455],[102.635255,32.262344],[102.635573,32.262255],[102.635733,32.262205],[102.635947,32.262105],[102.636094,32.262033],[102.636277,32.261892],[102.636426,32.261777],[102.636654,32.261655],[102.636786,32.261491],[102.636878,32.261342],[102.636972,32.261191],[102.637129,32.261009],[102.637286,32.260827],[102.637511,32.260635],[102.637775,32.26041],[102.638039,32.260185],[102.638307,32.259929],[102.638576,32.259673],[102.638844,32.259416],[102.639031,32.259267],[102.639217,32.259118],[102.639446,32.258935],[102.639674,32.258753],[102.639918,32.258532],[102.640152,32.258321],[102.640162,32.258312],[102.640394,32.258048],[102.640626,32.257783],[102.640662,32.257714],[102.640751,32.257545],[102.64078,32.257236],[102.640801,32.256822],[102.640822,32.256409],[102.640825,32.256352],[102.640828,32.25629],[102.640871,32.256208],[102.640882,32.256189],[102.641012,32.256094],[102.641334,32.256052],[102.64153,32.256034],[102.641595,32.255986],[102.641697,32.255927],[102.641804,32.255891],[102.64194,32.255903],[102.642214,32.255986],[102.642416,32.25601],[102.642648,32.255927],[102.642904,32.25579],[102.643172,32.255689],[102.643199,32.255687],[102.643326,32.255677],[102.643666,32.255778],[102.643892,32.255832],[102.644118,32.255885],[102.644439,32.256016],[102.644742,32.256129],[102.644903,32.256135],[102.645144,32.256055],[102.645385,32.255975],[102.645792,32.255841],[102.646199,32.255707],[102.646218,32.255701],[102.646517,32.255598],[102.646816,32.255495],[102.647116,32.255392],[102.647347,32.255408],[102.647578,32.255425],[102.647693,32.255433],[102.64799,32.255421],[102.648216,32.255427],[102.648323,32.255487],[102.648505,32.255704],[102.648686,32.255921],[102.648799,32.255992],[102.649085,32.256052],[102.649341,32.256171],[102.649561,32.256456],[102.649748,32.256667],[102.649935,32.256879],[102.649983,32.256932],[102.650141,32.257218],[102.650298,32.257503],[102.650403,32.257696],[102.650517,32.257906],[102.650631,32.258116],[102.650899,32.258437],[102.651081,32.258625],[102.651262,32.258812],[102.6515,32.25908],[102.65169,32.259169],[102.652062,32.259291],[102.652434,32.259413],[102.652815,32.259526],[102.653124,32.259615],[102.653439,32.259811],[102.65363,32.260002],[102.653802,32.260103],[102.653951,32.260139],[102.654343,32.26021],[102.654535,32.260299],[102.654688,32.260371],[102.654772,32.260478],[102.654813,32.260603],[102.654891,32.260722],[102.655045,32.260787],[102.65517,32.260818],[102.655212,32.260829],[102.655384,32.260882],[102.655474,32.260936],[102.655575,32.261037],[102.655706,32.261453],[102.655746,32.261509],[102.655914,32.261745],[102.656033,32.261944],[102.656152,32.262143],[102.656301,32.262447],[102.656408,32.262845],[102.656422,32.263098],[102.656437,32.263351],[102.656527,32.263675],[102.656616,32.263999],[102.656653,32.264159],[102.656729,32.264481],[102.656841,32.264647],[102.656889,32.264719],[102.657032,32.26485],[102.657252,32.264951],[102.657484,32.264981],[102.657895,32.265052],[102.658249,32.265135],[102.658589,32.265292],[102.65863,32.265312],[102.658773,32.26544],[102.658923,32.265638],[102.659073,32.265835],[102.659311,32.266078],[102.659432,32.266225],[102.659534,32.266349],[102.65977,32.266523],[102.660005,32.266696],[102.660239,32.266885],[102.660472,32.267074],[102.660705,32.267263],[102.660792,32.26732],[102.661129,32.267541],[102.661466,32.267762],[102.661814,32.267977],[102.662066,32.268186],[102.662171,32.268314],[102.66228,32.268372],[102.662661,32.268438],[102.662883,32.268478],[102.663061,32.26851],[102.663375,32.268614],[102.663736,32.268824],[102.664005,32.269033],[102.664274,32.269242],[102.664512,32.269442],[102.66475,32.269642],[102.665064,32.26988],[102.665273,32.270035],[102.665483,32.270189],[102.665601,32.27029],[102.66564,32.270323],[102.665749,32.270475],[102.665775,32.270542],[102.665806,32.270623],[102.665821,32.270822],[102.665845,32.27102],[102.665887,32.271365],[102.665897,32.271636],[102.665906,32.271907],[102.665913,32.272032],[102.665925,32.272274],[102.665892,32.272574],[102.665825,32.272912],[102.665816,32.273107],[102.665868,32.273302],[102.665987,32.273625],[102.666059,32.273821],[102.666106,32.273949],[102.666225,32.274273],[102.666332,32.274577],[102.666397,32.274762],[102.666439,32.274882],[102.666545,32.275186],[102.666554,32.27521],[102.666665,32.27555],[102.666708,32.275681],[102.666777,32.275891],[102.666872,32.276164],[102.666968,32.276438],[102.667006,32.276633],[102.667006,32.27679],[102.66693,32.276933],[102.666825,32.277093],[102.666587,32.277456],[102.666474,32.277707],[102.66636,32.277957],[102.666287,32.278118],[102.666176,32.278364],[102.665992,32.278771],[102.665808,32.279178],[102.665731,32.279349],[102.665624,32.279585],[102.66544,32.279991],[102.665295,32.280221],[102.665149,32.280451],[102.665113,32.280507],[102.664942,32.280777],[102.664735,32.281104],[102.66452,32.281444],[102.664305,32.281783],[102.664269,32.281876],[102.664241,32.282062],[102.664262,32.282159],[102.664284,32.282254],[102.664348,32.282376],[102.664512,32.282718],[102.664626,32.283104],[102.66458,32.283421],[102.664533,32.283739],[102.664434,32.283967],[102.664297,32.284174],[102.664241,32.28426],[102.664034,32.28451],[102.66377,32.2847],[102.663506,32.284891],[102.663241,32.285081],[102.663013,32.285267],[102.662906,32.285431],[102.662878,32.285595],[102.662856,32.285724],[102.662844,32.286144],[102.662835,32.286502],[102.662852,32.286917],[102.662863,32.287173],[102.662861,32.287192],[102.662842,32.287422],[102.66282,32.287672],[102.662831,32.287862],[102.662851,32.288206],[102.662856,32.288286],[102.662905,32.288665],[102.662913,32.288729],[102.662913,32.289057],[102.662956,32.289271],[102.663042,32.289528],[102.663127,32.289785],[102.66317,32.289905],[102.663182,32.289938],[102.66327,32.290179],[102.663369,32.290454],[102.663406,32.290556],[102.663543,32.290761],[102.66368,32.290965],[102.663784,32.29112],[102.663984,32.291336],[102.664146,32.291509],[102.664355,32.291734],[102.664442,32.291821],[102.664613,32.291992],[102.664783,32.292162],[102.665051,32.292369],[102.665222,32.292502],[102.665319,32.292576],[102.665536,32.292751],[102.665754,32.292926],[102.665829,32.293013],[102.665961,32.293166],[102.666168,32.293407],[102.666375,32.293647],[102.666532,32.294061],[102.666554,32.294275],[102.666518,32.294454],[102.666393,32.294643],[102.666268,32.294832],[102.666082,32.294998],[102.66579,32.29526],[102.66575,32.295291],[102.665534,32.295458],[102.665319,32.295624],[102.665047,32.295967],[102.664776,32.29631],[102.664569,32.296624],[102.664362,32.296938],[102.664155,32.297252],[102.664104,32.297352],[102.663959,32.297634],[102.663762,32.298016],[102.663725,32.298085],[102.663537,32.298433],[102.663349,32.298781],[102.663162,32.299128],[102.663042,32.299351],[102.662895,32.299666],[102.662748,32.299982],[102.662601,32.300298],[102.662463,32.300593],[102.662345,32.30087],[102.662235,32.301128],[102.662185,32.301399],[102.662178,32.301671],[102.662242,32.301885],[102.662336,32.302175],[102.662429,32.302466],[102.662513,32.302727],[102.662695,32.303014],[102.662877,32.3033],[102.663034,32.303548],[102.663202,32.303876],[102.66337,32.304205],[102.663569,32.30446],[102.663698,32.304626],[102.663827,32.30479],[102.66392,32.304926],[102.663998,32.305097],[102.664027,32.305261],[102.664041,32.305493],[102.664041,32.305495],[102.664041,32.305497],[102.66397,32.305832],[102.663845,32.306064],[102.66372,32.306296],[102.663648,32.306342],[102.663563,32.306396],[102.663327,32.306482],[102.663141,32.30661],[102.663056,32.306767],[102.663027,32.306917],[102.663006,32.307103],[102.663006,32.307331],[102.663134,32.307695],[102.663155,32.307839],[102.663191,32.308083],[102.663227,32.308328],[102.663241,32.308424],[102.663241,32.308659],[102.663206,32.308845],[102.663063,32.309052],[102.662972,32.309124],[102.66292,32.309166],[102.662904,32.309193],[102.662785,32.309402],[102.662742,32.309601],[102.662777,32.309758],[102.662842,32.309944],[102.662876,32.310054],[102.662992,32.310422],[102.66306,32.310708],[102.663128,32.310994],[102.663141,32.311051],[102.663141,32.311279],[102.663127,32.311515],[102.663027,32.311829],[102.662985,32.3119],[102.662835,32.312157],[102.662673,32.312419],[102.662512,32.312682],[102.66235,32.312944],[102.662191,32.313221],[102.662031,32.313498],[102.662004,32.313561],[102.661798,32.313898],[102.661652,32.314154],[102.661434,32.314349],[102.661215,32.314544],[102.661068,32.314599],[102.661035,32.314611],[102.660655,32.314696],[102.660275,32.314782],[102.66004,32.314841],[102.659805,32.314901],[102.659587,32.314974],[102.65948,32.314994],[102.659462,32.314995],[102.659338,32.315004],[102.659288,32.315008],[102.659086,32.314996],[102.658827,32.314907],[102.658568,32.314817],[102.658169,32.314615],[102.657813,32.314573],[102.65745,32.314556],[102.657271,32.314508],[102.65689,32.314319],[102.656508,32.31413],[102.656126,32.313941],[102.655998,32.313877],[102.655748,32.313717],[102.655499,32.313556],[102.655159,32.313396],[102.65488,32.313339],[102.6546,32.313283],[102.6543,32.313259],[102.653999,32.313235],[102.653595,32.313241],[102.653256,32.31333],[102.652889,32.313487],[102.652685,32.313574],[102.652453,32.313678],[102.652221,32.313782],[102.651906,32.313919],[102.65168,32.313931],[102.651346,32.313877],[102.651258,32.313869],[102.650995,32.313845],[102.650644,32.313812],[102.650606,32.31381],[102.650311,32.313794],[102.650038,32.313806],[102.64974,32.313919],[102.649608,32.313942],[102.649538,32.313955],[102.649258,32.313955],[102.648967,32.31383],[102.648675,32.313705],[102.648598,32.313641],[102.648574,32.313622],[102.648485,32.313622],[102.648384,32.313782],[102.648342,32.31405],[102.648348,32.314421],[102.648354,32.314792],[102.64836,32.315162],[102.648319,32.315484],[102.648176,32.315543],[102.648039,32.315638],[102.647914,32.315757],[102.647812,32.315903],[102.647789,32.315936],[102.647736,32.316156],[102.64775,32.316231],[102.647765,32.316305],[102.64784,32.316563],[102.647914,32.316822],[102.647872,32.316983],[102.6477,32.317096],[102.647459,32.317276],[102.647218,32.317456],[102.647135,32.317518],[102.646894,32.317792],[102.646653,32.318065],[102.646631,32.318113],[102.646532,32.318327],[102.646433,32.318541],[102.646427,32.318845],[102.646314,32.319071],[102.646202,32.319266],[102.646195,32.319279],[102.646171,32.319529],[102.646195,32.319719],[102.646367,32.32004],[102.646447,32.320287],[102.646459,32.320323],[102.646472,32.320365],[102.646578,32.320691],[102.646683,32.321016],[102.646745,32.321287],[102.646808,32.321557],[102.646814,32.321672],[102.646829,32.321936],[102.646847,32.322262],[102.646866,32.322587],[102.646823,32.322875],[102.646764,32.323263],[102.646706,32.323651],[102.64665,32.323897],[102.64663,32.323988],[102.646554,32.324325],[102.646478,32.324662],[102.646443,32.324901],[102.646426,32.325019],[102.646413,32.325112],[102.646375,32.325376],[102.646355,32.325753],[102.646335,32.326131],[102.646315,32.326508],[102.646295,32.326886],[102.646275,32.327263],[102.646262,32.327578],[102.646248,32.327892],[102.646234,32.328207],[102.646157,32.328502],[102.646079,32.328797],[102.64603,32.328984],[102.645972,32.329294],[102.645913,32.329604],[102.645879,32.329784],[102.645708,32.330108],[102.64565,32.330212],[102.645551,32.330389],[102.645394,32.330669],[102.645299,32.330812],[102.645289,32.33106],[102.645318,32.331193],[102.645543,32.33145],[102.645768,32.331707],[102.645993,32.331964],[102.646225,32.33218],[102.646457,32.332395],[102.646688,32.332611],[102.646688,32.332611],[102.646945,32.332797],[102.647202,32.332982],[102.647547,32.333161],[102.647683,32.333182],[102.64779,32.333218],[102.647854,32.333261],[102.64786,32.33331],[102.647861,32.333325],[102.647861,32.333368],[102.647776,32.333475],[102.647561,32.333632],[102.64724,32.333825],[102.646919,32.334017],[102.646576,32.33421],[102.646234,32.334403],[102.645891,32.334595],[102.645852,32.334617],[102.64559,32.334758],[102.6452,32.334968],[102.64481,32.335178],[102.644421,32.335388],[102.644039,32.335588],[102.643657,32.335787],[102.643275,32.335987],[102.642896,32.33619],[102.64267,32.336312],[102.642278,32.336485],[102.641886,32.336659],[102.641883,32.33666],[102.641882,32.336661],[102.641493,32.336833],[102.641207,32.33706],[102.640921,32.337287],[102.640761,32.337511],[102.640635,32.337884],[102.64051,32.338257],[102.640385,32.33863],[102.640297,32.339061],[102.640235,32.339366],[102.640172,32.339671],[102.640132,32.339912],[102.640059,32.34035],[102.639986,32.340788],[102.639913,32.341226],[102.639826,32.341643],[102.639739,32.34206],[102.639653,32.342477],[102.639622,32.342624],[102.639566,32.342893],[102.639482,32.343307],[102.639399,32.34372],[102.639315,32.344134],[102.639242,32.34443],[102.63917,32.344727],[102.639097,32.345023],[102.638994,32.345444],[102.638946,32.345838],[102.638898,32.346232],[102.638865,32.346502],[102.638834,32.346635],[102.638785,32.346847],[102.638704,32.347192],[102.638681,32.347294],[102.638624,32.347537],[102.638724,32.34793],[102.638731,32.348166],[102.638692,32.348406],[102.638688,32.34843],[102.638688,32.348708],[102.638738,32.348929],[102.638774,32.349201],[102.638874,32.349379],[102.639017,32.349579],[102.639131,32.349836],[102.639202,32.350221],[102.639268,32.350444],[102.639333,32.350666],[102.639409,32.350928],[102.639513,32.351135],[102.639616,32.351342],[102.639806,32.351645],[102.639986,32.351935],[102.639995,32.351949],[102.640252,32.352156],[102.640502,32.352299],[102.64073,32.352406],[102.64081,32.352447],[102.640941,32.352514],[102.640966,32.352527],[102.641215,32.352656],[102.641336,32.352753],[102.641433,32.35283],[102.641651,32.353005],[102.641795,32.353138],[102.642008,32.353334],[102.642158,32.353434],[102.642379,32.353555],[102.642507,32.353655],[102.642636,32.353769],[102.642736,32.353919],[102.642836,32.35399],[102.643021,32.354033],[102.643193,32.354055],[102.643314,32.35409],[102.643478,32.354176],[102.643628,32.354347],[102.643778,32.354519],[102.644071,32.354683],[102.644306,32.354769],[102.644513,32.354769],[102.644813,32.354754],[102.645177,32.354733],[102.645419,32.354729],[102.645661,32.354726],[102.6457,32.354731],[102.645991,32.354818],[102.646355,32.354961],[102.646583,32.354983],[102.646783,32.35499],[102.647083,32.354918],[102.647161,32.354899],[102.64754,32.354804],[102.647733,32.354761],[102.647918,32.354754],[102.64809,32.354797],[102.648261,32.354876],[102.648534,32.355041],[102.648807,32.355207],[102.649132,32.355404],[102.649465,32.355605],[102.649702,32.355747],[102.649939,32.355889],[102.64994,32.35589],[102.650113,32.356017],[102.650178,32.356065],[102.650417,32.356239],[102.650574,32.356582],[102.650699,32.35678],[102.650795,32.356931],[102.651081,32.357074],[102.651345,32.357146],[102.651752,32.357153],[102.652166,32.357089],[102.652473,32.35706],[102.652698,32.35706],[102.652865,32.35706],[102.653229,32.357131],[102.653593,32.357203],[102.653922,32.357298],[102.65425,32.357393],[102.654578,32.357488],[102.654627,32.357512],[102.654759,32.357547],[102.655141,32.357747],[102.655354,32.357876],[102.655566,32.358005],[102.655738,32.358153],[102.655911,32.358301],[102.656083,32.358448],[102.656255,32.358596],[102.656326,32.358677],[102.656476,32.358851],[102.656581,32.35916],[102.656618,32.359528],[102.656604,32.359785],[102.656592,32.360001],[102.65659,32.360041],[102.656579,32.360229],[102.656684,32.360593],[102.656684,32.3608],[102.656601,32.360956],[102.656533,32.361082],[102.656545,32.361484],[102.656558,32.361899],[102.656563,32.362078],[102.65657,32.362315],[102.656617,32.362653],[102.656664,32.362991],[102.656771,32.363301],[102.656856,32.363524],[102.656941,32.363748],[102.657072,32.363952],[102.657203,32.364157],[102.657407,32.364469],[102.657611,32.364781],[102.657815,32.365093],[102.657935,32.365288],[102.658056,32.365483],[102.658176,32.365678],[102.658296,32.365873],[102.658416,32.366068],[102.658536,32.366263],[102.658644,32.366486],[102.658753,32.366709],[102.658861,32.366932],[102.65897,32.367156],[102.659078,32.367379],[102.659187,32.367602],[102.659221,32.367671],[102.659296,32.367825],[102.659404,32.368048],[102.659508,32.368268],[102.659612,32.368489],[102.659716,32.368709],[102.659821,32.368929],[102.659925,32.36915],[102.660029,32.36937],[102.660144,32.369613],[102.660259,32.369856],[102.660374,32.370099],[102.660489,32.370342],[102.660604,32.370585],[102.660718,32.370828],[102.660879,32.371231],[102.661039,32.371634],[102.661116,32.371827],[102.661199,32.372036],[102.661359,32.372439],[102.661433,32.372674],[102.661507,32.372909],[102.661573,32.37312],[102.661581,32.373143],[102.661654,32.373378],[102.661728,32.373613],[102.661802,32.373848],[102.661881,32.374014],[102.661915,32.374086],[102.662029,32.374324],[102.662142,32.374562],[102.662157,32.374593],[102.662255,32.3748],[102.662304,32.374893],[102.662421,32.375113],[102.662531,32.37532],[102.66264,32.375528],[102.66266,32.375565],[102.66275,32.375735],[102.66286,32.375942],[102.66297,32.37615],[102.66308,32.376357],[102.663206,32.376564],[102.663332,32.37677],[102.663459,32.376977],[102.663508,32.377056],[102.663585,32.377183],[102.663618,32.377236],[102.663712,32.37739],[102.663838,32.377596],[102.663965,32.377803],[102.664091,32.378009],[102.664218,32.378216],[102.664344,32.378423],[102.664496,32.378639],[102.664627,32.378825],[102.664648,32.378855],[102.6648,32.379072],[102.664953,32.379288],[102.665105,32.379504],[102.665257,32.379721],[102.665409,32.379937],[102.665561,32.380153],[102.665713,32.38037],[102.665865,32.380586],[102.666085,32.38086],[102.666306,32.381135],[102.666471,32.38132],[102.666637,32.381506],[102.666916,32.381714],[102.667195,32.381922],[102.667565,32.382101],[102.667936,32.382281],[102.668353,32.382409],[102.66877,32.382537],[102.669188,32.382665],[102.669605,32.382793],[102.669953,32.382935],[102.670302,32.383077],[102.670549,32.383188],[102.670797,32.383298],[102.671108,32.383574],[102.671262,32.383779],[102.671416,32.383984],[102.67162,32.384315],[102.671823,32.384646],[102.672027,32.384978],[102.672229,32.385366],[102.672431,32.385754],[102.672633,32.386143],[102.672835,32.386531],[102.672907,32.386724],[102.672987,32.386938],[102.673067,32.387151],[102.673147,32.387365],[102.673227,32.387578],[102.673307,32.387791],[102.673388,32.388005],[102.673492,32.388206],[102.673597,32.388407],[102.673702,32.388608],[102.673807,32.388809],[102.673912,32.38901],[102.674017,32.389211],[102.674213,32.389523],[102.67441,32.389835],[102.674587,32.390012],[102.674765,32.390188],[102.675022,32.390338],[102.67528,32.390487],[102.675617,32.390647],[102.675954,32.390808],[102.676291,32.390968],[102.676559,32.391028],[102.676827,32.391088],[102.677095,32.391147],[102.677363,32.391207],[102.677713,32.391291],[102.678063,32.391374],[102.678198,32.391436],[102.67831,32.391514],[102.67833,32.39163],[102.678349,32.391765],[102.678321,32.391919],[102.678109,32.392262],[102.677956,32.392632],[102.677802,32.393001],[102.677648,32.393371],[102.677523,32.393605],[102.677397,32.393838],[102.677272,32.394072],[102.677147,32.394306],[102.677019,32.394515],[102.676891,32.394723],[102.676763,32.394932],[102.676635,32.395141],[102.676507,32.395349],[102.676379,32.395558],[102.676251,32.395766],[102.676123,32.395975],[102.675979,32.396187],[102.675836,32.396399],[102.675692,32.396611],[102.675549,32.396823],[102.675405,32.397035],[102.67529,32.397206],[102.675262,32.397247],[102.675118,32.397459],[102.674975,32.397671],[102.674831,32.397883],[102.674688,32.398095],[102.674544,32.398307],[102.674483,32.398399],[102.674401,32.39852],[102.674257,32.398732],[102.674114,32.398944],[102.67397,32.399177],[102.673826,32.39941],[102.673681,32.399642],[102.673537,32.399875],[102.673393,32.400108],[102.673249,32.400341],[102.673104,32.400574],[102.67296,32.400807],[102.672816,32.40104],[102.672672,32.401273],[102.672528,32.401506],[102.672383,32.401739],[102.672239,32.401972],[102.672095,32.402205],[102.671951,32.402438],[102.671806,32.402671],[102.671598,32.403048],[102.67139,32.403425],[102.671182,32.403802],[102.670974,32.404179],[102.670811,32.40454],[102.670649,32.404901],[102.670486,32.405262],[102.670479,32.405332],[102.670458,32.40555],[102.670539,32.40584],[102.67065,32.405997],[102.670851,32.406154],[102.67113,32.406352],[102.671409,32.406551],[102.671604,32.406694],[102.6718,32.406837],[102.671995,32.40698],[102.67219,32.407124],[102.672368,32.40729],[102.672546,32.407457],[102.672691,32.407678],[102.672837,32.407899],[102.672983,32.40812],[102.673129,32.408341],[102.673261,32.408541],[102.673365,32.408677],[102.673421,32.408783],[102.673631,32.40918],[102.673698,32.409306],[102.67382,32.409536],[102.674008,32.409891],[102.674215,32.410182],[102.674364,32.410392],[102.674513,32.410602],[102.674769,32.410807],[102.675025,32.411012],[102.675062,32.411025],[102.675479,32.41117],[102.675895,32.411314],[102.676222,32.411469],[102.676549,32.411623],[102.676876,32.411777],[102.677078,32.411893],[102.67728,32.412008],[102.677561,32.412203],[102.677807,32.41246],[102.677809,32.412461],[102.677812,32.412462],[102.677836,32.412491],[102.677928,32.412587],[102.678049,32.412737],[102.678114,32.412865],[102.678114,32.412866],[102.678114,32.412867],[102.678114,32.412868],[102.678128,32.413001],[102.678128,32.413144],[102.678099,32.413379],[102.678002,32.413628],[102.677968,32.413716],[102.677905,32.413876],[102.677892,32.413908],[102.677769,32.414159],[102.677728,32.414243],[102.677693,32.414457],[102.677711,32.414723],[102.67773,32.414988],[102.67775,32.415283],[102.677771,32.415578],[102.677764,32.415849],[102.677757,32.416121],[102.677785,32.416363],[102.677885,32.416649],[102.677985,32.416863],[102.678266,32.41705],[102.678328,32.417091],[102.678635,32.417245],[102.678942,32.417398],[102.679249,32.417552],[102.679556,32.417705],[102.679913,32.417873],[102.68027,32.418041],[102.680626,32.418209],[102.680983,32.418376],[102.68135,32.418567],[102.681716,32.418757],[102.682083,32.418947],[102.682259,32.419093],[102.682509,32.419298],[102.682758,32.419504],[102.682967,32.419772],[102.683175,32.42004],[102.683238,32.420119],[102.683455,32.42039],[102.683672,32.420661],[102.683774,32.420788],[102.683889,32.420932],[102.684031,32.421086],[102.684044,32.421089],[102.684281,32.421134],[102.684376,32.421134],[102.684797,32.421019],[102.685217,32.420904],[102.685638,32.420789],[102.686011,32.420668],[102.686385,32.420546],[102.686758,32.420425],[102.68685,32.420395],[102.687132,32.420304],[102.687505,32.420182],[102.687749,32.420135],[102.687993,32.420087],[102.68835,32.419992],[102.688493,32.419968],[102.688719,32.419968],[102.688814,32.419956],[102.688945,32.419992],[102.6891,32.420123],[102.689442,32.420346],[102.689784,32.420569],[102.690126,32.420792],[102.690468,32.421015],[102.690801,32.421217],[102.691134,32.42142],[102.691274,32.421497],[102.691484,32.421613],[102.691693,32.421729],[102.692098,32.421833],[102.692503,32.421937],[102.692621,32.421967],[102.692907,32.422106],[102.693192,32.422244],[102.693478,32.422383],[102.693728,32.422502],[102.693978,32.422621],[102.694186,32.422794],[102.694394,32.422966],[102.694602,32.423169],[102.69481,32.423371],[102.695032,32.423625],[102.695255,32.423878],[102.695477,32.424132],[102.695534,32.424226],[102.695687,32.424475],[102.695897,32.424818],[102.696107,32.425161],[102.696317,32.425504],[102.696528,32.425847],[102.696738,32.42619],[102.69691,32.426488],[102.697083,32.426785],[102.697255,32.427083],[102.697428,32.42738],[102.697614,32.427725],[102.69765,32.427791],[102.697801,32.42807],[102.697987,32.428415],[102.69803,32.428514],[102.698165,32.428826],[102.698344,32.429236],[102.698395,32.42936],[102.698451,32.429498],[102.698592,32.4296],[102.698665,32.429653],[102.698903,32.429772],[102.699045,32.429819],[102.699248,32.429888],[102.699333,32.429916],[102.699593,32.430004],[102.699938,32.43012],[102.700283,32.430236],[102.700622,32.430432],[102.700961,32.430628],[102.701239,32.430747],[102.701517,32.430866],[102.701794,32.430985],[102.702205,32.431122],[102.702615,32.431259],[102.70283,32.431348],[102.702972,32.431407],[102.703329,32.431556],[102.703597,32.431723],[102.703864,32.431889],[102.704114,32.432187],[102.704441,32.432395],[102.704768,32.432603],[102.705113,32.432799],[102.705458,32.432996],[102.70583,32.433128],[102.706078,32.433216],[102.706327,32.433305],[102.706583,32.433454],[102.706839,32.433602],[102.707005,32.43365],[102.707219,32.433626],[102.707517,32.433495],[102.707722,32.433447],[102.707921,32.4334],[102.708225,32.433376],[102.708528,32.433353],[102.708814,32.433394],[102.709099,32.433436],[102.709504,32.433567],[102.709849,32.433769],[102.709854,32.433775],[102.710027,32.433971],[102.710164,32.434257],[102.710301,32.434542],[102.710432,32.43478],[102.710562,32.435018],[102.710729,32.43522],[102.710979,32.43528],[102.711324,32.435399],[102.711669,32.435518],[102.711851,32.435626],[102.712131,32.43578],[102.712411,32.435934],[102.712545,32.43601],[102.712649,32.436172],[102.712802,32.436515],[102.712954,32.436858],[102.713055,32.437082],[102.713157,32.437307],[102.713268,32.437552],[102.713411,32.437943],[102.713468,32.438142],[102.713531,32.43825],[102.713601,32.438371],[102.713815,32.438656],[102.714029,32.438942],[102.714291,32.439204],[102.714553,32.439465],[102.71491,32.439689],[102.715031,32.439765],[102.715267,32.439913],[102.715476,32.440022],[102.715685,32.440132],[102.715847,32.440265],[102.715876,32.44037],[102.715919,32.440665],[102.715961,32.44096],[102.715985,32.441279],[102.716009,32.441597],[102.715985,32.441761],[102.715971,32.441854],[102.715941,32.442132],[102.715913,32.442383],[102.715885,32.442635],[102.715886,32.442638],[102.715923,32.442844],[102.715941,32.442876],[102.716038,32.443054],[102.716223,32.443249],[102.716409,32.443444],[102.716605,32.44371],[102.716802,32.443977],[102.716999,32.444243],[102.717132,32.444481],[102.717208,32.444843],[102.71724,32.445259],[102.717272,32.445674],[102.717303,32.44609],[102.717367,32.446509],[102.71743,32.446927],[102.717494,32.447346],[102.717583,32.44766],[102.717671,32.447974],[102.71776,32.448288],[102.717804,32.448405],[102.717855,32.448545],[102.717989,32.448717],[102.718112,32.448888],[102.718465,32.449107],[102.718574,32.449179],[102.718757,32.449301],[102.719048,32.449494],[102.71934,32.449688],[102.719349,32.449691],[102.719621,32.449784],[102.719892,32.449878],[102.720268,32.449987],[102.720644,32.450097],[102.721015,32.450282],[102.721127,32.450338],[102.721387,32.450468],[102.721526,32.450524],[102.721608,32.450567],[102.721796,32.450678],[102.721824,32.450706],[102.721862,32.450868],[102.721834,32.451011],[102.721672,32.451229],[102.721577,32.451448],[102.721558,32.451734],[102.721558,32.451953],[102.721434,32.452324],[102.721305,32.452689],[102.721175,32.453055],[102.72112,32.453209],[102.720992,32.453533],[102.720863,32.453856],[102.720787,32.454113],[102.720673,32.454313],[102.720494,32.454394],[102.720378,32.454447],[102.720159,32.454542],[102.719987,32.454713],[102.719792,32.454999],[102.71979,32.455001],[102.719642,32.455218],[102.719597,32.455284],[102.719437,32.455552],[102.719276,32.455819],[102.719116,32.456087],[102.719026,32.456236],[102.718879,32.456474],[102.718731,32.456712],[102.718598,32.45694],[102.718512,32.457131],[102.718512,32.457245],[102.718655,32.45733],[102.718971,32.457495],[102.718778,32.457557],[102.718069,32.457644],[102.717122,32.45786],[102.715839,32.458306],[102.7153,32.458493],[102.713919,32.458767],[102.712851,32.459081],[102.711503,32.459589],[102.709838,32.460224],[102.708442,32.461098],[102.70796,32.461391],[102.707743,32.461523],[102.707325,32.461777],[102.705837,32.462569],[102.705694,32.462646],[102.70442,32.463321],[102.703025,32.464161],[102.702303,32.464747],[102.701285,32.464629],[102.699758,32.464468],[102.698109,32.464471],[102.696979,32.464118],[102.696354,32.464006],[102.696304,32.464007],[102.694665,32.464042],[102.693445,32.464153],[102.691914,32.464125],[102.691043,32.464409],[102.689386,32.464744],[102.688008,32.464885],[102.686659,32.465427],[102.685268,32.4661],[102.683992,32.466842],[102.682959,32.467322],[102.681996,32.468137],[102.680831,32.469147],[102.680198,32.469335],[102.679673,32.468394],[102.679419,32.467557],[102.678424,32.466573],[102.677165,32.465119],[102.676399,32.464406],[102.675509,32.46389],[102.673834,32.46336],[102.672971,32.463344],[102.671747,32.463587],[102.671317,32.463546],[102.671691,32.462721],[102.671722,32.461523],[102.67209,32.459433],[102.672349,32.458506],[102.672094,32.457769],[102.671048,32.457217],[102.669418,32.456488],[102.667513,32.455754],[102.666433,32.455002],[102.665082,32.454111],[102.66374,32.452888],[102.662891,32.452306],[102.662136,32.452314],[102.661713,32.452318],[102.66137,32.452311],[102.660497,32.452295],[102.659429,32.452575],[102.658992,32.4528],[102.65831,32.453353],[102.657613,32.454505],[102.656853,32.455057],[102.655635,32.455067],[102.654573,32.455181],[102.652817,32.456279],[102.651823,32.45676],[102.648767,32.458034],[102.648555,32.458134],[102.646926,32.45709],[102.645651,32.456373],[102.644645,32.455777],[102.643154,32.455518],[102.642086,32.455336],[102.642062,32.454784],[102.641667,32.453802],[102.64168,32.453283],[102.641417,32.453083],[102.640118,32.452994],[102.639168,32.452684],[102.638217,32.452438],[102.637417,32.452261],[102.636745,32.451631],[102.635926,32.450707],[102.635334,32.449916],[102.634595,32.448896],[102.634037,32.448268],[102.633699,32.448002],[102.633019,32.447665],[102.632531,32.447266],[102.631846,32.447091],[102.630589,32.44684],[102.629403,32.446785],[102.628138,32.446858],[102.627704,32.447337],[102.627062,32.448116],[102.626764,32.448476],[102.626755,32.448488],[102.626744,32.448499],[102.626046,32.449222],[102.625449,32.450087],[102.625067,32.450048],[102.624124,32.44951],[102.623403,32.449237],[102.622301,32.448924],[102.62145,32.448637],[102.620972,32.448476],[102.619525,32.448157],[102.619196,32.448167],[102.618222,32.448197],[102.618083,32.448202],[102.61711,32.448241],[102.61585,32.44812],[102.61501,32.448087],[102.614386,32.448063],[102.614205,32.448056],[102.61394,32.447994],[102.61341,32.447871],[102.612682,32.447702],[102.61112,32.447413],[102.609444,32.447056],[102.607959,32.446736],[102.606124,32.446636],[102.604169,32.446696],[102.603164,32.447034],[102.601913,32.448017],[102.601593,32.44829],[102.601388,32.448466],[102.601208,32.44862],[102.600517,32.448672],[102.599369,32.448618],[102.599103,32.44862],[102.598918,32.448621],[102.598772,32.448623],[102.598182,32.448628],[102.596761,32.448763],[102.596137,32.449205],[102.595746,32.44949],[102.59475,32.449504],[102.59391,32.449423],[102.593035,32.449211],[102.592622,32.448911],[102.592072,32.447959],[102.591138,32.447097],[102.589935,32.446262],[102.588311,32.445386],[102.586495,32.444572],[102.584527,32.44369],[102.583009,32.443174],[102.581255,32.442913],[102.580868,32.44287],[102.579498,32.442717],[102.579065,32.44266],[102.577781,32.442489],[102.576027,32.442228],[102.574966,32.441786],[102.573031,32.441131],[102.571286,32.440513],[102.569919,32.440065],[102.567794,32.439374],[102.566501,32.439025],[102.565743,32.438718],[102.565107,32.438186],[102.564399,32.437458],[102.563736,32.436471],[102.562842,32.435544],[102.562561,32.434597],[102.562118,32.434004],[102.561318,32.433826],[102.560255,32.433513],[102.558222,32.432841],[102.556984,32.432157],[102.556042,32.431289],[102.553949,32.429358],[102.553757,32.429224],[102.55254,32.428367],[102.550491,32.426704],[102.548578,32.425304],[102.548572,32.4253],[102.548567,32.425296],[102.548552,32.425285],[102.548521,32.425262],[102.548496,32.425244],[102.548491,32.425241],[102.54848,32.425234],[102.548362,32.425162],[102.5482,32.425063],[102.546613,32.424091],[102.54649,32.42401],[102.546463,32.423992],[102.544321,32.422575],[102.543751,32.422217],[102.543321,32.421947],[102.540902,32.420733],[102.538959,32.419788],[102.538835,32.419728],[102.538407,32.419519],[102.536887,32.418777],[102.535523,32.418344],[102.534512,32.418121],[102.534201,32.418159],[102.533943,32.418191],[102.533156,32.418286],[102.532712,32.41834],[102.532553,32.418385],[102.531386,32.41872],[102.529342,32.419085],[102.528362,32.419155],[102.527846,32.419192],[102.527664,32.419205],[102.526508,32.419228],[102.52509,32.419256],[102.523884,32.419232],[102.523122,32.419217],[102.521922,32.419193],[102.520065,32.419258],[102.518846,32.419234],[102.518773,32.419233],[102.516419,32.419186],[102.513727,32.419184],[102.512634,32.419771],[102.511778,32.420464],[102.511402,32.421066],[102.511323,32.421215],[102.511263,32.421327],[102.511246,32.421359],[102.511236,32.421379],[102.511223,32.421402],[102.510749,32.422294],[102.510708,32.422371],[102.510669,32.423791],[102.511394,32.425733],[102.512401,32.428239],[102.513938,32.43111],[102.514308,32.432894],[102.514031,32.434258],[102.513027,32.435963],[102.511793,32.437308],[102.510628,32.438351],[102.509176,32.438931],[102.507601,32.43961],[102.506141,32.440494],[102.50465,32.442494],[102.502618,32.444584],[102.501934,32.445535],[102.501265,32.445927],[102.500299,32.446213],[102.499732,32.447445],[102.498921,32.448001],[102.496884,32.448531],[102.495789,32.44825],[102.494777,32.447191],[102.493962,32.445668],[102.493447,32.444359],[102.492802,32.443308],[102.492528,32.44216],[102.492023,32.440487],[102.491511,32.439075],[102.491415,32.438086],[102.491259,32.437096],[102.490313,32.435882],[102.488331,32.43444],[102.487322,32.433277],[102.48649,32.432378],[102.485528,32.431735],[102.484503,32.431143],[102.48343,32.430083],[102.482739,32.428511],[102.482403,32.427362],[102.481591,32.425735],[102.481169,32.423285],[102.480743,32.420991],[102.480725,32.419433],[102.480701,32.418082],[102.480625,32.416418],[102.480722,32.415121],[102.481419,32.412071],[102.481512,32.41093],[102.481502,32.409111],[102.481535,32.407917],[102.481934,32.406782],[102.481957,32.405952],[102.481929,32.404757],[102.482146,32.403566],[102.48292,32.402127],[102.483981,32.401421],[102.485717,32.400625],[102.487793,32.39864],[102.488665,32.398086],[102.48943,32.397011],[102.490508,32.395682],[102.490781,32.394648],[102.490756,32.393349],[102.490554,32.391787],[102.490778,32.390337],[102.491056,32.386914],[102.491462,32.385519],[102.491141,32.383851],[102.491049,32.382758],[102.490598,32.381346],[102.490509,32.38015],[102.490542,32.378956],[102.490394,32.377654],[102.488845,32.376117],[102.488027,32.374698],[102.487249,32.374059],[102.486154,32.37383],[102.486108,32.373257],[102.486269,32.371858],[102.486611,32.370566],[102.48628,32.369261],[102.485027,32.368093],[102.484561,32.367252],[102.483433,32.365983],[102.482675,32.364617],[102.482273,32.363674],[102.482135,32.362009],[102.482039,32.361072],[102.481338,32.359864],[102.480688,32.359019],[102.479785,32.358482],[102.478407,32.357402],[102.476598,32.356457],[102.475767,32.356051],[102.47458,32.354728],[102.473468,32.353472],[102.472326,32.353254],[102.471258,32.353168],[102.470661,32.353029],[102.470346,32.352955],[102.468904,32.352536],[102.467467,32.351923],[102.466106,32.351376],[102.464668,32.350827],[102.462705,32.349879],[102.460597,32.348667],[102.458786,32.347787],[102.458579,32.347678],[102.456977,32.346841],[102.455953,32.34682],[102.455753,32.346816],[102.454523,32.347051],[102.454496,32.347052],[102.454452,32.347055],[102.453604,32.347097],[102.451698,32.346864],[102.450859,32.346782],[102.450575,32.346601],[102.45045,32.346521],[102.450444,32.346518],[102.450239,32.346387],[102.449807,32.346111],[102.449363,32.346021],[102.449228,32.346117],[102.449219,32.346108],[102.449134,32.346058],[102.448742,32.345895],[102.447984,32.345262],[102.447546,32.344897],[102.44698,32.343262],[102.446265,32.341494],[102.445203,32.33947],[102.444765,32.338635],[102.444755,32.338616],[102.444737,32.338582],[102.444719,32.338546],[102.444639,32.338395],[102.444552,32.338229],[102.441805,32.337214],[102.441275,32.337018],[102.441245,32.337007],[102.441061,32.336939],[102.440769,32.336831],[102.43883,32.336226],[102.438076,32.335918],[102.437753,32.335786],[102.437611,32.335728],[102.437505,32.335685],[102.437468,32.33567],[102.437419,32.335626],[102.437413,32.33562],[102.437005,32.335257],[102.436948,32.335206],[102.436784,32.334713],[102.437072,32.333964],[102.437296,32.333477],[102.437515,32.332959],[102.437551,32.331684],[102.437254,32.330243],[102.437252,32.330237],[102.437211,32.330039],[102.437177,32.32987],[102.43713,32.329646],[102.437047,32.329495],[102.436936,32.329295],[102.43685,32.329139],[102.436744,32.328948],[102.436634,32.32875],[102.436548,32.328594],[102.436481,32.328474],[102.436415,32.328355],[102.436403,32.328213],[102.436392,32.328078],[102.436313,32.327135],[102.435728,32.326079],[102.435735,32.325853],[102.435736,32.325798],[102.435756,32.325081],[102.435761,32.324933],[102.435784,32.324108],[102.435787,32.324072],[102.435809,32.32385],[102.43588,32.323124],[102.435498,32.322131],[102.435123,32.320905],[102.434873,32.320088],[102.434672,32.319572],[102.434554,32.31927],[102.434412,32.318963],[102.434182,32.318469],[102.434105,32.318304],[102.433846,32.317747],[102.433206,32.316368],[102.433116,32.315485],[102.432948,32.314634],[102.432878,32.313389],[102.432877,32.313361],[102.432877,32.313359],[102.432875,32.313349],[102.432875,32.313348],[102.432874,32.313331],[102.432871,32.313262],[102.432873,32.31325],[102.432892,32.313138],[102.43301,32.312416],[102.433662,32.311092],[102.434185,32.310287],[102.434708,32.309417],[102.435152,32.308676],[102.435335,32.307636],[102.435919,32.305984],[102.436223,32.30475],[102.436339,32.30335],[102.436629,32.302605],[102.436964,32.301633],[102.436959,32.300459],[102.436929,32.298794],[102.437037,32.297687],[102.437007,32.297452],[102.436785,32.295692],[102.436772,32.295461],[102.436747,32.295033],[102.436708,32.294353],[102.436507,32.293305],[102.436316,32.291898],[102.436036,32.290947],[102.435917,32.289704],[102.436169,32.288678],[102.436182,32.288624],[102.436194,32.288578],[102.436202,32.288543],[102.436235,32.288407],[102.436307,32.288114],[102.436334,32.287824],[102.436342,32.287743],[102.436418,32.286909],[102.436614,32.285412],[102.43739,32.283764],[102.437437,32.283638],[102.437464,32.283566],[102.437639,32.283096],[102.437764,32.28276],[102.438077,32.281961],[102.438138,32.281807],[102.438715,32.280333],[102.4387,32.279674],[102.438698,32.279582],[102.438861,32.278874],[102.438884,32.278774],[102.438982,32.278347],[102.439004,32.278251],[102.439146,32.278018],[102.439512,32.277416],[102.439729,32.277058],[102.440042,32.276506],[102.440265,32.276111],[102.440295,32.276059],[102.441318,32.275166],[102.442267,32.274206],[102.442676,32.273379],[102.442715,32.273302],[102.442814,32.272488],[102.443153,32.271353],[102.443212,32.270637],[102.443232,32.269919],[102.443138,32.269167],[102.443246,32.268412],[102.443258,32.268332],[102.443329,32.267833],[102.44334,32.267658],[102.443397,32.266791],[102.443412,32.266237],[102.443079,32.265806],[102.442676,32.265112],[102.441852,32.264378],[102.441138,32.263809],[102.440476,32.262784],[102.439117,32.261941],[102.438684,32.260953],[102.438684,32.260652],[102.438684,32.260357],[102.438685,32.25955],[102.438666,32.259208],[102.438634,32.258636],[102.438868,32.258063],[102.438964,32.257827],[102.439515,32.257349],[102.439681,32.256895],[102.439581,32.256575],[102.439525,32.256395],[102.439364,32.255878],[102.438638,32.254395],[102.438405,32.253118],[102.438039,32.252164],[102.437815,32.251581],[102.437761,32.251441],[102.43736,32.250654],[102.437106,32.250155],[102.437021,32.249991],[102.43699,32.24993],[102.436342,32.248671],[102.436359,32.248052],[102.4364,32.247982],[102.436461,32.247878],[102.436559,32.247711],[102.436687,32.247494],[102.436843,32.247229],[102.437004,32.246956],[102.437136,32.246815],[102.43739,32.246546],[102.437637,32.246283],[102.437652,32.246254],[102.437776,32.246008],[102.437881,32.245799],[102.437759,32.245448],[102.437653,32.245144],[102.437561,32.244879],[102.437409,32.244509],[102.437305,32.244257],[102.43712,32.243808],[102.436897,32.243267],[102.436716,32.242829],[102.436598,32.242544],[102.436524,32.242362],[102.436425,32.242124],[102.436197,32.24157],[102.436012,32.241121],[102.435746,32.240476],[102.435513,32.239911],[102.43535,32.239616],[102.435111,32.239185],[102.434893,32.238843],[102.43467,32.238491],[102.434286,32.238198],[102.433961,32.237949],[102.433618,32.237687],[102.433231,32.237395],[102.432801,32.237072],[102.432415,32.236781],[102.431821,32.236423],[102.431154,32.23602],[102.430659,32.235721],[102.430175,32.235429],[102.429741,32.235167],[102.429395,32.234958],[102.428998,32.234783],[102.428598,32.234556],[102.428109,32.234279],[102.427614,32.234056],[102.427028,32.233792],[102.426517,32.233562],[102.426057,32.233454],[102.425297,32.233276],[102.424565,32.233198],[102.424149,32.233154],[102.42345,32.23314],[102.422776,32.233126],[102.422269,32.233116],[102.421705,32.233208],[102.421206,32.23329],[102.420495,32.233406],[102.419798,32.23362],[102.419399,32.233719],[102.419766,32.23299],[102.420302,32.231677],[102.420339,32.230355],[102.420318,32.230043],[102.420208,32.228394],[102.419875,32.226958],[102.419912,32.225636],[102.419688,32.224732],[102.419273,32.223626],[102.419167,32.223345],[102.419013,32.222177],[102.418602,32.221322],[102.417815,32.220512],[102.417531,32.219554],[102.417613,32.218867],[102.418141,32.21782],[102.418535,32.217087],[102.419814,32.215896],[102.419914,32.215689],[102.419942,32.215631],[102.420144,32.215214],[102.420069,32.215005],[102.420014,32.214855],[102.419855,32.214414],[102.419601,32.214079],[102.419035,32.213332],[102.418648,32.212336],[102.417692,32.211151],[102.417605,32.211043],[102.417051,32.210043],[102.416984,32.209705],[102.416927,32.209422],[102.416782,32.208527],[102.416637,32.207632],[102.416547,32.20681],[102.416104,32.206066],[102.415356,32.204808],[102.414411,32.204114],[102.413637,32.203423],[102.413632,32.203286],[102.413614,32.202796],[102.413605,32.202554],[102.413513,32.202148],[102.413353,32.20144],[102.41318,32.201208],[102.412911,32.200846],[102.41282,32.200724],[102.412705,32.200569],[102.412587,32.20041],[102.412478,32.200265],[102.412438,32.200171],[102.412379,32.200033],[102.412318,32.199855],[102.412229,32.199627],[102.412156,32.199442],[102.412074,32.199232],[102.412002,32.199049],[102.411959,32.19887],[102.411933,32.198756],[102.411898,32.198606],[102.411863,32.198457],[102.4118,32.198187],[102.411547,32.19711],[102.411356,32.196353],[102.411247,32.19592],[102.410986,32.194881],[102.410968,32.19354],[102.410968,32.19353],[102.410954,32.19333],[102.410847,32.191792],[102.410594,32.190966],[102.410432,32.190433],[102.410091,32.189611],[102.409848,32.189023],[102.40958,32.188638],[102.409432,32.188425],[102.409318,32.188261],[102.409303,32.18824],[102.408992,32.187221],[102.408253,32.185277],[102.407528,32.184828],[102.406406,32.184419],[102.40533,32.184349],[102.404833,32.183904],[102.404709,32.183709],[102.404692,32.183682],[102.404271,32.183019],[102.404182,32.182879],[102.403964,32.182536],[102.403043,32.181022],[102.402338,32.179899],[102.401627,32.178968],[102.40031,32.177446],[102.399263,32.176363],[102.398376,32.17567],[102.396988,32.174629],[102.395433,32.173487],[102.394544,32.172842],[102.393159,32.171705],[102.391037,32.170552],[102.388857,32.169446],[102.387477,32.168163],[102.387211,32.167531],[102.387169,32.167444],[102.387355,32.167478],[102.387528,32.167489],[102.387694,32.167454],[102.387903,32.167376],[102.388093,32.16724],[102.388224,32.167008],[102.388378,32.166609],[102.388468,32.16635],[102.388557,32.166092],[102.388557,32.165741],[102.388483,32.165467],[102.388408,32.165193],[102.388269,32.16492],[102.38813,32.164646],[102.388069,32.164527],[102.387938,32.164343],[102.387807,32.164158],[102.387665,32.163944],[102.387522,32.16373],[102.387385,32.163343],[102.387296,32.163086],[102.387208,32.162829],[102.387141,32.162635],[102.387037,32.16243],[102.386933,32.162225],[102.386927,32.161945],[102.386992,32.161577],[102.387023,32.16152],[102.387153,32.161285],[102.387266,32.161035],[102.387349,32.160782],[102.38745,32.16047],[102.387474,32.160232],[102.387456,32.159982],[102.387385,32.159792],[102.387364,32.159737],[102.387278,32.159506],[102.387278,32.159268],[102.387278,32.159031],[102.387278,32.158644],[102.38729,32.158394],[102.387302,32.158144],[102.38739,32.157894],[102.387478,32.157644],[102.387522,32.15752],[102.387599,32.157151],[102.387641,32.156871],[102.387635,32.156759],[102.387629,32.156657],[102.387605,32.156422],[102.387581,32.156187],[102.387599,32.156032],[102.387676,32.155902],[102.387885,32.155705],[102.388194,32.15539],[102.388372,32.15517],[102.388408,32.155039],[102.388551,32.154753],[102.388735,32.154504],[102.388902,32.154349],[102.388932,32.154312],[102.388958,32.154279],[102.389229,32.153944],[102.389515,32.153724],[102.389735,32.153451],[102.389961,32.153284],[102.390127,32.153058],[102.390252,32.152838],[102.390336,32.152707],[102.390371,32.152546],[102.390371,32.152404],[102.390318,32.152094],[102.390264,32.151785],[102.390264,32.151601],[102.390217,32.151398],[102.390062,32.151214],[102.38983,32.15103],[102.389598,32.150845],[102.389598,32.150845],[102.38936,32.150685],[102.389289,32.150625],[102.389267,32.15048],[102.389235,32.150268],[102.389283,32.149822],[102.389238,32.149557],[102.389193,32.149293],[102.389125,32.149019],[102.389057,32.148745],[102.389068,32.148608],[102.389098,32.148537],[102.38917,32.148489],[102.389515,32.148388],[102.389729,32.148308],[102.389943,32.148228],[102.390108,32.148185],[102.390377,32.148115],[102.390432,32.148112],[102.39074,32.148097],[102.391008,32.148133],[102.39121,32.148139],[102.391472,32.148097],[102.391766,32.148008],[102.392061,32.147918],[102.392459,32.14785],[102.392858,32.147782],[102.39323,32.147683],[102.393601,32.147585],[102.394024,32.147496],[102.394458,32.147383],[102.394862,32.147222],[102.395112,32.147008],[102.395231,32.146788],[102.395321,32.146479],[102.395333,32.146349],[102.395369,32.145991],[102.395404,32.145634],[102.395422,32.145361],[102.395535,32.145013],[102.395648,32.144665],[102.395802,32.144349],[102.395892,32.144117],[102.395892,32.143757],[102.395892,32.143397],[102.395945,32.143035],[102.396022,32.142862],[102.396124,32.142761],[102.396326,32.142654],[102.396458,32.142588],[102.39679,32.142422],[102.396998,32.142345],[102.397171,32.142339],[102.397309,32.142365],[102.397355,32.142374],[102.397522,32.142434],[102.39764,32.142446],[102.397861,32.142428],[102.398096,32.142356],[102.398331,32.142285],[102.398705,32.142166],[102.398961,32.142047],[102.399205,32.141988],[102.399479,32.141898],[102.399776,32.141768],[102.399961,32.141698],[102.400091,32.141649],[102.400401,32.141536],[102.40074,32.141488],[102.400978,32.141428],[102.401293,32.141256],[102.401513,32.141149],[102.401733,32.141042],[102.402138,32.140887],[102.402459,32.140798],[102.402634,32.140637],[102.40281,32.140477],[102.402991,32.140254],[102.403173,32.140031],[102.403446,32.139697],[102.403571,32.13937],[102.403666,32.138966],[102.403747,32.138524],[102.403828,32.138082],[102.403846,32.137999],[102.403903,32.137736],[102.403935,32.137371],[102.404,32.137172],[102.404022,32.137138],[102.404117,32.136993],[102.404264,32.136822],[102.40441,32.13665],[102.404567,32.136408],[102.404724,32.136165],[102.405028,32.135847],[102.405095,32.135756],[102.40516,32.135669],[102.405238,32.135483],[102.405252,32.135351],[102.405299,32.135259],[102.405374,32.135255],[102.405481,32.135269],[102.405566,32.135291],[102.405616,32.135312],[102.405789,32.135348],[102.405938,32.135383],[102.406051,32.135461],[102.406134,32.135496],[102.406223,32.13552],[102.406378,32.135538],[102.406574,32.13555],[102.406818,32.135598],[102.407074,32.135675],[102.407229,32.135705],[102.407417,32.135705],[102.407603,32.13568],[102.407845,32.135648],[102.408088,32.135616],[102.408348,32.135606],[102.408608,32.135595],[102.408869,32.135585],[102.409129,32.135574],[102.409514,32.13553],[102.409884,32.135487],[102.41013,32.13542],[102.410375,32.135354],[102.410488,32.135282],[102.410566,32.13514],[102.410619,32.135021],[102.410738,32.134967],[102.410946,32.134967],[102.411101,32.135021],[102.41122,32.13514],[102.411369,32.135235],[102.411506,32.135282],[102.411874,32.135342],[102.412243,32.135401],[102.412535,32.135434],[102.412666,32.135449],[102.412957,32.135491],[102.413314,32.135693],[102.413558,32.135865],[102.413654,32.136022],[102.413796,32.136252],[102.413927,32.136612],[102.414058,32.136972],[102.414257,32.137262],[102.414456,32.137552],[102.414462,32.137561],[102.414617,32.137715],[102.414736,32.137787],[102.414873,32.137864],[102.415057,32.137894],[102.415417,32.138001],[102.415777,32.138108],[102.416205,32.138173],[102.416336,32.138179],[102.416526,32.138167],[102.416806,32.138096],[102.417234,32.138066],[102.417549,32.138025],[102.417712,32.13802],[102.418136,32.138007],[102.418561,32.137995],[102.418858,32.138007],[102.419072,32.138072],[102.419179,32.13815],[102.41928,32.13834],[102.41934,32.138377],[102.41941,32.138421],[102.419674,32.138564],[102.420003,32.138635],[102.42022,32.138667],[102.420338,32.138685],[102.420406,32.138693],[102.420681,32.138728],[102.420981,32.138756],[102.421209,32.138735],[102.421437,32.138678],[102.421759,32.138728],[102.421923,32.138835],[102.42213,32.13902],[102.422401,32.139177],[102.42263,32.139335],[102.422972,32.139484],[102.423179,32.139542],[102.423415,32.139777],[102.423661,32.139955],[102.423938,32.140155],[102.424214,32.140355],[102.424443,32.140473],[102.424671,32.140591],[102.424892,32.140719],[102.425042,32.140762],[102.425406,32.140841],[102.42577,32.140798],[102.425899,32.140698],[102.42602,32.140441],[102.426183,32.140161],[102.426199,32.140134],[102.426497,32.13987],[102.426796,32.139606],[102.427094,32.139342],[102.427392,32.139078],[102.427691,32.138813],[102.427878,32.138647],[102.428066,32.138482],[102.428312,32.138264],[102.428554,32.137982],[102.428797,32.1377],[102.429,32.137336],[102.429111,32.137136],[102.429354,32.136879],[102.429697,32.136636],[102.430018,32.136472],[102.430308,32.136363],[102.430598,32.136253],[102.430889,32.136144],[102.431205,32.136025],[102.431522,32.135906],[102.431838,32.135787],[102.432107,32.135639],[102.432376,32.135492],[102.432645,32.135344],[102.432852,32.135116],[102.433059,32.134887],[102.433284,32.134627],[102.433508,32.134366],[102.433662,32.134145],[102.433815,32.133924],[102.434046,32.133729],[102.434277,32.133533],[102.434508,32.133338],[102.434851,32.133081],[102.43515,32.133081],[102.435429,32.133096],[102.435821,32.133074],[102.436082,32.133059],[102.436314,32.133046],[102.436571,32.133003],[102.436935,32.132953],[102.437231,32.132899],[102.437527,32.132846],[102.437824,32.132757],[102.43812,32.132667],[102.438434,32.132477],[102.438748,32.132287],[102.439062,32.132096],[102.439419,32.131868],[102.439776,32.131639],[102.439976,32.131486],[102.440176,32.131332],[102.440368,32.13099],[102.440383,32.130633],[102.440383,32.130269],[102.440354,32.129998],[102.440254,32.129783],[102.44039,32.129498],[102.44049,32.129319],[102.440504,32.129227],[102.440461,32.129062],[102.440297,32.128805],[102.44023,32.128738],[102.440097,32.128606],[102.439933,32.128527],[102.439862,32.128434],[102.439776,32.128199],[102.43969,32.12796],[102.439605,32.12772],[102.439565,32.127496],[102.439526,32.127271],[102.4395,32.127214],[102.439401,32.127035],[102.439281,32.126817],[102.438974,32.126494],[102.438667,32.12617],[102.438505,32.125999],[102.438343,32.125828],[102.438181,32.125657],[102.438018,32.125486],[102.437856,32.125315],[102.437694,32.125144],[102.437643,32.125111],[102.437358,32.124932],[102.437073,32.124753],[102.436834,32.124669],[102.436596,32.124585],[102.436377,32.124455],[102.436308,32.124264],[102.436407,32.124045],[102.436506,32.123826],[102.436685,32.123624],[102.436864,32.123422],[102.437043,32.123221],[102.437221,32.123019],[102.4374,32.122817],[102.437579,32.122615],[102.437725,32.122397],[102.43787,32.122179],[102.438035,32.121933],[102.438285,32.1217],[102.438536,32.121467],[102.438639,32.121389],[102.438736,32.121315],[102.438984,32.121086],[102.43906,32.120763],[102.439079,32.120511],[102.439098,32.120258],[102.43912,32.120108],[102.439167,32.119792],[102.439214,32.119476],[102.439203,32.119166],[102.43915,32.118934],[102.439143,32.118904],[102.43906,32.118571],[102.439131,32.118197],[102.439203,32.117822],[102.439274,32.117596],[102.439345,32.11737],[102.439512,32.117156],[102.439726,32.117048],[102.43994,32.116941],[102.440285,32.116822],[102.44046,32.116807],[102.44069,32.116787],[102.441005,32.116822],[102.44132,32.116858],[102.44153,32.116767],[102.441741,32.116676],[102.442095,32.116399],[102.442449,32.116122],[102.442716,32.115989],[102.442984,32.115855],[102.443103,32.115849],[102.443258,32.115885],[102.443371,32.115944],[102.443555,32.115986],[102.443799,32.116039],[102.443948,32.116057],[102.444186,32.116093],[102.444388,32.116099],[102.444389,32.116099],[102.44439,32.1161],[102.444548,32.116176],[102.444691,32.116277],[102.444858,32.116456],[102.444983,32.116634],[102.445274,32.116842],[102.445595,32.117068],[102.445881,32.117202],[102.446166,32.117336],[102.446378,32.117479],[102.446589,32.117622],[102.446922,32.117842],[102.447166,32.117883],[102.447493,32.117836],[102.447707,32.117806],[102.448058,32.117812],[102.448415,32.117859],[102.448576,32.117854],[102.448837,32.117804],[102.448921,32.117788],[102.449147,32.117776],[102.449373,32.117764],[102.449783,32.117782],[102.450194,32.117824],[102.45058,32.117919],[102.450884,32.11802],[102.451005,32.118055],[102.45111,32.118086],[102.451264,32.118086],[102.451455,32.118032],[102.451669,32.117984],[102.451923,32.117786],[102.452177,32.117588],[102.45243,32.11739],[102.452567,32.117265],[102.45257,32.117248],[102.452597,32.117098],[102.452591,32.116872],[102.452591,32.116711],[102.45265,32.116503],[102.452817,32.116283],[102.452984,32.116063],[102.453177,32.11587],[102.45337,32.115676],[102.453715,32.115522],[102.453938,32.115438],[102.454161,32.115355],[102.454322,32.115273],[102.454646,32.115106],[102.45497,32.114939],[102.455318,32.114745],[102.455666,32.114552],[102.45597,32.114362],[102.456136,32.1141],[102.456184,32.11388],[102.456184,32.113851],[102.456184,32.113648],[102.456184,32.113422],[102.456285,32.113148],[102.456422,32.112976],[102.45669,32.112809],[102.457076,32.112583],[102.457317,32.112321],[102.457558,32.11206],[102.45778,32.111802],[102.457927,32.111631],[102.458147,32.111334],[102.458367,32.111036],[102.458617,32.110665],[102.458867,32.110293],[102.459049,32.110132],[102.459232,32.109972],[102.459421,32.109805],[102.45961,32.109638],[102.459848,32.109496],[102.460134,32.109436],[102.460425,32.109436],[102.460654,32.109484],[102.460883,32.109531],[102.460894,32.109532],[102.461199,32.109561],[102.461395,32.109555],[102.461657,32.109525],[102.461924,32.109454],[102.462109,32.109448],[102.462299,32.109448],[102.462466,32.109424],[102.462698,32.109335],[102.462765,32.109305],[102.463138,32.109139],[102.463271,32.109087],[102.463489,32.109002],[102.46384,32.108865],[102.464084,32.108818],[102.46434,32.108823],[102.464578,32.108853],[102.464708,32.108859],[102.464804,32.108859],[102.464917,32.108835],[102.465053,32.108764],[102.465143,32.108764],[102.465262,32.108794],[102.465375,32.108794],[102.465523,32.108758],[102.465624,32.108722],[102.465708,32.108705],[102.465845,32.108746],[102.465922,32.10877],[102.465981,32.10877],[102.466124,32.108764],[102.466285,32.108716],[102.466428,32.108716],[102.466573,32.108793],[102.466642,32.108829],[102.466856,32.108942],[102.466999,32.10902],[102.467141,32.109044],[102.467344,32.10902],[102.467516,32.108966],[102.467748,32.108806],[102.468046,32.108609],[102.468343,32.108413],[102.468605,32.108285],[102.468866,32.108157],[102.469146,32.107973],[102.469426,32.107788],[102.469673,32.10755],[102.469919,32.107313],[102.470065,32.107109],[102.470211,32.106906],[102.470401,32.10664],[102.470657,32.106301],[102.470734,32.106057],[102.470758,32.105843],[102.4708,32.10557],[102.470949,32.105367],[102.471127,32.105183],[102.471157,32.105064],[102.471109,32.104975],[102.470972,32.104862],[102.470889,32.104695],[102.470835,32.104261],[102.470762,32.103861],[102.470711,32.103583],[102.470687,32.10325],[102.470722,32.103053],[102.470865,32.102798],[102.471076,32.102542],[102.471288,32.102286],[102.471298,32.102262],[102.471472,32.101864],[102.471484,32.101709],[102.471389,32.101483],[102.471308,32.101221],[102.471228,32.100959],[102.470978,32.100686],[102.470835,32.100555],[102.470776,32.100329],[102.470865,32.100049],[102.471127,32.099782],[102.471347,32.099544],[102.471407,32.099341],[102.471347,32.099121],[102.47124,32.098919],[102.471189,32.098544],[102.471139,32.098169],[102.471118,32.098068],[102.471032,32.097652],[102.470984,32.097283],[102.470895,32.097134],[102.470788,32.097039],[102.470454,32.096894],[102.470294,32.096825],[102.470104,32.096801],[102.469967,32.096658],[102.469878,32.096462],[102.469717,32.096313],[102.469551,32.09623],[102.469503,32.096177],[102.469557,32.095909],[102.469723,32.095582],[102.469907,32.095255],[102.469949,32.094969],[102.470044,32.094535],[102.470047,32.094237],[102.47005,32.09394],[102.470074,32.093559],[102.470145,32.093321],[102.470306,32.093125],[102.470592,32.092917],[102.470818,32.092679],[102.470978,32.092441],[102.471112,32.092248],[102.471246,32.092054],[102.471418,32.091923],[102.471627,32.091864],[102.471918,32.091804],[102.472275,32.091715],[102.472558,32.091632],[102.47284,32.091549],[102.473251,32.091507],[102.47357,32.091545],[102.473602,32.091549],[102.473923,32.091644],[102.474232,32.091679],[102.47444,32.091632],[102.474666,32.091549],[102.474892,32.091465],[102.475038,32.091423],[102.475297,32.091346],[102.475678,32.091264],[102.476059,32.091181],[102.47627,32.091146],[102.476527,32.091104],[102.476784,32.091062],[102.477042,32.09102],[102.477299,32.090978],[102.477556,32.090935],[102.477813,32.090893],[102.478068,32.090861],[102.478322,32.090829],[102.478576,32.090797],[102.478831,32.090765],[102.478955,32.090749],[102.479217,32.090722],[102.479342,32.0907],[102.479565,32.090666],[102.479787,32.090632],[102.480011,32.090597],[102.480235,32.090562],[102.48028,32.090548],[102.480692,32.09049],[102.480918,32.090377],[102.481079,32.090264],[102.481281,32.090103],[102.481286,32.090095],[102.481466,32.089818],[102.48162,32.08949],[102.481727,32.089086],[102.481727,32.088664],[102.48167,32.088362],[102.481612,32.088061],[102.481555,32.087759],[102.481534,32.087521],[102.481513,32.087283],[102.481427,32.086888],[102.481341,32.086492],[102.481258,32.086195],[102.481228,32.085868],[102.481311,32.08557],[102.481377,32.085291],[102.481347,32.085071],[102.481258,32.084761],[102.481269,32.084422],[102.481335,32.084143],[102.4814,32.083863],[102.48142,32.083796],[102.481466,32.083637],[102.481531,32.08353],[102.481799,32.083334],[102.482004,32.083078],[102.482209,32.082822],[102.482299,32.082513],[102.482275,32.082239],[102.482215,32.082049],[102.482074,32.081797],[102.481936,32.081549],[102.481846,32.081323],[102.481846,32.081198],[102.481874,32.081151],[102.481962,32.081005],[102.482078,32.080811],[102.4822,32.080558],[102.482322,32.080306],[102.482326,32.080293],[102.482375,32.080123],[102.482494,32.079708],[102.482614,32.079294],[102.482706,32.079071],[102.482798,32.078848],[102.482887,32.078598],[102.482852,32.078491],[102.482673,32.078322],[102.482495,32.078152],[102.482435,32.077974],[102.482423,32.077831],[102.482402,32.077813],[102.482334,32.07776],[102.482186,32.0777],[102.48209,32.077545],[102.482078,32.077266],[102.482144,32.07698],[102.482293,32.076719],[102.482385,32.076501],[102.482477,32.076284],[102.482534,32.076061],[102.48259,32.075838],[102.482653,32.075505],[102.482717,32.075172],[102.48278,32.074839],[102.482864,32.074482],[102.482965,32.074381],[102.482995,32.07438],[102.483185,32.074375],[102.48334,32.074375],[102.483589,32.074321],[102.483893,32.074259],[102.484196,32.074196],[102.484473,32.074134],[102.484749,32.074071],[102.485008,32.074083],[102.485267,32.074095],[102.485618,32.074149],[102.485903,32.074149],[102.486141,32.074122],[102.486379,32.074095],[102.486748,32.074006],[102.486992,32.074006],[102.487236,32.074006],[102.487253,32.074005],[102.487462,32.073988],[102.487587,32.073905],[102.487759,32.073804],[102.488063,32.07375],[102.488206,32.073679],[102.488366,32.073542],[102.488527,32.073441],[102.48886,32.07334],[102.48892,32.07332],[102.489163,32.073239],[102.489247,32.073209],[102.489258,32.07309],[102.489223,32.0729],[102.489092,32.072566],[102.488967,32.072364],[102.488759,32.072227],[102.488551,32.072091],[102.488313,32.071948],[102.488152,32.071805],[102.487938,32.071466],[102.48777,32.071215],[102.487602,32.070964],[102.487444,32.070728],[102.487349,32.070496],[102.487284,32.070223],[102.487278,32.069901],[102.487236,32.06964],[102.4872,32.069483],[102.487176,32.069378],[102.487218,32.069125],[102.48726,32.068872],[102.487397,32.068539],[102.487391,32.06839],[102.487343,32.068331],[102.487176,32.068254],[102.487016,32.068075],[102.486861,32.06779],[102.486706,32.067564],[102.486588,32.067355],[102.486528,32.06704],[102.486514,32.066731],[102.4865,32.066421],[102.486486,32.066112],[102.486466,32.065877],[102.486445,32.065642],[102.486428,32.065553],[102.486391,32.065357],[102.48634,32.065302],[102.486147,32.065095],[102.486108,32.065035],[102.485952,32.064794],[102.485796,32.064554],[102.485668,32.064325],[102.485541,32.064096],[102.485416,32.063786],[102.485332,32.063423],[102.485286,32.063325],[102.485231,32.063209],[102.485255,32.062953],[102.485368,32.062775],[102.485606,32.062555],[102.48571,32.062353],[102.485814,32.06215],[102.48584,32.062081],[102.485963,32.061752],[102.486096,32.061472],[102.486229,32.061193],[102.486361,32.060913],[102.486546,32.060702],[102.48673,32.060491],[102.486828,32.06028],[102.486927,32.060068],[102.487006,32.059775],[102.487085,32.059481],[102.487165,32.059188],[102.48722,32.058883],[102.487276,32.058577],[102.487331,32.058272],[102.487329,32.058243],[102.487301,32.057897],[102.48748,32.057582],[102.487692,32.057354],[102.487724,32.05732],[102.487843,32.056969],[102.487843,32.056808],[102.487799,32.056725],[102.487789,32.056707],[102.487694,32.056606],[102.487587,32.056523],[102.487456,32.056422],[102.487414,32.056124],[102.487527,32.055714],[102.487611,32.055303],[102.487543,32.05496],[102.487476,32.054617],[102.487408,32.054274],[102.487285,32.053935],[102.487266,32.053882],[102.487123,32.053507],[102.487004,32.053293],[102.486712,32.053001],[102.486546,32.052757],[102.486414,32.052368],[102.486281,32.05198],[102.486254,32.051901],[102.486131,32.05156],[102.486058,32.05136],[102.485933,32.051116],[102.48579,32.051014],[102.485592,32.050953],[102.485523,32.050931],[102.485112,32.050901],[102.484714,32.050842],[102.484428,32.050782],[102.484083,32.050658],[102.483821,32.050497],[102.483598,32.050274],[102.483375,32.050051],[102.483232,32.049777],[102.483195,32.049647],[102.483143,32.049468],[102.483066,32.04923],[102.482917,32.049123],[102.482483,32.049016],[102.482132,32.048921],[102.481727,32.048808],[102.481341,32.048766],[102.481088,32.048775],[102.480835,32.048784],[102.480556,32.048927],[102.480276,32.049069],[102.479901,32.049218],[102.479526,32.049367],[102.479114,32.049439],[102.478702,32.049511],[102.47861,32.049527],[102.478313,32.049581],[102.478016,32.049634],[102.477718,32.049688],[102.477337,32.049819],[102.476957,32.04995],[102.476788,32.050007],[102.476399,32.050139],[102.476011,32.050271],[102.475776,32.050292],[102.475541,32.050313],[102.475309,32.050271],[102.475184,32.050081],[102.475092,32.04981],[102.475,32.049539],[102.474863,32.049272],[102.474512,32.049031],[102.474161,32.04879],[102.473843,32.048587],[102.473524,32.048385],[102.47326,32.048347],[102.472995,32.048308],[102.472791,32.048354],[102.472578,32.048403],[102.472305,32.048427],[102.472108,32.04832],[102.471954,32.048135],[102.47165,32.048082],[102.471362,32.048028],[102.471073,32.047975],[102.470713,32.047877],[102.470352,32.04778],[102.470351,32.047779],[102.470348,32.047778],[102.470003,32.047731],[102.469741,32.047776],[102.469729,32.047778],[102.469336,32.047874],[102.469051,32.047862],[102.468876,32.04777],[102.468813,32.047737],[102.468521,32.047653],[102.468284,32.047662],[102.468046,32.047671],[102.46763,32.047689],[102.467423,32.047697],[102.467215,32.047706],[102.467046,32.047713],[102.466624,32.047814],[102.466201,32.047915],[102.465955,32.047966],[102.465708,32.048016],[102.465309,32.04801],[102.465095,32.047933],[102.465006,32.047683],[102.46492,32.047433],[102.464833,32.047184],[102.464732,32.046934],[102.464716,32.046821],[102.464696,32.046684],[102.464685,32.046297],[102.464631,32.04603],[102.464512,32.04575],[102.464429,32.045518],[102.464203,32.045357],[102.464084,32.045316],[102.463929,32.045203],[102.463893,32.04509],[102.463905,32.044822],[102.463923,32.044542],[102.463998,32.044218],[102.464072,32.043894],[102.464213,32.04361],[102.464354,32.043325],[102.464548,32.042936],[102.464619,32.04274],[102.464613,32.042555],[102.464566,32.042139],[102.464566,32.041895],[102.464662,32.041631],[102.464759,32.041367],[102.46481,32.041229],[102.464829,32.041092],[102.464866,32.040836],[102.464923,32.040444],[102.464923,32.040164],[102.464869,32.040015],[102.464661,32.039789],[102.464542,32.039581],[102.464471,32.039378],[102.464346,32.039016],[102.464232,32.038784],[102.464119,32.038552],[102.46392,32.038287],[102.463721,32.038023],[102.463435,32.037823],[102.46315,32.037624],[102.462918,32.037517],[102.462698,32.037481],[102.462293,32.03744],[102.462004,32.037359],[102.461714,32.037278],[102.461424,32.037197],[102.461335,32.037172],[102.461252,32.037101],[102.461205,32.036988],[102.461205,32.036756],[102.461222,32.036345],[102.46127,32.035911],[102.461336,32.035666],[102.461401,32.03542],[102.461461,32.035199],[102.46152,32.034977],[102.461588,32.034751],[102.461657,32.034525],[102.461829,32.03415],[102.461972,32.033817],[102.462049,32.033606],[102.462127,32.033395],[102.462174,32.033067],[102.462189,32.032728],[102.462204,32.032389],[102.46224,32.03213],[102.462275,32.031872],[102.462301,32.031707],[102.462341,32.031443],[102.462335,32.031057],[102.462263,32.030747],[102.462148,32.03036],[102.462145,32.030349],[102.462133,32.030269],[102.462109,32.030099],[102.462109,32.029754],[102.462159,32.029507],[102.46221,32.02926],[102.46229,32.028847],[102.462371,32.028433],[102.462375,32.028422],[102.46248,32.028163],[102.462585,32.027904],[102.462668,32.027636],[102.462751,32.027369],[102.462888,32.026958],[102.462906,32.026595],[102.462823,32.026185],[102.462722,32.025956],[102.46262,32.025727],[102.462583,32.025671],[102.462382,32.025376],[102.462281,32.025174],[102.462216,32.02484],[102.462134,32.024578],[102.462133,32.024573],[102.46199,32.024287],[102.46193,32.024085],[102.461883,32.023651],[102.461895,32.023288],[102.461907,32.022925],[102.461918,32.022562],[102.461901,32.022125],[102.461883,32.021688],[102.461901,32.021509],[102.462002,32.021206],[102.462186,32.020929],[102.462371,32.020653],[102.46254,32.020373],[102.46271,32.020093],[102.462775,32.019817],[102.46284,32.01954],[102.46284,32.019261],[102.46284,32.01907],[102.462811,32.01888],[102.462789,32.018757],[102.462757,32.018582],[102.462762,32.018448],[102.462769,32.018249],[102.462835,32.018017],[102.463061,32.017654],[102.463376,32.017351],[102.463554,32.01719],[102.463673,32.016982],[102.463792,32.016774],[102.463956,32.016373],[102.464119,32.015971],[102.46425,32.015549],[102.464346,32.015186],[102.464476,32.014912],[102.464661,32.014731],[102.464845,32.014549],[102.465056,32.014412],[102.465268,32.014276],[102.46556,32.014089],[102.465595,32.014067],[102.465865,32.013874],[102.466136,32.013681],[102.466359,32.013511],[102.466582,32.013342],[102.466787,32.013111],[102.466992,32.01288],[102.467046,32.012818],[102.467281,32.012628],[102.467516,32.012437],[102.467825,32.012295],[102.468075,32.012223],[102.468361,32.012188],[102.468593,32.012176],[102.468872,32.01217],[102.469086,32.012159],[102.469223,32.012152],[102.469551,32.012146],[102.469786,32.01214],[102.470021,32.012134],[102.470383,32.01211],[102.470675,32.012051],[102.470731,32.012023],[102.470894,32.012023],[102.47116,32.012023],[102.471425,32.012023],[102.471691,32.012023],[102.471957,32.012023],[102.472216,32.012044],[102.472475,32.012065],[102.472828,32.012093],[102.4729,32.012194],[102.473191,32.012408],[102.473495,32.01255],[102.473721,32.012616],[102.473911,32.012652],[102.474114,32.012679],[102.474345,32.012711],[102.474601,32.012705],[102.474857,32.012699],[102.475267,32.012738],[102.475678,32.012777],[102.475957,32.01283],[102.476267,32.012913],[102.476484,32.013023],[102.476701,32.013133],[102.477022,32.013336],[102.477343,32.013538],[102.477599,32.013693],[102.477813,32.013728],[102.478027,32.013728],[102.478146,32.013707],[102.47842,32.013657],[102.478652,32.013669],[102.478884,32.013681],[102.479315,32.013731],[102.479747,32.013782],[102.47991,32.013826],[102.480121,32.013883],[102.480389,32.013978],[102.480508,32.014067],[102.480835,32.014311],[102.481017,32.014484],[102.481198,32.014656],[102.481356,32.015031],[102.481513,32.015406],[102.481594,32.01562],[102.481674,32.015834],[102.481799,32.015947],[102.4819,32.015977],[102.482129,32.015992],[102.482358,32.016007],[102.482679,32.016102],[102.482923,32.016292],[102.483081,32.016497],[102.483238,32.016703],[102.483417,32.016887],[102.483631,32.016994],[102.483728,32.017044],[102.484107,32.017238],[102.484367,32.017418],[102.484626,32.017599],[102.484886,32.017779],[102.485005,32.017886],[102.485048,32.018017],[102.485094,32.01816],[102.48512,32.018351],[102.48513,32.018428],[102.485172,32.018612],[102.485332,32.01882],[102.485535,32.018969],[102.485701,32.019124],[102.48588,32.019272],[102.486106,32.019493],[102.486201,32.019733],[102.486296,32.019974],[102.486397,32.020212],[102.486516,32.020278],[102.48673,32.020272],[102.487031,32.020201],[102.487057,32.020195],[102.487474,32.020064],[102.487721,32.020001],[102.487968,32.019939],[102.488125,32.01991],[102.488265,32.019885],[102.488568,32.019873],[102.488997,32.019861],[102.48933,32.019784],[102.489606,32.019725],[102.489883,32.019665],[102.490157,32.019677],[102.490466,32.019713],[102.490769,32.01979],[102.49096,32.019963],[102.491156,32.020189],[102.491329,32.020313],[102.491518,32.020342],[102.491601,32.020309],[102.491864,32.020172],[102.492024,32.02009],[102.492298,32.01983],[102.492572,32.01957],[102.49278,32.019374],[102.492887,32.019207],[102.492935,32.01888],[102.492982,32.018612],[102.493101,32.01844],[102.493279,32.018228],[102.493457,32.018017],[102.493714,32.017798],[102.493952,32.017646],[102.494076,32.017403],[102.494116,32.017132],[102.494157,32.016861],[102.494177,32.016754],[102.494237,32.016439],[102.494297,32.016124],[102.494356,32.015809],[102.494395,32.015495],[102.494433,32.015181],[102.494514,32.014781],[102.494656,32.014546],[102.49468,32.014505],[102.494851,32.01421],[102.494951,32.013994],[102.495051,32.013777],[102.495106,32.013511],[102.495161,32.013244],[102.495227,32.013144],[102.495342,32.013073],[102.495508,32.013054],[102.495756,32.01303],[102.496151,32.013035],[102.49648,32.013058],[102.49681,32.013082],[102.49714,32.013105],[102.49715,32.013106],[102.49755,32.013144],[102.497802,32.013144],[102.498054,32.013144],[102.498368,32.01312],[102.498604,32.013063],[102.498839,32.013006],[102.499015,32.012973],[102.499187,32.012901],[102.499253,32.012873],[102.499501,32.012768],[102.499715,32.012659],[102.499972,32.012535],[102.50017,32.012468],[102.500252,32.012417],[102.500282,32.012416],[102.500405,32.012412],[102.50071,32.012401],[102.500916,32.012393],[102.501128,32.012416],[102.501304,32.012449],[102.501604,32.012459],[102.501833,32.012459],[102.50218,32.012445],[102.502399,32.012445],[102.502811,32.012411],[102.502923,32.012402],[102.502965,32.012397],[102.50321,32.012368],[102.503456,32.01234],[102.503853,32.012371],[102.50425,32.012402],[102.504488,32.012452],[102.504726,32.012502],[102.505031,32.012583],[102.505353,32.012752],[102.505383,32.012768],[102.505599,32.012866],[102.505816,32.012963],[102.50604,32.013049],[102.506411,32.013168],[102.506539,32.013168],[102.506701,32.013163],[102.506982,32.013173],[102.507139,32.013201],[102.507286,32.01322],[102.507439,32.013206],[102.507639,32.013182],[102.507877,32.013135],[102.508057,32.013063],[102.508262,32.012987],[102.508476,32.012954],[102.508733,32.012835],[102.508897,32.012652],[102.509062,32.012468],[102.509204,32.012188],[102.509209,32.012182],[102.509317,32.012058],[102.509364,32.012004],[102.509518,32.011826],[102.509699,32.011636],[102.509999,32.011469],[102.510242,32.011345],[102.510656,32.011226],[102.510965,32.011169],[102.511023,32.011159],[102.511246,32.011122],[102.511484,32.01106],[102.511727,32.01096],[102.511879,32.010798],[102.512045,32.01056],[102.512212,32.010322],[102.512421,32.009932],[102.512476,32.009607],[102.512548,32.009182],[102.512574,32.009032],[102.512672,32.008607],[102.51277,32.008182],[102.512869,32.007757],[102.512954,32.007459],[102.51304,32.00716],[102.513073,32.007043],[102.513133,32.006887],[102.513273,32.00652],[102.513392,32.006334],[102.513559,32.00613],[102.513825,32.005887],[102.514032,32.005765],[102.514239,32.005644],[102.514522,32.005542],[102.514806,32.005439],[102.515116,32.005365],[102.515427,32.00529],[102.515738,32.005216],[102.516143,32.005087],[102.516305,32.004992],[102.516419,32.00483],[102.516471,32.004669],[102.516562,32.004388],[102.51669,32.004126],[102.516776,32.003998],[102.516966,32.003874],[102.517214,32.003783],[102.517461,32.003693],[102.517725,32.003614],[102.517989,32.003536],[102.518372,32.003419],[102.518475,32.003388],[102.518755,32.003346],[102.518823,32.003337],[102.518984,32.003317],[102.519217,32.003288],[102.519531,32.003246],[102.519798,32.003165],[102.520107,32.003027],[102.520416,32.002889],[102.520591,32.002823],[102.520695,32.002825],[102.520852,32.002876],[102.521159,32.003103],[102.52152,32.003322],[102.521735,32.00355],[102.521949,32.003779],[102.522156,32.0041],[102.522363,32.004421],[102.52251,32.004531],[102.522682,32.004573],[102.522829,32.00455],[102.523072,32.004404],[102.523314,32.004259],[102.52369,32.004102],[102.523857,32.004026],[102.524123,32.003905],[102.52439,32.003783],[102.524623,32.003726],[102.524842,32.003726],[102.525042,32.00375],[102.525184,32.00375],[102.525204,32.00375],[102.525446,32.003702],[102.525632,32.003688],[102.525827,32.00365],[102.525999,32.003526],[102.526169,32.003336],[102.526203,32.003298],[102.526355,32.00307],[102.526562,32.002979],[102.526769,32.002889],[102.527105,32.002774],[102.52744,32.00266],[102.527702,32.002525],[102.527964,32.002389],[102.528259,32.002318],[102.528568,32.002327],[102.528835,32.002408],[102.528876,32.002424],[102.529025,32.002479],[102.529173,32.002465],[102.529252,32.002448],[102.52933,32.002432],[102.529744,32.00227],[102.53009,32.0022],[102.530435,32.00213],[102.530781,32.002061],[102.530981,32.00197],[102.531072,32.00191],[102.531134,32.001892],[102.531316,32.001732],[102.531497,32.001572],[102.531648,32.001341],[102.531798,32.001111],[102.531902,32.000852],[102.532006,32.000594],[102.532048,32.000199],[102.532066,32.000145],[102.532078,32.000111],[102.532206,31.999738],[102.5323,31.999466],[102.532468,31.999275],[102.532542,31.999191],[102.53269,31.998958],[102.532837,31.998725],[102.532924,31.998522],[102.533081,31.998203],[102.533237,31.997884],[102.533301,31.997792],[102.533508,31.997496],[102.533703,31.997131],[102.533898,31.996767],[102.533927,31.996712],[102.534115,31.996445],[102.534303,31.996179],[102.534561,31.995885],[102.53482,31.995592],[102.535079,31.995298],[102.535233,31.995103],[102.535388,31.994908],[102.535631,31.994727],[102.535907,31.994556],[102.53613,31.994423],[102.53624,31.994242],[102.536368,31.99408],[102.536613,31.993928],[102.536858,31.993775],[102.537089,31.99364],[102.53732,31.993504],[102.537482,31.993385],[102.537591,31.993242],[102.537739,31.992966],[102.537905,31.992778],[102.538072,31.99259],[102.538286,31.992352],[102.538538,31.992224],[102.538881,31.992134],[102.539205,31.992086],[102.539492,31.992119],[102.53958,31.992129],[102.539757,31.992076],[102.54,31.991885],[102.540236,31.991772],[102.540488,31.991652],[102.54079,31.991358],[102.540822,31.991286],[102.540972,31.991086],[102.541122,31.990887],[102.541259,31.990675],[102.541346,31.990539],[102.541422,31.990289],[102.541498,31.99004],[102.541475,31.989816],[102.541379,31.989488],[102.541275,31.989169],[102.54127,31.98901],[102.541265,31.988817],[102.541265,31.988436],[102.541229,31.9882],[102.541203,31.988036],[102.541084,31.987698],[102.541075,31.987384],[102.541102,31.987018],[102.541113,31.98687],[102.54116,31.986487],[102.541208,31.986104],[102.541346,31.985766],[102.541407,31.985669],[102.541603,31.985356],[102.541798,31.985043],[102.542027,31.984757],[102.542317,31.9845],[102.542612,31.984291],[102.542671,31.984264],[102.54305,31.984091],[102.54334,31.983905],[102.543445,31.983767],[102.543554,31.983496],[102.543641,31.983306],[102.543697,31.983182],[102.543949,31.982887],[102.544172,31.982561],[102.544396,31.982236],[102.544416,31.982206],[102.544525,31.981949],[102.544544,31.981745],[102.544525,31.981671],[102.544416,31.981255],[102.544392,31.981002],[102.544368,31.98075],[102.544344,31.980455],[102.544388,31.980269],[102.544463,31.979951],[102.544554,31.979646],[102.544638,31.979539],[102.544696,31.979465],[102.544925,31.979303],[102.545106,31.978999],[102.545286,31.978694],[102.545467,31.97839],[102.545645,31.978088],[102.545823,31.977787],[102.546,31.977486],[102.546272,31.977157],[102.546483,31.976998],[102.546695,31.976838],[102.546969,31.976608],[102.547242,31.976377],[102.547388,31.976174],[102.547533,31.975972],[102.547656,31.975696],[102.547837,31.975506],[102.54791,31.975445],[102.548004,31.975368],[102.548133,31.975294],[102.548204,31.975254],[102.548537,31.975063],[102.548727,31.97493],[102.548778,31.974838],[102.548924,31.974577],[102.54907,31.974316],[102.549148,31.9741],[102.549227,31.973883],[102.549255,31.973583],[102.54926,31.973379],[102.549312,31.973079],[102.549293,31.972879],[102.549232,31.972746],[102.549241,31.972679],[102.549251,31.97261],[102.54926,31.972551],[102.549379,31.972289],[102.549591,31.972058],[102.549803,31.971827],[102.549824,31.97181],[102.550058,31.97162],[102.550292,31.971431],[102.550526,31.971242],[102.550712,31.97108],[102.550921,31.971013],[102.551161,31.970992],[102.551402,31.970971],[102.551728,31.970928],[102.552054,31.970886],[102.552274,31.970902],[102.552522,31.970957],[102.55277,31.971012],[102.552974,31.971042],[102.553349,31.971067],[102.553473,31.971075],[102.553708,31.97108],[102.553906,31.971042],[102.553944,31.971034],[102.554239,31.97099],[102.55448,31.97077],[102.554647,31.97056],[102.554814,31.97035],[102.554865,31.970094],[102.554916,31.969839],[102.554967,31.969584],[102.555018,31.969329],[102.555087,31.96893],[102.555157,31.968532],[102.555177,31.968414],[102.555152,31.968396],[102.555152,31.968272],[102.55519,31.968063],[102.555342,31.967682],[102.55549,31.96748],[102.55568,31.967221],[102.555801,31.96698],[102.55585,31.966884],[102.555923,31.96674],[102.556094,31.966378],[102.556265,31.966017],[102.556465,31.965679],[102.556665,31.965341],[102.556941,31.965044],[102.557217,31.964748],[102.557493,31.964451],[102.557636,31.964156],[102.557677,31.96402],[102.557717,31.963889],[102.557707,31.963761],[102.557674,31.963666],[102.557674,31.963504],[102.557726,31.963318],[102.557883,31.963204],[102.557976,31.963092],[102.557977,31.963091],[102.557978,31.96309],[102.558088,31.962811],[102.558197,31.962533],[102.558388,31.962167],[102.558526,31.962024],[102.558707,31.961957],[102.558849,31.961924],[102.559173,31.961795],[102.559492,31.961505],[102.559677,31.961391],[102.559834,31.961315],[102.559944,31.961243],[102.560006,31.961058],[102.56022,31.960668],[102.560467,31.96048],[102.560715,31.960292],[102.560973,31.960092],[102.561232,31.959892],[102.561491,31.959692],[102.561769,31.959487],[102.562047,31.959283],[102.562404,31.959149],[102.562695,31.959059],[102.562789,31.959033],[102.56319,31.958921],[102.563494,31.958821],[102.563799,31.958721],[102.564127,31.958588],[102.564351,31.958478],[102.564631,31.958355],[102.564974,31.95824],[102.565191,31.958089],[102.565413,31.957934],[102.565636,31.957779],[102.56584,31.957565],[102.566045,31.957351],[102.566207,31.957279],[102.566478,31.957236],[102.566811,31.957184],[102.567054,31.957113],[102.56733,31.956908],[102.567615,31.95657],[102.567644,31.956513],[102.567801,31.956206],[102.567986,31.955842],[102.568245,31.955499],[102.568504,31.955157],[102.568762,31.954814],[102.568843,31.954586],[102.568924,31.954357],[102.569005,31.954067],[102.569042,31.953958],[102.569043,31.953956],[102.569044,31.953954],[102.569133,31.953691],[102.5694,31.953477],[102.569666,31.953263],[102.570004,31.952977],[102.570095,31.952806],[102.570102,31.952758],[102.570147,31.952482],[102.570143,31.952378],[102.570142,31.952328],[102.570138,31.952211],[102.570118,31.951949],[102.570044,31.951767],[102.569985,31.951626],[102.569961,31.951473],[102.56998,31.951078],[102.569957,31.950907],[102.569933,31.950764],[102.569831,31.950438],[102.569728,31.950112],[102.569676,31.94995],[102.569671,31.949822],[102.569764,31.949426],[102.569771,31.949398],[102.569807,31.949207],[102.569877,31.948836],[102.569947,31.948466],[102.569949,31.948447],[102.569984,31.948152],[102.570019,31.947857],[102.569966,31.947614],[102.569857,31.947364],[102.569747,31.947114],[102.569552,31.946767],[102.569357,31.946419],[102.569176,31.94601],[102.568951,31.945814],[102.568881,31.945753],[102.568641,31.945429],[102.568401,31.945106],[102.568348,31.945015],[102.568353,31.944873],[102.56844,31.94469],[102.568448,31.944673],[102.568619,31.944461],[102.568853,31.944116],[102.568967,31.943921],[102.569019,31.94374],[102.569019,31.943521],[102.569014,31.943326],[102.569008,31.943255],[102.569,31.943169],[102.568953,31.942988],[102.568748,31.94265],[102.56861,31.942469],[102.568472,31.942289],[102.568433,31.942222],[102.568324,31.942036],[102.568248,31.941894],[102.568239,31.941722],[102.568327,31.941491],[102.568415,31.941261],[102.568581,31.941061],[102.568748,31.940861],[102.568881,31.940661],[102.569088,31.940547],[102.569295,31.940433],[102.569533,31.940349],[102.569771,31.940266],[102.570045,31.940111],[102.570318,31.939957],[102.570635,31.939835],[102.570951,31.939714],[102.571364,31.939575],[102.571475,31.939538],[102.57151,31.939521],[102.57166,31.939448],[102.571822,31.939338],[102.572122,31.939219],[102.572408,31.939024],[102.572669,31.938743],[102.572812,31.9386],[102.572991,31.938434],[102.573169,31.938267],[102.573469,31.938063],[102.573564,31.937863],[102.573616,31.93772],[102.573792,31.937539],[102.573968,31.937358],[102.574264,31.937039],[102.574471,31.936923],[102.574678,31.936806],[102.574835,31.936697],[102.575101,31.936378],[102.575258,31.936097],[102.575415,31.935816],[102.575517,31.935571],[102.57562,31.935326],[102.575824,31.935117],[102.576029,31.934907],[102.576086,31.934855],[102.576224,31.934855],[102.576383,31.934901],[102.576438,31.934917],[102.576741,31.935012],[102.577043,31.935107],[102.5774,31.935184],[102.577718,31.935248],[102.578037,31.935312],[102.578375,31.935382],[102.578404,31.935388],[102.578749,31.935541],[102.578832,31.935578],[102.579155,31.935756],[102.579477,31.935934],[102.57987,31.93615],[102.580117,31.936307],[102.580226,31.936326],[102.580273,31.936332],[102.580522,31.936364],[102.580916,31.936554],[102.581083,31.936678],[102.581335,31.936854],[102.581464,31.936921],[102.581539,31.936965],[102.581616,31.937011],[102.581726,31.93712],[102.581992,31.937468],[102.58226,31.937698],[102.582464,31.937873],[102.582668,31.938048],[102.582801,31.938144],[102.582872,31.938191],[102.583006,31.938224],[102.583313,31.938255],[102.58362,31.938286],[102.58386,31.938292],[102.584257,31.938301],[102.584424,31.938305],[102.584866,31.938329],[102.5852,31.938415],[102.585418,31.938522],[102.58549,31.938558],[102.585723,31.93871],[102.585885,31.938891],[102.585978,31.939098],[102.58607,31.939305],[102.586156,31.939462],[102.586204,31.939557],[102.586461,31.939823],[102.58668,31.940066],[102.586898,31.940309],[102.587015,31.94042],[102.587094,31.940494],[102.587289,31.94068],[102.587357,31.940712],[102.587736,31.940889],[102.587836,31.941008],[102.587964,31.941323],[102.587991,31.941376],[102.588074,31.941537],[102.588088,31.941565],[102.588245,31.941922],[102.588383,31.942217],[102.588583,31.942389],[102.58875,31.94246],[102.588767,31.942472],[102.588814,31.942505],[102.588956,31.942604],[102.589145,31.942736],[102.58925,31.942782],[102.589354,31.942826],[102.589506,31.942941],[102.589835,31.943212],[102.5899,31.943249],[102.590268,31.943459],[102.590415,31.943688],[102.590658,31.943983],[102.590798,31.944187],[102.590939,31.944392],[102.591172,31.944613],[102.591405,31.944835],[102.59152,31.945066],[102.59173,31.945392],[102.591912,31.945564],[102.592095,31.945737],[102.592278,31.945909],[102.59246,31.946081],[102.592643,31.946253],[102.592826,31.946426],[102.592914,31.946509],[102.592914,31.946509],[102.593008,31.946598],[102.593191,31.94677],[102.593374,31.946942],[102.593556,31.947114],[102.593726,31.947282],[102.593895,31.94745],[102.594064,31.947618],[102.594234,31.947786],[102.594403,31.947954],[102.594572,31.948122],[102.594742,31.94829],[102.594911,31.948458],[102.59508,31.948626],[102.59525,31.948794],[102.595419,31.948962],[102.595589,31.94913],[102.595781,31.949312],[102.595973,31.949494],[102.596165,31.949676],[102.596357,31.949858],[102.596549,31.95004],[102.596741,31.950222],[102.596933,31.950404],[102.597125,31.950586],[102.597317,31.950768],[102.597509,31.95095],[102.597701,31.951132],[102.597874,31.951296],[102.597893,31.951314],[102.598091,31.95148],[102.598289,31.951646],[102.598487,31.951812],[102.598686,31.951979],[102.598884,31.952145],[102.599082,31.952311],[102.59928,31.952478],[102.599479,31.952644],[102.599677,31.95281],[102.599875,31.952976],[102.600183,31.953191],[102.600491,31.953405],[102.600798,31.953619],[102.601058,31.953732],[102.601161,31.953776],[102.601524,31.953933],[102.601933,31.954028],[102.602342,31.954123],[102.602737,31.954194],[102.603132,31.954264],[102.603468,31.954308],[102.603804,31.954352],[102.604233,31.954427],[102.604662,31.954502],[102.605091,31.954577],[102.605513,31.954727],[102.605935,31.954876],[102.606357,31.955026],[102.606463,31.955064],[102.606779,31.955176],[102.607201,31.955326],[102.607476,31.955369],[102.60775,31.955411],[102.608024,31.955454],[102.608298,31.955497],[102.608572,31.955539],[102.608846,31.955582],[102.60912,31.955624],[102.609394,31.955667],[102.609661,31.955682],[102.609928,31.955697],[102.610195,31.955712],[102.610462,31.955727],[102.610729,31.955742],[102.610996,31.955757],[102.611263,31.955772],[102.61153,31.955787],[102.611797,31.955802],[102.612064,31.955818],[102.612308,31.955817],[102.612551,31.955817],[102.612795,31.955816],[102.613039,31.955816],[102.613283,31.955815],[102.613526,31.955815],[102.61377,31.955814],[102.614014,31.955814],[102.614257,31.955813],[102.614501,31.955813],[102.614874,31.955828],[102.614921,31.95583],[102.615342,31.955846],[102.615762,31.955863],[102.61599,31.955864],[102.616217,31.955865],[102.616445,31.955866],[102.616672,31.955867],[102.6169,31.955868],[102.617128,31.955869],[102.617355,31.95587],[102.617518,31.955871],[102.617583,31.955871],[102.617812,31.955863],[102.618041,31.955855],[102.618271,31.955847],[102.6185,31.955839],[102.618729,31.955831],[102.618959,31.955823],[102.619354,31.955855],[102.61975,31.955888],[102.619976,31.955923],[102.620203,31.955958],[102.620429,31.955994],[102.620655,31.956029],[102.62105,31.9561],[102.621446,31.95617],[102.621815,31.956252],[102.622185,31.956334],[102.622397,31.956381],[102.622555,31.956416],[102.622963,31.956523],[102.623372,31.956631],[102.623733,31.956838],[102.624094,31.957045],[102.624281,31.957199],[102.624468,31.957352],[102.624655,31.957506],[102.624738,31.957574],[102.624843,31.957659],[102.625026,31.95779],[102.625209,31.957921],[102.625393,31.958051],[102.625576,31.958182],[102.625759,31.958313],[102.625943,31.958443],[102.626166,31.958603],[102.626285,31.958687],[102.626516,31.958817],[102.626748,31.958946],[102.626979,31.959075],[102.627211,31.959205],[102.627442,31.959334],[102.627674,31.959463],[102.62792,31.959587],[102.628054,31.959654],[102.628055,31.959654],[102.628167,31.95971],[102.628413,31.959834],[102.62866,31.959957],[102.628973,31.960066],[102.629038,31.960089],[102.629416,31.960221],[102.629826,31.960287],[102.630236,31.960353],[102.630645,31.960419],[102.630878,31.96045],[102.63111,31.960482],[102.631343,31.960514],[102.631575,31.960546],[102.631807,31.960577],[102.63204,31.960609],[102.632272,31.960641],[102.632505,31.960672],[102.632737,31.960704],[102.632969,31.960736],[102.633202,31.960767],[102.633356,31.960788],[102.633434,31.960799],[102.633694,31.960836],[102.633954,31.960873],[102.634214,31.960911],[102.634473,31.960948],[102.634733,31.960985],[102.634993,31.961022],[102.635309,31.961028],[102.635624,31.961034],[102.635773,31.961016],[102.635879,31.961002],[102.636133,31.96097],[102.636366,31.960921],[102.636508,31.960891],[102.636516,31.960889],[102.636549,31.960882],[102.6366,31.960872],[102.636644,31.960851],[102.636898,31.960734],[102.637132,31.960543],[102.637199,31.960489],[102.637373,31.960276],[102.637485,31.960096],[102.637508,31.960059],[102.637563,31.959971],[102.637653,31.959827],[102.637712,31.959732],[102.637753,31.959666],[102.637783,31.959617],[102.637814,31.959566],[102.637971,31.959373],[102.638072,31.95925],[102.638213,31.959079],[102.638293,31.958981],[102.63831,31.958961],[102.638331,31.958935],[102.638404,31.958845],[102.638579,31.958632],[102.63859,31.958619],[102.638606,31.958606],[102.638635,31.958582],[102.638805,31.958443],[102.639015,31.958272],[102.639226,31.9581],[102.639436,31.957928],[102.639647,31.957757],[102.63991,31.957601],[102.63995,31.957577],[102.64,31.957548],[102.640029,31.957531],[102.640172,31.957446],[102.640462,31.95713],[102.640659,31.956794],[102.640856,31.956457],[102.641015,31.956239],[102.641173,31.956022],[102.641189,31.955999],[102.641331,31.955805],[102.641489,31.955588],[102.641815,31.955348],[102.64214,31.955108],[102.642466,31.954868],[102.642623,31.9547],[102.642624,31.954699],[102.642626,31.954697],[102.64278,31.954533],[102.642937,31.954366],[102.643094,31.954199],[102.643323,31.953816],[102.643552,31.953433],[102.643782,31.95305],[102.643863,31.952803],[102.643945,31.952556],[102.644026,31.952309],[102.644108,31.952062],[102.64419,31.951815],[102.644271,31.951568],[102.64434,31.95136],[102.644353,31.951321],[102.644366,31.951281],[102.644435,31.951074],[102.644516,31.950827],[102.644574,31.950651],[102.644596,31.950585],[102.644597,31.950583],[102.644598,31.95058],[102.644656,31.950141],[102.644657,31.950109],[102.644657,31.950085],[102.644659,31.950031],[102.644662,31.949901],[102.644384,31.949696],[102.644109,31.94941],[102.643834,31.949125],[102.64356,31.948839],[102.643355,31.948574],[102.643151,31.94831],[102.643086,31.948078],[102.643021,31.947847],[102.642956,31.947615],[102.642892,31.947383],[102.64284,31.946942],[102.642789,31.9465],[102.642737,31.946058],[102.642709,31.945731],[102.642701,31.945644],[102.642689,31.945509],[102.642674,31.945334],[102.642665,31.945229],[102.642662,31.945195],[102.642662,31.945195],[102.642628,31.944814],[102.642671,31.944564],[102.642715,31.944314],[102.642758,31.944064],[102.642801,31.943813],[102.642844,31.943563],[102.642888,31.943313],[102.642928,31.943077],[102.642931,31.943062],[102.642974,31.942812],[102.643017,31.942562],[102.64306,31.942312],[102.643067,31.942178],[102.643077,31.941998],[102.643077,31.941989],[102.643083,31.941871],[102.643084,31.941869],[102.643084,31.941867],[102.643091,31.941725],[102.643107,31.941431],[102.643107,31.941431],[102.643107,31.941431],[102.643113,31.941304],[102.64313,31.940991],[102.643152,31.940562],[102.643153,31.940551],[102.643198,31.9404],[102.643203,31.940384],[102.643255,31.940212],[102.643282,31.940122],[102.643303,31.940055],[102.643307,31.94004],[102.643352,31.939892],[102.643357,31.939873],[102.643503,31.939696],[102.643649,31.939518],[102.643794,31.93934],[102.64394,31.939163],[102.644085,31.938985],[102.644231,31.938808],[102.644489,31.938505],[102.644748,31.938203],[102.645006,31.937901],[102.645269,31.937766],[102.645532,31.93763],[102.645633,31.937616],[102.645791,31.937595],[102.646051,31.937559],[102.646297,31.937579],[102.64639,31.937586],[102.646422,31.937589],[102.646502,31.937595],[102.646502,31.937595],[102.646502,31.937595],[102.646544,31.937598],[102.64679,31.937618],[102.647035,31.937637],[102.647035,31.937638],[102.647036,31.937638],[102.647202,31.937651],[102.647283,31.937657],[102.6473,31.937659],[102.647529,31.937677],[102.647761,31.937695],[102.647776,31.937696],[102.647876,31.937704],[102.648022,31.937716],[102.6482,31.937747],[102.648251,31.937756],[102.648481,31.937797],[102.648679,31.937831],[102.64871,31.937837],[102.648785,31.93785],[102.648842,31.93786],[102.648939,31.937877],[102.649024,31.937892],[102.649169,31.937918],[102.649398,31.937958],[102.649627,31.937998],[102.649857,31.938038],[102.650086,31.938079],[102.650315,31.938119],[102.65055,31.938163],[102.650784,31.938208],[102.651018,31.938252],[102.651252,31.938296],[102.651333,31.938306],[102.651608,31.938339],[102.65165,31.938344],[102.651663,31.938346],[102.651736,31.938354],[102.651918,31.938376],[102.652049,31.938392],[102.652378,31.938398],[102.652706,31.938404],[102.652789,31.938385],[102.653038,31.938331],[102.653163,31.938228],[102.653177,31.938217],[102.653224,31.938179],[102.65323,31.938174],[102.653257,31.938073],[102.653283,31.937973],[102.653195,31.937731],[102.653059,31.937509],[102.652924,31.937286],[102.652716,31.937132],[102.65257,31.937024],[102.652508,31.936978],[102.6523,31.936824],[102.652092,31.93667],[102.651893,31.93658],[102.65169,31.936489],[102.651288,31.936308],[102.650885,31.936127],[102.650667,31.936027],[102.650448,31.935926],[102.650229,31.935826],[102.650011,31.935726],[102.649792,31.935626],[102.649573,31.935525],[102.649355,31.935425],[102.649136,31.935325],[102.648917,31.935225],[102.648699,31.935124],[102.648325,31.935017],[102.647951,31.93491],[102.647769,31.934707],[102.647766,31.934695],[102.647751,31.934639],[102.647751,31.934637],[102.647727,31.934546],[102.647731,31.93439],[102.647732,31.934346],[102.647903,31.934183],[102.648075,31.93402],[102.648246,31.933857],[102.648418,31.933695],[102.648611,31.933518],[102.648803,31.933341],[102.648996,31.933164],[102.649189,31.932987],[102.64925,31.932888],[102.649256,31.93288],[102.649385,31.932671],[102.649581,31.932354],[102.649682,31.93219],[102.649777,31.932037],[102.649873,31.931882],[102.649948,31.93176],[102.65012,31.931483],[102.650199,31.931144],[102.650229,31.931016],[102.650279,31.930805],[102.650285,31.930534],[102.650292,31.930264],[102.650299,31.929994],[102.650306,31.929723],[102.650271,31.929282],[102.650232,31.928881],[102.650285,31.928661],[102.650338,31.928442],[102.650391,31.928222],[102.650444,31.928003],[102.65048,31.927753],[102.650515,31.927503],[102.650551,31.927254],[102.650587,31.927004],[102.650622,31.926754],[102.650658,31.926504],[102.650693,31.926255],[102.650729,31.926005],[102.650759,31.925605],[102.650788,31.925204],[102.650818,31.924804],[102.650852,31.924528],[102.650936,31.924391],[102.651128,31.924257],[102.651371,31.924239],[102.651642,31.924243],[102.651935,31.92441],[102.652228,31.924576],[102.652399,31.924737],[102.65257,31.924899],[102.652742,31.92506],[102.652913,31.925222],[102.653084,31.925383],[102.653255,31.925545],[102.653427,31.925706],[102.653598,31.925867],[102.653892,31.925989],[102.654042,31.926023],[102.654109,31.926038],[102.654158,31.926045],[102.654295,31.926064],[102.654486,31.926023],[102.654733,31.925842],[102.654874,31.925637],[102.655011,31.925439],[102.655015,31.925433],[102.655051,31.925363],[102.655086,31.925292],[102.655142,31.925182],[102.655269,31.924932],[102.655363,31.924496],[102.655316,31.924197],[102.655247,31.923956],[102.655246,31.923951],[102.655221,31.923862],[102.655179,31.923715],[102.65511,31.923475],[102.655042,31.923234],[102.654807,31.922855],[102.654699,31.92268],[102.654572,31.922475],[102.654464,31.922374],[102.65435,31.922266],[102.654127,31.922057],[102.654079,31.921902],[102.654028,31.921733],[102.654027,31.921726],[102.65401,31.921365],[102.654048,31.921294],[102.654083,31.92123],[102.654139,31.921125],[102.65416,31.921085],[102.654168,31.921071],[102.654181,31.921046],[102.654271,31.92091],[102.654405,31.920705],[102.654572,31.920547],[102.654789,31.920459],[102.655062,31.920395],[102.655318,31.920388],[102.655574,31.920382],[102.655822,31.920386],[102.655872,31.920387],[102.656144,31.920392],[102.656169,31.920392],[102.656505,31.920456],[102.656841,31.92052],[102.657163,31.920572],[102.657486,31.920624],[102.657863,31.920666],[102.65824,31.920707],[102.658523,31.920735],[102.658806,31.920763],[102.659144,31.92077],[102.659448,31.920776],[102.659481,31.920776],[102.659725,31.920734],[102.65981,31.920726],[102.660019,31.920704],[102.660312,31.920674],[102.66055,31.920502],[102.660787,31.92033],[102.66082,31.920282],[102.660829,31.920269],[102.660838,31.920255],[102.660922,31.920134],[102.661045,31.919955],[102.661057,31.919937],[102.661063,31.919903],[102.661082,31.919806],[102.661116,31.91963],[102.660812,31.919358],[102.660427,31.919197],[102.660043,31.919035],[102.659811,31.918942],[102.65958,31.918849],[102.659378,31.918668],[102.659175,31.918488],[102.659064,31.918243],[102.658954,31.917998],[102.658843,31.917753],[102.658732,31.917508],[102.658635,31.917142],[102.658554,31.916837],[102.658538,31.916777],[102.65853,31.916748],[102.65847,31.916521],[102.658402,31.916265],[102.658393,31.916167],[102.658393,31.916166],[102.658388,31.91611],[102.658385,31.916088],[102.658361,31.915823],[102.658063,31.915602],[102.658056,31.915596],[102.657746,31.915524],[102.657436,31.915452],[102.657178,31.915403],[102.656921,31.915354],[102.656663,31.915305],[102.656405,31.915256],[102.656097,31.915118],[102.65579,31.91498],[102.655546,31.914898],[102.655302,31.914817],[102.655058,31.914735],[102.654814,31.914653],[102.654584,31.914516],[102.654354,31.914379],[102.654287,31.914239],[102.654258,31.914177],[102.654248,31.914157],[102.654206,31.914067],[102.654109,31.9138],[102.654171,31.91336],[102.654237,31.913094],[102.654303,31.912827],[102.654487,31.912643],[102.654671,31.912458],[102.654855,31.912274],[102.655016,31.912113],[102.65504,31.912089],[102.655436,31.911926],[102.655832,31.911763],[102.656229,31.9116],[102.656625,31.911437],[102.656964,31.911266],[102.657304,31.911096],[102.657643,31.910925],[102.657871,31.910767],[102.658099,31.910609],[102.658247,31.910346],[102.658249,31.910232],[102.658254,31.909963],[102.658228,31.909668],[102.658113,31.909415],[102.657998,31.909162],[102.657744,31.908936],[102.657491,31.90871],[102.657173,31.908498],[102.656855,31.908286],[102.656538,31.908073],[102.656181,31.907816],[102.655873,31.907594],[102.655824,31.907558],[102.655742,31.907491],[102.655587,31.907363],[102.655349,31.907167],[102.655209,31.906939],[102.655184,31.906898],[102.655184,31.906887],[102.655192,31.906468],[102.655259,31.90624],[102.655325,31.906013],[102.655376,31.905838],[102.655392,31.905785],[102.655458,31.905557],[102.655577,31.905324],[102.655695,31.90509],[102.655813,31.904856],[102.655932,31.904622],[102.656093,31.904389],[102.656113,31.904361],[102.656255,31.904156],[102.656607,31.903928],[102.65686,31.903852],[102.657112,31.903775],[102.657365,31.903698],[102.657618,31.903622],[102.657857,31.903582],[102.658096,31.903542],[102.658335,31.903502],[102.658574,31.903462],[102.658813,31.903422],[102.659052,31.903382],[102.659291,31.903342],[102.659529,31.903302],[102.659946,31.903266],[102.660121,31.903251],[102.660293,31.903236],[102.660363,31.90323],[102.660675,31.903206],[102.66083,31.903195],[102.66087,31.903193],[102.66102,31.903183],[102.66116,31.903127],[102.661228,31.903072],[102.661267,31.90304],[102.661377,31.902806],[102.661383,31.902541],[102.661286,31.902302],[102.661099,31.902122],[102.660913,31.901942],[102.660807,31.90187],[102.660763,31.90184],[102.660699,31.901796],[102.660655,31.901767],[102.660626,31.901747],[102.660503,31.901663],[102.660484,31.901651],[102.66027,31.901505],[102.660056,31.90136],[102.659842,31.901215],[102.659627,31.901069],[102.659413,31.900924],[102.659199,31.900778],[102.658985,31.900633],[102.65877,31.900487],[102.658578,31.900331],[102.658386,31.900176],[102.658194,31.90002],[102.658002,31.899864],[102.65781,31.899708],[102.657618,31.899552],[102.657449,31.899372],[102.65728,31.899192],[102.657254,31.899078],[102.657221,31.89894],[102.657218,31.898925],[102.657156,31.898659],[102.657197,31.898394],[102.657239,31.898129],[102.657417,31.897911],[102.657595,31.897693],[102.657617,31.897685],[102.657784,31.897622],[102.657944,31.897562],[102.658294,31.897431],[102.658643,31.8973],[102.658896,31.897256],[102.659149,31.897213],[102.659403,31.897169],[102.659656,31.897125],[102.659909,31.897081],[102.66004,31.897058],[102.660162,31.897037],[102.660416,31.896993],[102.660669,31.89695],[102.660922,31.896906],[102.661175,31.896862],[102.661429,31.896818],[102.661682,31.896774],[102.661935,31.89673],[102.662164,31.896691],[102.662188,31.896687],[102.662561,31.896647],[102.662705,31.896632],[102.662868,31.896615],[102.662935,31.896608],[102.663308,31.896568],[102.663318,31.896565],[102.663656,31.896456],[102.664005,31.896344],[102.664165,31.896185],[102.664183,31.896166],[102.664238,31.896111],[102.664324,31.896025],[102.664329,31.895993],[102.664331,31.89598],[102.664334,31.895962],[102.664366,31.895761],[102.664358,31.89572],[102.664305,31.895436],[102.664101,31.895284],[102.663897,31.895133],[102.663687,31.895006],[102.663476,31.894879],[102.663266,31.894753],[102.663056,31.894626],[102.662845,31.894499],[102.662635,31.894372],[102.662425,31.894246],[102.662215,31.894119],[102.662004,31.893992],[102.661794,31.893866],[102.661584,31.893739],[102.661373,31.893612],[102.661161,31.893472],[102.660949,31.893332],[102.660737,31.893193],[102.660525,31.893053],[102.66022,31.892735],[102.66007,31.892526],[102.659919,31.892316],[102.659836,31.892166],[102.659821,31.892139],[102.659754,31.892019],[102.659749,31.891965],[102.659742,31.891889],[102.659727,31.891723],[102.659873,31.891431],[102.660242,31.891188],[102.660611,31.890944],[102.660874,31.890816],[102.661137,31.890689],[102.661331,31.890529],[102.661526,31.89037],[102.661774,31.890154],[102.662021,31.889937],[102.662165,31.889718],[102.662293,31.889523],[102.662309,31.889499],[102.66233,31.889458],[102.66234,31.889437],[102.662455,31.889207],[102.662601,31.888915],[102.662643,31.888842],[102.662697,31.888748],[102.662727,31.888696],[102.662813,31.888545],[102.662818,31.888536],[102.663067,31.888274],[102.663379,31.888222],[102.66363,31.888205],[102.663882,31.888187],[102.664133,31.88817],[102.664385,31.888152],[102.664614,31.88816],[102.664843,31.888168],[102.665072,31.888176],[102.665301,31.888184],[102.66553,31.888192],[102.665759,31.8882],[102.665988,31.888208],[102.666217,31.888216],[102.666587,31.888197],[102.666851,31.888184],[102.666958,31.888179],[102.667358,31.888098],[102.667708,31.888027],[102.667758,31.888017],[102.668177,31.887877],[102.668213,31.887848],[102.668495,31.887618],[102.668643,31.887238],[102.668645,31.887174],[102.668646,31.887125],[102.668648,31.887051],[102.668648,31.887043],[102.668653,31.886855],[102.668623,31.886794],[102.668488,31.886527],[102.668251,31.886346],[102.668013,31.886164],[102.667683,31.885991],[102.667352,31.885818],[102.667022,31.885645],[102.666762,31.885515],[102.666737,31.885503],[102.666714,31.885491],[102.666589,31.885358],[102.666546,31.885312],[102.666381,31.885013],[102.66627,31.884745],[102.666229,31.884646],[102.666076,31.88428],[102.665928,31.883922],[102.665924,31.883913],[102.66572,31.88364],[102.665672,31.883575],[102.665516,31.883368],[102.665331,31.883157],[102.665146,31.882947],[102.66501,31.882826],[102.664975,31.882636],[102.664963,31.882575],[102.664953,31.882519],[102.66495,31.882501],[102.664954,31.882344],[102.664958,31.882177],[102.665139,31.881885],[102.665357,31.881801],[102.665575,31.881716],[102.665793,31.881631],[102.666011,31.881547],[102.666197,31.881521],[102.666218,31.881518],[102.666382,31.881495],[102.666752,31.881443],[102.667122,31.881391],[102.667418,31.881323],[102.667471,31.88131],[102.667667,31.881265],[102.667714,31.881254],[102.66793,31.881179],[102.668145,31.881105],[102.66836,31.88103],[102.668575,31.880955],[102.668791,31.880881],[102.669006,31.880806],[102.669413,31.880666],[102.66982,31.880526],[102.670228,31.880387],[102.670526,31.8802],[102.670592,31.880159],[102.67066,31.880116],[102.670825,31.880013],[102.670849,31.879987],[102.671039,31.879782],[102.671277,31.879523],[102.671315,31.879246],[102.671323,31.878913],[102.671139,31.87852],[102.670832,31.878335],[102.670525,31.87815],[102.67014,31.877948],[102.669887,31.877816],[102.669755,31.877746],[102.669623,31.877678],[102.6695,31.877613],[102.66941,31.877566],[102.669369,31.877544],[102.669177,31.877444],[102.669123,31.877415],[102.668984,31.877342],[102.668776,31.877201],[102.668569,31.87706],[102.668375,31.876886],[102.66828,31.876772],[102.668236,31.876685],[102.668217,31.876648],[102.668186,31.876588],[102.668122,31.876462],[102.668157,31.876138],[102.668162,31.876094],[102.668421,31.875904],[102.668679,31.875714],[102.669027,31.875513],[102.669375,31.875311],[102.669723,31.87511],[102.670013,31.874942],[102.670311,31.874756],[102.67061,31.87457],[102.670823,31.874338],[102.671036,31.874106],[102.671163,31.873887],[102.67129,31.873668],[102.671357,31.873482],[102.671439,31.873258],[102.671446,31.872963],[102.671418,31.872698],[102.671346,31.872339],[102.671201,31.872166],[102.671118,31.872067],[102.670912,31.87182],[102.67089,31.871794],[102.670823,31.87176],[102.670751,31.871724],[102.670718,31.871707],[102.670669,31.871682],[102.670449,31.87157],[102.670228,31.871458],[102.670007,31.871345],[102.669786,31.871233],[102.669566,31.871121],[102.669345,31.871009],[102.669124,31.870896],[102.668741,31.870753],[102.668358,31.870611],[102.667974,31.870468],[102.66792,31.870441],[102.667919,31.870441],[102.667852,31.870408],[102.667837,31.870401],[102.667599,31.870284],[102.667395,31.870134],[102.667295,31.869954],[102.6673,31.869748],[102.667386,31.869525],[102.667471,31.869303],[102.667557,31.86908],[102.667642,31.868857],[102.667772,31.868642],[102.667901,31.868428],[102.66803,31.868213],[102.668159,31.867998],[102.668288,31.867784],[102.668417,31.867569],[102.668546,31.867354],[102.668675,31.86714],[102.668804,31.866925],[102.668933,31.86671],[102.669227,31.866384],[102.669521,31.866057],[102.669814,31.865731],[102.670108,31.865405],[102.67023,31.865212],[102.670352,31.86502],[102.670474,31.864827],[102.670596,31.864635],[102.670719,31.864442],[102.670841,31.86425],[102.670954,31.863883],[102.671031,31.863633],[102.671067,31.863517],[102.671125,31.863252],[102.671183,31.862988],[102.671156,31.862737],[102.671128,31.862486],[102.671091,31.862441],[102.670976,31.8623],[102.670914,31.862223],[102.670858,31.862155],[102.670605,31.8619],[102.670572,31.861867],[102.670473,31.861767],[102.670419,31.861713],[102.670418,31.861712],[102.670376,31.86167],[102.670371,31.861664],[102.670352,31.861645],[102.670184,31.861451],[102.670016,31.861256],[102.669935,31.861033],[102.669854,31.860811],[102.669878,31.860546],[102.669902,31.860281],[102.67005,31.85992],[102.670197,31.859559],[102.670345,31.859198],[102.670493,31.858807],[102.670641,31.858417],[102.670789,31.858026],[102.670868,31.857681],[102.670892,31.857421],[102.670904,31.857291],[102.670915,31.857166],[102.670915,31.857161],[102.670939,31.856901],[102.670963,31.856641],[102.670987,31.856381],[102.671011,31.856121],[102.67109,31.855699],[102.67117,31.855278],[102.67125,31.854856],[102.671364,31.854461],[102.671479,31.854065],[102.671577,31.853814],[102.671675,31.853563],[102.67178,31.853315],[102.671885,31.853067],[102.672123,31.852698],[102.672401,31.852482],[102.67249,31.852413],[102.67268,31.852265],[102.67276,31.852329],[102.672798,31.85236],[102.67292,31.852458],[102.67319,31.852728],[102.673436,31.853035],[102.673685,31.853353],[102.673933,31.853672],[102.674138,31.854025],[102.67431,31.854308],[102.674467,31.854632],[102.674623,31.8549],[102.674781,31.85514],[102.674831,31.855257],[102.674825,31.855671],[102.674821,31.855953],[102.674845,31.856319],[102.674869,31.856685],[102.674922,31.856852],[102.675111,31.857037],[102.675327,31.85725],[102.675341,31.857261],[102.675536,31.857404],[102.675731,31.857548],[102.675898,31.857768],[102.675963,31.858071],[102.675945,31.858321],[102.675871,31.858541],[102.675797,31.858761],[102.675797,31.859023],[102.675853,31.859259],[102.675856,31.859273],[102.675981,31.859475],[102.676058,31.859522],[102.676177,31.859594],[102.676505,31.859814],[102.676612,31.859915],[102.676689,31.860046],[102.676737,31.860189],[102.676784,31.86032],[102.676856,31.860433],[102.676939,31.860534],[102.677082,31.860671],[102.677314,31.860808],[102.677557,31.860909],[102.677843,31.861099],[102.678129,31.861289],[102.678295,31.861459],[102.678462,31.861628],[102.678503,31.861825],[102.678501,31.861893],[102.678497,31.862021],[102.678485,31.862289],[102.678474,31.862556],[102.67842,31.862818],[102.67839,31.863009],[102.678319,31.863305],[102.678248,31.863602],[102.678248,31.863603],[102.678248,31.863603],[102.678223,31.863687],[102.678223,31.863689],[102.67817,31.863871],[102.678027,31.864032],[102.677682,31.864222],[102.677593,31.864341],[102.677589,31.864459],[102.677587,31.86452],[102.677623,31.864769],[102.677659,31.864989],[102.677831,31.865299],[102.678004,31.86568],[102.678099,31.865804],[102.678277,31.86587],[102.678401,31.86591],[102.67844,31.865922],[102.678442,31.865923],[102.678444,31.865923],[102.678557,31.866025],[102.678569,31.866155],[102.678557,31.866286],[102.678527,31.866459],[102.678533,31.866631],[102.678652,31.86697],[102.678682,31.867119],[102.678682,31.867202],[102.67861,31.867315],[102.678521,31.867399],[102.678367,31.867494],[102.678057,31.86775],[102.677861,31.867916],[102.677737,31.86802],[102.677635,31.868107],[102.677436,31.868309],[102.677236,31.868511],[102.677088,31.86874],[102.677082,31.868749],[102.677082,31.868948],[102.677082,31.868975],[102.677093,31.869082],[102.677207,31.869433],[102.677409,31.869748],[102.677516,31.870141],[102.677555,31.870444],[102.677593,31.870748],[102.677617,31.870836],[102.677665,31.871014],[102.677742,31.871301],[102.67775,31.871323],[102.677871,31.871669],[102.677992,31.872015],[102.678033,31.87228],[102.678075,31.872544],[102.678111,31.872848],[102.678069,31.873264],[102.678013,31.873526],[102.677957,31.873788],[102.677891,31.874097],[102.677891,31.87421],[102.677891,31.874299],[102.677932,31.874382],[102.678051,31.87446],[102.678105,31.874502],[102.678349,31.874692],[102.678593,31.874882],[102.678771,31.875215],[102.678793,31.87529],[102.67886,31.875513],[102.678908,31.875816],[102.678979,31.876119],[102.679092,31.876328],[102.67919,31.876551],[102.679289,31.876774],[102.679402,31.876968],[102.679473,31.877089],[102.679526,31.877404],[102.679528,31.877433],[102.679544,31.877696],[102.679604,31.877934],[102.679741,31.878178],[102.679988,31.878499],[102.680056,31.878588],[102.680115,31.878721],[102.680199,31.878909],[102.680211,31.879177],[102.680208,31.879425],[102.680205,31.879861],[102.680175,31.880224],[102.680104,31.880593],[102.680032,31.880914],[102.679848,31.881116],[102.679613,31.881396],[102.679378,31.881675],[102.679146,31.882015],[102.678914,31.882354],[102.678696,31.882558],[102.678521,31.882722],[102.678515,31.882853],[102.678525,31.88289],[102.678539,31.882948],[102.678694,31.883056],[102.678725,31.883075],[102.678906,31.883189],[102.679117,31.883323],[102.679401,31.883664],[102.679685,31.884006],[102.679969,31.884348],[102.680253,31.884689],[102.680536,31.885031],[102.680348,31.885416],[102.680159,31.885801],[102.679971,31.886186],[102.679782,31.886571],[102.679594,31.886956],[102.679594,31.886957],[102.679593,31.886957],[102.679405,31.887341],[102.679217,31.887727],[102.679032,31.888008],[102.678847,31.88829],[102.67871,31.888506],[102.678573,31.888721],[102.678437,31.888936],[102.6783,31.889152],[102.678164,31.889367],[102.678027,31.889582],[102.677891,31.889798],[102.677754,31.890013],[102.677617,31.890229],[102.677481,31.890444],[102.677344,31.890659],[102.677208,31.890875],[102.677071,31.89109],[102.676934,31.891305],[102.676813,31.891521],[102.676691,31.891737],[102.67657,31.891953],[102.676448,31.892169],[102.676327,31.892385],[102.676205,31.892601],[102.676084,31.892817],[102.675962,31.893033],[102.67584,31.893249],[102.675719,31.893464],[102.675668,31.89359],[102.675629,31.893688],[102.675591,31.893782],[102.675547,31.893966],[102.675562,31.894151],[102.675596,31.894335],[102.675632,31.894453],[102.675739,31.894703],[102.675847,31.894952],[102.675954,31.895202],[102.676061,31.895451],[102.676273,31.89584],[102.676485,31.896228],[102.676698,31.896617],[102.67691,31.897006],[102.677023,31.897201],[102.677137,31.897396],[102.677251,31.897592],[102.677364,31.897787],[102.677478,31.897982],[102.677592,31.898177],[102.677704,31.898393],[102.677817,31.898609],[102.67793,31.898825],[102.678043,31.899041],[102.678155,31.899258],[102.678268,31.899474],[102.678381,31.89969],[102.678493,31.899906],[102.678605,31.900177],[102.678715,31.900547],[102.678757,31.900801],[102.6788,31.901054],[102.67885,31.901467],[102.678841,31.901787],[102.678796,31.902003],[102.678754,31.902138],[102.678712,31.902237],[102.678538,31.902404],[102.678364,31.902571],[102.67819,31.902738],[102.678016,31.902904],[102.677842,31.903071],[102.677668,31.903238],[102.677494,31.903405],[102.677319,31.903571],[102.677159,31.903751],[102.676998,31.90393],[102.676837,31.904109],[102.676676,31.904289],[102.676516,31.904468],[102.676355,31.904647],[102.676194,31.904826],[102.676034,31.905006],[102.675873,31.905185],[102.675712,31.905364],[102.675551,31.905544],[102.675391,31.905723],[102.67523,31.905902],[102.675069,31.906081],[102.674929,31.906261],[102.674788,31.906441],[102.674647,31.90662],[102.674507,31.9068],[102.674366,31.906979],[102.674225,31.907159],[102.674085,31.907338],[102.673944,31.907518],[102.673922,31.907651],[102.673923,31.907658],[102.673938,31.907769],[102.673947,31.90778],[102.674014,31.907855],[102.674111,31.907923],[102.674312,31.908025],[102.674513,31.908127],[102.674714,31.908229],[102.674915,31.90833],[102.675116,31.908432],[102.675318,31.908534],[102.675693,31.908742],[102.676069,31.908951],[102.676151,31.908996],[102.676445,31.909159],[102.676792,31.9094],[102.677042,31.90969],[102.677193,31.909928],[102.677286,31.910198],[102.677301,31.910383],[102.677297,31.910484],[102.677276,31.9106],[102.677273,31.910668],[102.677136,31.91089],[102.676999,31.911112],[102.676862,31.911334],[102.676725,31.911557],[102.676593,31.91179],[102.676461,31.912024],[102.676329,31.912257],[102.676197,31.912491],[102.676065,31.912724],[102.675933,31.912958],[102.675912,31.912996],[102.675801,31.913192],[102.675669,31.913425],[102.675555,31.9137],[102.67544,31.913974],[102.675345,31.914224],[102.67525,31.914474],[102.675214,31.914759],[102.675177,31.915044],[102.675164,31.915298],[102.675151,31.915553],[102.675138,31.915807],[102.675125,31.916061],[102.675111,31.916316],[102.675098,31.91657],[102.675111,31.916776],[102.675126,31.91704],[102.675163,31.917246],[102.675177,31.917319],[102.675229,31.917571],[102.675273,31.917684],[102.675378,31.91795],[102.675526,31.918329],[102.675608,31.918539],[102.675674,31.918708],[102.675794,31.919046],[102.675914,31.919383],[102.67598,31.9196],[102.676046,31.919818],[102.676112,31.920035],[102.676177,31.920252],[102.676243,31.92047],[102.676309,31.920687],[102.676375,31.920904],[102.676441,31.921122],[102.676484,31.921366],[102.676528,31.92161],[102.676523,31.921795],[102.676479,31.921928],[102.676378,31.922077],[102.676209,31.922267],[102.67604,31.922457],[102.675871,31.922647],[102.675702,31.922837],[102.675533,31.923027],[102.675364,31.923217],[102.675201,31.923417],[102.675038,31.923616],[102.674876,31.923816],[102.674713,31.924016],[102.674551,31.924216],[102.674388,31.924416],[102.674225,31.924615],[102.674063,31.924815],[102.6739,31.925015],[102.673737,31.925215],[102.67353,31.925598],[102.673445,31.925831],[102.673421,31.926049],[102.673416,31.92625],[102.673468,31.926469],[102.673523,31.926621],[102.673599,31.926774],[102.673886,31.927087],[102.674174,31.9274],[102.674462,31.927713],[102.674673,31.927952],[102.674786,31.928172],[102.674859,31.928391],[102.674876,31.928527],[102.67489,31.928729],[102.674876,31.928986],[102.674863,31.929243],[102.674849,31.929501],[102.674835,31.929758],[102.674821,31.930016],[102.674807,31.930273],[102.674793,31.93053],[102.674779,31.930788],[102.674777,31.931065],[102.674775,31.931342],[102.674773,31.931619],[102.674771,31.931896],[102.674703,31.932256],[102.674635,31.932615],[102.674569,31.932891],[102.674502,31.933167],[102.674476,31.933434],[102.674515,31.933616],[102.674565,31.933697],[102.67461,31.933768],[102.674898,31.934084],[102.674916,31.934103],[102.675186,31.934399],[102.675454,31.934701],[102.675721,31.935002],[102.675989,31.935303],[102.676136,31.935494],[102.676283,31.935685],[102.67643,31.935875],[102.676577,31.936066],[102.676724,31.936257],[102.676871,31.936448],[102.677018,31.936638],[102.677165,31.936829],[102.677312,31.93702],[102.677459,31.937211],[102.677647,31.937566],[102.67774,31.937828],[102.677832,31.938091],[102.677885,31.938391],[102.677937,31.938691],[102.677955,31.938955],[102.677973,31.93922],[102.677991,31.939484],[102.678009,31.939749],[102.678033,31.939993],[102.678056,31.940238],[102.67812,31.940457],[102.678183,31.940676],[102.678312,31.941039],[102.67844,31.941402],[102.678534,31.941622],[102.678627,31.941842],[102.678808,31.942114],[102.678988,31.942385],[102.679122,31.942622],[102.679256,31.942859],[102.679391,31.943096],[102.679525,31.943332],[102.679659,31.943569],[102.679793,31.943806],[102.679928,31.944043],[102.680062,31.94428],[102.680196,31.944517],[102.680331,31.944753],[102.680471,31.945077],[102.680508,31.945159],[102.680684,31.945565],[102.680861,31.945971],[102.681038,31.946377],[102.681158,31.946707],[102.681271,31.947015],[102.681278,31.947036],[102.681361,31.947298],[102.681444,31.94756],[102.681493,31.947924],[102.681495,31.948058],[102.681496,31.948167],[102.6815,31.94841],[102.681433,31.948728],[102.681366,31.949047],[102.681271,31.949305],[102.681176,31.949564],[102.681112,31.949747],[102.681108,31.949999],[102.681122,31.9501],[102.681159,31.950235],[102.681472,31.950538],[102.681785,31.950842],[102.682098,31.951145],[102.682411,31.951449],[102.682622,31.951676],[102.682833,31.951903],[102.682987,31.952107],[102.683042,31.952226],[102.683118,31.952361],[102.683126,31.952431],[102.68315,31.952631],[102.683124,31.952899],[102.683027,31.953216],[102.682931,31.953533],[102.682872,31.953884],[102.682814,31.954236],[102.682787,31.954536],[102.682782,31.954779],[102.682812,31.955132],[102.682872,31.95539],[102.682931,31.955649],[102.682991,31.955907],[102.68305,31.956166],[102.683109,31.956424],[102.683159,31.95664],[102.683159,31.95664],[102.683169,31.956683],[102.683223,31.956903],[102.683278,31.957123],[102.683332,31.957343],[102.683387,31.957563],[102.683441,31.957783],[102.683496,31.958003],[102.68355,31.958223],[102.683605,31.958443],[102.683662,31.958672],[102.683718,31.958901],[102.683775,31.959129],[102.683832,31.959358],[102.683911,31.959729],[102.683991,31.9601],[102.684118,31.960505],[102.684306,31.960878],[102.684444,31.961103],[102.684582,31.961328],[102.68472,31.961554],[102.684857,31.961779],[102.684995,31.962004],[102.685034,31.962068],[102.685035,31.96207],[102.685133,31.962229],[102.685304,31.96251],[102.685336,31.962585],[102.685341,31.962599],[102.685456,31.962924],[102.685509,31.963072],[102.685571,31.963248],[102.685631,31.963375],[102.685757,31.963641],[102.68584,31.963749],[102.685993,31.963948],[102.686157,31.964105],[102.686364,31.964248],[102.686635,31.964334],[102.686799,31.964369],[102.686937,31.964424],[102.686978,31.964441],[102.68717,31.964555],[102.687206,31.964612],[102.687272,31.964722],[102.687456,31.965026],[102.687479,31.965076],[102.687644,31.965432],[102.687809,31.965789],[102.688112,31.966075],[102.688148,31.96611],[102.688274,31.966228],[102.688339,31.966288],[102.688422,31.96636],[102.688487,31.966413],[102.688505,31.966455],[102.688517,31.966526],[102.68844,31.966633],[102.688279,31.966901],[102.688119,31.967169],[102.688005,31.967396],[102.687934,31.967537],[102.687774,31.967758],[102.687632,31.967903],[102.687565,31.967972],[102.687357,31.968132],[102.687149,31.968293],[102.686958,31.968461],[102.68686,31.968547],[102.68681,31.96859],[102.686679,31.968608],[102.686572,31.968608],[102.686453,31.968674],[102.686388,31.96881],[102.686411,31.969054],[102.686411,31.969447],[102.68639,31.969673],[102.68637,31.969899],[102.686313,31.970142],[102.686287,31.970248],[102.686255,31.970384],[102.686135,31.970637],[102.686049,31.970818],[102.685969,31.970986],[102.685803,31.971336],[102.685764,31.971396],[102.685709,31.971481],[102.68568,31.971527],[102.685609,31.971637],[102.685556,31.971718],[102.685433,31.971908],[102.68531,31.972099],[102.68515,31.972255],[102.685007,31.972395],[102.684787,31.972542],[102.684508,31.972655],[102.684168,31.972783],[102.684089,31.972805],[102.683913,31.972854],[102.683658,31.972924],[102.683403,31.972994],[102.683148,31.973064],[102.682893,31.973135],[102.682638,31.973205],[102.682383,31.973275],[102.682128,31.973345],[102.681873,31.973416],[102.681618,31.973486],[102.681369,31.973565],[102.68112,31.973645],[102.680872,31.973724],[102.680805,31.973745],[102.680623,31.973803],[102.68052,31.973844],[102.680236,31.973956],[102.680071,31.97402],[102.679859,31.974104],[102.679848,31.974108],[102.679622,31.974232],[102.679538,31.974278],[102.679486,31.974307],[102.679227,31.974449],[102.678946,31.974637],[102.678665,31.974826],[102.678599,31.974884],[102.678349,31.975105],[102.678034,31.975384],[102.677718,31.975664],[102.677564,31.975844],[102.67741,31.976025],[102.677256,31.976205],[102.677102,31.976385],[102.676948,31.976566],[102.676794,31.976746],[102.67664,31.976926],[102.676486,31.977107],[102.676333,31.977285],[102.676181,31.977464],[102.676181,31.977464],[102.676181,31.977464],[102.676025,31.977686],[102.675832,31.977998],[102.675638,31.97831],[102.675513,31.978507],[102.675478,31.978679],[102.675478,31.978894],[102.675478,31.979018],[102.675489,31.979188],[102.67549,31.979197],[102.675608,31.979406],[102.67562,31.979429],[102.675815,31.979757],[102.67601,31.980084],[102.676031,31.980119],[102.676233,31.980428],[102.676435,31.980738],[102.67656,31.981059],[102.676703,31.981338],[102.67675,31.981441],[102.676882,31.981725],[102.677015,31.98204],[102.677149,31.982356],[102.677156,31.982381],[102.677273,31.982806],[102.67739,31.983231],[102.677465,31.983504],[102.677601,31.983789],[102.677619,31.983932],[102.677625,31.984057],[102.677578,31.984158],[102.677384,31.984429],[102.677191,31.984699],[102.677062,31.984898],[102.676793,31.985163],[102.676525,31.985428],[102.676257,31.985693],[102.676061,31.985855],[102.675882,31.986002],[102.67561,31.986348],[102.675597,31.986365],[102.675365,31.986609],[102.67524,31.98674],[102.675139,31.986924],[102.675109,31.98718],[102.675109,31.98762],[102.675091,31.987953],[102.675186,31.988227],[102.675192,31.988393],[102.675079,31.988631],[102.675061,31.98906],[102.675064,31.989145],[102.675073,31.989381],[102.675133,31.989756],[102.675145,31.990119],[102.675145,31.990273],[102.675087,31.990423],[102.675055,31.990505],[102.674966,31.99066],[102.674913,31.99088],[102.674918,31.991005],[102.674948,31.991142],[102.675121,31.991308],[102.675127,31.991362],[102.675097,31.991469],[102.674936,31.991695],[102.674776,31.991921],[102.674615,31.992272],[102.674598,31.992368],[102.674531,31.992744],[102.674526,31.992772],[102.67449,31.99309],[102.674455,31.993408],[102.674397,31.993677],[102.67433,31.993991],[102.674312,31.994235],[102.674307,31.994332],[102.674306,31.994366],[102.674371,31.994467],[102.674532,31.994705],[102.674675,31.994913],[102.674752,31.995145],[102.674827,31.995447],[102.674903,31.995749],[102.674918,31.995811],[102.675061,31.996127],[102.675171,31.996356],[102.675281,31.996585],[102.675378,31.996729],[102.675538,31.996966],[102.675698,31.997203],[102.675927,31.997444],[102.676156,31.997685],[102.676251,31.997828],[102.676322,31.997971],[102.676394,31.998007],[102.676453,31.998036],[102.676483,31.998114],[102.676471,31.998256],[102.676424,31.998387],[102.67637,31.998488],[102.676282,31.998528],[102.676263,31.998536],[102.676049,31.998619],[102.675882,31.998744],[102.675751,31.998881],[102.675742,31.998895],[102.675715,31.998936],[102.675591,31.999125],[102.675466,31.999458],[102.675377,31.999583],[102.675153,31.999816],[102.674942,32.000035],[102.674698,32.000326],[102.674496,32.000487],[102.674228,32.000707],[102.673976,32.000862],[102.673723,32.001016],[102.673604,32.001129],[102.673544,32.001314],[102.673408,32.001736],[102.673312,32.002099],[102.673275,32.002198],[102.673247,32.002272],[102.673158,32.002403],[102.67308,32.00248],[102.672902,32.002557],[102.672718,32.002649],[102.672569,32.002724],[102.672397,32.002808],[102.672265,32.002872],[102.672031,32.002925],[102.671796,32.002977],[102.671784,32.00298],[102.671587,32.003009],[102.671308,32.003104],[102.671022,32.00336],[102.670975,32.003568],[102.670992,32.003729],[102.671053,32.003925],[102.671125,32.004159],[102.671171,32.004306],[102.671284,32.004621],[102.671308,32.004776],[102.671236,32.004907],[102.671141,32.005073],[102.671064,32.00524],[102.671033,32.005277],[102.670844,32.005508],[102.670683,32.005752],[102.670661,32.005808],[102.670591,32.00599],[102.670499,32.006227],[102.670415,32.006567],[102.670338,32.006784],[102.670261,32.007001],[102.670112,32.007254],[102.669963,32.007506],[102.669832,32.007703],[102.669672,32.007798],[102.66941,32.007932],[102.669148,32.008065],[102.669113,32.008083],[102.668976,32.008191],[102.668973,32.008215],[102.668958,32.008327],[102.668982,32.008434],[102.669035,32.008589],[102.669046,32.008637],[102.669071,32.008744],[102.669089,32.008892],[102.669136,32.009053],[102.669214,32.00919],[102.669386,32.009351],[102.669559,32.009511],[102.669752,32.009856],[102.669945,32.010201],[102.670094,32.010412],[102.670243,32.010624],[102.670326,32.010689],[102.670451,32.010743],[102.670473,32.010749],[102.670869,32.010859],[102.671028,32.010903],[102.671168,32.010983],[102.671236,32.011022],[102.671563,32.011302],[102.671754,32.011453],[102.671944,32.011605],[102.672063,32.011685],[102.672164,32.011754],[102.672462,32.011908],[102.672729,32.012164],[102.67278,32.012213],[102.672914,32.012343],[102.673057,32.012515],[102.673092,32.012646],[102.673106,32.012724],[102.673122,32.012813],[102.673211,32.012961],[102.673354,32.013167],[102.673425,32.013415],[102.673491,32.013552],[102.673516,32.013605],[102.67358,32.01369],[102.673673,32.013813],[102.673706,32.013857],[102.673816,32.01399],[102.674011,32.014109],[102.674073,32.014157],[102.674077,32.014228],[102.674073,32.014333],[102.674038,32.014456],[102.674025,32.0145],[102.673973,32.014609],[102.673968,32.014757],[102.673958,32.014918],[102.673916,32.015109],[102.673868,32.015209],[102.673836,32.015301],[102.673811,32.015375],[102.673868,32.015689],[102.673849,32.015861],[102.673839,32.016132],[102.673839,32.016312],[102.673839,32.016384],[102.673915,32.016695],[102.673944,32.016813],[102.673996,32.017046],[102.674009,32.017109],[102.674092,32.017536],[102.674151,32.017895],[102.674211,32.018254],[102.674234,32.018535],[102.674196,32.018764],[102.674125,32.018945],[102.674123,32.018958],[102.674101,32.019159],[102.67412,32.019306],[102.674215,32.019458],[102.674401,32.019749],[102.674501,32.019953],[102.674539,32.020063],[102.674582,32.020187],[102.674636,32.020406],[102.674644,32.020439],[102.674625,32.020696],[102.674587,32.020896],[102.674604,32.021106],[102.674606,32.021129],[102.674632,32.021353],[102.674634,32.021368],[102.674658,32.021576],[102.674701,32.021881],[102.67471,32.022085],[102.674691,32.02229],[102.674644,32.022576],[102.674644,32.02278],[102.674682,32.022999],[102.674698,32.023062],[102.674777,32.023361],[102.674796,32.023508],[102.674789,32.0237],[102.674786,32.023775],[102.674677,32.024108],[102.674644,32.024355],[102.674639,32.024589],[102.674601,32.024755],[102.674544,32.024874],[102.674265,32.02512],[102.673891,32.025317],[102.673792,32.025369],[102.673571,32.025446],[102.673351,32.025522],[102.67334,32.025526],[102.673021,32.025636],[102.672726,32.025816],[102.672359,32.025926],[102.671993,32.026035],[102.671631,32.026173],[102.671296,32.02643],[102.671265,32.026454],[102.671079,32.026545],[102.670851,32.026659],[102.670568,32.026813],[102.670284,32.026968],[102.670047,32.027106],[102.669882,32.02738],[102.669804,32.027511],[102.669667,32.027902],[102.669657,32.027948],[102.669589,32.028259],[102.669639,32.028495],[102.66976,32.028666],[102.669924,32.028841],[102.670088,32.029016],[102.67026,32.029159],[102.670481,32.029337],[102.670602,32.029701],[102.670738,32.029915],[102.670888,32.030115],[102.670995,32.030265],[102.671022,32.030333],[102.671109,32.030551],[102.671159,32.030693],[102.67138,32.030875],[102.671602,32.031057],[102.671877,32.031264],[102.672151,32.031471],[102.672176,32.031499],[102.672395,32.031741],[102.672428,32.031778],[102.67268,32.032057],[102.672837,32.032232],[102.672994,32.032407],[102.673029,32.03242],[102.673379,32.032556],[102.673686,32.032671],[102.673886,32.032799],[102.673906,32.032832],[102.674036,32.033042],[102.67405,32.033137],[102.674072,32.033277],[102.67405,32.03367],[102.673953,32.033997],[102.673907,32.034148],[102.67379,32.034496],[102.673722,32.034698],[102.673658,32.034905],[102.673693,32.035105],[102.673702,32.035114],[102.6738,32.035219],[102.673922,32.035298],[102.674022,32.035462],[102.67405,32.035655],[102.674036,32.035883],[102.67392,32.036165],[102.673805,32.036447],[102.673766,32.036542],[102.67371,32.036679],[102.673615,32.036911],[102.673527,32.037131],[102.673465,32.037289],[102.673212,32.037566],[102.673158,32.037625],[102.672894,32.037967],[102.672772,32.038189],[102.672694,32.038421],[102.672615,32.038653],[102.672423,32.038988],[102.672291,32.039181],[102.672159,32.039374],[102.67215,32.039387],[102.671976,32.039641],[102.671802,32.039895],[102.671752,32.04013],[102.671652,32.040344],[102.67153,32.04043],[102.67142,32.040487],[102.671266,32.040566],[102.671007,32.040717],[102.670924,32.040766],[102.670595,32.041008],[102.670481,32.041094],[102.670438,32.041201],[102.670424,32.041494],[102.67041,32.041786],[102.670353,32.042215],[102.670346,32.04224],[102.67034,32.042263],[102.670243,32.042646],[102.670146,32.043028],[102.670074,32.043207],[102.670003,32.043307],[102.669839,32.043343],[102.669739,32.043347],[102.669532,32.043357],[102.669367,32.043357],[102.669096,32.043303],[102.668825,32.04325],[102.668554,32.043207],[102.668282,32.043164],[102.667933,32.04315],[102.667669,32.043143],[102.667577,32.043164],[102.667483,32.043186],[102.667269,32.043278],[102.667019,32.043321],[102.666669,32.043271],[102.666369,32.04325],[102.666237,32.04325],[102.666091,32.04325],[102.666017,32.043296],[102.665698,32.043492],[102.665394,32.043779],[102.665191,32.043971],[102.664949,32.044106],[102.664763,32.044256],[102.664556,32.044328],[102.664378,32.04442],[102.664256,32.04452],[102.664064,32.04471],[102.663871,32.044899],[102.663849,32.04492],[102.663585,32.045091],[102.663278,32.045199],[102.663064,32.045234],[102.662814,32.045234]]]]},"properties":{"cp":[102.49877817263959,32.16081640345188],"code":"513233101","name":"刷经寺镇","level":"street","center":[102.49877817263959,32.16081640345188],"fullCode":"513233101000","fullName":"四川省阿坝藏族羌族自治州红原县刷经寺镇","acreageMu":1479646.49,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.661,31.9177]}},{"id":"513233103","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.190465,32.696137],[102.190648,32.695897],[102.1908,32.695656],[102.19099,32.695463],[102.19118,32.69527],[102.19137,32.695077],[102.19156,32.694884],[102.191781,32.694532],[102.191877,32.694281],[102.191973,32.694031],[102.192053,32.693751],[102.192132,32.69347],[102.192144,32.693222],[102.192157,32.692973],[102.192157,32.692964],[102.192169,32.692725],[102.192181,32.692476],[102.192193,32.692228],[102.192206,32.691979],[102.192218,32.691731],[102.19223,32.691482],[102.192191,32.691051],[102.192169,32.690812],[102.192152,32.690619],[102.192166,32.690348],[102.192167,32.690321],[102.192174,32.690188],[102.192196,32.689758],[102.192219,32.689328],[102.192241,32.688898],[102.192293,32.688642],[102.192345,32.688386],[102.192398,32.68813],[102.19245,32.687874],[102.192502,32.687618],[102.192555,32.687361],[102.192607,32.687105],[102.192611,32.687088],[102.192659,32.686849],[102.192712,32.686593],[102.192738,32.686466],[102.192764,32.686337],[102.192816,32.686081],[102.192854,32.685898],[102.192865,32.685841],[102.192869,32.685825],[102.192956,32.685578],[102.193042,32.685331],[102.193129,32.685084],[102.193216,32.684837],[102.193303,32.684591],[102.193325,32.684528],[102.19339,32.684344],[102.193425,32.684243],[102.193477,32.684097],[102.193564,32.68385],[102.193677,32.683607],[102.19379,32.683365],[102.193903,32.683122],[102.194017,32.68288],[102.19413,32.682637],[102.194243,32.682395],[102.194356,32.682152],[102.194379,32.682104],[102.194469,32.68191],[102.194548,32.681812],[102.19475,32.681561],[102.19503,32.681212],[102.195311,32.680863],[102.195591,32.680514],[102.195872,32.680165],[102.196009,32.680089],[102.196105,32.680037],[102.19628,32.67994],[102.196299,32.679929],[102.196337,32.679909],[102.196684,32.679795],[102.196763,32.679769],[102.197011,32.67973],[102.197093,32.679718],[102.197258,32.679692],[102.197259,32.679692],[102.197259,32.679692],[102.197279,32.679689],[102.197452,32.679664],[102.197612,32.679641],[102.197877,32.679609],[102.198142,32.679578],[102.198406,32.679547],[102.198664,32.679516],[102.198671,32.679515],[102.198685,32.679506],[102.198713,32.679487],[102.198745,32.679465],[102.198883,32.67937],[102.198924,32.679343],[102.199142,32.679109],[102.199221,32.678815],[102.199234,32.678399],[102.199224,32.678146],[102.199215,32.677893],[102.199152,32.677639],[102.19909,32.677386],[102.199091,32.677363],[102.199095,32.677215],[102.199098,32.677109],[102.199101,32.677035],[102.199101,32.677032],[102.199101,32.67703],[102.199215,32.676735],[102.199399,32.676502],[102.199687,32.6763],[102.19992,32.676142],[102.200154,32.675984],[102.200387,32.67584],[102.20062,32.675697],[102.200818,32.675553],[102.201016,32.675409],[102.201234,32.675206],[102.201398,32.675016],[102.201562,32.674826],[102.20182,32.674485],[102.202077,32.674145],[102.202335,32.673804],[102.202507,32.673576],[102.202515,32.673565],[102.202592,32.673463],[102.20266,32.673267],[102.202669,32.673238],[102.202747,32.673013],[102.202812,32.672825],[102.202824,32.672788],[102.202902,32.672563],[102.202979,32.672339],[102.203057,32.672114],[102.203134,32.671889],[102.20316,32.671815],[102.203161,32.67181],[102.203212,32.671664],[102.20335,32.67147],[102.203487,32.671277],[102.203625,32.671083],[102.203763,32.670889],[102.203901,32.670696],[102.204039,32.670502],[102.204111,32.6704],[102.204138,32.670363],[102.204177,32.670308],[102.204231,32.670233],[102.204315,32.670115],[102.204444,32.669924],[102.204486,32.669863],[102.204506,32.669832],[102.204573,32.669734],[102.204793,32.669471],[102.205023,32.669409],[102.205253,32.669348],[102.205483,32.669286],[102.205672,32.669235],[102.20569,32.669231],[102.205714,32.669224],[102.205744,32.669228],[102.20576,32.66923],[102.20603,32.669262],[102.206203,32.669354],[102.206408,32.669537],[102.206543,32.669733],[102.206678,32.66993],[102.20683,32.670141],[102.206982,32.670353],[102.207169,32.67055],[102.207357,32.670746],[102.207711,32.670927],[102.208064,32.671107],[102.208343,32.671202],[102.208621,32.671298],[102.208864,32.671407],[102.208992,32.671465],[102.20903,32.671481],[102.209107,32.671516],[102.209135,32.671534],[102.209452,32.671732],[102.209688,32.672064],[102.209853,32.672425],[102.209915,32.672708],[102.209976,32.672992],[102.210126,32.673263],[102.210276,32.673533],[102.210445,32.673745],[102.210615,32.673957],[102.210922,32.674231],[102.211266,32.674476],[102.211474,32.674585],[102.211682,32.674693],[102.212066,32.674791],[102.212451,32.674859],[102.212838,32.674853],[102.213225,32.674847],[102.213507,32.674823],[102.21372,32.674768],[102.213953,32.674677],[102.214006,32.674656],[102.214063,32.674633],[102.214156,32.674596],[102.214284,32.674546],[102.21429,32.674544],[102.214507,32.674371],[102.214653,32.674225],[102.214958,32.673909],[102.215263,32.673592],[102.215488,32.67336],[102.215569,32.673276],[102.215802,32.672945],[102.216035,32.672613],[102.216268,32.672281],[102.216467,32.672093],[102.216667,32.671904],[102.216899,32.67182],[102.216997,32.671784],[102.217086,32.671753],[102.217131,32.671736],[102.217178,32.671737],[102.217235,32.671739],[102.217301,32.671754],[102.217375,32.671771],[102.217514,32.671834],[102.217753,32.672047],[102.217906,32.672214],[102.218059,32.67238],[102.218212,32.672547],[102.218366,32.672714],[102.218536,32.672881],[102.218707,32.673048],[102.219019,32.673204],[102.219298,32.6733],[102.219578,32.673305],[102.219826,32.673266],[102.220074,32.673227],[102.220141,32.673191],[102.22016,32.673182],[102.220181,32.67317],[102.220367,32.673059],[102.220385,32.673048],[102.2204,32.673039],[102.220437,32.673017],[102.220468,32.672998],[102.220519,32.672952],[102.220638,32.672845],[102.220808,32.672691],[102.220978,32.672537],[102.221148,32.672383],[102.221318,32.67223],[102.221488,32.672076],[102.221658,32.671922],[102.22173,32.671857],[102.221811,32.671785],[102.221829,32.671769],[102.221914,32.671691],[102.221999,32.671615],[102.222169,32.671461],[102.222365,32.671276],[102.22256,32.67109],[102.222756,32.670904],[102.222924,32.670745],[102.222927,32.670742],[102.222952,32.670718],[102.223007,32.670666],[102.223012,32.670661],[102.223019,32.670655],[102.223148,32.670533],[102.223344,32.670347],[102.223539,32.670161],[102.223634,32.670072],[102.223638,32.670068],[102.223735,32.669975],[102.223931,32.66979],[102.223967,32.669756],[102.224127,32.669604],[102.224268,32.669406],[102.224409,32.669208],[102.22455,32.66901],[102.2246,32.668939],[102.22469,32.668811],[102.224787,32.668676],[102.224787,32.668676],[102.224831,32.668613],[102.224846,32.668592],[102.224847,32.668592],[102.224937,32.668465],[102.224972,32.668415],[102.225113,32.668217],[102.225254,32.668019],[102.225314,32.667935],[102.225385,32.667834],[102.225395,32.667821],[102.225455,32.667736],[102.225536,32.667623],[102.225677,32.667425],[102.225818,32.667226],[102.225959,32.667028],[102.226067,32.666876],[102.2261,32.66683],[102.226226,32.666786],[102.226476,32.666699],[102.226727,32.666611],[102.226977,32.666524],[102.227017,32.66651],[102.227019,32.666509],[102.227021,32.666508],[102.227131,32.66647],[102.227131,32.66647],[102.227227,32.666437],[102.227275,32.66642],[102.227478,32.666349],[102.227728,32.666262],[102.227959,32.66615],[102.228191,32.666038],[102.228422,32.665926],[102.228474,32.665901],[102.228622,32.665829],[102.228653,32.665814],[102.228885,32.665702],[102.229116,32.66559],[102.229347,32.665478],[102.229482,32.665413],[102.229578,32.665367],[102.22961,32.665345],[102.229931,32.665124],[102.230283,32.664881],[102.230636,32.664639],[102.230988,32.664396],[102.231336,32.664118],[102.231684,32.66384],[102.23187,32.66367],[102.232056,32.663501],[102.232307,32.663241],[102.232557,32.662981],[102.232708,32.662785],[102.232859,32.662589],[102.233011,32.662393],[102.233162,32.662197],[102.23326,32.661956],[102.233358,32.661715],[102.233456,32.661474],[102.233554,32.661233],[102.233652,32.660993],[102.23375,32.660752],[102.233827,32.660589],[102.233978,32.66041],[102.234128,32.660249],[102.234275,32.660191],[102.234689,32.660097],[102.234697,32.660097],[102.235077,32.660086],[102.235319,32.660101],[102.23556,32.660116],[102.235971,32.660146],[102.236211,32.660182],[102.236451,32.660218],[102.236738,32.660326],[102.237123,32.660437],[102.237431,32.660669],[102.237598,32.660795],[102.237738,32.6609],[102.237937,32.66112],[102.237992,32.661181],[102.238135,32.661339],[102.238299,32.661516],[102.238463,32.661693],[102.238518,32.661757],[102.238627,32.661881],[102.239059,32.661973],[102.239196,32.661976],[102.239375,32.661979],[102.239691,32.661935],[102.240007,32.661891],[102.240235,32.661548],[102.240375,32.661337],[102.240514,32.661126],[102.240653,32.660934],[102.240791,32.660743],[102.241041,32.660504],[102.241317,32.660223],[102.241564,32.660005],[102.24186,32.659846],[102.242227,32.659742],[102.242593,32.659638],[102.242907,32.659624],[102.243293,32.659674],[102.243703,32.659714],[102.244113,32.659754],[102.244367,32.659735],[102.244621,32.659716],[102.244875,32.659697],[102.245128,32.659678],[102.245382,32.659659],[102.245636,32.65964],[102.24589,32.659621],[102.246143,32.659603],[102.246397,32.659584],[102.246651,32.659565],[102.24691,32.659526],[102.247169,32.659487],[102.247294,32.659469],[102.247429,32.659449],[102.247688,32.65941],[102.247947,32.659371],[102.248207,32.659333],[102.248448,32.659348],[102.24869,32.659363],[102.248931,32.659389],[102.248993,32.659396],[102.249158,32.659414],[102.249171,32.659415],[102.249244,32.659443],[102.24927,32.659452],[102.249338,32.659478],[102.24944,32.659516],[102.249459,32.659523],[102.249744,32.659714],[102.249932,32.659882],[102.250121,32.660049],[102.250455,32.660219],[102.250887,32.660331],[102.251174,32.660321],[102.251226,32.660319],[102.251493,32.660263],[102.251551,32.660248],[102.251667,32.660218],[102.25175,32.660197],[102.252006,32.660131],[102.252282,32.659791],[102.252283,32.65979],[102.252283,32.65979],[102.252283,32.65979],[102.252303,32.659765],[102.252484,32.659539],[102.252559,32.659444],[102.252684,32.659288],[102.252692,32.659281],[102.252871,32.659129],[102.253058,32.658969],[102.253381,32.65869],[102.253626,32.658573],[102.253872,32.658456],[102.254117,32.658379],[102.254458,32.658345],[102.254771,32.658352],[102.255058,32.65846],[102.255273,32.658567],[102.255487,32.658674],[102.255846,32.658805],[102.256085,32.658892],[102.256317,32.658836],[102.256323,32.658834],[102.256374,32.658822],[102.256425,32.658809],[102.256549,32.658779],[102.256768,32.658723],[102.257032,32.658475],[102.257189,32.658328],[102.257296,32.658228],[102.257424,32.657985],[102.257503,32.657772],[102.257582,32.657559],[102.257618,32.657298],[102.257655,32.657036],[102.257691,32.656775],[102.257727,32.656513],[102.257764,32.656252],[102.2578,32.65599],[102.257849,32.655552],[102.257899,32.655113],[102.257979,32.654859],[102.25806,32.654606],[102.25814,32.654352],[102.258221,32.654099],[102.258374,32.653836],[102.258552,32.653554],[102.258801,32.653284],[102.25905,32.653013],[102.259234,32.652841],[102.259418,32.652669],[102.259601,32.652496],[102.259785,32.652324],[102.259969,32.652152],[102.260152,32.65198],[102.260353,32.651791],[102.260553,32.651601],[102.260739,32.651432],[102.260925,32.651262],[102.261238,32.650941],[102.261454,32.650719],[102.26155,32.65062],[102.261753,32.650319],[102.261801,32.650206],[102.261883,32.650015],[102.26194,32.64973],[102.261944,32.649587],[102.261947,32.649481],[102.261955,32.649232],[102.261962,32.648983],[102.26197,32.648734],[102.261978,32.648485],[102.261985,32.648236],[102.261993,32.647987],[102.262,32.647738],[102.262008,32.647489],[102.262015,32.64724],[102.262055,32.646812],[102.262095,32.646383],[102.262135,32.645954],[102.262174,32.645526],[102.262245,32.645271],[102.262315,32.645017],[102.262385,32.644762],[102.262455,32.644508],[102.262542,32.644276],[102.262629,32.644045],[102.262717,32.643813],[102.262804,32.643582],[102.263076,32.643257],[102.263347,32.642931],[102.263619,32.642606],[102.263926,32.642291],[102.264233,32.641976],[102.26447,32.641733],[102.26454,32.641661],[102.2647,32.641484],[102.264859,32.641307],[102.265019,32.64113],[102.265179,32.640952],[102.265338,32.640775],[102.265498,32.640598],[102.265542,32.640501],[102.265594,32.640386],[102.26569,32.640174],[102.265786,32.639962],[102.265881,32.63975],[102.265977,32.639538],[102.266073,32.639326],[102.266169,32.639114],[102.266265,32.638902],[102.266267,32.638842],[102.266302,32.638571],[102.266336,32.638301],[102.266371,32.638031],[102.266406,32.63776],[102.266485,32.637506],[102.266565,32.637251],[102.266788,32.636956],[102.266974,32.636689],[102.267087,32.63651],[102.267252,32.636348],[102.267417,32.636185],[102.267532,32.635948],[102.267683,32.635649],[102.267797,32.635441],[102.267879,32.635082],[102.267873,32.634841],[102.267867,32.634599],[102.267861,32.634358],[102.267855,32.634117],[102.267849,32.633876],[102.267846,32.633787],[102.267842,32.633635],[102.267836,32.633394],[102.26783,32.633153],[102.267787,32.632919],[102.267743,32.632685],[102.267699,32.632451],[102.267656,32.632217],[102.267612,32.631983],[102.267568,32.63175],[102.267525,32.631516],[102.267481,32.631282],[102.267437,32.631048],[102.267394,32.630814],[102.26735,32.63058],[102.267306,32.630346],[102.267236,32.630082],[102.267166,32.629819],[102.267095,32.629555],[102.267025,32.629292],[102.266955,32.629028],[102.266884,32.628764],[102.266814,32.628501],[102.266744,32.628237],[102.266673,32.627974],[102.266603,32.62771],[102.266504,32.627479],[102.266406,32.627248],[102.266307,32.627017],[102.266208,32.626786],[102.266109,32.626555],[102.266011,32.626324],[102.265912,32.626092],[102.265813,32.625861],[102.265715,32.62563],[102.265616,32.625399],[102.26548,32.625119],[102.26536,32.624869],[102.265239,32.62462],[102.265119,32.624371],[102.264998,32.624122],[102.264878,32.623873],[102.264757,32.623624],[102.264637,32.623375],[102.264516,32.623126],[102.264415,32.622702],[102.264411,32.6225],[102.264407,32.622298],[102.264416,32.622023],[102.264455,32.621787],[102.264495,32.62155],[102.264534,32.621314],[102.264574,32.621078],[102.264613,32.620841],[102.264653,32.620605],[102.264722,32.620354],[102.264792,32.620103],[102.264862,32.619851],[102.264932,32.6196],[102.265002,32.619349],[102.265072,32.619098],[102.265142,32.618847],[102.265212,32.618596],[102.265291,32.618346],[102.26537,32.618097],[102.265449,32.61785],[102.26545,32.617848],[102.265529,32.617599],[102.265599,32.617382],[102.265609,32.61735],[102.265688,32.617101],[102.265768,32.616852],[102.265847,32.616603],[102.265927,32.616353],[102.265969,32.616219],[102.266006,32.616104],[102.266065,32.61592],[102.266086,32.615855],[102.266165,32.615606],[102.266225,32.615369],[102.266285,32.615132],[102.266345,32.614895],[102.266405,32.614658],[102.266413,32.614375],[102.266422,32.614092],[102.266449,32.613882],[102.266515,32.613725],[102.26657,32.613593],[102.26671,32.61341],[102.266851,32.613227],[102.267085,32.612876],[102.267319,32.612525],[102.267553,32.612175],[102.267591,32.61211],[102.267694,32.611935],[102.267817,32.611663],[102.267844,32.611388],[102.267858,32.610968],[102.267849,32.610612],[102.267839,32.610256],[102.267782,32.610022],[102.267725,32.609788],[102.267668,32.609554],[102.267611,32.609321],[102.267554,32.609087],[102.267497,32.608853],[102.26744,32.608619],[102.267383,32.608385],[102.267347,32.608239],[102.267341,32.608213],[102.267326,32.608151],[102.267269,32.607917],[102.26721,32.607683],[102.267176,32.607548],[102.267151,32.607448],[102.267092,32.607214],[102.267078,32.607156],[102.267068,32.607116],[102.267051,32.607047],[102.267034,32.606979],[102.266876,32.60665],[102.266719,32.606321],[102.26651,32.605944],[102.266282,32.605558],[102.266053,32.605171],[102.265759,32.604878],[102.265747,32.604865],[102.26544,32.604559],[102.265134,32.604253],[102.264827,32.603947],[102.264652,32.603784],[102.264478,32.60362],[102.264303,32.603457],[102.264129,32.603294],[102.263954,32.603131],[102.263779,32.602968],[102.263605,32.602805],[102.26343,32.602642],[102.263256,32.602479],[102.263081,32.602316],[102.262907,32.602152],[102.262732,32.601989],[102.262557,32.601826],[102.262383,32.601663],[102.262203,32.601518],[102.262105,32.601439],[102.262024,32.601374],[102.261845,32.601229],[102.261665,32.601084],[102.261486,32.60094],[102.261447,32.600908],[102.261413,32.600881],[102.261306,32.600795],[102.261127,32.60065],[102.260948,32.600505],[102.260768,32.600361],[102.260589,32.600216],[102.260433,32.600037],[102.260277,32.599859],[102.260122,32.59968],[102.259966,32.599501],[102.25981,32.599323],[102.259654,32.599144],[102.259499,32.598965],[102.259343,32.598787],[102.259187,32.598608],[102.259031,32.598429],[102.259009,32.598404],[102.258875,32.598251],[102.258869,32.598243],[102.258838,32.598207],[102.25872,32.598072],[102.258552,32.597914],[102.258385,32.597757],[102.258266,32.597552],[102.258147,32.597347],[102.258065,32.596958],[102.258045,32.59669],[102.258027,32.596454],[102.258025,32.596424],[102.258025,32.596423],[102.258026,32.596418],[102.258047,32.596314],[102.25805,32.596301],[102.258054,32.596284],[102.258077,32.596171],[102.25813,32.595918],[102.258182,32.595666],[102.258235,32.595413],[102.258287,32.595161],[102.25834,32.594908],[102.258461,32.59448],[102.258582,32.594051],[102.258704,32.593623],[102.258808,32.593407],[102.258913,32.593191],[102.259017,32.592974],[102.259046,32.592916],[102.259122,32.592758],[102.259226,32.592542],[102.259331,32.592326],[102.259435,32.59211],[102.25954,32.591894],[102.259644,32.591678],[102.259749,32.591462],[102.259894,32.591109],[102.259904,32.59109],[102.260057,32.590806],[102.260157,32.590662],[102.260317,32.590424],[102.260466,32.590248],[102.260615,32.590073],[102.260775,32.589866],[102.260993,32.589596],[102.261173,32.589373],[102.261314,32.589134],[102.261458,32.588829],[102.261544,32.588507],[102.261591,32.5882],[102.261618,32.587934],[102.261646,32.587667],[102.261674,32.587401],[102.261702,32.587135],[102.261665,32.586895],[102.261629,32.586656],[102.261593,32.586417],[102.261557,32.586177],[102.261478,32.585957],[102.261398,32.585737],[102.261319,32.585517],[102.261239,32.585297],[102.261117,32.584922],[102.261069,32.584613],[102.261078,32.58429],[102.261106,32.583999],[102.261134,32.583773],[102.261137,32.583643],[102.261177,32.583451],[102.261181,32.583434],[102.261225,32.58329],[102.261305,32.58313],[102.261506,32.582827],[102.261648,32.582571],[102.261828,32.582316],[102.261969,32.582076],[102.262076,32.581739],[102.262165,32.581336],[102.262254,32.580934],[102.262343,32.580532],[102.26239,32.580089],[102.262438,32.579647],[102.262486,32.579205],[102.262534,32.578762],[102.262581,32.57832],[102.262596,32.578248],[102.262631,32.578083],[102.26268,32.577847],[102.26273,32.57761],[102.26278,32.577374],[102.262829,32.577137],[102.262879,32.5769],[102.262928,32.576664],[102.262978,32.576427],[102.263027,32.57619],[102.263077,32.575954],[102.263101,32.575825],[102.263176,32.575543],[102.263252,32.575262],[102.263436,32.574876],[102.263637,32.574565],[102.263838,32.574254],[102.264017,32.574016],[102.264361,32.57374],[102.264704,32.573464],[102.264939,32.573316],[102.265173,32.573167],[102.265407,32.573018],[102.265641,32.572869],[102.265875,32.572721],[102.26611,32.572572],[102.266339,32.572427],[102.266568,32.572283],[102.266797,32.572138],[102.267026,32.571993],[102.267255,32.571848],[102.267484,32.571703],[102.267693,32.571619],[102.267901,32.571534],[102.268109,32.57145],[102.268318,32.571365],[102.26865,32.571178],[102.26894,32.571039],[102.269163,32.570939],[102.269387,32.570838],[102.269621,32.57069],[102.269855,32.570541],[102.270089,32.570393],[102.270323,32.570245],[102.270501,32.570083],[102.270678,32.569921],[102.270855,32.569759],[102.271033,32.569597],[102.27121,32.569435],[102.271388,32.569273],[102.271565,32.569111],[102.271743,32.568948],[102.271928,32.568801],[102.272112,32.568653],[102.272297,32.568506],[102.272482,32.568358],[102.272666,32.56821],[102.272851,32.568063],[102.273036,32.567915],[102.273221,32.567768],[102.273431,32.567594],[102.273642,32.567421],[102.273853,32.567247],[102.274064,32.567074],[102.274226,32.566904],[102.274388,32.566735],[102.274551,32.566565],[102.274713,32.566395],[102.274875,32.566226],[102.275037,32.566056],[102.275199,32.565886],[102.275362,32.565716],[102.275524,32.565547],[102.275686,32.565377],[102.275851,32.565215],[102.276016,32.565052],[102.276181,32.56489],[102.276346,32.564728],[102.276511,32.564565],[102.276676,32.564403],[102.276842,32.564241],[102.277007,32.564078],[102.277216,32.563916],[102.277425,32.563753],[102.277634,32.56359],[102.277843,32.563427],[102.278052,32.563264],[102.278261,32.563102],[102.278454,32.562973],[102.278647,32.562845],[102.278839,32.562717],[102.279032,32.562589],[102.279225,32.562461],[102.279417,32.562333],[102.279681,32.562161],[102.279944,32.561989],[102.280204,32.561622],[102.280326,32.561398],[102.280469,32.561125],[102.280572,32.560853],[102.280638,32.560564],[102.280704,32.560306],[102.280732,32.559967],[102.280743,32.559626],[102.280735,32.559354],[102.280734,32.559302],[102.28066,32.559042],[102.280587,32.558782],[102.280513,32.558521],[102.28044,32.558261],[102.280329,32.558042],[102.280317,32.558018],[102.280218,32.557823],[102.280107,32.557604],[102.279996,32.557385],[102.279885,32.557166],[102.279774,32.556947],[102.279663,32.556729],[102.279553,32.55651],[102.279485,32.556233],[102.279419,32.555891],[102.279425,32.555666],[102.279491,32.555408],[102.279593,32.555151],[102.279795,32.554799],[102.279918,32.554559],[102.28004,32.554383],[102.280276,32.554146],[102.280501,32.554005],[102.280726,32.553863],[102.280951,32.553722],[102.281177,32.55358],[102.281402,32.553439],[102.281627,32.553297],[102.281853,32.553156],[102.282078,32.553014],[102.282303,32.552873],[102.282528,32.552731],[102.282754,32.55259],[102.282979,32.552448],[102.283204,32.552307],[102.283348,32.552217],[102.28343,32.552165],[102.283677,32.552057],[102.283839,32.551986],[102.283924,32.551949],[102.283953,32.551937],[102.284171,32.551841],[102.284418,32.551733],[102.284666,32.551625],[102.284913,32.551517],[102.28516,32.55141],[102.285407,32.551302],[102.285756,32.551163],[102.286105,32.551025],[102.286453,32.550887],[102.286742,32.550829],[102.28703,32.55077],[102.287376,32.550753],[102.287721,32.550736],[102.287962,32.550693],[102.288203,32.550649],[102.2884,32.550609],[102.288978,32.55096],[102.289086,32.551026],[102.289096,32.551032],[102.289111,32.551039],[102.289115,32.551044],[102.289186,32.551087],[102.290274,32.551748],[102.292411,32.552783],[102.292504,32.552828],[102.29276,32.552991],[102.293699,32.553591],[102.294988,32.554134],[102.296448,32.554755],[102.298365,32.554649],[102.300189,32.554762],[102.301324,32.554639],[102.302104,32.554729],[102.302954,32.555411],[102.304401,32.556473],[102.306281,32.557619],[102.307993,32.55854],[102.309784,32.559757],[102.310799,32.560737],[102.312079,32.561575],[102.314074,32.561765],[102.31669,32.5616],[102.318094,32.561187],[102.319668,32.560926],[102.321407,32.560963],[102.322418,32.560466],[102.322485,32.560433],[102.322555,32.560398],[102.322969,32.560219],[102.323031,32.560192],[102.323525,32.559977],[102.323552,32.559976],[102.323697,32.559917],[102.323706,32.559915],[102.32385,32.559884],[102.323856,32.559882],[102.324016,32.559867],[102.32406,32.559863],[102.324067,32.559862],[102.324288,32.559863],[102.324574,32.559872],[102.324613,32.559874],[102.324932,32.559491],[102.325323,32.558026],[102.326171,32.555833],[102.326524,32.555242],[102.32676,32.554848],[102.326793,32.554865],[102.326831,32.554874],[102.326996,32.554451],[102.327033,32.554427],[102.327067,32.554405],[102.328045,32.553776],[102.328214,32.553667],[102.32853,32.553583],[102.328755,32.553524],[102.328977,32.553487],[102.329052,32.553474],[102.329113,32.553464],[102.33093,32.553798],[102.331867,32.553762],[102.332677,32.55284],[102.333546,32.55214],[102.334344,32.551659],[102.336023,32.552248],[102.33634,32.552322],[102.336358,32.552326],[102.336378,32.552331],[102.336436,32.552345],[102.33656,32.552374],[102.336584,32.552379],[102.336695,32.552405],[102.336849,32.552441],[102.337578,32.552612],[102.337747,32.552734],[102.338165,32.553037],[102.338258,32.553062],[102.338364,32.553181],[102.338472,32.553259],[102.33851,32.553287],[102.3386,32.553352],[102.33868,32.553364],[102.340021,32.553555],[102.34042,32.553612],[102.340496,32.553624],[102.340656,32.553649],[102.340686,32.553653],[102.340766,32.553666],[102.341371,32.55376],[102.343833,32.554143],[102.344319,32.554218],[102.345357,32.55438],[102.345758,32.554485],[102.345826,32.554502],[102.345829,32.554503],[102.34583,32.554504],[102.345877,32.554516],[102.346591,32.554702],[102.346649,32.554718],[102.346683,32.554727],[102.346714,32.554735],[102.346736,32.55474],[102.346762,32.554785],[102.346801,32.554847],[102.34683,32.554943],[102.346816,32.55505],[102.349894,32.555709],[102.349823,32.555859],[102.349919,32.55586],[102.349923,32.55586],[102.349925,32.555861],[102.349986,32.555876],[102.349987,32.555876],[102.349991,32.555878],[102.349991,32.555878],[102.35,32.555883],[102.349989,32.555919],[102.349878,32.556201],[102.349798,32.556311],[102.349759,32.556404],[102.349703,32.55654],[102.349695,32.556553],[102.349512,32.556771],[102.349418,32.556897],[102.349318,32.557032],[102.349231,32.55715],[102.349142,32.557271],[102.349038,32.557411],[102.348932,32.557554],[102.348847,32.55767],[102.348749,32.557802],[102.348666,32.557914],[102.348583,32.558026],[102.348522,32.558109],[102.348425,32.558238],[102.348367,32.558314],[102.346041,32.561381],[102.346003,32.56141],[102.345821,32.561634],[102.345548,32.561984],[102.345343,32.562247],[102.345385,32.562283],[102.345399,32.562296],[102.345415,32.56231],[102.345486,32.562374],[102.34583,32.56268],[102.345982,32.56263],[102.34695,32.562316],[102.347883,32.561673],[102.348553,32.561079],[102.349333,32.561206],[102.349438,32.561272],[102.349447,32.561278],[102.349503,32.561313],[102.352248,32.563027],[102.354179,32.563897],[102.3566,32.564735],[102.358537,32.565397],[102.360432,32.565851],[102.361909,32.565818],[102.362341,32.565808],[102.363617,32.565669],[102.36504,32.565492],[102.366579,32.564737],[102.367625,32.564096],[102.369078,32.562925],[102.36994,32.561866],[102.370662,32.560597],[102.371375,32.559618],[102.371833,32.559007],[102.372095,32.558432],[102.371835,32.557267],[102.371419,32.55643],[102.37106,32.555345],[102.371336,32.554274],[102.371367,32.553198],[102.371143,32.552489],[102.371114,32.551825],[102.371133,32.551163],[102.370768,32.550244],[102.370621,32.548584],[102.370863,32.547015],[102.371485,32.545785],[102.371856,32.544799],[102.37271,32.54403],[102.373359,32.543588],[102.374689,32.543243],[102.37572,32.542705],[102.374962,32.542285],[102.373745,32.541235],[102.373035,32.540443],[102.372261,32.539308],[102.371856,32.538088],[102.371844,32.537249],[102.372117,32.536696],[102.372542,32.535959],[102.373334,32.535199],[102.37504,32.534551],[102.376016,32.533795],[102.376584,32.533185],[102.377136,32.531861],[102.377549,32.530254],[102.377631,32.528702],[102.377972,32.527063],[102.377871,32.525476],[102.377822,32.524668],[102.378211,32.523868],[102.379417,32.522775],[102.380539,32.522021],[102.381558,32.521017],[102.382207,32.52013],[102.382852,32.519367],[102.383332,32.51801],[102.383771,32.516776],[102.383657,32.515655],[102.383724,32.5146],[102.383698,32.512953],[102.383621,32.511833],[102.383438,32.510556],[102.383064,32.509554],[102.382738,32.508149],[102.382615,32.507307],[102.383365,32.506733],[102.385074,32.50596],[102.38572,32.505197],[102.387068,32.5042],[102.388941,32.502841],[102.390805,32.501761],[102.39145,32.500998],[102.392357,32.500053],[102.39345,32.49902],[102.394946,32.49672],[102.395597,32.495771],[102.396198,32.495255],[102.39755,32.494134],[102.398591,32.493627],[102.39955,32.493429],[102.401838,32.492886],[102.403426,32.492484],[102.404943,32.492018],[102.406641,32.491587],[102.408235,32.490968],[102.409793,32.490316],[102.410346,32.490203],[102.4104,32.490262],[102.411555,32.491533],[102.412076,32.492538],[102.412626,32.493823],[102.413291,32.494893],[102.414039,32.495654],[102.414671,32.49663],[102.415415,32.497547],[102.416129,32.498214],[102.41708,32.498295],[102.417991,32.498501],[102.418382,32.498912],[102.419134,32.499549],[102.419839,32.500527],[102.420953,32.501327],[102.421837,32.502463],[102.422733,32.503165],[102.423334,32.503954],[102.423749,32.504832],[102.424621,32.506404],[102.425108,32.507315],[102.425522,32.508224],[102.425981,32.508855],[102.426506,32.509704],[102.426945,32.509744],[102.427608,32.509634],[102.428243,32.509243],[102.429025,32.508824],[102.429867,32.508841],[102.430677,32.508733],[102.431598,32.508597],[102.432183,32.50864],[102.432931,32.509401],[102.43312,32.509575],[102.433824,32.510227],[102.433868,32.510285],[102.434672,32.511362],[102.435728,32.512906],[102.436284,32.514005],[102.436475,32.515003],[102.43655,32.516247],[102.436476,32.51755],[102.436642,32.518175],[102.437275,32.51912],[102.438334,32.520571],[102.438827,32.521264],[102.439554,32.522802],[102.440397,32.524124],[102.441493,32.525544],[102.44224,32.526367],[102.443353,32.528502],[102.443733,32.529318],[102.444486,32.529924],[102.445242,32.530436],[102.445887,32.530977],[102.446146,32.532194],[102.446018,32.534118],[102.445949,32.535266],[102.445777,32.536164],[102.445894,32.537191],[102.446332,32.538567],[102.446959,32.53973],[102.448003,32.541739],[102.448533,32.542433],[102.448991,32.543126],[102.449447,32.54385],[102.449856,32.544946],[102.450201,32.54573],[102.451184,32.547272],[102.451482,32.547123],[102.452302,32.546642],[102.453052,32.546067],[102.454127,32.545685],[102.455121,32.54555],[102.456446,32.54539],[102.457791,32.545821],[102.458958,32.546062],[102.459078,32.546094],[102.460086,32.546365],[102.463179,32.547266],[102.4643,32.547848],[102.46605,32.548225],[102.467287,32.548592],[102.468744,32.548963],[102.470299,32.54974],[102.471013,32.550438],[102.472159,32.551424],[102.473065,32.551846],[102.47367,32.55248],[102.474416,32.553365],[102.475829,32.553983],[102.476735,32.554374],[102.477734,32.554084],[102.478815,32.553484],[102.479813,32.553193],[102.480878,32.553153],[102.481977,32.553206],[102.483219,32.553417],[102.484481,32.554188],[102.485368,32.555262],[102.486081,32.555991],[102.487423,32.556546],[102.489647,32.557056],[102.491842,32.557256],[102.492686,32.557272],[102.494116,32.557301],[102.495354,32.557636],[102.496292,32.558183],[102.496792,32.55869],[102.497559,32.558799],[102.49861,32.559286],[102.499293,32.559765],[102.500186,32.560653],[102.500606,32.561157],[102.501691,32.561911],[102.502444,32.562496],[102.503587,32.562885],[102.504697,32.562744],[102.506481,32.562576],[102.507486,32.562718],[102.50877,32.563232],[102.510436,32.563876],[102.511419,32.564832],[102.512154,32.566068],[102.512405,32.566541],[102.512657,32.567015],[102.51295,32.567733],[102.513242,32.568451],[102.514165,32.571605],[102.514792,32.573286],[102.515348,32.57403],[102.515912,32.57453],[102.516473,32.574236],[102.517034,32.573942],[102.517669,32.573588],[102.518304,32.573234],[102.519256,32.572703],[102.520208,32.572172],[102.521015,32.571679],[102.521822,32.571186],[102.522416,32.570587],[102.523355,32.569669],[102.5254,32.568732],[102.526094,32.569723],[102.526843,32.570471],[102.527781,32.571344],[102.529045,32.572591],[102.530168,32.573712],[102.530854,32.574988],[102.531133,32.575374],[102.531688,32.576144],[102.532809,32.577347],[102.534077,32.578471],[102.535204,32.579471],[102.536107,32.579855],[102.537194,32.580568],[102.539476,32.581509],[102.540609,32.582305],[102.541491,32.583462],[102.541791,32.583844],[102.54218,32.584338],[102.542467,32.584703],[102.543554,32.585416],[102.544673,32.5867],[102.54536,32.587976],[102.545678,32.588996],[102.545921,32.590114],[102.545948,32.591135],[102.546462,32.592397],[102.54731,32.593434],[102.548332,32.59415],[102.549407,32.594913],[102.549878,32.595711],[102.550069,32.596782],[102.550293,32.598595],[102.550447,32.59897],[102.550905,32.600277],[102.551303,32.60177],[102.551884,32.60257],[102.552908,32.603193],[102.554367,32.603963],[102.555829,32.604595],[102.556955,32.605545],[102.557915,32.606495],[102.557927,32.607061],[102.557933,32.607364],[102.557939,32.607651],[102.559003,32.608832],[102.559016,32.609776],[102.559021,32.610177],[102.559138,32.611041],[102.559204,32.611526],[102.55848,32.612442],[102.558409,32.612531],[102.557392,32.613671],[102.556752,32.615004],[102.556441,32.61639],[102.555649,32.617302],[102.554907,32.618354],[102.554006,32.619265],[102.552711,32.620455],[102.552375,32.620764],[102.550863,32.62194],[102.550262,32.621882],[102.548618,32.62185],[102.546576,32.622367],[102.544679,32.623582],[102.543939,32.624588],[102.542642,32.625908],[102.540786,32.627635],[102.539552,32.628631],[102.537873,32.629897],[102.536416,32.631074],[102.535564,32.632125],[102.534097,32.633673],[102.53276,32.634435],[102.530926,32.635327],[102.529309,32.636316],[102.52798,32.6368],[102.527296,32.63776],[102.526438,32.639042],[102.525754,32.640003],[102.524899,32.641192],[102.523992,32.642241],[102.523307,32.643248],[102.521664,32.645164],[102.520916,32.646448],[102.520448,32.647506],[102.52031,32.648524],[102.520001,32.64977],[102.519915,32.650928],[102.519496,32.652172],[102.519503,32.653935],[102.519855,32.655056],[102.51988,32.65512],[102.520021,32.655484],[102.520043,32.65554],[102.52047,32.656645],[102.520796,32.658739],[102.521132,32.660462],[102.521262,32.661717],[102.521115,32.663059],[102.521091,32.66394],[102.521381,32.665338],[102.521565,32.66664],[102.522027,32.667118],[102.522782,32.668224],[102.523542,32.669141],[102.524245,32.670104],[102.52453,32.670541],[102.524742,32.670868],[102.525214,32.671594],[102.525301,32.672498],[102.525806,32.674549],[102.525959,32.675027],[102.526549,32.676878],[102.526578,32.676968],[102.526736,32.677462],[102.527029,32.678396],[102.5272,32.678942],[102.527282,32.679131],[102.527495,32.679618],[102.527779,32.68027],[102.527947,32.680656],[102.528097,32.681001],[102.52822,32.681302],[102.528275,32.681436],[102.528298,32.681492],[102.528939,32.683058],[102.529464,32.68435],[102.529523,32.684686],[102.529572,32.684969],[102.529755,32.686017],[102.52993,32.687429],[102.529948,32.68758],[102.529975,32.687791],[102.529975,32.687791],[102.529985,32.687872],[102.530726,32.689501],[102.530923,32.689729],[102.531977,32.690949],[102.533055,32.69229],[102.533356,32.692665],[102.533876,32.693312],[102.534739,32.69445],[102.535047,32.694857],[102.535447,32.695384],[102.535735,32.696639],[102.535783,32.696847],[102.535798,32.696909],[102.536601,32.698301],[102.535597,32.698092],[102.534147,32.697731],[102.531396,32.697772],[102.53041,32.697799],[102.529879,32.697813],[102.528949,32.697838],[102.527351,32.697882],[102.526799,32.697831],[102.526433,32.697797],[102.525392,32.697701],[102.523367,32.697851],[102.523164,32.697857],[102.523039,32.697861],[102.519425,32.697971],[102.518648,32.697995],[102.518122,32.698068],[102.517859,32.698104],[102.517796,32.698112],[102.517796,32.698113],[102.517795,32.698113],[102.517768,32.698116],[102.517738,32.698121],[102.517212,32.698193],[102.517204,32.698194],[102.517151,32.698202],[102.517149,32.698202],[102.51627,32.698323],[102.516141,32.698341],[102.515943,32.698368],[102.515786,32.698361],[102.515777,32.69836],[102.515754,32.698359],[102.515608,32.698352],[102.515484,32.698346],[102.515438,32.698344],[102.515414,32.698343],[102.514305,32.69829],[102.514262,32.698288],[102.513131,32.69821],[102.512285,32.698152],[102.511348,32.698088],[102.511166,32.698065],[102.509502,32.697861],[102.509215,32.697769],[102.507934,32.69736],[102.507444,32.697203],[102.506688,32.696966],[102.50583,32.696696],[102.505234,32.696437],[102.503889,32.695851],[102.500492,32.69406],[102.500386,32.693993],[102.500211,32.693882],[102.499525,32.693627],[102.499003,32.69334],[102.497618,32.693278],[102.497331,32.693371],[102.496712,32.693571],[102.496321,32.69363],[102.495114,32.693815],[102.493923,32.694136],[102.492317,32.694655],[102.491319,32.695325],[102.49061,32.695897],[102.490429,32.696549],[102.490532,32.698391],[102.49058,32.698415],[102.490842,32.699282],[102.490906,32.699904],[102.491016,32.701804],[102.491064,32.702137],[102.49109,32.702322],[102.491104,32.702415],[102.491175,32.702907],[102.491183,32.702962],[102.491255,32.703464],[102.491399,32.704139],[102.491543,32.704815],[102.491631,32.705317],[102.491719,32.705819],[102.492025,32.706549],[102.492331,32.707279],[102.492622,32.707803],[102.492914,32.708326],[102.493385,32.708991],[102.493856,32.709655],[102.494348,32.710286],[102.49484,32.710917],[102.495136,32.711285],[102.495432,32.711653],[102.495767,32.712073],[102.496102,32.712494],[102.496531,32.71321],[102.496959,32.713925],[102.49707,32.714359],[102.49718,32.714792],[102.497412,32.715245],[102.497644,32.715698],[102.497995,32.716291],[102.498345,32.716885],[102.498375,32.717282],[102.498405,32.717679],[102.498409,32.718248],[102.498414,32.718818],[102.498422,32.719266],[102.49843,32.719715],[102.498577,32.720269],[102.498725,32.720824],[102.498832,32.721361],[102.49894,32.721898],[102.499112,32.722315],[102.499284,32.722732],[102.499438,32.723063],[102.499592,32.723394],[102.499828,32.723692],[102.500065,32.72399],[102.500346,32.724151],[102.500627,32.724311],[102.50109,32.725033],[102.501553,32.725754],[102.501973,32.72643],[102.502393,32.727106],[102.502505,32.727813],[102.502617,32.728519],[102.502643,32.72915],[102.502669,32.729781],[102.502666,32.729885],[102.502664,32.729988],[102.502662,32.730055],[102.502637,32.730957],[102.502601,32.732227],[102.502609,32.732461],[102.502644,32.733493],[102.502649,32.733637],[102.5027,32.733757],[102.502777,32.733942],[102.503308,32.735207],[102.503789,32.737993],[102.503744,32.739619],[102.503859,32.740319],[102.50403,32.741365],[102.504039,32.741419],[102.504047,32.741937],[102.504051,32.742242],[102.504056,32.742587],[102.504698,32.744352],[102.505915,32.746712],[102.50593,32.746729],[102.507251,32.748257],[102.507493,32.748537],[102.507648,32.748691],[102.507986,32.749029],[102.508823,32.749863],[102.50903,32.750069],[102.510096,32.7508],[102.510977,32.751402],[102.513051,32.752819],[102.515087,32.754152],[102.516244,32.755135],[102.516861,32.756023],[102.517078,32.757112],[102.517079,32.758864],[102.516983,32.76053],[102.517102,32.761576],[102.517273,32.762538],[102.517578,32.764004],[102.516656,32.765196],[102.515981,32.766392],[102.515761,32.76718],[102.515443,32.767967],[102.514966,32.769167],[102.514105,32.771694],[102.513882,32.772608],[102.513609,32.773562],[102.513343,32.774527],[102.51306,32.775553],[102.512259,32.77764],[102.512186,32.777831],[102.512155,32.777913],[102.511574,32.779277],[102.510617,32.78036],[102.510271,32.780752],[102.510266,32.780757],[102.510201,32.78083],[102.510197,32.780835],[102.510189,32.780844],[102.510189,32.780845],[102.510189,32.780845],[102.510189,32.780845],[102.510178,32.780858],[102.510073,32.780984],[102.510024,32.781043],[102.510009,32.781062],[102.510009,32.781062],[102.510009,32.781062],[102.509912,32.781178],[102.50989,32.781205],[102.509817,32.781214],[102.509771,32.78122],[102.509279,32.781286],[102.5088,32.78135],[102.508286,32.781517],[102.508275,32.78152],[102.508199,32.781545],[102.508198,32.781545],[102.508188,32.781549],[102.507953,32.781625],[102.507932,32.781638],[102.507897,32.781662],[102.507803,32.781723],[102.507766,32.781748],[102.5074,32.781989],[102.507134,32.782651],[102.507301,32.783739],[102.508457,32.784805],[102.51011,32.785714],[102.510517,32.786236],[102.510549,32.786278],[102.510969,32.786816],[102.510992,32.787734],[102.510518,32.788809],[102.510266,32.789151],[102.509851,32.789713],[102.50972,32.789768],[102.509469,32.789874],[102.509383,32.789911],[102.509337,32.78993],[102.509164,32.790003],[102.509001,32.790072],[102.508743,32.79008],[102.50869,32.790082],[102.508606,32.790085],[102.508393,32.790092],[102.50821,32.790098],[102.508191,32.79008],[102.507873,32.789799],[102.507965,32.789429],[102.508047,32.789097],[102.508079,32.78897],[102.50812,32.788804],[102.508151,32.788678],[102.508389,32.788239],[102.508444,32.788136],[102.50862,32.787812],[102.508552,32.787428],[102.508526,32.787282],[102.508449,32.786849],[102.507623,32.786374],[102.506392,32.786224],[102.50592,32.786141],[102.505311,32.786035],[102.504282,32.785765],[102.504006,32.78575],[102.503785,32.785738],[102.503049,32.785698],[102.501936,32.786064],[102.501923,32.786069],[102.501884,32.786081],[102.501853,32.786092],[102.501849,32.786096],[102.501844,32.7861],[102.501785,32.786155],[102.501756,32.786183],[102.5015,32.786423],[102.50146,32.786461],[102.501361,32.786554],[102.501244,32.786663],[102.501171,32.786828],[102.500958,32.787305],[102.500876,32.78749],[102.500866,32.78783],[102.50085,32.788408],[102.500847,32.788526],[102.500834,32.788964],[102.500832,32.789058],[102.500825,32.789283],[102.500816,32.789612],[102.500808,32.789908],[102.500871,32.790208],[102.500526,32.790463],[102.499896,32.790929],[102.499671,32.79104],[102.499216,32.791264],[102.499195,32.791265],[102.498545,32.791294],[102.497803,32.791083],[102.497119,32.790656],[102.496484,32.790294],[102.496227,32.790781],[102.496206,32.790821],[102.496141,32.790943],[102.495977,32.791253],[102.495958,32.79129],[102.495957,32.791291],[102.495942,32.79132],[102.495743,32.791696],[102.495741,32.791699],[102.495701,32.791776],[102.495681,32.791814],[102.495664,32.791847],[102.495631,32.791908],[102.495601,32.791966],[102.495368,32.792407],[102.495357,32.79243],[102.495353,32.792439],[102.495339,32.792471],[102.495326,32.792499],[102.495311,32.792533],[102.495295,32.792567],[102.494921,32.793398],[102.494913,32.793415],[102.4949,32.793443],[102.494882,32.793483],[102.494849,32.793556],[102.494832,32.793593],[102.492391,32.799006],[102.492233,32.799358],[102.49192,32.800476],[102.491908,32.80052],[102.491803,32.800895],[102.491777,32.801788],[102.492419,32.802825],[102.493538,32.804306],[102.493553,32.80433],[102.494254,32.805432],[102.495026,32.80679],[102.495057,32.806843],[102.495058,32.806845],[102.495059,32.806847],[102.495091,32.806903],[102.495094,32.806909],[102.495557,32.807723],[102.496219,32.808956],[102.497089,32.810106],[102.497608,32.810922],[102.498223,32.81198],[102.498437,32.812638],[102.498573,32.813294],[102.498883,32.814215],[102.499278,32.814855],[102.49959,32.815689],[102.499831,32.816281],[102.500433,32.816903],[102.500655,32.817166],[102.501321,32.817952],[102.501299,32.818746],[102.501091,32.819456],[102.500798,32.819848],[102.500413,32.820158],[102.500339,32.820256],[102.500151,32.820513],[102.49959,32.821199],[102.498942,32.82221],[102.498588,32.8229],[102.498463,32.82366],[102.498227,32.824722],[102.498076,32.825525],[102.4977,32.82604],[102.497083,32.826899],[102.495954,32.829005],[102.495721,32.829684],[102.495588,32.830294],[102.495507,32.830836],[102.495287,32.832198],[102.495258,32.833215],[102.495307,32.834429],[102.495517,32.835172],[102.495487,32.835659],[102.49553,32.836469],[102.495488,32.836897],[102.495484,32.836942],[102.495393,32.837247],[102.495116,32.837687],[102.494919,32.838241],[102.49473,32.839101],[102.494596,32.839754],[102.494555,32.840302],[102.494771,32.840636],[102.495224,32.841623],[102.495537,32.842264],[102.495721,32.842674],[102.496027,32.843048],[102.496249,32.843674],[102.496327,32.84412],[102.496437,32.84449],[102.496502,32.84486],[102.496385,32.845276],[102.495856,32.8459],[102.494546,32.847029],[102.49356,32.847885],[102.492679,32.848706],[102.491861,32.849463],[102.490759,32.850338],[102.490281,32.850567],[102.489742,32.850826],[102.48862,32.851531],[102.487537,32.852254],[102.486855,32.85272],[102.486127,32.852953],[102.485238,32.853184],[102.484649,32.853194],[102.484003,32.853362],[102.483244,32.85373],[102.481971,32.854314],[102.481052,32.854679],[102.480214,32.854978],[102.479001,32.855337],[102.478111,32.85559],[102.477274,32.855889],[102.476142,32.856205],[102.475173,32.856433],[102.474545,32.856895],[102.474161,32.857282],[102.473931,32.857514],[102.473231,32.858282],[102.47278,32.859116],[102.472702,32.859232],[102.472222,32.859947],[102.471984,32.860785],[102.471528,32.861768],[102.470434,32.863912],[102.469976,32.864956],[102.469819,32.865465],[102.469365,32.866388],[102.469019,32.867284],[102.468038,32.869159],[102.467217,32.870467],[102.466829,32.871572],[102.466809,32.872264],[102.466789,32.872955],[102.466629,32.873584],[102.466434,32.874182],[102.465427,32.875726],[102.464908,32.876407],[102.464274,32.877387],[102.463539,32.878155],[102.463198,32.87887],[102.463072,32.879529],[102.463009,32.880491],[102.463611,32.881887],[102.463871,32.882795],[102.46356,32.883691],[102.463218,32.884437],[102.463022,32.885034],[102.462597,32.886199],[102.462401,32.886827],[102.462111,32.886972],[102.461397,32.887017],[102.460608,32.887152],[102.460165,32.887684],[102.459612,32.888305],[102.459053,32.889166],[102.458239,32.890203],[102.45739,32.891208],[102.45657,32.892425],[102.456305,32.892992],[102.456412,32.894227],[102.456252,32.89609],[102.456064,32.89765],[102.456207,32.898887],[102.456001,32.902145],[102.456122,32.903515],[102.456031,32.904303],[102.455844,32.905262],[102.455799,32.905636],[102.455754,32.906011],[102.45571,32.906751],[102.455666,32.907492],[102.455584,32.907943],[102.455503,32.908393],[102.455421,32.908864],[102.455339,32.909334],[102.45526,32.909717],[102.45518,32.910101],[102.45526,32.910487],[102.455341,32.910874],[102.455408,32.911299],[102.455476,32.911724],[102.455475,32.912157],[102.455474,32.912591],[102.455472,32.913062],[102.45547,32.913534],[102.45562,32.913855],[102.455771,32.914176],[102.455876,32.914515],[102.45598,32.914854],[102.456185,32.915263],[102.45639,32.915671],[102.45673,32.916159],[102.45707,32.916648],[102.457233,32.916949],[102.457395,32.917251],[102.457431,32.917608],[102.457466,32.917965],[102.45745,32.918523],[102.457434,32.919081],[102.457412,32.919221],[102.457389,32.919361],[102.457323,32.919772],[102.45741,32.921526],[102.457363,32.922373],[102.457186,32.922966],[102.456974,32.923193],[102.456693,32.923437],[102.455973,32.923866],[102.455301,32.924218],[102.454694,32.924668],[102.454021,32.925039],[102.453259,32.925351],[102.452633,32.925685],[102.452324,32.926121],[102.451945,32.926576],[102.451478,32.926932],[102.45119,32.927446],[102.450741,32.927976],[102.450068,32.928328],[102.449606,32.928531],[102.449481,32.928894],[102.449331,32.929353],[102.449001,32.929712],[102.448442,32.930105],[102.447794,32.930381],[102.446633,32.931069],[102.445596,32.931414],[102.444741,32.931762],[102.444338,32.932255],[102.444121,32.932655],[102.44351,32.933259],[102.442815,32.934419],[102.44229,32.935178],[102.441734,32.935456],[102.440916,32.935324],[102.440455,32.935375],[102.44039,32.935328],[102.440358,32.935305],[102.440217,32.935204],[102.440052,32.935086],[102.440038,32.935076],[102.439918,32.93499],[102.439561,32.934787],[102.439204,32.934584],[102.438942,32.934421],[102.43868,32.934259],[102.438465,32.934126],[102.438251,32.933994],[102.438037,32.933861],[102.437822,32.933728],[102.437599,32.933479],[102.437429,32.933329],[102.437258,32.933179],[102.437044,32.93304],[102.43683,32.932901],[102.436558,32.93276],[102.436286,32.93262],[102.435943,32.932442],[102.435726,32.932376],[102.43551,32.932311],[102.435077,32.932253],[102.434716,32.93216],[102.434355,32.932067],[102.434053,32.931963],[102.43375,32.931859],[102.433508,32.931707],[102.433265,32.931555],[102.433041,32.931306],[102.43283,32.931057],[102.432619,32.930808],[102.432462,32.930619],[102.432305,32.93043],[102.432149,32.930241],[102.431992,32.930052],[102.431835,32.929863],[102.431678,32.929675],[102.431521,32.929486],[102.431364,32.929297],[102.431207,32.929108],[102.431051,32.928919],[102.430894,32.92873],[102.430737,32.928541],[102.430619,32.928333],[102.430502,32.928124],[102.430384,32.927915],[102.430266,32.927706],[102.430149,32.927498],[102.430031,32.927289],[102.429913,32.92708],[102.429796,32.926872],[102.429678,32.926663],[102.42956,32.926454],[102.429437,32.926209],[102.429313,32.925965],[102.429189,32.92572],[102.429066,32.925475],[102.428942,32.92523],[102.428818,32.924985],[102.428694,32.92474],[102.428571,32.924496],[102.428447,32.924251],[102.428323,32.924006],[102.428071,32.923683],[102.427759,32.923407],[102.427502,32.923255],[102.427299,32.923251],[102.427067,32.923247],[102.426817,32.923339],[102.426567,32.923432],[102.426287,32.923573],[102.426006,32.923715],[102.425754,32.923893],[102.425502,32.924071],[102.425147,32.924284],[102.424792,32.924497],[102.424585,32.924639],[102.424377,32.924782],[102.42417,32.924924],[102.423962,32.925067],[102.42375,32.92518],[102.423537,32.925293],[102.423324,32.925406],[102.423112,32.925519],[102.422899,32.925632],[102.422687,32.925745],[102.422474,32.925858],[102.422262,32.925971],[102.422049,32.926084],[102.421837,32.926197],[102.421411,32.926335],[102.420986,32.926474],[102.420752,32.926505],[102.420519,32.926537],[102.420113,32.926504],[102.419929,32.926366],[102.419744,32.926227],[102.419559,32.926089],[102.419374,32.925951],[102.419204,32.9258],[102.419034,32.92565],[102.41885,32.925462],[102.418666,32.925274],[102.418415,32.924976],[102.418148,32.924653],[102.41788,32.924329],[102.417716,32.92413],[102.417551,32.923931],[102.417386,32.923731],[102.417221,32.923532],[102.417056,32.923333],[102.416891,32.923134],[102.416726,32.922935],[102.416561,32.922736],[102.416353,32.922576],[102.416145,32.922416],[102.415936,32.922256],[102.415728,32.922097],[102.415519,32.921937],[102.415311,32.921777],[102.415103,32.921617],[102.414894,32.921457],[102.414686,32.921298],[102.414478,32.921138],[102.414269,32.920978],[102.414061,32.920818],[102.413853,32.920659],[102.413644,32.920499],[102.413436,32.920339],[102.413228,32.920179],[102.413044,32.920012],[102.41286,32.919844],[102.412676,32.919676],[102.412491,32.919508],[102.412307,32.91934],[102.412123,32.919173],[102.411939,32.919005],[102.411755,32.918837],[102.411571,32.918669],[102.411387,32.918501],[102.411203,32.918333],[102.411019,32.918166],[102.410835,32.917998],[102.410651,32.91783],[102.410381,32.917617],[102.410111,32.917404],[102.409861,32.917031],[102.409778,32.916788],[102.409727,32.916637],[102.409736,32.916343],[102.409743,32.916099],[102.409777,32.915904],[102.409812,32.915734],[102.41001,32.915548],[102.410208,32.915362],[102.410405,32.915177],[102.410603,32.914991],[102.410801,32.914806],[102.410999,32.91462],[102.411197,32.914434],[102.411395,32.914249],[102.41154,32.914049],[102.411685,32.913849],[102.411831,32.913649],[102.411976,32.913449],[102.412121,32.913249],[102.412267,32.913049],[102.412412,32.912849],[102.412557,32.912649],[102.412703,32.912449],[102.412848,32.912249],[102.413033,32.912072],[102.413217,32.911895],[102.413402,32.911718],[102.413587,32.911541],[102.413772,32.911364],[102.413956,32.911187],[102.414141,32.91101],[102.414326,32.910834],[102.414511,32.910657],[102.414695,32.91048],[102.414918,32.910325],[102.41514,32.910171],[102.415363,32.910016],[102.415585,32.909862],[102.415706,32.909693],[102.415712,32.909547],[102.415688,32.909302],[102.415606,32.909128],[102.415489,32.909012],[102.415352,32.908878],[102.41521,32.908802],[102.414948,32.908772],[102.414612,32.908765],[102.4142,32.908673],[102.413788,32.908581],[102.413376,32.908489],[102.413011,32.908409],[102.412646,32.90833],[102.41228,32.908251],[102.411961,32.908164],[102.411641,32.908076],[102.411321,32.907988],[102.411004,32.907824],[102.410686,32.90766],[102.410463,32.907462],[102.41024,32.907265],[102.410041,32.90703],[102.409846,32.906799],[102.409669,32.906487],[102.409491,32.906176],[102.409163,32.905978],[102.408836,32.905781],[102.408508,32.905583],[102.408319,32.905456],[102.407983,32.905228],[102.407647,32.904999],[102.40731,32.904771],[102.407096,32.904621],[102.406882,32.904471],[102.406528,32.904272],[102.406356,32.90415],[102.40602,32.904051],[102.405783,32.903964],[102.405521,32.903895],[102.405259,32.903826],[102.404959,32.903772],[102.40466,32.903717],[102.404497,32.903718],[102.40416,32.90372],[102.403822,32.903722],[102.403405,32.903725],[102.403184,32.903727],[102.402802,32.90369],[102.40242,32.903654],[102.402037,32.903617],[102.401792,32.903555],[102.401547,32.903493],[102.401347,32.903384],[102.401129,32.903198],[102.400915,32.902969],[102.400734,32.902775],[102.400572,32.902527],[102.40041,32.90228],[102.400232,32.901934],[102.400055,32.901588],[102.399877,32.901242],[102.39981,32.900916],[102.399744,32.90059],[102.399601,32.900291],[102.399463,32.900086],[102.399358,32.899834],[102.399296,32.899534],[102.399234,32.899234],[102.399209,32.898915],[102.399184,32.898596],[102.399158,32.898278],[102.399149,32.898025],[102.39912,32.897806],[102.399122,32.89758],[102.399122,32.897514],[102.399124,32.897221],[102.399125,32.897126],[102.399096,32.896955],[102.399044,32.896798],[102.398858,32.896441],[102.39869,32.89611],[102.398521,32.895779],[102.398477,32.895674],[102.398356,32.895381],[102.398235,32.895089],[102.398168,32.894846],[102.398102,32.894604],[102.398035,32.894228],[102.397969,32.893852],[102.397923,32.893557],[102.397904,32.89344],[102.397877,32.893265],[102.39784,32.893028],[102.397808,32.89293],[102.39763,32.892784],[102.397452,32.892637],[102.397283,32.89245],[102.397115,32.892263],[102.396893,32.891941],[102.396848,32.891605],[102.396851,32.891506],[102.396883,32.891385],[102.397003,32.891241],[102.39712,32.891243],[102.397411,32.891249],[102.397583,32.891301],[102.397959,32.891359],[102.398222,32.891314],[102.398456,32.891246],[102.398601,32.891177],[102.398824,32.89107],[102.39909,32.890944],[102.399091,32.890943],[102.399092,32.890943],[102.399193,32.890895],[102.399549,32.890657],[102.39977,32.890527],[102.399991,32.890397],[102.400288,32.890183],[102.400555,32.89003],[102.400821,32.889876],[102.400967,32.889696],[102.401112,32.889515],[102.401257,32.889335],[102.401403,32.889155],[102.401548,32.888974],[102.401694,32.888794],[102.401847,32.888516],[102.401944,32.888342],[102.402061,32.888217],[102.402142,32.888084],[102.402323,32.887846],[102.402428,32.887646],[102.402418,32.887508],[102.402352,32.887422],[102.402285,32.887365],[102.402194,32.887161],[102.402152,32.88705],[102.402071,32.886837],[102.401999,32.886604],[102.402009,32.886466],[102.402061,32.886347],[102.402118,32.886176],[102.402149,32.886117],[102.402218,32.885985],[102.402214,32.885881],[102.402097,32.885754],[102.402004,32.885652],[102.401933,32.885581],[102.401923,32.885495],[102.401985,32.885333],[102.402019,32.885258],[102.402104,32.885067],[102.402099,32.884938],[102.402076,32.884848],[102.401971,32.88461],[102.401967,32.884602],[102.401899,32.884472],[102.401895,32.884329],[102.401933,32.883982],[102.401972,32.883634],[102.402011,32.883286],[102.402049,32.882939],[102.402054,32.882898],[102.40207,32.882577],[102.402104,32.882343],[102.402164,32.882126],[102.402225,32.881909],[102.402395,32.881664],[102.402481,32.881601],[102.402789,32.88137],[102.403097,32.881139],[102.403405,32.880909],[102.403643,32.880717],[102.403942,32.880429],[102.404126,32.880103],[102.40431,32.879777],[102.404413,32.879555],[102.404516,32.879333],[102.404619,32.879112],[102.404722,32.87889],[102.404826,32.878668],[102.404929,32.878447],[102.404968,32.878203],[102.405007,32.877959],[102.405046,32.877715],[102.405085,32.877471],[102.405124,32.877227],[102.405163,32.876983],[102.405202,32.87674],[102.405241,32.876496],[102.40528,32.876252],[102.405291,32.876186],[102.405319,32.876008],[102.405357,32.87574],[102.405394,32.875471],[102.405403,32.875154],[102.405404,32.875121],[102.405409,32.874909],[102.405391,32.874554],[102.405373,32.874199],[102.405321,32.873965],[102.405269,32.873731],[102.405203,32.87352],[102.405178,32.873312],[102.405088,32.873184],[102.405087,32.873183],[102.404783,32.872984],[102.404579,32.872855],[102.404517,32.872713],[102.404455,32.872584],[102.404493,32.872365],[102.404493,32.872284],[102.404393,32.872146],[102.404331,32.87197],[102.404283,32.871903],[102.404198,32.871785],[102.404103,32.871689],[102.403879,32.871452],[102.403772,32.871241],[102.403771,32.871239],[102.40377,32.871237],[102.403736,32.871099],[102.403774,32.871014],[102.403803,32.870895],[102.403741,32.87079],[102.403679,32.87069],[102.403655,32.870595],[102.403708,32.870495],[102.40377,32.870428],[102.403808,32.870324],[102.403805,32.8703],[102.403773,32.870204],[102.403746,32.870171],[102.403475,32.869991],[102.40337,32.869857],[102.403337,32.869743],[102.403327,32.869619],[102.403322,32.869519],[102.403256,32.869434],[102.40308,32.869291],[102.402898,32.868954],[102.402862,32.868794],[102.402856,32.868544],[102.402862,32.868336],[102.40291,32.868062],[102.402969,32.867913],[102.403011,32.86783],[102.40304,32.867771],[102.403034,32.867663],[102.403017,32.867556],[102.402957,32.867372],[102.402924,32.867295],[102.402922,32.867281],[102.402878,32.866916],[102.402939,32.866688],[102.402927,32.866533],[102.402898,32.866426],[102.402868,32.866271],[102.402808,32.866051],[102.402767,32.866001],[102.402624,32.865825],[102.40241,32.865647],[102.402368,32.86554],[102.402351,32.865307],[102.402334,32.865073],[102.402266,32.864738],[102.402198,32.864402],[102.402195,32.86435],[102.402184,32.864124],[102.402189,32.863736],[102.402193,32.863348],[102.402198,32.86296],[102.402219,32.862636],[102.402241,32.862311],[102.40217,32.861961],[102.402105,32.861725],[102.402041,32.86149],[102.402041,32.861247],[102.402062,32.860869],[102.402098,32.860662],[102.402105,32.860419],[102.402048,32.860262],[102.402027,32.860048],[102.40207,32.85982],[102.402048,32.859591],[102.401991,32.859427],[102.40177,32.859284],[102.401698,32.859063],[102.401684,32.858752],[102.401683,32.858751],[102.401682,32.85875],[102.401664,32.858723],[102.401529,32.858515],[102.401452,32.858299],[102.401374,32.858084],[102.401296,32.857868],[102.401218,32.857653],[102.40114,32.857438],[102.401062,32.857222],[102.400984,32.857007],[102.400906,32.856792],[102.400801,32.856422],[102.400663,32.856175],[102.400465,32.855975],[102.400267,32.855824],[102.400088,32.85567],[102.399908,32.855515],[102.399729,32.85536],[102.39955,32.855206],[102.39937,32.855051],[102.399191,32.854896],[102.399,32.854703],[102.39881,32.854509],[102.39862,32.854315],[102.398429,32.854122],[102.398348,32.85404],[102.398343,32.854034],[102.398239,32.853928],[102.398049,32.853735],[102.397858,32.853541],[102.397668,32.853347],[102.397499,32.853179],[102.397329,32.85301],[102.39716,32.852842],[102.396991,32.852673],[102.396821,32.852504],[102.396652,32.852336],[102.396483,32.852167],[102.396314,32.851998],[102.396124,32.85186],[102.395934,32.851722],[102.395744,32.851584],[102.395554,32.851446],[102.395364,32.851308],[102.395174,32.851171],[102.394985,32.851033],[102.394795,32.850895],[102.394605,32.850757],[102.394415,32.850619],[102.394225,32.850481],[102.394035,32.850343],[102.39383,32.850176],[102.393624,32.85001],[102.393418,32.849843],[102.393212,32.849677],[102.393007,32.84951],[102.392801,32.849344],[102.392595,32.849177],[102.39239,32.849011],[102.392261,32.848806],[102.392133,32.848602],[102.392005,32.848397],[102.391876,32.848193],[102.391748,32.847988],[102.39162,32.847784],[102.391492,32.847579],[102.391363,32.847375],[102.391318,32.846934],[102.391328,32.846591],[102.391394,32.846299],[102.391461,32.846006],[102.391586,32.84574],[102.39171,32.845461],[102.391834,32.845182],[102.3919,32.844891],[102.391903,32.844821],[102.391907,32.844686],[102.391908,32.844645],[102.391913,32.84445],[102.391892,32.84424],[102.391891,32.84423],[102.391692,32.843971],[102.391684,32.843961],[102.391642,32.843869],[102.391635,32.843863],[102.391563,32.843805],[102.391305,32.843595],[102.391046,32.843384],[102.390838,32.84323],[102.390631,32.843075],[102.390307,32.842868],[102.389982,32.842661],[102.389628,32.842401],[102.389274,32.84214],[102.38892,32.84188],[102.388873,32.841844],[102.388599,32.841629],[102.388325,32.841414],[102.388051,32.841199],[102.387777,32.840984],[102.38762,32.840885],[102.387218,32.840736],[102.386895,32.840616],[102.386572,32.840496],[102.386329,32.840428],[102.386087,32.84036],[102.38573,32.840303],[102.385409,32.840275],[102.385087,32.840246],[102.384798,32.840235],[102.384509,32.840225],[102.384202,32.8402],[102.383895,32.840175],[102.383598,32.840087],[102.3833,32.839999],[102.383003,32.839911],[102.38267,32.839801],[102.382337,32.839692],[102.382004,32.839582],[102.381797,32.839493],[102.38159,32.839404],[102.38133,32.839236],[102.38107,32.839068],[102.380734,32.83885],[102.380397,32.838633],[102.380041,32.838397],[102.379685,32.83816],[102.379328,32.837924],[102.379024,32.837723],[102.378721,32.837522],[102.378417,32.837321],[102.378113,32.837119],[102.377849,32.836991],[102.377585,32.836862],[102.377235,32.836763],[102.377021,32.836634],[102.37685,32.83652],[102.3766,32.836456],[102.376329,32.836395],[102.376057,32.836334],[102.375715,32.836256],[102.375483,32.836131],[102.375251,32.836006],[102.375008,32.835849],[102.374765,32.835692],[102.374544,32.835442],[102.374394,32.835074],[102.374244,32.834707],[102.374059,32.834475],[102.373873,32.834243],[102.373709,32.834061],[102.373545,32.833879],[102.37328,32.833722],[102.373016,32.833565],[102.372661,32.833422],[102.372307,32.83328],[102.371952,32.833137],[102.371931,32.833129],[102.371524,32.832965],[102.371189,32.832979],[102.371039,32.833022],[102.370825,32.833168],[102.370611,32.833315],[102.37033,32.833448],[102.370049,32.833581],[102.369768,32.833714],[102.369376,32.833839],[102.368983,32.833964],[102.368665,32.834026],[102.368314,32.834095],[102.367964,32.834163],[102.367848,32.834186],[102.367508,32.834202],[102.367168,32.834219],[102.366827,32.834236],[102.366501,32.8342],[102.366175,32.834164],[102.365849,32.834128],[102.365454,32.834083],[102.365059,32.834038],[102.364664,32.833993],[102.364407,32.833918],[102.36415,32.833843],[102.363808,32.833657],[102.363565,32.833424],[102.363322,32.833191],[102.36308,32.832958],[102.362891,32.832712],[102.362701,32.832465],[102.362484,32.832226],[102.362266,32.831987],[102.36206,32.831831],[102.361785,32.831624],[102.361509,32.831416],[102.361259,32.831221],[102.36101,32.831026],[102.36076,32.830831],[102.360446,32.830645],[102.360148,32.830531],[102.359851,32.830417],[102.359553,32.830302],[102.359211,32.830081],[102.358868,32.82986],[102.358791,32.82981],[102.358491,32.829617],[102.35819,32.829424],[102.35789,32.829232],[102.357705,32.829064],[102.357519,32.828896],[102.357383,32.828646],[102.357248,32.828396],[102.357119,32.828275],[102.356934,32.828196],[102.356634,32.828204],[102.356348,32.828214],[102.356063,32.828225],[102.355813,32.828225],[102.355563,32.828225],[102.355254,32.828144],[102.354944,32.828063],[102.354635,32.827982],[102.354325,32.827896],[102.354021,32.827811],[102.35365,32.827668],[102.353563,32.827643],[102.353257,32.827554],[102.3529,32.827511],[102.352472,32.827447],[102.352094,32.827354],[102.351803,32.827157],[102.351513,32.826959],[102.351223,32.826762],[102.351016,32.826448],[102.350809,32.826134],[102.350545,32.825805],[102.350281,32.825477],[102.350066,32.825098],[102.34997,32.824799],[102.349874,32.824499],[102.349817,32.824099],[102.349753,32.823761],[102.349688,32.823422],[102.349638,32.823157],[102.349517,32.822907],[102.34931,32.8226],[102.348959,32.822377],[102.348739,32.822236],[102.348467,32.821893],[102.348343,32.821668],[102.348218,32.821444],[102.348077,32.82117],[102.347937,32.820896],[102.347743,32.820639],[102.347548,32.820381],[102.347354,32.820123],[102.347199,32.819885],[102.347045,32.819647],[102.346955,32.819409],[102.346866,32.819171],[102.346818,32.818731],[102.346652,32.818493],[102.346366,32.818267],[102.345948,32.818227],[102.34553,32.818187],[102.345112,32.818147],[102.344731,32.818111],[102.344412,32.818116],[102.344094,32.81812],[102.34382,32.818125],[102.343547,32.818129],[102.343246,32.818051],[102.342946,32.817974],[102.342786,32.817906],[102.342536,32.8178],[102.342286,32.817694],[102.341911,32.81748],[102.341729,32.81729],[102.341548,32.8171],[102.341364,32.816847],[102.341181,32.816595],[102.341036,32.816398],[102.340894,32.816118],[102.340751,32.815838],[102.340608,32.815559],[102.340397,32.815247],[102.340186,32.814934],[102.340055,32.814696],[102.339924,32.814458],[102.339668,32.814274],[102.339668,32.814274],[102.339319,32.814213],[102.339135,32.814189],[102.33888,32.81422],[102.338625,32.81425],[102.338343,32.814351],[102.33806,32.814453],[102.337735,32.814553],[102.33741,32.814653],[102.337156,32.814648],[102.336902,32.814642],[102.336651,32.814598],[102.336399,32.814553],[102.336338,32.81453],[102.336011,32.81436],[102.335796,32.814215],[102.335581,32.814071],[102.335338,32.813965],[102.335096,32.81386],[102.334854,32.813832],[102.334612,32.813804],[102.334416,32.813755],[102.334069,32.813723],[102.333722,32.813691],[102.333606,32.81368],[102.333574,32.813677],[102.333389,32.81366],[102.333097,32.813632],[102.332869,32.813548],[102.33264,32.813465],[102.332405,32.813334],[102.332291,32.813234],[102.332161,32.81312],[102.332024,32.812924],[102.331905,32.812638],[102.33181,32.812409],[102.331715,32.81218],[102.331554,32.811936],[102.331382,32.811704],[102.331162,32.811609],[102.330852,32.811442],[102.33065,32.811163],[102.330448,32.810883],[102.330308,32.810702],[102.330168,32.81052],[102.329972,32.810348],[102.329776,32.810175],[102.329585,32.809917],[102.329395,32.809658],[102.329193,32.809289],[102.329153,32.809154],[102.329097,32.808962],[102.328907,32.808739],[102.328717,32.808516],[102.328447,32.808243],[102.328187,32.80798],[102.328026,32.807723],[102.327908,32.807534],[102.327833,32.807278],[102.327759,32.807023],[102.327682,32.806743],[102.327485,32.80635],[102.327307,32.805999],[102.327194,32.805803],[102.326962,32.805642],[102.32673,32.805482],[102.326641,32.80541],[102.326581,32.805196],[102.326534,32.80497],[102.326557,32.804607],[102.326665,32.804176],[102.326772,32.803751],[102.326795,32.803483],[102.326748,32.803257],[102.326611,32.803037],[102.32651,32.802912],[102.32645,32.802751],[102.326454,32.802713],[102.326468,32.802537],[102.326486,32.802395],[102.326534,32.802002],[102.326528,32.801701],[102.326522,32.801401],[102.326486,32.801122],[102.326415,32.801003],[102.326337,32.800931],[102.326218,32.800578],[102.326212,32.800562],[102.326141,32.800324],[102.325909,32.800188],[102.325748,32.800069],[102.325582,32.800057],[102.325557,32.800056],[102.325125,32.800038],[102.324693,32.800021],[102.324261,32.800003],[102.324038,32.799959],[102.323815,32.799914],[102.323589,32.799825],[102.323363,32.799735],[102.323012,32.799634],[102.322661,32.799533],[102.322286,32.799355],[102.322013,32.799236],[102.321834,32.799081],[102.321733,32.79891],[102.321626,32.79873],[102.321449,32.798579],[102.321424,32.798558],[102.321245,32.79848],[102.320983,32.79848],[102.320632,32.798714],[102.320486,32.798811],[102.320258,32.798962],[102.319984,32.799004],[102.319841,32.799016],[102.319544,32.798956],[102.319264,32.798932],[102.319116,32.798956],[102.318878,32.79898],[102.318455,32.798904],[102.31834,32.798799],[102.318217,32.798628],[102.318015,32.798408],[102.318007,32.798399],[102.317779,32.798238],[102.317462,32.798109],[102.317146,32.797981],[102.317046,32.797924],[102.316713,32.797714],[102.316565,32.79749],[102.316418,32.797267],[102.316293,32.796923],[102.316169,32.796578],[102.316206,32.796345],[102.316269,32.796027],[102.31632,32.795771],[102.316371,32.795516],[102.316423,32.795261],[102.316474,32.795005],[102.316525,32.79475],[102.316576,32.794494],[102.316539,32.794261],[102.316503,32.794028],[102.316339,32.793682],[102.316148,32.793311],[102.315953,32.793038],[102.315754,32.792874],[102.315555,32.792711],[102.315297,32.792403],[102.315038,32.792095],[102.314779,32.791787],[102.314504,32.791459],[102.314228,32.79113],[102.313952,32.790802],[102.313676,32.790474],[102.313483,32.790244],[102.313328,32.790078],[102.313173,32.789911],[102.313019,32.789744],[102.312864,32.789578],[102.312709,32.789411],[102.312554,32.789245],[102.312399,32.789078],[102.312244,32.788911],[102.31209,32.788745],[102.311935,32.788578],[102.311826,32.788331],[102.311717,32.788084],[102.311638,32.78782],[102.31156,32.787555],[102.311481,32.78729],[102.311402,32.787025],[102.311337,32.786767],[102.311272,32.786509],[102.311194,32.786213],[102.311115,32.785918],[102.311005,32.785494],[102.310894,32.785069],[102.310784,32.784645],[102.310674,32.784221],[102.310593,32.784011],[102.310512,32.783801],[102.310287,32.783552],[102.310059,32.7834],[102.309774,32.783246],[102.309398,32.783214],[102.309122,32.783208],[102.308847,32.783203],[102.308581,32.78321],[102.308315,32.783218],[102.308049,32.783226],[102.307783,32.783234],[102.307494,32.783191],[102.307204,32.783148],[102.30693,32.783105],[102.306656,32.783063],[102.306223,32.78298],[102.30579,32.782922],[102.305412,32.782913],[102.305005,32.782929],[102.304714,32.782984],[102.304422,32.783039],[102.304201,32.783144],[102.303981,32.78325],[102.3039,32.783265],[102.303587,32.783327],[102.303192,32.783404],[102.302959,32.783448],[102.302726,32.783492],[102.302389,32.783595],[102.302052,32.783698],[102.301717,32.783764],[102.301381,32.78383],[102.301175,32.783924],[102.300969,32.784017],[102.30066,32.784169],[102.300351,32.784321],[102.299982,32.784558],[102.299613,32.784795],[102.299427,32.784931],[102.299241,32.785068],[102.299055,32.785205],[102.298869,32.785341],[102.298688,32.785582],[102.298507,32.785823],[102.298328,32.78599],[102.298148,32.786158],[102.297969,32.786325],[102.29779,32.786493],[102.297788,32.786493],[102.297787,32.786494],[102.297481,32.786699],[102.297174,32.786904],[102.29689,32.787011],[102.296523,32.78715],[102.29623,32.787218],[102.295938,32.787285],[102.295692,32.78728],[102.295445,32.787274],[102.295377,32.787276],[102.295068,32.787218],[102.294755,32.787226],[102.294441,32.787233],[102.294157,32.787392],[102.293873,32.78755],[102.29353,32.787657],[102.293364,32.787705],[102.293112,32.787778],[102.29286,32.787852],[102.292625,32.78792],[102.292391,32.787988],[102.292355,32.787999],[102.292115,32.788036],[102.291874,32.788074],[102.291634,32.788112],[102.291394,32.78815],[102.291045,32.788142],[102.290697,32.788134],[102.290335,32.788102],[102.289974,32.78807],[102.289714,32.788015],[102.289455,32.78796],[102.289169,32.78782],[102.288883,32.787679],[102.288584,32.787489],[102.288285,32.787299],[102.288002,32.787073],[102.287719,32.786846],[102.287479,32.786632],[102.287239,32.786419],[102.287028,32.786207],[102.286817,32.785995],[102.28662,32.785783],[102.286422,32.78557],[102.286253,32.78542],[102.286084,32.785269],[102.285801,32.785043],[102.285514,32.784914],[102.285226,32.784883],[102.284907,32.784877],[102.284584,32.785016],[102.284418,32.785221],[102.284252,32.785426],[102.284065,32.785813],[102.283867,32.786115],[102.283669,32.786416],[102.283507,32.786617],[102.283345,32.786819],[102.283183,32.78702],[102.283021,32.787222],[102.282859,32.787423],[102.282697,32.787624],[102.282535,32.787826],[102.282373,32.788027],[102.282165,32.788194],[102.281956,32.788361],[102.281748,32.788527],[102.28154,32.788694],[102.281275,32.788835],[102.281009,32.788976],[102.280673,32.789067],[102.280337,32.789158],[102.280104,32.789189],[102.279871,32.789221],[102.279637,32.789253],[102.279404,32.789284],[102.279039,32.789374],[102.278675,32.789463],[102.278447,32.789551],[102.278218,32.789638],[102.27799,32.789725],[102.277761,32.789812],[102.277532,32.789899],[102.277304,32.789986],[102.277073,32.790091],[102.276843,32.790196],[102.276613,32.790301],[102.276382,32.790406],[102.276152,32.790511],[102.275921,32.790617],[102.275511,32.79073],[102.275101,32.790843],[102.274692,32.790944],[102.274283,32.791046],[102.27386,32.791122],[102.273437,32.791198],[102.273,32.791262],[102.272563,32.791326],[102.272258,32.791332],[102.271952,32.791338],[102.271705,32.791345],[102.271459,32.791352],[102.271212,32.791358],[102.270965,32.791365],[102.270673,32.79142],[102.270381,32.791474],[102.270074,32.791578],[102.269766,32.791681],[102.269675,32.791722],[102.269529,32.791787],[102.269309,32.791886],[102.269089,32.791984],[102.268764,32.792161],[102.268439,32.792337],[102.268087,32.792476],[102.267735,32.792615],[102.267516,32.792672],[102.267297,32.792728],[102.266861,32.792743],[102.266629,32.792726],[102.266398,32.792708],[102.266167,32.792673],[102.265936,32.792637],[102.265705,32.792602],[102.265474,32.792566],[102.265039,32.792532],[102.264808,32.79249],[102.264578,32.792449],[102.26429,32.792394],[102.26396,32.792264],[102.26363,32.792134],[102.2633,32.792005],[102.26297,32.791875],[102.262877,32.791788],[102.26265,32.791573],[102.262422,32.791359],[102.262238,32.79122],[102.262053,32.791081],[102.261893,32.79096],[102.261869,32.790942],[102.261685,32.790804],[102.2615,32.790665],[102.261316,32.790526],[102.261131,32.790387],[102.260947,32.790248],[102.260707,32.790148],[102.260467,32.790048],[102.260227,32.789949],[102.259988,32.789849],[102.259748,32.789749],[102.259508,32.789649],[102.259268,32.789549],[102.259028,32.789449],[102.258745,32.789329],[102.258588,32.789243],[102.258205,32.789027],[102.257822,32.788811],[102.257412,32.788652],[102.257002,32.788493],[102.256689,32.788391],[102.256376,32.788288],[102.256063,32.788186],[102.255717,32.78815],[102.255371,32.788114],[102.255059,32.78814],[102.254748,32.788167],[102.254436,32.788193],[102.254075,32.788265],[102.253713,32.788336],[102.253368,32.788391],[102.253022,32.788446],[102.252677,32.788501],[102.252662,32.788507],[102.25226,32.788685],[102.251858,32.788863],[102.25162,32.789005],[102.251487,32.789034],[102.251325,32.789053],[102.251102,32.789029],[102.250878,32.789005],[102.250764,32.789034],[102.250697,32.789129],[102.250526,32.789396],[102.250283,32.789621],[102.25004,32.789846],[102.249701,32.789965],[102.249609,32.789992],[102.249475,32.790031],[102.249142,32.78993],[102.248916,32.789948],[102.248725,32.790067],[102.248469,32.790102],[102.24845,32.790098],[102.248192,32.790041],[102.247934,32.789983],[102.247669,32.789855],[102.247405,32.789727],[102.247063,32.7896],[102.246721,32.789472],[102.246358,32.789228],[102.245995,32.788984],[102.245632,32.78874],[102.245266,32.788588],[102.2449,32.788437],[102.244872,32.788417],[102.244689,32.788287],[102.244395,32.78808],[102.244174,32.787925],[102.243984,32.787842],[102.243675,32.78786],[102.243383,32.788014],[102.24307,32.788179],[102.242757,32.788344],[102.242693,32.788377],[102.242342,32.788597],[102.241991,32.788817],[102.241852,32.789005],[102.241712,32.789192],[102.241406,32.789412],[102.241101,32.789632],[102.240796,32.789852],[102.240587,32.789954],[102.240379,32.790055],[102.239933,32.790084],[102.239749,32.790072],[102.239523,32.789942],[102.239308,32.789852],[102.238999,32.789775],[102.238681,32.789743],[102.238559,32.789731],[102.238345,32.78971],[102.23797,32.789656],[102.237595,32.789603],[102.237381,32.78962],[102.237102,32.789698],[102.236733,32.789716],[102.236594,32.789697],[102.236262,32.789595],[102.236113,32.789549],[102.236001,32.78946],[102.235787,32.78924],[102.235571,32.78903],[102.235412,32.788877],[102.235186,32.788496],[102.235014,32.788335],[102.234847,32.788228],[102.234651,32.788163],[102.234508,32.788157],[102.234353,32.788169],[102.234175,32.788151],[102.233943,32.788062],[102.233865,32.787985],[102.233723,32.787889],[102.233437,32.787758],[102.233294,32.787628],[102.233179,32.787434],[102.233054,32.787308],[102.232882,32.787089],[102.232711,32.786871],[102.232362,32.786663],[102.232067,32.786613],[102.231772,32.786564],[102.231576,32.786644],[102.231181,32.786804],[102.231103,32.786835],[102.230988,32.786923],[102.230624,32.787158],[102.230431,32.787283],[102.230239,32.787407],[102.229897,32.787693],[102.229554,32.787979],[102.229345,32.78817],[102.229136,32.788361],[102.228854,32.788551],[102.228573,32.78874],[102.228351,32.788863],[102.22813,32.788986],[102.227909,32.78911],[102.227687,32.789233],[102.227361,32.789459],[102.227035,32.789684],[102.226794,32.789973],[102.226553,32.790261],[102.226388,32.790441],[102.226223,32.790621],[102.226016,32.790726],[102.22581,32.790832],[102.22552,32.790827],[102.22526,32.790783],[102.225,32.79074],[102.224756,32.790637],[102.224513,32.790534],[102.2242,32.790343],[102.223887,32.790153],[102.223561,32.789914],[102.223234,32.789674],[102.223075,32.789502],[102.222915,32.78933],[102.222755,32.789157],[102.222595,32.788985],[102.222435,32.788813],[102.222275,32.788641],[102.222115,32.788469],[102.221956,32.788296],[102.221796,32.788124],[102.221636,32.787952],[102.221476,32.78778],[102.221316,32.787608],[102.221199,32.787388],[102.221081,32.787169],[102.220964,32.78695],[102.220846,32.78673],[102.220729,32.786511],[102.220611,32.786292],[102.220494,32.786072],[102.220376,32.785853],[102.220259,32.785634],[102.220141,32.785414],[102.220024,32.785195],[102.219906,32.784975],[102.219789,32.784756],[102.219671,32.784537],[102.219546,32.784289],[102.21942,32.784042],[102.219295,32.783795],[102.21917,32.783548],[102.219044,32.783301],[102.218919,32.783053],[102.218794,32.782806],[102.218668,32.782559],[102.218543,32.782312],[102.218418,32.782064],[102.218292,32.781817],[102.218167,32.78157],[102.218041,32.781323],[102.217916,32.781075],[102.217791,32.780828],[102.217665,32.780581],[102.217513,32.780363],[102.21736,32.780146],[102.217207,32.779928],[102.217054,32.779711],[102.216901,32.779493],[102.216749,32.779276],[102.216596,32.779058],[102.216443,32.778841],[102.216309,32.778495],[102.216176,32.77815],[102.216069,32.777829],[102.215963,32.777509],[102.215883,32.777262],[102.215804,32.777016],[102.215695,32.776793],[102.215585,32.77657],[102.215476,32.776348],[102.215367,32.776125],[102.215114,32.7759],[102.214856,32.775771],[102.21461,32.775742],[102.214365,32.775712],[102.214061,32.775705],[102.213756,32.775698],[102.21333,32.775729],[102.212903,32.775761],[102.212477,32.775792],[102.212112,32.775882],[102.211746,32.775971],[102.211424,32.776062],[102.211102,32.776153],[102.210677,32.776278],[102.210253,32.776403],[102.210029,32.776447],[102.209805,32.776491],[102.209582,32.776535],[102.209358,32.776579],[102.209134,32.776623],[102.208911,32.776667],[102.208511,32.776764],[102.208111,32.776861],[102.207712,32.776958],[102.207331,32.777072],[102.20695,32.777186],[102.206756,32.777312],[102.206563,32.777438],[102.206369,32.777564],[102.206176,32.77769],[102.205982,32.777816],[102.205789,32.777942],[102.205595,32.778068],[102.205401,32.778194],[102.205192,32.778434],[102.205055,32.778615],[102.204919,32.778796],[102.204795,32.77905],[102.204671,32.779303],[102.204617,32.779607],[102.204564,32.779911],[102.204526,32.780217],[102.204488,32.780523],[102.204333,32.780825],[102.204178,32.781127],[102.204006,32.781307],[102.203833,32.781486],[102.203661,32.781666],[102.203488,32.781845],[102.203301,32.782035],[102.203113,32.782225],[102.202926,32.782414],[102.202739,32.782604],[102.202551,32.782794],[102.202364,32.782983],[102.202039,32.783172],[102.201715,32.78336],[102.201419,32.783525],[102.201124,32.78369],[102.200755,32.783889],[102.200386,32.784089],[102.200263,32.784162],[102.200046,32.78429],[102.199706,32.78449],[102.199478,32.784803],[102.19925,32.785115],[102.199066,32.785454],[102.198882,32.785792],[102.198743,32.786035],[102.198605,32.786277],[102.198483,32.786469],[102.198361,32.786662],[102.198095,32.786827],[102.197748,32.786795],[102.197519,32.786704],[102.19729,32.786614],[102.197004,32.78646],[102.196718,32.786307],[102.196421,32.786068],[102.196124,32.785829],[102.195942,32.785629],[102.195759,32.785429],[102.195565,32.785156],[102.195547,32.78513],[102.195371,32.784883],[102.195135,32.784547],[102.194898,32.784211],[102.194706,32.783864],[102.194514,32.783517],[102.194322,32.783158],[102.19413,32.782799],[102.194073,32.782529],[102.194016,32.782258],[102.193958,32.781988],[102.193901,32.781718],[102.193916,32.78148],[102.193931,32.781242],[102.193945,32.781003],[102.19396,32.780765],[102.193975,32.780527],[102.193989,32.780289],[102.194004,32.780051],[102.194019,32.779812],[102.194015,32.77947],[102.194012,32.779127],[102.193946,32.778893],[102.193881,32.778659],[102.193714,32.778435],[102.193373,32.778208],[102.193173,32.778093],[102.192974,32.777978],[102.192688,32.77785],[102.192402,32.777721],[102.192136,32.777664],[102.19187,32.777607],[102.191604,32.777549],[102.191337,32.777492],[102.191071,32.777435],[102.190805,32.777378],[102.190538,32.77732],[102.190272,32.777263],[102.190006,32.777206],[102.189739,32.777149],[102.189473,32.777091],[102.189207,32.777034],[102.188941,32.776977],[102.188674,32.77692],[102.188265,32.776832],[102.187855,32.776744],[102.187445,32.776656],[102.187015,32.776548],[102.186786,32.776396],[102.186763,32.776225],[102.186801,32.775932],[102.186891,32.775714],[102.18698,32.775497],[102.187069,32.77528],[102.187159,32.775063],[102.187248,32.774846],[102.187337,32.774629],[102.187366,32.774562],[102.187433,32.774407],[102.187528,32.774185],[102.187624,32.773963],[102.187719,32.773741],[102.187815,32.773519],[102.18791,32.773297],[102.188006,32.773076],[102.188101,32.772854],[102.188197,32.772632],[102.188292,32.77241],[102.188388,32.772188],[102.188483,32.771966],[102.188579,32.771744],[102.188674,32.771523],[102.188714,32.77143],[102.188818,32.771173],[102.188922,32.770917],[102.189026,32.77066],[102.18913,32.770404],[102.189234,32.770147],[102.189338,32.769891],[102.189442,32.769634],[102.189546,32.769378],[102.18965,32.769121],[102.189754,32.768865],[102.189864,32.768623],[102.189973,32.768381],[102.190082,32.768138],[102.190191,32.767896],[102.190301,32.767654],[102.19041,32.767412],[102.190424,32.767345],[102.190467,32.767145],[102.190524,32.766878],[102.190581,32.766611],[102.190638,32.766344],[102.190696,32.766077],[102.190753,32.76581],[102.19081,32.765543],[102.190867,32.765275],[102.190924,32.765008],[102.190981,32.764741],[102.191038,32.764474],[102.191075,32.764301],[102.191096,32.764207],[102.191225,32.763794],[102.191319,32.763551],[102.191414,32.763309],[102.191599,32.762946],[102.191694,32.762704],[102.191875,32.762463],[102.192041,32.762271],[102.192206,32.762079],[102.192515,32.761793],[102.192824,32.761506],[102.193133,32.761219],[102.193327,32.761056],[102.19352,32.760894],[102.193714,32.760731],[102.193908,32.760568],[102.194101,32.760405],[102.194295,32.760242],[102.194595,32.75993],[102.194895,32.759619],[102.195148,32.759392],[102.195402,32.759165],[102.1956,32.759011],[102.195798,32.758856],[102.195996,32.758702],[102.196194,32.758547],[102.196392,32.758393],[102.196591,32.758238],[102.196919,32.757952],[102.197131,32.757663],[102.197255,32.757428],[102.197379,32.757193],[102.197503,32.756957],[102.197627,32.756722],[102.197709,32.756508],[102.197791,32.756295],[102.197873,32.756082],[102.197955,32.755868],[102.198037,32.755655],[102.198119,32.755442],[102.198202,32.755228],[102.198284,32.755015],[102.198366,32.754801],[102.198367,32.754799],[102.198367,32.754797],[102.198448,32.754588],[102.198604,32.754249],[102.198667,32.754055],[102.198675,32.753798],[102.198684,32.753541],[102.198694,32.753248],[102.198643,32.753002],[102.198568,32.752766],[102.198493,32.75253],[102.198418,32.752295],[102.198342,32.752059],[102.198267,32.751823],[102.198192,32.751587],[102.198117,32.751352],[102.198042,32.751116],[102.197967,32.75088],[102.197892,32.750645],[102.197817,32.750409],[102.197741,32.750173],[102.197718,32.750121],[102.197608,32.749874],[102.197497,32.749627],[102.197387,32.74938],[102.197277,32.749133],[102.197166,32.748886],[102.197056,32.748639],[102.196946,32.748392],[102.196835,32.748145],[102.196725,32.747898],[102.196615,32.747651],[102.196504,32.747405],[102.196394,32.747158],[102.196284,32.746911],[102.196173,32.746664],[102.196063,32.746417],[102.195953,32.74617],[102.195822,32.745943],[102.195692,32.745716],[102.195561,32.745489],[102.19543,32.745262],[102.1953,32.745035],[102.195169,32.744808],[102.195038,32.744581],[102.194908,32.744354],[102.194777,32.744127],[102.194646,32.7439],[102.194516,32.743673],[102.194385,32.743446],[102.19432,32.7432],[102.194255,32.742954],[102.19419,32.742708],[102.194126,32.742462],[102.194104,32.742217],[102.194083,32.741972],[102.194091,32.741703],[102.1941,32.741434],[102.194109,32.74114],[102.194178,32.740824],[102.194274,32.740508],[102.194397,32.740266],[102.194491,32.740073],[102.194644,32.739807],[102.194795,32.739608],[102.194946,32.73941],[102.195098,32.739212],[102.195249,32.739013],[102.1954,32.738815],[102.195551,32.738616],[102.195702,32.738418],[102.195854,32.73822],[102.196001,32.738015],[102.196148,32.737811],[102.196295,32.737606],[102.196442,32.737402],[102.196589,32.737198],[102.196736,32.736993],[102.196884,32.736789],[102.197031,32.736584],[102.197178,32.73638],[102.197325,32.736176],[102.197472,32.735971],[102.197619,32.735767],[102.197798,32.735599],[102.198124,32.735386],[102.198333,32.735195],[102.198484,32.735003],[102.198651,32.734774],[102.198818,32.734546],[102.198993,32.734207],[102.199168,32.733868],[102.199343,32.73353],[102.199438,32.733275],[102.199533,32.73302],[102.199628,32.732765],[102.199723,32.732511],[102.199817,32.732256],[102.199818,32.732255],[102.199818,32.732254],[102.199912,32.732001],[102.200017,32.731777],[102.200122,32.731553],[102.200171,32.731448],[102.200227,32.731329],[102.200332,32.731105],[102.200437,32.730881],[102.200542,32.730657],[102.200646,32.730433],[102.200751,32.730209],[102.200898,32.730023],[102.201044,32.729837],[102.201191,32.729651],[102.201337,32.729465],[102.201484,32.729279],[102.20163,32.729093],[102.201777,32.728907],[102.201924,32.728721],[102.20207,32.728534],[102.202217,32.728348],[102.202363,32.728162],[102.20251,32.727976],[102.202649,32.727763],[102.202788,32.727549],[102.202927,32.727335],[102.203066,32.727122],[102.203206,32.726908],[102.203345,32.726695],[102.203484,32.726481],[102.203623,32.726267],[102.203762,32.726054],[102.203902,32.72584],[102.204041,32.725627],[102.20418,32.725413],[102.204319,32.725199],[102.204458,32.724986],[102.204573,32.724759],[102.204688,32.724532],[102.204802,32.724305],[102.204917,32.724078],[102.205032,32.723851],[102.205147,32.723624],[102.205261,32.723397],[102.205376,32.72317],[102.205491,32.722943],[102.205566,32.722793],[102.205605,32.722716],[102.205613,32.722448],[102.205682,32.722132],[102.205805,32.72189],[102.206015,32.721674],[102.206194,32.721507],[102.206461,32.721317],[102.206699,32.721102],[102.20694,32.720838],[102.20712,32.720573],[102.207229,32.720363],[102.207337,32.720153],[102.207445,32.719944],[102.207553,32.719734],[102.207661,32.719524],[102.207769,32.719315],[102.207985,32.718928],[102.208108,32.718711],[102.20823,32.718493],[102.208427,32.718229],[102.208624,32.717964],[102.208791,32.717699],[102.208959,32.717433],[102.209244,32.717134],[102.209529,32.716834],[102.209798,32.716571],[102.210067,32.716308],[102.210311,32.715946],[102.210453,32.715734],[102.210595,32.715521],[102.210737,32.715309],[102.210879,32.715096],[102.211021,32.714884],[102.211163,32.714671],[102.211186,32.714427],[102.211208,32.714183],[102.211217,32.713865],[102.211229,32.713498],[102.211125,32.713129],[102.21102,32.71276],[102.210932,32.712521],[102.210844,32.712281],[102.210755,32.712042],[102.210667,32.711803],[102.210579,32.711563],[102.210491,32.711324],[102.210403,32.711085],[102.210314,32.710845],[102.210226,32.710606],[102.210138,32.710366],[102.210016,32.710095],[102.209893,32.709823],[102.20973,32.709526],[102.209564,32.709295],[102.209549,32.709275],[102.209479,32.709178],[102.209437,32.709135],[102.209392,32.709088],[102.209304,32.708997],[102.209129,32.708816],[102.208954,32.708635],[102.208779,32.708454],[102.2086,32.708269],[102.208422,32.708084],[102.208209,32.707933],[102.207996,32.707781],[102.207784,32.70763],[102.207571,32.707478],[102.207358,32.707326],[102.207146,32.707175],[102.206933,32.707023],[102.20672,32.706872],[102.206508,32.70672],[102.206295,32.706568],[102.206082,32.706417],[102.20587,32.706265],[102.205657,32.706114],[102.205444,32.705962],[102.205302,32.705906],[102.205264,32.705892],[102.205205,32.705868],[102.204983,32.705781],[102.204965,32.705774],[102.204725,32.70568],[102.20465,32.705651],[102.204485,32.705586],[102.204246,32.705492],[102.204006,32.705398],[102.203766,32.705304],[102.203526,32.705211],[102.203287,32.70512],[102.203049,32.705029],[102.20281,32.704938],[102.202571,32.704847],[102.202332,32.704756],[102.202094,32.704665],[102.201846,32.704576],[102.201599,32.704488],[102.201352,32.7044],[102.201104,32.704312],[102.200857,32.704224],[102.20061,32.704136],[102.200362,32.704048],[102.200115,32.70396],[102.199887,32.703844],[102.19966,32.703729],[102.199475,32.703591],[102.19929,32.703453],[102.199096,32.703202],[102.198873,32.702904],[102.198784,32.702658],[102.198695,32.702413],[102.198606,32.702167],[102.198517,32.701921],[102.198369,32.701563],[102.19822,32.701205],[102.198087,32.700834],[102.197921,32.700562],[102.197725,32.700337],[102.197613,32.700213],[102.197329,32.700035],[102.196985,32.699904],[102.196741,32.69985],[102.196496,32.699796],[102.196397,32.699773],[102.196151,32.699715],[102.195805,32.699634],[102.195518,32.699566],[102.19523,32.699499],[102.194913,32.69943],[102.194596,32.699362],[102.194266,32.699281],[102.193936,32.6992],[102.193633,32.69912],[102.193468,32.699076],[102.193331,32.69904],[102.193073,32.698948],[102.192815,32.698857],[102.192544,32.698729],[102.192273,32.698601],[102.191943,32.69834],[102.191613,32.69808],[102.191283,32.697819],[102.191071,32.697631],[102.19086,32.697443],[102.190677,32.697255],[102.190494,32.697068],[102.190388,32.696772],[102.190396,32.696528],[102.190432,32.696308],[102.190465,32.696137]]]]},"properties":{"cp":[102.35372199561037,32.712944518303445],"code":"513233103","name":"安曲镇","level":"street","center":[102.35372199561037,32.712944518303445],"fullCode":"513233103000","fullName":"四川省阿坝藏族羌族自治州红原县安曲镇","acreageMu":1327057.45,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.222,32.6709]}},{"id":"513233105","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.277244,32.524826],[102.277274,32.524758],[102.277761,32.523683],[102.278447,32.522401],[102.278934,32.521489],[102.279246,32.520805],[102.279632,32.520638],[102.280189,32.520398],[102.280201,32.520393],[102.280417,32.5203],[102.280661,32.520194],[102.281662,32.519821],[102.282892,32.519601],[102.283165,32.519536],[102.284592,32.519194],[102.286228,32.519032],[102.287337,32.518908],[102.287869,32.518673],[102.288122,32.517988],[102.288597,32.517196],[102.289346,32.515511],[102.29019,32.513605],[102.290391,32.512721],[102.29064,32.511691],[102.290603,32.510025],[102.290392,32.508318],[102.290556,32.507212],[102.290941,32.506036],[102.291382,32.504418],[102.29147,32.503999],[102.291505,32.503833],[102.291597,32.503393],[102.291601,32.503375],[102.291637,32.503202],[102.291887,32.502135],[102.291976,32.50062],[102.29189,32.499101],[102.291871,32.498286],[102.292101,32.497884],[102.292726,32.497454],[102.293911,32.49722],[102.295037,32.497541],[102.296037,32.497673],[102.297387,32.497776],[102.298297,32.498018],[102.299338,32.498225],[102.300303,32.498583],[102.300373,32.498609],[102.300504,32.498657],[102.301595,32.49868],[102.303308,32.49831],[102.304271,32.498257],[102.30559,32.497915],[102.307147,32.49745],[102.30744,32.497363],[102.308144,32.49723],[102.308319,32.497197],[102.308369,32.49715],[102.308633,32.496907],[102.308664,32.495872],[102.308679,32.495343],[102.30869,32.494985],[102.308318,32.494274],[102.308133,32.49316],[102.307815,32.492117],[102.307839,32.491304],[102.307999,32.490345],[102.308286,32.4895],[102.308793,32.488586],[102.309694,32.487643],[102.31063,32.486997],[102.31153,32.486092],[102.311816,32.485284],[102.311739,32.4847],[102.311673,32.484208],[102.311089,32.483307],[102.310916,32.481787],[102.311219,32.480334],[102.311323,32.479834],[102.312199,32.478262],[102.313131,32.476667],[102.313395,32.476216],[102.313725,32.475775],[102.314213,32.475123],[102.314795,32.474618],[102.316193,32.474574],[102.317894,32.47461],[102.318993,32.474375],[102.320272,32.473921],[102.321372,32.473611],[102.322209,32.47337],[102.323588,32.472475],[102.324006,32.471633],[102.324606,32.470535],[102.32456,32.469129],[102.324727,32.467911],[102.324895,32.466657],[102.325061,32.465477],[102.325074,32.463553],[102.325561,32.461861],[102.325773,32.460608],[102.32624,32.459545],[102.326497,32.458256],[102.326407,32.456885],[102.325506,32.454868],[102.323044,32.449599],[102.322678,32.448703],[102.321883,32.447539],[102.321341,32.446714],[102.32067,32.445774],[102.320434,32.444918],[102.320409,32.442809],[102.32037,32.44118],[102.320417,32.43959],[102.32067,32.438412],[102.32075,32.437193],[102.320707,32.435712],[102.320407,32.434041],[102.320451,32.432562],[102.320371,32.430858],[102.319935,32.429369],[102.319737,32.428699],[102.319588,32.427807],[102.319457,32.426362],[102.319034,32.422949],[102.318856,32.421613],[102.318847,32.420988],[102.318842,32.420614],[102.31871,32.419168],[102.319057,32.41777],[102.319248,32.417219],[102.320608,32.416952],[102.321596,32.417454],[102.322646,32.417365],[102.323692,32.417387],[102.324757,32.416781],[102.326135,32.415885],[102.327275,32.415687],[102.329636,32.416958],[102.330141,32.417065],[102.331197,32.417287],[102.332497,32.417574],[102.334328,32.417613],[102.334971,32.417589],[102.335594,32.417565],[102.336382,32.417471],[102.336462,32.417397],[102.336616,32.417255],[102.336623,32.417249],[102.336666,32.417209],[102.336699,32.417179],[102.336709,32.417169],[102.33675,32.417132],[102.337247,32.416674],[102.338886,32.415163],[102.342031,32.412263],[102.343993,32.410485],[102.344227,32.410274],[102.345215,32.409296],[102.345283,32.409199],[102.345289,32.40919],[102.3453,32.409175],[102.345373,32.409072],[102.345772,32.408509],[102.345785,32.408491],[102.34617,32.407947],[102.349568,32.402136],[102.351006,32.400686],[102.352698,32.399464],[102.35438,32.397131],[102.355089,32.395259],[102.355108,32.394594],[102.354352,32.393616],[102.354038,32.392425],[102.353635,32.39127],[102.353459,32.38986],[102.353236,32.389172],[102.352677,32.387444],[102.352579,32.387141],[102.352564,32.386142],[102.352552,32.385068],[102.351995,32.383244],[102.351449,32.381049],[102.350881,32.379595],[102.351855,32.37906],[102.352253,32.378883],[102.353004,32.378529],[102.353545,32.377949],[102.353752,32.376806],[102.354044,32.375776],[102.354239,32.375077],[102.354258,32.374412],[102.355159,32.373432],[102.356533,32.372647],[102.357558,32.371891],[102.358235,32.371091],[102.35931,32.370115],[102.35968,32.369383],[102.359798,32.368312],[102.359888,32.366723],[102.360052,32.36558],[102.360385,32.364625],[102.36063,32.363705],[102.361068,32.360643],[102.361199,32.359129],[102.36127,32.358168],[102.361379,32.357431],[102.361414,32.35621],[102.361683,32.354477],[102.362164,32.353634],[102.362371,32.353271],[102.362957,32.352617],[102.363549,32.351741],[102.364567,32.351208],[102.366066,32.35061],[102.367472,32.350232],[102.367972,32.34954],[102.368694,32.348667],[102.369292,32.347606],[102.369589,32.346355],[102.370191,32.345146],[102.371335,32.343283],[102.372027,32.341928],[102.372799,32.340872],[102.373813,32.338969],[102.375079,32.337367],[102.376028,32.336203],[102.376615,32.335512],[102.376631,32.334957],[102.376298,32.334395],[102.375032,32.33349],[102.375252,32.332881],[102.37576,32.332763],[102.376519,32.332736],[102.377477,32.332756],[102.378605,32.332179],[102.37984,32.33139],[102.380272,32.330413],[102.381055,32.329529],[102.381861,32.328876],[102.381887,32.328856],[102.382089,32.328693],[102.382162,32.328655],[102.382502,32.328481],[102.382698,32.328381],[102.382758,32.32835],[102.383216,32.328116],[102.384245,32.327451],[102.38475,32.32725],[102.384819,32.327222],[102.385082,32.327118],[102.385102,32.32711],[102.385369,32.327003],[102.386012,32.326709],[102.386085,32.326675],[102.386572,32.326499],[102.387208,32.326269],[102.387618,32.326291],[102.387649,32.326293],[102.387743,32.326298],[102.388139,32.326319],[102.388387,32.326332],[102.388519,32.326339],[102.389165,32.326696],[102.389704,32.327264],[102.389636,32.328009],[102.38963,32.328077],[102.389561,32.328778],[102.389525,32.329151],[102.389487,32.329532],[102.389464,32.330346],[102.389392,32.331457],[102.389373,32.331759],[102.389149,32.332155],[102.388894,32.332607],[102.388925,32.333294],[102.389072,32.333468],[102.389526,32.333597],[102.390993,32.334108],[102.391188,32.334133],[102.392014,32.33424],[102.393033,32.334372],[102.394551,32.334625],[102.395766,32.334799],[102.396598,32.334668],[102.397563,32.334466],[102.399008,32.335154],[102.399234,32.333035],[102.399466,32.33021],[102.399947,32.327518],[102.400234,32.326324],[102.400363,32.32534],[102.400456,32.324518],[102.400633,32.322953],[102.400807,32.322453],[102.401235,32.321224],[102.401741,32.320095],[102.401858,32.318758],[102.402707,32.316632],[102.403697,32.315111],[102.405008,32.313397],[102.405829,32.312275],[102.406189,32.310741],[102.406383,32.309472],[102.406479,32.308814],[102.406578,32.308137],[102.406573,32.306147],[102.406573,32.30611],[102.406573,32.306104],[102.406573,32.305983],[102.406572,32.305719],[102.406572,32.305591],[102.406571,32.305404],[102.406571,32.305289],[102.40657,32.305096],[102.406569,32.304863],[102.406569,32.304796],[102.406568,32.304556],[102.406567,32.304287],[102.406566,32.304193],[102.406566,32.304154],[102.406566,32.304044],[102.406565,32.303804],[102.406564,32.303568],[102.406563,32.303463],[102.406563,32.303396],[102.406562,32.303179],[102.406534,32.302981],[102.406507,32.302783],[102.406478,32.302577],[102.406446,32.302345],[102.40643,32.302229],[102.406403,32.30204],[102.406373,32.301825],[102.406345,32.301622],[102.406323,32.301464],[102.4063,32.301298],[102.406304,32.301146],[102.406309,32.300995],[102.406314,32.300817],[102.406319,32.300652],[102.406325,32.300416],[102.40633,32.300231],[102.406333,32.300126],[102.406337,32.299987],[102.406341,32.299853],[102.406342,32.299808],[102.406432,32.298755],[102.406286,32.297647],[102.406307,32.296894],[102.407203,32.296611],[102.408561,32.296689],[102.40948,32.296754],[102.409512,32.296756],[102.410499,32.296826],[102.410568,32.29683],[102.412026,32.29686],[102.412283,32.296866],[102.413298,32.296535],[102.413604,32.296585],[102.414055,32.29669],[102.414842,32.296875],[102.41684,32.296757],[102.418769,32.296758],[102.419457,32.296758],[102.419915,32.296739],[102.421203,32.296688],[102.422145,32.29657],[102.423392,32.296415],[102.424268,32.296274],[102.425403,32.295821],[102.425946,32.295245],[102.426431,32.29473],[102.427089,32.293474],[102.427678,32.29248],[102.428025,32.291217],[102.428394,32.289825],[102.428442,32.289646],[102.428583,32.289111],[102.429164,32.288382],[102.429922,32.287892],[102.430116,32.287767],[102.430546,32.28719],[102.43056,32.287172],[102.430585,32.287138],[102.430613,32.2871],[102.430642,32.287061],[102.430652,32.287048],[102.430739,32.286932],[102.430826,32.286815],[102.430842,32.286793],[102.430894,32.286724],[102.431242,32.285408],[102.431586,32.284251],[102.431994,32.28392],[102.43216,32.283786],[102.432327,32.283519],[102.432813,32.282741],[102.432974,32.281421],[102.432511,32.280194],[102.432303,32.278708],[102.432357,32.278597],[102.432394,32.27852],[102.432833,32.277608],[102.433249,32.276081],[102.433659,32.274819],[102.433592,32.272754],[102.433464,32.270687],[102.433526,32.268466],[102.433452,32.268119],[102.433317,32.267488],[102.433196,32.266924],[102.433139,32.266782],[102.433073,32.266629],[102.433007,32.266472],[102.432961,32.26634],[102.432896,32.266178],[102.432849,32.266061],[102.432788,32.26591],[102.432709,32.265757],[102.43262,32.265584],[102.432531,32.265416],[102.432429,32.265219],[102.432316,32.265001],[102.432211,32.264868],[102.432121,32.264754],[102.431988,32.264584],[102.431843,32.2644],[102.431713,32.264233],[102.431545,32.264019],[102.431401,32.263838],[102.431296,32.263705],[102.431173,32.263549],[102.431113,32.26361],[102.430917,32.263808],[102.430749,32.263871],[102.43055,32.263945],[102.430244,32.264061],[102.430032,32.26414],[102.429846,32.26421],[102.429622,32.264307],[102.429491,32.264364],[102.429196,32.264492],[102.428911,32.264616],[102.42863,32.26474],[102.428333,32.264867],[102.428111,32.264902],[102.427928,32.264931],[102.42776,32.264957],[102.427519,32.264995],[102.427291,32.265031],[102.427144,32.265054],[102.426934,32.265119],[102.426658,32.265204],[102.42637,32.265294],[102.426128,32.265369],[102.425892,32.265442],[102.425699,32.265501],[102.425453,32.265654],[102.425256,32.265777],[102.425064,32.265896],[102.424874,32.266014],[102.424673,32.26614],[102.424513,32.266241],[102.424304,32.266372],[102.424033,32.266405],[102.423829,32.26643],[102.423554,32.266463],[102.423305,32.26658],[102.423073,32.266688],[102.422796,32.266818],[102.422632,32.266984],[102.422484,32.267134],[102.422254,32.267366],[102.422059,32.267564],[102.421921,32.267703],[102.42177,32.267856],[102.420893,32.268049],[102.420724,32.267411],[102.420628,32.266403],[102.420277,32.265602],[102.420045,32.265385],[102.419549,32.264922],[102.419002,32.264412],[102.418229,32.263126],[102.417456,32.26206],[102.417453,32.262056],[102.41745,32.262051],[102.416786,32.261297],[102.416699,32.261108],[102.416492,32.260656],[102.416143,32.259802],[102.416096,32.259672],[102.416011,32.259436],[102.415904,32.259139],[102.415796,32.258842],[102.415811,32.258313],[102.415819,32.258033],[102.415832,32.257572],[102.415802,32.257217],[102.415758,32.256703],[102.415692,32.255929],[102.415631,32.255493],[102.415592,32.255207],[102.415537,32.254814],[102.415461,32.254511],[102.415391,32.254232],[102.415257,32.253697],[102.415242,32.253404],[102.415223,32.253017],[102.415206,32.252674],[102.415178,32.252108],[102.415166,32.251793],[102.415155,32.251458],[102.415141,32.251063],[102.415139,32.251002],[102.415135,32.2509],[102.415131,32.250786],[102.415126,32.250681],[102.415122,32.250547],[102.415117,32.250437],[102.415114,32.250319],[102.415112,32.250244],[102.415108,32.250148],[102.415105,32.250051],[102.415101,32.24994],[102.415097,32.249807],[102.415093,32.249679],[102.415087,32.249517],[102.415083,32.249368],[102.415078,32.249232],[102.415075,32.249142],[102.415024,32.249023],[102.414938,32.248818],[102.414838,32.248624],[102.414781,32.248501],[102.41477,32.2484],[102.414747,32.248199],[102.414739,32.248127],[102.414724,32.248002],[102.414703,32.247831],[102.414679,32.247592],[102.414652,32.247353],[102.414632,32.247174],[102.414657,32.246967],[102.414686,32.246721],[102.414722,32.246418],[102.414757,32.246127],[102.414796,32.245802],[102.414839,32.245634],[102.414889,32.245437],[102.414936,32.245253],[102.414985,32.24506],[102.415006,32.244978],[102.415018,32.244933],[102.415031,32.24488],[102.41505,32.244809],[102.415068,32.244738],[102.415088,32.244659],[102.415101,32.244609],[102.415114,32.244559],[102.415129,32.244497],[102.415142,32.244446],[102.415146,32.244433],[102.415148,32.244403],[102.415152,32.244359],[102.415158,32.24429],[102.415166,32.2442],[102.415175,32.244101],[102.415181,32.244025],[102.415187,32.243961],[102.415192,32.243905],[102.415198,32.243836],[102.415202,32.24379],[102.415209,32.243711],[102.415221,32.243576],[102.415229,32.243481],[102.415238,32.243376],[102.415243,32.243317],[102.41525,32.24324],[102.415259,32.243138],[102.415269,32.243022],[102.41528,32.242898],[102.415292,32.242763],[102.415303,32.242639],[102.415315,32.242508],[102.415325,32.242392],[102.415337,32.242266],[102.415347,32.242148],[102.415355,32.242057],[102.415364,32.241956],[102.415371,32.241877],[102.415376,32.241816],[102.415384,32.241737],[102.41539,32.241667],[102.415421,32.241316],[102.415506,32.240951],[102.415533,32.240835],[102.415551,32.240761],[102.415572,32.240669],[102.415577,32.240649],[102.415604,32.240533],[102.415608,32.240515],[102.41565,32.240335],[102.415676,32.240225],[102.415704,32.240104],[102.415726,32.240027],[102.415764,32.239893],[102.415806,32.239744],[102.415843,32.239614],[102.415883,32.239472],[102.41593,32.239304],[102.415968,32.239168],[102.416023,32.238974],[102.416052,32.238872],[102.416079,32.238774],[102.41612,32.238631],[102.416143,32.23856],[102.416174,32.238463],[102.416218,32.238329],[102.416279,32.238147],[102.416352,32.237915],[102.41642,32.237706],[102.41649,32.23749],[102.416555,32.237289],[102.416619,32.237092],[102.416665,32.236948],[102.416716,32.236876],[102.416804,32.236747],[102.416916,32.236586],[102.417037,32.236412],[102.417174,32.236213],[102.417309,32.236018],[102.417414,32.235866],[102.417541,32.235682],[102.417639,32.235539],[102.41775,32.235438],[102.417853,32.235344],[102.418007,32.235202],[102.418158,32.235063],[102.418325,32.23491],[102.418473,32.234774],[102.418598,32.234659],[102.418705,32.234556],[102.418831,32.234433],[102.418983,32.234286],[102.419122,32.234151],[102.419239,32.234037],[102.419323,32.23387],[102.419399,32.233719],[102.419798,32.23362],[102.420495,32.233406],[102.421206,32.23329],[102.421705,32.233208],[102.422269,32.233116],[102.422776,32.233126],[102.42345,32.23314],[102.424149,32.233154],[102.424565,32.233198],[102.425297,32.233276],[102.426057,32.233454],[102.426517,32.233562],[102.427028,32.233792],[102.427614,32.234056],[102.428109,32.234279],[102.428598,32.234556],[102.428998,32.234783],[102.429395,32.234958],[102.429741,32.235167],[102.430175,32.235429],[102.430659,32.235721],[102.431154,32.23602],[102.431821,32.236423],[102.432415,32.236781],[102.432801,32.237072],[102.433231,32.237395],[102.433618,32.237687],[102.433961,32.237949],[102.434286,32.238198],[102.43467,32.238491],[102.434893,32.238843],[102.435111,32.239185],[102.43535,32.239616],[102.435513,32.239911],[102.435746,32.240476],[102.436012,32.241121],[102.436197,32.24157],[102.436425,32.242124],[102.436524,32.242362],[102.436598,32.242544],[102.436716,32.242829],[102.436897,32.243267],[102.43712,32.243808],[102.437305,32.244257],[102.437409,32.244509],[102.437561,32.244879],[102.437653,32.245144],[102.437759,32.245448],[102.437881,32.245799],[102.437776,32.246008],[102.437652,32.246254],[102.437637,32.246283],[102.43739,32.246546],[102.437136,32.246815],[102.437004,32.246956],[102.436843,32.247229],[102.436687,32.247494],[102.436559,32.247711],[102.436461,32.247878],[102.4364,32.247982],[102.436359,32.248052],[102.436342,32.248671],[102.43699,32.24993],[102.437021,32.249991],[102.437106,32.250155],[102.43736,32.250654],[102.437761,32.251441],[102.437815,32.251581],[102.438039,32.252164],[102.438405,32.253118],[102.438638,32.254395],[102.439364,32.255878],[102.439525,32.256395],[102.439581,32.256575],[102.439681,32.256895],[102.439515,32.257349],[102.438964,32.257827],[102.438868,32.258063],[102.438634,32.258636],[102.438666,32.259208],[102.438685,32.25955],[102.438684,32.260357],[102.438684,32.260652],[102.438684,32.260953],[102.439117,32.261941],[102.440476,32.262784],[102.441138,32.263809],[102.441852,32.264378],[102.442676,32.265112],[102.443079,32.265806],[102.443412,32.266237],[102.443397,32.266791],[102.44334,32.267658],[102.443329,32.267833],[102.443258,32.268332],[102.443246,32.268412],[102.443138,32.269167],[102.443232,32.269919],[102.443212,32.270637],[102.443153,32.271353],[102.442814,32.272488],[102.442715,32.273302],[102.442676,32.273379],[102.442267,32.274206],[102.441318,32.275166],[102.440295,32.276059],[102.440265,32.276111],[102.440042,32.276506],[102.439729,32.277058],[102.439512,32.277416],[102.439146,32.278018],[102.439004,32.278251],[102.438982,32.278347],[102.438884,32.278774],[102.438861,32.278874],[102.438698,32.279582],[102.4387,32.279674],[102.438715,32.280333],[102.438138,32.281807],[102.438077,32.281961],[102.437764,32.28276],[102.437639,32.283096],[102.437464,32.283566],[102.437437,32.283638],[102.43739,32.283764],[102.436614,32.285412],[102.436418,32.286909],[102.436342,32.287743],[102.436334,32.287824],[102.436307,32.288114],[102.436235,32.288407],[102.436202,32.288543],[102.436194,32.288578],[102.436182,32.288624],[102.436169,32.288678],[102.435917,32.289704],[102.436036,32.290947],[102.436316,32.291898],[102.436507,32.293305],[102.436708,32.294353],[102.436747,32.295033],[102.436772,32.295461],[102.436785,32.295692],[102.437007,32.297452],[102.437037,32.297687],[102.436929,32.298794],[102.436959,32.300459],[102.436964,32.301633],[102.436629,32.302605],[102.436339,32.30335],[102.436223,32.30475],[102.435919,32.305984],[102.435335,32.307636],[102.435152,32.308676],[102.434708,32.309417],[102.434185,32.310287],[102.433662,32.311092],[102.43301,32.312416],[102.432892,32.313138],[102.432873,32.31325],[102.432871,32.313262],[102.432874,32.313331],[102.432875,32.313348],[102.432875,32.313349],[102.432877,32.313359],[102.432877,32.313361],[102.432878,32.313389],[102.432948,32.314634],[102.433116,32.315485],[102.433206,32.316368],[102.433846,32.317747],[102.434105,32.318304],[102.434182,32.318469],[102.434412,32.318963],[102.434554,32.31927],[102.434672,32.319572],[102.434873,32.320088],[102.435123,32.320905],[102.435498,32.322131],[102.43588,32.323124],[102.435809,32.32385],[102.435787,32.324072],[102.435784,32.324108],[102.435761,32.324933],[102.435756,32.325081],[102.435736,32.325798],[102.435735,32.325853],[102.435728,32.326079],[102.436313,32.327135],[102.436392,32.328078],[102.436403,32.328213],[102.436415,32.328355],[102.436481,32.328474],[102.436548,32.328594],[102.436634,32.32875],[102.436744,32.328948],[102.43685,32.329139],[102.436936,32.329295],[102.437047,32.329495],[102.43713,32.329646],[102.437177,32.32987],[102.437211,32.330039],[102.437252,32.330237],[102.437254,32.330243],[102.437551,32.331684],[102.437515,32.332959],[102.437296,32.333477],[102.437072,32.333964],[102.436784,32.334713],[102.436948,32.335206],[102.437005,32.335257],[102.437413,32.33562],[102.437419,32.335626],[102.437468,32.33567],[102.437505,32.335685],[102.437611,32.335728],[102.437753,32.335786],[102.438076,32.335918],[102.43883,32.336226],[102.440769,32.336831],[102.441061,32.336939],[102.441245,32.337007],[102.441275,32.337018],[102.441805,32.337214],[102.444552,32.338229],[102.444639,32.338395],[102.444719,32.338546],[102.444737,32.338582],[102.444755,32.338616],[102.444765,32.338635],[102.445203,32.33947],[102.446265,32.341494],[102.44698,32.343262],[102.447546,32.344897],[102.447984,32.345262],[102.448742,32.345895],[102.449134,32.346058],[102.449219,32.346108],[102.449228,32.346117],[102.449363,32.346021],[102.449807,32.346111],[102.450239,32.346387],[102.450444,32.346518],[102.45045,32.346521],[102.450575,32.346601],[102.450859,32.346782],[102.451698,32.346864],[102.453604,32.347097],[102.454452,32.347055],[102.454496,32.347052],[102.454523,32.347051],[102.455753,32.346816],[102.455953,32.34682],[102.456977,32.346841],[102.458579,32.347678],[102.458786,32.347787],[102.460597,32.348667],[102.462705,32.349879],[102.464668,32.350827],[102.466106,32.351376],[102.467467,32.351923],[102.468904,32.352536],[102.470346,32.352955],[102.470661,32.353029],[102.471258,32.353168],[102.472326,32.353254],[102.473468,32.353472],[102.47458,32.354728],[102.475767,32.356051],[102.476598,32.356457],[102.478407,32.357402],[102.479785,32.358482],[102.480688,32.359019],[102.481338,32.359864],[102.482039,32.361072],[102.482135,32.362009],[102.482273,32.363674],[102.482675,32.364617],[102.483433,32.365983],[102.484561,32.367252],[102.485027,32.368093],[102.48628,32.369261],[102.486611,32.370566],[102.486269,32.371858],[102.486108,32.373257],[102.486154,32.37383],[102.487249,32.374059],[102.488027,32.374698],[102.488845,32.376117],[102.490394,32.377654],[102.490542,32.378956],[102.490509,32.38015],[102.490598,32.381346],[102.491049,32.382758],[102.491141,32.383851],[102.491462,32.385519],[102.491056,32.386914],[102.490778,32.390337],[102.490554,32.391787],[102.490756,32.393349],[102.490781,32.394648],[102.490508,32.395682],[102.48943,32.397011],[102.488665,32.398086],[102.487793,32.39864],[102.485717,32.400625],[102.483981,32.401421],[102.48292,32.402127],[102.482146,32.403566],[102.481929,32.404757],[102.481957,32.405952],[102.481934,32.406782],[102.481535,32.407917],[102.481502,32.409111],[102.481512,32.41093],[102.481419,32.412071],[102.480722,32.415121],[102.480625,32.416418],[102.480701,32.418082],[102.480725,32.419433],[102.480743,32.420991],[102.481169,32.423285],[102.481591,32.425735],[102.482403,32.427362],[102.482739,32.428511],[102.48343,32.430083],[102.484503,32.431143],[102.485528,32.431735],[102.48649,32.432378],[102.487322,32.433277],[102.488331,32.43444],[102.490313,32.435882],[102.491259,32.437096],[102.491415,32.438086],[102.491511,32.439075],[102.492023,32.440487],[102.492528,32.44216],[102.492802,32.443308],[102.493447,32.444359],[102.493962,32.445668],[102.494777,32.447191],[102.495789,32.44825],[102.496884,32.448531],[102.498921,32.448001],[102.499732,32.447445],[102.500299,32.446213],[102.501265,32.445927],[102.501934,32.445535],[102.502618,32.444584],[102.50465,32.442494],[102.506141,32.440494],[102.507601,32.43961],[102.509176,32.438931],[102.510628,32.438351],[102.511793,32.437308],[102.513027,32.435963],[102.514031,32.434258],[102.514308,32.432894],[102.513938,32.43111],[102.512401,32.428239],[102.511394,32.425733],[102.510669,32.423791],[102.510708,32.422371],[102.510749,32.422294],[102.511223,32.421402],[102.511236,32.421379],[102.511246,32.421359],[102.511263,32.421327],[102.511323,32.421215],[102.511402,32.421066],[102.511778,32.420464],[102.512634,32.419771],[102.513727,32.419184],[102.516419,32.419186],[102.518773,32.419233],[102.518846,32.419234],[102.520065,32.419258],[102.521922,32.419193],[102.523122,32.419217],[102.523884,32.419232],[102.52509,32.419256],[102.526508,32.419228],[102.527664,32.419205],[102.527846,32.419192],[102.528362,32.419155],[102.529342,32.419085],[102.531386,32.41872],[102.532553,32.418385],[102.532712,32.41834],[102.533156,32.418286],[102.533943,32.418191],[102.534201,32.418159],[102.534512,32.418121],[102.535523,32.418344],[102.536887,32.418777],[102.538407,32.419519],[102.538835,32.419728],[102.538959,32.419788],[102.540902,32.420733],[102.543321,32.421947],[102.543751,32.422217],[102.544321,32.422575],[102.546463,32.423992],[102.54649,32.42401],[102.546613,32.424091],[102.5482,32.425063],[102.548362,32.425162],[102.54848,32.425234],[102.548491,32.425241],[102.548496,32.425244],[102.548521,32.425262],[102.548552,32.425285],[102.548567,32.425296],[102.548572,32.4253],[102.548578,32.425304],[102.550491,32.426704],[102.55254,32.428367],[102.553757,32.429224],[102.553949,32.429358],[102.556042,32.431289],[102.556984,32.432157],[102.558222,32.432841],[102.560255,32.433513],[102.561318,32.433826],[102.562118,32.434004],[102.562561,32.434597],[102.562842,32.435544],[102.563736,32.436471],[102.564399,32.437458],[102.565107,32.438186],[102.565743,32.438718],[102.566501,32.439025],[102.567794,32.439374],[102.569919,32.440065],[102.571286,32.440513],[102.573031,32.441131],[102.574966,32.441786],[102.576027,32.442228],[102.577781,32.442489],[102.579065,32.44266],[102.579498,32.442717],[102.580868,32.44287],[102.581255,32.442913],[102.583009,32.443174],[102.584527,32.44369],[102.586495,32.444572],[102.588311,32.445386],[102.589935,32.446262],[102.591138,32.447097],[102.592072,32.447959],[102.592622,32.448911],[102.593035,32.449211],[102.59391,32.449423],[102.59475,32.449504],[102.595746,32.44949],[102.596137,32.449205],[102.596761,32.448763],[102.598182,32.448628],[102.598772,32.448623],[102.598918,32.448621],[102.599103,32.44862],[102.599369,32.448618],[102.600517,32.448672],[102.601208,32.44862],[102.601388,32.448466],[102.601593,32.44829],[102.601913,32.448017],[102.603164,32.447034],[102.604169,32.446696],[102.606124,32.446636],[102.607959,32.446736],[102.609444,32.447056],[102.61112,32.447413],[102.612682,32.447702],[102.61341,32.447871],[102.61394,32.447994],[102.614205,32.448056],[102.614386,32.448063],[102.61501,32.448087],[102.61585,32.44812],[102.61711,32.448241],[102.618083,32.448202],[102.618222,32.448197],[102.619196,32.448167],[102.619525,32.448157],[102.620972,32.448476],[102.62145,32.448637],[102.622301,32.448924],[102.623403,32.449237],[102.624124,32.44951],[102.625067,32.450048],[102.625449,32.450087],[102.626046,32.449222],[102.626744,32.448499],[102.626755,32.448488],[102.626764,32.448476],[102.627062,32.448116],[102.627704,32.447337],[102.628138,32.446858],[102.629403,32.446785],[102.630589,32.44684],[102.631846,32.447091],[102.632531,32.447266],[102.633019,32.447665],[102.633699,32.448002],[102.634037,32.448268],[102.634595,32.448896],[102.635334,32.449916],[102.635926,32.450707],[102.636745,32.451631],[102.637417,32.452261],[102.638217,32.452438],[102.639168,32.452684],[102.640118,32.452994],[102.641417,32.453083],[102.64168,32.453283],[102.641667,32.453802],[102.642062,32.454784],[102.642086,32.455336],[102.643154,32.455518],[102.644645,32.455777],[102.645651,32.456373],[102.646926,32.45709],[102.648555,32.458134],[102.648767,32.458034],[102.651823,32.45676],[102.652817,32.456279],[102.654573,32.455181],[102.655635,32.455067],[102.656853,32.455057],[102.657613,32.454505],[102.65831,32.453353],[102.658992,32.4528],[102.659429,32.452575],[102.660497,32.452295],[102.66137,32.452311],[102.661713,32.452318],[102.662136,32.452314],[102.662891,32.452306],[102.66374,32.452888],[102.665082,32.454111],[102.666433,32.455002],[102.667513,32.455754],[102.669418,32.456488],[102.671048,32.457217],[102.672094,32.457769],[102.672349,32.458506],[102.67209,32.459433],[102.671722,32.461523],[102.671691,32.462721],[102.671317,32.463546],[102.671747,32.463587],[102.672971,32.463344],[102.673834,32.46336],[102.675509,32.46389],[102.676399,32.464406],[102.677165,32.465119],[102.678424,32.466573],[102.679419,32.467557],[102.679673,32.468394],[102.680198,32.469335],[102.680831,32.469147],[102.681996,32.468137],[102.682959,32.467322],[102.683992,32.466842],[102.685268,32.4661],[102.686659,32.465427],[102.688008,32.464885],[102.689386,32.464744],[102.691043,32.464409],[102.691914,32.464125],[102.693445,32.464153],[102.694665,32.464042],[102.696304,32.464007],[102.696354,32.464006],[102.696979,32.464118],[102.698109,32.464471],[102.699758,32.464468],[102.701285,32.464629],[102.702303,32.464747],[102.703025,32.464161],[102.70442,32.463321],[102.705694,32.462646],[102.705837,32.462569],[102.707325,32.461777],[102.707743,32.461523],[102.70796,32.461391],[102.708442,32.461098],[102.709838,32.460224],[102.711503,32.459589],[102.712851,32.459081],[102.713919,32.458767],[102.7153,32.458493],[102.715839,32.458306],[102.717122,32.45786],[102.718069,32.457644],[102.718778,32.457557],[102.718971,32.457495],[102.719038,32.45753],[102.719421,32.45773],[102.719804,32.45793],[102.720187,32.45813],[102.720484,32.458292],[102.72078,32.458455],[102.721076,32.458617],[102.721076,32.458617],[102.721076,32.458618],[102.72121,32.458703],[102.721395,32.458822],[102.721395,32.458822],[102.721396,32.458822],[102.721596,32.458976],[102.721796,32.459129],[102.722062,32.459472],[102.722308,32.459787],[102.722556,32.460105],[102.722805,32.460424],[102.723109,32.460712],[102.723414,32.461001],[102.723718,32.46129],[102.723912,32.46144],[102.724215,32.461674],[102.724518,32.461909],[102.724837,32.462175],[102.725156,32.462442],[102.725403,32.46257],[102.725651,32.462699],[102.726048,32.462863],[102.726445,32.463027],[102.726843,32.463191],[102.72724,32.463355],[102.727607,32.463443],[102.727975,32.46353],[102.728342,32.463618],[102.72871,32.463705],[102.729077,32.463793],[102.729464,32.463963],[102.729851,32.464133],[102.730127,32.464255],[102.730403,32.464376],[102.730657,32.464488],[102.731,32.464685],[102.731342,32.464883],[102.731685,32.46508],[102.732028,32.465278],[102.732315,32.465468],[102.732603,32.465659],[102.732891,32.465849],[102.733179,32.466039],[102.733517,32.466256],[102.733855,32.466472],[102.734193,32.466689],[102.734531,32.466905],[102.734654,32.466915],[102.734988,32.466867],[102.73518,32.466712],[102.735235,32.466667],[102.735514,32.466379],[102.735793,32.46609],[102.736073,32.465801],[102.736321,32.465624],[102.73657,32.465447],[102.736818,32.465269],[102.736837,32.465252],[102.737156,32.464969],[102.737474,32.464685],[102.737786,32.464479],[102.737832,32.464449],[102.737995,32.464297],[102.738357,32.46415],[102.738719,32.464002],[102.739147,32.463917],[102.739518,32.464002],[102.739651,32.464013],[102.739675,32.464012],[102.739993,32.464036],[102.740311,32.464061],[102.740352,32.464071],[102.740441,32.464079],[102.740548,32.464119],[102.740923,32.464261],[102.741298,32.464402],[102.741655,32.464535],[102.742012,32.464669],[102.742212,32.464726],[102.742335,32.464726],[102.742497,32.46464],[102.74265,32.464528],[102.742897,32.464346],[102.743145,32.464165],[102.743392,32.463983],[102.743763,32.463788],[102.744134,32.463593],[102.744553,32.463441],[102.744801,32.463384],[102.745134,32.463374],[102.745464,32.463412],[102.745794,32.46345],[102.746123,32.463488],[102.746287,32.463552],[102.746522,32.463644],[102.746823,32.463761],[102.747123,32.463879],[102.747432,32.463979],[102.747742,32.464079],[102.747973,32.464103],[102.748275,32.464136],[102.748627,32.464207],[102.748979,32.464278],[102.749179,32.464221],[102.749341,32.464155],[102.749565,32.463957],[102.749578,32.463945],[102.749807,32.463726],[102.750031,32.463655],[102.750254,32.463584],[102.750511,32.463536],[102.750768,32.463488],[102.75113,32.463469],[102.75135,32.463488],[102.751473,32.463498],[102.751787,32.463498],[102.752148,32.463403],[102.752407,32.463352],[102.752681,32.463298],[102.752986,32.463284],[102.75329,32.46327],[102.753592,32.4632],[102.753893,32.46313],[102.754272,32.463043],[102.754651,32.462955],[102.754694,32.462948],[102.755034,32.46289],[102.755375,32.462832],[102.755689,32.462784],[102.755993,32.462813],[102.756118,32.462857],[102.756498,32.462994],[102.756679,32.463003],[102.756907,32.462955],[102.757288,32.462917],[102.757592,32.462984],[102.757897,32.463051],[102.758259,32.463212],[102.758582,32.463251],[102.758968,32.46327],[102.759353,32.463289],[102.759715,32.463327],[102.760048,32.463554],[102.760077,32.463574],[102.760372,32.463815],[102.760667,32.464056],[102.760962,32.464297],[102.761238,32.464483],[102.761514,32.464669],[102.761536,32.464681],[102.761856,32.46485],[102.762132,32.464973],[102.762504,32.465059],[102.76278,32.465126],[102.763056,32.465192],[102.763408,32.465211],[102.76376,32.46523],[102.764112,32.465325],[102.764464,32.465449],[102.764693,32.465497],[102.764988,32.465516],[102.765205,32.46558],[102.765422,32.465645],[102.765422,32.465645],[102.765422,32.465645],[102.765547,32.465686],[102.765721,32.465744],[102.765721,32.465745],[102.765721,32.465745],[102.766039,32.465868],[102.766358,32.465992],[102.766625,32.466249],[102.766798,32.466407],[102.766971,32.466565],[102.767291,32.466858],[102.766968,32.467029],[102.764686,32.468174],[102.763549,32.468578],[102.762228,32.468925],[102.761659,32.469075],[102.760208,32.469527],[102.757623,32.470277],[102.755668,32.470826],[102.754269,32.471703],[102.752602,32.473318],[102.750992,32.475094],[102.750684,32.475398],[102.750094,32.47598],[102.748555,32.477438],[102.746753,32.479422],[102.745918,32.480256],[102.743611,32.482391],[102.742389,32.483696],[102.740655,32.485416],[102.740527,32.485544],[102.738793,32.487293],[102.736673,32.48943],[102.734052,32.491559],[102.733208,32.492503],[102.732184,32.493648],[102.731148,32.495009],[102.730612,32.495811],[102.729782,32.497054],[102.728646,32.498293],[102.728629,32.498311],[102.72856,32.498386],[102.728511,32.49844],[102.728492,32.49846],[102.728485,32.498468],[102.728471,32.498483],[102.728395,32.498566],[102.728367,32.498597],[102.728166,32.498816],[102.727914,32.49909],[102.726435,32.500656],[102.724504,32.502743],[102.724398,32.502835],[102.72393,32.50324],[102.723844,32.503314],[102.723843,32.503314],[102.723842,32.503315],[102.723817,32.503337],[102.723805,32.503348],[102.723691,32.503446],[102.723365,32.503728],[102.722519,32.504459],[102.722037,32.504752],[102.721877,32.504849],[102.721875,32.50485],[102.721873,32.504851],[102.721542,32.505053],[102.721438,32.505116],[102.721414,32.50513],[102.721334,32.505179],[102.72121,32.505255],[102.721208,32.505255],[102.721208,32.505256],[102.721117,32.505311],[102.721051,32.505351],[102.720993,32.505386],[102.720291,32.505904],[102.720151,32.505862],[102.720048,32.505831],[102.720017,32.505821],[102.720007,32.505818],[102.720007,32.505818],[102.720006,32.505818],[102.719977,32.505809],[102.719934,32.505796],[102.719359,32.505622],[102.71921,32.505691],[102.719204,32.505693],[102.71919,32.5057],[102.719185,32.505702],[102.718915,32.505826],[102.718782,32.506142],[102.718745,32.50632],[102.718639,32.50683],[102.718252,32.5073],[102.717491,32.507658],[102.716892,32.507487],[102.716857,32.507477],[102.7166,32.507404],[102.716496,32.507374],[102.71638,32.507319],[102.71622,32.507243],[102.716046,32.50716],[102.715942,32.507111],[102.715862,32.507073],[102.71583,32.507058],[102.715692,32.506992],[102.715631,32.506963],[102.715568,32.506933],[102.714991,32.507453],[102.714349,32.508078],[102.713785,32.508121],[102.713287,32.508006],[102.713075,32.507869],[102.713074,32.507869],[102.713073,32.507868],[102.713047,32.507852],[102.713025,32.507837],[102.712937,32.507781],[102.712847,32.507723],[102.712821,32.507706],[102.712609,32.507569],[102.712168,32.507667],[102.712118,32.507679],[102.711979,32.507714],[102.711945,32.507722],[102.711917,32.507729],[102.711916,32.507729],[102.711915,32.507729],[102.71116,32.507914],[102.710723,32.508037],[102.71031,32.508154],[102.710292,32.508174],[102.710504,32.50832],[102.71083,32.508545],[102.710882,32.50897],[102.710806,32.5095],[102.710493,32.509494],[102.710127,32.509116],[102.710063,32.509093],[102.710039,32.509084],[102.709979,32.509063],[102.709954,32.509053],[102.709887,32.509029],[102.709817,32.509004],[102.709529,32.509284],[102.709496,32.509317],[102.709494,32.50933],[102.70949,32.509363],[102.709487,32.509387],[102.709475,32.50948],[102.709417,32.509952],[102.709095,32.510318],[102.708462,32.510571],[102.708224,32.510567],[102.708024,32.510563],[102.70764,32.510325],[102.707622,32.510314],[102.707532,32.510258],[102.707499,32.510238],[102.707407,32.510181],[102.7071,32.509963],[102.70694,32.510034],[102.706669,32.510155],[102.706659,32.51016],[102.70656,32.510204],[102.706534,32.510216],[102.706532,32.510217],[102.706529,32.510218],[102.706572,32.511015],[102.706493,32.51165],[102.706044,32.512066],[102.705732,32.512007],[102.705623,32.511782],[102.705623,32.511782],[102.705622,32.511781],[102.705622,32.511781],[102.705612,32.51176],[102.70556,32.511652],[102.705536,32.511604],[102.705316,32.511151],[102.704959,32.510401],[102.704482,32.510437],[102.704444,32.51044],[102.704394,32.510444],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704323,32.510627],[102.704126,32.511129],[102.703558,32.511331],[102.70256,32.511154],[102.702492,32.511159],[102.702484,32.51116],[102.702421,32.511165],[102.702386,32.511168],[102.702384,32.511168],[102.702383,32.511168],[102.701667,32.511226],[102.701654,32.511227],[102.70162,32.51123],[102.70153,32.511237],[102.701513,32.511239],[102.701493,32.51124],[102.70036,32.511485],[102.699908,32.512007],[102.700016,32.512699],[102.700255,32.513128],[102.700242,32.513658],[102.699918,32.514077],[102.698342,32.514473],[102.697181,32.514664],[102.697136,32.514672],[102.697061,32.514684],[102.696895,32.514711],[102.696545,32.514754],[102.696356,32.514778],[102.695765,32.51485],[102.695268,32.514682],[102.695342,32.514081],[102.695344,32.514065],[102.695347,32.514047],[102.695347,32.514047],[102.695347,32.514046],[102.695447,32.513931],[102.695492,32.513878],[102.695798,32.513524],[102.695699,32.513401],[102.695663,32.513356],[102.695617,32.513298],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695495,32.513147],[102.694769,32.513134],[102.694744,32.513133],[102.69471,32.513123],[102.694688,32.513116],[102.694515,32.513064],[102.694498,32.513059],[102.694386,32.513025],[102.694049,32.512923],[102.694022,32.512914],[102.693998,32.512907],[102.693927,32.512948],[102.693926,32.512948],[102.693926,32.512948],[102.693915,32.512954],[102.693903,32.512961],[102.693362,32.513267],[102.692987,32.51326],[102.692613,32.5132],[102.692448,32.513257],[102.691931,32.513438],[102.691602,32.513553],[102.69077,32.514228],[102.690441,32.514858],[102.690046,32.514998],[102.689303,32.515262],[102.688716,32.51535],[102.688046,32.515451],[102.687724,32.515764],[102.687266,32.516551],[102.686701,32.516594],[102.686671,32.516504],[102.686655,32.516456],[102.686651,32.516445],[102.686625,32.516366],[102.686613,32.516331],[102.686606,32.51631],[102.686468,32.5159],[102.686179,32.515759],[102.686095,32.515718],[102.686083,32.515712],[102.68597,32.515657],[102.685954,32.515649],[102.685788,32.515569],[102.684905,32.515818],[102.684625,32.515951],[102.68351,32.516482],[102.68311,32.517089],[102.682923,32.517373],[102.682352,32.517681],[102.681919,32.517461],[102.681926,32.51717],[102.681929,32.517076],[102.681933,32.516899],[102.681933,32.516894],[102.681934,32.516877],[102.681434,32.516815],[102.681022,32.51715],[102.681017,32.517154],[102.680962,32.517198],[102.680957,32.517203],[102.680882,32.517263],[102.680855,32.517285],[102.680667,32.517438],[102.680585,32.518179],[102.680821,32.518767],[102.680557,32.519293],[102.680065,32.518912],[102.679507,32.51869],[102.679367,32.518942],[102.679245,32.519163],[102.679067,32.519549],[102.679013,32.519669],[102.678979,32.519741],[102.678266,32.520027],[102.678163,32.520069],[102.677981,32.520142],[102.677587,32.520299],[102.677006,32.520979],[102.676171,32.521759],[102.675023,32.522587],[102.67383,32.522671],[102.673602,32.522737],[102.67358,32.522743],[102.673464,32.522776],[102.673439,32.522784],[102.673136,32.52287],[102.673223,32.522998],[102.673237,32.523004],[102.673251,32.52301],[102.673382,32.523068],[102.673403,32.523078],[102.673758,32.523236],[102.673671,32.523595],[102.672697,32.523936],[102.67211,32.524252],[102.671554,32.524486],[102.671291,32.524597],[102.670986,32.524491],[102.670793,32.524424],[102.670553,32.524212],[102.670528,32.524189],[102.670513,32.524176],[102.670492,32.524157],[102.670432,32.524104],[102.670432,32.524104],[102.670431,32.524103],[102.670378,32.524057],[102.669892,32.523459],[102.669558,32.52293],[102.669515,32.522935],[102.669513,32.522936],[102.66951,32.522936],[102.669403,32.522951],[102.6694,32.522951],[102.669399,32.522951],[102.669367,32.522955],[102.669294,32.522965],[102.669132,32.522987],[102.668774,32.523406],[102.669075,32.523706],[102.66941,32.524202],[102.66932,32.524691],[102.669042,32.52498],[102.668617,32.525005],[102.668159,32.5248],[102.668065,32.524686],[102.668035,32.52465],[102.668012,32.524621],[102.667961,32.524559],[102.667961,32.524559],[102.667961,32.524558],[102.667951,32.524547],[102.66786,32.524435],[102.667492,32.524569],[102.667477,32.524574],[102.667431,32.524591],[102.6674,32.524619],[102.667395,32.524624],[102.66728,32.524732],[102.666917,32.525072],[102.666295,32.525224],[102.666055,32.525546],[102.665926,32.526067],[102.665566,32.526551],[102.664905,32.526735],[102.664518,32.52676],[102.664161,32.527146],[102.66307,32.527518],[102.661943,32.527824],[102.661704,32.528114],[102.66135,32.528369],[102.660922,32.528492],[102.660698,32.528418],[102.66068,32.528412],[102.660672,32.52841],[102.660566,32.528375],[102.660548,32.528369],[102.660501,32.528353],[102.66008,32.528215],[102.660071,32.528223],[102.660043,32.528249],[102.66003,32.528261],[102.659953,32.528333],[102.659942,32.528343],[102.659902,32.528379],[102.659803,32.528471],[102.659987,32.528834],[102.659938,32.529226],[102.659581,32.529579],[102.658259,32.529947],[102.657409,32.529996],[102.657263,32.52996],[102.657244,32.529955],[102.657237,32.529953],[102.65713,32.529926],[102.657123,32.529925],[102.656565,32.529784],[102.65641,32.529815],[102.656314,32.529834],[102.655669,32.529963],[102.655662,32.529965],[102.655534,32.52999],[102.655517,32.529994],[102.654879,32.53081],[102.654094,32.531286],[102.653944,32.531337],[102.653643,32.53144],[102.653072,32.531635],[102.651862,32.531816],[102.651536,32.531764],[102.650709,32.531631],[102.650693,32.531584],[102.65053,32.531097],[102.650534,32.531043],[102.650535,32.531031],[102.650536,32.531019],[102.650545,32.530898],[102.650546,32.530877],[102.650605,32.530077],[102.650322,32.529826],[102.650269,32.52985],[102.650259,32.529855],[102.650175,32.529894],[102.650146,32.529907],[102.649875,32.530032],[102.649638,32.53014],[102.649002,32.530496],[102.647929,32.530966],[102.646955,32.531316],[102.646118,32.531954],[102.645453,32.532333],[102.645388,32.532371],[102.645358,32.532387],[102.645329,32.532404],[102.645286,32.532429],[102.645275,32.532438],[102.645266,32.532445],[102.64499,32.532668],[102.645046,32.532714],[102.645294,32.532915],[102.645509,32.533089],[102.645557,32.533128],[102.64564,32.533307],[102.645627,32.533787],[102.645269,32.533806],[102.644856,32.533577],[102.644796,32.533544],[102.644769,32.533529],[102.644706,32.533494],[102.644682,32.533481],[102.644681,32.53348],[102.644681,32.53348],[102.64468,32.53348],[102.644393,32.533265],[102.644197,32.533295],[102.644196,32.533295],[102.644196,32.533295],[102.644091,32.533311],[102.64409,32.533311],[102.64408,32.533313],[102.643938,32.533334],[102.643625,32.533382],[102.643052,32.533827],[102.643167,32.534021],[102.643403,32.534187],[102.643595,32.534421],[102.643747,32.534606],[102.643747,32.534607],[102.643747,32.534607],[102.643783,32.534908],[102.643805,32.535024],[102.643814,32.535071],[102.643861,32.535323],[102.643453,32.535653],[102.643005,32.535605],[102.643002,32.535605],[102.643001,32.535604],[102.642943,32.535598],[102.642909,32.535594],[102.642891,32.535593],[102.642613,32.535562],[102.642035,32.535411],[102.641925,32.535382],[102.641818,32.535354],[102.641818,32.535354],[102.641735,32.535332],[102.641687,32.535319],[102.641299,32.535284],[102.641281,32.535282],[102.641211,32.535275],[102.641096,32.535265],[102.640967,32.535253],[102.640669,32.535225],[102.640672,32.535242],[102.640675,32.535254],[102.640694,32.535356],[102.640747,32.53564],[102.640563,32.5359],[102.640427,32.535948],[102.640397,32.535959],[102.640236,32.536015],[102.640215,32.536023],[102.64016,32.536042],[102.64012,32.536042],[102.639752,32.536035],[102.639724,32.536034],[102.63956,32.536031],[102.639527,32.536031],[102.639376,32.536028],[102.639317,32.536027],[102.638913,32.536207],[102.638812,32.536694],[102.638761,32.536728],[102.638676,32.536787],[102.638603,32.536836],[102.638587,32.536847],[102.638587,32.536848],[102.638586,32.536848],[102.638572,32.536858],[102.638505,32.536904],[102.638494,32.536911],[102.638493,32.536912],[102.638376,32.536992],[102.638376,32.536992],[102.638375,32.536993],[102.638283,32.537056],[102.638224,32.537096],[102.637999,32.537479],[102.637977,32.537517],[102.637927,32.537602],[102.637863,32.537711],[102.637853,32.537728],[102.637723,32.537886],[102.637682,32.537935],[102.637676,32.537942],[102.637616,32.538015],[102.637606,32.538026],[102.637599,32.538036],[102.637578,32.538061],[102.637513,32.538057],[102.637285,32.538045],[102.637269,32.538044],[102.637093,32.538035],[102.637073,32.538034],[102.636613,32.538009],[102.636583,32.538007],[102.636515,32.538003],[102.636483,32.538003],[102.636457,32.538002],[102.636312,32.538],[102.635849,32.537991],[102.635572,32.538437],[102.635523,32.538508],[102.635512,32.538524],[102.635443,32.538626],[102.635439,32.538632],[102.63535,32.538763],[102.635295,32.538845],[102.634716,32.538909],[102.634383,32.539042],[102.634369,32.539048],[102.63427,32.539088],[102.634269,32.539088],[102.634268,32.539088],[102.634267,32.539116],[102.634263,32.539258],[102.634261,32.539351],[102.63426,32.539366],[102.63426,32.539389],[102.634332,32.539479],[102.634336,32.539484],[102.634465,32.539644],[102.634475,32.539656],[102.634502,32.539652],[102.634853,32.539595],[102.635012,32.539569],[102.635099,32.539555],[102.635224,32.539591],[102.635234,32.539594],[102.635296,32.539612],[102.635763,32.539745],[102.635773,32.539748],[102.635803,32.539756],[102.635805,32.539763],[102.635849,32.539881],[102.635864,32.539923],[102.635927,32.540097],[102.635744,32.540319],[102.635162,32.540337],[102.635121,32.540338],[102.634989,32.540342],[102.634727,32.540324],[102.634704,32.540323],[102.634236,32.540291],[102.634144,32.540353],[102.633965,32.540473],[102.633956,32.5405],[102.633821,32.540884],[102.633902,32.541164],[102.633902,32.541164],[102.633902,32.541166],[102.633928,32.541255],[102.633928,32.541256],[102.633933,32.541275],[102.633966,32.541389],[102.633984,32.541451],[102.634002,32.541525],[102.634022,32.541607],[102.634025,32.541618],[102.634028,32.54163],[102.634043,32.541692],[102.634043,32.541694],[102.634044,32.541696],[102.634104,32.541942],[102.633512,32.542532],[102.632525,32.542927],[102.632235,32.542876],[102.632217,32.542873],[102.632135,32.542859],[102.632132,32.542858],[102.63213,32.542858],[102.632039,32.542842],[102.631989,32.54277],[102.631935,32.542694],[102.631934,32.542692],[102.631933,32.54269],[102.631826,32.542538],[102.631837,32.542473],[102.63184,32.542455],[102.631842,32.542444],[102.631869,32.542291],[102.631889,32.542171],[102.631892,32.542158],[102.63193,32.541938],[102.631845,32.541759],[102.631836,32.54174],[102.63176,32.541581],[102.631678,32.541408],[102.631678,32.541408],[102.631678,32.541407],[102.631635,32.541408],[102.630901,32.541419],[102.630886,32.541419],[102.630884,32.541419],[102.630883,32.541419],[102.630881,32.541419],[102.630813,32.54142],[102.630765,32.541421],[102.630765,32.541421],[102.630756,32.541421],[102.630568,32.541424],[102.629999,32.541316],[102.629969,32.541311],[102.62988,32.541294],[102.629861,32.54129],[102.629685,32.541257],[102.629664,32.541304],[102.629571,32.54151],[102.629563,32.541528],[102.629517,32.541628],[102.629508,32.54165],[102.62945,32.541779],[102.629441,32.541815],[102.629349,32.542228],[102.629265,32.542271],[102.62922,32.542295],[102.629207,32.542302],[102.629114,32.54235],[102.629104,32.542355],[102.629047,32.542384],[102.628719,32.542554],[102.628708,32.54261],[102.628705,32.542621],[102.628685,32.542719],[102.628655,32.54286],[102.628621,32.543023],[102.628618,32.543041],[102.628567,32.543054],[102.628128,32.543169],[102.627813,32.543251],[102.626966,32.542985],[102.626669,32.542891],[102.62662,32.542915],[102.626593,32.542927],[102.626426,32.543006],[102.626403,32.543016],[102.626329,32.543051],[102.62613,32.543144],[102.625855,32.543477],[102.62537,32.543724],[102.625351,32.543734],[102.62531,32.543755],[102.62528,32.54377],[102.625001,32.543912],[102.624776,32.544049],[102.624695,32.544097],[102.624693,32.544098],[102.624692,32.544099],[102.624691,32.5441],[102.624451,32.544246],[102.624279,32.54435],[102.622941,32.544625],[102.62239,32.545329],[102.621734,32.545806],[102.6217,32.545832],[102.621648,32.545869],[102.621587,32.545914],[102.621511,32.545969],[102.621485,32.545988],[102.62146,32.546013],[102.621385,32.546088],[102.621333,32.546139],[102.621213,32.546259],[102.621212,32.54626],[102.621211,32.546261],[102.621171,32.546301],[102.620892,32.546578],[102.620664,32.54663],[102.620648,32.546634],[102.620533,32.546661],[102.620532,32.546661],[102.62053,32.546661],[102.620412,32.546688],[102.620133,32.546752],[102.619927,32.546707],[102.619825,32.546684],[102.619653,32.546646],[102.619616,32.546638],[102.619578,32.54663],[102.619383,32.546587],[102.618569,32.547173],[102.61838,32.547621],[102.618233,32.548144],[102.618076,32.549043],[102.617824,32.550203],[102.617631,32.550764],[102.617712,32.551066],[102.618283,32.551302],[102.618628,32.551647],[102.61853,32.552021],[102.618168,32.552277],[102.617194,32.552183],[102.617168,32.552177],[102.616737,32.552072],[102.616357,32.55198],[102.616033,32.552462],[102.616057,32.553252],[102.615821,32.553774],[102.614949,32.554847],[102.614437,32.555777],[102.614384,32.55592],[102.614365,32.555971],[102.614348,32.556017],[102.614332,32.556062],[102.614149,32.556561],[102.614135,32.557124],[102.61425,32.557803],[102.614545,32.558372],[102.614831,32.559317],[102.615034,32.560035],[102.615287,32.560529],[102.615703,32.560952],[102.615734,32.560985],[102.615762,32.561012],[102.616151,32.561409],[102.616296,32.56148],[102.616302,32.561483],[102.616353,32.561508],[102.616994,32.561823],[102.617028,32.561839],[102.617147,32.56201],[102.617148,32.56201],[102.617228,32.562125],[102.617354,32.562305],[102.617369,32.562326],[102.61737,32.562328],[102.617371,32.562329],[102.617405,32.562378],[102.617435,32.562421],[102.617455,32.562449],[102.617449,32.562674],[102.617223,32.562857],[102.617187,32.562887],[102.617086,32.562968],[102.616705,32.563109],[102.616523,32.563175],[102.616504,32.563183],[102.616316,32.563555],[102.616205,32.564417],[102.616144,32.565017],[102.616011,32.565504],[102.615988,32.565587],[102.615899,32.565915],[102.6159,32.565956],[102.615901,32.566006],[102.61592,32.56678],[102.615962,32.566833],[102.616059,32.56696],[102.616069,32.566972],[102.616119,32.567038],[102.616138,32.567062],[102.616478,32.567504],[102.617125,32.568231],[102.617211,32.56852],[102.617235,32.568598],[102.617237,32.568605],[102.617303,32.568825],[102.617329,32.568911],[102.617329,32.568932],[102.61733,32.569001],[102.617331,32.56903],[102.617347,32.569889],[102.617188,32.570863],[102.617127,32.571108],[102.617046,32.571433],[102.617039,32.571461],[102.616982,32.571949],[102.617373,32.572257],[102.618068,32.572834],[102.618411,32.573291],[102.618447,32.573593],[102.618232,32.573802],[102.61822,32.573814],[102.618214,32.573818],[102.618213,32.573818],[102.618213,32.573818],[102.618204,32.573824],[102.618086,32.573899],[102.618041,32.573927],[102.617779,32.574093],[102.617618,32.574196],[102.617617,32.574197],[102.617617,32.574197],[102.617588,32.574215],[102.617564,32.574246],[102.617547,32.574268],[102.617547,32.574268],[102.617546,32.574269],[102.617128,32.574808],[102.617024,32.57537],[102.616962,32.576045],[102.616933,32.577135],[102.617007,32.57732],[102.617135,32.577638],[102.617158,32.577697],[102.617264,32.577963],[102.617266,32.577968],[102.617266,32.577979],[102.617244,32.578794],[102.617495,32.5794],[102.617835,32.579564],[102.6179,32.579595],[102.617943,32.579616],[102.618065,32.579674],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618089,32.579725],[102.618191,32.57994],[102.618139,32.580202],[102.61809,32.580389],[102.617912,32.580468],[102.617675,32.580574],[102.617655,32.580583],[102.617559,32.580625],[102.617559,32.580625],[102.617559,32.580626],[102.617533,32.580637],[102.617281,32.580749],[102.617094,32.581122],[102.617205,32.581575],[102.61721,32.581597],[102.617214,32.581612],[102.617246,32.581645],[102.61735,32.581753],[102.617388,32.581793],[102.617473,32.581881],[102.617738,32.581961],[102.617747,32.582039],[102.61777,32.582225],[102.617774,32.582262],[102.61777,32.582433],[102.617768,32.582485],[102.617767,32.582521],[102.617765,32.5826],[102.617679,32.582635],[102.617522,32.582697],[102.617414,32.582741],[102.617406,32.582744],[102.617249,32.582799],[102.617226,32.582808],[102.6166,32.583029],[102.616367,32.583438],[102.616362,32.583475],[102.616362,32.583477],[102.616361,32.583478],[102.61636,32.583488],[102.616351,32.583557],[102.616346,32.583592],[102.616342,32.583623],[102.616311,32.58385],[102.616365,32.584163],[102.616381,32.584261],[102.616384,32.584277],[102.616389,32.584305],[102.616401,32.584379],[102.616404,32.584397],[102.616407,32.584412],[102.616427,32.584529],[102.616227,32.585352],[102.616278,32.585615],[102.61628,32.585623],[102.616338,32.585925],[102.616344,32.585956],[102.616352,32.585974],[102.616478,32.586297],[102.616519,32.586401],[102.616552,32.586486],[102.616534,32.586583],[102.616514,32.586694],[102.616449,32.587048],[102.616342,32.587288],[102.616305,32.58737],[102.616298,32.587384],[102.616253,32.587485],[102.616247,32.587499],[102.616242,32.587511],[102.616241,32.587512],[102.616241,32.587512],[102.616166,32.587681],[102.616333,32.58806],[102.616396,32.588181],[102.616442,32.58827],[102.616519,32.588418],[102.616522,32.588425],[102.616564,32.588505],[102.616629,32.58863],[102.616997,32.588719],[102.616998,32.588719],[102.616999,32.58872],[102.617029,32.588727],[102.617206,32.58877],[102.617207,32.58877],[102.617208,32.588771],[102.617467,32.588833],[102.617815,32.589103],[102.617765,32.589328],[102.617676,32.589356],[102.617661,32.589361],[102.617608,32.589378],[102.617561,32.589394],[102.617546,32.589399],[102.617158,32.589524],[102.617122,32.589536],[102.617074,32.589552],[102.616999,32.589576],[102.616972,32.589585],[102.616779,32.589647],[102.616592,32.59002],[102.6166,32.5901],[102.616607,32.59016],[102.616616,32.590252],[102.61662,32.590286],[102.616627,32.590359],[102.617152,32.590885],[102.617265,32.590998],[102.617276,32.59101],[102.617339,32.591066],[102.617358,32.591082],[102.617441,32.591156],[102.617462,32.591174],[102.61797,32.591624],[102.618629,32.5919],[102.618865,32.592067],[102.619065,32.592209],[102.619144,32.592549],[102.618648,32.592833],[102.61849,32.592893],[102.618389,32.592931],[102.618246,32.592986],[102.618143,32.593025],[102.617866,32.59313],[102.617563,32.593467],[102.617771,32.593939],[102.618056,32.594319],[102.618823,32.594552],[102.619408,32.59475],[102.619447,32.594821],[102.619482,32.594884],[102.619536,32.59498],[102.619583,32.595065],[102.619583,32.595065],[102.619583,32.595066],[102.619571,32.595143],[102.619564,32.595186],[102.619539,32.595345],[102.619523,32.595354],[102.619127,32.595587],[102.619023,32.595659],[102.618996,32.595678],[102.618947,32.595711],[102.618912,32.595736],[102.61891,32.595738],[102.618908,32.595739],[102.618602,32.595951],[102.618557,32.596287],[102.618556,32.596293],[102.618919,32.596421],[102.618953,32.596433],[102.619213,32.596524],[102.619244,32.596551],[102.619282,32.596584],[102.61935,32.596645],[102.619548,32.59682],[102.619609,32.596874],[102.619648,32.596927],[102.620002,32.597411],[102.620046,32.59747],[102.62011,32.597558],[102.620125,32.597578],[102.620143,32.597602],[102.620386,32.598168],[102.620451,32.598311],[102.620462,32.598333],[102.62052,32.598459],[102.620521,32.598461],[102.620521,32.598461],[102.620541,32.598504],[102.620541,32.598505],[102.620541,32.598506],[102.62056,32.598545],[102.620145,32.598912],[102.62012,32.598941],[102.620093,32.598973],[102.619988,32.599097],[102.619979,32.599108],[102.619941,32.599153],[102.619624,32.599528],[102.619614,32.59954],[102.619574,32.599587],[102.619776,32.599746],[102.619899,32.599843],[102.619891,32.599908],[102.619889,32.599925],[102.619879,32.600015],[102.619878,32.600022],[102.619875,32.600045],[102.619852,32.600247],[102.619406,32.600395],[102.619385,32.600493],[102.619374,32.600544],[102.619357,32.600628],[102.619352,32.60065],[102.61934,32.60071],[102.619337,32.600725],[102.61933,32.600758],[102.619321,32.600799],[102.619576,32.601376],[102.619599,32.601428],[102.619655,32.601528],[102.619753,32.601704],[102.619784,32.601759],[102.619805,32.601797],[102.61981,32.601806],[102.620164,32.602357],[102.620595,32.602738],[102.620996,32.603038],[102.620927,32.603277],[102.620717,32.603433],[102.620715,32.603434],[102.620713,32.603436],[102.620627,32.6035],[102.620613,32.60351],[102.620611,32.603512],[102.620609,32.603513],[102.620366,32.603694],[102.620353,32.603704],[102.620236,32.603791],[102.620229,32.603796],[102.620124,32.603874],[102.620124,32.603875],[102.620124,32.603876],[102.620081,32.604039],[102.620076,32.604059],[102.620063,32.604105],[102.620037,32.604206],[102.620019,32.604272],[102.619949,32.604537],[102.619936,32.604566],[102.619885,32.604681],[102.619715,32.605065],[102.619722,32.605083],[102.619725,32.605092],[102.619734,32.605116],[102.619765,32.605202],[102.619773,32.605222],[102.619777,32.605235],[102.619869,32.605487],[102.619891,32.605547],[102.619896,32.605554],[102.620058,32.605784],[102.620064,32.605791],[102.620064,32.605792],[102.620065,32.605793],[102.620241,32.606042],[102.620407,32.606276],[102.620674,32.606738],[102.620675,32.606739],[102.620675,32.606739],[102.620718,32.606814],[102.620722,32.60682],[102.620723,32.606821],[102.620723,32.606822],[102.620828,32.607003],[102.621488,32.607016],[102.621904,32.607142],[102.621934,32.607151],[102.622028,32.607179],[102.62203,32.60718],[102.622031,32.60718],[102.62205,32.607186],[102.62205,32.607187],[102.62205,32.607188],[102.622056,32.607288],[102.622056,32.607289],[102.622056,32.60729],[102.622058,32.60732],[102.622072,32.607559],[102.621903,32.607706],[102.621892,32.607716],[102.621809,32.607789],[102.621802,32.607795],[102.621774,32.607819],[102.621653,32.607924],[102.621549,32.608132],[102.62152,32.608188],[102.621798,32.608406],[102.622085,32.60853],[102.622103,32.608538],[102.62212,32.608545],[102.622575,32.608741],[102.623239,32.608937],[102.623824,32.609111],[102.624476,32.609443],[102.625058,32.609693],[102.625316,32.609805],[102.6257,32.610144],[102.626085,32.610485],[102.626103,32.610498],[102.626128,32.610517],[102.62614,32.610526],[102.626181,32.610556],[102.626207,32.610575],[102.626208,32.610576],[102.626208,32.610576],[102.626225,32.610588],[102.626455,32.610758],[102.626729,32.610703],[102.626824,32.610684],[102.62685,32.610678],[102.627056,32.610636],[102.627375,32.610483],[102.627402,32.61047],[102.627463,32.61044],[102.627524,32.610411],[102.627534,32.610406],[102.628151,32.610442],[102.628191,32.610445],[102.628193,32.610445],[102.628194,32.610445],[102.628207,32.610464],[102.628234,32.610503],[102.628258,32.610537],[102.628436,32.610796],[102.628396,32.611017],[102.628373,32.61114],[102.628373,32.611142],[102.628372,32.611145],[102.628363,32.611194],[102.628333,32.611245],[102.628327,32.611257],[102.628317,32.611274],[102.628165,32.611536],[102.627812,32.611823],[102.627149,32.611975],[102.627071,32.611993],[102.627054,32.611997],[102.627017,32.612006],[102.626968,32.612017],[102.626966,32.612017],[102.626965,32.612018],[102.626957,32.612019],[102.626769,32.612071],[102.626761,32.612073],[102.626749,32.612076],[102.626707,32.612088],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.62666,32.612101],[102.626415,32.612168],[102.626406,32.612171],[102.626355,32.612185],[102.626338,32.61219],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626309,32.612255],[102.626302,32.612287],[102.626252,32.612512],[102.626312,32.612569],[102.625465,32.612859],[102.624053,32.613234],[102.623637,32.613392],[102.623002,32.613632],[102.621617,32.614163],[102.620392,32.614882],[102.619166,32.615647],[102.61789,32.616226],[102.617115,32.616743],[102.616607,32.617083],[102.615944,32.617552],[102.615944,32.617552],[102.615932,32.61756],[102.615859,32.617612],[102.615854,32.617616],[102.615852,32.617617],[102.615849,32.617619],[102.615713,32.617715],[102.614268,32.618476],[102.613601,32.618651],[102.61344,32.618693],[102.613437,32.618693],[102.613434,32.618693],[102.613217,32.618688],[102.613205,32.618688],[102.613203,32.618688],[102.613201,32.618688],[102.613188,32.618688],[102.612932,32.618683],[102.611947,32.618664],[102.611765,32.618661],[102.61174,32.61866],[102.611682,32.618659],[102.61147,32.618655],[102.611469,32.618655],[102.611467,32.618655],[102.61119,32.618646],[102.611136,32.618644],[102.611033,32.618641],[102.608017,32.618543],[102.606769,32.618055],[102.606245,32.617966],[102.606222,32.617962],[102.606214,32.617961],[102.606199,32.617958],[102.606198,32.617958],[102.605241,32.617794],[102.603269,32.617757],[102.602074,32.617363],[102.602038,32.617348],[102.601474,32.617115],[102.60143,32.617097],[102.601357,32.617067],[102.601329,32.617056],[102.600466,32.6167],[102.600068,32.616536],[102.597516,32.615606],[102.595497,32.615288],[102.595396,32.615221],[102.595355,32.615193],[102.582898,32.606836],[102.582228,32.607287],[102.581482,32.608525],[102.58152,32.609175],[102.581008,32.609861],[102.57961,32.610901],[102.578108,32.611707],[102.576709,32.612793],[102.575478,32.613697],[102.573846,32.615289],[102.573049,32.616387],[102.571868,32.617478],[102.571581,32.617982],[102.571601,32.618039],[102.57126,32.617698],[102.569487,32.616365],[102.568248,32.615552],[102.566533,32.614127],[102.564395,32.612091],[102.563974,32.611707],[102.563718,32.611475],[102.562416,32.61029],[102.562163,32.610092],[102.561452,32.609536],[102.561153,32.609302],[102.560591,32.608863],[102.558981,32.607625],[102.557963,32.606542],[102.557915,32.606495],[102.556955,32.605545],[102.555829,32.604595],[102.554367,32.603963],[102.552908,32.603193],[102.551884,32.60257],[102.551303,32.60177],[102.550905,32.600277],[102.550447,32.59897],[102.550293,32.598595],[102.550069,32.596782],[102.549878,32.595711],[102.549407,32.594913],[102.548332,32.59415],[102.54731,32.593434],[102.546462,32.592397],[102.545948,32.591135],[102.545921,32.590114],[102.545678,32.588996],[102.54536,32.587976],[102.544673,32.5867],[102.543554,32.585416],[102.542467,32.584703],[102.54218,32.584338],[102.541791,32.583844],[102.541491,32.583462],[102.540609,32.582305],[102.539476,32.581509],[102.537194,32.580568],[102.536107,32.579855],[102.535204,32.579471],[102.534077,32.578471],[102.532809,32.577347],[102.531688,32.576144],[102.531133,32.575374],[102.530854,32.574988],[102.530168,32.573712],[102.529045,32.572591],[102.527781,32.571344],[102.526843,32.570471],[102.526094,32.569723],[102.5254,32.568732],[102.523355,32.569669],[102.522416,32.570587],[102.521822,32.571186],[102.521015,32.571679],[102.520208,32.572172],[102.519256,32.572703],[102.518304,32.573234],[102.517669,32.573588],[102.517034,32.573942],[102.516473,32.574236],[102.515912,32.57453],[102.515348,32.57403],[102.514792,32.573286],[102.514165,32.571605],[102.513242,32.568451],[102.51295,32.567733],[102.512657,32.567015],[102.512405,32.566541],[102.512154,32.566068],[102.511419,32.564832],[102.510436,32.563876],[102.50877,32.563232],[102.507486,32.562718],[102.506481,32.562576],[102.504697,32.562744],[102.503587,32.562885],[102.502444,32.562496],[102.501691,32.561911],[102.500606,32.561157],[102.500186,32.560653],[102.499293,32.559765],[102.49861,32.559286],[102.497559,32.558799],[102.496792,32.55869],[102.496292,32.558183],[102.495354,32.557636],[102.494116,32.557301],[102.492686,32.557272],[102.491842,32.557256],[102.489647,32.557056],[102.487423,32.556546],[102.486081,32.555991],[102.485368,32.555262],[102.484481,32.554188],[102.483219,32.553417],[102.481977,32.553206],[102.480878,32.553153],[102.479813,32.553193],[102.478815,32.553484],[102.477734,32.554084],[102.476735,32.554374],[102.475829,32.553983],[102.474416,32.553365],[102.47367,32.55248],[102.473065,32.551846],[102.472159,32.551424],[102.471013,32.550438],[102.470299,32.54974],[102.468744,32.548963],[102.467287,32.548592],[102.46605,32.548225],[102.4643,32.547848],[102.463179,32.547266],[102.460086,32.546365],[102.459078,32.546094],[102.458958,32.546062],[102.457791,32.545821],[102.456446,32.54539],[102.455121,32.54555],[102.454127,32.545685],[102.453052,32.546067],[102.452302,32.546642],[102.451482,32.547123],[102.451184,32.547272],[102.450201,32.54573],[102.449856,32.544946],[102.449447,32.54385],[102.448991,32.543126],[102.448533,32.542433],[102.448003,32.541739],[102.446959,32.53973],[102.446332,32.538567],[102.445894,32.537191],[102.445777,32.536164],[102.445949,32.535266],[102.446018,32.534118],[102.446146,32.532194],[102.445887,32.530977],[102.445242,32.530436],[102.444486,32.529924],[102.443733,32.529318],[102.443353,32.528502],[102.44224,32.526367],[102.441493,32.525544],[102.440397,32.524124],[102.439554,32.522802],[102.438827,32.521264],[102.438334,32.520571],[102.437275,32.51912],[102.436642,32.518175],[102.436476,32.51755],[102.43655,32.516247],[102.436475,32.515003],[102.436284,32.514005],[102.435728,32.512906],[102.434672,32.511362],[102.433868,32.510285],[102.433824,32.510227],[102.43312,32.509575],[102.432931,32.509401],[102.432183,32.50864],[102.431598,32.508597],[102.430677,32.508733],[102.429867,32.508841],[102.429025,32.508824],[102.428243,32.509243],[102.427608,32.509634],[102.426945,32.509744],[102.426506,32.509704],[102.425981,32.508855],[102.425522,32.508224],[102.425108,32.507315],[102.424621,32.506404],[102.423749,32.504832],[102.423334,32.503954],[102.422733,32.503165],[102.421837,32.502463],[102.420953,32.501327],[102.419839,32.500527],[102.419134,32.499549],[102.418382,32.498912],[102.417991,32.498501],[102.41708,32.498295],[102.416129,32.498214],[102.415415,32.497547],[102.414671,32.49663],[102.414039,32.495654],[102.413291,32.494893],[102.412626,32.493823],[102.412076,32.492538],[102.411555,32.491533],[102.4104,32.490262],[102.410346,32.490203],[102.409793,32.490316],[102.408235,32.490968],[102.406641,32.491587],[102.404943,32.492018],[102.403426,32.492484],[102.401838,32.492886],[102.39955,32.493429],[102.398591,32.493627],[102.39755,32.494134],[102.396198,32.495255],[102.395597,32.495771],[102.394946,32.49672],[102.39345,32.49902],[102.392357,32.500053],[102.39145,32.500998],[102.390805,32.501761],[102.388941,32.502841],[102.387068,32.5042],[102.38572,32.505197],[102.385074,32.50596],[102.383365,32.506733],[102.382615,32.507307],[102.382738,32.508149],[102.383064,32.509554],[102.383438,32.510556],[102.383621,32.511833],[102.383698,32.512953],[102.383724,32.5146],[102.383657,32.515655],[102.383771,32.516776],[102.383332,32.51801],[102.382852,32.519367],[102.382207,32.52013],[102.381558,32.521017],[102.380539,32.522021],[102.379417,32.522775],[102.378211,32.523868],[102.377822,32.524668],[102.377871,32.525476],[102.377972,32.527063],[102.377631,32.528702],[102.377549,32.530254],[102.377136,32.531861],[102.376584,32.533185],[102.376016,32.533795],[102.37504,32.534551],[102.373334,32.535199],[102.372542,32.535959],[102.372117,32.536696],[102.371844,32.537249],[102.371856,32.538088],[102.372261,32.539308],[102.373035,32.540443],[102.373745,32.541235],[102.374962,32.542285],[102.37572,32.542705],[102.374689,32.543243],[102.373359,32.543588],[102.37271,32.54403],[102.371856,32.544799],[102.371485,32.545785],[102.370863,32.547015],[102.370621,32.548584],[102.370768,32.550244],[102.371133,32.551163],[102.371114,32.551825],[102.371143,32.552489],[102.371367,32.553198],[102.371336,32.554274],[102.37106,32.555345],[102.371419,32.55643],[102.371835,32.557267],[102.372095,32.558432],[102.371833,32.559007],[102.371375,32.559618],[102.370662,32.560597],[102.36994,32.561866],[102.369078,32.562925],[102.367625,32.564096],[102.366579,32.564737],[102.36504,32.565492],[102.363617,32.565669],[102.362341,32.565808],[102.361909,32.565818],[102.360432,32.565851],[102.358537,32.565397],[102.3566,32.564735],[102.354179,32.563897],[102.352248,32.563027],[102.349503,32.561313],[102.349447,32.561278],[102.349438,32.561272],[102.349333,32.561206],[102.348553,32.561079],[102.347883,32.561673],[102.34695,32.562316],[102.345982,32.56263],[102.34583,32.56268],[102.345486,32.562374],[102.345415,32.56231],[102.345399,32.562296],[102.345385,32.562283],[102.345343,32.562247],[102.345548,32.561984],[102.345821,32.561634],[102.346003,32.56141],[102.346041,32.561381],[102.348367,32.558314],[102.348425,32.558238],[102.348522,32.558109],[102.348583,32.558026],[102.348666,32.557914],[102.348749,32.557802],[102.348847,32.55767],[102.348932,32.557554],[102.349038,32.557411],[102.349142,32.557271],[102.349231,32.55715],[102.349318,32.557032],[102.349418,32.556897],[102.349512,32.556771],[102.349695,32.556553],[102.349703,32.55654],[102.349759,32.556404],[102.349798,32.556311],[102.349878,32.556201],[102.349989,32.555919],[102.35,32.555883],[102.349991,32.555878],[102.349991,32.555878],[102.349987,32.555876],[102.349986,32.555876],[102.349925,32.555861],[102.349923,32.55586],[102.349919,32.55586],[102.349823,32.555859],[102.349894,32.555709],[102.346816,32.55505],[102.34683,32.554943],[102.346801,32.554847],[102.346762,32.554785],[102.346736,32.55474],[102.346714,32.554735],[102.346683,32.554727],[102.346649,32.554718],[102.346591,32.554702],[102.345877,32.554516],[102.34583,32.554504],[102.345829,32.554503],[102.345826,32.554502],[102.345758,32.554485],[102.345357,32.55438],[102.344319,32.554218],[102.343833,32.554143],[102.341371,32.55376],[102.340766,32.553666],[102.340686,32.553653],[102.340656,32.553649],[102.340496,32.553624],[102.34042,32.553612],[102.340021,32.553555],[102.33868,32.553364],[102.3386,32.553352],[102.33851,32.553287],[102.338472,32.553259],[102.338364,32.553181],[102.338258,32.553062],[102.338165,32.553037],[102.337747,32.552734],[102.337578,32.552612],[102.336849,32.552441],[102.336695,32.552405],[102.336584,32.552379],[102.33656,32.552374],[102.336436,32.552345],[102.336378,32.552331],[102.336358,32.552326],[102.33634,32.552322],[102.336023,32.552248],[102.334344,32.551659],[102.333546,32.55214],[102.332677,32.55284],[102.331867,32.553762],[102.33093,32.553798],[102.329113,32.553464],[102.329052,32.553474],[102.328977,32.553487],[102.328755,32.553524],[102.32853,32.553583],[102.328214,32.553667],[102.328045,32.553776],[102.327067,32.554405],[102.327033,32.554427],[102.326996,32.554451],[102.326831,32.554874],[102.326793,32.554865],[102.32676,32.554848],[102.326524,32.555242],[102.326171,32.555833],[102.325323,32.558026],[102.324932,32.559491],[102.324613,32.559874],[102.324574,32.559872],[102.324288,32.559863],[102.324067,32.559862],[102.32406,32.559863],[102.324016,32.559867],[102.323856,32.559882],[102.32385,32.559884],[102.323706,32.559915],[102.323697,32.559917],[102.323552,32.559976],[102.323525,32.559977],[102.323031,32.560192],[102.322969,32.560219],[102.322555,32.560398],[102.322485,32.560433],[102.322418,32.560466],[102.321407,32.560963],[102.319668,32.560926],[102.318094,32.561187],[102.31669,32.5616],[102.314074,32.561765],[102.312079,32.561575],[102.310799,32.560737],[102.309784,32.559757],[102.307993,32.55854],[102.306281,32.557619],[102.304401,32.556473],[102.302954,32.555411],[102.302104,32.554729],[102.301324,32.554639],[102.300189,32.554762],[102.298365,32.554649],[102.296448,32.554755],[102.294988,32.554134],[102.293699,32.553591],[102.29276,32.552991],[102.292504,32.552828],[102.292411,32.552783],[102.290274,32.551748],[102.289186,32.551087],[102.289115,32.551044],[102.289111,32.551039],[102.289096,32.551032],[102.289086,32.551026],[102.288978,32.55096],[102.2884,32.550609],[102.288414,32.550606],[102.288469,32.550587],[102.28855,32.55056],[102.288645,32.550496],[102.288745,32.550402],[102.288845,32.550276],[102.288937,32.550067],[102.28903,32.549859],[102.289039,32.549804],[102.289077,32.549568],[102.289077,32.549557],[102.28908,32.54948],[102.289081,32.549434],[102.289085,32.54931],[102.289093,32.549052],[102.289101,32.548794],[102.289109,32.548536],[102.289133,32.54839],[102.28915,32.548296],[102.28916,32.548245],[102.289175,32.548166],[102.289178,32.548149],[102.289221,32.547987],[102.28928,32.54785],[102.289303,32.547796],[102.289345,32.547706],[102.289386,32.547619],[102.289411,32.547564],[102.289487,32.547397],[102.28953,32.54725],[102.289573,32.547074],[102.289619,32.546864],[102.289623,32.546706],[102.289624,32.546653],[102.289617,32.546281],[102.289617,32.546281],[102.289617,32.546281],[102.289607,32.545957],[102.289607,32.545957],[102.2896,32.545586],[102.2896,32.545586],[102.2896,32.545586],[102.289626,32.545359],[102.289635,32.545332],[102.289667,32.545241],[102.28971,32.545118],[102.289751,32.544979],[102.289758,32.544954],[102.289779,32.544881],[102.289848,32.544644],[102.289918,32.544406],[102.289987,32.544169],[102.290056,32.543938],[102.290058,32.543929],[102.290092,32.543816],[102.290124,32.543711],[102.290191,32.543486],[102.290198,32.543463],[102.290193,32.543306],[102.290188,32.543155],[102.290166,32.542956],[102.290157,32.542879],[102.290115,32.542721],[102.290088,32.54262],[102.29002,32.542495],[102.289962,32.54239],[102.289864,32.54229],[102.28972,32.542143],[102.289495,32.541959],[102.28935,32.541812],[102.289348,32.541811],[102.289333,32.541784],[102.289308,32.541738],[102.289275,32.541679],[102.28928,32.54155],[102.28928,32.541534],[102.289411,32.541302],[102.289542,32.54107],[102.289565,32.541044],[102.28976,32.540832],[102.289841,32.540751],[102.289997,32.540595],[102.29006,32.540515],[102.290166,32.54038],[102.290335,32.540165],[102.290613,32.539815],[102.290782,32.539617],[102.29087,32.539513],[102.291002,32.539234],[102.291014,32.539208],[102.291158,32.538904],[102.291228,32.538686],[102.291285,32.538512],[102.291411,32.53812],[102.291443,32.537688],[102.291444,32.537673],[102.291473,32.537281],[102.291475,32.537256],[102.291482,32.537162],[102.291498,32.536943],[102.291507,32.536823],[102.291539,32.536391],[102.291543,32.53619],[102.291544,32.536135],[102.291545,32.536106],[102.29155,32.53588],[102.291551,32.535845],[102.291552,32.535791],[102.291556,32.535646],[102.291556,32.535635],[102.291556,32.535624],[102.291557,32.535586],[102.291558,32.535548],[102.29156,32.535457],[102.291561,32.535431],[102.291561,32.535421],[102.291562,32.535369],[102.291568,32.535128],[102.291568,32.535113],[102.291571,32.534988],[102.291574,32.534858],[102.291576,32.534775],[102.291577,32.534741],[102.29158,32.534602],[102.291585,32.534369],[102.291586,32.534347],[102.291587,32.534278],[102.291591,32.534095],[102.291591,32.534091],[102.291593,32.534041],[102.291597,32.533836],[102.2916,32.533667],[102.291601,32.533607],[102.291603,32.533474],[102.291604,32.533377],[102.291607,32.533202],[102.291608,32.533148],[102.291608,32.533143],[102.291611,32.532919],[102.291615,32.53269],[102.291618,32.532461],[102.291606,32.532234],[102.291594,32.532007],[102.2916,32.5318],[102.291606,32.531603],[102.291693,32.531281],[102.291856,32.530929],[102.291958,32.530728],[102.29206,32.530528],[102.292179,32.530385],[102.292181,32.530384],[102.292182,32.530383],[102.292266,32.530315],[102.292316,32.530275],[102.292329,32.530268],[102.292334,32.530266],[102.292363,32.53025],[102.292381,32.530241],[102.292429,32.530215],[102.29255,32.530151],[102.292693,32.530093],[102.292867,32.530023],[102.292988,32.529974],[102.293019,32.529961],[102.293185,32.529894],[102.293198,32.529882],[102.293227,32.529854],[102.293283,32.529803],[102.293323,32.529766],[102.293335,32.529728],[102.29336,32.529658],[102.293427,32.529462],[102.293358,32.529217],[102.293284,32.528984],[102.29327,32.528941],[102.293276,32.528885],[102.293287,32.528783],[102.293297,32.528699],[102.293526,32.52838],[102.293617,32.528253],[102.293646,32.528213],[102.293756,32.52806],[102.293755,32.528047],[102.293754,32.528022],[102.293746,32.52777],[102.2936,32.527508],[102.293413,32.527382],[102.293225,32.527256],[102.292904,32.527136],[102.292579,32.527113],[102.292176,32.527136],[102.291888,32.527196],[102.291654,32.52732],[102.291325,32.527442],[102.291077,32.527428],[102.290834,32.527415],[102.290829,32.527414],[102.290694,32.527395],[102.29058,32.527378],[102.290573,32.527377],[102.290447,32.527359],[102.29019,32.527312],[102.289934,32.527266],[102.289834,32.527264],[102.289666,32.527261],[102.289398,32.527255],[102.289158,32.527298],[102.288918,32.527341],[102.288762,32.527395],[102.288754,32.527398],[102.288674,32.527425],[102.288608,32.527448],[102.288592,32.527453],[102.28853,32.527475],[102.28833,32.527544],[102.288299,32.527555],[102.288066,32.527687],[102.288017,32.527715],[102.287832,32.52782],[102.287531,32.527943],[102.287231,32.528066],[102.286942,32.528141],[102.28688,32.528137],[102.286713,32.528128],[102.286645,32.528124],[102.286485,32.528114],[102.286484,32.528114],[102.286484,32.528114],[102.286415,32.528068],[102.286346,32.528022],[102.286183,32.527914],[102.286152,32.527884],[102.285979,32.527715],[102.285893,32.527406],[102.285882,32.527132],[102.285884,32.527047],[102.285889,32.526855],[102.285856,32.526676],[102.285856,32.526675],[102.285855,32.526673],[102.285855,32.526673],[102.285847,32.526658],[102.285766,32.526496],[102.285504,32.52633],[102.285296,32.526214],[102.285087,32.526098],[102.284958,32.525966],[102.284809,32.525784],[102.284718,32.525619],[102.284717,32.525617],[102.28468,32.52555],[102.284665,32.525522],[102.284656,32.525453],[102.284639,32.525333],[102.284635,32.525304],[102.284633,32.525287],[102.284602,32.525053],[102.284611,32.524729],[102.284548,32.524322],[102.284436,32.524207],[102.284286,32.524139],[102.284056,32.524134],[102.283644,32.524115],[102.28349,32.524142],[102.283199,32.52425],[102.283117,32.524298],[102.282927,32.524406],[102.2829,32.52443],[102.282726,32.52458],[102.282672,32.524628],[102.282626,32.524697],[102.282432,32.524994],[102.28231,32.525243],[102.282187,32.525491],[102.281985,32.525843],[102.281807,32.526001],[102.281711,32.526047],[102.281622,32.526062],[102.281542,32.526075],[102.281268,32.526119],[102.281229,32.526115],[102.281124,32.526105],[102.28104,32.526098],[102.280778,32.526024],[102.280517,32.52595],[102.280255,32.525876],[102.279993,32.525803],[102.279731,32.525729],[102.279469,32.525655],[102.279207,32.525582],[102.278945,32.525508],[102.278684,32.525434],[102.278422,32.52536],[102.278187,32.525303],[102.278015,32.525261],[102.277989,32.525255],[102.277952,32.525246],[102.277718,32.525189],[102.277483,32.525132],[102.277248,32.525075],[102.277143,32.525049],[102.277244,32.524826]]]]},"properties":{"cp":[102.40058259505227,32.42604846213644],"code":"513233105","name":"龙日镇","level":"street","center":[102.40058259505227,32.42604846213644],"fullCode":"513233105000","fullName":"四川省阿坝藏族羌族自治州红原县龙日镇","acreageMu":967058.51,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.484,32.3605]}},{"id":"513233202","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.164139,32.32538],[102.164223,32.325168],[102.164246,32.325109],[102.164401,32.324716],[102.164763,32.323798],[102.165261,32.322312],[102.16556,32.321436],[102.165852,32.320752],[102.165879,32.319908],[102.165875,32.318564],[102.166,32.317454],[102.16583,32.315684],[102.165822,32.315506],[102.165819,32.31544],[102.165725,32.313225],[102.165894,32.312154],[102.166521,32.310901],[102.167013,32.309607],[102.167377,32.308079],[102.167576,32.307548],[102.168019,32.306366],[102.168943,32.304276],[102.169317,32.303862],[102.169594,32.303676],[102.169845,32.303446],[102.16988,32.303412],[102.169881,32.303412],[102.170149,32.303418],[102.170447,32.303456],[102.170666,32.303588],[102.170876,32.303971],[102.171014,32.304353],[102.171151,32.304735],[102.171234,32.304987],[102.171316,32.30524],[102.171399,32.305492],[102.171482,32.305744],[102.171565,32.305997],[102.171647,32.306249],[102.17173,32.306501],[102.171761,32.306596],[102.171761,32.306597],[102.171813,32.306754],[102.171896,32.307006],[102.171978,32.307258],[102.172061,32.307511],[102.172144,32.307763],[102.172227,32.308015],[102.17231,32.308268],[102.172392,32.30852],[102.172475,32.308772],[102.172542,32.309035],[102.172609,32.309297],[102.172676,32.309559],[102.172743,32.309821],[102.172809,32.310084],[102.172876,32.310346],[102.172943,32.310608],[102.17301,32.31087],[102.173077,32.311132],[102.173144,32.311395],[102.173147,32.31153],[102.173149,32.311626],[102.173154,32.311858],[102.173159,32.31209],[102.173162,32.312223],[102.173164,32.312322],[102.173169,32.312553],[102.173174,32.312785],[102.173174,32.312789],[102.173149,32.313195],[102.173135,32.313427],[102.173124,32.313604],[102.173099,32.314014],[102.173089,32.314313],[102.17308,32.314613],[102.173092,32.314845],[102.173103,32.315054],[102.173243,32.315374],[102.173448,32.315537],[102.173654,32.315699],[102.17386,32.315862],[102.174066,32.316024],[102.174272,32.316187],[102.174442,32.316321],[102.174477,32.316349],[102.174659,32.316489],[102.174841,32.316629],[102.175022,32.316768],[102.175204,32.316908],[102.175386,32.317048],[102.175567,32.317188],[102.175749,32.317328],[102.175931,32.317467],[102.176112,32.317607],[102.176294,32.317747],[102.176508,32.317907],[102.176722,32.318068],[102.176937,32.318228],[102.177151,32.318388],[102.177365,32.318549],[102.17758,32.318709],[102.177807,32.318848],[102.178035,32.318988],[102.178263,32.319127],[102.178491,32.319266],[102.178762,32.319381],[102.178804,32.319399],[102.179102,32.319526],[102.179117,32.319532],[102.179485,32.319666],[102.179852,32.319801],[102.18013,32.319854],[102.180408,32.319908],[102.180502,32.319915],[102.180705,32.319931],[102.180802,32.319938],[102.181002,32.319953],[102.181411,32.319931],[102.181646,32.319857],[102.181881,32.319783],[102.182116,32.319709],[102.182314,32.319647],[102.182351,32.319636],[102.18258,32.31957],[102.182766,32.319517],[102.18281,32.319504],[102.18304,32.319438],[102.18327,32.319373],[102.1835,32.319307],[102.183729,32.319241],[102.183959,32.319176],[102.184189,32.31911],[102.18446,32.31906],[102.184732,32.319011],[102.185003,32.318961],[102.185223,32.318921],[102.185275,32.318912],[102.18561,32.318888],[102.185791,32.318875],[102.185946,32.318864],[102.186261,32.318887],[102.186577,32.31891],[102.186809,32.318957],[102.186836,32.318963],[102.187094,32.319015],[102.187309,32.31913],[102.187388,32.319173],[102.187524,32.319246],[102.187739,32.319361],[102.187954,32.319476],[102.188311,32.319699],[102.188668,32.319923],[102.188859,32.320043],[102.189051,32.320163],[102.189272,32.320247],[102.189493,32.32033],[102.189806,32.320432],[102.190119,32.320534],[102.190509,32.320542],[102.190899,32.320551],[102.191218,32.320479],[102.191536,32.320407],[102.191744,32.320291],[102.191953,32.320174],[102.192161,32.320058],[102.192369,32.319941],[102.192577,32.319825],[102.192786,32.319708],[102.192987,32.319574],[102.193188,32.319439],[102.193335,32.319342],[102.19339,32.319305],[102.193591,32.319171],[102.193793,32.319036],[102.193994,32.318902],[102.194001,32.318897],[102.194195,32.318767],[102.194397,32.318633],[102.194598,32.318499],[102.194799,32.318364],[102.194991,32.318175],[102.195183,32.317986],[102.195375,32.317797],[102.195567,32.317608],[102.195759,32.317419],[102.195951,32.31723],[102.196143,32.317041],[102.196335,32.316852],[102.196538,32.316678],[102.196742,32.316504],[102.196945,32.31633],[102.197149,32.316155],[102.197352,32.315981],[102.197556,32.315807],[102.197925,32.315602],[102.198295,32.315397],[102.198664,32.315192],[102.199033,32.314987],[102.199385,32.314847],[102.199736,32.314707],[102.200087,32.314567],[102.200306,32.314499],[102.200526,32.31443],[102.200745,32.314361],[102.200964,32.314293],[102.201183,32.314224],[102.201403,32.314155],[102.201644,32.314107],[102.201884,32.314059],[102.202125,32.31401],[102.202366,32.313962],[102.202607,32.313914],[102.202848,32.313866],[102.203088,32.313818],[102.203329,32.31377],[102.203579,32.313723],[102.203828,32.313676],[102.204078,32.313629],[102.204327,32.313582],[102.204576,32.313535],[102.204826,32.313488],[102.205237,32.313444],[102.205648,32.3134],[102.20602,32.313361],[102.206058,32.313357],[102.206288,32.31333],[102.206518,32.313304],[102.206748,32.313277],[102.206978,32.313251],[102.207208,32.313225],[102.207438,32.313198],[102.207863,32.313113],[102.208288,32.313027],[102.208712,32.312942],[102.209126,32.312793],[102.20954,32.312644],[102.209953,32.312495],[102.210367,32.312347],[102.210758,32.312145],[102.211149,32.311944],[102.211539,32.311742],[102.21193,32.31153],[102.212321,32.311318],[102.212712,32.311105],[102.213038,32.310797],[102.213365,32.310489],[102.213616,32.310155],[102.213756,32.309971],[102.213868,32.309821],[102.21412,32.309487],[102.214371,32.309153],[102.214513,32.308931],[102.214654,32.308708],[102.214795,32.308485],[102.214936,32.308263],[102.215037,32.308036],[102.215137,32.307809],[102.215237,32.307583],[102.215337,32.307356],[102.215384,32.307025],[102.215432,32.306695],[102.215329,32.306393],[102.215227,32.306091],[102.215127,32.305694],[102.215027,32.305298],[102.215004,32.304887],[102.215051,32.304541],[102.215224,32.304356],[102.215397,32.30417],[102.215602,32.304009],[102.215807,32.303847],[102.216012,32.303686],[102.216217,32.303525],[102.216422,32.303363],[102.216627,32.303202],[102.216832,32.303041],[102.217037,32.302879],[102.21723,32.302764],[102.217423,32.302648],[102.217616,32.302532],[102.217809,32.302417],[102.218003,32.302301],[102.218196,32.302185],[102.218389,32.30207],[102.218582,32.301954],[102.218637,32.301921],[102.218775,32.301838],[102.218969,32.301723],[102.21927,32.301635],[102.219604,32.301642],[102.219939,32.30165],[102.220196,32.30175],[102.220235,32.301766],[102.220453,32.301851],[102.220471,32.301866],[102.220635,32.301997],[102.220763,32.3021],[102.220817,32.302143],[102.220973,32.302364],[102.221129,32.302584],[102.221285,32.302804],[102.221441,32.303025],[102.221597,32.303245],[102.221753,32.303465],[102.221797,32.303528],[102.221799,32.303531],[102.221909,32.303686],[102.222065,32.303906],[102.222204,32.304209],[102.222343,32.304511],[102.22248,32.304925],[102.222492,32.304998],[102.222543,32.305305],[102.222456,32.305682],[102.222299,32.305995],[102.222177,32.306307],[102.222073,32.306598],[102.222054,32.306652],[102.222007,32.306998],[102.222069,32.30741],[102.222191,32.307665],[102.222313,32.30792],[102.222602,32.308211],[102.222891,32.308502],[102.22318,32.308792],[102.223365,32.30897],[102.223371,32.308976],[102.223507,32.309106],[102.22355,32.309147],[102.223707,32.309298],[102.223736,32.309325],[102.223921,32.309503],[102.224106,32.30968],[102.224167,32.309738],[102.224292,32.309858],[102.224477,32.310035],[102.224662,32.310213],[102.224901,32.310561],[102.22514,32.310909],[102.225379,32.311257],[102.225455,32.311511],[102.225531,32.311765],[102.225608,32.31202],[102.225684,32.312274],[102.225709,32.312546],[102.225721,32.312675],[102.22575,32.312987],[102.225758,32.313075],[102.225761,32.313099],[102.225796,32.313476],[102.225813,32.31374],[102.225819,32.313846],[102.225829,32.314003],[102.225833,32.314065],[102.225846,32.314266],[102.225861,32.3145],[102.225863,32.31453],[102.225872,32.314667],[102.22588,32.314793],[102.225896,32.315057],[102.225911,32.315172],[102.225931,32.315331],[102.225966,32.315605],[102.226001,32.31588],[102.226036,32.316154],[102.226072,32.316429],[102.226096,32.316619],[102.226107,32.316703],[102.226141,32.316878],[102.226155,32.316946],[102.226203,32.317189],[102.226252,32.317432],[102.2263,32.317675],[102.226348,32.317918],[102.226375,32.318049],[102.226397,32.318162],[102.226432,32.318253],[102.226518,32.318474],[102.226539,32.318529],[102.226627,32.318667],[102.226682,32.318754],[102.226926,32.318907],[102.226977,32.31894],[102.22717,32.319061],[102.227247,32.319081],[102.227346,32.319105],[102.227707,32.319167],[102.227909,32.319201],[102.228069,32.319229],[102.22832,32.319253],[102.22857,32.319276],[102.228571,32.319276],[102.228573,32.319277],[102.228881,32.319343],[102.229189,32.31941],[102.229497,32.319476],[102.229725,32.319529],[102.229954,32.319581],[102.230315,32.319572],[102.230734,32.319505],[102.231077,32.319434],[102.231419,32.319362],[102.231848,32.319391],[102.2322,32.31941],[102.23259,32.319524],[102.232904,32.31961],[102.233247,32.319708],[102.233589,32.319806],[102.233932,32.319905],[102.234266,32.319999],[102.234599,32.320093],[102.23485,32.320164],[102.235101,32.320235],[102.235245,32.320276],[102.235655,32.320333],[102.235861,32.320326],[102.23595,32.320323],[102.236197,32.320285],[102.236483,32.320047],[102.236721,32.319695],[102.236935,32.319567],[102.237149,32.319438],[102.237544,32.319267],[102.237939,32.319096],[102.238269,32.31895],[102.238599,32.318804],[102.238929,32.318658],[102.238996,32.318618],[102.239298,32.318442],[102.2396,32.318265],[102.239966,32.318051],[102.240333,32.317836],[102.240699,32.317621],[102.241066,32.317407],[102.241432,32.317192],[102.241825,32.317054],[102.242217,32.316916],[102.24261,32.316778],[102.243002,32.31664],[102.243343,32.316533],[102.243683,32.316426],[102.244023,32.316319],[102.244364,32.316212],[102.244792,32.316131],[102.245207,32.316052],[102.24522,32.31605],[102.24542,32.315917],[102.245439,32.315869],[102.245553,32.315584],[102.245653,32.315327],[102.245753,32.31507],[102.245841,32.314868],[102.24587,32.314813],[102.24594,32.31466],[102.246035,32.314455],[102.2462,32.314096],[102.246365,32.313737],[102.246617,32.313396],[102.24687,32.313055],[102.246953,32.312756],[102.247037,32.312457],[102.247063,32.312205],[102.24709,32.311953],[102.247022,32.311715],[102.246955,32.311477],[102.24687,32.311215],[102.246784,32.310953],[102.246699,32.310691],[102.246614,32.310429],[102.246582,32.31032],[102.246528,32.31014],[102.246496,32.310032],[102.246419,32.309773],[102.246378,32.309634],[102.24633,32.309365],[102.246307,32.309234],[102.246282,32.309095],[102.246292,32.308796],[102.246301,32.308496],[102.246422,32.308214],[102.24654,32.308001],[102.246658,32.307788],[102.246776,32.307575],[102.246894,32.307362],[102.247012,32.307149],[102.24713,32.306937],[102.247284,32.306756],[102.247439,32.306575],[102.247593,32.306394],[102.247747,32.306213],[102.247901,32.306032],[102.248055,32.305851],[102.248209,32.30567],[102.248363,32.30549],[102.248491,32.305279],[102.248618,32.305069],[102.248746,32.304858],[102.248873,32.304648],[102.249016,32.304225],[102.249158,32.303803],[102.249226,32.303394],[102.249294,32.302985],[102.24933,32.302734],[102.249366,32.302482],[102.249401,32.30223],[102.249437,32.301979],[102.249417,32.301706],[102.249403,32.301508],[102.249397,32.301434],[102.249377,32.301162],[102.249358,32.300889],[102.24932,32.300489],[102.249283,32.300088],[102.249245,32.299688],[102.249252,32.299451],[102.24926,32.299215],[102.249267,32.298978],[102.249269,32.298897],[102.249274,32.298742],[102.24932,32.298471],[102.249365,32.298201],[102.249411,32.29793],[102.249456,32.29766],[102.249502,32.297389],[102.249547,32.297118],[102.249592,32.296848],[102.249638,32.296577],[102.249683,32.296307],[102.249729,32.296036],[102.249787,32.295813],[102.249844,32.295589],[102.249902,32.295365],[102.24996,32.295142],[102.250018,32.294918],[102.250076,32.294695],[102.250133,32.294471],[102.250191,32.294247],[102.250296,32.293871],[102.2504,32.293494],[102.25041,32.293162],[102.25042,32.292831],[102.250437,32.292571],[102.250454,32.292311],[102.25046,32.292224],[102.250471,32.292051],[102.250488,32.291791],[102.250489,32.29178],[102.250493,32.291689],[102.250511,32.291335],[102.250518,32.291193],[102.250534,32.290891],[102.250556,32.290446],[102.250579,32.290002],[102.250677,32.289636],[102.250775,32.28927],[102.250873,32.288904],[102.251021,32.288592],[102.251168,32.28828],[102.251279,32.288045],[102.25139,32.28781],[102.251518,32.287584],[102.251645,32.287358],[102.251773,32.287132],[102.251901,32.286906],[102.252068,32.286699],[102.252236,32.286493],[102.252403,32.286286],[102.252571,32.286079],[102.252738,32.285873],[102.252906,32.285666],[102.252966,32.285581],[102.253061,32.285448],[102.253216,32.285231],[102.253371,32.285013],[102.253526,32.284795],[102.253656,32.28461],[102.253663,32.284601],[102.253799,32.284407],[102.253935,32.284212],[102.254071,32.284018],[102.254092,32.283969],[102.254094,32.283964],[102.254171,32.283783],[102.254271,32.283548],[102.254292,32.283364],[102.254321,32.283108],[102.254239,32.282743],[102.254158,32.282378],[102.25409,32.282157],[102.254022,32.281936],[102.253955,32.281715],[102.253887,32.281493],[102.253819,32.281272],[102.253752,32.281051],[102.253764,32.28063],[102.253777,32.28021],[102.25379,32.279789],[102.253948,32.279509],[102.254228,32.279263],[102.254508,32.279016],[102.254788,32.278769],[102.254877,32.278676],[102.254967,32.278584],[102.255029,32.27852],[102.255032,32.278516],[102.255146,32.278398],[102.255325,32.278213],[102.255504,32.278027],[102.255669,32.277856],[102.255862,32.277656],[102.256071,32.277324],[102.256279,32.276992],[102.256488,32.27666],[102.256714,32.276318],[102.256759,32.276171],[102.25687,32.275881],[102.256981,32.275591],[102.257092,32.2753],[102.257194,32.275101],[102.257236,32.27502],[102.257381,32.274739],[102.257488,32.274477],[102.257595,32.274215],[102.257623,32.274142],[102.257745,32.273822],[102.257895,32.273429],[102.257957,32.273152],[102.25802,32.272876],[102.258052,32.272647],[102.258085,32.272418],[102.258115,32.271972],[102.258117,32.271752],[102.258121,32.271317],[102.258101,32.270958],[102.258081,32.270599],[102.258061,32.270241],[102.258017,32.269881],[102.257972,32.269521],[102.257929,32.269168],[102.257907,32.268985],[102.257835,32.268646],[102.257621,32.26842],[102.257389,32.268111],[102.257297,32.267769],[102.257205,32.267427],[102.256985,32.267103],[102.256765,32.266778],[102.256437,32.266517],[102.256176,32.266267],[102.256009,32.266172],[102.255979,32.266047],[102.256039,32.265898],[102.256164,32.265708],[102.256191,32.265684],[102.256384,32.265517],[102.256604,32.265327],[102.256931,32.265079],[102.257258,32.264831],[102.257585,32.264583],[102.257895,32.26431],[102.258204,32.264036],[102.258513,32.263762],[102.258537,32.263749],[102.258784,32.263613],[102.259031,32.263477],[102.259221,32.263328],[102.259282,32.263234],[102.25934,32.263144],[102.259376,32.26284],[102.259376,32.262487],[102.259376,32.262486],[102.259376,32.262484],[102.259346,32.262222],[102.259272,32.261909],[102.259197,32.261597],[102.259111,32.261285],[102.259025,32.260973],[102.258894,32.260681],[102.258704,32.260324],[102.258484,32.260021],[102.258264,32.259717],[102.258139,32.259533],[102.258103,32.259408],[102.258168,32.259212],[102.258264,32.259063],[102.258359,32.258891],[102.258302,32.258546],[102.258246,32.2582],[102.258252,32.257873],[102.258296,32.257621],[102.258341,32.257368],[102.258389,32.257127],[102.258437,32.256886],[102.25846,32.256773],[102.258418,32.256345],[102.258377,32.255916],[102.258264,32.255637],[102.258118,32.255428],[102.257972,32.25522],[102.257868,32.254991],[102.257764,32.254762],[102.257609,32.254423],[102.257556,32.254188],[102.257502,32.253953],[102.257466,32.253575],[102.257431,32.253198],[102.257389,32.252936],[102.257336,32.252728],[102.257246,32.252567],[102.257133,32.252442],[102.257104,32.252293],[102.257115,32.252079],[102.257234,32.251758],[102.257336,32.251502],[102.257337,32.251474],[102.257357,32.25106],[102.257377,32.250646],[102.257336,32.250378],[102.25727,32.250182],[102.257128,32.250035],[102.257092,32.249997],[102.256936,32.249788],[102.256919,32.249765],[102.256753,32.249355],[102.256634,32.249153],[102.256485,32.249028],[102.256408,32.248766],[102.25639,32.248516],[102.256402,32.248254],[102.256443,32.247923],[102.256485,32.247592],[102.256527,32.247261],[102.256515,32.246862],[102.256517,32.246441],[102.25652,32.246019],[102.256521,32.245976],[102.256592,32.245661],[102.256628,32.24542],[102.256663,32.245179],[102.25686,32.244822],[102.256989,32.244548],[102.257117,32.244275],[102.257246,32.244001],[102.257353,32.243739],[102.257496,32.243537],[102.257663,32.243478],[102.257919,32.243472],[102.258204,32.243478],[102.25843,32.243495],[102.258656,32.243513],[102.258914,32.2436],[102.259172,32.243686],[102.25936,32.243775],[102.259539,32.243859],[102.259749,32.243958],[102.25996,32.244057],[102.260175,32.244125],[102.26039,32.244193],[102.260604,32.24426],[102.260819,32.244328],[102.261034,32.244396],[102.261223,32.244456],[102.261249,32.244464],[102.261629,32.244609],[102.261892,32.244709],[102.262247,32.244895],[102.262602,32.245081],[102.262779,32.245185],[102.263064,32.245329],[102.263109,32.245351],[102.263439,32.245518],[102.263689,32.245589],[102.264081,32.245723],[102.264474,32.245857],[102.264516,32.245864],[102.264737,32.245959],[102.265141,32.246134],[102.265495,32.246382],[102.265848,32.24663],[102.266223,32.246842],[102.266598,32.247053],[102.266901,32.247326],[102.267026,32.247523],[102.267097,32.247707],[102.267197,32.247788],[102.267258,32.247838],[102.267523,32.24804],[102.267787,32.248242],[102.26794,32.248354],[102.268055,32.248439],[102.268364,32.248663],[102.268674,32.248887],[102.268983,32.249111],[102.269304,32.249283],[102.269544,32.249486],[102.269679,32.2496],[102.269843,32.249804],[102.270091,32.250113],[102.270242,32.250301],[102.270393,32.250489],[102.270544,32.250677],[102.270695,32.250865],[102.270846,32.251054],[102.270997,32.251242],[102.271173,32.251419],[102.271349,32.251597],[102.271525,32.251775],[102.271701,32.251952],[102.271876,32.25213],[102.272052,32.252308],[102.272228,32.252485],[102.272404,32.252663],[102.272629,32.25282],[102.272853,32.252977],[102.273078,32.253135],[102.273302,32.253292],[102.273527,32.253449],[102.273752,32.253607],[102.273971,32.253722],[102.274191,32.253837],[102.274411,32.253952],[102.27463,32.254067],[102.27485,32.254182],[102.27507,32.254297],[102.275439,32.2544],[102.275808,32.254503],[102.276102,32.254588],[102.276397,32.254673],[102.276749,32.254713],[102.277101,32.254752],[102.277548,32.25473],[102.27797,32.25471],[102.277996,32.254708],[102.278294,32.254667],[102.278476,32.254642],[102.278593,32.254626],[102.278628,32.254615],[102.278839,32.254549],[102.278874,32.254538],[102.279156,32.25445],[102.279421,32.25425],[102.279687,32.25405],[102.279842,32.253856],[102.279996,32.253662],[102.280151,32.253468],[102.280306,32.253274],[102.280484,32.252884],[102.280663,32.252493],[102.28071,32.252194],[102.280757,32.251895],[102.280875,32.251676],[102.281065,32.251538],[102.281255,32.251401],[102.2815,32.25128],[102.281744,32.251159],[102.28212,32.25102],[102.282496,32.250881],[102.282871,32.250741],[102.283094,32.250677],[102.283318,32.250613],[102.283541,32.250548],[102.283764,32.250484],[102.283987,32.25042],[102.28421,32.250355],[102.284418,32.25025],[102.284626,32.250144],[102.284662,32.250113],[102.284949,32.249866],[102.285211,32.24964],[102.285235,32.24962],[102.285354,32.249378],[102.285473,32.249136],[102.285592,32.248894],[102.285711,32.248652],[102.285797,32.248409],[102.285883,32.248166],[102.285969,32.247924],[102.286056,32.247681],[102.286142,32.247438],[102.286228,32.247195],[102.286314,32.246952],[102.286401,32.24671],[102.286512,32.246504],[102.286624,32.246299],[102.286735,32.246093],[102.286847,32.245888],[102.286958,32.245683],[102.287069,32.245477],[102.287181,32.245272],[102.287292,32.245066],[102.28738,32.244905],[102.28738,32.244905],[102.287404,32.244861],[102.287515,32.244656],[102.287627,32.24445],[102.287738,32.244245],[102.287954,32.243924],[102.288169,32.243603],[102.288436,32.24342],[102.288651,32.243277],[102.288866,32.243134],[102.28908,32.242992],[102.289295,32.242849],[102.28951,32.242706],[102.289725,32.242564],[102.289897,32.24241],[102.290069,32.242255],[102.29024,32.242101],[102.290412,32.241947],[102.290584,32.241793],[102.29071,32.24168],[102.290756,32.241639],[102.290931,32.241406],[102.291105,32.241173],[102.291226,32.240828],[102.291348,32.240484],[102.291383,32.240248],[102.291418,32.240012],[102.291453,32.239776],[102.291488,32.23954],[102.291497,32.23924],[102.291505,32.23894],[102.291426,32.238691],[102.291347,32.238442],[102.291267,32.238193],[102.291188,32.237944],[102.291109,32.237696],[102.291029,32.237447],[102.290958,32.237234],[102.290886,32.23702],[102.290814,32.236807],[102.290742,32.236594],[102.29067,32.236381],[102.290599,32.236168],[102.290527,32.235955],[102.290455,32.235742],[102.290383,32.235529],[102.290312,32.235316],[102.29025,32.234904],[102.290295,32.234653],[102.290431,32.234435],[102.290568,32.234217],[102.29083,32.233852],[102.290958,32.233672],[102.291091,32.233486],[102.291353,32.233121],[102.291615,32.232755],[102.291785,32.232554],[102.291955,32.232353],[102.292124,32.232153],[102.292294,32.231952],[102.292464,32.231751],[102.292634,32.23155],[102.292804,32.231349],[102.292974,32.231149],[102.293003,32.231101],[102.293106,32.230934],[102.293237,32.23072],[102.293369,32.230506],[102.293501,32.230292],[102.293632,32.230078],[102.293764,32.229864],[102.293896,32.22965],[102.294027,32.229435],[102.294121,32.229187],[102.29414,32.229135],[102.294214,32.228938],[102.294308,32.22869],[102.294401,32.228441],[102.294471,32.228254],[102.294472,32.228254],[102.294495,32.228193],[102.294588,32.227944],[102.294682,32.227696],[102.294775,32.227447],[102.294869,32.227198],[102.294962,32.22695],[102.295055,32.226701],[102.295149,32.226453],[102.295226,32.226248],[102.295226,32.226248],[102.295226,32.226248],[102.295395,32.225923],[102.295575,32.225674],[102.295811,32.225519],[102.296154,32.225385],[102.296496,32.225251],[102.296668,32.225251],[102.296924,32.225394],[102.297043,32.225602],[102.297105,32.225843],[102.297168,32.226084],[102.297418,32.226435],[102.297644,32.226607],[102.297935,32.226905],[102.298227,32.227202],[102.298476,32.227434],[102.29875,32.227618],[102.299022,32.227847],[102.299293,32.228075],[102.299565,32.228303],[102.299849,32.228545],[102.300133,32.228788],[102.300402,32.229018],[102.300672,32.229248],[102.300925,32.229498],[102.301179,32.229748],[102.301433,32.229998],[102.30165,32.230188],[102.301867,32.230379],[102.302111,32.230569],[102.302355,32.230759],[102.302599,32.23095],[102.302878,32.231137],[102.303158,32.231324],[102.303313,32.231503],[102.303377,32.231638],[102.30342,32.231729],[102.303485,32.231973],[102.303568,32.232092],[102.303872,32.232258],[102.304253,32.232389],[102.304485,32.23249],[102.304657,32.232657],[102.30483,32.232847],[102.305002,32.232999],[102.305175,32.233151],[102.305398,32.233258],[102.305621,32.233365],[102.305832,32.23352],[102.306043,32.233674],[102.306218,32.233868],[102.306329,32.233989],[102.306531,32.234239],[102.306662,32.234483],[102.306793,32.234727],[102.306828,32.234793],[102.307054,32.235149],[102.307164,32.235465],[102.307275,32.23578],[102.307435,32.236179],[102.307596,32.236577],[102.307611,32.236937],[102.307625,32.237297],[102.307679,32.237606],[102.307744,32.237767],[102.307991,32.237942],[102.308238,32.238118],[102.3085,32.238252],[102.308762,32.238386],[102.309196,32.238493],[102.309398,32.238558],[102.309559,32.238671],[102.309803,32.238826],[102.309969,32.239052],[102.310154,32.239314],[102.31035,32.239444],[102.310618,32.239504],[102.311037,32.239644],[102.311181,32.239692],[102.311456,32.239783],[102.311772,32.239849],[102.31198,32.239837],[102.312283,32.239789],[102.312432,32.239744],[102.312634,32.239682],[102.312908,32.239608],[102.313182,32.239534],[102.313455,32.23954],[102.313836,32.239605],[102.314183,32.239728],[102.314185,32.239729],[102.314187,32.23973],[102.314463,32.239798],[102.31474,32.239867],[102.31496,32.239926],[102.31518,32.239986],[102.315424,32.239989],[102.315668,32.239992],[102.315909,32.239992],[102.31615,32.239992],[102.316406,32.239965],[102.316661,32.239938],[102.317084,32.239861],[102.317456,32.239792],[102.317626,32.239761],[102.317827,32.239724],[102.318256,32.239659],[102.318684,32.239593],[102.318958,32.23954],[102.319362,32.239403],[102.3196,32.239391],[102.319838,32.239379],[102.320177,32.239409],[102.320516,32.239438],[102.320903,32.239482],[102.32129,32.239526],[102.321676,32.239569],[102.321811,32.239579],[102.322127,32.239602],[102.322443,32.239624],[102.322759,32.239647],[102.322946,32.239643],[102.323044,32.239641],[102.323425,32.239563],[102.323642,32.239465],[102.323859,32.239367],[102.3241,32.239254],[102.324341,32.239141],[102.324698,32.239016],[102.325055,32.238891],[102.325373,32.238817],[102.325692,32.238742],[102.325954,32.238667],[102.326177,32.238604],[102.326399,32.23854],[102.326774,32.238368],[102.327149,32.238195],[102.327506,32.238073],[102.327863,32.237951],[102.328142,32.237842],[102.328422,32.237733],[102.328484,32.237709],[102.328702,32.237624],[102.329017,32.237535],[102.329332,32.237446],[102.329346,32.237443],[102.329613,32.237394],[102.329879,32.237345],[102.330127,32.237337],[102.330419,32.237329],[102.330712,32.237321],[102.331087,32.237291],[102.331462,32.237261],[102.331575,32.237261],[102.331854,32.237309],[102.332074,32.237333],[102.332425,32.237327],[102.332705,32.237321],[102.332985,32.237309],[102.33301,32.237302],[102.333098,32.237279],[102.333407,32.237065],[102.333681,32.236809],[102.333898,32.236654],[102.334055,32.236541],[102.334305,32.236422],[102.334579,32.236405],[102.334633,32.236396],[102.334633,32.236396],[102.334633,32.236396],[102.334894,32.236356],[102.335156,32.236315],[102.335578,32.236202],[102.335888,32.236048],[102.336286,32.235869],[102.336471,32.235787],[102.336664,32.235701],[102.336768,32.235655],[102.337012,32.235578],[102.337256,32.2355],[102.337497,32.235453],[102.337738,32.235405],[102.337992,32.235362],[102.338247,32.235318],[102.338326,32.235304],[102.338675,32.235189],[102.339024,32.235074],[102.339373,32.234959],[102.339635,32.234849],[102.339897,32.234739],[102.340144,32.234626],[102.340391,32.234513],[102.340715,32.234332],[102.341039,32.23415],[102.341322,32.234022],[102.341604,32.233894],[102.341967,32.233644],[102.34233,32.233395],[102.342693,32.233145],[102.342976,32.232946],[102.34326,32.232748],[102.343543,32.23255],[102.343829,32.232241],[102.344091,32.23189],[102.344358,32.23161],[102.344648,32.231398],[102.344937,32.231186],[102.345227,32.230974],[102.345465,32.230843],[102.345703,32.230712],[102.345893,32.230556],[102.346083,32.230401],[102.346095,32.230391],[102.346434,32.230141],[102.346613,32.229977],[102.346791,32.229814],[102.347,32.229715],[102.347208,32.229617],[102.347567,32.229427],[102.347926,32.229237],[102.348285,32.229046],[102.348692,32.228871],[102.349099,32.228695],[102.349415,32.22857],[102.349748,32.228433],[102.350085,32.228287],[102.350422,32.22814],[102.350759,32.227993],[102.351125,32.227862],[102.351491,32.227731],[102.351817,32.227606],[102.35183,32.227601],[102.352228,32.227571],[102.352615,32.227601],[102.352953,32.227658],[102.353002,32.227666],[102.353269,32.22772],[102.353424,32.227726],[102.353609,32.227708],[102.3539,32.227648],[102.354156,32.227565],[102.354382,32.227497],[102.354608,32.227428],[102.354635,32.22742],[102.355037,32.227355],[102.355145,32.227337],[102.355233,32.227333],[102.355414,32.227293],[102.355474,32.22728],[102.355506,32.227273],[102.35572,32.227208],[102.355725,32.227198],[102.35581,32.227024],[102.35582,32.226992],[102.355899,32.226744],[102.355982,32.226533],[102.356065,32.226322],[102.356089,32.226096],[102.356113,32.22587],[102.356172,32.22556],[102.356214,32.225435],[102.356428,32.225281],[102.356684,32.225037],[102.356821,32.224936],[102.356892,32.224823],[102.356976,32.224626],[102.357118,32.224489],[102.357119,32.224489],[102.35712,32.224489],[102.357326,32.224365],[102.357493,32.22424],[102.357695,32.223901],[102.357862,32.223698],[102.358153,32.223478],[102.35835,32.223371],[102.358463,32.223288],[102.358522,32.223169],[102.358599,32.22302],[102.358891,32.222717],[102.359101,32.222425],[102.359153,32.222354],[102.359211,32.222263],[102.359301,32.222122],[102.359426,32.222021],[102.359569,32.221961],[102.359719,32.221781],[102.359868,32.2216],[102.360077,32.221348],[102.360218,32.221164],[102.360345,32.220965],[102.360473,32.220766],[102.36064,32.220403],[102.360821,32.220046],[102.361003,32.219689],[102.361107,32.219335],[102.361211,32.218981],[102.361407,32.218636],[102.361621,32.218345],[102.361717,32.218113],[102.361812,32.217881],[102.361919,32.217581],[102.362026,32.217282],[102.362133,32.216982],[102.362156,32.216877],[102.362237,32.216504],[102.362317,32.216132],[102.362414,32.215829],[102.362419,32.215816],[102.362573,32.215406],[102.362674,32.215067],[102.362722,32.214734],[102.362784,32.214392],[102.362847,32.21405],[102.362972,32.213627],[102.363007,32.213455],[102.363168,32.213264],[102.363345,32.213066],[102.363522,32.212868],[102.363561,32.212824],[102.36365,32.212592],[102.363715,32.212378],[102.363769,32.21214],[102.363787,32.211839],[102.363805,32.211537],[102.363822,32.211236],[102.363786,32.210824],[102.363749,32.210413],[102.363739,32.210296],[102.363717,32.21005],[102.363715,32.210028],[102.363793,32.209689],[102.3639,32.209314],[102.36405,32.209049],[102.364064,32.209024],[102.364102,32.208958],[102.364393,32.208642],[102.364646,32.208425],[102.364899,32.208208],[102.365185,32.208044],[102.36547,32.207881],[102.365613,32.207809],[102.365672,32.207746],[102.365684,32.207732],[102.365684,32.207643],[102.365625,32.207458],[102.365595,32.2072],[102.365565,32.206941],[102.365502,32.206706],[102.365452,32.206522],[102.365339,32.206102],[102.365316,32.205829],[102.365339,32.205507],[102.365423,32.205252],[102.365537,32.204975],[102.365652,32.204699],[102.365666,32.204663],[102.36572,32.204413],[102.365747,32.204151],[102.365774,32.203889],[102.365683,32.20361],[102.365637,32.203467],[102.365559,32.203294],[102.365464,32.203062],[102.365369,32.202926],[102.365185,32.202747],[102.365101,32.20264],[102.365113,32.202343],[102.365119,32.202075],[102.365125,32.201807],[102.365131,32.201563],[102.365238,32.20123],[102.365298,32.201111],[102.365452,32.200986],[102.365637,32.200873],[102.36575,32.200719],[102.365876,32.200404],[102.36594,32.200243],[102.366012,32.200011],[102.36616,32.199749],[102.366374,32.199452],[102.366398,32.199412],[102.366402,32.199402],[102.366478,32.199242],[102.366582,32.198942],[102.366598,32.198896],[102.366572,32.198549],[102.366545,32.198478],[102.36644,32.198417],[102.366142,32.19825],[102.365893,32.198024],[102.365637,32.197816],[102.365557,32.197774],[102.3655,32.197744],[102.365434,32.197709],[102.365357,32.197619],[102.365262,32.197364],[102.365119,32.196965],[102.365039,32.196694],[102.364959,32.196424],[102.364881,32.196067],[102.36478,32.19593],[102.364593,32.195671],[102.364405,32.195412],[102.364395,32.195397],[102.364162,32.195066],[102.363929,32.194734],[102.363834,32.194556],[102.363781,32.194383],[102.363739,32.194074],[102.363674,32.193896],[102.363543,32.193723],[102.363332,32.193423],[102.36312,32.193122],[102.362948,32.192908],[102.362938,32.19271],[102.362936,32.192682],[102.362859,32.192498],[102.362639,32.192117],[102.362439,32.191879],[102.36224,32.191641],[102.362044,32.191397],[102.361943,32.191225],[102.361904,32.19115],[102.361859,32.191064],[102.361782,32.190939],[102.361681,32.19088],[102.361496,32.190874],[102.361357,32.19087],[102.360997,32.190862],[102.360824,32.190838],[102.36067,32.190737],[102.360529,32.190663],[102.360455,32.190624],[102.360271,32.190594],[102.360104,32.190523],[102.359962,32.190392],[102.359831,32.190291],[102.359724,32.190243],[102.359456,32.190225],[102.359022,32.190237],[102.358977,32.190237],[102.358843,32.190237],[102.358707,32.190166],[102.35854,32.190059],[102.358415,32.190029],[102.358201,32.190011],[102.357892,32.190035],[102.357731,32.190017],[102.357614,32.189973],[102.357558,32.189952],[102.35738,32.189767],[102.357178,32.189488],[102.357023,32.189262],[102.356934,32.18894],[102.356868,32.188661],[102.356857,32.188523],[102.356857,32.18852],[102.356857,32.188518],[102.356773,32.188411],[102.356607,32.188215],[102.356494,32.187977],[102.356529,32.187768],[102.356636,32.187584],[102.35672,32.187394],[102.356708,32.187301],[102.356702,32.187251],[102.356517,32.186906],[102.356419,32.18676],[102.356369,32.186686],[102.356268,32.186585],[102.356024,32.186424],[102.355804,32.18624],[102.355628,32.186094],[102.355453,32.185948],[102.355298,32.18571],[102.355149,32.185383],[102.355131,32.185181],[102.355042,32.18502],[102.354882,32.184866],[102.354617,32.18472],[102.354352,32.184574],[102.353954,32.184407],[102.353626,32.184158],[102.35343,32.18392],[102.353258,32.183741],[102.353097,32.183581],[102.352924,32.183515],[102.352703,32.183441],[102.352481,32.183367],[102.352193,32.183271],[102.351958,32.183182],[102.351723,32.183093],[102.35139,32.183045],[102.351223,32.183015],[102.351134,32.182873],[102.351074,32.182676],[102.351059,32.182498],[102.351039,32.182272],[102.350973,32.181887],[102.350908,32.181503],[102.350842,32.181118],[102.350765,32.180927],[102.35061,32.180761],[102.350429,32.180588],[102.350248,32.180416],[102.350019,32.180279],[102.34979,32.180142],[102.349447,32.179997],[102.349105,32.179851],[102.348963,32.179791],[102.348927,32.17972],[102.348927,32.179607],[102.349004,32.179452],[102.349123,32.179292],[102.349399,32.179026],[102.349675,32.17876],[102.349896,32.178609],[102.350117,32.178458],[102.35052,32.17832],[102.350924,32.178182],[102.351328,32.178044],[102.351731,32.177905],[102.352105,32.177791],[102.352479,32.177676],[102.352853,32.177562],[102.353226,32.177447],[102.353576,32.177364],[102.353925,32.177281],[102.354275,32.177198],[102.354703,32.177097],[102.355078,32.177055],[102.35531,32.177046],[102.355542,32.177037],[102.355851,32.176942],[102.355869,32.176936],[102.355893,32.176928],[102.356014,32.176886],[102.356243,32.176809],[102.356472,32.176732],[102.356696,32.176633],[102.356919,32.176534],[102.357171,32.176423],[102.357367,32.176336],[102.35759,32.176237],[102.357814,32.176138],[102.358013,32.17605],[102.35829,32.175865],[102.358593,32.175692],[102.358895,32.175519],[102.359198,32.175347],[102.359331,32.17527],[102.35962,32.175128],[102.359908,32.174985],[102.360021,32.174878],[102.360099,32.174753],[102.36011,32.17461],[102.360116,32.174383],[102.360122,32.174146],[102.360146,32.173944],[102.360206,32.173837],[102.360348,32.173753],[102.360551,32.173623],[102.360676,32.173426],[102.360729,32.1732],[102.360705,32.172962],[102.360661,32.172605],[102.360616,32.172248],[102.360616,32.172022],[102.360646,32.171921],[102.360967,32.171659],[102.361211,32.171576],[102.361532,32.171499],[102.361764,32.17138],[102.361931,32.171291],[102.362145,32.171148],[102.362401,32.170987],[102.362656,32.170827],[102.36293,32.170708],[102.363261,32.170513],[102.363591,32.170318],[102.363656,32.170279],[102.3639,32.170154],[102.364072,32.170006],[102.364251,32.16975],[102.36434,32.169405],[102.36434,32.169149],[102.364304,32.168953],[102.364292,32.168925],[102.364191,32.168689],[102.36409,32.168453],[102.36398,32.168185],[102.36387,32.167918],[102.363779,32.167605],[102.363727,32.167424],[102.363668,32.16702],[102.363573,32.166799],[102.363424,32.16663],[102.363275,32.16646],[102.363014,32.166281],[102.362754,32.166103],[102.362493,32.165924],[102.36246,32.165901],[102.362335,32.165776],[102.36227,32.165628],[102.362234,32.16536],[102.362198,32.165092],[102.362198,32.164848],[102.362198,32.164604],[102.362202,32.164547],[102.362213,32.164366],[102.362235,32.163995],[102.362258,32.163623],[102.362258,32.163454],[102.362258,32.163325],[102.362234,32.163129],[102.362127,32.162796],[102.362103,32.162671],[102.362109,32.162534],[102.362192,32.162427],[102.362532,32.162201],[102.362766,32.161937],[102.363,32.161674],[102.363233,32.16141],[102.363495,32.161243],[102.363727,32.161124],[102.364025,32.161047],[102.364289,32.160991],[102.364554,32.160934],[102.364881,32.160934],[102.365155,32.160952],[102.365321,32.160964],[102.365546,32.160933],[102.365583,32.160928],[102.365653,32.1609],[102.365851,32.160821],[102.366184,32.16072],[102.366449,32.160663],[102.366713,32.160607],[102.366945,32.160577],[102.367183,32.160583],[102.367198,32.160583],[102.367264,32.16057],[102.367663,32.160494],[102.368061,32.160418],[102.368253,32.160397],[102.368468,32.160339],[102.368778,32.160155],[102.369045,32.160083],[102.369273,32.160032],[102.369501,32.159981],[102.369599,32.159958],[102.370018,32.159828],[102.370437,32.159697],[102.370622,32.159661],[102.370764,32.159673],[102.370943,32.159715],[102.370988,32.159727],[102.371098,32.159756],[102.37127,32.159804],[102.371496,32.159828],[102.371764,32.159881],[102.372032,32.159935],[102.372252,32.160033],[102.372472,32.160131],[102.372692,32.160214],[102.372882,32.160286],[102.373236,32.160342],[102.37359,32.160399],[102.373745,32.160494],[102.37381,32.160619],[102.37381,32.160768],[102.37378,32.160922],[102.373774,32.160952],[102.373774,32.161148],[102.373828,32.161368],[102.373965,32.161553],[102.37406,32.161618],[102.374328,32.161713],[102.374548,32.161826],[102.374839,32.16191],[102.375048,32.161975],[102.37528,32.162017],[102.375399,32.162037],[102.375601,32.16207],[102.375672,32.162171],[102.375697,32.162262],[102.375761,32.162493],[102.37588,32.162695],[102.376071,32.162933],[102.376243,32.163218],[102.376368,32.163427],[102.3766,32.163581],[102.376975,32.16376],[102.377266,32.163891],[102.377427,32.163938],[102.377724,32.164158],[102.377897,32.164301],[102.377939,32.164372],[102.37801,32.164557],[102.378069,32.164783],[102.378135,32.164884],[102.378266,32.164949],[102.378593,32.165039],[102.378884,32.165086],[102.379122,32.165086],[102.37936,32.165074],[102.379509,32.165134],[102.379586,32.165175],[102.379795,32.165288],[102.379884,32.165336],[102.380181,32.165348],[102.38036,32.165413],[102.380538,32.165491],[102.380693,32.165544],[102.38097,32.165549],[102.381062,32.16555],[102.381466,32.165651],[102.381752,32.165782],[102.382055,32.165943],[102.382192,32.166084],[102.382233,32.166127],[102.382394,32.166401],[102.382442,32.166457],[102.382662,32.166716],[102.382799,32.166829],[102.382947,32.166871],[102.38312,32.166901],[102.383304,32.166907],[102.383602,32.166889],[102.383754,32.166892],[102.383923,32.166895],[102.384185,32.166942],[102.384369,32.166972],[102.384708,32.16696],[102.38491,32.166936],[102.385255,32.16702],[102.385427,32.167057],[102.385666,32.167109],[102.385904,32.16718],[102.386186,32.167245],[102.386468,32.167309],[102.386606,32.167341],[102.386981,32.167409],[102.387169,32.167444],[102.387211,32.167531],[102.387477,32.168163],[102.388857,32.169446],[102.391037,32.170552],[102.393159,32.171705],[102.394544,32.172842],[102.395433,32.173487],[102.396988,32.174629],[102.398376,32.17567],[102.399263,32.176363],[102.40031,32.177446],[102.401627,32.178968],[102.402338,32.179899],[102.403043,32.181022],[102.403964,32.182536],[102.404182,32.182879],[102.404271,32.183019],[102.404692,32.183682],[102.404709,32.183709],[102.404833,32.183904],[102.40533,32.184349],[102.406406,32.184419],[102.407528,32.184828],[102.408253,32.185277],[102.408992,32.187221],[102.409303,32.18824],[102.409318,32.188261],[102.409432,32.188425],[102.40958,32.188638],[102.409848,32.189023],[102.410091,32.189611],[102.410432,32.190433],[102.410594,32.190966],[102.410847,32.191792],[102.410954,32.19333],[102.410968,32.19353],[102.410968,32.19354],[102.410986,32.194881],[102.411247,32.19592],[102.411356,32.196353],[102.411547,32.19711],[102.4118,32.198187],[102.411863,32.198457],[102.411898,32.198606],[102.411933,32.198756],[102.411959,32.19887],[102.412002,32.199049],[102.412074,32.199232],[102.412156,32.199442],[102.412229,32.199627],[102.412318,32.199855],[102.412379,32.200033],[102.412438,32.200171],[102.412478,32.200265],[102.412587,32.20041],[102.412705,32.200569],[102.41282,32.200724],[102.412911,32.200846],[102.41318,32.201208],[102.413353,32.20144],[102.413513,32.202148],[102.413605,32.202554],[102.413614,32.202796],[102.413632,32.203286],[102.413637,32.203423],[102.414411,32.204114],[102.415356,32.204808],[102.416104,32.206066],[102.416547,32.20681],[102.416637,32.207632],[102.416782,32.208527],[102.416927,32.209422],[102.416984,32.209705],[102.417051,32.210043],[102.417605,32.211043],[102.417692,32.211151],[102.418648,32.212336],[102.419035,32.213332],[102.419601,32.214079],[102.419855,32.214414],[102.420014,32.214855],[102.420069,32.215005],[102.420144,32.215214],[102.419942,32.215631],[102.419914,32.215689],[102.419814,32.215896],[102.418535,32.217087],[102.418141,32.21782],[102.417613,32.218867],[102.417531,32.219554],[102.417815,32.220512],[102.418602,32.221322],[102.419013,32.222177],[102.419167,32.223345],[102.419273,32.223626],[102.419688,32.224732],[102.419912,32.225636],[102.419875,32.226958],[102.420208,32.228394],[102.420318,32.230043],[102.420339,32.230355],[102.420302,32.231677],[102.419766,32.23299],[102.419399,32.233719],[102.419323,32.23387],[102.419239,32.234037],[102.419122,32.234151],[102.418983,32.234286],[102.418831,32.234433],[102.418705,32.234556],[102.418598,32.234659],[102.418473,32.234774],[102.418325,32.23491],[102.418158,32.235063],[102.418007,32.235202],[102.417853,32.235344],[102.41775,32.235438],[102.417639,32.235539],[102.417541,32.235682],[102.417414,32.235866],[102.417309,32.236018],[102.417174,32.236213],[102.417037,32.236412],[102.416916,32.236586],[102.416804,32.236747],[102.416716,32.236876],[102.416665,32.236948],[102.416619,32.237092],[102.416555,32.237289],[102.41649,32.23749],[102.41642,32.237706],[102.416352,32.237915],[102.416279,32.238147],[102.416218,32.238329],[102.416174,32.238463],[102.416143,32.23856],[102.41612,32.238631],[102.416079,32.238774],[102.416052,32.238872],[102.416023,32.238974],[102.415968,32.239168],[102.41593,32.239304],[102.415883,32.239472],[102.415843,32.239614],[102.415806,32.239744],[102.415764,32.239893],[102.415726,32.240027],[102.415704,32.240104],[102.415676,32.240225],[102.41565,32.240335],[102.415608,32.240515],[102.415604,32.240533],[102.415577,32.240649],[102.415572,32.240669],[102.415551,32.240761],[102.415533,32.240835],[102.415506,32.240951],[102.415421,32.241316],[102.41539,32.241667],[102.415384,32.241737],[102.415376,32.241816],[102.415371,32.241877],[102.415364,32.241956],[102.415355,32.242057],[102.415347,32.242148],[102.415337,32.242266],[102.415325,32.242392],[102.415315,32.242508],[102.415303,32.242639],[102.415292,32.242763],[102.41528,32.242898],[102.415269,32.243022],[102.415259,32.243138],[102.41525,32.24324],[102.415243,32.243317],[102.415238,32.243376],[102.415229,32.243481],[102.415221,32.243576],[102.415209,32.243711],[102.415202,32.24379],[102.415198,32.243836],[102.415192,32.243905],[102.415187,32.243961],[102.415181,32.244025],[102.415175,32.244101],[102.415166,32.2442],[102.415158,32.24429],[102.415152,32.244359],[102.415148,32.244403],[102.415146,32.244433],[102.415142,32.244446],[102.415129,32.244497],[102.415114,32.244559],[102.415101,32.244609],[102.415088,32.244659],[102.415068,32.244738],[102.41505,32.244809],[102.415031,32.24488],[102.415018,32.244933],[102.415006,32.244978],[102.414985,32.24506],[102.414936,32.245253],[102.414889,32.245437],[102.414839,32.245634],[102.414796,32.245802],[102.414757,32.246127],[102.414722,32.246418],[102.414686,32.246721],[102.414657,32.246967],[102.414632,32.247174],[102.414652,32.247353],[102.414679,32.247592],[102.414703,32.247831],[102.414724,32.248002],[102.414739,32.248127],[102.414747,32.248199],[102.41477,32.2484],[102.414781,32.248501],[102.414838,32.248624],[102.414938,32.248818],[102.415024,32.249023],[102.415075,32.249142],[102.415078,32.249232],[102.415083,32.249368],[102.415087,32.249517],[102.415093,32.249679],[102.415097,32.249807],[102.415101,32.24994],[102.415105,32.250051],[102.415108,32.250148],[102.415112,32.250244],[102.415114,32.250319],[102.415117,32.250437],[102.415122,32.250547],[102.415126,32.250681],[102.415131,32.250786],[102.415135,32.2509],[102.415139,32.251002],[102.415141,32.251063],[102.415155,32.251458],[102.415166,32.251793],[102.415178,32.252108],[102.415206,32.252674],[102.415223,32.253017],[102.415242,32.253404],[102.415257,32.253697],[102.415391,32.254232],[102.415461,32.254511],[102.415537,32.254814],[102.415592,32.255207],[102.415631,32.255493],[102.415692,32.255929],[102.415758,32.256703],[102.415802,32.257217],[102.415832,32.257572],[102.415819,32.258033],[102.415811,32.258313],[102.415796,32.258842],[102.415904,32.259139],[102.416011,32.259436],[102.416096,32.259672],[102.416143,32.259802],[102.416492,32.260656],[102.416699,32.261108],[102.416786,32.261297],[102.41745,32.262051],[102.417453,32.262056],[102.417456,32.26206],[102.418229,32.263126],[102.419002,32.264412],[102.419549,32.264922],[102.420045,32.265385],[102.420277,32.265602],[102.420628,32.266403],[102.420724,32.267411],[102.420893,32.268049],[102.42177,32.267856],[102.421921,32.267703],[102.422059,32.267564],[102.422254,32.267366],[102.422484,32.267134],[102.422632,32.266984],[102.422796,32.266818],[102.423073,32.266688],[102.423305,32.26658],[102.423554,32.266463],[102.423829,32.26643],[102.424033,32.266405],[102.424304,32.266372],[102.424513,32.266241],[102.424673,32.26614],[102.424874,32.266014],[102.425064,32.265896],[102.425256,32.265777],[102.425453,32.265654],[102.425699,32.265501],[102.425892,32.265442],[102.426128,32.265369],[102.42637,32.265294],[102.426658,32.265204],[102.426934,32.265119],[102.427144,32.265054],[102.427291,32.265031],[102.427519,32.264995],[102.42776,32.264957],[102.427928,32.264931],[102.428111,32.264902],[102.428333,32.264867],[102.42863,32.26474],[102.428911,32.264616],[102.429196,32.264492],[102.429491,32.264364],[102.429622,32.264307],[102.429846,32.26421],[102.430032,32.26414],[102.430244,32.264061],[102.43055,32.263945],[102.430749,32.263871],[102.430917,32.263808],[102.431113,32.26361],[102.431173,32.263549],[102.431296,32.263705],[102.431401,32.263838],[102.431545,32.264019],[102.431713,32.264233],[102.431843,32.2644],[102.431988,32.264584],[102.432121,32.264754],[102.432211,32.264868],[102.432316,32.265001],[102.432429,32.265219],[102.432531,32.265416],[102.43262,32.265584],[102.432709,32.265757],[102.432788,32.26591],[102.432849,32.266061],[102.432896,32.266178],[102.432961,32.26634],[102.433007,32.266472],[102.433073,32.266629],[102.433139,32.266782],[102.433196,32.266924],[102.433317,32.267488],[102.433452,32.268119],[102.433526,32.268466],[102.433464,32.270687],[102.433592,32.272754],[102.433659,32.274819],[102.433249,32.276081],[102.432833,32.277608],[102.432394,32.27852],[102.432357,32.278597],[102.432303,32.278708],[102.432511,32.280194],[102.432974,32.281421],[102.432813,32.282741],[102.432327,32.283519],[102.43216,32.283786],[102.431994,32.28392],[102.431586,32.284251],[102.431242,32.285408],[102.430894,32.286724],[102.430842,32.286793],[102.430826,32.286815],[102.430739,32.286932],[102.430652,32.287048],[102.430642,32.287061],[102.430613,32.2871],[102.430585,32.287138],[102.43056,32.287172],[102.430546,32.28719],[102.430116,32.287767],[102.429922,32.287892],[102.429164,32.288382],[102.428583,32.289111],[102.428442,32.289646],[102.428394,32.289825],[102.428025,32.291217],[102.427678,32.29248],[102.427089,32.293474],[102.426431,32.29473],[102.425946,32.295245],[102.425403,32.295821],[102.424268,32.296274],[102.423392,32.296415],[102.422145,32.29657],[102.421203,32.296688],[102.419915,32.296739],[102.419457,32.296758],[102.418769,32.296758],[102.41684,32.296757],[102.414842,32.296875],[102.414055,32.29669],[102.413604,32.296585],[102.413298,32.296535],[102.412283,32.296866],[102.412026,32.29686],[102.410568,32.29683],[102.410499,32.296826],[102.409512,32.296756],[102.40948,32.296754],[102.408561,32.296689],[102.407203,32.296611],[102.406307,32.296894],[102.406286,32.297647],[102.406432,32.298755],[102.406342,32.299808],[102.406341,32.299853],[102.406337,32.299987],[102.406333,32.300126],[102.40633,32.300231],[102.406325,32.300416],[102.406319,32.300652],[102.406314,32.300817],[102.406309,32.300995],[102.406304,32.301146],[102.4063,32.301298],[102.406323,32.301464],[102.406345,32.301622],[102.406373,32.301825],[102.406403,32.30204],[102.40643,32.302229],[102.406446,32.302345],[102.406478,32.302577],[102.406507,32.302783],[102.406534,32.302981],[102.406562,32.303179],[102.406563,32.303396],[102.406563,32.303463],[102.406564,32.303568],[102.406565,32.303804],[102.406566,32.304044],[102.406566,32.304154],[102.406566,32.304193],[102.406567,32.304287],[102.406568,32.304556],[102.406569,32.304796],[102.406569,32.304863],[102.40657,32.305096],[102.406571,32.305289],[102.406571,32.305404],[102.406572,32.305591],[102.406572,32.305719],[102.406573,32.305983],[102.406573,32.306104],[102.406573,32.30611],[102.406573,32.306147],[102.406578,32.308137],[102.406479,32.308814],[102.406383,32.309472],[102.406189,32.310741],[102.405829,32.312275],[102.405008,32.313397],[102.403697,32.315111],[102.402707,32.316632],[102.401858,32.318758],[102.401741,32.320095],[102.401235,32.321224],[102.400807,32.322453],[102.400633,32.322953],[102.400456,32.324518],[102.400363,32.32534],[102.400234,32.326324],[102.399947,32.327518],[102.399466,32.33021],[102.399234,32.333035],[102.399008,32.335154],[102.397563,32.334466],[102.396598,32.334668],[102.395766,32.334799],[102.394551,32.334625],[102.393033,32.334372],[102.392014,32.33424],[102.391188,32.334133],[102.390993,32.334108],[102.389526,32.333597],[102.389072,32.333468],[102.388925,32.333294],[102.388894,32.332607],[102.389149,32.332155],[102.389373,32.331759],[102.389392,32.331457],[102.389464,32.330346],[102.389487,32.329532],[102.389525,32.329151],[102.389561,32.328778],[102.38963,32.328077],[102.389636,32.328009],[102.389704,32.327264],[102.389165,32.326696],[102.388519,32.326339],[102.388387,32.326332],[102.388139,32.326319],[102.387743,32.326298],[102.387649,32.326293],[102.387618,32.326291],[102.387208,32.326269],[102.386572,32.326499],[102.386085,32.326675],[102.386012,32.326709],[102.385369,32.327003],[102.385102,32.32711],[102.385082,32.327118],[102.384819,32.327222],[102.38475,32.32725],[102.384245,32.327451],[102.383216,32.328116],[102.382758,32.32835],[102.382698,32.328381],[102.382502,32.328481],[102.382162,32.328655],[102.382089,32.328693],[102.381887,32.328856],[102.381861,32.328876],[102.381055,32.329529],[102.380272,32.330413],[102.37984,32.33139],[102.378605,32.332179],[102.377477,32.332756],[102.376519,32.332736],[102.37576,32.332763],[102.375252,32.332881],[102.375032,32.33349],[102.376298,32.334395],[102.376631,32.334957],[102.376615,32.335512],[102.376028,32.336203],[102.375079,32.337367],[102.373813,32.338969],[102.372799,32.340872],[102.372027,32.341928],[102.371335,32.343283],[102.370191,32.345146],[102.369589,32.346355],[102.369292,32.347606],[102.368694,32.348667],[102.367972,32.34954],[102.367472,32.350232],[102.366066,32.35061],[102.364567,32.351208],[102.363549,32.351741],[102.362957,32.352617],[102.362371,32.353271],[102.362164,32.353634],[102.361683,32.354477],[102.361414,32.35621],[102.361379,32.357431],[102.36127,32.358168],[102.361199,32.359129],[102.361068,32.360643],[102.36063,32.363705],[102.360385,32.364625],[102.360052,32.36558],[102.359888,32.366723],[102.359798,32.368312],[102.35968,32.369383],[102.35931,32.370115],[102.358235,32.371091],[102.357558,32.371891],[102.356533,32.372647],[102.355159,32.373432],[102.354258,32.374412],[102.354239,32.375077],[102.354044,32.375776],[102.353752,32.376806],[102.353545,32.377949],[102.353004,32.378529],[102.352253,32.378883],[102.351855,32.37906],[102.350881,32.379595],[102.351449,32.381049],[102.351995,32.383244],[102.352552,32.385068],[102.352564,32.386142],[102.352579,32.387141],[102.352677,32.387444],[102.353236,32.389172],[102.353459,32.38986],[102.353635,32.39127],[102.354038,32.392425],[102.354352,32.393616],[102.355108,32.394594],[102.355089,32.395259],[102.35438,32.397131],[102.352698,32.399464],[102.351006,32.400686],[102.349568,32.402136],[102.34617,32.407947],[102.345785,32.408491],[102.345772,32.408509],[102.345373,32.409072],[102.3453,32.409175],[102.345289,32.40919],[102.345283,32.409199],[102.345215,32.409296],[102.344227,32.410274],[102.343993,32.410485],[102.342031,32.412263],[102.338886,32.415163],[102.337247,32.416674],[102.33675,32.417132],[102.336709,32.417169],[102.336699,32.417179],[102.336666,32.417209],[102.336623,32.417249],[102.336616,32.417255],[102.336462,32.417397],[102.336382,32.417471],[102.335594,32.417565],[102.334971,32.417589],[102.334328,32.417613],[102.332497,32.417574],[102.331197,32.417287],[102.330141,32.417065],[102.329636,32.416958],[102.327275,32.415687],[102.326135,32.415885],[102.324757,32.416781],[102.323692,32.417387],[102.322646,32.417365],[102.321596,32.417454],[102.320608,32.416952],[102.319248,32.417219],[102.319057,32.41777],[102.31871,32.419168],[102.318842,32.420614],[102.318847,32.420988],[102.318856,32.421613],[102.319034,32.422949],[102.319457,32.426362],[102.319588,32.427807],[102.319737,32.428699],[102.319935,32.429369],[102.320371,32.430858],[102.320451,32.432562],[102.320407,32.434041],[102.320707,32.435712],[102.32075,32.437193],[102.32067,32.438412],[102.320417,32.43959],[102.32037,32.44118],[102.320409,32.442809],[102.320434,32.444918],[102.32067,32.445774],[102.321341,32.446714],[102.321883,32.447539],[102.322678,32.448703],[102.323044,32.449599],[102.325506,32.454868],[102.326407,32.456885],[102.326497,32.458256],[102.32624,32.459545],[102.325773,32.460608],[102.325561,32.461861],[102.325074,32.463553],[102.325061,32.465477],[102.324895,32.466657],[102.324727,32.467911],[102.32456,32.469129],[102.324606,32.470535],[102.324006,32.471633],[102.323588,32.472475],[102.322209,32.47337],[102.321372,32.473611],[102.320272,32.473921],[102.318993,32.474375],[102.317894,32.47461],[102.316193,32.474574],[102.314795,32.474618],[102.314213,32.475123],[102.313725,32.475775],[102.313395,32.476216],[102.313131,32.476667],[102.312199,32.478262],[102.311323,32.479834],[102.311219,32.480334],[102.310916,32.481787],[102.311089,32.483307],[102.311673,32.484208],[102.311739,32.4847],[102.311816,32.485284],[102.31153,32.486092],[102.31063,32.486997],[102.309694,32.487643],[102.308793,32.488586],[102.308286,32.4895],[102.307999,32.490345],[102.307839,32.491304],[102.307815,32.492117],[102.308133,32.49316],[102.308318,32.494274],[102.30869,32.494985],[102.308679,32.495343],[102.308664,32.495872],[102.308633,32.496907],[102.308369,32.49715],[102.308319,32.497197],[102.308144,32.49723],[102.30744,32.497363],[102.307147,32.49745],[102.30559,32.497915],[102.304271,32.498257],[102.303308,32.49831],[102.301595,32.49868],[102.300504,32.498657],[102.300373,32.498609],[102.300303,32.498583],[102.299338,32.498225],[102.298297,32.498018],[102.297387,32.497776],[102.296037,32.497673],[102.295037,32.497541],[102.293911,32.49722],[102.292726,32.497454],[102.292101,32.497884],[102.291871,32.498286],[102.29189,32.499101],[102.291976,32.50062],[102.291887,32.502135],[102.291637,32.503202],[102.291601,32.503375],[102.291597,32.503393],[102.291505,32.503833],[102.29147,32.503999],[102.291382,32.504418],[102.290941,32.506036],[102.290556,32.507212],[102.290392,32.508318],[102.290603,32.510025],[102.29064,32.511691],[102.290391,32.512721],[102.29019,32.513605],[102.289346,32.515511],[102.288597,32.517196],[102.288122,32.517988],[102.287869,32.518673],[102.287337,32.518908],[102.286228,32.519032],[102.284592,32.519194],[102.283165,32.519536],[102.282892,32.519601],[102.281662,32.519821],[102.280661,32.520194],[102.280417,32.5203],[102.280201,32.520393],[102.280189,32.520398],[102.279632,32.520638],[102.279246,32.520805],[102.278934,32.521489],[102.278447,32.522401],[102.277761,32.523683],[102.277274,32.524758],[102.277244,32.524826],[102.277143,32.525049],[102.277014,32.525018],[102.276779,32.524961],[102.276544,32.524904],[102.27631,32.524846],[102.276075,32.524789],[102.275857,32.52472],[102.275639,32.524651],[102.275299,32.52453],[102.275037,32.524347],[102.274816,32.524082],[102.274802,32.52406],[102.274785,32.524033],[102.27465,32.523819],[102.274563,32.523527],[102.274535,32.523284],[102.274531,32.523251],[102.274517,32.523138],[102.274515,32.523108],[102.274514,32.523097],[102.274505,32.522976],[102.274553,32.522872],[102.274604,32.522763],[102.274627,32.522713],[102.274749,32.522451],[102.27489,32.522227],[102.274992,32.522052],[102.274988,32.522033],[102.274974,32.52197],[102.27492,32.521911],[102.274887,32.521875],[102.274809,32.521789],[102.274619,32.521705],[102.274498,32.52168],[102.274354,32.52165],[102.274185,32.521646],[102.274086,32.521644],[102.273972,32.521641],[102.273945,32.52164],[102.273685,32.521627],[102.273398,32.521613],[102.273015,32.521516],[102.27298,32.521506],[102.272871,32.521439],[102.272714,32.521341],[102.272665,32.52131],[102.272604,32.521273],[102.272433,32.521087],[102.272345,32.520991],[102.272162,32.520727],[102.271881,32.520495],[102.2716,32.520327],[102.271536,32.5203],[102.271419,32.52025],[102.271333,32.520214],[102.271306,32.520202],[102.271279,32.520191],[102.271266,32.520188],[102.27088,32.520102],[102.270641,32.520104],[102.270403,32.520107],[102.270124,32.520142],[102.269985,32.520159],[102.269845,32.520177],[102.269719,32.520168],[102.26968,32.520165],[102.2695,32.520152],[102.269215,32.520099],[102.268971,32.519948],[102.268958,32.519931],[102.268931,32.519895],[102.268903,32.519857],[102.268713,32.519601],[102.268591,32.519445],[102.268569,32.519417],[102.268556,32.5194],[102.268475,32.519297],[102.268456,32.519273],[102.268363,32.519104],[102.268242,32.518884],[102.268083,32.518596],[102.268068,32.518568],[102.268027,32.518495],[102.267986,32.51842],[102.267813,32.518106],[102.267707,32.517914],[102.267599,32.517717],[102.267445,32.517468],[102.267417,32.517423],[102.267269,32.517226],[102.267177,32.517127],[102.267019,32.517056],[102.266987,32.517041],[102.26689,32.517035],[102.266644,32.517018],[102.266565,32.517012],[102.266367,32.516998],[102.266319,32.516995],[102.26613,32.51691],[102.265982,32.51676],[102.265873,32.516548],[102.265846,32.516223],[102.265853,32.515964],[102.26592,32.515658],[102.265986,32.515353],[102.266042,32.515195],[102.266049,32.515177],[102.266072,32.515048],[102.266122,32.514677],[102.266013,32.514495],[102.265967,32.514459],[102.265938,32.514437],[102.265863,32.514378],[102.265843,32.514363],[102.265829,32.514356],[102.265524,32.514209],[102.265145,32.514023],[102.264943,32.513842],[102.264759,32.513594],[102.26463,32.513381],[102.264601,32.513044],[102.264572,32.512706],[102.264564,32.512342],[102.264564,32.512341],[102.264562,32.512254],[102.264561,32.512191],[102.264558,32.512084],[102.264557,32.51201],[102.264556,32.511978],[102.264542,32.511781],[102.264535,32.511685],[102.264529,32.511604],[102.264423,32.511328],[102.264391,32.511291],[102.26438,32.511278],[102.264308,32.511196],[102.264219,32.511096],[102.264206,32.511081],[102.2642,32.511073],[102.264173,32.511041],[102.264145,32.511008],[102.264035,32.510876],[102.263985,32.510817],[102.263944,32.510767],[102.263917,32.510743],[102.263897,32.510726],[102.263744,32.51059],[102.263644,32.510502],[102.263581,32.510464],[102.263525,32.510431],[102.263363,32.510333],[102.263221,32.510303],[102.263191,32.510297],[102.263105,32.510295],[102.263045,32.510294],[102.26302,32.510294],[102.262713,32.510303],[102.262465,32.510395],[102.262424,32.51041],[102.262381,32.510443],[102.262272,32.510524],[102.262227,32.510558],[102.262141,32.510622],[102.26211,32.510645],[102.262074,32.510672],[102.261757,32.510913],[102.261519,32.511073],[102.26149,32.511092],[102.261406,32.511148],[102.261268,32.511221],[102.26123,32.511242],[102.261069,32.511285],[102.261006,32.511302],[102.260951,32.511316],[102.260909,32.511328],[102.26085,32.511343],[102.260794,32.511358],[102.260671,32.511391],[102.260385,32.511445],[102.26027,32.511466],[102.260128,32.511493],[102.259869,32.511541],[102.259798,32.511556],[102.259764,32.511563],[102.259715,32.511573],[102.259562,32.511606],[102.259429,32.511666],[102.25942,32.511671],[102.259378,32.51169],[102.259329,32.511712],[102.259096,32.511819],[102.258952,32.511885],[102.258914,32.511902],[102.258876,32.51192],[102.258863,32.511926],[102.258699,32.512001],[102.258629,32.512032],[102.258391,32.512086],[102.258301,32.512106],[102.258153,32.51214],[102.258097,32.512144],[102.257916,32.512158],[102.257678,32.512177],[102.257343,32.512216],[102.257006,32.512303],[102.256693,32.512556],[102.256596,32.512904],[102.256523,32.513161],[102.256498,32.513251],[102.256349,32.513602],[102.256259,32.513811],[102.256169,32.514021],[102.255982,32.514205],[102.255796,32.514389],[102.255623,32.514562],[102.255451,32.514735],[102.255306,32.514932],[102.255161,32.51513],[102.254807,32.51531],[102.254454,32.515491],[102.254177,32.515462],[102.25393,32.515339],[102.253742,32.515123],[102.25361,32.514861],[102.253524,32.514484],[102.253438,32.514108],[102.253385,32.513706],[102.253332,32.513305],[102.25328,32.512903],[102.25327,32.512677],[102.25326,32.512451],[102.25325,32.512225],[102.25324,32.511999],[102.25323,32.511772],[102.25322,32.511546],[102.253211,32.51132],[102.253201,32.511094],[102.253191,32.510867],[102.253181,32.510641],[102.25318,32.510373],[102.25318,32.510106],[102.253179,32.509838],[102.253178,32.50957],[102.253178,32.509303],[102.253177,32.509035],[102.253176,32.508767],[102.253175,32.5085],[102.253175,32.508232],[102.253174,32.507964],[102.253173,32.507696],[102.253173,32.507429],[102.253172,32.507161],[102.253171,32.506893],[102.253171,32.506626],[102.25317,32.506358],[102.253154,32.50612],[102.253138,32.505882],[102.253122,32.505645],[102.253106,32.505407],[102.25309,32.505169],[102.253074,32.504931],[102.253058,32.504694],[102.253042,32.504456],[102.253026,32.504218],[102.25301,32.503981],[102.252994,32.503743],[102.252978,32.503505],[102.25293,32.503249],[102.252882,32.502993],[102.252834,32.502737],[102.252786,32.50248],[102.252738,32.502224],[102.252691,32.501968],[102.252605,32.501755],[102.25252,32.501542],[102.252435,32.501328],[102.25235,32.501115],[102.252265,32.500902],[102.252179,32.500688],[102.252094,32.500475],[102.252009,32.500262],[102.25194,32.500117],[102.251924,32.500082],[102.251843,32.499911],[102.251745,32.499705],[102.251647,32.499499],[102.25155,32.499293],[102.251452,32.499088],[102.251355,32.498882],[102.251263,32.498536],[102.251172,32.49819],[102.25111,32.497955],[102.251048,32.49772],[102.250987,32.497485],[102.250925,32.497251],[102.250863,32.497016],[102.250801,32.496781],[102.250739,32.496547],[102.250677,32.496312],[102.250615,32.496077],[102.250554,32.495842],[102.250492,32.495608],[102.25043,32.495373],[102.250368,32.495138],[102.250306,32.494904],[102.250179,32.494548],[102.250121,32.494388],[102.250051,32.494192],[102.249838,32.493833],[102.249649,32.493642],[102.249348,32.493493],[102.24896,32.493415],[102.248703,32.493409],[102.248446,32.493403],[102.248189,32.493397],[102.247931,32.493392],[102.247666,32.493421],[102.247402,32.49345],[102.247136,32.49348],[102.246871,32.493509],[102.246501,32.49376],[102.246132,32.494011],[102.245762,32.494262],[102.245711,32.494302],[102.245563,32.494415],[102.245363,32.494568],[102.245164,32.49472],[102.244965,32.494873],[102.244765,32.495025],[102.244566,32.495178],[102.244366,32.49533],[102.244167,32.495483],[102.243968,32.495635],[102.243768,32.495788],[102.243569,32.495941],[102.24337,32.496093],[102.243205,32.496252],[102.24304,32.49641],[102.242875,32.496568],[102.24271,32.496727],[102.242545,32.496885],[102.24238,32.497043],[102.242215,32.497202],[102.24205,32.49736],[102.241891,32.497565],[102.241731,32.497771],[102.241572,32.497976],[102.241413,32.498182],[102.241253,32.498387],[102.241176,32.498487],[102.241094,32.498593],[102.240934,32.498798],[102.240775,32.499004],[102.24077,32.499014],[102.240604,32.499375],[102.240433,32.499746],[102.240262,32.500117],[102.240142,32.500378],[102.24003,32.500582],[102.239918,32.500787],[102.239806,32.500992],[102.239694,32.501197],[102.239582,32.501401],[102.23947,32.501606],[102.239358,32.501811],[102.239246,32.502016],[102.239134,32.50222],[102.239022,32.502425],[102.238908,32.502678],[102.238793,32.50293],[102.238679,32.503183],[102.238565,32.503435],[102.238451,32.503688],[102.238393,32.503815],[102.238336,32.50394],[102.238282,32.50419],[102.238228,32.50444],[102.238174,32.50469],[102.23812,32.504941],[102.238066,32.505191],[102.238011,32.505441],[102.237976,32.505699],[102.23794,32.505957],[102.237934,32.506192],[102.237927,32.506427],[102.237959,32.506687],[102.237992,32.506947],[102.238086,32.507165],[102.23818,32.507384],[102.238273,32.507603],[102.238367,32.507822],[102.238461,32.508041],[102.238555,32.50826],[102.238649,32.508479],[102.238742,32.508697],[102.238836,32.508916],[102.23893,32.509135],[102.238986,32.509354],[102.239042,32.509574],[102.239099,32.509793],[102.239155,32.510012],[102.239199,32.510366],[102.239162,32.510672],[102.239042,32.510975],[102.238808,32.5113],[102.238636,32.511473],[102.238464,32.511646],[102.238175,32.511968],[102.237945,32.512246],[102.237826,32.512491],[102.237707,32.512736],[102.237615,32.513016],[102.237608,32.513257],[102.237605,32.513345],[102.237595,32.513674],[102.237694,32.514077],[102.237727,32.514337],[102.237761,32.514597],[102.237753,32.514867],[102.237744,32.515138],[102.237706,32.515514],[102.237615,32.515723],[102.237493,32.516074],[102.237432,32.516293],[102.23737,32.516512],[102.237383,32.516655],[102.237401,32.516853],[102.237433,32.517195],[102.237437,32.517501],[102.237442,32.517807],[102.237442,32.51792],[102.237443,32.518059],[102.237445,32.51831],[102.237446,32.518561],[102.237448,32.518813],[102.237449,32.519064],[102.237451,32.519315],[102.237508,32.519717],[102.237566,32.520118],[102.237527,32.520447],[102.237489,32.520776],[102.237394,32.521174],[102.237246,32.521453],[102.237099,32.521733],[102.236927,32.522082],[102.236755,32.522431],[102.236583,32.52278],[102.236322,32.523136],[102.23606,32.523491],[102.235799,32.523847],[102.235644,32.52402],[102.23549,32.524193],[102.235335,32.524366],[102.23518,32.524539],[102.235025,32.524712],[102.23487,32.524885],[102.234715,32.525059],[102.234561,32.525232],[102.234394,32.525446],[102.234227,32.52566],[102.23406,32.525874],[102.233893,32.526089],[102.233761,32.526333],[102.233629,32.526577],[102.233452,32.526903],[102.2334,32.527196],[102.233349,32.52749],[102.233335,32.527741],[102.23332,32.527992],[102.233306,32.528244],[102.233292,32.528495],[102.233336,32.528861],[102.23338,32.529227],[102.233342,32.529544],[102.233305,32.529861],[102.233239,32.530201],[102.233174,32.530541],[102.233139,32.530776],[102.233104,32.53101],[102.233047,32.531244],[102.232991,32.531479],[102.23295,32.53165],[102.232935,32.531713],[102.232879,32.531947],[102.232781,32.532192],[102.232683,32.532437],[102.232585,32.532682],[102.232487,32.532927],[102.232425,32.533144],[102.232362,32.533361],[102.2323,32.533578],[102.232238,32.533794],[102.232239,32.534027],[102.23224,32.53426],[102.23224,32.534492],[102.232241,32.534725],[102.232242,32.534958],[102.232242,32.535108],[102.232243,32.53519],[102.232244,32.535423],[102.232244,32.535656],[102.232245,32.535888],[102.232246,32.536121],[102.232205,32.536387],[102.232165,32.536653],[102.232124,32.536919],[102.232083,32.537185],[102.232043,32.537451],[102.232002,32.537717],[102.231908,32.538068],[102.231814,32.538419],[102.231733,32.538601],[102.231679,32.538722],[102.231545,32.539025],[102.231382,32.539328],[102.231219,32.539631],[102.23107,32.539933],[102.23099,32.540097],[102.230922,32.540235],[102.230841,32.540611],[102.23076,32.540986],[102.230695,32.541279],[102.230631,32.541571],[102.230618,32.541704],[102.230609,32.541784],[102.23058,32.542065],[102.230551,32.542346],[102.230566,32.542731],[102.230582,32.543115],[102.230597,32.543499],[102.230716,32.543726],[102.230834,32.543954],[102.23088,32.544262],[102.230842,32.54459],[102.230691,32.544963],[102.230652,32.545011],[102.230431,32.545287],[102.230233,32.545424],[102.230035,32.545561],[102.229751,32.545696],[102.229468,32.545831],[102.229215,32.545919],[102.228962,32.546008],[102.228623,32.546095],[102.228373,32.546112],[102.228234,32.54611],[102.227848,32.545983],[102.227462,32.545857],[102.227227,32.545731],[102.226992,32.545606],[102.226757,32.54548],[102.226523,32.545355],[102.226288,32.545229],[102.226182,32.545173],[102.226053,32.545104],[102.225859,32.54497],[102.225666,32.544836],[102.225472,32.544702],[102.225279,32.544568],[102.225086,32.544435],[102.224892,32.544301],[102.224699,32.544167],[102.224505,32.544033],[102.224312,32.543899],[102.224118,32.543765],[102.223886,32.543629],[102.223653,32.543492],[102.223421,32.543356],[102.223189,32.543219],[102.222956,32.543083],[102.222724,32.542946],[102.222491,32.542809],[102.222259,32.542673],[102.222026,32.542536],[102.221794,32.5424],[102.221562,32.542263],[102.221329,32.542126],[102.221082,32.541955],[102.220835,32.541784],[102.220508,32.541558],[102.220182,32.541332],[102.219855,32.541106],[102.219655,32.540853],[102.219504,32.540664],[102.219489,32.540645],[102.219471,32.540623],[102.219454,32.540601],[102.219242,32.540244],[102.219058,32.539886],[102.218985,32.539579],[102.218913,32.53916],[102.218841,32.538742],[102.21877,32.538323],[102.218698,32.537904],[102.21866,32.537661],[102.218622,32.537419],[102.218585,32.537177],[102.218547,32.536934],[102.218509,32.536692],[102.218471,32.53645],[102.218434,32.536208],[102.218396,32.535965],[102.218379,32.535588],[102.218249,32.535326],[102.218005,32.535062],[102.217814,32.53494],[102.217623,32.534817],[102.217266,32.534717],[102.216987,32.53471],[102.216743,32.53471],[102.2165,32.534711],[102.21634,32.534711],[102.216256,32.534712],[102.216013,32.534712],[102.215614,32.534703],[102.215215,32.534694],[102.214816,32.534686],[102.214383,32.534711],[102.213951,32.534737],[102.213688,32.5348],[102.213425,32.534862],[102.213287,32.534895],[102.213239,32.534906],[102.213172,32.534922],[102.213163,32.534925],[102.213151,32.534927],[102.213123,32.534934],[102.2129,32.534987],[102.212727,32.535028],[102.212638,32.535049],[102.212375,32.535112],[102.212113,32.535174],[102.21185,32.535237],[102.211587,32.535299],[102.211325,32.535361],[102.211063,32.535416],[102.210802,32.535472],[102.21054,32.535527],[102.210279,32.535582],[102.210017,32.535637],[102.209755,32.535692],[102.209494,32.535747],[102.209232,32.535802],[102.209173,32.535814],[102.208971,32.535857],[102.208709,32.535912],[102.208448,32.535967],[102.208291,32.536],[102.208275,32.536004],[102.208186,32.536022],[102.207774,32.53613],[102.20765,32.536163],[102.207552,32.536189],[102.207363,32.536239],[102.206951,32.536347],[102.206559,32.536393],[102.206168,32.53644],[102.205777,32.536486],[102.205771,32.536486],[102.205443,32.536491],[102.205108,32.536495],[102.204873,32.536466],[102.204637,32.536437],[102.204276,32.536406],[102.203859,32.536326],[102.203532,32.536177],[102.203313,32.536054],[102.203126,32.535791],[102.203044,32.535537],[102.202962,32.535283],[102.202879,32.535029],[102.202797,32.534774],[102.202715,32.53452],[102.202633,32.534266],[102.202551,32.534011],[102.202469,32.533757],[102.202387,32.533503],[102.202305,32.533248],[102.202223,32.532994],[102.202141,32.53274],[102.202059,32.532486],[102.201977,32.532231],[102.201895,32.531977],[102.201813,32.531723],[102.201731,32.531468],[102.201648,32.531214],[102.201566,32.53096],[102.201484,32.530706],[102.201402,32.530451],[102.20132,32.530197],[102.201247,32.529978],[102.201173,32.529758],[102.2011,32.529539],[102.201027,32.529319],[102.200953,32.5291],[102.20088,32.52888],[102.200806,32.528661],[102.200733,32.528441],[102.200675,32.528178],[102.200617,32.527915],[102.200559,32.527652],[102.200502,32.527388],[102.200444,32.527125],[102.200386,32.526862],[102.200328,32.526599],[102.20027,32.526335],[102.200253,32.525984],[102.200264,32.525605],[102.200298,32.525419],[102.200359,32.525254],[102.20053,32.525105],[102.200681,32.524974],[102.200689,32.524968],[102.200701,32.524957],[102.200874,32.524808],[102.201046,32.524659],[102.201218,32.524511],[102.20139,32.524362],[102.201563,32.524213],[102.201643,32.524144],[102.201645,32.524143],[102.201735,32.524065],[102.201907,32.523916],[102.201961,32.52387],[102.202079,32.523767],[102.202245,32.523571],[102.202412,32.523374],[102.202578,32.523178],[102.202744,32.522982],[102.202949,32.52268],[102.203069,32.522425],[102.203174,32.522191],[102.203278,32.521957],[102.203345,32.521712],[102.203411,32.521466],[102.203478,32.52122],[102.203545,32.520975],[102.203612,32.520729],[102.203679,32.520483],[102.203745,32.520238],[102.203812,32.519992],[102.203867,32.519552],[102.203922,32.519112],[102.203977,32.518671],[102.204001,32.518481],[102.204001,32.518479],[102.204002,32.518477],[102.204033,32.518231],[102.204031,32.518193],[102.204011,32.517808],[102.203989,32.517385],[102.203967,32.516961],[102.203946,32.516538],[102.203898,32.516278],[102.20385,32.516018],[102.203803,32.515758],[102.203755,32.515498],[102.203666,32.515237],[102.203577,32.514976],[102.20342,32.514643],[102.203318,32.514359],[102.203191,32.513955],[102.203108,32.513694],[102.203025,32.513433],[102.202943,32.513172],[102.20286,32.512911],[102.202851,32.512676],[102.202842,32.512441],[102.202833,32.512206],[102.202824,32.511971],[102.202815,32.511735],[102.202806,32.5115],[102.202797,32.511265],[102.202788,32.51103],[102.202779,32.510795],[102.20277,32.510559],[102.202761,32.510324],[102.202757,32.510228],[102.202752,32.510089],[102.202713,32.509853],[102.202674,32.509616],[102.202634,32.50938],[102.202595,32.509144],[102.202556,32.508907],[102.202517,32.508671],[102.202478,32.508435],[102.202439,32.508198],[102.2024,32.507962],[102.202361,32.507726],[102.202322,32.507489],[102.202282,32.507253],[102.202255,32.506992],[102.202228,32.506731],[102.202201,32.50647],[102.202174,32.506209],[102.202147,32.505948],[102.20212,32.505686],[102.202093,32.505425],[102.202066,32.505164],[102.202039,32.504903],[102.202012,32.504642],[102.201985,32.504381],[102.201958,32.50412],[102.201931,32.503859],[102.201904,32.503598],[102.201877,32.503337],[102.20185,32.503076],[102.201797,32.502674],[102.201744,32.502272],[102.201692,32.50187],[102.201537,32.501514],[102.201376,32.501276],[102.201215,32.501084],[102.201,32.500867],[102.200702,32.500578],[102.200461,32.500219],[102.200418,32.500117],[102.200281,32.499791],[102.200176,32.499577],[102.200072,32.499362],[102.19997,32.499031],[102.199923,32.498765],[102.199876,32.498499],[102.199828,32.498233],[102.199781,32.497968],[102.199731,32.497724],[102.199682,32.49748],[102.199632,32.497237],[102.199582,32.496993],[102.199532,32.496749],[102.199482,32.496506],[102.199387,32.496284],[102.199292,32.496062],[102.199274,32.496021],[102.199197,32.49584],[102.199102,32.495618],[102.199006,32.495396],[102.198989,32.495356],[102.198911,32.495175],[102.198699,32.494863],[102.198535,32.494765],[102.198314,32.49469],[102.198009,32.494685],[102.197618,32.494699],[102.197395,32.494728],[102.197172,32.494758],[102.196907,32.494776],[102.196642,32.494794],[102.196196,32.494807],[102.195751,32.494798],[102.195306,32.494788],[102.195023,32.494782],[102.194862,32.494779],[102.19464,32.494738],[102.194419,32.494697],[102.194032,32.494606],[102.193645,32.494515],[102.193386,32.494419],[102.193127,32.494323],[102.192868,32.494227],[102.192609,32.494131],[102.19235,32.494035],[102.192091,32.493939],[102.191832,32.493843],[102.191572,32.493747],[102.191313,32.493651],[102.191054,32.493555],[102.190795,32.493458],[102.190536,32.493362],[102.190422,32.493317],[102.190407,32.493101],[102.190308,32.49166],[102.190146,32.489163],[102.190196,32.48754],[102.190116,32.484999],[102.190245,32.484007],[102.190247,32.483987],[102.190347,32.483219],[102.190356,32.483147],[102.190431,32.482569],[102.190829,32.48004],[102.191084,32.478285],[102.191362,32.477039],[102.191566,32.475622],[102.191625,32.475014],[102.190869,32.473643],[102.190209,32.473019],[102.190121,32.472689],[102.189816,32.471555],[102.189845,32.470611],[102.189847,32.470541],[102.189853,32.470371],[102.189859,32.468887],[102.189859,32.468882],[102.189841,32.468837],[102.189451,32.467891],[102.189325,32.466805],[102.189001,32.465647],[102.188354,32.464651],[102.187653,32.46406],[102.186502,32.463865],[102.185543,32.463877],[102.184357,32.463512],[102.182871,32.462497],[102.182061,32.461599],[102.181184,32.460259],[102.180516,32.458653],[102.179957,32.457355],[102.178293,32.455659],[102.177609,32.45456],[102.177051,32.453262],[102.177122,32.452248],[102.17725,32.450899],[102.177301,32.450356],[102.177262,32.449069],[102.176963,32.447133],[102.176604,32.445839],[102.176494,32.444245],[102.176729,32.4431],[102.178165,32.440593],[102.178953,32.439629],[102.179582,32.438662],[102.179974,32.437621],[102.180074,32.43698],[102.179828,32.435892],[102.179334,32.435102],[102.179353,32.434493],[102.17904,32.432997],[102.178558,32.431835],[102.177884,32.430398],[102.177654,32.428802],[102.177956,32.428098],[102.17782,32.427317],[102.178134,32.426207],[102.178769,32.42507],[102.179495,32.423529],[102.180289,32.422689],[102.180403,32.422568],[102.181511,32.421577],[102.182488,32.420956],[102.183544,32.420371],[102.184198,32.419877],[102.184373,32.419374],[102.184315,32.418695],[102.183905,32.417738],[102.183051,32.416975],[102.182793,32.416292],[102.182047,32.415903],[102.181391,32.415177],[102.180948,32.414017],[102.180106,32.412881],[102.178906,32.411703],[102.178143,32.41047],[102.177899,32.409269],[102.177831,32.407833],[102.177736,32.403623],[102.177688,32.401566],[102.177022,32.3994],[102.176786,32.397915],[102.176776,32.397853],[102.176769,32.397807],[102.176743,32.397648],[102.17674,32.397624],[102.176606,32.396474],[102.177087,32.395528],[102.177899,32.394769],[102.178099,32.394304],[102.178118,32.394259],[102.178127,32.394237],[102.178067,32.394221],[102.178007,32.394204],[102.177247,32.394002],[102.1769,32.39387],[102.176874,32.39386],[102.176767,32.393819],[102.176719,32.393801],[102.176618,32.393763],[102.176551,32.393737],[102.176434,32.393693],[102.176244,32.393621],[102.176065,32.393549],[102.176002,32.393524],[102.175933,32.393496],[102.175651,32.393383],[102.175632,32.393375],[102.175611,32.393369],[102.175201,32.393203],[102.174777,32.393229],[102.174767,32.393573],[102.174765,32.393624],[102.174763,32.393681],[102.174762,32.393731],[102.174325,32.394187],[102.173881,32.394177],[102.173814,32.394176],[102.173734,32.394174],[102.173727,32.394165],[102.173699,32.394124],[102.173289,32.393519],[102.173214,32.392941],[102.173208,32.39289],[102.173205,32.392866],[102.1732,32.392827],[102.173187,32.392727],[102.173166,32.392559],[102.17316,32.392508],[102.173113,32.392123],[102.173109,32.392091],[102.173102,32.392034],[102.173086,32.3919],[102.172956,32.391882],[102.172826,32.391863],[102.17277,32.391855],[102.172758,32.391853],[102.172497,32.391815],[102.17169,32.391941],[102.170849,32.391778],[102.170823,32.391733],[102.170806,32.391705],[102.170568,32.391306],[102.170609,32.391013],[102.170614,32.390974],[102.170637,32.390813],[102.170642,32.390776],[102.170666,32.3906],[102.170655,32.390583],[102.170641,32.390528],[102.170661,32.390492],[102.170679,32.390479],[102.170687,32.390204],[102.170688,32.390169],[102.1707,32.389803],[102.170631,32.389302],[102.170641,32.389284],[102.170649,32.389249],[102.170643,32.38922],[102.170616,32.389186],[102.170597,32.389047],[102.170133,32.388674],[102.17012,32.388663],[102.170104,32.38866],[102.170087,32.388637],[102.169996,32.388564],[102.169967,32.388471],[102.169955,32.388416],[102.169912,32.388356],[102.169845,32.388303],[102.169816,32.38829],[102.169784,32.388289],[102.169707,32.388312],[102.169688,32.388329],[102.169652,32.388339],[102.16964,32.38834],[102.169601,32.388324],[102.169541,32.388284],[102.169454,32.38823],[102.169358,32.38817],[102.169323,32.388123],[102.169322,32.388089],[102.169369,32.388026],[102.169373,32.388022],[102.169378,32.388018],[102.169383,32.388014],[102.169389,32.388012],[102.169422,32.388],[102.169427,32.387998],[102.169433,32.387997],[102.16944,32.387997],[102.169446,32.387997],[102.169491,32.388002],[102.169525,32.387997],[102.169538,32.387984],[102.169543,32.387957],[102.169489,32.38785],[102.169447,32.387798],[102.169418,32.387779],[102.169411,32.387776],[102.169376,32.387748],[102.169325,32.387735],[102.169262,32.387734],[102.169219,32.387728],[102.169185,32.387711],[102.169162,32.38768],[102.169194,32.387663],[102.169185,32.38761],[102.169195,32.38756],[102.169239,32.387476],[102.169242,32.387471],[102.169289,32.387423],[102.169345,32.387398],[102.169648,32.387353],[102.169878,32.387286],[102.169979,32.387248],[102.169989,32.387242],[102.170015,32.387232],[102.170167,32.387193],[102.170272,32.387137],[102.170298,32.387088],[102.170294,32.387056],[102.17029,32.387052],[102.17026,32.387022],[102.170225,32.387013],[102.170143,32.387018],[102.170072,32.386993],[102.170057,32.386982],[102.170029,32.386963],[102.169999,32.386921],[102.169933,32.386753],[102.169897,32.386712],[102.169867,32.386677],[102.169861,32.386637],[102.169882,32.386604],[102.169927,32.386579],[102.170049,32.386559],[102.170082,32.386548],[102.170127,32.386511],[102.170136,32.386465],[102.170126,32.386438],[102.170088,32.386394],[102.169938,32.386337],[102.169927,32.38633],[102.169856,32.386286],[102.169838,32.386258],[102.16983,32.386195],[102.169857,32.386111],[102.169867,32.386081],[102.169944,32.385946],[102.170015,32.385858],[102.170108,32.385784],[102.170167,32.385569],[102.170209,32.385536],[102.170203,32.3855],[102.170304,32.385444],[102.170333,32.385419],[102.17031,32.385366],[102.170183,32.385245],[102.170178,32.385199],[102.170207,32.385147],[102.170285,32.385077],[102.170356,32.385045],[102.170419,32.385047],[102.170445,32.385062],[102.170474,32.385098],[102.170513,32.385111],[102.170544,32.385112],[102.170576,32.385106],[102.170606,32.385091],[102.170657,32.385033],[102.170657,32.384891],[102.170646,32.384821],[102.170615,32.384752],[102.170517,32.384628],[102.170476,32.384524],[102.170451,32.384503],[102.170284,32.384454],[102.170138,32.384382],[102.170112,32.38436],[102.170101,32.38434],[102.170094,32.384291],[102.170114,32.384232],[102.170167,32.384179],[102.170241,32.384142],[102.170379,32.384108],[102.170453,32.38408],[102.170512,32.384046],[102.170542,32.383997],[102.17057,32.383861],[102.170566,32.383838],[102.17054,32.383806],[102.170477,32.38378],[102.170437,32.383764],[102.170391,32.383721],[102.170312,32.383597],[102.1703,32.383573],[102.170263,32.383499],[102.170254,32.383431],[102.170266,32.383394],[102.170276,32.383384],[102.170305,32.383353],[102.170387,32.383301],[102.17053,32.38324],[102.170601,32.383166],[102.170641,32.383081],[102.170679,32.383003],[102.170783,32.382744],[102.170786,32.38271],[102.17077,32.382669],[102.170709,32.382594],[102.170627,32.382546],[102.170605,32.38254],[102.170571,32.382549],[102.170517,32.382564],[102.170486,32.382573],[102.17044,32.38257],[102.170403,32.382554],[102.170357,32.3825],[102.1703,32.382457],[102.170276,32.382424],[102.170233,32.382311],[102.170224,32.382298],[102.170189,32.382245],[102.170168,32.38223],[102.170129,32.382233],[102.170089,32.382224],[102.170053,32.382187],[102.170029,32.382121],[102.169986,32.382001],[102.16989,32.381849],[102.16989,32.381807],[102.169916,32.381785],[102.169969,32.381775],[102.170082,32.381776],[102.17011,32.38176],[102.170137,32.381729],[102.170151,32.381649],[102.170115,32.381563],[102.170123,32.381548],[102.170155,32.381529],[102.170163,32.381436],[102.170198,32.381417],[102.170226,32.381416],[102.170233,32.381406],[102.170238,32.381368],[102.170219,32.38134],[102.170209,32.381299],[102.17021,32.381261],[102.170223,32.381212],[102.170248,32.381168],[102.170283,32.381133],[102.170324,32.381115],[102.17038,32.38109],[102.17041,32.381035],[102.170411,32.381012],[102.170402,32.380993],[102.170313,32.381027],[102.1703,32.381028],[102.170252,32.381034],[102.170184,32.381022],[102.170136,32.381006],[102.170116,32.380999],[102.170083,32.380965],[102.17008,32.380928],[102.170111,32.380859],[102.170162,32.380814],[102.170226,32.380755],[102.170237,32.380746],[102.170243,32.380706],[102.170228,32.380672],[102.170213,32.380664],[102.170201,32.380664],[102.17019,32.380664],[102.170129,32.380682],[102.170051,32.380736],[102.170031,32.38079],[102.170001,32.380819],[102.169953,32.380838],[102.1699,32.380833],[102.169856,32.380804],[102.169801,32.38073],[102.169573,32.380514],[102.169541,32.380485],[102.169495,32.38043],[102.169498,32.380404],[102.169519,32.380374],[102.169658,32.380312],[102.169811,32.380203],[102.16985,32.380187],[102.16995,32.380176],[102.170017,32.380158],[102.170052,32.380128],[102.170084,32.380069],[102.170071,32.38001],[102.170048,32.379984],[102.170022,32.37997],[102.169991,32.379968],[102.169867,32.380011],[102.169842,32.380008],[102.169812,32.379992],[102.16978,32.379947],[102.169766,32.379849],[102.16978,32.379776],[102.169803,32.379745],[102.169819,32.379736],[102.169856,32.37974],[102.169943,32.37978],[102.16996,32.379769],[102.169959,32.37974],[102.169927,32.379628],[102.169877,32.379541],[102.169876,32.37952],[102.169896,32.379486],[102.169936,32.379464],[102.169967,32.37946],[102.170063,32.379508],[102.170086,32.379494],[102.170108,32.379481],[102.170135,32.379444],[102.170131,32.379421],[102.17007,32.379335],[102.170021,32.379268],[102.170007,32.379205],[102.169968,32.37916],[102.169948,32.379087],[102.169959,32.379055],[102.170025,32.378995],[102.170032,32.378983],[102.170043,32.378964],[102.170037,32.378771],[102.17003,32.378737],[102.170006,32.378733],[102.169923,32.378717],[102.16983,32.378681],[102.169701,32.378599],[102.169569,32.37854],[102.169417,32.378418],[102.169397,32.378371],[102.169415,32.378299],[102.169406,32.378264],[102.169366,32.378216],[102.169267,32.378134],[102.169085,32.377896],[102.169081,32.377878],[102.169089,32.377852],[102.169125,32.377829],[102.169139,32.3778],[102.169133,32.377781],[102.169121,32.377747],[102.169062,32.377678],[102.168867,32.377543],[102.168839,32.377493],[102.16884,32.377462],[102.168878,32.377413],[102.168897,32.377405],[102.168961,32.377401],[102.169013,32.377412],[102.169022,32.377418],[102.169062,32.377442],[102.169078,32.377458],[102.169104,32.377517],[102.169122,32.37754],[102.169204,32.377521],[102.169256,32.377492],[102.16929,32.377458],[102.169309,32.37745],[102.169344,32.377461],[102.169367,32.377481],[102.169384,32.377547],[102.169398,32.377567],[102.169432,32.377562],[102.169476,32.377519],[102.169487,32.377396],[102.169517,32.377365],[102.169554,32.377361],[102.169584,32.377234],[102.169582,32.377135],[102.169595,32.377064],[102.169588,32.377048],[102.169542,32.377018],[102.169533,32.37699],[102.169552,32.376952],[102.16963,32.376884],[102.169643,32.376861],[102.169645,32.376827],[102.169628,32.376779],[102.169601,32.376733],[102.169564,32.37674],[102.169478,32.376734],[102.169433,32.376716],[102.169417,32.376701],[102.169411,32.376683],[102.169481,32.376592],[102.169469,32.376521],[102.169481,32.376482],[102.1695,32.376463],[102.169547,32.376445],[102.169608,32.37645],[102.169641,32.376463],[102.169674,32.376454],[102.169698,32.376419],[102.169706,32.376394],[102.169707,32.376378],[102.16968,32.376327],[102.169689,32.376298],[102.16972,32.376269],[102.169846,32.376197],[102.169828,32.376162],[102.169724,32.376146],[102.169696,32.37613],[102.169658,32.376089],[102.169655,32.376069],[102.169667,32.376042],[102.169731,32.375996],[102.169733,32.37598],[102.169721,32.375955],[102.169675,32.375951],[102.169586,32.375959],[102.169542,32.37595],[102.169503,32.375921],[102.169497,32.375895],[102.169503,32.375863],[102.169532,32.375813],[102.169565,32.375793],[102.169625,32.375792],[102.169772,32.375806],[102.169921,32.375785],[102.169955,32.375757],[102.169956,32.375702],[102.169854,32.375672],[102.1698,32.375635],[102.169758,32.375595],[102.169717,32.375606],[102.169652,32.375662],[102.16963,32.375669],[102.169584,32.375661],[102.169511,32.375609],[102.169506,32.375598],[102.169493,32.375565],[102.169497,32.375535],[102.169524,32.375495],[102.169599,32.375427],[102.169606,32.375396],[102.169599,32.375325],[102.169585,32.375302],[102.169565,32.375289],[102.169513,32.375344],[102.169452,32.375366],[102.169391,32.375347],[102.169348,32.375319],[102.169341,32.375289],[102.169355,32.375259],[102.169486,32.375188],[102.169482,32.375151],[102.169455,32.375089],[102.169419,32.375068],[102.169344,32.375096],[102.169297,32.375159],[102.169256,32.375182],[102.169205,32.375182],[102.169196,32.37518],[102.169121,32.375165],[102.169104,32.375203],[102.169075,32.375271],[102.169071,32.37531],[102.169059,32.37541],[102.169025,32.375441],[102.168996,32.375454],[102.168961,32.375463],[102.168871,32.375464],[102.168844,32.375471],[102.168844,32.375478],[102.16887,32.375496],[102.168879,32.375524],[102.16886,32.37557],[102.168846,32.375582],[102.168803,32.375581],[102.168723,32.375521],[102.168668,32.37546],[102.168653,32.375429],[102.168653,32.375412],[102.168673,32.375396],[102.168711,32.375392],[102.168753,32.375359],[102.168829,32.37521],[102.168866,32.375089],[102.168885,32.375061],[102.168914,32.375041],[102.168949,32.37503],[102.168965,32.375025],[102.168992,32.375016],[102.169014,32.374997],[102.169026,32.374964],[102.169009,32.374825],[102.168987,32.374825],[102.16895,32.374837],[102.168935,32.37485],[102.168904,32.374906],[102.168897,32.374911],[102.168884,32.374919],[102.168843,32.37493],[102.16881,32.374919],[102.168761,32.374876],[102.168681,32.374878],[102.168637,32.374857],[102.168615,32.374837],[102.168604,32.374778],[102.168621,32.37474],[102.168641,32.374718],[102.168654,32.374709],[102.168705,32.374678],[102.168812,32.374645],[102.168822,32.374641],[102.168832,32.374631],[102.168835,32.374604],[102.168821,32.374578],[102.168816,32.374569],[102.168783,32.374539],[102.168764,32.374531],[102.168663,32.374557],[102.168618,32.374552],[102.168539,32.374492],[102.168512,32.374461],[102.168458,32.374334],[102.16839,32.374252],[102.16838,32.374212],[102.168397,32.374181],[102.168432,32.374166],[102.168461,32.374166],[102.168516,32.374192],[102.168546,32.374193],[102.168555,32.374178],[102.168551,32.374145],[102.168525,32.374086],[102.168496,32.374076],[102.168456,32.37408],[102.168365,32.37413],[102.168253,32.374179],[102.168245,32.374181],[102.168218,32.374189],[102.168154,32.374188],[102.168037,32.374152],[102.167963,32.374101],[102.167917,32.374041],[102.167903,32.373986],[102.167914,32.373875],[102.167914,32.373867],[102.167943,32.373783],[102.168012,32.373713],[102.16814,32.373634],[102.168688,32.373499],[102.168792,32.373495],[102.168914,32.373512],[102.168927,32.373507],[102.168953,32.373479],[102.16897,32.373441],[102.168973,32.373364],[102.168894,32.37321],[102.16888,32.373168],[102.168886,32.373145],[102.168963,32.373085],[102.16928,32.372897],[102.1693,32.372875],[102.169316,32.372826],[102.169308,32.372778],[102.169163,32.372715],[102.169156,32.37271],[102.169134,32.372691],[102.169122,32.372671],[102.169106,32.372597],[102.169107,32.372562],[102.169111,32.37248],[102.169065,32.372477],[102.169044,32.372487],[102.169023,32.372497],[102.169001,32.372555],[102.168971,32.372595],[102.168924,32.37263],[102.16885,32.372657],[102.168799,32.372651],[102.168759,32.372618],[102.168746,32.372591],[102.168743,32.372533],[102.16876,32.372475],[102.168781,32.372437],[102.168815,32.372373],[102.168864,32.372323],[102.16898,32.372278],[102.169223,32.372225],[102.169236,32.372212],[102.169231,32.372176],[102.169167,32.372149],[102.169142,32.372129],[102.169121,32.372068],[102.169128,32.372053],[102.169145,32.372039],[102.169276,32.371999],[102.169273,32.371982],[102.16925,32.37195],[102.169142,32.371925],[102.169115,32.371908],[102.169077,32.371883],[102.16905,32.371847],[102.16904,32.371789],[102.169064,32.371659],[102.169127,32.371533],[102.169184,32.37148],[102.169268,32.371455],[102.169289,32.371398],[102.169288,32.371316],[102.169271,32.371268],[102.169229,32.371224],[102.169115,32.371142],[102.169099,32.371108],[102.169103,32.371085],[102.169126,32.371047],[102.1692,32.371021],[102.169204,32.370976],[102.169193,32.370869],[102.169209,32.370821],[102.169226,32.370803],[102.169248,32.370797],[102.169286,32.370803],[102.169328,32.370822],[102.16934,32.370827],[102.169383,32.370867],[102.16947,32.370981],[102.169495,32.370997],[102.169705,32.370998],[102.169759,32.37098],[102.169799,32.370951],[102.169801,32.370894],[102.169781,32.37086],[102.169626,32.370755],[102.169604,32.370733],[102.16956,32.37069],[102.169533,32.37063],[102.169517,32.370542],[102.169484,32.370471],[102.16948,32.370425],[102.169507,32.370358],[102.169547,32.370323],[102.169611,32.370292],[102.169715,32.37028],[102.16974,32.370263],[102.169752,32.370221],[102.169658,32.370152],[102.169651,32.370131],[102.169656,32.370114],[102.169709,32.370051],[102.1698,32.369988],[102.169856,32.369935],[102.169884,32.369886],[102.169914,32.369784],[102.169895,32.369735],[102.169858,32.369687],[102.169718,32.369591],[102.169694,32.369575],[102.169625,32.369514],[102.169594,32.369468],[102.169589,32.369443],[102.169595,32.369384],[102.169619,32.369298],[102.169664,32.36919],[102.169682,32.369114],[102.169684,32.36909],[102.169685,32.369077],[102.169687,32.369057],[102.16969,32.369029],[102.169684,32.368983],[102.169668,32.368941],[102.16961,32.368871],[102.1695,32.368737],[102.169472,32.368669],[102.169462,32.368612],[102.169462,32.368533],[102.169498,32.368414],[102.169514,32.368363],[102.169512,32.368345],[102.169507,32.368289],[102.169487,32.368279],[102.169469,32.368277],[102.169427,32.368274],[102.169356,32.368282],[102.169313,32.368295],[102.169185,32.368357],[102.169178,32.368363],[102.169155,32.368383],[102.169112,32.368441],[102.169072,32.368451],[102.169007,32.368433],[102.168944,32.368372],[102.168881,32.368338],[102.168831,32.368328],[102.168739,32.368364],[102.168687,32.36837],[102.168625,32.368368],[102.168577,32.368347],[102.168541,32.36829],[102.168529,32.368238],[102.168535,32.368194],[102.168552,32.36817],[102.168616,32.368117],[102.168635,32.368045],[102.168637,32.367966],[102.168597,32.36788],[102.168603,32.367816],[102.168652,32.367733],[102.168738,32.367663],[102.168828,32.367566],[102.168907,32.367455],[102.168976,32.367326],[102.169049,32.367237],[102.16907,32.367174],[102.169066,32.367124],[102.169052,32.367089],[102.169023,32.36706],[102.168976,32.367031],[102.168878,32.366994],[102.168829,32.366988],[102.168738,32.366995],[102.168663,32.367001],[102.168645,32.367002],[102.168628,32.366998],[102.168547,32.366978],[102.168504,32.366954],[102.168482,32.366907],[102.168486,32.366788],[102.168464,32.366718],[102.168429,32.3666],[102.168404,32.366558],[102.168381,32.366519],[102.168354,32.36649],[102.168316,32.366464],[102.16831,32.36646],[102.168223,32.366436],[102.168128,32.366436],[102.168047,32.366471],[102.167941,32.366518],[102.1678,32.366549],[102.167746,32.366553],[102.167653,32.36654],[102.167592,32.366519],[102.167567,32.3665],[102.167545,32.366463],[102.167533,32.366374],[102.167542,32.366341],[102.16758,32.366279],[102.167614,32.366242],[102.167694,32.366179],[102.167739,32.366152],[102.167853,32.36611],[102.167907,32.366011],[102.167918,32.365934],[102.167908,32.365912],[102.16788,32.365885],[102.16786,32.365875],[102.167841,32.365877],[102.167735,32.365924],[102.167681,32.365928],[102.167646,32.365909],[102.167593,32.365852],[102.167577,32.365817],[102.167573,32.365776],[102.167581,32.365729],[102.167606,32.36568],[102.167653,32.365625],[102.167709,32.365578],[102.167769,32.365546],[102.167908,32.365525],[102.16797,32.365495],[102.167994,32.365468],[102.168009,32.365413],[102.16801,32.36534],[102.167986,32.365265],[102.167947,32.365194],[102.167919,32.365161],[102.16787,32.365104],[102.167772,32.365021],[102.167707,32.364984],[102.167658,32.364969],[102.167472,32.364956],[102.16735,32.364963],[102.167209,32.364984],[102.167163,32.364995],[102.166876,32.36506],[102.166765,32.365072],[102.166667,32.365059],[102.166609,32.365039],[102.166578,32.365003],[102.166573,32.364939],[102.166597,32.364869],[102.166648,32.364813],[102.166681,32.364791],[102.166729,32.364779],[102.166822,32.36478],[102.166903,32.364768],[102.16695,32.364749],[102.166962,32.364724],[102.166964,32.364696],[102.166967,32.364621],[102.166957,32.364539],[102.166782,32.364058],[102.166783,32.364],[102.166802,32.363901],[102.166824,32.363859],[102.166873,32.36383],[102.167037,32.363758],[102.167562,32.363567],[102.167807,32.363446],[102.167923,32.363402],[102.168021,32.363383],[102.168041,32.363372],[102.168045,32.36336],[102.168038,32.363307],[102.168025,32.363283],[102.168007,32.363276],[102.167879,32.363274],[102.167844,32.363266],[102.167823,32.363252],[102.167804,32.363226],[102.167783,32.363167],[102.167797,32.363124],[102.167846,32.363088],[102.167901,32.363064],[102.168006,32.363051],[102.168024,32.363037],[102.168085,32.362884],[102.168087,32.362825],[102.168063,32.362756],[102.168041,32.362751],[102.167971,32.362762],[102.167942,32.36278],[102.167862,32.362862],[102.16785,32.362873],[102.167823,32.362885],[102.16779,32.362878],[102.16775,32.362837],[102.167732,32.3628],[102.16774,32.362479],[102.167729,32.362436],[102.167687,32.362384],[102.167632,32.362341],[102.167529,32.362277],[102.167496,32.362266],[102.167412,32.36227],[102.167294,32.362299],[102.167195,32.362308],[102.167155,32.362305],[102.167095,32.362286],[102.167039,32.362247],[102.167,32.362201],[102.166941,32.362036],[102.166929,32.361939],[102.166928,32.361931],[102.166935,32.361833],[102.166951,32.361774],[102.167044,32.361546],[102.16708,32.361486],[102.167123,32.361436],[102.167177,32.361399],[102.167272,32.361357],[102.167298,32.361326],[102.167317,32.361267],[102.167291,32.361079],[102.167297,32.361049],[102.167326,32.361023],[102.167403,32.360995],[102.167426,32.360977],[102.16747,32.360919],[102.167508,32.360841],[102.167496,32.360826],[102.167385,32.360805],[102.167338,32.360762],[102.16733,32.360748],[102.167287,32.360669],[102.167272,32.360624],[102.167267,32.360568],[102.167292,32.360491],[102.167299,32.360485],[102.167309,32.360476],[102.16735,32.360467],[102.167423,32.360475],[102.167517,32.360499],[102.167602,32.360483],[102.167647,32.360453],[102.167662,32.360366],[102.167691,32.360307],[102.167718,32.360282],[102.16777,32.360267],[102.16792,32.360263],[102.168093,32.360207],[102.168135,32.3602],[102.168202,32.360208],[102.168329,32.360274],[102.168493,32.360332],[102.16851,32.360305],[102.168508,32.360247],[102.168461,32.360113],[102.168474,32.360055],[102.168509,32.359999],[102.168642,32.359892],[102.168736,32.359758],[102.168799,32.359669],[102.168822,32.359649],[102.168864,32.359632],[102.168892,32.359632],[102.168936,32.359644],[102.168987,32.359679],[102.168999,32.359727],[102.16904,32.359892],[102.169061,32.359925],[102.169095,32.359944],[102.169189,32.359971],[102.169243,32.359977],[102.169269,32.359971],[102.169307,32.359889],[102.169367,32.359825],[102.169426,32.359793],[102.169503,32.359791],[102.169536,32.359783],[102.169587,32.359745],[102.169621,32.359695],[102.169622,32.359654],[102.169549,32.359438],[102.169538,32.359405],[102.169516,32.359272],[102.169517,32.359237],[102.169537,32.359174],[102.169568,32.359126],[102.169593,32.359109],[102.169642,32.359099],[102.169753,32.35911],[102.169807,32.359126],[102.169831,32.359143],[102.169857,32.359184],[102.169867,32.359225],[102.169851,32.359377],[102.169857,32.359439],[102.169873,32.359472],[102.169894,32.359489],[102.169942,32.359512],[102.169963,32.35951],[102.170001,32.359484],[102.170051,32.359416],[102.170156,32.359349],[102.170223,32.359327],[102.170374,32.359304],[102.170404,32.359294],[102.170457,32.359262],[102.170478,32.359236],[102.170481,32.359192],[102.170472,32.359122],[102.170438,32.359024],[102.170367,32.358887],[102.170252,32.358731],[102.17023,32.358661],[102.170225,32.358642],[102.170224,32.358563],[102.170244,32.358498],[102.170265,32.358475],[102.170355,32.358375],[102.170366,32.358344],[102.170345,32.358277],[102.170256,32.358148],[102.170244,32.358132],[102.170225,32.358092],[102.170216,32.357994],[102.170221,32.35798],[102.17024,32.35793],[102.170426,32.357646],[102.170476,32.357598],[102.170529,32.357569],[102.170606,32.35755],[102.170676,32.357546],[102.170732,32.357562],[102.170817,32.357611],[102.170892,32.357643],[102.170912,32.357645],[102.170934,32.357632],[102.170972,32.357586],[102.170984,32.357553],[102.170997,32.357263],[102.171007,32.357212],[102.171047,32.357128],[102.171077,32.357091],[102.171125,32.357076],[102.171192,32.357081],[102.171309,32.357146],[102.171434,32.35719],[102.171486,32.357186],[102.171547,32.357157],[102.171565,32.357122],[102.171563,32.357065],[102.171502,32.356999],[102.171426,32.356954],[102.171401,32.356928],[102.171391,32.356879],[102.171401,32.35683],[102.17142,32.356808],[102.171479,32.35678],[102.17181,32.356693],[102.171849,32.356651],[102.171866,32.356598],[102.171863,32.356548],[102.171841,32.356496],[102.1718,32.356454],[102.171766,32.35645],[102.171642,32.356474],[102.17158,32.35647],[102.171552,32.356468],[102.17146,32.356446],[102.17143,32.356428],[102.171407,32.356401],[102.171391,32.35637],[102.171368,32.356279],[102.171364,32.356163],[102.171326,32.355972],[102.171329,32.355919],[102.171379,32.355773],[102.171372,32.355711],[102.171346,32.355649],[102.171305,32.355599],[102.171261,32.355566],[102.171176,32.355528],[102.171165,32.355509],[102.171164,32.355483],[102.171176,32.355448],[102.171199,32.355432],[102.171342,32.355415],[102.171439,32.355373],[102.171464,32.355352],[102.171473,32.355317],[102.171463,32.355266],[102.171384,32.355181],[102.171353,32.355127],[102.17135,32.355109],[102.171365,32.355086],[102.171395,32.35507],[102.171457,32.355066],[102.17149,32.355063],[102.171511,32.35505],[102.171556,32.354979],[102.171577,32.354915],[102.171573,32.354877],[102.171554,32.354859],[102.171395,32.354777],[102.171339,32.354748],[102.171297,32.354708],[102.171285,32.354639],[102.171312,32.354543],[102.171345,32.354493],[102.171355,32.354479],[102.171411,32.354429],[102.171537,32.354369],[102.171707,32.35433],[102.171785,32.354281],[102.171808,32.354257],[102.171823,32.354223],[102.171821,32.354155],[102.171773,32.354048],[102.171752,32.353948],[102.171753,32.353903],[102.171789,32.353806],[102.171789,32.353776],[102.171707,32.353686],[102.171519,32.353383],[102.1715,32.353331],[102.171509,32.353286],[102.171547,32.353236],[102.171572,32.353229],[102.171601,32.353232],[102.171727,32.353282],[102.171848,32.353345],[102.17193,32.353368],[102.172115,32.353399],[102.172148,32.353398],[102.172199,32.353378],[102.17223,32.353346],[102.172255,32.35327],[102.172272,32.35276],[102.172239,32.352665],[102.172203,32.352624],[102.171834,32.352528],[102.171722,32.352481],[102.171665,32.352448],[102.171626,32.352404],[102.171615,32.352391],[102.171592,32.352337],[102.171589,32.352302],[102.171604,32.35227],[102.171625,32.352249],[102.171706,32.352203],[102.171744,32.352198],[102.171882,32.352205],[102.17191,32.352192],[102.171934,32.352105],[102.171937,32.351919],[102.171954,32.351843],[102.171988,32.351756],[102.172034,32.351672],[102.17206,32.351623],[102.17211,32.351561],[102.172188,32.351504],[102.17226,32.351464],[102.17229,32.351448],[102.172431,32.351391],[102.17254,32.351329],[102.172582,32.351279],[102.172616,32.35121],[102.172634,32.351145],[102.172636,32.351095],[102.172618,32.351045],[102.172566,32.350973],[102.172475,32.350905],[102.172248,32.350737],[102.172169,32.350662],[102.172068,32.350508],[102.171938,32.350361],[102.171902,32.350277],[102.17189,32.350183],[102.171896,32.35013],[102.171907,32.350106],[102.171938,32.350074],[102.172128,32.349964],[102.172167,32.349904],[102.172178,32.349843],[102.172164,32.349765],[102.172113,32.349665],[102.172055,32.349517],[102.171983,32.349425],[102.171968,32.349411],[102.171929,32.349373],[102.171838,32.349308],[102.171786,32.349255],[102.171718,32.349139],[102.171672,32.349019],[102.171662,32.348993],[102.171618,32.348796],[102.17164,32.348765],[102.17171,32.348738],[102.171724,32.348696],[102.171718,32.348673],[102.17165,32.348581],[102.17164,32.348554],[102.171652,32.348522],[102.171697,32.348471],[102.171746,32.348432],[102.171756,32.348413],[102.171764,32.348254],[102.171758,32.348217],[102.17174,32.348176],[102.171713,32.348155],[102.171633,32.348157],[102.171541,32.348193],[102.171371,32.34826],[102.171262,32.348319],[102.171203,32.348334],[102.171121,32.34832],[102.171066,32.348296],[102.171014,32.348252],[102.170998,32.348207],[102.170996,32.34811],[102.171015,32.34806],[102.17103,32.348018],[102.171363,32.34756],[102.171437,32.34743],[102.171526,32.347229],[102.171562,32.347183],[102.171661,32.347055],[102.171671,32.347008],[102.171646,32.346928],[102.171613,32.346894],[102.171548,32.346866],[102.171455,32.346848],[102.171363,32.346853],[102.171288,32.34688],[102.171222,32.346903],[102.171085,32.346999],[102.170982,32.347058],[102.170881,32.347086],[102.170826,32.347085],[102.170787,32.347067],[102.170749,32.347024],[102.170727,32.346989],[102.170699,32.346909],[102.170662,32.346868],[102.170633,32.34686],[102.170465,32.346855],[102.170423,32.346844],[102.170398,32.346828],[102.170357,32.346782],[102.170302,32.346678],[102.170283,32.346606],[102.170278,32.346537],[102.170292,32.346408],[102.170297,32.346357],[102.170314,32.346288],[102.170335,32.34625],[102.170419,32.346185],[102.170425,32.346144],[102.170417,32.346112],[102.170402,32.346079],[102.170368,32.346048],[102.170262,32.345999],[102.170219,32.345971],[102.170143,32.345896],[102.170133,32.345886],[102.170101,32.345842],[102.170068,32.345763],[102.170054,32.345677],[102.169977,32.345398],[102.169974,32.345376],[102.169952,32.345233],[102.169951,32.3451],[102.169938,32.345017],[102.169903,32.344971],[102.169821,32.344921],[102.169747,32.344857],[102.169729,32.344829],[102.169724,32.344802],[102.169742,32.344742],[102.169763,32.344716],[102.169782,32.344693],[102.169965,32.344557],[102.170078,32.344489],[102.170104,32.344464],[102.170152,32.344396],[102.17025,32.344219],[102.170274,32.344147],[102.170278,32.3441],[102.170252,32.34373],[102.170254,32.343703],[102.170259,32.343651],[102.170253,32.343622],[102.170216,32.343578],[102.170178,32.343584],[102.170085,32.343598],[102.170012,32.343584],[102.169974,32.343566],[102.16993,32.343501],[102.16991,32.343487],[102.169867,32.343473],[102.169801,32.34347],[102.169767,32.343456],[102.16974,32.343422],[102.169723,32.343359],[102.169762,32.343222],[102.169716,32.343183],[102.169693,32.34315],[102.169675,32.343113],[102.169662,32.343027],[102.169633,32.343007],[102.169526,32.342982],[102.169483,32.342965],[102.169382,32.342887],[102.16933,32.3428],[102.16923,32.342777],[102.169168,32.342739],[102.169148,32.342717],[102.16913,32.342682],[102.169147,32.342589],[102.169129,32.342545],[102.16912,32.342534],[102.16909,32.342501],[102.169071,32.34248],[102.168939,32.342378],[102.168918,32.342344],[102.168913,32.342304],[102.168926,32.342287],[102.168948,32.342282],[102.169023,32.342288],[102.169045,32.342282],[102.169111,32.342241],[102.169143,32.34219],[102.169152,32.342147],[102.169148,32.341922],[102.169157,32.341827],[102.169187,32.341653],[102.169249,32.341475],[102.169253,32.34139],[102.169245,32.34133],[102.16922,32.341248],[102.169198,32.341218],[102.169086,32.341122],[102.16905,32.341032],[102.169046,32.340959],[102.169058,32.340888],[102.169085,32.340813],[102.169122,32.340771],[102.169123,32.340734],[102.169081,32.340707],[102.168968,32.340699],[102.168851,32.34066],[102.168829,32.34064],[102.16881,32.340624],[102.168806,32.340588],[102.16882,32.340556],[102.168826,32.340541],[102.168871,32.340522],[102.169106,32.340527],[102.169201,32.340517],[102.169203,32.34049],[102.169128,32.340437],[102.169105,32.3404],[102.16909,32.340348],[102.169082,32.340246],[102.169101,32.340141],[102.169179,32.340024],[102.169182,32.340009],[102.169175,32.339999],[102.169129,32.339989],[102.169091,32.339965],[102.169067,32.339937],[102.169059,32.339899],[102.169073,32.339858],[102.169152,32.339809],[102.169191,32.33975],[102.169265,32.339678],[102.169292,32.339627],[102.169296,32.339581],[102.169289,32.339556],[102.169265,32.339532],[102.169148,32.339476],[102.169033,32.339436],[102.169,32.339417],[102.168975,32.339393],[102.168939,32.339325],[102.168927,32.339263],[102.168926,32.339189],[102.168917,32.33916],[102.168877,32.339098],[102.168871,32.339067],[102.16888,32.339004],[102.168917,32.338955],[102.168924,32.338927],[102.168911,32.338904],[102.168854,32.33887],[102.168845,32.338818],[102.16885,32.338779],[102.168877,32.338701],[102.168967,32.338549],[102.168919,32.338527],[102.168826,32.338501],[102.168681,32.33847],[102.168657,32.338453],[102.168625,32.338407],[102.168628,32.33835],[102.168652,32.338305],[102.16863,32.338193],[102.168636,32.338108],[102.168662,32.338085],[102.168706,32.338073],[102.168724,32.338064],[102.16871,32.338046],[102.168695,32.338026],[102.168656,32.337908],[102.168648,32.337886],[102.168599,32.337739],[102.168537,32.33769],[102.168557,32.337613],[102.168535,32.337548],[102.168539,32.337535],[102.168541,32.337528],[102.168541,32.337492],[102.168542,32.337441],[102.168524,32.33739],[102.168534,32.337302],[102.16851,32.337278],[102.16848,32.337268],[102.168447,32.337257],[102.168446,32.33725],[102.168437,32.33722],[102.168431,32.337185],[102.168319,32.336685],[102.167762,32.3361],[102.167753,32.336091],[102.167747,32.336085],[102.167743,32.336079],[102.167643,32.335987],[102.167638,32.335982],[102.167621,32.335966],[102.167556,32.335904],[102.167511,32.335862],[102.167202,32.335569],[102.16714,32.335508],[102.167098,32.335466],[102.167094,32.335462],[102.167046,32.335415],[102.167022,32.335392],[102.166812,32.335183],[102.166782,32.335155],[102.166736,32.335109],[102.166732,32.335105],[102.166719,32.335091],[102.166714,32.335083],[102.166574,32.334914],[102.166537,32.334869],[102.166422,32.334808],[102.166336,32.334723],[102.166258,32.334664],[102.166216,32.334649],[102.166071,32.334624],[102.166032,32.334606],[102.166016,32.334589],[102.165978,32.334479],[102.165947,32.334241],[102.16591,32.334055],[102.165879,32.333994],[102.165787,32.333925],[102.165776,32.333895],[102.165778,32.333851],[102.165755,32.333809],[102.165716,32.333792],[102.165603,32.333798],[102.165537,32.333789],[102.165478,32.333762],[102.165421,32.333701],[102.165355,32.333563],[102.165327,32.333515],[102.165265,32.333494],[102.165103,32.333333],[102.164966,32.333262],[102.164921,32.333151],[102.164927,32.33305],[102.165002,32.332933],[102.164698,32.332057],[102.164263,32.331119],[102.1638,32.330034],[102.163611,32.32884],[102.163562,32.327495],[102.163733,32.326386],[102.163901,32.325966],[102.163923,32.325912],[102.164095,32.325494],[102.164139,32.32538]]]]},"properties":{"cp":[102.26744142868846,32.352994695555495],"code":"513233202","name":"江茸乡","level":"street","center":[102.26744142868846,32.352994695555495],"fullCode":"513233202000","fullName":"四川省阿坝藏族羌族自治州红原县江茸乡","acreageMu":770863.29,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.412,32.3022]}},{"id":"513233203","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[101.851556,32.335369],[101.851603,32.335224],[101.851669,32.335022],[101.851663,32.334903],[101.851614,32.334563],[101.851521,32.334334],[101.851478,32.334227],[101.851405,32.333878],[101.851332,32.333528],[101.851259,32.333178],[101.851185,32.332829],[101.851144,32.33246],[101.851457,32.332486],[101.85148,32.332488],[101.85177,32.332511],[101.852084,32.332537],[101.852316,32.332555],[101.852548,32.332573],[101.852977,32.332573],[101.852993,32.332573],[101.853317,32.332573],[101.853356,32.332573],[101.853407,32.332573],[101.85378,32.332564],[101.854063,32.332557],[101.854153,32.332555],[101.854402,32.332533],[101.854651,32.33251],[101.854901,32.332488],[101.85515,32.332465],[101.855547,32.332423],[101.855795,32.332349],[101.856043,32.332276],[101.856262,32.332211],[101.856481,32.332146],[101.856744,32.332105],[101.857042,32.332009],[101.857208,32.331896],[101.857287,32.331765],[101.857315,32.331718],[101.857565,32.331498],[101.857836,32.331284],[101.858107,32.331069],[101.858386,32.330829],[101.858666,32.330588],[101.858936,32.330341],[101.859207,32.330094],[101.859549,32.329817],[101.859891,32.329541],[101.860097,32.329273],[101.860304,32.329005],[101.86051,32.328738],[101.860703,32.328393],[101.860896,32.328048],[101.861055,32.327724],[101.861214,32.327401],[101.861372,32.327078],[101.861485,32.326798],[101.861497,32.326477],[101.861462,32.326168],[101.861446,32.32603],[101.861427,32.325859],[101.861392,32.32555],[101.861383,32.325361],[101.861373,32.325173],[101.861355,32.324797],[101.861307,32.324438],[101.861258,32.324079],[101.861208,32.323706],[101.861166,32.323448],[101.861125,32.323191],[101.861091,32.32298],[101.861069,32.322844],[101.861069,32.322552],[101.861069,32.32226],[101.861069,32.322238],[101.861065,32.321903],[101.861061,32.321546],[101.861057,32.321189],[101.861035,32.321012],[101.861021,32.320906],[101.860986,32.320624],[101.860983,32.320614],[101.860902,32.320314],[101.860819,32.320088],[101.860575,32.319714],[101.860361,32.319345],[101.860266,32.319035],[101.860135,32.318637],[101.86007,32.318304],[101.860082,32.318054],[101.860195,32.31763],[101.86023,32.317501],[101.860244,32.317407],[101.86029,32.317102],[101.860284,32.316828],[101.860224,32.316537],[101.860135,32.316287],[101.860129,32.31628],[101.859915,32.316049],[101.859713,32.315859],[101.85951,32.315668],[101.859225,32.315484],[101.858939,32.3153],[101.858701,32.314993],[101.858463,32.314687],[101.858324,32.314452],[101.858184,32.314217],[101.857964,32.313842],[101.857809,32.313711],[101.857601,32.313574],[101.857339,32.313271],[101.857317,32.313226],[101.857119,32.312825],[101.856979,32.312498],[101.856839,32.312171],[101.856756,32.311974],[101.856494,32.311742],[101.856218,32.311484],[101.855941,32.311225],[101.855674,32.310993],[101.855561,32.310796],[101.855495,32.310517],[101.85542,32.31019],[101.855345,32.309862],[101.855233,32.309503],[101.855175,32.309208],[101.855117,32.308913],[101.855112,32.30887],[101.855072,32.308494],[101.855026,32.308075],[101.854981,32.307656],[101.854975,32.307599],[101.855007,32.30722],[101.855059,32.306797],[101.855111,32.306373],[101.855144,32.306097],[101.855186,32.305734],[101.855187,32.305722],[101.855227,32.305371],[101.855227,32.30508],[101.855323,32.304788],[101.855388,32.304503],[101.855394,32.304162],[101.8554,32.303821],[101.855406,32.30348],[101.855477,32.303182],[101.855566,32.303033],[101.855627,32.303011],[101.8559,32.302909],[101.85617,32.302888],[101.856441,32.302867],[101.856784,32.302861],[101.857127,32.302855],[101.85747,32.302849],[101.857823,32.302903],[101.858176,32.302956],[101.858529,32.30301],[101.858904,32.303041],[101.859278,32.303072],[101.859653,32.303103],[101.860028,32.303135],[101.860299,32.303152],[101.860569,32.30317],[101.860831,32.30317],[101.861128,32.303111],[101.861541,32.303012],[101.861953,32.302913],[101.862366,32.302813],[101.862586,32.302715],[101.862806,32.302617],[101.863171,32.302379],[101.863181,32.302373],[101.863567,32.302189],[101.863879,32.301945],[101.863936,32.3019],[101.86419,32.301701],[101.864501,32.301457],[101.864739,32.301222],[101.864977,32.300987],[101.865156,32.300821],[101.865215,32.30066],[101.865346,32.300505],[101.865501,32.30038],[101.865685,32.300226],[101.865865,32.300075],[101.86587,32.300071],[101.866045,32.299848],[101.866221,32.299625],[101.86626,32.299547],[101.866362,32.299345],[101.866464,32.299143],[101.866726,32.298863],[101.866905,32.298727],[101.866952,32.298691],[101.867211,32.29853],[101.86747,32.29837],[101.867689,32.298179],[101.867696,32.298173],[101.867868,32.297953],[101.868154,32.297858],[101.868456,32.29773],[101.868758,32.297601],[101.868868,32.297555],[101.869103,32.297498],[101.869338,32.297442],[101.869599,32.297454],[101.869879,32.297507],[101.870254,32.297644],[101.870426,32.297757],[101.870605,32.297888],[101.870878,32.298025],[101.871194,32.298221],[101.871509,32.298417],[101.871765,32.29862],[101.872014,32.298727],[101.872181,32.298858],[101.872294,32.299],[101.872341,32.299096],[101.872354,32.299123],[101.87252,32.299458],[101.872609,32.299643],[101.872764,32.299768],[101.872919,32.299845],[101.873145,32.299994],[101.873341,32.300363],[101.873466,32.300654],[101.873573,32.300785],[101.873674,32.300838],[101.874019,32.301011],[101.874227,32.301124],[101.87437,32.301279],[101.874447,32.301421],[101.874685,32.301552],[101.874914,32.301712],[101.875138,32.301868],[101.875328,32.302028],[101.875447,32.302159],[101.875548,32.30232],[101.875715,32.302534],[101.875881,32.302629],[101.876066,32.302712],[101.876244,32.302867],[101.876345,32.303004],[101.876524,32.303325],[101.876708,32.30345],[101.877047,32.303718],[101.877246,32.303881],[101.877446,32.304045],[101.877719,32.304176],[101.877957,32.304229],[101.878368,32.304271],[101.878689,32.304425],[101.878915,32.304574],[101.879073,32.304833],[101.87923,32.305092],[101.879395,32.305349],[101.879559,32.305607],[101.879724,32.305865],[101.879867,32.306064],[101.88001,32.306263],[101.880064,32.306574],[101.880119,32.306884],[101.880173,32.307194],[101.880364,32.307514],[101.880493,32.307588],[101.880593,32.307747],[101.880879,32.307927],[101.881165,32.308107],[101.881384,32.308246],[101.881604,32.308385],[101.881823,32.308525],[101.882043,32.308664],[101.882262,32.308803],[101.882482,32.308942],[101.882701,32.309081],[101.882921,32.309221],[101.883085,32.309299],[101.883225,32.309366],[101.883529,32.309512],[101.883913,32.309621],[101.884296,32.309731],[101.884638,32.309791],[101.884979,32.309851],[101.885379,32.309842],[101.885778,32.309833],[101.886178,32.309824],[101.886615,32.309735],[101.887052,32.309645],[101.887489,32.309556],[101.887845,32.309464],[101.888211,32.309441],[101.888577,32.309419],[101.889005,32.309352],[101.889374,32.309256],[101.889743,32.30916],[101.890111,32.309064],[101.89048,32.308968],[101.890861,32.30873],[101.891042,32.308663],[101.891185,32.308602],[101.891318,32.308525],[101.891508,32.308383],[101.891675,32.308283],[101.891875,32.308187],[101.892189,32.307997],[101.892431,32.307802],[101.892601,32.307547],[101.892641,32.307488],[101.892769,32.307298],[101.892898,32.307107],[101.893162,32.30681],[101.893426,32.306512],[101.893659,32.306174],[101.89384,32.305951],[101.894064,32.305639],[101.894287,32.305327],[101.894414,32.305132],[101.89454,32.304937],[101.894706,32.304782],[101.894873,32.304628],[101.895096,32.304518],[101.895254,32.30438],[101.895501,32.304119],[101.895748,32.303857],[101.895915,32.303747],[101.89604,32.303692],[101.896077,32.303676],[101.896235,32.303621],[101.89631,32.303595],[101.896472,32.303557],[101.896605,32.303481],[101.896753,32.303338],[101.896848,32.303176],[101.897019,32.302886],[101.897233,32.302624],[101.89724,32.302616],[101.897424,32.302408],[101.897607,32.302199],[101.897652,32.302148],[101.897859,32.301972],[101.898066,32.301796],[101.898223,32.301382],[101.898223,32.301342],[101.898223,32.301101],[101.898214,32.30084],[101.898128,32.300497],[101.898102,32.300327],[101.898071,32.300121],[101.898009,32.299786],[101.897947,32.29945],[101.897947,32.29916],[101.897947,32.299081],[101.897947,32.299012],[101.897999,32.298941],[101.898095,32.298912],[101.89829,32.298974],[101.898499,32.299103],[101.898786,32.299369],[101.899073,32.299636],[101.89936,32.299902],[101.899508,32.299945],[101.899751,32.299945],[101.900041,32.299938],[101.900331,32.299931],[101.900693,32.299893],[101.900883,32.299821],[101.901121,32.299688],[101.901395,32.299476],[101.901478,32.299412],[101.901759,32.299146],[101.902073,32.298931],[101.902335,32.298827],[101.902516,32.298717],[101.902739,32.298413],[101.902925,32.298256],[101.90313,32.297975],[101.903201,32.297813],[101.903268,32.297632],[101.903344,32.297551],[101.903501,32.29747],[101.903701,32.297351],[101.903858,32.29718],[101.903929,32.296956],[101.904062,32.296628],[101.904191,32.296414],[101.904338,32.296304],[101.904552,32.296205],[101.904857,32.296086],[101.905069,32.296005],[101.905281,32.295924],[101.905499,32.295819],[101.90578,32.295629],[101.905946,32.295543],[101.906185,32.295419],[101.90648,32.295317],[101.906775,32.295215],[101.907025,32.295106],[101.907072,32.295077],[101.90728,32.294946],[101.907487,32.294816],[101.907866,32.294579],[101.907979,32.294496],[101.908279,32.29423],[101.908483,32.294058],[101.908626,32.293806],[101.908645,32.29354],[101.908702,32.29334],[101.908821,32.29313],[101.908959,32.293045],[101.909283,32.29294],[101.909468,32.292835],[101.909568,32.292716],[101.909615,32.292525],[101.909615,32.292524],[101.909616,32.292521],[101.909616,32.29235],[101.909616,32.29215],[101.909616,32.292095],[101.909616,32.291998],[101.909702,32.291731],[101.909713,32.291496],[101.909725,32.29126],[101.909678,32.290998],[101.909652,32.29095],[101.909526,32.290708],[101.909506,32.290537],[101.909521,32.290475],[101.90964,32.290399],[101.909863,32.290313],[101.910049,32.290137],[101.910135,32.289866],[101.910163,32.289609],[101.910358,32.289385],[101.910525,32.289295],[101.910756,32.289271],[101.910987,32.289247],[101.911282,32.289289],[101.911577,32.289332],[101.911824,32.289457],[101.912071,32.289581],[101.912393,32.28967],[101.912716,32.289759],[101.913039,32.289848],[101.913326,32.289939],[101.913613,32.29003],[101.913983,32.290168],[101.914353,32.290307],[101.914723,32.290446],[101.915094,32.290585],[101.915464,32.290724],[101.915772,32.290794],[101.91603,32.290852],[101.916287,32.290911],[101.916542,32.29095],[101.916796,32.29099],[101.917051,32.291029],[101.917305,32.291068],[101.917559,32.291108],[101.917697,32.291129],[101.917814,32.291147],[101.918068,32.291186],[101.918323,32.291225],[101.918577,32.291265],[101.918832,32.291304],[101.919086,32.291343],[101.91934,32.291383],[101.919611,32.291419],[101.919883,32.291455],[101.920154,32.291491],[101.920425,32.291527],[101.920696,32.291563],[101.920967,32.2916],[101.921238,32.291636],[101.921509,32.291672],[101.921902,32.291709],[101.922296,32.291747],[101.922689,32.291784],[101.922953,32.291809],[101.923232,32.291802],[101.923511,32.291796],[101.923583,32.291784],[101.923989,32.291717],[101.924225,32.291575],[101.92446,32.291434],[101.924653,32.291226],[101.924685,32.291191],[101.924846,32.291017],[101.925006,32.290796],[101.925166,32.290574],[101.925326,32.290352],[101.925486,32.29013],[101.925578,32.290002],[101.925578,32.290002],[101.925646,32.289909],[101.925806,32.289687],[101.925966,32.289465],[101.926126,32.289243],[101.926267,32.289028],[101.926407,32.288812],[101.926547,32.288596],[101.926688,32.28838],[101.926828,32.288164],[101.926968,32.287948],[101.927253,32.287662],[101.927278,32.287636],[101.927555,32.287526],[101.927993,32.287518],[101.928276,32.287613],[101.928559,32.287708],[101.928751,32.287829],[101.928942,32.28795],[101.929072,32.288032],[101.929294,32.288119],[101.929672,32.288362],[101.930051,32.288605],[101.930261,32.288744],[101.930471,32.288884],[101.930531,32.288923],[101.93076,32.289047],[101.930988,32.289171],[101.931301,32.289368],[101.931342,32.289391],[101.931559,32.289508],[101.931775,32.289626],[101.931991,32.289744],[101.932208,32.289862],[101.932383,32.289958],[101.932744,32.290094],[101.933011,32.290204],[101.933244,32.290354],[101.933477,32.290505],[101.933689,32.290642],[101.933901,32.290779],[101.933912,32.290784],[101.934043,32.290832],[101.934172,32.29086],[101.934539,32.290932],[101.934906,32.291003],[101.935328,32.29115],[101.935696,32.291249],[101.936063,32.291349],[101.93643,32.291448],[101.936868,32.291459],[101.937305,32.29147],[101.937662,32.291385],[101.938018,32.291301],[101.938352,32.291141],[101.938686,32.290981],[101.93902,32.290821],[101.939354,32.290661],[101.939634,32.290515],[101.939914,32.290369],[101.940194,32.290223],[101.940407,32.290136],[101.940621,32.290048],[101.940834,32.28996],[101.941048,32.289872],[101.941343,32.28974],[101.941638,32.289607],[101.941934,32.289475],[101.94222,32.289304],[101.942554,32.289028],[101.942601,32.288977],[101.942667,32.288905],[101.942734,32.288803],[101.942837,32.288509],[101.942939,32.288215],[101.943,32.287839],[101.94306,32.287463],[101.943064,32.28738],[101.943068,32.287292],[101.943065,32.287271],[101.94305,32.287174],[101.94293,32.286813],[101.94281,32.286453],[101.94269,32.286092],[101.942601,32.285873],[101.942512,32.285653],[101.942511,32.285653],[101.942511,32.285652],[101.94244,32.28543],[101.942369,32.285208],[101.942317,32.284853],[101.942265,32.284498],[101.942264,32.284395],[101.942338,32.284224],[101.942457,32.284221],[101.942699,32.284283],[101.94293,32.284425],[101.943161,32.284567],[101.943444,32.28474],[101.943623,32.28485],[101.943855,32.284992],[101.944086,32.285133],[101.944196,32.285195],[101.944318,32.285259],[101.944726,32.285419],[101.945133,32.285579],[101.945442,32.285658],[101.945751,32.285737],[101.946084,32.285751],[101.946417,32.285765],[101.946802,32.285717],[101.947169,32.285628],[101.947552,32.285516],[101.947935,32.285404],[101.948259,32.285283],[101.948583,32.285162],[101.948843,32.285125],[101.949103,32.285089],[101.949365,32.285097],[101.949779,32.285148],[101.950198,32.285222],[101.950616,32.285297],[101.950951,32.285343],[101.951287,32.285389],[101.951622,32.285435],[101.951731,32.285456],[101.95204,32.285515],[101.952458,32.285596],[101.952875,32.285676],[101.95314,32.285742],[101.953405,32.285809],[101.95363,32.285897],[101.953647,32.285903],[101.953981,32.286034],[101.954343,32.286224],[101.954656,32.286423],[101.954969,32.286622],[101.955281,32.286821],[101.955594,32.287019],[101.955949,32.287263],[101.956038,32.287324],[101.956155,32.287396],[101.956337,32.287529],[101.956434,32.287596],[101.956624,32.287726],[101.956911,32.287924],[101.957166,32.288112],[101.957261,32.288182],[101.957421,32.288301],[101.957757,32.288595],[101.957906,32.288791],[101.957948,32.288868],[101.957961,32.28888],[101.958028,32.289011],[101.958166,32.289258],[101.958304,32.289505],[101.95837,32.289725],[101.9585,32.290082],[101.95853,32.290249],[101.958542,32.290392],[101.958546,32.290705],[101.95855,32.291018],[101.958554,32.291332],[101.95856,32.291362],[101.958637,32.291736],[101.958679,32.291885],[101.958774,32.292081],[101.958967,32.292435],[101.959161,32.292789],[101.959277,32.292988],[101.959298,32.293025],[101.959393,32.293187],[101.959404,32.293209],[101.959464,32.293318],[101.95947,32.29333],[101.959565,32.293521],[101.959649,32.293657],[101.959756,32.293782],[101.960029,32.294023],[101.960303,32.294264],[101.960596,32.294514],[101.960889,32.294765],[101.961084,32.294931],[101.961278,32.295097],[101.961433,32.295234],[101.961546,32.295412],[101.961623,32.29568],[101.961629,32.295936],[101.961552,32.296147],[101.961475,32.296358],[101.961449,32.296404],[101.961353,32.296575],[101.961231,32.296792],[101.960954,32.297123],[101.960678,32.297453],[101.960537,32.297593],[101.960277,32.297853],[101.960017,32.298113],[101.959875,32.298339],[101.959732,32.298565],[101.959633,32.298732],[101.959601,32.298785],[101.959619,32.299029],[101.959666,32.29919],[101.959738,32.299484],[101.959809,32.299779],[101.959884,32.300001],[101.959958,32.300223],[101.960032,32.300444],[101.960107,32.300665],[101.960261,32.301064],[101.960362,32.30129],[101.960562,32.301608],[101.960761,32.301926],[101.961026,32.302285],[101.961291,32.302644],[101.961527,32.302947],[101.96153,32.302952],[101.96153,32.302952],[101.96153,32.302952],[101.961566,32.303006],[101.961713,32.303232],[101.96186,32.303458],[101.962008,32.303683],[101.962155,32.303909],[101.962275,32.304117],[101.962395,32.304325],[101.962516,32.304533],[101.962636,32.304741],[101.962757,32.304949],[101.962877,32.305157],[101.962997,32.305365],[101.963063,32.305478],[101.963066,32.305484],[101.963118,32.305573],[101.963238,32.305781],[101.963358,32.30599],[101.963479,32.306198],[101.963564,32.306345],[101.963599,32.306406],[101.963706,32.306629],[101.963813,32.306853],[101.96392,32.307077],[101.964028,32.307301],[101.964063,32.307375],[101.964135,32.307525],[101.964205,32.307671],[101.964242,32.307749],[101.964324,32.308013],[101.964406,32.308276],[101.964488,32.30854],[101.96457,32.308804],[101.964652,32.309068],[101.964734,32.309332],[101.964838,32.309588],[101.964943,32.309843],[101.965047,32.310098],[101.965151,32.310354],[101.965255,32.310609],[101.96536,32.310865],[101.965464,32.31112],[101.965492,32.311188],[101.965568,32.311376],[101.965673,32.311631],[101.965777,32.311886],[101.965938,32.312275],[101.966099,32.312663],[101.966259,32.313049],[101.966259,32.31305],[101.966259,32.31305],[101.96626,32.313052],[101.966386,32.313252],[101.966512,32.313453],[101.966638,32.313653],[101.966764,32.313853],[101.966839,32.31393],[101.967068,32.314163],[101.967372,32.314472],[101.967676,32.314782],[101.967853,32.31494],[101.96803,32.315099],[101.968207,32.315258],[101.968384,32.315416],[101.968561,32.315575],[101.968738,32.315734],[101.968915,32.315892],[101.969092,32.316051],[101.969269,32.31621],[101.969446,32.316368],[101.969669,32.31653],[101.969891,32.316692],[101.970114,32.316854],[101.970336,32.317016],[101.970558,32.317178],[101.970781,32.31734],[101.971003,32.317502],[101.971226,32.317664],[101.971448,32.317826],[101.971671,32.317988],[101.971893,32.31815],[101.971945,32.318188],[101.972116,32.318312],[101.972338,32.318474],[101.97256,32.318636],[101.972754,32.318779],[101.972903,32.318891],[101.972904,32.318891],[101.972947,32.318923],[101.97314,32.319066],[101.973333,32.319209],[101.973527,32.319353],[101.973716,32.319493],[101.973718,32.319494],[101.97372,32.319496],[101.973913,32.319639],[101.974106,32.319782],[101.9743,32.319926],[101.974493,32.320069],[101.974686,32.320212],[101.974879,32.320356],[101.975073,32.320499],[101.975266,32.320642],[101.975431,32.320798],[101.975596,32.320953],[101.975761,32.321109],[101.975926,32.321264],[101.976091,32.32142],[101.976256,32.321575],[101.976421,32.321731],[101.976587,32.321886],[101.976752,32.322042],[101.976917,32.322197],[101.977109,32.322383],[101.977302,32.322569],[101.977495,32.322755],[101.977687,32.322941],[101.97788,32.323127],[101.978073,32.323313],[101.978265,32.323499],[101.978458,32.323685],[101.978651,32.323871],[101.978843,32.324057],[101.979036,32.324243],[101.979228,32.324429],[101.979421,32.324615],[101.979614,32.324801],[101.979771,32.324991],[101.979929,32.325181],[101.980087,32.325372],[101.980244,32.325562],[101.980402,32.325752],[101.980559,32.325942],[101.980717,32.326132],[101.980875,32.326322],[101.981032,32.326513],[101.98119,32.326703],[101.981347,32.326893],[101.981505,32.327083],[101.981663,32.327273],[101.98182,32.327463],[101.981986,32.327636],[101.982152,32.327809],[101.982317,32.327981],[101.982483,32.328154],[101.982649,32.328326],[101.982815,32.328499],[101.98298,32.328671],[101.983146,32.328844],[101.983312,32.329016],[101.983478,32.329189],[101.983831,32.329424],[101.984185,32.32966],[101.984344,32.329767],[101.984379,32.329791],[101.984573,32.329922],[101.984767,32.330053],[101.984857,32.330114],[101.984865,32.330119],[101.984921,32.330157],[101.984961,32.330185],[101.985037,32.330269],[101.985169,32.330416],[101.985215,32.330586],[101.985149,32.330738],[101.985065,32.330929],[101.984714,32.331191],[101.984563,32.331304],[101.98455,32.331314],[101.984363,32.331453],[101.984358,32.331456],[101.984329,32.331468],[101.984234,32.331507],[101.984179,32.33153],[101.984146,32.331543],[101.98393,32.331634],[101.98369,32.331656],[101.983451,32.331679],[101.983129,32.331653],[101.982808,32.331627],[101.982586,32.331655],[101.982559,32.331658],[101.982472,32.331669],[101.982311,32.331689],[101.982062,32.33172],[101.981813,32.331751],[101.981595,32.331824],[101.981378,32.331897],[101.98116,32.331971],[101.980943,32.332044],[101.980726,32.332139],[101.980509,32.332235],[101.980292,32.332331],[101.980075,32.332426],[101.979859,32.332522],[101.97983,32.332535],[101.979642,32.332618],[101.979289,32.33283],[101.978936,32.333042],[101.978583,32.333254],[101.978343,32.333353],[101.978249,32.333392],[101.978141,32.333436],[101.978102,32.333452],[101.9781,32.333452],[101.978099,32.333453],[101.978013,32.333488],[101.977738,32.333704],[101.977463,32.333921],[101.977269,32.334108],[101.977075,32.334295],[101.976864,32.334431],[101.976653,32.334566],[101.976389,32.334653],[101.976262,32.334695],[101.976228,32.334706],[101.975835,32.334911],[101.975536,32.335067],[101.975508,32.335082],[101.975442,32.335116],[101.975432,32.335121],[101.975238,32.335212],[101.975034,32.335308],[101.97483,32.335404],[101.974625,32.335499],[101.974351,32.335571],[101.974076,32.335643],[101.973848,32.335714],[101.973621,32.335784],[101.973486,32.335846],[101.973438,32.335868],[101.973062,32.336085],[101.972686,32.336302],[101.972293,32.336511],[101.9719,32.33672],[101.971506,32.336929],[101.971144,32.33712],[101.970782,32.337311],[101.970705,32.337351],[101.970554,32.337431],[101.97042,32.337502],[101.970009,32.337642],[101.969598,32.337782],[101.969481,32.33782],[101.969302,32.337876],[101.969275,32.337885],[101.969005,32.33797],[101.96873,32.338015],[101.968654,32.338028],[101.968489,32.338055],[101.968455,32.338061],[101.968226,32.338099],[101.967997,32.338137],[101.967767,32.338175],[101.967726,32.338182],[101.967685,32.338189],[101.967582,32.338206],[101.967538,32.338213],[101.967364,32.338251],[101.967277,32.33827],[101.967271,32.338271],[101.967164,32.338295],[101.967004,32.33833],[101.966807,32.338373],[101.966737,32.338388],[101.966624,32.338412],[101.96647,32.338446],[101.966076,32.338625],[101.965683,32.338804],[101.965426,32.338954],[101.965364,32.33899],[101.965267,32.339047],[101.965254,32.339054],[101.96517,32.339103],[101.965007,32.339296],[101.964844,32.339489],[101.964811,32.339528],[101.964811,32.339529],[101.964738,32.339615],[101.964738,32.339615],[101.964682,32.339681],[101.964519,32.339874],[101.96435,32.340043],[101.964182,32.340212],[101.964013,32.340381],[101.963844,32.34055],[101.963675,32.340719],[101.963507,32.340888],[101.963333,32.341135],[101.963306,32.341173],[101.963306,32.341173],[101.963306,32.341173],[101.963301,32.34118],[101.963275,32.341217],[101.963267,32.341229],[101.96325,32.341252],[101.963236,32.341272],[101.963187,32.341342],[101.963181,32.341351],[101.963096,32.341471],[101.962988,32.341669],[101.962879,32.341868],[101.96277,32.342066],[101.962675,32.342239],[101.962662,32.342264],[101.962425,32.342569],[101.962378,32.34263],[101.962378,32.34263],[101.962378,32.34263],[101.962314,32.342713],[101.962189,32.342875],[101.961938,32.343212],[101.961688,32.343549],[101.961542,32.343801],[101.961397,32.344052],[101.961304,32.344269],[101.961211,32.344486],[101.961118,32.344703],[101.961026,32.34492],[101.960972,32.345151],[101.960918,32.345382],[101.960864,32.345613],[101.96081,32.345843],[101.960756,32.346074],[101.960702,32.346305],[101.960648,32.346536],[101.960594,32.346766],[101.96054,32.346997],[101.960486,32.347228],[101.960436,32.347464],[101.960386,32.347699],[101.960336,32.347935],[101.96032,32.348009],[101.960286,32.348171],[101.960236,32.348406],[101.960186,32.348642],[101.960136,32.348878],[101.960124,32.348935],[101.960086,32.349113],[101.960004,32.349434],[101.959977,32.349542],[101.959868,32.34997],[101.959851,32.350037],[101.959759,32.350398],[101.959733,32.35045],[101.959564,32.350792],[101.959506,32.35091],[101.959369,32.351186],[101.959174,32.35158],[101.95898,32.351974],[101.958856,32.35219],[101.958732,32.352406],[101.958609,32.352622],[101.958485,32.352838],[101.958362,32.353054],[101.958238,32.35327],[101.958182,32.353367],[101.958114,32.353485],[101.957991,32.353701],[101.957867,32.353917],[101.957744,32.354133],[101.95762,32.354349],[101.957496,32.354565],[101.957404,32.354684],[101.957339,32.354769],[101.957231,32.35491],[101.956966,32.355254],[101.956856,32.355396],[101.956831,32.355428],[101.95683,32.355429],[101.956772,32.355504],[101.956759,32.355521],[101.956748,32.355618],[101.956723,32.355848],[101.956688,32.356174],[101.956701,32.356565],[101.956703,32.356577],[101.956741,32.356775],[101.956766,32.356905],[101.956775,32.356954],[101.956905,32.357146],[101.956989,32.357272],[101.957024,32.357323],[101.957034,32.357338],[101.957091,32.357375],[101.957127,32.357397],[101.957135,32.357402],[101.957199,32.357443],[101.9572,32.357443],[101.957203,32.357445],[101.957253,32.357477],[101.957473,32.357615],[101.957583,32.357643],[101.957606,32.357649],[101.957652,32.357661],[101.957708,32.357675],[101.957744,32.357684],[101.957752,32.357686],[101.957796,32.357694],[101.958123,32.357757],[101.958431,32.357763],[101.958511,32.357764],[101.958604,32.357766],[101.958606,32.357766],[101.958609,32.357766],[101.958739,32.357768],[101.959093,32.357786],[101.959447,32.357804],[101.959877,32.357794],[101.960307,32.357784],[101.960631,32.357828],[101.960955,32.357873],[101.961187,32.357919],[101.96142,32.357966],[101.961652,32.358012],[101.961884,32.358059],[101.962276,32.358145],[101.962668,32.358232],[101.96306,32.358319],[101.963066,32.358321],[101.963286,32.358411],[101.963512,32.358503],[101.963738,32.358596],[101.963752,32.358601],[101.963964,32.358688],[101.964168,32.358813],[101.964295,32.358892],[101.964372,32.358939],[101.964576,32.359065],[101.96478,32.35919],[101.964841,32.359228],[101.964983,32.359316],[101.965187,32.359441],[101.965384,32.359582],[101.965581,32.359723],[101.965777,32.359863],[101.965974,32.360004],[101.966086,32.360084],[101.966171,32.360145],[101.966367,32.360286],[101.966577,32.36042],[101.966786,32.360554],[101.966995,32.360687],[101.967205,32.360821],[101.967414,32.360955],[101.967623,32.361089],[101.967919,32.361226],[101.968216,32.361363],[101.968434,32.361436],[101.968651,32.361509],[101.969052,32.361552],[101.969221,32.361548],[101.96939,32.361544],[101.969696,32.36151],[101.970123,32.361396],[101.970383,32.361351],[101.970642,32.361306],[101.970919,32.361298],[101.971165,32.361294],[101.971339,32.36129],[101.971411,32.361289],[101.971719,32.36132],[101.972027,32.361352],[101.972367,32.361396],[101.972739,32.361491],[101.972973,32.361603],[101.973207,32.361715],[101.973613,32.361887],[101.97366,32.361908],[101.973799,32.361967],[101.974019,32.36206],[101.974265,32.362107],[101.974512,32.362153],[101.974835,32.362146],[101.975159,32.362138],[101.975541,32.36209],[101.975924,32.362042],[101.976332,32.361988],[101.97674,32.361935],[101.977148,32.361881],[101.977525,32.36182],[101.977902,32.361759],[101.978279,32.361699],[101.978523,32.361628],[101.978766,32.361557],[101.97901,32.361486],[101.979192,32.361433],[101.979192,32.361433],[101.979253,32.361416],[101.979497,32.361345],[101.97974,32.361274],[101.979985,32.361209],[101.980044,32.361194],[101.980229,32.361145],[101.980473,32.36108],[101.980717,32.361015],[101.98074,32.36101],[101.980938,32.360965],[101.981159,32.360914],[101.98138,32.360863],[101.981601,32.360813],[101.981968,32.360642],[101.982334,32.360472],[101.982602,32.360192],[101.98287,32.359912],[101.983017,32.359751],[101.983044,32.359594],[101.982963,32.359335],[101.98294,32.359259],[101.982779,32.359015],[101.982617,32.358771],[101.982583,32.358689],[101.982516,32.358526],[101.982503,32.358493],[101.982463,32.358396],[101.982415,32.358281],[101.982402,32.357838],[101.982437,32.357498],[101.982472,32.357159],[101.982555,32.356883],[101.982638,32.356607],[101.982937,32.356365],[101.983165,32.356281],[101.983392,32.356198],[101.983804,32.35611],[101.983976,32.356073],[101.984217,32.356022],[101.984521,32.35595],[101.984826,32.355878],[101.985079,32.355845],[101.985221,32.355827],[101.985332,32.355813],[101.985584,32.355781],[101.985837,32.355749],[101.986221,32.355643],[101.986605,32.355538],[101.986877,32.3554],[101.986893,32.355392],[101.987036,32.35532],[101.987149,32.355263],[101.987268,32.355221],[101.987468,32.355151],[101.987786,32.355039],[101.988185,32.354979],[101.98863,32.354968],[101.989075,32.354957],[101.989393,32.354964],[101.98971,32.35497],[101.98994,32.354964],[101.99017,32.354959],[101.9904,32.354953],[101.990619,32.354948],[101.99063,32.354947],[101.990875,32.354909],[101.99112,32.354871],[101.991365,32.354833],[101.99161,32.354794],[101.991762,32.354751],[101.992036,32.354673],[101.992463,32.354552],[101.992889,32.354431],[101.993315,32.35431],[101.993533,32.354231],[101.99375,32.354152],[101.993968,32.354073],[101.994186,32.353994],[101.994403,32.353916],[101.994621,32.353837],[101.994838,32.353703],[101.995056,32.353569],[101.995273,32.353436],[101.99549,32.353302],[101.995708,32.353168],[101.995925,32.353035],[101.996142,32.352901],[101.99636,32.352767],[101.996577,32.352634],[101.996794,32.3525],[101.997012,32.352367],[101.997229,32.352233],[101.997446,32.352099],[101.997664,32.351966],[101.997878,32.351832],[101.998092,32.351699],[101.998306,32.351566],[101.99852,32.351433],[101.998734,32.3513],[101.998949,32.351167],[101.999163,32.351033],[101.999254,32.350977],[101.999255,32.350976],[101.999377,32.3509],[101.999591,32.350767],[101.999805,32.350634],[102.000019,32.350501],[102.000233,32.350368],[102.000238,32.350363],[102.000548,32.350136],[102.000749,32.349989],[102.000749,32.349989],[102.000858,32.349909],[102.001168,32.349683],[102.001268,32.349609],[102.001444,32.349481],[102.00172,32.349279],[102.001932,32.349149],[102.002143,32.349019],[102.002355,32.348889],[102.002566,32.348759],[102.002777,32.348629],[102.002871,32.348571],[102.002989,32.348499],[102.0032,32.348369],[102.003412,32.34824],[102.00377,32.348063],[102.004129,32.347887],[102.004488,32.347711],[102.004741,32.347612],[102.004991,32.347552],[102.005242,32.347492],[102.005476,32.347471],[102.00571,32.34745],[102.005943,32.347469],[102.006176,32.347487],[102.006439,32.347533],[102.006702,32.347578],[102.006946,32.347703],[102.007191,32.347828],[102.007468,32.348171],[102.007745,32.348514],[102.008022,32.348858],[102.008299,32.349201],[102.008456,32.349396],[102.008613,32.349591],[102.00877,32.349786],[102.008927,32.349982],[102.009047,32.350117],[102.009263,32.350175],[102.009606,32.350155],[102.009935,32.350071],[102.010265,32.349987],[102.010531,32.349927],[102.010798,32.349868],[102.011065,32.349808],[102.011331,32.349749],[102.011642,32.349703],[102.011952,32.349657],[102.012335,32.349665],[102.012719,32.349674],[102.013102,32.349683],[102.013536,32.349737],[102.013695,32.349757],[102.013971,32.349791],[102.01426,32.349828],[102.014405,32.349846],[102.014669,32.349852],[102.014933,32.349857],[102.015291,32.349853],[102.01565,32.349848],[102.01593,32.349829],[102.01621,32.349809],[102.016505,32.349817],[102.016801,32.349824],[102.017225,32.349878],[102.017648,32.349931],[102.018072,32.349985],[102.018287,32.350065],[102.018503,32.350145],[102.018718,32.350225],[102.018934,32.350305],[102.01909,32.350363],[102.019111,32.35037],[102.019149,32.350385],[102.019365,32.350465],[102.019465,32.350531],[102.019654,32.350656],[102.019682,32.350674],[102.019944,32.350848],[102.020184,32.351118],[102.020424,32.351389],[102.020728,32.351633],[102.021031,32.351877],[102.021161,32.351955],[102.021305,32.352042],[102.021312,32.352044],[102.021676,32.352156],[102.021939,32.352189],[102.022203,32.352222],[102.022591,32.352231],[102.022868,32.352237],[102.022979,32.35224],[102.023213,32.352232],[102.023446,32.352224],[102.023628,32.352218],[102.02368,32.352216],[102.023913,32.352209],[102.024143,32.352188],[102.024372,32.352167],[102.024601,32.352146],[102.02483,32.352124],[102.02506,32.352103],[102.025289,32.352082],[102.025505,32.35203],[102.025687,32.351986],[102.026085,32.35189],[102.026483,32.351793],[102.026734,32.351714],[102.026876,32.351669],[102.026985,32.351634],[102.027237,32.351555],[102.027488,32.351475],[102.027701,32.351394],[102.027913,32.351313],[102.028126,32.351233],[102.028339,32.351152],[102.028569,32.351012],[102.02863,32.350975],[102.028686,32.350941],[102.0288,32.350872],[102.028994,32.350754],[102.02903,32.350732],[102.029044,32.350724],[102.029066,32.350711],[102.029261,32.350593],[102.029508,32.350317],[102.029756,32.350041],[102.030004,32.349765],[102.030034,32.349732],[102.030147,32.349604],[102.030156,32.349593],[102.030308,32.349422],[102.03046,32.34925],[102.030612,32.349078],[102.030764,32.348906],[102.030916,32.348734],[102.031068,32.348562],[102.03122,32.34839],[102.03136,32.348159],[102.031499,32.347928],[102.031639,32.347697],[102.031779,32.347466],[102.031919,32.347235],[102.032058,32.347004],[102.032198,32.346773],[102.032338,32.346542],[102.032424,32.346289],[102.03251,32.346036],[102.032596,32.345782],[102.032682,32.345529],[102.032769,32.345276],[102.032855,32.345023],[102.032904,32.344773],[102.032954,32.344524],[102.033004,32.344274],[102.033053,32.344024],[102.033103,32.343775],[102.033153,32.343525],[102.033244,32.343274],[102.033335,32.343022],[102.033426,32.342771],[102.033518,32.342519],[102.033609,32.342268],[102.0337,32.342016],[102.033799,32.341765],[102.033897,32.341514],[102.033996,32.341263],[102.034094,32.341012],[102.034193,32.340761],[102.034291,32.34051],[102.03439,32.340259],[102.034488,32.340008],[102.034586,32.339757],[102.034685,32.339505],[102.034811,32.339201],[102.034837,32.339139],[102.034988,32.338773],[102.035015,32.338721],[102.035176,32.338343],[102.03521,32.338295],[102.035324,32.338135],[102.03555,32.337968],[102.035788,32.337855],[102.036127,32.33773],[102.03649,32.337683],[102.036874,32.337704],[102.037258,32.337724],[102.037507,32.337724],[102.037698,32.337707],[102.037858,32.337665],[102.03809,32.337576],[102.038263,32.337617],[102.038376,32.337796],[102.038488,32.338104],[102.03855,32.338276],[102.0386,32.338412],[102.038614,32.33845],[102.038804,32.338849],[102.038923,32.339003],[102.039072,32.339075],[102.039209,32.33914],[102.039298,32.339176],[102.039578,32.339378],[102.03975,32.339456],[102.03981,32.339539],[102.039863,32.33967],[102.039929,32.339824],[102.04,32.339925],[102.040101,32.340009],[102.040375,32.340086],[102.040667,32.340349],[102.040743,32.340401],[102.040989,32.34057],[102.041167,32.340699],[102.041296,32.340849],[102.041353,32.341034],[102.041375,32.341164],[102.041445,32.341577],[102.041545,32.341777],[102.04171,32.34208],[102.041874,32.342383],[102.042006,32.342608],[102.042138,32.342833],[102.042359,32.343104],[102.042502,32.343269],[102.042745,32.343454],[102.042811,32.343479],[102.043016,32.343554],[102.043287,32.34369],[102.043551,32.343768],[102.043815,32.343847],[102.044072,32.343932],[102.044294,32.343961],[102.044615,32.343961],[102.044865,32.343915],[102.045115,32.343868],[102.045339,32.343886],[102.045564,32.343904],[102.0457,32.343975],[102.045828,32.344118],[102.045936,32.344268],[102.046071,32.344575],[102.046159,32.344762],[102.04625,32.344953],[102.046335,32.345216],[102.046335,32.345217],[102.046335,32.345217],[102.046428,32.345374],[102.046678,32.345589],[102.046792,32.345617],[102.047096,32.345716],[102.047239,32.345852],[102.047425,32.346028],[102.047611,32.346204],[102.047797,32.34638],[102.047983,32.346556],[102.048166,32.346692],[102.048348,32.346829],[102.04853,32.346965],[102.048712,32.347101],[102.048895,32.347238],[102.049077,32.347374],[102.049305,32.347531],[102.049534,32.347688],[102.049762,32.347846],[102.049991,32.348003],[102.050219,32.34816],[102.050448,32.348317],[102.050676,32.348474],[102.050905,32.348631],[102.051232,32.348891],[102.051559,32.349151],[102.051887,32.34941],[102.052133,32.349508],[102.052379,32.349606],[102.052749,32.349693],[102.053014,32.349686],[102.053279,32.349679],[102.053513,32.349658],[102.053747,32.349637],[102.053981,32.349617],[102.054216,32.349596],[102.054636,32.349579],[102.055057,32.349562],[102.055384,32.34957],[102.05571,32.349578],[102.05602,32.349612],[102.056331,32.349645],[102.056717,32.34972],[102.057103,32.349796],[102.057536,32.349911],[102.057968,32.350026],[102.058338,32.350128],[102.058631,32.350208],[102.058709,32.35023],[102.058987,32.350275],[102.059266,32.350321],[102.059638,32.350383],[102.060009,32.350444],[102.060197,32.350481],[102.060396,32.350519],[102.060782,32.350594],[102.061046,32.350626],[102.061309,32.350659],[102.061573,32.350691],[102.061836,32.350724],[102.062272,32.35076],[102.06255,32.350832],[102.062828,32.350905],[102.063058,32.351003],[102.063288,32.351101],[102.063478,32.351237],[102.063668,32.351373],[102.063745,32.351428],[102.063942,32.351565],[102.06414,32.351702],[102.064337,32.351839],[102.064535,32.351975],[102.064711,32.352138],[102.064888,32.352301],[102.065087,32.352411],[102.065286,32.35252],[102.06553,32.352631],[102.065717,32.352637],[102.066092,32.352592],[102.06644,32.352455],[102.066787,32.352319],[102.067156,32.352133],[102.067525,32.351948],[102.067894,32.351762],[102.068124,32.351629],[102.068354,32.351496],[102.068584,32.351362],[102.068814,32.351229],[102.069105,32.350919],[102.069395,32.350608],[102.069587,32.350448],[102.069779,32.350288],[102.069971,32.350128],[102.070162,32.349968],[102.070374,32.349794],[102.070586,32.349621],[102.070798,32.349448],[102.07101,32.349275],[102.071221,32.349101],[102.071433,32.348928],[102.071645,32.348755],[102.071857,32.348581],[102.072064,32.348448],[102.072271,32.348314],[102.072478,32.348181],[102.072685,32.348047],[102.072914,32.347933],[102.073143,32.34782],[102.073372,32.347706],[102.073452,32.347666],[102.0736,32.347592],[102.073789,32.34752],[102.073821,32.347508],[102.074042,32.347424],[102.074263,32.34734],[102.074483,32.347256],[102.074704,32.347172],[102.074925,32.347088],[102.075146,32.347004],[102.075366,32.34692],[102.075612,32.346841],[102.075857,32.346763],[102.07613,32.346675],[102.076519,32.34654],[102.076542,32.346532],[102.076908,32.346405],[102.07711,32.346335],[102.077297,32.34627],[102.077686,32.346135],[102.078075,32.346],[102.078465,32.345865],[102.078854,32.34573],[102.079243,32.345595],[102.079632,32.34546],[102.079876,32.345386],[102.080121,32.345312],[102.080462,32.345186],[102.080803,32.34506],[102.081145,32.344934],[102.081486,32.344808],[102.081827,32.344682],[102.082059,32.3446],[102.082291,32.344518],[102.082491,32.344404],[102.082712,32.344275],[102.082838,32.34422],[102.082955,32.344168],[102.08326,32.344042],[102.083564,32.343916],[102.083869,32.34379],[102.084233,32.343554],[102.084383,32.343461],[102.084547,32.343426],[102.084711,32.343383],[102.084904,32.343297],[102.085197,32.343126],[102.085211,32.343122],[102.085389,32.343076],[102.085596,32.343069],[102.085903,32.342997],[102.086125,32.342876],[102.08626,32.342698],[102.08641,32.342526],[102.086532,32.342441],[102.086917,32.342276],[102.087203,32.342148],[102.087438,32.342019],[102.087688,32.341927],[102.088038,32.341798],[102.08838,32.341691],[102.088659,32.341613],[102.088823,32.341548],[102.088916,32.341441],[102.089116,32.34127],[102.089315,32.341177],[102.089465,32.34107],[102.089587,32.340884],[102.08973,32.340635],[102.08987,32.340335],[102.09001,32.340035],[102.090151,32.339735],[102.090161,32.339439],[102.090172,32.339143],[102.090186,32.338893],[102.090201,32.338643],[102.090236,32.3383],[102.090244,32.338268],[102.090297,32.338049],[102.090351,32.337829],[102.09046,32.337425],[102.09057,32.337021],[102.0906,32.336908],[102.090679,32.336666],[102.090686,32.336451],[102.09067,32.336369],[102.090586,32.335952],[102.090565,32.335758],[102.090529,32.335416],[102.090436,32.335138],[102.090429,32.334917],[102.090472,32.33471],[102.090465,32.334531],[102.090379,32.334331],[102.090343,32.334103],[102.090408,32.333967],[102.090508,32.333882],[102.090757,32.333746],[102.090936,32.333525],[102.091057,32.333175],[102.091129,32.332847],[102.091137,32.332429],[102.091145,32.332011],[102.09119,32.331725],[102.09119,32.331722],[102.091191,32.331721],[102.091193,32.331707],[102.091269,32.331431],[102.091357,32.331313],[102.091383,32.331279],[102.091545,32.331079],[102.091707,32.330879],[102.091816,32.330674],[102.091926,32.330469],[102.092069,32.330232],[102.09224,32.329927],[102.092402,32.32966],[102.092563,32.329394],[102.092699,32.3292],[102.092787,32.329076],[102.093075,32.328841],[102.093295,32.32866],[102.093515,32.32848],[102.093715,32.328352],[102.093915,32.328223],[102.094181,32.328081],[102.094372,32.328033],[102.0946,32.327957],[102.094762,32.327728],[102.094924,32.3275],[102.095114,32.327291],[102.095305,32.327081],[102.09539,32.326862],[102.095457,32.326746],[102.095581,32.326529],[102.095571,32.326158],[102.095504,32.32583],[102.095438,32.325501],[102.095448,32.325322],[102.095457,32.325168],[102.095562,32.32493],[102.095666,32.324692],[102.095799,32.324527],[102.095942,32.32435],[102.096099,32.324093],[102.096256,32.323836],[102.096409,32.323563],[102.096561,32.32329],[102.096713,32.323017],[102.096846,32.322789],[102.097075,32.322551],[102.097208,32.322341],[102.097341,32.322132],[102.097379,32.321922],[102.097484,32.321665],[102.097646,32.321504],[102.097806,32.321201],[102.097965,32.320897],[102.09809,32.320739],[102.098342,32.320455],[102.098595,32.320171],[102.098848,32.319887],[102.099024,32.319768],[102.099029,32.319765],[102.099301,32.319603],[102.099574,32.319442],[102.099851,32.319321],[102.100084,32.319219],[102.100316,32.319117],[102.100549,32.319016],[102.100782,32.318914],[102.101014,32.318813],[102.101247,32.318711],[102.101479,32.318609],[102.101712,32.318508],[102.101945,32.318406],[102.102177,32.318304],[102.10241,32.318203],[102.102643,32.318101],[102.102875,32.317999],[102.103108,32.317898],[102.103341,32.317796],[102.103573,32.317694],[102.103784,32.317611],[102.103995,32.317527],[102.104206,32.317444],[102.104417,32.31736],[102.104628,32.317277],[102.104839,32.317193],[102.10505,32.31711],[102.105261,32.317026],[102.105472,32.316943],[102.105683,32.316859],[102.10608,32.316679],[102.106476,32.316499],[102.106873,32.316319],[102.107269,32.316139],[102.107477,32.316022],[102.107685,32.315906],[102.107894,32.31579],[102.108102,32.315674],[102.10831,32.315558],[102.108518,32.315441],[102.108872,32.315249],[102.109153,32.315096],[102.109153,32.315096],[102.109225,32.315057],[102.109578,32.314865],[102.109988,32.3147],[102.110397,32.314534],[102.110806,32.314369],[102.111195,32.314241],[102.111583,32.314113],[102.111972,32.313985],[102.112236,32.313881],[102.112499,32.313777],[102.112729,32.313592],[102.112922,32.313375],[102.112935,32.312995],[102.112907,32.31268],[102.112902,32.312621],[102.11288,32.312364],[102.11285,32.312139],[102.11282,32.311913],[102.11279,32.311687],[102.112759,32.311462],[102.112729,32.311236],[102.112699,32.31101],[102.112669,32.310785],[102.112639,32.310559],[102.112646,32.310323],[102.112654,32.310086],[102.112736,32.309852],[102.112818,32.309617],[102.1129,32.309382],[102.112982,32.309147],[102.113068,32.308786],[102.113153,32.308425],[102.113148,32.307998],[102.113143,32.307572],[102.113122,32.307339],[102.113102,32.307105],[102.113081,32.306872],[102.113061,32.306639],[102.11304,32.306406],[102.11302,32.306173],[102.112999,32.305939],[102.112979,32.305706],[102.112968,32.305474],[102.112956,32.305243],[102.112945,32.305011],[102.112934,32.304779],[102.112923,32.304547],[102.112911,32.304316],[102.112936,32.30409],[102.112962,32.303864],[102.112987,32.303639],[102.113012,32.303413],[102.113136,32.303006],[102.113261,32.302598],[102.113495,32.302288],[102.113523,32.302261],[102.113725,32.302072],[102.114149,32.301987],[102.114573,32.301902],[102.114926,32.301831],[102.114998,32.301817],[102.115437,32.301748],[102.115876,32.301679],[102.116315,32.301611],[102.11661,32.301564],[102.116755,32.301542],[102.117153,32.301509],[102.117551,32.301476],[102.117949,32.301443],[102.118265,32.301434],[102.118582,32.301425],[102.118952,32.301466],[102.119323,32.301506],[102.119768,32.301516],[102.120192,32.301636],[102.120507,32.301725],[102.120617,32.301757],[102.12065,32.30178],[102.120999,32.302025],[102.121035,32.302051],[102.121381,32.302294],[102.121572,32.302429],[102.121764,32.302563],[102.121955,32.302697],[102.122146,32.302832],[102.12251,32.303093],[102.122873,32.303354],[102.122873,32.303354],[102.122873,32.303354],[102.123203,32.303488],[102.123534,32.303622],[102.123923,32.303678],[102.124312,32.303734],[102.124696,32.303753],[102.12508,32.303773],[102.125463,32.303792],[102.125815,32.303793],[102.126167,32.303795],[102.126419,32.303796],[102.12667,32.303797],[102.127107,32.303799],[102.127174,32.303799],[102.127191,32.3038],[102.127456,32.303818],[102.127721,32.303835],[102.127994,32.303853],[102.128268,32.303871],[102.128541,32.303889],[102.128815,32.303907],[102.12917,32.30393],[102.129362,32.303943],[102.129602,32.30398],[102.129843,32.304017],[102.130084,32.304054],[102.130325,32.304092],[102.130749,32.304196],[102.131173,32.3043],[102.131467,32.304402],[102.131761,32.304503],[102.13202,32.304556],[102.132279,32.304609],[102.132614,32.304617],[102.132767,32.304495],[102.13278,32.304464],[102.132864,32.304278],[102.132864,32.304278],[102.132886,32.304229],[102.133006,32.303964],[102.133065,32.303704],[102.133101,32.303546],[102.133104,32.303534],[102.133104,32.303534],[102.133124,32.303445],[102.133184,32.303186],[102.133243,32.302927],[102.133257,32.302865],[102.133302,32.302667],[102.133362,32.302408],[102.133421,32.302149],[102.13348,32.30189],[102.133566,32.301545],[102.133587,32.301461],[102.133653,32.3012],[102.13381,32.30092],[102.133894,32.300769],[102.133967,32.300639],[102.134215,32.30044],[102.134462,32.30024],[102.134679,32.300097],[102.134785,32.300027],[102.134968,32.299906],[102.135108,32.299813],[102.135353,32.299701],[102.135598,32.29959],[102.135865,32.299406],[102.135942,32.299353],[102.136131,32.299223],[102.136325,32.298959],[102.13652,32.298695],[102.136643,32.298455],[102.136765,32.298215],[102.136888,32.297975],[102.137011,32.297734],[102.137134,32.297494],[102.137257,32.297254],[102.137379,32.297014],[102.137502,32.296774],[102.137625,32.296533],[102.137748,32.296293],[102.137851,32.296075],[102.137955,32.295856],[102.138059,32.295637],[102.138162,32.295419],[102.138266,32.2952],[102.138369,32.294982],[102.138473,32.294763],[102.138577,32.294544],[102.13868,32.294326],[102.138784,32.294107],[102.13888,32.293857],[102.138976,32.293606],[102.139073,32.293356],[102.139169,32.293105],[102.139265,32.292855],[102.139361,32.292604],[102.139457,32.292354],[102.139554,32.292103],[102.139727,32.291781],[102.139844,32.291564],[102.13996,32.291347],[102.140077,32.29113],[102.140194,32.290914],[102.14031,32.290697],[102.140427,32.29048],[102.140543,32.290263],[102.14066,32.290046],[102.140819,32.289853],[102.140979,32.289659],[102.141244,32.289507],[102.141509,32.289354],[102.141847,32.289267],[102.142083,32.289207],[102.142184,32.289181],[102.142484,32.289109],[102.142784,32.289036],[102.143193,32.289046],[102.143433,32.289083],[102.143674,32.28912],[102.144042,32.289255],[102.14441,32.289389],[102.14463,32.289481],[102.144851,32.289573],[102.145071,32.289665],[102.145292,32.289756],[102.145386,32.289796],[102.145418,32.289809],[102.145512,32.289848],[102.145732,32.28994],[102.145953,32.290032],[102.145967,32.290038],[102.146173,32.290124],[102.146411,32.290261],[102.146648,32.290397],[102.146885,32.290534],[102.147123,32.290671],[102.14736,32.290808],[102.147597,32.290945],[102.147925,32.291184],[102.148252,32.291423],[102.148579,32.291662],[102.148731,32.291776],[102.148737,32.291781],[102.149051,32.292019],[102.149212,32.292228],[102.149373,32.292437],[102.149459,32.29266],[102.149545,32.292883],[102.149541,32.29296],[102.14953,32.293151],[102.149515,32.293419],[102.149513,32.293471],[102.149548,32.293716],[102.149584,32.29396],[102.149588,32.294227],[102.149582,32.29457],[102.149575,32.294914],[102.149569,32.295257],[102.149562,32.2956],[102.149522,32.29595],[102.149481,32.2963],[102.149441,32.296649],[102.1494,32.296999],[102.149389,32.297378],[102.149377,32.297757],[102.149365,32.298136],[102.14941,32.298528],[102.149432,32.298718],[102.149456,32.298921],[102.1495,32.299116],[102.14957,32.299418],[102.149639,32.29972],[102.149709,32.300022],[102.149804,32.30025],[102.149899,32.300479],[102.150008,32.300698],[102.150018,32.300717],[102.150118,32.300917],[102.150321,32.301234],[102.150548,32.301588],[102.150776,32.301942],[102.150924,32.302173],[102.151003,32.302297],[102.151193,32.302544],[102.151384,32.302792],[102.151574,32.303039],[102.15175,32.303182],[102.151787,32.303212],[102.151926,32.303325],[102.152212,32.303567],[102.152378,32.303708],[102.152497,32.30381],[102.152635,32.304015],[102.152773,32.304219],[102.152897,32.304533],[102.152983,32.30479],[102.153013,32.305201],[102.153021,32.305304],[102.153173,32.305475],[102.153306,32.305623],[102.153592,32.305942],[102.15383,32.306123],[102.153935,32.306153],[102.15423,32.306237],[102.154591,32.306247],[102.154953,32.306256],[102.155272,32.306304],[102.155581,32.306351],[102.155962,32.306375],[102.156343,32.306399],[102.156714,32.306361],[102.157085,32.306323],[102.157404,32.306318],[102.157723,32.306313],[102.157989,32.306366],[102.158256,32.306418],[102.158503,32.306518],[102.158751,32.306618],[102.159021,32.306746],[102.159274,32.306865],[102.159617,32.307037],[102.159633,32.30704],[102.160035,32.307122],[102.160359,32.307094],[102.160673,32.307113],[102.160987,32.307132],[102.161315,32.307079],[102.161576,32.307085],[102.161814,32.30709],[102.162052,32.307096],[102.162393,32.307067],[102.162499,32.307059],[102.162947,32.307021],[102.163339,32.306968],[102.163731,32.306914],[102.164135,32.306839],[102.164539,32.306764],[102.164803,32.306628],[102.165067,32.306492],[102.165404,32.306197],[102.165741,32.305901],[102.166077,32.305606],[102.166414,32.305311],[102.166751,32.305015],[102.166949,32.304841],[102.167146,32.304666],[102.167344,32.304491],[102.167542,32.304317],[102.16774,32.304142],[102.167937,32.303968],[102.16822,32.303832],[102.168503,32.303696],[102.168748,32.303607],[102.168993,32.303518],[102.169237,32.30346],[102.16948,32.303403],[102.169815,32.30341],[102.16988,32.303412],[102.169845,32.303446],[102.169594,32.303676],[102.169317,32.303862],[102.168943,32.304276],[102.168019,32.306366],[102.167576,32.307548],[102.167377,32.308079],[102.167013,32.309607],[102.166521,32.310901],[102.165894,32.312154],[102.165725,32.313225],[102.165819,32.31544],[102.165822,32.315506],[102.16583,32.315684],[102.166,32.317454],[102.165875,32.318564],[102.165879,32.319908],[102.165852,32.320752],[102.16556,32.321436],[102.165261,32.322312],[102.164763,32.323798],[102.164401,32.324716],[102.164246,32.325109],[102.164223,32.325168],[102.164139,32.32538],[102.164095,32.325494],[102.163923,32.325912],[102.163901,32.325966],[102.163733,32.326386],[102.163562,32.327495],[102.163611,32.32884],[102.1638,32.330034],[102.164263,32.331119],[102.164698,32.332057],[102.165002,32.332933],[102.164927,32.33305],[102.164921,32.333151],[102.164966,32.333262],[102.165103,32.333333],[102.165265,32.333494],[102.165327,32.333515],[102.165355,32.333563],[102.165421,32.333701],[102.165478,32.333762],[102.165537,32.333789],[102.165603,32.333798],[102.165716,32.333792],[102.165755,32.333809],[102.165778,32.333851],[102.165776,32.333895],[102.165787,32.333925],[102.165879,32.333994],[102.16591,32.334055],[102.165947,32.334241],[102.165978,32.334479],[102.166016,32.334589],[102.166032,32.334606],[102.166071,32.334624],[102.166216,32.334649],[102.166258,32.334664],[102.166336,32.334723],[102.166422,32.334808],[102.166537,32.334869],[102.166574,32.334914],[102.166714,32.335083],[102.166719,32.335091],[102.166732,32.335105],[102.166736,32.335109],[102.166782,32.335155],[102.166812,32.335183],[102.167022,32.335392],[102.167046,32.335415],[102.167094,32.335462],[102.167098,32.335466],[102.16714,32.335508],[102.167202,32.335569],[102.167511,32.335862],[102.167556,32.335904],[102.167621,32.335966],[102.167638,32.335982],[102.167643,32.335987],[102.167743,32.336079],[102.167747,32.336085],[102.167753,32.336091],[102.167762,32.3361],[102.168319,32.336685],[102.168431,32.337185],[102.168437,32.33722],[102.168446,32.33725],[102.168447,32.337257],[102.16848,32.337268],[102.16851,32.337278],[102.168534,32.337302],[102.168524,32.33739],[102.168542,32.337441],[102.168541,32.337492],[102.168541,32.337528],[102.168539,32.337535],[102.168535,32.337548],[102.168557,32.337613],[102.168537,32.33769],[102.168599,32.337739],[102.168648,32.337886],[102.168656,32.337908],[102.168695,32.338026],[102.16871,32.338046],[102.168724,32.338064],[102.168706,32.338073],[102.168662,32.338085],[102.168636,32.338108],[102.16863,32.338193],[102.168652,32.338305],[102.168628,32.33835],[102.168625,32.338407],[102.168657,32.338453],[102.168681,32.33847],[102.168826,32.338501],[102.168919,32.338527],[102.168967,32.338549],[102.168877,32.338701],[102.16885,32.338779],[102.168845,32.338818],[102.168854,32.33887],[102.168911,32.338904],[102.168924,32.338927],[102.168917,32.338955],[102.16888,32.339004],[102.168871,32.339067],[102.168877,32.339098],[102.168917,32.33916],[102.168926,32.339189],[102.168927,32.339263],[102.168939,32.339325],[102.168975,32.339393],[102.169,32.339417],[102.169033,32.339436],[102.169148,32.339476],[102.169265,32.339532],[102.169289,32.339556],[102.169296,32.339581],[102.169292,32.339627],[102.169265,32.339678],[102.169191,32.33975],[102.169152,32.339809],[102.169073,32.339858],[102.169059,32.339899],[102.169067,32.339937],[102.169091,32.339965],[102.169129,32.339989],[102.169175,32.339999],[102.169182,32.340009],[102.169179,32.340024],[102.169101,32.340141],[102.169082,32.340246],[102.16909,32.340348],[102.169105,32.3404],[102.169128,32.340437],[102.169203,32.34049],[102.169201,32.340517],[102.169106,32.340527],[102.168871,32.340522],[102.168826,32.340541],[102.16882,32.340556],[102.168806,32.340588],[102.16881,32.340624],[102.168829,32.34064],[102.168851,32.34066],[102.168968,32.340699],[102.169081,32.340707],[102.169123,32.340734],[102.169122,32.340771],[102.169085,32.340813],[102.169058,32.340888],[102.169046,32.340959],[102.16905,32.341032],[102.169086,32.341122],[102.169198,32.341218],[102.16922,32.341248],[102.169245,32.34133],[102.169253,32.34139],[102.169249,32.341475],[102.169187,32.341653],[102.169157,32.341827],[102.169148,32.341922],[102.169152,32.342147],[102.169143,32.34219],[102.169111,32.342241],[102.169045,32.342282],[102.169023,32.342288],[102.168948,32.342282],[102.168926,32.342287],[102.168913,32.342304],[102.168918,32.342344],[102.168939,32.342378],[102.169071,32.34248],[102.16909,32.342501],[102.16912,32.342534],[102.169129,32.342545],[102.169147,32.342589],[102.16913,32.342682],[102.169148,32.342717],[102.169168,32.342739],[102.16923,32.342777],[102.16933,32.3428],[102.169382,32.342887],[102.169483,32.342965],[102.169526,32.342982],[102.169633,32.343007],[102.169662,32.343027],[102.169675,32.343113],[102.169693,32.34315],[102.169716,32.343183],[102.169762,32.343222],[102.169723,32.343359],[102.16974,32.343422],[102.169767,32.343456],[102.169801,32.34347],[102.169867,32.343473],[102.16991,32.343487],[102.16993,32.343501],[102.169974,32.343566],[102.170012,32.343584],[102.170085,32.343598],[102.170178,32.343584],[102.170216,32.343578],[102.170253,32.343622],[102.170259,32.343651],[102.170254,32.343703],[102.170252,32.34373],[102.170278,32.3441],[102.170274,32.344147],[102.17025,32.344219],[102.170152,32.344396],[102.170104,32.344464],[102.170078,32.344489],[102.169965,32.344557],[102.169782,32.344693],[102.169763,32.344716],[102.169742,32.344742],[102.169724,32.344802],[102.169729,32.344829],[102.169747,32.344857],[102.169821,32.344921],[102.169903,32.344971],[102.169938,32.345017],[102.169951,32.3451],[102.169952,32.345233],[102.169974,32.345376],[102.169977,32.345398],[102.170054,32.345677],[102.170068,32.345763],[102.170101,32.345842],[102.170133,32.345886],[102.170143,32.345896],[102.170219,32.345971],[102.170262,32.345999],[102.170368,32.346048],[102.170402,32.346079],[102.170417,32.346112],[102.170425,32.346144],[102.170419,32.346185],[102.170335,32.34625],[102.170314,32.346288],[102.170297,32.346357],[102.170292,32.346408],[102.170278,32.346537],[102.170283,32.346606],[102.170302,32.346678],[102.170357,32.346782],[102.170398,32.346828],[102.170423,32.346844],[102.170465,32.346855],[102.170633,32.34686],[102.170662,32.346868],[102.170699,32.346909],[102.170727,32.346989],[102.170749,32.347024],[102.170787,32.347067],[102.170826,32.347085],[102.170881,32.347086],[102.170982,32.347058],[102.171085,32.346999],[102.171222,32.346903],[102.171288,32.34688],[102.171363,32.346853],[102.171455,32.346848],[102.171548,32.346866],[102.171613,32.346894],[102.171646,32.346928],[102.171671,32.347008],[102.171661,32.347055],[102.171562,32.347183],[102.171526,32.347229],[102.171437,32.34743],[102.171363,32.34756],[102.17103,32.348018],[102.171015,32.34806],[102.170996,32.34811],[102.170998,32.348207],[102.171014,32.348252],[102.171066,32.348296],[102.171121,32.34832],[102.171203,32.348334],[102.171262,32.348319],[102.171371,32.34826],[102.171541,32.348193],[102.171633,32.348157],[102.171713,32.348155],[102.17174,32.348176],[102.171758,32.348217],[102.171764,32.348254],[102.171756,32.348413],[102.171746,32.348432],[102.171697,32.348471],[102.171652,32.348522],[102.17164,32.348554],[102.17165,32.348581],[102.171718,32.348673],[102.171724,32.348696],[102.17171,32.348738],[102.17164,32.348765],[102.171618,32.348796],[102.171662,32.348993],[102.171672,32.349019],[102.171718,32.349139],[102.171786,32.349255],[102.171838,32.349308],[102.171929,32.349373],[102.171968,32.349411],[102.171983,32.349425],[102.172055,32.349517],[102.172113,32.349665],[102.172164,32.349765],[102.172178,32.349843],[102.172167,32.349904],[102.172128,32.349964],[102.171938,32.350074],[102.171907,32.350106],[102.171896,32.35013],[102.17189,32.350183],[102.171902,32.350277],[102.171938,32.350361],[102.172068,32.350508],[102.172169,32.350662],[102.172248,32.350737],[102.172475,32.350905],[102.172566,32.350973],[102.172618,32.351045],[102.172636,32.351095],[102.172634,32.351145],[102.172616,32.35121],[102.172582,32.351279],[102.17254,32.351329],[102.172431,32.351391],[102.17229,32.351448],[102.17226,32.351464],[102.172188,32.351504],[102.17211,32.351561],[102.17206,32.351623],[102.172034,32.351672],[102.171988,32.351756],[102.171954,32.351843],[102.171937,32.351919],[102.171934,32.352105],[102.17191,32.352192],[102.171882,32.352205],[102.171744,32.352198],[102.171706,32.352203],[102.171625,32.352249],[102.171604,32.35227],[102.171589,32.352302],[102.171592,32.352337],[102.171615,32.352391],[102.171626,32.352404],[102.171665,32.352448],[102.171722,32.352481],[102.171834,32.352528],[102.172203,32.352624],[102.172239,32.352665],[102.172272,32.35276],[102.172255,32.35327],[102.17223,32.353346],[102.172199,32.353378],[102.172148,32.353398],[102.172115,32.353399],[102.17193,32.353368],[102.171848,32.353345],[102.171727,32.353282],[102.171601,32.353232],[102.171572,32.353229],[102.171547,32.353236],[102.171509,32.353286],[102.1715,32.353331],[102.171519,32.353383],[102.171707,32.353686],[102.171789,32.353776],[102.171789,32.353806],[102.171753,32.353903],[102.171752,32.353948],[102.171773,32.354048],[102.171821,32.354155],[102.171823,32.354223],[102.171808,32.354257],[102.171785,32.354281],[102.171707,32.35433],[102.171537,32.354369],[102.171411,32.354429],[102.171355,32.354479],[102.171345,32.354493],[102.171312,32.354543],[102.171285,32.354639],[102.171297,32.354708],[102.171339,32.354748],[102.171395,32.354777],[102.171554,32.354859],[102.171573,32.354877],[102.171577,32.354915],[102.171556,32.354979],[102.171511,32.35505],[102.17149,32.355063],[102.171457,32.355066],[102.171395,32.35507],[102.171365,32.355086],[102.17135,32.355109],[102.171353,32.355127],[102.171384,32.355181],[102.171463,32.355266],[102.171473,32.355317],[102.171464,32.355352],[102.171439,32.355373],[102.171342,32.355415],[102.171199,32.355432],[102.171176,32.355448],[102.171164,32.355483],[102.171165,32.355509],[102.171176,32.355528],[102.171261,32.355566],[102.171305,32.355599],[102.171346,32.355649],[102.171372,32.355711],[102.171379,32.355773],[102.171329,32.355919],[102.171326,32.355972],[102.171364,32.356163],[102.171368,32.356279],[102.171391,32.35637],[102.171407,32.356401],[102.17143,32.356428],[102.17146,32.356446],[102.171552,32.356468],[102.17158,32.35647],[102.171642,32.356474],[102.171766,32.35645],[102.1718,32.356454],[102.171841,32.356496],[102.171863,32.356548],[102.171866,32.356598],[102.171849,32.356651],[102.17181,32.356693],[102.171479,32.35678],[102.17142,32.356808],[102.171401,32.35683],[102.171391,32.356879],[102.171401,32.356928],[102.171426,32.356954],[102.171502,32.356999],[102.171563,32.357065],[102.171565,32.357122],[102.171547,32.357157],[102.171486,32.357186],[102.171434,32.35719],[102.171309,32.357146],[102.171192,32.357081],[102.171125,32.357076],[102.171077,32.357091],[102.171047,32.357128],[102.171007,32.357212],[102.170997,32.357263],[102.170984,32.357553],[102.170972,32.357586],[102.170934,32.357632],[102.170912,32.357645],[102.170892,32.357643],[102.170817,32.357611],[102.170732,32.357562],[102.170676,32.357546],[102.170606,32.35755],[102.170529,32.357569],[102.170476,32.357598],[102.170426,32.357646],[102.17024,32.35793],[102.170221,32.35798],[102.170216,32.357994],[102.170225,32.358092],[102.170244,32.358132],[102.170256,32.358148],[102.170345,32.358277],[102.170366,32.358344],[102.170355,32.358375],[102.170265,32.358475],[102.170244,32.358498],[102.170224,32.358563],[102.170225,32.358642],[102.17023,32.358661],[102.170252,32.358731],[102.170367,32.358887],[102.170438,32.359024],[102.170472,32.359122],[102.170481,32.359192],[102.170478,32.359236],[102.170457,32.359262],[102.170404,32.359294],[102.170374,32.359304],[102.170223,32.359327],[102.170156,32.359349],[102.170051,32.359416],[102.170001,32.359484],[102.169963,32.35951],[102.169942,32.359512],[102.169894,32.359489],[102.169873,32.359472],[102.169857,32.359439],[102.169851,32.359377],[102.169867,32.359225],[102.169857,32.359184],[102.169831,32.359143],[102.169807,32.359126],[102.169753,32.35911],[102.169642,32.359099],[102.169593,32.359109],[102.169568,32.359126],[102.169537,32.359174],[102.169517,32.359237],[102.169516,32.359272],[102.169538,32.359405],[102.169549,32.359438],[102.169622,32.359654],[102.169621,32.359695],[102.169587,32.359745],[102.169536,32.359783],[102.169503,32.359791],[102.169426,32.359793],[102.169367,32.359825],[102.169307,32.359889],[102.169269,32.359971],[102.169243,32.359977],[102.169189,32.359971],[102.169095,32.359944],[102.169061,32.359925],[102.16904,32.359892],[102.168999,32.359727],[102.168987,32.359679],[102.168936,32.359644],[102.168892,32.359632],[102.168864,32.359632],[102.168822,32.359649],[102.168799,32.359669],[102.168736,32.359758],[102.168642,32.359892],[102.168509,32.359999],[102.168474,32.360055],[102.168461,32.360113],[102.168508,32.360247],[102.16851,32.360305],[102.168493,32.360332],[102.168329,32.360274],[102.168202,32.360208],[102.168135,32.3602],[102.168093,32.360207],[102.16792,32.360263],[102.16777,32.360267],[102.167718,32.360282],[102.167691,32.360307],[102.167662,32.360366],[102.167647,32.360453],[102.167602,32.360483],[102.167517,32.360499],[102.167423,32.360475],[102.16735,32.360467],[102.167309,32.360476],[102.167299,32.360485],[102.167292,32.360491],[102.167267,32.360568],[102.167272,32.360624],[102.167287,32.360669],[102.16733,32.360748],[102.167338,32.360762],[102.167385,32.360805],[102.167496,32.360826],[102.167508,32.360841],[102.16747,32.360919],[102.167426,32.360977],[102.167403,32.360995],[102.167326,32.361023],[102.167297,32.361049],[102.167291,32.361079],[102.167317,32.361267],[102.167298,32.361326],[102.167272,32.361357],[102.167177,32.361399],[102.167123,32.361436],[102.16708,32.361486],[102.167044,32.361546],[102.166951,32.361774],[102.166935,32.361833],[102.166928,32.361931],[102.166929,32.361939],[102.166941,32.362036],[102.167,32.362201],[102.167039,32.362247],[102.167095,32.362286],[102.167155,32.362305],[102.167195,32.362308],[102.167294,32.362299],[102.167412,32.36227],[102.167496,32.362266],[102.167529,32.362277],[102.167632,32.362341],[102.167687,32.362384],[102.167729,32.362436],[102.16774,32.362479],[102.167732,32.3628],[102.16775,32.362837],[102.16779,32.362878],[102.167823,32.362885],[102.16785,32.362873],[102.167862,32.362862],[102.167942,32.36278],[102.167971,32.362762],[102.168041,32.362751],[102.168063,32.362756],[102.168087,32.362825],[102.168085,32.362884],[102.168024,32.363037],[102.168006,32.363051],[102.167901,32.363064],[102.167846,32.363088],[102.167797,32.363124],[102.167783,32.363167],[102.167804,32.363226],[102.167823,32.363252],[102.167844,32.363266],[102.167879,32.363274],[102.168007,32.363276],[102.168025,32.363283],[102.168038,32.363307],[102.168045,32.36336],[102.168041,32.363372],[102.168021,32.363383],[102.167923,32.363402],[102.167807,32.363446],[102.167562,32.363567],[102.167037,32.363758],[102.166873,32.36383],[102.166824,32.363859],[102.166802,32.363901],[102.166783,32.364],[102.166782,32.364058],[102.166957,32.364539],[102.166967,32.364621],[102.166964,32.364696],[102.166962,32.364724],[102.16695,32.364749],[102.166903,32.364768],[102.166822,32.36478],[102.166729,32.364779],[102.166681,32.364791],[102.166648,32.364813],[102.166597,32.364869],[102.166573,32.364939],[102.166578,32.365003],[102.166609,32.365039],[102.166667,32.365059],[102.166765,32.365072],[102.166876,32.36506],[102.167163,32.364995],[102.167209,32.364984],[102.16735,32.364963],[102.167472,32.364956],[102.167658,32.364969],[102.167707,32.364984],[102.167772,32.365021],[102.16787,32.365104],[102.167919,32.365161],[102.167947,32.365194],[102.167986,32.365265],[102.16801,32.36534],[102.168009,32.365413],[102.167994,32.365468],[102.16797,32.365495],[102.167908,32.365525],[102.167769,32.365546],[102.167709,32.365578],[102.167653,32.365625],[102.167606,32.36568],[102.167581,32.365729],[102.167573,32.365776],[102.167577,32.365817],[102.167593,32.365852],[102.167646,32.365909],[102.167681,32.365928],[102.167735,32.365924],[102.167841,32.365877],[102.16786,32.365875],[102.16788,32.365885],[102.167908,32.365912],[102.167918,32.365934],[102.167907,32.366011],[102.167853,32.36611],[102.167739,32.366152],[102.167694,32.366179],[102.167614,32.366242],[102.16758,32.366279],[102.167542,32.366341],[102.167533,32.366374],[102.167545,32.366463],[102.167567,32.3665],[102.167592,32.366519],[102.167653,32.36654],[102.167746,32.366553],[102.1678,32.366549],[102.167941,32.366518],[102.168047,32.366471],[102.168128,32.366436],[102.168223,32.366436],[102.16831,32.36646],[102.168316,32.366464],[102.168354,32.36649],[102.168381,32.366519],[102.168404,32.366558],[102.168429,32.3666],[102.168464,32.366718],[102.168486,32.366788],[102.168482,32.366907],[102.168504,32.366954],[102.168547,32.366978],[102.168628,32.366998],[102.168645,32.367002],[102.168663,32.367001],[102.168738,32.366995],[102.168829,32.366988],[102.168878,32.366994],[102.168976,32.367031],[102.169023,32.36706],[102.169052,32.367089],[102.169066,32.367124],[102.16907,32.367174],[102.169049,32.367237],[102.168976,32.367326],[102.168907,32.367455],[102.168828,32.367566],[102.168738,32.367663],[102.168652,32.367733],[102.168603,32.367816],[102.168597,32.36788],[102.168637,32.367966],[102.168635,32.368045],[102.168616,32.368117],[102.168552,32.36817],[102.168535,32.368194],[102.168529,32.368238],[102.168541,32.36829],[102.168577,32.368347],[102.168625,32.368368],[102.168687,32.36837],[102.168739,32.368364],[102.168831,32.368328],[102.168881,32.368338],[102.168944,32.368372],[102.169007,32.368433],[102.169072,32.368451],[102.169112,32.368441],[102.169155,32.368383],[102.169178,32.368363],[102.169185,32.368357],[102.169313,32.368295],[102.169356,32.368282],[102.169427,32.368274],[102.169469,32.368277],[102.169487,32.368279],[102.169507,32.368289],[102.169512,32.368345],[102.169514,32.368363],[102.169498,32.368414],[102.169462,32.368533],[102.169462,32.368612],[102.169472,32.368669],[102.1695,32.368737],[102.16961,32.368871],[102.169668,32.368941],[102.169684,32.368983],[102.16969,32.369029],[102.169687,32.369057],[102.169685,32.369077],[102.169684,32.36909],[102.169682,32.369114],[102.169664,32.36919],[102.169619,32.369298],[102.169595,32.369384],[102.169589,32.369443],[102.169594,32.369468],[102.169625,32.369514],[102.169694,32.369575],[102.169718,32.369591],[102.169858,32.369687],[102.169895,32.369735],[102.169914,32.369784],[102.169884,32.369886],[102.169856,32.369935],[102.1698,32.369988],[102.169709,32.370051],[102.169656,32.370114],[102.169651,32.370131],[102.169658,32.370152],[102.169752,32.370221],[102.16974,32.370263],[102.169715,32.37028],[102.169611,32.370292],[102.169547,32.370323],[102.169507,32.370358],[102.16948,32.370425],[102.169484,32.370471],[102.169517,32.370542],[102.169533,32.37063],[102.16956,32.37069],[102.169604,32.370733],[102.169626,32.370755],[102.169781,32.37086],[102.169801,32.370894],[102.169799,32.370951],[102.169759,32.37098],[102.169705,32.370998],[102.169495,32.370997],[102.16947,32.370981],[102.169383,32.370867],[102.16934,32.370827],[102.169328,32.370822],[102.169286,32.370803],[102.169248,32.370797],[102.169226,32.370803],[102.169209,32.370821],[102.169193,32.370869],[102.169204,32.370976],[102.1692,32.371021],[102.169126,32.371047],[102.169103,32.371085],[102.169099,32.371108],[102.169115,32.371142],[102.169229,32.371224],[102.169271,32.371268],[102.169288,32.371316],[102.169289,32.371398],[102.169268,32.371455],[102.169184,32.37148],[102.169127,32.371533],[102.169064,32.371659],[102.16904,32.371789],[102.16905,32.371847],[102.169077,32.371883],[102.169115,32.371908],[102.169142,32.371925],[102.16925,32.37195],[102.169273,32.371982],[102.169276,32.371999],[102.169145,32.372039],[102.169128,32.372053],[102.169121,32.372068],[102.169142,32.372129],[102.169167,32.372149],[102.169231,32.372176],[102.169236,32.372212],[102.169223,32.372225],[102.16898,32.372278],[102.168864,32.372323],[102.168815,32.372373],[102.168781,32.372437],[102.16876,32.372475],[102.168743,32.372533],[102.168746,32.372591],[102.168759,32.372618],[102.168799,32.372651],[102.16885,32.372657],[102.168924,32.37263],[102.168971,32.372595],[102.169001,32.372555],[102.169023,32.372497],[102.169044,32.372487],[102.169065,32.372477],[102.169111,32.37248],[102.169107,32.372562],[102.169106,32.372597],[102.169122,32.372671],[102.169134,32.372691],[102.169156,32.37271],[102.169163,32.372715],[102.169308,32.372778],[102.169316,32.372826],[102.1693,32.372875],[102.16928,32.372897],[102.168963,32.373085],[102.168886,32.373145],[102.16888,32.373168],[102.168894,32.37321],[102.168973,32.373364],[102.16897,32.373441],[102.168953,32.373479],[102.168927,32.373507],[102.168914,32.373512],[102.168792,32.373495],[102.168688,32.373499],[102.16814,32.373634],[102.168012,32.373713],[102.167943,32.373783],[102.167914,32.373867],[102.167914,32.373875],[102.167903,32.373986],[102.167917,32.374041],[102.167963,32.374101],[102.168037,32.374152],[102.168154,32.374188],[102.168218,32.374189],[102.168245,32.374181],[102.168253,32.374179],[102.168365,32.37413],[102.168456,32.37408],[102.168496,32.374076],[102.168525,32.374086],[102.168551,32.374145],[102.168555,32.374178],[102.168546,32.374193],[102.168516,32.374192],[102.168461,32.374166],[102.168432,32.374166],[102.168397,32.374181],[102.16838,32.374212],[102.16839,32.374252],[102.168458,32.374334],[102.168512,32.374461],[102.168539,32.374492],[102.168618,32.374552],[102.168663,32.374557],[102.168764,32.374531],[102.168783,32.374539],[102.168816,32.374569],[102.168821,32.374578],[102.168835,32.374604],[102.168832,32.374631],[102.168822,32.374641],[102.168812,32.374645],[102.168705,32.374678],[102.168654,32.374709],[102.168641,32.374718],[102.168621,32.37474],[102.168604,32.374778],[102.168615,32.374837],[102.168637,32.374857],[102.168681,32.374878],[102.168761,32.374876],[102.16881,32.374919],[102.168843,32.37493],[102.168884,32.374919],[102.168897,32.374911],[102.168904,32.374906],[102.168935,32.37485],[102.16895,32.374837],[102.168987,32.374825],[102.169009,32.374825],[102.169026,32.374964],[102.169014,32.374997],[102.168992,32.375016],[102.168965,32.375025],[102.168949,32.37503],[102.168914,32.375041],[102.168885,32.375061],[102.168866,32.375089],[102.168829,32.37521],[102.168753,32.375359],[102.168711,32.375392],[102.168673,32.375396],[102.168653,32.375412],[102.168653,32.375429],[102.168668,32.37546],[102.168723,32.375521],[102.168803,32.375581],[102.168846,32.375582],[102.16886,32.37557],[102.168879,32.375524],[102.16887,32.375496],[102.168844,32.375478],[102.168844,32.375471],[102.168871,32.375464],[102.168961,32.375463],[102.168996,32.375454],[102.169025,32.375441],[102.169059,32.37541],[102.169071,32.37531],[102.169075,32.375271],[102.169104,32.375203],[102.169121,32.375165],[102.169196,32.37518],[102.169205,32.375182],[102.169256,32.375182],[102.169297,32.375159],[102.169344,32.375096],[102.169419,32.375068],[102.169455,32.375089],[102.169482,32.375151],[102.169486,32.375188],[102.169355,32.375259],[102.169341,32.375289],[102.169348,32.375319],[102.169391,32.375347],[102.169452,32.375366],[102.169513,32.375344],[102.169565,32.375289],[102.169585,32.375302],[102.169599,32.375325],[102.169606,32.375396],[102.169599,32.375427],[102.169524,32.375495],[102.169497,32.375535],[102.169493,32.375565],[102.169506,32.375598],[102.169511,32.375609],[102.169584,32.375661],[102.16963,32.375669],[102.169652,32.375662],[102.169717,32.375606],[102.169758,32.375595],[102.1698,32.375635],[102.169854,32.375672],[102.169956,32.375702],[102.169955,32.375757],[102.169921,32.375785],[102.169772,32.375806],[102.169625,32.375792],[102.169565,32.375793],[102.169532,32.375813],[102.169503,32.375863],[102.169497,32.375895],[102.169503,32.375921],[102.169542,32.37595],[102.169586,32.375959],[102.169675,32.375951],[102.169721,32.375955],[102.169733,32.37598],[102.169731,32.375996],[102.169667,32.376042],[102.169655,32.376069],[102.169658,32.376089],[102.169696,32.37613],[102.169724,32.376146],[102.169828,32.376162],[102.169846,32.376197],[102.16972,32.376269],[102.169689,32.376298],[102.16968,32.376327],[102.169707,32.376378],[102.169706,32.376394],[102.169698,32.376419],[102.169674,32.376454],[102.169641,32.376463],[102.169608,32.37645],[102.169547,32.376445],[102.1695,32.376463],[102.169481,32.376482],[102.169469,32.376521],[102.169481,32.376592],[102.169411,32.376683],[102.169417,32.376701],[102.169433,32.376716],[102.169478,32.376734],[102.169564,32.37674],[102.169601,32.376733],[102.169628,32.376779],[102.169645,32.376827],[102.169643,32.376861],[102.16963,32.376884],[102.169552,32.376952],[102.169533,32.37699],[102.169542,32.377018],[102.169588,32.377048],[102.169595,32.377064],[102.169582,32.377135],[102.169584,32.377234],[102.169554,32.377361],[102.169517,32.377365],[102.169487,32.377396],[102.169476,32.377519],[102.169432,32.377562],[102.169398,32.377567],[102.169384,32.377547],[102.169367,32.377481],[102.169344,32.377461],[102.169309,32.37745],[102.16929,32.377458],[102.169256,32.377492],[102.169204,32.377521],[102.169122,32.37754],[102.169104,32.377517],[102.169078,32.377458],[102.169062,32.377442],[102.169022,32.377418],[102.169013,32.377412],[102.168961,32.377401],[102.168897,32.377405],[102.168878,32.377413],[102.16884,32.377462],[102.168839,32.377493],[102.168867,32.377543],[102.169062,32.377678],[102.169121,32.377747],[102.169133,32.377781],[102.169139,32.3778],[102.169125,32.377829],[102.169089,32.377852],[102.169081,32.377878],[102.169085,32.377896],[102.169267,32.378134],[102.169366,32.378216],[102.169406,32.378264],[102.169415,32.378299],[102.169397,32.378371],[102.169417,32.378418],[102.169569,32.37854],[102.169701,32.378599],[102.16983,32.378681],[102.169923,32.378717],[102.170006,32.378733],[102.17003,32.378737],[102.170037,32.378771],[102.170043,32.378964],[102.170032,32.378983],[102.170025,32.378995],[102.169959,32.379055],[102.169948,32.379087],[102.169968,32.37916],[102.170007,32.379205],[102.170021,32.379268],[102.17007,32.379335],[102.170131,32.379421],[102.170135,32.379444],[102.170108,32.379481],[102.170086,32.379494],[102.170063,32.379508],[102.169967,32.37946],[102.169936,32.379464],[102.169896,32.379486],[102.169876,32.37952],[102.169877,32.379541],[102.169927,32.379628],[102.169959,32.37974],[102.16996,32.379769],[102.169943,32.37978],[102.169856,32.37974],[102.169819,32.379736],[102.169803,32.379745],[102.16978,32.379776],[102.169766,32.379849],[102.16978,32.379947],[102.169812,32.379992],[102.169842,32.380008],[102.169867,32.380011],[102.169991,32.379968],[102.170022,32.37997],[102.170048,32.379984],[102.170071,32.38001],[102.170084,32.380069],[102.170052,32.380128],[102.170017,32.380158],[102.16995,32.380176],[102.16985,32.380187],[102.169811,32.380203],[102.169658,32.380312],[102.169519,32.380374],[102.169498,32.380404],[102.169495,32.38043],[102.169541,32.380485],[102.169573,32.380514],[102.169801,32.38073],[102.169856,32.380804],[102.1699,32.380833],[102.169953,32.380838],[102.170001,32.380819],[102.170031,32.38079],[102.170051,32.380736],[102.170129,32.380682],[102.17019,32.380664],[102.170201,32.380664],[102.170213,32.380664],[102.170228,32.380672],[102.170243,32.380706],[102.170237,32.380746],[102.170226,32.380755],[102.170162,32.380814],[102.170111,32.380859],[102.17008,32.380928],[102.170083,32.380965],[102.170116,32.380999],[102.170136,32.381006],[102.170184,32.381022],[102.170252,32.381034],[102.1703,32.381028],[102.170313,32.381027],[102.170402,32.380993],[102.170411,32.381012],[102.17041,32.381035],[102.17038,32.38109],[102.170324,32.381115],[102.170283,32.381133],[102.170248,32.381168],[102.170223,32.381212],[102.17021,32.381261],[102.170209,32.381299],[102.170219,32.38134],[102.170238,32.381368],[102.170233,32.381406],[102.170226,32.381416],[102.170198,32.381417],[102.170163,32.381436],[102.170155,32.381529],[102.170123,32.381548],[102.170115,32.381563],[102.170151,32.381649],[102.170137,32.381729],[102.17011,32.38176],[102.170082,32.381776],[102.169969,32.381775],[102.169916,32.381785],[102.16989,32.381807],[102.16989,32.381849],[102.169986,32.382001],[102.170029,32.382121],[102.170053,32.382187],[102.170089,32.382224],[102.170129,32.382233],[102.170168,32.38223],[102.170189,32.382245],[102.170224,32.382298],[102.170233,32.382311],[102.170276,32.382424],[102.1703,32.382457],[102.170357,32.3825],[102.170403,32.382554],[102.17044,32.38257],[102.170486,32.382573],[102.170517,32.382564],[102.170571,32.382549],[102.170605,32.38254],[102.170627,32.382546],[102.170709,32.382594],[102.17077,32.382669],[102.170786,32.38271],[102.170783,32.382744],[102.170679,32.383003],[102.170641,32.383081],[102.170601,32.383166],[102.17053,32.38324],[102.170387,32.383301],[102.170305,32.383353],[102.170276,32.383384],[102.170266,32.383394],[102.170254,32.383431],[102.170263,32.383499],[102.1703,32.383573],[102.170312,32.383597],[102.170391,32.383721],[102.170437,32.383764],[102.170477,32.38378],[102.17054,32.383806],[102.170566,32.383838],[102.17057,32.383861],[102.170542,32.383997],[102.170512,32.384046],[102.170453,32.38408],[102.170379,32.384108],[102.170241,32.384142],[102.170167,32.384179],[102.170114,32.384232],[102.170094,32.384291],[102.170101,32.38434],[102.170112,32.38436],[102.170138,32.384382],[102.170284,32.384454],[102.170451,32.384503],[102.170476,32.384524],[102.170517,32.384628],[102.170615,32.384752],[102.170646,32.384821],[102.170657,32.384891],[102.170657,32.385033],[102.170606,32.385091],[102.170576,32.385106],[102.170544,32.385112],[102.170513,32.385111],[102.170474,32.385098],[102.170445,32.385062],[102.170419,32.385047],[102.170356,32.385045],[102.170285,32.385077],[102.170207,32.385147],[102.170178,32.385199],[102.170183,32.385245],[102.17031,32.385366],[102.170333,32.385419],[102.170304,32.385444],[102.170203,32.3855],[102.170209,32.385536],[102.170167,32.385569],[102.170108,32.385784],[102.170015,32.385858],[102.169944,32.385946],[102.169867,32.386081],[102.169857,32.386111],[102.16983,32.386195],[102.169838,32.386258],[102.169856,32.386286],[102.169927,32.38633],[102.169938,32.386337],[102.170088,32.386394],[102.170126,32.386438],[102.170136,32.386465],[102.170127,32.386511],[102.170082,32.386548],[102.170049,32.386559],[102.169927,32.386579],[102.169882,32.386604],[102.169861,32.386637],[102.169867,32.386677],[102.169897,32.386712],[102.169933,32.386753],[102.169999,32.386921],[102.170029,32.386963],[102.170057,32.386982],[102.170072,32.386993],[102.170143,32.387018],[102.170225,32.387013],[102.17026,32.387022],[102.17029,32.387052],[102.170294,32.387056],[102.170298,32.387088],[102.170272,32.387137],[102.170167,32.387193],[102.170015,32.387232],[102.169989,32.387242],[102.169979,32.387248],[102.169878,32.387286],[102.169648,32.387353],[102.169345,32.387398],[102.169289,32.387423],[102.169242,32.387471],[102.169239,32.387476],[102.169195,32.38756],[102.169185,32.38761],[102.169194,32.387663],[102.169162,32.38768],[102.169185,32.387711],[102.169219,32.387728],[102.169262,32.387734],[102.169325,32.387735],[102.169376,32.387748],[102.169411,32.387776],[102.169418,32.387779],[102.169447,32.387798],[102.169489,32.38785],[102.169543,32.387957],[102.169538,32.387984],[102.169525,32.387997],[102.169491,32.388002],[102.169446,32.387997],[102.16944,32.387997],[102.169433,32.387997],[102.169427,32.387998],[102.169422,32.388],[102.169389,32.388012],[102.169383,32.388014],[102.169378,32.388018],[102.169373,32.388022],[102.169369,32.388026],[102.169322,32.388089],[102.169323,32.388123],[102.169358,32.38817],[102.169454,32.38823],[102.169541,32.388284],[102.169601,32.388324],[102.16964,32.38834],[102.169652,32.388339],[102.169688,32.388329],[102.169707,32.388312],[102.169784,32.388289],[102.169816,32.38829],[102.169845,32.388303],[102.169912,32.388356],[102.169955,32.388416],[102.169967,32.388471],[102.169996,32.388564],[102.170087,32.388637],[102.170104,32.38866],[102.17012,32.388663],[102.170133,32.388674],[102.170597,32.389047],[102.170616,32.389186],[102.170643,32.38922],[102.170649,32.389249],[102.170641,32.389284],[102.170631,32.389302],[102.1707,32.389803],[102.170688,32.390169],[102.170687,32.390204],[102.170679,32.390479],[102.170661,32.390492],[102.170641,32.390528],[102.170655,32.390583],[102.170666,32.3906],[102.170642,32.390776],[102.170637,32.390813],[102.170614,32.390974],[102.170609,32.391013],[102.170568,32.391306],[102.170806,32.391705],[102.170823,32.391733],[102.170849,32.391778],[102.17169,32.391941],[102.172497,32.391815],[102.172758,32.391853],[102.17277,32.391855],[102.172826,32.391863],[102.172956,32.391882],[102.173086,32.3919],[102.173102,32.392034],[102.173109,32.392091],[102.173113,32.392123],[102.17316,32.392508],[102.173166,32.392559],[102.173187,32.392727],[102.1732,32.392827],[102.173205,32.392866],[102.173208,32.39289],[102.173214,32.392941],[102.173289,32.393519],[102.173699,32.394124],[102.173727,32.394165],[102.173734,32.394174],[102.173814,32.394176],[102.173881,32.394177],[102.174325,32.394187],[102.174762,32.393731],[102.174763,32.393681],[102.174765,32.393624],[102.174767,32.393573],[102.174777,32.393229],[102.175201,32.393203],[102.175611,32.393369],[102.175632,32.393375],[102.175651,32.393383],[102.175933,32.393496],[102.176002,32.393524],[102.176065,32.393549],[102.176244,32.393621],[102.176434,32.393693],[102.176551,32.393737],[102.176618,32.393763],[102.176719,32.393801],[102.176767,32.393819],[102.176874,32.39386],[102.1769,32.39387],[102.177247,32.394002],[102.178007,32.394204],[102.178067,32.394221],[102.178127,32.394237],[102.178118,32.394259],[102.178099,32.394304],[102.177899,32.394769],[102.177087,32.395528],[102.176606,32.396474],[102.17674,32.397624],[102.176743,32.397648],[102.176769,32.397807],[102.176776,32.397853],[102.176786,32.397915],[102.177022,32.3994],[102.177688,32.401566],[102.177736,32.403623],[102.177831,32.407833],[102.177899,32.409269],[102.178143,32.41047],[102.178906,32.411703],[102.180106,32.412881],[102.180948,32.414017],[102.181391,32.415177],[102.182047,32.415903],[102.182793,32.416292],[102.183051,32.416975],[102.183905,32.417738],[102.184315,32.418695],[102.184373,32.419374],[102.184198,32.419877],[102.183544,32.420371],[102.182488,32.420956],[102.181511,32.421577],[102.180403,32.422568],[102.180289,32.422689],[102.179495,32.423529],[102.178769,32.42507],[102.178134,32.426207],[102.17782,32.427317],[102.177956,32.428098],[102.177654,32.428802],[102.177884,32.430398],[102.178558,32.431835],[102.17904,32.432997],[102.179353,32.434493],[102.179334,32.435102],[102.179828,32.435892],[102.180074,32.43698],[102.179974,32.437621],[102.179582,32.438662],[102.178953,32.439629],[102.178165,32.440593],[102.176729,32.4431],[102.176494,32.444245],[102.176604,32.445839],[102.176963,32.447133],[102.177262,32.449069],[102.177301,32.450356],[102.17725,32.450899],[102.177122,32.452248],[102.177051,32.453262],[102.177609,32.45456],[102.178293,32.455659],[102.179957,32.457355],[102.180516,32.458653],[102.181184,32.460259],[102.182061,32.461599],[102.182871,32.462497],[102.184357,32.463512],[102.185543,32.463877],[102.186502,32.463865],[102.187653,32.46406],[102.188354,32.464651],[102.189001,32.465647],[102.189325,32.466805],[102.189451,32.467891],[102.189841,32.468837],[102.189859,32.468882],[102.189859,32.468887],[102.189853,32.470371],[102.189847,32.470541],[102.189845,32.470611],[102.189816,32.471555],[102.190121,32.472689],[102.190209,32.473019],[102.190869,32.473643],[102.191625,32.475014],[102.191566,32.475622],[102.191362,32.477039],[102.191084,32.478285],[102.190829,32.48004],[102.190431,32.482569],[102.190356,32.483147],[102.190347,32.483219],[102.190247,32.483987],[102.190245,32.484007],[102.190116,32.484999],[102.190196,32.48754],[102.190146,32.489163],[102.190308,32.49166],[102.190407,32.493101],[102.190422,32.493317],[102.190289,32.493264],[102.190041,32.493187],[102.189735,32.49318],[102.18965,32.493201],[102.189537,32.49327],[102.189418,32.493503],[102.189328,32.493713],[102.189211,32.493923],[102.189121,32.494108],[102.188996,32.494439],[102.18897,32.494508],[102.18882,32.494909],[102.18867,32.495309],[102.188546,32.495638],[102.188422,32.495968],[102.188242,32.496378],[102.188062,32.496789],[102.187883,32.4972],[102.187703,32.49761],[102.187523,32.498021],[102.187445,32.498283],[102.187368,32.498545],[102.18729,32.498807],[102.187213,32.499069],[102.187135,32.499331],[102.187058,32.499593],[102.18698,32.499855],[102.186903,32.500116],[102.186895,32.500143],[102.186803,32.500435],[102.18671,32.500727],[102.186614,32.501126],[102.186482,32.501323],[102.186351,32.501519],[102.186282,32.501581],[102.186155,32.501696],[102.18596,32.501872],[102.185764,32.502048],[102.185568,32.502224],[102.185373,32.5024],[102.185177,32.502576],[102.184977,32.502736],[102.184777,32.502897],[102.184577,32.503057],[102.184378,32.503218],[102.184178,32.503378],[102.184055,32.503476],[102.183978,32.503538],[102.183769,32.503671],[102.183561,32.503804],[102.183353,32.503936],[102.183144,32.504069],[102.182936,32.504202],[102.182728,32.504334],[102.182566,32.504537],[102.182403,32.504739],[102.182241,32.504941],[102.182079,32.505143],[102.181916,32.505345],[102.181754,32.505547],[102.181592,32.505749],[102.181429,32.505951],[102.181267,32.506153],[102.181105,32.506355],[102.180942,32.506557],[102.18078,32.506759],[102.180611,32.506935],[102.180442,32.507111],[102.180273,32.507287],[102.180104,32.507462],[102.179935,32.507638],[102.179766,32.507814],[102.179597,32.50799],[102.179428,32.508165],[102.179254,32.50831],[102.179079,32.508454],[102.178905,32.508599],[102.178731,32.508743],[102.178556,32.508887],[102.178382,32.509032],[102.178208,32.509176],[102.178033,32.509321],[102.177859,32.509465],[102.177685,32.50961],[102.177468,32.509723],[102.177251,32.509835],[102.177035,32.509948],[102.176818,32.510061],[102.176601,32.510174],[102.176384,32.510287],[102.176147,32.510417],[102.17591,32.510547],[102.175673,32.510677],[102.175436,32.510807],[102.175198,32.510937],[102.174961,32.511067],[102.174724,32.511197],[102.174487,32.511327],[102.174155,32.511563],[102.173822,32.511799],[102.17349,32.512035],[102.173305,32.512184],[102.173119,32.512332],[102.172934,32.512481],[102.172748,32.512629],[102.172694,32.512692],[102.17258,32.512823],[102.172412,32.513017],[102.172244,32.513211],[102.172076,32.513404],[102.171907,32.513598],[102.171739,32.513792],[102.171571,32.513986],[102.171403,32.514179],[102.171235,32.514373],[102.171066,32.514567],[102.170878,32.514742],[102.17069,32.514918],[102.170501,32.515094],[102.170313,32.515269],[102.170124,32.515445],[102.169936,32.515621],[102.169748,32.515796],[102.169559,32.515972],[102.169371,32.516148],[102.169182,32.516323],[102.168994,32.516499],[102.168805,32.516675],[102.168617,32.51685],[102.168429,32.517026],[102.168222,32.517192],[102.168015,32.517358],[102.167808,32.517525],[102.167601,32.517691],[102.167394,32.517857],[102.167187,32.518023],[102.166981,32.518189],[102.166774,32.518356],[102.166567,32.518522],[102.16636,32.518688],[102.166153,32.518854],[102.165946,32.51902],[102.16574,32.519187],[102.165533,32.519353],[102.165351,32.519507],[102.165169,32.519661],[102.164987,32.519815],[102.164806,32.519969],[102.164624,32.520123],[102.164442,32.520277],[102.16426,32.520431],[102.164078,32.520585],[102.163897,32.520739],[102.163715,32.520894],[102.163533,32.521048],[102.163351,32.521202],[102.16317,32.521356],[102.163048,32.521459],[102.162988,32.52151],[102.16279,32.521653],[102.162593,32.521797],[102.162395,32.52194],[102.162198,32.522084],[102.162,32.522227],[102.161803,32.522371],[102.161605,32.522514],[102.161408,32.522658],[102.16121,32.522801],[102.161013,32.522945],[102.160816,32.523088],[102.160618,32.523232],[102.160421,32.523375],[102.160223,32.523519],[102.160165,32.523555],[102.160001,32.523658],[102.159779,32.523798],[102.159557,32.523938],[102.159336,32.524077],[102.159114,32.524217],[102.158892,32.524356],[102.15867,32.524496],[102.158448,32.524635],[102.158226,32.524775],[102.158004,32.524914],[102.157782,32.525054],[102.15756,32.525193],[102.157338,32.525333],[102.1572,32.52542],[102.157117,32.525473],[102.157002,32.525578],[102.156787,32.525777],[102.156457,32.526082],[102.156128,32.526386],[102.155798,32.526691],[102.155603,32.526858],[102.155409,32.527026],[102.155214,32.527193],[102.155019,32.52736],[102.154825,32.527528],[102.15463,32.527695],[102.154436,32.527863],[102.154241,32.52803],[102.154046,32.528198],[102.153852,32.528365],[102.153549,32.528688],[102.153246,32.529011],[102.153017,32.52923],[102.152787,32.529448],[102.152614,32.529667],[102.15244,32.529887],[102.15235,32.530097],[102.15226,32.530307],[102.152196,32.530576],[102.152132,32.530845],[102.15211,32.53108],[102.152089,32.531315],[102.152024,32.531573],[102.151893,32.53177],[102.151762,32.531968],[102.151691,32.53207],[102.151631,32.532157],[102.1515,32.532346],[102.151368,32.532535],[102.151237,32.532724],[102.151106,32.532913],[102.150975,32.533102],[102.150843,32.533291],[102.150712,32.53348],[102.150581,32.533669],[102.15045,32.533858],[102.150287,32.534054],[102.150123,32.534249],[102.14996,32.534444],[102.149797,32.53464],[102.149634,32.534835],[102.14947,32.53503],[102.149307,32.535226],[102.149144,32.535421],[102.149072,32.535662],[102.148999,32.535904],[102.148927,32.536146],[102.148854,32.536387],[102.148782,32.536629],[102.148709,32.536871],[102.148555,32.537267],[102.148463,32.537572],[102.148421,32.537994],[102.148427,32.538265],[102.148433,32.538536],[102.148516,32.538767],[102.148599,32.538998],[102.148682,32.53923],[102.148766,32.539461],[102.148849,32.539693],[102.148932,32.539924],[102.149015,32.540156],[102.149098,32.540387],[102.149217,32.540613],[102.149335,32.540838],[102.149395,32.541123],[102.149455,32.541407],[102.149462,32.541785],[102.149465,32.541969],[102.149408,32.54223],[102.149351,32.54249],[102.149294,32.542751],[102.149237,32.543011],[102.14918,32.543272],[102.149123,32.543533],[102.149065,32.543793],[102.149008,32.544054],[102.148965,32.544288],[102.148921,32.544523],[102.148878,32.544757],[102.148834,32.544992],[102.148791,32.545226],[102.148747,32.545461],[102.148703,32.545695],[102.14866,32.54593],[102.148616,32.546164],[102.148573,32.546399],[102.148563,32.546676],[102.148554,32.546954],[102.148544,32.547232],[102.148535,32.547509],[102.148525,32.547787],[102.148516,32.548064],[102.148485,32.548456],[102.148485,32.548457],[102.148485,32.548457],[102.148454,32.548848],[102.148423,32.54924],[102.148388,32.549451],[102.148277,32.549748],[102.148266,32.549777],[102.148095,32.549926],[102.147923,32.550075],[102.14758,32.55035],[102.147237,32.550625],[102.147037,32.550797],[102.146879,32.550933],[102.146836,32.550969],[102.146715,32.55107],[102.146657,32.551118],[102.146479,32.551267],[102.1463,32.551416],[102.146121,32.551565],[102.146048,32.551652],[102.14587,32.551866],[102.145619,32.552166],[102.145368,32.552466],[102.145221,32.55268],[102.145113,32.552837],[102.145074,32.552894],[102.144927,32.553107],[102.14478,32.553321],[102.144633,32.553535],[102.144486,32.553749],[102.144339,32.553963],[102.144192,32.554176],[102.144142,32.554246],[102.144052,32.554371],[102.143912,32.554565],[102.143772,32.55476],[102.143633,32.554955],[102.143493,32.555149],[102.143353,32.555344],[102.143214,32.555538],[102.143074,32.555733],[102.142934,32.555928],[102.142798,32.556117],[102.142795,32.556122],[102.142746,32.556158],[102.142595,32.556271],[102.142395,32.556419],[102.142204,32.556558],[102.14209,32.556641],[102.142081,32.556648],[102.141954,32.556715],[102.141742,32.556828],[102.141582,32.556863],[102.141348,32.556914],[102.140972,32.556929],[102.140596,32.556943],[102.140177,32.556981],[102.139758,32.557019],[102.139507,32.557014],[102.139257,32.557008],[102.138978,32.557025],[102.138699,32.557042],[102.13842,32.557047],[102.138142,32.557053],[102.137905,32.557083],[102.137667,32.557113],[102.1374,32.557189],[102.137133,32.557266],[102.136737,32.557445],[102.136506,32.557699],[102.136304,32.557929],[102.136102,32.558159],[102.135934,32.558364],[102.135765,32.558568],[102.135596,32.558773],[102.135428,32.558977],[102.135259,32.559182],[102.13509,32.559386],[102.134921,32.55959],[102.134753,32.559795],[102.134585,32.559948],[102.134418,32.560101],[102.134251,32.560254],[102.134083,32.560407],[102.133916,32.56056],[102.133749,32.560713],[102.133438,32.560859],[102.133126,32.561005],[102.132816,32.56114],[102.132506,32.561274],[102.132224,32.561385],[102.131942,32.561496],[102.131606,32.561559],[102.13127,32.561622],[102.131011,32.561669],[102.130752,32.561716],[102.130493,32.561763],[102.130233,32.56181],[102.129813,32.561895],[102.129553,32.561966],[102.129293,32.562036],[102.129034,32.562107],[102.128774,32.562177],[102.128521,32.562254],[102.128268,32.56233],[102.128014,32.562407],[102.127929,32.562433],[102.127761,32.562484],[102.127508,32.56256],[102.127255,32.562637],[102.127002,32.562713],[102.126749,32.56279],[102.126524,32.562855],[102.126299,32.562921],[102.126172,32.562948],[102.125795,32.563027],[102.125542,32.563022],[102.125197,32.562955],[102.124851,32.562888],[102.124607,32.562718],[102.124335,32.562499],[102.12416,32.562331],[102.123984,32.562162],[102.123856,32.561962],[102.123728,32.561761],[102.1236,32.56156],[102.123472,32.561359],[102.123268,32.561225],[102.123064,32.56109],[102.122761,32.560966],[102.122457,32.560889],[102.122384,32.56087],[102.122153,32.560812],[102.121919,32.560747],[102.121685,32.560682],[102.12145,32.560642],[102.121215,32.560601],[102.120937,32.560559],[102.12066,32.560517],[102.120405,32.560492],[102.120151,32.560467],[102.119896,32.560441],[102.119642,32.560416],[102.119387,32.560391],[102.119133,32.560365],[102.118701,32.560367],[102.118348,32.560368],[102.118269,32.560368],[102.117906,32.560395],[102.117543,32.560422],[102.11718,32.560449],[102.116817,32.560476],[102.116466,32.560563],[102.116116,32.56065],[102.115863,32.560761],[102.115611,32.560872],[102.115359,32.560983],[102.115107,32.561095],[102.114855,32.561206],[102.114603,32.561317],[102.114353,32.561423],[102.114102,32.561529],[102.113852,32.561636],[102.113601,32.561742],[102.113351,32.561848],[102.1131,32.561954],[102.11285,32.56206],[102.112599,32.562166],[102.112396,32.562265],[102.112192,32.562364],[102.111988,32.562463],[102.111785,32.562562],[102.111581,32.562661],[102.111377,32.562759],[102.111173,32.562858],[102.11097,32.562957],[102.110766,32.563056],[102.110562,32.563155],[102.110374,32.56328],[102.110186,32.563405],[102.109997,32.563531],[102.109809,32.563656],[102.109631,32.563774],[102.10962,32.563781],[102.109533,32.563839],[102.109432,32.563906],[102.109243,32.564031],[102.109055,32.564157],[102.108827,32.564304],[102.1086,32.564452],[102.108372,32.5646],[102.108144,32.564748],[102.108007,32.564837],[102.107991,32.564847],[102.107917,32.564895],[102.107839,32.564946],[102.107689,32.565043],[102.107462,32.565191],[102.107234,32.565338],[102.106839,32.565494],[102.106443,32.565649],[102.106119,32.565795],[102.105794,32.565941],[102.105532,32.566004],[102.10527,32.566066],[102.105008,32.566129],[102.104747,32.566191],[102.104485,32.566254],[102.104223,32.566317],[102.103961,32.566379],[102.103699,32.566442],[102.103467,32.566501],[102.103236,32.56656],[102.103004,32.56662],[102.102772,32.566679],[102.102541,32.566738],[102.102309,32.566798],[102.102077,32.566857],[102.101846,32.566917],[102.101602,32.566997],[102.101358,32.567078],[102.101114,32.567159],[102.10087,32.56724],[102.100626,32.56732],[102.100382,32.567401],[102.100072,32.567524],[102.099762,32.567646],[102.099515,32.567746],[102.099268,32.567846],[102.099021,32.567946],[102.098774,32.568046],[102.098406,32.568214],[102.098039,32.568382],[102.097773,32.568447],[102.097506,32.568512],[102.097213,32.568552],[102.096919,32.568592],[102.096655,32.568575],[102.096391,32.568557],[102.095947,32.568499],[102.095726,32.568435],[102.095505,32.568372],[102.095286,32.568272],[102.095067,32.568173],[102.094833,32.568038],[102.0946,32.567903],[102.094219,32.567683],[102.093986,32.567548],[102.093754,32.567413],[102.093521,32.567278],[102.093289,32.567143],[102.09311,32.567039],[102.093056,32.567008],[102.092851,32.566889],[102.092824,32.566873],[102.092629,32.566816],[102.092492,32.566775],[102.092419,32.566754],[102.092015,32.566634],[102.091611,32.566515],[102.091223,32.566436],[102.090835,32.566357],[102.090552,32.566334],[102.090419,32.566324],[102.090002,32.566291],[102.089683,32.566271],[102.089363,32.566251],[102.089319,32.56625],[102.089057,32.566244],[102.088751,32.566238],[102.088514,32.566256],[102.088276,32.566274],[102.088039,32.566292],[102.087801,32.56631],[102.08752,32.566397],[102.087239,32.566485],[102.086985,32.566597],[102.086591,32.566729],[102.086284,32.566722],[102.086012,32.566726],[102.085739,32.566731],[102.085409,32.566607],[102.08516,32.566543],[102.084911,32.566478],[102.08465,32.566378],[102.084388,32.566277],[102.084074,32.566117],[102.083759,32.565957],[102.083542,32.565864],[102.083326,32.56577],[102.08311,32.565677],[102.082894,32.565583],[102.082677,32.56549],[102.082618,32.565464],[102.082461,32.565397],[102.082353,32.56535],[102.082245,32.565303],[102.082179,32.565275],[102.082029,32.56521],[102.081819,32.565149],[102.081767,32.565133],[102.081505,32.565057],[102.081254,32.565039],[102.081004,32.565022],[102.080863,32.565018],[102.080804,32.565016],[102.080753,32.565015],[102.080643,32.565012],[102.080614,32.565011],[102.080302,32.565098],[102.080279,32.565105],[102.080222,32.565121],[102.080139,32.56517],[102.0801,32.565193],[102.07988,32.565325],[102.079666,32.565465],[102.079453,32.565606],[102.07924,32.565747],[102.079026,32.565888],[102.078813,32.566028],[102.0786,32.566169],[102.078386,32.56631],[102.078173,32.56645],[102.077959,32.566591],[102.077746,32.566732],[102.077533,32.566872],[102.077319,32.567013],[102.077106,32.567154],[102.076892,32.567294],[102.076679,32.567435],[102.076466,32.567576],[102.076257,32.567746],[102.076049,32.567916],[102.075841,32.568085],[102.075632,32.568255],[102.075404,32.568463],[102.075342,32.568626],[102.075338,32.568735],[102.075337,32.568767],[102.075385,32.569004],[102.075502,32.569278],[102.075619,32.569551],[102.075723,32.569751],[102.075828,32.56995],[102.075933,32.57015],[102.076038,32.570349],[102.076143,32.570549],[102.076247,32.570749],[102.076352,32.570948],[102.076457,32.571148],[102.076595,32.571339],[102.076732,32.571531],[102.07687,32.571722],[102.077008,32.571914],[102.077146,32.572105],[102.077283,32.572297],[102.077582,32.572563],[102.07788,32.572782],[102.078183,32.57293],[102.078457,32.573054],[102.078732,32.573131],[102.079007,32.573255],[102.079256,32.573355],[102.079501,32.573502],[102.07973,32.573628],[102.07996,32.573754],[102.080189,32.573879],[102.080419,32.574005],[102.080649,32.574131],[102.080878,32.574257],[102.081111,32.574396],[102.081343,32.574534],[102.081575,32.574673],[102.081807,32.574812],[102.08204,32.57495],[102.082272,32.575089],[102.082515,32.575307],[102.082676,32.575476],[102.082754,32.575689],[102.082801,32.575926],[102.082797,32.576066],[102.082796,32.576124],[102.082794,32.576208],[102.082754,32.576536],[102.082628,32.576958],[102.082601,32.577016],[102.082595,32.57703],[102.082591,32.577038],[102.082587,32.577047],[102.082586,32.577048],[102.082574,32.577074],[102.082524,32.577179],[102.082508,32.577214],[102.082466,32.577302],[102.082424,32.577391],[102.08242,32.5774],[102.082239,32.577796],[102.082061,32.578169],[102.082006,32.578586],[102.081979,32.578799],[102.081952,32.579004],[102.081922,32.579271],[102.081893,32.579538],[102.081878,32.579673],[102.081863,32.579805],[102.081834,32.580073],[102.081804,32.58034],[102.081774,32.580607],[102.081745,32.580874],[102.081715,32.581141],[102.081734,32.581448],[102.081835,32.581756],[102.081991,32.582066],[102.082204,32.582385],[102.082417,32.582704],[102.08263,32.583023],[102.08284,32.583405],[102.082862,32.583454],[102.082965,32.583677],[102.082971,32.58369],[102.083016,32.583974],[102.083007,32.584244],[102.082999,32.584515],[102.082876,32.584841],[102.08277,32.585145],[102.082663,32.585448],[102.082445,32.585795],[102.082228,32.586141],[102.082049,32.586426],[102.082011,32.586487],[102.081738,32.586741],[102.081465,32.586994],[102.081121,32.587267],[102.080893,32.587427],[102.080665,32.587587],[102.08027,32.587742],[102.079962,32.587829],[102.079653,32.587916],[102.079357,32.588027],[102.079061,32.588138],[102.078789,32.588332],[102.078518,32.588526],[102.078287,32.588768],[102.078056,32.589009],[102.077931,32.589204],[102.077807,32.589399],[102.077682,32.589593],[102.077557,32.589788],[102.077385,32.589974],[102.07724,32.590134],[102.077089,32.590484],[102.077134,32.590814],[102.077199,32.591049],[102.077264,32.591284],[102.077329,32.591518],[102.077394,32.591753],[102.077459,32.591987],[102.077524,32.592222],[102.077589,32.592457],[102.077654,32.592691],[102.077719,32.592926],[102.077784,32.59316],[102.077829,32.593468],[102.077805,32.593773],[102.07778,32.594078],[102.077731,32.594313],[102.077682,32.594547],[102.077576,32.594938],[102.077471,32.595328],[102.077365,32.595718],[102.077266,32.595974],[102.077167,32.59623],[102.077167,32.596231],[102.077068,32.596487],[102.076969,32.596744],[102.076908,32.597007],[102.076846,32.597271],[102.076785,32.597534],[102.076724,32.597798],[102.076663,32.598062],[102.076601,32.598325],[102.07654,32.598589],[102.076479,32.598853],[102.076418,32.599116],[102.076356,32.59938],[102.07629,32.59972],[102.076224,32.60006],[102.076045,32.600384],[102.07587,32.600664],[102.075592,32.600937],[102.075315,32.60121],[102.075219,32.601304],[102.075119,32.601402],[102.074922,32.601594],[102.074726,32.601785],[102.074529,32.601977],[102.074333,32.602169],[102.074137,32.60236],[102.074053,32.602461],[102.073967,32.602564],[102.073798,32.602768],[102.073629,32.602972],[102.07346,32.603176],[102.073291,32.60338],[102.073121,32.603584],[102.072952,32.603788],[102.072783,32.603992],[102.072614,32.604196],[102.072444,32.6044],[102.072275,32.604604],[102.072106,32.604808],[102.071957,32.605016],[102.071808,32.605224],[102.071757,32.605296],[102.071659,32.605432],[102.07151,32.60564],[102.071361,32.605849],[102.071212,32.606057],[102.071063,32.606265],[102.070913,32.606473],[102.070764,32.606681],[102.070615,32.606889],[102.070466,32.607097],[102.070317,32.607305],[102.070074,32.607645],[102.069831,32.607985],[102.069588,32.608325],[102.069445,32.60856],[102.069301,32.608795],[102.069158,32.609029],[102.069014,32.609264],[102.068882,32.609481],[102.068871,32.609499],[102.068727,32.609734],[102.068584,32.609969],[102.06844,32.610204],[102.068307,32.610448],[102.068173,32.610692],[102.068124,32.610915],[102.068075,32.611137],[102.06808,32.611431],[102.068084,32.611726],[102.068112,32.611953],[102.068139,32.612179],[102.068145,32.612228],[102.068167,32.612406],[102.068195,32.612633],[102.068237,32.612717],[102.068326,32.612895],[102.068457,32.613158],[102.068575,32.613373],[102.068693,32.613588],[102.068853,32.613803],[102.069014,32.614018],[102.069229,32.614258],[102.06928,32.61437],[102.069359,32.614543],[102.069366,32.614653],[102.069377,32.614827],[102.069314,32.615174],[102.069309,32.615202],[102.069191,32.615412],[102.068971,32.615759],[102.068937,32.615812],[102.068927,32.615828],[102.06875,32.616106],[102.068627,32.616486],[102.068504,32.616865],[102.06838,32.617244],[102.068359,32.617479],[102.068337,32.617714],[102.068315,32.617949],[102.068294,32.618184],[102.068272,32.618419],[102.06825,32.618654],[102.068229,32.618889],[102.068207,32.619124],[102.068186,32.619547],[102.068166,32.61997],[102.068145,32.620393],[102.068124,32.620816],[102.068039,32.621038],[102.067954,32.621259],[102.067869,32.62148],[102.067784,32.621702],[102.067699,32.621923],[102.067614,32.622144],[102.067529,32.622365],[102.067444,32.622587],[102.06738,32.622698],[102.067369,32.622719],[102.06734,32.622769],[102.06732,32.622804],[102.067197,32.62302],[102.067074,32.623237],[102.067017,32.623337],[102.067013,32.623344],[102.066993,32.623378],[102.066991,32.623383],[102.06695,32.623454],[102.066827,32.623671],[102.066704,32.623888],[102.066563,32.624093],[102.066422,32.624299],[102.066281,32.624504],[102.06614,32.62471],[102.065998,32.624916],[102.065857,32.625121],[102.065797,32.625209],[102.065621,32.625452],[102.065446,32.625694],[102.065296,32.626045],[102.065181,32.626135],[102.064959,32.626108],[102.064628,32.626006],[102.064463,32.625908],[102.064276,32.625692],[102.064069,32.625407],[102.063862,32.625121],[102.063672,32.624859],[102.063501,32.624622],[102.06333,32.624385],[102.063205,32.624153],[102.06308,32.62392],[102.062955,32.623687],[102.06283,32.623455],[102.062768,32.62323],[102.062705,32.623005],[102.062606,32.62265],[102.062507,32.622271],[102.062463,32.621916],[102.062416,32.621655],[102.06234,32.621466],[102.062204,32.621275],[102.062016,32.621105],[102.061797,32.620983],[102.061482,32.620834],[102.061166,32.620685],[102.060951,32.620593],[102.060735,32.620502],[102.06052,32.620411],[102.060305,32.620319],[102.060089,32.620228],[102.059874,32.620137],[102.059658,32.620045],[102.059443,32.619954],[102.059228,32.619863],[102.059012,32.619771],[102.058797,32.61968],[102.058582,32.619588],[102.058348,32.619501],[102.058114,32.619413],[102.057852,32.619324],[102.057589,32.619235],[102.057229,32.619204],[102.056949,32.619267],[102.056722,32.619404],[102.056462,32.619657],[102.056287,32.619865],[102.056169,32.620074],[102.056051,32.620283],[102.055876,32.620537],[102.055564,32.620719],[102.055226,32.620829],[102.05496,32.620846],[102.054694,32.620863],[102.054327,32.620807],[102.053959,32.620751],[102.053569,32.620718],[102.053161,32.620708],[102.052752,32.620698],[102.052344,32.620689],[102.051953,32.620719],[102.051562,32.620749],[102.051171,32.620778],[102.050735,32.620875],[102.0503,32.620971],[102.050071,32.621028],[102.049841,32.621086],[102.049612,32.621143],[102.049382,32.6212],[102.049153,32.621258],[102.048924,32.621315],[102.048666,32.621349],[102.048409,32.621383],[102.048151,32.621417],[102.047894,32.621451],[102.047637,32.621485],[102.047379,32.621519],[102.047122,32.621553],[102.046864,32.621587],[102.046607,32.621621],[102.046349,32.621655],[102.046073,32.62167],[102.045796,32.621685],[102.045519,32.6217],[102.045242,32.621715],[102.044965,32.62173],[102.044688,32.621745],[102.044411,32.62176],[102.044135,32.621775],[102.043858,32.62179],[102.043581,32.621805],[102.043304,32.62182],[102.043027,32.621835],[102.042679,32.621815],[102.042331,32.621795],[102.041887,32.621749],[102.041509,32.62171],[102.041443,32.621704],[102.041125,32.621637],[102.040806,32.621571],[102.040378,32.621479],[102.039949,32.621386],[102.039728,32.621318],[102.039565,32.621268],[102.039517,32.621253],[102.039507,32.62125],[102.039286,32.621182],[102.039066,32.621114],[102.038845,32.621046],[102.038624,32.620979],[102.038432,32.620862],[102.038239,32.620746],[102.037854,32.620513],[102.03747,32.62028],[102.037085,32.620048],[102.036893,32.619931],[102.0367,32.619815],[102.036501,32.619676],[102.036302,32.619537],[102.036104,32.619399],[102.035905,32.61926],[102.035706,32.619121],[102.035507,32.618982],[102.035308,32.618843],[102.035109,32.618705],[102.03491,32.618566],[102.034711,32.618427],[102.03454,32.618274],[102.034369,32.61812],[102.034197,32.617967],[102.034026,32.617814],[102.033854,32.617661],[102.033683,32.617507],[102.033443,32.617172],[102.033204,32.616837],[102.032964,32.616501],[102.032936,32.616436],[102.032917,32.616392],[102.032874,32.616292],[102.032783,32.616083],[102.032692,32.615873],[102.032602,32.615664],[102.032511,32.615455],[102.032421,32.615246],[102.03233,32.615036],[102.032239,32.614827],[102.032149,32.614618],[102.032058,32.614409],[102.031964,32.614199],[102.03187,32.61399],[102.031776,32.613781],[102.031682,32.613572],[102.031588,32.613363],[102.031494,32.613153],[102.0314,32.612944],[102.031307,32.612735],[102.031213,32.612526],[102.031119,32.612317],[102.031052,32.612088],[102.030985,32.611858],[102.030919,32.611629],[102.030852,32.6114],[102.030785,32.611171],[102.030719,32.610942],[102.030698,32.610718],[102.030678,32.610494],[102.030658,32.610269],[102.030637,32.610045],[102.030617,32.609821],[102.030597,32.609597],[102.030605,32.60936],[102.030613,32.609123],[102.03062,32.608886],[102.030628,32.608649],[102.030636,32.608412],[102.030644,32.608175],[102.030652,32.607938],[102.03066,32.607701],[102.030747,32.60726],[102.030834,32.60682],[102.03092,32.606379],[102.031007,32.605938],[102.031094,32.605498],[102.031075,32.605236],[102.031027,32.605002],[102.030868,32.604739],[102.030668,32.604475],[102.030468,32.604211],[102.030197,32.60397],[102.029927,32.603728],[102.029761,32.603576],[102.029595,32.603425],[102.029473,32.603313],[102.029437,32.60328],[102.029429,32.603273],[102.029263,32.603121],[102.029097,32.60297],[102.028931,32.602818],[102.028765,32.602666],[102.028599,32.602515],[102.028433,32.602363],[102.028267,32.602212],[102.02794,32.601968],[102.027928,32.601958],[102.027614,32.601724],[102.027356,32.601381],[102.027099,32.601037],[102.026841,32.600694],[102.026544,32.600381],[102.026398,32.600177],[102.026251,32.599972],[102.026181,32.599595],[102.026105,32.599346],[102.02603,32.599097],[102.025876,32.598693],[102.025716,32.598478],[102.025528,32.598285],[102.025338,32.598139],[102.025145,32.598064],[102.024922,32.598035],[102.024631,32.598028],[102.024339,32.598021],[102.024047,32.59799],[102.023756,32.59796],[102.023534,32.597908],[102.023312,32.597856],[102.023065,32.597756],[102.022817,32.597656],[102.022612,32.597557],[102.022406,32.597457],[102.022202,32.597323],[102.021998,32.597189],[102.021793,32.597055],[102.021589,32.596921],[102.021309,32.596645],[102.021029,32.596369],[102.020748,32.596094],[102.020471,32.595766],[102.020194,32.595437],[102.019917,32.595109],[102.019686,32.59476],[102.019455,32.594411],[102.019314,32.594199],[102.019224,32.594062],[102.019111,32.593671],[102.018999,32.59328],[102.018958,32.593049],[102.018916,32.592819],[102.018902,32.592738],[102.018875,32.592589],[102.018834,32.592358],[102.018744,32.592144],[102.018653,32.59193],[102.01844,32.591619],[102.018172,32.591353],[102.017954,32.59116],[102.017655,32.590964],[102.017336,32.590769],[102.017018,32.590573],[102.016699,32.590377],[102.016441,32.590292],[102.016183,32.590206],[102.016,32.590145],[102.015999,32.590145],[102.015997,32.590145],[102.015925,32.59012],[102.015667,32.590035],[102.015408,32.589949],[102.01515,32.589864],[102.014892,32.589778],[102.014634,32.589692],[102.014344,32.589615],[102.014053,32.589537],[102.01382,32.589438],[102.013587,32.589338],[102.013287,32.589119],[102.012988,32.588876],[102.012813,32.588696],[102.012639,32.588515],[102.012455,32.588129],[102.012271,32.587743],[102.012087,32.587358],[102.011902,32.586972],[102.011655,32.586597],[102.011407,32.586222],[102.01116,32.585848],[102.010845,32.585542],[102.01053,32.585236],[102.010473,32.585181],[102.010215,32.584931],[102.009949,32.584571],[102.009761,32.584366],[102.009573,32.584161],[102.009412,32.58397],[102.009251,32.583778],[102.009046,32.583455],[102.009039,32.583443],[102.008866,32.583078],[102.008692,32.582713],[102.008519,32.582348],[102.008446,32.582132],[102.008372,32.581916],[102.008299,32.5817],[102.008225,32.581484],[102.008152,32.581268],[102.008078,32.581052],[102.008005,32.580836],[102.007931,32.58062],[102.00786,32.580379],[102.007789,32.580139],[102.007719,32.579898],[102.007648,32.579657],[102.007577,32.579416],[102.007506,32.579175],[102.007418,32.578947],[102.007331,32.57872],[102.007243,32.578492],[102.007156,32.578264],[102.007068,32.578036],[102.00698,32.577809],[102.006893,32.577581],[102.006805,32.577353],[102.006717,32.577126],[102.00663,32.576898],[102.006542,32.57667],[102.006455,32.576443],[102.006355,32.576225],[102.006255,32.576007],[102.006155,32.575789],[102.006055,32.575572],[102.005956,32.575354],[102.005856,32.575136],[102.005756,32.574918],[102.005656,32.574701],[102.005556,32.574483],[102.005522,32.574409],[102.005457,32.574265],[102.005344,32.574051],[102.005231,32.573836],[102.005118,32.573622],[102.005005,32.573407],[102.004893,32.573193],[102.00478,32.572978],[102.004667,32.572764],[102.004554,32.57255],[102.004441,32.572335],[102.004329,32.572121],[102.004051,32.571792],[102.003773,32.571462],[102.003496,32.571133],[102.003218,32.570804],[102.003002,32.570568],[102.002786,32.570332],[102.002578,32.57006],[102.002371,32.569789],[102.002204,32.569486],[102.002037,32.569183],[102.001893,32.568796],[102.001748,32.56841],[102.001672,32.568153],[102.001595,32.567896],[102.001592,32.567888],[102.001574,32.567827],[102.001518,32.567639],[102.001492,32.567551],[102.001481,32.567513],[102.001442,32.567383],[102.001365,32.567126],[102.001352,32.567084],[102.001318,32.566968],[102.001288,32.566869],[102.001171,32.566511],[102.001155,32.566461],[102.001095,32.56628],[102.001035,32.566096],[102.001028,32.566073],[102.00102,32.56605],[102.000944,32.565819],[102.000868,32.565588],[102.000793,32.565357],[102.000717,32.565126],[102.000597,32.565004],[102.000597,32.565004],[102.000478,32.564882],[102.000247,32.564647],[102.000238,32.564638],[102.000138,32.564678],[102.000062,32.564708],[102.000009,32.564736],[102.000001,32.56474],[101.999995,32.564744],[101.999941,32.564772],[101.999928,32.564779],[101.999928,32.564779],[101.999916,32.564786],[101.999876,32.564807],[101.999844,32.564824],[101.999844,32.564824],[101.999839,32.564827],[101.999708,32.564896],[101.999627,32.564939],[101.999354,32.565084],[101.99922,32.565155],[101.99922,32.565155],[101.999,32.565273],[101.998824,32.565428],[101.998647,32.565584],[101.998471,32.565739],[101.998295,32.565895],[101.998119,32.56605],[101.997943,32.566206],[101.997766,32.566361],[101.99759,32.566517],[101.997414,32.566673],[101.997238,32.566828],[101.997097,32.567004],[101.996957,32.567181],[101.996816,32.567357],[101.996676,32.567534],[101.996536,32.56771],[101.996395,32.567886],[101.996255,32.568063],[101.996115,32.568239],[101.995974,32.568415],[101.995834,32.568592],[101.995645,32.568733],[101.995456,32.568874],[101.995267,32.569015],[101.995078,32.569157],[101.994889,32.569298],[101.9947,32.569439],[101.994511,32.56958],[101.994322,32.569722],[101.994133,32.569863],[101.993944,32.570004],[101.993752,32.570135],[101.99356,32.570265],[101.993369,32.570396],[101.993177,32.570527],[101.992985,32.570657],[101.992793,32.570788],[101.992602,32.570919],[101.99241,32.571049],[101.992218,32.57118],[101.992027,32.571311],[101.991835,32.571441],[101.991643,32.571572],[101.991439,32.571696],[101.991235,32.57182],[101.99103,32.571944],[101.990826,32.572068],[101.990621,32.572192],[101.990417,32.572316],[101.990213,32.57244],[101.990008,32.572564],[101.98981,32.572672],[101.989611,32.572781],[101.989413,32.57289],[101.989214,32.572998],[101.988912,32.57314],[101.988611,32.573281],[101.988244,32.573352],[101.987897,32.573195],[101.987792,32.573011],[101.987723,32.572774],[101.987654,32.572537],[101.987652,32.572472],[101.987643,32.572227],[101.987654,32.572152],[101.987679,32.571967],[101.987714,32.571707],[101.98775,32.571448],[101.987785,32.571188],[101.987821,32.570928],[101.987834,32.570834],[101.987856,32.570668],[101.987892,32.570408],[101.987927,32.570148],[101.987963,32.569888],[101.987998,32.569628],[101.988061,32.56936],[101.988123,32.569091],[101.988185,32.568822],[101.988192,32.568791],[101.988247,32.568553],[101.98831,32.568284],[101.988372,32.568015],[101.988435,32.567746],[101.988497,32.567477],[101.988559,32.567208],[101.988622,32.566939],[101.988684,32.566687],[101.988747,32.566435],[101.98881,32.566183],[101.988873,32.565931],[101.988935,32.565678],[101.988998,32.565426],[101.989061,32.565174],[101.989124,32.564922],[101.989186,32.56467],[101.989249,32.564417],[101.989278,32.564157],[101.989306,32.563897],[101.989335,32.563638],[101.989363,32.563378],[101.989324,32.562943],[101.989284,32.562509],[101.989245,32.562075],[101.989206,32.561641],[101.989192,32.561206],[101.989177,32.560772],[101.989163,32.560338],[101.989186,32.560112],[101.98921,32.559886],[101.989233,32.55966],[101.989256,32.559434],[101.989279,32.559208],[101.989302,32.558982],[101.989326,32.558757],[101.989339,32.558624],[101.989349,32.558531],[101.989386,32.558261],[101.989423,32.557992],[101.98946,32.557722],[101.989498,32.557453],[101.989517,32.557314],[101.989535,32.557183],[101.989572,32.556914],[101.989609,32.556645],[101.989646,32.556375],[101.989684,32.556106],[101.989721,32.555836],[101.989724,32.555583],[101.989728,32.555331],[101.989732,32.555078],[101.989733,32.555017],[101.989736,32.554825],[101.989739,32.554572],[101.989741,32.554473],[101.989743,32.554319],[101.989747,32.554066],[101.989751,32.553813],[101.989754,32.553561],[101.989758,32.553308],[101.989699,32.552978],[101.989594,32.552772],[101.989468,32.55265],[101.989292,32.55253],[101.989071,32.552494],[101.988859,32.552516],[101.988802,32.552521],[101.988567,32.552545],[101.988533,32.552548],[101.988119,32.55262],[101.98783,32.552794],[101.987542,32.552967],[101.987321,32.553084],[101.9871,32.553202],[101.986879,32.553319],[101.986658,32.553437],[101.986449,32.553548],[101.986438,32.553554],[101.986335,32.553609],[101.986217,32.553672],[101.986123,32.553722],[101.985996,32.553789],[101.985775,32.553907],[101.985555,32.554024],[101.985334,32.554142],[101.985113,32.554259],[101.984892,32.554377],[101.984811,32.554406],[101.98466,32.554461],[101.984461,32.554533],[101.984434,32.554543],[101.984429,32.554545],[101.984418,32.554548],[101.984197,32.554628],[101.983965,32.554712],[101.983829,32.554762],[101.983733,32.554796],[101.983501,32.55488],[101.983269,32.554964],[101.983038,32.555048],[101.982806,32.555132],[101.982574,32.555216],[101.982342,32.5553],[101.982127,32.555378],[101.98211,32.555384],[101.982047,32.555406],[101.981905,32.555458],[101.981878,32.555467],[101.981647,32.555551],[101.98125,32.555726],[101.980853,32.5559],[101.980568,32.556026],[101.980546,32.556035],[101.980457,32.556075],[101.980247,32.556167],[101.980213,32.556182],[101.980203,32.556186],[101.980129,32.556219],[101.980107,32.556228],[101.98006,32.556249],[101.979906,32.556392],[101.979739,32.556547],[101.979548,32.556724],[101.979485,32.556783],[101.979419,32.556845],[101.979098,32.557142],[101.978778,32.55744],[101.978736,32.557471],[101.978687,32.557508],[101.978613,32.557563],[101.978565,32.557598],[101.978353,32.557756],[101.97814,32.557914],[101.977928,32.558072],[101.977715,32.558229],[101.977503,32.558387],[101.977291,32.558545],[101.977128,32.558666],[101.977078,32.558703],[101.976893,32.558837],[101.976707,32.558971],[101.976603,32.559046],[101.976601,32.559048],[101.976599,32.559049],[101.976558,32.559079],[101.976552,32.559083],[101.976522,32.559105],[101.976337,32.559239],[101.975989,32.559454],[101.975716,32.559623],[101.97564,32.55967],[101.97535,32.559791],[101.975196,32.559855],[101.975059,32.559912],[101.97485,32.559963],[101.974779,32.55998],[101.9745,32.560049],[101.974277,32.560103],[101.974054,32.560156],[101.973831,32.56021],[101.973608,32.560263],[101.973385,32.560317],[101.973162,32.560371],[101.972898,32.560533],[101.972634,32.560695],[101.972622,32.560711],[101.972621,32.560712],[101.972551,32.560806],[101.972521,32.560847],[101.972476,32.560908],[101.972469,32.560916],[101.972305,32.561138],[101.97216,32.561319],[101.972014,32.561501],[101.971985,32.561538],[101.971869,32.561682],[101.971724,32.561864],[101.971694,32.561902],[101.971683,32.561915],[101.971578,32.562046],[101.971478,32.562171],[101.971477,32.562172],[101.971448,32.562209],[101.971433,32.562227],[101.971288,32.562409],[101.971143,32.56259],[101.970946,32.562761],[101.97075,32.562931],[101.970553,32.563101],[101.970492,32.563155],[101.970479,32.563166],[101.970432,32.563207],[101.970425,32.563213],[101.970357,32.563272],[101.97016,32.563442],[101.969964,32.563613],[101.969767,32.563783],[101.96957,32.563953],[101.969417,32.564173],[101.969375,32.564233],[101.969317,32.564317],[101.969264,32.564392],[101.96921,32.56447],[101.969156,32.564548],[101.969111,32.564611],[101.968958,32.56483],[101.968858,32.564974],[101.968842,32.564997],[101.968805,32.56505],[101.968775,32.565093],[101.968652,32.565269],[101.968441,32.565564],[101.968351,32.565691],[101.96835,32.565691],[101.96835,32.565692],[101.96823,32.565859],[101.968227,32.565862],[101.968204,32.565882],[101.967897,32.566158],[101.967563,32.566436],[101.967351,32.566506],[101.96733,32.566512],[101.967208,32.566552],[101.96717,32.566564],[101.967151,32.566571],[101.966859,32.566639],[101.966817,32.566649],[101.966795,32.566655],[101.966567,32.566708],[101.966311,32.566756],[101.966055,32.566803],[101.965641,32.566897],[101.965241,32.56701],[101.965214,32.567017],[101.965017,32.567072],[101.964891,32.567108],[101.96484,32.567122],[101.964617,32.567249],[101.964575,32.567273],[101.964451,32.56739],[101.964416,32.567424],[101.964373,32.567465],[101.964263,32.567569],[101.964235,32.567596],[101.964171,32.567656],[101.964008,32.567898],[101.963844,32.56814],[101.963638,32.568325],[101.963629,32.568332],[101.963476,32.568469],[101.963474,32.568471],[101.963423,32.568516],[101.963415,32.568524],[101.963125,32.568649],[101.963113,32.568655],[101.963101,32.56866],[101.963047,32.568684],[101.962957,32.568722],[101.96295,32.568725],[101.962811,32.568786],[101.962469,32.568836],[101.9622,32.568842],[101.961857,32.56885],[101.961635,32.568893],[101.961613,32.568897],[101.961516,32.568921],[101.961438,32.569151],[101.961417,32.569214],[101.961382,32.569315],[101.961375,32.569337],[101.96136,32.569381],[101.961306,32.56962],[101.961273,32.569769],[101.96127,32.569781],[101.961266,32.569801],[101.961252,32.569859],[101.961125,32.57007],[101.961079,32.570145],[101.960997,32.57028],[101.960662,32.570578],[101.960459,32.570738],[101.960348,32.570825],[101.960255,32.570899],[101.960035,32.571001],[101.959814,32.571102],[101.959594,32.571204],[101.959373,32.571306],[101.959136,32.571519],[101.959048,32.571598],[101.959036,32.571608],[101.958999,32.571641],[101.958999,32.571641],[101.958999,32.571641],[101.958939,32.571695],[101.958939,32.571695],[101.958723,32.571889],[101.958397,32.57218],[101.958348,32.572224],[101.95827,32.572295],[101.958266,32.572299],[101.958247,32.572315],[101.958148,32.572404],[101.957899,32.572628],[101.957624,32.572862],[101.957417,32.573039],[101.957397,32.573056],[101.95735,32.573096],[101.957338,32.573101],[101.957095,32.573196],[101.956841,32.573295],[101.956562,32.573395],[101.956284,32.573494],[101.956079,32.573603],[101.955874,32.573712],[101.955623,32.573924],[101.955373,32.574137],[101.955233,32.574348],[101.955093,32.574558],[101.954957,32.574798],[101.954955,32.574801],[101.954953,32.574803],[101.954914,32.574872],[101.954907,32.574885],[101.954902,32.574894],[101.954841,32.575001],[101.954839,32.575004],[101.954799,32.575075],[101.954722,32.575211],[101.954388,32.575508],[101.95412,32.575555],[101.954099,32.575552],[101.953848,32.575521],[101.95365,32.575442],[101.953399,32.575283],[101.953109,32.57501],[101.953068,32.574971],[101.953004,32.574911],[101.952819,32.574737],[101.952563,32.574432],[101.952394,32.574146],[101.952225,32.573859],[101.952125,32.573655],[101.952025,32.573451],[101.951924,32.573246],[101.951824,32.573042],[101.951724,32.572838],[101.951624,32.572633],[101.951524,32.572429],[101.951423,32.572225],[101.951323,32.572021],[101.951223,32.571816],[101.951103,32.571598],[101.950984,32.57138],[101.950864,32.571161],[101.950745,32.570943],[101.950625,32.570725],[101.950506,32.570506],[101.95044,32.570386],[101.95042,32.57035],[101.950386,32.570288],[101.950267,32.57007],[101.950147,32.569851],[101.950028,32.569633],[101.949908,32.569414],[101.949789,32.569196],[101.949762,32.569146],[101.949669,32.568968],[101.949549,32.56874],[101.949429,32.568511],[101.949309,32.568283],[101.9493,32.568266],[101.949189,32.568055],[101.949069,32.567827],[101.948949,32.567598],[101.948829,32.56737],[101.948709,32.567142],[101.948589,32.566913],[101.948469,32.566685],[101.948348,32.566457],[101.948271,32.566239],[101.948194,32.566021],[101.948116,32.565803],[101.948039,32.565584],[101.947961,32.565366],[101.947884,32.565148],[101.947806,32.56493],[101.947729,32.564712],[101.947634,32.564493],[101.947539,32.564274],[101.947444,32.564055],[101.947349,32.563836],[101.947254,32.563617],[101.947159,32.563399],[101.947064,32.56318],[101.946969,32.562961],[101.946874,32.562742],[101.946779,32.562523],[101.946684,32.562304],[101.946589,32.562085],[101.946483,32.561855],[101.946376,32.561624],[101.94627,32.561394],[101.946164,32.561163],[101.946058,32.560933],[101.945951,32.560702],[101.945845,32.560472],[101.945739,32.560241],[101.945622,32.560044],[101.945506,32.559847],[101.945389,32.559651],[101.945272,32.559454],[101.945155,32.559257],[101.945039,32.559061],[101.944922,32.558864],[101.944873,32.558781],[101.944805,32.558667],[101.944672,32.558459],[101.94465,32.558426],[101.944538,32.558252],[101.944405,32.558044],[101.944271,32.557837],[101.944138,32.557629],[101.944004,32.557421],[101.943827,32.557252],[101.94365,32.557083],[101.943473,32.556913],[101.943295,32.556744],[101.943118,32.556574],[101.942941,32.556405],[101.942764,32.556236],[101.942642,32.556119],[101.942623,32.556101],[101.942587,32.556066],[101.942428,32.55589],[101.942269,32.555714],[101.942111,32.555537],[101.941952,32.555361],[101.941793,32.555184],[101.941635,32.555008],[101.941476,32.554832],[101.941318,32.554655],[101.941159,32.554479],[101.941072,32.554382],[101.941,32.554303],[101.940974,32.554277],[101.940893,32.554199],[101.940817,32.554125],[101.94068,32.553992],[101.940591,32.553906],[101.940538,32.553854],[101.940408,32.553729],[101.940382,32.553704],[101.94036,32.553682],[101.940228,32.553554],[101.940039,32.553372],[101.939697,32.553117],[101.939484,32.552959],[101.939437,32.552924],[101.939354,32.552863],[101.939315,32.552834],[101.939269,32.552799],[101.939012,32.552608],[101.938669,32.552354],[101.938462,32.5522],[101.938255,32.552046],[101.937891,32.55179],[101.937527,32.551534],[101.937164,32.551279],[101.937117,32.551245],[101.9368,32.551023],[101.936623,32.550893],[101.936486,32.550792],[101.936172,32.550561],[101.936145,32.550526],[101.936131,32.550508],[101.936127,32.550504],[101.936121,32.550496],[101.936031,32.550381],[101.935989,32.550327],[101.935969,32.550301],[101.935891,32.550201],[101.93575,32.550022],[101.935609,32.549842],[101.935547,32.549763],[101.935468,32.549662],[101.935328,32.549483],[101.935261,32.549413],[101.935153,32.549301],[101.934978,32.549119],[101.934804,32.548937],[101.93472,32.548849],[101.934675,32.548803],[101.934629,32.548755],[101.934574,32.548697],[101.934454,32.548573],[101.93428,32.548391],[101.934268,32.548383],[101.933916,32.548135],[101.933553,32.547879],[101.933347,32.547734],[101.933345,32.547733],[101.933343,32.547731],[101.933189,32.547623],[101.932959,32.547461],[101.932826,32.547368],[101.932788,32.547334],[101.932759,32.547308],[101.932643,32.547204],[101.932601,32.547167],[101.932579,32.547147],[101.932562,32.547132],[101.932555,32.547126],[101.93246,32.547041],[101.932277,32.546878],[101.932094,32.546715],[101.931911,32.546551],[101.931728,32.546388],[101.931698,32.546361],[101.931578,32.546255],[101.931545,32.546225],[101.931361,32.546062],[101.931178,32.545898],[101.930995,32.545735],[101.930812,32.545572],[101.930629,32.545409],[101.930496,32.545262],[101.930465,32.545228],[101.930426,32.545184],[101.930301,32.545047],[101.930147,32.544877],[101.930138,32.544866],[101.929974,32.544685],[101.92981,32.544504],[101.929646,32.544323],[101.929482,32.544142],[101.92946,32.544118],[101.929319,32.543962],[101.929155,32.543781],[101.928991,32.5436],[101.928827,32.543419],[101.928663,32.543238],[101.928598,32.543165],[101.9285,32.543057],[101.928336,32.542876],[101.928134,32.542705],[101.927932,32.542533],[101.927732,32.542364],[101.92773,32.542362],[101.927698,32.542335],[101.927528,32.54219],[101.927339,32.542019],[101.92715,32.541848],[101.927087,32.541789],[101.926876,32.541591],[101.926846,32.541563],[101.92684,32.541557],[101.926592,32.541279],[101.926384,32.540916],[101.926177,32.540553],[101.925969,32.540191],[101.925873,32.540023],[101.925851,32.539986],[101.925761,32.539828],[101.925708,32.53971],[101.925692,32.539675],[101.925664,32.539611],[101.925658,32.539599],[101.925634,32.539545],[101.925567,32.539394],[101.925469,32.539178],[101.92539,32.539001],[101.925372,32.538961],[101.92532,32.538844],[101.925275,32.538744],[101.925178,32.538528],[101.925081,32.538311],[101.925052,32.538245],[101.925035,32.538208],[101.924984,32.538094],[101.924887,32.537877],[101.92479,32.537661],[101.924714,32.537492],[101.924692,32.537444],[101.924595,32.537227],[101.924528,32.537089],[101.924477,32.536983],[101.924359,32.536739],[101.924318,32.536654],[101.924294,32.536604],[101.924241,32.536495],[101.924122,32.53625],[101.924038,32.536076],[101.924021,32.536041],[101.924004,32.536006],[101.923886,32.535762],[101.923768,32.535518],[101.923649,32.535274],[101.923531,32.535029],[101.923413,32.534785],[101.923295,32.534541],[101.923177,32.534297],[101.923081,32.53407],[101.922986,32.533843],[101.922891,32.533616],[101.922877,32.533582],[101.922796,32.533389],[101.922701,32.533162],[101.922667,32.533082],[101.922606,32.532935],[101.922511,32.532708],[101.922415,32.532481],[101.92232,32.532254],[101.922225,32.532027],[101.92213,32.531801],[101.922035,32.531574],[101.92194,32.531347],[101.921844,32.53112],[101.921746,32.530891],[101.921648,32.530663],[101.921549,32.530434],[101.921451,32.530205],[101.921352,32.529977],[101.921254,32.529748],[101.92122,32.52967],[101.921201,32.529626],[101.921156,32.52952],[101.921057,32.529291],[101.921003,32.529164],[101.920959,32.529062],[101.92086,32.528834],[101.920825,32.528751],[101.920762,32.528605],[101.920664,32.528377],[101.920565,32.528148],[101.920524,32.528054],[101.920509,32.528019],[101.920467,32.52792],[101.920457,32.527899],[101.920361,32.527692],[101.920353,32.527676],[101.920255,32.527464],[101.920211,32.52737],[101.920149,32.527237],[101.920067,32.527061],[101.920043,32.527009],[101.91995,32.526808],[101.919938,32.526782],[101.919929,32.526763],[101.919832,32.526554],[101.919726,32.526326],[101.91962,32.526099],[101.919548,32.525943],[101.919545,32.525936],[101.919527,32.525899],[101.919514,32.525871],[101.919413,32.525653],[101.919409,32.525644],[101.919395,32.525619],[101.91939,32.52561],[101.919226,32.525302],[101.919217,32.525286],[101.919203,32.52526],[101.919043,32.524961],[101.918947,32.524781],[101.91886,32.52462],[101.918856,32.52461],[101.918703,32.524292],[101.918649,32.524086],[101.918617,32.523924],[101.918604,32.523859],[101.918567,32.523667],[101.91856,32.523632],[101.918543,32.523537],[101.918517,32.523397],[101.918515,32.523385],[101.91847,32.523137],[101.918426,32.52289],[101.918381,32.522642],[101.918322,32.522363],[101.918301,32.522262],[101.918263,32.522085],[101.918202,32.521651],[101.918195,32.521453],[101.918192,32.52134],[101.918196,32.521192],[101.918204,32.520967],[101.91822,32.520718],[101.918227,32.520685],[101.918234,32.520657],[101.918263,32.520531],[101.918354,32.520301],[101.91836,32.520286],[101.918366,32.520271],[101.918458,32.52004],[101.918555,32.519795],[101.918653,32.51955],[101.918738,32.519314],[101.918824,32.519078],[101.918909,32.518842],[101.918994,32.518606],[101.919055,32.518436],[101.919067,32.518405],[101.919079,32.518369],[101.919165,32.518133],[101.91925,32.517897],[101.919312,32.517725],[101.919325,32.517688],[101.919335,32.517661],[101.91942,32.517425],[101.919506,32.517189],[101.919536,32.517082],[101.91954,32.517066],[101.919574,32.516946],[101.919643,32.516704],[101.919712,32.516461],[101.91978,32.516219],[101.919832,32.516039],[101.919849,32.515976],[101.919903,32.515785],[101.919918,32.515734],[101.919987,32.515491],[101.920034,32.515325],[101.920055,32.515249],[101.920108,32.515016],[101.920141,32.514868],[101.920177,32.514708],[101.920184,32.514678],[101.920227,32.514487],[101.920313,32.514106],[101.920311,32.513853],[101.920309,32.513599],[101.920306,32.513345],[101.920304,32.513092],[101.920346,32.512863],[101.920348,32.512855],[101.920356,32.512822],[101.920418,32.51258],[101.920425,32.512553],[101.92044,32.512494],[101.92048,32.512337],[101.920488,32.512306],[101.920535,32.512126],[101.920629,32.511757],[101.920694,32.511487],[101.92071,32.511259],[101.920704,32.511051],[101.92068,32.510972],[101.920673,32.510946],[101.920649,32.510866],[101.920514,32.510497],[101.920379,32.510128],[101.920245,32.509767],[101.920197,32.509637],[101.920177,32.509581],[101.920123,32.509438],[101.920112,32.509406],[101.920067,32.509166],[101.920023,32.508926],[101.919979,32.508686],[101.919934,32.508445],[101.91989,32.508205],[101.919846,32.507965],[101.919843,32.507701],[101.919841,32.507437],[101.919839,32.507206],[101.919839,32.507172],[101.919836,32.506908],[101.919834,32.506857],[101.919834,32.50683],[101.919823,32.506515],[101.91986,32.506182],[101.919927,32.505974],[101.920045,32.505764],[101.920075,32.50569],[101.920085,32.505664],[101.920112,32.505596],[101.920091,32.505348],[101.920071,32.5051],[101.920051,32.505037],[101.919962,32.50475],[101.919852,32.5044],[101.919772,32.504174],[101.919691,32.503948],[101.919546,32.503641],[101.919528,32.503603],[101.919402,32.503333],[101.91939,32.503313],[101.919292,32.503158],[101.919273,32.503128],[101.919168,32.50296],[101.919134,32.502905],[101.918934,32.502588],[101.918899,32.502531],[101.918701,32.502215],[101.91861,32.501973],[101.91852,32.501732],[101.918463,32.50158],[101.918435,32.501506],[101.918429,32.50149],[101.918339,32.501249],[101.918248,32.501008],[101.918158,32.500766],[101.918067,32.500525],[101.917977,32.500283],[101.917936,32.500122],[101.917877,32.499887],[101.917818,32.499653],[101.917777,32.499492],[101.917759,32.499418],[101.917729,32.4993],[101.917722,32.499272],[101.9177,32.499184],[101.917641,32.49895],[101.917623,32.498879],[101.917616,32.498851],[101.917582,32.498715],[101.917553,32.498599],[101.917478,32.498292],[101.917458,32.498211],[101.917451,32.498185],[101.91744,32.498137],[101.917406,32.497999],[101.917406,32.497998],[101.917401,32.497979],[101.917374,32.497868],[101.917358,32.497804],[101.917342,32.497738],[101.917308,32.497601],[101.91727,32.497445],[101.917149,32.497247],[101.917029,32.497049],[101.916969,32.496952],[101.916908,32.496852],[101.916788,32.496654],[101.916667,32.496457],[101.916546,32.496259],[101.916402,32.495972],[101.916258,32.495685],[101.916098,32.495296],[101.915992,32.49505],[101.915958,32.494751],[101.915923,32.494451],[101.915928,32.494217],[101.915933,32.493984],[101.915938,32.493751],[101.915942,32.493549],[101.915942,32.493517],[101.915922,32.493269],[101.915901,32.493021],[101.915867,32.49269],[101.915762,32.492464],[101.915657,32.492239],[101.915608,32.492148],[101.915593,32.492121],[101.91554,32.492024],[101.915422,32.49181],[101.915304,32.491596],[101.915186,32.491382],[101.915063,32.49108],[101.915052,32.491054],[101.915035,32.491012],[101.914926,32.490744],[101.914884,32.490642],[101.914734,32.490272],[101.914652,32.490025],[101.914571,32.489779],[101.914489,32.489532],[101.914408,32.489285],[101.914349,32.488955],[101.91429,32.488666],[101.914253,32.488315],[101.914247,32.4881],[101.914246,32.488072],[101.914245,32.488045],[101.914239,32.487842],[101.914237,32.487776],[101.914241,32.487571],[101.914241,32.487534],[101.914246,32.487292],[101.91425,32.48705],[101.914255,32.486808],[101.914259,32.4866],[101.914259,32.486567],[101.91426,32.486554],[101.91426,32.486545],[101.914264,32.486338],[101.914264,32.486325],[101.91425,32.486222],[101.914238,32.486134],[101.914232,32.486088],[101.914202,32.485869],[101.914199,32.48585],[101.914196,32.485839],[101.914194,32.485832],[101.914137,32.485651],[101.914137,32.485651],[101.914124,32.48561],[101.914048,32.485369],[101.913973,32.485128],[101.913897,32.484887],[101.913833,32.484659],[101.913768,32.484431],[101.913704,32.484202],[101.913639,32.483974],[101.913575,32.483746],[101.91351,32.483517],[101.913446,32.483289],[101.913381,32.483061],[101.913317,32.482833],[101.913252,32.482604],[101.913188,32.482376],[101.913123,32.482148],[101.913034,32.481922],[101.912945,32.481696],[101.912855,32.481471],[101.912766,32.481245],[101.912677,32.481019],[101.912588,32.480794],[101.912498,32.480568],[101.912409,32.480342],[101.91232,32.480116],[101.912231,32.479891],[101.912142,32.479665],[101.912052,32.479439],[101.91195,32.479216],[101.911847,32.478992],[101.911744,32.478769],[101.911641,32.478545],[101.911538,32.478322],[101.911436,32.478098],[101.911339,32.477887],[101.911333,32.477874],[101.911322,32.477851],[101.911266,32.477728],[101.91123,32.477651],[101.911127,32.477427],[101.911025,32.477204],[101.910969,32.477064],[101.910939,32.47699],[101.910934,32.476976],[101.910854,32.476777],[101.910769,32.476563],[101.910683,32.476349],[101.910598,32.476136],[101.910513,32.475922],[101.910431,32.475717],[101.910427,32.475709],[101.910342,32.475495],[101.910296,32.47538],[101.910257,32.475281],[101.910171,32.475068],[101.910147,32.474912],[101.910141,32.474872],[101.910121,32.474749],[101.910102,32.474625],[101.910092,32.474564],[101.910032,32.474182],[101.909963,32.473739],[101.909893,32.473296],[101.90985,32.472849],[101.909806,32.472403],[101.909763,32.471956],[101.909719,32.471509],[101.909675,32.471063],[101.909676,32.47071],[101.909677,32.470407],[101.909677,32.470358],[101.909669,32.470089],[101.90966,32.469978],[101.909648,32.469841],[101.909628,32.469593],[101.909606,32.469282],[101.909596,32.469139],[101.909584,32.468972],[101.909527,32.468735],[101.90951,32.468665],[101.90947,32.468499],[101.909418,32.468282],[101.909413,32.468263],[101.909409,32.468244],[101.90936,32.468042],[101.909356,32.468027],[101.909264,32.467822],[101.909172,32.467617],[101.909079,32.467412],[101.908987,32.467207],[101.908895,32.467002],[101.908891,32.466995],[101.908882,32.466974],[101.90887,32.466947],[101.908849,32.4669],[101.908836,32.466871],[101.908809,32.466812],[101.908802,32.466797],[101.908734,32.466646],[101.908732,32.466641],[101.90871,32.466592],[101.908617,32.466387],[101.90856,32.466259],[101.908556,32.46625],[101.908537,32.466208],[101.908527,32.466186],[101.908526,32.466184],[101.908525,32.466182],[101.908498,32.466122],[101.908433,32.465977],[101.908356,32.465737],[101.908278,32.465497],[101.908201,32.465257],[101.908124,32.465017],[101.908047,32.464776],[101.907969,32.464536],[101.907915,32.464281],[101.90787,32.464069],[101.90786,32.464026],[101.907855,32.464003],[101.907845,32.463955],[101.907823,32.46385],[101.907806,32.463771],[101.907751,32.463516],[101.907697,32.463261],[101.907642,32.463006],[101.907621,32.462904],[101.907616,32.462881],[101.907607,32.462838],[101.907605,32.462828],[101.907588,32.46275],[101.907533,32.462495],[101.907494,32.462311],[101.907479,32.46224],[101.907476,32.462228],[101.907424,32.461985],[101.90738,32.461793],[101.907367,32.461738],[101.907357,32.461694],[101.907338,32.461613],[101.90731,32.461491],[101.907275,32.461159],[101.907252,32.460936],[101.907238,32.460808],[101.907228,32.460456],[101.907245,32.460207],[101.907282,32.459853],[101.907344,32.459521],[101.907346,32.459505],[101.907386,32.45925],[101.907372,32.458858],[101.907372,32.458858],[101.907372,32.458858],[101.907353,32.458718],[101.907316,32.458454],[101.907313,32.458427],[101.907313,32.458427],[101.907264,32.45807],[101.907256,32.458017],[101.907211,32.457686],[101.907168,32.457452],[101.907126,32.457217],[101.907107,32.457113],[101.907083,32.456983],[101.90706,32.456854],[101.907041,32.456748],[101.906998,32.456514],[101.906956,32.456279],[101.906913,32.456045],[101.906871,32.455811],[101.906829,32.455576],[101.906786,32.455342],[101.906786,32.455342],[101.906744,32.455107],[101.906743,32.455105],[101.906743,32.455103],[101.906701,32.454873],[101.906659,32.454639],[101.906616,32.454404],[101.906572,32.454162],[101.906527,32.45392],[101.906497,32.453758],[101.906497,32.453755],[101.906494,32.453738],[101.906483,32.453678],[101.906464,32.453578],[101.906464,32.453576],[101.906438,32.453435],[101.906438,32.453433],[101.906438,32.453432],[101.906425,32.453361],[101.906394,32.453193],[101.906349,32.452951],[101.906305,32.452709],[101.90626,32.452467],[101.906252,32.452424],[101.906247,32.452397],[101.906239,32.45235],[101.906229,32.452296],[101.906216,32.452225],[101.906171,32.451983],[101.906157,32.451905],[101.906144,32.451837],[101.906127,32.45174],[101.906107,32.451634],[101.906105,32.451621],[101.906101,32.451602],[101.9061,32.451594],[101.906082,32.451498],[101.906064,32.451245],[101.906045,32.450993],[101.906026,32.45074],[101.906008,32.450487],[101.905989,32.450234],[101.90597,32.449982],[101.905952,32.449729],[101.905933,32.449476],[101.905914,32.449223],[101.905896,32.448971],[101.905877,32.448718],[101.905868,32.448597],[101.905868,32.448595],[101.905868,32.448593],[101.905858,32.448465],[101.90584,32.448212],[101.905821,32.447959],[101.905832,32.447525],[101.905844,32.447091],[101.905855,32.446657],[101.905862,32.44638],[101.905866,32.446223],[101.905902,32.445984],[101.905937,32.445744],[101.905972,32.445505],[101.906007,32.445266],[101.906042,32.445027],[101.906078,32.444788],[101.906113,32.444549],[101.906148,32.444309],[101.906196,32.444078],[101.906243,32.443846],[101.906291,32.443615],[101.906338,32.443383],[101.906386,32.443151],[101.906433,32.44292],[101.906481,32.442688],[101.906529,32.442457],[101.90656,32.442192],[101.906591,32.441927],[101.906623,32.441663],[101.906654,32.441398],[101.906674,32.441229],[101.906686,32.441133],[101.906717,32.440869],[101.906748,32.440604],[101.90678,32.440339],[101.906784,32.440101],[101.906789,32.439862],[101.906793,32.439624],[101.906798,32.439385],[101.906803,32.439147],[101.906807,32.438908],[101.906812,32.43867],[101.906816,32.438431],[101.906821,32.438193],[101.906826,32.437954],[101.90683,32.437716],[101.906835,32.437477],[101.906799,32.437217],[101.906763,32.436957],[101.906727,32.436697],[101.906691,32.436437],[101.906655,32.436176],[101.906619,32.435916],[101.906583,32.435656],[101.906547,32.435396],[101.906502,32.435143],[101.906457,32.43489],[101.906412,32.434637],[101.906367,32.434384],[101.906322,32.434132],[101.906278,32.433879],[101.906233,32.433626],[101.906188,32.433373],[101.906155,32.43319],[101.906143,32.43312],[101.906098,32.432867],[101.906053,32.432615],[101.906008,32.432362],[101.905975,32.432087],[101.905942,32.431813],[101.905909,32.431538],[101.905876,32.431263],[101.905843,32.430989],[101.90581,32.430714],[101.905847,32.430361],[101.905884,32.430007],[101.906031,32.42959],[101.906178,32.429172],[101.906285,32.428949],[101.906392,32.428725],[101.906498,32.428501],[101.906605,32.428278],[101.906712,32.428055],[101.906712,32.428054],[101.906713,32.428052],[101.906716,32.428046],[101.906819,32.42783],[101.906945,32.427673],[101.906955,32.427661],[101.906986,32.427623],[101.90715,32.427418],[101.907315,32.427213],[101.907479,32.427009],[101.907643,32.426804],[101.907808,32.426599],[101.907972,32.426395],[101.908155,32.426209],[101.908337,32.426024],[101.90839,32.42597],[101.908403,32.425957],[101.90846,32.425899],[101.90847,32.425889],[101.90852,32.425838],[101.908702,32.425653],[101.908885,32.425467],[101.909067,32.425282],[101.90925,32.425097],[101.909432,32.424911],[101.909615,32.424726],[101.909797,32.42454],[101.90998,32.424355],[101.910162,32.42417],[101.910378,32.424023],[101.910593,32.423877],[101.910809,32.42373],[101.911024,32.423584],[101.91124,32.423437],[101.911455,32.42329],[101.911664,32.423182],[101.911873,32.423073],[101.912081,32.422965],[101.91229,32.422856],[101.912499,32.422748],[101.912707,32.422639],[101.912892,32.422532],[101.912935,32.422506],[101.912952,32.422496],[101.913026,32.422454],[101.913164,32.422373],[101.913173,32.422368],[101.913392,32.42224],[101.91362,32.422107],[101.913848,32.421974],[101.914018,32.421875],[101.914076,32.421841],[101.914385,32.421551],[101.914694,32.42126],[101.915003,32.420969],[101.915174,32.420753],[101.915344,32.420536],[101.915515,32.42032],[101.915685,32.420104],[101.91582,32.419708],[101.915824,32.419459],[101.915828,32.419209],[101.915793,32.418899],[101.915761,32.418672],[101.915619,32.418267],[101.915476,32.417861],[101.915394,32.417627],[101.915333,32.417456],[101.915191,32.417051],[101.915094,32.416787],[101.915009,32.416559],[101.914925,32.41633],[101.914841,32.416102],[101.914757,32.415873],[101.914673,32.415645],[101.914589,32.415416],[101.914505,32.415188],[101.914484,32.415132],[101.914459,32.415065],[101.914453,32.415048],[101.914421,32.41496],[101.914336,32.414731],[101.914252,32.414503],[101.914045,32.414145],[101.913838,32.413787],[101.91366,32.413574],[101.913482,32.41336],[101.913292,32.413177],[101.913102,32.412995],[101.912919,32.412649],[101.912736,32.412303],[101.912692,32.412071],[101.912648,32.411838],[101.912603,32.411606],[101.912559,32.411373],[101.912453,32.411066],[101.912346,32.410799],[101.912214,32.410532],[101.912024,32.41035],[101.911835,32.410168],[101.911637,32.41003],[101.911439,32.409891],[101.911242,32.409753],[101.911044,32.409614],[101.910846,32.409476],[101.910649,32.409337],[101.910451,32.409199],[101.910253,32.40906],[101.910056,32.408922],[101.909858,32.408783],[101.909636,32.408618],[101.909414,32.408453],[101.909192,32.408287],[101.908971,32.408122],[101.908749,32.407956],[101.908527,32.407791],[101.908305,32.407626],[101.908248,32.407583],[101.908083,32.40746],[101.907861,32.407295],[101.907691,32.407168],[101.907666,32.407149],[101.90764,32.407129],[101.907418,32.406964],[101.907196,32.406799],[101.907012,32.406649],[101.906827,32.4065],[101.906643,32.40635],[101.906459,32.406201],[101.906275,32.406051],[101.90609,32.405902],[101.905906,32.405752],[101.905722,32.405603],[101.905538,32.405453],[101.905353,32.405304],[101.905169,32.405155],[101.904985,32.405005],[101.904761,32.404896],[101.904537,32.404787],[101.904254,32.404731],[101.903971,32.404676],[101.903676,32.40463],[101.903522,32.404606],[101.903381,32.404585],[101.903252,32.404574],[101.903147,32.404565],[101.903098,32.40456],[101.902975,32.40455],[101.902816,32.404536],[101.902547,32.404553],[101.902279,32.40457],[101.902106,32.404607],[101.902013,32.404627],[101.901747,32.404685],[101.901584,32.40472],[101.901517,32.404734],[101.901481,32.404742],[101.901467,32.404745],[101.901215,32.404799],[101.901112,32.40484],[101.900913,32.40492],[101.900751,32.404985],[101.90061,32.405041],[101.900283,32.405132],[101.899955,32.405223],[101.899724,32.405259],[101.899493,32.405296],[101.899066,32.405336],[101.898639,32.405377],[101.898395,32.405393],[101.89815,32.405409],[101.897796,32.405438],[101.897442,32.405467],[101.897174,32.405504],[101.896906,32.405542],[101.896555,32.405622],[101.896204,32.405702],[101.89596,32.40576],[101.895717,32.405817],[101.895461,32.405875],[101.895206,32.405932],[101.894891,32.406002],[101.894475,32.406012],[101.894179,32.405956],[101.893907,32.40588],[101.893683,32.40575],[101.893459,32.405621],[101.893182,32.405379],[101.892964,32.405073],[101.892747,32.404767],[101.892565,32.404459],[101.89246,32.404208],[101.892354,32.403957],[101.892248,32.403705],[101.892142,32.403454],[101.892036,32.403202],[101.89193,32.402951],[101.891824,32.402699],[101.891719,32.402448],[101.891593,32.402233],[101.891467,32.402019],[101.891341,32.401804],[101.891215,32.40159],[101.89109,32.401376],[101.890964,32.401161],[101.890838,32.400947],[101.890712,32.400732],[101.890586,32.400518],[101.890461,32.400303],[101.890335,32.400089],[101.890209,32.399875],[101.890046,32.399655],[101.889883,32.399436],[101.88972,32.399217],[101.889557,32.398997],[101.889394,32.398778],[101.889231,32.398559],[101.889068,32.39834],[101.888905,32.39812],[101.888569,32.397831],[101.888233,32.397542],[101.887897,32.397253],[101.887703,32.397107],[101.887509,32.396961],[101.887314,32.396815],[101.88712,32.39667],[101.886908,32.39653],[101.886696,32.39639],[101.886435,32.396271],[101.886175,32.396152],[101.885903,32.396065],[101.885631,32.395978],[101.885368,32.395911],[101.885335,32.395902],[101.885244,32.395878],[101.885124,32.395848],[101.885086,32.395838],[101.885039,32.395826],[101.884791,32.395738],[101.884544,32.39565],[101.884221,32.395523],[101.883899,32.395396],[101.883588,32.395217],[101.883278,32.395038],[101.883141,32.394839],[101.883004,32.394641],[101.882867,32.394442],[101.88273,32.394243],[101.882614,32.394041],[101.882497,32.393839],[101.882381,32.393636],[101.882264,32.393434],[101.882148,32.393231],[101.882031,32.393029],[101.881914,32.392826],[101.881798,32.392624],[101.881681,32.392421],[101.881565,32.392219],[101.881439,32.392003],[101.881313,32.391787],[101.881188,32.391571],[101.881062,32.391355],[101.880936,32.391139],[101.880883,32.391048],[101.88081,32.390924],[101.880801,32.390908],[101.88074,32.390803],[101.880685,32.390708],[101.880559,32.390492],[101.880433,32.390276],[101.88035,32.390133],[101.880307,32.39006],[101.880182,32.389844],[101.880056,32.389628],[101.879877,32.389373],[101.879697,32.389119],[101.879517,32.38896],[101.879337,32.388802],[101.879156,32.388644],[101.878976,32.388485],[101.878796,32.388327],[101.878616,32.388169],[101.878316,32.38801],[101.87797,32.387893],[101.877674,32.387817],[101.877256,32.387745],[101.876819,32.387693],[101.876814,32.387693],[101.876771,32.387682],[101.876717,32.387668],[101.876703,32.387664],[101.876592,32.387635],[101.876371,32.387578],[101.876167,32.387479],[101.875798,32.387301],[101.875586,32.387171],[101.875375,32.387041],[101.87516,32.38687],[101.874946,32.386698],[101.874733,32.386516],[101.87452,32.386334],[101.874318,32.386142],[101.874116,32.385951],[101.873978,32.385827],[101.873919,32.385773],[101.87389,32.385748],[101.873848,32.38571],[101.873665,32.385545],[101.873337,32.385264],[101.873105,32.385161],[101.873026,32.385126],[101.873018,32.385123],[101.873018,32.385122],[101.872938,32.385087],[101.872831,32.385039],[101.872716,32.384988],[101.872456,32.38489],[101.872196,32.384793],[101.871854,32.384545],[101.871852,32.384543],[101.871849,32.384542],[101.871772,32.384486],[101.871772,32.384486],[101.871511,32.384297],[101.871169,32.384049],[101.871085,32.384],[101.870949,32.38392],[101.870897,32.38389],[101.870729,32.383791],[101.870621,32.383728],[101.870554,32.383688],[101.870509,32.383662],[101.870289,32.383533],[101.870069,32.383404],[101.869848,32.383275],[101.869628,32.383146],[101.869408,32.383017],[101.869188,32.382888],[101.868968,32.382759],[101.868748,32.38263],[101.868528,32.3825],[101.868308,32.382371],[101.868087,32.382242],[101.867867,32.382113],[101.867647,32.381984],[101.867597,32.381959],[101.867468,32.381894],[101.867443,32.381881],[101.867371,32.381846],[101.867264,32.381792],[101.867238,32.381779],[101.867033,32.381676],[101.866829,32.381573],[101.866624,32.38147],[101.866419,32.381368],[101.866215,32.381265],[101.86601,32.381162],[101.865805,32.381059],[101.865601,32.380957],[101.865367,32.3809],[101.865132,32.380843],[101.864895,32.380828],[101.864658,32.380813],[101.864422,32.380797],[101.864185,32.380782],[101.863948,32.380766],[101.863711,32.380751],[101.863416,32.380717],[101.863121,32.380661],[101.862895,32.380479],[101.862765,32.380243],[101.862635,32.380008],[101.862501,32.379638],[101.862444,32.379479],[101.862443,32.379474],[101.86242,32.379412],[101.862414,32.379393],[101.862389,32.379323],[101.86234,32.379186],[101.862336,32.379073],[101.862336,32.37907],[101.862332,32.378937],[101.862324,32.378689],[101.862316,32.37844],[101.862309,32.378192],[101.862301,32.377943],[101.862293,32.377695],[101.862285,32.377447],[101.862277,32.377198],[101.862294,32.376938],[101.862312,32.376679],[101.862329,32.376419],[101.862346,32.376159],[101.862363,32.375899],[101.862381,32.37564],[101.862398,32.37538],[101.862415,32.37512],[101.862427,32.374938],[101.862439,32.3747],[101.862451,32.374461],[101.862463,32.374223],[101.862475,32.373984],[101.862487,32.373745],[101.862493,32.373626],[101.862499,32.373507],[101.862503,32.373436],[101.862511,32.373268],[101.862524,32.37303],[101.862536,32.372791],[101.862548,32.372552],[101.862559,32.37212],[101.862565,32.371876],[101.86257,32.371687],[101.862579,32.37132],[101.862581,32.371255],[101.862592,32.370822],[101.862646,32.370603],[101.862701,32.370384],[101.862723,32.370326],[101.862783,32.370172],[101.862814,32.370091],[101.862879,32.36984],[101.862888,32.369811],[101.862937,32.36965],[101.862968,32.369548],[101.863084,32.369339],[101.863149,32.369094],[101.863215,32.368849],[101.86328,32.368603],[101.863333,32.368405],[101.863346,32.368358],[101.863373,32.368131],[101.863377,32.368101],[101.863409,32.367845],[101.863439,32.367599],[101.863497,32.367259],[101.863552,32.366935],[101.863553,32.366933],[101.863555,32.36692],[101.863613,32.36658],[101.86364,32.366294],[101.863666,32.366008],[101.863667,32.365995],[101.863623,32.365553],[101.863578,32.36511],[101.863534,32.364668],[101.863489,32.364226],[101.863466,32.364002],[101.863387,32.363576],[101.863307,32.363151],[101.863227,32.362725],[101.863148,32.3623],[101.863068,32.361874],[101.862977,32.361468],[101.862899,32.361123],[101.862827,32.360804],[101.862821,32.360779],[101.862757,32.360492],[101.862693,32.360206],[101.862693,32.35993],[101.862693,32.359654],[101.862697,32.359392],[101.862702,32.35913],[101.862702,32.358972],[101.862702,32.358683],[101.862636,32.358369],[101.862588,32.358102],[101.862626,32.357769],[101.862759,32.357455],[101.862869,32.357231],[101.862978,32.357008],[101.863035,32.356684],[101.863026,32.356427],[101.862908,32.355998],[101.862855,32.355805],[101.862848,32.355787],[101.862848,32.355786],[101.862848,32.355786],[101.862844,32.355774],[101.862771,32.355566],[101.86276,32.355533],[101.862687,32.355327],[101.862606,32.355138],[101.862606,32.355138],[101.862606,32.355138],[101.862444,32.354762],[101.862282,32.354387],[101.86222,32.354295],[101.862181,32.354238],[101.862043,32.354056],[101.861905,32.353875],[101.861866,32.353832],[101.861791,32.35375],[101.86152,32.35345],[101.861352,32.353286],[101.861184,32.353122],[101.861006,32.352969],[101.860827,32.352815],[101.860513,32.352615],[101.860335,32.352458],[101.86027,32.352244],[101.860263,32.352016],[101.860227,32.351701],[101.860162,32.351579],[101.860121,32.351503],[101.860042,32.351412],[101.859817,32.351167],[101.859593,32.350922],[101.859365,32.350659],[101.859192,32.35046],[101.859019,32.350261],[101.858847,32.350062],[101.858674,32.349863],[101.858448,32.349511],[101.858221,32.349159],[101.857995,32.348808],[101.857768,32.348456],[101.857588,32.348295],[101.857407,32.348133],[101.857226,32.347972],[101.857046,32.34781],[101.856865,32.347648],[101.856685,32.347487],[101.856367,32.347217],[101.856049,32.346948],[101.855731,32.346679],[101.8555,32.346345],[101.85527,32.346012],[101.855039,32.345679],[101.854922,32.345464],[101.854819,32.345274],[101.854805,32.345249],[101.854689,32.345034],[101.854572,32.344819],[101.854437,32.34457],[101.854326,32.344477],[101.854012,32.344242],[101.853892,32.344132],[101.853822,32.344069],[101.853777,32.344028],[101.853591,32.343746],[101.853406,32.343464],[101.853313,32.343232],[101.85322,32.343],[101.853077,32.342714],[101.852934,32.342429],[101.852791,32.342125],[101.852749,32.342036],[101.852656,32.341615],[101.852649,32.341237],[101.852642,32.340858],[101.852599,32.34068],[101.852549,32.340516],[101.852492,32.340409],[101.852406,32.340209],[101.852406,32.340002],[101.852392,32.339873],[101.852335,32.339709],[101.852381,32.339416],[101.852428,32.339124],[101.852499,32.338867],[101.852497,32.338843],[101.85247,32.338574],[101.852473,32.338228],[101.852475,32.337882],[101.852404,32.337654],[101.852379,32.337504],[101.852297,32.337083],[101.852254,32.336958],[101.852198,32.336881],[101.852198,32.33688],[101.852197,32.336879],[101.852111,32.336804],[101.851942,32.336622],[101.851785,32.336343],[101.851627,32.336063],[101.851514,32.335801],[101.851478,32.335605],[101.851556,32.335369]]]]},"properties":{"cp":[102.04239391087305,32.455224568167694],"code":"513233203","name":"查尔玛乡","level":"street","center":[102.04239391087305,32.455224568167694],"fullCode":"513233203000","fullName":"四川省阿坝藏族羌族自治州红原县查尔玛乡","acreageMu":1092920.26,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[101.921,32.5029]}},{"id":"513233204","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.485374,33.088931],[102.485341,33.088785],[102.485348,33.088537],[102.485356,33.088289],[102.485367,33.087863],[102.485377,33.087532],[102.485397,33.087205],[102.485417,33.086878],[102.485309,33.086675],[102.485202,33.086471],[102.48493,33.086183],[102.484751,33.086002],[102.484573,33.08582],[102.484395,33.085675],[102.484216,33.085529],[102.484007,33.085442],[102.483798,33.085355],[102.48338,33.085251],[102.483112,33.085246],[102.482844,33.085241],[102.482449,33.08528],[102.482155,33.085262],[102.48186,33.085245],[102.481496,33.085167],[102.481246,33.08502],[102.481032,33.08466],[102.480954,33.084446],[102.480876,33.084231],[102.480797,33.084005],[102.480719,33.083778],[102.480506,33.083457],[102.480449,33.083371],[102.480314,33.083155],[102.48018,33.08294],[102.480046,33.082712],[102.479912,33.082485],[102.479791,33.082293],[102.47967,33.082102],[102.479455,33.081718],[102.479351,33.081456],[102.479162,33.08113],[102.479138,33.080902],[102.479113,33.080675],[102.479089,33.080447],[102.479064,33.080219],[102.479039,33.079992],[102.479015,33.079764],[102.47899,33.079537],[102.478966,33.079309],[102.478941,33.079082],[102.478916,33.078854],[102.478894,33.078579],[102.478871,33.078305],[102.478849,33.07803],[102.478826,33.077756],[102.478803,33.077481],[102.478781,33.077207],[102.478758,33.076932],[102.478735,33.076658],[102.478713,33.076383],[102.47869,33.076109],[102.478667,33.075834],[102.478645,33.075559],[102.478596,33.075299],[102.478548,33.075038],[102.478502,33.074634],[102.478427,33.074325],[102.478354,33.074104],[102.478281,33.073883],[102.478208,33.073662],[102.478135,33.073441],[102.478062,33.07322],[102.477988,33.072999],[102.477907,33.07279],[102.477826,33.07258],[102.477745,33.07237],[102.477664,33.07216],[102.477582,33.071951],[102.477501,33.071741],[102.47742,33.071531],[102.477339,33.071321],[102.477257,33.071111],[102.477176,33.070902],[102.477092,33.070676],[102.477007,33.070449],[102.476923,33.070223],[102.476839,33.069997],[102.476755,33.069771],[102.47667,33.069545],[102.476586,33.069319],[102.476502,33.069093],[102.476417,33.068867],[102.476333,33.068641],[102.47625,33.068381],[102.476167,33.06812],[102.476084,33.06786],[102.476001,33.0676],[102.475918,33.06734],[102.475835,33.06708],[102.475752,33.066819],[102.475669,33.066559],[102.475586,33.066299],[102.475503,33.066039],[102.47542,33.065779],[102.475337,33.065518],[102.475254,33.065258],[102.475171,33.064998],[102.475042,33.064577],[102.474914,33.064157],[102.474785,33.063736],[102.474694,33.063427],[102.474604,33.063117],[102.474633,33.062859],[102.474662,33.0626],[102.474691,33.062341],[102.47472,33.062082],[102.474788,33.061843],[102.474856,33.061604],[102.474924,33.061364],[102.474992,33.061125],[102.47508,33.060812],[102.475292,33.060436],[102.475504,33.060061],[102.475702,33.059694],[102.475901,33.059327],[102.476099,33.05896],[102.476316,33.058571],[102.476533,33.058181],[102.476623,33.057788],[102.476713,33.057395],[102.476716,33.057121],[102.476719,33.056847],[102.476682,33.05653],[102.476644,33.056213],[102.476607,33.055896],[102.476555,33.055455],[102.476549,33.055064],[102.476543,33.054673],[102.476537,33.054282],[102.476531,33.05406],[102.476521,33.053734],[102.476511,33.053408],[102.476504,33.053084],[102.476496,33.052759],[102.476488,33.052435],[102.47642,33.052174],[102.476351,33.051913],[102.476291,33.051686],[102.476231,33.051459],[102.476115,33.051083],[102.475999,33.050706],[102.47598,33.050644],[102.475833,33.050356],[102.475686,33.050069],[102.47554,33.049781],[102.475349,33.049436],[102.475159,33.049091],[102.47512,33.048987],[102.474994,33.048655],[102.474868,33.048323],[102.474743,33.047991],[102.474637,33.047791],[102.474528,33.047586],[102.474291,33.047212],[102.474008,33.046911],[102.473725,33.046611],[102.473689,33.046536],[102.473642,33.046438],[102.473666,33.046212],[102.47366,33.045849],[102.473654,33.045486],[102.473688,33.045178],[102.473722,33.04487],[102.473749,33.044624],[102.473775,33.044255],[102.473801,33.043886],[102.473827,33.043517],[102.473828,33.043352],[102.47383,33.042991],[102.473833,33.042629],[102.473836,33.042267],[102.473838,33.041905],[102.473856,33.041537],[102.473904,33.041311],[102.474047,33.041067],[102.474172,33.040847],[102.474296,33.040626],[102.474499,33.040406],[102.474701,33.040186],[102.474826,33.039996],[102.474945,33.039764],[102.474998,33.039484],[102.475117,33.039223],[102.475177,33.039116],[102.475179,33.039109],[102.47519,33.03866],[102.475201,33.03829],[102.475211,33.03792],[102.475222,33.037549],[102.475261,33.037297],[102.475299,33.037044],[102.475338,33.036792],[102.475377,33.036539],[102.475416,33.036287],[102.475455,33.036034],[102.475493,33.035782],[102.475532,33.035529],[102.475574,33.035261],[102.475582,33.035207],[102.475637,33.03523],[102.476507,33.035744],[102.477346,33.03604],[102.478298,33.036277],[102.478923,33.036351],[102.478959,33.036352],[102.479841,33.036463],[102.480447,33.03719],[102.480949,33.037666],[102.481976,33.037842],[102.482808,33.038417],[102.483751,33.038964],[102.484244,33.03975],[102.484622,33.04072],[102.484898,33.041378],[102.485531,33.042477],[102.486396,33.043147],[102.487775,33.04392],[102.489316,33.044199],[102.490709,33.044015],[102.490944,33.043984],[102.492318,33.043639],[102.493072,33.043033],[102.494461,33.04216],[102.494835,33.040647],[102.495199,33.039536],[102.495965,33.038496],[102.497306,33.036691],[102.498087,33.035154],[102.499122,33.035051],[102.499675,33.035062],[102.500222,33.035185],[102.500546,33.035083],[102.501299,33.034557],[102.501858,33.034108],[102.502507,33.033851],[102.502766,33.033775],[102.503184,33.033756],[102.503601,33.033792],[102.504169,33.034128],[102.505439,33.034667],[102.506104,33.035005],[102.506864,33.035372],[102.507595,33.03563],[102.508559,33.035622],[102.509431,33.03545],[102.510549,33.035218],[102.511503,33.035064],[102.512043,33.035053],[102.512733,33.035197],[102.51329,33.035489],[102.513953,33.035654],[102.514969,33.036085],[102.515863,33.036276],[102.516349,33.036351],[102.517473,33.036568],[102.518386,33.036997],[102.519404,33.037342],[102.519916,33.037396],[102.522811,33.038062],[102.523696,33.038027],[102.524803,33.03817],[102.525561,33.038272],[102.526239,33.038286],[102.526871,33.038454],[102.527509,33.038449],[102.528049,33.038269],[102.528543,33.038227],[102.529272,33.037913],[102.530071,33.037407],[102.530795,33.036826],[102.531727,33.035888],[102.532038,33.03534],[102.532231,33.034928],[102.53248,33.034849],[102.532688,33.035034],[102.533093,33.035277],[102.533533,33.035438],[102.53399,33.035572],[102.534416,33.035636],[102.534951,33.035924],[102.535533,33.03631],[102.536001,33.036638],[102.537837,33.037931],[102.538575,33.038537],[102.539558,33.039192],[102.540183,33.039411],[102.540789,33.039719],[102.542123,33.040346],[102.543113,33.040937],[102.543737,33.041245],[102.544176,33.041431],[102.544879,33.041406],[102.545443,33.041338],[102.546175,33.041096],[102.54684,33.040735],[102.547299,33.040231],[102.54766,33.039864],[102.54839,33.039701],[102.549396,33.03972],[102.550049,33.039812],[102.550889,33.039908],[102.551708,33.039904],[102.553137,33.039853],[102.553888,33.039809],[102.554891,33.039927],[102.555916,33.040105],[102.556472,33.040293],[102.556985,33.040382],[102.557617,33.040375],[102.559062,33.04058],[102.559556,33.040511],[102.560478,33.040155],[102.561196,33.039597],[102.561634,33.038994],[102.561676,33.038325],[102.56179,33.037558],[102.561623,33.036826],[102.5616,33.035978],[102.561842,33.034839],[102.562602,33.033573],[102.563055,33.032418],[102.563595,33.030334],[102.563754,33.029327],[102.564152,33.027113],[102.564351,33.026233],[102.564996,33.024583],[102.565489,33.023014],[102.565268,33.022255],[102.564832,33.021152],[102.564503,33.019769],[102.564702,33.017414],[102.565032,33.016325],[102.565145,33.01585],[102.565203,33.015718],[102.565244,33.015624],[102.565393,33.015285],[102.565433,33.015195],[102.565508,33.015198],[102.565561,33.015211],[102.565608,33.015223],[102.565636,33.015245],[102.565658,33.015278],[102.565666,33.015309],[102.565667,33.01538],[102.565662,33.015432],[102.565642,33.015471],[102.565607,33.015517],[102.565605,33.01553],[102.565637,33.015558],[102.565684,33.01556],[102.565717,33.01555],[102.56577,33.01552],[102.565802,33.015493],[102.565852,33.015458],[102.565891,33.015428],[102.565952,33.015401],[102.566021,33.015384],[102.566053,33.015381],[102.566192,33.015377],[102.566269,33.015359],[102.566301,33.015328],[102.566314,33.015297],[102.566315,33.015268],[102.566298,33.01524],[102.566274,33.015213],[102.56634,33.015218],[102.566342,33.015157],[102.566316,33.015122],[102.566235,33.015069],[102.566174,33.015041],[102.56612,33.015038],[102.566059,33.015055],[102.565981,33.015083],[102.565927,33.015105],[102.565874,33.015116],[102.565848,33.015115],[102.565803,33.015099],[102.565774,33.015075],[102.56575,33.015037],[102.565722,33.014962],[102.56572,33.014955],[102.565709,33.014878],[102.565705,33.014794],[102.56569,33.014713],[102.565667,33.014665],[102.565623,33.014628],[102.565608,33.014616],[102.56554,33.014581],[102.565446,33.014556],[102.56541,33.014546],[102.56533,33.014531],[102.565257,33.014509],[102.565201,33.014488],[102.565159,33.014465],[102.565139,33.014437],[102.565127,33.014387],[102.56515,33.014316],[102.565187,33.014265],[102.56524,33.014238],[102.565273,33.014237],[102.56535,33.014261],[102.565421,33.01431],[102.565487,33.014334],[102.56553,33.014338],[102.565605,33.014317],[102.56566,33.01428],[102.565718,33.014212],[102.565756,33.014174],[102.565796,33.014128],[102.565832,33.014114],[102.565868,33.014113],[102.565929,33.014147],[102.566033,33.014201],[102.5661,33.014221],[102.566184,33.014236],[102.566269,33.01423],[102.566342,33.014224],[102.566406,33.014238],[102.566455,33.014276],[102.566501,33.01421],[102.56654,33.0142],[102.566559,33.014235],[102.566561,33.014264],[102.566558,33.014317],[102.566541,33.014371],[102.566525,33.01441],[102.566502,33.014452],[102.566472,33.014505],[102.566449,33.014539],[102.566419,33.014589],[102.566413,33.014636],[102.566427,33.014654],[102.566458,33.014667],[102.566533,33.01467],[102.566574,33.014662],[102.566625,33.014637],[102.566657,33.014613],[102.566684,33.014584],[102.56671,33.014548],[102.566742,33.014499],[102.566751,33.014475],[102.566762,33.014449],[102.566762,33.014384],[102.566753,33.014335],[102.566738,33.014279],[102.56672,33.014238],[102.566706,33.014202],[102.566684,33.014162],[102.566687,33.014128],[102.566694,33.014109],[102.56671,33.014092],[102.566746,33.014059],[102.566768,33.014035],[102.566794,33.014014],[102.566837,33.014003],[102.566886,33.014005],[102.56692,33.014019],[102.566961,33.014052],[102.566988,33.014081],[102.567028,33.014119],[102.567072,33.014156],[102.567113,33.014192],[102.567205,33.014274],[102.567256,33.014326],[102.567285,33.01437],[102.567332,33.014434],[102.567387,33.014464],[102.567442,33.014478],[102.567501,33.014482],[102.56754,33.014474],[102.567603,33.014452],[102.567646,33.014432],[102.567725,33.014424],[102.567768,33.014426],[102.567805,33.01443],[102.567845,33.01444],[102.56788,33.014448],[102.567914,33.014463],[102.567944,33.014481],[102.567966,33.014504],[102.567994,33.014572],[102.567994,33.014617],[102.567991,33.014652],[102.56796,33.014701],[102.567908,33.014749],[102.567853,33.014792],[102.567788,33.014833],[102.567713,33.014859],[102.567706,33.014862],[102.567675,33.014873],[102.567639,33.014903],[102.567637,33.014943],[102.567647,33.014967],[102.567668,33.014986],[102.567695,33.015012],[102.567728,33.015039],[102.567748,33.015072],[102.567799,33.015115],[102.567837,33.01514],[102.567889,33.015149],[102.567947,33.015145],[102.567987,33.015124],[102.568009,33.015103],[102.568033,33.015064],[102.568051,33.015022],[102.568057,33.01498],[102.56807,33.014907],[102.568073,33.01486],[102.568082,33.014828],[102.568115,33.014775],[102.568146,33.014746],[102.568178,33.014721],[102.568183,33.014718],[102.568234,33.01469],[102.568272,33.01468],[102.568333,33.01469],[102.568385,33.014721],[102.568425,33.014737],[102.568571,33.014829],[102.568597,33.014883],[102.568605,33.014951],[102.568596,33.015006],[102.568559,33.015057],[102.568512,33.015102],[102.568484,33.015122],[102.568456,33.015143],[102.568398,33.015176],[102.568353,33.015191],[102.568317,33.015215],[102.568267,33.015253],[102.568229,33.015291],[102.568249,33.015338],[102.568283,33.015382],[102.568316,33.015398],[102.56837,33.015403],[102.568408,33.015372],[102.568414,33.015368],[102.568466,33.015337],[102.568536,33.015276],[102.56859,33.015241],[102.568607,33.015225],[102.568662,33.01519],[102.568715,33.015156],[102.568759,33.015133],[102.568801,33.015106],[102.56884,33.015082],[102.568899,33.015046],[102.568917,33.015033],[102.569055,33.015019],[102.569089,33.015016],[102.569146,33.01501],[102.569426,33.014529],[102.569787,33.014311],[102.570199,33.014242],[102.57059,33.014177],[102.570725,33.014127],[102.570748,33.014119],[102.570984,33.014032],[102.571029,33.014015],[102.571149,33.013971],[102.571212,33.013973],[102.571312,33.013987],[102.571378,33.013999],[102.57148,33.014024],[102.57152,33.014066],[102.571586,33.014136],[102.571648,33.014213],[102.571679,33.014289],[102.571686,33.014315],[102.571705,33.014382],[102.571895,33.014331],[102.572006,33.014429],[102.571682,33.01491],[102.571574,33.015164],[102.571572,33.015169],[102.571586,33.01517],[102.57161,33.015172],[102.57163,33.015177],[102.571651,33.015183],[102.571701,33.015202],[102.571753,33.015256],[102.571792,33.015319],[102.571839,33.015361],[102.571897,33.015427],[102.571952,33.015495],[102.571989,33.015561],[102.571998,33.015576],[102.572005,33.015578],[102.57224,33.015632],[102.572479,33.015843],[102.57249,33.015853],[102.572602,33.015851],[102.572703,33.015863],[102.572802,33.015895],[102.572828,33.015924],[102.572855,33.015967],[102.572873,33.015994],[102.572882,33.016036],[102.572882,33.016083],[102.572857,33.016122],[102.572807,33.016178],[102.572758,33.016214],[102.572672,33.016248],[102.572706,33.016465],[102.572606,33.016875],[102.572569,33.016975],[102.572567,33.01698],[102.572514,33.017123],[102.57251,33.017135],[102.572587,33.017165],[102.572601,33.01717],[102.572818,33.017254],[102.573309,33.017151],[102.573531,33.017193],[102.573914,33.017799],[102.574333,33.018077],[102.574453,33.018156],[102.574533,33.01821],[102.574612,33.018262],[102.574703,33.018313],[102.575218,33.018598],[102.57523,33.018604],[102.575247,33.018595],[102.575282,33.018579],[102.575326,33.01858],[102.575384,33.01858],[102.57547,33.018581],[102.575537,33.018614],[102.57562,33.018684],[102.575653,33.018748],[102.575669,33.018787],[102.575929,33.018887],[102.576139,33.01934],[102.576176,33.019603],[102.576066,33.019799],[102.575989,33.019937],[102.57597,33.019953],[102.575993,33.019987],[102.57599,33.020037],[102.575967,33.020082],[102.575907,33.02015],[102.575843,33.020201],[102.575753,33.020236],[102.575708,33.020251],[102.57564,33.020246],[102.575625,33.020258],[102.575533,33.02034],[102.575489,33.020564],[102.575482,33.020602],[102.575479,33.020714],[102.575467,33.021125],[102.575115,33.021513],[102.575101,33.021529],[102.575107,33.021604],[102.575111,33.021674],[102.57511,33.021715],[102.575103,33.021787],[102.57509,33.021827],[102.575045,33.021888],[102.574983,33.021913],[102.574898,33.021918],[102.574812,33.021904],[102.574724,33.021856],[102.574624,33.021791],[102.574606,33.021779],[102.574594,33.021766],[102.57456,33.021781],[102.574404,33.021932],[102.574332,33.022001],[102.574501,33.022342],[102.574928,33.022949],[102.574919,33.023286],[102.574688,33.023618],[102.574313,33.024323],[102.574305,33.024612],[102.574305,33.024622],[102.574304,33.024659],[102.574358,33.024698],[102.574415,33.024738],[102.574522,33.024814],[102.574835,33.024745],[102.575447,33.024217],[102.575472,33.024195],[102.575488,33.024185],[102.575602,33.02411],[102.57565,33.024079],[102.57597,33.023868],[102.576169,33.023872],[102.576459,33.023878],[102.576574,33.024062],[102.576519,33.024115],[102.576576,33.024175],[102.576621,33.024138],[102.576672,33.024219],[102.576877,33.024822],[102.57682,33.025308],[102.577393,33.025468],[102.577466,33.025474],[102.577488,33.025476],[102.577502,33.025471],[102.577597,33.025435],[102.577719,33.025382],[102.577846,33.025382],[102.577993,33.025375],[102.578068,33.025354],[102.578151,33.0253],[102.578271,33.025223],[102.578381,33.025173],[102.578465,33.025182],[102.578554,33.02523],[102.578613,33.025312],[102.578625,33.025407],[102.578603,33.025482],[102.578573,33.025518],[102.578536,33.025544],[102.578459,33.025577],[102.578394,33.025597],[102.578412,33.025601],[102.578422,33.025619],[102.578624,33.025979],[102.578856,33.026539],[102.578865,33.026561],[102.578919,33.0266],[102.578967,33.026692],[102.578958,33.026736],[102.578945,33.026754],[102.578999,33.026885],[102.579209,33.027339],[102.579322,33.027438],[102.579386,33.027371],[102.579474,33.027289],[102.579553,33.027281],[102.579635,33.027288],[102.5797,33.027316],[102.579741,33.02735],[102.579766,33.027376],[102.579776,33.027395],[102.579781,33.027391],[102.579831,33.027351],[102.580229,33.027433],[102.580349,33.027715],[102.580365,33.027754],[102.580407,33.027851],[102.580409,33.027857],[102.580438,33.027924],[102.580833,33.028082],[102.58106,33.027936],[102.581295,33.027454],[102.5814,33.026857],[102.581564,33.02686],[102.581712,33.026863],[102.5818,33.026865],[102.581869,33.02692],[102.581881,33.026929],[102.581881,33.026973],[102.581879,33.027013],[102.581875,33.027071],[102.58188,33.027106],[102.581897,33.027129],[102.58193,33.027138],[102.582007,33.02714],[102.58206,33.027141],[102.582107,33.027138],[102.582137,33.027135],[102.582155,33.027137],[102.582207,33.027148],[102.582294,33.027218],[102.582492,33.027366],[102.58253,33.027407],[102.582562,33.027427],[102.582632,33.027511],[102.582682,33.027584],[102.582714,33.027629],[102.582759,33.027683],[102.582788,33.027724],[102.582816,33.027764],[102.582829,33.027774],[102.58285,33.027768],[102.582867,33.027746],[102.582872,33.027719],[102.582876,33.027658],[102.582875,33.027625],[102.582891,33.027635],[102.583036,33.0277],[102.583051,33.027706],[102.583154,33.027752],[102.583203,33.027803],[102.583413,33.028019],[102.583445,33.028507],[102.583558,33.028618],[102.58373,33.028787],[102.583777,33.028794],[102.583863,33.028828],[102.583938,33.028918],[102.584161,33.028982],[102.584225,33.029],[102.58454,33.02909],[102.58478,33.029044],[102.584898,33.029022],[102.585206,33.028996],[102.585243,33.028993],[102.585345,33.028985],[102.585759,33.028951],[102.585767,33.028951],[102.586011,33.028931],[102.586039,33.028928],[102.586204,33.028913],[102.586367,33.028897],[102.586502,33.028885],[102.586629,33.028873],[102.587086,33.02883],[102.587403,33.0288],[102.587423,33.028798],[102.58766,33.028776],[102.587814,33.028606],[102.588027,33.028371],[102.58808,33.028104],[102.588233,33.027326],[102.588196,33.027087],[102.588099,33.026455],[102.588082,33.02635],[102.587868,33.025627],[102.587867,33.025622],[102.587835,33.025516],[102.587821,33.025516],[102.587808,33.025504],[102.587795,33.025484],[102.587779,33.025436],[102.587752,33.025364],[102.587722,33.025307],[102.587693,33.025238],[102.587682,33.025154],[102.58767,33.025072],[102.587637,33.024948],[102.587601,33.024853],[102.587576,33.024778],[102.587537,33.024649],[102.587518,33.024537],[102.587511,33.024436],[102.587522,33.02426],[102.587533,33.02416],[102.587567,33.024012],[102.587602,33.023894],[102.58767,33.023781],[102.587689,33.023667],[102.587717,33.023529],[102.587717,33.023498],[102.587708,33.023479],[102.587684,33.023436],[102.587651,33.023372],[102.587611,33.0233],[102.587566,33.023207],[102.587534,33.023077],[102.587502,33.022953],[102.587477,33.022865],[102.587484,33.022815],[102.587525,33.022743],[102.587584,33.022693],[102.587663,33.022666],[102.587759,33.022624],[102.587813,33.022599],[102.587852,33.022603],[102.587872,33.022622],[102.587871,33.022651],[102.587857,33.022688],[102.587833,33.022713],[102.587836,33.022727],[102.587852,33.022736],[102.587876,33.022744],[102.587911,33.02274],[102.587944,33.02273],[102.587992,33.022703],[102.588098,33.022645],[102.588169,33.022586],[102.5882,33.022549],[102.5882,33.02253],[102.588183,33.02251],[102.588143,33.022492],[102.588106,33.022475],[102.588079,33.022449],[102.588085,33.022421],[102.5881,33.022403],[102.588144,33.022386],[102.588218,33.022382],[102.588312,33.022383],[102.588379,33.022393],[102.588426,33.022415],[102.588438,33.022402],[102.588579,33.022258],[102.58907,33.022159],[102.589152,33.022143],[102.589212,33.022163],[102.589334,33.022195],[102.589411,33.022213],[102.589576,33.022218],[102.589647,33.022218],[102.589704,33.022208],[102.589786,33.022188],[102.589907,33.022161],[102.590051,33.02212],[102.590142,33.022091],[102.590266,33.02204],[102.590511,33.021851],[102.591144,33.021708],[102.591161,33.021702],[102.591167,33.021699],[102.591902,33.021417],[102.592401,33.021225],[102.593002,33.020995],[102.59303,33.020981],[102.5936,33.020705],[102.593784,33.020616],[102.594183,33.020423],[102.594985,33.020034],[102.595286,33.019805],[102.595949,33.019299],[102.596136,33.019157],[102.596736,33.018017],[102.596761,33.017969],[102.596793,33.017892],[102.596987,33.017422],[102.597047,33.017276],[102.59709,33.01717],[102.597085,33.017167],[102.597084,33.017153],[102.597096,33.017099],[102.597126,33.01699],[102.597157,33.016801],[102.597174,33.016722],[102.597173,33.016653],[102.597178,33.016596],[102.597201,33.016546],[102.597226,33.016476],[102.597221,33.016398],[102.597217,33.016297],[102.597218,33.016187],[102.597169,33.015997],[102.597145,33.015832],[102.597124,33.015689],[102.597101,33.015493],[102.597057,33.015335],[102.597028,33.015083],[102.596998,33.014977],[102.596958,33.014857],[102.59689,33.014527],[102.596855,33.014254],[102.5968,33.013921],[102.596793,33.01388],[102.59678,33.013734],[102.596735,33.013516],[102.596723,33.013455],[102.596676,33.01334],[102.596637,33.01322],[102.596618,33.013132],[102.596619,33.012985],[102.5966,33.012861],[102.596583,33.012755],[102.596582,33.012722],[102.596587,33.01271],[102.596602,33.012707],[102.596501,33.012145],[102.596487,33.012067],[102.596486,33.012062],[102.596409,33.011956],[102.596377,33.011896],[102.596351,33.011828],[102.596329,33.011745],[102.596306,33.01165],[102.596279,33.011572],[102.596241,33.01145],[102.596222,33.011359],[102.596203,33.01129],[102.596194,33.0112],[102.596176,33.011106],[102.596159,33.011058],[102.596128,33.011012],[102.596117,33.010984],[102.596114,33.010931],[102.596111,33.010826],[102.596103,33.010737],[102.596067,33.010644],[102.596038,33.010551],[102.59602,33.010378],[102.596016,33.010342],[102.595964,33.009979],[102.595842,33.009421],[102.59581,33.00918],[102.595808,33.009091],[102.595796,33.008998],[102.595795,33.008862],[102.595803,33.00879],[102.595822,33.008722],[102.595851,33.008616],[102.595873,33.00855],[102.595979,33.008387],[102.596019,33.008347],[102.596058,33.00829],[102.596133,33.008224],[102.596165,33.008181],[102.59621,33.008151],[102.596247,33.008125],[102.596271,33.008089],[102.596302,33.00806],[102.596341,33.008054],[102.596361,33.008056],[102.596374,33.008063],[102.596502,33.007872],[102.597201,33.007266],[102.597291,33.007188],[102.597632,33.006829],[102.597681,33.006776],[102.597774,33.006678],[102.597988,33.006453],[102.598268,33.006157],[102.598568,33.005621],[102.598841,33.005135],[102.599175,33.004538],[102.599514,33.003933],[102.599699,33.003498],[102.599772,33.003328],[102.599868,33.003102],[102.600175,33.002382],[102.600288,33.002117],[102.600337,33.002],[102.600242,33.001836],[102.600198,33.001761],[102.599949,33.00133],[102.599487,33.000535],[102.599261,32.999641],[102.599114,32.999063],[102.599064,32.998867],[102.599032,32.998739],[102.599097,32.998698],[102.598982,32.998588],[102.598888,32.998445],[102.598769,32.998313],[102.597865,32.996847],[102.597802,32.996745],[102.597653,32.996432],[102.597535,32.996184],[102.59753,32.996173],[102.597496,32.996102],[102.597438,32.99598],[102.597539,32.995619],[102.597571,32.995504],[102.597736,32.995108],[102.597751,32.994957],[102.597837,32.994828],[102.597933,32.994676],[102.597978,32.994587],[102.59798,32.994457],[102.597985,32.994385],[102.597985,32.994376],[102.598043,32.994268],[102.598142,32.994094],[102.598145,32.994089],[102.598198,32.994014],[102.5982,32.99401],[102.598241,32.993894],[102.598252,32.99382],[102.598252,32.993758],[102.59824,32.993684],[102.598225,32.993622],[102.598197,32.993556],[102.598165,32.993482],[102.598135,32.993447],[102.598473,32.99306],[102.598643,32.992707],[102.598882,32.99221],[102.599116,32.991723],[102.599161,32.991631],[102.59971,32.991318],[102.599707,32.991307],[102.599715,32.991277],[102.599762,32.991106],[102.5998,32.991002],[102.599868,32.990857],[102.599935,32.990717],[102.600071,32.990565],[102.600144,32.990448],[102.600212,32.990406],[102.600289,32.990359],[102.600339,32.990322],[102.600399,32.990296],[102.600477,32.990284],[102.600506,32.990336],[102.600635,32.990232],[102.601333,32.989671],[102.60139,32.989583],[102.60146,32.989478],[102.601489,32.989433],[102.601541,32.989354],[102.601927,32.988769],[102.602002,32.988656],[102.602137,32.988388],[102.602371,32.987928],[102.602399,32.987871],[102.602545,32.987584],[102.602738,32.986789],[102.60284,32.986373],[102.602852,32.986324],[102.602978,32.985807],[102.60364,32.985062],[102.603682,32.98503],[102.603843,32.984905],[102.604081,32.984722],[102.604093,32.984712],[102.604134,32.984681],[102.604552,32.984358],[102.60496,32.984044],[102.605213,32.983848],[102.605268,32.983813],[102.606012,32.983334],[102.606602,32.982955],[102.607282,32.982517],[102.607396,32.982444],[102.6075,32.982377],[102.607528,32.982322],[102.607575,32.982231],[102.607727,32.981937],[102.607807,32.981784],[102.607811,32.981776],[102.607824,32.98175],[102.607817,32.981747],[102.607814,32.981738],[102.607814,32.981721],[102.607797,32.981674],[102.607784,32.981641],[102.607752,32.981596],[102.607727,32.981564],[102.607714,32.981534],[102.607699,32.981491],[102.607691,32.981449],[102.607691,32.981409],[102.607697,32.981342],[102.60771,32.981293],[102.607782,32.981204],[102.607824,32.98115],[102.60785,32.981107],[102.607863,32.981065],[102.607859,32.981006],[102.607853,32.980936],[102.607853,32.980869],[102.607853,32.980823],[102.607876,32.980759],[102.6079,32.980714],[102.607973,32.980628],[102.608028,32.980565],[102.608067,32.980495],[102.608097,32.980417],[102.608111,32.980371],[102.608148,32.980306],[102.608179,32.980261],[102.608216,32.980212],[102.608255,32.98014],[102.608276,32.980093],[102.608318,32.980065],[102.608326,32.980026],[102.60836,32.979838],[102.608452,32.979338],[102.608634,32.978352],[102.608636,32.978341],[102.608683,32.978282],[102.609001,32.977883],[102.609661,32.977056],[102.609699,32.977009],[102.610059,32.976693],[102.610081,32.976673],[102.610133,32.976627],[102.611094,32.975783],[102.611145,32.975738],[102.61265,32.974684],[102.612817,32.973998],[102.612939,32.9735],[102.612956,32.972851],[102.612603,32.972121],[102.612486,32.971878],[102.612348,32.971595],[102.612087,32.971478],[102.611207,32.971086],[102.611063,32.971029],[102.609539,32.970427],[102.609448,32.970391],[102.609047,32.970233],[102.609021,32.970216],[102.608589,32.969944],[102.608164,32.969675],[102.60807,32.969515],[102.608028,32.969443],[102.607989,32.969376],[102.60784,32.969122],[102.607427,32.968416],[102.607465,32.968105],[102.60747,32.968069],[102.607479,32.967994],[102.607494,32.967873],[102.607592,32.967067],[102.608788,32.965575],[102.609314,32.96527],[102.609357,32.965245],[102.609366,32.965239],[102.609626,32.965088],[102.609643,32.965079],[102.609676,32.96506],[102.609724,32.965032],[102.609961,32.964894],[102.610591,32.964906],[102.610987,32.964914],[102.611173,32.964917],[102.611051,32.964849],[102.611023,32.964837],[102.611,32.964814],[102.611003,32.96479],[102.611042,32.964775],[102.611113,32.964775],[102.611178,32.964775],[102.611226,32.964791],[102.611283,32.964827],[102.611354,32.964876],[102.611411,32.964929],[102.611433,32.964949],[102.611508,32.964992],[102.611579,32.965007],[102.611763,32.964986],[102.611856,32.964984],[102.611934,32.964987],[102.61198,32.964988],[102.612054,32.964968],[102.612068,32.964969],[102.612279,32.964982],[102.612445,32.964992],[102.612526,32.964997],[102.613554,32.964913],[102.614134,32.964866],[102.6142,32.964794],[102.614205,32.96479],[102.614255,32.964736],[102.614498,32.964475],[102.614554,32.964459],[102.61458,32.964406],[102.614576,32.96435],[102.614576,32.964278],[102.614606,32.964203],[102.614633,32.964126],[102.614661,32.964044],[102.614694,32.963962],[102.614731,32.963871],[102.614782,32.963811],[102.614795,32.96374],[102.614801,32.963688],[102.614816,32.963624],[102.614839,32.963528],[102.614901,32.963397],[102.614914,32.963326],[102.614924,32.963263],[102.61495,32.963164],[102.614992,32.963075],[102.614993,32.963056],[102.614996,32.963009],[102.615004,32.962926],[102.615008,32.96285],[102.615013,32.962764],[102.615004,32.962685],[102.61501,32.962636],[102.615045,32.962578],[102.615087,32.962527],[102.615101,32.96249],[102.615068,32.962424],[102.61506,32.962364],[102.615063,32.962228],[102.615074,32.962184],[102.61514,32.962163],[102.615175,32.962145],[102.615148,32.962077],[102.615143,32.962032],[102.615145,32.961999],[102.615167,32.961966],[102.615228,32.961926],[102.615258,32.961906],[102.615264,32.961873],[102.61569,32.962006],[102.615704,32.962011],[102.615916,32.962077],[102.615949,32.962087],[102.61794,32.962709],[102.618418,32.962804],[102.618494,32.962819],[102.619296,32.962979],[102.619415,32.963002],[102.619534,32.963026],[102.619545,32.963028],[102.619898,32.963098],[102.621186,32.963584],[102.621599,32.963739],[102.621695,32.963776],[102.621943,32.963869],[102.62215,32.963947],[102.622206,32.963968],[102.622228,32.963976],[102.622259,32.963988],[102.622854,32.964212],[102.624804,32.965004],[102.625129,32.96511],[102.62515,32.965116],[102.625202,32.965133],[102.625251,32.965149],[102.625517,32.965235],[102.625633,32.965272],[102.627837,32.965465],[102.628738,32.965587],[102.629563,32.965699],[102.631407,32.965986],[102.633611,32.965652],[102.635503,32.965123],[102.637224,32.964289],[102.638671,32.963675],[102.640033,32.962872],[102.641353,32.961992],[102.642505,32.960695],[102.643612,32.959435],[102.644205,32.958994],[102.644971,32.958744],[102.645697,32.958343],[102.646026,32.957747],[102.647238,32.957543],[102.649124,32.95724],[102.650025,32.956955],[102.651058,32.956786],[102.652834,32.957234],[102.653898,32.957593],[102.655903,32.95782],[102.657777,32.957968],[102.658295,32.958001],[102.65869,32.958026],[102.659473,32.958075],[102.661343,32.958374],[102.66317,32.958597],[102.664637,32.958888],[102.665795,32.95906],[102.66674,32.958814],[102.667381,32.958529],[102.668662,32.960426],[102.669856,32.962223],[102.670758,32.962785],[102.672389,32.964408],[102.673007,32.965511],[102.673966,32.965984],[102.676001,32.966568],[102.677882,32.966876],[102.678521,32.967068],[102.678685,32.967118],[102.680498,32.96797],[102.681946,32.968316],[102.68301,32.968881],[102.683574,32.970029],[102.683979,32.971037],[102.684403,32.973411],[102.685128,32.974561],[102.685795,32.975893],[102.686783,32.977321],[102.687721,32.978612],[102.688071,32.979665],[102.689113,32.981094],[102.690873,32.9819],[102.692481,32.982339],[102.693452,32.982357],[102.694762,32.98179],[102.695747,32.981262],[102.695866,32.981138],[102.695949,32.981122],[102.69608,32.981094],[102.696233,32.98102],[102.696396,32.98088],[102.696599,32.98065],[102.696966,32.980321],[102.697073,32.980172],[102.697083,32.98012],[102.697123,32.98001],[102.697098,32.979899],[102.697029,32.979737],[102.697309,32.97929],[102.697858,32.978936],[102.698725,32.978816],[102.699548,32.978648],[102.699627,32.978666],[102.699777,32.978697],[102.700037,32.978715],[102.700187,32.978722],[102.700314,32.978727],[102.700434,32.978724],[102.700581,32.978702],[102.70066,32.97867],[102.700754,32.978623],[102.700955,32.978536],[102.701082,32.978495],[102.701226,32.978445],[102.701421,32.978385],[102.701515,32.978352],[102.701665,32.978326],[102.701746,32.97832],[102.701882,32.978319],[102.701913,32.978323],[102.702012,32.978316],[102.703087,32.978242],[102.703451,32.978201],[102.703688,32.978167],[102.703748,32.978161],[102.704193,32.97812],[102.704448,32.978073],[102.704826,32.978018],[102.705015,32.978002],[102.705063,32.977983],[102.705176,32.977944],[102.705261,32.977908],[102.705345,32.977862],[102.705402,32.977816],[102.705455,32.977756],[102.705514,32.977692],[102.705592,32.977591],[102.705654,32.977498],[102.705701,32.977438],[102.705777,32.977349],[102.705929,32.977236],[102.706028,32.977181],[102.706146,32.977142],[102.706271,32.977108],[102.706395,32.977078],[102.706595,32.977039],[102.706776,32.976986],[102.706875,32.97694],[102.706993,32.976875],[102.7071,32.976786],[102.707246,32.976649],[102.707364,32.976534],[102.707446,32.976455],[102.707496,32.97638],[102.707563,32.976304],[102.707645,32.97626],[102.707797,32.976183],[102.707851,32.97613],[102.70789,32.976049],[102.70794,32.975956],[102.708021,32.975874],[102.708083,32.975847],[102.708153,32.975752],[102.708215,32.975644],[102.708262,32.97557],[102.708321,32.975493],[102.708383,32.975431],[102.708473,32.975335],[102.708599,32.975219],[102.708675,32.975162],[102.708742,32.975111],[102.708855,32.975044],[102.708968,32.975],[102.709075,32.974973],[102.7092,32.974968],[102.709358,32.974967],[102.709545,32.975005],[102.70956,32.975008],[102.709755,32.97507],[102.709911,32.975114],[102.710064,32.975178],[102.710224,32.975261],[102.710373,32.97535],[102.710505,32.975432],[102.710686,32.975545],[102.71072,32.975526],[102.7109,32.975471],[102.711006,32.975453],[102.711225,32.975434],[102.711476,32.975414],[102.711653,32.975396],[102.711836,32.975377],[102.71196,32.975352],[102.71213,32.975309],[102.712468,32.975191],[102.712683,32.975071],[102.712852,32.97495],[102.713024,32.97483],[102.713334,32.974629],[102.713465,32.974586],[102.713638,32.974546],[102.713804,32.974495],[102.714033,32.974407],[102.714198,32.974334],[102.714286,32.974262],[102.714346,32.974178],[102.714388,32.974089],[102.714387,32.974044],[102.714425,32.973969],[102.714527,32.973873],[102.714594,32.973861],[102.714697,32.973869],[102.714828,32.973904],[102.714963,32.973957],[102.715048,32.974001],[102.715319,32.974173],[102.715432,32.974247],[102.715685,32.974424],[102.715777,32.974477],[102.715951,32.974551],[102.716065,32.974607],[102.716239,32.974666],[102.716452,32.974739],[102.716675,32.974797],[102.716814,32.974844],[102.71697,32.974912],[102.717108,32.974968],[102.717218,32.975006],[102.717499,32.975141],[102.717655,32.975236],[102.717801,32.975354],[102.717933,32.975476],[102.718022,32.975586],[102.71819,32.975776],[102.71824,32.975859],[102.718309,32.975966],[102.718401,32.976016],[102.718468,32.976039],[102.718649,32.976068],[102.718776,32.976068],[102.718918,32.976058],[102.719013,32.976066],[102.719176,32.976113],[102.719279,32.97616],[102.719386,32.976219],[102.719532,32.976287],[102.719667,32.976334],[102.719759,32.976366],[102.719823,32.976401],[102.719858,32.976449],[102.719887,32.976517],[102.719902,32.976604],[102.719917,32.976684],[102.719931,32.976726],[102.719953,32.97675],[102.720045,32.976809],[102.72012,32.976841],[102.720233,32.976873],[102.720347,32.976896],[102.720489,32.976955],[102.720574,32.977035],[102.720646,32.977139],[102.72075,32.977303],[102.7208,32.977377],[102.720875,32.977466],[102.720936,32.977522],[102.721003,32.977576],[102.721106,32.977641],[102.721164,32.977697],[102.721189,32.97775],[102.721189,32.977813],[102.721188,32.977826],[102.721282,32.977901],[102.721369,32.977982],[102.721563,32.978086],[102.721599,32.978114],[102.721593,32.978136],[102.721591,32.978159],[102.721591,32.97819],[102.721607,32.978197],[102.721657,32.978226],[102.721664,32.97826],[102.72168,32.978298],[102.721687,32.978327],[102.721706,32.97834],[102.72176,32.97834],[102.721801,32.978332],[102.721843,32.978325],[102.721848,32.978324],[102.721873,32.978343],[102.721873,32.978358],[102.721871,32.978381],[102.721851,32.978402],[102.721845,32.978421],[102.721874,32.978432],[102.721924,32.978432],[102.721936,32.97843],[102.721995,32.978499],[102.722054,32.978557],[102.722056,32.97858],[102.722057,32.978607],[102.72205,32.978643],[102.722039,32.978682],[102.722023,32.978703],[102.722008,32.978724],[102.72199,32.978733],[102.72196,32.978739],[102.721949,32.978745],[102.721965,32.978768],[102.721986,32.978785],[102.722008,32.978806],[102.722027,32.978829],[102.722028,32.978843],[102.722032,32.978871],[102.722016,32.97888],[102.721986,32.97888],[102.721974,32.978862],[102.721961,32.978842],[102.721941,32.978816],[102.721918,32.978793],[102.72189,32.978782],[102.721823,32.97878],[102.721771,32.978788],[102.721721,32.978794],[102.721712,32.978813],[102.721737,32.978828],[102.72176,32.978861],[102.721773,32.97887],[102.721776,32.978873],[102.721713,32.978899],[102.721774,32.978931],[102.721718,32.978952],[102.7216,32.978993],[102.7216,32.978999],[102.721602,32.979054],[102.721838,32.980377],[102.721906,32.981925],[102.722161,32.982521],[102.723982,32.983055],[102.726878,32.98379],[102.72754,32.983958],[102.727843,32.984035],[102.729457,32.984246],[102.730261,32.984443],[102.730849,32.984681],[102.730877,32.98523],[102.73089,32.985484],[102.730894,32.985565],[102.730902,32.985731],[102.730921,32.986092],[102.73105,32.987368],[102.731337,32.988351],[102.731398,32.988557],[102.73255,32.989943],[102.73399,32.990606],[102.734674,32.991301],[102.735613,32.992591],[102.736182,32.993557],[102.737294,32.994396],[102.739037,32.995883],[102.740258,32.996724],[102.741226,32.996832],[102.741881,32.996571],[102.741919,32.995071],[102.742054,32.994027],[102.74248,32.993057],[102.742569,32.992854],[102.743522,32.991461],[102.743771,32.990192],[102.744401,32.988747],[102.744713,32.98707],[102.74496,32.985846],[102.74509,32.984984],[102.745489,32.984173],[102.745726,32.983313],[102.745721,32.981402],[102.74575,32.980266],[102.746421,32.979322],[102.747383,32.977566],[102.748527,32.976023],[102.748573,32.97596],[102.748677,32.97582],[102.748602,32.975817],[102.748514,32.975799],[102.748427,32.975771],[102.748302,32.97573],[102.74822,32.975692],[102.748206,32.975637],[102.748201,32.975555],[102.748229,32.975442],[102.748291,32.975306],[102.748423,32.975139],[102.748536,32.975063],[102.748577,32.975041],[102.74874,32.974867],[102.748886,32.974742],[102.749074,32.974619],[102.749236,32.974514],[102.749238,32.974513],[102.749338,32.974456],[102.749484,32.974377],[102.749566,32.974292],[102.74959,32.974253],[102.749638,32.974219],[102.74975,32.9742],[102.749773,32.974205],[102.749867,32.974226],[102.749954,32.974109],[102.752386,32.971833],[102.753006,32.97119],[102.753331,32.970853],[102.754014,32.970145],[102.754325,32.969821],[102.755924,32.968485],[102.756612,32.967712],[102.756631,32.967691],[102.75665,32.96767],[102.756662,32.967656],[102.756709,32.967604],[102.756723,32.967588],[102.756737,32.967572],[102.756973,32.967307],[102.756987,32.967291],[102.757178,32.967077],[102.757175,32.967062],[102.757137,32.966989],[102.7571,32.966894],[102.7571,32.966864],[102.757109,32.966842],[102.757133,32.966819],[102.757146,32.966812],[102.757174,32.966812],[102.757209,32.966816],[102.757316,32.96684],[102.757377,32.966849],[102.757429,32.966861],[102.757473,32.966848],[102.757499,32.966829],[102.757519,32.966804],[102.757526,32.966782],[102.757538,32.966744],[102.757537,32.966673],[102.757706,32.966483],[102.757757,32.966426],[102.758814,32.965171],[102.759517,32.964523],[102.759649,32.9644],[102.759974,32.9641],[102.760814,32.962887],[102.76097,32.962704],[102.76101,32.962656],[102.762149,32.961319],[102.764134,32.959673],[102.764298,32.959538],[102.76462,32.959262],[102.766063,32.958023],[102.767549,32.956867],[102.768272,32.955942],[102.768497,32.955655],[102.768538,32.955606],[102.768894,32.955187],[102.769094,32.954952],[102.769219,32.954804],[102.769561,32.954415],[102.769858,32.954077],[102.770164,32.953729],[102.770371,32.953438],[102.770611,32.9531],[102.77083,32.953415],[102.771028,32.953699],[102.77153,32.953991],[102.771908,32.95421],[102.772304,32.954447],[102.77269,32.954674],[102.773048,32.954872],[102.773346,32.955001],[102.773607,32.955113],[102.773923,32.955249],[102.774347,32.955432],[102.77481,32.955632],[102.775093,32.955812],[102.775548,32.956102],[102.775941,32.956354],[102.77635,32.956614],[102.776161,32.958036],[102.776151,32.958112],[102.776143,32.958432],[102.776118,32.959431],[102.776114,32.959593],[102.776077,32.961067],[102.776039,32.962568],[102.776066,32.96366],[102.776523,32.964805],[102.77741,32.966004],[102.77878,32.967302],[102.779723,32.968456],[102.781472,32.969715],[102.786111,32.971981],[102.787012,32.972634],[102.788022,32.973243],[102.789142,32.973764],[102.789884,32.974323],[102.791195,32.975847],[102.792179,32.977502],[102.792915,32.978288],[102.794242,32.979176],[102.795519,32.979927],[102.796524,32.980763],[102.798027,32.981063],[102.799009,32.98067],[102.80048,32.980105],[102.801797,32.979218],[102.801875,32.979166],[102.802073,32.979035],[102.803059,32.978376],[102.804862,32.977498],[102.805465,32.977145],[102.806382,32.977161],[102.807907,32.976597],[102.809487,32.975987],[102.810955,32.975558],[102.811809,32.975937],[102.813195,32.976644],[102.814265,32.977026],[102.815819,32.977463],[102.816384,32.977446],[102.817384,32.976424],[102.817708,32.976191],[102.818462,32.975606],[102.819401,32.974725],[102.820127,32.974064],[102.820311,32.973953],[102.820849,32.973626],[102.821336,32.973013],[102.821793,32.972472],[102.822168,32.971681],[102.822274,32.971483],[102.822335,32.971369],[102.822974,32.970174],[102.823218,32.969968],[102.823477,32.96975],[102.823699,32.969563],[102.824126,32.96954],[102.82438,32.969525],[102.826164,32.970354],[102.827426,32.97075],[102.828182,32.971287],[102.829415,32.971683],[102.830507,32.971776],[102.831339,32.971641],[102.832757,32.971716],[102.833971,32.971687],[102.835834,32.971694],[102.837553,32.971574],[102.839267,32.971268],[102.839335,32.971256],[102.84064,32.971129],[102.841619,32.971021],[102.84238,32.971334],[102.84263,32.97147],[102.842919,32.97144],[102.843118,32.971444],[102.843218,32.971431],[102.843486,32.971518],[102.843563,32.97156],[102.84357,32.971563],[102.843797,32.971686],[102.843972,32.971822],[102.844076,32.971876],[102.844129,32.971926],[102.84419,32.971994],[102.844191,32.972072],[102.844142,32.972126],[102.844075,32.972171],[102.843972,32.972247],[102.843996,32.972277],[102.844927,32.973424],[102.845412,32.975118],[102.84538,32.976404],[102.845782,32.977209],[102.845784,32.977216],[102.84612,32.978163],[102.846225,32.978459],[102.846324,32.978653],[102.846332,32.978669],[102.846525,32.979047],[102.846553,32.979101],[102.846727,32.979443],[102.846785,32.980114],[102.846813,32.980434],[102.846845,32.980817],[102.846856,32.980936],[102.846892,32.981354],[102.847113,32.983087],[102.847091,32.983208],[102.847085,32.983243],[102.847078,32.983278],[102.847073,32.983306],[102.847006,32.983679],[102.847003,32.983697],[102.846999,32.983722],[102.846965,32.983908],[102.84693,32.984104],[102.846533,32.985295],[102.846467,32.985599],[102.846456,32.985653],[102.846456,32.985653],[102.846356,32.986117],[102.846309,32.986335],[102.846295,32.9864],[102.846271,32.986698],[102.846121,32.988511],[102.846126,32.98858],[102.84622,32.988564],[102.846298,32.988564],[102.846337,32.988587],[102.84637,32.988697],[102.846336,32.988793],[102.84629,32.988838],[102.846149,32.988913],[102.846226,32.989992],[102.846212,32.990035],[102.846145,32.990243],[102.84577,32.991403],[102.845761,32.991448],[102.845653,32.991957],[102.845557,32.992407],[102.845532,32.992523],[102.84578,32.993888],[102.846594,32.995025],[102.848012,32.998625],[102.84811,32.998776],[102.848335,32.999122],[102.848353,32.99915],[102.848753,32.999765],[102.848992,33.000135],[102.849273,33.000567],[102.849408,33.000739],[102.84943,33.000767],[102.849431,33.000768],[102.849522,33.000883],[102.849565,33.000939],[102.849953,33.001413],[102.849954,33.001414],[102.84996,33.001421],[102.850149,33.001653],[102.850544,33.003383],[102.850866,33.003953],[102.850895,33.004014],[102.851009,33.004252],[102.851248,33.00475],[102.851266,33.004823],[102.851285,33.004902],[102.851583,33.006139],[102.851562,33.007013],[102.851312,33.00763],[102.850754,33.008552],[102.850632,33.008782],[102.850449,33.008855],[102.850304,33.008986],[102.850136,33.009268],[102.850107,33.009517],[102.850117,33.009651],[102.850162,33.009757],[102.84989,33.01102],[102.849655,33.012427],[102.849572,33.013075],[102.849761,33.013586],[102.851089,33.014291],[102.85133,33.014245],[102.852178,33.014483],[102.852586,33.014663],[102.853221,33.01522],[102.853395,33.015513],[102.85453,33.016079],[102.85455,33.016089],[102.854623,33.016126],[102.855511,33.016434],[102.855534,33.016442],[102.855541,33.016445],[102.855544,33.016446],[102.855579,33.016458],[102.855598,33.016465],[102.856308,33.016712],[102.856349,33.016726],[102.857779,33.017224],[102.858539,33.017689],[102.858594,33.018169],[102.858102,33.01912],[102.857836,33.019781],[102.857759,33.01997],[102.857639,33.02027],[102.85701,33.021331],[102.856625,33.022002],[102.856544,33.022593],[102.85659,33.023469],[102.857227,33.024806],[102.857501,33.025968],[102.857282,33.026698],[102.856808,33.02827],[102.856445,33.02945],[102.856091,33.030234],[102.855469,33.030985],[102.854791,33.03134],[102.854443,33.031842],[102.854085,33.032796],[102.853801,33.034173],[102.85374,33.034468],[102.853592,33.035186],[102.853084,33.036786],[102.852846,33.038278],[102.852891,33.039182],[102.852986,33.04082],[102.852059,33.044501],[102.851659,33.045792],[102.851163,33.046885],[102.85111,33.04701],[102.851068,33.04711],[102.850947,33.047394],[102.850701,33.047977],[102.850368,33.049242],[102.850289,33.049748],[102.849892,33.050927],[102.849238,33.051621],[102.848508,33.052709],[102.848225,33.053325],[102.847498,33.054272],[102.846876,33.055023],[102.846806,33.056518],[102.846591,33.057107],[102.846445,33.057584],[102.845688,33.058389],[102.845335,33.059145],[102.845546,33.060108],[102.84563,33.060759],[102.84601,33.061697],[102.846066,33.062149],[102.84569,33.062453],[102.845547,33.062818],[102.844961,33.063485],[102.843901,33.064313],[102.843883,33.065075],[102.844117,33.066462],[102.844119,33.066488],[102.844189,33.06762],[102.844198,33.067669],[102.844589,33.069865],[102.844711,33.07062],[102.844725,33.070707],[102.84485,33.071477],[102.845118,33.072038],[102.845204,33.072041],[102.845242,33.072058],[102.845263,33.072102],[102.845273,33.072178],[102.845272,33.072264],[102.845259,33.072336],[102.845459,33.073577],[102.845469,33.073643],[102.8455,33.073836],[102.845496,33.073923],[102.845548,33.073897],[102.845582,33.073888],[102.845607,33.073897],[102.845605,33.073935],[102.845592,33.073981],[102.845563,33.07405],[102.845532,33.074119],[102.845519,33.074188],[102.84552,33.074258],[102.845527,33.074306],[102.845541,33.074363],[102.845541,33.074403],[102.845535,33.074447],[102.845517,33.07448],[102.845469,33.074509],[102.845455,33.074811],[102.845218,33.075529],[102.845265,33.075541],[102.845276,33.075575],[102.84528,33.075629],[102.845258,33.075685],[102.845243,33.075728],[102.845203,33.075757],[102.845141,33.075762],[102.84501,33.076158],[102.845079,33.076199],[102.845103,33.076236],[102.845115,33.076287],[102.845117,33.076336],[102.845099,33.076369],[102.845065,33.076391],[102.845031,33.0764],[102.844994,33.076401],[102.844935,33.07639],[102.844671,33.077231],[102.84467,33.077303],[102.844669,33.077341],[102.844646,33.078265],[102.844645,33.078323],[102.844641,33.07835],[102.844578,33.07883],[102.844569,33.078895],[102.844506,33.079376],[102.84443,33.079385],[102.844382,33.079401],[102.844495,33.079459],[102.844487,33.079513],[102.844508,33.079591],[102.84451,33.079602],[102.844512,33.07961],[102.844514,33.079618],[102.844559,33.079789],[102.844655,33.080159],[102.84525,33.080499],[102.845257,33.080503],[102.845298,33.080522],[102.845361,33.080552],[102.845363,33.080553],[102.845381,33.080562],[102.845398,33.080569],[102.845445,33.080591],[102.846283,33.080984],[102.846558,33.081086],[102.847221,33.081334],[102.847443,33.08131],[102.847586,33.081323],[102.847683,33.081317],[102.847819,33.0813],[102.847929,33.081285],[102.848028,33.081272],[102.84815,33.081248],[102.848238,33.081223],[102.848321,33.081192],[102.84839,33.081165],[102.84849,33.081112],[102.848577,33.081023],[102.84862,33.080975],[102.848658,33.080933],[102.848697,33.080876],[102.848697,33.080876],[102.848701,33.08087],[102.848731,33.080818],[102.848758,33.080799],[102.848817,33.080776],[102.848885,33.080757],[102.848931,33.080737],[102.848963,33.080715],[102.848969,33.080701],[102.848998,33.080643],[102.849001,33.080629],[102.849112,33.080743],[102.849713,33.080503],[102.850058,33.08164],[102.850294,33.083945],[102.8503,33.084349],[102.850301,33.084383],[102.850301,33.0844],[102.850318,33.085526],[102.850086,33.086506],[102.850374,33.089233],[102.850422,33.09071],[102.850403,33.09149],[102.850402,33.091519],[102.850378,33.092483],[102.850522,33.092517],[102.851355,33.092713],[102.851419,33.092728],[102.851453,33.092736],[102.851526,33.092753],[102.851535,33.092755],[102.852391,33.092957],[102.852889,33.093255],[102.852894,33.093258],[102.854324,33.094114],[102.855045,33.094495],[102.856554,33.095223],[102.857046,33.095461],[102.858194,33.096306],[102.858509,33.09655],[102.85889,33.096845],[102.85994,33.097442],[102.861071,33.098129],[102.861065,33.098389],[102.861061,33.098533],[102.861061,33.098539],[102.86106,33.098556],[102.861044,33.098582],[102.861033,33.098598],[102.861023,33.098613],[102.86101,33.098642],[102.861004,33.098666],[102.860991,33.098698],[102.860981,33.098735],[102.860968,33.098759],[102.86095,33.098794],[102.86093,33.098823],[102.860904,33.098841],[102.860862,33.09888],[102.860836,33.098903],[102.860807,33.098916],[102.860786,33.098915],[102.860755,33.098913],[102.860741,33.098919],[102.860737,33.098931],[102.860733,33.098949],[102.860725,33.098969],[102.860716,33.099011],[102.860713,33.099037],[102.860705,33.099086],[102.86071,33.099107],[102.860719,33.099122],[102.860743,33.099141],[102.860767,33.099153],[102.860783,33.099167],[102.8608,33.099188],[102.860808,33.099205],[102.860823,33.099223],[102.86055,33.099531],[102.860332,33.099777],[102.86032,33.099766],[102.860306,33.099764],[102.860286,33.099765],[102.860274,33.09978],[102.860267,33.099809],[102.860262,33.099833],[102.860259,33.099867],[102.860109,33.100093],[102.859586,33.100879],[102.859505,33.101633],[102.85946,33.102616],[102.859614,33.104024],[102.85943,33.104706],[102.859011,33.105138],[102.859009,33.105141],[102.85894,33.105212],[102.858917,33.105196],[102.85889,33.105181],[102.858874,33.105183],[102.858854,33.105195],[102.858841,33.105217],[102.858842,33.10523],[102.858861,33.105255],[102.858881,33.105272],[102.858927,33.105335],[102.858942,33.105392],[102.858947,33.105411],[102.858932,33.105501],[102.85888,33.105546],[102.858816,33.10557],[102.858744,33.10554],[102.858651,33.105511],[102.858625,33.105504],[102.858593,33.1055],[102.858585,33.105513],[102.858585,33.105536],[102.858591,33.105555],[102.858601,33.105574],[102.858535,33.105655],[102.858533,33.105658],[102.858459,33.10575],[102.8581,33.106194],[102.858056,33.106573],[102.858054,33.106595],[102.858049,33.106638],[102.858048,33.10665],[102.858042,33.1067],[102.857995,33.107105],[102.85789,33.107543],[102.85791,33.107566],[102.857915,33.107591],[102.857909,33.107607],[102.857891,33.107625],[102.857869,33.107631],[102.857842,33.107648],[102.857822,33.10766],[102.857799,33.107671],[102.857769,33.10769],[102.857747,33.107706],[102.857732,33.107722],[102.857725,33.107741],[102.857732,33.107759],[102.857748,33.107772],[102.857774,33.107783],[102.857804,33.10779],[102.85783,33.107792],[102.85779,33.107866],[102.857773,33.107899],[102.857133,33.109093],[102.857054,33.109278],[102.857044,33.109303],[102.857035,33.109324],[102.856712,33.110087],[102.856575,33.110577],[102.856583,33.111086],[102.856485,33.111682],[102.855896,33.112743],[102.855313,33.113541],[102.85473,33.114357],[102.854244,33.115437],[102.854168,33.116016],[102.854051,33.11654],[102.854206,33.117035],[102.854426,33.117408],[102.854543,33.117761],[102.854455,33.117953],[102.854298,33.118248],[102.854264,33.11824],[102.854234,33.11824],[102.854211,33.118248],[102.854176,33.118258],[102.854148,33.11827],[102.854131,33.118289],[102.854114,33.118314],[102.854114,33.118362],[102.854129,33.118395],[102.854151,33.11842],[102.854175,33.118441],[102.854193,33.118461],[102.854211,33.118491],[102.854222,33.118521],[102.854223,33.118562],[102.854217,33.118592],[102.854213,33.118627],[102.854211,33.118663],[102.854225,33.118689],[102.854252,33.118707],[102.854291,33.11872],[102.854306,33.118726],[102.854362,33.118723],[102.854394,33.118731],[102.85441,33.118759],[102.854413,33.118787],[102.854399,33.118796],[102.854376,33.118803],[102.854335,33.118801],[102.854301,33.118794],[102.854286,33.118788],[102.854248,33.118772],[102.854212,33.118761],[102.854139,33.118735],[102.854094,33.118716],[102.854077,33.118712],[102.854031,33.118709],[102.853997,33.118714],[102.853972,33.118723],[102.853954,33.118751],[102.853947,33.118778],[102.853949,33.118823],[102.853966,33.118863],[102.854038,33.118965],[102.854095,33.119045],[102.854166,33.119131],[102.854181,33.11914],[102.854178,33.11916],[102.854174,33.119177],[102.85412,33.119686],[102.853982,33.12021],[102.853571,33.120801],[102.85348,33.121958],[102.853504,33.122696],[102.853509,33.123364],[102.853622,33.123875],[102.85372,33.124966],[102.853662,33.125633],[102.853441,33.126173],[102.852825,33.127445],[102.852286,33.128138],[102.851337,33.129387],[102.850987,33.130066],[102.85087,33.130573],[102.850819,33.130941],[102.850642,33.131377],[102.850197,33.132493],[102.8502,33.133214],[102.850457,33.133798],[102.851046,33.134493],[102.8511,33.134863],[102.851124,33.135206],[102.851131,33.135302],[102.851089,33.135465],[102.851015,33.135757],[102.851047,33.136144],[102.851189,33.136322],[102.851521,33.136416],[102.851627,33.136446],[102.851671,33.136459],[102.851688,33.136473],[102.851702,33.136484],[102.851723,33.136495],[102.851751,33.136504],[102.851779,33.136511],[102.851798,33.136513],[102.851827,33.136512],[102.851832,33.136504],[102.851847,33.13649],[102.851868,33.136476],[102.851891,33.136467],[102.851923,33.136459],[102.851946,33.136454],[102.851979,33.136456],[102.852017,33.136465],[102.852053,33.136475],[102.852095,33.136494],[102.852112,33.136522],[102.852121,33.136544],[102.852123,33.136568],[102.852104,33.136603],[102.85209,33.136639],[102.852091,33.136659],[102.852091,33.136678],[102.852095,33.136698],[102.852105,33.136728],[102.852118,33.136748],[102.852128,33.136758],[102.852173,33.136778],[102.852215,33.136781],[102.852248,33.136776],[102.852266,33.13679],[102.852469,33.136941],[102.852832,33.137457],[102.852861,33.138121],[102.852869,33.138295],[102.852872,33.138371],[102.852986,33.138727],[102.853008,33.138794],[102.853026,33.138802],[102.853035,33.138805],[102.853088,33.138824],[102.853089,33.138839],[102.853089,33.13888],[102.853092,33.138913],[102.853098,33.138939],[102.853107,33.138956],[102.853122,33.138961],[102.853139,33.138962],[102.85316,33.138958],[102.853177,33.13895],[102.853205,33.138929],[102.85322,33.138914],[102.853244,33.138881],[102.853256,33.138865],[102.853286,33.138848],[102.853316,33.138835],[102.853345,33.138832],[102.853376,33.138832],[102.853393,33.138841],[102.853413,33.13886],[102.853423,33.138881],[102.853436,33.13895],[102.853567,33.138998],[102.85381,33.139045],[102.853848,33.139052],[102.853854,33.139064],[102.853864,33.139078],[102.853873,33.139094],[102.853881,33.139114],[102.853877,33.139125],[102.853863,33.139138],[102.853841,33.139155],[102.853816,33.139177],[102.853795,33.139206],[102.853791,33.139229],[102.853786,33.139245],[102.853798,33.139281],[102.853832,33.139319],[102.853866,33.139336],[102.853909,33.139338],[102.853982,33.139336],[102.854048,33.139305],[102.854106,33.139261],[102.854139,33.139216],[102.854173,33.139158],[102.854186,33.139134],[102.854293,33.139168],[102.854451,33.13954],[102.854528,33.139805],[102.854537,33.139898],[102.854561,33.140174],[102.85473,33.140365],[102.854846,33.140495],[102.854948,33.140517],[102.854987,33.140525],[102.854982,33.140539],[102.854952,33.140618],[102.854951,33.140664],[102.854965,33.140707],[102.854985,33.140758],[102.855005,33.140816],[102.855021,33.140868],[102.855043,33.140907],[102.855063,33.140926],[102.855073,33.140935],[102.855143,33.140953],[102.855172,33.140954],[102.855249,33.140936],[102.855349,33.1409],[102.855441,33.140877],[102.855493,33.140839],[102.855528,33.140789],[102.855553,33.14073],[102.85556,33.140705],[102.855567,33.14069],[102.855716,33.140756],[102.855855,33.14104],[102.855825,33.141443],[102.855628,33.141791],[102.855242,33.142224],[102.854334,33.142629],[102.853763,33.142953],[102.853168,33.143365],[102.852716,33.143919],[102.852429,33.144564],[102.852192,33.144876],[102.852083,33.145032],[102.85227,33.145088],[102.852482,33.144951],[102.852932,33.144777],[102.852965,33.144764],[102.852951,33.144732],[102.852939,33.144708],[102.852936,33.144686],[102.852938,33.144657],[102.852957,33.144616],[102.852969,33.144585],[102.852982,33.144554],[102.852993,33.144536],[102.853022,33.144513],[102.853061,33.1445],[102.853092,33.144486],[102.853135,33.144481],[102.853134,33.144491],[102.853139,33.144507],[102.853148,33.144523],[102.853164,33.144545],[102.853181,33.144557],[102.853198,33.144572],[102.853213,33.144591],[102.853239,33.144635],[102.853263,33.144665],[102.85331,33.144793],[102.853336,33.144851],[102.853364,33.144872],[102.853389,33.144883],[102.85342,33.144891],[102.853441,33.144889],[102.853486,33.14488],[102.85354,33.144859],[102.85365,33.144798],[102.853749,33.144732],[102.853756,33.144743],[102.853817,33.144838],[102.853821,33.144845],[102.853837,33.14487],[102.853755,33.144926],[102.8537,33.145038],[102.853699,33.145148],[102.853781,33.145297],[102.853896,33.145411],[102.854034,33.145519],[102.854226,33.145579],[102.85439,33.145581],[102.85455,33.145567],[102.854776,33.145569],[102.854947,33.145547],[102.855225,33.145487],[102.855509,33.145482],[102.855613,33.145539],[102.855598,33.145652],[102.85554,33.145764],[102.855516,33.145842],[102.855599,33.145876],[102.855789,33.145868],[102.855974,33.145804],[102.856089,33.14567],[102.856094,33.145585],[102.856045,33.145471],[102.856066,33.145388],[102.85616,33.145378],[102.856239,33.145446],[102.856245,33.145579],[102.856248,33.145822],[102.856272,33.145942],[102.856332,33.146023],[102.856461,33.146098],[102.856477,33.146163],[102.856424,33.146239],[102.856377,33.146316],[102.856421,33.146351],[102.856472,33.146434],[102.856384,33.146497],[102.856284,33.146505],[102.856168,33.146517],[102.856006,33.146612],[102.855852,33.146782],[102.855717,33.14691],[102.855579,33.146957],[102.855498,33.146889],[102.855453,33.146737],[102.855495,33.146601],[102.855659,33.146507],[102.855919,33.14642],[102.855979,33.146311],[102.855956,33.146215],[102.855822,33.146085],[102.855653,33.146024],[102.855534,33.146069],[102.85545,33.146149],[102.855352,33.146178],[102.855179,33.146183],[102.85511,33.146201],[102.855055,33.146318],[102.855086,33.14641],[102.855192,33.146522],[102.855236,33.146616],[102.855235,33.146732],[102.855157,33.146821],[102.855105,33.146836],[102.854999,33.146813],[102.854734,33.146718],[102.854548,33.146725],[102.854436,33.146795],[102.854388,33.146909],[102.854392,33.147019],[102.854387,33.147135],[102.854312,33.147169],[102.854224,33.14718],[102.854104,33.147179],[102.854015,33.14711],[102.853843,33.146878],[102.853679,33.146759],[102.853561,33.146715],[102.853444,33.146772],[102.853351,33.146871],[102.853303,33.147027],[102.853313,33.147122],[102.8534,33.147209],[102.853387,33.147215],[102.853364,33.147242],[102.853354,33.147254],[102.853194,33.14744],[102.853204,33.147897],[102.8534,33.148427],[102.853415,33.148458],[102.854155,33.149986],[102.85451,33.150835],[102.854685,33.151383],[102.854651,33.151927],[102.854557,33.152364],[102.854841,33.152703],[102.855174,33.152744],[102.855307,33.152592],[102.855372,33.152518],[102.855379,33.15251],[102.855508,33.152364],[102.85544,33.152273],[102.85541,33.152176],[102.855457,33.152109],[102.855547,33.152032],[102.855608,33.152005],[102.855643,33.151981],[102.855684,33.151956],[102.855704,33.151944],[102.855746,33.151933],[102.855789,33.151913],[102.855806,33.151899],[102.855822,33.151871],[102.855829,33.151844],[102.85583,33.151806],[102.855824,33.151769],[102.855803,33.15173],[102.855774,33.151695],[102.855752,33.151676],[102.855729,33.151658],[102.85571,33.151645],[102.855697,33.151634],[102.855689,33.151627],[102.855693,33.151609],[102.855704,33.151558],[102.855902,33.15114],[102.856594,33.151029],[102.857314,33.150602],[102.857804,33.150347],[102.857815,33.150341],[102.857839,33.150329],[102.857872,33.150312],[102.857882,33.150306],[102.858096,33.150194],[102.858822,33.1504],[102.85898,33.150789],[102.85901,33.151264],[102.859011,33.151537],[102.859011,33.151654],[102.859011,33.15167],[102.859012,33.151914],[102.859012,33.152037],[102.859004,33.152152],[102.858998,33.152237],[102.858995,33.152278],[102.858981,33.152475],[102.859028,33.152578],[102.859159,33.152865],[102.859383,33.153097],[102.859653,33.153154],[102.859765,33.153089],[102.859773,33.153084],[102.859809,33.153063],[102.859868,33.153076],[102.859935,33.153071],[102.860054,33.153038],[102.860215,33.152977],[102.860474,33.152937],[102.860837,33.152894],[102.860979,33.15291],[102.861046,33.153017],[102.861085,33.15315],[102.861123,33.153199],[102.861209,33.153191],[102.861275,33.15311],[102.86129,33.152994],[102.861229,33.152841],[102.861199,33.152716],[102.861222,33.152602],[102.861298,33.152558],[102.861424,33.152514],[102.861549,33.152506],[102.861616,33.152473],[102.861647,33.152404],[102.861624,33.152334],[102.861546,33.152268],[102.861504,33.152214],[102.861509,33.152158],[102.861555,33.152114],[102.861664,33.152065],[102.861823,33.152065],[102.861971,33.15208],[102.862039,33.152125],[102.862069,33.152217],[102.862069,33.152279],[102.862075,33.152367],[102.862058,33.152421],[102.862004,33.152495],[102.861962,33.152606],[102.862011,33.152698],[102.862113,33.152775],[102.862352,33.15288],[102.862458,33.15295],[102.862465,33.153008],[102.862453,33.153064],[102.862355,33.153086],[102.862212,33.153072],[102.862068,33.153041],[102.861989,33.153035],[102.861933,33.15307],[102.861884,33.153142],[102.861932,33.153235],[102.862139,33.153353],[102.862346,33.153449],[102.862383,33.153511],[102.862355,33.153554],[102.862262,33.153572],[102.862172,33.153568],[102.862053,33.153518],[102.861934,33.15344],[102.861797,33.153295],[102.861669,33.153154],[102.861592,33.153088],[102.861501,33.153072],[102.861445,33.153084],[102.861412,33.153129],[102.861378,33.153225],[102.86138,33.153301],[102.861445,33.153399],[102.861568,33.153538],[102.861669,33.153586],[102.861786,33.153597],[102.861951,33.153617],[102.862159,33.153744],[102.862241,33.153789],[102.862326,33.153777],[102.862478,33.153719],[102.862541,33.153721],[102.862582,33.153802],[102.86254,33.153853],[102.86244,33.153904],[102.862327,33.153945],[102.86223,33.153974],[102.8622,33.154043],[102.862199,33.154105],[102.862288,33.154155],[102.862377,33.154192],[102.862501,33.154205],[102.862604,33.154185],[102.862698,33.154113],[102.862897,33.153876],[102.86303,33.153675],[102.863146,33.153478],[102.863233,33.153429],[102.863339,33.153423],[102.863418,33.153405],[102.863483,33.153358],[102.863523,33.153372],[102.863529,33.153375],[102.863801,33.153472],[102.863919,33.153772],[102.864053,33.154249],[102.864187,33.15476],[102.864531,33.155241],[102.864896,33.155651],[102.865472,33.156047],[102.86569,33.156508],[102.865764,33.156895],[102.865664,33.157596],[102.86563,33.158123],[102.865555,33.158631],[102.865422,33.158975],[102.865406,33.159015],[102.865324,33.159033],[102.865248,33.159128],[102.865281,33.159241],[102.865596,33.159537],[102.865897,33.159707],[102.865913,33.159812],[102.865844,33.159867],[102.865668,33.15994],[102.865293,33.159982],[102.865059,33.159868],[102.864926,33.159835],[102.8648,33.159867],[102.864647,33.159967],[102.864519,33.159978],[102.864448,33.159918],[102.864468,33.159805],[102.864648,33.159691],[102.864819,33.159546],[102.86477,33.159426],[102.864538,33.159352],[102.864366,33.159369],[102.864263,33.159523],[102.864195,33.159734],[102.864172,33.159927],[102.864097,33.15993],[102.864087,33.15993],[102.864074,33.159931],[102.863895,33.159937],[102.863574,33.160248],[102.863502,33.160633],[102.863574,33.161108],[102.863879,33.161447],[102.864355,33.161631],[102.864754,33.161533],[102.864783,33.161509],[102.864873,33.161516],[102.864999,33.161521],[102.86525,33.161519],[102.865401,33.161506],[102.865589,33.161469],[102.865705,33.161424],[102.865759,33.16138],[102.865898,33.161269],[102.865943,33.161156],[102.865944,33.161058],[102.866143,33.161082],[102.866454,33.161227],[102.866535,33.161265],[102.86663,33.16167],[102.866684,33.162022],[102.866571,33.16213],[102.866565,33.162137],[102.866534,33.162126],[102.866468,33.162123],[102.866373,33.162138],[102.866243,33.162176],[102.866144,33.162241],[102.866104,33.162299],[102.866091,33.162355],[102.86609,33.162408],[102.866102,33.162461],[102.866124,33.162507],[102.866115,33.162514],[102.865747,33.162779],[102.865361,33.163177],[102.865602,33.163567],[102.866019,33.163627],[102.866049,33.163623],[102.866067,33.16362],[102.866087,33.163638],[102.866129,33.163664],[102.866189,33.163679],[102.866274,33.163688],[102.866401,33.163689],[102.86647,33.163684],[102.866604,33.163657],[102.866747,33.163615],[102.866805,33.163586],[102.866848,33.163563],[102.867022,33.163591],[102.86706,33.16375],[102.866885,33.164063],[102.866586,33.164357],[102.865868,33.164661],[102.865665,33.164893],[102.865616,33.16495],[102.86546,33.165128],[102.865702,33.165501],[102.866131,33.165877],[102.866544,33.166939],[102.86676,33.167373],[102.866764,33.167381],[102.866766,33.167386],[102.866786,33.167427],[102.866659,33.167582],[102.866645,33.167692],[102.866774,33.167739],[102.867033,33.167719],[102.867305,33.167618],[102.867519,33.167525],[102.86762,33.167553],[102.86763,33.167738],[102.8675,33.167968],[102.867306,33.168085],[102.86713,33.168122],[102.866879,33.16811],[102.866426,33.167984],[102.866066,33.167791],[102.865703,33.16752],[102.865508,33.167464],[102.865339,33.167433],[102.864892,33.167447],[102.864819,33.167533],[102.864747,33.167748],[102.864756,33.167881],[102.864866,33.168042],[102.864779,33.168146],[102.864555,33.168273],[102.864278,33.168436],[102.864056,33.168472],[102.863676,33.168258],[102.863466,33.168173],[102.863342,33.168191],[102.86317,33.168344],[102.86302,33.168427],[102.862941,33.168382],[102.862874,33.168211],[102.862836,33.167979],[102.862764,33.167736],[102.86265,33.167623],[102.862477,33.167608],[102.862307,33.167643],[102.862227,33.167727],[102.862176,33.167832],[102.862188,33.167935],[102.862212,33.168096],[102.862176,33.168216],[102.862051,33.168323],[102.861926,33.168373],[102.861776,33.168376],[102.861677,33.168331],[102.861593,33.168154],[102.861512,33.168096],[102.861444,33.168095],[102.861402,33.168229],[102.861505,33.168555],[102.861583,33.168773],[102.861749,33.168787],[102.862067,33.168776],[102.862206,33.168813],[102.862234,33.168919],[102.862153,33.169042],[102.861936,33.169123],[102.861687,33.169168],[102.861351,33.169146],[102.861059,33.16906],[102.860881,33.168954],[102.860573,33.16873],[102.860453,33.168635],[102.860316,33.168625],[102.860218,33.168672],[102.860066,33.168801],[102.859907,33.168838],[102.859743,33.168882],[102.859713,33.168954],[102.859809,33.169103],[102.860098,33.169344],[102.860249,33.169469],[102.860213,33.169551],[102.860084,33.169589],[102.859929,33.169577],[102.859826,33.169508],[102.859616,33.169344],[102.859416,33.169167],[102.859409,33.169194],[102.859404,33.169211],[102.8594,33.169228],[102.859343,33.169437],[102.859239,33.169561],[102.859056,33.169544],[102.858712,33.169257],[102.858524,33.168762],[102.858248,33.16842],[102.857959,33.167952],[102.857931,33.167917],[102.857922,33.167907],[102.857972,33.167881],[102.858029,33.167835],[102.858095,33.167748],[102.858135,33.167654],[102.858139,33.16759],[102.85813,33.167542],[102.858114,33.167501],[102.858093,33.167467],[102.858071,33.167444],[102.858038,33.16743],[102.857942,33.167426],[102.857857,33.167432],[102.857825,33.16744],[102.857799,33.167465],[102.857777,33.16751],[102.857736,33.167605],[102.857718,33.167656],[102.857711,33.167647],[102.857643,33.167564],[102.857122,33.166926],[102.8571,33.166922],[102.857076,33.166912],[102.857051,33.166896],[102.857039,33.166879],[102.85703,33.166857],[102.857034,33.166819],[102.857039,33.166796],[102.85706,33.16675],[102.857104,33.166699],[102.857175,33.166641],[102.857276,33.166588],[102.857307,33.166574],[102.857309,33.166554],[102.857302,33.166535],[102.857291,33.166525],[102.857284,33.166519],[102.857252,33.166501],[102.857208,33.166477],[102.857132,33.16644],[102.85696,33.166411],[102.856906,33.166414],[102.856868,33.166425],[102.856835,33.166424],[102.85679,33.166425],[102.856746,33.166441],[102.856711,33.166475],[102.856688,33.166519],[102.856692,33.166568],[102.856691,33.166602],[102.856673,33.166599],[102.856625,33.166589],[102.8566,33.166584],[102.85634,33.166533],[102.855953,33.166653],[102.85588,33.166919],[102.855957,33.167187],[102.856167,33.167472],[102.856597,33.167662],[102.856908,33.167892],[102.856943,33.168003],[102.856966,33.168075],[102.856987,33.168142],[102.856926,33.16813],[102.856884,33.168128],[102.856872,33.168127],[102.856856,33.168134],[102.856843,33.168161],[102.85684,33.168189],[102.856841,33.168213],[102.85685,33.168257],[102.85686,33.168311],[102.856863,33.168345],[102.856859,33.168364],[102.856843,33.168379],[102.85681,33.168398],[102.85676,33.168403],[102.856693,33.168403],[102.856622,33.168396],[102.856574,33.168388],[102.856517,33.168351],[102.856489,33.168322],[102.856458,33.168259],[102.856444,33.168215],[102.856441,33.168165],[102.856449,33.168129],[102.856521,33.167951],[102.856551,33.167918],[102.856582,33.167874],[102.856595,33.167834],[102.856603,33.167797],[102.856603,33.167773],[102.856599,33.167758],[102.856592,33.167748],[102.856569,33.167743],[102.856545,33.167745],[102.8565,33.16775],[102.856354,33.167807],[102.856333,33.167814],[102.856278,33.167848],[102.856262,33.167865],[102.856256,33.167881],[102.856258,33.167899],[102.856292,33.167954],[102.856306,33.167983],[102.856312,33.168014],[102.856313,33.168053],[102.856313,33.168071],[102.856309,33.168124],[102.85632,33.16818],[102.856335,33.168224],[102.856349,33.168261],[102.856368,33.1683],[102.856373,33.16831],[102.856379,33.168347],[102.856378,33.16838],[102.856371,33.168405],[102.856354,33.168429],[102.856326,33.168455],[102.856297,33.168464],[102.856263,33.168472],[102.856219,33.168475],[102.85618,33.168471],[102.856149,33.168464],[102.856094,33.168422],[102.856034,33.168371],[102.856021,33.168364],[102.856004,33.168361],[102.855992,33.168367],[102.855983,33.168388],[102.855949,33.168487],[102.85587,33.168433],[102.855857,33.168446],[102.855838,33.168458],[102.855817,33.168462],[102.855788,33.168459],[102.855756,33.168447],[102.855734,33.168435],[102.85572,33.168431],[102.855609,33.168429],[102.855538,33.16843],[102.855463,33.168429],[102.855406,33.168438],[102.855371,33.168453],[102.855337,33.168482],[102.85532,33.16852],[102.855319,33.168555],[102.855329,33.168594],[102.855358,33.168637],[102.855403,33.168671],[102.855457,33.168681],[102.855518,33.168681],[102.855547,33.168681],[102.855583,33.168693],[102.855594,33.168696],[102.855595,33.168758],[102.855513,33.168811],[102.855466,33.168844],[102.855409,33.168881],[102.855308,33.16893],[102.855245,33.168964],[102.855212,33.168993],[102.855192,33.169022],[102.855186,33.169059],[102.855195,33.169088],[102.85521,33.169108],[102.855252,33.169131],[102.855296,33.169159],[102.855341,33.169185],[102.855382,33.169193],[102.855413,33.16919],[102.855477,33.169174],[102.855521,33.16917],[102.855528,33.169169],[102.855675,33.169172],[102.855712,33.169172],[102.855764,33.169166],[102.85581,33.169145],[102.855842,33.169141],[102.855865,33.169169],[102.855874,33.169204],[102.85589,33.169255],[102.855918,33.169305],[102.855948,33.16934],[102.85598,33.169407],[102.855999,33.169492],[102.856027,33.169536],[102.856061,33.169569],[102.856104,33.169579],[102.856156,33.169578],[102.856212,33.16957],[102.856246,33.16956],[102.856274,33.169541],[102.856326,33.169505],[102.856363,33.169483],[102.856448,33.169426],[102.856501,33.169407],[102.856552,33.169407],[102.856612,33.169411],[102.856653,33.16942],[102.856692,33.169455],[102.856706,33.169484],[102.856704,33.169532],[102.856683,33.169562],[102.856641,33.169596],[102.856597,33.169639],[102.856585,33.169674],[102.856589,33.169718],[102.856601,33.169763],[102.856625,33.169799],[102.856671,33.169839],[102.856709,33.169865],[102.856788,33.169907],[102.856839,33.16992],[102.856891,33.169935],[102.856928,33.169946],[102.856944,33.169959],[102.856947,33.169976],[102.856942,33.169997],[102.856916,33.170026],[102.856879,33.170054],[102.856835,33.170071],[102.856783,33.170071],[102.856735,33.170068],[102.856697,33.17006],[102.85666,33.170041],[102.856613,33.170009],[102.856572,33.169987],[102.85653,33.169983],[102.856442,33.169986],[102.856364,33.170004],[102.856315,33.170021],[102.85626,33.170055],[102.856233,33.170104],[102.856207,33.170157],[102.856186,33.17017],[102.856143,33.170184],[102.856097,33.170204],[102.856064,33.170227],[102.856049,33.170249],[102.85605,33.170283],[102.856063,33.170315],[102.85609,33.170345],[102.856108,33.17036],[102.856173,33.170398],[102.856287,33.17043],[102.856386,33.170435],[102.856585,33.170469],[102.856712,33.170487],[102.856807,33.170497],[102.856898,33.17051],[102.85694,33.170544],[102.856957,33.170575],[102.856962,33.170616],[102.856962,33.170674],[102.856957,33.170714],[102.856938,33.170765],[102.856924,33.170825],[102.856924,33.170884],[102.856935,33.170937],[102.856946,33.170997],[102.856957,33.17105],[102.85694,33.171077],[102.856903,33.171114],[102.856845,33.171171],[102.856805,33.171211],[102.856777,33.171246],[102.856779,33.171275],[102.856786,33.171303],[102.856801,33.171337],[102.856807,33.171369],[102.856807,33.171396],[102.85679,33.171408],[102.856761,33.171403],[102.856675,33.171325],[102.856601,33.171244],[102.856562,33.171184],[102.856514,33.17112],[102.856492,33.171103],[102.856459,33.171087],[102.85643,33.17108],[102.856393,33.17108],[102.856363,33.171088],[102.856339,33.171101],[102.856314,33.171125],[102.856312,33.171128],[102.856289,33.171179],[102.85628,33.171261],[102.856287,33.171378],[102.85631,33.171476],[102.85633,33.171511],[102.856336,33.171525],[102.856337,33.171558],[102.856331,33.171578],[102.856317,33.171582],[102.856267,33.171576],[102.85629,33.17162],[102.856245,33.171608],[102.85606,33.171533],[102.856043,33.171431],[102.856113,33.171284],[102.856257,33.170989],[102.856186,33.170805],[102.856081,33.170778],[102.855947,33.17082],[102.855806,33.170955],[102.855686,33.171148],[102.855636,33.171369],[102.855642,33.171499],[102.855575,33.171539],[102.855532,33.171497],[102.855523,33.171488],[102.855469,33.171435],[102.855461,33.171429],[102.855157,33.171219],[102.855041,33.171202],[102.855005,33.171286],[102.854901,33.171467],[102.854511,33.171713],[102.854437,33.171779],[102.854426,33.171789],[102.85433,33.171874],[102.854049,33.172126],[102.853644,33.17233],[102.852718,33.172623],[102.85213,33.172768],[102.852044,33.172905],[102.852058,33.172935],[102.852073,33.172976],[102.852082,33.173006],[102.852099,33.173051],[102.85214,33.173095],[102.852192,33.173125],[102.852237,33.173137],[102.852301,33.173148],[102.852331,33.173199],[102.852582,33.173393],[102.852959,33.173695],[102.853418,33.174068],[102.853463,33.174094],[102.85351,33.174122],[102.853906,33.173709],[102.854238,33.173342],[102.854302,33.173219],[102.854332,33.173127],[102.85435,33.172652],[102.854404,33.172652],[102.854494,33.172654],[102.854534,33.17279],[102.854684,33.172877],[102.855221,33.172888],[102.855663,33.172954],[102.856086,33.173109],[102.856217,33.17329],[102.856137,33.173504],[102.855868,33.173689],[102.855719,33.173823],[102.855707,33.17396],[102.855776,33.174117],[102.85594,33.174207],[102.856179,33.174188],[102.856328,33.173994],[102.856494,33.173635],[102.856714,33.173269],[102.857016,33.173076],[102.857299,33.173132],[102.857395,33.173369],[102.857242,33.173623],[102.856968,33.173815],[102.856708,33.174051],[102.856567,33.174424],[102.856441,33.174547],[102.856024,33.174698],[102.855619,33.174788],[102.855425,33.17492],[102.855369,33.175146],[102.855541,33.175322],[102.856057,33.175644],[102.856167,33.175862],[102.856038,33.176036],[102.855606,33.176157],[102.855556,33.176287],[102.855665,33.176531],[102.855851,33.176542],[102.856289,33.176468],[102.856598,33.176491],[102.856723,33.176825],[102.85676,33.177042],[102.856698,33.177297],[102.856483,33.177428],[102.856151,33.177578],[102.855763,33.177666],[102.855164,33.177819],[102.854894,33.177926],[102.854849,33.178117],[102.854903,33.178352],[102.855138,33.178474],[102.855364,33.178674],[102.855804,33.179088],[102.856238,33.17942],[102.856454,33.179801],[102.856415,33.179975],[102.85608,33.18014],[102.855702,33.180375],[102.855445,33.180412],[102.855288,33.180313],[102.855175,33.180115],[102.8552,33.179943],[102.855286,33.179729],[102.855208,33.179613],[102.855038,33.179555],[102.854861,33.17962],[102.854819,33.179859],[102.854888,33.180189],[102.854971,33.180526],[102.854965,33.180722],[102.85484,33.180846],[102.854603,33.180874],[102.854372,33.180787],[102.854121,33.18066],[102.854027,33.180679],[102.853948,33.180836],[102.853887,33.181026],[102.853915,33.181135],[102.854056,33.181274],[102.854435,33.181477],[102.854627,33.181643],[102.854615,33.181885],[102.854597,33.182196],[102.854584,33.182508],[102.854372,33.182789],[102.85431,33.183057],[102.854236,33.183283],[102.854177,33.183334],[102.854064,33.183327],[102.853893,33.183215],[102.853636,33.182961],[102.853336,33.182695],[102.853154,33.182295],[102.853024,33.181977],[102.852848,33.181963],[102.852663,33.182093],[102.852549,33.182296],[102.852552,33.182487],[102.852691,33.18277],[102.852761,33.183031],[102.852804,33.18326],[102.852919,33.183342],[102.85319,33.183439],[102.853239,33.183504],[102.853136,33.183586],[102.852772,33.18371],[102.852448,33.183722],[102.85214,33.183616],[102.852051,33.18333],[102.851944,33.182979],[102.851841,33.182918],[102.851651,33.183053],[102.851108,33.18347],[102.850898,33.183715],[102.850819,33.183976],[102.851029,33.184095],[102.851538,33.184096],[102.852272,33.184126],[102.85259,33.184497],[102.852927,33.185096],[102.853149,33.185151],[102.853271,33.185035],[102.853386,33.184747],[102.853548,33.184514],[102.853971,33.184332],[102.854266,33.184372],[102.854544,33.184654],[102.854868,33.18493],[102.855164,33.185104],[102.85541,33.185052],[102.855977,33.184947],[102.856161,33.185002],[102.856193,33.185223],[102.856055,33.18546],[102.855861,33.185676],[102.855846,33.185837],[102.856065,33.185865],[102.856291,33.185584],[102.856502,33.185369],[102.856712,33.185359],[102.856835,33.185578],[102.856954,33.186002],[102.85706,33.186716],[102.857127,33.186833],[102.857288,33.186878],[102.857428,33.186812],[102.857578,33.186476],[102.857712,33.186129],[102.857964,33.186082],[102.858294,33.186339],[102.858553,33.186566],[102.858638,33.186848],[102.858746,33.187039],[102.858977,33.18702],[102.859235,33.186823],[102.859393,33.18688],[102.859741,33.187323],[102.860062,33.187779],[102.860288,33.188138],[102.860301,33.188496],[102.860373,33.188691],[102.860739,33.18882],[102.861396,33.188919],[102.861854,33.189231],[102.862218,33.189396],[102.862522,33.189389],[102.862897,33.189376],[102.863164,33.189458],[102.863532,33.189559],[102.863676,33.189272],[102.863892,33.189149],[102.864033,33.189344],[102.863899,33.18961],[102.863689,33.189923],[102.863695,33.190473],[102.863618,33.190695],[102.863271,33.190752],[102.86302,33.190831],[102.862945,33.190957],[102.863189,33.191131],[102.863653,33.19119],[102.864031,33.191048],[102.864323,33.19085],[102.864723,33.19076],[102.86515,33.19083],[102.865354,33.191015],[102.865437,33.191342],[102.865572,33.191543],[102.865916,33.191681],[102.866537,33.191707],[102.866913,33.191579],[102.867118,33.191274],[102.867154,33.190942],[102.866997,33.19073],[102.866556,33.190579],[102.866222,33.190423],[102.865726,33.190372],[102.865304,33.19031],[102.865188,33.190118],[102.865233,33.189854],[102.865637,33.18949],[102.866046,33.189096],[102.866163,33.188845],[102.866085,33.188669],[102.865865,33.188487],[102.86585,33.188391],[102.866066,33.188317],[102.866306,33.188392],[102.8669,33.188803],[102.867363,33.189134],[102.867759,33.18938],[102.868,33.189369],[102.868087,33.189224],[102.868062,33.188988],[102.867732,33.188688],[102.867612,33.188564],[102.867667,33.188406],[102.867978,33.188293],[102.868247,33.188182],[102.868295,33.188021],[102.868124,33.187929],[102.86795,33.187698],[102.867821,33.187109],[102.867654,33.18676],[102.867559,33.186512],[102.867636,33.186342],[102.867811,33.186257],[102.868261,33.186406],[102.868873,33.186657],[102.868996,33.186802],[102.86901,33.186978],[102.869012,33.187142],[102.869186,33.187254],[102.869403,33.187321],[102.869645,33.187264],[102.869943,33.187205],[102.870056,33.187295],[102.870022,33.187494],[102.869847,33.187687],[102.869735,33.187858],[102.869765,33.188021],[102.869903,33.188075],[102.870106,33.187997],[102.87034,33.187774],[102.870545,33.187568],[102.870774,33.18752],[102.870958,33.187566],[102.871106,33.187748],[102.871219,33.187862],[102.871402,33.187851],[102.871574,33.187525],[102.871766,33.187247],[102.872046,33.187197],[102.872172,33.187269],[102.872207,33.187451],[102.872124,33.187605],[102.872107,33.187895],[102.872055,33.188207],[102.872009,33.188515],[102.872182,33.188655],[102.872397,33.188704],[102.872461,33.188719],[102.872783,33.188895],[102.87286,33.188897],[102.873122,33.188904],[102.873336,33.188737],[102.87347,33.188385],[102.873641,33.188082],[102.873879,33.188068],[102.874013,33.188298],[102.873936,33.188647],[102.873724,33.189367],[102.873707,33.189662],[102.873812,33.189904],[102.874092,33.189954],[102.874436,33.189882],[102.874778,33.189949],[102.874902,33.190154],[102.874874,33.190339],[102.874562,33.19054],[102.874168,33.190886],[102.873756,33.19115],[102.87376,33.191274],[102.873942,33.191373],[102.874351,33.191556],[102.874508,33.191868],[102.874645,33.19205],[102.875228,33.19206],[102.875511,33.192157],[102.875701,33.192389],[102.875536,33.192611],[102.875157,33.192781],[102.874901,33.192999],[102.874933,33.193129],[102.875286,33.1932],[102.875919,33.193122],[102.87614,33.192925],[102.876395,33.192531],[102.876719,33.192525],[102.876817,33.192882],[102.876812,33.193258],[102.877043,33.193372],[102.877263,33.1933],[102.877451,33.192989],[102.877415,33.19263],[102.877449,33.192332],[102.877707,33.192285],[102.877897,33.192712],[102.877772,33.193017],[102.877537,33.19345],[102.877164,33.193916],[102.876879,33.194242],[102.876882,33.194419],[102.877191,33.194468],[102.877701,33.194402],[102.878099,33.194368],[102.878267,33.19459],[102.878249,33.194794],[102.877983,33.19503],[102.877598,33.195196],[102.87714,33.195287],[102.876999,33.195394],[102.877035,33.195574],[102.877286,33.195692],[102.87745,33.1958],[102.877485,33.195929],[102.877387,33.196029],[102.877212,33.196114],[102.877071,33.196216],[102.877068,33.196344],[102.877256,33.196444],[102.877707,33.196482],[102.878042,33.196635],[102.878419,33.197029],[102.878504,33.197386],[102.878398,33.197604],[102.878233,33.197725],[102.877974,33.197868],[102.877907,33.198012],[102.878042,33.198175],[102.878364,33.198178],[102.879058,33.198093],[102.879687,33.198165],[102.879742,33.198317],[102.87966,33.198478],[102.879259,33.19879],[102.879215,33.19896],[102.879372,33.199172],[102.879953,33.199189],[102.880336,33.199244],[102.880946,33.19957],[102.881179,33.199804],[102.881181,33.19999],[102.881012,33.200122],[102.880801,33.20031],[102.88065,33.2005],[102.880722,33.200646],[102.880923,33.200765],[102.881327,33.200729],[102.881942,33.200578],[102.882119,33.200652],[102.882102,33.200846],[102.881928,33.20102],[102.881786,33.201224],[102.881844,33.201388],[102.882159,33.20152],[102.882604,33.201581],[102.882693,33.201699],[102.882907,33.201918],[102.883051,33.202162],[102.883038,33.202385],[102.882941,33.2026],[102.88274,33.202735],[102.882372,33.202846],[102.881961,33.2029],[102.881688,33.202817],[102.881583,33.202584],[102.881501,33.202238],[102.881393,33.202143],[102.881229,33.202132],[102.880979,33.202245],[102.880859,33.202455],[102.880912,33.202619],[102.881126,33.202932],[102.881335,33.203136],[102.881566,33.20326],[102.881841,33.2034],[102.881906,33.203546],[102.881774,33.203669],[102.881377,33.203707],[102.881129,33.20364],[102.88073,33.203266],[102.880498,33.20312],[102.880336,33.203098],[102.880178,33.203187],[102.88006,33.203396],[102.879948,33.20361],[102.879794,33.203701],[102.879562,33.203741],[102.879305,33.203841],[102.879244,33.204007],[102.879455,33.204408],[102.879752,33.204771],[102.880229,33.204905],[102.88027,33.205071],[102.880021,33.205196],[102.879562,33.205345],[102.879447,33.205494],[102.879475,33.205672],[102.880042,33.205948],[102.880437,33.206174],[102.880653,33.206459],[102.880786,33.206708],[102.88097,33.206753],[102.881599,33.20656],[102.881807,33.206692],[102.882021,33.207197],[102.882086,33.207533],[102.881954,33.207666],[102.88177,33.207706],[102.88148,33.207627],[102.880866,33.207459],[102.880327,33.207389],[102.879435,33.207332],[102.878863,33.207368],[102.878347,33.207519],[102.878146,33.207542],[102.878058,33.207389],[102.878141,33.207131],[102.87815,33.206971],[102.877948,33.206934],[102.877598,33.20697],[102.877276,33.207013],[102.876899,33.207062],[102.876816,33.207255],[102.876904,33.207495],[102.877028,33.207618],[102.877392,33.208067],[102.877455,33.208384],[102.877327,33.208604],[102.877053,33.208925],[102.876723,33.209343],[102.876555,33.20959],[102.876614,33.209746],[102.877007,33.209719],[102.877352,33.20954],[102.877606,33.20926],[102.87784,33.208646],[102.878047,33.208411],[102.87839,33.208345],[102.878707,33.208739],[102.878609,33.209555],[102.878665,33.210143],[102.878486,33.210202],[102.878036,33.210041],[102.877638,33.210067],[102.87749,33.210271],[102.877402,33.21071],[102.877371,33.211157],[102.877482,33.211476],[102.877831,33.211528],[102.87822,33.211259],[102.878891,33.210734],[102.879219,33.210952],[102.879335,33.211228],[102.879264,33.211475],[102.878795,33.211747],[102.878261,33.211904],[102.877611,33.211889],[102.876957,33.211928],[102.876879,33.212038],[102.876911,33.212229],[102.87745,33.212346],[102.878098,33.212251],[102.878578,33.212178],[102.878935,33.212246],[102.879453,33.212491],[102.879793,33.212787],[102.879963,33.213079],[102.879914,33.213325],[102.879743,33.213542],[102.879436,33.213658],[102.878894,33.213612],[102.878588,33.213428],[102.87789,33.21295],[102.87759,33.212991],[102.877485,33.213115],[102.87748,33.213354],[102.877595,33.213788],[102.877638,33.214136],[102.877576,33.214323],[102.877072,33.214298],[102.876716,33.214141],[102.876528,33.213858],[102.876565,33.213449],[102.876725,33.213034],[102.876722,33.212873],[102.876289,33.212859],[102.876145,33.213003],[102.876081,33.213211],[102.876195,33.213451],[102.876171,33.213722],[102.876054,33.214189],[102.875865,33.214363],[102.875557,33.214765],[102.875677,33.214959],[102.876039,33.214946],[102.876602,33.214694],[102.876906,33.21466],[102.877047,33.214934],[102.876838,33.215236],[102.876453,33.215431],[102.87584,33.215588],[102.87548,33.215566],[102.875188,33.215411],[102.874663,33.214707],[102.874311,33.214335],[102.874007,33.214233],[102.873825,33.214297],[102.873742,33.214479],[102.873798,33.214896],[102.874043,33.215262],[102.87456,33.215623],[102.875222,33.215942],[102.875718,33.215945],[102.876598,33.215851],[102.876764,33.21598],[102.876791,33.216186],[102.876742,33.21636],[102.876501,33.216491],[102.876018,33.216626],[102.875401,33.216764],[102.87527,33.216943],[102.87526,33.217109],[102.875468,33.217255],[102.875901,33.217478],[102.876438,33.217628],[102.876517,33.21763],[102.876919,33.217639],[102.877422,33.217525],[102.878134,33.217403],[102.878452,33.217475],[102.878655,33.217627],[102.878813,33.21783],[102.878788,33.218144],[102.878636,33.218257],[102.878276,33.218302],[102.877835,33.218388],[102.877646,33.218529],[102.877591,33.218741],[102.87769,33.218967],[102.878208,33.219444],[102.878635,33.219896],[102.878605,33.220041],[102.878397,33.220148],[102.878032,33.220276],[102.877952,33.220433],[102.878093,33.220621],[102.878608,33.220927],[102.879037,33.221043],[102.879335,33.220916],[102.879482,33.220651],[102.87951,33.220405],[102.879434,33.220021],[102.879404,33.219671],[102.879485,33.219508],[102.879722,33.219436],[102.880109,33.219437],[102.880335,33.219572],[102.880419,33.219811],[102.880538,33.220309],[102.880496,33.220597],[102.880425,33.22094],[102.880412,33.221079],[102.88056,33.221167],[102.880773,33.221087],[102.880946,33.220894],[102.881144,33.220709],[102.881418,33.220599],[102.881724,33.220602],[102.882309,33.220678],[102.882516,33.220616],[102.882813,33.22048],[102.883136,33.220489],[102.883571,33.220592],[102.883763,33.220655],[102.884003,33.220622],[102.884236,33.22061],[102.884372,33.220649],[102.884458,33.220786],[102.884507,33.220964],[102.884587,33.221201],[102.884615,33.221397],[102.884611,33.221624],[102.884594,33.222066],[102.88469,33.222463],[102.884879,33.222571],[102.885279,33.222559],[102.885777,33.222554],[102.885982,33.22267],[102.88598,33.222849],[102.88569,33.223094],[102.885317,33.223368],[102.885301,33.223496],[102.885456,33.223606],[102.885738,33.223582],[102.886025,33.223404],[102.886486,33.222829],[102.886929,33.222156],[102.887182,33.222059],[102.88735,33.222165],[102.887351,33.222323],[102.887083,33.223284],[102.886881,33.224173],[102.886656,33.224978],[102.886652,33.225178],[102.886773,33.225222],[102.887335,33.224988],[102.887719,33.22489],[102.88793,33.224916],[102.888442,33.225208],[102.888722,33.225427],[102.888766,33.225625],[102.88868,33.225783],[102.888423,33.226394],[102.888141,33.227232],[102.887977,33.227336],[102.887689,33.227256],[102.887502,33.227143],[102.886993,33.22674],[102.886835,33.226434],[102.886748,33.225892],[102.886656,33.225617],[102.88636,33.225543],[102.886035,33.225567],[102.885743,33.225722],[102.885578,33.225929],[102.885606,33.226216],[102.885872,33.226623],[102.886061,33.226983],[102.886162,33.227884],[102.886237,33.228639],[102.886503,33.228746],[102.886771,33.228909],[102.88681,33.229111],[102.88671,33.229269],[102.886361,33.229416],[102.885909,33.229402],[102.884948,33.229353],[102.884144,33.229267],[102.883596,33.229144],[102.883219,33.22881],[102.882999,33.228686],[102.882816,33.228726],[102.88273,33.229128],[102.882805,33.229593],[102.883041,33.230494],[102.883432,33.230886],[102.883645,33.230958],[102.8839,33.230826],[102.88417,33.230331],[102.884403,33.229662],[102.884605,33.229554],[102.884872,33.22964],[102.885304,33.229768],[102.885683,33.229834],[102.886169,33.229821],[102.886355,33.22985],[102.886318,33.23],[102.886141,33.230177],[102.885533,33.230879],[102.885255,33.231377],[102.88518,33.231593],[102.885261,33.231703],[102.885497,33.231744],[102.885966,33.23162],[102.886469,33.231435],[102.886753,33.231426],[102.88693,33.231496],[102.887065,33.231665],[102.887173,33.231934],[102.887334,33.232467],[102.887353,33.232666],[102.887254,33.232817],[102.887074,33.232833],[102.88683,33.232844],[102.886515,33.232891],[102.886205,33.232957],[102.886112,33.233058],[102.886143,33.233207],[102.886338,33.233358],[102.886677,33.233472],[102.88697,33.23345],[102.887288,33.233387],[102.887654,33.233339],[102.888415,33.233116],[102.889023,33.232847],[102.889106,33.232582],[102.889187,33.232291],[102.889355,33.232205],[102.889523,33.232236],[102.889832,33.232529],[102.890171,33.232977],[102.890233,33.233132],[102.89004,33.233276],[102.889766,33.233494],[102.889417,33.233794],[102.888742,33.234203],[102.888388,33.234381],[102.888307,33.234524],[102.888403,33.234632],[102.888722,33.234691],[102.889308,33.23478],[102.889447,33.234878],[102.889469,33.235083],[102.889301,33.235258],[102.888952,33.235426],[102.888621,33.235487],[102.888223,33.235521],[102.887839,33.235474],[102.887152,33.235156],[102.886755,33.234968],[102.886697,33.234862],[102.886779,33.234708],[102.886945,33.234411],[102.886993,33.234245],[102.886818,33.234178],[102.886645,33.234228],[102.886336,33.234504],[102.886005,33.234933],[102.885894,33.235239],[102.88575,33.235887],[102.885654,33.235997],[102.885538,33.236025],[102.885424,33.235934],[102.885224,33.235722],[102.885037,33.235579],[102.884805,33.235541],[102.884645,33.235591],[102.884464,33.235773],[102.884382,33.236088],[102.884376,33.236331],[102.884594,33.236461],[102.885068,33.236788],[102.885294,33.237065],[102.885354,33.237343],[102.885254,33.237528],[102.885069,33.23768],[102.884622,33.237852],[102.884345,33.23784],[102.883727,33.237662],[102.883055,33.237506],[102.882795,33.237591],[102.882744,33.237793],[102.88296,33.238079],[102.883384,33.238282],[102.884197,33.238521],[102.884537,33.238525],[102.884742,33.23831],[102.885012,33.238159],[102.88524,33.23813],[102.885324,33.238343],[102.885333,33.238752],[102.885351,33.239348],[102.88529,33.239803],[102.88507,33.239879],[102.884398,33.239742],[102.884024,33.239736],[102.883863,33.239882],[102.883846,33.240162],[102.884194,33.240336],[102.884848,33.240541],[102.885931,33.240851],[102.886625,33.241094],[102.886962,33.241286],[102.887068,33.241412],[102.887066,33.241559],[102.886971,33.241722],[102.886906,33.241905],[102.886872,33.242161],[102.886869,33.242297],[102.887023,33.242332],[102.88727,33.242238],[102.887805,33.24201],[102.888687,33.241701],[102.889379,33.241501],[102.889574,33.241516],[102.889703,33.241628],[102.889737,33.241851],[102.889561,33.242176],[102.88931,33.242391],[102.889041,33.242784],[102.889042,33.242905],[102.889181,33.243007],[102.889383,33.243044],[102.889892,33.24299],[102.890284,33.242971],[102.890503,33.243012],[102.890846,33.243211],[102.891113,33.243297],[102.891266,33.243225],[102.891251,33.243046],[102.89107,33.242802],[102.890757,33.242475],[102.890742,33.242299],[102.890848,33.242154],[102.891057,33.242077],[102.891472,33.242111],[102.892056,33.242296],[102.892356,33.242473],[102.892435,33.242723],[102.892283,33.243067],[102.891935,33.243422],[102.891163,33.24389],[102.890562,33.244241],[102.889853,33.244604],[102.889654,33.244733],[102.889557,33.244944],[102.889802,33.245114],[102.890317,33.2452],[102.890887,33.245127],[102.891293,33.244869],[102.891645,33.244558],[102.892258,33.244044],[102.892504,33.243968],[102.892716,33.243995],[102.893113,33.244172],[102.893426,33.244428],[102.893923,33.244959],[102.89429,33.245438],[102.894264,33.245594],[102.894022,33.245742],[102.893459,33.245776],[102.89241,33.245672],[102.892226,33.245703],[102.892149,33.245779],[102.892141,33.245979],[102.892439,33.24628],[102.892784,33.24648],[102.893311,33.246555],[102.893818,33.246548],[102.894883,33.246468],[102.895153,33.246499],[102.895398,33.24658],[102.89582,33.246931],[102.896192,33.247056],[102.896394,33.246997],[102.896449,33.246828],[102.896273,33.246549],[102.895895,33.246229],[102.895818,33.246078],[102.895906,33.245939],[102.896189,33.245865],[102.896799,33.245863],[102.897115,33.245915],[102.897341,33.246041],[102.897529,33.24623],[102.897822,33.246552],[102.898129,33.246865],[102.898144,33.24697],[102.897862,33.247193],[102.897746,33.24737],[102.89772,33.247506],[102.897828,33.247606],[102.89805,33.247686],[102.898386,33.247744],[102.899047,33.247929],[102.899276,33.248081],[102.899398,33.248322],[102.899431,33.248606],[102.899403,33.2491],[102.899288,33.249309],[102.898936,33.249619],[102.898817,33.249805],[102.898974,33.249935],[102.899372,33.250204],[102.899654,33.250625],[102.899824,33.251013],[102.899726,33.251142],[102.899016,33.251156],[102.898378,33.251233],[102.897627,33.251277],[102.897016,33.251388],[102.896725,33.251494],[102.896494,33.251712],[102.89637,33.251827],[102.896213,33.25182],[102.896089,33.25161],[102.895998,33.251345],[102.895913,33.250906],[102.895741,33.250662],[102.895498,33.250669],[102.895342,33.250815],[102.895287,33.251103],[102.895287,33.251499],[102.895229,33.251543],[102.895215,33.251553],[102.895108,33.251635],[102.895065,33.251667],[102.8946,33.252208],[102.894164,33.252633],[102.894157,33.252639],[102.894068,33.252726],[102.894085,33.252752],[102.894194,33.252928],[102.894255,33.253026],[102.895721,33.255386],[102.895736,33.255445],[102.895739,33.255484],[102.895741,33.255526],[102.895741,33.255564],[102.895732,33.255602],[102.895716,33.25565],[102.895714,33.25568],[102.895713,33.2557],[102.895726,33.255718],[102.895744,33.255718],[102.89575,33.255705],[102.895762,33.255691],[102.895771,33.255693],[102.895782,33.255703],[102.895788,33.25571],[102.895805,33.255748],[102.89583,33.255811],[102.895843,33.255845],[102.895863,33.255849],[102.895875,33.255844],[102.895879,33.255821],[102.895877,33.255776],[102.895862,33.25574],[102.895853,33.255707],[102.895852,33.25568],[102.895851,33.255654],[102.895862,33.255613],[102.896195,33.256149],[102.896639,33.256863],[102.896783,33.257095],[102.897857,33.258822],[102.918741,33.29242],[102.918913,33.292696],[102.918917,33.292834],[102.919007,33.292947],[102.919032,33.293128],[102.918998,33.293294],[102.918977,33.293403],[102.918996,33.293508],[102.919071,33.293562],[102.919194,33.293638],[102.91929,33.293746],[102.919345,33.29385],[102.919388,33.29395],[102.919384,33.294087],[102.919316,33.294215],[102.91927,33.294281],[102.919245,33.294396],[102.91929,33.294488],[102.919364,33.29455],[102.919532,33.29459],[102.919662,33.294607],[102.919821,33.294617],[102.919901,33.294644],[102.920008,33.294696],[102.920188,33.294747],[102.920341,33.29463],[102.920409,33.294639],[102.92046,33.294618],[102.920504,33.294597],[102.920524,33.294569],[102.920537,33.294543],[102.920567,33.294497],[102.920603,33.294483],[102.920786,33.294569],[102.921041,33.294573],[102.921283,33.294565],[102.921339,33.294614],[102.92125,33.294756],[102.920962,33.29493],[102.920874,33.295036],[102.920799,33.295032],[102.920757,33.295015],[102.920713,33.294983],[102.920685,33.294959],[102.920664,33.294929],[102.920652,33.294904],[102.920621,33.294895],[102.920584,33.294903],[102.920547,33.294919],[102.920524,33.294925],[102.920476,33.294921],[102.920443,33.294912],[102.92039,33.294918],[102.92035,33.294943],[102.920329,33.294973],[102.920226,33.295043],[102.920174,33.295158],[102.920147,33.295233],[102.9201,33.295312],[102.920066,33.295363],[102.920028,33.295426],[102.920021,33.295494],[102.920026,33.295557],[102.920055,33.295598],[102.920094,33.295609],[102.92021,33.295614],[102.920307,33.295606],[102.920416,33.29558],[102.920493,33.295573],[102.92057,33.295515],[102.92063,33.295457],[102.920666,33.295516],[102.92071,33.295589],[102.920946,33.295986],[102.921019,33.296109],[102.92084,33.296106],[102.920608,33.296102],[102.920377,33.296098],[102.920145,33.296095],[102.919913,33.296091],[102.919682,33.296087],[102.91945,33.296083],[102.919219,33.296079],[102.918987,33.296075],[102.918746,33.296088],[102.918506,33.2961],[102.918265,33.296112],[102.918024,33.296125],[102.917783,33.296137],[102.917542,33.296149],[102.917301,33.296161],[102.917061,33.296174],[102.91682,33.296186],[102.916666,33.296194],[102.916579,33.296198],[102.916338,33.296211],[102.916097,33.296223],[102.915841,33.296232],[102.915585,33.296242],[102.915329,33.296251],[102.915072,33.29626],[102.914816,33.29627],[102.91456,33.296279],[102.914303,33.296288],[102.914047,33.296297],[102.913791,33.296307],[102.913534,33.296316],[102.913278,33.296325],[102.913022,33.296335],[102.912766,33.296344],[102.912509,33.296353],[102.912253,33.296363],[102.911997,33.296372],[102.911729,33.296377],[102.911462,33.296381],[102.911195,33.296385],[102.910927,33.29639],[102.91066,33.296394],[102.910392,33.296399],[102.910125,33.296403],[102.909858,33.296408],[102.90959,33.296412],[102.909323,33.296417],[102.909065,33.296439],[102.908808,33.296462],[102.908486,33.296493],[102.908164,33.296524],[102.907886,33.296609],[102.907561,33.296751],[102.907552,33.296755],[102.907217,33.296902],[102.906998,33.297096],[102.906779,33.297289],[102.906645,33.297448],[102.906462,33.297587],[102.906278,33.297726],[102.906095,33.297866],[102.905912,33.298005],[102.905728,33.298144],[102.905545,33.298283],[102.905362,33.298422],[102.905178,33.298561],[102.904894,33.298843],[102.904609,33.299125],[102.904325,33.299407],[102.904115,33.299655],[102.903906,33.299902],[102.903742,33.30007],[102.903578,33.300238],[102.903381,33.300379],[102.903056,33.300553],[102.902731,33.300727],[102.902397,33.300855],[102.902063,33.300984],[102.901842,33.301061],[102.90162,33.301138],[102.901399,33.301215],[102.901178,33.301293],[102.900797,33.301404],[102.900416,33.301516],[102.900116,33.301566],[102.899838,33.301579],[102.899582,33.301539],[102.899347,33.301518],[102.898919,33.301493],[102.898585,33.301603],[102.898251,33.301713],[102.898056,33.30185],[102.89786,33.301988],[102.897664,33.302125],[102.897469,33.302263],[102.897273,33.3024],[102.897078,33.302538],[102.896903,33.302696],[102.896728,33.302854],[102.896553,33.303013],[102.896378,33.303171],[102.896203,33.30333],[102.896028,33.303488],[102.895853,33.303647],[102.895678,33.303805],[102.895483,33.303972],[102.895288,33.304138],[102.895093,33.304305],[102.894898,33.304471],[102.894703,33.304637],[102.894508,33.304804],[102.894212,33.305077],[102.893916,33.30535],[102.893763,33.305509],[102.893567,33.305684],[102.893349,33.305807],[102.893198,33.305857],[102.892907,33.305969],[102.892616,33.30608],[102.892337,33.306165],[102.892014,33.306215],[102.891725,33.306237],[102.891436,33.306258],[102.891007,33.306269],[102.890579,33.306279],[102.890354,33.306302],[102.89013,33.306326],[102.88984,33.306356],[102.88955,33.306387],[102.889388,33.306385],[102.889136,33.306343],[102.888883,33.3063],[102.888587,33.306231],[102.888291,33.306162],[102.88793,33.306061],[102.887568,33.30596],[102.887359,33.305848],[102.887149,33.305736],[102.886927,33.305643],[102.886705,33.30555],[102.886483,33.305456],[102.88626,33.305363],[102.886038,33.305269],[102.885816,33.305176],[102.885594,33.305082],[102.885371,33.304989],[102.885022,33.304839],[102.884829,33.304853],[102.88453,33.304884],[102.884206,33.304968],[102.884009,33.305163],[102.883766,33.305499],[102.883586,33.305882],[102.883405,33.306264],[102.883206,33.306584],[102.883006,33.30685],[102.882841,33.307053],[102.882676,33.307257],[102.882521,33.307443],[102.882367,33.307629],[102.882189,33.307904],[102.882011,33.308178],[102.881919,33.308462],[102.88185,33.308677],[102.88178,33.308892],[102.881676,33.309175],[102.881571,33.309458],[102.881455,33.309814],[102.881428,33.310066],[102.881442,33.310371],[102.881519,33.310696],[102.881566,33.310983],[102.881612,33.311271],[102.88165,33.311504],[102.881685,33.311847],[102.881719,33.312151],[102.881713,33.312402],[102.881707,33.312653],[102.881636,33.31294],[102.881566,33.31319],[102.881428,33.313598],[102.881326,33.313968],[102.881225,33.314337],[102.881123,33.314707],[102.881055,33.31495],[102.880988,33.315192],[102.88092,33.315435],[102.880853,33.315678],[102.880785,33.315921],[102.880718,33.316164],[102.88065,33.316406],[102.880583,33.316649],[102.880463,33.316898],[102.880343,33.317147],[102.880223,33.317396],[102.880103,33.317646],[102.879983,33.317895],[102.879863,33.318144],[102.879661,33.318517],[102.879419,33.318835],[102.879176,33.319154],[102.878903,33.319392],[102.878629,33.319629],[102.878304,33.319785],[102.878067,33.319871],[102.877679,33.319972],[102.877336,33.320012],[102.876993,33.320051],[102.876591,33.320052],[102.87619,33.320053],[102.876116,33.320053],[102.875867,33.320025],[102.875619,33.319996],[102.87537,33.319968],[102.875121,33.31994],[102.874872,33.319912],[102.874623,33.319884],[102.874353,33.319885],[102.874083,33.319886],[102.873813,33.319887],[102.873543,33.319888],[102.873147,33.31989],[102.872751,33.319892],[102.872386,33.319958],[102.872133,33.32003],[102.87188,33.320102],[102.871627,33.320174],[102.871374,33.320246],[102.871121,33.320317],[102.870868,33.320389],[102.870615,33.320461],[102.870362,33.320533],[102.870137,33.320602],[102.869913,33.320672],[102.869688,33.320741],[102.869464,33.320811],[102.869239,33.32088],[102.869015,33.32095],[102.868791,33.321019],[102.868566,33.321088],[102.868342,33.321158],[102.868117,33.321227],[102.867893,33.321297],[102.867668,33.321366],[102.867268,33.32142],[102.867031,33.321452],[102.866796,33.321448],[102.866561,33.321444],[102.866338,33.321378],[102.866115,33.321311],[102.865936,33.321164],[102.865757,33.321017],[102.865454,33.320725],[102.865151,33.320432],[102.864936,33.320272],[102.864721,33.320111],[102.864506,33.319951],[102.864291,33.31979],[102.864059,33.319643],[102.863828,33.319495],[102.863572,33.319455],[102.863316,33.319415],[102.863048,33.319354],[102.86278,33.319294],[102.862512,33.319234],[102.862244,33.319174],[102.861976,33.319114],[102.861708,33.319054],[102.86144,33.318993],[102.861172,33.318933],[102.860904,33.318873],[102.860636,33.318813],[102.860259,33.318641],[102.859882,33.318469],[102.859505,33.318297],[102.859092,33.318124],[102.858679,33.317951],[102.858266,33.317778],[102.857853,33.317605],[102.857639,33.317525],[102.857424,33.317445],[102.857209,33.317365],[102.856995,33.317285],[102.85678,33.317205],[102.856566,33.317125],[102.856351,33.317045],[102.856136,33.316965],[102.855892,33.316916],[102.855648,33.316866],[102.855351,33.316772],[102.855011,33.316641],[102.854652,33.316473],[102.854421,33.316272],[102.854171,33.316034],[102.854,33.315851],[102.85383,33.315669],[102.85366,33.315487],[102.85349,33.315304],[102.85332,33.315122],[102.853149,33.31494],[102.852878,33.314675],[102.852606,33.31441],[102.85233,33.314315],[102.851914,33.314281],[102.851498,33.314246],[102.851082,33.314212],[102.850683,33.314199],[102.850284,33.314186],[102.849885,33.314172],[102.849671,33.314222],[102.849498,33.314256],[102.849248,33.314404],[102.848998,33.314552],[102.848747,33.314763],[102.848496,33.314973],[102.848324,33.315025],[102.848217,33.31504],[102.847896,33.315035],[102.847661,33.315013],[102.847342,33.314935],[102.847096,33.314814],[102.846851,33.314694],[102.846605,33.314573],[102.84636,33.314452],[102.846114,33.314331],[102.845868,33.31421],[102.845623,33.314089],[102.845377,33.313969],[102.845153,33.313826],[102.84493,33.313683],[102.844706,33.31354],[102.844482,33.313397],[102.844258,33.313254],[102.844034,33.313112],[102.843811,33.312969],[102.843587,33.312826],[102.84337,33.312715],[102.843154,33.312603],[102.842938,33.312492],[102.842721,33.312381],[102.842478,33.312287],[102.842234,33.312192],[102.842011,33.31213],[102.841788,33.312068],[102.841565,33.312006],[102.841341,33.311944],[102.841065,33.311903],[102.840788,33.311863],[102.840516,33.311844],[102.840244,33.311826],[102.839972,33.311807],[102.839701,33.311789],[102.839429,33.31177],[102.839157,33.311752],[102.838886,33.311733],[102.838614,33.311714],[102.838386,33.311701],[102.838158,33.311688],[102.83793,33.311675],[102.837702,33.311662],[102.837474,33.311649],[102.837246,33.311636],[102.836842,33.311594],[102.836628,33.311573],[102.836393,33.311567],[102.836072,33.31158],[102.835672,33.31177],[102.835271,33.31196],[102.835096,33.312125],[102.834921,33.312289],[102.834746,33.312454],[102.834571,33.312619],[102.834396,33.312783],[102.834221,33.312948],[102.833979,33.313176],[102.833827,33.313244],[102.833612,33.313313],[102.833333,33.313345],[102.832991,33.313356],[102.832565,33.31326],[102.832237,33.313137],[102.831908,33.313015],[102.831741,33.312841],[102.831574,33.312668],[102.831408,33.312463],[102.831242,33.312258],[102.831076,33.312054],[102.83091,33.311849],[102.830744,33.311644],[102.830578,33.31144],[102.830412,33.311235],[102.830246,33.31103],[102.830037,33.310834],[102.829815,33.31067],[102.829593,33.310506],[102.829319,33.310369],[102.829046,33.310232],[102.828983,33.310219],[102.828625,33.310122],[102.828266,33.310025],[102.827908,33.309928],[102.827566,33.309922],[102.827225,33.309916],[102.82686,33.309964],[102.826579,33.310031],[102.826451,33.310083],[102.826255,33.310258],[102.826032,33.310612],[102.82596,33.310926],[102.825887,33.311239],[102.825839,33.311489],[102.82579,33.31174],[102.825632,33.312059],[102.825475,33.312289],[102.825301,33.312465],[102.824954,33.312621],[102.824707,33.31268],[102.824459,33.312739],[102.824237,33.312792],[102.824015,33.312844],[102.823792,33.312897],[102.82357,33.31295],[102.823348,33.313003],[102.823125,33.313056],[102.822899,33.313112],[102.822672,33.313168],[102.822445,33.313225],[102.822218,33.313281],[102.821991,33.313337],[102.821764,33.313393],[102.821537,33.313449],[102.82131,33.313506],[102.821083,33.313562],[102.820856,33.313618],[102.820641,33.313684],[102.820425,33.313749],[102.82021,33.313815],[102.819994,33.31388],[102.819779,33.313946],[102.819563,33.314011],[102.819348,33.314077],[102.819132,33.314142],[102.818743,33.314338],[102.818353,33.314533],[102.817964,33.314728],[102.817574,33.314924],[102.817247,33.315178],[102.816919,33.315433],[102.816688,33.315698],[102.816456,33.315962],[102.816149,33.316284],[102.815841,33.316607],[102.815534,33.316929],[102.815227,33.317251],[102.814895,33.317529],[102.814563,33.317808],[102.814301,33.318001],[102.813977,33.318138],[102.813689,33.318168],[102.813677,33.318169],[102.813292,33.318143],[102.812933,33.318029],[102.812592,33.317917],[102.812347,33.317867],[102.812103,33.317818],[102.811739,33.317789],[102.811665,33.317783],[102.811228,33.317748],[102.810958,33.317746],[102.810688,33.317743],[102.810418,33.317741],[102.810148,33.317739],[102.809878,33.317736],[102.809608,33.317734],[102.809517,33.317733],[102.809338,33.317731],[102.809211,33.31773],[102.809068,33.317729],[102.808798,33.317726],[102.808528,33.317724],[102.808456,33.317723],[102.808258,33.317721],[102.807988,33.317719],[102.807718,33.317716],[102.807448,33.317714],[102.807178,33.317711],[102.806908,33.317709],[102.806639,33.317717],[102.80637,33.317724],[102.8061,33.317732],[102.805831,33.31774],[102.805562,33.317748],[102.805292,33.317756],[102.805023,33.317763],[102.804754,33.317771],[102.804484,33.317779],[102.804215,33.317787],[102.803946,33.317795],[102.803676,33.317802],[102.803407,33.31781],[102.803138,33.317818],[102.802868,33.317826],[102.802599,33.317833],[102.80233,33.317841],[102.80206,33.317849],[102.801791,33.317857],[102.801522,33.317865],[102.801251,33.317896],[102.80098,33.317927],[102.800709,33.317958],[102.800439,33.317989],[102.800168,33.31802],[102.799897,33.318051],[102.799626,33.318082],[102.799355,33.318113],[102.799085,33.318144],[102.798814,33.318175],[102.798543,33.318206],[102.798272,33.318237],[102.798001,33.318268],[102.797731,33.318299],[102.79746,33.31833],[102.797189,33.318361],[102.796943,33.318396],[102.796698,33.318431],[102.796453,33.318466],[102.796207,33.3185],[102.795962,33.318535],[102.795716,33.31857],[102.795481,33.318584],[102.795245,33.318597],[102.79501,33.318611],[102.794774,33.318625],[102.794538,33.318638],[102.794303,33.318652],[102.7942,33.318647],[102.79387,33.318631],[102.793438,33.31861],[102.793005,33.318589],[102.792573,33.318567],[102.792196,33.318525],[102.791818,33.318482],[102.791441,33.318439],[102.791079,33.318406],[102.790717,33.318373],[102.790267,33.318365],[102.789818,33.318357],[102.789551,33.318339],[102.789284,33.318321],[102.789017,33.318302],[102.788751,33.318284],[102.788484,33.318266],[102.788217,33.318248],[102.78795,33.31823],[102.787683,33.318212],[102.787324,33.318122],[102.786964,33.318032],[102.786557,33.317924],[102.786196,33.317795],[102.785945,33.3177],[102.785693,33.317605],[102.785369,33.317518],[102.785045,33.31743],[102.784816,33.317366],[102.784586,33.317301],[102.784356,33.317236],[102.784127,33.317171],[102.783897,33.317106],[102.783667,33.317041],[102.783437,33.316976],[102.783208,33.316911],[102.782978,33.316846],[102.782748,33.316781],[102.782519,33.316716],[102.782289,33.316651],[102.782059,33.316586],[102.78183,33.316521],[102.781544,33.316374],[102.781329,33.316259],[102.781114,33.316144],[102.780846,33.315961],[102.780577,33.315778],[102.780309,33.315595],[102.779943,33.315336],[102.779577,33.315077],[102.77921,33.314818],[102.778844,33.314559],[102.778711,33.31433],[102.778644,33.314111],[102.77854,33.313688],[102.778435,33.313264],[102.778297,33.313031],[102.778159,33.312798],[102.778111,33.312725],[102.77793,33.312455],[102.777769,33.312303],[102.777768,33.312303],[102.77755,33.312227],[102.777232,33.312171],[102.777226,33.31217],[102.776969,33.312093],[102.776817,33.312017],[102.776731,33.311913],[102.776636,33.311741],[102.776494,33.311622],[102.776383,33.311554],[102.776174,33.311426],[102.775965,33.311298],[102.775756,33.311169],[102.775547,33.311041],[102.775337,33.310913],[102.775128,33.310785],[102.774919,33.310657],[102.77471,33.310529],[102.774353,33.31031],[102.774095,33.310276],[102.773705,33.310171],[102.77345,33.310067],[102.773333,33.310019],[102.773086,33.309838],[102.772867,33.309543],[102.772751,33.309225],[102.772635,33.308906],[102.772518,33.308588],[102.772505,33.308553],[102.772315,33.308381],[102.771925,33.308172],[102.771606,33.308025],[102.771287,33.307877],[102.771147,33.307815],[102.771049,33.307772],[102.770878,33.307687],[102.770659,33.307658],[102.770373,33.30763],[102.770069,33.307534],[102.76974,33.307434],[102.769412,33.307335],[102.769098,33.307135],[102.768869,33.306963],[102.768842,33.306882],[102.768727,33.306542],[102.768612,33.306202],[102.768543,33.306032],[102.768368,33.305901],[102.768181,33.305762],[102.767995,33.305623],[102.767643,33.30536],[102.767316,33.305187],[102.766988,33.305014],[102.766661,33.304841],[102.766376,33.304699],[102.76609,33.304558],[102.7657,33.304365],[102.765395,33.304089],[102.765215,33.303861],[102.765189,33.303824],[102.765053,33.303632],[102.764862,33.30347],[102.764615,33.303404],[102.764196,33.303356],[102.763904,33.303437],[102.763612,33.303517],[102.763473,33.303556],[102.763346,33.303581],[102.763178,33.303613],[102.762854,33.303584],[102.762473,33.303508],[102.762212,33.303423],[102.76195,33.303337],[102.761769,33.303223],[102.761636,33.303097],[102.761598,33.303061],[102.76148,33.302914],[102.761295,33.302844],[102.76114,33.302794],[102.760907,33.302813],[102.760675,33.302833],[102.760351,33.302804],[102.760027,33.30268],[102.759732,33.302595],[102.759437,33.302509],[102.759171,33.302394],[102.759085,33.302357],[102.758762,33.302252],[102.758438,33.302147],[102.758124,33.302109],[102.75781,33.302223],[102.757496,33.302484],[102.757182,33.302744],[102.756867,33.303004],[102.756866,33.303004],[102.756865,33.303005],[102.756605,33.303123],[102.756344,33.303242],[102.755906,33.303318],[102.75564,33.303328],[102.755373,33.303337],[102.755021,33.303251],[102.75481,33.303166],[102.7546,33.303081],[102.754574,33.303071],[102.754269,33.302918],[102.753917,33.302658],[102.753566,33.302398],[102.753214,33.302137],[102.75306,33.302024],[102.75281,33.301849],[102.752559,33.301675],[102.752308,33.3015],[102.752213,33.301433],[102.752118,33.301272],[102.752099,33.30092],[102.75208,33.300567],[102.752054,33.300482],[102.751948,33.300129],[102.751842,33.299777],[102.751731,33.299489],[102.75162,33.2992],[102.751536,33.298981],[102.751509,33.298911],[102.751515,33.298699],[102.751518,33.298578],[102.75154,33.298207],[102.751562,33.297836],[102.751583,33.297479],[102.751604,33.297122],[102.751585,33.296694],[102.751573,33.296427],[102.751561,33.29616],[102.751477,33.295949],[102.751443,33.295901],[102.751362,33.295786],[102.751219,33.295702],[102.751187,33.295684],[102.750976,33.295561],[102.750701,33.295465],[102.750425,33.295368],[102.750285,33.295321],[102.750227,33.295254],[102.750195,33.295218],[102.750005,33.294971],[102.749848,33.294766],[102.749691,33.294562],[102.749482,33.294409],[102.74922,33.294309],[102.748958,33.294209],[102.748673,33.294117],[102.748387,33.294025],[102.748102,33.293933],[102.747883,33.293819],[102.74773,33.293667],[102.747678,33.293573],[102.747645,33.293515],[102.747645,33.293463],[102.747645,33.293018],[102.747645,33.292572],[102.747616,33.292334],[102.747501,33.291937],[102.747387,33.29154],[102.747272,33.291142],[102.747226,33.290983],[102.747116,33.290655],[102.747007,33.290326],[102.746769,33.290079],[102.746498,33.290017],[102.746227,33.289955],[102.745836,33.289879],[102.745541,33.289755],[102.745227,33.289527],[102.744994,33.289256],[102.744761,33.288985],[102.74458,33.288775],[102.744294,33.288613],[102.744018,33.288565],[102.743601,33.288615],[102.743557,33.288603],[102.743279,33.288588],[102.743094,33.288578],[102.743001,33.288573],[102.742638,33.288565],[102.742325,33.288539],[102.742013,33.288473],[102.741701,33.288406],[102.741364,33.288339],[102.741102,33.288194],[102.740914,33.287987],[102.740753,33.28768],[102.740674,33.287446],[102.740595,33.287211],[102.740485,33.286864],[102.74037,33.286558],[102.740257,33.286292],[102.740021,33.286086],[102.739773,33.285868],[102.739525,33.285651],[102.739364,33.285475],[102.739202,33.2853],[102.73904,33.285125],[102.738879,33.28495],[102.738717,33.284775],[102.738555,33.284599],[102.738393,33.284424],[102.738232,33.284249],[102.738042,33.284099],[102.737853,33.283948],[102.737664,33.283798],[102.737474,33.283647],[102.737285,33.283497],[102.737095,33.283346],[102.736906,33.283196],[102.736717,33.283045],[102.736473,33.282943],[102.73623,33.282842],[102.735942,33.282746],[102.735655,33.282649],[102.735392,33.282553],[102.735128,33.282457],[102.734816,33.28236],[102.734504,33.282263],[102.734203,33.282237],[102.733902,33.282212],[102.733712,33.282244],[102.733417,33.282387],[102.733121,33.282531],[102.732825,33.282674],[102.732464,33.282798],[102.73215,33.282817],[102.731921,33.282798],[102.731636,33.282702],[102.731322,33.282502],[102.731007,33.282303],[102.73077,33.282248],[102.730567,33.282232],[102.730254,33.282226],[102.73004,33.282235],[102.729796,33.282293],[102.729551,33.28235],[102.729199,33.282388],[102.729018,33.28235],[102.728733,33.282245],[102.728585,33.282118],[102.72839,33.28195],[102.728228,33.281779],[102.728162,33.281532],[102.728151,33.281488],[102.728095,33.281256],[102.728019,33.280865],[102.727762,33.28077],[102.727376,33.280713],[102.726991,33.280656],[102.726779,33.280578],[102.726705,33.280551],[102.726477,33.280437],[102.72623,33.280342],[102.725925,33.28018],[102.725738,33.279968],[102.725448,33.279638],[102.72544,33.279628],[102.725225,33.279433],[102.725011,33.279238],[102.724791,33.279128],[102.724571,33.279018],[102.724554,33.279009],[102.724269,33.278902],[102.723983,33.278794],[102.723698,33.278686],[102.723422,33.278643],[102.723146,33.2786],[102.722781,33.278575],[102.722416,33.278549],[102.722051,33.278524],[102.721623,33.278476],[102.721261,33.278305],[102.721004,33.278115],[102.720814,33.277734],[102.720647,33.277496],[102.720481,33.277258],[102.72029,33.277001],[102.720162,33.276778],[102.720148,33.276754],[102.720014,33.276525],[102.719795,33.276316],[102.71951,33.27604],[102.719509,33.276039],[102.719509,33.276038],[102.719301,33.275678],[102.71911,33.27545],[102.718882,33.275126],[102.718644,33.274917],[102.718463,33.274745],[102.718257,33.274498],[102.718051,33.274251],[102.717892,33.27406],[102.717678,33.27376],[102.717464,33.273461],[102.717424,33.273264],[102.717375,33.273193],[102.717264,33.27303],[102.71713,33.272937],[102.716907,33.272785],[102.716683,33.272632],[102.71646,33.272326],[102.716237,33.272019],[102.71615,33.2719],[102.716084,33.2717],[102.716055,33.271424],[102.716029,33.271202],[102.716007,33.271014],[102.715961,33.270858],[102.71595,33.270824],[102.715865,33.270634],[102.715722,33.270443],[102.715579,33.270253],[102.715403,33.27011],[102.715227,33.269967],[102.715181,33.269933],[102.714968,33.26977],[102.71483,33.269592],[102.714692,33.269413],[102.714462,33.269201],[102.714231,33.26899],[102.714114,33.268771],[102.713998,33.268552],[102.713931,33.268457],[102.713803,33.268361],[102.713741,33.268261],[102.713739,33.268248],[102.713717,33.268076],[102.713684,33.267766],[102.713677,33.267674],[102.71366,33.26741],[102.713555,33.267005],[102.713455,33.266798],[102.713355,33.266591],[102.713222,33.266443],[102.713046,33.266334],[102.712807,33.266241],[102.712665,33.266187],[102.71228,33.265996],[102.711894,33.265806],[102.711642,33.265634],[102.711494,33.265515],[102.71128,33.265187],[102.711214,33.265092],[102.71119,33.264973],[102.711171,33.264849],[102.711028,33.264649],[102.710909,33.26444],[102.7107,33.264354],[102.710533,33.264259],[102.710428,33.264164],[102.710338,33.26405],[102.710262,33.263974],[102.710133,33.263897],[102.709857,33.26384],[102.70947,33.263733],[102.709082,33.263626],[102.708782,33.263498],[102.708425,33.263257],[102.708068,33.263017],[102.707721,33.262765],[102.707602,33.262608],[102.707421,33.26237],[102.707383,33.262284],[102.707359,33.262118],[102.707349,33.262078],[102.707311,33.261932],[102.707235,33.261832],[102.707069,33.261737],[102.706975,33.261688],[102.706686,33.261539],[102.706398,33.26139],[102.706298,33.261294],[102.706274,33.261223],[102.706272,33.261209],[102.70626,33.261123],[102.706198,33.261014],[102.706074,33.260952],[102.705908,33.260937],[102.7059,33.260938],[102.705636,33.260971],[102.705432,33.260937],[102.705294,33.260876],[102.70507,33.260709],[102.704846,33.260542],[102.704632,33.260447],[102.704342,33.260352],[102.704144,33.260237],[102.704013,33.260162],[102.703785,33.259986],[102.703633,33.259795],[102.703452,33.259434],[102.703361,33.259348],[102.703138,33.259267],[102.702947,33.259196],[102.702729,33.259096],[102.702581,33.258967],[102.702315,33.258748],[102.702048,33.258529],[102.701846,33.258284],[102.701644,33.258039],[102.701501,33.257768],[102.701372,33.25772],[102.701229,33.25773],[102.70112,33.257801],[102.700977,33.257901],[102.700735,33.257977],[102.70071,33.25798],[102.700421,33.258009],[102.700363,33.258015],[102.700225,33.258039],[102.70013,33.258073],[102.70004,33.258149],[102.699887,33.258353],[102.699714,33.258701],[102.69954,33.259048],[102.699335,33.259265],[102.699131,33.259481],[102.698926,33.259614],[102.698769,33.259729],[102.698541,33.259781],[102.698312,33.25981],[102.698208,33.259857],[102.698096,33.260183],[102.697984,33.260509],[102.697872,33.260835],[102.69776,33.261161],[102.697629,33.261572],[102.697497,33.261983],[102.697365,33.262394],[102.69734,33.262465],[102.697212,33.262828],[102.697108,33.263122],[102.69698,33.263369],[102.696885,33.263502],[102.696516,33.263729],[102.696147,33.263955],[102.696071,33.263974],[102.695866,33.26395],[102.695505,33.263888],[102.695152,33.263737],[102.6948,33.263587],[102.694448,33.263436],[102.694086,33.263291],[102.693725,33.263146],[102.693472,33.263086],[102.69322,33.263027],[102.692898,33.262995],[102.692576,33.262963],[102.692254,33.262931],[102.691914,33.262858],[102.691878,33.262851],[102.691721,33.262822],[102.691517,33.262865],[102.691226,33.263036],[102.690967,33.263329],[102.690707,33.263622],[102.690448,33.263915],[102.690188,33.264207],[102.689894,33.264346],[102.689568,33.26433],[102.689242,33.264314],[102.688954,33.264248],[102.688686,33.264124],[102.68846,33.264019],[102.688121,33.263729],[102.687782,33.263439],[102.687444,33.263148],[102.687261,33.262959],[102.687079,33.262771],[102.686897,33.262582],[102.686715,33.262393],[102.686533,33.262204],[102.68635,33.262015],[102.686168,33.261826],[102.685986,33.261637],[102.685804,33.261448],[102.685622,33.26126],[102.685439,33.261071],[102.685257,33.260882],[102.685075,33.260693],[102.684893,33.260504],[102.68471,33.260315],[102.684528,33.260126],[102.684415,33.260009],[102.684379,33.259972],[102.684346,33.259937],[102.684164,33.259748],[102.684042,33.259622],[102.683982,33.25956],[102.683911,33.259486],[102.683799,33.259371],[102.68353,33.259111],[102.683261,33.258852],[102.682992,33.258592],[102.68278,33.258366],[102.682569,33.258139],[102.682418,33.257913],[102.682267,33.257687],[102.682117,33.257431],[102.681967,33.257174],[102.681814,33.256979],[102.681662,33.256783],[102.681416,33.256525],[102.68117,33.256267],[102.680963,33.256096],[102.680756,33.255925],[102.680549,33.255754],[102.680342,33.255583],[102.68014,33.255455],[102.679938,33.255327],[102.679736,33.255199],[102.679535,33.255071],[102.679333,33.254943],[102.679131,33.254815],[102.678929,33.254687],[102.678727,33.254559],[102.678498,33.254435],[102.678305,33.254331],[102.67827,33.254312],[102.678269,33.254311],[102.678247,33.254299],[102.678179,33.254262],[102.678041,33.254188],[102.677812,33.254064],[102.677584,33.25394],[102.677355,33.253816],[102.677127,33.253693],[102.676969,33.253607],[102.676899,33.253569],[102.676899,33.253569],[102.676898,33.253569],[102.67667,33.253445],[102.676441,33.253321],[102.676242,33.253204],[102.676043,33.253086],[102.675844,33.252969],[102.675645,33.252851],[102.675418,33.252766],[102.675191,33.25268],[102.674759,33.252591],[102.674519,33.252525],[102.67428,33.25246],[102.673872,33.252351],[102.673621,33.252266],[102.67337,33.25218],[102.673119,33.252063],[102.672868,33.251946],[102.67256,33.251739],[102.672322,33.251593],[102.672238,33.251559],[102.672107,33.251507],[102.671939,33.25144],[102.671893,33.251421],[102.671652,33.251367],[102.671412,33.251312],[102.671123,33.251266],[102.670834,33.25122],[102.670497,33.251194],[102.670147,33.251187],[102.669797,33.25118],[102.669674,33.251259],[102.669623,33.251379],[102.669594,33.251562],[102.669601,33.251767],[102.669607,33.251927],[102.66964,33.251985],[102.669816,33.252294],[102.66998,33.252481],[102.670144,33.252667],[102.670304,33.252968],[102.670351,33.253055],[102.670351,33.253056],[102.670351,33.253056],[102.670319,33.253339],[102.670098,33.253497],[102.669829,33.253633],[102.669797,33.253661],[102.669705,33.253741],[102.669671,33.253771],[102.669557,33.25387],[102.669532,33.253892],[102.669502,33.254094],[102.669554,33.254439],[102.669564,33.254499],[102.669644,33.254669],[102.669747,33.254889],[102.669908,33.255195],[102.669962,33.25543],[102.670016,33.255664],[102.670033,33.255949],[102.670025,33.256242],[102.670017,33.256536],[102.669961,33.256819],[102.669877,33.257014],[102.669698,33.257229],[102.669684,33.257246],[102.669627,33.257314],[102.669553,33.257393],[102.669532,33.257407],[102.669481,33.257441],[102.669233,33.25761],[102.668915,33.257767],[102.668524,33.257942],[102.668255,33.258058],[102.668156,33.258158],[102.668129,33.258259],[102.668172,33.258442],[102.668334,33.258729],[102.668373,33.258803],[102.668402,33.258859],[102.668464,33.258977],[102.668477,33.259001],[102.668495,33.259036],[102.668497,33.259042],[102.668529,33.259172],[102.668581,33.259382],[102.668575,33.259686],[102.668525,33.259726],[102.668427,33.259764],[102.668395,33.259769],[102.668268,33.259789],[102.668245,33.259792],[102.668185,33.259801],[102.66799,33.259847],[102.667869,33.259875],[102.667567,33.25987],[102.667495,33.259868],[102.667423,33.259867],[102.667359,33.259866],[102.667224,33.259863],[102.666976,33.259859],[102.666529,33.259851],[102.666388,33.259848],[102.666319,33.259847],[102.666082,33.259842],[102.665719,33.259886],[102.665355,33.25993],[102.665303,33.259939],[102.665101,33.259976],[102.664846,33.260021],[102.66458,33.260046],[102.664313,33.260072],[102.664059,33.260067],[102.663805,33.260063],[102.663384,33.260005],[102.662963,33.259947],[102.66253,33.259867],[102.662098,33.259787],[102.661784,33.259781],[102.661351,33.259753],[102.660965,33.259746],[102.660531,33.259658],[102.660196,33.259549],[102.659861,33.259441],[102.659623,33.259317],[102.659384,33.259194],[102.659146,33.25907],[102.658908,33.258947],[102.65867,33.258823],[102.658431,33.258699],[102.658193,33.258576],[102.657955,33.258452],[102.657658,33.258237],[102.657352,33.257947],[102.657045,33.257657],[102.656809,33.25745],[102.65655,33.257203],[102.656336,33.257077],[102.656003,33.256868],[102.655693,33.25673],[102.655384,33.256592],[102.655169,33.256492],[102.654954,33.256392],[102.654739,33.256291],[102.654524,33.256191],[102.654225,33.256094],[102.653926,33.255997],[102.653661,33.255911],[102.653303,33.255783],[102.652993,33.255655],[102.652635,33.255466],[102.652495,33.255302],[102.652235,33.255113],[102.652045,33.254928],[102.651788,33.254659],[102.651482,33.254349],[102.651285,33.254051],[102.651088,33.253753],[102.650862,33.2534],[102.650636,33.253046],[102.65041,33.252692],[102.650184,33.252338],[102.649918,33.252038],[102.649716,33.251923],[102.649514,33.251808],[102.649154,33.251699],[102.648746,33.25163],[102.648337,33.251562],[102.64817,33.251519],[102.647881,33.251432],[102.647585,33.251244],[102.647288,33.251056],[102.647103,33.250907],[102.646918,33.250758],[102.646733,33.25061],[102.646548,33.250461],[102.646363,33.250312],[102.646178,33.250163],[102.646109,33.250122],[102.645797,33.249933],[102.645462,33.249805],[102.64521,33.249759],[102.644957,33.249714],[102.644729,33.249679],[102.6445,33.249645],[102.644117,33.249516],[102.64371,33.249387],[102.643499,33.249243],[102.643288,33.249099],[102.643077,33.248955],[102.642866,33.248811],[102.642642,33.248656],[102.642419,33.248501],[102.642195,33.248346],[102.641972,33.248192],[102.641748,33.248037],[102.641525,33.247882],[102.641301,33.247727],[102.641078,33.247572],[102.640854,33.247417],[102.640631,33.247263],[102.640407,33.247108],[102.640184,33.246953],[102.63996,33.246798],[102.639737,33.246643],[102.639545,33.246507],[102.639521,33.24649],[102.639304,33.246336],[102.639088,33.246182],[102.638872,33.246029],[102.638655,33.245875],[102.638439,33.245722],[102.638223,33.245568],[102.638007,33.245415],[102.637669,33.245265],[102.637641,33.245252],[102.637344,33.24512],[102.637305,33.245103],[102.637275,33.24509],[102.637194,33.245053],[102.637148,33.245033],[102.636988,33.244962],[102.63691,33.244927],[102.636563,33.244789],[102.636217,33.244651],[102.635792,33.244516],[102.635367,33.244381],[102.634942,33.244247],[102.634516,33.244112],[102.634115,33.243939],[102.633713,33.243767],[102.633311,33.243595],[102.633074,33.243428],[102.632863,33.243201],[102.632841,33.243162],[102.632755,33.24301],[102.632748,33.242996],[102.632734,33.242611],[102.632812,33.242389],[102.632891,33.242168],[102.633048,33.24187],[102.633081,33.241806],[102.633272,33.241445],[102.633376,33.241183],[102.633479,33.240922],[102.633537,33.240579],[102.633572,33.240194],[102.633583,33.240099],[102.633603,33.239931],[102.633634,33.239668],[102.633642,33.239371],[102.633644,33.239304],[102.633614,33.239081],[102.633584,33.238857],[102.633509,33.238637],[102.633469,33.238517],[102.633435,33.238416],[102.63336,33.238195],[102.633286,33.237975],[102.633211,33.237754],[102.633137,33.237533],[102.633027,33.237336],[102.632918,33.237139],[102.632808,33.236942],[102.632699,33.236745],[102.63259,33.236547],[102.63248,33.23635],[102.632371,33.236153],[102.632262,33.235956],[102.63209,33.235598],[102.631919,33.23524],[102.631794,33.234954],[102.631669,33.234669],[102.631578,33.234446],[102.631488,33.234224],[102.631397,33.234002],[102.631306,33.233779],[102.631216,33.233557],[102.631125,33.233335],[102.631034,33.233112],[102.630944,33.23289],[102.630843,33.232635],[102.630742,33.232381],[102.630632,33.231953],[102.630614,33.231694],[102.630638,33.231606],[102.630696,33.23139],[102.630809,33.23119],[102.630923,33.23099],[102.631111,33.23073],[102.631299,33.230469],[102.631454,33.230087],[102.631546,33.229816],[102.631639,33.229544],[102.631674,33.229119],[102.631638,33.228672],[102.631596,33.228418],[102.631555,33.228164],[102.631457,33.227787],[102.631359,33.22741],[102.631274,33.227149],[102.631189,33.226888],[102.631105,33.226627],[102.63102,33.226366],[102.630935,33.226105],[102.630851,33.225844],[102.630766,33.225583],[102.630681,33.225322],[102.630597,33.225061],[102.630512,33.224799],[102.630449,33.22458],[102.630386,33.22436],[102.630323,33.22414],[102.630261,33.22392],[102.630198,33.2237],[102.630135,33.223481],[102.630098,33.223074],[102.630044,33.22283],[102.629991,33.222585],[102.629902,33.2223],[102.629813,33.222015],[102.629591,33.221767],[102.629368,33.22152],[102.629146,33.221253],[102.628923,33.220985],[102.628779,33.220786],[102.628635,33.220586],[102.62849,33.220387],[102.628346,33.220187],[102.628202,33.219988],[102.628057,33.219789],[102.627913,33.219589],[102.627769,33.21939],[102.627625,33.21919],[102.62748,33.218991],[102.627288,33.218624],[102.627095,33.218258],[102.626903,33.217891],[102.626801,33.217666],[102.626698,33.217442],[102.626613,33.217054],[102.626571,33.216821],[102.62653,33.216587],[102.626439,33.216373],[102.626347,33.216159],[102.626185,33.215904],[102.626046,33.215686],[102.625812,33.215418],[102.625554,33.21515],[102.625244,33.214962],[102.625019,33.214836],[102.624793,33.21471],[102.624436,33.21446],[102.62413,33.214231],[102.623979,33.214045],[102.623827,33.21386],[102.623724,33.213634],[102.623621,33.213409],[102.623593,33.213145],[102.623564,33.212881],[102.623646,33.212526],[102.62375,33.212265],[102.623853,33.212003],[102.624077,33.211744],[102.624252,33.211524],[102.624427,33.211304],[102.624583,33.21111],[102.62474,33.210916],[102.624896,33.210721],[102.625052,33.210527],[102.625196,33.210332],[102.62534,33.210137],[102.625484,33.209942],[102.625628,33.209747],[102.625731,33.209545],[102.625821,33.209304],[102.625912,33.209063],[102.625965,33.20876],[102.626018,33.208457],[102.626054,33.208254],[102.626089,33.207871],[102.626097,33.207597],[102.626106,33.207324],[102.626053,33.206988],[102.626001,33.206652],[102.625885,33.20641],[102.625746,33.206163],[102.625631,33.205918],[102.625615,33.205634],[102.625716,33.205473],[102.625951,33.205129],[102.626186,33.204785],[102.626194,33.204773],[102.62646,33.204447],[102.626726,33.204122],[102.626992,33.203796],[102.627284,33.203497],[102.627576,33.203199],[102.627868,33.2029],[102.628159,33.202601],[102.628333,33.202363],[102.628489,33.201979],[102.62855,33.201758],[102.628611,33.201536],[102.628671,33.201314],[102.628732,33.201092],[102.628805,33.200827],[102.628879,33.200563],[102.628952,33.200298],[102.629026,33.200033],[102.629099,33.199769],[102.629173,33.199504],[102.629246,33.199239],[102.62932,33.198975],[102.629332,33.198573],[102.629289,33.19835],[102.629247,33.198127],[102.629162,33.19772],[102.629076,33.197312],[102.628917,33.196934],[102.628758,33.196556],[102.628631,33.196202],[102.628504,33.195848],[102.628377,33.195495],[102.628263,33.195249],[102.628149,33.195004],[102.628047,33.194759],[102.627945,33.194514],[102.627759,33.194185],[102.627573,33.193959],[102.627349,33.193793],[102.627124,33.193626],[102.626811,33.193424],[102.626498,33.193222],[102.626186,33.19302],[102.626057,33.192937],[102.625814,33.192758],[102.625648,33.192613],[102.625416,33.192305],[102.625301,33.19207],[102.625187,33.191835],[102.625121,33.1916],[102.625054,33.191366],[102.624968,33.190989],[102.624882,33.190613],[102.624749,33.190226],[102.624658,33.18999],[102.624567,33.189755],[102.624455,33.189449],[102.624342,33.189142],[102.624146,33.188824],[102.62395,33.188507],[102.623754,33.188148],[102.623558,33.18779],[102.623385,33.187496],[102.623211,33.187201],[102.623049,33.186934],[102.622861,33.186768],[102.622552,33.18656],[102.62222,33.186391],[102.621788,33.186292],[102.621355,33.186192],[102.621098,33.186152],[102.620842,33.186112],[102.620585,33.186071],[102.620328,33.186031],[102.620071,33.18599],[102.619815,33.18595],[102.619558,33.185909],[102.619301,33.185869],[102.619044,33.185829],[102.618788,33.185788],[102.618531,33.185748],[102.618274,33.185707],[102.618017,33.185667],[102.61776,33.185626],[102.617504,33.185586],[102.617247,33.185546],[102.616973,33.185514],[102.616698,33.185482],[102.616424,33.185451],[102.61615,33.185419],[102.615875,33.185388],[102.615601,33.185356],[102.615327,33.185325],[102.615053,33.185293],[102.614778,33.185262],[102.614504,33.18523],[102.61427,33.185192],[102.614195,33.185179],[102.614169,33.185175],[102.614036,33.185153],[102.613803,33.185115],[102.613569,33.185076],[102.613335,33.185038],[102.613101,33.185],[102.612868,33.184961],[102.612634,33.184923],[102.6124,33.184885],[102.612166,33.184846],[102.611933,33.184808],[102.611699,33.18477],[102.611435,33.184704],[102.611171,33.184638],[102.611034,33.184604],[102.610908,33.184572],[102.610644,33.184507],[102.61038,33.184441],[102.610117,33.184375],[102.609882,33.184338],[102.609786,33.184322],[102.6097,33.184308],[102.609648,33.1843],[102.609479,33.184273],[102.609414,33.184263],[102.609179,33.184225],[102.609081,33.184209],[102.609001,33.184196],[102.608945,33.184188],[102.608774,33.18416],[102.608711,33.18415],[102.608477,33.184113],[102.608242,33.184075],[102.608014,33.184054],[102.607968,33.184049],[102.607785,33.184032],[102.607557,33.184011],[102.607376,33.183994],[102.607328,33.183989],[102.6071,33.183968],[102.606871,33.183946],[102.606437,33.183939],[102.606098,33.183973],[102.605735,33.184047],[102.605371,33.184121],[102.605121,33.184197],[102.604872,33.184273],[102.604863,33.184276],[102.604622,33.184349],[102.604373,33.184426],[102.604123,33.184502],[102.604109,33.184506],[102.604085,33.184514],[102.603873,33.184578],[102.603624,33.184654],[102.603374,33.184731],[102.60313,33.184843],[102.602886,33.184954],[102.602641,33.185066],[102.602397,33.185178],[102.602152,33.18529],[102.601908,33.185402],[102.601842,33.185432],[102.601664,33.185514],[102.601419,33.185626],[102.60117,33.185713],[102.600922,33.185801],[102.600531,33.185915],[102.600313,33.185972],[102.600094,33.186029],[102.599744,33.186052],[102.599393,33.186076],[102.598966,33.186108],[102.598539,33.18614],[102.598112,33.186173],[102.597668,33.186168],[102.597224,33.186163],[102.59678,33.186158],[102.596655,33.186157],[102.596348,33.186154],[102.596301,33.186154],[102.595916,33.186151],[102.595688,33.186123],[102.595687,33.186123],[102.595687,33.186123],[102.59555,33.186107],[102.595459,33.186096],[102.595418,33.186091],[102.595231,33.186069],[102.595002,33.186042],[102.594774,33.186015],[102.594545,33.185987],[102.594316,33.18596],[102.594088,33.185933],[102.593835,33.185915],[102.593582,33.185896],[102.593329,33.185878],[102.593076,33.185859],[102.592824,33.185841],[102.592571,33.185822],[102.592341,33.18578],[102.592111,33.185738],[102.591881,33.185696],[102.591651,33.185653],[102.591421,33.185611],[102.591191,33.185569],[102.590961,33.185527],[102.590731,33.185485],[102.59047,33.185421],[102.590209,33.185357],[102.589948,33.185294],[102.589688,33.18523],[102.589427,33.185167],[102.589166,33.185103],[102.588906,33.185039],[102.588645,33.184976],[102.588384,33.184912],[102.588124,33.184848],[102.58801,33.184821],[102.587863,33.184785],[102.587662,33.184736],[102.587602,33.184721],[102.587452,33.184685],[102.587342,33.184658],[102.587081,33.184594],[102.587175,33.184202],[102.58727,33.18381],[102.587269,33.183796],[102.587251,33.1834],[102.587198,33.183066],[102.587115,33.182782],[102.58695,33.182623],[102.586923,33.182597],[102.586922,33.182595],[102.586785,33.182463],[102.58662,33.182303],[102.586456,33.182144],[102.586171,33.181972],[102.585887,33.1818],[102.585586,33.181679],[102.585284,33.181558],[102.584936,33.181449],[102.584588,33.18134],[102.584349,33.181284],[102.58411,33.181228],[102.584043,33.181212],[102.583989,33.1812],[102.583872,33.181172],[102.583633,33.181116],[102.583394,33.18106],[102.583156,33.181004],[102.582917,33.180949],[102.582678,33.180893],[102.582378,33.180747],[102.582373,33.180745],[102.582348,33.180733],[102.582017,33.180573],[102.581701,33.180387],[102.581386,33.180202],[102.581163,33.180005],[102.580939,33.179809],[102.580777,33.179601],[102.580615,33.179393],[102.580561,33.179157],[102.580506,33.178921],[102.580452,33.178684],[102.580398,33.178448],[102.580405,33.178141],[102.580444,33.177861],[102.580541,33.177631],[102.580638,33.17748],[102.58088,33.177242],[102.580919,33.177203],[102.581023,33.177009],[102.581123,33.176823],[102.581326,33.176443],[102.581469,33.176178],[102.581481,33.176155],[102.58153,33.176063],[102.581546,33.175853],[102.581554,33.175744],[102.58156,33.175671],[102.581572,33.175503],[102.581579,33.175424],[102.581583,33.175369],[102.581595,33.175242],[102.5816,33.175181],[102.581622,33.174939],[102.581753,33.174583],[102.581948,33.174227],[102.582134,33.174053],[102.582207,33.173939],[102.582238,33.173889],[102.582459,33.173746],[102.582572,33.17362],[102.582688,33.173403],[102.582664,33.173274],[102.58261,33.173017],[102.582583,33.172928],[102.582507,33.172677],[102.582242,33.172338],[102.582176,33.1722],[102.582069,33.171976],[102.581984,33.171758],[102.581898,33.171539],[102.581808,33.171437],[102.581692,33.171304],[102.581421,33.171171],[102.581086,33.171138],[102.580843,33.171082],[102.580658,33.171055],[102.580449,33.171024],[102.580087,33.170862],[102.579908,33.170705],[102.579733,33.170446],[102.579554,33.170059],[102.579376,33.169672],[102.579256,33.169431],[102.579135,33.169189],[102.579015,33.168948],[102.578894,33.168707],[102.578774,33.168466],[102.578653,33.168224],[102.578448,33.167965],[102.57818,33.167728],[102.577968,33.167648],[102.577756,33.167568],[102.577438,33.167497],[102.577121,33.167426],[102.576755,33.167336],[102.576726,33.167329],[102.576534,33.167282],[102.576332,33.167232],[102.576163,33.167177],[102.576,33.167123],[102.575667,33.167014],[102.575304,33.166905],[102.574941,33.166795],[102.574924,33.166791],[102.57454,33.166683],[102.574155,33.166575],[102.57373,33.166477],[102.573306,33.166378],[102.572897,33.166281],[102.572487,33.166184],[102.572064,33.166073],[102.57164,33.165962],[102.5714,33.165829],[102.57116,33.165697],[102.570921,33.1655],[102.570683,33.165303],[102.57052,33.165121],[102.570358,33.164939],[102.570182,33.164562],[102.570007,33.164185],[102.569832,33.163808],[102.569654,33.163599],[102.569491,33.163443],[102.569328,33.163287],[102.569091,33.163052],[102.568971,33.162985],[102.568957,33.162966],[102.568761,33.162752],[102.568642,33.16252],[102.568386,33.16236],[102.568095,33.162253],[102.567803,33.162276],[102.567473,33.162475],[102.56722,33.162627],[102.567095,33.162717],[102.566923,33.16274],[102.566739,33.162675],[102.566643,33.162449],[102.566582,33.162157],[102.56656,33.16205],[102.56653,33.161747],[102.566352,33.161467],[102.566123,33.161203],[102.565929,33.16098],[102.565784,33.160751],[102.565638,33.160522],[102.565538,33.160194],[102.565437,33.159867],[102.565412,33.159784],[102.565341,33.159683],[102.565263,33.159611],[102.565132,33.159582],[102.564919,33.159593],[102.564811,33.1596],[102.56446,33.159641],[102.564234,33.159611],[102.564074,33.159492],[102.563901,33.159356],[102.563776,33.15926],[102.563663,33.159254],[102.563366,33.159272],[102.56314,33.15935],[102.562908,33.159308],[102.562673,33.159189],[102.562438,33.15907],[102.562075,33.158969],[102.561712,33.158868],[102.561357,33.158746],[102.56114,33.15882],[102.560923,33.158895],[102.560521,33.159091],[102.560242,33.159253],[102.559963,33.159414],[102.559649,33.159715],[102.559463,33.159852],[102.559277,33.15999],[102.559242,33.160013],[102.559043,33.160151],[102.559011,33.160174],[102.558809,33.160313],[102.558532,33.160423],[102.558254,33.160533],[102.557827,33.160601],[102.557477,33.160568],[102.557127,33.160536],[102.556896,33.160504],[102.556679,33.160385],[102.55656,33.160319],[102.55634,33.16026],[102.556013,33.160319],[102.555922,33.160351],[102.555757,33.160408],[102.555531,33.160485],[102.555305,33.160563],[102.555011,33.160674],[102.554717,33.160785],[102.554423,33.160896],[102.554187,33.160986],[102.553848,33.161152],[102.553616,33.161164],[102.553431,33.161099],[102.553211,33.160956],[102.553033,33.160664],[102.552955,33.160441],[102.552878,33.160218],[102.552747,33.160099],[102.552609,33.160041],[102.55242,33.159962],[102.552345,33.159906],[102.552182,33.159784],[102.551926,33.159605],[102.551629,33.159397],[102.551492,33.159189],[102.55132,33.158817],[102.551147,33.158445],[102.550992,33.158083],[102.550927,33.157904],[102.550772,33.15772],[102.550736,33.157565],[102.550593,33.157486],[102.550201,33.15727],[102.549809,33.157053],[102.549613,33.156946],[102.549464,33.156964],[102.549291,33.156845],[102.548928,33.15675],[102.548637,33.156673],[102.548593,33.156656],[102.548256,33.15653],[102.548051,33.156408],[102.547846,33.156286],[102.547542,33.156012],[102.547358,33.155825],[102.547173,33.155638],[102.546878,33.155473],[102.546582,33.155308],[102.546477,33.155227],[102.546251,33.154864],[102.54621,33.154692],[102.546073,33.154507],[102.546002,33.154377],[102.545906,33.15418],[102.545847,33.153948],[102.545834,33.153855],[102.545787,33.153512],[102.54574,33.153169],[102.545752,33.152824],[102.545829,33.152527],[102.545829,33.152417],[102.545829,33.151993],[102.545829,33.151569],[102.545805,33.15142],[102.545696,33.151243],[102.54534,33.151018],[102.544948,33.150856],[102.544624,33.150778],[102.544374,33.150752],[102.544223,33.150736],[102.543946,33.150706],[102.54367,33.150677],[102.543414,33.150629],[102.543301,33.150558],[102.543174,33.150431],[102.543075,33.150332],[102.542849,33.150308],[102.542726,33.150324],[102.542533,33.150349],[102.542233,33.150445],[102.541933,33.15054],[102.541671,33.150546],[102.541377,33.15046],[102.541084,33.150375],[102.54079,33.15029],[102.540416,33.150236],[102.539987,33.150254],[102.539583,33.150314],[102.539268,33.150465],[102.538952,33.150617],[102.538875,33.150666],[102.538562,33.150864],[102.538248,33.151062],[102.537935,33.151259],[102.537656,33.151518],[102.537376,33.151777],[102.537351,33.151829],[102.537215,33.15211],[102.536971,33.152259],[102.536626,33.15239],[102.5365,33.15241],[102.536186,33.152461],[102.535832,33.152717],[102.535478,33.152973],[102.535303,33.153139],[102.535127,33.153306],[102.534954,33.153376],[102.534878,33.153407],[102.534741,33.153413],[102.534574,33.153365],[102.534342,33.153234],[102.534166,33.153212],[102.533994,33.153216],[102.533704,33.153223],[102.533606,33.153207],[102.533491,33.153211],[102.533242,33.153258],[102.532992,33.153306],[102.532778,33.153246],[102.53254,33.153145],[102.532236,33.153115],[102.532187,33.153119],[102.531964,33.153136],[102.531921,33.153139],[102.53186,33.153156],[102.531522,33.153246],[102.531195,33.153425],[102.530868,33.153603],[102.530621,33.153779],[102.530374,33.153955],[102.530136,33.154096],[102.529898,33.154236],[102.529897,33.154236],[102.529896,33.154237],[102.529638,33.154324],[102.529381,33.154412],[102.529149,33.154501],[102.528917,33.154589],[102.528662,33.154584],[102.528407,33.154579],[102.52811,33.154523],[102.527814,33.154467],[102.527551,33.154147],[102.527482,33.153881],[102.527413,33.153615],[102.527356,33.15322],[102.527299,33.152826],[102.527212,33.152588],[102.527125,33.15235],[102.526877,33.152031],[102.526764,33.151885],[102.526764,33.151885],[102.526763,33.151884],[102.526361,33.151698],[102.525958,33.151511],[102.525559,33.151403],[102.525159,33.151295],[102.52476,33.151187],[102.52445,33.15109],[102.524141,33.150993],[102.523832,33.150897],[102.523523,33.150786],[102.523215,33.150675],[102.522906,33.150563],[102.522716,33.150352],[102.522527,33.150141],[102.522457,33.149911],[102.522387,33.14968],[102.522402,33.149428],[102.522432,33.14909],[102.522462,33.148753],[102.522492,33.148416],[102.522546,33.148071],[102.522582,33.147785],[102.522617,33.1475],[102.52257,33.147238],[102.522522,33.146976],[102.522445,33.146759],[102.522368,33.146542],[102.522198,33.14626],[102.522028,33.145977],[102.521922,33.145791],[102.521755,33.1455],[102.521588,33.14521],[102.521474,33.144993],[102.521309,33.14468],[102.52113,33.144347],[102.520934,33.144062],[102.520708,33.143913],[102.520342,33.14372],[102.519976,33.143526],[102.519792,33.143306],[102.51972,33.143003],[102.519688,33.14278],[102.519655,33.142557],[102.519697,33.14211],[102.519738,33.141664],[102.51978,33.141218],[102.519756,33.140921],[102.519738,33.14065],[102.51972,33.140378],[102.519628,33.140072],[102.519616,33.140031],[102.519536,33.139765],[102.519278,33.139469],[102.51902,33.139173],[102.518762,33.138877],[102.518428,33.138656],[102.518161,33.138479],[102.517893,33.138301],[102.51748,33.138193],[102.517066,33.138085],[102.516768,33.138017],[102.516469,33.137949],[102.516171,33.137881],[102.516062,33.137847],[102.51606,33.137846],[102.516058,33.137846],[102.515742,33.137718],[102.515425,33.137589],[102.515211,33.137471],[102.514914,33.137195],[102.514616,33.136919],[102.514319,33.136644],[102.514105,33.136352],[102.514004,33.136025],[102.513962,33.135686],[102.513994,33.135377],[102.514026,33.135067],[102.514057,33.134758],[102.514016,33.134356],[102.513974,33.133955],[102.513967,33.133598],[102.51396,33.13324],[102.513956,33.133063],[102.513909,33.132694],[102.513825,33.132414],[102.513647,33.132081],[102.513638,33.132068],[102.513467,33.131822],[102.513296,33.131575],[102.513128,33.13137],[102.512961,33.131164],[102.512774,33.130934],[102.512517,33.130618],[102.512344,33.13035],[102.512172,33.130082],[102.511975,33.129847],[102.511779,33.129612],[102.511603,33.129458],[102.511428,33.129303],[102.511285,33.129],[102.511249,33.12875],[102.511291,33.128339],[102.511398,33.128066],[102.511505,33.127792],[102.511624,33.127572],[102.511725,33.127167],[102.511535,33.126906],[102.511336,33.1267],[102.511136,33.126495],[102.510904,33.126311],[102.510672,33.126126],[102.51039,33.125988],[102.510108,33.12585],[102.509766,33.125682],[102.509423,33.125514],[102.509106,33.125397],[102.508789,33.12528],[102.508471,33.125163],[102.508125,33.125022],[102.507778,33.124881],[102.507431,33.12474],[102.507129,33.124617],[102.506828,33.124494],[102.506526,33.124372],[102.506187,33.124215],[102.505848,33.124058],[102.505509,33.123902],[102.505268,33.123795],[102.505027,33.123687],[102.5047,33.123497],[102.504495,33.123334],[102.50429,33.12317],[102.504052,33.12298],[102.503703,33.122823],[102.503354,33.122666],[102.503005,33.12251],[102.502658,33.122361],[102.502311,33.122212],[102.501964,33.122064],[102.501658,33.121951],[102.501353,33.121838],[102.501252,33.121786],[102.500924,33.121574],[102.500596,33.121363],[102.500267,33.121151],[102.500176,33.121076],[102.499831,33.120791],[102.499486,33.120506],[102.499217,33.120271],[102.49892,33.120013],[102.498622,33.119754],[102.498325,33.119495],[102.498023,33.119332],[102.497722,33.119168],[102.49742,33.119005],[102.497119,33.118841],[102.496763,33.118629],[102.496408,33.118417],[102.496367,33.118384],[102.496163,33.118132],[102.495959,33.117879],[102.495715,33.117543],[102.495556,33.117185],[102.495507,33.116937],[102.495457,33.11669],[102.49546,33.116438],[102.495462,33.116185],[102.495465,33.115933],[102.495467,33.115681],[102.49547,33.115428],[102.495472,33.115176],[102.495511,33.114799],[102.495507,33.114697],[102.495495,33.114396],[102.495459,33.114135],[102.495424,33.113874],[102.495366,33.113448],[102.495308,33.113021],[102.49537,33.112809],[102.495404,33.112597],[102.495556,33.112221],[102.495763,33.11187],[102.495911,33.111613],[102.496002,33.111379],[102.496041,33.111001],[102.496019,33.110811],[102.495996,33.110679],[102.495994,33.110668],[102.495944,33.110455],[102.495767,33.110205],[102.49559,33.109955],[102.495497,33.109728],[102.495404,33.109501],[102.495304,33.109074],[102.495258,33.108695],[102.495271,33.108269],[102.49528,33.107914],[102.495289,33.107608],[102.495325,33.107324],[102.495449,33.106948],[102.495455,33.106711],[102.495376,33.106497],[102.495187,33.106233],[102.494911,33.106038],[102.494578,33.105889],[102.494342,33.105766],[102.494106,33.105644],[102.493787,33.105495],[102.493467,33.105347],[102.493204,33.105188],[102.492942,33.105029],[102.492763,33.104871],[102.492584,33.104714],[102.492338,33.104449],[102.492327,33.104204],[102.492315,33.103958],[102.4923,33.103509],[102.492211,33.103242],[102.492196,33.1032],[102.492093,33.10289],[102.491899,33.102744],[102.491851,33.102722],[102.491622,33.10262],[102.491491,33.102592],[102.491383,33.102569],[102.491259,33.102542],[102.491191,33.102499],[102.49112,33.102454],[102.491065,33.102419],[102.491054,33.102412],[102.490871,33.102297],[102.490655,33.101938],[102.490592,33.1017],[102.490528,33.101462],[102.49051,33.101411],[102.490484,33.10134],[102.490424,33.101177],[102.49018,33.100864],[102.489877,33.100621],[102.489517,33.100425],[102.489302,33.100357],[102.489196,33.100324],[102.489086,33.100289],[102.488875,33.100223],[102.488608,33.100194],[102.488341,33.100165],[102.488232,33.100168],[102.488185,33.10017],[102.488102,33.100172],[102.488087,33.100173],[102.487862,33.100179],[102.487814,33.100203],[102.487785,33.100218],[102.487591,33.100315],[102.487457,33.100383],[102.48732,33.100452],[102.487115,33.100731],[102.486944,33.100964],[102.486909,33.101011],[102.486705,33.101256],[102.486502,33.1015],[102.486273,33.101613],[102.486079,33.101539],[102.486032,33.101437],[102.485974,33.101313],[102.485945,33.101251],[102.485955,33.100897],[102.486053,33.100497],[102.486156,33.100286],[102.486157,33.100285],[102.486158,33.100284],[102.486241,33.100115],[102.48626,33.100075],[102.48632,33.099937],[102.486356,33.099852],[102.486451,33.09963],[102.486547,33.099407],[102.486642,33.099184],[102.486738,33.098961],[102.486834,33.098739],[102.486945,33.098511],[102.487057,33.098284],[102.487169,33.098057],[102.487281,33.09783],[102.487288,33.097592],[102.487212,33.097284],[102.487136,33.096998],[102.487059,33.096713],[102.486952,33.09651],[102.486846,33.096307],[102.486683,33.09609],[102.48652,33.095874],[102.486371,33.095694],[102.486221,33.095513],[102.486034,33.095155],[102.48599,33.094752],[102.485997,33.094492],[102.486004,33.094232],[102.486044,33.09383],[102.486112,33.093405],[102.486189,33.093171],[102.486266,33.092936],[102.486417,33.09256],[102.486569,33.092184],[102.486661,33.091925],[102.486674,33.091501],[102.486593,33.09131],[102.486406,33.090935],[102.486299,33.09072],[102.486193,33.090505],[102.486058,33.09029],[102.485924,33.090074],[102.485803,33.089882],[102.485682,33.08969],[102.485561,33.089464],[102.485518,33.089381],[102.485472,33.089294],[102.485441,33.089237],[102.485391,33.089011],[102.485382,33.08897],[102.485374,33.088931]]]]},"properties":{"cp":[102.6838973693402,33.13732598840634],"code":"513233204","name":"瓦切镇","level":"street","center":[102.6838973693402,33.13732598840634],"fullCode":"513233204000","fullName":"四川省阿坝藏族羌族自治州红原县瓦切镇","acreageMu":1486490.28,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.669,33.2578]}},{"id":"513233205","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.615039,32.961439],[102.615041,32.961423],[102.61506,32.961253],[102.615113,32.960767],[102.615237,32.959638],[102.615775,32.958729],[102.615969,32.958606],[102.616157,32.958487],[102.61641,32.958327],[102.616466,32.958292],[102.616657,32.958171],[102.616683,32.958155],[102.616813,32.958071],[102.616773,32.957989],[102.61714,32.957866],[102.617603,32.957574],[102.61982,32.956263],[102.620567,32.955685],[102.621524,32.954943],[102.622672,32.953755],[102.62291,32.953509],[102.623137,32.953362],[102.623227,32.953304],[102.62369,32.953007],[102.623828,32.952861],[102.623952,32.952768],[102.624102,32.95268],[102.624407,32.952583],[102.624521,32.952567],[102.624575,32.952549],[102.624634,32.95253],[102.624718,32.952503],[102.624784,32.952481],[102.624898,32.952443],[102.624993,32.952412],[102.625048,32.952413],[102.625092,32.952414],[102.625819,32.952428],[102.625966,32.95243],[102.626001,32.952431],[102.62601,32.952431],[102.626055,32.952432],[102.626411,32.952439],[102.626533,32.952441],[102.628126,32.95285],[102.629362,32.95283],[102.629667,32.952825],[102.629867,32.952653],[102.630014,32.952525],[102.630043,32.952501],[102.630072,32.952476],[102.630581,32.952036],[102.630586,32.952031],[102.631193,32.951022],[102.631212,32.950989],[102.631325,32.950801],[102.631305,32.95058],[102.631292,32.950435],[102.631289,32.950407],[102.631281,32.950321],[102.631268,32.950179],[102.631261,32.950096],[102.631253,32.950011],[102.631239,32.949864],[102.631226,32.949717],[102.631147,32.949632],[102.631026,32.949501],[102.630945,32.949414],[102.630797,32.949254],[102.630717,32.949168],[102.630664,32.949111],[102.630559,32.949094],[102.630223,32.94904],[102.630073,32.949016],[102.629896,32.948988],[102.629789,32.94897],[102.629708,32.948958],[102.629671,32.948952],[102.62965,32.948949],[102.629514,32.948927],[102.629305,32.949017],[102.629284,32.949026],[102.629275,32.949029],[102.629149,32.949084],[102.629124,32.949091],[102.629128,32.949072],[102.629128,32.949052],[102.629128,32.94903],[102.629132,32.94902],[102.62915,32.949005],[102.629183,32.948969],[102.629237,32.948921],[102.629284,32.948885],[102.62931,32.948845],[102.629287,32.948833],[102.629242,32.94884],[102.62918,32.948888],[102.629121,32.948941],[102.629036,32.948996],[102.628909,32.949071],[102.628805,32.949141],[102.628718,32.949208],[102.628679,32.949261],[102.628679,32.949286],[102.62867,32.94929],[102.627807,32.949785],[102.627695,32.949759],[102.627607,32.949758],[102.627511,32.949803],[102.627333,32.949871],[102.627195,32.949893],[102.627028,32.949901],[102.626858,32.949902],[102.626711,32.949872],[102.626617,32.949834],[102.626523,32.949756],[102.626241,32.949485],[102.62597,32.949274],[102.625912,32.949199],[102.625857,32.949129],[102.625849,32.949119],[102.625835,32.949102],[102.625803,32.949061],[102.625727,32.948963],[102.625684,32.948907],[102.625731,32.948804],[102.625736,32.948794],[102.625673,32.948727],[102.625545,32.948604],[102.625474,32.948537],[102.625371,32.948488],[102.625351,32.948476],[102.625221,32.948308],[102.624921,32.94792],[102.624661,32.947719],[102.624519,32.94761],[102.624337,32.947469],[102.62409,32.947278],[102.6239,32.947298],[102.623772,32.947322],[102.623654,32.947338],[102.623541,32.947333],[102.623575,32.947311],[102.623661,32.947282],[102.623752,32.947253],[102.623829,32.94723],[102.623969,32.947185],[102.62395,32.94717],[102.623915,32.947143],[102.623865,32.947114],[102.623832,32.947094],[102.623569,32.946939],[102.62325,32.946751],[102.622588,32.94636],[102.622215,32.94592],[102.622203,32.945672],[102.6222,32.945615],[102.622184,32.94527],[102.622188,32.945178],[102.622282,32.945131],[102.622399,32.94504],[102.622461,32.944995],[102.62253,32.944946],[102.622554,32.944902],[102.622627,32.944914],[102.624358,32.944947],[102.624897,32.944973],[102.624921,32.944974],[102.624962,32.944976],[102.625021,32.944979],[102.6252,32.944988],[102.625312,32.944994],[102.625517,32.945004],[102.625704,32.945013],[102.625829,32.945011],[102.625877,32.945011],[102.626547,32.945002],[102.626715,32.944999],[102.626771,32.944999],[102.626956,32.944996],[102.627475,32.944827],[102.627538,32.944807],[102.627781,32.944728],[102.627788,32.944485],[102.627799,32.944073],[102.6278,32.944038],[102.6278,32.94398],[102.627805,32.943247],[102.627806,32.943155],[102.627807,32.942856],[102.627808,32.94282],[102.627809,32.94268],[102.62781,32.942466],[102.62781,32.942438],[102.627811,32.942347],[102.627815,32.941644],[102.627778,32.941492],[102.627763,32.941406],[102.627746,32.941325],[102.627734,32.941265],[102.627706,32.941115],[102.627707,32.941113],[102.627744,32.94106],[102.627748,32.941041],[102.627755,32.941008],[102.627766,32.94096],[102.627786,32.940914],[102.627817,32.940889],[102.627836,32.940881],[102.627841,32.940702],[102.627853,32.940184],[102.627855,32.940176],[102.627857,32.940081],[102.627863,32.93986],[102.627846,32.939758],[102.627841,32.939733],[102.627815,32.93958],[102.627797,32.939471],[102.627788,32.939417],[102.627655,32.938638],[102.627586,32.938556],[102.627572,32.938538],[102.627485,32.938434],[102.62737,32.938296],[102.627091,32.937961],[102.627068,32.937934],[102.627002,32.937855],[102.626862,32.937789],[102.626004,32.937389],[102.625218,32.937134],[102.625103,32.937156],[102.62506,32.937158],[102.624961,32.937152],[102.624854,32.937123],[102.624805,32.937105],[102.624752,32.937074],[102.624729,32.936978],[102.623426,32.93661],[102.623307,32.936597],[102.622872,32.936552],[102.622375,32.936501],[102.62226,32.936489],[102.621987,32.936461],[102.621837,32.936446],[102.620499,32.936311],[102.620468,32.936312],[102.620401,32.936314],[102.620007,32.936327],[102.618958,32.936362],[102.618905,32.936357],[102.617919,32.936263],[102.617902,32.936261],[102.617001,32.935757],[102.616202,32.934903],[102.616183,32.934882],[102.616112,32.934807],[102.616086,32.933994],[102.616977,32.933038],[102.617518,32.933099],[102.617755,32.933125],[102.617769,32.933127],[102.617902,32.933142],[102.618273,32.933184],[102.618315,32.933188],[102.618538,32.933206],[102.618546,32.933207],[102.619521,32.933289],[102.619924,32.933347],[102.620041,32.933364],[102.620127,32.933377],[102.620815,32.933476],[102.621431,32.933512],[102.621677,32.933527],[102.621682,32.933559],[102.621699,32.933675],[102.621698,32.93368],[102.621696,32.93369],[102.621693,32.933708],[102.621769,32.93371],[102.621854,32.933686],[102.621881,32.933675],[102.621992,32.933632],[102.622146,32.933591],[102.622308,32.933513],[102.622452,32.933447],[102.622607,32.933378],[102.622749,32.933313],[102.622869,32.933262],[102.622959,32.933214],[102.623006,32.933178],[102.623085,32.933154],[102.623205,32.933127],[102.623314,32.933071],[102.623394,32.933046],[102.62347,32.932992],[102.623547,32.932913],[102.623691,32.932796],[102.623785,32.932719],[102.623863,32.932619],[102.623915,32.932574],[102.624021,32.932543],[102.624131,32.932516],[102.624212,32.932505],[102.62425,32.932496],[102.624268,32.932451],[102.624296,32.932367],[102.624322,32.932275],[102.62434,32.932118],[102.624352,32.932108],[102.624417,32.932049],[102.624694,32.931801],[102.62483,32.931679],[102.624812,32.931628],[102.624823,32.931597],[102.624853,32.931583],[102.624893,32.931572],[102.624945,32.931545],[102.62497,32.931512],[102.624988,32.931461],[102.624994,32.931421],[102.625017,32.931375],[102.625046,32.931365],[102.625083,32.931365],[102.625159,32.931349],[102.625181,32.931332],[102.625195,32.931307],[102.625206,32.931274],[102.625206,32.931252],[102.625197,32.931232],[102.625169,32.931228],[102.625177,32.931215],[102.625332,32.930966],[102.625345,32.930946],[102.625524,32.93066],[102.625606,32.930529],[102.625621,32.930505],[102.625668,32.93043],[102.625868,32.930111],[102.626012,32.929882],[102.626642,32.929153],[102.626655,32.929138],[102.626676,32.929114],[102.626806,32.928964],[102.627594,32.928481],[102.627833,32.928334],[102.628244,32.927368],[102.62809,32.926724],[102.628072,32.926649],[102.628035,32.926495],[102.627952,32.926149],[102.627941,32.926104],[102.627842,32.925932],[102.627826,32.925905],[102.627822,32.925898],[102.627717,32.925716],[102.627565,32.925452],[102.627544,32.925416],[102.627509,32.925355],[102.627443,32.925242],[102.62737,32.925116],[102.62724,32.924891],[102.627204,32.924827],[102.627159,32.92475],[102.627123,32.924718],[102.626866,32.924491],[102.626683,32.92433],[102.626609,32.924265],[102.626462,32.924135],[102.626306,32.923997],[102.626219,32.92392],[102.626133,32.923866],[102.625869,32.923702],[102.625858,32.923709],[102.625821,32.923754],[102.625802,32.923772],[102.625774,32.923775],[102.625746,32.923751],[102.625732,32.923722],[102.625703,32.92369],[102.625661,32.923676],[102.625633,32.923653],[102.625586,32.923629],[102.62553,32.923609],[102.625475,32.923596],[102.625424,32.923582],[102.625375,32.923548],[102.625368,32.923522],[102.625361,32.923485],[102.625316,32.923467],[102.625238,32.923459],[102.625196,32.923452],[102.625141,32.923431],[102.625101,32.923415],[102.625048,32.923421],[102.624994,32.923441],[102.624965,32.923437],[102.624953,32.923416],[102.624956,32.923393],[102.624992,32.923371],[102.625042,32.923351],[102.625088,32.923338],[102.625125,32.923322],[102.625135,32.923302],[102.625123,32.923279],[102.625064,32.923265],[102.624911,32.923211],[102.624853,32.923176],[102.62479,32.923129],[102.624716,32.923072],[102.624547,32.922905],[102.624522,32.922893],[102.62437,32.922788],[102.624427,32.922741],[102.624406,32.922721],[102.624385,32.922701],[102.62438,32.922696],[102.62423,32.922553],[102.62413,32.922457],[102.623484,32.921839],[102.622876,32.921123],[102.622695,32.920909],[102.6226,32.920797],[102.622552,32.92074],[102.622518,32.920701],[102.622504,32.920684],[102.622472,32.920638],[102.622378,32.920501],[102.622343,32.92045],[102.622252,32.920318],[102.622187,32.920224],[102.622164,32.92019],[102.622167,32.919965],[102.622119,32.919923],[102.62206,32.91986],[102.622022,32.919816],[102.622121,32.919364],[102.622252,32.918768],[102.622264,32.91871],[102.622268,32.918691],[102.622344,32.918642],[102.622456,32.91857],[102.622537,32.918518],[102.622575,32.918494],[102.622727,32.918396],[102.623325,32.91801],[102.624304,32.91738],[102.624471,32.917272],[102.624972,32.916551],[102.625006,32.916494],[102.625056,32.91641],[102.625147,32.916259],[102.625475,32.915709],[102.626131,32.914873],[102.62621,32.914864],[102.626231,32.91482],[102.626316,32.914762],[102.626331,32.914751],[102.626464,32.914602],[102.62657,32.914466],[102.626826,32.914228],[102.627014,32.914039],[102.627174,32.913921],[102.627188,32.913927],[102.627293,32.913989],[102.6273,32.913985],[102.62732,32.913971],[102.627406,32.913915],[102.627409,32.913899],[102.627408,32.913845],[102.627407,32.913819],[102.627407,32.913805],[102.627403,32.913797],[102.627386,32.913787],[102.627359,32.913775],[102.627343,32.913764],[102.627329,32.913749],[102.627312,32.913727],[102.627311,32.913725],[102.627301,32.913705],[102.627296,32.913693],[102.627294,32.913681],[102.627293,32.913665],[102.627293,32.913637],[102.627372,32.913652],[102.627486,32.913682],[102.627566,32.913712],[102.627622,32.913737],[102.627673,32.913766],[102.627717,32.913797],[102.627757,32.913764],[102.627804,32.913724],[102.627857,32.913679],[102.627826,32.913638],[102.627938,32.913564],[102.628346,32.913364],[102.628357,32.913358],[102.628468,32.913304],[102.628729,32.913174],[102.629248,32.912921],[102.629346,32.912872],[102.629352,32.912869],[102.629619,32.912738],[102.630083,32.91251],[102.630222,32.912471],[102.630646,32.912353],[102.63074,32.912327],[102.63089,32.912285],[102.63096,32.912265],[102.631066,32.912236],[102.631528,32.912107],[102.631709,32.912057],[102.632098,32.911948],[102.632122,32.911942],[102.632265,32.911902],[102.632352,32.911849],[102.632554,32.911727],[102.63295,32.911488],[102.633064,32.911482],[102.633099,32.911405],[102.633161,32.911223],[102.633158,32.911157],[102.633459,32.910423],[102.633451,32.909577],[102.633448,32.909315],[102.633446,32.909084],[102.633672,32.908455],[102.633697,32.908384],[102.633706,32.908358],[102.633669,32.908378],[102.633673,32.90837],[102.63376,32.908214],[102.633982,32.908013],[102.634106,32.907965],[102.634151,32.907921],[102.634259,32.907906],[102.634405,32.907885],[102.634408,32.907894],[102.634425,32.907924],[102.63444,32.907938],[102.63451,32.907935],[102.634578,32.90792],[102.634622,32.90792],[102.634669,32.907916],[102.634725,32.907908],[102.634773,32.907902],[102.63481,32.907899],[102.634866,32.90789],[102.634881,32.90788],[102.634845,32.907863],[102.634825,32.907857],[102.634803,32.907842],[102.6348,32.907831],[102.634893,32.907818],[102.634924,32.907813],[102.635186,32.907955],[102.635295,32.908014],[102.635437,32.90806],[102.635548,32.908071],[102.635648,32.908099],[102.635734,32.908135],[102.635777,32.908162],[102.635831,32.908216],[102.635759,32.908208],[102.635631,32.908196],[102.636014,32.908402],[102.636056,32.908415],[102.636157,32.908447],[102.636298,32.908491],[102.636569,32.908575],[102.636573,32.908576],[102.637189,32.908768],[102.637197,32.90877],[102.6372,32.908772],[102.637379,32.908827],[102.637467,32.908792],[102.637512,32.908781],[102.637542,32.908784],[102.637562,32.908815],[102.637562,32.90884],[102.637544,32.908877],[102.63776,32.908864],[102.637774,32.908863],[102.638553,32.908816],[102.638689,32.908634],[102.638712,32.908603],[102.638719,32.908595],[102.638775,32.908519],[102.63883,32.908446],[102.638818,32.908252],[102.638808,32.908094],[102.638816,32.907979],[102.638854,32.907902],[102.638858,32.907849],[102.638857,32.907807],[102.638875,32.907784],[102.638899,32.907758],[102.638926,32.907731],[102.638949,32.907703],[102.638974,32.907675],[102.638991,32.907659],[102.638979,32.90757],[102.638977,32.90756],[102.638906,32.907058],[102.638899,32.907013],[102.638848,32.906654],[102.638847,32.906642],[102.638846,32.906641],[102.63881,32.906386],[102.638776,32.906093],[102.638742,32.905803],[102.638736,32.905752],[102.638736,32.90575],[102.638653,32.905044],[102.638717,32.904836],[102.63872,32.904826],[102.638729,32.904799],[102.638725,32.904683],[102.638813,32.904022],[102.638917,32.903767],[102.639114,32.903378],[102.639166,32.903117],[102.639282,32.902909],[102.639399,32.90291],[102.639537,32.902585],[102.639571,32.902558],[102.639772,32.902395],[102.63978,32.902389],[102.640913,32.901475],[102.641605,32.901035],[102.64163,32.901019],[102.641649,32.901007],[102.641843,32.900884],[102.642057,32.900824],[102.642078,32.900818],[102.642113,32.900808],[102.6432,32.900504],[102.643417,32.900587],[102.643604,32.900659],[102.643616,32.900664],[102.643849,32.900753],[102.643867,32.90076],[102.644057,32.900946],[102.644144,32.901032],[102.644163,32.901051],[102.644176,32.901064],[102.644289,32.901174],[102.644939,32.902038],[102.645604,32.902375],[102.646228,32.902343],[102.646439,32.902333],[102.64648,32.90233],[102.64676,32.902316],[102.647604,32.901963],[102.64764,32.901948],[102.647781,32.901889],[102.647921,32.901721],[102.647949,32.901687],[102.647956,32.901679],[102.647988,32.90164],[102.648278,32.90129],[102.648493,32.900872],[102.64858,32.900704],[102.648589,32.900687],[102.648685,32.900502],[102.648717,32.900438],[102.648734,32.900406],[102.648746,32.900349],[102.64878,32.900186],[102.648955,32.899355],[102.648741,32.898383],[102.64874,32.898377],[102.648705,32.898318],[102.648697,32.898305],[102.648722,32.898283],[102.648726,32.898265],[102.648715,32.89824],[102.64869,32.898216],[102.648662,32.898199],[102.64862,32.898176],[102.648604,32.89815],[102.648575,32.8981],[102.648468,32.897922],[102.648421,32.897844],[102.648415,32.897833],[102.648333,32.897805],[102.648051,32.897713],[102.647969,32.897665],[102.64793,32.897624],[102.64786,32.897547],[102.647846,32.897512],[102.647823,32.897475],[102.647788,32.897445],[102.647752,32.897419],[102.647728,32.897394],[102.647717,32.897316],[102.647714,32.897294],[102.647879,32.896904],[102.647916,32.896819],[102.648151,32.89655],[102.648187,32.896508],[102.648212,32.89648],[102.64829,32.896338],[102.648418,32.896141],[102.648588,32.895963],[102.648795,32.895776],[102.649038,32.895568],[102.64909,32.895525],[102.649158,32.895495],[102.649227,32.895473],[102.649337,32.895435],[102.649552,32.895349],[102.649682,32.895287],[102.649687,32.895212],[102.649741,32.895177],[102.650277,32.894835],[102.650313,32.894808],[102.651363,32.894026],[102.651553,32.893885],[102.652916,32.893261],[102.65373,32.893353],[102.653779,32.893359],[102.654404,32.893727],[102.654774,32.893945],[102.654798,32.893966],[102.654896,32.894049],[102.654965,32.894054],[102.655054,32.894067],[102.655118,32.894094],[102.655163,32.894122],[102.655207,32.894169],[102.655241,32.89421],[102.655286,32.894246],[102.655358,32.894329],[102.655407,32.894417],[102.655436,32.894503],[102.655666,32.894697],[102.655688,32.894715],[102.655809,32.894817],[102.656172,32.895635],[102.65702,32.896301],[102.657266,32.89632],[102.657312,32.896324],[102.657283,32.896342],[102.657314,32.896348],[102.657345,32.896369],[102.657355,32.896381],[102.657375,32.896389],[102.657405,32.896396],[102.657512,32.896339],[102.657554,32.89631],[102.657595,32.896269],[102.657647,32.896223],[102.65768,32.896189],[102.657707,32.89615],[102.657719,32.896123],[102.657734,32.896075],[102.657742,32.896022],[102.657748,32.895951],[102.65776,32.895902],[102.657775,32.895842],[102.657791,32.89579],[102.657799,32.895756],[102.657788,32.895639],[102.657788,32.895596],[102.657781,32.895561],[102.657774,32.895521],[102.657763,32.89547],[102.657763,32.89542],[102.657769,32.895364],[102.657779,32.895304],[102.657807,32.895215],[102.657831,32.895167],[102.657837,32.895136],[102.657844,32.895084],[102.657853,32.895028],[102.657877,32.894944],[102.657896,32.894884],[102.657916,32.894839],[102.65794,32.894795],[102.657951,32.894777],[102.65794,32.894737],[102.657903,32.8946],[102.65772,32.893918],[102.657717,32.893906],[102.657666,32.893716],[102.657708,32.893378],[102.657727,32.89323],[102.658175,32.893014],[102.658214,32.892995],[102.659423,32.892734],[102.659453,32.892706],[102.660163,32.892018],[102.660845,32.891706],[102.661289,32.891693],[102.661711,32.891681],[102.662236,32.891849],[102.662522,32.89194],[102.662943,32.892394],[102.663252,32.89328],[102.663256,32.893293],[102.663256,32.893314],[102.663254,32.893365],[102.663282,32.893498],[102.663286,32.893564],[102.663283,32.89368],[102.663284,32.893795],[102.663309,32.893941],[102.663343,32.893988],[102.663323,32.89421],[102.66337,32.89451],[102.663371,32.89486],[102.663359,32.895057],[102.663396,32.895284],[102.663669,32.895898],[102.664223,32.89676],[102.664933,32.89722],[102.664967,32.897222],[102.664991,32.897223],[102.665116,32.897231],[102.665347,32.897244],[102.665707,32.897265],[102.665743,32.897268],[102.665941,32.897279],[102.666727,32.896685],[102.668332,32.895985],[102.668715,32.895839],[102.668775,32.895816],[102.668799,32.895807],[102.669116,32.895686],[102.669132,32.89568],[102.669277,32.895625],[102.66945,32.895559],[102.66958,32.895536],[102.66962,32.895528],[102.669704,32.895513],[102.670465,32.895375],[102.67052,32.895342],[102.670569,32.895312],[102.670716,32.895224],[102.671247,32.894903],[102.671862,32.894594],[102.671904,32.894503],[102.67193,32.894503],[102.671994,32.894497],[102.672181,32.894434],[102.672417,32.894316],[102.672699,32.894213],[102.673208,32.894028],[102.673582,32.893891],[102.673727,32.893784],[102.673732,32.89378],[102.673905,32.893652],[102.673934,32.893631],[102.67406,32.893538],[102.674171,32.893456],[102.674267,32.893385],[102.674244,32.893347],[102.674224,32.89325],[102.674259,32.893207],[102.674391,32.893184],[102.674546,32.89318],[102.67471,32.89306],[102.674932,32.893105],[102.674934,32.893105],[102.675121,32.893143],[102.675156,32.89315],[102.675214,32.893161],[102.67538,32.893194],[102.67542,32.893233],[102.675437,32.893248],[102.6766,32.894353],[102.67769,32.89476],[102.677699,32.894764],[102.677744,32.89478],[102.677992,32.89485],[102.678985,32.895128],[102.679132,32.895223],[102.67922,32.895247],[102.679411,32.895317],[102.679629,32.895423],[102.679745,32.895517],[102.679779,32.895555],[102.679814,32.895643],[102.67982,32.895665],[102.680026,32.895797],[102.680198,32.895948],[102.680475,32.896192],[102.68052,32.896233],[102.681483,32.897082],[102.682138,32.897476],[102.682161,32.89749],[102.682273,32.897558],[102.682409,32.89764],[102.682525,32.89771],[102.682605,32.89778],[102.682616,32.89779],[102.683137,32.898249],[102.683128,32.898592],[102.683182,32.898554],[102.683219,32.89852],[102.683253,32.898474],[102.683266,32.898424],[102.683302,32.898416],[102.683301,32.898442],[102.683301,32.89855],[102.683286,32.898632],[102.683259,32.898671],[102.683163,32.898703],[102.683124,32.898712],[102.683121,32.898865],[102.683117,32.898998],[102.683116,32.899033],[102.683115,32.89906],[102.683071,32.899073],[102.683051,32.899082],[102.683031,32.899093],[102.683013,32.899108],[102.682987,32.89914],[102.682675,32.899336],[102.682595,32.899352],[102.682578,32.899356],[102.682538,32.899364],[102.68195,32.899485],[102.681367,32.899717],[102.68106,32.9],[102.680776,32.900262],[102.680677,32.900354],[102.680458,32.900829],[102.680429,32.90089],[102.680419,32.900913],[102.680306,32.901158],[102.680333,32.90119],[102.680348,32.901209],[102.680387,32.901265],[102.680397,32.901294],[102.680399,32.901325],[102.680397,32.90136],[102.68039,32.9014],[102.680548,32.901609],[102.681053,32.901841],[102.681107,32.901866],[102.681351,32.901978],[102.681595,32.90209],[102.682116,32.902328],[102.683152,32.9032],[102.683054,32.903717],[102.683052,32.903728],[102.682995,32.904034],[102.682939,32.904074],[102.682898,32.904094],[102.68285,32.904113],[102.682817,32.904128],[102.682796,32.904149],[102.68277,32.904196],[102.682647,32.904257],[102.682643,32.904259],[102.681571,32.904794],[102.681325,32.905214],[102.681288,32.905277],[102.681218,32.905396],[102.681343,32.906169],[102.68191,32.906545],[102.682449,32.906578],[102.682606,32.906587],[102.682777,32.906597],[102.682784,32.906598],[102.682832,32.906601],[102.682871,32.906603],[102.683042,32.906606],[102.683315,32.906611],[102.683784,32.90662],[102.683806,32.906623],[102.684065,32.906654],[102.684176,32.906668],[102.684588,32.906717],[102.684669,32.906727],[102.685024,32.90677],[102.685174,32.906788],[102.685367,32.906812],[102.685487,32.906818],[102.68578,32.906834],[102.685877,32.906839],[102.686487,32.906872],[102.68652,32.906874],[102.686622,32.906833],[102.686633,32.906829],[102.686929,32.90671],[102.686953,32.906701],[102.687006,32.90668],[102.688349,32.906826],[102.688397,32.906859],[102.688524,32.906942],[102.689484,32.907578],[102.689666,32.907732],[102.689737,32.907793],[102.689756,32.907809],[102.690044,32.908054],[102.690057,32.908066],[102.690442,32.908393],[102.690785,32.908684],[102.690849,32.908739],[102.691092,32.908822],[102.691436,32.908938],[102.691508,32.908962],[102.691524,32.908967],[102.691541,32.908973],[102.691632,32.909004],[102.691648,32.909009],[102.692375,32.909255],[102.694242,32.909614],[102.695183,32.90955],[102.69524,32.909546],[102.696122,32.909486],[102.697161,32.909169],[102.697536,32.909054],[102.697544,32.909051],[102.697625,32.909027],[102.697734,32.908993],[102.69829,32.90882],[102.698352,32.908801],[102.698446,32.908772],[102.698983,32.908605],[102.700235,32.908392],[102.700258,32.908388],[102.700469,32.908352],[102.700916,32.908276],[102.701927,32.907981],[102.702094,32.907932],[102.702106,32.907929],[102.702224,32.907894],[102.702512,32.907857],[102.703616,32.907717],[102.703656,32.907712],[102.703674,32.90771],[102.703898,32.907681],[102.704457,32.90761],[102.704478,32.907608],[102.704734,32.907575],[102.704856,32.907609],[102.70505,32.907662],[102.705442,32.907771],[102.705574,32.907808],[102.705833,32.907879],[102.705886,32.907918],[102.705893,32.907924],[102.706339,32.908251],[102.706367,32.908272],[102.706412,32.908304],[102.706683,32.908504],[102.707575,32.908692],[102.707646,32.908707],[102.707735,32.908726],[102.708094,32.908687],[102.708159,32.90868],[102.708216,32.908674],[102.708361,32.908658],[102.7087,32.908622],[102.709571,32.908435],[102.710292,32.908524],[102.710722,32.908578],[102.710755,32.908581],[102.710802,32.908622],[102.710956,32.908706],[102.71108,32.908821],[102.711279,32.908959],[102.711516,32.909092],[102.711733,32.909211],[102.711933,32.909306],[102.712116,32.909376],[102.712227,32.909408],[102.712252,32.909414],[102.712418,32.909461],[102.712609,32.909589],[102.712665,32.909666],[102.712776,32.909808],[102.712907,32.910053],[102.713413,32.910575],[102.713932,32.910911],[102.714123,32.911034],[102.714274,32.911047],[102.714299,32.911049],[102.714365,32.911054],[102.714747,32.911086],[102.71487,32.911103],[102.714956,32.911162],[102.715039,32.911186],[102.715117,32.911207],[102.715182,32.911236],[102.715254,32.911274],[102.715321,32.911309],[102.715372,32.911327],[102.715443,32.911336],[102.715582,32.911339],[102.715599,32.911339],[102.716182,32.911853],[102.716183,32.911854],[102.716218,32.911884],[102.716229,32.911912],[102.71643,32.912388],[102.716465,32.91247],[102.71658,32.912743],[102.71758,32.913167],[102.718304,32.913058],[102.71978,32.912873],[102.719994,32.912846],[102.720509,32.912563],[102.720696,32.91246],[102.721067,32.912257],[102.722416,32.911998],[102.722522,32.911978],[102.722528,32.911977],[102.722541,32.911974],[102.722608,32.911961],[102.722614,32.91196],[102.722804,32.912009],[102.722942,32.912045],[102.72308,32.91208],[102.723202,32.912112],[102.723754,32.912254],[102.72387,32.912284],[102.724068,32.912336],[102.724086,32.91234],[102.724443,32.912432],[102.724455,32.912436],[102.724466,32.912438],[102.724754,32.912513],[102.724813,32.912528],[102.724963,32.912605],[102.72498,32.912613],[102.724997,32.912622],[102.726047,32.913159],[102.726388,32.913223],[102.726459,32.913236],[102.726484,32.913241],[102.726503,32.913245],[102.726707,32.913283],[102.726669,32.913316],[102.726672,32.913328],[102.726683,32.913328],[102.726769,32.913295],[102.727005,32.913339],[102.727323,32.913157],[102.727329,32.913152],[102.727385,32.913042],[102.727519,32.912918],[102.727617,32.912821],[102.727718,32.912715],[102.7278,32.912634],[102.72786,32.9126],[102.727891,32.912583],[102.728089,32.912489],[102.728131,32.912471],[102.728178,32.912451],[102.728273,32.91241],[102.728318,32.91239],[102.728723,32.912359],[102.728853,32.912364],[102.728923,32.912373],[102.728956,32.912386],[102.729003,32.912416],[102.729104,32.912447],[102.729271,32.91247],[102.729416,32.912485],[102.729546,32.912448],[102.729624,32.912485],[102.72991,32.912621],[102.730192,32.913232],[102.730268,32.913397],[102.730317,32.913503],[102.730318,32.913505],[102.730393,32.913668],[102.730416,32.913718],[102.730457,32.913807],[102.730451,32.914056],[102.73045,32.914098],[102.730431,32.914821],[102.730604,32.915148],[102.730611,32.915197],[102.730646,32.915269],[102.730666,32.915328],[102.730692,32.915396],[102.73071,32.915442],[102.730742,32.915484],[102.730774,32.915564],[102.730825,32.915564],[102.730844,32.9156],[102.7311,32.915744],[102.731291,32.915851],[102.732131,32.916324],[102.732409,32.916481],[102.732834,32.917172],[102.732956,32.917371],[102.733084,32.91758],[102.733241,32.917835],[102.733385,32.91797],[102.733601,32.918174],[102.733813,32.918373],[102.733821,32.918381],[102.733962,32.918514],[102.734196,32.918751],[102.734407,32.918941],[102.734604,32.919118],[102.734786,32.919267],[102.734929,32.919384],[102.735104,32.919528],[102.735408,32.919777],[102.735575,32.919913],[102.735707,32.920021],[102.735922,32.920198],[102.736177,32.920407],[102.736439,32.920621],[102.73663,32.920778],[102.736807,32.920895],[102.736945,32.920987],[102.737116,32.921101],[102.737241,32.921184],[102.737408,32.921296],[102.737582,32.921412],[102.737763,32.921532],[102.737933,32.921646],[102.738081,32.921744],[102.73822,32.921837],[102.738326,32.921907],[102.738424,32.921973],[102.738578,32.922075],[102.738677,32.922141],[102.738759,32.922196],[102.738913,32.922291],[102.739069,32.922388],[102.73921,32.922475],[102.739349,32.922569],[102.739501,32.92266],[102.739661,32.922755],[102.739811,32.922848],[102.739923,32.922917],[102.740037,32.922988],[102.740175,32.923074],[102.740282,32.92314],[102.740368,32.923194],[102.74047,32.923257],[102.740621,32.923268],[102.740795,32.923289],[102.740974,32.92334],[102.74112,32.923392],[102.741241,32.923447],[102.74136,32.923474],[102.742381,32.923703],[102.742473,32.923724],[102.742664,32.923748],[102.742859,32.923772],[102.742902,32.923777],[102.742914,32.923778],[102.742972,32.923786],[102.743241,32.923819],[102.74332,32.923671],[102.743392,32.923538],[102.743306,32.923128],[102.743254,32.923076],[102.743238,32.923032],[102.74322,32.922971],[102.743208,32.92291],[102.743198,32.922843],[102.743198,32.922799],[102.743221,32.922724],[102.743266,32.922591],[102.743284,32.92251],[102.743288,32.922482],[102.743265,32.922461],[102.743185,32.922477],[102.743209,32.92233],[102.743253,32.922069],[102.743256,32.922054],[102.74328,32.921913],[102.743304,32.921767],[102.743312,32.921719],[102.74334,32.921553],[102.743591,32.921428],[102.743748,32.92135],[102.74378,32.921278],[102.743816,32.921258],[102.743884,32.921212],[102.744126,32.921157],[102.744397,32.92113],[102.744411,32.921129],[102.744895,32.921081],[102.744916,32.92106],[102.744943,32.921059],[102.744962,32.921075],[102.745525,32.92102],[102.746005,32.921121],[102.746019,32.921124],[102.746121,32.921145],[102.746329,32.921189],[102.746567,32.921239],[102.746578,32.921241],[102.747119,32.921684],[102.747138,32.9217],[102.747181,32.921783],[102.747305,32.922024],[102.747367,32.922131],[102.747411,32.922251],[102.747439,32.922325],[102.747439,32.922335],[102.747441,32.92239],[102.748182,32.922896],[102.748981,32.923567],[102.749043,32.92362],[102.749067,32.92364],[102.749539,32.923916],[102.75014,32.924268],[102.750821,32.924666],[102.750897,32.92471],[102.752718,32.925775],[102.753762,32.926362],[102.754013,32.926339],[102.754486,32.926294],[102.755005,32.926005],[102.75512,32.92594],[102.755324,32.925675],[102.755343,32.92565],[102.755767,32.9251],[102.755851,32.925049],[102.75694,32.92439],[102.757962,32.923922],[102.759033,32.923413],[102.760483,32.923155],[102.76197,32.923076],[102.763326,32.923003],[102.763664,32.922917],[102.763759,32.922893],[102.763859,32.922868],[102.765263,32.922511],[102.768211,32.921995],[102.768917,32.921832],[102.769064,32.921799],[102.770498,32.921468],[102.770824,32.921393],[102.771647,32.921183],[102.772644,32.92093],[102.772761,32.9209],[102.774166,32.920519],[102.774659,32.920528],[102.775261,32.920538],[102.775272,32.920539],[102.775292,32.920549],[102.775406,32.92053],[102.775565,32.920533],[102.775685,32.920557],[102.775724,32.920578],[102.775837,32.920637],[102.775953,32.920716],[102.77599,32.920763],[102.776038,32.920889],[102.776038,32.920923],[102.776003,32.920942],[102.776782,32.921742],[102.777396,32.9222],[102.778451,32.92234],[102.779793,32.922567],[102.780707,32.922543],[102.780821,32.922521],[102.780877,32.92251],[102.781004,32.922486],[102.781198,32.922448],[102.781227,32.922443],[102.781286,32.922431],[102.781674,32.922357],[102.781909,32.922218],[102.781916,32.922214],[102.782113,32.922097],[102.782407,32.921923],[102.783091,32.921058],[102.783102,32.921043],[102.783114,32.921025],[102.783167,32.92094],[102.783366,32.92062],[102.783454,32.920564],[102.783543,32.920473],[102.783617,32.920393],[102.783675,32.920321],[102.78412,32.920115],[102.784185,32.920084],[102.78422,32.920068],[102.784388,32.919977],[102.784709,32.919681],[102.785332,32.919338],[102.785571,32.919205],[102.785616,32.919177],[102.785818,32.919049],[102.785914,32.918988],[102.786003,32.918932],[102.786149,32.918839],[102.786208,32.918801],[102.786525,32.918546],[102.786551,32.918524],[102.78661,32.918476],[102.786756,32.918358],[102.787174,32.918127],[102.78726,32.918079],[102.787287,32.918051],[102.787318,32.917956],[102.787394,32.917881],[102.787617,32.917841],[102.787644,32.917837],[102.787859,32.917819],[102.787935,32.917821],[102.788048,32.917806],[102.788186,32.917746],[102.788313,32.917692],[102.788329,32.917688],[102.788463,32.917656],[102.788542,32.91766],[102.788644,32.917719],[102.788656,32.91774],[102.78886,32.917735],[102.789098,32.91773],[102.789228,32.917726],[102.789246,32.917726],[102.789323,32.917724],[102.789727,32.917693],[102.790093,32.91736],[102.790161,32.917035],[102.790185,32.91692],[102.790195,32.916871],[102.790195,32.916856],[102.790184,32.916358],[102.790176,32.915935],[102.790175,32.915889],[102.790168,32.915826],[102.790066,32.914868],[102.790069,32.914745],[102.790084,32.91414],[102.79009,32.913887],[102.790291,32.913022],[102.790959,32.912533],[102.791086,32.91244],[102.791095,32.912434],[102.791248,32.912322],[102.791313,32.912243],[102.791388,32.912299],[102.791459,32.912257],[102.791503,32.91218],[102.791515,32.912118],[102.791531,32.912086],[102.791561,32.912038],[102.791593,32.911993],[102.79161,32.911953],[102.791637,32.911851],[102.791772,32.911688],[102.791795,32.91166],[102.792171,32.911206],[102.79235,32.910484],[102.792381,32.91036],[102.792427,32.910174],[102.79243,32.91016],[102.792448,32.91009],[102.792451,32.910076],[102.792469,32.910003],[102.792499,32.909857],[102.792674,32.908987],[102.792659,32.908868],[102.792589,32.908296],[102.792588,32.908293],[102.792562,32.908079],[102.79258,32.907362],[102.792598,32.906607],[102.792311,32.905583],[102.792201,32.904599],[102.792147,32.904164],[102.79194,32.902481],[102.791918,32.901574],[102.791897,32.90063],[102.792016,32.899424],[102.792136,32.898708],[102.792174,32.898483],[102.792529,32.897642],[102.792982,32.896572],[102.793136,32.895782],[102.793334,32.894993],[102.793577,32.894242],[102.794106,32.892741],[102.794852,32.891546],[102.795242,32.890232],[102.795807,32.887297],[102.796124,32.88534],[102.795936,32.884076],[102.795932,32.884053],[102.795721,32.883558],[102.794845,32.882788],[102.794064,32.88183],[102.792755,32.880486],[102.792195,32.879607],[102.792015,32.87783],[102.791732,32.876617],[102.791887,32.875789],[102.791954,32.874884],[102.791453,32.873441],[102.790717,32.872446],[102.790649,32.871614],[102.790525,32.871394],[102.789877,32.870242],[102.78952,32.869795],[102.789357,32.869591],[102.788486,32.868632],[102.787961,32.868131],[102.787511,32.86784],[102.787497,32.867831],[102.787411,32.867776],[102.787402,32.86777],[102.787301,32.867705],[102.786635,32.867461],[102.78658,32.867441],[102.786548,32.867429],[102.786326,32.867347],[102.785864,32.867321],[102.785395,32.867294],[102.785388,32.867293],[102.784325,32.866859],[102.784121,32.866063],[102.784091,32.865458],[102.78402,32.864739],[102.783364,32.862349],[102.782933,32.859888],[102.782824,32.858867],[102.782848,32.857923],[102.782782,32.856978],[102.78237,32.855536],[102.781341,32.853782],[102.780965,32.852718],[102.780298,32.850743],[102.77869,32.848865],[102.778394,32.84818],[102.778601,32.847051],[102.77866,32.844711],[102.778935,32.840828],[102.779019,32.839244],[102.778864,32.838297],[102.778723,32.836784],[102.777969,32.834732],[102.777469,32.833251],[102.777068,32.831432],[102.776906,32.830668],[102.776818,32.830249],[102.776788,32.830105],[102.776835,32.829659],[102.776963,32.828447],[102.777092,32.8281],[102.77749,32.827022],[102.777562,32.825929],[102.777201,32.824299],[102.776928,32.822671],[102.776819,32.82165],[102.77715,32.820938],[102.778082,32.819407],[102.778698,32.818021],[102.778842,32.815834],[102.778791,32.814285],[102.778952,32.813193],[102.778714,32.811981],[102.778086,32.810271],[102.778451,32.808201],[102.778828,32.807415],[102.779383,32.80667],[102.779207,32.806553],[102.777841,32.805774],[102.774801,32.803983],[102.772867,32.802665],[102.771281,32.801731],[102.77063,32.800927],[102.769432,32.798791],[102.7685,32.796736],[102.767758,32.794231],[102.767846,32.792496],[102.768283,32.791107],[102.768401,32.789977],[102.768603,32.789036],[102.768283,32.783934],[102.766972,32.782778],[102.764572,32.780432],[102.76358,32.779018],[102.762794,32.778286],[102.762059,32.777292],[102.760564,32.776321],[102.759334,32.775469],[102.757893,32.774121],[102.757023,32.7732],[102.756686,32.772363],[102.756347,32.77164],[102.755127,32.77041],[102.753668,32.76978],[102.751567,32.769817],[102.749698,32.769482],[102.749676,32.769478],[102.749675,32.769477],[102.74874,32.769307],[102.748725,32.769304],[102.748457,32.769256],[102.748441,32.769253],[102.74832,32.769231],[102.747987,32.769127],[102.747886,32.769096],[102.747007,32.768823],[102.746988,32.768817],[102.746903,32.768791],[102.746896,32.768786],[102.746884,32.768778],[102.745408,32.767744],[102.743606,32.766541],[102.74239,32.76516],[102.740571,32.764057],[102.739106,32.763074],[102.738288,32.762456],[102.736213,32.762066],[102.734195,32.761778],[102.733005,32.761706],[102.732346,32.761845],[102.731268,32.762077],[102.729958,32.762053],[102.728347,32.762125],[102.726982,32.761949],[102.725669,32.762026],[102.723295,32.761681],[102.722461,32.761665],[102.721722,32.761859],[102.721562,32.761901],[102.721528,32.761909],[102.721535,32.761574],[102.721403,32.760994],[102.721183,32.760042],[102.721268,32.758641],[102.721303,32.758239],[102.721475,32.756253],[102.72146,32.754933],[102.721534,32.753945],[102.720966,32.753233],[102.720301,32.75252],[102.719211,32.751263],[102.719018,32.751013],[102.718502,32.750343],[102.717787,32.749711],[102.717373,32.748714],[102.717,32.748006],[102.71673,32.745239],[102.716646,32.743862],[102.716626,32.743546],[102.716983,32.73914],[102.717228,32.737165],[102.717499,32.736098],[102.717708,32.735566],[102.716965,32.734109],[102.716123,32.732691],[102.715777,32.730953],[102.714921,32.728174],[102.71461,32.727312],[102.714009,32.725642],[102.713869,32.723495],[102.713414,32.722209],[102.713119,32.720389],[102.712902,32.719354],[102.712407,32.717695],[102.711905,32.716367],[102.711114,32.714868],[102.710765,32.713253],[102.709942,32.711094],[102.709183,32.710255],[102.709519,32.70857],[102.710358,32.706276],[102.710897,32.705149],[102.711045,32.704072],[102.710474,32.703337],[102.710017,32.702332],[102.709341,32.701549],[102.708339,32.700897],[102.707656,32.700386],[102.706591,32.70014],[102.705215,32.699435],[102.704211,32.698918],[102.703359,32.698676],[102.702284,32.698838],[102.70224,32.698831],[102.701003,32.698633],[102.699845,32.697841],[102.69933,32.697017],[102.698919,32.696329],[102.698738,32.695012],[102.698869,32.694109],[102.698802,32.692522],[102.698076,32.691602],[102.696438,32.690711],[102.695055,32.690323],[102.693941,32.690213],[102.693933,32.690212],[102.693482,32.690181],[102.693023,32.69015],[102.691877,32.691413],[102.68777,32.695936],[102.687705,32.696008],[102.683759,32.700354],[102.68316,32.700868],[102.682445,32.701482],[102.681951,32.701906],[102.680319,32.702827],[102.678915,32.703254],[102.678,32.703419],[102.676411,32.70271],[102.675476,32.70156],[102.675466,32.701628],[102.675395,32.701302],[102.675186,32.700339],[102.675227,32.698736],[102.674756,32.696418],[102.674282,32.694228],[102.673717,32.692614],[102.67323,32.690937],[102.672292,32.689059],[102.671802,32.687511],[102.671464,32.685901],[102.671496,32.684682],[102.67192,32.682958],[102.672356,32.681203],[102.672635,32.680083],[102.672656,32.679999],[102.672682,32.679893],[102.673309,32.679135],[102.674451,32.678964],[102.67544,32.678854],[102.676287,32.679232],[102.67635,32.67926],[102.676639,32.67939],[102.678383,32.679422],[102.680135,32.679134],[102.681366,32.678451],[102.681637,32.678265],[102.681667,32.678244],[102.681706,32.678218],[102.681757,32.678183],[102.681831,32.678132],[102.682246,32.677847],[102.682241,32.677779],[102.682238,32.677683],[102.682263,32.677557],[102.682279,32.677463],[102.68229,32.677449],[102.682321,32.677414],[102.682326,32.677409],[102.682385,32.677355],[102.682413,32.677294],[102.682416,32.677278],[102.682431,32.677204],[102.68247,32.677154],[102.682618,32.677107],[102.682743,32.677065],[102.682844,32.677026],[102.682918,32.677014],[102.682963,32.677006],[102.683032,32.677005],[102.683093,32.677005],[102.683215,32.676868],[102.683384,32.676676],[102.683689,32.675608],[102.683601,32.675309],[102.683561,32.675298],[102.683283,32.675222],[102.68256,32.675187],[102.682356,32.675177],[102.682117,32.675122],[102.681991,32.67516],[102.681835,32.675168],[102.681748,32.675149],[102.681649,32.6751],[102.681521,32.675014],[102.681482,32.674975],[102.681411,32.674893],[102.681323,32.674784],[102.681159,32.674621],[102.681082,32.674508],[102.681038,32.674407],[102.681001,32.674262],[102.681076,32.673936],[102.681534,32.673566],[102.682123,32.673486],[102.68224,32.67347],[102.682334,32.673489],[102.683125,32.673646],[102.683294,32.673679],[102.683994,32.673692],[102.684191,32.67371],[102.684761,32.673761],[102.685199,32.673653],[102.685276,32.673635],[102.685326,32.673616],[102.685475,32.673561],[102.685527,32.673541],[102.68576,32.673454],[102.685769,32.673103],[102.685713,32.672804],[102.685395,32.672717],[102.684462,32.672916],[102.684081,32.672828],[102.683798,32.672606],[102.683765,32.672199],[102.683765,32.672191],[102.68375,32.67201],[102.68374,32.671985],[102.683692,32.67186],[102.683682,32.671834],[102.683669,32.671799],[102.683542,32.67147],[102.68354,32.671465],[102.683467,32.671388],[102.683452,32.671372],[102.683415,32.671332],[102.683073,32.670969],[102.682674,32.670861],[102.682626,32.670848],[102.682328,32.670767],[102.682315,32.670764],[102.68225,32.670765],[102.682149,32.670761],[102.682008,32.670744],[102.681933,32.670728],[102.681834,32.670695],[102.681696,32.670622],[102.681564,32.670516],[102.681539,32.670496],[102.681376,32.670362],[102.681293,32.670263],[102.681219,32.670179],[102.681207,32.670113],[102.681199,32.670106],[102.680891,32.669823],[102.680857,32.669791],[102.68084,32.669776],[102.680831,32.669767],[102.680707,32.669653],[102.680427,32.669351],[102.679888,32.669178],[102.67976,32.669138],[102.679442,32.669037],[102.679356,32.66901],[102.679342,32.669005],[102.679253,32.668977],[102.67908,32.668782],[102.678911,32.668592],[102.678699,32.668128],[102.678713,32.667587],[102.67855,32.666735],[102.678393,32.666535],[102.678355,32.666486],[102.678324,32.666447],[102.678085,32.66614],[102.678058,32.666133],[102.677949,32.666105],[102.677937,32.666103],[102.677703,32.666043],[102.67728,32.665935],[102.677243,32.665925],[102.677131,32.665897],[102.677008,32.665897],[102.676871,32.665897],[102.675732,32.6659],[102.675723,32.6659],[102.675556,32.6659],[102.675492,32.6659],[102.675141,32.665901],[102.675118,32.665901],[102.674944,32.665901],[102.674897,32.665896],[102.674869,32.665893],[102.674833,32.665856],[102.674781,32.665836],[102.674713,32.665832],[102.674644,32.665833],[102.674558,32.665833],[102.674498,32.665851],[102.674354,32.665835],[102.674347,32.665834],[102.674246,32.665823],[102.674038,32.665799],[102.6739,32.665784],[102.673508,32.665739],[102.673251,32.665666],[102.673228,32.665659],[102.6732,32.665651],[102.672814,32.66554],[102.672603,32.665479],[102.672538,32.6654],[102.672506,32.665382],[102.672453,32.665356],[102.672368,32.665317],[102.672287,32.665292],[102.672161,32.665199],[102.671979,32.665064],[102.671966,32.665055],[102.671874,32.664987],[102.671203,32.664118],[102.670967,32.663856],[102.670925,32.663809],[102.670858,32.663736],[102.67085,32.663727],[102.670729,32.663593],[102.670713,32.663575],[102.670581,32.663429],[102.67017,32.662835],[102.669943,32.662767],[102.669939,32.662765],[102.669852,32.662739],[102.669561,32.662815],[102.669047,32.66295],[102.668465,32.663198],[102.668238,32.663295],[102.667752,32.663338],[102.667533,32.663334],[102.667305,32.663349],[102.6669,32.66324],[102.666766,32.663204],[102.666715,32.66319],[102.665581,32.662885],[102.664943,32.662681],[102.664908,32.66267],[102.664897,32.662666],[102.664682,32.662598],[102.664653,32.662576],[102.664645,32.662571],[102.66456,32.662507],[102.664054,32.662135],[102.664002,32.661992],[102.663999,32.661985],[102.663952,32.661856],[102.663873,32.661639],[102.663914,32.66163],[102.663935,32.661619],[102.664063,32.661558],[102.664012,32.661519],[102.663976,32.661466],[102.663946,32.661403],[102.66393,32.661365],[102.663909,32.661314],[102.663901,32.661238],[102.664145,32.660693],[102.664301,32.660276],[102.664308,32.660258],[102.664328,32.660206],[102.664431,32.659931],[102.664496,32.659481],[102.664352,32.659195],[102.664291,32.659076],[102.664166,32.658972],[102.663957,32.658847],[102.663842,32.65881],[102.663774,32.658798],[102.663745,32.658782],[102.663392,32.658874],[102.663113,32.659534],[102.663051,32.65968],[102.662612,32.660168],[102.662547,32.660146],[102.662537,32.660143],[102.662515,32.660135],[102.662432,32.660107],[102.662423,32.660104],[102.662194,32.660027],[102.662165,32.660017],[102.662145,32.66001],[102.661976,32.659953],[102.661766,32.659881],[102.661715,32.659887],[102.661588,32.659901],[102.661071,32.659959],[102.66048,32.660083],[102.660468,32.660086],[102.660331,32.660115],[102.660263,32.660129],[102.660221,32.660138],[102.660115,32.66016],[102.659891,32.660207],[102.659854,32.660197],[102.658885,32.659918],[102.658876,32.659914],[102.658804,32.659884],[102.658717,32.659846],[102.65828,32.65966],[102.658154,32.659607],[102.657777,32.659446],[102.657708,32.659398],[102.657242,32.659078],[102.657165,32.658991],[102.656969,32.658771],[102.656384,32.658111],[102.6562,32.657822],[102.655813,32.657212],[102.655451,32.656865],[102.655442,32.656856],[102.655278,32.656699],[102.655095,32.65655],[102.655075,32.656533],[102.655036,32.656501],[102.655026,32.656493],[102.654896,32.656387],[102.654696,32.656224],[102.654614,32.656204],[102.654515,32.656123],[102.654352,32.656076],[102.654241,32.656052],[102.654197,32.656099],[102.654116,32.656229],[102.653911,32.656557],[102.65393,32.657544],[102.65393,32.657563],[102.653927,32.657591],[102.65391,32.657751],[102.65394,32.657765],[102.654034,32.657839],[102.654096,32.657886],[102.654141,32.657929],[102.654177,32.65799],[102.654189,32.658071],[102.654178,32.658126],[102.654139,32.658164],[102.654065,32.658218],[102.653984,32.658258],[102.65393,32.658313],[102.653873,32.658375],[102.653794,32.658421],[102.65373,32.658464],[102.65366,32.658502],[102.653657,32.658504],[102.653635,32.658509],[102.653568,32.658526],[102.653463,32.658536],[102.653388,32.658525],[102.653297,32.658495],[102.653215,32.658451],[102.653212,32.658448],[102.653197,32.658435],[102.653175,32.658414],[102.653146,32.658386],[102.653084,32.658345],[102.653027,32.658352],[102.652912,32.658365],[102.652811,32.658376],[102.652703,32.658389],[102.652586,32.658402],[102.6524,32.658423],[102.65181,32.658258],[102.651782,32.658126],[102.651773,32.658083],[102.651744,32.657942],[102.651729,32.65787],[102.651863,32.65769],[102.651868,32.657683],[102.651958,32.657562],[102.652013,32.657488],[102.652065,32.657399],[102.652131,32.657286],[102.652137,32.657275],[102.652146,32.65726],[102.652178,32.657206],[102.652329,32.656947],[102.652348,32.656915],[102.652341,32.656723],[102.652334,32.65654],[102.652321,32.65618],[102.652298,32.65615],[102.652172,32.655985],[102.651953,32.6557],[102.651995,32.655655],[102.652012,32.655609],[102.652021,32.655556],[102.652023,32.655492],[102.652016,32.655442],[102.651995,32.655409],[102.651961,32.655391],[102.651932,32.65539],[102.65192,32.655396],[102.651906,32.655414],[102.651905,32.655441],[102.651905,32.655491],[102.651904,32.655534],[102.651904,32.655567],[102.651907,32.655641],[102.651844,32.655558],[102.651851,32.655516],[102.651856,32.655485],[102.651856,32.655457],[102.651846,32.655427],[102.651826,32.655408],[102.6518,32.655389],[102.651773,32.655371],[102.651747,32.655363],[102.651682,32.655348],[102.651658,32.655317],[102.651494,32.655286],[102.651474,32.655282],[102.650978,32.655188],[102.650023,32.654938],[102.649976,32.654918],[102.649797,32.654842],[102.6496,32.654759],[102.649299,32.654632],[102.649164,32.654574],[102.648968,32.654534],[102.64823,32.654383],[102.648138,32.654364],[102.647894,32.654314],[102.64771,32.654277],[102.647462,32.654346],[102.64723,32.654411],[102.647189,32.654423],[102.647065,32.654458],[102.64697,32.65444],[102.6469,32.654426],[102.646513,32.654353],[102.646156,32.654286],[102.646001,32.654009],[102.645981,32.653973],[102.645964,32.653355],[102.646166,32.652983],[102.646516,32.652746],[102.646582,32.652727],[102.646644,32.652708],[102.64667,32.6527],[102.646794,32.652663],[102.646825,32.652654],[102.646914,32.652627],[102.647089,32.652574],[102.647419,32.652475],[102.647597,32.652484],[102.647701,32.652483],[102.647775,32.652486],[102.647845,32.65248],[102.647933,32.652445],[102.647995,32.652416],[102.648144,32.652384],[102.648169,32.652376],[102.648164,32.652357],[102.648169,32.652348],[102.648201,32.652328],[102.648233,32.652318],[102.64829,32.652285],[102.648312,32.65226],[102.648334,32.652229],[102.648366,32.652188],[102.648393,32.652157],[102.648441,32.652112],[102.648468,32.652086],[102.648502,32.65205],[102.648537,32.652014],[102.64856,32.651958],[102.648568,32.651915],[102.648578,32.651865],[102.64858,32.651819],[102.648579,32.651759],[102.648575,32.651712],[102.64855,32.651674],[102.648505,32.651632],[102.64847,32.6516],[102.648426,32.65157],[102.648366,32.651541],[102.648281,32.651509],[102.648176,32.651471],[102.648223,32.651471],[102.648271,32.651475],[102.648312,32.651489],[102.648381,32.651514],[102.648417,32.651528],[102.648461,32.651549],[102.64852,32.651575],[102.648556,32.651602],[102.648582,32.651622],[102.648614,32.651649],[102.648631,32.651676],[102.64865,32.651705],[102.648686,32.651785],[102.648693,32.651852],[102.64869,32.651893],[102.648689,32.651941],[102.648679,32.651971],[102.648671,32.651991],[102.64865,32.652053],[102.648731,32.651947],[102.648825,32.651823],[102.64883,32.651649],[102.648832,32.651555],[102.648833,32.651528],[102.648838,32.651321],[102.648067,32.651187],[102.647838,32.651148],[102.646467,32.651122],[102.646263,32.651067],[102.646112,32.650997],[102.646097,32.651022],[102.646091,32.651021],[102.64607,32.651015],[102.646024,32.651003],[102.646015,32.651],[102.645972,32.651079],[102.64594,32.651134],[102.64584,32.651101],[102.645741,32.651096],[102.645628,32.651118],[102.645614,32.65112],[102.645556,32.651139],[102.645458,32.651296],[102.645486,32.651413],[102.645481,32.651488],[102.645476,32.651547],[102.645477,32.651662],[102.645463,32.651673],[102.645447,32.651715],[102.645425,32.651879],[102.645396,32.651912],[102.645371,32.651967],[102.645358,32.652007],[102.645341,32.652059],[102.645298,32.652125],[102.645292,32.652155],[102.64527,32.652195],[102.645229,32.652236],[102.645194,32.652271],[102.645171,32.652291],[102.645118,32.652329],[102.645079,32.652351],[102.645011,32.652382],[102.644947,32.652408],[102.644877,32.652428],[102.644819,32.652438],[102.64478,32.652438],[102.644741,32.652462],[102.644727,32.652471],[102.644661,32.65251],[102.64456,32.652469],[102.644537,32.652481],[102.644492,32.65248],[102.64442,32.652467],[102.644323,32.65244],[102.644241,32.652409],[102.644178,32.652405],[102.644126,32.652437],[102.644092,32.652477],[102.644052,32.652526],[102.64399,32.65255],[102.643908,32.652568],[102.643872,32.652504],[102.643885,32.652001],[102.643881,32.651991],[102.643868,32.651966],[102.643823,32.651874],[102.643845,32.651854],[102.643842,32.651837],[102.643825,32.651802],[102.643802,32.651766],[102.643774,32.65173],[102.643712,32.65165],[102.643629,32.651628],[102.643304,32.65154],[102.643265,32.65153],[102.643258,32.651528],[102.64294,32.651442],[102.642827,32.651464],[102.642411,32.651544],[102.642375,32.651551],[102.642338,32.651558],[102.642118,32.6516],[102.642042,32.651658],[102.642012,32.651676],[102.641971,32.651695],[102.641925,32.651696],[102.641851,32.651719],[102.641762,32.651737],[102.641696,32.651726],[102.641652,32.651713],[102.641614,32.651704],[102.641545,32.651695],[102.641479,32.651693],[102.641428,32.651698],[102.641348,32.651694],[102.64127,32.651691],[102.641198,32.65168],[102.641184,32.651674],[102.641069,32.65165],[102.640984,32.651616],[102.640909,32.651578],[102.640842,32.65154],[102.640778,32.651495],[102.640749,32.651456],[102.64075,32.651425],[102.640756,32.651378],[102.640767,32.651324],[102.640776,32.65128],[102.640792,32.651222],[102.640869,32.651121],[102.640918,32.65108],[102.640971,32.651057],[102.641024,32.651053],[102.641096,32.651054],[102.641233,32.650909],[102.641238,32.650903],[102.641464,32.650665],[102.641482,32.650646],[102.641594,32.650527],[102.6417,32.650316],[102.641725,32.650267],[102.641779,32.650159],[102.641854,32.65019],[102.641842,32.650144],[102.641847,32.650098],[102.641835,32.650049],[102.641836,32.650018],[102.641844,32.649988],[102.641878,32.64995],[102.641809,32.649892],[102.641788,32.649839],[102.641754,32.649773],[102.641713,32.649751],[102.641682,32.649738],[102.641637,32.64972],[102.641591,32.649711],[102.641516,32.649696],[102.641514,32.649688],[102.641502,32.649682],[102.641474,32.649688],[102.641448,32.649701],[102.641429,32.6497],[102.641406,32.649681],[102.641388,32.649639],[102.641373,32.649595],[102.641362,32.649555],[102.641355,32.649515],[102.641167,32.64936],[102.640851,32.649238],[102.640534,32.649116],[102.640256,32.649266],[102.640241,32.649274],[102.639978,32.649415],[102.639883,32.649521],[102.639815,32.649597],[102.63958,32.649859],[102.639559,32.649884],[102.639396,32.650066],[102.639383,32.65008],[102.639366,32.650099],[102.639039,32.650364],[102.638588,32.650123],[102.638462,32.649486],[102.638391,32.649507],[102.638388,32.649487],[102.638388,32.649476],[102.638381,32.649463],[102.638382,32.649447],[102.638393,32.649429],[102.638405,32.649414],[102.63844,32.649372],[102.638427,32.649308],[102.638406,32.649244],[102.638403,32.649235],[102.638398,32.649219],[102.638374,32.649146],[102.638258,32.648789],[102.638176,32.64872],[102.638128,32.64867],[102.638039,32.648598],[102.637989,32.648553],[102.637953,32.648494],[102.637928,32.648438],[102.637878,32.648376],[102.63779,32.648292],[102.637703,32.6482],[102.637607,32.648111],[102.637508,32.64809],[102.636909,32.647966],[102.636895,32.64797],[102.636676,32.648048],[102.636641,32.64806],[102.636494,32.648112],[102.636437,32.64868],[102.636436,32.648687],[102.636432,32.64873],[102.636395,32.648859],[102.636376,32.648927],[102.63628,32.649268],[102.636256,32.649282],[102.636118,32.649359],[102.636105,32.649366],[102.635796,32.649538],[102.63569,32.649598],[102.63568,32.649603],[102.635178,32.649768],[102.635153,32.649776],[102.635004,32.649825],[102.634991,32.649829],[102.634957,32.64984],[102.634894,32.64986],[102.634653,32.64992],[102.634284,32.650011],[102.63402,32.650076],[102.633705,32.649915],[102.633645,32.649691],[102.63359,32.64969],[102.633558,32.649691],[102.633564,32.6496],[102.633585,32.649578],[102.63359,32.64957],[102.633605,32.649544],[102.633615,32.649434],[102.633619,32.64936],[102.633595,32.649235],[102.633557,32.64912],[102.63354,32.649026],[102.633506,32.648948],[102.633469,32.648894],[102.633404,32.648827],[102.633373,32.648769],[102.633357,32.648718],[102.633338,32.648674],[102.633326,32.64866],[102.633296,32.648666],[102.633277,32.648675],[102.633258,32.648684],[102.63325,32.648698],[102.63322,32.648699],[102.633203,32.648688],[102.633183,32.648672],[102.633158,32.648647],[102.633136,32.648631],[102.633071,32.648598],[102.633005,32.648566],[102.632908,32.648529],[102.632804,32.648476],[102.632706,32.648412],[102.632522,32.648303],[102.632396,32.648214],[102.63231,32.648166],[102.632105,32.648184],[102.632104,32.648217],[102.632101,32.648348],[102.632096,32.648532],[102.632808,32.649241],[102.632558,32.649501],[102.632541,32.649519],[102.632512,32.649549],[102.63248,32.649583],[102.632467,32.649588],[102.631907,32.649842],[102.63174,32.649917],[102.631415,32.649935],[102.630687,32.649974],[102.630377,32.649879],[102.63037,32.649878],[102.629463,32.649603],[102.628923,32.649284],[102.628938,32.648743],[102.629165,32.648404],[102.62919,32.648367],[102.629271,32.648247],[102.629329,32.648163],[102.629346,32.648138],[102.62936,32.648141],[102.629374,32.648141],[102.629399,32.648129],[102.629418,32.648096],[102.629461,32.648035],[102.629481,32.647999],[102.629498,32.647951],[102.629543,32.647885],[102.629574,32.647841],[102.629597,32.647817],[102.629628,32.647802],[102.629659,32.647782],[102.629718,32.647744],[102.629771,32.647687],[102.629857,32.647492],[102.629887,32.647434],[102.629909,32.647389],[102.629915,32.647365],[102.629915,32.647354],[102.62991,32.647343],[102.629906,32.647337],[102.629891,32.647289],[102.629792,32.647173],[102.629766,32.647138],[102.629731,32.647103],[102.629681,32.647056],[102.629548,32.646963],[102.629532,32.646956],[102.629469,32.646928],[102.629217,32.646815],[102.628614,32.646829],[102.628551,32.646831],[102.628425,32.646834],[102.628404,32.646834],[102.628302,32.646837],[102.628276,32.646863],[102.627867,32.647264],[102.627784,32.647345],[102.627824,32.647393],[102.627842,32.64742],[102.627854,32.647442],[102.627855,32.647458],[102.627853,32.647466],[102.627844,32.647475],[102.627818,32.647486],[102.627799,32.647495],[102.627785,32.647505],[102.62777,32.647517],[102.62776,32.647528],[102.627754,32.647544],[102.62775,32.647559],[102.627746,32.647577],[102.627735,32.647597],[102.627723,32.647608],[102.6277,32.647623],[102.627673,32.647635],[102.627609,32.647639],[102.627595,32.647639],[102.627567,32.647637],[102.627493,32.647633],[102.627459,32.647624],[102.627409,32.647608],[102.627375,32.647589],[102.627176,32.647669],[102.627165,32.647674],[102.627145,32.647682],[102.627092,32.647703],[102.626417,32.64769],[102.626356,32.647689],[102.626224,32.647686],[102.626168,32.647672],[102.626156,32.647669],[102.626006,32.647629],[102.625589,32.64752],[102.625589,32.647488],[102.625602,32.64702],[102.625664,32.646948],[102.625811,32.646784],[102.625832,32.64676],[102.625842,32.64675],[102.625867,32.646721],[102.626103,32.646457],[102.626159,32.646395],[102.626178,32.646418],[102.626202,32.646444],[102.626213,32.64646],[102.626216,32.646457],[102.626223,32.646445],[102.626223,32.646432],[102.62622,32.646402],[102.62622,32.646374],[102.626216,32.646332],[102.626573,32.646042],[102.626583,32.646035],[102.626595,32.646025],[102.626614,32.64601],[102.626733,32.645913],[102.626742,32.645906],[102.626868,32.645804],[102.627083,32.645475],[102.627088,32.645468],[102.627124,32.645413],[102.627184,32.645323],[102.627197,32.645303],[102.6272,32.645298],[102.627344,32.645079],[102.627494,32.645015],[102.627505,32.64501],[102.627553,32.64499],[102.627697,32.644929],[102.627714,32.644922],[102.628129,32.644746],[102.628065,32.643701],[102.62774,32.643381],[102.627773,32.643365],[102.627792,32.643357],[102.627833,32.643358],[102.6278,32.643345],[102.627768,32.643337],[102.627736,32.64333],[102.627716,32.643315],[102.627683,32.643285],[102.627652,32.643251],[102.62762,32.643225],[102.627593,32.643198],[102.627548,32.643157],[102.627463,32.643137],[102.627452,32.643152],[102.627443,32.643145],[102.627155,32.642935],[102.627103,32.642935],[102.626987,32.642894],[102.626939,32.642875],[102.626893,32.642851],[102.626865,32.642816],[102.626845,32.642772],[102.626824,32.642728],[102.626794,32.642697],[102.626737,32.64267],[102.626647,32.642619],[102.626611,32.642578],[102.626596,32.642531],[102.626578,32.642495],[102.626576,32.642456],[102.626588,32.642396],[102.626415,32.642201],[102.626363,32.641808],[102.626358,32.64177],[102.626374,32.641763],[102.626391,32.641751],[102.626407,32.641713],[102.626462,32.641605],[102.626511,32.641553],[102.62656,32.641504],[102.626569,32.641496],[102.626634,32.641435],[102.626767,32.641306],[102.627,32.641052],[102.62712,32.640927],[102.627319,32.64076],[102.627601,32.640522],[102.62797,32.640143],[102.628064,32.640045],[102.628118,32.639991],[102.62806,32.639901],[102.628013,32.639828],[102.627959,32.639744],[102.627942,32.639717],[102.627741,32.639565],[102.627629,32.639479],[102.627123,32.639585],[102.626942,32.639769],[102.626928,32.639782],[102.626915,32.639796],[102.626824,32.639888],[102.626748,32.639965],[102.626732,32.639974],[102.626713,32.639973],[102.626673,32.639961],[102.626613,32.639958],[102.626546,32.639963],[102.62647,32.63998],[102.626389,32.64003],[102.62635,32.640055],[102.626332,32.640083],[102.626311,32.640101],[102.62629,32.640105],[102.626254,32.640108],[102.626168,32.64015],[102.626149,32.640171],[102.626143,32.640198],[102.626141,32.640219],[102.626136,32.640243],[102.626126,32.640256],[102.626099,32.640264],[102.626074,32.640276],[102.626022,32.640335],[102.626011,32.640364],[102.625999,32.640385],[102.625998,32.640401],[102.625997,32.640411],[102.62595,32.640439],[102.625866,32.640489],[102.625755,32.64051],[102.625683,32.640524],[102.625131,32.64063],[102.624709,32.640828],[102.624669,32.640847],[102.624653,32.640854],[102.62453,32.640866],[102.624426,32.640901],[102.624365,32.640937],[102.624306,32.640993],[102.624265,32.641052],[102.624211,32.641122],[102.624108,32.641187],[102.623956,32.641283],[102.623925,32.641303],[102.623331,32.64133],[102.622841,32.640819],[102.622849,32.640525],[102.62285,32.640505],[102.622852,32.640433],[102.622854,32.640355],[102.622942,32.640263],[102.622984,32.64022],[102.623183,32.640013],[102.623913,32.640027],[102.624517,32.639652],[102.624478,32.639223],[102.624446,32.638877],[102.624339,32.638636],[102.624188,32.638293],[102.623922,32.638299],[102.623867,32.6383],[102.623826,32.638301],[102.623522,32.638308],[102.623511,32.638309],[102.623273,32.638314],[102.622581,32.638572],[102.622298,32.638459],[102.622234,32.638433],[102.622226,32.638408],[102.622218,32.638381],[102.622209,32.638351],[102.622197,32.638314],[102.622178,32.63827],[102.622146,32.638221],[102.62212,32.638188],[102.622075,32.638137],[102.621974,32.637859],[102.621961,32.637825],[102.622061,32.637636],[102.622087,32.637586],[102.622202,32.637366],[102.622242,32.637317],[102.622579,32.636909],[102.622619,32.636891],[102.623227,32.636612],[102.623736,32.636598],[102.623709,32.636569],[102.623661,32.636536],[102.62384,32.636548],[102.623961,32.636569],[102.62406,32.636582],[102.624076,32.636571],[102.624422,32.636326],[102.624567,32.636049],[102.624609,32.635969],[102.624568,32.635921],[102.624521,32.635878],[102.624414,32.635802],[102.624326,32.635751],[102.624304,32.635733],[102.624297,32.635714],[102.624291,32.635699],[102.624273,32.635671],[102.624212,32.635638],[102.624154,32.635618],[102.624089,32.635615],[102.624033,32.635618],[102.623957,32.635651],[102.623899,32.63569],[102.623853,32.635693],[102.623799,32.635695],[102.623595,32.635824],[102.62358,32.63588],[102.623579,32.635904],[102.623549,32.635903],[102.623492,32.635916],[102.623472,32.635938],[102.623449,32.635967],[102.623423,32.635991],[102.623391,32.636009],[102.623358,32.636024],[102.623311,32.636038],[102.623236,32.636054],[102.623213,32.63605],[102.62319,32.636023],[102.623158,32.635977],[102.623155,32.635954],[102.623085,32.635952],[102.623025,32.635951],[102.623011,32.635951],[102.62297,32.63595],[102.622878,32.635882],[102.622872,32.635878],[102.622867,32.635874],[102.622701,32.635752],[102.622802,32.635406],[102.622929,32.635292],[102.622945,32.635277],[102.622952,32.635249],[102.622961,32.635228],[102.622988,32.635201],[102.623045,32.635153],[102.623142,32.635072],[102.623261,32.634973],[102.623259,32.634943],[102.623269,32.634927],[102.623291,32.634903],[102.623309,32.634889],[102.623364,32.634868],[102.623413,32.634838],[102.623455,32.634817],[102.623474,32.634804],[102.623512,32.634789],[102.623581,32.634765],[102.62364,32.63472],[102.623701,32.634688],[102.623756,32.634668],[102.623806,32.63465],[102.623857,32.634616],[102.623897,32.634583],[102.623929,32.634542],[102.623941,32.63451],[102.623969,32.634443],[102.624022,32.634379],[102.624045,32.634351],[102.624072,32.634278],[102.624101,32.634209],[102.624124,32.634171],[102.624132,32.634145],[102.624138,32.63412],[102.624144,32.634063],[102.624174,32.63402],[102.624231,32.633945],[102.624248,32.633897],[102.624256,32.633857],[102.624258,32.63382],[102.624254,32.633795],[102.624238,32.633779],[102.624231,32.633768],[102.624223,32.633759],[102.62421,32.633742],[102.624198,32.633719],[102.624192,32.633697],[102.624189,32.633673],[102.624188,32.633651],[102.624181,32.63361],[102.624173,32.633609],[102.62409,32.633596],[102.623628,32.633527],[102.623071,32.633865],[102.622798,32.634106],[102.622783,32.634119],[102.622692,32.634199],[102.622557,32.634319],[102.622451,32.634349],[102.622082,32.634455],[102.622065,32.634459],[102.62205,32.634464],[102.622031,32.63443],[102.621963,32.634307],[102.621964,32.634275],[102.621986,32.63425],[102.622042,32.63418],[102.622046,32.634175],[102.62207,32.634127],[102.62207,32.634117],[102.622076,32.634029],[102.622103,32.633843],[102.622148,32.633676],[102.622175,32.633609],[102.62218,32.633586],[102.622182,32.633571],[102.622179,32.633564],[102.622172,32.63356],[102.622267,32.633335],[102.62236,32.633117],[102.622331,32.632498],[102.622075,32.632303],[102.622017,32.63226],[102.621846,32.632138],[102.62184,32.632134],[102.621807,32.632111],[102.62168,32.632021],[102.621662,32.632008],[102.621344,32.631783],[102.621257,32.631659],[102.621237,32.63163],[102.621219,32.631604],[102.621124,32.63147],[102.621132,32.63116],[102.621273,32.631113],[102.621303,32.631102],[102.62132,32.631097],[102.621642,32.630987],[102.621737,32.630955],[102.621778,32.630941],[102.622201,32.630485],[102.62213,32.62971],[102.622103,32.629658],[102.622102,32.629657],[102.622088,32.62963],[102.622083,32.629619],[102.622036,32.629529],[102.622026,32.629509],[102.622001,32.629462],[102.621924,32.629313],[102.621826,32.629125],[102.622087,32.628956],[102.622102,32.628946],[102.622158,32.62891],[102.622224,32.628867],[102.622286,32.628878],[102.622343,32.628893],[102.622382,32.628908],[102.622437,32.628921],[102.622477,32.628922],[102.62256,32.628907],[102.622586,32.628892],[102.622627,32.628872],[102.622669,32.628869],[102.622691,32.62887],[102.622737,32.628865],[102.622773,32.628851],[102.622801,32.628841],[102.622837,32.628835],[102.622907,32.628829],[102.622941,32.628825],[102.623011,32.628821],[102.623081,32.628828],[102.62321,32.628868],[102.623298,32.628917],[102.623359,32.628922],[102.623886,32.62897],[102.624528,32.628867],[102.625035,32.628488],[102.625051,32.628476],[102.625078,32.628456],[102.625085,32.628451],[102.625134,32.628414],[102.625142,32.628097],[102.625147,32.627908],[102.625159,32.627448],[102.625101,32.626937],[102.625074,32.626704],[102.625048,32.62648],[102.624968,32.62631],[102.624943,32.626257],[102.624939,32.626249],[102.62493,32.626229],[102.624909,32.626185],[102.624597,32.625522],[102.624576,32.625477],[102.624561,32.625447],[102.624345,32.624987],[102.624313,32.624919],[102.624322,32.624879],[102.6244,32.624549],[102.624463,32.624281],[102.624486,32.624265],[102.624863,32.624273],[102.624876,32.624273],[102.624971,32.624253],[102.625082,32.624253],[102.625161,32.624285],[102.625295,32.624371],[102.625402,32.624458],[102.625533,32.624554],[102.625551,32.624586],[102.625921,32.625222],[102.625926,32.62523],[102.62593,32.625237],[102.625986,32.625333],[102.625994,32.625347],[102.626004,32.625364],[102.626079,32.625494],[102.626268,32.625571],[102.626576,32.625697],[102.626607,32.625687],[102.626673,32.625666],[102.626807,32.625624],[102.62684,32.625532],[102.626845,32.625518],[102.626961,32.625203],[102.626968,32.625182],[102.627102,32.624818],[102.627107,32.624623],[102.627108,32.624593],[102.62711,32.624529],[102.62711,32.624521],[102.627111,32.624469],[102.627112,32.624435],[102.62712,32.624122],[102.626967,32.623588],[102.626957,32.623553],[102.626953,32.623539],[102.626959,32.623484],[102.626971,32.623374],[102.626956,32.623352],[102.626953,32.62333],[102.626951,32.623303],[102.626954,32.623277],[102.626967,32.623244],[102.626988,32.623223],[102.627064,32.623118],[102.627155,32.623061],[102.627307,32.622987],[102.627439,32.622946],[102.627606,32.62301],[102.627689,32.62332],[102.627692,32.623327],[102.627731,32.623476],[102.627745,32.623485],[102.627846,32.623551],[102.627966,32.623628],[102.627983,32.623639],[102.628041,32.6237],[102.628085,32.623727],[102.628151,32.623761],[102.628334,32.623809],[102.628397,32.623817],[102.628444,32.623818],[102.628508,32.623811],[102.628561,32.623796],[102.628588,32.623785],[102.628717,32.623675],[102.628803,32.623708],[102.628935,32.623537],[102.629142,32.62327],[102.6292,32.623195],[102.629267,32.622988],[102.62935,32.622734],[102.629314,32.622685],[102.629246,32.622589],[102.629232,32.62257],[102.629041,32.622303],[102.628513,32.622107],[102.628496,32.622101],[102.628477,32.622093],[102.628362,32.622051],[102.628335,32.622086],[102.628316,32.62211],[102.628308,32.622136],[102.628293,32.62217],[102.628282,32.622188],[102.628255,32.622197],[102.628187,32.622181],[102.628165,32.622161],[102.628151,32.62213],[102.628127,32.622091],[102.628104,32.622059],[102.628054,32.622022],[102.628022,32.622004],[102.627994,32.621985],[102.627975,32.621956],[102.627964,32.621917],[102.627948,32.62186],[102.627935,32.621842],[102.627927,32.621828],[102.627905,32.621813],[102.627891,32.621803],[102.627875,32.62179],[102.627858,32.621771],[102.62785,32.621752],[102.627851,32.621739],[102.627858,32.621721],[102.627867,32.621707],[102.627882,32.621691],[102.627898,32.621668],[102.627901,32.621655],[102.627902,32.62163],[102.627898,32.621606],[102.627881,32.621591],[102.627879,32.621572],[102.627888,32.621522],[102.627909,32.621483],[102.62792,32.621467],[102.627935,32.621453],[102.627948,32.621443],[102.627959,32.621436],[102.627975,32.621437],[102.627984,32.621442],[102.627998,32.621386],[102.628,32.62138],[102.628003,32.621367],[102.628067,32.621125],[102.628506,32.620979],[102.62862,32.620942],[102.628627,32.620947],[102.628634,32.620953],[102.628766,32.621054],[102.628787,32.621071],[102.628932,32.621183],[102.628969,32.621235],[102.629037,32.6213],[102.629104,32.62135],[102.629144,32.621379],[102.629176,32.621402],[102.629193,32.62141],[102.629226,32.621418],[102.629255,32.621422],[102.629277,32.621429],[102.629291,32.621447],[102.629301,32.621469],[102.629337,32.621496],[102.629422,32.621507],[102.629432,32.621508],[102.629701,32.621542],[102.62987,32.62133],[102.629905,32.621285],[102.62992,32.621268],[102.630058,32.621094],[102.630126,32.621009],[102.630125,32.620995],[102.630123,32.620981],[102.630053,32.620312],[102.630051,32.620293],[102.62995,32.620178],[102.629837,32.6201],[102.629772,32.620038],[102.629754,32.619986],[102.629754,32.619921],[102.629819,32.619935],[102.629952,32.61994],[102.630005,32.619941],[102.630003,32.619926],[102.629994,32.619862],[102.629992,32.619847],[102.629977,32.61973],[102.629827,32.619381],[102.629822,32.61937],[102.629809,32.619339],[102.629793,32.619302],[102.629778,32.61931],[102.629764,32.619314],[102.629753,32.619317],[102.629744,32.61932],[102.629733,32.619318],[102.629723,32.619315],[102.629706,32.619314],[102.629696,32.619316],[102.629685,32.619322],[102.629676,32.619332],[102.629667,32.619343],[102.629637,32.619291],[102.62964,32.619268],[102.629706,32.619233],[102.629742,32.619184],[102.629676,32.619029],[102.629823,32.618645],[102.629966,32.618136],[102.629805,32.617975],[102.629496,32.617618],[102.629476,32.617571],[102.629432,32.617523],[102.629352,32.617438],[102.629347,32.617432],[102.628642,32.616651],[102.628652,32.616278],[102.628664,32.616229],[102.628667,32.616217],[102.628674,32.616187],[102.628701,32.616074],[102.628707,32.616047],[102.628718,32.615648],[102.62832,32.615214],[102.628268,32.615004],[102.628255,32.614951],[102.628235,32.614866],[102.62831,32.614415],[102.628316,32.614403],[102.62847,32.614105],[102.628542,32.613967],[102.628628,32.613684],[102.628679,32.613517],[102.628681,32.613503],[102.628698,32.613319],[102.628723,32.613065],[102.628543,32.612715],[102.62836,32.612499],[102.62808,32.612387],[102.627877,32.612463],[102.62785,32.612473],[102.627798,32.612493],[102.627674,32.612539],[102.627626,32.612589],[102.62759,32.612638],[102.62755,32.612693],[102.627505,32.612733],[102.627436,32.612777],[102.627426,32.612784],[102.627376,32.6128],[102.6273,32.612826],[102.62729,32.612828],[102.627266,32.612851],[102.627185,32.612929],[102.626827,32.612922],[102.626681,32.61292],[102.626531,32.612777],[102.626375,32.612629],[102.626329,32.612585],[102.626312,32.612569],[102.626252,32.612512],[102.626302,32.612287],[102.626309,32.612255],[102.626323,32.612194],[102.626323,32.612194],[102.626323,32.612194],[102.626338,32.61219],[102.626355,32.612185],[102.626406,32.612171],[102.626415,32.612168],[102.62666,32.612101],[102.626667,32.612099],[102.626667,32.612099],[102.626667,32.612099],[102.626707,32.612088],[102.626749,32.612076],[102.626761,32.612073],[102.626769,32.612071],[102.626957,32.612019],[102.626965,32.612018],[102.626966,32.612017],[102.626968,32.612017],[102.627017,32.612006],[102.627054,32.611997],[102.627071,32.611993],[102.627149,32.611975],[102.627812,32.611823],[102.628165,32.611536],[102.628317,32.611274],[102.628327,32.611257],[102.628333,32.611245],[102.628363,32.611194],[102.628372,32.611145],[102.628373,32.611142],[102.628373,32.61114],[102.628396,32.611017],[102.628436,32.610796],[102.628258,32.610537],[102.628234,32.610503],[102.628207,32.610464],[102.628194,32.610445],[102.628193,32.610445],[102.628191,32.610445],[102.628151,32.610442],[102.627534,32.610406],[102.627524,32.610411],[102.627463,32.61044],[102.627402,32.61047],[102.627375,32.610483],[102.627056,32.610636],[102.62685,32.610678],[102.626824,32.610684],[102.626729,32.610703],[102.626455,32.610758],[102.626225,32.610588],[102.626208,32.610576],[102.626208,32.610576],[102.626207,32.610575],[102.626181,32.610556],[102.62614,32.610526],[102.626128,32.610517],[102.626103,32.610498],[102.626085,32.610485],[102.6257,32.610144],[102.625316,32.609805],[102.625058,32.609693],[102.624476,32.609443],[102.623824,32.609111],[102.623239,32.608937],[102.622575,32.608741],[102.62212,32.608545],[102.622103,32.608538],[102.622085,32.60853],[102.621798,32.608406],[102.62152,32.608188],[102.621549,32.608132],[102.621653,32.607924],[102.621774,32.607819],[102.621802,32.607795],[102.621809,32.607789],[102.621892,32.607716],[102.621903,32.607706],[102.622072,32.607559],[102.622058,32.60732],[102.622056,32.60729],[102.622056,32.607289],[102.622056,32.607288],[102.62205,32.607188],[102.62205,32.607187],[102.62205,32.607186],[102.622031,32.60718],[102.62203,32.60718],[102.622028,32.607179],[102.621934,32.607151],[102.621904,32.607142],[102.621488,32.607016],[102.620828,32.607003],[102.620723,32.606822],[102.620723,32.606821],[102.620722,32.60682],[102.620718,32.606814],[102.620675,32.606739],[102.620675,32.606739],[102.620674,32.606738],[102.620407,32.606276],[102.620241,32.606042],[102.620065,32.605793],[102.620064,32.605792],[102.620064,32.605791],[102.620058,32.605784],[102.619896,32.605554],[102.619891,32.605547],[102.619869,32.605487],[102.619777,32.605235],[102.619773,32.605222],[102.619765,32.605202],[102.619734,32.605116],[102.619725,32.605092],[102.619722,32.605083],[102.619715,32.605065],[102.619885,32.604681],[102.619936,32.604566],[102.619949,32.604537],[102.620019,32.604272],[102.620037,32.604206],[102.620063,32.604105],[102.620076,32.604059],[102.620081,32.604039],[102.620124,32.603876],[102.620124,32.603875],[102.620124,32.603874],[102.620229,32.603796],[102.620236,32.603791],[102.620353,32.603704],[102.620366,32.603694],[102.620609,32.603513],[102.620611,32.603512],[102.620613,32.60351],[102.620627,32.6035],[102.620713,32.603436],[102.620715,32.603434],[102.620717,32.603433],[102.620927,32.603277],[102.620996,32.603038],[102.620595,32.602738],[102.620164,32.602357],[102.61981,32.601806],[102.619805,32.601797],[102.619784,32.601759],[102.619753,32.601704],[102.619655,32.601528],[102.619599,32.601428],[102.619576,32.601376],[102.619321,32.600799],[102.61933,32.600758],[102.619337,32.600725],[102.61934,32.60071],[102.619352,32.60065],[102.619357,32.600628],[102.619374,32.600544],[102.619385,32.600493],[102.619406,32.600395],[102.619852,32.600247],[102.619875,32.600045],[102.619878,32.600022],[102.619879,32.600015],[102.619889,32.599925],[102.619891,32.599908],[102.619899,32.599843],[102.619776,32.599746],[102.619574,32.599587],[102.619614,32.59954],[102.619624,32.599528],[102.619941,32.599153],[102.619979,32.599108],[102.619988,32.599097],[102.620093,32.598973],[102.62012,32.598941],[102.620145,32.598912],[102.62056,32.598545],[102.620541,32.598506],[102.620541,32.598505],[102.620541,32.598504],[102.620521,32.598461],[102.620521,32.598461],[102.62052,32.598459],[102.620462,32.598333],[102.620451,32.598311],[102.620386,32.598168],[102.620143,32.597602],[102.620125,32.597578],[102.62011,32.597558],[102.620046,32.59747],[102.620002,32.597411],[102.619648,32.596927],[102.619609,32.596874],[102.619548,32.59682],[102.61935,32.596645],[102.619282,32.596584],[102.619244,32.596551],[102.619213,32.596524],[102.618953,32.596433],[102.618919,32.596421],[102.618556,32.596293],[102.618557,32.596287],[102.618602,32.595951],[102.618908,32.595739],[102.61891,32.595738],[102.618912,32.595736],[102.618947,32.595711],[102.618996,32.595678],[102.619023,32.595659],[102.619127,32.595587],[102.619523,32.595354],[102.619539,32.595345],[102.619564,32.595186],[102.619571,32.595143],[102.619583,32.595066],[102.619583,32.595065],[102.619583,32.595065],[102.619536,32.59498],[102.619482,32.594884],[102.619447,32.594821],[102.619408,32.59475],[102.618823,32.594552],[102.618056,32.594319],[102.617771,32.593939],[102.617563,32.593467],[102.617866,32.59313],[102.618143,32.593025],[102.618246,32.592986],[102.618389,32.592931],[102.61849,32.592893],[102.618648,32.592833],[102.619144,32.592549],[102.619065,32.592209],[102.618865,32.592067],[102.618629,32.5919],[102.61797,32.591624],[102.617462,32.591174],[102.617441,32.591156],[102.617358,32.591082],[102.617339,32.591066],[102.617276,32.59101],[102.617265,32.590998],[102.617152,32.590885],[102.616627,32.590359],[102.61662,32.590286],[102.616616,32.590252],[102.616607,32.59016],[102.6166,32.5901],[102.616592,32.59002],[102.616779,32.589647],[102.616972,32.589585],[102.616999,32.589576],[102.617074,32.589552],[102.617122,32.589536],[102.617158,32.589524],[102.617546,32.589399],[102.617561,32.589394],[102.617608,32.589378],[102.617661,32.589361],[102.617676,32.589356],[102.617765,32.589328],[102.617815,32.589103],[102.617467,32.588833],[102.617208,32.588771],[102.617207,32.58877],[102.617206,32.58877],[102.617029,32.588727],[102.616999,32.58872],[102.616998,32.588719],[102.616997,32.588719],[102.616629,32.58863],[102.616564,32.588505],[102.616522,32.588425],[102.616519,32.588418],[102.616442,32.58827],[102.616396,32.588181],[102.616333,32.58806],[102.616166,32.587681],[102.616241,32.587512],[102.616241,32.587512],[102.616242,32.587511],[102.616247,32.587499],[102.616253,32.587485],[102.616298,32.587384],[102.616305,32.58737],[102.616342,32.587288],[102.616449,32.587048],[102.616514,32.586694],[102.616534,32.586583],[102.616552,32.586486],[102.616519,32.586401],[102.616478,32.586297],[102.616352,32.585974],[102.616344,32.585956],[102.616338,32.585925],[102.61628,32.585623],[102.616278,32.585615],[102.616227,32.585352],[102.616427,32.584529],[102.616407,32.584412],[102.616404,32.584397],[102.616401,32.584379],[102.616389,32.584305],[102.616384,32.584277],[102.616381,32.584261],[102.616365,32.584163],[102.616311,32.58385],[102.616342,32.583623],[102.616346,32.583592],[102.616351,32.583557],[102.61636,32.583488],[102.616361,32.583478],[102.616362,32.583477],[102.616362,32.583475],[102.616367,32.583438],[102.6166,32.583029],[102.617226,32.582808],[102.617249,32.582799],[102.617406,32.582744],[102.617414,32.582741],[102.617522,32.582697],[102.617679,32.582635],[102.617765,32.5826],[102.617767,32.582521],[102.617768,32.582485],[102.61777,32.582433],[102.617774,32.582262],[102.61777,32.582225],[102.617747,32.582039],[102.617738,32.581961],[102.617473,32.581881],[102.617388,32.581793],[102.61735,32.581753],[102.617246,32.581645],[102.617214,32.581612],[102.61721,32.581597],[102.617205,32.581575],[102.617094,32.581122],[102.617281,32.580749],[102.617533,32.580637],[102.617559,32.580626],[102.617559,32.580625],[102.617559,32.580625],[102.617655,32.580583],[102.617675,32.580574],[102.617912,32.580468],[102.61809,32.580389],[102.618139,32.580202],[102.618191,32.57994],[102.618089,32.579725],[102.618076,32.579699],[102.618076,32.579699],[102.618076,32.579699],[102.618065,32.579674],[102.617943,32.579616],[102.6179,32.579595],[102.617835,32.579564],[102.617495,32.5794],[102.617244,32.578794],[102.617266,32.577979],[102.617266,32.577968],[102.617264,32.577963],[102.617158,32.577697],[102.617135,32.577638],[102.617007,32.57732],[102.616933,32.577135],[102.616962,32.576045],[102.617024,32.57537],[102.617128,32.574808],[102.617546,32.574269],[102.617547,32.574268],[102.617547,32.574268],[102.617564,32.574246],[102.617588,32.574215],[102.617617,32.574197],[102.617617,32.574197],[102.617618,32.574196],[102.617779,32.574093],[102.618041,32.573927],[102.618086,32.573899],[102.618204,32.573824],[102.618213,32.573818],[102.618213,32.573818],[102.618214,32.573818],[102.61822,32.573814],[102.618232,32.573802],[102.618447,32.573593],[102.618411,32.573291],[102.618068,32.572834],[102.617373,32.572257],[102.616982,32.571949],[102.617039,32.571461],[102.617046,32.571433],[102.617127,32.571108],[102.617188,32.570863],[102.617347,32.569889],[102.617331,32.56903],[102.61733,32.569001],[102.617329,32.568932],[102.617329,32.568911],[102.617303,32.568825],[102.617237,32.568605],[102.617235,32.568598],[102.617211,32.56852],[102.617125,32.568231],[102.616478,32.567504],[102.616138,32.567062],[102.616119,32.567038],[102.616069,32.566972],[102.616059,32.56696],[102.615962,32.566833],[102.61592,32.56678],[102.615901,32.566006],[102.6159,32.565956],[102.615899,32.565915],[102.615988,32.565587],[102.616011,32.565504],[102.616144,32.565017],[102.616205,32.564417],[102.616316,32.563555],[102.616504,32.563183],[102.616523,32.563175],[102.616705,32.563109],[102.617086,32.562968],[102.617187,32.562887],[102.617223,32.562857],[102.617449,32.562674],[102.617455,32.562449],[102.617435,32.562421],[102.617405,32.562378],[102.617371,32.562329],[102.61737,32.562328],[102.617369,32.562326],[102.617354,32.562305],[102.617228,32.562125],[102.617148,32.56201],[102.617147,32.56201],[102.617028,32.561839],[102.616994,32.561823],[102.616353,32.561508],[102.616302,32.561483],[102.616296,32.56148],[102.616151,32.561409],[102.615762,32.561012],[102.615734,32.560985],[102.615703,32.560952],[102.615287,32.560529],[102.615034,32.560035],[102.614831,32.559317],[102.614545,32.558372],[102.61425,32.557803],[102.614135,32.557124],[102.614149,32.556561],[102.614332,32.556062],[102.614348,32.556017],[102.614365,32.555971],[102.614384,32.55592],[102.614437,32.555777],[102.614949,32.554847],[102.615821,32.553774],[102.616057,32.553252],[102.616033,32.552462],[102.616357,32.55198],[102.616737,32.552072],[102.617168,32.552177],[102.617194,32.552183],[102.618168,32.552277],[102.61853,32.552021],[102.618628,32.551647],[102.618283,32.551302],[102.617712,32.551066],[102.617631,32.550764],[102.617824,32.550203],[102.618076,32.549043],[102.618233,32.548144],[102.61838,32.547621],[102.618569,32.547173],[102.619383,32.546587],[102.619578,32.54663],[102.619616,32.546638],[102.619653,32.546646],[102.619825,32.546684],[102.619927,32.546707],[102.620133,32.546752],[102.620412,32.546688],[102.62053,32.546661],[102.620532,32.546661],[102.620533,32.546661],[102.620648,32.546634],[102.620664,32.54663],[102.620892,32.546578],[102.621171,32.546301],[102.621211,32.546261],[102.621212,32.54626],[102.621213,32.546259],[102.621333,32.546139],[102.621385,32.546088],[102.62146,32.546013],[102.621485,32.545988],[102.621511,32.545969],[102.621587,32.545914],[102.621648,32.545869],[102.6217,32.545832],[102.621734,32.545806],[102.62239,32.545329],[102.622941,32.544625],[102.624279,32.54435],[102.624451,32.544246],[102.624691,32.5441],[102.624692,32.544099],[102.624693,32.544098],[102.624695,32.544097],[102.624776,32.544049],[102.625001,32.543912],[102.62528,32.54377],[102.62531,32.543755],[102.625351,32.543734],[102.62537,32.543724],[102.625855,32.543477],[102.62613,32.543144],[102.626329,32.543051],[102.626403,32.543016],[102.626426,32.543006],[102.626593,32.542927],[102.62662,32.542915],[102.626669,32.542891],[102.626966,32.542985],[102.627813,32.543251],[102.628128,32.543169],[102.628567,32.543054],[102.628618,32.543041],[102.628621,32.543023],[102.628655,32.54286],[102.628685,32.542719],[102.628705,32.542621],[102.628708,32.54261],[102.628719,32.542554],[102.629047,32.542384],[102.629104,32.542355],[102.629114,32.54235],[102.629207,32.542302],[102.62922,32.542295],[102.629265,32.542271],[102.629349,32.542228],[102.629441,32.541815],[102.62945,32.541779],[102.629508,32.54165],[102.629517,32.541628],[102.629563,32.541528],[102.629571,32.54151],[102.629664,32.541304],[102.629685,32.541257],[102.629861,32.54129],[102.62988,32.541294],[102.629969,32.541311],[102.629999,32.541316],[102.630568,32.541424],[102.630756,32.541421],[102.630765,32.541421],[102.630765,32.541421],[102.630813,32.54142],[102.630881,32.541419],[102.630883,32.541419],[102.630884,32.541419],[102.630886,32.541419],[102.630901,32.541419],[102.631635,32.541408],[102.631678,32.541407],[102.631678,32.541408],[102.631678,32.541408],[102.63176,32.541581],[102.631836,32.54174],[102.631845,32.541759],[102.63193,32.541938],[102.631892,32.542158],[102.631889,32.542171],[102.631869,32.542291],[102.631842,32.542444],[102.63184,32.542455],[102.631837,32.542473],[102.631826,32.542538],[102.631933,32.54269],[102.631934,32.542692],[102.631935,32.542694],[102.631989,32.54277],[102.632039,32.542842],[102.63213,32.542858],[102.632132,32.542858],[102.632135,32.542859],[102.632217,32.542873],[102.632235,32.542876],[102.632525,32.542927],[102.633512,32.542532],[102.634104,32.541942],[102.634044,32.541696],[102.634043,32.541694],[102.634043,32.541692],[102.634028,32.54163],[102.634025,32.541618],[102.634022,32.541607],[102.634002,32.541525],[102.633984,32.541451],[102.633966,32.541389],[102.633933,32.541275],[102.633928,32.541256],[102.633928,32.541255],[102.633902,32.541166],[102.633902,32.541164],[102.633902,32.541164],[102.633821,32.540884],[102.633956,32.5405],[102.633965,32.540473],[102.634144,32.540353],[102.634236,32.540291],[102.634704,32.540323],[102.634727,32.540324],[102.634989,32.540342],[102.635121,32.540338],[102.635162,32.540337],[102.635744,32.540319],[102.635927,32.540097],[102.635864,32.539923],[102.635849,32.539881],[102.635805,32.539763],[102.635803,32.539756],[102.635773,32.539748],[102.635763,32.539745],[102.635296,32.539612],[102.635234,32.539594],[102.635224,32.539591],[102.635099,32.539555],[102.635012,32.539569],[102.634853,32.539595],[102.634502,32.539652],[102.634475,32.539656],[102.634465,32.539644],[102.634336,32.539484],[102.634332,32.539479],[102.63426,32.539389],[102.63426,32.539366],[102.634261,32.539351],[102.634263,32.539258],[102.634267,32.539116],[102.634268,32.539088],[102.634269,32.539088],[102.63427,32.539088],[102.634369,32.539048],[102.634383,32.539042],[102.634716,32.538909],[102.635295,32.538845],[102.63535,32.538763],[102.635439,32.538632],[102.635443,32.538626],[102.635512,32.538524],[102.635523,32.538508],[102.635572,32.538437],[102.635849,32.537991],[102.636312,32.538],[102.636457,32.538002],[102.636483,32.538003],[102.636515,32.538003],[102.636583,32.538007],[102.636613,32.538009],[102.637073,32.538034],[102.637093,32.538035],[102.637269,32.538044],[102.637285,32.538045],[102.637513,32.538057],[102.637578,32.538061],[102.637599,32.538036],[102.637606,32.538026],[102.637616,32.538015],[102.637676,32.537942],[102.637682,32.537935],[102.637723,32.537886],[102.637853,32.537728],[102.637863,32.537711],[102.637927,32.537602],[102.637977,32.537517],[102.637999,32.537479],[102.638224,32.537096],[102.638283,32.537056],[102.638375,32.536993],[102.638376,32.536992],[102.638376,32.536992],[102.638493,32.536912],[102.638494,32.536911],[102.638505,32.536904],[102.638572,32.536858],[102.638586,32.536848],[102.638587,32.536848],[102.638587,32.536847],[102.638603,32.536836],[102.638676,32.536787],[102.638761,32.536728],[102.638812,32.536694],[102.638913,32.536207],[102.639317,32.536027],[102.639376,32.536028],[102.639527,32.536031],[102.63956,32.536031],[102.639724,32.536034],[102.639752,32.536035],[102.64012,32.536042],[102.64016,32.536042],[102.640215,32.536023],[102.640236,32.536015],[102.640397,32.535959],[102.640427,32.535948],[102.640563,32.5359],[102.640747,32.53564],[102.640694,32.535356],[102.640675,32.535254],[102.640672,32.535242],[102.640669,32.535225],[102.640967,32.535253],[102.641096,32.535265],[102.641211,32.535275],[102.641281,32.535282],[102.641299,32.535284],[102.641687,32.535319],[102.641735,32.535332],[102.641818,32.535354],[102.641818,32.535354],[102.641925,32.535382],[102.642035,32.535411],[102.642613,32.535562],[102.642891,32.535593],[102.642909,32.535594],[102.642943,32.535598],[102.643001,32.535604],[102.643002,32.535605],[102.643005,32.535605],[102.643453,32.535653],[102.643861,32.535323],[102.643814,32.535071],[102.643805,32.535024],[102.643783,32.534908],[102.643747,32.534607],[102.643747,32.534607],[102.643747,32.534606],[102.643595,32.534421],[102.643403,32.534187],[102.643167,32.534021],[102.643052,32.533827],[102.643625,32.533382],[102.643938,32.533334],[102.64408,32.533313],[102.64409,32.533311],[102.644091,32.533311],[102.644196,32.533295],[102.644196,32.533295],[102.644197,32.533295],[102.644393,32.533265],[102.64468,32.53348],[102.644681,32.53348],[102.644681,32.53348],[102.644682,32.533481],[102.644706,32.533494],[102.644769,32.533529],[102.644796,32.533544],[102.644856,32.533577],[102.645269,32.533806],[102.645627,32.533787],[102.64564,32.533307],[102.645557,32.533128],[102.645509,32.533089],[102.645294,32.532915],[102.645046,32.532714],[102.64499,32.532668],[102.645266,32.532445],[102.645275,32.532438],[102.645286,32.532429],[102.645329,32.532404],[102.645358,32.532387],[102.645388,32.532371],[102.645453,32.532333],[102.646118,32.531954],[102.646955,32.531316],[102.647929,32.530966],[102.649002,32.530496],[102.649638,32.53014],[102.649875,32.530032],[102.650146,32.529907],[102.650175,32.529894],[102.650259,32.529855],[102.650269,32.52985],[102.650322,32.529826],[102.650605,32.530077],[102.650546,32.530877],[102.650545,32.530898],[102.650536,32.531019],[102.650535,32.531031],[102.650534,32.531043],[102.65053,32.531097],[102.650693,32.531584],[102.650709,32.531631],[102.651536,32.531764],[102.651862,32.531816],[102.653072,32.531635],[102.653643,32.53144],[102.653944,32.531337],[102.654094,32.531286],[102.654879,32.53081],[102.655517,32.529994],[102.655534,32.52999],[102.655662,32.529965],[102.655669,32.529963],[102.656314,32.529834],[102.65641,32.529815],[102.656565,32.529784],[102.657123,32.529925],[102.65713,32.529926],[102.657237,32.529953],[102.657244,32.529955],[102.657263,32.52996],[102.657409,32.529996],[102.658259,32.529947],[102.659581,32.529579],[102.659938,32.529226],[102.659987,32.528834],[102.659803,32.528471],[102.659902,32.528379],[102.659942,32.528343],[102.659953,32.528333],[102.66003,32.528261],[102.660043,32.528249],[102.660071,32.528223],[102.66008,32.528215],[102.660501,32.528353],[102.660548,32.528369],[102.660566,32.528375],[102.660672,32.52841],[102.66068,32.528412],[102.660698,32.528418],[102.660922,32.528492],[102.66135,32.528369],[102.661704,32.528114],[102.661943,32.527824],[102.66307,32.527518],[102.664161,32.527146],[102.664518,32.52676],[102.664905,32.526735],[102.665566,32.526551],[102.665926,32.526067],[102.666055,32.525546],[102.666295,32.525224],[102.666917,32.525072],[102.66728,32.524732],[102.667395,32.524624],[102.6674,32.524619],[102.667431,32.524591],[102.667477,32.524574],[102.667492,32.524569],[102.66786,32.524435],[102.667951,32.524547],[102.667961,32.524558],[102.667961,32.524559],[102.667961,32.524559],[102.668012,32.524621],[102.668035,32.52465],[102.668065,32.524686],[102.668159,32.5248],[102.668617,32.525005],[102.669042,32.52498],[102.66932,32.524691],[102.66941,32.524202],[102.669075,32.523706],[102.668774,32.523406],[102.669132,32.522987],[102.669294,32.522965],[102.669367,32.522955],[102.669399,32.522951],[102.6694,32.522951],[102.669403,32.522951],[102.66951,32.522936],[102.669513,32.522936],[102.669515,32.522935],[102.669558,32.52293],[102.669892,32.523459],[102.670378,32.524057],[102.670431,32.524103],[102.670432,32.524104],[102.670432,32.524104],[102.670492,32.524157],[102.670513,32.524176],[102.670528,32.524189],[102.670553,32.524212],[102.670793,32.524424],[102.670986,32.524491],[102.671291,32.524597],[102.671554,32.524486],[102.67211,32.524252],[102.672697,32.523936],[102.673671,32.523595],[102.673758,32.523236],[102.673403,32.523078],[102.673382,32.523068],[102.673251,32.52301],[102.673237,32.523004],[102.673223,32.522998],[102.673136,32.52287],[102.673439,32.522784],[102.673464,32.522776],[102.67358,32.522743],[102.673602,32.522737],[102.67383,32.522671],[102.675023,32.522587],[102.676171,32.521759],[102.677006,32.520979],[102.677587,32.520299],[102.677981,32.520142],[102.678163,32.520069],[102.678266,32.520027],[102.678979,32.519741],[102.679013,32.519669],[102.679067,32.519549],[102.679245,32.519163],[102.679367,32.518942],[102.679507,32.51869],[102.680065,32.518912],[102.680557,32.519293],[102.680821,32.518767],[102.680585,32.518179],[102.680667,32.517438],[102.680855,32.517285],[102.680882,32.517263],[102.680957,32.517203],[102.680962,32.517198],[102.681017,32.517154],[102.681022,32.51715],[102.681434,32.516815],[102.681934,32.516877],[102.681933,32.516894],[102.681933,32.516899],[102.681929,32.517076],[102.681926,32.51717],[102.681919,32.517461],[102.682352,32.517681],[102.682923,32.517373],[102.68311,32.517089],[102.68351,32.516482],[102.684625,32.515951],[102.684905,32.515818],[102.685788,32.515569],[102.685954,32.515649],[102.68597,32.515657],[102.686083,32.515712],[102.686095,32.515718],[102.686179,32.515759],[102.686468,32.5159],[102.686606,32.51631],[102.686613,32.516331],[102.686625,32.516366],[102.686651,32.516445],[102.686655,32.516456],[102.686671,32.516504],[102.686701,32.516594],[102.687266,32.516551],[102.687724,32.515764],[102.688046,32.515451],[102.688716,32.51535],[102.689303,32.515262],[102.690046,32.514998],[102.690441,32.514858],[102.69077,32.514228],[102.691602,32.513553],[102.691931,32.513438],[102.692448,32.513257],[102.692613,32.5132],[102.692987,32.51326],[102.693362,32.513267],[102.693903,32.512961],[102.693915,32.512954],[102.693926,32.512948],[102.693926,32.512948],[102.693927,32.512948],[102.693998,32.512907],[102.694022,32.512914],[102.694049,32.512923],[102.694386,32.513025],[102.694498,32.513059],[102.694515,32.513064],[102.694688,32.513116],[102.69471,32.513123],[102.694744,32.513133],[102.694769,32.513134],[102.695495,32.513147],[102.695589,32.513264],[102.695589,32.513264],[102.695589,32.513264],[102.695617,32.513298],[102.695663,32.513356],[102.695699,32.513401],[102.695798,32.513524],[102.695492,32.513878],[102.695447,32.513931],[102.695347,32.514046],[102.695347,32.514047],[102.695347,32.514047],[102.695344,32.514065],[102.695342,32.514081],[102.695268,32.514682],[102.695765,32.51485],[102.696356,32.514778],[102.696545,32.514754],[102.696895,32.514711],[102.697061,32.514684],[102.697136,32.514672],[102.697181,32.514664],[102.698342,32.514473],[102.699918,32.514077],[102.700242,32.513658],[102.700255,32.513128],[102.700016,32.512699],[102.699908,32.512007],[102.70036,32.511485],[102.701493,32.51124],[102.701513,32.511239],[102.70153,32.511237],[102.70162,32.51123],[102.701654,32.511227],[102.701667,32.511226],[102.702383,32.511168],[102.702384,32.511168],[102.702386,32.511168],[102.702421,32.511165],[102.702484,32.51116],[102.702492,32.511159],[102.70256,32.511154],[102.703558,32.511331],[102.704126,32.511129],[102.704323,32.510627],[102.704368,32.510512],[102.704368,32.510512],[102.704368,32.510512],[102.704394,32.510444],[102.704444,32.51044],[102.704482,32.510437],[102.704959,32.510401],[102.705316,32.511151],[102.705536,32.511604],[102.70556,32.511652],[102.705612,32.51176],[102.705622,32.511781],[102.705622,32.511781],[102.705623,32.511782],[102.705623,32.511782],[102.705732,32.512007],[102.706044,32.512066],[102.706493,32.51165],[102.706572,32.511015],[102.706529,32.510218],[102.706532,32.510217],[102.706534,32.510216],[102.70656,32.510204],[102.706659,32.51016],[102.706669,32.510155],[102.70694,32.510034],[102.7071,32.509963],[102.707407,32.510181],[102.707499,32.510238],[102.707532,32.510258],[102.707622,32.510314],[102.70764,32.510325],[102.708024,32.510563],[102.708224,32.510567],[102.708462,32.510571],[102.709095,32.510318],[102.709417,32.509952],[102.709475,32.50948],[102.709487,32.509387],[102.70949,32.509363],[102.709494,32.50933],[102.709496,32.509317],[102.709529,32.509284],[102.709817,32.509004],[102.709887,32.509029],[102.709954,32.509053],[102.709979,32.509063],[102.710039,32.509084],[102.710063,32.509093],[102.710127,32.509116],[102.710493,32.509494],[102.710806,32.5095],[102.710882,32.50897],[102.71083,32.508545],[102.710504,32.50832],[102.710292,32.508174],[102.71031,32.508154],[102.710723,32.508037],[102.71116,32.507914],[102.711915,32.507729],[102.711916,32.507729],[102.711917,32.507729],[102.711945,32.507722],[102.711979,32.507714],[102.712118,32.507679],[102.712168,32.507667],[102.712609,32.507569],[102.712821,32.507706],[102.712847,32.507723],[102.712937,32.507781],[102.713025,32.507837],[102.713047,32.507852],[102.713073,32.507868],[102.713074,32.507869],[102.713075,32.507869],[102.713287,32.508006],[102.713785,32.508121],[102.714349,32.508078],[102.714991,32.507453],[102.715568,32.506933],[102.715631,32.506963],[102.715692,32.506992],[102.71583,32.507058],[102.715862,32.507073],[102.715942,32.507111],[102.716046,32.50716],[102.71622,32.507243],[102.71638,32.507319],[102.716496,32.507374],[102.7166,32.507404],[102.716857,32.507477],[102.716892,32.507487],[102.717491,32.507658],[102.718252,32.5073],[102.718639,32.50683],[102.718745,32.50632],[102.718782,32.506142],[102.718915,32.505826],[102.719185,32.505702],[102.71919,32.5057],[102.719204,32.505693],[102.71921,32.505691],[102.719359,32.505622],[102.719934,32.505796],[102.719977,32.505809],[102.720006,32.505818],[102.720007,32.505818],[102.720007,32.505818],[102.720017,32.505821],[102.720048,32.505831],[102.720151,32.505862],[102.720291,32.505904],[102.720993,32.505386],[102.721051,32.505351],[102.721117,32.505311],[102.721208,32.505256],[102.721208,32.505255],[102.72121,32.505255],[102.721334,32.505179],[102.721414,32.50513],[102.721438,32.505116],[102.721542,32.505053],[102.721873,32.504851],[102.721875,32.50485],[102.721877,32.504849],[102.722037,32.504752],[102.722519,32.504459],[102.723365,32.503728],[102.723691,32.503446],[102.723805,32.503348],[102.723817,32.503337],[102.723842,32.503315],[102.723843,32.503314],[102.723844,32.503314],[102.72393,32.50324],[102.724398,32.502835],[102.724504,32.502743],[102.726435,32.500656],[102.727914,32.49909],[102.728166,32.498816],[102.728367,32.498597],[102.728395,32.498566],[102.728471,32.498483],[102.728485,32.498468],[102.728492,32.49846],[102.728511,32.49844],[102.72856,32.498386],[102.728629,32.498311],[102.728646,32.498293],[102.729782,32.497054],[102.730612,32.495811],[102.731148,32.495009],[102.732184,32.493648],[102.733208,32.492503],[102.734052,32.491559],[102.736673,32.48943],[102.738793,32.487293],[102.740527,32.485544],[102.740655,32.485416],[102.742389,32.483696],[102.743611,32.482391],[102.745918,32.480256],[102.746753,32.479422],[102.748555,32.477438],[102.750094,32.47598],[102.750684,32.475398],[102.750992,32.475094],[102.752602,32.473318],[102.754269,32.471703],[102.755668,32.470826],[102.757623,32.470277],[102.760208,32.469527],[102.761659,32.469075],[102.762228,32.468925],[102.763549,32.468578],[102.764686,32.468174],[102.766968,32.467029],[102.767291,32.466858],[102.767291,32.466858],[102.767291,32.466858],[102.767501,32.46702],[102.76771,32.467181],[102.768054,32.467329],[102.768399,32.467477],[102.768643,32.467581],[102.768995,32.467731],[102.769195,32.46781],[102.76928,32.467902],[102.769409,32.467974],[102.769609,32.468024],[102.769837,32.468124],[102.769894,32.468338],[102.769909,32.468588],[102.76998,32.468709],[102.770058,32.46883],[102.77008,32.468973],[102.770101,32.469405],[102.770123,32.469837],[102.770116,32.470037],[102.769923,32.470372],[102.769959,32.470629],[102.770044,32.471],[102.770098,32.471089],[102.770242,32.471326],[102.770387,32.471564],[102.77058,32.4718],[102.770672,32.472078],[102.770779,32.472278],[102.770979,32.472535],[102.771022,32.47261],[102.771186,32.472892],[102.771222,32.473071],[102.771251,32.473328],[102.771279,32.473585],[102.771251,32.47397],[102.771183,32.474402],[102.771115,32.474834],[102.771086,32.475159],[102.771058,32.475483],[102.770919,32.475847],[102.770779,32.476211],[102.770669,32.476579],[102.770558,32.476947],[102.770572,32.477089],[102.770658,32.477168],[102.770787,32.477254],[102.771097,32.477325],[102.771408,32.477396],[102.771734,32.477444],[102.77206,32.477492],[102.772236,32.477518],[102.772525,32.477625],[102.772814,32.477732],[102.773092,32.477832],[102.773371,32.477932],[102.773799,32.478053],[102.774049,32.478203],[102.774299,32.478353],[102.774391,32.478406],[102.774598,32.478524],[102.774798,32.478524],[102.775195,32.478453],[102.775591,32.478382],[102.775912,32.478336],[102.776233,32.478291],[102.776554,32.478246],[102.776933,32.478224],[102.777222,32.478142],[102.777511,32.47806],[102.777729,32.477946],[102.777946,32.477832],[102.778268,32.477632],[102.778632,32.477596],[102.77886,32.477582],[102.779146,32.47755],[102.779431,32.477518],[102.77971,32.477511],[102.779988,32.477504],[102.780213,32.477507],[102.780438,32.477511],[102.780677,32.477589],[102.780916,32.477668],[102.781166,32.477775],[102.781416,32.477882],[102.781698,32.47797],[102.781981,32.478059],[102.782008,32.478067],[102.782312,32.47811],[102.782615,32.478153],[102.782847,32.478192],[102.783079,32.478232],[102.783222,32.47821],[102.783621,32.478082],[102.783832,32.477971],[102.784043,32.47786],[102.784235,32.477714],[102.784428,32.477568],[102.784709,32.477406],[102.78499,32.477244],[102.78527,32.477082],[102.785531,32.477064],[102.785791,32.477047],[102.78617,32.477068],[102.786548,32.477089],[102.786934,32.477125],[102.787276,32.477318],[102.787612,32.477549],[102.787947,32.47778],[102.788283,32.47801],[102.788603,32.478216],[102.788922,32.478422],[102.789004,32.478474],[102.789289,32.478724],[102.789575,32.478974],[102.789867,32.479224],[102.790067,32.479395],[102.790126,32.479539],[102.790146,32.479588],[102.790274,32.479802],[102.790396,32.479959],[102.790681,32.480177],[102.790967,32.480395],[102.791202,32.480602],[102.791356,32.480826],[102.791509,32.481051],[102.791756,32.481397],[102.792002,32.481744],[102.79208,32.481886],[102.79208,32.482001],[102.791995,32.482101],[102.791659,32.482393],[102.791496,32.482604],[102.791388,32.482743],[102.791238,32.482957],[102.791152,32.483071],[102.790995,32.483107],[102.790767,32.483164],[102.790738,32.483171],[102.79036,32.483257],[102.790232,32.483321],[102.790053,32.483507],[102.789875,32.483757],[102.789718,32.483935],[102.789603,32.484042],[102.789518,32.484214],[102.789511,32.484328],[102.789546,32.484553],[102.789582,32.484778],[102.789482,32.484985],[102.78935,32.48517],[102.789218,32.485356],[102.789218,32.485356],[102.789217,32.485357],[102.789056,32.485639],[102.788989,32.485755],[102.788911,32.486051],[102.788832,32.486346],[102.788754,32.486641],[102.788691,32.486903],[102.788628,32.487166],[102.788568,32.487412],[102.788472,32.487811],[102.788376,32.488211],[102.788276,32.488514],[102.788176,32.488818],[102.788088,32.488952],[102.787957,32.489153],[102.787826,32.489353],[102.78764,32.489639],[102.787569,32.489856],[102.787498,32.490074],[102.787492,32.490101],[102.787405,32.490503],[102.787405,32.490838],[102.787405,32.491174],[102.787405,32.491438],[102.787365,32.491662],[102.787326,32.491887],[102.787324,32.491912],[102.787298,32.492151],[102.787291,32.492294],[102.787233,32.492551],[102.787169,32.492851],[102.787151,32.493276],[102.787133,32.4937],[102.787098,32.494122],[102.786976,32.494329],[102.786898,32.494557],[102.786877,32.494871],[102.786877,32.495128],[102.786905,32.495407],[102.786869,32.495564],[102.786812,32.495655],[102.786748,32.495756],[102.78647,32.495949],[102.786248,32.496045],[102.786027,32.496142],[102.785767,32.496164],[102.785692,32.49617],[102.78527,32.496206],[102.784963,32.496277],[102.784656,32.496349],[102.78435,32.49642],[102.78395,32.496531],[102.78355,32.496642],[102.783186,32.496763],[102.782912,32.496903],[102.782639,32.497044],[102.782365,32.497184],[102.782058,32.497373],[102.781751,32.497562],[102.781394,32.497805],[102.781037,32.498048],[102.780843,32.498153],[102.780558,32.498307],[102.780274,32.498462],[102.780071,32.498557],[102.779724,32.498719],[102.779453,32.498883],[102.779181,32.498919],[102.778953,32.498947],[102.778724,32.498976],[102.778697,32.498981],[102.778654,32.498989],[102.778408,32.499036],[102.778161,32.499083],[102.777889,32.499165],[102.777618,32.499247],[102.777261,32.49934],[102.776947,32.499554],[102.776769,32.499761],[102.776583,32.500161],[102.776441,32.50041],[102.776347,32.500575],[102.776069,32.500917],[102.775849,32.501231],[102.77563,32.501546],[102.77541,32.50186],[102.775191,32.502174],[102.774984,32.502395],[102.774777,32.502616],[102.774584,32.502859],[102.774391,32.503102],[102.774263,32.503237],[102.774042,32.503316],[102.773795,32.503395],[102.773548,32.503474],[102.77337,32.503531],[102.773085,32.503623],[102.772735,32.503773],[102.772386,32.503923],[102.772022,32.504105],[102.771657,32.504287],[102.7714,32.504447],[102.771144,32.504608],[102.770858,32.504851],[102.770826,32.504881],[102.770587,32.505108],[102.77043,32.505436],[102.770339,32.505684],[102.77022,32.506009],[102.770101,32.506335],[102.769994,32.506564],[102.769887,32.506792],[102.769616,32.507056],[102.769345,32.507321],[102.76906,32.507473],[102.768775,32.507626],[102.768545,32.507749],[102.768367,32.507892],[102.768317,32.507956],[102.768295,32.508042],[102.768324,32.508077],[102.768663,32.508231],[102.769002,32.508384],[102.769327,32.508498],[102.769652,32.508613],[102.77003,32.508727],[102.770255,32.508837],[102.77048,32.508948],[102.770815,32.509087],[102.771151,32.509226],[102.771536,32.509419],[102.771779,32.509562],[102.772067,32.509793],[102.772355,32.510024],[102.772643,32.510254],[102.772821,32.510472],[102.772999,32.51069],[102.773185,32.51109],[102.773264,32.511439],[102.773342,32.511789],[102.773406,32.512125],[102.773571,32.51246],[102.773689,32.512655],[102.773848,32.512914],[102.774006,32.513174],[102.774056,32.513506],[102.774106,32.513838],[102.77422,32.514148],[102.774334,32.514459],[102.774347,32.514488],[102.774448,32.514713],[102.774549,32.514937],[102.774602,32.515233],[102.774656,32.51553],[102.774756,32.515851],[102.774855,32.516079],[102.774955,32.516308],[102.775162,32.516636],[102.775344,32.5169],[102.775526,32.517164],[102.775634,32.517371],[102.775741,32.517578],[102.775791,32.517914],[102.775813,32.518135],[102.775841,32.518414],[102.775883,32.518671],[102.775926,32.518928],[102.776048,32.519263],[102.776172,32.519455],[102.776297,32.519647],[102.776326,32.519691],[102.776526,32.51992],[102.776597,32.520155],[102.776612,32.520498],[102.776597,32.520759],[102.776583,32.521019],[102.776644,32.521362],[102.776704,32.521704],[102.776751,32.521947],[102.776797,32.52219],[102.776859,32.522497],[102.776921,32.522804],[102.776983,32.523111],[102.777004,32.52341],[102.776963,32.523703],[102.776922,32.523997],[102.776881,32.524289],[102.77684,32.524581],[102.776729,32.524845],[102.776619,32.525109],[102.776612,32.525288],[102.776647,32.525473],[102.776738,32.525614],[102.776917,32.525891],[102.777096,32.526168],[102.777275,32.526444],[102.77749,32.526769],[102.777704,32.527094],[102.777875,32.527222],[102.777996,32.527279],[102.778325,32.527272],[102.778675,32.527229],[102.778903,32.527215],[102.779109,32.527215],[102.779153,32.527215],[102.77936,32.527258],[102.779667,32.527429],[102.779912,32.52761],[102.780168,32.527798],[102.780423,32.527986],[102.780766,32.528161],[102.781109,32.528336],[102.781401,32.528557],[102.781544,32.528757],[102.781798,32.528796],[102.782051,32.528836],[102.782322,32.528832],[102.782593,32.528828],[102.782915,32.528768],[102.783236,32.528707],[102.783644,32.528625],[102.783871,32.528579],[102.784292,32.528543],[102.784477,32.528554],[102.784792,32.528571],[102.785188,32.5285],[102.785584,32.528429],[102.785906,32.528354],[102.786227,32.528279],[102.786612,32.528207],[102.786948,32.528179],[102.787191,32.528172],[102.787483,32.5282],[102.787726,32.528272],[102.787922,32.528386],[102.788119,32.5285],[102.78849,32.5287],[102.788647,32.528821],[102.788847,32.529082],[102.789047,32.529342],[102.789314,32.529564],[102.789582,32.529785],[102.789921,32.530063],[102.79026,32.530342],[102.790588,32.530549],[102.790917,32.530756],[102.791139,32.530865],[102.791452,32.53102],[102.791458,32.531025],[102.791701,32.531233],[102.791945,32.531441],[102.792162,32.53162],[102.79238,32.531798],[102.792673,32.53198],[102.792966,32.532162],[102.793287,32.532401],[102.793608,32.53264],[102.793821,32.532942],[102.793915,32.533076],[102.794099,32.53344],[102.794243,32.533725],[102.794347,32.533975],[102.79445,32.534225],[102.794498,32.534335],[102.794485,32.534424],[102.794612,32.53465],[102.794622,32.534682],[102.79475,32.534775],[102.794776,32.534784],[102.794971,32.534853],[102.795014,32.534862],[102.795384,32.534921],[102.795522,32.534971],[102.795671,32.535003],[102.795819,32.535079],[102.795835,32.535084],[102.795841,32.535089],[102.796163,32.535253],[102.796485,32.535417],[102.796678,32.535589],[102.796929,32.535954],[102.797064,32.53615],[102.797199,32.536345],[102.797317,32.5366],[102.797418,32.536819],[102.79752,32.537038],[102.797547,32.537102],[102.79762,32.537273],[102.797741,32.537373],[102.798041,32.537602],[102.798255,32.537809],[102.798469,32.538016],[102.798612,32.538251],[102.798912,32.538351],[102.799304,32.538487],[102.799573,32.538581],[102.79959,32.538587],[102.799811,32.538665],[102.79999,32.538794],[102.800166,32.538946],[102.800342,32.539098],[102.800493,32.5392],[102.800702,32.539342],[102.800911,32.539483],[102.801021,32.539639],[102.801041,32.539794],[102.800921,32.540004],[102.80078,32.540208],[102.800638,32.540413],[102.800497,32.540618],[102.800355,32.540822],[102.800281,32.541013],[102.800276,32.541265],[102.80043,32.541478],[102.800727,32.541781],[102.800896,32.541953],[102.801066,32.542125],[102.801235,32.542297],[102.801404,32.542469],[102.801573,32.542641],[102.801742,32.542813],[102.801974,32.543067],[102.802207,32.543322],[102.802362,32.543497],[102.80247,32.54373],[102.802596,32.544162],[102.802722,32.544593],[102.802848,32.545025],[102.8029,32.545252],[102.802951,32.545479],[102.803003,32.545707],[102.803054,32.545934],[102.803048,32.546261],[102.802881,32.54649],[102.802608,32.546813],[102.802334,32.547136],[102.802061,32.547459],[102.801913,32.547673],[102.801766,32.547887],[102.801619,32.548101],[102.801471,32.548316],[102.801326,32.548673],[102.80118,32.54903],[102.801035,32.549387],[102.800926,32.549743],[102.800817,32.550099],[102.800708,32.550455],[102.800665,32.550781],[102.800626,32.551087],[102.800623,32.551107],[102.800637,32.551483],[102.800651,32.551859],[102.800733,32.552208],[102.800783,32.552418],[102.800816,32.552557],[102.800931,32.552734],[102.800953,32.552878],[102.801062,32.553169],[102.801203,32.553549],[102.801307,32.553759],[102.80141,32.55397],[102.801692,32.55432],[102.80176,32.554405],[102.802067,32.554648],[102.802374,32.554891],[102.802745,32.555142],[102.803116,32.555394],[102.803488,32.555646],[102.803859,32.555897],[102.804201,32.556115],[102.804544,32.556333],[102.804758,32.55649],[102.804944,32.556583],[102.805094,32.556697],[102.805158,32.556839],[102.805186,32.557002],[102.805188,32.55709],[102.805196,32.557363],[102.805118,32.55776],[102.805099,32.557855],[102.805062,32.558178],[102.805024,32.558501],[102.804987,32.558824],[102.804851,32.559238],[102.804818,32.559337],[102.804715,32.559638],[102.804595,32.559812],[102.804523,32.559916],[102.804316,32.560123],[102.804247,32.560195],[102.803992,32.560462],[102.803737,32.56073],[102.803537,32.560951],[102.803338,32.561172],[102.803211,32.561378],[102.803085,32.561583],[102.802938,32.561822],[102.802795,32.562093],[102.802652,32.562365],[102.802463,32.562682],[102.802274,32.563],[102.802103,32.563271],[102.801839,32.56361],[102.801574,32.563949],[102.80146,32.564149],[102.801377,32.564292],[102.801153,32.564677],[102.801004,32.564859],[102.800889,32.564999],[102.800889,32.565106],[102.800953,32.565249],[102.801253,32.565427],[102.80134,32.565504],[102.80151,32.565655],[102.801741,32.565879],[102.801972,32.566103],[102.802203,32.566326],[102.802213,32.566341],[102.802395,32.566605],[102.802542,32.56683],[102.802688,32.567055],[102.802834,32.567265],[102.802981,32.567476],[102.803273,32.56774],[102.803552,32.567958],[102.80383,32.568175],[102.804134,32.568325],[102.804437,32.568475],[102.804751,32.568539],[102.805151,32.568625],[102.805465,32.568561],[102.805779,32.568496],[102.806122,32.568447],[102.806432,32.568418],[102.806743,32.568389],[102.807088,32.568382],[102.807433,32.568375],[102.807778,32.568368],[102.80811,32.568404],[102.808442,32.568439],[102.808781,32.568504],[102.80912,32.568568],[102.809441,32.568621],[102.809762,32.568675],[102.810164,32.568851],[102.810402,32.568956],[102.81064,32.56906],[102.810658,32.569069],[102.811009,32.569247],[102.811359,32.569425],[102.81171,32.569603],[102.812061,32.569781],[102.812396,32.569956],[102.812732,32.570131],[102.813017,32.570414],[102.813303,32.570697],[102.813588,32.570981],[102.813831,32.571184],[102.814074,32.571388],[102.814381,32.571509],[102.814523,32.571559],[102.814895,32.571473],[102.815152,32.571259],[102.815409,32.571045],[102.815787,32.570809],[102.816165,32.570574],[102.816558,32.570502],[102.816951,32.570431],[102.817386,32.570364],[102.817821,32.570298],[102.818257,32.570231],[102.81857,32.5702],[102.818913,32.570165],[102.819256,32.570131],[102.819556,32.570174],[102.819857,32.570216],[102.820157,32.570259],[102.820363,32.570288],[102.820795,32.570388],[102.821226,32.570488],[102.821521,32.570559],[102.821817,32.570631],[102.822112,32.570702],[102.822461,32.570838],[102.822811,32.570973],[102.823128,32.571271],[102.823444,32.571568],[102.823761,32.571866],[102.824032,32.572206],[102.824303,32.572546],[102.824574,32.572887],[102.824769,32.573201],[102.824965,32.573515],[102.82516,32.573829],[102.825289,32.574103],[102.825418,32.574377],[102.825547,32.57465],[102.825567,32.574693],[102.825752,32.575092],[102.825913,32.575289],[102.826073,32.575485],[102.826395,32.575696],[102.826716,32.575906],[102.827111,32.576075],[102.827506,32.576244],[102.827901,32.576413],[102.828215,32.576538],[102.828529,32.576663],[102.828907,32.576877],[102.829286,32.577091],[102.8296,32.577227],[102.829914,32.577362],[102.830214,32.577562],[102.830242,32.577605],[102.830242,32.577606],[102.830242,32.577607],[102.830242,32.577684],[102.830157,32.577841],[102.829885,32.578055],[102.829718,32.578217],[102.8296,32.578333],[102.829478,32.57864],[102.829357,32.579068],[102.829236,32.579497],[102.829114,32.579925],[102.829014,32.580339],[102.828914,32.580753],[102.828879,32.581181],[102.828864,32.581446],[102.828972,32.581806],[102.829079,32.582166],[102.82916,32.582481],[102.82924,32.582795],[102.829321,32.583109],[102.829418,32.58338],[102.829514,32.583651],[102.829694,32.584014],[102.829875,32.584377],[102.830055,32.584739],[102.830206,32.585043],[102.830367,32.585432],[102.830528,32.585821],[102.830688,32.58621],[102.830849,32.586599],[102.831031,32.586994],[102.831106,32.587156],[102.831127,32.587313],[102.831085,32.587563],[102.830956,32.587749],[102.830737,32.588004],[102.830519,32.588259],[102.830485,32.588298],[102.830197,32.588627],[102.82991,32.588957],[102.829842,32.589034],[102.829734,32.589242],[102.829626,32.589451],[102.829564,32.589569],[102.829386,32.58994],[102.829207,32.590311],[102.829076,32.590663],[102.828946,32.591015],[102.828886,32.591175],[102.828907,32.591475],[102.828929,32.591775],[102.828872,32.592139],[102.828797,32.592481],[102.828722,32.592824],[102.828658,32.593115],[102.828595,32.593406],[102.828544,32.59364],[102.828493,32.593873],[102.828493,32.59428],[102.828496,32.59434],[102.828506,32.594577],[102.828516,32.594813],[102.828529,32.595143],[102.828543,32.595472],[102.828632,32.595772],[102.828722,32.596072],[102.828738,32.596151],[102.828822,32.596565],[102.828836,32.596789],[102.82885,32.597014],[102.828793,32.5974],[102.828679,32.59765],[102.828565,32.597899],[102.828364,32.598181],[102.82819,32.598426],[102.828015,32.59867],[102.82795,32.598777],[102.827614,32.599066],[102.827303,32.599387],[102.826992,32.599708],[102.826681,32.600028],[102.826371,32.600349],[102.826206,32.600549],[102.826041,32.600748],[102.825896,32.601112],[102.825843,32.601419],[102.825813,32.601766],[102.825806,32.601997],[102.8258,32.602228],[102.825761,32.602458],[102.825721,32.602688],[102.825659,32.602918],[102.825596,32.603149],[102.825522,32.603379],[102.825448,32.603609],[102.82534,32.603847],[102.825231,32.604086],[102.825181,32.604317],[102.82513,32.604547],[102.82506,32.604786],[102.824991,32.605024],[102.824922,32.605263],[102.824852,32.605501],[102.824731,32.605807],[102.824611,32.606113],[102.824509,32.606516],[102.8245,32.606921],[102.824582,32.607289],[102.824732,32.607657],[102.824928,32.608027],[102.825124,32.608396],[102.82532,32.608766],[102.825516,32.609135],[102.825579,32.609358],[102.825643,32.60958],[102.825749,32.60989],[102.825855,32.610201],[102.825938,32.610604],[102.826021,32.611007],[102.826059,32.611296],[102.825983,32.611602],[102.825817,32.611947],[102.825716,32.612186],[102.825615,32.612425],[102.825514,32.612664],[102.825414,32.612903],[102.825313,32.613142],[102.825233,32.613332],[102.825212,32.613381],[102.825113,32.613687],[102.824924,32.613954],[102.824715,32.614124],[102.824472,32.614255],[102.824229,32.614385],[102.823848,32.61459],[102.823667,32.614688],[102.823539,32.614725],[102.823232,32.614767],[102.822925,32.61481],[102.82254,32.614857],[102.822154,32.614903],[102.821826,32.614989],[102.821433,32.615117],[102.821085,32.615334],[102.820791,32.615517],[102.820505,32.615649],[102.82022,32.615781],[102.820179,32.615813],[102.819917,32.61602],[102.819613,32.616259],[102.819501,32.616394],[102.819328,32.616602],[102.819063,32.616909],[102.819006,32.617095],[102.819006,32.617344],[102.819091,32.617611],[102.819092,32.617616],[102.819263,32.617889],[102.819435,32.618163],[102.819606,32.618437],[102.819681,32.618686],[102.819756,32.618936],[102.819777,32.619074],[102.819799,32.619215],[102.819763,32.619572],[102.819699,32.619804],[102.819635,32.620036],[102.819583,32.62019],[102.81952,32.620378],[102.819456,32.620535],[102.819346,32.620669],[102.819292,32.620735],[102.819067,32.620906],[102.818842,32.621078],[102.818704,32.621131],[102.818348,32.621269],[102.817993,32.621406],[102.817707,32.621575],[102.817422,32.621744],[102.817136,32.621913],[102.816911,32.622064],[102.81671,32.622199],[102.816508,32.622334],[102.816322,32.622491],[102.816208,32.62262],[102.816237,32.622791],[102.816239,32.62287],[102.816244,32.623005],[102.81623,32.62321],[102.81623,32.623219],[102.81613,32.623533],[102.81593,32.623893],[102.81573,32.624252],[102.81553,32.624611],[102.81528,32.624915],[102.81503,32.625218],[102.814702,32.625518],[102.814374,32.625818],[102.814045,32.626118],[102.813753,32.626417],[102.813653,32.626482],[102.813467,32.626546],[102.81341,32.626565],[102.813296,32.626603],[102.813046,32.626717],[102.812832,32.626888],[102.812618,32.627045],[102.81251,32.627167],[102.812296,32.627324],[102.812196,32.627481],[102.812096,32.627738],[102.811954,32.627938],[102.811832,32.628045],[102.811718,32.628159],[102.81164,32.628316],[102.811618,32.628516],[102.811661,32.628896],[102.811668,32.628959],[102.811725,32.629401],[102.811781,32.629844],[102.811782,32.629851],[102.811782,32.630229],[102.811707,32.630618],[102.811632,32.631007],[102.811554,32.6314],[102.81144,32.631714],[102.811404,32.631892],[102.81144,32.632],[102.811604,32.632199],[102.811911,32.632464],[102.812218,32.632728],[102.812453,32.63302],[102.812689,32.633199],[102.812889,32.633263],[102.813131,32.633299],[102.813141,32.633302],[102.813223,32.633361],[102.813512,32.633655],[102.813682,32.633973],[102.813708,32.634024],[102.813906,32.634374],[102.81402,32.634574],[102.814135,32.634774],[102.81425,32.634973],[102.814365,32.635173],[102.814553,32.635388],[102.814741,32.635602],[102.814944,32.635731],[102.815111,32.635838],[102.815147,32.63586],[102.815392,32.636048],[102.815628,32.636228],[102.815638,32.636235],[102.815958,32.636504],[102.816279,32.636773],[102.816599,32.637042],[102.816824,32.63719],[102.817049,32.637338],[102.817377,32.637553],[102.817507,32.637682],[102.81751,32.637687],[102.81765,32.637932],[102.817832,32.638185],[102.818014,32.638438],[102.81825,32.63866],[102.818649,32.638831],[102.818985,32.639092],[102.81932,32.639352],[102.819556,32.639645],[102.819877,32.639887],[102.820141,32.64008],[102.820405,32.640273],[102.820712,32.640392],[102.821019,32.640511],[102.821326,32.64063],[102.821601,32.640786],[102.821875,32.640942],[102.822104,32.641072],[102.822291,32.641237],[102.822597,32.641508],[102.822861,32.641708],[102.823125,32.641908],[102.823389,32.642107],[102.823624,32.642257],[102.823859,32.642406],[102.824192,32.642617],[102.824524,32.642828],[102.82481,32.643071],[102.825095,32.643314],[102.825285,32.643507],[102.825474,32.643699],[102.825602,32.643956],[102.825816,32.644206],[102.826009,32.644285],[102.826384,32.644424],[102.826759,32.644563],[102.827073,32.644717],[102.827387,32.64487],[102.827662,32.645077],[102.827936,32.645284],[102.828163,32.645553],[102.828389,32.645822],[102.828615,32.646091],[102.828712,32.64618],[102.828872,32.646326],[102.829086,32.646433],[102.82945,32.646655],[102.829624,32.646755],[102.829735,32.646819],[102.82985,32.646954],[102.829892,32.647154],[102.829895,32.647186],[102.829921,32.647461],[102.829875,32.647861],[102.829828,32.648261],[102.829757,32.648614],[102.829685,32.648967],[102.829589,32.649207],[102.829493,32.649446],[102.829279,32.64981],[102.829209,32.649879],[102.829029,32.65006],[102.828857,32.650217],[102.828743,32.650452],[102.828686,32.650788],[102.828661,32.650906],[102.828593,32.65123],[102.828465,32.651559],[102.828336,32.651887],[102.828168,32.652187],[102.828001,32.652487],[102.827929,32.652658],[102.827737,32.652879],[102.827423,32.653116],[102.827109,32.653353],[102.827094,32.653365],[102.82683,32.6536],[102.826666,32.653836],[102.826644,32.654136],[102.826752,32.654336],[102.827019,32.65461],[102.827287,32.654885],[102.827555,32.65516],[102.827822,32.655435],[102.827978,32.655628],[102.828133,32.655821],[102.828236,32.655949],[102.828336,32.656142],[102.828429,32.656299],[102.828429,32.656491],[102.828386,32.656663],[102.828193,32.656955],[102.82812,32.657215],[102.828047,32.657474],[102.828018,32.657682],[102.827976,32.657981],[102.827953,32.658152],[102.827949,32.658176],[102.827938,32.658404],[102.827926,32.658633],[102.827922,32.658704],[102.827869,32.658943],[102.827815,32.659182],[102.827722,32.659418],[102.827672,32.659618],[102.82768,32.659854],[102.827887,32.66025],[102.828094,32.660646],[102.82826,32.660901],[102.828322,32.660996],[102.828436,32.661217],[102.828436,32.661345],[102.828543,32.661424],[102.828765,32.661538],[102.829139,32.661624],[102.829514,32.661709],[102.829889,32.661795],[102.830264,32.661881],[102.830606,32.662021],[102.830949,32.662162],[102.831292,32.662302],[102.83157,32.662454],[102.831848,32.662607],[102.832127,32.662759],[102.83234,32.662956],[102.832576,32.663175],[102.832812,32.663394],[102.832998,32.663682],[102.833183,32.66397],[102.833369,32.664258],[102.833643,32.664585],[102.83389,32.664879],[102.834068,32.665222],[102.834168,32.665386],[102.834325,32.665436],[102.834482,32.665393],[102.834732,32.665332],[102.834982,32.665272],[102.835239,32.665261],[102.835496,32.66525],[102.835808,32.665298],[102.836119,32.665346],[102.836162,32.665358],[102.836554,32.665558],[102.836946,32.665757],[102.837338,32.665957],[102.837663,32.666128],[102.837987,32.666299],[102.838348,32.666564],[102.838708,32.666828],[102.839008,32.667078],[102.839308,32.667327],[102.839672,32.66757],[102.839779,32.667749],[102.839929,32.667998],[102.840079,32.668248],[102.8401,32.668284],[102.840322,32.668512],[102.8405,32.668634],[102.84075,32.668748],[102.841064,32.668791],[102.841378,32.668834],[102.841685,32.668886],[102.841992,32.668938],[102.842299,32.668991],[102.842486,32.669046],[102.842784,32.669133],[102.843113,32.669355],[102.843434,32.669469],[102.843655,32.669569],[102.843827,32.669847],[102.844059,32.6702],[102.844225,32.670452],[102.84439,32.670704],[102.844559,32.670923],[102.844728,32.671142],[102.844945,32.671422],[102.845161,32.671703],[102.845347,32.67191],[102.845533,32.672117],[102.845694,32.672245],[102.845704,32.672253],[102.84574,32.67227],[102.845802,32.672302],[102.845825,32.672308],[102.845924,32.672334],[102.846118,32.672346],[102.846375,32.67231],[102.846561,32.672285],[102.847003,32.672224],[102.847267,32.672224],[102.84753,32.672224],[102.847596,32.672224],[102.847986,32.672286],[102.848244,32.672327],[102.848376,32.672348],[102.848766,32.67241],[102.849159,32.672481],[102.849552,32.672553],[102.849944,32.672624],[102.850183,32.672674],[102.850422,32.672724],[102.850601,32.672791],[102.851001,32.672939],[102.8514,32.673088],[102.8518,32.67325],[102.8522,32.673413],[102.8526,32.673575],[102.852999,32.673738],[102.853263,32.673905],[102.853528,32.674073],[102.853727,32.674252],[102.853927,32.674344],[102.854113,32.674355],[102.85417,32.674359],[102.85451,32.674249],[102.854851,32.67414],[102.855191,32.67403],[102.855278,32.67398],[102.855541,32.673827],[102.855805,32.673673],[102.856033,32.673449],[102.856262,32.673224],[102.856487,32.673073],[102.856519,32.673052],[102.856761,32.67296],[102.857068,32.672924],[102.857318,32.672938],[102.857568,32.672952],[102.857839,32.673013],[102.85811,32.673074],[102.858209,32.673122],[102.858452,32.673199],[102.858668,32.673285],[102.858885,32.673371],[102.859101,32.673457],[102.859317,32.673543],[102.859533,32.673629],[102.859749,32.673715],[102.859955,32.673849],[102.860161,32.673984],[102.860296,32.674072],[102.860581,32.674232],[102.860866,32.674392],[102.861151,32.674551],[102.861398,32.674753],[102.861645,32.674954],[102.861651,32.674958],[102.861777,32.675088],[102.861953,32.67527],[102.862129,32.675451],[102.862286,32.675644],[102.862579,32.675908],[102.862869,32.676067],[102.86316,32.676227],[102.86345,32.676386],[102.863714,32.67652],[102.863979,32.676653],[102.864278,32.676804],[102.864578,32.676956],[102.864878,32.677107],[102.865107,32.677208],[102.86519,32.677318],[102.865304,32.677458],[102.865312,32.677546],[102.865295,32.677613],[102.865074,32.677945],[102.864853,32.678277],[102.864781,32.678484],[102.864674,32.678798],[102.864696,32.679112],[102.864781,32.679384],[102.864938,32.679698],[102.865232,32.679999],[102.865488,32.680262],[102.865631,32.680476],[102.865773,32.68069],[102.865848,32.680943],[102.865923,32.681197],[102.865945,32.681425],[102.865816,32.681682],[102.865823,32.681868],[102.865909,32.682011],[102.865952,32.682196],[102.865995,32.68241],[102.865988,32.682646],[102.866016,32.682839],[102.866088,32.683046],[102.866173,32.683188],[102.866316,32.683281],[102.866687,32.683388],[102.866998,32.683428],[102.867308,32.683467],[102.867465,32.683545],[102.867697,32.683692],[102.867929,32.683838],[102.868136,32.683995],[102.868229,32.684145],[102.868251,32.684331],[102.868272,32.684538],[102.86835,32.684652],[102.868486,32.684752],[102.868832,32.684912],[102.869178,32.685073],[102.869236,32.685141],[102.8694,32.685337],[102.869568,32.685505],[102.869735,32.685673],[102.869887,32.685872],[102.870142,32.686208],[102.870385,32.686493],[102.870613,32.686743],[102.87091,32.686954],[102.871206,32.687164],[102.871225,32.68718],[102.871563,32.68745],[102.871834,32.687764],[102.871977,32.687989],[102.87212,32.688214],[102.872173,32.688612],[102.872198,32.688799],[102.872177,32.68911],[102.872155,32.68942],[102.872127,32.689583],[102.872062,32.689948],[102.871985,32.690345],[102.871907,32.690741],[102.871905,32.690748],[102.871913,32.690934],[102.872034,32.691162],[102.872079,32.691238],[102.872198,32.69144],[102.872323,32.691651],[102.872448,32.691862],[102.872499,32.691967],[102.872662,32.692304],[102.872719,32.692529],[102.872725,32.692553],[102.872776,32.692754],[102.872933,32.693054],[102.873078,32.693209],[102.873138,32.69329],[102.873315,32.693446],[102.873331,32.69346],[102.873637,32.693638],[102.873943,32.693816],[102.874084,32.693819],[102.874226,32.693797],[102.874496,32.693671],[102.874785,32.69354],[102.875074,32.693409],[102.875362,32.693278],[102.87564,32.69318],[102.875917,32.693082],[102.876263,32.693053],[102.87661,32.693023],[102.876667,32.693018],[102.877021,32.693008],[102.877376,32.692999],[102.87773,32.692989],[102.878059,32.692925],[102.878401,32.692775],[102.87866,32.692634],[102.878919,32.692493],[102.878951,32.692475],[102.879151,32.69234],[102.87954,32.692236],[102.879929,32.692133],[102.880286,32.692083],[102.880643,32.692033],[102.880886,32.691999],[102.88109,32.691948],[102.881454,32.691905],[102.881817,32.691862],[102.882169,32.691848],[102.882313,32.691891],[102.882335,32.69189],[102.882592,32.69194],[102.882849,32.69199],[102.88317,32.692126],[102.883484,32.692375],[102.883798,32.692625],[102.883962,32.692854],[102.884155,32.693196],[102.88425,32.693335],[102.884485,32.693493],[102.884719,32.69365],[102.884972,32.693763],[102.885225,32.693877],[102.885251,32.693885],[102.885481,32.693994],[102.885711,32.694103],[102.885979,32.694206],[102.886246,32.69431],[102.886599,32.694331],[102.886951,32.694353],[102.887303,32.694374],[102.887703,32.694474],[102.887981,32.694474],[102.888145,32.694353],[102.888171,32.694333],[102.888499,32.694072],[102.888828,32.693812],[102.888866,32.693782],[102.889188,32.693547],[102.889511,32.693312],[102.889523,32.693303],[102.88983,32.693089],[102.890227,32.693034],[102.890237,32.693032],[102.890451,32.693061],[102.890858,32.693096],[102.891161,32.693139],[102.891465,32.693182],[102.891842,32.693225],[102.892188,32.693264],[102.892535,32.693303],[102.892835,32.693313],[102.893135,32.693323],[102.893435,32.693332],[102.893627,32.693361],[102.893892,32.693432],[102.894093,32.693514],[102.894371,32.693626],[102.894648,32.693739],[102.894962,32.693867],[102.895276,32.693996],[102.895519,32.694067],[102.895748,32.694124],[102.895976,32.694182],[102.896267,32.694221],[102.896497,32.694253],[102.89674,32.694274],[102.896968,32.69436],[102.897197,32.694446],[102.897446,32.694681],[102.897604,32.694863],[102.897761,32.695045],[102.897937,32.695274],[102.898003,32.695359],[102.8982,32.695612],[102.898396,32.695866],[102.898549,32.696082],[102.898589,32.696137],[102.898731,32.696402],[102.898867,32.69663],[102.899088,32.696716],[102.899388,32.696762],[102.899688,32.696808],[102.900026,32.696844],[102.900364,32.69688],[102.900702,32.696916],[102.901087,32.697037],[102.901473,32.697158],[102.901687,32.697233],[102.901901,32.697308],[102.902229,32.697426],[102.902558,32.697544],[102.902797,32.697676],[102.903036,32.697808],[102.903375,32.698033],[102.903714,32.698258],[102.903925,32.698365],[102.904135,32.698472],[102.904378,32.698661],[102.904621,32.69885],[102.904856,32.698993],[102.905227,32.699128],[102.905366,32.699249],[102.90562,32.699471],[102.905756,32.699542],[102.905899,32.69957],[102.905972,32.699593],[102.906074,32.699581],[102.906177,32.699539],[102.90634,32.699435],[102.906635,32.699134],[102.906929,32.698833],[102.907224,32.698532],[102.907519,32.698231],[102.907787,32.698006],[102.908054,32.697782],[102.908277,32.697642],[102.908475,32.697531],[102.908672,32.69742],[102.908955,32.697318],[102.909237,32.697216],[102.909545,32.697148],[102.909853,32.69708],[102.910139,32.69713],[102.910306,32.697196],[102.910517,32.69728],[102.910827,32.697433],[102.911138,32.697587],[102.911452,32.697782],[102.911802,32.698001],[102.912134,32.69824],[102.912466,32.698479],[102.912644,32.698566],[102.913022,32.69875],[102.913262,32.698896],[102.913501,32.699043],[102.913822,32.69915],[102.913869,32.699175],[102.914143,32.699321],[102.914257,32.699421],[102.914285,32.69954],[102.914286,32.699541],[102.914286,32.699542],[102.914343,32.699735],[102.914436,32.699807],[102.9147,32.699821],[102.914814,32.699792],[102.915171,32.699814],[102.915457,32.699899],[102.915771,32.699878],[102.916024,32.699824],[102.916278,32.699771],[102.916645,32.699749],[102.917013,32.699728],[102.917248,32.699714],[102.917484,32.699699],[102.917789,32.699623],[102.918084,32.69955],[102.918394,32.699528],[102.918705,32.699507],[102.918972,32.699528],[102.91924,32.69955],[102.919612,32.699654],[102.919954,32.699749],[102.920351,32.699804],[102.920749,32.699859],[102.921146,32.699914],[102.921179,32.69992],[102.921484,32.699977],[102.921788,32.700035],[102.92221,32.700049],[102.92247,32.700021],[102.922731,32.699992],[102.923049,32.699895],[102.923368,32.699797],[102.923687,32.699699],[102.924078,32.699517],[102.924469,32.699334],[102.924805,32.699121],[102.924805,32.699121],[102.924806,32.69912],[102.925015,32.698987],[102.925224,32.698855],[102.925433,32.698722],[102.925642,32.698589],[102.925851,32.698456],[102.92606,32.698323],[102.926269,32.69819],[102.926478,32.698057],[102.926825,32.697921],[102.927173,32.697784],[102.927491,32.697691],[102.92781,32.697597],[102.928068,32.697552],[102.928326,32.697506],[102.928641,32.697531],[102.928957,32.697556],[102.929235,32.69765],[102.929513,32.697743],[102.92987,32.697996],[102.930227,32.698249],[102.930485,32.698543],[102.930678,32.698763],[102.930768,32.699014],[102.930938,32.699353],[102.930954,32.699385],[102.931118,32.699621],[102.931218,32.699792],[102.931368,32.700078],[102.931468,32.700378],[102.931639,32.700735],[102.931875,32.701113],[102.931996,32.701227],[102.932196,32.701377],[102.932481,32.701625],[102.932667,32.701787],[102.932753,32.701862],[102.932896,32.702005],[102.932981,32.702127],[102.933053,32.702266],[102.933081,32.702319],[102.93314,32.702599],[102.933198,32.702878],[102.933238,32.703265],[102.933278,32.703653],[102.933319,32.70404],[102.933339,32.704234],[102.933369,32.704521],[102.933399,32.704808],[102.933459,32.705029],[102.933519,32.705249],[102.933565,32.705421],[102.933706,32.705768],[102.933829,32.706082],[102.933952,32.706395],[102.934059,32.706624],[102.934166,32.706852],[102.934281,32.707038],[102.93453,32.707252],[102.934656,32.707324],[102.934903,32.707466],[102.935151,32.707609],[102.935432,32.707694],[102.935595,32.707743],[102.935623,32.707752],[102.935987,32.70798],[102.936269,32.708191],[102.936551,32.708401],[102.936746,32.708637],[102.936941,32.708872],[102.937136,32.709108],[102.937346,32.709479],[102.937557,32.70985],[102.937678,32.710134],[102.9377,32.710186],[102.937832,32.710497],[102.937964,32.710808],[102.938021,32.710942],[102.938085,32.711107],[102.938157,32.71121],[102.93831,32.711319],[102.93862,32.711454],[102.938929,32.711589],[102.939301,32.711725],[102.939673,32.711862],[102.940044,32.711999],[102.940416,32.712136],[102.940813,32.712337],[102.941205,32.712535],[102.941597,32.712734],[102.94199,32.712932],[102.942382,32.713131],[102.94239,32.713133],[102.942561,32.713181],[102.942826,32.713255],[102.943029,32.713312],[102.943089,32.713329],[102.943351,32.713402],[102.943614,32.713476],[102.943877,32.713549],[102.94414,32.713623],[102.944402,32.713696],[102.944665,32.71377],[102.944928,32.713843],[102.945315,32.713928],[102.945702,32.714013],[102.94609,32.714099],[102.946475,32.714174],[102.946859,32.71425],[102.947112,32.714267],[102.947366,32.714284],[102.947619,32.714302],[102.947872,32.714319],[102.948125,32.714336],[102.948378,32.714354],[102.948818,32.714374],[102.949259,32.714395],[102.949488,32.714406],[102.949699,32.714416],[102.949933,32.71442],[102.950142,32.714522],[102.950347,32.714723],[102.950471,32.714918],[102.950595,32.715112],[102.95065,32.715199],[102.950818,32.715361],[102.951057,32.715726],[102.951296,32.716092],[102.951457,32.71627],[102.951617,32.716449],[102.951831,32.716651],[102.952046,32.716853],[102.952176,32.717091],[102.95226,32.717376],[102.952323,32.717633],[102.952387,32.71789],[102.952415,32.718005],[102.952445,32.718127],[102.952522,32.718435],[102.952587,32.718697],[102.952652,32.718959],[102.952807,32.719209],[102.953069,32.719518],[102.95336,32.719831],[102.95339,32.719863],[102.953711,32.720049],[102.954032,32.720236],[102.954354,32.720422],[102.954556,32.720517],[102.95477,32.720636],[102.95483,32.720755],[102.954861,32.720923],[102.954865,32.720946],[102.954888,32.721244],[102.954889,32.721255],[102.954877,32.721636],[102.955032,32.721886],[102.95521,32.722052],[102.955282,32.72235],[102.955329,32.722695],[102.955591,32.72304],[102.955829,32.723295],[102.956067,32.723551],[102.956373,32.72369],[102.956567,32.723777],[102.956799,32.723849],[102.957031,32.72392],[102.957366,32.724001],[102.957667,32.724073],[102.957967,32.724145],[102.958268,32.724217],[102.958613,32.724467],[102.958684,32.724527],[102.958744,32.724753],[102.958732,32.724991],[102.95872,32.725229],[102.958714,32.72552],[102.958708,32.725812],[102.958803,32.726157],[102.959029,32.72643],[102.959351,32.72668],[102.959707,32.726859],[102.959815,32.726966],[102.959823,32.726983],[102.959922,32.72718],[102.959986,32.727502],[102.959993,32.727537],[102.959981,32.727838],[102.959969,32.72814],[102.959957,32.728441],[102.959962,32.728774],[102.959979,32.728813],[102.960143,32.729193],[102.960343,32.729412],[102.960619,32.729574],[102.961,32.729716],[102.961212,32.729778],[102.961428,32.72984],[102.961871,32.729894],[102.962294,32.729945],[102.96257,32.73005],[102.962722,32.730211],[102.962894,32.730392],[102.96291,32.730419],[102.963046,32.730639],[102.963183,32.73086],[102.963217,32.730916],[102.963465,32.73122],[102.963779,32.731392],[102.964093,32.731582],[102.964407,32.731772],[102.96455,32.731858],[102.964731,32.731991],[102.964864,32.732172],[102.964917,32.732264],[102.965007,32.732419],[102.965179,32.732592],[102.965197,32.73261],[102.965549,32.732857],[102.965755,32.732983],[102.965961,32.733108],[102.965987,32.733124],[102.966239,32.733343],[102.966491,32.733562],[102.966634,32.733761],[102.966758,32.733999],[102.966929,32.734171],[102.967072,32.734342],[102.967111,32.734414],[102.967186,32.734551],[102.967321,32.734969],[102.967367,32.735113],[102.967557,32.73547],[102.967629,32.735584],[102.96765,32.73577],[102.967586,32.73597],[102.967357,32.736277],[102.96715,32.736551],[102.966943,32.736826],[102.966747,32.737105],[102.966551,32.737383],[102.966551,32.737383],[102.966551,32.737383],[102.96636,32.737635],[102.966168,32.737886],[102.966144,32.737918],[102.965965,32.738254],[102.965659,32.738518],[102.96538,32.738789],[102.96508,32.739053],[102.964852,32.73925],[102.964773,32.739318],[102.964524,32.73956],[102.964523,32.739562],[102.964427,32.739781],[102.964424,32.739789],[102.964331,32.740133],[102.964295,32.740267],[102.964247,32.740533],[102.964198,32.740799],[102.964181,32.740895],[102.964167,32.74094],[102.964109,32.74112],[102.964038,32.741345],[102.963931,32.741559],[102.963738,32.741702],[102.963417,32.741745],[102.963146,32.741784],[102.962875,32.741823],[102.96276,32.741849],[102.962496,32.741909],[102.962132,32.741959],[102.961797,32.74198],[102.961497,32.741966],[102.961439,32.741961],[102.961254,32.741944],[102.96123,32.741944],[102.96099,32.741944],[102.960783,32.742041],[102.960576,32.742137],[102.960393,32.74239],[102.960254,32.742452],[102.96004,32.742547],[102.959825,32.742643],[102.95961,32.742738],[102.959395,32.742833],[102.959185,32.742926],[102.95918,32.742929],[102.958965,32.743024],[102.958751,32.743119],[102.958536,32.743215],[102.958165,32.743393],[102.957795,32.743571],[102.957424,32.74375],[102.957208,32.743911],[102.956991,32.744073],[102.956774,32.744235],[102.956557,32.744396],[102.956395,32.744576],[102.956233,32.744756],[102.956071,32.744936],[102.955909,32.745116],[102.955715,32.745449],[102.95552,32.745782],[102.955439,32.746013],[102.955357,32.746244],[102.955276,32.746474],[102.955194,32.746705],[102.955122,32.746953],[102.95505,32.747201],[102.954979,32.747449],[102.954907,32.747697],[102.954761,32.747942],[102.954614,32.748187],[102.954363,32.748449],[102.954112,32.748712],[102.953945,32.748867],[102.953777,32.749023],[102.95361,32.749178],[102.953442,32.749333],[102.953275,32.749489],[102.953107,32.749644],[102.953075,32.749672],[102.952832,32.74988],[102.952557,32.750116],[102.952533,32.750136],[102.952248,32.750381],[102.951904,32.750553],[102.951879,32.750566],[102.951561,32.750725],[102.951255,32.750818],[102.950948,32.750912],[102.950524,32.751014],[102.9501,32.751116],[102.949992,32.75113],[102.949684,32.751169],[102.949267,32.751221],[102.948851,32.751274],[102.948435,32.751326],[102.948189,32.751337],[102.947943,32.751348],[102.947697,32.751358],[102.947451,32.751369],[102.947207,32.75138],[102.947205,32.75138],[102.946959,32.751391],[102.946713,32.751401],[102.946467,32.751412],[102.946221,32.751423],[102.945975,32.751434],[102.945729,32.751444],[102.945483,32.751455],[102.945251,32.751473],[102.945019,32.751491],[102.944788,32.751509],[102.944556,32.751527],[102.94418,32.7516],[102.943803,32.751673],[102.943556,32.751748],[102.943309,32.751822],[102.943046,32.752035],[102.942829,32.752348],[102.942667,32.752528],[102.942504,32.752708],[102.942342,32.752888],[102.94218,32.753068],[102.942026,32.753285],[102.941983,32.753346],[102.941976,32.753355],[102.941872,32.753502],[102.941718,32.75372],[102.941563,32.753937],[102.941543,32.753966],[102.941485,32.754047],[102.941409,32.754154],[102.941395,32.754175],[102.941255,32.754372],[102.941101,32.754589],[102.940947,32.754806],[102.940816,32.755011],[102.940685,32.755215],[102.940555,32.755419],[102.940424,32.755623],[102.940293,32.755827],[102.940162,32.756031],[102.940047,32.756252],[102.939931,32.756472],[102.939815,32.756692],[102.939699,32.756912],[102.939527,32.757255],[102.939354,32.757598],[102.93926,32.757959],[102.939167,32.75832],[102.939073,32.758681],[102.939087,32.759089],[102.939101,32.759497],[102.939115,32.759906],[102.939144,32.760171],[102.939173,32.760437],[102.939202,32.760702],[102.939231,32.760968],[102.93926,32.761233],[102.939289,32.761498],[102.939246,32.761804],[102.939203,32.76211],[102.939032,32.762482],[102.93891,32.762707],[102.938788,32.762932],[102.938684,32.763024],[102.93846,32.763221],[102.938237,32.763418],[102.937973,32.763729],[102.937825,32.763904],[102.937709,32.76404],[102.937608,32.76435],[102.937553,32.764703],[102.937616,32.764972],[102.937643,32.765085],[102.93768,32.765241],[102.937769,32.765449],[102.937858,32.765658],[102.937947,32.765867],[102.938036,32.766076],[102.938147,32.766315],[102.938259,32.766554],[102.938323,32.766822],[102.938388,32.767089],[102.93841,32.767475],[102.938432,32.76786],[102.938454,32.768246],[102.938495,32.768493],[102.938536,32.768741],[102.938684,32.769157],[102.938712,32.769237],[102.938893,32.769517],[102.939052,32.769718],[102.939211,32.769918],[102.939324,32.770137],[102.939437,32.770355],[102.939476,32.770634],[102.939491,32.771029],[102.93946,32.771343],[102.939404,32.771719],[102.93942,32.772094],[102.939461,32.772247],[102.939528,32.772491],[102.939655,32.772707],[102.939782,32.772923],[102.939909,32.773139],[102.940036,32.773355],[102.940163,32.773571],[102.94029,32.773787],[102.940418,32.774003],[102.940545,32.774219],[102.940651,32.774443],[102.940757,32.774667],[102.940862,32.774891],[102.940968,32.775115],[102.941067,32.775413],[102.941166,32.775711],[102.941251,32.776068],[102.941336,32.776425],[102.941398,32.776791],[102.94146,32.777158],[102.941453,32.777444],[102.941446,32.77773],[102.941429,32.777987],[102.941411,32.778243],[102.94137,32.778509],[102.941337,32.778722],[102.941329,32.778775],[102.941265,32.779031],[102.941201,32.779287],[102.941107,32.779531],[102.941014,32.779775],[102.94092,32.78002],[102.940826,32.780264],[102.940608,32.780609],[102.940389,32.780954],[102.940171,32.781299],[102.939944,32.781664],[102.939717,32.782029],[102.93949,32.782394],[102.939221,32.782737],[102.938953,32.783081],[102.938684,32.783424],[102.938414,32.783769],[102.938143,32.784115],[102.937873,32.78446],[102.937766,32.784672],[102.93766,32.784883],[102.937553,32.785094],[102.937534,32.785132],[102.937486,32.785226],[102.937452,32.785294],[102.937446,32.785306],[102.93734,32.785517],[102.937233,32.785728],[102.937191,32.785833],[102.937139,32.785964],[102.937133,32.785979],[102.937122,32.786009],[102.937034,32.786229],[102.936934,32.786479],[102.936835,32.786729],[102.936724,32.787142],[102.936613,32.787555],[102.936524,32.787886],[102.936502,32.787968],[102.936457,32.788363],[102.936413,32.788758],[102.936404,32.789139],[102.936395,32.789521],[102.936387,32.789902],[102.936423,32.790326],[102.936459,32.79075],[102.936453,32.791027],[102.936447,32.791304],[102.936427,32.791544],[102.936406,32.791784],[102.936383,32.792054],[102.936327,32.792448],[102.936296,32.79267],[102.936271,32.792842],[102.936237,32.793024],[102.936193,32.793255],[102.936191,32.793268],[102.936111,32.793695],[102.936076,32.793879],[102.93603,32.794122],[102.93599,32.794375],[102.935968,32.79451],[102.935959,32.794566],[102.935949,32.794627],[102.935908,32.79488],[102.935867,32.795133],[102.935839,32.795311],[102.935829,32.79537],[102.935827,32.795386],[102.935786,32.795639],[102.93571,32.795874],[102.935645,32.796076],[102.935634,32.79611],[102.935602,32.796209],[102.935558,32.796346],[102.935482,32.796581],[102.935396,32.796818],[102.93531,32.797055],[102.935278,32.797143],[102.935224,32.797292],[102.935138,32.797529],[102.935053,32.797766],[102.934967,32.798003],[102.934881,32.79824],[102.934795,32.798477],[102.934709,32.798714],[102.934623,32.798952],[102.934537,32.799189],[102.934452,32.799426],[102.934395,32.799682],[102.934338,32.799938],[102.934281,32.800194],[102.934225,32.80045],[102.934168,32.800706],[102.934111,32.800962],[102.934074,32.801215],[102.934037,32.801468],[102.934,32.801721],[102.933963,32.801973],[102.933926,32.802226],[102.933889,32.802479],[102.93388,32.802884],[102.933871,32.803289],[102.9339,32.80371],[102.933929,32.80413],[102.933958,32.804551],[102.934029,32.804765],[102.9341,32.804978],[102.934172,32.805192],[102.934243,32.805406],[102.934399,32.805725],[102.934555,32.806043],[102.934797,32.806389],[102.935039,32.806736],[102.935281,32.807082],[102.935459,32.807248],[102.935637,32.807414],[102.935814,32.80758],[102.935992,32.807746],[102.936063,32.807793],[102.936013,32.80783],[102.934879,32.808317],[102.933789,32.808695],[102.933748,32.808709],[102.932941,32.809186],[102.932352,32.809534],[102.931927,32.809785],[102.931088,32.810276],[102.930562,32.810583],[102.929342,32.811574],[102.928809,32.811976],[102.927929,32.812814],[102.927908,32.812834],[102.92793,32.813059],[102.927881,32.813193],[102.927826,32.813299],[102.927769,32.813337],[102.927719,32.813338],[102.927605,32.813305],[102.927426,32.813288],[102.926973,32.813715],[102.92583,32.814612],[102.924806,32.815195],[102.923798,32.815581],[102.922549,32.81651],[102.921764,32.817317],[102.921287,32.818021],[102.920757,32.818833],[102.920502,32.819929],[102.920294,32.821177],[102.920074,32.821821],[102.919937,32.822229],[102.919542,32.823064],[102.919081,32.823862],[102.918583,32.824746],[102.917569,32.825852],[102.916515,32.827186],[102.916182,32.828332],[102.916115,32.829712],[102.916032,32.83184],[102.916081,32.832647],[102.916265,32.833514],[102.915939,32.83581],[102.915777,32.83693],[102.915502,32.837198],[102.915253,32.837439],[102.91442,32.838099],[102.913864,32.838538],[102.912854,32.839471],[102.912321,32.840383],[102.912231,32.841331],[102.912993,32.843704],[102.913418,32.844488],[102.913605,32.844679],[102.914017,32.845102],[102.914889,32.845721],[102.914945,32.84624],[102.914884,32.846419],[102.914653,32.847098],[102.914301,32.847809],[102.914116,32.848183],[102.913412,32.849121],[102.912774,32.850175],[102.912105,32.851084],[102.911271,32.851346],[102.910971,32.85144],[102.909854,32.851133],[102.909759,32.851113],[102.909691,32.851098],[102.909683,32.851097],[102.909637,32.851087],[102.90952,32.851062],[102.909397,32.851035],[102.909209,32.850995],[102.909152,32.850983],[102.909006,32.850952],[102.9089,32.850929],[102.908868,32.850922],[102.908844,32.850917],[102.908804,32.850908],[102.908682,32.850882],[102.908667,32.850879],[102.908656,32.850877],[102.908603,32.850866],[102.908585,32.850862],[102.908395,32.850821],[102.907379,32.850545],[102.906262,32.850181],[102.905111,32.849845],[102.904054,32.849827],[102.902658,32.849775],[102.901531,32.849871],[102.900031,32.849846],[102.899478,32.850182],[102.899453,32.851218],[102.899529,32.852341],[102.900031,32.854191],[102.900346,32.85529],[102.900999,32.85651],[102.901606,32.858247],[102.90189,32.85923],[102.901703,32.859946],[102.901726,32.860407],[102.901708,32.861155],[102.901659,32.861816],[102.901196,32.86552],[102.901096,32.866871],[102.900589,32.868129],[102.899904,32.871167],[102.899493,32.874124],[102.899108,32.875988],[102.899044,32.877282],[102.898907,32.878719],[102.898709,32.881334],[102.899057,32.882491],[102.899003,32.883325],[102.898817,32.883983],[102.89849,32.884389],[102.89829,32.884636],[102.8978,32.885175],[102.897787,32.885186],[102.897278,32.885626],[102.896146,32.887334],[102.895571,32.88859],[102.895698,32.888995],[102.895751,32.889629],[102.895731,32.890464],[102.895235,32.8927],[102.894937,32.893759],[102.894535,32.894904],[102.894308,32.895821],[102.894356,32.896685],[102.894163,32.897215],[102.894094,32.897403],[102.893845,32.898086],[102.893579,32.899262],[102.89373,32.90007],[102.893743,32.900962],[102.893818,32.902114],[102.893929,32.903181],[102.893877,32.903928],[102.893691,32.904587],[102.893298,32.905329],[102.893252,32.905846],[102.89303,32.906561],[102.892434,32.907242],[102.891588,32.908408],[102.891018,32.909434],[102.890012,32.910136],[102.887136,32.912016],[102.886416,32.912147],[102.885692,32.91248],[102.884545,32.913353],[102.883882,32.914004],[102.883036,32.91514],[102.882087,32.916275],[102.881664,32.916844],[102.880757,32.917692],[102.879803,32.917647],[102.879321,32.91756],[102.87904,32.917509],[102.877821,32.917289],[102.876403,32.917034],[102.8761,32.916979],[102.876038,32.917017],[102.871981,32.91947],[102.871968,32.919496],[102.870938,32.920345],[102.870533,32.921255],[102.870228,32.923298],[102.870064,32.924805],[102.869858,32.925394],[102.869007,32.926242],[102.868257,32.92817],[102.867081,32.929228],[102.865955,32.93088],[102.865398,32.932757],[102.86523,32.934426],[102.865707,32.935889],[102.866382,32.937033],[102.866716,32.937779],[102.866746,32.937848],[102.866625,32.938309],[102.866394,32.939189],[102.865904,32.94096],[102.864585,32.942662],[102.863643,32.944587],[102.862638,32.94651],[102.861969,32.947739],[102.861808,32.949137],[102.861775,32.950484],[102.861744,32.950788],[102.861691,32.951315],[102.86162,32.951313],[102.861651,32.951857],[102.86167,32.952186],[102.861624,32.953016],[102.861455,32.953297],[102.861363,32.953469],[102.861205,32.953713],[102.861087,32.953893],[102.860996,32.95408],[102.860905,32.954352],[102.860864,32.954539],[102.86083,32.954846],[102.860635,32.955175],[102.860484,32.955576],[102.860467,32.955601],[102.8603,32.955824],[102.860098,32.956054],[102.859863,32.956364],[102.859755,32.956557],[102.85963,32.956773],[102.859496,32.956982],[102.859387,32.957147],[102.859254,32.957377],[102.859153,32.957528],[102.85902,32.957772],[102.858932,32.957991],[102.858705,32.9583],[102.858044,32.95907],[102.854856,32.961091],[102.853988,32.961587],[102.853286,32.962597],[102.85298,32.963434],[102.851996,32.964319],[102.850872,32.965052],[102.84967,32.966084],[102.8473,32.968208],[102.845807,32.969445],[102.844901,32.970021],[102.843744,32.970467],[102.842155,32.970493],[102.840628,32.970574],[102.839288,32.970765],[102.839267,32.971268],[102.837553,32.971574],[102.835834,32.971694],[102.833971,32.971687],[102.832757,32.971716],[102.831339,32.971641],[102.830507,32.971776],[102.829415,32.971683],[102.828182,32.971287],[102.827426,32.97075],[102.826164,32.970354],[102.82438,32.969525],[102.824126,32.96954],[102.823699,32.969563],[102.823477,32.96975],[102.823218,32.969968],[102.822974,32.970174],[102.822335,32.971369],[102.822274,32.971483],[102.822168,32.971681],[102.821793,32.972472],[102.821336,32.973013],[102.820849,32.973626],[102.820311,32.973953],[102.820127,32.974064],[102.819401,32.974725],[102.818462,32.975606],[102.817708,32.976191],[102.817384,32.976424],[102.816384,32.977446],[102.815819,32.977463],[102.814265,32.977026],[102.813195,32.976644],[102.811809,32.975937],[102.810955,32.975558],[102.809487,32.975987],[102.807907,32.976597],[102.806382,32.977161],[102.805465,32.977145],[102.804862,32.977498],[102.803059,32.978376],[102.802073,32.979035],[102.801875,32.979166],[102.801797,32.979218],[102.80048,32.980105],[102.799009,32.98067],[102.798027,32.981063],[102.796524,32.980763],[102.795519,32.979927],[102.794242,32.979176],[102.792915,32.978288],[102.792179,32.977502],[102.791195,32.975847],[102.789884,32.974323],[102.789142,32.973764],[102.788022,32.973243],[102.787012,32.972634],[102.786111,32.971981],[102.781472,32.969715],[102.779723,32.968456],[102.77878,32.967302],[102.77741,32.966004],[102.776523,32.964805],[102.776066,32.96366],[102.776039,32.962568],[102.776077,32.961067],[102.776114,32.959593],[102.776118,32.959431],[102.776143,32.958432],[102.776151,32.958112],[102.776161,32.958036],[102.77635,32.956614],[102.775941,32.956354],[102.775548,32.956102],[102.775093,32.955812],[102.77481,32.955632],[102.774347,32.955432],[102.773923,32.955249],[102.773607,32.955113],[102.773346,32.955001],[102.773048,32.954872],[102.77269,32.954674],[102.772304,32.954447],[102.771908,32.95421],[102.77153,32.953991],[102.771028,32.953699],[102.77083,32.953415],[102.770611,32.9531],[102.770371,32.953438],[102.770164,32.953729],[102.769858,32.954077],[102.769561,32.954415],[102.769219,32.954804],[102.769094,32.954952],[102.768894,32.955187],[102.768538,32.955606],[102.768497,32.955655],[102.768272,32.955942],[102.767549,32.956867],[102.766063,32.958023],[102.76462,32.959262],[102.764298,32.959538],[102.764134,32.959673],[102.762149,32.961319],[102.76101,32.962656],[102.76097,32.962704],[102.760814,32.962887],[102.759974,32.9641],[102.759649,32.9644],[102.759517,32.964523],[102.758814,32.965171],[102.757757,32.966426],[102.757706,32.966483],[102.757537,32.966673],[102.757538,32.966744],[102.757526,32.966782],[102.757519,32.966804],[102.757499,32.966829],[102.757473,32.966848],[102.757429,32.966861],[102.757377,32.966849],[102.757316,32.96684],[102.757209,32.966816],[102.757174,32.966812],[102.757146,32.966812],[102.757133,32.966819],[102.757109,32.966842],[102.7571,32.966864],[102.7571,32.966894],[102.757137,32.966989],[102.757175,32.967062],[102.757178,32.967077],[102.756987,32.967291],[102.756973,32.967307],[102.756737,32.967572],[102.756723,32.967588],[102.756709,32.967604],[102.756662,32.967656],[102.75665,32.96767],[102.756631,32.967691],[102.756612,32.967712],[102.755924,32.968485],[102.754325,32.969821],[102.754014,32.970145],[102.753331,32.970853],[102.753006,32.97119],[102.752386,32.971833],[102.749954,32.974109],[102.749867,32.974226],[102.749773,32.974205],[102.74975,32.9742],[102.749638,32.974219],[102.74959,32.974253],[102.749566,32.974292],[102.749484,32.974377],[102.749338,32.974456],[102.749238,32.974513],[102.749236,32.974514],[102.749074,32.974619],[102.748886,32.974742],[102.74874,32.974867],[102.748577,32.975041],[102.748536,32.975063],[102.748423,32.975139],[102.748291,32.975306],[102.748229,32.975442],[102.748201,32.975555],[102.748206,32.975637],[102.74822,32.975692],[102.748302,32.97573],[102.748427,32.975771],[102.748514,32.975799],[102.748602,32.975817],[102.748677,32.97582],[102.748573,32.97596],[102.748527,32.976023],[102.747383,32.977566],[102.746421,32.979322],[102.74575,32.980266],[102.745721,32.981402],[102.745726,32.983313],[102.745489,32.984173],[102.74509,32.984984],[102.74496,32.985846],[102.744713,32.98707],[102.744401,32.988747],[102.743771,32.990192],[102.743522,32.991461],[102.742569,32.992854],[102.74248,32.993057],[102.742054,32.994027],[102.741919,32.995071],[102.741881,32.996571],[102.741226,32.996832],[102.740258,32.996724],[102.739037,32.995883],[102.737294,32.994396],[102.736182,32.993557],[102.735613,32.992591],[102.734674,32.991301],[102.73399,32.990606],[102.73255,32.989943],[102.731398,32.988557],[102.731337,32.988351],[102.73105,32.987368],[102.730921,32.986092],[102.730902,32.985731],[102.730894,32.985565],[102.73089,32.985484],[102.730877,32.98523],[102.730849,32.984681],[102.730261,32.984443],[102.729457,32.984246],[102.727843,32.984035],[102.72754,32.983958],[102.726878,32.98379],[102.723982,32.983055],[102.722161,32.982521],[102.721906,32.981925],[102.721838,32.980377],[102.721602,32.979054],[102.7216,32.978999],[102.7216,32.978993],[102.721718,32.978952],[102.721774,32.978931],[102.721713,32.978899],[102.721776,32.978873],[102.721773,32.97887],[102.72176,32.978861],[102.721737,32.978828],[102.721712,32.978813],[102.721721,32.978794],[102.721771,32.978788],[102.721823,32.97878],[102.72189,32.978782],[102.721918,32.978793],[102.721941,32.978816],[102.721961,32.978842],[102.721974,32.978862],[102.721986,32.97888],[102.722016,32.97888],[102.722032,32.978871],[102.722028,32.978843],[102.722027,32.978829],[102.722008,32.978806],[102.721986,32.978785],[102.721965,32.978768],[102.721949,32.978745],[102.72196,32.978739],[102.72199,32.978733],[102.722008,32.978724],[102.722023,32.978703],[102.722039,32.978682],[102.72205,32.978643],[102.722057,32.978607],[102.722056,32.97858],[102.722054,32.978557],[102.721995,32.978499],[102.721936,32.97843],[102.721924,32.978432],[102.721874,32.978432],[102.721845,32.978421],[102.721851,32.978402],[102.721871,32.978381],[102.721873,32.978358],[102.721873,32.978343],[102.721848,32.978324],[102.721843,32.978325],[102.721801,32.978332],[102.72176,32.97834],[102.721706,32.97834],[102.721687,32.978327],[102.72168,32.978298],[102.721664,32.97826],[102.721657,32.978226],[102.721607,32.978197],[102.721591,32.97819],[102.721591,32.978159],[102.721593,32.978136],[102.721599,32.978114],[102.721563,32.978086],[102.721369,32.977982],[102.721282,32.977901],[102.721188,32.977826],[102.721189,32.977813],[102.721189,32.97775],[102.721164,32.977697],[102.721106,32.977641],[102.721003,32.977576],[102.720936,32.977522],[102.720875,32.977466],[102.7208,32.977377],[102.72075,32.977303],[102.720646,32.977139],[102.720574,32.977035],[102.720489,32.976955],[102.720347,32.976896],[102.720233,32.976873],[102.72012,32.976841],[102.720045,32.976809],[102.719953,32.97675],[102.719931,32.976726],[102.719917,32.976684],[102.719902,32.976604],[102.719887,32.976517],[102.719858,32.976449],[102.719823,32.976401],[102.719759,32.976366],[102.719667,32.976334],[102.719532,32.976287],[102.719386,32.976219],[102.719279,32.97616],[102.719176,32.976113],[102.719013,32.976066],[102.718918,32.976058],[102.718776,32.976068],[102.718649,32.976068],[102.718468,32.976039],[102.718401,32.976016],[102.718309,32.975966],[102.71824,32.975859],[102.71819,32.975776],[102.718022,32.975586],[102.717933,32.975476],[102.717801,32.975354],[102.717655,32.975236],[102.717499,32.975141],[102.717218,32.975006],[102.717108,32.974968],[102.71697,32.974912],[102.716814,32.974844],[102.716675,32.974797],[102.716452,32.974739],[102.716239,32.974666],[102.716065,32.974607],[102.715951,32.974551],[102.715777,32.974477],[102.715685,32.974424],[102.715432,32.974247],[102.715319,32.974173],[102.715048,32.974001],[102.714963,32.973957],[102.714828,32.973904],[102.714697,32.973869],[102.714594,32.973861],[102.714527,32.973873],[102.714425,32.973969],[102.714387,32.974044],[102.714388,32.974089],[102.714346,32.974178],[102.714286,32.974262],[102.714198,32.974334],[102.714033,32.974407],[102.713804,32.974495],[102.713638,32.974546],[102.713465,32.974586],[102.713334,32.974629],[102.713024,32.97483],[102.712852,32.97495],[102.712683,32.975071],[102.712468,32.975191],[102.71213,32.975309],[102.71196,32.975352],[102.711836,32.975377],[102.711653,32.975396],[102.711476,32.975414],[102.711225,32.975434],[102.711006,32.975453],[102.7109,32.975471],[102.71072,32.975526],[102.710686,32.975545],[102.710505,32.975432],[102.710373,32.97535],[102.710224,32.975261],[102.710064,32.975178],[102.709911,32.975114],[102.709755,32.97507],[102.70956,32.975008],[102.709545,32.975005],[102.709358,32.974967],[102.7092,32.974968],[102.709075,32.974973],[102.708968,32.975],[102.708855,32.975044],[102.708742,32.975111],[102.708675,32.975162],[102.708599,32.975219],[102.708473,32.975335],[102.708383,32.975431],[102.708321,32.975493],[102.708262,32.97557],[102.708215,32.975644],[102.708153,32.975752],[102.708083,32.975847],[102.708021,32.975874],[102.70794,32.975956],[102.70789,32.976049],[102.707851,32.97613],[102.707797,32.976183],[102.707645,32.97626],[102.707563,32.976304],[102.707496,32.97638],[102.707446,32.976455],[102.707364,32.976534],[102.707246,32.976649],[102.7071,32.976786],[102.706993,32.976875],[102.706875,32.97694],[102.706776,32.976986],[102.706595,32.977039],[102.706395,32.977078],[102.706271,32.977108],[102.706146,32.977142],[102.706028,32.977181],[102.705929,32.977236],[102.705777,32.977349],[102.705701,32.977438],[102.705654,32.977498],[102.705592,32.977591],[102.705514,32.977692],[102.705455,32.977756],[102.705402,32.977816],[102.705345,32.977862],[102.705261,32.977908],[102.705176,32.977944],[102.705063,32.977983],[102.705015,32.978002],[102.704826,32.978018],[102.704448,32.978073],[102.704193,32.97812],[102.703748,32.978161],[102.703688,32.978167],[102.703451,32.978201],[102.703087,32.978242],[102.702012,32.978316],[102.701913,32.978323],[102.701882,32.978319],[102.701746,32.97832],[102.701665,32.978326],[102.701515,32.978352],[102.701421,32.978385],[102.701226,32.978445],[102.701082,32.978495],[102.700955,32.978536],[102.700754,32.978623],[102.70066,32.97867],[102.700581,32.978702],[102.700434,32.978724],[102.700314,32.978727],[102.700187,32.978722],[102.700037,32.978715],[102.699777,32.978697],[102.699627,32.978666],[102.699548,32.978648],[102.698725,32.978816],[102.697858,32.978936],[102.697309,32.97929],[102.697029,32.979737],[102.697098,32.979899],[102.697123,32.98001],[102.697083,32.98012],[102.697073,32.980172],[102.696966,32.980321],[102.696599,32.98065],[102.696396,32.98088],[102.696233,32.98102],[102.69608,32.981094],[102.695949,32.981122],[102.695866,32.981138],[102.695747,32.981262],[102.694762,32.98179],[102.693452,32.982357],[102.692481,32.982339],[102.690873,32.9819],[102.689113,32.981094],[102.688071,32.979665],[102.687721,32.978612],[102.686783,32.977321],[102.685795,32.975893],[102.685128,32.974561],[102.684403,32.973411],[102.683979,32.971037],[102.683574,32.970029],[102.68301,32.968881],[102.681946,32.968316],[102.680498,32.96797],[102.678685,32.967118],[102.678521,32.967068],[102.677882,32.966876],[102.676001,32.966568],[102.673966,32.965984],[102.673007,32.965511],[102.672389,32.964408],[102.670758,32.962785],[102.669856,32.962223],[102.668662,32.960426],[102.667381,32.958529],[102.66674,32.958814],[102.665795,32.95906],[102.664637,32.958888],[102.66317,32.958597],[102.661343,32.958374],[102.659473,32.958075],[102.65869,32.958026],[102.658295,32.958001],[102.657777,32.957968],[102.655903,32.95782],[102.653898,32.957593],[102.652834,32.957234],[102.651058,32.956786],[102.650025,32.956955],[102.649124,32.95724],[102.647238,32.957543],[102.646026,32.957747],[102.645697,32.958343],[102.644971,32.958744],[102.644205,32.958994],[102.643612,32.959435],[102.642505,32.960695],[102.641353,32.961992],[102.640033,32.962872],[102.638671,32.963675],[102.637224,32.964289],[102.635503,32.965123],[102.633611,32.965652],[102.631407,32.965986],[102.629563,32.965699],[102.628738,32.965587],[102.627837,32.965465],[102.625633,32.965272],[102.625517,32.965235],[102.625251,32.965149],[102.625202,32.965133],[102.62515,32.965116],[102.625129,32.96511],[102.624804,32.965004],[102.622854,32.964212],[102.622259,32.963988],[102.622228,32.963976],[102.622206,32.963968],[102.62215,32.963947],[102.621943,32.963869],[102.621695,32.963776],[102.621599,32.963739],[102.621186,32.963584],[102.619898,32.963098],[102.619545,32.963028],[102.619534,32.963026],[102.619415,32.963002],[102.619296,32.962979],[102.618494,32.962819],[102.618418,32.962804],[102.61794,32.962709],[102.615949,32.962087],[102.615916,32.962077],[102.615704,32.962011],[102.61569,32.962006],[102.615264,32.961873],[102.615128,32.961831],[102.615001,32.961791],[102.615024,32.961581],[102.615039,32.961439]]]]},"properties":{"cp":[102.84021326842111,32.73181473528267],"code":"513233205","name":"阿木乡","level":"street","center":[102.84021326842111,32.73181473528267],"fullCode":"513233205000","fullName":"四川省阿坝藏族羌族自治州红原县阿木乡","acreageMu":1338297.24,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.789,32.9154]}},{"id":"513233207","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.844495,33.079459],[102.844382,33.079401],[102.84443,33.079385],[102.844506,33.079376],[102.844569,33.078895],[102.844578,33.07883],[102.844641,33.07835],[102.844645,33.078323],[102.844646,33.078265],[102.844669,33.077341],[102.84467,33.077303],[102.844671,33.077231],[102.844935,33.07639],[102.844994,33.076401],[102.845031,33.0764],[102.845065,33.076391],[102.845099,33.076369],[102.845117,33.076336],[102.845115,33.076287],[102.845103,33.076236],[102.845079,33.076199],[102.84501,33.076158],[102.845141,33.075762],[102.845203,33.075757],[102.845243,33.075728],[102.845258,33.075685],[102.84528,33.075629],[102.845276,33.075575],[102.845265,33.075541],[102.845218,33.075529],[102.845455,33.074811],[102.845469,33.074509],[102.845517,33.07448],[102.845535,33.074447],[102.845541,33.074403],[102.845541,33.074363],[102.845527,33.074306],[102.84552,33.074258],[102.845519,33.074188],[102.845532,33.074119],[102.845563,33.07405],[102.845592,33.073981],[102.845605,33.073935],[102.845607,33.073897],[102.845582,33.073888],[102.845548,33.073897],[102.845496,33.073923],[102.8455,33.073836],[102.845469,33.073643],[102.845459,33.073577],[102.845259,33.072336],[102.845272,33.072264],[102.845273,33.072178],[102.845263,33.072102],[102.845242,33.072058],[102.845204,33.072041],[102.845118,33.072038],[102.84485,33.071477],[102.844725,33.070707],[102.844711,33.07062],[102.844589,33.069865],[102.844198,33.067669],[102.844189,33.06762],[102.844119,33.066488],[102.844117,33.066462],[102.843883,33.065075],[102.843901,33.064313],[102.844961,33.063485],[102.845547,33.062818],[102.84569,33.062453],[102.846066,33.062149],[102.84601,33.061697],[102.84563,33.060759],[102.845546,33.060108],[102.845335,33.059145],[102.845688,33.058389],[102.846445,33.057584],[102.846591,33.057107],[102.846806,33.056518],[102.846876,33.055023],[102.847498,33.054272],[102.848225,33.053325],[102.848508,33.052709],[102.849238,33.051621],[102.849892,33.050927],[102.850289,33.049748],[102.850368,33.049242],[102.850701,33.047977],[102.850947,33.047394],[102.851068,33.04711],[102.85111,33.04701],[102.851163,33.046885],[102.851659,33.045792],[102.852059,33.044501],[102.852986,33.04082],[102.852891,33.039182],[102.852846,33.038278],[102.853084,33.036786],[102.853592,33.035186],[102.85374,33.034468],[102.853801,33.034173],[102.854085,33.032796],[102.854443,33.031842],[102.854791,33.03134],[102.855469,33.030985],[102.856091,33.030234],[102.856445,33.02945],[102.856808,33.02827],[102.857282,33.026698],[102.857501,33.025968],[102.857227,33.024806],[102.85659,33.023469],[102.856544,33.022593],[102.856625,33.022002],[102.85701,33.021331],[102.857639,33.02027],[102.857759,33.01997],[102.857836,33.019781],[102.858102,33.01912],[102.858594,33.018169],[102.858539,33.017689],[102.857779,33.017224],[102.856349,33.016726],[102.856308,33.016712],[102.855598,33.016465],[102.855579,33.016458],[102.855544,33.016446],[102.855541,33.016445],[102.855534,33.016442],[102.855511,33.016434],[102.854623,33.016126],[102.85455,33.016089],[102.85453,33.016079],[102.853395,33.015513],[102.853221,33.01522],[102.852586,33.014663],[102.852178,33.014483],[102.85133,33.014245],[102.851089,33.014291],[102.849761,33.013586],[102.849572,33.013075],[102.849655,33.012427],[102.84989,33.01102],[102.850162,33.009757],[102.850117,33.009651],[102.850107,33.009517],[102.850136,33.009268],[102.850304,33.008986],[102.850449,33.008855],[102.850632,33.008782],[102.850754,33.008552],[102.851312,33.00763],[102.851562,33.007013],[102.851583,33.006139],[102.851285,33.004902],[102.851266,33.004823],[102.851248,33.00475],[102.851009,33.004252],[102.850895,33.004014],[102.850866,33.003953],[102.850544,33.003383],[102.850149,33.001653],[102.84996,33.001421],[102.849954,33.001414],[102.849953,33.001413],[102.849565,33.000939],[102.849522,33.000883],[102.849431,33.000768],[102.84943,33.000767],[102.849408,33.000739],[102.849273,33.000567],[102.848992,33.000135],[102.848753,32.999765],[102.848353,32.99915],[102.848335,32.999122],[102.84811,32.998776],[102.848012,32.998625],[102.846594,32.995025],[102.84578,32.993888],[102.845532,32.992523],[102.845557,32.992407],[102.845653,32.991957],[102.845761,32.991448],[102.84577,32.991403],[102.846145,32.990243],[102.846212,32.990035],[102.846226,32.989992],[102.846149,32.988913],[102.84629,32.988838],[102.846336,32.988793],[102.84637,32.988697],[102.846337,32.988587],[102.846298,32.988564],[102.84622,32.988564],[102.846126,32.98858],[102.846121,32.988511],[102.846271,32.986698],[102.846295,32.9864],[102.846309,32.986335],[102.846356,32.986117],[102.846456,32.985653],[102.846456,32.985653],[102.846467,32.985599],[102.846533,32.985295],[102.84693,32.984104],[102.846965,32.983908],[102.846999,32.983722],[102.847003,32.983697],[102.847006,32.983679],[102.847073,32.983306],[102.847078,32.983278],[102.847085,32.983243],[102.847091,32.983208],[102.847113,32.983087],[102.846892,32.981354],[102.846856,32.980936],[102.846845,32.980817],[102.846813,32.980434],[102.846785,32.980114],[102.846727,32.979443],[102.846553,32.979101],[102.846525,32.979047],[102.846332,32.978669],[102.846324,32.978653],[102.846225,32.978459],[102.84612,32.978163],[102.845784,32.977216],[102.845782,32.977209],[102.84538,32.976404],[102.845412,32.975118],[102.844927,32.973424],[102.843996,32.972277],[102.843972,32.972247],[102.844075,32.972171],[102.844142,32.972126],[102.844191,32.972072],[102.84419,32.971994],[102.844129,32.971926],[102.844076,32.971876],[102.843972,32.971822],[102.843797,32.971686],[102.84357,32.971563],[102.843563,32.97156],[102.843486,32.971518],[102.843218,32.971431],[102.843118,32.971444],[102.842919,32.97144],[102.84263,32.97147],[102.84238,32.971334],[102.841619,32.971021],[102.84064,32.971129],[102.839335,32.971256],[102.839267,32.971268],[102.839288,32.970765],[102.840628,32.970574],[102.842155,32.970493],[102.843744,32.970467],[102.844901,32.970021],[102.845807,32.969445],[102.8473,32.968208],[102.84967,32.966084],[102.850872,32.965052],[102.851996,32.964319],[102.85298,32.963434],[102.853286,32.962597],[102.853988,32.961587],[102.854856,32.961091],[102.858044,32.95907],[102.858705,32.9583],[102.858932,32.957991],[102.85902,32.957772],[102.859153,32.957528],[102.859254,32.957377],[102.859387,32.957147],[102.859496,32.956982],[102.85963,32.956773],[102.859755,32.956557],[102.859863,32.956364],[102.860098,32.956054],[102.8603,32.955824],[102.860467,32.955601],[102.860484,32.955576],[102.860635,32.955175],[102.86083,32.954846],[102.860864,32.954539],[102.860905,32.954352],[102.860996,32.95408],[102.861087,32.953893],[102.861205,32.953713],[102.861363,32.953469],[102.861455,32.953297],[102.861624,32.953016],[102.86167,32.952186],[102.861651,32.951857],[102.86162,32.951313],[102.861691,32.951315],[102.861744,32.950788],[102.861775,32.950484],[102.861808,32.949137],[102.861969,32.947739],[102.862638,32.94651],[102.863643,32.944587],[102.864585,32.942662],[102.865904,32.94096],[102.866394,32.939189],[102.866625,32.938309],[102.866746,32.937848],[102.866716,32.937779],[102.866382,32.937033],[102.865707,32.935889],[102.86523,32.934426],[102.865398,32.932757],[102.865955,32.93088],[102.867081,32.929228],[102.868257,32.92817],[102.869007,32.926242],[102.869858,32.925394],[102.870064,32.924805],[102.870228,32.923298],[102.870533,32.921255],[102.870938,32.920345],[102.871968,32.919496],[102.871693,32.92007],[102.871316,32.92156],[102.871284,32.922912],[102.871605,32.923752],[102.872158,32.924883],[102.87269,32.925439],[102.873804,32.925947],[102.874892,32.92611],[102.875972,32.926617],[102.876812,32.92715],[102.877686,32.927682],[102.878487,32.928444],[102.879622,32.929499],[102.880462,32.93006],[102.88147,32.930711],[102.882746,32.931567],[102.88366,32.931899],[102.884597,32.932663],[102.885266,32.933221],[102.886338,32.934045],[102.887179,32.934577],[102.888025,32.93485],[102.889218,32.934928],[102.89017,32.935088],[102.890806,32.935588],[102.891001,32.935994],[102.891224,32.93666],[102.891513,32.937442],[102.89211,32.938171],[102.892844,32.938845],[102.893542,32.939663],[102.893773,32.939983],[102.89386,32.940647],[102.893875,32.941453],[102.893751,32.942343],[102.893623,32.943434],[102.893464,32.944352],[102.8936,32.944383],[102.894722,32.944575],[102.89584,32.944939],[102.897195,32.945336],[102.898181,32.945496],[102.899676,32.945809],[102.900765,32.945914],[102.901924,32.945962],[102.902951,32.945864],[102.903707,32.945618],[102.904564,32.945489],[102.905414,32.945589],[102.906153,32.94612],[102.907391,32.947176],[102.907846,32.948134],[102.908545,32.948893],[102.909038,32.949679],[102.909909,32.950384],[102.911449,32.951647],[102.912465,32.951981],[102.912939,32.952161],[102.913242,32.952339],[102.912622,32.952587],[102.912574,32.952611],[102.912009,32.952887],[102.911482,32.953144],[102.910888,32.953738],[102.910227,32.954274],[102.909535,32.954665],[102.908971,32.955404],[102.908231,32.956428],[102.907793,32.957629],[102.907528,32.958718],[102.907099,32.959545],[102.907069,32.960811],[102.906946,32.961701],[102.906749,32.96423],[102.906522,32.965176],[102.906497,32.965334],[102.906495,32.965869],[102.906499,32.966255],[102.906439,32.966646],[102.90634,32.966847],[102.906244,32.967051],[102.906205,32.967212],[102.90613,32.967694],[102.906121,32.967749],[102.906063,32.968122],[102.906027,32.968355],[102.905999,32.968534],[102.906001,32.968584],[102.906008,32.968794],[102.906009,32.968813],[102.906011,32.968862],[102.906043,32.969763],[102.906044,32.969792],[102.906081,32.970837],[102.906163,32.971906],[102.906168,32.971965],[102.906193,32.972293],[102.906212,32.972537],[102.90621,32.972547],[102.906126,32.973054],[102.905943,32.97316],[102.905842,32.973237],[102.905686,32.973453],[102.905547,32.973693],[102.905436,32.973985],[102.905404,32.974157],[102.905462,32.974266],[102.905519,32.974347],[102.905554,32.974447],[102.905561,32.974561],[102.905513,32.974791],[102.90551,32.974799],[102.905355,32.975544],[102.90527,32.976262],[102.905155,32.976807],[102.904836,32.97732],[102.9047,32.978167],[102.904686,32.978259],[102.904675,32.978324],[102.904655,32.97847],[102.904633,32.978632],[102.904594,32.978913],[102.904561,32.979147],[102.904447,32.979969],[102.904366,32.980111],[102.904266,32.980259],[102.904233,32.980345],[102.904212,32.980503],[102.90423,32.980617],[102.904332,32.980799],[102.90433,32.98081],[102.904305,32.980994],[102.904256,32.981626],[102.904443,32.982349],[102.905163,32.983859],[102.905481,32.984526],[102.90555,32.98467],[102.906417,32.9869],[102.906576,32.987204],[102.906623,32.987326],[102.906681,32.987451],[102.906775,32.987602],[102.906836,32.987721],[102.90684,32.987808],[102.906877,32.987951],[102.906932,32.988087],[102.906997,32.988218],[102.907083,32.988337],[102.907148,32.988468],[102.907153,32.988593],[102.907112,32.988706],[102.907123,32.988829],[102.907153,32.98893],[102.907203,32.989031],[102.907229,32.989134],[102.907256,32.989241],[102.907257,32.989243],[102.907289,32.989367],[102.907377,32.989707],[102.907402,32.989805],[102.907673,32.989889],[102.907766,32.989945],[102.907883,32.990079],[102.907984,32.990283],[102.908002,32.990469],[102.907905,32.990584],[102.907786,32.990689],[102.907644,32.99074],[102.907704,32.990972],[102.907721,32.991037],[102.90796,32.99248],[102.908895,32.993387],[102.910068,32.994328],[102.910665,32.995057],[102.911393,32.996048],[102.911415,32.996074],[102.911493,32.996166],[102.91169,32.99629],[102.911844,32.996382],[102.911964,32.996527],[102.912034,32.996735],[102.912104,32.996916],[102.912156,32.996998],[102.912232,32.997048],[102.913258,32.998065],[102.913707,32.998406],[102.913747,32.998558],[102.913804,32.998675],[102.91386,32.998768],[102.91392,32.998843],[102.914031,32.998892],[102.914129,32.998931],[102.914209,32.998956],[102.914892,32.999732],[102.915434,32.999943],[102.916052,32.99978],[102.916126,32.999771],[102.916174,32.999764],[102.9162,32.999761],[102.917011,32.999653],[102.917514,32.999675],[102.918035,32.999698],[102.919982,32.999645],[102.920907,32.999516],[102.92169,32.999644],[102.922491,32.999642],[102.922543,32.999642],[102.923193,32.999641],[102.924316,32.999774],[102.925448,32.999592],[102.926467,32.99981],[102.926518,32.999816],[102.92683,32.999855],[102.927284,32.99991],[102.927557,32.999943],[102.928347,32.999726],[102.929353,32.999111],[102.929906,32.998774],[102.930204,32.998433],[102.930503,32.998093],[102.930961,32.997598],[102.930748,32.997514],[102.930684,32.997468],[102.930679,32.997396],[102.930704,32.997321],[102.930788,32.997263],[102.930902,32.997248],[102.931051,32.997236],[102.931208,32.997199],[102.93139,32.997147],[102.931714,32.997056],[102.932275,32.99677],[102.932608,32.996656],[102.932769,32.996601],[102.933285,32.996425],[102.933962,32.996193],[102.934749,32.996211],[102.935232,32.996222],[102.935324,32.99626],[102.935719,32.996425],[102.935852,32.996481],[102.936192,32.996622],[102.936612,32.996739],[102.936622,32.996741],[102.936887,32.996815],[102.936929,32.996827],[102.936943,32.997076],[102.93695,32.997206],[102.93694,32.997237],[102.936909,32.997338],[102.936905,32.997399],[102.936909,32.997525],[102.936929,32.997644],[102.936947,32.997751],[102.936954,32.99777],[102.936963,32.997787],[102.93698,32.997818],[102.937059,32.9979],[102.937139,32.997955],[102.937163,32.997974],[102.937142,32.998014],[102.937106,32.998043],[102.937052,32.998056],[102.936996,32.99804],[102.936958,32.998015],[102.936957,32.998075],[102.936956,32.998086],[102.936945,32.998557],[102.937224,32.99885],[102.93752,32.998759],[102.937586,32.998738],[102.937629,32.998709],[102.937689,32.99868],[102.937752,32.998662],[102.937807,32.99867],[102.938021,32.998604],[102.93804,32.998564],[102.93806,32.998523],[102.938081,32.998497],[102.938108,32.998472],[102.93813,32.998454],[102.938159,32.998434],[102.938193,32.998422],[102.938222,32.998415],[102.938256,32.998408],[102.938292,32.99841],[102.938331,32.998411],[102.938357,32.998413],[102.938389,32.998419],[102.938415,32.998425],[102.938434,32.998436],[102.938453,32.99845],[102.938469,32.998464],[102.938477,32.998497],[102.93883,32.998444],[102.93911,32.998689],[102.939105,32.998697],[102.9391,32.998709],[102.93907,32.998767],[102.939059,32.99879],[102.939043,32.998821],[102.938956,32.998995],[102.938944,32.999019],[102.938928,32.99905],[102.938898,32.999111],[102.938885,32.999137],[102.938751,32.999404],[102.938834,32.999835],[102.938853,32.999934],[102.938867,32.999974],[102.938875,32.999997],[102.938895,33.000053],[102.939019,33.000403],[102.939021,33.00041],[102.939024,33.000418],[102.939042,33.000467],[102.939069,33.000543],[102.939078,33.000571],[102.93931,33.001223],[102.939829,33.001618],[102.939572,33.002059],[102.940057,33.002453],[102.940541,33.002848],[102.940178,33.003287],[102.940114,33.003419],[102.939985,33.003684],[102.939919,33.003818],[102.939759,33.004002],[102.939731,33.004033],[102.93961,33.004071],[102.939537,33.004108],[102.939495,33.004134],[102.939403,33.004261],[102.939403,33.004286],[102.93889,33.004098],[102.938337,33.003766],[102.938229,33.003701],[102.938188,33.003968],[102.938272,33.004117],[102.938274,33.00412],[102.938383,33.004314],[102.938409,33.00436],[102.938425,33.004388],[102.938358,33.004432],[102.938342,33.004443],[102.938327,33.004453],[102.938262,33.004496],[102.938249,33.004505],[102.93823,33.004517],[102.937816,33.004794],[102.937788,33.004904],[102.937787,33.00491],[102.937786,33.004917],[102.93777,33.004977],[102.937741,33.005091],[102.937714,33.005202],[102.93766,33.005415],[102.93767,33.005428],[102.937918,33.005742],[102.937935,33.005764],[102.937969,33.005806],[102.93811,33.005948],[102.938167,33.006005],[102.93821,33.006048],[102.938205,33.006077],[102.938199,33.006109],[102.938197,33.006118],[102.938129,33.006492],[102.937805,33.006754],[102.937096,33.006951],[102.936373,33.007711],[102.936262,33.007878],[102.936249,33.007898],[102.936213,33.007952],[102.93608,33.008152],[102.935914,33.008704],[102.935908,33.008724],[102.935813,33.009039],[102.935438,33.009984],[102.934819,33.010806],[102.934762,33.010955],[102.934481,33.011691],[102.93449,33.011729],[102.934704,33.012705],[102.935033,33.013621],[102.935054,33.013682],[102.935069,33.013722],[102.935134,33.013858],[102.935164,33.013919],[102.935204,33.014003],[102.935674,33.01498],[102.93571,33.01506],[102.935717,33.015074],[102.935734,33.015114],[102.935742,33.01513],[102.935778,33.015212],[102.935942,33.015578],[102.936065,33.015696],[102.936191,33.015817],[102.936235,33.015859],[102.937046,33.016636],[102.93746,33.017342],[102.937508,33.017424],[102.937521,33.017447],[102.93782,33.017896],[102.938168,33.01842],[102.938174,33.01843],[102.938274,33.018581],[102.938279,33.018589],[102.938286,33.018599],[102.938339,33.018678],[102.938343,33.018702],[102.938345,33.018712],[102.93837,33.018701],[102.938446,33.018669],[102.938521,33.018625],[102.93852,33.018718],[102.938376,33.018899],[102.938525,33.019781],[102.938288,33.020847],[102.938445,33.021681],[102.938479,33.021746],[102.939121,33.02297],[102.939399,33.023421],[102.939937,33.024291],[102.940119,33.024354],[102.940279,33.024408],[102.940391,33.024447],[102.940623,33.024366],[102.940872,33.024278],[102.940879,33.024276],[102.941164,33.024176],[102.94128,33.024135],[102.942032,33.02392],[102.942559,33.02377],[102.943649,33.023907],[102.944453,33.024217],[102.945046,33.024524],[102.945566,33.024919],[102.945727,33.025575],[102.945435,33.026194],[102.945281,33.026518],[102.945072,33.026791],[102.944445,33.027604],[102.944594,33.027943],[102.944814,33.028442],[102.944982,33.028989],[102.945043,33.029189],[102.945058,33.030051],[102.944664,33.031827],[102.94418,33.032918],[102.943913,33.033805],[102.944072,33.034551],[102.944095,33.034921],[102.944123,33.035384],[102.944424,33.036102],[102.944406,33.036874],[102.944209,33.037241],[102.944185,33.037286],[102.943602,33.038079],[102.943658,33.038704],[102.943924,33.039421],[102.94475,33.040297],[102.945123,33.040957],[102.945112,33.041432],[102.944747,33.041931],[102.944704,33.042287],[102.944946,33.042499],[102.945685,33.04257],[102.946802,33.042783],[102.946879,33.042798],[102.947222,33.043098],[102.94723,33.043106],[102.947401,33.043255],[102.947433,33.043283],[102.947847,33.043646],[102.950089,33.046339],[102.950358,33.046662],[102.950379,33.046815],[102.950431,33.046911],[102.950535,33.047031],[102.950573,33.047075],[102.950715,33.047228],[102.950835,33.047306],[102.95104,33.047444],[102.951177,33.047521],[102.951336,33.04762],[102.951473,33.047748],[102.951564,33.047883],[102.951633,33.048022],[102.951643,33.048115],[102.951621,33.048179],[102.952035,33.048677],[102.952143,33.048753],[102.953077,33.049407],[102.954887,33.050447],[102.955224,33.051136],[102.954598,33.052421],[102.954577,33.052464],[102.954345,33.05294],[102.95424,33.053644],[102.954164,33.054391],[102.954105,33.054534],[102.954077,33.054667],[102.954007,33.054911],[102.953928,33.055083],[102.953828,33.055234],[102.953817,33.055363],[102.953789,33.055517],[102.953701,33.055665],[102.953639,33.05583],[102.95362,33.056019],[102.95363,33.056188],[102.953632,33.056324],[102.953616,33.056485],[102.953635,33.056631],[102.953696,33.056813],[102.953668,33.056932],[102.953601,33.057025],[102.953547,33.057108],[102.953527,33.057188],[102.953518,33.057226],[102.953515,33.057373],[102.953482,33.057455],[102.953438,33.057575],[102.953429,33.057599],[102.953401,33.057727],[102.953395,33.057754],[102.953401,33.058019],[102.953426,33.05914],[102.953439,33.059687],[102.953557,33.060173],[102.953721,33.060844],[102.954309,33.062117],[102.954944,33.063279],[102.955595,33.063773],[102.956519,33.063899],[102.957133,33.064058],[102.958356,33.064598],[102.959416,33.064541],[102.960792,33.064192],[102.962617,33.063516],[102.963865,33.06317],[102.96396,33.063143],[102.96426,33.06306],[102.965237,33.062816],[102.966028,33.06294],[102.966722,33.063472],[102.967116,33.06407],[102.967168,33.06407],[102.967212,33.06407],[102.967249,33.064082],[102.967288,33.064113],[102.9673,33.064167],[102.967297,33.064203],[102.96728,33.064215],[102.967228,33.064239],[102.967489,33.064636],[102.967934,33.065222],[102.968175,33.065539],[102.968292,33.06621],[102.968286,33.066451],[102.96828,33.06672],[102.968278,33.06679],[102.968298,33.066793],[102.968312,33.066798],[102.968323,33.066807],[102.96833,33.066818],[102.968346,33.066844],[102.968384,33.066858],[102.968404,33.066859],[102.968424,33.06686],[102.968462,33.066864],[102.96848,33.066872],[102.96849,33.066884],[102.968491,33.066904],[102.968473,33.066925],[102.968445,33.066929],[102.968403,33.066932],[102.96835,33.066937],[102.968321,33.066945],[102.968296,33.066961],[102.968281,33.066974],[102.96827,33.066993],[102.968269,33.067009],[102.968271,33.067024],[102.968278,33.067036],[102.96829,33.067047],[102.968302,33.067056],[102.968321,33.067071],[102.968356,33.067091],[102.968372,33.067101],[102.968392,33.067112],[102.968426,33.067137],[102.968447,33.067161],[102.968454,33.06718],[102.968445,33.067198],[102.968411,33.067212],[102.968398,33.067212],[102.968356,33.06722],[102.96835,33.067222],[102.968337,33.067232],[102.968324,33.06725],[102.968318,33.067277],[102.968322,33.0673],[102.968335,33.067312],[102.968363,33.067332],[102.968384,33.067336],[102.968404,33.067423],[102.968477,33.067736],[102.968553,33.067811],[102.969168,33.068416],[102.969685,33.068683],[102.969735,33.068709],[102.969749,33.068733],[102.969759,33.068742],[102.969795,33.068764],[102.969825,33.068783],[102.969864,33.068801],[102.969896,33.06882],[102.96992,33.068804],[102.969985,33.068838],[102.970433,33.069069],[102.971306,33.06967],[102.971649,33.069906],[102.971661,33.069933],[102.972195,33.071104],[102.972578,33.072109],[102.972614,33.072204],[102.972621,33.072223],[102.972648,33.072262],[102.972665,33.072291],[102.972677,33.072314],[102.972691,33.072337],[102.972705,33.072352],[102.972723,33.072365],[102.972746,33.07238],[102.972775,33.072413],[102.972803,33.072437],[102.972827,33.072459],[102.972831,33.072473],[102.972835,33.072484],[102.972837,33.072503],[102.972834,33.072516],[102.972809,33.072543],[102.972789,33.072563],[102.972789,33.072577],[102.972797,33.072602],[102.972803,33.072619],[102.972833,33.072668],[102.97286,33.072701],[102.972888,33.072742],[102.97291,33.072771],[102.972938,33.072801],[102.972978,33.072833],[102.972995,33.072855],[102.973046,33.072884],[102.973066,33.072893],[102.973059,33.072937],[102.973106,33.072967],[102.973176,33.073006],[102.973223,33.073032],[102.973267,33.073062],[102.973277,33.073082],[102.973282,33.073118],[102.973292,33.073146],[102.973322,33.073165],[102.97335,33.073177],[102.973391,33.07319],[102.973423,33.073214],[102.973442,33.07323],[102.973454,33.073252],[102.973466,33.073296],[102.973482,33.073314],[102.973529,33.073341],[102.973559,33.073361],[102.973583,33.073397],[102.973606,33.073428],[102.973636,33.073459],[102.97366,33.073485],[102.973776,33.073635],[102.973819,33.073704],[102.973849,33.07375],[102.973854,33.073756],[102.973904,33.07375],[102.97394,33.073796],[102.973967,33.07383],[102.973998,33.073857],[102.974025,33.073888],[102.974102,33.073961],[102.974151,33.074007],[102.974187,33.074036],[102.974217,33.074074],[102.974257,33.074135],[102.974299,33.074177],[102.974345,33.074214],[102.974391,33.074242],[102.974457,33.074265],[102.974485,33.07427],[102.974528,33.07428],[102.974546,33.074304],[102.974551,33.074329],[102.97453,33.074342],[102.9745,33.074373],[102.974482,33.074397],[102.974482,33.074409],[102.974503,33.074424],[102.974517,33.074424],[102.97453,33.074424],[102.974557,33.074417],[102.974592,33.074408],[102.974623,33.074427],[102.974632,33.074449],[102.97463,33.074478],[102.974618,33.0745],[102.974619,33.074523],[102.974631,33.074543],[102.974665,33.074558],[102.97468,33.074559],[102.974696,33.074559],[102.974716,33.074547],[102.974725,33.074528],[102.974725,33.0745],[102.974726,33.074486],[102.974729,33.074471],[102.974754,33.07446],[102.974774,33.074456],[102.974815,33.074466],[102.974832,33.074474],[102.974852,33.074486],[102.97486,33.074507],[102.974866,33.074527],[102.974873,33.074544],[102.974891,33.07456],[102.974915,33.074575],[102.974927,33.074586],[102.974935,33.074608],[102.974944,33.074623],[102.974963,33.074639],[102.974976,33.074656],[102.974975,33.074673],[102.974957,33.074692],[102.974947,33.074706],[102.974947,33.074717],[102.974953,33.074723],[102.974965,33.074727],[102.97498,33.074728],[102.974994,33.074725],[102.975017,33.074722],[102.975035,33.074711],[102.975037,33.074695],[102.97504,33.074675],[102.975047,33.074666],[102.975082,33.074672],[102.975101,33.074697],[102.97511,33.074721],[102.975128,33.074737],[102.975135,33.07474],[102.975155,33.07475],[102.975167,33.074772],[102.975148,33.074797],[102.975138,33.074808],[102.975132,33.074814],[102.975117,33.074839],[102.975114,33.07485],[102.975118,33.074861],[102.975127,33.074869],[102.975139,33.074872],[102.975161,33.074879],[102.975185,33.074894],[102.975209,33.074905],[102.97523,33.074922],[102.975258,33.074939],[102.975287,33.07496],[102.975302,33.074971],[102.975311,33.074994],[102.975308,33.075013],[102.975285,33.075026],[102.975268,33.075031],[102.975247,33.075035],[102.975233,33.07504],[102.975231,33.075048],[102.975234,33.07506],[102.975243,33.075066],[102.975253,33.075068],[102.975269,33.075069],[102.97529,33.075067],[102.975329,33.075072],[102.975356,33.075084],[102.975399,33.075081],[102.975412,33.075079],[102.975424,33.075074],[102.975457,33.075066],[102.975472,33.075075],[102.975479,33.075096],[102.975493,33.075107],[102.975505,33.075119],[102.975504,33.075149],[102.975497,33.075178],[102.975475,33.0752],[102.975454,33.075205],[102.975431,33.075194],[102.975432,33.075175],[102.975438,33.075152],[102.975437,33.075143],[102.975418,33.075143],[102.975409,33.075149],[102.975405,33.075162],[102.975405,33.07518],[102.975408,33.075202],[102.975409,33.075212],[102.975411,33.075229],[102.975412,33.075243],[102.97541,33.075255],[102.975403,33.075271],[102.975456,33.075352],[102.975708,33.075731],[102.975784,33.07606],[102.97587,33.076434],[102.9759,33.076565],[102.975931,33.076617],[102.975964,33.076668],[102.975994,33.076703],[102.976014,33.076721],[102.976044,33.076726],[102.976075,33.076731],[102.976139,33.076753],[102.976173,33.076777],[102.976197,33.076794],[102.976206,33.07682],[102.976207,33.076849],[102.976188,33.07689],[102.976152,33.076913],[102.976124,33.076942],[102.97611,33.076969],[102.976124,33.076997],[102.976134,33.077043],[102.976141,33.077065],[102.97615,33.077096],[102.976148,33.077127],[102.976137,33.077151],[102.976115,33.077176],[102.976067,33.077204],[102.976021,33.077226],[102.975987,33.077236],[102.975936,33.077246],[102.975916,33.077252],[102.975882,33.07774],[102.976311,33.078305],[102.977408,33.078583],[102.97755,33.078663],[102.978148,33.079003],[102.978661,33.079571],[102.978966,33.079908],[102.979567,33.080661],[102.980294,33.081676],[102.981612,33.081958],[102.982003,33.082224],[102.982649,33.082903],[102.983512,33.083772],[102.984031,33.084226],[102.984499,33.085014],[102.985049,33.086026],[102.985132,33.086162],[102.985363,33.086542],[102.985606,33.086943],[102.985688,33.087077],[102.985791,33.087132],[102.985844,33.087097],[102.985954,33.087109],[102.986004,33.08717],[102.986062,33.087192],[102.986151,33.087228],[102.986235,33.087244],[102.986326,33.087276],[102.986372,33.087311],[102.986403,33.08737],[102.986421,33.087408],[102.986387,33.087446],[102.98656,33.087537],[102.986654,33.087565],[102.987126,33.087706],[102.987181,33.087722],[102.987238,33.087739],[102.987875,33.08793],[102.988353,33.088182],[102.98871,33.08837],[102.988824,33.08843],[102.988965,33.088505],[102.988999,33.088951],[102.988992,33.089262],[102.988989,33.08941],[102.989081,33.089449],[102.989128,33.089493],[102.989139,33.089546],[102.989134,33.089602],[102.989111,33.089673],[102.989084,33.08971],[102.989027,33.089721],[102.988982,33.089715],[102.988919,33.08973],[102.988867,33.089752],[102.988813,33.08978],[102.988806,33.089824],[102.988826,33.089876],[102.98889,33.089939],[102.988927,33.089973],[102.988983,33.090017],[102.989034,33.090084],[102.989064,33.090145],[102.98911,33.090215],[102.989172,33.090273],[102.989269,33.090339],[102.989364,33.090465],[102.989491,33.090631],[102.990656,33.091231],[102.990756,33.091283],[102.990985,33.092048],[102.991003,33.092105],[102.991231,33.092496],[102.991257,33.092503],[102.991334,33.092519],[102.99138,33.092545],[102.99138,33.09259],[102.991339,33.092682],[102.99128,33.092725],[102.991255,33.092758],[102.991244,33.092806],[102.99125,33.092842],[102.991264,33.092873],[102.991287,33.092873],[102.99143,33.092838],[102.991706,33.093312],[102.991724,33.093342],[102.991725,33.093344],[102.991776,33.093355],[102.99183,33.093432],[102.991842,33.093494],[102.991864,33.093598],[102.991904,33.093685],[102.991958,33.093747],[102.992026,33.093815],[102.992094,33.093871],[102.992155,33.093915],[102.992219,33.093995],[102.992241,33.094058],[102.992209,33.094111],[102.992198,33.094183],[102.992208,33.094264],[102.992217,33.094338],[102.99226,33.094404],[102.992323,33.094442],[102.992435,33.094488],[102.992556,33.094709],[102.992569,33.094733],[102.992645,33.094872],[102.992657,33.094894],[102.992714,33.094999],[102.992724,33.095018],[102.992778,33.095116],[102.992791,33.09514],[102.992882,33.095307],[102.992893,33.095326],[102.992898,33.095336],[102.992957,33.095443],[102.992963,33.095448],[102.992987,33.095468],[102.993024,33.095499],[102.993059,33.095529],[102.993073,33.09554],[102.993191,33.09555],[102.993223,33.095552],[102.993248,33.09558],[102.993257,33.095624],[102.993266,33.095702],[102.993371,33.09579],[102.993453,33.095858],[102.993528,33.095921],[102.993551,33.09594],[102.993953,33.096277],[102.994552,33.097104],[102.995163,33.097344],[102.99534,33.097414],[102.995491,33.097303],[102.995513,33.097287],[102.995616,33.097212],[102.995789,33.097086],[102.995836,33.097096],[102.996039,33.097137],[102.996049,33.097139],[102.996102,33.09715],[102.99658,33.097248],[102.996695,33.097323],[102.996696,33.097265],[102.996695,33.097258],[102.996755,33.097256],[102.996838,33.097266],[102.996882,33.097285],[102.996913,33.097317],[102.996921,33.097354],[102.996911,33.097401],[102.996895,33.097455],[102.996909,33.097464],[102.997102,33.097591],[102.997232,33.097846],[102.99729,33.097841],[102.997343,33.097873],[102.997366,33.097918],[102.997368,33.097952],[102.99735,33.098004],[102.997308,33.098053],[102.997269,33.098059],[102.997233,33.09805],[102.997188,33.098032],[102.997137,33.098023],[102.997117,33.098035],[102.997103,33.098058],[102.997106,33.098094],[102.997135,33.098114],[102.997192,33.098145],[102.997242,33.098183],[102.997264,33.098226],[102.997264,33.098252],[102.997253,33.09827],[102.997227,33.098283],[102.997205,33.098296],[102.997209,33.098322],[102.997229,33.098339],[102.997277,33.09835],[102.997257,33.09855],[102.997256,33.098559],[102.997261,33.098615],[102.997271,33.098733],[102.997283,33.098875],[102.997206,33.098814],[102.997176,33.098787],[102.997123,33.098759],[102.99708,33.098754],[102.997051,33.098769],[102.997049,33.098811],[102.997095,33.098853],[102.997173,33.098898],[102.997243,33.098937],[102.997298,33.098966],[102.997385,33.099005],[102.997433,33.099035],[102.997437,33.099062],[102.997408,33.099089],[102.997359,33.099106],[102.997245,33.09913],[102.997172,33.099122],[102.99712,33.099096],[102.997095,33.099069],[102.997072,33.099044],[102.997038,33.099053],[102.997021,33.099073],[102.997039,33.099118],[102.997092,33.099162],[102.997137,33.099183],[102.997202,33.099217],[102.997226,33.099245],[102.997236,33.099284],[102.99724,33.099318],[102.997229,33.099362],[102.997202,33.099375],[102.997156,33.09938],[102.997122,33.099373],[102.9971,33.099379],[102.997073,33.099441],[102.997065,33.09949],[102.997027,33.099529],[102.996954,33.099554],[102.996924,33.099588],[102.996922,33.099634],[102.996923,33.099675],[102.996888,33.099719],[102.99685,33.09973],[102.996832,33.099749],[102.996854,33.099772],[102.99689,33.099779],[102.996915,33.099769],[102.996949,33.099732],[102.996991,33.099665],[102.997023,33.099625],[102.997057,33.099629],[102.997096,33.09965],[102.997132,33.099661],[102.997193,33.099649],[102.99725,33.099618],[102.997295,33.099615],[102.997341,33.099643],[102.997363,33.099695],[102.997361,33.099735],[102.997318,33.09976],[102.997232,33.099787],[102.997161,33.099794],[102.99711,33.09981],[102.997119,33.099837],[102.997156,33.099868],[102.997185,33.099874],[102.997206,33.099869],[102.997239,33.099837],[102.997281,33.099804],[102.997319,33.099782],[102.997366,33.099756],[102.997403,33.09975],[102.997437,33.099751],[102.997473,33.099767],[102.997485,33.099807],[102.99749,33.099873],[102.997499,33.099931],[102.997508,33.09996],[102.997532,33.100005],[102.99756,33.100042],[102.997607,33.100056],[102.997651,33.100049],[102.9978,33.099964],[102.997858,33.099933],[102.997886,33.099945],[102.997924,33.099988],[102.997929,33.100036],[102.997922,33.100064],[102.997913,33.10008],[102.997882,33.10011],[102.997876,33.100149],[102.997883,33.100164],[102.997911,33.100193],[102.997955,33.100218],[102.998054,33.100247],[102.99809,33.100244],[102.998117,33.100225],[102.998153,33.100255],[102.998188,33.100283],[102.998445,33.100478],[102.998839,33.100777],[102.999123,33.101199],[102.999213,33.101333],[102.999221,33.101345],[102.999211,33.101419],[102.999219,33.10149],[102.99924,33.101526],[102.999299,33.101548],[102.999332,33.101555],[102.999365,33.10156],[102.999383,33.101556],[102.999431,33.101555],[102.99948,33.101555],[102.99955,33.101557],[102.999567,33.101567],[102.99956,33.101582],[102.999525,33.101596],[102.999425,33.10163],[102.999457,33.101658],[102.99957,33.101757],[102.999784,33.101944],[103.000106,33.102294],[103.000462,33.10268],[103.000611,33.103062],[103.000655,33.103075],[103.000689,33.103106],[103.000712,33.103138],[103.000733,33.103183],[103.000763,33.103218],[103.000804,33.103233],[103.000831,33.103253],[103.000861,33.103282],[103.000853,33.103309],[103.000822,33.103328],[103.000788,33.10334],[103.00074,33.103394],[103.000745,33.103408],[103.000818,33.103578],[103.000854,33.103663],[103.001029,33.104074],[103.001466,33.104616],[103.00167,33.104724],[103.001836,33.104811],[103.002321,33.104818],[103.002523,33.104738],[103.002571,33.104718],[103.00256,33.104701],[103.002561,33.104674],[103.002573,33.104646],[103.002598,33.10461],[103.002622,33.104577],[103.002643,33.104541],[103.002658,33.104529],[103.002673,33.104527],[103.002698,33.104549],[103.002706,33.104574],[103.002712,33.104598],[103.002719,33.104615],[103.002728,33.104625],[103.002753,33.10463],[103.002788,33.104621],[103.002821,33.104602],[103.002833,33.104573],[103.002837,33.104544],[103.002842,33.104515],[103.002854,33.104493],[103.002885,33.104484],[103.002919,33.104494],[103.002962,33.104516],[103.002983,33.104539],[103.00299,33.104569],[103.003026,33.104565],[103.003063,33.104554],[103.003089,33.104541],[103.003113,33.104531],[103.003137,33.104528],[103.003157,33.104528],[103.003185,33.104535],[103.003215,33.104544],[103.003236,33.104542],[103.003675,33.104494],[103.003857,33.104717],[103.00381,33.105126],[103.003771,33.105182],[103.003661,33.105336],[103.003653,33.105348],[103.003608,33.105411],[103.003668,33.105385],[103.003688,33.105378],[103.003733,33.105374],[103.003761,33.105384],[103.003766,33.105404],[103.003751,33.105424],[103.003718,33.105444],[103.003664,33.105459],[103.003608,33.105478],[103.003584,33.105493],[103.003553,33.105529],[103.003535,33.105556],[103.003519,33.105584],[103.003495,33.105613],[103.003465,33.10564],[103.003447,33.105681],[103.003393,33.105798],[103.003386,33.105814],[103.003347,33.105898],[103.003344,33.105905],[103.003415,33.106097],[103.003428,33.106132],[103.003433,33.106145],[103.003433,33.106145],[103.003507,33.106343],[103.003516,33.106369],[103.003487,33.10638],[103.00347,33.106374],[103.003449,33.106364],[103.003438,33.106356],[103.003432,33.106401],[103.003435,33.106458],[103.003453,33.106491],[103.003558,33.10652],[103.003708,33.106527],[103.003742,33.106542],[103.003747,33.10657],[103.003729,33.106607],[103.003699,33.10671],[103.003699,33.106752],[103.003701,33.106825],[103.003722,33.106883],[103.003756,33.106942],[103.003803,33.106974],[103.003907,33.106978],[103.004004,33.106968],[103.004061,33.106946],[103.004131,33.106907],[103.004186,33.106848],[103.004233,33.106786],[103.004308,33.106712],[103.004325,33.106664],[103.004345,33.106648],[103.00437,33.106652],[103.004399,33.106657],[103.00444,33.10668],[103.004461,33.106699],[103.004482,33.106748],[103.004496,33.106799],[103.004506,33.106828],[103.004519,33.106844],[103.00455,33.106869],[103.004616,33.106874],[103.004659,33.106866],[103.004743,33.106819],[103.00483,33.106814],[103.004875,33.10685],[103.004908,33.10688],[103.004916,33.106908],[103.004904,33.106996],[103.004934,33.10703],[103.004985,33.107085],[103.005013,33.107163],[103.004992,33.107208],[103.004963,33.107274],[103.004968,33.107329],[103.004978,33.107358],[103.005021,33.107416],[103.005063,33.107478],[103.005115,33.10752],[103.005172,33.107558],[103.005246,33.107583],[103.005359,33.107587],[103.005458,33.107614],[103.005522,33.107672],[103.005559,33.107681],[103.005603,33.10769],[103.005652,33.107725],[103.005677,33.10776],[103.005706,33.107784],[103.005742,33.107806],[103.00579,33.107832],[103.005847,33.107851],[103.005915,33.107876],[103.005961,33.107893],[103.005998,33.107912],[103.006019,33.107956],[103.006044,33.107994],[103.006084,33.108065],[103.006087,33.108071],[103.006123,33.108138],[103.006175,33.108189],[103.006197,33.108208],[103.006188,33.108258],[103.006154,33.108294],[103.006129,33.108331],[103.006118,33.108386],[103.006117,33.108444],[103.006144,33.108498],[103.006168,33.108517],[103.00619,33.108526],[103.006234,33.108528],[103.006266,33.108524],[103.006357,33.108508],[103.00638,33.108531],[103.006379,33.10856],[103.006369,33.108576],[103.006348,33.108603],[103.006355,33.10864],[103.006369,33.10867],[103.006384,33.108684],[103.00641,33.108697],[103.006518,33.108739],[103.006557,33.108762],[103.006601,33.108786],[103.006632,33.108787],[103.006687,33.108786],[103.006695,33.10878],[103.006728,33.108793],[103.006768,33.10882],[103.006804,33.108836],[103.006842,33.108845],[103.006822,33.108886],[103.006861,33.108955],[103.006867,33.108965],[103.006869,33.108988],[103.006866,33.10903],[103.006872,33.109076],[103.006899,33.109105],[103.006951,33.109125],[103.00699,33.109143],[103.007032,33.109168],[103.007074,33.109199],[103.007127,33.109235],[103.00719,33.109263],[103.007251,33.109271],[103.007288,33.109267],[103.007331,33.109251],[103.007364,33.109229],[103.007389,33.109207],[103.007427,33.10919],[103.007481,33.109181],[103.007532,33.109172],[103.007569,33.109152],[103.0076,33.109133],[103.00762,33.109107],[103.007631,33.109081],[103.00765,33.109055],[103.007681,33.109035],[103.00774,33.109025],[103.007767,33.109031],[103.007805,33.109058],[103.007843,33.109091],[103.007875,33.109118],[103.007899,33.109136],[103.007941,33.109158],[103.007972,33.109163],[103.008006,33.109164],[103.008024,33.109151],[103.008034,33.10913],[103.008035,33.109108],[103.008104,33.109123],[103.008133,33.109129],[103.008298,33.10914],[103.00854,33.109156],[103.008569,33.109158],[103.008768,33.109171],[103.008904,33.10925],[103.008943,33.109273],[103.0091,33.109365],[103.009122,33.109384],[103.00918,33.109435],[103.009376,33.109607],[103.00943,33.109653],[103.009375,33.109836],[103.00936,33.109883],[103.009268,33.110186],[103.009288,33.110682],[103.009292,33.110784],[103.009659,33.111186],[103.009682,33.11121],[103.009723,33.111256],[103.00973,33.111263],[103.009893,33.111342],[103.009935,33.111325],[103.01,33.111311],[103.010083,33.111311],[103.010156,33.111314],[103.010265,33.11135],[103.010366,33.111375],[103.010445,33.111369],[103.010554,33.111331],[103.010665,33.111322],[103.010739,33.111335],[103.010801,33.111368],[103.010876,33.111395],[103.010967,33.111397],[103.011032,33.111365],[103.011101,33.111305],[103.011155,33.111273],[103.01121,33.111226],[103.011258,33.111167],[103.011289,33.111109],[103.011292,33.111046],[103.011297,33.110965],[103.011296,33.110948],[103.011294,33.110872],[103.011289,33.110846],[103.011283,33.110811],[103.011261,33.110768],[103.011244,33.110724],[103.011261,33.110682],[103.01129,33.110681],[103.011367,33.110686],[103.011415,33.110684],[103.011445,33.110668],[103.01145,33.110631],[103.01145,33.110589],[103.011445,33.110502],[103.011426,33.110441],[103.011399,33.110405],[103.011351,33.110362],[103.011326,33.110322],[103.011289,33.110261],[103.011244,33.110198],[103.011191,33.110137],[103.011166,33.110087],[103.011161,33.110039],[103.01121,33.110019],[103.011342,33.110021],[103.01139,33.11003],[103.011419,33.110059],[103.011431,33.110094],[103.011452,33.110135],[103.011465,33.110176],[103.011465,33.110202],[103.011477,33.110236],[103.011494,33.110262],[103.011517,33.110275],[103.011539,33.110286],[103.011574,33.110294],[103.011618,33.110295],[103.011663,33.110288],[103.011723,33.110264],[103.01176,33.110249],[103.011802,33.110238],[103.011854,33.110239],[103.011867,33.110243],[103.011884,33.11025],[103.011908,33.110262],[103.011949,33.110279],[103.011996,33.11031],[103.012034,33.110329],[103.012073,33.110335],[103.012119,33.110336],[103.01215,33.110323],[103.012179,33.110306],[103.012215,33.110292],[103.012249,33.110307],[103.012279,33.110326],[103.012294,33.110346],[103.012315,33.110363],[103.01233,33.110377],[103.012354,33.110384],[103.012387,33.110395],[103.012399,33.110411],[103.012417,33.110456],[103.012438,33.110483],[103.01246,33.110524],[103.012476,33.110539],[103.012514,33.110544],[103.012549,33.110541],[103.012582,33.110521],[103.012608,33.11049],[103.012624,33.110462],[103.012635,33.110433],[103.012645,33.110402],[103.012647,33.110383],[103.012651,33.110309],[103.012655,33.110247],[103.012664,33.110181],[103.012681,33.110114],[103.012711,33.110064],[103.012754,33.110042],[103.012834,33.110054],[103.012879,33.11008],[103.01294,33.110128],[103.012976,33.110158],[103.013011,33.110179],[103.013046,33.110188],[103.013076,33.11019],[103.013119,33.110184],[103.013163,33.110173],[103.013213,33.110147],[103.013263,33.110121],[103.013321,33.110092],[103.013499,33.110002],[103.013621,33.110004],[103.014019,33.11001],[103.014171,33.110012],[103.014503,33.110238],[103.01452,33.110348],[103.01456,33.110604],[103.014577,33.110714],[103.014617,33.110722],[103.01463,33.110731],[103.014637,33.110752],[103.014632,33.110773],[103.014622,33.110794],[103.014613,33.110827],[103.014606,33.110852],[103.014608,33.110882],[103.014616,33.110908],[103.014622,33.11093],[103.014623,33.11095],[103.014608,33.11097],[103.014606,33.110971],[103.01461,33.111045],[103.014627,33.111373],[103.014501,33.112],[103.014595,33.112058],[103.014631,33.112079],[103.014639,33.112084],[103.01468,33.112056],[103.014699,33.112052],[103.01473,33.112067],[103.01474,33.112083],[103.014753,33.112105],[103.01476,33.112128],[103.014799,33.112181],[103.014803,33.11219],[103.01483,33.112213],[103.014869,33.112235],[103.014891,33.112254],[103.0149,33.112265],[103.014899,33.112282],[103.014883,33.112291],[103.014869,33.112315],[103.01487,33.112339],[103.014885,33.112356],[103.014915,33.112368],[103.014983,33.11238],[103.015029,33.112371],[103.015072,33.112441],[103.015159,33.112584],[103.015171,33.112604],[103.015233,33.112705],[103.015147,33.113207],[103.015495,33.113537],[103.015586,33.113623],[103.015586,33.113623],[103.015607,33.113647],[103.015956,33.114065],[103.015987,33.114101],[103.016025,33.114142],[103.016091,33.114214],[103.016252,33.114387],[103.016462,33.114613],[103.016481,33.114728],[103.016576,33.115299],[103.016578,33.115309],[103.016582,33.115332],[103.016593,33.115402],[103.016594,33.115406],[103.016597,33.115423],[103.016625,33.115571],[103.016629,33.115591],[103.016629,33.115595],[103.016641,33.115655],[103.016642,33.11566],[103.016644,33.115674],[103.016688,33.11591],[103.016692,33.115932],[103.016736,33.116165],[103.01674,33.116186],[103.016794,33.116475],[103.017154,33.116731],[103.017179,33.116749],[103.017276,33.116817],[103.017298,33.116833],[103.017383,33.116893],[103.017663,33.116975],[103.017705,33.116953],[103.017729,33.116943],[103.017775,33.11694],[103.017807,33.116952],[103.01784,33.116968],[103.01788,33.116993],[103.017896,33.117014],[103.01791,33.117046],[103.018059,33.11709],[103.018113,33.117106],[103.018131,33.117111],[103.018339,33.117171],[103.018373,33.117162],[103.01848,33.11713],[103.018576,33.117134],[103.018644,33.117219],[103.018717,33.117248],[103.018781,33.117259],[103.01886,33.117251],[103.018922,33.117232],[103.018993,33.117217],[103.019029,33.117227],[103.019063,33.117257],[103.01909,33.117324],[103.019136,33.117383],[103.019171,33.117423],[103.019227,33.117455],[103.019271,33.117467],[103.01934,33.117468],[103.01941,33.117467],[103.019487,33.117487],[103.019513,33.1175],[103.019526,33.117542],[103.019522,33.117614],[103.019517,33.117658],[103.019664,33.117741],[103.019643,33.117793],[103.019632,33.117834],[103.019632,33.117883],[103.019655,33.117933],[103.019679,33.11796],[103.01971,33.117963],[103.019749,33.117945],[103.019803,33.117915],[103.01985,33.117903],[103.019911,33.117897],[103.019928,33.117944],[103.019958,33.118024],[103.019978,33.118007],[103.019996,33.11798],[103.020016,33.117962],[103.020043,33.117953],[103.020088,33.11795],[103.020128,33.117959],[103.020157,33.117976],[103.02019,33.117999],[103.020206,33.118021],[103.020221,33.118044],[103.020234,33.11808],[103.020226,33.118118],[103.020222,33.118142],[103.020238,33.118171],[103.02026,33.118182],[103.020298,33.118188],[103.020332,33.118208],[103.020321,33.118223],[103.020284,33.118238],[103.020264,33.11825],[103.020241,33.118255],[103.020212,33.118261],[103.020172,33.118265],[103.020138,33.11826],[103.020111,33.118242],[103.020092,33.118216],[103.020085,33.11819],[103.020078,33.118171],[103.020058,33.118124],[103.02004,33.118113],[103.020011,33.1181],[103.019985,33.118097],[103.020003,33.118145],[103.020047,33.118264],[103.020116,33.118448],[103.020461,33.118531],[103.020674,33.118582],[103.021023,33.118707],[103.021082,33.118727],[103.02123,33.11878],[103.021264,33.118818],[103.021668,33.119259],[103.021699,33.119563],[103.021709,33.119658],[103.021755,33.119696],[103.021771,33.119717],[103.0218,33.119749],[103.021803,33.119782],[103.021798,33.119809],[103.02179,33.119836],[103.021779,33.119871],[103.02177,33.119906],[103.021761,33.119946],[103.02174,33.119989],[103.021719,33.120008],[103.021712,33.120032],[103.021712,33.120054],[103.021732,33.120073],[103.021747,33.120079],[103.02175,33.120118],[103.02175,33.120128],[103.021751,33.120141],[103.021759,33.120236],[103.021818,33.120291],[103.021938,33.120401],[103.022415,33.120837],[103.022528,33.120941],[103.022644,33.121014],[103.022688,33.121041],[103.022719,33.12106],[103.022731,33.121077],[103.022764,33.121121],[103.022797,33.121165],[103.022819,33.121194],[103.022852,33.121206],[103.022891,33.121212],[103.023045,33.121264],[103.023128,33.121265],[103.023429,33.12127],[103.023567,33.121273],[103.023582,33.121267],[103.023599,33.121261],[103.023618,33.121256],[103.023699,33.121247],[103.023802,33.121254],[103.023859,33.121263],[103.024107,33.121217],[103.024118,33.121215],[103.024267,33.121187],[103.024305,33.121197],[103.024323,33.121202],[103.024347,33.121204],[103.024391,33.121216],[103.024421,33.121228],[103.024436,33.121242],[103.024437,33.121252],[103.024436,33.121282],[103.024428,33.121298],[103.024411,33.121327],[103.024412,33.121345],[103.024417,33.121366],[103.024447,33.12138],[103.024487,33.121386],[103.024533,33.121385],[103.024584,33.121375],[103.024615,33.121359],[103.024641,33.121332],[103.024656,33.121303],[103.024667,33.12127],[103.024676,33.121243],[103.02469,33.121208],[103.024697,33.121179],[103.024707,33.12115],[103.024712,33.121132],[103.024706,33.121106],[103.024694,33.121069],[103.024691,33.121055],[103.024673,33.121016],[103.024667,33.120986],[103.024668,33.120965],[103.024707,33.120954],[103.024752,33.120978],[103.024784,33.121002],[103.02483,33.121043],[103.024841,33.12108],[103.024842,33.1211],[103.024838,33.12112],[103.024832,33.121139],[103.024827,33.121157],[103.024818,33.121179],[103.02481,33.1212],[103.02481,33.12122],[103.024813,33.121242],[103.024828,33.121258],[103.024857,33.121269],[103.024913,33.12128],[103.024953,33.12128],[103.024998,33.121276],[103.025021,33.121267],[103.025046,33.121243],[103.025058,33.121226],[103.025074,33.121189],[103.025083,33.121166],[103.02508,33.121149],[103.025077,33.121132],[103.025074,33.121114],[103.02507,33.121097],[103.025068,33.12108],[103.025069,33.12106],[103.025233,33.121048],[103.025968,33.120996],[103.026047,33.121012],[103.027122,33.121234],[103.027291,33.121322],[103.027936,33.121656],[103.028157,33.122108],[103.028165,33.122123],[103.028195,33.122184],[103.028227,33.12225],[103.028294,33.122386],[103.028276,33.123172],[103.028262,33.123248],[103.02826,33.123263],[103.028233,33.123408],[103.028224,33.123457],[103.028215,33.123508],[103.028197,33.12361],[103.028191,33.123643],[103.02828,33.123744],[103.028341,33.123746],[103.028413,33.123757],[103.028481,33.123776],[103.028525,33.123794],[103.028573,33.123817],[103.028609,33.123843],[103.028641,33.123869],[103.028654,33.123896],[103.028675,33.123929],[103.028697,33.123947],[103.028743,33.123974],[103.028931,33.124001],[103.029399,33.123982],[103.029492,33.123979],[103.029903,33.124017],[103.030231,33.124303],[103.030184,33.124324],[103.030172,33.124341],[103.03015,33.12438],[103.03015,33.124395],[103.030169,33.124422],[103.030176,33.124426],[103.0302,33.124441],[103.030236,33.124452],[103.030261,33.124464],[103.030276,33.12446],[103.030311,33.124589],[103.030332,33.124666],[103.030344,33.124711],[103.030371,33.124811],[103.030514,33.125128],[103.030848,33.125228],[103.031089,33.125104],[103.031158,33.125069],[103.031265,33.125014],[103.031688,33.124485],[103.032065,33.124366],[103.032677,33.124505],[103.032726,33.124516],[103.032809,33.124535],[103.032961,33.124553],[103.033704,33.124643],[103.034095,33.12459],[103.034243,33.12457],[103.034517,33.124532],[103.034525,33.124553],[103.034536,33.124568],[103.034593,33.124613],[103.034631,33.124633],[103.034661,33.124638],[103.034692,33.124636],[103.034729,33.124615],[103.034762,33.124594],[103.034789,33.124577],[103.034813,33.124572],[103.034847,33.124581],[103.034875,33.124596],[103.034905,33.124603],[103.034955,33.1246],[103.034989,33.124583],[103.035013,33.124569],[103.035031,33.124554],[103.035045,33.124538],[103.035058,33.124523],[103.03507,33.124501],[103.03508,33.124475],[103.035076,33.124449],[103.035065,33.124432],[103.035036,33.124404],[103.035004,33.124382],[103.034983,33.124362],[103.034979,33.124341],[103.034987,33.12433],[103.035002,33.124321],[103.035036,33.124313],[103.03506,33.124312],[103.035083,33.124318],[103.035103,33.124328],[103.035114,33.124342],[103.035128,33.124365],[103.03514,33.124393],[103.035152,33.12442],[103.035161,33.124444],[103.035171,33.124467],[103.035184,33.124484],[103.035197,33.124492],[103.035224,33.124505],[103.035254,33.124513],[103.035282,33.124514],[103.035358,33.124509],[103.035388,33.124499],[103.035418,33.124485],[103.035435,33.12447],[103.035452,33.124452],[103.035468,33.124439],[103.03549,33.124428],[103.035528,33.124416],[103.035556,33.124417],[103.035585,33.124433],[103.035582,33.12446],[103.035569,33.124475],[103.035554,33.12448],[103.035521,33.124498],[103.035506,33.124507],[103.035488,33.124515],[103.035468,33.124537],[103.035457,33.124556],[103.03545,33.124578],[103.035469,33.124601],[103.035495,33.124618],[103.035524,33.124635],[103.0356,33.124646],[103.035688,33.124632],[103.035736,33.124615],[103.035986,33.124648],[103.036034,33.124659],[103.036544,33.124782],[103.037105,33.12476],[103.037527,33.124326],[103.037817,33.124189],[103.03798,33.124113],[103.038271,33.124135],[103.038306,33.124154],[103.038333,33.124163],[103.038373,33.124166],[103.038415,33.124173],[103.038444,33.124185],[103.038464,33.124202],[103.038484,33.124223],[103.038517,33.124245],[103.038539,33.124276],[103.038553,33.12431],[103.038555,33.124333],[103.038546,33.124362],[103.038518,33.124381],[103.038501,33.124398],[103.038481,33.124411],[103.038436,33.124434],[103.038411,33.124474],[103.038413,33.124513],[103.038425,33.124551],[103.038448,33.124571],[103.038513,33.124587],[103.038555,33.124586],[103.038605,33.124583],[103.038675,33.124583],[103.038688,33.124588],[103.0387,33.12462],[103.038692,33.124676],[103.03867,33.124712],[103.038656,33.124758],[103.038661,33.124809],[103.038684,33.124856],[103.038519,33.125097],[103.038596,33.125186],[103.038802,33.125427],[103.038847,33.12548],[103.038988,33.125489],[103.039482,33.125521],[103.039545,33.125507],[103.040122,33.125374],[103.040426,33.125425],[103.040679,33.125468],[103.040783,33.125486],[103.040853,33.125498],[103.040882,33.125522],[103.040899,33.125528],[103.040928,33.125534],[103.040956,33.125543],[103.040983,33.125552],[103.041059,33.125596],[103.041078,33.12561],[103.041119,33.125639],[103.041149,33.12566],[103.041236,33.125722],[103.041531,33.125931],[103.041659,33.126276],[103.041739,33.126492],[103.041742,33.126501],[103.041752,33.126598],[103.041773,33.126816],[103.042328,33.127077],[103.04289,33.127023],[103.043303,33.126866],[103.043569,33.126765],[103.043607,33.126751],[103.044159,33.126667],[103.044217,33.126658],[103.044232,33.126656],[103.044241,33.126667],[103.044264,33.126685],[103.044317,33.1267],[103.044374,33.12671],[103.04443,33.126712],[103.044487,33.126698],[103.044542,33.126679],[103.044581,33.126657],[103.044608,33.126639],[103.044652,33.126598],[103.044706,33.126591],[103.044869,33.12657],[103.045201,33.126527],[103.045221,33.126524],[103.045236,33.126522],[103.045671,33.126437],[103.046265,33.126666],[103.04653,33.126727],[103.047009,33.126836],[103.04773,33.126817],[103.047767,33.126806],[103.047826,33.12679],[103.047852,33.126782],[103.047872,33.126786],[103.048322,33.126667],[103.048922,33.126582],[103.048939,33.126581],[103.049416,33.126555],[103.049724,33.126539],[103.049737,33.126538],[103.049821,33.126533],[103.05046,33.126324],[103.051291,33.126053],[103.052377,33.125975],[103.053574,33.125963],[103.054513,33.12582],[103.055303,33.125741],[103.055351,33.125736],[103.0556,33.125711],[103.05683,33.12561],[103.057211,33.125579],[103.058862,33.125353],[103.06006,33.125308],[103.061785,33.125115],[103.062842,33.125031],[103.063434,33.124983],[103.064328,33.125155],[103.065495,33.128226],[103.065744,33.128796],[103.066639,33.128904],[103.067463,33.128854],[103.069706,33.128952],[103.070755,33.128874],[103.072174,33.12899],[103.073453,33.130363],[103.073888,33.131056],[103.073944,33.131144],[103.074176,33.131514],[103.074196,33.131545],[103.074197,33.131547],[103.074212,33.131571],[103.074849,33.133249],[103.074696,33.133199],[103.074522,33.1332],[103.074424,33.133219],[103.074404,33.133266],[103.074413,33.133348],[103.074453,33.133441],[103.074526,33.133497],[103.07465,33.13355],[103.07474,33.13361],[103.074899,33.133736],[103.074911,33.133848],[103.075345,33.134516],[103.075937,33.13484],[103.078205,33.135473],[103.080146,33.135692],[103.081307,33.135615],[103.082047,33.135973],[103.082068,33.135976],[103.082831,33.136079],[103.083459,33.136435],[103.083375,33.136533],[103.083405,33.136675],[103.083504,33.136861],[103.083655,33.137189],[103.083754,33.137388],[103.083836,33.137593],[103.083871,33.137692],[103.083958,33.137849],[103.084016,33.137963],[103.084086,33.138087],[103.084166,33.138143],[103.084226,33.138185],[103.084857,33.139622],[103.085072,33.140113],[103.085129,33.140151],[103.085224,33.140233],[103.085315,33.140379],[103.085354,33.14045],[103.085389,33.140536],[103.085421,33.140686],[103.085444,33.140803],[103.085465,33.141064],[103.085475,33.141297],[103.085472,33.141386],[103.085452,33.141455],[103.085415,33.141544],[103.085437,33.141634],[103.085523,33.141687],[103.085621,33.141764],[103.085691,33.14185],[103.085825,33.14194],[103.085881,33.142075],[103.08591,33.142201],[103.085918,33.142236],[103.08612,33.143117],[103.086857,33.144555],[103.086859,33.144561],[103.08696,33.144758],[103.087435,33.145684],[103.087456,33.145725],[103.08805,33.146885],[103.0884,33.146937],[103.088753,33.147005],[103.089233,33.147077],[103.089483,33.147159],[103.089447,33.147234],[103.089426,33.147278],[103.08918,33.147425],[103.089075,33.14754],[103.088967,33.147656],[103.088687,33.147881],[103.088571,33.147901],[103.088994,33.148728],[103.088996,33.148731],[103.089146,33.149024],[103.08933,33.149383],[103.089382,33.149484],[103.089539,33.14979],[103.089566,33.149843],[103.089882,33.150504],[103.090067,33.150889],[103.090161,33.15174],[103.090206,33.152182],[103.090263,33.152222],[103.090656,33.152496],[103.09081,33.152518],[103.090868,33.152624],[103.090998,33.152814],[103.091019,33.15284],[103.09107,33.152903],[103.091142,33.152998],[103.091137,33.153141],[103.091011,33.153279],[103.090636,33.153434],[103.090474,33.153492],[103.090573,33.153681],[103.090963,33.154428],[103.091088,33.154546],[103.09188,33.155292],[103.092615,33.155869],[103.093157,33.15679],[103.093466,33.157091],[103.093816,33.15743],[103.093868,33.157689],[103.093918,33.157935],[103.093917,33.157965],[103.093906,33.158476],[103.093905,33.158502],[103.093633,33.159001],[103.093483,33.159257],[103.09305,33.159999],[103.092612,33.160511],[103.09225,33.160935],[103.091754,33.161517],[103.09159,33.161708],[103.09157,33.162652],[103.091701,33.163844],[103.091756,33.164341],[103.091772,33.164486],[103.091883,33.165497],[103.091888,33.165537],[103.09182,33.1656],[103.091591,33.165584],[103.091443,33.165639],[103.091433,33.165645],[103.09152,33.165732],[103.091714,33.165909],[103.091808,33.166057],[103.091888,33.166253],[103.092005,33.166424],[103.092069,33.166813],[103.09211,33.167067],[103.092237,33.168139],[103.093096,33.169946],[103.093294,33.170724],[103.093337,33.170894],[103.09339,33.171894],[103.09339,33.171902],[103.093389,33.172164],[103.093385,33.172831],[103.093383,33.173386],[103.093379,33.174136],[103.093372,33.174438],[103.093362,33.174923],[103.093373,33.175038],[103.093422,33.175514],[103.093454,33.175837],[103.093441,33.175994],[103.093354,33.177032],[103.093047,33.17776],[103.092959,33.17797],[103.092198,33.178525],[103.091267,33.179046],[103.090721,33.179352],[103.090478,33.179431],[103.088874,33.179953],[103.087701,33.180367],[103.087594,33.180405],[103.087304,33.180507],[103.087252,33.180526],[103.086823,33.180677],[103.08563,33.181099],[103.085248,33.181439],[103.085214,33.181739],[103.085211,33.181768],[103.085202,33.181848],[103.085297,33.182636],[103.085289,33.182678],[103.085324,33.182877],[103.08527,33.183026],[103.085192,33.183183],[103.08519,33.183189],[103.08515,33.183397],[103.08506,33.183867],[103.085001,33.184174],[103.084871,33.18499],[103.084533,33.185342],[103.084335,33.185548],[103.083301,33.186533],[103.082806,33.187004],[103.082559,33.187315],[103.08246,33.187439],[103.082395,33.187642],[103.082383,33.187679],[103.082203,33.188242],[103.082092,33.188588],[103.082058,33.188692],[103.082014,33.188936],[103.081956,33.189255],[103.081952,33.189281],[103.081888,33.189634],[103.081577,33.190154],[103.081422,33.190414],[103.080772,33.191033],[103.080742,33.191309],[103.080725,33.191473],[103.080745,33.191523],[103.080751,33.191537],[103.080823,33.191713],[103.080836,33.191745],[103.08084,33.191756],[103.080867,33.191821],[103.081351,33.191955],[103.081721,33.191943],[103.081886,33.191938],[103.081899,33.191938],[103.081958,33.191902],[103.082066,33.19181],[103.082112,33.191757],[103.082329,33.19159],[103.082392,33.191547],[103.082398,33.191543],[103.082451,33.191505],[103.082488,33.191492],[103.082516,33.191495],[103.082555,33.191513],[103.082596,33.191542],[103.08263,33.191599],[103.082653,33.191658],[103.082677,33.191719],[103.082695,33.191768],[103.082716,33.191841],[103.082902,33.191816],[103.082976,33.191806],[103.083019,33.1918],[103.083076,33.191792],[103.083448,33.191924],[103.083553,33.19224],[103.082907,33.192671],[103.081883,33.19365],[103.081745,33.194453],[103.081953,33.194776],[103.08197,33.194802],[103.082122,33.195038],[103.082174,33.19506],[103.082217,33.195077],[103.082723,33.195284],[103.082857,33.195266],[103.082981,33.19525],[103.083076,33.195224],[103.083133,33.195194],[103.083142,33.195189],[103.083191,33.195164],[103.083254,33.195153],[103.08331,33.195161],[103.083358,33.195175],[103.083421,33.195206],[103.083501,33.195271],[103.083544,33.195327],[103.083584,33.19541],[103.083614,33.195485],[103.083626,33.195557],[103.083651,33.195652],[103.083755,33.195693],[103.083847,33.195835],[103.083875,33.195878],[103.083887,33.196067],[103.083859,33.196239],[103.083729,33.196406],[103.083663,33.196439],[103.083446,33.196549],[103.083383,33.196555],[103.083266,33.196556],[103.0831,33.196536],[103.082739,33.196522],[103.082591,33.196513],[103.082365,33.196522],[103.082357,33.196523],[103.08222,33.196539],[103.082137,33.196549],[103.081945,33.196573],[103.081785,33.196592],[103.081622,33.196605],[103.081491,33.196606],[103.081331,33.196609],[103.081241,33.1966],[103.081251,33.196628],[103.08127,33.196648],[103.081124,33.196732],[103.081085,33.196772],[103.080943,33.196909],[103.080742,33.197243],[103.080539,33.197582],[103.080587,33.198112],[103.080676,33.198268],[103.080688,33.19829],[103.080789,33.198467],[103.080895,33.198517],[103.081137,33.19863],[103.081144,33.198634],[103.081234,33.198676],[103.081715,33.198582],[103.081888,33.198513],[103.082099,33.198428],[103.08244,33.198291],[103.082489,33.198296],[103.082555,33.198217],[103.08262,33.198143],[103.082697,33.198082],[103.082699,33.198079],[103.082786,33.198074],[103.082865,33.19809],[103.082921,33.198124],[103.082945,33.19817],[103.082961,33.19822],[103.082971,33.198278],[103.082963,33.198341],[103.083068,33.198351],[103.083177,33.198456],[103.083157,33.198507],[103.08312,33.198664],[103.083084,33.198775],[103.083059,33.198872],[103.083042,33.198998],[103.083035,33.199121],[103.083008,33.199311],[103.083005,33.199443],[103.083003,33.199518],[103.082924,33.199781],[103.082907,33.199878],[103.082892,33.199956],[103.082862,33.199997],[103.082788,33.200041],[103.082741,33.20011],[103.082688,33.200272],[103.082583,33.200607],[103.082499,33.200811],[103.082465,33.200898],[103.082445,33.200929],[103.082419,33.200969],[103.082386,33.201009],[103.082332,33.201038],[103.08222,33.201098],[103.082175,33.20115],[103.082164,33.201173],[103.082127,33.201252],[103.082114,33.201326],[103.082113,33.201417],[103.082133,33.201491],[103.082138,33.201509],[103.082184,33.201616],[103.082276,33.20179],[103.082301,33.201884],[103.082302,33.201969],[103.082285,33.202088],[103.082246,33.202247],[103.0822,33.202403],[103.082153,33.202553],[103.082127,33.202666],[103.082116,33.202755],[103.082113,33.202857],[103.082111,33.202899],[103.082112,33.203],[103.082119,33.203097],[103.082164,33.203194],[103.082263,33.203352],[103.082379,33.203491],[103.082453,33.203514],[103.082527,33.203537],[103.082759,33.203546],[103.082942,33.20351],[103.083046,33.203846],[103.083152,33.204185],[103.083178,33.20427],[103.083508,33.204275],[103.084149,33.203898],[103.084175,33.203883],[103.084268,33.203856],[103.08441,33.203814],[103.084467,33.203797],[103.084665,33.203739],[103.084748,33.203715],[103.08492,33.204071],[103.084919,33.204119],[103.084809,33.204158],[103.084768,33.204206],[103.084741,33.204302],[103.08475,33.204377],[103.084751,33.204513],[103.084662,33.204581],[103.084546,33.204601],[103.084496,33.204653],[103.084471,33.20473],[103.084434,33.204851],[103.084458,33.204939],[103.084369,33.205068],[103.08418,33.20523],[103.083937,33.2055],[103.083681,33.205639],[103.083577,33.205667],[103.083534,33.205638],[103.083541,33.20545],[103.083512,33.205459],[103.083355,33.205349],[103.083251,33.205276],[103.083043,33.20513],[103.082716,33.2049],[103.082598,33.204817],[103.082133,33.204598],[103.082023,33.205058],[103.082209,33.20634],[103.082276,33.206795],[103.082283,33.20685],[103.082431,33.207171],[103.082703,33.207763],[103.083185,33.20825],[103.083445,33.208513],[103.083783,33.208807],[103.0838,33.208759],[103.083913,33.208796],[103.084071,33.208828],[103.084195,33.208844],[103.084357,33.20886],[103.084457,33.208862],[103.084523,33.208973],[103.084538,33.209077],[103.084512,33.209245],[103.084455,33.209414],[103.084403,33.209471],[103.084466,33.209557],[103.0845,33.209603],[103.084356,33.209695],[103.084287,33.209739],[103.084253,33.209761],[103.084202,33.209769],[103.084099,33.209766],[103.083986,33.209752],[103.083821,33.209821],[103.083671,33.209884],[103.083589,33.209832],[103.083535,33.209788],[103.08346,33.209738],[103.083403,33.209732],[103.083301,33.209763],[103.083195,33.209848],[103.083094,33.209968],[103.082996,33.210085],[103.082863,33.210232],[103.082793,33.210313],[103.082724,33.210421],[103.082694,33.210516],[103.082618,33.210733],[103.082548,33.211232],[103.082421,33.211445],[103.082177,33.21175],[103.082181,33.211758],[103.082168,33.211786],[103.082143,33.211857],[103.082129,33.211944],[103.082133,33.212066],[103.082149,33.212129],[103.082156,33.212156],[103.082211,33.21222],[103.082311,33.212262],[103.082484,33.212292],[103.082946,33.212355],[103.083309,33.212205],[103.08364,33.212147],[103.08384,33.212116],[103.084106,33.211842],[103.084296,33.211648],[103.084646,33.211327],[103.084655,33.211319],[103.084809,33.211178],[103.085233,33.21079],[103.085705,33.211133],[103.085768,33.21129],[103.085838,33.211467],[103.085894,33.211606],[103.085928,33.211682],[103.085923,33.211687],[103.085892,33.211741],[103.085868,33.211806],[103.085862,33.21189],[103.085868,33.211953],[103.085904,33.21204],[103.085956,33.212135],[103.086012,33.212196],[103.086132,33.212289],[103.08628,33.212369],[103.086416,33.212429],[103.086487,33.212438],[103.086579,33.212419],[103.086675,33.212388],[103.086749,33.21234],[103.086809,33.212274],[103.086863,33.212205],[103.086918,33.212132],[103.086974,33.212107],[103.087082,33.21206],[103.087138,33.212024],[103.087409,33.211845],[103.087483,33.211797],[103.088134,33.211368],[103.088166,33.211322],[103.088214,33.211253],[103.088284,33.211175],[103.088358,33.211118],[103.088428,33.211072],[103.088509,33.211018],[103.088594,33.210987],[103.088654,33.210987],[103.088718,33.211004],[103.0888,33.211058],[103.089103,33.21095],[103.08945,33.211051],[103.089505,33.211067],[103.089515,33.21107],[103.08963,33.211104],[103.089752,33.211139],[103.089768,33.211352],[103.089793,33.211677],[103.089357,33.212118],[103.089001,33.212424],[103.088595,33.212772],[103.088567,33.212796],[103.088552,33.212809],[103.088538,33.212821],[103.088515,33.212841],[103.088435,33.212909],[103.088319,33.213355],[103.088362,33.213803],[103.088473,33.213777],[103.088578,33.213753],[103.088595,33.213749],[103.088854,33.213688],[103.088898,33.213677],[103.089024,33.213628],[103.089207,33.213476],[103.089281,33.213397],[103.089287,33.213362],[103.08933,33.213327],[103.089548,33.21315],[103.089597,33.213132],[103.089609,33.213127],[103.089959,33.212995],[103.090418,33.212822],[103.090461,33.212806],[103.09061,33.21291],[103.090615,33.212914],[103.090723,33.212989],[103.090518,33.213398],[103.090501,33.213433],[103.090215,33.213892],[103.090059,33.214143],[103.090069,33.214208],[103.090071,33.214221],[103.090102,33.214434],[103.090105,33.214456],[103.090846,33.214692],[103.091044,33.214685],[103.091067,33.214685],[103.091566,33.214668],[103.091568,33.214682],[103.091641,33.215074],[103.091658,33.215388],[103.091622,33.215637],[103.091606,33.215711],[103.091756,33.215721],[103.091844,33.216224],[103.091862,33.216351],[103.091967,33.217109],[103.09238,33.217454],[103.092421,33.217488],[103.092437,33.217502],[103.092636,33.217668],[103.092713,33.217735],[103.092743,33.217743],[103.0928,33.21776],[103.092896,33.217811],[103.092979,33.217875],[103.093082,33.217944],[103.093176,33.218056],[103.093206,33.218121],[103.093223,33.218182],[103.093224,33.218229],[103.093224,33.218296],[103.093214,33.218354],[103.093201,33.218384],[103.093205,33.218526],[103.09321,33.218703],[103.092939,33.219019],[103.092929,33.219031],[103.092482,33.219551],[103.092484,33.219643],[103.092484,33.219656],[103.09249,33.219883],[103.092495,33.220173],[103.092511,33.220188],[103.09257,33.220251],[103.092636,33.220322],[103.092932,33.220641],[103.092978,33.220654],[103.093031,33.220665],[103.093087,33.220684],[103.093155,33.220711],[103.093251,33.220765],[103.093483,33.220904],[103.093548,33.220946],[103.093591,33.220984],[103.093632,33.22102],[103.093642,33.221031],[103.093765,33.221058],[103.094547,33.22123],[103.095763,33.221463],[103.096141,33.221538],[103.096285,33.221519],[103.096425,33.22151],[103.096561,33.221496],[103.09672,33.221477],[103.096929,33.221462],[103.096986,33.221467],[103.097043,33.221491],[103.097086,33.221531],[103.097135,33.221597],[103.09716,33.221682],[103.097175,33.221786],[103.097163,33.221866],[103.097342,33.221965],[103.097471,33.222561],[103.097457,33.222587],[103.0971,33.223158],[103.096815,33.223719],[103.096935,33.224042],[103.096969,33.22413],[103.09709,33.224442],[103.097097,33.224505],[103.097104,33.224577],[103.09712,33.224732],[103.096991,33.224807],[103.096842,33.224777],[103.096861,33.224728],[103.096861,33.224691],[103.096851,33.224655],[103.09679,33.224609],[103.096716,33.224561],[103.096663,33.224547],[103.096632,33.224553],[103.096611,33.224584],[103.096581,33.22463],[103.096538,33.22466],[103.096477,33.224672],[103.09609,33.224472],[103.096048,33.224451],[103.09594,33.224397],[103.095932,33.224394],[103.095875,33.224422],[103.095818,33.22444],[103.09572,33.224456],[103.095604,33.224454],[103.095539,33.224448],[103.095476,33.224429],[103.09542,33.224401],[103.095369,33.224345],[103.09537,33.224363],[103.095378,33.224614],[103.095442,33.225012],[103.095644,33.225207],[103.09578,33.225338],[103.095913,33.225464],[103.095934,33.225483],[103.096224,33.225756],[103.096264,33.225744],[103.096297,33.22573],[103.096315,33.225718],[103.096334,33.225706],[103.096384,33.22567],[103.096491,33.225626],[103.096537,33.225627],[103.0966,33.225634],[103.096638,33.225651],[103.096667,33.225676],[103.096691,33.225713],[103.096719,33.225773],[103.096734,33.225832],[103.096735,33.225903],[103.096725,33.225978],[103.096709,33.226027],[103.09669,33.226065],[103.096745,33.226101],[103.096919,33.226408],[103.09683,33.226647],[103.096784,33.226809],[103.096704,33.226972],[103.096666,33.227085],[103.096622,33.227148],[103.096586,33.227188],[103.096527,33.227243],[103.096425,33.2273],[103.096347,33.227339],[103.096229,33.227373],[103.096149,33.227384],[103.096029,33.227385],[103.095937,33.227377],[103.095831,33.227359],[103.095741,33.227323],[103.095695,33.2273],[103.095665,33.227304],[103.095555,33.22732],[103.095094,33.227619],[103.095262,33.22781],[103.095272,33.22782],[103.095649,33.228009],[103.095724,33.228028],[103.095804,33.228019],[103.095927,33.228014],[103.096073,33.228025],[103.096131,33.228036],[103.096223,33.228053],[103.096376,33.228103],[103.096436,33.228135],[103.096444,33.228134],[103.096628,33.228131],[103.096658,33.228128],[103.096794,33.228165],[103.097034,33.228201],[103.097134,33.2282],[103.097209,33.228193],[103.097287,33.228165],[103.097357,33.228118],[103.097421,33.228052],[103.097723,33.228063],[103.097757,33.228052],[103.097831,33.228048],[103.097926,33.228043],[103.098002,33.228044],[103.098058,33.228058],[103.098091,33.228076],[103.098138,33.228078],[103.098486,33.228197],[103.098532,33.228213],[103.098932,33.22835],[103.099295,33.228594],[103.099292,33.228707],[103.099287,33.228849],[103.099295,33.228928],[103.099287,33.229126],[103.099325,33.22928],[103.099552,33.229709],[103.099744,33.230109],[103.100051,33.230478],[103.100121,33.230493],[103.100202,33.23052],[103.100289,33.230561],[103.100326,33.230579],[103.100366,33.230599],[103.100409,33.230632],[103.100463,33.230692],[103.100528,33.230765],[103.100568,33.230821],[103.100579,33.230837],[103.100614,33.230895],[103.100655,33.230996],[103.100684,33.231063],[103.100689,33.231081],[103.100689,33.231104],[103.100688,33.231119],[103.100718,33.231151],[103.10072,33.231157],[103.100749,33.231288],[103.100771,33.231443],[103.100749,33.231626],[103.10069,33.231778],[103.100632,33.23193],[103.100545,33.232049],[103.100442,33.232165],[103.100277,33.232264],[103.100119,33.232345],[103.099925,33.232418],[103.099787,33.232437],[103.099344,33.232369],[103.099155,33.23234],[103.098956,33.232232],[103.098755,33.232122],[103.098728,33.232107],[103.098594,33.232107],[103.098442,33.232104],[103.09829,33.232067],[103.098153,33.232022],[103.098016,33.231963],[103.097934,33.231907],[103.0979,33.231872],[103.097881,33.231868],[103.097324,33.231742],[103.097318,33.23174],[103.097265,33.231699],[103.09715,33.231639],[103.096787,33.231478],[103.09662,33.231412],[103.096522,33.231383],[103.09642,33.231365],[103.096359,33.231365],[103.096214,33.231302],[103.095845,33.231263],[103.095799,33.231303],[103.095737,33.231346],[103.095626,33.23137],[103.09555,33.231379],[103.095468,33.231383],[103.095388,33.231375],[103.09527,33.231347],[103.095188,33.231414],[103.095121,33.231468],[103.095046,33.231529],[103.094911,33.231893],[103.094936,33.232413],[103.095287,33.232969],[103.095344,33.233096],[103.095505,33.233459],[103.095547,33.233553],[103.095446,33.233682],[103.095427,33.233831],[103.095392,33.233918],[103.095369,33.233996],[103.095327,33.234115],[103.095307,33.234211],[103.095288,33.234339],[103.095314,33.234396],[103.095291,33.234466],[103.095281,33.234628],[103.095263,33.234939],[103.095433,33.235172],[103.095446,33.235188],[103.095601,33.235402],[103.095648,33.235405],[103.095684,33.235412],[103.095766,33.235437],[103.095816,33.235462],[103.095876,33.235499],[103.095926,33.235521],[103.095945,33.235528],[103.095987,33.235544],[103.096051,33.235563],[103.096155,33.235592],[103.096252,33.235624],[103.096329,33.235652],[103.096461,33.235733],[103.09651,33.235776],[103.09656,33.235827],[103.09677,33.235863],[103.096823,33.235886],[103.097226,33.236057],[103.097256,33.236069],[103.097298,33.236126],[103.097415,33.236286],[103.097153,33.236633],[103.096642,33.23702],[103.09658,33.237067],[103.096548,33.237115],[103.096541,33.237126],[103.096373,33.237385],[103.09642,33.23759],[103.096439,33.237676],[103.096569,33.23777],[103.096656,33.23776],[103.096791,33.237769],[103.096885,33.237802],[103.096928,33.237856],[103.096977,33.237861],[103.097072,33.237869],[103.097192,33.237772],[103.09722,33.237749],[103.097479,33.237539],[103.09754,33.237492],[103.09764,33.237417],[103.098183,33.237006],[103.09831,33.23691],[103.098607,33.236733],[103.098702,33.236676],[103.09891,33.236552],[103.099157,33.236404],[103.099791,33.236551],[103.100005,33.236738],[103.100003,33.237054],[103.099892,33.237211],[103.099339,33.237771],[103.09873,33.238018],[103.098694,33.238166],[103.098626,33.238444],[103.098623,33.238457],[103.098599,33.238467],[103.098535,33.238496],[103.098348,33.238579],[103.098347,33.238579],[103.098255,33.23862],[103.098144,33.238772],[103.09788,33.239134],[103.097791,33.239548],[103.097771,33.239638],[103.097739,33.239789],[103.097794,33.240092],[103.097852,33.240417],[103.097885,33.240519],[103.097887,33.240527],[103.098125,33.241276],[103.097955,33.241564],[103.097685,33.241568],[103.097427,33.241571],[103.097363,33.241517],[103.097327,33.241487],[103.097325,33.241485],[103.097318,33.241479],[103.096892,33.24112],[103.096243,33.240104],[103.096112,33.239932],[103.096064,33.239941],[103.095986,33.239892],[103.095795,33.239738],[103.095763,33.239739],[103.095589,33.239747],[103.095525,33.239749],[103.095508,33.23975],[103.095431,33.239753],[103.094674,33.240119],[103.09465,33.240131],[103.094604,33.240153],[103.094458,33.240168],[103.093711,33.240246],[103.093265,33.240223],[103.093203,33.24022],[103.093182,33.240235],[103.093065,33.240286],[103.092893,33.240343],[103.092764,33.240367],[103.092608,33.240354],[103.092525,33.240332],[103.092486,33.240345],[103.092473,33.24035],[103.092267,33.240606],[103.092307,33.24074],[103.092327,33.240806],[103.092386,33.241005],[103.092683,33.241544],[103.093072,33.242039],[103.093301,33.242525],[103.093305,33.242533],[103.09342,33.242778],[103.093421,33.242783],[103.093453,33.242923],[103.093569,33.243437],[103.093523,33.24391],[103.093321,33.24409],[103.093037,33.244345],[103.092837,33.244526],[103.092437,33.244641],[103.092251,33.244694],[103.092233,33.2447],[103.091934,33.244669],[103.091544,33.244628],[103.090967,33.244466],[103.090912,33.244451],[103.0906,33.24443],[103.090583,33.244461],[103.090563,33.244491],[103.09053,33.244517],[103.090472,33.244538],[103.09038,33.244557],[103.090299,33.244561],[103.09025,33.244564],[103.090176,33.244558],[103.090102,33.244548],[103.090046,33.244537],[103.089991,33.244511],[103.089965,33.244502],[103.089934,33.244497],[103.089894,33.244499],[103.089852,33.2445],[103.089812,33.244501],[103.089776,33.244494],[103.089752,33.24448],[103.08974,33.244463],[103.08973,33.244436],[103.08942,33.244487],[103.089341,33.2445],[103.089328,33.244502],[103.08932,33.244508],[103.088878,33.244814],[103.088572,33.245025],[103.088561,33.245036],[103.088527,33.245073],[103.08848,33.245123],[103.088445,33.245086],[103.088406,33.245035],[103.088365,33.24502],[103.08834,33.245031],[103.088307,33.245079],[103.088296,33.24512],[103.088294,33.245131],[103.088296,33.245173],[103.088306,33.245224],[103.08834,33.245273],[103.08805,33.245582],[103.087851,33.245679],[103.087788,33.24571],[103.087607,33.245798],[103.087614,33.245824],[103.087593,33.24584],[103.087561,33.245853],[103.0875,33.245888],[103.087463,33.245911],[103.087416,33.245933],[103.087372,33.245959],[103.087356,33.245968],[103.087303,33.245946],[103.087076,33.246056],[103.087027,33.246056],[103.086943,33.246081],[103.086814,33.246122],[103.086683,33.246157],[103.086539,33.246182],[103.086428,33.246182],[103.0863,33.246182],[103.086194,33.24617],[103.086052,33.246147],[103.085975,33.246138],[103.085801,33.246174],[103.085379,33.246351],[103.084995,33.246483],[103.0845,33.246658],[103.084142,33.246792],[103.08395,33.246864],[103.083719,33.247186],[103.08376,33.247533],[103.083928,33.247652],[103.084217,33.247855],[103.084235,33.247868],[103.084261,33.247887],[103.085003,33.248306],[103.085645,33.248507],[103.085822,33.248563],[103.086052,33.248559],[103.086387,33.248554],[103.086477,33.248552],[103.086523,33.248548],[103.086823,33.24852],[103.087035,33.2485],[103.087184,33.248481],[103.087235,33.248413],[103.087267,33.248361],[103.087309,33.248372],[103.087344,33.248379],[103.087366,33.248406],[103.08738,33.248455],[103.087594,33.248427],[103.087619,33.248493],[103.087686,33.248673],[103.087685,33.248704],[103.087685,33.248725],[103.087673,33.249284],[103.087682,33.249314],[103.087619,33.249334],[103.087603,33.249357],[103.087608,33.24938],[103.087635,33.249395],[103.08767,33.249402],[103.087711,33.249408],[103.087783,33.249642],[103.087784,33.249646],[103.087786,33.249652],[103.088002,33.249757],[103.088269,33.249741],[103.088346,33.249678],[103.08859,33.249481],[103.088721,33.24935],[103.088728,33.249343],[103.088729,33.249343],[103.088816,33.249256],[103.088817,33.249256],[103.08883,33.249243],[103.089247,33.248829],[103.089358,33.248719],[103.089398,33.248706],[103.089704,33.248606],[103.089895,33.248544],[103.090329,33.248632],[103.090575,33.248813],[103.090608,33.248838],[103.090861,33.249024],[103.090882,33.24904],[103.090949,33.24909],[103.091106,33.249389],[103.091229,33.249624],[103.091336,33.25027],[103.091286,33.251084],[103.09112,33.251642],[103.091077,33.251787],[103.091058,33.252656],[103.091151,33.252795],[103.091204,33.252875],[103.091277,33.252985],[103.091881,33.253429],[103.092194,33.253895],[103.092359,33.254247],[103.092367,33.254264],[103.092421,33.254379],[103.092564,33.254652],[103.092666,33.254847],[103.092823,33.255148],[103.093182,33.255414],[103.093252,33.255466],[103.093575,33.255705],[103.093655,33.255764],[103.093717,33.255731],[103.093745,33.255719],[103.09378,33.255712],[103.093804,33.255707],[103.093842,33.255707],[103.093769,33.255827],[103.09397,33.255932],[103.094051,33.25584],[103.094098,33.255785],[103.094187,33.255693],[103.094362,33.255544],[103.09443,33.255476],[103.094524,33.255409],[103.0946,33.255361],[103.094616,33.255352],[103.09468,33.255315],[103.094766,33.255283],[103.094871,33.255247],[103.094972,33.255226],[103.095045,33.255226],[103.095123,33.255228],[103.095227,33.25524],[103.095352,33.255273],[103.095397,33.255293],[103.095583,33.255369],[103.095668,33.255422],[103.095859,33.255611],[103.095962,33.25579],[103.096067,33.256109],[103.096083,33.256266],[103.096084,33.256348],[103.096116,33.256321],[103.09613,33.256316],[103.09612,33.256447],[103.096106,33.256565],[103.096063,33.25668],[103.095973,33.25677],[103.095749,33.256918],[103.095601,33.257018],[103.095316,33.257127],[103.095308,33.257131],[103.095097,33.257227],[103.094745,33.25737],[103.094507,33.257493],[103.094269,33.257598],[103.093969,33.257731],[103.093603,33.257865],[103.093255,33.257948],[103.092908,33.258031],[103.092798,33.258069],[103.09266,33.258084],[103.092575,33.258079],[103.092446,33.258036],[103.092342,33.258003],[103.092166,33.257993],[103.092042,33.257998],[103.091923,33.258041],[103.091828,33.258122],[103.091771,33.258207],[103.091747,33.258283],[103.091747,33.258341],[103.091766,33.25845],[103.091818,33.25855],[103.091894,33.258645],[103.092037,33.258755],[103.092166,33.25884],[103.09242,33.258931],[103.092675,33.259021],[103.092922,33.259064],[103.09317,33.259107],[103.093376,33.259156],[103.093565,33.259202],[103.093674,33.25925],[103.093812,33.259383],[103.093826,33.259497],[103.093779,33.259654],[103.093712,33.259749],[103.093652,33.259806],[103.093617,33.25984],[103.09338,33.259992],[103.093143,33.260145],[103.092987,33.260256],[103.09273,33.260456],[103.092427,33.260606],[103.092123,33.260756],[103.091724,33.260863],[103.091395,33.260927],[103.091117,33.260963],[103.09071,33.260963],[103.090372,33.260906],[103.090034,33.260849],[103.089696,33.260792],[103.089368,33.260728],[103.089061,33.260728],[103.08879,33.260749],[103.088618,33.260813],[103.088404,33.260956],[103.088247,33.261134],[103.08814,33.261334],[103.088062,33.261513],[103.088056,33.261535],[103.087997,33.261763],[103.087933,33.261905],[103.087812,33.262034],[103.087633,33.26212],[103.087455,33.262198],[103.087284,33.262212],[103.087119,33.262184],[103.086955,33.262127],[103.086691,33.261948],[103.08657,33.261663],[103.086391,33.261256],[103.086353,33.261155],[103.086299,33.261013],[103.086227,33.26087],[103.08612,33.260713],[103.085992,33.260628],[103.085877,33.260628],[103.085706,33.260685],[103.085606,33.260792],[103.085492,33.26097],[103.085374,33.261234],[103.085256,33.261498],[103.085092,33.261841],[103.085006,33.262048],[103.084892,33.262277],[103.084749,33.262455],[103.084478,33.262683],[103.084307,33.262812],[103.084286,33.262825],[103.084086,33.262948],[103.083893,33.263147],[103.083857,33.263326],[103.0839,33.263483],[103.083979,33.263669],[103.084093,33.263861],[103.084378,33.264061],[103.084585,33.26414],[103.084807,33.264161],[103.084921,33.264154],[103.085006,33.264083],[103.085174,33.263865],[103.085342,33.263647],[103.085417,33.26354],[103.085485,33.263444],[103.085628,33.26324],[103.085742,33.263076],[103.08592,33.262876],[103.086199,33.262691],[103.086406,33.262612],[103.086527,33.262583],[103.08667,33.262576],[103.087019,33.262583],[103.087405,33.262683],[103.087562,33.262748],[103.087691,33.262833],[103.087862,33.263005],[103.087905,33.263083],[103.087927,33.263104],[103.088019,33.26319],[103.088147,33.263255],[103.088297,33.263276],[103.088454,33.263269],[103.088633,33.263219],[103.08879,33.263112],[103.088795,33.263107],[103.088897,33.263005],[103.088997,33.262762],[103.089061,33.262612],[103.089082,33.262491],[103.089111,33.262376],[103.089218,33.262277],[103.089397,33.262205],[103.089438,33.262195],[103.089539,33.262169],[103.089704,33.262169],[103.08982,33.262178],[103.090003,33.262191],[103.090253,33.262341],[103.090382,33.262519],[103.090467,33.262691],[103.090471,33.262696],[103.090537,33.262805],[103.090624,33.262948],[103.090717,33.263205],[103.090717,33.263387],[103.090717,33.263404],[103.090689,33.263547],[103.090574,33.263776],[103.090417,33.264054],[103.090324,33.264232],[103.09026,33.264354],[103.090068,33.264468],[103.089868,33.264568],[103.089642,33.264632],[103.089589,33.264646],[103.089254,33.264675],[103.088861,33.264704],[103.088497,33.264768],[103.088119,33.264961],[103.08793,33.2651],[103.08774,33.265239],[103.087405,33.265482],[103.087069,33.265724],[103.086827,33.265917],[103.086684,33.26611],[103.08667,33.266267],[103.086677,33.266374],[103.086741,33.266502],[103.086884,33.266688],[103.087066,33.266984],[103.087248,33.267281],[103.087298,33.267566],[103.087434,33.267894],[103.087619,33.268173],[103.087876,33.268423],[103.088112,33.268608],[103.088362,33.26874],[103.088611,33.268872],[103.088875,33.268922],[103.089268,33.268894],[103.089561,33.268822],[103.089961,33.268808],[103.090332,33.268808],[103.090374,33.26881],[103.090564,33.268819],[103.090796,33.26883],[103.091106,33.26888],[103.091417,33.26893],[103.091595,33.268979],[103.091874,33.269101],[103.091945,33.269186],[103.091995,33.269308],[103.091999,33.269389],[103.092002,33.269458],[103.091959,33.269743],[103.091902,33.270022],[103.091816,33.270222],[103.091652,33.270414],[103.091445,33.270564],[103.091231,33.2707],[103.090931,33.270857],[103.09066,33.270971],[103.090389,33.271085],[103.090091,33.271221],[103.089794,33.271357],[103.089497,33.271492],[103.089254,33.271671],[103.08904,33.271871],[103.089025,33.271999],[103.089054,33.272149],[103.089161,33.272299],[103.089361,33.272434],[103.089618,33.27257],[103.089946,33.272646],[103.090275,33.272722],[103.090603,33.272799],[103.090913,33.272913],[103.091224,33.273027],[103.091253,33.273038],[103.091502,33.273134],[103.091709,33.273355],[103.091781,33.273519],[103.091838,33.273698],[103.091824,33.273862],[103.091774,33.273983],[103.091717,33.274041],[103.09151,33.274126],[103.091388,33.274169],[103.09106,33.274226],[103.090817,33.274226],[103.09046,33.274191],[103.090075,33.274133],[103.089778,33.274108],[103.089482,33.274083],[103.089132,33.274033],[103.088783,33.273983],[103.088404,33.273983],[103.088382,33.273984],[103.088133,33.273991],[103.087898,33.274041],[103.087698,33.274141],[103.087491,33.274326],[103.087391,33.274483],[103.087312,33.274626],[103.087298,33.274797],[103.087298,33.274997],[103.087326,33.275176],[103.08744,33.275524],[103.087604,33.275835],[103.087631,33.276088],[103.087561,33.276411],[103.087496,33.276564],[103.08737,33.276716],[103.0873,33.276784],[103.087238,33.276844],[103.087197,33.276884],[103.087024,33.277052],[103.086852,33.27722],[103.086824,33.277248],[103.086679,33.277388],[103.086603,33.277462],[103.086506,33.277557],[103.086333,33.277725],[103.08616,33.277893],[103.085987,33.278061],[103.085842,33.278234],[103.085831,33.278248],[103.085674,33.278436],[103.085518,33.278623],[103.085455,33.278697],[103.085403,33.27876],[103.085361,33.27881],[103.085205,33.278997],[103.085048,33.279184],[103.084892,33.279371],[103.084736,33.279559],[103.084579,33.279746],[103.084423,33.279933],[103.084266,33.28012],[103.08411,33.280307],[103.083934,33.280496],[103.083759,33.280685],[103.083583,33.280874],[103.083408,33.281064],[103.083233,33.281253],[103.083057,33.281442],[103.082882,33.281631],[103.082706,33.28182],[103.082505,33.281957],[103.082304,33.282094],[103.081905,33.282241],[103.081492,33.282312],[103.081079,33.282383],[103.080833,33.282412],[103.080587,33.282441],[103.080341,33.282471],[103.080095,33.2825],[103.079849,33.282529],[103.079603,33.282558],[103.079357,33.282587],[103.079112,33.282616],[103.078859,33.282666],[103.078607,33.282715],[103.078354,33.282765],[103.078102,33.282814],[103.07785,33.282863],[103.077597,33.282913],[103.077345,33.282962],[103.077093,33.283011],[103.07684,33.283061],[103.076588,33.28311],[103.076336,33.28316],[103.076083,33.283209],[103.075847,33.28326],[103.075611,33.283311],[103.075375,33.283362],[103.075139,33.283413],[103.074902,33.283464],[103.074666,33.283516],[103.07443,33.283567],[103.074194,33.283618],[103.073958,33.283669],[103.073722,33.28372],[103.073486,33.283771],[103.07325,33.283822],[103.073013,33.283873],[103.072777,33.283924],[103.072616,33.283965],[103.07244,33.284009],[103.072103,33.284093],[103.071886,33.284268],[103.071822,33.28442],[103.07182,33.284427],[103.07181,33.284481],[103.071753,33.284778],[103.071647,33.284981],[103.071541,33.285184],[103.071435,33.285386],[103.071328,33.285589],[103.071222,33.285792],[103.071116,33.285994],[103.070927,33.286299],[103.070738,33.286603],[103.070458,33.286871],[103.070178,33.287139],[103.069898,33.287408],[103.069744,33.287614],[103.06959,33.287821],[103.069436,33.288028],[103.069282,33.288234],[103.069173,33.28838],[103.069128,33.288441],[103.06906,33.288531],[103.069056,33.288537],[103.068973,33.288648],[103.068819,33.288854],[103.068665,33.289061],[103.068521,33.289269],[103.068376,33.289476],[103.068231,33.289683],[103.068087,33.289891],[103.067942,33.290098],[103.067797,33.290306],[103.067653,33.290513],[103.067564,33.29064],[103.067508,33.290721],[103.067364,33.290928],[103.067275,33.291055],[103.06725,33.29109],[103.067219,33.291136],[103.066996,33.291463],[103.066986,33.291478],[103.066773,33.29179],[103.066644,33.29198],[103.066515,33.29217],[103.066386,33.29236],[103.066256,33.29255],[103.066127,33.29274],[103.065998,33.29293],[103.065868,33.29312],[103.065739,33.29331],[103.06559,33.29353],[103.065441,33.29375],[103.065292,33.293969],[103.065143,33.294189],[103.065045,33.294334],[103.064994,33.294408],[103.064977,33.294434],[103.064845,33.294628],[103.064696,33.294848],[103.064547,33.295067],[103.064398,33.295287],[103.064249,33.295507],[103.06411,33.295704],[103.064078,33.29575],[103.063971,33.295901],[103.063832,33.296099],[103.063731,33.296241],[103.063693,33.296296],[103.063539,33.296514],[103.063385,33.296732],[103.063231,33.296951],[103.063077,33.297169],[103.062923,33.297387],[103.062769,33.297606],[103.062568,33.297781],[103.062366,33.297956],[103.061968,33.298079],[103.061539,33.298166],[103.06111,33.298252],[103.060682,33.298339],[103.060652,33.298344],[103.060246,33.298416],[103.05981,33.298492],[103.059374,33.298568],[103.058938,33.298644],[103.058693,33.298705],[103.058448,33.298765],[103.058203,33.298825],[103.057958,33.298885],[103.057799,33.29892],[103.057717,33.298938],[103.057476,33.29899],[103.057236,33.299042],[103.056995,33.299094],[103.056754,33.299146],[103.056513,33.299198],[103.056273,33.299251],[103.056266,33.299252],[103.056032,33.299303],[103.055791,33.299355],[103.05555,33.299407],[103.05531,33.299459],[103.055069,33.299511],[103.054811,33.299579],[103.054554,33.299646],[103.054296,33.299714],[103.054039,33.299782],[103.053781,33.299849],[103.053524,33.299917],[103.053266,33.299984],[103.053009,33.300052],[103.052751,33.300119],[103.052494,33.300187],[103.052251,33.300221],[103.052007,33.300256],[103.051764,33.30029],[103.051521,33.300325],[103.051277,33.300359],[103.051034,33.300394],[103.050791,33.300428],[103.050547,33.300462],[103.050304,33.300497],[103.050061,33.300531],[103.049817,33.300566],[103.049574,33.3006],[103.049331,33.300635],[103.049088,33.300669],[103.048844,33.300704],[103.048601,33.300738],[103.048344,33.30076],[103.04833,33.300761],[103.04828,33.300765],[103.048087,33.300781],[103.04783,33.300803],[103.047573,33.300824],[103.047316,33.300846],[103.047059,33.300867],[103.046802,33.300889],[103.046545,33.30091],[103.046458,33.300918],[103.046404,33.300922],[103.046288,33.300932],[103.046031,33.300953],[103.045774,33.300975],[103.045517,33.300997],[103.045283,33.301014],[103.045049,33.301031],[103.044815,33.301049],[103.044581,33.301066],[103.044347,33.301084],[103.044113,33.301101],[103.043894,33.301141],[103.043874,33.301144],[103.043634,33.301188],[103.043395,33.301231],[103.043155,33.301274],[103.042944,33.301312],[103.042916,33.301317],[103.042676,33.30136],[103.042257,33.301385],[103.041837,33.301411],[103.041417,33.301436],[103.040997,33.301461],[103.040733,33.301457],[103.040469,33.301453],[103.040205,33.301449],[103.039941,33.301444],[103.039677,33.30144],[103.039413,33.301436],[103.039151,33.301435],[103.038889,33.301433],[103.038627,33.301432],[103.038365,33.30143],[103.038103,33.301429],[103.037841,33.301427],[103.037579,33.301426],[103.037317,33.301424],[103.037055,33.301423],[103.036793,33.301421],[103.036474,33.301409],[103.036388,33.301406],[103.035982,33.301391],[103.035576,33.301376],[103.035171,33.301338],[103.035149,33.301336],[103.034722,33.301296],[103.034295,33.301256],[103.033868,33.301216],[103.033442,33.301157],[103.033015,33.301097],[103.032588,33.301037],[103.032162,33.300977],[103.0318,33.300879],[103.031439,33.30078],[103.031213,33.300741],[103.030987,33.300702],[103.030733,33.300689],[103.030376,33.300683],[103.030366,33.300682],[103.03008,33.300661],[103.029818,33.300639],[103.029524,33.300599],[103.029209,33.300541],[103.028894,33.300483],[103.028662,33.300431],[103.028586,33.300413],[103.028483,33.30039],[103.028431,33.300378],[103.028166,33.300343],[103.0279,33.300307],[103.027635,33.300272],[103.02737,33.300237],[103.027097,33.300195],[103.026824,33.300154],[103.026793,33.300149],[103.026552,33.300112],[103.026279,33.30007],[103.026047,33.300053],[103.025816,33.300036],[103.025489,33.300031],[103.025162,33.300026],[103.024935,33.300036],[103.024708,33.300045],[103.02439,33.30008],[103.024073,33.300115],[103.02384,33.300154],[103.023607,33.300193],[103.023374,33.300232],[103.023142,33.300271],[103.022909,33.30031],[103.022676,33.300349],[103.02228,33.300404],[103.021884,33.300459],[103.021586,33.300521],[103.021289,33.300584],[103.020896,33.300692],[103.020751,33.300754],[103.02068,33.300785],[103.020463,33.300877],[103.020314,33.300963],[103.020121,33.301132],[103.019928,33.301302],[103.019731,33.301564],[103.019653,33.301757],[103.019567,33.302039],[103.019482,33.302321],[103.01938,33.302603],[103.01925,33.302761],[103.019154,33.302864],[103.019045,33.30296],[103.01895,33.303003],[103.018811,33.30308],[103.018673,33.303131],[103.018365,33.303188],[103.018111,33.3032],[103.017858,33.303211],[103.017605,33.303223],[103.017352,33.303234],[103.016904,33.303223],[103.016457,33.303213],[103.016009,33.303202],[103.015567,33.303144],[103.015124,33.303086],[103.014682,33.303029],[103.014239,33.302971],[103.013977,33.302925],[103.013715,33.302878],[103.013454,33.302831],[103.013192,33.302785],[103.01293,33.302738],[103.012668,33.302692],[103.012484,33.302659],[103.012406,33.302645],[103.012144,33.302599],[103.011882,33.302552],[103.011621,33.302506],[103.011359,33.302459],[103.011097,33.302413],[103.010835,33.302366],[103.010573,33.30232],[103.010311,33.302273],[103.010049,33.302227],[103.009787,33.30218],[103.009526,33.302134],[103.009264,33.302087],[103.009024,33.302044],[103.009002,33.302041],[103.0088,33.302005],[103.00874,33.301994],[103.008478,33.301948],[103.008216,33.301901],[103.007954,33.301854],[103.007693,33.301808],[103.007431,33.301761],[103.007169,33.301715],[103.006907,33.301668],[103.006653,33.301629],[103.006398,33.30159],[103.006144,33.301551],[103.005889,33.301511],[103.005635,33.301472],[103.005381,33.301433],[103.005126,33.301394],[103.004872,33.301355],[103.004618,33.301315],[103.004363,33.301276],[103.004109,33.301237],[103.003855,33.301198],[103.0036,33.301158],[103.003346,33.301119],[103.003076,33.301076],[103.002807,33.301032],[103.002538,33.300988],[103.002269,33.300945],[103.001999,33.300901],[103.00173,33.300857],[103.001461,33.300814],[103.001191,33.30077],[103.000961,33.300733],[103.000731,33.300696],[103.000501,33.300658],[103.000271,33.300621],[103.000029,33.300608],[102.999786,33.300594],[102.999544,33.300581],[102.999301,33.300567],[102.999059,33.300554],[102.998816,33.30054],[102.998574,33.300527],[102.998332,33.300513],[102.998089,33.3005],[102.997847,33.300486],[102.997604,33.300472],[102.997362,33.300459],[102.997124,33.300415],[102.996887,33.300372],[102.99665,33.300328],[102.996412,33.300285],[102.996406,33.300283],[102.996184,33.300243],[102.996175,33.300241],[102.995938,33.300198],[102.995815,33.300175],[102.995733,33.30016],[102.995701,33.300154],[102.995463,33.30011],[102.995226,33.300067],[102.994989,33.300023],[102.994751,33.29998],[102.994514,33.299936],[102.994277,33.299893],[102.994039,33.299849],[102.993613,33.299825],[102.99342,33.299822],[102.993205,33.29989],[102.99287,33.300178],[102.992535,33.300466],[102.992201,33.300754],[102.99194,33.300937],[102.99168,33.301121],[102.991431,33.301243],[102.991181,33.301364],[102.990771,33.301528],[102.990361,33.301692],[102.990352,33.301696],[102.990108,33.301776],[102.989855,33.301859],[102.989601,33.301942],[102.989348,33.302025],[102.989095,33.302108],[102.988841,33.302191],[102.988461,33.302281],[102.988081,33.30237],[102.987701,33.302459],[102.987455,33.302482],[102.987209,33.302505],[102.986824,33.302499],[102.986439,33.302494],[102.98611,33.302398],[102.985781,33.302302],[102.98558,33.302198],[102.985379,33.302094],[102.985178,33.30199],[102.984977,33.301886],[102.984776,33.301782],[102.984575,33.301677],[102.984374,33.301573],[102.984174,33.301469],[102.983947,33.301322],[102.983721,33.301175],[102.983494,33.301028],[102.983268,33.30088],[102.983041,33.300733],[102.982815,33.300586],[102.982588,33.300439],[102.982362,33.300292],[102.981996,33.300082],[102.98163,33.299873],[102.981264,33.299664],[102.98091,33.29952],[102.980556,33.299376],[102.980168,33.29919],[102.97978,33.299004],[102.979392,33.298818],[102.979095,33.298697],[102.978799,33.298576],[102.978671,33.298558],[102.978372,33.298515],[102.978138,33.298476],[102.977903,33.298436],[102.977669,33.298396],[102.977441,33.298357],[102.977435,33.298356],[102.977201,33.298317],[102.976967,33.298277],[102.976714,33.298264],[102.976461,33.298251],[102.976209,33.298238],[102.975956,33.298225],[102.975703,33.298212],[102.97545,33.298199],[102.975197,33.298185],[102.974944,33.298172],[102.974692,33.298159],[102.974439,33.298146],[102.974186,33.298133],[102.973933,33.29812],[102.973665,33.298117],[102.973396,33.298114],[102.973127,33.298111],[102.972859,33.298108],[102.97259,33.298105],[102.972321,33.298102],[102.972053,33.298098],[102.971784,33.298095],[102.971515,33.298092],[102.971247,33.298089],[102.970978,33.298086],[102.970709,33.298083],[102.970441,33.29808],[102.970172,33.298077],[102.969907,33.298083],[102.969642,33.29809],[102.969377,33.298097],[102.969113,33.298104],[102.968848,33.298111],[102.968583,33.298117],[102.968318,33.298124],[102.968053,33.298131],[102.967661,33.298149],[102.967268,33.298167],[102.966876,33.298184],[102.966515,33.298168],[102.966484,33.298166],[102.966093,33.298148],[102.965701,33.29813],[102.965472,33.298112],[102.965242,33.298095],[102.965013,33.298078],[102.964784,33.29806],[102.964554,33.298043],[102.964325,33.298026],[102.964096,33.298009],[102.963867,33.297991],[102.963609,33.29799],[102.963351,33.297988],[102.963093,33.297987],[102.962836,33.297985],[102.962578,33.297984],[102.96232,33.297982],[102.962062,33.29798],[102.961805,33.297979],[102.961547,33.297977],[102.961289,33.297976],[102.961031,33.297974],[102.960774,33.297973],[102.960516,33.297971],[102.960258,33.297969],[102.960001,33.297968],[102.959743,33.297966],[102.959485,33.297965],[102.959227,33.297963],[102.95897,33.297962],[102.958712,33.29796],[102.958453,33.297957],[102.958195,33.297954],[102.957936,33.297951],[102.957678,33.297949],[102.957419,33.297946],[102.957161,33.297943],[102.956902,33.29794],[102.956643,33.297937],[102.956385,33.297934],[102.956126,33.297931],[102.955868,33.297928],[102.955609,33.297925],[102.955351,33.297923],[102.955092,33.29792],[102.954834,33.297917],[102.954575,33.297914],[102.954317,33.297911],[102.954058,33.297908],[102.953799,33.297905],[102.953541,33.297902],[102.953282,33.2979],[102.953024,33.297897],[102.952765,33.297894],[102.952507,33.297891],[102.952248,33.297888],[102.95199,33.297885],[102.951731,33.297882],[102.951473,33.297879],[102.951214,33.297864],[102.950955,33.297848],[102.950697,33.297832],[102.950438,33.297816],[102.950179,33.2978],[102.94992,33.297784],[102.949662,33.297768],[102.94946,33.297756],[102.949403,33.297753],[102.949322,33.297748],[102.949144,33.297737],[102.948886,33.297721],[102.948627,33.297705],[102.948368,33.297689],[102.94811,33.297673],[102.947851,33.297657],[102.947598,33.297657],[102.947345,33.297656],[102.947092,33.297655],[102.946839,33.297654],[102.946586,33.297654],[102.946333,33.297653],[102.94608,33.297652],[102.945968,33.297652],[102.945827,33.297651],[102.945573,33.29765],[102.94532,33.29765],[102.944872,33.297678],[102.944636,33.297728],[102.944336,33.297759],[102.94393,33.297752],[102.943502,33.297741],[102.943075,33.297729],[102.942647,33.297718],[102.942564,33.297716],[102.942219,33.297707],[102.941985,33.2977],[102.941979,33.2977],[102.941739,33.297694],[102.941498,33.297688],[102.941258,33.297681],[102.941018,33.297675],[102.940778,33.297669],[102.940537,33.297662],[102.940297,33.297656],[102.940083,33.297653],[102.939977,33.297615],[102.939871,33.297505],[102.939834,33.297307],[102.939865,33.296913],[102.939876,33.296465],[102.939837,33.296349],[102.939815,33.296284],[102.93967,33.29612],[102.939544,33.296029],[102.939352,33.296007],[102.939158,33.296004],[102.938966,33.296055],[102.93879,33.296213],[102.93869,33.296416],[102.938538,33.296724],[102.938387,33.297032],[102.938358,33.29711],[102.938341,33.297157],[102.938296,33.297211],[102.938257,33.297253],[102.938231,33.297281],[102.938122,33.297316],[102.937972,33.29733],[102.937674,33.297289],[102.937399,33.29716],[102.937273,33.297062],[102.937232,33.29703],[102.937125,33.297011],[102.936976,33.29701],[102.936903,33.297018],[102.936718,33.29704],[102.936483,33.297054],[102.936248,33.297037],[102.936162,33.297031],[102.93602,33.297012],[102.936014,33.297011],[102.935908,33.296937],[102.935869,33.296793],[102.935853,33.296541],[102.935927,33.296112],[102.935934,33.296077],[102.935977,33.295827],[102.936002,33.295683],[102.935985,33.295521],[102.935945,33.295359],[102.935929,33.295336],[102.935884,33.295268],[102.935849,33.295257],[102.935649,33.295193],[102.935308,33.295169],[102.934988,33.29524],[102.934977,33.295243],[102.93491,33.295258],[102.934513,33.295346],[102.934115,33.295434],[102.933834,33.295483],[102.933428,33.295513],[102.933065,33.295506],[102.932787,33.295511],[102.932509,33.295515],[102.932245,33.295531],[102.93198,33.295548],[102.931716,33.295565],[102.931452,33.295581],[102.931188,33.295598],[102.930924,33.295614],[102.930658,33.29562],[102.930392,33.295626],[102.930126,33.295632],[102.92986,33.295637],[102.929595,33.295643],[102.929329,33.295649],[102.929063,33.295655],[102.928797,33.295661],[102.928531,33.295666],[102.928265,33.295672],[102.927999,33.295678],[102.927733,33.295684],[102.927467,33.295689],[102.927202,33.295695],[102.926962,33.295714],[102.926723,33.295733],[102.926483,33.295752],[102.926244,33.295771],[102.926004,33.29579],[102.925765,33.295809],[102.925526,33.295828],[102.925286,33.295847],[102.925047,33.295866],[102.924807,33.295885],[102.924572,33.295906],[102.924336,33.295928],[102.9241,33.295949],[102.923865,33.29597],[102.923629,33.295991],[102.923393,33.296013],[102.923158,33.296034],[102.922922,33.296055],[102.922686,33.296076],[102.922451,33.296097],[102.922066,33.29609],[102.921766,33.296122],[102.921535,33.296118],[102.921303,33.296114],[102.921071,33.29611],[102.921019,33.296109],[102.920946,33.295986],[102.92071,33.295589],[102.920666,33.295516],[102.92063,33.295457],[102.92057,33.295515],[102.920493,33.295573],[102.920416,33.29558],[102.920307,33.295606],[102.92021,33.295614],[102.920094,33.295609],[102.920055,33.295598],[102.920026,33.295557],[102.920021,33.295494],[102.920028,33.295426],[102.920066,33.295363],[102.9201,33.295312],[102.920147,33.295233],[102.920174,33.295158],[102.920226,33.295043],[102.920329,33.294973],[102.92035,33.294943],[102.92039,33.294918],[102.920443,33.294912],[102.920476,33.294921],[102.920524,33.294925],[102.920547,33.294919],[102.920584,33.294903],[102.920621,33.294895],[102.920652,33.294904],[102.920664,33.294929],[102.920685,33.294959],[102.920713,33.294983],[102.920757,33.295015],[102.920799,33.295032],[102.920874,33.295036],[102.920962,33.29493],[102.92125,33.294756],[102.921339,33.294614],[102.921283,33.294565],[102.921041,33.294573],[102.920786,33.294569],[102.920603,33.294483],[102.920567,33.294497],[102.920537,33.294543],[102.920524,33.294569],[102.920504,33.294597],[102.92046,33.294618],[102.920409,33.294639],[102.920341,33.29463],[102.920188,33.294747],[102.920008,33.294696],[102.919901,33.294644],[102.919821,33.294617],[102.919662,33.294607],[102.919532,33.29459],[102.919364,33.29455],[102.91929,33.294488],[102.919245,33.294396],[102.91927,33.294281],[102.919316,33.294215],[102.919384,33.294087],[102.919388,33.29395],[102.919345,33.29385],[102.91929,33.293746],[102.919194,33.293638],[102.919071,33.293562],[102.918996,33.293508],[102.918977,33.293403],[102.918998,33.293294],[102.919032,33.293128],[102.919007,33.292947],[102.918917,33.292834],[102.918913,33.292696],[102.918741,33.29242],[102.897857,33.258822],[102.896783,33.257095],[102.896639,33.256863],[102.896195,33.256149],[102.895862,33.255613],[102.895851,33.255654],[102.895852,33.25568],[102.895853,33.255707],[102.895862,33.25574],[102.895877,33.255776],[102.895879,33.255821],[102.895875,33.255844],[102.895863,33.255849],[102.895843,33.255845],[102.89583,33.255811],[102.895805,33.255748],[102.895788,33.25571],[102.895782,33.255703],[102.895771,33.255693],[102.895762,33.255691],[102.89575,33.255705],[102.895744,33.255718],[102.895726,33.255718],[102.895713,33.2557],[102.895714,33.25568],[102.895716,33.25565],[102.895732,33.255602],[102.895741,33.255564],[102.895741,33.255526],[102.895739,33.255484],[102.895736,33.255445],[102.895721,33.255386],[102.894255,33.253026],[102.894194,33.252928],[102.894085,33.252752],[102.894068,33.252726],[102.894157,33.252639],[102.894164,33.252633],[102.8946,33.252208],[102.895065,33.251667],[102.895108,33.251635],[102.895215,33.251553],[102.895229,33.251543],[102.895287,33.251499],[102.895287,33.251103],[102.895342,33.250815],[102.895498,33.250669],[102.895741,33.250662],[102.895913,33.250906],[102.895998,33.251345],[102.896089,33.25161],[102.896213,33.25182],[102.89637,33.251827],[102.896494,33.251712],[102.896725,33.251494],[102.897016,33.251388],[102.897627,33.251277],[102.898378,33.251233],[102.899016,33.251156],[102.899726,33.251142],[102.899824,33.251013],[102.899654,33.250625],[102.899372,33.250204],[102.898974,33.249935],[102.898817,33.249805],[102.898936,33.249619],[102.899288,33.249309],[102.899403,33.2491],[102.899431,33.248606],[102.899398,33.248322],[102.899276,33.248081],[102.899047,33.247929],[102.898386,33.247744],[102.89805,33.247686],[102.897828,33.247606],[102.89772,33.247506],[102.897746,33.24737],[102.897862,33.247193],[102.898144,33.24697],[102.898129,33.246865],[102.897822,33.246552],[102.897529,33.24623],[102.897341,33.246041],[102.897115,33.245915],[102.896799,33.245863],[102.896189,33.245865],[102.895906,33.245939],[102.895818,33.246078],[102.895895,33.246229],[102.896273,33.246549],[102.896449,33.246828],[102.896394,33.246997],[102.896192,33.247056],[102.89582,33.246931],[102.895398,33.24658],[102.895153,33.246499],[102.894883,33.246468],[102.893818,33.246548],[102.893311,33.246555],[102.892784,33.24648],[102.892439,33.24628],[102.892141,33.245979],[102.892149,33.245779],[102.892226,33.245703],[102.89241,33.245672],[102.893459,33.245776],[102.894022,33.245742],[102.894264,33.245594],[102.89429,33.245438],[102.893923,33.244959],[102.893426,33.244428],[102.893113,33.244172],[102.892716,33.243995],[102.892504,33.243968],[102.892258,33.244044],[102.891645,33.244558],[102.891293,33.244869],[102.890887,33.245127],[102.890317,33.2452],[102.889802,33.245114],[102.889557,33.244944],[102.889654,33.244733],[102.889853,33.244604],[102.890562,33.244241],[102.891163,33.24389],[102.891935,33.243422],[102.892283,33.243067],[102.892435,33.242723],[102.892356,33.242473],[102.892056,33.242296],[102.891472,33.242111],[102.891057,33.242077],[102.890848,33.242154],[102.890742,33.242299],[102.890757,33.242475],[102.89107,33.242802],[102.891251,33.243046],[102.891266,33.243225],[102.891113,33.243297],[102.890846,33.243211],[102.890503,33.243012],[102.890284,33.242971],[102.889892,33.24299],[102.889383,33.243044],[102.889181,33.243007],[102.889042,33.242905],[102.889041,33.242784],[102.88931,33.242391],[102.889561,33.242176],[102.889737,33.241851],[102.889703,33.241628],[102.889574,33.241516],[102.889379,33.241501],[102.888687,33.241701],[102.887805,33.24201],[102.88727,33.242238],[102.887023,33.242332],[102.886869,33.242297],[102.886872,33.242161],[102.886906,33.241905],[102.886971,33.241722],[102.887066,33.241559],[102.887068,33.241412],[102.886962,33.241286],[102.886625,33.241094],[102.885931,33.240851],[102.884848,33.240541],[102.884194,33.240336],[102.883846,33.240162],[102.883863,33.239882],[102.884024,33.239736],[102.884398,33.239742],[102.88507,33.239879],[102.88529,33.239803],[102.885351,33.239348],[102.885333,33.238752],[102.885324,33.238343],[102.88524,33.23813],[102.885012,33.238159],[102.884742,33.23831],[102.884537,33.238525],[102.884197,33.238521],[102.883384,33.238282],[102.88296,33.238079],[102.882744,33.237793],[102.882795,33.237591],[102.883055,33.237506],[102.883727,33.237662],[102.884345,33.23784],[102.884622,33.237852],[102.885069,33.23768],[102.885254,33.237528],[102.885354,33.237343],[102.885294,33.237065],[102.885068,33.236788],[102.884594,33.236461],[102.884376,33.236331],[102.884382,33.236088],[102.884464,33.235773],[102.884645,33.235591],[102.884805,33.235541],[102.885037,33.235579],[102.885224,33.235722],[102.885424,33.235934],[102.885538,33.236025],[102.885654,33.235997],[102.88575,33.235887],[102.885894,33.235239],[102.886005,33.234933],[102.886336,33.234504],[102.886645,33.234228],[102.886818,33.234178],[102.886993,33.234245],[102.886945,33.234411],[102.886779,33.234708],[102.886697,33.234862],[102.886755,33.234968],[102.887152,33.235156],[102.887839,33.235474],[102.888223,33.235521],[102.888621,33.235487],[102.888952,33.235426],[102.889301,33.235258],[102.889469,33.235083],[102.889447,33.234878],[102.889308,33.23478],[102.888722,33.234691],[102.888403,33.234632],[102.888307,33.234524],[102.888388,33.234381],[102.888742,33.234203],[102.889417,33.233794],[102.889766,33.233494],[102.89004,33.233276],[102.890233,33.233132],[102.890171,33.232977],[102.889832,33.232529],[102.889523,33.232236],[102.889355,33.232205],[102.889187,33.232291],[102.889106,33.232582],[102.889023,33.232847],[102.888415,33.233116],[102.887654,33.233339],[102.887288,33.233387],[102.88697,33.23345],[102.886677,33.233472],[102.886338,33.233358],[102.886143,33.233207],[102.886112,33.233058],[102.886205,33.232957],[102.886515,33.232891],[102.88683,33.232844],[102.887074,33.232833],[102.887254,33.232817],[102.887353,33.232666],[102.887334,33.232467],[102.887173,33.231934],[102.887065,33.231665],[102.88693,33.231496],[102.886753,33.231426],[102.886469,33.231435],[102.885966,33.23162],[102.885497,33.231744],[102.885261,33.231703],[102.88518,33.231593],[102.885255,33.231377],[102.885533,33.230879],[102.886141,33.230177],[102.886318,33.23],[102.886355,33.22985],[102.886169,33.229821],[102.885683,33.229834],[102.885304,33.229768],[102.884872,33.22964],[102.884605,33.229554],[102.884403,33.229662],[102.88417,33.230331],[102.8839,33.230826],[102.883645,33.230958],[102.883432,33.230886],[102.883041,33.230494],[102.882805,33.229593],[102.88273,33.229128],[102.882816,33.228726],[102.882999,33.228686],[102.883219,33.22881],[102.883596,33.229144],[102.884144,33.229267],[102.884948,33.229353],[102.885909,33.229402],[102.886361,33.229416],[102.88671,33.229269],[102.88681,33.229111],[102.886771,33.228909],[102.886503,33.228746],[102.886237,33.228639],[102.886162,33.227884],[102.886061,33.226983],[102.885872,33.226623],[102.885606,33.226216],[102.885578,33.225929],[102.885743,33.225722],[102.886035,33.225567],[102.88636,33.225543],[102.886656,33.225617],[102.886748,33.225892],[102.886835,33.226434],[102.886993,33.22674],[102.887502,33.227143],[102.887689,33.227256],[102.887977,33.227336],[102.888141,33.227232],[102.888423,33.226394],[102.88868,33.225783],[102.888766,33.225625],[102.888722,33.225427],[102.888442,33.225208],[102.88793,33.224916],[102.887719,33.22489],[102.887335,33.224988],[102.886773,33.225222],[102.886652,33.225178],[102.886656,33.224978],[102.886881,33.224173],[102.887083,33.223284],[102.887351,33.222323],[102.88735,33.222165],[102.887182,33.222059],[102.886929,33.222156],[102.886486,33.222829],[102.886025,33.223404],[102.885738,33.223582],[102.885456,33.223606],[102.885301,33.223496],[102.885317,33.223368],[102.88569,33.223094],[102.88598,33.222849],[102.885982,33.22267],[102.885777,33.222554],[102.885279,33.222559],[102.884879,33.222571],[102.88469,33.222463],[102.884594,33.222066],[102.884611,33.221624],[102.884615,33.221397],[102.884587,33.221201],[102.884507,33.220964],[102.884458,33.220786],[102.884372,33.220649],[102.884236,33.22061],[102.884003,33.220622],[102.883763,33.220655],[102.883571,33.220592],[102.883136,33.220489],[102.882813,33.22048],[102.882516,33.220616],[102.882309,33.220678],[102.881724,33.220602],[102.881418,33.220599],[102.881144,33.220709],[102.880946,33.220894],[102.880773,33.221087],[102.88056,33.221167],[102.880412,33.221079],[102.880425,33.22094],[102.880496,33.220597],[102.880538,33.220309],[102.880419,33.219811],[102.880335,33.219572],[102.880109,33.219437],[102.879722,33.219436],[102.879485,33.219508],[102.879404,33.219671],[102.879434,33.220021],[102.87951,33.220405],[102.879482,33.220651],[102.879335,33.220916],[102.879037,33.221043],[102.878608,33.220927],[102.878093,33.220621],[102.877952,33.220433],[102.878032,33.220276],[102.878397,33.220148],[102.878605,33.220041],[102.878635,33.219896],[102.878208,33.219444],[102.87769,33.218967],[102.877591,33.218741],[102.877646,33.218529],[102.877835,33.218388],[102.878276,33.218302],[102.878636,33.218257],[102.878788,33.218144],[102.878813,33.21783],[102.878655,33.217627],[102.878452,33.217475],[102.878134,33.217403],[102.877422,33.217525],[102.876919,33.217639],[102.876517,33.21763],[102.876438,33.217628],[102.875901,33.217478],[102.875468,33.217255],[102.87526,33.217109],[102.87527,33.216943],[102.875401,33.216764],[102.876018,33.216626],[102.876501,33.216491],[102.876742,33.21636],[102.876791,33.216186],[102.876764,33.21598],[102.876598,33.215851],[102.875718,33.215945],[102.875222,33.215942],[102.87456,33.215623],[102.874043,33.215262],[102.873798,33.214896],[102.873742,33.214479],[102.873825,33.214297],[102.874007,33.214233],[102.874311,33.214335],[102.874663,33.214707],[102.875188,33.215411],[102.87548,33.215566],[102.87584,33.215588],[102.876453,33.215431],[102.876838,33.215236],[102.877047,33.214934],[102.876906,33.21466],[102.876602,33.214694],[102.876039,33.214946],[102.875677,33.214959],[102.875557,33.214765],[102.875865,33.214363],[102.876054,33.214189],[102.876171,33.213722],[102.876195,33.213451],[102.876081,33.213211],[102.876145,33.213003],[102.876289,33.212859],[102.876722,33.212873],[102.876725,33.213034],[102.876565,33.213449],[102.876528,33.213858],[102.876716,33.214141],[102.877072,33.214298],[102.877576,33.214323],[102.877638,33.214136],[102.877595,33.213788],[102.87748,33.213354],[102.877485,33.213115],[102.87759,33.212991],[102.87789,33.21295],[102.878588,33.213428],[102.878894,33.213612],[102.879436,33.213658],[102.879743,33.213542],[102.879914,33.213325],[102.879963,33.213079],[102.879793,33.212787],[102.879453,33.212491],[102.878935,33.212246],[102.878578,33.212178],[102.878098,33.212251],[102.87745,33.212346],[102.876911,33.212229],[102.876879,33.212038],[102.876957,33.211928],[102.877611,33.211889],[102.878261,33.211904],[102.878795,33.211747],[102.879264,33.211475],[102.879335,33.211228],[102.879219,33.210952],[102.878891,33.210734],[102.87822,33.211259],[102.877831,33.211528],[102.877482,33.211476],[102.877371,33.211157],[102.877402,33.21071],[102.87749,33.210271],[102.877638,33.210067],[102.878036,33.210041],[102.878486,33.210202],[102.878665,33.210143],[102.878609,33.209555],[102.878707,33.208739],[102.87839,33.208345],[102.878047,33.208411],[102.87784,33.208646],[102.877606,33.20926],[102.877352,33.20954],[102.877007,33.209719],[102.876614,33.209746],[102.876555,33.20959],[102.876723,33.209343],[102.877053,33.208925],[102.877327,33.208604],[102.877455,33.208384],[102.877392,33.208067],[102.877028,33.207618],[102.876904,33.207495],[102.876816,33.207255],[102.876899,33.207062],[102.877276,33.207013],[102.877598,33.20697],[102.877948,33.206934],[102.87815,33.206971],[102.878141,33.207131],[102.878058,33.207389],[102.878146,33.207542],[102.878347,33.207519],[102.878863,33.207368],[102.879435,33.207332],[102.880327,33.207389],[102.880866,33.207459],[102.88148,33.207627],[102.88177,33.207706],[102.881954,33.207666],[102.882086,33.207533],[102.882021,33.207197],[102.881807,33.206692],[102.881599,33.20656],[102.88097,33.206753],[102.880786,33.206708],[102.880653,33.206459],[102.880437,33.206174],[102.880042,33.205948],[102.879475,33.205672],[102.879447,33.205494],[102.879562,33.205345],[102.880021,33.205196],[102.88027,33.205071],[102.880229,33.204905],[102.879752,33.204771],[102.879455,33.204408],[102.879244,33.204007],[102.879305,33.203841],[102.879562,33.203741],[102.879794,33.203701],[102.879948,33.20361],[102.88006,33.203396],[102.880178,33.203187],[102.880336,33.203098],[102.880498,33.20312],[102.88073,33.203266],[102.881129,33.20364],[102.881377,33.203707],[102.881774,33.203669],[102.881906,33.203546],[102.881841,33.2034],[102.881566,33.20326],[102.881335,33.203136],[102.881126,33.202932],[102.880912,33.202619],[102.880859,33.202455],[102.880979,33.202245],[102.881229,33.202132],[102.881393,33.202143],[102.881501,33.202238],[102.881583,33.202584],[102.881688,33.202817],[102.881961,33.2029],[102.882372,33.202846],[102.88274,33.202735],[102.882941,33.2026],[102.883038,33.202385],[102.883051,33.202162],[102.882907,33.201918],[102.882693,33.201699],[102.882604,33.201581],[102.882159,33.20152],[102.881844,33.201388],[102.881786,33.201224],[102.881928,33.20102],[102.882102,33.200846],[102.882119,33.200652],[102.881942,33.200578],[102.881327,33.200729],[102.880923,33.200765],[102.880722,33.200646],[102.88065,33.2005],[102.880801,33.20031],[102.881012,33.200122],[102.881181,33.19999],[102.881179,33.199804],[102.880946,33.19957],[102.880336,33.199244],[102.879953,33.199189],[102.879372,33.199172],[102.879215,33.19896],[102.879259,33.19879],[102.87966,33.198478],[102.879742,33.198317],[102.879687,33.198165],[102.879058,33.198093],[102.878364,33.198178],[102.878042,33.198175],[102.877907,33.198012],[102.877974,33.197868],[102.878233,33.197725],[102.878398,33.197604],[102.878504,33.197386],[102.878419,33.197029],[102.878042,33.196635],[102.877707,33.196482],[102.877256,33.196444],[102.877068,33.196344],[102.877071,33.196216],[102.877212,33.196114],[102.877387,33.196029],[102.877485,33.195929],[102.87745,33.1958],[102.877286,33.195692],[102.877035,33.195574],[102.876999,33.195394],[102.87714,33.195287],[102.877598,33.195196],[102.877983,33.19503],[102.878249,33.194794],[102.878267,33.19459],[102.878099,33.194368],[102.877701,33.194402],[102.877191,33.194468],[102.876882,33.194419],[102.876879,33.194242],[102.877164,33.193916],[102.877537,33.19345],[102.877772,33.193017],[102.877897,33.192712],[102.877707,33.192285],[102.877449,33.192332],[102.877415,33.19263],[102.877451,33.192989],[102.877263,33.1933],[102.877043,33.193372],[102.876812,33.193258],[102.876817,33.192882],[102.876719,33.192525],[102.876395,33.192531],[102.87614,33.192925],[102.875919,33.193122],[102.875286,33.1932],[102.874933,33.193129],[102.874901,33.192999],[102.875157,33.192781],[102.875536,33.192611],[102.875701,33.192389],[102.875511,33.192157],[102.875228,33.19206],[102.874645,33.19205],[102.874508,33.191868],[102.874351,33.191556],[102.873942,33.191373],[102.87376,33.191274],[102.873756,33.19115],[102.874168,33.190886],[102.874562,33.19054],[102.874874,33.190339],[102.874902,33.190154],[102.874778,33.189949],[102.874436,33.189882],[102.874092,33.189954],[102.873812,33.189904],[102.873707,33.189662],[102.873724,33.189367],[102.873936,33.188647],[102.874013,33.188298],[102.873879,33.188068],[102.873641,33.188082],[102.87347,33.188385],[102.873336,33.188737],[102.873122,33.188904],[102.87286,33.188897],[102.872783,33.188895],[102.872461,33.188719],[102.872397,33.188704],[102.872182,33.188655],[102.872009,33.188515],[102.872055,33.188207],[102.872107,33.187895],[102.872124,33.187605],[102.872207,33.187451],[102.872172,33.187269],[102.872046,33.187197],[102.871766,33.187247],[102.871574,33.187525],[102.871402,33.187851],[102.871219,33.187862],[102.871106,33.187748],[102.870958,33.187566],[102.870774,33.18752],[102.870545,33.187568],[102.87034,33.187774],[102.870106,33.187997],[102.869903,33.188075],[102.869765,33.188021],[102.869735,33.187858],[102.869847,33.187687],[102.870022,33.187494],[102.870056,33.187295],[102.869943,33.187205],[102.869645,33.187264],[102.869403,33.187321],[102.869186,33.187254],[102.869012,33.187142],[102.86901,33.186978],[102.868996,33.186802],[102.868873,33.186657],[102.868261,33.186406],[102.867811,33.186257],[102.867636,33.186342],[102.867559,33.186512],[102.867654,33.18676],[102.867821,33.187109],[102.86795,33.187698],[102.868124,33.187929],[102.868295,33.188021],[102.868247,33.188182],[102.867978,33.188293],[102.867667,33.188406],[102.867612,33.188564],[102.867732,33.188688],[102.868062,33.188988],[102.868087,33.189224],[102.868,33.189369],[102.867759,33.18938],[102.867363,33.189134],[102.8669,33.188803],[102.866306,33.188392],[102.866066,33.188317],[102.86585,33.188391],[102.865865,33.188487],[102.866085,33.188669],[102.866163,33.188845],[102.866046,33.189096],[102.865637,33.18949],[102.865233,33.189854],[102.865188,33.190118],[102.865304,33.19031],[102.865726,33.190372],[102.866222,33.190423],[102.866556,33.190579],[102.866997,33.19073],[102.867154,33.190942],[102.867118,33.191274],[102.866913,33.191579],[102.866537,33.191707],[102.865916,33.191681],[102.865572,33.191543],[102.865437,33.191342],[102.865354,33.191015],[102.86515,33.19083],[102.864723,33.19076],[102.864323,33.19085],[102.864031,33.191048],[102.863653,33.19119],[102.863189,33.191131],[102.862945,33.190957],[102.86302,33.190831],[102.863271,33.190752],[102.863618,33.190695],[102.863695,33.190473],[102.863689,33.189923],[102.863899,33.18961],[102.864033,33.189344],[102.863892,33.189149],[102.863676,33.189272],[102.863532,33.189559],[102.863164,33.189458],[102.862897,33.189376],[102.862522,33.189389],[102.862218,33.189396],[102.861854,33.189231],[102.861396,33.188919],[102.860739,33.18882],[102.860373,33.188691],[102.860301,33.188496],[102.860288,33.188138],[102.860062,33.187779],[102.859741,33.187323],[102.859393,33.18688],[102.859235,33.186823],[102.858977,33.18702],[102.858746,33.187039],[102.858638,33.186848],[102.858553,33.186566],[102.858294,33.186339],[102.857964,33.186082],[102.857712,33.186129],[102.857578,33.186476],[102.857428,33.186812],[102.857288,33.186878],[102.857127,33.186833],[102.85706,33.186716],[102.856954,33.186002],[102.856835,33.185578],[102.856712,33.185359],[102.856502,33.185369],[102.856291,33.185584],[102.856065,33.185865],[102.855846,33.185837],[102.855861,33.185676],[102.856055,33.18546],[102.856193,33.185223],[102.856161,33.185002],[102.855977,33.184947],[102.85541,33.185052],[102.855164,33.185104],[102.854868,33.18493],[102.854544,33.184654],[102.854266,33.184372],[102.853971,33.184332],[102.853548,33.184514],[102.853386,33.184747],[102.853271,33.185035],[102.853149,33.185151],[102.852927,33.185096],[102.85259,33.184497],[102.852272,33.184126],[102.851538,33.184096],[102.851029,33.184095],[102.850819,33.183976],[102.850898,33.183715],[102.851108,33.18347],[102.851651,33.183053],[102.851841,33.182918],[102.851944,33.182979],[102.852051,33.18333],[102.85214,33.183616],[102.852448,33.183722],[102.852772,33.18371],[102.853136,33.183586],[102.853239,33.183504],[102.85319,33.183439],[102.852919,33.183342],[102.852804,33.18326],[102.852761,33.183031],[102.852691,33.18277],[102.852552,33.182487],[102.852549,33.182296],[102.852663,33.182093],[102.852848,33.181963],[102.853024,33.181977],[102.853154,33.182295],[102.853336,33.182695],[102.853636,33.182961],[102.853893,33.183215],[102.854064,33.183327],[102.854177,33.183334],[102.854236,33.183283],[102.85431,33.183057],[102.854372,33.182789],[102.854584,33.182508],[102.854597,33.182196],[102.854615,33.181885],[102.854627,33.181643],[102.854435,33.181477],[102.854056,33.181274],[102.853915,33.181135],[102.853887,33.181026],[102.853948,33.180836],[102.854027,33.180679],[102.854121,33.18066],[102.854372,33.180787],[102.854603,33.180874],[102.85484,33.180846],[102.854965,33.180722],[102.854971,33.180526],[102.854888,33.180189],[102.854819,33.179859],[102.854861,33.17962],[102.855038,33.179555],[102.855208,33.179613],[102.855286,33.179729],[102.8552,33.179943],[102.855175,33.180115],[102.855288,33.180313],[102.855445,33.180412],[102.855702,33.180375],[102.85608,33.18014],[102.856415,33.179975],[102.856454,33.179801],[102.856238,33.17942],[102.855804,33.179088],[102.855364,33.178674],[102.855138,33.178474],[102.854903,33.178352],[102.854849,33.178117],[102.854894,33.177926],[102.855164,33.177819],[102.855763,33.177666],[102.856151,33.177578],[102.856483,33.177428],[102.856698,33.177297],[102.85676,33.177042],[102.856723,33.176825],[102.856598,33.176491],[102.856289,33.176468],[102.855851,33.176542],[102.855665,33.176531],[102.855556,33.176287],[102.855606,33.176157],[102.856038,33.176036],[102.856167,33.175862],[102.856057,33.175644],[102.855541,33.175322],[102.855369,33.175146],[102.855425,33.17492],[102.855619,33.174788],[102.856024,33.174698],[102.856441,33.174547],[102.856567,33.174424],[102.856708,33.174051],[102.856968,33.173815],[102.857242,33.173623],[102.857395,33.173369],[102.857299,33.173132],[102.857016,33.173076],[102.856714,33.173269],[102.856494,33.173635],[102.856328,33.173994],[102.856179,33.174188],[102.85594,33.174207],[102.855776,33.174117],[102.855707,33.17396],[102.855719,33.173823],[102.855868,33.173689],[102.856137,33.173504],[102.856217,33.17329],[102.856086,33.173109],[102.855663,33.172954],[102.855221,33.172888],[102.854684,33.172877],[102.854534,33.17279],[102.854494,33.172654],[102.854404,33.172652],[102.85435,33.172652],[102.854332,33.173127],[102.854302,33.173219],[102.854238,33.173342],[102.853906,33.173709],[102.85351,33.174122],[102.853463,33.174094],[102.853418,33.174068],[102.852959,33.173695],[102.852582,33.173393],[102.852331,33.173199],[102.852301,33.173148],[102.852237,33.173137],[102.852192,33.173125],[102.85214,33.173095],[102.852099,33.173051],[102.852082,33.173006],[102.852073,33.172976],[102.852058,33.172935],[102.852044,33.172905],[102.85213,33.172768],[102.852718,33.172623],[102.853644,33.17233],[102.854049,33.172126],[102.85433,33.171874],[102.854426,33.171789],[102.854437,33.171779],[102.854511,33.171713],[102.854901,33.171467],[102.855005,33.171286],[102.855041,33.171202],[102.855157,33.171219],[102.855461,33.171429],[102.855469,33.171435],[102.855523,33.171488],[102.855532,33.171497],[102.855575,33.171539],[102.855642,33.171499],[102.855636,33.171369],[102.855686,33.171148],[102.855806,33.170955],[102.855947,33.17082],[102.856081,33.170778],[102.856186,33.170805],[102.856257,33.170989],[102.856113,33.171284],[102.856043,33.171431],[102.85606,33.171533],[102.856245,33.171608],[102.85629,33.17162],[102.856267,33.171576],[102.856317,33.171582],[102.856331,33.171578],[102.856337,33.171558],[102.856336,33.171525],[102.85633,33.171511],[102.85631,33.171476],[102.856287,33.171378],[102.85628,33.171261],[102.856289,33.171179],[102.856312,33.171128],[102.856314,33.171125],[102.856339,33.171101],[102.856363,33.171088],[102.856393,33.17108],[102.85643,33.17108],[102.856459,33.171087],[102.856492,33.171103],[102.856514,33.17112],[102.856562,33.171184],[102.856601,33.171244],[102.856675,33.171325],[102.856761,33.171403],[102.85679,33.171408],[102.856807,33.171396],[102.856807,33.171369],[102.856801,33.171337],[102.856786,33.171303],[102.856779,33.171275],[102.856777,33.171246],[102.856805,33.171211],[102.856845,33.171171],[102.856903,33.171114],[102.85694,33.171077],[102.856957,33.17105],[102.856946,33.170997],[102.856935,33.170937],[102.856924,33.170884],[102.856924,33.170825],[102.856938,33.170765],[102.856957,33.170714],[102.856962,33.170674],[102.856962,33.170616],[102.856957,33.170575],[102.85694,33.170544],[102.856898,33.17051],[102.856807,33.170497],[102.856712,33.170487],[102.856585,33.170469],[102.856386,33.170435],[102.856287,33.17043],[102.856173,33.170398],[102.856108,33.17036],[102.85609,33.170345],[102.856063,33.170315],[102.85605,33.170283],[102.856049,33.170249],[102.856064,33.170227],[102.856097,33.170204],[102.856143,33.170184],[102.856186,33.17017],[102.856207,33.170157],[102.856233,33.170104],[102.85626,33.170055],[102.856315,33.170021],[102.856364,33.170004],[102.856442,33.169986],[102.85653,33.169983],[102.856572,33.169987],[102.856613,33.170009],[102.85666,33.170041],[102.856697,33.17006],[102.856735,33.170068],[102.856783,33.170071],[102.856835,33.170071],[102.856879,33.170054],[102.856916,33.170026],[102.856942,33.169997],[102.856947,33.169976],[102.856944,33.169959],[102.856928,33.169946],[102.856891,33.169935],[102.856839,33.16992],[102.856788,33.169907],[102.856709,33.169865],[102.856671,33.169839],[102.856625,33.169799],[102.856601,33.169763],[102.856589,33.169718],[102.856585,33.169674],[102.856597,33.169639],[102.856641,33.169596],[102.856683,33.169562],[102.856704,33.169532],[102.856706,33.169484],[102.856692,33.169455],[102.856653,33.16942],[102.856612,33.169411],[102.856552,33.169407],[102.856501,33.169407],[102.856448,33.169426],[102.856363,33.169483],[102.856326,33.169505],[102.856274,33.169541],[102.856246,33.16956],[102.856212,33.16957],[102.856156,33.169578],[102.856104,33.169579],[102.856061,33.169569],[102.856027,33.169536],[102.855999,33.169492],[102.85598,33.169407],[102.855948,33.16934],[102.855918,33.169305],[102.85589,33.169255],[102.855874,33.169204],[102.855865,33.169169],[102.855842,33.169141],[102.85581,33.169145],[102.855764,33.169166],[102.855712,33.169172],[102.855675,33.169172],[102.855528,33.169169],[102.855521,33.16917],[102.855477,33.169174],[102.855413,33.16919],[102.855382,33.169193],[102.855341,33.169185],[102.855296,33.169159],[102.855252,33.169131],[102.85521,33.169108],[102.855195,33.169088],[102.855186,33.169059],[102.855192,33.169022],[102.855212,33.168993],[102.855245,33.168964],[102.855308,33.16893],[102.855409,33.168881],[102.855466,33.168844],[102.855513,33.168811],[102.855595,33.168758],[102.855594,33.168696],[102.855583,33.168693],[102.855547,33.168681],[102.855518,33.168681],[102.855457,33.168681],[102.855403,33.168671],[102.855358,33.168637],[102.855329,33.168594],[102.855319,33.168555],[102.85532,33.16852],[102.855337,33.168482],[102.855371,33.168453],[102.855406,33.168438],[102.855463,33.168429],[102.855538,33.16843],[102.855609,33.168429],[102.85572,33.168431],[102.855734,33.168435],[102.855756,33.168447],[102.855788,33.168459],[102.855817,33.168462],[102.855838,33.168458],[102.855857,33.168446],[102.85587,33.168433],[102.855949,33.168487],[102.855983,33.168388],[102.855992,33.168367],[102.856004,33.168361],[102.856021,33.168364],[102.856034,33.168371],[102.856094,33.168422],[102.856149,33.168464],[102.85618,33.168471],[102.856219,33.168475],[102.856263,33.168472],[102.856297,33.168464],[102.856326,33.168455],[102.856354,33.168429],[102.856371,33.168405],[102.856378,33.16838],[102.856379,33.168347],[102.856373,33.16831],[102.856368,33.1683],[102.856349,33.168261],[102.856335,33.168224],[102.85632,33.16818],[102.856309,33.168124],[102.856313,33.168071],[102.856313,33.168053],[102.856312,33.168014],[102.856306,33.167983],[102.856292,33.167954],[102.856258,33.167899],[102.856256,33.167881],[102.856262,33.167865],[102.856278,33.167848],[102.856333,33.167814],[102.856354,33.167807],[102.8565,33.16775],[102.856545,33.167745],[102.856569,33.167743],[102.856592,33.167748],[102.856599,33.167758],[102.856603,33.167773],[102.856603,33.167797],[102.856595,33.167834],[102.856582,33.167874],[102.856551,33.167918],[102.856521,33.167951],[102.856449,33.168129],[102.856441,33.168165],[102.856444,33.168215],[102.856458,33.168259],[102.856489,33.168322],[102.856517,33.168351],[102.856574,33.168388],[102.856622,33.168396],[102.856693,33.168403],[102.85676,33.168403],[102.85681,33.168398],[102.856843,33.168379],[102.856859,33.168364],[102.856863,33.168345],[102.85686,33.168311],[102.85685,33.168257],[102.856841,33.168213],[102.85684,33.168189],[102.856843,33.168161],[102.856856,33.168134],[102.856872,33.168127],[102.856884,33.168128],[102.856926,33.16813],[102.856987,33.168142],[102.856966,33.168075],[102.856943,33.168003],[102.856908,33.167892],[102.856597,33.167662],[102.856167,33.167472],[102.855957,33.167187],[102.85588,33.166919],[102.855953,33.166653],[102.85634,33.166533],[102.8566,33.166584],[102.856625,33.166589],[102.856673,33.166599],[102.856691,33.166602],[102.856692,33.166568],[102.856688,33.166519],[102.856711,33.166475],[102.856746,33.166441],[102.85679,33.166425],[102.856835,33.166424],[102.856868,33.166425],[102.856906,33.166414],[102.85696,33.166411],[102.857132,33.16644],[102.857208,33.166477],[102.857252,33.166501],[102.857284,33.166519],[102.857291,33.166525],[102.857302,33.166535],[102.857309,33.166554],[102.857307,33.166574],[102.857276,33.166588],[102.857175,33.166641],[102.857104,33.166699],[102.85706,33.16675],[102.857039,33.166796],[102.857034,33.166819],[102.85703,33.166857],[102.857039,33.166879],[102.857051,33.166896],[102.857076,33.166912],[102.8571,33.166922],[102.857122,33.166926],[102.857643,33.167564],[102.857711,33.167647],[102.857718,33.167656],[102.857736,33.167605],[102.857777,33.16751],[102.857799,33.167465],[102.857825,33.16744],[102.857857,33.167432],[102.857942,33.167426],[102.858038,33.16743],[102.858071,33.167444],[102.858093,33.167467],[102.858114,33.167501],[102.85813,33.167542],[102.858139,33.16759],[102.858135,33.167654],[102.858095,33.167748],[102.858029,33.167835],[102.857972,33.167881],[102.857922,33.167907],[102.857931,33.167917],[102.857959,33.167952],[102.858248,33.16842],[102.858524,33.168762],[102.858712,33.169257],[102.859056,33.169544],[102.859239,33.169561],[102.859343,33.169437],[102.8594,33.169228],[102.859404,33.169211],[102.859409,33.169194],[102.859416,33.169167],[102.859616,33.169344],[102.859826,33.169508],[102.859929,33.169577],[102.860084,33.169589],[102.860213,33.169551],[102.860249,33.169469],[102.860098,33.169344],[102.859809,33.169103],[102.859713,33.168954],[102.859743,33.168882],[102.859907,33.168838],[102.860066,33.168801],[102.860218,33.168672],[102.860316,33.168625],[102.860453,33.168635],[102.860573,33.16873],[102.860881,33.168954],[102.861059,33.16906],[102.861351,33.169146],[102.861687,33.169168],[102.861936,33.169123],[102.862153,33.169042],[102.862234,33.168919],[102.862206,33.168813],[102.862067,33.168776],[102.861749,33.168787],[102.861583,33.168773],[102.861505,33.168555],[102.861402,33.168229],[102.861444,33.168095],[102.861512,33.168096],[102.861593,33.168154],[102.861677,33.168331],[102.861776,33.168376],[102.861926,33.168373],[102.862051,33.168323],[102.862176,33.168216],[102.862212,33.168096],[102.862188,33.167935],[102.862176,33.167832],[102.862227,33.167727],[102.862307,33.167643],[102.862477,33.167608],[102.86265,33.167623],[102.862764,33.167736],[102.862836,33.167979],[102.862874,33.168211],[102.862941,33.168382],[102.86302,33.168427],[102.86317,33.168344],[102.863342,33.168191],[102.863466,33.168173],[102.863676,33.168258],[102.864056,33.168472],[102.864278,33.168436],[102.864555,33.168273],[102.864779,33.168146],[102.864866,33.168042],[102.864756,33.167881],[102.864747,33.167748],[102.864819,33.167533],[102.864892,33.167447],[102.865339,33.167433],[102.865508,33.167464],[102.865703,33.16752],[102.866066,33.167791],[102.866426,33.167984],[102.866879,33.16811],[102.86713,33.168122],[102.867306,33.168085],[102.8675,33.167968],[102.86763,33.167738],[102.86762,33.167553],[102.867519,33.167525],[102.867305,33.167618],[102.867033,33.167719],[102.866774,33.167739],[102.866645,33.167692],[102.866659,33.167582],[102.866786,33.167427],[102.866766,33.167386],[102.866764,33.167381],[102.86676,33.167373],[102.866544,33.166939],[102.866131,33.165877],[102.865702,33.165501],[102.86546,33.165128],[102.865616,33.16495],[102.865665,33.164893],[102.865868,33.164661],[102.866586,33.164357],[102.866885,33.164063],[102.86706,33.16375],[102.867022,33.163591],[102.866848,33.163563],[102.866805,33.163586],[102.866747,33.163615],[102.866604,33.163657],[102.86647,33.163684],[102.866401,33.163689],[102.866274,33.163688],[102.866189,33.163679],[102.866129,33.163664],[102.866087,33.163638],[102.866067,33.16362],[102.866049,33.163623],[102.866019,33.163627],[102.865602,33.163567],[102.865361,33.163177],[102.865747,33.162779],[102.866115,33.162514],[102.866124,33.162507],[102.866102,33.162461],[102.86609,33.162408],[102.866091,33.162355],[102.866104,33.162299],[102.866144,33.162241],[102.866243,33.162176],[102.866373,33.162138],[102.866468,33.162123],[102.866534,33.162126],[102.866565,33.162137],[102.866571,33.16213],[102.866684,33.162022],[102.86663,33.16167],[102.866535,33.161265],[102.866454,33.161227],[102.866143,33.161082],[102.865944,33.161058],[102.865943,33.161156],[102.865898,33.161269],[102.865759,33.16138],[102.865705,33.161424],[102.865589,33.161469],[102.865401,33.161506],[102.86525,33.161519],[102.864999,33.161521],[102.864873,33.161516],[102.864783,33.161509],[102.864754,33.161533],[102.864355,33.161631],[102.863879,33.161447],[102.863574,33.161108],[102.863502,33.160633],[102.863574,33.160248],[102.863895,33.159937],[102.864074,33.159931],[102.864087,33.15993],[102.864097,33.15993],[102.864172,33.159927],[102.864195,33.159734],[102.864263,33.159523],[102.864366,33.159369],[102.864538,33.159352],[102.86477,33.159426],[102.864819,33.159546],[102.864648,33.159691],[102.864468,33.159805],[102.864448,33.159918],[102.864519,33.159978],[102.864647,33.159967],[102.8648,33.159867],[102.864926,33.159835],[102.865059,33.159868],[102.865293,33.159982],[102.865668,33.15994],[102.865844,33.159867],[102.865913,33.159812],[102.865897,33.159707],[102.865596,33.159537],[102.865281,33.159241],[102.865248,33.159128],[102.865324,33.159033],[102.865406,33.159015],[102.865422,33.158975],[102.865555,33.158631],[102.86563,33.158123],[102.865664,33.157596],[102.865764,33.156895],[102.86569,33.156508],[102.865472,33.156047],[102.864896,33.155651],[102.864531,33.155241],[102.864187,33.15476],[102.864053,33.154249],[102.863919,33.153772],[102.863801,33.153472],[102.863529,33.153375],[102.863523,33.153372],[102.863483,33.153358],[102.863418,33.153405],[102.863339,33.153423],[102.863233,33.153429],[102.863146,33.153478],[102.86303,33.153675],[102.862897,33.153876],[102.862698,33.154113],[102.862604,33.154185],[102.862501,33.154205],[102.862377,33.154192],[102.862288,33.154155],[102.862199,33.154105],[102.8622,33.154043],[102.86223,33.153974],[102.862327,33.153945],[102.86244,33.153904],[102.86254,33.153853],[102.862582,33.153802],[102.862541,33.153721],[102.862478,33.153719],[102.862326,33.153777],[102.862241,33.153789],[102.862159,33.153744],[102.861951,33.153617],[102.861786,33.153597],[102.861669,33.153586],[102.861568,33.153538],[102.861445,33.153399],[102.86138,33.153301],[102.861378,33.153225],[102.861412,33.153129],[102.861445,33.153084],[102.861501,33.153072],[102.861592,33.153088],[102.861669,33.153154],[102.861797,33.153295],[102.861934,33.15344],[102.862053,33.153518],[102.862172,33.153568],[102.862262,33.153572],[102.862355,33.153554],[102.862383,33.153511],[102.862346,33.153449],[102.862139,33.153353],[102.861932,33.153235],[102.861884,33.153142],[102.861933,33.15307],[102.861989,33.153035],[102.862068,33.153041],[102.862212,33.153072],[102.862355,33.153086],[102.862453,33.153064],[102.862465,33.153008],[102.862458,33.15295],[102.862352,33.15288],[102.862113,33.152775],[102.862011,33.152698],[102.861962,33.152606],[102.862004,33.152495],[102.862058,33.152421],[102.862075,33.152367],[102.862069,33.152279],[102.862069,33.152217],[102.862039,33.152125],[102.861971,33.15208],[102.861823,33.152065],[102.861664,33.152065],[102.861555,33.152114],[102.861509,33.152158],[102.861504,33.152214],[102.861546,33.152268],[102.861624,33.152334],[102.861647,33.152404],[102.861616,33.152473],[102.861549,33.152506],[102.861424,33.152514],[102.861298,33.152558],[102.861222,33.152602],[102.861199,33.152716],[102.861229,33.152841],[102.86129,33.152994],[102.861275,33.15311],[102.861209,33.153191],[102.861123,33.153199],[102.861085,33.15315],[102.861046,33.153017],[102.860979,33.15291],[102.860837,33.152894],[102.860474,33.152937],[102.860215,33.152977],[102.860054,33.153038],[102.859935,33.153071],[102.859868,33.153076],[102.859809,33.153063],[102.859773,33.153084],[102.859765,33.153089],[102.859653,33.153154],[102.859383,33.153097],[102.859159,33.152865],[102.859028,33.152578],[102.858981,33.152475],[102.858995,33.152278],[102.858998,33.152237],[102.859004,33.152152],[102.859012,33.152037],[102.859012,33.151914],[102.859011,33.15167],[102.859011,33.151654],[102.859011,33.151537],[102.85901,33.151264],[102.85898,33.150789],[102.858822,33.1504],[102.858096,33.150194],[102.857882,33.150306],[102.857872,33.150312],[102.857839,33.150329],[102.857815,33.150341],[102.857804,33.150347],[102.857314,33.150602],[102.856594,33.151029],[102.855902,33.15114],[102.855704,33.151558],[102.855693,33.151609],[102.855689,33.151627],[102.855697,33.151634],[102.85571,33.151645],[102.855729,33.151658],[102.855752,33.151676],[102.855774,33.151695],[102.855803,33.15173],[102.855824,33.151769],[102.85583,33.151806],[102.855829,33.151844],[102.855822,33.151871],[102.855806,33.151899],[102.855789,33.151913],[102.855746,33.151933],[102.855704,33.151944],[102.855684,33.151956],[102.855643,33.151981],[102.855608,33.152005],[102.855547,33.152032],[102.855457,33.152109],[102.85541,33.152176],[102.85544,33.152273],[102.855508,33.152364],[102.855379,33.15251],[102.855372,33.152518],[102.855307,33.152592],[102.855174,33.152744],[102.854841,33.152703],[102.854557,33.152364],[102.854651,33.151927],[102.854685,33.151383],[102.85451,33.150835],[102.854155,33.149986],[102.853415,33.148458],[102.8534,33.148427],[102.853204,33.147897],[102.853194,33.14744],[102.853354,33.147254],[102.853364,33.147242],[102.853387,33.147215],[102.8534,33.147209],[102.853313,33.147122],[102.853303,33.147027],[102.853351,33.146871],[102.853444,33.146772],[102.853561,33.146715],[102.853679,33.146759],[102.853843,33.146878],[102.854015,33.14711],[102.854104,33.147179],[102.854224,33.14718],[102.854312,33.147169],[102.854387,33.147135],[102.854392,33.147019],[102.854388,33.146909],[102.854436,33.146795],[102.854548,33.146725],[102.854734,33.146718],[102.854999,33.146813],[102.855105,33.146836],[102.855157,33.146821],[102.855235,33.146732],[102.855236,33.146616],[102.855192,33.146522],[102.855086,33.14641],[102.855055,33.146318],[102.85511,33.146201],[102.855179,33.146183],[102.855352,33.146178],[102.85545,33.146149],[102.855534,33.146069],[102.855653,33.146024],[102.855822,33.146085],[102.855956,33.146215],[102.855979,33.146311],[102.855919,33.14642],[102.855659,33.146507],[102.855495,33.146601],[102.855453,33.146737],[102.855498,33.146889],[102.855579,33.146957],[102.855717,33.14691],[102.855852,33.146782],[102.856006,33.146612],[102.856168,33.146517],[102.856284,33.146505],[102.856384,33.146497],[102.856472,33.146434],[102.856421,33.146351],[102.856377,33.146316],[102.856424,33.146239],[102.856477,33.146163],[102.856461,33.146098],[102.856332,33.146023],[102.856272,33.145942],[102.856248,33.145822],[102.856245,33.145579],[102.856239,33.145446],[102.85616,33.145378],[102.856066,33.145388],[102.856045,33.145471],[102.856094,33.145585],[102.856089,33.14567],[102.855974,33.145804],[102.855789,33.145868],[102.855599,33.145876],[102.855516,33.145842],[102.85554,33.145764],[102.855598,33.145652],[102.855613,33.145539],[102.855509,33.145482],[102.855225,33.145487],[102.854947,33.145547],[102.854776,33.145569],[102.85455,33.145567],[102.85439,33.145581],[102.854226,33.145579],[102.854034,33.145519],[102.853896,33.145411],[102.853781,33.145297],[102.853699,33.145148],[102.8537,33.145038],[102.853755,33.144926],[102.853837,33.14487],[102.853821,33.144845],[102.853817,33.144838],[102.853756,33.144743],[102.853749,33.144732],[102.85365,33.144798],[102.85354,33.144859],[102.853486,33.14488],[102.853441,33.144889],[102.85342,33.144891],[102.853389,33.144883],[102.853364,33.144872],[102.853336,33.144851],[102.85331,33.144793],[102.853263,33.144665],[102.853239,33.144635],[102.853213,33.144591],[102.853198,33.144572],[102.853181,33.144557],[102.853164,33.144545],[102.853148,33.144523],[102.853139,33.144507],[102.853134,33.144491],[102.853135,33.144481],[102.853092,33.144486],[102.853061,33.1445],[102.853022,33.144513],[102.852993,33.144536],[102.852982,33.144554],[102.852969,33.144585],[102.852957,33.144616],[102.852938,33.144657],[102.852936,33.144686],[102.852939,33.144708],[102.852951,33.144732],[102.852965,33.144764],[102.852932,33.144777],[102.852482,33.144951],[102.85227,33.145088],[102.852083,33.145032],[102.852192,33.144876],[102.852429,33.144564],[102.852716,33.143919],[102.853168,33.143365],[102.853763,33.142953],[102.854334,33.142629],[102.855242,33.142224],[102.855628,33.141791],[102.855825,33.141443],[102.855855,33.14104],[102.855716,33.140756],[102.855567,33.14069],[102.85556,33.140705],[102.855553,33.14073],[102.855528,33.140789],[102.855493,33.140839],[102.855441,33.140877],[102.855349,33.1409],[102.855249,33.140936],[102.855172,33.140954],[102.855143,33.140953],[102.855073,33.140935],[102.855063,33.140926],[102.855043,33.140907],[102.855021,33.140868],[102.855005,33.140816],[102.854985,33.140758],[102.854965,33.140707],[102.854951,33.140664],[102.854952,33.140618],[102.854982,33.140539],[102.854987,33.140525],[102.854948,33.140517],[102.854846,33.140495],[102.85473,33.140365],[102.854561,33.140174],[102.854537,33.139898],[102.854528,33.139805],[102.854451,33.13954],[102.854293,33.139168],[102.854186,33.139134],[102.854173,33.139158],[102.854139,33.139216],[102.854106,33.139261],[102.854048,33.139305],[102.853982,33.139336],[102.853909,33.139338],[102.853866,33.139336],[102.853832,33.139319],[102.853798,33.139281],[102.853786,33.139245],[102.853791,33.139229],[102.853795,33.139206],[102.853816,33.139177],[102.853841,33.139155],[102.853863,33.139138],[102.853877,33.139125],[102.853881,33.139114],[102.853873,33.139094],[102.853864,33.139078],[102.853854,33.139064],[102.853848,33.139052],[102.85381,33.139045],[102.853567,33.138998],[102.853436,33.13895],[102.853423,33.138881],[102.853413,33.13886],[102.853393,33.138841],[102.853376,33.138832],[102.853345,33.138832],[102.853316,33.138835],[102.853286,33.138848],[102.853256,33.138865],[102.853244,33.138881],[102.85322,33.138914],[102.853205,33.138929],[102.853177,33.13895],[102.85316,33.138958],[102.853139,33.138962],[102.853122,33.138961],[102.853107,33.138956],[102.853098,33.138939],[102.853092,33.138913],[102.853089,33.13888],[102.853089,33.138839],[102.853088,33.138824],[102.853035,33.138805],[102.853026,33.138802],[102.853008,33.138794],[102.852986,33.138727],[102.852872,33.138371],[102.852869,33.138295],[102.852861,33.138121],[102.852832,33.137457],[102.852469,33.136941],[102.852266,33.13679],[102.852248,33.136776],[102.852215,33.136781],[102.852173,33.136778],[102.852128,33.136758],[102.852118,33.136748],[102.852105,33.136728],[102.852095,33.136698],[102.852091,33.136678],[102.852091,33.136659],[102.85209,33.136639],[102.852104,33.136603],[102.852123,33.136568],[102.852121,33.136544],[102.852112,33.136522],[102.852095,33.136494],[102.852053,33.136475],[102.852017,33.136465],[102.851979,33.136456],[102.851946,33.136454],[102.851923,33.136459],[102.851891,33.136467],[102.851868,33.136476],[102.851847,33.13649],[102.851832,33.136504],[102.851827,33.136512],[102.851798,33.136513],[102.851779,33.136511],[102.851751,33.136504],[102.851723,33.136495],[102.851702,33.136484],[102.851688,33.136473],[102.851671,33.136459],[102.851627,33.136446],[102.851521,33.136416],[102.851189,33.136322],[102.851047,33.136144],[102.851015,33.135757],[102.851089,33.135465],[102.851131,33.135302],[102.851124,33.135206],[102.8511,33.134863],[102.851046,33.134493],[102.850457,33.133798],[102.8502,33.133214],[102.850197,33.132493],[102.850642,33.131377],[102.850819,33.130941],[102.85087,33.130573],[102.850987,33.130066],[102.851337,33.129387],[102.852286,33.128138],[102.852825,33.127445],[102.853441,33.126173],[102.853662,33.125633],[102.85372,33.124966],[102.853622,33.123875],[102.853509,33.123364],[102.853504,33.122696],[102.85348,33.121958],[102.853571,33.120801],[102.853982,33.12021],[102.85412,33.119686],[102.854174,33.119177],[102.854178,33.11916],[102.854181,33.11914],[102.854166,33.119131],[102.854095,33.119045],[102.854038,33.118965],[102.853966,33.118863],[102.853949,33.118823],[102.853947,33.118778],[102.853954,33.118751],[102.853972,33.118723],[102.853997,33.118714],[102.854031,33.118709],[102.854077,33.118712],[102.854094,33.118716],[102.854139,33.118735],[102.854212,33.118761],[102.854248,33.118772],[102.854286,33.118788],[102.854301,33.118794],[102.854335,33.118801],[102.854376,33.118803],[102.854399,33.118796],[102.854413,33.118787],[102.85441,33.118759],[102.854394,33.118731],[102.854362,33.118723],[102.854306,33.118726],[102.854291,33.11872],[102.854252,33.118707],[102.854225,33.118689],[102.854211,33.118663],[102.854213,33.118627],[102.854217,33.118592],[102.854223,33.118562],[102.854222,33.118521],[102.854211,33.118491],[102.854193,33.118461],[102.854175,33.118441],[102.854151,33.11842],[102.854129,33.118395],[102.854114,33.118362],[102.854114,33.118314],[102.854131,33.118289],[102.854148,33.11827],[102.854176,33.118258],[102.854211,33.118248],[102.854234,33.11824],[102.854264,33.11824],[102.854298,33.118248],[102.854455,33.117953],[102.854543,33.117761],[102.854426,33.117408],[102.854206,33.117035],[102.854051,33.11654],[102.854168,33.116016],[102.854244,33.115437],[102.85473,33.114357],[102.855313,33.113541],[102.855896,33.112743],[102.856485,33.111682],[102.856583,33.111086],[102.856575,33.110577],[102.856712,33.110087],[102.857035,33.109324],[102.857044,33.109303],[102.857054,33.109278],[102.857133,33.109093],[102.857773,33.107899],[102.85779,33.107866],[102.85783,33.107792],[102.857804,33.10779],[102.857774,33.107783],[102.857748,33.107772],[102.857732,33.107759],[102.857725,33.107741],[102.857732,33.107722],[102.857747,33.107706],[102.857769,33.10769],[102.857799,33.107671],[102.857822,33.10766],[102.857842,33.107648],[102.857869,33.107631],[102.857891,33.107625],[102.857909,33.107607],[102.857915,33.107591],[102.85791,33.107566],[102.85789,33.107543],[102.857995,33.107105],[102.858042,33.1067],[102.858048,33.10665],[102.858049,33.106638],[102.858054,33.106595],[102.858056,33.106573],[102.8581,33.106194],[102.858459,33.10575],[102.858533,33.105658],[102.858535,33.105655],[102.858601,33.105574],[102.858591,33.105555],[102.858585,33.105536],[102.858585,33.105513],[102.858593,33.1055],[102.858625,33.105504],[102.858651,33.105511],[102.858744,33.10554],[102.858816,33.10557],[102.85888,33.105546],[102.858932,33.105501],[102.858947,33.105411],[102.858942,33.105392],[102.858927,33.105335],[102.858881,33.105272],[102.858861,33.105255],[102.858842,33.10523],[102.858841,33.105217],[102.858854,33.105195],[102.858874,33.105183],[102.85889,33.105181],[102.858917,33.105196],[102.85894,33.105212],[102.859009,33.105141],[102.859011,33.105138],[102.85943,33.104706],[102.859614,33.104024],[102.85946,33.102616],[102.859505,33.101633],[102.859586,33.100879],[102.860109,33.100093],[102.860259,33.099867],[102.860262,33.099833],[102.860267,33.099809],[102.860274,33.09978],[102.860286,33.099765],[102.860306,33.099764],[102.86032,33.099766],[102.860332,33.099777],[102.86055,33.099531],[102.860823,33.099223],[102.860808,33.099205],[102.8608,33.099188],[102.860783,33.099167],[102.860767,33.099153],[102.860743,33.099141],[102.860719,33.099122],[102.86071,33.099107],[102.860705,33.099086],[102.860713,33.099037],[102.860716,33.099011],[102.860725,33.098969],[102.860733,33.098949],[102.860737,33.098931],[102.860741,33.098919],[102.860755,33.098913],[102.860786,33.098915],[102.860807,33.098916],[102.860836,33.098903],[102.860862,33.09888],[102.860904,33.098841],[102.86093,33.098823],[102.86095,33.098794],[102.860968,33.098759],[102.860981,33.098735],[102.860991,33.098698],[102.861004,33.098666],[102.86101,33.098642],[102.861023,33.098613],[102.861033,33.098598],[102.861044,33.098582],[102.86106,33.098556],[102.861061,33.098539],[102.861061,33.098533],[102.861065,33.098389],[102.861071,33.098129],[102.85994,33.097442],[102.85889,33.096845],[102.858509,33.09655],[102.858194,33.096306],[102.857046,33.095461],[102.856554,33.095223],[102.855045,33.094495],[102.854324,33.094114],[102.852894,33.093258],[102.852889,33.093255],[102.852391,33.092957],[102.851535,33.092755],[102.851526,33.092753],[102.851453,33.092736],[102.851419,33.092728],[102.851355,33.092713],[102.850522,33.092517],[102.850378,33.092483],[102.850402,33.091519],[102.850403,33.09149],[102.850422,33.09071],[102.850374,33.089233],[102.850086,33.086506],[102.850318,33.085526],[102.850301,33.0844],[102.850301,33.084383],[102.8503,33.084349],[102.850294,33.083945],[102.850058,33.08164],[102.849713,33.080503],[102.849112,33.080743],[102.849001,33.080629],[102.848998,33.080643],[102.848969,33.080701],[102.848963,33.080715],[102.848931,33.080737],[102.848885,33.080757],[102.848817,33.080776],[102.848758,33.080799],[102.848731,33.080818],[102.848701,33.08087],[102.848697,33.080876],[102.848697,33.080876],[102.848658,33.080933],[102.84862,33.080975],[102.848577,33.081023],[102.84849,33.081112],[102.84839,33.081165],[102.848321,33.081192],[102.848238,33.081223],[102.84815,33.081248],[102.848028,33.081272],[102.847929,33.081285],[102.847819,33.0813],[102.847683,33.081317],[102.847586,33.081323],[102.847443,33.08131],[102.847221,33.081334],[102.846558,33.081086],[102.846283,33.080984],[102.845445,33.080591],[102.845398,33.080569],[102.845381,33.080562],[102.845363,33.080553],[102.845361,33.080552],[102.845298,33.080522],[102.845257,33.080503],[102.84525,33.080499],[102.844655,33.080159],[102.844559,33.079789],[102.844514,33.079618],[102.844512,33.07961],[102.84451,33.079602],[102.844508,33.079591],[102.844487,33.079513],[102.844495,33.079459]]]]},"properties":{"cp":[102.93341761730755,33.11135771891013],"code":"513233207","name":"麦洼乡","level":"street","center":[102.93341761730755,33.11135771891013],"fullCode":"513233207000","fullName":"四川省阿坝藏族羌族自治州红原县麦洼乡","acreageMu":838703.39,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.918,32.9156]}},{"id":"513233208","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[102.876403,32.917034],[102.877821,32.917289],[102.87904,32.917509],[102.879321,32.91756],[102.879803,32.917647],[102.880757,32.917692],[102.881664,32.916844],[102.882087,32.916275],[102.883036,32.91514],[102.883882,32.914004],[102.884545,32.913353],[102.885692,32.91248],[102.886416,32.912147],[102.887136,32.912016],[102.890012,32.910136],[102.891018,32.909434],[102.891588,32.908408],[102.892434,32.907242],[102.89303,32.906561],[102.893252,32.905846],[102.893298,32.905329],[102.893691,32.904587],[102.893877,32.903928],[102.893929,32.903181],[102.893818,32.902114],[102.893743,32.900962],[102.89373,32.90007],[102.893579,32.899262],[102.893845,32.898086],[102.894094,32.897403],[102.894163,32.897215],[102.894356,32.896685],[102.894308,32.895821],[102.894535,32.894904],[102.894937,32.893759],[102.895235,32.8927],[102.895731,32.890464],[102.895751,32.889629],[102.895698,32.888995],[102.895571,32.88859],[102.896146,32.887334],[102.897278,32.885626],[102.897787,32.885186],[102.8978,32.885175],[102.89829,32.884636],[102.89849,32.884389],[102.898817,32.883983],[102.899003,32.883325],[102.899057,32.882491],[102.898709,32.881334],[102.898907,32.878719],[102.899044,32.877282],[102.899108,32.875988],[102.899493,32.874124],[102.899904,32.871167],[102.900589,32.868129],[102.901096,32.866871],[102.901196,32.86552],[102.901659,32.861816],[102.901708,32.861155],[102.901726,32.860407],[102.901703,32.859946],[102.90189,32.85923],[102.901606,32.858247],[102.900999,32.85651],[102.900346,32.85529],[102.900031,32.854191],[102.899529,32.852341],[102.899453,32.851218],[102.899478,32.850182],[102.900031,32.849846],[102.901531,32.849871],[102.902658,32.849775],[102.904054,32.849827],[102.905111,32.849845],[102.906262,32.850181],[102.907379,32.850545],[102.908395,32.850821],[102.908585,32.850862],[102.908603,32.850866],[102.908656,32.850877],[102.908667,32.850879],[102.908682,32.850882],[102.908804,32.850908],[102.908844,32.850917],[102.908868,32.850922],[102.9089,32.850929],[102.909006,32.850952],[102.909152,32.850983],[102.909209,32.850995],[102.909397,32.851035],[102.90952,32.851062],[102.909637,32.851087],[102.909683,32.851097],[102.909691,32.851098],[102.909759,32.851113],[102.909854,32.851133],[102.910971,32.85144],[102.911271,32.851346],[102.912105,32.851084],[102.912774,32.850175],[102.913412,32.849121],[102.914116,32.848183],[102.914301,32.847809],[102.914653,32.847098],[102.914884,32.846419],[102.914945,32.84624],[102.914889,32.845721],[102.914017,32.845102],[102.913605,32.844679],[102.913418,32.844488],[102.912993,32.843704],[102.912231,32.841331],[102.912321,32.840383],[102.912854,32.839471],[102.913864,32.838538],[102.91442,32.838099],[102.915253,32.837439],[102.915502,32.837198],[102.915777,32.83693],[102.915939,32.83581],[102.916265,32.833514],[102.916081,32.832647],[102.916032,32.83184],[102.916115,32.829712],[102.916182,32.828332],[102.916515,32.827186],[102.917569,32.825852],[102.918583,32.824746],[102.919081,32.823862],[102.919542,32.823064],[102.919937,32.822229],[102.920074,32.821821],[102.920294,32.821177],[102.920502,32.819929],[102.920757,32.818833],[102.921287,32.818021],[102.921764,32.817317],[102.922549,32.81651],[102.923798,32.815581],[102.924806,32.815195],[102.92583,32.814612],[102.926973,32.813715],[102.927426,32.813288],[102.927605,32.813305],[102.927719,32.813338],[102.927769,32.813337],[102.927826,32.813299],[102.927881,32.813193],[102.92793,32.813059],[102.927908,32.812834],[102.927929,32.812814],[102.928809,32.811976],[102.929342,32.811574],[102.930562,32.810583],[102.931088,32.810276],[102.931927,32.809785],[102.932352,32.809534],[102.932941,32.809186],[102.933748,32.808709],[102.933789,32.808695],[102.934879,32.808317],[102.936013,32.80783],[102.936063,32.807793],[102.936182,32.807873],[102.936372,32.808],[102.936563,32.808126],[102.936753,32.808253],[102.937055,32.808366],[102.937357,32.80848],[102.937721,32.808585],[102.938085,32.808689],[102.93845,32.808794],[102.938684,32.808886],[102.938914,32.808975],[102.939144,32.809065],[102.939373,32.809155],[102.939603,32.809245],[102.939832,32.809335],[102.940062,32.809424],[102.940291,32.809514],[102.940521,32.809604],[102.940751,32.809694],[102.94098,32.809784],[102.941207,32.809896],[102.941434,32.810007],[102.941662,32.810119],[102.941889,32.810231],[102.942116,32.810343],[102.942343,32.810454],[102.942562,32.810599],[102.942781,32.810745],[102.943,32.81089],[102.94322,32.811035],[102.943439,32.81118],[102.943658,32.811325],[102.943877,32.81147],[102.944096,32.811616],[102.944315,32.811761],[102.944534,32.811906],[102.944753,32.812051],[102.944972,32.812196],[102.945342,32.812425],[102.945712,32.812653],[102.946081,32.812882],[102.946451,32.81311],[102.946787,32.813264],[102.947123,32.813417],[102.947425,32.813501],[102.947752,32.813556],[102.948078,32.81361],[102.94845,32.813735],[102.948798,32.813918],[102.949012,32.814078],[102.949226,32.814238],[102.94944,32.814397],[102.949654,32.814557],[102.949868,32.814716],[102.950083,32.814876],[102.950297,32.815036],[102.950511,32.815195],[102.950725,32.815355],[102.950939,32.815514],[102.951132,32.815656],[102.951325,32.815797],[102.951518,32.815939],[102.951711,32.81608],[102.951903,32.816222],[102.952096,32.816363],[102.952289,32.816505],[102.952482,32.816646],[102.952793,32.816951],[102.953105,32.817255],[102.953416,32.81756],[102.953727,32.817865],[102.954085,32.818098],[102.954444,32.818331],[102.954675,32.818433],[102.954907,32.818535],[102.955168,32.818615],[102.955428,32.818694],[102.955689,32.818773],[102.955949,32.818853],[102.95621,32.818932],[102.95647,32.819011],[102.956731,32.819091],[102.956991,32.81917],[102.957252,32.819249],[102.957512,32.819329],[102.957883,32.819499],[102.958254,32.81967],[102.958625,32.819841],[102.95889,32.820022],[102.959156,32.820204],[102.959454,32.820486],[102.959679,32.820846],[102.959756,32.821084],[102.959832,32.821323],[102.959909,32.821541],[102.959986,32.82176],[102.960082,32.822008],[102.960179,32.822256],[102.960275,32.822504],[102.960371,32.822752],[102.960467,32.823],[102.960563,32.823248],[102.96066,32.823497],[102.960756,32.823745],[102.960852,32.823993],[102.960948,32.824241],[102.96106,32.82448],[102.961171,32.824719],[102.961283,32.824958],[102.961394,32.825197],[102.961427,32.825243],[102.961621,32.825516],[102.961704,32.825577],[102.961899,32.825718],[102.96209,32.825839],[102.962282,32.825961],[102.962473,32.826083],[102.962665,32.826205],[102.962856,32.826326],[102.963048,32.826448],[102.963239,32.82657],[102.963431,32.826691],[102.963621,32.826812],[102.963622,32.826813],[102.963761,32.826901],[102.963814,32.826935],[102.964229,32.827093],[102.964644,32.827252],[102.965059,32.827411],[102.965475,32.82757],[102.96589,32.827728],[102.966084,32.827845],[102.966092,32.82785],[102.966178,32.827902],[102.966467,32.828075],[102.966742,32.828316],[102.96697,32.828636],[102.967049,32.828814],[102.967148,32.829035],[102.967178,32.829262],[102.967208,32.829489],[102.967257,32.829895],[102.967306,32.830301],[102.967318,32.830568],[102.967329,32.830834],[102.967341,32.831101],[102.967353,32.831368],[102.967336,32.831598],[102.967319,32.831829],[102.967302,32.832059],[102.967285,32.83229],[102.967262,32.832526],[102.967239,32.832762],[102.967216,32.832999],[102.967193,32.833235],[102.967174,32.833451],[102.967138,32.833853],[102.967103,32.834255],[102.967067,32.834656],[102.966978,32.834971],[102.966888,32.835285],[102.966755,32.835501],[102.966621,32.835717],[102.966476,32.835902],[102.966332,32.836087],[102.966176,32.836262],[102.966019,32.836437],[102.965863,32.836613],[102.965707,32.836788],[102.96555,32.836964],[102.965394,32.837139],[102.965099,32.837444],[102.964804,32.837749],[102.964508,32.838053],[102.964213,32.838358],[102.964213,32.838359],[102.964212,32.83836],[102.964139,32.838534],[102.964134,32.838691],[102.964223,32.838892],[102.964409,32.839183],[102.964455,32.839256],[102.964687,32.83962],[102.964919,32.839984],[102.965151,32.840348],[102.965275,32.840554],[102.965399,32.84076],[102.965524,32.840966],[102.965648,32.841173],[102.965772,32.841379],[102.965896,32.841585],[102.96602,32.841791],[102.966144,32.841997],[102.966269,32.842203],[102.966339,32.84232],[102.966393,32.842409],[102.966517,32.842615],[102.966641,32.842822],[102.966814,32.84298],[102.966987,32.843139],[102.967159,32.843298],[102.967258,32.843388],[102.967332,32.843456],[102.967505,32.843615],[102.967678,32.843774],[102.96785,32.843932],[102.968023,32.844091],[102.968196,32.84425],[102.968368,32.844409],[102.968493,32.844598],[102.968618,32.844788],[102.968721,32.844994],[102.968742,32.845037],[102.968865,32.845286],[102.968988,32.84569],[102.969112,32.846093],[102.969235,32.846497],[102.969253,32.846725],[102.969272,32.846953],[102.969287,32.847308],[102.969279,32.847664],[102.969214,32.847939],[102.969149,32.848215],[102.969008,32.848594],[102.968867,32.848974],[102.968726,32.849353],[102.968566,32.849716],[102.968406,32.850079],[102.968241,32.850253],[102.968076,32.850428],[102.967911,32.850602],[102.967746,32.850776],[102.967581,32.850951],[102.967416,32.851125],[102.967234,32.851409],[102.967051,32.851692],[102.966974,32.852007],[102.966991,32.852303],[102.967068,32.852542],[102.967144,32.85278],[102.967255,32.853058],[102.967366,32.853336],[102.967473,32.853773],[102.967488,32.854129],[102.967471,32.854386],[102.967453,32.854642],[102.967415,32.854866],[102.967377,32.85509],[102.967339,32.855314],[102.967301,32.855538],[102.967263,32.855762],[102.967225,32.855986],[102.967187,32.85621],[102.96715,32.856434],[102.967112,32.856657],[102.967074,32.856881],[102.967026,32.857276],[102.966978,32.857671],[102.966931,32.858065],[102.966936,32.858352],[102.966941,32.858639],[102.967005,32.858936],[102.967068,32.859234],[102.967168,32.859477],[102.967267,32.85972],[102.967367,32.859964],[102.967467,32.860207],[102.96757,32.860361],[102.967639,32.860462],[102.967811,32.860717],[102.968064,32.860937],[102.968435,32.861121],[102.968666,32.861254],[102.968898,32.861386],[102.969129,32.861518],[102.96936,32.861651],[102.969634,32.86195],[102.969816,32.86225],[102.969939,32.862499],[102.970063,32.862748],[102.970082,32.862793],[102.970151,32.862957],[102.970239,32.863166],[102.970326,32.863473],[102.970413,32.86378],[102.970511,32.864138],[102.970608,32.864496],[102.970876,32.864809],[102.971144,32.865121],[102.971412,32.865433],[102.97171,32.865754],[102.972007,32.866075],[102.972304,32.866396],[102.972602,32.866717],[102.972749,32.866936],[102.972896,32.867156],[102.973052,32.867494],[102.973116,32.867832],[102.973128,32.868266],[102.973118,32.868701],[102.973039,32.869085],[102.972961,32.869469],[102.972883,32.869784],[102.972806,32.870098],[102.972798,32.870493],[102.972815,32.87075],[102.972833,32.871008],[102.97285,32.871265],[102.972868,32.871522],[102.97291,32.871586],[102.973072,32.871828],[102.973396,32.871992],[102.973722,32.872076],[102.974168,32.872043],[102.974311,32.871967],[102.974696,32.871828],[102.975082,32.87169],[102.975468,32.871551],[102.975728,32.871471],[102.975988,32.871391],[102.976248,32.871312],[102.976508,32.871232],[102.976848,32.871178],[102.977188,32.871125],[102.977626,32.871118],[102.978064,32.871112],[102.978501,32.871105],[102.978774,32.87113],[102.979048,32.871154],[102.979321,32.871178],[102.979594,32.871203],[102.979867,32.871227],[102.98014,32.871251],[102.980384,32.871322],[102.980629,32.871392],[102.980873,32.871463],[102.981117,32.871533],[102.981362,32.871604],[102.981606,32.871675],[102.981851,32.871745],[102.982095,32.871816],[102.98232,32.871911],[102.982545,32.872006],[102.98277,32.872102],[102.982995,32.872197],[102.983219,32.872293],[102.983444,32.872388],[102.983669,32.872483],[102.983894,32.872579],[102.984134,32.872666],[102.984373,32.872753],[102.984447,32.872779],[102.984612,32.87284],[102.984852,32.872927],[102.985091,32.873013],[102.985331,32.8731],[102.98557,32.873187],[102.98581,32.873274],[102.986049,32.873361],[102.986289,32.873448],[102.986542,32.873649],[102.986887,32.873931],[102.986937,32.873947],[102.987283,32.874056],[102.98761,32.874101],[102.987882,32.874103],[102.988155,32.874105],[102.988427,32.874107],[102.988699,32.874108],[102.988972,32.87411],[102.989244,32.874112],[102.989516,32.874114],[102.989789,32.874116],[102.990043,32.874103],[102.990297,32.87409],[102.990321,32.874088],[102.99055,32.874077],[102.990804,32.874064],[102.991058,32.874051],[102.991312,32.874038],[102.991566,32.874025],[102.99182,32.874012],[102.992127,32.873973],[102.992231,32.873959],[102.992642,32.873906],[102.993066,32.873795],[102.99349,32.873683],[102.993711,32.873564],[102.993932,32.873445],[102.994153,32.873326],[102.994373,32.873207],[102.994594,32.873088],[102.994815,32.872969],[102.995035,32.87285],[102.995114,32.872808],[102.995256,32.872732],[102.995477,32.872613],[102.995697,32.872494],[102.995923,32.872372],[102.996068,32.872294],[102.996148,32.872251],[102.996374,32.872129],[102.996599,32.872008],[102.996825,32.871887],[102.997051,32.871765],[102.997408,32.871494],[102.997765,32.871223],[102.997893,32.870988],[102.998022,32.870753],[102.99815,32.870518],[102.998279,32.870283],[102.998492,32.869933],[102.998705,32.869583],[102.998917,32.869234],[102.99911,32.869],[102.999303,32.868765],[102.99959,32.868524],[102.999876,32.868282],[103.000272,32.868072],[103.000501,32.86791],[103.000729,32.867747],[103.000958,32.867582],[103.001187,32.867417],[103.001378,32.867279],[103.001568,32.867142],[103.001839,32.866968],[103.002172,32.866684],[103.002376,32.86655],[103.00258,32.866416],[103.002784,32.866282],[103.002988,32.866149],[103.003291,32.86587],[103.003594,32.865592],[103.003772,32.865337],[103.00395,32.865082],[103.004137,32.864759],[103.004325,32.864436],[103.004512,32.864113],[103.004619,32.863897],[103.004726,32.863681],[103.004833,32.863465],[103.00494,32.863248],[103.005047,32.863032],[103.005154,32.862816],[103.005304,32.862399],[103.005453,32.861982],[103.005603,32.861564],[103.005765,32.861214],[103.005926,32.860864],[103.006087,32.860514],[103.006192,32.860293],[103.006297,32.860073],[103.006402,32.859853],[103.006508,32.859632],[103.006667,32.859393],[103.006784,32.859314],[103.006879,32.859315],[103.006994,32.859333],[103.007068,32.859431],[103.007121,32.859593],[103.007114,32.859948],[103.007094,32.860392],[103.007075,32.860835],[103.00704,32.861099],[103.007005,32.861363],[103.006971,32.861628],[103.006936,32.861892],[103.006907,32.862328],[103.006911,32.862578],[103.006914,32.862828],[103.006981,32.863083],[103.007047,32.863339],[103.007114,32.863594],[103.00718,32.863849],[103.007242,32.864073],[103.007304,32.864297],[103.007366,32.864522],[103.007428,32.864746],[103.00749,32.86497],[103.007552,32.865194],[103.007709,32.865579],[103.007866,32.865963],[103.008023,32.866347],[103.008144,32.866606],[103.008206,32.86674],[103.008389,32.867133],[103.008573,32.867526],[103.008751,32.867907],[103.008756,32.867919],[103.008856,32.868149],[103.008956,32.868379],[103.009057,32.868608],[103.009157,32.868838],[103.009257,32.869068],[103.009357,32.869297],[103.009366,32.869317],[103.009398,32.869391],[103.009457,32.869527],[103.009557,32.869757],[103.009686,32.869992],[103.009815,32.870228],[103.009945,32.870464],[103.010074,32.870699],[103.010203,32.870935],[103.010332,32.87117],[103.010461,32.871406],[103.01059,32.871642],[103.0107,32.871885],[103.010809,32.872129],[103.010919,32.872373],[103.011028,32.872616],[103.011138,32.87286],[103.011247,32.873104],[103.011357,32.873348],[103.011466,32.873591],[103.011641,32.873973],[103.011815,32.874355],[103.01199,32.874736],[103.012164,32.875118],[103.012317,32.875452],[103.01247,32.875787],[103.012588,32.876002],[103.012705,32.876217],[103.012759,32.876315],[103.012823,32.876432],[103.012941,32.876647],[103.013017,32.876786],[103.013058,32.876862],[103.013176,32.877077],[103.013294,32.877293],[103.013412,32.877508],[103.01362,32.877893],[103.013828,32.878278],[103.014036,32.878663],[103.014156,32.879042],[103.014275,32.87942],[103.014395,32.879799],[103.014504,32.880023],[103.014614,32.880248],[103.014763,32.880482],[103.014841,32.880603],[103.015068,32.880957],[103.015294,32.881312],[103.015298,32.881318],[103.015521,32.881667],[103.015631,32.881911],[103.015758,32.882187],[103.01581,32.882462],[103.015843,32.882688],[103.015876,32.882915],[103.015885,32.883157],[103.015894,32.883399],[103.015903,32.883641],[103.015912,32.883884],[103.015921,32.884143],[103.01593,32.884403],[103.015939,32.884662],[103.015948,32.884922],[103.015958,32.885182],[103.015967,32.885441],[103.015976,32.885701],[103.015985,32.88596],[103.016026,32.886407],[103.016067,32.886854],[103.016108,32.887301],[103.01616,32.887552],[103.016211,32.887803],[103.016262,32.888135],[103.016313,32.888466],[103.016445,32.888816],[103.016577,32.889167],[103.016709,32.889517],[103.016917,32.889866],[103.016932,32.889892],[103.017099,32.890121],[103.017287,32.89027],[103.017514,32.890353],[103.017887,32.89051],[103.018261,32.890666],[103.018634,32.890822],[103.018889,32.890972],[103.019028,32.891053],[103.019144,32.891121],[103.019388,32.891352],[103.019594,32.891596],[103.019779,32.89189],[103.01989,32.892102],[103.02,32.892313],[103.020134,32.892727],[103.020268,32.893141],[103.020389,32.893528],[103.020509,32.893916],[103.02063,32.894304],[103.020731,32.894508],[103.020832,32.894711],[103.020979,32.894955],[103.021298,32.895267],[103.021582,32.895434],[103.021824,32.89553],[103.022066,32.895627],[103.022308,32.895723],[103.022549,32.89582],[103.02278,32.895911],[103.022825,32.895929],[103.023058,32.896022],[103.0231,32.896039],[103.02327,32.896185],[103.02338,32.896382],[103.023433,32.896591],[103.023428,32.896785],[103.023404,32.897043],[103.023358,32.897366],[103.02333,32.897736],[103.023324,32.898026],[103.023384,32.898201],[103.023571,32.898413],[103.023835,32.89858],[103.024138,32.898714],[103.024482,32.898768],[103.024703,32.898805],[103.024925,32.898843],[103.025147,32.898881],[103.025369,32.898919],[103.025591,32.898956],[103.025812,32.898994],[103.026034,32.899032],[103.026256,32.89907],[103.02657,32.899139],[103.026885,32.899209],[103.027069,32.89928],[103.027122,32.899301],[103.027359,32.899393],[103.027496,32.899464],[103.027681,32.89956],[103.028002,32.899727],[103.028267,32.8999],[103.028532,32.900073],[103.028737,32.900302],[103.028943,32.900532],[103.029087,32.900716],[103.029232,32.9009],[103.029376,32.901084],[103.029521,32.901268],[103.029737,32.901605],[103.029953,32.901942],[103.030168,32.902279],[103.030447,32.902539],[103.030725,32.902799],[103.031004,32.903059],[103.031279,32.903414],[103.031553,32.90377],[103.031828,32.904125],[103.032103,32.904481],[103.032388,32.904778],[103.032396,32.904786],[103.03252,32.904916],[103.032541,32.904938],[103.032689,32.905092],[103.032766,32.905172],[103.032918,32.905331],[103.032983,32.905398],[103.033003,32.905416],[103.033007,32.90542],[103.033183,32.905578],[103.033383,32.905759],[103.033583,32.90594],[103.033783,32.90612],[103.033984,32.906301],[103.034184,32.906482],[103.034276,32.90655],[103.034337,32.906596],[103.034492,32.906713],[103.034514,32.906729],[103.034845,32.906976],[103.035148,32.907236],[103.035286,32.907354],[103.035451,32.907496],[103.035641,32.907662],[103.035695,32.90771],[103.035721,32.907732],[103.035739,32.907748],[103.035761,32.907767],[103.03594,32.907923],[103.036167,32.908057],[103.036409,32.908088],[103.036434,32.908091],[103.036454,32.908094],[103.036787,32.908128],[103.036816,32.90813],[103.03683,32.908129],[103.03722,32.90808],[103.037623,32.90803],[103.038057,32.907916],[103.03849,32.907802],[103.038923,32.907688],[103.039357,32.907574],[103.039599,32.907465],[103.039841,32.907355],[103.039904,32.907216],[103.040001,32.907003],[103.040023,32.906809],[103.040032,32.906756],[103.040069,32.906536],[103.040094,32.9063],[103.040118,32.906064],[103.040143,32.905828],[103.040167,32.905593],[103.040211,32.905335],[103.040255,32.905078],[103.040376,32.904822],[103.040562,32.904491],[103.040749,32.90416],[103.040935,32.90383],[103.041054,32.903635],[103.041173,32.903441],[103.041273,32.903276],[103.041292,32.903246],[103.041298,32.903235],[103.041411,32.903052],[103.04153,32.902857],[103.041564,32.902801],[103.041595,32.902751],[103.041649,32.902662],[103.041792,32.902434],[103.041935,32.902206],[103.042079,32.901978],[103.042222,32.90175],[103.042366,32.901522],[103.042462,32.901368],[103.042509,32.901294],[103.042612,32.901169],[103.042661,32.901111],[103.042765,32.900985],[103.042812,32.900927],[103.042964,32.900744],[103.043115,32.900561],[103.043267,32.900378],[103.043303,32.900334],[103.043418,32.900195],[103.043543,32.900043],[103.04357,32.900011],[103.043721,32.899828],[103.043873,32.899645],[103.044024,32.899462],[103.044177,32.899296],[103.044329,32.899129],[103.044482,32.898963],[103.044634,32.898797],[103.044701,32.898725],[103.044787,32.898631],[103.044939,32.898465],[103.045092,32.898299],[103.045244,32.898132],[103.045406,32.89796],[103.045568,32.897788],[103.04573,32.897616],[103.045892,32.897444],[103.046054,32.897271],[103.046215,32.897099],[103.046377,32.896927],[103.046539,32.896755],[103.046701,32.896582],[103.046863,32.89641],[103.047025,32.896238],[103.047186,32.896066],[103.047373,32.895892],[103.047443,32.895826],[103.047559,32.895718],[103.047745,32.895544],[103.047932,32.89537],[103.047965,32.89534],[103.048118,32.895196],[103.048276,32.895049],[103.048304,32.895022],[103.048491,32.894849],[103.048677,32.894675],[103.048699,32.894653],[103.04884,32.894513],[103.048848,32.894504],[103.049002,32.89435],[103.049165,32.894188],[103.049327,32.894026],[103.04949,32.893864],[103.049559,32.893795],[103.049652,32.893702],[103.049815,32.89354],[103.049977,32.893378],[103.05014,32.893216],[103.050303,32.893053],[103.050574,32.892881],[103.050604,32.892874],[103.050844,32.892821],[103.05119,32.89281],[103.05155,32.892928],[103.051792,32.893033],[103.051879,32.89307],[103.052034,32.893137],[103.052275,32.893242],[103.052517,32.893346],[103.052763,32.893495],[103.053009,32.893644],[103.053309,32.893964],[103.053609,32.894283],[103.053898,32.894619],[103.054187,32.894955],[103.05446,32.8952],[103.054732,32.895446],[103.055009,32.895609],[103.055053,32.895635],[103.055054,32.895635],[103.055057,32.895636],[103.055287,32.895771],[103.055544,32.895896],[103.0558,32.896021],[103.056219,32.896109],[103.056545,32.896097],[103.056618,32.896074],[103.056833,32.896005],[103.056911,32.895966],[103.05722,32.89581],[103.0573,32.89577],[103.057513,32.895662],[103.057608,32.895614],[103.057995,32.895418],[103.058382,32.895222],[103.058627,32.895128],[103.058872,32.895034],[103.059118,32.89494],[103.059363,32.894846],[103.059608,32.894752],[103.059685,32.894723],[103.059853,32.894658],[103.060099,32.894564],[103.060344,32.89447],[103.060584,32.894397],[103.060825,32.894324],[103.061065,32.894251],[103.061305,32.894178],[103.061747,32.89417],[103.062186,32.894208],[103.062439,32.894245],[103.062692,32.894281],[103.062945,32.894317],[103.063198,32.894354],[103.063443,32.894418],[103.063688,32.894481],[103.0641,32.894589],[103.064511,32.894696],[103.064796,32.89483],[103.065081,32.894964],[103.065288,32.895144],[103.065494,32.895325],[103.065701,32.895506],[103.065907,32.895686],[103.065943,32.895717],[103.066114,32.895867],[103.066321,32.896048],[103.066505,32.896254],[103.06669,32.89646],[103.066875,32.896666],[103.06706,32.896873],[103.067257,32.897037],[103.067454,32.897202],[103.067651,32.897367],[103.067849,32.897531],[103.068037,32.897704],[103.068224,32.897876],[103.068412,32.898048],[103.0686,32.898221],[103.068788,32.898393],[103.068976,32.898566],[103.069249,32.89878],[103.069523,32.898994],[103.069594,32.899032],[103.069741,32.89911],[103.069958,32.899227],[103.070176,32.899343],[103.070394,32.89946],[103.070643,32.899546],[103.070892,32.899632],[103.071141,32.899718],[103.07139,32.899804],[103.071639,32.89989],[103.071888,32.899976],[103.072137,32.900062],[103.072386,32.900148],[103.072635,32.900234],[103.072884,32.90032],[103.07312,32.900391],[103.073355,32.900462],[103.073464,32.900495],[103.073591,32.900533],[103.073826,32.900604],[103.074062,32.900675],[103.074298,32.900746],[103.074533,32.900817],[103.074769,32.900888],[103.075005,32.900959],[103.07524,32.90103],[103.075476,32.901101],[103.075711,32.901172],[103.075947,32.901243],[103.076183,32.901314],[103.076429,32.901423],[103.076676,32.901531],[103.076923,32.90164],[103.07717,32.901749],[103.077483,32.901916],[103.077795,32.902083],[103.07798,32.902231],[103.078165,32.902379],[103.07835,32.902527],[103.078535,32.902675],[103.078721,32.902823],[103.078906,32.902971],[103.079083,32.903175],[103.079261,32.90338],[103.079568,32.90369],[103.079875,32.904],[103.080182,32.90431],[103.080489,32.90462],[103.080697,32.904744],[103.080905,32.904868],[103.081211,32.904954],[103.081535,32.904975],[103.081842,32.904914],[103.082132,32.90479],[103.082483,32.904521],[103.082493,32.904506],[103.082621,32.904314],[103.082704,32.90404],[103.082824,32.903783],[103.083004,32.903464],[103.083259,32.90321],[103.083531,32.902972],[103.083685,32.90291],[103.08384,32.902848],[103.084166,32.902853],[103.084479,32.902963],[103.084793,32.903072],[103.084926,32.90313],[103.085033,32.903176],[103.08506,32.903188],[103.085272,32.903281],[103.085335,32.903308],[103.085512,32.903385],[103.085752,32.90349],[103.085992,32.903594],[103.086231,32.903699],[103.086471,32.903803],[103.086711,32.903907],[103.086878,32.904104],[103.086967,32.904262],[103.087044,32.904398],[103.087179,32.904803],[103.087315,32.905209],[103.087377,32.905413],[103.087414,32.905533],[103.087513,32.905857],[103.087634,32.906083],[103.087755,32.906309],[103.087876,32.906536],[103.087998,32.906762],[103.088119,32.906988],[103.08824,32.907214],[103.088383,32.907426],[103.088525,32.907638],[103.088667,32.90785],[103.08881,32.908063],[103.088952,32.908275],[103.089095,32.908487],[103.089365,32.908809],[103.089636,32.909131],[103.089907,32.909454],[103.090177,32.909776],[103.090446,32.910076],[103.090714,32.910376],[103.090983,32.910677],[103.091161,32.910848],[103.09134,32.911019],[103.091519,32.911191],[103.091698,32.911362],[103.091981,32.911496],[103.092285,32.91163],[103.092542,32.911721],[103.092799,32.911812],[103.093055,32.911903],[103.093312,32.911994],[103.093568,32.912085],[103.093825,32.912176],[103.094082,32.912267],[103.094338,32.912358],[103.094429,32.91239],[103.094595,32.912449],[103.094851,32.91254],[103.09502,32.912597],[103.095086,32.912619],[103.09532,32.912698],[103.095555,32.912777],[103.09579,32.912856],[103.096024,32.912935],[103.096259,32.913014],[103.096602,32.913067],[103.096794,32.913038],[103.096882,32.912988],[103.096989,32.912928],[103.097145,32.912769],[103.097175,32.912726],[103.097276,32.912585],[103.097408,32.912402],[103.097539,32.912218],[103.097671,32.912034],[103.097803,32.911851],[103.097934,32.911667],[103.09809,32.911438],[103.098246,32.911209],[103.098403,32.91098],[103.098559,32.910751],[103.098679,32.910503],[103.0988,32.910255],[103.098876,32.909812],[103.098952,32.90937],[103.09903,32.909153],[103.099108,32.908937],[103.099186,32.90872],[103.099264,32.908503],[103.099342,32.908287],[103.09942,32.90807],[103.09964,32.907679],[103.09986,32.907288],[103.10008,32.906897],[103.1003,32.906506],[103.100435,32.906286],[103.100569,32.906065],[103.100704,32.905844],[103.100839,32.905624],[103.100974,32.905403],[103.101109,32.905182],[103.101244,32.904962],[103.101378,32.904741],[103.101513,32.90452],[103.101648,32.9043],[103.101867,32.903977],[103.102085,32.903653],[103.102304,32.90333],[103.102434,32.90309],[103.102563,32.90285],[103.102626,32.902601],[103.102688,32.902352],[103.102773,32.902006],[103.102857,32.90166],[103.102904,32.901241],[103.102952,32.900822],[103.103139,32.900435],[103.103326,32.900048],[103.103513,32.899661],[103.103723,32.899273],[103.103932,32.898885],[103.104142,32.898497],[103.104351,32.898109],[103.104508,32.897933],[103.104664,32.897758],[103.104821,32.897583],[103.104977,32.897407],[103.105281,32.897121],[103.105585,32.896836],[103.105815,32.896712],[103.105824,32.896707],[103.106063,32.896579],[103.106302,32.896451],[103.106448,32.896373],[103.106541,32.896323],[103.10685,32.896199],[103.107159,32.896075],[103.107419,32.896039],[103.107679,32.896003],[103.108083,32.895912],[103.108486,32.895821],[103.108686,32.895767],[103.108852,32.895721],[103.109218,32.895622],[103.109422,32.895512],[103.109626,32.895402],[103.109867,32.895192],[103.109908,32.895156],[103.11019,32.89491],[103.110364,32.894762],[103.110537,32.894613],[103.110711,32.894464],[103.110884,32.894316],[103.111057,32.894167],[103.111231,32.894019],[103.111404,32.89387],[103.111578,32.893721],[103.111769,32.893535],[103.11196,32.893349],[103.112152,32.893163],[103.112343,32.892977],[103.112535,32.892791],[103.112726,32.892606],[103.112917,32.89242],[103.113109,32.892234],[103.113313,32.89208],[103.113517,32.891927],[103.113722,32.891773],[103.113926,32.89162],[103.11413,32.891467],[103.114335,32.891313],[103.114539,32.89116],[103.114743,32.891006],[103.114948,32.890853],[103.115152,32.8907],[103.115325,32.890555],[103.115497,32.89041],[103.11567,32.890266],[103.115843,32.890121],[103.116016,32.889976],[103.116189,32.889832],[103.116361,32.889687],[103.116534,32.889542],[103.116755,32.88941],[103.116769,32.889402],[103.117003,32.889263],[103.117237,32.889123],[103.117472,32.888983],[103.11783,32.888779],[103.118189,32.888575],[103.11839,32.888452],[103.11859,32.888328],[103.118791,32.888205],[103.118991,32.888081],[103.119192,32.887958],[103.119393,32.887834],[103.119486,32.887731],[103.119637,32.887564],[103.119882,32.887293],[103.119947,32.887222],[103.120002,32.887195],[103.120189,32.887105],[103.120226,32.887086],[103.12043,32.886987],[103.12078,32.886775],[103.121129,32.886562],[103.121275,32.886424],[103.121431,32.886276],[103.121733,32.88599],[103.121962,32.885639],[103.12199,32.885595],[103.12219,32.885287],[103.1223,32.885063],[103.122306,32.885051],[103.12241,32.884838],[103.122546,32.884469],[103.122681,32.8841],[103.122817,32.883731],[103.122832,32.883478],[103.122847,32.883226],[103.122862,32.882973],[103.122877,32.882721],[103.122882,32.882472],[103.122885,32.882312],[103.122894,32.881904],[103.122897,32.881761],[103.122902,32.881495],[103.122883,32.881413],[103.122851,32.88127],[103.12284,32.881224],[103.122809,32.881085],[103.122715,32.880676],[103.122622,32.880266],[103.122555,32.880068],[103.122495,32.879892],[103.12245,32.879756],[103.122369,32.879519],[103.122317,32.879364],[103.122243,32.879145],[103.122121,32.878929],[103.121998,32.878713],[103.121803,32.87846],[103.121607,32.878207],[103.121483,32.877991],[103.121358,32.877775],[103.121234,32.877559],[103.121109,32.877344],[103.120981,32.877027],[103.120853,32.876709],[103.12083,32.876484],[103.120806,32.876259],[103.120819,32.876012],[103.120824,32.87592],[103.120834,32.87572],[103.120841,32.875582],[103.120883,32.87535],[103.120925,32.875117],[103.120965,32.874895],[103.121005,32.874673],[103.121045,32.87445],[103.121085,32.874228],[103.121125,32.874006],[103.121165,32.873784],[103.121316,32.873415],[103.121467,32.873047],[103.121685,32.87271],[103.121911,32.872415],[103.122137,32.87212],[103.12236,32.872035],[103.12242,32.872012],[103.122582,32.87195],[103.122843,32.87184],[103.123104,32.871731],[103.123382,32.871712],[103.12366,32.871692],[103.124081,32.871633],[103.124199,32.871555],[103.12424,32.871377],[103.124254,32.871349],[103.124402,32.871044],[103.124564,32.870711],[103.124698,32.870503],[103.124831,32.870295],[103.124965,32.870087],[103.125099,32.869879],[103.12531,32.869522],[103.125521,32.869165],[103.125733,32.868808],[103.125913,32.868614],[103.126094,32.86842],[103.126187,32.868366],[103.12641,32.868239],[103.126424,32.868231],[103.126655,32.868122],[103.126736,32.868102],[103.12704,32.868031],[103.127285,32.867982],[103.12753,32.867933],[103.127776,32.867884],[103.128021,32.867835],[103.128266,32.867786],[103.128511,32.867737],[103.128608,32.867718],[103.128757,32.867689],[103.129002,32.86764],[103.129234,32.867593],[103.129466,32.867547],[103.129699,32.867501],[103.129931,32.867455],[103.130163,32.867408],[103.130395,32.867362],[103.130628,32.867316],[103.13086,32.867269],[103.131092,32.867223],[103.131151,32.867211],[103.131182,32.867205],[103.131324,32.867177],[103.131556,32.867131],[103.131789,32.867084],[103.132057,32.867072],[103.132325,32.86706],[103.132594,32.867048],[103.132862,32.867036],[103.13313,32.867023],[103.133399,32.867011],[103.13357,32.86702],[103.133817,32.867033],[103.133862,32.867036],[103.134236,32.867055],[103.134655,32.867078],[103.135073,32.8671],[103.1353,32.867089],[103.135528,32.867078],[103.135755,32.867067],[103.135983,32.867057],[103.13621,32.867046],[103.136438,32.867035],[103.136665,32.867024],[103.136892,32.867014],[103.137122,32.867019],[103.137352,32.867025],[103.137581,32.86703],[103.137811,32.867036],[103.137887,32.867037],[103.138041,32.867041],[103.13827,32.867047],[103.1385,32.867052],[103.13873,32.867057],[103.139027,32.867038],[103.139324,32.867018],[103.139655,32.866971],[103.139737,32.866959],[103.140151,32.8669],[103.140377,32.866835],[103.140603,32.86677],[103.140829,32.866705],[103.141055,32.86664],[103.141293,32.866571],[103.14153,32.866502],[103.141767,32.866432],[103.142005,32.866363],[103.142242,32.866293],[103.142479,32.866224],[103.142717,32.866154],[103.142954,32.866085],[103.14318,32.866028],[103.143407,32.86597],[103.143633,32.865913],[103.143859,32.865856],[103.144225,32.865796],[103.14459,32.865737],[103.14483,32.865676],[103.145001,32.865633],[103.145001,32.865633],[103.14507,32.865615],[103.145311,32.865554],[103.145551,32.865493],[103.145722,32.865437],[103.145956,32.865359],[103.146361,32.865225],[103.146766,32.865092],[103.147004,32.864954],[103.147241,32.864816],[103.147478,32.864679],[103.147716,32.864541],[103.147953,32.864403],[103.148191,32.864266],[103.148428,32.864128],[103.148665,32.86399],[103.148982,32.863863],[103.148993,32.863858],[103.149321,32.863726],[103.149552,32.863713],[103.149934,32.863751],[103.1503,32.863893],[103.150666,32.864034],[103.150895,32.864069],[103.151105,32.864056],[103.151318,32.864018],[103.151355,32.864012],[103.15152,32.863972],[103.151701,32.863928],[103.152047,32.863844],[103.152298,32.863727],[103.15255,32.863609],[103.152801,32.863492],[103.153052,32.863375],[103.153304,32.863258],[103.153555,32.863141],[103.153806,32.863024],[103.154058,32.862906],[103.154309,32.862789],[103.15456,32.862672],[103.154925,32.862544],[103.154936,32.86254],[103.155312,32.862408],[103.155639,32.862332],[103.156063,32.86229],[103.156326,32.862286],[103.156589,32.862282],[103.156853,32.862278],[103.157116,32.862273],[103.157187,32.862274],[103.157342,32.862274],[103.157568,32.862275],[103.157794,32.862275],[103.157998,32.862276],[103.15802,32.862276],[103.158246,32.862277],[103.158472,32.862278],[103.158699,32.862278],[103.158925,32.862279],[103.159308,32.862244],[103.159691,32.86221],[103.159937,32.86217],[103.160184,32.862131],[103.16043,32.862092],[103.160677,32.862052],[103.160923,32.862013],[103.161169,32.861973],[103.161554,32.861906],[103.161939,32.861839],[103.1622,32.861722],[103.162461,32.861605],[103.162733,32.861362],[103.16274,32.861356],[103.162756,32.861341],[103.162837,32.861165],[103.162861,32.860939],[103.162862,32.860907],[103.162864,32.860783],[103.162867,32.860617],[103.162797,32.860309],[103.162652,32.859952],[103.162449,32.859553],[103.162247,32.859155],[103.162101,32.85883],[103.162012,32.85849],[103.16198,32.858215],[103.161948,32.85794],[103.161924,32.857714],[103.161899,32.857488],[103.161875,32.857262],[103.161851,32.857035],[103.161826,32.856809],[103.161802,32.856583],[103.161809,32.856182],[103.161815,32.855781],[103.161844,32.855552],[103.161873,32.855322],[103.161902,32.855093],[103.16193,32.854863],[103.161959,32.854634],[103.161988,32.854404],[103.162017,32.854175],[103.162045,32.853945],[103.162069,32.853519],[103.162092,32.853094],[103.162115,32.852668],[103.162139,32.852242],[103.162157,32.851823],[103.162175,32.851403],[103.162193,32.850984],[103.162212,32.850564],[103.162278,32.850126],[103.162345,32.849689],[103.162411,32.849251],[103.162466,32.849023],[103.162521,32.848796],[103.162576,32.848569],[103.162631,32.848342],[103.162686,32.848115],[103.162741,32.847888],[103.162791,32.84768],[103.162795,32.847661],[103.16285,32.847433],[103.162928,32.847037],[103.162932,32.84702],[103.163007,32.84664],[103.163085,32.846243],[103.163167,32.846032],[103.163249,32.845821],[103.16333,32.84561],[103.163412,32.845399],[103.163678,32.845072],[103.163943,32.844745],[103.164138,32.844575],[103.164333,32.844404],[103.164528,32.844233],[103.164722,32.844063],[103.164992,32.843891],[103.165033,32.843866],[103.165343,32.843668],[103.16559,32.843567],[103.165836,32.843465],[103.166083,32.843364],[103.166329,32.843263],[103.16656,32.84321],[103.16679,32.843157],[103.167021,32.843104],[103.167251,32.843051],[103.167482,32.842998],[103.167713,32.842944],[103.168098,32.842885],[103.168337,32.842897],[103.168576,32.842908],[103.168851,32.842969],[103.169054,32.843013],[103.169087,32.843021],[103.169127,32.843029],[103.169491,32.843068],[103.169758,32.843063],[103.17002,32.843059],[103.170026,32.843059],[103.170257,32.842959],[103.170303,32.84294],[103.170579,32.84282],[103.170794,32.842599],[103.170872,32.842518],[103.170992,32.842293],[103.171112,32.842069],[103.17131,32.841733],[103.171508,32.841397],[103.171657,32.841001],[103.171805,32.840605],[103.171954,32.840209],[103.172074,32.83997],[103.172195,32.839732],[103.172315,32.839493],[103.172436,32.839255],[103.172652,32.838951],[103.172963,32.838714],[103.173071,32.838648],[103.173195,32.838572],[103.173618,32.838465],[103.174021,32.838471],[103.174256,32.838517],[103.17449,32.838564],[103.174725,32.83861],[103.17496,32.838657],[103.175194,32.838703],[103.175429,32.83875],[103.175667,32.83884],[103.175904,32.83893],[103.176142,32.83902],[103.17638,32.839111],[103.176617,32.839201],[103.176855,32.839291],[103.177092,32.839381],[103.17733,32.839471],[103.177524,32.839587],[103.177718,32.839703],[103.177911,32.839819],[103.178105,32.839935],[103.178247,32.840042],[103.178287,32.840072],[103.178387,32.840148],[103.178669,32.840362],[103.17903,32.840545],[103.1793,32.840629],[103.179337,32.84064],[103.179439,32.840672],[103.179849,32.840798],[103.180189,32.840846],[103.18053,32.840894],[103.180931,32.8409],[103.181211,32.840799],[103.18149,32.840698],[103.181857,32.840494],[103.181977,32.840354],[103.182014,32.84031],[103.182172,32.840127],[103.182349,32.83988],[103.182527,32.839632],[103.182684,32.839457],[103.18284,32.839282],[103.182997,32.839107],[103.183153,32.838931],[103.183494,32.838729],[103.183512,32.838719],[103.18387,32.838506],[103.184112,32.838401],[103.184354,32.838295],[103.184596,32.83819],[103.184838,32.838084],[103.18508,32.837979],[103.185322,32.837873],[103.185564,32.837768],[103.185807,32.837662],[103.186049,32.837557],[103.186291,32.837451],[103.18653,32.837336],[103.18677,32.837222],[103.18701,32.837107],[103.18725,32.836993],[103.187489,32.836878],[103.187729,32.836764],[103.187969,32.836649],[103.188208,32.836535],[103.188448,32.83642],[103.188688,32.836306],[103.188917,32.836196],[103.189145,32.836087],[103.189374,32.835978],[103.189603,32.835868],[103.189831,32.835759],[103.19006,32.83565],[103.190446,32.835482],[103.190832,32.835314],[103.191218,32.835147],[103.191604,32.834979],[103.192008,32.834871],[103.192412,32.834764],[103.192817,32.834657],[103.193221,32.83455],[103.193463,32.834502],[103.193705,32.834454],[103.193947,32.834407],[103.194189,32.834359],[103.194536,32.834189],[103.194867,32.833927],[103.194878,32.833919],[103.195198,32.833666],[103.195295,32.833537],[103.195533,32.833313],[103.195771,32.833089],[103.196009,32.832865],[103.196178,32.832611],[103.196346,32.832358],[103.196526,32.832028],[103.196568,32.83195],[103.196706,32.831697],[103.196885,32.831367],[103.197065,32.831037],[103.197182,32.830782],[103.197287,32.830497],[103.197365,32.830282],[103.197391,32.830212],[103.197467,32.830005],[103.197496,32.829928],[103.197573,32.829607],[103.19765,32.829286],[103.197727,32.828965],[103.197749,32.828835],[103.197829,32.828571],[103.197894,32.828356],[103.19796,32.82814],[103.198043,32.827921],[103.198049,32.827908],[103.198096,32.827803],[103.198178,32.827657],[103.198416,32.827419],[103.198681,32.827316],[103.198945,32.827212],[103.199241,32.827116],[103.199537,32.827019],[103.199737,32.826998],[103.199994,32.827055],[103.200251,32.827112],[103.200529,32.827184],[103.200808,32.827255],[103.200921,32.827251],[103.201029,32.827248],[103.201429,32.827155],[103.201494,32.827135],[103.2019,32.827012],[103.202092,32.826991],[103.202127,32.826987],[103.202353,32.826961],[103.202771,32.826899],[103.202871,32.826884],[103.203162,32.82683],[103.203388,32.826699],[103.203638,32.826527],[103.203811,32.826339],[103.203983,32.826152],[103.20416,32.825835],[103.204337,32.825518],[103.204369,32.825468],[103.204475,32.8253],[103.204614,32.825081],[103.204762,32.824737],[103.20491,32.824394],[103.20513,32.824015],[103.205212,32.823969],[103.20534,32.823927],[103.205725,32.823883],[103.206164,32.823907],[103.206469,32.823958],[103.206707,32.82401],[103.206944,32.824063],[103.207147,32.824133],[103.207287,32.824181],[103.207629,32.824299],[103.207968,32.824513],[103.208289,32.824775],[103.208569,32.825118],[103.20869,32.825314],[103.20881,32.82551],[103.208864,32.825728],[103.208917,32.825947],[103.208946,32.826382],[103.208938,32.826762],[103.208931,32.827141],[103.208934,32.827566],[103.208937,32.827991],[103.208987,32.828346],[103.209096,32.828573],[103.20932,32.828852],[103.209613,32.829066],[103.209906,32.82928],[103.210091,32.829412],[103.210277,32.829543],[103.210462,32.829675],[103.210648,32.829807],[103.210833,32.829939],[103.211019,32.830071],[103.211243,32.830195],[103.211468,32.830319],[103.211693,32.830443],[103.211918,32.830567],[103.212142,32.830691],[103.212367,32.830815],[103.212592,32.83094],[103.212817,32.831064],[103.213161,32.831234],[103.213506,32.831403],[103.213851,32.831573],[103.21427,32.831692],[103.214391,32.831702],[103.214708,32.831731],[103.214957,32.831742],[103.215206,32.831754],[103.215474,32.831756],[103.215742,32.831757],[103.21601,32.831759],[103.216278,32.831761],[103.216546,32.831762],[103.216814,32.831764],[103.217082,32.831766],[103.21735,32.831767],[103.21779,32.831779],[103.21823,32.831791],[103.218502,32.831799],[103.218669,32.831803],[103.218898,32.831838],[103.219126,32.831874],[103.219506,32.832025],[103.219754,32.832189],[103.219932,32.832353],[103.22011,32.832518],[103.220412,32.832828],[103.220715,32.833139],[103.221017,32.833449],[103.221258,32.833696],[103.221499,32.833943],[103.221653,32.834107],[103.221808,32.834272],[103.221963,32.834436],[103.222117,32.8346],[103.222272,32.834765],[103.222426,32.834929],[103.222581,32.835093],[103.222736,32.835258],[103.22289,32.835422],[103.223045,32.835586],[103.223355,32.835888],[103.223664,32.83619],[103.223823,32.836419],[103.223981,32.836648],[103.224167,32.836933],[103.224352,32.837218],[103.224517,32.837422],[103.224682,32.837626],[103.224847,32.83783],[103.225012,32.838034],[103.225177,32.838238],[103.225342,32.838442],[103.225483,32.838664],[103.225625,32.838887],[103.225766,32.83911],[103.225908,32.839333],[103.226049,32.839555],[103.226191,32.839778],[103.226332,32.840001],[103.226474,32.840224],[103.226615,32.840447],[103.226757,32.840669],[103.22682,32.840888],[103.226882,32.841107],[103.226945,32.841325],[103.227008,32.841544],[103.227087,32.841884],[103.227166,32.842224],[103.227219,32.842467],[103.227272,32.84271],[103.227373,32.843103],[103.227474,32.843495],[103.227575,32.843888],[103.227702,32.844261],[103.227828,32.844634],[103.228032,32.844943],[103.228237,32.845221],[103.228415,32.845426],[103.228593,32.84563],[103.228853,32.84594],[103.229021,32.846217],[103.229189,32.846493],[103.229437,32.846868],[103.229684,32.847243],[103.229932,32.847618],[103.23006,32.847902],[103.230187,32.848186],[103.230302,32.8486],[103.230416,32.849015],[103.23053,32.849429],[103.230602,32.849689],[103.230673,32.849948],[103.230745,32.850207],[103.230816,32.850466],[103.230944,32.850775],[103.231169,32.850988],[103.231416,32.851119],[103.231757,32.851222],[103.232141,32.851243],[103.232428,32.851248],[103.232715,32.851253],[103.232945,32.851207],[103.233176,32.851161],[103.233579,32.851102],[103.233982,32.851044],[103.234211,32.851079],[103.23444,32.851115],[103.234697,32.851183],[103.234954,32.851251],[103.235239,32.851368],[103.235524,32.851485],[103.235921,32.851634],[103.236318,32.851782],[103.236715,32.851931],[103.237113,32.852079],[103.237532,32.852182],[103.23777,32.852234],[103.238009,32.852286],[103.238247,32.852338],[103.238485,32.85239],[103.238731,32.852404],[103.238976,32.852418],[103.239221,32.852432],[103.239467,32.852446],[103.239712,32.85246],[103.239957,32.852474],[103.240202,32.852482],[103.240447,32.852491],[103.240692,32.852499],[103.240937,32.852507],[103.241182,32.852515],[103.241426,32.852524],[103.241671,32.852532],[103.241916,32.85254],[103.242161,32.852549],[103.242406,32.852557],[103.242664,32.852581],[103.242922,32.852605],[103.243179,32.852628],[103.243437,32.852652],[103.243695,32.852676],[103.243953,32.8527],[103.244211,32.852724],[103.244469,32.852747],[103.244828,32.852827],[103.245187,32.852906],[103.24553,32.852992],[103.245873,32.853077],[103.245913,32.853095],[103.245991,32.853129],[103.246216,32.853228],[103.246574,32.853442],[103.24679,32.853542],[103.247006,32.853642],[103.247221,32.853742],[103.247437,32.853842],[103.247653,32.853942],[103.247869,32.854041],[103.248084,32.854141],[103.2483,32.854241],[103.248306,32.854244],[103.2487,32.854408],[103.249027,32.85445],[103.249119,32.854462],[103.249339,32.854465],[103.249371,32.854466],[103.249552,32.854468],[103.249623,32.854469],[103.249875,32.854473],[103.250127,32.854476],[103.250379,32.85448],[103.250631,32.854484],[103.25091,32.854454],[103.251188,32.854424],[103.251578,32.854382],[103.251968,32.85434],[103.252358,32.854298],[103.252799,32.854229],[103.253241,32.854159],[103.253683,32.85409],[103.253934,32.854041],[103.254184,32.853992],[103.254435,32.853943],[103.254686,32.853894],[103.254937,32.853845],[103.255188,32.853796],[103.255439,32.853747],[103.25569,32.853698],[103.255941,32.853649],[103.256191,32.8536],[103.256442,32.853551],[103.256693,32.853502],[103.256923,32.853489],[103.257153,32.853476],[103.257421,32.853512],[103.257649,32.853612],[103.257877,32.85376],[103.258075,32.853916],[103.258272,32.854073],[103.25847,32.854229],[103.258668,32.854385],[103.258827,32.854565],[103.258986,32.854744],[103.259145,32.854924],[103.259304,32.855104],[103.259464,32.855283],[103.259623,32.855463],[103.259782,32.855642],[103.259941,32.855822],[103.26013,32.85597],[103.260318,32.856119],[103.260698,32.856318],[103.260923,32.856411],[103.261149,32.856505],[103.261374,32.856599],[103.2616,32.856693],[103.261822,32.856786],[103.261825,32.856787],[103.26205,32.856881],[103.262276,32.856975],[103.262501,32.857068],[103.26279,32.857256],[103.263079,32.857444],[103.263419,32.857696],[103.263759,32.857948],[103.264099,32.8582],[103.264272,32.858348],[103.264444,32.858496],[103.264617,32.858643],[103.264789,32.858791],[103.264962,32.858939],[103.265134,32.859087],[103.265456,32.859268],[103.265664,32.859368],[103.265872,32.859469],[103.266101,32.85955],[103.266329,32.859631],[103.266557,32.859712],[103.266785,32.859793],[103.267013,32.859874],[103.267241,32.859955],[103.26746,32.860023],[103.267679,32.86009],[103.267898,32.860158],[103.268117,32.860225],[103.268336,32.860293],[103.268555,32.86036],[103.268774,32.860428],[103.268993,32.860495],[103.269212,32.860562],[103.269431,32.86063],[103.269696,32.860755],[103.269961,32.860881],[103.270284,32.861046],[103.270567,32.861243],[103.270774,32.861457],[103.270999,32.861701],[103.27114,32.861885],[103.271281,32.862069],[103.271423,32.862253],[103.271564,32.862437],[103.271705,32.862621],[103.271847,32.862804],[103.2721,32.863106],[103.272353,32.863408],[103.27255,32.863596],[103.272747,32.863784],[103.272939,32.863946],[103.27313,32.864107],[103.273321,32.864268],[103.273513,32.86443],[103.273704,32.864591],[103.273896,32.864753],[103.274122,32.864965],[103.274327,32.865307],[103.274437,32.865511],[103.274548,32.865714],[103.274689,32.865953],[103.274829,32.866191],[103.27497,32.866429],[103.27511,32.866667],[103.275256,32.866992],[103.275402,32.867318],[103.275493,32.867601],[103.275584,32.867885],[103.275757,32.868299],[103.275931,32.868713],[103.276089,32.868973],[103.276247,32.869233],[103.276445,32.869421],[103.276642,32.86961],[103.276865,32.869752],[103.277088,32.869894],[103.277311,32.870036],[103.277534,32.870178],[103.277748,32.870262],[103.277962,32.870345],[103.278176,32.870429],[103.278389,32.870512],[103.27879,32.870588],[103.279191,32.870664],[103.279591,32.87074],[103.279859,32.870774],[103.280126,32.870808],[103.280393,32.870841],[103.280661,32.870875],[103.280928,32.870909],[103.281195,32.870943],[103.281463,32.870977],[103.28173,32.871011],[103.282163,32.87107],[103.282596,32.87113],[103.28303,32.87119],[103.283267,32.871266],[103.283505,32.871342],[103.283743,32.871418],[103.283981,32.871494],[103.28423,32.871611],[103.284479,32.871729],[103.284728,32.871847],[103.284978,32.871965],[103.285215,32.872065],[103.285453,32.872165],[103.285688,32.872267],[103.285923,32.872369],[103.286158,32.872471],[103.286393,32.872573],[103.286628,32.872675],[103.286863,32.872777],[103.287098,32.872879],[103.287333,32.872981],[103.287546,32.873061],[103.287759,32.873142],[103.287972,32.873222],[103.288185,32.873303],[103.288398,32.873383],[103.288611,32.873464],[103.288824,32.873544],[103.289037,32.873625],[103.28925,32.873705],[103.289463,32.873786],[103.289709,32.873894],[103.289956,32.874002],[103.290203,32.87411],[103.29045,32.874218],[103.290696,32.874326],[103.290943,32.874434],[103.291205,32.874492],[103.291468,32.87455],[103.29173,32.874609],[103.291992,32.874667],[103.292254,32.874725],[103.292516,32.874783],[103.292779,32.874841],[103.293041,32.874899],[103.293464,32.87493],[103.293887,32.874961],[103.294311,32.874992],[103.294734,32.875022],[103.295096,32.875093],[103.29514,32.875115],[103.295514,32.875307],[103.295662,32.875519],[103.295848,32.875861],[103.295994,32.876202],[103.296141,32.876542],[103.296262,32.876897],[103.296383,32.877252],[103.296503,32.877607],[103.296515,32.877995],[103.296471,32.878316],[103.296254,32.878653],[103.296135,32.878853],[103.296016,32.879053],[103.295838,32.879349],[103.29566,32.879645],[103.295554,32.879855],[103.295447,32.880065],[103.295341,32.880275],[103.295234,32.880485],[103.295128,32.880694],[103.295021,32.880904],[103.294909,32.881282],[103.294796,32.88166],[103.294764,32.881886],[103.294731,32.882112],[103.294724,32.882442],[103.294717,32.882773],[103.294691,32.88312],[103.294665,32.883467],[103.294612,32.883736],[103.294559,32.884005],[103.294506,32.884275],[103.294453,32.884544],[103.294343,32.884796],[103.294232,32.885047],[103.294121,32.885298],[103.294011,32.88555],[103.293865,32.885741],[103.29372,32.885933],[103.293575,32.886125],[103.293429,32.886316],[103.293284,32.886508],[103.293139,32.8867],[103.292993,32.886891],[103.292848,32.887083],[103.292703,32.887275],[103.292557,32.887466],[103.292438,32.88774],[103.292449,32.888095],[103.292615,32.888436],[103.292745,32.888639],[103.292876,32.888842],[103.293178,32.889054],[103.293481,32.889265],[103.29385,32.889472],[103.294219,32.88968],[103.294432,32.88984],[103.294644,32.890001],[103.294857,32.890161],[103.29507,32.890322],[103.295263,32.890473],[103.295456,32.890625],[103.29565,32.890777],[103.295843,32.890929],[103.296036,32.89108],[103.29623,32.891232],[103.296423,32.891384],[103.296616,32.891535],[103.296795,32.891724],[103.296973,32.891912],[103.297151,32.8921],[103.29733,32.892288],[103.297418,32.892579],[103.29739,32.892745],[103.297375,32.892837],[103.297357,32.892895],[103.297357,32.892896],[103.297305,32.893068],[103.297236,32.893299],[103.297166,32.893531],[103.297097,32.893762],[103.297033,32.894035],[103.29697,32.894309],[103.296888,32.894678],[103.29686,32.895082],[103.296837,32.895308],[103.296814,32.895534],[103.296822,32.895887],[103.296824,32.895953],[103.296862,32.896193],[103.296892,32.89639],[103.296961,32.896777],[103.297,32.897003],[103.297039,32.897228],[103.297077,32.897453],[103.297083,32.897488],[103.297116,32.897678],[103.297244,32.898019],[103.297371,32.898359],[103.297528,32.898644],[103.297556,32.898695],[103.297686,32.898929],[103.297843,32.89923],[103.298,32.89953],[103.2981,32.899822],[103.2982,32.900114],[103.298318,32.900446],[103.298335,32.900494],[103.298436,32.900778],[103.298486,32.901183],[103.298491,32.90142],[103.298496,32.901657],[103.298501,32.901894],[103.298506,32.902131],[103.298499,32.902368],[103.298491,32.902604],[103.298483,32.902841],[103.298475,32.903078],[103.298468,32.903314],[103.29846,32.903551],[103.298453,32.903914],[103.298446,32.904277],[103.298459,32.904616],[103.298472,32.904955],[103.298504,32.905238],[103.298537,32.905521],[103.298542,32.905769],[103.298547,32.906017],[103.298552,32.906264],[103.298556,32.906512],[103.298561,32.90676],[103.298566,32.907008],[103.298571,32.907255],[103.298576,32.907503],[103.298552,32.907777],[103.298528,32.908051],[103.298503,32.908326],[103.298479,32.9086],[103.298474,32.908852],[103.298469,32.909103],[103.298464,32.909355],[103.298459,32.909607],[103.298455,32.909859],[103.29845,32.910111],[103.298445,32.910363],[103.29844,32.910615],[103.298452,32.910877],[103.298463,32.911139],[103.298475,32.9114],[103.298487,32.911662],[103.298499,32.911924],[103.29851,32.912186],[103.298522,32.912448],[103.298534,32.912709],[103.298582,32.913151],[103.298631,32.913593],[103.29868,32.914034],[103.298702,32.914438],[103.298723,32.914842],[103.298724,32.915277],[103.298726,32.915711],[103.298625,32.916016],[103.298408,32.91632],[103.298184,32.916518],[103.29796,32.916716],[103.297858,32.916782],[103.297494,32.917017],[103.297282,32.917103],[103.29707,32.917189],[103.296858,32.917275],[103.296645,32.917361],[103.2964,32.917455],[103.296154,32.91755],[103.295909,32.917645],[103.295663,32.917739],[103.295418,32.917834],[103.295173,32.917928],[103.294927,32.918023],[103.294682,32.918118],[103.294436,32.918212],[103.294191,32.918307],[103.293945,32.918402],[103.2937,32.918496],[103.293454,32.918591],[103.293209,32.918686],[103.292841,32.918882],[103.292474,32.919078],[103.29226,32.919253],[103.291987,32.919492],[103.291847,32.919781],[103.291792,32.920011],[103.291737,32.920241],[103.291729,32.920604],[103.291722,32.920967],[103.291708,32.921201],[103.291694,32.921434],[103.29168,32.921668],[103.291666,32.921902],[103.29166,32.922209],[103.291653,32.922515],[103.29161,32.922805],[103.291566,32.923094],[103.291444,32.92348],[103.291304,32.923786],[103.291137,32.924126],[103.29097,32.924465],[103.290803,32.924805],[103.290592,32.925163],[103.29038,32.925521],[103.290169,32.925878],[103.290026,32.926082],[103.289883,32.926286],[103.28974,32.92649],[103.289597,32.926694],[103.289476,32.926886],[103.289354,32.927078],[103.289232,32.92727],[103.28911,32.927462],[103.288989,32.927654],[103.288867,32.927846],[103.288706,32.928046],[103.288546,32.928247],[103.288385,32.928448],[103.288224,32.928648],[103.288064,32.928849],[103.287903,32.929049],[103.287742,32.92925],[103.287582,32.929451],[103.287421,32.929651],[103.28726,32.929852],[103.2871,32.930052],[103.286939,32.930253],[103.286627,32.930507],[103.286506,32.930605],[103.286315,32.930761],[103.286083,32.930895],[103.285851,32.931029],[103.285542,32.931113],[103.285233,32.931197],[103.284898,32.931217],[103.284563,32.931237],[103.284299,32.931231],[103.284036,32.931226],[103.283773,32.93122],[103.283509,32.931214],[103.283246,32.931209],[103.282982,32.931203],[103.282719,32.931197],[103.282456,32.931192],[103.282321,32.931255],[103.28228,32.931383],[103.282275,32.931625],[103.282384,32.931966],[103.282554,32.932162],[103.282761,32.932213],[103.283144,32.932291],[103.283526,32.932369],[103.283767,32.932425],[103.284007,32.932481],[103.284248,32.932536],[103.284489,32.932592],[103.284729,32.932648],[103.28497,32.932704],[103.285022,32.932716],[103.285211,32.93276],[103.285451,32.932815],[103.285857,32.932952],[103.286262,32.933089],[103.286667,32.933226],[103.287073,32.933363],[103.28711,32.933375],[103.28733,32.933447],[103.28744,32.933483],[103.287587,32.933531],[103.287844,32.933615],[103.288101,32.9337],[103.288463,32.933834],[103.288701,32.933912],[103.288748,32.933927],[103.289033,32.93402],[103.289397,32.934056],[103.289628,32.934045],[103.289646,32.934044],[103.289668,32.934035],[103.289955,32.93392],[103.290172,32.93378],[103.290389,32.933639],[103.290607,32.933498],[103.290735,32.933415],[103.290824,32.933357],[103.290998,32.933244],[103.291041,32.933217],[103.291155,32.933143],[103.291259,32.933076],[103.291476,32.932935],[103.291693,32.932794],[103.291911,32.932654],[103.292128,32.932513],[103.292325,32.932379],[103.292522,32.932245],[103.292718,32.932111],[103.292915,32.931977],[103.293112,32.931844],[103.293309,32.93171],[103.293506,32.931576],[103.293702,32.931442],[103.293899,32.931308],[103.294096,32.931174],[103.294277,32.931016],[103.294458,32.930857],[103.29464,32.930698],[103.294821,32.930539],[103.295002,32.93038],[103.295183,32.930221],[103.295365,32.930062],[103.295546,32.929904],[103.295727,32.929745],[103.295908,32.929586],[103.296092,32.929383],[103.296276,32.929179],[103.296459,32.928976],[103.296643,32.928773],[103.296826,32.928569],[103.29701,32.928366],[103.297194,32.928163],[103.297377,32.927959],[103.297531,32.92778],[103.297684,32.9276],[103.297838,32.92742],[103.297991,32.92724],[103.298145,32.927061],[103.298299,32.926881],[103.298452,32.926701],[103.298606,32.926521],[103.298759,32.926342],[103.298913,32.926162],[103.299103,32.925987],[103.299294,32.925812],[103.299484,32.925637],[103.299674,32.925462],[103.299964,32.925352],[103.300308,32.925309],[103.300559,32.92524],[103.30081,32.92517],[103.301032,32.925092],[103.301253,32.925014],[103.301548,32.924836],[103.301842,32.924658],[103.30201,32.924504],[103.302178,32.92435],[103.302346,32.924195],[103.302513,32.924041],[103.302681,32.923887],[103.302849,32.923732],[103.303016,32.923578],[103.303184,32.923424],[103.303352,32.923269],[103.30352,32.923115],[103.303723,32.922977],[103.303927,32.922838],[103.304131,32.9227],[103.304335,32.922561],[103.304538,32.922423],[103.304742,32.922284],[103.304946,32.922146],[103.30515,32.922007],[103.305526,32.921851],[103.305657,32.921797],[103.305902,32.921695],[103.305997,32.921687],[103.306209,32.921667],[103.306592,32.921672],[103.306801,32.921788],[103.306952,32.921919],[103.30707,32.922155],[103.307082,32.922179],[103.307116,32.922357],[103.307101,32.922457],[103.307073,32.922647],[103.307029,32.922937],[103.306966,32.923188],[103.306966,32.92319],[103.306965,32.923192],[103.306904,32.923439],[103.306841,32.923691],[103.306779,32.923942],[103.306716,32.924193],[103.306654,32.924445],[103.306592,32.924696],[103.306529,32.924947],[103.306572,32.925244],[103.306615,32.925541],[103.306696,32.925967],[103.306777,32.926393],[103.306858,32.926819],[103.306985,32.927176],[103.307112,32.927532],[103.307233,32.927756],[103.307354,32.927979],[103.307457,32.928171],[103.307469,32.928193],[103.307474,32.928203],[103.307474,32.928203],[103.307595,32.928426],[103.307694,32.928534],[103.307763,32.92861],[103.307857,32.928712],[103.30812,32.928999],[103.308298,32.929195],[103.308476,32.929391],[103.308655,32.929587],[103.308833,32.929784],[103.309151,32.930045],[103.309235,32.930115],[103.309468,32.930306],[103.309484,32.930319],[103.309785,32.930567],[103.309992,32.930763],[103.310103,32.931024],[103.310077,32.931346],[103.309977,32.931683],[103.309884,32.931964],[103.309792,32.932246],[103.309698,32.932504],[103.309603,32.932762],[103.309508,32.93302],[103.309414,32.933278],[103.309319,32.933536],[103.309224,32.933793],[103.309129,32.934051],[103.309035,32.934309],[103.308817,32.934699],[103.3086,32.935089],[103.308581,32.935123],[103.308531,32.935212],[103.308383,32.935478],[103.308101,32.935803],[103.308098,32.935807],[103.308056,32.935855],[103.307898,32.936037],[103.30782,32.936127],[103.307539,32.936452],[103.307133,32.936625],[103.307085,32.936636],[103.306863,32.93669],[103.306861,32.93669],[103.306859,32.936691],[103.306594,32.936754],[103.306325,32.936819],[103.306056,32.936884],[103.305681,32.936943],[103.305307,32.937002],[103.305046,32.937063],[103.304786,32.937125],[103.304526,32.937186],[103.304266,32.937247],[103.304042,32.93739],[103.303819,32.937532],[103.303661,32.937772],[103.303504,32.938012],[103.303436,32.938374],[103.303487,32.938731],[103.30354,32.938957],[103.303593,32.939184],[103.303689,32.939411],[103.303785,32.939638],[103.303882,32.939866],[103.303978,32.940093],[103.304109,32.94028],[103.304239,32.940468],[103.30437,32.940655],[103.3045,32.940843],[103.304792,32.941121],[103.305084,32.941399],[103.305233,32.941689],[103.305383,32.941979],[103.305578,32.942353],[103.305772,32.942727],[103.306025,32.943021],[103.306278,32.943315],[103.306398,32.943583],[103.306517,32.943851],[103.306647,32.944087],[103.306776,32.944322],[103.307,32.944672],[103.307223,32.945022],[103.307437,32.945348],[103.307651,32.945674],[103.307867,32.945919],[103.308082,32.946164],[103.308413,32.946445],[103.308744,32.946726],[103.309075,32.947007],[103.309406,32.947289],[103.309601,32.947481],[103.309796,32.947673],[103.309992,32.947866],[103.310187,32.948058],[103.310382,32.94825],[103.310578,32.948443],[103.310773,32.948635],[103.310968,32.948827],[103.311059,32.94907],[103.311035,32.949328],[103.310876,32.949617],[103.310695,32.9498],[103.310515,32.949983],[103.310334,32.950166],[103.310153,32.950349],[103.309955,32.950691],[103.309756,32.951034],[103.309635,32.951339],[103.309515,32.951644],[103.309444,32.951865],[103.309373,32.952086],[103.309302,32.952307],[103.309231,32.952528],[103.309089,32.952919],[103.308947,32.95331],[103.308805,32.953702],[103.30879,32.953992],[103.308775,32.954282],[103.308864,32.954622],[103.308953,32.954961],[103.309045,32.955181],[103.309137,32.9554],[103.30936,32.955767],[103.309583,32.956134],[103.309807,32.956501],[103.309918,32.956712],[103.310028,32.956923],[103.310139,32.957134],[103.31025,32.957345],[103.310369,32.957662],[103.310487,32.957978],[103.310594,32.958399],[103.310607,32.958449],[103.310681,32.958732],[103.310755,32.959015],[103.31077,32.959257],[103.310785,32.9595],[103.310867,32.959722],[103.310949,32.959945],[103.311031,32.960167],[103.311113,32.96039],[103.311219,32.960627],[103.311324,32.960865],[103.31143,32.961102],[103.311536,32.96134],[103.311641,32.961577],[103.311747,32.961815],[103.311853,32.962052],[103.311958,32.96229],[103.312073,32.962498],[103.312187,32.962707],[103.312301,32.962916],[103.312416,32.963124],[103.31253,32.963333],[103.312644,32.963542],[103.31286,32.963762],[103.313076,32.963983],[103.313186,32.964242],[103.313219,32.964533],[103.313158,32.96471],[103.313002,32.964837],[103.312656,32.964962],[103.312251,32.96502],[103.311885,32.965081],[103.311625,32.965198],[103.311514,32.965248],[103.311365,32.965315],[103.311184,32.965425],[103.31117,32.965433],[103.310976,32.965551],[103.310782,32.965669],[103.310588,32.965787],[103.310394,32.965906],[103.3102,32.966024],[103.310035,32.966234],[103.310089,32.966472],[103.310252,32.966844],[103.310396,32.96706],[103.31054,32.967277],[103.310777,32.967489],[103.310962,32.967654],[103.311013,32.967701],[103.311254,32.967946],[103.311495,32.968192],[103.311622,32.968323],[103.311735,32.968438],[103.312013,32.96871],[103.312291,32.968982],[103.31252,32.969224],[103.312748,32.969465],[103.313044,32.969782],[103.313291,32.970046],[103.313539,32.970311],[103.313746,32.970548],[103.313954,32.970786],[103.314133,32.970989],[103.314162,32.971023],[103.31454,32.971243],[103.314875,32.971474],[103.31521,32.971705],[103.315225,32.971717],[103.315468,32.971905],[103.315726,32.972106],[103.315969,32.972419],[103.316044,32.972515],[103.316181,32.972756],[103.316318,32.972996],[103.31642,32.973212],[103.316522,32.973428],[103.316588,32.97365],[103.316655,32.973871],[103.316702,32.974016],[103.316735,32.974117],[103.316815,32.974362],[103.316867,32.974631],[103.316902,32.974818],[103.316918,32.9749],[103.316977,32.975158],[103.317036,32.975415],[103.317065,32.975761],[103.317093,32.976107],[103.317002,32.97653],[103.316969,32.976678],[103.316837,32.976858],[103.316708,32.977032],[103.316446,32.977387],[103.316236,32.977664],[103.316026,32.977942],[103.315815,32.978201],[103.315605,32.978461],[103.315427,32.978603],[103.315261,32.978735],[103.314939,32.979009],[103.314739,32.97918],[103.314721,32.979199],[103.314572,32.979358],[103.314525,32.979573],[103.314535,32.979612],[103.314561,32.979713],[103.314596,32.979846],[103.314725,32.98013],[103.314854,32.980414],[103.314893,32.980501],[103.314941,32.980673],[103.314989,32.980846],[103.315036,32.981244],[103.315059,32.981432],[103.315084,32.981643],[103.315159,32.982055],[103.315234,32.982468],[103.31531,32.98288],[103.315402,32.983207],[103.315494,32.983534],[103.315586,32.983862],[103.315626,32.984001],[103.315679,32.984189],[103.315687,32.984434],[103.315696,32.984679],[103.315702,32.984855],[103.315691,32.985188],[103.315798,32.985474],[103.315952,32.985795],[103.316309,32.986021],[103.316635,32.986194],[103.31696,32.986368],[103.317304,32.98658],[103.317671,32.986805],[103.31788,32.986928],[103.31809,32.987052],[103.3183,32.987175],[103.31851,32.987298],[103.318719,32.987421],[103.318929,32.987545],[103.319155,32.987765],[103.319381,32.987986],[103.319559,32.988182],[103.319738,32.988378],[103.319917,32.988574],[103.320095,32.98877],[103.320249,32.98899],[103.320403,32.98921],[103.320558,32.98943],[103.320712,32.98965],[103.320823,32.989853],[103.320934,32.990056],[103.321045,32.99026],[103.321156,32.990463],[103.321267,32.990666],[103.321378,32.990869],[103.321489,32.991073],[103.3216,32.991276],[103.321788,32.991649],[103.321975,32.992021],[103.322144,32.992209],[103.322314,32.992397],[103.322615,32.992692],[103.322965,32.992915],[103.323315,32.993138],[103.323528,32.993232],[103.32374,32.993326],[103.323952,32.99342],[103.324165,32.993514],[103.324377,32.993609],[103.324589,32.993703],[103.324629,32.993718],[103.324853,32.993801],[103.325077,32.993885],[103.325423,32.994008],[103.325768,32.994131],[103.326113,32.994254],[103.326333,32.994409],[103.326553,32.994563],[103.326553,32.994564],[103.326554,32.994564],[103.326898,32.994843],[103.327243,32.995122],[103.327512,32.995388],[103.327782,32.995654],[103.328052,32.995919],[103.32826,32.996056],[103.328468,32.996193],[103.328568,32.996236],[103.328676,32.996283],[103.329075,32.996455],[103.329392,32.996681],[103.329709,32.996907],[103.330027,32.997133],[103.330356,32.997387],[103.330685,32.997641],[103.331014,32.997894],[103.33107,32.998009],[103.331173,32.99822],[103.331276,32.99843],[103.33147,32.998609],[103.331585,32.998715],[103.331865,32.998816],[103.332014,32.99887],[103.332138,32.998956],[103.332287,32.99906],[103.332442,32.999322],[103.33254,32.999627],[103.332638,32.999932],[103.332736,33.000236],[103.332763,33.000321],[103.332942,33.000619],[103.333153,33.000798],[103.333365,33.000977],[103.333552,33.001135],[103.33366,33.001227],[103.333955,33.001476],[103.33425,33.001725],[103.334464,33.001987],[103.334487,33.002208],[103.3345,33.002332],[103.334504,33.002366],[103.33452,33.0025],[103.334565,33.002895],[103.334589,33.003105],[103.334611,33.003291],[103.334657,33.003686],[103.334702,33.004081],[103.334792,33.004343],[103.334881,33.004605],[103.334994,33.004935],[103.335107,33.005265],[103.335112,33.005279],[103.33522,33.005595],[103.335333,33.005925],[103.335505,33.006306],[103.335678,33.006687],[103.335892,33.007055],[103.335999,33.0074],[103.33601,33.007439],[103.336071,33.007656],[103.336114,33.007811],[103.336142,33.007912],[103.336201,33.008178],[103.336209,33.008215],[103.336261,33.008447],[103.336404,33.008792],[103.336635,33.009159],[103.336749,33.00934],[103.336803,33.00941],[103.336875,33.009503],[103.33703,33.009704],[103.337257,33.009997],[103.33731,33.010052],[103.337492,33.010237],[103.337728,33.010476],[103.337963,33.010716],[103.338184,33.011],[103.338406,33.011285],[103.338627,33.011569],[103.338848,33.011854],[103.339069,33.012138],[103.339239,33.012395],[103.339409,33.012651],[103.339578,33.012908],[103.339629,33.013215],[103.33968,33.013522],[103.339731,33.013828],[103.339731,33.013829],[103.339731,33.013829],[103.339751,33.01391],[103.339781,33.014316],[103.339811,33.014721],[103.339827,33.014944],[103.339841,33.015127],[103.33981,33.015519],[103.33978,33.015912],[103.33975,33.016304],[103.339678,33.016587],[103.339605,33.016871],[103.339372,33.017229],[103.339176,33.017416],[103.338981,33.017603],[103.338691,33.017866],[103.3384,33.018128],[103.338109,33.01839],[103.337772,33.018604],[103.337434,33.018818],[103.337097,33.019032],[103.336877,33.019137],[103.336657,33.019241],[103.336437,33.019346],[103.336216,33.019451],[103.335996,33.019555],[103.335776,33.01966],[103.335489,33.019941],[103.335202,33.020221],[103.335046,33.020389],[103.33489,33.020556],[103.334734,33.020723],[103.334578,33.02089],[103.334421,33.021057],[103.334265,33.021224],[103.334255,33.021601],[103.334244,33.021978],[103.334234,33.022354],[103.334375,33.022591],[103.334515,33.022827],[103.334656,33.023064],[103.334797,33.0233],[103.334938,33.023537],[103.335078,33.023773],[103.335278,33.024142],[103.335456,33.024415],[103.335726,33.024669],[103.335906,33.024846],[103.336223,33.025081],[103.336438,33.025238],[103.336652,33.025395],[103.336867,33.025553],[103.337082,33.02571],[103.337307,33.025954],[103.337533,33.026198],[103.337664,33.026388],[103.337664,33.026388],[103.337665,33.026389],[103.337778,33.026554],[103.338024,33.026909],[103.338171,33.027122],[103.33827,33.027264],[103.338355,33.027477],[103.338401,33.027593],[103.338486,33.02798],[103.33848,33.028295],[103.338498,33.028382],[103.338535,33.028736],[103.338572,33.029089],[103.338608,33.029443],[103.338616,33.029514],[103.3386,33.029828],[103.338583,33.030143],[103.338567,33.030458],[103.338561,33.030586],[103.338559,33.030621],[103.338464,33.031021],[103.338455,33.031241],[103.338454,33.031278],[103.338492,33.031478],[103.338632,33.031766],[103.338771,33.032055],[103.338911,33.032344],[103.338988,33.032472],[103.339044,33.032563],[103.339082,33.032753],[103.339025,33.033125],[103.338882,33.033515],[103.338697,33.033862],[103.338511,33.03421],[103.338473,33.034514],[103.338435,33.034819],[103.338411,33.035247],[103.338387,33.035675],[103.338356,33.036082],[103.338324,33.036488],[103.338297,33.036831],[103.338292,33.036894],[103.338378,33.037227],[103.338502,33.037431],[103.338625,33.037636],[103.338638,33.0377],[103.338673,33.037874],[103.338595,33.038213],[103.338587,33.038245],[103.3386,33.038547],[103.338602,33.038574],[103.338616,33.038902],[103.33861,33.039207],[103.338603,33.039511],[103.338597,33.039816],[103.338644,33.040139],[103.338666,33.04037],[103.338688,33.0406],[103.338692,33.04062],[103.338753,33.040944],[103.33877,33.041035],[103.338868,33.041409],[103.338965,33.041782],[103.338987,33.041868],[103.339028,33.042026],[103.339092,33.04227],[103.339156,33.042514],[103.339219,33.042758],[103.339317,33.043078],[103.339414,33.043398],[103.339477,33.043659],[103.339541,33.043919],[103.339649,33.044288],[103.339849,33.044638],[103.339937,33.044849],[103.340025,33.04506],[103.340099,33.045369],[103.340174,33.045679],[103.340225,33.046017],[103.340277,33.046356],[103.340291,33.046771],[103.340306,33.047186],[103.340325,33.047437],[103.340343,33.047688],[103.340338,33.047942],[103.340333,33.048196],[103.340329,33.04845],[103.340324,33.048704],[103.340319,33.048958],[103.340314,33.049212],[103.340297,33.049501],[103.34028,33.049791],[103.34023,33.05005],[103.340179,33.05031],[103.340034,33.050683],[103.33989,33.051057],[103.339788,33.051296],[103.339686,33.051536],[103.339585,33.051775],[103.339483,33.052014],[103.339383,33.052444],[103.339284,33.052873],[103.339184,33.053303],[103.339177,33.053593],[103.339241,33.053901],[103.339372,33.054251],[103.339483,33.054464],[103.339653,33.054663],[103.339824,33.054862],[103.339994,33.055061],[103.340165,33.05526],[103.340335,33.055459],[103.340506,33.055658],[103.340676,33.055858],[103.340847,33.056057],[103.341017,33.056256],[103.341187,33.056455],[103.341361,33.056652],[103.341534,33.056849],[103.341708,33.057045],[103.341881,33.057242],[103.342055,33.057439],[103.342228,33.057636],[103.342401,33.057833],[103.342575,33.05803],[103.342748,33.058226],[103.342922,33.058423],[103.343144,33.058802],[103.343367,33.059181],[103.34346,33.059409],[103.343553,33.059637],[103.343646,33.059865],[103.343739,33.060093],[103.343793,33.060325],[103.343846,33.060557],[103.343852,33.060828],[103.343857,33.061098],[103.343829,33.061396],[103.343801,33.061695],[103.343784,33.062004],[103.343767,33.062313],[103.343759,33.062717],[103.343774,33.063142],[103.343812,33.063586],[103.343852,33.063866],[103.343893,33.064147],[103.344004,33.064359],[103.344116,33.064572],[103.344227,33.064785],[103.344339,33.064998],[103.344427,33.065172],[103.344421,33.065481],[103.344393,33.06577],[103.344388,33.066041],[103.344309,33.066281],[103.34423,33.066521],[103.344151,33.06676],[103.344072,33.067],[103.343965,33.067385],[103.343858,33.067769],[103.343752,33.068154],[103.343642,33.06849],[103.343533,33.068826],[103.343539,33.069087],[103.343546,33.069347],[103.343631,33.069734],[103.343696,33.069967],[103.34376,33.0702],[103.343936,33.070529],[103.344239,33.070861],[103.344542,33.071192],[103.344845,33.071523],[103.345148,33.071854],[103.345304,33.072088],[103.345414,33.07234],[103.345524,33.072591],[103.345588,33.072883],[103.34558,33.073288],[103.345518,33.073519],[103.345457,33.07375],[103.345429,33.07398],[103.345402,33.074211],[103.345489,33.074463],[103.345597,33.074819],[103.345705,33.075174],[103.345813,33.07553],[103.34591,33.075811],[103.346008,33.076092],[103.346073,33.076363],[103.346137,33.076634],[103.346134,33.076673],[103.346107,33.077018],[103.345962,33.077423],[103.345793,33.077825],[103.345626,33.07819],[103.345403,33.078559],[103.345181,33.078929],[103.345062,33.079127],[103.344959,33.079298],[103.344745,33.079668],[103.344532,33.080038],[103.344424,33.080226],[103.344319,33.080407],[103.344198,33.080734],[103.344033,33.080984],[103.34387,33.081146],[103.343706,33.081307],[103.343543,33.081469],[103.34346,33.08155],[103.343379,33.08163],[103.343223,33.081808],[103.343066,33.081986],[103.34291,33.082165],[103.342754,33.082343],[103.342597,33.082521],[103.342441,33.082699],[103.342253,33.082937],[103.342065,33.083175],[103.341934,33.083449],[103.341825,33.083674],[103.341752,33.083914],[103.341678,33.084155],[103.34164,33.084395],[103.341621,33.084511],[103.341601,33.084636],[103.341585,33.084863],[103.341571,33.085065],[103.34154,33.085494],[103.341507,33.08574],[103.341473,33.085986],[103.34144,33.086231],[103.341406,33.086477],[103.341309,33.086727],[103.341279,33.086804],[103.341212,33.086977],[103.341207,33.087247],[103.341207,33.087277],[103.341202,33.087517],[103.341222,33.087729],[103.341232,33.087772],[103.341257,33.087882],[103.341307,33.088097],[103.341309,33.088115],[103.341347,33.088425],[103.341386,33.088831],[103.341358,33.089043],[103.341263,33.089196],[103.34108,33.089333],[103.340897,33.089471],[103.340713,33.089608],[103.340651,33.089655],[103.34053,33.089746],[103.340347,33.089884],[103.340163,33.090021],[103.33998,33.090159],[103.339968,33.090168],[103.339894,33.090223],[103.339891,33.090225],[103.339797,33.090296],[103.339563,33.090414],[103.339556,33.090417],[103.339337,33.090527],[103.33932,33.090536],[103.339315,33.090539],[103.339194,33.090599],[103.339074,33.09066],[103.338999,33.090698],[103.338834,33.090781],[103.338671,33.090809],[103.338466,33.090844],[103.338098,33.090907],[103.337913,33.090917],[103.337811,33.090922],[103.337524,33.090937],[103.337457,33.090941],[103.337388,33.090945],[103.337248,33.090952],[103.336856,33.091044],[103.336598,33.091272],[103.33639,33.0915],[103.336288,33.091615],[103.336236,33.091672],[103.336083,33.091845],[103.335988,33.092075],[103.335911,33.092235],[103.335881,33.092298],[103.335868,33.092323],[103.335776,33.092514],[103.335748,33.092572],[103.335561,33.092801],[103.335333,33.093024],[103.335327,33.09303],[103.334991,33.093219],[103.334916,33.093261],[103.334655,33.093407],[103.334351,33.093711],[103.33433,33.093744],[103.334184,33.09398],[103.333973,33.094219],[103.333911,33.094288],[103.333762,33.094457],[103.33346,33.094684],[103.333229,33.094778],[103.332906,33.094851],[103.332469,33.094883],[103.332158,33.094927],[103.331848,33.094971],[103.331478,33.095159],[103.331303,33.095335],[103.331273,33.095365],[103.331149,33.09549],[103.331127,33.095512],[103.330993,33.095647],[103.330993,33.095647],[103.330952,33.095688],[103.330776,33.095864],[103.33042,33.096098],[103.330064,33.096331],[103.329707,33.096564],[103.329344,33.096705],[103.329047,33.09668],[103.328726,33.096618],[103.328409,33.09646],[103.328277,33.096402],[103.328044,33.0963],[103.327745,33.096334],[103.327535,33.096507],[103.327417,33.096716],[103.327346,33.096794],[103.327232,33.096819],[103.327024,33.096866],[103.326772,33.096862],[103.326472,33.096917],[103.326264,33.09699],[103.326239,33.097018],[103.326144,33.097123],[103.326143,33.097123],[103.326143,33.097123],[103.326125,33.097144],[103.326122,33.097157],[103.326115,33.097189],[103.3261,33.097259],[103.326097,33.097317],[103.32608,33.097644],[103.326065,33.097951],[103.326061,33.09803],[103.326059,33.098048],[103.326033,33.098281],[103.325914,33.09851],[103.325705,33.098661],[103.325382,33.098774],[103.325316,33.098768],[103.325263,33.098764],[103.325106,33.098751],[103.324742,33.098649],[103.324493,33.09859],[103.324325,33.098551],[103.324307,33.098546],[103.324015,33.09856],[103.323988,33.098561],[103.323756,33.098577],[103.323724,33.09862],[103.32365,33.098717],[103.323568,33.098826],[103.323474,33.099015],[103.323473,33.099018],[103.323329,33.099306],[103.32319,33.09938],[103.323098,33.099399],[103.32296,33.099359],[103.322688,33.099239],[103.322606,33.0992],[103.322549,33.099173],[103.322393,33.0991],[103.322364,33.099103],[103.322002,33.099153],[103.321746,33.099304],[103.321675,33.099417],[103.321462,33.099782],[103.32134,33.100147],[103.321313,33.10034],[103.321377,33.10063],[103.321392,33.10066],[103.321487,33.100844],[103.321692,33.100962],[103.321994,33.101019],[103.322126,33.101044],[103.322419,33.101319],[103.322488,33.101451],[103.322492,33.101551],[103.322502,33.101818],[103.322501,33.101877],[103.322496,33.102146],[103.322462,33.102293],[103.322461,33.102295],[103.322442,33.10238],[103.322388,33.102614],[103.322336,33.102837],[103.322335,33.102844],[103.322334,33.102846],[103.322334,33.102848],[103.32232,33.102908],[103.322309,33.102953],[103.32228,33.103082],[103.322255,33.103187],[103.322226,33.103316],[103.322172,33.10355],[103.322104,33.103805],[103.322036,33.10406],[103.321968,33.104315],[103.32192,33.104493],[103.3219,33.104569],[103.32178,33.104876],[103.321709,33.105056],[103.321659,33.105183],[103.321491,33.10544],[103.321471,33.10547],[103.321209,33.105814],[103.320907,33.106041],[103.320605,33.106269],[103.320604,33.106269],[103.320415,33.106412],[103.320351,33.10646],[103.320303,33.106497],[103.320082,33.106677],[103.319861,33.106858],[103.319641,33.106977],[103.319569,33.107015],[103.319514,33.107045],[103.319119,33.107176],[103.318806,33.107279],[103.318718,33.107278],[103.318555,33.107276],[103.318554,33.107276],[103.318553,33.107276],[103.318301,33.107272],[103.318048,33.107269],[103.317796,33.107265],[103.31736,33.10724],[103.317286,33.107225],[103.31718,33.107204],[103.317097,33.107179],[103.316777,33.107079],[103.316375,33.106954],[103.316072,33.106945],[103.315768,33.106936],[103.315613,33.106998],[103.315367,33.107097],[103.314952,33.107198],[103.314536,33.107298],[103.31435,33.107441],[103.314165,33.107583],[103.313975,33.107927],[103.313972,33.108061],[103.313968,33.108222],[103.313922,33.108478],[103.313876,33.108735],[103.313819,33.108885],[103.313782,33.108945],[103.313691,33.108966],[103.313655,33.108974],[103.313313,33.109031],[103.313276,33.109037],[103.312949,33.109033],[103.312862,33.109032],[103.312623,33.109029],[103.312414,33.109151],[103.312205,33.109274],[103.312128,33.109621],[103.312192,33.10993],[103.312246,33.11004],[103.312325,33.110201],[103.312504,33.110435],[103.312706,33.110651],[103.312708,33.110655],[103.312749,33.110747],[103.312763,33.110805],[103.312813,33.111018],[103.312743,33.111191],[103.312486,33.11138],[103.312337,33.111432],[103.31222,33.111473],[103.312217,33.111474],[103.312214,33.111475],[103.311954,33.111566],[103.311654,33.111639],[103.311355,33.111712],[103.310942,33.111746],[103.310621,33.111683],[103.310392,33.111584],[103.31028,33.111543],[103.310188,33.111524],[103.309955,33.111694],[103.309904,33.111924],[103.309784,33.112193],[103.309589,33.112391],[103.309395,33.112588],[103.309231,33.112759],[103.309067,33.11293],[103.308846,33.113034],[103.308628,33.113136],[103.308626,33.113137],[103.308282,33.11319],[103.308122,33.113148],[103.307939,33.11307],[103.307827,33.112932],[103.307741,33.11268],[103.307399,33.11258],[103.307075,33.112677],[103.307029,33.112691],[103.306658,33.112859],[103.30664,33.112867],[103.306427,33.112962],[103.306195,33.113064],[103.306037,33.113228],[103.305973,33.113293],[103.305751,33.113521],[103.305627,33.113717],[103.30551,33.113901],[103.305502,33.113913],[103.305415,33.114051],[103.305378,33.114109],[103.305278,33.114268],[103.305254,33.114306],[103.305052,33.11467],[103.304963,33.11483],[103.304851,33.115032],[103.304851,33.115032],[103.30485,33.115034],[103.304798,33.115303],[103.304843,33.115401],[103.304957,33.115402],[103.305058,33.115392],[103.30521,33.115377],[103.30537,33.11536],[103.305463,33.115351],[103.305783,33.115452],[103.305821,33.115493],[103.305875,33.115552],[103.305962,33.115647],[103.306027,33.115822],[103.306024,33.115976],[103.305895,33.116134],[103.305883,33.116148],[103.305723,33.116272],[103.305534,33.11642],[103.305185,33.116692],[103.304836,33.116963],[103.304642,33.117083],[103.304448,33.117203],[103.304255,33.117322],[103.304061,33.117442],[103.303868,33.117562],[103.303813,33.117595],[103.303684,33.117675],[103.303674,33.117681],[103.303374,33.117812],[103.303121,33.117847],[103.302987,33.117652],[103.302911,33.117419],[103.302834,33.117187],[103.302831,33.117155],[103.302805,33.116935],[103.302789,33.116796],[103.302776,33.116684],[103.302757,33.116452],[103.302739,33.116221],[103.302718,33.116066],[103.302605,33.115968],[103.302442,33.115949],[103.302423,33.115946],[103.302283,33.116002],[103.302136,33.11613],[103.302108,33.116154],[103.30201,33.116239],[103.301933,33.116306],[103.301766,33.116613],[103.301748,33.116706],[103.301721,33.116838],[103.301716,33.116863],[103.30164,33.117208],[103.301635,33.117479],[103.301579,33.117568],[103.301347,33.117719],[103.300954,33.117887],[103.30063,33.118037],[103.300521,33.118087],[103.300453,33.118119],[103.300381,33.118152],[103.300306,33.118187],[103.300119,33.118349],[103.299931,33.11851],[103.299821,33.118653],[103.299754,33.11874],[103.299681,33.118835],[103.29968,33.118835],[103.29968,33.118835],[103.299429,33.119159],[103.299178,33.119484],[103.299143,33.119524],[103.299087,33.119588],[103.298943,33.11975],[103.298689,33.119921],[103.298413,33.119936],[103.298314,33.119935],[103.298251,33.119934],[103.29793,33.11991],[103.297586,33.119925],[103.297574,33.119931],[103.297527,33.119953],[103.297425,33.12],[103.297283,33.120152],[103.297116,33.120497],[103.297027,33.120698],[103.297005,33.120746],[103.296997,33.120766],[103.296955,33.120874],[103.2969,33.121015],[103.296855,33.121087],[103.296824,33.121136],[103.296733,33.121284],[103.296617,33.121398],[103.296501,33.121453],[103.29634,33.121432],[103.296248,33.121372],[103.29616,33.121314],[103.29616,33.121314],[103.296159,33.121314],[103.29612,33.121291],[103.296063,33.121258],[103.296056,33.121254],[103.296009,33.121227],[103.295819,33.121116],[103.295523,33.120996],[103.295469,33.120982],[103.295295,33.120935],[103.295291,33.120936],[103.295041,33.12098],[103.294788,33.121025],[103.294618,33.121148],[103.294578,33.121176],[103.294507,33.121374],[103.294481,33.121445],[103.294484,33.121469],[103.294494,33.121589],[103.294501,33.121658],[103.294564,33.121909],[103.294743,33.122124],[103.295085,33.122284],[103.295186,33.122362],[103.295219,33.122388],[103.295312,33.122461],[103.295331,33.122634],[103.295213,33.122767],[103.294819,33.122935],[103.29452,33.123029],[103.29429,33.123093],[103.294093,33.123148],[103.29406,33.123157],[103.293985,33.123195],[103.293803,33.123289],[103.293732,33.123442],[103.293729,33.123596],[103.29373,33.123638],[103.293733,33.123734],[103.293734,33.123766],[103.293739,33.123921],[103.293775,33.124087],[103.293824,33.124308],[103.293829,33.124367],[103.293843,33.124502],[103.293838,33.124683],[103.293838,33.124695],[103.293812,33.124848],[103.293546,33.125118],[103.293532,33.125133],[103.293321,33.125363],[103.293087,33.125572],[103.292854,33.125723],[103.292506,33.12593],[103.292275,33.126024],[103.291999,33.126019],[103.291633,33.125995],[103.291313,33.125952],[103.291037,33.125929],[103.290764,33.12589],[103.29074,33.125886],[103.290488,33.125835],[103.290446,33.125826],[103.290237,33.125783],[103.290127,33.125753],[103.28994,33.125702],[103.289734,33.125605],[103.289644,33.125562],[103.289418,33.125406],[103.289406,33.125406],[103.289339,33.125405],[103.289323,33.125404],[103.289189,33.125402],[103.289096,33.12544],[103.288934,33.125496],[103.28882,33.125693],[103.288791,33.125744],[103.288774,33.125792],[103.288694,33.126013],[103.288672,33.126114],[103.288645,33.126243],[103.288501,33.126532],[103.288406,33.126685],[103.28813,33.126776],[103.287898,33.126813],[103.287624,33.126827],[103.287544,33.126826],[103.287301,33.126823],[103.286945,33.126866],[103.286589,33.126909],[103.286488,33.12695],[103.286311,33.127021],[103.286194,33.127156],[103.286121,33.127348],[103.286003,33.1275],[103.285793,33.127651],[103.285539,33.127783],[103.285193,33.127875],[103.28493,33.12792],[103.284668,33.127965],[103.284366,33.128134],[103.284135,33.128207],[103.284119,33.128205],[103.283884,33.128185],[103.283832,33.128167],[103.283655,33.128104],[103.283635,33.128055],[103.283569,33.127892],[103.283506,33.127542],[103.283441,33.127349],[103.283374,33.127252],[103.283306,33.127213],[103.283073,33.12729],[103.283029,33.127305],[103.282959,33.127361],[103.282915,33.127367],[103.28282,33.12738],[103.282727,33.127357],[103.282569,33.127317],[103.282388,33.127219],[103.282211,33.126908],[103.282144,33.126733],[103.282078,33.126617],[103.281873,33.126538],[103.28162,33.126532],[103.281413,33.126588],[103.281181,33.126682],[103.28103,33.126753],[103.280904,33.126813],[103.280672,33.126886],[103.280488,33.126923],[103.280167,33.126938],[103.279845,33.126953],[103.279731,33.126959],[103.279592,33.126967],[103.279314,33.126979],[103.279248,33.126982],[103.279201,33.126983],[103.278938,33.126988],[103.278795,33.126991],[103.278704,33.126993],[103.278628,33.126994],[103.278588,33.126978],[103.278423,33.126913],[103.278388,33.126909],[103.278215,33.126886],[103.278102,33.126871],[103.277734,33.126943],[103.277615,33.127114],[103.277568,33.127191],[103.277541,33.127384],[103.277607,33.127519],[103.277788,33.127677],[103.277886,33.127702],[103.277948,33.127718],[103.278008,33.127726],[103.278177,33.12775],[103.278406,33.127782],[103.278655,33.127939],[103.278741,33.128249],[103.278716,33.128364],[103.278461,33.128496],[103.278116,33.128569],[103.277961,33.12858],[103.277885,33.128585],[103.277866,33.128586],[103.277471,33.128618],[103.27742,33.128638],[103.27724,33.12871],[103.277154,33.12878],[103.277123,33.128805],[103.277076,33.12886],[103.276912,33.129054],[103.276772,33.129168],[103.276655,33.129262],[103.276516,33.129317],[103.276228,33.129314],[103.276172,33.129314],[103.276036,33.129319],[103.275805,33.129327],[103.275461,33.129323],[103.275181,33.129351],[103.275145,33.129354],[103.275116,33.129357],[103.275029,33.129375],[103.27477,33.129429],[103.274563,33.129426],[103.274381,33.129385],[103.274314,33.129249],[103.274316,33.129128],[103.27432,33.128941],[103.274328,33.128855],[103.274335,33.128775],[103.27435,33.128613],[103.274367,33.128521],[103.274386,33.128411],[103.274402,33.128324],[103.274453,33.128036],[103.274467,33.127978],[103.274503,33.127823],[103.2746,33.127574],[103.274601,33.127517],[103.274533,33.127477],[103.274403,33.127476],[103.274312,33.127474],[103.274265,33.127486],[103.274093,33.127529],[103.274039,33.127542],[103.273874,33.127584],[103.27369,33.127601],[103.273552,33.127599],[103.273484,33.127598],[103.273361,33.127557],[103.273301,33.127537],[103.273168,33.127343],[103.273196,33.127015],[103.273203,33.126686],[103.273136,33.126477],[103.273116,33.126416],[103.272863,33.126412],[103.272539,33.126582],[103.272409,33.12671],[103.272375,33.126743],[103.272212,33.126905],[103.272058,33.127105],[103.271904,33.127305],[103.271741,33.127506],[103.271623,33.127649],[103.271506,33.127702],[103.271415,33.127743],[103.271277,33.12776],[103.270842,33.127696],[103.270617,33.127442],[103.270544,33.127281],[103.270515,33.127216],[103.27044,33.127054],[103.270337,33.126775],[103.270332,33.126762],[103.270284,33.126731],[103.270151,33.126644],[103.269897,33.126738],[103.269618,33.126927],[103.26936,33.127136],[103.269358,33.127137],[103.269356,33.127139],[103.269271,33.127194],[103.269151,33.127273],[103.269129,33.127287],[103.268921,33.127303],[103.26876,33.127282],[103.268534,33.127323],[103.268485,33.127332],[103.268308,33.127365],[103.268117,33.127401],[103.268081,33.127407],[103.268034,33.127416],[103.267855,33.127449],[103.267628,33.127491],[103.267402,33.127533],[103.267145,33.127593],[103.267089,33.127607],[103.266887,33.127654],[103.266842,33.127665],[103.266688,33.127701],[103.26663,33.127715],[103.266372,33.127776],[103.266114,33.127836],[103.265967,33.127871],[103.265893,33.127889],[103.265857,33.127897],[103.265834,33.127907],[103.265674,33.127975],[103.265614,33.128],[103.265371,33.128103],[103.265266,33.128181],[103.265116,33.128292],[103.264996,33.128483],[103.264992,33.128711],[103.264991,33.128734],[103.265001,33.128794],[103.265032,33.128985],[103.265043,33.129033],[103.265052,33.129074],[103.265096,33.129276],[103.265143,33.129516],[103.265166,33.129631],[103.265176,33.129684],[103.26519,33.129755],[103.265232,33.129967],[103.265182,33.130179],[103.264951,33.13033],[103.264697,33.130346],[103.264587,33.130345],[103.264506,33.130343],[103.264468,33.130343],[103.264283,33.130417],[103.264281,33.130514],[103.264321,33.130823],[103.264318,33.130946],[103.264317,33.131017],[103.264316,33.131054],[103.264289,33.131305],[103.264146,33.131534],[103.264043,33.131666],[103.264004,33.131716],[103.263981,33.131744],[103.263953,33.132014],[103.264016,33.132294],[103.26408,33.132575],[103.264213,33.132809],[103.264141,33.133001],[103.264094,33.133019],[103.264025,33.133018],[103.26366,33.132936],[103.263407,33.132952],[103.263154,33.132967],[103.262969,33.133023],[103.26283,33.133117],[103.262782,33.133232],[103.262821,33.133503],[103.262977,33.133795],[103.262984,33.133809],[103.263121,33.134067],[103.263265,33.134339],[103.263383,33.134732],[103.263393,33.134765],[103.263402,33.134819],[103.263455,33.135152],[103.263358,33.135382],[103.263243,33.135477],[103.26299,33.135493],[103.262932,33.135497],[103.262737,33.135509],[103.262484,33.135525],[103.262231,33.13554],[103.261978,33.135556],[103.261871,33.135563],[103.261726,33.135572],[103.261473,33.135587],[103.26114,33.135583],[103.260806,33.135579],[103.260629,33.135589],[103.260531,33.135594],[103.260365,33.135603],[103.260256,33.135609],[103.259956,33.135661],[103.25975,33.135732],[103.259713,33.135745],[103.25947,33.135829],[103.259283,33.136058],[103.259188,33.136231],[103.259172,33.136359],[103.259159,33.136463],[103.259213,33.136759],[103.259215,33.136769],[103.259283,33.137029],[103.259289,33.13705],[103.259363,33.137331],[103.259337,33.137562],[103.259265,33.137676],[103.259173,33.137713],[103.258943,33.137711],[103.258799,33.137684],[103.258714,33.137668],[103.258678,33.137665],[103.25837,33.137644],[103.25812,33.137674],[103.258073,33.137679],[103.257864,33.137753],[103.25777,33.137868],[103.257769,33.137929],[103.257761,33.138293],[103.257744,33.138502],[103.25773,33.138678],[103.257729,33.138758],[103.257726,33.138909],[103.257722,33.13914],[103.257651,33.139431],[103.257647,33.139449],[103.257489,33.139608],[103.257459,33.139639],[103.257136,33.139749],[103.256896,33.139803],[103.256895,33.139804],[103.256894,33.139804],[103.256824,33.13982],[103.256665,33.139855],[103.256653,33.139858],[103.256272,33.139921],[103.255892,33.139984],[103.255872,33.13999],[103.255521,33.140093],[103.255255,33.140175],[103.255221,33.140185],[103.255058,33.14032],[103.255003,33.140408],[103.254986,33.140434],[103.254984,33.140587],[103.254997,33.140678],[103.255025,33.140878],[103.255025,33.140879],[103.255025,33.14088],[103.255109,33.141168],[103.255171,33.141536],[103.255162,33.141979],[103.255091,33.142152],[103.255086,33.142169],[103.254969,33.142537],[103.254926,33.142593],[103.254837,33.142709],[103.254779,33.142785],[103.254777,33.142895],[103.254898,33.143119],[103.254922,33.143163],[103.254926,33.14317],[103.25501,33.143324],[103.25502,33.143342],[103.255174,33.143633],[103.255306,33.143886],[103.255322,33.144252],[103.255312,33.144352],[103.255295,33.144523],[103.255167,33.144795],[103.25515,33.144829],[103.255067,33.145093],[103.255028,33.145214],[103.255004,33.145288],[103.254973,33.145385],[103.254905,33.145597],[103.254821,33.145818],[103.254737,33.146039],[103.254593,33.146268],[103.25443,33.146421],[103.254316,33.146439],[103.254132,33.146435],[103.253927,33.146317],[103.253704,33.146044],[103.25367,33.145997],[103.253569,33.145859],[103.253528,33.145802],[103.253435,33.145674],[103.253425,33.145661],[103.253418,33.145653],[103.253289,33.145489],[103.253276,33.145472],[103.253158,33.145322],[103.253143,33.145303],[103.252957,33.145131],[103.252772,33.14496],[103.252658,33.144856],[103.252586,33.144789],[103.252563,33.144768],[103.2524,33.144617],[103.252289,33.144527],[103.252224,33.144475],[103.252049,33.144333],[103.251874,33.14419],[103.251699,33.144048],[103.251495,33.143939],[103.251291,33.143829],[103.251191,33.143835],[103.250991,33.143845],[103.250877,33.143862],[103.250778,33.144228],[103.25077,33.144594],[103.250796,33.144841],[103.250809,33.144961],[103.250873,33.145194],[103.250937,33.145426],[103.251003,33.145682],[103.251023,33.145756],[103.251016,33.146103],[103.251009,33.14645],[103.250798,33.146679],[103.250428,33.146828],[103.25015,33.146901],[103.249898,33.146878],[103.249647,33.146836],[103.249269,33.146715],[103.24911,33.146616],[103.248859,33.146555],[103.248608,33.146494],[103.248216,33.146585],[103.247983,33.146716],[103.247862,33.146985],[103.24786,33.147074],[103.247857,33.147224],[103.247856,33.147264],[103.24785,33.147543],[103.247779,33.147736],[103.24764,33.147792],[103.247319,33.147789],[103.247127,33.14774],[103.246908,33.147684],[103.246851,33.147673],[103.246725,33.147646],[103.246614,33.147623],[103.246519,33.147603],[103.246175,33.147617],[103.245888,33.14774],[103.245882,33.147743],[103.245827,33.147767],[103.245572,33.147936],[103.245293,33.148087],[103.245131,33.148143],[103.244993,33.148102],[103.244974,33.147947],[103.24498,33.147869],[103.244995,33.147701],[103.245003,33.147602],[103.245009,33.14733],[103.244994,33.147033],[103.244994,33.147024],[103.244992,33.147002],[103.244927,33.146828],[103.244723,33.146728],[103.244458,33.14674],[103.244402,33.146743],[103.244245,33.14678],[103.244171,33.146798],[103.244086,33.146889],[103.244029,33.14695],[103.243698,33.147213],[103.24347,33.147346],[103.243429,33.14736],[103.243124,33.147458],[103.243044,33.147471],[103.242686,33.147529],[103.242343,33.147505],[103.242068,33.147462],[103.241793,33.14742],[103.241718,33.147411],[103.241564,33.147393],[103.241515,33.147387],[103.241345,33.147367],[103.241335,33.147366],[103.241106,33.147338],[103.240877,33.147311],[103.240602,33.147269],[103.240473,33.147249],[103.240327,33.147226],[103.240278,33.147231],[103.239938,33.147259],[103.239589,33.147447],[103.239333,33.147617],[103.239207,33.147696],[103.239123,33.147749],[103.239022,33.147804],[103.238845,33.147899],[103.238614,33.147935],[103.238566,33.147939],[103.238481,33.147946],[103.238304,33.14796],[103.237995,33.147984],[103.237761,33.148008],[103.237527,33.148032],[103.237293,33.148056],[103.237059,33.148079],[103.236833,33.148148],[103.236608,33.148217],[103.236382,33.148286],[103.236157,33.148355],[103.235787,33.148472],[103.235736,33.148489],[103.235418,33.148589],[103.235048,33.148706],[103.234701,33.148843],[103.234354,33.148979],[103.234007,33.149116],[103.233599,33.149303],[103.233191,33.14949],[103.232783,33.149677],[103.232375,33.149864],[103.231968,33.150051],[103.231723,33.150128],[103.231479,33.150205],[103.231234,33.150282],[103.23099,33.150359],[103.230745,33.150436],[103.230501,33.150513],[103.230256,33.15059],[103.230012,33.150667],[103.229767,33.150744],[103.229523,33.150821],[103.229279,33.150898],[103.229034,33.150975],[103.228792,33.151042],[103.228682,33.151073],[103.228549,33.15111],[103.228539,33.151113],[103.228307,33.151178],[103.228064,33.151246],[103.227822,33.151314],[103.227579,33.151382],[103.227495,33.151406],[103.227337,33.15145],[103.227094,33.151518],[103.226852,33.151586],[103.22661,33.151654],[103.226533,33.151681],[103.226389,33.151733],[103.226168,33.151811],[103.225947,33.15189],[103.225726,33.151969],[103.225505,33.152047],[103.225284,33.152126],[103.225063,33.152205],[103.224842,33.152284],[103.224621,33.152362],[103.2244,33.152441],[103.224207,33.152507],[103.224169,33.15252],[103.223937,33.152598],[103.223821,33.152638],[103.223706,33.152677],[103.223475,33.152756],[103.223244,33.152835],[103.223013,33.152913],[103.222782,33.152992],[103.222551,33.153071],[103.222319,33.153149],[103.222088,33.153228],[103.221857,33.153307],[103.221626,33.153385],[103.221434,33.153451],[103.221395,33.153464],[103.221164,33.153543],[103.220932,33.153621],[103.220701,33.1537],[103.220463,33.153788],[103.220226,33.153875],[103.219988,33.153963],[103.21975,33.15405],[103.219512,33.154138],[103.219274,33.154226],[103.219036,33.154313],[103.218798,33.154401],[103.21856,33.154488],[103.218323,33.154576],[103.218085,33.154664],[103.217847,33.154751],[103.217609,33.154839],[103.217371,33.154926],[103.217117,33.155013],[103.216863,33.1551],[103.216609,33.155187],[103.216355,33.155274],[103.216101,33.155361],[103.215847,33.155448],[103.215593,33.155535],[103.215339,33.155622],[103.215085,33.155709],[103.214831,33.155796],[103.21478,33.155813],[103.214577,33.155883],[103.214323,33.155969],[103.214069,33.156048],[103.213815,33.156126],[103.21356,33.156205],[103.213306,33.156283],[103.212906,33.1564],[103.212505,33.156516],[103.212105,33.156633],[103.211889,33.156733],[103.211672,33.156833],[103.211456,33.156932],[103.211239,33.157032],[103.211023,33.157132],[103.210807,33.157232],[103.210436,33.15738],[103.210066,33.157528],[103.209672,33.157717],[103.209369,33.157906],[103.209229,33.158039],[103.208971,33.158331],[103.208712,33.158622],[103.208453,33.158914],[103.208265,33.159153],[103.208076,33.159391],[103.207845,33.159504],[103.207639,33.159483],[103.207388,33.159382],[103.207024,33.159202],[103.206706,33.159006],[103.206498,33.158905],[103.20629,33.158804],[103.206081,33.158703],[103.205873,33.158602],[103.205664,33.158501],[103.205456,33.158399],[103.205247,33.158298],[103.205039,33.158197],[103.204831,33.158096],[103.204622,33.157995],[103.204414,33.157894],[103.204205,33.157793],[103.203976,33.15769],[103.203747,33.157588],[103.203518,33.157485],[103.203289,33.157383],[103.20306,33.15728],[103.202831,33.157178],[103.202602,33.157075],[103.202373,33.156973],[103.202066,33.156834],[103.201758,33.156695],[103.201552,33.156671],[103.201207,33.156686],[103.200919,33.156778],[103.20063,33.15687],[103.200236,33.157019],[103.199959,33.157132],[103.199749,33.157264],[103.199539,33.157396],[103.199236,33.157674],[103.198932,33.157952],[103.198628,33.15823],[103.198435,33.158416],[103.198241,33.158602],[103.198048,33.158788],[103.197854,33.158974],[103.197726,33.15916],[103.197597,33.159347],[103.197469,33.159534],[103.19734,33.15972],[103.197212,33.159907],[103.197083,33.160094],[103.196955,33.16028],[103.196826,33.160467],[103.196697,33.160654],[103.196569,33.160841],[103.196435,33.161036],[103.196301,33.161232],[103.196166,33.161428],[103.196032,33.161624],[103.195898,33.16182],[103.195764,33.162016],[103.19563,33.162212],[103.195495,33.162408],[103.195361,33.162603],[103.195227,33.162799],[103.195093,33.162995],[103.194959,33.163191],[103.194805,33.163391],[103.194652,33.163592],[103.194418,33.163743],[103.194176,33.163846],[103.193933,33.163948],[103.193679,33.164012],[103.193425,33.164076],[103.193171,33.16414],[103.192917,33.164203],[103.192537,33.164304],[103.192156,33.164405],[103.191774,33.164553],[103.191391,33.164702],[103.191129,33.164785],[103.190868,33.164868],[103.190606,33.164951],[103.190344,33.165034],[103.190082,33.165117],[103.18982,33.1652],[103.189444,33.165333],[103.189068,33.165466],[103.188692,33.165598],[103.188664,33.165608],[103.188247,33.165766],[103.18783,33.165924],[103.187447,33.166122],[103.187064,33.166319],[103.186706,33.166553],[103.186347,33.166788],[103.186144,33.16692],[103.185919,33.167],[103.185693,33.167081],[103.185468,33.167161],[103.185242,33.167241],[103.185017,33.167321],[103.184791,33.167402],[103.184566,33.167482],[103.18434,33.167562],[103.184115,33.167643],[103.18389,33.167723],[103.183664,33.167803],[103.183439,33.167883],[103.183136,33.168032],[103.182811,33.168242],[103.182718,33.168317],[103.18262,33.168566],[103.182612,33.168952],[103.182605,33.169338],[103.18262,33.169666],[103.182643,33.170058],[103.182652,33.170215],[103.182658,33.170328],[103.182666,33.170451],[103.182688,33.170844],[103.182684,33.171076],[103.182683,33.171119],[103.18268,33.171249],[103.182672,33.171654],[103.182664,33.172059],[103.18266,33.172089],[103.182636,33.172289],[103.182608,33.172519],[103.18258,33.172749],[103.182552,33.172979],[103.182527,33.173065],[103.182484,33.173219],[103.182416,33.173459],[103.182348,33.173699],[103.18228,33.17394],[103.182206,33.174168],[103.182132,33.174397],[103.182059,33.174625],[103.181985,33.174854],[103.181912,33.175082],[103.18184,33.175305],[103.181838,33.175311],[103.181765,33.175539],[103.181691,33.175768],[103.181617,33.175996],[103.181597,33.17606],[103.181562,33.176168],[103.181544,33.176225],[103.181493,33.176452],[103.181442,33.17668],[103.181392,33.176907],[103.181341,33.177134],[103.18129,33.177362],[103.181239,33.177589],[103.181143,33.1778],[103.181046,33.17801],[103.18095,33.178221],[103.180854,33.178432],[103.180757,33.178642],[103.180661,33.178853],[103.180564,33.179063],[103.180468,33.179274],[103.180371,33.179485],[103.180275,33.179695],[103.180179,33.179906],[103.180082,33.180117],[103.180034,33.180334],[103.180033,33.180336],[103.180033,33.180338],[103.179987,33.180544],[103.179892,33.180972],[103.179797,33.181399],[103.179702,33.181827],[103.179645,33.182053],[103.179615,33.182175],[103.179589,33.182279],[103.179532,33.182505],[103.179476,33.182731],[103.179398,33.183173],[103.179392,33.183511],[103.179385,33.183849],[103.17933,33.184292],[103.17929,33.184542],[103.179251,33.184792],[103.179242,33.185236],[103.179282,33.185488],[103.179389,33.185874],[103.179565,33.186239],[103.17974,33.186604],[103.179837,33.186914],[103.179934,33.187224],[103.179926,33.18761],[103.179803,33.188032],[103.179611,33.188436],[103.179515,33.188652],[103.179419,33.188867],[103.179322,33.189083],[103.179226,33.189298],[103.179129,33.189514],[103.179033,33.189729],[103.178936,33.189945],[103.17884,33.19016],[103.178659,33.190523],[103.178478,33.190886],[103.178385,33.191315],[103.178292,33.191744],[103.178199,33.192173],[103.178147,33.192443],[103.178096,33.192712],[103.178086,33.193155],[103.178084,33.193573],[103.178082,33.193991],[103.178081,33.194409],[103.178083,33.194655],[103.178086,33.194901],[103.178088,33.195146],[103.178091,33.195392],[103.178093,33.195637],[103.178096,33.195883],[103.178098,33.196128],[103.178101,33.196374],[103.178103,33.19662],[103.178106,33.196865],[103.178108,33.197111],[103.178111,33.197356],[103.178071,33.1976],[103.178032,33.197844],[103.177992,33.198088],[103.177952,33.198332],[103.177913,33.198576],[103.177873,33.19882],[103.177822,33.199089],[103.177771,33.199358],[103.177685,33.199598],[103.177599,33.199838],[103.177513,33.200097],[103.177481,33.200193],[103.177427,33.200357],[103.177272,33.200673],[103.177116,33.200989],[103.176979,33.201214],[103.176843,33.201438],[103.176706,33.201663],[103.176569,33.201887],[103.176433,33.202112],[103.176296,33.202337],[103.176159,33.202561],[103.176155,33.202567],[103.176023,33.202786],[103.175884,33.203005],[103.175745,33.203224],[103.175606,33.203444],[103.175467,33.203663],[103.175328,33.203882],[103.175189,33.204102],[103.174969,33.20448],[103.174748,33.204857],[103.174528,33.205235],[103.174308,33.205613],[103.174164,33.20591],[103.17402,33.206207],[103.173965,33.206631],[103.173959,33.20692],[103.174021,33.20721],[103.174062,33.207451],[103.174103,33.207693],[103.174095,33.208074],[103.174087,33.208455],[103.174081,33.20875],[103.174075,33.209044],[103.174058,33.209324],[103.174041,33.209603],[103.174009,33.210027],[103.173977,33.210451],[103.173949,33.210682],[103.173921,33.210913],[103.173894,33.211144],[103.173866,33.211375],[103.173827,33.211615],[103.173788,33.211855],[103.173665,33.212163],[103.173487,33.212479],[103.173309,33.212795],[103.173235,33.213015],[103.173161,33.213235],[103.173061,33.21362],[103.173008,33.213976],[103.172975,33.21419],[103.172954,33.214332],[103.172919,33.21457],[103.172883,33.214807],[103.172848,33.215044],[103.172812,33.215282],[103.172777,33.215519],[103.172741,33.215756],[103.17271,33.215997],[103.172678,33.216238],[103.172646,33.216479],[103.172614,33.21672],[103.172582,33.216961],[103.17255,33.217201],[103.172511,33.217427],[103.172472,33.217653],[103.172433,33.217879],[103.172394,33.218105],[103.172354,33.218331],[103.172315,33.218557],[103.172276,33.218783],[103.172237,33.219008],[103.172172,33.219335],[103.172108,33.219662],[103.172031,33.220008],[103.172005,33.220139],[103.171981,33.220259],[103.17201,33.22051],[103.172039,33.220761],[103.172076,33.22099],[103.172114,33.221219],[103.172151,33.221448],[103.172189,33.221677],[103.172226,33.221906],[103.172263,33.222135],[103.172292,33.222386],[103.172322,33.222636],[103.172315,33.223003],[103.172283,33.223312],[103.172187,33.223638],[103.172123,33.223937],[103.17206,33.224235],[103.17199,33.224626],[103.17192,33.225017],[103.17185,33.225409],[103.171786,33.225736],[103.171723,33.226063],[103.171585,33.226412],[103.171447,33.226762],[103.17131,33.227112],[103.171248,33.227328],[103.171186,33.227544],[103.171124,33.22776],[103.171063,33.227977],[103.171044,33.228216],[103.171025,33.228454],[103.171006,33.228693],[103.170987,33.228932],[103.170969,33.229171],[103.17095,33.22941],[103.170931,33.229649],[103.170912,33.229888],[103.170893,33.230127],[103.170874,33.230366],[103.170834,33.230674],[103.170793,33.230983],[103.170694,33.23127],[103.170457,33.231635],[103.170315,33.231844],[103.170083,33.231974],[103.169683,33.232169],[103.169283,33.232364],[103.169072,33.232473],[103.168861,33.232582],[103.168808,33.232609],[103.168649,33.232691],[103.168441,33.232798],[103.168438,33.2328],[103.168226,33.232908],[103.168015,33.233017],[103.167804,33.233126],[103.167592,33.233235],[103.167381,33.233344],[103.167169,33.233452],[103.166962,33.233604],[103.166755,33.233755],[103.166549,33.233905],[103.166548,33.233906],[103.16634,33.234057],[103.166133,33.234208],[103.165926,33.234359],[103.165719,33.234511],[103.165512,33.234662],[103.165184,33.234933],[103.164857,33.235205],[103.16453,33.235477],[103.164352,33.235744],[103.164173,33.236011],[103.164077,33.236271],[103.16398,33.23653],[103.163833,33.236953],[103.163817,33.237184],[103.1638,33.237415],[103.163818,33.237722],[103.163835,33.238029],[103.163867,33.238286],[103.163899,33.238542],[103.163931,33.238798],[103.163963,33.239054],[103.163995,33.23931],[103.164027,33.239566],[103.164059,33.239822],[103.164091,33.240078],[103.164124,33.240326],[103.164157,33.240575],[103.16419,33.240823],[103.164224,33.241071],[103.164257,33.241319],[103.16429,33.241567],[103.164359,33.241809],[103.164429,33.242051],[103.164498,33.242293],[103.164568,33.242535],[103.164745,33.242866],[103.164922,33.243196],[103.165031,33.243507],[103.165045,33.243913],[103.165004,33.244259],[103.164962,33.244605],[103.164876,33.245033],[103.16479,33.245461],[103.164704,33.245889],[103.164676,33.24612],[103.164648,33.246351],[103.164639,33.246789],[103.16463,33.247226],[103.164622,33.247663],[103.164661,33.247915],[103.164795,33.248187],[103.164833,33.248534],[103.164826,33.248901],[103.164819,33.249267],[103.164742,33.249695],[103.164665,33.250122],[103.164661,33.250143],[103.164595,33.250396],[103.164529,33.250648],[103.164464,33.2509],[103.164398,33.251152],[103.164332,33.251405],[103.164266,33.251657],[103.164201,33.251909],[103.164135,33.252161],[103.164066,33.25243],[103.163997,33.252699],[103.163928,33.252968],[103.163859,33.253237],[103.163791,33.253506],[103.163722,33.253775],[103.163653,33.254044],[103.163584,33.254313],[103.163439,33.254678],[103.163293,33.255043],[103.163144,33.255241],[103.162995,33.255438],[103.162846,33.255636],[103.162697,33.255834],[103.162532,33.256027],[103.162368,33.256219],[103.162281,33.256321],[103.162203,33.256412],[103.162038,33.256604],[103.161873,33.256796],[103.161708,33.256989],[103.161543,33.257181],[103.161378,33.257374],[103.161214,33.257566],[103.161049,33.257758],[103.160865,33.257949],[103.16068,33.258139],[103.160496,33.25833],[103.160366,33.258464],[103.160312,33.25852],[103.160128,33.258711],[103.159944,33.258901],[103.15978,33.259032],[103.159665,33.25907],[103.159436,33.259047],[103.159184,33.258947],[103.158972,33.258805],[103.158889,33.25875],[103.158685,33.258621],[103.158481,33.258493],[103.158093,33.258313],[103.157886,33.25824],[103.157866,33.258233],[103.157498,33.258169],[103.157064,33.258125],[103.156754,33.25812],[103.156444,33.258116],[103.156144,33.25813],[103.155845,33.258145],[103.15558,33.258189],[103.155314,33.258234],[103.15508,33.258299],[103.154845,33.258365],[103.154698,33.258406],[103.154611,33.25843],[103.154376,33.258496],[103.154125,33.258538],[103.153873,33.258581],[103.153622,33.258623],[103.15337,33.258666],[103.153357,33.258668],[103.153156,33.258702],[103.153119,33.258708],[103.152867,33.25875],[103.152793,33.258763],[103.152727,33.258774],[103.152616,33.258793],[103.152443,33.258822],[103.152364,33.258835],[103.152113,33.258878],[103.151861,33.25892],[103.151434,33.259001],[103.151008,33.259081],[103.150581,33.259162],[103.150154,33.259243],[103.149923,33.259292],[103.149692,33.259342],[103.149461,33.259392],[103.14923,33.259441],[103.148907,33.259514],[103.148665,33.259539],[103.148626,33.259543],[103.148423,33.259564],[103.148181,33.259589],[103.147938,33.259615],[103.147752,33.259619],[103.147678,33.259621],[103.147418,33.259627],[103.147157,33.259633],[103.146897,33.259639],[103.146636,33.259645],[103.146376,33.259651],[103.146116,33.259657],[103.145855,33.259663],[103.145598,33.259655],[103.145341,33.259648],[103.145084,33.25964],[103.144827,33.259633],[103.14457,33.259626],[103.144313,33.259618],[103.144056,33.259611],[103.143799,33.259603],[103.143542,33.259596],[103.143285,33.259588],[103.143028,33.259581],[103.142771,33.259573],[103.142514,33.259566],[103.142257,33.259559],[103.141999,33.259551],[103.141742,33.259544],[103.141497,33.259543],[103.141252,33.259543],[103.141007,33.259542],[103.140762,33.259542],[103.140517,33.259541],[103.140272,33.259541],[103.140027,33.259541],[103.139781,33.25954],[103.139536,33.25954],[103.139291,33.259539],[103.139046,33.259539],[103.138801,33.259538],[103.138551,33.259533],[103.138302,33.259529],[103.138053,33.259524],[103.137803,33.259519],[103.137554,33.259514],[103.137304,33.259509],[103.137061,33.259504],[103.137055,33.259504],[103.136805,33.2595],[103.136556,33.259495],[103.136433,33.259492],[103.136306,33.25949],[103.136052,33.259463],[103.135797,33.259437],[103.135542,33.25941],[103.135287,33.259383],[103.135032,33.259357],[103.134778,33.25933],[103.134523,33.259303],[103.134405,33.259291],[103.134268,33.259277],[103.134013,33.25925],[103.133759,33.259224],[103.13352,33.259218],[103.133282,33.259213],[103.133044,33.259207],[103.132806,33.259202],[103.132567,33.259196],[103.132329,33.259191],[103.132091,33.259185],[103.131853,33.25918],[103.131776,33.259178],[103.131615,33.259174],[103.131376,33.259169],[103.131138,33.259163],[103.1309,33.259158],[103.130662,33.259152],[103.130423,33.259147],[103.130275,33.259149],[103.130017,33.259154],[103.12961,33.25916],[103.129346,33.259176],[103.129148,33.259188],[103.129082,33.259192],[103.12899,33.25921],[103.128849,33.259236],[103.128617,33.259279],[103.128359,33.25935],[103.128224,33.259388],[103.127831,33.259496],[103.127475,33.259602],[103.127447,33.25961],[103.127362,33.259636],[103.127118,33.259708],[103.126926,33.259766],[103.126762,33.259815],[103.126477,33.259898],[103.126193,33.259982],[103.125954,33.260052],[103.125716,33.260122],[103.125477,33.260192],[103.125239,33.260262],[103.125,33.260332],[103.124762,33.260402],[103.124667,33.26043],[103.124523,33.260472],[103.124285,33.260542],[103.124046,33.260612],[103.123808,33.260682],[103.12357,33.260752],[103.123331,33.260822],[103.122898,33.260922],[103.122465,33.261023],[103.122032,33.261123],[103.121688,33.261203],[103.121599,33.261224],[103.121206,33.261285],[103.120814,33.261346],[103.120367,33.261353],[103.120314,33.261352],[103.120314,33.261352],[103.120136,33.261349],[103.119905,33.261346],[103.119846,33.261341],[103.119489,33.261313],[103.119124,33.261281],[103.11871,33.261207],[103.118297,33.261133],[103.118267,33.261128],[103.117899,33.26106],[103.117657,33.26098],[103.117415,33.260899],[103.117174,33.260819],[103.116932,33.260738],[103.116563,33.260576],[103.116463,33.260532],[103.116291,33.260457],[103.116194,33.260415],[103.115826,33.260253],[103.115508,33.260141],[103.115191,33.260029],[103.11492,33.259998],[103.114649,33.259967],[103.114285,33.259948],[103.114246,33.259955],[103.113981,33.260003],[103.113879,33.260022],[103.113676,33.260059],[103.113339,33.260134],[103.113044,33.260162],[103.112748,33.260191],[103.112349,33.260185],[103.111976,33.26018],[103.11195,33.26018],[103.111715,33.260166],[103.111479,33.260153],[103.111244,33.260139],[103.111009,33.260126],[103.110782,33.260079],[103.110556,33.260032],[103.110329,33.259984],[103.110103,33.259937],[103.109732,33.259874],[103.109361,33.25981],[103.10899,33.259746],[103.108748,33.259692],[103.108506,33.259638],[103.108263,33.259584],[103.108021,33.25953],[103.107792,33.259467],[103.107563,33.259404],[103.107333,33.25934],[103.107104,33.259277],[103.106874,33.259214],[103.106645,33.25915],[103.106416,33.259087],[103.106186,33.259024],[103.105946,33.258961],[103.105706,33.258899],[103.105466,33.258837],[103.105225,33.258774],[103.104985,33.258712],[103.104745,33.25865],[103.104505,33.258587],[103.104265,33.258525],[103.104047,33.258462],[103.103829,33.258398],[103.103611,33.258334],[103.103393,33.258271],[103.103172,33.258195],[103.103161,33.258191],[103.103086,33.258166],[103.103074,33.258161],[103.103045,33.258151],[103.102943,33.258117],[103.10288,33.258095],[103.102696,33.258032],[103.102418,33.257934],[103.102141,33.257836],[103.101726,33.257685],[103.101312,33.257535],[103.100898,33.257384],[103.100494,33.25722],[103.100091,33.257056],[103.099688,33.256892],[103.099284,33.256728],[103.098871,33.256628],[103.098459,33.256529],[103.098046,33.256429],[103.097633,33.256329],[103.09737,33.256289],[103.097106,33.25625],[103.096787,33.256219],[103.096488,33.256259],[103.096268,33.256288],[103.096188,33.256298],[103.09613,33.256316],[103.096116,33.256321],[103.096084,33.256348],[103.096083,33.256266],[103.096067,33.256109],[103.095962,33.25579],[103.095859,33.255611],[103.095668,33.255422],[103.095583,33.255369],[103.095397,33.255293],[103.095352,33.255273],[103.095227,33.25524],[103.095123,33.255228],[103.095045,33.255226],[103.094972,33.255226],[103.094871,33.255247],[103.094766,33.255283],[103.09468,33.255315],[103.094616,33.255352],[103.0946,33.255361],[103.094524,33.255409],[103.09443,33.255476],[103.094362,33.255544],[103.094187,33.255693],[103.094098,33.255785],[103.094051,33.25584],[103.09397,33.255932],[103.093769,33.255827],[103.093842,33.255707],[103.093804,33.255707],[103.09378,33.255712],[103.093745,33.255719],[103.093717,33.255731],[103.093655,33.255764],[103.093575,33.255705],[103.093252,33.255466],[103.093182,33.255414],[103.092823,33.255148],[103.092666,33.254847],[103.092564,33.254652],[103.092421,33.254379],[103.092367,33.254264],[103.092359,33.254247],[103.092194,33.253895],[103.091881,33.253429],[103.091277,33.252985],[103.091204,33.252875],[103.091151,33.252795],[103.091058,33.252656],[103.091077,33.251787],[103.09112,33.251642],[103.091286,33.251084],[103.091336,33.25027],[103.091229,33.249624],[103.091106,33.249389],[103.090949,33.24909],[103.090882,33.24904],[103.090861,33.249024],[103.090608,33.248838],[103.090575,33.248813],[103.090329,33.248632],[103.089895,33.248544],[103.089704,33.248606],[103.089398,33.248706],[103.089358,33.248719],[103.089247,33.248829],[103.08883,33.249243],[103.088817,33.249256],[103.088816,33.249256],[103.088729,33.249343],[103.088728,33.249343],[103.088721,33.24935],[103.08859,33.249481],[103.088346,33.249678],[103.088269,33.249741],[103.088002,33.249757],[103.087786,33.249652],[103.087784,33.249646],[103.087783,33.249642],[103.087711,33.249408],[103.08767,33.249402],[103.087635,33.249395],[103.087608,33.24938],[103.087603,33.249357],[103.087619,33.249334],[103.087682,33.249314],[103.087673,33.249284],[103.087685,33.248725],[103.087685,33.248704],[103.087686,33.248673],[103.087619,33.248493],[103.087594,33.248427],[103.08738,33.248455],[103.087366,33.248406],[103.087344,33.248379],[103.087309,33.248372],[103.087267,33.248361],[103.087235,33.248413],[103.087184,33.248481],[103.087035,33.2485],[103.086823,33.24852],[103.086523,33.248548],[103.086477,33.248552],[103.086387,33.248554],[103.086052,33.248559],[103.085822,33.248563],[103.085645,33.248507],[103.085003,33.248306],[103.084261,33.247887],[103.084235,33.247868],[103.084217,33.247855],[103.083928,33.247652],[103.08376,33.247533],[103.083719,33.247186],[103.08395,33.246864],[103.084142,33.246792],[103.0845,33.246658],[103.084995,33.246483],[103.085379,33.246351],[103.085801,33.246174],[103.085975,33.246138],[103.086052,33.246147],[103.086194,33.24617],[103.0863,33.246182],[103.086428,33.246182],[103.086539,33.246182],[103.086683,33.246157],[103.086814,33.246122],[103.086943,33.246081],[103.087027,33.246056],[103.087076,33.246056],[103.087303,33.245946],[103.087356,33.245968],[103.087372,33.245959],[103.087416,33.245933],[103.087463,33.245911],[103.0875,33.245888],[103.087561,33.245853],[103.087593,33.24584],[103.087614,33.245824],[103.087607,33.245798],[103.087788,33.24571],[103.087851,33.245679],[103.08805,33.245582],[103.08834,33.245273],[103.088306,33.245224],[103.088296,33.245173],[103.088294,33.245131],[103.088296,33.24512],[103.088307,33.245079],[103.08834,33.245031],[103.088365,33.24502],[103.088406,33.245035],[103.088445,33.245086],[103.08848,33.245123],[103.088527,33.245073],[103.088561,33.245036],[103.088572,33.245025],[103.088878,33.244814],[103.08932,33.244508],[103.089328,33.244502],[103.089341,33.2445],[103.08942,33.244487],[103.08973,33.244436],[103.08974,33.244463],[103.089752,33.24448],[103.089776,33.244494],[103.089812,33.244501],[103.089852,33.2445],[103.089894,33.244499],[103.089934,33.244497],[103.089965,33.244502],[103.089991,33.244511],[103.090046,33.244537],[103.090102,33.244548],[103.090176,33.244558],[103.09025,33.244564],[103.090299,33.244561],[103.09038,33.244557],[103.090472,33.244538],[103.09053,33.244517],[103.090563,33.244491],[103.090583,33.244461],[103.0906,33.24443],[103.090912,33.244451],[103.090967,33.244466],[103.091544,33.244628],[103.091934,33.244669],[103.092233,33.2447],[103.092251,33.244694],[103.092437,33.244641],[103.092837,33.244526],[103.093037,33.244345],[103.093321,33.24409],[103.093523,33.24391],[103.093569,33.243437],[103.093453,33.242923],[103.093421,33.242783],[103.09342,33.242778],[103.093305,33.242533],[103.093301,33.242525],[103.093072,33.242039],[103.092683,33.241544],[103.092386,33.241005],[103.092327,33.240806],[103.092307,33.24074],[103.092267,33.240606],[103.092473,33.24035],[103.092486,33.240345],[103.092525,33.240332],[103.092608,33.240354],[103.092764,33.240367],[103.092893,33.240343],[103.093065,33.240286],[103.093182,33.240235],[103.093203,33.24022],[103.093265,33.240223],[103.093711,33.240246],[103.094458,33.240168],[103.094604,33.240153],[103.09465,33.240131],[103.094674,33.240119],[103.095431,33.239753],[103.095508,33.23975],[103.095525,33.239749],[103.095589,33.239747],[103.095763,33.239739],[103.095795,33.239738],[103.095986,33.239892],[103.096064,33.239941],[103.096112,33.239932],[103.096243,33.240104],[103.096892,33.24112],[103.097318,33.241479],[103.097325,33.241485],[103.097327,33.241487],[103.097363,33.241517],[103.097427,33.241571],[103.097685,33.241568],[103.097955,33.241564],[103.098125,33.241276],[103.097887,33.240527],[103.097885,33.240519],[103.097852,33.240417],[103.097794,33.240092],[103.097739,33.239789],[103.097771,33.239638],[103.097791,33.239548],[103.09788,33.239134],[103.098144,33.238772],[103.098255,33.23862],[103.098347,33.238579],[103.098348,33.238579],[103.098535,33.238496],[103.098599,33.238467],[103.098623,33.238457],[103.098626,33.238444],[103.098694,33.238166],[103.09873,33.238018],[103.099339,33.237771],[103.099892,33.237211],[103.100003,33.237054],[103.100005,33.236738],[103.099791,33.236551],[103.099157,33.236404],[103.09891,33.236552],[103.098702,33.236676],[103.098607,33.236733],[103.09831,33.23691],[103.098183,33.237006],[103.09764,33.237417],[103.09754,33.237492],[103.097479,33.237539],[103.09722,33.237749],[103.097192,33.237772],[103.097072,33.237869],[103.096977,33.237861],[103.096928,33.237856],[103.096885,33.237802],[103.096791,33.237769],[103.096656,33.23776],[103.096569,33.23777],[103.096439,33.237676],[103.09642,33.23759],[103.096373,33.237385],[103.096541,33.237126],[103.096548,33.237115],[103.09658,33.237067],[103.096642,33.23702],[103.097153,33.236633],[103.097415,33.236286],[103.097298,33.236126],[103.097256,33.236069],[103.097226,33.236057],[103.096823,33.235886],[103.09677,33.235863],[103.09656,33.235827],[103.09651,33.235776],[103.096461,33.235733],[103.096329,33.235652],[103.096252,33.235624],[103.096155,33.235592],[103.096051,33.235563],[103.095987,33.235544],[103.095945,33.235528],[103.095926,33.235521],[103.095876,33.235499],[103.095816,33.235462],[103.095766,33.235437],[103.095684,33.235412],[103.095648,33.235405],[103.095601,33.235402],[103.095446,33.235188],[103.095433,33.235172],[103.095263,33.234939],[103.095281,33.234628],[103.095291,33.234466],[103.095314,33.234396],[103.095288,33.234339],[103.095307,33.234211],[103.095327,33.234115],[103.095369,33.233996],[103.095392,33.233918],[103.095427,33.233831],[103.095446,33.233682],[103.095547,33.233553],[103.095505,33.233459],[103.095344,33.233096],[103.095287,33.232969],[103.094936,33.232413],[103.094911,33.231893],[103.095046,33.231529],[103.095121,33.231468],[103.095188,33.231414],[103.09527,33.231347],[103.095388,33.231375],[103.095468,33.231383],[103.09555,33.231379],[103.095626,33.23137],[103.095737,33.231346],[103.095799,33.231303],[103.095845,33.231263],[103.096214,33.231302],[103.096359,33.231365],[103.09642,33.231365],[103.096522,33.231383],[103.09662,33.231412],[103.096787,33.231478],[103.09715,33.231639],[103.097265,33.231699],[103.097318,33.23174],[103.097324,33.231742],[103.097881,33.231868],[103.0979,33.231872],[103.097934,33.231907],[103.098016,33.231963],[103.098153,33.232022],[103.09829,33.232067],[103.098442,33.232104],[103.098594,33.232107],[103.098728,33.232107],[103.098755,33.232122],[103.098956,33.232232],[103.099155,33.23234],[103.099344,33.232369],[103.099787,33.232437],[103.099925,33.232418],[103.100119,33.232345],[103.100277,33.232264],[103.100442,33.232165],[103.100545,33.232049],[103.100632,33.23193],[103.10069,33.231778],[103.100749,33.231626],[103.100771,33.231443],[103.100749,33.231288],[103.10072,33.231157],[103.100718,33.231151],[103.100688,33.231119],[103.100689,33.231104],[103.100689,33.231081],[103.100684,33.231063],[103.100655,33.230996],[103.100614,33.230895],[103.100579,33.230837],[103.100568,33.230821],[103.100528,33.230765],[103.100463,33.230692],[103.100409,33.230632],[103.100366,33.230599],[103.100326,33.230579],[103.100289,33.230561],[103.100202,33.23052],[103.100121,33.230493],[103.100051,33.230478],[103.099744,33.230109],[103.099552,33.229709],[103.099325,33.22928],[103.099287,33.229126],[103.099295,33.228928],[103.099287,33.228849],[103.099292,33.228707],[103.099295,33.228594],[103.098932,33.22835],[103.098532,33.228213],[103.098486,33.228197],[103.098138,33.228078],[103.098091,33.228076],[103.098058,33.228058],[103.098002,33.228044],[103.097926,33.228043],[103.097831,33.228048],[103.097757,33.228052],[103.097723,33.228063],[103.097421,33.228052],[103.097357,33.228118],[103.097287,33.228165],[103.097209,33.228193],[103.097134,33.2282],[103.097034,33.228201],[103.096794,33.228165],[103.096658,33.228128],[103.096628,33.228131],[103.096444,33.228134],[103.096436,33.228135],[103.096376,33.228103],[103.096223,33.228053],[103.096131,33.228036],[103.096073,33.228025],[103.095927,33.228014],[103.095804,33.228019],[103.095724,33.228028],[103.095649,33.228009],[103.095272,33.22782],[103.095262,33.22781],[103.095094,33.227619],[103.095555,33.22732],[103.095665,33.227304],[103.095695,33.2273],[103.095741,33.227323],[103.095831,33.227359],[103.095937,33.227377],[103.096029,33.227385],[103.096149,33.227384],[103.096229,33.227373],[103.096347,33.227339],[103.096425,33.2273],[103.096527,33.227243],[103.096586,33.227188],[103.096622,33.227148],[103.096666,33.227085],[103.096704,33.226972],[103.096784,33.226809],[103.09683,33.226647],[103.096919,33.226408],[103.096745,33.226101],[103.09669,33.226065],[103.096709,33.226027],[103.096725,33.225978],[103.096735,33.225903],[103.096734,33.225832],[103.096719,33.225773],[103.096691,33.225713],[103.096667,33.225676],[103.096638,33.225651],[103.0966,33.225634],[103.096537,33.225627],[103.096491,33.225626],[103.096384,33.22567],[103.096334,33.225706],[103.096315,33.225718],[103.096297,33.22573],[103.096264,33.225744],[103.096224,33.225756],[103.095934,33.225483],[103.095913,33.225464],[103.09578,33.225338],[103.095644,33.225207],[103.095442,33.225012],[103.095378,33.224614],[103.09537,33.224363],[103.095369,33.224345],[103.09542,33.224401],[103.095476,33.224429],[103.095539,33.224448],[103.095604,33.224454],[103.09572,33.224456],[103.095818,33.22444],[103.095875,33.224422],[103.095932,33.224394],[103.09594,33.224397],[103.096048,33.224451],[103.09609,33.224472],[103.096477,33.224672],[103.096538,33.22466],[103.096581,33.22463],[103.096611,33.224584],[103.096632,33.224553],[103.096663,33.224547],[103.096716,33.224561],[103.09679,33.224609],[103.096851,33.224655],[103.096861,33.224691],[103.096861,33.224728],[103.096842,33.224777],[103.096991,33.224807],[103.09712,33.224732],[103.097104,33.224577],[103.097097,33.224505],[103.09709,33.224442],[103.096969,33.22413],[103.096935,33.224042],[103.096815,33.223719],[103.0971,33.223158],[103.097457,33.222587],[103.097471,33.222561],[103.097342,33.221965],[103.097163,33.221866],[103.097175,33.221786],[103.09716,33.221682],[103.097135,33.221597],[103.097086,33.221531],[103.097043,33.221491],[103.096986,33.221467],[103.096929,33.221462],[103.09672,33.221477],[103.096561,33.221496],[103.096425,33.22151],[103.096285,33.221519],[103.096141,33.221538],[103.095763,33.221463],[103.094547,33.22123],[103.093765,33.221058],[103.093642,33.221031],[103.093632,33.22102],[103.093591,33.220984],[103.093548,33.220946],[103.093483,33.220904],[103.093251,33.220765],[103.093155,33.220711],[103.093087,33.220684],[103.093031,33.220665],[103.092978,33.220654],[103.092932,33.220641],[103.092636,33.220322],[103.09257,33.220251],[103.092511,33.220188],[103.092495,33.220173],[103.09249,33.219883],[103.092484,33.219656],[103.092484,33.219643],[103.092482,33.219551],[103.092929,33.219031],[103.092939,33.219019],[103.09321,33.218703],[103.093205,33.218526],[103.093201,33.218384],[103.093214,33.218354],[103.093224,33.218296],[103.093224,33.218229],[103.093223,33.218182],[103.093206,33.218121],[103.093176,33.218056],[103.093082,33.217944],[103.092979,33.217875],[103.092896,33.217811],[103.0928,33.21776],[103.092743,33.217743],[103.092713,33.217735],[103.092636,33.217668],[103.092437,33.217502],[103.092421,33.217488],[103.09238,33.217454],[103.091967,33.217109],[103.091862,33.216351],[103.091844,33.216224],[103.091756,33.215721],[103.091606,33.215711],[103.091622,33.215637],[103.091658,33.215388],[103.091641,33.215074],[103.091568,33.214682],[103.091566,33.214668],[103.091067,33.214685],[103.091044,33.214685],[103.090846,33.214692],[103.090105,33.214456],[103.090102,33.214434],[103.090071,33.214221],[103.090069,33.214208],[103.090059,33.214143],[103.090215,33.213892],[103.090501,33.213433],[103.090518,33.213398],[103.090723,33.212989],[103.090615,33.212914],[103.09061,33.21291],[103.090461,33.212806],[103.090418,33.212822],[103.089959,33.212995],[103.089609,33.213127],[103.089597,33.213132],[103.089548,33.21315],[103.08933,33.213327],[103.089287,33.213362],[103.089281,33.213397],[103.089207,33.213476],[103.089024,33.213628],[103.088898,33.213677],[103.088854,33.213688],[103.088595,33.213749],[103.088578,33.213753],[103.088473,33.213777],[103.088362,33.213803],[103.088319,33.213355],[103.088435,33.212909],[103.088515,33.212841],[103.088538,33.212821],[103.088552,33.212809],[103.088567,33.212796],[103.088595,33.212772],[103.089001,33.212424],[103.089357,33.212118],[103.089793,33.211677],[103.089768,33.211352],[103.089752,33.211139],[103.08963,33.211104],[103.089515,33.21107],[103.089505,33.211067],[103.08945,33.211051],[103.089103,33.21095],[103.0888,33.211058],[103.088718,33.211004],[103.088654,33.210987],[103.088594,33.210987],[103.088509,33.211018],[103.088428,33.211072],[103.088358,33.211118],[103.088284,33.211175],[103.088214,33.211253],[103.088166,33.211322],[103.088134,33.211368],[103.087483,33.211797],[103.087409,33.211845],[103.087138,33.212024],[103.087082,33.21206],[103.086974,33.212107],[103.086918,33.212132],[103.086863,33.212205],[103.086809,33.212274],[103.086749,33.21234],[103.086675,33.212388],[103.086579,33.212419],[103.086487,33.212438],[103.086416,33.212429],[103.08628,33.212369],[103.086132,33.212289],[103.086012,33.212196],[103.085956,33.212135],[103.085904,33.21204],[103.085868,33.211953],[103.085862,33.21189],[103.085868,33.211806],[103.085892,33.211741],[103.085923,33.211687],[103.085928,33.211682],[103.085894,33.211606],[103.085838,33.211467],[103.085768,33.21129],[103.085705,33.211133],[103.085233,33.21079],[103.084809,33.211178],[103.084655,33.211319],[103.084646,33.211327],[103.084296,33.211648],[103.084106,33.211842],[103.08384,33.212116],[103.08364,33.212147],[103.083309,33.212205],[103.082946,33.212355],[103.082484,33.212292],[103.082311,33.212262],[103.082211,33.21222],[103.082156,33.212156],[103.082149,33.212129],[103.082133,33.212066],[103.082129,33.211944],[103.082143,33.211857],[103.082168,33.211786],[103.082181,33.211758],[103.082177,33.21175],[103.082421,33.211445],[103.082548,33.211232],[103.082618,33.210733],[103.082694,33.210516],[103.082724,33.210421],[103.082793,33.210313],[103.082863,33.210232],[103.082996,33.210085],[103.083094,33.209968],[103.083195,33.209848],[103.083301,33.209763],[103.083403,33.209732],[103.08346,33.209738],[103.083535,33.209788],[103.083589,33.209832],[103.083671,33.209884],[103.083821,33.209821],[103.083986,33.209752],[103.084099,33.209766],[103.084202,33.209769],[103.084253,33.209761],[103.084287,33.209739],[103.084356,33.209695],[103.0845,33.209603],[103.084466,33.209557],[103.084403,33.209471],[103.084455,33.209414],[103.084512,33.209245],[103.084538,33.209077],[103.084523,33.208973],[103.084457,33.208862],[103.084357,33.20886],[103.084195,33.208844],[103.084071,33.208828],[103.083913,33.208796],[103.0838,33.208759],[103.083783,33.208807],[103.083445,33.208513],[103.083185,33.20825],[103.082703,33.207763],[103.082431,33.207171],[103.082283,33.20685],[103.082276,33.206795],[103.082209,33.20634],[103.082023,33.205058],[103.082133,33.204598],[103.082598,33.204817],[103.082716,33.2049],[103.083043,33.20513],[103.083251,33.205276],[103.083355,33.205349],[103.083512,33.205459],[103.083541,33.20545],[103.083534,33.205638],[103.083577,33.205667],[103.083681,33.205639],[103.083937,33.2055],[103.08418,33.20523],[103.084369,33.205068],[103.084458,33.204939],[103.084434,33.204851],[103.084471,33.20473],[103.084496,33.204653],[103.084546,33.204601],[103.084662,33.204581],[103.084751,33.204513],[103.08475,33.204377],[103.084741,33.204302],[103.084768,33.204206],[103.084809,33.204158],[103.084919,33.204119],[103.08492,33.204071],[103.084748,33.203715],[103.084665,33.203739],[103.084467,33.203797],[103.08441,33.203814],[103.084268,33.203856],[103.084175,33.203883],[103.084149,33.203898],[103.083508,33.204275],[103.083178,33.20427],[103.083152,33.204185],[103.083046,33.203846],[103.082942,33.20351],[103.082759,33.203546],[103.082527,33.203537],[103.082453,33.203514],[103.082379,33.203491],[103.082263,33.203352],[103.082164,33.203194],[103.082119,33.203097],[103.082112,33.203],[103.082111,33.202899],[103.082113,33.202857],[103.082116,33.202755],[103.082127,33.202666],[103.082153,33.202553],[103.0822,33.202403],[103.082246,33.202247],[103.082285,33.202088],[103.082302,33.201969],[103.082301,33.201884],[103.082276,33.20179],[103.082184,33.201616],[103.082138,33.201509],[103.082133,33.201491],[103.082113,33.201417],[103.082114,33.201326],[103.082127,33.201252],[103.082164,33.201173],[103.082175,33.20115],[103.08222,33.201098],[103.082332,33.201038],[103.082386,33.201009],[103.082419,33.200969],[103.082445,33.200929],[103.082465,33.200898],[103.082499,33.200811],[103.082583,33.200607],[103.082688,33.200272],[103.082741,33.20011],[103.082788,33.200041],[103.082862,33.199997],[103.082892,33.199956],[103.082907,33.199878],[103.082924,33.199781],[103.083003,33.199518],[103.083005,33.199443],[103.083008,33.199311],[103.083035,33.199121],[103.083042,33.198998],[103.083059,33.198872],[103.083084,33.198775],[103.08312,33.198664],[103.083157,33.198507],[103.083177,33.198456],[103.083068,33.198351],[103.082963,33.198341],[103.082971,33.198278],[103.082961,33.19822],[103.082945,33.19817],[103.082921,33.198124],[103.082865,33.19809],[103.082786,33.198074],[103.082699,33.198079],[103.082697,33.198082],[103.08262,33.198143],[103.082555,33.198217],[103.082489,33.198296],[103.08244,33.198291],[103.082099,33.198428],[103.081888,33.198513],[103.081715,33.198582],[103.081234,33.198676],[103.081144,33.198634],[103.081137,33.19863],[103.080895,33.198517],[103.080789,33.198467],[103.080688,33.19829],[103.080676,33.198268],[103.080587,33.198112],[103.080539,33.197582],[103.080742,33.197243],[103.080943,33.196909],[103.081085,33.196772],[103.081124,33.196732],[103.08127,33.196648],[103.081251,33.196628],[103.081241,33.1966],[103.081331,33.196609],[103.081491,33.196606],[103.081622,33.196605],[103.081785,33.196592],[103.081945,33.196573],[103.082137,33.196549],[103.08222,33.196539],[103.082357,33.196523],[103.082365,33.196522],[103.082591,33.196513],[103.082739,33.196522],[103.0831,33.196536],[103.083266,33.196556],[103.083383,33.196555],[103.083446,33.196549],[103.083663,33.196439],[103.083729,33.196406],[103.083859,33.196239],[103.083887,33.196067],[103.083875,33.195878],[103.083847,33.195835],[103.083755,33.195693],[103.083651,33.195652],[103.083626,33.195557],[103.083614,33.195485],[103.083584,33.19541],[103.083544,33.195327],[103.083501,33.195271],[103.083421,33.195206],[103.083358,33.195175],[103.08331,33.195161],[103.083254,33.195153],[103.083191,33.195164],[103.083142,33.195189],[103.083133,33.195194],[103.083076,33.195224],[103.082981,33.19525],[103.082857,33.195266],[103.082723,33.195284],[103.082217,33.195077],[103.082174,33.19506],[103.082122,33.195038],[103.08197,33.194802],[103.081953,33.194776],[103.081745,33.194453],[103.081883,33.19365],[103.082907,33.192671],[103.083553,33.19224],[103.083448,33.191924],[103.083076,33.191792],[103.083019,33.1918],[103.082976,33.191806],[103.082902,33.191816],[103.082716,33.191841],[103.082695,33.191768],[103.082677,33.191719],[103.082653,33.191658],[103.08263,33.191599],[103.082596,33.191542],[103.082555,33.191513],[103.082516,33.191495],[103.082488,33.191492],[103.082451,33.191505],[103.082398,33.191543],[103.082392,33.191547],[103.082329,33.19159],[103.082112,33.191757],[103.082066,33.19181],[103.081958,33.191902],[103.081899,33.191938],[103.081886,33.191938],[103.081721,33.191943],[103.081351,33.191955],[103.080867,33.191821],[103.08084,33.191756],[103.080836,33.191745],[103.080823,33.191713],[103.080751,33.191537],[103.080745,33.191523],[103.080725,33.191473],[103.080742,33.191309],[103.080772,33.191033],[103.081422,33.190414],[103.081577,33.190154],[103.081888,33.189634],[103.081952,33.189281],[103.081956,33.189255],[103.082014,33.188936],[103.082058,33.188692],[103.082092,33.188588],[103.082203,33.188242],[103.082383,33.187679],[103.082395,33.187642],[103.08246,33.187439],[103.082559,33.187315],[103.082806,33.187004],[103.083301,33.186533],[103.084335,33.185548],[103.084533,33.185342],[103.084871,33.18499],[103.085001,33.184174],[103.08506,33.183867],[103.08515,33.183397],[103.08519,33.183189],[103.085192,33.183183],[103.08527,33.183026],[103.085324,33.182877],[103.085289,33.182678],[103.085297,33.182636],[103.085202,33.181848],[103.085211,33.181768],[103.085214,33.181739],[103.085248,33.181439],[103.08563,33.181099],[103.086823,33.180677],[103.087252,33.180526],[103.087304,33.180507],[103.087594,33.180405],[103.087701,33.180367],[103.088874,33.179953],[103.090478,33.179431],[103.090721,33.179352],[103.091267,33.179046],[103.092198,33.178525],[103.092959,33.17797],[103.093047,33.17776],[103.093354,33.177032],[103.093441,33.175994],[103.093454,33.175837],[103.093422,33.175514],[103.093373,33.175038],[103.093362,33.174923],[103.093372,33.174438],[103.093379,33.174136],[103.093383,33.173386],[103.093385,33.172831],[103.093389,33.172164],[103.09339,33.171902],[103.09339,33.171894],[103.093337,33.170894],[103.093294,33.170724],[103.093096,33.169946],[103.092237,33.168139],[103.09211,33.167067],[103.092069,33.166813],[103.092005,33.166424],[103.091888,33.166253],[103.091808,33.166057],[103.091714,33.165909],[103.09152,33.165732],[103.091433,33.165645],[103.091443,33.165639],[103.091591,33.165584],[103.09182,33.1656],[103.091888,33.165537],[103.091883,33.165497],[103.091772,33.164486],[103.091756,33.164341],[103.091701,33.163844],[103.09157,33.162652],[103.09159,33.161708],[103.091754,33.161517],[103.09225,33.160935],[103.092612,33.160511],[103.09305,33.159999],[103.093483,33.159257],[103.093633,33.159001],[103.093905,33.158502],[103.093906,33.158476],[103.093917,33.157965],[103.093918,33.157935],[103.093868,33.157689],[103.093816,33.15743],[103.093466,33.157091],[103.093157,33.15679],[103.092615,33.155869],[103.09188,33.155292],[103.091088,33.154546],[103.090963,33.154428],[103.090573,33.153681],[103.090474,33.153492],[103.090636,33.153434],[103.091011,33.153279],[103.091137,33.153141],[103.091142,33.152998],[103.09107,33.152903],[103.091019,33.15284],[103.090998,33.152814],[103.090868,33.152624],[103.09081,33.152518],[103.090656,33.152496],[103.090263,33.152222],[103.090206,33.152182],[103.090161,33.15174],[103.090067,33.150889],[103.089882,33.150504],[103.089566,33.149843],[103.089539,33.14979],[103.089382,33.149484],[103.08933,33.149383],[103.089146,33.149024],[103.088996,33.148731],[103.088994,33.148728],[103.088571,33.147901],[103.088687,33.147881],[103.088967,33.147656],[103.089075,33.14754],[103.08918,33.147425],[103.089426,33.147278],[103.089447,33.147234],[103.089483,33.147159],[103.089233,33.147077],[103.088753,33.147005],[103.0884,33.146937],[103.08805,33.146885],[103.087456,33.145725],[103.087435,33.145684],[103.08696,33.144758],[103.086859,33.144561],[103.086857,33.144555],[103.08612,33.143117],[103.085918,33.142236],[103.08591,33.142201],[103.085881,33.142075],[103.085825,33.14194],[103.085691,33.14185],[103.085621,33.141764],[103.085523,33.141687],[103.085437,33.141634],[103.085415,33.141544],[103.085452,33.141455],[103.085472,33.141386],[103.085475,33.141297],[103.085465,33.141064],[103.085444,33.140803],[103.085421,33.140686],[103.085389,33.140536],[103.085354,33.14045],[103.085315,33.140379],[103.085224,33.140233],[103.085129,33.140151],[103.085072,33.140113],[103.084857,33.139622],[103.084226,33.138185],[103.084166,33.138143],[103.084086,33.138087],[103.084016,33.137963],[103.083958,33.137849],[103.083871,33.137692],[103.083836,33.137593],[103.083754,33.137388],[103.083655,33.137189],[103.083504,33.136861],[103.083405,33.136675],[103.083375,33.136533],[103.083459,33.136435],[103.082831,33.136079],[103.082068,33.135976],[103.082047,33.135973],[103.081307,33.135615],[103.080146,33.135692],[103.078205,33.135473],[103.075937,33.13484],[103.075345,33.134516],[103.074911,33.133848],[103.074899,33.133736],[103.07474,33.13361],[103.07465,33.13355],[103.074526,33.133497],[103.074453,33.133441],[103.074413,33.133348],[103.074404,33.133266],[103.074424,33.133219],[103.074522,33.1332],[103.074696,33.133199],[103.074849,33.133249],[103.074212,33.131571],[103.074197,33.131547],[103.074196,33.131545],[103.074176,33.131514],[103.073944,33.131144],[103.073888,33.131056],[103.073453,33.130363],[103.072174,33.12899],[103.070755,33.128874],[103.069706,33.128952],[103.067463,33.128854],[103.066639,33.128904],[103.065744,33.128796],[103.065495,33.128226],[103.064328,33.125155],[103.063434,33.124983],[103.062842,33.125031],[103.061785,33.125115],[103.06006,33.125308],[103.058862,33.125353],[103.057211,33.125579],[103.05683,33.12561],[103.0556,33.125711],[103.055351,33.125736],[103.055303,33.125741],[103.054513,33.12582],[103.053574,33.125963],[103.052377,33.125975],[103.051291,33.126053],[103.05046,33.126324],[103.049821,33.126533],[103.049737,33.126538],[103.049724,33.126539],[103.049416,33.126555],[103.048939,33.126581],[103.048922,33.126582],[103.048322,33.126667],[103.047872,33.126786],[103.047852,33.126782],[103.047826,33.12679],[103.047767,33.126806],[103.04773,33.126817],[103.047009,33.126836],[103.04653,33.126727],[103.046265,33.126666],[103.045671,33.126437],[103.045236,33.126522],[103.045221,33.126524],[103.045201,33.126527],[103.044869,33.12657],[103.044706,33.126591],[103.044652,33.126598],[103.044608,33.126639],[103.044581,33.126657],[103.044542,33.126679],[103.044487,33.126698],[103.04443,33.126712],[103.044374,33.12671],[103.044317,33.1267],[103.044264,33.126685],[103.044241,33.126667],[103.044232,33.126656],[103.044217,33.126658],[103.044159,33.126667],[103.043607,33.126751],[103.043569,33.126765],[103.043303,33.126866],[103.04289,33.127023],[103.042328,33.127077],[103.041773,33.126816],[103.041752,33.126598],[103.041742,33.126501],[103.041739,33.126492],[103.041659,33.126276],[103.041531,33.125931],[103.041236,33.125722],[103.041149,33.12566],[103.041119,33.125639],[103.041078,33.12561],[103.041059,33.125596],[103.040983,33.125552],[103.040956,33.125543],[103.040928,33.125534],[103.040899,33.125528],[103.040882,33.125522],[103.040853,33.125498],[103.040783,33.125486],[103.040679,33.125468],[103.040426,33.125425],[103.040122,33.125374],[103.039545,33.125507],[103.039482,33.125521],[103.038988,33.125489],[103.038847,33.12548],[103.038802,33.125427],[103.038596,33.125186],[103.038519,33.125097],[103.038684,33.124856],[103.038661,33.124809],[103.038656,33.124758],[103.03867,33.124712],[103.038692,33.124676],[103.0387,33.12462],[103.038688,33.124588],[103.038675,33.124583],[103.038605,33.124583],[103.038555,33.124586],[103.038513,33.124587],[103.038448,33.124571],[103.038425,33.124551],[103.038413,33.124513],[103.038411,33.124474],[103.038436,33.124434],[103.038481,33.124411],[103.038501,33.124398],[103.038518,33.124381],[103.038546,33.124362],[103.038555,33.124333],[103.038553,33.12431],[103.038539,33.124276],[103.038517,33.124245],[103.038484,33.124223],[103.038464,33.124202],[103.038444,33.124185],[103.038415,33.124173],[103.038373,33.124166],[103.038333,33.124163],[103.038306,33.124154],[103.038271,33.124135],[103.03798,33.124113],[103.037817,33.124189],[103.037527,33.124326],[103.037105,33.12476],[103.036544,33.124782],[103.036034,33.124659],[103.035986,33.124648],[103.035736,33.124615],[103.035688,33.124632],[103.0356,33.124646],[103.035524,33.124635],[103.035495,33.124618],[103.035469,33.124601],[103.03545,33.124578],[103.035457,33.124556],[103.035468,33.124537],[103.035488,33.124515],[103.035506,33.124507],[103.035521,33.124498],[103.035554,33.12448],[103.035569,33.124475],[103.035582,33.12446],[103.035585,33.124433],[103.035556,33.124417],[103.035528,33.124416],[103.03549,33.124428],[103.035468,33.124439],[103.035452,33.124452],[103.035435,33.12447],[103.035418,33.124485],[103.035388,33.124499],[103.035358,33.124509],[103.035282,33.124514],[103.035254,33.124513],[103.035224,33.124505],[103.035197,33.124492],[103.035184,33.124484],[103.035171,33.124467],[103.035161,33.124444],[103.035152,33.12442],[103.03514,33.124393],[103.035128,33.124365],[103.035114,33.124342],[103.035103,33.124328],[103.035083,33.124318],[103.03506,33.124312],[103.035036,33.124313],[103.035002,33.124321],[103.034987,33.12433],[103.034979,33.124341],[103.034983,33.124362],[103.035004,33.124382],[103.035036,33.124404],[103.035065,33.124432],[103.035076,33.124449],[103.03508,33.124475],[103.03507,33.124501],[103.035058,33.124523],[103.035045,33.124538],[103.035031,33.124554],[103.035013,33.124569],[103.034989,33.124583],[103.034955,33.1246],[103.034905,33.124603],[103.034875,33.124596],[103.034847,33.124581],[103.034813,33.124572],[103.034789,33.124577],[103.034762,33.124594],[103.034729,33.124615],[103.034692,33.124636],[103.034661,33.124638],[103.034631,33.124633],[103.034593,33.124613],[103.034536,33.124568],[103.034525,33.124553],[103.034517,33.124532],[103.034243,33.12457],[103.034095,33.12459],[103.033704,33.124643],[103.032961,33.124553],[103.032809,33.124535],[103.032726,33.124516],[103.032677,33.124505],[103.032065,33.124366],[103.031688,33.124485],[103.031265,33.125014],[103.031158,33.125069],[103.031089,33.125104],[103.030848,33.125228],[103.030514,33.125128],[103.030371,33.124811],[103.030344,33.124711],[103.030332,33.124666],[103.030311,33.124589],[103.030276,33.12446],[103.030261,33.124464],[103.030236,33.124452],[103.0302,33.124441],[103.030176,33.124426],[103.030169,33.124422],[103.03015,33.124395],[103.03015,33.12438],[103.030172,33.124341],[103.030184,33.124324],[103.030231,33.124303],[103.029903,33.124017],[103.029492,33.123979],[103.029399,33.123982],[103.028931,33.124001],[103.028743,33.123974],[103.028697,33.123947],[103.028675,33.123929],[103.028654,33.123896],[103.028641,33.123869],[103.028609,33.123843],[103.028573,33.123817],[103.028525,33.123794],[103.028481,33.123776],[103.028413,33.123757],[103.028341,33.123746],[103.02828,33.123744],[103.028191,33.123643],[103.028197,33.12361],[103.028215,33.123508],[103.028224,33.123457],[103.028233,33.123408],[103.02826,33.123263],[103.028262,33.123248],[103.028276,33.123172],[103.028294,33.122386],[103.028227,33.12225],[103.028195,33.122184],[103.028165,33.122123],[103.028157,33.122108],[103.027936,33.121656],[103.027291,33.121322],[103.027122,33.121234],[103.026047,33.121012],[103.025968,33.120996],[103.025233,33.121048],[103.025069,33.12106],[103.025068,33.12108],[103.02507,33.121097],[103.025074,33.121114],[103.025077,33.121132],[103.02508,33.121149],[103.025083,33.121166],[103.025074,33.121189],[103.025058,33.121226],[103.025046,33.121243],[103.025021,33.121267],[103.024998,33.121276],[103.024953,33.12128],[103.024913,33.12128],[103.024857,33.121269],[103.024828,33.121258],[103.024813,33.121242],[103.02481,33.12122],[103.02481,33.1212],[103.024818,33.121179],[103.024827,33.121157],[103.024832,33.121139],[103.024838,33.12112],[103.024842,33.1211],[103.024841,33.12108],[103.02483,33.121043],[103.024784,33.121002],[103.024752,33.120978],[103.024707,33.120954],[103.024668,33.120965],[103.024667,33.120986],[103.024673,33.121016],[103.024691,33.121055],[103.024694,33.121069],[103.024706,33.121106],[103.024712,33.121132],[103.024707,33.12115],[103.024697,33.121179],[103.02469,33.121208],[103.024676,33.121243],[103.024667,33.12127],[103.024656,33.121303],[103.024641,33.121332],[103.024615,33.121359],[103.024584,33.121375],[103.024533,33.121385],[103.024487,33.121386],[103.024447,33.12138],[103.024417,33.121366],[103.024412,33.121345],[103.024411,33.121327],[103.024428,33.121298],[103.024436,33.121282],[103.024437,33.121252],[103.024436,33.121242],[103.024421,33.121228],[103.024391,33.121216],[103.024347,33.121204],[103.024323,33.121202],[103.024305,33.121197],[103.024267,33.121187],[103.024118,33.121215],[103.024107,33.121217],[103.023859,33.121263],[103.023802,33.121254],[103.023699,33.121247],[103.023618,33.121256],[103.023599,33.121261],[103.023582,33.121267],[103.023567,33.121273],[103.023429,33.12127],[103.023128,33.121265],[103.023045,33.121264],[103.022891,33.121212],[103.022852,33.121206],[103.022819,33.121194],[103.022797,33.121165],[103.022764,33.121121],[103.022731,33.121077],[103.022719,33.12106],[103.022688,33.121041],[103.022644,33.121014],[103.022528,33.120941],[103.022415,33.120837],[103.021938,33.120401],[103.021818,33.120291],[103.021759,33.120236],[103.021751,33.120141],[103.02175,33.120128],[103.02175,33.120118],[103.021747,33.120079],[103.021732,33.120073],[103.021712,33.120054],[103.021712,33.120032],[103.021719,33.120008],[103.02174,33.119989],[103.021761,33.119946],[103.02177,33.119906],[103.021779,33.119871],[103.02179,33.119836],[103.021798,33.119809],[103.021803,33.119782],[103.0218,33.119749],[103.021771,33.119717],[103.021755,33.119696],[103.021709,33.119658],[103.021699,33.119563],[103.021668,33.119259],[103.021264,33.118818],[103.02123,33.11878],[103.021082,33.118727],[103.021023,33.118707],[103.020674,33.118582],[103.020461,33.118531],[103.020116,33.118448],[103.020047,33.118264],[103.020003,33.118145],[103.019985,33.118097],[103.020011,33.1181],[103.02004,33.118113],[103.020058,33.118124],[103.020078,33.118171],[103.020085,33.11819],[103.020092,33.118216],[103.020111,33.118242],[103.020138,33.11826],[103.020172,33.118265],[103.020212,33.118261],[103.020241,33.118255],[103.020264,33.11825],[103.020284,33.118238],[103.020321,33.118223],[103.020332,33.118208],[103.020298,33.118188],[103.02026,33.118182],[103.020238,33.118171],[103.020222,33.118142],[103.020226,33.118118],[103.020234,33.11808],[103.020221,33.118044],[103.020206,33.118021],[103.02019,33.117999],[103.020157,33.117976],[103.020128,33.117959],[103.020088,33.11795],[103.020043,33.117953],[103.020016,33.117962],[103.019996,33.11798],[103.019978,33.118007],[103.019958,33.118024],[103.019928,33.117944],[103.019911,33.117897],[103.01985,33.117903],[103.019803,33.117915],[103.019749,33.117945],[103.01971,33.117963],[103.019679,33.11796],[103.019655,33.117933],[103.019632,33.117883],[103.019632,33.117834],[103.019643,33.117793],[103.019664,33.117741],[103.019517,33.117658],[103.019522,33.117614],[103.019526,33.117542],[103.019513,33.1175],[103.019487,33.117487],[103.01941,33.117467],[103.01934,33.117468],[103.019271,33.117467],[103.019227,33.117455],[103.019171,33.117423],[103.019136,33.117383],[103.01909,33.117324],[103.019063,33.117257],[103.019029,33.117227],[103.018993,33.117217],[103.018922,33.117232],[103.01886,33.117251],[103.018781,33.117259],[103.018717,33.117248],[103.018644,33.117219],[103.018576,33.117134],[103.01848,33.11713],[103.018373,33.117162],[103.018339,33.117171],[103.018131,33.117111],[103.018113,33.117106],[103.018059,33.11709],[103.01791,33.117046],[103.017896,33.117014],[103.01788,33.116993],[103.01784,33.116968],[103.017807,33.116952],[103.017775,33.11694],[103.017729,33.116943],[103.017705,33.116953],[103.017663,33.116975],[103.017383,33.116893],[103.017298,33.116833],[103.017276,33.116817],[103.017179,33.116749],[103.017154,33.116731],[103.016794,33.116475],[103.01674,33.116186],[103.016736,33.116165],[103.016692,33.115932],[103.016688,33.11591],[103.016644,33.115674],[103.016642,33.11566],[103.016641,33.115655],[103.016629,33.115595],[103.016629,33.115591],[103.016625,33.115571],[103.016597,33.115423],[103.016594,33.115406],[103.016593,33.115402],[103.016582,33.115332],[103.016578,33.115309],[103.016576,33.115299],[103.016481,33.114728],[103.016462,33.114613],[103.016252,33.114387],[103.016091,33.114214],[103.016025,33.114142],[103.015987,33.114101],[103.015956,33.114065],[103.015607,33.113647],[103.015586,33.113623],[103.015586,33.113623],[103.015495,33.113537],[103.015147,33.113207],[103.015233,33.112705],[103.015171,33.112604],[103.015159,33.112584],[103.015072,33.112441],[103.015029,33.112371],[103.014983,33.11238],[103.014915,33.112368],[103.014885,33.112356],[103.01487,33.112339],[103.014869,33.112315],[103.014883,33.112291],[103.014899,33.112282],[103.0149,33.112265],[103.014891,33.112254],[103.014869,33.112235],[103.01483,33.112213],[103.014803,33.11219],[103.014799,33.112181],[103.01476,33.112128],[103.014753,33.112105],[103.01474,33.112083],[103.01473,33.112067],[103.014699,33.112052],[103.01468,33.112056],[103.014639,33.112084],[103.014631,33.112079],[103.014595,33.112058],[103.014501,33.112],[103.014627,33.111373],[103.01461,33.111045],[103.014606,33.110971],[103.014608,33.11097],[103.014623,33.11095],[103.014622,33.11093],[103.014616,33.110908],[103.014608,33.110882],[103.014606,33.110852],[103.014613,33.110827],[103.014622,33.110794],[103.014632,33.110773],[103.014637,33.110752],[103.01463,33.110731],[103.014617,33.110722],[103.014577,33.110714],[103.01456,33.110604],[103.01452,33.110348],[103.014503,33.110238],[103.014171,33.110012],[103.014019,33.11001],[103.013621,33.110004],[103.013499,33.110002],[103.013321,33.110092],[103.013263,33.110121],[103.013213,33.110147],[103.013163,33.110173],[103.013119,33.110184],[103.013076,33.11019],[103.013046,33.110188],[103.013011,33.110179],[103.012976,33.110158],[103.01294,33.110128],[103.012879,33.11008],[103.012834,33.110054],[103.012754,33.110042],[103.012711,33.110064],[103.012681,33.110114],[103.012664,33.110181],[103.012655,33.110247],[103.012651,33.110309],[103.012647,33.110383],[103.012645,33.110402],[103.012635,33.110433],[103.012624,33.110462],[103.012608,33.11049],[103.012582,33.110521],[103.012549,33.110541],[103.012514,33.110544],[103.012476,33.110539],[103.01246,33.110524],[103.012438,33.110483],[103.012417,33.110456],[103.012399,33.110411],[103.012387,33.110395],[103.012354,33.110384],[103.01233,33.110377],[103.012315,33.110363],[103.012294,33.110346],[103.012279,33.110326],[103.012249,33.110307],[103.012215,33.110292],[103.012179,33.110306],[103.01215,33.110323],[103.012119,33.110336],[103.012073,33.110335],[103.012034,33.110329],[103.011996,33.11031],[103.011949,33.110279],[103.011908,33.110262],[103.011884,33.11025],[103.011867,33.110243],[103.011854,33.110239],[103.011802,33.110238],[103.01176,33.110249],[103.011723,33.110264],[103.011663,33.110288],[103.011618,33.110295],[103.011574,33.110294],[103.011539,33.110286],[103.011517,33.110275],[103.011494,33.110262],[103.011477,33.110236],[103.011465,33.110202],[103.011465,33.110176],[103.011452,33.110135],[103.011431,33.110094],[103.011419,33.110059],[103.01139,33.11003],[103.011342,33.110021],[103.01121,33.110019],[103.011161,33.110039],[103.011166,33.110087],[103.011191,33.110137],[103.011244,33.110198],[103.011289,33.110261],[103.011326,33.110322],[103.011351,33.110362],[103.011399,33.110405],[103.011426,33.110441],[103.011445,33.110502],[103.01145,33.110589],[103.01145,33.110631],[103.011445,33.110668],[103.011415,33.110684],[103.011367,33.110686],[103.01129,33.110681],[103.011261,33.110682],[103.011244,33.110724],[103.011261,33.110768],[103.011283,33.110811],[103.011289,33.110846],[103.011294,33.110872],[103.011296,33.110948],[103.011297,33.110965],[103.011292,33.111046],[103.011289,33.111109],[103.011258,33.111167],[103.01121,33.111226],[103.011155,33.111273],[103.011101,33.111305],[103.011032,33.111365],[103.010967,33.111397],[103.010876,33.111395],[103.010801,33.111368],[103.010739,33.111335],[103.010665,33.111322],[103.010554,33.111331],[103.010445,33.111369],[103.010366,33.111375],[103.010265,33.11135],[103.010156,33.111314],[103.010083,33.111311],[103.01,33.111311],[103.009935,33.111325],[103.009893,33.111342],[103.00973,33.111263],[103.009723,33.111256],[103.009682,33.11121],[103.009659,33.111186],[103.009292,33.110784],[103.009288,33.110682],[103.009268,33.110186],[103.00936,33.109883],[103.009375,33.109836],[103.00943,33.109653],[103.009376,33.109607],[103.00918,33.109435],[103.009122,33.109384],[103.0091,33.109365],[103.008943,33.109273],[103.008904,33.10925],[103.008768,33.109171],[103.008569,33.109158],[103.00854,33.109156],[103.008298,33.10914],[103.008133,33.109129],[103.008104,33.109123],[103.008035,33.109108],[103.008034,33.10913],[103.008024,33.109151],[103.008006,33.109164],[103.007972,33.109163],[103.007941,33.109158],[103.007899,33.109136],[103.007875,33.109118],[103.007843,33.109091],[103.007805,33.109058],[103.007767,33.109031],[103.00774,33.109025],[103.007681,33.109035],[103.00765,33.109055],[103.007631,33.109081],[103.00762,33.109107],[103.0076,33.109133],[103.007569,33.109152],[103.007532,33.109172],[103.007481,33.109181],[103.007427,33.10919],[103.007389,33.109207],[103.007364,33.109229],[103.007331,33.109251],[103.007288,33.109267],[103.007251,33.109271],[103.00719,33.109263],[103.007127,33.109235],[103.007074,33.109199],[103.007032,33.109168],[103.00699,33.109143],[103.006951,33.109125],[103.006899,33.109105],[103.006872,33.109076],[103.006866,33.10903],[103.006869,33.108988],[103.006867,33.108965],[103.006861,33.108955],[103.006822,33.108886],[103.006842,33.108845],[103.006804,33.108836],[103.006768,33.10882],[103.006728,33.108793],[103.006695,33.10878],[103.006687,33.108786],[103.006632,33.108787],[103.006601,33.108786],[103.006557,33.108762],[103.006518,33.108739],[103.00641,33.108697],[103.006384,33.108684],[103.006369,33.10867],[103.006355,33.10864],[103.006348,33.108603],[103.006369,33.108576],[103.006379,33.10856],[103.00638,33.108531],[103.006357,33.108508],[103.006266,33.108524],[103.006234,33.108528],[103.00619,33.108526],[103.006168,33.108517],[103.006144,33.108498],[103.006117,33.108444],[103.006118,33.108386],[103.006129,33.108331],[103.006154,33.108294],[103.006188,33.108258],[103.006197,33.108208],[103.006175,33.108189],[103.006123,33.108138],[103.006087,33.108071],[103.006084,33.108065],[103.006044,33.107994],[103.006019,33.107956],[103.005998,33.107912],[103.005961,33.107893],[103.005915,33.107876],[103.005847,33.107851],[103.00579,33.107832],[103.005742,33.107806],[103.005706,33.107784],[103.005677,33.10776],[103.005652,33.107725],[103.005603,33.10769],[103.005559,33.107681],[103.005522,33.107672],[103.005458,33.107614],[103.005359,33.107587],[103.005246,33.107583],[103.005172,33.107558],[103.005115,33.10752],[103.005063,33.107478],[103.005021,33.107416],[103.004978,33.107358],[103.004968,33.107329],[103.004963,33.107274],[103.004992,33.107208],[103.005013,33.107163],[103.004985,33.107085],[103.004934,33.10703],[103.004904,33.106996],[103.004916,33.106908],[103.004908,33.10688],[103.004875,33.10685],[103.00483,33.106814],[103.004743,33.106819],[103.004659,33.106866],[103.004616,33.106874],[103.00455,33.106869],[103.004519,33.106844],[103.004506,33.106828],[103.004496,33.106799],[103.004482,33.106748],[103.004461,33.106699],[103.00444,33.10668],[103.004399,33.106657],[103.00437,33.106652],[103.004345,33.106648],[103.004325,33.106664],[103.004308,33.106712],[103.004233,33.106786],[103.004186,33.106848],[103.004131,33.106907],[103.004061,33.106946],[103.004004,33.106968],[103.003907,33.106978],[103.003803,33.106974],[103.003756,33.106942],[103.003722,33.106883],[103.003701,33.106825],[103.003699,33.106752],[103.003699,33.10671],[103.003729,33.106607],[103.003747,33.10657],[103.003742,33.106542],[103.003708,33.106527],[103.003558,33.10652],[103.003453,33.106491],[103.003435,33.106458],[103.003432,33.106401],[103.003438,33.106356],[103.003449,33.106364],[103.00347,33.106374],[103.003487,33.10638],[103.003516,33.106369],[103.003507,33.106343],[103.003433,33.106145],[103.003433,33.106145],[103.003428,33.106132],[103.003415,33.106097],[103.003344,33.105905],[103.003347,33.105898],[103.003386,33.105814],[103.003393,33.105798],[103.003447,33.105681],[103.003465,33.10564],[103.003495,33.105613],[103.003519,33.105584],[103.003535,33.105556],[103.003553,33.105529],[103.003584,33.105493],[103.003608,33.105478],[103.003664,33.105459],[103.003718,33.105444],[103.003751,33.105424],[103.003766,33.105404],[103.003761,33.105384],[103.003733,33.105374],[103.003688,33.105378],[103.003668,33.105385],[103.003608,33.105411],[103.003653,33.105348],[103.003661,33.105336],[103.003771,33.105182],[103.00381,33.105126],[103.003857,33.104717],[103.003675,33.104494],[103.003236,33.104542],[103.003215,33.104544],[103.003185,33.104535],[103.003157,33.104528],[103.003137,33.104528],[103.003113,33.104531],[103.003089,33.104541],[103.003063,33.104554],[103.003026,33.104565],[103.00299,33.104569],[103.002983,33.104539],[103.002962,33.104516],[103.002919,33.104494],[103.002885,33.104484],[103.002854,33.104493],[103.002842,33.104515],[103.002837,33.104544],[103.002833,33.104573],[103.002821,33.104602],[103.002788,33.104621],[103.002753,33.10463],[103.002728,33.104625],[103.002719,33.104615],[103.002712,33.104598],[103.002706,33.104574],[103.002698,33.104549],[103.002673,33.104527],[103.002658,33.104529],[103.002643,33.104541],[103.002622,33.104577],[103.002598,33.10461],[103.002573,33.104646],[103.002561,33.104674],[103.00256,33.104701],[103.002571,33.104718],[103.002523,33.104738],[103.002321,33.104818],[103.001836,33.104811],[103.00167,33.104724],[103.001466,33.104616],[103.001029,33.104074],[103.000854,33.103663],[103.000818,33.103578],[103.000745,33.103408],[103.00074,33.103394],[103.000788,33.10334],[103.000822,33.103328],[103.000853,33.103309],[103.000861,33.103282],[103.000831,33.103253],[103.000804,33.103233],[103.000763,33.103218],[103.000733,33.103183],[103.000712,33.103138],[103.000689,33.103106],[103.000655,33.103075],[103.000611,33.103062],[103.000462,33.10268],[103.000106,33.102294],[102.999784,33.101944],[102.99957,33.101757],[102.999457,33.101658],[102.999425,33.10163],[102.999525,33.101596],[102.99956,33.101582],[102.999567,33.101567],[102.99955,33.101557],[102.99948,33.101555],[102.999431,33.101555],[102.999383,33.101556],[102.999365,33.10156],[102.999332,33.101555],[102.999299,33.101548],[102.99924,33.101526],[102.999219,33.10149],[102.999211,33.101419],[102.999221,33.101345],[102.999213,33.101333],[102.999123,33.101199],[102.998839,33.100777],[102.998445,33.100478],[102.998188,33.100283],[102.998153,33.100255],[102.998117,33.100225],[102.99809,33.100244],[102.998054,33.100247],[102.997955,33.100218],[102.997911,33.100193],[102.997883,33.100164],[102.997876,33.100149],[102.997882,33.10011],[102.997913,33.10008],[102.997922,33.100064],[102.997929,33.100036],[102.997924,33.099988],[102.997886,33.099945],[102.997858,33.099933],[102.9978,33.099964],[102.997651,33.100049],[102.997607,33.100056],[102.99756,33.100042],[102.997532,33.100005],[102.997508,33.09996],[102.997499,33.099931],[102.99749,33.099873],[102.997485,33.099807],[102.997473,33.099767],[102.997437,33.099751],[102.997403,33.09975],[102.997366,33.099756],[102.997319,33.099782],[102.997281,33.099804],[102.997239,33.099837],[102.997206,33.099869],[102.997185,33.099874],[102.997156,33.099868],[102.997119,33.099837],[102.99711,33.09981],[102.997161,33.099794],[102.997232,33.099787],[102.997318,33.09976],[102.997361,33.099735],[102.997363,33.099695],[102.997341,33.099643],[102.997295,33.099615],[102.99725,33.099618],[102.997193,33.099649],[102.997132,33.099661],[102.997096,33.09965],[102.997057,33.099629],[102.997023,33.099625],[102.996991,33.099665],[102.996949,33.099732],[102.996915,33.099769],[102.99689,33.099779],[102.996854,33.099772],[102.996832,33.099749],[102.99685,33.09973],[102.996888,33.099719],[102.996923,33.099675],[102.996922,33.099634],[102.996924,33.099588],[102.996954,33.099554],[102.997027,33.099529],[102.997065,33.09949],[102.997073,33.099441],[102.9971,33.099379],[102.997122,33.099373],[102.997156,33.09938],[102.997202,33.099375],[102.997229,33.099362],[102.99724,33.099318],[102.997236,33.099284],[102.997226,33.099245],[102.997202,33.099217],[102.997137,33.099183],[102.997092,33.099162],[102.997039,33.099118],[102.997021,33.099073],[102.997038,33.099053],[102.997072,33.099044],[102.997095,33.099069],[102.99712,33.099096],[102.997172,33.099122],[102.997245,33.09913],[102.997359,33.099106],[102.997408,33.099089],[102.997437,33.099062],[102.997433,33.099035],[102.997385,33.099005],[102.997298,33.098966],[102.997243,33.098937],[102.997173,33.098898],[102.997095,33.098853],[102.997049,33.098811],[102.997051,33.098769],[102.99708,33.098754],[102.997123,33.098759],[102.997176,33.098787],[102.997206,33.098814],[102.997283,33.098875],[102.997271,33.098733],[102.997261,33.098615],[102.997256,33.098559],[102.997257,33.09855],[102.997277,33.09835],[102.997229,33.098339],[102.997209,33.098322],[102.997205,33.098296],[102.997227,33.098283],[102.997253,33.09827],[102.997264,33.098252],[102.997264,33.098226],[102.997242,33.098183],[102.997192,33.098145],[102.997135,33.098114],[102.997106,33.098094],[102.997103,33.098058],[102.997117,33.098035],[102.997137,33.098023],[102.997188,33.098032],[102.997233,33.09805],[102.997269,33.098059],[102.997308,33.098053],[102.99735,33.098004],[102.997368,33.097952],[102.997366,33.097918],[102.997343,33.097873],[102.99729,33.097841],[102.997232,33.097846],[102.997102,33.097591],[102.996909,33.097464],[102.996895,33.097455],[102.996911,33.097401],[102.996921,33.097354],[102.996913,33.097317],[102.996882,33.097285],[102.996838,33.097266],[102.996755,33.097256],[102.996695,33.097258],[102.996696,33.097265],[102.996695,33.097323],[102.99658,33.097248],[102.996102,33.09715],[102.996049,33.097139],[102.996039,33.097137],[102.995836,33.097096],[102.995789,33.097086],[102.995616,33.097212],[102.995513,33.097287],[102.995491,33.097303],[102.99534,33.097414],[102.995163,33.097344],[102.994552,33.097104],[102.993953,33.096277],[102.993551,33.09594],[102.993528,33.095921],[102.993453,33.095858],[102.993371,33.09579],[102.993266,33.095702],[102.993257,33.095624],[102.993248,33.09558],[102.993223,33.095552],[102.993191,33.09555],[102.993073,33.09554],[102.993059,33.095529],[102.993024,33.095499],[102.992987,33.095468],[102.992963,33.095448],[102.992957,33.095443],[102.992898,33.095336],[102.992893,33.095326],[102.992882,33.095307],[102.992791,33.09514],[102.992778,33.095116],[102.992724,33.095018],[102.992714,33.094999],[102.992657,33.094894],[102.992645,33.094872],[102.992569,33.094733],[102.992556,33.094709],[102.992435,33.094488],[102.992323,33.094442],[102.99226,33.094404],[102.992217,33.094338],[102.992208,33.094264],[102.992198,33.094183],[102.992209,33.094111],[102.992241,33.094058],[102.992219,33.093995],[102.992155,33.093915],[102.992094,33.093871],[102.992026,33.093815],[102.991958,33.093747],[102.991904,33.093685],[102.991864,33.093598],[102.991842,33.093494],[102.99183,33.093432],[102.991776,33.093355],[102.991725,33.093344],[102.991724,33.093342],[102.991706,33.093312],[102.99143,33.092838],[102.991287,33.092873],[102.991264,33.092873],[102.99125,33.092842],[102.991244,33.092806],[102.991255,33.092758],[102.99128,33.092725],[102.991339,33.092682],[102.99138,33.09259],[102.99138,33.092545],[102.991334,33.092519],[102.991257,33.092503],[102.991231,33.092496],[102.991003,33.092105],[102.990985,33.092048],[102.990756,33.091283],[102.990656,33.091231],[102.989491,33.090631],[102.989364,33.090465],[102.989269,33.090339],[102.989172,33.090273],[102.98911,33.090215],[102.989064,33.090145],[102.989034,33.090084],[102.988983,33.090017],[102.988927,33.089973],[102.98889,33.089939],[102.988826,33.089876],[102.988806,33.089824],[102.988813,33.08978],[102.988867,33.089752],[102.988919,33.08973],[102.988982,33.089715],[102.989027,33.089721],[102.989084,33.08971],[102.989111,33.089673],[102.989134,33.089602],[102.989139,33.089546],[102.989128,33.089493],[102.989081,33.089449],[102.988989,33.08941],[102.988992,33.089262],[102.988999,33.088951],[102.988965,33.088505],[102.988824,33.08843],[102.98871,33.08837],[102.988353,33.088182],[102.987875,33.08793],[102.987238,33.087739],[102.987181,33.087722],[102.987126,33.087706],[102.986654,33.087565],[102.98656,33.087537],[102.986387,33.087446],[102.986421,33.087408],[102.986403,33.08737],[102.986372,33.087311],[102.986326,33.087276],[102.986235,33.087244],[102.986151,33.087228],[102.986062,33.087192],[102.986004,33.08717],[102.985954,33.087109],[102.985844,33.087097],[102.985791,33.087132],[102.985688,33.087077],[102.985606,33.086943],[102.985363,33.086542],[102.985132,33.086162],[102.985049,33.086026],[102.984499,33.085014],[102.984031,33.084226],[102.983512,33.083772],[102.982649,33.082903],[102.982003,33.082224],[102.981612,33.081958],[102.980294,33.081676],[102.979567,33.080661],[102.978966,33.079908],[102.978661,33.079571],[102.978148,33.079003],[102.97755,33.078663],[102.977408,33.078583],[102.976311,33.078305],[102.975882,33.07774],[102.975916,33.077252],[102.975936,33.077246],[102.975987,33.077236],[102.976021,33.077226],[102.976067,33.077204],[102.976115,33.077176],[102.976137,33.077151],[102.976148,33.077127],[102.97615,33.077096],[102.976141,33.077065],[102.976134,33.077043],[102.976124,33.076997],[102.97611,33.076969],[102.976124,33.076942],[102.976152,33.076913],[102.976188,33.07689],[102.976207,33.076849],[102.976206,33.07682],[102.976197,33.076794],[102.976173,33.076777],[102.976139,33.076753],[102.976075,33.076731],[102.976044,33.076726],[102.976014,33.076721],[102.975994,33.076703],[102.975964,33.076668],[102.975931,33.076617],[102.9759,33.076565],[102.97587,33.076434],[102.975784,33.07606],[102.975708,33.075731],[102.975456,33.075352],[102.975403,33.075271],[102.97541,33.075255],[102.975412,33.075243],[102.975411,33.075229],[102.975409,33.075212],[102.975408,33.075202],[102.975405,33.07518],[102.975405,33.075162],[102.975409,33.075149],[102.975418,33.075143],[102.975437,33.075143],[102.975438,33.075152],[102.975432,33.075175],[102.975431,33.075194],[102.975454,33.075205],[102.975475,33.0752],[102.975497,33.075178],[102.975504,33.075149],[102.975505,33.075119],[102.975493,33.075107],[102.975479,33.075096],[102.975472,33.075075],[102.975457,33.075066],[102.975424,33.075074],[102.975412,33.075079],[102.975399,33.075081],[102.975356,33.075084],[102.975329,33.075072],[102.97529,33.075067],[102.975269,33.075069],[102.975253,33.075068],[102.975243,33.075066],[102.975234,33.07506],[102.975231,33.075048],[102.975233,33.07504],[102.975247,33.075035],[102.975268,33.075031],[102.975285,33.075026],[102.975308,33.075013],[102.975311,33.074994],[102.975302,33.074971],[102.975287,33.07496],[102.975258,33.074939],[102.97523,33.074922],[102.975209,33.074905],[102.975185,33.074894],[102.975161,33.074879],[102.975139,33.074872],[102.975127,33.074869],[102.975118,33.074861],[102.975114,33.07485],[102.975117,33.074839],[102.975132,33.074814],[102.975138,33.074808],[102.975148,33.074797],[102.975167,33.074772],[102.975155,33.07475],[102.975135,33.07474],[102.975128,33.074737],[102.97511,33.074721],[102.975101,33.074697],[102.975082,33.074672],[102.975047,33.074666],[102.97504,33.074675],[102.975037,33.074695],[102.975035,33.074711],[102.975017,33.074722],[102.974994,33.074725],[102.97498,33.074728],[102.974965,33.074727],[102.974953,33.074723],[102.974947,33.074717],[102.974947,33.074706],[102.974957,33.074692],[102.974975,33.074673],[102.974976,33.074656],[102.974963,33.074639],[102.974944,33.074623],[102.974935,33.074608],[102.974927,33.074586],[102.974915,33.074575],[102.974891,33.07456],[102.974873,33.074544],[102.974866,33.074527],[102.97486,33.074507],[102.974852,33.074486],[102.974832,33.074474],[102.974815,33.074466],[102.974774,33.074456],[102.974754,33.07446],[102.974729,33.074471],[102.974726,33.074486],[102.974725,33.0745],[102.974725,33.074528],[102.974716,33.074547],[102.974696,33.074559],[102.97468,33.074559],[102.974665,33.074558],[102.974631,33.074543],[102.974619,33.074523],[102.974618,33.0745],[102.97463,33.074478],[102.974632,33.074449],[102.974623,33.074427],[102.974592,33.074408],[102.974557,33.074417],[102.97453,33.074424],[102.974517,33.074424],[102.974503,33.074424],[102.974482,33.074409],[102.974482,33.074397],[102.9745,33.074373],[102.97453,33.074342],[102.974551,33.074329],[102.974546,33.074304],[102.974528,33.07428],[102.974485,33.07427],[102.974457,33.074265],[102.974391,33.074242],[102.974345,33.074214],[102.974299,33.074177],[102.974257,33.074135],[102.974217,33.074074],[102.974187,33.074036],[102.974151,33.074007],[102.974102,33.073961],[102.974025,33.073888],[102.973998,33.073857],[102.973967,33.07383],[102.97394,33.073796],[102.973904,33.07375],[102.973854,33.073756],[102.973849,33.07375],[102.973819,33.073704],[102.973776,33.073635],[102.97366,33.073485],[102.973636,33.073459],[102.973606,33.073428],[102.973583,33.073397],[102.973559,33.073361],[102.973529,33.073341],[102.973482,33.073314],[102.973466,33.073296],[102.973454,33.073252],[102.973442,33.07323],[102.973423,33.073214],[102.973391,33.07319],[102.97335,33.073177],[102.973322,33.073165],[102.973292,33.073146],[102.973282,33.073118],[102.973277,33.073082],[102.973267,33.073062],[102.973223,33.073032],[102.973176,33.073006],[102.973106,33.072967],[102.973059,33.072937],[102.973066,33.072893],[102.973046,33.072884],[102.972995,33.072855],[102.972978,33.072833],[102.972938,33.072801],[102.97291,33.072771],[102.972888,33.072742],[102.97286,33.072701],[102.972833,33.072668],[102.972803,33.072619],[102.972797,33.072602],[102.972789,33.072577],[102.972789,33.072563],[102.972809,33.072543],[102.972834,33.072516],[102.972837,33.072503],[102.972835,33.072484],[102.972831,33.072473],[102.972827,33.072459],[102.972803,33.072437],[102.972775,33.072413],[102.972746,33.07238],[102.972723,33.072365],[102.972705,33.072352],[102.972691,33.072337],[102.972677,33.072314],[102.972665,33.072291],[102.972648,33.072262],[102.972621,33.072223],[102.972614,33.072204],[102.972578,33.072109],[102.972195,33.071104],[102.971661,33.069933],[102.971649,33.069906],[102.971306,33.06967],[102.970433,33.069069],[102.969985,33.068838],[102.96992,33.068804],[102.969896,33.06882],[102.969864,33.068801],[102.969825,33.068783],[102.969795,33.068764],[102.969759,33.068742],[102.969749,33.068733],[102.969735,33.068709],[102.969685,33.068683],[102.969168,33.068416],[102.968553,33.067811],[102.968477,33.067736],[102.968404,33.067423],[102.968384,33.067336],[102.968363,33.067332],[102.968335,33.067312],[102.968322,33.0673],[102.968318,33.067277],[102.968324,33.06725],[102.968337,33.067232],[102.96835,33.067222],[102.968356,33.06722],[102.968398,33.067212],[102.968411,33.067212],[102.968445,33.067198],[102.968454,33.06718],[102.968447,33.067161],[102.968426,33.067137],[102.968392,33.067112],[102.968372,33.067101],[102.968356,33.067091],[102.968321,33.067071],[102.968302,33.067056],[102.96829,33.067047],[102.968278,33.067036],[102.968271,33.067024],[102.968269,33.067009],[102.96827,33.066993],[102.968281,33.066974],[102.968296,33.066961],[102.968321,33.066945],[102.96835,33.066937],[102.968403,33.066932],[102.968445,33.066929],[102.968473,33.066925],[102.968491,33.066904],[102.96849,33.066884],[102.96848,33.066872],[102.968462,33.066864],[102.968424,33.06686],[102.968404,33.066859],[102.968384,33.066858],[102.968346,33.066844],[102.96833,33.066818],[102.968323,33.066807],[102.968312,33.066798],[102.968298,33.066793],[102.968278,33.06679],[102.96828,33.06672],[102.968286,33.066451],[102.968292,33.06621],[102.968175,33.065539],[102.967934,33.065222],[102.967489,33.064636],[102.967228,33.064239],[102.96728,33.064215],[102.967297,33.064203],[102.9673,33.064167],[102.967288,33.064113],[102.967249,33.064082],[102.967212,33.06407],[102.967168,33.06407],[102.967116,33.06407],[102.966722,33.063472],[102.966028,33.06294],[102.965237,33.062816],[102.96426,33.06306],[102.96396,33.063143],[102.963865,33.06317],[102.962617,33.063516],[102.960792,33.064192],[102.959416,33.064541],[102.958356,33.064598],[102.957133,33.064058],[102.956519,33.063899],[102.955595,33.063773],[102.954944,33.063279],[102.954309,33.062117],[102.953721,33.060844],[102.953557,33.060173],[102.953439,33.059687],[102.953426,33.05914],[102.953401,33.058019],[102.953395,33.057754],[102.953401,33.057727],[102.953429,33.057599],[102.953438,33.057575],[102.953482,33.057455],[102.953515,33.057373],[102.953518,33.057226],[102.953527,33.057188],[102.953547,33.057108],[102.953601,33.057025],[102.953668,33.056932],[102.953696,33.056813],[102.953635,33.056631],[102.953616,33.056485],[102.953632,33.056324],[102.95363,33.056188],[102.95362,33.056019],[102.953639,33.05583],[102.953701,33.055665],[102.953789,33.055517],[102.953817,33.055363],[102.953828,33.055234],[102.953928,33.055083],[102.954007,33.054911],[102.954077,33.054667],[102.954105,33.054534],[102.954164,33.054391],[102.95424,33.053644],[102.954345,33.05294],[102.954577,33.052464],[102.954598,33.052421],[102.955224,33.051136],[102.954887,33.050447],[102.953077,33.049407],[102.952143,33.048753],[102.952035,33.048677],[102.951621,33.048179],[102.951643,33.048115],[102.951633,33.048022],[102.951564,33.047883],[102.951473,33.047748],[102.951336,33.04762],[102.951177,33.047521],[102.95104,33.047444],[102.950835,33.047306],[102.950715,33.047228],[102.950573,33.047075],[102.950535,33.047031],[102.950431,33.046911],[102.950379,33.046815],[102.950358,33.046662],[102.950089,33.046339],[102.947847,33.043646],[102.947433,33.043283],[102.947401,33.043255],[102.94723,33.043106],[102.947222,33.043098],[102.946879,33.042798],[102.946802,33.042783],[102.945685,33.04257],[102.944946,33.042499],[102.944704,33.042287],[102.944747,33.041931],[102.945112,33.041432],[102.945123,33.040957],[102.94475,33.040297],[102.943924,33.039421],[102.943658,33.038704],[102.943602,33.038079],[102.944185,33.037286],[102.944209,33.037241],[102.944406,33.036874],[102.944424,33.036102],[102.944123,33.035384],[102.944095,33.034921],[102.944072,33.034551],[102.943913,33.033805],[102.94418,33.032918],[102.944664,33.031827],[102.945058,33.030051],[102.945043,33.029189],[102.944982,33.028989],[102.944814,33.028442],[102.944594,33.027943],[102.944445,33.027604],[102.945072,33.026791],[102.945281,33.026518],[102.945435,33.026194],[102.945727,33.025575],[102.945566,33.024919],[102.945046,33.024524],[102.944453,33.024217],[102.943649,33.023907],[102.942559,33.02377],[102.942032,33.02392],[102.94128,33.024135],[102.941164,33.024176],[102.940879,33.024276],[102.940872,33.024278],[102.940623,33.024366],[102.940391,33.024447],[102.940279,33.024408],[102.940119,33.024354],[102.939937,33.024291],[102.939399,33.023421],[102.939121,33.02297],[102.938479,33.021746],[102.938445,33.021681],[102.938288,33.020847],[102.938525,33.019781],[102.938376,33.018899],[102.93852,33.018718],[102.938521,33.018625],[102.938446,33.018669],[102.93837,33.018701],[102.938345,33.018712],[102.938343,33.018702],[102.938339,33.018678],[102.938286,33.018599],[102.938279,33.018589],[102.938274,33.018581],[102.938174,33.01843],[102.938168,33.01842],[102.93782,33.017896],[102.937521,33.017447],[102.937508,33.017424],[102.93746,33.017342],[102.937046,33.016636],[102.936235,33.015859],[102.936191,33.015817],[102.936065,33.015696],[102.935942,33.015578],[102.935778,33.015212],[102.935742,33.01513],[102.935734,33.015114],[102.935717,33.015074],[102.93571,33.01506],[102.935674,33.01498],[102.935204,33.014003],[102.935164,33.013919],[102.935134,33.013858],[102.935069,33.013722],[102.935054,33.013682],[102.935033,33.013621],[102.934704,33.012705],[102.93449,33.011729],[102.934481,33.011691],[102.934762,33.010955],[102.934819,33.010806],[102.935438,33.009984],[102.935813,33.009039],[102.935908,33.008724],[102.935914,33.008704],[102.93608,33.008152],[102.936213,33.007952],[102.936249,33.007898],[102.936262,33.007878],[102.936373,33.007711],[102.937096,33.006951],[102.937805,33.006754],[102.938129,33.006492],[102.938197,33.006118],[102.938199,33.006109],[102.938205,33.006077],[102.93821,33.006048],[102.938167,33.006005],[102.93811,33.005948],[102.937969,33.005806],[102.937935,33.005764],[102.937918,33.005742],[102.93767,33.005428],[102.93766,33.005415],[102.937714,33.005202],[102.937741,33.005091],[102.93777,33.004977],[102.937786,33.004917],[102.937787,33.00491],[102.937788,33.004904],[102.937816,33.004794],[102.93823,33.004517],[102.938249,33.004505],[102.938262,33.004496],[102.938327,33.004453],[102.938342,33.004443],[102.938358,33.004432],[102.938425,33.004388],[102.938409,33.00436],[102.938383,33.004314],[102.938274,33.00412],[102.938272,33.004117],[102.938188,33.003968],[102.938229,33.003701],[102.938337,33.003766],[102.93889,33.004098],[102.939403,33.004286],[102.939403,33.004261],[102.939495,33.004134],[102.939537,33.004108],[102.93961,33.004071],[102.939731,33.004033],[102.939759,33.004002],[102.939919,33.003818],[102.939985,33.003684],[102.940114,33.003419],[102.940178,33.003287],[102.940541,33.002848],[102.940057,33.002453],[102.939572,33.002059],[102.939829,33.001618],[102.93931,33.001223],[102.939078,33.000571],[102.939069,33.000543],[102.939042,33.000467],[102.939024,33.000418],[102.939021,33.00041],[102.939019,33.000403],[102.938895,33.000053],[102.938875,32.999997],[102.938867,32.999974],[102.938853,32.999934],[102.938834,32.999835],[102.938751,32.999404],[102.938885,32.999137],[102.938898,32.999111],[102.938928,32.99905],[102.938944,32.999019],[102.938956,32.998995],[102.939043,32.998821],[102.939059,32.99879],[102.93907,32.998767],[102.9391,32.998709],[102.939105,32.998697],[102.93911,32.998689],[102.93883,32.998444],[102.938477,32.998497],[102.938469,32.998464],[102.938453,32.99845],[102.938434,32.998436],[102.938415,32.998425],[102.938389,32.998419],[102.938357,32.998413],[102.938331,32.998411],[102.938292,32.99841],[102.938256,32.998408],[102.938222,32.998415],[102.938193,32.998422],[102.938159,32.998434],[102.93813,32.998454],[102.938108,32.998472],[102.938081,32.998497],[102.93806,32.998523],[102.93804,32.998564],[102.938021,32.998604],[102.937807,32.99867],[102.937752,32.998662],[102.937689,32.99868],[102.937629,32.998709],[102.937586,32.998738],[102.93752,32.998759],[102.937224,32.99885],[102.936945,32.998557],[102.936956,32.998086],[102.936957,32.998075],[102.936958,32.998015],[102.936996,32.99804],[102.937052,32.998056],[102.937106,32.998043],[102.937142,32.998014],[102.937163,32.997974],[102.937139,32.997955],[102.937059,32.9979],[102.93698,32.997818],[102.936963,32.997787],[102.936954,32.99777],[102.936947,32.997751],[102.936929,32.997644],[102.936909,32.997525],[102.936905,32.997399],[102.936909,32.997338],[102.93694,32.997237],[102.93695,32.997206],[102.936943,32.997076],[102.936929,32.996827],[102.936887,32.996815],[102.936622,32.996741],[102.936612,32.996739],[102.936192,32.996622],[102.935852,32.996481],[102.935719,32.996425],[102.935324,32.99626],[102.935232,32.996222],[102.934749,32.996211],[102.933962,32.996193],[102.933285,32.996425],[102.932769,32.996601],[102.932608,32.996656],[102.932275,32.99677],[102.931714,32.997056],[102.93139,32.997147],[102.931208,32.997199],[102.931051,32.997236],[102.930902,32.997248],[102.930788,32.997263],[102.930704,32.997321],[102.930679,32.997396],[102.930684,32.997468],[102.930748,32.997514],[102.930961,32.997598],[102.930503,32.998093],[102.930204,32.998433],[102.929906,32.998774],[102.929353,32.999111],[102.928347,32.999726],[102.927557,32.999943],[102.927284,32.99991],[102.92683,32.999855],[102.926518,32.999816],[102.926467,32.99981],[102.925448,32.999592],[102.924316,32.999774],[102.923193,32.999641],[102.922543,32.999642],[102.922491,32.999642],[102.92169,32.999644],[102.920907,32.999516],[102.919982,32.999645],[102.918035,32.999698],[102.917514,32.999675],[102.917011,32.999653],[102.9162,32.999761],[102.916174,32.999764],[102.916126,32.999771],[102.916052,32.99978],[102.915434,32.999943],[102.914892,32.999732],[102.914209,32.998956],[102.914129,32.998931],[102.914031,32.998892],[102.91392,32.998843],[102.91386,32.998768],[102.913804,32.998675],[102.913747,32.998558],[102.913707,32.998406],[102.913258,32.998065],[102.912232,32.997048],[102.912156,32.996998],[102.912104,32.996916],[102.912034,32.996735],[102.911964,32.996527],[102.911844,32.996382],[102.91169,32.99629],[102.911493,32.996166],[102.911415,32.996074],[102.911393,32.996048],[102.910665,32.995057],[102.910068,32.994328],[102.908895,32.993387],[102.90796,32.99248],[102.907721,32.991037],[102.907704,32.990972],[102.907644,32.99074],[102.907786,32.990689],[102.907905,32.990584],[102.908002,32.990469],[102.907984,32.990283],[102.907883,32.990079],[102.907766,32.989945],[102.907673,32.989889],[102.907402,32.989805],[102.907377,32.989707],[102.907289,32.989367],[102.907257,32.989243],[102.907256,32.989241],[102.907229,32.989134],[102.907203,32.989031],[102.907153,32.98893],[102.907123,32.988829],[102.907112,32.988706],[102.907153,32.988593],[102.907148,32.988468],[102.907083,32.988337],[102.906997,32.988218],[102.906932,32.988087],[102.906877,32.987951],[102.90684,32.987808],[102.906836,32.987721],[102.906775,32.987602],[102.906681,32.987451],[102.906623,32.987326],[102.906576,32.987204],[102.906417,32.9869],[102.90555,32.98467],[102.905481,32.984526],[102.905163,32.983859],[102.904443,32.982349],[102.904256,32.981626],[102.904305,32.980994],[102.90433,32.98081],[102.904332,32.980799],[102.90423,32.980617],[102.904212,32.980503],[102.904233,32.980345],[102.904266,32.980259],[102.904366,32.980111],[102.904447,32.979969],[102.904561,32.979147],[102.904594,32.978913],[102.904633,32.978632],[102.904655,32.97847],[102.904675,32.978324],[102.904686,32.978259],[102.9047,32.978167],[102.904836,32.97732],[102.905155,32.976807],[102.90527,32.976262],[102.905355,32.975544],[102.90551,32.974799],[102.905513,32.974791],[102.905561,32.974561],[102.905554,32.974447],[102.905519,32.974347],[102.905462,32.974266],[102.905404,32.974157],[102.905436,32.973985],[102.905547,32.973693],[102.905686,32.973453],[102.905842,32.973237],[102.905943,32.97316],[102.906126,32.973054],[102.90621,32.972547],[102.906212,32.972537],[102.906193,32.972293],[102.906168,32.971965],[102.906163,32.971906],[102.906081,32.970837],[102.906044,32.969792],[102.906043,32.969763],[102.906011,32.968862],[102.906009,32.968813],[102.906008,32.968794],[102.906001,32.968584],[102.905999,32.968534],[102.906027,32.968355],[102.906063,32.968122],[102.906121,32.967749],[102.90613,32.967694],[102.906205,32.967212],[102.906244,32.967051],[102.90634,32.966847],[102.906439,32.966646],[102.906499,32.966255],[102.906495,32.965869],[102.906497,32.965334],[102.906522,32.965176],[102.906749,32.96423],[102.906946,32.961701],[102.907069,32.960811],[102.907099,32.959545],[102.907528,32.958718],[102.907793,32.957629],[102.908231,32.956428],[102.908971,32.955404],[102.909535,32.954665],[102.910227,32.954274],[102.910888,32.953738],[102.911482,32.953144],[102.912009,32.952887],[102.912574,32.952611],[102.912622,32.952587],[102.913242,32.952339],[102.912939,32.952161],[102.912465,32.951981],[102.911449,32.951647],[102.909909,32.950384],[102.909038,32.949679],[102.908545,32.948893],[102.907846,32.948134],[102.907391,32.947176],[102.906153,32.94612],[102.905414,32.945589],[102.904564,32.945489],[102.903707,32.945618],[102.902951,32.945864],[102.901924,32.945962],[102.900765,32.945914],[102.899676,32.945809],[102.898181,32.945496],[102.897195,32.945336],[102.89584,32.944939],[102.894722,32.944575],[102.8936,32.944383],[102.893464,32.944352],[102.893623,32.943434],[102.893751,32.942343],[102.893875,32.941453],[102.89386,32.940647],[102.893773,32.939983],[102.893542,32.939663],[102.892844,32.938845],[102.89211,32.938171],[102.891513,32.937442],[102.891224,32.93666],[102.891001,32.935994],[102.890806,32.935588],[102.89017,32.935088],[102.889218,32.934928],[102.888025,32.93485],[102.887179,32.934577],[102.886338,32.934045],[102.885266,32.933221],[102.884597,32.932663],[102.88366,32.931899],[102.882746,32.931567],[102.88147,32.930711],[102.880462,32.93006],[102.879622,32.929499],[102.878487,32.928444],[102.877686,32.927682],[102.876812,32.92715],[102.875972,32.926617],[102.874892,32.92611],[102.873804,32.925947],[102.87269,32.925439],[102.872158,32.924883],[102.871605,32.923752],[102.871284,32.922912],[102.871316,32.92156],[102.871693,32.92007],[102.871968,32.919496],[102.871981,32.91947],[102.876038,32.917017],[102.8761,32.916979],[102.876403,32.917034]]]]},"properties":{"cp":[103.14126598596769,33.03468485062284],"code":"513233208","name":"色地镇","level":"street","center":[103.14126598596769,33.03468485062284],"fullCode":"513233208000","fullName":"四川省阿坝藏族羌族自治州红原县色地镇","acreageMu":1798581.17,"exportedAt":"2026-07-01","parentCode":"513233","sourceTable":"public.c_area","sourceCenter":[102.999,32.865]}}]} -`,Yx="datas/geojsons/hongyuan-townships-screen.geojson",Rf="assets/json/红原县-轮廓.json",$x="assets/json/中华人民共和国.json";function ei(t){return`./${t}`}const Wx={邛溪镇:"qiongxi",刷经寺镇:"shuajingsi",安曲镇:"anqu",龙日镇:"longri",江茸乡:"jiangrong",查尔玛乡:"chaerma",瓦切镇:"waqie",阿木乡:"amu",麦洼乡:"maiwa",色地镇:"sedi"},Vx={色地镇:1199,瓦切镇:991,刷经寺镇:986,邛溪镇:896,阿木乡:892,安曲镇:885,查尔玛乡:729,龙日镇:645,麦洼乡:559,江茸乡:514},Hx={};function Kx(t){try{return JSON.parse(t)}catch(e){return{type:"FeatureCollection",features:[]}}}function qx(t={}){const e=t.properties||{},n=e.cp||e.center||e.centroid||e.sourceCenter;return Array.isArray(n)&&Number.isFinite(Number(n[0]))&&Number.isFinite(Number(n[1]))?[Number(n[0]),Number(n[1])]:[0,0]}function lp(t={}){return t!=null&&t.coordinates?t.type==="Polygon"?[t.coordinates]:t.type==="MultiPolygon"?t.coordinates:[]:[]}function Jx(t=[]){return t.reduce((e,n,a)=>{const i=t[a===0?t.length-1:a-1];return e+(Number(i==null?void 0:i[0])*Number(n==null?void 0:n[1])-Number(n==null?void 0:n[0])*Number(i==null?void 0:i[1]))},0)/2}function Qx(t=[]){let e=0,n=0,a=0;return t.forEach((i,r)=>{const o=t[r===0?t.length-1:r-1],s=Number(o==null?void 0:o[0])*Number(i==null?void 0:i[1])-Number(i==null?void 0:i[0])*Number(o==null?void 0:o[1]);e+=s,n+=(Number(o==null?void 0:o[0])+Number(i==null?void 0:i[0]))*s,a+=(Number(o==null?void 0:o[1])+Number(i==null?void 0:i[1]))*s}),Math.abs(e)<1e-10?null:[n/(3*e),a/(3*e)]}function Xx(t=[]){const e=t.map(n=>[Number(n==null?void 0:n[0]),Number(n==null?void 0:n[1])]).filter(([n,a])=>Number.isFinite(n)&&Number.isFinite(a));return e.length?e.reduce((n,[a,i])=>({west:Math.min(n.west,a),east:Math.max(n.east,a),south:Math.min(n.south,i),north:Math.max(n.north,i)}),{west:1/0,east:-1/0,south:1/0,north:-1/0}):null}function Lf(t=[],e=[]){const n=Number(t[0]),a=Number(t[1]);if(!Number.isFinite(n)||!Number.isFinite(a))return!1;let i=!1;for(let r=0,o=e.length-1;ra!=g>a&&n<(p-m)*(a-h)/(g-h||1e-12)+m&&(i=!i)}return i}function dl(t=[],e=[]){return!e.length||!Lf(t,e[0])?!1:!e.slice(1).some(n=>Lf(t,n))}function Zx(t=[],e={}){return lp(e).some(n=>dl(t,n))}function eM(t={}){var e;return((e=lp(t.geometry).map(n=>({polygon:n,area:Math.abs(Jx((n==null?void 0:n[0])||[]))})).filter(n=>n.area>0).sort((n,a)=>a.area-n.area)[0])==null?void 0:e.polygon)||null}function ti(t=[]){return t.map(e=>Number(Number(e).toFixed(6)))}function tM(t={}){const e=qx(t),n=eM(t),a=(n==null?void 0:n[0])||[],i=Qx(a);if(i&&dl(i,n))return ti(i);const r=Xx(a),o=r?[(r.west+r.east)/2,(r.south+r.north)/2]:null;return o&&dl(o,n)?ti(o):Zx(e,t.geometry)?ti(e):ti(i||o||e)}const nM=sp,Ci=Kx(sp),Xl=Ci.features||[],ws=Xl.reduce((t,e)=>{const n=e.properties||{},a=Sr(n.name);return[n.code,n.fullCode].forEach(i=>{const r=String(i||"").replace(/\D/g,"");r&&a&&(t[r]=a)}),t},{});Xl.reduce((t,e)=>{const n=e.properties||{},a=Sr(n.name),i=String(n.code||"").replace(/\D/g,"");return a&&i&&(t[a]=i),t},{});const a9=Xl.map(t=>{const e=t.properties||{},n=Sr(e.name),a=Hx[n]||tM(t);return{name:n,code:e.code,fullCode:e.fullCode,center:a,centroid:a,acreageMu:Number(e.acreageMu)||0}}),up=a9.map(t=>Z2(B2({},t),{enName:Wx[t.name]||"",value:Vx[t.name]||0})).sort((t,e)=>e.value-t.value),dn=a9.map(t=>t.name);function Sr(t){const e=String(t||"").trim();return!e||e==="--"?"":e}function wr(t){const e=String(t||"").replace(/\D/g,"");return e&&(ws[e]||ws[e.slice(0,12)]||ws[e.slice(0,9)])||""}function aM(t){const e=Sr(t);return!!(e&&a9.some(n=>n.name===e))}const iM=a9.map(t=>B2({},t)),If=up.map(t=>B2({},t)),rM=up.map(t=>{var e,n;return{name:t.name,value:t.value,lng:(e=t.center)==null?void 0:e[0],lat:(n=t.center)==null?void 0:n[1]}}),oM=[{name:"邛溪镇",level:"县城驻地",value:895.94,lng:102.60242339873115,lat:32.83022561372293},{name:"瓦切镇",level:"北部牧区",value:991,lng:102.71535664604494,lat:33.12869670968013},{name:"刷经寺镇",level:"南部通道",value:986.44,lng:102.55651980382184,lat:32.204097908180216},{name:"色地镇",level:"东部片区",value:1199.06,lng:103.12540730227074,lat:33.010462261362875}];var Ff=class{constructor(e,n){p0(this,"target");p0(this,"name");p0(this,"intersected");p0(this,"wasIntersected",!1);p0(this,"wasIntersectedOnMouseDown",!1);p0(this,"distance");this.target=e,this.name=n,this.intersected=!1,this.distance=0}},Gt=class{constructor(t,e=null){p0(this,"type");p0(this,"cancelBubble");p0(this,"originalEvent");p0(this,"coords",new Ee(0,0));p0(this,"distance",0);p0(this,"intersected",!1);p0(this,"wasIntersected",!1);p0(this,"wasIntersectedOnMouseDown",!1);this.cancelBubble=!1,this.type=t,this.originalEvent=e}stopPropagation(){this.cancelBubble=!0}},sM=class{constructor(t,e,n,a){p0(this,"renderer");p0(this,"camera");p0(this,"domElement");p0(this,"bindEventsOnBodyElement");p0(this,"autoAdd");p0(this,"scene");p0(this,"mouse");p0(this,"supportsPointerEvents");p0(this,"interactiveObjects");p0(this,"closestObject");p0(this,"raycaster");p0(this,"treatTouchEventsAsMouseEvents");p0(this,"dispose",()=>{this.domElement.removeEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("pointermove",this.onDocumentPointerMove):this.domElement.removeEventListener("pointermove",this.onDocumentPointerMove),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?this.domElement.ownerDocument.removeEventListener("mousemove",this.onDocumentMouseMove):this.domElement.removeEventListener("mousemove",this.onDocumentMouseMove),this.domElement.removeEventListener("mousedown",this.onMouseDown),this.domElement.removeEventListener("mouseup",this.onMouseUp),this.domElement.removeEventListener("touchstart",this.onTouchStart),this.domElement.removeEventListener("touchmove",this.onTouchMove),this.domElement.removeEventListener("touchend",this.onTouchEnd)});p0(this,"add",(t,e=[])=>{if(t&&!this.interactiveObjects.find(n=>n.target===t))if(e.length>0)e.forEach(n=>{let a=t.getObjectByName(n);if(a){let i=new Ff(a,n);this.interactiveObjects.push(i)}});else{let n=new Ff(t,t.name);this.interactiveObjects.push(n)}});p0(this,"remove",(t,e=[])=>{!t||(e.length>0?e.forEach(n=>{let a=t.getObjectByName(n);a&&(this.interactiveObjects=this.interactiveObjects.filter(i=>i.target!==a))}):this.interactiveObjects=this.interactiveObjects.filter(n=>n.target!==t))});p0(this,"update",()=>{var a;this.raycaster.setFromCamera(this.mouse,this.camera),this.interactiveObjects.forEach(i=>{i.target&&this.checkIntersection(i)}),this.interactiveObjects.sort(function(i,r){return i.distance-r.distance});let t=(a=this.interactiveObjects.find(i=>i.intersected))!=null?a:null;if(t!=this.closestObject){if(this.closestObject){let i=new Gt("mouseout");this.dispatch(this.closestObject,i)}if(t){let i=new Gt("mouseover");this.dispatch(t,i)}this.closestObject=t}let e;this.interactiveObjects.forEach(i=>{!i.intersected&&i.wasIntersected&&(e||(e=new Gt("mouseleave")),this.dispatch(i,e))});let n;this.interactiveObjects.forEach(i=>{i.intersected&&!i.wasIntersected&&(n||(n=new Gt("mouseenter")),this.dispatch(i,n))})});p0(this,"checkIntersection",t=>{let e=this.raycaster.intersectObjects([t.target],!0);if(t.wasIntersected=t.intersected,e.length>0){let n=e[0].distance;e.forEach(a=>{a.distance{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY);let e=new Gt("mousemove",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});p0(this,"onDocumentPointerMove",t=>{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY);let e=new Gt("pointermove",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});p0(this,"onTouchMove",t=>{t.touches.length>0&&this.mapPositionToPoint(this.mouse,t.touches[0].clientX,t.touches[0].clientY);let e=new Gt(this.treatTouchEventsAsMouseEvents?"mousemove":"touchmove",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});p0(this,"onMouseClick",t=>{this.update();let e=new Gt("click",t);this.interactiveObjects.forEach(n=>{n.intersected&&this.dispatch(n,e)})});p0(this,"onMouseDown",t=>{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY),this.update();let e=new Gt("mousedown",t);this.interactiveObjects.forEach(n=>{n.intersected?(n.wasIntersectedOnMouseDown=!0,this.dispatch(n,e)):n.wasIntersectedOnMouseDown=!1})});p0(this,"onPointerDown",t=>{this.mapPositionToPoint(this.mouse,t.clientX,t.clientY),this.update();let e=new Gt("pointerdown",t);this.interactiveObjects.forEach(n=>{n.intersected&&this.dispatch(n,e)})});p0(this,"onTouchStart",t=>{t.touches.length>0&&this.mapPositionToPoint(this.mouse,t.touches[0].clientX,t.touches[0].clientY),this.update();let e=new Gt(this.treatTouchEventsAsMouseEvents?"mousedown":"touchstart",t);this.interactiveObjects.forEach(n=>{n.intersected&&this.dispatch(n,e)})});p0(this,"onMouseUp",t=>{let e=new Gt("mouseup",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});p0(this,"onPointerUp",t=>{let e=new Gt("pointerup",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});p0(this,"onTouchEnd",t=>{t.touches.length>0&&this.mapPositionToPoint(this.mouse,t.touches[0].clientX,t.touches[0].clientY),this.update();let e=new Gt(this.treatTouchEventsAsMouseEvents?"mouseup":"touchend",t);this.interactiveObjects.forEach(n=>{this.dispatch(n,e)})});p0(this,"dispatch",(t,e)=>{t.target&&!e.cancelBubble&&(e.coords=this.mouse,e.distance=t.distance,e.intersected=t.intersected,e.wasIntersected=t.wasIntersected,e.wasIntersectedOnMouseDown=t.wasIntersectedOnMouseDown,t.target.dispatchEvent(e))});p0(this,"mapPositionToPoint",(t,e,n)=>{let a=this.renderer.domElement.getBoundingClientRect();t.x=(e-a.left)/a.width*2-1,t.y=-((n-a.top)/a.height)*2+1});this.renderer=t,this.camera=e,this.domElement=n,this.bindEventsOnBodyElement=a&&typeof a.bindEventsOnBodyElement<"u"?a.bindEventsOnBodyElement:!0,this.scene=a&&typeof a.scene<"u"?a.scene:null,this.scene&&(this.scene.onBeforeRender=()=>{this.autoAdd&&this.scene!==null&&this.scene.traverse(i=>{this.add(i),i.addEventListener("removed",r=>{this.remove(r.target)})}),this.update()}),this.autoAdd=a&&typeof a.autoAdd<"u"?a.autoAdd:!1,this.autoAdd&&this.scene===null&&console.error("Attention: Options.scene needs to be set when using options.autoAdd"),this.mouse=new Ee(-1,1),this.supportsPointerEvents=!!window.PointerEvent,this.interactiveObjects=[],this.closestObject=null,this.raycaster=new hA,n.addEventListener("click",this.onMouseClick),this.supportsPointerEvents&&(this.bindEventsOnBodyElement?n.ownerDocument.addEventListener("pointermove",this.onDocumentPointerMove):n.addEventListener("pointermove",this.onDocumentPointerMove),n.addEventListener("pointerdown",this.onPointerDown),n.addEventListener("pointerup",this.onPointerUp)),this.bindEventsOnBodyElement?n.ownerDocument.addEventListener("mousemove",this.onDocumentMouseMove):n.addEventListener("mousemove",this.onDocumentMouseMove),n.addEventListener("mousedown",this.onMouseDown),n.addEventListener("mouseup",this.onMouseUp),n.addEventListener("touchstart",this.onTouchStart,{passive:!0}),n.addEventListener("touchmove",this.onTouchMove,{passive:!0}),n.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this.treatTouchEventsAsMouseEvents=!0}};const Q9=256,fl="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",lM=900,uM=10,K5=new Map,X9={west:101.852492,south:31.851389,east:103.347518,north:33.319796};function bs(t,e,n){const a=N6(2,n),i=Math.sin(e*Math.PI/180);return{x:(t+180)/360*a,y:(.5-Math.log((1+i)/(1-i))/(4*Math.PI))*a}}function Bf(t,e,n){const a=N6(2,n),i=t/a*360-180,r=Math.PI-2*Math.PI*e/a,o=180/Math.PI*Math.atan(.5*(Math.exp(r)-Math.exp(-r)));return[i,o]}function ni(t,e,n){return Math.max(e,Math.min(n,t))}function cp(t,e,{centerLngLat:n,maxCols:a,maxRows:i}={}){const r=bs(t.west,t.north,e),o=bs(t.east,t.south,e),s=Math.floor(r.x),u=Math.floor(o.x),m=Math.floor(r.y),h=Math.floor(o.y);let p=s,g=u,C=m,I=h,U=Math.floor((s+u)/2),j=Math.floor((m+h)/2);if(n&&Number.isFinite(a)&&Number.isFinite(i)){const l2=ni(Number(n[0]),t.west,t.east),v2=ni(Number(n[1]),t.south,t.north),S2=bs(l2,v2,e);U=Math.floor(S2.x),j=Math.floor(S2.y);const T2=Math.max(1,Math.min(Math.floor(a),u-s+1)),C2=Math.max(1,Math.min(Math.floor(i),h-m+1));p=ni(U-Math.floor(T2/2),s,u-T2+1),C=ni(j-Math.floor(C2/2),m,h-C2+1),g=p+T2-1,I=C+C2-1}return{zoom:e,minX:p,maxX:g,minY:C,maxY:I,centerX:U,centerY:j,cols:g-p+1,rows:I-C+1}}function cM({zoom:t=11,centerLngLat:e,maxCols:n,maxRows:a,bounds:i=X9}={}){return cp(i,t,{centerLngLat:e,maxCols:n,maxRows:a})}function dM(t,e){const[n,a]=Bf(t.minX,t.minY,t.zoom),[i,r]=Bf(t.maxX+1,t.maxY+1,t.zoom),[o]=e([n,X9.south]),[s]=e([i,X9.south]),[,u]=e([X9.west,a]),[,m]=e([X9.west,r]);return{left:o,right:s,bottom:-m,top:-u}}function fM(t,e){const{width:n,height:a}=e;t.save(),t.globalCompositeOperation="multiply",t.fillStyle="rgba(5, 24, 34, 0.22)",t.fillRect(0,0,n,a),t.globalCompositeOperation="screen";const i=t.createRadialGradient(n*.5,a*.48,n*.1,n*.5,a*.5,n*.72);i.addColorStop(0,"rgba(80, 230, 255, 0.16)"),i.addColorStop(1,"rgba(0, 18, 36, 0.03)"),t.fillStyle=i,t.fillRect(0,0,n,a),t.restore()}function hM(t,e){const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"#061927"),n.addColorStop(.5,"#0b2c3c"),n.addColorStop(1,"#07131f"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height)}function mM(t){const e=K5.get(t);return e||new Promise(n=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>n(a),a.onerror=()=>{K5.delete(t),n(null)},a.src=t})}function pM(t){const e=K5.get(t);if(e)return e;const n=mM(t);for(K5.set(t,n);K5.size>lM;){const a=K5.keys().next().value;if(!a)break;K5.delete(a)}return n}function gM(t,e,n,a=fl){return String(a||fl).replace(/\{x\}/g,t).replace(/\{y\}/g,e).replace(/\{z\}/g,n)}function yM(s,u,m,h){return P3(this,arguments,function*(t,e,n,a,{tileUrlTemplate:i,onTileStatus:r,applyTone:o=!0}={}){const p=[],g=a.cols*a.rows;let C=0,I=0;r==null||r({type:"loading",text:`正在加载${a.zoom}级影像底图`,loaded:C,failed:I,total:g,zoom:a.zoom,tileRange:a,tileUrlTemplate:i}),t.save(),t.filter="brightness(0.92) contrast(1.22) saturate(1.06)";for(let T2=a.minX;T2<=a.maxX;T2+=1)for(let C2=a.minY;C2<=a.maxY;C2+=1)p.push({x:T2,y:C2});p.sort((T2,C2)=>Math.abs(T2.x-a.centerX)+Math.abs(T2.y-a.centerY)-(Math.abs(C2.x-a.centerX)+Math.abs(C2.y-a.centerY)));let U=0;function j(){return P3(this,null,function*(){for(;U0?C/g:0,v2=C===0?"error":l2>=.75?"success":"warning",S2=C===g?`${a.zoom}级影像底图已加载`:C>0?`${a.zoom}级影像底图已加载(${C}/${g}张有效瓦片)`:`${a.zoom}级影像底图加载失败`;r==null||r({type:v2,text:S2,loaded:C,failed:I,total:g,zoom:a.zoom,tileRange:a,tileUrlTemplate:i})})}function Df({geoProjectionCenter:t,geoProjectionScale:e,zoom:n=11,tileUrlTemplate:a=fl,onTileStatus:i,centerLngLat:r,maxCols:o,maxRows:s,transparentBackground:u=!1,applyTone:m=!0}={}){const h=cp(X9,n,{centerLngLat:r,maxCols:o,maxRows:s}),p=document.createElement("canvas");p.width=h.cols*Q9,p.height=h.rows*Q9;const g=p.getContext("2d");u?g.clearRect(0,0,p.width,p.height):hM(g,p);const C=new Ii(p);C.colorSpace=Wt,C.wrapS=i7,C.wrapT=i7,C.minFilter=X5,C.magFilter=X5,C.needsUpdate=!0;const I=d6().center(t).scale(e).translate([0,0]),U=dM(h,I);return yM(g,p,C,h,{tileUrlTemplate:a,onTileStatus:i,applyTone:m}).catch(j=>{console.warn("load satellite tiles failed:",j),i==null||i({type:"error",text:`${h.zoom}级影像底图加载失败`,loaded:0,failed:h.cols*h.rows,total:h.cols*h.rows,zoom:h.zoom,tileRange:h,tileUrlTemplate:a})}),{texture:C,uvBounds:U,tileRange:h}}function Gf(t,e){const n=e.right-e.left,a=e.top-e.bottom;t.mapGroup.traverse(i=>{var s,u;const r=(u=(s=i.geometry)==null?void 0:s.attributes)==null?void 0:u.position;if(!i.isMesh||!r)return;const o=new Float32Array(r.count*2);for(let m=0;mZ2(B2({},t),{key:`grassland-type-${e+1}`,cqlFilter:_t("grass_min_type",t.name),rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"]})),Of=[{name:">4000(kg/hm2)",fillColor:"#39A700",strokeColor:"#39A700"},{name:"3000-4000(kg/hm2)",fillColor:"#8CCF00",strokeColor:"#8CCF00"},{name:"2000-3000(kg/hm2)",fillColor:"#FEFE02",strokeColor:"#FEFE02"},{name:"1500-2000(kg/hm2)",fillColor:"#FE7E01",strokeColor:"#FE7E01"},{name:"<1500(kg/hm2)",fillColor:"#FB0100",strokeColor:"#FB0100"}].map(t=>Z2(B2({},t),{selectable:!1})),V4={1:"一级",2:"二级",3:"三级",4:"四级",5:"五级",6:"六级",7:"七级",8:"八级"},dp=[{level:"1",name:"1级草原",fillColor:"#81D10B",strokeColor:"#81D10B"},{level:"2",name:"2级草原",fillColor:"#8AE611",strokeColor:"#8AE611"},{level:"3",name:"3级草原",fillColor:"#79C801",strokeColor:"#79C801"},{level:"4",name:"4级草原",fillColor:"#D0EC03",strokeColor:"#D0EC03"},{level:"5",name:"5级草原",fillColor:"#FFCC00",strokeColor:"#FFCC00"},{level:"6",name:"6级草原",fillColor:"#FF6501",strokeColor:"#FF6501"},{level:"7",name:"7级草原",fillColor:"#FB0002",strokeColor:"#FB0002"},{level:"8",name:"8级草原",fillColor:"#D71345",strokeColor:"#D71345"}].map(t=>Z2(B2({},t),{key:`grassland-level-${t.level}`,cqlFilter:`grassland_level IN ('${t.level}','${t.name}','${V4[t.level]}草原','${V4[t.level]}草地')`,rankingPropertyName:["area_code","acreage"],rankingTownCodeKeys:["area_code"],rankingAreaKeys:["acreage"],level:void 0})),wM=dp.map(t=>{const e=t.key.replace("grassland-level-",""),n=t.name.replace("草原","湿地");return Z2(B2({},t),{key:`wetland-level-${e}`,name:n,cqlFilter:`grassland_level IN ('${e}','${n}','${t.name}','${V4[e]}湿地','${V4[e]}草原','${V4[e]}草地')`})}),bM=[{key:"basic-grassland-basic",name:"基本草原",fillColor:"#2EEA78",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'BASIC' OR grassland_category_name = '基本草原')",rankingValueKey:"basicAreaWanMu"},{key:"basic-grassland-general",name:"一般草原",fillColor:"#FFD15A",strokeColor:"#18F8FF",cqlFilter:"(grassland_category_code = 'GENERAL' OR grassland_category_name = '一般草原')",rankingValueKey:"generalAreaWanMu"}],g8=[{key:"overview",name:"资源概览",color:"#30DCFF",defaultLayerKey:"",coreGroups:[]},{key:"grassland",name:"草地资源",color:"#8AE611",defaultLayerKey:"grassland-distribution",coreGroups:["grassLand","grassland"]},{key:"wetland",name:"湿地资源",color:"#33A3DC",defaultLayerKey:"wetland-distribution",coreGroups:["wetland"]},{key:"woodland",name:"林地资源",color:"#2BD17E",defaultLayerKey:"woodland-distribution",coreGroups:["woodland"]}],V9=[{key:"ecological-redline",name:"生态保护红线",color:"#30DCFF",defaultLayerKey:"ecological-redline-boundary"},{key:"natural-protected-area",name:"自然保护地",color:"#19FFC6",defaultLayerKey:"natural-protected-area-boundary"},{key:"national-park",name:"若尔盖国家公园",color:"#46E7FF",defaultLayerKey:"national-park-zoning"},{key:"restoration",name:"生态修复工程",color:"#33A3DC",defaultLayerKey:"restoration-projects"},{key:"engineering-analysis",name:"生态工程分析",color:"#24F6C4",defaultLayerKey:"engineering-analysis-projects"}],TM=[{key:"yak-industry-chain",name:"牦牛产业链",color:"#24F6C4",defaultLayerKey:"yak-industry-points"}],Ai={woodland:[{key:"woodland-distribution",name:"林地范围",layerName:"ne:t_woodland_2023",styles:"woodland_distribution",opacity:.82,legends:[{key:"woodland-distribution-all",name:"林地范围",fillColor:"#2BD17E",strokeColor:"#2BD17E",selectable:!1}]},{key:"woodland-protection",name:"公益林",layerName:"ne:t_woodland_2023",styles:"woodland_protection",opacity:.86,legends:[{key:"woodland-protection-level-1",name:"国家一级公益林",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:_t("gjgyl_bhdj","1")},{key:"woodland-protection-level-2",name:"国家二级公益林",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:_t("gjgyl_bhdj","2")},{key:"woodland-protection-unset",name:"未划定",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(gjgyl_bhdj IS NULL OR gjgyl_bhdj = '' OR gjgyl_bhdj NOT IN ('1','2'))"}]},{key:"woodland-type",name:"林地类型",layerName:"ne:t_woodland_2023",styles:"woodland_type",opacity:.84,legends:[{key:"woodland-type-shrub",name:"灌木林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:_t("dlmc","灌木林地")},{key:"woodland-type-arbor",name:"乔木林地",fillColor:"#0DA368",strokeColor:"#0DA368",cqlFilter:_t("dlmc","乔木林地")},{key:"woodland-type-swamp",name:"灌丛沼泽",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:_t("dlmc","灌丛沼泽")},{key:"woodland-type-other",name:"其他林地",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:"(dlmc IS NULL OR dlmc = '' OR dlmc NOT IN ('灌木林地','乔木林地','灌丛沼泽'))"}]},{key:"woodland-quality",name:"林地质量",layerName:"ne:t_woodland_2023",styles:"woodland_quality",opacity:.84,legends:[{key:"woodland-quality-2",name:"二级质量",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:_t("zl_dj","2")},{key:"woodland-quality-3",name:"三级质量",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:_t("zl_dj","3")},{key:"woodland-quality-4",name:"四级质量",fillColor:"#23C7B7",strokeColor:"#23C7B7",cqlFilter:_t("zl_dj","4")},{key:"woodland-quality-5",name:"五级质量",fillColor:"#B7D96B",strokeColor:"#B7D96B",cqlFilter:_t("zl_dj","5")},{key:"woodland-quality-unset",name:"未划分",fillColor:"#6B8191",strokeColor:"#6B8191",cqlFilter:"(zl_dj IS NULL OR zl_dj = '' OR zl_dj NOT IN ('2','3','4','5'))"}]},{key:"woodland-ownership",name:"林地权属",layerName:"ne:t_woodland_2023",styles:"woodland_ownership",opacity:.84,legends:[{key:"woodland-ownership-collective",name:"集体林地",fillColor:"#2BD17E",strokeColor:"#2BD17E",cqlFilter:_t("ld_qs","10")},{key:"woodland-ownership-other",name:"国有或其他",fillColor:"#08C4C5",strokeColor:"#08C4C5",cqlFilter:"(ld_qs IS NULL OR ld_qs = '' OR ld_qs <> '10')"}]}],grassland:[{key:"grassland-distribution",name:"草地分布",layerName:"ne:t_grassland_result_caodi",opacity:.82,legends:[{name:"草地",fillColor:"#1D953F",strokeColor:"#1D953F"}]},{key:"basic-grassland",name:"基本/一般草原",layerName:"ne:t_basic_grassland_2023",styles:"basic_grassland_type",opacity:.84,legends:bM},{key:"grassland-level",name:"草原级",layerName:"ne:t_grassland_result_level_caodi",opacity:.82,legends:dp},{key:"grassland-type",name:"草原类型",layerName:"ne:t_grassland_result_grass_min_type_caodi",opacity:.82,legends:Uf},{key:"grassland-yield",name:"草地产草量/生产力",layerName:"ne:t_grassland_result_yield_caodi",opacity:.82,legends:Of},{key:"grassland-health",name:"草地健康/退化",layerName:"ne:2023_08_ndvi",opacity:.78,legends:[{name:"非常差",fillColor:"#FF000533",strokeColor:"#FF0005",selectable:!1},{name:"差",fillColor:"#D8EE8C33",strokeColor:"#D8EE8C",selectable:!1},{name:"正常",fillColor:"#78C96233",strokeColor:"#78C962",selectable:!1},{name:"较好",fillColor:"#25814933",strokeColor:"#258149",selectable:!1}]}],wetland:[{key:"wetland-distribution",name:"湿地分布",layerName:"ne:t_grassland_result_shidi",opacity:.84,legends:[{name:"湿地",fillColor:"#33A3DC",strokeColor:"#33A3DC"}]},{key:"wetland-level",name:"湿地级",layerName:"ne:t_grassland_result_level_shidi",opacity:.82,legends:wM},{key:"wetland-type",name:"湿地类型",layerName:"ne:t_grassland_result_grass_min_type_shidi",opacity:.82,legends:Uf},{key:"wetland-yield",name:"湿地产草量/生产力",layerName:"ne:t_grassland_result_yield_shidi",opacity:.82,legends:Of}]},fp={"ecological-redline":[{key:"ecological-redline-boundary",name:"生态保护红线",layerName:"ne:t_ecological_redline_hy",sourceType:"wfs",styles:"ecological_redline_hy",opacity:.72,fillColor:"rgba(48, 220, 255, 0.12)",strokeColor:"#8BF7FF",mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.76,duration:.9},legends:[{key:"ecological-redline-all",name:"生态保护红线",fillColor:"rgba(48, 220, 255, 0.12)",strokeColor:"#8BF7FF",selectable:!1}]}],"natural-protected-area":[{key:"natural-protected-area-boundary",name:"自然保护地",layerName:"ne:t_natural_protected_area_hy",sourceType:"wfs",styles:"natural_protected_area_hy",opacity:.74,mapView:{targetLngLat:[102.64,33.02],distanceScale:.7,targetLocalZ:.78,duration:.9},legends:[{key:"natural-protected-area-core",name:"核心保护区",fillColor:"rgba(36, 246, 196, 0.16)",strokeColor:"#B9FBFF",matches:[{field:"functional_zone",value:"核心保护区"},{field:"reserve_zone",value:"核心保护区"}],selectable:!1},{key:"natural-protected-area-general",name:"一般控制区",fillColor:"rgba(48, 220, 255, 0.12)",strokeColor:"#8BF7FF",matches:[{field:"functional_zone",value:"一般控制区"},{field:"reserve_zone",value:"一般控制区"}],selectable:!1}]}],"national-park":[{key:"national-park-zoning",name:"国家公园分区",sourceType:"wkt-api",apiUrl:"/openApi/gjgy/gjgy_area",fallbackPath:"datas/ecological-protection/national_park_wkt.json",clipToHongyuanBoundary:!0,clipToLayerBounds:!1,opacity:.9,mapView:{targetLngLat:[102.88,33.15],distanceScale:.68,targetLocalZ:.78,duration:.95},legends:[{key:"national-park-core",name:"核心保护区",fillColor:Z9.core.fillColor,strokeColor:Z9.core.strokeColor,match:{field:"type",value:"核心保护区"},selectable:!1},{key:"national-park-general",name:"一般控制区",fillColor:Z9.general.fillColor,strokeColor:Z9.general.strokeColor,match:{field:"type",value:"一般控制区"},selectable:!1}]}],restoration:[{key:"restoration-projects",name:"生态修复工程",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.72,legends:[{key:"restoration-grassland",name:"草地修复",fillColor:"#75AD49",strokeColor:"#D2EA78",cqlFilter:_t("project_category","草地修复"),match:{field:"project_category",value:"草地修复"}},{key:"restoration-wetland",name:"湿地修复",fillColor:"#4FB4C3",strokeColor:"#A9EEF2",cqlFilter:_t("project_category","湿地修复"),match:{field:"project_category",value:"湿地修复"}},{key:"restoration-woodland",name:"林地修复",fillColor:"#43A97A",strokeColor:"#95E2B7",cqlFilter:_t("project_category","林地修复"),match:{field:"project_category",value:"林地修复"}},{key:"restoration-linear",name:"线性设施",fillColor:"#D2B24D",strokeColor:"#FFE28A",cqlFilter:_t("feature_role","线性设施"),match:{field:"feature_role",value:"线性设施"}}]}],"engineering-analysis":[{key:"engineering-analysis-projects",name:"工程分析项目库",sourceType:"geojson",dataPath:"datas/ecological-protection/ecological_restoration_projects.geojson",opacity:.76,mapView:{targetLngLat:[102.58,32.72],distanceScale:.78,targetLocalZ:.72,duration:.85},legends:[{key:"analysis-project-grassland",name:"草地修复",fillColor:"#75AD49",strokeColor:"#D2EA78",match:{field:"project_category",value:"草地修复"},selectable:!1},{key:"analysis-project-wetland",name:"湿地修复",fillColor:"#4FB4C3",strokeColor:"#A9EEF2",match:{field:"project_category",value:"湿地修复"},selectable:!1},{key:"analysis-project-woodland",name:"林地修复",fillColor:"#43A97A",strokeColor:"#95E2B7",match:{field:"project_category",value:"林地修复"},selectable:!1},{key:"analysis-project-linear",name:"线性设施",fillColor:"#D2B24D",strokeColor:"#FFE28A",match:{field:"feature_role",value:"线性设施"},selectable:!1}]}]},CM={"yak-industry-chain":[{key:"yak-recognition-layer",name:"牦牛识别",sourceType:"wmts",layerName:"ne:daping_yak_marks",style:"ne:yak_marks",styles:"ne:yak_marks",format:"image/png",tileMatrixSetID:"EPSG:900913",maximumLevel:21,homeWmtsZoom:10,homeWmtsEnhance:!0,homeWmtsPointSpread:1.4,homeWmtsGlowRadius:1.8,url:"/geoserver/gwc/service/wmts",opacity:.96,queryBuffer:10,fillColor:"rgba(255, 203, 69, 0)",strokeColor:"#FFCB45",glowColor:"rgba(255, 203, 69, 0.28)",lineWidth:1.4,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-recognition-all",name:"牦牛识别",fillColor:"#FFCB45",strokeColor:"#FFF4B8",selectable:!1}]},{key:"yak-industry-points",name:"牦牛产业点位",sourceType:"geojson",dataPath:"datas/yak-industry-chain/yak_industry_points.geojson",opacity:.96,pointLabelLimit:12,showPointLabels:!1,mapView:{targetLngLat:[102.48,32.69],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-industry-family-pasture",name:"家庭生态牧场",fillColor:"#30DCFF",strokeColor:"#C9FBFF",match:{field:"stageKey",value:"family-pasture"}},{key:"yak-industry-artificial-grassland",name:"人工种草基地点",fillColor:"#19FFC6",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"artificial-grassland"}},{key:"yak-industry-scale-breeding",name:"规模化养殖基地",fillColor:"#46E7FF",strokeColor:"#C9FBFF",match:{field:"stageKey",value:"scale-breeding"}},{key:"yak-industry-breeding-selection",name:"选育/扩繁基地",fillColor:"#7AEFFF",strokeColor:"#D8FAFF",matches:[{field:"categoryCode",value:"YC-BREEDING-STOCK"},{field:"categoryCode",value:"YC-CXPT-BREEDING-STOCK-BASE"}]},{key:"yak-industry-forage-storage",name:"防灾减灾",fillColor:"#25CBE8",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"forage-storage"}},{key:"yak-industry-milk-source-station",name:"奶源站",fillColor:"#5CDFFF",strokeColor:"#D8FAFF",match:{field:"stageKey",value:"milk-source-station"}},{key:"yak-industry-slaughter-processing",name:"屠宰与加工",fillColor:"#1FAFD2",strokeColor:"#B8F7FF",match:{field:"stageKey",value:"slaughter-processing"}},{key:"yak-industry-farm-equipment",name:"农机装备",fillColor:"#30DCFF",strokeColor:"#C9FBFF",match:{field:"stageKey",value:"farm-equipment"}},{key:"yak-industry-forage-trade",name:"牧草交易",fillColor:"#19FFC6",strokeColor:"#B7FFF2",match:{field:"stageKey",value:"forage-trade"}},{key:"yak-industry-social-service",name:"社会化服务",fillColor:"#8AEFFF",strokeColor:"#E2FDFF",match:{field:"stageKey",value:"social-service"}}]},{key:"artificial-grassland-plots",name:"人工种草图斑",sourceType:"geojson",dataPath:"datas/yak-industry-chain/artificial_grassland_plots.geojson",opacity:.94,clipToHongyuanBoundary:!0,mapView:{targetLngLat:[102.51,32.79],distanceScale:.62,targetLocalZ:.76,duration:.9},legends:[{key:"artificial-grassland-pending",name:"待核定种草图斑",fillColor:"#30DCFF",strokeColor:"#C9FBFF",match:{field:"data_status",value:"待核定"},selectable:!1}]}]},AM=B2(B2(B2({},Ai),fp),CM),_M=[...g8,...V9,...TM];function jf(t){return _M.find(e=>e.key===t)||g8[0]}function y8(t){return AM[t]||[]}function e9(t,e){const n=y8(t);return n.find(a=>a.key===e)||n[0]}const xM=12e3;function MM(t,e={}){const n=new URLSearchParams;Object.entries(e).forEach(([i,r])=>{r!=null&&r!==""&&n.append(i,r)});const a=n.toString();return a?`${t}${t.includes("?")?"&":"?"}${a}`:t}function Xt(n){return P3(this,arguments,function*(t,e={}){const m=e,{params:a,timeout:i=xM}=m,r=F9(m,["params","timeout"]),o=new AbortController;let s=!1;const u=window.setTimeout(()=>{s=!0,o.abort()},i);try{const h=yield fetch(MM(t,a),Z2(B2({credentials:"include"},r),{signal:o.signal,headers:B2({Accept:"application/json"},r.headers||{})}));if(!h.ok){const g=new Error(h.status===401?"用户未登录或授权已过期。":`HTTP ${h.status}`);throw g.code=`HTTP_${h.status}`,g.status=h.status,h.status===401&&zd(),g}const p=yield h.json();if((p==null?void 0:p.code)===401||(p==null?void 0:p.code)==="401"){const g=new Error((p==null?void 0:p.msg)||"用户未登录或授权已过期。");throw g.code="HTTP_401",g.status=401,zd(),g}return p}catch(h){if(o.signal.aborted||(h==null?void 0:h.name)==="AbortError"||/aborted/i.test((h==null?void 0:h.message)||"")){const g=new Error(s?"服务响应超时,请稍后再试。":"请求已取消,请重新发送。");throw g.code=s?"REQUEST_TIMEOUT":"REQUEST_ABORTED",g}throw h}finally{window.clearTimeout(u)}})}function u0(t){return(t==null?void 0:t.data)!==void 0?t.data:(t==null?void 0:t.result)!==void 0?t.result:t}const Zl="/geoserver/ne/wms",PM={}.VITE_GEOSERVER_WFS_URL||Zl.replace(/\/wms$/i,"/wfs"),kM={}.VITE_GEOSERVER_WMTS_URL||"/geoserver/gwc/service/wmts";function br(t,e){const n=new URLSearchParams;return Object.entries(e).forEach(([a,i])=>{i!=null&&i!==""&&n.append(a,i)}),`${t}${t.includes("?")?"&":"?"}${n.toString()}`}function EM(t,e={}){const n=e.bounds||j1,a=e.size||l6;return br(e.url||Zl,{service:"WMS",version:"1.1.1",request:"GetMap",layers:t.layerName,styles:t.styles||"",format:"image/png",transparent:!0,tiled:!0,srs:"EPSG:4326",bbox:[n.west,n.south,n.east,n.north].join(","),width:a.width,height:a.height,CQL_FILTER:e.cqlFilter||t.cqlFilter,SLD_BODY:e.sldBody||t.sldBody,_:Date.now()})}function NM(t,e={}){var r,o,s,u,m;const n=t.tileMatrixSetID||t.tileMatrixSet||"EPSG:900913",a=Number((u=(s=(o=(r=e.z)!=null?r:e.zoom)!=null?o:t.wmtsZoom)!=null?s:t.homeWmtsZoom)!=null?u:0),i=e.tileMatrix||((m=t.tileMatrixLabels)==null?void 0:m[a])||`${n}:${a}`;return br(e.url||t.url||kM,{service:"WMTS",version:"1.0.0",request:"GetTile",layer:t.layerName,style:t.style||t.styles||"",format:t.format||"image/png",tileMatrixSet:n,tileMatrix:i,tileRow:e.y,tileCol:e.x})}function RM(t,e,n={}){var r,o;const a=n.bounds||j1,i=n.size||l6;return br(n.url||Zl,{service:"WMS",version:"1.1.1",request:"GetFeatureInfo",layers:t.layerName,query_layers:t.layerName,styles:t.styles||"",info_format:"application/json",feature_count:5,srs:"EPSG:4326",bbox:[a.west,a.south,a.east,a.north].join(","),width:i.width,height:i.height,x:Math.round(e.x),y:Math.round(e.y),buffer:(o=(r=n.buffer)!=null?r:t.queryBuffer)!=null?o:8,CQL_FILTER:n.cqlFilter||t.cqlFilter,SLD_BODY:n.sldBody||t.sldBody})}function zf(a,i){return P3(this,arguments,function*(t,e,n={}){const r=RM(t,e,n);return Xt(r,{credentials:"include"})})}function LM(t,e={}){return br(e.url||PM,{service:"WFS",version:e.version||"1.0.0",request:"GetFeature",typeName:t,outputFormat:"json",propertyName:Array.isArray(e.propertyName)?e.propertyName.join(","):e.propertyName,CQL_FILTER:e.cqlFilter,maxFeatures:e.maxFeatures||2e5})}function $i(n){return P3(this,arguments,function*(t,e={}){const a=LM(t,e);return Xt(a,{credentials:"include",timeout:e.timeout||2e4})})}function Yf(t){var a;const e=(a=t==null?void 0:t.features)==null?void 0:a[0];if(!e)return null;const n=e.properties||{};return{id:e.id||n.gid||n.objectid||n.OBJECTID,properties:n,feature:e}}const IM=new t0(-.17427287762525134,13.678992786206543,20.688611202093714),FM=new t0(0,0,0),BM=new t0(-13.767695123014105,12.990152163077308,39.28228164159694),Ts=21,DM=9,GM=260,UM=12,OM=700,U9=new Map,$f="#30DCFF",jM="#F2FFFF",zM="#8BF7FF",Wf=3202303,YM=15925247,Vf=9172991,Hf={"family-pasture":"pasture","artificial-grassland":"grass","scale-breeding":"breeding","forage-storage":"storage","slaughter-processing":"processing","farm-equipment":"equipment","social-service":"service"};function Kf(t){return t.sort((e,n)=>n.value-e.value),t}function Gn(t){return String(t||"").replace(/\s+/g,"").trim()}function Z0(t,e=0){const n=Number(t);return Number.isFinite(n)?n:e}function x4(t,e,n){const a=Number(t);return Number.isFinite(a)?Math.max(e,Math.min(n,a)):e}function De(t){return String(t!=null?t:"").replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}function qf(t){return(t==null?void 0:t.scope)==="village"||(t==null?void 0:t.labelMode)==="village"}function Jf(t){return(t==null?void 0:t.scope)==="trade-flow"||(t==null?void 0:t.labelMode)==="trade-flow"}function $M(t){return(t==null?void 0:t.showFlowLines)!==!1}function Qf(t){return!!(t!=null&&t.hideTownNames||(t==null?void 0:t.showTownNames)===!1)}function M4(t){return!!(t!=null&&t.hideMapLabels||(t==null?void 0:t.showMapLabels)===!1)}function WM(t){return(t==null?void 0:t.displayMode)==="callout"||(t==null?void 0:t.labelMode)==="callout"}function ai(t){return["wkt-api","geojson","wfs"].includes(String((t==null?void 0:t.sourceType)||"").toLowerCase())}function VM(t){return(t==null?void 0:t.interactive)===!1||(t==null?void 0:t.key)==="yak-recognition-layer"}function Xf(t){return String((t==null?void 0:t.sourceType)||"").toLowerCase()==="wmts"}function Zf(t,e,n){const a=N6(2,n),i=Math.sin(e*Math.PI/180);return{x:(t+180)/360*a,y:(.5-Math.log((1+i)/(1-i))/(4*Math.PI))*a}}function eh(t,e,n){const a=N6(2,n),i=t/a*360-180,r=Math.PI-2*Math.PI*e/a,o=180/Math.PI*Math.atan(.5*(Math.exp(r)-Math.exp(-r)));return[i,o]}function HM(t,e){const n=Zf(t.west,t.north,e),a=Zf(t.east,t.south,e);return{minX:Math.floor(n.x),maxX:Math.floor(a.x),minY:Math.floor(n.y),maxY:Math.floor(a.y)}}function KM(t,e,n,a){const[i,r]=eh(t,e,n),[o,s]=eh(t+1,e+1,n),u=j1.east-j1.west,m=j1.north-j1.south;return{x:(i-j1.west)/u*a.width,y:(j1.north-r)/m*a.height,width:(o-i)/u*a.width,height:(r-s)/m*a.height}}function qM(t){const e=U9.get(t);if(e)return e;const n=new Promise(a=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>a(i),i.onerror=()=>{U9.delete(t),a(null)},i.src=t});for(U9.set(t,n);U9.size>OM;){const a=U9.keys().next().value;if(!a)break;U9.delete(a)}return n}function th(t){return t?/^https?:\/\//.test(t)||t.startsWith("/")?t:`./${t}`:""}function JM(t){if(!t)return null;if(typeof t=="string")try{return JSON.parse(t)}catch(e){return console.warn("地图 GeoJSON 解析失败",e),null}return t}function P4(t){const e=JM(t);return e!=null&&e.features&&e.features.forEach(n=>{var a;((a=n.geometry)==null?void 0:a.type)==="Polygon"&&(n.geometry.coordinates=[n.geometry.coordinates])}),e}function nh(t){var e,n,a;return t!=null&&t.coordinates?t.type==="Polygon"?Array.isArray((a=(n=(e=t.coordinates)==null?void 0:e[0])==null?void 0:n[0])==null?void 0:a[0])?t.coordinates:[t.coordinates]:t.type==="MultiPolygon"?t.coordinates:[]:[]}class QM extends Ex{constructor(e,n,a={}){var s,u,m,h;super(e),this.geoProjectionCenter=[102.6305459723107,32.72169252326339],this.geoProjectionScale=650,this.tradeGeoProjectionCenter=[104,36],this.tradeGeoProjectionScale=11.4,this.tradeNationalDepth=.24,this.depth=.5,this.clicked=!1,this.scene.fog=new mA(466735,1,50),this.scene.background=new Ae(466735),this.camera.instance.position.copy(BM),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.defaultMapCameraPosition=IM.clone(),this.defaultMapTarget=FM.clone(),this.camera.controls.target.copy(this.defaultMapTarget),this.camera.controls.update(),this.activeMapViewTweens=[],this.sceneTweens=[],this.sceneTimers=[],this.interactionManager=new sM(this.renderer.instance,this.camera.instance,this.canvas),this.assets=n,this.callbacks=a,this.useSatelliteBase=a.useSatelliteBase!==!1,this.showNationalBackdrop=a.showNationalBackdrop===!0,this.topicLayerPresentation=a.topicLayerPresentation||"default",this.tileUrlTemplate=a.tileUrlTemplate||"",this.usesCustomSatelliteTiles=this.useSatelliteBase&&!!this.tileUrlTemplate;const i=Math.round(Number(a.satelliteTextureZoom));this.satelliteTextureZoom=Number.isFinite(i)&&i>0?Math.min(Ts,i):vM;const r=Math.round(Number(a.satelliteMaxZoom)),o=Number.isFinite(r)&&r>0?Math.min(Ts,Math.max(this.satelliteTextureZoom,r)):Ts;this.adminBoundaryLineScale=this.normalizeAdminBoundaryLineScale(a.adminBoundaryLineScale),this.mapBoundaryEmphasisMaterial=null,this.dynamicSatelliteMaxZoom=o,this.dynamicSatelliteTileWindow=DM,this.dynamicSatelliteOverlay=null,this.dynamicSatelliteMaterial=null,this.dynamicSatelliteTexture=null,this.dynamicSatelliteCurrentKey="",this.dynamicSatelliteLoadingKey="",this.dynamicSatelliteRequestId=0,this.dynamicSatelliteLastCheck=0,this.topicLayerLoadId=0,this.visibleTopicLayers=[],this.mapAnimationComplete=!1,this.showTownRankingBars=!1,this.showTownRankingPointMarkers=!1,this.currentTownRanking=null,this.villageRankingGroup=null,this.villageRankingLabels=[],this.tradeFlowGroup=null,this.tradeFlowMeshGroup=null,this.tradeFlowLabelGroup=null,this.tradeFlowLabels=[],this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[],this.isTradeNationalMapActive=!1,this.selectedFeatureGroup=null,this.selectedVectorFeatures=[],this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.currentVectorFeatures=[],this.yakIndustryPointLabelGroup=null,this.yakIndustryPointLabels=[],this.yakIndustryPointMarkerGroup=null,this.yakIndustryPointMarkers=[],this.yakIndustryMarkerMaterialCache=new Map,this.hongyuanBoundaryPolygons=[],this.townMetaByName=new Map(If.map(p=>[Gn(p.name),p])),this.staticMapData={china:P4(this.assets.instance.getResource("china")),mapJson:P4(this.assets.instance.getResource("mapJson")),mapStroke:P4(this.assets.instance.getResource("mapStroke"))},this.handleCanvasBoundaryPointerDown=this.handleCanvasBoundaryPointerDown.bind(this),this.handleCanvasBoundaryDoubleClick=this.handleCanvasBoundaryDoubleClick.bind(this),(u=(s=this.canvas)==null?void 0:s.addEventListener)==null||u.call(s,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(h=(m=this.canvas)==null?void 0:m.addEventListener)==null||h.call(m,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.initEnvironment(),this.init()}init(){this.labelGroup=new ae,this.label3d=new Dx(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new ae,this.flyLineFocusGroup.visible=!1,this.flyLineFocusGroup.rotation.x=-Math.PI/2,this.scene.add(this.flyLineFocusGroup),this.eventElement=[],this.defaultMaterial=null,this.defaultLightMaterial=null,this.createBottomBg(),this.createChinaBlurLine(),this.createGrid(),this.createRotateBorder(),this.createLabel(),this.createMap(),this.createEvent(),this.createFlyLine(),this.createFocus(),this.createParticles(),this.createScatter(),this.createInfoPoint(),this.createStorke();let e=Yt.timeline({onComplete:()=>{if(this.mapAnimationComplete=!0,this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),M4(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}});e.pause(),this.animateTl=e,e.addLabel("focusMap",1.5),e.addLabel("focusMapOpacity",2),e.addLabel("bar",3),e.to(this.camera.instance.position,{duration:2,x:this.defaultMapCameraPosition.x,y:this.defaultMapCameraPosition.y,z:this.defaultMapCameraPosition.z,ease:"circ.out",onStart:()=>{this.flyLineFocusGroup.visible=!1}}),e.to(this.focusMapGroup.position,{duration:1,x:0,y:0,z:0},"focusMap"),e.to(this.focusMapGroup.scale,{duration:1,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{if(this.flyLineGroup.visible=!0,this.scatterGroup.visible=!0,this.InfoPointGroup.visible=!M4(this.currentTownRanking)&&this.showTownRankingPointMarkers&&this.hasTownRankingRows(),this.setTradeNationalMapVisible(!1),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),M4(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}},"focusMap"),e.to(this.focusMapTopMaterial,{duration:1,opacity:this.getFocusMapTopOpacity(),ease:"circ.out"},"focusMapOpacity"),e.to(this.focusMapSideMaterial,{duration:1,opacity:1,ease:"circ.out",onComplete:()=>{this.focusMapSideMaterial.transparent=!1}},"focusMapOpacity"),this.otherLabel.map((a,i)=>{let r=a.element.querySelector(".other-label");e.to(r,{duration:1,delay:.1*i,translateY:0,opacity:1,ease:"circ.out"},"focusMapOpacity")}),e.to(this.mapLineMaterial,{duration:.5,delay:.3,opacity:1},"focusMapOpacity"),this.mapBoundaryEmphasisMaterial&&e.to(this.mapBoundaryEmphasisMaterial,{duration:.5,delay:.3,opacity:this.getAdminBoundaryEmphasisOpacity()},"focusMapOpacity"),e.to(this.rotateBorder1.scale,{delay:.3,duration:1,x:1,y:1,z:1,ease:"circ.out"},"focusMapOpacity"),e.to(this.rotateBorder2.scale,{duration:1,delay:.5,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{var a,i;this.flyLineFocusGroup.visible=!0,(i=(a=this.callbacks).onPlayComplete)==null||i.call(a)}},"focusMapOpacity"),this.showTownRankingBars&&(this.allBar.map((a,i)=>{e.to(a.scale,{duration:1,delay:.1*i,x:1,y:1,z:1,ease:"circ.out"},"bar")}),this.allBarMaterial.map((a,i)=>{e.to(a,{duration:1,delay:.1*i,opacity:1,ease:"circ.out"},"bar")}));const n=this;this.allProvinceLabel.map((a,i)=>{let r=a.element.querySelector(".provinces-label-wrap"),o=a.element.querySelector(".number .value"),s={progress:0};e.to(r,{duration:1,delay:.2*i,translateY:0,opacity:1,ease:"circ.out"},"bar"),e.to(s,{duration:1,delay:.2*i,progress:1,onStart:()=>{s.progress=0},onUpdate:u},"bar");function u(){var h,p;const m=Z0((p=(h=a.userData)==null?void 0:h.targetValue)!=null?p:o.dataset.targetValue);o.innerText=n.formatMapRankingValue(m*s.progress)}}),this.showTownRankingBars&&this.allGuangquan.map((a,i)=>{e.to(a.children[0].scale,{duration:1,delay:.1*i,x:1,y:1,z:1,ease:"circ.out"},"bar"),e.to(a.children[1].scale,{duration:1,delay:.1*i,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let e=new pA(13171711,4.2);this.scene.add(e);let n=new Lm(14679295,5.8);n.position.set(-30,6,-8),n.castShadow=!0,n.shadow.radius=20,n.shadow.mapSize.width=1024,n.shadow.mapSize.height=1024,this.scene.add(n),this.createPointLight({color:"#1fd6df",intensity:680,distance:1e4,x:-9,y:3,z:-3}),this.createPointLight({color:"#2af0c6",intensity:260,distance:1e4,x:0,y:2,z:5})}createPointLight(e){const n=new Rm(1924702,e.intensity,e.distance);n.position.set(e.x,e.y,e.z),this.scene.add(n)}createMap(){let e=new ae,n=new ae;this.mapGroup=e,this.focusMapGroup=n;let{china:a,chinaTopLine:i}=this.createChina(),{map:r,mapTop:o,mapLine:s,mapBoundaryEmphasis:u}=this.createProvince();this.createNationalBackdrop(),a.setParent(e),i.setParent(e),this.createDiffuse(),r.setParent(n),o.setParent(n),s.setParent(n),u==null||u.setParent(n),n.position.set(0,0,-.01),n.scale.set(1,1,0),e.add(n),this.createTopicLayer(),e.rotation.x=-Math.PI/2,e.position.set(0,.2,0),this.scene.add(e),this.createBar()}createChina(){let e={chinaBgMaterialColor:"#0d3349",lineColor:"#39c7ef"},n=this.staticMapData.china,a=new os({color:new Ae(e.chinaBgMaterialColor),transparent:!0,opacity:.72}),i=new _4(this,{data:n,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,merge:!0,material:a,renderOrder:2}),r=new s5({color:e.lineColor,transparent:!0,opacity:.58}),o=new G9(this,{data:n,geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,material:r,renderOrder:3});return o.lineGroup.position.z+=.01,{china:i,chinaTopLine:o}}createNationalBackdrop(){var m;if(!this.showNationalBackdrop||this.nationalBackdropGroup)return!1;let e=null;try{e=P4(this.assets.instance.getResource("chinaMap"))}catch(h){return console.warn("首页全国底图资源未加载",h),!1}if(!((m=e==null?void 0:e.features)!=null&&m.length))return!1;const n=this.geoProjectionCenter,a=120,i=new t0(0,0,-.08),r=new os({color:new Ae("#152c47"),transparent:!0,opacity:.72,depthWrite:!1,fog:!1,side:ze}),o=new _4(this,{data:e,geoProjectionCenter:n,geoProjectionScale:a,merge:!0,position:i,material:r,renderOrder:0});o.mapGroup.name="home-national-backdrop-fill",o.setParent(this.mapGroup);const s=new s5({color:new Ae("#3f82cd"),transparent:!0,opacity:.46,depthWrite:!1,fog:!1}),u=new G9(this,{data:e,geoProjectionCenter:n,geoProjectionScale:a,position:new t0(i.x,i.y,i.z+.01),material:s,renderOrder:1});return u.lineGroup.name="home-national-backdrop-line",u.setParent(this.mapGroup),this.nationalBackdropGroup=o.mapGroup,this.nationalBackdropLineGroup=u.lineGroup,!0}createTradeNationalMap(){var p;if(this.tradeNationalMapGroup)return!0;let e=null;try{e=P4(this.assets.instance.getResource("chinaMap"))}catch(g){return console.warn("牦牛交易全国地图资源未加载",g),!1}const n=e;if(!e||!((p=n==null?void 0:n.features)!=null&&p.length))return!1;const a=new ae;a.name="trade-national-map",a.visible=!1,a.rotation.x=-Math.PI/2,a.position.set(0,.04,0);const i=new V0({color:403001,transparent:!0,opacity:.14,side:ze,depthWrite:!1,fog:!1});new _4(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new t0(.05,-.05,-.03),material:i,renderOrder:17}).setParent(a);const{topMaterial:o,sideMaterial:s}=this.createTradeNationalMaterials(),u=new xf(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,position:new t0(0,0,0),depth:this.tradeNationalDepth,topFaceMaterial:o,sideMaterial:s,renderOrder:20,bevelThickness:.024,bevelSegments:1});u.mapGroup.traverse(g=>{g.isMesh&&(g.renderOrder=20)}),u.setParent(a);const m=new s5({color:4777983,transparent:!0,opacity:.52,fog:!1,depthTest:!1}),h=new G9(this,{data:e,geoProjectionCenter:this.tradeGeoProjectionCenter,geoProjectionScale:this.tradeGeoProjectionScale,material:m,renderOrder:21});return h.lineGroup.position.z+=this.tradeNationalDepth+.055,h.setParent(a),this.scene.add(a),this.tradeNationalMapGroup=a,this.createTradeNationalLabels(n),!0}createTradeNationalMaterials(){const e=new J9({color:16777215,transparent:!0,opacity:.54,roughness:.84,metalness:.08,side:ze,fog:!1});new Za(e,{uColor1:827317,uColor2:403515,size:6.8,dir:"x"});const n=this.assets.instance.getResource("side").clone();n.wrapS=Ot,n.wrapT=Ot,n.repeat.set(1,1.2),n.needsUpdate=!0;const a=new J9({color:1485501,map:n,transparent:!0,opacity:.58,roughness:.78,metalness:.04,side:ze,fog:!1});return new Za(a,{uColor1:1354174,uColor2:134940,size:Math.max(this.tradeNationalDepth,.1),dir:"y"}),this.time.on("tick",()=>{n.offset.y+=.004}),{topMaterial:e,sideMaterial:a}}createTradeNationalLabels(e){this.tradeNationalLabelGroup=new ae,this.tradeNationalLabelGroup.name="trade-national-label",this.tradeNationalLabelGroup.rotation.x=-Math.PI/2,this.tradeNationalLabelGroup.visible=!1,this.scene.add(this.tradeNationalLabelGroup),this.tradeNationalLabels=[];const n=new Set(["四川","青海","甘肃","陕西","重庆","云南","西藏","新疆"]);(e.features||[]).forEach(a=>{var u;const i=((u=a.properties)==null?void 0:u.name)||"",r=this.normalizeTradeProvinceName(i);if(!n.has(r))return;const o=this.getFeatureCenterLngLat(a);if(!o)return;const s=this.label3d.create("","trade-national-label",!0);s.init(`
    ${De(r)}
    `,this.getTradeLocalPoint(o.lng,o.lat,.82)),this.label3d.setLabelStyle(s,.012,"x"),s.setParent(this.tradeNationalLabelGroup),s.visible=!0,this.tradeNationalLabels.push(s)})}normalizeTradeProvinceName(e=""){return String(e).replace(/省|市|自治区|壮族|回族|维吾尔|特别行政区/g,"").trim()}getFeatureCenterLngLat(e){var r,o,s;const n=((r=e==null?void 0:e.properties)==null?void 0:r.cp)||((o=e==null?void 0:e.properties)==null?void 0:o.centroid)||((s=e==null?void 0:e.properties)==null?void 0:s.center);if(Array.isArray(n)&&Number.isFinite(Number(n[0]))&&Number.isFinite(Number(n[1])))return{lng:Number(n[0]),lat:Number(n[1])};const a=this.getGeometryCoordinateList(e==null?void 0:e.geometry);if(!a.length)return null;const i=a.reduce((u,m)=>({minLng:Math.min(u.minLng,Number(m[0])),maxLng:Math.max(u.maxLng,Number(m[0])),minLat:Math.min(u.minLat,Number(m[1])),maxLat:Math.max(u.maxLat,Number(m[1]))}),{minLng:1/0,maxLng:-1/0,minLat:1/0,maxLat:-1/0});return{lng:(i.minLng+i.maxLng)/2,lat:(i.minLat+i.maxLat)/2}}isHomeTopicPresentation(){return this.topicLayerPresentation==="home"}createProvince(){let e=this.staticMapData.mapJson;this.mapJsonData=e;const n=this.useSatelliteBase?Df({geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,zoom:this.satelliteTextureZoom,tileUrlTemplate:this.tileUrlTemplate,onTileStatus:p=>{var g,C;return(C=(g=this.callbacks).onTileStatus)==null?void 0:C.call(g,p)}}):null;n!=null&&n.texture&&this.enhanceTexture(n.texture);let[a,i]=this.createProvinceMaterial();this.focusMapTopMaterial=a,this.focusMapSideMaterial=i;let r=new xf(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new t0(0,0,.11),data:e,depth:this.depth,topFaceMaterial:a,sideMaterial:i,renderOrder:9}),o=new J9({color:this.useSatelliteBase?16777215:13172735,map:(n==null?void 0:n.texture)||null,transparent:!0,opacity:this.useSatelliteBase?this.usesCustomSatelliteTiles?1:.94:.88,roughness:this.useSatelliteBase?this.usesCustomSatelliteTiles?.7:.82:.66,metalness:this.useSatelliteBase?0:.08});this.usesCustomSatelliteTiles||new Za(o,{uColor1:this.useSatelliteBase?1629410:1227744,uColor2:this.useSatelliteBase?757673:38069,size:this.useSatelliteBase?15:8.6}),this.defaultMaterial=o,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new Ae("rgba(128,244,255,1)"),this.defaultLightMaterial.opacity=.9;let s=new _4(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new t0(0,0,this.depth+.22),data:e,material:o,renderOrder:this.usesCustomSatelliteTiles?14:8});this.satelliteMapTop=s,this.satelliteMaterial=o,n!=null&&n.uvBounds&&Gf(s,n.uvBounds),s.mapGroup.children.map(p=>{p.children.map(g=>{g.type==="Mesh"&&this.eventElement.push(g)})}),this.mapLineMaterial=new s5({color:12254463,opacity:0,transparent:!0,linewidth:this.adminBoundaryLineScale,fog:!1});let u=new G9(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapLineMaterial,renderOrder:this.isHomeTopicPresentation()?34:26});u.lineGroup.position.z+=this.depth+(this.isHomeTopicPresentation()?.315:.285);let m=null;const h=this.getAdminBoundaryEmphasisRadius();return h>0&&(this.mapBoundaryEmphasisMaterial=new V0({color:9632767,transparent:!0,opacity:0,depthTest:!1,depthWrite:!1,fog:!1,blending:qe}),m=new G9(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:e,material:this.mapBoundaryEmphasisMaterial,renderOrder:this.usesCustomSatelliteTiles?24:18,type:"Line3",tubeRadius:h}),m.lineGroup.position.z+=this.depth+.255),{map:r,mapTop:s,mapLine:u,mapBoundaryEmphasis:m}}normalizeAdminBoundaryLineScale(e){const n=Number(e);return Number.isFinite(n)?Math.min(4,Math.max(1,n)):1}getAdminBoundaryEmphasisRadius(){return this.adminBoundaryLineScale<=1?0:Math.min(.04,.011*this.adminBoundaryLineScale)}getAdminBoundaryEmphasisOpacity(){return this.adminBoundaryLineScale<=1?0:Math.min(.5,.2+this.adminBoundaryLineScale*.08)}createTopicLayer(){if(!this.mapJsonData)return;this.initHongyuanBoundaryPolygons();const e=document.createElement("canvas");e.width=l6.width,e.height=l6.height;const n=e.getContext("2d");n.clearRect(0,0,e.width,e.height);const a=new Ii(e);a.colorSpace=Wt,a.wrapS=i7,a.wrapT=i7,a.minFilter=X5,a.magFilter=X5,this.enhanceTexture(a),a.needsUpdate=!0;const i=new V0({map:a,transparent:!0,opacity:0,depthWrite:!1,depthTest:!this.isHomeTopicPresentation(),side:ze,fog:!1}),r=this.createLayerUvBounds(),o=new _4(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new t0(0,0,this.depth+(this.isHomeTopicPresentation()?.272:.255)),data:this.mapJsonData,material:i,renderOrder:this.isHomeTopicPresentation()?24:18});Gf(o,r),o.setParent(this.focusMapGroup),this.topicLayerUvBounds=r,this.topicLayerCanvas=e,this.topicLayerContext=n,this.topicLayerTexture=a,this.topicLayerMaterial=i,this.topicLayerMap=o}initHongyuanBoundaryPolygons(){var n,a,i;if((n=this.hongyuanBoundaryPolygons)!=null&&n.length)return;const e=this.staticMapData.mapStroke;this.hongyuanBoundaryPolygons=nh((i=(a=e==null?void 0:e.features)==null?void 0:a[0])==null?void 0:i.geometry)}createSelectedFeatureGroup(){var e;this.selectedFeatureGroup||(this.selectedFeatureGroup=new ae,this.selectedFeatureGroup.name="selected-feature-highlight",this.selectedFeatureGroup.position.z=this.depth+.31,(e=this.focusMapGroup)==null||e.add(this.selectedFeatureGroup))}createLayerUvBounds(){const e=d6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),[n]=e([j1.west,j1.south]),[a]=e([j1.east,j1.south]),[,i]=e([j1.west,j1.north]),[,r]=e([j1.west,j1.south]);return{left:n,right:a,bottom:-r,top:-i}}setTopicLayer(e){var a,i;if(!e||!this.topicLayerContext||!this.topicLayerTexture)return;this.currentTopicLayer=e,this.visibleTopicLayers=[e],this.clearSelectedFeature(),this.applyLayerMapView(e);const n=++this.topicLayerLoadId;if(this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(i=(a=this.callbacks).onLayerStatus)==null||i.call(a,{type:"loading",text:`正在加载 ${e.name}`}),ai(e)){this.loadVectorTopicLayer(e,n);return}this.loadTopicLayerImage(e).then(r=>{var o,s,u,m;if(n===this.topicLayerLoadId){if(!(r!=null&&r.image)){this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"GeoServer 图层加载失败"});return}this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.drawTopicRasterImage(r.image,r.layer||e),this.topicLayerTexture.needsUpdate=!0,this.updateTopicLayerTextureSampling(e),this.topicLayerMaterial.opacity=this.getTopicLayerMaterialOpacity(e,.84),(m=(u=this.callbacks).onLayerStatus)==null||m.call(u,{type:"success",text:"GeoServer 图层已加载"})}}).catch(()=>{var r,o;n===this.topicLayerLoadId&&(this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"error",text:"GeoServer 图层加载失败"}))})}setTopicLayers(e=[],n=e[0]){var r,o,s,u;if(!this.topicLayerContext||!this.topicLayerTexture)return;const a=e.filter(Boolean);if(!a.length){this.topicLayerLoadId+=1,this.visibleTopicLayers=[],this.currentTopicLayer=null,this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.clearSelectedFeature(),this.applyLayerMapView(null),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"success",text:"图层已关闭"});return}if(a.length===1){this.setTopicLayer(B2(B2({},a[0]),(n==null?void 0:n.key)===a[0].key?n:{}));return}this.currentTopicLayer=n||a[a.length-1],this.visibleTopicLayers=a,this.clearSelectedFeature(),this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.applyLayerMapView(this.currentTopicLayer);const i=++this.topicLayerLoadId;this.currentVectorFeatures=[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(u=(s=this.callbacks).onLayerStatus)==null||u.call(s,{type:"loading",text:`正在加载 ${a.length} 个地图图层`}),Promise.all(a.map(m=>this.loadCompositeTopicLayerItem(m))).then(m=>{var g,C,I;if(i!==this.topicLayerLoadId)return;const h=m.filter(Boolean),p=h.find(U=>{var j,l2;return U.type==="vector"&&((j=U.layer)==null?void 0:j.key)===((l2=this.currentTopicLayer)==null?void 0:l2.key)});this.currentVectorFeatures=((g=p==null?void 0:p.geojson)==null?void 0:g.features)||[],this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),h.forEach((U,j)=>{var l2,v2;if(U.type==="image"){this.topicLayerContext.save();const S2=j===h.length-1?Math.max(.78,(l2=U.layer.opacity)!=null?l2:.9):Math.min(.52,(v2=U.layer.opacity)!=null?v2:.52);this.topicLayerContext.globalAlpha=Math.min(1,Math.max(.28,S2)),this.drawTopicRasterImage(U.image,U.layer),this.topicLayerContext.restore();return}this.drawVectorTopicLayer(U.layer,U.geojson.features||[],{clear:!1})}),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.updateTopicLayerTextureSampling(this.currentTopicLayer),this.topicLayerMaterial.opacity=h.length?this.getTopicLayerMaterialOpacity(this.currentTopicLayer,1):0,(I=(C=this.callbacks).onLayerStatus)==null||I.call(C,{type:h.length?"success":"error",text:h.length?`已加载 ${h.length} 个地图图层`:"地图图层加载失败"})})}loadCompositeTopicLayerItem(e){return P3(this,null,function*(){if(ai(e))try{const n=yield this.fetchVectorLayerGeojson(e);return{type:"vector",layer:e,geojson:n}}catch(n){return null}return this.loadTopicLayerImage(e).then(n=>n?B2({type:"image"},n):null)})}loadTopicLayerImage(e){return Xf(e)?this.loadWmtsTopicLayerImage(e):new Promise(n=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>n({image:a,layer:e}),a.onerror=()=>n(null),a.src=EM(e)})}loadWmtsTopicLayerImage(e){return P3(this,null,function*(){const n=document.createElement("canvas");n.width=l6.width,n.height=l6.height;const a=n.getContext("2d");if(!a)return null;a.clearRect(0,0,n.width,n.height);const i=this.getWmtsTopicZoom(e),r=HM(j1,i),o=[];for(let h=r.minX;h<=r.maxX;h+=1)for(let p=r.minY;p<=r.maxY;p+=1)o.push({x:h,y:p});let s=0,u=0;const m=()=>P3(this,null,function*(){for(;u0&&(a.save(),a.globalAlpha=.58,a.filter=`blur(${s}px)`,a.drawImage(i,0,0),a.restore()),o>0){const h=[[-o,0],[o,0],[0,-o],[0,o],[-o,-o],[o,-o],[-o,o],[o,o]];a.save(),a.globalAlpha=.72,h.forEach(([p,g])=>a.drawImage(i,p,g)),a.restore()}a.drawImage(i,0,0)}getWmtsTopicZoom(e={}){var o,s,u;const n=Math.round(Number(e.maximumLevel)),a=Number.isFinite(n)&&n>0?n:21,i=Number((u=(s=(o=e.homeWmtsZoom)!=null?o:e.wmtsZoom)!=null?s:e.tileZoom)!=null?u:this.satelliteTextureZoom),r=Number.isFinite(i)&&i>0?Math.round(i):11;return x4(r,3,Math.min(a,13))}updateTopicLayerTextureSampling(e={}){if(!this.topicLayerTexture)return;const n=Xf(e)?Qs:X5;this.topicLayerTexture.minFilter=n,this.topicLayerTexture.magFilter=n,this.topicLayerTexture.needsUpdate=!0}drawTopicRasterImage(e,n={}){const a=this.topicLayerCanvas,i=this.topicLayerContext;if(!a||!i)return;if(!n.softMask){i.drawImage(e,0,0,a.width,a.height);return}const r=Math.min(1,Math.max(.08,Number(n.softMaskScale)||.18)),o=document.createElement("canvas");o.width=Math.max(96,Math.round(a.width*r)),o.height=Math.max(96,Math.round(a.height*r));const s=o.getContext("2d");if(!s){i.drawImage(e,0,0,a.width,a.height);return}s.clearRect(0,0,o.width,o.height),s.imageSmoothingEnabled=!0,s.imageSmoothingQuality="high",s.drawImage(e,0,0,o.width,o.height),i.save(),i.imageSmoothingEnabled=!0,i.imageSmoothingQuality="high",i.drawImage(o,0,0,a.width,a.height),i.restore()}applyLayerMapView(e,n={}){var u,m;if(!((u=this.camera)!=null&&u.instance)||!((m=this.camera)!=null&&m.controls)||!this.mapAnimationComplete&&!n.force)return;const a=e?null:this.currentTownRanking,i=(e==null?void 0:e.mapView)||(e!=null&&e.cameraPosition?{cameraPosition:e.cameraPosition}:null)||(a==null?void 0:a.mapView)||(a!=null&&a.cameraPosition?{cameraPosition:a.cameraPosition}:null),r=i?this.getLayerMapViewTarget(i):this.defaultMapTarget.clone(),o=i?this.getLayerMapViewCameraPosition(i,r):this.defaultMapCameraPosition.clone(),s=i&&Number.isFinite(i.duration)?i.duration:.75;this.animateMapCamera(o,r,s)}getFocusMapTopOpacity(){return this.useSatelliteBase?this.usesCustomSatelliteTiles?.16:1:.78}getTopicLayerMaterialOpacity(e,n=.84){const a=Number(e==null?void 0:e.opacity),i=Number.isFinite(a)?a:n;if(!this.isHomeTopicPresentation())return i;const r=Number(e==null?void 0:e.homePresentationMaxOpacity),o=Number.isFinite(r)?r:.56;return x4(i,0,o)}getDynamicSatelliteZoom(e){return this.usesCustomSatelliteTiles?e<=4.2?Math.min(this.dynamicSatelliteMaxZoom,21):e<=6.4?Math.min(this.dynamicSatelliteMaxZoom,19):e<=8.4?Math.min(this.dynamicSatelliteMaxZoom,17):e<=11?Math.min(this.dynamicSatelliteMaxZoom,15):e<=14.5?Math.min(this.dynamicSatelliteMaxZoom,13):e<=18?Math.min(this.dynamicSatelliteMaxZoom,11):this.satelliteTextureZoom:this.satelliteTextureZoom}getCameraTargetLngLat(){var r,o,s,u,m,h,p;const e=(u=(s=(o=(r=this.camera)==null?void 0:r.controls)==null?void 0:o.target)==null?void 0:s.clone)==null?void 0:u.call(s);if(!e)return[102.58,32.72];(h=(m=this.focusMapGroup)==null?void 0:m.updateWorldMatrix)==null||h.call(m,!0,!1);const n=this.focusMapGroup?this.focusMapGroup.worldToLocal(e):e,a=d6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),i=((p=a.invert)==null?void 0:p.call(a,[n.x,-n.y]))||[102.58,32.72];return[Math.max(j1.west,Math.min(j1.east,Number(i[0])||102.58)),Math.max(j1.south,Math.min(j1.north,Number(i[1])||32.72))]}getDynamicSatelliteTileWindow(e){return e>=21?3:e>=19?5:e>=17?7:e>=15?this.dynamicSatelliteTileWindow:e>=13?Math.min(11,this.dynamicSatelliteTileWindow+2):Math.min(11,this.dynamicSatelliteTileWindow+2)}getDynamicSatelliteKey(e,n){return n?`${e}:${n.minX}-${n.maxX}:${n.minY}-${n.maxY}`:""}updateDynamicSatelliteTiles(e=!1){if(!this.usesCustomSatelliteTiles||!this.mapAnimationComplete)return;const n=Date.now();if(!e&&n-this.dynamicSatelliteLastCheck{var u,m,h,p,g;if((h=(m=this.callbacks).onTileStatus)==null||h.call(m,Z2(B2({},s),{text:((u=s.text)==null?void 0:u.replace("影像底图","高清影像底图"))||s.text})),s.type!=="loading"){if(r!==this.dynamicSatelliteRequestId){(g=(p=o==null?void 0:o.texture)==null?void 0:p.dispose)==null||g.call(p);return}if(this.dynamicSatelliteLoadingKey="",Number(s.loaded||0)<=0){this.dynamicSatelliteCurrentKey===i&&this.hideDynamicSatelliteOverlay();return}this.applyDynamicSatelliteOverlay(o,i)}}}),this.applyDynamicSatelliteOverlay(o,i)}ensureDynamicSatelliteOverlay(){var a;if(this.dynamicSatelliteOverlay)return;const e=new V0({transparent:!0,opacity:0,depthWrite:!1,depthTest:!0,side:ze,fog:!1}),n=new ye(new F6(1,1),e);n.name="dynamic-satellite-overlay",n.renderOrder=15,n.visible=!1,n.position.z=this.depth+.248,(a=this.focusMapGroup)==null||a.add(n),this.dynamicSatelliteOverlay=n,this.dynamicSatelliteMaterial=e}applyDynamicSatelliteOverlay(e,n){var o,s;if(!(e!=null&&e.texture)||!(e!=null&&e.uvBounds))return;this.ensureDynamicSatelliteOverlay();const a=e.uvBounds,i=Math.max(1e-4,a.right-a.left),r=Math.max(1e-4,a.top-a.bottom);this.dynamicSatelliteOverlay.position.set((a.left+a.right)/2,(a.bottom+a.top)/2,this.depth+.248),this.dynamicSatelliteOverlay.scale.set(i,r,1),this.dynamicSatelliteOverlay.visible=!0,this.dynamicSatelliteTexture&&this.dynamicSatelliteTexture!==e.texture&&((s=(o=this.dynamicSatelliteTexture).dispose)==null||s.call(o)),this.dynamicSatelliteTexture=e.texture,this.dynamicSatelliteMaterial.map=e.texture,this.dynamicSatelliteMaterial.opacity=1,this.dynamicSatelliteMaterial.needsUpdate=!0,this.dynamicSatelliteCurrentKey=n}hideDynamicSatelliteOverlay(){this.dynamicSatelliteOverlay&&(this.dynamicSatelliteOverlay.visible=!1),this.dynamicSatelliteLoadingKey&&(this.dynamicSatelliteRequestId+=1,this.dynamicSatelliteLoadingKey=""),this.dynamicSatelliteCurrentKey=""}ensureMapRevealed(){var e,n,a,i;if(!this.mapAnimationComplete){if((n=(e=this.animateTl)==null?void 0:e.progress)==null||n.call(e,1,!1),(i=(a=this.animateTl)==null?void 0:a.pause)==null||i.call(a),this.mapAnimationComplete=!0,this.focusMapGroup&&(this.focusMapGroup.position.set(0,0,0),this.focusMapGroup.scale.set(1,1,1)),this.focusMapTopMaterial&&(this.focusMapTopMaterial.opacity=this.getFocusMapTopOpacity()),this.focusMapSideMaterial&&(this.focusMapSideMaterial.opacity=1,this.focusMapSideMaterial.transparent=!1),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=!0),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!0),this.scatterGroup&&(this.scatterGroup.visible=!0),this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.hasTownRankingRows()),this.applyLayerMapView(this.currentTopicLayer,{force:!0}),this.updateDynamicSatelliteTiles(!0),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.updateYakIndustryPointLabels(this.currentTopicLayer,this.currentVectorFeatures),M4(this.currentTownRanking)){this.hideAllMapStatisticLabels();return}this.updateVillageRankingLabels(this.currentTownRanking),this.updateTradeFlowLayer(this.currentTownRanking),this.updateInfoPointStats()}}getLayerMapViewTarget(e){var n;return e!=null&&e.targetLngLat?this.lngLatToWorldPoint(e.targetLngLat,(n=e.targetLocalZ)!=null?n:.72):e!=null&&e.target?this.toVector3(e.target,this.defaultMapTarget):this.defaultMapTarget.clone()}getLayerMapViewCameraPosition(e,n){if(e!=null&&e.cameraPosition)return this.toVector3(e.cameraPosition,this.defaultMapCameraPosition);const a=Number.isFinite(e==null?void 0:e.distanceScale)?e.distanceScale:1,i=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(a),r=n.clone().add(i);return e!=null&&e.cameraOffset&&r.add(this.toVector3(e.cameraOffset,new t0(0,0,0))),r}lngLatToWorldPoint(e,n=0){const a=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],i=Number(a==null?void 0:a[0]),r=Number(a==null?void 0:a[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return this.defaultMapTarget.clone();const[o,s]=this.geoProjection([i,r]),u=new t0(o,-s,Number(n)||0);return this.focusMapGroup?this.focusMapGroup.localToWorld(u):u}toVector3(e,n){if(Array.isArray(e)){const[o,s,u]=e.map(Number);return[o,s,u].every(Number.isFinite)?new t0(o,s,u):n.clone()}const a=Number(e==null?void 0:e.x),i=Number(e==null?void 0:e.y),r=Number(e==null?void 0:e.z);return[a,i,r].every(Number.isFinite)?new t0(a,i,r):n.clone()}animateMapCamera(e,n,a=.75){this.activeMapViewTweens.forEach(o=>{var s;return(s=o==null?void 0:o.kill)==null?void 0:s.call(o)}),this.activeMapViewTweens=[];const i=this.camera.controls,r=()=>i.update();this.activeMapViewTweens.push(Yt.to(this.camera.instance.position,{duration:a,x:e.x,y:e.y,z:e.z,ease:"power2.out",onUpdate:r}),Yt.to(i.target,{duration:a,x:n.x,y:n.y,z:n.z,ease:"power2.out",onUpdate:r}))}addSceneTween(e){var n;return e&&(this.sceneTweens.push(e),this.scenePaused&&((n=e.pause)==null||n.call(e)),e)}addSceneTimer(e){return e&&this.sceneTimers.push(e),e}focusTownByName(e,n={}){var s,u,m;const a=this.townMetaByName.get(Gn(e)),i=n.select?this.selectTownFeatureByName(e,n):!1;if(n.preserveCamera)return i||!!(a!=null&&a.center);if(!(a!=null&&a.center))return i;const r=this.lngLatToWorldPoint(a.center,(s=n.targetLocalZ)!=null?s:.82),o=this.getLayerMapViewCameraPosition({distanceScale:(u=n.distanceScale)!=null?u:.82,cameraOffset:n.cameraOffset||{x:0,y:1.2,z:0}},r);return this.animateMapCamera(o,r,(m=n.duration)!=null?m:.75),!0}isNationalParkTownSelectionActive(){var e;return((e=this.currentTopicLayer)==null?void 0:e.key)==="national-park-zoning"&&this.getTownRankingMeta().onlyRankedTownLabels}getTownNameFromMapEvent(e){var a,i,r,o,s,u,m,h,p,g;return[(r=(i=(a=e==null?void 0:e.target)==null?void 0:a.parent)==null?void 0:i.userData)==null?void 0:r.name,(s=(o=e==null?void 0:e.target)==null?void 0:o.userData)==null?void 0:s.name,(h=(m=(u=e==null?void 0:e.target)==null?void 0:u.parent)==null?void 0:m.userData)==null?void 0:h.townName,(g=(p=e==null?void 0:e.target)==null?void 0:p.userData)==null?void 0:g.townName].find(C=>String(C||"").trim())||""}findTownFeatureByName(e){var i,r,o,s;const n=Gn(e);if(!n)return null;const a=(((i=this.mapJsonData)==null?void 0:i.features)||((o=(r=this.staticMapData)==null?void 0:r.mapJson)==null?void 0:o.features)||[]).find(u=>{const m=(u==null?void 0:u.properties)||{};return[m.name,m.fullName,m.full_name,m.townName].some(p=>Gn(p)===n)});return a!=null&&a.geometry?{type:"Feature",properties:Z2(B2({},a.properties||{}),{name:((s=a.properties)==null?void 0:s.name)||e,feature_role:"乡镇范围"}),geometry:a.geometry}:null}selectTownFeatureByName(e,n={}){var i,r,o,s,u;const a=this.findTownFeatureByName(e);return a?(this.showSelectedFeature(a,{mode:"town"}),n.silentStatus!==!0&&((u=(s=this.callbacks).onLayerStatus)==null||u.call(s,{type:"success",text:n.statusText||`已选中${((o=a.properties)==null?void 0:o.name)||e}`})),!0):(n.showMissingStatus!==!1&&((r=(i=this.callbacks).onLayerStatus)==null||r.call(i,{type:"warning",text:"未找到对应乡镇边界"})),!1)}handleTownRankingSelect(e,n={}){var s,u;if(!this.isNationalParkTownSelectionActive())return!1;const a=Gn(e);if(!a||!this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1).some(m=>Gn(m.name)===a))return!1;const o=this.focusTownByName(e,B2({select:!0,preserveCamera:!0,statusText:`已选中${e}`},n));return o&&((u=(s=this.callbacks).onFeatureInfo)==null||u.call(s,{feature:null})),o}focusYakIndustryPoint(e={}){var r,o;const n=this.getYakIndustryPayloadCoordinate(e);if(!n)return(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"warning",text:"当前主体暂无可定位坐标"}),{focused:!1,screen:null};const a=this.findYakIndustryPointFeature(e,n);return a?this.setSelectedVectorFeatures([a]):this.clearSelectedFeature(),{focused:this.flyToLngLat(n,{span:.035,duration:.72,statusText:"已定位产业主体"}),screen:this.getYakIndustryPointScreen(e),feature:a}}focusVectorFeature(e={}){var m,h;const n=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),a=String(e.id||e.key||""),i=String(e.fullName||e.name||"").trim(),r=n.find(p=>{const g=(p==null?void 0:p.properties)||{};return a&&String(g.id||"")===a||i&&String(g.name||g.plot_name||"").trim()===i});if(!r)return(h=(m=this.callbacks).onLayerStatus)==null||h.call(m,{type:"warning",text:"当前图斑尚未加载"}),{focused:!1,screen:null,feature:null};this.setSelectedVectorFeatures([r]);const o=this.getGeometryLngLatBounds(r.geometry);if(!o)return{focused:!1,screen:null,feature:r};const s=[(o.minLng+o.maxLng)/2,(o.minLat+o.maxLat)/2];return{focused:this.flyToLngLat(s,{span:Math.max(o.maxLng-o.minLng,o.maxLat-o.minLat),duration:.75,statusText:"已定位种草图斑"}),screen:this.getVectorFeatureScreen(r),feature:r}}getVectorFeatureScreen(e={}){let n=(e==null?void 0:e.feature)||e;if(!(n!=null&&n.geometry)){const r=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),o=String((e==null?void 0:e.id)||(e==null?void 0:e.key)||"");n=r.find(s=>{var u;return String(((u=s==null?void 0:s.properties)==null?void 0:u.id)||"")===o})||null}const a=this.getGeometryLngLatBounds(n==null?void 0:n.geometry);if(!a)return null;const i=[(a.minLng+a.maxLng)/2,(a.minLat+a.maxLat)/2];return this.lngLatToLayerScreenPoint(i,this.depth+.34)||this.lngLatToScreenPoint(i,this.depth+.32)}getYakIndustryPointScreen(e={}){const n=this.getYakIndustryPayloadCoordinate(e);return n?this.lngLatToLayerScreenPoint(n,this.depth+.36)||this.lngLatToScreenPoint(n,this.depth+.32):null}getYakIndustryPayloadCoordinate(e={}){var r,o,s,u,m;const n=((r=e.geometry)==null?void 0:r.coordinates)||e.coordinates,a=Number((s=(o=e.longitude)!=null?o:e.lng)!=null?s:n==null?void 0:n[0]),i=Number((m=(u=e.latitude)!=null?u:e.lat)!=null?m:n==null?void 0:n[1]);return!Number.isFinite(a)||!Number.isFinite(i)?null:[a,i]}findYakIndustryPointFeature(e={},n=this.getYakIndustryPayloadCoordinate(e)){const a=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]),i=String(e.id||e.key||""),r=String(e.fullName||e.name||"").trim(),o=String(e.stageKey||""),s=n&&a.find(m=>{var p;if(((p=m==null?void 0:m.geometry)==null?void 0:p.type)!=="Point")return!1;const h=m.properties||{};return o&&String(h.stageKey||"")!==o?!1:this.getCoordinateDistance(m.geometry.coordinates,n)<=8e-4})||null;if(e.preferCoordinateMatch)return s;const u=a.find(m=>{const h=(m==null?void 0:m.properties)||{};return!!(i&&String(h.id||"")===i||r&&String(h.name||h.fullName||"").trim()===r)});return u||s}loadVectorTopicLayer(e,n){return P3(this,null,function*(){var a,i,r,o;try{const s=yield this.fetchVectorLayerGeojson(e);if(n!==this.topicLayerLoadId)return;this.currentVectorFeatures=s.features||[],this.drawVectorTopicLayer(e,this.currentVectorFeatures),this.updateYakIndustryPointMarkers(e,this.currentVectorFeatures),this.updateYakIndustryPointLabels(e,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=this.getTopicLayerMaterialOpacity(e,.9),(i=(a=this.callbacks).onLayerStatus)==null||i.call(a,{type:"success",text:"真实矢量图层已加载"})}catch(s){if(n!==this.topicLayerLoadId)return;this.currentVectorFeatures=[],this.clearYakIndustryPointMarkers(),this.clearYakIndustryPointLabels(),this.topicLayerContext.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),this.topicLayerTexture.needsUpdate=!0,this.topicLayerMaterial.opacity=0,(o=(r=this.callbacks).onLayerStatus)==null||o.call(r,{type:"error",text:"真实矢量图层加载失败"})}})}fetchVectorLayerGeojson(e){return P3(this,null,function*(){var r,o;if(e.sourceType==="geojson"){if(((r=e.geojsonData)==null?void 0:r.type)==="FeatureCollection")return e.geojsonData;const s=yield fetch(th(e.dataPath),{credentials:"include"});if(!s.ok)throw new Error(`HTTP ${s.status}`);return yield s.json()}if(e.sourceType==="wfs"){const s=yield $i(e.layerName,{cqlFilter:e.cqlFilter,maxFeatures:e.maxFeatures||1200,timeout:e.timeout||18e3});return(s==null?void 0:s.type)==="FeatureCollection"?s:{type:"FeatureCollection",features:(s==null?void 0:s.features)||[]}}let n=[],a=null;try{const s=yield fetch(e.apiUrl,{credentials:"include"});if(!s.ok)throw new Error(`HTTP ${s.status}`);const u=yield s.json();n=Array.isArray(u==null?void 0:u.data)?u.data:Array.isArray((o=u==null?void 0:u.data)==null?void 0:o.rows)?u.data.rows:[]}catch(s){a=s}let i=this.buildWktLayerFeatures(n);if((!n.length||!i.length)&&e.fallbackPath){const s=yield fetch(th(e.fallbackPath),{credentials:"include"});if(!s.ok)throw a||new Error(`HTTP ${s.status}`);const u=yield s.json();n=Array.isArray(u==null?void 0:u.rows)?u.rows:[],i=this.buildWktLayerFeatures(n)}return{type:"FeatureCollection",features:i}})}buildWktLayerFeatures(e=[]){return(e||[]).map(n=>({type:"Feature",properties:{id:n.id,type:n.type,totalAcreage:n.totalAcreage,cdAcreage:n.cdAcreage,sdAcreage:n.sdAcreage,cdScl:n.cdScl,sdScl:n.sdScl},geometry:this.parseWktGeometry(this.pickWktValue(n))})).filter(n=>n.geometry)}pickWktValue(e={}){return e.wkt||e.WKT||e.geom||e.geometry||e.the_geom||e.theGeom||e.shape||e.Shape}drawVectorTopicLayer(e,n,a={}){const i=this.topicLayerContext;a.clear!==!1&&i.clearRect(0,0,this.topicLayerCanvas.width,this.topicLayerCanvas.height),i.save(),i.lineJoin="round",i.lineCap="round",this.clipVectorLayerContext(i,e);const o=this.getVisibleVectorFeatures(e,n).filter(s=>{var u;return!(e!=null&&e.hidePointFeatures)||((u=s==null?void 0:s.geometry)==null?void 0:u.type)!=="Point"}).sort((s,u)=>{var p,g;const m=this.getGeometryDrawRank((p=s.geometry)==null?void 0:p.type),h=this.getGeometryDrawRank((g=u.geometry)==null?void 0:g.type);return m-h});o.forEach(s=>{const u=this.getVectorFeatureStyle(e,s);this.drawVectorFeature(i,s.geometry,u)}),this.drawNationalParkBoundaryOverlay(i,e,o),this.drawSelectedVectorOverlay(i),i.restore()}drawNationalParkBoundaryOverlay(e,n,a=[]){(n==null?void 0:n.key)!=="national-park-zoning"||!a.length||a.forEach(i=>{const r=this.getVectorFeatureStyle(n,i);this.drawVectorFeature(e,i.geometry,Z2(B2({},r),{fill:"#071A20",stroke:"#071A20",polygonAlpha:0,lineAlpha:.34,lineWidth:7,glow:!0})),this.drawVectorFeature(e,i.geometry,Z2(B2({},r),{fill:"#E7FFF6",stroke:"#E7FFF6",polygonAlpha:0,lineAlpha:.68,lineWidth:2.1,glow:!1})),this.drawVectorFeature(e,i.geometry,Z2(B2({},r),{fill:r.stroke,stroke:r.stroke,polygonAlpha:0,lineAlpha:.86,lineWidth:1.2,glow:!1}))})}drawSelectedVectorOverlay(e){const n=this.selectedVectorFeatures||[],a=this.analysisMatchedFeatures||[],i=this.analysisBoundaryFeature,r=this.boundaryDrawPoints||[];if(!n.length&&!a.length&&!i&&!r.length)return;const o=this.isEcologicalProjectLayer(this.currentTopicLayer),s={fill:$f,stroke:zM,polygonAlpha:o?.2:.28,lineAlpha:o?.78:.98,lineWidth:o?6:12,pointRadius:11,glow:!o,halo:!o},u={fill:$f,stroke:jM,polygonAlpha:o?.34:.52,lineAlpha:o?.94:1,lineWidth:o?3.2:5,pointRadius:6.5,glow:!1,halo:!1};if(e.save(),n.forEach(m=>{var p;const h=(m==null?void 0:m.geometry)||((p=m==null?void 0:m.feature)==null?void 0:p.geometry);this.drawVectorFeature(e,h,s),this.drawVectorFeature(e,h,u)}),a.forEach(m=>{var p;const h=(m==null?void 0:m.geometry)||((p=m==null?void 0:m.feature)==null?void 0:p.geometry);this.drawVectorFeature(e,h,{fill:"#30DCFF",stroke:"#C9FBFF",polygonAlpha:o?.22:.28,lineAlpha:o?.88:.98,lineWidth:o?2.8:5,pointRadius:6,glow:!o})}),i!=null&&i.geometry&&this.drawVectorFeature(e,i.geometry,{fill:"#24F6C4",stroke:"#FFFFFF",polygonAlpha:o?.12:.18,lineAlpha:o?.92:1,lineWidth:o?3:4,pointRadius:6,glow:!o}),r.length){const m=r.map(p=>[p.lng,p.lat]),h={type:"LineString",coordinates:this.boundaryDrawingEnabled?m:[...m,m[0]].filter(Boolean)};this.drawVectorFeature(e,h,{fill:"#24F6C4",stroke:"#24F6C4",polygonAlpha:o?.08:.12,lineAlpha:1,lineWidth:o?3:4,pointRadius:6,glow:!o}),m.forEach(p=>{this.drawVectorFeature(e,{type:"Point",coordinates:p},{fill:"#FFFFFF",stroke:"#24F6C4",polygonAlpha:.2,lineAlpha:1,lineWidth:o?2.4:3,pointRadius:5.5,glow:!o})})}e.restore()}redrawVectorTopicLayer(){!this.topicLayerContext||!this.topicLayerTexture||!this.currentTopicLayer||!ai(this.currentTopicLayer)||(this.drawVectorTopicLayer(this.currentTopicLayer,this.currentVectorFeatures||[]),this.updateYakIndustryPointMarkers(this.currentTopicLayer,this.currentVectorFeatures),this.topicLayerTexture.needsUpdate=!0)}featureMatchesLegend(e={},n={}){var r;const a=Array.isArray(n==null?void 0:n.matches)?n.matches.filter(o=>o==null?void 0:o.field):[];if(a.length)return a.some(o=>{var s;return String((s=e[o.field])!=null?s:"")===String(o.value)});const i=n==null?void 0:n.match;return i!=null&&i.field?String((r=e[i.field])!=null?r:"")===String(i.value):!0}getVisibleVectorFeatures(e,n){var o,s;const a=e==null?void 0:e.activeLegend;if((o=a==null?void 0:a.matches)!=null&&o.length||(s=a==null?void 0:a.match)!=null&&s.field)return(n||[]).filter(u=>this.featureMatchesLegend((u==null?void 0:u.properties)||{},a));const r=String((e==null?void 0:e.cqlFilter)||"").trim().match(/^([a-zA-Z0-9_]+)\s*=\s*'((?:''|[^'])*)'$/);if(r){const[,u,m]=r,h=m.replace(/''/g,"'");return(n||[]).filter(p=>{var g,C;return String((C=(g=p==null?void 0:p.properties)==null?void 0:g[u])!=null?C:"")===h})}return[...n||[]]}updateYakIndustryPointLabels(e=this.currentTopicLayer,n=this.currentVectorFeatures){if(this.clearYakIndustryPointLabels(),(e==null?void 0:e.showPointLabels)===!1||e!=null&&e.hidePointFeatures||(e==null?void 0:e.key)!=="yak-industry-points"||!this.label3d)return;const a=this.getYakIndustryLabelFeatures(e,n);a.length&&(this.ensureYakIndustryPointLabelGroup(),a.forEach((i,r)=>{var s;let o=this.yakIndustryPointLabels[r];o||(o=this.label3d.create("","yak-industry-point-label",!0),this.label3d.setLabelStyle(o,.012,"x"),o.setParent(this.yakIndustryPointLabelGroup),this.yakIndustryPointLabels.push(o)),o.element.className="yak-industry-point-label",o.init(this.getYakIndustryPointLabelHtml(i),this.getYakIndustryPointLabelPosition(i,r)),o.visible=!0,(s=o.show)==null||s.call(o),o.userData={feature:i}}),this.yakIndustryPointLabels.slice(a.length).forEach(i=>{var r;i.visible=!1,(r=i.hide)==null||r.call(i),i.userData=null}),this.yakIndustryPointLabelGroup.visible=!!this.mapAnimationComplete)}updateYakIndustryPointMarkers(e=this.currentTopicLayer,n=this.currentVectorFeatures){if(this.clearYakIndustryPointMarkers(),(e==null?void 0:e.key)!=="yak-industry-points"||e!=null&&e.hidePointMarkers)return;const a=this.getVisibleVectorFeatures(e,n).filter(i=>{var r;return((r=i==null?void 0:i.geometry)==null?void 0:r.type)==="Point"});a.length&&(this.ensureYakIndustryPointMarkerGroup(),a.forEach((i,r)=>{let o=this.yakIndustryPointMarkers[r];const s=this.getVectorFeatureStyle(e,i),u=this.getYakIndustryMarkerMaterial(s,i),m=this.lngLatToLayerLocalPoint(i.geometry.coordinates,this.depth+.36),h=Number(e==null?void 0:e.pointSpriteScale)||.34,p=this.getYakIndustryMarkerType(i);o||(o=new B9(u),o.name="yak-industry-point-marker",o.renderOrder=42,this.bindYakIndustryPointMarkerEvents(o),this.interactionManager.add(o),this.yakIndustryPointMarkerGroup.add(o),this.yakIndustryPointMarkers.push(o)),o.material=u,o.center.set(.5,.5),o.position.copy(m),o.scale.set(h*.88,h*.88,1),o.visible=!0,o.userData={feature:i,layer:e,index:r,markerType:p}}),this.yakIndustryPointMarkers.slice(a.length).forEach(i=>{i.visible=!1,i.userData=null}),this.yakIndustryPointMarkerGroup.visible=!!this.mapAnimationComplete)}ensureYakIndustryPointMarkerGroup(){var e;this.yakIndustryPointMarkerGroup||(this.yakIndustryPointMarkerGroup=new ae,this.yakIndustryPointMarkerGroup.name="yak-industry-point-markers",this.yakIndustryPointMarkerGroup.visible=!1,(e=this.focusMapGroup)==null||e.add(this.yakIndustryPointMarkerGroup))}clearYakIndustryPointMarkers(){var e;this.yakIndustryPointMarkerGroup&&(this.yakIndustryPointMarkerGroup.visible=!1),(e=this.yakIndustryPointMarkers)==null||e.forEach(n=>{n.visible=!1})}bindYakIndustryPointMarkerEvents(e){e.addEventListener("mousedown",n=>{var r,o,s,u,m,h,p,g,C;if(this.clicked||!((r=this.yakIndustryPointMarkerGroup)!=null&&r.visible))return!1;const a=(s=(o=n.target)==null?void 0:o.userData)==null?void 0:s.feature;if(!a)return!1;this.clicked=!0;const i=((u=a.geometry)==null?void 0:u.coordinates)||[];this.setSelectedVectorFeatures([a]),(C=(g=this.callbacks).onFeatureInfo)==null||C.call(g,{feature:{id:((m=a.properties)==null?void 0:m.id)||((h=a.properties)==null?void 0:h.feature_id)||((p=a.properties)==null?void 0:p.project_name),properties:a.properties||{},feature:a,layer:this.currentTopicLayer,lngLat:{lng:Number(i[0]),lat:Number(i[1])}},screen:this.getPointFeatureScreenPoint(a)})}),e.addEventListener("mouseup",()=>{this.clicked=!1}),e.addEventListener("mouseover",()=>{e.visible&&(document.body.style.cursor="pointer")}),e.addEventListener("mouseout",()=>{document.body.style.cursor="default"})}getYakIndustryMarkerMaterial(e,n){const a=e.markerType||this.getYakIndustryMarkerType(n),i=`${e.fill||"#24F6C4"}-${e.stroke||"#B7FFF2"}-${a}`,r=this.yakIndustryMarkerMaterialCache.get(i);if(r)return r;const o=this.createYakIndustryMarkerTexture(e.fill,e.stroke,a),s=new D9({map:o,transparent:!0,depthTest:!1,depthWrite:!1,fog:!1});return this.yakIndustryMarkerMaterialCache.set(i,s),s}getYakIndustryMarkerType(e={}){var a;const n=String(((a=e==null?void 0:e.properties)==null?void 0:a.stageKey)||"");return Hf[n]||"point"}createYakIndustryMarkerTexture(e="#24F6C4",n="#B7FFF2",a="point"){const i=document.createElement("canvas");i.width=112,i.height=112;const r=i.getContext("2d"),o=56,s=56;r.clearRect(0,0,i.width,i.height),r.beginPath(),r.arc(o,s,42,0,Math.PI*2),r.fillStyle=this.hexToRgba(e,.18),r.shadowColor=e,r.shadowBlur=20,r.fill(),this.drawYakIndustryMarkerFrame(r,a,o,s,e,n||e),r.save(),r.shadowBlur=0,r.beginPath(),r.arc(o,s,19,0,Math.PI*2),r.fillStyle="rgba(3, 23, 34, 0.64)",r.fill(),r.strokeStyle=this.hexToRgba("#FFFFFF",.32),r.lineWidth=2,r.stroke(),r.restore(),this.drawYakIndustryMarkerGlyph(r,a,o,s,"#FFFFFF");const u=new Ii(i);return u.colorSpace=Wt,u.needsUpdate=!0,u}drawYakIndustryMarkerFrame(e,n,a,i,r="#24F6C4",o="#B7FFF2"){if(e.save(),e.translate(a,i),e.fillStyle=this.hexToRgba(r,.92),e.strokeStyle=this.hexToRgba(o||r,.98),e.lineWidth=4,e.shadowColor=o||r,e.shadowBlur=14,n==="pasture")e.beginPath(),e.moveTo(-34,-9),e.lineTo(0,-38),e.lineTo(34,-9),e.lineTo(28,-9),e.lineTo(28,24),e.quadraticCurveTo(28,31,21,31),e.lineTo(-21,31),e.quadraticCurveTo(-28,31,-28,24),e.lineTo(-28,-9),e.closePath();else if(n==="grass")e.beginPath(),e.moveTo(0,-38),e.bezierCurveTo(31,-22,34,18,0,38),e.bezierCurveTo(-34,18,-31,-22,0,-38),e.closePath();else if(n==="breeding"){e.beginPath();for(let s=0;s<6;s+=1){const u=-Math.PI/2+Math.PI*2*s/6,m=Math.cos(u)*35,h=Math.sin(u)*35;s===0?e.moveTo(m,h):e.lineTo(m,h)}e.closePath()}else if(n==="storage")e.beginPath(),e.moveTo(-34,-25),e.lineTo(25,-25),e.lineTo(35,-13),e.lineTo(35,27),e.lineTo(-25,27),e.lineTo(-35,15),e.lineTo(-35,-25),e.closePath();else if(n==="processing"){e.beginPath();for(let s=0;s<10;s+=1){const u=-Math.PI/2+Math.PI*2*s/10,m=s%2===0?38:30,h=Math.cos(u)*m,p=Math.sin(u)*m;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.closePath()}else if(n==="equipment"){e.beginPath();for(let s=0;s<16;s+=1){const u=-Math.PI/2+Math.PI*2*s/16,m=s%2===0?38:30,h=Math.cos(u)*m,p=Math.sin(u)*m;s===0?e.moveTo(h,p):e.lineTo(h,p)}e.closePath()}else n==="service"?(e.beginPath(),e.moveTo(0,-39),e.lineTo(31,-24),e.lineTo(25,14),e.quadraticCurveTo(0,39,-25,14),e.lineTo(-31,-24),e.closePath()):(e.beginPath(),e.arc(0,0,34,0,Math.PI*2));e.fill(),e.stroke(),e.restore()}drawYakIndustryMarkerGlyph(e,n,a,i,r="#24F6C4"){if(e.save(),e.translate(a,i),e.lineCap="round",e.lineJoin="round",e.shadowBlur=0,e.fillStyle=this.hexToRgba(r,.98),e.strokeStyle=this.hexToRgba(r,.98),e.lineWidth=3,n==="pasture")e.beginPath(),e.moveTo(-12,-2),e.lineTo(0,-11),e.lineTo(12,-2),e.stroke(),e.fillRect(-9,-2,18,12),e.clearRect(-3,2,6,8);else if(n==="grass")e.beginPath(),e.moveTo(0,10),e.quadraticCurveTo(-10,1,-7,-10),e.moveTo(0,10),e.quadraticCurveTo(10,1,7,-10),e.moveTo(0,10),e.quadraticCurveTo(0,0,1,-12),e.stroke();else if(n==="breeding")e.beginPath(),e.moveTo(-8,-5),e.quadraticCurveTo(-15,-12,-18,-4),e.moveTo(8,-5),e.quadraticCurveTo(15,-12,18,-4),e.stroke(),e.beginPath(),e.ellipse(0,1,11,12,0,0,Math.PI*2),e.fill(),e.fillStyle=this.hexToRgba("#08202D",.85),e.fillRect(-5,-2,3,3),e.fillRect(2,-2,3,3);else if(n==="storage")e.beginPath(),e.moveTo(-13,-3),e.lineTo(0,-11),e.lineTo(13,-3),e.lineTo(13,9),e.lineTo(-13,9),e.closePath(),e.fill(),e.strokeStyle=this.hexToRgba("#08202D",.72),e.lineWidth=2,e.beginPath(),e.moveTo(-8,0),e.lineTo(8,0),e.moveTo(-8,5),e.lineTo(8,5),e.stroke();else if(n==="processing")e.beginPath(),e.moveTo(-13,8),e.lineTo(-13,-1),e.lineTo(-5,-6),e.lineTo(-5,-1),e.lineTo(3,-6),e.lineTo(3,-1),e.lineTo(12,-6),e.lineTo(12,8),e.closePath(),e.fill(),e.fillRect(-13,-11,5,7),e.fillStyle=this.hexToRgba("#08202D",.72),e.fillRect(-8,2,4,3),e.fillRect(0,2,4,3),e.fillRect(7,2,4,3);else if(n==="equipment"){for(let o=0;o<8;o+=1)e.save(),e.rotate(Math.PI*2*o/8),e.fillRect(8,-2,5,4),e.restore();e.beginPath(),e.arc(0,0,9,0,Math.PI*2),e.fill(),e.fillStyle=this.hexToRgba("#FFFFFF",.98),e.beginPath(),e.arc(0,0,4,0,Math.PI*2),e.fill()}else n==="service"?(e.beginPath(),e.moveTo(0,-13),e.lineTo(12,-7),e.lineTo(9,6),e.quadraticCurveTo(0,14,-9,6),e.lineTo(-12,-7),e.closePath(),e.fill(),e.strokeStyle=this.hexToRgba("#FFFFFF",.94),e.lineWidth=2.4,e.beginPath(),e.moveTo(0,-7),e.lineTo(0,6),e.moveTo(-6,-1),e.lineTo(6,-1),e.stroke()):(e.beginPath(),e.arc(0,0,7,0,Math.PI*2),e.fill());e.restore()}ensureYakIndustryPointLabelGroup(){this.yakIndustryPointLabelGroup||(this.yakIndustryPointLabelGroup=new ae,this.yakIndustryPointLabelGroup.name="yak-industry-point-labels",this.yakIndustryPointLabelGroup.rotation.x=-Math.PI/2,this.yakIndustryPointLabelGroup.visible=!1,this.scene.add(this.yakIndustryPointLabelGroup))}clearYakIndustryPointLabels(){var e;this.yakIndustryPointLabelGroup&&(this.yakIndustryPointLabelGroup.visible=!1),(e=this.yakIndustryPointLabels)==null||e.forEach(n=>{var a;n.visible=!1,(a=n.hide)==null||a.call(n)})}getYakIndustryLabelFeatures(e,n){const a=this.getVisibleVectorFeatures(e,n).filter(u=>{var m;return((m=u==null?void 0:u.geometry)==null?void 0:m.type)==="Point"}),i=Number(e==null?void 0:e.pointLabelLimit)||(a.length>36?12:Math.min(a.length,16)),r=a.map(u=>{var m;return{feature:u,score:this.getYakIndustryFeatureScore(u),town:Gn((m=u.properties)==null?void 0:m.town)}}).sort((u,m)=>{var h,p;return m.score-u.score||String(((h=u.feature.properties)==null?void 0:h.name)||"").localeCompare(String(((p=m.feature.properties)==null?void 0:p.name)||""),"zh-CN")}),o=[],s=new Set;return r.forEach(u=>{o.length>=i||!u.town||s.has(u.town)||(o.push(u.feature),s.add(u.town))}),r.forEach(u=>{o.length>=i||o.includes(u.feature)||o.push(u.feature)}),o}getYakIndustryFeatureScore(e){const n=(e==null?void 0:e.properties)||{},a=[n.outputValue,n.capacity,n.value,n.count,n["年产值 (万元)"],n["年总产值 (万元)"],n["设计存栏量 (头)"],n["总库容 (吨)"]].map(i=>this.parseMapMetricNumber(i));return Math.max(...a,0)}parseMapMetricNumber(e){if(typeof e=="number")return Number.isFinite(e)?e:0;const n=String(e!=null?e:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);return n&&Number(n[0])||0}getYakIndustryPointLabelPosition(e,n=0){var i;const a=this.lngLatToLayerLocalPoint((i=e==null?void 0:e.geometry)==null?void 0:i.coordinates,this.depth+.42+Math.min(n,5)*.01);return a.x+=(n%3-1)*.08,a.y+=n%2===0?.07:-.06,a}getYakIndustryPointLabelHtml(e){const n=(e==null?void 0:e.properties)||{},a=this.compactYakIndustryLabelName(n.name||n.fullName||"产业主体"),i=this.formatYakIndustryLabelText(n.categoryName||n.stageName||"产业主体"),r=n.town||n.village||"红原县",o=this.getYakIndustryPointMetricText(n),s=this.getYakIndustryLabelColor(n);return`
    -
    ${De(i)}
    -
    ${De(a)}
    -
    - ${De(r)} - ${o?`${De(o)}`:""} -
    -
    `}compactYakIndustryLabelName(e=""){const n=String(e).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/\s+/g," ").trim();return n.length>16?`${n.slice(0,15)}…`:n}formatYakIndustryLabelText(e=""){return String(e).replace(/\bcxpt[-_./\s]*/gi,"").replace(/^cxpt/i,"").replace(/\s+/g," ").trim()}getYakIndustryPointMetricText(e={}){return e.capacity!==void 0&&e.capacity!==null&&e.capacity!==""&&this.parseMapMetricNumber(e.capacity)>0?this.formatYakIndustryMetricText(e.capacity,e.capacityUnit):this.parseMapMetricNumber(e.outputValue)>0?`${this.formatMapRankingValue(e.outputValue)}万元`:this.isMeaningfulMapText(e.locationType)?e.locationType:this.isMeaningfulMapText(e.status)?e.status:""}isMeaningfulMapText(e){const n=String(e!=null?e:"").trim();return!!(n&&n!=="0"&&n!=="无"&&n!=="待完善")}formatYakIndustryMetricText(e,n=""){const a=String(e!=null?e:"").trim();return!a||a==="0"?"":typeof e=="string"&&/[^\d.,\s-]/.test(a)?a:`${this.formatMapRankingValue(e)}${n||""}`}getYakIndustryLabelColor(e={}){var i,r,o,s,u,m;const n=String(e.stageKey||""),a=(((i=this.currentTopicLayer)==null?void 0:i.legends)||[]).find(h=>{var p;return String(((p=h.match)==null?void 0:p.value)||"")===n})||(String(((s=(o=(r=this.currentTopicLayer)==null?void 0:r.activeLegend)==null?void 0:o.match)==null?void 0:s.value)||"")===n?this.currentTopicLayer.activeLegend:null);return(a==null?void 0:a.fillColor)||((m=(u=this.currentTopicLayer)==null?void 0:u.activeLegend)==null?void 0:m.fillColor)||"#24F6C4"}clipVectorLayerContext(e,n){if(this.shouldClipLayerToHongyuanBoundary(n)&&this.clipContextToHongyuanBoundary(e),!this.shouldClipLayerToLayerBounds(n))return;const a=this.getLayerClipBounds(n);if(!a)return;const i=this.lngLatToLayerCanvasPoint([a.west,a.north]),r=this.lngLatToLayerCanvasPoint([a.east,a.south]),o=Math.min(i.x,r.x),s=Math.min(i.y,r.y),u=Math.abs(r.x-i.x),m=Math.abs(r.y-i.y);!u||!m||(e.beginPath(),e.rect(o,s,u,m),e.clip())}clipContextToHongyuanBoundary(e){const n=this.hongyuanBoundaryPolygons||[];n.length&&(e.beginPath(),n.forEach(a=>{a.forEach(i=>{i.forEach((r,o)=>{const s=this.lngLatToLayerCanvasPoint(r);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()})}),e.clip("evenodd"))}shouldClipLayerToHongyuanBoundary(e=this.currentTopicLayer){if(!e||e.clipToHongyuanBoundary===!1)return!1;if(e.clipToHongyuanBoundary===!0)return!0;const n=String((e==null?void 0:e.key)||"");return!!(n==="national-park-zoning"||n.startsWith("yak-"))}shouldClipLayerToLayerBounds(e=this.currentTopicLayer){return!!(e!=null&&e.clipBounds&&(e==null?void 0:e.clipToLayerBounds)!==!1)}isLngLatInHongyuanBoundary(e){const n=this.hongyuanBoundaryPolygons||[];return n.length?n.some(a=>this.isLngLatInPolygon(e,a)):!0}isLngLatInLayerClipBounds(e,n=this.currentTopicLayer){const a=this.getLayerClipBounds(n);return a?e.lng>=a.west&&e.lng<=a.east&&e.lat>=a.south&&e.lat<=a.north:!0}getLayerClipBounds(e){const n=e==null?void 0:e.clipBounds;if(!n)return null;const a=Math.max(Number(n.west),j1.west),i=Math.max(Number(n.south),j1.south),r=Math.min(Number(n.east),j1.east),o=Math.min(Number(n.north),j1.north);return![a,i,r,o].every(Number.isFinite)||a>=r||i>=o?null:{west:a,south:i,east:r,north:o}}getGeometryDrawRank(e){return String(e).includes("Polygon")?1:String(e).includes("LineString")?2:3}isEcologicalProjectLayer(e=this.currentTopicLayer){return["restoration-projects","engineering-analysis-projects"].includes(e==null?void 0:e.key)}getVectorFeatureStyle(e,n){var u,m,h;const a=n.properties||{},r=(e.legends||[]).find(p=>{var g,C;return(((g=p==null?void 0:p.matches)==null?void 0:g.length)||((C=p==null?void 0:p.match)==null?void 0:C.field))&&this.featureMatchesLegend(a,p)})||e.activeLegend||((u=e.legends)==null?void 0:u[0])||{},o=String(((m=n.geometry)==null?void 0:m.type)||"").includes("LineString"),s=((h=n.geometry)==null?void 0:h.type)==="Point";if(this.isEcologicalProjectLayer(e)){const p=o||String(a.feature_role||"")==="线性设施";return{fill:p||s?r.strokeColor||r.fillColor||"#D2EA78":r.fillColor||"#75AD49",stroke:r.strokeColor||r.fillColor||"#D2EA78",polygonAlpha:p?.08:.22,lineAlpha:p?.9:.82,lineWidth:p?3:1.85,pointRadius:s?3.8:4,glow:!1}}return(e==null?void 0:e.key)==="yak-epidemic-village-boundary"?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||"#C9FBFF",polygonAlpha:.16,lineAlpha:1,lineWidth:3.2,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="artificial-grassland-plots"?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||"#A7F8FF",polygonAlpha:.2,lineAlpha:.94,lineWidth:1.6,pointRadius:4.5,glow:!0}:(e==null?void 0:e.key)==="yak-industry-points"?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||r.fillColor||"#B7FFF2",polygonAlpha:.36,lineAlpha:.82,lineWidth:1.6,pointRadius:this.getVectorPointRadius(e,n),glow:!0,halo:!0,marker:!0,markerType:Hf[String(a.stageKey||"")]||"point"}:(e==null?void 0:e.key)==="national-park-zoning"?{fill:r.fillColor||"#30DCFF",stroke:r.strokeColor||"#F2FFFF",polygonAlpha:.38,lineAlpha:.96,lineWidth:2.7,pointRadius:4.5,glow:!1}:e!=null&&e.boundaryOnly?{fill:r.fillColor||"#24F6C4",stroke:r.strokeColor||r.fillColor||"#18F8FF",polygonAlpha:.04,lineAlpha:.96,lineWidth:10,pointRadius:4.5,glow:!0}:{fill:o||s?r.strokeColor||r.fillColor||"#30DCFF":r.fillColor||"#30DCFF",stroke:r.strokeColor||r.fillColor||"#30DCFF",polygonAlpha:.36,lineAlpha:o?.92:.9,lineWidth:o?5:2.4,pointRadius:s?this.getVectorPointRadius(e,n):4.5,glow:!0}}getVectorPointRadius(e,n){var i,r;const a=Number(((i=n==null?void 0:n.properties)==null?void 0:i.count)||((r=n==null?void 0:n.properties)==null?void 0:r.value)||0);return(e==null?void 0:e.key)==="yak-recognition-layer"?Math.max(3.8,Math.min(8.6,3.6+Math.sqrt(a)/68)):(e==null?void 0:e.key)==="yak-industry-points"?10.4:4.5}drawVectorFeature(e,n,a){if(n!=null&&n.coordinates){if(n.type==="Polygon"){this.drawPolygonPath(e,n.coordinates,a);return}if(n.type==="MultiPolygon"){n.coordinates.forEach(i=>this.drawPolygonPath(e,i,a));return}if(n.type==="LineString"){this.drawLinePath(e,n.coordinates,a);return}if(n.type==="MultiLineString"){n.coordinates.forEach(i=>this.drawLinePath(e,i,a));return}n.type==="Point"&&this.drawPointPath(e,n.coordinates,a)}}drawPolygonPath(e,n,a){Array.isArray(n==null?void 0:n[0])&&(e.save(),e.beginPath(),n.forEach(i=>{i.forEach((r,o)=>{const s=this.lngLatToLayerCanvasPoint(r);o===0?e.moveTo(s.x,s.y):e.lineTo(s.x,s.y)}),e.closePath()}),e.fillStyle=this.hexToRgba(a.fill,a.polygonAlpha),e.strokeStyle=this.hexToRgba(a.stroke,a.lineAlpha),e.lineWidth=a.lineWidth,a.glow&&(e.shadowColor=a.stroke,e.shadowBlur=14),e.fill("evenodd"),e.stroke(),e.restore())}drawLinePath(e,n,a){!Array.isArray(n)||n.length<2||(e.save(),e.beginPath(),n.forEach((i,r)=>{const o=this.lngLatToLayerCanvasPoint(i);r===0?e.moveTo(o.x,o.y):e.lineTo(o.x,o.y)}),e.strokeStyle=this.hexToRgba(a.stroke,a.lineAlpha),e.lineWidth=a.lineWidth,e.shadowColor=a.stroke,e.shadowBlur=12,e.stroke(),e.restore())}drawPointPath(e,n,a){var r;if(a.marker){this.drawMarkerPointPath(e,n,a);return}const i=this.lngLatToLayerCanvasPoint(n);e.save(),a.halo&&(e.beginPath(),e.arc(i.x,i.y,a.pointRadius*2.35,0,Math.PI*2),e.fillStyle=this.hexToRgba(a.fill,.18),e.shadowColor=a.fill,e.shadowBlur=18,e.fill()),e.beginPath(),e.arc(i.x,i.y,a.pointRadius,0,Math.PI*2),e.fillStyle=this.hexToRgba(a.fill,.96),e.shadowColor=a.stroke,e.shadowBlur=a.halo?8:12,e.fill(),a.lineWidth&&(e.lineWidth=a.lineWidth,e.strokeStyle=this.hexToRgba(a.stroke,(r=a.lineAlpha)!=null?r:.9),e.stroke()),e.restore()}drawMarkerPointPath(e,n,a){const i=this.lngLatToLayerCanvasPoint(n),r=a.pointRadius||6;e.save(),e.beginPath(),e.arc(i.x,i.y+r*.22,r*2.55,0,Math.PI*2),e.fillStyle=this.hexToRgba(a.fill,.16),e.shadowColor=a.fill,e.shadowBlur=24,e.fill(),e.beginPath(),e.moveTo(i.x,i.y+r*2.05),e.bezierCurveTo(i.x+r*1.46,i.y+r*.62,i.x+r*1.34,i.y-r*1.34,i.x,i.y-r*1.62),e.bezierCurveTo(i.x-r*1.34,i.y-r*1.34,i.x-r*1.46,i.y+r*.62,i.x,i.y+r*2.05),e.closePath(),e.fillStyle=this.hexToRgba(a.fill,.94),e.strokeStyle=this.hexToRgba(a.stroke,.98),e.lineWidth=Math.max(2,a.lineWidth||2),e.shadowColor=a.stroke,e.shadowBlur=14,e.fill(),e.stroke(),e.beginPath(),e.arc(i.x,i.y-r*.34,r*.52,0,Math.PI*2),e.fillStyle=this.hexToRgba("#FFFFFF",.96),e.shadowBlur=0,e.fill(),e.beginPath(),e.arc(i.x,i.y-r*.34,r*.82,0,Math.PI*2),e.lineWidth=Math.max(1.2,r*.14),e.strokeStyle=this.hexToRgba("#FFFFFF",.42),e.stroke(),e.restore()}lngLatToLayerCanvasPoint(e){const n=Number(e==null?void 0:e[0]),a=Number(e==null?void 0:e[1]);return{x:(n-j1.west)/(j1.east-j1.west)*this.topicLayerCanvas.width,y:(j1.north-a)/(j1.north-j1.south)*this.topicLayerCanvas.height}}hexToRgba(e,n=1){const a=String(e||"#30DCFF").replace("#",""),i=a.length===3?a.split("").map(m=>m+m).join(""):a,r=Number.parseInt(i,16);if(!Number.isFinite(r))return`rgba(48, 220, 255, ${n})`;const o=r>>16&255,s=r>>8&255,u=r&255;return`rgba(${o}, ${s}, ${u}, ${n})`}parseWktGeometry(e){var o;const n=String(e||"").trim();if(!n)return null;const a=n.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),i=(o=a==null?void 0:a[1])==null?void 0:o.toUpperCase();if(!i)return null;const r=n.slice(n.indexOf("("));return i==="POLYGON"?{type:"Polygon",coordinates:this.parseWktPolygonBody(r)}:i==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:this.parseWktMultiPolygonBody(r)}:i==="POINT"?{type:"Point",coordinates:this.parseWktPoint(r)}:i==="MULTIPOINT"?{type:"MultiPoint",coordinates:this.getWktChildGroups(r).map(s=>this.parseWktPoint(s)).filter(Boolean)}:i==="LINESTRING"?{type:"LineString",coordinates:this.parseWktRing(r)}:i==="MULTILINESTRING"?{type:"MultiLineString",coordinates:this.getWktChildGroups(r).map(s=>this.parseWktRing(s)).filter(s=>s.length)}:null}parseWktMultiPolygonBody(e){return this.getWktChildGroups(e).map(n=>this.parseWktPolygonBody(n)).filter(n=>n.length)}parseWktPolygonBody(e){return this.getWktChildGroups(e).map(n=>this.parseWktRing(n)).filter(n=>n.length>=3)}getWktChildGroups(e){const n=String(e||"").trim(),a=n.startsWith("(")&&n.endsWith(")")?n.slice(1,-1):n,i=[];let r=0,o=-1;for(let s=0;s=0&&(i.push(a.slice(o,s+1)),o=-1))}return i.length?i:[a]}parseWktRing(e){return String(e||"").replace(/^\(+|\)+$/g,"").split(",").map(a=>a.trim().split(/\s+/).slice(0,2).map(Number)).filter(([a,i])=>Number.isFinite(a)&&Number.isFinite(i))}parseWktPoint(e){const n=String(e||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return n.length>=2&&Number.isFinite(n[0])&&Number.isFinite(n[1])?[n[0],n[1]]:null}createProvinceMaterial(){const e=!this.useSatelliteBase;let n=new os({color:16777215,transparent:!0,opacity:0,depthWrite:!this.usesCustomSatelliteTiles,fog:!1,side:ze});n.onBeforeCompile=r=>{r.uniforms=Z2(B2({},r.uniforms),{uColor1:{value:new Ae(e?2780818:2152676)},uColor2:{value:new Ae(e?1058614:475482)}}),r.vertexShader=r.vertexShader.replace("void main() {",` - attribute float alpha; - varying vec3 vPosition; - varying float vAlpha; - void main() { - vAlpha = alpha; - vPosition = position; - `),r.fragmentShader=r.fragmentShader.replace("void main() {",` - varying vec3 vPosition; - varying float vAlpha; - uniform vec3 uColor1; - uniform vec3 uColor2; - void main() { - `),r.fragmentShader=r.fragmentShader.replace("#include ",` - #ifdef OPAQUE - diffuseColor.a = 1.0; - #endif - #ifdef USE_TRANSMISSION - diffuseColor.a *= transmissionAlpha + 0.1; - #endif - vec3 gradient = mix(uColor1, uColor2, vPosition.x/15.78); - ${e?`outgoingLight = outgoingLight * gradient; - float topAlpha = 0.56;`:`outgoingLight = mix(outgoingLight * vec3(1.18), outgoingLight * gradient, 0.32); - float topAlpha = 0.92;`} - if(vPosition.z>0.3){ - diffuseColor.a *= topAlpha; - } - gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - `)};let a=this.assets.instance.getResource("side");a.wrapS=Ot,a.wrapT=Ot,a.repeat.set(1,1.8),a.offset.y+=.065;let i=new J9({color:2148829,map:a,fog:!1,opacity:0,side:ze,roughness:.58,metalness:.08});return this.time.on("tick",()=>{a.offset.y+=.005}),i.onBeforeCompile=r=>{r.uniforms=Z2(B2({},r.uniforms),{uColor1:{value:new Ae(1629410)},uColor2:{value:new Ae(205365)}}),r.vertexShader=r.vertexShader.replace("void main() {",` - attribute float alpha; - varying vec3 vPosition; - varying float vAlpha; - void main() { - vAlpha = alpha; - vPosition = position; - `),r.fragmentShader=r.fragmentShader.replace("void main() {",` - varying vec3 vPosition; - varying float vAlpha; - uniform vec3 uColor1; - uniform vec3 uColor2; - void main() { - `),r.fragmentShader=r.fragmentShader.replace("#include ",` - #ifdef OPAQUE - diffuseColor.a = 1.0; - #endif - #ifdef USE_TRANSMISSION - diffuseColor.a *= transmissionAlpha + 0.1; - #endif - vec3 gradient = mix(uColor1, uColor2, vPosition.z/1.2); - outgoingLight = outgoingLight*gradient*vec3(1.12); - gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - `)},[n,i]}getDefaultTownRanking(){return{title:"乡镇统计加载中",unit:"",rows:If.map(e=>({name:e.name,value:0,unit:""}))}}getTownRankingMeta(e=this.currentTownRanking){var i,r,o;const n=this.getDefaultTownRanking(),a=WM(e);return{title:(e==null?void 0:e.title)||n.title,unit:(e==null?void 0:e.unit)||n.unit,metricLabel:(e==null?void 0:e.metricLabel)||(e==null?void 0:e.legendName)||"",note:(e==null?void 0:e.note)||"",hideTownNames:Qf(e),hideMapLabels:M4(e),calloutMode:a,showBars:(i=e==null?void 0:e.showBars)!=null?i:!1,showPointMarkers:(r=e==null?void 0:e.showPointMarkers)!=null?r:a,onlyRankedTownLabels:(o=e==null?void 0:e.onlyRankedTownLabels)!=null?o:!1,showMissingTownStats:(e==null?void 0:e.showMissingTownStats)===!0}}getTownRankingRows(e=this.currentTownRanking,n=7,a=!0){var u;const i=this.getDefaultTownRanking(),r=(u=e==null?void 0:e.rows)!=null&&u.length?e.rows:a?i.rows:[],o=this.getTownRankingMeta(e),s=r.map(m=>{const h=this.townMetaByName.get(Gn(m.name));return h?Z2(B2(B2({},h),m),{name:h.name,enName:h.enName,center:h.center,centroid:h.centroid,value:Z0(m.value),unit:m.unit||o.unit,metricTitle:o.title}):null}).filter(Boolean).sort((m,h)=>h.value-m.value).map((m,h)=>Z2(B2({},m),{rank:h+1}));return Number.isFinite(n)?s.slice(0,n):s}getVillageRankingRows(e=this.currentTownRanking){const n=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((a,i)=>{var m,h,p,g,C,I,U,j;const r=Z0((m=a.lng)!=null?m:a.longitude,NaN),o=Z0((h=a.lat)!=null?h:a.latitude,NaN);if(!Number.isFinite(r)||!Number.isFinite(o))return null;const s=Z0((p=a.displayValue)!=null?p:a.value),u=Z0((I=(C=(g=a.rawValue)!=null?g:a.earTagCount)!=null?C:a.ear_tag_count)!=null?I:a.value);return Z2(B2({},a),{key:a.key||`${a.town||""}-${a.village||a.name||i}`,name:a.name||a.village||`村${i+1}`,town:a.town||"",lng:r,lat:o,value:s,rawValue:u,recordCount:Z0((U=a.recordCount)!=null?U:a.record_count,0),imageRate:Z0((j=a.imageRate)!=null?j:a.image_rate,0),unit:a.displayUnit||a.unit||n.unit,metricTitle:n.title,metricLabel:a.metricLabel||n.metricLabel||""})}).filter(Boolean).sort((a,i)=>i.rawValue-a.rawValue).map((a,i)=>Z2(B2({},a),{rank:i+1}))}getVillageRankingHtml(e,n){const a=n.hideTownNames?"":`${De(e.town||"红原县")}`;return e.displayMode==="park-village"||n.displayMode==="park-village"?`
    -
    - ${De(e.name)} - ${a} -
    -
    - ${De(e.metricLabel||n.metricLabel||"")} - ${this.formatMapRankingValue(e.value)} - ${De(e.unit||n.unit||"")} -
    -
    `:`
    -
    - ${De(e.name)} - ${a} -
    -
    - ${De(e.metricLabel||"防疫")} - ${this.formatMapRankingValue(e.value)} - ${De(e.unit||n.unit||"")} -
    -
    - 台账 ${this.formatMapCompactValue(e.recordCount)}条 - 耳标 ${this.formatMapCompactValue(e.rawValue)}头 -
    -
    `}ensureVillageRankingGroup(){this.villageRankingGroup||(this.villageRankingGroup=new ae,this.villageRankingGroup.rotation.x=-Math.PI/2,this.villageRankingGroup.visible=!1,this.scene.add(this.villageRankingGroup),this.villageRankingLabels=[])}hideVillageRankingLabels(){var e;this.villageRankingGroup&&(this.villageRankingGroup.visible=!1),(e=this.villageRankingLabels)==null||e.forEach(n=>{n.visible=!1})}hideAllMapStatisticLabels(){var e,n,a,i;this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.hideTradeFlowLayer(),this.clearInfoPointStats(),(e=this.allProvinceLabel)==null||e.forEach(r=>{r.visible=!1}),(n=this.allBar)==null||n.forEach(r=>{r.visible=!1,r.scale.set(1,1,0)}),(a=this.allBarMaterial)==null||a.forEach(r=>{r.opacity=0}),(i=this.allGuangquan)==null||i.forEach(r=>{r.visible=!1})}setTownNameLabelsVisible(e=!0){var n;(n=this.townNameLabels)==null||n.forEach(a=>{a.visible=e})}updateVillageRankingLabels(e=this.currentTownRanking){if(this.ensureVillageRankingGroup(),!qf(e)){this.hideVillageRankingLabels();return}const n=this.getVillageRankingRows(e),a=this.getTownRankingMeta(e);if(!n.length){this.hideVillageRankingLabels();return}this.villageRankingGroup.visible=this.mapAnimationComplete,n.forEach((i,r)=>{let o=this.villageRankingLabels[r];o||(o=this.label3d.create("","epidemic-village-label",!0),this.label3d.setLabelStyle(o,.0135,"x"),o.setParent(this.villageRankingGroup),this.villageRankingLabels.push(o));const[s,u]=this.geoProjection([i.lng,i.lat]),m=(r%3-1)*.06,h=Math.floor(r/3)%2*.04;o.init(this.getVillageRankingHtml(i,a),new t0(s+m,-u+h,this.depth+1.55+Math.min(r,6)*.015)),o.visible=!0,o.userData=B2({},i)}),this.villageRankingLabels.slice(n.length).forEach(i=>{i.visible=!1})}ensureTradeFlowGroup(){this.tradeFlowGroup||(this.tradeFlowGroup=new ae,this.tradeFlowGroup.name="yak-trade-flow",this.tradeFlowGroup.visible=!1,this.tradeFlowMeshGroup=new ae,this.tradeFlowMeshGroup.name="yak-trade-flow-mesh",this.tradeFlowMeshGroup.rotation.x=-Math.PI/2,this.tradeFlowLabelGroup=new ae,this.tradeFlowLabelGroup.name="yak-trade-flow-label",this.tradeFlowLabelGroup.rotation.x=-Math.PI/2,this.tradeFlowGroup.add(this.tradeFlowMeshGroup,this.tradeFlowLabelGroup),this.scene.add(this.tradeFlowGroup))}hideTradeFlowLayer(){var e,n;this.tradeFlowGroup&&(this.tradeFlowGroup.visible=!1),(e=this.tradeFlowLabels)==null||e.forEach(a=>{a.visible=!1}),(n=this.tradeFlowPulseSprites)==null||n.forEach(a=>{a.visible=!1})}clearTradeFlowLayer(){this.tradeFlowMeshGroup&&(this.tradeFlowMeshGroup.children.forEach(e=>{var n;(n=e.traverse)==null||n.call(e,a=>this.disposeObject3D(a))}),this.tradeFlowMeshGroup.clear(),this.tradeFlowMaterials=[],this.tradeFlowPulseSprites=[])}getTradeFlowSource(e=this.currentTownRanking){var r,o,s,u;const n=(e==null?void 0:e.source)||{},a=Z0((r=n.lng)!=null?r:n.longitude,NaN),i=Z0((o=n.lat)!=null?o:n.latitude,NaN);return!Number.isFinite(a)||!Number.isFinite(i)?null:{name:n.name||"红原牦牛交易市场",lng:a,lat:i,total:Z0((u=(s=n.total)!=null?s:n.headCount)!=null?u:n.value,NaN)}}getTradeFlowRows(e=this.currentTownRanking){const n=this.getTownRankingMeta(e);return((e==null?void 0:e.rows)||[]).map((a,i)=>{var g,C,I,U,j,l2;const r=Z0((g=a.lng)!=null?g:a.longitude,NaN),o=Z0((C=a.lat)!=null?C:a.latitude,NaN),s=Z0((j=(U=(I=a.headCount)!=null?I:a.head_count)!=null?U:a.rawValue)!=null?j:a.value),u=a.displayName||a.display_name||a.name,m=a.mapTownName||a.map_town_name||a.town||a.startTown||a.start_town||u,h=this.townMetaByName.get(Gn(m)),p=Number.isFinite(r)&&Number.isFinite(o)?{lng:r,lat:o}:h!=null&&h.center?{lng:h.center[0],lat:h.center[1]}:null;return!p||!Number.isFinite(s)?null:Z2(B2(B2({},a),h),{key:a.key||`${(h==null?void 0:h.name)||u||m||"trade-source"}-${i}`,name:u||m||(h==null?void 0:h.name)||`来源${i+1}`,townName:(h==null?void 0:h.name)||m,lng:p.lng,lat:p.lat,labelSide:a.labelSide||a.label_side||this.getTradeSourceLabelSide(h,i),value:s,headCount:s,recordCount:Z0((l2=a.recordCount)!=null?l2:a.record_count,0),unit:a.unit||n.unit||"头"})}).filter(Boolean).sort((a,i)=>i.value-a.value).map((a,i)=>Z2(B2({},a),{rank:i+1}))}getTradeMarketHtml(e,n){const a=Number.isFinite(e.total)?e.total:n.reduce((i,r)=>i+Z0(r.value),0);return`
    -
    ${De(e.name)}
    -
    ${this.formatMapIntegerValue(a)}
    -
    `}getTradeFlowDisplayName(e=""){const n=String(e||"").replace(/^.*红原县/,"").replace(/\s+/g,"");return n.length>7?`${n.slice(0,7)}…`:n||"来源区域"}getTradeFlowLabelHtml(e){return`
    -
    ${String(e.rank).padStart(2,"0")}${De(this.getTradeFlowDisplayName(e.name))}
    -
    ${this.formatMapIntegerValue(e.value)}${De(e.unit||"头")}
    -
    `}getTradeFlowLabelOffset(e,n){return new t0(0,0,0)}getTradeSourceLabelSide(e,n=0){var r,o;const a=Number((r=e==null?void 0:e.center)==null?void 0:r[0]),i=Number((o=e==null?void 0:e.center)==null?void 0:o[1]);return Number.isFinite(a)&&athis.geoProjectionCenter[0]+.2?"right":Number.isFinite(i)&&i>this.geoProjectionCenter[1]+.22?"top":Number.isFinite(i)&&i0&&(u.normalize().multiplyScalar((a%2===0?1:-1)*Math.min(.18,.05+s*.02)),o.add(u)),new jm([i,o,r])}tradeGeoProjection(e){return d6().center(this.tradeGeoProjectionCenter).scale(this.tradeGeoProjectionScale).translate([0,0])(e)}setTradeNationalMapVisible(e){const n=!!e;if(!(!n&&!this.isTradeNationalMapActive&&!this.tradeNationalMapGroup&&!this.tradeFlowGroup)){if(n&&!this.createTradeNationalMap()){this.isTradeNationalMapActive=!1;return}this.isTradeNationalMapActive=n,this.tradeNationalMapGroup&&(this.tradeNationalMapGroup.visible=n&&this.mapAnimationComplete),this.tradeNationalLabelGroup&&(this.tradeNationalLabelGroup.visible=n&&this.mapAnimationComplete),this.mapGroup&&(this.mapGroup.visible=!n),this.labelGroup&&(this.labelGroup.visible=!n),this.flyLineGroup&&(this.flyLineGroup.visible=!n&&this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!n&&this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=!n&&this.mapAnimationComplete),this.topicLayerMaterial&&n&&(this.topicLayerMaterial.opacity=0),n&&this.mapAnimationComplete?this.animateMapCamera(new t0(0,11.4,16.2),new t0(0,-.05,0),.65):!n&&this.mapAnimationComplete&&this.applyLayerMapView(this.currentTopicLayer,{force:!0})}}createTradeSourceMarker(e,n,a,i,r=!0){const o=new Ae(n%3===1?16766828:n%3===2?2617536:3202303),s=this.getTradeFlowPoint(e,.72);if(i&&r){const U=this.getLocalTradeFlowCurve(e,i,n),j=new V0({color:o,transparent:!0,opacity:.42,depthWrite:!1,depthTest:!1,fog:!1,blending:qe}),l2=.012+Math.min(.012,Z0(e.value)/Math.max(a,1)*.01),v2=new ye(new zm(U,48,l2,8,!1),j);v2.renderOrder=31,this.tradeFlowMeshGroup.add(v2),this.tradeFlowMaterials.push(j);const S2=new D9({map:this.assets.instance.getResource("point"),color:o,transparent:!0,opacity:.92,depthWrite:!1,depthTest:!1,fog:!1,blending:qe}),T2=new B9(S2),C2=.12+Math.min(.08,Z0(e.value)/Math.max(a,1)*.06);T2.renderOrder=36,T2.scale.set(C2,C2,C2),T2.userData={curve:U,phase:n*.13%1,speed:.16+Math.min(.16,Z0(e.value)/Math.max(a,1)*.12)},T2.position.copy(U.getPointAt(T2.userData.phase)),this.tradeFlowPulseSprites.push(T2),this.tradeFlowMeshGroup.add(T2)}const u=new D9({map:this.assets.instance.getResource("point"),color:o,transparent:!0,opacity:.95,depthWrite:!1,depthTest:!1,fog:!1,blending:qe}),m=new B9(u),h=.22+Math.min(.34,Z0(e.value)/Math.max(a,1)*.28);m.renderOrder=34,m.scale.set(h,h,h),m.position.copy(s),this.tradeFlowMeshGroup.add(m);const p=this.assets.instance.getResource("guangquan1"),g=new V0({map:p,alphaMap:p,color:o,transparent:!0,opacity:.52,depthWrite:!1,depthTest:!1,fog:!1,blending:qe,side:ze}),C=.38+Math.min(.36,Z0(e.value)/Math.max(a,1)*.28),I=new ye(new F6(C,C),g);I.renderOrder=29,I.position.copy(this.getTradeFlowPoint(e,.5)),this.tradeFlowMeshGroup.add(I)}createTradeMarketMarker(e){const n=this.assets.instance.getResource("point"),a=this.assets.instance.getResource("guangquan1"),i=this.getTradeLocalPoint(e.lng,e.lat,.82),r=new D9({map:n,color:16773997,transparent:!0,opacity:1,depthWrite:!1,depthTest:!1,fog:!1,blending:qe}),o=new B9(r);o.renderOrder=35,o.scale.set(.34,.34,.34),o.position.copy(i),this.tradeFlowMeshGroup.add(o);const s=new V0({map:a,alphaMap:a,color:16773997,transparent:!0,opacity:.72,depthWrite:!1,depthTest:!1,fog:!1,blending:qe,side:ze}),u=new ye(new F6(.58,.58),s);u.renderOrder=29,u.position.copy(this.getTradeLocalPoint(e.lng,e.lat,.58)),this.tradeFlowMeshGroup.add(u)}disposeObject3D(e){var n,a,i,r;(a=(n=e.geometry)==null?void 0:n.dispose)==null||a.call(n),Array.isArray(e.material)?e.material.forEach(o=>{var s;return(s=o==null?void 0:o.dispose)==null?void 0:s.call(o)}):(r=(i=e.material)==null?void 0:i.dispose)==null||r.call(i)}updateTradeFlowPulses(e=.016){var n,a;!((n=this.tradeFlowGroup)!=null&&n.visible)||!((a=this.tradeFlowPulseSprites)!=null&&a.length)||this.tradeFlowPulseSprites.forEach(i=>{var s;const r=(s=i.userData)==null?void 0:s.curve;if(!r)return;const o=(Z0(i.userData.phase)+Z0(i.userData.speed,.16)*e)%1;i.userData.phase=o,i.position.copy(r.getPointAt(o))})}updateTradeFlowLayer(e=this.currentTownRanking){if(!Jf(e)){this.hideTradeFlowLayer();return}this.ensureTradeFlowGroup();const n=this.getTradeFlowSource(e),a=this.getTradeFlowRows(e);if(!n||!a.length){this.clearTradeFlowLayer(),this.hideTradeFlowLayer();return}this.clearTradeFlowLayer(),this.tradeFlowGroup.visible=this.mapAnimationComplete;const i=$M(e);this.createTradeMarketMarker(n);const r=Math.max(...a.map(u=>u.value),1);a.forEach((u,m)=>{this.createTradeSourceMarker(u,m,r,n,i)});const o=a.length+1;for(let u=this.tradeFlowLabels.length;u{const h=this.tradeFlowLabels[m+1];h.element.className="trade-flow-label",h.init(this.getTradeFlowLabelHtml(u),this.getTradeFlowPoint(u,.78).add(this.getTradeFlowLabelOffset(u,m))),h.visible=!0,h.userData=B2({},u)}),this.tradeFlowLabels.slice(o).forEach(u=>{u.visible=!1})}hasTownRankingRows(e=this.currentTownRanking){return this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1).length>0}formatMapRankingValue(e){const n=Z0(e);return Math.abs(n)>=100?String(Math.round(n)):Math.abs(n)>=10?String(Number(n.toFixed(1))):String(Number(n.toFixed(2)))}formatMapCompactValue(e){const n=Z0(e);return Math.abs(n)>=1e4?`${Number((n/1e4).toFixed(Math.abs(n)>=1e5?1:2))}万`:Math.abs(n)>=1e3?`${Number((n/1e3).toFixed(1))}千`:this.formatMapRankingValue(n)}formatMapIntegerValue(e){const n=Z0(e);return Math.round(n).toLocaleString("zh-CN")}getBarHeight(e,n){return n?Math.max(2.8*.12,2.8*(Z0(e)/n)):2.8*.25}createBarGeometry(e){const a=new gA(.06999999999999999,.06999999999999999,e);return a.translate(0,0,e/2),a}getProvinceLabelHtml(e,n,a){return`
    -
    -
    -
    ${a.title}
    -
    ${this.formatMapRankingValue(e.value)}${e.unit||a.unit}
    -
    ${e.name}
    -
    -
    ${n+1}
    -
    -
    `}updateBarItem(e,n,a,i,r=!0){var m,h;const o=this.getBarHeight(n.value,i),[s,u]=this.geoProjection(n.centroid);return e.visible=!0,(h=(m=e.geometry)==null?void 0:m.dispose)==null||h.call(m),e.geometry=this.createBarGeometry(o),e.position.set(s,-u,this.depth+.45),e.userData=Z2(B2({},n),{targetValue:n.value,geoHeight:o}),e.children.forEach(p=>{var g,C,I,U;(C=(g=p.geometry)==null?void 0:g.dispose)==null||C.call(g),Array.isArray(p.material)?p.material.forEach(j=>{var l2;return(l2=j==null?void 0:j.dispose)==null?void 0:l2.call(j)}):(U=(I=p.material)==null?void 0:I.dispose)==null||U.call(I)}),e.clear(),e.add(...this.createHUIGUANG(o,a>3?16776948:7863285)),r?Yt.to(e.scale,{duration:.45,x:1,y:1,z:1,ease:"power2.out"}):this.mapAnimationComplete&&e.scale.set(1,1,1),{x:s,y:u,geoHeight:o}}updateProvinceLabel(e,n,a,i,r,o=!0){var I;const s=Z0((I=e.userData)==null?void 0:I.targetValue,n.value);e.visible=!0,e.userData=Z2(B2({},n),{targetValue:n.value}),e.position.copy(i);const u=e.element.querySelector(".label-title"),m=e.element.querySelector(".number .value"),h=e.element.querySelector(".number .unit"),p=e.element.querySelector(".name"),g=e.element.querySelector(".no");!u||!m||!h||!p||!g?e.element.innerHTML=this.getProvinceLabelHtml(n,a,r):(u.innerText=r.title,m.dataset.targetValue=String(n.value),m.innerText=this.formatMapRankingValue(n.value),h.innerText=n.unit||r.unit,p.innerText=n.name,g.innerText=a+1);const C=e.element.querySelector(".provinces-label-wrap");if(this.mapAnimationComplete&&(C.style.opacity="1",C.style.transform="translate(50%, 0)"),o&&this.mapAnimationComplete){const U=e.element.querySelector(".number .value"),l2={value:s};Yt.to(l2,{value:n.value,duration:.45,ease:"power2.out",onUpdate:()=>{U.innerText=this.formatMapRankingValue(l2.value)},onComplete:()=>{U.dataset.previousValue=String(n.value),U.innerText=this.formatMapRankingValue(n.value)}})}}clearTownNameLabelStat(e){const n=e.element.querySelector(".town-stat-label"),a=e.element.querySelector(".town-stat-value"),i=e.element.querySelector(".town-stat-unit"),r=e.element.querySelector(".town-rank"),o=e.element.querySelector(".town-stat-metric");n==null||n.classList.remove("has-stat"),e.element.style.pointerEvents="none",e.element.style.cursor="",a&&(a.innerText=""),i&&(i.innerText=""),r&&(r.innerText=""),o&&(o.innerText="")}updateTownNameLabelStats(e=this.currentTownRanking){var o;if(!((o=this.townNameLabels)!=null&&o.length))return;const n=this.getTownRankingRows(e,Number.POSITIVE_INFINITY,!1),a=this.getTownRankingMeta(e),i=new Map(n.map(s=>[Gn(s.name),s])),r=!!(a.showMissingTownStats&&e&&n.length&&(a.metricLabel||a.unit||a.title));this.townNameLabels.forEach(s=>{var v2,S2;const u=((v2=s.userData)==null?void 0:v2.townName)||((S2=s.userData)==null?void 0:S2.name),m=i.get(Gn(u));if(a.onlyRankedTownLabels&&!m){this.clearTownNameLabelStat(s),s.element.style.pointerEvents="none",s.element.style.cursor="",s.visible=!1;return}const h=m||(r?{name:u,value:0,unit:a.unit,metricLabel:a.metricLabel,rank:null}:null);if(!h){this.clearTownNameLabelStat(s),s.element.style.pointerEvents="none",s.element.style.cursor="";return}const p=s.element.querySelector(".town-stat-label"),g=s.element.querySelector(".town-name"),C=s.element.querySelector(".town-stat-value"),I=s.element.querySelector(".town-stat-unit"),U=s.element.querySelector(".town-rank"),j=s.element.querySelector(".town-stat-metric");p==null||p.classList.add("has-stat"),g&&(g.innerText=u),j&&(j.innerText=h.metricLabel||a.metricLabel||""),C&&(C.innerText=this.formatMapRankingValue(h.value)),I&&(I.innerText=h.unit||a.unit||""),U&&(U.innerText=h.rank?`第${h.rank}名`:"");const l2=this.isNationalParkTownSelectionActive()&&!!m;s.element.style.pointerEvents=l2?"auto":"none",s.element.style.cursor=l2?"pointer":"",s.userData=Z2(B2(B2({},s.userData),h),{townName:u,targetValue:h.value})})}getInfoPointHtml(e,n=this.getTownRankingMeta()){const a=String(e.metricLabel||n.metricLabel||n.title||"统计指标").replace(/排行$/,""),i=Number(e.rank),r=Number.isFinite(i)?String(i).padStart(2,"0"):"--";return`
    -
    -
    - ${r} - ${De(e.name||"红原县")} -
    -
    ${De(a)}
    -
    - ${this.formatMapRankingValue(e.value)} - ${De(e.unit||n.unit||"")} -
    -
    -
    `}updateInfoPointStats(){var o,s;if(!((o=this.infoPointSprites)!=null&&o.length)||!((s=this.infoLabelElement)!=null&&s.length))return;if(!this.showTownRankingPointMarkers){this.clearInfoPointStats();return}const e=this.getTownRankingRows(this.currentTownRanking,Number.POSITIVE_INFINITY,!1);if(!e.length){this.clearInfoPointStats();return}const n=this.getTownRankingMeta(),a=e.slice(0,this.infoPointSprites.length),i=Math.max(...a.map(u=>u.value),1);this.infoPointSprites.forEach((u,m)=>{const h=a[m],p=this.infoLabelElement[m];if(!h){u.visible=!1,u.scale.set(0,0,0),p&&(p.visible=!1);return}const[g,C]=this.geoProjection(h.centroid||h.center),I=[g,-C,this.depth+.72];u.userData=Z2(B2(B2({},u.userData),h),{position:I,value:h.value,unit:h.unit||n.unit,rank:h.rank,metricTitle:n.title,index:m}),u.position.set(...I),u.visible=this.showTownRankingPointMarkers;const U=.78+h.value/i*.44;if(u.scale.set(U,U,U),p){const j=(m%2===0?.22:-.18)+(m===0?.12:0),l2=m%3===0?.08:-.04;p.position.set(g+j,-C+l2,this.depth+1.88+Math.min(m,4)*.03),p.userData=Z2(B2({},h),{index:m}),p.element.innerHTML=this.getInfoPointHtml(h,n)}});const r=this.infoLabelElement[this.infoPointIndex];r&&this.showTownRankingPointMarkers&&this.mapAnimationComplete&&(r.visible=!0),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}clearInfoPointStats(){var e,n;clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null,this.infoPointIndex=0,this.InfoPointGroup&&(this.InfoPointGroup.visible=!1),(e=this.infoLabelElement)==null||e.forEach(a=>{a.visible=!1}),(n=this.infoPointSprites)==null||n.forEach(a=>{a.visible=!1,a.scale.set(0,0,0)})}createBar(){const e=this.getTownRankingRows();this.getTownRankingMeta();const n=new ae;this.barGroup=n;const a=Math.max(...e.map(i=>i.value),1);this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],e.map((i,r)=>{const o=this.getBarHeight(i.value,a),s=new V0({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Za(s,{uColor1:r>3?16506760:5291006,uColor2:r>3?16776948:7863285,size:o,dir:"y"});const u=new ye(this.createBarGeometry(o),s);u.renderOrder=5;const[m,h]=this.geoProjection(i.centroid);u.position.set(m,-h,this.depth+.45),u.scale.set(1,1,0),u.userData=Z2(B2({},i),{targetValue:i.value,geoHeight:o});const p=this.createQuan(new t0(m,this.depth+.44,h),r);u.add(...this.createHUIGUANG(o,r>3?16776948:7863285)),n.add(u),n.rotation.x=-Math.PI/2,this.allBar.push(u),this.allBarMaterial.push(s),this.allGuangquan.push(p)}),this.scene.add(n),this.updateTownNameLabelStats(this.currentTownRanking)}setTownRanking(e){var r,o,s,u,m,h,p,g,C,I,U,j,l2,v2,S2,T2;this.currentTownRanking=e;const n=this.getTownRankingMeta(e);if(this.showTownRankingBars=!!n.showBars,this.showTownRankingPointMarkers=!!n.showPointMarkers,n.hideMapLabels){this.hideAllMapStatisticLabels(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete);return}if(Jf(e)){this.setTradeNationalMapVisible(!1),this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!1),this.hideVillageRankingLabels(),this.clearInfoPointStats(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!1),this.flyLineGroup&&(this.flyLineGroup.visible=!1),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1),this.scatterGroup&&(this.scatterGroup.visible=!1),(r=this.allBar)!=null&&r.length&&(this.allBar.forEach(C2=>{C2.visible=!1,C2.scale.set(1,1,0)}),(o=this.allBarMaterial)==null||o.forEach(C2=>{C2.opacity=0}),(s=this.allProvinceLabel)==null||s.forEach(C2=>{C2.visible=!1}),(u=this.allGuangquan)==null||u.forEach(C2=>{C2.visible=!1})),this.updateTradeFlowLayer(e),(e!=null&&e.mapView||e!=null&&e.cameraPosition)&&this.applyLayerMapView(null);return}if(this.setTradeNationalMapVisible(!1),this.hideTradeFlowLayer(),this.mapGroup&&(this.mapGroup.visible=!0),this.labelGroup&&(this.labelGroup.visible=!0),this.flyLineGroup&&(this.flyLineGroup.visible=this.mapAnimationComplete),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=this.mapAnimationComplete),this.scatterGroup&&(this.scatterGroup.visible=this.mapAnimationComplete),qf(e)){this.updateTownNameLabelStats(null),this.setTownNameLabelsVisible(!Qf(e)),this.clearInfoPointStats(),this.updateVillageRankingLabels(e),(m=this.allBar)!=null&&m.length&&(this.allBar.forEach(C2=>{C2.visible=!1,C2.scale.set(1,1,0)}),(h=this.allBarMaterial)==null||h.forEach(C2=>{C2.opacity=0}),(p=this.allProvinceLabel)==null||p.forEach(C2=>{C2.visible=!1}),(g=this.allGuangquan)==null||g.forEach(C2=>{C2.visible=!1}));return}if(this.setTownNameLabelsVisible(!n.calloutMode&&!n.hideTownNames),this.hideVillageRankingLabels(),n.calloutMode?this.updateTownNameLabelStats(null):this.updateTownNameLabelStats(e),!((C=this.allBar)!=null&&C.length))return;if(!this.showTownRankingBars){this.allBar.forEach(C2=>{C2.visible=!1,C2.scale.set(1,1,0)}),(I=this.allBarMaterial)==null||I.forEach(C2=>{C2.opacity=0}),(U=this.allProvinceLabel)==null||U.forEach(C2=>{C2.visible=!1}),(j=this.allGuangquan)==null||j.forEach(C2=>{C2.visible=!1}),this.showTownRankingPointMarkers?(this.InfoPointGroup&&(this.InfoPointGroup.visible=this.mapAnimationComplete&&this.hasTownRankingRows(e)),this.updateInfoPointStats()):this.clearInfoPointStats();return}const a=this.getTownRankingRows(e,7,!1);if(!a.length){this.allBar.forEach(C2=>{C2.visible=!1,C2.scale.set(1,1,0)}),(l2=this.allProvinceLabel)==null||l2.forEach(C2=>{C2.visible=!1}),(v2=this.allGuangquan)==null||v2.forEach(C2=>{C2.visible=!1}),this.clearInfoPointStats();return}this.InfoPointGroup&&(this.InfoPointGroup.visible=this.showTownRankingPointMarkers&&this.mapAnimationComplete),(S2=this.infoPointSprites)==null||S2.forEach(C2=>{C2.visible=this.showTownRankingPointMarkers});const i=Math.max(...a.map(C2=>C2.value),1);this.allBar.forEach((C2,j2)=>{const K2=j2{C2.visible=!1}),this.allGuangquan.forEach((C2,j2)=>{C2.visible=j2{const K2=this.allBar[j2],V2=this.allGuangquan[j2];if(!K2)return;const{x:s3,y:m3}=this.updateBarItem(K2,C2,j2,i,this.mapAnimationComplete);V2&&(V2.visible=!0,V2.position.set(0,0,0),V2.children.forEach(p3=>{p3.position.set(s3,this.depth+.44,m3),this.mapAnimationComplete&&p3.scale.set(1,1,1)}))}),this.updateInfoPointStats()}createEvent(){let e=[];const n=i=>{i.traverse(r=>{r.isMesh&&(r.material=this.defaultMaterial)})},a=i=>{i.traverse(r=>{r.isMesh&&(r.material=this.defaultLightMaterial)})};this.eventElement.map(i=>{this.interactionManager.add(i),i.addEventListener("mousedown",r=>{this.handleMapClick(r)}),i.addEventListener("mouseover",r=>{e.includes(r.target.parent)||e.push(r.target.parent),document.body.style.cursor="pointer",a(r.target.parent)}),i.addEventListener("mouseout",r=>{e=e.filter(o=>o.userData.name!==r.target.parent.userData.name),e.length>0&&e[e.length-1],n(r.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(e,n){let a=new F6(.35,e);a.translate(0,e/2,0);const i=this.assets.instance.getResource("huiguang");i.colorSpace=Wt,i.wrapS=Ot,i.wrapT=Ot;let r=new V0({color:n,map:i,transparent:!0,opacity:.4,depthWrite:!1,side:ze,blending:qe}),o=new ye(a,r);o.renderOrder=10,o.rotateX(Math.PI/2);let s=o.clone(),u=o.clone();return s.rotateY(Math.PI/180*60),u.rotateY(Math.PI/180*120),[o,s,u]}createQuan(e,n){const a=this.assets.instance.getResource("guangquan1"),i=this.assets.instance.getResource("guangquan2");let r=new F6(.5,.5),o=new V0({color:16777215,map:a,alphaMap:a,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:qe}),s=new V0({color:16777215,map:i,alphaMap:i,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:qe}),u=new ye(r,o),m=new ye(r,s);return u.renderOrder=6,m.renderOrder=6,u.rotateX(-Math.PI/2),m.rotateX(-Math.PI/2),u.position.copy(e),m.position.copy(e),m.position.y-=.001,u.scale.set(0,0,0),m.scale.set(0,0,0),this.quanGroup=new ae,this.quanGroup.add(u,m),this.scene.add(this.quanGroup),this.time.on("tick",()=>{u.rotation.z+=.05}),this.quanGroup}createDiffuse(){let e=new F6(200,200),n=new V0({color:0,depthWrite:!1,transparent:!0,blending:yA});n.blendEquation=vA,n.blendSrc=SA,n.blendDst=wA,new Nx({material:n,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:i=>{const r=setTimeout(()=>{this.addSceneTween(Yt.to(i.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(r)}});let a=new ye(e,n);a.renderOrder=3,a.rotation.x=-Math.PI/2,a.position.set(0,.21,0),this.scene.add(a)}createGrid(){new Rx(this,{gridSize:54,gridDivision:24,gridColor:1990543,shapeSize:.55,shapeColor:3309487,pointSize:.085,pointColor:1993891,pointBlending:qe})}createBottomBg(){let e=new F6(24,24);const n=this.assets.instance.getResource("ocean");n.colorSpace=Wt,n.wrapS=Ot,n.wrapT=Ot,n.repeat.set(1,1);let a=new V0({map:n,opacity:.92,fog:!1}),i=new ye(e,a);i.rotation.x=-Math.PI/2,i.position.set(0,-.7,0),this.scene.add(i)}createChinaBlurLine(){let e=new F6(154,154);const n=this.assets.instance.getResource("chinaBlurLine");n.colorSpace=Wt,n.wrapS=Ot,n.wrapT=Ot,n.generateMipmaps=!1,n.minFilter=Qs,n.repeat.set(1,1);let a=new V0({color:4162253,alphaMap:n,transparent:!0,opacity:.62}),i=new ye(e,a);i.rotateX(-Math.PI/2),i.position.set(-19.3,-.5,-19.7),this.scene.add(i)}createLabel(){let e=this,n=this.labelGroup,a=this.label3d,i=[],r=[];iM.map(s=>{if(s.hide==!0)return!1;let u=o(s,a,n);i.push(u),r.push(u)}),this.otherLabel=i,this.townNameLabels=r;function o(s,u,m){let h=u.create("",`china-label ${s.blur?" blur":""}`,!0);const[p,g]=e.geoProjection(s.center);return h.init(`
    -
    ${s.name}
    -
    -
    `,new t0(p,-g,e.depth+.85)),u.setLabelStyle(h,.018,"x"),h.setParent(m),h.userData=Z2(B2({},s),{labelType:"town-label",baseScale:.018,townName:s.name}),h.element.addEventListener("pointerdown",C=>{e.handleTownRankingSelect(s.name,{preserveCamera:!0,statusText:`已选中${s.name}`})&&(C.preventDefault(),C.stopPropagation())}),h}}createRotateBorder(){let e=13.2,n=this.assets.instance.getResource("rotationBorder1"),a=this.assets.instance.getResource("rotationBorder2"),i=new _f(this,{width:e*1.178,needRotate:!0,rotateSpeed:.001,material:new V0({map:n,color:4763647,transparent:!0,opacity:.26,side:ze,depthWrite:!1,blending:qe}),position:new t0(0,.31,0)});i.instance.rotation.x=-Math.PI/2,i.instance.renderOrder=6,i.instance.scale.set(0,0,0),i.setParent(this.scene);let r=new _f(this,{width:e*1.116,needRotate:!0,rotateSpeed:-.004,material:new V0({map:a,color:4763647,transparent:!0,opacity:.5,side:ze,depthWrite:!1,blending:qe}),position:new t0(0,.33,0)});r.instance.rotation.x=-Math.PI/2,r.instance.renderOrder=6,r.instance.scale.set(0,0,0),r.setParent(this.scene),this.rotateBorder1=i.instance,this.rotateBorder2=r.instance}createFlyLine(){this.flyLineGroup=new ae,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup)}createFocus(){this.flyLineFocusGroup.clear()}createParticles(){this.particles=new Yi(this,{num:10,range:30,dir:"up",speed:.05,material:new hr({map:Yi.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:qe,sizeAttenuation:!0})}),this.particleGroup=new ae,this.scene.add(this.particleGroup),this.particleGroup.rotation.x=-Math.PI/2,this.particles.setParent(this.particleGroup),this.particles.enable=!0,this.particleGroup.visible=!0}createScatter(){this.scatterGroup=new ae,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const e=this.assets.instance.getResource("arrow"),n=new D9({map:e,color:16776948,fog:!1,transparent:!0,depthTest:!1});let a=Kf(rM),i=a[0].value;a.map(r=>{const o=new B9(n);o.renderOrder=23;let s=.1+r.value/i*.2;o.scale.set(s,s,s);let[u,m]=this.geoProjection([r.lng,r.lat]);o.position.set(u,-m,this.depth+.45),o.userData.position=[u,-m,this.depth+.45],this.scatterGroup.add(o)})}createInfoPoint(){let e=this;this.InfoPointGroup=new ae,this.scene.add(this.InfoPointGroup),this.InfoPointGroup.visible=!1,this.InfoPointGroup.rotation.x=-Math.PI/2,this.infoPointIndex=0,this.infoPointLabelTime=null,this.infoLabelElement=[],this.infoPointSprites=[];let n=this.label3d;const a=this.assets.instance.getResource("point");let i=[16776948,7863285],r=Kf(oM),o=r[0].value;r.map((u,m)=>{const h=new D9({map:a,color:i[m%i.length],fog:!1,transparent:!0,depthTest:!1}),p=new B9(h);p.renderOrder=23;let g=.7+u.value/o*.4;p.scale.set(g,g,g);let[C,I]=this.geoProjection([u.lng,u.lat]),U=[C,-I,this.depth+.7];p.position.set(...U),p.userData.position=[...U],p.userData={position:[C,-I,this.depth+.7],name:u.name,value:u.value,level:u.level,index:m},this.InfoPointGroup.add(p);let j=s(u,n,this.InfoPointGroup,m);this.infoLabelElement.push(j),this.infoPointSprites.push(p),this.interactionManager.add(p),p.addEventListener("mousedown",l2=>{var v2,S2;if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.infoPointIndex=l2.target.userData.index,this.infoLabelElement.map(T2=>{T2.visible=!1}),j.visible=!0,this.handleTownRankingSelect(((v2=l2.target.userData)==null?void 0:v2.name)||((S2=l2.target.userData)==null?void 0:S2.townName)),this.createInfoPointLabelLoop()}),p.addEventListener("mouseup",l2=>{this.clicked=!1}),p.addEventListener("mouseover",l2=>{document.body.style.cursor="pointer"}),p.addEventListener("mouseout",l2=>{document.body.style.cursor="default"})});function s(u,m,h,p){let g=m.create("","info-point",!0);const[C,I]=e.geoProjection([u.lng,u.lat]);return g.init(e.getInfoPointHtml(Z2(B2({},u),{value:0,rank:p+1,unit:""}),e.getTownRankingMeta()),new t0(C,-I,e.depth+1.9)),m.setLabelStyle(g,.015,"x"),g.setParent(h),g.visible=!1,g}}createInfoPointLabelLoop(){var e;this.scenePaused||!((e=this.infoLabelElement)!=null&&e.length)||(clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((n,a)=>{this.infoPointIndex===a?n.visible=!0:n.visible=!1})},3e3))}createStorke(){const e=this.staticMapData.mapStroke,n=this.assets.instance.getResource("pathLine3");n.wrapS=n.wrapT=Ot,n.repeat.set(2,1);let a=new G9(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new t0(0,0,this.depth+.24),data:e,material:new V0({color:2868444,map:n,alphaMap:n,fog:!1,transparent:!0,opacity:1,blending:qe}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(a.lineGroup),this.time.on("tick",()=>{n.offset.x+=.005})}handleMapClick(e){return P3(this,null,function*(){var r,o,s,u,m,h,p,g,C,I,U,j,l2,v2,S2,T2,C2,j2,K2,V2,s3,m3,p3,U3,b3,Y3,o3,n1,b1,W3,R1,D1,Y1,h3,x3,L3,h1,C1,_1,o1,l3;if(!this.currentTopicLayer)return;const n=this.getScreenPointFromEvent(e),a=this.getLngLatFromEvent(e);if(!a){this.clearSelectedFeature(),(o=(r=this.callbacks).onFeatureInfo)==null||o.call(r,{feature:null});return}if(this.boundaryDrawingEnabled){const $2=((s=e==null?void 0:e.data)==null?void 0:s.originalEvent)||(e==null?void 0:e.originalEvent)||e;if($2!=null&&$2.__analysisBoundaryHandled)return;this.addBoundaryDrawPoint(a);return}if(this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)&&!this.isLngLatInHongyuanBoundary(a)){this.clearSelectedFeature(),(m=(u=this.callbacks).onFeatureInfo)==null||m.call(u,{feature:null}),(p=(h=this.callbacks).onLayerStatus)==null||p.call(h,{type:"success",text:"当前点击位置不在红原县边界内"});return}if(this.shouldClipLayerToLayerBounds(this.currentTopicLayer)&&!this.isLngLatInLayerClipBounds(a,this.currentTopicLayer)){this.clearSelectedFeature(),(C=(g=this.callbacks).onFeatureInfo)==null||C.call(g,{feature:null}),(U=(I=this.callbacks).onLayerStatus)==null||U.call(I,{type:"success",text:"当前点击位置不在图层显示范围内"});return}if(VM(this.currentTopicLayer)){this.clearSelectedFeature(),(l2=(j=this.callbacks).onFeatureInfo)==null||l2.call(j,{feature:null});return}if(ai(this.currentTopicLayer)){const $2=this.pickVectorFeatureAtPoint(a,n),j3=($2==null?void 0:$2.feature)||$2;let c1=($2==null?void 0:$2.screen)||n;if(j3)this.shouldClipLayerToHongyuanBoundary(this.currentTopicLayer)?(this.clearSelectedGeometryGroup(),this.setSelectedVectorFeatures([j3])):this.showSelectedFeature(j3),((v2=this.currentTopicLayer)==null?void 0:v2.key)==="yak-industry-points"&&(this.setSelectedVectorFeatures([j3]),c1=this.getPointFeatureScreenPoint(j3)||c1),(K2=(j2=this.callbacks).onFeatureInfo)==null||K2.call(j2,{feature:{id:((S2=j3.properties)==null?void 0:S2.id)||((T2=j3.properties)==null?void 0:T2.feature_id)||((C2=j3.properties)==null?void 0:C2.project_name),properties:j3.properties||{},feature:j3,layer:this.currentTopicLayer,lngLat:a},screen:c1}),(s3=(V2=this.callbacks).onLayerStatus)==null||s3.call(V2,{type:"success",text:"真实矢量要素已选中"});else{const M1=this.getTownNameFromMapEvent(e);if(this.handleTownRankingSelect(M1))return;this.clearSelectedFeature(),(p3=(m3=this.callbacks).onFeatureInfo)==null||p3.call(m3,{feature:null}),(b3=(U3=this.callbacks).onLayerStatus)==null||b3.call(U3,{type:"success",text:"当前点击位置无生态保护要素"})}return}const i=this.lngLatToWmsPixel(a);(o3=(Y3=this.callbacks).onFeatureInfo)==null||o3.call(Y3,{feature:null}),(b1=(n1=this.callbacks).onFeatureLoading)==null||b1.call(n1,!0);try{const $2=yield zf(this.currentTopicLayer,i,{size:l6,buffer:10}),j3=Yf($2),c1=j3?null:yield this.queryFallbackFeatureInfo(a),M1=j3||(c1==null?void 0:c1.feature);if(M1){const $1=yield this.enrichFeatureInfo(M1,i,a);this.showSelectedFeature($1.feature||$1),(R1=(W3=this.callbacks).onFeatureInfo)==null||R1.call(W3,{feature:Z2(B2({},$1),{layer:(c1==null?void 0:c1.layer)||this.currentTopicLayer,lngLat:a}),screen:n})}else this.clearSelectedFeature(),(Y1=(D1=this.callbacks).onFeatureInfo)==null||Y1.call(D1,{feature:null});M1||(x3=(h3=this.callbacks).onLayerStatus)==null||x3.call(h3,{type:"success",text:"当前点击位置无图斑"})}catch($2){this.clearSelectedFeature(),(h1=(L3=this.callbacks).onFeatureInfo)==null||h1.call(L3,{feature:null}),(_1=(C1=this.callbacks).onLayerStatus)==null||_1.call(C1,{type:"error",text:"图斑信息查询失败"})}finally{(l3=(o1=this.callbacks).onFeatureLoading)==null||l3.call(o1,!1)}})}handleCanvasBoundaryPointerDown(e){var a,i;if(!this.boundaryDrawingEnabled)return;const n=this.getLngLatFromCanvasEvent(e);n&&this.addBoundaryDrawPoint(n)&&(e.__analysisBoundaryHandled=!0),(a=e.preventDefault)==null||a.call(e),(i=e.stopPropagation)==null||i.call(e)}handleCanvasBoundaryDoubleClick(e){var a,i;if(!this.boundaryDrawingEnabled)return;const n=this.getLngLatFromCanvasEvent(e);(this.boundaryDrawPoints||[]).length<3&&n&&this.addBoundaryDrawPoint(n),(this.boundaryDrawPoints||[]).length>=3&&(this.finishBoundaryDrawing(),e.__analysisBoundaryHandled=!0),(a=e.preventDefault)==null||a.call(e),(i=e.stopPropagation)==null||i.call(e)}getLngLatFromCanvasEvent(e){var g,C,I;if(!((g=this.camera)!=null&&g.instance)||!this.focusMapGroup||!this.canvas)return null;const n=this.canvas.getBoundingClientRect();if(!n.width||!n.height)return null;const a=(C=this.interactionManager)==null?void 0:C.raycaster;if(!(a!=null&&a.setFromCamera))return null;const i={x:(e.clientX-n.left)/n.width*2-1,y:-((e.clientY-n.top)/n.height)*2+1};a.setFromCamera(i,this.camera.instance);const o=((I=a.intersectObjects(this.eventElement||[],!0)[0])==null?void 0:I.point)||this.getRayMapPlaneIntersection(a.ray);if(!o)return null;const s=this.focusMapGroup.worldToLocal(o.clone()),m=d6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([s.x,-s.y]);if(!m)return null;const h=Number(m[0]),p=Number(m[1]);return!Number.isFinite(h)||!Number.isFinite(p)?null:hj1.east+.03||pj1.north+.03?this.getFallbackLngLatFromPointer(e,n):{lng:h,lat:p}}getFallbackLngLatFromPointer(e,n=(i=>(i=(a=>(a=this.canvas)==null?void 0:a.getBoundingClientRect)())==null?void 0:i.call(a))()){if(!(n!=null&&n.width)||!(n!=null&&n.height))return null;const r=Math.min(1,Math.max(0,(e.clientX-n.left)/n.width)),o=Math.min(1,Math.max(0,(e.clientY-n.top)/n.height)),s=j1.west+(j1.east-j1.west)*r,u=j1.north-(j1.north-j1.south)*o;return{lng:s,lat:u}}getRayMapPlaneIntersection(e){if(!(e!=null&&e.origin)||!(e!=null&&e.direction)||!this.focusMapGroup)return null;const n=this.focusMapGroup.worldToLocal(e.origin.clone()),i=this.focusMapGroup.worldToLocal(e.origin.clone().add(e.direction.clone())).sub(n),r=this.depth+.22;if(Math.abs(i.z)<1e-8)return null;const o=(r-n.z)/i.z;if(!Number.isFinite(o)||o<0)return null;const s=n.add(i.multiplyScalar(o));return this.focusMapGroup.localToWorld(s)}enrichFeatureInfo(e,n,a){return P3(this,null,function*(){const i=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(i))return e;const o=(Ai[i]||[]).find(p=>p.key===`${i}-distribution`),s=(this.visibleTopicLayers||[]).filter(p=>this.getLayerTopicKey(p)===i).slice(0,5),u=[o,this.currentTopicLayer,...s].filter(p=>p==null?void 0:p.layerName).filter((p,g,C)=>C.findIndex(I=>this.getLayerQueryKey(I)===this.getLayerQueryKey(p))===g);if(!u.length)return e;const m=yield Promise.allSettled([...u.filter(p=>this.getLayerQueryKey(p)!==this.getLayerQueryKey(this.currentTopicLayer)).map(p=>P3(this,null,function*(){const g=yield zf(p,n,{size:l6,buffer:10}),C=Yf(g);return C?{layer:p,feature:C,source:"wms"}:null})),...u.map(p=>P3(this,null,function*(){const g=yield this.queryLayerFeatureByPoint(p,a);return g?{layer:p,feature:g,source:"wfs"}:null}))]),h=B2({},e.properties||{});return m.forEach(p=>{var g,C;p.status!=="fulfilled"||!((C=(g=p.value)==null?void 0:g.feature)!=null&&C.properties)||this.mergeBusinessProperties(h,p.value.feature.properties,p.value.layer)}),Z2(B2({},e),{properties:h,relatedFeatures:m.filter(p=>{var g;return p.status==="fulfilled"&&((g=p.value)==null?void 0:g.feature)}).map(p=>p.value),feature:Z2(B2({},e.feature||{}),{properties:h})})})}queryFallbackFeatureInfo(e){return P3(this,null,function*(){const n=this.getLayerTopicKey(this.currentTopicLayer);if(!["grassland","woodland"].includes(n))return null;const i=[(Ai[n]||[]).find(r=>r.key===`${n}-distribution`),this.currentTopicLayer,...(this.visibleTopicLayers||[]).filter(r=>this.getLayerTopicKey(r)===n)].filter((r,o,s)=>(r==null?void 0:r.layerName)&&s.findIndex(u=>this.getLayerQueryKey(u)===this.getLayerQueryKey(r))===o);for(const r of i){const o=yield this.queryLayerFeatureByPoint(r,e,{requireContainment:!0});if(o)return{layer:r,feature:o}}return null})}queryLayerFeatureByPoint(i,r){return P3(this,arguments,function*(e,n,a={}){var I,U,j;if(!(e!=null&&e.layerName)||!Number.isFinite(n==null?void 0:n.lng)||!Number.isFinite(n==null?void 0:n.lat))return null;const o=e.pointQueryTolerance||.0015,s=e.geometryField||"geom",u=n.lng-o,m=n.lat-o,h=n.lng+o,p=n.lat+o,g=yield $i(e.layerName,{cqlFilter:`BBOX(${s},${u},${m},${h},${p})`,maxFeatures:8,timeout:12e3}),C=this.pickFeatureAtPoint((g==null?void 0:g.features)||[],n,a);return C?{id:C.id||((I=C.properties)==null?void 0:I.gid)||((U=C.properties)==null?void 0:U.objectid)||((j=C.properties)==null?void 0:j.OBJECTID),properties:C.properties||{},feature:C}:null})}pickFeatureAtPoint(e,n,a={}){var r;if(!Array.isArray(e)||!e.length)return null;const i=e.filter(o=>this.isLngLatInGeometry(n,o.geometry)).sort((o,s)=>this.getGeometryAreaScore(o.geometry)-this.getGeometryAreaScore(s.geometry));return i.length?i[0]:a.requireContainment?null:((r=e.map(o=>({feature:o,distance:this.getGeometryDistanceScore(o.geometry,n)})).sort((o,s)=>o.distance-s.distance)[0])==null?void 0:r.feature)||null}isLngLatInGeometry(e,n){return!e||!(n!=null&&n.coordinates)?!1:n.type==="Polygon"?this.isLngLatInPolygon(e,n.coordinates):n.type==="MultiPolygon"?n.coordinates.some(a=>this.isLngLatInPolygon(e,a)):!1}isLngLatInPolygon(e,n=[]){return!n.length||!this.isLngLatInRing(e,n[0])?!1:!n.slice(1).some(i=>this.isLngLatInRing(e,i))}isLngLatInRing(e,n=[]){if(n.length<3)return!1;let a=!1;const i=e.lng,r=e.lat;for(let o=0,s=n.length-1;or!=C>r&&i<(g-h)*(r-p)/(C-p)+h&&(a=!a)}return a}isPointOnSegment(e,n,a,i,r,o){const s=(e-a)*(o-i)-(n-i)*(r-a);return Math.abs(s)>1e-10?!1:(e-a)*(e-r)+(n-i)*(n-o)<=1e-10}getGeometryAreaScore(e){return e!=null&&e.coordinates?e.type==="Polygon"?this.getLngLatPolygonAreaScore(e.coordinates):e.type==="MultiPolygon"?e.coordinates.reduce((n,a)=>n+this.getLngLatPolygonAreaScore(a),0):Number.POSITIVE_INFINITY:Number.POSITIVE_INFINITY}getLngLatPolygonAreaScore(e=[]){const n=e[0]||[];if(n.length<3)return Number.POSITIVE_INFINITY;let a=0;for(let i=0;i({minLng:Math.min(a.minLng,Number((i==null?void 0:i[0])||0)),minLat:Math.min(a.minLat,Number((i==null?void 0:i[1])||0)),maxLng:Math.max(a.maxLng,Number((i==null?void 0:i[0])||0)),maxLat:Math.max(a.maxLat,Number((i==null?void 0:i[1])||0))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}getGeometryCoordinateList(e){const n=[],a=i=>{if(Array.isArray(i)){if(typeof i[0]=="number"&&typeof i[1]=="number"){n.push(i);return}i.forEach(a)}};return a(e==null?void 0:e.coordinates),n}pickVectorFeatureAtPoint(e,n){var o;const a=this.getVisibleVectorFeatures(this.currentTopicLayer,this.currentVectorFeatures||[]);if(((o=this.currentTopicLayer)==null?void 0:o.key)==="yak-industry-points"){const s=this.pickPointFeatureAtScreenPoint(a,n);if(s)return s}const i=a.filter(s=>this.isLngLatInGeometry(e,s.geometry)).sort((s,u)=>this.getGeometryAreaScore(s.geometry)-this.getGeometryAreaScore(u.geometry));if(i.length)return i[0];const r=a.find(s=>this.isPointOrLineNearLngLat(s.geometry,e));return r||null}pickPointFeatureAtScreenPoint(e,n){var r;if(!n||!((r=this.camera)!=null&&r.instance)||!this.focusMapGroup||!this.canvas)return null;const i=(e||[]).filter(o=>{var s;return((s=o==null?void 0:o.geometry)==null?void 0:s.type)==="Point"}).map(o=>{const s=this.getPointFeatureScreenPoint(o);return s?{feature:o,screen:s,distance:Math.hypot(s.x-n.x,s.y-n.y)}:null}).filter(Boolean).sort((o,s)=>o.distance-s.distance)[0];return(i==null?void 0:i.distance)<=22?{feature:i.feature,screen:i.screen}:null}getPointFeatureScreenPoint(e){var a,i;const n=(e==null?void 0:e.geometry)||((a=e==null?void 0:e.feature)==null?void 0:a.geometry);return(n==null?void 0:n.type)!=="Point"?null:((i=this.currentTopicLayer)==null?void 0:i.key)==="yak-industry-points"?this.lngLatToLayerScreenPoint(n.coordinates,this.depth+.36):this.lngLatToScreenPoint(n.coordinates,this.depth+.32)}lngLatToLayerLocalPoint(e,n=0){const a=()=>{const m=Number(e==null?void 0:e[0]),h=Number(e==null?void 0:e[1]);if(!Number.isFinite(m)||!Number.isFinite(h))return new t0(0,0,Number(n)||0);const[p,g]=this.geoProjection([m,h]);return new t0(p,-g,Number(n)||0)},i=this.topicLayerUvBounds;if(!i)return a();const r=this.lngLatToLayerCanvasPoint(e),o=this.topicLayerCanvas;if(!(o!=null&&o.width)||!(o!=null&&o.height))return a();const s=i.left+r.x/o.width*(i.right-i.left),u=i.bottom+(o.height-r.y)/o.height*(i.top-i.bottom);return new t0(s,u,Number(n)||0)}lngLatToLayerScreenPoint(e,n=0){return this.localMapPointToScreenPoint(this.lngLatToLayerLocalPoint(e,n))}lngLatToScreenPoint(e,n=0){const a=Number(e==null?void 0:e[0]),i=Number(e==null?void 0:e[1]);if(!Number.isFinite(a)||!Number.isFinite(i))return null;const r=this.lngLatToWorldPoint([a,i],n);return this.worldPointToScreenPoint(r)}localMapPointToScreenPoint(e){const n=this.focusMapGroup?this.focusMapGroup.localToWorld(e):e;return this.worldPointToScreenPoint(n)}worldPointToScreenPoint(e){var i;if(!((i=this.camera)!=null&&i.instance)||!this.canvas||!e)return null;const n=this.canvas.getBoundingClientRect();if(!n.width||!n.height)return null;const a=e.clone().project(this.camera.instance);return!Number.isFinite(a.x)||!Number.isFinite(a.y)?null:{x:n.left+(a.x+1)/2*n.width,y:n.top+(1-a.y)/2*n.height}}focusProject(e){var g,C,I,U;const n=String(e||"").trim();if(!n)return!1;const a=(this.currentVectorFeatures||[]).filter(j=>{var l2;return String(((l2=j==null?void 0:j.properties)==null?void 0:l2.project_name)||"").trim()===n});if(!a.length)return(C=(g=this.callbacks).onLayerStatus)==null||C.call(g,{type:"success",text:"当前项目图斑尚未加载"}),!1;const i=this.getFeatureListLngLatBounds(a);if(!i)return!1;const r=this.getProjectHighlightFeatures(a);r.length?(this.showSelectedFeatures(r),this.setSelectedVectorFeatures(r)):this.clearSelectedFeature();const o=[(i.minLng+i.maxLng)/2,(i.minLat+i.maxLat)/2],s=Math.max(i.maxLng-i.minLng,i.maxLat-i.minLat),u=Math.max(.22,Math.min(.55,s*1.25)),m=this.lngLatToWorldPoint(o,.72),h=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(u),p=m.clone().add(h);return this.animateMapCamera(p,m,.75),(U=(I=this.callbacks).onLayerStatus)==null||U.call(I,{type:"success",text:"已定位项目"}),!0}setBoundaryDrawing(e){var n,a,i,r;this.boundaryDrawingEnabled=!!e,this.boundaryDrawingEnabled?(this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.clearSelectedFeature(),(a=(n=this.callbacks).onLayerStatus)==null||a.call(n,{type:"success",text:"请在地图上依次点击绘制分析边界"})):(r=(i=this.callbacks).onLayerStatus)==null||r.call(i,{type:"success",text:"已退出边界绘制"}),this.redrawVectorTopicLayer()}addBoundaryDrawPoint(e){var r,o,s,u;if(!Number.isFinite(e==null?void 0:e.lng)||!Number.isFinite(e==null?void 0:e.lat))return!1;const n=Date.now(),a=this.lastBoundaryDrawPoint;return a&&n-a.time<350&&Math.hypot(e.lng-a.lng,e.lat-a.lat)<8e-4?!1:(this.lastBoundaryDrawPoint={lng:e.lng,lat:e.lat,time:n},this.boundaryDrawPoints=[...this.boundaryDrawPoints||[],{lng:e.lng,lat:e.lat}],(o=(r=this.callbacks).onDrawBoundary)==null||o.call(r,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),(u=(s=this.callbacks).onLayerStatus)==null||u.call(s,{type:"success",text:`已添加边界点 ${this.boundaryDrawPoints.length} 个`}),this.redrawVectorTopicLayer(),!0)}undoBoundaryPoint(){var e,n,a;return(e=this.boundaryDrawPoints)!=null&&e.length?(this.boundaryDrawPoints=this.boundaryDrawPoints.slice(0,-1),(a=(n=this.callbacks).onDrawBoundary)==null||a.call(n,{status:"drawing",points:this.boundaryDrawPoints,pointCount:this.boundaryDrawPoints.length}),this.redrawVectorTopicLayer(),!0):!1}finishBoundaryDrawing(){var o,s,u,m,h,p;const e=this.boundaryDrawPoints||[];if(e.length<3)return(s=(o=this.callbacks).onLayerStatus)==null||s.call(o,{type:"error",text:"至少需要 3 个点才能形成分析边界"}),null;const n=e.map(g=>[g.lng,g.lat]),a=n[0],i=n[n.length-1];(a[0]!==i[0]||a[1]!==i[1])&&n.push([...a]);const r={type:"Feature",properties:{source:"draw",pointCount:e.length},geometry:{type:"Polygon",coordinates:[n]}};return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=r,(m=(u=this.callbacks).onDrawBoundary)==null||m.call(u,{status:"complete",feature:r,points:e,pointCount:e.length}),(p=(h=this.callbacks).onLayerStatus)==null||p.call(h,{type:"success",text:"分析边界已生成"}),this.redrawVectorTopicLayer(),r}clearAnalysisBoundary(){var e,n;return this.boundaryDrawingEnabled=!1,this.boundaryDrawPoints=[],this.lastBoundaryDrawPoint=null,this.analysisBoundaryFeature=null,this.analysisMatchedFeatures=[],this.redrawVectorTopicLayer(),(n=(e=this.callbacks).onDrawBoundary)==null||n.call(e,{status:"clear",points:[],pointCount:0}),!0}showAnalysisResult(e={}){var r;const n=Object.prototype.hasOwnProperty.call(e,"boundary")||Object.prototype.hasOwnProperty.call(e,"boundaryFeature")||Object.prototype.hasOwnProperty.call(e,"feature"),a=e.boundary||e.boundaryFeature||e.feature||null,i=Array.isArray(e.matches)?e.matches:[];return n&&(this.analysisBoundaryFeature=(a==null?void 0:a.type)==="Feature"?a:a!=null&&a.geometry?{type:"Feature",properties:a.properties||{},geometry:a.geometry}:null),this.analysisMatchedFeatures=i.map(o=>(o==null?void 0:o.feature)||o).filter(o=>o==null?void 0:o.geometry),e.preserveView||(!n&&this.analysisMatchedFeatures.length?this.focusAnalysisFeatures(this.analysisMatchedFeatures):(r=this.analysisBoundaryFeature)!=null&&r.geometry&&this.focusAnalysisGeometry(this.analysisBoundaryFeature.geometry)),this.redrawVectorTopicLayer(),!0}focusAnalysisFeatures(e=[]){const n=this.getFeatureListLngLatBounds(e);if(!n)return!1;const a=[(n.minLng+n.maxLng)/2,(n.minLat+n.maxLat)/2];return this.flyToLngLat(a,{span:Math.max(n.maxLng-n.minLng,n.maxLat-n.minLat),statusText:"已定位命中项目"})}focusAnalysisGeometry(e){const n=this.getGeometryLngLatBounds(e);if(!n)return!1;const a=[(n.minLng+n.maxLng)/2,(n.minLat+n.maxLat)/2];return this.flyToLngLat(a,{span:Math.max(n.maxLng-n.minLng,n.maxLat-n.minLat),statusText:"已定位分析边界"})}focusPasture(e={}){var i,r;const a=[...this.normalizePastureGrasslandRows(e==null?void 0:e.grasslands),...this.normalizePastureGrasslandRows(e==null?void 0:e.wkt)].map((o,s)=>{const u=this.normalizePastureGrasslandGeometry(o);if(!u)return null;const m=this.normalizePastureGrasslandProperties(o);return{type:"Feature",properties:Z2(B2({},m),{id:m.id||m.gid||`${(e==null?void 0:e.name)||"pasture"}-${s}`,pasture_name:(e==null?void 0:e.name)||m.pastureName||m.name}),geometry:u}}).filter(Boolean);if(a.length){const o=this.getFeatureListLngLatBounds(a);if(!o)return!1;this.showSelectedFeatures(a,{mode:"pasture"}),this.setSelectedVectorFeatures(a);const s=[(o.minLng+o.maxLng)/2,(o.minLat+o.maxLat)/2];return this.flyToLngLat(s,{span:Math.max(o.maxLng-o.minLng,o.maxLat-o.minLat),statusText:"已定位具体草场"}),!0}return(r=(i=this.callbacks).onLayerStatus)==null||r.call(i,{type:"warning",text:"当前牧户暂无可定位数据"}),!1}normalizePastureGrasslandRows(e){return e?typeof e=="string"?[e]:Array.isArray(e)?e:(e==null?void 0:e.type)==="FeatureCollection"&&Array.isArray(e.features)?e.features:(e==null?void 0:e.type)==="Feature"||this.isGeoJsonGeometry(e)?[e]:Array.isArray(e==null?void 0:e.rows)?e.rows:Array.isArray(e==null?void 0:e.data)?e.data:e!=null&&e.data?this.normalizePastureGrasslandRows(e.data):Array.isArray(e==null?void 0:e.list)?e.list:Array.isArray(e==null?void 0:e.features)?e.features:e!=null&&e.wkt||e!=null&&e.geo||e!=null&&e.geom||e!=null&&e.geometryWkt||e!=null&&e.geometry_wkt||e!=null&&e.shape||e!=null&&e.location||e!=null&&e.geometry?[e]:[]:[]}normalizePastureGrasslandGeometry(e){var n;return typeof e=="string"?this.parseGeometryText(e):(e==null?void 0:e.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry):this.isGeoJsonGeometry(e)?e:typeof(e==null?void 0:e.geometry)=="string"?this.parseGeometryText(e.geometry):((n=e==null?void 0:e.geometry)==null?void 0:n.type)==="Feature"?this.normalizePastureGrasslandGeometry(e.geometry.geometry):this.isGeoJsonGeometry(e==null?void 0:e.geometry)?e.geometry:this.parseGeometryText((e==null?void 0:e.wkt)||(e==null?void 0:e.geo)||(e==null?void 0:e.geom)||(e==null?void 0:e.geometryWkt)||(e==null?void 0:e.geometry_wkt)||(e==null?void 0:e.shape)||(e==null?void 0:e.location))}normalizePastureGrasslandProperties(e){return!e||typeof e!="object"||Array.isArray(e)?{wkt:e}:e.type==="Feature"?e.properties||{}:e}parseGeometryText(e){const n=String(e||"").trim();if(!n)return null;if(n.startsWith("{")||n.startsWith("["))try{const a=JSON.parse(n);if((a==null?void 0:a.type)==="Feature")return this.normalizePastureGrasslandGeometry(a);if(this.isGeoJsonGeometry(a))return a}catch(a){return null}return this.parseWktGeometry(n)}isGeoJsonGeometry(e){return!!(e&&["Polygon","MultiPolygon","LineString","MultiLineString","Point"].includes(e.type)&&e.coordinates)}flyToLngLat(e,n={}){var p,g;const a=Array.isArray(e)?e:[e==null?void 0:e.lng,e==null?void 0:e.lat],i=Number(a==null?void 0:a[0]),r=Number(a==null?void 0:a[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return!1;const o=Number(n.span),s=Number.isFinite(o)?Math.max(.2,Math.min(.55,o*1.25)):.32,u=this.lngLatToWorldPoint([i,r],.72),m=this.defaultMapCameraPosition.clone().sub(this.defaultMapTarget).multiplyScalar(s),h=u.clone().add(m);return this.animateMapCamera(h,u,n.duration||.75),(g=(p=this.callbacks).onLayerStatus)==null||g.call(p,{type:"success",text:n.statusText||"已定位"}),!0}getProjectHighlightFeatures(e){const n=e.filter(i=>{var o;const r=String(((o=i==null?void 0:i.geometry)==null?void 0:o.type)||"");return r.includes("Polygon")||r.includes("LineString")}),a=n.filter(i=>{var r;return((r=i==null?void 0:i.properties)==null?void 0:r.feature_role)==="工程范围"});return a.length?a:n}getFeatureListLngLatBounds(e){return e.reduce((n,a)=>{const i=this.getGeometryLngLatBounds(a.geometry);return i?n?{minLng:Math.min(n.minLng,i.minLng),minLat:Math.min(n.minLat,i.minLat),maxLng:Math.max(n.maxLng,i.maxLng),maxLat:Math.max(n.maxLat,i.maxLat)}:B2({},i):n},null)}isPointOrLineNearLngLat(e,n){return e!=null&&e.coordinates?e.type==="Point"?this.getCoordinateDistance(e.coordinates,[n.lng,n.lat])<=.02:e.type==="LineString"?this.isCoordinateNearLine(e.coordinates,n,.004):e.type==="MultiLineString"?e.coordinates.some(a=>this.isCoordinateNearLine(a,n,.004)):!1:!1}isCoordinateNearLine(e,n,a){if(!Array.isArray(e)||e.length<2)return!1;const i=[n.lng,n.lat];for(let r=1;rr.some(o=>o.key===a||o.layerName===n));return(i==null?void 0:i[0])||""}getLayerQueryKey(e){return[(e==null?void 0:e.layerName)||"",(e==null?void 0:e.styles)||"",(e==null?void 0:e.cqlFilter)||"",(e==null?void 0:e.key)||""].join("|")}mergeBusinessProperties(e,n,a){const i=(a==null?void 0:a.key)||"";if(Object.entries(n||{}).forEach(([r,o])=>{o==null||o===""||(e[r]===void 0||e[r]===null||e[r]==="")&&(e[r]=o)}),i==="basic-grassland"){const r=(n==null?void 0:n.basic_type_name)||(n==null?void 0:n.grassland_category_name)||(n==null?void 0:n.land_class_name)||(n==null?void 0:n.land_use_name)||(n==null?void 0:n.base_grass);r!=null&&r!==""&&(e.basic_type_name=r)}if(i==="grassland-level"){const r=(n==null?void 0:n.grassland_level)||(n==null?void 0:n.level)||(n==null?void 0:n.grassland_level_name)||(n==null?void 0:n.level_name);r!=null&&r!==""&&(e.grassland_level=r)}if(i==="grassland-type"||i==="wetland-type"){const r=(n==null?void 0:n.grass_min_type)||(n==null?void 0:n.grass_type)||(n==null?void 0:n.grassland_type)||(n==null?void 0:n.type_name)||(n==null?void 0:n.type);r!=null&&r!==""&&(e.grass_min_type=r)}if(i==="grassland-yield"||i==="wetland-yield"){const r=(n==null?void 0:n.yield)||(n==null?void 0:n.xc_yield)||(n==null?void 0:n.xb_xc_yield)||(n==null?void 0:n.fresh_grass_yield)||(n==null?void 0:n.value),o=(n==null?void 0:n.mu_yield)||(n==null?void 0:n.xc_mu_yield)||(n==null?void 0:n.xb_xc_mu_yield)||(n==null?void 0:n.yield_per_mu);r!=null&&r!==""&&(e.fresh_grass_yield=r),o!=null&&o!==""&&(e.mu_yield=o)}if(i==="grassland-health"){const r=(n==null?void 0:n.health_level)||(n==null?void 0:n.health_level_name)||(n==null?void 0:n.ndvi_level)||(n==null?void 0:n.level)||(n==null?void 0:n.level_name),o=(n==null?void 0:n.ndvi)||(n==null?void 0:n.NDVI)||(n==null?void 0:n.value);r!=null&&r!==""&&(e.health_level=r),o!=null&&o!==""&&(e.ndvi=o);const s=(n==null?void 0:n.degradation_level)||(n==null?void 0:n.degradation_level_name)||(n==null?void 0:n.level)||(n==null?void 0:n.level_name);s!=null&&s!==""&&(e.degradation_level=s)}}getScreenPointFromEvent(e){var a;const n=((a=e==null?void 0:e.data)==null?void 0:a.originalEvent)||(e==null?void 0:e.originalEvent)||e;return(n==null?void 0:n.clientX)!==void 0&&(n==null?void 0:n.clientY)!==void 0?{x:n.clientX,y:n.clientY}:null}getLngLatFromEvent(e){var s,u,m;const a=(m=(((u=(s=this.interactionManager)==null?void 0:s.raycaster)==null?void 0:u.intersectObject(e.target,!1))||[])[0])==null?void 0:m.point;if(!a)return null;const i=this.focusMapGroup.worldToLocal(a.clone()),o=d6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]).invert([i.x,-i.y]);return o?{lng:o[0],lat:o[1]}:null}lngLatToWmsPixel({lng:e,lat:n}){const a=(e-j1.west)/(j1.east-j1.west)*l6.width,i=(j1.north-n)/(j1.north-j1.south)*l6.height;return{x:a,y:i}}showSelectedFeature(e,n={}){var i;const a=(e==null?void 0:e.geometry)||((i=e==null?void 0:e.feature)==null?void 0:i.geometry);this.clearSelectedFeature(),this.createSelectedFeatureGroup(),this.addSelectedGeometry(a,n),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}showSelectedFeatures(e=[],n={}){this.clearSelectedFeature(),this.createSelectedFeatureGroup(),e.forEach(a=>{var r;const i=(a==null?void 0:a.geometry)||((r=a==null?void 0:a.feature)==null?void 0:r.geometry);this.addSelectedGeometry(i,n)}),this.selectedFeatureGroup.children.length||this.clearSelectedFeature()}setSelectedVectorFeatures(e=[]){this.selectedVectorFeatures=[...e],this.redrawVectorTopicLayer()}getSelectedFeatureStyle(e={}){const n=e.mode==="pasture",a=e.mode==="town";return{fillColor:Wf,fillOpacity:n?.46:a?.24:.54,lineColor:YM,lineOpacity:.98,glowColor:Vf,glowOpacity:n?.92:.96,renderOrderBase:n?42:a?40:35,boundary:n||a,boundaryColor:Wf,boundaryGlowColor:Vf,boundaryWidth:a?.012:.018,boundaryGlowWidth:a?.045:.06,boundaryOpacity:.95,boundaryGlowOpacity:a?.34:.42}}addSelectedGeometry(e,n={}){if(!(e!=null&&e.coordinates)||!this.selectedFeatureGroup)return;const a=this.getSelectedFeatureStyle(n),i=this.getDisplayFeaturePolygons(e),r=new V0({color:a.fillColor,transparent:!0,opacity:a.fillOpacity,side:ze,depthWrite:!1,fog:!1}),o=new s5({color:a.lineColor,transparent:!0,opacity:a.lineOpacity,linewidth:2,depthTest:!1,depthWrite:!1,fog:!1}),s=new s5({color:a.glowColor,transparent:!0,opacity:a.glowOpacity,linewidth:3,depthTest:!1,depthWrite:!1,fog:!1}),u=a.boundary?new V0({color:a.boundaryColor,transparent:!0,opacity:a.boundaryOpacity,side:ze,depthTest:!1,depthWrite:!1,fog:!1}):null,m=a.boundary?new V0({color:a.boundaryGlowColor,transparent:!0,opacity:a.boundaryGlowOpacity,side:ze,depthTest:!1,depthWrite:!1,fog:!1,blending:qe}):null;i.length&&i.forEach(p=>{const g=this.createProjectedShape(p);if(!g)return;const C=new Hl(g),I=new ye(C,r);I.renderOrder=a.renderOrderBase,this.selectedFeatureGroup.add(I),p.forEach(U=>{const j=this.createProjectedRingPoints(U);if(j.length<3)return;a.boundary&&(this.addSelectedBoundaryBand(j,m,a.boundaryGlowWidth,a.renderOrderBase+1,!0),this.addSelectedBoundaryBand(j,u,a.boundaryWidth,a.renderOrderBase+4,!0));const l2=new zn().setFromPoints(j),v2=new Li(l2,o);v2.renderOrder=a.renderOrderBase+5,this.selectedFeatureGroup.add(v2);const S2=new zn().setFromPoints(j),T2=new Li(S2,s);T2.renderOrder=a.renderOrderBase+3,T2.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(T2)})});const h=this.normalizeFeatureLineStrings(e);h.length&&h.forEach(p=>{const g=this.createProjectedRingPoints(p);if(g.length<2)return;a.boundary&&(this.addSelectedBoundaryBand(g,m,a.boundaryGlowWidth,a.renderOrderBase+1,!1),this.addSelectedBoundaryBand(g,u,a.boundaryWidth,a.renderOrderBase+4,!1));const C=new zn().setFromPoints(g),I=new Js(C,s);I.renderOrder=a.renderOrderBase+3,I.scale.set(1.004,1.004,1),this.selectedFeatureGroup.add(I);const U=new zn().setFromPoints(g),j=new Js(U,o);j.renderOrder=a.renderOrderBase+5,this.selectedFeatureGroup.add(j)})}addSelectedBoundaryBand(e,n,a,i,r=!0){if(!n||!this.selectedFeatureGroup)return;const o=this.createPathBandGeometry(e,a,r);if(!o)return;const s=new ye(o,n);s.renderOrder=i,this.selectedFeatureGroup.add(s)}createPathBandGeometry(e,n,a=!0){const i=this.normalizePathBandPoints(e,a);if(i.length<(a?3:2))return null;const r=Math.max(Number(n)||0,0)/2;if(!r)return null;const o=[],s=a?i.length:i.length-1;for(let m=0;mNumber.isFinite(i==null?void 0:i.x)&&Number.isFinite(i==null?void 0:i.y)).map(i=>i.clone());if(n&&a.length>2){const i=a[0],r=a[a.length-1];i.distanceToSquared(r)<1e-10&&a.pop()}return a}clearSelectedFeature(){var n;const e=!!((n=this.selectedVectorFeatures)!=null&&n.length);this.selectedVectorFeatures=[],e&&this.redrawVectorTopicLayer(),this.clearSelectedGeometryGroup()}clearSelectedGeometryGroup(){var n,a;if(!this.selectedFeatureGroup)return;const e=new Set;for(;this.selectedFeatureGroup.children.length;){const i=this.selectedFeatureGroup.children.pop();(a=(n=i.geometry)==null?void 0:n.dispose)==null||a.call(n),Array.isArray(i.material)?i.material.forEach(r=>e.add(r)):e.add(i.material)}e.forEach(i=>{var r;return(r=i==null?void 0:i.dispose)==null?void 0:r.call(i)})}normalizeFeaturePolygons(e){return nh(e)}normalizeFeatureLineStrings(e){return e!=null&&e.coordinates?e.type==="LineString"?[e.coordinates]:e.type==="MultiLineString"?e.coordinates:[]:[]}getDisplayFeaturePolygons(e){const n=this.normalizeFeaturePolygons(e),a=this.getLayerClipBounds(this.currentTopicLayer);return a?n.map(i=>{const r=this.clipRingToBounds(i==null?void 0:i[0],a);if(r.length<3)return null;const o=i.slice(1).map(s=>this.clipRingToBounds(s,a)).filter(s=>s.length>=3);return[r,...o]}).filter(Boolean):n}clipRingToBounds(e=[],n){let a=e.map(r=>[Number(r==null?void 0:r[0]),Number(r==null?void 0:r[1])]).filter(([r,o])=>Number.isFinite(r)&&Number.isFinite(o));return[{inside:([r])=>r>=n.west,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lng",n.west)},{inside:([r])=>r<=n.east,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lng",n.east)},{inside:([,r])=>r>=n.south,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lat",n.south)},{inside:([,r])=>r<=n.north,intersect:(r,o)=>this.getLngLatLineIntersection(r,o,"lat",n.north)}].forEach(r=>{const o=a;a=[],o.length&&o.forEach((s,u)=>{const m=o[(u+o.length-1)%o.length],h=r.inside(s),p=r.inside(m);h?(p||a.push(r.intersect(m,s)),a.push(s)):p&&a.push(r.intersect(m,s))})}),a}getLngLatLineIntersection(e,n,a,i){const r=a==="lng"?0:1,o=a==="lng"?1:0,s=n[r]-e[r];if(!s)return[...e];const u=(i-e[r])/s,m=[...e];return m[r]=i,m[o]=e[o]+(n[o]-e[o])*u,m}createProjectedShape(e){const n=e==null?void 0:e[0];if(!Array.isArray(n)||n.length<3)return null;const a=new r7;return this.createProjectedRingPoints(n).forEach((r,o)=>{o===0?a.moveTo(r.x,r.y):a.lineTo(r.x,r.y)}),e.slice(1).forEach(r=>{const o=this.createProjectedRingPoints(r);if(o.length<3)return;const s=new r7;o.forEach((u,m)=>{m===0?s.moveTo(u.x,u.y):s.lineTo(u.x,u.y)}),a.holes.push(s)}),a}createProjectedRingPoints(e){if(!Array.isArray(e))return[];const n=[];return e.forEach(a=>{if(!Array.isArray(a)||a.length<2)return;const i=Number(a[0]),r=Number(a[1]);if(!Number.isFinite(i)||!Number.isFinite(r))return;const[o,s]=this.geoProjection([i,r]);n.push(new t0(o,-s,0))}),n}enhanceTexture(e){var a,i,r;const n=(i=(a=this.renderer)==null?void 0:a.instance)==null?void 0:i.capabilities;e.anisotropy=((r=n==null?void 0:n.getMaxAnisotropy)==null?void 0:r.call(n))||1,e.needsUpdate=!0}geoProjection(e){return d6().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0])(e)}updateTownLabelScale(){var s,u,m;const e=this.townNameLabels||this.otherLabel||[],n=(s=this.camera)==null?void 0:s.instance,a=(m=(u=this.camera)==null?void 0:u.controls)==null?void 0:m.target;if(!e.length||!n||!a)return;const i=n.position.distanceTo(a),r=x4(i*72e-5,.011,.026),o=i>45?"0.76":i<22?"0.94":"1";e.forEach(h=>{var g,C,I;if(((g=h==null?void 0:h.userData)==null?void 0:g.labelType)!=="town-label")return;h.scale.set(r,r,r);const p=(I=(C=h.element)==null?void 0:C.querySelector)==null?void 0:I.call(C,".other-label");p&&(p.style.opacity=o)})}update(e){super.update(e),this.updateDynamicSatelliteTiles(),this.updateTownLabelScale(),this.updateTradeFlowPulses(e),this.interactionManager&&this.interactionManager.update()}pauseScene(){var e,n;this.scenePaused=!0,(n=(e=this.time)==null?void 0:e.pause)==null||n.call(e),this.sceneTweens.forEach(a=>{var i;return(i=a==null?void 0:a.pause)==null?void 0:i.call(a)}),clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null}resumeScene(){var e,n;this.scenePaused=!1,(n=(e=this.time)==null?void 0:e.resume)==null||n.call(e),this.sceneTweens.forEach(a=>{var i;return(i=a==null?void 0:a.resume)==null?void 0:i.call(a)}),this.showTownRankingPointMarkers&&this.mapAnimationComplete&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}destroy(){var e,n,a,i;this.pauseScene(),this.sceneTimers.forEach(r=>clearTimeout(r)),this.sceneTimers=[],this.sceneTweens.forEach(r=>{var o;return(o=r==null?void 0:r.kill)==null?void 0:o.call(r)}),this.sceneTweens=[],this.callbacks={},(n=(e=this.canvas)==null?void 0:e.removeEventListener)==null||n.call(e,"pointerdown",this.handleCanvasBoundaryPointerDown,!0),(i=(a=this.canvas)==null?void 0:a.removeEventListener)==null||i.call(a,"dblclick",this.handleCanvasBoundaryDoubleClick,!0),this.clearTradeFlowLayer(),this.clearSelectedFeature(),super.destroy(),this.label3d&&this.label3d.destroy()}}const XM={class:"map"},hp={__name:"map",props:{activeLayer:{type:Object,default:null},mapRanking:{type:Object,default:null},tileUrlTemplate:{type:String,default:""},satelliteTextureZoom:{type:Number,default:0},satelliteMaxZoom:{type:Number,default:0},adminBoundaryLineScale:{type:Number,default:1},useSatelliteBase:{type:Boolean,default:!0},showNationalBackdrop:{type:Boolean,default:!1},topicLayerPresentation:{type:String,default:"default"}},emits:["feature-loading","feature-info","layer-status","tile-status","draw-boundary","scene-mounted"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Q2(null),o=Em(null);let s=null,u=null,m=null,h=null,p=null,g="",C="",I=!1;mn(()=>{i("scene-mounted")}),hn(()=>{b1()});function U(l3){return o.value?!0:r.value?(o.value=new QM(r.value,l3,{onFeatureLoading:$2=>i("feature-loading",$2),onFeatureInfo:$2=>i("feature-info",$2),onLayerStatus:$2=>i("layer-status",$2),onTileStatus:$2=>i("tile-status",$2),onDrawBoundary:$2=>i("draw-boundary",$2),tileUrlTemplate:a.tileUrlTemplate,satelliteTextureZoom:a.satelliteTextureZoom,satelliteMaxZoom:a.satelliteMaxZoom,adminBoundaryLineScale:a.adminBoundaryLineScale,useSatelliteBase:a.useSatelliteBase,showNationalBackdrop:a.showNationalBackdrop,topicLayerPresentation:a.topicLayerPresentation}),o.value.time.pause(),g=C1(a.activeLayer),C=o1(a.mapRanking),o.value.setTopicLayers(_1(a.activeLayer),a.activeLayer),o.value.setTownRanking(a.mapRanking),Y1(),D1(),!0):!1}function j(){return!!o.value}function l2(){return P3(this,null,function*(){var l3,$2,j3,c1,M1,$1;if(o.value&&(v2(),!o.value.mapAnimationComplete)){if(I){($2=(l3=o.value.animateTl)==null?void 0:l3.play)==null||$2.call(l3),W3();return}I=!0,(c1=(j3=o.value.animateTl)==null?void 0:j3.timeScale)==null||c1.call(j3,1),($1=(M1=o.value.animateTl)==null?void 0:M1.play)==null||$1.call(M1),W3()}})}function v2(){var l3,$2;o.value&&(Y1(),D1(),window.requestAnimationFrame(()=>{var j3,c1,M1,$1,W1,P;(M1=(c1=(j3=o.value)==null?void 0:j3.label3d)==null?void 0:c1.resize)==null||M1.call(c1),(P=(W1=($1=o.value)==null?void 0:$1.label3d)==null?void 0:W1.update)==null||P.call(W1)}),($2=(l3=o.value).resumeScene)==null||$2.call(l3),o.value.resumeScene||o.value.time.resume())}function S2(){var l3,$2,j3,c1,M1,$1;o.value&&(R1(),($2=(l3=o.value.animateTl)==null?void 0:l3.pause)==null||$2.call(l3),(c1=(j3=o.value).pauseScene)==null||c1.call(j3),o.value.pauseScene||($1=(M1=o.value.time)==null?void 0:M1.pause)==null||$1.call(M1),x3())}function T2(){var l3,$2;($2=(l3=o.value)==null?void 0:l3.clearSelectedFeature)==null||$2.call(l3)}function C2(l3){var $2,j3;(j3=($2=o.value)==null?void 0:$2.focusProject)==null||j3.call($2,l3)}function j2(l3){var $2,j3;(j3=($2=o.value)==null?void 0:$2.focusPasture)==null||j3.call($2,l3)}function K2(l3,$2){var j3,c1;return(c1=(j3=o.value)==null?void 0:j3.focusTownByName)==null?void 0:c1.call(j3,l3,$2)}function V2(l3){var $2,j3;return(j3=($2=o.value)==null?void 0:$2.focusYakIndustryPoint)==null?void 0:j3.call($2,l3)}function s3(l3){var $2,j3;return(j3=($2=o.value)==null?void 0:$2.focusVectorFeature)==null?void 0:j3.call($2,l3)}function m3(l3){var $2,j3;return(j3=($2=o.value)==null?void 0:$2.getVectorFeatureScreen)==null?void 0:j3.call($2,l3)}function p3(l3){var $2,j3;return(j3=($2=o.value)==null?void 0:$2.getYakIndustryPointScreen)==null?void 0:j3.call($2,l3)}function U3(l3){var $2,j3;(j3=($2=o.value)==null?void 0:$2.setBoundaryDrawing)==null||j3.call($2,l3)}function b3(){var l3,$2;return($2=(l3=o.value)==null?void 0:l3.finishBoundaryDrawing)==null?void 0:$2.call(l3)}function Y3(){var l3,$2;($2=(l3=o.value)==null?void 0:l3.undoBoundaryPoint)==null||$2.call(l3)}function o3(){var l3,$2;($2=(l3=o.value)==null?void 0:l3.clearAnalysisBoundary)==null||$2.call(l3)}function n1(l3){var $2,j3;(j3=($2=o.value)==null?void 0:$2.showAnalysisResult)==null||j3.call($2,l3)}function b1(){var l3,$2;R1(),x3(),($2=(l3=o.value)==null?void 0:l3.destroy)==null||$2.call(l3),o.value=null}function W3(){R1(),p=window.setTimeout(()=>{var l3,$2;p=null,($2=(l3=o.value)==null?void 0:l3.ensureMapRevealed)==null||$2.call(l3)},5200)}function R1(){p&&(window.clearTimeout(p),p=null)}function D1(){u&&window.cancelAnimationFrame(u),u=window.requestAnimationFrame(()=>{var l3,$2,j3,c1,M1;u=null,(j3=($2=(l3=o.value)==null?void 0:l3.sizes)==null?void 0:$2.init)==null||j3.call($2),(M1=(c1=o.value)==null?void 0:c1.resize)==null||M1.call(c1)}),m&&window.clearTimeout(m),m=window.setTimeout(()=>{var l3,$2,j3,c1,M1;m=null,(j3=($2=(l3=o.value)==null?void 0:l3.sizes)==null?void 0:$2.init)==null||j3.call($2),(M1=(c1=o.value)==null?void 0:c1.resize)==null||M1.call(c1)},180)}function Y1(){var $2;x3();const l3=($2=r.value)==null?void 0:$2.parentNode;l3&&window.ResizeObserver&&(s=new ResizeObserver(()=>D1()),s.observe(l3)),h=window.setInterval(h3,1e3),O0(D1)}function h3(){var W1;if(!o.value||!r.value)return;const l3=r.value.parentNode,$2=(l3==null?void 0:l3.offsetWidth)||window.innerWidth||1,j3=(l3==null?void 0:l3.offsetHeight)||window.innerHeight||1,c1=((W1=o.value.sizes)==null?void 0:W1.pixelRatio)||1,M1=Math.floor($2*c1),$1=Math.floor(j3*c1);(r.value.width!==M1||r.value.height!==$1)&&D1()}function x3(){s&&(s.disconnect(),s=null),u&&(window.cancelAnimationFrame(u),u=null),m&&(window.clearTimeout(m),m=null),h&&(window.clearInterval(h),h=null)}function L3(){if(!o.value)return;Y1();const l3=()=>{var $2,j3,c1,M1,$1,W1,P,E3,g3,A1,q3,O3,g1,H1,G2,H2,e3,T3,y1,B1,G1;o.value&&((j3=($2=o.value)==null?void 0:$2.resumeScene)==null||j3.call($2),o.value.resumeScene||(M1=(c1=o.value.time)==null?void 0:c1.resume)==null||M1.call(c1),(P=(W1=($1=o.value)==null?void 0:$1.sizes)==null?void 0:W1.init)==null||P.call(W1),(g3=(E3=o.value)==null?void 0:E3.resize)==null||g3.call(E3),(O3=(q3=(A1=o.value)==null?void 0:A1.label3d)==null?void 0:q3.resize)==null||O3.call(q3),(G2=(H1=(g1=o.value)==null?void 0:g1.label3d)==null?void 0:H1.update)==null||G2.call(H1),(e3=(H2=o.value)==null?void 0:H2.setTopicLayers)==null||e3.call(H2,_1(a.activeLayer),a.activeLayer),(y1=(T3=o.value)==null?void 0:T3.setTownRanking)==null||y1.call(T3,a.mapRanking),(G1=(B1=o.value)==null?void 0:B1.ensureMapRevealed)==null||G1.call(B1))};D1(),window.requestAnimationFrame(l3),window.setTimeout(()=>{l3()},80),window.setTimeout(()=>{l3()},220)}function h1(){if(!o.value)return;Y1();const l3=()=>{var j3,c1,M1,$1,W1,P,E3,g3,A1,q3,O3,g1,H1,G2,H2,e3;const $2=o.value;$2&&((j3=$2.resumeScene)==null||j3.call($2),$2.resumeScene||(M1=(c1=$2.time)==null?void 0:c1.resume)==null||M1.call(c1),(W1=($1=$2.sizes)==null?void 0:$1.init)==null||W1.call($1),(P=$2.resize)==null||P.call($2),(E3=$2.ensureMapRevealed)==null||E3.call($2),(g3=$2.setTradeNationalMapVisible)==null||g3.call($2,!1),(A1=$2.setTopicLayers)==null||A1.call($2,_1(a.activeLayer),a.activeLayer),(q3=$2.setTownRanking)==null||q3.call($2,a.mapRanking),(O3=$2.applyLayerMapView)==null||O3.call($2,$2.currentTopicLayer||a.activeLayer||null,{force:!0}),(H1=(g1=$2.label3d)==null?void 0:g1.resize)==null||H1.call(g1),(H2=(G2=$2.label3d)==null?void 0:G2.update)==null||H2.call(G2),(e3=$2.updateDynamicSatelliteTiles)==null||e3.call($2,!0))};D1(),window.requestAnimationFrame(l3),window.setTimeout(l3,100),window.setTimeout(l3,260)}N0(()=>a.activeLayer,l3=>{const $2=C1(l3);$2!==g&&(g=$2,o.value&&o.value.setTopicLayers(_1(l3),l3))},{deep:!0}),N0(()=>a.mapRanking,l3=>{const $2=o1(l3);$2!==C&&(C=$2,o.value&&o.value.setTownRanking(l3))},{deep:!0}),e({loadMap:U,hasMap:j,play:l2,resume:v2,pause:S2,clearSelectedFeature:T2,focusProject:C2,focusPasture:j2,focusTown:K2,focusYakIndustryPoint:V2,focusVectorFeature:s3,getVectorFeatureScreen:m3,getYakIndustryPointScreen:p3,setBoundaryDrawing:U3,finishBoundaryDrawing:b3,undoBoundaryPoint:Y3,clearAnalysisBoundary:o3,showAnalysisResult:n1,refreshView:L3,resetView:h1,destroyMap:b1,canvasMap:o});function C1(l3){return l3?_1(l3).map($2=>{var j3,c1;return[$2.key||"",$2.layerName||"",$2.styles||"",$2.sldBody||"",$2.cqlFilter||"",((j3=$2.activeLegend)==null?void 0:j3.key)||"",$2.timelineDate||"",((c1=$2.timelineItem)==null?void 0:c1.key)||"",$2.sourceType||"",$2.dataPath||"",$2.fallbackPath||""].join("|")}).join("||"):""}function _1(l3){if(!l3)return[];const $2=Array.isArray(l3.overlayLayers)?l3.overlayLayers.filter(Boolean):[];return[l3,...$2]}function o1(l3){var $2,j3,c1,M1,$1,W1,P,E3,g3;return l3?[l3.status||"",l3.topicKey||"",l3.layerKey||"",l3.title||"",l3.metricLabel||"",l3.scope||"",l3.displayMode||"",($2=l3.showPointMarkers)!=null?$2:"",(j3=l3.showBars)!=null?j3:"",(c1=l3.showTownNames)!=null?c1:"",(M1=l3.showMapLabels)!=null?M1:"",($1=l3.showFlowLines)!=null?$1:"",(W1=l3.onlyRankedTownLabels)!=null?W1:"",(P=l3.showMissingTownStats)!=null?P:"",((E3=l3.rows)==null?void 0:E3.length)||0,((g3=l3.rows)==null?void 0:g3.map(A1=>{var q3;return`${A1.key||A1.name||""}:${(q3=A1.value)!=null?q3:""}`}).join(","))||""].join("|"):""}return(l3,$2)=>(G(),z("div",XM,[w("canvas",{ref_key:"canvasRef",ref:r},null,512)]))}};const ZM={key:0,class:"business-stat-empty"},eP=["data-chart-tooltip"],tP={class:"business-stat-rank"},nP={class:"business-stat-main"},aP={class:"business-stat-name"},iP={class:"business-stat-bar"},rP={class:"business-stat-value"},oP={key:0},ah={__name:"BusinessStatList",props:{rows:{type:Array,default:()=>[]},compact:{type:Boolean,default:!1}},setup(t){const e=t,n=s2(()=>{const r=e.rows.map(o=>Number(o.value)).filter(o=>!Number.isNaN(o));return Math.max(...r,1)});function a(r){const o=Number(r.value);return Number.isNaN(o)?36:Math.max(8,Math.round(o/n.value*100))}function i(r){const o=(r==null?void 0:r.value)===void 0||(r==null?void 0:r.value)===null||(r==null?void 0:r.value)===""?"--":r.value,s=(r==null?void 0:r.unit)||"",u=[`数值:${o}${s}`];return r!=null&&r.extra&&u.push(String(r.extra)),[(r==null?void 0:r.name)||"数据",...u].join(` -`)}return(r,o)=>(G(),z("div",{class:r1(["business-stat-list",{"is-compact":t.compact,"is-dense":t.rows.length>10}])},[t.rows.length?k3("",!0):(G(),z("div",ZM,"暂无业务统计数据")),(G(!0),z(B3,null,H3(t.rows,(s,u)=>(G(),z("div",{key:s.key||s.name,class:"business-stat-row","data-chart-tooltip":i(s)},[w("div",tP,i2(u+1),1),w("div",nP,[w("div",aP,i2(s.name),1),w("div",iP,[w("span",{style:z1({width:`${a(s)}%`})},null,4)])]),w("div",rP,[w("strong",null,i2(s.value),1),w("em",null,i2(s.unit),1),s.extra?(G(),z("span",oP,i2(s.extra),1)):k3("",!0)])],8,eP))),128))],2))}};const sP={key:0,class:"business-panel-empty"},lP={key:2,class:"business-metrics"},uP=["data-chart-tooltip"],cP={key:3,class:"business-icon-metrics"},dP=["data-chart-tooltip"],fP={class:"business-icon-metric-copy"},hP={key:0},mP={key:4,class:"business-spotlight"},pP=["data-chart-tooltip"],gP={class:"business-spotlight-side"},yP=["data-chart-tooltip"],vP={key:0},SP={key:1,class:"business-panel-empty"},wP={key:0,class:"business-ring-visual"},bP={class:"business-ring-chart",viewBox:"0 0 160 160",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},TP=["stroke","stroke-dasharray","stroke-dashoffset","data-chart-tooltip"],CP={class:"business-ring-inner"},AP={key:1,class:"business-donut-visual"},_P={class:"business-three-pie-center"},xP={class:"business-donut-legend"},MP=["data-chart-tooltip"],PP={key:1,class:"business-panel-empty"},kP={class:"business-rose-visual"},EP={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},NP={class:"business-rose-guides"},RP=["x1","y1","x2","y2","stroke"],LP={class:"business-rose-segments"},IP=["d","fill","stroke","data-chart-tooltip"],FP={class:"business-rose-labels"},BP=["x","y","text-anchor"],DP={class:"business-donut-legend business-rose-legend"},GP=["data-chart-tooltip"],UP={key:1,class:"business-panel-empty"},OP={key:7,class:"business-structure"},jP={class:"business-structure-overview"},zP={class:"business-structure-band"},YP=["title","data-chart-tooltip"],$P={class:"business-structure-list"},WP=["data-chart-tooltip"],VP={key:1,class:"business-panel-empty"},HP={key:8,class:"business-capacity"},KP=["data-chart-tooltip"],qP={class:"business-capacity-band"},JP=["title","data-chart-tooltip"],QP={class:"business-capacity-list"},XP=["data-chart-tooltip"],ZP=["data-chart-tooltip"],ek={key:1,class:"business-panel-empty"},tk=["data-chart-tooltip"],nk={key:0,class:"business-bar-rank"},ak={class:"business-bar-name"},ik={class:"business-bar-track"},rk={key:0},ok={key:1},sk={key:0,class:"business-column-trend",viewBox:"0 0 320 90",preserveAspectRatio:"none","aria-hidden":"true"},lk=["points"],uk=["points"],ck=["cx","cy"],dk={key:1,class:"business-column-unit"},fk=["data-hover-value","title","data-chart-tooltip"],hk={class:"business-column-value"},mk={key:0},pk={key:0,class:"business-project-search"},gk=["placeholder"],yk={class:"business-project-frame"},vk=["tabindex","onClick","onKeydown"],Sk=["title"],wk={key:0},bk={key:0},Tk=["onClick","onKeydown"],Ck={key:2},Ak=["aria-label"],_k={key:4},xk={key:0,class:"business-project-empty"},Mk={key:12,class:"business-project-ledger"},Pk={class:"business-project-search"},kk=["placeholder"],Ek={class:"business-project-ledger__summary"},Nk={class:"business-project-ledger__summary-main"},Rk={key:0,class:"business-project-ledger__pager"},Lk=["disabled"],Ik=["disabled"],Fk=["tabindex","onClick","onKeydown"],Bk={class:"business-project-ledger__info"},Dk=["title"],Gk=["title"],Uk=["onClick","onKeydown"],Ok={key:1,class:"business-project-ledger__unlocated"},jk={key:0,class:"business-project-empty"},zk={key:13,class:"business-spec-grid"},Yk={class:"business-spec-grid__index"},$k=["title"],Wk={class:"business-spec-grid__count"},Vk={key:0},Hk={class:"business-spec-grid__specs"},Kk=["title"],qk={key:0},Jk={key:0,class:"business-support-matrix__note"},Qk={class:"business-support-matrix__head"},Xk={key:0},Zk={class:"business-support-matrix__body"},eE=["title"],tE=["title"],nE={class:"business-table-head"},aE={class:"business-table-body"},iE=["data-chart-tooltip"],rE={class:"business-table-name"},oE={class:"business-table-value"},sE={key:0},lE={class:"business-stack-legend"},uE={key:0,class:"business-stack-unit"},cE={class:"business-stack-chart"},dE=["data-hover-value","title","data-chart-tooltip"],fE={key:0,class:"business-stack-total"},hE={key:0},mE={class:"business-stack-track"},pE=["data-chart-tooltip"],gE={key:0,class:"business-column-unit business-peak-unit"},yE=["data-hover-value","title","data-chart-tooltip"],vE={key:0},SE={key:18,class:"business-line"},wE={viewBox:"0 0 320 86",preserveAspectRatio:"none","aria-hidden":"true"},bE=["points"],TE=["points"],CE=["cx","cy"],AE=["cx","cy","onMouseenter"],_E=["onMouseenter"],xE={key:0},ME=["data-chart-tooltip"],PE={class:"business-balance-gauge-head"},kE={class:"business-balance-gauge-ring"},EE={class:"business-balance-gauge-value"},NE={key:0},RE={class:"business-balance-gauge-name"},LE={key:0,class:"business-balance-gauge-extra"},IE=["data-chart-tooltip"],FE={class:"business-gauge-visual"},BE={viewBox:"0 0 152 96",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},DE=["stroke-dasharray"],GE={class:"business-gauge-value"},UE={key:0},OE={class:"business-gauge-name"},jE={key:0,class:"business-gauge-extra"},zE=["data-chart-tooltip"],YE={key:0},$E={class:"business-split-band"},WE=["data-chart-tooltip"],VE={class:"business-split-list"},HE=["data-chart-tooltip"],ih=3e3,$t={__name:"BusinessPanelRenderer",props:{panel:{type:Object,default:()=>({rows:[]})},compact:{type:Boolean,default:!1},columnLabelStandard:{type:Boolean,default:!1}},emits:["row-select"],setup(t,{emit:e}){const n=t,a=e,i=[D6.accentCyan,D6.accentMint,D6.accentWater,D6.accentOrange,"#16b6e8","#a8fbff"],r=s2(()=>{var S;return((S=n.panel)==null?void 0:S.type)||"rank"}),o=s2(()=>{var S;return(((S=n.panel)==null?void 0:S.rows)||[]).filter(E=>E==null?void 0:E.name)}),s=s2(()=>o.value.map(S=>Z2(B2({},S),{value:y3(S)})).filter(S=>S.value>0)),u=s2(()=>o.value.map(S=>y3(S)).filter(S=>S>0)),m=s2(()=>Math.max(...u.value,1)),h=s2(()=>u.value.reduce((S,E)=>S+E,0)),p=s2(()=>o.value.filter(S=>y3(S)>0)),g=s2(()=>{var S;return["raceBar","raceBarNoWrap","raceBarRelaxed","degradation"].includes((S=n.panel)==null?void 0:S.variant)}),C=s2(()=>r.value==="line"?o.value.filter(S=>(S==null?void 0:S.value)!==void 0&&(S==null?void 0:S.value)!==null&&(S==null?void 0:S.value)!==""):o.value.filter(S=>y3(S)>0)),I=s2(()=>C.value),U=s2(()=>r.value!=="column"?"":I3()),j=s2(()=>r.value!=="peak"?"":I3()),l2=s2(()=>o.value.filter(S=>y3(S)>0)),v2=s2(()=>{var S;return C.value.slice(0,((S=n.panel)==null?void 0:S.limit)||8)}),S2=s2(()=>{var S;return o.value.filter(E=>(E==null?void 0:E.value)!==void 0&&(E==null?void 0:E.value)!==null&&(E==null?void 0:E.value)!=="").slice(0,((S=n.panel)==null?void 0:S.limit)||6)}),T2=s2(()=>{var S;return o.value.filter(E=>(E==null?void 0:E.value)!==void 0&&(E==null?void 0:E.value)!==null&&(E==null?void 0:E.value)!=="").slice(0,((S=n.panel)==null?void 0:S.limit)||3)}),C2=s2(()=>{var S;return((S=n.panel)==null?void 0:S.segments)||[]}),j2=s2(()=>o.value.filter(S=>{var E;return D2(S)>0||((E=n.panel)==null?void 0:E.showZero)===!0})),K2=s2(()=>Math.max(...j2.value.map(S=>D2(S)),1)),V2=Q2(""),s3=Q2(null),m3=[{key:"name",label:"项目名称",field:"name",width:"45%",className:"business-project-col-name"},{key:"year",label:"年份",field:"year",width:"13%",fallback:"未知",align:"right",className:"business-project-col-year"},{key:"category",label:"类型",field:"category",width:"20%",className:"business-project-col-category"},{key:"scale",label:"规模",field:"value",width:"22%",align:"right",strong:!0,unitField:"unit",className:"business-project-col-scale"}],p3=s2(()=>{var E;return(Array.isArray((E=n.panel)==null?void 0:E.columns)&&n.panel.columns.length?n.panel.columns:m3).map((c2,L2)=>({key:c2.key||c2.field||`column-${L2}`,label:c2.label||c2.title||c2.name||"",field:c2.field||c2.dataIndex||c2.key,fields:c2.fields||[],width:c2.width,align:c2.align,strong:!!c2.strong,unit:c2.unit,unitField:c2.unitField,fallback:c2.fallback,format:c2.format,icon:c2.icon,action:c2.action,className:c2.className}))}),U3=s2(()=>{var S;return((S=n.panel)==null?void 0:S.rowSelectOnClick)!==!1}),b3=s2(()=>{var S;return((S=n.panel)==null?void 0:S.searchPlaceholder)||"搜索项目"}),Y3=s2(()=>{var S;return((S=n.panel)==null?void 0:S.emptyText)||"无匹配项目"}),o3=s2(()=>{var E;const S=Array.isArray((E=n.panel)==null?void 0:E.searchKeys)?n.panel.searchKeys:[];return S.length?S:[...p3.value.flatMap(c2=>[c2.field,...c2.fields||[]]),"projectName","category","year","measure","townships","metric"].filter(Boolean)}),n1=s2(()=>{const S=O(V2.value);return S?o.value.filter(E=>O(N(E)).includes(S)):d(o.value)}),b1=Q2(1),W3=s2(()=>{var S;return Math.max(1,Number((S=n.panel)==null?void 0:S.pageSize)||15)}),R1=s2(()=>n1.value),D1=s2(()=>Math.max(1,Math.ceil(R1.value.length/W3.value))),Y1=s2(()=>{const S=Math.min(b1.value,D1.value),E=Math.max(0,S-1)*W3.value;return R1.value.slice(E,E+W3.value)}),h3=s2(()=>Math.max(1,Y1.value.length)),x3=s2(()=>{var S;return((S=n.panel)==null?void 0:S.summaryValue)||L1(o.value.length)}),L3=s2(()=>{var S;return((S=n.panel)==null?void 0:S.summaryLabel)||"条建设台账"}),h1=s2(()=>o.value.filter(S=>S==null?void 0:S.canLocate).length),C1=s2(()=>o.value.filter(S=>S==null?void 0:S.name)),_1=s2(()=>o.value.filter(S=>S==null?void 0:S.name)),o1=s2(()=>{var S;return!!((S=n.panel)!=null&&S.showTotal)}),l3=s2(()=>o.value.find(S=>["forage-total","wetland-yield-total"].includes(S.key))||o.value[0]),$2=s2(()=>o.value.filter(S=>["forage-edible","forage-unavailable","wetland-yield-edible","wetland-yield-unavailable"].includes(S.key))),j3=s2(()=>o.value.find(S=>["forage-top-town","wetland-yield-top-town"].includes(S.key))),c1=Q2(0),M1=Q2(null),$1=Q2(null),W1=Q2(!0),P=Q2({visible:!1,x:0,y:0,title:"",lines:[]});let E3=null,g3=null;const A1=s2(()=>{var S,E;return`${((S=n.panel)==null?void 0:S.key)||((E=n.panel)==null?void 0:E.title)||"pie"}-${s.value.map(c2=>`${c2.name}:${c2.value}`).join("|")}`}),q3=s2(()=>{const L2=typeof window=="undefined"?1920:window.innerWidth,U2=typeof window=="undefined"?1080:window.innerHeight,J2=Math.min(L2-190-8,P.value.x+14),M3=Math.min(U2-82-8,P.value.y+14);return{left:`${Math.max(8,J2)}px`,top:`${Math.max(8,M3)}px`}}),O3=s2(()=>{const S=g1.value;return S?c1.value%S:0}),g1=s2(()=>{var S;return r.value==="structure"?l2.value.length:r.value==="donut"||r.value==="rose"?s.value.length:r.value==="bar"&&((S=n.panel)==null?void 0:S.variant)==="capacity"?$2.value.length:r.value==="bar"||r.value==="column"?C.value.length:r.value==="table"?I.value.length:r.value==="line"?C.value.length:r.value==="balanceGaugeGrid"?T2.value.length:r.value==="gauge"?S2.value.length:r.value==="stackColumn"?j2.value.length:r.value==="split"?p.value.length:0}),H1=s2(()=>s.value[O3.value]||s.value[0]);s2(()=>l2.value[O3.value]||l2.value[0]);const G2=s2(()=>o.value[0]),H2=s2(()=>o.value.slice(0,4).map((S,E)=>Z2(B2({},S),{icon:r3(S,E)}))),e3=s2(()=>l2.value.map((S,E)=>Z2(B2({},S),{displayIndex:E}))),T3=s2(()=>{var S;return r.value!=="donut"?"standard":((S=n.panel)==null?void 0:S.variant)==="ring"?"ring":"three"}),y1=s2(()=>{const S=s.value,E=S.length;if(!E)return[];const c2=52,L2=2*Math.PI*c2,U2=S.reduce((u1,V)=>u1+y3(V),0)||1,J2=E>1?Math.min(12,Math.max(7,L2*.028)):0;let M3=0;return S.map((u1,V)=>{const E2=y3(u1)/U2*L2,I2=E>1?Math.max(5,E2-J2):L2,u2=M3+(E>1?J2/2:0);return M3+=E2,{key:u1.key||u1.name||V,index:V,item:u1,color:p2(V),dasharray:`${I2.toFixed(2)} ${L2.toFixed(2)}`,dashoffset:`${(-u2).toFixed(2)}`}})}),B1=s2(()=>{const S=s.value,E=S.length;if(!E)return[];const c2=Math.max(...S.map(J2=>y3(J2)),1),L2=360/E,U2=Math.min(8,L2*.16);return S.map((J2,M3)=>{const u1=y3(J2),V=M3===O3.value,w2=36+Math.sqrt(u1/c2)*31+(V?5:0),E2=17,I2=-90+M3*L2+U2/2,u2=-90+(M3+1)*L2-U2/2,t3=(I2+u2)/2,z2=F(75,75,w2+3,t3),c3=F(75,75,w2+15,t3),C3=F(75,75,w2+20,t3);return{key:J2.key||J2.name||M3,index:M3,item:J2,color:p2(M3),path:r2(75,75,E2,w2,I2,u2),lineStart:z2,lineEnd:c3,label:C3,anchor:Math.cos(t3*Math.PI/180)>=0?"start":"end"}})});mn(()=>{R2(),K()}),hn(()=>{q2(),m2()}),N0(()=>{var S;return[(S=n.panel)==null?void 0:S.key,o.value.length]},()=>{c1.value=0,M1.value=null,V2.value="",b1.value=1,s3.value=null,dt(),K()}),N0(V2,()=>{b1.value=1}),N0(W1,()=>{K()});const G1=s2(()=>{const S=C.value,E=320,c2=66,L2=10,U2=S.length>1?E/(S.length-1):E,J2=S.map(w2=>y3(w2)).filter(w2=>Number.isFinite(w2)&&w2>=0),M3=J2.length?Math.min(...J2):0,u1=J2.length?Math.max(...J2):1,V=Math.max(u1-M3,u1*.08,1);return S.map((w2,E2)=>{const I2=y3(w2);return{x:Math.round(E2*U2),y:Math.round(L2+c2-(I2-M3)/V*c2),item:w2}})}),D3=s2(()=>G1.value.map(S=>`${S.x},${S.y}`).join(" ")),e1=s2(()=>G1.value.length?`0,86 ${D3.value} 320,86`:""),s1=s2(()=>{var S,E;return r.value==="column"&&(((S=n.panel)==null?void 0:S.lineOverlay)===!0||((E=n.panel)==null?void 0:E.variant)==="trendColumn")&&C.value.length>1}),S1=s2(()=>{if(!s1.value)return[];const S=C.value,E=S.map(w2=>y3(w2)).filter(w2=>Number.isFinite(w2)&&w2>=0),c2=Math.max(...E,1),L2=Math.min(...E,0),U2=Math.max(c2-L2,c2*.08,1),J2=320,M3=9,u1=67,V=S.length>1?J2/(S.length-1):0;return S.map((w2,E2)=>{const I2=y3(w2);return{key:w2.key||w2.name||E2,x:Number((E2*V).toFixed(2)),y:Number((M3+u1-(I2-L2)/U2*u1).toFixed(2))}})}),F1=s2(()=>S1.value.map(S=>`${S.x},${S.y}`).join(" ")),s0=s2(()=>S1.value.length?`0,82 ${F1.value} 320,82`:""),G0=s2(()=>C.value),u3=s2(()=>({gridTemplateColumns:`repeat(${Math.max(G0.value.length,1)}, minmax(0, 1fr))`})),z3=s2(()=>Number.isInteger(M1.value)?G1.value[M1.value]:null),V3=s2(()=>G1.value.length?Number.isInteger(M1.value)?M1.value:O3.value:0),x1=s2(()=>z3.value?z3.value:G1.value[V3.value]||G1.value[0]),S3=s2(()=>{const S=x1.value;if(!S)return{};const E=S.x/320*100;return{left:`${Math.min(84,Math.max(16,E))}%`,top:"6px",transform:"translateX(-50%)"}});function y3(S){const E=Number(S==null?void 0:S.value);if(!Number.isNaN(E)&&E>0)return E;const c2=Number(S==null?void 0:S.percent);return Number.isNaN(c2)?0:c2}function D2(S){const E=(S==null?void 0:S.segments)||(S==null?void 0:S.values)||{};return C2.value.reduce((c2,L2)=>c2+(Number(E[L2.key])||0),0)}function G3(S){const E=D2(S),c2=(S==null?void 0:S.segments)||(S==null?void 0:S.values)||{};return E?C2.value.map((L2,U2)=>{var u1,V,w2;const J2=Number(c2[L2.key])||0,M3=((u1=n.panel)==null?void 0:u1.variant)==="dual"||((V=n.panel)==null?void 0:V.variant)==="parkSlim"||((w2=n.panel)==null?void 0:w2.sharedScale)===!0?K2.value:E;return Z2(B2({},L2),{value:J2,percent:Math.max(J2>0?3:0,J2/Math.max(M3,1)*100),color:i3(L2,U2)})}):[]}function i3(S,E){var c2;return(c2=n.panel)!=null&&c2.preserveColors&&(S!=null&&S.color||S!=null&&S.fillColor)?S.color||S.fillColor:p2(E)}function L1(S){const E=Number(S);return Number.isNaN(E)?"--":Number.isInteger(E)?`${E}`:`${Number(E.toFixed(2))}`}function _2(S){return(S==null?void 0:S.displayValue)!==void 0&&(S==null?void 0:S.displayValue)!==null&&(S==null?void 0:S.displayValue)!==""?S.displayValue:(S==null?void 0:S.value)===void 0||(S==null?void 0:S.value)===null||(S==null?void 0:S.value)===""?"--":L1(S.value)}function n3(S){var L2;const E=(S==null?void 0:S.displayUnit)||(S==null?void 0:S.unit)||"";if(!E)return"";const c2=String((L2=_2(S))!=null?L2:"");return c2&&c2.endsWith(String(E))?"":E}function I3(){const S=[...new Set(C.value.map(E=>(E==null?void 0:E.displayUnit)||(E==null?void 0:E.unit)).filter(Boolean))];return S.length===1?S[0]:""}function F3(S){const E=n3(S);return E?U.value===E?"":E:""}function Z3(S){const E=n3(S);return E?j.value===E?"":E:""}function t1(S){return String(S||"").trim().replace(/\s+/g,"").replace(/[乡镇]$/u,"")}function d0(S){return Array.from(t1(S)).slice(0,3).join("")}function K1(S){var E;return((E=n.panel)==null?void 0:E.labelMode)==="horizontal"?t1(S):n.columnLabelStandard?d0(S):t1(S)}function c0(S){const E=t1(S==null?void 0:S.name)||"数据",c2=n3(S);return`${E}:${_2(S)}${c2}`}function oe(S,E=[]){return[t1(S)||"数据",...E.filter(c2=>c2!=null&&String(c2).trim()!=="").map(c2=>String(c2))].join(` -`)}function A0(S,E=[]){if(!S)return"";const c2=n3(S),L2=_2(S),U2=[];return L2!=="--"&&U2.push(`数值:${L2}${c2}`),S.extra&&U2.push(String(S.extra)),oe(S.name,[...U2,...E])}function Q0(S){return A0(S,[`占比:${L(S)}`])}function Ue(S){return A0(S,[`占比:${v1(S)}`])}function $e(S){return A0(S,[`占比:${T1(S)}`])}function f0(S){var U2;const E=Le(S),c2=G3(S).filter(J2=>J2.value>0).map(J2=>`${J2.name}:${J2.valuePrefix||""}${L1(J2.value)}${E}`),L2=((U2=n.panel)==null?void 0:U2.totalLabel)||"合计";return oe(S==null?void 0:S.name,[`${L2}:${ht(S)}${L1(D2(S))}${E}`,...c2])}function ct(S,E){const c2=Le(S);return oe(`${t1(S==null?void 0:S.name)} ${(E==null?void 0:E.name)||""}`,[`数值:${(E==null?void 0:E.valuePrefix)||""}${L1((E==null?void 0:E.value)||0)}${c2}`])}function q1(S){return A0(S,[`状态:${W2(S)}`])}function Oe(S){const E=h.value?`${L1(y3(S)/h.value*100)}%`:"--";return A0(S,[`占比:${E}`])}function Et(S){var U2,J2,M3;const E=(J2=(U2=S.target)==null?void 0:U2.closest)==null?void 0:J2.call(U2,"[data-chart-tooltip], [data-hover-value]");if(!E||!((M3=$1.value)!=null&&M3.contains(E))){dt();return}const c2=E.getAttribute("data-chart-tooltip")||E.getAttribute("data-hover-value")||"",L2=String(c2).split(/\n+/).map(u1=>u1.trim()).filter(Boolean);if(!L2.length){dt();return}P.value={visible:!0,x:S.clientX,y:S.clientY,title:L2[0],lines:L2.slice(1)}}function dt(){P.value.visible&&(P.value={visible:!1,x:0,y:0,title:"",lines:[]})}function ft(S){const E=t1(S==null?void 0:S.name)||"数据",c2=Le(S);return`${E}:${ht(S)}${L1(D2(S))}${c2}`}function Le(S){var E;return(S==null?void 0:S.displayUnit)||(S==null?void 0:S.unit)||((E=n.panel)==null?void 0:E.unit)||""}function ht(S){const E=(S==null?void 0:S.segments)||(S==null?void 0:S.values)||{};return C2.value.some(c2=>(c2==null?void 0:c2.valuePrefix)&&Number(E[c2.key])>0)?"≥":""}function tt(){var S,E,c2;return((S=n.panel)==null?void 0:S.showValue)===!0||((E=n.panel)==null?void 0:E.variant)==="dual"||((c2=n.panel)==null?void 0:c2.variant)==="parkSlim"}function O(S){return String(S||"").trim().toLowerCase()}function N(S){const E=o3.value.map(c2=>f(S,{field:c2})).filter(c2=>c2!=null);return[S==null?void 0:S.searchText,...E].filter(Boolean).join(" ")}function d(S=[]){var c2;const E=Number((c2=n.panel)==null?void 0:c2.maxRows);return!Number.isFinite(E)||E<=0?S:S.slice(0,E)}function f(S,E){const c2=[E==null?void 0:E.field,...(E==null?void 0:E.fields)||[]].filter(Boolean);for(const L2 of c2){const U2=String(L2).split(".").reduce((J2,M3)=>J2==null?void 0:J2[M3],S);if(U2!=null&&U2!=="")return U2}}function y(S,E){const c2=f(S,E);if((E==null?void 0:E.format)==="townVillage"){const L2=String((S==null?void 0:S.town)||"").trim(),U2=String((S==null?void 0:S.village)||"").trim();return[L2,U2].filter(Boolean).join(" / ")||(E==null?void 0:E.fallback)||"--"}return c2==null||c2===""?(E==null?void 0:E.fallback)||"--":(E==null?void 0:E.format)==="number"?L1(c2):(E==null?void 0:E.format)==="displayValue"?_2({value:c2}):String(c2)}function b(S,E){return E!=null&&E.unitField&&(S!=null&&S[E.unitField])?S[E.unitField]:(E==null?void 0:E.unit)||""}function _(S){return{"business-project-name":(S==null?void 0:S.key)==="name","business-project-locate":(S==null?void 0:S.key)==="locate","is-right":(S==null?void 0:S.align)==="right","is-center":(S==null?void 0:S.align)==="center","is-strong":S==null?void 0:S.strong}}function M(S,E={}){(E==null?void 0:E.action)==="locate"&&a2(S,!0)}function a2(S,E=!1){!E&&!U3.value||(S==null?void 0:S.canLocate)!==!1&&(s3.value=(S==null?void 0:S.key)||(S==null?void 0:S.name)||null,a("row-select",S))}function Z(S=0){const E=b1.value+Number(S||0);b1.value=Math.max(1,Math.min(D1.value,E))}function t2(S={}){return S.ledgerName||S.name||"--"}function J(S={}){return S.ledgerLocation||[S.town,S.village].filter(Boolean).join(" · ")||"--"}function Y(S={},E={}){var L2,U2,J2,M3;const c2=Number((M3=(J2=(L2=S==null?void 0:S.segments)==null?void 0:L2[E.key])!=null?J2:(U2=S==null?void 0:S.values)==null?void 0:U2[E.key])!=null?M3:0);return!Number.isFinite(c2)||c2<=0?"—":`${(E==null?void 0:E.valuePrefix)||""}${L1(c2)}`}function k2(S={}){const E=C2.value.map(U2=>{var J2,M3,u1,V;return Number((V=(u1=(J2=S==null?void 0:S.segments)==null?void 0:J2[U2.key])!=null?u1:(M3=S==null?void 0:S.values)==null?void 0:M3[U2.key])!=null?V:0)}),c2=E.reduce((U2,J2)=>U2+(Number.isFinite(J2)&&J2>0?J2:0),0);return c2?`${C2.value.some((U2,J2)=>(U2==null?void 0:U2.valuePrefix)&&E[J2]>0)?"≥":""}${L1(c2)}`:"—"}function y2(S){const E=S==null?void 0:S.currentTarget;if(!E||E.scrollWidth<=E.clientWidth)return;S.preventDefault();const c2=Math.abs(S.deltaX)>Math.abs(S.deltaY)?S.deltaX:S.deltaY;E.scrollLeft+=c2}function o2(S){var J2,M3;const E=Number(S==null?void 0:S.scaleValue);if(!(r.value==="column"&&((J2=n.panel)==null?void 0:J2.variant)==="plain")&&!Number.isNaN(E)&&E>0)return Math.max(8,Math.min(100,Math.round(E)));const L2=y3(S);if(!L2)return 8;const U2=r.value==="column"&&((M3=n.panel)==null?void 0:M3.variant)==="plain"?Math.max(...u.value,L2):m.value;return Math.max(8,Math.round(L2/U2*100))}function d2(S,E){const c2=o2(S),L2=Math.max(.04,Math.min(.1,c2/360));return{"--heat-color":p2(E),"--heat-bg":a3(p2(E),L2)}}function F2(S){const E=Number(S==null?void 0:S.value);return Number.isFinite(E)?E:0}function n2(){var c2;const S=Number((c2=n.panel)==null?void 0:c2.max);if(Number.isFinite(S)&&S>0)return S;const E=Math.max(...S2.value.map(L2=>F2(L2)),100);return Math.max(E,100)}function T(S){const E=F2(S),c2=n2();return!c2||E<=0?0:Number(Math.min(100,E/c2*100).toFixed(1))}function D(S){return Number((-180+T(S)*1.8).toFixed(1))}function W(S,E){var c2;return(c2=n.panel)!=null&&c2.preserveColors&&(S!=null&&S.color||S!=null&&S.fillColor)?S.color||S.fillColor:p2(E)}function x2(S){const E=Math.max(0,F2(S)),c2=Math.max(5,...T2.value.map(L2=>Math.max(0,F2(L2))));return Math.max(6,Math.min(100,Number((E/c2*100).toFixed(1))))}function N2(S){const E=F2(S),c2=String((S==null?void 0:S.status)||(S==null?void 0:S.level)||"");return E>20||/严重|重度|高超载/.test(c2)?"#8bf7ff":E>10||/中度|预警/.test(c2)?"#48cfff":E>5||/轻度/.test(c2)?"#b9fbff":E<=0||/总体可控|合理|正常|达标|无超载/.test(c2)?"#24f6c4":"#30dcff"}function Y2(S){return{"--balance-color":N2(S),"--balance-progress":`${x2(S)}%`}}function W2(S){if(S!=null&&S.status||S!=null&&S.level)return S.status||S.level;const E=F2(S);return E<0?"合理":E<=5?"基本实现草畜平衡":E<=10?"轻度超载":E>100?"高超载":"超载预警"}function a3(S,E=.2){const c2=String(S||"").replace("#","");if(c2.length!==6)return`rgba(48, 220, 255, ${E})`;const L2=parseInt(c2,16),U2=L2>>16&255,J2=L2>>8&255,M3=L2&255;return`rgba(${U2}, ${J2}, ${M3}, ${E})`}function w3(S){const E=G1.value.length;if(!E)return;const c2=S.currentTarget.getBoundingClientRect(),L2=c2.width?(S.clientX-c2.left)/c2.width:0,U2=Math.min(E-1,Math.max(0,Math.round(L2*(E-1))));M1.value=U2}function v3(S){const E=y3(S);return!h.value||!E?0:Math.max(6,E/h.value*100)}function f3(S){const E=y3(S);return!h.value||!E?0:Math.max(2,E/h.value*100)}function v1(S){if(!S)return"--";if(S.extra)return S.extra;const E=y3(S);return!h.value||!E?"--":`${L1(E/h.value*100)}%`}function a1(){const S=y3(l3.value);return S>0?S:$2.value.reduce((E,c2)=>E+y3(c2),0)}function w1(S){const E=a1(),c2=y3(S);return!E||!c2?0:Math.max(6,c2/E*100)}function T1(S){const E=a1(),c2=y3(S);return!E||!c2?"--":`${L1(c2/E*100)}%`}function N1(S,E){return["forage-edible","wetland-yield-edible"].includes(S==null?void 0:S.key)?"#24f6c4":["forage-unavailable","wetland-yield-unavailable"].includes(S==null?void 0:S.key)?"#8bf7ff":p2(E)}function L(S){const E=y3(S),c2=Number(S==null?void 0:S.count)||h.value;return!E||!c2?"0%":`${L1(E/c2*100)}%`}function q(S){const E=y3(S),c2=Number(S==null?void 0:S.count)||h.value;return!E||!c2?0:E/c2*100}function F(S,E,c2,L2){const U2=L2*Math.PI/180;return{x:Number((S+c2*Math.cos(U2)).toFixed(2)),y:Number((E+c2*Math.sin(U2)).toFixed(2))}}function r2(S,E,c2,L2,U2,J2){const M3=F(S,E,L2,U2),u1=F(S,E,L2,J2),V=F(S,E,c2,J2),w2=F(S,E,c2,U2),E2=J2-U2>180?1:0;return[`M ${M3.x} ${M3.y}`,`A ${L2} ${L2} 0 ${E2} 1 ${u1.x} ${u1.y}`,`L ${V.x} ${V.y}`,`A ${c2} ${c2} 0 ${E2} 0 ${w2.x} ${w2.y}`,"Z"].join(" ")}function p2(S){return i[S%i.length]}function f2(S,E={}){var c2;return(c2=n.panel)!=null&&c2.preserveColors&&(E!=null&&E.color||E!=null&&E.fillColor)?E.color||E.fillColor:p2(S)}function r3(S,E){if(S!=null&&S.icon)return String(S.icon).replace(/[^a-z0-9-]/gi,"");const c2=String((S==null?void 0:S.name)||"");return c2.includes("利用率")||c2.includes("占比")?"rate":c2.includes("重度")||c2.includes("退化")?"risk":c2.includes("可食")||c2.includes("供给")?"leaf":c2.includes("不可")?"stack":c2.includes("产量")||c2.includes("鲜草")?"yield":c2.includes("乡镇")?"town":c2.includes("面积")?"area":["yield","leaf","rate","risk"][E%4]}function N3(){m2();const S=g1.value;W1.value&&(S<2||(E3=window.setInterval(()=>{c1.value=(c1.value+1)%S},ih)))}function K(){W1.value?N3():m2()}function m2(){E3&&(window.clearInterval(E3),E3=null)}function R2(){X3(),!(!$1.value||typeof window.IntersectionObserver!="function")&&(g3=new IntersectionObserver(S=>{const E=S[0];W1.value=!!(E!=null&&E.isIntersecting)&&p1()}),g3.observe($1.value),window.requestAnimationFrame(X3))}function q2(){var S;(S=g3==null?void 0:g3.disconnect)==null||S.call(g3),g3=null}function X3(){W1.value=p1()}function p1(){const S=$1.value;return S?!!(S.offsetParent||S.getClientRects().length):!0}function B(S,E={}){const c2=f2(S,E);return`linear-gradient(90deg, ${a3(c2,.08)} 0%, ${a3(c2,.58)} 48%, ${c2} 82%, rgba(248,255,255,0.86) 100%)`}function H(S,E={}){var L2,U2;if(((L2=n.panel)==null?void 0:L2.variant)==="water"){const J2=f2(S,E);return`linear-gradient(180deg, rgba(248,255,255,0.92) 0%, ${a3(J2,.88)} 18%, ${a3(J2,.68)} 58%, rgba(47, 151, 255, 0.18) 100%)`}if(((U2=n.panel)==null?void 0:U2.variant)==="plain"){const J2=f2(S,E);return`linear-gradient(180deg, rgba(248,255,255,0.9) 0%, ${a3(J2,.84)} 18%, ${a3(J2,.64)} 74%, ${a3(J2,.1)} 100%)`}const c2=f2(S,E);return`linear-gradient(180deg, rgba(248,255,255,0.9) 0%, ${c2} 18%, ${a3(c2,.62)} 72%, rgba(50, 220, 255, 0.08) 100%)`}return(S,E)=>{var c2,L2,U2,J2,M3,u1,V,w2,E2,I2,u2,t3,z2,c3,C3,J3,_3,i1,x0,Y0,Z1;return G(),z("div",{ref_key:"panelRef",ref:$1,class:r1(["business-panel",[`is-${r.value}`,`is-${T3.value}`,{"is-compact":t.compact,"is-column-label-standard":t.columnLabelStandard,"is-column-label-horizontal":((c2=n.panel)==null?void 0:c2.labelMode)==="horizontal"}]]),onMousemove:Et,onMouseleave:dt},[o.value.length?r.value==="rank"?(G(),J0(ah,{key:1,rows:o.value,compact:""},null,8,["rows"])):r.value==="metric"?(G(),z("div",lP,[(G(!0),z(B3,null,H3(o.value.slice(0,4),h2=>(G(),z("div",{key:h2.key||h2.name,class:"business-metric-item","data-chart-tooltip":A0(h2)},[w("span",null,i2(h2.name),1),w("strong",null,i2(_2(h2)),1),w("em",null,i2(h2.unit),1)],8,uP))),128))])):r.value==="iconMetric"?(G(),z("div",cP,[(G(!0),z(B3,null,H3(H2.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-icon-metric-item",`is-tone-${R3%i.length}`]),"data-chart-tooltip":A0(h2)},[w("i",{class:r1(["business-icon-metric-mark",`is-${h2.icon}`])},[...E[6]||(E[6]=[w("span",null,null,-1)])],2),w("div",fP,[w("span",null,i2(h2.name),1),w("strong",null,[z0(i2(_2(h2)),1),h2.unit?(G(),z("em",hP,i2(h2.unit),1)):k3("",!0)])])],10,dP))),128))])):r.value==="spotlight"?(G(),z("div",mP,[G2.value?(G(),z(B3,{key:0},[w("div",{class:"business-spotlight-main","data-chart-tooltip":A0(G2.value)},[w("span",null,i2(G2.value.name),1),w("strong",null,[z0(i2(_2(G2.value)),1),w("em",null,i2(G2.value.unit),1)]),w("small",null,i2(G2.value.extra||((L2=t.panel)==null?void 0:L2.note)||"核心业务指标"),1)],8,pP),w("div",gP,[(G(!0),z(B3,null,H3(o.value.slice(1,4),(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:"business-spotlight-chip","data-chart-tooltip":A0(h2)},[w("i",{style:z1({borderColor:p2(R3+1)})},null,4),w("span",null,i2(h2.name),1),w("strong",null,[z0(i2(_2(h2)),1),w("em",null,i2(h2.unit),1)]),h2.extra?(G(),z("small",vP,i2(h2.extra),1)):k3("",!0)],8,yP))),128))])],64)):(G(),z("div",SP,"暂无业务统计数据"))])):r.value==="donut"?(G(),z("div",{key:5,class:r1(["business-donut",[`is-variant-${T3.value}`,{"is-dense":s.value.length>5}]])},[s.value.length?(G(),z(B3,{key:0},[T3.value==="ring"?(G(),z("div",wP,[(G(),z("svg",bP,[E[7]||(E[7]=w("circle",{class:"business-ring-halo",cx:"80",cy:"80",r:"39"},null,-1)),E[8]||(E[8]=w("circle",{class:"business-ring-track",cx:"80",cy:"80",r:"52"},null,-1)),(G(!0),z(B3,null,H3(y1.value,h2=>(G(),z("circle",{key:h2.key,class:r1(["business-ring-segment",{"is-active":h2.index===O3.value}]),cx:"80",cy:"80",r:"52",stroke:h2.color,"stroke-dasharray":h2.dasharray,"stroke-dashoffset":h2.dashoffset,style:z1({color:h2.color}),"data-chart-tooltip":Q0(h2.item)},null,14,TP))),128))])),w("div",CP,[w("strong",null,i2(L(H1.value)),1),w("span",null,i2(((U2=H1.value)==null?void 0:U2.name)||"结构占比"),1)])])):(G(),z("div",AP,[(G(),J0(Ym,{key:A1.value,data:s.value,delay:ih,colors:i,opacity:.62,class:"business-three-pie"},{default:e0(({data:h2})=>[w("div",_P,[w("strong",null,i2(L(h2)),1),w("span",null,i2((h2==null?void 0:h2.name)||"结构占比"),1)])]),_:1},8,["data"]))])),w("div",xP,[(G(!0),z(B3,null,H3(s.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-donut-row",{"is-active":R3===O3.value}]),style:z1({"--row-color":p2(R3),"--row-percent":`${Math.max(4,q(h2))}%`}),"data-chart-tooltip":Q0(h2)},[w("i",{style:z1({borderColor:p2(R3)})},null,4),w("span",null,i2(h2.name),1),w("strong",null,i2(_2(h2)),1),w("em",null,i2(h2.unit),1)],14,MP))),128))])],64)):(G(),z("div",PP,"暂无业务统计数据"))],2)):r.value==="rose"?(G(),z("div",{key:6,class:r1(["business-rose",{"is-dense":s.value.length>5}])},[s.value.length?(G(),z(B3,{key:0},[w("div",kP,[(G(),z("svg",EP,[w("g",NP,[(G(!0),z(B3,null,H3(B1.value,h2=>(G(),z("line",{key:`guide-${h2.key}`,x1:h2.lineStart.x,y1:h2.lineStart.y,x2:h2.lineEnd.x,y2:h2.lineEnd.y,stroke:h2.color},null,8,RP))),128))]),w("g",LP,[(G(!0),z(B3,null,H3(B1.value,h2=>(G(),z("path",{key:h2.key,class:r1(["business-rose-segment",{"is-active":h2.index===O3.value}]),d:h2.path,fill:h2.color,stroke:h2.color,"data-chart-tooltip":Q0(h2.item)},null,10,IP))),128))]),E[9]||(E[9]=w("circle",{class:"business-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),E[10]||(E[10]=w("circle",{class:"business-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),w("g",FP,[(G(!0),z(B3,null,H3(B1.value,h2=>(G(),z("text",{key:`label-${h2.key}`,x:h2.label.x,y:h2.label.y,"text-anchor":h2.anchor},i2(h2.item.name),9,BP))),128))])]))]),w("div",DP,[(G(!0),z(B3,null,H3(s.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-donut-row business-rose-row",{"is-active":R3===O3.value}]),"data-chart-tooltip":Q0(h2)},[w("i",{style:z1({borderColor:p2(R3),background:p2(R3),color:p2(R3)})},null,4),w("span",null,i2(h2.name),1),w("strong",null,i2(_2(h2)),1),w("em",null,i2(h2.unit),1)],10,GP))),128))])],64)):(G(),z("div",UP,"暂无业务统计数据"))],2)):r.value==="structure"?(G(),z("div",OP,[l2.value.length?(G(),z(B3,{key:0},[w("div",jP,[w("div",zP,[(G(!0),z(B3,null,H3(l2.value,(h2,R3)=>(G(),z("i",{key:h2.key||h2.name,class:r1({"is-active":R3===O3.value}),style:z1({width:`${f3(h2)}%`,background:p2(R3),color:p2(R3)}),title:`${h2.name}:${_2(h2)}${h2.unit||""} ${v1(h2)}`,"data-chart-tooltip":Ue(h2)},null,14,YP))),128))])]),w("div",$P,[(G(!0),z(B3,null,H3(e3.value,h2=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-structure-row",{"is-active":h2.displayIndex===O3.value}]),style:z1({"--row-color":p2(h2.displayIndex),"--row-percent":`${Math.max(4,f3(h2))}%`}),"data-chart-tooltip":Ue(h2)},[w("i",{style:z1({background:p2(h2.displayIndex),color:p2(h2.displayIndex)})},null,4),w("span",null,i2(h2.name),1),w("strong",null,[z0(i2(_2(h2)),1),w("em",null,i2(h2.unit),1)]),w("small",null,i2(v1(h2)),1)],14,WP))),128))])],64)):(G(),z("div",VP,"暂无业务统计数据"))])):r.value==="bar"&&((J2=t.panel)==null?void 0:J2.variant)==="capacity"?(G(),z("div",HP,[l3.value?(G(),z(B3,{key:0},[w("div",{class:"business-capacity-head","data-chart-tooltip":A0(l3.value)},[w("span",null,i2(l3.value.name),1),w("strong",null,[z0(i2(_2(l3.value)),1),w("em",null,i2(l3.value.unit),1)])],8,KP),w("div",qP,[(G(!0),z(B3,null,H3($2.value,(h2,R3)=>(G(),z("i",{key:h2.key||h2.name,class:r1({"is-active":R3===O3.value}),style:z1({width:`${w1(h2)}%`,background:N1(h2,R3),color:N1(h2,R3)}),title:`${h2.name}:${_2(h2)}${h2.unit||""} ${T1(h2)}`,"data-chart-tooltip":$e(h2)},null,14,JP))),128))]),w("div",QP,[(G(!0),z(B3,null,H3($2.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-capacity-row",{"is-active":R3===O3.value}]),"data-chart-tooltip":$e(h2)},[w("i",{style:z1({background:N1(h2,R3),color:N1(h2,R3)})},null,4),w("span",null,i2(h2.name),1),w("strong",null,[z0(i2(_2(h2)),1),w("em",null,i2(h2.unit),1)]),w("small",null,i2(T1(h2)),1)],10,XP))),128))]),j3.value?(G(),z("div",{key:0,class:"business-capacity-town","data-chart-tooltip":A0(j3.value)},[w("span",null,i2(j3.value.name),1),w("strong",null,[z0(i2(_2(j3.value)),1),w("em",null,i2(j3.value.unit),1)])],8,ZP)):k3("",!0)],64)):(G(),z("div",ek,"暂无业务统计数据"))])):r.value==="bar"?(G(),z("div",{key:9,class:r1(["business-bars",{"is-dense":C.value.length>=5,"is-long":C.value.length>10,"is-scrollable":C.value.length>10,"is-single":((M3=t.panel)==null?void 0:M3.span)===1,"is-distribution":((u1=t.panel)==null?void 0:u1.variant)==="distribution","is-capacity":((V=t.panel)==null?void 0:V.variant)==="capacity","is-rank-bar":((w2=t.panel)==null?void 0:w2.variant)==="rankBar","is-park-bar":((E2=t.panel)==null?void 0:E2.variant)==="parkBar","is-race-bar":g.value,"is-few-rows":g.value&&C.value.length<=3,"is-degradation":((I2=t.panel)==null?void 0:I2.variant)==="degradation","is-race-nowrap":((u2=t.panel)==null?void 0:u2.variant)==="raceBarNoWrap","is-race-relaxed":((t3=t.panel)==null?void 0:t3.variant)==="raceBarRelaxed"}]),style:z1({"--bar-row-count":Math.max(C.value.length,1)}),onWheel:E[0]||(E[0]=_0(()=>{},["stop"]))},[(G(!0),z(B3,null,H3(C.value,(h2,R3)=>{var J1;return G(),z("div",{key:h2.key||h2.name,class:r1(["business-bar-row",{"is-active":R3===O3.value}]),style:z1({"--bar-color":f2(R3,h2)}),"data-chart-tooltip":A0(h2)},[((J1=t.panel)==null?void 0:J1.variant)==="rankBar"?(G(),z("span",nk,i2(R3+1),1)):k3("",!0),w("span",ak,i2(h2.name),1),w("div",ik,[w("i",{style:z1({width:`${o2(h2)}%`,background:B(R3,h2)})},null,4)]),w("strong",null,[z0(i2(_2(h2))+" ",1),h2.unit?(G(),z("em",rk,i2(h2.unit),1)):k3("",!0),h2.extra?(G(),z("small",ok,i2(h2.extra),1)):k3("",!0)])],14,tk)}),128))],38)):r.value==="column"?(G(),z("div",{key:10,class:r1(["business-columns",[`is-variant-${((z2=t.panel)==null?void 0:z2.variant)||"solid"}`,{"is-dense":C.value.length>6,"is-scrollable":C.value.length>6&&((c3=t.panel)==null?void 0:c3.scrollable)!==!1,"has-unit-label":!!U.value}]]),onWheel:_0(y2,["stop"])},[s1.value?(G(),z("svg",sk,[w("polyline",{class:"business-column-trend-area",points:s0.value},null,8,lk),w("polyline",{class:"business-column-trend-line",points:F1.value},null,8,uk),(G(!0),z(B3,null,H3(S1.value,h2=>(G(),z("circle",{key:h2.key,class:"business-column-trend-dot",cx:h2.x,cy:h2.y,r:"2.3"},null,8,ck))),128))])):k3("",!0),U.value?(G(),z("small",dk,"单位:"+i2(U.value),1)):k3("",!0),(G(!0),z(B3,null,H3(C.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-column-item",{"is-active":R3===O3.value,"is-zero":(h2==null?void 0:h2.zero)===!0||(h2==null?void 0:h2.isZero)===!0}]),"data-hover-value":c0(h2),title:c0(h2),"data-chart-tooltip":A0(h2)},[w("div",{class:"business-column-track",style:z1({"--column-percent":`${o2(h2)}%`})},[w("i",{style:z1({height:`${o2(h2)}%`,background:H(R3,h2),"--column-load-delay":`${R3*.075}s`})},null,4),w("strong",hk,[z0(i2(_2(h2)),1),F3(h2)?(G(),z("em",mk,i2(F3(h2)),1)):k3("",!0)])],4),w("span",null,i2(K1(h2.name)),1)],10,fk))),128))],34)):r.value==="projectTable"?(G(),z("div",{key:11,class:r1(["business-project-table",{"is-without-search":((C3=t.panel)==null?void 0:C3.showSearch)===!1,"is-fill-rows":((J3=t.panel)==null?void 0:J3.fillRows)===!0}])},[((_3=t.panel)==null?void 0:_3.showSearch)!==!1?(G(),z("div",pk,[he(w("input",{"onUpdate:modelValue":E[1]||(E[1]=h2=>V2.value=h2),type:"search",placeholder:b3.value},null,8,gk),[[B6,V2.value]])])):k3("",!0),w("div",yk,[w("table",null,[w("colgroup",null,[(G(!0),z(B3,null,H3(p3.value,h2=>(G(),z("col",{key:h2.key,class:r1(h2.className),style:z1({width:h2.width||void 0})},null,6))),128))]),w("thead",null,[w("tr",null,[(G(!0),z(B3,null,H3(p3.value,h2=>(G(),z("th",{key:h2.key,class:r1(_(h2))},i2(h2.label),3))),128))])]),w("tbody",null,[(G(!0),z(B3,null,H3(n1.value,h2=>(G(),z("tr",{key:h2.key||h2.name,class:r1({"is-active":s3.value===(h2.key||h2.name)}),tabindex:U3.value?0:-1,onClick:R3=>a2(h2),onKeydown:[xt(_0(R3=>a2(h2),["prevent"]),["enter"]),xt(_0(R3=>a2(h2),["prevent"]),["space"])]},[(G(!0),z(B3,null,H3(p3.value,R3=>(G(),z("td",{key:R3.key,class:r1(_(R3)),title:y(h2,R3)},[R3.strong?(G(),z("strong",wk,[z0(i2(y(h2,R3)),1),b(h2,R3)?(G(),z("em",bk,i2(b(h2,R3)),1)):k3("",!0)])):R3.action==="locate"&&h2.canLocate?(G(),z("button",{key:1,type:"button",class:"business-project-locate-button",title:"定位并查看详情","aria-label":"定位并查看详情",onClick:_0(J1=>M(h2,R3),["stop"]),onKeydown:[xt(_0(J1=>M(h2,R3),["stop","prevent"]),["enter"]),xt(_0(J1=>M(h2,R3),["stop","prevent"]),["space"])]},[...E[11]||(E[11]=[w("span",{class:"business-project-cell-icon business-project-cell-icon--locate","aria-hidden":"true"},null,-1)])],40,Tk)):R3.action==="locate"?(G(),z("span",Ck,"--")):R3.icon&&y(h2,R3)!=="--"?(G(),z("span",{key:3,class:r1(["business-project-cell-icon",`business-project-cell-icon--${R3.icon}`]),role:"img","aria-label":y(h2,R3)},null,10,Ak)):(G(),z("span",_k,i2(y(h2,R3)),1))],10,Sk))),128))],42,vk))),128))])]),n1.value.length?k3("",!0):(G(),z("div",xk,i2(Y3.value),1))])],2)):r.value==="projectLedger"?(G(),z("div",Mk,[w("div",Pk,[he(w("input",{"onUpdate:modelValue":E[2]||(E[2]=h2=>V2.value=h2),type:"search",placeholder:b3.value},null,8,kk),[[B6,V2.value]])]),w("div",Ek,[w("div",Nk,[w("strong",null,i2(x3.value),1),w("span",null,i2(L3.value),1)]),w("small",null,"已定位 "+i2(h1.value)+" 处",1),D1.value>1?(G(),z("div",Rk,[w("button",{type:"button",class:"business-project-ledger__page-button is-previous",title:"上一页","aria-label":"上一页",disabled:b1.value<=1,onClick:E[3]||(E[3]=h2=>Z(-1))},[...E[12]||(E[12]=[w("i",{"aria-hidden":"true"},null,-1)])],8,Lk),w("span",null,i2(b1.value)+" / "+i2(D1.value),1),w("button",{type:"button",class:"business-project-ledger__page-button is-next",title:"下一页","aria-label":"下一页",disabled:b1.value>=D1.value,onClick:E[4]||(E[4]=h2=>Z(1))},[...E[13]||(E[13]=[w("i",{"aria-hidden":"true"},null,-1)])],8,Ik)])):k3("",!0)]),w("div",{class:"business-project-ledger__list business-project-frame",style:z1({"--ledger-row-count":h3.value})},[(G(!0),z(B3,null,H3(Y1.value,h2=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-project-ledger__row",{"is-active":s3.value===(h2.key||h2.name),"is-locatable":h2.canLocate,"is-unlocated":h2.canLocate===!1}]),tabindex:h2.canLocate?0:-1,onClick:R3=>a2(h2),onKeydown:[xt(_0(R3=>a2(h2),["prevent"]),["enter"]),xt(_0(R3=>a2(h2),["prevent"]),["space"])]},[w("div",Bk,[w("strong",{title:t2(h2)},i2(t2(h2)),9,Dk),w("div",null,[w("span",{title:J(h2)},i2(J(h2)),9,Gk)])]),h2.canLocate?(G(),z("button",{key:0,type:"button",class:"business-project-locate-button",title:"定位并查看详情","aria-label":"定位并查看详情",onClick:_0(R3=>a2(h2,!0),["stop"]),onKeydown:[xt(_0(R3=>a2(h2,!0),["stop","prevent"]),["enter"]),xt(_0(R3=>a2(h2,!0),["stop","prevent"]),["space"])]},[...E[14]||(E[14]=[w("span",{class:"business-project-cell-icon business-project-cell-icon--locate","aria-hidden":"true"},null,-1)])],40,Uk)):(G(),z("span",Ok,"暂无坐标"))],42,Fk))),128)),Y1.value.length?k3("",!0):(G(),z("div",jk,i2(Y3.value),1))],4)])):r.value==="specGrid"?(G(),z("div",zk,[(G(!0),z(B3,null,H3(C1.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:"business-spec-grid__row"},[w("span",Yk,i2(String(R3+1).padStart(2,"0")),1),w("span",{class:"business-spec-grid__name",title:h2.name},i2(h2.name),9,$k),w("strong",Wk,[z0(i2(_2(h2)),1),h2.unit?(G(),z("em",Vk,i2(h2.unit),1)):k3("",!0)]),w("div",Hk,[(G(!0),z(B3,null,H3(h2.specs||[],J1=>(G(),z("span",{key:J1.label,title:`${J1.label} ${L1(J1.value)}${J1.unit||""}`},[w("small",null,i2(J1.label),1),w("strong",null,[z0(i2(L1(J1.value)),1),J1.unit?(G(),z("em",qk,i2(J1.unit),1)):k3("",!0)])],8,Kk))),128))])]))),128))])):r.value==="supportMatrix"?(G(),z("div",{key:14,class:r1(["business-support-matrix",{"is-with-total":o1.value}])},[(i1=t.panel)!=null&&i1.note?(G(),z("small",Jk,i2(t.panel.note),1)):k3("",!0),w("div",Qk,[E[15]||(E[15]=w("span",null,"乡镇",-1)),o1.value?(G(),z("span",Xk,i2(((x0=t.panel)==null?void 0:x0.totalLabel)||"合计"),1)):k3("",!0),(G(!0),z(B3,null,H3(C2.value,h2=>(G(),z("span",{key:h2.key},i2(h2.headerName||h2.name),1))),128))]),w("div",Zk,[(G(!0),z(B3,null,H3(_1.value,h2=>(G(),z("div",{key:h2.key||h2.name},[w("span",null,i2(t1(h2.name)),1),o1.value?(G(),z("strong",{key:0,class:"business-support-matrix__total",title:k2(h2)},i2(k2(h2)),9,eE)):k3("",!0),(G(!0),z(B3,null,H3(C2.value,R3=>(G(),z("strong",{key:R3.key,title:Y(h2,R3)},i2(Y(h2,R3)),9,tE))),128))]))),128))])],2)):r.value==="table"?(G(),z("div",{key:15,class:r1(["business-table",{"is-dense":I.value.length>8}])},[w("div",nE,[(G(),z(B3,null,H3(2,h2=>w("div",{key:h2,class:"business-table-head-group"},[...E[16]||(E[16]=[w("span",null,"乡镇",-1),w("span",null,"亩产",-1)])])),64))]),w("div",aE,[(G(!0),z(B3,null,H3(I.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-table-row",{"is-active":R3===O3.value}]),"data-chart-tooltip":A0(h2)},[w("span",rE,i2(h2.name),1),w("div",oE,[w("strong",null,[z0(i2(_2(h2)),1),h2.unit?(G(),z("em",sE,i2(h2.unit),1)):k3("",!0)]),w("i",null,[w("b",{style:z1({width:`${o2(h2)}%`,background:B(R3)})},null,4)])])],10,iE))),128))])],2)):r.value==="stackColumn"?(G(),z("div",{key:16,class:r1(["business-stack-columns",[`is-variant-${((Y0=t.panel)==null?void 0:Y0.variant)||"standard"}`,{"is-dense":j2.value.length>6,"is-with-values":tt()}]])},[w("div",lE,[(G(!0),z(B3,null,H3(C2.value,(h2,R3)=>(G(),z("span",{key:h2.key||h2.name},[w("i",{style:z1({background:i3(h2,R3)})},null,4),z0(i2(h2.name),1)]))),128)),Le(j2.value[0])?(G(),z("small",uE,"单位:"+i2(Le(j2.value[0])),1)):k3("",!0)]),w("div",cE,[(G(!0),z(B3,null,H3(j2.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-stack-item",{"is-active":R3===O3.value}]),"data-hover-value":ft(h2),title:ft(h2),"data-chart-tooltip":f0(h2)},[tt()&&D2(h2)>0?(G(),z("strong",fE,[z0(i2(ht(h2))+i2(L1(D2(h2))),1),Le(h2)?(G(),z("em",hE,i2(Le(h2)),1)):k3("",!0)])):k3("",!0),w("div",mE,[(G(!0),z(B3,null,H3(G3(h2),(J1,mt)=>(G(),z("i",{key:J1.key||J1.name,style:z1({height:`${J1.percent}%`,background:J1.color,color:J1.color}),"data-chart-tooltip":ct(h2,J1)},null,12,pE))),128))]),w("span",null,i2(K1(h2.name)),1)],10,dE))),128))])],2)):r.value==="peak"?(G(),z("div",{key:17,class:r1(["business-peaks",{"is-dense":C.value.length>5}])},[j.value?(G(),z("small",gE,"单位:"+i2(j.value),1)):k3("",!0),(G(!0),z(B3,null,H3(C.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:"business-peak-item",style:z1({"--peak-height":`${o2(h2)}%`,"--peak-color":p2(R3)}),"data-hover-value":c0(h2),title:c0(h2),"data-chart-tooltip":A0(h2)},[w("strong",null,[z0(i2(_2(h2)),1),Z3(h2)?(G(),z("em",vE,i2(Z3(h2)),1)):k3("",!0)]),E[17]||(E[17]=w("div",{class:"business-peak-stage"},[w("i")],-1)),w("span",null,i2(K1(h2.name)),1)],12,yE))),128))],2)):r.value==="line"?(G(),z("div",SE,[w("div",{class:"business-line-chart",onMousemove:w3,onMouseleave:E[5]||(E[5]=h2=>M1.value=null)},[(G(),z("svg",wE,[E[18]||(E[18]=w("path",{class:"business-line-grid",d:"M0 18H320M0 44H320M0 70H320"},null,-1)),w("polyline",{class:"business-line-area",points:e1.value},null,8,bE),w("polyline",{class:"business-line-stroke",points:D3.value},null,8,TE),(G(!0),z(B3,null,H3(G1.value,(h2,R3)=>(G(),z("circle",{key:R3,cx:h2.x,cy:h2.y,r:"3",class:r1(["business-line-dot",{"is-active":R3===V3.value}])},null,10,CE))),128)),(G(!0),z(B3,null,H3(G1.value,(h2,R3)=>(G(),z("circle",{key:`hit-${R3}`,cx:h2.x,cy:h2.y,r:"13",class:"business-line-hit",onMouseenter:J1=>M1.value=R3},null,40,AE))),128))])),w("div",{class:"business-line-hover-zones",style:z1(u3.value)},[(G(!0),z(B3,null,H3(G1.value,(h2,R3)=>(G(),z("i",{key:`zone-${R3}`,onMouseenter:J1=>M1.value=R3},null,40,_E))),128))],4),x1.value?(G(),z("div",{key:0,class:"business-line-tooltip",style:z1(S3.value)},[w("span",null,i2(x1.value.item.name),1),w("strong",null,[z0(i2(_2(x1.value.item)),1),x1.value.item.unit?(G(),z("em",xE,i2(x1.value.item.unit),1)):k3("",!0)])],4)):k3("",!0)],32),w("div",{class:"business-line-labels",style:z1(u3.value)},[(G(!0),z(B3,null,H3(G0.value,h2=>(G(),z("span",{key:h2.key||h2.name},i2(K1(h2.name)),1))),128))],4)])):r.value==="balanceGaugeGrid"?(G(),z("div",{key:19,class:r1(["business-balance-gauge-grid",{"is-single":T2.value.length===1}])},[(G(!0),z(B3,null,H3(T2.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-balance-gauge-card",{"is-active":R3===O3.value}]),style:z1(Y2(h2)),"data-chart-tooltip":q1(h2)},[w("div",PE,[w("strong",null,i2(W2(h2)),1)]),w("div",kE,[w("div",EE,[w("strong",null,i2(_2(h2)),1),n3(h2)?(G(),z("em",NE,i2(n3(h2)),1)):k3("",!0)])]),w("div",RE,i2(h2.name),1),h2.extra?(G(),z("div",LE,i2(h2.extra),1)):k3("",!0)],14,ME))),128))],2)):r.value==="gauge"?(G(),z("div",{key:20,class:r1(["business-gauges",{"is-dense":S2.value.length>3}])},[(G(!0),z(B3,null,H3(S2.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:r1(["business-gauge-item",{"is-active":R3===O3.value,"is-safe":F2(h2)<=0,"is-low-rate":F2(h2)>0&&F2(h2)<5,"is-alert":F2(h2)>100}]),style:z1({"--gauge-color":W(h2,R3),"--needle-rotate":`${D(h2)}deg`}),"data-chart-tooltip":q1(h2)},[w("div",FE,[(G(),z("svg",BE,[E[19]||(E[19]=w("path",{class:"business-gauge-track",d:"M24 76 A52 52 0 0 1 128 76",pathLength:"100"},null,-1)),w("path",{class:"business-gauge-progress",d:"M24 76 A52 52 0 0 1 128 76",pathLength:"100","stroke-dasharray":`${T(h2)} 100`},null,8,DE),E[20]||(E[20]=w("path",{class:"business-gauge-glow",d:"M38 76 A38 38 0 0 1 114 76"},null,-1))])),E[21]||(E[21]=w("i",{class:"business-gauge-needle"},null,-1)),E[22]||(E[22]=w("b",{class:"business-gauge-pivot"},null,-1)),w("div",GE,[w("strong",null,[z0(i2(_2(h2)),1),n3(h2)?(G(),z("em",UE,i2(n3(h2)),1)):k3("",!0)]),w("small",null,i2(W2(h2)),1)])]),w("span",OE,i2(h2.name),1),h2.extra?(G(),z("small",jE,i2(h2.extra),1)):k3("",!0)],14,IE))),128))],2)):r.value==="heat"?(G(),z("div",{key:21,class:r1(["business-heat",{"is-dense":v2.value.length>6}])},[(G(!0),z(B3,null,H3(v2.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:"business-heat-cell",style:z1(d2(h2,R3)),"data-chart-tooltip":A0(h2)},[E[23]||(E[23]=w("i",null,null,-1)),w("span",null,i2(h2.name),1),w("strong",null,[z0(i2(_2(h2)),1),h2.unit?(G(),z("em",YE,i2(h2.unit),1)):k3("",!0)])],12,zE))),128))],2)):r.value==="split"?(G(),z("div",{key:22,class:r1(["business-split",{"is-dense":p.value.length>8||((Z1=t.panel)==null?void 0:Z1.variant)==="compact"}])},[w("div",$E,[(G(!0),z(B3,null,H3(p.value,(h2,R3)=>(G(),z("i",{key:h2.key||h2.name,style:z1({width:`${v3(h2)}%`,background:p2(R3)}),"data-chart-tooltip":Oe(h2)},null,12,WE))),128))]),w("div",VE,[(G(!0),z(B3,null,H3(p.value,(h2,R3)=>(G(),z("div",{key:h2.key||h2.name,class:"business-split-row","data-chart-tooltip":Oe(h2)},[w("span",null,[w("i",{style:z1({background:p2(R3)})},null,4),z0(i2(h2.name),1)]),w("strong",null,i2(_2(h2))+i2(h2.unit),1)],8,HE))),128))])],2)):(G(),J0(ah,{key:23,rows:o.value,compact:""},null,8,["rows"])):(G(),z("div",sP,"暂无业务统计数据")),(G(),J0(kC,{to:"body"},[P.value.visible?(G(),z("div",{key:0,class:"business-chart-tooltip",style:z1(q3.value)},[w("strong",null,i2(P.value.title),1),(G(!0),z(B3,null,H3(P.value.lines,h2=>(G(),z("span",{key:h2},i2(h2),1))),128))],4)):k3("",!0)]))],34)}}};const KE={class:"feature-info"},qE={key:0,class:"feature-info-state"},JE={key:1,class:"feature-info-state"},QE={key:2,class:"feature-info-state"},XE={key:0,class:"feature-table"},ZE=["title"],eN={key:1,class:"feature-info-state is-inline"},b7={__name:"FeatureInfoPanel",props:{feature:{type:Object,default:null},empty:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},height:{type:Number,default:380},width:{type:Number,default:430},compactGrassland:{type:Boolean,default:!1}},setup(t){const e=t,n=[[["townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","areaCode","area_code"],"所在乡镇"],[["village_name","cunName","cun_name","cun","c_name","cmc"],"所在村"],[["full_name"],"所在区域"],[["land_number","patch_no"],"图斑编号"],[["areaWanMu","area_wan_mu","area_mu","acreage","mj","xbmj","tbdlmj","tbmj","geomj","shape_area"],"图斑面积"]],a=[[["investigator"],"调查人"],[["survey_time","dc_rq","sjnf","delimitation_year"],"调查时间"],[["adjust_opinion_name"],"调整意见"],[["adjust_reason"],"调整原因"]],i=[[["pastureName","pasture_name"],"所属牧场"],[["yakCount","yak_count"],"牦牛数量"],[["acreage","area_mu","mj","xbmj","tbdlmj","tbmj","geomj","shape_area","areaWanMu","area_wan_mu"],"草场面积"],[["full_name","townName","town_name","xiangName","xiang_name","xiang","xzqmc","xzqdm","town_code","areaCode","area_code"],"所在区域"],[["grassTypeName","grass_type_name","grassland_type_name","grassType","grass_type"],"草原类"],[["grasslandLevelName","grassland_level_name","grasslandLevel","grassland_level","level_name","level"],"草原级别"],[["vegetationCover","vegetation_cover"],"植被盖度"],[["xcMuYield","xc_mu_yield","xbXcMuYield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["gcMuYield","gc_mu_yield","xbGcMuYield","xb_gc_mu_yield"],"干草亩产"]],o={"artificial-grassland":[[["plot_name","name"],"图斑名称"],[["plot_code"],"图斑编号"],[["town","town_name"],"所在乡镇"],[["plot_category"],"图斑类别"],[["data_status"],"数据状态"],[["source_type"],"资料类型"],[["data_source"],"数据来源"]],woodland:[[["dlmc","layer_class_name"],"地类名称"],...n,[["qsdwmc"],"权属单位"],[["zldwmc"],"坐落单位"],[["lin_ban"],"林班"],[["xiao_ban"],"小班"],[["ld_qs","tdsyqs","qsxz","ownership_name","ownership"],"土地权属"],[["gjgyl_bhdj","bh_dj","protection_level_name","protection_level"],"保护等级"],[["sen_lin_lb","forest_type"],"森林类别"],[["lin_zhong","forest_category"],"林种"],[["zl_dj","quality_level_name","quality_level"],"质量等级"],[["you_shi_sz","tree_species","dominant_tree_species"],"优势树种"],[["qi_yuan","origin"],"起源"],[["ling_zu"],"龄组"],[["yu_bi_du"],"郁闭度"],[["pingjun_sg"],"平均树高"],[["mei_gq_zs"],"每公顷株数"],[["mei_gq_xj"],"每公顷蓄积"],[["huo_lm_xj"],"活立木蓄积"],[["sheng_wu_l"],"生物量"],[["tan_chu_l"],"碳储量"],[["stqwmc"],"生态区位"],[["po_du","slope"],"坡度"],[["po_wei"],"坡位"],[["tu_ceng_hd","soil_depth"],"土层厚度"],...a],grassland:[...i,[["pastureName","pasture_name"],"所属牧场"],...n,[["land_class_name","landUseName","land_use_name","landUse","land_use"],"地类名称"],[["landType","land_type"],"资源大类"],[["resourceType","resource_type"],"资源类别"],[["grasslandCategory","grassland_category_name","grassland category","base_grass"],"草原类别"],[["basic_type_name"],"基本草原类型"],[["grassTypeName","grass_type_name","grassland_type_name","grassType","grass_type"],"草原类"],[["grassMinType","grass_min_type"],"草原型"],[["grasslandLevelName","grassland_level_name","grasslandLevel","grassland_level","level_name","level"],"草原级别"],[["degradationLevelName","degradation_level_name","degradationLevel","degradation_level"],"退化等级"],[["vegetationStructureName","vegetation_structure_name","vegetationStructure","vegetation_structure"],"植被结构"],[["vegetationCover","vegetation_cover"],"植被盖度"],[["lbmjbl"],"裸斑面积比例"],[["dominanceLevel","dominance_level"],"优势度"],[["dominantGrassSpecies","dominant_grass_species"],"优势草种"],[["functionalCategory","functional_category"],"功能类别"],[["xcYield","xc_yield"],"鲜草产量"],[["xcMuYield","xc_mu_yield","xbXcMuYield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["xbXcYield","xb_xc_yield"],"小班鲜草产量"],[["xbXcMuYield","xb_xc_mu_yield"],"小班鲜草亩产"],[["gcYield","gc_yield"],"干草产量"],[["gcMuYield","gc_mu_yield","xbGcMuYield","xb_gc_mu_yield"],"干草亩产"],[["xbGcYield","xb_gc_yield"],"小班干草产量"],[["xbGcMuYield","xb_gc_mu_yield"],"小班干草亩产"],[["elevation"],"海拔"],[["landformName","landform_name","landform"],"地貌"],[["slope"],"坡度"],[["aspect"],"坡向"],[["soilDepth","soil_depth","tu_ceng_hd"],"土层厚度"],[["soil texture"],"土壤质地"],[["sddl"],"三调地类"],[["hqlm"],"划区轮牧"],[["cdsyq"],"草地所有权"],[["cdsyq2"],"草地使用权"],[["cdjjq"],"草地经营权"],...a],wetland:[[["grass_min_type","grassland_category_name","grassland_type_name","land_class_name","land_use_name"],"湿地类型"],...n,[["grass_type_name","grass_type"],"湿地草地型"],[["grassland_level_name","grassland_level","level_name","level"],"湿地级别"],[["vegetation_structure_name","vegetation_structure"],"植被结构"],[["vegetation_cover"],"植被盖度"],[["dominant_grass_species"],"优势草种"],[["functional_category"],"功能类别"],[["xc_yield","xb_xc_yield"],"鲜草产量"],[["xc_mu_yield","xb_xc_mu_yield","mu_yield"],"鲜草亩产"],[["edible_xc_yield"],"可食鲜草产量"],[["edible_xc_mu_yield"],"可食鲜草亩产"],[["gc_yield","xb_gc_yield"],"干草产量"],[["elevation"],"海拔"],[["landform_name","landform"],"地貌"],[["soil_depth","tu_ceng_hd"],"土层厚度"],...a],ecological:[[["type"],"管控分区"],[["project_name"],"项目名称"],[["project_category"],"项目类型"],[["measure_type"],"措施类型"],[["feature_role"],"要素类型"],[["township"],"涉及乡镇"],[["year"],"建设年份"],[["totalAcreage"],"总面积"],[["cdAcreage"],"草地面积"],[["sdAcreage"],"湿地面积"],[["area_mu"],"治理面积"],[["length_meter"],"工程长度"],[["cdScl"],"草地生产力"],[["sdScl"],"湿地生产力"],[["geometry_type"],"几何类型"]]},s={land_type:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},landType:{1:"草地",2:"湿地",caodi:"草地",shidi:"湿地",woodland:"林地",grassland:"草地",wetland:"湿地"},vegetation_structure:{1:"草本型"},landform:{2:"平原",5:"中山",6:"高山"},land_use:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},sddl:{"0401":"天然牧草地","0403":"人工牧草地","0404":"其他草地"},ld_qs:{10:"集体林地",20:"国有或其他"},qsxz:{10:"集体林地",20:"国有或其他"},tdsyqs:{10:"集体林地",20:"国有或其他"},gjgyl_bhdj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},bh_dj:{0:"未划定",1:"国家一级公益林",2:"国家二级公益林"},zl_dj:{2:"二级质量",3:"三级质量",4:"四级质量",5:"五级质量"},po_wei:{1:"脊部",2:"上坡",3:"中坡",4:"下坡",5:"谷地",6:"平地"}},u=new Set(["lin_zhong","sen_lin_lb","you_shi_sz","qi_yuan","ling_zu","po_xiang","tu_rang_lx","ownership","ownership_name","protection_level","forest_category","forest_type","quality_level","origin","tree_species","dominant_tree_species","base_grass","degradation_level","land_class","grass_type"]),m={xiang:"所在乡镇",xzqdm:"所在乡镇",xzqmc:"所在乡镇",town_code:"所在乡镇",area_code:"所在乡镇",areaCode:"所在乡镇",cun:"所在村",cmc:"所在村",c_name:"所在村",acreage:"图斑面积",mj:"图斑面积",xbmj:"小班面积",tbdlmj:"图斑地类面积",geomj:"图斑面积",tbmj:"图斑面积",shape_area:"图斑面积",area_mu:"图斑面积",pastureName:"所属牧场",pasture_name:"所属牧场",pastureAcreage:"牧场面积",pasture_acreage:"牧场面积",relationAcreage:"关系面积",relation_acreage:"关系面积",pastureOverlapAcreage:"重叠面积",pasture_overlap_acreage:"重叠面积",relatedPastureCount:"关联牧场数",related_pasture_count:"关联牧场数",relatedPastureNames:"关联牧场",related_pasture_names:"关联牧场",yakCount:"牦牛数量",yak_count:"牦牛数量",grass_min_type:"草原型",grassMinType:"草原型",grass_type:"草原类",grassType:"草原类",grass_type_name:"草原类",grassTypeName:"草原类",grassland_type_name:"草原类",patch_no:"图斑编号",land_number:"图斑编号",grassland_level:"草原级别",grasslandLevel:"草原级别",grassland_level_name:"草原级别",grasslandLevelName:"草原级别",level:"等级",level_name:"等级",land_class_name:"地类名称",land_use_name:"地类名称",landUseName:"地类名称",landUse:"地类名称",basic_type_name:"草原类型",grassland_category_name:"草原类别",grasslandCategory:"草原类别",degradation_level:"退化等级",degradationLevel:"退化等级",degradation_level_name:"退化等级",degradationLevelName:"退化等级",vegetation_structure:"植被结构",vegetationStructure:"植被结构",vegetation_structure_name:"植被结构",vegetationStructureName:"植被结构",xc_yield:"鲜草产量",xcYield:"鲜草产量",gc_yield:"干草产量",gcYield:"干草产量",xc_mu_yield:"鲜草亩产",xcMuYield:"鲜草亩产",gc_mu_yield:"干草亩产",gcMuYield:"干草亩产",mu_yield:"亩产",edible_xc_yield:"可食鲜草产量",edible_xc_mu_yield:"可食鲜草亩产",dlmc:"地类名称",qsdwmc:"权属单位",zldwmc:"坐落单位",lin_ban:"林班",xiao_ban:"小班",ld_qs:"土地权属",tdsyqs:"土地权属",qsxz:"土地权属",gjgyl_bhdj:"保护等级",bh_dj:"保护等级",sen_lin_lb:"森林类别",lin_zhong:"林种",zl_dj:"质量等级",you_shi_sz:"优势树种",qi_yuan:"起源",cdsyq:"草地所有权",cdsyq2:"草地使用权",cdjjq:"草地经营权",resource_type:"资源类型","grassland category":"草原类别",dominant_grass_species:"优势草种",functional_category:"功能类别",functionalCategory:"功能类别",vegetation_cover:"植被盖度",vegetationCover:"植被盖度",xb_xc_yield:"小班鲜草产量",xbXcYield:"小班鲜草产量",xb_gc_yield:"小班干草产量",xbGcYield:"小班干草产量",base_grass:"基本草原",hqlm:"划区轮牧",elevation:"海拔",soil_depth:"土层厚度","soil texture":"土壤质地",aspect:"坡向",slope:"坡度",landform:"地貌",landform_name:"地貌",sddl:"三调地类",dominance_level:"优势度",investigator:"调查人",survey_time:"调查时间",land_type:"土地类型",landType:"土地类型",status:"状态",type:"类型",xb_gc_mu_yield:"干草亩产",xbGcMuYield:"干草亩产",xb_xc_mu_yield:"鲜草亩产",xbXcMuYield:"鲜草亩产",grass_yield:"草地产量",grassYield:"草地产量",full_name:"所在区域",gyl_bhlx:"公益林保护类型",ling_zu:"龄组",yu_bi_du:"郁闭度",pingjun_xj:"平均胸径",mei_gq_zs:"每公顷株数",mei_gq_xj:"每公顷蓄积",stqwmc:"生态区位",lyfq:"林业分区",qykz:"区域控制",po_wei:"坡位",tu_rang_zd:"土壤质地",zzsxmc:"主导属性",lin_chang:"林场",di_mao:"地貌",jt_qw:"交通区位",zbfglx:"植被覆盖类型",disaster_c:"灾害类型",dispe:"病虫害",pingjun_sg:"平均树高",huo_lm_xj:"活立木蓄积",sheng_wu_l:"生物量",tan_chu_l:"碳储量",g_cheng_lb:"工程类别",shi_quan_d:"事权等级",sf_tbq:"是否特别区",td_th_lx:"土地退化类型",project_name:"项目名称",project_category:"项目类型",measure_type:"措施类型",feature_role:"要素类型",township:"涉及乡镇",year:"建设年份",length_meter:"工程长度",geometry_type:"几何类型",totalAcreage:"总面积",cdAcreage:"草地面积",sdAcreage:"湿地面积",cdScl:"草地生产力",sdScl:"湿地生产力"},h=new Set(Object.keys(m)),p=new Set(["pingjun_sg","pingjun_xj","mei_gq_zs","mei_gq_xj","huo_lm_xj","sheng_wu_l","tan_chu_l","yu_bi_du","grass_yield","xb_xc_yield","xb_xc_mu_yield","xc_mu_yield","xb_gc_yield","xb_gc_mu_yield","gc_mu_yield"]),g=new Set(["xb_xc_yield","xb_gc_yield","grass_yield","gc_yield","xc_yield","yield","output","remark1","remark2","remark3","remark4","remark5","remarks"]),C=s2(()=>{var h3;return((h3=e.feature)==null?void 0:h3.properties)||{}}),I=s2(()=>{var h3,x3,L3;return((x3=(h3=e.feature)==null?void 0:h3.feature)==null?void 0:x3.geometry)||((L3=e.feature)==null?void 0:L3.geometry)||null}),U=s2(()=>{var L3,h1;const h3=String(((h1=(L3=e.feature)==null?void 0:L3.layer)==null?void 0:h1.key)||"").toLowerCase(),x3=C.value;return h3.includes("artificial-grassland")||String(x3.stageKey||"")==="artificial-grassland"}),j=s2(()=>{var _1,o1,l3,$2,j3;const h3=String(((_1=e.feature)==null?void 0:_1.id)||"").toLowerCase(),x3=String(((l3=(o1=e.feature)==null?void 0:o1.layer)==null?void 0:l3.key)||"").toLowerCase(),L3=String(((j3=($2=e.feature)==null?void 0:$2.layer)==null?void 0:j3.layerName)||"").toLowerCase(),h1=`${x3} ${L3}`,C1=C.value;return U.value?"artificial-grassland":h1.includes("national-park")||h1.includes("restoration")||C1.project_name||C1.project_category||C1.totalAcreage?"ecological":C1.dlmc||h3.includes("woodland")||h3.includes("t_woodland")||h1.includes("woodland")?"woodland":h1.includes("wetland")||h1.includes("shidi")||h3.includes("shidi")||C1.land_type==="shidi"||C1.landType==="shidi"||C1.land_type==="湿地"||C1.landType==="湿地"||C1.land_type===2||C1.landType===2||C1.landType==="2"?"wetland":h1.includes("grassland")||h1.includes("caodi")||C1.grassland_category_name||C1.grasslandCategory||C1.basic_type_name||h3.includes("caodi")||C1.land_type==="caodi"||C1.landType==="caodi"||C1.land_type===1||C1.landType===1||C1.landType==="1"?"grassland":"woodland"}),l2=s2(()=>{const h3=[],x3=new Set,L3=j.value==="grassland",h1=L3&&e.compactGrassland;(h1?i:o[j.value]||o.woodland).forEach(([o1,l3])=>{const $2=C2(C.value,o1,l3,x3);$2&&!h3.some(j3=>j3.label===$2.label)&&(h3.push($2),x3.add($2.sourceKey))});const _1=L3?"草场面积":"图斑面积";return!U.value&&!h3.some(o1=>o1.label===_1||o1.label==="图斑面积")&&T2(h3,x3,_1,b1(I.value),"geometry-area"),h1?h3.slice(0,10):(Object.entries(C.value).forEach(([o1,l3])=>{if(x3.has(o1)||o3(o1,l3))return;const $2=K2(o1,l3);j2($2)&&(h3.some(j3=>j3.value===$2||j3.label===(m[o1]||Y1(o1)))||(h3.push({key:`fallback-${o1}`,sourceKey:o1,label:m[o1]||Y1(o1),value:$2}),x3.add(o1)))}),h3)}),v2=s2(()=>l2.value.map((h3,x3)=>Z2(B2({},h3),{displayOrder:S2(h3,x3)})).sort((h3,x3)=>h3.displayOrder-x3.displayOrder));function S2(h3,x3){const L3=(h3==null?void 0:h3.label)||"",h1=String((h3==null?void 0:h3.sourceKey)||"").toLowerCase();return["所属牧场","牦牛数量","草场面积","牧场面积","关系面积","重叠面积","关联牧场数","关联牧场"].includes(L3)||["图斑名称","所在乡镇","所在村","所在区域","图斑编号","图斑类别","数据状态","资料类型","数据来源","图斑面积","小班面积","图斑地类面积","地类名称","湿地类型"].includes(L3)?x3:["基本草原类型","草原类型","草原类","草原型","湿地草地型","草原级别","湿地级别","退化等级","功能类别","保护等级","森林类别","林种","质量等级","优势树种","起源","龄组"].includes(L3)?100+x3:L3.includes("产量")||L3.includes("亩产")||L3.includes("植被")||L3.includes("优势草种")||L3.includes("优势度")||L3.includes("海拔")||L3.includes("地貌")||L3.includes("坡")||L3.includes("土壤")||L3.includes("郁闭度")||L3.includes("树高")||L3.includes("蓄积")||L3.includes("生物量")||L3.includes("碳储量")?200+x3:L3.includes("权属")||L3.includes("所有权")||L3.includes("使用权")||L3.includes("经营权")||L3.includes("调查")||L3.includes("调整")||L3.includes("划区")||L3.includes("单位")||h1.includes("owner")||h1.includes("qsdw")||h1.includes("zldw")?300+x3:150+x3}function T2(h3,x3,L3,h1,C1){!j2(h1)||h3.some(_1=>_1.label===L3||_1.value===h1)||(h3.push({key:`static-${C1}`,sourceKey:C1,label:L3,value:h1}),x3.add(C1))}function C2(h3,x3,L3,h1=new Set){for(const C1 of x3)if(!(h1.has(C1)||Y3(C1))&&j2(h3==null?void 0:h3[C1])){const _1=K2(C1,h3[C1]);if(!j2(_1))continue;return{key:`${L3}-${C1}`,sourceKey:C1,label:L3,value:_1}}return null}function j2(h3){return h3!=null&&h3!==""&&h3!==" "&&h3!=="null"&&h3!=="undefined"}function K2(h3,x3){var C1;if(!j2(x3))return"";if((C1=s[h3])!=null&&C1[String(x3)])return s[h3][String(x3)];if(["xiang","xzqdm","town_code","area_code","areaCode"].includes(h3))return V2(x3);if(["cun","village_code"].includes(h3)&&s3(x3))return"";if(["grassland_level","grasslandLevel","level"].includes(h3)&&m3(x3))return j.value==="wetland"?`${Number(x3)}级湿地`:`${Number(x3)}级草原`;if(u.has(h3)&&s3(x3)||n1(h3,x3))return"";if(U3(h3))return b3(x3);if(typeof x3=="number"||/^-?\d+(\.\d+)?$/.test(String(x3))){const _1=Number(x3);if(_1===0&&p.has(h3))return"";const o1=Number.isInteger(_1)?`${_1}`:`${Number(_1.toFixed(2))}`;return["xbmj","tbdlmj","geomj","area_square_meter"].includes(h3)?`${p3(_1/666.6667)} 亩`:["acreage","mj","area_mu","pastureAcreage","pasture_acreage","relationAcreage","relation_acreage","pastureOverlapAcreage","pasture_overlap_acreage"].includes(h3)?`${o1} 亩`:["yakCount","yak_count"].includes(h3)?`${o1} 头`:["relatedPastureCount","related_pasture_count"].includes(h3)?`${o1} 个`:["length_meter"].includes(h3)?`${o1} 米`:["totalAcreage","cdAcreage","sdAcreage"].includes(h3)?`${o1} 万亩`:["cdScl","sdScl"].includes(h3)?`${o1} 万吨`:["areaWanMu","area_wan_mu"].includes(h3)?`${o1} 万亩`:["xc_yield","xcYield","xb_xc_yield","xbXcYield","gc_yield","gcYield","xb_gc_yield","xbGcYield","edible_xc_yield","grass_yield","grassYield"].includes(h3)?`${o1} 斤`:["mu_yield","xc_mu_yield","xcMuYield","gc_mu_yield","gcMuYield","xb_xc_mu_yield","xbXcMuYield","xb_gc_mu_yield","xbGcMuYield","edible_xc_mu_yield"].includes(h3)?`${o1} 斤`:["vegetation_cover","vegetationCover","lbmjbl","yu_bi_du"].includes(h3)?`${o1}%`:["elevation","tu_ceng_hd","soilDepth","soil_depth","pingjun_sg"].includes(h3)?`${o1} 米`:["po_du","slope"].includes(h3)?`${o1}°`:o1}const h1=String(x3);return j.value==="wetland"&&["grassland_level","grasslandLevel","level"].includes(h3)?h1.replace(/草原/g,"湿地"):h1}function V2(h3){const x3=String(h3||"").trim();if(!x3)return"";const L3=x3.replace(/\D/g,""),h1=wr(L3||x3);return h1||(s3(x3)?"":x3)}function s3(h3){return/^[0-9A-Za-z_-]{1,12}$/.test(String(h3).trim())}function m3(h3){return/^-?\d+(\.\d+)?$/.test(String(h3).trim())}function p3(h3){return Number.isInteger(h3)?`${h3}`:`${Number(h3.toFixed(2))}`}function U3(h3){return["survey_time","dc_rq","create_time","update_time"].includes(String(h3))}function b3(h3){const x3=String(h3);return/^\d{4}-\d{2}-\d{2}/.test(x3)?x3.slice(0,10):x3}function Y3(h3){const x3=String(h3).toLowerCase();return["geom","wkt","geometry","the_geom","raw_properties"].includes(x3)||["bsm","ysdm","gid","id","objectid","object_id","fid","key_uid"].includes(x3)||["shape_leng","shape_length","length","perimeter"].includes(x3)?!0:["xzqdm","area_code","town_code","patch_no","land_number","plot_code"].includes(x3)?!1:["di_lei","qykz","stqw","lyfq","tbybh","patch_code"].includes(x3)||x3.endsWith("_code")||x3.endsWith("dm")||x3.endsWith("_id")||["create_by","create_time","update_by","update_time"].includes(x3)?!0:x3.includes("geom")||x3.includes("boundary")||x3.includes("wkb")}function o3(h3,x3){var h1;if(Y3(h3)||!j2(x3))return!0;const L3=String(h3).toLowerCase();return!!(g.has(L3)||L3.includes("number")||L3.includes("patch_no")||!h.has(h3)||s3(x3)&&!((h1=s[h3])!=null&&h1[String(x3)])&&!["xiang","xzqdm","town_code","area_code","cun","land_type","grassland_level","level","gjgyl_bhdj","bh_dj","ld_qs","qsxz","tdsyqs","zl_dj"].includes(h3))}function n1(h3,x3){var L3;return!s3(x3)||(L3=s[h3])!=null&&L3[String(x3)]?!1:["resource_type","grassland category","functional_category","aspect","soil_depth","soil texture","cdsyq","cdsyq2","cdjjq"].includes(h3)}function b1(h3){const x3=W3(h3);if(!x3)return"";const L3=x3/666.6667;return L3>=1e4?`${p3(L3/1e4)} 万亩`:`${p3(L3)} 亩`}function W3(h3){return h3!=null&&h3.coordinates?h3.type==="Polygon"?R1(h3.coordinates):h3.type==="MultiPolygon"?h3.coordinates.reduce((x3,L3)=>x3+R1(L3),0):0:0}function R1(h3=[]){if(!h3.length)return 0;const[x3,...L3]=h3,h1=Math.abs(D1(x3)),C1=L3.reduce((_1,o1)=>_1+Math.abs(D1(o1)),0);return Math.max(0,h1-C1)}function D1(h3=[]){if(h3.length<3)return 0;const x3=h3.reduce((_1,o1)=>_1+Number((o1==null?void 0:o1[1])||0),0)/h3.length,L3=111320,h1=L3*Math.cos(x3*Math.PI/180);let C1=0;for(let _1=0;_1x3.toUpperCase())}return(h3,x3)=>(G(),J0(l0,{title:"图斑详情",width:t.width,height:t.height},{default:e0(()=>[w("div",KE,[t.loading?(G(),z("div",qE,"正在查询图斑信息")):t.empty?(G(),z("div",JE,"当前点击位置未查询到图斑")):t.feature?(G(),z(B3,{key:3},[v2.value.length?(G(),z("div",XE,[(G(!0),z(B3,null,H3(v2.value,L3=>(G(),z("div",{key:L3.key,class:"feature-row"},[w("span",null,i2(L3.label),1),w("strong",{title:L3.value},i2(L3.value),9,ZE)]))),128))])):(G(),z("div",eN,"当前图斑暂无可展示的业务字段"))],64)):(G(),z("div",QE,"点击地图图层查看图斑/要素信息"))])]),_:1},8,["width","height"]))}};const tN={class:"topic-switcher"},nN={class:"topic-switcher-menu"},aN=["onPointerup","onClick"],iN={class:"topic-title"},rN={key:0},T7={__name:"TopicSwitcher",props:{modelValue:{type:String,required:!0},topics:{type:Array,default:()=>g8}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,a=e;let i="",r=0;const o=s2(()=>{var u;return(u=n.topics)!=null&&u.length?n.topics:g8});function s(u,m){var p,g;if((g=(p=u.currentTarget)==null?void 0:p.blur)==null||g.call(p),m===n.modelValue)return;const h=Date.now();u.type==="click"&&i===m&&h-r<450||(u.type==="pointerup"&&(i=m,r=h),a("update:modelValue",m))}return(u,m)=>(G(),z("div",tN,[m[0]||(m[0]=w("div",{class:"topic-switcher-arrow"},[w("img",{src:Fi,alt:""}),w("img",{src:Bi,alt:""})],-1)),w("div",nN,[(G(!0),z(B3,null,H3(o.value,h=>(G(),z("button",{key:h.key,class:r1(["topic-switcher-item",{"is-active":h.key===t.modelValue}]),style:z1({"--topic-color":h.color,"--topic-item-width":h.width?`${h.width}px`:void 0}),type:"button",onPointerup:p=>s(p,h.key),onClick:p=>s(p,h.key)},[w("span",{class:r1(["topic-name",{"has-sub-name":h.subName}])},[w("span",iN,i2(h.name),1),h.subName?(G(),z("small",rN,i2(h.subName),1)):k3("",!0)],2)],46,aN))),128))]),m[1]||(m[1]=w("div",{class:"topic-switcher-arrow is-reverse"},[w("img",{src:Fi,alt:""}),w("img",{src:Bi,alt:""})],-1))]))}},rh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgB7dEBDcAgEACxZ/5NTgkg40JaC137mgesf57wDSlCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTEHKbcBaYZyb5dAAAAAElFTkSuQmCC",oN=""+new URL("pathLine2-d4134d4b-balabala-1783905032331.png",import.meta.url).href,sN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADzSURBVHgB7dEBDcAwDMCw9vw5f4MRTTYF73/NC3bnBd+QIiRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSIyQGCExQmKExAiJERIjJEZIjJAYITFCYoTECIkREiMkRkiMkBghMUJihMQIiRESIyRGSMwBQCIExogIrTYAAAAASUVORK5CYII=",lN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMxSURBVHgB7dZBDcJQFADBB/kCuHAgAQckHAA3Tf27aIXsjIjNXv7bfgyQdB0gSwAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgbN2erwGaHACECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCECQCErfv7M0CTA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw9fj+BmhyABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABB2Amb1BS2MWc5zAAAAAElFTkSuQmCC",uN=""+new URL("ocean-bg-8c848b8f-balabala-1783905032331.png",import.meta.url).href,cN=""+new URL("rotationBorder1-2ce8e0ef-balabala-1783905032331.png",import.meta.url).href,dN=""+new URL("rotationBorder2-7496b968-balabala-1783905032331.png",import.meta.url).href,fN=""+new URL("chinaBlurLine-1a2cbc0f-balabala-1783905032331.png",import.meta.url).href,hN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA0ESURBVHgB7Z3/VRu7E8XFO+9/kgpIKoAOEioAKoBUAFSAqSCkAkwFQAVABUAFhAoIFfjt3bzl+TlGtndG0oz2fs6ZY/L94R2v9u6MpJG0FkKYBELIXP4KhJB3oUAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIFAghESgQQiJQIIREoEAIiUCBEBKBAiEkAgVCSAQKhJAIfweSlA8fPoRPnz6Fra2t9u+NjY23/wyfsBg/f/58+/z161d4fn5++/vh4aH9JOlYC9wXSw089F+/fg2bm5tvosBnSjqhwO7u7lrx4G+iAwUiAA//7u5uKwh8LooGuehEcn19HW5vb9+iEFkdCmRFECF2dnZaQaSODlpAIBDKxcVF+0lWY0Jb3s7OziaeeXp6mpyfn08aobu67wXNlbPFDQ9WLUAsBwcHkyYSumqDzObKWRP28vIyqQ1EFQrlT+M8SA+Qy9dGE0lCE1HCzc1N288i/+FK0RaspjTrPRqhsJ/y21w5a8ZqTLPmMfTUa3ApFuYqMEQrpcY0ax5d6tUIxc2wtjauFC2xw8PDtze/NH0YQpo1SzfqVbINC5grZ3sZUgTk1NPg39LvHUqaNcv9/f2Q0i5Xzq5s01FjlibVEn33eDyeDJmTkxMz7ZzQXDm7tM2LGrMgZWj6JL2vMcQ0axbc45qjSZW1WBjHv7y8XKp48PT0NIxGo9AHfD86sKsUKaL6FrVRXcn66+vruyXr+N719fW3znFXMm8N/Jbj4+NwdXUVasSNmpcxhP1VQPoleQO+l2bhe/F2Re0WOrbNwy2KVp3hOxC5kB7iu3ENK32hSlMuV85GH5wmakz6gLH+vtfFgwo6QRwdHbViyP37cU1ce1FamRq0gcaLwJC5cnauIQKgPyGh77Bv90a39lBAuIhuJaIL2qKifokrZ/8wvDml4gAaw75WDSle7shSkUhcOfs/gzg035C1T4LhgUVU0XihLAPapkS6qWyunH2z/f199fQB31dZ/jzXIBS8DHIIBfcUbeXp/syYK2dbww1PRTPk6+peSA0d+xxCcSwSV84mFQfAG8/T/dAwRJQcS4mdisSPs9p9jllqnxVeZMtUH0hw2ifx4SgaL5U48L1INbzci9SWsn/iUCT2ndSY53iPoUeN2D1PFU2cDQHbdhCjSqnEwaix2DBokQJpoWhGs+1g3/KRRY3D9dbLm9Zk7CxoWwe/365zqxYeLsPAFvuoGe4Z7p02DgocbTrWFQFqglnkIUwEprQUi8SMR3N7TqXolA9tAjClafdLpEsOEps9p7RHTygOfdMWieFiUVsOafc7KI50pi0So6OKdpxBmNWE4khvmiIxmmrZcUZzlITiyGeaIjGYatlwBOUNWmCkxcrvGoppjm4ZS7XKO6E5aoUoZOE3Dc0wfK6VARhbl1PeCWyaoEFla6HdmeaL7vv371Z+V/mbqkUFyzvdm+Zmekbas6wDWtGDnXI7hj6EBkY67OUurvW2qXlHEq+mNdlroAzF901kv8OmaS1wM/DyK3NhregxwPMq3JhWqlU4ipS5sEb0YGpl3ypo5/wX1Rq5Ympl37TaulQUKXJG4cnJSZDy48ePdtt9Yhu0EY6YkKJxrmRf3L1R2DH3ZZgVl3bYS82uZ48gGofUM3r4AgcEoc0k4OCgptMfSpBVkdJSBPz/c/tMk5tGFClUZ5fvYhpDuxzW9WsaZfG5O+tZU6z9/f0gAWnV7e1tID45Ozt79zzGZSnRWc+mRml6JTkqjWbDpFGkwObieS6kkV5x5Mq/oS8iJWealS3FkqZXSK04cuUfpFjSNDl3mpVFidL0ip3zeky6KWDmkcz0F5FODg7xUJuaTWPId2NjI4uvWVIs6eTg1dVVIPWANOv6+jpI2NvbCznIIpCdnZ0gQXoziT3G43GQsLm5GXKwFn6HkqQ0OWNo0qzQl7W1tUDqAqUjeC7w2QdEoY8fP4bUJI8gW1tbInFwYrBO8IA/PDyEvkBYTT8kpCa5QCTiAEyv6kXattvb2yE1yQUi7aAzgtSLtG2RnaQmuUAknSlpGCa2QdtKarOk2ckyZOmD9IXiqB9JG+cYyUoqEHSk+o5SgMfHx0DqRtLGiCCS52sZkgpEmiOy/1E/0iwhdZqVPIJIkK4dIPaRCiR1Rz2pQKTqZh+kfqQV2q5TLIlAED0YQepH2s6DTbG49mM4SNp6fX09pCSpQCSlAIwew0EiENcRRAIjyHB4fX0NfRlsH0Ry04gvJNmCa4FIYIo1HCy3tVmBEGIBCoSQCBQIKc5oNGpXjfaxz58/h5RQIIREoEAIiWBWIKmH7whZhqQCkQzfpS4hIGQZzAokx5YuhCwiqUCen59DX3Js6ULIIsxGkBwL8glZRFKBSAoOpevZCdHAbAQBjCKkNEkFYn29MSGLMJtiAQqElCZ5iiURSa4t7kk5rKfRf4fEIM3qexMYQern/v6+/cRzcnd31+6FJt2SVJukR1idnZ1NJDQiyXLUFi2/oW3foxHO5PLycnJ0dJT1VNtZyxJBJGB3eO6PVSexnf+RPcCmT7TFc4AIg+1K8Xeu5yKpAqUHeN7c3BR7e9DSGtpWQo7sIssRbC8vL6KjtrAohmvU66N5xkNfMPiTerEUyFLuLjlJCMJiZ70+plOnPuTa+T+LQKS54v7+fiB1IT35OOfR4MnzOGk/BIfO4/D5HL7S8hjaVAKeqRx+ZokgyBelhYvSsw6JHQ4ODsT7NufaeTPbklvpiaaHh4eB1IE0Zc59sFKWUIXJHilMs/ybNN0GmScO890cad45Go1y3hhaAjs/P59IeHp6yupv1l1NLi4uggSkWVxE5RfU5En7krnTq6wCkQ7NQRxHR0eB+ATikFbvSl+yfcgaslCEJoFDvn4N6ZGn9AqWfeM46WgWo4hPkB5Lo8fp6WkoQVZF4u0v7awzivgyjFxJowfINTk4bdkjCIoOpXkko4gvNKLHeDwudixfdlVqzImUeqPQVjONeY/CbV3kouK1AIBrRexbBe1c5sJaUQRLMgvePFrEDg4OJhqUXHIbCl5Y5e2CDjtTLXum1TE3kCWUu7hWFGGqZc80Xn6gcPSAFb242o1kqmXHTk5OJhqgbsvA7ynrQGzrl1Ux8LYZvGm2p5HUubgD4r2zOpDzsj9SzrT6HcBI9ICVd0Jjdr0DtV6cZS9j0jq7DmMvOhNOtH0ILQy9fQZj0nUe02B42NBvM+OIWocdoKNo6bfVbFqdcoAoZOz32XEGYVUr1QIUSXrTFAcw2Ic05YxqqgUoknSmLQ6jS6rNOaSaagGKRN+0xWF4steeU9qpFuBEop5pi8P48LxJp9TKUADrtXQMw+eao1Udu7u7ln+3WcfanFQDHsIjN7xgtOY5pnGwlZNp59pThiQYG1N3aYjmWjPk06BtHfx+2w4irPdtHG40J7fDw8NJCtCmTioezDvYq8aH4pDfc+3RxA5nNXMunGz7EcuObKH40cvvsmiIGtqjiB0OB0zcOLqUSJzktSYtZdToxOFwwMSVs9F1zlqVvBjnH9KwMO6Z9tzGPJwOmLhytrV5ItHKa7sHBd9X++RiJ4xU6VQF4oC5cvbNcMO7htUSx7zBAPwb16opouQUBq7hfKjdlbP/M+SzmiMisVliXAf/vWeh5BRGJ44KJmldOZvMVtkBEB1ZL29FiAKlHCk73/PAC6WSCgZXziazPmUUeEMiqlirJYIoMPsN33JFi2kq2xvAlbNJTGsHQLyl0bEv8ebENXFt+FBCFB0YZq9pT4C1f/8YNM0bT7z7+CzYxf7h4aG1u7u7t3/jUwJ2toevjSDC5uZm+wmzcDQdzu8YjUahJgYvkKbTmrVRIRBs4z/9+fr6Ovd/u76+3j74nShgFs9oxG/Y29vLfn5gDgYtEDxwiB6kPxDFt2/fip3dkZrsB+hYAtGD9ANR4/j4OGxvb1crjg7zHaUUprlF5tDAQMCASnFcOatmKRYA1Q5Gxwa4tt+Vsyqmud59KGAJwUC3dHXlrJohRRiPxxMSB+nUwNf0u3JW3RBNcpdheAD3hMdJBAqkMwrlNxTGH+bK2eQ2xNQLnW/0MSiMuebK2WwGoaBGq+bRLhRoYnMLnqcSNVfOFjG8WRFVahALo8VqxmLFFWkerNBElvDlyxf1AsdUYKb7+vo6XF1dVVkvlRIKRAAEAsHs7Oy0FbVWBIMyEIjh8fGx/ay9FCQlFIginUggmq4UPXX1LR5+lNE/Pz+3n4gQFIQeFEhiIJBOKF3JOsrYu2izKOogGnSl8SiL70rkIYbub5IOCoSQCIMudydkERQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRASgQIhJAIFQkgECoSQCBQIIREoEEIiUCCERKBACIlAgRAS4R+Py6dcyrAs4QAAAABJRU5ErkJggg==",mN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA4qSURBVHgB7Z3xVdvMEsX15bz/k1RAOoBUQDrAHUAHpgOgAkgF2BWAKwBXEKggUEGcCvx09d76M/LMalfalXal+zvnHhPFllbWXu3MrCT/UxTFtiCEiHwqCCEqNAghFmgQQizQIIRYoEEIsfCfgkThy5cvlU5OTopv375Vfx8dHe2WY9n++yQ2m00l8Pb2tnt9f3+vlr+8vFSvWGbeR8LyT8Eyb2dgAuj4+Ljq+MYUfQKTQDDNer3e/U26QYN4YkaFs7OznTG0EWBozCgDrVar3YhD3KFBHPjx40dxenpavUI58/z8XI0weIWIHRpEAUbAKHFxcRF8hDC5xX6OoWFyFFuu0haEYTDJcrmkWRRokD1CmcLE/0imTW5gEmmTbLcFuY1J+s3fyH1M6NelzTTLIZM3CDrWfD4vZrNZqw5mOtbr62v1OmRFyZhkv2jQdp9ubm52+zN1tlNUOVpsHx4etn/+/Nn68OvXr+3d3d22NNS27JDJ7yfaiLaizWi7L/f399V3lfp+RlRWje0sHOynpyfnDgID4f2Xl5dZGKJJZUi2LUPI6uTgA74DfC6nfQ2krBrbWji4v3//duoMxhT4zBhMoQn75msWfIcTM0pWjfWWjzHGNFL4yowsrmHYhIySVWOd5RpKYbRAfD7xOPuDysR+u1gsti7AKMhxcto/T2XV2EbhTOhqjOvr60mOFj7fpesIjGQe789p/xyVVWNVoaNfXV01Hkgc7KmGUV3kahQcg5F9t1k1VhTCo6aDN8HkMopcjDKy7zqrxn4QzlRNFRiGUnHkYpSRhF1ZNXYnl1EDyTeNEU/o/PiORz6aZNXYqsPf3t5aDwqS9JEmjEnKpTCCY5bpySqfxuJA2EYNhFNIwHPapzGpKezC/2V44sqjofP53HrdFHIRhlPDCwawzaFkeBJLv5G2kApf+MgnqrJU02iCcnAm+5Ju4zAi2GJb5hppqyk3wWUtGRy/NBvWlG+gdJtq26mPwrHSyCAvSa9RuBZIyzewnNdN5SdbWR7LccwTbXtaDTo/P1fNkcmQTClqigpw7BNsdzqNQaVKA5URVqnyF46hbXIxwQpXGg2xXWjIfGN8suUliVW4hm+EzRyc+BuvMjHJsA2wmYNX345fOMaJm2S4jWs5BytV0xKOtVaYSSCCGGbDqFho5ki45EdFkq20P3B1a5gvg+agpH4hmWTgftHvBm21cIZVFPqAdvIcaA6sv43ZzMGEnDLSEnf0nQHmwvrbmPbMJc5zUHUhOZfAxY89t6WfDWnlXJqD0qTNk+D2hx7bEX8jWjkXlxz0uKNUhtJuvuqx/Bt3A8g7pMrEQPEklZnQR6TQvMekPe7OSUl5pvcmUwNp4JNsvJVrt8qynEv5Siv/9pCPxFmxVqpjUk61lZa0Rz7hhl+pNt8xQImOGpmke9wjh1rhV4pHTko7wbyD6iotH8FjnyJtM+wKtdCKM+VUKOExTz2GWuFWplWtMKLE+KKo6Up6aHmkUCvcyqTZcoZWVAzBCFKoFaEIFGZFMAFDK6pPaddrBT4hh1mRlJizakXFllTVCtzvuq9ES5oYWlGxpUUuARP27iuREnNeiEj1Jek5WwFHkW4rkMq6TMypPqUl7IHy324rkEYPJuZU35IuQ0HfDLDu9h/WRo8+vhCK2pc2BxfgZN3+wxw9qJQU6YSdVGMoqpOkk3bHila7D0r1Z44e1NCSJg87VrT8PyTdvMLRg0pBWkWr7SjyqWjB+fn5wbKbm5uCkKHZbDbFz58/D5bP5/OiLV6O0mYuOe9BpSJpFMG/21zp6z2ClEPVwbLFYlG8vb0VhKQARpHlcvlhWWmOosxPijZ4OUqqEvCB01RqkvJkPD6oxboG2ShFRZdUafVN1r1CLCk5lxIiQlJgtVodLJvNZoUvzm6Swism51Sq0pJ1z/W4vVEKrx4fHwf/EijKpq5hlnOIJYVXpUEKQlKmXs0CvmGWk5Ok8IoPn6ZSV9cwy2kEwdxHmWt8WIYECPVmQlIGffTl5eXDMsyJSPN5Es4GqcPwiuSCVM1yNQhoHGakRIfVKyoXIcyq43GFr//KOTlI5SbpR3hccujGEOvk5ORg2Xq9LgjJCanPSn27TqNBpJLY8/NzQUhOSH3WpdzbaJDj42OnjRGSMlKflfq2hDUGq9eQmX9Quao+l+cyH2IdQRCjoWa8T72mTEgu1PMQ9O2mPMRqkPrkIHh9fS0IyRHp5N7JINJkCkcQkitSHtLJIFISQ4OQXJFuC5eipH28QiyYg9dfkVxB362bpKmSpRoECUzdIDQHyZ16BIQ+Xi9E7aMahAk6GSPv7+8Hyz5//qy+3zqC1OGjfUjuSH34+/fv6vtVg0jZPQ1Ccsc3UfcaQZiDkNyRDBIsBymn6gtCckY6yR8dHanvVw0ifUhKcAjJCWkE+fr1q/p+56eaMLwiY6Hel1tVsTgHQsZKvS+3StKbVkpIrvj0ZecqFg1CxkK9L7eqYtk+RMiYaGUQQggNQogVGoQQCzQIIRZoEEIsqAZhWZdMBVtfdzYIy75kLPjM8TmHWDQIGQs+fVk1SP2qRxqEjIV6X7bdCMgQi0yOICPI379/D5bZbiwhJAekK3dbjSC+N5YQkgOSQWw3AnqVeZueQkdI6vg+a8FrBKFBSO5Ifdj2OF3VINKHaBCSO1IfDjJRqK2ckJyQnsXbuszr+6BfQlJHmgNpPZPu+6BfQlJG+kWppqeFWg0ilb8YZpFckR6n2/RAdq8RBEi/OkVIDkgGafrFZm+DMA8hueKboBusP4Nb/xlo/JRu02coKkXhJ8yD/gw0YKJOxoCUoLv83majQaQkhnkIyQ2pz7r8YlqjQR4fH502RkjKSH1W6tsS1hisHJq2dRDLNX2OolJSPf8A6NsOn21e+dPTU9uVU9TgKvPmg/6LPu3yWad70tfr9cGyi4uLgpAckMIrqU9LOBlEmkw5OzsrCMkBqa82TRDu4zTU1OdD8G+GWVTqknJon7k858f+LJfLD/9GXXk2mxWEpIzUR31GD+DkpDKOa53oUNRQenh4OOi36Mse63DfGMMsKidJ1SvfS6W8Hl4thVmsZpFUkapXvuEVcHYTwywqJ0mTg57hFTTIRikqqk5OTjqHV5D374OsVquDZaxmkdSYz+cHy25uboo2eDkKSTmTdSplSck5wHLfdXmPIHgCRD3RQbJ+eXlZEJICUnK+WCyc7h6U8HaVlKxzFKFSEXKNgHlyu0ZIV/iWo8ggXwhFGZXTDgf9smOltd0HpVGE96tTQ0saPWCaDutMqjEU1VrS6BHgpB2+QcxFqCEU6YQdvlHX19e9fSkUBUUaPaDwDWNFi+pTmN+IGO53b6BU0bq9ve3tC6KmLfS1SKMH1H0lUkULtJm5pCgfabPms9ks1DbCNFQaRXilLxVbUr+7v78PuY0wK9KczMlDKpak/DdC5BKuwahe1WHCTsWQlphHqKCGWxmMIDUa9wXH+qKoaQphVJ1Ic3BhG64l7AGTJmri0kKrSFdxhN8B6UkSCLVY1aK6SgutAifm+wq/Ui3UYlWL6iqpaoW+FvHkG2dHtFDr6uoq1o5QIxf6To+hlVG8Hbq7uxN3iA95oHylnXDRxyJvO97KtVCL+QjlIy3v6OnK8fg7V3/IA8Djgzg/QjUpgZNs/J3EbLpExMoDNRJJFyKCHq/Q6GUjaj7CpJ3SpCXlPd9v1NuGxBJdz2cDKhNp5hjg9zH725gWT4Lz8/O+d5xKVOgLEpHnOzT1ujE1aQcs/1JaOXcgc0C9b7B6sLBkEizD/w3RJmp4af0CDNgvBtmoesEZTTJN2cwx8KOkBtuwWv7FF8VwazrCsdbMkUABZ9CNizdZGZi4j19aQg4SeXzU4A2wmoTzJOPVfD5P3RxQEo2gSSYmbZ4jMXNAyTREzUkALjngtVv5C8dQul3WkOCkcVKNUatbYMBaOBVAOHbSb1wCJOmJPvg8uQZVJT9txh3LWeHKT7ZKVeKl/SQbpd4DYGBeko9s+UYGUUGyDbMOyQAXPzLkSvv4aReomuOXQV6ZdOMq2SpcOAPxR3vSEx7zpIVUoIdbZUMpi0ZW1Q3bF47KCEeT4YURQXrskwHHMLPbG7JpaGNewtFkWGHiz3YSy7QKmVVjqzOUdneigblJv2rKNQCOWabzWFk1dieMFLbRBGBykUaJJ3R47Z7x/VEj87J8Vo39IHT+xWLReIAYdoUVjIHSrS2cAshFRnD1Q1aNFeUymtAo/X7XI5rMzaqxqnCmspWDaZRu3y0qT03GADgGI7tmLqvGNsol7No3CnMUXa6hFBhxYSSrxjoLE1UuZzyAORTe5vuvEB4h+XY1xsivjcuqsd5yiZkNuKxlqqOKCaOayrWGCYWqWTW2tXyMAlCBwWfGfA8K9g37CFO4jBYTM4ZRVo3tLNMhfDBmGcPIsj9SuJoCTCCU0pRVY4MJB9slma+DMAzxOXKcHEYXtBFtRZttV0ZLwEA4OUz5/pt//v/HZClHhaLsAEVZran+9uXl5aXS6+vr7u/NZlMMQWmG3f4cHx9Xr233abVaFXd3d4PtSypM3iD7oEOVoVRxenraqmMZjEnw+v7+Xry9vVX/xivUBbTLGAE6OjqqXssqXKc2o33L5bJ4fHwsnp+fC/I/aBCFUGaRQGfclw2YYV+h20FT2KFBHIBZIJgFrzkDI6zX6+qVpmiGBvEEZ3GEM2XiW8X5+Dv0mT0UJsxDfoRRYsj8KFdokACY+N8kxyY/6BPkNibnMcUCiHSDBomESaTNiINXk1AD82rLLfZzFJPoQzCBSfrNqMCRIQ40CCEWPhWEEBUahBALNAghFmgQQizQIIRY+C9cNXNlJEjHoQAAAABJRU5ErkJggg==",pN=""+new URL("huiguang-3c5dfda5-balabala-1783905032331.png",import.meta.url).href,gN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFPSURBVHgB7ddhbcMwEAXglyEoBEPoGARCIYTBymBhMAgrhDFoIZTBIATC21lxtGhdYieOW7u6T7L6x5HvfPXJBpRSSj0jko2MGqWTJL7tQMkkgSN/tSiRBG5cNQadjB1KI0GfeOsDJXHVmFKjFBLseSaRM0rg2q3PAbn7c8Cn2Dn5HnwJ7p3hWuSI/QHvFiRi5xrkhv+3W59P5ITz7danRi4YdsCn5NGOGdZufRo8kgSwi6zGIPoe9oI4bzIM4tkkjngExh3wqaoYrBRTkRbbslW5bzuWnTswnRorVFiB/dPVII1rVVWvWGjxX4t9qzRIZy9rpD34vH2+zrnIaN03dtj3+zXw27TPYvrvUxcXsMH8ZjRu7pw0z2JOt9sh+MU7GJCUwdZG1ejcwg03LP8oqa9RItvew9i325P7Tf6yY3/1GdbcQymllFJKKaUy9gO4eI9ILG1riwAAAABJRU5ErkJggg==",yN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA5BSURBVHgB7VxbjxxHFT516Znd9a537axDAhGJkQKCkEDCA5ECT0TwgBTxjgQviN/DD+BP8IgEAolAECQkcYAkCiEX2TGxY+9lrt1dF75T1T1T055ZO9u9thPtkdo909Ndl6/P+c6lak10KqdyKqdyKqdyKqdyKp8rEXQXxXvfqj8hhKe7JHcFmASQ+iwb31c+isM1vt8VgE4EmCVAiCWHpNv3b6kCgyJAPvl+oiB1DkwDlBSEWktU9VkN4mextBkchsgADb8bAaqBqcFKQeocoE6BqUBJgakBYQA0fwYYGhe04LnMQaLqM890NnEgYfi7jWe/Q1RQBKgGaaZF9y0wCSj1MdMMPoZEvQoQhaMnIlAMjhwRZXU7ZzBZzLBkBHoApQ9QxkQ5rjkAVJ6NwJU0B8hWjwYu6gqgToBpgCKTQ0ND+ls4TwAILqzhmjIF9YFIJjLqGWNkRlrjHMbiNRmttfUlFT4jC8QKHw82q5K1aBNAfQIgducalGpPJ+C0BibhlBQQtY8XDlXRUIv+Oj7n0Apwxrotyz70fksL8QVM4DFJ/itSyl3n3QU8l0shPoYNXYN6vEfSf2i8+hgojTeybAoNKgFwbqMGWbRZVPyDpucmdj8BU2uKqo4+E6uK5rPGgODcd8acxaC/pIT4IQD4Dp7+GkWTWjawgSX/qrP+RU/6j47MUGo9xs1jzH5SaQ+Dk+9G06oJuhOTagVMw4QCueLIBlFbAig4ztiSNpww2xjp93pK/gQ3f4Mqsr0D2Xfk/2Qd/UYo9TZMbKwyGlSmlQP0KWvOhag1M3DuF2CCpsDuM5BlvwbFFrTppNmEhpzD8QK05Od4qr/YhB9D98GvlFfX+FnQCG0s9EXifev9rwrn3si03gcCQXtwnmxGrjG0CE4rk9LUTlKy1ZhxjzlFxMmdAWwbNoLyPED5Ge7pJ+8iN879s/T+iifogfdlbFFkuKOfKXUBbT2FK+tVR4+Bl35BUv46n5pLPaUJrO3AOQ4eL9jSuUUibiXHBqYZyO1BY+BBJIPCnKJKOlMKs9MT8hlo0C8pgBK9hvH+KgD5O0Y/AmAMpAAgvbptXB8XxrxrhPior9QzAPnL1U9PAJyfukxcF4pK9GPZvVdo8KkmYVV9PrZ0pTF4f5SpGJ+wtvQttEU5t6u0ZvOpzcJbTx/kzv0DQJSsVYrduFwYhwefWCvl2Dk3nRrz0prWEog/wv3BOJ4GOM/mxtyASZXQFIOHjYxzYXBrrRGURMafVtoAMyNeuOYM2qKg8/1RCcIFKF7YLQz8OUH+sfoBjPjj3NrXMbtSk+gDkAwj34L27cAw1gIqgqZw0wMZIl85dYLGubOv9qRUMMmH0aOGlr0grHitAGyZWisRDzEwFqRvt+KLstSSP7vQGKFiNMu5j4Y9aWeCNzqnpHhSxIGGN2e9ewvvfD8Tcg3g9IHUdiYl4hixW0XCfCPCf3+zZFgk3cQ9hXHihpXiTeX9rogctNtT4slCZmxSQ3zna5xqqJs4zlcEzOZ+XAKWdAxJg7pPYpgvNypwQrgvEMl78RB+v1iDxwSLGX7E90rpGYQ1EOzjigO95AXFCYoLGcnH8XkTGtfXirR17ipAnVbtQSvFU6EvY/ommnDoXyX5VxvpooGQ70zjW8uECWeYidwGoz5Q3wcsP8S1AmaGuWICQu7I4EiWqryQwZvJXWgda4JgQkbKfbP6XUENdgDWjmWyL0vOteoX00ma0xqY81WWzG8azKcsmV5pEeWSY8JN3fM07Vd6fvTIIE9BzXYpguAUa533B/EnRpfWBKkNyxorBCeiQXPP3nkR7EhpA0zoeD8CE8wFLkIZC3+kmoMS9T9sg+xe/R0Mu26XOYJBhfcWtjFfD1Q0W19/nsXLvZitpyWQTy2tNaYWuE0JWxdaqdgmkhuMKp+RkaB1fC5BqFPcYOC2wdVHulMuMxzSvKxAbF58jm2Kwjrr7OrJt5pbZ8Cw6GSiFkEpVD9wQnx14lHmIAAGb0FD3Pg/XN5b1RbI+gD3XMa9AzxXyDjW3QoFCzd+TWpZqgS4LqUzYKrIk8uR0TUTDXFcTX5XCNMetSQ4JwJobs+QfwfXD/wtbXl+9m00ycAi6hc5nr0oYj2HJffWvmeRX5tQwlnUPN8oex5H2sQxoWOUGz1GziGnR+7igYwNma+Xk9L5d7US36ToTuGuxFfBoFcAznV2TajByJAWkHhICnk+NuoPEO98BE25ga97IKMxnnkQsc63aV7puzqy/oNeBi8HhA1CH8R9s3rM+XlqcM+SSPafnC6DcUNdlo/SB27xo9z6NxGxfhcuq851HkH8/5x37veOxCFMDRZBe6i7oBi1YBFTHwhXMOYbPaW+j/OD/AP3gQz7JTj0EfKLXPV0juKX4zEwqW92kECyHMuUmtFkVcBGlWEBnALF22Hh3e/weTh7FkEfPMnzoOgv4hsAEOAbcb1xHPJvuPc8gP0RHnu07gptvTE07m0EfTmi3rxETVRlWT6NfZqDOTD3zJRYHNS2hHvJKkCs8pqTw7GT9hCE2x8bxyXKP6xr9QOKNRYO0y/qSMavw6DewrXcxcoBhWRQyj6g/xY07euUvDzUYz4cGfdnBDgDmNcQGjfJ0B+vIvSq1YTtpIrXRtpyTHgrLsYmPDgD4y7G5STTvV6OyQ2FpLNQnUvgghy5wo9FVV+BSGjN0zgxB3GhalI1ywS7wcVyP3fFzFtXpsb9tvT2ak+oMZc+RQSU67+8ksDhb1r/vaeFqlAU2o5aozCaQmc0QcgineccBt7Ei5uoM7pxWb5ls0yuh1ovPSxiiYCFCXW7OqjGoq4bwBxHAPblnNwlFL2uKKn2MP1DAD21pZ6srYfab86xURlBae2RWFqTL1Wqi3S/HMZClQY4OYqxeYbyQXxtXpZey2lp37VK7K8L+WwmBRfC60W2W6K0anb78Gx/HVt7Cea1D4I5yBwNwS8ARk+he9OKz8LSyk6jtEkt5NjA8HxZqgFYZNmqH1WeuSZHgWpisVbkwY2Ih9e1sKjsi3FpXOYkvbIhpIX7fkJEMJfJ4cTavxSOPoA5jrW3I8G5qgJ/eT9CrxMfTWnKmrpVOQBasnx7HOnElHCIagmD3Q+TJXMOyrKaHPQHwdihBwNnLhSnHGotcuLcK8i2N+GhLi5pdzq19kVU+i4rL/axsjBADoF4hph0cdYTB5PF4KdAorCx75Lma9utpQtTSt8QxxIc01gedGDBEiUI4SWnhEqixBkIUYODrMTkXzuj9RYXnpLGfOncf6EGl4VQN+CZJkB6Aq1hUAZcfkDFbpJFTWETMnauLTUorRfdWgFTmVOdAQcXiVim5FnCS3AqTOCbTJbaO22gOWKAKhzqB24DvFMUXlxDqfOdNaU4OYx84/313Ps3OD9CYmWElANcO0RBeYLqdwEtHKlqyRbtT7fisktqQvcuwEulejOztWOA4vYqzeElVdYcqH2OItwY5TXwArhC0iEmfAMZxKTEehEmPgsA8eD7OFD+9Pu4Z8imI8ErYK4JYiQ2HwaFib5wi6uPna5dd5pdU7X74FxceOfAa7Ygz2+5NH6qlCp5kQ0aMQbrInbxe7CHf1XPj7HA9F5PAAwpJxyryJAwBmAZ4GlNuCD6opjveqj7bg1ILV0Bk3qB2fYMX3kp8EGOIhbMIIA0RqcFNGGEcvdIWD8syf2HeAHO+3/DxK7hHngg5EreF9AWeCLPMQrvfGDXXG5EbrG7i9rSqbQm3xUbDoNpbcUBl1NeoQxLHDp4D6fsFBWmPiLfEuYyRu32GkB52Tp/GcWoIY4c5oZcSTF/QFsAhI4RLQONYNJvL2pI89xauvBKTUk5JxxrMcEMOxJM1KACJoW37gb86pFxC8QmfxNxiWCMp+DRwTTIvr3iNlSuI6e49blLTvfndS4nAcwy4TfN0WBYNsU/TgcHhqURKQrOnxD4DOKdvJ6EQJkk4kAVch9XmWV/kVNmbdMJyEkAc2QRWoc4R1XaJHh1YUNy8CsJlsdkzCuSIWYc189wMlWsjmYlNcBps9CWjPP40uCXIwHpc+C2GIShnBK4X2MGD1QrAlj94CRUhoU137Gn+TRykqa0LC8M3krF4Iz3tPBCGu924J0QO/UzfE3OkuuVuxbEku91sNlaunLXTW2pd0GkYip3ywXzmSZUN4WVxOrrmbQt3Bt2NPSW50Bdx2Ez6UpjavsXjWu1pLEGEyi74b6PxaY9Jl8fNYiFl0puyLAHL65eZvMdU7Si/c7lpEypNhtVfTZVX+xduNLG4Ix43ZlNRQRemVX2uCJ3gN9GHAyuzZd2Q0xEtwLe7LcT6SqJZFmmNSw1QIFferHSFvbbYfL7GW9JAwgUTYifZyCQlNOA86wyApkn7ddVuqb4dFzUUk4qwGMQ6n0xdUDGEwrmkkUPFVbPTASCi+S8HJvxhkMTF/F5IW1SzE2vCUiagnQuJ+mVal6p44zaVdfgTItoRky8rBWijJoispgghj11vcVai0naWhXXdCJdApOaUpoW1N4k/RsAFtebAxW8SxLI8W+1ptXE29wBnhJ65yC1BuY2PJMCRLQIGk803U0epHerRjQBadZ106Mz6dqUmuWH5m9NYDQlkXDjXtO41y05p/fHRjr665OTIl+WELkm1+u9t7WH4nOR3Nt8nuhWs2mCMqscUsdy7B1HTVmRN6XbviQt7iRPry1LH9K/Q6onv4xXZuB3+cdcJxngsaRuO6TMtGhuR4X0Ta1Yde1EpDONYVlSzWtqTn2N6PZ/LLqKWJeaz339N5EsK8BhaYJzJ30vK10u9UD3PTC1rKgFC1oEhSezzJyaGuKXXI8Nflb+vHiZHKFFy3KrWx5vXvjM/kH6Kjn9LwzuUG4H1N0Eoin/B14zT4gj8tU+AAAAAElFTkSuQmCC",vN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAnCSURBVHgB7d3tURtXGwbgR563AN4OtgToADrAFYRUYKjASgV2KrBTAUkF0AHuQOrATgUn53iXQBxE9LHfuq6ZM/J4BKPhz3Pv2fusIgAAAAAAAAAAAAAAgGlYBDALKaVP+eU8pu2PxWJxHUDnBACYiRwATvLLQ15VTNM6r7McAL4F0Lk3AcxCMzgvoh6kU7PO68Lwh/7YAYCZyTsBp1HvBExJufL/EkBv7ADAzDSD9Cam48bwB4CW5J2AZRq/ZQAA7coD9nMar9sABqMDADOW6pMBd3mdxrisQ+MfBqUDADPWDNi3Ma6TAevQ+IfB2QGAI5DqkwFlJ+AkhvX9qKLSHwD0JIeAqzQ8T/kDgL6lYU8GLAMAGEYa5mTAxwAAhpOH8UleD6k/q1SfRgAAhpQHctUM5j6GfxUAwDjkwXya19fUna+GPwCMUOr2ZMBlAADjlLo5GbAMAGDcUrsnAzT+AWAqUjsnAx4CAJiOdPjJgFVS+gOA6WlCwD4nAzT+AWDK8iC/TLvT+AeAqUu7nQxYBgAwD3mwf9xi+Gv8A8Dc5AF/98rw1/gHgDlK9RcHrV4Y/uX/qgAA5in9+2SA4Q8AxyAP/PNnAeA8AIDjkAf/tcY/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwGFSSpdlBQAwOXmGn+T1KXaVf+gq1d4HADAZeXZXea3Kil09CwDFhwAARi/P7NNm+Kc2AkDxUBJFAACjlOf0ux9mdysB4PsvEgIAYHzKLfuX5nbsakMAKL4qBwLAODyW/TbM7FYDwCPlQAAYUKrLfg+vzOpOAkChHAgAA0j/LPvtHADexGGuk3IgAPQqz92f8stdXlXs6dAAUJyWDyEEAED3mlvwn/M6iQO0EQCKKuoQcB4AQOvS05P9ltGCtgJAUUUdApQDAaBFzS572fK/ipa0GQAeLYUAAGhHKftFPfxPo0VdBICihIDbsl0RAMBe2ij7bdJVACjKw4KcEACAPbRV9tukywBQVFH3AlrdtgCAOWuz7LdJ1wGgqKLeCbgOAGCjxyf7RYtlv036CACPPigHAsDLnjX9e9k17zMAFMqBAPCDVH/JXrnyr6InfQeAQjkQABrN7vhtdFT222SIAFBUoRwIwJFrvlRvGQMYKgAUVSgHAnCEmsf6lvv9g83AIQPAI+VAAI5Gcwu83O8/jwGNIQAUyoEAzF7zpXm9lv02GUsAKJQDAZitPN/eRX3MbxQXu2MKAMW3AIB5+n+MyJgCwG95XSwWi3UAwMzk+bbMLxcxkovdsQSAX/If5iovOwAAzFaec/f55SyvdQxs6ABQBv7PTSoCgNlrdrrLTsCXGNCQAWAd9Zb/5wCAI1JCQF5lJ+DXGMhQAWAd9fAfNP0AwJDyHCwPAvolBjBEAPg9rzNlPwD4uxz4NnouB/YdAErZ762yHwA8yXPx+8Vx9FgO7DMA3Cj7AcDL+i4H9hEAytV+ud//MQCAjfosB3YdANZR3++/DwBgK32UA7sMAPeh7AcAe+m6HNhVAPg1f/ALZT8A2F+X5cAuAsBNs3UBABzoWTlwHS1qMwAo+wFAB5oQ0Go5sK0AsA5lPwDoTLmt3mY5sI0AcB/KfgDQi6YceBMHOjQAKPsBQM+a2+3dPDkwpXSVXqfoBwADyrO4ymv1yqxebfrZfXYAlP0AYASelQN/j7Zs2AFYlbQRAMCo5Pm83GUH4LVf9GMAeDD8AWC8yu35tgOA7X4AmIA8s0/TUy/goACwDABgMp6VA/cKAJclBAQAMDl5hp/k9SEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6XUqrKCgDgOOTBf5LXKq+H8u8AAOYvD/1P6cmnAADmLQ/89+nf3gcAME950L9Lm/0UAMC85AF/ml73tbwnAIB5aBr/q/TfynuqAACmLT01/rdV3utkAABMWR7mt2l3twEATFN6ufG/LScDAGBq0uuN/21dBwAwDem/G/+7cDIAAMYubd/431Y5HlgFADBOaffG/7ZWyckAABintF/jf1t3AQCMSzqs8b+tDwEAjENPw/+RkwEAMLQ8kM9T/84DGJVFAEcj1e38cm++in59y+tssVisAxgFAQCOxIDD/9E66hDwLYDBvQngWJTn9VcxnKr5DMAICABwBFLdxh/DE/rOk5MBANC91G/jf1tOBsDAdABgxvKgvYzxbrtfLBaL+wAGIQDATKW69PeQ11gfyetkAAxIBwBmKD01/sf8PP7y2e6SLw6CQdgBgBnKQ7Vc+U/la3m/5F2AswB6ZQcAZiaNp/G/rdPkZAAA7C+Ns/G/rfcB9MYtAJiJNO7G/7au8u2A3wLo3P8CmJOfY9r+DAAAAAAAAAAAAAAAAOCZvwCgkvxAcNS/iwAAAABJRU5ErkJggg==",SN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAD/CAMAAABb2Q/2AAAAsVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+3mHKcAAAAO3RSTlMABQoPExgdISgxJTYsQDtTRUr+9vpOWXJdaWVhgIx2om2n6oiWmYTKr5G68J22eqvBfeHZ5c++1LPdxUM4ZWUAAAZvSURBVGjerdrZdpswFAXQmnk0EMB4Ajwbz2Mc1///Yb0SuLg1km66mtfsdRBXRyIP+fH205IURZZa7794h7KqKZKEkrqFCgVpOSpOKoaJljZWOm1VwUnTRUv7/0sbvc62r2FlgJOy0o6x0kVL30NJiUh0ZkfHZuLXGWj/PTNArzPu68hMr4/MVEGqMlJaWNkDKWGukM4IK70uTipq3NVBthASMoWb1CJS644cIoG2OJDIQUYlm4KDH7mWxDJoKfX+3iSyooxEMqRSyhVlJFJp9YY2SGZoiyGZkMh+YtPRN4eWDqQCckSl1CoxIxKkQTMVSWp+pyeUQY4WbSqftuG9S+kkqWupitwkgdZSe5VSo5SeMgOpiaWqmfuVb1BZUUbkU6pyHdokJSJPs0AoZcjU7WRBMhWgQjnkSqmW2dB3ailx5HAW1FJqzJRLOd3Gjo6R7cVTym+y9aecbr1KCjLdae7hMt0090yupBAq/yLld1lHapa7WMVEElqNnimnr1JiS3+Rxqal8aVCZZp3+FJ+ylnRBalSyperA1IGM7ScFwNbIJXvSSOY3/u2QaTSIKVXudp2uVIupW7Eq3kHLetMmSu3RQ8p8/XoVQJtGieVu55A0lfXHY9m6iqhQpkg5fhNtljySKSGkPNxry2SKpGdec6VciUtIvtIOV5nbQekypLKUx4ep1rKHNk9PPZIWdRSEcmTi5KDYjl0HatZSn/IO1Kag/E9E0m1kkVSSlUg++Mic02UvD8WCKkbZn/3ORVLrZSLb0kdIdf06brGkspT9tZf6T9KiSmL25Aj5Ve5Bml8VyqNUn2u8zP1cfJ2mQmlRuToeJnRp2v/TdpE+jaVKk86IH8iZfJAy/UjRcrdkUhLIC0iH1j5uMwDnFyec7TcBrYjkDrIrJI6RuYYaYK8YqRh2vvP61gkNSpPy69t0EbI9pDK+iDx5GUbU6kJ5OIyKQKc/LnZ4TKnZ5R0zHZ63qxxmatreItdkbQM011NwqPHk1WVcJIWxJ2dJzuQDl5aukjOr5O159oYOYmWT6ny5Sb6xMktSkI9fSp9jMw30VcHpCGW4QeRpki2vyM34bITtHmSFqSSPkaO8TKMvujT4WZiSZ3IYBx+XLoI6WKljZVOJQccqbxJhyeNSv4cBLRMfBnDPD8HMVIuqTQwmRjpx7BHF5GkVYoP8EZ9DyG9UkJBOdJ6le3/JB2okleA7OFlWVBmQ0C6IDfhF5UOS2oaLUjnXkqXJ+kWUTnCyTA6j7qwSSxJBw+yew8/zgmVhqaxpe91d7XUEXIQ+zRTZUnYokEpq41XBPKaVZKb2aeSbDxb0hukAzK8iCSMs5J72CS+hMzeGuSJSJsnYfAgP64nsp0Mqfwhh1Q6fDkqZTcWy1v4McHIAZWLpC5Tk4QqeThJNzP5jgzPC6iISPaTI8gpXxovstx4kYR1iiUUJDtGONnLHiDTPU/qpdx/W9KCsiQUuTuicnXqieWJyqFIxiCXYXRd0YIypUPlcBmGRMJHli+TWvIzB8liCeucLWiV2dKv5Ga2SKjUm6RGpFfJOZRJIPsZXk5LmdF7kSVJ6fbTz0p6bGnWcgu140lakPQzjCbbVCxPIEOBtF5kXhaUKeH2HA1XX7DOfLXvYeWJL6EgtewEzVKt5GJG5LiqcrM0XuWsklqjpKWjMgQ5EshsSjMPAul7IOdfUbQ5zKHKIC2uvEThBGTCl1C6LchNQWTMlynIj7DYTkG6PLmv5YAre/vVU2YCeVrlP4nMsfKep3A8GFIH2flL2oxMUuThbFzJfZ8ldQfkiMpos8tXWDkm0ufJxfwpT0J5OMM61wcoPUiDKRMiP4ic8WU3mW6pvEFBhbI4RyALjLxSOYfSs2VM5P0KTz9CQblykKQ5kdHxLpIZkVEUVrLNkC6VOyIf9y3IgCHNV7mD0nPlfjXekXUudzkcJLb0+iDXE5ycVXItkqdapgypUNk7zQ63/y2Hv+U4zVjSKmVxm8A8P29COS+Ov+WgUcog/VouK+nwJawTl0nlmitdpNRrWc8TLW2OpJOvukROh6pITZ33+q8STodpNUgFZFz2k3SenCPPfZctkOT+pKeDyCO5Q0CW/3vyJu3qZgC5Jrdi7Dram6xGT+9kuEOie135Ur4dOfLlOoOsLjCr/rzXki6U/nVBvkf0c1Qu809Z9w4+8GeYUnrqkWm+LvMXnJRTlwruvBIAAAAASUVORK5CYII=",wN=""+new URL("focus_bg-b6803e2d-balabala-1783905032331.png",import.meta.url).href,bN="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAOVBMVEUAAAD///////////////////////////////////////////////////////////////////////8KOjVvAAAAEnRSTlMA3yDvvxBAn3CAYFCQzzCgj6+a/gWFAAAIxklEQVR42uzBgQAAAACAoP2pF6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB27gRJcRiGAqi8O2sH3f+wM1XM1lOAHZwQKfnvBF3tjyxbBgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAvfBPxkz+lro8xEBwMfyd87dumAkugx9xfhkswRXwUyb1CMH58UvTEgm0CjOVcYlLA4FCMTkOVQFABs4nLo5/ylTEdUxCP6BGyJ7vPBVxNd8TKBA6x3+EugCgDJxGTPyvnkp4HURAtOj5O18RAETgLKLn/7lQDgAicA7W8wN9OQCIwBmEhR/y5QAgAieQHT/mwj4BYJMJpIgTPxVLAXibwdRYhrDwC6kmANgHFBsc/7V+D+AWBpeDRws3LojFAKAI6BUdl4zFAKAIaBUWLnOFADRb8JL0INZwjUiv+MkYw00MtoFDZMdVRqpgY8zdbXL8Doc7gQMsXMnRCvPQ3RyvthB8lp24WqSV5v7L8DoTtoGPmg3XG+kNc+/RCIg1OK7nB3pP6G9cz+Hh6MdkruZzoAZ2TR3oCD6i40pujNTMfhkkQJSlemAbaBOhN0iAHImr+Egbqo1AIthZalj+tgggARIkrjBF2kFvkIDDpUMvZnuDBBwrcVkXaDe2QwKO1HGRt7QrO2EwcJhOxFiuNzgNHqM7/ON/Zz2XYDy8g0HCx7/2Khpzgc1ZJ2gcZ00pjPjOwKf/5WOgDwqjoDhewiRt18382kSwoUXet7Rmg8Pgx2SJ9dYaYUXpvAoNoA90iOD5FYc2YCPB8CtfdJgvfsXgGyPbWOReu3VoA/bXy13/UgLwQ8MbsEbw+hcS4LAJtEui17+QgBtBo174+hN1GArsyBqZ/f+/vrAJNGjYADwJ4XES2Mus4pgdDE4COzHS7n8fswZToV1kfk7UxH3GTGAP1qj5t2b0gTtI/NRIwozoAzdnNTSANY2goG5FlaTqX2qd/POqLlZNA3CXcRTcVtL2ifLa/mDZrIobgH9ZhxLwkQIg9td5M0rAdqzGqzWPErCZpOkE8JvFd8a3YmW/AVj/NkDcxYVwSVsHeBecytwKZNR1gHcZE4F9H4IZEm5SdXkllldaAIgiToIbsGoLAJHHSbBdUlsAiKKaCbZgRm8BeF4CHEGlQXEBIIrYA1olzQWAyOA2sJHTXACIMq4C2gxq3oE9FpyGh8yCJe0ldOQHfFaS3+M5fWPAQhvofI/Vrxb1X6V5rH6DUXcL+L0NdCli9VeatO8AROHX6o9Y/fXsGX5swzO7ERc/b+n17wBEA1b/bQlvqq7NqD8DQAt7hh0A3jfgGvXaRtWDQGjmlc8BoJFDC3BpM1qAaxvwnu7auhPcA8MP9u40yU0ghgIw6s2AWcy7/2EzNUmq8iMzeNwNSNb7jgCNpFYvVNh4ss63xEu3fYusAV3LrAF9K+ZuhaGm7pwE+NZzEuDbwMsVfFt5rNK3jQPAt2R+RzgdcSagIyeEA8A34X4w37gh0DkOAOe4FOAcTwXR+0ic0vjGpoZzbGo4xwHgHLtazrGp4RybGr4FNjV8K9zg6lvhTQe+cYezc9zh7NzGc66+zdzh7FvkjaeuLTzo7NudfSDfeNuRc7ztyLnIWaBrvPHSuZGTAN9unAT4JvivqSMXFrAGdG20//NDqpG4I9S1bP0H6OqUh6ns+RZ/v9SjPKKxCdTGEqCVXB7R3EJ6AM8ENJHLLVrcTDeCXYB6eUzRaBMtgdvBGrx9s48vgAsBVXKfTAfQGyeBh7RRo5EyMAv7wFVyhOkzFSMzQKUVphupwgxQqcByFT2CGaBWhOHtFGI7fqkwGQ4BI5gBqhXYDQECrgPUS2ZDwGh47CrSw+pyioArwQ3kCJu9gBEsAZsYYLIdGIQlYBsZgMHDdQNYAjayWnyUAQwArRQYLKdni6NWqwRzdeDIAHBKCIhKP6cgDAAtJWtJIDEANFVgKwn0YABoK5lKAgEMAOc9UlHXDsrCANDchC89OmUeDADt5WimDOjxJWEAqHusFm5bWmBmqNoy2/iwggBcBjxCgYVCMIuVSGXPBOjvByWwAjxKjvof7g02EpVNdwC69wYM+MCNYIfZlI+AAfpjlGk5qh4BA5gADlageAQMYAI43KR3BAz4xBthDpUFSvPsDTDRqLAuRHwn5e4SOeGDqTVrq3pAX60VBADXAM4x4VuydKdbBCwAzjND2efW4zezhxiNCYLvPXJ3ovyAxqz0zpao6JEHAVgAnuwOaEkDfcQfvA7oRD32pNCdICR80Nucel8D9sjYHa6PfP9XmbBrDt2hQgLf/3VW7BtCd5g8YN/a0WFW4MI80Ee+/6utuGwIlBl8/9dbcc0QKAl8/yqsuGAIlAS+fy0GPEfG3DWRe8FfXABSYMCT5Bba/LPuE+d/agx4WhpDq5/X6GlF0z3iedvLqeCe8LzI/v+JguAn0rjUdx717UnxLMz4GbmN4eUN6de3oGn/89wXt+G+dD8QwfJfrz7iFXHehr6U0HCQRZZ/lwiCKiIyp2dygKK9SPSvPKFafQ6YeP7jOqOgUm0OiOp/YvPewoo6lfOAjZ//j+kKAntn09n8Ua8uCHTfW5n9DVgEL3u9FzQz++vRy0EDIEfO/U14OQ90OxKjvxEvDoGXfgOT2Pr5xc6d4zAIAwEUDdjsm+D+h02X1pZFgcN7V5ivGRr8REUJFLxRFR3/pypI4JMSjb8m7VESQP4NGIz/6dqjuTWA7voJk0+/KsyxIIDkDYij8Vcjfw1k/pYeVru/MssR7gmgu4LLX6ecBj5pu9Vfr37dEgHw79r5aATwcu2yxiCAl9uX6YxBAC/X9cs4DWfcmkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC3PTgkAAAAABD0/7UrbAAAAAAAAAAAAAAAAAAAAAAAAHAKGbwwCsmp53wAAAAASUVORK5CYII=",TN=""+new URL("focus_move_bg-cf41417a-balabala-1783905032331.png",import.meta.url).href,Cs=new Map;class C7{constructor(e={}){this.options=B2({includeChinaMap:!1},e),this.ready=null,this.init()}init(){const e=this.getSharedKey(),n=CN(e,()=>this.createAssetList());this.instance=n.instance,this.ready=n.ready}getSharedKey(){return this.options.includeChinaMap?"hongyuan-map-with-china":"hongyuan-map"}createAssetList(){let e=[{type:"Texture",name:"flyline",path:rh},{type:"Texture",name:"pathLine",path:rh},{type:"Texture",name:"pathLine2",path:sN},{type:"Texture",name:"pathLine3",path:oN},{type:"File",name:"china",path:ei(Rf)},{type:"File",name:"mapJson",path:ei(Yx)},{type:"File",name:"mapStroke",path:ei(Rf)},{type:"Texture",name:"huiguang",path:pN},{type:"Texture",name:"rotationBorder1",path:cN},{type:"Texture",name:"rotationBorder2",path:dN},{type:"Texture",name:"guangquan1",path:hN},{type:"Texture",name:"guangquan2",path:mN},{type:"Texture",name:"chinaBlurLine",path:fN},{type:"Texture",name:"ocean",path:uN},{type:"Texture",name:"side",path:lN},{type:"Texture",name:"arrow",path:gN},{type:"Texture",name:"point",path:yN},{type:"Texture",name:"focusArrows",path:vN},{type:"Texture",name:"focusBar",path:SN},{type:"Texture",name:"focusBg",path:wN},{type:"Texture",name:"focusMidQuan",path:bN},{type:"Texture",name:"focusMoveBg",path:TN}];return this.options.includeChinaMap&&e.push({type:"File",name:"chinaMap",path:ei($x)}),e}}function CN(t,e){if(Cs.has(t))return Cs.get(t);const n=new W_({cloneTextures:!0});n.addLoader(a7,"FileLoader");const a=n.loadAll(e()),i={instance:n,ready:a};return Cs.set(t,i),i}const AN="/jsyApi",_N="at.6znxkywzdyqesp6td2lj4a28cp3adh19-2dpdtet5o3-0dq69nb-rtvf586ba".trim(),xN=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"];function MN(t){return/^https?:\/\//.test(t)?t:`${AN}${t.startsWith("/")?t:`/${t}`}`}function PN(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"视频监控接口请求失败");throw n.code=t==null?void 0:t.code,n}return u0(t)}function f6(t,e,n=""){for(const a of e)if((t==null?void 0:t[a])!==void 0&&(t==null?void 0:t[a])!==null&&(t==null?void 0:t[a])!=="")return t[a];return n}function mp(t){return f6(t,["token","accessToken","access_token"],_N)}function kN(t){return f6(t,["hdPlayUrl","hd_play_url","playUrl","play_url","url"])}function EN(t){const e=f6(t,["isOnline","online","status","deviceStatus","statusName","state","onlineStatus","deviceState"]);if(e==="")return!0;if(typeof e=="boolean")return e;if(typeof e=="number")return e!==0;const n=String(e).trim().toLowerCase();return!n||["1","true","online","on"].includes(n)?!0:["0","false","offline","off"].includes(n)||/(离线|不在线|未在线|断线|断开|异常|故障|停用|不可用|offline|disabled|closed|stop)/i.test(n)?!1:(/(在线|直播中|正常|可用|online|enabled|open|running|active)/i.test(n),!0)}function pp(t){return!!(mp(t)&&kN(t)&&EN(t))}function NN(t=""){const e=String(t);return xN.find(a=>e.includes(a.replace(/[镇乡]$/,"")))||"红原县"}function RN(t=""){const e=String(t);return e.includes("养殖")?"养殖基地":e.includes("饲草")?"饲草基地":e.includes("种草")||e.includes("牧草")?"牧草基地":e.includes("虫情")?"虫情监测":e.includes("机场")?"机场周边":"重点点位"}function LN(t,e){const n=f6(t,["hdPlayUrl","playUrl","url"]),a=String(n).match(/\/(\d+)(?:\.hd)?\.live/i);return a?a[1].padStart(2,"0"):String(e+1).padStart(2,"0")}function IN(){return new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function FN(t,e,n,a){const i=f6(t,["name","title","deviceName"],`视频监控${e+1}`),r=f6(t,["hdPlayUrl","hd_play_url","url"]),o=f6(t,["playUrl","play_url"],r),s=mp(t),u=pp(t),m=n?Math.round(a/n*100):0;return{key:f6(t,["id","number","deviceSerial"],`${i}-${e}`),title:i,town:NN(i),scene:RN(i),device:f6(t,["number","deviceSerial","serialNumber"],`CAM-${String(e+1).padStart(3,"0")}`),channel:LN(t,e),cameraCount:n,status:u?"直播中":"离线",onlineRate:m,updateTime:IN(),operator:u?"萤石云 · 在线预览":"监控参数待同步",progress:u?100:0,image:f6(t,["img","image","cover","snapshot"]),playUrl:o,hdPlayUrl:r,token:s,source:t}}function gp(){return P3(this,arguments,function*(t={}){const s=t,{includeOffline:e=!1}=s,n=F9(s,["includeOffline"]),a=yield Xt(MN("/api/home/monitorings"),{params:n,timeout:18e3}).then(PN),i=Array.isArray(a)?a:(a==null?void 0:a.rows)||(a==null?void 0:a.list)||[],r=i.filter(pp),o=i.map((u,m)=>FN(u,m,i.length,r.length));return e?o.sort((u,m)=>+(m.status==="直播中")-+(u.status==="直播中")):o.filter(u=>u.status==="直播中")})}const BN="/openApi",g5=756.37,hl=297.29,zt=291.82,DN=16.47,GN=177.92,UN=[{key:"none",name:"未退化",value:481.8,unit:"万亩"},{key:"light",name:"轻度退化",value:231.25,unit:"万亩"},{key:"middle",name:"中度退化",value:23.7,unit:"万亩"},{key:"heavy",name:"重度退化",value:20.21,unit:"万亩"}],ON=dn.map(v8),ii=["#32DCFF","#24F6C4","#8BF7FF","#46E7FF","#19FFC6","#5CDFFF"],W5=["#19FFC6","#32DCFF","#8BF7FF","#46E7FF","#24F6C4","#5CDFFF"];function yp(t){return/^https?:\/\//.test(t)?t:`${BN}${t.startsWith("/")?t:`/${t}`}`}function c5(t,e){return Xt(yp(t),{method:"POST",body:e?JSON.stringify(e):void 0,headers:{"Content-Type":"application/json"}})}function W0(t,e){return Xt(yp(t),{params:e})}function Q1(t,e){for(const n of e)if((t==null?void 0:t[n])!==void 0&&(t==null?void 0:t[n])!==null&&(t==null?void 0:t[n])!=="")return t[n]}function Re(t){if(t==null||t==="")return;const e=Number(t);return Number.isNaN(e)?void 0:e}function n0(t){const e=Re(t);if(e!==void 0)return Number.isInteger(e)?e:Number(e.toFixed(2))}function eu(t,e,n){const a=Re(t),i=Re(e),r=Re(n);if(a===void 0||i===void 0||r===void 0)return[n0(e),n0(n)];const o=i+r;if(!o)return[0,0];const s=n0(i/o*a);return[s,n0(Math.max(a-s,0))]}function Mn(t,e){const n=Re(t),a=Re(e);if(!(n===void 0||a===void 0||a===0))return n/a*100}function ri(t,e,n="占比"){var i;const a=n0((i=Q1(t,["areaPercent","area_percent","percent"]))!=null?i:Mn(Q1(t,["areaWanMu","value"]),e));return a===void 0?"":`${n} ${a}%`}function s6(t,e=""){const n=n0(Q1(t,["areaPercent","area_percent","percent"]));return n===void 0?"":`${e}${n}%`}function jN(t,e=0){const n=Q1(t,["name","title","label","zh","itemName","item_name"])||`指标${e+1}`,a=n0(Q1(t,["value","num","count","area","acreage","total"])),i=Q1(t,["unit","unitName","unit_name"])||"";return{key:Q1(t,["id","key","code"])||`${n}-${e}`,name:n,value:a,unit:i,source:t}}function zN(t){return(Array.isArray(t)?t:(t==null?void 0:t.rows)||(t==null?void 0:t.list)||[]).map(jN).filter(n=>n.name)}function YN(t){const e=(t==null?void 0:t.core)||(t==null?void 0:t.summary)||t||{},n=((t==null?void 0:t.typeDistribution)||(t==null?void 0:t.typeStats)||[])[0]||{},a=((t==null?void 0:t.ecologicalPosition)||[])[0]||{};return[{key:"woodland-area",name:"林地总面积",value:n0(Q1(e,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${Q1(n,["name"])||"主导类型"}占比`,value:n0(Q1(n,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:n0(Q1(a,["areaWanMu","value"])),unit:"万亩"}]}function $N(t){const e=(t==null?void 0:t.overview)||(t==null?void 0:t.summary)||t||{},n=Q1(e,["areaUnit","area_unit"])||"万亩",[a,i]=eu(g5,Q1(e,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"]),Q1(e,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"]));return[{key:"grassland-total-area",name:"草地面积",value:g5,unit:n},{key:"basic-grassland-area",name:"基本草原",value:a,unit:n},{key:"general-grassland-area",name:"一般草原",value:i,unit:n}]}function Q5(t,e){const i=({woodland:[{key:"woodland-area",name:"林地总面积",unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",unit:"%"}],grassland:[{key:"grassland-area",name:"草地面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}],wetland:[{key:"wetland-area",name:"湿地面积",unit:"万亩"},{key:"wetland-yield",name:"湿地生产力",unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",unit:"万亩"}]}[e]||[]).map((r,o)=>{var s,u;return Z2(B2(B2({},r),t[o]||{}),{name:((s=t[o])==null?void 0:s.name)||r.name,unit:((u=t[o])==null?void 0:u.unit)||r.unit})});return e==="wetland"&&i[0]&&(i[0]=Z2(B2({},i[0]),{key:i[0].key||"wetland-area",name:"湿地面积",value:zt,unit:i[0].unit||"万亩"})),i.length?i:t}function WN(t){return P3(this,null,function*(){let e;for(const n of t)try{return yield n()}catch(a){e=a}throw e||new Error("No request configured")})}function ie(t=[],e={}){const{nameKeys:n=["name","townName","typeName"],valueKeys:a=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:i="万亩",max:r=Number.POSITIVE_INFINITY,extra:o}=e,s=t.map((u,m)=>{const h=n0(Q1(u,a)),p={key:Q1(u,["key","code","townCode"])||`${Q1(u,n)||m}-${m}`,name:Q1(u,n)||`第${m+1}项`,value:h,unit:i,percent:n0(Q1(u,["percent","areaPercent","basicRatio","generalRatio"])),source:u};return o?Z2(B2({},p),{extra:o(u)}):p}).sort((u,m)=>(Number(m.value)||0)-(Number(u.value)||0));return Number.isFinite(r)?s.slice(0,r):s}function oi(t=[],e={}){const{nameKeys:n=["name"],valueKeys:a=["value"],unit:i,max:r=Number.POSITIVE_INFINITY,extra:o}=e;return ie(t,{nameKeys:n,valueKeys:a,unit:i,max:r,extra:o})}function VN(t=[],e={}){const{nameKeys:n=["grassMinType","name"],valueKeys:a=["acreage"],unit:i="万亩",max:r=Number.POSITIVE_INFINITY}=e,o=t.map((s,u)=>{const m=Q1(s,a),h=n0(i==="万亩"?Re(m)/1e4:m),p=Q1(s,n)||`第${u+1}项`;return{key:Q1(s,["key","code"])||`${p}-${u}`,name:p,value:h,unit:i,source:s}}).filter(s=>Number(s.value)>0).sort((s,u)=>(Number(u.value)||0)-(Number(s.value)||0));return Number.isFinite(r)?o.slice(0,r):o}function b0(t,e,n,a="rank",i={}){return B2({key:t,title:e,type:a,rows:n||[]},i)}function Wi(t=[],e=[],n={}){const{unit:a="万吨",max:i=Number.POSITIVE_INFINITY,showMuYieldExtra:r=!0}=n,o=new Map(e.map(s=>[s.areaName,s]));return ie(t,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:a,max:i,extra:s=>{const u=o.get(s.areaName),m=n0(Q1(u,["yield","value"])),h=Q1(u,["unit"])||"斤";return r&&m!==void 0?`亩产 ${m} ${h}`:""}})}function v8(t){return String(t||"").replace(/\s+/g,"").trim()}function c7(t=[]){const e=new Map(ON.map((n,a)=>[n,a]));return[...t].sort((n,a)=>{const i=e.get(v8(n==null?void 0:n.name)),r=e.get(v8(a==null?void 0:a.name));return i!==void 0&&r!==void 0?i-r:i!==void 0?-1:r!==void 0?1:0})}function vp(t){const e=String(t||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[e]||e}function Vi(t){return vp(t).replace(/\s+/g,"").replace(/类$/,"")}function Hi(t){const e=String(t||""),n=e.match(/level-([1-8])/);if(n)return n[1];const a=e.match(/([1-8])\s*级/);if(a)return a[1];if(/^[1-8]$/.test(e.trim()))return e.trim();const r=Object.entries({一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8"}).find(([o])=>e.includes(`${o}级`));return(r==null?void 0:r[1])||""}function Sp(t){return Hi(t==null?void 0:t.key)||Hi(t==null?void 0:t.name)}function Tr(t=[],e={}){const{nameKeys:n=["name","townName","areaName"],valueKeys:a=["areaWanMu","value","totalAreaWanMu","yield"],unit:i="万亩"}=e;return t.map((r,o)=>{const s=v8(Q1(r,n)),u=n0(Q1(r,a));return!s||u===void 0?null:{key:Q1(r,["key","code","townCode"])||`${s}-${o}`,name:s,value:u,unit:Q1(r,["unit"])||i,source:r}}).filter(Boolean).sort((r,o)=>(Number(o.value)||0)-(Number(r.value)||0))}function ml(t=[],e={}){const{nameKeys:n=["townName","name","areaName"],valueKeys:a=["areaWanMu","value","totalAreaWanMu","yield"],unit:i="万亩"}=e,r=new Map;return t.forEach(o=>{const s=v8(Q1(o,n)),u=Re(Q1(o,a));if(!s||u===void 0)return;const m=r.get(s)||{key:Q1(o,["townCode","code"])||s,name:s,value:0,unit:Q1(o,["unit"])||i,source:[]};m.value+=u,m.source.push(o),r.set(s,m)}),Array.from(r.values()).map(o=>Z2(B2({},o),{value:n0(o.value)})).sort((o,s)=>(Number(s.value)||0)-(Number(o.value)||0))}function p6({topicKey:t,layerKey:e,title:n,unit:a="万亩",rows:i=[],note:r="",metricLabel:o=""}){const s=i.filter(u=>(u==null?void 0:u.name)&&u.value!==void 0).sort((u,m)=>(Number(m.value)||0)-(Number(u.value)||0)).map((u,m)=>Z2(B2({},u),{unit:u.unit||a,rank:m+1}));return{status:s.length?"success":"empty",topicKey:t,layerKey:e,title:n,unit:a,metricLabel:o,note:r,rows:s}}function si(o){return P3(this,arguments,function*({topicKey:t,layerKey:e,layerName:n,title:a,cqlFilter:i="",unit:r="万亩"}){const s=yield $i(n,{propertyName:["xiang","acreage"],cqlFilter:i,maxFeatures:2e5}),u=new Map;return((s==null?void 0:s.features)||[]).forEach(m=>{const h=m.properties||{},p=String(h.xiang||""),g=wr(p),C=Re(h.acreage);if(!g||C===void 0)return;const I=u.get(g)||{key:p,name:g,value:0,unit:r};I.value+=C/1e4,u.set(g,I)}),p6({topicKey:t,layerKey:e,title:a,unit:r,rows:Array.from(u.values()).map(m=>Z2(B2({},m),{value:n0(m.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function HN(t,e,n="林地面积排行"){return P3(this,null,function*(){const a=u0(yield c5("/woodland/distribution"));return p6({topicKey:t,layerKey:e,title:n,unit:"万亩",rows:Tr((a==null?void 0:a.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function oh(t,e,n,a){return P3(this,null,function*(){const i=u0(yield W0("/basic_grassland/overview"));return p6({topicKey:t,layerKey:e,title:a,unit:"万亩",rows:Tr((i==null?void 0:i.townStats)||[],{nameKeys:["name"],valueKeys:[n],unit:"万亩"})})})}function KN(t={},e=[],n=[]){const a=Q1(t,n);if(a)return v8(a);const i=e.map(o=>Q1(t,[o])).find(o=>o!==void 0),r=String(i||"").slice(0,9);return wr(r)}function qN(t,e,n,a){return P3(this,null,function*(){const i=(a==null?void 0:a.rankingTownCodeKeys)||(n==null?void 0:n.rankingTownCodeKeys)||["area_code","xiang","town_code"],r=(a==null?void 0:a.rankingTownNameKeys)||(n==null?void 0:n.rankingTownNameKeys)||["town_name","area_name","xiang_name"],o=(a==null?void 0:a.rankingAreaKeys)||(n==null?void 0:n.rankingAreaKeys)||["acreage","area_mu","area"],s=(a==null?void 0:a.rankingPropertyName)||[...i,...r,...o],u=yield $i(n.layerName,{propertyName:s,cqlFilter:a.cqlFilter,maxFeatures:2e5,timeout:25e3}),m=new Map;return((u==null?void 0:u.features)||[]).forEach(h=>{const p=h.properties||{},g=KN(p,i,r),C=Re(Q1(p,o));if(!g||C===void 0)return;const I=m.get(g)||{key:g,name:g,value:0,unit:"万亩"};I.value+=C/1e4,m.set(g,I)}),p6({topicKey:t,layerKey:e,title:`${a.name}面积排行`,unit:"万亩",metricLabel:a.name,rows:Array.from(m.values()).map(h=>Z2(B2({},h),{value:n0(h.value),metricLabel:a.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function JN(t,e,n){return P3(this,null,function*(){const a=u0(yield W0("/basic_grassland/overview"));return p6({topicKey:t,layerKey:e,title:`${n.name}面积排行`,unit:"万亩",metricLabel:n.name,rows:Tr((a==null?void 0:a.townStats)||[],{nameKeys:["name"],valueKeys:[n.rankingValueKey],unit:"万亩"}).map(i=>Z2(B2({},i),{metricLabel:n.name}))})})}function Cr(t,e,n,a,i={}){const r=H9(a||[],i).map(o=>Z2(B2({},o),{metricLabel:n.name}));return p6({topicKey:t,layerKey:e,title:`${n.name}面积排行`,unit:"万亩",metricLabel:n.name,rows:r})}function QN(t,e,n){return P3(this,null,function*(){const a=Sp(n);if(!a)return null;const i=u0(yield W0("/grassland_grassland_level/distribution"));return Cr(t,e,n,i,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:r=>Hi(Q1(r,["level","name"]))===a})})}function XN(t,e,n){return P3(this,null,function*(){const a=Vi(n.name);if(!a)return null;const[i,r]=yield Promise.all([ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_grass_type/distribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_grass_type/minTypeAreaDistribution"))}))]);return Cr(t,e,n,[...i||[],...r||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=Q1(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return Vi(s)===a}})})}function ZN(t,e,n){return P3(this,null,function*(){const a=Sp(n);if(!a)return null;const i=u0(yield W0("/wetland_grassland_level/distribution"));return Cr(t,e,n,i,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:r=>Hi(Q1(r,["level","name"]))===a})})}function eR(t,e,n){return P3(this,null,function*(){const a=Vi(n.name);if(!a)return null;const[i,r]=yield Promise.all([ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grass_type_copy/distribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return Cr(t,e,n,[...i||[],...r||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:o=>{const s=Q1(o,["grassMinType","grass_min_type","grassType","grass_type","name"]);return Vi(s)===a}})})}function tR(t,e,n){return P3(this,null,function*(){if(!(n!=null&&n.key))return null;const a=e9(t,e);return a?t==="grassland"&&e==="basic-grassland"&&n.rankingValueKey?JN(t,e,n):t==="grassland"&&e==="grassland-level"?QN(t,e,n):t==="grassland"&&e==="grassland-type"?XN(t,e,n):t==="wetland"&&e==="wetland-level"?ZN(t,e,n):t==="wetland"&&e==="wetland-type"?eR(t,e,n):n.cqlFilter&&a.layerName?qN(t,e,a,n):null:null})}function li(t,e,n,a,i="万吨"){return P3(this,null,function*(){const r=u0(yield W0(n)),o=Q1(r==null?void 0:r[0],["unit"])||i;return p6({topicKey:t,layerKey:e,title:a,unit:o,rows:Tr(r||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:o})})})}function st(t=[],e=5){return t.slice(0,e)}function o8(t=[],e={}){var h,p;const{limit:n=5,minPercent:a=1,otherName:i="其他类型"}=e,r=t.filter(g=>(g==null?void 0:g.name)&&Number(g.value)>0).sort((g,C)=>(Number(C.value)||0)-(Number(g.value)||0)),o=r.reduce((g,C)=>g+(Number(C.value)||0),0);if(!o||r.length<=n)return r;const s=[],u=[];if(r.forEach((g,C)=>{const I=Mn(g.value,o);C=a)?s.push(g):u.push(g)}),!u.length)return s;const m=u.reduce((g,C)=>g+(Number(C.value)||0),0);return[...s,{key:`${i}-${u.length}`,name:i,value:n0(m),unit:((h=u[0])==null?void 0:h.unit)||((p=r[0])==null?void 0:p.unit)||"万亩",extra:`${n0(Mn(m,o))}%`}]}function Hn(t=[]){return t.reduce((e,n)=>e+(Number(n.value)||0),0)}function fn(t=[],e=Hn(t),n=""){return t.map(a=>{const i=n0(Mn(a.value,e));return Z2(B2({},a),{extra:i===void 0?a.extra:`${n}${i}%`})})}function s8(t=[],e,n={}){const{key:a="unclassified",name:i="未分类",unit:r="万亩",sort:o=!0}=n,s=Re(e);if(s===void 0)return t;const u=Hn(t),m=n0(s-u);if(m===void 0||m<=.01)return t;const h=[...t,{key:a,name:i,value:m,unit:r}];return o?h.sort((p,g)=>(Number(g.value)||0)-(Number(p.value)||0)):h}function j4(t=[],e){const n=Re(e),a=Hn(t);if(n===void 0||!a)return t;let i=0;return t.map((r,o)=>{const s=o===t.length-1,u=n0(s?Math.max(n-i,0):(Number(r.value)||0)/a*n);return i+=Number(u)||0,Z2(B2({},r),{value:u})})}function On(t=[],e=[]){return e.length?t.map((n,a)=>Z2(B2({},n),{color:(n==null?void 0:n.color)||(n==null?void 0:n.fillColor)||e[a%e.length]})):t}function sh(t){return Array.isArray(t==null?void 0:t.rows)&&t.rows.length>0}function bn(t=[],e=[],n=4){const a=[],i=new Set,r=s=>{!s||i.has(s.key)||(i.add(s.key),a.push(s))},o=[...t,...e];return o.filter(sh).forEach(r),o.filter(s=>s&&!sh(s)).forEach(r),a.slice(0,n)}function nR(t,e,n={}){return t&&B2(Z2(B2({},t),{type:e}),n)}function se(t=[]){const e=["bar","line","donut","column","structure","heat","peak","split"],n={bar:["heat","column","structure","line"],line:["bar","column","heat"],donut:["structure","split","bar"],column:["heat","bar","line","structure"],structure:["split","donut","bar"],heat:["bar","column","structure"],peak:["column","bar","line"],split:["structure","donut","bar"]},a=new Set;return t.map(i=>{if(!(i!=null&&i.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(i.type))return i;const r=i.type==="donut"&&i.variant==="ring"?"donut-ring":i.type;if(i.fixedType||!a.has(r))return a.add(r),i;const o=(n[i.type]||e).find(s=>!a.has(s))||i.type;return a.add(o),nR(i,o,{variant:o===i.type?i.variant:void 0})})}function lh(t=[],e={}){const{headCount:n=4,headName:a="重点区域",tailName:i="其他区域"}=e,r=t.filter(m=>(m==null?void 0:m.name)&&Number(m.value)>0);if(!r.length)return[];const o=r.slice(0,n),s=r.slice(n),u=(m,h)=>{var p,g;return{key:m,name:m,value:n0(h.reduce((C,I)=>C+(Number(I.value)||0),0)),unit:((p=h[0])==null?void 0:p.unit)||((g=r[0])==null?void 0:g.unit)||"万亩",extra:`${h.length}项`}};return[u(a,o),s.length?u(i,s):null].filter(m=>m&&Number(m.value)>0)}function l8(t,e,n){var s,u,m,h;if(e==="woodland"||!n)return t;const a={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[e],i=((s=t==null?void 0:t.layerPanels)==null?void 0:s[n])||((u=t==null?void 0:t.layerPanels)==null?void 0:u[a]);if(!i)return t;const r=(m=i.leftPanels)!=null&&m.length?i.leftPanels:t.leftPanels,o=(h=i.rightPanels)!=null&&h.length?i.rightPanels:t.rightPanels;return Z2(B2({},t),{activeLayerKey:n||a,leftPanels:r,rightPanels:o,left:(r==null?void 0:r[0])||t.left,right:(o==null?void 0:o[0])||t.right})}function wp(t,e=["areaWanMu","value","acreage","areaMu"]){for(const n of e){const a=Q1(t,[n]),i=Re(a);if(i===void 0)continue;const r=String(n).toLowerCase(),o=String(Q1(t,["unit","areaUnit","area_unit"])||"");return r.includes("wanmu")||o==="万亩"?i:r.includes("mu")||o==="亩"?i/1e4:i}}function H9(t=[],e={}){const{nameKeys:n=["name","areaName","townName"],valueKeys:a=["areaWanMu","value","acreage","areaMu"],nameTransform:i=u=>u,filter:r,extra:o}=e,s=new Map;return t.forEach(u=>{if(r&&!r(u))return;const m=Q1(u,n),h=i(m,u),p=wp(u,a);if(!h||p===void 0)return;const g=s.get(h)||{key:Q1(u,["key","code","townCode"])||h,name:h,value:0,unit:"万亩",source:[]};g.value+=p,g.source.push(u),s.set(h,g)}),Array.from(s.values()).map(u=>{const m=Z2(B2({},u),{value:n0(u.value)});return o?Z2(B2({},m),{extra:o(m)}):m}).filter(u=>Number(u.value)>0).sort((u,m)=>(Number(m.value)||0)-(Number(u.value)||0))}function uh(t){return String(t||"").replace(/草原/g,"湿地")}function aR(t={},e=[]){var o;const n=(t==null?void 0:t.unit)||Q1(e==null?void 0:e[0],["unit"])||"万吨",a=(o=Re(t==null?void 0:t.xc))!=null?o:Hn(e),i=Re(t==null?void 0:t.edibleXc),r=a!==void 0&&i!==void 0?Math.max(a-i,0):void 0;return[{key:"wetland-yield-edible",name:"可食鲜草",value:n0(i),unit:n,extra:`${n0(Mn(i,a))}%`},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:n0(r),unit:n,extra:`${n0(Mn(r,a))}%`}].filter(s=>s.value!==void 0)}function iR(t={},e=[],n=[]){var u;const a=(t==null?void 0:t.unit)||Q1(e==null?void 0:e[0],["unit"])||Q1(n==null?void 0:n[0],["unit"])||"万吨",i=(u=Re(t==null?void 0:t.xc))!=null?u:Hn(n),r=Re(t==null?void 0:t.edibleXc),o=Hn(e),s=r!==void 0||o>0?Math.max(r||0,o||0):void 0;return Z2(B2({},t),{xc:n0(i),edibleXc:n0(s),unit:a})}function bp({yieldSummary:t,townAreaRows:e,typeRows:n,levelRows:a,yieldRows:i,minTypeRows:r,muYieldRows:o,edibleYieldRows:s,edibleMuRows:u,typeTownRows:m,levelTownRows:h,minTownRows:p}){const g=b0("wetland-town-area","湿地面积分布",On(c7(e),ii),"column",{span:1,variant:"plain"}),C=b0("wetland-type","湿地类型结构",On(n,ii),"donut",{span:1}),I=b0("wetland-level-proportion","湿地级占比",On(fn(a),ii),"donut",{span:1,variant:"ring"}),U=b0("wetland-min-type","湿地优势小类",On(st(r,6),ii),"bar",{span:1,variant:"raceBarNoWrap"}),j=b0("wetland-yield-capacity","湿地产能结构",aR(t,i),"structure",{span:1}),l2=b0("wetland-yield","湿地生产力分布",c7(i),"line",{span:1,fixedType:!0}),v2=b0("wetland-edible-yield","可食鲜草产量",st(s,dn.length),"column",{span:1,variant:"slim"}),S2=b0("wetland-mu-yield","湿地亩产效率",st(o,dn.length),"heat",{span:1,limit:dn.length}),T2=b0("wetland-level","湿地级别面积",a,"column",{span:1}),C2=b0("wetland-level-town","1级湿地分布",st(h,dn.length),"bar",{span:1,variant:"distribution"}),j2=b0("wetland-type-town","湿地类型乡镇分布",st(m,dn.length),"bar",{span:1,variant:"distribution"}),K2=b0("wetland-edible-mu","可食鲜草亩产",st(u,dn.length),"bar",{span:1}),V2=b0("wetland-min-town","优势小类乡镇分布",st(p,dn.length),"bar",{span:1,variant:"distribution"}),s3=se([g,C,I,U]),m3=se([v2,l2,S2,j]);return{leftPanels:s3,rightPanels:m3,left:s3[0],right:m3[0],layerPanels:rR({townAreaPanel:g,typePanel:C,yieldCapacityPanel:j,yieldPanel:l2,levelPanel:T2,levelTownPanel:C2,muYieldPanel:S2,levelStructurePanel:I,typeTownPanel:j2,minTypePanel:U,edibleYieldPanel:v2,edibleMuPanel:K2,minTownPanel:V2})}}function rR(t={}){const{townAreaPanel:e,typePanel:n,yieldCapacityPanel:a,yieldPanel:i,levelPanel:r,levelTownPanel:o,muYieldPanel:s,levelStructurePanel:u,typeTownPanel:m,minTypePanel:h,edibleYieldPanel:p,edibleMuPanel:g,minTownPanel:C}=t;return{"wetland-distribution":{leftPanels:se([e,n,u,h].filter(Boolean)),rightPanels:se([p,i,s,a].filter(Boolean))},"wetland-level":{leftPanels:se([u,r,o,n].filter(Boolean)),rightPanels:se([p,i,s,a].filter(Boolean))},"wetland-type":{leftPanels:se([n,m,h,C].filter(Boolean)),rightPanels:se([p,i,g,a].filter(Boolean))},"wetland-yield":{leftPanels:se([e,n,u,h].filter(Boolean)),rightPanels:se([p,i,s,a].filter(Boolean))}}}function oR(t={}){const{leftPanels:e=[],rightPanels:n=[]}=t,a={leftPanels:se(e.filter(Boolean)),rightPanels:se(n.filter(Boolean))};return{"grassland-distribution":a,"basic-grassland":a,"grassland-level":a,"grassland-type":a,"grassland-yield":a,"grassland-health":a}}function Tp({townRows:t=[],typeRows:e=[],scaleRows:n=[],protectionRows:a=[],ownershipRows:i=[],qualityRows:r=[],originRows:o=[],ageRows:s=[],canopyRows:u=[],forestTypeRows:m=[],manageLevelRows:h=[],regionRows:p=[],ownerRows:g=[],typeTownRows:C=[],qualityLevelRows:I=[],townConcentrationRows:U=lh(t,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:j=lh(e,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const l2=b0("woodland-town","林地面积分布",On(c7(t),W5),"column",{span:1,variant:"plain",lineOverlay:!0}),v2=b0("woodland-type","林地类型结构",On(e,W5),"donut",{span:1,variant:"ring"}),S2=b0("woodland-protection","公益林保护等级",On(fn(a),W5),"bar",{span:1,variant:"raceBarRelaxed"}),T2=b0("woodland-ownership","林地权属结构",On(fn(i),W5),"structure",{span:1}),C2=b0("woodland-quality","优势树种面积",st(r,6),"bar",{span:1}),j2=b0("woodland-origin","林地起源结构",fn(o),"structure",{span:1}),K2=b0("woodland-age","林龄组结构",st(s,6),"column",{span:1}),V2=b0("woodland-canopy","郁闭度结构",On(st(u,6),W5),"donut",{span:1,fixedType:!0}),s3=b0("woodland-area-scale","林地图斑规模",n,"column",{span:1}),m3=b0("woodland-forest-type","森林类别结构",st(m,6),"bar",{span:1}),p3=b0("woodland-manage-level","管护等级分布",st(h,6),"bar",{span:1}),U3=b0("woodland-public-rank","公益林面积排行",st(p,6),"bar",{span:1,variant:"distribution"}),b3=b0("woodland-owner-rank","权属单位排行",st(g,6),"bar",{span:1}),Y3=b0("woodland-type-town","乡镇类型构成",st(C,6),"bar",{span:1,variant:"distribution"}),o3=b0("woodland-quality-level","林地质量等级",fn(I),"donut",{span:1}),n1=b0("woodland-town-concentration","林地集中度",On(fn(U),W5),"structure",{span:1}),b1=b0("woodland-type-concentration","类型集中度",On(fn(j),W5),"rose",{span:1}),W3=se(bn([l2,v2,S2,T2],[s3,b3,m3,C2])),R1=se(bn([C2,j2,K2,V2],[s3,b3,m3,U3,n1,b1]));return{leftPanels:W3,rightPanels:R1,left:W3[0],right:R1[0],layerPanels:sR({townPanel:l2,typePanel:v2,scalePanel:s3,protectionPanel:S2,ownershipPanel:T2,qualityPanel:C2,originPanel:j2,agePanel:K2,canopyPanel:V2,forestTypePanel:m3,manageLevelPanel:p3,regionPanel:U3,ownerPanel:b3,typeTownPanel:Y3,qualityLevelPanel:o3,townConcentrationPanel:n1,typeConcentrationPanel:b1})}}function sR(t={}){const{townPanel:e,typePanel:n,scalePanel:a,protectionPanel:i,ownershipPanel:r,qualityPanel:o,originPanel:s,agePanel:u,canopyPanel:m,forestTypePanel:h,manageLevelPanel:p,regionPanel:g,ownerPanel:C,typeTownPanel:I,qualityLevelPanel:U,townConcentrationPanel:j,typeConcentrationPanel:l2}=t;return{"woodland-distribution":{leftPanels:se(bn([e,n,i,r],[a,h,C])),rightPanels:se(bn([o,s,u,m],[a,C,g,j,l2,U]))},"woodland-protection":{leftPanels:se(bn([i,h,p,e],[n,r,a])),rightPanels:se(bn([g,o,s,r],[C,n,a]))},"woodland-type":{leftPanels:se(bn([n,e,I,a],[i,r,h])),rightPanels:se(bn([o,s,i,r],[u,m,C,l2]))},"woodland-quality":{leftPanels:se(bn([o,s,u,m],[U,a,n])),rightPanels:se(bn([e,n,i,r],[h,C,a]))},"woodland-ownership":{leftPanels:se(bn([r,C,e,n],[a,i,o])),rightPanels:se(bn([i,o,s,a],[h,u,m]))}}}function lR(t=UN){const e=t.map(r=>Z2(B2({},r),{value:n0(r.value),unit:r.unit||"万亩"})),n=n0(g5-Hn(e)),a=e.find(r=>r.name==="未退化");a&&n!==void 0&&Math.abs(n)>.01&&(a.value=n0(Math.max((Number(a.value)||0)+n,0)));const i=["未退化","轻度退化","中度退化","重度退化"];return fn(e.sort((r,o)=>{const s=i.indexOf(r.name),u=i.indexOf(o.name);return(s===-1?99:s)-(u===-1?99:u)}),g5)}function uR(){return P3(this,null,function*(){return tu()})}function Cp(t=[],e={},n=[]){var i;const a=(i=Re(e==null?void 0:e.xc))!=null?i:Hn(n);return[t[0],t[1],t[2],{key:"grassland-yield-total",name:"鲜草产量",value:n0(a),unit:(e==null?void 0:e.unit)||"万吨"}].filter(r=>(r==null?void 0:r.value)!==void 0)}function cR(t={},e=[]){return Z2(B2({},t),{xc:hl,unit:(t==null?void 0:t.unit)||Q1(e==null?void 0:e[0],["unit"])||"万吨"})}function dR(t=[]){const e=Hn(t);return t.filter(n=>n.name&&Number(n.value)>0).map(n=>Z2(B2({},n),{color:fR(n.name),extra:n0(Mn(n.value,e))?`${n0(Mn(n.value,e))}%`:""})).sort((n,a)=>Number(a.value)-Number(n.value))}function fR(t=""){const e=String(t);return e.includes("未退化")?"#32DCFF":e.includes("重度")?"#FFE06B":e.includes("中度")?"#6EA8FF":"#24F6C4"}function Ap(t={},e=[]){var s;const n=(t==null?void 0:t.unit)||Q1(e==null?void 0:e[0],["unit"])||"万吨",a=(s=Re(t==null?void 0:t.xc))!=null?s:Hn(e),i=Re(t==null?void 0:t.edibleXc),r=a!==void 0&&i!==void 0?Math.max(a-i,0):void 0,o=e.find(u=>Number(u.value)>0);return[{key:"forage-total",name:"鲜草总产",value:n0(a),unit:n,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:n0(i),unit:n,scaleValue:n0(Mn(i,a))},{key:"forage-unavailable",name:"不可食鲜草",value:n0(r),unit:n,scaleValue:n0(Mn(r,a))},{key:"forage-top-town",name:o!=null&&o.name?`最高乡镇:${o.name}`:"最高乡镇产量",value:o==null?void 0:o.value,unit:(o==null?void 0:o.unit)||n,scaleValue:n0(Mn(o==null?void 0:o.value,a))}].filter(u=>u.value!==void 0)}function tu(){return{levelRows:lR(),townRows:[{key:"qiongxi",name:"邛溪镇",value:14.72,unit:"万亩"},{key:"sedi",name:"色地镇",value:13.86,unit:"万亩"},{key:"anqu",name:"安曲镇",value:12.38,unit:"万亩"},{key:"wache",name:"瓦切镇",value:10.64,unit:"万亩"},{key:"chaerma",name:"查尔玛乡",value:9.53,unit:"万亩"},{key:"amu",name:"阿木乡",value:8.71,unit:"万亩"}]}}function ch(t,e){if(t==="grassland"){const[n,a]=eu(g5,637.13,119.31),i=Q5([{key:"grassland-area",name:"草地面积",value:g5,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:n,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:a,unit:"万亩"}],t),r=ie([{name:"色地镇",value:99.09,basicAreaWanMu:66.58},{name:"邛溪镇",value:93.01,basicAreaWanMu:70.6},{name:"安曲镇",value:90.08,basicAreaWanMu:73.49},{name:"阿木乡",value:86.3,basicAreaWanMu:77.31},{name:"查尔玛乡",value:80.8,basicAreaWanMu:79.04},{name:"瓦切镇",value:74.74,basicAreaWanMu:70.73},{name:"刷经寺镇",value:74.3,basicAreaWanMu:56.66},{name:"龙日镇",value:62.64,basicAreaWanMu:49.66},{name:"江茸乡",value:49.67,basicAreaWanMu:48.78},{name:"麦洼乡",value:45.82,basicAreaWanMu:44.28}],{nameKeys:["name"],valueKeys:["value"]}),o=ie([{areaName:"邛溪镇",yield:38.88},{areaName:"色地镇",yield:37.78},{areaName:"安曲镇",yield:36.77},{areaName:"查尔玛乡",yield:33.21},{areaName:"瓦切镇",yield:32.62},{areaName:"阿木乡",yield:32.17},{areaName:"龙日镇",yield:24.43},{areaName:"刷经寺镇",yield:22.51},{areaName:"麦洼乡",yield:19.5},{areaName:"江茸乡",yield:19.43}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),s=o8([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:a,unit:"万亩"},{key:"ecology",name:"生态调节草原",value:97.23,unit:"万亩"},{key:"mowing",name:"割草地",value:15.95,unit:"万亩"},{key:"improved",name:"改良草地",value:4.33,unit:"万亩"}],{limit:4,minPercent:3,otherName:"其他草原类型"}),u=ie([{areaName:"瓦切镇",yield:798.39},{areaName:"查尔玛乡",yield:794.32},{areaName:"麦洼乡",yield:784.16},{areaName:"邛溪镇",yield:772.43},{areaName:"安曲镇",yield:770.9}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),h=tu().levelRows,p=fn([{key:"level-3",name:"3级草原",value:200.9,unit:"万亩"},{key:"level-4",name:"4级草原",value:205.47,unit:"万亩"},{key:"level-5",name:"5级草原",value:385.42,unit:"万亩"},{key:"level-6",name:"6级草原",value:139.06,unit:"万亩"},{key:"level-7",name:"7级草原",value:3.68,unit:"万亩"},{key:"level-8",name:"8级草原",value:3.61,unit:"万亩"}]),g=fn([{key:"good",name:"较健康",value:231.32,unit:"万亩"},{key:"healthy",name:"健康",value:481.87,unit:"万亩"},{key:"subhealthy",name:"亚健康",value:23.69,unit:"万亩"},{key:"unhealthy",name:"不健康",value:20.27,unit:"万亩"}]),C=Ap({xc:hl,edibleXc:192.26,unit:"万吨"},o),I=ie([{areaName:"邛溪镇",yield:24.71},{areaName:"色地镇",yield:24.18},{areaName:"安曲镇",yield:23.48},{areaName:"查尔玛乡",yield:21.26},{areaName:"瓦切镇",yield:20.88},{areaName:"阿木乡",yield:20.59},{areaName:"龙日镇",yield:15.63},{areaName:"刷经寺镇",yield:14.41},{areaName:"麦洼乡",yield:12.48},{areaName:"江茸乡",yield:12.44}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),U=xp({core:i,townRows:r,grassTypeRows:s,grassLevelRows:p,healthRows:g,productivityRows:u,edibleYieldRows:I,forageRows:C,degradationRows:h}),j=Z2(B2({status:"fallback"},U),{top:Cp(i,{xc:hl,unit:"万吨"},o)});return l8(j,t,e)}if(t==="wetland"){const n=Q5([{key:"wetland-area",name:"湿地面积",value:zt,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],t),a=s8(o8([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),zt,{key:"wetland-type-unclassified",name:"未分类湿地"}),i=s8([{name:"1级湿地",value:213.22,unit:"万亩"},{name:"2级湿地",value:22.99,unit:"万亩"},{name:"3级湿地",value:6.42,unit:"万亩"},{name:"4级湿地",value:.36,unit:"万亩"},{name:"5级湿地",value:.02,unit:"万亩"}],zt,{key:"wetland-level-unclassified",name:"未分级湿地"}),r=ie([{areaName:"色地镇",yield:21.32},{areaName:"瓦切镇",yield:17.49},{areaName:"安曲镇",yield:15.19},{areaName:"邛溪镇",yield:13.41},{areaName:"阿木乡",yield:10.37},{areaName:"龙日镇",yield:10.11},{areaName:"麦洼乡",yield:9.67},{areaName:"江茸乡",yield:5.78},{areaName:"刷经寺镇",yield:3.43},{areaName:"查尔玛乡",yield:2.08}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),o=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"},{name:"邛溪镇",value:870.48,unit:"斤"},{name:"色地镇",value:865.92,unit:"斤"},{name:"刷经寺镇",value:863.48,unit:"斤"},{name:"江茸乡",value:827.92,unit:"斤"},{name:"龙日镇",value:825.59,unit:"斤"}],s=j4([{name:"瓦切镇",value:36.38,unit:"万亩"},{name:"邛溪镇",value:29.29,unit:"万亩"},{name:"阿木乡",value:25.26,unit:"万亩"},{name:"龙日镇",value:24.59,unit:"万亩"},{name:"色地镇",value:24.62,unit:"万亩"}].sort((C,I)=>I.value-C.value),zt),u=s8([{name:"矮生嵩草、杂类草型",value:108.35,unit:"万亩"},{name:"高山嵩草、矮生嵩草型",value:34.36,unit:"万亩"},{name:"西藏嵩草、杂类草型",value:32.37,unit:"万亩"},{name:"早熟禾、杂类草型",value:20.99,unit:"万亩"},{name:"苔草、杂类草型",value:14.63,unit:"万亩"}],zt,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),m=ie([{areaName:"色地镇",yield:2.82},{areaName:"邛溪镇",yield:2.71},{areaName:"瓦切镇",yield:2.64},{areaName:"麦洼乡",yield:1.76},{areaName:"安曲镇",yield:1.66}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),h=ie([{areaName:"阿木乡",yield:509.83},{areaName:"瓦切镇",yield:509.52},{areaName:"邛溪镇",yield:356.74},{areaName:"色地镇",yield:287.23},{areaName:"麦洼乡",yield:281.27}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),p=bp({core:n,yieldSummary:{xc:108.84,edibleXc:DN,unit:"万吨"},townAreaRows:s,typeRows:a,levelRows:i,yieldRows:r,minTypeRows:u,muYieldRows:o,edibleYieldRows:m,edibleMuRows:h,typeTownRows:s,levelTownRows:s,minTownRows:s}),g=B2({status:"fallback",core:n,top:[n[0],n[1],n[2]]},p);return l8(g,t,e)}if(t==="woodland"){const n=Q5([{key:"woodland-area",name:"林地总面积",value:177.92,unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",value:159.33,unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:89.55,unit:"%"}],t),a=ie([{name:"刷经寺镇",value:59.4,percent:33.39},{name:"色地镇",value:27.97,percent:15.72},{name:"查尔玛乡",value:22.6,percent:12.7},{name:"阿木乡",value:19.37,percent:10.89},{name:"江茸乡",value:11.61,percent:6.53},{name:"邛溪镇",value:8.29,percent:4.66},{name:"瓦切镇",value:7.98,percent:4.49},{name:"安曲镇",value:7.47,percent:4.2},{name:"龙日镇",value:7.08,percent:3.98},{name:"麦洼乡",value:6.14,percent:3.45}],{nameKeys:["name"],valueKeys:["value"],extra:p=>`占比 ${n0(p.percent)}%`}),i=o8([{name:"灌木林地",value:114.78,unit:"万亩"},{name:"乔木林地",value:49.56,unit:"万亩"},{name:"灌丛沼泽",value:8.79,unit:"万亩"},{name:"其他林地",value:4.79,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他林地"}),m=Tp({townRows:a,typeRows:i,scaleRows:[{name:"15-150亩",value:96.91,unit:"万亩"},{name:"<15亩",value:39.99,unit:"万亩"},{name:"150-1500亩",value:30.81,unit:"万亩"},{name:"≥1500亩",value:10.21,unit:"万亩"}],protectionRows:[{name:"国家二级公益林",value:158.33,unit:"万亩",extra:"88.99%"},{name:"未划定",value:18.72,unit:"万亩",extra:"10.52%"},{name:"国家一级公益林",value:.88,unit:"万亩",extra:"0.49%"}],ownershipRows:[{name:"集体林地",value:172.19,unit:"万亩",extra:"96.78%"},{name:"国有或其他",value:5.73,unit:"万亩",extra:"3.22%"}],ownerRows:[{name:"壤口村",value:42.74,unit:"万亩",extra:"占比 24.02%"},{name:"查龙村",value:16.34,unit:"万亩",extra:"占比 9.18%"},{name:"茸塔玛村",value:14.96,unit:"万亩",extra:"占比 8.41%"},{name:"峨扎村",value:9.96,unit:"万亩",extra:"占比 5.6%"},{name:"三家寨村",value:9.57,unit:"万亩",extra:"占比 5.38%"}]}),h=B2({status:"fallback",core:n,top:[n[0],n[1],n[2]]},m);return l8(h,t,e)}return{status:"empty",core:Q5([],t),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function _p(t=[],e=["name"]){const n=new Map;return t.forEach(a=>{const i=Q1(a,e);!i||n.has(i)||n.set(i,a)}),Array.from(n.values())}function ne(t,e=[]){return t().catch(()=>e)}function As(t=[],e={}){const{nameKeys:n=["name","health","level"],valueKeys:a=["value","acreage","areaWanMu"],unit:i="万亩",nameTransform:r=u=>u,max:o=Number.POSITIVE_INFINITY}=e,s=ie(t||[],{nameKeys:n,valueKeys:a,unit:i}).map(u=>Z2(B2({},u),{name:r(u.name)}));return fn(s).filter(u=>Number(u.value)>0).slice(0,o)}function hR(t){const e=String(t||"");return/^\d+$/.test(e)?`${e}级草原`:e.includes("级")?e.replace(/草地/g,"草原"):e}function mR(t){const e=String(t||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[e]||e}function xp({core:t,townRows:e,grassTypeRows:n,grassLevelRows:a,healthRows:i,productivityRows:r,edibleYieldRows:o,forageRows:s,degradationRows:u}){const m=b0("grassland-town","草地面积分布",c7(e),"column",{span:1,variant:"plain"}),h=b0("grassland-productivity-town","草地生产力分布",c7(r),"line",{span:1,fixedType:!0}),p=b0("grassland-type-proportion","草原类占比",n,"donut",{span:1}),g=b0("grassland-edible-yield","可食鲜草产量分布",st(o,10),"column",{span:1,variant:"slim"}),C=b0("grassland-degradation","草地退化统计",dR(u),"bar",{span:1,variant:"degradation"}),I=b0("grassland-health-proportion","草地健康占比",i,"rose",{span:1}),U=b0("grassland-level-proportion","草原级占比",a,"donut",{span:1,variant:"ring"}),j=b0("grassland-forage-capacity","饲草供给",s,"bar",{span:1,variant:"capacity"}),l2=se([m,p,C,U]),v2=se([g,h,I,j]);return{core:t,leftPanels:l2,rightPanels:v2,left:l2[0],right:v2[0],layerPanels:oR({leftPanels:l2,rightPanels:v2})}}function pR(t,e={}){const n=zN(t),a=_p(e.typeRows||[],["name"]),i=e.yieldRows||[],r=e.levelRows||[],o=e.minTypeRows||[],s=e.edibleRows||[],u=e.edibleMuRows||[],m=e.typeDistributionRows||[],h=e.levelDistributionRows||[],p=e.minTypeDistributionRows||[],g=e.yieldSummary||{},C=s8(o8(oi(a,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),zt,{key:"wetland-type-unclassified",name:"未分类湿地"}),I=Wi(i,e.muYieldRows||[],{showMuYieldExtra:!1}),U=oi(e.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:dn.length}),j=s8(oi(r,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(b3=>Z2(B2({},b3),{name:uh(b3.name)})),zt,{key:"wetland-level-unclassified",name:"未分级湿地"}),l2=o8(s8(VN(o),zt,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),{limit:6,minPercent:1,otherName:"其他小类"}),v2=Wi(s,u,{showMuYieldExtra:!1}),S2=oi(u,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:Q1(u==null?void 0:u[0],["unit"])||"斤",max:dn.length}),T2=j4(H9(m,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),zt),C2=j4(H9(m,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:b3=>{var Y3;return`${((Y3=b3.source)==null?void 0:Y3.length)||0}类`}}),zt),j2=j4(H9(h,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),zt),K2=H9(h,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:b3=>uh(Q1(b3,["level","name"])).startsWith("1级")}),V2=j4(H9(p,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:b3=>{var Y3;return`${((Y3=b3.source)==null?void 0:Y3.filter(o3=>wp(o3,["acreage","areaWanMu","value"])>0).length)||0}型`}}),zt),s3=iR(g,v2,I),m3=Q5(n,"wetland"),p3=j.find(b3=>/^1级/.test(b3.name))||j[0],U3=bp({yieldSummary:s3,townAreaRows:T2,typeRows:C,levelRows:j,yieldRows:I,minTypeRows:l2,muYieldRows:U,edibleYieldRows:v2,edibleMuRows:S2,typeTownRows:C2,levelTownRows:K2.length?K2:j2,minTownRows:V2});return B2({core:m3,top:[m3[0],m3[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:p3==null?void 0:p3.value,unit:(p3==null?void 0:p3.unit)||"万亩"}].filter(Boolean)},U3)}function gR(t={}){const e=Object.values(t.layerPanels||{}).flatMap(n=>[...(n==null?void 0:n.leftPanels)||[],...(n==null?void 0:n.rightPanels)||[]]);return[...t.leftPanels||[],...t.rightPanels||[],...e]}function yR(t,e=[]){const n=new Set(e);return gR(t).find(a=>n.has(a==null?void 0:a.key))||null}function O9(t,e,n,a,i,r={}){const o=yR(t,e);return B2(Z2(B2({},o||{}),{key:n,title:a,type:i||(o==null?void 0:o.type)||"rank",rows:(o==null?void 0:o.rows)||[],span:1}),r)}function k4(t,e=[]){return[...(t==null?void 0:t.top)||[],...(t==null?void 0:t.core)||[]].find(a=>e.some(i=>(a==null?void 0:a.key)===i||String((a==null?void 0:a.name)||"").includes(i)))||null}function vR(t,e,n){var j,l2,v2,S2,T2;const a=k4(t,["grassland-area","grassland-total-area","草地面积"]),i=k4(e,["wetland-area","湿地面积"]),r=k4(n,["woodland-area","林地总面积"]),[o,s]=eu(g5,637.13,119.31),u=k4(t,["basic-grassland","basic-grassland-area","基本草原"]),m=k4(t,["general-grassland","general-grassland-area","一般草原"]),h=fn([{key:"overview-basic-grassland",name:"基本草原",value:n0((j=u==null?void 0:u.value)!=null?j:o),unit:(u==null?void 0:u.unit)||"万亩",color:"#24F6C4"},{key:"overview-general-grassland",name:"一般草原",value:n0((l2=m==null?void 0:m.value)!=null?l2:s),unit:(m==null?void 0:m.unit)||"万亩",color:"#FFE06B"}]),p=fn([{key:"overview-grassland-area",name:"草地资源",value:n0((v2=a==null?void 0:a.value)!=null?v2:g5),unit:(a==null?void 0:a.unit)||"万亩",color:"#8AE611"},{key:"overview-wetland-area",name:"湿地资源",value:n0((S2=i==null?void 0:i.value)!=null?S2:zt),unit:(i==null?void 0:i.unit)||"万亩",color:"#32DCFF"},{key:"overview-woodland-area",name:"林地资源",value:n0((T2=r==null?void 0:r.value)!=null?T2:GN),unit:(r==null?void 0:r.unit)||"万亩",color:"#2BD17E"}]),g=[O9(t,["grassland-town"],"overview-grassland-distribution","草地分布","column",{variant:"plain"}),O9(e,["wetland-town-area"],"overview-wetland-distribution","湿地分布","column",{variant:"water"}),O9(n,["woodland-town"],"overview-woodland-distribution","林地分布","column",{variant:"plain",lineOverlay:!0}),O9(t,["grassland-forage-capacity"],"overview-forage-supply","饲草供给","bar",{variant:"capacity"})],C=[b0("overview-basic-general","基本/一般草原",h,"donut",{span:1,variant:"ring"}),O9(n,["woodland-quality-level","woodland-quality"],"overview-woodland-quality","林地质量","heat",{limit:6}),O9(e,["wetland-type"],"overview-wetland-type","湿地类型结构","rose"),b0("overview-resource-area","林草湿面积构成",p,"structure",{span:1})],U=[{key:"overview-resource-area-total",name:"林草湿面积",value:n0(Hn(p)),unit:"万亩"},Z2(B2({},p[0]),{name:"草地面积"}),Z2(B2({},p[1]),{name:"湿地面积"}),Z2(B2({},p[2]),{name:"林地面积"})];return{status:[t,e,n].some(C2=>(C2==null?void 0:C2.status)==="error")?"fallback":"success",core:U,top:U,leftPanels:g,rightPanels:C,left:g[0],right:C[0]}}function u8(t,e){return P3(this,null,function*(){var n;try{if(t==="overview"){const[a,i,r]=yield Promise.all([u8("grassland",""),u8("wetland",""),u8("woodland","")]);return vR(a,i,r)}if(t==="woodland"){const[a,i,r,o,s]=yield Promise.all([c5("/woodland/distribution").then(u0),ne(()=>P3(this,null,function*(){return u0(yield c5("/woodland/types"))}),{}),ne(()=>P3(this,null,function*(){return u0(yield c5("/woodland/protection"))}),{}),ne(()=>P3(this,null,function*(){return u0(yield c5("/woodland/quality"))}),{}),ne(()=>P3(this,null,function*(){return u0(yield c5("/woodland/ownership"))}),{})]),u=Q5(YN(a),t),m=Q1((a==null?void 0:a.core)||(a==null?void 0:a.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),h=Q1((r==null?void 0:r.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),p=[u[0],{key:"woodland-public-area",name:"公益林面积",value:n0(h),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:n0((n=Q1((r==null?void 0:r.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?n:Mn(h,m)),unit:"%"}].filter(Boolean),g=ie((a==null?void 0:a.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:b3=>ri(b3,m)}),C=o8(ie((i==null?void 0:i.typeStats)||(a==null?void 0:a.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:s6}),{limit:4,minPercent:1,otherName:"其他林地"}),I=ie((a==null?void 0:a.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:b3=>ri(b3,m)}),U=ie((r==null?void 0:r.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:s6}),j=ie((o==null?void 0:o.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:s6}),l2=ie((s==null?void 0:s.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:b3=>ri(b3,m)}),v2=ie((s==null?void 0:s.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:s6}),S2=ie((r==null?void 0:r.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:s6}),T2=ie((r==null?void 0:r.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:s6}),C2=ie((r==null?void 0:r.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:b3=>ri(b3,h)}),j2=ie((o==null?void 0:o.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:s6}),K2=ie((o==null?void 0:o.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:s6}),V2=ie((o==null?void 0:o.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:b3=>{const Y3=n0(Q1(b3,["avgCanopy","avg_canopy"]));return Y3!==void 0?`均值 ${Y3}`:s6(b3)}}),s3=ie((o==null?void 0:o.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:s6}),m3=ml((i==null?void 0:i.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),p3=Tp({townRows:g,typeRows:C,scaleRows:I,protectionRows:U,ownershipRows:v2,qualityRows:j,originRows:j2,ageRows:K2,canopyRows:V2,forestTypeRows:S2,manageLevelRows:T2,regionRows:C2,ownerRows:l2,typeTownRows:m3,qualityLevelRows:s3}),U3=B2({status:"success",core:u,top:p},p3);return l8(U3,t,e)}if(t==="grassland"){const[a,i,r,o,s,u,m,h,p]=yield Promise.all([W0("/basic_grassland/overview").then(u0),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_yield/yieldProportion"))}),{}),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_yield/distribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_yield/muYieldDistribution"))})),ne(()=>P3(this,null,function*(){return uR()}),tu()),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_grass_type/areaProportion"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_grassland_level/areaProportion"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_health/proportion"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/grassland_yield/edibleXcDistribution"))}))]),g=s.levelRows||[],C=Q5($N(a),t),I=Wi(r||[],o||[],{showMuYieldExtra:!1}),U=cR(i,I),j=ie(o||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:Q1(o==null?void 0:o[0],["unit"])||"斤"}),l2=ie((a==null?void 0:a.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),v2=As(_p(u||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:vp}),S2=As(m||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:hR}),T2=As(h||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:mR}),C2=Wi(p||[],[],{showMuYieldExtra:!1}),j2=xp({core:C,townRows:l2,grassTypeRows:v2,grassLevelRows:S2,healthRows:T2,productivityRows:j,edibleYieldRows:C2,forageRows:Ap(U,I),degradationRows:g}),K2=Z2(B2({status:"success"},j2),{top:Cp(C,U,I)});return l8(K2,t,e)}if(t==="wetland"){const[a,i,r,o,s,u,m,h,p,g,C,I]=yield Promise.all([WN([()=>P3(this,null,function*(){return u0(yield W0("/index/dataItem",{group:"wetland"}))}),()=>P3(this,null,function*(){return u0(yield W0("/index/dataItem",{group:"wetland_grassland_level"}))})]),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grass_type_copy/areaProportion"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_yield/distribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_yield/muYieldDistribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grassland_level/areaProportion"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grass_type_copy/minTypeAreaProportion"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_yield/edibleXcDistribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_yield/edibleXcMuDistribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grass_type_copy/distribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grassland_level/distribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_grass_type_copy/minTypeAreaDistribution"))})),ne(()=>P3(this,null,function*(){return u0(yield W0("/wetland_yield/yieldProportion"))}),{})]),U=pR(a,{typeRows:i,yieldRows:r,muYieldRows:o,levelRows:s,minTypeRows:u,edibleRows:m,edibleMuRows:h,typeDistributionRows:p,levelDistributionRows:g,minTypeDistributionRows:C,yieldSummary:I}),j=Z2(B2({status:"success"},U),{left:U.leftPanels[0],right:U.rightPanels[0]});return l8(j,t,e)}return ch(t,e)}catch(a){return Z2(B2({},ch(t,e)),{status:"error",error:a})}})}function SR(t,e,n=null){return P3(this,null,function*(){try{const a=yield tR(t,e,n);return a||(t==="woodland"?e==="woodland-protection"?yield si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>P3(this,null,function*(){const i=u0(yield c5("/woodland/protection")),r=ml((i==null?void 0:i.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return p6({topicKey:t,layerKey:e,title:"公益林面积排行",unit:"万亩",rows:r,note:"按公益林村级榜单汇总到乡镇"})})):e==="woodland-type"?yield si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>P3(this,null,function*(){const i=u0(yield c5("/woodland/types")),r=ml((i==null?void 0:i.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return p6({topicKey:t,layerKey:e,title:"林地类型面积排行",unit:"万亩",rows:r,note:"按林地类型组成汇总到乡镇"})})):e==="woodland-quality"?yield si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):e==="woodland-ownership"?yield si({topicKey:t,layerKey:e,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield HN(t,e,"林地面积排行"):t==="grassland"?e==="basic-grassland"?yield oh(t,e,"basicAreaWanMu","基本草原面积排行"):e==="grassland-level"?yield li(t,e,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield oh(t,e,"totalAreaWanMu","草地面积排行"):t==="wetland"?e==="wetland-level"?yield li(t,e,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):e==="wetland-type"?yield li(t,e,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield li(t,e,"/wetland_yield/distribution","湿地生产力排行","万吨"):p6({topicKey:t,layerKey:e,title:"乡镇统计排行",rows:[]}))}catch(a){return{status:"error",topicKey:t,layerKey:e,title:"乡镇统计排行",unit:"",rows:[],error:a}}})}const nu="/jsyApi",b5="/openApi",wR=new Date().getFullYear();function bR(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function TR(t){if((t==null?void 0:t.success)===!1&&(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code))throw new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");return u0(t)}function Jn(t,e,n,a={}){return Xt(bR(t,e),{params:n,timeout:a.timeout||18e3}).then(TR)}function CR(){return Jn(nu,"/api/yak/distribution").then(t=>au(t))}function AR(){return Jn(nu,"/api/yak/structure").then(t=>au(t))}function _R(){return Jn(nu,"/api/yak/forecast").then(t=>au(t))}function pl(t=wR){return Jn(b5,"/yak/trade/overview",typeof t=="object"?t:{year:t}).then(n=>n||{})}function xR(){return Jn(b5,"/yak/trade/options").then(t=>t||{})}function dh(t={}){return Jn(b5,"/yak/trade/records",t).then(e=>e||{})}function MR(t={}){return Jn(b5,"/yak/epidemic/analysis",t).then(e=>e||{})}function _s(t={}){return Jn(b5,"/yak/epidemic/records",t).then(e=>e||{})}function PR(t={}){return Jn(b5,"/yak/epidemic/stats",t).then(e=>e||{})}function kR(t={}){return Jn(b5,"/yak/epidemic/village-stats",t).then(e=>e||{})}function ER(t){return Jn(b5,"/yak/epidemic/detail",{earTag:t}).then(e=>e||null)}function NR(){return P3(this,null,function*(){return(yield CR()).map((e,n)=>({key:m6(e,["areaCode","area_code","code","id"],`yak-town-${n}`),name:m6(e,["areaName","area_name","zoneName","townName","name"],`区域${n+1}`),value:Ar(m6(e,["number","yakCount","yak_count","count","value"])),unit:"头"})).filter(e=>e.name&&Number.isFinite(e.value)).sort((e,n)=>n.value-e.value)})}function RR(){return P3(this,null,function*(){const e=(yield AR()).map((n,a)=>{const i=m6(n,["sex","gender"],""),r=FR(i),o=m6(n,["ageRange","age_range","age","name","type"],""),s=[r,o].filter(Boolean).join(" ")||`结构${a+1}`;return{key:m6(n,["id","key"],`${s}-${a}`),name:s,value:Ar(m6(n,["number","count","value"])),unit:"头"}}).filter(n=>n.name&&Number.isFinite(n.value));return IR(e)})}function LR(){return P3(this,null,function*(){return(yield _R()).map((e,n)=>{const a=m6(e,["month","date","name","time"],`预测${n+1}`);return{key:`${a}-${n}`,name:BR(a),value:Ar(m6(e,["number","count","yakCount","value"])),unit:"头",extra:DR("增速",m6(e,["speed","growth","growthRate","rate"]))}}).filter(e=>e.name&&Number.isFinite(e.value))})}function au(t){return Array.isArray(t)?t:Array.isArray(t==null?void 0:t.rows)?t.rows:Array.isArray(t==null?void 0:t.list)?t.list:Array.isArray(t==null?void 0:t.records)?t.records:Array.isArray(t==null?void 0:t.data)?t.data:[]}function IR(t=[]){const e=new Map;return t.forEach(n=>{const a=e.get(n.name)||Z2(B2({},n),{value:0});a.value+=n.value,e.set(n.name,a)}),[...e.values()].sort((n,a)=>a.value-n.value)}function m6(t,e,n=""){for(const a of e){const i=t==null?void 0:t[a];if(i!=null&&i!=="")return i}return n}function FR(t){return["boy","male","公","公牛"].includes(t)?"公牛":["girl","female","母","母牛"].includes(t)?"母牛":t||""}function BR(t){const e=String(t||""),n=e.match(/(?:^|\D)(1[0-2]|0?[1-9])(?:月|$|-)/);return n?`${Number(n[1])}月`:e}function DR(t,e){const n=Ar(e);return Number.isFinite(n)?`${t}:${n.toLocaleString("zh-CN",{maximumFractionDigits:2})}`:""}function Ar(t){if(t==null||t==="")return NaN;const e=Number(String(t).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const x8=458230,iu=450817,GR=x8-iu;function Mp(t,e,n="count"){const a=t.reduce((o,s)=>o+(Number(s[n])||0),0);if(!a||!e)return t.map(o=>Z2(B2({},o),{[n]:0}));const i=t.map(o=>Z2(B2({},o),{[n]:Math.round((Number(o[n])||0)/a*e)})),r=e-i.reduce((o,s)=>o+(Number(s[n])||0),0);return r&&i[0]&&(i[0][n]+=r),i}const i9={herdsmanCount:129,grasslandArea:7563700,wetArea:2918200,yakCount:x8,projectCount:17,baseCount:12},UR=[{zoneName:"色地镇",grasslandArea:1463044,yakCount:11704},{zoneName:"麦洼乡",grasslandArea:660352,yakCount:5283},{zoneName:"阿木乡",grasslandArea:1115947,yakCount:8928},{zoneName:"瓦切镇",grasslandArea:1111492,yakCount:8892},{zoneName:"查尔玛乡",grasslandArea:858500,yakCount:6868},{zoneName:"江茸乡",grasslandArea:644761,yakCount:5158},{zoneName:"龙日镇",grasslandArea:874234,yakCount:6994},{zoneName:"安曲镇",grasslandArea:1165634,yakCount:9325},{zoneName:"刷经寺镇",grasslandArea:62465,yakCount:500},{zoneName:"邛溪镇",grasslandArea:1166721,yakCount:9334}],OR=[{zoneName:"色地镇",grasslandArea:350788,wetArea:166983},{zoneName:"麦洼乡",grasslandArea:162198,wetArea:71501},{zoneName:"阿木乡",grasslandArea:305522,wetArea:89411},{zoneName:"瓦切镇",grasslandArea:264640,wetArea:128717},{zoneName:"查尔玛乡",grasslandArea:286159,wetArea:17664},{zoneName:"江茸乡",grasslandArea:175840,wetArea:52341},{zoneName:"龙日镇",grasslandArea:222346,wetArea:87046},{zoneName:"安曲镇",grasslandArea:304970,wetArea:107548},{zoneName:"刷经寺镇",grasslandArea:22107,wetArea:7002},{zoneName:"邛溪镇",grasslandArea:318316,wetArea:94587}],jR=[{month:"1月",count:458230,speed:0},{month:"2月",count:458860,speed:630},{month:"3月",count:459520,speed:660},{month:"4月",count:460180,speed:660},{month:"5月",count:461260,speed:1080},{month:"6月",count:462050,speed:790},{month:"7月",count:462850,speed:800},{month:"8月",count:463160,speed:310},{month:"9月",count:463520,speed:360},{month:"10月",count:463940,speed:420},{month:"11月",count:464350,speed:410},{month:"12月",count:464760,speed:410}],Pp=[{name:"色地镇",count:131983,devices:25},{name:"瓦切镇",count:126611,devices:24},{name:"安曲镇",count:99331,devices:20},{name:"邛溪镇",count:81727,devices:18},{name:"麦洼乡",count:78489,devices:16},{name:"龙日镇",count:66846,devices:15},{name:"阿木乡",count:64176,devices:14},{name:"查尔玛乡",count:47958,devices:11},{name:"江茸乡",count:34576,devices:9},{name:"刷经寺镇",count:30407,devices:8}],Wn=Mp(Pp,iu),zR=new Map(Mp(Pp,x8).map(t=>[t.name,t.count])),A7=UR.map(t=>Z2(B2({},t),{yakCount:zR.get(t.zoneName)||t.yakCount}));Wn.reduce((t,e)=>t+e.count,0);const ru=x8;i9.yakCount=ru;function YR(t,e){const n=t.map((i,r)=>{const o=e*i.ratio/100;return Z2(B2({},i),{index:r,exact:o,count:Math.floor(o),remainder:o-Math.floor(o)})});let a=e-n.reduce((i,r)=>i+r.count,0);return n.slice().sort((i,r)=>r.remainder-i.remainder||i.index-r.index).forEach(i=>{a<=0||(i.count+=1,a-=1)}),n.map(u=>{var m=u,{index:i,exact:r,remainder:o}=m,s=F9(m,["index","exact","remainder"]);return Z2(B2({},s),{count:Math.round(s.count)})})}YR([{key:"fertileCow",name:"适龄能繁母牛",ratio:44.8},{key:"meatBull",name:"麦洼公牦牛",ratio:15.2},{key:"breedingBull",name:"种公牛",ratio:3.1},{key:"femaleCalf",name:"母犊牛",ratio:14.9},{key:"maleCalf",name:"公犊牛",ratio:15.1},{key:"overageCow",name:"过龄能繁母牛",ratio:6.9}],ru);const ou=[{label:"屠宰出栏",value:1706,yoy:6},{label:"活畜交易",value:1043,yoy:-3},{label:"外运销售",value:624,yoy:12},{label:"其他出栏",value:299,yoy:-9}],kp=[{name:"饲草储备库",value:7,capacity:10500,unit:"座"},{name:"加工企业",value:7,capacity:13e3,unit:"家"},{name:"工程数量",value:i9.projectCount,capacity:17,unit:"个"},{name:"基地数量",value:i9.baseCount,capacity:12,unit:"个"}],$R=iu,WR=GR,VR=0,Ye=x8;function Ep(t=[],e=x8){const n=t.map(o=>{var s,u,m;return Z2(B2({},o),{name:o.name||o.label||o.town||"",count:Number((m=(u=(s=o.count)!=null?s:o.value)!=null?u:o.total)!=null?m:0)})}).filter(o=>o.name&&Number.isFinite(o.count)&&o.count>=0),a=n.reduce((o,s)=>o+s.count,0);if(!a||!e)return n.map(o=>Z2(B2({},o),{count:0}));const i=n.map(o=>Z2(B2({},o),{count:Math.round(o.count/a*e)})),r=e-i.reduce((o,s)=>o+s.count,0);return r&&i[0]&&(i[0].count+=r),i}const d7=Ep(Wn,Ye).sort((t,e)=>e.count-t.count),HR=[{key:"fertileCow",name:"适龄能繁母牛",ratio:45,source:"畜群结构比例表"},{key:"meatBull",name:"麦洼公牦牛",ratio:15,source:"畜群结构比例表"},{key:"breedingBull",name:"种公牛",ratio:3,source:"畜群结构比例表"},{key:"femaleCalf",name:"母犊牛",ratio:15,source:"畜群结构比例表"},{key:"maleCalf",name:"公犊牛",ratio:15,source:"畜群结构比例表"},{key:"overageCow",name:"过龄能繁母牛",ratio:7,source:"畜群结构比例表"}],KR=[{key:"fertileCow",name:"适龄能繁母牛",ratio:44.8,source:"畜群结构比例表"},{key:"meatBull",name:"麦洼公牦牛",ratio:15.2,source:"畜群结构比例表"},{key:"breedingBull",name:"种公牛",ratio:3.1,source:"畜群结构比例表"},{key:"femaleCalf",name:"母犊牛",ratio:14.9,source:"畜群结构比例表"},{key:"maleCalf",name:"公犊牛",ratio:15.1,source:"畜群结构比例表"},{key:"overageCow",name:"过龄能繁母牛",ratio:6.9,source:"畜群结构比例表"}],G6=Bp(KR,Ye),gl=ou.map((t,e)=>Z2(B2({},t),{color:["#48cfff","#30dcff","#8bf7ff","#48cfff"][e%4]})),_i=[{age:"≤1岁",cow:38586,bull:40861},{age:"1-2岁",cow:27124,bull:27549},{age:"2-4岁",cow:93355,bull:49265},{age:"4-8岁",cow:106679,bull:32655},{age:"8岁以上",cow:28671,bull:13485}],Mt=[{key:"2026",label:"2026年底",shortLabel:"2026",months:7,stock:462850,births:24680,outflow:19020,correction:-1040,structure:{fertileCow:45.1,meatBull:15,breedingBull:3,femaleCalf:15.2,maleCalf:14.9,overageCow:6.8}},{key:"2027",label:"2027年底",shortLabel:"2027",months:19,stock:468920,births:67420,outflow:55180,correction:-1550,structure:{fertileCow:45.5,meatBull:14.8,breedingBull:3.1,femaleCalf:15.1,maleCalf:14.8,overageCow:6.7}},{key:"2028",label:"2028年底",shortLabel:"2028",months:31,stock:475360,births:109680,outflow:90140,correction:-2410,structure:{fertileCow:45.9,meatBull:14.5,breedingBull:3.1,femaleCalf:15.3,maleCalf:14.7,overageCow:6.5}}],yl=[{name:"新生牛犊",value:86},{name:"出栏周转",value:62},{name:"死亡淘汰",value:48},{name:"母牛基础",value:91},{name:"幼畜存活",value:73}],Np=2026,Rp=6;function Lp(t){return Mt.find(e=>e.key===t)||Mt[1]}function qR(t){const e=(t==null?void 0:t.structure)||{};return Bp(HR.map(n=>{var a;return Z2(B2({},n),{ratio:(a=e[n.key])!=null?a:n.ratio,source:"预测模型"})}),t.stock)}function JR(t){const e=t.stock/Ye,n=d7.map((i,r)=>Z2(B2({},i),{forecast:Math.round(i.count*e+(r%3-1)*t.months*18)})),a=t.stock-n.reduce((i,r)=>i+r.forecast,0);if(a){const i=n.reduce((r,o)=>o.count>r.count?o:r,n[0]);i.forecast+=a}return n.map(i=>Z2(B2({},i),{change:i.forecast-i.count})).sort((i,r)=>r.forecast-i.forecast)}function Ip(t){const e=su(t),n=Array.from({length:e},(o,s)=>QR(s)),a=n.map((o,s)=>{const u=xs(s,e),m=Math.sin(s/2.6)*Math.sin(Math.PI*u)*Math.min(360,t.months*18);return Math.round(Ye+(t.stock-Ye)*u+m)}),i=n.map((o,s)=>Math.round(t.births*xs(s,e))),r=n.map((o,s)=>Math.round(t.outflow*xs(s,e)));return{labels:n,stock:a,births:i,outflow:r}}function su(t={}){return Math.max(1,Math.round(Number(t.months||1)))}function xs(t,e){return e<=1?1:Math.min(1,Math.max(0,t/(e-1)))}function QR(t=0){const e=new Date(Date.UTC(Np,Rp-1+t,1));return`${String(e.getUTCFullYear()).slice(-2)}-${String(e.getUTCMonth()+1).padStart(2,"0")}`}function Fp(t=0){const e=new Date(Date.UTC(Np,Rp-1,1+t));return[String(e.getUTCFullYear()).slice(-2),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("-")}function Bp(t,e){const n=t.map((i,r)=>{const o=e*i.ratio/100;return Z2(B2({},i),{index:r,exact:o,count:Math.floor(o),remainder:o-Math.floor(o)})});let a=e-n.reduce((i,r)=>i+r.count,0);return n.slice().sort((i,r)=>r.remainder-i.remainder||i.index-r.index).forEach(i=>{a<=0||(i.count+=1,a-=1)}),n.map(u=>{var m=u,{index:i,exact:r,remainder:o}=m,s=F9(m,["index","exact","remainder"]);return Z2(B2({},s),{count:Math.round(s.count)})})}function XR(t){const e=new Map;return t.forEach(n=>{const a=n.name,i=e.get(a)||{name:a,count:0};i.count+=Number(n.count||0),e.set(a,i)}),[...e.values()].sort((n,a)=>a.count-n.count)}const _r={grasslandCapacityPerMu:.06229833103624831,muPerYak:16.051794379822947,yakToSheepUnit:1},ZR={key:"county-513233",type:"county",name:"红原县",areaCode:"513233"},E4=[{key:"healthy",label:"合理",shortLabel:"合理",range:"< 0%",description:"承载力覆盖实际载畜量,当前放牧压力处于合理区间。",actions:["保持当前载畜水平与轮牧节奏","定期复测草地生产力和载畜量","关注极端天气对牧草生长的影响"]},{key:"watch",label:"基本实现草畜平衡",shortLabel:"基本平衡",range:"0% - 5%",description:"实际载畜量与草地承载力基本匹配,草畜平衡总体实现。",actions:["保持当前载畜规模基本稳定","持续核查草地生产力和牲畜存栏","结合季节变化做好补饲和轮牧安排"]},{key:"light",label:"轻度超载",shortLabel:"关注",range:"5% - 10%",description:"已出现轻度超载迹象,建议提前介入调控。",actions:["适度压减超载畜群规模","延长冬春舍饲补饲周期","增加人工草场补饲供应"]},{key:"warning",label:"中度超载",shortLabel:"预警",range:"10% - 20%",description:"超载较明显,草地退化风险上升,应启动主动调控。",actions:["压减载畜量至理论承载力以内","推行划区轮牧与阶段性休牧","扩大优质人工饲草供给"]},{key:"danger",label:"严重超载",shortLabel:"高压",range:"> 20%",description:"超载压力较高,建议纳入重点管控和生态修复范围。",actions:["强制压减载畜量并实施禁牧休牧","对退化草地实施生态修复","建立重点区域长效监测与考核机制"]}],R6={areaRange:["areaRange","area_range","arearange","acreage","grasslandArea","grasslandarea","area"],yakNumber:["yakNumber","yak_number","yaknumber","number","yakCount","yakcount","livestockCount","livestockcount"],bearingCapacity:["bearingCapacity","bearing_capacity","bearingcapacity","capacity","theoryCapacity","theorycapacity"],livestockCapacity:["livestockCapacity","livestock_capacity","livestockcapacity","carryingCapacity","carryingcapacity","actualCapacity","actualcapacity"],overloadRate:["overloadRate","overload_rate","overloadrate","rate"],level:["level","conclusion"],advice:["advice","balanceAdvice","balance_advice","balanceadvice","balanceAdivce","balance_adivce","balanceadivce"],year:["year"],areaName:["areaName","area_name","areaname","name"]},u5=(t,e=2)=>{const n=N6(10,e);return Math.round((Number(t)||0)*n)/n},Un="加强人工饲草饲料基地建设;购买饲草饲料,增加饲草饲料供应量;实行舍饲圈养,减轻草原放牧压力;加快牲畜出栏,优化畜群结构。";function me(t,e=null){if(t==null||t==="")return e;const n=typeof t=="string"?t.replace(/,/g,"").replace(/%/g,"").trim():t,a=Number(n);return Number.isFinite(a)?a:e}function Tn(t={},e=[],n=void 0){for(const a of e){const i=t==null?void 0:t[a];if(i!=null&&i!=="")return i}return n}function xi(t,e={}){var a;const n=me(t);return n===null?"--":n.toLocaleString("zh-CN",{maximumFractionDigits:(a=e.maximumFractionDigits)!=null?a:Number.isInteger(n)?0:2})}function ui(t){const e=me(t);return e===null?"--":`${xi(e)}%`}function _7(t){const e=me(t);return e===null||e<0?E4[0]:e<=5?E4[1]:e<=10?E4[2]:e<=20?E4[3]:E4[4]}function fh(t){return Math.round(Number(t)||0)}function hh(t){return Math.round((Number(t)||0)*_r.grasslandCapacityPerMu)}const Ki=Z2(B2({},ZR),{areaRange:756851506e-2,yakNumber:458230,bearingCapacity:454864,livestockCapacity:458230,overloadRate:.74,level:"基本实现草畜平衡",advice:Un,year:"2026"}),M8=[{key:"town-邛溪镇",type:"town",name:"邛溪镇",areaCode:"513233100",areaRange:930604.2,yakNumber:49140,bearingCapacity:47723,livestockCapacity:49140,overloadRate:2.97,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-刷经寺镇",type:"town",name:"刷经寺镇",areaCode:"513233101",areaRange:743557.5,yakNumber:18283,bearingCapacity:18002,livestockCapacity:18283,overloadRate:1.56,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-安曲镇",type:"town",name:"安曲镇",areaCode:"513233103",areaRange:900696.75,yakNumber:59725,bearingCapacity:58479,livestockCapacity:59725,overloadRate:2.13,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-龙日镇",type:"town",name:"龙日镇",areaCode:"513233105",areaRange:628303.8,yakNumber:40192,bearingCapacity:39462,livestockCapacity:40192,overloadRate:1.85,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-江茸乡",type:"town",name:"江茸乡",areaCode:"513233202",areaRange:496888.95,yakNumber:20789,bearingCapacity:20563,livestockCapacity:20789,overloadRate:1.1,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-查尔玛乡",type:"town",name:"查尔玛乡",areaCode:"513233203",areaRange:808628.4,yakNumber:28836,bearingCapacity:28312,livestockCapacity:28836,overloadRate:1.85,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-瓦切镇",type:"town",name:"瓦切镇",areaCode:"513233204",areaRange:747837.6,yakNumber:76127,bearingCapacity:74598,livestockCapacity:76127,overloadRate:2.05,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-阿木乡",type:"town",name:"阿木乡",areaCode:"513233205",areaRange:863346,yakNumber:38587,bearingCapacity:37554,livestockCapacity:38587,overloadRate:2.75,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-麦洼乡",type:"town",name:"麦洼乡",areaCode:"513233207",areaRange:458338.35,yakNumber:47193,bearingCapacity:46643,livestockCapacity:47193,overloadRate:1.18,level:"基本实现草畜平衡",advice:Un,year:"2026"},{key:"town-色地镇",type:"town",name:"色地镇",areaCode:"513233208",areaRange:991265.25,yakNumber:79358,bearingCapacity:77695,livestockCapacity:79358,overloadRate:2.14,level:"基本实现草畜平衡",advice:Un,year:"2026"}],eL=[Ki,...M8];function Dp(t={},e={}){var V2,s3,m3,p3,U3,b3,Y3,o3,n1,b1;const n=t&&typeof t=="object"&&Object.keys(t).length>0,a=Tn(t,R6.areaRange,e.areaRange),i=Tn(t,R6.yakNumber,e.yakNumber),r=Tn(t,R6.bearingCapacity,e.bearingCapacity),o=Tn(t,R6.livestockCapacity,e.livestockCapacity),s=me(Tn(t,R6.overloadRate,e.overloadRate)),u=me(e.yakNumber),m=tL(t,o,u),h=me(a,(V2=e.areaRange)!=null?V2:0),p=m!==null&&i===(t==null?void 0:t.yak_number)?me(Tn(t,["number","yakCount","yak_count","livestockCount","livestock_count"]),u!=null?u:Math.round(m/_r.yakToSheepUnit)):me(i,(s3=e.yakNumber)!=null?s3:0),g=me(e.bearingCapacity),C=me(e.livestockCapacity),I=a!=null&&a!=="",U=i!=null&&i!=="",j=(m3=me(o))!=null?m3:m,l2=me(r),v2=Ms(j,s),S2=nL(l2,v2),T2=n?(b3=(U3=(p3=j!=null?j:Ps(S2,s))!=null?p3:C)!=null?U3:Ps(g,s))!=null?b3:U?fh(p):null:(Y3=C!=null?C:Ps(g,s))!=null?Y3:U?fh(p):null,C2=n?(n1=(o3=S2!=null?S2:Ms(T2,s))!=null?o3:g)!=null?n1:I?hh(h):null:(b1=g!=null?g:Ms(T2,s))!=null?b1:I?hh(h):null,j2=s!==null?u5(s,2):C2&&T2!==null?u5((T2-C2)/C2*100,1):null,K2=_7(j2);return Z2(B2(B2({},e),t),{key:e.key||t.key||t.id||t.areaCode||e.name,type:e.type||t.type||"town",name:Tn(t,R6.areaName,e.name||"核算对象"),areaCode:t.areaCode||t.area_code||t.areacode||e.areaCode,areaRange:h,yakNumber:p,bearingCapacity:C2,livestockCapacity:T2,overloadRate:j2,level:j2===null?Tn(t,R6.level,K2.label):K2.label,advice:Tn(t,R6.advice,e.advice||K2.actions.join(";")),year:Tn(t,R6.year,e.year||"当前年度"),source:t.raw||t.source||e.source})}function tL(t={},e,n=null){if(!t||typeof t!="object"||e!=null&&e!=="")return null;const a=Object.prototype.hasOwnProperty.call(t,"yak_number"),i=["overload_rate","overloadRate","overloadrate","advice","balanceAdvice","balanceadvice","level","conclusion"].some(s=>t[s]!==void 0&&t[s]!==null&&t[s]!==""),r=me(t.yak_number);if(!a||!i||r===null)return null;const o=me(n);return o!==null&&o>0?r>o*1.5?r:null:r}function Ms(t,e){const n=me(t),a=me(e);return n===null||a===null||a<=-100?null:Math.round(n/(1+a/100))}function nL(t,e){return t===null?e:e===null?t:Math.abs(t-e)/Math.max(Math.abs(e),1)>.25?e:t}function Ps(t,e){const n=me(t),a=me(e);return n===null||a===null||a<=-100?null:Math.round(n*(1+a/100))}function aL(t={}){const e=me(t.bearingCapacity),n=me(t.livestockCapacity),a=me(t.areaRange,0),i=me(t.yakNumber,0),r=me(t.overloadRate,e&&n!==null?(n-e)/e*100:null),o=e!==null&&n!==null?n-e:null,s=e&&n!==null?u5(n/e*100,1):null,u=_7(r),m=Math.round(i*_r.yakToSheepUnit),h=m&&n!==null?u5(n/m,2):null,p=a&&e!==null?u5(e/a,4):null,g=Math.max(e||0,n||0,1);return{bearing:e,livestock:n,areaRange:a,yakNumber:i,yakSheepUnit:m,pressureFactor:h,bearingCoefficient:p,overloadRate:r===null?null:u5(r,2),delta:o,usageRate:s,risk:u,bearingPercent:e===null?4:Math.max(4,Math.min(100,u5(e/g*100,1))),livestockPercent:n===null?4:Math.max(4,Math.min(100,u5(n/g*100,1)))}}function iL(t={},e=_7(t.overloadRate)){const n=String(t.advice||"").trim(),a=n?n.split(/[。;;\n]/).map(u=>u.trim()).filter(Boolean):[],i=["提高放牧畜禽的密度","增加草地的利用率","密度不能过高"],r=["轻度超载","已出现超载","超载迹象","压减超载畜群规模"],o=["healthy","watch"].includes(e.key),s=a.filter(u=>i.some(m=>u.includes(m))||o&&r.some(m=>u.includes(m))?!1:o?!0:!i.some(m=>u.includes(m)));return[...e.actions||[],...s].filter((u,m,h)=>h.indexOf(u)===m).slice(0,4)}const ut=(t,e=2)=>{const n=N6(10,e);return Math.round((Number(t)||0)*n)/n},Gp=(t,e)=>t.reduce((n,a)=>n+(Number(a[e])||0),0),mh=t=>ut((Number(t)||0)/1e4,2),rL=Gp(ou,"value"),oL=Gp(A7,"yakCount"),lu=ru,l9=ut(i9.grasslandArea/1e4,2),x7=ut(i9.wetArea/1e4,2),xr=177.92,sL=ut(l9+x7+xr,2),Up=ut(lu/Math.max(l9,1),1),ph=ut(x7/Math.max(sL,1)*100,1),gh=637.07,H4=108.84,Op=297.29,vl=159.33,jp=ut(l9+x7,2),lL=ut((Op+H4)*2e3/Math.max(jp,1),2),zp=[{key:"pasture-area",zh:"草场面积",name:"草场面积",value:jp,unit:"万亩",decimals:2,icon:"area"},{key:"pasture-productivity",zh:"草场生产力",name:"草场生产力",value:lL,unit:"斤/亩",decimals:2,icon:"yield"},{key:"yak-stock",zh:"牦牛存栏",name:"牦牛存栏",value:lu,unit:"头",decimals:0,icon:"stack"},{key:"today-outflow",zh:"今日出栏",name:"今日出栏",value:0,unit:"头",decimals:0,icon:"length"},{key:"county-overload-rate",zh:"超载率",name:"超载率",value:Ki.overloadRate,unit:"%",decimals:2,icon:"rate"}],uL=[{key:"grassland",name:"草地面积",value:l9,unit:"万亩",tone:"green"},{key:"wetland",name:"湿地面积",value:x7,unit:"万亩",tone:"cyan"},{key:"woodland",name:"林地面积",value:xr,unit:"万亩",tone:"mint"},{key:"yak-density",name:"草畜密度",value:Up,unit:"头/万亩",tone:"gold"}],Yp=[{key:"grassland",name:"草地",value:l9,unit:"万亩",color:"#24f6c4"},{key:"wetland",name:"湿地",value:x7,unit:"万亩",color:"#32dcff"},{key:"woodland",name:"林地",value:xr,unit:"万亩",color:"#8bf7ff"}],cL=[{key:"basic-grassland",name:"基本草原",value:gh,unit:"万亩",percent:ut(gh/Math.max(l9,1)*100,1),note:"草地保护底盘"},{key:"wetland-yield",name:"湿地生产力",value:H4,unit:"万吨",percent:ut(H4/Math.max(Op+H4,1)*100,1),note:"鲜草产能"},{key:"public-woodland",name:"公益林面积",value:vl,unit:"万亩",percent:ut(vl/Math.max(xr,1)*100,1),note:"林地保护占比"},{key:"wetland-rate",name:"湿地占比",value:ph,unit:"%",percent:ph,note:"林草湿结构"}],dL=OR.map(t=>{const e=A7.find(i=>i.zoneName===t.zoneName)||{},n=mh(t.grasslandArea),a=mh(t.wetArea);return{key:t.zoneName,name:t.zoneName,grasslandArea:n,wetlandArea:a,yakCount:e.yakCount||0,resourceTotal:ut(n+a,2),density:ut((e.yakCount||0)/Math.max(n+a,1),1)}}).sort((t,e)=>e.yakCount-t.yakCount),$p=A7.map(t=>({key:t.zoneName,name:t.zoneName,value:t.yakCount,unit:"头",percent:ut(t.yakCount/Math.max(oL,1)*100,1)})).sort((t,e)=>e.value-t.value),yh=ou.map(t=>({key:t.label,name:t.label,value:t.value,unit:"头",yoy:t.yoy,percent:ut(t.value/Math.max(rL,1)*100,1)})),fL=Math.max(...kp.map(t=>Number(t.value)||0),1);kp.map(t=>{const e=t.name.includes("储备")||t.name.includes("加工")?`${Number(t.capacity||0).toLocaleString("zh-CN")}吨`:"已接入";return{key:t.name,name:t.name,value:t.value,unit:t.unit,capacity:t.capacity,capacityNote:e,percent:ut((Number(t.value)||0)/fL*100,1)}});var _m,xm;const hL=[{key:"flow-grassland",module:"林草湿",name:"草地面积分布完成乡镇归集",value:l9,unit:"万亩",trend:"+0.8%"},{key:"flow-wetland",module:"林草湿",name:"湿地生产力指标进入总览",value:H4,unit:"万吨",trend:"+1.2%"},{key:"flow-woodland",module:"林草湿",name:"公益林保护面积同步",value:vl,unit:"万亩",trend:"89.6%"},{key:"flow-yak-town",module:"牦牛",name:"畜群结构总量同步",value:lu,unit:"头",trend:"+2.4%"},{key:"flow-yak-density",module:"草畜",name:"草畜密度联动核算",value:Up,unit:"头/万亩",trend:"联动"},{key:"flow-trade-1",module:"交易",name:"屠宰出栏流通记录入库",value:((_m=yh[0])==null?void 0:_m.value)||0,unit:"头",trend:"+6%"},{key:"flow-trade-2",module:"交易",name:"活畜交易影响扣减存栏",value:((xm=yh[1])==null?void 0:xm.value)||0,unit:"头",trend:"-3%"},{key:"flow-industry",module:"产业",name:"饲草储备与加工主体纳入画像",value:i9.baseCount+i9.projectCount,unit:"个",trend:"在线"}],qi=""+new URL("live-scene-1-786cdd0a-balabala-1783905032331.png",import.meta.url).href;const mL={class:"home-dashboard"},pL={class:"home-bottom-switcher"},gL={class:"home-left"},yL={class:"home-side-stack is-left"},vL={class:"home-right"},SL={class:"home-side-stack is-right"},wL=["aria-label","onClick"],bL={key:0,class:"home-video-monitor"},TL=["disabled"],CL=["onClick"],AL={key:1,class:"home-video-play"},_L={key:2,class:"home-video-loading"},xL={key:3,class:"home-video-error"},ML=["onPointerdown","onMousedown","onClick"],PL={class:"home-video-point-name"},kL=["disabled"],EL={key:1,class:"home-forecast-trend-card"},NL={class:"home-forecast-density-switcher","aria-label":"预测粒度切换"},RL=["onClick"],LL={key:3,class:"home-balance-gauge-grid"},IL={class:"home-balance-gauge-head"},FL={class:"home-balance-gauge-ring"},BL={class:"home-balance-gauge-value"},DL={class:"home-balance-gauge-name"},GL={class:"home-balance-gauge-extra"},UL={class:"home-more-dialog home-video-dialog"},OL={class:"home-more-dialog-head"},jL=["data-video-index","onPointerdownCapture","onMousedownCapture","onClick","onKeydown"],zL={key:1,class:"home-video-play"},YL={key:2,class:"home-video-loading"},$L={key:3,class:"home-video-error"},WL=["onPointerdown","onMousedown","onClick"],VL={class:"home-video-point-name"},HL={key:1,class:"home-more-empty"},KL={key:2,class:"home-more-pager"},qL=["disabled"],JL=["disabled"],QL={class:"home-more-dialog home-balance-dialog"},XL={class:"home-more-dialog-head"},ZL={class:"home-balance-modal-grid"},eI={class:"home-balance-modal-title"},tI={class:"home-balance-modal-value"},nI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAL1JREFUOE9j/P///38GMgAjSKOMdxRJWp9sXcYA18giJMLw99MHhv9//mA1hJGZhYGZX4Dhz7s3DCgaGVlYGDjVtBi+37rO8P/PbxTNjCysDJyqWgzfb18Dy6FoBKmEKfh17wZcM0iMTUkDrgmkDkMjSJCFnZ3hwbr5KDYqBCUy/Pn5Ey6GVSMzMxPDw01LUDTK+8Uw/P37j0YayXIqWYGDHuTInsQbHeAE8PEDw/+/JCYAUtIcPDpI0QRTCwDhurXXJ/EmUwAAAABJRU5ErkJggg==",aI="image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAQ5JREFUOE+1la1OQ0EQRs8kCFIQdVCCxIBpCK1AInkDHC+B4QkwvASub4GsaE0NGCRpKhGFVDQZ+Mjem9vNbkphmWTMfjNnd3b2x0iYuxuwH7wNbIewBfAGzORm5nG6ElfM3QU6AXZSkzXG3oEnMxO8thWgux8DR2tAsfxiZs/VYA38Jazi1NBvYCizv+HK4vCRyrfQgIsf7Nm6+bSnjwIeAGeZaGnXQDfoE+ABmGbixwKeAoeJAMHuv3w30ubATQb6KqDKjZPEuAXOMysZAncJbS7gJbCVEAdAKwP8AK4S2vJfgMVLLt6UDtAreWx0W8od7OJXryq16OPwR2j6+WpAyz2wDagape7vARt9AZ+G3HmhiKS3xwAAAABJRU5ErkJggg==",iI="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",rI=13,vh="#ffffff",N4="#ffffff",R4="rgba(246, 253, 255, 0.92)",j9="rgba(242, 253, 255, 0.9)",ci="rgba(218, 250, 255, 0.28)",oI=12e3,L4=9,sI={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Q2(null),o=Q2(null),s=Q2({}),u=new Map;let m=null,h=!1,p=null,g=null,C=null,I=!1,U=0,j=null,l2=null,v2="",S2=!1,T2=null;const C2=Q2(0),j2=Q2([]),K2=Q2(0),V2=Q2(0),s3=Q2(!1),m3=Q2(1),p3=Q2(!1),U3=Q2("month"),b3=Q2(!1),Y3=Q2(!1),o3=Q2(""),n1=`home-video-player-${Math.random().toString(36).slice(2)}`,b1=["#30dcff","#27f0c0","#8bf7ff","#48cfff","#48cfff","#24f6c4"],W3=Vt.sideCardWidth,R1=Q2(typeof window=="undefined"?1080:window.innerHeight);Vt.sideCardGap;const D1=s2(()=>_8(R1.value)),Y1=s2(()=>D1.value),h3=Y1,x3=Lp("2028"),L3=[{key:"day",label:"日",unit:"日"},{key:"week",label:"周",unit:"周"},{key:"month",label:"月",unit:"月"}],h1=[{key:"grassland",name:"草地",color:"#24f6c4",width:92},{key:"wetland",name:"湿地",color:"#30dcff",width:92},{key:"woodland",name:"林地",color:"#8bf7ff",width:92},{key:"yak",name:"牦牛",color:"#30DCFF",width:92},{key:"pasture",name:"牧场",color:"#8bf7ff",width:92},{key:"base",name:"基地",color:"#48cfff",width:92}],C1={grassland:{fill:"#7AEA58",fillOpacity:.42,opacity:.56,maxOpacity:.56},wetland:{fill:"#42CEFF",fillOpacity:.38,opacity:.54,maxOpacity:.54},woodland:{fill:"#38E28F",fillOpacity:.36,opacity:.52,maxOpacity:.52}},_1={grassland:{topicKey:"grassland",layerKey:"grassland-distribution",type:"raster"},wetland:{topicKey:"wetland",layerKey:"wetland-distribution",type:"raster"},woodland:{topicKey:"woodland",layerKey:"woodland-distribution",type:"raster"},yak:{topicKey:"yak-industry-chain",layerKey:"yak-recognition-layer",type:"vector",opacity:.94},pasture:{topicKey:"yak-industry-chain",layerKey:"yak-industry-points",legendKey:"yak-industry-family-pasture",type:"vector",opacity:.96},base:{topicKey:"yak-industry-chain",layerKey:"yak-industry-points",legendKey:"yak-industry-scale-breeding",type:"vector",opacity:.96}},o1=Q2("grassland"),l3=Q2(null),$2=Q2(!1),j3=Q2(!1),c1=Q2(null),M1=s2(()=>{var B,H,S;const K=o1.value,m2=_1[K];if(!m2)return null;const R2=g8.find(E=>E.key===m2.topicKey),q2=a1(m2);if(!(q2!=null&&q2.layerName)&&!(q2!=null&&q2.dataPath))return null;const X3=C1[K],p1=m2.legendKey?(q2.legends||[]).find(E=>E.key===m2.legendKey):null;return m2.type==="vector"?Z2(B2({},q2),{activeLegend:p1||q2.activeLegend,name:`${((B=h1.find(E=>E.key===K))==null?void 0:B.name)||q2.name}图层`,opacity:(H=m2.opacity)!=null?H:q2.opacity,homePresentationMaxOpacity:(S=m2.opacity)!=null?S:.96,showPointLabels:!1,hidePointFeatures:!1}):X3?Z2(B2({},q2),{name:`${(R2==null?void 0:R2.name)||q2.name}分布`,styles:"",opacity:X3.opacity,homePresentationMaxOpacity:X3.maxOpacity,softMask:!0,softMaskScale:.2,sldBody:w1(q2.layerName,X3)}):null}),$1=s2(()=>!!c1.value),W1=s2(()=>{if(j3.value||$2.value||!l3.value)return 186;const K=p2(l3.value);return Math.min(480,Math.max(300,86+Math.min(K,12)*34))}),P=s2(()=>{if(!c1.value)return{};const K=460,m2=W1.value,R2=430,q2=430,X3=r2(c1.value),p1=Math.min(Math.max(X3.x-K/2,R2),1920-K-q2),B=Math.min(Math.max(X3.y-m2-36,188),1080-m2-132);return{left:`${p1}px`,top:`${B}px`,right:"auto",bottom:"auto"}}),E3=s2(()=>t2(G6.length)),g3=s2(()=>t2(Mt.length)),A1=s2(()=>W(U3.value)),q3=s2(()=>x2(x3,A1.value.key)),O3=s2(()=>t2(q3.value.labels.length)),g1=s2(()=>M8.filter(m2=>m2==null?void 0:m2.name).map((m2,R2)=>({key:`home-balance-${m2.areaCode||m2.key||m2.name}`,sourceIndex:R2,name:m2.name,value:m2.overloadRate,unit:"%",status:m2.level||"总体可控",extra:`载畜 ${a3(m2.livestockCapacity)}头`}))),H1=s2(()=>{const K=g1.value,m2=3,R2=K.length?Math.floor(C2.value/2)*m2%K.length:0;return Array.from({length:Math.min(m2,K.length)},(q2,X3)=>K[(R2+X3)%K.length])}),G2=s2(()=>{const K=H1.value.length;return K?C2.value%K:0}),H2={key:"home-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"基地监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:qi,playUrl:"",hdPlayUrl:"",token:""},e3=s2(()=>{const K=j2.value.length;return K?b3.value||s3.value?V2.value%K:(C2.value+V2.value)%K:0}),T3=s2(()=>j2.value[e3.value]||H2),y1=s2(()=>L1(j2.value,e3.value,H2)),B1=s2(()=>j2.value.filter(K=>K.status==="直播中").length),G1=s2(()=>Math.max(1,Math.ceil(j2.value.length/L4))),D3=s2(()=>{const K=(m3.value-1)*L4;return j2.value.slice(K,K+L4).map((m2,R2)=>({key:`home-video-modal-${m2.key||m2.title}-${K+R2}`,index:K+R2,live:m2}))}),e1=s2(()=>zp.map(K=>K.key==="today-outflow"?Z2(B2({},K),{value:K2.value}):K)),s1=s2(()=>{const K=y2();return K.length?{key:"home-pasture-productivity",title:"草地生产力",rows:K,option:n2(K,"生产力"),height:D1.value}:null}),S1=s2(()=>({key:"yak-stock-distribution",title:"牦牛存栏分布",height:Y1.value,option:F2({key:"yak-stock-distribution",rows:$p},"牦牛存栏",{showTrendLine:!0})})),F1=s2(()=>[k2(Y("grassland","grassland-town"),"草地面积"),k2(Y("wetland","wetland-town-area"),"湿地面积"),k2(Y("grassland","grassland-type-proportion"),"草原类别"),s1.value].filter(Boolean).map((K,m2)=>d2(K,`forest-grass-wet-${m2}`))),s0=s2(()=>[{key:"home-video-monitor",title:"基地监控",type:"video",height:h3.value,live:T3.value},S1.value,{key:"yak-structure",title:"畜群结构",height:Y1.value,option:G0.value},{key:"home-town-balance-gauge",title:"草畜平衡",type:"gauge",height:Y1.value,max:100,rows:H1.value}]),G0=s2(()=>W9({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:b1,tooltip:wi(K=>`${K.name}
    占比:${K.percent}%
    估算数量:${a3(K.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(K){const m2=G6.find(R2=>R2.name===K);return m2?`${K} ${v3(m2.count)}头`:K},textStyle:{color:R4,fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:N4,fontSize:10,formatter:"{d}%"},labelLine:{length:7,length2:4,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},emphasis:{scale:!0,scaleSize:8,itemStyle:{shadowBlur:5,shadowColor:"rgba(48, 220, 255, 0.2)"}},data:G6.map((K,m2)=>({name:K.name,value:K.count,selected:m2===E3.value}))}]}));s2(()=>W9({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:Z2(B2({},wi()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(K){const m2=Mt[K[0].dataIndex];return`${m2.label}
    预测存栏:${a3(m2.stock)}头`}}),grid:{left:50,right:18,top:16,bottom:24},xAxis:{type:"category",data:Mt.map(K=>K.shortLabel),axisLabel:{color:j9,fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",min(K){return Math.max(0,Math.floor(K.min/1e4)*1e4)},axisLabel:{color:j9,fontSize:10,margin:4,formatter:K=>f3(K,1)},splitLine:{lineStyle:{color:ci,type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:Mt.map((K,m2)=>({value:K.stock,itemStyle:{borderRadius:[9,9,1,1],color:new Ce(0,0,0,1,[{offset:0,color:m2===g3.value?"#8bf7ff":"#30dcff"},{offset:.72,color:m2===g3.value?"rgba(139, 247, 255, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:m2===g3.value?"rgba(139, 247, 255, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:m2===g3.value?16:8,shadowColor:m2===g3.value?"rgba(139, 247, 255, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new Ce(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:.72,color:"rgba(48, 220, 255, 0.62)"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:N4,fontSize:10,formatter:({value:K})=>f3(K)}}]})),s2(()=>{const K=A1.value,m2=q3.value,R2=W2(m2),q2=N2(R2.length,K.key);return W9({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#8bf7ff","#48cfff"],tooltip:Z2(B2({},wi()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(X3){var E,c2,L2;const p1=Array.isArray(X3)?X3:[X3],B=p1.find(U2=>U2.seriesType==="candlestick"),H=(B==null?void 0:B.data)||R2[(L2=(c2=B==null?void 0:B.dataIndex)!=null?c2:(E=p1[0])==null?void 0:E.dataIndex)!=null?L2:0];if(!H)return"";const S=H.close-H.open;return[`${H.label}|${K.unit}度预测`,`预测存栏:${a3(H.close)}头`,`较上期:${w3(S)}头`,`繁殖补充:${a3(H.birth)}头`,`出栏扣减:${a3(H.outflow)}头`].join("
    ")}}),legend:{top:2,right:2,data:["预测存栏","繁殖补充","出栏扣减"],itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:R4,fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!0,data:m2.labels,axisLabel:{color:j9,fontSize:10,interval:q2},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:j9,fontSize:10,formatter:v3},splitLine:{lineStyle:{color:ci,type:"dashed"}}},{type:"value",axisLabel:{color:R4,fontSize:10,formatter:v3},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:Y2(R2.length,K.key),data:R2,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(72, 207, 255, 0.82)",borderColor:"#30dcff",borderColor0:"#48cfff",borderWidth:1.2}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:3,data:R2.map((X3,p1)=>({value:X3.close,symbolSize:p1===O3.value?7:3,itemStyle:{color:p1===O3.value?"#ffffff":"#30dcff"}})),lineStyle:{width:1.6,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff"},tooltip:{show:!1}},D("繁殖补充",m2.births,"#8bf7ff",1,!1,O3.value),D("出栏扣减",m2.outflow,"#48cfff",1,!1,O3.value)]})}),mn(()=>{F(),window.addEventListener("resize",F),window.addEventListener("keydown",q),document.addEventListener("pointerdown",N3,!0),F3(),N1(),u3()}),hn(()=>{var K,m2;h=!0,window.removeEventListener("resize",F),window.removeEventListener("keydown",q),document.removeEventListener("pointerdown",N3,!0),O(),D2(),n3(),L(),u.clear(),(m2=(K=r.value)==null?void 0:K.destroyMap)==null||m2.call(K)}),N0(e3,()=>{if(!b3.value&&!Y3.value&&!C){o3.value="";return}O({resetError:!0})}),N0(o1,()=>{r3()}),N0(()=>a.active,K=>{var m2,R2;K?(x1(),_2(),N1(),S2||y3()):((R2=(m2=r.value)==null?void 0:m2.pause)==null||R2.call(m2),D2(),n3(),L(),O({resetError:!0}),Q0(),f0())});function u3(){var K,m2,R2;m=new C7({includeChinaMap:!0}),i("loading-progress",{progress:0}),(m2=(K=m.instance)==null?void 0:K.on)==null||m2.call(K,"onProgress",(q2,X3,p1)=>{i("loading-progress",{progress:Math.floor(X3/(p1||1)*100),path:q2,itemsLoaded:X3,itemsTotal:p1})}),(R2=m.ready)==null||R2.then(()=>z3()).catch(()=>{i("map-ready"),y3()})}function z3(K=0){return P3(this,null,function*(){var q2,X3,p1;if(h)return;yield O0();const m2=r.value;if(!!((q2=m2==null?void 0:m2.loadMap)!=null&&q2.call(m2,m)||(X3=m2==null?void 0:m2.hasMap)!=null&&X3.call(m2))){i("loading-progress",{progress:100}),i("map-ready"),y3(),a.active&&((p1=m2.play)==null||p1.call(m2));return}if(K<24){window.setTimeout(()=>z3(K+1),120);return}i("map-ready"),y3()})}function V3(K={}){var m2,R2,q2,X3,p1,B,H,S,E;if((R2=(m2=r.value)==null?void 0:m2.resume)==null||R2.call(m2),K.reset){(X3=(q2=r.value)==null?void 0:q2.resetView)==null||X3.call(q2),(p1=r.value)!=null&&p1.resetView||(H=(B=r.value)==null?void 0:B.refreshView)==null||H.call(B);return}(E=(S=r.value)==null?void 0:S.refreshView)==null||E.call(S)}function x1(){_1[o1.value]||(o1.value="grassland");const K=()=>{h||!a.active||V3({reset:!0})};O0(()=>{K(),window.setTimeout(K,180)})}function S3(){var K,m2;if(r3(),(m2=(K=r.value)==null?void 0:K.hasMap)!=null&&m2.call(K)){V3({reset:!0});return}O0(()=>{z3()})}e({refreshMapView:V3,resetMap:S3});function y3(){D2();const K=()=>{l2=null,v2="",!(h||!a.active)&&(S2=!0,J(),d0(),Z3(),a.active&&_2())};if(typeof window.requestIdleCallback=="function"){v2="idle",l2=window.requestIdleCallback(K,{timeout:1800});return}v2="timeout",l2=window.setTimeout(K,650)}function D2(){l2&&(v2==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(l2):window.clearTimeout(l2),l2=null,v2="")}function G3(K,m2){K&&(m2?u.set(K,m2):u.delete(K))}function i3(K,m2){m2!=null&&m2.isActive&&(o.value=K||null)}function L1(K=[],m2=0,R2=H2){const q2=Array.isArray(K)?K:[];if(!q2.length)return[{key:`empty-${R2.key||"video"}`,index:0,live:R2,isActive:!0}];const X3=Math.min(2,q2.length);return Array.from({length:X3},(p1,B)=>{const H=(m2+B+q2.length)%q2.length,S=q2[H]||R2;return{key:`${S.key||S.title||"video"}-${H}`,index:H,live:S,isActive:H===m2}})}function _2(){!a.active||h||(n3(),p=window.setInterval(I3,2600),g=window.setTimeout(I3,800))}function n3(){p&&(window.clearInterval(p),p=null),g&&(window.clearTimeout(g),g=null)}function I3(){h||!a.active||(g=null,C2.value+=1,_(),M(),a2())}function F3(){i("module-stats",{moduleKey:"home",items:e1.value})}function Z3(){return P3(this,null,function*(){var m2,R2;const K=t1(new Date);try{const q2=yield pl({year:Number(K.slice(0,4)),startDate:K,endDate:K}),X3=(q2==null?void 0:q2.metrics)||{},p1=Number((R2=(m2=X3.headCount)!=null?m2:X3.head_count)!=null?R2:0);K2.value=Number.isFinite(p1)?p1:0}catch(q2){K2.value=0}h||F3()})}function t1(K){const m2=K.getFullYear(),R2=String(K.getMonth()+1).padStart(2,"0"),q2=String(K.getDate()).padStart(2,"0");return`${m2}-${R2}-${q2}`}function d0(){return P3(this,null,function*(){try{const K=yield gp({includeOffline:!0});if(h)return;j2.value=K,V2.value=0,m3.value=1,o3.value=K.length?"":"暂无在线可播放摄像头"}catch(K){if(h)return;j2.value=[],o3.value="监控接口暂不可用",window.setTimeout(()=>{h||o3.value==="监控接口暂不可用"&&(o3.value="")},2400)}})}function K1(K,m2=!0){const R2=(K==null?void 0:K.image)||qi;return b3.value&&m2?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${R2})`}}function c0(){ct(-1)}function oe(){ct(1)}function A0(){const K=e3.value;O({resetError:!0}),V2.value=K,C2.value=0,m3.value=Math.floor(K/L4)+1,s3.value=!0}function Q0(){s3.value&&(O({resetError:!0}),s3.value=!1)}function Ue(K){const m2=Math.max(1,Math.min(G1.value,Number(K)||1));m2!==m3.value&&(O({resetError:!0}),m3.value=m2,V2.value=Math.min((m2-1)*L4,Math.max(0,j2.value.length-1)))}function $e(){p3.value=!0}function f0(){p3.value=!1}function ct(K){const m2=j2.value.length;if(!m2)return;O({resetError:!0});const R2=e3.value;V2.value=(R2+K+m2)%m2,C2.value=0}function q1(K){const m2=j2.value.length;if(!m2){ht();return}const R2=((Number(K)||0)+m2)%m2;(R2!==e3.value||C||Y3.value)&&O({resetError:!0}),V2.value=R2,C2.value=0,O0(ht)}function Oe(K,m2){const R2=j2.value.length;if(!R2)return;const q2=((Number(K)||0)+R2)%R2;q2!==e3.value&&q1(q2)}function Et(K){var H,S;const m2=K==null?void 0:K.target;if(!(m2!=null&&m2.closest))return;const R2=m2.closest(".home-video-modal-item");if(!R2)return;const q2=Number(R2.dataset.videoIndex);if(!Number.isFinite(q2))return;const X3=j2.value.length;if(!X3)return;const p1=((q2||0)+X3)%X3;p1===e3.value&&!o3.value||((H=K==null?void 0:K.preventDefault)==null||H.call(K),(S=K==null?void 0:K.stopPropagation)==null||S.call(K),q1(p1))}function dt(K){const m2=Math.max(0,Number((K==null?void 0:K.value)||0)),R2=Math.max(5,...g1.value.map(q2=>Math.max(0,Number(q2.value||0))));return Math.max(6,Math.min(100,m2/R2*100))}function ft(K){const m2=Number(K==null?void 0:K.value),R2=String((K==null?void 0:K.status)||(K==null?void 0:K.level)||"");return Number.isFinite(m2)?m2>20||/严重|重度|高超载/.test(R2)?"#8bf7ff":m2>10||/中度|预警/.test(R2)?"#48cfff":m2>5||/轻度/.test(R2)?"#8bf7ff":m2<=0||/总体可控|合理|正常|达标|无超载/.test(R2)?"#24f6c4":"#30dcff":"#30dcff"}function Le(K){return{"--balance-color":ft(K),"--balance-progress":`${dt(K)}%`}}function ht(){return P3(this,null,function*(){var q2,X3;const K=T3.value;if((K==null?void 0:K.status)!=="直播中"||!(K!=null&&K.hdPlayUrl)||!(K!=null&&K.token)){o3.value=(K==null?void 0:K.status)==="离线"?"当前监控离线":"暂无在线可播放摄像头";return}if(b3.value||Y3.value)return;V2.value=e3.value,C2.value=0,C&&O({resetError:!0}),o3.value="",Y3.value=!0,yield O0();const m2=++U;let R2=null;N(m2);try{const p1=(X3=(q2=o.value)==null?void 0:q2.getBoundingClientRect)==null?void 0:X3.call(q2),B=Math.max(1,Math.floor((p1==null?void 0:p1.width)||340)),H=Math.max(1,Math.floor((p1==null?void 0:p1.height)||92));if(R2=new Vm.EZUIKitPlayer({id:n1,accessToken:K.token,url:K.hdPlayUrl,audio:0,width:B,height:H,themeData:b(),handleError(S){m2===U&&(d(),console.warn("EZUIKit player error",S),f(R2),o3.value="视频加载失败",Y3.value=!1,b3.value=!1,U+=1,C=null,I=!1,y())},handleSuccess(){m2===U&&(d(),o3.value="",I=!0,Y3.value=!1,tt())},fullScreenChangeCallBack(){}}),m2!==U){f(R2),y();return}C=R2,b3.value=!0,O0(tt)}catch(p1){d(),console.warn("EZUIKit init error",p1),o3.value="视频加载失败",O()}})}function tt(){var E;if(typeof document=="undefined")return;const K=o.value,m2=document.getElementById(`${n1}-wrap`),R2=document.getElementById(n1),q2=m2||R2;if(!K||!q2)return;const X3=(E=K.getBoundingClientRect)==null?void 0:E.call(K),p1=Math.max(1,Math.floor((X3==null?void 0:X3.width)||K.clientWidth||1)),B=Math.max(1,Math.floor((X3==null?void 0:X3.height)||K.clientHeight||1)),H={position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:`${p1}px`,height:`${B}px`};Object.assign(q2.style,H,{display:"block",verticalAlign:"top"}),[R2,...Array.from(q2.querySelectorAll("div, video, canvas, iframe"))].filter(Boolean).forEach(c2=>{Object.assign(c2.style,{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none"})})}function O(K={}){const{clearElement:m2=!0,resetError:R2=!1}=K;d();const q2=C;C=null,I=!1,U+=1,q2&&f(q2),m2&&y(),b3.value=!1,Y3.value=!1,R2&&(o3.value="")}function N(K){d(),j=window.setTimeout(()=>{K!==U||!Y3.value||(o3.value="视频加载超时",O({resetError:!1}))},oI)}function d(){j&&(window.clearTimeout(j),j=null)}function f(K){if(!(!K||typeof K.stop!="function"))try{const m2=K.stop();m2&&typeof m2.catch=="function"&&m2.catch(()=>{})}catch(m2){console.warn("EZUIKit stop error",m2)}}function y(){if(typeof document=="undefined")return;const K=document.getElementById(`${n1}-wrap`);if(K){const R2=document.createElement("div");R2.id=n1,R2.className="home-video-player",K.replaceWith(R2);return}const m2=document.getElementById(n1);m2&&m2.replaceChildren()}function b(){return{header:{color:"#30dcff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#30dcff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function _(){const K=u.get("yak-structure");Z(K,"畜群结构",E3.value)}function M(){const K=u.get("yak-three-year-forecast");Z(K,"预测存栏",g3.value)}function a2(){const K=u.get("yak-forecast-trend");Z(K,"预测存栏",O3.value)}function Z(K,m2,R2){const q2=typeof(K==null?void 0:K.dispatchAction)=="function"?K:K==null?void 0:K.chart;!q2||R2<0||(q2.dispatchAction({type:"downplay",seriesName:m2}),q2.dispatchAction({type:"hideTip"}),q2.dispatchAction({type:"highlight",seriesName:m2,dataIndex:R2}),q2.dispatchAction({type:"showTip",seriesName:m2,dataIndex:R2}))}function t2(K){return K?C2.value%K:0}function J(){return P3(this,null,function*(){const[K,m2]=yield Promise.all([u8("grassland","grassland-distribution"),u8("wetland","wetland-distribution")]);h||(s.value={grassland:K,wetland:m2})})}function Y(K,m2){const R2=s.value[K];return[...(R2==null?void 0:R2.leftPanels)||[],...(R2==null?void 0:R2.rightPanels)||[]].find(X3=>(X3==null?void 0:X3.key)===m2)}function k2(K,m2){return K?Z2(B2({},K),{title:m2}):null}function y2(){var E,c2,L2,U2;const K=((E=Y("grassland","grassland-town"))==null?void 0:E.rows)||[],m2=((c2=Y("wetland","wetland-town-area"))==null?void 0:c2.rows)||[],R2=((L2=Y("grassland","grassland-productivity-town"))==null?void 0:L2.rows)||[],q2=((U2=Y("wetland","wetland-mu-yield"))==null?void 0:U2.rows)||[],X3=o2(K),p1=o2(m2),B=o2(R2),H=o2(q2);return[...new Set([...K,...m2,...R2,...q2].map(J2=>J2==null?void 0:J2.name).filter(Boolean))].map((J2,M3)=>{const u1=X3.get(J2)||0,V=p1.get(J2)||0,w2=B.get(J2)||0,E2=H.get(J2)||0;let I2=0,u2=0;u1>0&&w2>0&&(I2+=u1*w2,u2+=u1),V>0&&E2>0&&(I2+=V*E2,u2+=V);const t3=[w2,E2].filter(c3=>c3>0),z2=u2>0?I2/u2:t3.reduce((c3,C3)=>c3+C3,0)/Math.max(t3.length,1);return{key:`home-pasture-productivity-${J2}`,name:J2,value:Number(z2.toFixed(2)),unit:"斤/亩",extra:"草地与湿地加权亩产",sourceIndex:M3}}).filter(J2=>J2.value>0)}function o2(K=[]){return new Map(K.map(m2=>[m2.name,Number(m2.value)||0]))}function d2(K,m2){const R2=String((K==null?void 0:K.key)||"");return R2.includes("grassland-town")?Z2(B2({},K),{key:`home-${m2}-${K.key}`,height:D1.value,option:F2(K,K.title)}):R2.includes("wetland-town-area")?Z2(B2({},K),{key:`home-${m2}-${K.key}`,height:D1.value,option:F2(K,K.title,{variant:"water"})}):Z2(B2({},K),{key:`home-${m2}-${K.key}`,height:D1.value})}function F2(K,m2,R2={}){var c2;const q2=(K.rows||[]).filter(L2=>Number.isFinite(Number(L2.value))).slice(0,10),X3=((c2=q2.find(L2=>L2.unit))==null?void 0:c2.unit)||"万亩",p1=q2.map(L2=>Number(L2.value)||0),B=Math.max(...p1,1),H=Math.ceil(B*1.14),S=R2.showTrendLine===!0,E=R2.variant==="water";return W9({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:`单位:${X3}`,left:"5%",top:"8%",textStyle:{color:R4,fontSize:10,fontWeight:400}},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:0}},backgroundColor:"rgba(0, 0, 0, 0.92)",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.82)",padding:[8,10],textStyle:{color:"#ffffff",fontSize:10},formatter(L2){var u1;const U2=Array.isArray(L2)?L2:[L2],J2=U2.find(V=>V.seriesName===m2)||U2[0],M3=q2[(u1=J2==null?void 0:J2.dataIndex)!=null?u1:0];return M3?`${M3.name}
    ${m2}:${a3(M3.value)}${M3.unit||X3}`:""}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},xAxis:[{type:"category",data:q2.map(L2=>L2.name),axisLabel:{interval:0,hideOverlap:!1,color:vh,fontSize:10,fontWeight:700,lineHeight:12,margin:8,padding:[0,0,0,0],formatter:v1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},{type:"category",data:q2.map(L2=>L2.name),axisLine:{show:!1,lineStyle:{color:"rgba(0, 0, 0, 0)"}},axisTick:{show:!1},axisLabel:{show:!1}}],yAxis:{type:"value",min:0,max:H,axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!0,lineStyle:{type:[2,2],dashOffset:5,color:ci,opacity:1,width:.3}},axisLabel:{color:j9,fontSize:10,formatter:v3}},series:[{name:m2,type:"bar",barWidth:E?10:6,stack:"b",z:3,data:q2.map(L2=>Number(L2.value)||0),label:{show:!0,position:"top",distance:9,color:N4,fontSize:10,fontWeight:700,formatter:({value:L2})=>v3(L2)},itemStyle:{borderRadius:E?[7,7,3,3]:2,color:new Ce(0,0,0,1,[...E?[{offset:0,color:"#a8fbff"},{offset:.42,color:"#31dcff"},{offset:1,color:"#2b8fff"}]:[{offset:0,color:"#19FFC6"},{offset:1,color:"#33AAFF"}]])},emphasis:{itemStyle:{shadowBlur:4,shadowColor:E?"rgba(49, 220, 255, 0.18)":"rgba(25, 255, 198, 0.16)"}}},...S?[{name:`${m2}趋势`,type:"line",smooth:!0,symbol:"circle",symbolSize:5,showSymbol:!0,data:p1,label:{show:!1},lineStyle:{width:1.3,color:"rgba(139, 247, 255, 0.82)",shadowBlur:0,shadowColor:"transparent"},itemStyle:{color:N4,borderColor:"#8bf7ff",borderWidth:1,shadowBlur:0,shadowColor:"transparent"},emphasis:{scale:!0,lineStyle:{width:2}},tooltip:{show:!1},z:5}]:[],...E?[{name:"水柱顶",type:"pictorialBar",symbol:"circle",symbolSize:[18,7],symbolOffset:[0,-2],symbolPosition:"end",data:p1,itemStyle:{color:"#a8fbff",opacity:.92,shadowBlur:3,shadowColor:"rgba(168, 251, 255, 0.18)"},tooltip:{show:!1},z:4}]:[{type:"custom",renderItem(L2,U2){const J2=U2.value(0),M3=U2.value(1),u1=U2.coord([J2,M3]);return{type:"image",style:{x:u1[0]-4.5,y:u1[1]-9,width:10,height:10,image:nI},silent:!0}},data:q2.map((L2,U2)=>[U2,Number(L2.value)||0]),tooltip:{show:!1},z:4}],{type:"bar",barWidth:E?20:30,xAxisIndex:1,barGap:"-220%",data:q2.map(()=>H),emphasis:{focus:"none",itemStyle:{color:"rgba(255, 255, 255, 0.8)"}},itemStyle:{color:E?"rgba(58, 164, 215, 0.75)":"rgba(122, 140, 153, 0.6)",opacity:E?.12:.075},tooltip:{show:!1},z:0}]})}function n2(K=[],m2="数值"){var H;const R2=K.filter(S=>Number.isFinite(Number(S.value))).slice(0,10),q2=((H=R2.find(S=>S.unit))==null?void 0:H.unit)||"",X3=R2.map(S=>Number(S.value)||0),p1=Math.max(...X3,1),B=Math.ceil(p1*1.12);return W9({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:q2?`单位:${q2}`:"",left:"5%",top:"8%",textStyle:{color:R4,fontSize:10,fontWeight:400}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:.2}},backgroundColor:"rgba(0, 0, 0, 0.92)",borderWidth:1,borderColor:"rgba(153, 153, 153, 0.95)",padding:[8,10],textStyle:{color:"#ffffff",fontSize:10},formatter(S){var U2;const c2=(Array.isArray(S)?S:[S])[0],L2=R2[(U2=c2==null?void 0:c2.dataIndex)!=null?U2:0];return L2?`${L2.name}
    ${m2}:${a3(L2.value)}${L2.unit||q2}`:""}},color:["#6BC7F6"],xAxis:[{type:"category",data:R2.map(S=>S.name),axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{color:vh,fontSize:10,fontWeight:700,interval:0,padding:[0,0,0,0],formatter:v1}},{data:[],axisLine:{show:!1,lineStyle:{color:"rgba(0, 0, 0, 0)"}},axisTick:{show:!1},axisLabel:{show:!1}}],yAxis:{type:"value",min:0,max:B,axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!0,lineStyle:{type:[2,2],dashOffset:5,color:ci,opacity:1,width:.3}},axisLabel:{color:j9,fontSize:10,formatter:v3}},series:[{name:m2,data:X3,type:"line",smooth:!0,symbol:aI,symbolSize:10,showSymbol:!1,z:3,emphasis:{focus:"none",itemStyle:{color:"white"}},label:{show:!0,position:"top",distance:10,color:N4,fontSize:10,fontWeight:700,formatter:({value:S})=>v3(S)},lineStyle:{shadowColor:"rgba(0, 0, 0, 0.4)",shadowBlur:3,shadowOffsetY:10,width:3,color:new Ce(0,0,0,1,[{offset:0,color:"rgba(115, 208, 255, 1)"},{offset:1,color:"rgba(18, 60, 98, 1)"}])},areaStyle:{color:new Ce(0,0,0,1,[{offset:0,color:"rgba(25, 255, 236, 0.34)"},{offset:1,color:"rgba(51, 153, 255, 0)"}])}}]})}function T(K){const m2=String((K==null?void 0:K.key)||"");return m2.includes("grassland-town")||m2.includes("wetland-town-area")}function D(K,m2,R2,q2=0,X3=!1,p1=-1){return{name:K,type:"line",yAxisIndex:q2,smooth:!0,symbolSize:5,data:m2.map((B,H)=>({value:B,symbolSize:H===p1?10:5,itemStyle:{color:H===p1?"#ffffff":R2},label:{show:H===p1,position:"top",color:R2,fontSize:10,formatter:({value:S})=>v3(S)}})),lineStyle:{width:2.4,color:R2},itemStyle:{color:R2},areaStyle:X3?{color:new Ce(0,0,0,1,[{offset:0,color:`${R2}44`},{offset:1,color:`${R2}05`}])}:void 0}}function W(K){return L3.find(m2=>m2.key===K)||L3[2]}function x2(K,m2="month"){if(m2==="month")return Ip(K);const R2=su(K),q2=Math.max(1,Math.round(Math.max(1,R2-1)*30)),X3=m2==="week"?7:1,p1=Math.ceil(q2/X3)+1,B=Array.from({length:p1},(c2,L2)=>{const U2=Math.min(q2,L2*X3);return Fp(U2)}),H=B.map((c2,L2)=>{const J2=Math.min(q2,L2*X3)/q2,M3=Math.sin(L2/(m2==="week"?1.8:8.5))*Math.sin(Math.PI*J2)*Math.min(360,K.months*18);return Math.round(Ye+(K.stock-Ye)*J2+M3)}),S=B.map((c2,L2)=>Math.round(K.births*(Math.min(q2,L2*X3)/q2))),E=B.map((c2,L2)=>Math.round(K.outflow*(Math.min(q2,L2*X3)/q2)));return{labels:B,stock:H,births:S,outflow:E}}function N2(K,m2){return m2==="day"?Math.max(10,Math.ceil(K/6)):m2==="week"?Math.max(2,Math.ceil(K/7)):K>24?4:K>14?2:1}function Y2(K,m2){return m2==="day"?K>700?2:K>360?3:4:m2==="week"?K>110?4:6:K>24?7:10}function W2(K){return(K.labels||[]).map((m2,R2)=>{var c2,L2,U2,J2,M3,u1;const q2=Number(((c2=K.stock)==null?void 0:c2[Math.max(R2-1,0)])||0),X3=Number(((L2=K.stock)==null?void 0:L2[R2])||q2),p1=Math.max(0,Number(((U2=K.births)==null?void 0:U2[R2])||0)-Number(((J2=K.births)==null?void 0:J2[Math.max(R2-1,0)])||0)),B=Math.max(0,Number(((M3=K.outflow)==null?void 0:M3[R2])||0)-Number(((u1=K.outflow)==null?void 0:u1[Math.max(R2-1,0)])||0)),H=Math.max(120,Math.round((p1+B)*.18)),S=Math.max(q2,X3)+Math.max(H,Math.round(p1*.32)),E=Math.max(0,Math.min(q2,X3)-Math.max(H,Math.round(B*.32)));return{label:m2,open:q2,close:X3,low:E,high:S,birth:p1,outflow:B,value:[q2,X3,E,S]}})}function a3(K){const m2=Number(K);return Number.isFinite(m2)?m2.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(m2)?0:2}):"--"}function w3(K){const m2=Number(K);return Number.isFinite(m2)?`${m2>0?"+":""}${a3(m2)}`:"--"}function v3(K){const m2=Number(K);return Number.isFinite(m2)?Math.abs(m2)>=1e4?`${(m2/1e4).toFixed(Math.abs(m2)>=1e5?0:1)}万`:Math.round(m2).toLocaleString("zh-CN"):"--"}function f3(K,m2=2){const R2=Number(K);return Number.isFinite(R2)?Math.abs(R2)>=1e4?`${(R2/1e4).toFixed(m2)}万`:Math.round(R2).toLocaleString("zh-CN"):"--"}function v1(K){return String(K||"").replace(/\s+/g,"").replace(/[镇乡]$/u,"").slice(0,4)}function a1(K){if(!K)return null;const m2=e9(K.topicKey,K.layerKey);if(m2)return m2;const R2=y8(K.topicKey);return R2.find(q2=>q2.key===K.layerKey)||R2[0]||null}function w1(K,m2){const R2=Number.isFinite(Number(m2.fillOpacity))?Number(m2.fillOpacity):.46;return`${K}${m2.fill}${R2}`}function T1(K){h1.some(m2=>m2.key===K)&&(o1.value=K,N1())}function N1(){L(),!(!a.active||h)&&(T2=window.setInterval(()=>{const K=h1.findIndex(R2=>R2.key===o1.value),m2=(Math.max(0,K)+1)%h1.length;o1.value=h1[m2].key},1e4))}function L(){T2&&(window.clearInterval(T2),T2=null)}function q(K){K.key==="Escape"&&(Q0(),f0())}function F(){R1.value=typeof window=="undefined"?1080:window.innerHeight}function r2(K){const m2=document.querySelector(".home-dashboard"),R2=m2==null?void 0:m2.getBoundingClientRect();return!(R2!=null&&R2.width)||!(R2!=null&&R2.height)?K:{x:(K.x-R2.left)/R2.width*1920,y:(K.y-R2.top)/R2.height*1080}}function p2(K){var X3;const m2=(K==null?void 0:K.properties)||{},R2=Object.keys(m2).filter(p1=>{const B=m2[p1];if(B==null||B==="")return!1;const H=p1.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(H)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(H))}),q2=!!((X3=K==null?void 0:K.feature)!=null&&X3.geometry||K!=null&&K.geometry);return R2.length+(q2?1:0)}function f2(K){var R2,q2;const m2=(q2=(R2=K==null?void 0:K.feature)!=null?R2:K)!=null?q2:null;if(!m2){r3();return}l3.value=m2,$2.value=!1,K!=null&&K.screen&&(c1.value=K.screen)}function r3(){var K,m2;l3.value=null,$2.value=!1,c1.value=null,(m2=(K=r.value)==null?void 0:K.clearSelectedFeature)==null||m2.call(K)}function N3(K){if(!$1.value)return;const m2=document.querySelector(".home-map-feature-info"),R2=K.target;m2&&R2 instanceof Node&&m2.contains(R2)||r3()}return(K,m2)=>(G(),z("div",mL,[l1(hp,{ref_key:"mapSceneRef",ref:r,class:"home-map-scene","active-layer":M1.value,"use-satellite-base":"","tile-url-template":iI,"satellite-texture-zoom":11,"satellite-max-zoom":rI,"show-national-backdrop":"","admin-boundary-line-scale":2.4,"topic-layer-presentation":"home",onFeatureLoading:m2[0]||(m2[0]=R2=>j3.value=R2),onFeatureInfo:f2},null,8,["active-layer"]),m2[9]||(m2[9]=w("div",{class:"home-map-scrim"},null,-1)),w("div",pL,[l1(T7,{"model-value":o1.value,topics:h1,"onUpdate:modelValue":T1},null,8,["model-value"])]),$1.value?(G(),z("div",{key:0,class:"home-map-feature-info",style:z1(P.value)},[l1(b7,{feature:l3.value,empty:$2.value,loading:j3.value,width:460,height:W1.value},null,8,["feature","empty","loading","height"])],4)):k3("",!0),w("div",gL,[w("div",yL,[(G(!0),z(B3,null,H3(F1.value,R2=>(G(),J0(l0,{key:R2.key,class:"home-card left-card",title:R2.title,width:k1(W3),height:R2.height},{default:e0(()=>[R2.option?(G(),J0(k1(ue),{key:0,ref_for:!0,ref:q2=>G3(R2.key,q2),class:"home-chart home-town-column-chart",option:R2.option,autoresize:!0},null,8,["option"])):(G(),J0($t,{key:1,panel:R2,compact:"","column-label-standard":T(R2)},null,8,["panel","column-label-standard"]))]),_:2},1032,["title","width","height"]))),128))])]),w("div",vL,[w("div",SL,[(G(!0),z(B3,null,H3(s0.value,R2=>(G(),J0(l0,{key:R2.key,class:r1(["home-card","right-card",{"home-video-card":R2.type==="video"}]),title:R2.title,width:k1(W3),height:R2.height},{extra:e0(()=>[R2.type==="video"||R2.key==="home-town-balance-gauge"?(G(),z("button",{key:0,class:"home-card-more",type:"button","aria-label":R2.type==="video"?"查看全部基地监控":"查看全部乡镇草畜平衡",onClick:q2=>R2.type==="video"?A0():$e()},[...m2[3]||(m2[3]=[z0(" 更多 ",-1),w("span",{"aria-hidden":"true"},"›",-1)])],8,wL)):k3("",!0)]),default:e0(()=>[R2.type==="video"?(G(),z("div",bL,[w("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:j2.value.length<=1,onClick:c0},"‹",8,TL),w("div",{class:r1(["home-video-grid",{"is-single":y1.value.length<=1}])},[(G(!0),z(B3,null,H3(y1.value,q2=>(G(),z("div",{key:q2.key,ref_for:!0,ref:X3=>i3(X3,q2),class:r1(["home-video-screen",{"is-active":q2.isActive,"is-playing":b3.value&&q2.isActive,"is-loading":Y3.value&&q2.isActive}]),style:z1(K1(q2.live,q2.isActive)),onClick:X3=>q1(q2.index)},[q2.isActive&&!s3.value?(G(),z("div",{key:0,id:n1,class:"home-video-player"})):k3("",!0),(!b3.value||!q2.isActive)&&q2.live.hdPlayUrl?(G(),z("div",AL)):k3("",!0),Y3.value&&q2.isActive?(G(),z("div",_L,"加载中")):k3("",!0),o3.value&&q2.isActive?(G(),z("div",xL,i2(o3.value),1)):k3("",!0),q2.live.hdPlayUrl&&(!q2.isActive||q2.isActive&&o3.value)?(G(),z("button",{key:4,class:"home-video-hit",type:"button","aria-label":"播放监控",onPointerdown:_0(X3=>q1(q2.index),["stop","prevent"]),onMousedown:_0(X3=>q1(q2.index),["stop","prevent"]),onClick:_0(X3=>q1(q2.index),["stop"])},null,40,ML)):k3("",!0),w("div",PL,i2(q2.live.title),1)],14,CL))),128))],2),w("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:j2.value.length<=1,onClick:oe},"›",8,kL)])):R2.key==="yak-forecast-trend"?(G(),z("div",EL,[w("div",NL,[(G(),z(B3,null,H3(L3,q2=>w("button",{key:q2.key,type:"button",class:r1({active:q2.key===U3.value}),onClick:X3=>U3.value=q2.key},i2(q2.label),11,RL)),64))]),l1(k1(ue),{ref_for:!0,ref:q2=>G3(R2.key,q2),class:"home-chart home-forecast-kline-chart",option:R2.option,autoresize:!0},null,8,["option"])])):R2.option?(G(),J0(k1(ue),{key:2,ref_for:!0,ref:q2=>G3(R2.key,q2),class:"home-chart",option:R2.option,autoresize:!0},null,8,["option"])):R2.key==="home-town-balance-gauge"?(G(),z("div",LL,[(G(!0),z(B3,null,H3(H1.value,(q2,X3)=>(G(),z("div",{key:q2.key,class:r1(["home-balance-gauge-card",{"is-active":X3===G2.value}]),style:z1(Le(q2))},[w("div",IL,[w("strong",null,i2(q2.status),1)]),w("div",FL,[w("div",BL,[w("strong",null,i2(a3(q2.value)),1),m2[4]||(m2[4]=w("em",null,"%",-1))])]),w("div",DL,i2(q2.name),1),w("div",GL,i2(q2.extra),1)],6))),128))])):(G(),J0($t,{key:4,panel:R2,compact:"","column-label-standard":T(R2)},null,8,["panel","column-label-standard"]))]),_:2},1032,["class","title","width","height"]))),128))])]),s3.value?(G(),z("div",{key:1,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部基地监控",onClick:_0(Q0,["self"])},[w("section",UL,[w("header",OL,[w("div",null,[m2[5]||(m2[5]=w("h2",null,"基地监控",-1)),w("p",null,"共 "+i2(j2.value.length)+" 路,在线 "+i2(B1.value)+" 路",1)]),w("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:Q0},"×")]),D3.value.length?(G(),z("div",{key:0,class:"home-video-modal-grid",onPointerdownCapture:Et,onMousedownCapture:Et,onClickCapture:Et},[(G(!0),z(B3,null,H3(D3.value,R2=>(G(),z("div",{key:R2.key,ref_for:!0,ref:q2=>i3(q2,{isActive:R2.index===e3.value}),"data-video-index":R2.index,class:r1(["home-video-modal-item home-video-screen",{"is-active":R2.index===e3.value,"is-playing":b3.value&&R2.index===e3.value,"is-loading":Y3.value&&R2.index===e3.value,"is-offline":R2.live.status!=="直播中"}]),style:z1(K1(R2.live,R2.index===e3.value)),role:"button",tabindex:"0",onPointerdownCapture:q2=>Oe(R2.index),onMousedownCapture:q2=>Oe(R2.index),onClick:q2=>q1(R2.index),onKeydown:[xt(_0(q2=>q1(R2.index),["prevent"]),["enter"]),xt(_0(q2=>q1(R2.index),["prevent"]),["space"])]},[R2.index===e3.value?(G(),z("div",{key:0,id:n1,class:"home-video-player"})):k3("",!0),R2.live.status==="直播中"&&(!b3.value||R2.index!==e3.value)?(G(),z("div",zL)):k3("",!0),Y3.value&&R2.index===e3.value?(G(),z("div",YL,"加载中")):k3("",!0),o3.value&&R2.index===e3.value?(G(),z("div",$L,i2(o3.value),1)):k3("",!0),R2.live.hdPlayUrl&&(R2.index!==e3.value||R2.index===e3.value&&o3.value)?(G(),z("button",{key:4,class:"home-video-hit",type:"button","aria-label":"播放监控",onPointerdown:_0(q2=>q1(R2.index),["stop","prevent"]),onMousedown:_0(q2=>q1(R2.index),["stop","prevent"]),onClick:_0(q2=>q1(R2.index),["stop"])},null,40,WL)):k3("",!0),w("span",VL,i2(R2.live.title),1)],46,jL))),128))],32)):(G(),z("div",HL,"暂无监控数据")),G1.value>1?(G(),z("footer",KL,[w("button",{type:"button",disabled:m3.value<=1,onClick:m2[1]||(m2[1]=R2=>Ue(m3.value-1))},"上一页",8,qL),w("span",null,i2(m3.value)+" / "+i2(G1.value),1),w("button",{type:"button",disabled:m3.value>=G1.value,onClick:m2[2]||(m2[2]=R2=>Ue(m3.value+1))},"下一页",8,JL)])):k3("",!0)])])):k3("",!0),p3.value?(G(),z("div",{key:2,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部乡镇草畜平衡",onClick:_0(f0,["self"])},[w("section",QL,[w("header",XL,[w("div",null,[m2[6]||(m2[6]=w("h2",null,"全县乡镇草畜平衡",-1)),w("p",null,"全部 "+i2(g1.value.length)+" 个乡镇,超载率沿用草畜平衡结果库口径",1)]),w("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:f0},"×")]),w("div",ZL,[(G(!0),z(B3,null,H3(g1.value,R2=>(G(),z("article",{key:R2.key,class:"home-balance-modal-item",style:z1(Le(R2))},[w("div",eI,[w("strong",null,i2(R2.name),1),w("span",null,i2(R2.status),1)]),w("div",tI,[w("strong",null,i2(a3(R2.value)),1),m2[7]||(m2[7]=w("em",null,"%",-1))]),m2[8]||(m2[8]=w("div",{class:"home-balance-modal-track"},[w("i")],-1)),w("p",null,i2(R2.extra),1)],4))),128))])])])):k3("",!0)]))}},lI="/jsyApi/api/map/ndvi_timeline";function uI(){return P3(this,null,function*(){const t=yield fetch(lI,{credentials:"include",headers:{Accept:"application/json"}});if(!t.ok){const a=new Error(`HTTP ${t.status}`);throw a.status=t.status,a}const e=yield t.json().catch(()=>({}));if((e==null?void 0:e.code)===401||(e==null?void 0:e.code)==="401"){const a=new Error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"NDVI 时间轴未授权");throw a.status=401,a}const n=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[];return cI(n)})}function cI(t=[]){const e=new Set;return t.map((n,a)=>{const i=dI(Sh(n,["url","layerName","layer_name","layer","name"]));if(!i)return null;const r=Sh(n,["date","month","time","label"])||i,o=fI(r);return{key:`${i}-${r||a}`,label:o,date:String(r),layerName:i,source:n}}).filter(Boolean).filter(n=>e.has(n.key)?!1:(e.add(n.key),!0))}function Sh(t,e){for(const n of e)if((t==null?void 0:t[n])!==void 0&&(t==null?void 0:t[n])!==null&&(t==null?void 0:t[n])!=="")return t[n]}function dI(t){const e=String(t||"").trim();return e?e.includes(":")||/^https?:\/\//i.test(e)?e:`ne:${e}`:""}function fI(t){const e=String(t||"").trim();if(!e)return"";const n=e.match(/(\d{4})[-_/年. ]?(0?[1-9]|1[0-2])(?:月)?/);return n?`${n[1]}.${String(Number(n[2])).padStart(2,"0")}`:e}class y5{constructor(e,n){this.next=null,this.key=e,this.data=n,this.left=null,this.right=null}}function hI(t,e){return t>e?1:t0){if(e.right===null)break;if(n(t,e.right.key)>0){const s=e.right;if(e.right=s.left,s.left=e,e=s,e.right===null)break}i.right=e,i=e,e=e.right}else break}return i.right=e.left,r.left=e.right,e.left=a.right,e.right=a.left,e}function ks(t,e,n,a){const i=new y5(t,e);if(n===null)return i.left=i.right=null,i;n=d5(t,n,a);const r=a(t,n.key);return r<0?(i.left=n.left,i.right=n,n.left=null):r>=0&&(i.right=n.right,i.left=n,n.right=null),i}function wh(t,e,n){let a=null,i=null;if(e){e=d5(t,e,n);const r=n(e.key,t);r===0?(a=e.left,i=e.right):r<0?(i=e.right,e.right=null,a=e):(a=e.left,e.left=null,i=e)}return{left:a,right:i}}function mI(t,e,n){return e===null?t:(t===null||(e=d5(t.key,e,n),e.left=t),e)}function Sl(t,e,n,a,i){if(t){a(`${e}${n?"└── ":"├── "}${i(t)} -`);const r=e+(n?" ":"│ ");t.left&&Sl(t.left,r,!1,a,i),t.right&&Sl(t.right,r,!0,a,i)}}class uu{constructor(e=hI){this._root=null,this._size=0,this._comparator=e}insert(e,n){return this._size++,this._root=ks(e,n,this._root,this._comparator)}add(e,n){const a=new y5(e,n);this._root===null&&(a.left=a.right=null,this._size++,this._root=a);const i=this._comparator,r=d5(e,this._root,i),o=i(e,r.key);return o===0?this._root=r:(o<0?(a.left=r.left,a.right=r,r.left=null):o>0&&(a.right=r.right,a.left=r,r.right=null),this._size++,this._root=a),this._root}remove(e){this._root=this._remove(e,this._root,this._comparator)}_remove(e,n,a){let i;return n===null?null:(n=d5(e,n,a),a(e,n.key)===0?(n.left===null?i=n.right:(i=d5(e,n.left,a),i.right=n.right),this._size--,i):n)}pop(){let e=this._root;if(e){for(;e.left;)e=e.left;return this._root=d5(e.key,this._root,this._comparator),this._root=this._remove(e.key,this._root,this._comparator),{key:e.key,data:e.data}}return null}findStatic(e){let n=this._root;const a=this._comparator;for(;n;){const i=a(e,n.key);if(i===0)return n;i<0?n=n.left:n=n.right}return null}find(e){return this._root&&(this._root=d5(e,this._root,this._comparator),this._comparator(e,this._root.key)!==0)?null:this._root}contains(e){let n=this._root;const a=this._comparator;for(;n;){const i=a(e,n.key);if(i===0)return!0;i<0?n=n.left:n=n.right}return!1}forEach(e,n){let a=this._root;const i=[];let r=!1;for(;!r;)a!==null?(i.push(a),a=a.left):i.length!==0?(a=i.pop(),e.call(n,a),a=a.right):r=!0;return this}range(e,n,a,i){const r=[],o=this._comparator;let s=this._root,u;for(;r.length!==0||s;)if(s)r.push(s),s=s.left;else{if(s=r.pop(),u=o(s.key,n),u>0)break;if(o(s.key,e)>=0&&a.call(i,s))return this;s=s.right}return this}keys(){const e=[];return this.forEach(({key:n})=>{e.push(n)}),e}values(){const e=[];return this.forEach(({data:n})=>{e.push(n)}),e}min(){return this._root?this.minNode(this._root).key:null}max(){return this._root?this.maxNode(this._root).key:null}minNode(e=this._root){if(e)for(;e.left;)e=e.left;return e}maxNode(e=this._root){if(e)for(;e.right;)e=e.right;return e}at(e){let n=this._root,a=!1,i=0;const r=[];for(;!a;)if(n)r.push(n),n=n.left;else if(r.length>0){if(n=r.pop(),i===e)return n;i++,n=n.right}else a=!0;return null}next(e){let n=this._root,a=null;if(e.right){for(a=e.right;a.left;)a=a.left;return a}const i=this._comparator;for(;n;){const r=i(e.key,n.key);if(r===0)break;r<0?(a=n,n=n.left):n=n.right}return a}prev(e){let n=this._root,a=null;if(e.left!==null){for(a=e.left;a.right;)a=a.right;return a}const i=this._comparator;for(;n;){const r=i(e.key,n.key);if(r===0)break;r<0?n=n.left:(a=n,n=n.right)}return a}clear(){return this._root=null,this._size=0,this}toList(){return gI(this._root)}load(e,n=[],a=!1){let i=e.length;const r=this._comparator;if(a&&Tl(e,n,0,i-1,r),this._root===null)this._root=wl(e,n,0,i),this._size=i;else{const o=yI(this.toList(),pI(e,n),r);i=this._size+i,this._root=bl({head:o},0,i)}return this}isEmpty(){return this._root===null}get size(){return this._size}get root(){return this._root}toString(e=n=>String(n.key)){const n=[];return Sl(this._root,"",!0,a=>n.push(a),e),n.join("")}update(e,n,a){const i=this._comparator;let{left:r,right:o}=wh(e,this._root,i);i(e,n)<0?o=ks(n,a,o,i):r=ks(n,a,r,i),this._root=mI(r,o,i)}split(e){return wh(e,this._root,this._comparator)}*[Symbol.iterator](){let e=this._root;const n=[];let a=!1;for(;!a;)e!==null?(n.push(e),e=e.left):n.length!==0?(e=n.pop(),yield e,e=e.right):a=!0}}function wl(t,e,n,a){const i=a-n;if(i>0){const r=n+Math.floor(i/2),o=t[r],s=e[r],u=new y5(o,s);return u.left=wl(t,e,n,r),u.right=wl(t,e,r+1,a),u}return null}function pI(t,e){const n=new y5(null,null);let a=n;for(let i=0;i0?(e=r=r.next=n.pop(),e=e.right):a=!0;return r.next=null,i.next}function bl(t,e,n){const a=n-e;if(a>0){const i=e+Math.floor(a/2),r=bl(t,e,i),o=t.head;return o.left=r,t.head=t.head.next,o.right=bl(t,i+1,n),o}return null}function yI(t,e,n){const a=new y5(null,null);let i=a,r=t,o=e;for(;r!==null&&o!==null;)n(r.key,o.key)<0?(i.next=r,r=r.next):(i.next=o,o=o.next),i=i.next;return r!==null?i.next=r:o!==null&&(i.next=o),a.next}function Tl(t,e,n,a,i){if(n>=a)return;const r=t[n+a>>1];let o=n-1,s=a+1;for(;;){do o++;while(i(t[o],r)<0);do s--;while(i(t[s],r)>0);if(o>=s)break;let u=t[o];t[o]=t[s],t[s]=u,u=e[o],e[o]=e[s],e[s]=u}Tl(t,e,n,s,i),Tl(t,e,s+1,a,i)}const j6=11102230246251565e-32,ot=134217729,vI=(3+8*j6)*j6;function Es(t,e,n,a,i){let r,o,s,u,m=e[0],h=a[0],p=0,g=0;h>m==h>-m?(r=m,m=e[++p]):(r=h,h=a[++g]);let C=0;if(pm==h>-m?(o=m+r,s=r-(o-m),m=e[++p]):(o=h+r,s=r-(o-h),h=a[++g]),r=o,s!==0&&(i[C++]=s);pm==h>-m?(o=r+m,u=o-r,s=r-(o-u)+(m-u),m=e[++p]):(o=r+h,u=o-r,s=r-(o-u)+(h-u),h=a[++g]),r=o,s!==0&&(i[C++]=s);for(;p=Y3||-b3>=Y3||(p=t-s3,s=t-(s3+p)+(p-i),p=n-m3,m=n-(m3+p)+(p-i),p=e-p3,u=e-(p3+p)+(p-r),p=a-U3,h=a-(U3+p)+(p-r),s===0&&u===0&&m===0&&h===0)||(Y3=TI*o+vI*Math.abs(b3),b3+=s3*h+U3*s-(p3*m+m3*u),b3>=Y3||-b3>=Y3))return b3;T2=s*U3,g=ot*s,C=g-(g-s),I=s-C,g=ot*U3,U=g-(g-U3),j=U3-U,C2=I*j-(T2-C*U-I*U-C*j),j2=u*m3,g=ot*u,C=g-(g-u),I=u-C,g=ot*m3,U=g-(g-m3),j=m3-U,K2=I*j-(j2-C*U-I*U-C*j),l2=C2-K2,p=C2-l2,At[0]=C2-(l2+p)+(p-K2),v2=T2+l2,p=v2-T2,S2=T2-(v2-p)+(l2-p),l2=S2-j2,p=S2-l2,At[1]=S2-(l2+p)+(p-j2),V2=v2+l2,p=V2-v2,At[2]=v2-(V2-p)+(l2-p),At[3]=V2;const o3=Es(4,z9,4,At,bh);T2=s3*h,g=ot*s3,C=g-(g-s3),I=s3-C,g=ot*h,U=g-(g-h),j=h-U,C2=I*j-(T2-C*U-I*U-C*j),j2=p3*m,g=ot*p3,C=g-(g-p3),I=p3-C,g=ot*m,U=g-(g-m),j=m-U,K2=I*j-(j2-C*U-I*U-C*j),l2=C2-K2,p=C2-l2,At[0]=C2-(l2+p)+(p-K2),v2=T2+l2,p=v2-T2,S2=T2-(v2-p)+(l2-p),l2=S2-j2,p=S2-l2,At[1]=S2-(l2+p)+(p-j2),V2=v2+l2,p=V2-v2,At[2]=v2-(V2-p)+(l2-p),At[3]=V2;const n1=Es(o3,bh,4,At,Th);T2=s*h,g=ot*s,C=g-(g-s),I=s-C,g=ot*h,U=g-(g-h),j=h-U,C2=I*j-(T2-C*U-I*U-C*j),j2=u*m,g=ot*u,C=g-(g-u),I=u-C,g=ot*m,U=g-(g-m),j=m-U,K2=I*j-(j2-C*U-I*U-C*j),l2=C2-K2,p=C2-l2,At[0]=C2-(l2+p)+(p-K2),v2=T2+l2,p=v2-T2,S2=T2-(v2-p)+(l2-p),l2=S2-j2,p=S2-l2,At[1]=S2-(l2+p)+(p-j2),V2=v2+l2,p=V2-v2,At[2]=v2-(V2-p)+(l2-p),At[3]=V2;const b1=Es(n1,Th,4,At,Ch);return Ch[b1-1]}function AI(t,e,n,a,i,r){const o=(e-r)*(n-i),s=(t-i)*(a-r),u=o-s,m=Math.abs(o+s);return Math.abs(u)>=wI*m?u:-CI(t,e,n,a,i,r,m)}const I4=(t,e)=>t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y,Cl=(t,e)=>{if(e.ur.x{if(-f5t.x*e.y-t.y*e.x,Wp=(t,e)=>t.x*e.x+t.y*e.y,xh=(t,e,n)=>{const a=AI(t.x,t.y,e.x,e.y,n.x,n.y);return a>0?-1:a<0?1:0},Ji=t=>Math.sqrt(Wp(t,t)),MI=(t,e,n)=>{const a={x:e.x-t.x,y:e.y-t.y},i={x:n.x-t.x,y:n.y-t.y};return Mi(i,a)/Ji(i)/Ji(a)},PI=(t,e,n)=>{const a={x:e.x-t.x,y:e.y-t.y},i={x:n.x-t.x,y:n.y-t.y};return Wp(i,a)/Ji(i)/Ji(a)},Mh=(t,e,n)=>e.y===0?null:{x:t.x+e.x/e.y*(n-t.y),y:n},Ph=(t,e,n)=>e.x===0?null:{x:n,y:t.y+e.y/e.x*(n-t.x)},kI=(t,e,n,a)=>{if(e.x===0)return Ph(n,a,t.x);if(a.x===0)return Ph(t,e,n.x);if(e.y===0)return Mh(n,a,t.y);if(a.y===0)return Mh(t,e,n.y);const i=Mi(e,a);if(i==0)return null;const r={x:n.x-t.x,y:n.y-t.y},o=Mi(r,e)/i,s=Mi(r,a)/i,u=t.x+s*e.x,m=n.x+o*a.x,h=t.y+s*e.y,p=n.y+o*a.y,g=(u+m)/2,C=(h+p)/2;return{x:g,y:C}};class xn{static compare(e,n){const a=xn.comparePoints(e.point,n.point);return a!==0?a:(e.point!==n.point&&e.link(n),e.isLeft!==n.isLeft?e.isLeft?1:-1:p5.compare(e.segment,n.segment))}static comparePoints(e,n){return e.xn.x?1:e.yn.y?1:0}constructor(e,n){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=n}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const n=e.point.events;for(let a=0,i=n.length;a{const r=i.otherSE;n.set(i,{sine:MI(this.point,e.point,r.point),cosine:PI(this.point,e.point,r.point)})};return(i,r)=>{n.has(i)||a(i),n.has(r)||a(r);const{sine:o,cosine:s}=n.get(i),{sine:u,cosine:m}=n.get(r);return o>=0&&u>=0?sm?-1:0:o<0&&u<0?sm?1:0:uo?1:0}}}let EI=0;class p5{static compare(e,n){const a=e.leftSE.point.x,i=n.leftSE.point.x,r=e.rightSE.point.x,o=n.rightSE.point.x;if(os&&u>m)return-1;const p=e.comparePoint(n.leftSE.point);if(p<0)return 1;if(p>0)return-1;const g=n.comparePoint(e.rightSE.point);return g!==0?g:-1}if(a>i){if(su&&s>h)return 1;const p=n.comparePoint(e.leftSE.point);if(p!==0)return p;const g=e.comparePoint(n.rightSE.point);return g<0?1:g>0?-1:1}if(su)return 1;if(ro){const p=e.comparePoint(n.rightSE.point);if(p<0)return 1;if(p>0)return-1}if(r!==o){const p=m-s,g=r-a,C=h-u,I=o-i;if(p>g&&CI)return-1}return r>o?1:rh?1:e.idn.id?1:0}constructor(e,n,a,i){this.id=++EI,this.leftSE=e,e.segment=this,e.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=e,this.rings=a,this.windings=i}static fromRing(e,n,a){let i,r,o;const s=xn.comparePoints(e,n);if(s<0)i=e,r=n,o=1;else if(s>0)i=n,r=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new xn(i,!0),m=new xn(r,!1);return new p5(u,m,[a],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,n=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:en?e:n}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(e){return e.x===this.leftSE.point.x&&e.y===this.leftSE.point.y||e.x===this.rightSE.point.x&&e.y===this.rightSE.point.y}comparePoint(e){if(this.isAnEndpoint(e))return 0;const n=this.leftSE.point,a=this.rightSE.point,i=this.vector();if(n.x===a.x)return e.x===n.x?0:e.x0&&s.swapEvents(),xn.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),a&&(i.checkForConsuming(),r.checkForConsuming()),n}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let n=0,a=this.windings.length;n0){const r=n;n=a,a=r}if(n.prev===a){const r=n;n=a,a=r}for(let r=0,o=a.rings.length;ri.length===1&&i[0].isSubject;this._isInResult=a(e)!==a(n);break}default:throw new Error(`Unrecognized operation type found ${Yn.type}`)}return this._isInResult}}class kh{constructor(e,n,a){if(!Array.isArray(e)||e.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=n,this.isExterior=a,this.segments=[],typeof e[0][0]!="number"||typeof e[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=f7.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let r=i;for(let o=1,s=e.length;othis.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),r=u)}(i.x!==r.x||i.y!==r.y)&&this.segments.push(p5.fromRing(r,i,this))}getSweepEvents(){const e=[];for(let n=0,a=this.segments.length;nthis.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.interiorRings.push(r)}this.multiPoly=n}getSweepEvents(){const e=this.exteriorRing.getSweepEvents();for(let n=0,a=this.interiorRings.length;nthis.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.polys.push(r)}this.isSubject=n}getSweepEvents(){const e=[];for(let n=0,a=this.polys.length;n0&&(e=o)}let n=e.segment.prevInResult(),a=n?n.prevInResult():null;for(;;){if(!n)return null;if(!a)return n.ringOut;if(a.ringOut!==n.ringOut)return a.ringOut.enclosingRing()!==n.ringOut?n.ringOut:n.ringOut.enclosingRing();n=a.prevInResult(),a=n?n.prevInResult():null}}}class Nh{constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=[this.exteriorRing.getGeom()];if(e[0]===null)return null;for(let n=0,a=this.interiorRings.length;n1&&arguments[1]!==void 0?arguments[1]:p5.compare;this.queue=e,this.tree=new uu(n),this.segments=[]}process(e){const n=e.segment,a=[];if(e.consumedBy)return e.isLeft?this.queue.remove(e.otherSE):this.tree.remove(n),a;const i=e.isLeft?this.tree.add(n):this.tree.find(n);if(!i)throw new Error(`Unable to find segment #${n.id} [${n.leftSE.point.x}, ${n.leftSE.point.y}] -> [${n.rightSE.point.x}, ${n.rightSE.point.y}] in SweepLine tree.`);let r=i,o=i,s,u;for(;s===void 0;)r=this.tree.prev(r),r===null?s=null:r.key.consumedBy===void 0&&(s=r.key);for(;u===void 0;)o=this.tree.next(o),o===null?u=null:o.key.consumedBy===void 0&&(u=o.key);if(e.isLeft){let m=null;if(s){const p=s.getIntersection(n);if(p!==null&&(n.isAnEndpoint(p)||(m=p),!s.isAnEndpoint(p))){const g=this._splitSafely(s,p);for(let C=0,I=g.length;C0?(this.tree.remove(n),a.push(e)):(this.segments.push(n),n.prev=s)}else{if(s&&u){const m=s.getIntersection(u);if(m!==null){if(!s.isAnEndpoint(m)){const h=this._splitSafely(s,m);for(let p=0,g=h.length;pRh)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const o=new LI(r);let s=r.size,u=r.pop();for(;u;){const p=u.key;if(r.size===s){const C=p.segment;throw new Error(`Unable to pop() ${p.isLeft?"left":"right"} SweepEvent [${p.point.x}, ${p.point.y}] from segment #${C.id} [${C.leftSE.point.x}, ${C.leftSE.point.y}] -> [${C.rightSE.point.x}, ${C.rightSE.point.y}] from queue.`)}if(r.size>Rh)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(o.segments.length>II)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const g=o.process(p);for(let C=0,I=g.length;C1?e-1:0),a=1;a1?e-1:0),a=1;a1?e-1:0),a=1;a1?e-1:0),a=1;a[]},tileUrlTemplate:{type:String,default:"https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png"},referenceTileUrlTemplate:{type:String,default:"https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png"},terrainUrl:{type:String,default:"/terrain"},center:{type:Array,default:()=>[102.600005,32.585593]},initialZoom:{type:Number,default:9},maxZoom:{type:Number,default:21},adminBoundaryLineScale:{type:Number,default:1},showNationalBackdrop:{type:Boolean,default:!0}},emits:["ready","scene-mounted","feature-loading","feature-info","layer-status","tile-status","map-click","draw-boundary"],setup(t,{expose:e,emit:n}){const a=D1(OI),i=t,r=n,o=Q2(null),s=Q2(null),u=Em(null),m=s2(()=>i.activeLayer?[i.activeLayer,...Array.isArray(i.activeLayer.overlayLayers)?i.activeLayer.overlayLayers:[]].filter(Boolean):i.overlayLayers.length?i.overlayLayers.filter(Boolean):i.overlayLayer?[i.overlayLayer]:[]);let h=null,p=null,g=null,C=null,I=!1,U=0,j=null,l2=!1,v2=[],S2=null,T2=[],C2=[],j2=[],K2=[],V2=[],s3=[],m3=[],p3=[],U3=[],b3=[];const Y3=new Map;mn(()=>{r("scene-mounted"),i.active&&o3()}),hn(()=>a1()),N0(m,()=>W1(),{deep:!0}),N0(()=>i.mapRanking,()=>n3(),{deep:!0}),N0(()=>i.active,L=>P3(this,null,function*(){if(!L){a1();return}yield O0(),o3()}));function o3(){var N3,K,m2,R2;if(h||!s.value)return!!h;const L=window.Cesium;if(!L)return r("layer-status",{type:"error",text:"Cesium 运行资源加载失败"}),!1;I=!1;const q=n1(L),F=W3(i.tileUrlTemplate),r2=W3(i.referenceTileUrlTemplate),p2=r2&&r2!==F?b1(L,r2,{maximumLevel:Math.min(i.maxZoom,18)}):null,f2=F?b1(L,F,{maximumLevel:i.maxZoom}):null;if(h=new L.Viewer(s.value,{animation:!1,baseLayerPicker:!1,fullscreenButton:!1,geocoder:!1,homeButton:!1,infoBox:!1,navigationHelpButton:!1,sceneModePicker:!1,selectionIndicator:!1,timeline:!1,scene3DOnly:!0,imageryProvider:!1,terrainProvider:q,requestRenderMode:!0,maximumRenderTimeChange:1/0,contextOptions:{webgl:{alpha:!0,antialias:!0}}}),p2){const q2=h.imageryLayers.addImageryProvider(p2);q2.brightness=.92,q2.contrast=1.08,q2.saturation=1.04,q2.gamma=.98}f2&&(S2=h.imageryLayers.addImageryProvider(f2),S2.alpha=R1(F)?.82:1,S2.brightness=.9,S2.contrast=1.1,S2.saturation=1.05,S2.gamma=.96),h.scene.globe.terrainExaggeration=1.5,h.scene.globe.depthTestAgainstTerrain=!1,h.scene.globe.baseColor=L.Color.fromCssColorString("#061821"),h.scene.backgroundColor=L.Color.fromCssColorString("#020b12"),h.scene.skyAtmosphere.show=!1,h.scene.skyBox&&(h.scene.skyBox.show=!1),h.scene.fog.enabled=!0,h.scene.fog.density=18e-5,h.scene.fxaa=!0,h.scene.postProcessStages.fxaa.enabled=!0,h.scene.screenSpaceCameraController.enableCollisionDetection=!0,h.scene.screenSpaceCameraController.minimumZoomDistance=350,h.scene.screenSpaceCameraController.maximumZoomDistance=56e4,(N3=h.cesiumWidget)!=null&&N3.creditContainer&&(h.cesiumWidget.creditContainer.style.display="none"),(K=h._cesiumWidget)!=null&&K._creditContainer&&(h._cesiumWidget._creditContainer.style.display="none"),Y1(q,L),x1(),V3(),I3(),c1(),M1(),l3(!1),$1(),W1(),n3();const r3={viewer:h,clearSelectedFeature:t1,focusProject:$e,focusPasture:Et,focusTownByName:Ue,focusYakIndustryPoint:f0,focusVectorFeature:ct,getVectorFeatureScreen:q1,getYakIndustryPointScreen:Oe,destroy:a1};return u.value=r3,(R2=(m2=f2==null?void 0:f2.errorEvent)==null?void 0:m2.addEventListener)==null||R2.call(m2,()=>{r("tile-status",{type:"warning",text:"牧场影像底图部分瓦片加载失败"})}),r("tile-status",{type:"success",text:"牧场影像底图已加载"}),window.setTimeout(()=>{var q2;h&&!((q2=h.isDestroyed)!=null&&q2.call(h))&&r("ready")},0),O0(_1),!0}function n1(L){if(!i.terrainUrl)return new L.EllipsoidTerrainProvider;try{return new L.CesiumTerrainProvider({url:i.terrainUrl,requestVertexNormals:!0,requestWaterMask:!1})}catch(q){return I=!0,new L.EllipsoidTerrainProvider}}function b1(L,q,F={}){return q?new L.UrlTemplateImageryProvider({url:q,minimumLevel:F.minimumLevel||3,maximumLevel:F.maximumLevel||i.maxZoom,tilingScheme:new L.WebMercatorTilingScheme,credit:""}):null}function W3(L){return String(L||"").trim()}function R1(L){return/hy-result|qkl-map/i.test(String(L||""))}function D1(L){var q,F;try{const r2=typeof L=="string"?JSON.parse(L):L,p2=(r2==null?void 0:r2.type)==="FeatureCollection"?(F=(q=r2.features)==null?void 0:q[0])==null?void 0:F.geometry:(r2==null?void 0:r2.type)==="Feature"?r2.geometry:r2;if((p2==null?void 0:p2.type)==="Polygon")return[p2.coordinates];if((p2==null?void 0:p2.type)==="MultiPolygon")return p2.coordinates}catch(r2){console.warn("[cesium-map] county clip boundary failed",r2)}return[]}function Y1(L,q){var r2,p2,f2,r3;const F=()=>{!h||I||(I=!0,h.terrainProvider=new q.EllipsoidTerrainProvider,h.scene.globe.terrainExaggeration=1,h.scene.requestRender(),r("layer-status",{type:"warning",text:"CXPT 地形服务暂不可用,已保留三维影像地图"}))};(p2=(r2=L==null?void 0:L.errorEvent)==null?void 0:r2.addEventListener)==null||p2.call(r2,F),(r3=(f2=L==null?void 0:L.readyPromise)==null?void 0:f2.catch)==null||r3.call(f2,F)}function h3(){return o3()}function x3(){var L;return!!(h&&!((L=h.isDestroyed)!=null&&L.call(h)))}function L3(){h1()}function h1(){if(!h){o3();return}h.useDefaultRenderLoop=!0,_1()}function C1(){a1()}function _1(){var L;!h||(L=h.isDestroyed)!=null&&L.call(h)||(h.resize(),h.scene.requestRender())}function o1(){t1(),l3(!0)}function l3(L=!0){if(!h)return;const q=window.Cesium,F=j3(),r2=$2(i.initialZoom),p2=q.Cartesian3.fromDegrees(F[0],F[1]-YI,2200),f2=new q.HeadingPitchRange(q.Math.toRadians(jI),q.Math.toRadians(zI),r2);L?h.camera.flyToBoundingSphere(new q.BoundingSphere(p2,1),{offset:f2,duration:.9}):(h.camera.lookAt(p2,f2),h.camera.lookAtTransform(q.Matrix4.IDENTITY)),h.scene.requestRender()}function $2(L){const q=Number.isFinite(Number(L))?Number(L):9;return Math.max(9e3,Math.min(58e4,365e3/Math.pow(1.62,q-9)))}function j3(){return[(j1.west+j1.east)/2,(j1.south+j1.north)/2]}function c1(){!o.value||!window.ResizeObserver||(g=new ResizeObserver(()=>_1()),g.observe(o.value))}function M1(){!h||C||(C=h.camera.moveEnd.addEventListener($1))}function $1(){var r2,p2;if(!h||(r2=h.isDestroyed)!=null&&r2.call(h))return;const L=Number((p2=h.camera.positionCartographic)==null?void 0:p2.height)||32e4,q=Math.max(0,Math.min(1,(36e4-L)/3e5)),F={township:1.25+q*.55,countyOutline:1.35+q*.45,countyHalo:2.25+q*.7};C2.forEach(f2=>{f2!=null&&f2.polyline&&f2.__hyBoundaryRole==="township"&&(f2.polyline.width=F.township)}),U3.forEach(f2=>{f2!=null&&f2.polyline&&(f2.__hyBoundaryRole==="county-outline"&&(f2.polyline.width=F.countyOutline),f2.__hyBoundaryRole==="county-halo"&&(f2.polyline.width=F.countyHalo))}),h.scene.requestRender()}function W1(){return P3(this,null,function*(){var F,r2;if(!h)return;const L=++U;v1();const q=m.value;if(!q.length){r("layer-status",{type:"idle",text:"未选择专题图层"}),h.scene.requestRender();return}r("layer-status",{type:"loading",text:"正在加载三维专题图层"});try{for(const p2 of q){if(L!==U)return;yield P(p2,L)}if(L!==U)return;_(q.find(p2=>(p2==null?void 0:p2.mapView)||(p2==null?void 0:p2.cameraPosition))),r("layer-status",{type:"success",text:`${q.map(p2=>p2.name).filter(Boolean).join("、")}已加载`})}catch(p2){if(L!==U)return;console.warn("[cesium-map] topic layer failed",p2),r("layer-status",{type:"error",text:"三维专题图层加载失败"})}finally{(r2=(F=h==null?void 0:h.scene)==null?void 0:F.requestRender)==null||r2.call(F)}})}function P(L,q){return P3(this,null,function*(){const F=String((L==null?void 0:L.sourceType)||"wms").toLowerCase();if(["geojson","wkt-api","wfs"].includes(F)){const r2=yield q3(L);if(q!==U||!r2)return;H2(r2,L,j2);return}if(F==="wmts"){E3(L);return}A1(L)})}function E3(L){const q=window.Cesium,F=L.tileMatrixSetID||L.tileMatrixSet||"EPSG:900913",r2=Number.isFinite(Number(L.maximumLevel))?Number(L.maximumLevel):21,p2=new q.WebMapTileServiceImageryProvider({url:L.url||"/geoserver/gwc/service/wmts",layer:L.layerName,style:L.style||L.styles||"",format:L.format||"image/png",tileMatrixSetID:F,tileMatrixLabels:L.tileMatrixLabels||g3(F,r2),tilingScheme:/4326/i.test(F)?new q.GeographicTilingScheme:new q.WebMercatorTilingScheme,maximumLevel:r2,credit:L.credit||""}),f2=h.imageryLayers.addImageryProvider(p2),r3=String(L.layerName||"").includes("daping_yak_marks");f2.alpha=r3?w1(L.opacity,.92):w1(L.opacity,.86),f2.__hyLayer=L,T2.push(f2)}function g3(L,q=21){return Array.from({length:q+1},(F,r2)=>`${L}:${r2}`)}function A1(L){const q=window.Cesium,F={service:"WMS",transparent:!0,format:"image/png",version:"1.1.1",styles:L.styles||""};L.cqlFilter&&(F.cql_filter=L.cqlFilter),L.sldBody&&(F.sld_body=L.sldBody);const r2=new q.WebMapServiceImageryProvider({url:L.url||"/geoserver/ne/wms",layers:L.layerName,parameters:F,getFeatureInfoParameters:Z2(B2({},F),{info_format:"application/json",feature_count:10})}),p2=h.imageryLayers.addImageryProvider(r2),f2=String(L.layerName||"").includes("daping_yak_marks");p2.alpha=f2?w1(L.opacity,.92):w1(L.opacity,.86),p2.__hyLayer=L,T2.push(p2)}function q3(L){return P3(this,null,function*(){if(L.sourceType==="wkt-api")try{const q=yield fetch(L.apiUrl,{credentials:"same-origin"});if(!q.ok)throw new Error(`HTTP ${q.status}`);return H1(yield q.json())}catch(q){if(!L.fallbackPath)throw q;return O3(L.fallbackPath)}if(L.sourceType==="wfs"){const q=g1(L);return O3(q)}return O3(L.dataPath||L.fallbackPath)})}function O3(L){return P3(this,null,function*(){if(!L)return null;const q=/^(https?:)?\/\//.test(L)||L.startsWith("/")?L:`/${L}`,F=yield fetch(q,{credentials:"same-origin"});if(!F.ok)throw new Error(`HTTP ${F.status}`);return F.json()})}function g1(L){const q=new URLSearchParams({service:"WFS",version:"1.1.0",request:"GetFeature",typeName:L.layerName,outputFormat:"application/json",srsName:"EPSG:4326"});return L.cqlFilter&&q.set("cql_filter",L.cqlFilter),L.maxFeatures&&q.set("maxFeatures",String(L.maxFeatures)),Array.isArray(L.propertyName)&&L.propertyName.length?q.set("propertyName",L.propertyName.join(",")):L.propertyName&&q.set("propertyName",L.propertyName),`${L.url||"/geoserver/ne/wfs"}?${q.toString()}`}function H1(L){var r2;const q=(r2=L==null?void 0:L.data)!=null?r2:L;return{type:"FeatureCollection",features:(Array.isArray(q)?q:(q==null?void 0:q.rows)||(q==null?void 0:q.list)||(q==null?void 0:q.records)||(q==null?void 0:q.data)||[]).map((p2,f2)=>{var r3;return{type:"Feature",id:(r3=p2==null?void 0:p2.id)!=null?r3:f2,properties:B2({},p2),geometry:k2(p2==null?void 0:p2.geometry)||y2(G2(p2))}}).filter(p2=>p2.geometry)}}function G2(L={}){return L.wkt||L.WKT||L.geom||L.the_geom||L.theGeom||L.shape||L.Shape}function H2(L,q,F){((L==null?void 0:L.type)==="FeatureCollection"?L.features:(L==null?void 0:L.type)==="Feature"?[L]:[]).filter(p2=>p2==null?void 0:p2.geometry).filter(p2=>G0(p2.properties||{},q)).map(p2=>e3(p2,q)).filter(Boolean).forEach(p2=>B1(p2,q,F))}function e3(L,q){const F=k2(L==null?void 0:L.geometry),r2=(q==null?void 0:q.clipToHongyuanBoundary)===!0,p2=T3(q);if(!F||!["Polygon","MultiPolygon"].includes(F.type)||!r2&&!p2)return L;let f2=F.type==="Polygon"?[F.coordinates]:F.coordinates;try{r2&&a.length&&(f2=Ns.intersection(f2,a)),p2&&f2.length&&(f2=Ns.intersection(f2,[y1(p2)]))}catch(r3){return console.warn("[cesium-map] vector layer clipping failed",q==null?void 0:q.key,r3),L}return f2.length?Z2(B2({},L),{geometry:{type:"MultiPolygon",coordinates:f2}}):null}function T3(L){if(!(L!=null&&L.clipBounds)||L.clipToLayerBounds===!1)return null;const q=L.clipBounds,F=Math.max(Number(q.west),j1.west),r2=Math.max(Number(q.south),j1.south),p2=Math.min(Number(q.east),j1.east),f2=Math.min(Number(q.north),j1.north);return![F,r2,p2,f2].every(Number.isFinite)||F>=p2||r2>=f2?null:{west:F,south:r2,east:p2,north:f2}}function y1(L){return[[[L.west,L.south],[L.east,L.south],[L.east,L.north],[L.west,L.north],[L.west,L.south]]]}function B1(L,q,F,r2={}){const p2=k2(L.geometry);if(!p2)return[];const f2=S1(q,L.properties||{},r2),r3=G1(p2,L,q,f2);return F.push(...r3),r3}function G1(L,q,F,r2){const p2=window.Cesium,f2=[],r3=N3=>{const K=h.entities.add(N3);return K.__hyFeature=q,K.__hyLayer=F,f2.push(K),K};if(L.type==="Point"){const N3=D(L.coordinates);return!N3||F.hidePointFeatures||F.hidePointMarkers||r3({position:p2.Cartesian3.fromDegrees(N3[0],N3[1],8),point:{pixelSize:r2.pointSize,color:r2.fill,outlineColor:r2.stroke,outlineWidth:2,heightReference:p2.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:F.showPointLabels?s1(q):void 0}),f2}if(L.type==="MultiPoint")return L.coordinates.forEach(N3=>f2.push(...G1({type:"Point",coordinates:N3},q,F,r2))),f2;if(L.type==="LineString"){const N3=T(L.coordinates);return N3.length<2||r3({polyline:{positions:N3,width:r2.lineWidth,material:new p2.PolylineGlowMaterialProperty({glowPower:.16,color:r2.stroke}),clampToGround:!0}}),f2}if(L.type==="MultiLineString")return L.coordinates.forEach(N3=>f2.push(...G1({type:"LineString",coordinates:N3},q,F,r2))),f2;if(L.type==="Polygon"){const N3=e1(L.coordinates);return N3&&(r3({polygon:{hierarchy:N3,material:r2.fill,outline:!1,classificationType:p2.ClassificationType.BOTH}}),D3(L.coordinates,q,F,r2,f2)),f2}return L.type==="MultiPolygon"&&L.coordinates.forEach(N3=>f2.push(...G1({type:"Polygon",coordinates:N3},q,F,r2))),f2}function D3(L,q,F,r2,p2){L.forEach(f2=>{const r3=T(f2);if(r3.length<2)return;const N3=h.entities.add({polyline:{positions:r3,width:r2.lineWidth,material:r2.stroke,depthFailMaterial:r2.stroke,clampToGround:!0}});N3.__hyFeature=q,N3.__hyLayer=F,p2.push(N3)})}function e1(L=[]){const q=window.Cesium,F=T(L[0]||[]);if(F.length<3)return null;const r2=L.slice(1).map(p2=>{const f2=T(p2);return f2.length>=3?new q.PolygonHierarchy(f2):null}).filter(Boolean);return new q.PolygonHierarchy(F,r2)}function s1(L,q){const F=window.Cesium,r2=L.properties||{},p2=r2.name||r2.project_name||r2.title||"";if(p2)return{text:String(p2),font:"600 14px PingFang SC, Microsoft YaHei, sans-serif",fillColor:F.Color.WHITE,outlineColor:F.Color.fromCssColorString("#03121e"),outlineWidth:3,style:F.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new F.Cartesian2(0,-22),heightReference:F.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY,distanceDisplayCondition:new F.DistanceDisplayCondition(0,15e4)}}function S1(L,q,F={}){var K,m2;const r2=window.Cesium,p2=s0(L,q),f2=w1(L.opacity,.84),r3=F.fillColor||(p2==null?void 0:p2.fillColor)||L.fillColor||L.color||"#24F6C4",N3=F.strokeColor||(p2==null?void 0:p2.strokeColor)||L.strokeColor||L.color||"#B7FFF2";return{fill:F1(r2,r3,(K=F.fillAlpha)!=null?K:Math.min(.34,f2*.34)),stroke:F1(r2,N3,(m2=F.strokeAlpha)!=null?m2:Math.max(.72,f2)),lineWidth:F.lineWidth||Math.max(1.6,1.8*Number(i.adminBoundaryLineScale||1)),pointSize:F.pointSize||12}}function F1(L,q,F){try{return L.Color.fromCssColorString(String(q||"#24F6C4")).withAlpha(w1(F,1))}catch(r2){return L.Color.CYAN.withAlpha(w1(F,1))}}function s0(L,q){var F;return L!=null&&L.activeLegend?L.activeLegend:((L==null?void 0:L.legends)||[]).find(r2=>u3(q,r2))||((F=L==null?void 0:L.legends)==null?void 0:F[0])}function G0(L,q){const F=q==null?void 0:q.activeLegend;return F?u3(L,F):!0}function u3(L,q={}){return q.match?z3(L,q.match):Array.isArray(q.matches)?q.matches.some(F=>z3(L,F)):!0}function z3(L,q={}){var F,r2;return String((F=L==null?void 0:L[q.field])!=null?F:"")===String((r2=q.value)!=null?r2:"")}function V3(){if(!h)return;f3(C2);const L=window.Cesium,q={stroke:L.Color.fromCssColorString("#B8FFF8").withAlpha(.94),fill:L.Color.TRANSPARENT,lineWidth:1.65,pointSize:0};(Ci.features||[]).forEach(F=>{const r2=k2(F.geometry);if(!r2)return;const p2=G1(r2,F,{key:"township-boundary",name:"乡镇边界",hidePointFeatures:!0},q);p2.forEach(f2=>{var r3;f2.polygon&&h.entities.remove(f2),f2.polyline&&(f2.__hyBoundaryRole="township",f2.__hyTownName=(r3=F.properties)==null?void 0:r3.name)}),C2.push(...p2.filter(f2=>{var r3;return!((r3=f2.isDestroyed)!=null&&r3.call(f2))&&h.entities.contains(f2)}))}),h.scene.requestRender()}function x1(){if(!h||!a.length)return;f3(U3);const L=window.Cesium;S3(L),a.forEach(q=>{const r2=(Array.isArray(q==null?void 0:q[0])?q[0]:[]).map(D).filter(Boolean);if(r2.length<3)return;const p2=e1(q);if(p2){const N3=h.entities.add({polygon:{hierarchy:p2,material:L.Color.fromCssColorString("#20EAF2").withAlpha(.026),outline:!1,classificationType:L.ClassificationType.BOTH}});U3.push(N3)}const f2=h.entities.add({polyline:{positions:T(r2),width:2.8,material:new L.PolylineGlowMaterialProperty({glowPower:.18,color:L.Color.fromCssColorString("#00E7FF").withAlpha(.24)}),depthFailMaterial:L.Color.fromCssColorString("#00E7FF").withAlpha(.16),clampToGround:!0}});f2.__hyBoundaryRole="county-halo";const r3=h.entities.add({polyline:{positions:T(r2),width:1.45,material:L.Color.fromCssColorString("#8FFFF7").withAlpha(.9),depthFailMaterial:L.Color.fromCssColorString("#8FFFF7").withAlpha(.9),clampToGround:!0}});r3.__hyBoundaryRole="county-outline",U3.push(f2,r3)}),h.scene.requestRender()}function S3(L){const q=y3();let F=[];try{F=Ns.difference([q],a)}catch(r2){console.warn("[cesium-map] county outside mask failed",r2),F=[q]}F.forEach(r2=>{const p2=e1(r2);if(!p2)return;const f2=h.entities.add({polygon:{hierarchy:p2,material:L.Color.fromCssColorString("#020A10").withAlpha(.64),outline:!1,perPositionHeight:!1,heightReference:L.HeightReference.CLAMP_TO_GROUND,classificationType:L.ClassificationType.BOTH,zIndex:1}});U3.push(f2)})}function y3(){const L=j1.west-Fh,q=j1.south-Bh,F=j1.east+Fh,r2=j1.north+Bh;return[[[L,q],[F,q],[F,r2],[L,r2],[L,q]]]}function D2(L,q=!1){const F=(Array.isArray(L)?L:[L]).map(u2=>String(u2||"").trim()).filter(Boolean).slice(0,2),r2=`v13-lightweight-map-badge:${q?"h":"n"}:${F.join("|")}`;if(Y3.has(r2))return Y3.get(r2);const p2=document.createElement("canvas"),f2=p2.getContext("2d");if(!f2)return{image:"",width:1,height:1};const r3=Math.min(3,Math.max(2.5,window.devicePixelRatio||2)),N3="760 13px Microsoft YaHei, PingFang SC, sans-serif",K="700 9px Microsoft YaHei, PingFang SC, sans-serif",m2="800 14px Microsoft YaHei, PingFang SC, sans-serif",R2="600 9px Microsoft YaHei, PingFang SC, sans-serif",q2=L1(F[1]);f2.font=N3;const X3=Math.ceil(f2.measureText(F[0]||"").width);let p1=0;q2&&(f2.font=K,p1+=Math.ceil(f2.measureText(q2.metric).width),f2.font=m2,p1+=Math.ceil(f2.measureText(q2.value).width),f2.font=R2,p1+=Math.ceil(f2.measureText(q2.unit).width),p1+=q2.metric?5:0,p1+=q2.unit?4:0);const B=Math.min(118,Math.max(q2?96:62,X3+20,p1+20)),H=q2?40:25,S=5,E=6,c2=B+E*2,L2=H+S+E*2;p2.width=Math.ceil(c2*r3),p2.height=Math.ceil(L2*r3),p2.style.width=`${c2}px`,p2.style.height=`${L2}px`,f2.scale(r3,r3),f2.clearRect(0,0,c2,L2);const U2=E,J2=E,M3=J2+H,u1=f2.createLinearGradient(U2,J2,U2,M3);u1.addColorStop(0,q?"rgba(8, 58, 70, 0.9)":"rgba(6, 45, 57, 0.78)"),u1.addColorStop(.55,q?"rgba(4, 34, 46, 0.88)":"rgba(3, 29, 41, 0.76)"),u1.addColorStop(1,q?"rgba(2, 22, 32, 0.88)":"rgba(2, 18, 29, 0.78)"),f2.save(),f2.shadowColor="rgba(48, 220, 255, 0.13)",f2.shadowBlur=6,f2.fillStyle=u1,_2(f2,U2,J2,B,H),f2.fill(),f2.restore(),f2.save(),f2.globalCompositeOperation="lighter";const V=f2.createLinearGradient(U2,J2,U2+B,J2);V.addColorStop(0,"rgba(42, 210, 255, 0)"),V.addColorStop(.5,q?"rgba(98, 246, 255, 0.34)":"rgba(98, 246, 255, 0.26)"),V.addColorStop(1,"rgba(42, 210, 255, 0)"),f2.strokeStyle=V,f2.lineWidth=1,f2.beginPath(),f2.moveTo(U2+10,J2+2),f2.lineTo(U2+B-10,J2+2),f2.stroke(),f2.restore(),f2.save(),f2.strokeStyle=q?"rgba(126, 251, 246, 0.58)":"rgba(126, 251, 246, 0.46)",f2.lineWidth=.9,_2(f2,U2+.5,J2+.5,B-1,H-1),f2.stroke(),f2.restore();const w2=U2+B/2;f2.save(),f2.shadowColor="rgba(48, 220, 255, 0.2)",f2.shadowBlur=5,f2.beginPath(),f2.moveTo(w2-5,M3-1),f2.lineTo(w2+5,M3-1),f2.lineTo(w2,M3+S),f2.closePath(),f2.fillStyle=q?"rgba(4, 42, 52, 0.98)":"rgba(3, 31, 43, 0.96)",f2.fill(),f2.strokeStyle=q?"rgba(126, 251, 246, 0.48)":"rgba(126, 251, 246, 0.34)",f2.lineWidth=.8,f2.stroke(),f2.restore(),f2.save(),f2.textAlign="center",f2.textBaseline="alphabetic",f2.fillStyle="rgba(255, 255, 255, 0.98)",f2.strokeStyle="rgba(0, 8, 14, 0.98)",f2.lineJoin="round",f2.shadowColor="rgba(126, 251, 246, 0.34)",f2.shadowBlur=2,f2.font=N3,f2.lineWidth=2;const E2=J2+(q2?12.5:H/2);if(G3(f2,F[0]||"",w2,E2),q2){const u2=J2+29.5;let z2=w2-p1/2;f2.textAlign="left",f2.shadowBlur=0,f2.font=K,f2.lineWidth=1.2,f2.fillStyle="rgba(126, 251, 246, 0.9)",q2.metric&&(G3(f2,q2.metric,z2,u2,{stroke:!1}),f2.font=K,z2+=Math.ceil(f2.measureText(q2.metric).width)+5),f2.font=m2,f2.lineWidth=1.4,f2.fillStyle="#FFFFFF",f2.shadowColor="rgba(48, 220, 255, 0.5)",f2.shadowBlur=5,G3(f2,q2.value,z2,u2),f2.shadowBlur=0,z2+=Math.ceil(f2.measureText(q2.value).width)+(q2.unit?4:0),q2.unit&&(f2.font=R2,f2.fillStyle="rgba(232, 252, 255, 0.76)",G3(f2,q2.unit,z2,u2+1,{stroke:!1}))}f2.restore();const I2={image:p2.toDataURL("image/png"),width:c2,height:L2};return Y3.set(r2,I2),I2}function G3(L,q,F,r2,p2={}){const f2=L.measureText(q),r3=i3(L.font),N3=Number(f2.actualBoundingBoxAscent)||r3*.74,K=Number(f2.actualBoundingBoxDescent)||r3*.18,m2=r2+(N3-K)/2;p2.stroke!==!1&&L.lineWidth>0&&L.strokeText(q,F,m2),L.fillText(q,F,m2)}function i3(L){const q=String(L||"").match(/(\d+(?:\.\d+)?)px/);return q?Number(q[1]):14}function L1(L){const q=String(L||"").trim();if(!q)return null;const F=q.match(/^(.+?)\s+([+-]?\d[\d,.]*)(.*)$/u);if(F)return{metric:F[1].trim(),value:F[2].trim(),unit:F[3].trim()};const r2=q.match(/^(.*?)([+-]?\d[\d,.]*)([\u4e00-\u9fa5A-Za-z/%]+)?$/u);return r2?{metric:r2[1].trim(),value:r2[2].trim(),unit:(r2[3]||"").trim()}:{metric:"",value:q,unit:""}}function _2(L,q,F,r2,p2){const f2=Math.min(7,r2*.12,p2*.34);L.beginPath(),L.moveTo(q+f2,F),L.lineTo(q+r2-f2,F),L.lineTo(q+r2,F+f2),L.lineTo(q+r2,F+p2-f2),L.lineTo(q+r2-f2,F+p2),L.lineTo(q+f2,F+p2),L.lineTo(q,F+p2-f2),L.lineTo(q,F+f2),L.closePath()}function n3(){if(!h)return;f3(K2);const L=window.Cesium,q=i.mapRanking||{},F=Array.isArray(q.rows)?q.rows:[],r2=new Map(F.map(f2=>[T1(f2.name),f2]));q.showTownNames!==!1&&q.hideTownNames!==!0&&a9.forEach(f2=>{const r3=r2.get(T1(f2.name)),N3=[f2.name];if(r3&&q.showMapLabels!==!1){const q2=q.metricLabel?`${q.metricLabel} `:"";N3.push(`${q2}${N1(r3.value)}${r3.unit||q.unit||""}`)}const K=D(f2.center);if(!K)return;const m2=D2(N3,!!r3),R2=h.entities.add({position:L.Cartesian3.fromDegrees(K[0],K[1],18),billboard:{image:m2.image,width:m2.width,height:m2.height,scale:1,verticalOrigin:L.VerticalOrigin.BOTTOM,horizontalOrigin:L.HorizontalOrigin.CENTER,pixelOffset:new L.Cartesian2(0,-4),heightReference:L.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY,scaleByDistance:new L.NearFarScalar(2e4,.94,36e4,.8),distanceDisplayCondition:new L.DistanceDisplayCondition(0,42e4)}});R2.__hyTownName=f2.name,R2.__hyRankingRow=r3||null,K2.push(R2)}),F.filter(f2=>W(f2)).forEach(f2=>{const r3=W(f2),N3=h.entities.add({position:L.Cartesian3.fromDegrees(r3[0],r3[1],16),point:{pixelSize:9,color:L.Color.fromCssColorString("#35F3FF"),outlineColor:L.Color.WHITE,outlineWidth:2,heightReference:L.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY},label:q.showPointMarkers===!1?void 0:{text:String(f2.name||""),font:"600 12px PingFang SC, Microsoft YaHei, sans-serif",fillColor:L.Color.WHITE,outlineColor:L.Color.fromCssColorString("#03121e"),outlineWidth:3,style:L.LabelStyle.FILL_AND_OUTLINE,pixelOffset:new L.Cartesian2(0,-18),heightReference:L.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}});N3.__hyTownName=f2.name,N3.__hyRankingRow=f2,K2.push(N3)}),h.scene.requestRender()}function I3(){if(!h)return;const L=window.Cesium;p=new L.ScreenSpaceEventHandler(h.scene.canvas),p.setInputAction(q=>P3(this,null,function*(){var m2,R2;const F=F3(q.position);if(!F)return;const r2=L.Cartographic.fromCartesian(F),p2={lng:L.Math.toDegrees(r2.longitude),lat:L.Math.toDegrees(r2.latitude),height:r2.height},f2=Z(q.position);if(l2){ht(p2);return}r("map-click",{lngLat:p2,screen:f2,overlayLayer:m.value[0]||null});const r3=h.scene.pick(q.position),N3=r3==null?void 0:r3.id;if(N3!=null&&N3.__hyTownName&&Q0(N3.__hyTownName))return;const K=A0(p2);if(!(K&&Q0((m2=K.properties)==null?void 0:m2.name))){if(N3!=null&&N3.__hyFeature){Z3(N3),r("feature-info",{feature:{id:N3.__hyFeature.id,properties:N3.__hyFeature.properties||{},feature:N3.__hyFeature,layer:N3.__hyLayer,lngLat:p2},screen:f2});return}if(T2.length){r("feature-loading",!0);try{const q2=h.camera.getPickRay(q.position),X3=yield h.imageryLayers.pickImageryLayerFeatures(q2,h.scene),p1=X3==null?void 0:X3[0];if(p1){const B=T2.find(S=>{var E;return S.imageryProvider===((E=p1.imageryLayer)==null?void 0:E.imageryProvider)})||T2[T2.length-1],H=p1.properties||((R2=p1.data)==null?void 0:R2.properties)||p1.data||{};r("feature-info",{feature:{id:H.id||H.fid||p1.name,properties:H,feature:p1,layer:(B==null?void 0:B.__hyLayer)||m.value[0],lngLat:p2},screen:f2})}else r("feature-info",{feature:null,screen:f2})}catch(q2){r("feature-info",{feature:null,screen:f2})}finally{r("feature-loading",!1)}}}}),L.ScreenSpaceEventType.LEFT_CLICK)}function F3(L){if(!h)return null;const q=h.camera.getPickRay(L);return q?h.scene.globe.pick(q,h.scene):null}function Z3(L){var q,F,r2,p2,f2;t1(),j=L,L.point&&(L.__hyOriginalPointSize=L.point.pixelSize,L.point.pixelSize=18),(q=L.__hyFeature)!=null&&q.geometry&&["Polygon","MultiPolygon","LineString","MultiLineString"].includes(L.__hyFeature.geometry.type)&&d0(L.__hyFeature,{townName:L.__hyTownName||((r2=(F=L.__hyFeature)==null?void 0:F.properties)==null?void 0:r2.name),mode:"feature"}),(f2=(p2=h==null?void 0:h.scene)==null?void 0:p2.requestRender)==null||f2.call(p2)}function t1(){var L,q;j!=null&&j.point&&j.__hyOriginalPointSize&&(j.point.pixelSize=j.__hyOriginalPointSize),j=null,f3(s3),(q=(L=h==null?void 0:h.scene)==null?void 0:L.requestRender)==null||q.call(L)}function d0(L,q={}){if(!h||!(L!=null&&L.geometry))return[];const F=B1(L,{key:"selected-feature-overlay",opacity:1},s3,{fillColor:q.mode==="town"?"#30DCFF":"#FF3B4D",strokeColor:q.mode==="town"?"#F2FFFF":"#FFECEC",fillAlpha:q.mode==="town"?.16:.2,strokeAlpha:.98,lineWidth:q.mode==="town"?4.2:4.8,pointSize:0});return F.forEach(r2=>{var p2;r2.__hyFeature=null,r2.__hyLayer=null,r2.__hyTownName=q.townName||((p2=L.properties)==null?void 0:p2.name)||"",r2.__hySelectedOverlay=!0,r2.polyline&&(r2.polyline.width=q.mode==="town"?4.2:4.8,r2.polyline.clampToGround=!0),r2.polygon&&(r2.polygon.classificationType=window.Cesium.ClassificationType.BOTH)}),F}function K1(L){const q=T1(L);return q&&(Ci.features||[]).find(F=>{var r2;return T1((r2=F==null?void 0:F.properties)==null?void 0:r2.name)===q})||null}function c0(){var L,q;return((L=i.mapRanking)==null?void 0:L.scope)==="town"&&Array.isArray((q=i.mapRanking)==null?void 0:q.rows)&&i.mapRanking.rows.length>0}function oe(L){var F;if(!c0())return!1;const q=T1(L);return(((F=i.mapRanking)==null?void 0:F.rows)||[]).some(r2=>T1(r2.name)===q)}function A0(L){return c0()&&(Ci.features||[]).find(q=>{var r2;const F=(r2=q==null?void 0:q.properties)==null?void 0:r2.name;return oe(F)&&x2(L,k2(q==null?void 0:q.geometry))})||null}function Q0(L,q={}){var r2,p2,f2,r3;if(!c0()||!oe(L))return!1;const F=K1(L);return F?(t1(),d0(F,{mode:"town",townName:((r2=F.properties)==null?void 0:r2.name)||L}),q.emitFeatureInfo!==!1&&r("feature-info",{feature:null}),q.emitStatus!==!1&&r("layer-status",{type:"success",text:`已选中${((p2=F.properties)==null?void 0:p2.name)||L}`}),(r3=(f2=h==null?void 0:h.scene)==null?void 0:f2.requestRender)==null||r3.call(f2),!0):!1}function Ue(L,q={}){const F=a9.find(p2=>T1(p2.name)===T1(L)),r2=D(F==null?void 0:F.center);return r2?(q.select&&Q0(L,{emitFeatureInfo:!1,emitStatus:!1}),y(r2,42e3),{screen:a2(r2)}):null}function $e(L){const q=t2(F=>{const r2=F.properties||{};return[r2.name,r2.project_name,r2.projectName,r2.title].some(p2=>String(p2||"")===String(L||""))});return q?(h.flyTo(q,{duration:.9,offset:M(18e3)}),Z3(q),q):null}function f0(L={}){const q=W(L);let F=t2(r2=>J(r2,L));return F?(Z3(F),h.flyTo(F,{duration:.9,offset:M(16e3)})):q&&y(q,16e3),{feature:(F==null?void 0:F.__hyFeature)||null,screen:Oe(L)}}function ct(L={}){const q=t2(F=>J(F,L));return q?(Z3(q),h.flyTo(q,{duration:.9,offset:M(18e3)}),{feature:q.__hyFeature,screen:q1(q.__hyFeature)}):null}function q1(L){var F;const q=a3(k2((L==null?void 0:L.geometry)||((F=L==null?void 0:L.feature)==null?void 0:F.geometry)));return q?a2(q):null}function Oe(L={}){var p2,f2;const q=W(L);if(q)return a2(q);const F=t2(r3=>J(r3,L)),r2=(f2=(p2=F==null?void 0:F.position)==null?void 0:p2.getValue)==null?void 0:f2.call(p2,window.Cesium.JulianDate.now());return r2?Z(window.Cesium.SceneTransforms.wgs84ToWindowCoordinates(h.scene,r2)):null}function Et(L={}){var r2,p2;dt();const q=Y(L.grasslands||L);L.locateOnly||(q.forEach(f2=>{B1(f2,{key:"pasture-focus-glow",name:L.name||"选中草场"},V2,{fillColor:"#30DCFF",strokeColor:"#30DCFF",fillAlpha:.1,strokeAlpha:.58,lineWidth:8.2}),B1(f2,{key:"pasture-focus",name:L.name||"选中草场"},V2,{fillColor:"#FFCB45",strokeColor:"#FFF4B8",fillAlpha:.18,strokeAlpha:1,lineWidth:4.6})}),(Array.isArray(L.yakMarks)?L.yakMarks:[]).forEach((f2,r3)=>{const N3=W(f2);N3&&B1({type:"Feature",id:f2.id||r3,properties:B2({},f2),geometry:{type:"Point",coordinates:N3}},{key:"pasture-focus-yak",name:"牦牛识别"},V2,{fillColor:"#FFCB45",strokeColor:"#FFF4B8",pointSize:11})}));const F=v3(q);return F&&b(F,.9),(p2=(r2=h==null?void 0:h.scene)==null?void 0:r2.requestRender)==null||p2.call(r2),!!q.length}function dt(){var L,q;f3(V2),(q=(L=h==null?void 0:h.scene)==null?void 0:L.requestRender)==null||q.call(L)}function ft(){t1()}function Le(L){l2=!!L,l2||(v2=[]),d(),r("draw-boundary",{status:l2?"drawing":"clear",pointCount:v2.length,points:v2})}function ht(L){v2.push([L.lng,L.lat]),d(),r("draw-boundary",{status:"drawing",pointCount:v2.length,points:v2})}function tt(){v2.pop(),d(),r("draw-boundary",{status:"drawing",pointCount:v2.length,points:v2})}function O(){if(v2.length<3)return null;const L=[...v2,v2[0]],q={type:"Feature",properties:{source:"drawn"},geometry:{type:"Polygon",coordinates:[L]}};return l2=!1,v2=[],f3(m3),B1(q,{key:"analysis-boundary",name:"分析边界"},m3,{fillColor:"#24F6C4",strokeColor:"#B7FFF2",fillAlpha:.12,strokeAlpha:1,lineWidth:3}),r("draw-boundary",{status:"complete",pointCount:0,points:[],feature:q}),q}function N(){var L,q;l2=!1,v2=[],f3(m3),f3(p3),r("draw-boundary",{status:"clear",pointCount:0,points:[]}),(q=(L=h==null?void 0:h.scene)==null?void 0:L.requestRender)==null||q.call(L)}function d(){if(!h)return;const L=window.Cesium;f3(m3),v2.forEach(q=>{m3.push(h.entities.add({position:L.Cartesian3.fromDegrees(q[0],q[1],12),point:{pixelSize:10,color:L.Color.fromCssColorString("#24F6C4"),outlineColor:L.Color.WHITE,outlineWidth:2,heightReference:L.HeightReference.CLAMP_TO_GROUND,disableDepthTestDistance:Number.POSITIVE_INFINITY}}))}),v2.length>1&&m3.push(h.entities.add({polyline:{positions:T(v2),width:3,material:L.Color.fromCssColorString("#24F6C4"),clampToGround:!0}})),h.scene.requestRender()}function f(L={}){var F,r2,p2,f2;f3(p3);const q=((F=L.boundary)==null?void 0:F.type)==="Feature"||(r2=L.boundary)!=null&&r2.geometry?L.boundary:null;if(q&&B1(q,{key:"analysis-result-boundary"},p3,{fillColor:"#24F6C4",strokeColor:"#B7FFF2",fillAlpha:.1,lineWidth:3}),(Array.isArray(L.matches)?L.matches:[]).forEach(r3=>{const N3=(r3==null?void 0:r3.type)==="Feature"?r3:(r3==null?void 0:r3.feature)||null;N3&&B1(N3,{key:"analysis-result-feature"},p3,{fillColor:"#30DCFF",strokeColor:"#C9FBFF",fillAlpha:.1,lineWidth:2.6})}),!L.preserveView){const r3=[q,...L.matches||[]].filter(Boolean),N3=v3(r3);N3&&b(N3,.9)}(f2=(p2=h==null?void 0:h.scene)==null?void 0:p2.requestRender)==null||f2.call(p2)}function y(L,q=22e3,F=.9){if(!h||!L)return;const r2=window.Cesium,p2=r2.Cartesian3.fromDegrees(L[0],L[1],3600);h.camera.flyToBoundingSphere(new r2.BoundingSphere(p2,1),{offset:M(q),duration:F})}function b(L,q=.9){if(!h||!L)return;const F=window.Cesium,r2=[(Number(L.west)+Number(L.east))/2,(Number(L.south)+Number(L.north))/2];if(!r2.every(Number.isFinite))return;const p2=Math.max(Math.abs(Number(L.east)-Number(L.west)),Math.abs(Number(L.north)-Number(L.south))),f2=Math.max(18e3,Math.min(16e4,p2*135e3)),r3=F.Cartesian3.fromDegrees(r2[0],r2[1],2600);h.camera.flyToBoundingSphere(new F.BoundingSphere(r3,1),{offset:M(f2),duration:q})}function _(L){if(!h||!L)return;const q=L.mapView||(L.cameraPosition?{cameraPosition:L.cameraPosition}:null);if(!q)return;const F=window.Cesium,r2=Number.isFinite(Number(q.duration))?Number(q.duration):.9,p2=D(q.targetLngLat);if(p2){const f2=$2(i.initialZoom),r3=Number.isFinite(Number(q.distanceScale))?Number(q.distanceScale):1,N3=Math.max(18e3,Math.min(56e4,f2*r3)),K=Number.isFinite(Number(q.targetHeight))?Number(q.targetHeight):2600,m2=Number.isFinite(Number(q.heading))?Number(q.heading):Lh,R2=Number.isFinite(Number(q.pitch))?Number(q.pitch):Ih,q2=F.Cartesian3.fromDegrees(p2[0],p2[1],K);h.camera.flyToBoundingSphere(new F.BoundingSphere(q2,1),{offset:new F.HeadingPitchRange(F.Math.toRadians(m2),F.Math.toRadians(R2),N3),duration:r2});return}q.bounds&&b(q.bounds,r2)}function M(L){const q=window.Cesium;return new q.HeadingPitchRange(q.Math.toRadians(Lh),q.Math.toRadians(Ih),L)}function a2(L){if(!h||!L)return null;const q=window.Cesium,F=q.Cartesian3.fromDegrees(L[0],L[1],16);return Z(q.SceneTransforms.wgs84ToWindowCoordinates(h.scene,F))}function Z(L){if(!L||!o.value)return null;const q=Math.max(1,o.value.clientWidth),F=Math.max(1,o.value.clientHeight);return{x:Number(L.x)/q*1920,y:Number(L.y)/F*1080}}function t2(L){return[...j2,...V2].find(q=>q.__hyFeature&&L(q.__hyFeature))||null}function J(L,q={}){const F=(L==null?void 0:L.properties)||{},r2=[q.id,q.key,q.featureId,q.projectId].filter(m2=>m2!=null&&m2!=="").map(String),p2=[L.id,F.id,F.key,F.feature_id,F.project_id].filter(m2=>m2!=null&&m2!=="").map(String);if(r2.some(m2=>p2.includes(m2)))return!0;const f2=[q.name,q.fullName,q.projectName].filter(Boolean).map(String),r3=[F.name,F.fullName,F.project_name,F.projectName].filter(Boolean).map(String);if(f2.some(m2=>r3.includes(m2)))return!0;const N3=W(q),K=W(Z2(B2({},F),{geometry:L.geometry}));return!!(N3&&K&&Math.abs(N3[0]-K[0])<2e-5&&Math.abs(N3[1]-K[1])<2e-5)}function Y(L){return(Array.isArray(L)?L:(L==null?void 0:L.grasslands)||(L==null?void 0:L.features)||(L==null?void 0:L.rows)||(L==null?void 0:L.list)||(L?[L]:[])).map((F,r2)=>{var f2,r3;if((F==null?void 0:F.type)==="Feature")return F;const p2=k2(F==null?void 0:F.geometry)||y2(G2(F));return p2?{type:"Feature",id:(r3=(f2=F==null?void 0:F.id)!=null?f2:F==null?void 0:F.grasslandId)!=null?r3:r2,properties:B2({},F),geometry:p2}:null}).filter(Boolean)}function k2(L){if(!L)return null;if(L.type==="Feature")return k2(L.geometry);if(L.type&&Array.isArray(L.coordinates))return L;if(typeof L=="string"){const q=L.trim();if(!q)return null;if(q.startsWith("{")||q.startsWith("["))try{return k2(JSON.parse(q))}catch(F){return null}return y2(q)}return null}function y2(L){const F=String(L||"").trim().replace(/^SRID=\d+;/i,"").match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*(\(.+\))$/i);if(!F)return null;const r2=F[1].toUpperCase(),p2=F[2];return r2==="POINT"?{type:"Point",coordinates:o2(p2)}:r2==="MULTIPOINT"?{type:"MultiPoint",coordinates:n2(p2).map(o2).filter(Boolean)}:r2==="LINESTRING"?{type:"LineString",coordinates:d2(p2)}:r2==="MULTILINESTRING"?{type:"MultiLineString",coordinates:n2(p2).map(d2).filter(f2=>f2.length)}:r2==="POLYGON"?{type:"Polygon",coordinates:F2(p2)}:r2==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:n2(p2).map(F2).filter(f2=>f2.length)}:null}function o2(L){const q=String(L||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return q.length===2&&q.every(Number.isFinite)?q:null}function d2(L){return String(L||"").replace(/^\(+|\)+$/g,"").split(",").map(o2).filter(Boolean)}function F2(L){return n2(L).map(d2).filter(q=>q.length>=3)}function n2(L){const q=String(L||"").trim(),F=q.startsWith("(")&&q.endsWith(")")?q.slice(1,-1):q,r2=[];let p2=0,f2=-1;return Array.from(F).forEach((r3,N3)=>{r3==="("?(p2===0&&(f2=N3),p2+=1):r3===")"&&(p2-=1,p2===0&&f2>=0&&(r2.push(F.slice(f2,N3+1)),f2=-1))}),r2.length?r2:[F]}function T(L=[]){const q=window.Cesium;return L.map(D).filter(Boolean).map(F=>q.Cartesian3.fromDegrees(F[0],F[1],8))}function D(L){if(!Array.isArray(L)||L.length<2)return null;const q=Number(L[0]),F=Number(L[1]);return Number.isFinite(q)&&Number.isFinite(F)?[q,F]:null}function W(L={}){const q=k2(L.geometry);return(q==null?void 0:q.type)==="Point"?D(q.coordinates):[[L.longitude,L.latitude],[L.lng,L.lat],[L.lon,L.lat],[L.x,L.y],L.point,L.center,L.centroid,L.coordinates].map(D).find(Boolean)||null}function x2(L,q){return!L||!(q!=null&&q.coordinates)?!1:q.type==="Polygon"?N2(L,q.coordinates):q.type==="MultiPolygon"?q.coordinates.some(F=>N2(L,F)):!1}function N2(L,q=[]){return!q.length||!Y2(L,q[0])?!1:!q.slice(1).some(F=>Y2(L,F))}function Y2(L,q=[]){if(q.length<3)return!1;const F=Number(L.lng),r2=Number(L.lat);if(!Number.isFinite(F)||!Number.isFinite(r2))return!1;let p2=!1;for(let f2=0,r3=q.length-1;f2r2!=X3>r2&&F<(q2-m2)*(r2-R2)/(X3-R2)+m2&&(p2=!p2)}return p2}function W2(L,q,F,r2,p2,f2){const r3=(L-F)*(f2-r2)-(q-r2)*(p2-F);return Math.abs(r3)>1e-10?!1:(L-F)*(L-p2)+(q-r2)*(q-f2)<=1e-10}function a3(L){if(!L)return null;if(L.type==="Point")return D(L.coordinates);const q=[];return w3(L.coordinates,q),q.length?[q.reduce((F,r2)=>F+r2[0],0)/q.length,q.reduce((F,r2)=>F+r2[1],0)/q.length]:null}function w3(L,q){const F=D(L);if(F&&!Array.isArray(L[0])){q.push(F);return}Array.isArray(L)&&L.forEach(r2=>w3(r2,q))}function v3(L=[]){const q=[];if(L.forEach(r3=>{var K;const N3=k2((r3==null?void 0:r3.geometry)||((K=r3==null?void 0:r3.feature)==null?void 0:K.geometry)||r3);N3&&w3(N3.coordinates,q)}),!q.length)return null;const F=q.map(r3=>r3[0]),r2=q.map(r3=>r3[1]),p2=Math.max(.006,(Math.max(...F)-Math.min(...F))*.18),f2=Math.max(.006,(Math.max(...r2)-Math.min(...r2))*.18);return{west:Math.max(j1.west,Math.min(...F)-p2),south:Math.max(j1.south,Math.min(...r2)-f2),east:Math.min(j1.east,Math.max(...F)+p2),north:Math.min(j1.north,Math.max(...r2)+f2)}}function f3(L){if(!h){L.length=0;return}L.splice(0).forEach(q=>h.entities.remove(q))}function v1(){T2.splice(0).forEach(L=>{var q,F;return(F=(q=h==null?void 0:h.imageryLayers)==null?void 0:q.remove)==null?void 0:F.call(q,L,!0)}),f3(j2),t1()}function a1(){var L,q,F;U+=1,(L=g==null?void 0:g.disconnect)==null||L.call(g),g=null,C==null||C(),C=null,(q=p==null?void 0:p.destroy)==null||q.call(p),p=null,v1(),f3(b3),f3(U3),f3(C2),f3(K2),f3(V2),f3(m3),f3(p3),h&&!((F=h.isDestroyed)!=null&&F.call(h))&&h.destroy(),h=null,S2=null,u.value=null,s.value&&s.value.replaceChildren()}function w1(L,q=1){const F=Number(L);return Number.isFinite(F)?Math.max(0,Math.min(1,F)):q}function T1(L){return String(L||"").trim().replace(/(镇|乡)$/,"")}function N1(L){const q=Number(L);return Number.isFinite(q)?Number.isInteger(q)?String(q):String(Number(q.toFixed(2))):"--"}return e({loadMap:h3,hasMap:x3,play:L3,resume:h1,pause:C1,refreshView:_1,resetView:o1,destroyMap:a1,clearSelectedFeature:t1,clearFloatingOverlays:ft,focusProject:$e,focusPasture:Et,clearPastureFocus:dt,focusTown:Ue,focusYakIndustryPoint:f0,focusVectorFeature:ct,getVectorFeatureScreen:q1,getYakIndustryPointScreen:Oe,setBoundaryDrawing:Le,finishBoundaryDrawing:O,undoBoundaryPoint:tt,clearAnalysisBoundary:N,showAnalysisResult:f,canvasMap:u}),(L,q)=>(G(),z("div",{ref_key:"containerRef",ref:o,class:"cesium-map"},[w("div",{ref_key:"viewerRef",ref:s,class:"cesium-map__viewer"},null,512)],512))}},P7=S7($I,[["__scopeId","data-v-ac1e6231"]]);const WI={key:0,class:"layer-panel-list"},VI=["onClick"],HI=["onClick"],KI={key:0,class:"layer-panel-empty"},qI={class:"layer-panel-legend"},JI=["disabled","title","onClick"],QI={class:"legend-name"},XI={key:0,class:"legend-check"},ZI={key:1,class:"layer-panel-empty is-legend"},Mr={__name:"LayerPanel",props:{topicKey:{type:String,required:!0},modelValue:{type:[String,Array],default:""},legends:{type:Array,default:()=>[]},selectedLegendKey:{type:String,default:""},height:{type:Number,default:0},width:{type:Number,default:232},layers:{type:Array,default:null},overlayLayers:{type:Array,default:()=>[]},overlayKeys:{type:Array,default:()=>[]},legendOnly:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},compact:{type:Boolean,default:!1}},emits:["update:modelValue","update:selectedLegendKey","update:overlayKeys"],setup(t,{emit:e}){const n=t,a=e,i=s2(()=>Array.isArray(n.layers)?n.layers:y8(n.topicKey)),r=s2(()=>Array.isArray(n.overlayLayers)?n.overlayLayers:[]),o=s2(()=>Array.isArray(n.legends)?n.legends:[]),s=s2(()=>Array.isArray(n.modelValue)?n.modelValue.map(String).filter(Boolean):n.modelValue?[String(n.modelValue)]:[]),u=s2(()=>Array.isArray(n.overlayKeys)?n.overlayKeys.map(String).filter(Boolean):[]),m=s2(()=>o.value.filter(S2).length>1),h=s2(()=>o.value.length===1),p=s2(()=>n.legendOnly?"图例":n.compact?"图层":"图层控制"),g=s2(()=>{const C2=n.legendOnly?0:i.value.length+r.value.length,j2=Math.ceil(o.value.length/2),K2=C2?C2*32:30,V2=o.value.length?24+Math.max(28,j2*28):28;return Math.max(132,Math.min(224,48+K2+V2))}),C=s2(()=>n.compact?n.height||g.value:n.height?n.height:430);function I(C2,j2){var K2,V2;if((V2=(K2=C2.currentTarget)==null?void 0:K2.blur)==null||V2.call(K2),n.multiple){const s3=new Set(s.value);s3.has(j2)?s3.delete(j2):s3.add(j2),a("update:modelValue",Array.from(s3));return}a("update:modelValue",n.modelValue===j2?"":j2)}function U(C2){return s.value.includes(String(C2))}function j(C2,j2){var V2,s3;(s3=(V2=C2.currentTarget)==null?void 0:V2.blur)==null||s3.call(V2);const K2=new Set(u.value);K2.has(j2)?K2.delete(j2):K2.add(j2),a("update:overlayKeys",Array.from(K2))}function l2(C2){return u.value.includes(String(C2))}function v2(C2,j2){var K2,V2;(V2=(K2=C2.currentTarget)==null?void 0:K2.blur)==null||V2.call(K2),T2(j2)&&a("update:selectedLegendKey",n.selectedLegendKey===j2.key?"":j2.key)}function S2(C2){return(C2==null?void 0:C2.selectable)===!1?!1:!!(C2!=null&&C2.key&&(C2.cqlFilter||C2.rankingValueKey))}function T2(C2){return m.value&&S2(C2)}return(C2,j2)=>(G(),J0(l0,{title:p.value,width:t.width,height:C.value},{default:e0(()=>[w("div",{class:r1(["layer-panel",{"is-legend-only":t.legendOnly,"is-compact":t.compact}])},[t.legendOnly?k3("",!0):(G(),z("div",WI,[(G(!0),z(B3,null,H3(i.value,K2=>(G(),z("button",{key:K2.key,class:r1(["layer-panel-item",{"is-active":U(K2.key),"is-checked":U(K2.key)}]),type:"button",onMousedown:j2[0]||(j2[0]=_0(()=>{},["prevent"])),onClick:V2=>I(V2,K2.key)},[w("span",null,i2(K2.name),1),j2[3]||(j2[3]=w("i",null,null,-1))],42,VI))),128)),(G(!0),z(B3,null,H3(r.value,K2=>(G(),z("button",{key:K2.key,class:r1(["layer-panel-item is-overlay",{"is-active":l2(K2.key),"is-checked":l2(K2.key)}]),type:"button",onMousedown:j2[1]||(j2[1]=_0(()=>{},["prevent"])),onClick:V2=>j(V2,K2.key)},[w("span",null,i2(K2.name),1),j2[4]||(j2[4]=w("i",null,null,-1))],42,HI))),128)),!i.value.length&&!r.value.length?(G(),z("div",KI,"暂无图层配置")):k3("",!0)])),w("div",qI,[j2[5]||(j2[5]=w("div",{class:"layer-panel-section-title"},"图例",-1)),o.value.length?(G(),z("div",{key:0,class:r1(["layer-panel-legend-grid",{"is-single":h.value}])},[(G(!0),z(B3,null,H3(o.value,K2=>(G(),z("button",{key:K2.key||K2.name,class:r1(["layer-panel-legend-row",{"is-selected":T2(K2)&&K2.key===t.selectedLegendKey,"is-checkable":T2(K2),"is-disabled":!T2(K2)}]),type:"button",disabled:!T2(K2),title:K2.name,onMousedown:j2[2]||(j2[2]=_0(()=>{},["prevent"])),onClick:V2=>v2(V2,K2)},[w("span",{class:"legend-swatch",style:z1({backgroundColor:K2.fillColor,borderColor:K2.strokeColor||K2.fillColor})},null,4),w("span",QI,i2(K2.name),1),T2(K2)?(G(),z("i",XI)):k3("",!0)],42,JI))),128))],2)):(G(),z("div",ZI,"暂无图例"))])],2)]),_:1},8,["title","width","height"]))}};const eF={class:"grassland-ndvi-timeline-head"},tF={key:0,class:"grassland-ndvi-timeline-state"},nF={key:1,class:"grassland-ndvi-timeline-state"},aF={key:2,class:"grassland-ndvi-timeline-body"},iF=["aria-checked","title","onClick"],rF={class:"grassland-ndvi-timeline-label"},oF=42,sF=28,lF={__name:"GrasslandNdviTimeline",props:{items:{type:Array,default:()=>[]},modelValue:{type:String,default:""},loading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,a=e,i=s2(()=>n.items.findIndex(v2=>v2.key===n.modelValue)),r=s2(()=>i.value===-1?Math.max(0,n.items.length-1):i.value),o=s2(()=>n.items[r.value]||null),s=s2(()=>n.loading?"加载中":"未选择"),u=s2(()=>n.items.length>7),m=s2(()=>u.value?sF:oF),h=s2(()=>U(r.value)),p=s2(()=>j(r.value));function g(v2){if(!n.items.length)return;const S2=Math.min(n.items.length-1,Math.max(0,r.value+v2));a("update:modelValue",n.items[S2].key)}function C(v2){!v2||v2.key===n.modelValue||a("update:modelValue",v2.key)}function I(v2){return!n.items.length||v2<0?0:n.items.length===1?.5:v2/(n.items.length-1)}function U(v2){const S2=I(v2),T2=l2(S2*100),C2=m.value*(1-S2*2);return`calc(${T2}% ${C2<0?"-":"+"} ${l2(Math.abs(C2))}px)`}function j(v2){const S2=I(v2);return S2<=0?"0px":`calc(${l2(S2*100)}% - ${l2(m.value*2*S2)}px)`}function l2(v2){return Number(v2.toFixed(4)).toString()}return(v2,S2)=>{var T2;return G(),z("div",{class:r1(["grassland-ndvi-timeline",{"is-dense":u.value}])},[w("div",eF,[S2[2]||(S2[2]=w("span",null,"草地健康/退化",-1)),w("strong",null,i2(((T2=o.value)==null?void 0:T2.label)||s.value),1)]),t.loading?(G(),z("div",tF,"加载月份数据")):t.items.length?(G(),z("div",aF,[w("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"上一期",onClick:S2[0]||(S2[0]=C2=>g(-1))},"‹"),w("div",{class:"grassland-ndvi-timeline-track",style:z1({"--timeline-active-left":h.value,"--timeline-fill-width":p.value,"--timeline-edge-offset":`${m.value}px`}),role:"radiogroup","aria-label":"草地健康退化月份"},[S2[4]||(S2[4]=w("div",{class:"grassland-ndvi-timeline-line"},null,-1)),S2[5]||(S2[5]=w("div",{class:"grassland-ndvi-timeline-fill"},null,-1)),S2[6]||(S2[6]=w("div",{class:"grassland-ndvi-timeline-thumb"},[w("i")],-1)),(G(!0),z(B3,null,H3(t.items,(C2,j2)=>{var K2,V2;return G(),z("button",{key:C2.key,class:r1(["grassland-ndvi-timeline-mark",{"is-active":C2.key===((K2=o.value)==null?void 0:K2.key),"is-past":j2<=r.value,"is-staggered":u.value&&j2%2===1}]),type:"button",role:"radio","aria-checked":C2.key===((V2=o.value)==null?void 0:V2.key),style:z1({left:U(j2)}),title:C2.date,onClick:s3=>C(C2)},[S2[3]||(S2[3]=w("span",{class:"grassland-ndvi-timeline-tick"},null,-1)),w("span",rF,i2(C2.label),1)],14,iF)}),128))],4),w("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"下一期",onClick:S2[1]||(S2[1]=C2=>g(1))},"›")])):(G(),z("div",nF,"暂无月份数据"))],2)}}},uF=S7(lF,[["__scopeId","data-v-86212a95"]]);const cF={class:"forest-grass-wet"},dF={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},fF={class:"fgw-left"},hF={class:"fgw-side-stack is-left"},mF={class:"fgw-right"},pF={class:"fgw-side-stack is-right"},gF={key:1,class:"fgw-ndvi-timeline"},yF={class:"fgw-bottom-topic"},vF={key:0,class:"loading"},SF={class:"loading-progress"},wF={class:"value"},bF={__name:"index",props:{showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["topic-stats"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Q2(null),o=Q2(g8[0].key),s=Q2(""),u=Q2([]),m=Q2("idle"),h=Q2(!1),p=Q2({title:"业务统计",rows:[]}),g=Q2({title:"业务统计",rows:[]}),C=Q2([]),I=Q2([]),U=Q2(null),j=Q2(""),l2=Q2(null),v2=Q2(!1),S2=Q2(!1),T2=Q2(null),C2=Q2(0),j2=Q2(a.showLoading),K2=Q2([]),V2=Q2("idle"),s3=Q2(""),m3=Q2({type:"idle",text:"等待 GeoServer 图层加载"});let p3=null,U3=!1,b3=!1,Y3=!1,o3=null,n1=0,b1=0,W3=0,R1=!1,D1=!1;const Y1=new Set(["grassland-distribution","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]);s2(()=>jf(o.value));const h3=s2(()=>y8(o.value)),x3=s2(()=>s.value?e9(o.value,s.value):null),L3=s2(()=>o.value==="grassland"&&s.value==="grassland-health"),h1=s2(()=>L3.value),C1=s2(()=>K2.value.find(D2=>D2.key===s3.value)||null),_1=s2(()=>{var D2;return(((D2=x3.value)==null?void 0:D2.legends)||[]).find(G3=>G3.key===j.value)||null}),o1=s2(()=>{var D2;return((D2=x3.value)==null?void 0:D2.legends)||[]}),l3=s2(()=>o.value!=="overview"&&h3.value.length<=6&&o1.value.length<=8),$2=s2(()=>{if(!l3.value)return 430;const D2=Math.max(1,h3.value.length),G3=Math.max(1,Math.ceil(o1.value.length/2)),i3=D2*32,L1=24+G3*28;return Math.max(228,Math.min(390,48+i3+L1))}),j3=s2(()=>{var L1;const D2=x3.value;if(!D2)return null;let G3=(L1=_1.value)!=null&&L1.cqlFilter?Z2(B2({},D2),{cqlFilter:_1.value.cqlFilter,activeLegend:_1.value,name:_1.value.name||D2.name}):D2;const i3=C1.value;return L3.value&&(i3!=null&&i3.layerName)&&(G3=Z2(B2({},G3),{layerName:i3.layerName,name:`${D2.name} ${i3.label}`,timelineDate:i3.label,timelineItem:i3})),G3}),c1=Q2(typeof window=="undefined"?1080:window.innerHeight),M1=Vt.sideCardWidth;s2(()=>Vt.sideCardGap);const $1=s2(()=>_8(c1.value)),W1=s2(()=>n9($1.value,2)),P=s2(()=>!!T2.value),E3=s2(()=>{if(S2.value||v2.value||!l2.value)return 186;const D2=F1(l2.value);return Math.min(480,Math.max(300,86+Math.min(D2,12)*34))}),g3=s2(()=>{if(!T2.value)return{};const D2=460,G3=E3.value,i3=24,L1=A1(T2.value),_2=L1.x>1420?-D2-28:28,n3=Math.min(Math.max(L1.x+_2,i3),1920-D2-i3),I3=Math.min(Math.max(L1.y-G3-72,188),1080-G3-132);return{left:`${n3}px`,top:`${I3}px`,right:"auto",bottom:"auto"}});function A1(D2){const G3=document.querySelector(".forest-grass-wet"),i3=G3==null?void 0:G3.getBoundingClientRect();return!(i3!=null&&i3.width)||!(i3!=null&&i3.height)?D2:{x:(D2.x-i3.left)/i3.width*1920,y:(D2.y-i3.top)/i3.height*1080}}function q3(){c1.value=typeof window=="undefined"?1080:window.innerHeight}mn(()=>{q3(),window.addEventListener("resize",q3),document.addEventListener("pointerdown",S3,!0),O3(),T3(o.value,""),s0(o.value,"")}),hn(()=>{U3=!0,o3&&window.clearTimeout(o3),window.removeEventListener("resize",q3),document.removeEventListener("pointerdown",S3,!0)}),N0(o,D2=>{R1=!0,j.value="",s.value="",x1(),m3.value={type:"idle",text:"等待 GeoServer 图层加载"},T3(D2,""),s0(D2,"",null),O0(()=>{R1=!1})}),N0(s,()=>{R1||(D1=!0,j.value="",x1(),m3.value={type:s.value?"loading":"idle",text:s.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},o.value!=="woodland"&&T3(o.value,s.value),s0(o.value,s.value,null),O0(()=>{D1=!1}))}),N0(j,()=>{R1||D1||(x1(),s0(o.value,s.value,_1.value))}),N0(L3,D2=>{if(D2){y1();return}s3.value=""}),N0(s3,()=>{L3.value&&x1()}),N0(()=>a.active,D2=>{var G3,i3,L1,_2;r.value&&(D2?(g1(),(i3=(G3=r.value).resume)==null||i3.call(G3)):(_2=(L1=r.value).pause)==null||_2.call(L1))});function O3(){var i3;p3=new C7;const D2={progress:0};p3.instance.on("onProgress",(L1,_2,n3)=>{const I3=Math.floor(_2/n3*100);Yt.to(D2,{progress:I3,onUpdate:()=>{C2.value=Math.floor(D2.progress)}})});const G3=()=>{U3||b3||(b3=!0,g1())};p3.instance.on("onLoad",G3),(i3=p3.ready)==null||i3.then(G3).catch(()=>{U3||(m3.value={type:"error",text:"地图资源加载失败"})})}function g1(){U3||!a.active||!b3||Y3||(Y3=!0,o3&&window.clearTimeout(o3),o3=window.setTimeout(()=>{o3=null,H1()},600))}function H1(D2=0){return P3(this,null,function*(){var i3,L1,_2,n3,I3;if(U3)return;if(!a.active){Y3=!1;return}if(yield O0(),!a.active){Y3=!1;return}if(!!((L1=(i3=r.value)==null?void 0:i3.loadMap)!=null&&L1.call(i3,p3)||(n3=(_2=r.value)==null?void 0:_2.hasMap)!=null&&n3.call(_2))){yield y3(),yield O0(),(I3=r.value)==null||I3.play();return}if(D2<24){window.setTimeout(()=>H1(D2+1),120);return}Y3=!1})}function G2(){o3&&(window.clearTimeout(o3),o3=null)}function H2(){var D2,G3,i3,L1;(G3=(D2=r.value)==null?void 0:D2.resume)==null||G3.call(D2),(L1=(i3=r.value)==null?void 0:i3.refreshView)==null||L1.call(i3)}function e3(){var D2,G3;if(x1(),m3.value={type:"loading",text:"地图正在复位"},(G3=(D2=r.value)==null?void 0:D2.hasMap)!=null&&G3.call(D2)){H2(),m3.value={type:"success",text:"地图已复位"};return}G2(),Y3=!1,O0(()=>{g1()})}e({refreshMapView:H2,resetMap:e3});function T3(i3){return P3(this,arguments,function*(D2,G3=s.value){const L1=D2==="woodland"?"":G3,_2=++b1;h.value=!0,m.value="loading";const n3=yield u8(D2,L1);U3||_2!==b1||D2===o.value&&(D2!=="woodland"&&(L1||"")!==(s.value||"")||G1(n3,D2))})}function y1(D2=!1){return P3(this,null,function*(){if(!L3.value)return;if(!D2&&K2.value.length){B1();return}const G3=++W3;V2.value="loading";try{const i3=yield uI();if(U3||G3!==W3)return;K2.value=i3,V2.value=i3.length?"success":"empty",B1()}catch(i3){if(U3||G3!==W3)return;K2.value=[],s3.value="",V2.value="error"}})}function B1(){if(!K2.value.length){s3.value="";return}K2.value.some(G3=>G3.key===s3.value)||(s3.value=K2.value[K2.value.length-1].key)}function G1(D2,G3){var L1,_2,n3;const i3=D3(D2);u.value=i3.core||[],p.value=i3.left||{title:"业务统计",rows:[]},g.value=i3.right||{title:"业务统计",rows:[]},C.value=(L1=i3.leftPanels)!=null&&L1.length?i3.leftPanels:[p.value],I.value=(_2=i3.rightPanels)!=null&&_2.length?i3.rightPanels:[g.value],m.value=i3.status,h.value=!1,i("topic-stats",{topicKey:G3,topicName:jf(G3).name,items:((n3=i3.top)!=null&&n3.length?i3.top:i3.core||[]).slice(0,4)})}function D3(D2){return D2||{}}function e1(D2,G3){return`${o.value}-${G3}-${(D2==null?void 0:D2.key)||(D2==null?void 0:D2.title)||"panel"}`}function s1(D2){var i3;const G3=((i3=D2==null?void 0:D2.rows)==null?void 0:i3.length)||0;return(D2==null?void 0:D2.span)===1?!1:(D2==null?void 0:D2.span)===2?!0:(D2==null?void 0:D2.type)==="spotlight"||(D2==null?void 0:D2.type)==="metric"||(D2==null?void 0:D2.type)==="column"&&G3<=5?!1:(D2==null?void 0:D2.type)==="rank"&&G3>4||(D2==null?void 0:D2.type)==="split"&&G3>4||(D2==null?void 0:D2.type)==="donut"&&G3>5||(D2==null?void 0:D2.type)==="structure"&&G3>4||(D2==null?void 0:D2.type)==="bar"&&G3>4||(D2==null?void 0:D2.type)==="line"&&G3>6}function S1(D2){return s1(D2)?W1.value:$1.value}function F1(D2){var _2;const G3=(D2==null?void 0:D2.properties)||{},i3=Object.keys(G3).filter(n3=>{const I3=G3[n3];if(I3==null||I3==="")return!1;const F3=n3.toLowerCase();return!(["geom","wkt","geometry","the_geom","shape_leng","shape_length","length","perimeter"].includes(F3)||["gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].includes(F3))}),L1=!!((_2=D2==null?void 0:D2.feature)!=null&&_2.geometry||D2!=null&&D2.geometry);return i3.length+(L1?1:0)}function s0(L1,_2){return P3(this,arguments,function*(D2,G3,i3=_1.value){const n3=++n1;if(!G3||!G0(G3,i3)){U.value=u3(D2,G3);return}const I3=yield SR(D2,G3,i3);U3||n3!==n1||D2!==o.value||G3!==s.value||((i3==null?void 0:i3.key)||"")===j.value&&(U.value=I3)})}function G0(D2,G3=null){return!!(G3!=null&&G3.key)||Y1.has(D2)}function u3(D2,G3){return{status:"disabled",topicKey:D2,layerKey:G3,title:"",unit:"",rows:[]}}function z3(D2){var i3,L1;const G3=(L1=(i3=D2==null?void 0:D2.feature)!=null?i3:D2)!=null?L1:null;if(!G3){x1();return}l2.value=G3,v2.value=!1,D2!=null&&D2.screen&&(T2.value=D2.screen)}function V3(D2){m3.value=D2}function x1(){var D2,G3;l2.value=null,v2.value=!1,T2.value=null,(G3=(D2=r.value)==null?void 0:D2.clearSelectedFeature)==null||G3.call(D2)}function S3(D2){if(!P.value)return;const G3=document.querySelector(".fgw-map-feature-info"),i3=D2.target;G3&&i3 instanceof Node&&G3.contains(i3)||x1()}function y3(){return j2.value?new Promise(D2=>{Yt.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{j2.value=!1,D2()}})}):Promise.resolve()}return(D2,G3)=>(G(),z("div",cF,[l1(P7,{ref_key:"mapSceneRef",ref:r,"active-layer":j3.value,"map-ranking":U.value,"admin-boundary-line-scale":2.4,onFeatureLoading:G3[0]||(G3[0]=i3=>S2.value=i3),onFeatureInfo:z3,onLayerStatus:V3},null,8,["active-layer","map-ranking"]),w("div",dF,[w("div",fF,[w("div",hF,[(G(!0),z(B3,null,H3(C.value,i3=>(G(),J0(l0,{key:e1(i3,"left"),class:r1(["fgw-side-card left-card",{"is-double":s1(i3)}]),title:i3.title,width:k1(M1),height:S1(i3)},{default:e0(()=>[l1($t,{panel:i3,compact:"","column-label-standard":""},null,8,["panel"])]),_:2},1032,["class","title","width","height"]))),128))])]),w("div",mF,[w("div",pF,[(G(!0),z(B3,null,H3(I.value,i3=>(G(),J0(l0,{key:e1(i3,"right"),class:r1(["fgw-side-card right-card",{"is-double":s1(i3)}]),title:i3.title,width:k1(M1),height:S1(i3)},{default:e0(()=>[l1($t,{panel:i3,compact:"","column-label-standard":""},null,8,["panel"])]),_:2},1032,["class","title","width","height"]))),128))])]),o.value!=="overview"?(G(),z("div",{key:0,class:"fgw-map-layer-tools",style:z1({height:`${$2.value}px`})},[l1(Mr,{modelValue:s.value,"onUpdate:modelValue":G3[1]||(G3[1]=i3=>s.value=i3),"selected-legend-key":j.value,"onUpdate:selectedLegendKey":G3[2]||(G3[2]=i3=>j.value=i3),"topic-key":o.value,legends:o1.value,width:248,height:$2.value,compact:l3.value},null,8,["modelValue","selected-legend-key","topic-key","legends","height","compact"])],4)):k3("",!0),h1.value?(G(),z("div",gF,[l1(uF,{modelValue:s3.value,"onUpdate:modelValue":G3[3]||(G3[3]=i3=>s3.value=i3),items:K2.value,loading:V2.value==="loading"},null,8,["modelValue","items","loading"])])):k3("",!0),P.value?(G(),z("div",{key:2,class:"fgw-map-feature-info",style:z1(g3.value)},[l1(b7,{feature:l2.value,empty:v2.value,loading:S2.value,width:460,height:E3.value},null,8,["feature","empty","loading","height"])],4)):k3("",!0),w("div",yF,[l1(T7,{modelValue:o.value,"onUpdate:modelValue":G3[4]||(G3[4]=i3=>o.value=i3)},null,8,["modelValue"])])]),j2.value?(G(),z("div",vF,[G3[6]||(G3[6]=n7('
    LOADING
    ',1)),w("div",SF,[w("span",wF,i2(C2.value),1),G3[5]||(G3[5]=w("span",{class:"unit"},"%",-1))])])):k3("",!0)]))}},TF="/openApi";function CF(t){return P3(this,null,function*(){const e=yield Xt(`${TF}/ecologicalProtection/rangeStats`,{method:"POST",timeout:3e4,params:{scopeKey:t},headers:{"Content-Type":"application/json"},body:JSON.stringify({scopeKey:t})}),n=u0(e);return _F(Array.isArray(n)?n[0]||{}:n||{})})}const AF={scope_key:"scopeKey",scope_name:"scopeName",scope_area_wan_mu:"scopeAreaWanMu",source_feature_count:"sourceFeatureCount",grassland_area_wan_mu:"grasslandAreaWanMu",wetland_area_wan_mu:"wetlandAreaWanMu",woodland_area_wan_mu:"woodlandAreaWanMu",grassland_fresh_yield_wan_ton:"grasslandFreshYieldWanTon",wetland_fresh_yield_wan_ton:"wetlandFreshYieldWanTon",grassland_mu_yield_jin:"grasslandMuYieldJin",wetland_mu_yield_jin:"wetlandMuYieldJin",grassland_vegetation_cover_percent:"grasslandVegetationCoverPercent",grassland_patch_count:"grasslandPatchCount",wetland_patch_count:"wetlandPatchCount",woodland_patch_count:"woodlandPatchCount",grassland_distribution:"grasslandDistribution",wetland_distribution:"wetlandDistribution",woodland_distribution:"woodlandDistribution",grassland_productivity:"grasslandProductivity",grassland_types:"grasslandTypes",zoning_structure:"zoningStructure",grassland_levels:"grasslandLevels",vegetation_cover_bands:"vegetationCoverBands",woodland_types:"woodlandTypes",woodland_quality:"woodlandQuality",area_method:"areaMethod",area_unit:"areaUnit",productivity_method:"productivityMethod"};function _F(t={}){return!t||typeof t!="object"?{}:Object.entries(t).reduce((e,[n,a])=>{e[n]=a;const i=AF[n];return i&&e[i]===void 0&&(e[i]=a),e},{})}function xF(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var e=1;e<=60;++e)t("EPSG:"+(32600+e),"+proj=utm +zone="+e+" +datum=WGS84 +units=m"),t("EPSG:"+(32700+e),"+proj=utm +zone="+e+" +south +datum=WGS84 +units=m");t("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),t("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}var r9=1,o9=2,c8=3,MF=4,Al=5,Dh=6378137,PF=6356752314e-3,Gh=.0066943799901413165,K4=484813681109536e-20,m1=Math.PI/2,kF=.16666666666666666,EF=.04722222222222222,NF=.022156084656084655,P1=1e-10,ve=.017453292519943295,Jt=57.29577951308232,H0=Math.PI/4,h7=Math.PI*2,_e=3.14159265359,Zt={};Zt.greenwich=0;Zt.lisbon=-9.131906111111;Zt.paris=2.337229166667;Zt.bogota=-74.080916666667;Zt.madrid=-3.687938888889;Zt.rome=12.452333333333;Zt.bern=7.439583333333;Zt.jakarta=106.807719444444;Zt.ferro=-17.666666666667;Zt.brussels=4.367975;Zt.stockholm=18.058277777778;Zt.athens=23.7163375;Zt.oslo=10.722916666667;const RF={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}};var Uh=/[\s_\-\/\(\)]/g;function v5(t,e){if(t[e])return t[e];for(var n=Object.keys(t),a=e.toLowerCase().replace(Uh,""),i=-1,r,o;++iArray.isArray(a)&&a[0]==="ID");return n&&n.length>=3?{authority:n[1],code:parseInt(n[2],10)}:null}static convertUnit(e,n="unit"){if(!e||e.length<3)return{type:n,name:"unknown",conversion_factor:null};const a=e[1],i=parseFloat(e[2])||null,r=e.find(s=>Array.isArray(s)&&s[0]==="ID"),o=r?{authority:r[1],code:parseInt(r[2],10)}:null;return{type:n,name:a,conversion_factor:i,id:o}}static convertAxis(e){const n=e[1]||"Unknown";let a;const i=n.match(/^\((.)\)$/);if(i){const m=i[1].toUpperCase();if(m==="E")a="east";else if(m==="N")a="north";else if(m==="U")a="up";else if(e[2])a=e[2];else throw new Error(`Unknown axis abbreviation: ${m}`)}else a=e[2]||"unknown";const r=e.find(m=>Array.isArray(m)&&m[0]==="ORDER"),o=r?parseInt(r[1],10):null,s=e.find(m=>Array.isArray(m)&&(m[0]==="LENGTHUNIT"||m[0]==="ANGLEUNIT"||m[0]==="SCALEUNIT")),u=this.convertUnit(s);return{name:n,direction:a,unit:u,order:o}}static extractAxes(e){return e.filter(n=>Array.isArray(n)&&n[0]==="AXIS").map(n=>this.convertAxis(n)).sort((n,a)=>(n.order||0)-(a.order||0))}static convert(e,n={}){switch(e[0]){case"PROJCRS":n.type="ProjectedCRS",n.name=e[1],n.base_crs=e.find(g=>Array.isArray(g)&&g[0]==="BASEGEOGCRS")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="BASEGEOGCRS")):null,n.conversion=e.find(g=>Array.isArray(g)&&g[0]==="CONVERSION")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="CONVERSION")):null;const a=e.find(g=>Array.isArray(g)&&g[0]==="CS");a&&(n.coordinate_system={type:a[1],axis:this.extractAxes(e)});const i=e.find(g=>Array.isArray(g)&&g[0]==="LENGTHUNIT");if(i){const g=this.convertUnit(i);n.coordinate_system.unit=g}n.id=this.getId(e);break;case"BASEGEOGCRS":case"GEOGCRS":case"GEODCRS":n.type=e[0]==="GEODCRS"?"GeodeticCRS":"GeographicCRS",n.name=e[1];const r=e.find(g=>Array.isArray(g)&&(g[0]==="DATUM"||g[0]==="ENSEMBLE"));if(r){const g=this.convert(r);r[0]==="ENSEMBLE"?n.datum_ensemble=g:n.datum=g;const C=e.find(I=>Array.isArray(I)&&I[0]==="PRIMEM");C&&C[1]!=="Greenwich"&&(g.prime_meridian={name:C[1],longitude:parseFloat(C[2])})}n.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(e)},n.id=this.getId(e);break;case"DATUM":n.type="GeodeticReferenceFrame",n.name=e[1],n.ellipsoid=e.find(g=>Array.isArray(g)&&g[0]==="ELLIPSOID")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":n.type="DatumEnsemble",n.name=e[1],n.members=e.filter(g=>Array.isArray(g)&&g[0]==="MEMBER").map(g=>({type:"DatumEnsembleMember",name:g[1],id:this.getId(g)}));const o=e.find(g=>Array.isArray(g)&&g[0]==="ENSEMBLEACCURACY");o&&(n.accuracy=parseFloat(o[1]));const s=e.find(g=>Array.isArray(g)&&g[0]==="ELLIPSOID");s&&(n.ellipsoid=this.convert(s)),n.id=this.getId(e);break;case"ELLIPSOID":n.type="Ellipsoid",n.name=e[1],n.semi_major_axis=parseFloat(e[2]),n.inverse_flattening=parseFloat(e[3]),e.find(g=>Array.isArray(g)&&g[0]==="LENGTHUNIT")&&this.convert(e.find(g=>Array.isArray(g)&&g[0]==="LENGTHUNIT"),n);break;case"CONVERSION":n.type="Conversion",n.name=e[1],n.method=e.find(g=>Array.isArray(g)&&g[0]==="METHOD")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="METHOD")):null,n.parameters=e.filter(g=>Array.isArray(g)&&g[0]==="PARAMETER").map(g=>this.convert(g));break;case"METHOD":n.type="Method",n.name=e[1],n.id=this.getId(e);break;case"PARAMETER":n.type="Parameter",n.name=e[1],n.value=parseFloat(e[2]),n.unit=this.convertUnit(e.find(g=>Array.isArray(g)&&(g[0]==="LENGTHUNIT"||g[0]==="ANGLEUNIT"||g[0]==="SCALEUNIT"))),n.id=this.getId(e);break;case"BOUNDCRS":n.type="BoundCRS";const u=e.find(g=>Array.isArray(g)&&g[0]==="SOURCECRS");if(u){const g=u.find(C=>Array.isArray(C));n.source_crs=g?this.convert(g):null}const m=e.find(g=>Array.isArray(g)&&g[0]==="TARGETCRS");if(m){const g=m.find(C=>Array.isArray(C));n.target_crs=g?this.convert(g):null}const h=e.find(g=>Array.isArray(g)&&g[0]==="ABRIDGEDTRANSFORMATION");h?n.transformation=this.convert(h):n.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(n.type="Transformation",n.name=e[1],n.method=e.find(g=>Array.isArray(g)&&g[0]==="METHOD")?this.convert(e.find(g=>Array.isArray(g)&&g[0]==="METHOD")):null,n.parameters=e.filter(g=>Array.isArray(g)&&(g[0]==="PARAMETER"||g[0]==="PARAMETERFILE")).map(g=>{if(g[0]==="PARAMETER")return this.convert(g);if(g[0]==="PARAMETERFILE")return{name:g[1],value:g[2],id:{authority:"EPSG",code:8656}}}),n.parameters.length===7){const g=n.parameters[6];g.name==="Scale difference"&&(g.value=Math.round((g.value-1)*1e12)/1e6)}n.id=this.getId(e);break;case"AXIS":n.coordinate_system||(n.coordinate_system={type:"unspecified",axis:[]}),n.coordinate_system.axis.push(this.convertAxis(e));break;case"LENGTHUNIT":const p=this.convertUnit(e,"LinearUnit");n.coordinate_system&&n.coordinate_system.axis&&n.coordinate_system.axis.forEach(g=>{g.unit||(g.unit=p)}),p.conversion_factor&&p.conversion_factor!==1&&n.semi_major_axis&&(n.semi_major_axis={value:n.semi_major_axis,unit:p});break;default:n.keyword=e[0];break}return n}}class LF extends Vp{static convert(e,n={}){return super.convert(e,n),n.coordinate_system&&n.coordinate_system.subtype==="Cartesian"&&delete n.coordinate_system,n.usage&&delete n.usage,n}}class IF extends Vp{static convert(e,n={}){super.convert(e,n);const a=e.find(r=>Array.isArray(r)&&r[0]==="CS");a&&(n.coordinate_system={subtype:a[1],axis:this.extractAxes(e)});const i=e.find(r=>Array.isArray(r)&&r[0]==="USAGE");if(i){const r=i.find(u=>Array.isArray(u)&&u[0]==="SCOPE"),o=i.find(u=>Array.isArray(u)&&u[0]==="AREA"),s=i.find(u=>Array.isArray(u)&&u[0]==="BBOX");n.usage={},r&&(n.usage.scope=r[1]),o&&(n.usage.area=o[1]),s&&(n.usage.bbox=s.slice(1))}return n}}function FF(t){return t.find(e=>Array.isArray(e)&&e[0]==="USAGE")?"2019":(t.find(e=>Array.isArray(e)&&e[0]==="CS")||t[0]==="BOUNDCRS"||t[0]==="PROJCRS"||t[0]==="GEOGCRS","2015")}function BF(t){return(FF(t)==="2019"?IF:LF).convert(t)}function DF(t){const e=t.toUpperCase();return e.includes("PROJCRS")||e.includes("GEOGCRS")||e.includes("BOUNDCRS")||e.includes("VERTCRS")||e.includes("LENGTHUNIT")||e.includes("ANGLEUNIT")||e.includes("SCALEUNIT")?"WKT2":(e.includes("PROJCS")||e.includes("GEOGCS")||e.includes("LOCAL_CS")||e.includes("VERT_CS")||e.includes("UNIT"),"WKT1")}var m7=1,Hp=2,Kp=3,Xi=4,qp=5,cu=-1,GF=/\s/,UF=/[A-Za-z]/,OF=/[A-Za-z84_]/,Pr=/[,\]]/,Jp=/[\d\.E\-\+]/;function W6(t){if(typeof t!="string")throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=m7}W6.prototype.readCharicter=function(){var t=this.text[this.place++];if(this.state!==Xi)for(;GF.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case m7:return this.neutral(t);case Hp:return this.keyword(t);case Xi:return this.quoted(t);case qp:return this.afterquote(t);case Kp:return this.number(t);case cu:return}};W6.prototype.afterquote=function(t){if(t==='"'){this.word+='"',this.state=Xi;return}if(Pr.test(t)){this.word=this.word.trim(),this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in afterquote yet, index '+this.place)};W6.prototype.afterItem=function(t){if(t===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=m7;return}if(t==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=m7,this.currentObject=this.stack.pop(),this.currentObject||(this.state=cu);return}};W6.prototype.number=function(t){if(Jp.test(t)){this.word+=t;return}if(Pr.test(t)){this.word=parseFloat(this.word),this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in number yet, index '+this.place)};W6.prototype.quoted=function(t){if(t==='"'){this.state=qp;return}this.word+=t};W6.prototype.keyword=function(t){if(OF.test(t)){this.word+=t;return}if(t==="["){var e=[];e.push(this.word),this.level++,this.root===null?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,this.state=m7;return}if(Pr.test(t)){this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in keyword yet, index '+this.place)};W6.prototype.neutral=function(t){if(UF.test(t)){this.word=t,this.state=Hp;return}if(t==='"'){this.word="",this.state=Xi;return}if(Jp.test(t)){this.word=t,this.state=Kp;return}if(Pr.test(t)){this.afterItem(t);return}throw new Error(`havn't handled "`+t+'" in neutral yet, index '+this.place)};W6.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1,delete t.lat1):!t.lat_ts&&t.lat0&&(e==="polar stereographic"||e==="polar stereographic (variant a)")&&(t.lat_ts=t.lat0,t.lat0=Cn(t.lat0>0?90:-90),delete t.lat1)}function Oh(t){let e={units:null,to_meter:void 0};return typeof t=="string"?(e.units=t.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.units==="meter"&&(e.to_meter=1)):t&&t.name&&(e.units=t.name.toLowerCase(),e.units==="metre"&&(e.units="meter"),e.to_meter=t.conversion_factor),e}function jh(t){return typeof t=="object"?t.value*t.unit.conversion_factor:t}function zh(t,e){t.ellipsoid.radius?(e.a=t.ellipsoid.radius,e.rf=0):(e.a=jh(t.ellipsoid.semi_major_axis),t.ellipsoid.inverse_flattening!==void 0?e.rf=t.ellipsoid.inverse_flattening:t.ellipsoid.semi_major_axis!==void 0&&t.ellipsoid.semi_minor_axis!==void 0&&(e.rf=e.a/(e.a-jh(t.ellipsoid.semi_minor_axis))))}function Zi(t,e={}){return!t||typeof t!="object"?t:t.type==="BoundCRS"?(Zi(t.source_crs,e),t.transformation&&(t.transformation.method&&t.transformation.method.name==="NTv2"?e.nadgrids=t.transformation.parameters[0].value:e.datum_params=t.transformation.parameters.map(n=>n.value)),e):(Object.keys(t).forEach(n=>{const a=t[n];if(a!==null)switch(n){case"name":if(e.srsCode)break;e.name=a,e.srsCode=a;break;case"type":a==="GeographicCRS"?e.projName="longlat":a==="GeodeticCRS"?t.coordinate_system&&t.coordinate_system.subtype==="Cartesian"?e.projName="geocent":e.projName="longlat":a==="ProjectedCRS"&&t.conversion&&t.conversion.method&&(e.projName=t.conversion.method.name);break;case"datum":case"datum_ensemble":a.ellipsoid&&(e.ellps=a.ellipsoid.name,zh(a,e)),a.prime_meridian&&(e.from_greenwich=a.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":e.ellps=a.name,zh(a,e);break;case"prime_meridian":e.long0=(a.longitude||0)*Math.PI/180;break;case"coordinate_system":if(a.axis){const i={east:"e",north:"n",west:"w",south:"s",up:"u",down:"d",geocentricx:"e",geocentricy:"n",geocentricz:"u"},r=a.axis.map(o=>i[o.direction.toLowerCase()]);if(r.every(Boolean)&&(e.axis=r.join(""),e.axis.length===2&&(e.axis+="u")),a.unit){const{units:o,to_meter:s}=Oh(a.unit);e.units=o,e.to_meter=s}else if(a.axis[0]&&a.axis[0].unit){const{units:o,to_meter:s}=Oh(a.axis[0].unit);e.units=o,e.to_meter=s}}break;case"id":a.authority&&a.code&&(e.title=a.authority+":"+a.code);break;case"conversion":a.method&&a.method.name&&(e.projName=a.method.name),a.parameters&&a.parameters.forEach(i=>{const r=i.name.toLowerCase().replace(/\s+/g,"_"),o=i.value;i.unit&&i.unit.conversion_factor?e[r]=o*i.unit.conversion_factor:i.unit==="degree"?e[r]=o*Math.PI/180:e[r]=o});break;case"unit":a.name&&(e.units=a.name.toLowerCase(),e.units==="metre"&&(e.units="meter")),a.conversion_factor&&(e.to_meter=a.conversion_factor);break;case"base_crs":Zi(a,e),e.datumCode=a.id?a.id.authority+"_"+a.id.code:a.name;break}}),e.latitude_of_false_origin!==void 0&&(e.lat0=e.latitude_of_false_origin),e.longitude_of_false_origin!==void 0&&(e.long0=e.longitude_of_false_origin),e.latitude_of_standard_parallel!==void 0&&(e.lat0=e.latitude_of_standard_parallel,e.lat1=e.latitude_of_standard_parallel),e.latitude_of_1st_standard_parallel!==void 0&&(e.lat1=e.latitude_of_1st_standard_parallel),e.latitude_of_2nd_standard_parallel!==void 0&&(e.lat2=e.latitude_of_2nd_standard_parallel),e.latitude_of_projection_centre!==void 0&&(e.lat0=e.latitude_of_projection_centre),e.longitude_of_projection_centre!==void 0&&(e.longc=e.longitude_of_projection_centre),e.easting_at_false_origin!==void 0&&(e.x0=e.easting_at_false_origin),e.northing_at_false_origin!==void 0&&(e.y0=e.northing_at_false_origin),e.latitude_of_natural_origin!==void 0&&(e.lat0=e.latitude_of_natural_origin),e.longitude_of_natural_origin!==void 0&&(e.long0=e.longitude_of_natural_origin),e.longitude_of_origin!==void 0&&(e.long0=e.longitude_of_origin),e.false_easting!==void 0&&(e.x0=e.false_easting),e.easting_at_projection_centre&&(e.x0=e.easting_at_projection_centre),e.false_northing!==void 0&&(e.y0=e.false_northing),e.northing_at_projection_centre&&(e.y0=e.northing_at_projection_centre),e.standard_parallel_1!==void 0&&(e.lat1=e.standard_parallel_1),e.standard_parallel_2!==void 0&&(e.lat2=e.standard_parallel_2),e.scale_factor_at_natural_origin!==void 0&&(e.k0=e.scale_factor_at_natural_origin),e.scale_factor_at_projection_centre!==void 0&&(e.k0=e.scale_factor_at_projection_centre),e.scale_factor_on_pseudo_standard_parallel!==void 0&&(e.k0=e.scale_factor_on_pseudo_standard_parallel),e.azimuth!==void 0&&(e.alpha=e.azimuth),e.azimuth_at_projection_centre!==void 0&&(e.alpha=e.azimuth_at_projection_centre),e.angle_from_rectified_to_skew_grid&&(e.rectified_grid_angle=e.angle_from_rectified_to_skew_grid),Qp(e),e)}var YF=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function $F(t,e){var n=e[0],a=e[1];!(n in t)&&a in t&&(t[n]=t[a],e.length===3&&(t[n]=e[2](t[n])))}function Xp(t){for(var e=Object.keys(t),n=0,a=e.length;n-1;var e=v5(t,"authority");if(e){var n=v5(e,"epsg");return n&&Yh.indexOf(n)>-1}}function JF(t){var e=v5(t,"extension");if(e)return v5(e,"proj4")}function QF(t){return t[0]==="+"}function XF(t){let e;if(VF(t))if(HF(t))e=Xe[t];else if(KF(t)){e=er(t);var n=JF(e);n&&(e=_l(n))}else QF(t)&&(e=_l(t));else"projName"in t?e=t:e=er(t);return e&&qF(e)?Xe["EPSG:3857"]:e}function $h(t,e){t=t||{};var n,a;if(!e)return t;for(a in e)n=e[a],n!==void 0&&(t[a]=n);return t}function v6(t,e,n){var a=t*e;return n/Math.sqrt(1-a*a)}function k7(t){return t<0?-1:1}function E1(t,e){return e||Math.abs(t)<=_e?t:t-k7(t)*h7}function Vn(t,e,n){var a=t*n,i=.5*t;return a=Math.pow((1-a)/(1+a),i),Math.tan(.5*(m1-e))/a}function p7(t,e){for(var n=.5*t,a,i,r=m1-2*Math.atan(e),o=0;o<=15;o++)if(a=t*Math.sin(r),i=m1-2*Math.atan(e*Math.pow((1-a)/(1+a),n))-r,r+=i,Math.abs(i)<=1e-10)return r;return-9999}function ZF(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=v6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function eB(t){var e=t.x,n=t.y;if(n*Jt>90&&n*Jt<-90&&e*Jt>180&&e*Jt<-180)return null;var a,i;if(Math.abs(Math.abs(n)-m1)<=P1)return null;if(this.sphere)a=this.x0+this.a*this.k0*E1(e-this.long0,this.over),i=this.y0+this.a*this.k0*Math.log(Math.tan(H0+.5*n));else{var r=Math.sin(n),o=Vn(this.e,n,r);a=this.x0+this.a*this.k0*E1(e-this.long0,this.over),i=this.y0-this.a*this.k0*Math.log(o)}return t.x=a,t.y=i,t}function tB(t){var e=t.x-this.x0,n=t.y-this.y0,a,i;if(this.sphere)i=m1-2*Math.atan(Math.exp(-n/(this.a*this.k0)));else{var r=Math.exp(-n/(this.a*this.k0));if(i=p7(this.e,r),i===-9999)return null}return a=E1(this.long0+e/(this.a*this.k0),this.over),t.x=a,t.y=i,t}var nB=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"];const aB={init:ZF,forward:eB,inverse:tB,names:nB};function iB(){}function Wh(t){return t}var Zp=["longlat","identity"];const rB={init:iB,forward:Wh,inverse:Wh,names:Zp};var oB=[aB,rB],V5={},t8=[];function eg(t,e){var n=t8.length;return t.names?(t8[n]=t,t.names.forEach(function(a){V5[a.toLowerCase()]=n}),this):(console.log(e),!0)}function tg(t){return t.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function sB(t){if(!t)return!1;var e=t.toLowerCase();if(typeof V5[e]!="undefined"&&t8[V5[e]]||(e=tg(e),e in V5&&t8[V5[e]]))return t8[V5[e]]}function lB(){oB.forEach(eg)}const uB={start:lB,add:eg,get:sB};var ng={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}};const cB=ng.WGS84;function dB(t,e,n,a){var i=t*t,r=e*e,o=(i-r)/i,s=0;a?(t*=1-o*(kF+o*(EF+o*NF)),i=t*t,o=0):s=Math.sqrt(o);var u=(i-r)/r;return{es:o,e:s,ep2:u}}function fB(t,e,n,a,i){if(!t){var r=v5(ng,a);r||(r=cB),t=r.a,e=r.b,n=r.rf}return n&&!e&&(e=(1-1/n)*t),(n===0||Math.abs(t-e)3&&(s.datum_params[3]!==0||s.datum_params[4]!==0||s.datum_params[5]!==0||s.datum_params[6]!==0)&&(s.datum_type=o9,s.datum_params[3]*=K4,s.datum_params[4]*=K4,s.datum_params[5]*=K4,s.datum_params[6]=s.datum_params[6]/1e6+1)),o&&(s.datum_type=c8,s.grids=o),s.a=n,s.b=a,s.es=i,s.ep2=r,s}var du={};function pB(t,e,n){return e instanceof ArrayBuffer?gB(t,e,n):{ready:yB(t,e)}}function gB(t,e,n){var a=!0;n!==void 0&&n.includeErrorFields===!1&&(a=!1);var i=new DataView(e),r=wB(i),o=bB(i,r),s=TB(i,o,r,a),u={header:o,subgrids:s};return du[t]=u,u}function yB(t,e){return P3(this,null,function*(){for(var n=[],a=yield e.getImageCount(),i=a-1;i>=0;i--){var r=yield e.getImage(i),o=yield r.readRasters(),s=o,u=[r.getWidth(),r.getHeight()],m=r.getBoundingBox().map(Vh),h=typeof r.fileDirectory.getValue=="function"?r.fileDirectory.getValue("ModelPixelScale"):r.fileDirectory.ModelPixelScale,p=[h[0],h[1]].map(Vh),g=m[0]+(u[0]-1)*p[0],C=m[3]-(u[1]-1)*p[1],I=s[0],U=s[1],j=[];for(let S2=u[1]-1;S2>=0;S2--)for(let T2=u[0]-1;T2>=0;T2--){var l2=S2*u[0]+T2;j.push([-h5(U[l2]),h5(I[l2])])}n.push({del:p,lim:u,ll:[-g,C],cvs:j})}var v2={header:{nSubgrids:a},subgrids:n};return du[t]=v2,v2})}function vB(t){if(t===void 0)return null;var e=t.split(",");return e.map(SB)}function SB(t){if(t.length===0)return null;var e=t[0]==="@";return e&&(t=t.slice(1)),t==="null"?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:du[t]||null,isNull:!1}}function Vh(t){return t*Math.PI/180}function h5(t){return t/3600*Math.PI/180}function wB(t){var e=t.getInt32(8,!1);return e===11?!1:(e=t.getInt32(8,!0),e!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function bB(t,e){return{nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:xl(t,56,56+8).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}function xl(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function TB(t,e,n,a){for(var i=176,r=[],o=0;o5e-11?!1:t.datum_type===r9?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type===o9?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6]:!0}function ag(t,e,n){var a=t.x,i=t.y,r=t.z?t.z:0,o,s,u,m;if(i<-m1&&i>-1.001*m1)i=-m1;else if(i>m1&&i<1.001*m1)i=m1;else{if(i<-m1)return{x:-1/0,y:-1/0,z:t.z};if(i>m1)return{x:1/0,y:1/0,z:t.z}}return a>Math.PI&&(a-=2*Math.PI),s=Math.sin(i),m=Math.cos(i),u=s*s,o=n/Math.sqrt(1-e*u),{x:(o+r)*m*Math.cos(a),y:(o+r)*m*Math.sin(a),z:(o*(1-e)+r)*s}}function ig(t,e,n,a){var i=1e-12,r=i*i,o=30,s,u,m,h,p,g,C,I,U,j,l2,v2,S2,T2=t.x,C2=t.y,j2=t.z?t.z:0,K2,V2,s3;if(s=Math.sqrt(T2*T2+C2*C2),u=Math.sqrt(T2*T2+C2*C2+j2*j2),s/nr&&S2a.y||C>a.x||js&&Math.abs(u.y)>s);if(o<0)return console.log("Inverse grid shift iterator failed to converge."),a;a.x=E1(r.x+n.ll[0]),a.y=r.y+n.ll[1]}else isNaN(r.x)||(a.x=t.x+r.x,a.y=t.y+r.y);return a}function Kh(t,e){var n={x:t.x/e.del[0],y:t.y/e.del[1]},a={x:Math.floor(n.x),y:Math.floor(n.y)},i={x:n.x-1*a.x,y:n.y-1*a.y},r={x:Number.NaN,y:Number.NaN},o;if(a.x<0||a.x>=e.lim[0]||a.y<0||a.y>=e.lim[1])return r;o=a.y*e.lim[0]+a.x;var s={x:e.cvs[o][0],y:e.cvs[o][1]};o++;var u={x:e.cvs[o][0],y:e.cvs[o][1]};o+=e.lim[0];var m={x:e.cvs[o][0],y:e.cvs[o][1]};o--;var h={x:e.cvs[o][0],y:e.cvs[o][1]},p=i.x*i.y,g=i.x*(1-i.y),C=(1-i.x)*(1-i.y),I=(1-i.x)*i.y;return r.x=C*s.x+g*u.x+I*h.x+p*m.x,r.y=C*s.y+g*u.y+I*h.y+p*m.y,r}var H5=["x","y","z"];function NB(t,e){const n={};for(let a=0,i=t.axis.length;a2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function LB(t){qh(t.x),qh(t.y)}function qh(t){if(typeof Number.isFinite=="function"){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if(typeof t!="number"||t!==t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function IB(t,e){return(t.datum.datum_type===r9||t.datum.datum_type===o9||t.datum.datum_type===c8)&&e.datumCode!=="WGS84"||(e.datum.datum_type===r9||e.datum.datum_type===o9||e.datum.datum_type===c8)&&t.datumCode!=="WGS84"}function tr(t,e,n,a){var i,r=n.z!==void 0;if(LB(n),t.datum&&e.datum&&IB(t,e)&&(i=new Pn("WGS84"),n=tr(t,i,n,a),t=i),a&&t.axis!=="enu"&&(n=NB(t,n)),t.projName==="longlat")n={x:n.x*ve,y:n.y*ve,z:n.z||0};else if(t.to_meter&&(n={x:n.x*t.to_meter,y:n.y*t.to_meter,z:n.z||0}),n=t.inverse(n),!n)return;if(t.from_greenwich&&(n.x+=t.from_greenwich),n=kB(t.datum,e.datum,n),!!n)return n=n,e.from_greenwich&&(n={x:n.x-e.from_greenwich,y:n.y,z:n.z||0}),e.projName==="longlat"?n={x:n.x*Jt,y:n.y*Jt,z:n.z||0}:(n=e.forward(n),e.to_meter&&(n={x:n.x/e.to_meter,y:n.y/e.to_meter,z:n.z||0})),a&&e.axis!=="enu"?RB(e,n):(n&&!r&&e.projName!=="geocent"&&delete n.z,n)}function FB(t,e,n,a){var i;return Array.isArray(n)?i=fu(n):i={x:n.x,y:n.y,z:n.z,m:n.m},tr(t,e,i,a)}var Jh=Pn("WGS84");function Is(t,e,n,a){var i,r,o;return Array.isArray(n)?(i=tr(t,e,fu(n),a)||{x:NaN,y:NaN},n.length>2?(r=typeof t.name!="undefined"&&t.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",r?typeof i.z=="number"?[i.x,i.y,i.z].concat(n.slice(3)):[i.x,i.y,n[2]].concat(n.slice(3)):a&&typeof i.z=="number"?[i.x,i.y,i.z].concat(n.slice(3)):[i.x,i.y].concat(n.slice(2))):[i.x,i.y]):(i=tr(t,e,{x:n.x,y:n.y,z:n.z,m:n.m},a)||{x:NaN,y:NaN},o=Object.keys(n),o.length===2||(r=typeof t.name!="undefined"&&t.name==="geocent"||typeof e.name!="undefined"&&e.name==="geocent",o.forEach(function(s){s==="x"||s==="y"||s==="z"&&(r||a)||(i[s]=n[s])})),i)}function fi(t){return t instanceof Pn?t:typeof t=="object"&&"oProj"in t?t.oProj:Pn(t)}function BB(t,e,n){var a,i,r=!1,o;return typeof e=="undefined"?(i=fi(t),a=Jh,r=!0):(typeof e.x!="undefined"||Array.isArray(e))&&(n=e,i=fi(t),a=Jh,r=!0),a||(a=fi(t)),i||(i=fi(e)),n?Is(a,i,n):(o={forward:function(s,u){return Is(a,i,s,u)},inverse:function(s,u){return Is(i,a,s,u)}},r&&(o.oProj=i),o)}var Qh=6,rg="AJSAJS",og="AFAFAF",n8=65,Ut=73,An=79,z4=86,Y4=90;const DB={forward:sg,inverse:GB,toPoint:lg};function sg(t,e){return e=e||5,jB(UB({lat:t[1],lon:t[0]}),e)}function GB(t){var e=hu(cg(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]}function lg(t){var e=hu(cg(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function Fs(t){return t*(Math.PI/180)}function Xh(t){return 180*(t/Math.PI)}function UB(t){var e=t.lat,n=t.lon,a=6378137,i=.00669438,r=.9996,o,s,u,m,h,p,g,C=Fs(e),I=Fs(n),U,j;j=Math.floor((n+180)/6)+1,n===180&&(j=60),e>=56&&e<64&&n>=3&&n<12&&(j=32),e>=72&&e<84&&(n>=0&&n<9?j=31:n>=9&&n<21?j=33:n>=21&&n<33?j=35:n>=33&&n<42&&(j=37)),o=(j-1)*6-180+3,U=Fs(o),s=i/(1-i),u=a/Math.sqrt(1-i*Math.sin(C)*Math.sin(C)),m=Math.tan(C)*Math.tan(C),h=s*Math.cos(C)*Math.cos(C),p=Math.cos(C)*(I-U),g=a*((1-i/4-3*i*i/64-5*i*i*i/256)*C-(3*i/8+3*i*i/32+45*i*i*i/1024)*Math.sin(2*C)+(15*i*i/256+45*i*i*i/1024)*Math.sin(4*C)-35*i*i*i/3072*Math.sin(6*C));var l2=r*u*(p+(1-m+h)*p*p*p/6+(5-18*m+m*m+72*h-58*s)*p*p*p*p*p/120)+5e5,v2=r*(g+u*Math.tan(C)*(p*p/2+(5-m+9*h+4*h*h)*p*p*p*p/24+(61-58*m+m*m+600*h-330*s)*p*p*p*p*p*p/720));return e<0&&(v2+=1e7),{northing:Math.round(v2),easting:Math.round(l2),zoneNumber:j,zoneLetter:OB(e)}}function hu(t){var e=t.northing,n=t.easting,a=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var r=.9996,o=6378137,s=.00669438,u,m=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s)),h,p,g,C,I,U,j,l2,v2,S2=n-5e5,T2=e;a<"N"&&(T2-=1e7),j=(i-1)*6-180+3,u=s/(1-s),U=T2/r,l2=U/(o*(1-s/4-3*s*s/64-5*s*s*s/256)),v2=l2+(3*m/2-27*m*m*m/32)*Math.sin(2*l2)+(21*m*m/16-55*m*m*m*m/32)*Math.sin(4*l2)+151*m*m*m/96*Math.sin(6*l2),h=o/Math.sqrt(1-s*Math.sin(v2)*Math.sin(v2)),p=Math.tan(v2)*Math.tan(v2),g=u*Math.cos(v2)*Math.cos(v2),C=o*(1-s)/Math.pow(1-s*Math.sin(v2)*Math.sin(v2),1.5),I=S2/(h*r);var C2=v2-h*Math.tan(v2)/C*(I*I/2-(5+3*p+10*g-4*g*g-9*u)*I*I*I*I/24+(61+90*p+298*g+45*p*p-252*u-3*g*g)*I*I*I*I*I*I/720);C2=Xh(C2);var j2=(I-(1+2*p+g)*I*I*I/6+(5-2*g+28*p-3*g*g+8*u+24*p*p)*I*I*I*I*I/120)/Math.cos(v2);j2=j+Xh(j2);var K2;if(t.accuracy){var V2=hu({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});K2={top:V2.lat,right:V2.lon,bottom:C2,left:j2}}else K2={lat:C2,lon:j2};return K2}function OB(t){var e="Z";return 84>=t&&t>=72?e="X":72>t&&t>=64?e="W":64>t&&t>=56?e="V":56>t&&t>=48?e="U":48>t&&t>=40?e="T":40>t&&t>=32?e="S":32>t&&t>=24?e="R":24>t&&t>=16?e="Q":16>t&&t>=8?e="P":8>t&&t>=0?e="N":0>t&&t>=-8?e="M":-8>t&&t>=-16?e="L":-16>t&&t>=-24?e="K":-24>t&&t>=-32?e="J":-32>t&&t>=-40?e="H":-40>t&&t>=-48?e="G":-48>t&&t>=-56?e="F":-56>t&&t>=-64?e="E":-64>t&&t>=-72?e="D":-72>t&&t>=-80&&(e="C"),e}function jB(t,e){var n="00000"+t.easting,a="00000"+t.northing;return t.zoneNumber+t.zoneLetter+zB(t.easting,t.northing,t.zoneNumber)+n.substr(n.length-5,e)+a.substr(a.length-5,e)}function zB(t,e,n){var a=ug(n),i=Math.floor(t/1e5),r=Math.floor(e/1e5)%20;return YB(i,r,a)}function ug(t){var e=t%Qh;return e===0&&(e=Qh),e}function YB(t,e,n){var a=n-1,i=rg.charCodeAt(a),r=og.charCodeAt(a),o=i+t-1,s=r+e,u=!1;o>Y4&&(o=o-Y4+n8-1,u=!0),(o===Ut||iUt||(o>Ut||iAn||(o>An||iY4&&(o=o-Y4+n8-1),s>z4?(s=s-z4+n8-1,u=!0):u=!1,(s===Ut||rUt||(s>Ut||rAn||(s>An||rz4&&(s=s-z4+n8-1);var m=String.fromCharCode(o)+String.fromCharCode(s);return m}function cg(t){if(t&&t.length===0)throw"MGRSPoint coverting from nothing";for(var e=t.length,n=null,a="",i,r=0;!/[A-Z]/.test(i=t.charAt(r));){if(r>=2)throw"MGRSPoint bad conversion from: "+t;a+=i,r++}var o=parseInt(a,10);if(r===0||r+3>e)throw"MGRSPoint bad conversion from: "+t;var s=t.charAt(r++);if(s<="A"||s==="B"||s==="Y"||s>="Z"||s==="I"||s==="O")throw"MGRSPoint zone letter "+s+" not handled: "+t;n=t.substring(r,r+=2);for(var u=ug(o),m=$B(n.charAt(0),u),h=WB(n.charAt(1),u);h0&&(U=1e5/Math.pow(10,g),j=t.substring(r,r+g),C=parseFloat(j)*U,l2=t.substring(r+g),I=parseFloat(l2)*U),v2=C+m,S2=I+h,{easting:v2,northing:S2,zoneLetter:s,zoneNumber:o,accuracy:U}}function $B(t,e){for(var n=rg.charCodeAt(e-1),a=1e5,i=!1;n!==t.charCodeAt(0);){if(n++,n===Ut&&n++,n===An&&n++,n>Y4){if(i)throw"Bad character: "+t;n=n8,i=!0}a+=1e5}return a}function WB(t,e){if(t>"V")throw"MGRSPoint given invalid Northing "+t;for(var n=og.charCodeAt(e-1),a=0,i=!1;n!==t.charCodeAt(0);){if(n++,n===Ut&&n++,n===An&&n++,n>z4){if(i)throw"Bad character: "+t;n=n8,i=!0}a+=1e5}return a}function VB(t){var e;switch(t){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+t}function S8(t,e,n){if(!(this instanceof S8))return new S8(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if(typeof t=="object")this.x=t.x,this.y=t.y,this.z=t.z||0;else if(typeof t=="string"&&typeof e=="undefined"){var a=t.split(",");this.x=parseFloat(a[0]),this.y=parseFloat(a[1]),this.z=parseFloat(a[2])||0}else this.x=t,this.y=e,this.z=n||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}S8.fromMGRS=function(t){return new S8(lg(t))};S8.prototype.toMGRS=function(t){return sg([this.x,this.y],t)};var HB=1,KB=.25,Zh=.046875,em=.01953125,tm=.01068115234375,qB=.75,JB=.46875,QB=.013020833333333334,XB=.007120768229166667,ZB=.3645833333333333,eD=.005696614583333333,tD=.3076171875;function mu(t){var e=[];e[0]=HB-t*(KB+t*(Zh+t*(em+t*tm))),e[1]=t*(qB-t*(Zh+t*(em+t*tm)));var n=t*t;return e[2]=n*(JB-t*(QB+t*XB)),n*=t,e[3]=n*(ZB-t*eD),e[4]=n*t*tD,e}function P8(t,e,n,a){return n*=e,e*=e,a[0]*t-n*(a[1]+e*(a[2]+e*(a[3]+e*a[4])))}var nD=20;function pu(t,e,n){for(var a=1/(1-e),i=t,r=nD;r;--r){var o=Math.sin(i),s=1-e*o*o;if(s=(P8(i,o,Math.cos(i),n)-t)*(s*Math.sqrt(s))*a,i-=s,Math.abs(s)P1?Math.tan(n):0,U=Math.pow(I,2),j=Math.pow(U,2);i=1-this.es*Math.pow(s,2),h=h/Math.sqrt(i);var l2=P8(n,s,u,this.en);r=this.a*(this.k0*h*(1+p/6*(1-U+g+p/20*(5-18*U+j+14*g-58*U*g+p/42*(61+179*j-j*U-479*U)))))+this.x0,o=this.a*(this.k0*(l2-this.ml0+s*a*h/2*(1+p/12*(5-U+9*g+4*C+p/30*(61+j-58*U+270*g-330*U*g+p/56*(1385+543*j-j*U-3111*U))))))+this.y0}else{var m=u*Math.sin(a);if(Math.abs(Math.abs(m)-1)=1){if(m-1>P1)return 93;o=0}else o=Math.acos(o);n<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return t.x=r,t.y=o,t}function rD(t){var e,n,a,i,r=(t.x-this.x0)*(1/this.a),o=(t.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+o/this.k0,n=pu(e,this.es,this.en),Math.abs(n)P1?Math.tan(n):0,I=this.ep2*Math.pow(g,2),U=Math.pow(I,2),j=Math.pow(C,2),l2=Math.pow(j,2);e=1-this.es*Math.pow(p,2);var v2=r*Math.sqrt(e)/this.k0,S2=Math.pow(v2,2);e=e*C,a=n-e*S2/(1-this.es)*.5*(1-S2/12*(5+3*j-9*I*j+I-4*U-S2/30*(61+90*j-252*I*j+45*l2+46*I-S2/56*(1385+3633*j+4095*l2+1574*l2*j)))),i=E1(this.long0+v2*(1-S2/6*(1+2*j+I-S2/20*(5+28*j+24*l2+8*I*j+6*I-S2/42*(61+662*j+1320*l2+720*l2*j))))/g,this.over)}else a=m1*k7(o),i=0;else{var s=Math.exp(r/this.k0),u=.5*(s-1/s),m=this.lat0+o/this.k0,h=Math.cos(m);e=Math.sqrt((1-Math.pow(h,2))/(1+Math.pow(u,2))),a=Math.asin(e),o<0&&(a=-a),u===0&&h===0?i=0:i=E1(Math.atan2(u,h)+this.long0,this.over)}return t.x=i,t.y=a,t}var oD=["Fast_Transverse_Mercator","Fast Transverse Mercator"];const ki={init:aD,forward:iD,inverse:rD,names:oD};function dg(t){var e=Math.exp(t);return e=(e-1/e)/2,e}function Ht(t,e){t=Math.abs(t),e=Math.abs(e);var n=Math.max(t,e),a=Math.min(t,e)/(n||1);return n*Math.sqrt(1+Math.pow(a,2))}function sD(t){var e=1+t,n=e-1;return n===0?t:t*Math.log(e)/n}function lD(t){var e=Math.abs(t);return e=sD(e*(1+e/(Ht(1,e)+1))),t<0?-e:e}function gu(t,e){for(var n=2*Math.cos(2*e),a=t.length-1,i=t[a],r=0,o;--a>=0;)o=-r+n*i+t[a],r=i,i=o;return e+o*Math.sin(2*e)}function uD(t,e){for(var n=2*Math.cos(e),a=t.length-1,i=t[a],r=0,o;--a>=0;)o=-r+n*i+t[a],r=i,i=o;return Math.sin(e)*o}function cD(t){var e=Math.exp(t);return e=(e+1/e)/2,e}function fg(t,e,n){for(var a=Math.sin(e),i=Math.cos(e),r=dg(n),o=cD(n),s=2*i*o,u=-2*a*r,m=t.length-1,h=t[m],p=0,g=0,C=0,I,U;--m>=0;)I=g,U=p,g=h,p=C,h=-I+s*g-u*p+t[m],C=-U+u*g+s*p;return s=a*o,u=i*r,[s*h-u*C,s*C+u*h]}function dD(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(ki.init.apply(this),this.forward=ki.forward,this.inverse=ki.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),n=e;this.cgb[0]=e*(2+e*(-2/3+e*(-2+e*(116/45+e*(26/45+e*(-2854/675)))))),this.cbg[0]=e*(-2+e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))),n=n*e,this.cgb[1]=n*(7/3+e*(-8/5+e*(-227/45+e*(2704/315+e*(2323/945))))),this.cbg[1]=n*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),n=n*e,this.cgb[2]=n*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=n*(-26/15+e*(34/21+e*(8/5+e*(-12686/2835)))),n=n*e,this.cgb[3]=n*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=n*(1237/630+e*(-12/5+e*(-24832/14175))),n=n*e,this.cgb[4]=n*(4174/315+e*(-144838/6237)),this.cbg[4]=n*(-734/315+e*(109598/31185)),n=n*e,this.cgb[5]=n*(601676/22275),this.cbg[5]=n*(444337/155925),n=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+n*(1/4+n*(1/64+n/256))),this.utg[0]=e*(-.5+e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=n*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=n*(13/48+e*(-3/5+e*(557/1440+e*(281/630+e*(-1983433/1935360))))),n=n*e,this.utg[2]=n*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=n*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),n=n*e,this.utg[3]=n*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=n*(49561/161280+e*(-179/168+e*(6601661/7257600))),n=n*e,this.utg[4]=n*(-4583/161280+e*(108847/3991680)),this.gtu[4]=n*(34729/80640+e*(-3418889/1995840)),n=n*e,this.utg[5]=n*(-20648693/638668800),this.gtu[5]=n*(212378941/319334400);var a=gu(this.cbg,this.lat0);this.Zb=-this.Qn*(a+uD(this.gtu,2*a))}function fD(t){var e=E1(t.x-this.long0,this.over),n=t.y;n=gu(this.cbg,n);var a=Math.sin(n),i=Math.cos(n),r=Math.sin(e),o=Math.cos(e);n=Math.atan2(a,o*i),e=Math.atan2(r*i,Ht(a,i*o)),e=lD(Math.tan(e));var s=fg(this.gtu,2*n,2*e);n=n+s[0],e=e+s[1];var u,m;return Math.abs(e)<=2.623395162778?(u=this.a*(this.Qn*e)+this.x0,m=this.a*(this.Qn*n+this.Zb)+this.y0):(u=1/0,m=1/0),t.x=u,t.y=m,t}function hD(t){var e=(t.x-this.x0)*(1/this.a),n=(t.y-this.y0)*(1/this.a);n=(n-this.Zb)/this.Qn,e=e/this.Qn;var a,i;if(Math.abs(e)<=2.623395162778){var r=fg(this.utg,2*n,2*e);n=n+r[0],e=e+r[1],e=Math.atan(dg(e));var o=Math.sin(n),s=Math.cos(n),u=Math.sin(e),m=Math.cos(e);n=Math.atan2(o*m,Ht(u,m*s)),e=Math.atan2(u,m*s),a=E1(e+this.long0,this.over),i=gu(this.cgb,n)}else a=1/0,i=1/0;return t.x=a,t.y=i,t}var mD=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"];const Ei={init:dD,forward:fD,inverse:hD,names:mD};function pD(t,e){if(t===void 0){if(t=Math.floor((E1(e)+Math.PI)*30/Math.PI)+1,t<0)return 0;if(t>60)return 60}return t}var gD="etmerc";function yD(){var t=pD(this.zone,this.long0);if(t===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*ve,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ei.init.apply(this),this.forward=Ei.forward,this.inverse=Ei.inverse}var vD=["Universal Transverse Mercator System","utm"];const SD={init:yD,names:vD,dependsOn:gD};function yu(t,e){return Math.pow((1-t)/(1+t),e)}var wD=20;function bD(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+H0)/(Math.pow(Math.tan(.5*this.lat0+H0),this.C)*yu(this.e*t,this.ratexp))}function TD(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+H0),this.C)*yu(this.e*Math.sin(n),this.ratexp))-m1,t.x=this.C*e,t}function CD(t){for(var e=1e-14,n=t.x/this.C,a=t.y,i=Math.pow(Math.tan(.5*a+H0)/this.K,1/this.C),r=wD;r>0&&(a=2*Math.atan(i*yu(this.e*Math.sin(t.y),-.5*this.e))-m1,!(Math.abs(a-t.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=P1&&Math.abs(Math.cos(this.lat_ts))>P1&&(this.k0=.5*this.cons*v6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Vn(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=v6(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(Su(this.lat0,this.sinlat0,this.e))-m1,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function ND(t){var e=t.x,n=t.y,a=Math.sin(n),i=Math.cos(n),r,o,s,u,m,h,p=E1(e-this.long0,this.over);return Math.abs(Math.abs(e-this.long0)-Math.PI)<=P1&&Math.abs(n+this.lat0)<=P1?(t.x=NaN,t.y=NaN,t):this.sphere?(r=2*this.k0/(1+this.sinlat0*a+this.coslat0*i*Math.cos(p)),t.x=this.a*r*i*Math.sin(p)+this.x0,t.y=this.a*r*(this.coslat0*a-this.sinlat0*i*Math.cos(p))+this.y0,t):(o=2*Math.atan(Su(n,a,this.e))-m1,u=Math.cos(o),s=Math.sin(o),Math.abs(this.coslat0)<=P1?(m=Vn(this.e,n*this.con,this.con*a),h=2*this.a*this.k0*m/this.cons,t.x=this.x0+h*Math.sin(e-this.long0),t.y=this.y0-this.con*h*Math.cos(e-this.long0),t):(Math.abs(this.sinlat0)0?e=E1(this.long0+Math.atan2(t.x,-1*t.y),this.over):e=E1(this.long0+Math.atan2(t.x,t.y),this.over):e=E1(this.long0+Math.atan2(t.x*Math.sin(s),o*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s)),this.over),t.x=e,t.y=n,t)}else if(Math.abs(this.coslat0)<=P1){if(o<=P1)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,a=o*this.cons/(2*this.a*this.k0),n=this.con*p7(this.e,a),e=this.con*E1(this.con*this.long0+Math.atan2(t.x,-1*t.y),this.over)}else i=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,o<=P1?r=this.X0:(r=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/o),e=E1(this.long0+Math.atan2(t.x*Math.sin(i),o*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)),this.over)),n=-1*p7(this.e,Math.tan(.5*(m1+r)));return t.x=e,t.y=n,t}var LD=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"];const ID={init:ED,forward:ND,inverse:RD,names:LD,ssfn_:Su};function FD(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,a=this.rf,i=1/a,r=2*i-Math.pow(i,2),o=this.e=Math.sqrt(r);this.R=this.k0*n*Math.sqrt(1-r)/(1-r*Math.pow(e,2)),this.alpha=Math.sqrt(1+r/(1-r)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var s=Math.log(Math.tan(Math.PI/4+this.b0/2)),u=Math.log(Math.tan(Math.PI/4+t/2)),m=Math.log((1+o*e)/(1-o*e));this.K=s-this.alpha*u+this.alpha*o/2*m}function BD(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),a=-this.alpha*(e+n)+this.K,i=2*(Math.atan(Math.exp(a))-Math.PI/4),r=this.alpha*(t.x-this.lambda0),o=Math.atan(Math.sin(r)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(r))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(r));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*o+this.x0,t}function DD(t){for(var e=t.x-this.x0,n=t.y-this.y0,a=e/this.R,i=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),r=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(a)),o=Math.atan(Math.sin(a)/(Math.cos(this.b0)*Math.cos(a)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+o/this.alpha,u=0,m=r,h=-1e3,p=0;Math.abs(m-h)>1e-7;){if(++p>20)return;u=1/this.alpha*(Math.log(Math.tan(Math.PI/4+r/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(m))/2)),h=m,m=2*Math.atan(Math.exp(u))-Math.PI/2}return t.x=s,t.y=m,t}var GD=["somerc"];const UD={init:FD,forward:BD,inverse:DD,names:GD};var K9=1e-7;function OD(t){var e=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],n=typeof t.projName=="object"?Object.keys(t.projName)[0]:t.projName;return"no_uoff"in t||"no_off"in t||e.indexOf(n)!==-1||e.indexOf(tg(n))!==-1}function jD(){var t,e,n,a,i,r,o,s,u,m,h=0,p,g=0,C=0,I=0,U=0,j=0,l2=0;this.no_off=OD(this),this.no_rot="no_rot"in this;var v2=!1;"alpha"in this&&(v2=!0);var S2=!1;if("rectified_grid_angle"in this&&(S2=!0),v2&&(l2=this.alpha),S2&&(h=this.rectified_grid_angle,v2||(l2=0,v2=!0)),v2||S2)g=this.longc;else if(C=this.long1,U=this.lat1,I=this.long2,j=this.lat2,Math.abs(U-j)<=K9||(t=Math.abs(U))<=K9||Math.abs(t-m1)<=K9||Math.abs(Math.abs(this.lat0)-m1)<=K9||Math.abs(Math.abs(j)-m1)<=K9)throw new Error;var T2=1-this.es;e=Math.sqrt(T2),Math.abs(this.lat0)>P1?(s=Math.sin(this.lat0),n=Math.cos(this.lat0),t=1-this.es*s*s,this.B=n*n,this.B=Math.sqrt(1+this.es*this.B*this.B/T2),this.A=this.B*this.k0*e/t,a=this.B*e/(n*Math.sqrt(t)),i=a*a-1,i<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=a,this.E*=Math.pow(Vn(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=a=i=1),v2||S2?(v2?(p=Math.asin(Math.sin(l2)/a),S2||(h=l2)):(p=h,l2=Math.asin(a*Math.sin(p))),this.lam0=g-Math.asin(.5*(i-1/i)*Math.tan(p))/this.B):(r=Math.pow(Vn(this.e,U,Math.sin(U)),this.B),o=Math.pow(Vn(this.e,j,Math.sin(j)),this.B),i=this.E/r,u=(o-r)/(o+r),m=this.E*this.E,m=(m-o*r)/(m+o*r),t=C-I,t<-Math.PI?I-=h7:t>Math.PI&&(I+=h7),this.lam0=E1(.5*(C+I)-Math.atan(m*Math.tan(.5*this.B*(C-I))/u)/this.B,this.over),p=Math.atan(2*Math.sin(this.B*E1(C-this.lam0,this.over))/(i-1/i)),h=l2=Math.asin(a*Math.sin(p))),this.singam=Math.sin(p),this.cosgam=Math.cos(p),this.sinrot=Math.sin(h),this.cosrot=Math.cos(h),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(a*a-1)/Math.cos(l2))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*p,this.v_pole_n=this.ArB*Math.log(Math.tan(H0-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(H0+i))}function zD(t){var e={},n,a,i,r,o,s,u,m;if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-m1)>P1){if(o=this.E/Math.pow(Vn(this.e,t.y,Math.sin(t.y)),this.B),s=1/o,n=.5*(o-s),a=.5*(o+s),r=Math.sin(this.B*t.x),i=(n*this.singam-r*this.cosgam)/a,Math.abs(Math.abs(i)-1)0?this.v_pole_n:this.v_pole_s,u=this.ArB*t.y;return this.no_rot?(e.x=u,e.y=m):(u-=this.u_0,e.x=m*this.cosrot+u*this.sinrot,e.y=u*this.cosrot-m*this.sinrot),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e}function YD(t){var e,n,a,i,r,o,s,u={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(n=t.y,e=t.x):(n=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),a=Math.exp(-this.BrA*n),i=.5*(a-1/a),r=.5*(a+1/a),o=Math.sin(this.BrA*e),s=(o*this.cosgam+i*this.singam)/r,Math.abs(Math.abs(s)-1)P1?this.ns=Math.log(a/s)/Math.log(i/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=a/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(m,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function HD(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=P1&&(n=k7(n)*(m1-2*P1));var a=Math.abs(Math.abs(n)-m1),i,r;if(a>P1)i=Vn(this.e,n,Math.sin(n)),r=this.a*this.f0*Math.pow(i,this.ns);else{if(a=n*this.ns,a<=0)return null;r=0}var o=this.ns*E1(e-this.long0,this.over);return t.x=this.k0*(r*Math.sin(o))+this.x0,t.y=this.k0*(this.rh-r*Math.cos(o))+this.y0,t}function KD(t){var e,n,a,i,r,o=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(o*o+s*s),n=1):(e=-Math.sqrt(o*o+s*s),n=-1);var u=0;if(e!==0&&(u=Math.atan2(n*o,n*s)),e!==0||this.ns>0){if(n=1/this.ns,a=Math.pow(e/(this.a*this.f0),n),i=p7(this.e,a),i===-9999)return null}else i=-m1;return r=E1(u/this.ns+this.long0,this.over),t.x=r,t.y=i,t}var qD=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"];const JD={init:VD,forward:HD,inverse:KD,names:qD};function QD(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function XD(t){var e,n,a,i,r,o,s,u=t.x,m=t.y,h=E1(u-this.long0,this.over);return e=Math.pow((1+this.e*Math.sin(m))/(1-this.e*Math.sin(m)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(m/2+this.s45),this.alfa)/e)-this.s45),a=-h*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(a)),r=Math.asin(Math.cos(n)*Math.sin(a)/Math.cos(i)),o=this.n*r,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(o)/1,t.x=s*Math.sin(o)/1,this.czech||(t.y*=-1,t.x*=-1),t}function ZD(t){var e,n,a,i,r,o,s,u,m=t.x;t.x=t.y,t.y=m,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),r=Math.atan2(t.y,t.x),i=r/Math.sin(this.s0),a=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(a)-Math.sin(this.ad)*Math.cos(a)*Math.cos(i)),n=Math.asin(Math.cos(a)*Math.sin(i)/Math.cos(e)),t.x=this.long0-n/this.alfa,s=e,u=0;var h=0;do t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(s))/(1-this.e*Math.sin(s)),this.e/2))-this.s45),Math.abs(s-t.y)<1e-10&&(u=1),s=t.y,h+=1;while(u===0&&h<15);return h>=15?null:t}var eG=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"];const tG={init:QD,forward:XD,inverse:ZD,names:eG};function Pt(t,e,n,a,i){return t*i-e*Math.sin(2*i)+n*Math.sin(4*i)-a*Math.sin(6*i)}function E7(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function N7(t){return .375*t*(1+.25*t*(1+.46875*t))}function R7(t){return .05859375*t*t*(1+.75*t)}function L7(t){return t*t*t*(35/3072)}function wu(t,e,n){var a=e*n;return t/Math.sqrt(1-a*a)}function T5(t){return Math.abs(t)1e-7?(n=t*e,(1-t*t)*(e/(1-n*n)-.5/t*Math.log((1-n)/(1+n)))):2*e}var sG=.3333333333333333,lG=.17222222222222222,uG=.10257936507936508,cG=.06388888888888888,dG=.0664021164021164,fG=.016415012942191543;function hg(t){var e,n=[];return n[0]=t*sG,e=t*t,n[0]+=e*lG,n[1]=e*cG,e*=t,n[0]+=e*uG,n[1]+=e*dG,n[2]=e*fG,n}function mg(t,e){var n=t+t;return t+e[0]*Math.sin(n)+e[1]*Math.sin(n+n)+e[2]*Math.sin(n+n+n)}var Ml=1,Pl=2,kl=3,Ni=4;function hG(){var t=Math.abs(this.lat0);if(Math.abs(t-m1)0){var e;switch(this.qp=g6(this.e,1),this.mmf=.5/(1-this.es),this.apa=hg(this.es),this.mode){case Pl:this.dd=1;break;case Ml:this.dd=1;break;case kl:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case Ni:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=g6(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===Ni&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function mG(t){var e,n,a,i,r,o,s,u,m,h,p=t.x,g=t.y;if(p=E1(p-this.long0,this.over),this.sphere){if(r=Math.sin(g),h=Math.cos(g),a=Math.cos(p),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(n=this.mode===this.EQUIT?1+h*a:1+this.sinph0*r+this.cosph0*h*a,n<=P1)return null;n=Math.sqrt(2/n),e=n*h*Math.sin(p),n*=this.mode===this.EQUIT?r:this.cosph0*r-this.sinph0*h*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(g+this.lat0)=0?(e=(m=Math.sqrt(o))*i,n=a*(this.mode===this.S_POLE?m:-m)):e=n=0;break}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t}function pG(t){t.x-=this.x0,t.y-=this.y0;var e=t.x/this.a,n=t.y/this.a,a,i,r,o,s,u,m;if(this.sphere){var h=0,p,g=0;if(p=Math.sqrt(e*e+n*n),i=p*.5,i>1)return null;switch(i=2*Math.asin(i),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(g=Math.sin(i),h=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(p)<=P1?0:Math.asin(n*g/p),e*=g,n=h*p;break;case this.OBLIQ:i=Math.abs(p)<=P1?this.lat0:Math.asin(h*this.sinph0+n*g*this.cosph0/p),e*=g*this.cosph0,n=(h-Math.sin(i)*this.sinph0)*p;break;case this.N_POLE:n=-n,i=m1-i;break;case this.S_POLE:i-=m1;break}a=n===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(e,n)}else{if(m=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e/=this.dd,n*=this.dd,u=Math.sqrt(e*e+n*n),u1&&(t=t>1?1:-1),Math.asin(t)}function vG(){Math.abs(this.lat1+this.lat2)P1?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function SG(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var a=g6(this.e3,this.sin_phi),i=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,r=this.ns0*E1(e-this.long0,this.over),o=i*Math.sin(r)+this.x0,s=this.rh-i*Math.cos(r)+this.y0;return t.x=o,t.y=s,t}function wG(t){var e,n,a,i,r,o;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),a=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),a=-1),i=0,e!==0&&(i=Math.atan2(a*t.x,a*t.y)),a=e*this.ns0/this.a,this.sphere?o=Math.asin((this.c-a*a)/(2*this.ns0)):(n=(this.c-a*a)/this.ns0,o=this.phi1z(this.e3,n)),r=E1(i/this.ns0+this.long0,this.over),t.x=r,t.y=o,t}function bG(t,e){var n,a,i,r,o,s=S5(.5*e);if(t0||Math.abs(o)<=P1?(s=this.x0+this.a*r*n*Math.sin(a)/o,u=this.y0+this.a*r*(this.cos_p14*e-this.sin_p14*n*i)/o):(s=this.x0+this.infinity_dist*n*Math.sin(a),u=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*i)),t.x=s,t.y=u,t}function xG(t){var e,n,a,i,r,o;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),n=Math.sin(i),a=Math.cos(i),o=S5(a*this.sin_p14+t.y*n*this.cos_p14/e),r=Math.atan2(t.x*n,e*this.cos_p14*a-t.y*this.sin_p14*n),r=E1(this.long0+r,this.over)):(o=this.phic0,r=0),t.x=r,t.y=o,t}var MG=["gnom"];const PG={init:AG,forward:_G,inverse:xG,names:MG};function kG(t,e){var n=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-n)<1e-6)return e<0?-1*m1:m1;for(var a=Math.asin(.5*e),i,r,o,s,u=0;u<30;u++)if(r=Math.sin(a),o=Math.cos(a),s=t*r,i=Math.pow(1-s*s,2)/(2*o)*(e/(1-t*t)-r/(1-s*s)+.5/t*Math.log((1-s)/(1+s))),a+=i,Math.abs(i)<=1e-10)return a;return NaN}function EG(){this.sphere||(this.k0=v6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function NG(t){var e=t.x,n=t.y,a,i,r=E1(e-this.long0,this.over);if(this.sphere)a=this.x0+this.a*r*Math.cos(this.lat_ts),i=this.y0+this.a*Math.sin(n)/Math.cos(this.lat_ts);else{var o=g6(this.e,Math.sin(n));a=this.x0+this.a*this.k0*r,i=this.y0+this.a*o*.5/this.k0}return t.x=a,t.y=i,t}function RG(t){t.x-=this.x0,t.y-=this.y0;var e,n;return this.sphere?(e=E1(this.long0+t.x/this.a/Math.cos(this.lat_ts),this.over),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=kG(this.e,2*t.y*this.k0/this.a),e=E1(this.long0+t.x/(this.a*this.k0),this.over)),t.x=e,t.y=n,t}var LG=["cea"];const IG={init:EG,forward:NG,inverse:RG,names:LG};function FG(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function BG(t){var e=t.x,n=t.y,a=E1(e-this.long0,this.over),i=T5(n-this.lat0);return t.x=this.x0+this.a*a*this.rc,t.y=this.y0+this.a*i,t}function DG(t){var e=t.x,n=t.y;return t.x=E1(this.long0+(e-this.x0)/(this.a*this.rc),this.over),t.y=T5(this.lat0+(n-this.y0)/this.a),t}var GG=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"];const UG={init:FG,forward:BG,inverse:DG,names:GG};var nm=20;function OG(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=E7(this.es),this.e1=N7(this.es),this.e2=R7(this.es),this.e3=L7(this.es),this.ml0=this.a*Pt(this.e0,this.e1,this.e2,this.e3,this.lat0)}function jG(t){var e=t.x,n=t.y,a,i,r,o=E1(e-this.long0,this.over);if(r=o*Math.sin(n),this.sphere)Math.abs(n)<=P1?(a=this.a*o,i=-1*this.a*this.lat0):(a=this.a*Math.sin(r)/Math.tan(n),i=this.a*(T5(n-this.lat0)+(1-Math.cos(r))/Math.tan(n)));else if(Math.abs(n)<=P1)a=this.a*o,i=-1*this.ml0;else{var s=wu(this.a,this.e,Math.sin(n))/Math.tan(n);a=s*Math.sin(r),i=this.a*Pt(this.e0,this.e1,this.e2,this.e3,n)-this.ml0+s*(1-Math.cos(r))}return t.x=a+this.x0,t.y=i+this.y0,t}function zG(t){var e,n,a,i,r,o,s,u,m;if(a=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=P1)e=E1(a/this.a+this.long0,this.over),n=0;else{o=this.lat0+i/this.a,s=a*a/this.a/this.a+o*o,u=o;var h;for(r=nm;r;--r)if(h=Math.tan(u),m=-1*(o*(u*h+1)-u-.5*(u*u+s)*h)/((u-o)/h-1),u+=m,Math.abs(m)<=P1){n=u;break}e=E1(this.long0+Math.asin(a*Math.tan(u)/this.a)/Math.sin(n),this.over)}else if(Math.abs(i+this.ml0)<=P1)n=0,e=E1(this.long0+a/this.a,this.over);else{o=(this.ml0+i)/this.a,s=a*a/this.a/this.a+o*o,u=o;var p,g,C,I,U;for(r=nm;r;--r)if(U=this.e*Math.sin(u),p=Math.sqrt(1-U*U)*Math.tan(u),g=this.a*Pt(this.e0,this.e1,this.e2,this.e3,u),C=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),I=g/this.a,m=(o*(p*I+1)-I-.5*p*(I*I+s))/(this.es*Math.sin(2*u)*(I*I+s-2*o*I)/(4*p)+(o-I)*(p*C-2/Math.sin(2*u))-C),u-=m,Math.abs(m)<=P1){n=u;break}p=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=E1(this.long0+Math.asin(a*p/this.a)/Math.sin(n),this.over)}return t.x=e,t.y=n,t}var YG=["Polyconic","American_Polyconic","poly"];const $G={init:OG,forward:jG,inverse:zG,names:YG};function WG(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function VG(t){var e,n=t.x,a=t.y,i=a-this.lat0,r=n-this.long0,o=i/K4*1e-5,s=r,u=1,m=0;for(e=1;e<=10;e++)u=u*o,m=m+this.A[e]*u;var h=m,p=s,g=1,C=0,I,U,j=0,l2=0;for(e=1;e<=6;e++)I=g*h-C*p,U=C*h+g*p,g=I,C=U,j=j+this.B_re[e]*g-this.B_im[e]*C,l2=l2+this.B_im[e]*g+this.B_re[e]*C;return t.x=l2*this.a+this.x0,t.y=j*this.a+this.y0,t}function HG(t){var e,n=t.x,a=t.y,i=n-this.x0,r=a-this.y0,o=r/this.a,s=i/this.a,u=1,m=0,h,p,g=0,C=0;for(e=1;e<=6;e++)h=u*o-m*s,p=m*o+u*s,u=h,m=p,g=g+this.C_re[e]*u-this.C_im[e]*m,C=C+this.C_im[e]*u+this.C_re[e]*m;for(var I=0;I.999999999999&&(n=.999999999999),e=Math.asin(n);var a=E1(this.long0+t.x/(.900316316158*this.a*Math.cos(e)),this.over);a<-Math.PI&&(a=-Math.PI),a>Math.PI&&(a=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var i=Math.asin(n);return t.x=a,t.y=i,t}var hU=["Mollweide","moll"];const mU={init:cU,forward:dU,inverse:fU,names:hU};function pU(){Math.abs(this.lat1+this.lat2)=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var r=0;if(n!==0&&(r=Math.atan2(e*t.x,e*t.y)),this.sphere)return i=E1(this.long0+r/this.ns,this.over),a=T5(this.g-n/this.a),t.x=i,t.y=a,t;var o=this.g-n/this.a;return a=nr(o,this.e0,this.e1,this.e2,this.e3),i=E1(this.long0+r/this.ns,this.over),t.x=i,t.y=a,t}var vU=["Equidistant_Conic","eqdc"];const SU={init:pU,forward:gU,inverse:yU,names:vU};function wU(){this.R=this.a}function bU(t){var e=t.x,n=t.y,a=E1(e-this.long0,this.over),i,r;Math.abs(n)<=P1&&(i=this.x0+this.R*a,r=this.y0);var o=S5(2*Math.abs(n/Math.PI));(Math.abs(a)<=P1||Math.abs(Math.abs(n)-m1)<=P1)&&(i=this.x0,n>=0?r=this.y0+Math.PI*this.R*Math.tan(.5*o):r=this.y0+Math.PI*this.R*-Math.tan(.5*o));var s=.5*Math.abs(Math.PI/a-a/Math.PI),u=s*s,m=Math.sin(o),h=Math.cos(o),p=h/(m+h-1),g=p*p,C=p*(2/m-1),I=C*C,U=Math.PI*this.R*(s*(p-I)+Math.sqrt(u*(p-I)*(p-I)-(I+u)*(g-I)))/(I+u);a<0&&(U=-U),i=this.x0+U;var j=u+p;return U=Math.PI*this.R*(C*j-s*Math.sqrt((I+u)*(u+1)-j*j))/(I+u),n>=0?r=this.y0+U:r=this.y0-U,t.x=i,t.y=r,t}function TU(t){var e,n,a,i,r,o,s,u,m,h,p,g,C;return t.x-=this.x0,t.y-=this.y0,p=Math.PI*this.R,a=t.x/p,i=t.y/p,r=a*a+i*i,o=-Math.abs(i)*(1+r),s=o-2*i*i+a*a,u=-2*o+1+2*i*i+r*r,C=i*i/u+(2*s*s*s/u/u/u-9*o*s/u/u)/27,m=(o-s*s/3/u)/u,h=2*Math.sqrt(-m/3),p=3*C/m/h,Math.abs(p)>1&&(p>=0?p=1:p=-1),g=Math.acos(p)/3,t.y>=0?n=(-h*Math.cos(g+Math.PI/3)-s/3/u)*Math.PI:n=-(-h*Math.cos(g+Math.PI/3)-s/3/u)*Math.PI,Math.abs(a)1e-12&&--U>0);return U===0?{azi1:NaN,s12:NaN}:(s3=j2*(i*i-i*(1-r)*(i*(1-r)))/(i*(1-r)*(i*(1-r))),m3=1+s3/16384*(4096+s3*(-768+s3*(320-175*s3))),p3=s3/1024*(256+s3*(-128+s3*(74-47*s3))),U3=p3*v2*(K2+p3/4*(S2*(-1+2*K2*K2)-p3/6*K2*(-3+4*v2*v2)*(-3+4*K2*K2))),b3=i*(1-r)*m3*(T2-U3),{azi1:Math.atan2(g*j,h*p-m*g*l2),s12:b3})}function xU(t,e,n,a,i,r){const o=Math.atan((1-r)*Math.tan(t)),s=Math.sin(o),u=Math.cos(o),m=Math.sin(n),h=Math.cos(n),p=Math.atan2(s,u*h),g=u*m,C=1-g*g,I=C*(i*i-i*(1-r)*(i*(1-r)))/(i*(1-r)*(i*(1-r))),U=1+I/16384*(4096+I*(-768+I*(320-175*I))),j=I/1024*(256+I*(-128+I*(74-47*I)));let l2=a/(i*(1-r)*U),v2,S2=100,T2,C2,j2,K2;do T2=Math.cos(2*p+l2),C2=Math.sin(l2),j2=Math.cos(l2),K2=j*C2*(T2+j/4*(j2*(-1+2*T2*T2)-j/6*T2*(-3+4*C2*C2)*(-3+4*T2*T2))),v2=l2,l2=a/(i*(1-r)*U)+K2;while(Math.abs(l2-v2)>1e-12&&--S2>0);if(S2===0)return{lat2:NaN,lon2:NaN};const V2=s*C2-u*j2*h,s3=Math.atan2(s*j2+u*C2*h,(1-r)*Math.sqrt(g*g+V2*V2)),m3=Math.atan2(C2*m,u*j2-s*C2*h),p3=r/16*C*(4+r*(4-3*C)),U3=m3-(1-p3)*r*g*(l2+p3*C2*(T2+p3*j2*(-1+2*T2*T2))),b3=e+U3;return{lat2:s3,lon2:b3}}function MU(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function PU(t){var e=t.x,n=t.y,a=Math.sin(t.y),i=Math.cos(t.y),r=E1(e-this.long0,this.over),o,s,u,m,h,p,g,C,I,U,j;return this.sphere?Math.abs(this.sin_p12-1)<=P1?(t.x=this.x0+this.a*(m1-n)*Math.sin(r),t.y=this.y0-this.a*(m1-n)*Math.cos(r),t):Math.abs(this.sin_p12+1)<=P1?(t.x=this.x0+this.a*(m1+n)*Math.sin(r),t.y=this.y0+this.a*(m1+n)*Math.cos(r),t):(I=this.sin_p12*a+this.cos_p12*i*Math.cos(r),g=Math.acos(I),C=g?g/Math.sin(g):1,t.x=this.x0+this.a*C*i*Math.sin(r),t.y=this.y0+this.a*C*(this.cos_p12*a-this.sin_p12*i*Math.cos(r)),t):(o=E7(this.es),s=N7(this.es),u=R7(this.es),m=L7(this.es),Math.abs(this.sin_p12-1)<=P1?(h=this.a*Pt(o,s,u,m,m1),p=this.a*Pt(o,s,u,m,n),t.x=this.x0+(h-p)*Math.sin(r),t.y=this.y0-(h-p)*Math.cos(r),t):Math.abs(this.sin_p12+1)<=P1?(h=this.a*Pt(o,s,u,m,m1),p=this.a*Pt(o,s,u,m,n),t.x=this.x0+(h+p)*Math.sin(r),t.y=this.y0+(h+p)*Math.cos(r),t):Math.abs(e)2*m1*this.a?void 0:(n=e/this.a,a=Math.sin(n),i=Math.cos(n),r=this.long0,Math.abs(e)<=P1?o=this.lat0:(o=S5(i*this.sin_p12+t.y*a*this.cos_p12/e),s=Math.abs(this.lat0)-m1,Math.abs(s)<=P1?this.lat0>=0?r=E1(this.long0+Math.atan2(t.x,-t.y),this.over):r=E1(this.long0-Math.atan2(-t.x,t.y),this.over):r=E1(this.long0+Math.atan2(t.x*a,e*this.cos_p12*i-t.y*this.sin_p12*a),this.over)),t.x=r,t.y=o,t)):(u=E7(this.es),m=N7(this.es),h=R7(this.es),p=L7(this.es),Math.abs(this.sin_p12-1)<=P1?(g=this.a*Pt(u,m,h,p,m1),e=Math.sqrt(t.x*t.x+t.y*t.y),C=g-e,o=nr(C/this.a,u,m,h,p),r=E1(this.long0+Math.atan2(t.x,-1*t.y),this.over),t.x=r,t.y=o,t):Math.abs(this.sin_p12+1)<=P1?(g=this.a*Pt(u,m,h,p,m1),e=Math.sqrt(t.x*t.x+t.y*t.y),C=e-g,o=nr(C/this.a,u,m,h,p),r=E1(this.long0+Math.atan2(t.x,t.y),this.over),t.x=r,t.y=o,t):(I=Math.atan2(t.x,t.y),U=Math.sqrt(t.x*t.x+t.y*t.y),j=xU(this.lat0,this.long0,I,U,this.a,this.f),t.x=j.lon2,t.y=j.lat2,t))}var EU=["Azimuthal_Equidistant","aeqd"];const NU={init:MU,forward:PU,inverse:kU,names:EU};function RU(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function LU(t){var e,n,a,i,r,o,s,u,m=t.x,h=t.y;return a=E1(m-(this.long0||0),this.over),e=Math.sin(h),n=Math.cos(h),i=Math.cos(a),o=this.sin_p14*e+this.cos_p14*n*i,r=1,(o>0||Math.abs(o)<=P1)&&(s=this.a*r*n*Math.sin(a),u=(this.y0||0)+this.a*r*(this.cos_p14*e-this.sin_p14*n*i)),t.x=s,t.y=u,t}function IU(t){var e,n,a,i,r,o,s,u,m;return t.x-=this.x0||0,t.y-=this.y0||0,e=Math.sqrt(t.x*t.x+t.y*t.y),n=S5(e/this.a),a=Math.sin(n),i=Math.cos(n),u=this.long0||0,m=this.lat0||0,o=u,Math.abs(e)<=P1?(s=m,t.x=o,t.y=s,t):(s=S5(i*this.sin_p14+t.y*a*this.cos_p14/e),r=Math.abs(m)-m1,Math.abs(r)<=P1?(m>=0?o=E1(u+Math.atan2(t.x,-t.y),this.over):o=E1(u-Math.atan2(-t.x,t.y),this.over),t.x=o,t.y=s,t):(o=E1(u+Math.atan2(t.x*a,e*this.cos_p14*i-t.y*this.sin_p14*a),this.over),t.x=o,t.y=s,t))}var FU=["ortho"];const BU={init:RU,forward:LU,inverse:IU,names:FU};var pe={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},K0={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function DU(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=m1-H0/2?this.face=pe.TOP:this.lat0<=-(m1-H0/2)?this.face=pe.BOTTOM:Math.abs(this.long0)<=H0?this.face=pe.FRONT:Math.abs(this.long0)<=m1+H0?this.face=this.long0>0?pe.RIGHT:pe.LEFT:this.face=pe.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function GU(t){var e={x:0,y:0},n,a,i,r,o,s,u={value:0};if(t.x-=this.long0,this.es!==0?n=Math.atan(this.one_minus_f_squared*Math.tan(t.y)):n=t.y,a=t.x,this.face===pe.TOP)r=m1-n,a>=H0&&a<=m1+H0?(u.value=K0.AREA_0,i=a-m1):a>m1+H0||a<=-(m1+H0)?(u.value=K0.AREA_1,i=a>0?a-_e:a+_e):a>-(m1+H0)&&a<=-H0?(u.value=K0.AREA_2,i=a+m1):(u.value=K0.AREA_3,i=a);else if(this.face===pe.BOTTOM)r=m1+n,a>=H0&&a<=m1+H0?(u.value=K0.AREA_0,i=-a+m1):a=-H0?(u.value=K0.AREA_1,i=-a):a<-H0&&a>=-(m1+H0)?(u.value=K0.AREA_2,i=-a-m1):(u.value=K0.AREA_3,i=a>0?-a+_e:-a-_e);else{var m,h,p,g,C,I,U;this.face===pe.RIGHT?a=d8(a,+m1):this.face===pe.BACK?a=d8(a,+_e):this.face===pe.LEFT&&(a=d8(a,-m1)),g=Math.sin(n),C=Math.cos(n),I=Math.sin(a),U=Math.cos(a),m=C*U,h=C*I,p=g,this.face===pe.FRONT?(r=Math.acos(m),i=hi(r,p,h,u)):this.face===pe.RIGHT?(r=Math.acos(h),i=hi(r,p,-m,u)):this.face===pe.BACK?(r=Math.acos(-m),i=hi(r,p,-h,u)):this.face===pe.LEFT?(r=Math.acos(-h),i=hi(r,p,m,u)):(r=i=0,u.value=K0.AREA_0)}return s=Math.atan(12/_e*(i+Math.acos(Math.sin(i)*Math.cos(H0))-m1)),o=Math.sqrt((1-Math.cos(r))/(Math.cos(s)*Math.cos(s))/(1-Math.cos(Math.atan(1/Math.cos(i))))),u.value===K0.AREA_1?s+=m1:u.value===K0.AREA_2?s+=_e:u.value===K0.AREA_3&&(s+=1.5*_e),e.x=o*Math.cos(s),e.y=o*Math.sin(s),e.x=e.x*this.a+this.x0,e.y=e.y*this.a+this.y0,t.x=e.x,t.y=e.y,t}function UU(t){var e={lam:0,phi:0},n,a,i,r,o,s,u,m,h,p={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,a=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),n=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?p.value=K0.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(p.value=K0.AREA_1,n-=m1):t.x<0&&-t.x>=Math.abs(t.y)?(p.value=K0.AREA_2,n=n<0?n+_e:n-_e):(p.value=K0.AREA_3,n+=m1),h=_e/12*Math.tan(n),o=Math.sin(h)/(Math.cos(h)-1/Math.sqrt(2)),s=Math.atan(o),i=Math.cos(n),r=Math.tan(a),u=1-i*i*r*r*(1-Math.cos(Math.atan(1/Math.cos(s)))),u<-1?u=-1:u>1&&(u=1),this.face===pe.TOP)m=Math.acos(u),e.phi=m1-m,p.value===K0.AREA_0?e.lam=s+m1:p.value===K0.AREA_1?e.lam=s<0?s+_e:s-_e:p.value===K0.AREA_2?e.lam=s-m1:e.lam=s;else if(this.face===pe.BOTTOM)m=Math.acos(u),e.phi=m-m1,p.value===K0.AREA_0?e.lam=-s+m1:p.value===K0.AREA_1?e.lam=-s:p.value===K0.AREA_2?e.lam=-s-m1:e.lam=s<0?-s-_e:-s+_e;else{var g,C,I;g=u,h=g*g,h>=1?I=0:I=Math.sqrt(1-h)*Math.sin(s),h+=I*I,h>=1?C=0:C=Math.sqrt(1-h),p.value===K0.AREA_1?(h=C,C=-I,I=h):p.value===K0.AREA_2?(C=-C,I=-I):p.value===K0.AREA_3&&(h=C,C=I,I=-h),this.face===pe.RIGHT?(h=g,g=-C,C=h):this.face===pe.BACK?(g=-g,C=-C):this.face===pe.LEFT&&(h=g,g=C,C=-h),e.phi=Math.acos(-I)-m1,e.lam=Math.atan2(C,g),this.face===pe.RIGHT?e.lam=d8(e.lam,-m1):this.face===pe.BACK?e.lam=d8(e.lam,-_e):this.face===pe.LEFT&&(e.lam=d8(e.lam,+m1))}if(this.es!==0){var U,j,l2;U=e.phi<0?1:0,j=Math.tan(e.phi),l2=this.b/Math.sqrt(j*j+this.one_minus_f_squared),e.phi=Math.atan(Math.sqrt(this.a*this.a-l2*l2)/(this.one_minus_f*l2)),U&&(e.phi=-e.phi)}return e.lam+=this.long0,t.x=e.lam,t.y=e.phi,t}function hi(t,e,n,a){var i;return tH0&&i<=m1+H0?(a.value=K0.AREA_1,i-=m1):i>m1+H0||i<=-(m1+H0)?(a.value=K0.AREA_2,i=i>=0?i-_e:i+_e):(a.value=K0.AREA_3,i+=m1)),i}function d8(t,e){var n=t+e;return n<-_e?n+=h7:n>+_e&&(n-=h7),n}var OU=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];const jU={init:DU,forward:GU,inverse:UU,names:OU};var El=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],$4=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],yg=.8487,vg=1.3523,Sg=Jt/5,zU=1/Sg,a8=18,ar=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))},YU=function(t,e){return t[1]+e*(2*t[2]+e*3*t[3])};function $U(t,e,n,a){for(var i=e;a;--a){var r=t(i);if(i-=r,Math.abs(r)=a8&&(a=a8-1),n=Jt*(n-zU*a);var i={x:ar(El[a],n)*e,y:ar($4[a],n)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*yg+this.x0,i.y=i.y*this.a*vg+this.y0,i}function HU(t){var e={x:(t.x-this.x0)/(this.a*yg),y:Math.abs(t.y-this.y0)/(this.a*vg)};if(e.y>=1)e.x/=El[a8][0],e.y=t.y<0?-m1:m1;else{var n=Math.floor(e.y*a8);for(n<0?n=0:n>=a8&&(n=a8-1);;)if($4[n][0]>e.y)--n;else if($4[n+1][0]<=e.y)++n;else break;var a=$4[n],i=5*(e.y-a[0])/($4[n+1][0]-a[0]);i=$U(function(r){return(ar(a,r)-e.y)/YU(a,r)},i,P1,100),e.x/=ar(El[n],i),e.y=(5*n+i)*ve,t.y<0&&(e.y=-e.y)}return e.x=E1(e.x+this.long0,this.over),e}var KU=["Robinson","robin"];const qU={init:WU,forward:VU,inverse:HU,names:KU};function JU(){this.name="geocent"}function QU(t){var e=ag(t,this.es,this.a);return e}function XU(t){var e=ig(t,this.es,this.a,this.b);return e}var ZU=["Geocentric","geocentric","geocent","Geocent"];const eO={init:JU,forward:QU,inverse:XU,names:ZU};var lt={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},F4={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function tO(){if(Object.keys(F4).forEach(function(n){if(typeof this[n]=="undefined")this[n]=F4[n].def;else{if(F4[n].num&&isNaN(this[n]))throw new Error("Invalid parameter value, must be numeric "+n+" = "+this[n]);F4[n].num&&(this[n]=parseFloat(this[n]))}F4[n].degrees&&(this[n]=this[n]*ve)}.bind(this)),Math.abs(Math.abs(this.lat0)-m1)1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var t=this.tilt,e=this.azi;this.cg=Math.cos(e),this.sg=Math.sin(e),this.cw=Math.cos(t),this.sw=Math.sin(t)}function nO(t){t.x-=this.long0;var e=Math.sin(t.y),n=Math.cos(t.y),a=Math.cos(t.x),i,r;switch(this.mode){case lt.OBLIQ:r=this.sinph0*e+this.cosph0*n*a;break;case lt.EQUIT:r=n*a;break;case lt.S_POLE:r=-e;break;case lt.N_POLE:r=e;break}switch(r=this.pn1/(this.p-r),i=r*n*Math.sin(t.x),this.mode){case lt.OBLIQ:r*=this.cosph0*e-this.sinph0*n*a;break;case lt.EQUIT:r*=e;break;case lt.N_POLE:r*=-(n*a);break;case lt.S_POLE:r*=n*a;break}var o,s;return o=r*this.cg+i*this.sg,s=1/(o*this.sw*this.h1+this.cw),i=(i*this.cg-r*this.sg)*this.cw*s,r=o*s,t.x=i*this.a,t.y=r*this.a,t}function aO(t){t.x/=this.a,t.y/=this.a;var e={x:t.x,y:t.y},n,a,i;i=1/(this.pn1-t.y*this.sw),n=this.pn1*t.x*i,a=this.pn1*t.y*this.cw*i,t.x=n*this.cg+a*this.sg,t.y=a*this.cg-n*this.sg;var r=Ht(t.x,t.y);if(Math.abs(r)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function sO(t){var e=t.x,n=t.y,a,i,r,o;if(e=e-this.long0,this.shape==="ellipse"){n=Math.atan(this.radius_p2*Math.tan(n));var s=this.radius_p/Ht(this.radius_p*Math.cos(n),Math.sin(n));if(i=s*Math.cos(e)*Math.cos(n),r=s*Math.sin(e)*Math.cos(n),o=s*Math.sin(n),(this.radius_g-i)*i-r*r-o*o*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;a=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/Ht(o,a)),t.y=this.radius_g_1*Math.atan(o/a)):(t.x=this.radius_g_1*Math.atan(r/a),t.y=this.radius_g_1*Math.atan(o/Ht(r,a)))}else this.shape==="sphere"&&(a=Math.cos(n),i=Math.cos(e)*a,r=Math.sin(e)*a,o=Math.sin(n),a=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/Ht(o,a)),t.y=this.radius_g_1*Math.atan(o/a)):(t.x=this.radius_g_1*Math.atan(r/a),t.y=this.radius_g_1*Math.atan(o/Ht(r,a))));return t.x=t.x*this.a,t.y=t.y*this.a,t}function lO(t){var e=-1,n=0,a=0,i,r,o,s;if(t.x=t.x/this.a,t.y=t.y/this.a,this.shape==="ellipse"){this.flip_axis?(a=Math.tan(t.y/this.radius_g_1),n=Math.tan(t.x/this.radius_g_1)*Ht(1,a)):(n=Math.tan(t.x/this.radius_g_1),a=Math.tan(t.y/this.radius_g_1)*Ht(1,n));var u=a/this.radius_p;if(i=n*n+u*u+e*e,r=2*this.radius_g*e,o=r*r-4*i*this.C,o<0)return t.x=Number.NaN,t.y=Number.NaN,t;s=(-r-Math.sqrt(o))/(2*i),e=this.radius_g+s*e,n*=s,a*=s,t.x=Math.atan2(n,e),t.y=Math.atan(a*Math.cos(t.x)/e),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y))}else if(this.shape==="sphere"){if(this.flip_axis?(a=Math.tan(t.y/this.radius_g_1),n=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+a*a)):(n=Math.tan(t.x/this.radius_g_1),a=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+n*n)),i=n*n+a*a+e*e,r=2*this.radius_g*e,o=r*r-4*i*this.C,o<0)return t.x=Number.NaN,t.y=Number.NaN,t;s=(-r-Math.sqrt(o))/(2*i),e=this.radius_g+s*e,n*=s,a*=s,t.x=Math.atan2(n,e),t.y=Math.atan(a*Math.cos(t.x)/e)}return t.x=t.x+this.long0,t}var uO=["Geostationary Satellite View","Geostationary_Satellite","geos"];const cO={init:oO,forward:sO,inverse:lO,names:uO};var q4=1.340264,J4=-.081106,Q4=893e-6,X4=.003796,ir=Math.sqrt(3)/2;function dO(){this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.es!==0&&(this.apa=hg(this.es),this.qp=g6(this.e,1),this.rqda=Math.sqrt(.5*this.qp))}function fO(t){var e=E1(t.x-this.long0,this.over),n=t.y,a=Math.sin(n);this.es!==0&&(a=g6(this.e,a)/this.qp);var i=Math.asin(ir*a),r=i*i,o=r*r*r;return t.x=e*Math.cos(i)/(ir*(q4+3*J4*r+o*(7*Q4+9*X4*r))),t.y=i*(q4+J4*r+o*(Q4+X4*r)),this.es!==0&&(t.x*=this.rqda,t.y*=this.rqda),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function hO(t){t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,this.es!==0&&(t.x/=this.rqda,t.y/=this.rqda);var e=1e-9,n=12,a=t.y,i,r,o,s,u,m;for(m=0;m=m1?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=wO,this.forward=SO)}function yO(t){var e=E1(t.x-(this.long0||0),this.over),n=t.y,a,i,r;return a=this.am1+this.m1-P8(n,i=Math.sin(n),r=Math.cos(n),this.en),i=r*e/(a*Math.sqrt(1-this.es*i*i)),t.x=a*Math.sin(i),t.y=this.am1-a*Math.cos(i),t.x=this.a*t.x+(this.x0||0),t.y=this.a*t.y+(this.y0||0),t}function vO(t){t.x=(t.x-(this.x0||0))/this.a,t.y=(t.y-(this.y0||0))/this.a;var e,n,a,i;if(n=Ht(t.x,t.y=this.am1-t.y),i=pu(this.am1+this.m1-n,this.es,this.en),(e=Math.abs(i))g7?(t.x=i*Math.sin(a=e*Math.cos(n)/i),t.y=this.cphi1-i*Math.cos(a)):t.x=t.y=0,t.x=this.a*t.x+(this.x0||0),t.y=this.a*t.y+(this.y0||0),t}function wO(t){t.x=(t.x-(this.x0||0))/this.a,t.y=(t.y-(this.y0||0))/this.a;var e,n,a=Ht(t.x,t.y=this.cphi1-t.y);if(n=this.cphi1+this.phi1-a,Math.abs(n)>m1)throw new Error;return Math.abs(Math.abs(n)-m1)<=g7?e=0:e=a*Math.atan2(t.x,t.y)/Math.cos(n),t.x=E1(e+(this.long0||0),this.over),t.y=T5(n),t}var bO=["bonne","Bonne (Werner lat_1=90)"];const TO={init:gO,names:bO},am={OBLIQUE:{forward:MO,inverse:kO},TRANSVERSE:{forward:PO,inverse:EO}},rr={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};function CO(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=Zp.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);const t=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),e=Pn(t);if(!e)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);e.long0=0,this.obliqueProjection=e;let n;const a=Object.keys(rr),i=s=>{if(typeof this[s]=="undefined")return;const u=parseFloat(this[s])*ve;if(isNaN(u))throw new Error("Invalid value for "+s+": "+this[s]);return u};for(let s=0;stypeof this[g]!="undefined")){n=m;for(let g=0;gP1?(this.cphip=Math.cos(o),this.sphip=Math.sin(o),this.projectionType=am.OBLIQUE):this.projectionType=am.TRANSVERSE}function AO(t){return this.projectionType.forward(this,t)}function _O(t){return this.projectionType.inverse(this,t)}function xO(t,e){let n,a;if(e===rr.ROTATE){let i=t.oLongC,r=t.oLatC,o=t.oAlpha;if(Math.abs(Math.abs(r)-m1)<=P1)throw new Error("Invalid value for o_lat_c: "+t.o_lat_c+" should be < 90°");a=i+Math.atan2(-1*Math.cos(o),-1*Math.sin(o)*Math.sin(r)),n=Math.asin(Math.cos(r)*Math.sin(o))}else if(e===rr.NEW_POLE)a=t.oLongP,n=t.oLatP;else{let i=t.oLong1,r=t.oLat1,o=t.oLong2,s=t.oLat2,u=Math.abs(r);if(Math.abs(r)>m1-P1)throw new Error("Invalid value for o_lat_1: "+t.o_lat_1+" should be < 90°");if(Math.abs(s)>m1-P1)throw new Error("Invalid value for o_lat_2: "+t.o_lat_2+" should be < 90°");if(Math.abs(r-s)new DecompressionStream("deflate-raw"),e=n=>new Response(n);t(),wg=n=>e(e(n).body.pipeThrough(t())).arrayBuffer().then(a=>new Uint8Array(a))}catch(t){}var wg,im=new TextDecoder,Bs=t=>{throw Error("but-unzip~"+t)};function*IO(t,e=wg){let n=t.length-21,a=n-65536,i=new DataView(t.buffer,t.byteOffset),r=u=>i.getUint16(u+n,1),o=u=>i.getUint32(u+n,1),s=(u,m)=>t.subarray(n+=u,n+=m);for(;n>a&&(n=t.lastIndexOf(80,n-1))+1&&(t[n+1]-75||t[n+2]-5||t[n+3]-6););for(n<0&&Bs(2),a=r(10),a-r(8)&&Bs(3),n=o(16);a--;){let u=r(10),m=r(28),h=r(30),p=r(32),g=o(20),C=o(42),I=im.decode(s(46,m)),U=im.decode(s(h,p)),j=n,l2;n=C,l2=s(30+r(26)+r(28),g),yield{filename:I,comment:U,read:()=>u-8?u?Bs(1):l2:e(l2)},n=j}}const FO=/.+\.(shp|dbf|json|prj|cpg)$/i,BO=t=>P3(void 0,null,function*(){const e={},n=[];for(const r of IO(t))FO.test(r.filename)&&n.push(Promise.resolve(r.read()).then(o=>e[r.filename]=o));yield Promise.all(n);const a={},i=new TextDecoder;for(const[r,o]of Object.entries(e))r.slice(-3).toLowerCase()==="shp"||r.slice(-3).toLowerCase()==="dbf"?a[r]=new DataView(o.buffer,o.byteOffset,o.byteLength):a[r]=i.decode(o);return a}),DO=globalThis.URL,GO=(t,e)=>{if(!e)return t;const n=new DO(t);return n.pathname=`${n.pathname}.${e}`,n.href};function y7(t,e){return P3(this,null,function*(){const n=GO(t,e),a=e==="prj"||e==="cpg";try{const i=yield fetch(n);if(i.status>399)throw new Error(i.statusText);if(a)return i.text();const r=yield i.arrayBuffer();return new DataView(r)}catch(i){if(a||e==="dbf")return!1;throw i}})}function UO(t){let e=0,n=1;const a=t.length;let i,r;const o=[t[0][0],t[0][1],t[0][0],t[0][1]];for(;no[2]&&(o[2]=r[0]),r[1]>o[3]&&(o[3]=r[1]);return{ring:t,clockWise:e>0,bbox:o,children:[]}}function rm(t,e){return!(t.bbox[0]>e.bbox[0]||t.bbox[1]>e.bbox[1]||t.bbox[2]m.toReversed())));return s}}const r=[];for(const o of n)r.push([o.ring].concat(o.children));return r}ke.prototype.parsePoint=function(t){return{type:"Point",coordinates:this.parseCoord(t,0)}};ke.prototype.parseZPoint=function(t){const e=this.parsePoint(t);return e.coordinates.push(t.getFloat64(16,!0)),e};ke.prototype.parsePointArray=function(t,e,n){const a=[];let i=0;for(;i20&&(e-=20),!(e in om))throw new Error(`I don't know shp type "${e}"`);this.parseFunc=this[om[e]],this.parseCoord=OO(t)};ke.prototype.getShpCode=function(){return this.parseHeader().shpCode};ke.prototype.parseHeader=function(){const t=this.buffer;return{length:t.getInt32(24)<<1,version:t.getInt32(28,!0),shpCode:t.getInt32(32,!0),bbox:[t.getFloat64(36,!0),t.getFloat64(44,!0),t.getFloat64(52,!0),t.getFloat64(60,!0)]}};ke.prototype.getRows=function(){let t=100;const e=this.buffer.byteLength-8,n=[];let a;for(;t<=e&&(a=this.getRow(t),!!a);)t+=8,t+=a.len,a.type?n.push(this.parseFunc(a.data)):n.push(null);return n};ke.prototype.getRow=function(t){const e=this.buffer.getInt32(t),n=this.buffer.getInt32(t+4)<<1;if(n===0)return{id:e,len:n,type:0};if(!(t+n+8>this.buffer.byteLength))return{id:e,len:n,data:new DataView(this.buffer.buffer,this.buffer.byteOffset+t+12,n-4),type:this.buffer.getInt32(t+8,!0)}};function bu(t,e){return new ke(t,e).rows}var jO=/^(?:ANSI\s)?(\d+)$/m;function Tg(t,e){if(!t)return a;try{new TextDecoder(t.trim())}catch(i){var n=jO.exec(t);return n&&!e?Tg("windows-"+n[1],!0):(t=void 0,a)}return a;function a(i){var r=new TextDecoder(t||void 0),o=r.decode(i,{stream:!0})+r.decode();return o.replace(/\0/g,"").trim()}}function zO(t){var e={};return e.lastUpdated=new Date(t.getUint8(1)+1900,t.getUint8(2),t.getUint8(3)),e.records=t.getUint32(4,!0),e.headerLen=t.getUint16(8,!0),e.recLen=t.getUint16(10,!0),e}function YO(t,e,n){for(var a=[],i=32;i{if(!t)throw new Error("forgot to pass buffer");if(w8(t))return new Uint8Array(t);if(w8(t.buffer))return t.BYTES_PER_ELEMENT===1?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("invalid buffer like object")},KO=new TextDecoder,Cg=t=>{if(t){if(typeof t=="string")return t;if(w8(t)||ArrayBuffer.isView(t)||Cu(t))return KO.decode(t)}},Ag=t=>{if(!t)throw new Error("forgot to pass buffer");if(Cu(t))return t;if(w8(t))return new DataView(t);if(w8(t.buffer))return new DataView(t.buffer,t.byteOffset,t.byteLength);throw new Error("invalid buffer like object")};function w8(t){return t instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(t)==="[object ArrayBuffer]"}function Cu(t){return t instanceof globalThis.DataView||Object.prototype.toString.call(t)==="[object DataView]"}const Au=function([t,e]){const n={};n.type="FeatureCollection",n.features=[];let a=0;const i=t.length;for(e||(e=[]);a-1?i.push(n.slice(0,-3)+n.slice(-3).toLowerCase()):(n.slice(-4).toLowerCase()===".dbf"||n.slice(-4).toLowerCase()===".cpg")&&(a[n.slice(0,-3)+n.slice(-3).toLowerCase()]=a[n]));if(!i.length)throw new Error("no layers founds");const r=i.map(function(o){let s,u;const m=o.lastIndexOf(".");return m>-1&&o.slice(m).indexOf("json")>-1?(s=JSON.parse(a[o]),s.fileName=o.slice(0,m)):e.indexOf(o.slice(m+1))>-1?(s=a[o],s.fileName=o):(a[o+".dbf"]&&(u=Tu(a[o+".dbf"],a[o+".cpg"])),s=Au([bu(a[o+".shp"],a[o+".prj"]),u]),s.fileName=o),s});return r.length===1?r[0]:r})};function qO(t,e){return P3(this,null,function*(){const n=yield y7(t);return _g(n,e)})}const JO=t=>P3(void 0,null,function*(){const e=yield Promise.all([y7(t,"shp"),y7(t,"prj")]);let n=!1;try{e[1]&&(n=kr(e[1]))}catch(a){n=!1}return bu(e[0],n)}),QO=t=>P3(void 0,null,function*(){const[e,n]=yield Promise.all([y7(t,"dbf"),y7(t,"cpg")]);if(e)return Tu(e,n)}),sm=(t,e)=>{var a;return new VO(t,(a=globalThis==null?void 0:globalThis.document)==null?void 0:a.location).pathname.slice(-4).toLowerCase()===e},XO=({shp:t,dbf:e,cpg:n,prj:a})=>{const i=[ej(t,a)];return e&&i.push(tj(e,n)),Au(i)},ZO=function(t,e){return P3(this,null,function*(){if(typeof t!="string"){if(w8(t)||ArrayBuffer.isView(t)||Cu(t))return _g(t);if(t.shp)return XO(t);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(sm(t,".zip"))return qO(t,e);sm(t,".shp")&&(t=t.slice(0,-4));const n=yield Promise.all([JO(t),QO(t)]);return Au(n)})},ej=function(t,e){if(t=Ag(t),e=Cg(e),typeof e=="string")try{e=kr(e)}catch(n){e=!1}return bu(t,e)},tj=function(t,e){return t=Ag(t),e=Cg(e),Tu(t,e)};const nj={class:"engineering-analysis-panel"},aj={class:"analysis-card analysis-workbench"},ij={class:"analysis-card-head"},rj={key:0},oj=["disabled"],sj=["disabled"],lj={key:1,class:"analysis-drawing-stage"},uj={class:"analysis-point-count"},cj=["disabled"],dj=["disabled"],fj={key:2,class:"analysis-boundary-bar"},hj={key:0,class:"analysis-card analysis-result"},mj={class:"analysis-card-head"},pj={class:"analysis-conclusion-head"},gj={class:"analysis-conclusion-tags"},yj={key:0,class:"analysis-empty is-success"},vj={key:1,class:"analysis-project-list"},Sj=["onPointerup"],wj={class:"analysis-project-name"},bj={class:"analysis-project-meta"},Tj={__name:"EngineeringAnalysisPanel",props:{drawingPointCount:{type:Number,default:0}},emits:["drawing-change","finish-drawing","undo-point","clear-boundary","analysis-result","focus-project"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Q2(!1),o=Q2(null),s=Q2([]),u=Q2([]),m=Q2(""),h=Q2("idle"),p=Q2([]);let g=null;const C=s2(()=>{var T3;const G2=u.value.length,H2=s.value.length,e3=s.value.reduce((y1,B1)=>y1+Number(B1.overlapAreaWanMu||0),0);return{boundaryAreaWanMu:W1((T3=o.value)==null?void 0:T3.geometry),featureCount:G2,projectCount:H2,overlapAreaWanMu:e3}}),I=s2(()=>m.value?m.value:h.value==="loading"?"项目库加载中":h.value==="error"?"项目库加载失败":""),U=s2(()=>o.value?s.value.length?"已发现建设记录":"未发现建设记录":"未分析"),j=s2(()=>r.value&&a.drawingPointCount>=3),l2=s2(()=>{if(!o.value)return{levelClass:"",verdict:"",summary:"",tags:[],advice:""};if(!s.value.length)return{levelClass:"is-clear",verdict:"未发现建设记录",summary:"该边界范围暂未与项目库中的已建设工程形成空间叠加。",tags:[`分析范围 ${A1(C.value.boundaryAreaWanMu)} 万亩`,"项目库未命中"],advice:"可进入新增工程选址论证,仍需结合保护红线、审批台账和现场踏勘复核。"};const G2=O3(s.value),H2=g1(s.value),e3=[...s.value].sort((B1,G1)=>Number(G1.overlapAreaWanMu||0)-Number(B1.overlapAreaWanMu||0))[0],T3=q3(C.value.overlapAreaWanMu),y1=s.value.length>=6||C.value.overlapAreaWanMu>=1?"存在建设叠加":"存在局部叠加";return{levelClass:s.value.length>=6?"is-heavy":"is-hit",verdict:y1,summary:`该边界命中 ${s.value.length} 个历史项目,叠加约 ${T3} 亩,项目类型以${G2.name}为主,年份集中在 ${H2}。`,tags:[`主类型 ${G2.name}`,`年份 ${H2}`,`最大叠加 ${q3(e3==null?void 0:e3.overlapAreaWanMu)} 亩`],advice:`重点复核“${H1(e3==null?void 0:e3.projectName)}”(${(e3==null?void 0:e3.year)||"未知"},${(e3==null?void 0:e3.category)||"未知类型"})与拟建范围的重合边界。`}});mn(()=>{U3().catch(()=>{})});function v2(G2){return P3(this,null,function*(){var e3;const H2=(e3=G2.target.files)==null?void 0:e3[0];if(G2.target.value="",!!H2){m.value="";try{const T3=yield S2(H2);r.value&&(r.value=!1,i("drawing-change",!1)),i("clear-boundary"),yield p3(T3)}catch(T3){m.value="边界文件解析失败"}}})}function S2(G2){return P3(this,null,function*(){const H2=String(G2.name||"").toLowerCase();if(H2.endsWith(".json")||H2.endsWith(".geojson"))return T2(JSON.parse(yield G2.text()));if(H2.endsWith(".zip")){const e3=yield ZO(yield G2.arrayBuffer());return T2(e3)}throw new Error("unsupported file")})}function T2(G2){const H2=Y3(G2).filter(e3=>L3(e3==null?void 0:e3.geometry));if(H2.length)return o3(H2);throw new Error("no polygon")}function C2(){r.value||(m.value="",r.value=!0,o.value=null,s.value=[],u.value=[],i("analysis-result",{boundary:null,matches:[],rows:[],summary:C.value}),i("drawing-change",!0))}function j2(){r.value&&(r.value=!1,i("clear-boundary"),i("analysis-result",{boundary:null,matches:[],rows:[],summary:C.value}))}function K2(){j.value&&i("finish-drawing")}function V2(){i("undo-point")}function s3(){r.value=!1,o.value=null,s.value=[],u.value=[],m.value="",i("clear-boundary"),i("analysis-result",{boundary:null,matches:[],rows:[],summary:C.value})}function m3(G2){G2!=null&&G2.geometry&&(r.value=!1,p3(G2))}function p3(G2){return P3(this,null,function*(){o.value=G2,u.value=[],s.value=[];let H2=[];try{const e3=yield U3();H2=n1(G2,e3),u.value=H2,s.value=b1(H2)}catch(e3){m.value="项目库加载失败"}i("analysis-result",{boundary:G2,matches:H2,rows:s.value,summary:C.value})})}function U3(){return P3(this,null,function*(){return p.value.length?p.value:g||(h.value="loading",g=fetch(b3("datas/ecological-protection/ecological_restoration_projects.geojson"),{credentials:"include"}).then(H2=>{if(!H2.ok)throw new Error(`HTTP ${H2.status}`);return H2.json()}).then(H2=>{const e3=Y3(H2).filter(T3=>{var y1;return(y1=T3==null?void 0:T3.geometry)==null?void 0:y1.coordinates}).map((T3,y1)=>Z2(B2({},T3),{properties:Z2(B2({},T3.properties||{}),{source_index:y1})}));return p.value=e3,h.value="success",e3}).catch(H2=>{throw h.value="error",g=null,H2}),g)})}function b3(G2){return G2?/^https?:\/\//.test(G2)||G2.startsWith("/")?G2:`./${G2}`:""}function Y3(G2){return G2?Array.isArray(G2)?G2.flatMap(H2=>Y3(H2)):G2.type==="FeatureCollection"?(G2.features||[]).filter(Boolean):G2.type==="Feature"?G2.geometry?[G2]:[]:h1(G2)?[{type:"Feature",properties:{},geometry:G2}]:typeof G2=="object"?Object.values(G2).flatMap(H2=>Y3(H2)):[]:[]}function o3(G2){const H2=G2.flatMap(e3=>e3.geometry.type==="Polygon"?[e3.geometry.coordinates]:e3.geometry.coordinates);return H2.length===1?{type:"Feature",properties:G2[0].properties||{},geometry:{type:"Polygon",coordinates:H2[0]}}:{type:"Feature",properties:{sourceFeatureCount:G2.length},geometry:{type:"MultiPolygon",coordinates:H2}}}function n1(G2,H2=p.value){const e3=c1(G2.geometry);return H2.filter(T3=>W3(T3.geometry,G2.geometry,e3)).map(T3=>({feature:T3,properties:T3.properties||{},overlapAreaWanMu:h3(T3,G2.geometry)}))}function b1(G2){const H2=new Map;return G2.forEach(e3=>{const T3=e3.properties||{},y1=T3.project_name||T3.projectName||"未命名项目",B1=H2.get(y1)||{key:y1,projectName:y1,category:T3.project_category||"未知类型",year:T3.year||"未知",featureCount:0,overlapAreaWanMu:0,features:[],sourceIndex:Number(T3.source_index||0)};B1.featureCount+=1,B1.overlapAreaWanMu+=Number(e3.overlapAreaWanMu||0),B1.features.push(e3.feature),H2.set(y1,B1)}),[...H2.values()].map(e3=>Z2(B2({},e3),{overlapAreaWanMu:Number(e3.overlapAreaWanMu.toFixed(4))}))}function W3(G2,H2,e3){if(!M1(c1(G2),e3))return!1;const T3=x3(H2);return T3.length?L3(G2)?R1(G2,T3):(G2==null?void 0:G2.type)==="Point"?C1(G2.coordinates,T3):(G2==null?void 0:G2.type)==="MultiPoint"?G2.coordinates.some(y1=>C1(y1,T3)):(G2==null?void 0:G2.type)==="LineString"?D1(G2.coordinates,T3):(G2==null?void 0:G2.type)==="MultiLineString"?G2.coordinates.some(y1=>D1(y1,T3)):!1:!1}function R1(G2,H2){const e3=x3(G2);return e3.length?e3.some(T3=>T3.some(y1=>C1(y1,H2)))||H2.some(T3=>T3.some(y1=>C1(y1,e3)))||e3.some(T3=>H2.some(y1=>o1(T3,y1))):!1}function D1(G2=[],H2){return!Array.isArray(G2)||!G2.length?!1:G2.some(e3=>C1(e3,H2))?!0:H2.some(e3=>Y1(G2,e3))}function Y1(G2,H2){for(let e3=1;e3S1+F1.filter(s0=>C1(s0,y1)).length,0),e1=T3.reduce((S1,F1)=>S1+F1.length,0);return D3?Number((B1*Math.max(.08,Math.min(1,D3/Math.max(e1,1)))).toFixed(4)):y1.reduce((S1,F1)=>S1+F1.filter(s0=>C1(s0,T3)).length,0)?Number(Math.min(B1,G1).toFixed(4)):T3.some(S1=>y1.some(F1=>o1(S1,F1)))?Number((Math.min(B1,G1)*.12).toFixed(4)):0}function x3(G2){var H2;return(G2==null?void 0:G2.type)==="Polygon"?[((H2=G2.coordinates)==null?void 0:H2[0])||[]]:(G2==null?void 0:G2.type)==="MultiPolygon"?G2.coordinates.map(e3=>(e3==null?void 0:e3[0])||[]).filter(e3=>e3.length):[]}function L3(G2){return(G2==null?void 0:G2.type)==="Polygon"||(G2==null?void 0:G2.type)==="MultiPolygon"}function h1(G2){return["Polygon","MultiPolygon","LineString","MultiLineString","Point","MultiPoint"].includes(G2==null?void 0:G2.type)}function C1(G2,H2){return H2.some(e3=>_1(G2,e3))}function _1(G2,H2){var B1,G1,D3,e1;let e3=!1;const T3=Number(G2==null?void 0:G2[0]),y1=Number(G2==null?void 0:G2[1]);for(let s1=0,S1=H2.length-1;s1y1!=u3>y1&&T3<(G0-F1)*(y1-s0)/(u3-s0)+F1&&(e3=!e3)}return e3}function o1(G2,H2){for(let e3=1;e3(Number(S1[0])-Number(s1[0]))*(Number(F1[1])-Number(s1[1]))-(Number(S1[1])-Number(s1[1]))*(Number(F1[0])-Number(s1[0])),B1=y1(G2,H2,e3),G1=y1(G2,H2,T3),D3=y1(e3,T3,G2),e1=y1(e3,T3,H2);return B1===0&&j3(e3,G2,H2)||G1===0&&j3(T3,G2,H2)||D3===0&&j3(G2,e3,T3)||e1===0&&j3(H2,e3,T3)?!0:(B1>0&&G1<0||B1<0&&G1>0)&&(D3>0&&e1<0||D3<0&&e1>0)}function $2(G2,H2,e3,T3){const y1=g3([G2,H2]),B1=g3([e3,T3]);return M1(y1,B1)}function j3(G2,H2,e3){const T3=Number(G2==null?void 0:G2[0]),y1=Number(G2==null?void 0:G2[1]),B1=Number(H2==null?void 0:H2[0]),G1=Number(H2==null?void 0:H2[1]),D3=Number(e3==null?void 0:e3[0]),e1=Number(e3==null?void 0:e3[1]),s1=(T3-B1)*(e1-G1)-(y1-G1)*(D3-B1);return Math.abs(s1)>1e-10?!1:T3>=Math.min(B1,D3)-1e-10&&T3<=Math.max(B1,D3)+1e-10&&y1>=Math.min(G1,e1)-1e-10&&y1<=Math.max(G1,e1)+1e-10}function c1(G2){const H2=[];return E3(G2==null?void 0:G2.coordinates,H2),H2.length?H2.reduce((e3,T3)=>({minLng:Math.min(e3.minLng,Number(T3[0])),minLat:Math.min(e3.minLat,Number(T3[1])),maxLng:Math.max(e3.maxLng,Number(T3[0])),maxLat:Math.max(e3.maxLat,Number(T3[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY}):null}function M1(G2,H2){return!G2||!H2?!1:!(G2.maxLngH2.maxLng||G2.maxLatH2.maxLat)}function $1(G2){return W1(G2==null?void 0:G2.geometry)}function W1(G2){return(G2==null?void 0:G2.type)==="Polygon"?P(G2.coordinates):(G2==null?void 0:G2.type)==="MultiPolygon"?G2.coordinates.reduce((H2,e3)=>H2+P(e3),0):0}function P(G2=[]){const H2=G2[0]||[];if(H2.length<3)return 0;const e3=H2.reduce((G1,D3)=>G1+Number(D3[1]||0),0)/H2.length,T3=111320*Math.cos(e3*Math.PI/180),y1=110540;let B1=0;for(let G1=0;G1E3(e3,H2))}}function g3(G2){return G2.reduce((H2,e3)=>({minLng:Math.min(H2.minLng,Number(e3==null?void 0:e3[0])),minLat:Math.min(H2.minLat,Number(e3==null?void 0:e3[1])),maxLng:Math.max(H2.maxLng,Number(e3==null?void 0:e3[0])),maxLat:Math.max(H2.maxLat,Number(e3==null?void 0:e3[1]))}),{minLng:Number.POSITIVE_INFINITY,minLat:Number.POSITIVE_INFINITY,maxLng:Number.NEGATIVE_INFINITY,maxLat:Number.NEGATIVE_INFINITY})}function A1(G2){const H2=Number(G2||0);return Number.isFinite(H2)?Number(H2.toFixed(H2>=10?2:4)).toString():"0"}function q3(G2){const H2=Number(G2||0)*1e4;return Number.isFinite(H2)?H2>=1e3?Number(H2.toFixed(0)).toLocaleString("zh-CN"):H2>=10?Number(H2.toFixed(1)).toLocaleString("zh-CN"):Number(H2.toFixed(2)).toString():"0"}function O3(G2=[]){const H2=new Map;return G2.forEach(e3=>{const T3=e3.category||"未知类型",y1=H2.get(T3)||{name:T3,count:0,area:0};y1.count+=1,y1.area+=Number(e3.overlapAreaWanMu||0),H2.set(T3,y1)}),[...H2.values()].sort((e3,T3)=>T3.area-e3.area||T3.count-e3.count)[0]||{name:"未知类型",count:0,area:0}}function g1(G2=[]){const H2=G2.map(y1=>Number(y1.year)).filter(y1=>Number.isFinite(y1));if(!H2.length)return"未知年份";const e3=Math.min(...H2),T3=Math.max(...H2);return e3===T3?`${e3} 年`:`${e3}-${T3} 年`}function H1(G2,H2=18){const e3=String(G2||"未命名项目");return e3.length>H2?`${e3.slice(0,H2)}...`:e3}return e({applyDrawnBoundary:m3}),(G2,H2)=>(G(),z("div",nj,[w("div",aj,[w("div",ij,[H2[0]||(H2[0]=w("span",null,"生态工程分析",-1)),I.value?(G(),z("strong",rj,i2(I.value),1)):k3("",!0)]),r.value?k3("",!0):(G(),z("div",{key:0,class:r1(["analysis-operation",{"has-boundary":o.value}])},[w("label",{class:r1(["analysis-entry is-upload",{"is-disabled":r.value}])},[w("input",{type:"file",accept:".zip,.json,.geojson",disabled:r.value,onChange:v2},null,40,oj),w("span",null,i2(o.value?"更换边界":"上传边界"),1),H2[1]||(H2[1]=w("strong",null,"SHP / GeoJSON",-1))],2),w("button",{type:"button",class:"analysis-entry is-draw",disabled:r.value,onPointerup:_0(C2,["stop","prevent"])},[w("span",null,i2(o.value?"重新绘制":"在线绘制"),1),H2[2]||(H2[2]=w("strong",null,"地图圈定",-1))],40,sj)],2)),r.value?(G(),z("div",lj,[w("div",uj,[H2[3]||(H2[3]=w("span",null,"已落点",-1)),w("strong",null,i2(t.drawingPointCount),1),H2[4]||(H2[4]=w("em",null,"点",-1)),H2[5]||(H2[5]=w("small",null,"至少 3 点",-1))]),w("button",{type:"button",class:"analysis-control is-primary",disabled:!j.value,onPointerup:_0(K2,["stop","prevent"])}," 完成分析 ",40,cj),w("button",{type:"button",class:"analysis-control",disabled:!t.drawingPointCount,onPointerup:_0(V2,["stop","prevent"])},"撤销",40,dj),w("button",{type:"button",class:"analysis-control is-danger",onPointerup:_0(j2,["stop","prevent"])},"删除图形",32)])):o.value?(G(),z("div",fj,[H2[6]||(H2[6]=w("span",null,"边界已加载",-1)),w("strong",null,i2(s.value.length?`命中 ${s.value.length} 项`:U.value),1),w("button",{type:"button",onPointerup:_0(s3,["stop","prevent"])},"删除图形",32)])):k3("",!0)]),o.value?(G(),z("div",hj,[w("div",mj,[H2[7]||(H2[7]=w("span",null,"建设记录核查",-1)),w("strong",null,i2(U.value),1)]),w("div",{class:r1(["analysis-conclusion",l2.value.levelClass])},[w("div",pj,[H2[8]||(H2[8]=w("span",null,"分析结论",-1)),w("strong",null,i2(l2.value.verdict),1)]),w("p",null,i2(l2.value.summary),1),w("div",gj,[(G(!0),z(B3,null,H3(l2.value.tags,e3=>(G(),z("span",{key:e3},i2(e3),1))),128))]),w("small",null,i2(l2.value.advice),1)],2),s.value.length?(G(),z("div",vj,[(G(!0),z(B3,null,H3(s.value,e3=>(G(),z("button",{key:e3.key,type:"button",class:"analysis-project-row",onPointerup:_0(T3=>G2.$emit("focus-project",e3),["stop","prevent"])},[w("span",wj,i2(e3.projectName),1),w("div",bj,[w("strong",null,i2(e3.year),1),w("em",null,i2(e3.category),1),w("small",null,"叠加 "+i2(q3(e3.overlapAreaWanMu))+" 亩",1)]),w("b",null,i2(e3.featureCount)+" 个要素",1)],40,Sj))),128))])):(G(),z("div",yj,"该边界范围内暂未匹配到已建设项目"))])):k3("",!0)]))}},Cj=S7(Tj,[["__scopeId","data-v-98130796"]]),jn=(t,e)=>t.reduce((n,a)=>n+Number(a[e]||0),0),S0=(t,e=2)=>Number(Number(t||0).toFixed(e)),Kt={kpi:{projectCount:22,featureCount:29280,subjectFeatureCount:1478,controlPointCount:27802,areaWanMu:175.3693,lengthKm:1250.62,townshipCount:10},categories:[{name:"草地修复",subjectFeatureCount:1067,areaWanMu:168.0339,lengthKm:1238.18,projectCount:13},{name:"林地修复",subjectFeatureCount:244,areaWanMu:7.3354,lengthKm:0,projectCount:6},{name:"湿地修复",subjectFeatureCount:167,areaWanMu:0,lengthKm:12.44,projectCount:3}],measures:[{name:"草原改良",subjectFeatureCount:285,areaWanMu:84.2792,lengthKm:467.5,projectCount:8},{name:"人工种草",subjectFeatureCount:532,areaWanMu:29.1561,lengthKm:0,projectCount:13},{name:"封育治理",subjectFeatureCount:45,areaWanMu:21.2487,lengthKm:0,projectCount:1},{name:"围栏建设",subjectFeatureCount:223,areaWanMu:19.4235,lengthKm:660.88,projectCount:9},{name:"林草碳汇试点",subjectFeatureCount:11,areaWanMu:12.5759,lengthKm:0,projectCount:1},{name:"水源涵养",subjectFeatureCount:82,areaWanMu:5.6993,lengthKm:0,projectCount:1},{name:"人工种草/补播",subjectFeatureCount:46,areaWanMu:2.8162,lengthKm:0,projectCount:4},{name:"防风固沙林",subjectFeatureCount:6,areaWanMu:.1303,lengthKm:0,projectCount:1},{name:"草种繁育",subjectFeatureCount:4,areaWanMu:.04,lengthKm:0,projectCount:1},{name:"种草围栏",subjectFeatureCount:77,areaWanMu:0,lengthKm:109.81,projectCount:1},{name:"小型坝",subjectFeatureCount:8,areaWanMu:0,lengthKm:8.83,projectCount:1},{name:"微型坝",subjectFeatureCount:159,areaWanMu:0,lengthKm:3.61,projectCount:2}],years:[{name:2017,areaWanMu:.1412,lengthKm:0,projectCount:1},{name:2018,areaWanMu:.5608,lengthKm:0,projectCount:1},{name:2019,areaWanMu:12.513,lengthKm:0,projectCount:1},{name:2020,areaWanMu:35.9848,lengthKm:0,projectCount:2},{name:2021,areaWanMu:25.0755,lengthKm:467.5,projectCount:5},{name:2022,areaWanMu:72.024,lengthKm:656.05,projectCount:8},{name:2023,areaWanMu:29.07,lengthKm:114.64,projectCount:3},{name:"未知",areaWanMu:0,lengthKm:12.44,projectCount:2}],townships:[{name:"麦洼乡",areaWanMu:28.5019,lengthKm:84.28,projectCount:3},{name:"龙日镇",areaWanMu:15.8472,lengthKm:46.05,projectCount:2},{name:"安曲镇",areaWanMu:13.1168,lengthKm:0,projectCount:2},{name:"瓦切镇",areaWanMu:6.6824,lengthKm:214.41,projectCount:4},{name:"色地镇",areaWanMu:6.344,lengthKm:101.25,projectCount:3},{name:"刷经寺镇",areaWanMu:5.6528,lengthKm:126.26,projectCount:1},{name:"邛溪镇",areaWanMu:2.3127,lengthKm:101.39,projectCount:4},{name:"阿木乡",areaWanMu:1.34,lengthKm:59.5,projectCount:2},{name:"查尔玛乡",areaWanMu:.7001,lengthKm:37.56,projectCount:1}],projects:[{projectName:"阿坝州红原县2020年退牧还草工程项目",projectCategory:"草地修复",year:2020,areaWanMu:35.6232,lengthKm:0,measureTypes:["人工种草","围栏建设"],townships:[],subjectFeatureCount:73},{projectName:"四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-2022年",projectCategory:"草地修复",year:2022,areaWanMu:21.5,lengthKm:172.31,measureTypes:["人工种草","围栏建设","种草围栏","草原改良"],townships:["刷经寺镇","龙日镇"],subjectFeatureCount:273},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理项目-草原封育治理-700",projectCategory:"草地修复",year:2022,areaWanMu:21.2487,lengthKm:272.25,measureTypes:["围栏建设","封育治理"],townships:["瓦切镇","色地镇","邛溪镇"],subjectFeatureCount:90},{projectName:"四川省阿坝州 2023 年中央财政林业草原改革发展资金预算(第三批)——红原县草原生态修复项目",projectCategory:"草地修复",year:2023,areaWanMu:18.79,lengthKm:32.32,measureTypes:["人工种草","围栏建设","草原改良","草种繁育"],townships:["瓦切镇","麦洼乡"],subjectFeatureCount:102},{projectName:"阿坝州红原县2022年第二批重点生态保护和修护治理——红原县林草碳汇创新开发建设试点项目",projectCategory:"草地修复",year:2022,areaWanMu:12.5759,lengthKm:0,measureTypes:["林草碳汇试点"],townships:["安曲镇"],subjectFeatureCount:11},{projectName:"四川省红原县2019年草原生态修复治理项目退化草地治理和天然草原改良",projectCategory:"草地修复",year:2019,areaWanMu:12.513,lengthKm:0,measureTypes:["人工种草/补播","草原改良"],townships:[],subjectFeatureCount:25},{projectName:"阿坝州红原县2021年若尔盖—甘南草原湿地生态保护和修复项目-1880",projectCategory:"草地修复",year:2021,areaWanMu:11.0031,lengthKm:467.5,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:229},{projectName:"2023 年度四川省阿坝州若尔盖草原湿地水源涵养生态保护和修复项目(红原县部分)-1315",projectCategory:"草地修复",year:2023,areaWanMu:10.28,lengthKm:82.32,measureTypes:["人工种草","围栏建设","草原改良"],townships:["查尔玛乡","麦洼乡"],subjectFeatureCount:50},{projectName:"阿坝州红原县 2022 年中央财政林业草原生态保护恢复(第二批)——草原生态修复治理补助项目-1972",projectCategory:"草地修复",year:2022,areaWanMu:8.2,lengthKm:113.37,measureTypes:["围栏建设","草原改良","人工种草"],townships:["色地镇","邛溪镇","阿木乡"],subjectFeatureCount:127},{projectName:"阿坝州红原县2021年省级草原生态保护恢复项目-1790",projectCategory:"草地修复",year:2021,areaWanMu:7,lengthKm:0,measureTypes:["人工种草","草原改良"],townships:[],subjectFeatureCount:16},{projectName:"阿坝州红原县 2021 年中央财政林业草原生态保护恢复项目-984",projectCategory:"草地修复",year:2021,areaWanMu:6.5,lengthKm:0,measureTypes:["草原改良","人工种草"],townships:[],subjectFeatureCount:14},{projectName:"红原县2022年度黄河上游水源涵养补给区综合治理项目实施方案(代作业设计)变更后最终版",projectCategory:"林地修复",year:2022,areaWanMu:5.6993,lengthKm:0,measureTypes:["水源涵养"],townships:["安曲镇","瓦切镇"],subjectFeatureCount:82},{projectName:"阿坝州红原县 2022 年第二批重点生态保护和修护治理——草原生态修复治理项目-1500",projectCategory:"草地修复",year:2022,areaWanMu:2,lengthKm:81.05,measureTypes:["人工种草","围栏建设"],townships:["瓦切镇","色地镇","麦洼乡"],subjectFeatureCount:53},{projectName:"阿坝州红原县 2022 年省级林业草原生态保护恢复——草原生态修复治理补助项目-888",projectCategory:"草地修复",year:2022,areaWanMu:.8,lengthKm:17.07,measureTypes:["人工种草","围栏建设"],townships:["阿木乡"],subjectFeatureCount:4},{projectName:"红原县2018年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2018,areaWanMu:.5608,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:107},{projectName:"红原县2021年黄河上游水源涵养补给区生态综合治理项目",projectCategory:"林地修复",year:2021,areaWanMu:.5224,lengthKm:0,measureTypes:["人工种草/补播"],townships:["邛溪镇"],subjectFeatureCount:14},{projectName:"红原县2020年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2020,areaWanMu:.3617,lengthKm:0,measureTypes:["人工种草","人工种草/补播"],townships:[],subjectFeatureCount:31},{projectName:"2017年川西高原生态脆弱区综合治理项目",projectCategory:"林地修复",year:2017,areaWanMu:.1412,lengthKm:0,measureTypes:["人工种草","防风固沙林"],townships:["邛溪镇"],subjectFeatureCount:8},{projectName:"红原县2021年人工造林封山育林项目",projectCategory:"林地修复",year:2021,areaWanMu:.05,lengthKm:0,measureTypes:["围栏建设"],townships:[],subjectFeatureCount:2},{projectName:"4980小型坝(1)(1)",projectCategory:"湿地修复",year:"未知",areaWanMu:0,lengthKm:8.83,measureTypes:["小型坝"],townships:[],subjectFeatureCount:8},{projectName:"红原县蓄水保湿工程-小型坝和微型坝(1)(1)",projectCategory:"湿地修复",year:2023,areaWanMu:0,lengthKm:3.61,measureTypes:["微型坝"],townships:[],subjectFeatureCount:59},{projectName:"4980微型坝成型(1)(1)",projectCategory:"湿地修复",year:2022,areaWanMu:0,lengthKm:0,measureTypes:["微型坝"],townships:[],subjectFeatureCount:100}]},Ds=[{key:"ecological-redline",label:"生态保护红线",bottomLabel:"生态保护红线"},{key:"natural-protected-area",label:"自然保护地",bottomLabel:"自然保护地"},{key:"national-park",label:"若尔盖国家公园",bottomLabel:"若尔盖国家公园"},{key:"restoration",label:"生态修复工程",bottomLabel:"生态修复工程"},{key:"engineering-analysis",label:"生态工程分析",bottomLabel:"生态工程分析"}],Z4=["ecological-redline","natural-protected-area"];function _u(t=[]){let e=t;if(e&&typeof e=="object"&&!Array.isArray(e)&&"value"in e&&(e=e.value),typeof e=="string")try{e=JSON.parse(e)}catch(n){e=[]}return(Array.isArray(e)?e:[]).map((n,a)=>({key:n.key||`${n.name||"统计项"}-${a}`,name:n.name||`统计项${a+1}`,value:S0(n.value,2),unit:n.unit||"万亩",color:n.color,extra:n.extra||"",icon:n.icon||""}))}function xg(t,e,n,a,i=""){return{key:t,name:e,value:S0(n,a==="%"?1:2),unit:a,extra:i}}function xu(t=[],e=jn(t,"value")){return t.map(n=>Z2(B2({},n),{extra:n.extra||`占比 ${S0(Number(n.value||0)/Math.max(e,1)*100,1)}%`}))}function Aj(t=[],e=!1){const n=new Map(dn.map((a,i)=>[a,i]));return[...t].sort((a,i)=>{if(e)return Number(i.value||0)-Number(a.value||0);const r=n.has(a.name)?n.get(a.name):999,o=n.has(i.name)?n.get(i.name):999;return r-o||Number(i.value||0)-Number(a.value||0)})}function mi(t={},e,n,a="万亩",i={}){const r=Aj(_u(t[e]),i.sortByValue===!0).filter(s=>Number(s.value)>0).map(s=>Z2(B2({},s),{unit:s.unit||a}));if(r.length)return i.withPercent===!1?r:xu(r);const o=Number(t[n]||0);return o>0?[xg(`${e}-total`,"全县合计",o,a)]:[]}function Gs(t={},e,n,a,i="万亩",r=6){const o=_u(t[e]).filter(u=>Number(u.value)>0).slice(0,r).map(u=>Z2(B2({},u),{unit:u.unit||i}));if(o.length)return xu(o);const s=Number(t[n]||0);return s>0?[xg(`${e}-total`,a,s,i)]:[]}function lm(t){return((t==null?void 0:t.rows)||[]).some(e=>Number(e.value)>0)}const _j=Object.freeze({"ecological-redline":{scopeKey:"ecological-redline",scopeName:"生态保护红线",scopeAreaWanMu:537.12,sourceFeatureCount:374,grasslandAreaWanMu:338.87,wetlandAreaWanMu:88.34,woodlandAreaWanMu:69.14,grasslandFreshYieldWanTon:84.83,wetlandFreshYieldWanTon:.54,grasslandMuYieldJin:500.66,wetlandMuYieldJin:12.18,grasslandVegetationCoverPercent:86,grasslandPatchCount:8061,wetlandPatchCount:3458,woodlandPatchCount:37868,grasslandDistribution:[{name:"邛溪镇",value:30.2,unit:"万亩"},{name:"刷经寺镇",value:5.75,unit:"万亩"},{name:"龙日镇",value:9.82,unit:"万亩"},{name:"安曲镇",value:35.4,unit:"万亩"},{name:"色地镇",value:42.52,unit:"万亩"},{name:"瓦切镇",value:94.25,unit:"万亩"},{name:"麦洼乡",value:66.61,unit:"万亩"},{name:"阿木乡",value:33.87,unit:"万亩"},{name:"查尔玛乡",value:20.45,unit:"万亩"}],wetlandDistribution:[{name:"邛溪镇",value:9.6,unit:"万亩"},{name:"刷经寺镇",value:2.8,unit:"万亩"},{name:"龙日镇",value:3.12,unit:"万亩"},{name:"安曲镇",value:7.2,unit:"万亩"},{name:"色地镇",value:15.22,unit:"万亩"},{name:"瓦切镇",value:24.6,unit:"万亩"},{name:"麦洼乡",value:14.8,unit:"万亩"},{name:"阿木乡",value:6.4,unit:"万亩"},{name:"查尔玛乡",value:4.6,unit:"万亩"}],woodlandDistribution:[{name:"邛溪镇",value:16.4,unit:"万亩"},{name:"刷经寺镇",value:3.2,unit:"万亩"},{name:"龙日镇",value:1.4,unit:"万亩"},{name:"安曲镇",value:14.8,unit:"万亩"},{name:"色地镇",value:6.9,unit:"万亩"},{name:"瓦切镇",value:4.7,unit:"万亩"},{name:"麦洼乡",value:9.8,unit:"万亩"},{name:"阿木乡",value:11.2,unit:"万亩"},{name:"查尔玛乡",value:.74,unit:"万亩"}],grasslandProductivity:[{name:"邛溪镇",value:487,unit:"斤/亩"},{name:"刷经寺镇",value:488,unit:"斤/亩"},{name:"龙日镇",value:509,unit:"斤/亩"},{name:"安曲镇",value:514,unit:"斤/亩"},{name:"色地镇",value:492,unit:"斤/亩"},{name:"瓦切镇",value:518,unit:"斤/亩"},{name:"麦洼乡",value:506,unit:"斤/亩"},{name:"阿木乡",value:503,unit:"斤/亩"},{name:"查尔玛乡",value:496,unit:"斤/亩"}],grasslandTypes:[{name:"高寒草甸",value:210.32,unit:"万亩"},{name:"山地草甸",value:61.45,unit:"万亩"},{name:"沼泽草甸",value:38.26,unit:"万亩"},{name:"高寒草原",value:21.84,unit:"万亩"},{name:"灌丛草甸",value:7,unit:"万亩"}],zoningStructure:[{name:"水源涵养",value:537.12,unit:"万亩"}],grasslandLevels:[{name:"5级草原",value:175.5,unit:"万亩"},{name:"4级草原",value:79.01,unit:"万亩"},{name:"6级草原",value:74.36,unit:"万亩"},{name:"7级草原",value:8.91,unit:"万亩"},{name:"8级草原",value:1.05,unit:"万亩"},{name:"3级草原",value:.03,unit:"万亩"}],woodlandTypes:[{name:"灌木林地",value:49.13,unit:"万亩"},{name:"乔木林地",value:16.61,unit:"万亩"},{name:"灌丛沼泽",value:2.48,unit:"万亩"},{name:"其他林地",value:.92,unit:"万亩"}],woodlandQuality:[{name:"4级",value:36.74,unit:"万亩"},{name:"3级",value:25.75,unit:"万亩"},{name:"5级",value:3.9,unit:"万亩"},{name:"未定级",value:2.49,unit:"万亩"},{name:"2级",value:.26,unit:"万亩"}],vegetationCoverBands:[{name:"80%-89%",value:226.68,unit:"万亩"},{name:"90%以上",value:112.19,unit:"万亩"}]},"natural-protected-area":{scopeKey:"natural-protected-area",scopeName:"自然保护地",scopeAreaWanMu:160.34,sourceFeatureCount:3,grasslandAreaWanMu:74.31,wetlandAreaWanMu:46.82,woodlandAreaWanMu:2.23,grasslandFreshYieldWanTon:21.67,wetlandFreshYieldWanTon:.31,grasslandMuYieldJin:583.23,wetlandMuYieldJin:13.27,grasslandVegetationCoverPercent:90.9,grasslandPatchCount:1637,wetlandPatchCount:1607,woodlandPatchCount:2066,grasslandDistribution:[{name:"邛溪镇",value:2.5,unit:"万亩"},{name:"安曲镇",value:1.9,unit:"万亩"},{name:"色地镇",value:16.22,unit:"万亩"},{name:"瓦切镇",value:32.07,unit:"万亩"},{name:"麦洼乡",value:19.66,unit:"万亩"},{name:"阿木乡",value:1.1,unit:"万亩"},{name:"查尔玛乡",value:.86,unit:"万亩"}],wetlandDistribution:[{name:"邛溪镇",value:4.8,unit:"万亩"},{name:"安曲镇",value:3.2,unit:"万亩"},{name:"色地镇",value:15.22,unit:"万亩"},{name:"瓦切镇",value:11.73,unit:"万亩"},{name:"麦洼乡",value:6.52,unit:"万亩"},{name:"阿木乡",value:2.5,unit:"万亩"},{name:"查尔玛乡",value:2.85,unit:"万亩"}],woodlandDistribution:[{name:"邛溪镇",value:.28,unit:"万亩"},{name:"安曲镇",value:.16,unit:"万亩"},{name:"色地镇",value:.73,unit:"万亩"},{name:"瓦切镇",value:.4,unit:"万亩"},{name:"麦洼乡",value:.54,unit:"万亩"},{name:"阿木乡",value:.08,unit:"万亩"},{name:"查尔玛乡",value:.04,unit:"万亩"}],grasslandProductivity:[{name:"邛溪镇",value:566,unit:"斤/亩"},{name:"安曲镇",value:579,unit:"斤/亩"},{name:"色地镇",value:572,unit:"斤/亩"},{name:"瓦切镇",value:596,unit:"斤/亩"},{name:"麦洼乡",value:584,unit:"斤/亩"},{name:"阿木乡",value:561,unit:"斤/亩"},{name:"查尔玛乡",value:575,unit:"斤/亩"}],grasslandTypes:[{name:"高寒草甸",value:42.65,unit:"万亩"},{name:"沼泽草甸",value:15.21,unit:"万亩"},{name:"山地草甸",value:10.48,unit:"万亩"},{name:"高寒草原",value:4.23,unit:"万亩"},{name:"灌丛草甸",value:1.74,unit:"万亩"}],zoningStructure:[{name:"核心保护区",value:121.44,unit:"万亩"},{name:"一般控制区",value:38.9,unit:"万亩"}],grasslandLevels:[{name:"4级草原",value:35.48,unit:"万亩"},{name:"5级草原",value:33.67,unit:"万亩"},{name:"6级草原",value:5.05,unit:"万亩"},{name:"7级草原",value:.08,unit:"万亩"},{name:"3级草原",value:.02,unit:"万亩"}],woodlandTypes:[{name:"灌木林地",value:1.27,unit:"万亩"},{name:"灌丛沼泽",value:.87,unit:"万亩"},{name:"乔木林地",value:.09,unit:"万亩"}],woodlandQuality:[{name:"未定级",value:.87,unit:"万亩"},{name:"4级",value:.81,unit:"万亩"},{name:"3级",value:.51,unit:"万亩"},{name:"5级",value:.04,unit:"万亩"}],vegetationCoverBands:[{name:"90%以上",value:55.12,unit:"万亩"},{name:"80%-89%",value:19.19,unit:"万亩"}]}});function xj(t="ecological-redline"){const e=t==="natural-protected-area"?"natural-protected-area":"ecological-redline";return structuredClone(_j[e])}function Mg(t={},e="ecological-redline"){const n=xj(e),i=Number(t.scopeAreaWanMu)>0||Number(t.grasslandAreaWanMu)>0||Number(t.wetlandAreaWanMu)>0||Number(t.woodlandAreaWanMu)>0?B2(B2({},n),t):n;return["zoningStructure","grasslandLevels","woodlandTypes","woodlandQuality","vegetationCoverBands","grasslandDistribution","wetlandDistribution","woodlandDistribution","grasslandProductivity","grasslandTypes"].forEach(r=>{_u(i[r]).length||(i[r]=n[r])}),i}function pi(t={},e="ecological-redline"){t=Mg(t,e);const n=mi(t,"grasslandDistribution","grasslandAreaWanMu","万亩"),a=mi(t,"wetlandDistribution","wetlandAreaWanMu","万亩"),i=mi(t,"woodlandDistribution","woodlandAreaWanMu","万亩",{sortByValue:!0}),r=mi(t,"grasslandProductivity","grasslandMuYieldJin","斤/亩",{withPercent:!1}),o=Gs(t,"grasslandTypes","grasslandAreaWanMu","草地面积"),s=Gs(t,"grasslandLevels","grasslandAreaWanMu","草地面积"),u=Gs(t,"woodlandQuality","woodlandAreaWanMu","林地面积"),m=xu([{key:`${e}-scope-grassland`,name:"草地资源",value:Number(t.grasslandAreaWanMu||0),unit:"万亩"},{key:`${e}-scope-wetland`,name:"湿地资源",value:Number(t.wetlandAreaWanMu||0),unit:"万亩"},{key:`${e}-scope-woodland`,name:"林地资源",value:Number(t.woodlandAreaWanMu||0),unit:"万亩"}].filter(h=>Number(h.value)>0));return{left:[{key:`${e}-grassland-distribution`,title:"草地分布",type:"column",variant:"plain",labelMode:"horizontal",scrollable:!1,span:1,rows:n},{key:`${e}-wetland-distribution`,title:"湿地面积",type:"column",variant:"water",labelMode:"horizontal",scrollable:!1,span:1,rows:a},{key:`${e}-woodland-distribution`,title:"林地分布",type:"split",variant:"compact",span:1,rows:i},{key:`${e}-grassland-productivity`,title:"草地生产力",type:"line",fixedType:!0,labelMode:"horizontal",span:1,rows:r}].filter(lm),right:[{key:`${e}-grassland-type`,title:"草原类型",type:"donut",variant:"ring",span:1,rows:o},{key:`${e}-grassland-level`,title:"草原级占比",type:"bar",variant:"rankBar",span:1,rows:s},{key:`${e}-woodland-quality`,title:"林地质量",type:"heat",limit:6,span:1,rows:u},{key:`${e}-resource-structure`,title:"林草湿面积构成",type:"structure",span:1,rows:m}].filter(lm)}}function Us(t={},e="ecological-redline"){return t=Mg(t,e),[{zh:`${e==="natural-protected-area"?"保护地":"红线"}面积`,value:S0(t.scopeAreaWanMu,2),unit:"万亩",decimals:2,icon:"park"},{zh:"草地面积",value:S0(t.grasslandAreaWanMu,2),unit:"万亩",decimals:2,icon:"grass-basic"},{zh:"湿地面积",value:S0(t.wetlandAreaWanMu,2),unit:"万亩",decimals:2,icon:"wetland"},{zh:"林地面积",value:S0(t.woodlandAreaWanMu,2),unit:"万亩",decimals:2,icon:"forest"}]}const cn=[{name:"瓦切镇",protectedAreaWanMu:75.01,coreProtectionAreaWanMu:31.65,generalControlAreaWanMu:43.36,grasslandAreaWanMu:32.07,wetlandAreaWanMu:11.73,ecologyJobs:160,householdCount:1400,peopleCount:6375,yakCount:43459,livestockCount:45260,cover:85,villages:"唐日村、德香村、日干村、色永村、曲登塘社区"},{name:"麦洼乡",protectedAreaWanMu:66.61,coreProtectionAreaWanMu:28.1,generalControlAreaWanMu:38.51,grasslandAreaWanMu:19.66,wetlandAreaWanMu:6.52,ecologyJobs:179,householdCount:1049,peopleCount:4857,yakCount:35773,livestockCount:36776,cover:85,villages:"洞拉村、滚塘村"},{name:"色地镇",protectedAreaWanMu:20.98,coreProtectionAreaWanMu:8.85,generalControlAreaWanMu:12.13,grasslandAreaWanMu:42.52,wetlandAreaWanMu:15.22,ecologyJobs:39,householdCount:405,peopleCount:1692,yakCount:25947,livestockCount:26731,cover:86,villages:"让里村、茸塔玛村"}],re={name:"若尔盖国家公园红原区域",nationalParkTotalAreaWanMu:1250.4,hongyuanDelimitedAreaWanMu:162.55,totalAreaWanMu:162.55,grasslandAreaWanMu:94.25,wetlandAreaWanMu:33.47,woodlandAreaWanMu:null,woodlandDataStatus:"待接入",vegetationCoverage:S0(jn(cn,"cover")/cn.length,1),townCount:cn.length,villageCount:cn.reduce((t,e)=>t+String(e.villages||"").split("、").filter(Boolean).length,0),householdCount:jn(cn,"householdCount"),peopleCount:jn(cn,"peopleCount"),ecologyJobCount:jn(cn,"ecologyJobs"),yakCount:jn(cn,"yakCount"),livestockCount:jn(cn,"livestockCount")};re.otherProtectedAreaWanMu=S0(re.totalAreaWanMu-re.grasslandAreaWanMu-re.wetlandAreaWanMu,2);const Mj=[{key:"park-national-area",name:"四川片区面积",value:re.nationalParkTotalAreaWanMu,unit:"万亩",icon:"park"},{key:"park-hongyuan-area",name:"红原县划定面积",value:re.hongyuanDelimitedAreaWanMu,unit:"万亩",icon:"park"},{key:"park-yak-count",name:"牦牛数量",value:re.yakCount,unit:"头",icon:"stack"}];cn.map(t=>({key:t.name,name:t.name,value:S0(t.grasslandAreaWanMu+t.wetlandAreaWanMu,2),unit:"万亩",extra:`草地 ${t.grasslandAreaWanMu} / 湿地 ${t.wetlandAreaWanMu}`}));cn.map(t=>({key:`${t.name}-town`,name:t.name,value:S0(t.grasslandAreaWanMu+t.wetlandAreaWanMu,2),unit:"万亩",extra:t.villages}));const Pj=[{key:"core-protection",name:"核心保护区",value:68.6,unit:"万亩",color:Z9.core.fillColor},{key:"general-control",name:"一般控制区",value:94,unit:"万亩",color:Z9.general.fillColor}],Nl=43.66,um=12.48,kj=S0(Nl*(192.26/297.29),2),Ej=.06229833103624831,Nj=new Map([["瓦切镇",{areaRange:750120,yakNumber:43459,bearingCapacity:44927.54,livestockCapacity:45260,overloadRate:.74,year:"2026"}],["麦洼乡",{areaRange:666075,yakNumber:35773,bearingCapacity:36505.86,livestockCapacity:36776,overloadRate:.74,year:"2026"}],["色地镇",{areaRange:209805,yakNumber:25947,bearingCapacity:26534.58,livestockCapacity:26731,overloadRate:.74,year:"2026"}]]),Rj={麦洼乡:[{name:"洞拉村",grassland:.632,wetland:.632,household:.5643,yak:.545,edible:.632,woodland:.632},{name:"滚塘村",grassland:.368,wetland:.368,household:.4357,yak:.455,edible:.368,woodland:.368}],瓦切镇:[{name:"唐日村",grassland:.3059,wetland:.3059,household:.1957,yak:.2843,edible:.3059,woodland:.3059},{name:"德香村",grassland:.2369,wetland:.2369,household:.2679,yak:.2848,edible:.2369,woodland:.2369},{name:"日干村",grassland:.1603,wetland:.1603,household:.2071,yak:.2107,edible:.1603,woodland:.1603},{name:"色永村",grassland:.2969,wetland:.2969,household:.2607,yak:.2202,edible:.2969,woodland:.2969},{name:"曲登塘社区",grassland:0,wetland:0,household:.0679,yak:0,edible:0,woodland:0}],色地镇:[{name:"让里村",grassland:.4623,wetland:.4623,household:.7309,yak:.6411,edible:.4623,woodland:.4623},{name:"茸塔玛村",grassland:.5377,wetland:.5377,household:.2691,yak:.3589,edible:.5377,woodland:.5377}]},Pe=cn.map(t=>Z2(B2({},t),{value:t.protectedAreaWanMu,unit:"万亩",segments:{core:t.coreProtectionAreaWanMu,general:t.generalControlAreaWanMu},householdCount:Number(t.householdCount||0),edibleGrasslandWanTon:S0(Number(t.grasslandAreaWanMu||0)/Math.max(re.grasslandAreaWanMu,1)*kj,2)})),cm=re.householdCount-jn(Pe,"householdCount");cm&&Pe[0]&&(Pe[0].householdCount+=cm);Pe.forEach(t=>{const e=Nj.get(t.name),n=Number(e==null?void 0:e.bearingCapacity)||S0(Number(t.grasslandAreaWanMu||0)*1e4*Ej,0),a=Number(e==null?void 0:e.livestockCapacity)||Number(t.livestockCount||t.yakCount||0),i=Number.isFinite(Number(e==null?void 0:e.overloadRate))?Number(e.overloadRate):n?S0((a-n)/n*100,1):0,r=_7(i);t.bearingCapacity=n,t.livestockCapacity=a,t.overloadRate=S0(i,2),t.balanceLevel=r.label,t.searchText=[t.name,`划定面积${t.protectedAreaWanMu}万亩`,`牦牛${t.yakCount}头`,`牧户${t.householdCount}户`,`超载率${t.overloadRate}%`].join(" ")});const e7=jn(Pe,"bearingCapacity"),Mu=jn(Pe,"livestockCapacity"),Os=Mu-e7,js=Pe.map(t=>Number(t.overloadRate)).filter(t=>Number.isFinite(t));re.balanceOverloadRate=js.length?S0(js.reduce((t,e)=>t+e,0)/js.length,2):e7?S0((Mu-e7)/e7*100,2):0;const L6=[...Pe].sort((t,e)=>Number(e.overloadRate||0)-Number(t.overloadRate||0))[0],Pu=(t,e=jn(t,"value"))=>t.map(n=>Z2(B2({},n),{extra:n.extra||`占比 ${S0(Number(n.value||0)/Math.max(e,1)*100,1)}%`}));Pu([{key:"park-scope-grassland",name:"草地",value:re.grasslandAreaWanMu,unit:"万亩"},{key:"park-scope-wetland",name:"湿地",value:re.wetlandAreaWanMu,unit:"万亩"},{key:"park-scope-other",name:"其他保护范围",value:re.otherProtectedAreaWanMu,unit:"万亩"}]);const k8=({sourceKey:t,weightKey:e,unit:n="万亩",decimals:a=2,sortByValue:i=!0})=>{const r=Pe.flatMap(s=>(Rj[s.name]||[]).map(m=>({key:`${s.name}-${m.name}-${t}`,name:m.name,town:s.name,value:S0(Number(s[t]||0)*Number(m[e]||0),a),unit:n}))).filter(s=>Number(s.value)>0),o=i?r.sort((s,u)=>Number(u.value||0)-Number(s.value||0)):r;return Pu(o)};k8({sourceKey:"wetlandAreaWanMu",weightKey:"wetland",sortByValue:!1});k8({sourceKey:"grasslandAreaWanMu",weightKey:"grassland"});k8({sourceKey:"householdCount",weightKey:"household",unit:"户",decimals:0});k8({sourceKey:"yakCount",weightKey:"yak",unit:"头",decimals:0});k8({sourceKey:"edibleGrasslandWanTon",weightKey:"edible",unit:"万吨"});k8({sourceKey:"wetlandAreaWanMu",weightKey:"woodland"});const Lj=["瓦切镇","麦洼乡","色地镇"],V6=t=>Lj.map(e=>t.find(n=>n.name===e)).filter(Boolean),Ij=V6(Pe).map(t=>({key:`${t.name}-area`,name:t.name,value:t.protectedAreaWanMu,unit:"万亩",extra:`核心 ${t.coreProtectionAreaWanMu} / 一般 ${t.generalControlAreaWanMu}`}));V6(Pe).map(t=>({key:`${t.name}-zoning`,name:t.name,value:t.protectedAreaWanMu,unit:"万亩",segments:{core:t.coreProtectionAreaWanMu,general:t.generalControlAreaWanMu}}));const Fj=V6(Pe).map(t=>({key:`${t.name}-grass-wet-area`,name:t.name,value:S0(t.grasslandAreaWanMu+t.wetlandAreaWanMu,2),unit:"万亩",segments:{grassland:t.grasslandAreaWanMu,wetland:t.wetlandAreaWanMu}})),Bj=V6(Pe).map(t=>({key:`${t.name}-grass-wet-productivity`,name:t.name,value:S0(t.grasslandAreaWanMu/Math.max(re.grasslandAreaWanMu,1)*Nl+t.wetlandAreaWanMu/Math.max(re.wetlandAreaWanMu,1)*um,2),unit:"万吨",segments:{grassland:S0(t.grasslandAreaWanMu/Math.max(re.grasslandAreaWanMu,1)*Nl,2),wetland:S0(t.wetlandAreaWanMu/Math.max(re.wetlandAreaWanMu,1)*um,2)}})),Dj=V6(Pe).map(t=>({key:`${t.name}-yak`,name:t.name,value:t.yakCount,unit:"头",extra:`${S0(t.yakCount/Math.max(re.yakCount,1)*100,1)}%`})),Gj=V6(Pe).map(t=>({key:`${t.name}-household`,name:t.name,value:t.householdCount,unit:"户",metricLabel:"牧户",ecologyJobs:t.ecologyJobs,peopleCount:t.peopleCount,extra:`公益岗位 ${t.ecologyJobs}户`}));V6(Pe).map(t=>({key:`${t.name}-balance`,name:t.name,value:t.overloadRate,unit:"%",status:t.balanceLevel,extra:`载畜 ${t.livestockCapacity}头`}));const Uj=[{key:"park-balance-overload-rate",name:"超载率",value:re.balanceOverloadRate,unit:"%",status:_7(re.balanceOverloadRate).label,color:"#24f6c4"}],Oj=[{key:"park-bearing-capacity",name:"理论载畜量",value:S0(e7/1e4,2),unit:"万头",extra:"按国家公园草地承载能力测算"},{key:"park-livestock-capacity",name:"实际载畜量",value:S0(Mu/1e4,2),unit:"万头",extra:"国家公园范围内载畜规模"},{key:"park-capacity-gap",name:Os>=0?"超载差额":"承载结余",value:S0(Math.abs(Os)/1e4,2),unit:"万头",extra:Os>=0?"实际载畜量高于理论承载量":"理论承载量高于实际载畜量"},{key:"park-max-overload-town",name:`${(L6==null?void 0:L6.name)||"重点乡镇"}超载率`,value:S0((L6==null?void 0:L6.overloadRate)||0,2),unit:"%",extra:(L6==null?void 0:L6.balanceLevel)||""}],jj=V6(Pe).map(t=>({key:`${t.name}-job`,name:t.name,value:t.ecologyJobs,unit:"户",color:t.name==="麦洼乡"?"#24f6c4":t.name==="瓦切镇"?"#32dcff":"#8bf7ff",extra:`牧户 ${t.householdCount}户`}));V6(Pe).map(t=>Z2(B2({},t),{key:`${t.name}-ledger`,name:t.name,value:t.protectedAreaWanMu,unit:"万亩",canLocate:!0}));var Mm,Pm,km;const Pg=[{zh:"四川片区面积",value:re.nationalParkTotalAreaWanMu,unit:"万亩",decimals:2,icon:"area"},{zh:"红原县划定面积",value:re.hongyuanDelimitedAreaWanMu,unit:"万亩",decimals:2,icon:"park"},{zh:"牦牛数量",value:re.yakCount,unit:"头",decimals:0,icon:"stack"},{zh:"牧户数量",value:re.householdCount,unit:"户",decimals:0,icon:"town"},{zh:"公益岗位",value:re.ecologyJobCount,unit:"户",decimals:0,icon:"certificate"},{zh:"瓦切镇面积",value:((Mm=Pe.find(t=>t.name==="瓦切镇"))==null?void 0:Mm.protectedAreaWanMu)||0,unit:"万亩",decimals:2,icon:"area"},{zh:"麦洼乡面积",value:((Pm=Pe.find(t=>t.name==="麦洼乡"))==null?void 0:Pm.protectedAreaWanMu)||0,unit:"万亩",decimals:2,icon:"area"},{zh:"色地镇面积",value:((km=Pe.find(t=>t.name==="色地镇"))==null?void 0:km.protectedAreaWanMu)||0,unit:"万亩",decimals:2,icon:"area"},{zh:"草地面积",value:re.grasslandAreaWanMu,unit:"万亩",decimals:2,icon:"leaf"},{zh:"湿地面积",value:re.wetlandAreaWanMu,unit:"万亩",decimals:2,icon:"wetland"}],kg=[{zh:"修复项目",value:Kt.kpi.projectCount,unit:"个",decimals:0},{zh:"治理面积",value:Kt.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:Kt.kpi.lengthKm,unit:"公里",decimals:2}],zj=[{zh:"项目库工程",value:Kt.kpi.projectCount,unit:"个",decimals:0},{zh:"可比对图斑",value:Kt.kpi.featureCount,unit:"个",decimals:0},{zh:"项目面积",value:Kt.kpi.areaWanMu,unit:"万亩",decimals:2},{zh:"工程长度",value:Kt.kpi.lengthKm,unit:"公里",decimals:2}];function Yj(t){return Z4.includes(t)?[]:t==="engineering-analysis"?[]:(t==="restoration"?kg:Pg.slice(0,5)).map((n,a)=>B2({icon:n.icon||(a%2===0?"xiaoshoujine":"zongxiaoliang"),en:""},n))}const Eg={left:[{key:"park-town-grass-wet-area",title:"草地湿地面积分布",type:"stackColumn",variant:"parkSlim",showValue:!0,sharedScale:!0,unit:"万亩",segments:[{key:"grassland",name:"草地面积",color:"#24f6c4"},{key:"wetland",name:"湿地面积",color:"#8bf7ff"}],rows:Fj},{key:"park-town-productivity",title:"草地湿地生产力",type:"stackColumn",variant:"parkSlim",showValue:!0,sharedScale:!0,unit:"万吨",segments:[{key:"grassland",name:"草地生产力",color:"#32dcff"},{key:"wetland",name:"湿地生产力",color:"#8bf7ff"}],rows:Bj},{key:"park-town-yak",title:"乡镇牦牛数量",type:"bar",variant:"parkBar",rows:Dj},{key:"park-town-balance",title:"草畜平衡超载率",type:"balanceGaugeGrid",limit:1,rows:Uj}],right:[{key:"park-zoning-structure",title:"红原管控区结构",type:"donut",rows:Pu(Pj)},{key:"park-town-household",title:"牧户分布",type:"split",rows:Gj},{key:"park-town-ecology-job",title:"公益岗位分布",type:"column",variant:"slim",rows:jj},{key:"park-balance-capacity",title:"草畜承载能力",type:"metric",rows:Oj}]},zs=new Map((Kt.townships||[]).filter(t=>/[乡镇]$/.test(String(t.name||""))).map(t=>[t.name,t])),Ng=dn.map(t=>{var e,n,a;return{name:t,areaWanMu:((e=zs.get(t))==null?void 0:e.areaWanMu)||0,lengthKm:((n=zs.get(t))==null?void 0:n.lengthKm)||0,projectCount:((a=zs.get(t))==null?void 0:a.projectCount)||0}}),Rg=(Kt.projects||[]).map((t,e)=>{const n=Number(t.areaWanMu)>0,a=Number(t.lengthKm)>0,i=n?{value:S0(t.areaWanMu,2),unit:"万亩",metric:"治理面积"}:a?{value:S0(t.lengthKm,2),unit:"公里",metric:"工程长度"}:{value:t.subjectFeatureCount||0,unit:"个",metric:"主体要素"},r=(t.measureTypes||[]).join("、"),o=(t.townships||[]).join("、");return{key:t.id||t.projectName,index:e+1,name:t.projectName,projectName:t.projectName,category:t.projectCategory,year:t.year||"未知",areaWanMu:S0(t.areaWanMu,4),lengthKm:S0(t.lengthKm,2),measure:r,townships:o,subjectFeatureCount:t.subjectFeatureCount||0,value:i.value,unit:i.unit,metric:i.metric,extra:[t.year||"未知",r].filter(Boolean).join(" / "),searchText:[t.projectName,t.projectCategory,t.year,r,o].filter(Boolean).join(" ")}});Rg.map((t,e)=>{const n=e%6,a=Math.floor(e/6),i=102.42+n*.045,r=32.55+a*.035,o=.018+Math.min(.024,Number(t.areaWanMu||0)/1200);return{type:"Feature",properties:{project_name:t.projectName,project_category:t.category,year:t.year,areaWanMu:t.areaWanMu,lengthKm:t.lengthKm,townships:t.townships,measure:t.measure},geometry:{type:"Polygon",coordinates:[[[i,r],[i+o,r+o*.22],[i+o*.82,r+o],[i-o*.16,r+o*.72],[i,r]]]}}});const Lg={left:[{key:"restoration-year-area",title:"治理面积分布",type:"line",rows:(Kt.years||[]).map(t=>({key:t.name,name:`${t.name}`,value:S0(t.areaWanMu,2),unit:"万亩",extra:`${t.projectCount||0}个项目`}))},{key:"restoration-town-area",title:"乡镇治理面积分布",type:"bar",variant:"distribution",rows:Ng.map(t=>({key:t.name,name:t.name,value:S0(t.areaWanMu,2),unit:"万亩",extra:`${S0(t.lengthKm,2)}公里`}))},{key:"restoration-category",title:"修复类型占比",type:"donut",rows:(Kt.categories||[]).map(t=>({key:t.name,name:t.name,value:S0(t.areaWanMu||t.lengthKm||t.subjectFeatureCount,2),unit:t.areaWanMu?"万亩":t.lengthKm?"公里":"个",extra:`${t.subjectFeatureCount}个图斑`}))},{key:"restoration-year-length",title:"年度工程长度",type:"column",variant:"slim",rows:(Kt.years||[]).filter(t=>Number(t.lengthKm)>0).map(t=>({key:t.name,name:`${t.name}`,value:S0(t.lengthKm,2),unit:"公里",extra:`${t.projectCount||0}个项目`}))}],right:[{key:"restoration-measure-area",title:"修复措施统计",type:"structure",rows:(Kt.measures||[]).slice(0,8).map(t=>({key:t.name,name:t.name,value:S0(t.areaWanMu||t.lengthKm||t.subjectFeatureCount,2),unit:t.areaWanMu?"万亩":t.lengthKm?"公里":"个",extra:`${t.projectCount}个项目`}))},{key:"restoration-year-project",title:"年度项目数量",type:"column",variant:"projectYear",rows:(Kt.years||[]).filter(t=>t.name!=="未知").map(t=>({key:t.name,name:`${t.name}`,value:t.projectCount,unit:"个",extra:`${S0(t.areaWanMu,2)}万亩`}))},{key:"restoration-projects",title:"重点项目库",type:"projectTable",span:2,rows:Rg}]},$j={left:[],right:[]};function Wj(t){return Z4.includes(t)?{status:"success",title:t==="natural-protected-area"?"自然保护地":"生态保护红线",metricLabel:"",unit:"",rows:[]}:t==="restoration"?{status:"success",title:"乡镇治理排行",metricLabel:"治理面积",unit:"万亩",rows:Ng.map(e=>({name:e.name,value:S0(e.areaWanMu,2),unit:"万亩"}))}:t==="engineering-analysis"?{status:"success",title:"工程分析",metricLabel:"",unit:"",rows:[]}:{status:"success",title:"国家公园乡镇划定面积",scope:"town",hideTownNames:!1,onlyRankedTownLabels:!0,metricLabel:"划定面积",unit:"万亩",rows:Ij.map(e=>({name:e.name,value:e.value,unit:e.unit,metricLabel:"划定面积"}))}}const Vj={class:"forest-grass-wet ecological-protection"},Hj={class:"forest-grass-wet-ui ecological-protection-ui"},Kj={key:0,class:"fgw-left"},qj={class:"fgw-side-stack is-left"},Jj={key:1,class:"fgw-right"},Qj={class:"fgw-side-stack is-right"},Xj={class:"fgw-bottom-topic ecological-bottom-topic"},Zj={key:0,class:"loading"},ez={class:"loading-progress"},tz={class:"value"},nz={__name:"index",props:{activeView:{type:String,default:"ecological-redline"},showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Q2(null),o=Q2(null),s=Q2(""),u=Q2(""),m=Q2(pi({},"ecological-redline")),h=Q2(null),p=Q2(!1),g=Q2(!1),C=Q2(null),I=Q2(0),U=Q2(a.showLoading),j=Q2(null),l2=Q2(0),v2=Q2({type:"idle",text:"等待生态保护图层加载"});let S2=null,T2=!1,C2=!1,j2=!1,K2=null,V2=0;const s3=new Map,m3=s2(()=>V9.some(u3=>u3.key===a.activeView)?a.activeView:"ecological-redline"),p3=s2(()=>m3.value==="engineering-analysis"),U3=s2(()=>Z4.includes(m3.value)),b3=s2(()=>s.value?e9(m3.value,s.value):null),Y3=s2(()=>{var u3;return(((u3=b3.value)==null?void 0:u3.legends)||[]).find(z3=>z3.key===u.value)||null}),o3=s2(()=>{var u3;return((u3=b3.value)==null?void 0:u3.legends)||[]}),n1=s2(()=>y8(m3.value)),b1=s2(()=>!p3.value&&n1.value.length<=2&&o3.value.length<=6),W3=s2(()=>{if(!b1.value)return 430;const u3=Math.max(1,n1.value.length),z3=Math.ceil(o3.value.length/2),V3=o3.value.length?24+Math.max(28,z3*28):28;return Math.max(132,Math.min(224,48+u3*32+V3))}),R1=s2(()=>{const u3=b3.value;return u3?Y3.value?Z2(B2({},u3),{cqlFilter:Y3.value.cqlFilter||u3.cqlFilter,activeLegend:Y3.value,name:Y3.value.name||u3.name}):u3:null}),D1=s2(()=>U3.value?m.value:m3.value==="restoration"?Lg:m3.value==="engineering-analysis"?$j:Eg),Y1=s2(()=>D1.value.left||[]),h3=s2(()=>D1.value.right||[]),x3=Q2(typeof window=="undefined"?1080:window.innerHeight),L3=Vt.sideCardWidth,h1=s2(()=>_8(x3.value)),C1=s2(()=>n9(h1.value,2)),_1=s2(()=>!!C.value),o1=s2(()=>{if(g.value||p.value||!h.value)return 186;const u3=G2(h.value);return Math.min(480,Math.max(300,86+Math.min(u3,12)*34))}),l3=s2(()=>{if(!C.value)return{};const u3=460,z3=o1.value,V3=24,x1=A1(C.value),S3=x1.x>1420?-u3-28:28,y3=Math.min(Math.max(x1.x+S3,V3),1920-u3-V3),D2=Math.min(Math.max(x1.y-z3-72,188),1080-z3-132);return{left:`${y3}px`,top:`${D2}px`,right:"auto",bottom:"auto"}});mn(()=>{q3(),window.addEventListener("resize",q3),document.addEventListener("pointerdown",s0,!0),M1(),$2(m3.value)}),hn(()=>{T2=!0,K2&&window.clearTimeout(K2),window.removeEventListener("resize",q3),document.removeEventListener("pointerdown",s0,!0)}),N0(m3,u3=>{$2(u3)}),N0(s,()=>{u.value="",F1()}),N0(u,()=>{F1()}),N0(()=>a.active,u3=>{var z3,V3,x1,S3;r.value&&(u3?($1(),(V3=(z3=r.value).resume)==null||V3.call(z3)):(S3=(x1=r.value).pause)==null||S3.call(x1))});function $2(u3){var x1,S3,y3,D2,G3;const z3=V9.find(i3=>i3.key===u3)||V9[0],V3=y8(u3);u.value="",s.value=z3.defaultLayerKey||((x1=V3[0])==null?void 0:x1.key)||"",j.value=Wj(u3),l2.value=0,(y3=(S3=r.value)==null?void 0:S3.setBoundaryDrawing)==null||y3.call(S3,!1),u3!=="engineering-analysis"&&((G3=(D2=r.value)==null?void 0:D2.clearAnalysisBoundary)==null||G3.call(D2)),F1(),Z4.includes(u3)&&(m.value=pi({},u3),c1(u3)),i("module-stats",{moduleKey:"ecological-protection",viewKey:u3,items:Z4.includes(u3)?Us({},u3):Yj(u3)})}function j3(u3){const z3=V9.some(V3=>V3.key===u3)?u3:"ecological-redline";z3!==m3.value&&i("view-change",z3)}function c1(u3){return P3(this,null,function*(){const z3=++V2;try{const x1=s3.get(u3)||(yield CF(u3));if(z3!==V2||m3.value!==u3)return;s3.set(u3,x1),m.value=pi(x1,u3),i("module-stats",{moduleKey:"ecological-protection",viewKey:u3,items:Us(x1,u3)})}catch(V3){if(z3!==V2||m3.value!==u3)return;m.value=pi({},u3),i("module-stats",{moduleKey:"ecological-protection",viewKey:u3,items:Us({},u3)}),v2.value={type:"error",text:"保护范围统计加载失败"},console.warn("Failed to load ecological scope statistics",V3)}})}function M1(){var V3;S2=new C7;const u3={progress:0};S2.instance.on("onProgress",(x1,S3,y3)=>{const D2=Math.floor(S3/y3*100);Yt.to(u3,{progress:D2,onUpdate:()=>{I.value=Math.floor(u3.progress)}})});const z3=()=>{T2||C2||(C2=!0,$1())};S2.instance.on("onLoad",z3),(V3=S2.ready)==null||V3.then(z3).catch(()=>{T2||(v2.value={type:"error",text:"地图资源加载失败"})})}function $1(){T2||!a.active||!C2||j2||(j2=!0,K2&&window.clearTimeout(K2),K2=window.setTimeout(()=>{K2=null,W1()},600))}function W1(u3=0){return P3(this,null,function*(){var V3,x1,S3,y3,D2;if(T2)return;if(!a.active){j2=!1;return}if(yield O0(),!a.active){j2=!1;return}if(!!((x1=(V3=r.value)==null?void 0:V3.loadMap)!=null&&x1.call(V3,S2)||(y3=(S3=r.value)==null?void 0:S3.hasMap)!=null&&y3.call(S3))){yield G0(),yield O0(),(D2=r.value)==null||D2.play();return}if(u3<24){window.setTimeout(()=>W1(u3+1),120);return}j2=!1})}function P(){K2&&(window.clearTimeout(K2),K2=null)}function E3(){var u3,z3,V3,x1;(z3=(u3=r.value)==null?void 0:u3.resume)==null||z3.call(u3),(x1=(V3=r.value)==null?void 0:V3.refreshView)==null||x1.call(V3)}function g3(){var u3,z3,V3,x1,S3,y3;if(F1(),(z3=(u3=r.value)==null?void 0:u3.setBoundaryDrawing)==null||z3.call(u3,!1),(x1=(V3=r.value)==null?void 0:V3.clearAnalysisBoundary)==null||x1.call(V3),(y3=(S3=r.value)==null?void 0:S3.hasMap)!=null&&y3.call(S3)){E3();return}P(),j2=!1,O0(()=>{$1()})}e({refreshMapView:E3,resetMap:g3});function A1(u3){const z3=document.querySelector(".ecological-protection"),V3=z3==null?void 0:z3.getBoundingClientRect();return!(V3!=null&&V3.width)||!(V3!=null&&V3.height)?u3:{x:(u3.x-V3.left)/V3.width*1920,y:(u3.y-V3.top)/V3.height*1080}}function q3(){x3.value=typeof window=="undefined"?1080:window.innerHeight}function O3(u3,z3){return`${m3.value}-${z3}-${(u3==null?void 0:u3.key)||(u3==null?void 0:u3.title)||"panel"}`}function g1(u3){return(u3==null?void 0:u3.span)===2}function H1(u3){return g1(u3)?C1.value:h1.value}function G2(u3){const z3=(u3==null?void 0:u3.properties)||{};return Object.keys(z3).filter(V3=>{const x1=z3[V3];return x1==null||x1===""?!1:!["geom","wkt","geometry","the_geom","raw_properties"].includes(String(V3).toLowerCase())}).length}function H2(u3){var V3,x1;const z3=(x1=(V3=u3==null?void 0:u3.feature)!=null?V3:u3)!=null?x1:null;if(!z3){F1();return}h.value=z3,p.value=!1,u3!=null&&u3.screen&&(C.value=u3.screen)}function e3(u3){v2.value=u3}function T3(u3,z3){var x1,S3,y3,D2;if(m3.value==="national-park"&&(z3!=null&&z3.name)){F1(),(S3=(x1=r.value)==null?void 0:x1.focusTown)==null||S3.call(x1,z3.name,{distanceScale:.66,targetLocalZ:.84,cameraOffset:{x:0,y:1.05,z:0},select:!0});return}if(m3.value!=="restoration"||(u3==null?void 0:u3.key)!=="restoration-projects")return;const V3=(z3==null?void 0:z3.projectName)||(z3==null?void 0:z3.name);V3&&(F1(),(D2=(y3=r.value)==null?void 0:y3.focusProject)==null||D2.call(y3,V3))}function y1(u3){var z3,V3;F1(),l2.value=0,(V3=(z3=r.value)==null?void 0:z3.setBoundaryDrawing)==null||V3.call(z3,u3)}function B1(){var u3,z3;(z3=(u3=r.value)==null?void 0:u3.finishBoundaryDrawing)==null||z3.call(u3)}function G1(){var u3,z3;(z3=(u3=r.value)==null?void 0:u3.undoBoundaryPoint)==null||z3.call(u3)}function D3(){var u3,z3;l2.value=0,(z3=(u3=r.value)==null?void 0:u3.clearAnalysisBoundary)==null||z3.call(u3)}function e1(u3={}){var z3,V3,x1;l2.value=u3.pointCount||((z3=u3.points)==null?void 0:z3.length)||0,u3.status==="complete"&&u3.feature&&(l2.value=0,(x1=(V3=o.value)==null?void 0:V3.applyDrawnBoundary)==null||x1.call(V3,u3.feature)),u3.status==="clear"&&(l2.value=0)}function s1(u3={}){var z3,V3;(V3=(z3=r.value)==null?void 0:z3.showAnalysisResult)==null||V3.call(z3,{boundary:u3.boundary,matches:u3.matches,preserveView:m3.value==="engineering-analysis"}),m3.value}function S1(u3){var V3,x1;const z3=((u3==null?void 0:u3.features)||[]).filter(Boolean);(x1=(V3=r.value)==null?void 0:V3.showAnalysisResult)==null||x1.call(V3,{matches:z3})}function F1(){var u3,z3;h.value=null,p.value=!1,C.value=null,(z3=(u3=r.value)==null?void 0:u3.clearSelectedFeature)==null||z3.call(u3)}function s0(u3){if(!_1.value)return;const z3=document.querySelector(".fgw-map-feature-info"),V3=u3.target;z3&&V3 instanceof Node&&z3.contains(V3)||F1()}function G0(){return U.value?new Promise(u3=>{Yt.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{U.value=!1,u3()}})}):Promise.resolve()}return(u3,z3)=>(G(),z("div",Vj,[l1(P7,{ref_key:"mapSceneRef",ref:r,"active-layer":R1.value,"map-ranking":j.value,"admin-boundary-line-scale":2.4,onFeatureLoading:z3[0]||(z3[0]=V3=>g.value=V3),onFeatureInfo:H2,onLayerStatus:e3,onDrawBoundary:e1},null,8,["active-layer","map-ranking"]),w("div",Hj,[p3.value?k3("",!0):(G(),z("div",Kj,[w("div",qj,[(G(!0),z(B3,null,H3(Y1.value,V3=>(G(),J0(l0,{key:O3(V3,"left"),class:r1(["fgw-side-card left-card",{"is-double":g1(V3)}]),title:V3.title,width:k1(L3),height:H1(V3)},{default:e0(()=>[l1($t,{panel:V3,compact:"","column-label-standard":"",onRowSelect:x1=>T3(V3,x1)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","width","height"]))),128))])])),p3.value?k3("",!0):(G(),z("div",Jj,[w("div",Qj,[(G(!0),z(B3,null,H3(h3.value,V3=>(G(),J0(l0,{key:O3(V3,"right"),class:r1(["fgw-side-card right-card",{"is-double":g1(V3)}]),title:V3.title,width:k1(L3),height:H1(V3)},{default:e0(()=>[l1($t,{panel:V3,compact:"","column-label-standard":"",onRowSelect:x1=>T3(V3,x1)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","width","height"]))),128))])])),p3.value?(G(),J0(Cj,{key:2,ref_key:"engineeringAnalysisRef",ref:o,"drawing-point-count":l2.value,onDrawingChange:y1,onFinishDrawing:B1,onUndoPoint:G1,onClearBoundary:D3,onAnalysisResult:s1,onFocusProject:S1},null,8,["drawing-point-count"])):k3("",!0),w("div",{class:r1(["fgw-map-layer-tools",{"is-analysis":p3.value,"is-compact":b1.value}]),style:z1({height:`${W3.value}px`})},[l1(Mr,{modelValue:s.value,"onUpdate:modelValue":z3[1]||(z3[1]=V3=>s.value=V3),"selected-legend-key":u.value,"onUpdate:selectedLegendKey":z3[2]||(z3[2]=V3=>u.value=V3),"topic-key":m3.value,legends:o3.value,width:248,height:W3.value,compact:b1.value},null,8,["modelValue","selected-legend-key","topic-key","legends","height","compact"])],6),_1.value?(G(),z("div",{key:3,class:"fgw-map-feature-info",style:z1(l3.value)},[l1(b7,{feature:h.value,empty:p.value,loading:g.value,width:460,height:o1.value},null,8,["feature","empty","loading","height"])],4)):k3("",!0),w("div",Xj,[l1(T7,{"model-value":m3.value,topics:k1(V9),"onUpdate:modelValue":j3},null,8,["model-value","topics"])])]),U.value?(G(),z("div",Zj,[z3[4]||(z3[4]=n7('
    LOADING
    ',1)),w("div",ez,[w("span",tz,i2(I.value),1),z3[3]||(z3[3]=w("span",{class:"unit"},"%",-1))])])):k3("",!0)]))}},Rl=rz("/jsyApi"),az="/openApi";function iz(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function rz(t){const e=String(t||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function oz(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");throw n.code=t==null?void 0:t.code,n}return u0(t)}function or(t,e,n,a={}){return Xt(iz(t,e),{params:n,timeout:a.timeout||16e3}).then(oz)}function sz(t){return Array.isArray(t)?t:Array.isArray(t==null?void 0:t.rows)?t.rows:Array.isArray(t==null?void 0:t.list)?t.list:Array.isArray(t==null?void 0:t.data)?t.data:[]}function lz(t){return Array.isArray(t)?t.length>0:!t||typeof t!="object"?t!=null&&t!=="":["areaRange","area_range","acreage","grasslandArea","grassland_area","arearange","area","yakNumber","yak_number","yaknumber","number","yakCount","yak_count","livestockCount","livestock_count","bearingCapacity","bearing_capacity","bearingcapacity","capacity","theoryCapacity","livestockCapacity","livestock_capacity","livestockcapacity","carryingCapacity","actualCapacity","overloadRate","overload_rate","overloadrate","rate","level","conclusion","advice","balanceAdvice","balance_advice"].some(n=>t[n]!==void 0&&t[n]!==null&&t[n]!=="")}function uz(){return P3(this,arguments,function*({areaCode:t}={}){const e={areaCode:t},n=[()=>or(Rl,"/ai/livestockBalance",e,{timeout:18e3}),()=>or(az,"/ai/balance/advice",e,{timeout:18e3})];let a;for(const i of n)try{const r=yield i();if(lz(r))return r}catch(r){a=r}throw a||new Error("草畜平衡接口不可用")})}function cz(t){return P3(this,null,function*(){const e=[()=>or(Rl,"/area/children",{areaCode:t},{timeout:12e3}),()=>or(Rl,"/map/areaCode",{areaCode:t},{timeout:12e3})];let n,a=!1;for(const i of e)try{const r=sz(yield i());if(r.length)return r;a=!0}catch(r){n=r}if(a)return[];throw n||new Error("区划接口不可用")})}const dz={class:"grass-livestock-balance"},fz={class:"balance-selector"},hz={class:"balance-scope-tabs"},mz=["onClick"],pz={class:"balance-target-list"},gz=["title","onClick"],yz={class:"balance-action-box"},vz=["disabled"],Sz={key:0,class:"balance-running"},wz={class:"balance-running-head"},bz={class:"balance-core-inner"},Tz={class:"balance-running-title"},Cz={class:"balance-progress-line"},Az={class:"balance-live-process"},_z={key:1,class:"balance-waiting"},xz={class:"balance-wait-core"},Mz={class:"balance-core-ring is-empty"},Pz={class:"balance-core-inner"},kz={class:"balance-preflight"},Ez={key:2,class:"balance-analysis"},Nz={class:"balance-dashboard"},Rz={class:"balance-object-block"},Lz={class:"balance-core"},Iz={class:"balance-core-inner"},Fz={class:"balance-compare"},Bz={class:"balance-bar-row"},Dz={class:"balance-bar-row is-livestock"},Gz={class:"balance-detail"},Uz={class:"balance-process"},Oz={class:"balance-section-title"},jz={class:"balance-process-track"},zz={class:"balance-decision"},Yz={class:"balance-section-title"},$z={class:"balance-conclusion"},Wz={class:"balance-advice-list"},Vz={class:"balance-overload-ranking"},Hz={class:"balance-rank-list"},Kz=326,qz=1310,Jz=128,Qz=8,Xz=6200,Zz={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["loading-progress","map-ready"],setup(t,{emit:e}){const n=t,a=e,i=Q2(typeof window=="undefined"?1080:window.innerHeight),r=s2(()=>{const D3=Math.max(1080,Number(i.value)||1080);return Math.max(944,D3-Jz-Qz)}),o=s2(()=>r.value),s=Q2("county"),u=Q2(""),m=Q2("idle"),h=Q2(0),p=Q2(0),g=Q2(""),C=Q2({}),I=Q2([]);let U=!1,j=0,l2=null,v2=0,S2=null;const T2=s2(()=>[...eL,...I.value].map(D3=>Dp(C.value[D3.key],D3))),C2=s2(()=>T2.value.filter(D3=>D3.type==="county")),j2=s2(()=>T2.value.filter(D3=>D3.type==="town")),K2=s2(()=>T2.value.filter(D3=>D3.type==="village")),V2=s2(()=>s.value==="town"?j2.value:s.value==="village"?K2.value:C2.value),s3=s2(()=>T2.value.find(D3=>D3.key===u.value)||null),m3=s2(()=>!!s3.value),p3=s2(()=>m.value==="running"),U3=s2(()=>m3.value&&m.value==="done"),b3=s2(()=>aL(s3.value||{})),Y3=s2(()=>[{key:"county",name:"县"},{key:"town",name:"镇"},{key:"village",name:"村"}]),o3=s2(()=>{var D3;return((D3=Y3.value.find(e1=>e1.key===s.value))==null?void 0:D3.name)||"县"}),n1=s2(()=>s3.value?s3.value.areaCode?`行政区划 ${s3.value.areaCode}`:s3.value.township||"核算对象":"等待选择核算对象"),b1=s2(()=>g.value?g.value:m3.value?U3.value?"分析已完成":p3.value?"正在执行核算":"已选择,待开始分析":"请先选择具体对象"),W3=s2(()=>U3.value?"草畜平衡分析舱":"草畜平衡分析"),R1=s2(()=>m3.value?p3.value?"分析中":"待开始":"待选择"),D1=s2(()=>m3.value?p3.value?`${s3.value.name} 正在分析`:`${s3.value.name} 待开始分析`:"先选择一个核算对象"),Y1=s2(()=>g.value?g.value:m3.value?p3.value?"正在读取草畜平衡结果,核对承载力、载畜量和超载率。":"点击左侧开始分析后,再展示结果、分析过程、结论和建议。":"选择县、镇或村后,系统才会进入草地承载力核算。"),h3=s2(()=>{const D3=b3.value;return D3.delta===null?"根据草畜平衡结果表返回的承载力、载畜量和超载率生成判定。":`${D3.delta>0?"超载量":"承载余量"} ${xi(Math.abs(D3.delta))},承载利用率 ${ui(D3.usageRate)}。`}),x3=s2(()=>b3.value.risk.key==="healthy"?"保持监测":b3.value.risk.key==="watch"?"基本平衡":b3.value.risk.key==="light"?"关注调控":b3.value.delta===null?"按结果表判定":b3.value.delta>0?"需调控载畜量":"承载能力可覆盖"),L3=s2(()=>b3.value.risk.key==="healthy"||b3.value.risk.key==="watch"?"保持监测":b3.value.risk.key==="light"?"关注调控":b3.value.delta===null?"结果表口径":b3.value.delta>0?"需要调控":"保持监测"),h1=s2(()=>{const D3=Math.max(0,Math.min(130,Number(b3.value.usageRate)||0));return`${Math.round(D3/130*360)}deg`}),C1=s2(()=>[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核定草地范围、面积和产草量等级,形成生产力基础口径。"},{key:"forage",index:"02",name:"可利用草量折算",desc:"扣除不可食草量、生态保留量和利用限制,折算可供放牧利用草量。"},{key:"livestock",index:"03",name:"载畜量折算",desc:"依据实际存栏和草畜平衡标准,统一形成载畜压力口径。"},{key:"balance",index:"04",name:"平衡判定",desc:"对比草地承载能力与载畜压力,输出平衡状态和调控方案。"}]),_1=s2(()=>{const D3=b3.value;return[{key:"productivity",index:"01",name:"草地生产力核算",desc:"核算草地面积与产草能力",pending:"等待草地参数",plan:"核定草地范围、面积和产草量等级"},{key:"forage",index:"02",name:"可利用草量折算",desc:"折算可供放牧利用草量",pending:"等待草量折算",plan:"扣除不可食草量、生态保留量和利用限制"},{key:"livestock",index:"03",name:"载畜量折算",desc:"形成实际载畜压力口径",pending:"等待载畜折算",plan:"依据实际存栏和草畜平衡标准进行折算"},{key:"balance",index:"04",name:"平衡判定",desc:"生成结论与调控方向",pending:"等待平衡判定",plan:["healthy","watch"].includes(D3.risk.key)?"判定平衡状态并生成监测方案":"判定超载风险并生成调控方案"}]}),o1=s2(()=>_1.value[Math.min(p.value,_1.value.length-1)]||_1.value[0]),l3=s2(()=>[{key:"productivity",index:"01",name:"生产力核算",desc:U3.value?"草地生产力核算":m3.value?"等待核算":"等待选择",state:m3.value?"done":"active"},{key:"forage",index:"02",name:"草量折算",desc:U3.value?"可利用草量折算":"分析后折算",state:p3.value?"active":U3.value?"done":m3.value?"pending":"disabled"},{key:"livestock",index:"03",name:"载畜折算",desc:U3.value?"载畜压力折算":"等待折算",state:p3.value?"active":U3.value?"done":"disabled"},{key:"balance",index:"04",name:"平衡判定",desc:U3.value?b3.value.risk.label:"等待判定",state:U3.value?"done":"disabled"}]),$2=s2(()=>U3.value?iL(s3.value,b3.value.risk):[]),j3=s2(()=>j2.value.filter(D3=>Number.isFinite(Number(D3.overloadRate))).slice().sort((D3,e1)=>Number(e1.overloadRate)-Number(D3.overloadRate)).slice(0,10)),c1=s2(()=>Math.max(1,...j3.value.map(D3=>Math.max(0,Number(D3.overloadRate)||0)))),M1=s2(()=>j3.value.map((D3,e1)=>Z2(B2({},D3),{rank:e1+1})));function $1(D3){const e1=Math.max(0,Number(D3==null?void 0:D3.overloadRate)||0);return Math.max(6,Math.min(100,e1/c1.value*100))}function W1(D3){const e1=Number(D3==null?void 0:D3.overloadRate);return Number.isFinite(e1)?e1>=2.5?"is-alert":e1>=2?"is-warning":"is-stable":"is-empty"}function P(){i.value=typeof window=="undefined"?1080:window.innerHeight}mn(()=>{P(),window.addEventListener("resize",P),a("loading-progress",{progress:100}),a("map-ready"),O3()}),hn(()=>{U=!0,window.removeEventListener("resize",P),j+=1,v2+=1,y1()}),N0(()=>{var D3;return(D3=s3.value)==null?void 0:D3.key},()=>{m.value="idle",h.value=0,p.value=0,g.value="",S2=null,y1()}),N0(()=>n.active,D3=>{D3||!p3.value||(m.value="idle",h.value=0,p.value=0,g.value="",S2=null,y1())});function E3(D3){s.value=D3,u.value="",m.value="idle",g.value=""}function g3(D3){D3&&(s.value=["county","town","village"].includes(D3.type)?D3.type:"county",u.value=D3.key,m.value="idle",g.value="")}function A1(){if(!n.active||!s3.value||p3.value)return;m.value="running",h.value=0,p.value=0,g.value="",y1();const D3=Date.now();let e1=!1;const s1=q3().catch(S1=>(e1=!0,console.warn("[grassLivestockBalance] fallback balance row used",S1),g.value="接口暂不可用,已使用本地兜底口径",s3.value));S2=s1,l2=window.setInterval(()=>{if(U)return;const S1=S2===s1?92:100;h.value=Math.min(S1,h.value+2),p.value=Math.min(_1.value.length-1,Math.floor(h.value/25))},140),s1.finally(()=>P3(this,null,function*(){var F1;const S1=Xz-(Date.now()-D3);if(S1>0&&(yield new Promise(s0=>window.setTimeout(s0,S1))),!(U||m.value!=="running"||S2!==s1)){if(S2=null,y1(),!s3.value){h.value=0,p.value=0,m.value="idle";return}!e1&&!C.value[(F1=s3.value)==null?void 0:F1.key]&&(g.value="未查询到接口结果,已使用本地兜底口径"),h.value=100,p.value=_1.value.length-1,m.value="done"}}))}function q3(){return P3(this,null,function*(){const D3=s3.value;if(!D3)throw new Error("请先选择具体核算对象");if(C.value[D3.key])return C.value[D3.key];const e1=++j,s1=yield uz({areaCode:D3.areaCode});if(U||e1!==j)return null;if(!s1||typeof s1!="object"||!Object.keys(s1).length)throw new Error("未查询到该对象的草畜平衡结果");return C.value=Z2(B2({},C.value),{[D3.key]:s1}),s1})}function O3(){return P3(this,null,function*(){const D3=++v2,e1=j2.value.filter(s1=>s1==null?void 0:s1.areaCode).map(s1=>B2({},s1));if(e1.length)try{const s1=yield Promise.all(e1.map(S1=>P3(this,null,function*(){try{const F1=yield cz(S1.areaCode);return U||D3!==v2?[]:g1(F1,S1)}catch(F1){return[]}})));if(U||D3!==v2)return;I.value=s1.flat()}catch(s1){if(U||D3!==v2)return;I.value=[]}})}function g1(D3=[],e1={}){const S1=(Array.isArray(D3)?D3:[]).filter(F1=>{const s0=e3(F1),G0=T3(F1);return!!(s0||G0)}).map((F1,s0)=>H2(F1,s0,e1)).filter(Boolean);return H1(S1,e1)}function H1(D3=[],e1={}){const s1=new Map;return D3.forEach(S1=>{const F1=G2(S1,e1),s0=s1.get(F1);if(!s0){s1.set(F1,Z2(B2({},S1),{duplicateSources:[S1.source].filter(Boolean)}));return}const u3=!s0.areaCode&&S1.areaCode?B2(B2({},s0),S1):s0;s1.set(F1,Z2(B2({},u3),{duplicateSources:[...s0.duplicateSources||[],S1.source].filter(Boolean)}))}),[...s1.values()]}function G2(D3={},e1={}){const s1=String(D3.name||"").replace(/\s+/g,"").trim();return`${String(D3.township||e1.name||"").replace(/\s+/g,"").trim()||"unknown-town"}-${s1||D3.areaCode||"unknown-village"}`}function H2(D3={},e1=0,s1={}){const S1=e3(D3),F1=T3(D3)||(S1?`村级区划${S1}`:"");return!S1&&!F1?null:{key:`village-${S1||`${s1.key||s1.name}-${F1}-${e1}`}`,type:"village",name:F1,areaCode:S1,township:s1.name,source:D3,year:"2026"}}function e3(D3={}){return String(Tn(D3,["areaCode","area_code","areacode","code","value","id","areaId","area_id"],"")||"").trim()}function T3(D3={}){return String(Tn(D3,["areaName","area_name","areaname","name","label","zoneName","villageName","village_name"],"")||"").trim()}function y1(){l2&&(window.clearInterval(l2),l2=null)}function B1(D3){return U3.value||p3.value&&D3<=p.value}function G1(D3){return D3(G(),z("div",dz,[e1[15]||(e1[15]=w("div",{class:"balance-backdrop","aria-hidden":"true"},[w("div",{class:"balance-orbit is-left"}),w("div",{class:"balance-orbit is-right"}),w("div",{class:"balance-energy-band"})],-1)),w("div",{class:"balance-screen",style:z1({"--balance-card-height":`${r.value}px`})},[l1(l0,{class:"balance-card balance-target-card",title:"核算对象",width:Kz,height:o.value},{default:e0(()=>{var s1;return[w("div",fz,[w("div",hz,[(G(!0),z(B3,null,H3(Y3.value,S1=>(G(),z("button",{key:S1.key,type:"button",class:r1({active:s.value===S1.key}),onClick:F1=>E3(S1.key)},i2(S1.name),11,mz))),128))]),w("div",pz,[(G(!0),z(B3,null,H3(V2.value,S1=>{var F1;return G(),z("button",{key:S1.key,type:"button",class:r1({active:S1.key===((F1=s3.value)==null?void 0:F1.key)}),title:S1.name,onClick:s0=>g3(S1)},[w("span",null,i2(S1.name),1)],10,gz)}),128))]),w("div",yz,[e1[0]||(e1[0]=w("span",null,"当前对象",-1)),w("strong",null,i2(((s1=s3.value)==null?void 0:s1.name)||"未选择"),1),w("small",null,i2(b1.value),1),w("button",{type:"button",disabled:!m3.value||p3.value,onClick:A1},i2(p3.value?"分析中...":U3.value?"重新分析":"开始分析"),9,vz)])])]}),_:1},8,["height"]),l1(l0,{class:"balance-card balance-sheet-card",title:W3.value,width:qz,height:r.value},{default:e0(()=>[w("div",{class:r1(["balance-sheet",{"is-ready":U3.value,"is-running":p3.value}])},[e1[14]||(e1[14]=w("div",{class:"balance-field-lines","aria-hidden":"true"},[w("i"),w("i"),w("i")],-1)),p3.value?(G(),z("section",Sz,[w("div",wz,[w("div",{class:"balance-core-ring is-running",style:z1({"--usage-angle":`${h.value*3.6}deg`})},[w("div",bz,[e1[1]||(e1[1]=w("span",null,"分析进度",-1)),w("strong",null,i2(h.value)+"%",1),w("small",null,i2(o1.value.name),1)])],4),w("div",Tz,[w("span",null,i2(s3.value.name),1),w("strong",null,i2(o1.value.desc),1),w("small",null,i2(o1.value.plan),1),w("div",Cz,[w("i",{style:z1({width:`${h.value}%`})},null,4)])])]),w("div",Az,[(G(!0),z(B3,null,H3(_1.value,(s1,S1)=>(G(),z("div",{key:s1.key,class:r1(["balance-live-step",`is-${G1(S1)}`])},[w("span",null,i2(s1.index),1),w("div",null,[w("strong",null,i2(s1.name),1),w("p",null,i2(B1(S1)?s1.plan:s1.pending),1)])],2))),128))])])):U3.value?(G(),z("section",Ez,[w("div",Nz,[w("div",Rz,[w("span",null,i2(o3.value)+"核算对象",1),w("strong",null,i2(s3.value.name),1),w("small",null,i2(n1.value),1)]),w("div",Lz,[w("div",{class:"balance-core-ring",style:z1({"--usage-angle":h1.value})},[w("div",Iz,[e1[5]||(e1[5]=w("span",null,"承载利用率",-1)),w("strong",null,i2(k1(ui)(b3.value.usageRate)),1),w("small",null,"超载率 "+i2(k1(ui)(b3.value.overloadRate)),1)])],4),e1[6]||(e1[6]=w("div",{class:"balance-core-caption"},"草地承载力模型",-1))]),w("div",{class:r1(["balance-verdict-card",`is-${b3.value.risk.key}`])},[e1[7]||(e1[7]=w("span",null,"分析结论",-1)),w("strong",null,i2(b3.value.risk.label),1),w("small",null,i2(x3.value),1)],2)]),w("div",Fz,[w("div",Bz,[e1[8]||(e1[8]=w("span",null,"理论承载力",-1)),w("div",null,[w("i",{style:z1({width:`${b3.value.bearingPercent}%`})},null,4)]),w("strong",null,i2(k1(xi)(b3.value.bearing)),1)]),w("div",Dz,[e1[9]||(e1[9]=w("span",null,"实际载畜量",-1)),w("div",null,[w("i",{style:z1({width:`${b3.value.livestockPercent}%`})},null,4)]),w("strong",null,i2(k1(xi)(b3.value.livestock)),1)])]),w("div",Gz,[w("div",Uz,[w("div",Oz,[e1[10]||(e1[10]=w("span",null,"分析过程",-1)),w("small",null,i2(s3.value.year||"当前年度"),1)]),w("div",jz,[(G(!0),z(B3,null,H3(l3.value,s1=>(G(),z("span",{key:`track-${s1.key}`,class:r1(`is-${s1.state}`)},i2(s1.name),3))),128))]),(G(!0),z(B3,null,H3(C1.value,s1=>(G(),z("div",{key:s1.key,class:"balance-formula-row"},[w("span",null,i2(s1.index),1),w("div",null,[w("strong",null,i2(s1.name),1),w("p",null,i2(s1.desc),1)])]))),128))]),w("div",zz,[w("div",Yz,[e1[11]||(e1[11]=w("span",null,"结论与建议",-1)),w("small",null,i2(L3.value),1)]),w("div",$z,[w("strong",null,i2(b3.value.risk.description),1),w("p",null,i2(h3.value),1)]),w("div",Wz,[(G(!0),z(B3,null,H3($2.value,(s1,S1)=>(G(),z("div",{key:`${s1}-${S1}`,class:"balance-advice-item"},[w("span",null,i2(S1+1),1),w("p",null,i2(s1),1)]))),128))])]),w("div",Vz,[e1[13]||(e1[13]=w("div",{class:"balance-section-title"},[w("span",null,"超载率排行"),w("small",null,"乡镇 Top10")],-1)),w("div",Hz,[(G(!0),z(B3,null,H3(M1.value,s1=>(G(),z("div",{key:`overload-${s1.key||s1.name}`,class:r1(["balance-rank-row",W1(s1)]),style:z1({"--rank-progress":`${$1(s1)}%`})},[w("span",null,i2(s1.rank),1),w("strong",null,i2(s1.name),1),e1[12]||(e1[12]=w("div",null,[w("i")],-1)),w("em",null,i2(k1(ui)(s1.overloadRate)),1)],6))),128))])])])])):(G(),z("section",_z,[w("div",xz,[w("div",Mz,[w("div",Pz,[w("span",null,i2(R1.value),1),w("strong",null,i2(m3.value?s3.value.name:"草畜平衡"),1),w("small",null,i2(m3.value?"待执行模型分析":"等待核算对象"),1)])]),w("h2",null,i2(D1.value),1),w("p",null,i2(Y1.value),1)]),w("div",kz,[w("span",{class:r1({active:m3.value})},"对象锁定",2),e1[2]||(e1[2]=w("i",null,null,-1)),w("span",{class:r1({active:m3.value})},"等待启动分析",2),e1[3]||(e1[3]=w("i",null,null,-1)),e1[4]||(e1[4]=w("span",null,"生成过程与结论",-1))])]))],2)]),_:1},8,["title","height"])],4)]))}};const eY={class:"yak-management"},tY={key:1,class:"yak-map-loading"},nY={class:"yak-management-ui"},aY={key:0,class:"trade-year-switcher","aria-label":"交易年份切换"},iY=["onClick"],rY={key:1,class:"epidemic-year-switcher","aria-label":"防疫年份切换"},oY=["onClick"],sY={key:2,class:"forecast-year-switcher","aria-label":"预测年份切换"},lY=["onClick"],uY={class:"yak-left"},cY={class:"yak-side-stack is-left"},dY={class:"breeding-health-card"},fY={class:"breeding-health-head"},hY={class:"breeding-health-grid"},mY={class:"structure-chart-card"},pY={class:"structure-ratio-card"},gY={class:"structure-ratio-chart"},yY={viewBox:"0 0 150 150",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true"},vY={class:"structure-rose-segments"},SY=["d","fill","stroke"],wY={class:"structure-ratio-list"},bY={key:0,class:"yak-data-status"},TY={key:1,class:"yak-data-status is-warning"},CY={class:"forecast-waterfall-card"},AY={class:"forecast-waterfall-head"},_Y={class:"forecast-waterfall-list"},xY={class:"forecast-trend-card"},MY={class:"forecast-density-switcher","aria-label":"预测粒度切换"},PY=["onClick"],kY={key:0,class:"epidemic-three-pie-card"},EY={class:"epidemic-three-pie-visual"},NY={class:"epidemic-three-pie-center"},RY={class:"epidemic-three-pie-legend"},LY={key:1,class:"epidemic-empty"},IY={class:"trade-risk-card"},FY={class:"trade-risk-head"},BY={class:"trade-risk-list"},DY={class:"yak-right"},GY={class:"yak-side-stack is-right"},UY={class:"structure-chart-card"},OY={class:"structure-summary-card"},jY={key:0,class:"yak-data-status"},zY={key:1,class:"yak-data-status is-warning"},YY={class:"forecast-heat-list"},$Y=["title"],WY={class:"epidemic-record-table is-full"},VY={class:"epidemic-record-toolbar"},HY={class:"epidemic-record-rows"},KY=["onClick"],qY={key:0,class:"epidemic-empty"},JY={class:"epidemic-record-pager"},QY=["disabled"],XY=["disabled"],ZY={class:"trade-cert-card"},e$={class:"trade-cert-main"},t$={class:"trade-dest-list"},n$={key:0,class:"epidemic-empty"},a$={class:"trade-ledger-table"},i$={class:"trade-ledger-toolbar"},r$={class:"trade-ledger-rows"},o$=["onClick"],s$={key:0,class:"epidemic-empty"},l$={class:"trade-ledger-pager"},u$=["disabled"],c$=["disabled"],d$={class:"yak-bottom-topic"},f$={class:"epidemic-ledger-dialog"},h$={class:"epidemic-ledger-dialog-head"},m$={class:"epidemic-ledger-filters"},p$=["value"],g$=["value"],y$={class:"epidemic-ledger-workspace"},v$={class:"epidemic-ledger-list"},S$=["onClick"],w$={key:0,class:"epidemic-empty"},b$={class:"epidemic-ledger-detail trade-ledger-detail epidemic-ledger-record-detail"},T$={class:"epidemic-detail-head trade-detail-head"},C$={class:"epidemic-detail-grid is-modal trade-detail-grid epidemic-detail-flat-grid"},A$={key:0,class:"epidemic-detail-photos"},_$={class:"epidemic-modal-photo-strip"},x$=["onClick"],M$=["src"],P$={class:"epidemic-ledger-pager"},k$=["disabled"],E$=["disabled"],N$={class:"epidemic-ledger-dialog trade-ledger-dialog"},R$={class:"epidemic-ledger-dialog-head"},L$={class:"epidemic-ledger-filters trade-ledger-filters"},I$=["value"],F$=["value"],B$=["value"],D$={class:"epidemic-ledger-workspace trade-ledger-workspace"},G$={class:"epidemic-ledger-list trade-ledger-modal-list"},U$=["onClick"],O$={key:0,class:"epidemic-empty"},j$={class:"epidemic-ledger-detail trade-ledger-detail"},z$={class:"epidemic-detail-head trade-detail-head"},Y$={class:"epidemic-detail-grid is-modal trade-detail-grid"},$$={class:"is-wide"},W$={class:"is-wide"},V$={class:"is-wide"},H$={class:"is-wide"},K$=["disabled"],q$={class:"epidemic-ledger-pager"},J$=["disabled"],Q$=["disabled"],X$={class:"epidemic-image-preview-dialog"},Z$={class:"epidemic-image-preview-head"},eW={class:"epidemic-image-preview-body"},tW={class:"epidemic-image-preview-frame"},nW=["src"],aW="https://qkl-hy.oss-cn-chengdu.aliyuncs.com/yak-vaccine-images",iW="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",rW="oss-satellite-dynamic-zoom21-v5",gi=8,dm=14,Ys=12,fm=14,oW=5e3,yi=6,sW=4200,lW={__name:"index",props:{active:{type:Boolean,default:!0},viewKey:{type:String,default:"structure"}},emits:["module-stats","view-change"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Vt.sideCardWidth;Vt.sideCardGap;const o=Q2(typeof window=="undefined"?1080:window.innerHeight),s=s2(()=>_8(o.value)),u=s2(()=>n9(s.value,2)),m=s2(()=>s.value),h=s2(()=>n9(s.value,2)),p=D6.textPrimary,g=D6.textStrong,C=D6.textSecondary,I=D6.textMuted,U=D6.chartGridLine,j=[103.07984,33.029058],l2=[102.682809,33.131561],v2={targetLngLat:[102.6,32.59],targetLocalZ:.72,distanceScale:1.05,duration:.75},S2=["#30dcff","#27f0c0","#8bf7ff","#48cfff","#48cfff","#24f6c4"],T2=["#24f6c4","#32dcff","#8bf7ff","#24f6c4","#48cfff","#48cfff"],C2=["#30dcff","#8bf7ff","#27f0c0","#48cfff","#48cfff","#24f6c4","#48cfff"],j2={name:"红原牦牛交易市场",lng:102.562157,lat:32.820484},K2=[{key:"structure",name:"畜群结构",color:"#30dcff"},{key:"forecast",name:"畜群预测",color:"#8bf7ff"},{key:"epidemic",name:"牦牛防疫",color:"#27f0c0"},{key:"trade",name:"牦牛交易",color:"#63d7ff"}],V2=Q2(A9(a.viewKey)),s3=Q2("2027"),m3=Q2("month"),p3=Q2(0),U3=Q2([]),b3=Q2([]),Y3=Q2([]),o3=Q2(!1),n1=Q2(""),b1=[2025,2026],W3=Q2(2026),R1=Q2({metrics:{}}),D1=Q2({rows:[],year:null}),Y1=Q2({rows:[]}),h3=Q2([]),x3=Q2(0),L3=Q2(1),h1=Q2(""),C1=Q2(""),_1=Q2(!1),o1=Q2(""),l3=Q2(!1),$2=Q2([]),j3=Q2(0),c1=Q2(1),M1=Q2(!1),$1=Q2(""),W1=Q2(null),P=Q2(null),E3=Q2(!1),g3=Q2(!1),A1=Q2(""),q3=Q2(v9()),O3=Q2({years:[],latestYear:null}),g1=Q2({metrics:{},hasData:!1}),H1=Q2([]),G2=Q2(0),H2=Q2(null),e3=Q2(!1),T3=Q2(""),y1=Q2(1),B1=Q2(""),G1=Q2(""),D3=Q2(!1),e1=Q2([]),s1=Q2(0),S1=Q2(1),F1=Q2(!1),s0=Q2(""),G0=Q2(null),u3=Q2({keyword:"",startTown:"",usageType:"",certType:""}),z3=Q2(null),V3=Q2(null),x1=Q2(!1),S3=Q2(!1),y3=Q2(0),D2=Q2(0),G3=Q2({type:"idle",text:""}),i3=Q2({type:"idle",text:""});let L1=null,_2=!1,n3=!1,I3=null,F3=!1,Z3=null,t1=null,d0=0;const K1=[{key:"day",label:"日",unit:"日",stepDays:1},{key:"week",label:"周",unit:"周",stepDays:7},{key:"month",label:"月",unit:"月",stepDays:30}],c0=s2(()=>Lp(s3.value)),oe=new Set(["epidemic","trade"]),A0=s2(()=>!oe.has(V2.value)),Q0=s2(()=>A0.value?iW:""),Ue=s2(()=>A0.value?"oss-satellite":"solid-3d"),$e=s2(()=>`yak-management-map-${Ue.value}-${rW}-${y3.value}`),f0=s2(()=>WR+VR),ct=s2(()=>c0.value.stock-Ye),q1=s2(()=>an(c0.value)),Oe=s2(()=>s4(Y3.value,G6)),Et=s2(()=>Oe.value.reduce((A,x)=>A+Number(x.count||0),0));s2(()=>{const A=Et.value||1;return Oe.value.map((x,k)=>{const e2=Number(x.count||0),M2=Number(x.ratio);return Z2(B2({},x),{count:e2,color:S2[k%S2.length],percent:Number.isFinite(M2)?M2:e2/A*100})})});const dt=s2(()=>In(Oe.value,G6)),ft=s2(()=>dt.value),Le=s2(()=>la(ft.value)),ht=s2(()=>io(Oe.value,G6)),tt=s2(()=>oo(ht.value)),O=s2(()=>Math.max(...Le.value.map(A=>Number(A.count||0)),1)),N=s2(()=>ft.value.length?0:-1),d=s2(()=>{const A=ft.value,x=A.length;if(!x)return[];const k=Math.max(...A.map(X=>Number(X.count||0)),1),e2=360/x,M2=Math.min(8,e2*.16);return A.map((X,A2)=>{const P2=Number(X.count||0),A3=A2===N.value,$3=36+Math.sqrt(P2/k)*31+(A3?5:0),d1=17,O1=-90+A2*e2+M2/2,U1=-90+(A2+1)*e2-M2/2,X1=(O1+U1)/2,L0=Lt(75,75,$3+3,X1),q0=Lt(75,75,$3+15,X1),at=Lt(75,75,$3+20,X1);return{key:X.key||X.name||A2,index:A2,item:X,color:X.color||S2[A2%S2.length],path:ao(75,75,d1,$3,O1,U1),lineStart:L0,lineEnd:q0,label:at,anchor:Math.cos(X1*Math.PI/180)>=0?"start":"end"}})}),f=s2(()=>sa(["fertileCow","overageCow"])),y=s2(()=>sa(["femaleCalf","maleCalf"])),b=s2(()=>Ep(Gr(U3.value.length?U3.value:d7,d7),Ye)),_=s2(()=>jR),M=s2(()=>JR(c0.value)),a2=s2(()=>qR(c0.value)),Z=s2(()=>{var A;return((A=R1.value)==null?void 0:A.metrics)||{}}),t2=s2(()=>{var A;return Rn((A=R1.value)==null?void 0:A.dateTrend).sort(Q6)}),J=s2(()=>{var A;return Rn((A=R1.value)==null?void 0:A.medicineCounts)}),Y=s2(()=>J.value.filter(A=>A.value>0).map((A,x)=>Z2(B2({},A),{key:A.key||`${A.name}-${x}`,unit:"条"}))),k2=s2(()=>Y.value.map(A=>`${A.name}:${A.value}`).join("|")||"epidemic-medicine-empty"),y2=s2(()=>{var A;return Rn((A=R1.value)==null?void 0:A.ownerRanks).slice(0,8)}),o2=s2(()=>O7(R1.value)),d2=s2(()=>{var A;return((A=J.value.find(x=>x.name&&x.name!=="未填写"))==null?void 0:A.name)||"-"}),F2=s2(()=>k5(Z.value,["total","vaccine"]));s2(()=>k5(Z.value,["owners"]));const n2=s2(()=>Number(W3.value)===2026?10:k5(Z.value,["villages"])),T=s2(()=>W2.value.length),D=s2(()=>{var A;return((A=W2.value[0])==null?void 0:A.name)||"-"}),W=s2(()=>{const A=h3.value.map(x=>x.operateTime).filter(Boolean).sort();return A.length?R0(A[A.length-1]):"-"}),x2=s2(()=>{const A=Math.max(...J.value.map(x=>Number(x.value||0)),0);return A>0?A:Math.round(F2.value/o2.value)}),N2=s2(()=>{var x;const A=w9((x=D1.value)==null?void 0:x.rows);return A.length?A:W2.value.map(k=>({name:k.name,recordCount:Number(k.recordCount||0),earTagCount:Number(k.earTagCount||0),ratio:k.ratio,source:"ledger"}))}),Y2=s2(()=>{var x;const A=new Set;return D8((x=Y1.value)==null?void 0:x.rows).filter(k=>Number.isFinite(k.lng)&&Number.isFinite(k.lat)).map((k,e2)=>{const M2=`${k.lng.toFixed(4)},${k.lat.toFixed(4)}`,X=A.has(M2)?(e2%3-1)*.012:0;return A.add(M2),Z2(B2({},k),{name:k.village,value:k.earTagCount,unit:"万头",lng:k.lng+X,lat:k.lat-X*.65,displayValue:Number((k.earTagCount/1e4).toFixed(2)),displayUnit:"万头",rankLabel:`第${e2+1}名`})})}),W2=s2(()=>{var x;const A=new Map;return Rn((x=R1.value)==null?void 0:x.townCounts).forEach(k=>{const e2=yt(k.name);e2&&A.set(e2,Number(A.get(e2)||0)+Number(k.value||0))}),[...A.entries()].map(([k,e2])=>{const M2=Math.round(e2/o2.value),X=F2.value?e2/F2.value*100:0;return{name:k,recordCount:e2,earTagCount:M2,ratio:X}}).sort((k,e2)=>Number(e2.recordCount||0)-Number(k.recordCount||0))}),a3=s2(()=>Math.max(b.value.length,T.value)),w3=s2(()=>new Set(W2.value.map(A=>yt(A.name)).filter(Boolean))),v3=s2(()=>{const A=w3.value;return b.value.map(x=>yt(x.name)).filter(x=>x&&!A.has(x))}),f3=s2(()=>{const A=a3.value||T.value||1;return T.value/A*100});s2(()=>x2.value/Ye*100);const v1=s2(()=>Or());s2(()=>F2.value?v3.value.length?v3.value.length:v1.value.name&&v1.value.name!=="暂无"?1:0:0);const a1=s2(()=>jr()),w1=s2(()=>q7()),T1=s2(()=>zr());s2(()=>Yr());const N1=s2(()=>$r());s2(()=>N1.value.slice(0,3)),s2(()=>F2.value?v3.value.length?"年度免疫进度需核查":v1.value.desc:"年度计划待核查");const L=s2(()=>Math.max(Math.ceil(x3.value/gi),1)),q=s2(()=>h3.value.slice(0,gi)),F=s2(()=>Math.max(Math.ceil(j3.value/dm),1)),r2=s2(()=>P.value||W1.value||{}),p2=s2(()=>E5(r2.value)),f2=s2(()=>{const A=r2.value||{};return[h0("台账编号",A.epidemicId,{wide:!0}),h0("养殖户",A.owner,{wide:!0}),h0("联系电话",Q7(A.phone)),h0("证件类型",A.idType),h0("证件号码",Kr(A.idNo)),h0("镇/乡",A.town),h0("村",A.village),h0("详细地址",A.location,{wide:!0}),h0("畜种",A.livestockType),h0("性别",A.sex),h0("畜龄",A.age),h0("体重",qr(A.weight)),h0("疫苗/药品",A.medicine),h0("防疫类型",A.preventionType),h0("免疫方式",A.method),h0("剂量",Jr(A.dose)),h0("免疫时间",R0(A.operateTime)),h0("操作员",A.operator)].filter(Boolean)}),r3=s2(()=>{var A;return Rn((A=R1.value)==null?void 0:A.townCounts).map(x=>x.name)}),N3=s2(()=>J.value.map(A=>A.name).filter(A=>A&&A!=="未填写")),K=s2(()=>{var A;return((A=g1.value)==null?void 0:A.metrics)||{}}),m2=s2(()=>{var A,x,k,e2,M2,X,A2,P2;return B8((A=O3.value)==null?void 0:A.years,(x=g1.value)==null?void 0:x.availableYears,(k=g1.value)==null?void 0:k.available_years,(e2=g1.value)==null?void 0:e2.yearSummary,(M2=g1.value)==null?void 0:M2.year_summary,(X=g1.value)==null?void 0:X.latestYear,(A2=g1.value)==null?void 0:A2.latest_year,(P2=g1.value)==null?void 0:P2.year)}),R2=s2(()=>{var A,x;return M5(((A=g1.value)==null?void 0:A.monthTrend)||((x=g1.value)==null?void 0:x.month_trend),"name")});s2(()=>{var A,x;return j7(((A=g1.value)==null?void 0:A.yearSummary)||((x=g1.value)==null?void 0:x.year_summary))});const q2=s2(()=>{var A,x;return M5(((A=g1.value)==null?void 0:A.startTownCounts)||((x=g1.value)==null?void 0:x.start_town_counts),"name")}),X3=s2(()=>{var A,x;return M5(((A=g1.value)==null?void 0:A.usageCounts)||((x=g1.value)==null?void 0:x.usage_counts),"name")}),p1=s2(()=>{var A,x,k,e2,M2,X;return M5(((A=g1.value)==null?void 0:A.transportNumberCounts)||((x=g1.value)==null?void 0:x.transport_number_counts)||((k=g1.value)==null?void 0:k.vehicleCounts)||((e2=g1.value)==null?void 0:e2.vehicle_counts)||((M2=g1.value)==null?void 0:M2.transportCounts)||((X=g1.value)==null?void 0:X.transport_counts),"transportNumber")}),B=s2(()=>{const A=q2.value.map(k=>{const e2=String(k.name||"").trim(),M2=yt(e2),X=g9(M2||e2);return Z2(B2({},k),{rawName:e2,name:X,displayName:X,town:M2,mapTownName:M2})}).filter(k=>k.name&&k.name!=="未填写").slice(0,10),x=Math.max(...A.map(k=>k.headCount),1);return A.map((k,e2)=>Z2(B2({},k),{key:k.key||`${k.mapTownName||k.name}-${e2}`,value:k.headCount,unit:"头",ratio:Math.max(8,Math.round(k.headCount/x*100))}))}),H=s2(()=>H1.value.slice(0,Ys)),S=s2(()=>Math.max(Math.ceil(G2.value/Ys),1)),E=s2(()=>Math.max(Math.ceil(s1.value/fm),1)),c2=s2(()=>G0.value||{}),L2=s2(()=>c2.value.certId||c2.value.factoryCode||""),U2=s2(()=>{var x,k;const A=P5(((x=O3.value)==null?void 0:x.startTowns)||((k=O3.value)==null?void 0:k.start_towns));return A.length?A:S9(q2.value.map(e2=>e2.name))}),J2=s2(()=>{var x,k;const A=P5(((x=O3.value)==null?void 0:x.usageTypes)||((k=O3.value)==null?void 0:k.usage_types));return A.length?A:S9(X3.value.map(e2=>e2.name))}),M3=s2(()=>{var x,k,e2,M2;const A=Ur(((x=O3.value)==null?void 0:x.certTypeOptions)||((k=O3.value)==null?void 0:k.cert_type_options));return A.length?A:P5(((e2=O3.value)==null?void 0:e2.certTypes)||((M2=O3.value)==null?void 0:M2.cert_types)).map(X=>({value:X,label:X}))}),u1=s2(()=>B.value.map((A,x)=>({key:A.key||`${A.name}-${x}`,name:A.displayName||A.name,displayName:A.displayName||A.name,rawName:A.rawName,town:A.mapTownName||A.town||yt(A.name),mapTownName:A.mapTownName||A.town||yt(A.name),value:A.headCount,headCount:A.headCount,recordCount:A.recordCount,ratio:A.ratio,unit:"头"}))),V=s2(()=>Wr()),w2=s2(()=>{const A=V.value.filter(x=>x.level==="high");return A.length>=2?`${A.length}项重点`:A.length===1?`重点:${A[0].name}`:"整体平稳"}),E2=s2(()=>b.value.map(A=>Z2(B2({},A),{breedingCowRatio:f.value,calfRatio:y.value,breedingCow:Math.round(A.count*f.value/100),calf:Math.round(A.count*y.value/100)}))),I2=s2(()=>{const A=E2.value,x=A.length,k=Math.max(Math.ceil(x/yi),1),e2=p3.value%k,M2=e2*yi,X=Math.min(M2+yi,x);return{page:e2,pageCount:k,start:M2,end:X,total:x,rows:A.slice(M2,X)}}),u2=s2(()=>V2.value==="forecast"?M.value:b.value),t3=s2(()=>V2.value==="forecast"?"forecast":"count"),z2=s2(()=>r4(u2.value,t3.value)),c3=s2(()=>({key:"yak-marks-layer",sourceType:"wmts",layerName:"ne:daping_yak_marks",style:"ne:yak_marks",styles:"ne:yak_marks",format:"image/png",tileMatrixSetID:"EPSG:900913",maximumLevel:21,url:"/geoserver/gwc/service/wmts",cqlFilter:"gov_show = true",name:"牦牛识别标记",opacity:.96,queryBuffer:10,geometryField:"geom",fillColor:"rgba(255, 203, 69, 0)",strokeColor:"#FFCB45",glowColor:"rgba(255, 203, 69, 0.28)",lineWidth:1.4,mapView:{targetLngLat:[102.58,32.72],distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"yak-marks",name:"牦牛",fillColor:"#FFCB45",strokeColor:"#FFF4B8",selectable:!1}]})),C3=s2(()=>{var k;const x=D8((k=Y1.value)==null?void 0:k.rows).map(e2=>W7(e2.town,e2.village)).filter(Boolean);return{key:"yak-epidemic-village-boundary",sourceType:"wfs",layerName:"ne:t_pastures_map",styles:"牧场样式",name:"防疫村边界",opacity:.86,queryBuffer:8,cqlFilter:x.length?x.join(" OR "):"EXCLUDE",legends:[{key:"yak-epidemic-village-boundary",name:"防疫村边界",fillColor:"#30DCFF",strokeColor:"#C9FBFF",selectable:!1}]}}),J3=s2(()=>V2.value==="epidemic"?C3.value:V2.value==="trade"?null:c3.value),_3=s2(()=>V2.value==="structure"||V2.value==="forecast"),i1=s2(()=>V2.value==="forecast"?l2:j),x0=s2(()=>_3.value?null:J3.value),Y0=s2(()=>_3.value?null:R3.value),Z1=s2(()=>_3.value?!S3.value:!x1.value),h2=s2(()=>"3D地图加载中"),R3=s2(()=>V2.value==="trade"?{scope:"trade-flow",title:`${H2.value||""}出栏来源`,metricLabel:"来源",unit:"头",source:Z2(B2({},j2),{total:We("headCount")}),rows:u1.value,showFlowLines:!1,mapView:v2}:{scope:V2.value==="epidemic"?"village":"town",hideTownNames:V2.value==="epidemic",title:V2.value==="forecast"?`${c0.value.shortLabel}预测存栏`:V2.value==="epidemic"?`${W3.value}年村级防疫信息`:"乡镇估算存栏",metricLabel:V2.value==="forecast"?"预测":V2.value==="epidemic"?"防疫":"存栏",unit:"万头",rows:V2.value==="epidemic"?Y2.value:z2.value.map(A=>({name:A.name,value:Number((A.value/1e4).toFixed(2)),unit:"万头"}))}),J1=s2(()=>({color:["#8bf7ff","#30dcff"],tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(A){const x=A.map(k=>`${k.marker}${k.seriesName}:${m0(Math.abs(k.value))}头`);return`${A[0].name}
    ${x.join("
    ")}`}}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:C,fontSize:11}},grid:{left:22,right:22,top:32,bottom:12,containLabel:!0},xAxis:{type:"value",axisLabel:{color:I,fontSize:10,formatter:A=>D0(Math.abs(A))},splitLine:{lineStyle:{color:U,type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",data:_i.map(A=>A.age),axisLabel:{color:p,fontSize:11,fontWeight:700},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"母牛",type:"bar",stack:"gender",barWidth:12,data:_i.map(A=>-A.cow),itemStyle:{borderRadius:[7,0,0,7]}},{name:"公牛",type:"bar",stack:"gender",barWidth:12,data:_i.map(A=>A.bull),itemStyle:{borderRadius:[0,7,7,0]}}]})),mt=s2(()=>{const A=b.value,x=A.map(k=>k.count);return{color:S2,tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(k){const e2=k.map(M2=>`${M2.marker}${M2.seriesName}:${m0(M2.value)}头`);return`${k[0].name}
    ${e2.join("
    ")}
    估算存栏:${m0(x[k[0].dataIndex])}头
    结构依据:畜群结构比例表`}}),legend:{top:-2,right:0,itemWidth:8,itemHeight:6,itemGap:6,textStyle:{color:C,fontSize:10}},grid:{left:54,right:30,top:22,bottom:8},xAxis:{type:"value",axisLabel:{color:I,fontSize:10,formatter:D0},splitLine:{lineStyle:{color:U,type:"dashed"}},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"category",inverse:!0,data:A.map(k=>k.name),axisLabel:{color:p,fontSize:10,fontWeight:700,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:G6.map(k=>({name:k.name,type:"bar",stack:"town",barWidth:A.length>8?6:11,data:A.map(e2=>Math.round(e2.count*k.ratio/100))}))}}),pt=s2(()=>Zn(b.value,"count","头",{style:"ladder",tooltipFormatter(A){const x=b.value[A.dataIndex];return`${x.name}
    估算存栏:${m0(x.count)}头
    来源:无人机识别`}})),y0=s2(()=>{const A=I2.value,x=A.rows,k=Math.max(...x.map(e2=>e2.breedingCow+e2.calf),1);return{color:["#30dcff","#8bf7ff"],animationDurationUpdate:700,animationEasingUpdate:"cubicOut",tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(e2){const M2=x[e2[0].dataIndex],X=e2.filter(A2=>["能繁母牛","犊牛合计"].includes(A2.seriesName)).map(A2=>`${A2.marker}${A2.seriesName}:${m0(A2.value)}头`);return`${M2.name}
    母犊合计:${m0(M2.breedingCow+M2.calf)}头
    ${X.join("
    ")}
    依据:无人机识别 + 畜群结构比例表`}}),legend:{data:["能繁母牛","犊牛合计"],top:2,left:2,itemWidth:10,itemHeight:7,itemGap:9,textStyle:{color:C,fontSize:10}},graphic:A.total>yi?{type:"text",right:4,top:3,silent:!0,style:{text:`${A.start+1}-${A.end} / ${A.total}`,fill:I,fontSize:10,fontWeight:600}}:void 0,grid:{left:18,right:18,top:42,bottom:44,containLabel:!1},xAxis:{type:"category",data:x.map(e2=>e2.name),axisLabel:{color:I,fontSize:10,lineHeight:12,interval:0,margin:8,formatter:O8},axisLine:{show:!1},axisTick:{show:!1}},yAxis:{type:"value",max:Math.ceil(k*1.28),axisLabel:{show:!1},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:U,type:"dashed"}}},series:[{name:"基础群规模",type:"bar",barWidth:15,barGap:"-100%",data:x.map(e2=>e2.breedingCow+e2.calf),tooltip:{show:!1},itemStyle:{borderRadius:[8,8,1,1],color:"rgba(48, 220, 255, 0.07)"},silent:!0},{name:"能繁母牛",type:"bar",stack:"foundation",barWidth:15,data:x.map(e2=>e2.breedingCow),itemStyle:{borderRadius:[1,1,0,0],color:new Ce(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.34)"},{offset:1,color:"#30dcff"}])}},{name:"犊牛合计",type:"bar",stack:"foundation",barWidth:15,data:x.map(e2=>e2.calf),itemStyle:{borderRadius:[8,8,1,1],color:new Ce(0,0,0,1,[{offset:0,color:"#8bf7ff"},{offset:1,color:"rgba(139, 247, 255, 0.2)"}])},label:{show:!0,position:"top",formatter:({dataIndex:e2})=>D0(x[e2].breedingCow+x[e2].calf),color:"#ffffff",fontSize:10,fontWeight:700}}]}}),X0=s2(()=>{const A=gl.slice().sort((e2,M2)=>M2.value-e2.value),x=gl.reduce((e2,M2)=>e2+M2.value,0),k=A.map(e2=>e2.yoy||0);return{color:A.map(e2=>e2.color),tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(e2){const M2=A[e2[0].dataIndex];return`${M2.label}
    数量:${m0(M2.value)}头
    占比:${Rt(M2.value/x*100)}
    同比:${M2.yoy>0?"+":""}${M2.yoy}%`}}),grid:{left:36,right:30,top:20,bottom:34},xAxis:{type:"category",data:A.map(e2=>e2.label),axisLabel:{color:p,fontSize:10,fontWeight:700,interval:0,margin:10},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:I,fontSize:10,formatter:D0},splitLine:{lineStyle:{color:U,type:"dashed"}}},{type:"value",min:Math.min(-2,Math.floor(Math.min(...k)-1)),max:Math.max(8,Math.ceil(Math.max(...k)+1)),axisLabel:{color:C,fontSize:10,formatter:"{value}%"},splitLine:{show:!1},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:16,data:A.map((e2,M2)=>({value:e2.value,itemStyle:{borderRadius:[8,8,2,2],color:new Ce(0,0,0,1,[{offset:0,color:e2.color},{offset:.72,color:`${e2.color}cc`},{offset:1,color:`${e2.color}18`}]),shadowBlur:M2===0?4:2,shadowColor:"rgba(48, 220, 255, 0.16)"},label:{show:!0,position:"top",color:g,fontSize:10,fontFamily:ss.number,fontWeight:700,formatter:({value:X})=>D0(X)}}))},{name:"同比",type:"line",yAxisIndex:1,smooth:!0,symbol:"circle",symbolSize:6,data:k,lineStyle:{width:2,color:"#8bf7ff"},itemStyle:{color:"#8bf7ff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2},label:{show:!0,position:"top",color:"#8bf7ff",fontSize:10,formatter:({value:e2})=>`${e2>0?"+":""}${e2}%`}}]}}),Qn=s2(()=>{const A=ia(m3.value),x=a4(c0.value,A.key),k=to(x),e2=i4(k.length,A.key);return{color:["#30dcff","#8bf7ff","#48cfff"],tooltip:Z2(B2({},we()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(M2){var $3,d1,O1;const X=Array.isArray(M2)?M2:[M2],A2=X.find(U1=>U1.seriesType==="candlestick"),P2=(A2==null?void 0:A2.data)||k[(O1=(d1=A2==null?void 0:A2.dataIndex)!=null?d1:($3=X[0])==null?void 0:$3.dataIndex)!=null?O1:0];if(!P2)return"";const A3=P2.close-P2.open;return[`${P2.label}|${A.unit}度预测`,`预测存栏:${m0(P2.close)}头`,`较上期:${F5(A3)}头`,`新生牛犊:${m0(P2.birth)}头`,`出栏扣减:${m0(P2.outflow)}头`].join("
    ")}}),legend:{top:4,right:8,data:["预测存栏","新生牛犊","出栏扣减"],itemWidth:12,itemHeight:8,textStyle:{color:C,fontSize:10}},grid:{left:44,right:40,top:34,bottom:28},xAxis:{type:"category",boundaryGap:!0,data:x.labels,axisLabel:{color:I,fontSize:10,interval:e2},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:I,fontSize:10,formatter:D0},splitLine:{lineStyle:{color:U,type:"dashed"}}},{type:"value",axisLabel:{color:C,fontSize:10,formatter:D0},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:ra(k.length,A.key),data:k,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(72, 207, 255, 0.82)",borderColor:"#30dcff",borderColor0:"#48cfff",borderWidth:1.4}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:4,data:k.map(M2=>M2.close),lineStyle:{width:1.8,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:1},tooltip:{show:!1}},n4("新生牛犊",x.births,"#8bf7ff",1),n4("出栏扣减",x.outflow,"#48cfff",1)]}}),_5=s2(()=>({color:["#30dcff","#8bf7ff"],tooltip:Z2(B2({},we()),{trigger:"axis"}),legend:{top:4,right:12,itemWidth:12,itemHeight:8,textStyle:{color:C,fontSize:10}},grid:{left:52,right:42,top:34,bottom:28},xAxis:{type:"category",data:_.value.map(A=>A.month||A.name),axisLabel:{color:I,fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:I,fontSize:10,formatter:A=>{const x=Number(A);return Number.isFinite(x)?Math.abs(x)>=1e4?`${Number((x/1e4).toFixed(1))}万`:`${x}`:A}},splitLine:{lineStyle:{color:U,type:"dashed"}}},{type:"value",axisLabel:{color:C,fontSize:10},splitLine:{show:!1}}],series:[{name:"数量",type:"bar",barWidth:12,data:_.value.map(A=>A.count||A.value),itemStyle:{borderRadius:[8,8,0,0],color:new Ce(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"增速",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:_.value.map(A=>A.speed||A.growthRate||0),lineStyle:{width:2.4,color:"#8bf7ff"},itemStyle:{color:"#8bf7ff"}}]})),x5=s2(()=>({tooltip:we(),radar:{center:["50%","54%"],radius:"68%",splitNumber:4,indicator:yl.map(A=>({name:A.name,max:100})),axisName:{color:"rgba(223, 250, 255, 0.76)",fontSize:11},splitLine:{lineStyle:{color:"rgba(48, 220, 255, 0.22)"}},splitArea:{areaStyle:{color:["rgba(48, 220, 255, 0.04)","rgba(39, 240, 192, 0.02)"]}},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.18)"}}},series:[{type:"radar",data:[{name:"预测因子",value:yl.map(A=>A.value),areaStyle:{color:"rgba(48, 220, 255, 0.22)"},lineStyle:{color:"#30dcff",width:2},itemStyle:{color:"#8bf7ff"}}]}]})),u9=s2(()=>Zn(M.value,"forecast","头")),c9=s2(()=>{const A=a2.value,x=A.reduce((k,e2,M2)=>{const X=e2.color||S2[M2%S2.length];return k[`name${M2}`]={color:X,fontSize:10,fontWeight:800},k[`percent${M2}`]={color:X,fontSize:10,fontFamily:"D-DIN, Arial, sans-serif",fontWeight:800},k},{});return{color:S2,tooltip:we(k=>{var M2;const e2=A.find(X=>X.name===k.name);return`${k.name}
    预测占比:${Rt((M2=e2==null?void 0:e2.ratio)!=null?M2:k.percent)}
    预测数量:${m0((e2==null?void 0:e2.count)||0)}头`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,formatter(k){const e2=A.findIndex(X=>X.name===k),M2=A[e2];return M2?`{name${e2}|${k}} {percent${e2}|${Rt(M2.ratio)}}`:k},textStyle:{color:C,fontSize:10,rich:x}},series:[{name:"期末结构预测",type:"pie",radius:["38%","66%"],center:["32%","54%"],startAngle:118,avoidLabelOverlap:!1,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:A.map(k=>({name:k.name,value:k.count}))}]}}),de=s2(()=>({color:["#8bf7ff","#48cfff","#48cfff"],tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"}}),legend:{top:4,right:8,itemWidth:12,itemHeight:8,textStyle:{color:C,fontSize:10}},grid:{left:44,right:26,top:34,bottom:28},xAxis:{type:"category",data:Mt.map(A=>A.shortLabel),axisLabel:{color:p,fontSize:11,fontWeight:700},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:I,fontSize:10,formatter:A=>_9(A,1)},splitLine:{lineStyle:{color:U,type:"dashed"}}},series:[{name:"新生牛犊",type:"bar",barWidth:12,data:Mt.map(A=>A.births),itemStyle:{borderRadius:[7,7,0,0]}},{name:"出栏流出",type:"bar",barWidth:12,data:Mt.map(A=>-A.outflow),itemStyle:{borderRadius:[0,0,7,7]}},{name:"稳态校正",type:"line",smooth:!0,symbolSize:6,data:Mt.map(A=>A.correction),lineStyle:{width:2.4}}]})),ee=s2(()=>{const A=M.value,x=Math.max(...A.map(k=>Math.abs(k.change)),1);return A.map(k=>Z2(B2({},k),{width:Math.max(8,Math.round(Math.abs(k.change)/x*100))}))});function gt(A){const x=Number((A==null?void 0:A.change)||0)>=0;return{"--heat-width":`${A.width}%`,"--heat-color":x?"#24f6c4":"#48cfff","--heat-color-soft":x?"rgba(36, 246, 196, 0.28)":"rgba(72, 207, 255, 0.26)","--heat-color-dim":x?"rgba(36, 246, 196, 0.08)":"rgba(72, 207, 255, 0.08)"}}function en(A){return`${A.name}:${F5(A.change)}头`}const pn=s2(()=>{const A=t2.value,x=A.map(e2=>e2.value),k=Math.max(...x,1);return{color:["#27f0c0","#8bf7ff"],tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(39, 240, 192, 0.34)"}},formatter(e2){const M2=e2[0];return`${M2.name}
    防疫记录:${m0(M2.value)}条`}}),grid:{left:42,right:24,top:20,bottom:28},xAxis:{type:"category",data:A.map(e2=>e2.name),axisLabel:{color:I,fontSize:10,interval:Math.max(Math.floor(A.length/7),0)},axisLine:{lineStyle:{color:"rgba(39, 240, 192, 0.22)"}},axisTick:{show:!1}},yAxis:{type:"value",axisLabel:{color:I,fontSize:10,formatter:D0},splitLine:{lineStyle:{color:U,type:"dashed"}}},series:[{name:"防疫记录",type:"bar",barMaxWidth:12,data:x,itemStyle:{borderRadius:[7,7,0,0],color:new Ce(0,0,0,1,[{offset:0,color:"#27f0c0"},{offset:1,color:"rgba(39, 240, 192, 0.08)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.92)",fontSize:10,formatter:({value:e2})=>e2>=k*.42?D0(e2):""}},{name:"作业趋势",type:"line",smooth:!0,showSymbol:!1,data:x,lineStyle:{width:2.4,color:"#8bf7ff"}}]}});s2(()=>{const A=t2.value.length?t2.value.slice(-6):[{name:"待开展",value:0}],x=A.map(A2=>Number(A2.value||0)),k=a1.value,e2=k.map(A2=>Number(A2.value||0)),M2=Math.max(...x,1),X=A2=>String(A2||"").replace(/(镇|乡|村)$/,"");return{color:["#27f0c0","#8bf7ff"],title:[{text:"作业节奏",left:4,top:0,textStyle:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,fontWeight:800}},{text:"补免关注",left:"55%",top:0,textStyle:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,fontWeight:800}}],tooltip:Z2(B2({},we()),{trigger:"axis",formatter(A2){const P2=Array.isArray(A2)?A2[0]:A2;if((P2==null?void 0:P2.axisIndex)===1){const $3=k[P2.dataIndex]||{};return`${$3.name}
    补免关注:${$3.label||P2.value}`}const A3=A[P2.dataIndex]||{};return`${A3.name}
    防疫记录:${m0(A3.value)}条`}}),grid:[{left:6,right:"52%",top:26,bottom:15},{left:"56%",right:12,top:26,bottom:15}],xAxis:[{type:"category",gridIndex:0,data:A.map(A2=>A2.name),axisLabel:{color:"rgba(226, 252, 255, 0.56)",fontSize:9,interval:0,formatter:A2=>String(A2||"").replace(/^(\d{1,2})\D+(\d{1,2}).*$/,"$1/$2")},axisLine:{lineStyle:{color:"rgba(39, 240, 192, 0.22)"}},axisTick:{show:!1}},{type:"value",gridIndex:1,min:0,max:Math.max(...e2,100),show:!1}],yAxis:[{type:"value",gridIndex:0,show:!1},{type:"category",gridIndex:1,inverse:!0,data:k.map(A2=>A2.name),axisLabel:{color:"rgba(226, 252, 255, 0.68)",fontSize:9,formatter:A2=>X(A2)},axisLine:{show:!1},axisTick:{show:!1}}],series:[{name:"防疫记录",type:"bar",xAxisIndex:0,yAxisIndex:0,barMaxWidth:9,data:x,itemStyle:{borderRadius:[6,6,0,0],color:new Ce(0,0,0,1,[{offset:0,color:"#27f0c0"},{offset:1,color:"rgba(39, 240, 192, 0.1)"}])},label:{show:!0,position:"top",color:"rgba(230, 255, 249, 0.86)",fontSize:8,formatter:({value:A2})=>A2>=M2*.55?D0(A2):""}},{name:"节奏线",type:"line",xAxisIndex:0,yAxisIndex:0,smooth:!0,showSymbol:!1,data:x,lineStyle:{width:1.8,color:"#8bf7ff"},tooltip:{show:!1}},{name:"补免关注",type:"bar",xAxisIndex:1,yAxisIndex:1,barWidth:8,data:e2,itemStyle:{borderRadius:[0,7,7,0],color:new Ce(0,0,1,0,[{offset:0,color:"rgba(139, 247, 255, 0.24)"},{offset:1,color:"#8bf7ff"}])},label:{show:!0,position:"right",color:"rgba(201, 251, 255, 0.9)",fontSize:8,formatter:({dataIndex:A2})=>{var P2;return((P2=k[A2])==null?void 0:P2.label)||""}}}]}});const q6=s2(()=>{const A=w1.value,x=A.map(X=>Number(X.value||0)),k=Math.max(...x,1),e2=x.filter(Boolean).reduce((X,A2)=>X+A2,0)/Math.max(x.filter(Boolean).length,1),M2=Math.ceil(k*1.18);return{color:["#27f0c0","#8bf7ff"],tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(X){var P2;const A2=A[(P2=X[0])==null?void 0:P2.dataIndex]||{};return A2.isMissing?`${A2.name}
    年度防疫:待补强`:`${A2.name}
    覆盖量:${m0(A2.value)}头
    防疫记录:${m0(A2.recordCount)}条`}}),grid:{left:56,right:46,top:16,bottom:12},xAxis:{type:"value",min:0,max:M2,show:!1},yAxis:{type:"category",inverse:!0,data:A.map(X=>X.name),axisLabel:{color:"rgba(226, 252, 255, 0.82)",fontSize:11,interval:0,formatter:X=>String(X||"").replace(/(镇|乡)$/,"")},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"均衡参照",type:"bar",barWidth:11,silent:!0,barGap:"-100%",data:A.map(()=>M2),itemStyle:{borderRadius:[0,8,8,0],borderColor:"rgba(48, 220, 255, 0.12)",borderWidth:1,color:"rgba(48, 220, 255, 0.045)"}},{name:"覆盖量",type:"bar",barWidth:11,barGap:"-100%",z:3,data:A.map(X=>{const A2=Number(X.value||0);return{value:A2>0?A2:Math.max(M2*.035,1),rawValue:A2,itemStyle:{borderRadius:[0,8,8,0],color:new Ce(0,0,1,0,[{offset:0,color:X.isMissing?"rgba(72, 207, 255, 0.24)":"rgba(39, 240, 192, 0.16)"},{offset:.72,color:X.isMissing?"#48cfff":"#27f0c0"},{offset:1,color:X.isMissing?"#8bf7ff":"#8fffe9"}]),shadowBlur:X.isMissing?8:10,shadowColor:X.isMissing?"rgba(72, 207, 255, 0.36)":"rgba(39, 240, 192, 0.34)"}}}),label:{show:!0,position:"right",color:"rgba(239, 255, 255, 0.92)",fontSize:11,fontWeight:800,formatter:({dataIndex:X})=>{const A2=A[X]||{};return A2.isMissing?"待补强":`${D0(A2.value)}头`}},markLine:e2>0?{symbol:"none",silent:!0,lineStyle:{color:"rgba(139, 247, 255, 0.46)",type:"dashed",width:1},label:{color:"rgba(201, 251, 255, 0.8)",fontSize:10,formatter:"均衡线"},data:[{xAxis:e2}]}:void 0}]}}),d9=s2(()=>{const A=T1.value,x=["#27f0c0","#30dcff","#8bf7ff","#48cfff","#24f6c4","#48cfff","#67ffe4","#40b8ff","#8bf7ff"],k=A.length?A.map((e2,M2)=>({name:String(e2.name||"").replace(/(村|社区|牧委会)$/,""),value:Math.max(Number(e2.value||0),1),rawValue:Number(e2.value||0),town:e2.town||"",itemStyle:{color:new Ce(0,0,1,1,[{offset:0,color:x[M2%x.length]},{offset:1,color:"rgba(17, 70, 92, 0.38)"}])}})):[{name:"待形成",value:1,rawValue:0,town:"",itemStyle:{color:"rgba(48, 220, 255, 0.14)"}}];return{tooltip:Z2(B2({},we()),{formatter(e2){const M2=e2.data||{};return M2.rawValue?`${M2.town?`${M2.town} `:""}${M2.name}
    覆盖量:${m0(M2.rawValue)}头`:`${M2.name}
    暂无村级覆盖量`}}),series:[{type:"treemap",roam:!1,nodeClick:!1,breadcrumb:{show:!1},left:6,right:6,top:7,bottom:5,visibleMin:1,data:k,label:{show:!0,color:"rgba(235, 254, 255, 0.9)",fontSize:10,fontWeight:800,lineHeight:14,formatter(e2){var X;const M2=Number(((X=e2.data)==null?void 0:X.rawValue)||0);return M2?`${e2.name} -${D0(M2)}头`:e2.name}},upperLabel:{show:!1},itemStyle:{borderColor:"rgba(4, 24, 36, 0.88)",borderWidth:2,gapWidth:2},emphasis:{label:{color:"#ffffff"},itemStyle:{shadowBlur:14,shadowColor:"rgba(39, 240, 192, 0.4)"}},levels:[{itemStyle:{borderColor:"rgba(14, 75, 98, 0.72)",borderWidth:1,gapWidth:2}}]}]}}),f9=s2(()=>{const A=N2.value,x=A.length>8?10:12,k=x+8,e2=A.map($3=>Number($3.recordCount||0)),M2=A.map($3=>Number($3.earTagCount||0)),X=Math.max(...e2,1),A2=A.map(()=>Math.ceil(X*1.08)),P2=new Ce(0,0,0,1,[{offset:0,color:"rgba(48, 220, 255, 0.18)"},{offset:.48,color:"rgba(48, 220, 255, 0.06)"},{offset:1,color:"rgba(48, 220, 255, 0.02)"}]),A3=new Ce(0,0,0,1,[{offset:0,color:"#31f7ff"},{offset:.36,color:"#1cbcff"},{offset:1,color:"#266dff"}]);return{color:["#31f7ff","#8bf7ff"],title:{text:`台账总量:{value|${D0(F2.value)}条}`,right:0,top:0,textStyle:{color:"#fff",fontSize:12,fontWeight:500,rich:{value:{color:"#22f1ff",borderColor:"#14bdf4",borderWidth:1,borderRadius:2,padding:[2,6,3,6],fontSize:12,fontWeight:700}}}},tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter($3){const d1=A[$3[0].dataIndex];return[`${d1.name}`,`防疫记录:${m0(d1.recordCount)}条`,`耳标数量:${m0(d1.earTagCount)}头`,"数据来源:防疫台账"].join("
    ")}}),legend:[{data:["防疫记录"],top:0,left:0,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:p,fontSize:11},selectedMode:!1},{data:["耳标数"],top:0,left:82,itemWidth:10,itemHeight:10,icon:"circle",textStyle:{color:p,fontSize:11},selectedMode:!1}],grid:{left:42,right:12,top:46,bottom:68},xAxis:{type:"category",data:A.map($3=>$3.name),axisLabel:{color:p,fontSize:10,interval:0,lineHeight:11,margin:8,formatter:U8},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},yAxis:{type:"value",name:"数量/条",max:Math.ceil(X*1.2),nameTextStyle:{color:I,fontSize:10,align:"left"},axisLabel:{color:I,fontSize:10,formatter:D0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:U,type:"dashed"}}},series:[{name:"统计底柱",type:"bar",barWidth:k,barGap:"-100%",data:A2,tooltip:{show:!1},silent:!0,z:1,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(48, 220, 255, 0.22)",borderWidth:1,color:P2}},{name:"防疫记录",type:"bar",barGap:"-100%",barWidth:x,barMinHeight:2,z:3,data:e2.map($3=>({value:$3,itemStyle:{borderRadius:[8,8,1,1],borderColor:"rgba(200, 252, 255, 0.22)",borderWidth:1,color:A3,shadowBlur:10,shadowColor:"rgba(49, 247, 255, 0.28)"}}))},{name:"顶部高光",type:"pictorialBar",symbol:"diamond",symbolSize:[x+7,5],symbolOffset:[0,-3],symbolPosition:"end",z:8,tooltip:{show:!1},data:e2.map($3=>({value:$3,itemStyle:{color:"rgba(207, 252, 255, 0.88)",shadowBlur:8,shadowColor:"rgba(49, 247, 255, 0.72)"}}))},{name:"底座光影",type:"pictorialBar",symbol:"diamond",symbolSize:[k+3,5],symbolOffset:[0,3],z:2,tooltip:{show:!1},data:e2,itemStyle:{color:"rgba(48, 220, 255, 0.24)",shadowBlur:10,shadowColor:"rgba(48, 220, 255, 0.45)"}},{name:"耳标数",type:"line",smooth:!0,showSymbol:!1,z:9,data:M2,lineStyle:{width:1.6,color:"#8bf7ff",shadowBlur:0,shadowColor:"transparent"},itemStyle:{color:"#8bf7ff"}}]}}),h9=s2(()=>{const A=y2.value;return{tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(x){const k=A[x[0].dataIndex];return`${k.name}
    防疫记录:${m0(k.value)}条`}}),grid:{left:74,right:42,top:12,bottom:8},xAxis:{type:"value",axisLabel:{color:I,fontSize:10,formatter:D0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:U,type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:A.map(x=>x.name),axisLabel:{color:p,fontSize:10,fontWeight:700,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{name:"记录",type:"bar",barWidth:9,data:A.map((x,k)=>({value:x.value,itemStyle:{borderRadius:[0,8,8,0],color:new Ce(0,0,1,0,[{offset:0,color:"rgba(48, 220, 255, 0.12)"},{offset:.62,color:["#27f0c0","#30dcff","#8bf7ff"][k%3]},{offset:1,color:"#ffffff"}])}})),label:{show:!0,position:"right",color:"#eaffff",fontSize:10,formatter:({value:x})=>D0(x)}},{type:"scatter",symbolSize:7,data:A.map(x=>x.value),itemStyle:{color:"#8bf7ff",shadowBlur:2,shadowColor:"rgba(139, 247, 255, 0.16)"}}]}}),J6=s2(()=>{const A=R2.value;return{color:["#30dcff","#8bf7ff"],tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(x){const k=x.find(M2=>M2.seriesName==="流通头数"),e2=x.find(M2=>M2.seriesName==="出证记录");return`${(k==null?void 0:k.axisValue)||""}
    流通头数:${m0((k==null?void 0:k.value)||0)}头
    出证记录:${m0((e2==null?void 0:e2.value)||0)}条`}}),legend:{top:4,right:10,itemWidth:12,itemHeight:8,textStyle:{color:C,fontSize:10}},grid:{left:42,right:38,top:34,bottom:28},xAxis:{type:"category",data:A.map(x=>x.name),axisLabel:{color:I,fontSize:10,interval:1},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.24)"}},axisTick:{show:!1}},yAxis:[{type:"value",axisLabel:{color:I,fontSize:10,formatter:D0},splitLine:{lineStyle:{color:U,type:"dashed"}}},{type:"value",axisLabel:{color:C,fontSize:10,formatter:D0},splitLine:{show:!1}}],series:[{name:"流通头数",type:"bar",barMaxWidth:13,data:A.map(x=>x.headCount),itemStyle:{borderRadius:[7,7,0,0],color:new Ce(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])}},{name:"出证记录",type:"line",yAxisIndex:1,smooth:!0,symbolSize:5,data:A.map(x=>x.recordCount),lineStyle:{width:2.2,color:"#8bf7ff"},itemStyle:{color:"#8bf7ff",borderColor:"rgba(3, 18, 28, 0.9)",borderWidth:2}}]}}),tn=s2(()=>Zn(q2.value.slice(0,10),"headCount","头",{colors:C2,style:"ladder",axisTextColor:"rgba(255, 255, 255, 0.88)",dimAxisTextColor:"rgba(255, 255, 255, 0.74)",tooltipFormatter(A){const x=q2.value[A.dataIndex];return`${x.name}
    流通头数:${m0(x.headCount)}头
    出证记录:${m0(x.recordCount)}条`}})),Ir=s2(()=>{const A=X3.value;return{color:C2,tooltip:we(x=>{const k=A.find(e2=>e2.name===x.name);return`${x.name}
    占比:${x.percent}%
    流通头数:${m0(x.value)}头
    出证记录:${m0((k==null?void 0:k.recordCount)||0)}条`}),legend:{orient:"vertical",right:4,top:"middle",itemWidth:8,itemHeight:8,itemGap:6,textStyle:{color:C,fontSize:10},formatter(x){const k=A.find(e2=>e2.name===x);return k?`${x} ${D0(k.headCount)}头`:x}},series:[{name:"用途结构",type:"pie",radius:["38%","64%"],center:["32%","54%"],startAngle:110,label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:A.map(x=>({name:x.name,value:x.headCount}))}]}}),G7=s2(()=>{const A=[{name:"省外A证",value:We("outProvinceHeads","aCertHeads")},{name:"省内B证",value:We("inProvinceHeads","bCertHeads")}];return{color:["#8bf7ff","#30dcff"],tooltip:we(x=>`${x.name}
    流通头数:${m0(x.value)}头
    占比:${x.percent}%`),series:[{type:"pie",radius:["48%","72%"],center:["50%","52%"],label:{show:!1},labelLine:{show:!1},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},data:A}]}});function N8(){o.value=typeof window=="undefined"?1080:window.innerHeight}function U7(){var A,x,k,e2,M2,X;if(_3.value){(x=(A=V3.value)==null?void 0:A.refreshView)==null||x.call(A);return}(e2=(k=z3.value)==null?void 0:k.resume)==null||e2.call(k),(X=(M2=z3.value)==null?void 0:M2.refreshView)==null||X.call(M2)}function R8(){I3&&(window.clearTimeout(I3),I3=null)}function Fr(){var A,x,k,e2,M2,X;if(G3.value={type:"loading",text:"地图正在复位"},i3.value={type:"idle",text:""},_3.value){(x=(A=V3.value)==null?void 0:A.hasMap)!=null&&x.call(A)?(S3.value=!0,(e2=(k=V3.value)==null?void 0:k.resetView)==null||e2.call(k)):(S3.value=!1,D2.value+=1,O0(()=>{window.setTimeout(()=>{var A2,P2;return(P2=(A2=V3.value)==null?void 0:A2.refreshView)==null?void 0:P2.call(A2)},160)}));return}if((X=(M2=z3.value)==null?void 0:M2.hasMap)!=null&&X.call(M2)){x1.value=!0,U7();return}R8(),x1.value=!1,n3=!1,y3.value+=1,O0(()=>{b6()})}e({refreshMapView:U7,resetMap:Fr,setActiveView(A){V2.value=A9(A)}}),mn(()=>{N8(),window.addEventListener("resize",N8),Xr(),Qr(),nt(),$8(),m9(),w6()}),hn(()=>{var A,x;F3=!0,window.removeEventListener("resize",N8),I3&&window.clearTimeout(I3),L8(),I8(),(x=(A=z3.value)==null?void 0:A.destroyMap)==null||x.call(A)}),N0([V2,c0,b,x2,F2,W3,H2,K],()=>{C9()},{immediate:!0}),N0(V2,(A,x)=>{i("view-change",A);const k=A==="structure"||A==="forecast",e2=x==="structure"||x==="forecast",M2=!k&&!e2&&(A==="trade"||x==="trade");k&&!e2&&(S3.value=!1,G3.value={type:"idle",text:""},i3.value={type:"idle",text:""}),!k&&e2&&(R8(),x1.value=!1,n3=!1,G3.value={type:"idle",text:""},i3.value={type:"idle",text:""},O0(()=>{var X,A2,P2,A3;b6(),(A2=(X=z3.value)==null?void 0:X.resume)==null||A2.call(X),(A3=(P2=z3.value)==null?void 0:P2.refreshView)==null||A3.call(P2),window.setTimeout(()=>{var $3,d1;return(d1=($3=z3.value)==null?void 0:$3.refreshView)==null?void 0:d1.call($3)},180)})),M2&&(R8(),x1.value=!1,n3=!1,G3.value={type:"idle",text:""},i3.value={type:"idle",text:""},O0(()=>{b6()})),m9(),w6()}),N0(()=>a.viewKey,A=>{const x=A9(A);x!==V2.value&&(V2.value=x)}),N0(()=>a.active,A=>{var x,k,e2,M2;A?(b6(),(k=(x=z3.value)==null?void 0:x.resume)==null||k.call(x),m9(),w6()):((M2=(e2=z3.value)==null?void 0:e2.pause)==null||M2.call(e2),L8(),I8())}),N0(I2,A=>{p3.value>=A.pageCount&&(p3.value=0),w6()});function Br(A){A!==s3.value&&(s3.value=A,m9())}function m9(){L8(),!(!a.active||V2.value!=="forecast"||F3)&&(Z3=window.setInterval(p9,oW))}function p9(){const A=Mt.findIndex(k=>k.key===s3.value),x=A>=0?(A+1)%Mt.length:0;s3.value=Mt[x].key}function L8(){Z3&&(window.clearInterval(Z3),Z3=null)}function w6(){I8(),!(!a.active||V2.value!=="structure"||F3||I2.value.pageCount<=1)&&(t1=window.setInterval(Dr,sW))}function Dr(){const A=I2.value.pageCount;A<=1||(p3.value=(p3.value+1)%A)}function I8(){t1&&(window.clearInterval(t1),t1=null)}function Gr(A=[],x=[]){const k=new Map;return x.forEach(e2=>{const M2=g9(e2.name);M2&&k.set(M2,Z2(B2({},e2),{name:M2,count:Number(e2.count||0)}))}),A.forEach(e2=>{const M2=g9(e2.name);if(!M2)return;const X=k.get(M2)||{};k.set(M2,Z2(B2(B2({},X),e2),{name:M2,count:Number.isFinite(Number(e2.count))?Number(e2.count):Number(X.count||0)}))}),[...k.values()].sort((e2,M2)=>Number(M2.count||0)-Number(e2.count||0))}function g9(A){return A||""}function yt(A){return String(A||"").trim()}function y9(A){const x=Number(A);return Number.isFinite(x)&&b1.includes(x)?x:b1[b1.length-1]}function F8(A=W3.value){const x=y9(A);return{startDate:`${x}-01-01`,endDate:`${x}-12-31`}}function v9(){return{keyword:"",town:"",medicine:"",startDate:"",endDate:""}}function Rn(A=[]){return Array.isArray(A)?A.map((x,k)=>{var e2,M2,X;return{key:x.key||x.id||`${x.name||x.label||"item"}-${k}`,name:String(x.name||x.label||x.town||x.village||"未填写"),value:Number((X=(M2=(e2=x.value)!=null?e2:x.count)!=null?M2:x.total)!=null?X:0)}}).filter(x=>x.name&&Number.isFinite(x.value)):[]}function O7(A={}){const x=Rn(A==null?void 0:A.medicineCounts);return Math.max(x.filter(k=>k.name!=="未填写").length,1)}function B8(...A){const x=A.flatMap(k=>Array.isArray(k)?k:[k]).map(k=>{var e2,M2,X;return k&&typeof k=="object"?(X=(M2=(e2=k.year)!=null?e2:k.value)!=null?M2:k.latestYear)!=null?X:k.latest_year:k}).map(Number).filter(k=>Number.isFinite(k)&&k>0);return[...new Set(x)].sort((k,e2)=>k-e2)}function M5(A=[],x="name"){return Array.isArray(A)?A.map((k,e2)=>{var M2,X,A2,P2,A3,$3,d1,O1,U1,X1,L0,q0,at,Z6,j0,Fe,e6;return{key:k.key||k.id||`${k[x]||k.name||k.label||"trade"}-${e2}`,name:String(k[x]||k.name||k.label||k.town||"未填写"),recordCount:Number((A2=(X=(M2=k.recordCount)!=null?M2:k.record_count)!=null?X:k.count)!=null?A2:0),headCount:Number((d1=($3=(A3=(P2=k.headCount)!=null?P2:k.head_count)!=null?A3:k.amount)!=null?$3:k.value)!=null?d1:0),lng:Nt((q0=(L0=(X1=(U1=(O1=k.lng)!=null?O1:k.longitude)!=null?U1:k.destLng)!=null?X1:k.dest_lng)!=null?L0:k.destLongitude)!=null?q0:k.dest_longitude),lat:Nt((e6=(Fe=(j0=(Z6=(at=k.lat)!=null?at:k.latitude)!=null?Z6:k.destLat)!=null?j0:k.dest_lat)!=null?Fe:k.destLatitude)!=null?e6:k.dest_latitude)}}).filter(k=>k.name&&Number.isFinite(k.headCount)):[]}function j7(A=[]){return Array.isArray(A)?A.map(x=>{var k,e2,M2,X,A2,P2;return{year:Number(x.year),recordCount:Number((e2=(k=x.recordCount)!=null?k:x.record_count)!=null?e2:0),headCount:Number((P2=(A2=(X=(M2=x.headCount)!=null?M2:x.head_count)!=null?X:x.amount)!=null?A2:x.value)!=null?P2:0)}}).filter(x=>Number.isFinite(x.year)&&Number.isFinite(x.headCount)):[]}function P5(A=[]){return Array.isArray(A)?S9(A.map(x=>{var k,e2,M2;return x&&typeof x=="object"?(M2=(e2=(k=x.value)!=null?k:x.label)!=null?e2:x.name)!=null?M2:"":x})):[]}function Ur(A=[]){return Array.isArray(A)?A.map(x=>{var k,e2,M2,X,A2,P2;if(x&&typeof x=="object"){const A3=(M2=(e2=(k=x.value)!=null?k:x.name)!=null?e2:x.label)!=null?M2:"",$3=(P2=(A2=(X=x.label)!=null?X:x.name)!=null?A2:x.value)!=null?P2:A3;return A3?{value:String(A3),label:String($3||A3)}:null}return x?{value:String(x),label:String(x)}:null}).filter(Boolean):[]}function S9(A=[]){return[...new Set(A.map(x=>String(x||"").trim()).filter(Boolean))]}function w9(A=[]){if(!Array.isArray(A))return[];const x=new Map;A.forEach((e2,M2)=>{var $3,d1,O1,U1,X1,L0;const X=yt(e2.name||e2.areaName||e2.area_name||e2.town||e2.label||"");if(!X)return;const A2=Nt((O1=(d1=($3=e2.value)!=null?$3:e2.number)!=null?d1:e2.count)!=null?O1:e2.total);if(!Number.isFinite(A2))return;const P2=x.get(X)||{key:e2.areaCode||e2.area_code||`${X}-${M2}`,name:X,recordCount:0,earTagCount:0,source:"stats"};P2.recordCount+=A2;const A3=Nt((L0=(X1=(U1=e2.earTagCount)!=null?U1:e2.ear_tag_count)!=null?X1:e2.headCount)!=null?L0:e2.head_count);P2.earTagCount+=Number.isFinite(A3)?A3:0,x.set(X,P2)});const k=[...x.values()].reduce((e2,M2)=>e2+Number(M2.recordCount||0),0);return[...x.values()].map(e2=>Z2(B2({},e2),{earTagCount:e2.earTagCount||Math.round(Number(e2.recordCount||0)/o2.value),ratio:k?Number(e2.recordCount||0)/k*100:0})).sort((e2,M2)=>Number(M2.recordCount||0)-Number(e2.recordCount||0))}function z7(A={}){var M2,X;const x=Array.isArray(A)?{rows:A}:A||{},k=x.result||{};return{rows:x.rows||x.data||x.list||x.records||[],year:(X=(M2=x.year)!=null?M2:k.year)!=null?X:null}}function D8(A=[]){return Array.isArray(A)?A.map((x,k)=>{var O1,U1,X1,L0,q0,at,Z6,j0,Fe,e6,U0,ua;const e2=yt(x.town||x.townName||x.town_name||""),M2=String(x.village||x.villageName||x.village_name||x.name||"").trim(),X=Nt((X1=(U1=(O1=x.recordCount)!=null?O1:x.record_count)!=null?U1:x.records)!=null?X1:x.total),A2=Nt((Z6=(at=(q0=(L0=x.earTagCount)!=null?L0:x.ear_tag_count)!=null?q0:x.headCount)!=null?at:x.head_count)!=null?Z6:x.value),P2=Nt((Fe=(j0=x.imageCount)!=null?j0:x.image_count)!=null?Fe:x.images),A3=Nt((e6=x.imageRate)!=null?e6:x.image_rate),$3=Nt((U0=x.lng)!=null?U0:x.longitude),d1=Nt((ua=x.lat)!=null?ua:x.latitude);return{key:x.key||x.id||`${e2}-${M2}-${k}`,town:e2,village:M2,recordCount:Number.isFinite(X)?X:0,earTagCount:Number.isFinite(A2)?A2:0,imageCount:Number.isFinite(P2)?P2:0,imageRate:Number.isFinite(A3)?A3:0,lng:$3,lat:d1}}).filter(x=>x.town&&x.village&&Number.isFinite(x.earTagCount)).sort((x,k)=>Number(k.earTagCount||0)-Number(x.earTagCount||0)):[]}function Y7(A={},x={}){const k=Array.isArray(x)?{rows:x}:x||{},e2=k.result||{},M2=D8(k.rows||k.data||k.list||k.records||e2.rows||[]),X=new Map;M2.forEach(d1=>{G8(d1.village).forEach(O1=>{X.has(O1)||X.set(O1,d1)})});const A2=Rn(A==null?void 0:A.townCounts),P2=A2.length===1?yt(A2[0].name):"",A3=O7(A),$3=Rn(A==null?void 0:A.villageCounts).map((d1,O1)=>{const U1=String(d1.name||"").trim(),X1=G8(U1).map(q0=>X.get(q0)).find(Boolean)||{},L0=Number(d1.value||0);return{key:X1.key||`${X1.town||P2||"防疫"}-${U1}-${O1}`,town:X1.town||P2,village:U1,recordCount:L0,earTagCount:Math.round(L0/A3),imageCount:X1.imageCount||0,imageRate:X1.imageRate||0,lng:X1.lng,lat:X1.lat}}).filter(d1=>d1.village&&d1.recordCount>0);return Z2(B2({},k),{rows:$3})}function G8(A){const x=String(A||"").trim(),k=x.replace(/(村|社区|牧委会)$/,"");return[...new Set([x,k].filter(Boolean))]}function Nt(A){if(A==null||A==="")return NaN;const x=Number(String(A).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(x)?x:NaN}function $7(A){return String(A||"").replace(/'/g,"''").replace(/%/g,"\\%").replace(/_/g,"\\_")}function W7(A,x){const k=yt(A),e2=String(x||"").trim();if(!k||!e2)return"";const M2=`${k}${e2}`,X=$7(M2),A2=$7(e2);return`(full_name LIKE '%${X}%' OR name = '${X}' OR name = '${A2}')`}function U8(A){const x=String(A||"").trim().replace(/\s+/g,"");return x?Array.from(x).join(` -`):""}function O8(A){const x=String(A||"").trim();if(!x)return"";const k=x.match(/^(.+)(镇|乡|村)$/);return k?`${k[1]} -${k[2]}`:x}function Q6(A,x){return j8(A.name)-j8(x.name)}function j8(A){const x=String(A||"").match(/(\d{1,2})\D+(\d{1,2})/);return x?Number(x[1])*100+Number(x[2]):Number.MAX_SAFE_INTEGER}function b9(A=[]){return Array.isArray(A)?A.map(V7).filter(Boolean):[]}function V7(A){return A?{epidemicId:A.epidemicId||A.epidemic_id||A.id||"",earTag:A.earTag||A.ear_tag||"",owner:A.owner||"",idType:A.idType||A.id_type||"",idNo:A.idNo||A.id_no||"",phone:A.phone||"",town:A.town||"",village:A.village||"",location:A.location||"",livestockType:A.livestockType||A.livestock_type||"",age:A.age||"",sex:A.sex||"",weight:A.weight||A.weightKg||A.weight_kg||"",preventionType:A.preventionType||A.prevention_type||"",method:A.method||"",medicine:A.medicine||"",dose:A.dose||"",operator:A.operator||"",operateTime:A.operateTime||A.operate_time||"",imagePaths:A.imagePaths||A.image_paths||""}:null}function z8(A=[]){return Array.isArray(A)?A.map(H7).filter(Boolean):[]}function H7(A){var x,k,e2,M2;return A?{certId:A.certId||A.cert_id||A.id||"",certType:A.certType||A.cert_type||"",certScopeName:A.certScopeName||A.cert_scope_name||"",factoryCode:A.factoryCode||A.factory_code||"",ownerName:A.ownerName||A.owner_name||"",ownerPhone:A.ownerPhone||A.owner_phone||"",transportNumber:A.transportNumber||A.transport_number||"",amount:Number((M2=(e2=(k=(x=A.amount)!=null?x:A.headCount)!=null?k:A.head_count)!=null?e2:A.value)!=null?M2:0),unitName:A.unitName||A.unit_name||"头",animalTypeName:A.animalTypeName||A.animal_type_name||"",usageTypeName:A.usageTypeName||A.usage_type_name||"",startTown:A.startTown||A.start_town||"",startRegionFullName:A.startRegionFullName||A.start_region_full_name||"",destProvince:A.destProvince||A.dest_province||"",destRegionFullName:A.destRegionFullName||A.dest_region_full_name||"",quarantineOfficerName:A.quarantineOfficerName||A.quarantine_officer_name||"",issueTime:A.issueTime||A.issue_time||"",statusName:A.statusName||A.status_name||""}:null}function k5(A,x){for(const k of x){const e2=Number(A==null?void 0:A[k]);if(Number.isFinite(e2))return e2}return 0}function We(...A){return k5(K.value,A)}function K7(A=[],x=2){const k=[...new Set(A.map(e2=>String(e2||"").trim()).filter(Boolean))];return k.length?k.length<=x?k.join("、"):`${k.slice(0,x).join("、")}等${k.length}个乡镇`:"暂无"}function Or(){const A=v3.value;if(A.length)return{name:K7(A,1),desc:"年度防疫覆盖需补强",level:"watch"};const x=W2.value.filter(e2=>Number(e2.earTagCount||e2.recordCount||0)>0).sort((e2,M2)=>Number(e2.earTagCount||e2.recordCount||0)-Number(M2.earTagCount||M2.recordCount||0)),k=x[0];return k?{name:k.name,desc:`${D0(k.earTagCount||k.recordCount)}头,建议补免回访`,level:x.length>=2?"watch":"normal"}:{name:"暂无",desc:"等待年度防疫记录形成",level:"normal"}}function jr(){const A=v3.value;if(A.length)return A.slice(0,4).map((e2,M2)=>({key:`missing-${e2}`,name:e2,value:Math.max(25,100-M2*12),label:"待补免",level:"watch"}));const x=W2.value.filter(e2=>Number(e2.earTagCount||e2.recordCount||0)>0);if(!x.length)return[{key:"empty",name:"暂无",value:0,label:"待开展",level:"watch"}];const k=x.reduce((e2,M2)=>e2+Number(M2.earTagCount||0),0)/x.length||1;return[...x].sort((e2,M2)=>Number(e2.earTagCount||0)-Number(M2.earTagCount||0)).slice(0,4).map(e2=>{const M2=Number(e2.earTagCount||e2.recordCount||0),X=Math.max(8,Math.round((k-M2)/k*100));return{key:`weak-${e2.name}`,name:e2.name,value:Math.min(100,X),label:`${D0(M2)}头`,level:X>=35?"watch":"normal"}})}function q7(){const x=(N2.value.length?N2.value:W2.value).map((M2,X)=>{const A2=yt(M2.name),P2=Number(M2.earTagCount||0),A3=Number(M2.recordCount||M2.value||0),$3=P2||Math.round(A3/o2.value);return{key:M2.key||`${A2}-${X}`,name:A2,value:$3,recordCount:A3,isMissing:!1}}).filter(M2=>M2.name&&Number.isFinite(M2.value)),e2=[...v3.value.map((M2,X)=>({key:`missing-${M2}-${X}`,name:M2,value:0,recordCount:0,isMissing:!0})),...x];return e2.length?e2.sort((M2,X)=>M2.isMissing!==X.isMissing?M2.isMissing?-1:1:Number(M2.value||0)-Number(X.value||0)).slice(0,7):[{key:"empty",name:"待开展",value:0,recordCount:0,isMissing:!0}]}function zr(){var x;const A=Y2.value.map((k,e2)=>({key:k.key||`${k.town}-${k.village}-${e2}`,name:k.village||k.name,town:k.town,value:Number(k.earTagCount||k.value||0)})).filter(k=>k.name&&Number.isFinite(k.value)&&k.value>0);return A.length?A.sort((k,e2)=>e2.value-k.value).slice(0,9):Rn((x=R1.value)==null?void 0:x.villageCounts).map((k,e2)=>({key:k.key||`${k.name}-${e2}`,name:k.name,town:"",value:Math.round(Number(k.value||0)/o2.value)})).filter(k=>k.name&&Number.isFinite(k.value)&&k.value>0).sort((k,e2)=>e2.value-k.value).slice(0,9)}function Yr(){if(!F2.value)return{level:"watch",title:"年度待开展",desc:"年度免疫记录暂未形成",advice:"建议先核查年度免疫计划与乡镇推进节奏。"};const A=f3.value,x=v1.value;return v3.value.length?{level:"watch",title:"补免待核查",desc:`乡镇覆盖${Rt(A)},${x.name}需补强`,advice:`优先核查${K7(v3.value,1)}免疫进度。`}:A>=90&&o2.value>=4?{level:"stable",title:"运行平稳",desc:`乡镇覆盖${Rt(A)},疫苗谱较完整`,advice:"建议保持当前免疫节奏,持续跟踪补免回访。"}:{level:"normal",title:"均衡回访",desc:`${x.name}相对偏低,适合继续跟进`,advice:`关注${x.name}补免回访,保持覆盖均衡。`}}function $r(){return[{key:"latest",name:"最近免疫",value:W.value,desc:"最后作业时间",level:W.value==="-"?"watch":"stable",color:"#27f0c0"},{key:"top-town",name:"高频乡镇",value:D.value,desc:"年度作业集中区",level:"normal",color:"#30dcff"},{key:"vaccine",name:"主用疫苗",value:d2.value,desc:`${o2.value}类疫苗`,level:"normal",color:"#8bf7ff"}]}function Wr(){const A=We("headCount","totalHeads","total_heads"),x=B.value,k=x.reduce((j0,Fe)=>j0+Number(Fe.headCount||0),0)||A||1,e2=x[0],M2=e2?Number(e2.headCount||0)/k*100:0,X=X3.value.filter(j0=>j0.name&&j0.name!=="未填写").sort((j0,Fe)=>Number(Fe.headCount||0)-Number(j0.headCount||0)),A2=X.reduce((j0,Fe)=>j0+Number(Fe.headCount||0),0)||A||1,P2=X[0],A3=P2?Number(P2.headCount||0)/A2*100:0,d1=p1.value.filter(j0=>j0.name&&j0.name!=="未填写").sort((j0,Fe)=>Number(Fe.headCount||Fe.recordCount||0)-Number(j0.headCount||j0.recordCount||0))[0],O1=We("vehicleCount","vehicle_count","transportVehicleCount","transport_vehicle_count"),U1=O1>0?A/O1:0,X1=We("outProvinceHeads","out_province_heads","aCertHeads","a_cert_heads"),L0=We("inProvinceHeads","in_province_heads","bCertHeads","b_cert_heads"),q0=X1+L0||A||1,at=X1?X1/q0*100:0;return[{key:"town",name:"高频出栏乡镇",value:(e2==null?void 0:e2.displayName)||(e2==null?void 0:e2.name)||"暂无",desc:e2?`${D0(e2.headCount)}头,占${Rt(M2)}`:"等待来源乡镇数据",level:M2>=35?"high":M2>=24?"watch":"normal",color:"#63d7ff"},{key:"usage",name:"交易用途集中度",value:(P2==null?void 0:P2.name)||"暂无",desc:P2?`占${Rt(A3)}`:"等待用途结构数据",level:A3>=60?"high":A3>=45?"watch":"normal",color:"#30dcff"},{key:"vehicle",name:d1?"运输车辆高频":"车辆周转强度",value:d1?`${D0(d1.headCount||d1.recordCount)}${d1.headCount?"头":"条"}`:O1?`车均${m0(U1)}头`:"--",desc:d1?"已接入车辆聚合,明细在台账核查":O1?`${m0(O1)}辆参与流通`:"等待车辆聚合数据",level:d1||U1>=260?"watch":"normal",color:"#48cfff"},{key:"cert-dest",name:"证照/去向线索",value:X1?Rt(at):"--",desc:X1?`省外流通${D0(X1)}头`:"等待证照去向数据",level:at>=55?"high":at>=35?"watch":"normal",color:"#48cfff"}].map(j0=>Z2(B2({},j0),{badge:j0.level==="high"?"重点":j0.level==="watch"?"关注":"平稳"}))}function E5(A={}){return String(A.imagePaths||"").split(";").map(x=>x.trim()).filter(Boolean)}function J7(A){const k=String(A||"").replace(/^images\//,"").split("/").map(encodeURIComponent).join("/");return`${aW}/${k}`}function Vr(A){A1.value=J7(A),g3.value=!0}function Y8(){g3.value=!1,A1.value=""}function F0(A){return A==null||A===""?"-":A}function Hr(A){const x=String(A!=null?A:"").trim();return!!(x&&x!=="-")}function h0(A,x,k={}){return Hr(x)?B2({label:A,value:x},k):null}function R0(A){return A?String(A).slice(0,10):"-"}function Q7(A){const x=String(A||"").trim();return x?x.length<7?x:`${x.slice(0,3)}****${x.slice(-4)}`:"-"}function Kr(A){const x=String(A||"").trim();return x?x.length<=4?x:`****${x.slice(-4)}`:"-"}function qr(A){const x=String(A!=null?A:"").trim();if(!x)return"-";if(/kg|公斤|千克/i.test(x))return x;const k=Number(x);return Number.isFinite(k)?`${m0(k)}kg`:x}function Jr(A){return String(A!=null?A:"").trim()||"-"}function X7(A={}){return A.certScopeName||A.certType||"-"}function Qr(){return P3(this,null,function*(){var e2,M2;o3.value=!0,n1.value="";const[A,x,k]=yield Promise.allSettled([NR(),LR(),RR()]);A.status==="fulfilled"&&((e2=A.value)!=null&&e2.length)&&(U3.value=XR(A.value.map(X=>({name:X.name,count:Number(X.value)})).filter(X=>X.name&&Number.isFinite(X.count)))),x.status==="fulfilled"&&((M2=x.value)!=null&&M2.length)&&(b3.value=x.value.map(X=>({month:X.name,count:Number(X.value),speed:no(X.extra)})).filter(X=>X.month&&Number.isFinite(X.count))),k.status==="fulfilled"?(Y3.value=wt(k.value),Y3.value.length||(n1.value="结构数据暂无数据")):(n1.value=oa(k.reason,"结构数据异常"),Y3.value=[]),o3.value=!1})}function $8(){return P3(this,arguments,function*(A=H2.value){var x,k,e2,M2,X,A2;e3.value=!0,T3.value="";try{(k=(x=O3.value)==null?void 0:x.years)!=null&&k.length||(O3.value=yield xR());const P2=B8((e2=O3.value)==null?void 0:e2.years),A3=Number(((M2=O3.value)==null?void 0:M2.latestYear)||((X=O3.value)==null?void 0:X.latest_year)||P2[P2.length-1]),$3=Number(A||H2.value||A3||P2[P2.length-1]);H2.value=$3;let d1=yield pl({year:$3});const O1=(A2=d1==null?void 0:d1.hasData)!=null?A2:d1==null?void 0:d1.has_data,U1=Number((d1==null?void 0:d1.latestYear)||(d1==null?void 0:d1.latest_year)||A3);O1===!1&&U1&&U1!==$3&&(H2.value=U1,d1=yield pl({year:U1})),g1.value=d1||{metrics:{},hasData:!1},yield W8(1)}catch(P2){T3.value="交易数据接口异常",g1.value={metrics:{},hasData:!1},H1.value=[],G2.value=0}finally{e3.value=!1}})}function W8(){return P3(this,arguments,function*(A=y1.value){var k,e2;if(!H2.value)return;const x={year:H2.value,page:A,pageSize:Ys,keyword:G1.value};try{const M2=yield dh(x);H1.value=z8(M2.rows),G2.value=Number(((k=M2.page)==null?void 0:k.totalCount)||M2.totalCount||H1.value.length||0),y1.value=Number(((e2=M2.page)==null?void 0:e2.page)||A||1)}catch(M2){T3.value=T3.value||"交易台账接口异常",H1.value=[],G2.value=0}})}function Ie(A){const x=Number(A);!Number.isFinite(x)||x===Number(H2.value)||(H2.value=x,y1.value=1,B1.value="",G1.value="",$8(x))}function V8(A){const x=y9(A);x!==Number(W3.value)&&(W3.value=x,L3.value=1,h1.value="",C1.value="",c1.value=1,q3.value=v9(),nt(x))}function Xn(){G1.value=B1.value.trim(),W8(1)}function H8(A){const x=Math.min(Math.max(Number(A)||1,1),S.value);W8(x)}function K8(A=null){D3.value=!0,A&&(G0.value=A),N5(1,A)}function vt(){D3.value=!1}function q8(){N5(1)}function Z7(){u3.value={keyword:"",startTown:"",usageType:"",certType:""},N5(1)}function J8(A){const x=Math.min(Math.max(Number(A)||1,1),E.value);N5(x)}function N5(){return P3(this,arguments,function*(A=S1.value,x=null){var M2,X;if(!H2.value)return;F1.value=!0,s0.value="";const k=u3.value,e2={year:H2.value,page:A,pageSize:fm,keyword:k.keyword.trim(),startTown:k.startTown,usageType:k.usageType,certType:k.certType};try{const A2=yield dh(e2);e1.value=z8(A2.rows),s1.value=Number(((M2=A2.page)==null?void 0:M2.totalCount)||A2.totalCount||e1.value.length||0),S1.value=Number(((X=A2.page)==null?void 0:X.page)||A||1);const P2=x?x.certId||x.factoryCode:"",A3=P2?e1.value.find($3=>($3.certId||$3.factoryCode)===P2)||x:e1.value[0]||null;Q8(A3)}catch(A2){s0.value="交易台账接口异常",e1.value=[],s1.value=0,G0.value=null}finally{F1.value=!1}})}function Q8(A){G0.value=A||null}function X8(A){var x,k;A!=null&&A.startTown&&(V2.value="trade",(k=(x=z3.value)==null?void 0:x.focusTown)==null||k.call(x,yt(A.startTown),{distanceScale:.78,duration:.8}))}function nt(){return P3(this,arguments,function*(A=W3.value){var P2;const x=y9(A),k=F8(x);W3.value=x,_1.value=!0,o1.value="";const[e2,M2,X,A2]=yield Promise.allSettled([MR(k),_s(B2({page:L3.value,pageSize:gi,keyword:C1.value},k)),PR({year:x}),kR()]);if(e2.status==="fulfilled"?R1.value=e2.value||{metrics:{}}:(o1.value="防疫统计接口异常",R1.value={metrics:{}}),M2.status==="fulfilled"){const A3=M2.value||{};h3.value=b9(A3.rows),x3.value=Number(((P2=A3.page)==null?void 0:P2.totalCount)||A3.totalCount||h3.value.length||0)}else o1.value=o1.value||"防疫台账接口异常",h3.value=[],x3.value=0;X.status==="fulfilled"?D1.value=z7(X.value):D1.value={rows:[],year:null},A2.status==="fulfilled"?Y1.value=Y7(R1.value,A2.value):Y1.value={rows:[]},_1.value=!1})}function ea(){return P3(this,arguments,function*(A=L3.value){var e2,M2;_1.value=!0,o1.value="";const x=Math.min(Math.max(Number(A)||1,1),L.value),k=F8(W3.value);try{const X=yield _s(B2({page:x,pageSize:gi,keyword:C1.value},k));h3.value=b9(X.rows),x3.value=Number(((e2=X.page)==null?void 0:e2.totalCount)||X.totalCount||h3.value.length||0),L3.value=Number(((M2=X.page)==null?void 0:M2.page)||x||1)}catch(X){o1.value="防疫台账接口异常",h3.value=[],x3.value=0,L3.value=1}finally{_1.value=!1}})}function St(){C1.value=h1.value.trim(),q3.value=Z2(B2({},v9()),{keyword:C1.value}),ea(1)}function ta(A){ea(A)}function Z8(A=null){l3.value=!0,A&&(W1.value=A,P.value=null),nn(1,A)}function Ln(){l3.value=!1,Y8()}function R5(){nn(1)}function e4(){q3.value=v9(),nn(1)}function te(A){nn(A)}function nn(){return P3(this,arguments,function*(A=c1.value,x=null){var X,A2;M1.value=!0,$1.value="";const k=q3.value,e2=F8(W3.value),M2={keyword:k.keyword.trim(),town:k.town,medicine:k.medicine,startDate:k.startDate||e2.startDate,endDate:k.endDate||e2.endDate,page:A,pageSize:dm};try{const P2=yield _s(M2);$2.value=b9(P2.rows),j3.value=Number(((X=P2.page)==null?void 0:X.totalCount)||P2.totalCount||$2.value.length||0),c1.value=Number(((A2=P2.page)==null?void 0:A2.page)||A||1);const A3=x||$2.value[0]||null;A3?T9(A3):(W1.value=null,P.value=null)}catch(P2){$1.value="台账接口异常",$2.value=[],j3.value=0}finally{M1.value=!1}})}function T9(A){return P3(this,null,function*(){if(W1.value=A,P.value=null,!(A!=null&&A.earTag)&&!(A!=null&&A.epidemicId))return;const x=++d0;E3.value=!0;try{const k=yield ER(A.earTag||A.epidemicId);x===d0&&(P.value=V7(k)||A)}catch(k){x===d0&&(P.value=A)}finally{x===d0&&(E3.value=!1)}})}function Xr(){var A;L1=new C7,_2=!1,(A=L1.ready)==null||A.then(()=>{_2=!0,b6()}).catch(()=>{x1.value=!0})}function b6(){F3||!a.active||!_2||n3||(n3=!0,I3&&window.clearTimeout(I3),I3=window.setTimeout(()=>{I3=null,na()},600))}function na(A=0){return P3(this,null,function*(){var k,e2;if(F3)return;if(!a.active){n3=!1;return}if(yield O0(),!a.active){n3=!1;return}const x=z3.value;if((k=x==null?void 0:x.loadMap)==null||k.call(x,L1),x!=null&&x.canvasMap){n3=!1,x1.value=!0,(e2=x.play)==null||e2.call(x);return}if(A<24){window.setTimeout(()=>na(A+1),120);return}n3=!1})}function aa(A={}){i3.value={type:A.type||"idle",text:A.text||""}}function Zr(){S3.value=!0}function t4(A={}){G3.value={type:A.type||"idle",text:A.text||"",loaded:A.loaded,failed:A.failed,total:A.total,zoom:A.zoom,tileUrlTemplate:A.tileUrlTemplate}}function C9(){if(V2.value==="epidemic"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"防疫记录",value:F2.value,unit:"条"},{zh:"防疫耳标",value:x2.value,unit:"头"},{zh:"疫苗类型",value:o2.value,unit:"类"},{zh:"涉及村数",value:n2.value,unit:"个"}]});return}if(V2.value==="forecast"){const A=c0.value.stock-Ye;i("module-stats",{moduleKey:"yak-management",items:[{zh:"预测期末存栏",value:c0.value.stock,unit:"头"},{zh:"新生牛犊",value:c0.value.births,unit:"头"},{zh:"出栏流出",value:c0.value.outflow,unit:"头"},{zh:"预测净变化",value:A,unit:"头"}]});return}if(V2.value==="trade"){i("module-stats",{moduleKey:"yak-management",items:[{zh:"流通总量",value:We("headCount"),unit:"头"},{zh:"出证记录",value:We("recordCount"),unit:"条"},{zh:"运输车辆",value:We("vehicleCount"),unit:"辆"}]});return}i("module-stats",{moduleKey:"yak-management",items:[{zh:"图像识别总数",value:$R,unit:"头"},{zh:"模型修正总数",value:f0.value,unit:"头"},{zh:"当前存栏数量",value:Ye,unit:"头"}]})}function Zn(A,x,k,e2={}){const M2=e2.labelKey||"name",X=e2.colors||S2,A2=Math.max(...A.map(X1=>Number(X1[x]||0)),1),P2=A.length>8,A3=e2.style==="ladder",$3=P2?A3?7:6:A.length>6?11:13,d1=["#30dcff","#24f6c4","#8bf7ff","#48cfff","#16b6e8","#b9fbff"],O1=e2.axisTextColor||p,U1=e2.dimAxisTextColor||I;return{tooltip:Z2(B2({},we()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(X1){if(e2.tooltipFormatter)return e2.tooltipFormatter(X1[0]);const L0=A[X1[0].dataIndex];return`${L0[M2]}
    数值:${m0(L0[x])}${k}`}}),grid:{left:P2?58:74,right:P2?54:58,top:P2?6:16,bottom:P2?8:14},xAxis:{type:"value",axisLabel:{color:U1,fontSize:10,formatter:k==="%"?"{value}%":D0},axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{color:U,type:"dashed"}}},yAxis:{type:"category",inverse:!0,data:A.map(X1=>X1[M2]),axisLabel:{color:O1,fontSize:P2?10:11,fontWeight:700,interval:0},axisLine:{show:!1},axisTick:{show:!1}},series:[{type:"bar",barWidth:$3,barGap:"-100%",data:A.map((X1,L0)=>({value:X1[x],itemStyle:{borderRadius:A3?[1,10,10,1]:[0,7,7,0],color:eo(A3?d1[L0%d1.length]:X[L0%X.length],A3),shadowBlur:A3?3:0,shadowColor:A3?"rgba(48, 220, 255, 0.16)":"transparent"}})),showBackground:!0,backgroundStyle:{color:A3?"rgba(48, 220, 255, 0.05)":"rgba(48, 220, 255, 0.07)",borderRadius:A3?[1,10,10,1]:[0,7,7,0]},label:{show:!0,position:"right",color:g,fontFamily:ss.number,fontSize:P2?10:Kd.chartLabel,fontWeight:700,formatter:({value:X1})=>`${k==="%"?Rt(X1):D0(X1)}`},markLine:e2.showAverage===!1?void 0:{silent:!0,symbol:"none",label:{show:!1},lineStyle:{color:"rgba(139, 247, 255, 0.22)",type:"dashed",width:1},data:[{xAxis:Math.round(A2*.72)}]}},...A3?[{type:"pictorialBar",symbol:"rect",symbolSize:[2,$3+5],symbolOffset:[0,0],symbolPosition:"end",z:4,data:A.map((X1,L0)=>({value:X1[x],itemStyle:{color:g,opacity:L0<3?.82:.56,shadowBlur:2,shadowColor:"rgba(139, 247, 255, 0.16)"}}))}]:[]]}}function eo(A,x=!1){return new Ce(0,0,1,0,[{offset:0,color:x?`${A}22`:"rgba(48, 220, 255, 0.12)"},{offset:.64,color:x?A:`${A}cc`},{offset:1,color:A}])}function n4(A,x,k,e2=0,M2=!1){return{name:A,type:"line",yAxisIndex:e2,smooth:!0,symbolSize:5,data:x,lineStyle:{width:2.5,color:k},itemStyle:{color:k},areaStyle:M2?{color:new Ce(0,0,0,1,[{offset:0,color:`${k}44`},{offset:1,color:`${k}05`}])}:void 0}}function ia(A){return K1.find(x=>x.key===A)||K1[2]}function a4(A,x="month"){if(x==="month")return Ip(A);const k=su(A),e2=Math.max(1,Math.round(Math.max(1,k-1)*30)),M2=x==="week"?7:1,X=Math.ceil(e2/M2)+1,A2=Array.from({length:X},(d1,O1)=>{const U1=Math.min(e2,O1*M2);return Fp(U1)}),P2=A2.map((d1,O1)=>{const X1=Math.min(e2,O1*M2)/e2,L0=Math.sin(O1/(x==="week"?1.8:8.5))*Math.sin(Math.PI*X1)*Math.min(360,A.months*18);return Math.round(Ye+(A.stock-Ye)*X1+L0)}),A3=A2.map((d1,O1)=>{const U1=Math.min(e2,O1*M2)/e2;return Math.round(A.births*U1)}),$3=A2.map((d1,O1)=>{const U1=Math.min(e2,O1*M2)/e2;return Math.round(A.outflow*U1)});return{labels:A2,stock:P2,births:A3,outflow:$3}}function i4(A,x){return x==="day"?Math.max(10,Math.ceil(A/6)):x==="week"?Math.max(2,Math.ceil(A/7)):A>24?4:A>14?2:1}function ra(A,x){return x==="day"?A>700?2:A>360?3:4:x==="week"?A>110?4:6:A>24?7:10}function to(A){return(A.labels||[]).map((x,k)=>{var d1,O1,U1,X1,L0,q0;const e2=Number(((d1=A.stock)==null?void 0:d1[Math.max(k-1,0)])||0),M2=Number(((O1=A.stock)==null?void 0:O1[k])||e2),X=Math.max(0,Number(((U1=A.births)==null?void 0:U1[k])||0)-Number(((X1=A.births)==null?void 0:X1[Math.max(k-1,0)])||0)),A2=Math.max(0,Number(((L0=A.outflow)==null?void 0:L0[k])||0)-Number(((q0=A.outflow)==null?void 0:q0[Math.max(k-1,0)])||0)),P2=Math.max(120,Math.round((X+A2)*.18)),A3=Math.max(e2,M2)+Math.max(P2,Math.round(X*.32)),$3=Math.max(0,Math.min(e2,M2)-Math.max(P2,Math.round(A2*.32)));return{label:x,open:e2,close:M2,low:$3,high:A3,birth:X,outflow:A2,value:[e2,M2,$3,A3]}})}function r4(A,x){const k=new Map;return A.forEach(e2=>{const M2=o4(e2.name);if(!M2)return;const X=k.get(M2)||{name:M2,value:0};X.value+=Number(e2[x]||0),k.set(M2,X)}),[...k.values()].sort((e2,M2)=>M2.value-e2.value)}function o4(A){return{色地镇:"色地镇",瓦切镇:"瓦切镇",安曲镇:"安曲镇",龙日镇:"龙日镇",邛溪镇:"邛溪镇",刷经寺镇:"刷经寺镇",阿木乡:"阿木乡",查尔玛乡:"查尔玛乡",江茸乡:"江茸乡",麦洼乡:"麦洼乡"}[A]||""}function we(A){return{trigger:"item",backgroundColor:"rgba(5, 31, 51, 0.96)",borderColor:"rgba(0, 210, 255, 0.54)",borderWidth:1,padding:[7,10],textStyle:{color:p,fontFamily:ss.ui,fontSize:Kd.tooltip,lineHeight:18},extraCssText:"box-shadow:0 0 10px rgba(0,210,255,.12);",formatter:A}}function A9(A){return K2.some(x=>x.key===A)?A:"structure"}function wt(A=[]){return A.map((x,k)=>{var X,A2,P2,A3;const e2=String(x.name||x.label||x.type||`结构${k+1}`).trim(),M2=l4((A2=(X=x.value)!=null?X:x.count)!=null?A2:x.number);return{key:x.key||x.id||`${e2}-${k}`,name:e2,count:M2,ratio:Number((A3=(P2=x.ratio)!=null?P2:x.percent)!=null?A3:0),source:x.source||"结构统计"}}).filter(x=>x.name&&x.count>0)}function s4(A=[],x=[]){const k=A.some(M2=>I5(M2))?A:x,e2=In(k,x).map((M2,X)=>{var A3,$3;const A2=String(M2.name||M2.label||`结构${X+1}`).trim(),P2=l4(($3=(A3=M2.count)!=null?A3:M2.value)!=null?$3:M2.number);return Z2(B2({},M2),{key:M2.key||`${A2}-${X}`,name:A2,count:P2})}).filter(M2=>M2.name&&M2.count>0);return L5(e2,Ye)}function L5(A=[],x=Ye){const k=A.reduce((X,A2)=>X+Number(A2.count||0),0);if(!k||!x)return A;const e2=A.map((X,A2)=>{const P2=Number.isFinite(Number(X.ratio))&&Number(X.ratio)>0?Number(X.ratio):Number(X.count||0)/k*100,A3=x*P2/100;return Z2(B2({},X),{index:A2,ratio:P2,count:Math.floor(A3),remainder:A3-Math.floor(A3)})});let M2=x-e2.reduce((X,A2)=>X+A2.count,0);return e2.slice().sort((X,A2)=>A2.remainder-X.remainder||X.index-A2.index).forEach(X=>{M2<=0||(X.count+=1,M2-=1)}),e2.map(A3=>{var $3=A3,{index:X,remainder:A2}=$3,P2=F9($3,["index","remainder"]);return Z2(B2({},P2),{ratio:Number(P2.ratio.toFixed(1))})})}function l4(A){const x=Number(String(A!=null?A:"").replace(/,/g,"").replace(/%/g,""));return Number.isFinite(x)&&x>0?Math.round(x):0}function oa(A,x){const k=String((A==null?void 0:A.message)||A||"");return/未登录|401|HTTP_401/.test(k)?"结构数据未就绪":/超时|timeout/i.test(k)?"结构数据加载超时":x}function no(A){const x=String(A||"").match(/-?\d+(?:\.\d+)?/);return x?Number(x[0]):0}function m0(A){const x=Number(A);return Number.isFinite(x)?x.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(x)?0:2}):"--"}function D0(A){const x=Number(A);return Number.isFinite(x)?Math.abs(x)>=1e4?`${(x/1e4).toFixed(Math.abs(x)>=1e5?0:1)}万`:Math.round(x).toLocaleString("zh-CN"):"--"}function _9(A,x=2){const k=Number(A);return Number.isFinite(k)?`${(k/1e4).toFixed(x)}万`:"--"}function Rt(A){const x=Number(A);return Number.isFinite(x)?`${Number.isInteger(x)?x:x.toFixed(1)}%`:"--"}function Lt(A,x,k,e2){const M2=e2*Math.PI/180;return{x:Number((A+k*Math.cos(M2)).toFixed(2)),y:Number((x+k*Math.sin(M2)).toFixed(2))}}function ao(A,x,k,e2,M2,X){const A2=Lt(A,x,e2,M2),P2=Lt(A,x,e2,X),A3=Lt(A,x,k,X),$3=Lt(A,x,k,M2),d1=X-M2>180?1:0;return[`M ${A2.x} ${A2.y}`,`A ${e2} ${e2} 0 ${d1} 1 ${P2.x} ${P2.y}`,`L ${A3.x} ${A3.y}`,`A ${k} ${k} 0 ${d1} 0 ${$3.x} ${$3.y}`,"Z"].join(" ")}function sa(A=[]){return A.reduce((x,k)=>{const e2=G6.find(M2=>M2.key===k);return x+Number((e2==null?void 0:e2.ratio)||0)},0)}function x9(){return[{key:"fertileCow",name:"适龄能繁母牛",color:"#27f0c0",matcher:(A,x)=>A==="fertileCow"||x.includes("适龄能繁母牛")},{key:"meatBull",name:"麦洼公牦牛",color:"#48cfff",matcher:(A,x)=>A==="meatBull"||x.includes("肉公牛")||x.includes("麦洼公牦牛")},{key:"breedingBull",name:"种公牛",color:"#24f6c4",matcher:(A,x)=>A==="breedingBull"||x.includes("种公牛")},{key:"femaleCalf",name:"母犊牛",color:"#30dcff",matcher:(A,x)=>A==="femaleCalf"||x.includes("母犊牛")},{key:"maleCalf",name:"公犊牛",color:"#8bf7ff",matcher:(A,x)=>A==="maleCalf"||x.includes("公犊牛")},{key:"overageCow",name:"过龄能繁母牛",color:"#48cfff",matcher:(A,x)=>A==="overageCow"||x.includes("过龄能繁母牛")}]}function la(A=[]){const x=A.reduce((e2,M2)=>e2+Number(M2.count||0),0)||1;return[{key:"female",group:"性别",name:"母牛合计",color:"#27f0c0",matcher:(e2,M2)=>["fertileCow","femaleCalf","overageCow"].includes(e2)||M2.includes("母")},{key:"male",group:"性别",name:"公牛合计",color:"#30dcff",matcher:(e2,M2)=>["meatBull","breedingBull","maleCalf"].includes(e2)||M2.includes("公")||M2.includes("肉牛")},{key:"calf",group:"阶段",name:"犊牛合计",color:"#8bf7ff",matcher:(e2,M2)=>["femaleCalf","maleCalf"].includes(e2)||M2.includes("犊牛")},{key:"breeding-cow",group:"阶段",name:"能繁母牛",color:"#48cfff",matcher:(e2,M2)=>["fertileCow","overageCow"].includes(e2)||M2.includes("能繁母牛")}].map(e2=>{const M2=A.filter(X=>e2.matcher(String(X.key||""),String(X.name||""))).reduce((X,A2)=>X+Number(A2.count||0),0);return{key:e2.key,group:e2.group,name:e2.name,color:e2.color,count:M2,percent:M2/x*100}})}function In(A=[],x=[]){const e2=A.some(A2=>I5(A2))?A:x,M2=e2.reduce((A2,P2)=>A2+Number(P2.count||0),0)||Ye||1;return x9().map(A2=>{const P2=e2.filter(d1=>A2.matcher(String(d1.key||""),String(d1.name||""))),A3=P2.reduce((d1,O1)=>d1+Number(O1.count||0),0),$3=P2.length===1?Number(P2[0].ratio):Number.NaN;return{key:A2.key,name:A2.name,color:A2.color,count:A3,percent:Number.isFinite($3)&&$3>0?$3:A3/M2*100}}).filter(A2=>A2.count>0||A2.percent>0)}function I5(A={}){const x=String(A.key||""),k=String(A.name||"");return x9().some(e2=>e2.matcher(x,k))}function io(A=[],x=[]){const e2=A.some(A2=>ro(A2))?A:x,M2=e2.reduce((A2,P2)=>A2+Number(P2.count||0),0)||1,X=(A2,P2,A3,$3,d1)=>{const O1=e2.filter(L0=>$3(String(L0.key||""),String(L0.name||""))),U1=O1.reduce((L0,q0)=>L0+Number(q0.count||0),0),X1=O1.length===1?Number(O1[0].ratio):Number.NaN;return{key:A2,name:P2,color:A3,count:U1,percent:Number.isFinite(X1)&&X1>0?X1:U1/M2*100,desc:d1}};return[X("fertile-cow","适龄能繁母牛","#27f0c0",(A2,P2)=>A2==="fertileCow"||P2.includes("适龄能繁母牛"),"繁殖基础"),X("calf","犊牛合计","#8bf7ff",(A2,P2)=>["femaleCalf","maleCalf"].includes(A2)||P2.includes("犊牛"),"新生补充"),X("overage-cow","过龄能繁母牛","#30dcff",(A2,P2)=>A2==="overageCow"||P2.includes("过龄能繁母牛"),"更新压力"),X("breeding-bull","种公牛配比","#48cfff",(A2,P2)=>A2==="breedingBull"||P2.includes("种公牛"),"配种支撑")]}function ro(A={}){const x=String(A.key||""),k=String(A.name||"");return["fertileCow","femaleCalf","maleCalf","overageCow","breedingBull"].includes(x)||k.includes("适龄能繁母牛")||k.includes("犊牛")||k.includes("过龄能繁母牛")||k.includes("种公牛")}function oo(A=[]){const x=A2=>{var P2;return Number(((P2=A.find(A3=>A3.key===A2))==null?void 0:P2.percent)||0)},k=x("fertile-cow"),e2=x("calf"),M2=x("overage-cow"),X=x("breeding-bull");return k>=40&&e2>=25&&X>=2&&X<=5&&M2<=10?{label:"结构健康",title:"繁殖基础稳定",summary:"适龄母牛足,犊牛补充稳",note:"保持适龄能繁母牛、犊牛补充与种公牛配置稳定。"}:e2<25?{label:"结构健康",title:"犊牛补充需关注",summary:"繁殖基础稳定,补充端可优化",note:"关注犊牛成活和季节性补栏,保持生产连续性。"}:X<2?{label:"结构健康",title:"繁殖基础总体稳定",summary:"适龄母牛基础较稳",note:"结合实际配种需求,平稳优化公牛配置。"}:{label:"结构健康",title:"生产阶段较均衡",summary:"繁殖群和犊牛补充连续支撑",note:"延续结构管理,优先保障适龄母牛与犊牛质量。"}}function X6(A){const x=Number((A==null?void 0:A.count)||0);return Math.max(8,Math.min(100,x/O.value*100))}function an(A={}){const x=Ye,k=[{key:"births",name:"新生牛犊",delta:Number(A.births||0),color:"#27f0c0"},{key:"outflow",name:"出栏流出",delta:-Number(A.outflow||0),color:"#48cfff"},{key:"correction",name:"修正损耗",delta:Number(A.correction||0),color:"#8bf7ff"}];let e2=x;const M2=[{key:"current",name:"当前存栏",type:"anchor",value:x,magnitude:x,from:x,to:x,color:"#30dcff",display:`${_9(x,2)}头`}];k.forEach(P2=>{const A3=e2,$3=e2+P2.delta;e2=$3,M2.push(Z2(B2({},P2),{name:`${P2.delta>=0?"+":"-"}${P2.name}`,type:"delta",from:A3,to:$3,value:P2.delta,magnitude:Math.abs(P2.delta),display:`${so(P2.delta)}头`}))});const X=Number(A.stock||e2);M2.push({key:"final",name:"=期末预测",type:"final",value:X,magnitude:X,from:X,to:X,color:"#48cfff",display:`${_9(X,2)}头`});const A2=Math.max(...M2.map(P2=>Number(P2.magnitude)||0),1);return M2.map(P2=>{const A3=(Number(P2.magnitude)||0)/A2*100;return Z2(B2({},P2),{left:0,width:Math.max(P2.type==="delta"?5:10,Math.min(100,A3))})})}function F5(A){const x=Number(A);return Number.isFinite(x)?`${x>=0?"+":"-"}${m0(Math.abs(x))}`:"--"}function so(A){const x=Number(A);return Number.isFinite(x)?`${x>=0?"+":"-"}${_9(Math.abs(x))}`:"--"}return(A,x)=>(G(),z("div",eY,[he((G(),J0(hp,{key:$e.value,ref_key:"mapSceneRef",ref:z3,class:"yak-map-scene","active-layer":x0.value,"map-ranking":Y0.value,"tile-url-template":Q0.value,"use-satellite-base":A0.value,"admin-boundary-line-scale":1.35,onLayerStatus:aa,onTileStatus:t4},null,8,["active-layer","map-ranking","tile-url-template","use-satellite-base"])),[[I6,!_3.value]]),_3.value?(G(),J0(P7,{key:D2.value,ref_key:"yakOlMapRef",ref:V3,class:"yak-ol-map-layer",active:a.active&&_3.value,"tile-url-template":Q0.value,center:i1.value,"max-zoom":21,"overlay-layer":J3.value,onReady:Zr,onLayerStatus:aa,onTileStatus:t4},null,8,["active","tile-url-template","center","overlay-layer"])):k3("",!0),w("div",{class:r1(["yak-map-scrim",{"is-ol-map":_3.value}])},null,2),Z1.value?(G(),z("div",tY,i2(h2.value),1)):k3("",!0),w("div",nY,[V2.value==="trade"&&m2.value.length?(G(),z("div",aY,[x[23]||(x[23]=w("span",null,"交易年份",-1)),(G(!0),z(B3,null,H3(m2.value,k=>(G(),z("button",{key:k,type:"button",class:r1({active:Number(k)===Number(H2.value)}),onClick:e2=>Ie(k)},i2(k),11,iY))),128))])):k3("",!0),V2.value==="epidemic"&&b1.length?(G(),z("div",rY,[x[24]||(x[24]=w("span",null,"防疫年份",-1)),(G(),z(B3,null,H3(b1,k=>w("button",{key:k,type:"button",class:r1({active:Number(k)===Number(W3.value)}),onClick:e2=>V8(k)},i2(k),11,oY)),64))])):k3("",!0),V2.value==="forecast"?(G(),z("div",sY,[x[25]||(x[25]=w("span",null,"预测年份",-1)),(G(!0),z(B3,null,H3(k1(Mt),k=>(G(),z("button",{key:k.key,type:"button",class:r1({active:k.key===s3.value}),onClick:e2=>Br(k.key)},i2(k.shortLabel),11,lY))),128))])):k3("",!0),w("div",uY,[w("div",cY,[V2.value==="structure"?(G(),z(B3,{key:0},[l1(l0,{class:"yak-side-card left-card",title:"繁殖基础评估",width:k1(r),height:s.value},{default:e0(()=>[w("div",dY,[w("div",fY,[w("strong",null,i2(tt.value.title)+","+i2(tt.value.summary),1)]),w("div",hY,[(G(!0),z(B3,null,H3(ht.value,k=>(G(),z("div",{key:k.key,class:"breeding-health-item",style:z1({"--health-color":k.color,"--health-width":`${Math.max(5,Math.min(100,k.percent))}%`})},[w("span",null,i2(k.name),1),w("strong",null,i2(Rt(k.percent)),1),x[26]||(x[26]=w("i",null,[w("b")],-1)),w("em",null,i2(k.desc),1)],4))),128))])])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"畜群结构占比",width:k1(r),height:s.value},{default:e0(()=>[w("div",mY,[w("div",pY,[w("div",gY,[(G(),z("svg",yY,[w("g",vY,[(G(!0),z(B3,null,H3(d.value,k=>(G(),z("path",{key:k.key,class:r1(["structure-rose-segment",{"is-active":k.index===N.value}]),d:k.path,fill:k.color,stroke:k.color},null,10,SY))),128))]),x[27]||(x[27]=w("circle",{class:"structure-rose-glow",cx:"75",cy:"75",r:"24"},null,-1)),x[28]||(x[28]=w("circle",{class:"structure-rose-hole",cx:"75",cy:"75",r:"16"},null,-1)),x[29]||(x[29]=w("text",{class:"structure-rose-center",x:"75",y:"72","text-anchor":"middle"},"结构",-1)),x[30]||(x[30]=w("text",{class:"structure-rose-center is-sub",x:"75",y:"83","text-anchor":"middle"},"占比",-1))]))]),w("div",wY,[(G(!0),z(B3,null,H3(ft.value,(k,e2)=>(G(),z("div",{key:k.key||k.name,class:r1(["structure-ratio-row",{"is-active":e2===N.value}]),style:z1({"--row-color":k.color,"--row-percent":`${Math.max(4,k.percent)}%`})},[w("i",{style:z1({background:k.color,color:k.color})},null,4),w("span",null,[z0(i2(k.name),1),w("small",null,i2(Rt(k.percent)),1)]),w("strong",null,i2(D0(k.count)),1),x[31]||(x[31]=w("em",null,"头",-1))],6))),128))])]),o3.value?(G(),z("div",bY,"结构数据加载中")):n1.value?(G(),z("div",TY,i2(n1.value),1)):k3("",!0)])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"母牛/公牛年龄结构",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:J1.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"牦牛乡镇分布",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:mt.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"])],64)):V2.value==="forecast"?(G(),z(B3,{key:1},[l1(l0,{class:"yak-side-card left-card",title:"存栏变化拆解",width:k1(r),height:s.value},{default:e0(()=>[w("div",CY,[w("div",AY,[w("span",null,i2(c0.value.label)+"变化路径",1),w("strong",{class:r1({positive:ct.value>0,negative:ct.value<0})},[z0(" 净变化 "+i2(F5(ct.value)),1),x[32]||(x[32]=w("em",null,"头",-1))],2)]),w("div",_Y,[(G(!0),z(B3,null,H3(q1.value,k=>(G(),z("div",{key:k.key,class:r1(["forecast-waterfall-row",[`is-${k.type}`,{positive:k.delta>0,negative:k.delta<0}]]),style:z1({"--waterfall-left":`${k.left}%`,"--waterfall-width":`${k.width}%`,"--waterfall-color":k.color})},[w("span",null,i2(k.name),1),x[33]||(x[33]=w("i",null,[w("b")],-1)),w("strong",null,i2(k.display),1)],6))),128))])])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"未来存栏趋势",width:k1(r),height:s.value},{default:e0(()=>[w("div",xY,[w("div",MY,[(G(),z(B3,null,H3(K1,k=>w("button",{key:k.key,type:"button",class:r1({active:k.key===m3.value}),onClick:e2=>m3.value=k.key},i2(k.label),11,PY)),64))]),l1(k1(ue),{class:"yak-chart forecast-kline-chart",option:Qn.value,autoresize:!0},null,8,["option"])])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"月度数量预测",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:_5.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"预测因子雷达",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:x5.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"])],64)):V2.value==="epidemic"?(G(),z(B3,{key:2},[l1(l0,{class:"yak-side-card left-card",title:"防疫统计",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:f9.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"养殖户防疫排行",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:h9.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"防疫作业趋势",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:pn.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"疫苗类型分布",width:k1(r),height:s.value},{default:e0(()=>[Y.value.length?(G(),z("div",kY,[w("div",EY,[(G(),J0(Ym,{key:k2.value,data:Y.value,delay:3e3,colors:T2,opacity:.62,class:"epidemic-three-pie"},{default:e0(({data:k})=>[w("div",NY,[w("strong",null,i2(D0((k==null?void 0:k.count)||F2.value)),1),w("span",null,i2((k==null?void 0:k.name)||"疫苗类型"),1)])]),_:1},8,["data"]))]),w("div",RY,[(G(!0),z(B3,null,H3(Y.value,(k,e2)=>(G(),z("div",{key:k.key||k.name,class:"epidemic-three-pie-row"},[w("i",{style:z1({borderColor:T2[e2%T2.length]})},null,4),w("span",null,i2(k.name),1),w("strong",null,i2(D0(k.value)),1),w("em",null,i2(k.unit),1)]))),128))])])):(G(),z("div",LY,"暂无疫苗类型数据"))]),_:1},8,["width","height"])],64)):V2.value==="trade"?(G(),z(B3,{key:3},[l1(l0,{class:"yak-side-card left-card",title:"交易异常关注",width:k1(r),height:s.value},{default:e0(()=>[w("div",IY,[w("div",FY,[w("span",null,i2(H2.value)+"年流通监管线索",1),w("strong",null,i2(w2.value),1)]),w("div",BY,[(G(!0),z(B3,null,H3(V.value,k=>(G(),z("div",{key:k.key,class:r1(["trade-risk-row",`is-${k.level}`]),style:z1({"--risk-color":k.color})},[x[34]||(x[34]=w("i",null,null,-1)),w("span",null,[w("em",null,[w("b",null,i2(k.badge),1),z0(i2(k.name),1)]),w("small",null,i2(k.value)+"|"+i2(k.desc),1)])],6))),128))])])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"交易流通趋势",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:J6.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"来源乡镇分布",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:tn.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card left-card",title:"用途结构统计",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:Ir.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"])],64)):k3("",!0)])]),w("div",DY,[w("div",GY,[V2.value==="structure"?(G(),z(B3,{key:0},[l1(l0,{class:"yak-side-card right-card",title:"乡镇存栏排行",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:pt.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"能繁母牛与犊牛分布",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:y0.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"出栏/交易影响",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:X0.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"性别与生产阶段汇总",width:k1(r),height:s.value},{default:e0(()=>[w("div",UY,[w("div",OY,[(G(!0),z(B3,null,H3(Le.value,k=>(G(),z("div",{key:k.key||k.name,class:"structure-summary-row",style:z1({"--structure-color":k.color,"--structure-width":`${X6(k)}%`})},[w("span",null,[x[35]||(x[35]=w("i",null,null,-1)),z0(i2(k.name),1)]),x[37]||(x[37]=w("b",null,[w("em")],-1)),w("strong",null,[z0(i2(D0(k.count)),1),x[36]||(x[36]=w("em",null,"头",-1))]),w("small",null,i2(Rt(k.percent)),1)],4))),128))]),o3.value?(G(),z("div",jY,"结构数据加载中")):n1.value?(G(),z("div",zY,i2(n1.value),1)):k3("",!0)])]),_:1},8,["width","height"])],64)):V2.value==="forecast"?(G(),z(B3,{key:1},[l1(l0,{class:"yak-side-card right-card",title:"乡镇预测排行",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:u9.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"期末结构预测",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:c9.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"补充/流出对比",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:de.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"预测变化热力",width:k1(r),height:s.value},{default:e0(()=>[w("div",YY,[(G(!0),z(B3,null,H3(ee.value,k=>(G(),z("div",{key:k.name,class:r1(["heat-row",{"is-negative":k.change<0}]),style:z1(gt(k)),title:en(k)},[w("span",null,i2(k.name),1),x[38]||(x[38]=w("b",null,[w("i")],-1)),w("strong",null,i2(F5(k.change)),1)],14,$Y))),128))])]),_:1},8,["width","height"])],64)):V2.value==="epidemic"?(G(),z(B3,{key:2},[l1(l0,{class:"yak-side-card right-card",title:"乡镇覆盖均衡",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:q6.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card",title:"村级覆盖进度",width:k1(r),height:s.value},{default:e0(()=>[l1(k1(ue),{class:"yak-chart",option:d9.value,autoresize:!0},null,8,["option"])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card epidemic-ledger-card",title:"防疫记录台账",width:k1(r),height:u.value},{default:e0(()=>[w("div",WY,[w("div",VY,[w("span",null,i2(W3.value)+"年 共 "+i2(m0(x3.value))+" 条",1),w("div",null,[he(w("input",{"onUpdate:modelValue":x[0]||(x[0]=k=>h1.value=k),type:"search",placeholder:"耳标/养殖户/疫苗",onKeyup:xt(St,["enter"])},null,544),[[B6,h1.value]]),w("button",{type:"button",onClick:St},"搜索"),w("button",{type:"button",class:"is-more",onClick:x[1]||(x[1]=k=>Z8())},"查看更多")])]),x[39]||(x[39]=w("div",{class:"epidemic-record-header"},[w("span",null,"电子耳标"),w("span",null,"养殖户"),w("span",null,"镇/乡"),w("span",null,"疫苗"),w("span",null,"时间")],-1)),w("div",HY,[(G(!0),z(B3,null,H3(q.value,k=>(G(),z("button",{key:k.epidemicId||k.earTag,type:"button",onClick:e2=>Z8(k)},[w("span",null,i2(F0(k.earTag)),1),w("span",null,i2(F0(k.owner)),1),w("span",null,i2(F0(k.town)),1),w("strong",null,i2(F0(k.medicine)),1),w("span",null,i2(R0(k.operateTime)),1)],8,KY))),128)),h3.value.length?k3("",!0):(G(),z("div",qY,i2(_1.value?"防疫台账读取中":o1.value||"暂无防疫记录"),1))]),w("div",JY,[w("span",null,"第 "+i2(L3.value)+" / "+i2(L.value)+" 页",1),w("button",{type:"button",disabled:L3.value<=1,onClick:x[2]||(x[2]=k=>ta(L3.value-1))},"上一页",8,QY),w("button",{type:"button",disabled:L3.value>=L.value,onClick:x[3]||(x[3]=k=>ta(L3.value+1))},"下一页",8,XY)])])]),_:1},8,["width","height"])],64)):V2.value==="trade"?(G(),z(B3,{key:3},[l1(l0,{class:"yak-side-card right-card",title:"出证结构统计",width:k1(r),height:s.value},{default:e0(()=>[w("div",ZY,[w("div",e$,[w("span",null,[x[41]||(x[41]=w("em",null,"省外流通 A证",-1)),w("strong",null,[z0(i2(m0(We("outProvinceHeads","aCertHeads"))),1),x[40]||(x[40]=w("b",null,"头",-1))]),w("small",null,i2(m0(We("outProvinceCount","aCertCount")))+"条记录",1)]),w("span",null,[x[43]||(x[43]=w("em",null,"省内流通 B证",-1)),w("strong",null,[z0(i2(m0(We("inProvinceHeads","bCertHeads"))),1),x[42]||(x[42]=w("b",null,"头",-1))]),w("small",null,i2(m0(We("inProvinceCount","bCertCount")))+"条记录",1)])]),l1(k1(ue),{class:"trade-cert-chart",option:G7.value,autoresize:!0},null,8,["option"])])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card trade-source-card",title:"出栏来源排行",width:k1(r),height:m.value},{default:e0(()=>[w("div",t$,[(G(!0),z(B3,null,H3(B.value,(k,e2)=>(G(),z("div",{key:k.name,class:"trade-dest-row",style:z1({"--trade-ratio":`${k.ratio}%`})},[w("span",null,i2(e2+1),1),w("strong",null,i2(k.name),1),w("em",null,i2(D0(k.headCount))+"头",1)],4))),128)),B.value.length?k3("",!0):(G(),z("div",n$,i2(e3.value?"交易数据读取中":T3.value||"暂无出栏来源数据"),1))])]),_:1},8,["width","height"]),l1(l0,{class:"yak-side-card right-card trade-ledger-card",title:"交易出证台账",width:k1(r),height:h.value},{default:e0(()=>[w("div",a$,[w("div",i$,[w("span",null,"共 "+i2(m0(G2.value))+" 条",1),w("div",null,[he(w("input",{"onUpdate:modelValue":x[4]||(x[4]=k=>B1.value=k),type:"search",placeholder:"货主/车辆/检疫号/地区",onKeyup:xt(Xn,["enter"])},null,544),[[B6,B1.value]]),w("button",{type:"button",onClick:Xn},"搜索"),w("button",{type:"button",class:"is-more",onClick:x[5]||(x[5]=k=>K8())},"查看更多")])]),x[44]||(x[44]=w("div",{class:"trade-ledger-header"},[w("span",null,"货主"),w("span",null,"车牌"),w("span",null,"数量"),w("span",null,"来源"),w("span",null,"用途"),w("span",null,"时间")],-1)),w("div",r$,[(G(!0),z(B3,null,H3(H.value,k=>(G(),z("button",{key:k.certId,type:"button",onClick:e2=>X8(k)},[w("span",null,i2(F0(k.ownerName)),1),w("span",null,i2(F0(k.transportNumber)),1),w("strong",null,i2(m0(k.amount))+"头",1),w("span",null,i2(F0(k.startTown)),1),w("span",null,i2(F0(k.usageTypeName)),1),w("span",null,i2(R0(k.issueTime)),1)],8,o$))),128)),H.value.length?k3("",!0):(G(),z("div",s$,i2(e3.value?"交易台账读取中":T3.value||"暂无交易记录"),1))]),w("div",l$,[w("span",null,"第 "+i2(y1.value)+" / "+i2(S.value)+" 页",1),w("button",{type:"button",disabled:y1.value<=1,onClick:x[6]||(x[6]=k=>H8(y1.value-1))},"上一页",8,u$),w("button",{type:"button",disabled:y1.value>=S.value,onClick:x[7]||(x[7]=k=>H8(y1.value+1))},"下一页",8,c$)])])]),_:1},8,["width","height"])],64)):k3("",!0)])]),w("div",d$,[l1(T7,{"model-value":V2.value,topics:K2,"onUpdate:modelValue":x[8]||(x[8]=k=>V2.value=k)},null,8,["model-value"])])]),l3.value?(G(),z("div",{key:2,class:"epidemic-ledger-modal",onClick:_0(Ln,["self"])},[w("div",f$,[w("div",h$,[w("div",null,[x[45]||(x[45]=w("span",null,"牦牛防疫台账",-1)),w("strong",null,i2(W3.value)+"年 "+i2(m0(j3.value))+" 条记录",1)]),w("button",{type:"button",onClick:Ln},"关闭")]),w("div",m$,[he(w("input",{"onUpdate:modelValue":x[9]||(x[9]=k=>q3.value.keyword=k),type:"search",placeholder:"耳标 / 养殖户 / 药品","aria-label":"耳标 / 养殖户 / 药品",onKeyup:xt(R5,["enter"])},null,544),[[B6,q3.value.keyword]]),he(w("select",{"onUpdate:modelValue":x[10]||(x[10]=k=>q3.value.town=k)},[x[46]||(x[46]=w("option",{value:""},"全部镇/乡",-1)),(G(!0),z(B3,null,H3(r3.value,k=>(G(),z("option",{key:k,value:k},i2(k),9,p$))),128))],512),[[C4,q3.value.town]]),he(w("select",{"onUpdate:modelValue":x[11]||(x[11]=k=>q3.value.medicine=k)},[x[47]||(x[47]=w("option",{value:""},"全部疫苗",-1)),(G(!0),z(B3,null,H3(N3.value,k=>(G(),z("option",{key:k,value:k},i2(k),9,g$))),128))],512),[[C4,q3.value.medicine]]),he(w("input",{"onUpdate:modelValue":x[12]||(x[12]=k=>q3.value.startDate=k),type:"date"},null,512),[[B6,q3.value.startDate]]),he(w("input",{"onUpdate:modelValue":x[13]||(x[13]=k=>q3.value.endDate=k),type:"date"},null,512),[[B6,q3.value.endDate]]),w("button",{type:"button",onClick:R5},"检索"),w("button",{type:"button",class:"is-ghost",onClick:e4},"重置")]),w("div",y$,[w("div",v$,[x[48]||(x[48]=w("div",{class:"epidemic-ledger-table-head"},[w("span",null,"电子耳标"),w("span",null,"养殖户"),w("span",null,"镇/乡"),w("span",null,"村"),w("span",null,"疫苗"),w("span",null,"免疫时间"),w("span",null,"图片")],-1)),(G(!0),z(B3,null,H3($2.value,k=>{var e2,M2;return G(),z("button",{key:k.epidemicId||k.earTag,type:"button",class:r1({active:(((e2=W1.value)==null?void 0:e2.epidemicId)||((M2=W1.value)==null?void 0:M2.earTag))===(k.epidemicId||k.earTag)}),onClick:X=>T9(k)},[w("span",null,i2(F0(k.earTag)),1),w("span",null,i2(F0(k.owner)),1),w("span",null,i2(F0(k.town)),1),w("span",null,i2(F0(k.village)),1),w("strong",null,i2(F0(k.medicine)),1),w("span",null,i2(R0(k.operateTime)),1),w("span",null,i2(E5(k).length?`${E5(k).length}张`:"无"),1)],10,S$)}),128)),$2.value.length?k3("",!0):(G(),z("div",w$,i2(M1.value?"台账读取中":$1.value||"暂无匹配记录"),1))]),w("div",b$,[w("div",T$,[w("div",null,[w("span",null,i2(F0(r2.value.earTag)),1),w("em",null,i2(F0(r2.value.medicine||r2.value.preventionType)),1)]),w("strong",null,i2(E3.value?"加载中":R0(r2.value.operateTime)),1)]),w("div",C$,[(G(!0),z(B3,null,H3(f2.value,k=>(G(),z("span",{key:k.label,class:r1({"is-wide":k.wide})},[w("em",null,i2(k.label),1),w("strong",null,i2(k.value),1)],2))),128))]),p2.value.length?(G(),z("div",A$,[x[49]||(x[49]=w("div",{class:"epidemic-detail-photo-title"},"现场照片",-1)),w("div",_$,[(G(!0),z(B3,null,H3(p2.value.slice(0,6),k=>(G(),z("button",{key:k,type:"button",class:"epidemic-modal-photo-thumb",onClick:_0(e2=>Vr(k),["stop"])},[w("img",{src:J7(k),alt:"防疫照片"},null,8,M$)],8,x$))),128))])])):k3("",!0)])]),w("div",P$,[w("span",null,"第 "+i2(c1.value)+" / "+i2(F.value)+" 页",1),w("button",{type:"button",disabled:c1.value<=1,onClick:x[14]||(x[14]=k=>te(c1.value-1))},"上一页",8,k$),w("button",{type:"button",disabled:c1.value>=F.value,onClick:x[15]||(x[15]=k=>te(c1.value+1))},"下一页",8,E$)])])])):k3("",!0),D3.value?(G(),z("div",{key:3,class:"epidemic-ledger-modal trade-ledger-modal",onClick:_0(vt,["self"])},[w("div",N$,[w("div",R$,[w("div",null,[x[50]||(x[50]=w("span",null,"牦牛交易出证台账",-1)),w("strong",null,i2(H2.value)+"年 "+i2(m0(s1.value))+" 条记录",1)]),w("button",{type:"button",onClick:vt},"关闭")]),w("div",L$,[he(w("input",{"onUpdate:modelValue":x[16]||(x[16]=k=>u3.value.keyword=k),type:"search",placeholder:"货主 / 车辆 / 检疫号 / 地区",onKeyup:xt(q8,["enter"])},null,544),[[B6,u3.value.keyword]]),he(w("select",{"onUpdate:modelValue":x[17]||(x[17]=k=>u3.value.startTown=k)},[x[51]||(x[51]=w("option",{value:""},"全部来源乡镇",-1)),(G(!0),z(B3,null,H3(U2.value,k=>(G(),z("option",{key:k,value:k},i2(k),9,I$))),128))],512),[[C4,u3.value.startTown]]),he(w("select",{"onUpdate:modelValue":x[18]||(x[18]=k=>u3.value.usageType=k)},[x[52]||(x[52]=w("option",{value:""},"全部用途",-1)),(G(!0),z(B3,null,H3(J2.value,k=>(G(),z("option",{key:k,value:k},i2(k),9,F$))),128))],512),[[C4,u3.value.usageType]]),he(w("select",{"onUpdate:modelValue":x[19]||(x[19]=k=>u3.value.certType=k)},[x[53]||(x[53]=w("option",{value:""},"全部证书",-1)),(G(!0),z(B3,null,H3(M3.value,k=>(G(),z("option",{key:k.value,value:k.value},i2(k.label),9,B$))),128))],512),[[C4,u3.value.certType]]),w("button",{type:"button",onClick:q8},"检索"),w("button",{type:"button",class:"is-ghost",onClick:Z7},"重置")]),w("div",D$,[w("div",G$,[x[54]||(x[54]=w("div",{class:"trade-ledger-modal-table-head"},[w("span",null,"货主"),w("span",null,"证书"),w("span",null,"车牌号"),w("span",null,"数量"),w("span",null,"来源"),w("span",null,"用途"),w("span",null,"出证时间"),w("span",null,"状态")],-1)),(G(!0),z(B3,null,H3(e1.value,k=>(G(),z("button",{key:k.certId||k.factoryCode,type:"button",class:r1({active:L2.value===(k.certId||k.factoryCode)}),onClick:e2=>Q8(k)},[w("span",null,i2(F0(k.ownerName)),1),w("span",null,i2(F0(k.certType||k.certScopeName)),1),w("span",null,i2(F0(k.transportNumber)),1),w("strong",null,i2(m0(k.amount))+"头",1),w("span",null,i2(F0(k.startTown)),1),w("span",null,i2(F0(k.usageTypeName)),1),w("span",null,i2(R0(k.issueTime)),1),w("span",null,i2(F0(k.statusName)),1)],10,U$))),128)),e1.value.length?k3("",!0):(G(),z("div",O$,i2(F1.value?"交易台账读取中":s0.value||"暂无匹配记录"),1))]),w("div",j$,[w("div",z$,[w("div",null,[w("span",null,i2(F0(c2.value.factoryCode||c2.value.certId)),1),w("em",null,i2(X7(c2.value)),1)]),w("strong",null,i2(R0(c2.value.issueTime)),1)]),w("div",Y$,[w("span",$$,[x[55]||(x[55]=w("em",null,"货主",-1)),w("strong",null,i2(F0(c2.value.ownerName)),1)]),w("span",null,[x[56]||(x[56]=w("em",null,"联系方式",-1)),w("strong",null,i2(Q7(c2.value.ownerPhone)),1)]),w("span",null,[x[57]||(x[57]=w("em",null,"证书类型",-1)),w("strong",null,i2(X7(c2.value)),1)]),w("span",null,[x[58]||(x[58]=w("em",null,"车牌号",-1)),w("strong",null,i2(F0(c2.value.transportNumber)),1)]),w("span",null,[x[59]||(x[59]=w("em",null,"牦牛数量",-1)),w("strong",null,i2(m0(c2.value.amount))+"头",1)]),w("span",null,[x[60]||(x[60]=w("em",null,"用途",-1)),w("strong",null,i2(F0(c2.value.usageTypeName)),1)]),w("span",null,[x[61]||(x[61]=w("em",null,"来源乡镇",-1)),w("strong",null,i2(F0(c2.value.startTown)),1)]),w("span",null,[x[62]||(x[62]=w("em",null,"目的省份",-1)),w("strong",null,i2(F0(c2.value.destProvince)),1)]),w("span",null,[x[63]||(x[63]=w("em",null,"检疫员",-1)),w("strong",null,i2(F0(c2.value.quarantineOfficerName)),1)]),w("span",W$,[x[64]||(x[64]=w("em",null,"状态",-1)),w("strong",null,i2(F0(c2.value.statusName)),1)]),w("span",V$,[x[65]||(x[65]=w("em",null,"来源地区",-1)),w("strong",null,i2(F0(c2.value.startRegionFullName)),1)]),w("span",H$,[x[66]||(x[66]=w("em",null,"目的地",-1)),w("strong",null,i2(F0(c2.value.destRegionFullName)),1)])]),w("button",{type:"button",class:"trade-detail-locate",disabled:!c2.value.startTown,onClick:x[20]||(x[20]=k=>X8(c2.value))}," 查看乡镇位置 ",8,K$)])]),w("div",q$,[w("span",null,"第 "+i2(S1.value)+" / "+i2(E.value)+" 页",1),w("button",{type:"button",disabled:S1.value<=1,onClick:x[21]||(x[21]=k=>J8(S1.value-1))},"上一页",8,J$),w("button",{type:"button",disabled:S1.value>=E.value,onClick:x[22]||(x[22]=k=>J8(S1.value+1))},"下一页",8,Q$)])])])):k3("",!0),g3.value?(G(),z("div",{key:4,class:"epidemic-image-preview-modal",onClick:_0(Y8,["self"])},[w("div",X$,[w("div",Z$,[w("div",null,[x[67]||(x[67]=w("span",null,"防疫照片",-1)),w("strong",null,i2(F0(r2.value.earTag)),1)]),w("button",{type:"button",onClick:Y8},"关闭")]),w("div",eW,[w("div",tW,[w("img",{src:A1.value,alt:"防疫照片预览"},null,8,nW)])])])])):k3("",!0)]))}},Ig="/jsyApi";function Fg(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function Bg(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");throw n.code=t==null?void 0:t.code,n}return u0(t)}function Er(t,e,n={}){return Xt(Fg(Ig,t),{params:e,timeout:n.timeout||12e3}).then(Bg)}function I7(t,e,n={}){return Xt(Fg(Ig,t),{method:"POST",params:e,timeout:n.timeout||12e3}).then(Bg)}function uW(){return I7("/api/dataItem?group=pastures").then(Y6)}function cW(){return I7("/api/muhu/distribution").then(Y6)}function dW(){return I7("/api/muhu/age").then(Y6)}function fW(){return I7("/api/muhu/upline_rate").then(Y6)}function Y6(t){return Array.isArray(t)?t:Array.isArray(t==null?void 0:t.rows)?t.rows:Array.isArray(t==null?void 0:t.list)?t.list:Array.isArray(t==null?void 0:t.data)?t.data:t!=null&&t.data?Y6(t.data):t!=null&&t.result?Y6(t.result):[]}function hW(t="",e=1,n=80){return Er("/api/home/muhu_list",{query:t,page:e,pageSize:n}).then(Y6)}function hm(t){return I7("/api/home/grasslandByPastureId",{id:t}).then(Y6)}function mW(t={}){return Er("/api/home/grasslandClickInfo",t,{timeout:2e4}).then(e=>(e==null?void 0:e.data)||e||null)}function pW(t){return Er("/api/pasturesDetails",{id:t}).then(e=>(e==null?void 0:e.data)||e||{})}function gW(){return Er("/api/pasturesList").then(Y6)}function yW(){return P3(this,null,function*(){const[t,e,n,a,i,r]=yield Promise.allSettled([uW(),cW(),dW(),fW(),gW(),hW("",1,20)]),o=i.status==="fulfilled"?i.value:[],s=r.status==="fulfilled"?r.value:[],u=gm(s)?s:gm(o)?o:s.length?s:o,m=vW(u,o,s);return{core:t.status==="fulfilled"?t.value:[],distribution:e.status==="fulfilled"?e.value:[],age:n.status==="fulfilled"?n.value:[],online:a.status==="fulfilled"?a.value:[],list:m}})}function vW(t=[],...e){const n=new Map;return e.flat().forEach(a=>{pm(a).forEach(i=>{const r=n.get(i)||{};n.set(i,mm(r,a))})}),(Array.isArray(t)?t:[]).map(a=>{const i=pm(a).map(r=>n.get(r)).find(Boolean);return i?mm(a,i):a})}function mm(t={},e={}){const n=B2({},t);return Object.entries(e||{}).forEach(([a,i])=>{(n[a]===void 0||n[a]===null||n[a]==="")&&(n[a]=i)}),n}function pm(t={}){return[t.id,t.pastureId,t.pasturesId,t.pastures_id,t.muhuId,t.muhu_id,t.name,t.pasturesName,t.pastures_name,t.muhuName,t.muhu_name,t.pastureName,t.pasture_name].map(e=>String(e||"").trim()).filter(Boolean)}function gm(t=[]){return(Array.isArray(t)?t:[]).some(e=>{var i,r,o,s,u,m;const n=(u=(s=(o=(r=(i=e==null?void 0:e.grasslandArea)!=null?i:e==null?void 0:e.grassland_area)!=null?r:e==null?void 0:e.acreage)!=null?o:e==null?void 0:e.area)!=null?s:e==null?void 0:e.areaRange)!=null?u:e==null?void 0:e.area_range;if(typeof n=="number")return n>0;const a=Number((m=String(n!=null?n:"").replace(/,/g,"").match(/-?\d+(?:\.\d+)?/))==null?void 0:m[0]);return Number.isFinite(a)&&a>0})}const SW=(t,e=2)=>{const n=N6(10,e);return Math.round((Number(t)||0)*n)/n},Ll=t=>SW((Number(t)||0)/1e4,2),q5=9110,wW=(t,e,n="number")=>{const a=t.reduce((o,s)=>o+(Number(s[n])||0),0);if(!a||!e)return t.map(o=>Z2(B2({},o),{[n]:0}));const i=t.map(o=>Z2(B2({},o),{[n]:Math.round((Number(o[n])||0)/a*e)})),r=e-i.reduce((o,s)=>o+(Number(s[n])||0),0);if(r&&i.length){const o=i.reduce((s,u,m)=>{var h;return Number(u[n])>Number(((h=i[s])==null?void 0:h[n])||0)?m:s},0);i[o][n]+=r}return i},bW=wW([{areaCode:"513233100",areaName:"邛溪镇",number:1452,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",number:1500,year:2024},{areaCode:"513233103",areaName:"安曲镇",number:76,year:2024},{areaCode:"513233105",areaName:"龙日镇",number:828,year:2024},{areaCode:"513233202",areaName:"江茸乡",number:902,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",number:450,year:2024},{areaCode:"513233204",areaName:"瓦切镇",number:602,year:2024},{areaCode:"513233205",areaName:"阿木乡",number:300,year:2024},{areaCode:"513233207",areaName:"麦洼乡",number:1204,year:2024},{areaCode:"513233208",areaName:"色地镇",number:2638,year:2024}],q5),Dg=[{key:"pasture-total",name:"牧户数量",value:q5,unit:"户",icon:"town"},{key:"avg-yak-per-household",name:"户均牦牛头数",value:52,unit:"头",icon:"stack"},{key:"avg-grassland-area",name:"户均草地面积",value:1131,unit:"亩",icon:"area"},{key:"joint-household-count",name:"联户数量",value:237,unit:"户",icon:"town"},{key:"poverty-monitor-count",name:"防反贫监测户",value:122,unit:"户",icon:"town"},{key:"average-income",name:"人均收入",value:19679,unit:"元/年",icon:"rate"}],ku=Dg,Il=Dg.map(t=>Z2(B2({},t),{zh:t.name,decimals:0})),f8=bW.map(t=>Z2(B2({},t),{key:t.areaCode,name:t.areaName,value:t.number,unit:"户"})),Eu=[{areaCode:"513233105",areaName:"龙日镇",uplineRate:4,year:2024},{areaCode:"513233207",areaName:"麦洼乡",uplineRate:52,year:2024},{areaCode:"513233103",areaName:"安曲镇",uplineRate:22,year:2024},{areaCode:"513233100",areaName:"邛溪镇",uplineRate:23,year:2024},{areaCode:"513233208",areaName:"色地镇",uplineRate:8,year:2024},{areaCode:"513233205",areaName:"阿木乡",uplineRate:12,year:2024},{areaCode:"513233202",areaName:"江茸乡",uplineRate:14,year:2024},{areaCode:"513233203",areaName:"查尔玛乡",uplineRate:18,year:2024},{areaCode:"513233204",areaName:"瓦切镇",uplineRate:16,year:2024},{areaCode:"513233101",areaName:"刷经寺镇",uplineRate:9,year:2024}].map(t=>Z2(B2({},t),{key:t.areaCode,name:t.areaName,value:t.uplineRate,unit:"%",extra:`${t.uplineRate}%`})),Nu=[{areaName:"全县",ageRange:"0-20",sex:"男",number:311,value:311,year:2024},{areaName:"全县",ageRange:"0-20",sex:"女",number:319,value:319,year:2024},{areaName:"全县",ageRange:"21-40",sex:"男",number:1556,value:1556,year:2024},{areaName:"全县",ageRange:"21-40",sex:"女",number:1868,value:1868,year:2024},{areaName:"全县",ageRange:"41-60",sex:"男",number:1868,value:1868,year:2024},{areaName:"全县",ageRange:"41-60",sex:"女",number:1925,value:1925,year:2024},{areaName:"全县",ageRange:"61-80",sex:"男",number:622,value:622,year:2024},{areaName:"全县",ageRange:"61-80",sex:"女",number:531,value:531,year:2024},{areaName:"全县",ageRange:"81-100",sex:"男",number:55,value:55,year:2024},{areaName:"全县",ageRange:"81-100",sex:"女",number:55,value:55,year:2024}],Gg=(t,e,n,a)=>Array.from(t.reduce((i,r)=>{const o=r[e]||"未标注",s=i.get(o)||{key:o,name:o,value:0,unit:a};return s.value+=Number(r[n])||0,i.set(o,s),i},new Map).values()),Ug=Gg(Nu,"ageRange","value","人"),Ru=Gg(Nu,"sex","value","人"),h8=[{name:"更洼尔",areaName:"瓦切镇",acreage:4704.87,summerAcreage:2267.26,winterAcreage:2437.61,year:2024},{name:"涉尔丹",areaName:"麦洼乡",acreage:1426.53,summerAcreage:687.82,winterAcreage:738.71,year:2024},{name:"热布丹",areaName:"查尔玛乡",acreage:2176.09,summerAcreage:1049.37,winterAcreage:1126.72,year:2024},{name:"王西卓玛",areaName:"阿木乡",acreage:4126.13,summerAcreage:1989.59,winterAcreage:2136.54,year:2024},{name:"阿尔",areaName:"色地镇",acreage:1249.48,summerAcreage:602.25,winterAcreage:647.23,year:2024},{name:"尕让吉",areaName:"邛溪镇",acreage:3688.72,summerAcreage:1778.56,winterAcreage:1910.16,year:2024},{name:"华尔甲",areaName:"安曲镇",acreage:2956.44,summerAcreage:1425.01,winterAcreage:1531.43,year:2024},{name:"泽让措",areaName:"江茸乡",acreage:3448.36,summerAcreage:1662.61,winterAcreage:1785.75,year:2024},{name:"扎西让布",areaName:"龙日镇",acreage:2689.1,summerAcreage:1296.15,winterAcreage:1392.95,year:2024},{name:"格桑卓玛",areaName:"刷经寺镇",acreage:3187.64,summerAcreage:1536.84,winterAcreage:1650.8,year:2024}].map(t=>Z2(B2({},t),{township:t.areaName,grasslandArea:t.acreage,value:t.acreage,unit:"亩",canLocate:!1,locateText:"--",searchText:`${t.name} ${t.areaName}`})),TW=A7.map(t=>({key:t.zoneName,name:t.zoneName,value:Ll(t.grasslandArea),unit:"万亩",extra:"草场资源"}));Array.from(h8.reduce((t,e)=>{const n=e.township||"未填写",a=t.get(n)||{key:`${n}-season`,name:n,values:{summer:0,winter:0}};return a.values.summer+=Number(e.summerAcreage)||0,a.values.winter+=Number(e.winterAcreage)||0,t.set(n,a),t},new Map).values()).map(t=>Z2(B2({},t),{values:{summer:Ll(t.values.summer),winter:Ll(t.values.winter)},unit:"万亩"}));const CW=f8.map(t=>({name:t.name,value:t.value,unit:"户"})),$s={topStats:Il,coreRows:ku,townRows:f8,ageRows:Nu,genderRows:Ru,onlineRows:Eu,list:h8};const AW={class:"pasture-management"},_W={key:0,class:"pasture-map-loading"},xW={class:"pasture-management-ui"},MW={class:"pasture-left"},PW={class:"pasture-side-stack is-left"},kW={class:"pasture-video-monitor"},EW=["disabled"],NW=["onClick"],RW={key:1,class:"pasture-video-play"},LW={key:2,class:"pasture-video-loading"},IW={key:3,class:"pasture-video-error"},FW={class:"pasture-video-point-name"},BW=["disabled"],DW={class:"pasture-right"},GW={class:"pasture-side-stack is-right"},UW={class:"pasture-map-layer-tools"},Ws="pasture-grassland-boundary",ym="pasture-yak-marks-layer",OW=12e3,jW="https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png",B4="#FFE35A",zW={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Vt.sideCardWidth;Vt.sideCardGap;const o=Q2(typeof window=="undefined"?1080:window.innerHeight),s=s2(()=>_8(o.value)),u=s2(()=>n9(s.value,2)),m=Q2(null),h=Q2(!1),p=Q2(0);let g=0;const C=Q2(null),I=Q2(!1),U=Q2(!1),j=Q2(null),l2=Q2($s),v2=Q2(h8),S2=Q2([Ws,ym]),T2=Q2(""),C2=["牧户数量","户均牦牛头数","户均草地面积","联户数量"],j2=["#30dcff","#24f6c4","#8bf7ff","#48cfff","#16b6e8","#b9fbff","#67ffe4"],K2=`pasture-video-player-${Math.random().toString(36).slice(2)}`,V2=[102.58,32.72],s3=d("ne:t_pasture_grassland",B4),m3={key:ym,sourceType:"wmts",layerName:"ne:daping_yak_marks",style:"ne:yak_marks",styles:"ne:yak_marks",format:"image/png",tileMatrixSetID:"EPSG:900913",maximumLevel:21,url:"/geoserver/gwc/service/wmts",name:"牦牛识别标记",color:"#FFCB45",fillColor:"rgba(255, 203, 69, 0)",strokeColor:"#FFCB45",glowColor:"rgba(255, 203, 69, 0.28)",opacity:.96,lineWidth:1.4,zIndex:46,legends:[{key:"pasture-yak-marks",name:"牦牛识别",fillColor:"#FFCB45",strokeColor:"#FFF4B8",selectable:!1}]},p3={key:"pasture-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"牧场监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:qi,playUrl:"",hdPlayUrl:"",token:""},U3=Q2(null),b3=Q2([]),Y3=Q2(0),o3=Q2(!1),n1=Q2(!1),b1=Q2("");let W3=!1,R1=0,D1=null,Y1=null,h3=!1,x3=0,L3=null,h1=0;const C1={"4028abc18eecd2af018eecdc44b7086b":"瓦切镇","402881828b486d54018b48741f590270":"查尔玛乡","402881828b486d54018b48740ed7024a":"麦洼乡","402881828b486d54018b48732e1c0044":"安曲镇","4028abc18eec9b97018eeca1538900db":"瓦切镇","402881828b486d54018b48740fb1024c":"安曲镇"},_1={尼尕尔让:"瓦切镇",更迫尕:"查尔玛乡",王西卓玛:"麦洼乡",扎花克周:"安曲镇",恰波:"瓦切镇",热布丹:"安曲镇",求甲:"阿木乡",罗尔旦:"阿木乡",扎尔江:"阿木乡",达尔基:"阿木乡",尼科:"瓦切镇",班洛:"阿木乡",拉木共:"阿木乡",尕尔玛:"瓦切镇",尕尔丹:"安曲镇",泽旺甲:"瓦切镇",阿尕:"安曲镇",陈理:"瓦切镇",贡秋卓玛:"阿木乡",更多:"瓦切镇",阿泽:"瓦切镇",达勒错:"色地镇",泽朗罗日:"安曲镇",仁青:"瓦切镇",贡多:"阿木乡",泽周:"刷经寺镇",泽科:"瓦切镇",扎巴:"阿木乡",泽真:"瓦切镇",索拉姐:"瓦切镇",尕让罗周:"瓦切镇",尕让拉姆:"瓦切镇",更让尼玛:"阿木乡",向秋卓玛:"瓦切镇",东科:"阿木乡",扑瓦甲:"阿木乡"},o1=m2(nM),l3=s2(()=>[{key:Ws,sourceType:"wms",renderMode:"tile",layerName:"ne:t_pasture_grassland",name:"草场边界",styles:"",cqlFilter:"gov_show = true",sldBody:s3,color:B4,fillColor:"rgba(255, 227, 90, 0.08)",strokeColor:B4,glowColor:"rgba(255, 227, 90, 0.28)",zIndex:35,opacity:.86,queryBuffer:8,mapView:{targetLngLat:V2,distanceScale:.82,targetLocalZ:.76,duration:.85},legends:[{key:"pasture-grassland-boundary",name:"草场边界",fillColor:B4,strokeColor:B4,selectable:!1}]},m3]),$2=s2(()=>Array.isArray(S2.value)?S2.value.map(String).filter(Boolean):S2.value?[String(S2.value)]:[]),j3=s2(()=>{const B=new Set($2.value);return l3.value.filter(H=>B.has(H.key))}),c1=s2(()=>j3.value[0]||null),M1=s2(()=>j3.value.flatMap(B=>B.legends||[]).find(B=>B.key===T2.value)||null),$1=s2(()=>j3.value.flatMap(B=>B.legends||[]));function W1(B){var S;return B?!(B.legends||[]).some(E=>{var c2;return E.key===((c2=M1.value)==null?void 0:c2.key)})||!((S=M1.value)!=null&&S.cqlFilter)?B:Z2(B2({},B),{cqlFilter:M1.value.cqlFilter,activeLegend:M1.value,name:M1.value.name||B.name}):null}const P=s2(()=>j3.value.map(W1).filter(Boolean)),E3=s2(()=>P.value[0]||null),g3=s2(()=>!!j.value),A1=s2(()=>{if(U.value||I.value||!C.value)return 186;const B=Le(C.value);return Math.min(500,Math.max(320,86+Math.min(B,13)*34))}),q3=s2(()=>{if(!j.value)return{};const B=460,H=A1.value,S=24,E=ft(j.value),c2=E.x>1420?-B-28:28,L2=Math.min(Math.max(E.x+c2,S),1920-B-S),U2=Math.min(Math.max(E.y-H-72,188),1080-H-132);return{left:`${L2}px`,top:`${U2}px`,right:"auto",bottom:"auto"}}),O3=s2(()=>a2(l2.value.core).length?a2(l2.value.core):ku),g1=s2(()=>G0(Y(l2.value.distribution).length?Y(l2.value.distribution):f8,q5)),H1=s2(()=>{const B=k2(l2.value.online);return y2(B.length?B:Eu)}),G2=s2(()=>G0(d2(l2.value.age).length?d2(l2.value.age):Ug,q5)),H2=s2(()=>G0(F2(l2.value.age).length?F2(l2.value.age):Ru,q5)),e3=s2(()=>o2(TW));s2(()=>({title:"牧户分布排行",metricLabel:"牧户",unit:"户",hideMapLabels:!1,hideTownNames:!1,showBars:!1,showPointMarkers:!1,showMissingTownStats:!1,rows:(g1.value.length?g1.value:CW).map(B=>{const H=Number(B.value);return!B.name||!Number.isFinite(H)||H<=0?null:{name:B.name,value:H,unit:B.unit||"户"}}).filter(Boolean)})),s2(()=>({key:"pasture-town",type:"bar",variant:"distribution",rows:g1.value})),s2(()=>({key:"pasture-grassland-area",type:"heat",rows:e3.value}));const T3=s2(()=>({key:"pasture-household-column",type:"column",variant:"plain",scrollable:!1,rows:s0(g1.value).slice(0,10).map((B,H)=>Z2(B2({},B),{unit:B.unit||"户",color:j2[H%j2.length]}))})),y1=s2(()=>({key:"pasture-grassland-column",type:"bar",variant:"raceBar",rows:e3.value.map((B,H)=>Z2(B2({},B),{unit:B.unit||"万亩",color:j2[(H+1)%j2.length]}))})),B1=s2(()=>({key:"pasture-online",type:"line",rows:H1.value})),G1=s2(()=>({key:"pasture-age",type:"column",variant:"plain",lineOverlay:!0,labelMode:"horizontal",scrollable:!1,rows:G2.value})),D3=s2(()=>({key:"pasture-gender",type:"donut",rows:H2.value})),e1=s2(()=>({key:"pasture-herdsman-list",type:"projectTable",searchPlaceholder:"搜索牧户 / 乡镇",emptyText:"无匹配牧户",maxRows:300,searchKeys:["name","herdsmanName","herdsman_name","phone","phonenumber","idCard","id_card","township","id","grasslandArea","searchText"],columns:[{key:"name",label:"牧户名称",field:"name",width:"42%"},{key:"township",label:"区域",field:"township",width:"36%"},{key:"locate",label:"定位",field:"locateText",width:"22%",align:"center",fallback:"定位",icon:"locate"}],rows:v2.value})),s1=s2(()=>{const B=b3.value.length;return B?Y3.value%B:0}),S1=s2(()=>b3.value[s1.value]||p3),F1=s2(()=>x1(b3.value,s1.value,p3));function s0(B=[]){return(Array.isArray(B)?B:[]).map((H,S)=>{var E,c2,L2;return Z2(B2({},H),{key:H.key||H.code||H.name||`${S}`,name:H.name||H.areaName||H.area_name||H.townName||"未标注",value:Number((L2=(c2=(E=H.value)!=null?E:H.number)!=null?c2:H.count)!=null?L2:H.num)||0,unit:H.unit||""})}).filter(H=>H.name&&Number.isFinite(H.value)&&H.value>=0)}function G0(B=[],H=q5){const S=Array.isArray(B)?B:[],E=S.reduce((U2,J2)=>U2+(Number(J2.value)||0),0);if(!S.length||!E||!H||E===H)return S;const c2=S.map(U2=>Z2(B2({},U2),{value:Math.round((Number(U2.value)||0)/E*H)})),L2=H-c2.reduce((U2,J2)=>U2+(Number(J2.value)||0),0);if(L2&&c2.length){const U2=c2.reduce((J2,M3,u1)=>{var V;return Number(M3.value)>Number(((V=c2[J2])==null?void 0:V.value)||0)?u1:J2},0);c2[U2].value+=L2}return c2}function u3(){o.value=typeof window=="undefined"?1080:window.innerHeight}mn(()=>{u3(),window.addEventListener("resize",u3),_(),Oe(),d0(),z3()}),hn(()=>{W3=!0,window.removeEventListener("resize",u3),_2(),D1&&window.clearTimeout(D1),R1+=1}),N0(()=>a.active,B=>{var H,S;B||_2({resetError:!0}),m.value&&(B?(O(),(S=(H=m.value).refreshView)==null||S.call(H)):(D1&&window.clearTimeout(D1),D1=null,R1+=1))});function z3(){return P3(this,null,function*(){try{const B=yield gp();if(W3)return;b3.value=B,Y3.value=0,b1.value=B.length?"":"暂无在线可播放摄像头"}catch(B){if(W3)return;b3.value=[],b1.value="监控接口暂不可用",window.setTimeout(()=>{!W3&&b1.value==="监控接口暂不可用"&&(b1.value="")},2400)}})}function V3(B,H){H!=null&&H.isActive&&(U3.value=B||null)}function x1(B=[],H=0,S=p3){const E=Array.isArray(B)?B:[];if(!E.length)return[{key:`empty-${S.key||"video"}`,index:0,live:S,isActive:!0}];const c2=Math.min(2,E.length);return Array.from({length:c2},(L2,U2)=>{const J2=(H+U2+E.length)%E.length,M3=E[J2]||S;return{key:`${M3.key||M3.title||"video"}-${J2}`,index:J2,live:M3,isActive:J2===H}})}function S3(B,H=!0){const S=(B==null?void 0:B.image)||qi;return o3.value&&H?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${S})`}}function y3(){G3(-1)}function D2(){G3(1)}function G3(B){const H=b3.value.length;H&&(_2({resetError:!0}),Y3.value=(s1.value+B+H)%H)}function i3(B){const H=b3.value.length;if(!H){L1();return}const S=((Number(B)||0)+H)%H;(S!==s1.value||Y1||n1.value)&&_2({resetError:!0}),Y3.value=S,O0(L1)}function L1(){return P3(this,null,function*(){var E,c2;const B=S1.value;if(!(B!=null&&B.hdPlayUrl)||!(B!=null&&B.token)){b1.value="暂无在线可播放摄像头";return}if(o3.value||n1.value)return;Y1&&_2({resetError:!0}),b1.value="",n1.value=!0,yield O0();const H=++x3;let S=null;n3(H);try{const L2=(c2=(E=U3.value)==null?void 0:E.getBoundingClientRect)==null?void 0:c2.call(E),U2=Math.max(300,Math.floor((L2==null?void 0:L2.width)||340)),J2=Math.max(80,Math.floor((L2==null?void 0:L2.height)||120));if(S=new Vm.EZUIKitPlayer({id:K2,accessToken:B.token,url:B.hdPlayUrl,audio:0,width:U2,height:J2,themeData:t1(),handleError(M3){H===x3&&(I3(),console.warn("Pasture EZUIKit player error",M3),b1.value="视频加载失败",n1.value=!1,o3.value=!1,x3+=1,Y1=null,h3=!1,Z3())},handleSuccess(){H===x3&&(I3(),b1.value="",h3=!0,n1.value=!1)},fullScreenChangeCallBack(){}}),H!==x3){F3(S),Z3();return}Y1=S,o3.value=!0}catch(L2){I3(),console.warn("Pasture EZUIKit init error",L2),b1.value="视频加载失败",_2()}})}function _2(B={}){const{clearElement:H=!0,resetError:S=!1}=B;I3();const E=Y1;Y1=null,h3=!1,x3+=1,E&&F3(E),H&&Z3(),o3.value=!1,n1.value=!1,S&&(b1.value="")}function n3(B){I3(),L3=window.setTimeout(()=>{B!==x3||!n1.value||(b1.value="视频加载超时",_2({resetError:!1}))},OW)}function I3(){L3&&(window.clearTimeout(L3),L3=null)}function F3(B){if(!(!B||typeof B.stop!="function"))try{const H=B.stop();H&&typeof H.catch=="function"&&H.catch(()=>{})}catch(H){console.warn("Pasture EZUIKit stop error",H)}}function Z3(){if(typeof document=="undefined")return;const B=document.getElementById(K2);B&&B.replaceChildren()}function t1(){return{header:{color:"#30dcff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#30dcff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:1},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"expend",part:"right",defaultActive:0,memo:"全局全屏按钮",isrender:1}]}}}function d0(){return P3(this,null,function*(){try{const B=yield yW();if(W3)return;l2.value=B2(B2({},$s),B),_();const H=n2(B.list);v2.value=H.length?H:T(h8),K1(v2.value)}catch(B){l2.value=$s,v2.value=T(h8)}})}function K1(B=v2.value,H=600){W3||!a.active||(D1&&window.clearTimeout(D1),D1=window.setTimeout(()=>{D1=null,!(W3||!a.active)&&c0(B)},H))}function c0(){return P3(this,arguments,function*(B=[]){const H=++R1,S=(Array.isArray(B)?B:[]).filter(oe).slice(0,60);if(!S.length)return;const E=yield ct(S,5,L2=>P3(this,null,function*(){const U2=f3(L2),J2=w3(L2);let M3=J2,u1=null,V=w1(L2,J2)||N1(L2,L2.name,U2);try{U2&&(!V||!M3.length)&&(M3=Ue(yield hm(U2)))}catch(I2){M3=J2}if(V=V||w1(L2,M3)||N1(L2,L2.name,U2),!V){try{u1=U2?yield pW(U2):null}catch(u2){u1=null}const I2=w3(u1);V=$e(u1)||w1(u1,I2),I2.length&&!M3.length&&(M3=I2)}V=V||N1(L2,L2.name,U2);const w2=!!(U2||M3.some(v3)||v3(L2));if(!V&&!M3.length&&w2===L2.canLocate)return null;const E2={key:L2.key,id:L2.id,realPastureId:U2,name:L2.name,township:V||L2.township,grasslands:M3.length?M3:L2.grasslands,canLocate:w2,locateText:w2?"定位":"--"};return A0(E2,H),E2}));if(W3||H!==R1)return;const c2=new Map;E.filter(Boolean).forEach(L2=>{[L2.key,L2.id,L2.realPastureId,L2.name].filter(Boolean).forEach(U2=>{c2.set(String(U2),L2)})}),c2.size&&Q0(c2)})}function oe(B={}){const H=String((B==null?void 0:B.township)||"").trim();return H&&H!=="--"?!1:Y2(B)>0||v1(B)}function A0(B,H=R1){if(!B||W3||H!==R1)return;const S=new Map;[B.key,B.id,B.realPastureId,B.name].filter(Boolean).forEach(E=>{S.set(String(E),B)}),Q0(S)}function Q0(B){B!=null&&B.size&&(v2.value=v2.value.map(H=>{const S=[H.key,H.id,H.realPastureId,H.name].filter(Boolean).map(c2=>B.get(String(c2))).find(Boolean);if(!S)return H;const E=S.township&&S.township!=="--"?S.township:H.township;return Z2(B2({},H),{township:E,grasslands:S.grasslands,canLocate:S.canLocate,locateText:S.locateText,searchText:[H.name,E,H.id].filter(Boolean).join(" ")})}))}function Ue(B=[]){const H=[];return(Array.isArray(B)?B:[]).forEach(S=>{const E=w3(S);E.length?H.push(...E):S&&typeof S=="object"&&H.push(S)}),H}function $e(B){const H=Array.isArray(B)?B:Array.isArray(B==null?void 0:B.rows)?B.rows:Array.isArray(B==null?void 0:B.list)?B.list:Array.isArray(B==null?void 0:B.data)?B.data:[B];for(const S of H.filter(Boolean)){const E=Array.isArray(S==null?void 0:S.fields)?S.fields:Array.isArray(S==null?void 0:S.children)?S.children:[],c2=a1(S,["township","townName","town_name","areaName","area_name","fullName","full_name","address","牧场所在区域"]);if(c2)return T1(f0(c2));for(const U2 of E){const J2=String((U2==null?void 0:U2.name)||(U2==null?void 0:U2.label)||(U2==null?void 0:U2.title)||"").trim(),M3=a1(U2,["value","text","content"]);if(M3&&/区域|地址|乡镇/.test(J2))return T1(f0(M3))}const L2=Object.entries(S||{}).filter(([U2])=>/fullName|full_name|address|areaName|area_name|town/i.test(U2)).map(([,U2])=>U2);for(const U2 of L2)if(U2)return T1(f0(U2))}return""}function f0(B){const H=String(B||"").trim();if(!H||H==="--")return"";const S=H.match(/([\u4e00-\u9fa5]{1,12}(?:镇|乡))/);return(S==null?void 0:S[1])||H}function ct(B,H,S){return P3(this,null,function*(){const E=new Array(B.length);let c2=0;const L2=Array.from({length:Math.min(H,B.length)},()=>P3(this,null,function*(){for(;c2S!=null&&S!=="").length)}function ht(B={},H={}){return{id:B.id,properties:B,feature:{type:"Feature",properties:B,geometry:null},layer:E3.value||c1.value,lngLat:H.lngLat}}function tt(){C.value=null,j.value=null,I.value=!1,U.value=!1}function O(){h1+=1,tt()}function N(){var B,H;g+=1,(H=(B=m.value)==null?void 0:B.clearPastureFocus)==null||H.call(B)}function d(B,H){return`${B}${B}${H}0.05${H}1.10.92`}function f(){return P3(this,arguments,function*(B={}){var c2,L2;if(!dt(B.overlayLayer||E3.value))return;const H=Number((c2=B==null?void 0:B.lngLat)==null?void 0:c2.lng),S=Number((L2=B==null?void 0:B.lngLat)==null?void 0:L2.lat);if(!Number.isFinite(H)||!Number.isFinite(S))return;const E=++h1;j.value=B.screen||{x:960,y:540},C.value=null,I.value=!1,U.value=!0;try{const U2=yield mW({lng:H,lat:S});if(E!==h1)return;if(!(U2!=null&&U2.id)){tt();return}C.value=ht(U2,B),I.value=!1}catch(U2){if(E!==h1)return;tt()}finally{E===h1&&(U.value=!1)}})}function y(){var B,H;O(),(H=(B=m.value)==null?void 0:B.refreshView)==null||H.call(B)}function b(){var B,H,S,E;if(O(),(H=(B=m.value)==null?void 0:B.hasMap)!=null&&H.call(B)){h.value=!0,(E=(S=m.value)==null?void 0:S.resetView)==null||E.call(S);return}h.value=!1,p.value+=1,O0(()=>{window.setTimeout(()=>{var c2,L2;(L2=(c2=m.value)==null?void 0:c2.refreshView)==null||L2.call(c2)},160)})}e({refreshMapView:y,resetMap:b});function _(){i("module-stats",{moduleKey:"pasture-management",items:M().map(B=>({zh:B.name,name:B.name,value:B.value,unit:B.unit,decimals:Number.isInteger(Number(B.value))?0:2}))})}function M(){const B=new Map;(Array.isArray(O3.value)?O3.value:[]).forEach(S=>{!(S!=null&&S.name)||J(S.name)||B.set(S.name,S)});const H=B.get("牧户数量")||Il.find(S=>S.name==="牧户数量"||S.zh==="牧户数量");return B.set("牧户数量",Z2(B2({},H),{name:"牧户数量",value:q5,unit:(H==null?void 0:H.unit)||"户"})),C2.map(S=>B.get(S)||Il.find(E=>E.name===S||E.zh===S)).filter(Boolean).slice(0,4)}function a2(B=[]){return(Array.isArray(B)?B:[]).map((H,S)=>{const E=H.key||H.id||H.code||H.name||H.zh||`${S}`,c2=H.name||H.title||H.label||H.zh,L2=Z(c2,E),U2=a1(H,["value","num","count","dataValue"]);if(!L2||U2===void 0||U2===null||U2==="")return null;const J2=t2(L2,U2,H.unit||H.dw||"");return{key:E,name:J2.name,value:J2.value,unit:J2.unit,icon:H.icon||["town","area","yield","rate"][S%4]}}).filter(Boolean)}function Z(B,H){const S=String(B||H||""),E=String(H||"").toLowerCase();return/avg.*yak|yak.*avg|yak.*household|yak.*per|hjyak/.test(E)||/户均.*牦牛|牦牛.*户均/.test(S)?"户均牦牛头数":/avg.*grass|grass.*avg|grass.*household|grass.*per/.test(E)||/户均.*草地|草地.*户均/.test(S)?"户均草地面积":/income|revenue|人均收入/.test(E)||S.includes("人均收入")?"人均收入":/poverty|monitor|防反贫|监测户/.test(E)||S.includes("防反贫")||S.includes("监测户")?"防反贫监测户":/joint|union|link|联户/.test(E)||S.includes("联户")?"联户数量":/herdsman|muhu|pasture.*count|牧户数量/.test(E)||S.includes("牧户数量")?"牧户数量":/yak/.test(E)||S.includes("牦牛")?null:/grass/.test(E)||S.includes("草地面积")?"草地面积":/wet/.test(E)||S.includes("湿地")?"湿地面积":S.includes("牧户")||S.includes("牧场")?"牧户数量":/project/.test(E)||S.includes("工程")||S.includes("项目")?"工程数量":/base/.test(E)||S.includes("基地")?"基地数量":S}function t2(B,H,S){const E=Number(H)||0;return B==="户均牦牛头数"?{name:B,value:E,unit:S||"头"}:B==="户均草地面积"?{name:B,value:E,unit:S||"亩"}:B==="人均收入"?{name:B,value:E,unit:S||"元/年"}:B==="联户数量"||B==="防反贫监测户"?{name:B,value:E,unit:S||"户"}:(B.includes("草地")||B.includes("湿地"))&&!String(S).includes("万")?{name:B,value:Math.round(E/1e4*100)/100,unit:"万亩"}:B.includes("牧户")?{name:B,value:E,unit:S||"户"}:B.includes("工程")||B.includes("项目")||B.includes("基地")?{name:B,value:E,unit:S||"个"}:{name:B,value:E,unit:S}}function J(B){return B==="草地面积"||B==="湿地面积"||B==="区域数量"||B==="牦牛数量"}function Y(B=[]){return(Array.isArray(B)?B:[]).map(H=>{const S=a1(H,["areaName","area_name","name","townName","zoneName"]),E=a1(H,["number","value","count","num","pastureCount","muhuCount","muhu_count"]);return!S||E===void 0||E===null||E===""?null:{key:H.code||H.areaCode||H.area_code||S,name:S,value:Number(E)||0,unit:"户"}}).filter(Boolean).sort((H,S)=>S.value-H.value)}function k2(B=[]){return(Array.isArray(B)?B:[]).map(H=>{const S=a1(H,["areaName","area_name","name","townName","zoneName"]),E=Number(a1(H,["registeredMuhuCount","registered_muhu_count","registeredCount"])),c2=Number(a1(H,["muhuCount","muhu_count","onlineCount"])),L2=a1(H,["onlinePercent","uplineRate","upline_rate","onlineRate","value","percent","rate"]),U2=L2!=null&&L2!==""?L2:E>0?c2/E*100:void 0;return!S||U2===void 0||U2===null||U2===""?null:{key:H.code||H.areaCode||H.area_code||S,name:S,value:Number(String(U2).replace("%",""))||0,unit:"%",extra:Number.isFinite(c2)&&Number.isFinite(E)&&E>0?`${c2}/${E}户`:H.extra}}).filter(Boolean)}function y2(B=[]){const H=new Map;return(Array.isArray(B)?B:[]).forEach(S=>{const E=String((S==null?void 0:S.key)||(S==null?void 0:S.code)||(S==null?void 0:S.areaCode)||(S==null?void 0:S.area_code)||"").trim(),c2=T1((S==null?void 0:S.name)||(S==null?void 0:S.areaName)||(S==null?void 0:S.area_name)||(S==null?void 0:S.townName)||(S==null?void 0:S.zoneName));[E,c2].filter(Boolean).forEach(L2=>H.set(L2,S))}),f8.map(S=>{const E=H.get(String(S.key||""))||H.get(S.name);return E?Z2(B2({},E),{key:S.key,name:S.name,unit:E.unit||"%"}):{key:S.key,name:S.name,value:0,unit:"%",extra:"--"}})}function o2(B=[]){const H=new Map;return(Array.isArray(B)?B:[]).forEach(S=>{const E=String((S==null?void 0:S.key)||(S==null?void 0:S.code)||(S==null?void 0:S.areaCode)||(S==null?void 0:S.area_code)||"").trim(),c2=T1((S==null?void 0:S.name)||(S==null?void 0:S.areaName)||(S==null?void 0:S.area_name)||(S==null?void 0:S.townName)||(S==null?void 0:S.zoneName)||(S==null?void 0:S.township));[E,c2].filter(Boolean).forEach(L2=>H.set(L2,S))}),f8.map(S=>{const E=H.get(String(S.key||""))||H.get(S.name);return{key:S.key,name:S.name,value:Number(E==null?void 0:E.value)||0,unit:(E==null?void 0:E.unit)||"万亩"}}).sort((S,E)=>E.value-S.value)}function d2(B=[]){const H=new Map;return(Array.isArray(B)?B:[]).forEach(S=>{const E=a1(S,["ageRange","age_range","age","name","label"]),c2=a1(S,["number","value","count","num"]);!E||c2===void 0||c2===null||c2===""||H.set(E,(H.get(E)||0)+(Number(c2)||0))}),Array.from(H.entries()).map(([S,E])=>({key:S,name:S,value:E,unit:"人"}))}function F2(B=[]){const H=new Map;return(Array.isArray(B)?B:[]).forEach(S=>{const E=a1(S,["sex","gender","name"]),c2=a1(S,["number","value","count","num"]);if(!E||c2===void 0||c2===null||c2==="")return;const L2=String(E).includes("女")?"女":String(E).includes("男")?"男":E;H.set(L2,(H.get(L2)||0)+(Number(c2)||0))}),Array.from(H.entries()).map(([S,E])=>({key:S,name:S,value:E,unit:"人"}))}function n2(B=[]){return(Array.isArray(B)?B:[]).map((H,S)=>{const E=a1(H,["name","pasturesName","pastures_name","muhuName","muhu_name","pastureName","pasture_name","herdsmanName"]);if(!E)return null;const c2=w3(H),L2=Y2(H)||W2(c2),U2=N2(H,c2),J2=f3(H),M3=w1(H,c2)||N1(H,E,J2),u1=D(H),V=Z2(B2({},H),{key:H.key||H.id||H.pasturesId||H.pastures_id||`${E}-${S}`,id:J2||H.id||H.pastureId||H.pasturesId||H.pastures_id||H.muhuId||H.key,realPastureId:J2,name:E,pastureSortOrder:u1,township:M3||"--",grasslandArea:L2,acreage:L2,grasslandCount:U2,hasGrasslandBoundary:U2>0,grasslands:c2});return V.canLocate=!!(J2||c2.some(v3)||v3(H)),V.locateText=V.canLocate?"定位":"--",V.value=V.grasslandArea,V.unit="亩",V.searchText=[V.name,V.herdsmanName,V.herdsman_name,V.phone,V.phonenumber,V.idCard,V.id_card,V.township,V.id].filter(Boolean).join(" "),V}).filter(Boolean).sort(W)}function T(B=[]){return[...Array.isArray(B)?B:[]].map(H=>Z2(B2({},H),{pastureSortOrder:D(H),grasslandArea:Y2(H),acreage:Y2(H)})).sort(W)}function D(B={}){const H=a1(B,["pastureSortOrder","pasture_sort_order","pastureOrder","pasture_order","muhuSortOrder","muhu_sort_order","sortOrder","sort_order"]);if(H==null||H==="")return null;const S=Number(String(H).replace(/,/g,"").trim());return Number.isFinite(S)?S:null}function W(B,H){const S=D(B),E=D(H);if(S!==null||E!==null)return S===null?1:E===null?-1:S!==E?S-E:String((B==null?void 0:B.name)||"").localeCompare(String((H==null?void 0:H.name)||""),"zh-CN");const c2=x2(B)?1:0,L2=x2(H)?1:0;if(c2!==L2)return L2-c2;const U2=N2(B),J2=N2(H);if(U2!==J2)return J2-U2;const M3=Y2(B),u1=Y2(H),V=M3>0?1:0,w2=u1>0?1:0;if(V!==w2)return w2-V;const E2=v1(B)?1:0,I2=v1(H)?1:0;return E2!==I2?I2-E2:M3!==u1?u1-M3:String((B==null?void 0:B.name)||"").localeCompare(String((H==null?void 0:H.name)||""),"zh-CN")}function x2(B={}){const H=a1(B,["hasGrasslandBoundary","has_grassland_boundary","hasBoundary","has_boundary"]);return H===!0||H===1||H==="1"||typeof H=="string"&&["true","yes","y"].includes(H.trim().toLowerCase())?!0:N2(B)>0}function N2(B={},H=B==null?void 0:B.grasslands){const S=["grasslandCount","grassland_count","grasslandsCount","grasslands_count","grasslandBoundaryCount","grassland_boundary_count","boundaryCount","boundary_count"];for(const E of S){const c2=Number(B==null?void 0:B[E]);if(Number.isFinite(c2)&&c2>0)return c2}return Array.isArray(H)?H.length:0}function Y2(B={}){const S=["acreage","grasslandArea","grassland_area","area","areaRange","area_range","cdAcreage","cd_acreage","totalAcreage","total_acreage","grasslandAcreage","grassland_acreage","pastureArea","pasture_area"].map(c2=>a3(B==null?void 0:B[c2]));return S.find(c2=>c2>0)||S.find(c2=>c2===0)||0}function W2(B=[]){return(Array.isArray(B)?B:[]).reduce((H,S)=>H+Y2(S),0)}function a3(B){if(typeof B=="number")return Number.isFinite(B)?B:0;const H=String(B!=null?B:"").trim();if(!H||H==="--")return 0;const S=H.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!S)return 0;const E=Number(S[0]);return Number.isFinite(E)?H.includes("万")?E*1e4:E:0}function w3(B={}){const H=[];["grasslands","grasslandList","grasslandRows","landList","plots","features"].forEach(c2=>{const L2=B==null?void 0:B[c2];Array.isArray(L2)?H.push(...L2):Array.isArray(L2==null?void 0:L2.rows)?H.push(...L2.rows):Array.isArray(L2==null?void 0:L2.list)?H.push(...L2.list):Array.isArray(L2==null?void 0:L2.data)&&H.push(...L2.data)});const E=a1(B,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"]);return(E||B!=null&&B.geometry)&&H.push(Z2(B2({},B),{id:(B==null?void 0:B.grasslandId)||(B==null?void 0:B.gid)||(B==null?void 0:B.id),pastureId:(B==null?void 0:B.pastureId)||(B==null?void 0:B.pasturesId)||(B==null?void 0:B.pastures_id)||(B==null?void 0:B.muhuId)||(B==null?void 0:B.id),name:(B==null?void 0:B.grasslandName)||(B==null?void 0:B.name),wkt:E,geometry:B==null?void 0:B.geometry})),H.filter(Boolean)}function v3(B={}){var H,S;return typeof B=="string"?!!B.trim():(B==null?void 0:B.type)==="Feature"||B!=null&&B.type&&(B!=null&&B.coordinates)||(H=B==null?void 0:B.geometry)!=null&&H.type||(S=B==null?void 0:B.geometry)!=null&&S.coordinates||typeof(B==null?void 0:B.geometry)=="string"?!0:!!a1(B,["wkt","geo","geom","geometryWkt","geometry_wkt","shape","location"])}function f3(B={}){const H=(B==null?void 0:B.realPastureId)||(B==null?void 0:B.pastureId)||(B==null?void 0:B.pasturesId)||(B==null?void 0:B.pastures_id)||(B==null?void 0:B.muhuId)||(B==null?void 0:B.id);return H==null||H===""?null:H}function v1(B={}){return B!=null&&B.canLocate||f3(B)||v3(B)?!0:w3(B).some(v3)}function a1(B={},H=[]){for(const S of H){const E=B==null?void 0:B[S];if(E!=null&&E!=="")return E}}function w1(B={},H=[]){const S=a1(B,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]),E=T1(S);if(E)return E;const c2=q(a1(B,["areaCode","area_code","townCode","town_code","code"]));if(c2)return c2;for(const U2 of H){const J2=a1(U2,["township","townName","town_name","areaName","area_name","zoneName","zone_name","fullName","full_name","address","牧场所在区域"]),M3=T1(J2);if(M3)return M3;const u1=q(a1(U2,["areaCode","area_code","townCode","town_code","code"]));if(u1)return u1}const L2=F(B);if(L2)return L2;for(const U2 of H){const J2=F(U2);if(J2)return J2}return""}function T1(B){const H=String(B||"").trim();if(!H||H==="--")return"";const S=q(H);if(S)return S;if(aM(H))return H;const E=dn.find(L2=>H.includes(L2));if(E)return E;const c2=f0(H);return c2&&c2!==H?T1(c2):""}function N1(B={},H="",S=""){const E=[S,B.realPastureId,B.pastureId,B.pasturesId,B.pastures_id,B.muhuId,B.id];for(const L2 of E){const U2=C1[String(L2||"").trim()];if(U2)return T1(U2)}const c2=[H,B.name,B.pasturesName,B.pastures_name,B.muhuName,B.muhu_name,B.pastureName,B.pasture_name];for(const L2 of c2){const U2=_1[L(L2)];if(U2)return T1(U2)}return""}function L(B){return String(B||"").replace(/[·•・..。`´’‘ʼʹ''"“”\s\-—_()()]/g,"").replace(/˙/g,"")}function q(B){const H=String(B||"").trim();if(!H)return"";const S=H.replace(/\D/g,"");return S?wr(S):""}function F(B={}){const H=r2(B),S=R2(H);if(!S)return"";const E=o1.find(c2=>X3(S,c2.geometry));return E!=null&&E.name?T1(E.name):""}function r2(B={}){var E,c2;if((B==null?void 0:B.type)==="Feature")return r2(B.geometry);if(B!=null&&B.type&&(B!=null&&B.coordinates))return B;if((E=B==null?void 0:B.geometry)!=null&&E.type||(c2=B==null?void 0:B.geometry)!=null&&c2.coordinates)return B.geometry;const H=a1(B,["geometry","location","wkt","geo","geom","geometryWkt","geometry_wkt","shape"]);if(!H||typeof H!="string")return null;const S=H.trim();if(!S)return null;if(S.startsWith("{")||S.startsWith("["))try{const L2=JSON.parse(S);return r2(L2)}catch(L2){return null}return p2(S)}function p2(B){var L2;const H=String(B||"").trim(),S=H.match(/^([A-Z]+)(?:\s+[A-Z]+)?\s*\(/i),E=(L2=S==null?void 0:S[1])==null?void 0:L2.toUpperCase();if(!E)return null;const c2=H.slice(H.indexOf("("));return E==="POINT"?{type:"Point",coordinates:f2(c2)}:E==="MULTIPOINT"?{type:"MultiPoint",coordinates:K(c2).map(f2).filter(Boolean)}:E==="LINESTRING"?{type:"LineString",coordinates:r3(c2)}:E==="MULTILINESTRING"?{type:"MultiLineString",coordinates:K(c2).map(r3).filter(U2=>U2.length)}:E==="POLYGON"?{type:"Polygon",coordinates:N3(c2)}:E==="MULTIPOLYGON"?{type:"MultiPolygon",coordinates:K(c2).map(N3).filter(U2=>U2.length)}:null}function f2(B){const H=String(B||"").replace(/^\(+|\)+$/g,"").trim().split(/\s+/).slice(0,2).map(Number);return H.length>=2&&Number.isFinite(H[0])&&Number.isFinite(H[1])?[H[0],H[1]]:null}function r3(B){return String(B||"").replace(/^\(+|\)+$/g,"").split(",").map(f2).filter(Boolean)}function N3(B){return K(B).map(r3).filter(H=>H.length>=3)}function K(B){const H=[];let S=0,E=-1;return Array.from(String(B||"")).forEach((c2,L2)=>{c2==="("?(S===0&&(E=L2+1),S+=1):c2===")"&&(S-=1,S===0&&E>=0&&(H.push(B.slice(E,L2)),E=-1))}),H.length?H:[String(B||"")]}function m2(B){try{const H=typeof B=="string"?JSON.parse(B):B;return((H==null?void 0:H.features)||[]).map(S=>{var E,c2,L2,U2;return{name:((E=S==null?void 0:S.properties)==null?void 0:E.name)||((c2=S==null?void 0:S.properties)==null?void 0:c2.areaName)||((L2=S==null?void 0:S.properties)==null?void 0:L2.townName),code:(U2=S==null?void 0:S.properties)==null?void 0:U2.code,geometry:S==null?void 0:S.geometry}}).filter(S=>{var E;return S.name&&((E=S.geometry)==null?void 0:E.coordinates)})}catch(H){return[]}}function R2(B){const H=q2(B);if(!H.length)return null;const S=H.reduce((E,c2)=>({lng:E.lng+c2[0],lat:E.lat+c2[1]}),{lng:0,lat:0});return[S.lng/H.length,S.lat/H.length]}function q2(B){const H=[],S=E=>{if(Array.isArray(E)){if(E.length>=2&&Number.isFinite(Number(E[0]))&&Number.isFinite(Number(E[1]))){H.push([Number(E[0]),Number(E[1])]);return}E.forEach(S)}};return S(B==null?void 0:B.coordinates),H}function X3(B,H){return!B||!(H!=null&&H.coordinates)?!1:H.type==="Polygon"?p1(B,H.coordinates):H.type==="MultiPolygon"?H.coordinates.some(S=>p1(B,S)):!1}function p1(B,H){var U2,J2,M3,u1;const S=H==null?void 0:H[0];if(!Array.isArray(S)||S.length<3)return!1;let E=!1;const c2=B[0],L2=B[1];for(let V=0,w2=S.length-1;VL2!=t3>L2&&c2<(u2-E2)*(L2-I2)/(t3-I2||1e-12)+E2&&(E=!E)}return E}return(B,H)=>(G(),z("div",AW,[(G(),J0(P7,{key:p.value,ref_key:"mapSceneRef",ref:m,class:"pasture-ol-map-layer",active:a.active,"tile-url-template":jW,center:V2,"initial-zoom":9,"max-zoom":21,"overlay-layer":E3.value,"overlay-layers":P.value,onReady:Et,onMapClick:f},null,8,["active","overlay-layer","overlay-layers"])),H[2]||(H[2]=w("div",{class:"pasture-map-scrim"},null,-1)),h.value?k3("",!0):(G(),z("div",_W,"3D地图加载中")),w("div",xW,[w("div",MW,[w("div",PW,[l1(l0,{class:"pasture-side-card left-card",title:"牧户区域统计",width:k1(r),height:s.value},{default:e0(()=>[l1($t,{panel:T3.value,compact:"","column-label-standard":""},null,8,["panel"])]),_:1},8,["width","height"]),l1(l0,{class:"pasture-side-card left-card",title:"草场面积分布",width:k1(r),height:s.value},{default:e0(()=>[l1($t,{panel:y1.value,compact:""},null,8,["panel"])]),_:1},8,["width","height"]),l1(l0,{class:"pasture-side-card left-card pasture-video-card",title:"牧场实时监控",width:k1(r),height:s.value},{default:e0(()=>[w("div",kW,[w("button",{class:"pasture-video-nav pasture-video-prev",type:"button",disabled:b3.value.length<=1,"aria-label":"上一个监控点",onClick:y3}," ‹ ",8,EW),w("div",{class:r1(["pasture-video-grid",{"is-single":F1.value.length<=1}])},[(G(!0),z(B3,null,H3(F1.value,S=>(G(),z("div",{key:S.key,ref_for:!0,ref:E=>V3(E,S),class:r1(["pasture-video-screen",{"is-active":S.isActive,"is-playing":o3.value&&S.isActive,"is-loading":n1.value&&S.isActive}]),style:z1(S3(S.live,S.isActive)),onClick:E=>i3(S.index)},[S.isActive?(G(),z("div",{key:0,id:K2,class:"pasture-video-player"})):k3("",!0),(!o3.value||!S.isActive)&&S.live.hdPlayUrl?(G(),z("div",RW)):k3("",!0),n1.value&&S.isActive?(G(),z("div",LW,"加载中")):k3("",!0),b1.value&&S.isActive?(G(),z("div",IW,i2(b1.value),1)):k3("",!0),w("div",FW,i2(S.live.title),1)],14,NW))),128))],2),w("button",{class:"pasture-video-nav pasture-video-next",type:"button",disabled:b3.value.length<=1,"aria-label":"下一个监控点",onClick:D2}," › ",8,BW)])]),_:1},8,["width","height"]),l1(l0,{class:"pasture-side-card left-card",title:"牧户上线率",width:k1(r),height:s.value},{default:e0(()=>[l1($t,{panel:B1.value,compact:""},null,8,["panel"])]),_:1},8,["width","height"])])]),w("div",DW,[w("div",GW,[l1(l0,{class:"pasture-side-card right-card",title:"牧户年龄统计",width:k1(r),height:s.value},{default:e0(()=>[l1($t,{panel:G1.value,compact:"","column-label-standard":""},null,8,["panel"])]),_:1},8,["width","height"]),l1(l0,{class:"pasture-side-card right-card",title:"牧户性别统计",width:k1(r),height:s.value},{default:e0(()=>[l1($t,{panel:D3.value,compact:""},null,8,["panel"])]),_:1},8,["width","height"]),l1(l0,{class:"pasture-side-card right-card pasture-list-card",title:"牧户列表",width:k1(r),height:u.value},{default:e0(()=>[l1($t,{panel:e1.value,compact:"",onRowSelect:q1},null,8,["panel"])]),_:1},8,["width","height"])])]),w("div",UW,[l1(Mr,{modelValue:S2.value,"onUpdate:modelValue":H[0]||(H[0]=S=>S2.value=S),"selected-legend-key":T2.value,"onUpdate:selectedLegendKey":H[1]||(H[1]=S=>T2.value=S),"topic-key":"grassland",layers:l3.value,legends:$1.value,multiple:"",width:232,height:430},null,8,["modelValue","selected-legend-key","layers","legends"])]),g3.value?(G(),z("div",{key:0,class:"pasture-map-feature-info",style:z1(q3.value)},[w("button",{class:"pasture-map-feature-close",type:"button","aria-label":"关闭图斑详情",title:"关闭",onClick:_0(O,["stop"])}," × "),l1(b7,{feature:C.value,empty:I.value,loading:U.value,width:460,height:A1.value,"compact-grassland":""},null,8,["feature","empty","loading","height"])],4)):k3("",!0)])]))}},YW=`{ - "datasetName": "红原牦牛产业全链分类数据草稿", - "generatedAt": "2026-07-01T19:47:37", - "privacy": { - "includedContactFields": [ - "户主", - "负责人", - "联系人", - "联系电话", - "服务热线", - "信贷联系电话", - "24小时理赔热线" - ], - "excludedPersonalFields": [ - "身份证", - "备注" - ], - "note": "此 JSON 面向大屏展示,已保留可展示的联系人/电话字段;身份证和备注仍未写入。图片文件仅登记为视觉参考,不作为业务数据。" - }, - "fileInventory": [ - { - "path": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "type": "xlsx", - "role": "data-source" - }, - { - "path": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "type": "xlsx", - "role": "data-source" - }, - { - "path": "cxpt.qkl.public.t_base_land", - "type": "database-table", - "role": "data-source" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-1.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-2.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-3.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-4.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-5.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-6.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-7.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-8.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-9.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-10.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-11.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/Users/mocker/.codex/attachments/58283330-2b4f-4edc-8be4-3b517515ec54/image-12.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-9ee4fd26-fb6f-46c2-81ea-f9925d24acf8.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-acf2f529-2ce8-4d8b-96eb-6899d2beb524.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-eded9fbe-e18f-4b2a-88ad-b207e8589cd3.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-ae00ea0b-6e25-4a45-b182-2ab3cdae2abd.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-d7084d17-25fa-43e5-b216-a1d62b49f862.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-f3e1ccc7-5d38-4103-96eb-be214e5b67c0.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-5ffbf4b9-ab8f-49a4-8577-705da4e7c157.png", - "type": "png", - "role": "visual-reference" - }, - { - "path": "/var/folders/dh/pf6z830j3w3drsd1k4ncl7br0000gn/T/codex-clipboard-1548ca35-7fe9-4786-9cb4-41366b1b5b10.png", - "type": "png", - "role": "visual-reference" - } - ], - "summary": { - "categoryCount": 18, - "itemCount": 206, - "categoryCounts": { - "YC-FAMILY-PASTURE": 82, - "YC-BREEDING-BASE": 19, - "YC-BREEDING-STOCK": 4, - "YC-FORAGE-BASE": 8, - "YC-DISASTER-FORAGE-STORAGE": 7, - "YC-PROCESSING-PLANT": 9, - "YC-SLAUGHTERHOUSE": 7, - "YC-FARM-EQUIPMENT": 2, - "YC-DISEASE-CONTROL": 3, - "YC-TECH-TRAINING": 8, - "YC-SERVICE-FINANCE": 4, - "YC-SERVICE-INSURANCE": 4, - "YC-GRASSLAND-RESOURCE": 3, - "YC-CXPT-BREEDING-BASE": 28, - "YC-CXPT-FORAGE-BASE": 5, - "YC-CXPT-BREEDING-STOCK-BASE": 1, - "YC-CXPT-GRASS-SEED-BASE": 1, - "YC-CXPT-OTHER-BASE": 11 - } - }, - "sourceSheets": [ - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "防灾减灾饲草储备库", - "categoryCode": "YC-DISASTER-FORAGE-STORAGE", - "rawRowCount": 7, - "keptFields": [ - "主体全称", - "上级单位", - "所属乡镇", - "详细地址", - "经度", - "纬度", - "运营状态", - "总库容 (吨)", - "储备草种", - "发放次数" - ], - "excludedFields": [] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "标准化养殖基地", - "categoryCode": "YC-BREEDING-BASE", - "rawRowCount": 19, - "keptFields": [ - "主体全称", - "运营单位", - "经纬度", - "建设 / 升级年份", - "详细地址", - "运营状态", - "设计存栏量 (头)", - "年出栏量 (头)", - "监控设备情况" - ], - "excludedFields": [ - "备注", - "Unnamed:10" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "育种场", - "categoryCode": "YC-BREEDING-STOCK", - "rawRowCount": 4, - "keptFields": [ - "主体全称", - "简称", - "运营单位", - "建设 / 升级年份", - "详细地址", - "经纬度", - "运营状态", - "育种等级", - "核心基础母牛群 (头)", - "种公牛数量 (头)", - "年提供良种犊牛 (头)", - "主要育种方向", - "基本介绍", - "监控设备情况" - ], - "excludedFields": [] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "种草饲草基地", - "categoryCode": "YC-FORAGE-BASE", - "rawRowCount": 16, - "keptFields": [ - "基地全称", - "所属乡镇", - "运营状态", - "种植面积 (亩)", - "主要草种", - "年产量 (吨)", - "经纬度" - ], - "excludedFields": [ - "Unnamed:7", - "Unnamed:8", - "Unnamed:9" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "加工厂", - "categoryCode": "YC-PROCESSING-PLANT", - "rawRowCount": 9, - "keptFields": [ - "企业全称", - "详细地址", - "经度", - "纬度", - "运营状态", - "SC 许可证号", - "设计日处理鲜奶能力 (吨)", - "年加工鲜奶总量 (吨)", - "主要产品", - "奶源来源", - "年产值 (万元)", - "带动本地农户数", - "原料奶冷藏能力 (吨)", - "产品销售范围", - "负责人", - "联系电话" - ], - "excludedFields": [ - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "屠宰厂", - "categoryCode": "YC-SLAUGHTERHOUSE", - "rawRowCount": 7, - "keptFields": [ - "企业全称", - "定点屠宰证号", - "详细地址", - "经度", - "纬度", - "运营状态", - "设计日屠宰能力 (头)", - "年屠宰总量 (头)", - "冷冻库容量 (吨)", - "环保达标情况", - "年总产值 (万元)", - "负责人", - "联系电话" - ], - "excludedFields": [ - "备注", - "Unnamed:14", - "Unnamed:15", - "Unnamed:16", - "Unnamed:17", - "Unnamed:18", - "Unnamed:19", - "Unnamed:20", - "Unnamed:21", - "Unnamed:22", - "Unnamed:23", - "Unnamed:24", - "Unnamed:25", - "Unnamed:26", - "Unnamed:27", - "Unnamed:28", - "Unnamed:29", - "Unnamed:30", - "Unnamed:31", - "Unnamed:32", - "Unnamed:33", - "Unnamed:34", - "Unnamed:35" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "农机装备", - "categoryCode": "YC-FARM-EQUIPMENT", - "rawRowCount": 2, - "keptFields": [ - "主体全称", - "简称", - "所属乡镇", - "经度", - "纬度", - "运营状态", - "组织形式", - "主要服务项目", - "主要设备类型", - "设备总台数 (台)", - "可出租设备数 (台)", - "服务覆盖乡镇数", - "收费标准", - "服务热线", - "年产值 (万元)", - "负责人", - "联系电话" - ], - "excludedFields": [ - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "疫病防控", - "categoryCode": "YC-DISEASE-CONTROL", - "rawRowCount": 3, - "keptFields": [ - "主体全称", - "详细地址", - "经度", - "纬度", - "运营状态", - "服务覆盖乡镇数", - "主要服务内容", - "持证兽医数", - "是否 24 小时应急", - "联系电话" - ], - "excludedFields": [ - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "技术培训", - "categoryCode": "YC-TECH-TRAINING", - "rawRowCount": 8, - "keptFields": [ - "序号", - "机构全称", - "机构类型", - "所属乡镇", - "红原办公地址", - "培训等级", - "年培训场次", - "年培训人次", - "单次最大容纳人数", - "主要培训内容", - "核心专家团队", - "最近培训时间", - "下期培训计划(时间 + 内容)", - "联系人", - "联系电话" - ], - "excludedFields": [ - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "金融服务网点", - "categoryCode": "YC-SERVICE-FINANCE", - "rawRowCount": 4, - "keptFields": [ - "序号", - "银行全称", - "简称", - "红原支行地址", - "经度", - "纬度", - "服务覆盖乡镇数", - "主要贷款产品(可多选)", - "最高单户贷款额度 (万元)", - "最长贷款期限 (年)", - "年利率范围", - "还款方式", - "联系人", - "信贷联系电话" - ], - "excludedFields": [ - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "保险服务网点", - "categoryCode": "YC-SERVICE-INSURANCE", - "rawRowCount": 4, - "keptFields": [ - "序号", - "公司全称", - "简称", - "红原支公司地址", - "经度", - "纬度", - "服务覆盖乡镇数", - "主要承保险种(可多选)", - "24 小时理赔热线", - "2025 年承保牦牛数量 (头)", - "平均理赔时效 (天)", - "最高单头赔付金额 (元)", - "联系人", - "联系电话" - ], - "excludedFields": [ - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sheetName": "林草局数据", - "categoryCode": "YC-GRASSLAND-RESOURCE", - "rawRowCount": 4, - "keptFields": [ - "天然草原改良", - "人工种草", - "鼠虫害防治", - "全县草原面积", - "基本草原面积", - "一般草原面积", - "湿地面积", - "灌木林面积", - "围栏封育面积", - "生态奖补面积,到每个村" - ], - "excludedFields": [ - "Unnamed:0", - "Unnamed:11", - "备注" - ] - }, - { - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sheetName": "Sheet1", - "categoryCode": "YC-FAMILY-PASTURE", - "rawRowCount": 82, - "keptFields": [ - "序号", - "乡镇", - "点位", - "户主", - "暖棚经纬度", - "管理用房经纬度", - "坐落" - ], - "excludedFields": [ - "身份证", - "备注" - ] - }, - { - "sourceFile": "cxpt PostgreSQL database", - "sheetName": "t_base_land", - "categoryCode": "YC-CXPT-*", - "rawRowCount": 46, - "keptFields": [ - "id", - "name", - "type", - "area_code", - "address", - "scale", - "acreage", - "leader", - "tel", - "leader_phone", - "geom centroid" - ], - "excludedFields": [ - "description", - "imgs", - "remarks" - ] - } - ], - "categories": [ - { - "categoryCode": "YC-FAMILY-PASTURE", - "categoryName": "家庭生态牧场", - "industryStage": "family-pasture", - "sources": [ - "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx:Sheet1" - ], - "itemCount": 82, - "items": [ - { - "id": "YC-FAMILY-PASTURE-001", - "name": "安曲镇夺龙村1号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "夺龙村", - "pointName": "1号点", - "locations": { - "greenhouse": { - "longitude": 102.45047712, - "latitude": 32.61360272 - }, - "managementHouse": { - "longitude": 102.45082378, - "latitude": 32.6136657 - } - }, - "contacts": { - "owner": "拿木甲" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-002", - "name": "安曲镇夺龙村2号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "夺龙村", - "pointName": "2号点", - "locations": { - "greenhouse": { - "longitude": 102.34691526, - "latitude": 32.61425696 - }, - "managementHouse": { - "longitude": 102.34697849, - "latitude": 32.61455374 - } - }, - "contacts": { - "owner": "桑我甲" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-003", - "name": "安曲镇夺龙村3号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "夺龙村", - "pointName": "3号点", - "locations": { - "greenhouse": { - "longitude": 102.37805264, - "latitude": 32.5692703 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "泽朗罗日" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-004", - "name": "安曲镇哈拉玛村4号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "哈拉玛村", - "pointName": "4号点", - "locations": { - "greenhouse": { - "longitude": 102.31781652, - "latitude": 32.67023409 - }, - "managementHouse": { - "longitude": 102.318167, - "latitude": 32.67018808 - } - }, - "contacts": { - "owner": "德清旺姆" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-005", - "name": "安曲镇下哈拉玛村5号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "下哈拉玛村", - "pointName": "5号点", - "locations": { - "greenhouse": { - "longitude": 102.43198641, - "latitude": 32.73093298 - }, - "managementHouse": { - "longitude": 102.43182146, - "latitude": 32.73162602 - } - }, - "contacts": {}, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-006", - "name": "安曲镇下哈拉玛村6号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "下哈拉玛村", - "pointName": "6号点", - "locations": { - "greenhouse": { - "longitude": 102.42615548, - "latitude": 32.80562386 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": {}, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-007", - "name": "安曲镇下哈拉玛村7号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "安曲镇", - "village": "下哈拉玛村", - "pointName": "7号点", - "locations": { - "greenhouse": { - "longitude": 102.43325488, - "latitude": 32.76769519 - }, - "managementHouse": { - "longitude": 102.43310351, - "latitude": 32.76736081 - } - }, - "contacts": { - "owner": "尺真" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-008", - "name": "龙日镇龙日坝村8号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "龙日坝村", - "pointName": "8号点", - "locations": { - "greenhouse": { - "longitude": 102.34174988, - "latitude": 32.51793446 - }, - "managementHouse": { - "longitude": 102.34150772, - "latitude": 32.51809855 - } - }, - "contacts": { - "owner": "扎花甲初" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-009", - "name": "龙日镇龙日坝村9号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "龙日坝村", - "pointName": "9号点", - "locations": { - "greenhouse": { - "longitude": 102.39106026, - "latitude": 32.41522425 - }, - "managementHouse": { - "longitude": 102.39163622, - "latitude": 32.41535563 - } - }, - "contacts": { - "owner": "刘永秀" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-010", - "name": "龙日镇龙日坝村10号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "龙日坝村", - "pointName": "10号点", - "locations": { - "greenhouse": { - "longitude": 102.36445049, - "latitude": 32.46856208 - }, - "managementHouse": { - "longitude": 102.36479551, - "latitude": 32.4682826 - } - }, - "contacts": { - "owner": "尼西甲" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-011", - "name": "龙日镇龙日坝村11号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "龙日坝村", - "pointName": "11号点", - "locations": { - "greenhouse": { - "longitude": 102.36543866, - "latitude": 32.46986063 - }, - "managementHouse": { - "longitude": 102.36574919, - "latitude": 32.46984022 - } - }, - "contacts": { - "owner": "尕尔穷" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-012", - "name": "龙日镇壤噶夺玛村12号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "壤噶夺玛村", - "pointName": "12号点", - "locations": { - "greenhouse": { - "longitude": 102.47723794, - "latitude": 32.45980785 - }, - "managementHouse": { - "longitude": 102.47729207, - "latitude": 32.45943812 - } - }, - "contacts": { - "owner": "拉玛扎西" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-013", - "name": "龙日镇龙日坝村12号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "龙日坝村", - "pointName": "12号点", - "locations": { - "greenhouse": { - "longitude": null, - "latitude": null - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": {}, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-014", - "name": "龙日镇格玛村13号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "格玛村", - "pointName": "13号点", - "locations": { - "greenhouse": { - "longitude": 102.57181204, - "latitude": 32.57674824 - }, - "managementHouse": { - "longitude": 102.57153908, - "latitude": 32.57642249 - } - }, - "contacts": { - "owner": "索迫" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-015", - "name": "龙日镇格玛村14号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "格玛村", - "pointName": "14号点", - "locations": { - "greenhouse": { - "longitude": 102.56396058, - "latitude": 32.5657272 - }, - "managementHouse": { - "longitude": 102.56368441, - "latitude": 32.56554011 - } - }, - "contacts": { - "owner": "让白" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-016", - "name": "龙日镇格玛村15号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "格玛村", - "pointName": "15号点", - "locations": { - "greenhouse": { - "longitude": 102.47353743, - "latitude": 32.53889572 - }, - "managementHouse": { - "longitude": 102.47340175, - "latitude": 32.5391063 - } - }, - "contacts": { - "owner": "罗周" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-017", - "name": "龙日镇格玛村16号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "格玛村", - "pointName": "16号点", - "locations": { - "greenhouse": { - "longitude": 102.55268505, - "latitude": 32.54389452 - }, - "managementHouse": { - "longitude": 102.55244875, - "latitude": 32.543925 - } - }, - "contacts": { - "owner": "贡波" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-018", - "name": "龙日镇格玛村17号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "格玛村", - "pointName": "17号点", - "locations": { - "greenhouse": { - "longitude": 102.55699444, - "latitude": 32.51600578 - }, - "managementHouse": { - "longitude": 102.55661126, - "latitude": 32.51593726 - } - }, - "contacts": { - "owner": "阿新" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-019", - "name": "龙日镇壤噶夺玛村18号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "壤噶夺玛村", - "pointName": "18号点", - "locations": { - "greenhouse": { - "longitude": 102.45743039, - "latitude": 32.50039193 - }, - "managementHouse": { - "longitude": 102.45747569, - "latitude": 32.4997112 - } - }, - "contacts": { - "owner": "南木青" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-020", - "name": "龙日镇壤噶夺玛村19号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "壤噶夺玛村", - "pointName": "19号点", - "locations": { - "greenhouse": { - "longitude": 102.51569341, - "latitude": 32.46983718 - }, - "managementHouse": { - "longitude": 102.51611367, - "latitude": 32.46971999 - } - }, - "contacts": { - "owner": "桑白" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-021", - "name": "龙日镇壤噶夺玛村20号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "壤噶夺玛村", - "pointName": "20号点", - "locations": { - "greenhouse": { - "longitude": 102.44978266, - "latitude": 32.53944862 - }, - "managementHouse": { - "longitude": 102.44969589, - "latitude": 32.53923831 - } - }, - "contacts": { - "owner": "尼玛" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-022", - "name": "龙日镇壤噶夺玛村21号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "壤噶夺玛村", - "pointName": "21号点", - "locations": { - "greenhouse": { - "longitude": 102.47179278, - "latitude": 32.40707185 - }, - "managementHouse": { - "longitude": 102.47150078, - "latitude": 32.40722678 - } - }, - "contacts": { - "owner": "求扎" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-023", - "name": "龙日镇壤噶夺玛村22号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "龙日镇", - "village": "壤噶夺玛村", - "pointName": "22号点", - "locations": { - "greenhouse": { - "longitude": 102.49088427, - "latitude": 32.4950118 - }, - "managementHouse": { - "longitude": 102.49071333, - "latitude": 32.49521145 - } - }, - "contacts": { - "owner": "俄白" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-024", - "name": "邛溪镇玛萨村23号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "玛萨村", - "pointName": "23号点", - "locations": { - "greenhouse": { - "longitude": 102.63389415, - "latitude": 32.77017909 - }, - "managementHouse": { - "longitude": 102.6341466, - "latitude": 32.77015436 - } - }, - "contacts": { - "owner": "杨中泽仁" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-025", - "name": "邛溪镇玛萨村24号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "玛萨村", - "pointName": "24号点", - "locations": { - "greenhouse": { - "longitude": 102.55578247, - "latitude": 32.71974519 - }, - "managementHouse": { - "longitude": 102.55496732, - "latitude": 32.71987605 - } - }, - "contacts": { - "owner": "西泽" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-026", - "name": "邛溪镇玛萨村25号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "玛萨村", - "pointName": "25号点", - "locations": { - "greenhouse": { - "longitude": 102.5948059, - "latitude": 32.73476878 - }, - "managementHouse": { - "longitude": 102.59523521, - "latitude": 32.73509347 - } - }, - "contacts": { - "owner": "阿尔布基" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-027", - "name": "邛溪镇玛萨村26号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "玛萨村", - "pointName": "26号点", - "locations": { - "greenhouse": { - "longitude": 102.63704412, - "latitude": 32.8134533 - }, - "managementHouse": { - "longitude": 102.63713205, - "latitude": 32.81316056 - } - }, - "contacts": { - "owner": "兰卡" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-028", - "name": "邛溪镇达格龙村27号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "达格龙村", - "pointName": "27号点", - "locations": { - "greenhouse": { - "longitude": 102.50979432, - "latitude": 32.80879562 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "华扎" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-029", - "name": "邛溪镇达格龙村28号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "达格龙村", - "pointName": "28号点", - "locations": { - "greenhouse": { - "longitude": 102.46200958, - "latitude": 32.954686 - }, - "managementHouse": { - "longitude": 102.46173752, - "latitude": 32.95518424 - } - }, - "contacts": { - "owner": "勒西" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-030", - "name": "邛溪镇达格龙村29号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "达格龙村", - "pointName": "29号点", - "locations": { - "greenhouse": { - "longitude": 102.70045355, - "latitude": 32.72249951 - }, - "managementHouse": { - "longitude": 102.70020081, - "latitude": 32.72191648 - } - }, - "contacts": { - "owner": "夺基泽单" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-031", - "name": "邛溪镇麻色阳德村30号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "麻色阳德村", - "pointName": "30号点", - "locations": { - "greenhouse": { - "longitude": 102.5118488, - "latitude": 32.93352001 - }, - "managementHouse": { - "longitude": 102.51242484, - "latitude": 32.93367637 - } - }, - "contacts": { - "owner": "卡卓措" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-032", - "name": "邛溪镇麻色阳德村31号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "麻色阳德村", - "pointName": "31号点", - "locations": { - "greenhouse": { - "longitude": 102.52277514, - "latitude": 32.95178758 - }, - "managementHouse": { - "longitude": 102.52268299, - "latitude": 32.95119696 - } - }, - "contacts": { - "owner": "甲花若巴" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-033", - "name": "邛溪镇麻色阳德村32号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "麻色阳德村", - "pointName": "32号点", - "locations": { - "greenhouse": { - "longitude": 102.54154441, - "latitude": 32.97243338 - }, - "managementHouse": { - "longitude": 102.54114597, - "latitude": 32.97254854 - } - }, - "contacts": { - "owner": "布穷" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-034", - "name": "邛溪镇热坤村33号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "热坤村", - "pointName": "33号点", - "locations": { - "greenhouse": { - "longitude": 102.68837196, - "latitude": 32.90189172 - }, - "managementHouse": { - "longitude": 102.68834131, - "latitude": 32.90209342 - } - }, - "contacts": { - "owner": "丹姆初" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-035", - "name": "邛溪镇热坤村34号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "热坤村", - "pointName": "34号点", - "locations": { - "greenhouse": { - "longitude": 102.66431407, - "latitude": 32.89220187 - }, - "managementHouse": { - "longitude": 102.6640831, - "latitude": 32.89217135 - } - }, - "contacts": { - "owner": "塔尔洼" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-036", - "name": "邛溪镇热坤村35号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "热坤村", - "pointName": "35号点", - "locations": { - "greenhouse": { - "longitude": 102.57510429, - "latitude": 32.8117671 - }, - "managementHouse": { - "longitude": 102.57449573, - "latitude": 32.81193451 - } - }, - "contacts": { - "owner": "相木秋" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-037", - "name": "邛溪镇热多村36号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "热多村", - "pointName": "36号点", - "locations": { - "greenhouse": { - "longitude": 102.60036425, - "latitude": 32.96680279 - }, - "managementHouse": { - "longitude": 102.59972676, - "latitude": 32.96673649 - } - }, - "contacts": { - "owner": "索科" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-038", - "name": "邛溪镇热多村37号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "热多村", - "pointName": "37号点", - "locations": { - "greenhouse": { - "longitude": 102.5418407, - "latitude": 32.92737961 - }, - "managementHouse": { - "longitude": 102.54097207, - "latitude": 32.92694872 - } - }, - "contacts": { - "owner": "容中黑周" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-039", - "name": "邛溪镇热多村38号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "邛溪镇", - "village": "热多村", - "pointName": "38号点", - "locations": { - "greenhouse": { - "longitude": 102.58801957, - "latitude": 32.88408206 - }, - "managementHouse": { - "longitude": 102.58826677, - "latitude": 32.88476392 - } - }, - "contacts": { - "owner": "桑都" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-040", - "name": "查尔玛乡什布龙村39号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "什布龙村", - "pointName": "39号点", - "locations": { - "greenhouse": { - "longitude": 102.07972827, - "latitude": 32.47333689 - }, - "managementHouse": { - "longitude": 102.07991934, - "latitude": 32.47311379 - } - }, - "contacts": { - "owner": "茫兴" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-041", - "name": "查尔玛乡什布龙村40号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "什布龙村", - "pointName": "40号点", - "locations": { - "greenhouse": { - "longitude": 102.02905511, - "latitude": 32.43749287 - }, - "managementHouse": { - "longitude": 102.02913011, - "latitude": 32.43776256 - } - }, - "contacts": { - "owner": "得基卓玛" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-042", - "name": "查尔玛乡什布龙村41号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "什布龙村", - "pointName": "41号点", - "locations": { - "greenhouse": { - "longitude": 102.02290624, - "latitude": 32.46043784 - }, - "managementHouse": { - "longitude": 102.02292951, - "latitude": 32.46024019 - } - }, - "contacts": { - "owner": "俄玛" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-043", - "name": "查尔玛乡什布龙村42号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "什布龙村", - "pointName": "42号点", - "locations": { - "greenhouse": { - "longitude": null, - "latitude": null - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "能周" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-044", - "name": "查尔玛乡查龙村43号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "查龙村", - "pointName": "43号点", - "locations": { - "greenhouse": { - "longitude": 101.9504197, - "latitude": 32.41285591 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "桑都措" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-045", - "name": "查尔玛乡查龙村44号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "查龙村", - "pointName": "44号点", - "locations": { - "greenhouse": { - "longitude": 101.93515169, - "latitude": 32.42601524 - }, - "managementHouse": { - "longitude": 101.93533172, - "latitude": 32.42625182 - } - }, - "contacts": { - "owner": "求沙" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-046", - "name": "查尔玛乡查龙村45号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "查龙村", - "pointName": "45号点", - "locations": { - "greenhouse": { - "longitude": 101.95330639, - "latitude": 32.50669919 - }, - "managementHouse": { - "longitude": 101.95319961, - "latitude": 32.50653773 - } - }, - "contacts": { - "owner": "旦渣" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-047", - "name": "查尔玛乡达尔龙村46号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "达尔龙村", - "pointName": "46号点", - "locations": { - "greenhouse": { - "longitude": 102.13292789, - "latitude": 32.44464674 - }, - "managementHouse": { - "longitude": 102.13310816, - "latitude": 32.44495604 - } - }, - "contacts": { - "owner": "达玛王" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-048", - "name": "查尔玛乡达尔龙村47号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "达尔龙村", - "pointName": "47号点", - "locations": { - "greenhouse": { - "longitude": 102.1000073, - "latitude": 32.52950127 - }, - "managementHouse": { - "longitude": 102.10031343, - "latitude": 32.52946984 - } - }, - "contacts": { - "owner": "吉措" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-049", - "name": "查尔玛乡达尔龙村48号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "查尔玛乡", - "village": "达尔龙村", - "pointName": "48号点", - "locations": { - "greenhouse": { - "longitude": 102.11832613, - "latitude": 32.54201141 - }, - "managementHouse": { - "longitude": 102.1186522, - "latitude": 32.54205879 - } - }, - "contacts": { - "owner": "然让" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-050", - "name": "瓦切镇德香村49号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "德香村", - "pointName": "49号点", - "locations": { - "greenhouse": { - "longitude": 102.59826937, - "latitude": 33.15242954 - }, - "managementHouse": { - "longitude": 102.59817262, - "latitude": 33.15279516 - } - }, - "contacts": { - "owner": "索郎益西" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-051", - "name": "瓦切镇德香村50号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "德香村", - "pointName": "50号点", - "locations": { - "greenhouse": { - "longitude": 102.58881798, - "latitude": 33.13491038 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "阿布洛" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-052", - "name": "瓦切镇德香村51号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "德香村", - "pointName": "51号点", - "locations": { - "greenhouse": { - "longitude": 102.62447024, - "latitude": 33.14756405 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "甲花扎巴" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-053", - "name": "瓦切镇唐日村52号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "唐日村", - "pointName": "52号点", - "locations": { - "greenhouse": { - "longitude": 102.60249352, - "latitude": 33.06252399 - }, - "managementHouse": { - "longitude": 102.60287876, - "latitude": 33.06269322 - } - }, - "contacts": { - "owner": "桑阿" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-054", - "name": "瓦切镇唐日村53号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "唐日村", - "pointName": "53号点", - "locations": { - "greenhouse": { - "longitude": 102.6195876, - "latitude": 33.07660844 - }, - "managementHouse": { - "longitude": 102.62023015, - "latitude": 33.07672504 - } - }, - "contacts": { - "owner": "泽旺卓玛" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-055", - "name": "瓦切镇唐日村54号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "唐日村", - "pointName": "54号点", - "locations": { - "greenhouse": { - "longitude": 102.65878993, - "latitude": 33.0443906 - }, - "managementHouse": { - "longitude": 102.65907881, - "latitude": 33.04426714 - } - }, - "contacts": { - "owner": "达多杰" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-056", - "name": "瓦切镇曲登塘社区55号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "曲登塘社区", - "pointName": "55号点", - "locations": { - "greenhouse": { - "longitude": 102.60968583, - "latitude": 33.05324231 - }, - "managementHouse": { - "longitude": 102.60900684, - "latitude": 33.05296943 - } - }, - "contacts": { - "owner": "甲花" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-057", - "name": "瓦切镇达峨村56号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "达峨村", - "pointName": "56号点", - "locations": { - "greenhouse": { - "longitude": 102.60365851, - "latitude": 33.08085512 - }, - "managementHouse": { - "longitude": 102.60388795, - "latitude": 33.080497 - } - }, - "contacts": { - "owner": "普尔娃他" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-058", - "name": "瓦切镇达峨村57号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "达峨村", - "pointName": "57号点", - "locations": { - "greenhouse": { - "longitude": 102.60526934, - "latitude": 33.03662516 - }, - "managementHouse": { - "longitude": 102.60558227, - "latitude": 33.03649561 - } - }, - "contacts": { - "owner": "腊夺" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-059", - "name": "瓦切镇达峨村58号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "达峨村", - "pointName": "58号点", - "locations": { - "greenhouse": { - "longitude": 102.68739311, - "latitude": 33.0149217 - }, - "managementHouse": { - "longitude": 102.68677242, - "latitude": 33.01494028 - } - }, - "contacts": { - "owner": "拉姆姐" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-060", - "name": "瓦切镇日干村59号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "日干村", - "pointName": "59号点", - "locations": { - "greenhouse": { - "longitude": 102.75821556, - "latitude": 33.05186118 - }, - "managementHouse": { - "longitude": 102.75797357, - "latitude": 33.05247976 - } - }, - "contacts": { - "owner": "尔金姐" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-061", - "name": "瓦切镇日干村60号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "日干村", - "pointName": "60号点", - "locations": { - "greenhouse": { - "longitude": 102.72188962, - "latitude": 33.09419876 - }, - "managementHouse": { - "longitude": 102.72144107, - "latitude": 33.09435508 - } - }, - "contacts": { - "owner": "果·尼科" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-062", - "name": "瓦切镇日干村61号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "日干村", - "pointName": "61号点", - "locations": { - "greenhouse": { - "longitude": 102.61834278, - "latitude": 33.16780533 - }, - "managementHouse": { - "longitude": null, - "latitude": null - } - }, - "contacts": { - "owner": "苏拉王" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-063", - "name": "瓦切镇色永村62号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "色永村", - "pointName": "62号点", - "locations": { - "greenhouse": { - "longitude": 102.80909925, - "latitude": 33.03857555 - }, - "managementHouse": { - "longitude": 102.80956551, - "latitude": 33.03877017 - } - }, - "contacts": { - "owner": "桑阿" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-064", - "name": "瓦切镇色永村63号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "色永村", - "pointName": "63号点", - "locations": { - "greenhouse": { - "longitude": 102.82561727, - "latitude": 33.03236022 - }, - "managementHouse": { - "longitude": 102.82588257, - "latitude": 33.03170874 - } - }, - "contacts": { - "owner": "卓玛娜姆" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-065", - "name": "瓦切镇色永村64号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "瓦切镇", - "village": "色永村", - "pointName": "64号点", - "locations": { - "greenhouse": { - "longitude": 102.83285089, - "latitude": 33.02300106 - }, - "managementHouse": { - "longitude": 102.83282822, - "latitude": 33.02336202 - } - }, - "contacts": { - "owner": "麦朵拉姆" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-066", - "name": "江茸乡江宫玛村65号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "江宫玛村", - "pointName": "65号点", - "locations": { - "greenhouse": { - "longitude": 102.20070669, - "latitude": 32.42224384 - }, - "managementHouse": { - "longitude": 102.19990732, - "latitude": 32.42229086 - } - }, - "contacts": { - "owner": "支多娜姆" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-067", - "name": "江茸乡江宫玛村66号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "江宫玛村", - "pointName": "66号点", - "locations": { - "greenhouse": { - "longitude": 102.20320835, - "latitude": 32.43908196 - }, - "managementHouse": { - "longitude": 102.20292182, - "latitude": 32.43868925 - } - }, - "contacts": { - "owner": "俄波" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-068", - "name": "江茸乡江宫玛村67号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "江宫玛村", - "pointName": "67号点", - "locations": { - "greenhouse": { - "longitude": 102.22170157, - "latitude": 32.47727277 - }, - "managementHouse": { - "longitude": 102.2217086, - "latitude": 32.4769641 - } - }, - "contacts": { - "owner": "格日" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-069", - "name": "江茸乡茸日玛村68号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "茸日玛村", - "pointName": "68号点", - "locations": { - "greenhouse": { - "longitude": 102.22028091, - "latitude": 32.50928539 - }, - "managementHouse": { - "longitude": 102.21973813, - "latitude": 32.50918264 - } - }, - "contacts": { - "owner": "更让尼玛" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-070", - "name": "江茸乡茸日玛村69号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "茸日玛村", - "pointName": "69号点", - "locations": { - "greenhouse": { - "longitude": 102.22815984, - "latitude": 32.51915025 - }, - "managementHouse": { - "longitude": 102.22810898, - "latitude": 32.51942 - } - }, - "contacts": { - "owner": "罗布让" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-071", - "name": "江茸乡茸日玛村70号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "茸日玛村", - "pointName": "70号点", - "locations": { - "greenhouse": { - "longitude": 102.22913952, - "latitude": 32.50866903 - }, - "managementHouse": { - "longitude": 102.22938935, - "latitude": 32.50833256 - } - }, - "contacts": { - "owner": "王甲" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-072", - "name": "江茸乡茸日玛村71号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "江茸乡", - "village": "茸日玛村", - "pointName": "71号点", - "locations": { - "greenhouse": { - "longitude": 102.23962706, - "latitude": 32.48083944 - }, - "managementHouse": { - "longitude": 102.23990168, - "latitude": 32.48078901 - } - }, - "contacts": { - "owner": "占波" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-073", - "name": "刷经寺镇壤口村72号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "刷经寺镇", - "village": "壤口村", - "pointName": "72号点", - "locations": { - "greenhouse": { - "longitude": 102.61148498, - "latitude": 32.08914501 - }, - "managementHouse": { - "longitude": 102.61169021, - "latitude": 32.08932106 - } - }, - "contacts": { - "owner": "罗日" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-074", - "name": "刷经寺镇壤口村73号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "刷经寺镇", - "village": "壤口村", - "pointName": "73号点", - "locations": { - "greenhouse": { - "longitude": 102.5699463, - "latitude": 32.08635954 - }, - "managementHouse": { - "longitude": 102.56962246, - "latitude": 32.08623818 - } - }, - "contacts": { - "owner": "甲花夺基" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-075", - "name": "刷经寺镇壤口村74号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "刷经寺镇", - "village": "壤口村", - "pointName": "74号点", - "locations": { - "greenhouse": { - "longitude": 102.48249928, - "latitude": 32.20799391 - }, - "managementHouse": { - "longitude": 102.48240109, - "latitude": 32.20777413 - } - }, - "contacts": { - "owner": "供木丹" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-076", - "name": "刷经寺镇壤口村75号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "刷经寺镇", - "village": "壤口村", - "pointName": "75号点", - "locations": { - "greenhouse": { - "longitude": 102.55912658, - "latitude": 32.38683384 - }, - "managementHouse": { - "longitude": 102.5588633, - "latitude": 32.38692708 - } - }, - "contacts": { - "owner": "华尔白" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-077", - "name": "阿木乡峨扎村76号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "阿木乡", - "village": "峨扎村", - "pointName": "76号点", - "locations": { - "greenhouse": { - "longitude": 102.67883757, - "latitude": 32.93485478 - }, - "managementHouse": { - "longitude": 102.67850122, - "latitude": 32.93495695 - } - }, - "contacts": { - "owner": "谢尔拉姆" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-078", - "name": "阿木乡峨扎村77号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "阿木乡", - "village": "峨扎村", - "pointName": "77号点", - "locations": { - "greenhouse": { - "longitude": 102.8392576, - "latitude": 32.77165891 - }, - "managementHouse": { - "longitude": 102.83999152, - "latitude": 32.77133407 - } - }, - "contacts": { - "owner": "若巴" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-079", - "name": "阿木乡峨扎村78号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "阿木乡", - "village": "峨扎村", - "pointName": "78号点", - "locations": { - "greenhouse": { - "longitude": 102.78948161, - "latitude": 32.79853105 - }, - "managementHouse": { - "longitude": 102.79027109, - "latitude": 32.79883402 - } - }, - "contacts": { - "owner": "扑尔夺" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-080", - "name": "阿木乡卡口村79号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "阿木乡", - "village": "卡口村", - "pointName": "79号点", - "locations": { - "greenhouse": { - "longitude": 102.83426146, - "latitude": 32.86765306 - }, - "managementHouse": { - "longitude": 102.83380011, - "latitude": 32.86722605 - } - }, - "contacts": { - "owner": "甲基" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-081", - "name": "阿木乡卡口村80号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "阿木乡", - "village": "卡口村", - "pointName": "80号点", - "locations": { - "greenhouse": { - "longitude": 102.83237405, - "latitude": 32.82819561 - }, - "managementHouse": { - "longitude": 102.83189751, - "latitude": 32.82836028 - } - }, - "contacts": { - "owner": "尕得" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - }, - { - "id": "YC-FAMILY-PASTURE-082", - "name": "阿木乡卡口村81号点家庭牧场", - "sourceFile": "/Users/mocker/Documents/hy/数据清单/家庭牧场/红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "sourceSheet": "Sheet1", - "town": "阿木乡", - "village": "卡口村", - "pointName": "81号点", - "locations": { - "greenhouse": { - "longitude": 102.7785588, - "latitude": 32.72665098 - }, - "managementHouse": { - "longitude": 102.77903691, - "latitude": 32.72696452 - } - }, - "contacts": { - "owner": "西夏唐美" - }, - "metrics": {}, - "attributes": { - "project": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目" - } - } - ] - }, - { - "categoryCode": "YC-BREEDING-BASE", - "categoryName": "标准化养殖基地", - "industryStage": "scale-breeding", - "sources": [ - "详细数据清单-归档(1).xlsx:标准化养殖基地" - ], - "itemCount": 19, - "items": [ - { - "id": "YC-BREEDING-BASE-001", - "name": "阿木乡卡口村标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "阿木乡卡口乡", - "status": "正常运营", - "longitude": 102.63473007, - "latitude": 32.92227975, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 429, - "年出栏量 (头)": 35 - }, - "attributes": { - "运营单位": "阿木乡卡口村村集体经济", - "建设 / 升级年份": "2022年", - "监控设备情况": "已接入" - } - }, - { - "id": "YC-BREEDING-BASE-002", - "name": "瓦切唐日标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "唐日村", - "status": "正常运营", - "longitude": 102.6175964, - "latitude": 33.10971976, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 250 - }, - "attributes": { - "运营单位": "瓦切镇唐日村村集体经济", - "建设 / 升级年份": "2023年", - "监控设备情况": "已接入" - } - }, - { - "id": "YC-BREEDING-BASE-003", - "name": "瓦切镇标准化色永村养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "瓦切镇色永村", - "status": "正常运营", - "longitude": 102.62460529, - "latitude": 33.13967122, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 600, - "年出栏量 (头)": 1300 - }, - "attributes": { - "运营单位": "红原县高原犇犇农副产品有限公司", - "建设 / 升级年份": "2023年", - "监控设备情况": "2个在线,2个离线。电路在维修" - } - }, - { - "id": "YC-BREEDING-BASE-004", - "name": "瓦切镇达俄村标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "瓦切镇达俄村", - "status": "正常运营", - "longitude": 102.61994774, - "latitude": 33.07151208, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 500, - "年出栏量 (头)": 90 - }, - "attributes": { - "运营单位": "红原县雅卓阳养殖农民专业合作社", - "建设 / 升级年份": "2024年", - "监控设备情况": "3个设备离线,电线被施工方挖断了" - } - }, - { - "id": "YC-BREEDING-BASE-005", - "name": "安曲牦牛扩繁基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "夺龙村", - "status": "正常运营", - "longitude": 102.32214229, - "latitude": 32.64253259, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 200 - }, - "attributes": { - "运营单位": "红原县雅克农业开发有限责任公司", - "建设 / 升级年份": "2022年", - "监控设备情况": "已接入" - } - }, - { - "id": "YC-BREEDING-BASE-006", - "name": "安曲标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "夺龙村", - "status": "正常运营", - "longitude": 102.32390544, - "latitude": 32.63888471, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 600, - "年出栏量 (头)": 1300 - }, - "attributes": { - "运营单位": "红原县高原犇犇农副产品有限公司", - "建设 / 升级年份": "2022年", - "监控设备情况": "已接入" - } - }, - { - "id": "YC-BREEDING-BASE-007", - "name": "安曲下哈拉玛标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "安曲下哈拉玛村", - "status": "正常运营", - "longitude": 102.42837241, - "latitude": 32.7425359, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 100, - "年出栏量 (头)": 30 - }, - "attributes": { - "运营单位": "安曲下哈拉玛村村集体经济", - "建设 / 升级年份": "2023年", - "监控设备情况": "已接入" - } - }, - { - "id": "YC-BREEDING-BASE-008", - "name": "龙日坝标准化养殖基地 (2023)", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "龙日坝村", - "status": "正常运营", - "longitude": 102.38394817, - "latitude": 32.44966887, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 600, - "年出栏量 (头)": 1400 - }, - "attributes": { - "运营单位": "红原县雅克农业开发有限责任公司", - "建设 / 升级年份": 2023, - "监控设备情况": "等他们要到设备账号,然后再接入平台。" - } - }, - { - "id": "YC-BREEDING-BASE-009", - "name": "龙日坝标准化养殖基地 (2025)", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "龙日坝村", - "status": "正常运营", - "longitude": 102.38126323, - "latitude": 32.44955785, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 3000, - "年出栏量 (头)": 11000 - }, - "attributes": { - "运营单位": "红原县高原犇犇农副产品有限公司", - "建设 / 升级年份": 2025, - "监控设备情况": "预计月底完成设备安装,完成后再接入平台。" - } - }, - { - "id": "YC-BREEDING-BASE-010", - "name": "刷经寺嚷口标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "嚷口村", - "status": "正常运营", - "longitude": 102.48723433, - "latitude": 32.20562585, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 600 - }, - "attributes": { - "运营单位": "四川川数农牧科技有限公司", - "建设 / 升级年份": "2023年", - "监控设备情况": "已接入" - } - }, - { - "id": "YC-BREEDING-BASE-011", - "name": "麦洼乡标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "洞拉村", - "status": "正常运营", - "longitude": 102.90867472, - "latitude": 33.07181647, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 500, - "年出栏量 (头)": 1300 - }, - "attributes": { - "运营单位": "红原县高原犇犇农副产品有限公司", - "建设 / 升级年份": "2023年", - "监控设备情况": "断电导致设备离线" - } - }, - { - "id": "YC-BREEDING-BASE-012", - "name": "江茸绵羊养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "茸日村", - "status": "正常运营", - "longitude": 102.26005599, - "latitude": 32.50027984, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 502, - "年出栏量 (头)": 151 - }, - "attributes": { - "运营单位": "江茸乡茸日玛村集体经济", - "建设 / 升级年份": "2023年", - "监控设备情况": "没有设备" - } - }, - { - "id": "YC-BREEDING-BASE-013", - "name": "邛溪镇麻萨阳德村标准化养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "麻色阳德村", - "status": "正常运营", - "longitude": 102.55803526, - "latitude": 32.83725412, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 600, - "年出栏量 (头)": 400 - }, - "attributes": { - "运营单位": "红原县祥发牧业发展有限责任公司", - "建设 / 升级年份": 2024, - "监控设备情况": "等待联系具体情况" - } - }, - { - "id": "YC-BREEDING-BASE-014", - "name": "阿木乡峨扎村养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "峨扎村", - "status": "正常运营", - "longitude": 102.84054893, - "latitude": 32.81675104, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 114, - "年出栏量 (头)": 16 - }, - "attributes": { - "运营单位": "阿木乡", - "建设 / 升级年份": "2022年", - "监控设备情况": "没有设备" - } - }, - { - "id": "YC-BREEDING-BASE-015", - "name": "查尔玛查龙村养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "红原县查尔玛乡查龙村", - "status": "正常运营", - "longitude": 101.95890418, - "latitude": 32.3869733, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 83, - "年出栏量 (头)": 511 - }, - "attributes": { - "运营单位": "红原县查尔玛乡查龙村股份经济合作联合社", - "建设 / 升级年份": 2025, - "监控设备情况": "没有设备" - } - }, - { - "id": "YC-BREEDING-BASE-016", - "name": "查尔玛什布龙养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "红原县查尔玛乡什布龙村", - "status": "正常运营", - "longitude": 102.11433108, - "latitude": 32.42652249, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 60, - "年出栏量 (头)": 286 - }, - "attributes": { - "运营单位": "红原县查尔玛乡什布龙村股份经济合作联合社", - "建设 / 升级年份": 2022, - "监控设备情况": "没有设备" - } - }, - { - "id": "YC-BREEDING-BASE-017", - "name": "查尔玛达尔龙养殖基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "红原县查尔玛乡达尔龙村", - "status": "正常运营", - "longitude": 102.11709449, - "latitude": 32.4529061, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 147, - "年出栏量 (头)": 283 - }, - "attributes": { - "运营单位": "红原县查尔玛乡达尔龙村村股份经济合作联合社", - "建设 / 升级年份": 2024, - "监控设备情况": "没有设备" - } - }, - { - "id": "YC-BREEDING-BASE-018", - "name": "安曲下哈拉玛改良繁育基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "安曲下哈拉玛村", - "status": "正常运营", - "longitude": 102.47817887, - "latitude": 32.77041412, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 100, - "年出栏量 (头)": 30 - }, - "attributes": { - "运营单位": "安曲下哈拉玛村村集体经济", - "监控设备情况": "没有设备" - } - }, - { - "id": "YC-BREEDING-BASE-019", - "name": "麦洼利群合作社", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "标准化养殖基地", - "town": null, - "address": "麦洼乡滚塘村", - "status": "正常运营", - "longitude": 102.91754148, - "latitude": 33.05358447, - "contacts": {}, - "metrics": { - "设计存栏量 (头)": 400, - "年出栏量 (头)": 351 - }, - "attributes": { - "运营单位": "红原县鑫陶一家农业发展专业合作社", - "建设 / 升级年份": "2022年", - "监控设备情况": "没有设备" - } - } - ] - }, - { - "categoryCode": "YC-BREEDING-STOCK", - "categoryName": "育种繁育场", - "industryStage": "scale-breeding", - "sources": [ - "详细数据清单-归档(1).xlsx:育种场" - ], - "itemCount": 4, - "items": [ - { - "id": "YC-BREEDING-STOCK-001", - "name": "安曲牦牛扩繁基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "育种场", - "town": null, - "address": "安曲镇XX村", - "status": "正常运营", - "longitude": 102.32214229, - "latitude": 32.64253259, - "contacts": {}, - "metrics": {}, - "attributes": { - "简称": "安曲育种场", - "运营单位": "红原县雅克农业开发有限责任公司", - "育种等级": "县级", - "主要育种方向": "良种扩繁", - "基本介绍": "管理用房X间、厂房几间、占地多少、人员多少等。" - } - }, - { - "id": "YC-BREEDING-STOCK-002", - "name": "龙日镇农科院扩繁基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "育种场", - "town": null, - "address": null, - "status": "正常运营", - "longitude": 102.2948457, - "latitude": 32.52975262, - "contacts": {}, - "metrics": {}, - "attributes": { - "简称": "龙日种畜场", - "运营单位": "阿坝州农科院", - "建设 / 升级年份": 2024, - "育种等级": "省级", - "主要育种方向": "原种保护与选育", - "监控设备情况": "设备不支持" - } - }, - { - "id": "YC-BREEDING-STOCK-003", - "name": "龙日坝原种场", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "育种场", - "town": null, - "address": null, - "status": "正常运营", - "longitude": 102.29621044, - "latitude": 32.52968225, - "contacts": {}, - "metrics": {}, - "attributes": { - "简称": "龙日原种场", - "运营单位": "阿坝州农科院", - "育种等级": "省级", - "主要育种方向": "麦洼牦牛原种保护", - "监控设备情况": "设备不支持" - } - }, - { - "id": "YC-BREEDING-STOCK-004", - "name": "麦洼洞拉村达坤玛选育场", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "育种场", - "town": null, - "address": null, - "status": null, - "longitude": 102.90220018, - "latitude": 33.07630283, - "contacts": {}, - "metrics": {}, - "attributes": { - "运营单位": "麦洼乡", - "监控设备情况": "没有设备" - } - } - ] - }, - { - "categoryCode": "YC-FORAGE-BASE", - "categoryName": "种草饲草基地", - "industryStage": "artificial-grassland", - "sources": [ - "详细数据清单-归档(1).xlsx:种草饲草基地" - ], - "itemCount": 8, - "items": [ - { - "id": "YC-FORAGE-BASE-001", - "name": "红原机场种草基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": "龙日镇", - "address": null, - "status": "正常运营", - "longitude": 102.3421702, - "latitude": 32.56665418, - "contacts": {}, - "metrics": { - "种植面积 (亩)": 1000 - }, - "attributes": { - "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" - } - }, - { - "id": "YC-FORAGE-BASE-002", - "name": "龙日镇饲草种植基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": "龙日镇", - "address": null, - "status": "正常运营", - "longitude": 102.41691162, - "latitude": 32.4065831, - "contacts": {}, - "metrics": { - "种植面积 (亩)": 10000 - }, - "attributes": { - "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" - } - }, - { - "id": "YC-FORAGE-BASE-003", - "name": "安曲饲草基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": "安曲镇", - "address": null, - "status": "正常运营", - "longitude": 102.42757952, - "latitude": 32.74443722, - "contacts": {}, - "metrics": { - "种植面积 (亩)": 2000 - }, - "attributes": { - "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" - } - }, - { - "id": "YC-FORAGE-BASE-004", - "name": "瓦切饲草基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": "瓦切镇", - "address": null, - "status": "正常运营", - "longitude": 102.59922971, - "latitude": 33.10319702, - "contacts": {}, - "metrics": { - "种植面积 (亩)": 7000 - }, - "attributes": { - "主要草种": "燕麦草1年生,披碱草、老芒麦多年生" - } - }, - { - "id": "YC-FORAGE-BASE-005", - "name": "江茸饲草基地", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": null, - "address": null, - "status": null, - "longitude": 102.26164962, - "latitude": 32.50057455, - "contacts": {}, - "metrics": { - "种植面积 (亩)": 1000 - }, - "attributes": {} - }, - { - "id": "YC-FORAGE-BASE-006", - "name": "畜牧工作站", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - }, - { - "id": "YC-FORAGE-BASE-007", - "name": "规划建设股", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - }, - { - "id": "YC-FORAGE-BASE-008", - "name": "数据欠缺,请两个股室核定饲草基地数据。", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "种草饲草基地", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-DISASTER-FORAGE-STORAGE", - "categoryName": "防灾减灾饲草储备库", - "industryStage": "forage-storage", - "sources": [ - "详细数据清单-归档(1).xlsx:防灾减灾饲草储备库" - ], - "itemCount": 7, - "items": [ - { - "id": "YC-DISASTER-FORAGE-STORAGE-001", - "name": "嚷口防灾减灾饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "刷经寺镇", - "address": "壤口村", - "status": "正常运营", - "longitude": 102.489619, - "latitude": 32.20577086, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "红原县农业农村局", - "储备草种": "燕麦草、披碱草、老芒麦" - } - }, - { - "id": "YC-DISASTER-FORAGE-STORAGE-002", - "name": "安曲防灾减灾饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "安曲镇", - "address": "夺龙村", - "status": "正常运营", - "longitude": 102.3283137, - "latitude": 32.63727531, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "红原县农业农村局", - "储备草种": "燕麦草、披碱草、老芒麦" - } - }, - { - "id": "YC-DISASTER-FORAGE-STORAGE-003", - "name": "瓦切唐日合作社饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "瓦切镇", - "address": "唐日村", - "status": "正常运营", - "longitude": 102.6162349, - "latitude": 33.11047864, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "瓦切唐日合作社", - "储备草种": "燕麦草、披碱草、老芒麦" - } - }, - { - "id": "YC-DISASTER-FORAGE-STORAGE-004", - "name": "瓦切牧草交易中心饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "瓦切镇", - "address": "达俄村", - "status": "正常运营", - "longitude": 102.6014834, - "latitude": 33.09604707, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "红原县农业农村局", - "储备草种": "燕麦草、披碱草、老芒麦" - } - }, - { - "id": "YC-DISASTER-FORAGE-STORAGE-005", - "name": "龙日坝龙日坝村 1 饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "龙日镇", - "address": "龙日坝村", - "status": "正常运营", - "longitude": 102.383916, - "latitude": 32.44992916, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "红原县农业农村局", - "储备草种": "燕麦草、披碱草、老芒麦" - } - }, - { - "id": "YC-DISASTER-FORAGE-STORAGE-006", - "name": "龙日坝龙日坝村 2 饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "龙日镇", - "address": "龙日坝村", - "status": "正常运营", - "longitude": 102.3834086, - "latitude": 32.45041994, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "红原县农业农村局", - "储备草种": "燕麦草、披碱草、老芒麦" - } - }, - { - "id": "YC-DISASTER-FORAGE-STORAGE-007", - "name": "江茸乡饲草储备库", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "防灾减灾饲草储备库", - "town": "江茸乡", - "address": "茸日玛村", - "status": "正常运营", - "longitude": 102.256868, - "latitude": 32.46996565, - "contacts": {}, - "metrics": { - "总库容 (吨)": 1500, - "发放次数": "3-4次" - }, - "attributes": { - "上级单位": "江茸乡", - "储备草种": "燕麦草、披碱草、老芒麦" - } - } - ] - }, - { - "categoryCode": "YC-PROCESSING-PLANT", - "categoryName": "加工厂", - "industryStage": "slaughter-processing", - "sources": [ - "详细数据清单-归档(1).xlsx:加工厂" - ], - "itemCount": 9, - "items": [ - { - "id": "YC-PROCESSING-PLANT-001", - "name": "西部牦牛产业集团有限责任公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路37号", - "status": "存续(在营)", - "longitude": 102.5292, - "latitude": 32.7917, - "contacts": { - "leader": "税晓燕", - "phone": 13348993961 - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "约 50吨/日", - "年加工鲜奶总量 (吨)": 3000, - "年产值 (万元)": 30000, - "带动本地农户数": 6000, - "原料奶冷藏能力 (吨)": 400 - }, - "attributes": { - "SC 许可证号": "SC10551323300016", - "主要产品": "牦牛奶粉", - "奶源来源": "红原县及周边", - "产品销售范围": "全国" - } - }, - { - "id": "YC-PROCESSING-PLANT-002", - "name": "四川红原菊乐牦牛乳业有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路76号附6号", - "status": "存续(在营)", - "longitude": 102.5666, - "latitude": 32.8179, - "contacts": { - "leader": "刘鑫森", - "phone": 18581879298 - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "约240吨/日", - "年加工鲜奶总量 (吨)": 4000, - "年产值 (万元)": 7000, - "带动本地农户数": 600, - "原料奶冷藏能力 (吨)": 2000 - }, - "attributes": { - "SC 许可证号": "SC10551323300032", - "主要产品": "圣舟牦牛奶", - "奶源来源": "红原县及周边", - "产品销售范围": "全国、四川为主" - } - }, - { - "id": "YC-PROCESSING-PLANT-003", - "name": "四川雅克乳业有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆西路", - "status": "存续(在营)", - "longitude": 102.5315, - "latitude": 32.7921, - "contacts": { - "leader": "徐瑞", - "phone": 18628189868 - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "约 2吨/日", - "年加工鲜奶总量 (吨)": 1000, - "年产值 (万元)": 3000, - "带动本地农户数": 200, - "原料奶冷藏能力 (吨)": "无(委托)" - }, - "attributes": { - "SC 许可证号": "SC10551323300032(委托)", - "主要产品": "牦牛酸奶、牦牛奶粉、牦牛奶冰淇淋(", - "奶源来源": "红原县及周边", - "产品销售范围": "四川" - } - }, - { - "id": "YC-PROCESSING-PLANT-004", - "name": "企业全称", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "详细地址", - "status": "运营状态", - "longitude": null, - "latitude": null, - "contacts": { - "leader": "负责人", - "phone": "联系电话" - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "设计日加工能力 (吨)", - "年加工鲜奶总量 (吨)": "年加工原料肉总量 (吨)", - "年产值 (万元)": "年产值 (万元)", - "带动本地农户数": "带动本地农户数", - "原料奶冷藏能力 (吨)": "冷库容量 (吨)" - }, - "attributes": { - "SC 许可证号": "SC 许可证号", - "主要产品": "主要产品", - "奶源来源": "原料来源", - "产品销售范围": "产品销售范围" - } - }, - { - "id": "YC-PROCESSING-PLANT-005", - "name": "四川红原遛遛牛食品有限责任公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆东路72号", - "status": "存续(在营)", - "longitude": 102.5592, - "latitude": 32.8151, - "contacts": { - "leader": "王加立", - "phone": 13982065805 - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "约15吨/日", - "年加工鲜奶总量 (吨)": "约4500吨/年", - "年产值 (万元)": "约8000万元", - "带动本地农户数": 400, - "原料奶冷藏能力 (吨)": 1000 - }, - "attributes": { - "SC 许可证号": "SC10451323300028", - "主要产品": "风干牦牛肉、手撕牦牛肉、卤制牦牛肉、牦牛肉酱", - "奶源来源": "红原县及周边麦洼牦牛", - "产品销售范围": "全国、四川为主" - } - }, - { - "id": "YC-PROCESSING-PLANT-006", - "name": "四川红原黑帐篷牦牛肉食品有限责任公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县邛溪镇瑞庆中路", - "status": "存续(在营)", - "longitude": 102.551, - "latitude": 32.7987, - "contacts": { - "leader": "龙国胜", - "phone": "0837-8994333" - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "约 1吨/日", - "年加工鲜奶总量 (吨)": "约300吨/年", - "年产值 (万元)": 1000, - "带动本地农户数": 200, - "原料奶冷藏能力 (吨)": 200 - }, - "attributes": { - "主要产品": "风干牦牛肉、手撕牦牛肉、卤牦牛肉、牦牛肉礼包", - "奶源来源": "红原本地麦洼牦牛", - "产品销售范围": "全国、四川为主" - } - }, - { - "id": "YC-PROCESSING-PLANT-007", - "name": "红原御坊斋牦牛肉制品厂", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县邛溪镇阳嘎北街", - "status": "存续(在营)", - "longitude": 102.5431, - "latitude": 32.7962, - "contacts": { - "leader": "陈远明", - "phone": "0837-2662837" - }, - "metrics": { - "设计日处理鲜奶能力 (吨)": "约 0.5吨/日", - "年加工鲜奶总量 (吨)": "约200吨/年", - "年产值 (万元)": 600, - "带动本地农户数": 100, - "原料奶冷藏能力 (吨)": 100 - }, - "attributes": { - "SC 许可证号": "SC10451323300036", - "主要产品": "牛肉干、卤牦牛肉、手撕牦牛肉、牦牛肉粒", - "奶源来源": "红原本地麦洼牦牛", - "产品销售范围": "四川" - } - }, - { - "id": "YC-PROCESSING-PLANT-008", - "name": "四川牦牛火了生态农业科技有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": "四川省阿坝藏族羌族自治州红原县瑞庆中路13号附1号", - "status": "存续(在营)", - "longitude": 102.5402, - "latitude": 32.7958, - "contacts": { - "leader": "王忠波", - "phone": 18980978767 - }, - "metrics": { - "年产值 (万元)": 500 - }, - "attributes": { - "主要产品": "包装牦牛肉干", - "奶源来源": "红原及周边加工厂成品", - "产品销售范围": "四川" - } - }, - { - "id": "YC-PROCESSING-PLANT-009", - "name": "农产品检测站", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "加工厂", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-SLAUGHTERHOUSE", - "categoryName": "屠宰厂", - "industryStage": "slaughter-processing", - "sources": [ - "详细数据清单-归档(1).xlsx:屠宰厂" - ], - "itemCount": 7, - "items": [ - { - "id": "YC-SLAUGHTERHOUSE-001", - "name": "红原宏牦牛肉食品有限责任公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": "四川省阿坝州红原县邛溪镇桑青路11号", - "status": "正常", - "longitude": 102.53333333, - "latitude": 32.78333333, - "contacts": { - "leader": "蒋悦南", - "phone": 13909047031 - }, - "metrics": { - "设计日屠宰能力 (头)": 200, - "年屠宰总量 (头)": 20000, - "冷冻库容量 (吨)": 800, - "年总产值 (万元)": "2000-5000" - }, - "attributes": { - "环保达标情况": "已达标" - } - }, - { - "id": "YC-SLAUGHTERHOUSE-002", - "name": "红原县永源牦牛肉业有限责任公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": "红原县绿色产业园区", - "status": "正常", - "longitude": 102.56055556, - "latitude": 32.82, - "contacts": { - "leader": "张建", - "phone": 13541231860 - }, - "metrics": { - "设计日屠宰能力 (头)": 167, - "年屠宰总量 (头)": 20000, - "冷冻库容量 (吨)": 2400, - "年总产值 (万元)": 2046 - }, - "attributes": { - "定点屠宰证号": "A29191301", - "环保达标情况": "达标" - } - }, - { - "id": "YC-SLAUGHTERHOUSE-003", - "name": "红原新希望牦牛产业有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": "红原县邛溪镇绿色工业园区内", - "status": "正常", - "longitude": 9175.41666667, - "latitude": 13213.51666667, - "contacts": { - "leader": "柴建", - "phone": "17778545888" - }, - "metrics": { - "设计日屠宰能力 (头)": 300, - "年屠宰总量 (头)": 10000, - "冷冻库容量 (吨)": 3000, - "年总产值 (万元)": 4048.63 - }, - "attributes": { - "环保达标情况": "达标" - } - }, - { - "id": "YC-SLAUGHTERHOUSE-004", - "name": "红原县天交畜牧科技有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": "红原县邛溪镇绿色产业园区瑞庆东路76号附5号", - "status": "正常", - "longitude": 102.90083333, - "latitude": 33.33083333, - "contacts": { - "leader": "余震", - "phone": 18080930003 - }, - "metrics": { - "设计日屠宰能力 (头)": 150, - "年屠宰总量 (头)": 18000, - "冷冻库容量 (吨)": 2000, - "年总产值 (万元)": 1200 - }, - "attributes": { - "环保达标情况": "达标" - } - }, - { - "id": "YC-SLAUGHTERHOUSE-005", - "name": "红原县雪月天佑农牧科技有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - }, - { - "id": "YC-SLAUGHTERHOUSE-006", - "name": "红原牦牛肉食品有限责任公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - }, - { - "id": "YC-SLAUGHTERHOUSE-007", - "name": "执法大队", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "屠宰厂", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-FARM-EQUIPMENT", - "categoryName": "农机装备", - "industryStage": "farm-equipment", - "sources": [ - "详细数据清单-归档(1).xlsx:农机装备" - ], - "itemCount": 2, - "items": [ - { - "id": "YC-FARM-EQUIPMENT-001", - "name": "红原县益众农业机械服务专业合作社", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "农机装备", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "简称": "益众农机" - } - }, - { - "id": "YC-FARM-EQUIPMENT-002", - "name": "农机监理站", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "农机装备", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-DISEASE-CONTROL", - "categoryName": "疫病防控", - "industryStage": "social-service", - "sources": [ - "详细数据清单-归档(1).xlsx:疫病防控" - ], - "itemCount": 3, - "items": [ - { - "id": "YC-DISEASE-CONTROL-001", - "name": "红原县高原牧歌农业科技有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "疫病防控", - "town": null, - "address": "邛溪镇", - "status": null, - "longitude": 102.54861991, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - }, - { - "id": "YC-DISEASE-CONTROL-002", - "name": "红原县动物疫病预防控制中心", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "疫病防控", - "town": null, - "address": "邛溪镇", - "status": null, - "longitude": 102.54852894, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - }, - { - "id": "YC-DISEASE-CONTROL-003", - "name": "疫控中心", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "疫病防控", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-TECH-TRAINING", - "categoryName": "技术培训", - "industryStage": "social-service", - "sources": [ - "详细数据清单-归档(1).xlsx:技术培训" - ], - "itemCount": 8, - "items": [ - { - "id": "YC-TECH-TRAINING-001", - "name": "四川省草科院", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": "瓦切镇", - "address": "国家级牧草基地", - "status": null, - "longitude": null, - "latitude": null, - "contacts": { - "expertTeam": "游明鸿、季晓菲、官久强、安添午、赵文吉、贾国夫等", - "contactPerson": "游明鸿", - "phone": 13880288056 - }, - "metrics": { - "年培训场次": "‘2-3", - "年培训人次": "80-100", - "单次最大容纳人数": 40, - "下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" - }, - "attributes": { - "序号": 1, - "机构类型": "科研院所", - "主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", - "最近培训时间": "7月" - } - }, - { - "id": "YC-TECH-TRAINING-002", - "name": "乡村振兴科技特派团", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": "全县覆盖", - "address": "县农业农村局", - "status": null, - "longitude": null, - "latitude": null, - "contacts": { - "expertTeam": "游明鸿、季晓菲、刘琳、官久强、安添午、赵文吉等", - "contactPerson": "游明鸿", - "phone": 13880288056 - }, - "metrics": { - "年培训场次": "’3-4", - "年培训人次": "100-150", - "单次最大容纳人数": 40, - "下期培训计划(时间 + 内容)": "8月,草产品加工、放牧+补饲、中藏药材栽培管理等" - }, - "attributes": { - "序号": 2, - "机构类型": "政府派出机构", - "主要培训内容": "栽培草种推荐、牧草栽培与草产品加工、牦牛疫病防治、放牧+补饲、道地和特色优势中藏药材栽培技术等", - "最近培训时间": "7月" - } - }, - { - "id": "YC-TECH-TRAINING-003", - "name": "中国科学院", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": "邛溪镇", - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": 3, - "机构类型": "国家级科研机构" - } - }, - { - "id": "YC-TECH-TRAINING-004", - "name": "红原县畜牧业高质量发展专家工作站", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": "邛溪镇", - "address": "县畜牧兽医服务中心", - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": 4, - "机构类型": "地方专家平台" - } - }, - { - "id": "YC-TECH-TRAINING-005", - "name": "西南民族大学", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": "邛溪镇", - "address": "红原牦牛研究基地", - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": 5, - "机构类型": "高校" - } - }, - { - "id": "YC-TECH-TRAINING-006", - "name": "阿坝州农科院", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": "马尔康市 / 邛溪镇", - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": 6, - "机构类型": "科研院所" - } - }, - { - "id": "YC-TECH-TRAINING-007", - "name": "对接相关科研院校收集数据", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": "科教股" - } - }, - { - "id": "YC-TECH-TRAINING-008", - "name": "技术培训-8", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "技术培训", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": "科技股" - } - } - ] - }, - { - "categoryCode": "YC-SERVICE-FINANCE", - "categoryName": "金融服务网点", - "industryStage": "social-service", - "sources": [ - "详细数据清单-归档(1).xlsx:金融服务网点" - ], - "itemCount": 4, - "items": [ - { - "id": "YC-SERVICE-FINANCE-001", - "name": "中国农业银行股份有限公司红原县支行", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "金融服务网点", - "town": null, - "address": "红原县邛溪镇阳嘎中街", - "status": null, - "longitude": 102.54, - "latitude": 32.79, - "contacts": { - "contactPerson": "泽旺吉松", - "creditPhone": 13096265881 - }, - "metrics": { - "服务覆盖乡镇数": 10, - "主要贷款产品(可多选)": "惠农e贷、专业大户贷、商户贷、乡旅贷、富民贷、帮扶小额信贷。", - "最高单户贷款额度 (万元)": 150, - "最长贷款期限 (年)": "5年" - }, - "attributes": { - "序号": 1, - "简称": "农行红原支行", - "年利率范围": 0.03, - "还款方式": "等额本息还款、一次性还本按约还息、一次性利随本清、" - } - }, - { - "id": "YC-SERVICE-FINANCE-002", - "name": "四川红原农村商业银行股份有限公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "金融服务网点", - "town": null, - "address": "红原县邛溪镇绛熙中街13号", - "status": null, - "longitude": 102.54, - "latitude": 32.79, - "contacts": { - "contactPerson": "索让东周", - "creditPhone": 18283790555 - }, - "metrics": { - "服务覆盖乡镇数": 9, - "主要贷款产品(可多选)": "小额农贷、生源地信用助学贷款、惠商贷、居民消费贷、消费易贷、个人生产经营贷款、个人综合消费贷款、个人一手住房贷款、一人二手住房贷款", - "最高单户贷款额度 (万元)": 770, - "最长贷款期限 (年)": "生源地信用助学贷款22年、个人一手住房贷款30年、个人贷款5年。" - }, - "attributes": { - "序号": 2, - "简称": "红原农商行", - "年利率范围": "2.1%—5.0%", - "还款方式": "按月结息、按年还本;按月结息,到期一次性还本;等额本息。" - } - }, - { - "id": "YC-SERVICE-FINANCE-003", - "name": "中国邮政储蓄银行股份有限公司红原县支行", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "金融服务网点", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": { - "服务覆盖乡镇数": 9 - }, - "attributes": { - "序号": 3, - "简称": "邮储银行红原支行" - } - }, - { - "id": "YC-SERVICE-FINANCE-004", - "name": "金融服务网点-4", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "金融服务网点", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": "乡村振兴股" - } - } - ] - }, - { - "categoryCode": "YC-SERVICE-INSURANCE", - "categoryName": "保险服务网点", - "industryStage": "social-service", - "sources": [ - "详细数据清单-归档(1).xlsx:保险服务网点" - ], - "itemCount": 4, - "items": [ - { - "id": "YC-SERVICE-INSURANCE-001", - "name": "中华安盟财产保险股份有限公司红原支公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "保险服务网点", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": { - "claimHotline": 95585 - }, - "metrics": { - "服务覆盖乡镇数": 9 - }, - "attributes": { - "序号": 1, - "简称": "中华安盟" - } - }, - { - "id": "YC-SERVICE-INSURANCE-002", - "name": "中国人民财产保险股份有限公司红原支公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "保险服务网点", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": { - "claimHotline": 95518 - }, - "metrics": { - "服务覆盖乡镇数": 9 - }, - "attributes": { - "序号": 2, - "简称": "人保财险" - } - }, - { - "id": "YC-SERVICE-INSURANCE-003", - "name": "中华联合财产保险股份有限公司红原支公司", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "保险服务网点", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": { - "claimHotline": 95585 - }, - "metrics": { - "服务覆盖乡镇数": 9 - }, - "attributes": { - "序号": 3, - "简称": "中华财险" - } - }, - { - "id": "YC-SERVICE-INSURANCE-004", - "name": "保险服务网点-4", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "保险服务网点", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": {}, - "attributes": { - "序号": "疫控中心" - } - } - ] - }, - { - "categoryCode": "YC-GRASSLAND-RESOURCE", - "categoryName": "林草资源数据", - "industryStage": "artificial-grassland", - "sources": [ - "详细数据清单-归档(1).xlsx:林草局数据" - ], - "itemCount": 3, - "items": [ - { - "id": "YC-GRASSLAND-RESOURCE-001", - "name": "林草局数据-1", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "林草局数据", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": { - "灌木林面积": "调整优化意见", - "围栏封育面积": "ABC 是基本草原", - "生态奖补面积,到每个村": "DE一般草原" - }, - "attributes": {} - }, - { - "id": "YC-GRASSLAND-RESOURCE-002", - "name": "林草局数据-2", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "林草局数据", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": { - "灌木林面积": "基本草原面积:", - "围栏封育面积": 637.127369, - "生态奖补面积,到每个村": "万亩" - }, - "attributes": {} - }, - { - "id": "YC-GRASSLAND-RESOURCE-003", - "name": "林草局数据-3", - "sourceFile": "/Users/mocker/Documents/hy/详细数据清单-归档(1).xlsx", - "sourceSheet": "林草局数据", - "town": null, - "address": null, - "status": null, - "longitude": null, - "latitude": null, - "contacts": {}, - "metrics": { - "灌木林面积": "一般草原面积", - "围栏封育面积": 119.301972, - "生态奖补面积,到每个村": "万亩" - }, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-CXPT-BREEDING-BASE", - "categoryName": "cxpt养殖基地", - "industryStage": "scale-breeding", - "sources": [ - "cxpt.t_base_land" - ], - "itemCount": 28, - "items": [ - { - "id": "2c9380898a69780a018a69a6e4d30001", - "name": "下哈拉玛标准化养殖基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233103202", - "areaName": "下哈拉玛村", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇下哈拉玛村", - "address": null, - "scale": "1000亩", - "longitude": null, - "latitude": null, - "geometryType": null, - "contacts": { - "leader": "下哈拉玛标准化养殖基地", - "phone": "下哈拉玛标准化养殖基地" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048125ab0001", - "name": "刷经寺镇国航专属农场", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233101000", - "areaName": "刷经寺镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", - "address": "红原县刷经寺镇", - "scale": "200亩", - "longitude": 102.60753736, - "latitude": 32.01520185, - "geometryType": "Point", - "contacts": { - "leader": "文明智", - "phone": "18372667181" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028816489fc57730189fc6a28c60001", - "name": "唐日标准化养殖基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233", - "areaName": "红原县", - "areaFullName": "四川省阿坝藏族羌族自治州红原县", - "address": "红原", - "scale": "1000", - "longitude": 102.52418747, - "latitude": 32.7965246, - "geometryType": "Polygon", - "contacts": { - "leader": "唐日标准化养殖基地", - "phone": "18090242999" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870482432f000f", - "name": "国航专属农牧场", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": null, - "scale": null, - "longitude": 102.611698, - "latitude": 32.928581, - "geometryType": "Point", - "contacts": { - "phone": "13888888888" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870483afc00027", - "name": "央诺尔畜牧专业合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233205000", - "areaName": "阿木乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", - "address": "四川省红原县阿木乡", - "scale": null, - "longitude": 102.64730957, - "latitude": 32.94532722, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704828d450013", - "name": "安曲哈拉玛合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233103000", - "areaName": "安曲镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", - "address": null, - "scale": null, - "longitude": 102.32834969, - "latitude": 32.64290686, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870483a0800026", - "name": "安曲家庭农场", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233103000", - "areaName": "安曲镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", - "address": "红原县安曲牧场(近209省道)", - "scale": null, - "longitude": 102.38834969, - "latitude": 32.69290686, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048291f90014", - "name": "安曲抗灾保畜基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233103000", - "areaName": "安曲镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", - "address": null, - "scale": null, - "longitude": 102.30834969, - "latitude": 32.67290686, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048318f2001b", - "name": "尚源牧业发展有限责任公司", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇", - "scale": null, - "longitude": 102.53242152, - "latitude": 32.81168014, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704814a8d0005", - "name": "更攀合作总社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇瑞庆西路", - "scale": "154244亩", - "longitude": 102.583582, - "latitude": 32.830854, - "geometryType": "Point", - "contacts": { - "phone": "18789497898" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870482e47c0015", - "name": "查尔玛乡查龙合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233203000", - "areaName": "查尔玛乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", - "address": null, - "scale": null, - "longitude": 101.96111079, - "latitude": 32.36851156, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704812a950002", - "name": "查尔玛乡达尔龙合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233202000", - "areaName": "江茸乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", - "address": null, - "scale": "388680亩", - "longitude": 102.25164714, - "latitude": 32.34434154, - "geometryType": "Point", - "contacts": { - "phone": "13666666666" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870482ee200016", - "name": "查尔玛乡达智合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233203000", - "areaName": "查尔玛乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", - "address": null, - "scale": null, - "longitude": 102.10243332, - "latitude": 32.5533277, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028816489fc81de0189fc8dd5c90000", - "name": "查尔玛标准养殖基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233203000", - "areaName": "查尔玛乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县查尔玛乡", - "address": "查尔玛乡", - "scale": "200", - "longitude": null, - "latitude": null, - "geometryType": null, - "contacts": { - "leader": "查尔玛标准养殖基地", - "phone": "13696856985" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "2c9380898a69780a018a69a654f90000", - "name": "瓦切卡口乡标准化养殖基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": "2000", - "longitude": null, - "latitude": null, - "geometryType": null, - "contacts": { - "leader": "瓦切卡口乡标准化养殖基地", - "phone": "瓦切卡口乡标准化养殖基地" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "2c9380898a69780a018a69a7484e0002", - "name": "瓦切唐日标准化养殖基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233204201", - "areaName": "唐日村", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇唐日村", - "address": null, - "scale": "1000亩", - "longitude": null, - "latitude": null, - "geometryType": null, - "contacts": { - "leader": "瓦切唐日标准化养殖基地", - "phone": "瓦切唐日标准化养殖基地" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870483561f0020", - "name": "瓦切德香村合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": "1800亩", - "longitude": 102.60756103, - "latitude": 33.16501517, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704836a0f0022", - "name": "瓦切罗尔江合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": "5000亩", - "longitude": 102.61692465, - "latitude": 33.07321484, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048271970011", - "name": "瓦切镇达峨村种草大户泽郎夺尔基", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": "红原县瓦切镇达峨村", - "scale": "2000余平方千米", - "longitude": 102.768611, - "latitude": 33.218282, - "geometryType": "Point", - "contacts": { - "leader": "泽郎夺尔基", - "phone": "18728211722" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048137b80004", - "name": "红原县邛溪镇热多村高产奶牦牛繁育基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇热多村", - "scale": "1000头", - "longitude": 102.607635, - "latitude": 32.899228, - "geometryType": "Point", - "contacts": { - "leader": "桑键", - "phone": "13990407109" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704812f390003", - "name": "红原县麦洼牦牛现代农业园区", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233105000", - "areaName": "龙日镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", - "address": null, - "scale": "664.2亩", - "longitude": 102.523105, - "latitude": 32.470534, - "geometryType": "Point", - "contacts": { - "leader": "李先生", - "phone": "13926576971" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048339ee001e", - "name": "红原雪玛格牦牛养殖合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233101000", - "areaName": "刷经寺镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", - "address": null, - "scale": null, - "longitude": 102.48668882, - "latitude": 32.20779478, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048349d4001f", - "name": "色地让里村合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233208000", - "areaName": "色地镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县色地镇", - "address": null, - "scale": "2000平方米", - "longitude": 102.97944868, - "latitude": 32.99718428, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048300bb0019", - "name": "邛溪国航奶牛基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇", - "scale": null, - "longitude": 102.60973364, - "latitude": 32.93442417, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704830f93001a", - "name": "邛溪国航肉牛基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇", - "scale": null, - "longitude": 102.5857137, - "latitude": 32.9178444, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704832780001d", - "name": "邛溪镇奇杨益西合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233103000", - "areaName": "安曲镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", - "address": null, - "scale": "3355.4亩", - "longitude": 102.51815641, - "latitude": 32.7759152, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048288e30012", - "name": "阿木乡卡口养殖基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233205000", - "areaName": "阿木乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", - "address": "四川省红原县阿木乡", - "scale": null, - "longitude": 102.66730957, - "latitude": 32.90532722, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870482f79f0018", - "name": "麦洼乡利群合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_base", - "categoryNameRaw": "养殖基地", - "areaCode": "513233207000", - "areaName": "麦洼乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", - "address": "四川省阿坝藏族羌族自治州红原县麦洼乡滚塘村", - "scale": "1万亩", - "longitude": 102.91804548, - "latitude": 33.05789166, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-CXPT-FORAGE-BASE", - "categoryName": "cxpt饲草基地", - "industryStage": "artificial-grassland", - "sources": [ - "cxpt.t_base_land" - ], - "itemCount": 5, - "items": [ - { - "id": "2c9380898a69780a018a69a7c9b10003", - "name": "安曲种草基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "forage_base", - "categoryNameRaw": "饲草基地", - "areaCode": "513233103000", - "areaName": "安曲镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", - "address": null, - "scale": "5000亩", - "longitude": null, - "latitude": null, - "geometryType": null, - "contacts": { - "leader": "安曲种草基地", - "phone": "安曲种草基地" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704835aae0021", - "name": "瓦切抗灾保畜基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "forage_base", - "categoryNameRaw": "饲草基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": "3000亩", - "longitude": 102.58969571, - "latitude": 33.0961638, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048380420023", - "name": "瓦切色永村种草基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "forage_base", - "categoryNameRaw": "饲草基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": "2000亩", - "longitude": 102.63066554, - "latitude": 33.14234459, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870483927c0025", - "name": "瓦切镇特色蔬菜种植园", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "forage_base", - "categoryNameRaw": "饲草基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": null, - "longitude": 102.5959684, - "latitude": 33.08257632, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870481a0d10006", - "name": "红原县唐日牦牛养殖农民专业合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "forage_base", - "categoryNameRaw": "饲草基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": "红原县瓦切镇唐日村", - "scale": "2000亩", - "longitude": 102.690423, - "latitude": 33.134153, - "geometryType": "Point", - "contacts": { - "leader": "旦真贡", - "phone": "18090242999" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-CXPT-BREEDING-STOCK-BASE", - "categoryName": "cxpt种畜基地", - "industryStage": "scale-breeding", - "sources": [ - "cxpt.t_base_land" - ], - "itemCount": 1, - "items": [ - { - "id": "4028c4f88704809e01870482f2de0017", - "name": "麦洼乡达坤玛选育场", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "breeding_stock_base", - "categoryNameRaw": "种畜基地", - "areaCode": "513233207000", - "areaName": "麦洼乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县麦洼乡", - "address": null, - "scale": "1万亩", - "longitude": 102.90295791, - "latitude": 33.05466505, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-CXPT-GRASS-SEED-BASE", - "categoryName": "cxpt草种基地", - "industryStage": "artificial-grassland", - "sources": [ - "cxpt.t_base_land" - ], - "itemCount": 1, - "items": [ - { - "id": "4028c4f88704809e018704831d77001c", - "name": "红原县金针菇特色种植园区", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "grass_seed_base", - "categoryNameRaw": "草种基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇", - "scale": null, - "longitude": 102.5421184, - "latitude": 32.79970142, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - } - ] - }, - { - "categoryCode": "YC-CXPT-OTHER-BASE", - "categoryName": "cxpt其他基地", - "industryStage": "social-service", - "sources": [ - "cxpt.t_base_land" - ], - "itemCount": 11, - "items": [ - { - "id": "4028c4f88704809e0187048215ac000e", - "name": "刷经寺镇露地蔬菜种植基地", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233101000", - "areaName": "刷经寺镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县刷经寺镇", - "address": "红原县刷经寺镇", - "scale": null, - "longitude": 102.620282, - "latitude": 32.037843, - "geometryType": "Point", - "contacts": { - "leader": "文明智", - "phone": "0837-2667185" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870482023a000c", - "name": "四川红原遛遛牛食品有限责任公司", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233103000", - "areaName": "安曲镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县安曲镇", - "address": "四川省红原县绿色产业园区", - "scale": "25亩", - "longitude": 102.324776, - "latitude": 32.689929, - "geometryType": "Point", - "contacts": { - "leader": "张自龙", - "phone": "13909047233" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704826d4c0010", - "name": "植物园", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": null, - "scale": null, - "longitude": 102.551944, - "latitude": 32.780316, - "geometryType": "Point", - "contacts": { - "phone": "13888888888" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870481f0a0000a", - "name": "活畜交易市场", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "红原县邛溪镇", - "scale": "3000亩", - "longitude": 102.57314, - "latitude": 32.82984, - "geometryType": "Point", - "contacts": { - "leader": "向白", - "phone": "18090223335" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870481f4e9000b", - "name": "物联网大数据监测系统", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233205000", - "areaName": "阿木乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", - "address": "红原县绿色工业园区", - "scale": "10000", - "longitude": 102.776153, - "latitude": 32.72242, - "geometryType": "Point", - "contacts": { - "leader": "熊先生", - "phone": "13845444444" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e0187048384dc0024", - "name": "瓦切阳诺合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233204000", - "areaName": "瓦切镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县瓦切镇", - "address": null, - "scale": "3000亩", - "longitude": 102.63675654, - "latitude": 33.14253159, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e018704811f290000", - "name": "红原县城市污水处理厂", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": null, - "scale": "2.5公顷", - "longitude": 102.559801, - "latitude": 32.816904, - "geometryType": "Point", - "contacts": {}, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870481b7180008", - "name": "红原县永源牦牛肉业有限公司", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233205000", - "areaName": "阿木乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县阿木乡", - "address": "红原县邛溪镇绿色工业园区", - "scale": "30亩", - "longitude": 102.628332, - "latitude": 32.639351, - "geometryType": "Point", - "contacts": { - "leader": "张健", - "phone": "13566787888" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870482067d000d", - "name": "红原县茸日玛绵羊养殖专业合作社", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233202000", - "areaName": "江茸乡", - "areaFullName": "四川省阿坝藏族羌族自治州红原县江茸乡", - "address": "红原县江茸镇日玛村", - "scale": "5000亩", - "longitude": 102.23279, - "latitude": 32.402614, - "geometryType": "Point", - "contacts": { - "leader": "旦真则旺", - "phone": "13541576727" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870481aa840007", - "name": "红原牦牛乳业有限责任公司", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233100000", - "areaName": "邛溪镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县邛溪镇", - "address": "四川省红原县邛溪镇", - "scale": "92490平方米", - "longitude": 102.747914, - "latitude": 32.802653, - "geometryType": "Point", - "contacts": { - "leader": "杨勇", - "phone": "13551770158" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - }, - { - "id": "4028c4f88704809e01870481cc520009", - "name": "(无害化)红原县宜霖阳光环保科技有限公司", - "sourceFile": "cxpt PostgreSQL database", - "sourceSheet": "t_base_land", - "categoryCodeRaw": "other", - "categoryNameRaw": "其他基地", - "areaCode": "513233105000", - "areaName": "龙日镇", - "areaFullName": "四川省阿坝藏族羌族自治州红原县龙日镇", - "address": "红原县邛溪镇绛熙东街", - "scale": "占地20亩", - "longitude": 102.352372, - "latitude": 32.538109, - "geometryType": "Point", - "contacts": { - "leader": "谢光伍", - "phone": "13609975631" - }, - "metrics": { - "acreage": null - }, - "attributes": {} - } - ] - } - ] -} -`,$W=`{ - "datasetName": "红原县家庭生态牧场建设台账", - "sourceSummary": "红原县2023年至今建设家庭牧场汇总表.xls", - "sourceCoordinates": "红原县2025年适度规模化(生态家庭牧场)家庭牧场项目-户主信息表.xlsx", - "recordUnit": "处", - "recordCount": 252, - "locatedRecordCount": 79, - "records": [ - { - "id": "YC-FAMILY-PASTURE-SUM-001", - "name": "旦巴措家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "旦巴措", - "constructionYear": 2023, - "sourceNo": 1, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "旦巴措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-002", - "name": "兰美家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "兰美", - "constructionYear": 2023, - "sourceNo": 2, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "兰美" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-003", - "name": "求基家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "求基", - "constructionYear": 2023, - "sourceNo": 3, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-004", - "name": "罗日则巴家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "罗日则巴", - "constructionYear": 2023, - "sourceNo": 4, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "罗日则巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-005", - "name": "泽让夺基家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "泽让夺基", - "constructionYear": 2023, - "sourceNo": 5, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽让夺基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-006", - "name": "尕玛让丹家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "尕玛让丹", - "constructionYear": 2023, - "sourceNo": 6, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尕玛让丹" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-007", - "name": "泽郎吉家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "泽郎吉", - "constructionYear": 2023, - "sourceNo": 7, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽郎吉" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-008", - "name": "吴穷家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "吴穷", - "constructionYear": 2023, - "sourceNo": 8, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "吴穷" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-009", - "name": "东周罗吾家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "东周罗吾", - "constructionYear": 2023, - "sourceNo": 9, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "东周罗吾" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-010", - "name": "扎巴家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "扎巴", - "constructionYear": 2023, - "sourceNo": 10, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "扎巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-011", - "name": "尼美青则家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "尼美青则", - "constructionYear": 2023, - "sourceNo": 11, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尼美青则" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-012", - "name": "尕尔玛家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "尕尔玛", - "constructionYear": 2023, - "sourceNo": 12, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尕尔玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-013", - "name": "尼玛甲参家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "尼玛甲参", - "constructionYear": 2023, - "sourceNo": 13, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尼玛甲参" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-014", - "name": "俄热多吉家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "俄热多吉", - "constructionYear": 2023, - "sourceNo": 14, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "俄热多吉" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-015", - "name": "头旦让俄家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "头旦让俄", - "constructionYear": 2023, - "sourceNo": 15, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "头旦让俄" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-016", - "name": "洛真娜姆家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "洛真娜姆", - "constructionYear": 2023, - "sourceNo": 16, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "洛真娜姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-017", - "name": "达洛家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "达洛", - "constructionYear": 2023, - "sourceNo": 17, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "达洛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-018", - "name": "阿旦家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "阿旦", - "constructionYear": 2023, - "sourceNo": 18, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "阿旦" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-019", - "name": "哥扎尕洛家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "哥扎尕洛", - "constructionYear": 2023, - "sourceNo": 19, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "哥扎尕洛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-020", - "name": "让巴家庭生态牧场", - "town": "瓦切镇", - "village": "唐日村", - "owner": "让巴", - "constructionYear": 2023, - "sourceNo": 20, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "让巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-021", - "name": "罗尔让家庭生态牧场", - "town": "瓦切镇", - "village": "唐日村", - "owner": "罗尔让", - "constructionYear": 2023, - "sourceNo": 21, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "罗尔让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-022", - "name": "泽郎扎西家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "泽郎扎西", - "constructionYear": 2023, - "sourceNo": 22, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽郎扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-023", - "name": "更根加家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "更根加", - "constructionYear": 2023, - "sourceNo": 23, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "更根加" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-024", - "name": "周吉家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "周吉", - "constructionYear": 2023, - "sourceNo": 24, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "周吉" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-025", - "name": "南木姐家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "南木姐", - "constructionYear": 2023, - "sourceNo": 25, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "南木姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-026", - "name": "慈陈家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "慈陈", - "constructionYear": 2023, - "sourceNo": 26, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "慈陈" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-027", - "name": "尼西甲家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "尼西甲", - "constructionYear": 2023, - "sourceNo": 27, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尼西甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-028", - "name": "索夺家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "索夺", - "constructionYear": 2023, - "sourceNo": 28, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "索夺" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-029", - "name": "罗让求迫家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "罗让求迫", - "constructionYear": 2023, - "sourceNo": 29, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "罗让求迫" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-030", - "name": "王多家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "王多", - "constructionYear": 2023, - "sourceNo": 30, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "王多" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-031", - "name": "班玛确折家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "班玛确折", - "constructionYear": 2023, - "sourceNo": 31, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "班玛确折" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-032", - "name": "单比甲参家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "单比甲参", - "constructionYear": 2023, - "sourceNo": 32, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "单比甲参" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-033", - "name": "罗日东周家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "罗日东周", - "constructionYear": 2023, - "sourceNo": 33, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "罗日东周" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-034", - "name": "格登甲措家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "格登甲措", - "constructionYear": 2023, - "sourceNo": 34, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "格登甲措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-035", - "name": "泽朗姐家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "泽朗姐", - "constructionYear": 2023, - "sourceNo": 35, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽朗姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-036", - "name": "能周家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "能周", - "constructionYear": 2023, - "sourceNo": 36, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "能周" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-037", - "name": "角布家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "角布", - "constructionYear": 2023, - "sourceNo": 37, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "角布" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-038", - "name": "仁真沙尔夺家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "仁真沙尔夺", - "constructionYear": 2023, - "sourceNo": 38, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "仁真沙尔夺" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-039", - "name": "罗波家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "罗波", - "constructionYear": 2023, - "sourceNo": 39, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "罗波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-040", - "name": "扎西坚措家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "扎西坚措", - "constructionYear": 2023, - "sourceNo": 40, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "扎西坚措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-041", - "name": "求甲家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "求甲", - "constructionYear": 2023, - "sourceNo": 41, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-042", - "name": "卡波家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "卡波", - "constructionYear": 2023, - "sourceNo": 42, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "卡波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-043", - "name": "占扎哥马家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "占扎哥马", - "constructionYear": 2023, - "sourceNo": 43, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "占扎哥马" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-044", - "name": "穷措家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "穷措", - "constructionYear": 2023, - "sourceNo": 44, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "穷措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-045", - "name": "旦巴泽让家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "旦巴泽让", - "constructionYear": 2023, - "sourceNo": 45, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "旦巴泽让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-046", - "name": "杨准家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "杨准", - "constructionYear": 2023, - "sourceNo": 46, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "杨准" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-047", - "name": "格登家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "格登", - "constructionYear": 2023, - "sourceNo": 47, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "格登" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-048", - "name": "东朱家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "东朱", - "constructionYear": 2023, - "sourceNo": 48, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "东朱" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-049", - "name": "措么家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "措么", - "constructionYear": 2023, - "sourceNo": 49, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "措么" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-050", - "name": "勒波家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "勒波", - "constructionYear": 2023, - "sourceNo": 50, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "勒波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-051", - "name": "泽波甲家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "泽波甲", - "constructionYear": 2023, - "sourceNo": 51, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽波甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-052", - "name": "旦真索拉家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "旦真索拉", - "constructionYear": 2023, - "sourceNo": 52, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "旦真索拉" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-053", - "name": "索尕家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "索尕", - "constructionYear": 2023, - "sourceNo": 53, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "索尕" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-054", - "name": "列红家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "列红", - "constructionYear": 2023, - "sourceNo": 54, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "列红" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-055", - "name": "基西甲家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "基西甲", - "constructionYear": 2023, - "sourceNo": 55, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "基西甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-056", - "name": "罗日花甲家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "罗日花甲", - "constructionYear": 2023, - "sourceNo": 56, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "罗日花甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-057", - "name": "南木甲家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "南木甲", - "constructionYear": 2023, - "sourceNo": 57, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "南木甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-058", - "name": "旺青成里家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "旺青成里", - "constructionYear": 2023, - "sourceNo": 58, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "旺青成里" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-059", - "name": "拉玛家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "拉玛", - "constructionYear": 2023, - "sourceNo": 59, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "拉玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-060", - "name": "求扎家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "求扎", - "constructionYear": 2023, - "sourceNo": 60, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求扎" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-061", - "name": "纳哇家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "纳哇", - "constructionYear": 2023, - "sourceNo": 61, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "纳哇" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-062", - "name": "直甲家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "直甲", - "constructionYear": 2023, - "sourceNo": 62, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "直甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-063", - "name": "文伯家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "文伯", - "constructionYear": 2023, - "sourceNo": 63, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "文伯" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-064", - "name": "王青扎西家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "王青扎西", - "constructionYear": 2023, - "sourceNo": 64, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "王青扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-065", - "name": "贡秋泽旦家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "贡秋泽旦", - "constructionYear": 2023, - "sourceNo": 65, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "贡秋泽旦" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-066", - "name": "若巴甲初家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "若巴甲初", - "constructionYear": 2023, - "sourceNo": 66, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "若巴甲初" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-067", - "name": "泽郎兰基家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "泽郎兰基", - "constructionYear": 2023, - "sourceNo": 67, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽郎兰基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-068", - "name": "兰木机家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "兰木机", - "constructionYear": 2023, - "sourceNo": 68, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "兰木机" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-069", - "name": "迫洼姐家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "迫洼姐", - "constructionYear": 2023, - "sourceNo": 69, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "迫洼姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-070", - "name": "达真德旦家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "达真德旦", - "constructionYear": 2023, - "sourceNo": 70, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "达真德旦" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-071", - "name": "额尔家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "额尔", - "constructionYear": 2023, - "sourceNo": 71, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "额尔" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-072", - "name": "求扎家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "求扎", - "constructionYear": 2023, - "sourceNo": 72, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求扎" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-073", - "name": "仁真甲家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "仁真甲", - "constructionYear": 2023, - "sourceNo": 73, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "仁真甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-074", - "name": "泽郎扎西家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "泽郎扎西", - "constructionYear": 2023, - "sourceNo": 74, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽郎扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-075", - "name": "洼玛卡卓家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "洼玛卡卓", - "constructionYear": 2023, - "sourceNo": 75, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "洼玛卡卓" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-076", - "name": "旦真扎西家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "旦真扎西", - "constructionYear": 2023, - "sourceNo": 76, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "旦真扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-077", - "name": "夺柯甲家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "夺柯甲", - "constructionYear": 2023, - "sourceNo": 77, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "夺柯甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-078", - "name": "曲格准家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "曲格准", - "constructionYear": 2023, - "sourceNo": 78, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "曲格准" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-079", - "name": "次旺依玛家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "次旺依玛", - "constructionYear": 2023, - "sourceNo": 79, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "次旺依玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-080", - "name": "甲央扎西家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "甲央扎西", - "constructionYear": 2023, - "sourceNo": 80, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "甲央扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-081", - "name": "石德家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "石德", - "constructionYear": 2023, - "sourceNo": 81, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "石德" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-082", - "name": "求措家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "求措", - "constructionYear": 2023, - "sourceNo": 82, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-083", - "name": "卓尔单家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "卓尔单", - "constructionYear": 2023, - "sourceNo": 83, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "卓尔单" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-084", - "name": "穷真家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "穷真", - "constructionYear": 2023, - "sourceNo": 84, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "穷真" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-085", - "name": "贡波家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "贡波", - "constructionYear": 2023, - "sourceNo": 85, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "贡波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-086", - "name": "穷拉家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "穷拉", - "constructionYear": 2023, - "sourceNo": 86, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "穷拉" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-087", - "name": "克周家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "克周", - "constructionYear": 2023, - "sourceNo": 87, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "克周" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-088", - "name": "热布尕家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "热布尕", - "constructionYear": 2023, - "sourceNo": 88, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "热布尕" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-089", - "name": "求科家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "求科", - "constructionYear": 2023, - "sourceNo": 89, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求科" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-090", - "name": "窝能家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "窝能", - "constructionYear": 2023, - "sourceNo": 90, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "窝能" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-091", - "name": "泽郎扎西家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "泽郎扎西", - "constructionYear": 2023, - "sourceNo": 91, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽郎扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-092", - "name": "哈里家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "哈里", - "constructionYear": 2023, - "sourceNo": 92, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "哈里" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-093", - "name": "旦灯家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "旦灯", - "constructionYear": 2023, - "sourceNo": 93, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "旦灯" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-094", - "name": "卓玛家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "卓玛", - "constructionYear": 2023, - "sourceNo": 94, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "卓玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-095", - "name": "阿木滚家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "阿木滚", - "constructionYear": 2023, - "sourceNo": 95, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "阿木滚" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-096", - "name": "求科家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "求科", - "constructionYear": 2023, - "sourceNo": 96, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "求科" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-097", - "name": "泽不丹家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "泽不丹", - "constructionYear": 2023, - "sourceNo": 97, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽不丹" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-098", - "name": "许格甲家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "许格甲", - "constructionYear": 2023, - "sourceNo": 98, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "许格甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-099", - "name": "扎西热丹家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "扎西热丹", - "constructionYear": 2023, - "sourceNo": 99, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "扎西热丹" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-100", - "name": "达姆家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "达姆", - "constructionYear": 2023, - "sourceNo": 100, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "达姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-101", - "name": "措格加家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "措格加", - "constructionYear": 2023, - "sourceNo": 101, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "措格加" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-102", - "name": "勒科家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "勒科", - "constructionYear": 2023, - "sourceNo": 102, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "勒科" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-103", - "name": "科柯家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "科柯", - "constructionYear": 2023, - "sourceNo": 103, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "科柯" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-104", - "name": "吉科家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "吉科", - "constructionYear": 2023, - "sourceNo": 104, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "吉科" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-105", - "name": "尼玛旦真家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "尼玛旦真", - "constructionYear": 2023, - "sourceNo": 105, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尼玛旦真" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-106", - "name": "向秋夺基家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "向秋夺基", - "constructionYear": 2023, - "sourceNo": 106, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "向秋夺基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-107", - "name": "尼格卓家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "尼格卓", - "constructionYear": 2023, - "sourceNo": 107, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尼格卓" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-108", - "name": "尕尔让家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "尕尔让", - "constructionYear": 2023, - "sourceNo": 108, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "尕尔让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-109", - "name": "陈香家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "陈香", - "constructionYear": 2023, - "sourceNo": 109, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "陈香" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-110", - "name": "泽让姐家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "泽让姐", - "constructionYear": 2023, - "sourceNo": 110, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽让姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-111", - "name": "甲布寻家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "甲布寻", - "constructionYear": 2023, - "sourceNo": 111, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "甲布寻" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-112", - "name": "南克甲叁家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "南克甲叁", - "constructionYear": 2023, - "sourceNo": 112, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "南克甲叁" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-113", - "name": "易美达机家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "易美达机", - "constructionYear": 2023, - "sourceNo": 113, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "易美达机" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-114", - "name": "仁青甲家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "仁青甲", - "constructionYear": 2023, - "sourceNo": 114, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "仁青甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-115", - "name": "秋银家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "秋银", - "constructionYear": 2023, - "sourceNo": 115, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "秋银" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-116", - "name": "阿泽波家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "阿泽波", - "constructionYear": 2023, - "sourceNo": 116, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "阿泽波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-117", - "name": "秋热周朴家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "秋热周朴", - "constructionYear": 2023, - "sourceNo": 117, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "秋热周朴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-118", - "name": "根伯家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "根伯", - "constructionYear": 2023, - "sourceNo": 118, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "根伯" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-119", - "name": "更秋姐家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "更秋姐", - "constructionYear": 2023, - "sourceNo": 119, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "更秋姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-120", - "name": "泽朗华尔丹家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "泽朗华尔丹", - "constructionYear": 2023, - "sourceNo": 120, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 40㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "grassSupportType": "割草地", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "割草地 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 40, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 400, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 40㎡管理用房 / 50㎡饲草料库 / 400㎡活动场地及通道", - "草料配套": "割草地 5亩", - "户主": "泽朗华尔丹" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-121", - "name": "更尕让俄家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "更尕让俄", - "constructionYear": 2024, - "sourceNo": 121, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "更尕让俄" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-122", - "name": "尊珠家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "尊珠", - "constructionYear": 2024, - "sourceNo": 122, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 6, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 6亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 6 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 6亩", - "户主": "尊珠" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-123", - "name": "东泽家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "东泽", - "constructionYear": 2024, - "sourceNo": 123, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 7, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 7亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 7 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 7亩", - "户主": "东泽" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-124", - "name": "四郎绒布家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "四郎绒布", - "constructionYear": 2024, - "sourceNo": 124, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 8, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 8亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 8 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 8亩", - "户主": "四郎绒布" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-125", - "name": "华尔丹家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "华尔丹", - "constructionYear": 2024, - "sourceNo": 125, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 9, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 9亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 9 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 9亩", - "户主": "华尔丹" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-126", - "name": "求达家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "求达", - "constructionYear": 2024, - "sourceNo": 126, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 10, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 10亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 10 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 10亩", - "户主": "求达" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-127", - "name": "德尔达家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "德尔达", - "constructionYear": 2024, - "sourceNo": 127, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 11, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 11亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 11 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 11亩", - "户主": "德尔达" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-128", - "name": "泽让彭措家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "泽让彭措", - "constructionYear": 2024, - "sourceNo": 128, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 12, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 12亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 12 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 12亩", - "户主": "泽让彭措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-129", - "name": "万青家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "万青", - "constructionYear": 2024, - "sourceNo": 129, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 13, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 13亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 13 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 13亩", - "户主": "万青" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-130", - "name": "更让达基家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "更让达基", - "constructionYear": 2024, - "sourceNo": 130, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 14, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 14亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 14 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 14亩", - "户主": "更让达基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-131", - "name": "西卓家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "西卓", - "constructionYear": 2024, - "sourceNo": 131, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 15, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 15亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 15 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 15亩", - "户主": "西卓" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-132", - "name": "黄坤甲家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "黄坤甲", - "constructionYear": 2024, - "sourceNo": 132, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 19, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 19亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 19 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 19亩", - "户主": "黄坤甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-133", - "name": "达洛甲家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "达洛甲", - "constructionYear": 2024, - "sourceNo": 133, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 23, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 23亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 23 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 23亩", - "户主": "达洛甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-134", - "name": "德基初家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "德基初", - "constructionYear": 2024, - "sourceNo": 134, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 27, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 27亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 27 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 27亩", - "户主": "德基初" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-135", - "name": "尕尔洼家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "尕尔洼", - "constructionYear": 2024, - "sourceNo": 135, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 28, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 28亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 28 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 28亩", - "户主": "尕尔洼" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-136", - "name": "甲华扎巴家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "甲华扎巴", - "constructionYear": 2024, - "sourceNo": 136, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 29, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 29亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 29 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 29亩", - "户主": "甲华扎巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-137", - "name": "阿茸家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "阿茸", - "constructionYear": 2024, - "sourceNo": 137, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 30, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 30亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 30 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 30亩", - "户主": "阿茸" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-138", - "name": "尼玛姐家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "尼玛姐", - "constructionYear": 2024, - "sourceNo": 138, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 31, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 31亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 31 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 31亩", - "户主": "尼玛姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-139", - "name": "许尔洛家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "许尔洛", - "constructionYear": 2024, - "sourceNo": 139, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 32, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 32亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 32 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 32亩", - "户主": "许尔洛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-140", - "name": "球日格家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "球日格", - "constructionYear": 2024, - "sourceNo": 140, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 33, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 33亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 33 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 33亩", - "户主": "球日格" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-141", - "name": "华旦让俄家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "华旦让俄", - "constructionYear": 2024, - "sourceNo": 141, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 34, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 34亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 34 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 34亩", - "户主": "华旦让俄" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-142", - "name": "春雷然旦家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "春雷然旦", - "constructionYear": 2024, - "sourceNo": 142, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 35, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 35亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 35 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 35亩", - "户主": "春雷然旦" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-143", - "name": "泽郎夺尔基家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "泽郎夺尔基", - "constructionYear": 2024, - "sourceNo": 143, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 36, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 36亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 36 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 36亩", - "户主": "泽郎夺尔基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-144", - "name": "仁真南甲家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "仁真南甲", - "constructionYear": 2024, - "sourceNo": 144, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 37, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 37亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 37 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 37亩", - "户主": "仁真南甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-145", - "name": "其美兰甲家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "其美兰甲", - "constructionYear": 2024, - "sourceNo": 145, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 38, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 38亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 38 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 38亩", - "户主": "其美兰甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-146", - "name": "扎西娜姆家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "扎西娜姆", - "constructionYear": 2024, - "sourceNo": 146, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 39, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 39亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 39 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 39亩", - "户主": "扎西娜姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-147", - "name": "额日家庭生态牧场", - "town": "瓦切镇", - "village": "唐日村", - "owner": "额日", - "constructionYear": 2024, - "sourceNo": 147, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 40, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 40亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 40 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 40亩", - "户主": "额日" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-148", - "name": "勒德夺机家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "勒德夺机", - "constructionYear": 2024, - "sourceNo": 148, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 41, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 41亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 41 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 41亩", - "户主": "勒德夺机" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-149", - "name": "哈格巴家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "哈格巴", - "constructionYear": 2024, - "sourceNo": 149, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 42, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 42亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 42 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 42亩", - "户主": "哈格巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-150", - "name": "日托美家庭生态牧场", - "town": "色地镇", - "village": "日西村", - "owner": "日托美", - "constructionYear": 2024, - "sourceNo": 150, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 43, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 43亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 43 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 43亩", - "户主": "日托美" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-151", - "name": "格·吾穷家庭生态牧场", - "town": "色地镇", - "village": "让里村", - "owner": "格·吾穷", - "constructionYear": 2024, - "sourceNo": 151, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 44, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 44亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 44 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 44亩", - "户主": "格·吾穷" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-152", - "name": "日西家庭生态牧场", - "town": "色地镇", - "village": "茸塔玛村", - "owner": "日西", - "constructionYear": 2024, - "sourceNo": 152, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 45, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 45亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 45 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 45亩", - "户主": "日西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-153", - "name": "阿旺罗让家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "阿旺罗让", - "constructionYear": 2023, - "sourceNo": 153, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "阿旺罗让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-154", - "name": "日格特家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "日格特", - "constructionYear": 2023, - "sourceNo": 154, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "日格特" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-155", - "name": "求让家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "求让", - "constructionYear": 2023, - "sourceNo": 155, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "求让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-156", - "name": "央莫家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "央莫", - "constructionYear": 2023, - "sourceNo": 156, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "央莫" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-157", - "name": "贡波甲家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "贡波甲", - "constructionYear": 2023, - "sourceNo": 157, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "贡波甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-158", - "name": "瓦布登家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "瓦布登", - "constructionYear": 2023, - "sourceNo": 158, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "瓦布登" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-159", - "name": "则扎家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "则扎", - "constructionYear": 2023, - "sourceNo": 159, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "则扎" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-160", - "name": "额扎家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "额扎", - "constructionYear": 2023, - "sourceNo": 160, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "额扎" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-161", - "name": "常热里家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "常热里", - "constructionYear": 2023, - "sourceNo": 161, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "常热里" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-162", - "name": "王真尼玛家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "王真尼玛", - "constructionYear": 2023, - "sourceNo": 162, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "王真尼玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-163", - "name": "卢巴家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "卢巴", - "constructionYear": 2023, - "sourceNo": 163, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "卢巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-164", - "name": "格商花家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "格商花", - "constructionYear": 2023, - "sourceNo": 164, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "格商花" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-165", - "name": "泽旺初家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "泽旺初", - "constructionYear": 2023, - "sourceNo": 165, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "泽旺初" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-166", - "name": "泽旺嘎让家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "泽旺嘎让", - "constructionYear": 2023, - "sourceNo": 166, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "泽旺嘎让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-167", - "name": "邓代夺基家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "邓代夺基", - "constructionYear": 2023, - "sourceNo": 167, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "邓代夺基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-168", - "name": "俄见达基家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "俄见达基", - "constructionYear": 2023, - "sourceNo": 168, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "俄见达基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-169", - "name": "谢拉华拉家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "谢拉华拉", - "constructionYear": 2023, - "sourceNo": 169, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "谢拉华拉" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-170", - "name": "贡波夺基家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "贡波夺基", - "constructionYear": 2023, - "sourceNo": 170, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "贡波夺基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-171", - "name": "若巴家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "若巴", - "constructionYear": 2023, - "sourceNo": 171, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "若巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-172", - "name": "桑波家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "桑波", - "constructionYear": 2023, - "sourceNo": 172, - "pointName": "", - "facilityBrief": "200㎡暖棚 / 20㎡管理房", - "facilityDetail": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "grassSupportType": "储草基地", - "grassSupportMu": 50, - "grassSupportLowerBound": true, - "grassSupportText": "储草基地 ≥50亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 200, - "管理用房 (㎡)": 20, - "饲草料库 (㎡)": 20, - "活动场地及通道 (㎡)": 240, - "配套草料地 (亩)": 50 - }, - "attributes": { - "设施配置": "200㎡标准化暖棚 / 20㎡管理用房 / 20㎡饲草料库 / 240㎡活动场地及通道", - "草料配套": "储草基地 ≥50亩", - "户主": "桑波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-001", - "name": "拿木甲家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "拿木甲", - "constructionYear": 2025, - "sourceNo": 173, - "pointName": "1号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.45082378, - "latitude": 32.6136657, - "locations": { - "暖棚": { - "longitude": 102.45047712, - "latitude": 32.61360272 - }, - "管理用房": { - "longitude": 102.45082378, - "latitude": 32.6136657 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "拿木甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-002", - "name": "桑我甲家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "桑我甲", - "constructionYear": 2025, - "sourceNo": 174, - "pointName": "2号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.34697849, - "latitude": 32.61455374, - "locations": { - "暖棚": { - "longitude": 102.34691526, - "latitude": 32.61425696 - }, - "管理用房": { - "longitude": 102.34697849, - "latitude": 32.61455374 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "桑我甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-003", - "name": "泽朗罗日家庭生态牧场", - "town": "安曲镇", - "village": "夺龙村", - "owner": "泽朗罗日", - "constructionYear": 2025, - "sourceNo": 175, - "pointName": "3号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.37805264, - "latitude": 32.5692703, - "locations": { - "暖棚": { - "longitude": 102.37805264, - "latitude": 32.5692703 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "泽朗罗日" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-004", - "name": "德清旺姆家庭生态牧场", - "town": "安曲镇", - "village": "哈拉玛村", - "owner": "德清旺姆", - "constructionYear": 2025, - "sourceNo": 176, - "pointName": "4号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.318167, - "latitude": 32.67018808, - "locations": { - "暖棚": { - "longitude": 102.31781652, - "latitude": 32.67023409 - }, - "管理用房": { - "longitude": 102.318167, - "latitude": 32.67018808 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "德清旺姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-005", - "name": "安曲镇下哈拉玛村177号家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "", - "constructionYear": 2025, - "sourceNo": 177, - "pointName": "5号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.43182146, - "latitude": 32.73162602, - "locations": { - "暖棚": { - "longitude": 102.43198641, - "latitude": 32.73093298 - }, - "管理用房": { - "longitude": 102.43182146, - "latitude": 32.73162602 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-006", - "name": "安曲镇下哈拉玛村178号家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "", - "constructionYear": 2025, - "sourceNo": 178, - "pointName": "6号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.42615548, - "latitude": 32.80562386, - "locations": { - "暖棚": { - "longitude": 102.42615548, - "latitude": 32.80562386 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-007", - "name": "尺真家庭生态牧场", - "town": "安曲镇", - "village": "下哈拉玛村", - "owner": "尺真", - "constructionYear": 2025, - "sourceNo": 179, - "pointName": "7号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.43310351, - "latitude": 32.76736081, - "locations": { - "暖棚": { - "longitude": 102.43325488, - "latitude": 32.76769519 - }, - "管理用房": { - "longitude": 102.43310351, - "latitude": 32.76736081 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "尺真" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-008", - "name": "扎花甲初家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "扎花甲初", - "constructionYear": 2025, - "sourceNo": 180, - "pointName": "8号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.34150772, - "latitude": 32.51809855, - "locations": { - "暖棚": { - "longitude": 102.34174988, - "latitude": 32.51793446 - }, - "管理用房": { - "longitude": 102.34150772, - "latitude": 32.51809855 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "扎花甲初" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-009", - "name": "刘永秀家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "刘永秀", - "constructionYear": 2025, - "sourceNo": 181, - "pointName": "9号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.39163622, - "latitude": 32.41535563, - "locations": { - "暖棚": { - "longitude": 102.39106026, - "latitude": 32.41522425 - }, - "管理用房": { - "longitude": 102.39163622, - "latitude": 32.41535563 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "刘永秀" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-010", - "name": "尼西甲家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "尼西甲", - "constructionYear": 2025, - "sourceNo": 182, - "pointName": "10号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.36479551, - "latitude": 32.4682826, - "locations": { - "暖棚": { - "longitude": 102.36445049, - "latitude": 32.46856208 - }, - "管理用房": { - "longitude": 102.36479551, - "latitude": 32.4682826 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "尼西甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-011", - "name": "尕尔穷家庭生态牧场", - "town": "龙日镇", - "village": "龙日坝村", - "owner": "尕尔穷", - "constructionYear": 2025, - "sourceNo": 183, - "pointName": "11号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.36574919, - "latitude": 32.46984022, - "locations": { - "暖棚": { - "longitude": 102.36543866, - "latitude": 32.46986063 - }, - "管理用房": { - "longitude": 102.36574919, - "latitude": 32.46984022 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "尕尔穷" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-SUM-184", - "name": "拉玛扎西家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "拉玛扎西", - "constructionYear": 2025, - "sourceNo": 184, - "pointName": "", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": null, - "latitude": null, - "locations": {}, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "拉玛扎西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-013", - "name": "索迫家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "索迫", - "constructionYear": 2025, - "sourceNo": 185, - "pointName": "13号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.57153908, - "latitude": 32.57642249, - "locations": { - "暖棚": { - "longitude": 102.57181204, - "latitude": 32.57674824 - }, - "管理用房": { - "longitude": 102.57153908, - "latitude": 32.57642249 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "索迫" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-014", - "name": "让白家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "让白", - "constructionYear": 2025, - "sourceNo": 186, - "pointName": "14号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.56368441, - "latitude": 32.56554011, - "locations": { - "暖棚": { - "longitude": 102.56396058, - "latitude": 32.5657272 - }, - "管理用房": { - "longitude": 102.56368441, - "latitude": 32.56554011 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "让白" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-015", - "name": "罗周家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "罗周", - "constructionYear": 2025, - "sourceNo": 187, - "pointName": "15号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.47340175, - "latitude": 32.5391063, - "locations": { - "暖棚": { - "longitude": 102.47353743, - "latitude": 32.53889572 - }, - "管理用房": { - "longitude": 102.47340175, - "latitude": 32.5391063 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "罗周" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-016", - "name": "贡波家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "贡波", - "constructionYear": 2025, - "sourceNo": 188, - "pointName": "16号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.55244875, - "latitude": 32.543925, - "locations": { - "暖棚": { - "longitude": 102.55268505, - "latitude": 32.54389452 - }, - "管理用房": { - "longitude": 102.55244875, - "latitude": 32.543925 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "贡波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-017", - "name": "阿新家庭生态牧场", - "town": "龙日镇", - "village": "格玛村", - "owner": "阿新", - "constructionYear": 2025, - "sourceNo": 189, - "pointName": "17号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.55661126, - "latitude": 32.51593726, - "locations": { - "暖棚": { - "longitude": 102.55699444, - "latitude": 32.51600578 - }, - "管理用房": { - "longitude": 102.55661126, - "latitude": 32.51593726 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "阿新" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-018", - "name": "南木青家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "南木青", - "constructionYear": 2025, - "sourceNo": 190, - "pointName": "18号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.45747569, - "latitude": 32.4997112, - "locations": { - "暖棚": { - "longitude": 102.45743039, - "latitude": 32.50039193 - }, - "管理用房": { - "longitude": 102.45747569, - "latitude": 32.4997112 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "南木青" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-019", - "name": "桑白家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "桑白", - "constructionYear": 2025, - "sourceNo": 191, - "pointName": "19号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.51611367, - "latitude": 32.46971999, - "locations": { - "暖棚": { - "longitude": 102.51569341, - "latitude": 32.46983718 - }, - "管理用房": { - "longitude": 102.51611367, - "latitude": 32.46971999 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "桑白" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-020", - "name": "尼玛家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "尼玛", - "constructionYear": 2025, - "sourceNo": 192, - "pointName": "20号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.44969589, - "latitude": 32.53923831, - "locations": { - "暖棚": { - "longitude": 102.44978266, - "latitude": 32.53944862 - }, - "管理用房": { - "longitude": 102.44969589, - "latitude": 32.53923831 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "尼玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-021", - "name": "求扎家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "求扎", - "constructionYear": 2025, - "sourceNo": 193, - "pointName": "21号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.47150078, - "latitude": 32.40722678, - "locations": { - "暖棚": { - "longitude": 102.47179278, - "latitude": 32.40707185 - }, - "管理用房": { - "longitude": 102.47150078, - "latitude": 32.40722678 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "求扎" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-022", - "name": "俄白家庭生态牧场", - "town": "龙日镇", - "village": "壤噶夺玛村", - "owner": "俄白", - "constructionYear": 2025, - "sourceNo": 194, - "pointName": "22号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.49071333, - "latitude": 32.49521145, - "locations": { - "暖棚": { - "longitude": 102.49088427, - "latitude": 32.4950118 - }, - "管理用房": { - "longitude": 102.49071333, - "latitude": 32.49521145 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "俄白" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-023", - "name": "杨中泽仁家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "杨中泽仁", - "constructionYear": 2025, - "sourceNo": 195, - "pointName": "23号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.6341466, - "latitude": 32.77015436, - "locations": { - "暖棚": { - "longitude": 102.63389415, - "latitude": 32.77017909 - }, - "管理用房": { - "longitude": 102.6341466, - "latitude": 32.77015436 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "杨中泽仁" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-024", - "name": "西泽家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "西泽", - "constructionYear": 2025, - "sourceNo": 196, - "pointName": "24号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.55496732, - "latitude": 32.71987605, - "locations": { - "暖棚": { - "longitude": 102.55578247, - "latitude": 32.71974519 - }, - "管理用房": { - "longitude": 102.55496732, - "latitude": 32.71987605 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "西泽" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-025", - "name": "阿尔布基家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "阿尔布基", - "constructionYear": 2025, - "sourceNo": 197, - "pointName": "25号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.59523521, - "latitude": 32.73509347, - "locations": { - "暖棚": { - "longitude": 102.5948059, - "latitude": 32.73476878 - }, - "管理用房": { - "longitude": 102.59523521, - "latitude": 32.73509347 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "阿尔布基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-026", - "name": "兰卡家庭生态牧场", - "town": "邛溪镇", - "village": "玛萨村", - "owner": "兰卡", - "constructionYear": 2025, - "sourceNo": 198, - "pointName": "26号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.63713205, - "latitude": 32.81316056, - "locations": { - "暖棚": { - "longitude": 102.63704412, - "latitude": 32.8134533 - }, - "管理用房": { - "longitude": 102.63713205, - "latitude": 32.81316056 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "兰卡" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-027", - "name": "华扎家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "华扎", - "constructionYear": 2025, - "sourceNo": 199, - "pointName": "27号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.50979432, - "latitude": 32.80879562, - "locations": { - "暖棚": { - "longitude": 102.50979432, - "latitude": 32.80879562 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "华扎" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-028", - "name": "勒西家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "勒西", - "constructionYear": 2025, - "sourceNo": 200, - "pointName": "28号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.46173752, - "latitude": 32.95518424, - "locations": { - "暖棚": { - "longitude": 102.46200958, - "latitude": 32.954686 - }, - "管理用房": { - "longitude": 102.46173752, - "latitude": 32.95518424 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "勒西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-029", - "name": "夺基泽单家庭生态牧场", - "town": "邛溪镇", - "village": "达格龙村", - "owner": "夺基泽单", - "constructionYear": 2025, - "sourceNo": 201, - "pointName": "29号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.70020081, - "latitude": 32.72191648, - "locations": { - "暖棚": { - "longitude": 102.70045355, - "latitude": 32.72249951 - }, - "管理用房": { - "longitude": 102.70020081, - "latitude": 32.72191648 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "夺基泽单" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-030", - "name": "卡卓措家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "卡卓措", - "constructionYear": 2025, - "sourceNo": 202, - "pointName": "30号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.51242484, - "latitude": 32.93367637, - "locations": { - "暖棚": { - "longitude": 102.5118488, - "latitude": 32.93352001 - }, - "管理用房": { - "longitude": 102.51242484, - "latitude": 32.93367637 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "卡卓措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-031", - "name": "甲花若巴家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "甲花若巴", - "constructionYear": 2025, - "sourceNo": 203, - "pointName": "31号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.52268299, - "latitude": 32.95119696, - "locations": { - "暖棚": { - "longitude": 102.52277514, - "latitude": 32.95178758 - }, - "管理用房": { - "longitude": 102.52268299, - "latitude": 32.95119696 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "甲花若巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-032", - "name": "布穷家庭生态牧场", - "town": "邛溪镇", - "village": "麻色阳德村", - "owner": "布穷", - "constructionYear": 2025, - "sourceNo": 204, - "pointName": "32号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.54114597, - "latitude": 32.97254854, - "locations": { - "暖棚": { - "longitude": 102.54154441, - "latitude": 32.97243338 - }, - "管理用房": { - "longitude": 102.54114597, - "latitude": 32.97254854 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "布穷" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-033", - "name": "丹姆初家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "丹姆初", - "constructionYear": 2025, - "sourceNo": 205, - "pointName": "33号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.68834131, - "latitude": 32.90209342, - "locations": { - "暖棚": { - "longitude": 102.68837196, - "latitude": 32.90189172 - }, - "管理用房": { - "longitude": 102.68834131, - "latitude": 32.90209342 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "丹姆初" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-034", - "name": "塔尔洼家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "塔尔洼", - "constructionYear": 2025, - "sourceNo": 206, - "pointName": "34号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.6640831, - "latitude": 32.89217135, - "locations": { - "暖棚": { - "longitude": 102.66431407, - "latitude": 32.89220187 - }, - "管理用房": { - "longitude": 102.6640831, - "latitude": 32.89217135 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "塔尔洼" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-035", - "name": "相木秋家庭生态牧场", - "town": "邛溪镇", - "village": "热坤村", - "owner": "相木秋", - "constructionYear": 2025, - "sourceNo": 207, - "pointName": "35号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.57449573, - "latitude": 32.81193451, - "locations": { - "暖棚": { - "longitude": 102.57510429, - "latitude": 32.8117671 - }, - "管理用房": { - "longitude": 102.57449573, - "latitude": 32.81193451 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "相木秋" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-036", - "name": "索科家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "索科", - "constructionYear": 2025, - "sourceNo": 208, - "pointName": "36号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.59972676, - "latitude": 32.96673649, - "locations": { - "暖棚": { - "longitude": 102.60036425, - "latitude": 32.96680279 - }, - "管理用房": { - "longitude": 102.59972676, - "latitude": 32.96673649 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "索科" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-037", - "name": "容中黑周家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "容中黑周", - "constructionYear": 2025, - "sourceNo": 209, - "pointName": "37号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.54097207, - "latitude": 32.92694872, - "locations": { - "暖棚": { - "longitude": 102.5418407, - "latitude": 32.92737961 - }, - "管理用房": { - "longitude": 102.54097207, - "latitude": 32.92694872 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "容中黑周" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-038", - "name": "桑都家庭生态牧场", - "town": "邛溪镇", - "village": "热多村", - "owner": "桑都", - "constructionYear": 2025, - "sourceNo": 210, - "pointName": "38号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.58826677, - "latitude": 32.88476392, - "locations": { - "暖棚": { - "longitude": 102.58801957, - "latitude": 32.88408206 - }, - "管理用房": { - "longitude": 102.58826677, - "latitude": 32.88476392 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "桑都" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-039", - "name": "茫兴家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "茫兴", - "constructionYear": 2025, - "sourceNo": 211, - "pointName": "39号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.07991934, - "latitude": 32.47311379, - "locations": { - "暖棚": { - "longitude": 102.07972827, - "latitude": 32.47333689 - }, - "管理用房": { - "longitude": 102.07991934, - "latitude": 32.47311379 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "茫兴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-040", - "name": "得基卓玛家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "得基卓玛", - "constructionYear": 2025, - "sourceNo": 212, - "pointName": "40号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.02913011, - "latitude": 32.43776256, - "locations": { - "暖棚": { - "longitude": 102.02905511, - "latitude": 32.43749287 - }, - "管理用房": { - "longitude": 102.02913011, - "latitude": 32.43776256 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "得基卓玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-041", - "name": "俄玛家庭生态牧场", - "town": "查尔玛乡", - "village": "什布龙村", - "owner": "俄玛", - "constructionYear": 2025, - "sourceNo": 213, - "pointName": "41号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.02292951, - "latitude": 32.46024019, - "locations": { - "暖棚": { - "longitude": 102.02290624, - "latitude": 32.46043784 - }, - "管理用房": { - "longitude": 102.02292951, - "latitude": 32.46024019 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "俄玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-043", - "name": "桑都措家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "桑都措", - "constructionYear": 2025, - "sourceNo": 214, - "pointName": "43号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 101.9504197, - "latitude": 32.41285591, - "locations": { - "暖棚": { - "longitude": 101.9504197, - "latitude": 32.41285591 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "桑都措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-044", - "name": "求沙家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "求沙", - "constructionYear": 2025, - "sourceNo": 215, - "pointName": "44号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 101.93533172, - "latitude": 32.42625182, - "locations": { - "暖棚": { - "longitude": 101.93515169, - "latitude": 32.42601524 - }, - "管理用房": { - "longitude": 101.93533172, - "latitude": 32.42625182 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "求沙" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-045", - "name": "旦渣家庭生态牧场", - "town": "查尔玛乡", - "village": "查龙村", - "owner": "旦渣", - "constructionYear": 2025, - "sourceNo": 216, - "pointName": "45号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 101.95319961, - "latitude": 32.50653773, - "locations": { - "暖棚": { - "longitude": 101.95330639, - "latitude": 32.50669919 - }, - "管理用房": { - "longitude": 101.95319961, - "latitude": 32.50653773 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "旦渣" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-046", - "name": "达玛王家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "达玛王", - "constructionYear": 2025, - "sourceNo": 217, - "pointName": "46号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.13310816, - "latitude": 32.44495604, - "locations": { - "暖棚": { - "longitude": 102.13292789, - "latitude": 32.44464674 - }, - "管理用房": { - "longitude": 102.13310816, - "latitude": 32.44495604 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "达玛王" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-047", - "name": "吉措家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "吉措", - "constructionYear": 2025, - "sourceNo": 218, - "pointName": "47号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.10031343, - "latitude": 32.52946984, - "locations": { - "暖棚": { - "longitude": 102.1000073, - "latitude": 32.52950127 - }, - "管理用房": { - "longitude": 102.10031343, - "latitude": 32.52946984 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "吉措" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-048", - "name": "然让家庭生态牧场", - "town": "查尔玛乡", - "village": "达尔龙村", - "owner": "然让", - "constructionYear": 2025, - "sourceNo": 219, - "pointName": "48号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.1186522, - "latitude": 32.54205879, - "locations": { - "暖棚": { - "longitude": 102.11832613, - "latitude": 32.54201141 - }, - "管理用房": { - "longitude": 102.1186522, - "latitude": 32.54205879 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "然让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-049", - "name": "索郎益西家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "索郎益西", - "constructionYear": 2025, - "sourceNo": 220, - "pointName": "49号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.59817262, - "latitude": 33.15279516, - "locations": { - "暖棚": { - "longitude": 102.59826937, - "latitude": 33.15242954 - }, - "管理用房": { - "longitude": 102.59817262, - "latitude": 33.15279516 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "索郎益西" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-050", - "name": "阿布洛家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "阿布洛", - "constructionYear": 2025, - "sourceNo": 221, - "pointName": "50号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.58881798, - "latitude": 33.13491038, - "locations": { - "暖棚": { - "longitude": 102.58881798, - "latitude": 33.13491038 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "阿布洛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-051", - "name": "甲花扎巴家庭生态牧场", - "town": "瓦切镇", - "village": "德香村", - "owner": "甲花扎巴", - "constructionYear": 2025, - "sourceNo": 222, - "pointName": "51号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.62447024, - "latitude": 33.14756405, - "locations": { - "暖棚": { - "longitude": 102.62447024, - "latitude": 33.14756405 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "甲花扎巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-052", - "name": "桑阿家庭生态牧场", - "town": "瓦切镇", - "village": "唐日村", - "owner": "桑阿", - "constructionYear": 2025, - "sourceNo": 223, - "pointName": "52号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.60287876, - "latitude": 33.06269322, - "locations": { - "暖棚": { - "longitude": 102.60249352, - "latitude": 33.06252399 - }, - "管理用房": { - "longitude": 102.60287876, - "latitude": 33.06269322 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "桑阿" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-053", - "name": "泽旺卓玛家庭生态牧场", - "town": "瓦切镇", - "village": "唐日村", - "owner": "泽旺卓玛", - "constructionYear": 2025, - "sourceNo": 224, - "pointName": "53号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.62023015, - "latitude": 33.07672504, - "locations": { - "暖棚": { - "longitude": 102.6195876, - "latitude": 33.07660844 - }, - "管理用房": { - "longitude": 102.62023015, - "latitude": 33.07672504 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "泽旺卓玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-054", - "name": "达多杰家庭生态牧场", - "town": "瓦切镇", - "village": "唐日村", - "owner": "达多杰", - "constructionYear": 2025, - "sourceNo": 225, - "pointName": "54号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.65907881, - "latitude": 33.04426714, - "locations": { - "暖棚": { - "longitude": 102.65878993, - "latitude": 33.0443906 - }, - "管理用房": { - "longitude": 102.65907881, - "latitude": 33.04426714 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "达多杰" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-055", - "name": "甲花家庭生态牧场", - "town": "瓦切镇", - "village": "曲登塘社区", - "owner": "甲花", - "constructionYear": 2025, - "sourceNo": 226, - "pointName": "55号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.60900684, - "latitude": 33.05296943, - "locations": { - "暖棚": { - "longitude": 102.60968583, - "latitude": 33.05324231 - }, - "管理用房": { - "longitude": 102.60900684, - "latitude": 33.05296943 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "甲花" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-056", - "name": "普尔娃他家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "普尔娃他", - "constructionYear": 2025, - "sourceNo": 227, - "pointName": "56号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.60388795, - "latitude": 33.080497, - "locations": { - "暖棚": { - "longitude": 102.60365851, - "latitude": 33.08085512 - }, - "管理用房": { - "longitude": 102.60388795, - "latitude": 33.080497 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "普尔娃他" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-057", - "name": "腊夺家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "腊夺", - "constructionYear": 2025, - "sourceNo": 228, - "pointName": "57号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.60558227, - "latitude": 33.03649561, - "locations": { - "暖棚": { - "longitude": 102.60526934, - "latitude": 33.03662516 - }, - "管理用房": { - "longitude": 102.60558227, - "latitude": 33.03649561 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "腊夺" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-058", - "name": "拉姆姐家庭生态牧场", - "town": "瓦切镇", - "village": "达峨村", - "owner": "拉姆姐", - "constructionYear": 2025, - "sourceNo": 229, - "pointName": "58号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.68677242, - "latitude": 33.01494028, - "locations": { - "暖棚": { - "longitude": 102.68739311, - "latitude": 33.0149217 - }, - "管理用房": { - "longitude": 102.68677242, - "latitude": 33.01494028 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "拉姆姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-059", - "name": "尔金姐家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "尔金姐", - "constructionYear": 2025, - "sourceNo": 230, - "pointName": "59号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.75797357, - "latitude": 33.05247976, - "locations": { - "暖棚": { - "longitude": 102.75821556, - "latitude": 33.05186118 - }, - "管理用房": { - "longitude": 102.75797357, - "latitude": 33.05247976 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "尔金姐" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-060", - "name": "果·尼科家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "果·尼科", - "constructionYear": 2025, - "sourceNo": 231, - "pointName": "60号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.72144107, - "latitude": 33.09435508, - "locations": { - "暖棚": { - "longitude": 102.72188962, - "latitude": 33.09419876 - }, - "管理用房": { - "longitude": 102.72144107, - "latitude": 33.09435508 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "果·尼科" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-061", - "name": "苏拉王家庭生态牧场", - "town": "瓦切镇", - "village": "日干村", - "owner": "苏拉王", - "constructionYear": 2025, - "sourceNo": 232, - "pointName": "61号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.61834278, - "latitude": 33.16780533, - "locations": { - "暖棚": { - "longitude": 102.61834278, - "latitude": 33.16780533 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "苏拉王" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-062", - "name": "桑阿家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "桑阿", - "constructionYear": 2025, - "sourceNo": 233, - "pointName": "62号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.80956551, - "latitude": 33.03877017, - "locations": { - "暖棚": { - "longitude": 102.80909925, - "latitude": 33.03857555 - }, - "管理用房": { - "longitude": 102.80956551, - "latitude": 33.03877017 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "桑阿" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-063", - "name": "卓玛娜姆家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "卓玛娜姆", - "constructionYear": 2025, - "sourceNo": 234, - "pointName": "63号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.82588257, - "latitude": 33.03170874, - "locations": { - "暖棚": { - "longitude": 102.82561727, - "latitude": 33.03236022 - }, - "管理用房": { - "longitude": 102.82588257, - "latitude": 33.03170874 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "卓玛娜姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-064", - "name": "麦朵拉姆家庭生态牧场", - "town": "瓦切镇", - "village": "色永村", - "owner": "麦朵拉姆", - "constructionYear": 2025, - "sourceNo": 235, - "pointName": "64号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.83282822, - "latitude": 33.02336202, - "locations": { - "暖棚": { - "longitude": 102.83285089, - "latitude": 33.02300106 - }, - "管理用房": { - "longitude": 102.83282822, - "latitude": 33.02336202 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "麦朵拉姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-065", - "name": "支多娜姆家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "支多娜姆", - "constructionYear": 2025, - "sourceNo": 236, - "pointName": "65号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.19990732, - "latitude": 32.42229086, - "locations": { - "暖棚": { - "longitude": 102.20070669, - "latitude": 32.42224384 - }, - "管理用房": { - "longitude": 102.19990732, - "latitude": 32.42229086 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "支多娜姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-066", - "name": "俄波家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "俄波", - "constructionYear": 2025, - "sourceNo": 237, - "pointName": "66号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.20292182, - "latitude": 32.43868925, - "locations": { - "暖棚": { - "longitude": 102.20320835, - "latitude": 32.43908196 - }, - "管理用房": { - "longitude": 102.20292182, - "latitude": 32.43868925 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "俄波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-067", - "name": "格日家庭生态牧场", - "town": "江茸乡", - "village": "江宫玛村", - "owner": "格日", - "constructionYear": 2025, - "sourceNo": 238, - "pointName": "67号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.2217086, - "latitude": 32.4769641, - "locations": { - "暖棚": { - "longitude": 102.22170157, - "latitude": 32.47727277 - }, - "管理用房": { - "longitude": 102.2217086, - "latitude": 32.4769641 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "格日" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-068", - "name": "更让尼玛家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "更让尼玛", - "constructionYear": 2025, - "sourceNo": 239, - "pointName": "68号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.21973813, - "latitude": 32.50918264, - "locations": { - "暖棚": { - "longitude": 102.22028091, - "latitude": 32.50928539 - }, - "管理用房": { - "longitude": 102.21973813, - "latitude": 32.50918264 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "更让尼玛" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-069", - "name": "罗布让家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "罗布让", - "constructionYear": 2025, - "sourceNo": 240, - "pointName": "69号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.22810898, - "latitude": 32.51942, - "locations": { - "暖棚": { - "longitude": 102.22815984, - "latitude": 32.51915025 - }, - "管理用房": { - "longitude": 102.22810898, - "latitude": 32.51942 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "罗布让" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-070", - "name": "王甲家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "王甲", - "constructionYear": 2025, - "sourceNo": 241, - "pointName": "70号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.22938935, - "latitude": 32.50833256, - "locations": { - "暖棚": { - "longitude": 102.22913952, - "latitude": 32.50866903 - }, - "管理用房": { - "longitude": 102.22938935, - "latitude": 32.50833256 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "王甲" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-071", - "name": "占波家庭生态牧场", - "town": "江茸乡", - "village": "茸日玛村", - "owner": "占波", - "constructionYear": 2025, - "sourceNo": 242, - "pointName": "71号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.23990168, - "latitude": 32.48078901, - "locations": { - "暖棚": { - "longitude": 102.23962706, - "latitude": 32.48083944 - }, - "管理用房": { - "longitude": 102.23990168, - "latitude": 32.48078901 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "占波" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-072", - "name": "罗日家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "罗日", - "constructionYear": 2025, - "sourceNo": 243, - "pointName": "72号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.61169021, - "latitude": 32.08932106, - "locations": { - "暖棚": { - "longitude": 102.61148498, - "latitude": 32.08914501 - }, - "管理用房": { - "longitude": 102.61169021, - "latitude": 32.08932106 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "罗日" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-073", - "name": "甲花夺基家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "甲花夺基", - "constructionYear": 2025, - "sourceNo": 244, - "pointName": "73号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.56962246, - "latitude": 32.08623818, - "locations": { - "暖棚": { - "longitude": 102.5699463, - "latitude": 32.08635954 - }, - "管理用房": { - "longitude": 102.56962246, - "latitude": 32.08623818 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "甲花夺基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-074", - "name": "供木丹家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "供木丹", - "constructionYear": 2025, - "sourceNo": 245, - "pointName": "74号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.48240109, - "latitude": 32.20777413, - "locations": { - "暖棚": { - "longitude": 102.48249928, - "latitude": 32.20799391 - }, - "管理用房": { - "longitude": 102.48240109, - "latitude": 32.20777413 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "供木丹" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-075", - "name": "华尔白家庭生态牧场", - "town": "刷经寺镇", - "village": "壤口村", - "owner": "华尔白", - "constructionYear": 2025, - "sourceNo": 246, - "pointName": "75号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.5588633, - "latitude": 32.38692708, - "locations": { - "暖棚": { - "longitude": 102.55912658, - "latitude": 32.38683384 - }, - "管理用房": { - "longitude": 102.5588633, - "latitude": 32.38692708 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "华尔白" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-076", - "name": "谢尔拉姆家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "谢尔拉姆", - "constructionYear": 2025, - "sourceNo": 247, - "pointName": "76号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.67850122, - "latitude": 32.93495695, - "locations": { - "暖棚": { - "longitude": 102.67883757, - "latitude": 32.93485478 - }, - "管理用房": { - "longitude": 102.67850122, - "latitude": 32.93495695 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "谢尔拉姆" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-077", - "name": "若巴家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "若巴", - "constructionYear": 2025, - "sourceNo": 248, - "pointName": "77号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.83999152, - "latitude": 32.77133407, - "locations": { - "暖棚": { - "longitude": 102.8392576, - "latitude": 32.77165891 - }, - "管理用房": { - "longitude": 102.83999152, - "latitude": 32.77133407 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "若巴" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-078", - "name": "扑尔夺家庭生态牧场", - "town": "阿木乡", - "village": "峨扎村", - "owner": "扑尔夺", - "constructionYear": 2025, - "sourceNo": 249, - "pointName": "78号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.79027109, - "latitude": 32.79883402, - "locations": { - "暖棚": { - "longitude": 102.78948161, - "latitude": 32.79853105 - }, - "管理用房": { - "longitude": 102.79027109, - "latitude": 32.79883402 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "扑尔夺" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-079", - "name": "甲基家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "甲基", - "constructionYear": 2025, - "sourceNo": 250, - "pointName": "79号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.83380011, - "latitude": 32.86722605, - "locations": { - "暖棚": { - "longitude": 102.83426146, - "latitude": 32.86765306 - }, - "管理用房": { - "longitude": 102.83380011, - "latitude": 32.86722605 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "甲基" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-080", - "name": "尕得家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "尕得", - "constructionYear": 2025, - "sourceNo": 251, - "pointName": "80号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.83189751, - "latitude": 32.82836028, - "locations": { - "暖棚": { - "longitude": 102.83237405, - "latitude": 32.82819561 - }, - "管理用房": { - "longitude": 102.83189751, - "latitude": 32.82836028 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "尕得" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - }, - { - "id": "YC-FAMILY-PASTURE-081", - "name": "西夏唐美家庭生态牧场", - "town": "阿木乡", - "village": "卡口村", - "owner": "西夏唐美", - "constructionYear": 2025, - "sourceNo": 252, - "pointName": "81号点", - "facilityBrief": "300㎡暖棚 / 60㎡管理房", - "facilityDetail": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "grassSupportType": "网围栏种草", - "grassSupportMu": 5, - "grassSupportLowerBound": false, - "grassSupportText": "网围栏种草 5亩", - "longitude": 102.77903691, - "latitude": 32.72696452, - "locations": { - "暖棚": { - "longitude": 102.7785588, - "latitude": 32.72665098 - }, - "管理用房": { - "longitude": 102.77903691, - "latitude": 32.72696452 - } - }, - "metrics": { - "标准化暖棚 (㎡)": 300, - "管理用房 (㎡)": 60, - "饲草料库 (㎡)": 50, - "活动场地及通道 (㎡)": 500, - "配套草料地 (亩)": 5 - }, - "attributes": { - "设施配置": "300㎡标准化暖棚 / 60㎡管理用房 / 50㎡饲草料库 / 500㎡活动场地及通道", - "草料配套": "网围栏种草 5亩", - "户主": "西夏唐美" - }, - "sourceSheet": "红原县2023年至今建设家庭牧场汇总表" - } - ] -} -`,WW=`{ - "generatedAt": "2026-07-10T16:32:43.331Z", - "sourceLabel": "21.95万亩种草矢量数据", - "statusLabel": "待核定", - "totalPlots": 118, - "coveredTowns": 6, - "projectPlots": 9, - "pendingPlots": 118, - "townRows": [ - { - "key": "邛溪镇", - "name": "邛溪镇", - "value": 31, - "unit": "个", - "extra": "待核定图斑", - "zero": false - }, - { - "key": "刷经寺镇", - "name": "刷经寺镇", - "value": 0, - "unit": "个", - "extra": "暂无图斑", - "zero": true - }, - { - "key": "安曲镇", - "name": "安曲镇", - "value": 81, - "unit": "个", - "extra": "待核定图斑", - "zero": false - }, - { - "key": "龙日镇", - "name": "龙日镇", - "value": 2, - "unit": "个", - "extra": "待核定图斑", - "zero": false - }, - { - "key": "江茸乡", - "name": "江茸乡", - "value": 2, - "unit": "个", - "extra": "待核定图斑", - "zero": false - }, - { - "key": "查尔玛乡", - "name": "查尔玛乡", - "value": 1, - "unit": "个", - "extra": "待核定图斑", - "zero": false - }, - { - "key": "瓦切镇", - "name": "瓦切镇", - "value": 1, - "unit": "个", - "extra": "待核定图斑", - "zero": false - }, - { - "key": "阿木乡", - "name": "阿木乡", - "value": 0, - "unit": "个", - "extra": "暂无图斑", - "zero": true - }, - { - "key": "麦洼乡", - "name": "麦洼乡", - "value": 0, - "unit": "个", - "extra": "暂无图斑", - "zero": true - }, - { - "key": "色地镇", - "name": "色地镇", - "value": 0, - "unit": "个", - "extra": "暂无图斑", - "zero": true - } - ], - "categoryRows": [ - { - "key": "待分类图斑", - "name": "待分类图斑", - "value": 49, - "unit": "个" - }, - { - "key": "撒播图斑", - "name": "撒播图斑", - "value": 42, - "unit": "个" - }, - { - "key": "调拨地块", - "name": "调拨地块", - "value": 10, - "unit": "个" - }, - { - "key": "项目地块", - "name": "项目地块", - "value": 9, - "unit": "个" - }, - { - "key": "高产稳产范围", - "name": "高产稳产范围", - "value": 8, - "unit": "个" - } - ], - "sourceRows": [ - { - "key": "边界图斑", - "name": "边界图斑", - "value": 109, - "unit": "个" - }, - { - "key": "面图斑", - "name": "面图斑", - "value": 9, - "unit": "个" - } - ], - "plotRows": [ - { - "key": "AG-111", - "id": "AG-111", - "name": "1号地块多边形", - "fullName": "1号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "1号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-115", - "id": "AG-115", - "name": "2号地块多边形", - "fullName": "2号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "2号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-110", - "id": "AG-110", - "name": "3号地块多边形", - "fullName": "3号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "3号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-113", - "id": "AG-113", - "name": "4号地块多边形", - "fullName": "4号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "4号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-118", - "id": "AG-118", - "name": "5号地块多边形", - "fullName": "5号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "5号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-117", - "id": "AG-117", - "name": "6号地块多边形", - "fullName": "6号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "6号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-112", - "id": "AG-112", - "name": "产业园9号地块多边形", - "fullName": "产业园9号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "产业园9号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-116", - "id": "AG-116", - "name": "人字形7号地块多边形", - "fullName": "人字形7号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "人字形7号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-114", - "id": "AG-114", - "name": "无人区8号地块多边形", - "fullName": "无人区8号地块多边形", - "town": "邛溪镇", - "category": "项目地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "无人区8号地块多边形 邛溪镇 项目地块 待核定" - }, - { - "key": "AG-069", - "id": "AG-069", - "name": "121212_118", - "fullName": "121212_118", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_118 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-070", - "id": "AG-070", - "name": "121212_119", - "fullName": "121212_119", - "town": "江茸乡", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_119 江茸乡 待分类图斑 待核定" - }, - { - "key": "AG-071", - "id": "AG-071", - "name": "121212_120", - "fullName": "121212_120", - "town": "江茸乡", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_120 江茸乡 待分类图斑 待核定" - }, - { - "key": "AG-072", - "id": "AG-072", - "name": "121212_121", - "fullName": "121212_121", - "town": "查尔玛乡", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_121 查尔玛乡 待分类图斑 待核定" - }, - { - "key": "AG-073", - "id": "AG-073", - "name": "121212_122", - "fullName": "121212_122", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_122 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-061", - "id": "AG-061", - "name": "121212_61", - "fullName": "121212_61", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_61 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-062", - "id": "AG-062", - "name": "121212_62", - "fullName": "121212_62", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_62 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-063", - "id": "AG-063", - "name": "121212_63", - "fullName": "121212_63", - "town": "龙日镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_63 龙日镇 待分类图斑 待核定" - }, - { - "key": "AG-064", - "id": "AG-064", - "name": "121212_64", - "fullName": "121212_64", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_64 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-065", - "id": "AG-065", - "name": "121212_65", - "fullName": "121212_65", - "town": "龙日镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_65 龙日镇 待分类图斑 待核定" - }, - { - "key": "AG-066", - "id": "AG-066", - "name": "121212_66", - "fullName": "121212_66", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_66 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-067", - "id": "AG-067", - "name": "121212_67", - "fullName": "121212_67", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_67 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-068", - "id": "AG-068", - "name": "121212_68", - "fullName": "121212_68", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "121212_68 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-051", - "id": "AG-051", - "name": "调拨_51", - "fullName": "调拨_51", - "town": "安曲镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_51 安曲镇 调拨地块 待核定" - }, - { - "key": "AG-052", - "id": "AG-052", - "name": "调拨_52", - "fullName": "调拨_52", - "town": "安曲镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_52 安曲镇 调拨地块 待核定" - }, - { - "key": "AG-053", - "id": "AG-053", - "name": "调拨_53", - "fullName": "调拨_53", - "town": "安曲镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_53 安曲镇 调拨地块 待核定" - }, - { - "key": "AG-054", - "id": "AG-054", - "name": "调拨_54", - "fullName": "调拨_54", - "town": "安曲镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_54 安曲镇 调拨地块 待核定" - }, - { - "key": "AG-055", - "id": "AG-055", - "name": "调拨_55", - "fullName": "调拨_55", - "town": "安曲镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_55 安曲镇 调拨地块 待核定" - }, - { - "key": "AG-056", - "id": "AG-056", - "name": "调拨_56", - "fullName": "调拨_56", - "town": "邛溪镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_56 邛溪镇 调拨地块 待核定" - }, - { - "key": "AG-057", - "id": "AG-057", - "name": "调拨_57", - "fullName": "调拨_57", - "town": "邛溪镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_57 邛溪镇 调拨地块 待核定" - }, - { - "key": "AG-058", - "id": "AG-058", - "name": "调拨_58", - "fullName": "调拨_58", - "town": "邛溪镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_58 邛溪镇 调拨地块 待核定" - }, - { - "key": "AG-059", - "id": "AG-059", - "name": "调拨_59", - "fullName": "调拨_59", - "town": "邛溪镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_59 邛溪镇 调拨地块 待核定" - }, - { - "key": "AG-060", - "id": "AG-060", - "name": "调拨_60", - "fullName": "调拨_60", - "town": "邛溪镇", - "category": "调拨地块", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "调拨_60 邛溪镇 调拨地块 待核定" - }, - { - "key": "AG-105", - "id": "AG-105", - "name": "其他_100", - "fullName": "其他_100", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_100 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-106", - "id": "AG-106", - "name": "其他_101", - "fullName": "其他_101", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_101 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-107", - "id": "AG-107", - "name": "其他_102", - "fullName": "其他_102", - "town": "邛溪镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_102 邛溪镇 待分类图斑 待核定" - }, - { - "key": "AG-108", - "id": "AG-108", - "name": "其他_103", - "fullName": "其他_103", - "town": "邛溪镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_103 邛溪镇 待分类图斑 待核定" - }, - { - "key": "AG-109", - "id": "AG-109", - "name": "其他_104", - "fullName": "其他_104", - "town": "邛溪镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_104 邛溪镇 待分类图斑 待核定" - }, - { - "key": "AG-074", - "id": "AG-074", - "name": "其他_69", - "fullName": "其他_69", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_69 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-075", - "id": "AG-075", - "name": "其他_70", - "fullName": "其他_70", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_70 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-076", - "id": "AG-076", - "name": "其他_71", - "fullName": "其他_71", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_71 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-077", - "id": "AG-077", - "name": "其他_72", - "fullName": "其他_72", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_72 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-078", - "id": "AG-078", - "name": "其他_73", - "fullName": "其他_73", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_73 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-079", - "id": "AG-079", - "name": "其他_74", - "fullName": "其他_74", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_74 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-080", - "id": "AG-080", - "name": "其他_75", - "fullName": "其他_75", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_75 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-081", - "id": "AG-081", - "name": "其他_76", - "fullName": "其他_76", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_76 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-082", - "id": "AG-082", - "name": "其他_77", - "fullName": "其他_77", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_77 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-083", - "id": "AG-083", - "name": "其他_78", - "fullName": "其他_78", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_78 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-084", - "id": "AG-084", - "name": "其他_79", - "fullName": "其他_79", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_79 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-085", - "id": "AG-085", - "name": "其他_80", - "fullName": "其他_80", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_80 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-086", - "id": "AG-086", - "name": "其他_81", - "fullName": "其他_81", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_81 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-087", - "id": "AG-087", - "name": "其他_82", - "fullName": "其他_82", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_82 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-088", - "id": "AG-088", - "name": "其他_83", - "fullName": "其他_83", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_83 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-089", - "id": "AG-089", - "name": "其他_84", - "fullName": "其他_84", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_84 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-090", - "id": "AG-090", - "name": "其他_85", - "fullName": "其他_85", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_85 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-091", - "id": "AG-091", - "name": "其他_86", - "fullName": "其他_86", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_86 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-092", - "id": "AG-092", - "name": "其他_87", - "fullName": "其他_87", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_87 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-093", - "id": "AG-093", - "name": "其他_88", - "fullName": "其他_88", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_88 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-094", - "id": "AG-094", - "name": "其他_89", - "fullName": "其他_89", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_89 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-095", - "id": "AG-095", - "name": "其他_90", - "fullName": "其他_90", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_90 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-096", - "id": "AG-096", - "name": "其他_91", - "fullName": "其他_91", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_91 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-097", - "id": "AG-097", - "name": "其他_92", - "fullName": "其他_92", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_92 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-098", - "id": "AG-098", - "name": "其他_93", - "fullName": "其他_93", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_93 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-099", - "id": "AG-099", - "name": "其他_94", - "fullName": "其他_94", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_94 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-100", - "id": "AG-100", - "name": "其他_95", - "fullName": "其他_95", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_95 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-101", - "id": "AG-101", - "name": "其他_96", - "fullName": "其他_96", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_96 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-102", - "id": "AG-102", - "name": "其他_97", - "fullName": "其他_97", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_97 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-103", - "id": "AG-103", - "name": "其他_98", - "fullName": "其他_98", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_98 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-104", - "id": "AG-104", - "name": "其他_99", - "fullName": "其他_99", - "town": "安曲镇", - "category": "待分类图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "其他_99 安曲镇 待分类图斑 待核定" - }, - { - "key": "AG-001", - "id": "AG-001", - "name": "撒播_0", - "fullName": "撒播_0", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_0 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-002", - "id": "AG-002", - "name": "撒播_1", - "fullName": "撒播_1", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_1 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-011", - "id": "AG-011", - "name": "撒播_10", - "fullName": "撒播_10", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_10 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-012", - "id": "AG-012", - "name": "撒播_11", - "fullName": "撒播_11", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_11 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-013", - "id": "AG-013", - "name": "撒播_12", - "fullName": "撒播_12", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_12 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-014", - "id": "AG-014", - "name": "撒播_13", - "fullName": "撒播_13", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_13 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-015", - "id": "AG-015", - "name": "撒播_14", - "fullName": "撒播_14", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_14 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-016", - "id": "AG-016", - "name": "撒播_15", - "fullName": "撒播_15", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_15 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-017", - "id": "AG-017", - "name": "撒播_16", - "fullName": "撒播_16", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_16 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-018", - "id": "AG-018", - "name": "撒播_17", - "fullName": "撒播_17", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_17 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-019", - "id": "AG-019", - "name": "撒播_18", - "fullName": "撒播_18", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_18 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-020", - "id": "AG-020", - "name": "撒播_19", - "fullName": "撒播_19", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_19 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-003", - "id": "AG-003", - "name": "撒播_2", - "fullName": "撒播_2", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_2 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-021", - "id": "AG-021", - "name": "撒播_20", - "fullName": "撒播_20", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_20 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-022", - "id": "AG-022", - "name": "撒播_21", - "fullName": "撒播_21", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_21 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-023", - "id": "AG-023", - "name": "撒播_22", - "fullName": "撒播_22", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_22 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-024", - "id": "AG-024", - "name": "撒播_23", - "fullName": "撒播_23", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_23 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-025", - "id": "AG-025", - "name": "撒播_24", - "fullName": "撒播_24", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_24 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-026", - "id": "AG-026", - "name": "撒播_25", - "fullName": "撒播_25", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_25 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-027", - "id": "AG-027", - "name": "撒播_26", - "fullName": "撒播_26", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_26 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-028", - "id": "AG-028", - "name": "撒播_27", - "fullName": "撒播_27", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_27 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-029", - "id": "AG-029", - "name": "撒播_28", - "fullName": "撒播_28", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_28 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-030", - "id": "AG-030", - "name": "撒播_29", - "fullName": "撒播_29", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_29 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-004", - "id": "AG-004", - "name": "撒播_3", - "fullName": "撒播_3", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_3 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-031", - "id": "AG-031", - "name": "撒播_30", - "fullName": "撒播_30", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_30 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-032", - "id": "AG-032", - "name": "撒播_31", - "fullName": "撒播_31", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_31 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-033", - "id": "AG-033", - "name": "撒播_32", - "fullName": "撒播_32", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_32 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-034", - "id": "AG-034", - "name": "撒播_33", - "fullName": "撒播_33", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_33 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-035", - "id": "AG-035", - "name": "撒播_34", - "fullName": "撒播_34", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_34 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-036", - "id": "AG-036", - "name": "撒播_35", - "fullName": "撒播_35", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_35 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-037", - "id": "AG-037", - "name": "撒播_36", - "fullName": "撒播_36", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_36 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-038", - "id": "AG-038", - "name": "撒播_37", - "fullName": "撒播_37", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_37 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-039", - "id": "AG-039", - "name": "撒播_38", - "fullName": "撒播_38", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_38 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-040", - "id": "AG-040", - "name": "撒播_39", - "fullName": "撒播_39", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_39 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-005", - "id": "AG-005", - "name": "撒播_4", - "fullName": "撒播_4", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_4 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-041", - "id": "AG-041", - "name": "撒播_40", - "fullName": "撒播_40", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_40 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-042", - "id": "AG-042", - "name": "撒播_41", - "fullName": "撒播_41", - "town": "邛溪镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_41 邛溪镇 撒播图斑 待核定" - }, - { - "key": "AG-006", - "id": "AG-006", - "name": "撒播_5", - "fullName": "撒播_5", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_5 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-007", - "id": "AG-007", - "name": "撒播_6", - "fullName": "撒播_6", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_6 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-008", - "id": "AG-008", - "name": "撒播_7", - "fullName": "撒播_7", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_7 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-009", - "id": "AG-009", - "name": "撒播_8", - "fullName": "撒播_8", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_8 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-010", - "id": "AG-010", - "name": "撒播_9", - "fullName": "撒播_9", - "town": "安曲镇", - "category": "撒播图斑", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "撒播_9 安曲镇 撒播图斑 待核定" - }, - { - "key": "AG-043", - "id": "AG-043", - "name": "总范围_42", - "fullName": "总范围_42", - "town": "安曲镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_42 安曲镇 高产稳产范围 待核定" - }, - { - "key": "AG-044", - "id": "AG-044", - "name": "总范围_44", - "fullName": "总范围_44", - "town": "安曲镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_44 安曲镇 高产稳产范围 待核定" - }, - { - "key": "AG-045", - "id": "AG-045", - "name": "总范围_45", - "fullName": "总范围_45", - "town": "安曲镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_45 安曲镇 高产稳产范围 待核定" - }, - { - "key": "AG-046", - "id": "AG-046", - "name": "总范围_46", - "fullName": "总范围_46", - "town": "邛溪镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_46 邛溪镇 高产稳产范围 待核定" - }, - { - "key": "AG-047", - "id": "AG-047", - "name": "总范围_47", - "fullName": "总范围_47", - "town": "邛溪镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_47 邛溪镇 高产稳产范围 待核定" - }, - { - "key": "AG-048", - "id": "AG-048", - "name": "总范围_48", - "fullName": "总范围_48", - "town": "邛溪镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_48 邛溪镇 高产稳产范围 待核定" - }, - { - "key": "AG-049", - "id": "AG-049", - "name": "总范围_49", - "fullName": "总范围_49", - "town": "邛溪镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_49 邛溪镇 高产稳产范围 待核定" - }, - { - "key": "AG-050", - "id": "AG-050", - "name": "总范围_50", - "fullName": "总范围_50", - "town": "瓦切镇", - "category": "高产稳产范围", - "status": "待核定", - "stageKey": "artificial-grassland", - "stageName": "人工种草", - "canLocate": true, - "locateText": "定位", - "searchText": "总范围_50 瓦切镇 高产稳产范围 待核定" - } - ] -} -`,VW=`{ - "generatedAt": "2026-07-11T03:50:38.329544+00:00", - "sourceLabel": "各乡镇实测种草面积汇总表2023-7-25.xlsx", - "sourceSheet": "Sheet1", - "sourceNote": "按汇总表合计行作为大屏面积口径;图斑资料仅用于地图定位,不作为统计主口径。", - "summary": { - "actualAreaMu": 56569, - "contractAreaMu": 56569, - "areaDifferenceMu": 0, - "projectCount": 6, - "coveredTownCount": 7, - "constructionYearCount": 3, - "investmentRecordCount": 5, - "investmentWanYuan": 4322.56, - "tillageDisturbanceMu": 10011.32, - "slightDisturbanceMu": 2301.69, - "tillageMu": 7093.23, - "drillSowingMu": 14818, - "noTillOverseedingMu": 30118.76 - }, - "projectRows": [ - { - "key": "artificial-grassland-project-1", - "name": "2023饲草基地", - "fullName": "四川省红原县草原畜牧业转型升级试点项目(2023)高产稳产饲草基地", - "year": "2023", - "category": "高产稳产饲草基地", - "value": 12000, - "unit": "亩", - "actualAreaMu": 12000, - "contractAreaMu": 12000, - "investmentWanYuan": 984.1, - "owner": "红原县科学技术和农业畜牧局", - "contractor": "四川格润草业有限公司", - "requirement": "免耕补播:12000亩", - "towns": [ - "安曲镇", - "瓦切镇", - "龙日镇" - ], - "locations": [ - "安曲当木柯", - "安曲镇(安曲牧场", - "壤口黑水方向(沟里面)", - "瓦切镇(赛马场后面、村委会后面山坡)", - "瓦切镇(麦洼方向)", - "龙日镇(龙日坝村神山后)" - ], - "notes": [], - "canLocate": false, - "searchText": "四川省红原县草原畜牧业转型升级试点项目(2023)高产稳产饲草基地 2023 高产稳产饲草基地 安曲当木柯 安曲镇(安曲牧场 壤口黑水方向(沟里面) 瓦切镇(赛马场后面、村委会后面山坡) 瓦切镇(麦洼方向) 龙日镇(龙日坝村神山后)" - }, - { - "key": "artificial-grassland-project-2", - "name": "2023草种基地", - "fullName": "四川省红原县草原畜牧业转型升级试点项目(2023)草种基地", - "year": "2023", - "category": "草种基地", - "value": 2500, - "unit": "亩", - "actualAreaMu": 2500, - "contractAreaMu": 2500, - "investmentWanYuan": 0, - "owner": "红原县科学技术和农业畜牧局", - "contractor": "", - "requirement": "翻耕2500亩", - "towns": [ - "龙日镇" - ], - "locations": [ - "龙日镇(机场右)", - "龙日镇(机场左、右)" - ], - "notes": [ - "2500亩2024年做" - ], - "canLocate": false, - "searchText": "四川省红原县草原畜牧业转型升级试点项目(2023)草种基地 2023 草种基地 龙日镇(机场右) 龙日镇(机场左、右) 2500亩2024年做" - }, - { - "key": "artificial-grassland-project-3", - "name": "2022草种基地", - "fullName": "四川省红原县草原畜牧业转型升级试点项目(2022)草种基地", - "year": "2022", - "category": "草种基地", - "value": 3000, - "unit": "亩", - "actualAreaMu": 3000, - "contractAreaMu": 3000, - "investmentWanYuan": 308.48, - "owner": "红原县科学技术和农业畜牧局", - "contractor": "中材克普(北京)生态环境有限公司", - "requirement": "翻耕3000亩", - "towns": [ - "安曲镇", - "邛溪镇", - "龙日镇" - ], - "locations": [ - "安曲镇(机场旁)", - "安曲镇(镇旁)", - "邛溪镇(麦洼牦牛园区)", - "龙日镇" - ], - "notes": [ - "601.74" - ], - "canLocate": false, - "searchText": "四川省红原县草原畜牧业转型升级试点项目(2022)草种基地 2022 草种基地 安曲镇(机场旁) 安曲镇(镇旁) 邛溪镇(麦洼牦牛园区) 龙日镇 601.74" - }, - { - "key": "artificial-grassland-project-4", - "name": "2022饲草基地", - "fullName": "四川省红原县草原畜牧业转型升级试点项目(2022)高产稳产饲草基地", - "year": "2022", - "category": "高产稳产饲草基地", - "value": 5000, - "unit": "亩", - "actualAreaMu": 5000, - "contractAreaMu": 5000, - "investmentWanYuan": 489.03, - "owner": "红原县科学技术和农业畜牧局", - "contractor": "四川省林丰园林建设工程有限公司", - "requirement": "翻耕:3500亩;人工播种1500亩", - "towns": [ - "安曲镇", - "江茸乡", - "刷经寺镇", - "瓦切镇", - "龙日镇" - ], - "locations": [ - "安曲镇(安曲牧场红原方向右侧)", - "安曲镇(安曲牧场)", - "安曲镇(安曲牧场路口右侧)", - "江茸乡(绵羊养殖场)", - "刷经寺镇(壤口黑水路口)", - "瓦切镇(场镇旁)", - "刷经寺镇(壤口黑水路口下)", - "刷经寺镇(壤口村)", - "龙日镇(龙日坝村神山后)", - "龙日镇(飞机场)", - "安曲镇阿坝县路口至飞机场)" - ], - "notes": [], - "canLocate": false, - "searchText": "四川省红原县草原畜牧业转型升级试点项目(2022)高产稳产饲草基地 2022 高产稳产饲草基地 安曲镇(安曲牧场红原方向右侧) 安曲镇(安曲牧场) 安曲镇(安曲牧场路口右侧) 江茸乡(绵羊养殖场) 刷经寺镇(壤口黑水路口) 瓦切镇(场镇旁) 刷经寺镇(壤口黑水路口下) 刷经寺镇(壤口村) 龙日镇(龙日坝村神山后) 龙日镇(飞机场) 安曲镇阿坝县路口至飞机场)" - }, - { - "key": "artificial-grassland-project-5", - "name": "2024草地资源保护", - "fullName": "草地资源保护与利用子项目", - "year": "2024", - "category": "草地资源保护", - "value": 11050, - "unit": "亩", - "actualAreaMu": 11050, - "contractAreaMu": 11050, - "investmentWanYuan": 1087.12, - "owner": "红原县科学技术和农业畜牧局", - "contractor": "四川省川蜀林草建设工程有限公司", - "requirement": "免耕补播:7900亩,条播:2000亩,翻耕1150亩", - "towns": [ - "瓦切镇" - ], - "locations": [ - "瓦切镇(如意空行寺路口)", - "瓦切镇(如意空行寺瓦切镇方向左侧)", - "瓦切镇(种草基地工地后)", - "瓦切镇(虎头山)", - "瓦切镇(三角神牛牧家乐旁)", - "瓦切镇(牧草产业园区)", - "瓦切镇达俄村(唐日合作社旁)", - "瓦切镇达俄村(红原印象路口)", - "瓦切镇达俄村(如意空行寺旁)" - ], - "notes": [ - "翻耕1050亩2024年实施" - ], - "canLocate": false, - "searchText": "草地资源保护与利用子项目 2024 草地资源保护 瓦切镇(如意空行寺路口) 瓦切镇(如意空行寺瓦切镇方向左侧) 瓦切镇(种草基地工地后) 瓦切镇(虎头山) 瓦切镇(三角神牛牧家乐旁) 瓦切镇(牧草产业园区) 瓦切镇达俄村(唐日合作社旁) 瓦切镇达俄村(红原印象路口) 瓦切镇达俄村(如意空行寺旁) 翻耕1050亩2024年实施" - }, - { - "key": "artificial-grassland-project-6", - "name": "2024饲草基地", - "fullName": "高产稳产优质饲草基地建设子项目", - "year": "2024", - "category": "高产稳产饲草基地", - "value": 23019, - "unit": "亩", - "actualAreaMu": 23019, - "contractAreaMu": 23019, - "investmentWanYuan": 1453.82, - "owner": "红原县科学技术和农业畜牧局", - "contractor": "中材克普(北京)生态环境有限公司", - "requirement": "条播23019亩", - "towns": [ - "龙日镇", - "瓦切镇", - "安曲镇", - "查尔玛乡", - "江茸乡" - ], - "locations": [ - "龙日镇(飞机场)", - "瓦切(泽旺多尔基对面)", - "瓦切(种畜场对面)", - "热坤村(音乐牧场对面)", - "(安曲)月亮湾", - "安曲镇(阿坝县路口旁)", - "查尔玛(镇政府旁边)", - "江茸乡(绵羊养殖场)", - "4600" - ], - "notes": [ - "24年实施" - ], - "canLocate": false, - "searchText": "高产稳产优质饲草基地建设子项目 2024 高产稳产饲草基地 龙日镇(飞机场) 瓦切(泽旺多尔基对面) 瓦切(种畜场对面) 热坤村(音乐牧场对面) (安曲)月亮湾 安曲镇(阿坝县路口旁) 查尔玛(镇政府旁边) 江茸乡(绵羊养殖场) 4600 24年实施" - } - ], - "yearRows": [ - { - "key": "year-2022", - "name": "2022年", - "value": 8000, - "unit": "亩", - "extra": "实测种草面积" - }, - { - "key": "year-2023", - "name": "2023年", - "value": 14500, - "unit": "亩", - "extra": "实测种草面积" - }, - { - "key": "year-2024", - "name": "2024年", - "value": 34069, - "unit": "亩", - "extra": "实测种草面积" - } - ], - "typeRows": [ - { - "key": "type-高产稳产饲草基地", - "name": "高产稳产饲草基地", - "value": 40019, - "unit": "亩", - "extra": "实测种草面积" - }, - { - "key": "type-草地资源保护", - "name": "草地资源保护", - "value": 11050, - "unit": "亩", - "extra": "实测种草面积" - }, - { - "key": "type-草种基地", - "name": "草种基地", - "value": 5500, - "unit": "亩", - "extra": "实测种草面积" - } - ], - "operationRows": [ - { - "key": "tillage", - "name": "实际翻耕", - "value": 7093.23, - "unit": "亩", - "extra": "表内实测记录" - }, - { - "key": "drill-sowing", - "name": "条播", - "value": 14818, - "unit": "亩", - "extra": "表内实测记录" - }, - { - "key": "no-till-overseeding", - "name": "免耕补播", - "value": 30118.76, - "unit": "亩", - "extra": "表内实测记录" - } - ], - "disturbanceRows": [ - { - "key": "disturbance-total", - "name": "翻耕及扰动", - "value": 10011.32, - "unit": "亩", - "extra": "施工扰动面积" - }, - { - "key": "disturbance-light", - "name": "轻微扰动", - "value": 2301.69, - "unit": "亩", - "extra": "施工扰动面积" - }, - { - "key": "disturbance-tillage", - "name": "实际翻耕", - "value": 7093.23, - "unit": "亩", - "extra": "施工扰动面积" - } - ], - "townRows": [ - { - "key": "town-安曲镇", - "name": "安曲镇", - "value": 4, - "unit": "项", - "extra": "涉及种草项目" - }, - { - "key": "town-瓦切镇", - "name": "瓦切镇", - "value": 4, - "unit": "项", - "extra": "涉及种草项目" - }, - { - "key": "town-龙日镇", - "name": "龙日镇", - "value": 5, - "unit": "项", - "extra": "涉及种草项目" - }, - { - "key": "town-邛溪镇", - "name": "邛溪镇", - "value": 1, - "unit": "项", - "extra": "涉及种草项目" - }, - { - "key": "town-江茸乡", - "name": "江茸乡", - "value": 2, - "unit": "项", - "extra": "涉及种草项目" - }, - { - "key": "town-刷经寺镇", - "name": "刷经寺镇", - "value": 1, - "unit": "项", - "extra": "涉及种草项目" - }, - { - "key": "town-查尔玛乡", - "name": "查尔玛乡", - "value": 1, - "unit": "项", - "extra": "涉及种草项目" - } - ], - "investmentRows": [ - { - "key": "artificial-grassland-project-6", - "name": "2024饲草基地", - "value": 1453.82, - "unit": "万元", - "extra": "2024" - }, - { - "key": "artificial-grassland-project-5", - "name": "2024草地资源保护", - "value": 1087.12, - "unit": "万元", - "extra": "2024" - }, - { - "key": "artificial-grassland-project-1", - "name": "2023饲草基地", - "value": 984.1, - "unit": "万元", - "extra": "2023" - }, - { - "key": "artificial-grassland-project-4", - "name": "2022饲草基地", - "value": 489.03, - "unit": "万元", - "extra": "2022" - }, - { - "key": "artificial-grassland-project-3", - "name": "2022草种基地", - "value": 308.48, - "unit": "万元", - "extra": "2022" - } - ] -} -`,HW=""+new URL("xiangfa-breeding-base-03c7f2cb-balabala-1783905032331.png",import.meta.url).href,S6=[{key:"family-pasture",name:"家庭生态牧场",color:"#30dcff",unit:"处",metricLabel:"生态牧场",width:126},{key:"artificial-grassland",name:"人工种草",color:"#19ffc6",unit:"万亩",metricLabel:"种草面积",width:112},{key:"scale-breeding",name:"规模化养殖基地",color:"#46e7ff",unit:"个",metricLabel:"基地",width:132},{key:"breeding-selection",name:"选育/扩繁基地",color:"#7aefff",unit:"个",metricLabel:"基地",width:132},{key:"forage-storage",name:"防灾减灾",subName:"饲草储备库",color:"#25cbe8",unit:"吨",metricLabel:"库容",width:126},{key:"milk-source-station",name:"奶源站",color:"#5cdfff",unit:"个",metricLabel:"站点",width:112},{key:"slaughter-processing",name:"屠宰与加工",color:"#1fafd2",unit:"万元",metricLabel:"产值",width:112},{key:"farm-equipment",name:"农机装备",color:"#30dcff",unit:"个",metricLabel:"装备",width:112},{key:"forage-trade",name:"牧草交易",color:"#19ffc6",unit:"个",metricLabel:"点位",width:112},{key:"social-service",name:"社会化服务",subName:"金融/疫病/保险/培训",color:"#8aefff",unit:"个",metricLabel:"主体",width:132}],kn=A7.map(t=>t.zoneName),KW=new Map(a9.map(t=>[t.name,t.center])),Og=JSON.parse(YW),qW=JSON.parse($W),JW=JSON.parse(WW),C5=JSON.parse(VW),Nr=Og.categories||[],QW=new Map(Nr.map(t=>[t.categoryCode,t])),jg=(qW.records||[]).map(t=>Z2(B2({},t),{areaName:t.town,address:t.village,categoryCode:"YC-FAMILY-PASTURE",categoryName:"家庭生态牧场",stageKey:"family-pasture",stageName:"家庭生态牧场"})),vm=new Set(["企业全称","主体全称","畜牧工作站","规划建设股","执法大队","疫控中心","科教股","科技股","乡村振兴股","农产品检测站","数据欠缺,请两个股室核定饲草基地数据。","对接相关科研院校收集数据"]),XW=new Set(["YC-GRASSLAND-RESOURCE","YC-CXPT-OTHER-BASE"]),ZW=[/^林草局数据-\d+$/,/^(技术培训|金融服务网点|保险服务网点)-\d+$/],eV=[/蔬菜/,/金针菇/,/植物园/,/污水/,/物联网/,/绵羊/],Lu=Nr.flatMap(t=>(t.categoryCode==="YC-FAMILY-PASTURE"?jg:t.items||[]).map(e=>{var n;return Z2(B2({},e),{categoryCode:t.categoryCode,categoryName:t.categoryName,stageKey:t.industryStage,stageName:((n=qn(t.industryStage))==null?void 0:n.name)||t.categoryName})})),F7=Lu.filter(ce),Sm=new Map(Lu.map(t=>[String(t.id),t])),H6=et("YC-FAMILY-PASTURE"),E8=et(["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"]),Iu=et(["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE"]),A5=et("YC-DISASTER-FORAGE-STORAGE"),Kn=et("YC-PROCESSING-PLANT"),K6=et("YC-SLAUGHTERHOUSE"),Fu=et("YC-FARM-EQUIPMENT"),Bu=et("YC-DISEASE-CONTROL"),s9=et("YC-TECH-TRAINING"),B7=et("YC-SERVICE-FINANCE"),Rr=et("YC-SERVICE-INSURANCE"),Du=Nn(H6),Fl=Ge(H6,t=>o0(t,["标准化暖棚 (㎡)"])),tV=Ge(H6,t=>o0(t,["管理用房 (㎡)"])),zg=Ge(H6,t=>o0(t,["饲草料库 (㎡)"])),nV=Ge(H6,t=>o0(t,["活动场地及通道 (㎡)"]));Nn(Iu);const sr=Nn(A5),aV=Nn(E8),iV=Ge(E8,t=>o0(t,["设计存栏量 (头)"]));Nn(Kn);Nn(K6);const Bl=Nn(Fu),Dl=Nn(Bu),Yg=Nn(s9),Gu=Nn(B7),$g=Nn(Rr),rV=Nr.filter(t=>et(t.categoryCode).some(ce)).length;F7.length;new Set(F7.map(Qt).filter(Boolean)).size||kn.length;const oV=Math.max(Bl,Wn.reduce((t,e)=>t+Number(e.devices||0),0));Ge(Iu,t=>o0(t,["种植面积 (亩)","acreage"])||C8(t.scale));const b8=Ge(A5,t=>o0(t,["总库容 (吨)"]));Ge(et("YC-BREEDING-BASE"),t=>o0(t,["设计存栏量 (头)"]));Ge(et("YC-BREEDING-BASE"),t=>o0(t,["年出栏量 (头)"]));const Wg=Ge(Kn,t=>o0(t,["年产值 (万元)"])),Uu=Ge(Kn,t=>o0(t,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"])),Ou=Ge(Kn,t=>o0(t,["带动本地农户数"])),ju=Ge(K6,t=>o0(t,["年总产值 (万元)"])),Lr=Ge(K6,t=>o0(t,["年屠宰总量 (头)"])),Vg=Ge(K6,t=>o0(t,["冷冻库容量 (吨)"])),D7=Wg+ju,T8=Wu(B7,t=>o0(t,["最高单户贷款额度 (万元)"])),sV=Wu(B7,t=>o0(t,["服务覆盖乡镇数"])),Gl=Wu(Rr,t=>o0(t,["服务覆盖乡镇数"])),Hg=Ge(s9,t=>o0(t,["年培训场次"])),v7=Ge(s9,t=>o0(t,["年培训人次"])),lV=et("YC-BREEDING-BASE"),uV=new Set(["YC-BREEDING-BASE"]),Ul=[{key:"longri-2025",aliases:["龙日坝标准化养殖基地 (2025)"],name:"龙日坝标准化养殖基地",town:"龙日镇",village:"龙日坝村",operator:"红原县高原犇犇农副产品有限公司",tag:"标准化育肥示范",projectInvestment:5118,summary:"以牦牛育肥为主,联动科研机构和饲料企业开展标准化育肥。",facts:[{label:"建设规模",value:"30,685㎡",note:"规划总建筑面积"},{label:"项目投资",value:"5,118万元",note:"重点项目建设"},{label:"示范带动",value:"500户",note:"牧民增收"}],highlights:["科研协作","补饲精料","育肥增效"]},{key:"seyong",aliases:["瓦切镇标准化色永村养殖基地"],name:"色永村标准化养殖基地",town:"瓦切镇",village:"色永村",operator:"红原县高原犇犇农副产品有限公司",tag:"设施育肥示范",projectInvestment:1566,summary:"依托双育肥舍开展集中育肥,形成标准化养殖和补饲配套。",facts:[{label:"建设规模",value:"6,651㎡",note:"规划总建筑面积"},{label:"项目投资",value:"1,566万元",note:"基地建设"},{label:"示范带动",value:"100户",note:"牧民增收"}],highlights:["双育肥舍","集中育肥","标准化配套"]},{key:"dae",aliases:["瓦切镇达俄村标准化养殖基地","瓦切镇达峨村标准化养殖基地"],name:"达峨村标准化养殖基地",town:"瓦切镇",village:"达峨村",operator:"红原县雅卓阳养殖农民专业合作社",tag:"联牧联营示范",projectInvestment:997,summary:"以联牧联营组织资源,推进分区放牧、分群饲养和专业化管理。",facts:[{label:"项目投资",value:"997万元",note:"基地建设"},{label:"优质草场",value:"8,800亩",note:"养殖基础"},{label:"增收成效",value:"约6万元",note:"社员户均增收"}],highlights:["联牧联营","分群饲养","四季均衡出栏"]},{key:"xiangfa",aliases:["邛溪镇麻萨阳德村标准化养殖基地","邛溪镇麻色阳德村标准化养殖基地","祥发牧业综合养殖基地"],name:"祥发牧业综合养殖基地",town:"邛溪镇",village:"麻色阳德村",operator:"红原县祥发牧业发展有限责任公司",tag:"联农带农示范",projectInvestment:515,summary:"以“4218”标准化养殖和联农带农模式,提升育肥效益与产业带动能力。",image:HW,facts:[{label:"项目投资",value:"515万元",note:"项目建设"},{label:"建设面积",value:"7,517㎡",note:"建筑面积"},{label:"养殖模式",value:"4218",note:"标准化养殖"}],highlights:["标准化养殖","联农带农","集中育肥"]}],Kg=aH([...Iu,...A5]),U6=C5.summary||{},qg=C5.projectRows||[],cV=C5.yearRows||[],dV=C5.typeRows||[],fV=C5.operationRows||[],hV=C5.disturbanceRows||[],Jg=[...C5.townRows||[]].sort(kt),mV=C5.investmentRows||[],pV=JW.plotRows||[],gV=iH(),Qg=rH(),wm=Wn.map(t=>({key:t.name,name:t.name,value:Number(t.devices||0),unit:"套",extra:`${Ze(t.count)}头识别样本`})).filter(t=>t.value>0).sort(kt),yV=Wn.map(t=>({key:t.name,name:t.name,value:Number(t.count||0),unit:"头",extra:`${Ze(t.devices)}套设备`})).filter(t=>t.value>0).sort(kt),vV=zV();Og.generatedAt;A5.map(Yu);[...Kn,...K6].map(Yu);F7.map(Yu);const lr=F7.map(WV).sort((t,e)=>Number(e.canLocate)-Number(t.canLocate)||t.stageOrder-e.stageOrder||String(t.name).localeCompare(String(e.name),"zh-CN"));function Vs(t={}){const e=String(t.featuredBaseKey||"").trim();if(e)return Ul.find(a=>a.key===e)||null;const n=[t.name,t.fullName].filter(Boolean).map(a=>String(a));return Ul.find(a=>a.aliases.some(i=>n.some(r=>r===i||r.includes(i)||i.includes(r))))||null}const Xg=S6.reduce((t,e)=>t+O6(e.key),0),Zg=new Set(S6.flatMap(t=>cr(t.key).map(e=>e.town)).filter(Boolean)).size||kn.length,SV=[{zh:"产业点位",name:"产业点位",value:Xg,unit:"个"},{zh:"产业产值",name:"产业产值",value:jt(D7,1),unit:"万元",decimals:1},{zh:"饲草库容",name:"饲草库容",value:b8,unit:"吨"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:Zg,unit:"个"}];function ey(t){const e=NV(t),n=q9();return({"family-pasture":[{zh:"家庭生态牧场",name:"家庭生态牧场",value:Du,unit:"处",icon:"town"},{zh:"标准化暖棚",name:"标准化暖棚",value:Fl,unit:"㎡",icon:"area"},{zh:"饲草料库",name:"饲草料库",value:zg,unit:"㎡",icon:"stack"},{zh:"活动场地",name:"活动场地",value:nV,unit:"㎡",icon:"project"}],"artificial-grassland":[{zh:"实测种草面积",name:"实测种草面积",value:jt(Number(U6.actualAreaMu||0)/1e4,2),unit:"万亩",icon:"area"},{zh:"建设项目",name:"建设项目",value:U6.projectCount||0,unit:"项",icon:"project"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:U6.coveredTownCount||0,unit:"个",icon:"town"},{zh:"项目投资",name:"项目投资",value:U6.investmentWanYuan||0,unit:"万元",icon:"certificate"}],"scale-breeding":[{zh:"养殖基地",name:"养殖基地",value:n.baseCount,unit:"个"},{zh:"设计存栏",name:"设计存栏",value:n.designStock,unit:"头"},{zh:"年出栏",name:"年出栏",value:n.annualOutput,unit:"头"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:n.townCount,unit:"个"}],"breeding-selection":[{zh:"选育/扩繁基地",name:"选育/扩繁基地",value:aV,unit:"个"},{zh:"设计存栏",name:"设计存栏",value:iV,unit:"头"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:jl(E8,Qt),unit:"个"},{zh:"育种等级",name:"育种等级",value:TV.length,unit:"类"}],"forage-storage":[{zh:"储备库",name:"储备库",value:sr,unit:"个"},{zh:"总库容",name:"总库容",value:b8,unit:"吨"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:jl(A5,Qt),unit:"个"},{zh:"草种类型",name:"草种类型",value:Kg.length,unit:"类"}],"milk-source-station":[{zh:"奶源站",name:"奶源站",value:0,unit:"个"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:0,unit:"个"},{zh:"年收奶量",name:"年收奶量",value:0,unit:"吨"},{zh:"建档主体",name:"建档主体",value:0,unit:"家"}],"slaughter-processing":[{zh:"加工屠宰点位",name:"加工屠宰点位",value:O6("slaughter-processing"),unit:"个"},{zh:"产业产值",name:"产业产值",value:jt(D7,1),unit:"万元",decimals:1},{zh:"年屠宰量",name:"年屠宰量",value:Lr,unit:"头"},{zh:"带动农户",name:"带动农户",value:Ou,unit:"户"}],"farm-equipment":[{zh:"监测点位",name:"监测点位",value:O6("farm-equipment"),unit:"个"},{zh:"识别设备",name:"识别设备",value:Wn.reduce((i,r)=>i+Number(r.devices||0),0),unit:"套"},{zh:"乡镇样本",name:"乡镇样本",value:Wn.length,unit:"个"},{zh:"识别样本",name:"识别样本",value:Wn.reduce((i,r)=>i+Number(r.count||0),0),unit:"头"}],"forage-trade":[{zh:"交易点位",name:"交易点位",value:0,unit:"个"},{zh:"覆盖乡镇",name:"覆盖乡镇",value:0,unit:"个"},{zh:"交易草量",name:"交易草量",value:0,unit:"吨"},{zh:"建档主体",name:"建档主体",value:0,unit:"家"}],"social-service":[{zh:"服务点位",name:"服务点位",value:O6("social-service"),unit:"个"},{zh:"最高授信",name:"最高授信",value:T8,unit:"万元"},{zh:"培训人次",name:"培训人次",value:v7,unit:"人次"},{zh:"服务类型",name:"服务类型",value:Qg.length,unit:"类"}]}[t]||[{zh:e.name,name:e.name,value:e.value,unit:e.unit},{zh:e.capacityUnit?"能力规模":"主体规模",name:e.capacityUnit?"能力规模":"主体规模",value:e.capacity,unit:e.capacityUnit},...(e.fields||[]).map(i=>({zh:i.label,name:i.label,value:i.value,unit:i.unit}))]).filter(i=>i.value!==void 0&&i.value!==null&&i.value!=="").slice(0,4)}const wV=[{key:"chain-subject",name:"产业点位",value:Xg,unit:"个",icon:"town",extra:`${rV}类主体`},{key:"chain-town",name:"镇域覆盖",value:Zg,unit:"个",icon:"town",extra:"全链覆盖"},{key:"chain-output",name:"产业产值",value:jt(D7,1),unit:"万元",icon:"certificate",extra:"加工+屠宰"},{key:"chain-forage",name:"饲草库容",value:b8,unit:"吨",icon:"yield",extra:"防灾储备"}],bV=S6.map(t=>({key:t.key,name:t.name,value:O6(t.key),unit:t.key==="family-pasture"?"处":"个",color:t.color})),ur=[{key:"family-pasture",name:"家庭生态牧场",value:Du,unit:"处",capacity:jt(Fl/1e4,2),capacityUnit:"万㎡",note:"家庭生态牧场建设及标准化养殖设施",fields:[{label:"标准化暖棚",value:jt(Fl/1e4,2),unit:"万㎡"},{label:"管理用房",value:jt(tV/1e4,2),unit:"万㎡"},{label:"饲草料库",value:jt(zg/1e4,2),unit:"万㎡"}]},{key:"artificial-grassland",name:"人工种草",value:jt(Number(U6.actualAreaMu||0)/1e4,2),unit:"万亩",capacity:U6.projectCount||0,capacityUnit:"项",note:"实测种草项目建设资料",fields:[{label:"实测种草面积",value:jt(Number(U6.actualAreaMu||0)/1e4,2),unit:"万亩"},{label:"建设项目",value:U6.projectCount||0,unit:"项"},{label:"覆盖乡镇",value:U6.coveredTownCount||0,unit:"个"}]},{key:"scale-breeding",name:"规模化养殖基地",value:q9().baseCount,unit:"个",capacity:q9().designStock,capacityUnit:"头",note:"标准化养殖、选育扩繁与种畜基地",fields:[{label:"设计存栏",value:q9().designStock,unit:"头"},{label:"年出栏",value:q9().annualOutput,unit:"头"},{label:"覆盖乡镇",value:q9().townCount,unit:"个"}]},{key:"forage-storage",name:"防灾减灾饲草储备库",value:sr,unit:"个",capacity:b8,capacityUnit:"吨",note:"饲草储备、防灾调拨和草种保障",fields:[{label:"储备库",value:sr,unit:"个"},{label:"总库容",value:b8,unit:"吨"},{label:"覆盖乡镇",value:jl(A5,Qt),unit:"个"}]},{key:"slaughter-processing",name:"屠宰与加工",value:O6("slaughter-processing"),unit:"个",capacity:jt(D7,1),capacityUnit:"万元",note:"乳品加工、肉制品加工与定点屠宰",fields:[{label:"加工产值",value:Wg,unit:"万元"},{label:"屠宰产值",value:jt(ju,1),unit:"万元"},{label:"年屠宰量",value:Lr,unit:"头"}]},{key:"farm-equipment",name:"农机装备",value:O6("farm-equipment"),unit:"个",capacity:oV,capacityUnit:"套",note:"农机服务主体与生产监测设备",fields:[{label:"监测点位",value:O6("farm-equipment"),unit:"个"},{label:"识别设备",value:Wn.reduce((t,e)=>t+Number(e.devices||0),0),unit:"套"},{label:"乡镇样本",value:Wn.length,unit:"个"}]},{key:"social-service",name:"社会化服务",value:O6("social-service"),unit:"个",capacity:T8,capacityUnit:"万元",note:"金融、保险、防疫、培训和其他服务网点",fields:[{label:"金融网点",value:Gu,unit:"家"},{label:"最高授信",value:T8,unit:"万元"},{label:"培训人次",value:v7,unit:"人次"}]}],TV=qV(),ty=w5(A5,Qt,t=>o0(t,["总库容 (吨)"])).map(t=>Z2(B2({},t),{unit:"吨",extra:`${t.count}个库点`})),ny=[{key:"milk-processing",name:"乳品加工",value:Ge(Kn.filter(sH),t=>o0(t,["年产值 (万元)"])),unit:"万元",color:"#32dcff"},{key:"meat-processing",name:"肉品加工",value:Ge(Kn.filter(lH),t=>o0(t,["年产值 (万元)"])),unit:"万元",color:"#48cfff"},{key:"slaughter-output",name:"定点屠宰",value:jt(ju,1),unit:"万元",color:"#8bf7ff"}].filter(t=>t.value>0),CV=[{key:"raw-capacity",name:"年加工原料",value:Uu,unit:"吨",extra:`${Kn.filter(ce).length}家加工主体`},{key:"slaughter-heads",name:"年屠宰总量",value:Lr,unit:"头",extra:`${K6.filter(ce).length}家定点屠宰`},{key:"farmer-driven",name:"带动本地农户",value:Ou,unit:"户",extra:"加工企业申报"},{key:"cold-storage",name:"冷冻/冷藏能力",value:Vg,unit:"吨",extra:"屠宰冷链"}],AV=[{key:"finance",name:"金融服务",value:G4(sV,10),count:Gu,unit:"家",extra:`最高${Ze(T8)}万元`},{key:"insurance",name:"保险服务",value:G4(Gl,10),count:$g,unit:"家",extra:`覆盖${Ze(Gl)}乡镇`},{key:"training",name:"技术培训",value:G4(v7,200),count:Yg,unit:"家",extra:`${Ze(v7)}人次`},{key:"disease",name:"疫病防控",value:G4(Dl,4),count:Dl,unit:"个",extra:"防疫主体"},{key:"equipment",name:"农机装备",value:G4(Bl,3),count:Bl,unit:"个",extra:"服务主体"}],_V=[{key:"cutting",name:"割草地",headerName:"割草地"},{key:"storage",name:"储草基地",headerName:"储草基地",valuePrefix:"≥"},{key:"netFence",name:"网围栏种草",headerName:"网围栏"}],xV=[{key:"cutting",name:"割草地",color:"#37DDF3"},{key:"storage",name:"储草基地",color:"#8bf7ff"}];function ay(t){return ey(t).map((e,n)=>({key:e.key||`${t}-metric-${n}`,name:e.name||e.zh||`指标${n+1}`,value:e.value,unit:e.unit||"",extra:e.extra||""}))}function MV(t){var o;const e=qn(t),n=ur.find(s=>s.key===t),a=ay(t),i=a[0]||{key:`${t}-primary`,name:e.name,value:0,unit:e.unit||""},r=((o=n==null?void 0:n.fields)!=null&&o.length?n.fields:a.slice(1)).map((s,u)=>({key:s.key||`${t}-field-${u}`,name:s.label||s.name||`要点${u+1}`,value:s.value,unit:s.unit||"",extra:s.extra||(n==null?void 0:n.note)||e.metricLabel||""}));return[Z2(B2({},i),{key:i.key||`${t}-spotlight-main`,name:i.name||e.name,extra:i.extra||(n==null?void 0:n.note)||e.metricLabel||"环节核心能力"}),...r].slice(0,4)}function PV(t){return C0(`${t}-right-metrics`,"环节核心指标","metric",ay(t))}function kV(t){return C0(`${t}-right-spotlight`,"建设要点","spotlight",MV(t))}function Y9(t,e=cy(t)){return[e,PV(t),kV(t)]}function EV(t){const e=qn(t),n=JV(t),a={"family-pasture":{left:[C0("family-town","家庭生态牧场乡镇分布","column",D4(t),{variant:"townCompact",scrollable:!1,uniformColor:!0,fillHeight:!0}),C0("family-unit","标准化建设配置","specGrid",BV(),{fillHeight:!0}),C0("family-forage","乡镇割草地、储草基地面积","stackColumn",zu(),{fillHeight:!0,unit:"亩",segments:xV,sharedScale:!0,showZero:!0,showValue:!0,totalLabel:"汇总面积"}),C0("family-support-type","草料配套类型占比","structure",DV(),{fillHeight:!0})],right:[cy(t),C0("family-construction-year","年度建设节奏","line",UV(),{fixedType:!0}),C0("family-net-fence","网围栏配套面积","rank",GV("netFence"),{unit:"亩"})]},"artificial-grassland":{left:[C0("grass-town-area","人工种草乡镇面积","column",Jg,{variant:"townCompact",scrollable:!1,uniformColor:!0}),C0("grass-year","年度项目建设面积","column",cV,{variant:"plain",scrollable:!1,lineOverlay:!0}),C0("grass-type","建设类型面积","structure",dV),C0("grass-operation","作业方式面积","bar",fV)],right:[XV(),C0("grass-investment","项目投资规模","rank",mV),C0("grass-disturbance","施工扰动面积","split",hV),C0("grass-project-area","项目面积明细","specGrid",FV())]},"scale-breeding":{left:[C0("breeding-town-count","乡镇养殖基地分布","column",iy("baseCount","个","养殖基地"),{variant:"townCompact",scrollable:!1,axisLabelMode:"short",uniformColor:!0}),C0("breeding-town-stock","设计存栏规模排名","bar",ry("designStock","头","设计存栏"),{variant:"rankBar"}),C0("breeding-town-output","年出栏区域贡献","structure",LV()),C0("breeding-project-investment","重点示范项目投入","rank",IV())],right:[...Y9(t,QV())]},"forage-storage":{left:[C0("storage-town","库容镇域分布","column",D4(t),{variant:"townCompact",scrollable:!1}),C0("storage-point","储备库点排名","bar",eH(),{variant:"rankBar"}),C0("storage-grass","储备草种结构","structure",Kg),C0("storage-capacity","库容能力占比","split",D4(t).filter(r=>Number(r.value||0)>0).slice(0,7))],right:[...Y9(t)]},"slaughter-processing":{left:[C0("processing-value","产值结构","donut",ny,{variant:"ring"}),C0("processing-chain","产能与带动","structure",gV),C0("processing-heads","屠宰能力排名","bar",tH(),{variant:"rankBar"}),C0("processing-town","加工点位乡镇分布","column",Ks([...Kn,...K6],"加工/屠宰主体"),{variant:"townCompact",scrollable:!1,uniformColor:!0})],right:[...Y9(t)]},"farm-equipment":{left:[C0("equipment-device","识别设备分布","column",m5(wm,{unit:"套",extra:"识别设备"}),{variant:"townCompact",scrollable:!1}),C0("equipment-recognition","识别样本排名","bar",yV,{variant:"rankBar"}),C0("equipment-service-town","农机服务主体分布","column",Ks(Fu,"农机服务主体"),{variant:"townCompact",scrollable:!1,uniformColor:!0}),C0("equipment-device-structure","设备投放结构","structure",wm.filter(r=>Number(r.value||0)>0).slice(0,6))],right:[...Y9(t)]},"social-service":{left:[C0("service-type","服务主体结构","donut",Qg,{variant:"ring"}),C0("service-town","服务镇域分布","column",Ks([...Bu,...s9,...B7,...Rr],"服务主体"),{variant:"townCompact",scrollable:!1}),C0("service-training-town","培训人次分布","column",ZV(s9,["年培训人次"],{unit:"人次",extra:"技术培训"}),{variant:"townCompact",scrollable:!1,lineOverlay:!0}),C0("service-training","培训服务能力","line",nH())],right:[...Y9(t)]}},i={left:[C0(`${e.key}-rank`,`${e.metricLabel}分布`,"column",D4(t),{variant:"townCompact",scrollable:!1}),C0(`${e.key}-subject`,"主体结构","structure",n),C0(`${e.key}-town`,"镇域覆盖分布","column",m5(OV(t),{unit:"个",extra:"镇域覆盖"}),{variant:"townCompact",scrollable:!1}),C0(`${e.key}-capacity`,"能力规模分布","split",D4(t).slice(0,7))],right:[...Y9(t)]};return a[t]||i}`${sr}`,`${Kn.filter(ce).length}`,jt(D7,1);function qn(t){return S6.find(e=>e.key===t)||S6[0]}function NV(t){return ur.find(e=>e.key===t)||ur[0]}function D4(t){if(t==="family-pasture")return m5(oy(),{unit:"处",extra:"家庭生态牧场"});if(t==="artificial-grassland")return Jg;if(t==="breeding-selection"){const e=w5(E8,Qt,()=>1).map(n=>Z2(B2({},n),{unit:"个",extra:"选育/扩繁基地"}));return m5(e,{unit:"个",extra:"选育/扩繁基地"})}if(t==="scale-breeding"){const e=w5(et("YC-BREEDING-BASE"),Qt,n=>o0(n,["设计存栏量 (头)"])).map(n=>Z2(B2({},n),{unit:"头",extra:`${n.count}个基地`}));return m5(e,{unit:"头",extra:"养殖基地"})}return t==="forage-storage"?m5(ty,{unit:"吨",extra:"饲草储备"}):t==="slaughter-processing"?[...Kn,...K6].filter(ce).map(e=>({key:e.id,name:A8(e.name),value:o0(e,["年产值 (万元)","年总产值 (万元)"]),unit:"万元",extra:e.categoryName})).filter(e=>e.value>0).sort(kt).slice(0,7):t==="farm-equipment"?Fu.filter(ce).map(e=>{var n;return{key:e.id,name:A8(e.name),value:1,unit:"个",extra:((n=e.attributes)==null?void 0:n.简称)||"农机服务"}}):t==="social-service"?[{key:"finance",name:"金融服务网点",value:Gu,unit:"家",extra:`最高${Ze(T8)}万元`},{key:"insurance",name:"保险服务网点",value:$g,unit:"家",extra:`覆盖${Ze(Gl)}乡镇`},{key:"training",name:"技术培训机构",value:Yg,unit:"家",extra:`${Ze(Hg)}场`},{key:"disease",name:"疫病防控主体",value:Dl,unit:"个",extra:"防疫服务"}]:[]}function RV(){const t=new Map(kn.map((e,n)=>[e,{key:e,name:e,sourceIndex:n,segments:{baseCount:0,designStock:0,annualOutput:0}}]));return $u().forEach(e=>{const n=t.get(e.town);n&&(n.segments.baseCount+=1,n.segments.designStock+=Number(e.numericValue||e.value||0),n.segments.annualOutput+=Number(e.annualOutput||0))}),kn.map(e=>t.get(e))}function iy(t,e,n){return RV().map((a,i)=>{var s;const r=Number(((s=a.segments)==null?void 0:s[t])||0),o=r>0;return{key:`${a.key}-${t}`,name:a.name,rawValue:r,value:o?r:.001,displayValue:o?r:"0",unit:e,extra:n,zero:!o,sourceIndex:i}})}function ry(t,e,n){return iy(t,e,n).filter(a=>a.rawValue>0).map(a=>Z2(B2({},a),{value:a.rawValue,displayValue:a.rawValue})).sort(kt)}function LV(){const t=ry("annualOutput","头","年出栏"),e=t.reduce((r,o)=>r+Number(o.value||0),0);if(!e)return[];const n=t.slice(0,3),a=t.slice(3);return(a.length?[...n,{key:"other-towns-annual-output",name:"其他乡镇",value:a.reduce((r,o)=>r+Number(o.value||0),0),unit:"头"}]:n).map(r=>Z2(B2({},r),{extra:`占比 ${Ze(Number(r.value||0)/e*100)}%`}))}function IV(){return Ul.map(t=>({key:t.key,name:t.name.replace(/标准化养殖基地/g,"基地").replace(/综合养殖基地/g,"基地"),value:Number(t.projectInvestment||0),unit:"万元",extra:`${t.town} · ${t.tag}`})).filter(t=>t.value>0).sort(kt)}function FV(){return qg.map(t=>({key:t.key,name:t.name,value:Number(t.actualAreaMu||t.value||0),unit:"亩",extra:t.year?`${t.year}年`:t.category||"实测面积"})).filter(t=>t.value>0).sort(kt)}function oy(){const t=new Map(w5(H6,Qt,()=>1).map(e=>[e.name,e]));return kn.map(e=>{const n=t.get(e);return{key:e,name:e,value:Number((n==null?void 0:n.value)||0),unit:"处",extra:"家庭生态牧场"}})}function BV(){const t=new Map;return H6.filter(ce).forEach(e=>{const n=o0(e,["标准化暖棚 (㎡)"]),a=o0(e,["管理用房 (㎡)"]),i=o0(e,["饲草料库 (㎡)"]),r=o0(e,["活动场地及通道 (㎡)"]),o=`${Ze(n)}㎡暖棚 + ${Ze(a)}㎡管理房`,s=`${n}-${a}-${i}-${r}`,u=t.get(s)||{key:s,name:o,value:0,unit:"处",specs:[{label:"饲草料库",value:i,unit:"㎡"},{label:"活动场地",value:r,unit:"㎡"}]};u.value+=1,t.set(s,u)}),[...t.values()].sort(kt)}function zu(){const t=new Map(kn.map(e=>[e,{key:e,name:e,unit:"亩",segments:{cutting:0,storage:0,netFence:0}}]));return H6.filter(ce).forEach(e=>{const n=Qt(e),a=t.get(n);if(!a)return;const i=e.grassSupportType,r=Number(e.grassSupportMu||0);r&&(i==="割草地"&&(a.segments.cutting+=r),i==="储草基地"&&(a.segments.storage+=r),i==="网围栏种草"&&(a.segments.netFence+=r))}),[...t.values()]}function DV(){const t=zu();return _V.map(e=>{const n=t.reduce((i,r)=>{var o;return i+Number(((o=r.segments)==null?void 0:o[e.key])||0)},0),a=t.filter(i=>{var r;return Number(((r=i.segments)==null?void 0:r[e.key])||0)>0}).length;return{key:e.key,name:e.name,value:n,unit:"亩",extra:`覆盖${a}个乡镇`}})}function GV(t=""){return zu().map(e=>{var a;const n=t?Number(((a=e.segments)==null?void 0:a[t])||0):Object.values(e.segments||{}).reduce((i,r)=>i+Number(r||0),0);return{key:e.key,name:e.name,value:n,unit:"亩",extra:t==="netFence"?"网围栏种草":"草料配套"}}).filter(e=>e.value>0).sort(kt)}function UV(){return w5(H6.filter(ce),t=>String(t.constructionYear||"未标注"),()=>1).map(t=>Z2(B2({},t),{name:t.name==="未标注"?t.name:`${t.name}年`,unit:"处",extra:"建成牧场"})).sort((t,e)=>String(t.key).localeCompare(String(e.key),"zh-CN"))}function OV(t){return w5(jV(t),Qt,()=>1).map(e=>Z2(B2({},e),{unit:"个",extra:`${e.count}条`}))}function Hs(t={}){const e=uH(t);if(!e)return[];const n=[],a=e.metrics||{},i=e.attributes||{},r=(o,s,u="",m={})=>{dy(s)||n.push(B2({label:o,value:dH(s,u)},m))};return e.categoryCode==="YC-FAMILY-PASTURE"?(r("户主",e.owner||i.户主),r("建设年份",e.constructionYear,"年"),r("所在村",e.village),r("标准化暖棚",a["标准化暖棚 (㎡)"],"㎡"),r("生产管理用房",a["管理用房 (㎡)"],"㎡"),r("饲草料库",a["饲草料库 (㎡)"],"㎡"),r("活动场地及通道",a["活动场地及通道 (㎡)"],"㎡"),r("草料配套",e.grassSupportText||i.草料配套,"",{wide:!0}),n):(r("运营单位",i.运营单位),r("育种等级",i.育种等级),r("育种方向",i.主要育种方向),r("设计存栏",a["设计存栏量 (头)"],"头"),r("年出栏量",a["年出栏量 (头)"],"头"),r("种植面积",a["种植面积 (亩)"]||e.scale,e.scale?"":"亩"),r("总库容",a["总库容 (吨)"],"吨"),r("年产值",a["年产值 (万元)"]||a["年总产值 (万元)"],"万元"),r("年加工量",a["年加工鲜奶总量 (吨)"]||a["年加工原料肉总量 (吨)"],"吨"),r("年屠宰量",a["年屠宰总量 (头)"],"头"),r("服务覆盖",a.服务覆盖乡镇数,"个乡镇"),r("最高授信",a["最高单户贷款额度 (万元)"],"万元"),r("主要产品",i.主要产品),r("主要草种",i.主要草种||i.储备草种),n.slice(0,8))}function et(t){return(Array.isArray(t)?t:[t]).flatMap(n=>{const a=QW.get(n);return(n==="YC-FAMILY-PASTURE"?jg:(a==null?void 0:a.items)||[]).map(r=>{var o;return Z2(B2({},r),{categoryCode:a.categoryCode,categoryName:a.categoryName,stageKey:a.industryStage,stageName:((o=qn(a.industryStage))==null?void 0:o.name)||a.categoryName})})})}function jV(t){return t==="scale-breeding"?lV.filter(ce):t==="breeding-selection"?E8.filter(ce):t==="milk-source-station"||t==="forage-trade"?[]:F7.filter(e=>e.stageKey===t)}function cr(t){return t==="artificial-grassland"?pV:t==="farm-equipment"?vV:t==="scale-breeding"?$u():t==="breeding-selection"?lr.filter(e=>["YC-BREEDING-STOCK","YC-CXPT-BREEDING-STOCK-BASE"].includes(e.categoryCode)&&e.canLocate).map(e=>Z2(B2({},e),{stageKey:t,stageName:qn(t).name,stageOrder:S6.findIndex(n=>n.key===t)})):lr.filter(e=>e.stageKey===t&&e.canLocate)}function O6(t){return t==="family-pasture"?Du:cr(t).length}function zV(){return Wn.map((t,e)=>{const n=KW.get(t.name),a=Number(n==null?void 0:n[0]),i=Number(n==null?void 0:n[1]);if(!Ol(a,i))return null;const r=`YC-FARM-EQUIPMENT-TOWN-${String(e+1).padStart(3,"0")}`,o=`${t.name}农机装备监测点`,s=Number(t.devices||0),u=Number(t.count||0);return{key:r,id:r,name:o,fullName:o,stageKey:"farm-equipment",stageName:qn("farm-equipment").name,stageOrder:S6.findIndex(m=>m.key==="farm-equipment"),typeName:"农机装备监测点",categoryName:"农机装备监测点",town:t.name,address:`${t.name}乡镇中心`,status:"监测样本",value:s,unit:"套",numericValue:s,valueText:`${Ze(s)}套`,extra:`${Ze(u)}头识别样本`,longitude:a,latitude:i,locateText:"定位",canLocate:!0,searchText:[o,"农机装备",t.name,`${s}套`,`${u}头识别样本`].join(" ")}}).filter(Boolean).sort((t,e)=>e.numericValue-t.numericValue||String(t.name).localeCompare(String(e.name),"zh-CN"))}function ce(t={}){var a;const e=z6(t.name),n=z6((a=t.attributes)==null?void 0:a.序号);return!(!e||vm.has(e)||XW.has(t.categoryCode)||eV.some(i=>i.test(e))||n&&vm.has(n)&&!YV(t)||ZW.some(i=>i.test(e)))}function Nn(t=[]){return t.filter(ce).length}function YV(t={}){return Object.values(t.metrics||{}).some(e=>C8(e)>0)}function Yu(t={}){var n,a,i,r;const e=sy(t);return{key:String(t.id||t.name),name:t.name,stageKey:t.stageKey,categoryCode:t.categoryCode,typeName:t.categoryName,categoryName:t.categoryName,town:Qt(t),address:t.address||t.village||t.areaFullName||"",status:t.status||"",products:((n=t.attributes)==null?void 0:n.主要产品)||((a=t.attributes)==null?void 0:a.主要草种)||((i=t.attributes)==null?void 0:i.储备草种)||((r=t.attributes)==null?void 0:r.主要育种方向)||"",capacity:e,capacityUnit:ly(t),outputValue:o0(t,["年产值 (万元)","年总产值 (万元)"]),longitude:t.longitude,latitude:t.latitude}}function $V(t={}){const e=sy(t),n=ly(t),a=Qt(t);return{key:String(t.id||t.name),name:A8(t.name),fullName:t.name,stageKey:t.stageKey,categoryCode:t.categoryCode,typeName:t.categoryName,categoryName:t.categoryName,town:a||"全县",address:t.address||t.village||t.areaFullName||"",status:t.status||"待完善",value:e,unit:n,numericValue:Number(e)||0,valueText:HV(t,e,n),extra:KV(t),sourceSheet:t.sourceSheet}}function WV(t={}){var h,p;const e=$V(t),n=oH(t),a=qn(t.stageKey),i=z6(t.name),r=z6(t.categoryName).replace(/^cxpt/i,""),o=z6(t.address||t.village||t.areaFullName||""),s=t.attributes||{},u=t.metrics||{},m=[i,e.name,a==null?void 0:a.name,r,e.town,o,s.简称,s.运营单位,s.主要产品,s.主要草种,s.储备草种,s.主要育种方向,t.owner,t.village,t.constructionYear,t.facilityBrief,t.grassSupportText,u["主要贷款产品(可多选)"],e.valueText,e.extra,t.sourceSheet].filter(Boolean).join(" ");return Z2(B2({},e),{name:e.name,fullName:i,stageName:(a==null?void 0:a.name)||e.stageName||"",stageOrder:S6.findIndex(g=>g.key===t.stageKey),categoryName:r,address:o,longitude:(h=n==null?void 0:n.longitude)!=null?h:"",latitude:(p=n==null?void 0:n.latitude)!=null?p:"",locateText:n?"定位":"暂无",canLocate:!!n,owner:t.owner||s.户主||"",village:t.village||"",constructionYear:t.constructionYear||"",facilityBrief:t.facilityBrief||"",facilityDetail:t.facilityDetail||s.设施配置||"",grassSupportText:t.grassSupportText||s.草料配套||"",pointName:t.pointName||"",preferCoordinateMatch:t.categoryCode==="YC-FAMILY-PASTURE",ledgerName:t.categoryCode==="YC-FAMILY-PASTURE"?t.owner||e.name.replace(/家庭生态牧场$/,""):e.name,ledgerLocation:[e.town,t.village].filter(Boolean).join(" · "),facilityCompact:t.categoryCode==="YC-FAMILY-PASTURE"?VV(t.facilityBrief):t.facilityBrief||"",annualOutput:t.categoryCode==="YC-BREEDING-BASE"?o0(t,["年出栏量 (头)"]):0,searchText:m})}function $u(){return lr.filter(t=>uV.has(t.categoryCode)&&t.canLocate)}function q9(){const t=$u();return{baseCount:t.length,designStock:t.reduce((e,n)=>e+Number(n.numericValue||n.value||0),0),annualOutput:t.reduce((e,n)=>e+Number(n.annualOutput||0),0),townCount:new Set(t.map(e=>e.town).filter(Boolean)).size}}function VV(t=""){return String(t).replace(/管理房/g,"管理").replace(/\s*\/\s*/g," · ")}function sy(t={}){var e,n;return t.stageKey==="family-pasture"?1:t.categoryCode==="YC-BREEDING-STOCK"?((e=t.attributes)==null?void 0:e.育种等级)||"待完善":t.categoryCode==="YC-CXPT-BREEDING-STOCK-BASE"?C8(t.scale)||1:t.categoryCode==="YC-BREEDING-BASE"?o0(t,["设计存栏量 (头)"]):t.categoryCode==="YC-FORAGE-BASE"?o0(t,["种植面积 (亩)"]):t.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?o0(t,["总库容 (吨)"]):t.categoryCode==="YC-PROCESSING-PLANT"?o0(t,["年产值 (万元)"])||o0(t,["年加工鲜奶总量 (吨)","年加工原料肉总量 (吨)"]):t.categoryCode==="YC-SLAUGHTERHOUSE"?o0(t,["年总产值 (万元)"])||o0(t,["年屠宰总量 (头)"]):t.categoryCode==="YC-SERVICE-FINANCE"?o0(t,["最高单户贷款额度 (万元)","服务覆盖乡镇数"]):t.categoryCode==="YC-SERVICE-INSURANCE"?o0(t,["服务覆盖乡镇数"]):t.categoryCode==="YC-TECH-TRAINING"?o0(t,["年培训人次","年培训场次"]):(n=t.categoryCode)!=null&&n.startsWith("YC-CXPT")?C8(t.scale)||o0(t,["acreage"]):o0(t,Object.keys(t.metrics||{}))||1}function ly(t={}){var e;return t.stageKey==="family-pasture"?"处":t.categoryCode==="YC-BREEDING-STOCK"?"":t.categoryCode==="YC-BREEDING-BASE"?"头":["YC-FORAGE-BASE","YC-CXPT-FORAGE-BASE","YC-CXPT-GRASS-SEED-BASE","YC-CXPT-BREEDING-STOCK-BASE"].includes(t.categoryCode)?"亩":t.categoryCode==="YC-DISASTER-FORAGE-STORAGE"?"吨":t.categoryCode==="YC-PROCESSING-PLANT"||t.categoryCode==="YC-SLAUGHTERHOUSE"||t.categoryCode==="YC-SERVICE-FINANCE"?"万元":t.categoryCode==="YC-SERVICE-INSURANCE"?"乡镇":t.categoryCode==="YC-TECH-TRAINING"?"人次":(e=t.categoryCode)!=null&&e.startsWith("YC-CXPT")?"亩":""}function HV(t,e,n){return t.categoryCode==="YC-BREEDING-STOCK"?String(e||"待完善"):Number.isFinite(Number(e))?`${Ze(e)}${n||""}`:String(e||"")}function KV(t={}){const e=t.attributes||{},n=t.metrics||{};return e.主要产品||e.主要草种||e.储备草种||e.主要育种方向||n["主要贷款产品(可多选)"]||t.sourceSheet||""}function qV(){const t=new Map;return E8.forEach(e=>{var i;const n=z6((i=e.attributes)==null?void 0:i.育种等级)||"待完善",a=t.get(n)||{key:n,name:n,value:0,unit:"个"};a.value+=1,t.set(n,a)}),[...t.values()].sort((e,n)=>{var i,r;const a={省级:0,县级:1,待完善:2};return((i=a[e.name])!=null?i:9)-((r=a[n.name])!=null?r:9)})}function JV(t){return Nr.filter(e=>e.industryStage===t).map(e=>{const n=Nn(et(e.categoryCode));return{key:e.categoryCode,name:e.categoryName.replace(/^cxpt/,""),value:n,unit:"条",extra:qn(t).name}}).filter(e=>e.value>0).sort(kt)}function C0(t,e,n,a,i={}){return B2({key:t,title:e,height:227,renderer:"business",type:n,rows:a},i)}function uy(t){return t==="family-pasture"?lr.filter(e=>e.stageKey===t):t?cr(t):S6.flatMap(e=>cr(e.key))}function cy(t){const e=qn(t),n=uy(t);return t==="family-pasture"?{key:"family-pasture-ledger",title:"家庭牧场列表",renderer:"business",type:"projectTable",rows:n,maxRows:12,fillRows:!0,searchPlaceholder:"搜索户主、乡镇或村",emptyText:"无匹配家庭生态牧场",searchKeys:["name","fullName","owner","town","village","constructionYear","facilityBrief","facilityDetail","grassSupportText","sourceSheet","searchText"],columns:[{key:"name",label:"名称",field:"ledgerName",fields:["name"],width:"44%",className:"business-project-col-name"},{key:"region",label:"区域",field:"town",width:"36%",format:"townVillage"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center",fallback:"定位",icon:"locate"}]}:{key:"industry-chain-list",title:`${e.name}点位清单`,height:466,span:2,keepSpanHeight:!0,renderer:"business",type:"projectTable",rows:n,searchPlaceholder:`搜索${e.name}点位 / 乡镇`,emptyText:"无匹配点位",columns:[{key:"name",label:"主体",field:"name",width:"38%",className:"business-project-col-name"},{key:"stage",label:"类型",field:"categoryName",width:"24%"},{key:"town",label:"乡镇",field:"town",width:"18%"},{key:"locate",label:"定位",field:"locateText",width:"20%",align:"center"}],searchKeys:["name","fullName","stageName","categoryName","town","address","valueText","extra","sourceSheet","searchText"]}}function QV(){return{key:"scale-breeding-location-list",title:"养殖基地定位",height:466,span:2,keepSpanHeight:!0,renderer:"business",type:"projectTable",rows:uy("scale-breeding").slice().sort((e,n)=>String(e.town||"").localeCompare(String(n.town||""),"zh-CN")||String(e.name||"").localeCompare(String(n.name||""),"zh-CN")),maxRows:300,searchPlaceholder:"搜索养殖基地 / 乡镇",emptyText:"无匹配养殖基地",columns:[{key:"name",label:"养殖基地",field:"name",width:"46%",className:"business-project-col-name"},{key:"town",label:"区域",field:"town",width:"32%"},{key:"locate",label:"定位",field:"locateText",width:"22%",align:"center",fallback:"定位",action:"locate"}],searchKeys:["name","fullName","town","address","searchText"]}}function XV(){return{key:"artificial-grassland-business-ledger",title:"项目建设台账",renderer:"business",type:"projectTable",rows:qg,fixedHeight:!0,rowSelectOnClick:!1,showSearch:!1,maxRows:6,emptyText:"暂无项目建设台账",columns:[{key:"name",label:"项目",field:"name",width:"48%",className:"business-project-col-name"},{key:"year",label:"年度",field:"year",width:"16%",align:"center"},{key:"area",label:"实测面积",field:"actualAreaMu",width:"36%",align:"right",strong:!0,unit:"亩"}],searchKeys:["name","fullName","year","category","towns","searchText"]}}function ZV(t=[],e=[],n={}){const a=w5(t,Qt,i=>o0(i,e)).map(i=>Z2(B2({},i),{unit:n.unit||"",extra:n.extra||`${i.count}个点位`}));return m5(a,n)}function Ks(t=[],e="点位"){const n=w5(t,Qt,()=>1).map(a=>Z2(B2({},a),{unit:"个",extra:e}));return m5(n,{unit:"个",extra:e})}function eH(){return A5.filter(ce).map(t=>{var e;return{key:t.id,name:A8(t.name),value:o0(t,["总库容 (吨)"]),unit:"吨",extra:o0(t,["发放次数"])||((e=t.attributes)==null?void 0:e.储备草种)||"储备库"}}).filter(t=>t.value>0).sort(kt).slice(0,8)}function tH(){return K6.filter(ce).map(t=>({key:t.id,name:A8(t.name),value:o0(t,["年屠宰总量 (头)"]),unit:"头",extra:`${Ze(o0(t,["冷冻库容量 (吨)"]))}吨冷链`})).filter(t=>t.value>0).sort(kt).slice(0,7)}function nH(){const t=s9.filter(ce).map(e=>({key:e.id,name:A8(e.name),value:o0(e,["年培训人次"]),unit:"人次",extra:`${Ze(o0(e,["年培训场次"]))}场`})).filter(e=>e.value>0).sort(kt).slice(0,7);return t.length?t:[{key:"sessions",name:"年培训场次",value:Hg,unit:"场"},{key:"persons",name:"年培训人次",value:v7,unit:"人次"}]}function aH(t){const e=[{key:"oat",name:"燕麦草",pattern:/燕麦/},{key:"elymus",name:"披碱草",pattern:/披碱草/},{key:"roegneria",name:"老芒麦",pattern:/老芒麦/},{key:"other",name:"其他草种",pattern:/./}],n=new Map(e.map(a=>[a.key,{key:a.key,name:a.name,value:0,unit:"处"}]));return t.filter(ce).forEach(a=>{var s,u;const i=[(s=a.attributes)==null?void 0:s.主要草种,(u=a.attributes)==null?void 0:u.储备草种].filter(Boolean).join("、"),r=e.filter(m=>m.key!=="other"&&m.pattern.test(i));(r.length?r:[e[e.length-1]]).forEach(m=>{n.get(m.key).value+=1})}),[...n.values()].filter(a=>a.value>0).sort(kt)}function iH(){return[{key:"raw-capacity",name:"原料加工",value:Uu,unit:"吨"},{key:"slaughter-heads",name:"屠宰总量",value:Lr,unit:"头"},{key:"farmer-driven",name:"带动农户",value:Ou,unit:"户"},{key:"cold-storage",name:"冷链能力",value:Vg,unit:"吨"}].filter(t=>t.value>0)}function rH(){return[{key:"finance",name:"金融",value:B7.filter(ce).length,unit:"家"},{key:"insurance",name:"保险",value:Rr.filter(ce).length,unit:"家"},{key:"training",name:"培训",value:s9.filter(ce).length,unit:"家"},{key:"disease",name:"防疫",value:Bu.filter(ce).length,unit:"个"}].filter(t=>t.value>0)}function w5(t,e,n){const a=new Map;return t.filter(ce).forEach(i=>{const r=z6(typeof e=="function"?e(i):i[e])||"未填写",o=a.get(r)||{key:r,name:r,value:0,count:0,extra:""};o.value+=Number(n(i)||0),o.count+=1,a.set(r,o)}),[...a.values()].sort(kt)}function m5(t=[],e={}){const n=new Map;return t.forEach(a=>{const i=z6(a==null?void 0:a.name),r=kn.find(o=>o===i)||kn.find(o=>{const s=o.replace(/[镇乡]$/,"");return s.length>=2&&i.includes(s)});r&&n.set(r,a)}),kn.map((a,i)=>{const r=n.get(a),o=Number((r==null?void 0:r.value)||0),s=Number.isFinite(o)&&o>0;return{key:(r==null?void 0:r.key)||a,name:a,value:s?o:.001,displayValue:s?r.displayValue:"0",scaleValue:r==null?void 0:r.scaleValue,unit:(r==null?void 0:r.unit)||e.unit||"",extra:(r==null?void 0:r.extra)||e.extra||"",color:r==null?void 0:r.color,zero:!s,sourceIndex:i}})}function o0(t={},e=[]){const n=t.metrics||{},a=Array.isArray(e)?e:[e];for(const i of a)if(Object.prototype.hasOwnProperty.call(n,i)){const r=C8(n[i]);if(r||r===0)return r}return 0}function C8(t){if(typeof t=="number")return Number.isFinite(t)?t:0;if(dy(t))return 0;const e=String(t).replace(/,/g,"").trim();if(!e||e==="无"||e==="待完善")return 0;const n=e.match(/-?\d+(?:\.\d+)?/);if(!n)return 0;let a=Number(n[0]);return e.includes("万亩")&&!e.includes("万元")&&(a*=1e4),Number.isFinite(a)?a:0}function Qt(t={}){const e=z6(t.town||t.areaName);if(kn.includes(e))return e;const n=[t.town,t.areaName,t.areaFullName,t.address,t.village,t.name].filter(Boolean).join(" "),a=kn.find(i=>n.includes(i));return a||kn.find(i=>{const r=i.replace(/[镇乡]$/,"");return r.length>=2&&n.includes(r)})||e}function oH(t={}){const e=$9(t.longitude),n=$9(t.latitude);if(Ol(e,n))return{longitude:e,latitude:n};const a=Object.values(t.locations||{}).find(i=>Ol($9(i==null?void 0:i.longitude),$9(i==null?void 0:i.latitude)));return a?{longitude:$9(a.longitude),latitude:$9(a.latitude)}:null}function Ol(t,e){const n=Number(t),a=Number(e);return Number.isFinite(n)&&Number.isFinite(a)&&n>=j1.west&&n<=j1.east&&a>=j1.south&&a<=j1.north}function $9(t){if(t==null||t==="")return NaN;const e=Number(t);return Number.isFinite(e)?e:NaN}function sH(t={}){var n;const e=[t.name,(n=t.attributes)==null?void 0:n.主要产品].filter(Boolean).join("");return/奶|乳|酸奶|奶粉/.test(e)}function lH(t={}){var n;const e=[t.name,(n=t.attributes)==null?void 0:n.主要产品].filter(Boolean).join("");return/肉|屠宰|牛肉/.test(e)}function uH(t={}){const e=String(t.id||"");return e&&Sm.has(e)?Sm.get(e):Lu.find(n=>n.name===t.name&&n.categoryCode===t.categoryCode)}function G4(t,e){return Math.max(12,Math.min(100,Math.round(Number(t||0)/e*100)))}function Ge(t,e){return t.filter(ce).reduce((n,a)=>n+Number(e(a)||0),0)}function Wu(t,e){return t.filter(ce).reduce((n,a)=>Math.max(n,Number(e(a)||0)),0)}function jl(t,e){return new Set(t.filter(ce).map(e).filter(Boolean)).size}function kt(t,e){return e.value-t.value||e.count-t.count||String(t.name).localeCompare(String(e.name),"zh-CN")}function A8(t=""){return String(t).replace(/^四川红原/,"").replace(/^红原县/,"").replace(/有限责任公司$/,"").replace(/农民专业合作社$/,"合作社").replace(/股份有限公司红原县支行$/,"红原支行").trim()}function z6(t){return String(t!=null?t:"").replace(/\s+/g," ").trim()}function dy(t){return t==null||String(t).trim()===""||String(t).trim().toLowerCase()==="nan"}function cH(t){return typeof t=="number"?Ze(t):C8(t)&&String(t).match(/^\s*[约≈]?\d/)?String(t):String(t!=null?t:"")}function dH(t,e=""){const n=cH(t);return!e||typeof t=="string"&&n.includes(e.replace(/^个/,""))?n:`${n}${e}`}function Ze(t){const e=Number(t||0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(e)?0:1}):"0"}function jt(t,e=0){const n=N6(10,e);return Math.round(Number(t||0)*n)/n}const fH={class:"yak-industry-chain"},hH={key:0,class:"industry-map-loading"},mH={key:1,class:"fgw-left industry-side-panel industry-side-panel--left"},pH={class:"fgw-side-stack industry-side-stack is-left"},gH={key:1,class:"industry-panel-empty"},yH={key:3,class:"industry-featured-base-list"},vH=["disabled","aria-label","onClick"],SH={class:"industry-featured-base__index"},wH={class:"industry-featured-base__copy"},bH={key:4,class:"industry-leadership-mode-list"},TH={key:5,class:"industry-ledger-list"},CH={key:2,class:"fgw-right industry-side-panel industry-side-panel--right"},AH={class:"fgw-side-stack industry-side-stack is-right"},_H={key:1,class:"industry-panel-empty"},xH={key:3,class:"industry-featured-base-list"},MH=["disabled","aria-label","onClick"],PH={class:"industry-featured-base__index"},kH={class:"industry-featured-base__copy"},EH={key:4,class:"industry-leadership-mode-list"},NH={key:5,class:"industry-ledger-list"},RH={key:3,class:"industry-artificial-layer-tools"},LH={class:"industry-point-detail__head"},IH={class:"industry-point-detail__name"},FH={key:0,class:"industry-point-detail__profile"},BH={class:"industry-point-detail__profile-head"},DH=["src","alt"],GH={class:"industry-point-detail__facts"},UH={class:"industry-point-detail__highlights"},OH={class:"industry-bottom-switcher"},jH={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(t,{expose:e,emit:n}){const a=t,i=n,r=Vt.sideCardWidth,o=Q2(typeof window=="undefined"?1080:window.innerHeight),s=Vt.sideCardGap,u=Vt.sidePanelTop,m=Vt.sidePanelBottom,h=Vt.sideCardMinHeight,p=s2(()=>_8(o.value)),g=s2(()=>n9(p.value,2)),C=s2(()=>n9(p.value,4)),I=Q2("family-pasture"),U=Q2(null),j=Q2(!1),l2=Q2(null),v2=Q2(""),S2=Q2({x:0,y:0}),T2=Q2(null),C2=Q2({x:0,y:0}),j2=Q2(!1),K2=Q2(["artificial-grassland-plots"]);let V2=null,s3=!1,m3=!1,p3=null,U3=null,b3=!1;const Y3=s2(()=>qn(I.value));s2(()=>I.value==="family-pasture");const o3=s2(()=>I.value==="artificial-grassland"),n1=s2(()=>[{key:"artificial-grassland-plots",name:"待核定种草图斑",color:"#30DCFF",stroke:"#C9FBFF"},{key:"yak-industry-points",name:"人工种草基地点",color:"#19FFC6",stroke:"#B7FFF2"}]),b1=s2(()=>[{key:"artificial-grassland-pending",name:"待核定种草图斑",fillColor:"#30DCFF",strokeColor:"#C9FBFF",selectable:!1},{key:"artificial-grassland-base",name:"人工种草基地点",fillColor:"#19FFC6",strokeColor:"#B7FFF2",selectable:!1}]),W3=s2(()=>EV(I.value)),R1=s2(()=>c1(W3.value)),D1=s2(()=>{const _2=R1.value.left;return _2.filter(n3=>!(n3!=null&&n3.placeholder)).map(n3=>M1(n3,_2.length))}),Y1=s2(()=>{const _2=R1.value.right;return _2.map(n3=>M1(n3,_2.length))}),h3=s2(()=>{var I3,F3,Z3;const _2=e9("yak-industry-chain","yak-industry-points");if(o3.value){const t1=[];if(K2.value.includes("artificial-grassland-plots")){const c0=e9("yak-industry-chain","artificial-grassland-plots");c0&&t1.push(Z2(B2({},c0),{activeLegend:(I3=c0.legends)==null?void 0:I3[0]}))}if(K2.value.includes("yak-industry-points")&&_2){const c0=(F3=_2.legends)==null?void 0:F3.find(oe=>oe.key==="yak-industry-artificial-grassland");t1.push(Z2(B2({},_2),{showPointLabels:!1,activeLegend:c0}))}if(!t1.length)return null;const[d0,...K1]=t1;return Z2(B2({},d0),{overlayLayers:K1})}const n3=(Z3=_2==null?void 0:_2.legends)==null?void 0:Z3.find(t1=>{var d0;return((d0=t1.match)==null?void 0:d0.value)===I.value||t1.key===`yak-industry-${I.value}`});return _2&&Z2(B2({},_2),{hidePointFeatures:I.value==="family-pasture",hidePointMarkers:I.value==="family-pasture",showPointLabels:I.value==="family-pasture"?!1:_2.showPointLabels,activeLegend:n3||{key:`yak-industry-empty-${I.value}`,name:Y3.value.name,fillColor:Y3.value.color,strokeColor:Y3.value.color,match:{field:"stageKey",value:I.value}}})}),x3=s2(()=>S6.map(_2=>({key:_2.key,name:_2.name,color:_2.color,width:_2.width}))),L3=s2(()=>{const _2=I.value==="family-pasture",n3=o3.value&&K2.value.includes("yak-industry-points");return{showTownNames:!0,showBars:!1,showPointMarkers:!_2&&!o3.value||n3,showMissingTownStats:_2,title:_2?"家庭生态牧场":`${Y3.value.name}排行`,metricLabel:_2?"生态牧场":Y3.value.metricLabel,unit:Y3.value.unit,rows:_2?oy():[]}}),h1=s2(()=>{var _2;return Vs(Z2(B2({},l2.value||{}),{featuredBaseKey:v2.value||((_2=l2.value)==null?void 0:_2.featuredBaseKey)}))}),C1=s2(()=>{const _2=l2.value;if(!_2)return[];if(h1.value){const n3=h1.value,I3=Hs(_2).filter(F3=>["设计存栏","年出栏量"].includes(F3.label));return[{label:"所在地",value:`${n3.town} ${n3.village}`},{label:"运营单位",value:n3.operator},...I3].filter(F3=>F3.value!==void 0&&F3.value!==null&&String(F3.value).trim()!=="")}return _2.categoryCode==="YC-FAMILY-PASTURE"?[{label:"所在乡镇",value:i3(_2.town)},...Hs(_2)].filter(n3=>n3.value!==void 0&&n3.value!==null&&String(n3.value).trim()!==""):[{label:"所属环节",value:i3(_2.stageName)},{label:"主体类型",value:i3(_2.categoryName)},{label:"所在乡镇",value:i3(_2.town)},{label:"能力规模",value:G3(_2)},{label:"运行状态",value:i3(_2.status)},...Hs(_2)].filter(n3=>n3.value!==void 0&&n3.value!==null&&String(n3.value).trim()!=="")}),_1=s2(()=>{var _2,n3;return h1.value?"重点示范基地":i3(((_2=l2.value)==null?void 0:_2.categoryName)||((n3=l2.value)==null?void 0:n3.stageName))}),o1=s2(()=>{var _2,n3;return((_2=h1.value)==null?void 0:_2.name)||i3((n3=l2.value)==null?void 0:n3.name)}),l3=s2(()=>{var $e;const n3=(($e=l2.value)==null?void 0:$e.categoryCode)==="YC-FAMILY-PASTURE",I3=C1.value.filter(f0=>f0.wide).length,F3=Math.ceil(Math.max(0,C1.value.length-I3)/2)+I3,Z3=h1.value?h1.value.image?576:532:n3?Math.min(400,Math.max(318,150+F3*38)):Math.min(520,Math.max(252,116+C1.value.length*40)),t1=24,d0=28,K1={x:Math.max(t1,Math.min(1920-t1,Number(S2.value.x||0))),y:Math.max(t1,Math.min(1080-t1,Number(S2.value.y||0)))},c0=r+46,oe=1920-r-46,A0=Math.min(Math.max(K1.x-456/2,c0),oe-456),Q0=Math.min(Math.max(K1.y-Z3-d0,128),1080-Z3-116),Ue=Math.min(Math.max(K1.x-A0,34),456-34);return{left:`${A0}px`,top:`${Q0}px`,"--point-arrow-left":`${Ue}px`,"--point-arrow-top":"100%","--point-arrow-x":"-50%","--point-arrow-y":"-8px","--point-arrow-rotate":"45deg"}}),$2=s2(()=>{const K1={x:Math.max(452,Math.min(1468,Number(C2.value.x||960))),y:Math.max(128,Math.min(960,Number(C2.value.y||540)))},c0=Math.min(Math.max(K1.x-460/2,452),1468-460),oe=K1.y-374-26,A0=oe>=116,Q0=A0?oe:Math.min(Math.max(K1.y+26,116),944-374),Ue=Math.min(Math.max(K1.x-c0,26),460-26);return{left:`${c0}px`,top:`${Q0}px`,"--feature-arrow-left":`${Ue}px`,"--feature-arrow-top":A0?`${374-6}px`:"-6px","--feature-arrow-rotate":A0?"45deg":"225deg"}});N0(I,_2=>{T3(_2)},{immediate:!0}),mn(()=>{e3(),window.addEventListener("resize",e3),y1()}),hn(()=>{var _2,n3;b3=!0,window.removeEventListener("resize",e3),p3&&window.clearTimeout(p3),U3&&window.cancelAnimationFrame(U3),(n3=(_2=U.value)==null?void 0:_2.destroyMap)==null||n3.call(_2)}),N0(()=>a.active,_2=>{var n3,I3,F3,Z3;U.value&&(_2?(B1(),(I3=(n3=U.value).resume)==null||I3.call(n3)):(Z3=(F3=U.value).pause)==null||Z3.call(F3))}),N0(K2,()=>{x1()},{deep:!0});function j3(_2){_2!==I.value&&(I.value=_2,x1())}function c1(_2={}){const n3=P(_2.left),I3=P(_2.right);if(I3.length)return{left:n3,right:I3};const F3=[...n3,...I3];return F3.length<=4?{left:F3,right:[]}:{left:n3,right:I3}}function M1(_2,n3=0){if((_2==null?void 0:_2.fixedHeight)===!0)return Z2(B2({},_2),{height:p.value});if((_2==null?void 0:_2.fillHeight)===!0)return Z2(B2({},_2),{height:$1(n3)});if(["projectTable","projectLedger"].includes(_2==null?void 0:_2.type))return Z2(B2({},_2),{height:W1(_2)});const I3=Number((_2==null?void 0:_2.height)||0)>=400||(_2==null?void 0:_2.span)===2,F3=(_2==null?void 0:_2.keepSpanHeight)===!0;return Z2(B2({},_2),{height:n3===1&&!F3?C.value:I3?g.value:p.value})}function $1(_2=1){const n3=Math.max(1,Number(_2)||1),F3=Math.max(1080,Number(o.value)||1080)-u-m-s*Math.max(n3-1,0);return Math.max(h,Math.floor(F3/n3))}function W1(_2={}){if((_2==null?void 0:_2.span)===2||(_2==null?void 0:_2.keepSpanHeight)===!0)return g.value;const n3=Array.isArray(_2.rows)?_2.rows:[],I3=100,F3=32,Z3=I3+25+n3.length*F3;return Math.min(g.value,Math.max(p.value,Z3))}function P(_2=[]){return _2.filter(Boolean)}function E3(_2={}){return(_2==null?void 0:_2.renderer)==="business"&&(_2==null?void 0:_2.type)==="column"&&(_2==null?void 0:_2.variant)==="townCompact"}function g3(_2={}){return Array.isArray(_2.rows)&&_2.rows.some(n3=>Number(n3!=null&&n3.zero?0:(n3==null?void 0:n3.value)||0)>0)}function A1(_2={}){const n3=Array.isArray(_2.rows)?_2.rows:[],I3=n3.map(t1=>Number(t1!=null&&t1.zero?0:(t1==null?void 0:t1.value)||0)),F3=Math.max(...I3,1),Z3=q3(n3);return W9({animationDuration:720,animationEasing:"cubicOut",grid:{top:30,right:8,bottom:58,left:8,containLabel:!1},tooltip:wi((t1=[])=>{var Q0;const K1=((Q0=(Array.isArray(t1)?t1:[t1])[0])==null?void 0:Q0.data)||{},c0=K1.zero?"0":K1.displayValue,oe=K1.unit||Z3||"",A0=K1.extra?`
    ${K1.extra}`:"";return`${K1.name||""}
    ${c0}${oe}${A0}`},{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{color:"rgba(48, 220, 255, 0.06)"}},confine:!0}),graphic:Z3?[{type:"text",right:10,top:4,silent:!0,style:{text:`单位:${Z3}`,fill:qd,font:`10px ${bA}`}}]:[],xAxis:{type:"category",data:n3.map(t1=>(t1==null?void 0:t1.name)||""),axisTick:{show:!1},axisLine:{show:!0,lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisLabel:{color:TA,fontSize:10,fontWeight:700,lineHeight:14,interval:0,margin:10,formatter:(_2==null?void 0:_2.axisLabelMode)==="short"?g1:O3}},yAxis:{type:"value",min:0,max:Math.ceil(F3*1.18),splitNumber:3,axisLabel:{show:!1},axisTick:{show:!1},axisLine:{show:!1},splitLine:{show:!0,lineStyle:{color:CA,type:"dashed"}}},series:[{type:"bar",data:n3.map((t1,d0)=>{var oe;const K1=!!(t1!=null&&t1.zero||t1!=null&&t1.isZero),c0=K1?0:Number((t1==null?void 0:t1.value)||0);return{name:t1==null?void 0:t1.name,value:c0,displayValue:(oe=t1==null?void 0:t1.displayValue)!=null?oe:H2(c0),unit:(t1==null?void 0:t1.unit)||Z3||"",extra:(t1==null?void 0:t1.extra)||"",zero:K1,itemStyle:{color:K1?"rgba(48, 220, 255, 0.1)":_2!=null&&_2.uniformColor?G2():H1(d0,t1)}}}),barWidth:6,barMinHeight:3,showBackground:!0,backgroundStyle:{color:"rgba(48, 220, 255, 0.06)",borderColor:"rgba(48, 220, 255, 0.08)",borderWidth:1},itemStyle:{borderRadius:[4,4,0,0]},label:{show:!0,position:"top",distance:5,color:Jd,fontFamily:AA,fontSize:10,fontWeight:700,formatter(t1={}){var K1;const d0=t1.data||{};return d0.zero?"":(K1=d0.displayValue)!=null?K1:H2(Number(d0.value||0))}},emphasis:{focus:"series",itemStyle:{shadowBlur:0,shadowColor:"rgba(48, 220, 255, 0)"}}}]})}function q3(_2=[]){const n3=[...new Set(_2.map(I3=>I3==null?void 0:I3.unit).filter(Boolean))];return n3.length===1?n3[0]:""}function O3(_2){const n3=String(_2||"").replace(/\s+/g,"");return Array.from(n3).slice(0,3).join(` -`)}function g1(_2){return Array.from(String(_2||"").replace(/\s+/g,"")).slice(0,2).join("")}function H1(_2,n3={}){return n3.color||n3.fillColor?n3.color||n3.fillColor:Qd(ls[_2%ls.length])}function G2(){return Qd(ls[0])}function H2(_2){const n3=Number(_2);return Number.isFinite(n3)?Number.isInteger(n3)?`${n3}`:`${Number(n3.toFixed(2))}`:"--"}function e3(){o.value=typeof window=="undefined"?1080:window.innerHeight}function T3(_2=I.value){const n3=_2||I.value;i("module-stats",{moduleKey:"yak-industry-chain",items:ey(n3)})}function y1(){var _2,n3,I3;V2=new C7,s3=!1,i("loading-progress",{progress:0}),(n3=(_2=V2.instance)==null?void 0:_2.on)==null||n3.call(_2,"onProgress",(F3,Z3,t1)=>{i("loading-progress",{progress:Math.floor(Z3/(t1||1)*100),path:F3,itemsLoaded:Z3,itemsTotal:t1})}),(I3=V2.ready)==null||I3.then(()=>{s3=!0,B1()}).catch(()=>{j.value=!0,i("map-ready")})}function B1(){b3||!a.active||!s3||m3||(m3=!0,p3&&window.clearTimeout(p3),p3=window.setTimeout(()=>{p3=null,G1()},600))}function G1(_2=0){return P3(this,null,function*(){var I3,F3;if(b3)return;if(!a.active){m3=!1;return}if(yield O0(),!a.active){m3=!1;return}const n3=U.value;if((I3=n3==null?void 0:n3.loadMap)==null||I3.call(n3,V2),n3!=null&&n3.canvasMap){j.value=!0,i("loading-progress",{progress:100}),i("map-ready"),(F3=n3.play)==null||F3.call(n3);return}if(_2<24){window.setTimeout(()=>G1(_2+1),120);return}m3=!1,j.value=!0,i("map-ready")})}function D3(){p3&&(window.clearTimeout(p3),p3=null)}function e1(){var _2,n3,I3,F3;(n3=(_2=U.value)==null?void 0:_2.resume)==null||n3.call(_2),(F3=(I3=U.value)==null?void 0:I3.refreshView)==null||F3.call(I3)}function s1(){var _2,n3;if(x1(),(n3=(_2=U.value)==null?void 0:_2.hasMap)!=null&&n3.call(_2)){j.value=!0,e1();return}D3(),j.value=!1,m3=!1,O0(()=>{B1()})}e({refreshMapView:e1,resetMap:s1});function S1(_2={}){var F3,Z3,t1,d0;const n3=_2.feature||null,I3=(n3==null?void 0:n3.properties)||{};if(((F3=n3==null?void 0:n3.layer)==null?void 0:F3.key)==="artificial-grassland-plots"){l2.value=null,T2.value=n3;const K1=_2.screen||((t1=(Z3=U.value)==null?void 0:Z3.getVectorFeatureScreen)==null?void 0:t1.call(Z3,n3.feature));K1&&(C2.value=L1(K1)),j2.value=!!K1;return}if(T2.value=null,j2.value=!1,I3.stageKey){if(String(I3.stageKey)!==String(I.value)){l2.value=null,v2.value="";return}v2.value=((d0=Vs(I3))==null?void 0:d0.key)||"",l2.value=I3,S2.value=L1(_2.screen);return}l2.value=null,v2.value=""}function F1(){return P3(this,arguments,function*(_2={}){if(_2.stageKey==="artificial-grassland"){yield s0(_2);return}yield z3(_2)})}function s0(){return P3(this,arguments,function*(_2={}){_2!=null&&_2.canLocate&&(o3.value||(I.value="artificial-grassland",yield O0()),l2.value=null,v2.value="",T2.value=null,C2.value={x:960,y:510},j2.value=!1,window.setTimeout(()=>G0(_2),90))})}function G0(_2={},n3=0){var Z3,t1,d0;const I3=(t1=(Z3=U.value)==null?void 0:Z3.focusVectorFeature)==null?void 0:t1.call(Z3,_2);if(!(I3!=null&&I3.feature)){n3<4&&window.setTimeout(()=>G0(_2,n3+1),180);return}T2.value={id:((d0=I3.feature.properties)==null?void 0:d0.id)||_2.id,properties:I3.feature.properties||{},feature:I3.feature,layer:e9("yak-industry-chain","artificial-grassland-plots")};const F3=T2.value.id;window.setTimeout(()=>{var K1;((K1=T2.value)==null?void 0:K1.id)===F3&&(u3(I3.feature,I3.screen),j2.value=!0)},820)}function u3(_2,n3=null){var F3,Z3;const I3=((Z3=(F3=U.value)==null?void 0:F3.getVectorFeatureScreen)==null?void 0:Z3.call(F3,_2))||n3;I3&&(C2.value=L1(I3))}function z3(){return P3(this,arguments,function*(_2={}){var F3;if(!_2.canLocate)return;const n3=!!(_2.stageKey&&_2.stageKey!==I.value);n3&&(I.value=_2.stageKey,yield O0());const I3=S3(_2);v2.value=((F3=Vs(I3))==null?void 0:F3.key)||"",l2.value=I3,S2.value={x:960,y:500},window.setTimeout(()=>{var t1,d0;const Z3=(d0=(t1=U.value)==null?void 0:t1.focusYakIndustryPoint)==null?void 0:d0.call(t1,I3);y3(I3,Z3),D2(I3)},n3?320:80)})}function V3(){return P3(this,arguments,function*(_2={}){_2.point&&(v2.value=_2.key,yield z3(_2.point))})}function x1(){var n3,I3,F3,Z3;l2.value=null,v2.value="",T2.value=null,j2.value=!1,U3&&(window.cancelAnimationFrame(U3),U3=null);const _2=((I3=(n3=U.value)==null?void 0:n3.canvasMap)==null?void 0:I3.value)||((F3=U.value)==null?void 0:F3.canvasMap);(Z3=_2==null?void 0:_2.clearSelectedFeature)==null||Z3.call(_2)}function S3(_2={}){var F3;const n3=Number(_2.longitude),I3=Number(_2.latitude);return Z2(B2({},_2),{id:_2.key||_2.id,name:_2.fullName||_2.name,stageKey:_2.stageKey,stageName:_2.stageName||((F3=qn(_2.stageKey))==null?void 0:F3.name),categoryName:_2.categoryName||_2.typeName,capacity:_2.value,capacityUnit:_2.unit,longitude:n3,latitude:I3,geometry:Number.isFinite(n3)&&Number.isFinite(I3)?{type:"Point",coordinates:[n3,I3]}:void 0,preferCoordinateMatch:Number.isFinite(n3)&&Number.isFinite(I3),status:_2.status})}function y3(_2,n3=null){var F3,Z3;const I3=((Z3=(F3=U.value)==null?void 0:F3.getYakIndustryPointScreen)==null?void 0:Z3.call(F3,_2))||(n3==null?void 0:n3.screen);I3&&(S2.value=L1(I3))}function D2(_2,n3=920){var Z3,t1;U3&&window.cancelAnimationFrame(U3);const I3=((t1=(Z3=window.performance)==null?void 0:Z3.now)==null?void 0:t1.call(Z3))||Date.now(),F3=()=>{var K1,c0;if(!l2.value||l2.value.id!==_2.id){U3=null;return}if(y3(_2),(((c0=(K1=window.performance)==null?void 0:K1.now)==null?void 0:c0.call(K1))||Date.now())-I3{var I3;return G(),z("div",fH,[l1(P7,{ref_key:"mapSceneRef",ref:U,class:"industry-map-scene","active-layer":h3.value,"map-ranking":L3.value,"admin-boundary-line-scale":2.4,onFeatureInfo:S1},null,8,["active-layer","map-ranking"]),n3[3]||(n3[3]=w("div",{class:"industry-map-scrim"},null,-1)),j.value?k3("",!0):(G(),z("div",hH,"3D地图加载中")),D1.value.length?(G(),z("div",mH,[w("div",pH,[(G(!0),z(B3,null,H3(D1.value,F3=>(G(),J0(l0,{key:F3.key,class:r1(["fgw-side-card industry-side-card left-card",`industry-side-card--${F3.key}`]),title:F3.title,width:k1(r),height:F3.height},{default:e0(()=>[E3(F3)&&g3(F3)?(G(),J0(k1(ue),{key:0,class:"industry-town-column-chart",option:A1(F3),autoresize:!0},null,8,["option"])):E3(F3)?(G(),z("div",gH," 暂无业务统计数据 ")):F3.renderer==="business"?(G(),J0($t,{key:2,panel:F3,compact:"",onRowSelect:F1},null,8,["panel"])):F3.renderer==="featured"?(G(),z("div",yH,[(G(!0),z(B3,null,H3(F3.rows,(Z3,t1)=>(G(),z("button",{key:Z3.key,class:r1(["industry-featured-base",{"is-active":v2.value===Z3.key}]),type:"button",disabled:!Z3.point,"aria-label":`查看${Z3.name}`,onClick:d0=>V3(Z3)},[w("span",SH,i2(`0${t1+1}`),1),w("span",wH,[w("strong",null,i2(Z3.name),1),w("em",null,i2(Z3.town)+" · "+i2(Z3.tag),1),w("small",null,i2(Z3.summary),1)])],10,vH))),128))])):F3.renderer==="leadershipMode"?(G(),z("div",bH,[(G(!0),z(B3,null,H3(F3.rows,(Z3,t1)=>(G(),z("div",{key:Z3.key,class:"industry-leadership-mode"},[w("i",{style:z1({color:Z3.color,background:Z3.color})},null,4),w("span",null,i2(`0${t1+1}`),1),w("div",null,[w("strong",null,i2(Z3.name),1),w("small",null,i2(Z3.description),1)])]))),128))])):F3.renderer==="ledger"?(G(),z("div",TH,[(G(!0),z(B3,null,H3(F3.rows,Z3=>(G(),z("div",{key:Z3.key,class:"industry-ledger-row"},[w("div",null,[w("strong",null,i2(Z3.name),1),w("span",null,i2(Z3.typeName)+" / "+i2(Z3.town),1)]),w("em",null,i2(Z3.valueText),1)]))),128))])):k3("",!0)]),_:2},1032,["class","title","width","height"]))),128))])])):k3("",!0),Y1.value.length?(G(),z("div",CH,[w("div",AH,[(G(!0),z(B3,null,H3(Y1.value,F3=>(G(),J0(l0,{key:F3.key,class:r1(["fgw-side-card industry-side-card right-card",`industry-side-card--${F3.key}`]),title:F3.title,width:k1(r),height:F3.height},{default:e0(()=>[E3(F3)&&g3(F3)?(G(),J0(k1(ue),{key:0,class:"industry-town-column-chart",option:A1(F3),autoresize:!0},null,8,["option"])):E3(F3)?(G(),z("div",_H," 暂无业务统计数据 ")):F3.renderer==="business"?(G(),J0($t,{key:2,panel:F3,compact:"",onRowSelect:F1},null,8,["panel"])):F3.renderer==="featured"?(G(),z("div",xH,[(G(!0),z(B3,null,H3(F3.rows,(Z3,t1)=>(G(),z("button",{key:Z3.key,class:r1(["industry-featured-base",{"is-active":v2.value===Z3.key}]),type:"button",disabled:!Z3.point,"aria-label":`查看${Z3.name}`,onClick:d0=>V3(Z3)},[w("span",PH,i2(`0${t1+1}`),1),w("span",kH,[w("strong",null,i2(Z3.name),1),w("em",null,i2(Z3.town)+" · "+i2(Z3.tag),1),w("small",null,i2(Z3.summary),1)])],10,MH))),128))])):F3.renderer==="leadershipMode"?(G(),z("div",EH,[(G(!0),z(B3,null,H3(F3.rows,(Z3,t1)=>(G(),z("div",{key:Z3.key,class:"industry-leadership-mode"},[w("i",{style:z1({color:Z3.color,background:Z3.color})},null,4),w("span",null,i2(`0${t1+1}`),1),w("div",null,[w("strong",null,i2(Z3.name),1),w("small",null,i2(Z3.description),1)])]))),128))])):F3.renderer==="ledger"?(G(),z("div",NH,[(G(!0),z(B3,null,H3(F3.rows,Z3=>(G(),z("div",{key:Z3.key,class:"industry-ledger-row"},[w("div",null,[w("strong",null,i2(Z3.name),1),w("span",null,i2(Z3.typeName)+" / "+i2(Z3.town),1)]),w("em",null,i2(Z3.valueText),1)]))),128))])):k3("",!0)]),_:2},1032,["class","title","width","height"]))),128))])])):k3("",!0),o3.value?(G(),z("div",RH,[l1(Mr,{modelValue:K2.value,"onUpdate:modelValue":n3[0]||(n3[0]=F3=>K2.value=F3),"topic-key":"yak-industry-chain",layers:n1.value,legends:b1.value,width:248,height:430,multiple:""},null,8,["modelValue","layers","legends"])])):k3("",!0),T2.value&&j2.value?(G(),z("div",{key:4,class:"industry-map-feature-info",style:z1($2.value)},[l1(b7,{feature:T2.value,width:460,height:374},null,8,["feature"])],4)):k3("",!0),l2.value?(G(),z("div",{key:5,class:"industry-point-detail",style:z1(l3.value)},[w("div",LH,[w("span",null,i2(_1.value),1),w("button",{type:"button",title:"关闭",onClick:x1},"×")]),w("div",IH,i2(o1.value),1),h1.value?(G(),z("div",FH,[w("div",BH,[n3[1]||(n3[1]=w("span",null,"基地介绍",-1)),w("strong",null,i2(h1.value.tag),1)]),w("p",null,i2(h1.value.summary),1),h1.value.image?(G(),z("img",{key:0,class:"industry-point-detail__image",src:h1.value.image,alt:`${h1.value.name}项目资料图`},null,8,DH)):k3("",!0),w("div",GH,[(G(!0),z(B3,null,H3(h1.value.facts,F3=>(G(),z("div",{key:F3.label},[w("span",null,i2(F3.label),1),w("strong",null,i2(F3.value),1),w("small",null,i2(F3.note),1)]))),128))]),w("div",UH,[n3[2]||(n3[2]=w("span",null,"示范亮点",-1)),(G(!0),z(B3,null,H3(h1.value.highlights,F3=>(G(),z("i",{key:F3},i2(F3),1))),128))])])):k3("",!0),w("div",{class:r1(["industry-point-detail__grid",{"is-family-layout":((I3=l2.value)==null?void 0:I3.categoryCode)==="YC-FAMILY-PASTURE"}])},[(G(!0),z(B3,null,H3(C1.value,F3=>(G(),z("div",{key:F3.label,class:r1(["industry-point-detail__row",{"is-wide":F3.wide}])},[w("span",null,i2(F3.label),1),w("strong",null,i2(F3.value),1)],2))),128))],2)],4)):k3("",!0),w("div",OH,[l1(T7,{"model-value":I.value,topics:x3.value,"onUpdate:modelValue":j3},null,8,["model-value","topics"])])])}}},zH="/openApi";function YH(t){return/^https?:\/\//.test(t)?t:`${zH}${t.startsWith("/")?t:`/${t}`}`}function $H(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"图表接口请求失败");throw n.code=t==null?void 0:t.code,n}return u0(t)}function WH(a){return P3(this,arguments,function*(t,e=window.location.hash||window.location.pathname,n="智慧管理"){const i=yield Xt(YH("/ai/stat/charts"),{params:{question:t,pagePath:e,pageName:n},timeout:3e4}).then($H);return(Array.isArray(i==null?void 0:i.charts)?i.charts:[]).map(VH).filter(o=>o.rows.length)})}function VH(t,e){const n=Array.isArray(t==null?void 0:t.rows)?t.rows:[];return{id:(t==null?void 0:t.id)||`smart-chart-${e}`,type:HH(t==null?void 0:t.type),title:(t==null?void 0:t.title)||`统计图表${e+1}`,subtitle:KH(t==null?void 0:t.subtitle),unit:(t==null?void 0:t.unit)||"",source:(t==null?void 0:t.source)||{},rows:n.map((a,i)=>({key:(a==null?void 0:a.key)||`${(a==null?void 0:a.name)||"row"}-${i}`,name:String((a==null?void 0:a.name)||`指标${i+1}`),value:qH(a==null?void 0:a.value),rawValue:a==null?void 0:a.value,unit:(a==null?void 0:a.unit)||(t==null?void 0:t.unit)||"",extra:(a==null?void 0:a.extra)||""})).filter(a=>a.name&&Number.isFinite(a.value))}}function HH(t){return["pie","donut"].includes(t)?"pie":["line","trend"].includes(t)?"line":"bar"}function KH(t){const e=String(t||"").trim();return!e||/^(数据)?来源[::]/.test(e)||e.includes("固定展示")?"":e}function qH(t){if(t==null||t==="")return NaN;const e=Number(String(t).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(e)?e:NaN}const fy="/openApi",hy=QH("/jsyApi");function JH(t,e){return/^https?:\/\//.test(e)?e:`${t}${e.startsWith("/")?e:`/${e}`}`}function QH(t){const e=String(t||"/jsyApi").replace(/\/+$/,"");return e.endsWith("/api")?e:`${e}/api`}function dr(t,e,n,a={}){return Xt(JH(t,e),{params:n,timeout:a.timeout}).then(XH)}function bm(t){return Array.isArray(t)?t:(t==null?void 0:t.rows)||(t==null?void 0:t.list)||[]}function my(t,e=n=>!!n){return P3(this,null,function*(){let n;for(const a of t)try{const i=yield a();if(e(i))return i}catch(i){n=i}if(n)throw n;return null})}function XH(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"接口请求失败");throw n.code=t==null?void 0:t.code,n}return u0(t)}function ZH(t){return P3(this,null,function*(){const e=yield my([()=>dr(hy,"/ai/question/balance",{question:t},{timeout:18e3}),()=>dr(fy,"/ai/balance/targets",{question:t},{timeout:18e3})],n=>bm(n).length>0);return bm(e)})}function eK(){return P3(this,arguments,function*({areaCode:t,pasturesId:e}={}){return my([()=>dr(hy,"/ai/livestockBalance",{areaCode:t,pasturesId:e},{timeout:18e3}),()=>dr(fy,"/ai/balance/advice",{areaCode:t,pasturesId:e},{timeout:18e3})],n=>n&&typeof n=="object"&&Object.keys(n).length>0)})}const Tm="智慧管理",py="513233",tK=80,nK=[{key:"livestock_balance",label:"草畜平衡",patterns:[/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧/],build:sK},{key:"yak",label:"牦牛管理",patterns:[/牦牛|耗牛|犛牛|存栏|畜群|牛群|牛犊|母牛|公牛|出栏|交易|预测/],build:oK},{key:"pasture",label:"牧户管理",patterns:[/牧户|牧场|联户|在线|年龄|性别|户均|草场/],build:lK},{key:"ecology",label:"生态保护",patterns:[/生态|公益林|湿地|草地|林地|保护|修复|红线|公园|自然保护地|工程/],build:uK},{key:"industry",label:"牦牛产业链",patterns:[/产业链|产业|主体|加工|屠宰|饲草|储草|家庭生态牧场|品牌|服务能力/],build:cK}];function aK(n){return P3(this,arguments,function*(t,e={}){const a=Vu(t),i=e.pagePath||window.location.hash||window.location.pathname,r=[],o=WH(a,i,Tm).catch(I=>(r.push(Hu(I,"辅助图表暂不可用")),[])),s=rK(a),u=yield Promise.all(s.map(I=>I.build(a,r))),m=yK(u.flat()),h=yield o,p=m.length?m:gy(),g=bK(a,p),C={question:a,pageName:Tm,pagePath:i,scope:g,intents:s.map(I=>({key:I.key,label:I.label})),datasets:p,charts:h,notes:vK(p,h,r),warnings:r};return Z2(B2({},C),{insights:SK(C)})})}function iK(t={}){const e=Array.isArray(t.datasets)?t.datasets:[],n=Array.isArray(t.insights)?t.insights:[],a=t.scope||"红原县",i=e.slice(0,4).map(s=>s.title).filter(Boolean),r=n.slice(0,5).map(s=>`- ${s.label}:${s.value}${s.note?`(${s.note})`:""}`),o=(t.notes||[]).slice(0,3).map(s=>`- ${s}`);return["**总体情况**",`已按${a}相关业务数据整理本次问题的业务信息。`,"","**已整理数据**",...i.length?i.map(s=>`- ${s}`):["- 平台综合业务数据"],"",r.length?"**关键数据**":"",...r,"",o.length?"**数据说明**":"",...o].filter(Boolean).join(` -`)}function rK(t){const e=nK.filter(n=>n.patterns.some(a=>a.test(t)));return e.length?e:[{key:"overview",label:"综合总览",build:()=>gy()}]}function gy(){return[P0("home.topStats","首页核心指标",zp,"平台业务汇总数据"),P0("home.heroStats","资源与草畜概览",uL,"平台业务汇总数据"),P0("home.resourceComposition","资源构成",Yp,"平台业务汇总数据"),P0("home.businessMatrix","业务矩阵",cL,"平台业务汇总数据"),P0("home.dataFlow","数据流汇总",hL,"平台业务汇总数据")]}function oK(){return[P0("yak.townDistribution","乡镇牦牛存栏分布",d7.length?d7:$p,"平台业务汇总数据"),P0("yak.structure","畜群结构",G6,"平台业务汇总数据"),P0("yak.genderAge","年龄性别结构",_i,"平台业务汇总数据"),P0("yak.forecast","牦牛存栏预测",Mt,"平台业务汇总数据"),P0("yak.forecastFactors","预测因素",yl,"平台业务汇总数据"),P0("yak.tradeImpact","交易影响",gl,"平台业务汇总数据")]}function sK(t,e){return P3(this,null,function*(){const n=yield dK(t,e),a=fK(n);let i=a;try{const r=yield eK(n.params);i=Dp(r||{},a)}catch(r){e.push(Hu(r,`${n.name}草畜平衡接口暂未取得,已使用展示数据`))}return[P0("balance.target",`${n.name}草畜平衡`,[i],n.source),P0("balance.townRows","乡镇草畜平衡",M8,"平台业务汇总数据"),P0("balance.params","草畜平衡计算参数",[_r],"平台业务汇总数据")]})}function lK(){return[P0("pasture.core","牧户核心指标",ku,"平台业务汇总数据"),P0("pasture.townDistribution","牧户乡镇分布",f8,"平台业务汇总数据"),P0("pasture.online","牧户在线率",Eu,"平台业务汇总数据"),P0("pasture.age","牧户年龄结构",Ug,"平台业务汇总数据"),P0("pasture.gender","牧户性别结构",Ru,"平台业务汇总数据"),P0("pasture.examples","牧户示例列表",h8,"平台业务汇总数据")]}function uK(){return[P0("ecology.parkTopStats","生态保护核心指标",Pg,"平台业务汇总数据"),P0("ecology.parkCore","国家公园核心指标",Mj,"平台业务汇总数据"),P0("ecology.parkTownRows","国家公园乡镇数据",cn,"平台业务汇总数据"),P0("ecology.restorationTopStats","生态修复项目汇总",kg,"平台业务汇总数据"),P0("ecology.engineeringTopStats","生态工程分析指标",zj,"平台业务汇总数据"),P0("ecology.parkPanels","生态保护图表数据",Am(Eg),"平台业务汇总数据"),P0("ecology.restorationPanels","生态修复图表数据",Am(Lg),"平台业务汇总数据"),P0("home.resourceComposition","林草湿资源构成",Yp,"平台业务汇总数据"),P0("home.townSynergy","乡镇林草湿与牦牛协同",dL,"平台业务汇总数据")]}function cK(){return[P0("industry.topStats","产业链核心指标",SV,"平台业务汇总数据"),P0("industry.overview","产业链总览",wV,"平台业务汇总数据"),P0("industry.stageComposition","产业阶段构成",bV,"平台业务汇总数据"),P0("industry.stageRows","产业阶段说明",ur,"平台业务汇总数据"),P0("industry.forageSecurity","饲草保障能力",ty,"平台业务汇总数据"),P0("industry.value","产业价值指标",ny,"平台业务汇总数据"),P0("industry.processingAbility","加工能力指标",CV,"平台业务汇总数据"),P0("industry.serviceCapability","服务能力指标",AV,"平台业务汇总数据")]}function dK(t,e){return P3(this,null,function*(){const n=M8.find(a=>yy(t,a.name));if(n)return{key:"areaCode",name:n.name,params:{areaCode:n.areaCode},source:"草畜平衡业务数据"};if(pK(t))return Cm("全县草畜平衡默认按红原县汇总");try{const a=yield ZH(t),i=hK(a);if(i.length){const r=i[0];return{key:r.key,name:r.name,params:mK(r),source:"草畜平衡业务数据"}}}catch(a){e.push(Hu(a,"草畜平衡对象识别暂未取得"))}return Cm("按红原县全县草畜平衡汇总")})}function Cm(t){return{key:"areaCode",name:"红原县",params:{areaCode:py},source:t}}function fK(t){return!t||t.name==="红原县"?Ki:M8.find(e=>{var n;return e.areaCode===((n=t.params)==null?void 0:n.areaCode)||e.name===t.name})||Ki}function hK(t=[]){return(Array.isArray(t)?t:[]).map((e,n)=>({key:(e==null?void 0:e.key)||(e==null?void 0:e.type)||"area_code",value:(e==null?void 0:e.value)||(e==null?void 0:e.id)||(e==null?void 0:e.code)||(e==null?void 0:e.areaCode)||(e==null?void 0:e.pasturesId),name:(e==null?void 0:e.name)||(e==null?void 0:e.label)||(e==null?void 0:e.areaName)||(e==null?void 0:e.pasturesName)||`对象${n+1}`})).filter(e=>e.value||e.name==="红原县")}function mK(t){return(t==null?void 0:t.key)==="pasturesId"||(t==null?void 0:t.key)==="pastures_id"?{pasturesId:t.value}:{areaCode:(t==null?void 0:t.value)||py}}function pK(t){const e=Vu(t).replace(/\s+/g,"");if(/(?:邛溪|刷经寺|安曲|龙日|江茸|查尔玛|瓦切|阿木|麦洼|色地|村|牧户|牧场|合作社|基地)/.test(e)||/乡|镇/.test(e)&&!/(全县|红原县|全域|整体|总体)/.test(e))return!1;const a=e.replace(/红原县|全县|全域|整体|总体|当前|现在|的/g,"").replace(/请|帮我|帮忙|查询|查看|看一下|看|了解|分析|生成|形成|出|一下/g,"").replace(/情况|数据|专题|页面|报告|建议|研判|汇总|概况|总览/g,"");return/^(草畜平衡|草畜|平衡|草地承载力|承载力|载畜|载畜压力|放牧压力|超载率)$/.test(a)}function P0(t,e,n,a){return{id:t,title:e,suggestedView:TK(e,n),source:{label:a||"平台展示数据"},rows:gK(n)}}function gK(t){return(Array.isArray(t)?t:[]).slice(0,tK).map(e=>zl(e)).filter(e=>e&&typeof e=="object")}function zl(t,e=0){return e>4||t===void 0||typeof t=="function"?null:t===null||["string","number","boolean"].includes(typeof t)?t:Array.isArray(t)?t.slice(0,30).map(n=>zl(n,e+1)):typeof t=="object"?Object.entries(t).reduce((n,[a,i])=>(["icon","color","tone","image","cover","component"].includes(a)||(n[a]=zl(i,e+1)),n),{}):String(t)}function yK(t=[]){const e=new Set;return t.filter(n=>{var a;return!((a=n==null?void 0:n.rows)!=null&&a.length)||e.has(n.id)?!1:(e.add(n.id),!0)})}function vK(t,e,n){return[...n].filter(Boolean)}function SK(t){const e=[];return(t.datasets||[]).some(n=>{const a=wK(n);return a&&e.push(a),e.length>=5}),(t.charts||[]).some(n=>{var u,m;const a=(n.rows||[]).filter(h=>Number.isFinite(Number(h.value)));if(!a.length)return!1;const i=a.slice().sort((h,p)=>Number(p.value||0)-Number(h.value||0)),r=n.unit==="%"||/率|占比|比例/.test(n.title||""),o=r?(u=i[0])==null?void 0:u.value:a.reduce((h,p)=>h+Number(p.value||0),0),s=r&&((m=i[0])!=null&&m.name)?`${n.title||"关联图表"}:${i[0].name}`:n.title||"关联图表";return e.push({label:s,value:`${vy(o)}${n.unit||""}`,note:a.length>1?r?"数值较高项":`覆盖 ${a.length} 项`:""}),e.length>=5}),e.slice(0,5)}function wK(t){var o,s,u,m;const e=(t.rows||[]).find(Boolean);if(!e)return null;const n=e.name||e.areaName||e.zh||e.label||t.title,a=e.overloadRate!==void 0||e.overloadrate!==void 0,i=a?(o=e.overloadRate)!=null?o:e.overloadrate:(m=(u=(s=e.value)!=null?s:e.yakNumber)!=null?u:e.livestockCapacity)!=null?m:e.areaRange;if(i==null||i==="")return null;const r=e.unit||(a?"%":e.yakNumber!==void 0||e.livestockCapacity!==void 0?"头":"");return{label:a?`${n}超载率`:n,value:`${vy(i)}${r}`,note:a&&e.level||t.title}}function Am(t={}){return Object.entries(t||{}).flatMap(([e,n])=>(Array.isArray(n)?n:[]).flatMap(a=>(Array.isArray(a==null?void 0:a.rows)?a.rows:Array.isArray(a==null?void 0:a.data)?a.data:[]).map(r=>B2({groupKey:e,panelKey:a.key,panelTitle:a.title},r))))}function bK(t,e){var i,r;const n=M8.find(o=>yy(t,o.name));if(n)return n.name;const a=(r=(i=e.find(o=>o.id==="balance.target"))==null?void 0:i.rows)==null?void 0:r[0];return a!=null&&a.name?a.name:a!=null&&a.areaName?a.areaName:"红原县"}function TK(t,e){return!Array.isArray(e)||e.length<=1?"metrics":/结构|构成|占比|比例/.test(t)?"pie":/趋势|预测/.test(t)?"line":"bar-table"}function yy(t,e){const n=Vu(t),a=String(e||"").replace(/(县|镇|村|乡|牧场|牧户|联户)$/g,"");return!!(e&&(n.includes(e)||a&&n.includes(a)))}function Vu(t){return String(t||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛").trim()}function Hu(t,e){const n=String((t==null?void 0:t.message)||"");return(t==null?void 0:t.code)===401||(t==null?void 0:t.code)==="401"||/未登录|授权|Unauthorized|HTTP 401/i.test(n)?"当前登录状态已失效,部分接口数据未取得":/timeout|timed out|超时/i.test(n)?`${e},接口响应超时`:e}function vy(t){const e=Number(String(t).replace(/,/g,""));return Number.isFinite(e)?e.toLocaleString("zh-CN",{maximumFractionDigits:2}):t||"--"}const CK="/openApi",AK=12e4,_K=8e3,xK=12,MK=500;function PK(t){return/^https?:\/\//.test(t)?t:`${CK}${t.startsWith("/")?t:`/${t}`}`}function kK(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code)){const n=new Error((t==null?void 0:t.message)||(t==null?void 0:t.msg)||"HTML界面生成失败");throw n.code=t==null?void 0:t.code,n}return u0(t)}function EK(){return P3(this,arguments,function*({question:t,answer:e="",charts:n=[],datasets:a=[],context:i=null,pagePath:r=window.location.hash||window.location.pathname,pageName:o="智慧管理"}={}){const s=NK({question:t,answer:e,charts:n,datasets:a,context:i}),u=yield Xt(PK("/ai/artifact/html"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:t,pagePath:r,pageName:o,dataJson:s}),timeout:11e4}).then(kK),m=String((u==null?void 0:u.provider)||""),h=String((u==null?void 0:u.model)||"");if(m.toLowerCase()!=="deepseek"||!h.toLowerCase().startsWith("deepseek-"))throw new Error("HTML界面不是由DeepSeek模型生成,已拒绝展示");const p=FK((u==null?void 0:u.html)||(u==null?void 0:u.content)||u);if(!p)throw new Error("代码模型没有返回完整HTML");return Z2(B2({},u),{html:p})})}function NK({question:t,answer:e,charts:n,datasets:a,context:i}){const r={question:String(t||"").trim(),generatedAt:new Date().toISOString(),answer:String(e||"").slice(0,_K),context:RK(i),datasets:[...LK(n),...IK(a)]},o=JSON.stringify(r);if(o.length>AK){const s=new Error("汇总数据超过120000字符,请先缩小查询范围");throw s.code="ARTIFACT_DATA_TOO_LARGE",s}return o}function RK(t){if(!t||typeof t!="object")return null;const{question:e,pageName:n,pagePath:a,scope:i,intents:r,notes:o,warnings:s,insights:u}=t;return fr({question:e,pageName:n,pagePath:a,scope:i,intents:r,notes:o,warnings:s,insights:u})}function LK(t=[]){return(Array.isArray(t)?t:[]).slice(0,6).map((e,n)=>({id:(e==null?void 0:e.id)||`chart-${n+1}`,title:(e==null?void 0:e.title)||`统计数据${n+1}`,suggestedView:(e==null?void 0:e.type)||"bar",unit:(e==null?void 0:e.unit)||"",subtitle:(e==null?void 0:e.subtitle)||"",source:(e==null?void 0:e.source)||{},rows:Sy(e==null?void 0:e.rows)}))}function IK(t=[]){return(Array.isArray(t)?t:[]).slice(0,xK).map((e,n)=>({id:(e==null?void 0:e.id)||`dataset-${n+1}`,title:(e==null?void 0:e.title)||(e==null?void 0:e.name)||`汇总数据${n+1}`,suggestedView:(e==null?void 0:e.suggestedView)||(e==null?void 0:e.type)||"auto",unit:(e==null?void 0:e.unit)||"",source:(e==null?void 0:e.source)||{},rows:Sy((e==null?void 0:e.rows)||(e==null?void 0:e.data)||e)}))}function Sy(t){return(Array.isArray(t)?t:[]).slice(0,MK).map(e=>fr(e))}function fr(t,e=0){return e>4||t===void 0||typeof t=="function"?null:t===null||["string","number","boolean"].includes(typeof t)?t:Array.isArray(t)?t.slice(0,50).map(n=>fr(n,e+1)):typeof t=="object"?Object.entries(t).reduce((n,[a,i])=>(n[a]=fr(i,e+1),n),{}):String(t)}function FK(t){let e=String(t||"").trim();e.startsWith("```")&&(e=e.replace(/^```(?:html)?\s*/i,"").replace(/\s*```$/i,"").trim());const n=e.match(/");return n&&a>=n.index&&(e=e.slice(n.index,a+7)),/o.remove()),n.querySelectorAll("*").forEach(o=>UK(o));const a=n.head.querySelector("meta[http-equiv='Content-Security-Policy' i]");a==null||a.remove();const i=n.createElement("meta");i.setAttribute("http-equiv","Content-Security-Policy"),i.setAttribute("content",BK),n.head.prepend(i);const r=n.createElement("script");return r.textContent=` - (() => { - const notify = (type, message = "") => { - window.parent.postMessage({ source: "smart-artifact", type, message: String(message).slice(0, 240) }, "*"); - }; - window.addEventListener("error", (event) => notify("runtime-error", event.message || "界面运行异常")); - window.addEventListener("unhandledrejection", (event) => notify("runtime-error", event.reason?.message || event.reason || "界面运行异常")); - window.addEventListener("DOMContentLoaded", () => notify("ready")); - })(); - `,i.after(r),` -${n.documentElement.outerHTML}`}function UK(t){Array.from(t.attributes||[]).forEach(e=>{const n=e.name.toLowerCase(),a=String(e.value||"").trim();if(n.startsWith("on")||n==="target"){t.removeAttribute(e.name);return}["href","xlink:href","src","action","formaction"].includes(n)&&(a.startsWith("#")||a.startsWith("data:")||a.startsWith("blob:")||t.removeAttribute(e.name))})}const OK={class:"wisdom-management"},jK={key:0,class:"wisdom-side wisdom-side-left"},zK={key:0,class:"wisdom-side-header"},YK={key:0},$K={key:1,class:"wisdom-side-metrics"},WK={key:0},VK=["innerHTML"],HK={key:3,class:"wisdom-side-actions"},KK=["disabled","onClick"],qK={key:1,class:"wisdom-side wisdom-side-right"},JK={key:0,class:"wisdom-side-header"},QK={key:0},XK={key:2,class:"wisdom-side-metrics"},ZK={key:0},eq=["innerHTML"],tq={key:4,class:"wisdom-side-actions"},nq=["disabled","onClick"],aq={key:2,class:"wisdom-artifact-workspace"},iq={class:"wisdom-artifact-header"},rq={class:"wisdom-artifact-heading"},oq={class:"wisdom-artifact-tools"},sq=["disabled"],lq={class:"wisdom-artifact-body"},uq={key:0,class:"wisdom-artifact-building"},cq={class:"wisdom-artifact-building__intro"},dq=["srcdoc"],fq={key:2,class:"wisdom-artifact-error"},hq=["disabled"],mq={key:0,class:"wisdom-empty-state"},pq={key:0,class:"wisdom-message-mark"},gq={class:"wisdom-bubble"},yq={key:0,class:"wisdom-digesting"},vq=["innerHTML"],Sq={key:2,class:"wisdom-stream-caret"},wq={key:3,class:"wisdom-suggestion-list"},bq=["disabled","onClick"],Tq={class:"wisdom-input-shell"},Cq=["disabled"],Aq=["disabled","title","aria-label"],_q=["disabled"],xq={key:0,class:"wisdom-button-loading"},Mq="请输入需要了解的业务事项,系统将依据平台汇总数据形成要点分析和专题页面。",Pq={__name:"index",props:{active:{type:Boolean,default:!0}},setup(t){const e=EC({loader:()=>NC(()=>import("./SmartChartRenderer-5864000c-1783905032331.js"),["./SmartChartRenderer-5864000c-1783905032331.js","./index-1783905032331.js","./index-56af86f7-balabala-1783905032331.css","./chartTheme-798f6f49-1783905032331.js","./chartTheme-73f6d8d0-balabala-1783905032331.css","./SmartChartRenderer-7a3a96b9-balabala-1783905032331.css"],import.meta.url),loadingComponent:{template:'
    正在绘制统计图表
    '}}),n=t,a=Q2(""),i=Q2([]),r=Q2(!1),o=Q2(null),s=Q2(null),u=Q2([]),m=Q2([]),h=Q2(j2()),p=s2(()=>h.value.status!=="idle"),g=s2(()=>["collecting","generating"].includes(h.value.status)),C=s2(()=>h.value.status==="collecting"?"汇总数据":h.value.status==="generating"?"生成页面":h.value.status==="ready"?"分析完成":h.value.status==="error"?"生成失败":h.value.status==="waiting"?"等待选择":"待生成"),I=Q2(!1),U=Q2(!1),j=Q2("");let l2=null,v2=null,S2=0;const T2=Q2(null);mn(()=>{n1(),window.addEventListener("message",b3)}),hn(()=>{j3(),W3(),S2+=1,window.removeEventListener("message",b3)}),N0(()=>n.active,P=>{P||(j3(),W3(),S2+=1,r.value=!1,i.value=i.value.map(E3=>E3.streaming?Z2(B2({},E3),{streaming:!1,digesting:!1}):E3))});function C2(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function j2(){return{status:"idle",title:"动态分析",question:"",html:"",error:"",model:"",renderKey:0}}function K2(P){S2+=1,T2.value=null,h.value=Z2(B2({},j2()),{status:"collecting",title:V2(P),question:P})}function V2(P){const E3=String(P||"动态分析").replace(/[??。!!]+$/g,"").trim();return E3.length>28?`${E3.slice(0,28)}...`:E3||"动态分析"}function s3(P,E3){return P3(this,null,function*(){const g3={question:(P==null?void 0:P.question)||h.value.question,answer:(P==null?void 0:P.answer)||"",charts:Array.isArray(P==null?void 0:P.charts)?P.charts:[],datasets:Array.isArray(P==null?void 0:P.datasets)?P.datasets:[],context:(P==null?void 0:P.context)||null,pagePath:window.location.hash||window.location.pathname,pageName:"智慧管理"};T2.value=g3;const A1=++S2;h.value=Z2(B2({},h.value),{status:"generating",title:V2(g3.question),question:g3.question,html:"",error:"",model:""});try{const q3=yield EK(g3);if(A1!==S2)return{stale:!0};const O3=GK(q3.html);if(!O3)throw new Error("生成页面未通过安全检查");return h.value=Z2(B2({},h.value),{status:"ready",html:O3,error:"",model:q3.model||"DeepSeek",renderKey:Date.now()}),{ok:!0,result:q3}}catch(q3){if(A1!==S2)return{stale:!0};const O3=l3(q3,"专题分析页面生成暂时不可用,请稍后重试。");return console.error("[智慧管理] DeepSeek HTML生成失败",q3),h.value=Z2(B2({},h.value),{status:"error",html:"",error:O3,model:"",renderKey:Date.now()}),{ok:!1,message:O3,error:q3}}})}function m3(){!T2.value||g.value||s3(T2.value)}function p3(P){S2+=1,h.value=Z2(B2({},h.value),{status:"error",html:"",error:P,renderKey:Date.now()})}function U3(){h.value.status!=="ready"&&(h.value=Z2(B2({},h.value),{status:"ready"}))}function b3(P){var E3,g3;P.source!==((E3=s.value)==null?void 0:E3.contentWindow)||((g3=P.data)==null?void 0:g3.source)!=="smart-artifact"||P.data.type==="runtime-error"&&(h.value=Z2(B2({},h.value),{status:"error",html:"",error:P.data.message||"生成界面运行异常",renderKey:Date.now()}))}function Y3(P){return String(P||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛")}function o3(P){return Y3(P).trim()}function n1(){if(typeof window=="undefined")return;const P=window.SpeechRecognition||window.webkitSpeechRecognition;I.value=!!P,P&&(v2=new P,v2.lang="zh-CN",v2.continuous=!1,v2.interimResults=!0,v2.maxAlternatives=1,v2.onstart=()=>{U.value=!0,j.value=""},v2.onresult=E3=>{const A1=Array.from(E3.results||[]).map(q3=>{var O3;return((O3=q3==null?void 0:q3[0])==null?void 0:O3.transcript)||""}).join("").trim();A1&&(a.value=A1)},v2.onerror=E3=>{U.value=!1,j.value=(E3==null?void 0:E3.error)||"语音输入失败"},v2.onend=()=>{U.value=!1})}function b1(){if(!(!v2||r.value)){if(U.value){W3();return}try{j.value="",v2.start()}catch(P){j.value=(P==null?void 0:P.message)||"语音输入启动失败",U.value=!1}}}function W3(){if(!(!v2||!U.value))try{v2.stop()}catch(P){j.value=(P==null?void 0:P.message)||"语音输入已结束"}finally{U.value=!1}}function R1(){return P3(this,arguments,function*(P=a.value){const E3=o3(P);if(!E3||r.value)return;W3();const g3={id:C2(),role:"user",text:E3},A1={id:C2(),role:"assistant",steps:[],digesting:!0,digestText:"生成中",visibleText:"",fullText:"",streaming:!1,charts:[],insights:[],suggestions:[]};i.value=[...i.value,g3,A1],a.value="",r.value=!0,K2(E3),yield W1(),yield D1(E3,A1.id)})}function D1(P,E3){return P3(this,null,function*(){var g3,A1,q3;_1(E3,{digestText:"生成中"});try{const O3=window.location.hash||window.location.pathname,g1=yield aK(P,{pagePath:O3}),H1=iK(g1),G2=((g3=g1.datasets)==null?void 0:g3.length)||0,H2=((A1=g1.charts)==null?void 0:A1.length)||0,e3=(q3=g1.insights)!=null&&q3.length?g1.insights:C1(g1.charts||[]);_1(E3,{digesting:!0,digestText:"生成中",insights:e3,suggestions:[],allowFollowUp:!0}),L3({question:P,answer:H1,charts:g1.charts||[],insights:e3,suggestions:[]});const T3=yield s3({question:P,answer:H1,charts:g1.charts||[],datasets:g1.datasets||[],context:g1},E3);if(T3!=null&&T3.stale)return;o1(E3,T3!=null&&T3.ok?Y1(g1):h3(T3==null?void 0:T3.message))}catch(O3){const g1=l3(O3,"上下文数据整理失败,请稍后重试。");L3({question:P,answer:g1,charts:[],insights:[],suggestions:[]}),p3(g1),o1(E3,g1)}})}function Y1(){return"已生成。还有其他问题可以继续问我。"}function h3(P){return["**生成失败**","右侧专题分析页面未生成。","",P||"专题分析页面生成暂时不可用,请稍后重试。"].join(` -`)}function x3(P){const E3=Number(String(P).replace(/,/g,""));return Number.isFinite(E3)?E3.toLocaleString("zh-CN",{maximumFractionDigits:2}):P||"--"}function L3({question:P,answer:E3,charts:g3=[],insights:A1=[],suggestions:q3=[],aiPanels:O3}={}){const g1=(O3==null?void 0:O3.leftPanels)||[],H1=(O3==null?void 0:O3.rightPanels)||[];if(g1.length||H1.length){u.value=g1,m.value=H1;return}const G2=h1({question:P,answer:E3,charts:g3,insights:A1,suggestions:q3});u.value=G2.left,m.value=G2.right}function h1({question:P,answer:E3,charts:g3=[],insights:A1=[],suggestions:q3=[]}={}){const O3=[],g1=[],H1=(A1.length?A1:C1(g3)).map(G2=>({label:G2.label,value:G2.value,note:G2.note}));return!g3.length&&!H1.length?{left:O3,right:g1}:(H1.length&&O3.push({id:`summary-${C2()}`,type:"metrics",kicker:"数据要点",title:"数据摘要",badge:"实时",items:H1.slice(0,4),actions:[]}),g3.slice(0,2).forEach((G2,H2)=>{g1.push({id:`chart-${G2.id||H2}-${C2()}`,type:"chart",kicker:H2===0?"可视分析":"关联图表",title:G2.title||`统计图表${H2+1}`,badge:G2.unit||"",chart:G2,items:[],actions:[],text:""})}),{left:O3.slice(0,2),right:g1.slice(0,2)})}function C1(P=[]){const E3=[];return P.slice(0,2).forEach(g3=>{var e3;const A1=(g3.rows||[]).map(T3=>Z2(B2({},T3),{value:Number(T3.value)})).filter(T3=>T3.name&&Number.isFinite(T3.value));if(!A1.length)return;const q3=g3.unit||((e3=A1.find(T3=>T3.unit))==null?void 0:e3.unit)||"",O3=A1.slice().sort((T3,y1)=>y1.value-T3.value),g1=A1.reduce((T3,y1)=>T3+y1.value,0),H1=g1/A1.length,G2=O3[0],H2=O3[O3.length-1];E3.push({label:"最高",value:`${G2.name} ${x3(G2.value)}${q3}`,note:g3.title}),A1.length>2&&E3.push({label:g3.type==="pie"?"占比项":"最低",value:`${H2.name} ${x3(H2.value)}${q3}`,note:g3.type==="pie"?"最小结构项":"低值区域"}),E3.push({label:"合计",value:`${x3(g1)}${q3}`,note:A1.length>1?`覆盖 ${A1.length} 项`:g3.title}),g3.type!=="pie"&&A1.length>1&&E3.push({label:"均值",value:`${x3(H1)}${q3}`,note:"按当前图表项计算"})}),E3.slice(0,4)}function _1(P,E3,g3=!0){i.value=i.value.map(A1=>A1.id===P?B2(B2({},A1),E3):A1),g3&&W1()}function o1(P,E3){_1(P,{digesting:!1}),$2(P,E3)}function l3(P,E3){const g3=String((P==null?void 0:P.message)||"");return(P==null?void 0:P.code)===401||(P==null?void 0:P.code)==="401"||(P==null?void 0:P.code)==="HTTP_401"||/未登录|授权|Unauthorized|HTTP 401/i.test(g3)?"当前登录状态已失效,请重新登录后查询。":(P==null?void 0:P.code)==="REQUEST_TIMEOUT"||/timeout|timed out|超时/i.test(g3)?"服务响应时间较长,请稍后再试,或换一个更具体的问题。":(P==null?void 0:P.code)==="REQUEST_ABORTED"||/aborted|abort|signal/i.test(g3)?"本次分析已中断,请重新提交。":(P==null?void 0:P.code)==="HTTP_404"||(P==null?void 0:P.status)===404||/HTTP 404/i.test(g3)?"专题分析页面生成服务暂不可用,请稍后重试。":/Failed to fetch|NetworkError|Load failed|HTTP 50|HTTP 40/i.test(g3)||/[a-zA-Z]{4,}/.test(g3)?E3:g3||E3}function $2(P,E3){j3();const g3=Y3(E3),A1=g3.length>1200?36:g3.length>700?24:14;let q3=0;_1(P,{fullText:g3,visibleText:"",streaming:!0,charts:[]});const O3=()=>{if(q3=Math.min(q3+A1,g3.length),_1(P,{visibleText:g3.slice(0,q3),streaming:q3=g3.length){l2=null,r.value=!1;return}l2=window.setTimeout(O3,18)};l2=window.setTimeout(O3,0)}function j3(){l2&&(window.clearTimeout(l2),l2=null)}function c1(P){const E3=$1(P).split(/\r?\n/),g3=[];let A1=[],q3=!1;const O3=()=>{A1.length&&(g3.push(`<${q3?"ol":"ul"}>${A1.map(g1=>`
  • ${M1(g1)}
  • `).join("")}`),A1=[],q3=!1)};return E3.forEach(g1=>{const H1=g1.trim();if(!H1){O3();return}const G2=H1.match(/^#{1,4}\s+(.+)$/)||H1.match(/^\*\*(.+)\*\*$/);if(G2){O3(),g3.push(`

    ${M1(G2[1])}

    `);return}const H2=H1.match(/^\d+[.)、]\s+(.+)$/),e3=H1.match(/^[-*]\s+(.+)$/);if(H2||e3){const T3=!!H2;A1.length&&q3!==T3&&O3(),q3=T3,A1.push(H2?H2[1]:e3[1]);return}O3(),g3.push(`

    ${M1(H1)}

    `)}),O3(),g3.join("")}function M1(P){return P.replace(/\*\*([^*]+)\*\*/g,"$1")}function $1(P){return String(P||"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function W1(){return P3(this,null,function*(){yield O0(),window.requestAnimationFrame(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})})}return(P,E3)=>(G(),z("div",OK,[E3[17]||(E3[17]=n7('',1)),u.value.length&&!p.value?(G(),z("aside",jK,[(G(!0),z(B3,null,H3(u.value,g3=>{var A1,q3;return G(),z("section",{key:g3.id,class:r1(["wisdom-side-panel",`is-${g3.type}`])},[g3.chart?k3("",!0):(G(),z("header",zK,[w("div",null,[w("span",null,i2(g3.kicker),1),w("strong",null,i2(g3.title),1)]),g3.badge?(G(),z("em",YK,i2(g3.badge),1)):k3("",!0)])),(A1=g3.items)!=null&&A1.length?(G(),z("div",$K,[(G(!0),z(B3,null,H3(g3.items,O3=>(G(),z("div",{key:`${g3.id}-${O3.label}`,class:"wisdom-side-metric"},[w("span",null,i2(O3.label),1),w("strong",null,i2(O3.value),1),O3.note?(G(),z("em",WK,i2(O3.note),1)):k3("",!0)]))),128))])):k3("",!0),g3.text?(G(),z("div",{key:2,class:"wisdom-side-text",innerHTML:c1(g3.text)},null,8,VK)):k3("",!0),(q3=g3.actions)!=null&&q3.length?(G(),z("div",HK,[(G(!0),z(B3,null,H3(g3.actions,O3=>(G(),z("button",{key:O3.question,type:"button",disabled:r.value,onClick:g1=>R1(O3.question)},i2(O3.label),9,KK))),128))])):k3("",!0)],2)}),128))])):k3("",!0),m.value.length&&!p.value?(G(),z("aside",qK,[(G(!0),z(B3,null,H3(m.value,g3=>{var A1,q3;return G(),z("section",{key:g3.id,class:r1(["wisdom-side-panel",`is-${g3.type}`])},[g3.chart?k3("",!0):(G(),z("header",JK,[w("div",null,[w("span",null,i2(g3.kicker),1),w("strong",null,i2(g3.title),1)]),g3.badge?(G(),z("em",QK,i2(g3.badge),1)):k3("",!0)])),g3.chart?(G(),J0(k1(e),{key:1,class:"wisdom-side-chart",chart:g3.chart},null,8,["chart"])):k3("",!0),(A1=g3.items)!=null&&A1.length?(G(),z("div",XK,[(G(!0),z(B3,null,H3(g3.items,O3=>(G(),z("div",{key:`${g3.id}-${O3.label}`,class:"wisdom-side-metric"},[w("span",null,i2(O3.label),1),w("strong",null,i2(O3.value),1),O3.note?(G(),z("em",ZK,i2(O3.note),1)):k3("",!0)]))),128))])):k3("",!0),g3.text?(G(),z("div",{key:3,class:"wisdom-side-text",innerHTML:c1(g3.text)},null,8,eq)):k3("",!0),(q3=g3.actions)!=null&&q3.length?(G(),z("div",tq,[(G(!0),z(B3,null,H3(g3.actions,O3=>(G(),z("button",{key:O3.question,type:"button",disabled:r.value,onClick:g1=>R1(O3.question)},i2(O3.label),9,nq))),128))])):k3("",!0)],2)}),128))])):k3("",!0),p.value?(G(),z("section",aq,[w("header",iq,[w("div",rq,[E3[4]||(E3[4]=w("span",{class:"wisdom-artifact-mark","aria-hidden":"true"},null,-1)),w("div",null,[E3[3]||(E3[3]=w("small",null,"专题分析",-1)),w("strong",null,i2(h.value.title),1)])]),w("div",oq,[w("span",{class:r1(["wisdom-artifact-status",`is-${h.value.status}`])},[E3[5]||(E3[5]=w("i",null,null,-1)),z0(i2(C.value),1)],2),h.value.status==="ready"||h.value.status==="error"?(G(),z("button",{key:0,type:"button",disabled:g.value||!T2.value,title:"重新生成当前界面",onClick:m3}," 重新生成 ",8,sq)):k3("",!0)])]),w("div",lq,[g.value?(G(),z("div",uq,[w("div",cq,[E3[6]||(E3[6]=w("span",{class:"wisdom-artifact-building__spinner"},null,-1)),w("div",null,[w("strong",null,i2(h.value.status==="collecting"?"正在汇总业务数据":"正在生成专题分析页面"),1)])]),E3[7]||(E3[7]=n7('
    ',3))])):h.value.html?(G(),z("iframe",{key:h.value.renderKey,ref_key:"artifactFrameRef",ref:s,class:"wisdom-artifact-frame",srcdoc:h.value.html,sandbox:"allow-scripts",referrerpolicy:"no-referrer",title:"专题分析页面",onLoad:U3},null,40,dq)):(G(),z("div",fq,[E3[8]||(E3[8]=w("strong",null,"专题分析页面暂未生成",-1)),w("p",null,i2(h.value.error||"当前数据不足以形成专题分析页面。"),1),w("button",{type:"button",disabled:!T2.value,onClick:m3},"重新生成",8,hq)]))])])):k3("",!0),w("main",{class:r1(["wisdom-chat",{"has-artifact":p.value}])},[w("div",{ref_key:"dialogueRef",ref:o,class:r1(["wisdom-dialogue",{"is-empty":!i.value.length}])},[i.value.length?k3("",!0):(G(),z("section",mq,[E3[9]||(E3[9]=w("div",{class:"wisdom-empty-mark"},[w("span"),w("strong",null,"AI")],-1)),E3[10]||(E3[10]=w("h2",null,"智慧辅助分析",-1)),w("p",null,i2(Mq))])),(G(!0),z(B3,null,H3(i.value,g3=>{var A1;return G(),z("article",{key:g3.id,class:r1(["wisdom-message",`is-${g3.role}`])},[g3.role==="assistant"?(G(),z("div",pq,[...E3[11]||(E3[11]=[w("span",null,"智",-1)])])):k3("",!0),w("div",gq,[g3.role==="user"?(G(),z(B3,{key:0},[z0(i2(g3.text),1)],64)):(G(),z(B3,{key:1},[g3.digesting?(G(),z("div",yq,[E3[12]||(E3[12]=w("span",null,null,-1)),E3[13]||(E3[13]=w("span",null,null,-1)),E3[14]||(E3[14]=w("span",null,null,-1)),w("em",null,i2(g3.digestText||"正在汇总分析"),1)])):k3("",!0),g3.visibleText?(G(),z("div",{key:1,class:"wisdom-answer",innerHTML:c1(g3.visibleText)},null,8,vq)):k3("",!0),g3.streaming?(G(),z("span",Sq)):k3("",!0),(A1=g3.suggestions)!=null&&A1.length&&(g3.allowFollowUp||!g3.digesting&&!g3.streaming)?(G(),z("div",wq,[(G(!0),z(B3,null,H3(g3.suggestions,q3=>(G(),z("button",{key:q3.question,type:"button",disabled:r.value,onClick:O3=>R1(q3.question)},i2(q3.label),9,bq))),128))])):k3("",!0)],64))])],2)}),128))],2),w("form",{class:"wisdom-input-bar",onSubmit:E3[2]||(E3[2]=_0(g3=>R1(),["prevent"]))},[w("div",Tq,[E3[16]||(E3[16]=w("span",{class:"wisdom-input-icon"},null,-1)),he(w("input",{"onUpdate:modelValue":E3[0]||(E3[0]=g3=>a.value=g3),disabled:r.value,autocomplete:"off",placeholder:"请输入需要了解的业务事项",onKeydown:E3[1]||(E3[1]=xt(_0(g3=>R1(),["prevent"]),["enter"]))},null,40,Cq),[[B6,a.value]]),w("button",{type:"button",class:r1(["wisdom-voice-button",{"is-listening":U.value}]),disabled:r.value||!I.value,title:I.value?U.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入","aria-label":I.value?U.value?"停止语音输入":"语音输入":"当前浏览器不支持语音输入",onClick:b1},[...E3[15]||(E3[15]=[w("span",null,null,-1)])],10,Aq),w("button",{class:"wisdom-submit-button",type:"submit",disabled:r.value||!a.value.trim()},[r.value?(G(),z("span",xq)):k3("",!0),w("span",null,i2(r.value?"分析中":"发送"),1)],8,_q)])],32)],2)]))}},t7=[{key:"home",label:"首页",bottomLabel:"核心指标",status:"ready"},{key:"forest-grass-wet",label:"林草湿资源",bottomLabel:"林草湿",status:"ready"},{key:"ecological-protection",label:"生态保护",bottomLabel:"生态保护",status:"ready"},{key:"yak-management",label:"牦牛管理",bottomLabel:"牦牛管理",status:"ready"},{key:"pasture-management",label:"牧场管理",bottomLabel:"牧场管理",status:"ready"},{key:"yak-industry-chain",label:"牦牛产业全链",bottomLabel:"产业全链",status:"ready"},{key:"smart-management",label:"智慧管理",bottomLabel:"智慧管理",status:"ready"},{key:"grass-livestock-balance",label:"草畜平衡",bottomLabel:"草畜平衡",status:"ready"}];function kq(t){return t7.find(e=>e.key===t)||t7[1]}const Eq="/jsyApi",Nq={}.VITE_AMAP_WEATHER_KEY||"b72b3e3b2023760dae2cdf2e00561812",Rq="513233";function Lq(t){if((t==null?void 0:t.success)===!1||(t==null?void 0:t.code)!==void 0&&![0,200,"0","200"].includes(t.code))throw new Error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"天气接口请求失败");return u0(t)}function wy(t){var o,s,u,m;const e=(s=(o=t==null?void 0:t.data)!=null?o:t==null?void 0:t.result)!=null?s:t,n=Array.isArray(e)?e[0]:Array.isArray(e==null?void 0:e.rows)?e.rows[0]:Array.isArray(e==null?void 0:e.list)?e.list[0]:e;if(!n||typeof n!="object")return null;const a=(...h)=>h.find(p=>p!=null&&p!==""),i=a(n.temp,n.temperature,n.temperature_float,n.tempDay,n.temperatureDay),r=a(n.humidity,n.humidity_float,n.pop,n.relativeHumidity);return{condition:n.conditionDay||n.condition||n.weather||n.weatherText||"",temperature:i==null||i===""?"--":i,humidity:r==null||r===""?"--":r,windDirection:n.windDir||n.windDirection||"",windLevel:n.windLevel||n.windScale||n.windPower||"",icon:(m=(u=n.icon)!=null?u:n.weatherIcon)!=null?m:null}}function Iq(t){return P3(this,null,function*(){const e=yield Xt(`${Eq}${t}`,{timeout:8e3});return wy(Lq(e))})}function Fq(){return new Promise((t,e)=>{const n=`__hongyuanWeather${Date.now()}${Math.random().toString(16).slice(2)}`,a=document.createElement("script"),i=()=>{window.clearTimeout(r),a.remove(),delete window[n]},r=window.setTimeout(()=>{i(),e(new Error("高德天气接口响应超时"))},8e3);window[n]=s=>{var m;const u=(m=s==null?void 0:s.lives)==null?void 0:m[0];if(i(),!u){e(new Error((s==null?void 0:s.info)||"高德天气暂无数据"));return}t(wy(u))},a.onerror=()=>{i(),e(new Error("高德天气接口加载失败"))};const o=new URLSearchParams({city:Rq,key:Nq,extensions:"base",output:"JSON",callback:n});a.src=`https://restapi.amap.com/v3/weather/weatherInfo?${o}`,document.head.appendChild(a)})}function Bq(){return P3(this,null,function*(){const t=["/api/home/realTimeWeather","/api/home/weatherForecast"];let e=null;for(const n of t)try{const a=yield Iq(n);if(a)return a}catch(a){e=a}try{const n=yield Fq();if(n)return n}catch(n){e=n}throw e||new Error("天气数据暂不可用")})}const Dq={key:0,class:"platform-module-pane"},Gq={key:1,class:"platform-module-pane"},Uq={key:2,class:"platform-module-pane"},Oq={key:3,class:"platform-module-pane"},jq={key:4,class:"platform-module-pane"},zq={key:5,class:"platform-module-pane"},Yq={key:6,class:"platform-module-pane"},$q={key:7,class:"platform-module-pane"},Wq={class:"large-screen-wrap"},Vq={class:"m-header-tools"},Hq=["src","alt"],Kq={key:1,class:"platform-weather__fallback-icon","aria-hidden":"true"},qq={class:"platform-weather__copy"},Jq={class:"platform-weather__primary"},Qq={key:0},Xq={key:0},Zq={key:0},eJ={key:1,"aria-hidden":"true"},tJ={key:2},nJ={class:"platform-datetime","aria-label":"当前日期和时间"},aJ={class:"top-menu"},iJ={key:0,class:"top-menu-mid-space"},rJ={key:1,class:"platform-map-tools","aria-label":"地图工具"},oJ=["title","aria-label"],sJ={key:2,class:"module-coming"},lJ={class:"module-coming-title"},uJ={key:3,class:"bottom-tray"},cJ={class:"bottom-menu"},dJ=["onClick"],fJ={key:8,class:"loading platform-loading"},hJ={class:"loading-progress"},mJ={class:"value"},pJ=1200,wJ={__name:"index",setup(t){const e=RC(),n=LC(),a=E3(e.query.module),i=Q2(a),r=Q2(a==="ecological-protection"?A1(e.query.view):"ecological-redline"),o=Q2(a==="yak-management"?g3(e.query.view):"structure"),s=Q2({home:!0,[a]:!0}),u=Q2({}),m=Q2(!0),h=Q2(0),p=Q2(null),g=Q2(null),C=Q2(null),I=Q2(null),U=Q2(null),j=Q2(null),l2=Q2(null),v2=Q2(!1),S2=Q2(""),T2=Q2(""),C2=Q2({condition:"",temperature:"--",humidity:"--",windDirection:"",windLevel:"",icon:null}),j2=Q2(!1),K2=Q2(!1);let V2=null,s3=null,m3=null,p3=!1,U3=null,b3=null;const Y3=Date.now(),o3={progress:0},n1=["town","area","wetland","yield","rate","stack","leaf","risk","grass-basic","grass-general","forest","park","project","length","device","certificate"],b1=new Set(n1),W3=s2(()=>kq(i.value)),R1=s2(()=>`/images/weather/W${C2.value.icon}.png`),D1=s2(()=>j2.value&&C2.value.icon!==null&&!K2.value),Y1=s2(()=>!["","--",null,void 0].includes(C2.value.humidity)),h3=s2(()=>{const S3=String(C2.value.windDirection||"").trim(),y3=String(C2.value.windLevel||"").trim();return!S3&&!y3?"":`${S3}${S3&&y3?" ":""}${y3?`${y3}级`:""}`}),x3=s2(()=>v2.value?"退出":"全屏"),L3=s2(()=>!["smart-management","grass-livestock-balance"].includes(W3.value.key)),h1=s2(()=>o1.value.length===5&&(W3.value.key==="home"||W3.value.key==="ecological-protection"&&_1.value==="national-park")),C1=s2(()=>i.value==="ecological-protection"?Ds:t7),_1=s2(()=>i.value==="ecological-protection"?r.value:i.value),o1=s2(()=>{const S3=u.value[i.value];return Array.isArray(S3)||S3!=null&&S3.length?S3:H2([{zh:"草地面积",en:"",value:756.37,unit:"万亩",decimals:2},{zh:"林地总面积",en:"",value:177.92,unit:"万亩",decimals:2},{zh:"湿地面积",en:"",value:291.82,unit:"万亩",decimals:2}])});mn(()=>{l3(),$2(),s3=window.setInterval(l3,1e3),m3=window.setInterval($2,30*60*1e3),V2=gr.init({dh:1080,dw:1920,el:"#large-screen",resize:!0,cssMode:"zoom"}),F1(),S1(),D3()}),hn(()=>{var S3;s3&&window.clearInterval(s3),m3&&window.clearInterval(m3),(S3=V2==null?void 0:V2.off)==null||S3.call(V2,"#large-screen"),s0(),U3&&window.clearTimeout(U3),b3&&window.cancelAnimationFrame(b3),Yt.killTweensOf(o3)});function l3(){const S3=new Date,y3=G3=>String(G3).padStart(2,"0"),D2=["周日","周一","周二","周三","周四","周五","周六"];S2.value=`${S3.getFullYear()}.${y3(S3.getMonth()+1)}.${y3(S3.getDate())} ${D2[S3.getDay()]}`,T2.value=`${y3(S3.getHours())}:${y3(S3.getMinutes())}:${y3(S3.getSeconds())}`}function $2(){return P3(this,null,function*(){try{C2.value=yield Bq(),j2.value=!0,K2.value=!1}catch(S3){j2.value=!1,console.warn("[platform] weather unavailable",S3)}})}function j3(){K2.value=!0}function c1(S3,y3={}){const D2=E3(S3);if(D2==="yak-management"&&!y3.fromRoute&&(o.value="structure"),D2===i.value){P(D2);return}const G3=!!s.value[D2];i.value=D2,G3||B1(D2),P(D2),O0(D3)}function M1(S3){if(S3!=null&&S3.key){if(i.value==="ecological-protection"){$1(S3.key);return}c1(S3.key)}}function $1(S3){const y3=Ds.some(D2=>D2.key===S3)?S3:"ecological-redline";y3===r.value&&i.value==="ecological-protection"||(r.value=y3,i.value==="ecological-protection"&&P("ecological-protection"),O0(D3))}function W1(S3){const y3=g3(S3);y3!==o.value&&(o.value=y3,i.value==="yak-management"&&P("yak-management"))}N0(()=>[e.query.module,e.query.view],([S3,y3])=>{const D2=E3(S3);D2==="ecological-protection"&&(r.value=A1(y3)),D2==="yak-management"&&(o.value=g3(y3)),D2!==i.value&&c1(D2,{fromRoute:!0})});function P(S3=i.value){const y3=Z2(B2({},e.query),{module:S3});S3==="yak-management"?y3.view=o.value:S3==="ecological-protection"?y3.view=r.value:delete y3.view;const D2=e.query||{},G3=String(D2.module||"")===String(y3.module||"")&&String(D2.view||"")===String(y3.view||"");e.path==="/platform"&&G3||n.replace({path:"/platform",query:y3}).catch(()=>{})}function E3(S3){const y3=Array.isArray(S3)?S3[0]:S3;return t7.some(D2=>D2.key===y3)?y3:"home"}function g3(S3){const y3=Array.isArray(S3)?S3[0]:S3;return["structure","forecast","epidemic","trade"].includes(y3)?y3:"structure"}function A1(S3){const y3=Array.isArray(S3)?S3[0]:S3;return Ds.some(D2=>D2.key===y3)?y3:"ecological-redline"}function q3(S3){const y3=S3.moduleKey||(S3.topicKey?"forest-grass-wet":i.value);u.value=Z2(B2({},u.value),{[y3]:H2(S3.items||[])})}function O3(S3={}){const y3=typeof S3=="number"?S3:S3.progress;H1(y3)}function g1(){Yt.killTweensOf(o3),o3.progress=100,h.value=100;const S3=Date.now()-Y3,y3=Math.max(180,pJ-S3);window.setTimeout(G2,y3)}function H1(S3){if(!m.value)return;const y3=Math.max(0,Math.min(100,Math.floor(Number(S3)||0)));y3{h.value=Math.floor(o3.progress)}})}function G2(){if(!m.value||p3)return;p3=!0;const S3=Yt.timeline({onComplete:()=>{m.value=!1}});S3.to(".platform-loading .loading-text span",{y:"200%",opacity:0,ease:"power4.inOut",duration:1.4,stagger:.14}),S3.to(".platform-loading .loading-progress",{opacity:0,ease:"power4.inOut",duration:1.2},"<"),S3.to(".platform-loading",{opacity:0,ease:"power4.inOut",duration:.8},"-=0.55")}function H2(S3=[]){const y3=new Set;return S3.slice(0,10).map((D2,G3)=>{var n3;const i3=Number(D2.value)||0,L1={zh:D2.zh||D2.name||`指标${G3+1}`,en:D2.en||"",value:i3,unit:D2.unit||"",decimals:(n3=D2.decimals)!=null?n3:Number.isInteger(i3)?0:2},_2=e3(B2(B2({},D2),L1),G3,y3);return y3.add(_2),B2({icon:_2},L1)})}function e3(S3={},y3=0,D2=new Set){const i3=T3(S3,y3).find(L1=>b1.has(L1)&&!D2.has(L1));return i3||n1.find(L1=>!D2.has(L1))||n1[y3%n1.length]}function T3(S3={},y3=0){const D2=`${S3.zh||S3.name||""}${S3.unit||""}`,G3=[],i3=(..._2)=>{_2.forEach(n3=>{n3&&!G3.includes(n3)&&G3.push(n3)})};i3(S3.icon),/风险|预警|告警/.test(D2)&&i3("risk","rate"),/模型|修正|共识|预测|变化|净/.test(D2)&&i3("rate","stack"),/率|占比|比例|超载/.test(D2)&&i3("rate","project"),/生态牧场|家庭生态/.test(D2)&&i3("leaf","town"),/出证|证书|证/.test(D2)&&i3("certificate","project"),/交易|销售/.test(D2)&&i3("yield","certificate"),/流通|出栏|流出/.test(D2)&&i3("length","certificate","project"),/运输|车辆|无人机|识别|设备|监测/.test(D2)&&i3("device","length"),/工程长度|长度|公里/.test(D2)&&i3("length","project"),/修复项目|项目|工程|治理/.test(D2)&&i3("project","length"),/国家公园|保护范围|保护区|划定/.test(D2)&&i3("park","leaf"),/产量|库容|鲜草|饲草|收入|产值|繁殖|补充/.test(D2)&&i3("yield","leaf"),/湿地/.test(D2)&&i3("wetland","leaf"),/基本草原/.test(D2)&&i3("grass-basic","area"),/一般草原/.test(D2)&&i3("grass-general","area"),/林地|森林|公益林/.test(D2)&&i3("forest","leaf"),/面积|草地|草原|草场|万亩|亩/.test(D2)&&i3("area","grass-basic","grass-general"),/牦牛|存栏|头|结构/.test(D2)&&i3("stack","yield","leaf"),/乡镇|镇域|村|点位|主体|牧户|农户|联户|户|个|覆盖/.test(D2)&&i3("town","project"),/生态|林草/.test(D2)&&i3("leaf","wetland");const L1=y3%n1.length;return i3(...n1.slice(L1),...n1.slice(0,L1)),G3}function y1(S3){["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(S3)&&(s.value[S3]||(s.value=Z2(B2({},s.value),{[S3]:!0})))}function B1(S3){G1(),U3=window.setTimeout(()=>{U3=null,b3=window.requestAnimationFrame(()=>{b3=null,U3=null,i.value===S3&&y1(S3)})},180)}function G1(){U3&&(window.clearTimeout(U3),U3=null),b3&&(window.cancelAnimationFrame(b3),b3=null)}function D3(){window.scrollTo(0,0),document.documentElement.scrollTop=0,document.body.scrollTop=0;const S3=document.querySelector("#app");S3&&(S3.scrollTop=0)}const e1=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];function s1(){return typeof document=="undefined"?null:document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null}function S1(){var D2;const S3=s1(),y3=p.value;v2.value=!!(y3&&S3&&(S3===y3||y3.contains(S3)||(D2=S3.contains)!=null&&D2.call(S3,y3)))}function F1(){typeof document!="undefined"&&e1.forEach(S3=>document.addEventListener(S3,S1))}function s0(){typeof document!="undefined"&&e1.forEach(S3=>document.removeEventListener(S3,S1))}function G0(){var S3,y3;(y3=(S3=V3())==null?void 0:S3.refreshMapView)==null||y3.call(S3)}function u3(){return P3(this,null,function*(){if(typeof document=="undefined")return;const S3=s1();try{if(S3){const y3=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen||document.msExitFullscreen;yield y3==null?void 0:y3.call(document)}else{const y3=p.value||document.documentElement,D2=y3.requestFullscreen||y3.webkitRequestFullscreen||y3.mozRequestFullScreen||y3.msRequestFullscreen;yield D2==null?void 0:D2.call(y3)}}catch(y3){console.warn("[platform] fullscreen toggle failed",y3)}finally{S1(),window.setTimeout(G0,80),window.setTimeout(G0,280)}})}function z3(){var S3,y3;(y3=(S3=V3())==null?void 0:S3.resetMap)==null||y3.call(S3)}function V3(){return W3.value.key==="home"?g.value:W3.value.key==="forest-grass-wet"?C.value:W3.value.key==="ecological-protection"?I.value:W3.value.key==="yak-management"?U.value:W3.value.key==="pasture-management"?j.value:W3.value.key==="yak-industry-chain"?l2.value:null}function x1(){IC()}return(S3,y3)=>(G(),z("div",{ref_key:"platformScreenRef",ref:p,class:r1(["large-screen platform-screen",{"is-home":W3.value.key==="home","is-forest-grass-wet":W3.value.key==="forest-grass-wet","is-ecological-protection":W3.value.key==="ecological-protection","is-grass-livestock-balance":W3.value.key==="grass-livestock-balance","is-yak-management":W3.value.key==="yak-management","is-pasture-management":W3.value.key==="pasture-management","is-yak-industry-chain":W3.value.key==="yak-industry-chain","is-smart-management":W3.value.key==="smart-management","is-ecology-national-park":W3.value.key==="ecological-protection"&&_1.value==="national-park"}]),id:"large-screen"},[s.value.home?he((G(),z("div",Dq,[l1(sI,{ref_key:"homeDashboardRef",ref:g,active:W3.value.key==="home",onLoadingProgress:O3,onMapReady:g1,onModuleStats:q3},null,8,["active"])],512)),[[I6,W3.value.key==="home"]]):k3("",!0),s.value["forest-grass-wet"]?he((G(),z("div",Gq,[l1(bF,{ref_key:"forestGrassWetRef",ref:C,active:W3.value.key==="forest-grass-wet","show-loading":!1,onTopicStats:q3},null,8,["active"])],512)),[[I6,W3.value.key==="forest-grass-wet"]]):k3("",!0),s.value["ecological-protection"]?he((G(),z("div",Uq,[l1(nz,{ref_key:"ecologicalProtectionRef",ref:I,active:W3.value.key==="ecological-protection","active-view":r.value,"show-loading":!1,onModuleStats:q3,onViewChange:$1},null,8,["active","active-view"])],512)),[[I6,W3.value.key==="ecological-protection"]]):k3("",!0),s.value["grass-livestock-balance"]?he((G(),z("div",Oq,[l1(Zz,{active:W3.value.key==="grass-livestock-balance",onLoadingProgress:O3,onMapReady:g1,onModuleStats:q3},null,8,["active"])],512)),[[I6,W3.value.key==="grass-livestock-balance"]]):k3("",!0),s.value["yak-management"]?he((G(),z("div",jq,[l1(lW,{ref_key:"yakManagementRef",ref:U,active:W3.value.key==="yak-management","view-key":o.value,onModuleStats:q3,onViewChange:W1},null,8,["active","view-key"])],512)),[[I6,W3.value.key==="yak-management"]]):k3("",!0),s.value["pasture-management"]?he((G(),z("div",zq,[l1(zW,{ref_key:"pastureManagementRef",ref:j,active:W3.value.key==="pasture-management",onLoadingProgress:O3,onMapReady:g1,onModuleStats:q3},null,8,["active"])],512)),[[I6,W3.value.key==="pasture-management"]]):k3("",!0),s.value["yak-industry-chain"]?he((G(),z("div",Yq,[l1(jH,{ref_key:"yakIndustryChainRef",ref:l2,active:W3.value.key==="yak-industry-chain",onLoadingProgress:O3,onMapReady:g1,onModuleStats:q3},null,8,["active"])],512)),[[I6,W3.value.key==="yak-industry-chain"]]):k3("",!0),s.value["smart-management"]?he((G(),z("div",$q,[l1(Pq,{active:W3.value.key==="smart-management"},null,8,["active"])],512)),[[I6,W3.value.key==="smart-management"]]):k3("",!0),w("div",Wq,[l1(YA,{title:"红原县数字畜牧业监管平台","sub-text":"Hongyuan Digital Animal Husbandry Supervision Platform"},{right:e0(()=>[w("div",Vq,[w("div",{class:r1(["platform-weather",{"is-unavailable":!j2.value}])},[D1.value?(G(),z("img",{key:0,class:"platform-weather__icon",src:R1.value,alt:C2.value.condition||"天气",onError:j3},null,40,Hq)):(G(),z("span",Kq)),w("div",qq,[w("div",Jq,[w("strong",null,i2(j2.value?C2.value.condition||"实时天气":"天气暂无数据"),1),j2.value?(G(),z("em",Qq,i2(C2.value.temperature)+"℃",1)):k3("",!0)]),Y1.value||h3.value?(G(),z("small",Xq,[Y1.value?(G(),z("span",Zq,"湿度 "+i2(C2.value.humidity)+"%",1)):k3("",!0),Y1.value&&h3.value?(G(),z("i",eJ)):k3("",!0),h3.value?(G(),z("span",tJ,i2(h3.value),1)):k3("",!0)])):k3("",!0)])],2),w("div",nJ,[w("strong",null,i2(T2.value),1),w("span",null,i2(S2.value),1)]),w("button",{class:"logout-button","aria-label":"退出登录",title:"退出登录",type:"button",onClick:x1},[...y3[0]||(y3[0]=[w("svg",{class:"logout-icon",viewBox:"0 0 24 24","aria-hidden":"true"},[w("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),w("path",{d:"M16 17l5-5-5-5"}),w("path",{d:"M21 12H9"})],-1)])])])]),_:1}),w("div",aJ,[l1(WA,{"default-active":i.value,onSelect:c1},{default:e0(()=>[(G(!0),z(B3,null,H3(k1(t7),(D2,G3)=>(G(),z(B3,{key:D2.key},[l1(VA,{index:D2.key},{default:e0(()=>[z0(i2(D2.label),1)]),_:2},1032,["index"]),G3===3?(G(),z("div",iJ)):k3("",!0)],64))),128))]),_:1},8,["default-active"])]),o1.value.length&&!["smart-management","grass-livestock-balance"].includes(W3.value.key)?(G(),z("div",{key:0,class:r1(["top-count-card",{"is-four":o1.value.length>3&&o1.value.length<=4,"is-multi":o1.value.length>4,"is-count-five":o1.value.length===5,"is-home-five":h1.value}])},[(G(!0),z(B3,null,H3(o1.value,D2=>(G(),J0(n_,{key:D2.zh,info:D2},null,8,["info"]))),128))],2)):k3("",!0),L3.value?(G(),z("div",rJ,[w("button",{type:"button",title:x3.value,"aria-label":x3.value,onClick:u3},[...y3[1]||(y3[1]=[w("span",{class:"platform-map-tool-icon is-fullscreen","aria-hidden":"true"},null,-1)])],8,oJ),w("button",{type:"button",title:"复位地图","aria-label":"复位地图",onClick:z3},[...y3[2]||(y3[2]=[w("span",{class:"platform-map-tool-icon is-reset","aria-hidden":"true"},null,-1)])])])):k3("",!0),W3.value.status!=="ready"?(G(),z("div",sJ,[w("div",lJ,i2(W3.value.label),1),y3[3]||(y3[3]=w("div",{class:"module-coming-text"},"模块建设中,平台框架已预留入口",-1))])):k3("",!0),["home","forest-grass-wet","ecological-protection","grass-livestock-balance","yak-management","pasture-management","yak-industry-chain","smart-management"].includes(W3.value.key)?k3("",!0):(G(),z("div",uJ,[l1(Di,{class:"bottom-svg-line-left",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),l1(Di,{class:"bottom-svg-line-left bottom-svg-line-right",width:721,height:57,color:"#30DCFF",strokeWidth:2,dir:[0,1],length:50,path:"M1 56.6105C1 31.5123 185.586 10.0503 451.904 1.35519C458.942 1.12543 465.781 4.00883 470.505 9.22964L484.991 25.2383C487.971 28.4775 492.938 30.4201 498.254 30.4201H720.142"}),y3[4]||(y3[4]=w("div",{class:"bottom-tray-arrow"},[w("img",{src:Fi,alt:""}),w("img",{src:Bi,alt:""})],-1)),w("div",cJ,[(G(!0),z(B3,null,H3(C1.value,D2=>(G(),z("div",{key:D2.key,class:r1(["bottom-menu-item",{"is-active":D2.key===_1.value}]),onClick:G3=>M1(D2)},[w("span",null,i2(D2.bottomLabel),1)],10,dJ))),128))]),y3[5]||(y3[5]=w("div",{class:"bottom-tray-arrow is-reverse"},[w("img",{src:Fi,alt:""}),w("img",{src:Bi,alt:""})],-1))])),y3[6]||(y3[6]=w("div",{class:"large-screen-left-zsline"},null,-1)),y3[7]||(y3[7]=w("div",{class:"large-screen-right-zsline"},null,-1))]),m.value?(G(),z("div",fJ,[y3[9]||(y3[9]=n7('
    LOADING
    ',1)),w("div",hJ,[w("span",mJ,i2(h.value),1),y3[8]||(y3[8]=w("span",{class:"unit"},"%",-1))])])):k3("",!0)],2))}};export{wJ as default}; diff --git a/docs/assets/index-f35293d5-balabala-1783957353180.css b/docs/assets/index-f35293d5-balabala-1783957353180.css new file mode 100644 index 0000000..41bfbf1 --- /dev/null +++ b/docs/assets/index-f35293d5-balabala-1783957353180.css @@ -0,0 +1 @@ +@charset "UTF-8";.path-line{mix-blend-mode:screen}.m-header{position:relative;left:0;top:0;right:0;width:100%;height:90px;z-index:2}.m-header-wrap{position:absolute;left:50%;transform:translate(-50%);width:1920px;height:90px;margin:0 auto;background:url(./header-bg-65b38012-balabala-1783957353180.png);background-size:100%;text-align:center;box-sizing:border-box;padding-top:10px}.m-header-title{color:#fff;font-size:44px;font-weight:700;letter-spacing:1px;font-family:Alimama ShuHeiTi,阿里妈妈数黑体 Bold,sans-serif;font-synthesis:none;background:-webkit-linear-gradient(rgb(117,232,255),rgb(255,255,255));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.m-header-subtext{opacity:.64;font-size:12px;letter-spacing:3px;font-weight:300;font-family:D-DIN;line-height:14.4px;color:#c4f3fe}.m-header-left{color:#fff;position:absolute;top:47px;left:32px}.m-header-right{color:#fff;position:absolute;top:47px;right:32px}.m-header-line-left{position:absolute;right:50%;top:11px;width:961px;height:79px;margin-right:14px}.m-header-line-right{position:absolute;left:50%;top:11px;width:961px;height:79px;margin-left:-14px;transform:scaleX(-1)}.m-header-line-left-top{position:absolute;right:50%;top:-6px;width:329px;height:30px;margin-right:295px}.m-header-line-right-top{position:absolute;left:50%;top:-6px;width:329px;height:30px;margin-left:293px;transform:scaleX(-1)}.m-menu{display:flex}.m-menu-item{position:relative;z-index:1;display:flex;align-items:center;pointer-events:all;justify-content:center;min-width:112px;width:auto;height:32px;box-sizing:border-box;padding:0 20px;background-image:url(./menu-btn-91a961cf-balabala-1783957353180.png);background-size:100% 100%;color:#fff9;font-size:15px;margin:0 6px;white-space:nowrap;line-height:32px;cursor:pointer}.m-menu-item:hover,.m-menu-item.is-active{color:#fff;background-image:url(./menu-btn-hover-62eba0bb-balabala-1783957353180.png);background-size:100% 100%}.m-menu-item.is-active:after{display:block;width:100%;height:32px;background-size:100%;content:"";position:absolute;left:50%;top:50%;margin-left:-50%;margin-top:-16px;z-index:-1;opacity:1;background:rgba(0,170,255,.55);border-radius:32px;transform:scale(1.1,1.2);animation:menuActiveScale 1s infinite}@keyframes menuActiveScale{0%{transform:scale(1)}50%{transform:scale(1.1,1.2)}to{transform:scale(1.1,1.2);opacity:0}}@keyframes countCardLoadIn{0%{opacity:0;transform:translateY(12px) scale(.96);filter:blur(1px) brightness(.82)}58%{opacity:1;transform:translateY(-2px) scale(1.02);filter:blur(0) brightness(1.26)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0) brightness(1)}}@keyframes countCardValueJump{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.045)}68%{transform:translateY(1px) scale(.99)}}@keyframes countCardValueSettle{0%{transform:translateY(0) scale(1);filter:brightness(1);text-shadow:0 0 18px rgba(255,255,255,.7)}36%{transform:translateY(-5px) scale(1.08);filter:brightness(1.4);text-shadow:0 0 14px rgba(255,255,255,.88),0 0 26px rgba(48,220,255,.52)}to{transform:translateY(0) scale(1);filter:brightness(1);text-shadow:0 0 18px rgba(255,255,255,.7)}}@keyframes countCardValueSweep{0%{transform:translate(-130%);opacity:0}16%{opacity:.68}54%{opacity:.8}to{transform:translate(130%);opacity:0}}.count-card{position:relative;display:flex;align-items:center;overflow:visible}.count-card:before{content:"";position:absolute;left:-8px;right:-8px;top:-5px;bottom:-5px;pointer-events:none;background:linear-gradient(100deg,transparent 8%,rgba(48,220,255,.2) 45%,transparent 72%);opacity:0;transform:translate(-120%)}.count-card.is-counting:before{animation:countCardValueSweep 1.45s ease-in-out infinite}.count-card-left{display:flex;align-items:center;animation:countCardLoadIn .78s cubic-bezier(.2,.78,.22,1) both;animation-delay:.04s}.count-card-right{display:flex;align-items:center;padding-left:20px;animation:countCardLoadIn .82s cubic-bezier(.2,.78,.22,1) both;animation-delay:.12s}.count-card-right .value{position:relative;display:inline-flex;align-items:baseline;transform-origin:center bottom;font-family:D-DIN;font-weight:700;font-size:var(--screen-kpi-value-size, 31px);line-height:34px;color:#fff;letter-spacing:0;margin-right:6px;text-shadow:0px 0px 18px rgba(255,255,255,.7);white-space:nowrap}.count-card-right .value:after{content:"";position:absolute;left:-4px;right:-4px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(48,220,255,.72),transparent);opacity:0;transform:scaleX(.2);transform-origin:left center}.count-card-right .unit{font-weight:500;font-size:var(--screen-kpi-unit-size, 11px);color:#fff;padding-top:12px;opacity:.72;white-space:nowrap}.count-card-icon{position:relative;width:42px;height:42px;margin-right:10px;flex:0 0 42px;background-repeat:no-repeat;background-position:center center;background-size:contain;filter:none}.count-card-icon:before,.count-card-icon:after{content:none}.count-card-icon.icon-xiaoshoujine{background-image:url(./icon1-6f7c222f-balabala-1783957353180.png)}.count-card-icon.icon-zongxiaoliang{background-image:url(./icon2-4f77ccec-balabala-1783957353180.png)}.count-card-icon.icon-stack{background-image:url(./stack-7a426057-balabala-1783957353180.png)}.count-card-icon.icon-area{background-image:url(./area-b57940eb-balabala-1783957353180.png)}.count-card-icon.icon-grass-basic{background-image:url(./area-b57940eb-balabala-1783957353180.png)}.count-card-icon.icon-grass-general{background-image:url(./area-b57940eb-balabala-1783957353180.png)}.count-card-icon.icon-wetland{background-image:url(./leaf-7be9efef-balabala-1783957353180.png)}.count-card-icon.icon-forest{background-image:url(./park-ee0533e0-balabala-1783957353180.png)}.count-card-icon.icon-town{background-image:url(./town-f8c0c9cc-balabala-1783957353180.png)}.count-card-icon.icon-park{background-image:url(./park-ee0533e0-balabala-1783957353180.png)}.count-card-icon.icon-yield{background-image:url(./yield-66e9af79-balabala-1783957353180.png)}.count-card-icon.icon-project{background-image:url(./yield-66e9af79-balabala-1783957353180.png)}.count-card-icon.icon-length{background-image:url(./park-ee0533e0-balabala-1783957353180.png)}.count-card-icon.icon-device{background-image:url(./yield-66e9af79-balabala-1783957353180.png)}.count-card-icon.icon-certificate{background-image:url(./yield-66e9af79-balabala-1783957353180.png)}.count-card-icon.icon-rate{background-image:url(./park-ee0533e0-balabala-1783957353180.png)}.count-card-icon.icon-leaf{background-image:url(./leaf-7be9efef-balabala-1783957353180.png)}.count-card-icon.icon-risk{background-image:url(./leaf-7be9efef-balabala-1783957353180.png)}.count-card-title .title-zh{font-weight:700;font-size:var(--screen-kpi-label-size, 14px);color:#fff;line-height:18px;white-space:nowrap}.count-card-title .title-en{font-family:D-DIN;font-weight:400;font-size:12px;color:#fff;opacity:.5;padding-top:5px;white-space:nowrap}.count-card.is-counting .count-card-icon{filter:none}.count-card.is-counting .count-card-right .value{animation:countCardValueJump .58s ease-in-out infinite}.count-card.is-counting .count-card-right .value:after{opacity:.58;transform:scaleX(1);transition:transform 1.2s ease,opacity .2s ease}.count-card.is-settled .count-card-right .value{animation:countCardValueSettle .72s cubic-bezier(.16,.86,.24,1) both}.cesium-map[data-v-c3a3aaa8]{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#020b12}.cesium-map__viewer[data-v-c3a3aaa8],.cesium-map__viewer[data-v-c3a3aaa8] .cesium-viewer,.cesium-map__viewer[data-v-c3a3aaa8] .cesium-viewer-cesiumWidgetContainer,.cesium-map__viewer[data-v-c3a3aaa8] .cesium-widget,.cesium-map__viewer[data-v-c3a3aaa8] canvas{width:100%;height:100%}.cesium-map__viewer[data-v-c3a3aaa8] canvas{display:block;outline:none}.cesium-map__viewer[data-v-c3a3aaa8] .cesium-viewer-bottom,.cesium-map__viewer[data-v-c3a3aaa8] .cesium-widget-credits{display:none!important}.business-stat-list{height:100%;padding:14px 16px;box-sizing:border-box;overflow-y:auto}.business-stat-list::-webkit-scrollbar{width:3px}.business-stat-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-stat-list.is-compact{padding:6px 14px}.business-stat-list.is-compact .business-stat-row{height:30px;gap:8px;grid-template-columns:22px minmax(0,1fr) 104px}.business-stat-list.is-compact .business-stat-rank{width:19px;height:19px;font-size:11px;line-height:17px}.business-stat-list.is-compact .business-stat-name{font-size:12px}.business-stat-list.is-compact .business-stat-bar{height:4px;margin-top:5px}.business-stat-list.is-compact .business-stat-value strong{font-size:15px}.business-stat-list.is-compact .business-stat-value em,.business-stat-list.is-compact .business-stat-value span{font-size:10px}.business-stat-list.is-compact.is-dense{padding:4px 12px 6px}.business-stat-list.is-compact.is-dense .business-stat-row{height:20px;gap:6px;grid-template-columns:19px minmax(0,1fr) 92px}.business-stat-list.is-compact.is-dense .business-stat-rank{width:16px;height:16px;font-size:10px;line-height:14px}.business-stat-list.is-compact.is-dense .business-stat-name{font-size:11px;line-height:13px}.business-stat-list.is-compact.is-dense .business-stat-bar{height:3px;margin-top:2px}.business-stat-list.is-compact.is-dense .business-stat-value strong{font-size:13px;line-height:15px}.business-stat-list.is-compact.is-dense .business-stat-value em{font-size:10px}.business-stat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#e0faffd1;font-size:14px}.business-stat-row{display:grid;grid-template-columns:28px minmax(0,1fr) 96px;align-items:center;gap:10px;height:38px;border-bottom:1px solid rgba(48,220,255,.18)}.business-stat-rank{width:22px;height:22px;border:1px solid rgba(48,220,255,.58);background:rgba(48,220,255,.18);color:#7ff7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;line-height:20px;text-align:center;box-shadow:0 0 4px #30dcff2e}.business-stat-main{min-width:0}.business-stat-name{color:#ecfcfff0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-stat-bar{height:5px;margin-top:7px;background:rgba(48,220,255,.14);overflow:hidden;box-shadow:inset 0 0 0 1px #30dcff0f}.business-stat-bar span{display:block;height:100%;background:linear-gradient(90deg,#14f1b2,#30dcff);box-shadow:0 0 6px #30dcff5c}.business-stat-value{min-width:0;text-align:right}.business-stat-value strong{color:#38f8ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;font-weight:700;text-shadow:0 0 4px rgba(48,220,255,.32)}.business-stat-value em{margin-left:3px;color:#eefdffb8;font-size:11px;font-style:normal}.business-stat-value span{display:block;margin-top:2px;color:#eefdffad;font-size:10px;line-height:12px;white-space:normal}.business-stat-list,.business-stat-list span,.business-stat-list strong,.business-stat-list em,.business-stat-name,.business-stat-rank,.business-stat-empty{color:#fff!important;text-shadow:none!important}.business-panel{width:100%;min-width:0;height:100%;box-sizing:border-box;overflow:hidden}.business-chart-tooltip{position:fixed;z-index:9999;min-width:148px;max-width:220px;padding:8px 10px;pointer-events:none;color:#e5fcffe6;border:1px solid rgba(48,220,255,.44);background:linear-gradient(135deg,rgba(6,33,49,.96),rgba(2,18,30,.92)),radial-gradient(circle at 12% 0%,rgba(36,246,196,.22),transparent 54%);box-shadow:inset 0 0 12px #30dcff14,0 0 10px #30dcff24;backdrop-filter:blur(3px)}.business-chart-tooltip strong{display:block;max-width:100%;color:#fff;font-size:13px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-chart-tooltip span{display:block;margin-top:4px;color:#dcf8ffc7;font-size:12px;line-height:15px;white-space:nowrap}.business-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff85;font-size:14px}@keyframes businessDataPulse{0%,to{filter:brightness(1);box-shadow:0 0 5px #24f6c414}50%{filter:brightness(1.12);box-shadow:0 0 9px #24f6c429}}@keyframes businessDataSweep{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes businessColumnReload{0%,8%{opacity:.46;transform:scaleY(.22);filter:saturate(.82) brightness(.72);box-shadow:0 0 4px #30dcff14}20%{opacity:.82;transform:scaleY(.72);filter:saturate(1.08) brightness(1.02);box-shadow:0 0 7px #30dcff29}34%{opacity:1;transform:scaleY(1);filter:saturate(1.12) brightness(1.06);box-shadow:0 0 9px #30dcff38}54%{opacity:1;transform:scaleY(1);filter:saturate(1.02) brightness(1.02);box-shadow:0 0 7px #30dcff29}to{opacity:.74;transform:scaleY(.9);filter:saturate(.96) brightness(.92);box-shadow:0 0 5px #30dcff1a}}@keyframes businessColumnReloadCap{0%,16%{opacity:0;transform:skew(-36deg) translateY(9px)}30%{opacity:.9;transform:skew(-36deg) translateY(0)}48%,to{opacity:0;transform:skew(-36deg) translateY(-9px)}}@keyframes businessLineFlow{to{stroke-dashoffset:-28}}@keyframes businessDotPulse{0%,to{r:3;opacity:.82}50%{r:4.8;opacity:1}}@keyframes businessActiveDotPulse{0%,to{r:5.2}50%{r:7}}.business-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%;padding:8px 14px 9px;box-sizing:border-box}.business-metric-item{min-width:0;padding:8px 10px;background:linear-gradient(135deg,rgba(22,90,108,.62),rgba(5,26,40,.68));border:1px solid rgba(48,220,255,.18)}.business-metric-item span{display:block;color:#ffffff9e;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-metric-item strong{display:inline-block;margin-top:5px;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:22px;line-height:24px}.business-metric-item em{margin-left:4px;color:#ffffff94;font-size:11px;font-style:normal}.business-icon-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px 10px;height:100%;padding:8px 14px 9px;box-sizing:border-box;overflow:hidden}.business-icon-metric-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:0;padding:7px 8px;box-sizing:border-box;overflow:hidden;border:1px solid rgba(48,220,255,.16);background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02)),linear-gradient(180deg,rgba(8,41,56,.72),rgba(4,20,32,.66))}.business-icon-metric-item:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:#24f6c4;box-shadow:0 0 10px #24f6c4b3}.business-icon-metric-item.is-tone-1:before{background:#32dcff;box-shadow:0 0 10px #32dcffb3}.business-icon-metric-item.is-tone-2:before{background:rgba(48,220,255,.86);box-shadow:0 0 8px #30dcff3d}.business-icon-metric-item.is-tone-3:before{background:rgba(25,255,198,.74);box-shadow:0 0 8px #19ffc633}.business-icon-metric-mark{position:relative;display:block;width:42px;height:42px;border:1px solid rgba(48,220,255,.4);border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(36,246,196,.25),rgba(36,246,196,.04) 64%),linear-gradient(135deg,rgba(48,220,255,.22),rgba(4,24,36,.28));box-shadow:inset 0 0 16px #30dcff29,0 0 12px #30dcff24;overflow:hidden}.business-icon-metric-mark:before,.business-icon-metric-mark:after,.business-icon-metric-mark span,.business-icon-metric-mark span:before,.business-icon-metric-mark span:after{content:"";position:absolute;box-sizing:border-box}.business-icon-metric-mark.is-yield span{left:12px;right:12px;bottom:9px;height:22px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#7dfdff,#20d8ff 54%,rgba(36,246,196,.42));box-shadow:0 0 10px #20d8ff94}.business-icon-metric-mark.is-yield:before,.business-icon-metric-mark.is-yield:after{bottom:9px;width:6px;height:16px;border-radius:6px 6px 3px 3px;background:rgba(126,226,105,.72)}.business-icon-metric-mark.is-yield:before{left:7px}.business-icon-metric-mark.is-yield:after{right:7px}.business-icon-metric-mark.is-leaf span{left:10px;top:10px;width:22px;height:22px;border-radius:22px 4px;background:linear-gradient(135deg,rgba(139,247,255,.92),rgba(48,220,255,.72));transform:rotate(-24deg);box-shadow:0 0 12px #24f6c485}.business-icon-metric-mark.is-leaf span:after{left:10px;top:3px;width:2px;height:18px;border-radius:2px;background:rgba(3,45,43,.5);transform:rotate(44deg)}.business-icon-metric-mark.is-rate:before{left:9px;top:10px;width:24px;height:24px;border:4px solid rgba(50,220,255,.32);border-top-color:#ffffffe0;border-right-color:#24f6c4;border-radius:50%;transform:rotate(38deg)}.business-icon-metric-mark.is-rate span{left:20px;top:20px;width:12px;height:3px;border-radius:3px;background:#ffffff;transform:rotate(-30deg);transform-origin:left center;box-shadow:0 0 8px #fff9}.business-icon-metric-mark.is-risk:before{left:10px;top:9px;width:22px;height:22px;border-left:3px solid rgba(48,220,255,.84);border-bottom:3px solid rgba(48,220,255,.84);transform:rotate(-45deg);box-shadow:-4px 4px 8px #30dcff2e}.business-icon-metric-mark.is-risk span{left:20px;top:13px;width:3px;height:16px;border-radius:3px;background:rgba(255,255,255,.9);box-shadow:0 0 6px #30dcff38}.business-icon-metric-mark.is-town span,.business-icon-metric-mark.is-town span:before,.business-icon-metric-mark.is-town span:after,.business-icon-metric-mark.is-town:before{width:9px;height:9px;border-radius:2px;background:#32dcff;box-shadow:0 0 9px #32dcff80}.business-icon-metric-mark.is-town span{left:10px;top:10px}.business-icon-metric-mark.is-town span:before{left:13px;top:0}.business-icon-metric-mark.is-town span:after{left:0;top:13px}.business-icon-metric-mark.is-town:before{left:23px;top:23px;border:2px solid #24f6c4;background:transparent}.business-icon-metric-mark.is-area:before{left:8px;top:13px;width:26px;height:16px;border:2px solid #24f6c4;transform:skew(-18deg);background:linear-gradient(135deg,rgba(36,246,196,.34),rgba(50,220,255,.06))}.business-icon-metric-mark.is-area span{left:13px;top:19px;width:16px;height:2px;background:#32dcff;box-shadow:0 5px #32dcffb3}.business-icon-metric-mark.is-stack span,.business-icon-metric-mark.is-stack span:before,.business-icon-metric-mark.is-stack span:after{left:10px;width:22px;height:5px;border-radius:5px;background:linear-gradient(90deg,#32dcff,#24f6c4);box-shadow:0 0 9px #24f6c457}.business-icon-metric-mark.is-stack span{top:12px}.business-icon-metric-mark.is-stack span:before{top:8px}.business-icon-metric-mark.is-stack span:after{top:16px;background:linear-gradient(90deg,rgba(139,247,255,.9),rgba(48,220,255,.7))}.business-icon-metric-copy{min-width:0}.business-icon-metric-copy span{display:block;min-width:0;color:#dcf8ffc2;font-size:12px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-icon-metric-copy strong{display:block;margin-top:3px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;line-height:22px;font-weight:800;text-shadow:0 0 14px rgba(48,220,255,.42);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-icon-metric-copy strong em{margin-left:3px;color:#ffffff94;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-spotlight{display:grid;grid-template-columns:142px minmax(0,1fr);gap:12px;height:100%;padding:10px 14px;box-sizing:border-box;overflow:hidden}.business-spotlight-main{position:relative;min-width:0;padding:13px 10px 10px;border:1px solid rgba(48,220,255,.22);background:radial-gradient(circle at 50% 38%,rgba(36,246,196,.26),rgba(36,246,196,.03) 62%),linear-gradient(180deg,rgba(48,220,255,.12),rgba(4,22,34,.36));text-align:center}.business-spotlight-main:before,.business-spotlight-main:after{content:"";position:absolute;left:18px;right:18px;height:1px;background:linear-gradient(90deg,rgba(48,220,255,0),rgba(48,220,255,.8),rgba(48,220,255,0))}.business-spotlight-main:before{top:8px}.business-spotlight-main:after{bottom:8px}.business-spotlight-main span,.business-spotlight-main small{display:block;overflow:hidden;color:#d2f5ffb8;font-size:12px;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.business-spotlight-main strong{display:block;margin:10px 0 6px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:30px;line-height:32px;font-weight:800;text-shadow:0 0 18px rgba(48,220,255,.48);white-space:nowrap}.business-spotlight-main strong em{margin-left:4px;color:#ffffffa3;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:11px;font-style:normal;font-weight:500}.business-spotlight-main small{color:#c9fbffd1}.business-spotlight-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.business-spotlight-chip{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr);grid-template-areas:"dot name" "dot value" "dot note";align-content:center;gap:1px 8px;min-width:0;padding:8px 10px;border:1px solid rgba(48,220,255,.12);background:linear-gradient(90deg,rgba(48,220,255,.09),rgba(48,220,255,.02));box-sizing:border-box}.business-spotlight-chip i{grid-area:dot;align-self:center;width:8px;height:28px;border-left:3px solid #24f6c4}.business-spotlight-chip span,.business-spotlight-chip small{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.business-spotlight-chip span{grid-area:name;color:#ffffffb3;font-size:11px;line-height:14px}.business-spotlight-chip strong{grid-area:value;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:20px;white-space:nowrap}.business-spotlight-chip strong em{margin-left:3px;color:#ffffff8f;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-spotlight-chip small{grid-area:note;color:#c9fbffb8;font-size:10px;line-height:12px}.business-donut{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:stretch;gap:8px;height:100%;padding:7px 13px 8px 14px;box-sizing:border-box}.business-donut.is-dense{grid-template-columns:126px minmax(0,1fr);padding:6px 12px 7px}.business-donut.is-dense .business-donut-visual{width:126px;height:120px}.business-donut.is-dense .business-donut-legend{justify-content:flex-start;gap:3px}.business-donut.is-dense .business-donut-row{min-height:20px;grid-template-columns:12px minmax(0,1fr) 52px 28px;gap:5px}.business-donut.is-dense .business-donut-row span{font-size:11px;line-height:13px}.business-donut.is-dense .business-donut-row strong{font-size:13px;line-height:15px}.business-donut.is-dense .business-donut-row em{font-size:10px}.business-donut.is-variant-ring{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:11px;padding:8px 13px 8px 15px}.business-donut.is-variant-ring .business-donut-legend{justify-content:stretch;gap:6px}.business-donut.is-variant-ring .business-donut-row{flex:1 1 0;grid-template-columns:12px minmax(0,1fr) max-content max-content;gap:5px;min-height:22px;padding:0 1px}.business-donut.is-variant-ring .business-donut-row i{width:8px;height:8px;border-width:2px;background:rgba(5,28,42,.86)}.business-donut.is-variant-ring .business-donut-row strong{font-size:16px;line-height:18px}.business-donut.is-variant-ring.is-dense{grid-template-columns:148px minmax(0,1fr);gap:10px;padding:5px 12px 6px 14px}.business-donut.is-variant-ring.is-dense .business-ring-visual{width:148px;height:148px}.business-donut.is-variant-ring.is-dense .business-ring-chart{width:144px;height:144px}.business-donut.is-variant-ring.is-dense .business-ring-inner{top:37px;right:32px;bottom:35px;left:32px}.business-donut.is-variant-ring.is-dense .business-ring-inner strong{font-size:22px;line-height:24px}.business-donut.is-variant-ring.is-dense .business-ring-inner span{max-width:74px;font-size:11px;line-height:13px}.business-donut.is-variant-ring.is-dense .business-donut-legend{align-self:center;justify-content:center;height:auto;max-height:100%;gap:5px}.business-donut.is-variant-ring.is-dense .business-donut-row{flex:1 1 0;grid-template-columns:10px minmax(0,1fr) max-content max-content;gap:5px;min-height:21px;padding:2px}.business-donut.is-variant-ring.is-dense .business-donut-row i{width:8px;height:8px;border-width:1px}.business-donut.is-variant-ring.is-dense .business-donut-row span{font-size:12px;line-height:15px}.business-donut.is-variant-ring.is-dense .business-donut-row strong{font-size:15px;line-height:17px}.business-donut.is-variant-ring.is-dense .business-donut-row em{font-size:10px}.business-donut-visual{position:relative;align-self:center;width:136px;height:136px;min-width:0}.business-rose{display:grid;grid-template-columns:158px minmax(0,1fr);align-items:center;gap:4px;height:100%;padding:4px 12px 7px 8px;box-sizing:border-box}.business-rose-visual{position:relative;width:158px;height:136px;min-width:0}.business-rose-visual svg{width:100%;height:100%;overflow:visible}.business-rose-segment{opacity:.92;stroke-width:1.5;stroke-opacity:.5;transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,filter .3s ease,transform .3s ease;filter:drop-shadow(0 2px 2px rgba(0,10,18,.34)) drop-shadow(0 0 5px rgba(48,220,255,.18))}.business-rose-segment.is-active{opacity:1;transform:scale(1.035);filter:drop-shadow(0 3px 5px rgba(0,10,18,.42)) drop-shadow(0 0 10px rgba(36,246,196,.42))}.business-rose-guides line{stroke-width:1;stroke-opacity:.5}.business-rose-labels text{fill:#e2fcffad;font-size:10px;font-weight:600;dominant-baseline:middle}.business-rose-glow{fill:#24f6c41a;stroke:#30dcff3d;stroke-width:1;filter:drop-shadow(0 0 8px rgba(36,246,196,.26))}.business-rose-hole{fill:#03121ef0;stroke:#e3fdff38;stroke-width:1.2}.business-rose-legend{gap:6px;padding-right:0}.business-rose-row{grid-template-columns:13px minmax(0,1fr) 56px 28px;gap:7px;min-height:23px}.business-rose-row i{width:10px;height:10px;border-width:1px;box-shadow:0 0 7px currentColor}.business-three-pie{width:100%;height:100%}.business-three-pie-center{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:auto;color:#fff;text-align:center;text-shadow:0 0 10px rgba(0,0,0,.96);pointer-events:none}.business-three-pie-center strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:21px;line-height:22px;font-weight:800;letter-spacing:0;transform:translateY(-2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-three-pie-center span{max-width:86px;margin-top:0;color:#fffffff5;font-size:10px;line-height:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-ring-visual{position:relative;display:flex;align-items:center;justify-content:center;width:132px;height:132px;min-width:0;isolation:isolate}.business-ring-visual:before{content:"";position:absolute;left:11px;right:11px;bottom:12px;height:24px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.24),rgba(48,220,255,0) 72%);filter:blur(2px);pointer-events:none}.business-ring-chart{position:relative;z-index:1;width:128px;height:128px;overflow:visible}.business-ring-halo{fill:#041622e0;stroke:#30dcff29;stroke-width:1;filter:none}.business-ring-track,.business-ring-segment{fill:none;transform:rotate(-90deg);transform-origin:80px 80px}.business-ring-track{stroke:#30dcff1f;stroke-width:22}.business-ring-segment{stroke-width:22;stroke-linecap:round;opacity:.9;transition:stroke-width .35s ease,opacity .35s ease,filter .35s ease;filter:none}.business-ring-segment.is-active{stroke-width:24;opacity:1;filter:none}.business-ring-inner{position:absolute;top:33px;right:30px;bottom:31px;left:30px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:none;pointer-events:none}.business-ring-inner strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:22px;line-height:24px;font-weight:800;letter-spacing:0}.business-ring-inner span{display:none;max-width:70px;margin-top:2px;color:#fffffff0;font-size:11px;line-height:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-donut-legend{display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;gap:7px;overflow-y:auto;padding-right:2px}.business-donut-legend::-webkit-scrollbar{width:3px}.business-donut-legend::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-donut-row{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr) 58px 28px;align-items:center;gap:8px;min-height:24px;padding:0 2px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(48,220,255,.055);transition:background .35s ease,border-color .35s ease}.business-donut-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--row-percent);background:linear-gradient(90deg,var(--row-color),rgba(48,220,255,0));opacity:.2;pointer-events:none}.business-donut-row i{position:relative;z-index:1;width:10px;height:10px;border:2px solid #24f6c4;border-radius:50%;box-sizing:border-box}.business-donut-row span{position:relative;z-index:1;min-width:0;color:#ffffffe0;font-size:13px;line-height:15px;font-weight:700;white-space:normal}.business-donut-row strong{position:relative;z-index:1;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;font-weight:800;line-height:20px;text-align:right}.business-donut-row em{position:relative;z-index:1;color:#ffffff85;font-size:11px;font-style:normal;white-space:nowrap}.business-donut-row.is-active{border-color:#30dcff38;background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04))}.business-donut-row.is-active span,.business-donut-row.is-active strong{color:#fff}.business-donut-row.is-active i{box-shadow:none;transform:scale(1.2)}.business-structure{display:grid;grid-template-rows:32px minmax(0,1fr);gap:7px;height:100%;padding:8px 13px 9px;box-sizing:border-box;overflow:hidden}.business-structure-overview{display:flex;align-items:center;min-width:0}.business-structure-band{display:flex;align-self:center;width:100%;height:25px;padding:4px;background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(36,246,196,.035));border:1px solid rgba(48,220,255,.2);box-shadow:inset 0 0 0 1px #30dcff06}.business-structure-band i{position:relative;display:block;min-width:7px;height:100%;box-shadow:none;overflow:hidden}.business-structure-band i:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);opacity:0;transform:translate(-130%)}.business-structure-band i.is-active{z-index:1}.business-structure-band i.is-active:before{opacity:1;animation:businessDataSweep 1.8s ease-in-out infinite}.business-structure-focus{min-width:0;padding:6px 8px;background:linear-gradient(135deg,rgba(36,246,196,.16),rgba(48,220,255,.05));border:1px solid rgba(48,220,255,.18)}.business-structure-focus span{display:block;color:#ffffff85;font-size:10px;line-height:12px}.business-structure-focus strong{display:block;min-width:0;margin-top:1px;color:#fff;font-size:12px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-structure-focus em{display:inline-block;margin-top:3px;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:17px;line-height:18px;font-style:normal;font-weight:800}.business-structure-focus small{display:block;margin-top:1px;color:#c9fbffd1;font-size:11px;line-height:13px}.business-structure-list{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(22px,1fr);align-content:stretch;gap:5px;min-height:0;overflow:hidden;padding-right:0}.business-structure-list::-webkit-scrollbar{width:3px}.business-structure-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-structure-row{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr) 70px 42px;align-items:center;gap:5px;min-height:0;padding:0 7px;overflow:hidden;background:rgba(48,220,255,.04);border:1px solid rgba(48,220,255,.08);transition:border-color .3s ease,background .3s ease}.business-structure-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--row-percent);background:linear-gradient(90deg,var(--row-color),rgba(48,220,255,0));opacity:.11;pointer-events:none}.business-structure-row i{position:relative;z-index:1;width:7px;height:7px;box-shadow:none}.business-structure-row span{position:relative;z-index:1;min-width:0;color:#ffffffc2;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-structure-row strong{position:relative;z-index:1;color:#dffcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:13px;text-align:right;white-space:nowrap}.business-structure-row strong em{margin-left:2px;color:#ffffff80;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-structure-row small{position:relative;z-index:1;color:#c9fbffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:12px;text-align:right;white-space:nowrap}.business-structure-row.is-active{background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(48,220,255,.04));border-color:#24f6c45c}.business-structure-row.is-active span,.business-structure-row.is-active strong{color:#fff}.business-capacity{display:grid;grid-template-rows:22px 40px minmax(34px,1fr) 18px;gap:5px;height:100%;padding:8px 14px 7px;box-sizing:border-box;overflow:hidden}.business-capacity-head,.business-capacity-town{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0}.business-capacity-head{padding-bottom:3px;border-bottom:1px solid rgba(48,220,255,.12)}.business-capacity-head span,.business-capacity-town span{min-width:0;color:#dcf8ffc2;font-size:11px;line-height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-capacity-head strong,.business-capacity-town strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:16px;font-weight:800;white-space:nowrap;text-shadow:none}.business-capacity-head strong em,.business-capacity-town strong em{margin-left:3px;color:#ffffff8f;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-capacity-band{display:flex;align-self:center;height:32px;padding:5px;border:1px solid rgba(48,220,255,.2);background:linear-gradient(90deg,rgba(48,220,255,.11),rgba(48,220,255,.03));box-shadow:inset 0 0 0 1px #30dcff08}.business-capacity-band i{position:relative;display:block;min-width:8px;height:100%;box-shadow:none;overflow:hidden}.business-capacity-band i:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);opacity:0;transform:translate(-130%)}.business-capacity-band i.is-active{z-index:1}.business-capacity-band i.is-active:before{opacity:1;animation:businessDataSweep 1.8s ease-in-out infinite}.business-capacity-list{display:grid;align-content:center;gap:4px;min-height:0}.business-capacity-row{display:grid;grid-template-columns:9px minmax(0,1fr) 66px 40px;align-items:center;gap:5px;min-width:0}.business-capacity-row i{width:7px;height:7px;box-shadow:none}.business-capacity-row span{min-width:0;color:#ffffffc2;font-size:10px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-capacity-row strong{color:#dffcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:13px;text-align:right;white-space:nowrap}.business-capacity-row strong em{margin-left:2px;color:#ffffff80;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-capacity-row small{color:#c9fbffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:12px;text-align:right;white-space:nowrap}.business-capacity-row.is-active span,.business-capacity-row.is-active strong,.business-capacity-row.is-active small{color:#fff}.business-capacity-row.is-active i{transform:scale(1.24)}.business-capacity-town{min-width:0;padding-top:3px;border-top:1px solid rgba(48,220,255,.1)}.business-capacity-town strong{color:#24f6c4;font-size:12px;line-height:13px;text-shadow:none}.business-bars{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--bar-row-count, 1),minmax(0,1fr));gap:6px;width:100%;min-width:0;height:100%;padding:8px 14px 9px;box-sizing:border-box;overflow:hidden;scrollbar-width:none}.business-bars::-webkit-scrollbar{display:none}.business-bars::-webkit-scrollbar-thumb{background:transparent}.business-bars.is-dense{gap:4px;padding:5px 14px 6px}.business-bars.is-dense .business-bar-row{min-height:0}.business-bars.is-dense .business-bar-name{font-size:11px;line-height:12px}.business-bars.is-dense .business-bar-track{height:5px;margin-top:2px}.business-bars.is-long{gap:2px;padding:3px 14px 4px}.business-bars.is-long .business-bar-row{min-height:0}.business-bars.is-long .business-bar-name{font-size:10px;line-height:11px}.business-bars.is-long .business-bar-track{height:4px;margin-top:1px;padding:1px}.business-bars.is-long .business-bar-row strong{font-size:12px;line-height:12px}.business-bars.is-long .business-bar-row strong em,.business-bars.is-long .business-bar-row strong small{font-size:10px}.business-bars.is-single{gap:5px;padding:6px 14px}.business-bars.is-single .business-bar-row{min-height:22px}.business-bars.is-single .business-bar-name{font-size:11px;line-height:13px}.business-bars.is-single .business-bar-track{height:5px;margin-top:2px;padding:1px}.business-bars.is-single .business-bar-row strong{font-size:13px;line-height:14px}.business-bars.is-single .business-bar-row strong em,.business-bars.is-single .business-bar-row strong small{font-size:10px}.business-bars.is-distribution{gap:4px;padding:6px 14px 7px}.business-bars.is-distribution .business-bar-row{min-height:0;padding:0 0 2px;border-bottom:1px solid rgba(48,220,255,.07)}.business-bars.is-distribution .business-bar-name{position:relative;padding-left:11px;color:#e7faffd6;font-size:11px;line-height:13px}.business-bars.is-distribution .business-bar-name:before{content:"";position:absolute;left:0;top:4px;width:5px;height:5px;border-radius:50%;background:#24f6c4;box-shadow:none}.business-bars.is-distribution .business-bar-track{height:7px;margin-top:4px;padding:1px;border-color:#30dcff2e;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.03))}.business-bars.is-distribution .business-bar-row strong{color:#fff;font-size:12px;line-height:15px;text-shadow:none}.business-bars.is-distribution.is-long{gap:3px;padding:5px 14px 6px}.business-bars.is-distribution.is-long .business-bar-row{min-height:22px}.business-bars.is-distribution.is-long .business-bar-name{font-size:11px;line-height:12px}.business-bars.is-capacity{gap:12px;padding:12px 16px 10px;overflow:hidden}.business-bars.is-capacity .business-bar-row{grid-template-columns:minmax(0,1fr) auto;min-height:24px;padding:0;border-bottom:0}.business-bars.is-capacity .business-bar-name{padding-left:0;color:#e8faffd1;font-size:11px;line-height:13px}.business-bars.is-capacity .business-bar-name:before{display:none}.business-bars.is-capacity .business-bar-track{height:5px;margin-top:5px;padding:1px;border-color:#acbfbc38;background:rgba(115,208,255,.05)}.business-bars.is-capacity .business-bar-track i{min-width:10px;box-shadow:none}.business-bars.is-capacity .business-bar-row strong{color:#24f6c4;font-size:12px;line-height:13px;text-shadow:none}.business-bars.is-rank-bar{gap:2px;padding:3px 14px 2px;overflow:hidden}.business-bars.is-rank-bar .business-bar-row{position:relative;grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"rank name value" "rank track track";align-items:center;min-height:18px;gap:1px 8px;padding:1px 0 2px;border-bottom:1px solid rgba(48,220,255,.075)}.business-bars.is-rank-bar .business-bar-rank{grid-area:rank;display:flex;width:18px;height:18px;align-items:center;justify-content:center;border:1px solid rgba(48,220,255,.28);background:linear-gradient(180deg,rgba(48,220,255,.18),rgba(36,246,196,.055)),rgba(4,28,42,.52);color:#e8fcffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;font-weight:800;box-shadow:inset 0 0 10px #30dcff14}.business-bars.is-rank-bar .business-bar-name{color:#f5fdfff0;font-size:11px;line-height:13px;font-weight:700}.business-bars.is-rank-bar .business-bar-track{position:relative;height:5px;margin-top:0;padding:1px;overflow:hidden;border-color:#30dcff33;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 28px),linear-gradient(90deg,rgba(48,220,255,.13),rgba(36,246,196,.035))}.business-bars.is-rank-bar .business-bar-track i{min-width:12px;box-shadow:inset 0 0 5px #ffffff29}.business-bars.is-rank-bar .business-bar-track i:before{content:"";position:absolute;right:0;top:-2px;width:3px;height:calc(100% + 4px);background:rgba(255,255,255,.86);box-shadow:none}.business-bars.is-rank-bar .business-bar-row strong{color:#fff;font-size:13px;line-height:14px;text-shadow:none}.business-bars.is-rank-bar .business-bar-row strong em,.business-bars.is-rank-bar .business-bar-row strong small{color:#eefdffc7;font-size:10px}.business-bars.is-rank-bar .business-bar-row.is-active .business-bar-rank{border-color:#30dcff7a;color:#c9fbff;box-shadow:inset 0 0 12px #30dcff14,0 0 3px #30dcff14}.business-bars.is-park-bar{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:16px 18px 15px;overflow:hidden}.business-bars.is-park-bar .business-bar-row{grid-template-columns:68px minmax(0,1fr) 88px;grid-template-areas:"name track value";align-items:center;min-height:32px;gap:10px;padding:0;border-bottom:0}.business-bars.is-park-bar .business-bar-name{position:relative;min-width:0;padding-left:13px;overflow:hidden;color:#f6feffeb;font-size:12px;line-height:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.business-bars.is-park-bar .business-bar-name:before{content:"";position:absolute;left:0;top:5px;width:6px;height:6px;background:var(--bar-color, #30dcff);box-shadow:0 0 3px var(--bar-color, #30dcff)}.business-bars.is-park-bar .business-bar-track{position:relative;height:12px;margin-top:0;padding:0;overflow:visible;border:1px solid rgba(48,220,255,.12);background:repeating-linear-gradient(90deg,rgba(216,250,255,.09) 0 1px,transparent 1px 44px),linear-gradient(90deg,rgba(48,220,255,.08),rgba(48,220,255,.025));box-shadow:none}.business-bars.is-park-bar .business-bar-track i{position:relative;height:100%;min-width:14px;box-shadow:inset 0 1px #fff3}.business-bars.is-park-bar .business-bar-track i:after{content:"";position:absolute;right:-2px;top:-2px;width:4px;height:calc(100% + 4px);border-radius:2px;background:rgba(248,255,255,.82);box-shadow:0 0 4px #f8ffff38}.business-bars.is-park-bar .business-bar-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:17px;font-weight:800;text-align:left;white-space:nowrap;text-shadow:0 0 5px rgba(255,255,255,.18)}.business-bars.is-park-bar .business-bar-row strong em{margin-left:3px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:11px;font-style:normal;font-weight:600}.business-bars.is-park-bar .business-bar-row strong small{display:block;margin-top:2px;color:#eefdff9e;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:12px;font-weight:700}.business-bars.is-park-bar .business-bar-row.is-active .business-bar-name,.business-bars.is-park-bar .business-bar-row.is-active strong{color:#fff}.business-bars.is-park-bar .business-bar-row.is-active .business-bar-track i{animation:none}.business-bars.is-race-bar{display:flex;flex-direction:column;justify-content:flex-start;gap:5px;padding:8px 10px 8px 13px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.46) rgba(48,220,255,.08)}.business-bars.is-race-bar::-webkit-scrollbar{width:4px}.business-bars.is-race-bar::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.business-bars.is-race-bar::-webkit-scrollbar-thumb{background:rgba(48,220,255,.46);border-radius:4px}.business-bars.is-race-bar .business-bar-row{grid-template-columns:112px minmax(0,1fr) 96px;grid-template-areas:"name track value";align-items:center;min-height:28px;gap:7px;padding:0;border-bottom:0}.business-bars.is-race-bar .business-bar-name{position:relative;padding-left:13px;color:#f0fdffeb;font-size:11px;line-height:12px;font-weight:700;white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip}.business-bars.is-race-bar .business-bar-name:before{content:"";position:absolute;left:0;top:4px;width:7px;height:7px;background:var(--bar-color, currentColor);box-shadow:none}.business-bars.is-race-bar .business-bar-track{position:relative;height:22px;margin-top:0;padding:0;overflow:visible;border:0;background:repeating-linear-gradient(90deg,rgba(214,250,255,.12) 0 1px,transparent 1px 52px),linear-gradient(90deg,rgba(48,220,255,.08),rgba(48,220,255,.025))}.business-bars.is-race-bar .business-bar-track:before{content:"";position:absolute;left:0;top:-8px;bottom:-8px;width:1px;background:rgba(213,247,255,.32)}.business-bars.is-race-bar .business-bar-track i{position:relative;height:100%;min-width:18px;box-shadow:inset 0 1px #ffffff38}.business-bars.is-race-bar .business-bar-row:nth-child(1) .business-bar-name{color:#24f6c4}.business-bars.is-race-bar .business-bar-row:nth-child(2) .business-bar-name{color:#32dcff}.business-bars.is-race-bar .business-bar-row:nth-child(3) .business-bar-name{color:#8bf7ff}.business-bars.is-race-bar .business-bar-row strong{grid-area:value;color:#fff;font-size:14px;line-height:16px;text-align:left;text-shadow:none}.business-bars.is-race-bar .business-bar-row strong em{margin-left:3px;color:#eefdffb8;font-size:11px}.business-bars.is-race-bar .business-bar-row strong small{display:block;margin:1px 0 0;color:#eefdffb8;font-size:10px;line-height:11px}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation){display:grid;grid-template-rows:repeat(var(--bar-row-count, 1),minmax(0,1fr));align-content:stretch;gap:2px;padding:5px 8px 6px 12px;overflow:hidden;scrollbar-width:none}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row{grid-template-columns:64px minmax(52px,1fr) 90px;grid-template-areas:"name track value";min-height:0;gap:5px;align-items:center}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-name{padding-left:10px;color:#f0fdffe6;font-size:10px;line-height:12px;white-space:nowrap;word-break:keep-all}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-name:before{top:3px;width:5px;height:5px}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-track{height:8px;background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.025))}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-track:before{top:-3px;bottom:-3px;background:rgba(213,247,255,.2)}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-track i{min-width:8px}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row strong{overflow:visible;color:#fff;font-size:12px;line-height:13px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row strong em,.business-bars.is-race-bar:not(.is-long):not(.is-few-rows):not(.is-degradation) .business-bar-row strong small{display:inline;margin-left:3px;color:#eefdffb8;font-size:10px;line-height:13px}.business-bars.is-race-bar.is-few-rows{display:flex;justify-content:center;gap:13px;padding:15px 12px 16px 13px}.business-bars.is-race-bar.is-few-rows .business-bar-row{min-height:42px;grid-template-columns:112px minmax(0,1fr) 96px;gap:9px}.business-bars.is-race-bar.is-few-rows .business-bar-name{padding-left:15px;font-size:12px;line-height:15px;word-break:keep-all;white-space:nowrap}.business-bars.is-race-bar.is-few-rows .business-bar-name:before{top:4px;width:8px;height:8px}.business-bars.is-race-bar.is-few-rows .business-bar-track{height:25px}.business-bars.is-race-bar.is-few-rows .business-bar-track:before{top:-9px;bottom:-9px}.business-bars.is-race-bar.is-few-rows .business-bar-row strong{font-size:15px;line-height:17px}.business-bars.is-race-bar.is-few-rows .business-bar-row strong em{font-size:11px}.business-bars.is-race-bar.is-few-rows .business-bar-row strong small{margin-top:2px;font-size:11px;line-height:12px}.business-bars.is-race-bar.is-degradation{display:flex;justify-content:flex-start;gap:10px;padding:13px 15px 9px 14px}.business-bars.is-race-bar.is-degradation .business-bar-row{grid-template-columns:118px minmax(0,1fr) 104px;min-height:38px;gap:10px}.business-bars.is-race-bar.is-degradation .business-bar-name{padding-left:14px;font-size:12px;line-height:15px;word-break:keep-all;white-space:nowrap}.business-bars.is-race-bar.is-degradation .business-bar-name:before{top:4px;width:8px;height:8px}.business-bars.is-race-bar.is-degradation .business-bar-track{height:25px;background:repeating-linear-gradient(90deg,rgba(214,250,255,.1) 0 1px,transparent 1px 44px),linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.025))}.business-bars.is-race-bar.is-degradation .business-bar-track:before{top:-6px;bottom:-6px}.business-bars.is-race-bar.is-degradation .business-bar-row strong{font-size:16px;line-height:17px}.business-bars.is-race-bar.is-degradation .business-bar-row strong em{font-size:12px}.business-bars.is-race-bar.is-degradation .business-bar-row strong small{margin-top:3px;font-size:12px;line-height:13px}.business-bars.is-race-nowrap .business-bar-row{grid-template-columns:172px minmax(0,1fr) 88px;gap:7px}.business-bars.is-race-nowrap .business-bar-name{font-size:12px;line-height:14px;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:clip}.business-bars.is-race-relaxed{justify-content:center;gap:11px;padding:14px 14px 15px}.business-bars.is-race-relaxed .business-bar-row{grid-template-columns:168px minmax(0,1fr) 94px;min-height:42px;gap:8px}.business-bars.is-race-relaxed .business-bar-name{font-size:13px;line-height:16px}.business-bars.is-race-relaxed .business-bar-track{height:27px}.business-bars.is-race-relaxed .business-bar-track:before{top:-10px;bottom:-10px}.business-bars.is-race-relaxed .business-bar-row strong{font-size:15px;line-height:17px}.business-bars.is-race-relaxed .business-bar-row strong small{margin-top:2px;font-size:11px;line-height:12px}.business-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value" "track track";align-items:end;gap:2px 10px;min-height:0;max-height:none}.business-bar-name{grid-area:name;min-width:0;color:#ffffffc7;font-size:12px;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-bar-track{grid-area:track;height:7px;margin-top:4px;padding:2px;background:rgba(48,220,255,.08);border:1px solid rgba(48,220,255,.16)}.business-bar-track i{position:relative;display:block;height:100%;min-width:8px;box-shadow:none;overflow:hidden}.business-bar-track i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);opacity:0;transform:translate(-130%)}.business-bar-row.is-active .business-bar-track i{animation:none}.business-bar-row.is-active .business-bar-track i:after{opacity:0;animation:none}.business-bar-row.is-active .business-bar-name,.business-bar-row.is-active strong{color:#fff}.business-bar-row strong,.business-split-row strong{grid-area:value;color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;text-align:right;line-height:15px;white-space:nowrap}.business-bar-row strong em,.business-bar-row strong small,.business-split-row strong em,.business-split-row strong small{margin-left:2px;color:#ffffff8a;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-bar-row strong small,.business-split-row strong small{display:inline;margin-left:4px;line-height:15px;white-space:nowrap}.business-bar-row strong{overflow:hidden;text-overflow:ellipsis}.business-columns{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(28px,1fr));align-items:stretch;gap:5px;height:100%;padding:32px 12px 8px;box-sizing:border-box;overflow:hidden}.business-columns:before{content:"";position:absolute;left:12px;right:12px;top:50px;bottom:41px;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(159,220,230,.22) 0 1px,transparent 1px 17px);opacity:0}.business-columns::-webkit-scrollbar{height:3px}.business-columns::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-columns.is-dense{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));grid-auto-rows:minmax(0,1fr);gap:4px;padding:34px 10px 8px}.business-columns.is-dense .business-column-item{grid-template-rows:minmax(38px,1fr) 28px;min-width:0}.business-columns.is-dense .business-column-item strong{width:100%;font-size:11px;line-height:15px;text-align:center}.business-columns.is-dense .business-column-item span{max-width:100%;font-size:10px;line-height:12px;white-space:nowrap}.business-columns.is-dense .business-column-track{width:8px;height:100%;min-height:20px}.business-columns.is-variant-pin{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));gap:5px;padding:8px 9px 7px}.business-columns.is-variant-pin:before{opacity:.56}.business-columns.is-variant-pin .business-column-item{position:relative;z-index:1;grid-template-rows:minmax(62px,1fr) 26px}.business-columns.is-variant-pin .business-column-item strong{position:relative;z-index:2;min-width:42px;padding-bottom:2px;color:#e8fcff;font-size:11px;line-height:14px;text-shadow:0 0 9px rgba(255,255,255,.36)}.business-columns.is-variant-pin .business-column-item strong:after{content:"";position:absolute;left:50%;bottom:-4px;width:18px;height:1px;border-top:1px dashed rgba(220,250,255,.62);transform:translate(-2px) rotate(12deg);transform-origin:left center}.business-columns.is-variant-pin .business-column-item span{max-width:48px;color:#ebfcffc7;font-size:10px;line-height:11px;-webkit-line-clamp:2}.business-columns.is-variant-pin .business-column-track{width:7px;height:74px;min-height:46px;border:0;background:linear-gradient(180deg,rgba(48,220,255,.07),rgba(48,220,255,.02))}.business-columns.is-variant-pin .business-column-track:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(48,220,255,.22);transform:translate(-50%)}.business-columns.is-variant-pin .business-column-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:21px;height:6px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.34),rgba(48,220,255,0) 72%);transform:translate(-50%)}.business-columns.is-variant-pin .business-column-track i{left:1px;right:1px;border-radius:6px 6px 2px 2px;box-shadow:0 0 3px #32dcff29}.business-columns.is-variant-pin .business-column-track i:before{left:50%;right:auto;top:-6px;width:9px;height:9px;border:2px solid #c9fcff;border-radius:2px;background:rgba(3,27,41,.9);box-shadow:0 0 3px #30dcff2e;transform:translate(-50%) rotate(45deg);filter:none}.business-columns.is-variant-pin .business-column-track i:after{display:none}.business-columns.is-variant-slim{grid-template-columns:repeat(auto-fit,minmax(26px,1fr));gap:6px;padding:24px 10px 6px}.business-columns.is-variant-slim.is-dense{gap:4px;padding:34px 10px 8px}.business-columns.is-variant-slim .business-column-track{width:8px}.business-columns.is-variant-slim .business-column-track i{border-radius:1px 1px 0 0}.business-columns.is-variant-water{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));gap:6px;padding:20px 13px 7px}.business-columns.is-variant-water:before{top:40px;bottom:38px;opacity:.52;background:repeating-linear-gradient(to bottom,rgba(117,232,255,.18) 0 1px,transparent 1px 18px)}.business-columns.is-variant-water .business-column-item{grid-template-rows:minmax(70px,1fr) 30px}.business-columns.is-variant-water .business-column-item strong{color:#f4feff;font-size:11px;line-height:15px;text-shadow:0 0 10px rgba(168,251,255,.36)}.business-columns.is-variant-water .business-column-item span{color:#ebfcffe0;font-size:10px;line-height:12px}.business-columns.is-variant-water .business-column-track{width:10px;min-height:56px;border:0;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,rgba(49,220,255,.11),rgba(47,151,255,.025)),rgba(7,35,52,.34);box-shadow:inset 0 0 10px #31dcff14,0 0 10px #31dcff14}.business-columns.is-variant-water .business-column-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:25px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(168,251,255,.34),rgba(49,220,255,0) 72%);transform:translate(-50%)}.business-columns.is-variant-water .business-column-track i{left:2px;right:2px;min-height:9px;border-radius:10px 10px 3px 3px;box-shadow:0 0 4px #31dcff29,inset 0 1px #ffffff52}.business-columns.is-variant-water .business-column-track i:before{left:50%;right:auto;top:-4px;width:15px;height:6px;border-radius:50%;background:rgba(220,255,255,.88);box-shadow:0 0 3px #a8fbff33;transform:translate(-50%);filter:none}.business-columns.is-variant-water .business-column-track i:after{display:none}.business-columns.is-variant-age{grid-template-columns:repeat(5,minmax(48px,1fr));gap:10px;padding:34px 18px 14px}.business-columns.is-variant-age:before{top:56px;bottom:46px;opacity:.36}.business-columns.is-variant-age .business-column-item{grid-template-rows:minmax(96px,1fr) 28px;min-width:0}.business-columns.is-variant-age .business-column-item strong{width:100%;color:#fff;font-size:13px;line-height:18px;text-align:center}.business-columns.is-variant-age .business-column-item span{max-width:none;color:#ffffffe6;font-size:12px;line-height:16px;white-space:nowrap;-webkit-line-clamp:1}.business-columns.is-variant-age .business-column-track{width:10px;height:92px;min-height:72px;border-color:#30dcff38;background:linear-gradient(180deg,rgba(48,220,255,.1),rgba(48,220,255,.03)),rgba(5,31,44,.38)}.business-columns.is-variant-age .business-column-track i{left:2px;right:2px;min-height:9px;border-radius:3px 3px 0 0}.business-columns.is-variant-projectYear{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:25px 14px 9px 8px}.business-columns.is-variant-projectYear:before{top:47px;bottom:43px;opacity:.42}.business-columns.is-variant-projectYear .business-column-item{grid-template-rows:minmax(90px,1fr) 26px;min-width:0}.business-columns.is-variant-projectYear .business-column-item strong{color:#fff;font-size:11px;line-height:18px;text-align:center;text-shadow:0 0 9px rgba(255,255,255,.28)}.business-columns.is-variant-projectYear .business-column-item span{max-width:none;color:#f0fdffe6;font-size:10px;line-height:15px;white-space:nowrap;-webkit-line-clamp:1}.business-columns.is-variant-projectYear .business-column-track{width:8px;height:92px;min-height:74px;border:1px solid rgba(48,220,255,.18);background:linear-gradient(180deg,rgba(48,220,255,.1),rgba(48,220,255,.025)),rgba(5,29,42,.3);box-shadow:inset 0 0 12px #30dcff14,0 0 10px #30dcff14}.business-columns.is-variant-projectYear .business-column-track:after{content:"";position:absolute;left:50%;bottom:-6px;width:18px;height:8px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.38),rgba(48,220,255,0) 72%);transform:translate(-50%)}.business-columns.is-variant-projectYear .business-column-track i{left:2px;right:2px;min-height:12px;border-radius:4px 4px 1px 1px;box-shadow:0 0 4px #24f6c429,inset 0 1px #ffffff42}.business-columns.is-variant-projectYear .business-column-track i:before{height:8px;top:-5px;transform:skew(-32deg)}.business-columns.is-variant-projectYear .business-column-track i:after{display:none}.business-columns.is-variant-compact{grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:7px;padding:24px 12px 8px}.business-columns.is-variant-compact:before{top:44px;bottom:37px;opacity:.48}.business-columns.is-variant-compact .business-column-item{grid-template-rows:minmax(70px,1fr) 28px}.business-columns.is-variant-compact .business-column-item strong{font-size:12px;line-height:16px}.business-columns.is-variant-compact .business-column-item span{max-width:52px;font-size:10px;line-height:12px;-webkit-line-clamp:2}.business-columns.is-variant-compact .business-column-track{width:8px;min-height:56px;border-color:#24f6c42e;background:linear-gradient(180deg,rgba(36,246,196,.08),rgba(48,220,255,.02)),rgba(4,26,38,.34)}.business-columns.is-variant-compact .business-column-track i{left:2px;right:2px;min-height:10px;border-radius:3px 3px 0 0;box-shadow:0 0 4px #24f6c424,inset 0 1px #ffffff38}.business-columns.is-variant-townCompact{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;padding:26px 10px 8px}.business-columns.is-variant-townCompact:before{top:47px;bottom:50px;opacity:.5}.business-columns.is-variant-townCompact .business-column-item{grid-template-rows:minmax(72px,1fr) 42px;min-width:0}.business-columns.is-variant-townCompact .business-column-item strong{width:max-content;max-width:46px;font-size:10px;line-height:14px;transform:translate(0)}.business-columns.is-variant-townCompact .business-column-item span{align-self:start;max-width:none;height:38px;color:#ffffffe6;font-size:11px;line-height:13px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:0;white-space:nowrap;-webkit-line-clamp:unset}.business-columns.is-variant-townCompact .business-column-track{width:8px;min-height:54px;border-color:#24f6c42e;background:linear-gradient(180deg,rgba(36,246,196,.08),rgba(48,220,255,.02)),rgba(4,26,38,.34)}.business-columns.is-variant-townCompact .business-column-track i{left:2px;right:2px;min-height:9px;border-radius:3px 3px 0 0;box-shadow:0 0 4px #24f6c424,inset 0 1px #ffffff38}.business-columns.is-variant-plain{grid-template-columns:repeat(auto-fit,minmax(25px,1fr));gap:7px;padding:18px 14px 7px}.business-columns.is-variant-plain:before{top:37px;bottom:36px;opacity:.62}.business-columns.is-variant-plain .business-column-item{position:relative;z-index:1;grid-template-rows:minmax(70px,1fr) 28px}.business-columns.is-variant-plain .business-column-item strong{color:#f4fcffe0;font-size:11px;line-height:15px}.business-columns.is-variant-plain .business-column-item span{max-width:44px;color:#ffffffd1;font-size:10px;line-height:12px;-webkit-line-clamp:2}.business-columns.is-variant-plain .business-column-track{width:6px;height:100%;min-height:54px;border:0;background:rgba(67,130,96,.1);box-shadow:none}.business-columns.is-variant-plain .business-column-track i{left:0;right:0;min-height:7px;border-radius:2px 2px 0 0;box-shadow:0 0 3px #24f6c41f,inset 0 1px #ffffff3d}.business-columns.is-variant-plain .business-column-track i:before,.business-columns.is-variant-plain .business-column-track i:after{display:none}.business-columns.is-dense.is-scrollable{display:flex;flex-flow:row nowrap;align-items:stretch;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.46) rgba(48,220,255,.08)}.business-columns.is-dense.is-scrollable::-webkit-scrollbar{height:4px}.business-columns.is-dense.is-scrollable::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.business-columns.is-dense.is-scrollable::-webkit-scrollbar-thumb{background:rgba(48,220,255,.46);border-radius:4px}.business-columns.is-dense.is-scrollable .business-column-item{flex:0 0 54px;width:54px;min-width:54px;height:100%}.business-columns.is-dense.is-scrollable.is-variant-slim .business-column-item{flex-basis:50px;width:50px;min-width:50px}.business-columns.is-dense.is-scrollable.is-variant-plain .business-column-item{flex-basis:48px;width:48px;min-width:48px}.business-columns.has-unit-label{padding-top:44px}.business-columns.has-unit-label:before{top:60px}.business-columns.has-unit-label .business-column-unit{left:12px;right:12px;top:4px;text-align:right}.business-columns.has-unit-label.is-variant-pin{padding-top:38px}.business-columns.has-unit-label.is-variant-pin:before{top:54px}.business-columns.has-unit-label.is-variant-plain,.business-columns.has-unit-label.is-variant-slim,.business-columns.has-unit-label.is-variant-age,.business-columns.has-unit-label.is-variant-townCompact,.business-columns.has-unit-label.is-variant-compact{padding-top:42px}.business-columns.has-unit-label.is-variant-plain:before,.business-columns.has-unit-label.is-variant-slim:before,.business-columns.has-unit-label.is-variant-age:before,.business-columns.has-unit-label.is-variant-townCompact:before,.business-columns.has-unit-label.is-variant-compact:before{top:58px}.business-column-item{display:grid;grid-template-rows:minmax(70px,1fr) 38px;justify-items:center;min-width:0}.business-column-item strong{color:#d9fbff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;white-space:nowrap}.business-column-item strong em{margin-left:2px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-column-item span{align-self:center;max-width:76px;color:#ffffffa8;font-size:10px;line-height:12px;text-align:center;overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.business-column-item.is-active strong,.business-column-item.is-active span{color:#fff}.business-column-item.is-active .business-column-track i{animation:none}.business-column-unit{position:absolute;right:14px;top:2px;z-index:2;padding:1px 6px;background:linear-gradient(90deg,rgba(4,23,34,0),rgba(4,23,34,.72));color:#eefdffb8;font-size:10px;line-height:14px;pointer-events:none}.business-column-trend{position:absolute;left:16px;right:16px;top:45px;bottom:48px;z-index:3;width:calc(100% - 32px);height:calc(100% - 93px);overflow:visible;pointer-events:none}.business-columns.has-unit-label .business-column-trend{top:59px;height:calc(100% - 107px)}.business-column-trend-area{fill:#8bf7ff0e;stroke:none}.business-column-trend-line{fill:none;stroke:#8bf7ffe0;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 6;filter:none}.business-column-trend-dot{fill:#f7feff;stroke:#8bf7ff;stroke-width:1.1;filter:none}.business-columns.is-variant-slim .business-column-track i,.business-columns.is-variant-slim .business-column-item.is-active .business-column-track i{transform:scaleY(1);transform-origin:center bottom;animation:none;animation-delay:var(--column-load-delay, 0s);animation-fill-mode:both;will-change:transform,opacity,filter}.business-columns.is-variant-slim .business-column-track i:before,.business-columns.is-variant-slim .business-column-item.is-active .business-column-track i:before{animation:none;animation-delay:var(--column-load-delay, 0s);animation-fill-mode:both}.business-column-track{position:relative;width:8px;height:72px;align-self:end;background:linear-gradient(180deg,rgba(48,220,255,.08),rgba(48,220,255,.02));border:1px solid rgba(48,220,255,.14)}.business-column-track i{position:absolute;left:0;right:0;bottom:0;min-height:8px;box-shadow:0 0 3px #30dcff24}.business-column-track i:before,.business-column-track i:after{content:"";position:absolute;left:0;right:0;height:7px;background:inherit;transform:skew(-36deg)}.business-column-track i:before{top:-4px;filter:brightness(1.35)}.business-column-track i:after{bottom:-4px;filter:brightness(.72)}.business-column-track .business-column-value{position:absolute;left:50%;bottom:calc(var(--column-percent, 0%) + 8px);z-index:4;min-width:32px;max-width:58px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:14px;font-weight:800;letter-spacing:0;text-align:center;text-shadow:none;white-space:nowrap;transform:translate(-50%);pointer-events:none}.business-column-track .business-column-value em{margin-left:1px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:9px;font-style:normal;font-weight:600}.business-table{display:grid;grid-template-rows:18px minmax(0,1fr);gap:4px;height:100%;padding:7px 12px 8px;box-sizing:border-box;overflow:hidden}.business-table-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:center;padding:0 5px;border:1px solid rgba(48,220,255,.12);background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.03))}.business-table-head-group{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:4px}.business-table-head-group span{color:#beebf5b3;font-size:10px;line-height:16px;white-space:nowrap}.business-table-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:3px 7px;min-height:0}.business-table-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:4px;min-width:0;min-height:0;padding:1px 5px;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035);box-sizing:border-box}.business-table-row:nth-child(2n){background:rgba(36,246,196,.035)}.business-table-row.is-active{border-color:#24f6c457;background:linear-gradient(90deg,rgba(36,246,196,.15),rgba(48,220,255,.04));animation:businessDataPulse 1.8s ease-in-out infinite}.business-table-row.is-active .business-table-name,.business-table-row.is-active strong{color:#fff}.business-table-name{min-width:0;color:#ebfcffc7;font-size:10px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-table-row strong{display:block;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:12px;text-align:right;white-space:nowrap}.business-table-row strong em{display:none}.business-table-value{min-width:0}.business-table-value i{position:relative;display:block;height:3px;min-width:0;margin-top:2px;background:rgba(48,220,255,.08);border:1px solid rgba(48,220,255,.16);overflow:hidden}.business-table-value i b{position:relative;display:block;height:100%;min-width:5px;box-shadow:0 0 10px #30dcff61;overflow:hidden}.business-table-value i b:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);opacity:0;transform:translate(-130%)}.business-table-row.is-active .business-table-value i b:after{opacity:1;animation:businessDataSweep 1.8s ease-in-out infinite}.business-project-table{display:grid;grid-template-rows:28px minmax(0,1fr);gap:7px;height:100%;padding:7px 10px 8px;box-sizing:border-box;overflow:hidden}.business-project-table.is-without-search{grid-template-rows:minmax(0,1fr)}.business-project-table.is-fill-rows .business-project-frame{overflow:hidden}.business-project-table.is-fill-rows .business-project-frame table{height:100%}.business-project-search{min-width:0}.business-project-search input{width:100%;height:28px;padding:0 10px;border:1px solid rgba(48,220,255,.22);outline:none;color:#fff;font-size:12px;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.035));box-sizing:border-box}.business-project-search input::placeholder{color:#e8fcff8f}.business-project-search input:focus{border-color:#24f6c48a;box-shadow:0 0 14px #24f6c424}.business-project-search input::-webkit-search-decoration,.business-project-search input::-webkit-search-cancel-button{display:none}.business-project-frame{position:relative;min-height:0;border:1px solid rgba(48,220,255,.16);background:rgba(5,26,39,.26);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.45) rgba(48,220,255,.08)}.business-project-frame::-webkit-scrollbar{width:5px}.business-project-frame::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.business-project-frame::-webkit-scrollbar-thumb{background:rgba(48,220,255,.44)}.business-project-frame table{width:100%;table-layout:fixed;border-collapse:collapse}.business-project-frame thead{position:sticky;top:0;z-index:2;background:#0d3144;box-shadow:0 1px #30dcff33}.business-project-frame th,.business-project-frame td{height:28px;padding:0 6px;color:#f6feffeb;font-size:11px;line-height:14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid rgba(48,220,255,.09)}.business-project-frame tbody td{height:auto;min-height:32px;padding-top:3px;padding-bottom:3px;line-height:13px;white-space:normal;word-break:break-all;overflow:visible;text-overflow:clip}.business-project-frame th{height:25px;color:#beebf5c7;font-weight:500;background:linear-gradient(90deg,rgba(48,220,255,.16),rgba(48,220,255,.04))}.business-project-frame tbody tr{cursor:pointer;background:rgba(48,220,255,.025);transition:background .18s ease,box-shadow .18s ease}.business-project-frame tbody tr:nth-child(2n){background:rgba(36,246,196,.026)}.business-project-frame tbody tr:hover,.business-project-frame tbody tr:focus-visible,.business-project-frame tbody tr.is-active{outline:none;background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(48,220,255,.055));box-shadow:inset 2px 0 #24f6c4d1}.business-project-frame td:nth-child(2),.business-project-frame td:nth-child(4),.business-project-frame th:nth-child(2),.business-project-frame th:nth-child(4){text-align:right}.business-project-frame th.is-right,.business-project-frame td.is-right{text-align:right}.business-project-frame th.is-center,.business-project-frame td.is-center{text-align:center}.business-project-frame strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:14px;white-space:nowrap}.business-project-frame em{margin-left:2px;color:#eefdffb8;font-size:10px;font-style:normal}.business-project-frame .business-project-locate{color:var(--screen-icon-primary, #30dcff);font-weight:600;text-shadow:0 0 8px var(--screen-icon-glow, rgba(48, 220, 255, .22))}.business-project-frame .business-project-locate-button{display:inline-flex;width:24px;height:24px;padding:0;align-items:center;justify-content:center;border:0;color:var(--screen-icon-primary, #30dcff);cursor:pointer;background:transparent}.business-project-frame .business-project-locate-button:hover,.business-project-frame .business-project-locate-button:focus-visible{outline:none;color:#fff;filter:drop-shadow(0 0 4px var(--screen-icon-glow, rgba(48, 220, 255, .22)))}.business-project-frame .business-project-cell-icon{display:inline-flex;position:relative;width:18px;height:18px;align-items:center;justify-content:center;color:var(--screen-icon-primary, #30dcff);vertical-align:middle}.business-project-frame .business-project-cell-icon--locate{border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.08);box-shadow:0 0 6px var(--screen-icon-glow, rgba(48, 220, 255, .22)),inset 0 0 7px #30dcff1a}.business-project-frame .business-project-cell-icon--locate:before{position:absolute;top:4px;right:4px;bottom:4px;left:4px;content:"";border:1px solid currentColor;border-radius:50%;opacity:.76}.business-project-frame .business-project-cell-icon--locate:after{position:absolute;width:3px;height:3px;content:"";border-radius:50%;background:#ffffff;box-shadow:0 0 7px #ffffffb8}.business-project-frame tbody tr.is-active .business-project-cell-icon--locate{color:var(--screen-icon-primary, #30dcff);background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.1);box-shadow:0 0 7px var(--screen-icon-glow, rgba(48, 220, 255, .22)),inset 0 0 7px #30dcff1f}.business-project-frame tbody tr.is-active .business-project-cell-icon--locate:after{background:#ffffff;box-shadow:0 0 8px #ffffffdb}.business-project-col-name{width:45%}.business-project-col-year{width:13%}.business-project-col-category{width:20%}.business-project-col-scale{width:22%}.business-project-empty{position:absolute;top:25px;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff94;font-size:12px;pointer-events:none}.business-project-ledger{display:grid;grid-template-rows:28px 30px minmax(0,1fr);gap:7px;height:100%;padding:7px 10px 8px;box-sizing:border-box;overflow:hidden}.business-project-ledger__summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-width:0;padding:0 8px;border-left:2px solid #24f6c4;background:linear-gradient(90deg,rgba(36,246,196,.14),rgba(48,220,255,.04))}.business-project-ledger__summary-main{display:flex;align-items:baseline;min-width:0;gap:4px}.business-project-ledger__summary strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;line-height:22px;font-weight:800;text-shadow:0 0 10px rgba(36,246,196,.26)}.business-project-ledger__summary span,.business-project-ledger__summary small{overflow:hidden;color:#dff8ffad;font-size:11px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.business-project-ledger__summary small{color:#c9fbffc2}.business-project-ledger__pager{display:inline-flex;align-items:center;justify-content:end;gap:3px;min-width:0}.business-project-ledger__pager>span{min-width:26px;color:#d8f7fcb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:14px;text-align:center;white-space:nowrap}.business-project-ledger__page-button{display:inline-flex;width:18px;height:18px;padding:0;align-items:center;justify-content:center;border:1px solid rgba(48,220,255,.24);color:#d2f7ffdb;cursor:pointer;background:rgba(48,220,255,.06)}.business-project-ledger__page-button i{display:block;width:5px;height:5px;border-bottom:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(45deg)}.business-project-ledger__page-button.is-next i{transform:rotate(225deg)}.business-project-ledger__page-button:hover:not(:disabled),.business-project-ledger__page-button:focus-visible:not(:disabled){outline:none;border-color:#24f6c4bd;color:#fff;background:rgba(36,246,196,.16)}.business-project-ledger__page-button:disabled{opacity:.3;cursor:default}.business-project-ledger__list{display:grid;grid-template-rows:repeat(var(--ledger-row-count, 15),minmax(0,1fr));padding-bottom:2px;overflow:hidden}.business-project-ledger__row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;min-height:0;padding:5px 5px 5px 9px;border-bottom:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.022);box-sizing:border-box;outline:none}.business-project-ledger__row:nth-child(2n){background:rgba(36,246,196,.025)}.business-project-ledger__row.is-locatable{cursor:pointer}.business-project-ledger__row.is-locatable:hover,.business-project-ledger__row.is-locatable:focus-visible,.business-project-ledger__row.is-active{background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(48,220,255,.055));box-shadow:inset 2px 0 #24f6c4d1}.business-project-ledger__row.is-unlocated{opacity:.66}.business-project-ledger__row .business-project-locate-button{justify-self:center}.business-project-ledger__row.is-active .business-project-cell-icon--locate{color:var(--screen-icon-primary, #30dcff);background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.1);box-shadow:0 0 7px var(--screen-icon-glow, rgba(48, 220, 255, .22)),inset 0 0 7px #30dcff1f}.business-project-ledger__row.is-active .business-project-cell-icon--locate:after{background:#ffffff;box-shadow:0 0 8px #ffffffdb}.business-project-ledger__info{display:grid;min-width:0;gap:4px}.business-project-ledger__info>strong{overflow:hidden;color:#f6fefff5;font-size:13px;line-height:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.business-project-ledger__info>div{min-width:0}.business-project-ledger__info span{display:block;min-width:0;overflow:hidden;color:#cdeff8a8;font-size:11px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.business-project-ledger__unlocated{justify-self:center;color:#d6ebf17a;font-size:10px;line-height:12px;white-space:nowrap}.business-spec-grid{display:grid;grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:6px;height:100%;padding:7px 11px 9px;box-sizing:border-box;overflow:hidden}.business-spec-grid__row{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-template-rows:minmax(18px,1fr) 23px;grid-template-areas:"index name count" "index specs count";column-gap:9px;align-items:center;min-width:0;padding:5px 8px 5px 7px;border:1px solid rgba(48,220,255,.16);border-left:2px solid rgba(36,246,196,.82);background:linear-gradient(90deg,rgba(22,119,135,.2),rgba(48,220,255,.025) 72%),rgba(2,23,35,.26);box-sizing:border-box}.business-spec-grid__row:nth-child(2){border-left-color:#30dcffe6}.business-spec-grid__row:nth-child(3){border-left-color:#8bf7ffc7}.business-spec-grid__index{grid-area:index;display:grid;width:24px;height:24px;place-items:center;align-self:center;border:1px solid rgba(36,246,196,.38);background:rgba(36,246,196,.08);color:#a4ffeceb;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;font-weight:800;line-height:1}.business-spec-grid__row:nth-child(2) .business-spec-grid__index{border-color:#30dcff70;background:rgba(48,220,255,.09);color:#b7f7fff2}.business-spec-grid__row:nth-child(3) .business-spec-grid__index{border-color:#8bf7ff6b;background:rgba(139,247,255,.08);color:#c9fbfff2}.business-spec-grid__name{grid-area:name;min-width:0;overflow:hidden;color:#f4fefff0;font-size:13px;line-height:17px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.business-spec-grid__count{grid-area:count;align-self:stretch;display:flex;min-width:53px;padding-left:10px;align-items:center;border-left:1px solid rgba(48,220,255,.18);color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:25px;line-height:27px;font-weight:800;text-align:right;white-space:nowrap;text-shadow:0 0 11px rgba(48,220,255,.36)}.business-spec-grid__count em{margin-left:2px;color:#e4faffa8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-spec-grid__specs{grid-area:specs;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0}.business-spec-grid__specs>span{display:flex;align-items:baseline;min-width:0;gap:4px;padding:2px 5px;background:rgba(2,33,45,.36)}.business-spec-grid__specs small,.business-spec-grid__specs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-spec-grid__specs small{color:#d3f3faa8;font-size:10px;line-height:11px}.business-spec-grid__specs strong{color:#91faeffa;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:14px;font-weight:800}.business-spec-grid__specs strong em{margin-left:1px;color:#dcf9ff94;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-support-matrix{display:grid;grid-template-rows:16px 24px minmax(0,1fr);gap:4px;height:100%;padding:7px 11px 8px;box-sizing:border-box;overflow:hidden}.business-support-matrix__note{display:block;overflow:hidden;color:#d1f1f89e;font-size:10px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.business-support-matrix__head,.business-support-matrix__body>div{display:grid;grid-template-columns:76px repeat(3,minmax(0,1fr));align-items:center;min-width:0}.business-support-matrix__head{border:1px solid rgba(48,220,255,.17);background:linear-gradient(90deg,rgba(48,220,255,.17),rgba(48,220,255,.06))}.business-support-matrix__head span{min-width:0;padding:0 5px;overflow:hidden;color:#e0f9ffc7;font-size:10px;line-height:13px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.business-support-matrix__head span:first-child{text-align:left}.business-support-matrix.is-with-total .business-support-matrix__head,.business-support-matrix.is-with-total .business-support-matrix__body>div{grid-template-columns:58px 50px repeat(3,minmax(0,1fr))}.business-support-matrix.is-with-total .business-support-matrix__head span:nth-child(2){color:#c9fbffdb}.business-support-matrix.is-with-total .business-support-matrix__total{color:#c9fbff;text-shadow:0 0 8px rgba(48,220,255,.2)}.business-support-matrix__body{display:grid;grid-template-rows:repeat(10,minmax(0,1fr));min-height:0;overflow:hidden;border:1px solid rgba(48,220,255,.1);border-top:0}.business-support-matrix__body>div{min-height:0;border-bottom:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.018)}.business-support-matrix__body>div:nth-child(2n){background:rgba(36,246,196,.025)}.business-support-matrix__body>div:last-child{border-bottom:0}.business-support-matrix__body span,.business-support-matrix__body strong{min-width:0;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-support-matrix__body span{color:#edfdffd9;font-size:11px;line-height:14px}.business-support-matrix__body strong{color:#6df2e7f0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:14px;font-weight:800;text-align:center}.business-stack-columns{display:grid;grid-template-rows:24px minmax(0,1fr);gap:5px;height:100%;padding:8px 12px 6px;box-sizing:border-box;overflow:hidden}.business-stack-columns.is-dense .business-stack-chart{gap:4px}.business-stack-columns.is-dense .business-stack-track{width:18px}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-item{grid-template-rows:16px minmax(42px,1fr) 36px}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-total{grid-row:1}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-track{grid-row:2}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-item>span{grid-row:3}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-total{align-self:end;max-width:100%;overflow:hidden;color:#f5fdfff0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;font-weight:800;line-height:15px;text-align:center;text-overflow:clip;white-space:nowrap;text-shadow:0 0 8px rgba(48,220,255,.3)}.business-stack-columns.is-with-values:not(.is-variant-dual) .business-stack-total em{margin-left:1px;color:#ebfcff9e;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-stack-columns.is-dense.is-with-values:not(.is-variant-dual) .business-stack-item{grid-template-rows:15px minmax(40px,1fr) 36px}.business-stack-columns.is-dense.is-with-values:not(.is-variant-dual) .business-stack-total{font-size:10px;line-height:14px}.business-stack-columns.is-dense.is-with-values:not(.is-variant-dual) .business-stack-total em{display:none}.business-stack-columns.is-variant-dual{grid-template-rows:24px minmax(0,1fr);gap:4px;padding:8px 14px 7px}.business-stack-columns.is-variant-dual .business-stack-legend{justify-content:center;gap:14px;padding-right:0}.business-stack-columns.is-variant-dual .business-stack-legend span{color:#f5fdffe6;font-size:11px;line-height:16px}.business-stack-columns.is-variant-dual .business-stack-legend i{width:8px;height:8px;border-radius:50%}.business-stack-columns.is-variant-dual .business-stack-chart{position:relative;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));align-items:stretch;gap:14px;padding:1px 4px 0}.business-stack-columns.is-variant-dual .business-stack-chart:before{content:"";position:absolute;left:4px;right:4px;top:25px;bottom:31px;background:repeating-linear-gradient(to bottom,rgba(159,220,230,.15) 0 1px,transparent 1px 18px);pointer-events:none}.business-stack-columns.is-variant-dual .business-stack-item{position:relative;z-index:1;grid-template-rows:18px minmax(62px,1fr) 27px;justify-items:center;min-width:0}.business-stack-columns.is-variant-dual .business-stack-item.is-active .business-stack-track i{animation:businessDataPulse 1.8s ease-in-out infinite}.business-stack-columns.is-variant-dual .business-stack-item.is-active span,.business-stack-columns.is-variant-dual .business-stack-item.is-active strong{color:#fff}.business-stack-columns.is-variant-dual .business-stack-total{align-self:end;color:#f5fdffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:11px;line-height:16px;white-space:nowrap;text-shadow:0 0 8px rgba(255,255,255,.22)}.business-stack-columns.is-variant-dual .business-stack-total em{margin-left:2px;color:#f5fdffad;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-stack-columns.is-variant-dual .business-stack-track{position:relative;align-self:end;width:25px;height:100%;min-height:58px;max-height:94px;overflow:visible;border:1px solid rgba(48,220,255,.14);background:linear-gradient(180deg,rgba(48,220,255,.09),rgba(48,220,255,.025)),rgba(5,30,42,.24);box-shadow:inset 0 0 10px #30dcff0d}.business-stack-columns.is-variant-dual .business-stack-track:after{content:"";position:absolute;left:50%;bottom:-6px;width:42px;height:8px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.34),rgba(48,220,255,0) 72%);transform:translate(-50%);pointer-events:none}.business-stack-columns.is-variant-dual .business-stack-track i{position:relative;display:block;min-height:3px;box-shadow:0 0 14px color-mix(in srgb,currentColor 44%,transparent),inset 0 1px #ffffff3d}.business-stack-columns.is-variant-dual .business-stack-track i:last-child:before{content:"";position:absolute;left:0;right:0;top:-5px;height:8px;background:inherit;filter:brightness(1.22);transform:skew(-32deg);transform-origin:left bottom}.business-stack-columns.is-variant-dual .business-stack-item span{max-width:60px;color:#fafeffd1;font-size:11px;line-height:13px;white-space:nowrap;-webkit-line-clamp:1}.business-stack-columns.is-variant-parkSlim{grid-template-rows:24px minmax(0,1fr);gap:2px;padding:5px 20px 6px}.business-stack-columns.is-variant-parkSlim .business-stack-legend{justify-content:center;gap:22px;padding-right:0}.business-stack-columns.is-variant-parkSlim .business-stack-legend span{color:#f5fdffe0;font-size:11px;line-height:16px;font-weight:700}.business-stack-columns.is-variant-parkSlim .business-stack-legend i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 3px currentColor}.business-stack-columns.is-variant-parkSlim .business-stack-unit{margin-left:6px;color:#ebfcffc7;font-size:11px;font-weight:700}.business-stack-columns.is-variant-parkSlim .business-stack-chart{position:relative;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:30px;padding:1px 10px 0}.business-stack-columns.is-variant-parkSlim .business-stack-chart:before{content:"";position:absolute;left:8px;right:8px;top:26px;bottom:41px;background:repeating-linear-gradient(to bottom,rgba(194,238,246,.14) 0 1px,transparent 1px 22px);pointer-events:none}.business-stack-columns.is-variant-parkSlim .business-stack-item{position:relative;z-index:1;grid-template-rows:18px minmax(86px,1fr) 40px;min-width:0;overflow:visible}.business-stack-columns.is-variant-parkSlim .business-stack-total{align-self:end;color:#fafefff5;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:16px;font-weight:800;white-space:nowrap;text-shadow:0 0 5px rgba(255,255,255,.2)}.business-stack-columns.is-variant-parkSlim .business-stack-total em{margin-left:2px;color:#ebfcffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-stack-columns.is-variant-parkSlim .business-stack-track{position:relative;align-self:end;width:18px;height:100%;min-height:78px;max-height:118px;overflow:visible;border:0;background:linear-gradient(180deg,rgba(48,220,255,.1),rgba(48,220,255,.035));box-shadow:none}.business-stack-columns.is-variant-parkSlim .business-stack-track:before{content:"";position:absolute;left:50%;bottom:0;width:38px;height:1px;background:linear-gradient(90deg,transparent,rgba(180,248,255,.35),transparent);transform:translate(-50%)}.business-stack-columns.is-variant-parkSlim .business-stack-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:34px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.22),rgba(48,220,255,0) 72%);transform:translate(-50%);pointer-events:none}.business-stack-columns.is-variant-parkSlim .business-stack-track i{position:relative;display:block;min-height:3px;box-shadow:inset 0 1px #ffffff47,0 0 3px color-mix(in srgb,currentColor 32%,transparent)}.business-stack-columns.is-variant-parkSlim .business-stack-track i:first-child{border-radius:0 0 8px 8px}.business-stack-columns.is-variant-parkSlim .business-stack-track i:last-child{border-radius:8px 8px 0 0}.business-stack-columns.is-variant-parkSlim .business-stack-track i:last-child:before{content:"";position:absolute;left:2px;right:2px;top:-4px;height:6px;border-radius:50%;background:rgba(238,255,255,.82);box-shadow:0 0 4px #eeffff5c}.business-stack-columns.is-variant-parkSlim .business-stack-item span{align-self:center;width:18px;height:40px;color:#fafeffeb;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;overflow:visible;-webkit-line-clamp:unset}.business-stack-columns.is-variant-parkSlim .business-stack-item.is-active .business-stack-track i{animation:none}.business-stack-columns.is-variant-parkSlim .business-stack-item.is-active span,.business-stack-columns.is-variant-parkSlim .business-stack-item.is-active strong{color:#fff}.business-stack-legend{display:flex;justify-content:center;gap:9px;min-width:0;overflow:hidden}.business-stack-legend span{display:inline-flex;align-items:center;gap:4px;min-width:0;color:#ffffffd1;font-size:10px;line-height:14px;white-space:nowrap}.business-stack-legend i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px currentColor}.business-stack-unit{align-self:center;margin-left:2px;color:#d8f7fc9e;font-size:10px;line-height:14px;white-space:nowrap}.business-stack-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(24px,1fr));align-items:stretch;gap:6px;min-height:0}.business-stack-item{display:grid;grid-template-rows:minmax(42px,1fr) 36px;justify-items:center;min-width:0}.business-stack-item span{align-self:center;max-width:100%;color:#ffffffb8;font-size:10px;line-height:12px;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-line;word-break:keep-all}.business-stack-track{display:flex;flex-direction:column-reverse;align-self:end;width:20px;height:100%;min-height:48px;max-height:96px;background:linear-gradient(180deg,rgba(48,220,255,.09),rgba(48,220,255,.02));border:1px solid rgba(48,220,255,.12);overflow:hidden}.business-stack-track i{display:block;min-height:2px;box-shadow:0 0 10px #30dcff57}.business-panel.is-column-label-standard .business-columns{grid-template-columns:repeat(auto-fit,minmax(20px,1fr));padding:20px 12px 8px}.business-panel.is-column-label-standard .business-columns.is-dense.is-scrollable{display:grid;grid-template-columns:repeat(auto-fit,minmax(20px,1fr));align-items:stretch;gap:4px;overflow-x:hidden;overflow-y:visible;overscroll-behavior-x:auto;scrollbar-width:none}.business-panel.is-column-label-standard .business-columns.is-dense.is-scrollable::-webkit-scrollbar{display:none}.business-panel.is-column-label-standard .business-columns.is-dense.is-scrollable .business-column-item{flex:none;width:auto;min-width:0;height:auto}.business-panel.is-column-label-standard .business-columns:before{top:36px;bottom:44px}.business-panel.is-column-label-standard .business-columns.is-variant-slim,.business-panel.is-column-label-standard .business-columns.is-variant-plain,.business-panel.is-column-label-standard .business-columns.is-variant-age,.business-panel.is-column-label-standard .business-columns.is-variant-water,.business-panel.is-column-label-standard .business-columns.is-variant-compact{padding-top:20px}.business-panel.is-column-label-standard .business-columns.is-dense,.business-panel.is-column-label-standard .business-columns.is-variant-slim.is-dense{padding-top:22px}.business-panel.is-column-label-standard .business-columns.has-unit-label,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-plain,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-slim,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-age,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-water,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-townCompact,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-compact{padding-top:34px}.business-panel.is-column-label-standard .business-columns.has-unit-label:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-plain:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-slim:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-age:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-water:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-townCompact:before,.business-panel.is-column-label-standard .business-columns.has-unit-label.is-variant-compact:before{top:50px}.business-panel.is-column-label-standard .business-column-item{position:relative;grid-template-rows:minmax(70px,1fr) 42px;overflow:visible}.business-panel.is-column-label-standard .business-column-item span,.business-panel.is-column-label-standard .business-stack-item span,.business-panel.is-column-label-standard .business-peak-item span{display:block;align-self:center;width:18px;height:42px;max-width:none;color:#ffffffe6;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-line-clamp:unset;word-break:keep-all}.business-panel.is-column-label-standard .business-column-track{align-self:end}.business-panel.is-column-label-standard .business-column-item:after,.business-panel.is-column-label-standard .business-stack-item:after,.business-panel.is-column-label-standard .business-peak-item:after{content:attr(data-hover-value);position:absolute;left:50%;top:0;z-index:8;max-width:128px;padding:4px 8px;border:1px solid rgba(36,246,196,.46);background:rgba(3,24,36,.94);box-shadow:0 0 14px #24f6c442;color:#fff;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transform:translate(-50%,2px);transition:opacity .16s ease,transform .16s ease}.business-panel.is-column-label-standard .business-column-item:hover:after,.business-panel.is-column-label-standard .business-stack-item:hover:after,.business-panel.is-column-label-standard .business-peak-item:hover:after{opacity:1;transform:translate(-50%)}.business-panel.is-column-label-standard .business-peaks,.business-panel.is-column-label-standard .business-peaks.is-dense{grid-template-columns:repeat(auto-fit,minmax(20px,1fr));gap:4px;padding:34px 10px 8px;overflow:hidden}.business-panel.is-column-label-standard .business-peak-item,.business-panel.is-column-label-standard .business-peaks.is-dense .business-peak-item{position:relative;grid-template-rows:minmax(44px,1fr) 42px;min-width:0;overflow:visible}.business-panel.is-column-label-standard .business-peaks.is-dense .business-peak-item span{width:18px;height:42px;max-height:none;line-height:16px;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap}.business-panel.is-column-label-standard .business-peak-stage{align-self:end;min-height:42px}.business-panel.is-column-label-standard .business-peaks.is-dense .business-peak-stage{min-height:42px}.business-panel.is-column-label-standard .business-line{grid-template-rows:minmax(0,1fr) 42px}.business-panel.is-column-label-standard .business-line-labels{align-items:start}.business-panel.is-column-label-standard .business-line-labels span{display:block;justify-self:center;width:18px;height:42px;color:#ffffffe6;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;text-align:center;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;overflow:hidden;text-overflow:clip;word-break:keep-all}.business-panel.is-column-label-standard .business-stack-columns{grid-template-rows:22px minmax(0,1fr);padding-bottom:7px}.business-panel.is-column-label-standard .business-stack-item{position:relative;grid-template-rows:minmax(44px,1fr) 42px;overflow:visible}.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns{padding-bottom:9px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-slim,.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-projectYear{padding-bottom:14px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-projectYear{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-column-item,.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-plain .business-column-item{grid-template-rows:minmax(70px,1fr) 28px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-projectYear .business-column-item,.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-slim .business-column-item{grid-template-rows:minmax(76px,1fr) 24px}.business-panel.is-column-label-standard.is-column-label-horizontal .business-column-item span,.business-panel.is-column-label-standard.is-column-label-horizontal .business-line-labels span{width:auto;height:auto;max-width:68px;color:#ffffffe6;font-size:12px;line-height:14px;writing-mode:horizontal-tb;text-orientation:mixed;white-space:nowrap;overflow:visible;text-overflow:clip}.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-projectYear .business-column-item span,.business-panel.is-column-label-standard.is-column-label-horizontal .business-columns.is-variant-slim .business-column-item span{max-width:72px;font-size:12px;line-height:15px}.business-peaks{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;height:100%;padding:8px 15px 7px;box-sizing:border-box;overflow:hidden}.business-peak-unit{right:15px}.business-peaks.is-dense{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:8px 8px 7px}.business-peak-item{display:grid;grid-template-rows:18px minmax(0,1fr) 22px;justify-items:center;min-width:0}.business-peak-item strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:16px;text-shadow:0 0 12px rgba(48,220,255,.45);white-space:nowrap}.business-peak-item strong em{margin-left:2px;color:#eefdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:600}.business-peak-item span{align-self:center;max-width:100%;color:#ffffffad;font-size:10px;line-height:12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-peaks.is-dense .business-peak-item{grid-template-rows:17px minmax(0,1fr) 24px}.business-peaks.is-dense .business-peak-item strong{font-size:11px;line-height:15px;transform:scale(.92);transform-origin:center top}.business-peaks.is-dense .business-peak-item span{line-height:11px;white-space:pre-line;writing-mode:horizontal-tb;max-height:24px}.business-peak-stage{position:relative;width:100%;min-height:62px;align-self:stretch}.business-peak-stage:before{content:"";position:absolute;left:8px;right:8px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(48,220,255,.6),transparent)}.business-peak-stage i{position:absolute;left:50%;bottom:0;width:34px;height:var(--peak-height);min-height:20px;max-height:100%;transform:translate(-50%);background:radial-gradient(ellipse at 50% 100%,var(--peak-color) 0,rgba(36,246,196,.26) 22%,rgba(36,246,196,0) 62%),linear-gradient(180deg,var(--peak-color),rgba(36,246,196,.04));clip-path:polygon(50% 0,68% 32%,78% 100%,22% 100%,32% 32%);filter:drop-shadow(0 0 9px rgba(48,220,255,.42))}.business-peak-stage i:after{content:"";position:absolute;left:50%;top:0;width:5px;height:5px;border-radius:50%;background:#ffffff;box-shadow:0 0 9px var(--peak-color);transform:translate(-50%)}.business-peaks.is-dense .business-peak-stage{min-height:58px}.business-peaks.is-dense .business-peak-stage:before{left:4px;right:4px}.business-peaks.is-dense .business-peak-stage i{width:24px}.business-line{display:grid;grid-template-rows:minmax(0,1fr) 31px;gap:2px;height:100%;padding:6px 10px;box-sizing:border-box;overflow:hidden}.business-line-chart{position:relative;min-height:0;background:linear-gradient(180deg,rgba(48,220,255,.08),rgba(48,220,255,.02));border:1px solid rgba(48,220,255,.1);overflow:visible}.business-line-chart svg{width:100%;height:100%}.business-line-grid{stroke:#ffffff1a;stroke-width:1}.business-line-area{fill:#30dcff21;stroke:none}.business-line-stroke{fill:none;stroke:#8bf7ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 7;animation:businessLineFlow 2.2s linear infinite}.business-line-dot{fill:#fff;stroke:#8bf7ff;stroke-width:1.6;animation:businessDotPulse 2.2s ease-in-out infinite;transition:r .28s ease,fill .28s ease,stroke .28s ease,stroke-width .28s ease,filter .28s ease;transform-box:fill-box;transform-origin:center}.business-line-dot.is-active{r:5.6;fill:#fff;stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(255,255,255,.76)) drop-shadow(0 0 9px rgba(139,247,255,.62));animation:businessActiveDotPulse 1.35s ease-in-out infinite}.business-line-hit{fill:transparent;stroke:transparent;cursor:pointer;pointer-events:all}.business-line-hover-zones{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;z-index:1}.business-line-hover-zones i{display:block;min-width:0;cursor:pointer}.business-line-tooltip{position:absolute;z-index:3;min-width:86px;padding:5px 8px;border:1px solid rgba(48,220,255,.34);background:rgba(3,18,30,.9);box-shadow:0 0 14px #30dcff38;transform:translate(-50%,calc(-100% - 8px));pointer-events:none;transition:left .28s ease,top .28s ease,transform .28s ease}.business-line-tooltip span{display:block;color:#dcf8ffc7;font-size:10px;line-height:12px;white-space:nowrap}.business-line-tooltip strong{display:block;margin-top:2px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:16px;line-height:18px}.business-line-tooltip strong em{margin-left:3px;color:#ffffff9e;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-line-labels{display:grid;gap:2px;min-width:0;align-items:start;min-height:0;overflow:hidden}.business-line-labels span{min-width:0;color:#ffffff9e;font-size:10px;line-height:12px;text-align:center;overflow:visible;text-overflow:clip;white-space:pre-line;writing-mode:horizontal-tb;justify-self:center;max-height:none}.business-heat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px;height:100%;padding:8px 14px 9px;box-sizing:border-box;overflow:hidden}.business-heat.is-dense{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px 10px 9px}.business-heat.is-dense .business-heat-cell{grid-template-rows:12px 16px 22px;gap:2px;padding:6px 4px 5px}.business-heat.is-dense .business-heat-cell strong{font-size:14px;line-height:16px}.business-heat-cell{position:relative;display:grid;grid-template-rows:12px 16px minmax(20px,auto);align-items:center;align-content:center;justify-items:center;gap:3px;min-width:0;min-height:0;padding:6px 5px 5px;border:1px solid rgba(62,226,255,.2);background:linear-gradient(180deg,var(--heat-bg),rgba(48,220,255,.018)),rgba(6,30,45,.32);box-shadow:inset 0 0 0 1px #30dcff06;overflow:hidden}.business-heat-cell i{width:7px;height:7px;border:1px solid var(--heat-color);border-radius:50%;background:rgba(48,220,255,.08);box-shadow:none}.business-heat-cell span{max-width:100%;color:#e2f9ffc7;font-size:10px;line-height:11px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.business-heat-cell strong{max-width:100%;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-heat-cell strong em{margin-left:2px;color:#f6fdffb8;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-split{display:grid;grid-template-rows:42px minmax(0,1fr);gap:10px;height:100%;padding:13px 16px;box-sizing:border-box;overflow:hidden}.business-split.is-dense{grid-template-rows:18px minmax(0,1fr);gap:4px;padding:6px 10px}.business-split.is-dense .business-split-band{height:auto}.business-split.is-dense .business-split-list{grid-auto-rows:minmax(0,1fr);height:auto;gap:2px;overflow:hidden}.business-split.is-dense .business-split-row{min-height:0;padding:0 5px}.business-split.is-dense .business-split-row span{font-size:10px;line-height:11px}.business-split.is-dense .business-split-row strong{font-size:11px;line-height:12px}.business-split-band{display:flex;height:auto;padding:3px;background:rgba(48,220,255,.07);border:1px solid rgba(62,226,255,.2)}.business-split-band i{display:block;min-width:8px;height:100%}.business-split-list{display:grid;grid-auto-rows:minmax(26px,1fr);gap:6px;min-height:0;height:auto;overflow-y:auto;padding-right:3px}.business-split-list::-webkit-scrollbar{width:3px}.business-split-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.business-split-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;padding:0 9px;background:rgba(48,220,255,.035);border:1px solid rgba(62,226,255,.16)}.business-split-row span{display:flex;align-items:center;min-width:0;color:#ffffffb8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-split-row span i{flex:0 0 auto;width:8px;height:8px;margin-right:7px}.business-panel{color:#f4feff}.business-panel-empty{color:#e0faffd1}.business-metric-item,.business-icon-metric-item,.business-spotlight-main,.business-spotlight-chip,.business-structure-focus,.business-structure-row,.business-line-chart,.business-heat-cell,.business-split-row{border-color:#3ce1ff33;background-color:#061e2d61;box-shadow:inset 0 0 0 1px #30dcff0a}.business-metric-item span,.business-icon-metric-copy span,.business-spotlight-main span,.business-spotlight-chip span,.business-donut-row span,.business-structure-focus span,.business-structure-row span,.business-bar-name,.business-column-item span,.business-peak-item span,.business-line-labels span,.business-heat-cell span,.business-split-row span{color:#ecfcffeb}.business-icon-metric-copy strong,.business-spotlight-main strong,.business-donut-row strong,.business-structure-focus strong,.business-structure-row strong,.business-column-item strong,.business-peak-item strong,.business-heat-cell strong{color:#fff;text-shadow:0 0 4px rgba(48,220,255,.28)}.business-metric-item strong,.business-spotlight-chip strong,.business-bar-row strong,.business-split-row strong,.business-structure-focus em{color:#38f8ff;text-shadow:0 0 4px rgba(48,220,255,.32)}.business-metric-item em,.business-icon-metric-copy strong em,.business-spotlight-main strong em,.business-spotlight-chip strong em,.business-donut-row em,.business-structure-row strong em,.business-bar-row strong em,.business-bar-row strong small,.business-heat-cell strong em{color:#eefdffb8}.business-spotlight-main small,.business-spotlight-chip small,.business-structure-focus small,.business-structure-row small{color:#c9fbffeb}.business-bar-track,.business-column-track,.business-split-band{border-color:#48e4ff42;background:rgba(60,225,255,.12);box-shadow:inset 0 0 0 1px #30dcff0d}.business-bar-track i,.business-column-track i,.business-split-band i{box-shadow:0 0 3px #30dcff1f}.business-bars.is-capacity .business-bar-name{color:#ecfcffeb}.business-bars.is-capacity .business-bar-row strong{color:#24f6c4;text-shadow:0 0 4px rgba(36,246,196,.3)}.business-line-grid{stroke:#d5f7ff33}.business-line-area{fill:#30dcff29}.business-line-stroke{filter:drop-shadow(0 0 2px rgba(139,247,255,.42))}.business-line-dot{filter:drop-shadow(0 0 2px rgba(48,220,255,.46))}.business-line-dot.is-active{filter:drop-shadow(0 0 4px rgba(255,255,255,.72)) drop-shadow(0 0 9px rgba(139,247,255,.62))}.business-panel,.business-panel span,.business-panel strong,.business-panel em,.business-panel small{color:#fff;text-shadow:none}.business-panel .business-bar-name,.business-panel .business-donut-row span,.business-panel .business-structure-row span,.business-panel .business-column-item span,.business-panel .business-peak-item span,.business-panel .business-line-labels span,.business-panel .business-heat-cell span,.business-panel .business-split-row span,.business-panel .business-icon-metric-copy span,.business-panel .business-spotlight-chip span,.business-panel .business-bar-row strong,.business-panel .business-split-row strong,.business-panel .business-metric-item strong,.business-panel .business-spotlight-chip strong,.business-panel .business-structure-focus em{color:#fff}.business-panel .business-bar-name,.business-panel .business-bar-row strong,.business-panel .business-bar-row strong em,.business-panel .business-bar-row strong small,.business-panel .business-column-unit,.business-panel .business-donut-row span,.business-panel .business-donut-row strong,.business-panel .business-donut-row em,.business-panel .business-icon-metric-copy span,.business-panel .business-icon-metric-copy strong,.business-panel .business-icon-metric-copy strong em,.business-panel .business-line-labels span,.business-panel .business-metric-item span,.business-panel .business-metric-item strong,.business-panel .business-metric-item em,.business-panel .business-spotlight-main span,.business-panel .business-spotlight-main strong,.business-panel .business-spotlight-main strong em,.business-panel .business-spotlight-main small,.business-panel .business-spotlight-chip span,.business-panel .business-spotlight-chip strong,.business-panel .business-spotlight-chip strong em,.business-panel .business-spotlight-chip small,.business-panel .business-structure-focus span,.business-panel .business-structure-focus strong,.business-panel .business-structure-focus em,.business-panel .business-structure-focus small,.business-panel .business-structure-row span,.business-panel .business-structure-row strong,.business-panel .business-structure-row strong em,.business-panel .business-structure-row small,.business-panel .business-column-item strong,.business-panel .business-peak-item strong,.business-panel .business-heat-cell strong,.business-panel .business-heat-cell strong em,.business-panel .business-split-row strong{color:var(--screen-color-text-strong, #ffffff)!important;text-shadow:none!important}.business-panel .business-column-item span,.business-panel .business-peak-item span,.business-panel .business-heat-cell span,.business-panel .business-split-row span{color:var(--screen-color-text-secondary, rgba(246, 253, 255, .9))!important;text-shadow:none!important}.business-panel .business-column-unit{color:var(--screen-color-text-muted, rgba(240, 252, 255, .86))!important}.business-project-frame th,.business-project-frame td{font-size:var(--screen-table-body-size, 11px)!important;line-height:13px!important}.business-project-frame strong,.business-project-ledger__info>strong,.business-support-matrix__body strong,.business-table-row strong{font-size:var(--screen-table-value-size, 12px)!important;line-height:14px!important}.business-project-ledger__summary strong{font-size:18px!important;line-height:20px!important}.business-project-ledger__info>span,.business-project-ledger__info span,.business-spec-grid__specs small,.business-support-matrix__head span,.business-support-matrix__body span,.business-table-name{font-size:10px!important;line-height:13px!important}.business-spec-grid__name{font-size:11px!important;line-height:14px!important}.business-spec-grid__index{width:22px!important;height:22px!important;font-size:11px!important}.business-spec-grid__count{min-width:46px!important;font-size:20px!important;line-height:22px!important}.business-spec-grid__specs strong{font-size:11px!important;line-height:13px!important}.business-balance-gauge-grid{display:grid;height:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 12px 10px;box-sizing:border-box;overflow:hidden}.business-balance-gauge-grid.is-single{grid-template-columns:minmax(0,1fr);padding:12px 16px 14px}.business-balance-gauge-grid.is-single .business-balance-gauge-card{width:min(230px,100%);justify-self:center;grid-template-rows:30px minmax(92px,1fr) 24px;padding:10px 16px 12px}.business-balance-gauge-grid.is-single .business-balance-gauge-ring{width:min(122px,56%)}.business-balance-gauge-grid.is-single .business-balance-gauge-value strong{font-size:26px;line-height:30px}.business-balance-gauge-grid.is-single .business-balance-gauge-name{font-size:16px}.business-balance-gauge-grid.is-single .business-balance-gauge-extra{display:none}.business-balance-gauge-card{position:relative;display:grid;min-width:0;min-height:0;grid-template-rows:30px minmax(70px,1fr) 22px 16px;justify-items:center;padding:9px 7px 8px;overflow:hidden;border:1px solid rgba(48,220,255,.18);background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 14%,transparent),transparent 55%),linear-gradient(180deg,rgba(48,220,255,.075),rgba(5,27,40,.46));box-shadow:inset 0 0 18px #30dcff12,0 0 #30dcff00;transition:border-color .35s ease,box-shadow .35s ease,background .35s ease}.business-balance-gauge-card:before{position:absolute;top:8px;right:8px;bottom:8px;left:8px;content:"";border:1px solid rgba(255,255,255,.035);pointer-events:none}.business-balance-gauge-card.is-active{border-color:color-mix(in srgb,var(--balance-color) 64%,rgba(48,220,255,.22));background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 20%,transparent),transparent 58%),linear-gradient(180deg,rgba(48,220,255,.095),rgba(5,27,40,.52));box-shadow:inset 0 0 22px #30dcff17,0 0 14px color-mix(in srgb,var(--balance-color) 16%,transparent)}.business-balance-gauge-head{position:relative;z-index:1;display:flex;width:100%;align-items:center;justify-content:center}.business-balance-gauge-head strong{width:100%;overflow:hidden;color:var(--balance-color);font-size:11px;font-weight:900;text-align:center;text-overflow:ellipsis;text-shadow:0 0 8px color-mix(in srgb,var(--balance-color) 34%,transparent);white-space:nowrap}.business-balance-gauge-ring{position:relative;z-index:1;align-self:center;width:min(92px,82%);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 218deg,var(--balance-color) 0 var(--balance-progress),rgba(93,175,199,.18) var(--balance-progress) 100%),rgba(3,23,35,.78);box-shadow:0 0 18px color-mix(in srgb,var(--balance-color) 22%,transparent),inset 0 0 18px #0000006b}.business-balance-gauge-ring:before{position:absolute;top:12px;right:12px;bottom:12px;left:12px;content:"";border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(48,220,255,.12),rgba(3,23,35,.98) 62%),rgba(3,23,35,.96);box-shadow:inset 0 0 12px #0000006b,inset 0 0 0 1px #30dcff14}.business-balance-gauge-ring:after{position:absolute;left:50%;bottom:9px;width:2px;height:16px;content:"";background:rgba(0,10,18,.8);transform:translate(-50%) rotate(35deg);transform-origin:50% 100%;box-shadow:0 0 5px #000a1294}.business-balance-gauge-value{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center}.business-balance-gauge-value strong{color:#fff!important;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:22px;line-height:26px;font-weight:900;text-shadow:0 0 10px color-mix(in srgb,var(--balance-color) 42%,transparent)!important}.business-balance-gauge-value em{margin-left:2px;color:#eefdffc2!important;font-size:11px;font-style:normal;font-weight:800}.business-balance-gauge-name,.business-balance-gauge-extra{position:relative;z-index:1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.business-balance-gauge-name{color:#fff!important;font-size:15px;line-height:21px;font-weight:900;text-shadow:0 0 8px rgba(48,220,255,.18)!important}.business-balance-gauge-extra{color:#eefdffa8!important;font-size:11px;line-height:16px;font-weight:700}.business-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:100%;padding:9px 12px 8px;box-sizing:border-box;overflow:hidden}.business-gauges.is-dense{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px;padding:8px 12px}.business-gauge-item{position:relative;display:grid;grid-template-rows:minmax(0,1fr) 17px 14px;align-items:center;justify-items:center;min-width:0;min-height:0;padding:6px 4px 5px;border:1px solid rgba(48,220,255,.17);background:radial-gradient(circle at 50% 58%,rgba(48,220,255,.15),rgba(48,220,255,.02) 64%),linear-gradient(180deg,rgba(48,220,255,.09),rgba(5,26,39,.34));box-shadow:inset 0 0 18px #30dcff14;overflow:hidden}.business-gauge-item:before{content:"";position:absolute;left:14px;right:14px;bottom:31px;height:18px;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--gauge-color) 48%,transparent),rgba(48,220,255,0));filter:blur(2px);opacity:.58;pointer-events:none}.business-gauge-item.is-active{border-color:color-mix(in srgb,var(--gauge-color) 58%,rgba(48,220,255,.22));box-shadow:inset 0 0 20px #30dcff1a,0 0 10px color-mix(in srgb,var(--gauge-color) 26%,transparent)}.business-gauge-item.is-alert{background:radial-gradient(circle at 50% 58%,rgba(255,191,90,.17),rgba(48,220,255,.02) 66%),linear-gradient(180deg,rgba(48,220,255,.08),rgba(5,26,39,.34))}.business-gauge-item.is-safe{background:radial-gradient(circle at 50% 58%,rgba(36,246,196,.15),rgba(48,220,255,.02) 66%),linear-gradient(180deg,rgba(48,220,255,.08),rgba(5,26,39,.34))}.business-gauge-item.is-low-rate:before{opacity:.34}.business-gauge-item.is-low-rate .business-gauge-progress{stroke-width:6;stroke-linecap:butt;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--gauge-color) 66%,transparent))}.business-gauge-item.is-low-rate .business-gauge-needle{width:18px;height:3px;opacity:.86}.business-gauge-item.is-low-rate .business-gauge-pivot{width:7px;height:7px}.business-gauge-visual{position:relative;align-self:end;width:100%;max-width:116px;height:82px;min-width:0}.business-gauge-visual svg{position:absolute;left:0;top:0;width:100%;height:72px;overflow:visible}.business-gauge-track,.business-gauge-progress,.business-gauge-glow{fill:none;stroke-linecap:round}.business-gauge-track{stroke:#aaeeff2b;stroke-width:10}.business-gauge-progress{stroke:var(--gauge-color);stroke-width:10;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--gauge-color) 72%,transparent))}.business-gauge-glow{stroke:#30dcff29;stroke-width:1.5;stroke-dasharray:3 6}.business-gauge-needle{position:absolute;left:50%;top:64px;width:42px;height:2px;border-radius:2px;background:linear-gradient(90deg,#ffffff 0%,var(--gauge-color) 76%,rgba(255,255,255,0));box-shadow:0 0 7px color-mix(in srgb,var(--gauge-color) 72%,transparent);transform:rotate(var(--needle-rotate));transform-origin:2px 50%}.business-gauge-pivot{position:absolute;left:50%;top:64px;width:9px;height:9px;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:var(--gauge-color);box-shadow:0 0 8px color-mix(in srgb,var(--gauge-color) 72%,transparent);transform:translate(-50%,-50%)}.business-gauge-value{position:absolute;left:0;right:0;top:28px;text-align:center;pointer-events:none}.business-gauge-value strong{display:block;color:#fff!important;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:19px;font-weight:800;text-shadow:0 0 8px rgba(48,220,255,.42)!important;white-space:nowrap}.business-gauge-value strong em{margin-left:2px;color:#eefdffc2!important;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:500}.business-gauge-value small{display:block;margin-top:2px;color:var(--gauge-color)!important;font-size:10px;line-height:12px;white-space:nowrap}.business-gauge-name,.business-gauge-extra{position:relative;z-index:1;display:block;max-width:100%;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.business-gauge-name{color:#fff!important;font-size:12px;line-height:16px;font-weight:700}.business-gauge-extra{color:#eefdffad!important;font-size:10px;line-height:13px}.business-icon-metric-item{border-color:#30dcff29!important;background:linear-gradient(90deg,rgba(48,220,255,.075),rgba(48,220,255,.02)),linear-gradient(180deg,rgba(8,41,56,.7),rgba(4,20,32,.62))!important}.business-icon-metric-item:before{background:var(--screen-icon-primary, #30dcff)!important;box-shadow:0 0 5px var(--screen-icon-glow, rgba(48, 220, 255, .22))!important}.business-icon-metric-item.is-tone-1:before,.business-icon-metric-item.is-tone-2:before,.business-icon-metric-item.is-tone-3:before{background:var(--screen-icon-primary, #30dcff)!important;box-shadow:0 0 5px var(--screen-icon-glow, rgba(48, 220, 255, .22))!important}.business-icon-metric-mark{width:var(--screen-icon-size, 42px)!important;height:var(--screen-icon-size, 42px)!important;border-color:var(--screen-icon-border, rgba(48, 220, 255, .42))!important;background:radial-gradient(circle at 50% 42%,rgba(48,220,255,.16),rgba(48,220,255,.035) 64%),linear-gradient(135deg,rgba(48,220,255,.15),rgba(4,24,36,.24))!important;box-shadow:inset 0 0 12px #30dcff1a,0 0 5px var(--screen-icon-glow, rgba(48, 220, 255, .22))!important}.business-icon-metric-mark:before,.business-icon-metric-mark:after,.business-icon-metric-mark span,.business-icon-metric-mark span:before,.business-icon-metric-mark span:after{border-color:var(--screen-icon-primary, #30dcff)!important;background:var(--screen-icon-primary, #30dcff)!important;background-color:var(--screen-icon-primary, #30dcff)!important;box-shadow:0 0 4px #30dcff33!important}.business-icon-metric-mark.is-yield span,.business-icon-metric-mark.is-leaf span,.business-icon-metric-mark.is-stack span,.business-icon-metric-mark.is-stack span:before,.business-icon-metric-mark.is-stack span:after{background:linear-gradient(180deg,rgba(139,247,255,.96),rgba(48,220,255,.76))!important}.business-icon-metric-mark.is-rate:before{background:transparent!important;border-width:3px!important;border-color:#30dcffb8!important;border-top-color:#ffffffdb!important}.business-icon-metric-mark.is-area:before{background:linear-gradient(135deg,rgba(48,220,255,.28),rgba(48,220,255,.08))!important}.business-icon-metric-mark.is-risk:before{background:transparent!important;border-left-color:var(--screen-icon-primary, #30dcff)!important;border-bottom-color:var(--screen-icon-primary, #30dcff)!important}.business-project-cell-icon,.business-project-cell-icon--locate,tbody tr.is-active .business-project-cell-icon--locate{color:var(--screen-icon-primary, #30dcff)!important;filter:none!important}.business-project-cell-icon:hover,.business-project-cell-icon:focus-visible{color:#fff!important;filter:none!important}.business-project-cell-icon--locate,tbody tr.is-active .business-project-cell-icon--locate{background:linear-gradient(currentColor,currentColor) center top/1px 3px no-repeat,linear-gradient(currentColor,currentColor) center bottom/1px 3px no-repeat,linear-gradient(currentColor,currentColor) left center/3px 1px no-repeat,linear-gradient(currentColor,currentColor) right center/3px 1px no-repeat,rgba(48,220,255,.08)!important;box-shadow:0 0 5px #30dcff3d,inset 0 0 5px #30dcff1a!important}tbody tr.is-active .business-project-cell-icon--locate:after{background:#ffffff!important;box-shadow:0 0 5px #ffffff7a!important}.feature-info{display:block;height:100%;padding:10px 12px 12px;box-sizing:border-box;overflow:hidden}.feature-info-state{height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff85;font-size:14px;text-align:center}.feature-info-state.is-inline{height:190px}.feature-table{display:flex;flex-direction:column;height:100%;max-height:100%;padding-right:5px;overflow-y:auto}.feature-table::-webkit-scrollbar{width:4px}.feature-table::-webkit-scrollbar-thumb{background:rgba(48,220,255,.32)}.feature-row{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:34px;align-items:stretch;border:1px solid rgba(48,220,255,.13);border-top:0;background:rgba(5,24,37,.56)}.feature-row:first-child{border-top:1px solid rgba(48,220,255,.13)}.feature-row span{display:flex;align-items:center;padding:7px 10px;border-right:1px solid rgba(48,220,255,.13);background:rgba(48,220,255,.08);color:#ffffff8f;font-size:12px;line-height:18px}.feature-row strong{display:flex;align-items:center;min-width:0;padding:7px 11px;color:#effcfff0;font-size:13px;font-weight:600;line-height:18px;word-break:break-word}.feature-row:first-child strong,.feature-row:nth-child(2) strong{color:#1afcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px}.topic-switcher{display:flex;align-items:flex-start;justify-content:center;width:600px;height:52px;padding-top:10px;background:url(./bottom-menu-bg-b465793d-balabala-1783957353180.png) no-repeat center bottom;background-size:100% 52px;pointer-events:all}.topic-switcher-arrow{display:flex;align-items:center;height:30px;margin:0 12px}.topic-switcher-arrow.is-reverse{transform:scaleX(-1)}.topic-switcher-arrow img{animation:arrowAnimate 2s ease-in-out infinite}.topic-switcher-arrow img:last-child{animation:arrowAnimate2 2s ease-in-out infinite}.topic-switcher-menu{display:flex;gap:4px}.topic-switcher-item{position:relative;width:var(--topic-item-width, 112px);height:32px;padding:0;border:0;background:url(./bottom-menu-btn-ee5c8064-balabala-1783957353180.png) no-repeat;background-size:100% 100%;color:#fff;cursor:pointer;overflow:hidden}.topic-switcher-item:hover,.topic-switcher-item.is-active{background:url(./bottom-menu-btn-hover-df33e514-balabala-1783957353180.png) no-repeat;background-size:100% 100%}.topic-switcher .topic-name{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;padding:0 5px;text-align:center;white-space:nowrap}.topic-switcher .topic-name,.topic-switcher .topic-title,.topic-switcher .topic-name small{padding-top:0;font-size:16px;font-weight:700;line-height:18px;background:-webkit-linear-gradient(rgb(117,232,255),rgb(255,255,255));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.topic-switcher .topic-name.has-sub-name{gap:1px}.topic-switcher .topic-name small{display:block;max-width:100%;overflow:hidden;font-size:10px;font-weight:600;line-height:11px;text-overflow:ellipsis}.home-dashboard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c}.home-map-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.home-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 46%,rgba(2,13,20,.16) 76%,rgba(2,12,18,.42) 100%),linear-gradient(90deg,rgba(0,14,24,.24),transparent 22%,transparent 78%,rgba(0,14,24,.24))}.home-bottom-switcher{position:absolute;left:50%;bottom:8px;z-index:10;width:760px;transform:translate(-50%);pointer-events:auto}.home-bottom-switcher .topic-switcher{width:760px}.home-bottom-switcher .topic-switcher-menu{flex:0 0 auto}.home-bottom-switcher .topic-switcher-arrow{display:none}.home-toolbar-rotation-toggle{position:absolute;top:10px;right:72px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(48,220,255,.56);border-radius:50%;background:rgba(4,27,43,.82);box-shadow:0 0 0 1px #30dcff1f inset,0 0 16px #30dcff3d;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.home-toolbar-rotation-toggle:hover{border-color:#8bf7ffeb;background:rgba(7,42,64,.92);box-shadow:0 0 0 1px #8bf7ff33 inset,0 0 20px #30dcff5c}.home-toolbar-rotation-toggle:active{transform:scale(.94)}.home-toolbar-rotation-toggle.is-paused{border-color:#a7ff4fa3;box-shadow:0 0 0 1px #a7ff4f24 inset,0 0 16px #a7ff4f38}.home-toolbar-rotation-icon{position:relative;display:block;width:14px;height:14px}.home-toolbar-rotation-icon.is-pause:before,.home-toolbar-rotation-icon.is-pause:after{position:absolute;top:1px;bottom:1px;width:4px;border-radius:2px;background:#eaffff;content:""}.home-toolbar-rotation-icon.is-pause:before{left:2px}.home-toolbar-rotation-icon.is-pause:after{right:2px}.home-toolbar-rotation-icon.is-play:before{position:absolute;top:1px;left:3px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #eaffff;content:""}.home-layer-tools{position:absolute;top:auto;right:458px;bottom:72px;left:auto;z-index:7;width:248px;box-sizing:border-box;pointer-events:auto}.home-layer-tools .m-card{width:100%!important;height:430px!important;background:rgba(3,18,30,.54);backdrop-filter:blur(2px)}.home-map-feature-info{position:absolute;z-index:8;pointer-events:auto}.home-map-feature-info .m-card{background:rgba(3,18,30,.58);backdrop-filter:blur(2px)}.home-layer-tree-panel{display:grid;grid-template-rows:minmax(170px,236px) minmax(0,1fr);gap:12px;height:100%;box-sizing:border-box;padding:12px 12px 14px;overflow:hidden}.home-layer-tree-list{display:flex;flex-direction:column;gap:7px;min-height:0;padding-right:4px;overflow-y:auto;scrollbar-width:none}.home-layer-tree-list::-webkit-scrollbar{display:none}.home-layer-tree-group{display:flex;flex-direction:column;gap:6px}.home-layer-tree-parent,.home-layer-tree-child{display:flex;align-items:center;justify-content:space-between;min-width:0;height:27px;flex:0 0 27px;border:1px solid rgba(48,220,255,.22);color:#ffffffbd;font-size:12px;cursor:pointer;background:rgba(3,20,32,.58)}.home-layer-tree-parent span,.home-layer-tree-child span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-layer-tree-child.is-overlay i{border-radius:1px}.home-layer-tree-child.is-overlay.is-active i:after{content:"";display:block;width:4px;height:2px;margin:2px 0 0 1px;border-left:1px solid #08202d;border-bottom:1px solid #08202d;transform:rotate(-45deg)}.home-layer-tree-parent{padding:0 9px;font-weight:700}.home-layer-tree-parent i{width:7px;height:7px;border-right:1px solid rgba(255,255,255,.62);border-bottom:1px solid rgba(255,255,255,.62);transform:rotate(-45deg);transition:transform .18s ease}.home-layer-tree-group.is-open .home-layer-tree-parent i{transform:rotate(45deg) translateY(-2px)}.home-layer-tree-parent.is-active{color:#fff;border-color:#30dcffa8;background:linear-gradient(90deg,rgba(21,121,130,.5),rgba(3,20,32,.78))}.home-layer-tree-children{display:flex;flex-direction:column;gap:6px;padding-left:12px}.home-layer-tree-child{padding:0 9px}.home-layer-tree-child i{width:8px;height:8px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.home-layer-tree-child.is-active{color:#fff;border-color:#30dcffb3;background:linear-gradient(90deg,rgba(21,121,130,.52),rgba(3,20,32,.78))}.home-layer-tree-child.is-active i{border-color:#30dcff;background:#30dcff;box-shadow:0 0 12px #30dcffe0}.home-layer-tree-legend{min-height:0;padding-top:9px;border-top:1px solid rgba(48,220,255,.18);overflow:visible}.home-layer-tree-title{position:relative;margin-bottom:7px;padding-left:10px;color:#dbf9ffe6;font-size:13px;font-weight:600;line-height:16px}.home-layer-tree-title:before{content:"";position:absolute;left:0;top:4px;width:4px;height:8px;background:#30dcff;box-shadow:0 0 10px #30dcffb3}.home-layer-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,96px));justify-content:center;align-content:start;gap:7px 8px;max-height:calc(100% - 24px);padding-right:4px;overflow-y:auto;scrollbar-width:none}.home-layer-legend-grid::-webkit-scrollbar{display:none}.home-layer-legend-grid.is-single{grid-template-columns:minmax(0,128px)}.home-layer-legend-row{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:start;column-gap:6px;min-width:0;min-height:22px;padding:3px 2px;border:1px solid transparent;color:inherit;text-align:left;cursor:pointer;background:transparent}.home-layer-legend-row:disabled{opacity:1}.home-layer-legend-row.is-checkable{grid-template-columns:15px minmax(0,1fr) 12px}.home-layer-legend-row.is-selected{border-color:#30dcff75;background:rgba(48,220,255,.08)}.home-layer-legend-row.is-disabled{cursor:default}.home-layer-legend-swatch{width:12px;height:12px;margin-top:2px;border:1px solid currentColor}.home-layer-legend-name{min-width:0;color:#ecfbffbd;font-size:11px;line-height:16px;word-break:break-all}.home-layer-legend-check{width:7px;height:7px;margin-top:4px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.home-layer-legend-row.is-selected .home-layer-legend-check{border-color:#30dcff;background:#30dcff;box-shadow:0 0 10px #30dcffb8}.home-layer-tree-empty{padding-top:18px;color:#dbf9ff75;font-size:12px;text-align:center}.home-left,.home-right{position:absolute;top:128px;bottom:8px;z-index:5;width:398px;perspective-origin:50% 50%;pointer-events:all}.home-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.home-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.home-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.home-side-stack.is-left{transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(6deg) rotate(0) skew(0) skewY(0);transform-origin:left center}.home-side-stack.is-right{transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(-6deg) rotate(0) skew(0) skewY(0);transform-origin:right center}.home-card{flex:0 0 auto}.home-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff}.home-card .m-card-hd-bg,.home-card .m-card-bd-bg{filter:none}.home-card .m-card-bd-bg:after{content:none}.home-card .m-card-hd-title{color:#fff!important;background:-webkit-linear-gradient(rgb(219,249,255),rgb(169,240,255))!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;font-weight:600!important;filter:none!important;text-shadow:none!important}.home-card-more{display:inline-flex;align-items:center;gap:2px;height:24px;padding:0 4px 0 8px;border:0;color:#dcfaffd1;font-size:11px;line-height:24px;font-weight:700;background:rgba(4,35,51,.72);cursor:pointer}.home-card-more span{color:#30dcff;font-size:18px;line-height:18px}.home-card-more:hover{color:#fff;background:rgba(14,83,106,.82)}.home-more-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;align-items:center;justify-content:center;background:rgba(0,8,15,.76);backdrop-filter:blur(3px);pointer-events:auto}.home-more-dialog{display:flex;width:1240px;height:790px;flex-direction:column;padding:20px;border:1px solid rgba(48,220,255,.42);box-sizing:border-box;background:linear-gradient(180deg,rgba(11,47,64,.98),rgba(3,18,30,.99)),rgba(3,18,30,.98);box-shadow:0 0 34px #30dcff2e,inset 0 0 0 1px #ffffff09}.home-more-dialog-head{display:flex;height:56px;flex:0 0 56px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid rgba(48,220,255,.2)}.home-more-dialog-head h2,.home-more-dialog-head p{margin:0}.home-more-dialog-head h2{color:#fff;font-size:21px;line-height:27px;font-weight:800}.home-more-dialog-head p{margin-top:3px;color:#def9ffa6;font-size:12px;line-height:16px}.home-more-dialog-head>button{width:34px;height:34px;padding:0;border:1px solid rgba(48,220,255,.32);color:#ebfdffe6;font-size:25px;line-height:30px;background:rgba(48,220,255,.08);cursor:pointer}.home-more-dialog-head>button:hover{border-color:#30dcffb8;color:#fff;background:rgba(48,220,255,.16)}.home-video-modal-grid{position:relative;isolation:isolate;display:grid;min-height:0;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0 12px}.home-video-modal-item{position:relative;z-index:2;min-width:0;min-height:0;height:auto;padding:0;text-align:left}.home-video-modal-item.is-offline{cursor:default;filter:saturate(.52)}.home-video-modal-item.is-active{z-index:3}.home-video-modal-item:not(.is-active){z-index:8}.home-video-modal-item:not(.is-active) .home-video-hit{z-index:40;pointer-events:auto}.home-video-modal-status{position:absolute;top:10px;right:10px;z-index:5;padding:3px 8px;border-left:2px solid #24f6c4;color:#b9ffe9;font-size:11px;line-height:15px;font-weight:800;background:rgba(1,28,26,.76)}.home-video-modal-item.is-offline .home-video-modal-status{border-left-color:#8bf7ff;color:#ffe6a7;background:rgba(42,31,5,.76)}.home-more-empty{display:flex;flex:1;align-items:center;justify-content:center;color:#def9ff94;font-size:15px}.home-more-pager{display:flex;height:34px;flex:0 0 34px;align-items:center;justify-content:center;gap:12px}.home-more-pager button{height:28px;padding:0 14px;border:1px solid rgba(48,220,255,.28);color:#e8fcffdb;font-size:12px;background:rgba(48,220,255,.08);cursor:pointer}.home-more-pager button:disabled{cursor:not-allowed;opacity:.38}.home-more-pager span{min-width:54px;color:#e8fcffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;text-align:center}.home-balance-dialog{width:1180px;height:610px}.home-balance-modal-grid{display:grid;min-height:0;flex:1;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;padding-top:18px}.home-balance-modal-item{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--balance-color) 44%,rgba(48,220,255,.16));box-sizing:border-box;background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--balance-color) 14%,transparent),transparent 44%),linear-gradient(180deg,rgba(15,57,72,.7),rgba(4,25,38,.78));box-shadow:inset 0 0 20px #30dcff0d}.home-balance-modal-item:before{position:absolute;left:0;top:0;bottom:0;width:3px;content:"";background:var(--balance-color);box-shadow:0 0 10px var(--balance-color)}.home-balance-modal-item p{margin:12px 0 0;color:#e1faffad;font-size:12px;line-height:16px}.home-balance-modal-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-balance-modal-title strong{overflow:hidden;color:#fff;font-size:17px;line-height:22px;text-overflow:ellipsis;white-space:nowrap}.home-balance-modal-title span{overflow:hidden;color:var(--balance-color);font-size:11px;line-height:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.home-balance-modal-value{display:flex;align-items:baseline;margin-top:22px}.home-balance-modal-value strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:36px;line-height:40px;text-shadow:0 0 12px color-mix(in srgb,var(--balance-color) 38%,transparent)}.home-balance-modal-value em{margin-left:3px;color:#ebfdffb8;font-size:13px;font-style:normal}.home-balance-modal-track{height:5px;margin-top:13px;overflow:hidden;background:rgba(113,181,199,.15)}.home-balance-modal-track i{display:block;width:var(--balance-progress);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--balance-color) 62%,transparent),var(--balance-color));box-shadow:0 0 8px var(--balance-color)}.home-chart{width:100%;height:100%}.home-balance-gauge-grid{display:grid;height:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 12px 10px;box-sizing:border-box;overflow:hidden}.home-balance-gauge-card{position:relative;display:grid;min-width:0;min-height:0;grid-template-rows:32px minmax(72px,1fr) 22px 16px;justify-items:center;padding:10px 8px 9px;overflow:hidden;border:1px solid rgba(48,220,255,.18);background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 14%,transparent),transparent 55%),linear-gradient(180deg,rgba(48,220,255,.075),rgba(5,27,40,.46));box-shadow:inset 0 0 18px #30dcff12,0 0 #30dcff00;transition:border-color .35s ease,box-shadow .35s ease,background .35s ease}.home-balance-gauge-card:before{position:absolute;top:9px;right:9px;bottom:9px;left:9px;content:"";border:1px solid rgba(255,255,255,.035);pointer-events:none}.home-balance-gauge-card.is-active{border-color:color-mix(in srgb,var(--balance-color) 64%,rgba(48,220,255,.22));background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--balance-color) 20%,transparent),transparent 58%),linear-gradient(180deg,rgba(48,220,255,.095),rgba(5,27,40,.52));box-shadow:inset 0 0 22px #30dcff17,0 0 14px color-mix(in srgb,var(--balance-color) 16%,transparent)}.home-balance-gauge-head{position:relative;z-index:1;display:flex;width:100%;align-items:center;justify-content:center}.home-balance-gauge-head span,.home-balance-gauge-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-balance-gauge-head span{color:#eefdff94;font-size:10px;font-weight:700}.home-balance-gauge-head strong{width:100%;color:var(--balance-color);font-size:11px;font-weight:900;text-align:center;text-shadow:0 0 8px color-mix(in srgb,var(--balance-color) 34%,transparent)}.home-balance-gauge-ring{position:relative;z-index:1;align-self:center;width:min(94px,78%);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 218deg,var(--balance-color) 0 var(--balance-progress),rgba(93,175,199,.18) var(--balance-progress) 100%),rgba(3,23,35,.78);box-shadow:0 0 18px color-mix(in srgb,var(--balance-color) 22%,transparent),inset 0 0 18px #0000006b}.home-balance-gauge-ring:before{position:absolute;top:12px;right:12px;bottom:12px;left:12px;content:"";border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(48,220,255,.12),rgba(3,23,35,.98) 62%),rgba(3,23,35,.96);box-shadow:inset 0 0 12px #0000006b,inset 0 0 0 1px #30dcff14}.home-balance-gauge-ring:after{position:absolute;left:50%;bottom:9px;width:2px;height:16px;content:"";background:rgba(0,10,18,.8);transform:translate(-50%) rotate(35deg);transform-origin:50% 100%;box-shadow:0 0 5px #000a1294}.home-balance-gauge-value{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center}.home-balance-gauge-value strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:24px;line-height:28px;font-weight:900;text-shadow:0 0 10px color-mix(in srgb,var(--balance-color) 42%,transparent)}.home-balance-gauge-value em{margin-left:2px;color:#eefdffc2;font-size:11px;font-style:normal;font-weight:800}.home-balance-gauge-name,.home-balance-gauge-extra{position:relative;z-index:1;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.home-balance-gauge-name{color:#fff;font-size:15px;line-height:21px;font-weight:900;text-shadow:0 0 8px rgba(48,220,255,.18)}.home-balance-gauge-extra{color:#eefdffa8;font-size:11px;line-height:16px;font-weight:700}.home-forecast-trend-card{position:relative;width:100%;height:100%}.home-forecast-kline-chart{padding-top:14px;box-sizing:border-box}.home-forecast-density-switcher{position:absolute;top:0;left:4px;z-index:3;display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(48,220,255,.22);border-radius:3px;background:rgba(4,24,37,.72);box-shadow:inset 0 0 10px #30dcff14}.home-forecast-density-switcher button{min-width:24px;height:18px;padding:0 6px;border:0;border-radius:2px;color:#e2faffa8;font-size:10px;line-height:18px;font-weight:800;background:transparent;cursor:pointer}.home-forecast-density-switcher button.active{color:#041c2b;background:linear-gradient(180deg,#7efbf6,#30dcff);box-shadow:0 0 10px #30dcff6b}.home-video-monitor{position:relative;display:block;height:100%;padding:2px 24px;box-sizing:border-box;pointer-events:auto}.home-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%;min-height:0}.home-video-grid.is-single{grid-template-columns:minmax(0,1fr)}.home-video-screen{position:relative;width:100%;height:100%;margin:0;min-width:0;overflow:hidden;cursor:pointer;border:1px solid rgba(48,220,255,.25);background-color:#020d14;background-position:center;background-size:cover;box-shadow:none}.home-video-screen.is-active{border-color:#7efbf6a8;box-shadow:none}.home-video-screen:not(.is-active){opacity:.88}.home-video-screen.is-playing{background-image:none!important}.home-video-screen>.home-video-player,.home-video-screen [id$=-wrap],.home-video-screen [id$=-player],.home-video-screen [id^=EZUIKitPlayer-],.home-video-screen .play-window,.home-video-screen video,.home-video-screen canvas,.home-video-screen iframe,.home-video-screen object,.home-video-screen embed,.home-video-screen [id$=-wrap]>.home-video-player>div,.home-video-screen [id$=-wrap]>.home-video-player .play-window,.home-video-screen [id$=-wrap]>.home-video-player [id$=-player],.home-video-screen [id$=-wrap]>.home-video-player video,.home-video-screen [id$=-wrap]>.home-video-player canvas,.home-video-screen [id$=-wrap]>.home-video-player iframe,.home-video-screen [id$=-wrap]>.home-video-player object,.home-video-screen [id$=-wrap]>.home-video-player embed{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:fill!important}.home-video-screen>.home-video-player,.home-video-screen [id$=-wrap]{z-index:3;pointer-events:auto}.home-video-screen [id$=-wrap]{z-index:3!important;overflow:hidden;pointer-events:auto}.home-video-screen [id$=-wrap]>.home-video-player{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1;display:block!important;width:100%!important;height:100%!important;overflow:hidden;pointer-events:auto}.home-video-screen [id$=-wrap]>.home-video-player>div,.home-video-screen [id$=-wrap]>.home-video-player .play-window,.home-video-screen [id$=-wrap]>.home-video-player [id$=-player],.home-video-screen [id$=-wrap]>.home-video-player video,.home-video-screen [id$=-wrap]>.home-video-player canvas,.home-video-screen [id$=-wrap]>.home-video-player iframe{z-index:1}.home-video-screen [id$=-ez-iframe-footer-container]{position:absolute!important;right:0!important;bottom:0!important;left:0!important;z-index:20!important;width:100%!important;margin-top:0!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important}.home-video-screen [id$=-audioControls]{pointer-events:auto!important;visibility:visible!important;opacity:1!important}.home-video-screen .loading-container,.home-video-screen .loading-item,.home-video-screen #loading-icon{display:none!important;visibility:hidden!important;pointer-events:none!important}.home-video-nav{position:absolute;top:50%;z-index:6;width:22px;height:42px;border:1px solid rgba(48,220,255,.26);color:#e3fdffe0;font-size:20px;line-height:20px;cursor:pointer;background:linear-gradient(180deg,rgba(48,220,255,.18),rgba(10,39,54,.56));box-shadow:inset 0 0 12px #30dcff1a;transform:translateY(-50%)}.home-video-nav:disabled{cursor:not-allowed;opacity:.38}.home-video-prev{left:18px}.home-video-next{right:18px}.home-video-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%,rgba(0,0,0,.44)),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 5px)}.home-video-screen.is-playing:before{z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 28%,rgba(0,0,0,.18))}.home-video-play{position:absolute;left:50%;top:46%;z-index:4;width:30px;height:30px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(0,0,0,.36);transform:translate(-50%,-50%);box-shadow:none}.home-video-play:after{position:absolute;left:12px;top:8px;width:0;height:0;content:"";border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #ffffff}.home-video-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;padding:0;border:0;cursor:pointer;background:transparent}.home-video-play,.home-video-point-name,.home-video-loading,.home-video-error{pointer-events:none}.home-video-point-name{position:absolute;left:10px;right:10px;bottom:8px;z-index:4;overflow:hidden;padding:4px 8px;border-left:2px solid rgba(69,233,164,.78);color:#fff;font-size:12px;line-height:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,.42)}.home-video-screen.is-playing .home-video-point-name{z-index:2;opacity:0}.home-video-loading,.home-video-error{position:absolute;left:50%;top:50%;z-index:5;min-width:72px;padding:4px 8px;border:1px solid rgba(48,220,255,.32);color:#fff;font-size:11px;line-height:14px;text-align:center;background:rgba(0,0,0,.62);transform:translate(-50%,-50%)}.home-video-error{border-color:#8bf7ff6b;color:#c9fbff}.layer-panel{display:grid;grid-template-rows:minmax(150px,210px) minmax(0,1fr);gap:12px;height:100%;box-sizing:border-box;padding:12px 12px 14px;overflow:hidden}.layer-panel.is-legend-only{grid-template-rows:minmax(0,1fr);gap:0;padding:10px 12px 12px}.layer-panel.is-legend-only .layer-panel-legend{padding-top:0;border-top:0}.layer-panel.is-legend-only .layer-panel-section-title{display:none}.layer-panel.is-legend-only .layer-panel-legend-grid{grid-template-columns:1fr;justify-content:stretch;gap:8px;max-height:100%;padding-right:0;overflow:hidden}.layer-panel.is-legend-only .layer-panel-legend-row{min-height:28px;padding:4px 2px}.layer-panel.is-compact{grid-template-rows:auto auto;gap:8px;padding:8px 10px 10px}.layer-panel.is-compact .layer-panel-list{gap:5px;padding-right:0;overflow:visible}.layer-panel.is-compact .layer-panel-item{height:28px;flex-basis:28px;padding:0 9px;font-size:12px}.layer-panel.is-compact .layer-panel-legend{padding-top:7px}.layer-panel.is-compact .layer-panel-section-title{margin-bottom:5px;font-size:12px;line-height:14px}.layer-panel.is-compact .layer-panel-section-title:before{top:3px}.layer-panel.is-compact .layer-panel-legend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;max-height:none;padding-right:0;overflow:visible}.layer-panel.is-compact .layer-panel-legend-grid.is-single{grid-template-columns:1fr}.layer-panel.is-compact .layer-panel-legend-row{min-height:22px;padding:2px 0}.layer-panel.is-compact .legend-name{line-height:14px;-webkit-line-clamp:1}.layer-panel-list{display:flex;flex-direction:column;gap:7px;min-height:0;padding-right:4px;overflow-y:auto}.layer-panel-item{display:flex;align-items:center;justify-content:space-between;height:27px;flex:0 0 27px;padding:0 9px;border:1px solid rgba(48,220,255,.22);background:rgba(3,20,32,.58);color:#ffffffbd;font-size:12px;cursor:pointer}.layer-panel-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-panel-item i{width:8px;height:8px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.layer-panel-item.is-active{color:#fff;border-color:#30dcffb3;background:linear-gradient(90deg,rgba(21,121,130,.52),rgba(3,20,32,.78))}.layer-panel-item.is-checked i{border-color:#30dcff;background:#30dcff;box-shadow:0 0 12px #30dcffe0}.layer-panel-item.is-checked:not(.is-active){color:#ffffffe0;border-color:#30dcff6b;background:rgba(3,20,32,.72)}.layer-panel-item.is-overlay i{border-radius:1px}.layer-panel-item.is-overlay.is-checked i:after{content:"";display:block;width:4px;height:2px;margin:2px 0 0 1px;border-left:1px solid #08202d;border-bottom:1px solid #08202d;transform:rotate(-45deg)}.layer-panel-legend{min-height:0;padding-top:9px;border-top:1px solid rgba(48,220,255,.18);overflow:visible}.layer-panel-section-title{position:relative;margin-bottom:7px;padding-left:10px;color:#dbf9ffe6;font-size:13px;font-weight:600;line-height:16px}.layer-panel-section-title:before{content:"";position:absolute;left:0;top:4px;width:4px;height:8px;background:#30dcff;box-shadow:0 0 10px #30dcffb3}.layer-panel-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,96px));justify-content:center;align-content:start;gap:7px 8px;max-height:calc(100% - 24px);padding-right:4px;overflow-y:auto}.layer-panel-legend-grid.is-single{grid-template-columns:minmax(0,128px)}.layer-panel-legend-row{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:start;column-gap:6px;min-width:0;min-height:22px;padding:3px 2px;border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer}.layer-panel-legend-row:disabled{opacity:1}.layer-panel-legend-row.is-checkable{grid-template-columns:15px minmax(0,1fr) 12px}.layer-panel-legend-row.is-selected{border-color:#30dcff6b;background:rgba(48,220,255,.08)}.layer-panel-legend-row.is-selected .legend-check{border-color:#30dcff;background:#30dcff;box-shadow:0 0 10px #30dcffc2}.layer-panel-legend-row.is-selected .legend-check:after{opacity:1}.layer-panel-legend-row.is-disabled{cursor:default}.layer-panel .legend-swatch{width:15px;height:10px;margin-top:3px;border:1px solid;box-shadow:0 0 12px #30dcff2e}.layer-panel .legend-name{display:-webkit-box;min-width:0;color:#ffffffd1;font-size:12px;line-height:14px;overflow:hidden;word-break:break-all;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.layer-panel .legend-check{position:relative;width:11px;height:11px;margin-top:2px;border:1px solid rgba(255,255,255,.4);border-radius:2px}.layer-panel .legend-check:after{content:"";position:absolute;left:3px;top:1px;width:3px;height:6px;border:solid rgba(3,20,32,.95);border-width:0 1px 1px 0;opacity:0;transform:rotate(45deg)}.layer-panel-empty{color:#ffffff85;line-height:48px;text-align:center}.layer-panel-empty.is-legend{line-height:28px}.layer-panel-list,.layer-panel-legend-grid{scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.42) rgba(48,220,255,.08)}.layer-panel-list::-webkit-scrollbar,.layer-panel-legend-grid::-webkit-scrollbar{width:4px}.layer-panel-list::-webkit-scrollbar-thumb,.layer-panel-legend-grid::-webkit-scrollbar-thumb{background:rgba(48,220,255,.42)}.layer-panel-list::-webkit-scrollbar-track,.layer-panel-legend-grid::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.grassland-ndvi-timeline[data-v-86212a95]{width:680px;height:68px;box-sizing:border-box;padding:8px 12px 9px;border:1px solid rgba(72,226,255,.28);background:linear-gradient(180deg,rgba(6,36,50,.76),rgba(3,18,30,.66)),linear-gradient(90deg,rgba(28,191,255,.08),rgba(38,246,198,.12),rgba(28,191,255,.08));backdrop-filter:blur(6px);box-shadow:inset 0 1px #bbfaff1f,inset 0 0 18px #1cbfff14,0 10px 28px #000c1a57;color:#efffff;pointer-events:all}.grassland-ndvi-timeline.is-dense[data-v-86212a95]{width:740px;height:86px;padding:8px 14px 10px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-head[data-v-86212a95]{margin-bottom:5px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-body[data-v-86212a95]{align-items:start}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-track[data-v-86212a95]{height:52px;margin:0 4px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-line[data-v-86212a95],.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-fill[data-v-86212a95],.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-thumb[data-v-86212a95]{top:13px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark[data-v-86212a95]{width:70px;height:52px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark .grassland-ndvi-timeline-tick[data-v-86212a95]{top:8px;height:12px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark .grassland-ndvi-timeline-label[data-v-86212a95]{top:24px;width:68px;font-size:11px;line-height:15px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark.is-staggered .grassland-ndvi-timeline-label[data-v-86212a95]{top:38px}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark.is-active[data-v-86212a95]{z-index:4}.grassland-ndvi-timeline.is-dense .grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-label[data-v-86212a95]{width:72px;font-size:12px}.grassland-ndvi-timeline-head[data-v-86212a95]{display:flex;align-items:center;justify-content:space-between;height:18px;margin-bottom:8px}.grassland-ndvi-timeline-head span[data-v-86212a95]{position:relative;padding-left:10px;color:#e8fcffdb;font-size:13px;font-weight:700}.grassland-ndvi-timeline-head span[data-v-86212a95]:before{content:"";position:absolute;left:0;top:4px;width:4px;height:10px;background:#26f6c6;box-shadow:0 0 10px #26f6c6b8}.grassland-ndvi-timeline-head strong[data-v-86212a95]{color:#29ffcf;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;line-height:18px;letter-spacing:0;text-shadow:0 0 12px rgba(41,255,207,.42)}.grassland-ndvi-timeline-state[data-v-86212a95]{display:flex;align-items:center;justify-content:center;height:30px;color:#e4fbffad;font-size:13px}.grassland-ndvi-timeline-body[data-v-86212a95]{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:12px}.grassland-ndvi-timeline-nav[data-v-86212a95]{width:28px;height:28px;padding:0;border:1px solid rgba(72,226,255,.34);background:rgba(7,35,48,.68);color:#e6fdffe0;font-size:22px;line-height:20px;cursor:pointer;outline:none}.grassland-ndvi-timeline-nav[data-v-86212a95]:hover,.grassland-ndvi-timeline-nav[data-v-86212a95]:focus-visible{color:#fff;border-color:#30dcffc7;box-shadow:0 0 12px #30dcff42}.grassland-ndvi-timeline-track[data-v-86212a95]{position:relative;height:34px;margin:0 8px}.grassland-ndvi-timeline-line[data-v-86212a95],.grassland-ndvi-timeline-fill[data-v-86212a95]{position:absolute;left:var(--timeline-edge-offset);top:8px;height:3px;border-radius:999px}.grassland-ndvi-timeline-line[data-v-86212a95]{right:var(--timeline-edge-offset);background:rgba(90,199,228,.28);box-shadow:inset 0 0 8px #00071247}.grassland-ndvi-timeline-fill[data-v-86212a95]{right:auto;width:var(--timeline-fill-width);background:linear-gradient(90deg,#35bff8,#29ffcf);box-shadow:0 0 12px #29ffcf5c}.grassland-ndvi-timeline-thumb[data-v-86212a95]{position:absolute;z-index:3;left:var(--timeline-active-left);top:8px;width:0;height:0;pointer-events:none;transform:translate(-50%)}.grassland-ndvi-timeline-thumb i[data-v-86212a95]{content:"";position:absolute;left:-9px;top:-9px;width:18px;height:18px;box-sizing:border-box;border:2px solid rgba(240,255,255,.92);border-radius:50%;background:#29ffcf;box-shadow:0 0 0 5px #29ffcf1f,0 0 18px #29ffcfa8}.grassland-ndvi-timeline-mark[data-v-86212a95]{position:absolute;z-index:2;top:0;display:block;width:84px;height:34px;padding:0;border:0;background:transparent;color:#e8faffc2;cursor:pointer;outline:none;transform:translate(-50%)}.grassland-ndvi-timeline-mark .grassland-ndvi-timeline-tick[data-v-86212a95]{position:absolute;left:50%;top:4px;width:2px;height:11px;border-radius:999px;background:rgba(148,234,255,.74);box-shadow:0 0 8px #30dcff3d;transform:translate(-50%)}.grassland-ndvi-timeline-mark .grassland-ndvi-timeline-label[data-v-86212a95]{position:absolute;left:50%;top:18px;width:78px;box-sizing:border-box;overflow:visible;padding:0 3px;color:#e8faff9e;font-size:12px;font-weight:700;line-height:16px;text-align:center;text-overflow:clip;white-space:nowrap;transform:translate(-50%)}.grassland-ndvi-timeline-mark[data-v-86212a95]:hover,.grassland-ndvi-timeline-mark[data-v-86212a95]:focus-visible,.grassland-ndvi-timeline-mark.is-active[data-v-86212a95]{color:#fff}.grassland-ndvi-timeline-mark:hover .grassland-ndvi-timeline-tick[data-v-86212a95],.grassland-ndvi-timeline-mark:focus-visible .grassland-ndvi-timeline-tick[data-v-86212a95],.grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-tick[data-v-86212a95]{background:#29ffcf;box-shadow:0 0 12px #29ffcf94}.grassland-ndvi-timeline-mark:hover .grassland-ndvi-timeline-label[data-v-86212a95],.grassland-ndvi-timeline-mark:focus-visible .grassland-ndvi-timeline-label[data-v-86212a95],.grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-label[data-v-86212a95]{color:#fff}.grassland-ndvi-timeline-mark.is-active .grassland-ndvi-timeline-label[data-v-86212a95]{width:78px;padding:0 8px;border:1px solid rgba(41,255,207,.34);background:rgba(4,39,48,.78);box-shadow:0 0 14px #29ffcf29}.forest-grass-wet{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;overflow:clip;overscroll-behavior:none}.forest-grass-wet>.map{width:100%;height:100%}.forest-grass-wet>.map>canvas{display:block;width:100%!important;height:100%!important}.forest-grass-wet>.map>div{width:100%!important;height:100%!important}.forest-grass-wet-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.forest-grass-wet .fgw-left,.forest-grass-wet .fgw-right{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.forest-grass-wet .fgw-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.forest-grass-wet .fgw-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.forest-grass-wet .fgw-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.forest-grass-wet .fgw-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.forest-grass-wet .fgw-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.forest-grass-wet .fgw-side-card{flex:0 0 auto}.forest-grass-wet .fgw-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff}.forest-grass-wet .fgw-map-layer-tools,.forest-grass-wet .fgw-map-feature-info{position:absolute;z-index:7;pointer-events:all}.forest-grass-wet .fgw-map-layer-tools .m-card,.forest-grass-wet .fgw-map-feature-info .m-card{background:rgba(3,18,30,.54);backdrop-filter:blur(2px)}.forest-grass-wet .fgw-map-layer-tools{top:auto;right:458px;left:auto;bottom:72px;width:248px;height:430px}.forest-grass-wet .fgw-map-layer-tools .m-card{width:100%!important;height:100%!important}.forest-grass-wet .fgw-ndvi-timeline{position:absolute;left:50%;bottom:112px;z-index:7;transform:translate(-50%);pointer-events:all}.forest-grass-wet .fgw-map-feature-info{right:456px;bottom:150px}.forest-grass-wet .fgw-bottom-topic{position:absolute;left:50%;bottom:48px;z-index:8;transform:translate(-50%);pointer-events:all}.engineering-analysis-panel[data-v-98130796]{position:absolute;z-index:8;left:32px;top:188px;width:430px;display:grid;grid-template-rows:auto auto;gap:12px;max-height:calc(100vh - 190px);pointer-events:auto}.analysis-card[data-v-98130796]{position:relative;overflow:hidden;min-height:0;padding:14px 16px 16px;border:1px solid rgba(55,228,255,.28);background:linear-gradient(135deg,rgba(7,36,52,.88),rgba(4,18,29,.74)),radial-gradient(circle at 16% 4%,rgba(36,246,196,.18),transparent 38%),radial-gradient(circle at 90% 0,rgba(48,220,255,.12),transparent 34%);box-shadow:inset 0 1px #b4fcff29,inset 0 0 26px #30dcff1f,0 16px 30px #00000052;box-sizing:border-box}.analysis-card[data-v-98130796]:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#24f6c4,rgba(48,220,255,.18),transparent);opacity:.8}.analysis-card[data-v-98130796]:after{content:"";position:absolute;right:12px;top:10px;width:78px;height:18px;border-top:1px solid rgba(48,220,255,.22);background:repeating-linear-gradient(90deg,rgba(48,220,255,.18) 0 7px,transparent 7px 14px);opacity:.42;pointer-events:none}.analysis-card-head[data-v-98130796]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;height:26px;color:#fff}.analysis-card-head span[data-v-98130796]{padding-left:10px;font-size:16px;font-weight:800;letter-spacing:0}.analysis-card-head span[data-v-98130796]:before{content:"";position:absolute;left:0;top:7px;width:3px;height:14px;background:#24f6c4;box-shadow:0 0 10px #24f6c4cc}.analysis-card-head strong[data-v-98130796]{color:#24f6c4;font-size:13px;font-weight:700}.analysis-operation[data-v-98130796]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.analysis-operation.has-boundary[data-v-98130796]{margin-top:10px}.analysis-operation.has-boundary .analysis-entry[data-v-98130796]{height:40px}.analysis-operation.has-boundary .analysis-entry span[data-v-98130796]{font-size:13px}.analysis-entry[data-v-98130796]{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-content:center;align-items:center;min-width:0;height:64px;padding:0 16px;border:1px solid rgba(48,220,255,.34);background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04)),rgba(4,23,34,.62);color:#fff;text-align:left;cursor:pointer;box-sizing:border-box;box-shadow:inset 0 0 18px #30dcff14}.analysis-entry[data-v-98130796]:before{content:"";grid-row:1/3;width:34px;height:34px;border:1px solid rgba(36,246,196,.42);background:linear-gradient(135deg,rgba(36,246,196,.22),rgba(48,220,255,.08)),rgba(4,23,34,.7);box-shadow:inset 0 0 12px #30dcff1f,0 0 12px #24f6c429}.analysis-entry.is-upload[data-v-98130796]:before{background:linear-gradient(#24f6c4 0 0) 50% 9px/2px 15px no-repeat,linear-gradient(45deg,transparent 42%,#24f6c4 43% 56%,transparent 57%) 10px 8px/8px 8px no-repeat,linear-gradient(-45deg,transparent 42%,#24f6c4 43% 56%,transparent 57%) 16px 8px/8px 8px no-repeat,linear-gradient(#24f6c4 0 0) 50% 25px/16px 2px no-repeat,linear-gradient(135deg,rgba(36,246,196,.22),rgba(48,220,255,.08)),rgba(4,23,34,.7)}.analysis-entry.is-draw[data-v-98130796]:before{background:radial-gradient(circle,#24f6c4 0 2px,transparent 2.5px) 21px 7px/8px 8px no-repeat,linear-gradient(135deg,transparent 42%,#24f6c4 43% 56%,transparent 57%) 9px 11px/18px 18px no-repeat,linear-gradient(#24f6c4 0 0) 9px 25px/14px 2px no-repeat,linear-gradient(135deg,rgba(36,246,196,.22),rgba(48,220,255,.08)),rgba(4,23,34,.7)}.analysis-entry[data-v-98130796]:after{content:"";position:absolute;right:9px;top:9px;width:18px;height:18px;border-top:1px solid rgba(36,246,196,.45);border-right:1px solid rgba(36,246,196,.45)}.analysis-entry span[data-v-98130796]{min-width:0;font-size:16px;font-weight:700;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-entry strong[data-v-98130796]{min-width:0;margin-top:2px;color:#e8fcffb8;font-size:11px;font-weight:500;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-entry input[data-v-98130796]{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.analysis-entry[data-v-98130796]:disabled,.analysis-entry.is-disabled[data-v-98130796]{opacity:.42;cursor:not-allowed}.analysis-entry[data-v-98130796]:not(:disabled):not(.is-disabled):hover{border-color:#24f6c4b8;background:linear-gradient(90deg,rgba(36,246,196,.2),rgba(48,220,255,.06)),rgba(4,23,34,.56)}.analysis-drawing-bar[data-v-98130796],.analysis-drawing-stage[data-v-98130796],.analysis-boundary-bar[data-v-98130796]{display:grid;align-items:center;gap:8px;margin-top:14px;padding:0 12px;border:1px solid rgba(36,246,196,.34);background:linear-gradient(90deg,rgba(36,246,196,.13),rgba(48,220,255,.06)),rgba(4,23,34,.58);box-sizing:border-box}.analysis-drawing-stage[data-v-98130796]{grid-template-columns:78px 74px 54px minmax(68px,1fr);height:70px;padding:0 12px;border-color:#7efbf675;background:linear-gradient(90deg,rgba(36,246,196,.15),rgba(48,220,255,.08)),rgba(4,23,34,.54)}.analysis-drawing-bar[data-v-98130796]{grid-template-columns:92px minmax(0,1fr) 66px 74px}.analysis-boundary-bar[data-v-98130796]{grid-template-columns:92px minmax(0,1fr) 86px;height:42px}.analysis-boundary-bar span[data-v-98130796]{color:#24f6c4;font-size:13px;font-weight:700}.analysis-boundary-bar strong[data-v-98130796]{min-width:0;overflow:hidden;color:#e8fcffb8;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.analysis-boundary-bar button[data-v-98130796]{height:30px;border:1px solid rgba(139,247,255,.46);background:rgba(48,220,255,.1);color:#c9fbff;font-size:13px;font-weight:700;cursor:pointer}.analysis-point-count[data-v-98130796]{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:3px;color:#e8fcffd1;font-size:12px}.analysis-point-count span[data-v-98130796]{grid-column:1/-1;color:#e8fcffb3;line-height:18px}.analysis-point-count strong[data-v-98130796]{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:30px;line-height:32px}.analysis-point-count em[data-v-98130796]{color:#e8fcffb8;font-style:normal}.analysis-point-count small[data-v-98130796]{grid-column:1/-1;margin-top:2px;color:#c9fbffc7;font-size:11px;line-height:14px}.analysis-control[data-v-98130796]{height:34px;min-width:0;padding:0 4px;border:1px solid rgba(48,220,255,.26);background:rgba(48,220,255,.08);color:#ffffffe6;font-size:12px;cursor:pointer}.analysis-control.is-primary[data-v-98130796]{border-color:#24f6c4c7;background:rgba(36,246,196,.22);color:#fff;font-weight:700}.analysis-control.is-danger[data-v-98130796]{border-color:#8bf7ff6b;background:rgba(48,220,255,.11);color:#c9fbff}.analysis-control[data-v-98130796]:disabled{opacity:.42;cursor:not-allowed}.analysis-result[data-v-98130796]{display:flex;flex-direction:column;gap:10px;height:clamp(500px,56vh,620px);min-height:0;max-height:calc(100vh - 350px)}.analysis-empty[data-v-98130796]{display:flex;align-items:center;justify-content:center;min-height:126px;color:#e8fcffad;font-size:13px;text-align:center}.analysis-empty.is-success[data-v-98130796]{min-height:64px;border:1px solid rgba(36,246,196,.18);background:rgba(36,246,196,.06);color:#24f6c4}.analysis-conclusion[data-v-98130796]{display:grid;gap:8px;padding:12px;border:1px solid rgba(48,220,255,.22);background:linear-gradient(135deg,rgba(48,220,255,.09),rgba(4,23,34,.48)),rgba(4,23,34,.5);box-sizing:border-box}.analysis-conclusion.is-hit[data-v-98130796]{border-color:#8bf7ff47;background:linear-gradient(135deg,rgba(48,220,255,.08),rgba(4,23,34,.36))}.analysis-conclusion.is-heavy[data-v-98130796]{border-color:#8bf7ff3d;background:linear-gradient(135deg,rgba(139,247,255,.08),rgba(4,23,34,.38))}.analysis-conclusion.is-clear[data-v-98130796]{border-color:#24f6c43d;background:linear-gradient(135deg,rgba(36,246,196,.08),rgba(4,23,34,.36))}.analysis-conclusion p[data-v-98130796],.analysis-conclusion small[data-v-98130796]{margin:0;color:#e8fcffc2;font-size:12px;line-height:20px}.analysis-conclusion small[data-v-98130796]{color:#c9fbffdb;font-weight:600}.analysis-conclusion-head[data-v-98130796]{display:flex;align-items:center;justify-content:space-between;gap:10px}.analysis-conclusion-head span[data-v-98130796]{color:#e8fcffb8;font-size:11px}.analysis-conclusion-head strong[data-v-98130796]{color:#24f6c4;font-size:13px;font-weight:700}.analysis-conclusion-tags[data-v-98130796]{display:flex;flex-wrap:wrap;gap:6px}.analysis-conclusion-tags span[data-v-98130796]{max-width:100%;height:24px;padding:0 9px;overflow:hidden;border:1px solid rgba(48,220,255,.2);background:rgba(48,220,255,.08);color:#e8fcffcc;font-size:11px;line-height:22px;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.analysis-project-list[data-v-98130796]{flex:1 1 auto;min-height:0;overflow:auto;padding-right:6px;scrollbar-color:rgba(48,220,255,.58) rgba(48,220,255,.1);scrollbar-width:thin}.analysis-project-list[data-v-98130796]::-webkit-scrollbar{width:4px}.analysis-project-list[data-v-98130796]::-webkit-scrollbar-track{background:rgba(48,220,255,.08)}.analysis-project-list[data-v-98130796]::-webkit-scrollbar-thumb{border-radius:0;background:linear-gradient(180deg,rgba(36,246,196,.9),rgba(48,220,255,.42))}.analysis-project-row[data-v-98130796]{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:7px;width:100%;min-height:86px;margin-bottom:8px;padding:10px 12px;border:1px solid rgba(48,220,255,.18);border-left-color:#24f6c48f;background:linear-gradient(90deg,rgba(36,246,196,.1),rgba(48,220,255,.04)),rgba(4,23,34,.54);color:#fff;font-size:12px;text-align:left;cursor:pointer;box-sizing:border-box;box-shadow:inset 0 0 16px #30dcff0d}.analysis-project-row .analysis-project-name[data-v-98130796],.analysis-project-row b[data-v-98130796]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-project-row .analysis-project-name[data-v-98130796]{display:block;color:#fff;font-size:13px;font-weight:700;line-height:18px}.analysis-project-row .analysis-project-meta[data-v-98130796]{display:grid;grid-template-columns:52px 72px minmax(0,1fr);align-items:center;gap:6px;min-width:0}.analysis-project-row strong[data-v-98130796],.analysis-project-row em[data-v-98130796],.analysis-project-row small[data-v-98130796]{height:26px;min-width:0;overflow:hidden;border:1px solid rgba(48,220,255,.18);background:rgba(4,23,34,.46);font-size:12px;line-height:24px;text-align:center;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.analysis-project-row strong[data-v-98130796]{color:#24f6c4;font-weight:700}.analysis-project-row em[data-v-98130796]{color:#ffffffd1;font-style:normal}.analysis-project-row small[data-v-98130796]{padding:0 5px;color:#c9fbffe6;text-align:right}.analysis-project-row b[data-v-98130796]{color:#e8fcffa8;font-size:12px;font-weight:500;line-height:16px}.analysis-project-row[data-v-98130796]:hover{border-color:#24f6c47a;background:linear-gradient(90deg,rgba(36,246,196,.14),rgba(48,220,255,.06)),rgba(4,23,34,.62)}.ecological-protection .fgw-map-layer-tools{top:auto;right:458px;bottom:132px;left:auto;width:248px;height:430px}.ecological-protection .fgw-map-layer-tools.is-analysis{top:auto;right:458px;bottom:132px;left:auto;transform:none;transform-origin:right top}.ecological-protection .fgw-map-layer-tools.is-compact{height:auto}.ecological-protection .ecological-bottom-topic{bottom:48px}.ecological-protection .ecological-bottom-topic .topic-switcher{width:820px}.ecological-protection .ecological-bottom-topic .topic-switcher-item{width:154px}.ecological-protection .ecological-bottom-topic .topic-name{font-size:15px;letter-spacing:0}.grass-livestock-balance{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 35%,rgba(63,235,219,.16),transparent 28%),radial-gradient(circle at 73% 62%,rgba(255,211,103,.08),transparent 32%),radial-gradient(circle at 22% 78%,rgba(52,152,125,.1),transparent 30%),linear-gradient(135deg,#020a12 0%,#062439 50%,#03101b 100%)}.grass-livestock-balance:before,.grass-livestock-balance:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.grass-livestock-balance:before{background:linear-gradient(rgba(89,233,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(89,233,255,.014) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 47%,#000 0 48%,transparent 78%);mask-image:radial-gradient(circle at 50% 47%,#000 0 48%,transparent 78%)}.grass-livestock-balance:after{background:linear-gradient(112deg,transparent 0 35%,rgba(126,251,246,.055) 44%,transparent 54% 100%),linear-gradient(180deg,rgba(1,7,13,.18),rgba(1,7,13,.58));mix-blend-mode:screen;opacity:.78}.balance-backdrop{position:absolute;left:50%;top:104px;z-index:1;width:1740px;height:944px;transform:translate(-50%);pointer-events:none;background:radial-gradient(ellipse at 50% 30%,rgba(126,251,246,.16),transparent 34%),linear-gradient(90deg,transparent,rgba(126,251,246,.045),rgba(255,215,108,.026),transparent),linear-gradient(rgba(48,220,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.018) 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent)}.balance-backdrop:before,.balance-backdrop:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.5),rgba(255,215,108,.34),transparent);box-shadow:0 0 22px #7efbf633}.balance-backdrop:before{top:64px}.balance-backdrop:after{bottom:42px}.balance-energy-band{position:absolute;left:96px;right:96px;top:108px;height:460px;background:radial-gradient(ellipse at 50% 50%,rgba(36,246,196,.16),transparent 56%),linear-gradient(90deg,transparent,rgba(126,251,246,.1),rgba(255,215,108,.055),transparent),repeating-linear-gradient(90deg,transparent 0 32px,rgba(126,251,246,.04) 32px 33px);opacity:.78;transform:perspective(820px) rotateX(60deg);transform-origin:top;animation:balance-band-pulse 4.6s ease-in-out infinite}.balance-orbit{position:absolute;top:108px;width:282px;height:282px;border:1px solid rgba(126,251,246,.08);border-radius:50%;box-shadow:inset 0 0 38px #7efbf60d,0 0 36px #7efbf60a}.balance-orbit:before,.balance-orbit:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.balance-orbit:before{top:22px;right:22px;bottom:22px;left:22px;border:1px dashed rgba(126,251,246,.08)}.balance-orbit:after{top:72px;right:72px;bottom:72px;left:72px;border:1px solid rgba(255,215,108,.05)}.balance-orbit.is-left{left:285px}.balance-orbit.is-right{right:285px}.balance-screen{position:absolute;left:50%;top:128px;z-index:4;display:grid;grid-template-columns:326px 1310px;align-items:start;gap:24px;width:1660px;transform:translate(-50%);pointer-events:none}.balance-card{height:var(--balance-card-height)!important;filter:drop-shadow(0 18px 28px rgba(0,0,0,.28)) drop-shadow(0 0 24px rgba(31,209,220,.04));pointer-events:all}.balance-card .m-card-bd,.balance-card .m-card-bd-bg{height:var(--balance-card-height)!important}.balance-card .m-card-hd-bg,.balance-card .m-card-hd-zs1,.balance-card .m-card-bd-bg>svg,.balance-card .m-card-bd-bottom-left-arrow,.balance-card .m-card-bd-bottom-right-arrow,.balance-card .m-card-bd-middle-left-line,.balance-card .m-card-bd-middle-right-line{opacity:0}.balance-card .m-card-hd{height:44px;background:linear-gradient(90deg,rgba(48,220,255,.2),rgba(48,220,255,.05) 44%,transparent),linear-gradient(180deg,rgba(12,90,107,.58),rgba(4,28,44,0));clip-path:polygon(0 0,154px 0,178px 20px,100% 20px,100% 44px,0 44px)}.balance-card .m-card-hd:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.56),rgba(255,215,108,.22),transparent 72%);box-shadow:0 0 14px #7efbf62e}.balance-card .m-card-hd:after{content:"";position:absolute;right:18px;top:10px;width:168px;height:8px;background:repeating-linear-gradient(90deg,rgba(126,251,246,.28) 0 9px,transparent 9px 15px);opacity:.58;transform:skew(28deg)}.balance-card .m-card-bd{background:radial-gradient(circle at 50% 0,rgba(126,251,246,.075),transparent 34%),linear-gradient(135deg,rgba(126,251,246,.052),transparent 24%),linear-gradient(315deg,rgba(255,215,108,.028),transparent 32%),linear-gradient(180deg,rgba(4,39,54,.5),rgba(1,16,27,.58));clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}.balance-card .m-card-bd:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(48,220,255,.12);box-shadow:inset 0 0 40px #30dcff06,inset 0 0 1px #7efbf62e;clip-path:inherit;pointer-events:none}.balance-card .m-card-bd:after{content:"";position:absolute;top:42px;right:1px;bottom:1px;left:1px;background:linear-gradient(rgba(126,251,246,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(126,251,246,.016) 1px,transparent 1px);background-size:38px 38px;opacity:.46;pointer-events:none}.balance-card .m-card-bd-content{top:44px;bottom:10px;color:#f3feff}.balance-card .m-card-bd-bg:after{content:"";position:absolute;top:5px;right:6px;bottom:7px;left:6px;pointer-events:none;border:0;background:linear-gradient(140deg,rgba(32,199,214,.035),transparent 34%),linear-gradient(180deg,rgba(17,72,90,.025),rgba(5,28,42,.035))}.balance-sheet-card{filter:none}.balance-sheet-card .m-card-hd{background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.055) 36%,transparent 58%)}.balance-sheet-card .m-card-hd:before{right:32%;background:linear-gradient(90deg,rgba(126,251,246,.62),rgba(255,215,108,.24),transparent)}.balance-sheet-card .m-card-hd:after{display:none}.balance-sheet-card .m-card-bd{background:radial-gradient(circle at 50% 43%,rgba(36,246,196,.075),transparent 30%),linear-gradient(180deg,rgba(6,48,63,.12),rgba(1,13,23,.16))}.balance-sheet-card .m-card-bd:before{border-color:transparent;box-shadow:none}.balance-sheet-card .m-card-bd:after{opacity:.24}.balance-sheet-card .m-card-bd-bg:after{background:none}.balance-target-card{filter:drop-shadow(0 14px 24px rgba(0,0,0,.26)) drop-shadow(0 0 16px rgba(31,209,220,.04))}.balance-target-card .m-card-hd{background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04) 58%,transparent)}.balance-target-card .m-card-hd:before{right:18%}.balance-target-card .m-card-bd{background:radial-gradient(circle at 84% 18%,rgba(255,215,108,.08),transparent 28%),linear-gradient(180deg,rgba(5,42,56,.34),rgba(1,15,25,.42))}.balance-target-card .m-card-bd:before{border-color:#30dcff0e;border-left-color:#30dcff29;border-bottom-color:#30dcff1f}.balance-target-card .m-card-bd-bg:after{background:radial-gradient(circle at 82% 28%,rgba(255,215,108,.045),transparent 28%),linear-gradient(180deg,rgba(48,220,255,.018),transparent 44%)}.grass-livestock-balance .m-card-hd-title{left:22px!important;height:44px!important;line-height:38px!important;color:#fff!important;font-size:15px!important;letter-spacing:1px!important;background:none!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;filter:brightness(1.2) contrast(1.08)!important;text-shadow:0 0 1px rgba(255,255,255,.96),0 0 8px rgba(255,255,255,.22)!important}.balance-selector{display:grid;grid-template-rows:40px minmax(112px,1fr) 154px;gap:16px;height:100%;padding:10px 10px 12px;box-sizing:border-box}.balance-scope-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.balance-scope-tabs button{position:relative;height:36px;min-width:0;border:0;background:linear-gradient(180deg,rgba(9,53,69,.28),rgba(4,25,39,.18)),linear-gradient(90deg,rgba(126,251,246,.04),transparent);color:#dffaffc2;font-size:12px;cursor:pointer;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:color .2s ease,border-color .2s ease,background .2s ease}.balance-scope-tabs button:after{content:"";position:absolute;left:18%;right:18%;bottom:4px;height:1px;background:rgba(126,251,246,.46);opacity:0;box-shadow:0 0 10px #7efbf64d}.balance-scope-tabs button.active,.balance-scope-tabs button:hover{background:linear-gradient(90deg,rgba(20,122,128,.5),rgba(255,215,108,.12)),rgba(3,28,39,.22);color:#fff}.balance-scope-tabs button.active:after,.balance-scope-tabs button:hover:after{opacity:1}.balance-target-list{display:grid;align-content:start;gap:9px;min-height:0;overflow-y:auto;padding-right:4px}.balance-target-list::-webkit-scrollbar{width:3px}.balance-target-list::-webkit-scrollbar-thumb{background:rgba(48,220,255,.28)}.balance-target-list button{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;height:42px;padding:0 12px 0 15px;border:0;background:linear-gradient(90deg,rgba(48,220,255,.1),transparent 66%),linear-gradient(180deg,rgba(8,45,59,.22),rgba(3,20,31,.12));color:#dffaffc7;cursor:pointer;box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);transition:transform .18s ease,color .18s ease,background .18s ease}.balance-target-list button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-bottom:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-target-list button:after{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;background:rgba(126,251,246,.38);opacity:0}.balance-target-list button:hover{transform:translate(3px);color:#fff}.balance-target-list button:hover:before{border-color:#7efbf63d}.balance-target-list span,.balance-target-list small{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:1}.balance-target-list span{font-size:14px}.balance-target-list small{color:#7efbf68f;font-size:12px;text-align:right}.balance-target-list button.active{background:linear-gradient(90deg,rgba(255,215,108,.24),rgba(31,122,130,.46) 58%,rgba(4,27,42,.14)),rgba(4,27,42,.26);color:#fff;transform:translate(5px)}.balance-target-list button.active:before{border-color:#ffd76c75;box-shadow:inset 0 0 16px #ffd76c1a}.balance-target-list button.active:after{opacity:1;background:#ffd76c;box-shadow:0 0 12px #ffd76c61}.balance-action-box{position:relative;display:grid;align-content:center;min-width:0;padding:16px;background:radial-gradient(circle at 90% 18%,rgba(255,215,108,.1),transparent 30%),linear-gradient(135deg,rgba(255,215,108,.055),transparent 42%),linear-gradient(180deg,rgba(4,27,42,.16),rgba(4,27,42,.08));box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.balance-action-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-left:1px solid rgba(48,220,255,.13);border-bottom:1px solid rgba(48,220,255,.06);clip-path:inherit;pointer-events:none}.balance-action-box:after{content:"";position:absolute;left:17px;right:17px;bottom:58px;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.38),transparent);pointer-events:none}.balance-action-box span,.balance-action-box strong,.balance-action-box small{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:1}.balance-action-box span,.balance-action-box small{color:#dffaffa3;font-size:12px}.balance-action-box strong{margin-top:8px;color:#fff;font-size:25px;line-height:32px;text-shadow:0 0 16px rgba(126,251,246,.16)}.balance-action-box small{margin-top:4px;color:#7efbf6b8}.balance-action-box button{position:relative;z-index:1;width:148px;height:42px;margin-top:18px;border:1px solid rgba(255,215,108,.38);background:linear-gradient(90deg,rgba(255,215,108,.3),rgba(48,220,255,.14)),rgba(4,27,42,.55);color:#fff;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:inset 0 0 16px #ffd76c14,0 0 18px #ffd76c14;transition:transform .18s ease,box-shadow .18s ease}.balance-action-box button:not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 0 18px #ffd76c1f,0 0 22px #ffd76c24}.balance-action-box button:disabled{cursor:default;opacity:.55}.balance-sheet{position:relative;height:100%;padding:8px 18px 18px;overflow:hidden;box-sizing:border-box}.balance-sheet:before{content:"";position:absolute;left:22px;right:22px;top:9px;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.45),rgba(255,215,108,.28),transparent);animation:balance-scan 2.8s linear infinite;pointer-events:none}.balance-sheet:after{content:"";position:absolute;left:18px;right:18px;bottom:14px;height:38%;background:radial-gradient(ellipse at 50% 100%,rgba(126,251,246,.14),transparent 68%);pointer-events:none}.balance-field-lines{position:absolute;top:86px;right:70px;bottom:116px;left:70px;z-index:0;pointer-events:none}.balance-field-lines:before{content:"";position:absolute;left:4%;right:4%;top:45%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.22),rgba(255,215,108,.14),rgba(126,251,246,.22),transparent);box-shadow:0 0 20px #7efbf614}.balance-field-lines:after{content:"";position:absolute;left:20%;right:20%;top:21%;height:330px;background:radial-gradient(ellipse at 50% 26%,rgba(36,246,196,.14),transparent 50%),repeating-linear-gradient(90deg,transparent 0 42px,rgba(126,251,246,.032) 42px 43px);transform:perspective(700px) rotateX(58deg);transform-origin:top;opacity:.86}.balance-field-lines i{position:absolute;top:44%;width:220px;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.42),transparent);transform-origin:center;animation:balance-field-drift 5.2s ease-in-out infinite}.balance-field-lines i:nth-child(1){left:12%;transform:rotate(-16deg)}.balance-field-lines i:nth-child(2){left:42%;width:280px;animation-delay:-1.4s}.balance-field-lines i:nth-child(3){right:11%;transform:rotate(16deg);animation-delay:-2.6s}.balance-waiting,.balance-running{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) 86px;gap:22px;height:100%;text-align:center}.balance-wait-core{position:relative;display:grid;justify-items:center;align-content:center;gap:20px}.balance-wait-core:before{content:"";position:absolute;width:760px;height:330px;background:radial-gradient(ellipse at 50% 38%,rgba(36,246,196,.2),transparent 52%),linear-gradient(90deg,transparent,rgba(126,251,246,.1),transparent),repeating-linear-gradient(90deg,transparent 0 34px,rgba(126,251,246,.04) 34px 35px);transform:perspective(640px) rotateX(63deg) translateY(86px);transform-origin:bottom;pointer-events:none}.balance-wait-core>*{position:relative;z-index:1}.balance-core-ring{position:relative;display:grid;place-items:center;width:178px;height:178px;border-radius:50%;background:conic-gradient(from -90deg,#24f6c4 var(--usage-angle, 0deg),rgba(48,220,255,.12) var(--usage-angle, 0deg),rgba(48,220,255,.12) 360deg);box-shadow:0 0 34px #24f6c433,0 0 82px #24f6c411,inset 0 0 32px #02101ab8}.balance-core-ring:before,.balance-core-ring:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.balance-core-ring:before{top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(126,251,246,.24);animation:balance-rotate 8s linear infinite;box-shadow:inset 0 0 18px #7efbf60f}.balance-core-ring:after{top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px dashed rgba(126,251,246,.18);animation:balance-rotate 14s linear infinite reverse}.balance-core-ring.is-empty{--usage-angle: 42deg;background:conic-gradient(from -90deg,rgba(126,251,246,.28) 0deg 42deg,rgba(48,220,255,.1) 42deg 360deg)}.balance-core-ring.is-empty .balance-core-inner strong{max-width:134px;font-size:30px;line-height:34px}.balance-core-inner{position:relative;z-index:1;display:grid;place-items:center;align-content:center;width:136px;height:136px;border-radius:50%;background:radial-gradient(circle,rgba(8,48,58,.9),rgba(2,17,27,.96) 68%),rgba(2,17,27,.92);text-align:center}.balance-core-inner span,.balance-core-inner strong,.balance-core-inner small{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-core-inner span,.balance-core-inner small{color:#dffaffa8;font-size:12px}.balance-core-inner strong{margin:8px 0 5px;color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:34px;line-height:36px;text-shadow:0 0 18px rgba(36,246,196,.35)}.balance-waiting h2{max-width:940px;margin:0;overflow:hidden;color:#fff;font-size:33px;line-height:42px;text-overflow:ellipsis;white-space:nowrap}.balance-waiting p{max-width:720px;margin:0;color:#dffaffb3;font-size:15px;line-height:24px}.balance-preflight{display:grid;grid-template-columns:112px minmax(0,1fr) 136px minmax(0,1fr) 148px;align-items:center;max-width:760px;width:100%;margin:0 auto}.balance-preflight span{position:relative;height:34px;color:#dffaff85;font-size:13px;line-height:34px;text-align:center;background:transparent;clip-path:none}.balance-preflight span:before{content:"";position:absolute;left:50%;top:-8px;width:8px;height:8px;border:1px solid rgba(126,251,246,.4);background:rgba(6,44,58,.7);transform:translate(-50%) rotate(45deg);box-shadow:0 0 12px #7efbf61a}.balance-preflight span.active{color:#7efbf6;box-shadow:none}.balance-preflight span.active:before{border-color:#ffd76c94;background:rgba(255,215,108,.28)}.balance-preflight i{height:1px;background:linear-gradient(90deg,rgba(126,251,246,.1),rgba(126,251,246,.6),rgba(255,215,108,.34))}.balance-running{grid-template-rows:238px minmax(0,1fr);text-align:left}.balance-running-head{position:relative;display:grid;grid-template-columns:238px minmax(0,1fr);align-items:center;gap:34px;padding:34px 84px 22px}.balance-running-head:before{content:"";position:absolute;left:64px;right:64px;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.44),rgba(255,215,108,.28),transparent)}.balance-running-title{min-width:0}.balance-running-title span,.balance-running-title strong,.balance-running-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-running-title span{color:#7efbf6b8;font-size:16px}.balance-running-title strong{margin-top:12px;color:#fff;font-size:36px;line-height:44px;text-shadow:0 0 18px rgba(126,251,246,.14)}.balance-running-title small{margin-top:10px;color:#ffd76cb8;font-size:16px}.balance-progress-line{position:relative;height:13px;margin-top:22px;overflow:hidden;background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.05)),rgba(1,12,21,.5);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-progress-line i{display:block;height:100%;background:linear-gradient(90deg,rgba(36,246,196,.18),#24f6c4,#ffd76c);box-shadow:0 0 18px #24f6c438;transition:width .16s linear}.balance-progress-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);animation:balance-flow-light 1.4s linear infinite}.balance-live-process{display:grid;gap:11px;min-height:0;padding:0 84px 30px}.balance-live-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;min-height:74px;padding:0 20px;background:linear-gradient(90deg,rgba(48,220,255,.075),transparent 48%),linear-gradient(180deg,rgba(6,38,51,.22),rgba(2,20,32,.08));opacity:.42;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);transition:opacity .2s ease,transform .2s ease}.balance-live-step:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-bottom:1px solid rgba(48,220,255,.075);clip-path:inherit;pointer-events:none}.balance-live-step>span{width:32px;height:32px;border:1px solid rgba(126,251,246,.34);color:#7efbf6c7;font-family:D-DIN,Arial,sans-serif;font-size:14px;line-height:30px;text-align:center}.balance-live-step div{min-width:0}.balance-live-step strong,.balance-live-step p,.balance-live-step em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-live-step strong{display:block;color:#fff;font-size:15px}.balance-live-step p{margin:7px 0 0;color:#ffd76ca8;font-size:12px}.balance-live-step em{color:#dffaff9e;font-family:D-DIN,Arial,sans-serif;font-size:17px;font-style:normal;text-align:right}.balance-live-step.is-active,.balance-live-step.is-done{opacity:1}.balance-live-step.is-active{transform:translate(8px);background:linear-gradient(90deg,rgba(36,246,196,.18),rgba(255,215,108,.09),transparent 66%),linear-gradient(180deg,rgba(10,58,70,.56),rgba(4,34,48,.42))}.balance-live-step.is-active:before{border-color:#7efbf66b;box-shadow:inset 0 0 18px #7efbf61a}.balance-live-step.is-active>span{background:rgba(36,246,196,.1);box-shadow:0 0 18px #24f6c41f}.balance-live-step.is-done em,.balance-live-step.is-active em{color:#7efbf6}.balance-analysis{display:grid;position:relative;z-index:1;grid-template-rows:214px 108px minmax(0,1fr);gap:15px;height:100%}.balance-dashboard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 282px minmax(0,1fr);align-items:center;gap:24px;min-height:0;padding:18px 26px;background:radial-gradient(circle at 50% 50%,rgba(36,246,196,.2),transparent 36%),radial-gradient(ellipse at 50% 100%,rgba(48,220,255,.1),transparent 58%),linear-gradient(90deg,rgba(48,220,255,.07),rgba(2,18,30,.1) 48%,rgba(255,215,108,.055));clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}.balance-dashboard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-top:1px solid rgba(48,220,255,.12);border-bottom:1px solid rgba(48,220,255,.08);box-shadow:inset 0 0 34px #24f6c409;clip-path:inherit;pointer-events:none}.balance-dashboard:after{content:"";position:absolute;left:246px;right:246px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,251,246,.42),rgba(255,215,108,.34),transparent);pointer-events:none}.balance-dashboard>*{position:relative;z-index:1}.balance-object-block,.balance-verdict-card{position:relative;z-index:1;min-width:0;padding:18px 22px;background:radial-gradient(circle at 16% 0,rgba(126,251,246,.12),transparent 38%),linear-gradient(135deg,rgba(126,251,246,.075),transparent 50%),rgba(2,21,33,.2);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.balance-object-block:before,.balance-verdict-card:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.5),transparent)}.balance-object-block span,.balance-object-block strong,.balance-object-block small,.balance-verdict-card span,.balance-verdict-card strong,.balance-verdict-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-object-block span,.balance-object-block small,.balance-verdict-card span,.balance-verdict-card small{color:#dffaff9e;font-size:12px}.balance-object-block strong{margin-top:8px;color:#fff;font-size:38px;line-height:44px;text-shadow:0 0 18px rgba(255,255,255,.12)}.balance-verdict-card{text-align:right}.balance-verdict-card strong{margin-top:8px;color:#ffd76c;font-family:D-DIN,Arial,sans-serif;font-size:38px;line-height:44px;text-shadow:0 0 20px rgba(255,215,108,.34)}.balance-verdict-card.is-healthy strong,.balance-verdict-card.is-balanced strong,.balance-verdict-card.is-watch strong{color:#7efbf6}.balance-verdict-card.is-danger strong{color:#ff8f6b}.balance-core{position:relative;z-index:1;display:grid;justify-items:center;gap:9px}.balance-core:before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:332px;height:118px;background:radial-gradient(ellipse at 50% 50%,rgba(126,251,246,.14),transparent 70%);transform:translate(-50%,-50%);pointer-events:none}.balance-core-caption{color:#dffaff9e;font-size:12px}.balance-compare{position:relative;display:grid;align-content:center;gap:20px;padding:17px 24px;background:radial-gradient(ellipse at 50% 100%,rgba(126,251,246,.08),transparent 62%),linear-gradient(90deg,rgba(48,220,255,.08),transparent 45%,rgba(255,215,108,.065)),rgba(2,21,33,.16);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);box-sizing:border-box}.balance-compare:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-top:1px solid rgba(48,220,255,.08);border-bottom:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-bar-row{position:relative;z-index:1;display:grid;grid-template-columns:98px minmax(0,1fr) 190px;align-items:center;gap:16px;min-width:0}.balance-bar-row span{color:#dffaffb8;font-size:13px;white-space:nowrap}.balance-bar-row div{position:relative;height:14px;overflow:hidden;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.06)),rgba(1,12,21,.56);clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}.balance-bar-row div:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);animation:balance-flow-light 2.4s linear infinite}.balance-bar-row i{display:block;height:100%;background:linear-gradient(90deg,rgba(36,246,196,.2),#24f6c4);box-shadow:0 0 18px #24f6c438}.balance-bar-row strong{overflow:hidden;color:#fff;font-family:D-DIN,Arial,sans-serif;font-size:23px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.balance-bar-row em{margin-left:4px;color:#ffffff94;font-family:AlibabaPuHuiTi,Arial,sans-serif;font-size:11px;font-style:normal}.balance-bar-row.is-livestock i{background:linear-gradient(90deg,rgba(255,215,108,.18),#ffd76c);box-shadow:0 0 16px #ffd76c2e}.balance-detail{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.82fr) 248px;gap:12px;min-height:0}.balance-process,.balance-decision,.balance-overload-ranking{position:relative;min-width:0;min-height:0;padding:16px 18px 15px;background:radial-gradient(circle at 18% 0,rgba(126,251,246,.11),transparent 30%),linear-gradient(135deg,rgba(48,220,255,.08),transparent 34%),linear-gradient(315deg,rgba(255,215,108,.038),transparent 42%),rgba(2,21,33,.16);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);box-sizing:border-box}.balance-process:before,.balance-decision:before,.balance-overload-ranking:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-top:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-process:after,.balance-decision:after,.balance-overload-ranking:after{content:"";position:absolute;left:18px;right:18px;top:48px;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.32),transparent);pointer-events:none}.balance-section-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;height:28px}.balance-section-title span{color:#fff;font-size:16px;text-shadow:0 0 12px rgba(126,251,246,.22)}.balance-section-title small{color:#7efbf69e;font-size:12px}.balance-process{display:grid;grid-template-rows:28px 38px repeat(4,minmax(0,1fr));gap:10px}.balance-process-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center}.balance-process-track:before{content:"";position:absolute;left:5%;right:5%;top:50%;height:1px;background:linear-gradient(90deg,rgba(126,251,246,.18),rgba(126,251,246,.5),rgba(255,215,108,.42))}.balance-process-track span{position:relative;z-index:1;height:28px;overflow:hidden;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(2,19,31,.9)),rgba(2,19,31,.9);color:#dffaffb8;font-size:12px;line-height:28px;text-align:center;text-overflow:ellipsis;white-space:nowrap;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-process-track .is-done,.balance-process-track .is-active{color:#7efbf6;box-shadow:inset 0 0 14px #7efbf61f}.balance-formula-row{position:relative;z-index:1;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:0 14px;background:linear-gradient(90deg,rgba(48,220,255,.07),transparent 48%),linear-gradient(180deg,rgba(6,37,49,.22),rgba(2,20,32,.08));clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);box-sizing:border-box}.balance-formula-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-bottom:1px solid rgba(48,220,255,.065);clip-path:inherit;pointer-events:none}.balance-formula-row>span{width:30px;height:30px;border:1px solid rgba(126,251,246,.34);color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:13px;line-height:28px;text-align:center;background:rgba(36,246,196,.055)}.balance-formula-row div{min-width:0}.balance-formula-row strong,.balance-formula-row p,.balance-formula-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-formula-row strong{display:block;color:#fff;font-size:15px}.balance-formula-row p{margin:4px 0 0;color:#ffffffc2;font-size:12px}.balance-formula-row em{color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:21px;font-style:normal;text-align:right}.balance-decision{display:grid;grid-template-rows:28px 112px minmax(0,1fr);gap:12px}.balance-overload-ranking{display:grid;grid-template-rows:28px minmax(0,1fr);gap:10px}.balance-rank-list{position:relative;z-index:1;display:grid;align-content:start;gap:5px;min-height:0;overflow:hidden}.balance-rank-row{position:relative;display:grid;grid-template-columns:24px 58px minmax(0,1fr) 50px;align-items:center;gap:7px;height:25px;min-width:0;padding:0 8px 0 6px;background:linear-gradient(90deg,rgba(48,220,255,.08),transparent 62%),rgba(4,33,46,.62);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);box-sizing:border-box}.balance-rank-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(48,220,255,.08);clip-path:inherit;pointer-events:none}.balance-rank-row>span{position:relative;z-index:1;width:20px;height:18px;color:#7efbf6e6;font-family:D-DIN,Arial,sans-serif;font-size:12px;line-height:18px;font-weight:800;text-align:center;background:rgba(126,251,246,.08)}.balance-rank-row strong{position:relative;z-index:1;min-width:0;overflow:hidden;color:#edfdffe6;font-size:12px;line-height:18px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.balance-rank-row div{position:relative;z-index:1;height:5px;overflow:hidden;background:rgba(126,251,246,.08)}.balance-rank-row div i{display:block;width:var(--rank-progress);height:100%;background:linear-gradient(90deg,rgba(126,251,246,.35),#7efbf6);box-shadow:0 0 10px #7efbf638}.balance-rank-row em{position:relative;z-index:1;color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:800;text-align:right;white-space:nowrap}.balance-rank-row.is-warning div i{background:linear-gradient(90deg,rgba(255,215,108,.32),#ffd76c);box-shadow:0 0 10px #ffd76c33}.balance-rank-row.is-warning em{color:#ffd76c}.balance-rank-row.is-alert div i{background:linear-gradient(90deg,rgba(255,143,107,.3),#ff8f6b);box-shadow:0 0 10px #ff8f6b3d}.balance-rank-row.is-alert em{color:#ffb15e}.balance-conclusion{position:relative;z-index:1;min-width:0;padding:16px 14px;background:radial-gradient(circle at 10% 0,rgba(255,215,108,.18),transparent 42%),linear-gradient(135deg,rgba(255,215,108,.13),transparent 60%),rgba(74,56,20,.14);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);box-sizing:border-box}.balance-conclusion:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,215,108,.2);clip-path:inherit;pointer-events:none}.balance-conclusion strong{position:relative;z-index:1;display:block;overflow:hidden;color:#ffd76c;font-size:14px;text-shadow:0 0 10px rgba(255,215,108,.18);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.balance-conclusion p{position:relative;z-index:1;margin:8px 0 0;overflow:hidden;color:#ecfcffb8;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.balance-advice-list{position:relative;z-index:1;display:grid;align-content:start;gap:11px;min-height:0;overflow:hidden}.balance-advice-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;min-height:43px;padding:3px 0}.balance-advice-item span{width:22px;height:22px;border:1px solid rgba(126,251,246,.44);color:#7efbf6;font-family:D-DIN,Arial,sans-serif;font-size:12px;line-height:20px;text-align:center}.balance-advice-item p{min-width:0;margin:0;overflow:hidden;color:#ecfcffd1;font-size:12px;line-height:19px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}@keyframes balance-scan{0%{opacity:.2;transform:translate(-28%)}50%{opacity:.8}to{opacity:.2;transform:translate(28%)}}@keyframes balance-rotate{to{transform:rotate(360deg)}}@keyframes balance-flow-light{to{transform:translate(100%)}}@keyframes balance-band-pulse{0%,to{opacity:.56;filter:saturate(.92)}50%{opacity:.86;filter:saturate(1.08)}}@keyframes balance-field-drift{0%,to{opacity:.18;transform:translate(-18px)}50%{opacity:.58;transform:translate(18px)}}.grass-livestock-balance{background:linear-gradient(rgba(31,169,190,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(31,169,190,.022) 1px,transparent 1px),radial-gradient(circle at 50% 35%,rgba(35,128,133,.1),transparent 34%),linear-gradient(135deg,#020b13 0%,#061d2b 48%,#020b13 100%);background-size:44px 44px,44px 44px,100% 100%,100% 100%}.grass-livestock-balance:before,.grass-livestock-balance:after{opacity:.26}.balance-backdrop{top:104px;height:944px;background:linear-gradient(rgba(48,220,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.016) 1px,transparent 1px);background-size:44px 44px}.balance-backdrop:before,.balance-backdrop:after{opacity:.32}.balance-orbit,.balance-energy-band,.balance-field-lines,.balance-wait-core:before,.balance-core:before{display:none}.balance-screen{top:128px}.balance-card{filter:drop-shadow(0 16px 26px rgba(0,0,0,.28))}.balance-card .m-card-hd{background:linear-gradient(90deg,rgba(24,117,135,.78),rgba(12,65,83,.52) 56%,rgba(6,32,46,.08))}.balance-card .m-card-hd:before{background:linear-gradient(90deg,#30dcff,rgba(126,251,246,.36),transparent 76%);box-shadow:none}.balance-card .m-card-bd{background:linear-gradient(180deg,rgba(8,49,64,.92),rgba(3,23,36,.92))}.balance-card .m-card-bd:before{border-color:#30dcff33;box-shadow:inset 0 0 0 1px #7efbf60a}.balance-card .m-card-bd:after{opacity:.22}.balance-sheet-card{filter:drop-shadow(0 18px 30px rgba(0,0,0,.24))}.balance-sheet-card .m-card-bd{background:linear-gradient(180deg,rgba(7,43,58,.92),rgba(2,19,31,.94))}.balance-sheet-card .m-card-bd:before{border-color:#30dcff2e;border-left-color:#30dcff47;border-bottom-color:#30dcff1f;box-shadow:inset 0 0 0 1px #7efbf609}.balance-target-card{filter:drop-shadow(0 16px 24px rgba(0,0,0,.26))}.balance-target-card .m-card-bd{background:linear-gradient(180deg,rgba(7,45,58,.9),rgba(2,20,32,.92))}.balance-target-card .m-card-bd:before{border-color:#30dcff29;border-left-color:#30dcff47;border-bottom-color:#30dcff1f}.balance-selector{grid-template-rows:40px minmax(0,1fr) 158px;gap:12px;padding:12px 12px 14px}.balance-scope-tabs button{border:1px solid rgba(48,220,255,.12);background:rgba(4,31,44,.58);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-scope-tabs button.active,.balance-scope-tabs button:hover{background:linear-gradient(180deg,rgba(19,98,112,.9),rgba(7,56,76,.86))}.balance-target-list button{background:rgba(5,39,53,.72)}.balance-target-list button:before{border:1px solid rgba(48,220,255,.1);border-left-color:#30dcff33}.balance-target-list button.active{background:linear-gradient(90deg,rgba(119,98,38,.9),rgba(7,70,77,.86))}.balance-action-box{background:rgba(3,28,40,.84)}.balance-action-box:before{border:1px solid rgba(48,220,255,.14)}.balance-sheet{padding:14px 22px 20px}.balance-sheet:before,.balance-sheet:after{display:none}.balance-waiting{grid-template-rows:minmax(0,1fr) 78px}.balance-wait-core{gap:18px;padding-top:16px}.balance-core-ring{width:164px;height:164px;box-shadow:0 0 18px #24f6c41f,inset 0 0 28px #02101abd}.balance-core-ring:after{opacity:.36}.balance-core-inner{width:126px;height:126px}.balance-core-inner strong{font-size:30px;line-height:34px;text-shadow:none}.balance-preflight span{background:rgba(4,32,45,.78);border:1px solid rgba(48,220,255,.1);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.balance-preflight span:before{display:none}.balance-running-head{padding:30px 58px 18px}.balance-live-process{padding:0 58px 26px}.balance-live-step{background:rgba(5,36,50,.76)}.balance-live-step:before{border:1px solid rgba(48,220,255,.08)}.balance-live-step.is-active{background:linear-gradient(90deg,rgba(22,108,104,.82),rgba(7,53,66,.86))}.balance-analysis{grid-template-rows:188px 94px minmax(0,1fr);gap:12px}.balance-dashboard,.balance-compare,.balance-process,.balance-decision,.balance-overload-ranking{background:linear-gradient(180deg,rgba(7,48,62,.9),rgba(3,28,42,.9));clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.balance-dashboard:before,.balance-compare:before,.balance-process:before,.balance-decision:before,.balance-overload-ranking:before{border:1px solid rgba(48,220,255,.12);box-shadow:none}.balance-dashboard{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);padding:14px 20px}.balance-dashboard:after{display:none}.balance-object-block,.balance-verdict-card{background:rgba(4,31,44,.82);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}.balance-object-block strong,.balance-verdict-card strong{font-size:34px;line-height:40px;text-shadow:none}.balance-verdict-card strong,.balance-core-inner strong,.balance-formula-row em,.balance-bar-row i{text-shadow:none;box-shadow:none}.balance-core-ring:before,.balance-core-ring:after{animation:none}.balance-dashboard .balance-core-ring{width:156px;height:156px}.balance-dashboard .balance-core-inner{width:120px;height:120px}.balance-compare{gap:18px;padding:14px 20px}.balance-detail{gap:12px}.balance-process,.balance-decision,.balance-overload-ranking{padding:14px 16px}.balance-formula-row{background:rgba(4,33,46,.82)}.balance-formula-row:before{border:1px solid rgba(48,220,255,.08)}.balance-conclusion{background:rgba(70,55,22,.7)}.balance-bar-row div:after,.balance-progress-line:after{display:none}.balance-core-caption{color:#dffaffb8}.balance-sheet.is-ready{padding:18px 22px 22px}.balance-sheet.is-ready .balance-analysis{grid-template-rows:158px 84px minmax(0,1fr);gap:14px}.balance-sheet.is-ready .balance-dashboard{grid-template-columns:minmax(0,1fr) 188px minmax(0,1fr);gap:18px;padding:14px 22px}.balance-sheet.is-ready .balance-object-block,.balance-sheet.is-ready .balance-verdict-card{min-height:104px;padding:18px 20px;box-sizing:border-box}.balance-sheet.is-ready .balance-object-block strong,.balance-sheet.is-ready .balance-verdict-card strong{margin-top:7px;font-size:28px;line-height:34px}.balance-sheet.is-ready .balance-object-block small,.balance-sheet.is-ready .balance-verdict-card small{margin-top:4px}.balance-sheet.is-ready .balance-dashboard .balance-core-ring{width:132px;height:132px}.balance-sheet.is-ready .balance-dashboard .balance-core-inner{width:102px;height:102px}.balance-sheet.is-ready .balance-core-inner strong{max-width:92px;margin:5px 0 3px;font-size:26px;line-height:28px}.balance-sheet.is-ready .balance-core-inner span,.balance-sheet.is-ready .balance-core-inner small{max-width:92px;font-size:11px}.balance-sheet.is-ready .balance-core{gap:5px}.balance-sheet.is-ready .balance-core-caption{font-size:11px}.balance-sheet.is-ready .balance-compare{gap:14px;padding:12px 20px}.balance-sheet.is-ready .balance-bar-row{grid-template-columns:92px minmax(0,1fr) 178px;gap:14px}.balance-sheet.is-ready .balance-bar-row strong{font-size:20px}.balance-sheet.is-ready .balance-detail{grid-template-columns:minmax(0,1fr) minmax(318px,.78fr) 238px;gap:12px}.balance-sheet.is-ready .balance-process,.balance-sheet.is-ready .balance-decision,.balance-sheet.is-ready .balance-overload-ranking{overflow:hidden;padding:13px 15px}.balance-sheet.is-ready .balance-process{grid-template-rows:26px 32px repeat(4,minmax(58px,1fr));gap:8px}.balance-sheet.is-ready .balance-decision{grid-template-rows:26px 92px minmax(0,1fr);gap:10px}.balance-sheet.is-ready .balance-overload-ranking{grid-template-rows:26px minmax(0,1fr);gap:8px}.balance-sheet.is-ready .balance-section-title{height:26px}.balance-sheet.is-ready .balance-section-title span{font-size:15px}.balance-sheet.is-ready .balance-process-track{height:32px}.balance-sheet.is-ready .balance-process-track span{height:26px;font-size:11px;line-height:26px}.balance-sheet.is-ready .balance-formula-row{grid-template-columns:36px minmax(0,1fr);gap:10px;min-height:58px;padding:8px 12px}.balance-sheet.is-ready .balance-formula-row>span{width:27px;height:27px;font-size:12px;line-height:25px}.balance-sheet.is-ready .balance-formula-row strong{font-size:14px}.balance-sheet.is-ready .balance-formula-row p{margin-top:3px;font-size:11px;line-height:16px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.balance-sheet.is-ready .balance-conclusion{padding:13px 14px}.balance-sheet.is-ready .balance-conclusion strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.balance-sheet.is-ready .balance-conclusion p{margin-top:6px}.balance-sheet.is-ready .balance-advice-list{gap:8px;overflow:hidden}.balance-sheet.is-ready .balance-advice-item{min-height:34px;padding:1px 0}.balance-sheet.is-ready .balance-advice-item p{line-height:18px;-webkit-line-clamp:2}.balance-sheet.is-ready .balance-rank-list{gap:4px}.balance-sheet.is-ready .balance-rank-row{grid-template-columns:22px 54px minmax(0,1fr) 48px;gap:6px;height:23px;padding-right:7px}.map{position:absolute;z-index:1;left:0;top:0;right:0;bottom:0;background-color:#000}.map canvas{display:block;width:100%;height:100%}.map .yak-industry-point-label{width:172px;min-height:72px;margin-bottom:28px;color:#f2feff;font-size:12px;pointer-events:none;will-change:transform}.map .yak-industry-point-label-wrap{position:relative;width:172px;padding:8px 10px 9px;border:1px solid color-mix(in srgb,var(--yak-point-color, #24f6c4) 56%,transparent);border-radius:4px;background:linear-gradient(120deg,rgba(6,37,49,.88),rgba(3,16,27,.76)),linear-gradient(90deg,color-mix(in srgb,var(--yak-point-color, #24f6c4) 18%,transparent),transparent 72%);box-shadow:0 0 18px color-mix(in srgb,var(--yak-point-color, #24f6c4) 26%,transparent),inset 0 0 14px #30dcff14}.map .yak-industry-point-label-wrap:after{content:"";position:absolute;left:14px;bottom:-9px;width:14px;height:14px;border-right:1px solid color-mix(in srgb,var(--yak-point-color, #24f6c4) 52%,transparent);border-bottom:1px solid color-mix(in srgb,var(--yak-point-color, #24f6c4) 52%,transparent);background:rgba(3,16,27,.82);transform:rotate(45deg)}.map .yak-industry-point-label-head,.map .yak-industry-point-label-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.map .yak-industry-point-label-head{color:#daf9ffb3;font-size:10px}.map .yak-industry-point-label-head i{width:7px;height:7px;border-radius:50%;background:var(--yak-point-color, #24f6c4);box-shadow:0 0 10px var(--yak-point-color, #24f6c4)}.map .yak-industry-point-label-head span,.map .yak-industry-point-label-name,.map .yak-industry-point-label-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map .yak-industry-point-label-name{margin-top:5px;color:#fff;font-size:13px;font-weight:800;line-height:1.35}.map .yak-industry-point-label-meta{margin-top:5px;color:#d3f1f6ad;font-size:10px}.map .yak-industry-point-label-meta strong{flex:0 0 auto;color:#c9fbff;font-size:11px;font-weight:800}.map .info-point{color:#eaffff;font-size:13px;width:178px;min-height:82px;margin-bottom:24px;will-change:transform}.map .info-point-wrap{position:relative;width:178px;padding:8px 10px 9px;border:1px solid rgba(104,236,255,.38);border-radius:5px;background:linear-gradient(120deg,rgba(6,36,48,.92),rgba(4,18,29,.78)),rgba(2,16,25,.82);box-shadow:0 0 18px #30dcff33,inset 0 0 18px #27f0c014;transform:translate(42%,-12%)}.map .info-point-wrap-inner{position:relative}.map .info-point-wrap-inner:after,.map .info-point-wrap-inner:before{position:absolute;left:-18px;content:""}.map .info-point-wrap-inner:before{top:42px;width:16px;height:1px;background:linear-gradient(90deg,rgba(104,236,255,0),rgba(104,236,255,.88))}.map .info-point-wrap-inner:after{top:38px;width:7px;height:7px;border-radius:50%;background:#c9fbff;box-shadow:0 0 8px #30dcff80}.map .info-point-wrap.is-prime{border-color:#30dcff80;background:linear-gradient(120deg,rgba(12,65,83,.7),rgba(4,24,34,.82)),rgba(2,16,25,.86)}.map .info-point-head{display:flex;align-items:center;gap:7px;min-width:0}.map .info-point-head .rank{flex:0 0 auto;color:#c9fbff;font-size:12px;line-height:14px;font-weight:900}.map .info-point-head strong{overflow:hidden;color:#fff;font-size:15px;line-height:18px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.map .info-point-metric{margin-top:4px;overflow:hidden;color:#a6f4ffc7;font-size:11px;line-height:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.map .info-point-value{display:flex;align-items:baseline;gap:4px;margin-top:2px}.map .info-point-value span{color:#fff;font-size:25px;line-height:28px;font-weight:900;text-shadow:0 0 12px rgba(126,251,246,.6)}.map .info-point-value em{color:#ebfcffc7;font-size:11px;line-height:13px;font-style:normal;font-weight:800}.map .provinces-label-wrap{transform:translate(50%,200%);opacity:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;width:136px;min-height:58px;border:1px solid rgba(126,251,246,.22);border-radius:8px 8px 8px 0;background:rgba(1,19,30,.62);box-shadow:0 0 16px #30dcff29}.map .provinces-label .label-main{min-width:0}.map .provinces-label .label-title{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7efbf6d1;font-size:10px;line-height:12px;font-weight:500}.map .provinces-label .number{color:#fff;font-size:21px;line-height:25px;font-weight:700}.map .provinces-label .number .unit{color:#fff;font-size:11px;font-weight:400;opacity:.64;padding-left:4px}.map .provinces-label .name{color:#fff;font-size:12px;line-height:14px;font-weight:700;max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map .provinces-label .name span{display:block}.map .provinces-label .name .en{color:#fff;font-size:10px;opacity:.5;font-weight:700}.map .provinces-label .no{color:#7efbf6;text-shadow:0 0 5px #7efbf6,0 0 10px #7efbf6;font-size:22px;font-weight:700;flex:0 0 auto}.map .provinces-label.yellow .no{color:#c9fbff!important;text-shadow:0 0 5px rgba(48,220,255,.42)!important}.map .epidemic-village-label{will-change:transform}.map .epidemic-village-label .epidemic-village-card{position:relative;width:142px;padding:7px 9px 6px;border:1px solid rgba(91,236,235,.42);border-radius:4px;color:#eaffff;background:linear-gradient(90deg,rgba(5,35,45,.92),rgba(2,18,29,.78)),rgba(1,17,27,.86);box-shadow:0 0 16px #2ddeff38,inset 0 0 16px #27f0c014;transform:translate(48%,-12%)}.map .epidemic-village-label .epidemic-village-card:before{position:absolute;left:-10px;top:50%;width:10px;height:1px;content:"";background:linear-gradient(90deg,rgba(91,236,235,0),rgba(91,236,235,.78))}.map .epidemic-village-label .epidemic-village-card:after{position:absolute;left:-14px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;content:"";background:#c9fbff;box-shadow:0 0 8px #30dcff75}.map .epidemic-village-label .epidemic-village-card.is-small{transform:translate(42%,-8%) scale(.92)}.map .epidemic-village-label .village-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.map .epidemic-village-label .village-card-head strong{overflow:hidden;color:#fff;font-size:13px;line-height:16px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.map .epidemic-village-label .village-card-head span{flex:0 0 auto;padding:1px 5px 2px;border:1px solid rgba(39,240,192,.28);border-radius:2px;color:#79f8e5;font-size:10px;line-height:11px;background:rgba(39,240,192,.08)}.map .epidemic-village-label .village-card-body{display:flex;align-items:baseline;gap:3px;margin-top:4px;white-space:nowrap}.map .epidemic-village-label .village-card-body .metric{color:#c9fffbc2;font-size:10px;line-height:12px}.map .epidemic-village-label .village-card-body .number{color:#fff;font-size:20px;line-height:22px;font-weight:900;text-shadow:0 0 10px rgba(126,251,246,.7)}.map .epidemic-village-label .village-card-body .unit{color:#e8fcffcc;font-size:10px;line-height:12px;font-weight:700}.map .epidemic-village-label .village-card-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:3px;color:#e2faff9e;font-size:10px;line-height:11px;white-space:nowrap}.map .trade-market-label,.map .trade-flow-label,.map .trade-national-label{color:#fff;will-change:transform;pointer-events:none}.map .trade-national-name{padding:2px 6px;border:1px solid rgba(72,231,255,.24);border-radius:3px;background:rgba(3,23,35,.42);color:#ffffff9e;font-size:10px;line-height:12px;font-weight:800;text-shadow:0 0 6px rgba(48,220,255,.42);white-space:nowrap;transform:translate(-50%,-50%)}.map .trade-market-card{position:relative;width:128px;padding:6px 8px;border:1px solid rgba(139,247,255,.52);border-radius:4px;background:linear-gradient(110deg,rgba(12,68,78,.58),rgba(4,24,34,.58)),rgba(5,20,30,.58);box-shadow:0 0 10px #30dcff24,inset 0 0 10px #30dcff0f;transform:translate(60%)}.map .trade-market-card:before{position:absolute;left:-14px;top:calc(50% - 1px);width:14px;height:1px;content:"";background:linear-gradient(90deg,rgba(255,221,117,0),rgba(255,221,117,.92))}.map .trade-market-card:after{position:absolute;left:-18px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;content:"";background:#fff06a;box-shadow:0 0 12px #fff06ae6}.map .trade-market-card .market-title{overflow:hidden;color:#fff;font-size:11px;line-height:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.map .trade-market-card .market-total{display:flex;align-items:baseline;gap:4px;margin-top:3px}.map .trade-market-card .market-total span{color:#fff;font-size:15px;line-height:18px;font-weight:900;text-shadow:0 0 10px rgba(255,221,117,.6)}.map .trade-market-card .market-total em{color:#ffffffc2;font-size:10px;line-height:12px;font-style:normal}.map .trade-flow-card{position:relative;width:96px;padding:5px 7px;border:1px solid rgba(85,226,255,.32);border-radius:3px;background:linear-gradient(105deg,rgba(4,37,50,.58),rgba(3,17,27,.48)),rgba(1,17,27,.46);box-shadow:0 0 8px #30dcff1f,inset 0 0 8px #27f0c00d;transform:translate(60%)}.map .trade-flow-card.is-left{transform:translate(-66%)}.map .trade-flow-card.is-left:before{right:-10px;left:auto;background:linear-gradient(90deg,rgba(85,226,255,.84),rgba(85,226,255,0))}.map .trade-flow-card.is-left:after{right:-14px;left:auto}.map .trade-flow-card.is-top{transform:translateY(-108%)}.map .trade-flow-card.is-top:before{left:50%;top:auto;bottom:-10px;width:1px;height:10px;background:linear-gradient(180deg,rgba(85,226,255,.84),rgba(85,226,255,0))}.map .trade-flow-card.is-top:after{left:calc(50% - 3px);top:auto;bottom:-14px}.map .trade-flow-card.is-bottom{transform:translateY(82%)}.map .trade-flow-card.is-bottom:before{left:50%;top:-10px;width:1px;height:10px;background:linear-gradient(180deg,rgba(85,226,255,0),rgba(85,226,255,.84))}.map .trade-flow-card.is-bottom:after{left:calc(50% - 3px);top:-14px}.map .trade-flow-card:before{position:absolute;left:-10px;top:50%;width:10px;height:1px;content:"";background:linear-gradient(90deg,rgba(85,226,255,0),rgba(85,226,255,.84))}.map .trade-flow-card:after{position:absolute;left:-14px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;content:"";background:#30dcff;box-shadow:0 0 10px #30dcffcc}.map .trade-flow-card .flow-head{display:flex;align-items:center;gap:6px;min-width:0}.map .trade-flow-card .flow-head span{flex:0 0 auto;color:#ffe076;font-size:10px;line-height:12px;font-weight:900}.map .trade-flow-card .flow-head strong{overflow:hidden;color:#fff;font-size:10px;line-height:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.map .trade-flow-card .flow-body{display:flex;align-items:baseline;gap:3px;margin-top:2px}.map .trade-flow-card .flow-body em{color:#fff;font-size:13px;line-height:15px;font-style:normal;font-weight:900;text-shadow:0 0 10px rgba(48,220,255,.55)}.map .trade-flow-card .flow-body b{color:#ffffffc2;font-size:10px;line-height:12px}.map .china-label{color:#fff;font-size:14px;font-weight:700;text-shadow:0 0 8px rgba(126,251,246,.8);will-change:transform;z-index:30}.map .china-label .other-label{display:flex;align-items:center;padding:6px 10px;border:1px solid rgba(126,251,246,.35);border-radius:3px;background:rgba(3,21,33,.78);box-shadow:0 0 14px #30dcff33;will-change:transform;white-space:nowrap}.map .china-label .town-stat-label{flex-direction:column;align-items:center;gap:4px;min-width:74px;padding:5px 8px 4px;border-color:#7efbf64d;background:linear-gradient(180deg,rgba(4,33,46,.66),rgba(3,20,32,.56));box-shadow:0 0 10px #30dcff1f;text-align:center;transform:translateY(-50%)}.map .china-label .town-name-row{display:flex;align-items:center;justify-content:center;gap:6px;min-height:18px;line-height:18px}.map .china-label .town-name{color:#fff;font-size:13px;line-height:18px;font-weight:800}.map .china-label .town-rank{display:none;flex:0 0 auto;padding:1px 5px;border:1px solid rgba(126,251,246,.32);border-radius:2px;color:#7efbf6;font-size:10px;line-height:13px;font-weight:700;text-shadow:none;background:rgba(126,251,246,.1)}.map .china-label .town-stat-row{display:none;align-items:baseline;justify-content:center;gap:3px;min-height:18px;line-height:18px}.map .china-label .town-stat-metric{max-width:72px;overflow:hidden;color:#7efbf6e6;font-size:10px;line-height:12px;font-weight:700;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}.map .china-label .town-stat-value{color:#fff;font-size:18px;line-height:18px;font-weight:800;text-shadow:0 0 10px rgba(126,251,246,.72)}.map .china-label .town-stat-unit{color:#e8fcffc2;font-size:10px;line-height:12px;font-weight:600}.map .china-label .town-stat-label.has-stat{min-width:108px}.map .china-label .town-stat-label.has-stat .town-rank,.map .china-label .town-stat-label.has-stat .town-stat-row{display:flex}.map .china-label.blur{filter:none;opacity:1}.map .china-label .label-icon{display:none;width:20px;height:20px;margin:0 10px 0 0}.map .map-label{padding:5px;color:#fff;will-change:transform;font-size:36px;font-weight:700;letter-spacing:4.5px;-webkit-box-reflect:below 0 -webkit-linear-gradient(transparent,transparent 20%,rgba(255,255,255,.3))}.map .map-label .other-label{display:flex;flex-direction:column}.map .map-label span{font-size:46px}.map .map-label span:last-child{font-size:12px;font-weight:400;letter-spacing:0px;color:#a7d5ef}.map .decoration-label .label-icon{display:block;width:40px;height:40px}.map .other-label{transform:translateY(200%);opacity:0;background:none;will-change:transform}.yak-management{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c;height:100%;overscroll-behavior:none}.yak-map-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;background:transparent!important}.yak-map-scene>canvas{display:block;width:100%!important;height:100%!important}.yak-map-scene>div{width:100%!important;height:100%!important}.yak-map-scene .china-label .town-stat-label{transform:translateY(-50%) scale(.92)}.yak-ol-map-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.yak-management-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.yak-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 42%,rgba(1,9,15,.22) 74%,rgba(1,8,13,.58) 100%),linear-gradient(90deg,rgba(0,12,20,.36),transparent 24%,transparent 76%,rgba(0,12,20,.36)),linear-gradient(180deg,rgba(2,16,27,.02),rgba(2,13,22,.22))}.yak-map-scrim.is-ol-map{background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 58%,rgba(1,9,15,.16) 82%,rgba(1,8,13,.42) 100%),linear-gradient(90deg,rgba(0,12,20,.24),transparent 22%,transparent 78%,rgba(0,12,20,.24)),linear-gradient(180deg,rgba(2,16,27,.01),rgba(2,13,22,.12))}.yak-left,.yak-right{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.yak-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.yak-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.yak-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.yak-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.yak-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.yak-side-card{flex:0 0 auto}.yak-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff;overflow:hidden}.trade-source-card .m-card-bd-content{top:38px;bottom:8px}.yak-chart{width:100%;height:100%;box-sizing:border-box}.forecast-trend-card,.structure-chart-card{position:relative;width:100%;height:100%}.breeding-health-card{display:grid;grid-template-rows:34px minmax(0,1fr);gap:9px;height:100%;padding:10px 13px;overflow:hidden;box-sizing:border-box}.breeding-health-head{display:flex;align-items:center;min-width:0;padding:0 12px;border-left:3px solid rgba(48,220,255,.72);background:radial-gradient(circle at 18% 50%,rgba(48,220,255,.12),transparent 48%),linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.035));box-sizing:border-box}.breeding-health-head strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:16px;line-height:20px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.62)}.breeding-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;min-height:0}.breeding-health-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:18px 14px 6px;align-content:center;gap:2px 6px;min-width:0;min-height:0;padding:7px 9px;overflow:hidden;border:1px solid rgba(48,220,255,.13);background:linear-gradient(90deg,color-mix(in srgb,var(--health-color) 16%,transparent),rgba(5,27,41,.32)),rgba(3,25,40,.18);box-sizing:border-box}.breeding-health-item span,.breeding-health-item strong,.breeding-health-item em{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breeding-health-item span{color:#e5fdffd6;font-size:12px;line-height:15px;font-weight:800}.breeding-health-item strong{color:color-mix(in srgb,var(--health-color) 82%,#ffffff);font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:18px;font-weight:900;text-align:right}.breeding-health-item i{grid-column:1/3;position:relative;z-index:1;display:block;height:4px;overflow:hidden;background:rgba(48,220,255,.12)}.breeding-health-item i b{display:block;width:var(--health-width);height:100%;background:var(--health-color);box-shadow:0 0 5px color-mix(in srgb,var(--health-color) 34%,transparent)}.breeding-health-item em{grid-column:1/3;grid-row:2;color:color-mix(in srgb,var(--health-color) 74%,#ffffff);font-size:11px;line-height:13px;font-style:normal}.structure-ratio-card{display:grid;grid-template-columns:146px minmax(0,1fr);align-items:center;gap:10px;height:100%;overflow:hidden;padding:2px 10px 6px 8px;box-sizing:border-box}.structure-ratio-chart{position:relative;width:142px;height:132px;min-width:0}.structure-ratio-chart svg{width:100%;height:100%;overflow:visible}.structure-ratio-list{display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;gap:5px;overflow:hidden}.structure-ratio-row{position:relative;display:grid;grid-template-columns:11px minmax(0,1fr) 50px 16px;align-items:center;gap:6px;min-width:0;min-height:22px;height:23px;padding:0 5px 0 3px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(48,220,255,.055);color:#e1f9ffc2;font-size:10px;line-height:13px;box-sizing:border-box;transition:background .35s ease,border-color .35s ease}.structure-ratio-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--row-percent);background:linear-gradient(90deg,var(--row-color),rgba(48,220,255,0));opacity:.18;pointer-events:none}.structure-ratio-row i{position:relative;z-index:1;width:9px;height:9px;border:1px solid #30dcff;border-radius:50%;box-sizing:border-box;box-shadow:none}.structure-ratio-row span{position:relative;z-index:1;display:flex;align-items:baseline;gap:4px;min-width:0;overflow:hidden;color:#ebfdffe6;font-size:13px;line-height:15px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.62);text-overflow:ellipsis;white-space:nowrap}.structure-ratio-row span small{flex:none;color:color-mix(in srgb,var(--row-color) 78%,rgba(255,255,255,.65));font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;font-weight:800;line-height:12px}.structure-ratio-row strong{position:relative;z-index:1;color:#fffffff0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;font-weight:800;line-height:20px;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.62);white-space:nowrap}.structure-ratio-row em{position:relative;z-index:1;color:#ffffff8a;font-size:10px;font-style:normal;white-space:nowrap}.structure-ratio-row.is-active{color:var(--row-color);border-color:#30dcff38;background:linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04))}.structure-rose-segment{opacity:.92;stroke-width:1.5;stroke-opacity:.5;transform-box:fill-box;transform-origin:center;transition:opacity .3s ease,filter .3s ease,transform .3s ease;filter:drop-shadow(0 2px 2px rgba(0,10,18,.34)) drop-shadow(0 0 3px rgba(48,220,255,.12))}.structure-rose-segment.is-active{opacity:1;transform:scale(1.035);filter:drop-shadow(0 3px 5px rgba(0,10,18,.42)) drop-shadow(0 0 5px rgba(48,220,255,.22))}.structure-rose-glow{fill:#30dcff12;stroke:#30dcff2e;stroke-width:1;filter:none}.structure-rose-hole{fill:#03121ef0;stroke:#e3fdff38;stroke-width:1.2}.structure-rose-center{fill:#e7feffdb;font-size:10px;font-weight:800;dominant-baseline:middle;pointer-events:none}.structure-rose-center.is-sub{fill:#e7feff8a;font-size:7px;font-weight:700}.structure-summary-card{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));align-content:center;gap:10px;height:100%;overflow:hidden;padding:15px 18px 14px;box-sizing:border-box}.structure-summary-row{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 58px;grid-template-rows:22px 14px;align-items:center;column-gap:10px;min-width:0;min-height:0;padding:2px 0;color:#e1f9ffb8}.structure-summary-row span{grid-row:1/3;display:inline-flex;min-width:0;align-items:center;gap:8px;overflow:hidden;color:#ebfdffe6;font-size:13px;line-height:17px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.62);text-overflow:ellipsis;white-space:nowrap}.structure-summary-row i{width:9px;height:9px;flex:0 0 auto;border-radius:2px;background:var(--structure-color);box-shadow:none}.structure-summary-row strong{grid-column:3;grid-row:1;color:#fffffff0;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;line-height:15px;font-weight:800;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.62);white-space:nowrap}.structure-summary-row strong em{margin-left:3px;color:#e2fcffad;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:700}.structure-summary-row b{position:relative;grid-column:2;grid-row:1/3;height:17px;overflow:hidden;border:1px solid rgba(48,220,255,.08);background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 18px),rgba(48,220,255,.05)}.structure-summary-row b em{display:block;width:var(--structure-width);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--structure-color) 20%,transparent),var(--structure-color));box-shadow:0 0 5px color-mix(in srgb,var(--structure-color) 28%,transparent)}.structure-summary-row small{grid-column:3;grid-row:2;color:color-mix(in srgb,var(--structure-color) 76%,rgba(255,255,255,.72));font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:10px;line-height:11px;font-weight:800;text-align:right;white-space:nowrap}.yak-data-status{position:absolute;left:12px;bottom:6px;z-index:2;max-width:calc(100% - 24px);padding:2px 8px;border:1px solid rgba(48,220,255,.24);border-radius:3px;color:#defaffbd;font-size:10px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(4,24,37,.72);box-shadow:inset 0 0 10px #30dcff14}.yak-data-status.is-warning{border-color:#8bf7ff47;color:#c9fbffdb;background:rgba(4,24,37,.62)}.forecast-kline-chart{padding-top:16px}.forecast-density-switcher{position:absolute;top:0;left:4px;z-index:3;display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(48,220,255,.22);border-radius:3px;background:rgba(4,24,37,.72);box-shadow:inset 0 0 10px #30dcff14}.forecast-density-switcher button{min-width:24px;height:18px;padding:0 6px;border:0;border-radius:2px;color:#e2faffa8;font-size:10px;line-height:18px;font-weight:800;background:transparent;cursor:pointer}.forecast-density-switcher button.active{color:#041c2b;background:linear-gradient(180deg,#7efbf6,#30dcff);box-shadow:0 0 6px #30dcff2e}.yak-map-loading{position:absolute;left:50%;top:50%;z-index:8;color:#dffaffa3;font-size:16px;transform:translate(-50%,-50%)}.yak-bottom-topic{position:absolute;left:50%;bottom:48px;z-index:8;transform:translate(-50%);pointer-events:all}.trade-year-switcher,.forecast-year-switcher,.epidemic-year-switcher{position:absolute;left:462px;top:218px;z-index:8;display:flex;width:78px;flex-direction:column;gap:8px;padding:10px 8px;border:1px solid rgba(139,247,255,.28);background:linear-gradient(180deg,rgba(9,42,55,.72),rgba(4,18,30,.82)),rgba(3,18,31,.62);box-shadow:0 0 10px #30dcff14,inset 0 0 0 1px #ffffff0d;pointer-events:all;transform:perspective(620px) rotateY(6deg);transform-origin:left center;box-sizing:border-box}.trade-year-switcher span,.forecast-year-switcher span,.epidemic-year-switcher span{color:#ffffffdb;font-size:12px;font-weight:700;line-height:14px;text-align:center;white-space:nowrap}.trade-year-switcher button,.forecast-year-switcher button,.epidemic-year-switcher button{width:100%;height:30px;border:1px solid rgba(255,255,255,.18);background:rgba(48,220,255,.08);color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;font-weight:900;cursor:pointer;box-sizing:border-box}.trade-year-switcher button.active,.trade-year-switcher button:hover,.forecast-year-switcher button.active,.forecast-year-switcher button:hover,.epidemic-year-switcher button.active,.epidemic-year-switcher button:hover{border-color:#8bf7ffb3;background:rgba(139,247,255,.18);color:#8bf7ff;box-shadow:0 0 7px #30dcff1f}.forecast-year-switcher{border-color:#30dcff47;box-shadow:0 0 10px #30dcff14,inset 0 0 0 1px #ffffff0d}.forecast-year-switcher button.active,.forecast-year-switcher button:hover{border-color:#30dcffb3;background:rgba(48,220,255,.16);color:#30dcff;box-shadow:0 0 7px #30dcff1f}.epidemic-year-switcher{border-color:#30dcff42;box-shadow:0 0 10px #30dcff14,inset 0 0 0 1px #ffffff0d}.epidemic-year-switcher button.active,.epidemic-year-switcher button:hover{border-color:#30dcffad;background:rgba(48,220,255,.16);color:#8bf7ff;box-shadow:0 0 7px #30dcff1f}.forecast-waterfall-card{display:grid;grid-template-rows:32px minmax(0,1fr);gap:8px;height:100%;padding:9px 13px 10px;overflow:hidden;box-sizing:border-box}.forecast-waterfall-head{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 10px;border-left:3px solid rgba(48,220,255,.72);background:linear-gradient(90deg,rgba(48,220,255,.13),rgba(48,220,255,.025)),rgba(3,25,40,.18);box-sizing:border-box}.forecast-waterfall-head span,.forecast-waterfall-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-waterfall-head span{color:#e2fcffc7;font-size:12px;line-height:16px;font-weight:800}.forecast-waterfall-head strong{color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:18px;font-weight:900;text-align:right}.forecast-waterfall-head strong.negative{color:#48cfff}.forecast-waterfall-head strong em{margin-left:2px;color:#e2fcff99;font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);font-size:10px;font-style:normal;font-weight:700}.forecast-waterfall-list{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:5px;min-height:0}.forecast-waterfall-row{display:grid;grid-template-columns:78px minmax(0,1fr) 76px;align-items:center;gap:8px;min-width:0;min-height:0}.forecast-waterfall-row span,.forecast-waterfall-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-waterfall-row span{color:#e2fcffc7;font-size:12px;line-height:14px;font-weight:800}.forecast-waterfall-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;line-height:15px;font-weight:900;text-align:right}.forecast-waterfall-row i{position:relative;display:block;height:18px;overflow:hidden;border:1px solid rgba(48,220,255,.08);background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 18px),rgba(48,220,255,.045);box-sizing:border-box}.forecast-waterfall-row i:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(226,252,255,.12);transform:translateY(-50%)}.forecast-waterfall-row i b{position:absolute;left:var(--waterfall-left);top:3px;width:var(--waterfall-width);height:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--waterfall-color) 22%,transparent),var(--waterfall-color));box-shadow:0 0 5px color-mix(in srgb,var(--waterfall-color) 34%,transparent)}.forecast-waterfall-row.is-anchor span,.forecast-waterfall-row.is-final span{color:#ffffffe6}.forecast-waterfall-row.is-anchor i b,.forecast-waterfall-row.is-final i b{top:3px;height:10px;border-radius:8px;background:var(--waterfall-color)}.forecast-waterfall-row.positive strong{color:#8bf7ff}.forecast-waterfall-row.negative strong{color:#48cfff}.forecast-waterfall-row.is-final strong{color:#fff}.estimate-summary-card,.forecast-summary-card{height:100%;padding:6px 14px 8px;box-sizing:border-box}.estimate-summary-card{display:grid;grid-template-rows:minmax(58px,.88fr) minmax(86px,1.12fr);row-gap:10px;padding:7px 14px 10px;overflow:hidden}.estimate-flow-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0}.estimate-flow-item{min-width:0;height:100%;padding:8px 10px 7px;border-left:2px solid rgba(48,220,255,.64);background:linear-gradient(90deg,rgba(48,220,255,.13),rgba(48,220,255,.025)),rgba(3,25,40,.18);box-sizing:border-box}.estimate-flow-item em,.estimate-flow-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-flow-item em{color:#dffaff99;font-style:normal;font-size:11px;line-height:14px}.estimate-flow-item strong{margin-top:5px;color:#30dcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:20px;font-weight:900;line-height:24px}.estimate-flow-item small{margin-left:3px;color:#dffaff94;font-size:10px;font-weight:600}.estimate-flow-item.is-adjustment{border-left-color:#8bf7ffa3;background:linear-gradient(90deg,rgba(139,247,255,.12),rgba(48,220,255,.025)),rgba(3,25,40,.18)}.estimate-flow-item.is-adjustment strong{color:#8bf7ff}.estimate-flow-item.is-adjustment strong.negative{color:#48cfff}.estimate-result-band{position:relative;min-width:0;display:flex;height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:10px 14px 9px;border:1px solid rgba(48,220,255,.18);border-left:3px solid rgba(48,220,255,.76);background:radial-gradient(circle at 18% 50%,rgba(48,220,255,.16),transparent 46%),linear-gradient(90deg,rgba(48,220,255,.18),rgba(48,220,255,.04)),rgba(3,25,40,.22);box-sizing:border-box}.estimate-result-band:after{content:"";position:absolute;right:-12px;bottom:-18px;width:118px;height:76px;pointer-events:none;background:radial-gradient(circle at center,rgba(48,220,255,.16),transparent 58%),linear-gradient(135deg,transparent 0 42%,rgba(48,220,255,.12) 43% 45%,transparent 46% 100%)}.estimate-result-band span,.estimate-result-band strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-result-band span{color:#dffaffb8;font-size:13px;line-height:16px}.estimate-result-band strong{position:relative;z-index:1;margin-top:0;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:38px;font-weight:900;line-height:42px}.estimate-result-band em{margin-left:5px;color:#dffaff9e;font-style:normal;font-size:12px}.forecast-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.forecast-simple-grid span{min-width:0;height:38px;padding:5px 7px;border-left:2px solid rgba(48,220,255,.58);background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02));box-sizing:border-box}.forecast-simple-grid em,.forecast-simple-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-simple-grid em{color:#dffaff8f;font-style:normal;font-size:10px;line-height:11px}.forecast-simple-grid strong{margin-top:3px;color:#30dcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;font-weight:900;line-height:15px}.forecast-simple-grid .positive{color:#8bf7ff}.forecast-simple-grid .negative{color:#48cfff}.forecast-summary-card{display:grid;grid-template-rows:minmax(84px,1fr) minmax(44px,.55fr);row-gap:9px;padding:8px 14px 10px;overflow:hidden}.forecast-result-row{display:grid;grid-template-columns:minmax(0,1fr) 98px;align-items:center;column-gap:8px;height:100%;min-height:0}.forecast-result-main{min-width:0;display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:10px 12px;border-left:2px solid rgba(48,220,255,.7);background:radial-gradient(circle at 22% 50%,rgba(48,220,255,.16),transparent 48%),linear-gradient(90deg,rgba(48,220,255,.16),rgba(48,220,255,.035)),rgba(3,25,40,.18);box-sizing:border-box}.forecast-result-main span,.forecast-result-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-result-main span{color:#dffaffa8;font-size:13px;line-height:16px}.forecast-result-main strong{margin-top:0;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:35px;font-weight:900;line-height:39px}.forecast-result-main strong em{margin-left:4px;color:#dffaff9e;font-style:normal;font-size:11px}.forecast-change-badge{min-width:0;height:66px;padding:11px 9px 8px;border:1px solid rgba(139,247,255,.28);background:rgba(139,247,255,.06);box-sizing:border-box}.forecast-change-badge span,.forecast-change-badge strong{display:block;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.forecast-change-badge span{color:#dffaff8c;font-size:10px;line-height:11px}.forecast-change-badge strong{margin-top:2px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:14px;font-weight:900;line-height:16px}.forecast-change-badge strong em{margin-left:2px;color:#dffaff94;font-style:normal;font-size:10px}.forecast-change-badge.negative{border-color:#48cfff47;background:rgba(72,207,255,.06)}.forecast-change-badge.negative strong{color:#48cfff}.forecast-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:0}.forecast-simple-grid span{height:100%;min-height:42px;padding:6px 8px}.forecast-simple-grid strong{margin-top:3px;font-size:15px;line-height:17px}.forecast-heat-list{display:flex;height:100%;flex-direction:column;gap:4px;padding:8px 13px 9px;box-sizing:border-box}.heat-row{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 60px;align-items:center;gap:8px;min-height:0;flex:1 1 0;padding:0 8px;overflow:visible;border:1px solid rgba(48,220,255,.14);background:linear-gradient(90deg,rgba(48,220,255,.08),transparent 34%,rgba(36,246,196,.04)),rgba(2,18,30,.58);box-shadow:inset 0 0 0 1px #ffffff05,inset 0 0 12px #30dcff0a}.heat-row:before{content:"";position:absolute;left:78px;right:68px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(48,220,255,.24),transparent);transform:translateY(-50%)}.heat-row:after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:rgba(48,220,255,.82);box-shadow:none;opacity:.78}.heat-row span,.heat-row strong,.heat-row b{position:relative;z-index:1;white-space:nowrap}.heat-row span{color:#ecfdffe6;font-size:12px;line-height:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.66)}.heat-row b{display:block;height:11px;padding:2px;border:1px solid rgba(48,220,255,.22);background:linear-gradient(90deg,rgba(48,220,255,.08),rgba(48,220,255,.025)),rgba(0,14,24,.66);box-shadow:inset 0 0 10px #00000057,0 0 10px #30dcff14}.heat-row b i{position:relative;display:block;width:var(--heat-width);height:100%;min-width:8px;background:linear-gradient(90deg,rgba(255,255,255,.86),var(--heat-color) 16%,rgba(48,220,255,.72) 78%,rgba(255,255,255,.9)),linear-gradient(90deg,var(--heat-color-soft),transparent);box-shadow:0 0 5px #30dcff24;overflow:visible}.heat-row b i:after{content:"";position:absolute;right:-4px;top:50%;width:7px;height:7px;border-radius:50%;background:#ffffff;box-shadow:0 0 5px #ffffff52;transform:translateY(-50%)}.heat-row b i:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);opacity:.72}.heat-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;line-height:17px;font-weight:900;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.66)}.heat-row.is-negative{border-color:#48cfff2e}.epidemic-overview-chart-card{height:100%;padding:7px 9px 5px;box-sizing:border-box}.epidemic-overview-chart{width:100%;height:100%}.epidemic-chain-chart-card{height:100%;padding:7px 8px 5px;box-sizing:border-box}.epidemic-chain-chart{width:100%;height:100%}.epidemic-chain-card{height:100%;padding:9px 13px;box-sizing:border-box}.epidemic-chain-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;column-gap:8px}.epidemic-chain-row span{min-width:0;height:48px;padding:6px;border:1px solid rgba(48,220,255,.16);background:rgba(48,220,255,.05);box-sizing:border-box}.epidemic-chain-row em,.epidemic-chain-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epidemic-chain-row em{color:#dffaff8f;font-style:normal;font-size:10px}.epidemic-chain-row strong{margin-top:5px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;font-weight:900}.epidemic-chain-row i{color:#8bf7ffcc;font-style:normal;text-align:center}.epidemic-chain-note{margin:8px 0;padding:7px 9px;border-left:2px solid rgba(139,247,255,.76);background:rgba(139,247,255,.06)}.epidemic-chain-note span{display:block;color:#eafcffd6;font-size:11px;line-height:17px}.epidemic-chain-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.epidemic-chain-metrics span{min-width:0;display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 8px;border:1px solid rgba(48,220,255,.14);background:rgba(48,220,255,.04)}.epidemic-chain-metrics em{color:#dffaff94;font-style:normal;font-size:10px}.epidemic-chain-metrics strong{overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.epidemic-three-pie-card{display:grid;grid-template-columns:142px minmax(0,1fr);align-items:center;gap:8px;height:100%;padding:8px 12px 8px 10px;box-sizing:border-box}.epidemic-three-pie-visual{position:relative;width:136px;height:136px;min-width:0}.epidemic-three-pie{width:100%;height:100%}.epidemic-three-pie-center{position:absolute;left:0;top:0;display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-shadow:0 0 10px rgba(0,0,0,.96);pointer-events:none}.epidemic-three-pie-center strong{overflow:hidden;max-width:84px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:21px;line-height:22px;font-weight:900;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-2px)}.epidemic-three-pie-center span{overflow:hidden;max-width:86px;color:#fffffff5;font-size:10px;line-height:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.epidemic-three-pie-legend{display:flex;min-width:0;height:100%;flex-direction:column;justify-content:center;gap:6px}.epidemic-three-pie-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;column-gap:5px;min-height:17px}.epidemic-three-pie-row i{width:8px;height:8px;border:2px solid #30dcff;border-radius:2px;box-sizing:border-box;background:rgba(3,20,31,.84)}.epidemic-three-pie-row span{overflow:hidden;color:#e2faffd1;font-size:10px;line-height:13px;text-overflow:ellipsis;white-space:nowrap}.epidemic-three-pie-row strong{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;line-height:13px;font-weight:800;white-space:nowrap}.epidemic-three-pie-row em{color:#dffaff8a;font-style:normal;font-size:10px;line-height:12px;white-space:nowrap}.epidemic-record-table{display:flex;height:100%;flex-direction:column;gap:5px;padding:7px 9px 8px;box-sizing:border-box}.epidemic-record-table.is-double{gap:5px}.epidemic-record-table.is-full{gap:6px;padding:9px 10px 10px}.epidemic-record-toolbar{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;column-gap:7px;height:29px}.epidemic-record-toolbar>span{overflow:hidden;color:#ffffffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.epidemic-record-toolbar>div{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 44px 62px;gap:5px}.epidemic-record-toolbar input,.epidemic-record-toolbar button{height:25px;min-width:0;border:1px solid rgba(48,220,255,.16);background:rgba(3,25,40,.62);color:#fff;font-size:10px;box-sizing:border-box}.epidemic-record-toolbar input{padding:0 7px}.epidemic-record-toolbar input::placeholder{color:#ffffff94}.epidemic-record-toolbar button{border-color:#8bf7ff6b;background:rgba(139,247,255,.12);color:#fff;cursor:pointer}.epidemic-record-toolbar button.is-more{border-color:#30dcff57;background:rgba(48,220,255,.12)}.epidemic-record-header,.epidemic-record-rows button{display:grid;grid-template-columns:112px 56px 42px 54px 64px;column-gap:4px;align-items:center}.epidemic-record-header{height:24px;padding:0 6px;border:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.06);box-sizing:border-box}.epidemic-record-header span{color:#ffffffc7;font-size:10px}.epidemic-record-rows{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;overflow:hidden}.epidemic-record-rows button{min-height:0;flex:1 1 0;padding:0 6px;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035);color:#ffffffe0;cursor:pointer;text-align:left}.epidemic-record-rows button:hover,.epidemic-record-rows button.active{border-color:#8bf7ff5c;background:linear-gradient(90deg,rgba(139,247,255,.12),rgba(48,220,255,.04));color:#fff}.epidemic-record-rows span,.epidemic-record-rows strong{color:#fff;overflow:hidden;font-size:10px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.epidemic-record-rows strong{color:#8bf7ff;font-weight:700}.epidemic-record-table.is-full .epidemic-record-rows{gap:4px}.epidemic-record-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;height:24px}.epidemic-record-pager span{margin-right:auto;color:#ffffffd6;font-size:10px}.epidemic-record-pager button{height:22px;padding:0 8px;border:1px solid rgba(48,220,255,.18);background:rgba(48,220,255,.07);color:#fff;font-size:10px;cursor:pointer}.epidemic-record-pager button:disabled{opacity:.36;cursor:not-allowed}.epidemic-empty{display:flex;height:100%;align-items:center;justify-content:center;color:#dffaff8f;font-size:12px}.epidemic-detail-head{display:flex;align-items:center;justify-content:space-between;height:28px;border-bottom:1px solid rgba(48,220,255,.14)}.epidemic-detail-head span{overflow:hidden;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:15px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.epidemic-detail-head strong{color:#dffaffb8;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;white-space:nowrap}.epidemic-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.epidemic-detail-grid span{min-width:0;height:34px;padding:4px 7px;border:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.035);box-sizing:border-box}.epidemic-detail-grid em,.epidemic-detail-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epidemic-detail-grid em{color:#dffaff85;font-style:normal;font-size:10px;line-height:10px}.epidemic-detail-grid strong{margin-top:4px;color:#fff;font-size:11px;line-height:12px}.epidemic-detail-grid.is-modal{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}.epidemic-detail-grid.is-modal span{height:39px;padding:5px 8px}.epidemic-detail-grid.is-modal .is-wide{grid-column:1/-1}.epidemic-ledger-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:rgba(0,8,14,.68);pointer-events:all}.epidemic-ledger-dialog{width:1260px;height:724px;padding:18px;border:1px solid rgba(139,247,255,.36);background:linear-gradient(180deg,rgba(12,38,48,.97),rgba(4,17,28,.99)),rgba(3,18,31,.98);box-shadow:0 0 34px #8bf7ff29,inset 0 0 0 1px #ffffff0f;box-sizing:border-box}.epidemic-ledger-dialog-head{display:flex;align-items:center;justify-content:space-between;height:42px;border-bottom:1px solid rgba(48,220,255,.18)}.epidemic-ledger-dialog-head span{display:block;color:#fff;font-size:19px;font-weight:800}.epidemic-ledger-dialog-head strong{display:block;margin-top:3px;color:#ffffffdb;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px}.epidemic-ledger-dialog-head button{width:68px;height:28px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.epidemic-ledger-filters{display:grid;grid-template-columns:220px 130px 130px 132px 132px 66px 66px;gap:10px;align-items:center;margin:16px 0 14px}.epidemic-ledger-filters input,.epidemic-ledger-filters select,.epidemic-ledger-filters button{height:32px;min-width:0;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#fff;font-size:12px;box-sizing:border-box}.epidemic-ledger-filters input::placeholder{color:#ffffff9e}.epidemic-ledger-filters select option{color:#dffcff;background:#061926}.epidemic-ledger-filters input,.epidemic-ledger-filters select{padding:0 9px}.epidemic-ledger-filters button{cursor:pointer;background:rgba(139,247,255,.13);border-color:#8bf7ff5c;color:#fff;font-weight:700}.epidemic-ledger-filters button.is-ghost{background:rgba(255,255,255,.06);border-color:#ffffff2e}.epidemic-ledger-workspace{display:grid;grid-template-columns:minmax(0,1fr) 376px;gap:14px;height:548px}.epidemic-ledger-list{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px;overflow:hidden;border:1px solid rgba(139,247,255,.16);background:rgba(255,255,255,.035);box-shadow:inset 0 0 24px #8bf7ff08;box-sizing:border-box}.epidemic-ledger-table-head,.epidemic-ledger-list button{display:grid;grid-template-columns:minmax(126px,1.5fr) minmax(76px,.9fr) 72px minmax(96px,1fr) 72px 82px 42px;align-items:center;column-gap:8px}.epidemic-ledger-table-head{height:34px;padding:0 12px;border:0;border-bottom:1px solid rgba(139,247,255,.14);border-radius:0;background:rgba(255,255,255,.07)}.epidemic-ledger-table-head span{overflow:hidden;color:#ffffffd1;font-size:11px;font-weight:700;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.epidemic-ledger-list button{position:relative;width:100%;height:30px;padding:0 10px 0 12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.045),rgba(48,220,255,.018)),rgba(255,255,255,.025);color:#ffffffe6;cursor:pointer;text-align:left;transition:border-color .18s ease,background .18s ease,color .18s ease}.epidemic-ledger-list button:before{position:absolute;left:0;top:6px;width:2px;height:18px;content:"";opacity:0;background:var(--screen-icon-primary, #30dcff);box-shadow:0 0 8px var(--screen-icon-glow, rgba(48, 220, 255, .22))}.epidemic-ledger-list button.active,.epidemic-ledger-list button:hover{border-color:#30dcff5c;background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.05)),rgba(255,255,255,.045);color:#fff}.epidemic-ledger-list button.active:before,.epidemic-ledger-list button:hover:before{opacity:1}.epidemic-ledger-list button span,.epidemic-ledger-list button strong{overflow:hidden;font-size:10px;line-height:12px;color:#fff;text-overflow:ellipsis;white-space:nowrap}.epidemic-ledger-list button strong{color:#c9fbff;font-weight:800}.epidemic-ledger-detail{display:flex;flex-direction:column;min-width:0;min-height:0;padding:14px;border:1px solid rgba(48,220,255,.15);background:rgba(48,220,255,.04);box-sizing:border-box}.epidemic-detail-scroll{flex:1 1 0;min-height:0;margin-top:10px;padding-right:4px;overflow-y:auto}.epidemic-detail-section+.epidemic-detail-section{margin-top:10px}.epidemic-detail-section-title{display:flex;align-items:center;height:18px;color:#8bf7ff;font-size:12px;font-weight:700;line-height:18px}.epidemic-modal-photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px;overflow:hidden}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb{position:relative;width:100%;height:96px;padding:0;overflow:hidden;border:1px solid rgba(48,220,255,.24);background:rgba(48,220,255,.04);cursor:zoom-in;box-sizing:border-box}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb:hover{border-color:#8bf7ff94;box-shadow:0 0 7px #8bf7ff1f}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb:after{position:absolute;right:0;bottom:0;left:0;height:18px;content:"";background:linear-gradient(180deg,rgba(0,12,20,0),rgba(0,12,20,.92) 52%,rgba(0,12,20,.98));pointer-events:none}.epidemic-modal-photo-strip img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.epidemic-modal-photo-strip .epidemic-modal-photo-thumb:hover img{transform:scale(1.03)}.epidemic-modal-photo-strip span{grid-column:1/-1;display:flex;height:96px;align-items:center;justify-content:center;border:1px solid rgba(48,220,255,.12);color:#dffaff8a;font-size:11px}.epidemic-image-preview-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:48;display:flex;align-items:center;justify-content:center;padding:46px;background:rgba(0,8,14,.78);pointer-events:all;box-sizing:border-box}.epidemic-image-preview-dialog{display:flex;width:min(920px,78vw);max-height:78vh;flex-direction:column;border:1px solid rgba(139,247,255,.34);background:linear-gradient(180deg,rgba(9,38,50,.97),rgba(2,15,26,.99)),rgba(2,17,28,.98);box-shadow:0 0 34px #8bf7ff24,inset 0 0 0 1px #ffffff0e}.epidemic-image-preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;padding:0 16px 0 18px;border-bottom:1px solid rgba(48,220,255,.16);box-sizing:border-box}.epidemic-image-preview-head div{min-width:0}.epidemic-image-preview-head span,.epidemic-image-preview-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epidemic-image-preview-head span{color:#fff;font-size:16px;font-weight:800}.epidemic-image-preview-head strong{margin-top:3px;color:#8bf7ffd1;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px}.epidemic-image-preview-head button{width:68px;height:28px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.epidemic-image-preview-body{display:flex;min-height:0;flex:1;align-items:center;justify-content:center;padding:16px;background:rgba(0,10,17,.42)}.epidemic-image-preview-frame{position:relative;display:flex;max-width:100%;max-height:calc(78vh - 84px);align-items:center;justify-content:center;overflow:hidden}.epidemic-image-preview-frame img{display:block;max-width:100%;max-height:calc(78vh - 84px);object-fit:contain}.epidemic-image-preview-frame:after{position:absolute;right:0;bottom:0;left:0;height:38px;content:"";background:linear-gradient(180deg,rgba(0,10,17,0),rgba(0,10,17,.96) 58%,rgba(0,10,17,.99));pointer-events:none}.epidemic-ledger-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:42px}.epidemic-ledger-pager span{color:#ffffffb8;font-size:12px}.epidemic-ledger-pager button{height:26px;padding:0 12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);color:#fff;cursor:pointer}.epidemic-ledger-pager button:disabled{opacity:.38;cursor:not-allowed}.trade-ledger-dialog{width:1260px;height:724px;border-color:#8bf7ff5c;background:linear-gradient(180deg,rgba(12,38,48,.97),rgba(4,17,28,.99)),rgba(3,18,31,.98);box-shadow:0 0 34px #8bf7ff29,inset 0 0 0 1px #ffffff0f}.trade-ledger-dialog .epidemic-ledger-dialog-head strong{color:#ffffffdb}.trade-ledger-dialog .epidemic-ledger-dialog-head button{border-color:#ffffff47;background:rgba(255,255,255,.08);color:#fff}.trade-ledger-filters{grid-template-columns:260px 150px 142px 142px 70px 70px}.trade-ledger-filters input,.trade-ledger-filters select,.trade-ledger-filters button{color:#fff}.trade-ledger-filters button{color:#fff;font-weight:700}.trade-ledger-workspace{grid-template-columns:minmax(0,1fr) 376px}.trade-ledger-modal-table-head,.trade-ledger-modal-list button{display:grid;grid-template-columns:128px 84px 92px 58px 88px 90px 102px 68px;align-items:center;column-gap:10px}.trade-ledger-modal-table-head{height:34px;padding:0 12px;border-bottom:1px solid rgba(139,247,255,.14);background:rgba(255,255,255,.07)}.trade-ledger-modal-table-head span{overflow:hidden;color:#ffffffd1;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-modal-list{border-color:#30dcff29;background:rgba(255,255,255,.035)}.trade-ledger-modal-list button{height:34px;color:#ffffffe6}.trade-ledger-modal-list button.active,.trade-ledger-modal-list button:hover{background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.05));color:#fff}.trade-ledger-modal-list button span,.trade-ledger-modal-list button strong{color:#fff}.trade-ledger-modal-list button strong{color:#c9fbff}.trade-ledger-detail{display:flex;flex-direction:column;padding:0;overflow:hidden;border-color:#30dcff3d;background:linear-gradient(180deg,rgba(8,42,54,.84),rgba(3,19,30,.92)),radial-gradient(circle at 10% 0,rgba(48,220,255,.12),transparent 38%),rgba(3,25,40,.48);box-shadow:inset 0 0 22px #30dcff0e,inset 0 0 0 1px #ffffff09}.trade-ledger-detail .trade-detail-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:76px;padding:15px 16px 13px;border-bottom:1px solid rgba(48,220,255,.18);background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(48,220,255,.035)),rgba(3,26,38,.62);box-sizing:border-box}.trade-ledger-detail .trade-detail-head:before{position:absolute;left:0;top:16px;width:3px;height:44px;content:"";background:var(--screen-icon-primary, #30dcff);box-shadow:0 0 8px var(--screen-icon-glow, rgba(48, 220, 255, .22))}.trade-ledger-detail .trade-detail-head div{min-width:0}.trade-ledger-detail .trade-detail-head span,.trade-ledger-detail .trade-detail-head em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-detail .trade-detail-head span{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:21px;font-weight:800;line-height:24px}.trade-ledger-detail .trade-detail-head em{margin-top:6px;color:#c9fbff;font-size:12px;font-style:normal;font-weight:800;line-height:16px}.trade-ledger-detail .trade-detail-head strong{padding:5px 9px;border:1px solid rgba(48,220,255,.18);background:rgba(5,27,38,.58);color:#edfdffd1;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;font-weight:800;white-space:nowrap}.epidemic-ledger-record-detail .trade-detail-head em{color:#8bf7ff}.epidemic-ledger-record-detail .epidemic-detail-flat-grid{padding-bottom:0}.epidemic-detail-grid.is-modal.trade-detail-grid{flex:0 0 auto;align-content:start;grid-template-columns:66px minmax(0,1fr) 66px minmax(0,1fr);gap:0;margin:0;padding:14px 16px 0;overflow:hidden;border:1px solid rgba(48,220,255,.1);border-bottom:0}.epidemic-detail-grid.is-modal.trade-detail-grid span{min-width:0;height:auto;padding:0;border:0;background:transparent;box-shadow:none}.epidemic-detail-grid.is-modal.trade-detail-grid:before{display:none}.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide){display:contents}.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide) em,.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide) strong,.epidemic-detail-grid.is-modal.trade-detail-grid .is-wide em,.epidemic-detail-grid.is-modal.trade-detail-grid .is-wide strong{display:flex;min-width:0;height:30px;align-items:center;padding:0 8px;border-bottom:1px solid rgba(48,220,255,.1);box-sizing:border-box}.epidemic-detail-grid.is-modal.trade-detail-grid em{justify-content:flex-end;color:#cdeff6a3;font-size:10px;font-style:normal;line-height:14px;text-align:right;background:rgba(139,247,255,.055);border-right:1px solid rgba(48,220,255,.085)}.epidemic-detail-grid.is-modal.trade-detail-grid em:after{content:":"}.epidemic-detail-grid.is-modal.trade-detail-grid strong{min-width:0;margin-top:0;overflow:hidden;color:#fff;font-size:13px;line-height:16px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;background:rgba(255,255,255,.03)}.epidemic-detail-grid.is-modal.trade-detail-grid span:not(.is-wide):nth-child(odd) strong{border-right:1px solid rgba(48,220,255,.065)}.epidemic-detail-grid.is-modal.trade-detail-grid .is-wide{display:grid;grid-column:1/-1;grid-template-columns:66px minmax(0,1fr)}.epidemic-detail-photos{min-height:0;margin:12px 16px 16px;padding-top:10px;border-top:1px solid rgba(48,220,255,.12)}.epidemic-detail-photo-title{height:18px;color:#8bf7ff;font-size:12px;font-weight:800;line-height:18px}.epidemic-ledger-record-detail .epidemic-modal-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.epidemic-ledger-record-detail .epidemic-modal-photo-strip .epidemic-modal-photo-thumb{height:76px;border-color:#30dcff38;border-radius:2px;background:rgba(4,28,41,.62)}.trade-detail-locate{width:calc(100% - 32px);height:36px;margin:auto 16px 16px;border:1px solid rgba(48,220,255,.34);background:linear-gradient(90deg,rgba(48,220,255,.14),rgba(139,247,255,.08)),rgba(4,28,41,.74);color:#fff;font-size:13px;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.trade-detail-locate:hover:not(:disabled){border-color:#8bf7ff85;background:linear-gradient(90deg,rgba(139,247,255,.16),rgba(48,220,255,.11)),rgba(8,36,48,.84);box-shadow:0 0 7px #8bf7ff1a}.trade-detail-locate:disabled{opacity:.38;cursor:not-allowed}.trade-overview-card{display:grid;grid-template-rows:minmax(0,1fr) 46px;row-gap:10px;height:100%;padding:14px 13px 10px;box-sizing:border-box}.trade-main-metric{display:flex;min-width:0;flex-direction:column;justify-content:center}.trade-main-metric span,.trade-main-metric strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-main-metric span{color:#ffffffd6;font-size:12px;line-height:14px}.trade-main-metric strong{margin-top:3px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:27px;font-weight:900;line-height:29px}.trade-main-metric strong em{margin-left:5px;color:#ffffffd1;font-style:normal;font-size:12px}.trade-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.trade-metric-grid span{min-width:0;padding:5px 7px;border-left:2px solid rgba(139,247,255,.62);background:linear-gradient(90deg,rgba(139,247,255,.11),rgba(48,220,255,.03));box-sizing:border-box}.trade-metric-grid em,.trade-metric-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-metric-grid em{color:#ffffffc7;font-style:normal;font-size:10px;line-height:11px}.trade-metric-grid strong{margin-top:4px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:13px;line-height:15px;font-weight:900}.trade-risk-card{display:grid;grid-template-rows:30px minmax(0,1fr);gap:5px;height:100%;padding:9px 12px 10px;overflow:hidden;box-sizing:border-box}.trade-risk-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:0 9px;border-left:3px solid rgba(139,247,255,.78);background:linear-gradient(90deg,rgba(139,247,255,.14),rgba(48,220,255,.025)),rgba(3,25,40,.2);box-sizing:border-box}.trade-risk-head span,.trade-risk-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-risk-head span{color:#e2fcffc7;font-size:12px;line-height:16px;font-weight:800}.trade-risk-head strong{flex:0 0 auto;color:#8bf7ff;font-size:12px;line-height:16px;font-weight:900;text-align:right}.trade-risk-list{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:4px;min-height:0}.trade-risk-row{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:0;padding:3px 8px 3px 10px;overflow:hidden;border:1px solid rgba(48,220,255,.11);background:linear-gradient(90deg,color-mix(in srgb,var(--risk-color) 12%,transparent),rgba(48,220,255,.02)),rgba(4,24,37,.2);box-sizing:border-box}.trade-risk-row:before{content:"";position:absolute;left:0;top:50%;width:2px;height:22px;background:rgba(48,220,255,.78);box-shadow:none;transform:translateY(-50%)}.trade-risk-row i{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--risk-color);box-shadow:none}.trade-risk-row span{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px}.trade-risk-row em,.trade-risk-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-risk-row em{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;color:#ffffffe6;font-size:11px;line-height:14px;font-style:normal;font-weight:900}.trade-risk-row em b{flex:0 0 auto;min-width:28px;height:15px;padding:0 5px;border:1px solid color-mix(in srgb,var(--risk-color) 52%,transparent);border-radius:1px;color:var(--risk-color);font-size:10px;line-height:13px;font-weight:900;text-align:center;background:color-mix(in srgb,var(--risk-color) 13%,rgba(3,25,40,.62));box-sizing:border-box}.trade-risk-row small{flex:1 1 auto;min-width:0;color:#e2fcffc2;font-size:10px;line-height:12px;text-align:right}.trade-risk-row.is-high{border-color:#48cfff3d}.trade-risk-row.is-high small{color:#c9fbffe0}.trade-risk-row.is-watch small{color:#8bf7ffd1}.trade-cert-card{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:8px;height:100%;padding:9px 12px;box-sizing:border-box}.trade-cert-main{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:8px}.trade-cert-main span{min-width:0;padding:7px 8px;border:1px solid rgba(48,220,255,.12);background:rgba(48,220,255,.045)}.trade-cert-main em,.trade-cert-main strong,.trade-cert-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-cert-main em{color:#ffffffc7;font-style:normal;font-size:10px}.trade-cert-main strong{margin-top:4px;color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:18px;line-height:20px;font-weight:900}.trade-cert-main strong b{margin-left:3px;color:#ffffffd1;font-size:10px;font-weight:500}.trade-cert-main small{margin-top:3px;color:#ffffffd1;font-size:10px}.trade-cert-chart{width:108px;height:100%}.trade-dest-list{display:flex;height:100%;flex-direction:column;gap:3px;padding:7px 10px 8px;box-sizing:border-box}.trade-dest-row{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 66px;align-items:center;min-height:0;flex:1 1 0;column-gap:6px;overflow:hidden;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035)}.trade-dest-row:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--trade-ratio);background:linear-gradient(90deg,rgba(139,247,255,.22),rgba(48,220,255,.08))}.trade-dest-row span,.trade-dest-row strong,.trade-dest-row em{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-dest-row span{padding-left:7px;color:#8bf7ff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;font-weight:900}.trade-dest-row strong{color:#fff;font-size:11px;line-height:13px}.trade-dest-row em{color:#fff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-style:normal;font-size:11px;line-height:13px;text-align:right}.trade-ledger-table{display:flex;height:100%;flex-direction:column;gap:5px;padding:7px 9px 8px;box-sizing:border-box}.trade-ledger-toolbar{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;column-gap:7px;height:29px}.trade-ledger-toolbar>span{overflow:hidden;color:#ffffffe6;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-toolbar>div{display:grid;grid-template-columns:minmax(0,1fr) 44px 62px;gap:5px}.trade-ledger-toolbar input,.trade-ledger-toolbar button{height:25px;min-width:0;border:1px solid rgba(48,220,255,.16);background:rgba(3,25,40,.62);color:#fff;font-size:10px;box-sizing:border-box}.trade-ledger-toolbar input{padding:0 7px}.trade-ledger-toolbar input::placeholder{color:#ffffff94}.trade-ledger-toolbar button{border-color:#8bf7ff6b;background:rgba(139,247,255,.12);color:#fff;cursor:pointer}.trade-ledger-toolbar button.is-more{border-color:#30dcff57;background:rgba(48,220,255,.12)}.trade-ledger-header,.trade-ledger-rows button{display:grid;grid-template-columns:98px 56px 39px 38px 34px 64px;column-gap:4px;align-items:center}.trade-ledger-header{height:24px;padding:0 6px;border:1px solid rgba(48,220,255,.1);background:rgba(48,220,255,.06);box-sizing:border-box}.trade-ledger-header span{color:#ffffffc7;font-size:10px}.trade-ledger-rows{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;overflow:hidden}.trade-ledger-rows button{min-height:0;flex:1 1 0;padding:0 6px;border:1px solid rgba(48,220,255,.08);background:rgba(48,220,255,.035);color:#ffffffe0;cursor:pointer;text-align:left}.trade-ledger-rows button:hover{border-color:#8bf7ff5c;background:linear-gradient(90deg,rgba(139,247,255,.12),rgba(48,220,255,.04));color:#fff}.trade-ledger-rows span,.trade-ledger-rows strong{color:#fff;overflow:hidden;font-size:10px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-rows span:first-child{line-height:12px;white-space:normal;word-break:break-all;text-overflow:clip}.trade-ledger-rows strong{color:#8bf7ff;font-weight:700}.trade-ledger-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;height:24px}.trade-ledger-pager span{margin-right:auto;color:#ffffffd6;font-size:10px}.trade-ledger-pager button{height:22px;padding:0 8px;border:1px solid rgba(48,220,255,.18);background:rgba(48,220,255,.07);color:#fff;font-size:10px;cursor:pointer}.trade-ledger-pager button:disabled{opacity:.36;cursor:not-allowed}.pasture-management{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c}.pasture-map-scene,.pasture-ol-map-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.pasture-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0%,transparent 58%,rgba(1,9,15,.16) 82%,rgba(1,8,13,.42) 100%),linear-gradient(90deg,rgba(0,12,20,.24),transparent 22%,transparent 78%,rgba(0,12,20,.24)),linear-gradient(180deg,rgba(2,16,27,.01),rgba(2,13,22,.12))}.pasture-map-loading{position:absolute;left:50%;top:54%;z-index:4;color:#defaffc7;font-size:14px;transform:translate(-50%,-50%)}.pasture-management-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.pasture-left,.pasture-right{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.pasture-left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.pasture-right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.pasture-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.pasture-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.pasture-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.pasture-side-card{flex:0 0 auto}.pasture-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff}.pasture-household-rank{display:flex;flex-direction:column;gap:4px;height:100%;padding:1px 12px 3px;box-sizing:border-box}.pasture-household-rank-row{position:relative;flex:1 1 0;min-height:24px}.pasture-household-rank-row:before{position:absolute;left:0;top:8px;width:5px;height:5px;border:1px solid var(--rank-color);border-radius:50%;content:"";background:rgba(6,28,40,.92);box-shadow:none}.pasture-household-rank-row.is-leading .pasture-rank-value{color:#fff;text-shadow:none}.pasture-rank-copy{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px;align-items:center;height:18px;padding-left:12px}.pasture-rank-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:15px;border:1px solid rgba(48,220,255,.24);color:var(--rank-color);font-size:10px;line-height:1;font-weight:800;background:linear-gradient(90deg,rgba(48,220,255,.12),rgba(48,220,255,.02));box-shadow:inset 0 0 10px #30dcff1a}.pasture-rank-name{overflow:hidden;color:#e2faffe6;font-size:14px;line-height:17px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pasture-rank-value{color:#f0fdfff0;font-size:14px;line-height:17px;font-weight:900}.pasture-rank-value em{margin-left:4px;color:#d2f2f8b8;font-size:10px;font-style:normal;font-weight:700}.pasture-rank-track{position:relative;height:6px;margin:1px 0 0 45px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02)),rgba(3,22,33,.72);box-shadow:inset 0 0 12px #0000003d}.pasture-rank-track i{display:block;width:var(--rank-rate);height:100%;background:linear-gradient(90deg,rgba(35,246,200,.18),var(--rank-color));box-shadow:0 0 3px #30dcff1f}.pasture-grassland-profile{display:grid;grid-template-rows:54px minmax(0,1fr);gap:5px;height:100%;padding:2px 11px 3px;box-sizing:border-box}.pasture-grassland-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0}.pasture-grassland-feature-card{position:relative;overflow:hidden;padding:5px 9px 6px;border:1px solid rgba(48,220,255,.18);background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--area-color) 14%,transparent),transparent 42%),linear-gradient(135deg,rgba(19,90,112,.24),rgba(3,28,42,.5));box-shadow:inset 0 0 0 1px #ffffff08,inset 0 -18px 28px #00000024}.pasture-grassland-feature-card:after{position:absolute;right:-18px;top:-18px;width:54px;height:54px;border:1px solid color-mix(in srgb,var(--area-color) 55%,transparent);border-radius:50%;content:"";opacity:.28;box-shadow:none}.pasture-grassland-feature-card span{display:block;color:#dcfaffd1;font-size:12px;line-height:14px;font-weight:800}.pasture-grassland-feature-card strong{display:block;margin-top:1px;color:#fff;font-size:19px;line-height:22px;font-weight:900;text-shadow:none}.pasture-grassland-feature-card em,.pasture-grassland-mini-row em{margin-left:4px;color:#d8f4fab8;font-size:10px;font-style:normal;font-weight:800}.pasture-feature-track{position:absolute;right:10px;bottom:6px;left:10px;height:3px;overflow:hidden;background:rgba(14,57,72,.72)}.pasture-feature-track i{display:block;width:var(--area-rate);height:100%;background:linear-gradient(90deg,rgba(255,255,255,.18),var(--area-color));box-shadow:0 0 3px #30dcff1f}.pasture-grassland-mini-list{display:flex;flex-direction:column;gap:3px;min-height:0}.pasture-grassland-mini-row{display:grid;grid-template-columns:64px minmax(0,1fr) 70px;gap:6px;align-items:center;min-height:14px}.pasture-grassland-mini-row span{overflow:hidden;color:#defaffd6;font-size:12px;line-height:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pasture-grassland-mini-row strong{justify-self:end;color:#f5fdfff0;font-size:12px;line-height:14px;font-weight:900}.pasture-mini-track{height:5px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(8,39,54,.66)}.pasture-mini-track i{display:block;width:var(--area-rate);height:100%;background:linear-gradient(90deg,rgba(48,220,255,.08),var(--area-color));box-shadow:0 0 3px #30dcff1f}.pasture-video-card .m-card-bd-content{bottom:12px}.pasture-video-monitor{position:relative;display:block;height:100%;padding:2px 24px;box-sizing:border-box;pointer-events:auto}.pasture-video-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;height:100%;min-height:0}.pasture-video-grid.is-single{grid-template-columns:minmax(0,1fr)}.pasture-video-screen{position:relative;width:100%;height:100%;min-width:0;margin:0;overflow:hidden;cursor:pointer;border:1px solid rgba(48,220,255,.25);background-color:#020d14;background-position:center;background-size:cover;box-shadow:none}.pasture-video-screen.is-active{border-color:#7efbf6a8;box-shadow:none}.pasture-video-screen:not(.is-active){opacity:.88}.pasture-video-screen.is-playing{background-image:none!important}.pasture-video-screen>.pasture-video-player,.pasture-video-screen [id$=-wrap],.pasture-video-screen [id$=-wrap]>.pasture-video-player>div,.pasture-video-screen [id$=-wrap]>.pasture-video-player .play-window,.pasture-video-screen [id$=-wrap]>.pasture-video-player video,.pasture-video-screen [id$=-wrap]>.pasture-video-player canvas,.pasture-video-screen [id$=-wrap]>.pasture-video-player iframe{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important}.pasture-video-screen>.pasture-video-player,.pasture-video-screen [id$=-wrap]{z-index:3!important;overflow:hidden;pointer-events:auto}.pasture-video-screen [id$=-wrap]>.pasture-video-player{position:relative!important;inset:auto!important;z-index:1;display:block!important;width:100%!important;height:100%!important;overflow:hidden;pointer-events:auto}.pasture-video-screen [id$=-wrap]>.pasture-video-player>div,.pasture-video-screen [id$=-wrap]>.pasture-video-player .play-window,.pasture-video-screen [id$=-wrap]>.pasture-video-player video,.pasture-video-screen [id$=-wrap]>.pasture-video-player canvas,.pasture-video-screen [id$=-wrap]>.pasture-video-player iframe{z-index:1}.pasture-video-screen [id$=-ez-iframe-footer-container]{position:absolute!important;right:0!important;bottom:0!important;left:0!important;z-index:20!important;width:100%!important;margin-top:0!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important}.pasture-video-screen [id$=-audioControls]{pointer-events:auto!important;visibility:visible!important;opacity:1!important}.pasture-video-player video{object-fit:cover}.pasture-video-screen .loading-container,.pasture-video-screen .loading-item,.pasture-video-screen #loading-icon{display:none!important;visibility:hidden!important;pointer-events:none!important}.pasture-video-nav{position:absolute;top:50%;z-index:6;width:22px;height:42px;border:1px solid rgba(48,220,255,.26);color:#e3fdffe0;font-size:20px;line-height:20px;cursor:pointer;background:linear-gradient(180deg,rgba(48,220,255,.18),rgba(10,39,54,.56));box-shadow:inset 0 0 12px #30dcff1a;transform:translateY(-50%)}.pasture-video-nav:disabled{cursor:not-allowed;opacity:.38}.pasture-video-prev{left:18px}.pasture-video-next{right:18px}.pasture-video-screen:before{display:none;content:none}.pasture-video-play{position:absolute;left:50%;top:46%;z-index:4;width:30px;height:30px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(0,0,0,.36);box-shadow:none;transform:translate(-50%,-50%)}.pasture-video-play:after{position:absolute;left:12px;top:8px;width:0;height:0;content:"";border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #ffffff}.pasture-video-point-name{position:absolute;right:10px;bottom:8px;left:10px;z-index:4;overflow:hidden;padding:4px 8px;border-left:2px solid rgba(69,233,164,.78);color:#fff;font-size:12px;line-height:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,.42)}.pasture-video-screen.is-playing .pasture-video-point-name{z-index:2;opacity:0}.pasture-video-loading,.pasture-video-error{position:absolute;left:50%;top:50%;z-index:5;min-width:72px;padding:4px 8px;border:1px solid rgba(48,220,255,.32);color:#fff;font-size:11px;line-height:14px;text-align:center;background:rgba(0,0,0,.62);transform:translate(-50%,-50%)}.pasture-video-error{border-color:#8bf7ff6b;color:#c9fbff}.pasture-map-layer-tools{position:absolute;top:auto;right:458px;bottom:72px;left:auto;z-index:7;width:248px;height:430px;pointer-events:all}.pasture-map-layer-tools .m-card{width:100%!important;height:100%!important;background:rgba(3,18,30,.54);backdrop-filter:blur(2px)}.pasture-map-feature-info{position:absolute;z-index:9;width:460px;pointer-events:all}.pasture-map-feature-info .m-card{width:100%!important;background:rgba(3,18,30,.7);backdrop-filter:blur(2px)}.pasture-map-feature-close{position:absolute;top:18px;right:18px;z-index:3;width:30px;height:30px;border:1px solid rgba(64,224,255,.56);border-radius:2px;color:#e4fafff5;background:linear-gradient(135deg,rgba(37,213,255,.22),rgba(10,55,76,.72));box-shadow:inset 0 0 12px #2ad2ff2e,0 0 10px #1eb8e629;font-size:23px;line-height:26px;font-weight:400;text-align:center;cursor:pointer;pointer-events:all;transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease}.pasture-map-feature-close:hover{color:#fff;border-color:#34f6ffe6;background:linear-gradient(135deg,rgba(38,240,255,.34),rgba(13,75,102,.86));transform:translateY(-1px)}.pasture-management .business-bars.is-distribution{max-height:100%;padding-right:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.pasture-management .business-bars.is-distribution::-webkit-scrollbar{width:0;height:0}.yak-industry-chain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#fff;background:#03121c}.industry-map-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.industry-map-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 48%,rgba(4,18,28,0) 0%,rgba(4,18,28,.05) 37%,rgba(2,10,17,.34) 78%,rgba(1,7,12,.62) 100%),linear-gradient(90deg,rgba(0,12,20,.42),transparent 26%,transparent 74%,rgba(0,12,20,.42))}.industry-map-loading{position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%);color:#dcfaffc7;font-size:18px}.industry-artificial-layer-tools{position:absolute;right:452px;bottom:122px;z-index:8;pointer-events:all}.industry-map-feature-info{position:absolute;z-index:10;pointer-events:all}.industry-map-feature-info:after{position:absolute;top:var(--feature-arrow-top);left:var(--feature-arrow-left);z-index:0;width:12px;height:12px;content:"";border-right:1px solid rgba(48,220,255,.58);border-bottom:1px solid rgba(48,220,255,.58);background:rgba(5,26,38,.94);box-shadow:3px 3px 8px #0000003d;transform:translate(-50%) rotate(var(--feature-arrow-rotate))}.industry-map-feature-info>.m-card{position:relative;z-index:1}.industry-side-panel{position:absolute;top:128px;bottom:8px;z-index:6;width:398px;perspective-origin:50% 50%;pointer-events:all}.industry-side-panel--left{left:32px;perspective:var(--screen-side-perspective-left, 500px)}.industry-side-panel--right{right:32px;perspective:var(--screen-side-perspective-right, 800px)}.industry-side-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;transform-style:preserve-3d}.industry-side-stack.is-left{transform:translateZ(0) rotateY(6deg);transform-origin:left center}.industry-side-stack.is-right{transform:translateZ(0) rotateY(-6deg);transform-origin:right center}.industry-side-card{flex:0 0 auto}.industry-side-card .m-card-bd-content{top:36px;bottom:0;color:#f3feff;overflow:hidden}.industry-side-card .industry-town-column-chart{position:relative;z-index:1;width:100%;height:100%;min-height:0}.industry-side-card .industry-panel-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#e2fbffad;font-size:13px;font-weight:600;letter-spacing:0;text-shadow:0 0 8px rgba(48,220,255,.14)}.industry-side-card .business-columns.is-variant-plain{grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:8px;padding-right:12px;padding-left:12px}.industry-side-card .business-columns.is-variant-plain .business-column-item{grid-template-rows:16px minmax(62px,1fr) 32px}.industry-side-card .business-columns.is-variant-plain .business-column-item span{display:-webkit-box;max-width:58px;color:#f0fdffdb;line-height:13px;white-space:normal;word-break:keep-all;-webkit-box-orient:vertical;-webkit-line-clamp:2}.industry-side-card .business-columns.is-variant-plain .business-column-track{width:6px}.industry-side-card .business-columns.is-variant-townCompact{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;padding:35px 13px 10px}.industry-side-card .business-columns.is-variant-townCompact:before{left:13px;right:13px;top:55px;bottom:40px;opacity:.46;background:linear-gradient(to bottom,transparent calc(100% - 1px),rgba(48,220,255,.58) calc(100% - 1px)),repeating-linear-gradient(to bottom,rgba(159,220,230,.16) 0 1px,transparent 1px 21px)}.industry-side-card .business-columns.is-variant-townCompact:after{content:"";position:absolute;left:13px;right:13px;bottom:39px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(60,244,255,.72),transparent);box-shadow:none}.industry-side-card .business-columns.is-variant-townCompact .business-column-item{position:relative;z-index:1;grid-template-rows:17px minmax(74px,1fr) 29px;min-width:0}.industry-side-card .business-columns.is-variant-townCompact .business-column-item strong{width:100%;color:#f4fcfff0;font-size:10px;line-height:14px;text-align:center;text-shadow:none}.industry-side-card .business-columns.is-variant-townCompact .business-column-item span{display:-webkit-box;align-self:start;width:100%;max-width:36px;height:25px;margin-top:3px;color:#e8fcffd1;font-size:10px;line-height:12px;text-align:center;white-space:normal;word-break:break-all;writing-mode:horizontal-tb;text-orientation:initial;letter-spacing:0;-webkit-box-orient:vertical;-webkit-line-clamp:2}.industry-side-card .business-columns.is-variant-townCompact .business-column-track{width:8px;height:100%;min-height:74px;align-self:end;border:0;border-radius:2px 2px 0 0;background:linear-gradient(180deg,rgba(48,220,255,.12),rgba(36,246,196,.015)),linear-gradient(90deg,rgba(48,220,255,.1),rgba(48,220,255,.02) 48%,rgba(48,220,255,.1)),rgba(4,26,38,.22);box-shadow:inset 0 -1px #30dcff29}.industry-side-card .business-columns.is-variant-townCompact .business-column-track:after{content:"";position:absolute;left:50%;bottom:-5px;width:18px;height:7px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,220,255,.12),rgba(48,220,255,0) 68%);transform:translate(-50%)}.industry-side-card .business-columns.is-variant-townCompact .business-column-track i{left:0;right:0;min-height:5px;border-radius:3px 3px 0 0;box-shadow:inset 0 1px #ffffff3d}.industry-side-card .business-columns.is-variant-townCompact .business-column-track i:before,.industry-side-card .business-columns.is-variant-townCompact .business-column-track i:after{display:none}.industry-side-card .business-columns.is-variant-townCompact .business-column-item.is-zero strong{opacity:0}.industry-side-card .business-columns.is-variant-townCompact .business-column-item.is-zero .business-column-track i{height:4px!important;opacity:.16;box-shadow:none}.industry-side-card .business-bars.is-rank-bar{padding-right:12px;padding-left:12px}.industry-side-card .business-bars.is-rank-bar .business-bar-name{font-size:12px;line-height:14px}.industry-featured-base-list{position:relative;z-index:1;display:grid;gap:8px;height:100%;padding:2px 3px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact{display:grid;grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:2px;padding:5px 13px 8px;overflow:hidden}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-row{height:auto;min-height:0;gap:10px;grid-template-columns:25px minmax(0,1fr) 104px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-rank{width:18px;height:18px;font-size:12px;line-height:19px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-name{font-size:13px;line-height:16px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-bar{height:5px;margin-top:6px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-value strong{font-size:16px;line-height:18px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-value em{font-size:12px}.industry-side-card--breeding-town-rank .business-stat-list.is-compact .business-stat-value span{margin-top:3px;font-size:11px;line-height:13px}.industry-featured-base{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;width:100%;min-height:76px;padding:9px 28px 9px 9px;overflow:hidden;border:1px solid rgba(48,220,255,.16);border-radius:3px;background:linear-gradient(90deg,rgba(18,88,106,.27),rgba(6,25,38,.3)),rgba(3,20,31,.46);color:inherit;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.industry-featured-base:after{content:">";position:absolute;right:10px;top:50%;color:#24f6c4e6;font-size:16px;font-weight:800;transform:translateY(-50%)}.industry-featured-base:hover,.industry-featured-base:focus-visible{border-color:#24f6c48a;background:linear-gradient(90deg,rgba(18,112,120,.38),rgba(6,31,43,.38)),rgba(3,20,31,.56);outline:0;transform:translate(2px)}.industry-featured-base.is-active{border-color:#24f6c4b8;background:linear-gradient(90deg,rgba(30,124,119,.38),rgba(7,41,48,.42)),rgba(3,26,34,.62);box-shadow:inset 3px 0 #24f6c4e6,0 0 16px #24f6c41c}.industry-featured-base.is-active:after{color:#c9fbff}.industry-featured-base:disabled{cursor:default;opacity:.58}.industry-featured-base__index{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(48,220,255,.42);background:rgba(48,220,255,.09);color:#35f1ff;font-family:D-DIN,DIN Alternate,sans-serif;font-size:14px;font-weight:800}.industry-featured-base__copy{display:grid;min-width:0;gap:2px}.industry-featured-base__copy strong,.industry-featured-base__copy em,.industry-featured-base__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-featured-base__copy strong{color:#f6fffff5;font-size:14px;font-weight:760;line-height:18px}.industry-featured-base__copy em{color:#24f6c4eb;font-size:11px;font-style:normal;line-height:15px}.industry-featured-base__copy small{color:#cdeef4a8;font-size:11px;line-height:15px}.industry-leadership-mode-list{position:relative;z-index:1;display:grid;gap:7px;padding:3px 5px}.industry-leadership-mode{display:grid;grid-template-columns:4px 26px minmax(0,1fr);gap:8px;align-items:center;min-height:48px;padding:5px 6px;border-bottom:1px solid rgba(48,220,255,.1)}.industry-leadership-mode>i{display:block;width:4px;height:30px;box-shadow:0 0 10px currentColor}.industry-leadership-mode>span{color:#cff7ff75;font-family:D-DIN,DIN Alternate,sans-serif;font-size:13px;font-weight:800}.industry-leadership-mode div{display:grid;min-width:0;gap:2px}.industry-leadership-mode strong{color:#f6fffff2;font-size:13px;font-weight:760}.industry-leadership-mode small{overflow:hidden;color:#cdeef4a8;font-size:11px;line-height:15px;text-overflow:ellipsis;white-space:nowrap}.industry-ledger-list{display:grid;gap:7px}.industry-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;padding:7px 8px;border:1px solid rgba(48,220,255,.1);border-radius:4px;background:rgba(4,20,31,.42)}.industry-ledger-row div{min-width:0}.industry-ledger-row strong,.industry-ledger-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-ledger-row strong{color:#f1feffeb;font-size:13px;font-weight:760}.industry-ledger-row span{margin-top:4px;color:#c9edf494;font-size:11px}.industry-ledger-row em{color:#c9fbff;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.industry-point-detail{position:absolute;z-index:7;width:456px;padding:18px 20px 20px;border:1px solid rgba(48,220,255,.42);background:linear-gradient(180deg,rgba(12,54,70,.86),rgba(5,24,37,.9)),radial-gradient(circle at 20% 0%,rgba(36,246,196,.18),transparent 46%);box-shadow:0 0 24px #30dcff2e,inset 0 0 18px #30dcff14;color:#efffff;box-sizing:border-box;pointer-events:all}.industry-point-detail:after{content:"";position:absolute;left:var(--point-arrow-left, 50%);top:var(--point-arrow-top, 50%);width:16px;height:16px;border-right:1px solid rgba(48,220,255,.42);border-bottom:1px solid rgba(48,220,255,.42);background:rgba(5,24,37,.9);transform:translate(var(--point-arrow-x, -50%),var(--point-arrow-y, -50%)) rotate(var(--point-arrow-rotate, 45deg))}.industry-point-detail__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c9fbff;font-size:16px;font-weight:700}.industry-point-detail__head button{width:26px;height:26px;border:1px solid rgba(48,220,255,.36);border-radius:0;background:rgba(6,28,43,.72);color:#efffffe0;cursor:pointer;font-size:20px;line-height:20px}.industry-point-detail__name{margin-top:12px;color:#fff;font-size:23px;font-weight:800;line-height:1.35}.industry-point-detail__profile{margin-top:12px;padding-top:11px;border-top:1px solid rgba(48,220,255,.2)}.industry-point-detail__profile-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.industry-point-detail__profile-head span{color:#caf1f8b8;font-size:13px}.industry-point-detail__profile-head strong{color:#8bf7ff;font-size:13px;font-weight:760}.industry-point-detail__profile>p{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:#edfcffdb;font-size:14px;line-height:20px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.industry-point-detail__image{display:block;width:100%;height:116px;margin-top:9px;border:1px solid rgba(48,220,255,.22);object-fit:cover;object-position:center 35%}.industry-point-detail__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.industry-point-detail__facts div{min-width:0;padding:6px 7px;border:1px solid rgba(48,220,255,.13);background:rgba(2,18,30,.3)}.industry-point-detail__facts span,.industry-point-detail__facts strong,.industry-point-detail__facts small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-point-detail__facts span,.industry-point-detail__facts small{color:#c7ecf39e;font-size:11px;line-height:14px}.industry-point-detail__facts strong{margin:1px 0;color:#c9fbff;font-family:D-DIN,DIN Alternate,sans-serif;font-size:18px;font-weight:800;line-height:20px}.industry-point-detail__highlights{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:9px}.industry-point-detail__highlights>span{margin-right:2px;color:#caf1f8ad;font-size:12px}.industry-point-detail__highlights i{padding:3px 6px;border:1px solid rgba(36,246,196,.28);background:rgba(36,246,196,.08);color:#dcffd3eb;font-size:11px;font-style:normal;line-height:15px}.industry-point-detail__grid{display:grid;gap:9px;margin-top:16px}.industry-point-detail__row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;min-height:34px;align-items:center;border-bottom:1px solid rgba(48,220,255,.12)}.industry-point-detail__row span{color:#c4edf4bd;font-size:15px}.industry-point-detail__row strong{overflow:hidden;color:#f6fffff2;font-size:16px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.industry-point-detail__grid.is-family-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-top:14px}.industry-point-detail__grid.is-family-layout .industry-point-detail__row{grid-template-columns:74px minmax(0,1fr);gap:8px;min-height:31px;padding:2px 0}.industry-point-detail__grid.is-family-layout .industry-point-detail__row.is-wide{grid-column:1/-1}.industry-point-detail__grid.is-family-layout .industry-point-detail__row span{font-size:13px;line-height:16px}.industry-point-detail__grid.is-family-layout .industry-point-detail__row strong{font-size:14px;line-height:18px}.industry-bottom-switcher{position:absolute;left:50%;bottom:48px;z-index:8;display:flex;align-items:center;justify-content:center;transform:translate(-50%);pointer-events:all}.industry-bottom-switcher .topic-switcher{width:1340px}.industry-bottom-switcher .topic-switcher-item{width:var(--topic-item-width, 112px)}.industry-bottom-switcher .topic-switcher-item .topic-name{font-size:14px}.industry-bottom-switcher .topic-switcher-item .topic-title{font-size:14px;line-height:16px}.industry-bottom-switcher .topic-switcher-item .topic-name small{font-size:10px;line-height:11px}.wisdom-management{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;color:#dffaff;background:radial-gradient(circle at 50% 45%,rgba(37,161,133,.28),rgba(3,16,28,.18) 35%,rgba(2,8,18,.86) 72%),linear-gradient(180deg,#041324,#030914);pointer-events:auto}.wisdom-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wisdom-grid{position:absolute;left:430px;right:430px;top:128px;bottom:8px;opacity:.18;background-image:linear-gradient(rgba(48,220,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.14) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at center,#000 42%,transparent 78%);mask-image:radial-gradient(circle at center,#000 42%,transparent 78%)}.wisdom-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(48,220,255,.18);border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 70px #30dcff0f,0 0 70px #20e8bc14}.wisdom-orbit-a{width:760px;height:760px;animation:wisdomOrbitSpin 24s linear infinite}.wisdom-orbit-b{width:980px;height:260px;border-color:#fad36b29;transform:translate(-50%,-48%) rotate(-9deg);animation:wisdomPulse 6s ease-in-out infinite}.wisdom-scan{position:absolute;left:50%;top:50%;width:620px;height:620px;border-radius:50%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent,rgba(48,220,255,.2),transparent 24%);opacity:.2;animation:wisdomScanSpin 8s linear infinite}.wisdom-artifact-workspace{position:absolute;left:590px;right:36px;top:112px;bottom:18px;z-index:6;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(48,220,255,.3);background:rgba(3,17,28,.96);box-shadow:inset 0 0 40px #30dcff0d,0 18px 42px #00000047}.wisdom-artifact-header{flex:0 0 62px;min-width:0;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(48,220,255,.18);background:linear-gradient(90deg,rgba(8,48,61,.92),rgba(5,25,37,.82))}.wisdom-artifact-heading,.wisdom-artifact-tools{min-width:0;display:flex;align-items:center;gap:12px}.wisdom-artifact-mark{position:relative;flex:0 0 28px;width:28px;height:28px;border:1px solid rgba(48,220,255,.68);background:rgba(48,220,255,.08)}.wisdom-artifact-mark:before,.wisdom-artifact-mark:after{content:"";position:absolute;background:#30dcff;box-shadow:0 0 10px #30dcff99}.wisdom-artifact-mark:before{left:6px;right:6px;top:8px;height:2px}.wisdom-artifact-mark:after{left:6px;right:10px;top:16px;height:2px}.wisdom-artifact-heading small,.wisdom-artifact-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-artifact-heading small{margin-bottom:3px;color:#30dcffad;font-size:11px}.wisdom-artifact-heading strong{max-width:720px;color:#fff;font-size:17px}.wisdom-artifact-status{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;color:#dffaffad;font-size:12px}.wisdom-artifact-status i{width:7px;height:7px;border-radius:50%;background:#ffd76c;box-shadow:0 0 10px #ffd76c99}.wisdom-artifact-status.is-ready i{background:#27f0c0;box-shadow:0 0 10px #27f0c099}.wisdom-artifact-status.is-error i{background:#ff956e;box-shadow:0 0 10px #ff956e8f}.wisdom-artifact-tools button,.wisdom-artifact-error button{height:30px;padding:0 12px;border:1px solid rgba(48,220,255,.32);background:rgba(7,43,56,.78);color:#dffaff;font-size:12px;cursor:pointer}.wisdom-artifact-tools button:hover:not(:disabled),.wisdom-artifact-error button:hover:not(:disabled){border-color:#ffd76c9e;color:#fff}.wisdom-artifact-tools button:disabled,.wisdom-artifact-error button:disabled{cursor:not-allowed;opacity:.5}.wisdom-artifact-body{position:relative;flex:1;min-height:0;overflow:hidden}.wisdom-artifact-frame{width:100%;height:100%;display:block;border:0;background:#06131d}.wisdom-artifact-building{height:100%;overflow:hidden;padding:28px;background:linear-gradient(rgba(48,220,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(48,220,255,.04) 1px,transparent 1px),#06131d;background-size:36px 36px}.wisdom-artifact-building__intro{display:flex;align-items:center;gap:14px;margin-bottom:24px}.wisdom-artifact-building__intro strong,.wisdom-artifact-building__intro p{display:block;margin:0}.wisdom-artifact-building__intro strong{color:#fff;font-size:18px}.wisdom-artifact-building__intro p{margin-top:4px;color:#dffaff80;font-size:12px}.wisdom-artifact-building__spinner{width:30px;height:30px;border:2px solid rgba(48,220,255,.18);border-top-color:#30dcff;border-radius:50%;animation:wisdomSpin .9s linear infinite}.wisdom-artifact-skeleton{position:relative;height:190px;overflow:hidden;border:1px solid rgba(48,220,255,.12);background:rgba(8,35,47,.66)}.wisdom-artifact-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(99,239,226,.1),transparent);animation:wisdomArtifactShimmer 1.6s ease-in-out infinite}.wisdom-artifact-skeleton.is-wide{height:96px}.wisdom-artifact-skeleton.is-chart{height:260px;margin-top:14px}.wisdom-artifact-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.wisdom-artifact-error{height:100%;display:grid;place-content:center;justify-items:center;padding:32px;text-align:center;background:#06131d}.wisdom-artifact-error strong{color:#fff;font-size:20px}.wisdom-artifact-error p{max-width:520px;margin:10px 0 18px;color:#dffaff9e;font-size:13px;line-height:1.7}.wisdom-side{position:absolute;top:112px;bottom:18px;z-index:5;width:clamp(390px,21vw,460px);overflow-y:auto;display:grid;align-content:start;gap:16px;padding:6px 0 10px;box-sizing:border-box;scrollbar-width:none}.wisdom-side::-webkit-scrollbar{width:0;height:0}.wisdom-side-left{left:clamp(24px,2.4vw,52px)}.wisdom-side-right{right:clamp(24px,2.4vw,52px)}.wisdom-side-panel{min-height:0;border:1px solid rgba(48,220,255,.22);background:linear-gradient(135deg,rgba(6,37,50,.9),rgba(4,19,32,.86)),radial-gradient(circle at 18% 0%,rgba(39,240,192,.12),transparent 34%);box-shadow:inset 0 0 24px #30dcff12,0 14px 28px #00000038;padding:15px;box-sizing:border-box}.wisdom-side-panel.is-chart{padding:0;border:0;background:transparent;box-shadow:none}.wisdom-side-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.wisdom-side-header span{display:block;margin-bottom:5px;color:#30dcffb8;font-size:12px}.wisdom-side-header strong{display:block;max-width:220px;color:#fff;font-size:17px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-header em{flex:0 0 auto;padding:3px 8px;border:1px solid rgba(255,215,108,.32);color:#ffd76c;font-size:12px;font-style:normal;background:rgba(255,215,108,.08)}.wisdom-side-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wisdom-side-metric{min-width:0;padding:10px;border:1px solid rgba(48,220,255,.16);background:rgba(3,22,35,.58);box-sizing:border-box}.wisdom-side-metric span,.wisdom-side-metric em{display:block;color:#dffaff8c;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-metric strong{display:block;margin:4px 0;color:#ffd76c;font-family:D-DIN,Arial,sans-serif;font-size:17px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-text{color:#edfdffe0;font-size:13px;line-height:1.7}.wisdom-side-text h3{margin:0 0 8px;color:#fff;font-size:15px}.wisdom-side-text p{margin:7px 0}.wisdom-side-text ul,.wisdom-side-text ol{margin:8px 0 8px 18px;padding:0}.wisdom-side-text strong{color:#ffd76c}.wisdom-side-actions{display:flex;flex-wrap:wrap;gap:8px}.wisdom-side-text+.wisdom-side-actions,.wisdom-side-metrics+.wisdom-side-actions{margin-top:12px}.wisdom-side-actions button{height:30px;min-width:84px;padding:0 10px;border:1px solid rgba(48,220,255,.28);background:linear-gradient(135deg,rgba(8,48,62,.76),rgba(6,28,43,.76));color:#ffd76ce6;font-size:12px;cursor:pointer}.wisdom-side-actions button:hover:not(:disabled){border-color:#ffd76c9e;color:#fff}.wisdom-side-chart.smart-chart-card{width:100%;height:348px;margin-top:0}.wisdom-side-chart .smart-chart-header{height:58px;padding:10px 13px 0}.wisdom-side-chart .smart-chart-header strong{font-size:15px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wisdom-side-chart .smart-chart-header span,.wisdom-side-chart .smart-chart-header em{font-size:11px}.wisdom-side-chart .smart-chart{height:264px}.wisdom-avatar-ring,.wisdom-empty-mark span{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(48,220,255,.62);border-radius:50%;animation:wisdomSpin 7s linear infinite}.wisdom-avatar-ring:before,.wisdom-empty-mark span:before{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:#ffd76c;box-shadow:0 0 14px #ffd76ccc}.wisdom-chat{position:absolute;left:50%;top:112px;bottom:18px;z-index:4;width:clamp(720px,100% - 1040px,900px);display:flex;flex-direction:column;min-width:0;transform:translate(-50%)}.wisdom-chat.has-artifact{left:34px;right:auto;width:520px;transform:none}.wisdom-chat.has-artifact .wisdom-bubble{max-width:calc(100% - 46px)}.wisdom-dialogue{flex:1;min-height:0;overflow-y:auto;padding:8px 8px 18px;scrollbar-width:thin;scrollbar-color:rgba(48,220,255,.5) rgba(3,18,30,.3)}.wisdom-dialogue.is-empty{display:grid;place-items:center}.wisdom-empty-state{position:relative;width:560px;min-height:280px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.wisdom-empty-mark{position:relative;width:126px;height:126px;display:grid;place-items:center}.wisdom-empty-mark strong{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;color:#071520;font-family:D-DIN,Arial,sans-serif;font-size:34px;background:radial-gradient(circle at 32% 24%,#fff,#9cf8e9 48%,#2bd4cb 100%);box-shadow:0 0 42px #4ef3de61}.wisdom-empty-state h2{margin:18px 0 10px;color:#fff;font-size:28px;letter-spacing:0}.wisdom-empty-state p{margin:0;max-width:420px;color:#dffaffad;font-size:15px;line-height:1.8}.wisdom-suggestion-list button{height:34px;border:1px solid rgba(48,220,255,.28);background:linear-gradient(135deg,rgba(8,48,62,.78),rgba(6,28,43,.78));color:#dffaffdb;font-size:13px;cursor:pointer;box-shadow:inset 0 0 16px #30dcff0f}.wisdom-suggestion-list button:hover:not(:disabled){border-color:#ffd76c9e;color:#fff;background:linear-gradient(135deg,rgba(48,220,255,.18),rgba(255,215,108,.12))}.wisdom-message{display:flex;margin:14px 0;gap:10px}.wisdom-message.is-user{justify-content:flex-end}.wisdom-message-mark{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#06151f;font-weight:800;background:linear-gradient(135deg,#dffaff,#4cf0de);box-shadow:0 0 22px #4ef3de5c}.wisdom-bubble{max-width:min(680px,100% - 48px);box-sizing:border-box;border:1px solid rgba(48,220,255,.18);background:rgba(4,22,34,.92);box-shadow:inset 0 0 24px #30dcff0f,0 14px 34px #00000057;color:#edfdffeb;font-size:14px;line-height:1.7;padding:13px 15px}.smart-chart-loading{width:min(620px,100%);height:292px;margin-top:12px;display:grid;place-items:center;box-sizing:border-box;border:1px solid rgba(48,220,255,.22);background:rgba(4,22,34,.72);color:#ffd76cdb;font-size:13px;box-shadow:inset 0 0 24px #30dcff0f}.wisdom-suggestion-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.wisdom-suggestion-list button{width:auto;min-width:86px;padding:0 12px;color:#ffd76ce6}.wisdom-message.is-user .wisdom-bubble{max-width:min(560px,76%);border-color:#ffd76c42;background:linear-gradient(135deg,rgba(50,115,106,.9),rgba(13,54,65,.86))}.wisdom-steps{display:grid;gap:8px;margin-bottom:10px}.wisdom-step{display:flex;align-items:center;gap:8px;color:#dffaffa3;font-size:13px}.wisdom-step span{width:14px;height:14px;border-radius:50%;border:1px solid rgba(48,220,255,.7);position:relative}.wisdom-step span:after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border-right:2px solid #30dcff;border-bottom:2px solid #30dcff;transform:rotate(40deg)}.wisdom-digesting{display:flex;align-items:center;gap:8px;color:#ffd76ce0}.wisdom-digesting span,.wisdom-button-loading{width:8px;height:8px;border-radius:50%;background:#ffd76c;animation:wisdomBounce 1s ease-in-out infinite}.wisdom-digesting span:nth-child(2){animation-delay:.14s}.wisdom-digesting span:nth-child(3){animation-delay:.28s}.wisdom-digesting em{font-style:normal}.wisdom-answer{color:#edfdfff0}.wisdom-answer h3{margin:12px 0 8px;color:#fff;font-size:17px}.wisdom-answer p{margin:8px 0}.wisdom-answer ul,.wisdom-answer ol{margin:8px 0 8px 20px;padding:0}.wisdom-answer li{margin:4px 0}.wisdom-answer strong{color:#ffd76c}.wisdom-stream-caret{display:inline-block;width:8px;height:18px;margin-left:4px;vertical-align:middle;background:#30dcff;animation:wisdomBlink .8s steps(2,start) infinite}.wisdom-input-bar{flex:0 0 64px;padding:8px 8px 0;box-sizing:border-box}.wisdom-input-shell{height:50px;border:1px solid rgba(48,220,255,.34);background:linear-gradient(135deg,rgba(8,42,55,.92),rgba(3,18,31,.92));box-shadow:inset 0 0 24px #30dcff14,0 0 30px #30dcff1a;display:flex;align-items:center;gap:10px;padding:0 8px 0 16px;box-sizing:border-box}.wisdom-input-icon{width:16px;height:16px;border:2px solid #30dcff;border-radius:50%;position:relative;flex:0 0 auto}.wisdom-input-icon:after{content:"";position:absolute;right:-7px;bottom:-5px;width:8px;height:2px;border-radius:2px;background:#30dcff;transform:rotate(45deg)}.wisdom-input-shell input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:15px}.wisdom-input-shell input::placeholder{color:#dffaff6b}.wisdom-submit-button{width:92px;height:36px;border:1px solid rgba(255,215,108,.46);background:linear-gradient(135deg,rgba(255,215,108,.26),rgba(48,220,255,.12));color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.wisdom-voice-button{position:relative;flex:0 0 auto;width:38px;height:36px;border:1px solid rgba(48,220,255,.32);background:rgba(6,35,49,.76);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.wisdom-voice-button span{position:relative;width:10px;height:17px;border:2px solid #30dcff;border-radius:8px;box-sizing:border-box}.wisdom-voice-button span:before{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:8px;border:2px solid #30dcff;border-top:0;border-radius:0 0 10px 10px;transform:translate(-50%)}.wisdom-voice-button span:after{content:"";position:absolute;left:50%;bottom:-12px;width:12px;height:2px;border-radius:2px;background:#30dcff;transform:translate(-50%)}.wisdom-voice-button.is-listening{border-color:#ffd76c9e;background:rgba(255,215,108,.14);box-shadow:0 0 18px #ffd76c38}.wisdom-voice-button.is-listening span,.wisdom-voice-button.is-listening span:before{border-color:#ffd76c}.wisdom-voice-button.is-listening span:after{background:#ffd76c}.wisdom-submit-button:disabled,.wisdom-voice-button:disabled{cursor:not-allowed;opacity:.62}.wisdom-button-loading{width:12px;height:12px;border:2px solid rgba(255,255,255,.34);border-top-color:#fff;background:transparent;animation:wisdomSpin .8s linear infinite}@keyframes wisdomSpin{to{transform:rotate(360deg)}}@keyframes wisdomOrbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes wisdomScanSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes wisdomPulse{0%,to{opacity:.36}50%{opacity:.72}}@keyframes wisdomBounce{0%,to{transform:translateY(0);opacity:.42}50%{transform:translateY(-5px);opacity:1}}@keyframes wisdomBlink{50%{opacity:0}}@keyframes wisdomArtifactShimmer{to{transform:translate(100%)}}@media (max-width: 1480px){.wisdom-artifact-workspace{left:430px;right:20px}.wisdom-chat.has-artifact{left:20px;right:auto;width:390px}.wisdom-artifact-heading strong{max-width:520px}.wisdom-side{top:112px;bottom:16px;width:318px}.wisdom-side-left{left:20px}.wisdom-side-right{right:20px}.wisdom-side-chart.smart-chart-card{height:320px}.wisdom-side-chart .smart-chart{height:236px}.wisdom-chat{width:clamp(560px,100% - 760px,760px)}}@media (max-width: 1280px){.wisdom-side{display:none}.wisdom-chat{width:min(860px,100% - 80px)}.wisdom-artifact-workspace{left:374px;right:16px}.wisdom-chat.has-artifact{left:16px;right:auto;width:342px}.wisdom-artifact-heading strong{max-width:360px}.wisdom-artifact-tools{gap:8px}.wisdom-artifact-status{display:none}}body{font-family:var(--screen-font-ui, "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);background:#000;-webkit-user-select:none;user-select:none}.loading{position:absolute;left:0;top:0;right:0;bottom:0;background:#000;pointer-events:none;z-index:99}.loading-text{display:flex;justify-content:center;align-items:center;width:100%;height:100%;color:#fff;font-family:D-DIN,Arial,sans-serif;letter-spacing:10px}.loading-text span{font-size:2vw;animation:blurAni 1.5s calc(var(--index) / 5 * 1s) alternate infinite}.loading-progress{font-size:2vw;color:#fff;font-family:D-DIN,Arial,sans-serif;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center;margin-top:-3vw}.loading-progress .unit{padding-left:10px;font-size:1vw}@keyframes blurAni{to{filter:blur(3px)}}.large-screen{position:relative;width:100%;height:100%;background:#050f33;margin:0 auto;font-size:14px}.large-screen .map{position:relative;width:100%;height:100%;z-index:2}.large-screen-wrap{position:absolute;left:0;right:0;top:0;bottom:0;z-index:3;pointer-events:none}.large-screen-wrap:after{content:"";display:block;position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;opacity:.5;background:url(./bg-3acb94e3-balabala-1783957353180.png) no-repeat;background-size:cover}.large-screen-wrap .top-count-card{position:absolute;left:560px;right:560px;top:130px;justify-content:center;z-index:9;display:flex}.large-screen-wrap .top-count-card>div{padding:0 50px}.large-screen-wrap .left-wrap{position:absolute;z-index:4;width:398px;left:32px;top:126px;bottom:50px;perspective:500px;perspective-origin:50% 50%}.large-screen-wrap .left-wrap-3d{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;flex-direction:column;transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(6deg) rotate(0) skew(0) skewY(0);z-index:4}.large-screen-wrap .left-wrap-3d .left-card{flex:1;margin-bottom:12px}.large-screen-wrap .right-wrap{position:absolute;z-index:4;width:398px;right:32px;top:126px;bottom:50px;perspective:800px;perspective-origin:50% 50%}.large-screen-wrap .right-wrap-3d{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;flex-direction:column;transform:translateZ(0) scaleX(1) scaleY(1) rotateX(0) rotateY(-6deg) rotate(0) skew(0) skewY(0)}.large-screen-wrap .right-wrap-3d .right-card{flex:1;margin-bottom:12px}.large-screen-wrap .bottom-tray{position:absolute;left:50%;bottom:0;z-index:3;margin-left:-960px;width:1920px;height:90px;box-sizing:border-box;padding-top:20px;display:flex;justify-content:center;background:url(./bottom-menu-bg-b465793d-balabala-1783957353180.png) no-repeat;background-size:contain}.large-screen-wrap .bottom-tray-arrow{display:flex;align-items:center;height:30px}.large-screen-wrap .bottom-tray-arrow.is-reverse{transform:scaleX(-1)}.large-screen-wrap .bottom-tray-arrow img{animation:arrowAnimate 2s ease-in-out infinite}.large-screen-wrap .bottom-tray-arrow img:last-child{animation:arrowAnimate2 2s ease-in-out infinite}.large-screen-wrap .bottom-tray .bottom-menu{display:flex;padding:0 20px}.large-screen-wrap .bottom-tray .bottom-menu-item{width:100px;height:32px;background:url(./bottom-menu-btn-ee5c8064-balabala-1783957353180.png) no-repeat;background-size:100%;font-size:15px;letter-spacing:1.6px;text-align:center;line-height:30px;cursor:pointer;pointer-events:all}.large-screen-wrap .bottom-tray .bottom-menu-item span{display:block;width:100px;height:32px;font-weight:700;background:-webkit-linear-gradient(rgb(117,232,255),rgb(255,255,255));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.large-screen-wrap .bottom-tray .bottom-menu-item:hover,.large-screen-wrap .bottom-tray .bottom-menu-item.is-active{background:url(./bottom-menu-btn-hover-df33e514-balabala-1783957353180.png) no-repeat;background-size:100%}.large-screen-left-zsline{position:absolute;left:0;z-index:3;top:50%;margin-top:-540px;width:120px;height:1080px;background:url(./left-kuang-5d6bd1ae-balabala-1783957353180.svg) no-repeat;background-size:contain;animation:bkAnimate 3s infinite}.large-screen-right-zsline{position:absolute;right:0;z-index:3;top:50%;margin-top:-540px;width:120px;height:1080px;background:url(./right-kuang-b1937caf-balabala-1783957353180.svg) no-repeat;background-size:contain;animation:bkAnimate 3s infinite}@keyframes bkAnimate{0%{opacity:1}50%{opacity:.2}to{opacity:1}}@keyframes arrowAnimate{0%{transform:translate(0)}50%{transform:translate(100%)}to{transform:translate(0)}}@keyframes arrowAnimate2{0%{transform:translate(0)}50%{transform:translate(90%)}to{transform:translate(0)}}@keyframes rotate360Animate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.platform-screen{position:fixed!important;left:0;top:0;margin:0}.platform-screen>.large-screen-wrap:after{content:none}.platform-screen.is-forest-grass-wet .large-screen-wrap:after{opacity:.28}.platform-screen.is-forest-grass-wet .large-screen-left-zsline,.platform-screen.is-forest-grass-wet .large-screen-right-zsline{filter:brightness(1.3) drop-shadow(0 0 14px rgba(48,220,255,.32))}.platform-screen.is-home .large-screen-wrap:after{opacity:.34}.platform-screen.is-home .large-screen-left-zsline,.platform-screen.is-home .large-screen-right-zsline{filter:brightness(1.32) drop-shadow(0 0 16px rgba(36,246,196,.28))}.platform-screen.is-ecological-protection .large-screen-wrap:after{opacity:.22}.platform-screen.is-ecology-national-park .top-menu-mid-space{width:920px}.platform-screen.is-grass-livestock-balance .large-screen-wrap:after{opacity:.24}.platform-screen.is-grass-livestock-balance .large-screen-left-zsline,.platform-screen.is-grass-livestock-balance .large-screen-right-zsline{filter:brightness(1.24) drop-shadow(0 0 14px rgba(255,215,108,.18))}.platform-screen.is-yak-management .large-screen-wrap:after{opacity:.24}.platform-screen.is-yak-management .large-screen-left-zsline,.platform-screen.is-yak-management .large-screen-right-zsline{filter:brightness(1.22) drop-shadow(0 0 14px rgba(48,220,255,.26))}.platform-screen.is-pasture-management .large-screen-wrap:after{opacity:.26}.platform-screen.is-pasture-management .large-screen-left-zsline,.platform-screen.is-pasture-management .large-screen-right-zsline{filter:brightness(1.28) drop-shadow(0 0 14px rgba(36,246,196,.28))}.platform-screen.is-yak-industry-chain .large-screen-wrap:after{opacity:.24}.platform-screen.is-yak-industry-chain .large-screen-left-zsline,.platform-screen.is-yak-industry-chain .large-screen-right-zsline{filter:brightness(1.28) drop-shadow(0 0 14px rgba(48,220,255,.24))}.platform-screen.is-smart-management .large-screen-wrap:after{opacity:.2}.platform-screen .platform-module-pane{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.platform-screen .platform-map-tools{position:absolute;left:448px;bottom:168px;z-index:80;display:flex;flex-direction:column;gap:7px;pointer-events:all;transform:perspective(var(--screen-side-perspective-left, 500px)) rotateY(6deg);transform-origin:left center}.platform-screen .platform-map-tools button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(126,251,246,.62);border-radius:3px;color:#f0feff;font-weight:900;background:linear-gradient(180deg,rgba(18,99,123,.92),rgba(4,36,56,.96)),rgba(4,24,37,.9);box-shadow:0 0 14px #30dcff52,0 0 3px #7efbf666,inset 0 0 0 1px #ffffff1a,inset 0 -8px 14px #30dcff29;cursor:pointer}.platform-screen .platform-map-tools button:hover{border-color:#7efbf6c2;color:#fff;background:linear-gradient(180deg,rgba(25,127,148,.96),rgba(6,48,68,.98)),rgba(6,35,52,.92);box-shadow:0 0 18px #30dcff6b,0 0 4px #7efbf680,inset 0 0 0 1px #ffffff1f,inset 0 -8px 14px #30dcff2e}.platform-screen .platform-map-tools button:active{transform:translateY(1px)}.platform-screen:has(.home-more-modal) .platform-map-tools{visibility:hidden;opacity:0;pointer-events:none}.platform-screen .platform-map-tool-icon{position:relative;flex:0 0 15px;width:15px;height:15px;color:#7efbf6}.platform-screen .platform-map-tool-icon.is-fullscreen{background:linear-gradient(currentColor,currentColor) left top/5px 2px no-repeat,linear-gradient(currentColor,currentColor) left top/2px 5px no-repeat,linear-gradient(currentColor,currentColor) right top/5px 2px no-repeat,linear-gradient(currentColor,currentColor) right top/2px 5px no-repeat,linear-gradient(currentColor,currentColor) left bottom/5px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom/2px 5px no-repeat,linear-gradient(currentColor,currentColor) right bottom/5px 2px no-repeat,linear-gradient(currentColor,currentColor) right bottom/2px 5px no-repeat}.platform-screen .platform-map-tool-icon.is-reset{width:15px;height:15px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;box-sizing:border-box}.platform-screen .platform-map-tool-icon.is-reset:after{content:"";position:absolute;left:-2px;top:0;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:5px solid currentColor;transform:rotate(-18deg)}.platform-screen .top-menu{position:absolute;left:50%;top:46px;z-index:10;transform:translate(-50%)}.platform-screen .top-menu .m-menu{justify-content:center;align-items:center}.platform-screen .top-menu .m-menu-item{min-width:118px;height:34px;padding:0 18px;font-size:14px;line-height:34px;letter-spacing:0}.platform-screen .top-menu .m-menu-item.is-active:after{width:calc(100% - 12px);height:28px;margin-left:calc(-50% + 6px);margin-top:-14px;border-radius:28px;transform:none;animation:platformMenuActivePulse 1.35s ease-in-out infinite}.platform-screen .top-menu .top-menu-mid-space{width:820px;height:1px;pointer-events:none}.platform-screen .m-header-right{top:5px;right:14px;z-index:30}.platform-screen .m-header-tools{display:flex;align-items:center;gap:8px;min-height:42px;pointer-events:auto}.platform-screen .platform-weather{position:relative;display:flex;align-items:center;gap:8px;height:40px;min-width:184px;padding:0 12px 0 4px;color:#e5faffe6;white-space:nowrap}.platform-screen .platform-weather:after{content:"";position:absolute;left:4px;right:12px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(48,220,255,.72),rgba(48,220,255,0));opacity:.54}.platform-screen .platform-weather.is-unavailable{min-width:150px;color:#c4f3fe94}.platform-screen .platform-weather__icon{width:34px;height:34px;flex:none;object-fit:contain;filter:drop-shadow(0 0 8px rgba(48,220,255,.26))}.platform-screen .platform-weather__fallback-icon{position:relative;width:30px;height:24px;flex:none}.platform-screen .platform-weather__fallback-icon:before{content:"";position:absolute;left:2px;bottom:2px;width:24px;height:10px;border:1px solid rgba(92,232,255,.72);border-radius:8px;box-shadow:0 0 8px #30dcff2e}.platform-screen .platform-weather__fallback-icon:after{content:"";position:absolute;left:8px;top:2px;width:11px;height:11px;border:1px solid rgba(92,232,255,.72);border-radius:50%;background:rgba(8,42,58,.9)}.platform-screen .platform-weather__copy{display:grid;align-content:center;gap:1px;min-width:0}.platform-screen .platform-weather__primary{display:inline-flex;align-items:center;gap:8px}.platform-screen .platform-weather__primary strong{color:#f2fdff;font-size:13px;font-weight:700;line-height:17px}.platform-screen .platform-weather__primary em{color:#69eff2;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:19px;font-style:normal;font-weight:800;line-height:19px}.platform-screen .platform-weather__copy small{display:flex;align-items:center;gap:6px;color:#c4f3fe9e;font-size:10px;font-weight:400;line-height:13px}.platform-screen .platform-weather__copy small i{width:2px;height:2px;border-radius:50%;background:rgba(92,232,255,.6);box-shadow:0 0 4px #30dcff66}.platform-screen .platform-datetime{position:relative;display:grid;justify-items:end;align-content:center;gap:0;width:112px;height:40px;padding:0 10px 0 13px;white-space:nowrap}.platform-screen .platform-datetime:before{content:"";position:absolute;left:0;top:9px;width:1px;height:22px;background:linear-gradient(180deg,transparent,rgba(92,232,255,.52),transparent)}.platform-screen .platform-datetime span{color:#c4f3fea3;font-size:10px;line-height:13px}.platform-screen .platform-datetime strong{color:#ecfcff;font-family:var(--screen-font-number, D-DIN, Arial, sans-serif);font-size:19px;font-weight:800;line-height:21px;text-align:right;text-shadow:0 0 8px rgba(48,220,255,.18)}.platform-screen .logout-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(92,232,255,.72);border-radius:2px;background:linear-gradient(180deg,rgba(28,126,166,.62),rgba(3,32,55,.86)),rgba(2,18,34,.72);box-shadow:inset 0 0 13px #30dcff2e,0 0 12px #30dcff33;color:#e7fbff;cursor:pointer;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.platform-screen .logout-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.platform-screen .logout-button:hover{border-color:#30dcffc7;box-shadow:inset 0 0 14px #30dcff29,0 0 14px #30dcff38;color:#fff;transform:translateY(-1px)}.platform-screen .top-count-card{left:420px;right:420px;top:108px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;justify-content:stretch}.platform-screen .top-count-card>div{min-width:0;padding:0!important;justify-content:center}.platform-screen .top-count-card .count-card{min-width:0;min-height:90px}.platform-screen .top-count-card .count-card:before{content:none}.platform-screen .top-count-card .count-card-title,.platform-screen .top-count-card .count-card-left,.platform-screen .top-count-card .count-card-right{min-width:0}.platform-screen .top-count-card .count-card-icon{width:76px;height:90px;flex-basis:76px;margin-right:2px}.platform-screen .top-count-card .count-card-right{padding-left:10px}.platform-screen .top-count-card .count-card-right .value{min-height:34px;margin-right:6px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px;letter-spacing:0}.platform-screen .top-count-card .count-card-right .unit{padding-top:10px;font-size:var(--screen-kpi-unit-size, 11px);line-height:1}.platform-screen .top-count-card .count-card-title .title-zh{font-size:var(--screen-kpi-label-size, 14px);line-height:18px}.platform-screen .top-count-card .count-card-title .title-en{max-width:112px;overflow:hidden;text-overflow:ellipsis}.platform-screen .top-count-card.is-four{left:420px;right:420px;top:102px;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:8px}.platform-screen .top-count-card.is-four .count-card-icon{width:64px;height:78px;flex-basis:64px;margin-right:0}.platform-screen .top-count-card.is-four .count-card-right{padding-left:4px}.platform-screen .top-count-card.is-four .count-card-right .value{min-height:34px;font-size:var(--screen-kpi-four-value-size, 29px);line-height:34px;margin-right:4px}.platform-screen .top-count-card.is-four .count-card-right .unit{padding-top:9px;font-size:var(--screen-kpi-four-unit-size, 10px)}.platform-screen .top-count-card.is-four .count-card-title .title-zh{font-size:var(--screen-kpi-four-label-size, 13px);line-height:17px;white-space:nowrap}.platform-screen .top-count-card.is-four .count-card-title .title-en{max-width:90px;font-size:10px}.platform-screen .top-count-card.is-multi{left:390px;right:390px;top:102px;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:72px;column-gap:10px;row-gap:8px;z-index:8}.platform-screen .top-count-card.is-multi>div{justify-content:center}.platform-screen .top-count-card.is-multi .count-card{min-height:72px}.platform-screen .top-count-card.is-multi .count-card-left{flex:0 0 auto}.platform-screen .top-count-card.is-multi .count-card-icon{display:block;width:64px;height:72px;flex-basis:64px;margin-right:0}.platform-screen .top-count-card.is-multi .count-card-right{flex:0 0 auto;padding-left:4px}.platform-screen .top-count-card.is-multi .count-card-right .value{min-height:34px;margin-right:4px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px}.platform-screen .top-count-card.is-multi .count-card-right .unit{padding-top:9px;font-size:var(--screen-kpi-unit-size, 11px);opacity:.72}.platform-screen .top-count-card.is-multi .count-card-title .title-zh{max-width:none;font-size:var(--screen-kpi-label-size, 14px);line-height:1.18;white-space:nowrap}.platform-screen .top-count-card.is-multi .count-card-title .title-en{display:none}.platform-screen .top-count-card.is-multi>div:nth-child(6){grid-column:2}.platform-screen .top-count-card.is-multi>div:nth-child(7){grid-column:3}.platform-screen .top-count-card.is-multi>div:nth-child(8){grid-column:4}.platform-screen .top-count-card.is-count-five>div{justify-content:center}.platform-screen .top-count-card.is-home-five{left:390px;right:390px;top:102px;display:flex;grid-template-columns:none;grid-auto-rows:auto;column-gap:0;row-gap:0;justify-content:space-between;align-items:center;z-index:9}.platform-screen .top-count-card.is-home-five>div{flex:0 0 auto;width:auto;min-width:184px;justify-content:center}.platform-screen .top-count-card.is-home-five .count-card{min-height:76px}.platform-screen .top-count-card.is-home-five .count-card-left{flex:0 0 auto}.platform-screen .top-count-card.is-home-five .count-card-icon{width:72px;height:80px;flex-basis:72px;margin-right:4px}.platform-screen .top-count-card.is-home-five .count-card-right{flex:0 0 auto;padding-left:6px}.platform-screen .top-count-card.is-home-five .count-card-right .value{min-height:34px;font-size:var(--screen-kpi-value-size, 31px);line-height:34px}.platform-screen .top-count-card.is-home-five .count-card-right .unit{padding-top:9px;font-size:var(--screen-kpi-unit-size, 11px)}.platform-screen .top-count-card.is-home-five .count-card-title .title-zh{max-width:none;font-size:var(--screen-kpi-label-size, 14px);line-height:18px;white-space:nowrap}.platform-screen .top-count-card.is-home-five .count-card-title .title-en{display:none}.platform-screen.is-home .top-count-card.is-home-five{left:432px;right:442px;top:82px;display:grid;grid-template-columns:208px 220px 242px 168px 168px;column-gap:10px;justify-items:start;align-items:center}.platform-screen.is-home .top-count-card.is-home-five>div{width:100%;min-width:0;justify-content:flex-start}.platform-screen.is-home .top-count-card.is-home-five .count-card{width:100%;min-height:74px;justify-content:flex-start}.platform-screen.is-home .top-count-card.is-home-five .count-card-icon{width:58px;height:72px;flex-basis:58px;margin-right:2px}.platform-screen.is-home .top-count-card.is-home-five .count-card-right{padding-left:3px}.platform-screen.is-home .top-count-card.is-home-five .count-card-right .value{font-size:28px;line-height:31px}.platform-screen.is-home .top-count-card.is-home-five .count-card-right .unit{padding-top:8px;font-size:10px}.platform-screen.is-home .top-count-card.is-home-five .count-card-title .title-zh{font-size:13px;line-height:17px}.platform-screen.is-ecology-national-park .top-count-card.is-home-five{left:390px;right:430px;top:96px;display:flex;justify-content:space-between}.platform-screen.is-ecology-national-park .top-count-card.is-home-five>div{min-width:0;zoom:.88}.platform-screen .bottom-menu-item{width:96px!important;margin:0 2px}.platform-screen .bottom-menu-item span{width:96px!important;font-size:13px}.platform-screen .bottom-svg-line-left,.platform-screen .bottom-svg-line-right{position:absolute;right:50%;bottom:-21px;width:721px;height:57px;margin-right:-5px}.platform-screen .bottom-svg-line-right{left:50%;right:inherit;margin-left:-5px;margin-right:inherit;transform:scaleX(-1)}.platform-screen .module-coming{position:absolute;left:50%;top:50%;z-index:12;width:360px;height:130px;padding-top:28px;border:1px solid rgba(48,220,255,.28);background:rgba(3,18,30,.72);color:#fff;text-align:center;transform:translate(-50%,-50%);pointer-events:none;box-sizing:border-box}.platform-screen .module-coming-title{font-size:24px;font-weight:700}.platform-screen .module-coming-text{margin-top:12px;color:#ffffff9e;font-size:14px}.platform-screen .platform-loading{position:absolute;z-index:99}.platform-screen .platform-loading .loading-text{gap:10px;letter-spacing:0}@keyframes platformMenuActivePulse{0%{opacity:.68;box-shadow:0 0 #0af0}58%{opacity:.38;box-shadow:0 0 14px #30dcff5c}to{opacity:0;box-shadow:0 0 22px #30dcff1f}} diff --git a/docs/assets/leaf-7be9efef-balabala-1783905032331.png b/docs/assets/leaf-7be9efef-balabala-1783957353180.png similarity index 100% rename from docs/assets/leaf-7be9efef-balabala-1783905032331.png rename to docs/assets/leaf-7be9efef-balabala-1783957353180.png diff --git a/docs/assets/left-kuang-5d6bd1ae-balabala-1783905032331.svg b/docs/assets/left-kuang-5d6bd1ae-balabala-1783957353180.svg similarity index 100% rename from docs/assets/left-kuang-5d6bd1ae-balabala-1783905032331.svg rename to docs/assets/left-kuang-5d6bd1ae-balabala-1783957353180.svg diff --git a/docs/assets/live-scene-1-786cdd0a-balabala-1783905032331.png b/docs/assets/live-scene-1-786cdd0a-balabala-1783957353180.png similarity index 100% rename from docs/assets/live-scene-1-786cdd0a-balabala-1783905032331.png rename to docs/assets/live-scene-1-786cdd0a-balabala-1783957353180.png diff --git a/docs/assets/menu-btn-91a961cf-balabala-1783905032331.png b/docs/assets/menu-btn-91a961cf-balabala-1783957353180.png similarity index 100% rename from docs/assets/menu-btn-91a961cf-balabala-1783905032331.png rename to docs/assets/menu-btn-91a961cf-balabala-1783957353180.png diff --git a/docs/assets/menu-btn-hover-62eba0bb-balabala-1783905032331.png b/docs/assets/menu-btn-hover-62eba0bb-balabala-1783957353180.png similarity index 100% rename from docs/assets/menu-btn-hover-62eba0bb-balabala-1783905032331.png rename to docs/assets/menu-btn-hover-62eba0bb-balabala-1783957353180.png diff --git a/docs/assets/ocean-bg-8c848b8f-balabala-1783905032331.png b/docs/assets/ocean-bg-8c848b8f-balabala-1783957353180.png similarity index 100% rename from docs/assets/ocean-bg-8c848b8f-balabala-1783905032331.png rename to docs/assets/ocean-bg-8c848b8f-balabala-1783957353180.png diff --git a/docs/assets/park-ee0533e0-balabala-1783905032331.png b/docs/assets/park-ee0533e0-balabala-1783957353180.png similarity index 100% rename from docs/assets/park-ee0533e0-balabala-1783905032331.png rename to docs/assets/park-ee0533e0-balabala-1783957353180.png diff --git a/docs/assets/pathLine2-d4134d4b-balabala-1783905032331.png b/docs/assets/pathLine2-d4134d4b-balabala-1783957353180.png similarity index 100% rename from docs/assets/pathLine2-d4134d4b-balabala-1783905032331.png rename to docs/assets/pathLine2-d4134d4b-balabala-1783957353180.png diff --git a/docs/assets/right-kuang-b1937caf-balabala-1783905032331.svg b/docs/assets/right-kuang-b1937caf-balabala-1783957353180.svg similarity index 100% rename from docs/assets/right-kuang-b1937caf-balabala-1783905032331.svg rename to docs/assets/right-kuang-b1937caf-balabala-1783957353180.svg diff --git a/docs/assets/ring2-a1b91808-balabala-1783905032331.png b/docs/assets/ring2-a1b91808-balabala-1783957353180.png similarity index 100% rename from docs/assets/ring2-a1b91808-balabala-1783905032331.png rename to docs/assets/ring2-a1b91808-balabala-1783957353180.png diff --git a/docs/assets/ring3-fe0f60d7-balabala-1783905032331.png b/docs/assets/ring3-fe0f60d7-balabala-1783957353180.png similarity index 100% rename from docs/assets/ring3-fe0f60d7-balabala-1783905032331.png rename to docs/assets/ring3-fe0f60d7-balabala-1783957353180.png diff --git a/docs/assets/ring4-f2e324d6-balabala-1783905032331.png b/docs/assets/ring4-f2e324d6-balabala-1783957353180.png similarity index 100% rename from docs/assets/ring4-f2e324d6-balabala-1783905032331.png rename to docs/assets/ring4-f2e324d6-balabala-1783957353180.png diff --git a/docs/assets/rotationBorder1-2ce8e0ef-balabala-1783905032331.png b/docs/assets/rotationBorder1-2ce8e0ef-balabala-1783957353180.png similarity index 100% rename from docs/assets/rotationBorder1-2ce8e0ef-balabala-1783905032331.png rename to docs/assets/rotationBorder1-2ce8e0ef-balabala-1783957353180.png diff --git a/docs/assets/rotationBorder2-7496b968-balabala-1783905032331.png b/docs/assets/rotationBorder2-7496b968-balabala-1783957353180.png similarity index 100% rename from docs/assets/rotationBorder2-7496b968-balabala-1783905032331.png rename to docs/assets/rotationBorder2-7496b968-balabala-1783957353180.png diff --git a/docs/assets/saoguang-ccf84a88-balabala-1783905032331.svg b/docs/assets/saoguang-ccf84a88-balabala-1783957353180.svg similarity index 100% rename from docs/assets/saoguang-ccf84a88-balabala-1783905032331.svg rename to docs/assets/saoguang-ccf84a88-balabala-1783957353180.svg diff --git a/docs/assets/stack-7a426057-balabala-1783905032331.png b/docs/assets/stack-7a426057-balabala-1783957353180.png similarity index 100% rename from docs/assets/stack-7a426057-balabala-1783905032331.png rename to docs/assets/stack-7a426057-balabala-1783957353180.png diff --git a/docs/assets/title-zs1-c15a5ee8-balabala-1783905032331.svg b/docs/assets/title-zs1-c15a5ee8-balabala-1783957353180.svg similarity index 100% rename from docs/assets/title-zs1-c15a5ee8-balabala-1783905032331.svg rename to docs/assets/title-zs1-c15a5ee8-balabala-1783957353180.svg diff --git a/docs/assets/town-f8c0c9cc-balabala-1783905032331.png b/docs/assets/town-f8c0c9cc-balabala-1783957353180.png similarity index 100% rename from docs/assets/town-f8c0c9cc-balabala-1783905032331.png rename to docs/assets/town-f8c0c9cc-balabala-1783957353180.png diff --git a/docs/assets/xiangfa-breeding-base-03c7f2cb-balabala-1783905032331.png b/docs/assets/xiangfa-breeding-base-03c7f2cb-balabala-1783957353180.png similarity index 100% rename from docs/assets/xiangfa-breeding-base-03c7f2cb-balabala-1783905032331.png rename to docs/assets/xiangfa-breeding-base-03c7f2cb-balabala-1783957353180.png diff --git a/docs/assets/yield-66e9af79-balabala-1783905032331.png b/docs/assets/yield-66e9af79-balabala-1783957353180.png similarity index 100% rename from docs/assets/yield-66e9af79-balabala-1783905032331.png rename to docs/assets/yield-66e9af79-balabala-1783957353180.png diff --git a/docs/index.html b/docs/index.html index 1fbc777..6e0a186 100644 --- a/docs/index.html +++ b/docs/index.html @@ -11,8 +11,8 @@ window.CESIUM_BASE_URL = "./cdn/Cesium/"; - - + + diff --git a/src/components/CesiumMap/index.vue b/src/components/CesiumMap/index.vue index 65cae5d..ff5893c 100644 --- a/src/components/CesiumMap/index.vue +++ b/src/components/CesiumMap/index.vue @@ -10,7 +10,6 @@ import polygonClipping from "polygon-clipping" import { HONGYUAN_BOUNDS } from "@/config/layers" import { CHINA_GEOJSON_PATH, getPublicMapResourcePath } from "@/config/mapResources" import { hongyuanTownshipLabelPoints, hongyuanTownshipsGeoJson } from "@/config/townshipBoundaries" -import hongyuanCountyOutlineRaw from "/public/assets/json/红原县-轮廓.json?raw" const NATIONAL_BACKDROP_BOUNDS = { west: 100.18, @@ -18,6 +17,7 @@ const NATIONAL_BACKDROP_BOUNDS = { east: 105.02, north: 34.46, } +const HONGYUAN_HIGH_RES_MAX_LEVEL = 17 const COUNTY_VIEW_HEADING = -18 const COUNTY_VIEW_PITCH = -50 const COUNTY_VIEW_CENTER_LAT_OFFSET = 0.045 @@ -28,7 +28,9 @@ const COUNTY_MASK_PADDING_LAT = 3.2 const COUNTY_WALL_MIN_HEIGHT = 500 const COUNTY_WALL_MAX_HEIGHT = 7600 const COUNTY_STAGE_HEIGHT = 900 -const HONGYUAN_CLIP_MULTIPOLYGON = parseClipMultiPolygon(hongyuanCountyOutlineRaw) +const COUNTY_BOUNDARY_RENDER_HEIGHT = 4700 +const TOWNSHIP_BOUNDARY_RENDER_HEIGHT = 4620 +const HONGYUAN_CLIP_MULTIPOLYGON = createTownshipClipMultiPolygon(hongyuanTownshipsGeoJson) const props = defineProps({ active: { @@ -57,7 +59,7 @@ const props = defineProps({ }, referenceTileUrlTemplate: { type: String, - default: "https://qkl-map.oss-cn-chengdu.aliyuncs.com/hy-result/{z}/{x}/{y}.png", + default: "https://map.shuxitech.com/vt/lyrs=s&hl=zh-CN&x={x}&y={y}&z={z}", }, terrainUrl: { type: String, @@ -71,6 +73,14 @@ const props = defineProps({ type: Number, default: 9, }, + countyViewTargetOffset: { + type: Object, + default: null, + }, + autoApplyLayerMapView: { + type: Boolean, + default: true, + }, maxZoom: { type: Number, default: 21, @@ -83,6 +93,18 @@ const props = defineProps({ type: Boolean, default: true, }, + enableImageryFeaturePick: { + type: Boolean, + default: true, + }, + enableTownPolygonPick: { + type: Boolean, + default: true, + }, + hideTownLabelStats: { + type: Boolean, + default: false, + }, }) const emit = defineEmits([ @@ -124,6 +146,7 @@ let topicEntities = [] let rankingEntities = [] let focusEntities = [] let selectedOverlayEntities = [] +let selectedOverlayDataSource = null let drawingEntities = [] let analysisEntities = [] let countyFrameEntities = [] @@ -149,6 +172,11 @@ watch( { deep: true }, ) +watch( + () => props.hideTownLabelStats, + () => refreshMapRanking(), +) + watch( () => props.active, async (active) => { @@ -173,14 +201,20 @@ function initializeCesium() { const terrainProvider = createTerrainProvider(Cesium) const normalizedTileUrlTemplate = normalizeTileUrlTemplate(props.tileUrlTemplate) const normalizedReferenceTileUrlTemplate = normalizeTileUrlTemplate(props.referenceTileUrlTemplate) + const hasHongyuanHighResolutionTile = isHongyuanHighResolutionTile(normalizedTileUrlTemplate) const referenceProvider = normalizedReferenceTileUrlTemplate && normalizedReferenceTileUrlTemplate !== normalizedTileUrlTemplate ? createImageryProvider(Cesium, normalizedReferenceTileUrlTemplate, { - maximumLevel: Math.min(props.maxZoom, 18), + maximumLevel: Math.min(props.maxZoom, 19), }) : null const baseProvider = normalizedTileUrlTemplate - ? createImageryProvider(Cesium, normalizedTileUrlTemplate, { maximumLevel: props.maxZoom }) + ? createImageryProvider(Cesium, normalizedTileUrlTemplate, { + maximumLevel: hasHongyuanHighResolutionTile + ? Math.min(props.maxZoom, HONGYUAN_HIGH_RES_MAX_LEVEL) + : props.maxZoom, + rectangle: hasHongyuanHighResolutionTile ? getHongyuanImageryRectangle(Cesium) : null, + }) : null viewer = new Cesium.Viewer(viewerRef.value, { @@ -197,6 +231,7 @@ function initializeCesium() { scene3DOnly: true, imageryProvider: false, terrainProvider, + useBrowserRecommendedResolution: false, requestRenderMode: true, maximumRenderTimeChange: Infinity, contextOptions: { @@ -209,18 +244,19 @@ function initializeCesium() { if (referenceProvider) { const referenceLayer = viewer.imageryLayers.addImageryProvider(referenceProvider) - referenceLayer.brightness = 0.92 + referenceLayer.alpha = 1 + referenceLayer.brightness = 0.68 referenceLayer.contrast = 1.08 - referenceLayer.saturation = 1.04 - referenceLayer.gamma = 0.98 + referenceLayer.saturation = 0.48 + referenceLayer.gamma = 0.9 } if (baseProvider) { baseImageryLayer = viewer.imageryLayers.addImageryProvider(baseProvider) - baseImageryLayer.alpha = isHongyuanHighResolutionTile(normalizedTileUrlTemplate) ? 0.82 : 1 - baseImageryLayer.brightness = 0.9 - baseImageryLayer.contrast = 1.1 - baseImageryLayer.saturation = 1.05 - baseImageryLayer.gamma = 0.96 + baseImageryLayer.alpha = hasHongyuanHighResolutionTile ? 0.88 : 1 + baseImageryLayer.brightness = hasHongyuanHighResolutionTile ? 0.96 : 0.9 + baseImageryLayer.contrast = hasHongyuanHighResolutionTile ? 1.12 : 1.1 + baseImageryLayer.saturation = hasHongyuanHighResolutionTile ? 1.08 : 1.05 + baseImageryLayer.gamma = hasHongyuanHighResolutionTile ? 0.98 : 0.96 } viewer.scene.globe.terrainExaggeration = 1.5 viewer.scene.globe.depthTestAgainstTerrain = false @@ -230,8 +266,9 @@ function initializeCesium() { if (viewer.scene.skyBox) viewer.scene.skyBox.show = false viewer.scene.fog.enabled = true viewer.scene.fog.density = 0.00018 - viewer.scene.fxaa = true - viewer.scene.postProcessStages.fxaa.enabled = true + viewer.resolutionScale = Math.min(Math.max(window.devicePixelRatio || 1, 1), 2) + viewer.scene.fxaa = false + viewer.scene.postProcessStages.fxaa.enabled = false viewer.scene.screenSpaceCameraController.enableCollisionDetection = true viewer.scene.screenSpaceCameraController.minimumZoomDistance = 350 viewer.scene.screenSpaceCameraController.maximumZoomDistance = 560000 @@ -257,6 +294,8 @@ function initializeCesium() { focusTownByName: focusTown, focusYakIndustryPoint, focusVectorFeature, + getVectorFeatureAnchorScreen, + getVectorFeaturesAnchorScreen, getVectorFeatureScreen, getYakIndustryPointScreen, destroy: destroyMap, @@ -294,6 +333,7 @@ function createImageryProvider(Cesium, url, options = {}) { url, minimumLevel: options.minimumLevel || 3, maximumLevel: options.maximumLevel || props.maxZoom, + rectangle: options.rectangle || undefined, tilingScheme: new Cesium.WebMercatorTilingScheme(), credit: "", }) @@ -307,6 +347,17 @@ function isHongyuanHighResolutionTile(url) { return /hy-result|qkl-map/i.test(String(url || "")) } +function getHongyuanImageryRectangle(Cesium) { + const paddingLng = 0.035 + const paddingLat = 0.035 + return Cesium.Rectangle.fromDegrees( + HONGYUAN_BOUNDS.west - paddingLng, + HONGYUAN_BOUNDS.south - paddingLat, + HONGYUAN_BOUNDS.east + paddingLng, + HONGYUAN_BOUNDS.north + paddingLat, + ) +} + async function addNationalBackdrop(Cesium) { const targetViewer = viewer try { @@ -524,20 +575,38 @@ function forEachPolygon(geometry, callback) { } } -function parseClipMultiPolygon(raw) { +function createTownshipClipMultiPolygon(data) { + const townshipPolygons = [] + ;(data?.features || []).forEach((feature) => { + const geometry = normalizeGeometry(feature?.geometry) + getGeometryPolygons(geometry).forEach((polygon) => { + const cleanPolygon = sanitizeClipPolygon(polygon) + if (cleanPolygon) townshipPolygons.push(cleanPolygon) + }) + }) + if (!townshipPolygons.length) return [] try { - const data = typeof raw === "string" ? JSON.parse(raw) : raw - const geometry = data?.type === "FeatureCollection" - ? data.features?.[0]?.geometry - : data?.type === "Feature" - ? data.geometry - : data - if (geometry?.type === "Polygon") return [geometry.coordinates] - if (geometry?.type === "MultiPolygon") return geometry.coordinates + return polygonClipping.union(...townshipPolygons) } catch (error) { - console.warn("[cesium-map] county clip boundary failed", error) + console.warn("[cesium-map] township union boundary failed", error) + return townshipPolygons.map((polygon) => polygon) } - return [] +} + +function sanitizeClipPolygon(polygon) { + if (!Array.isArray(polygon)) return null + const rings = polygon + .map((ring) => closeClipRing((ring || []).map(normalizeLngLat).filter(Boolean))) + .filter((ring) => ring.length >= 4) + return rings.length ? rings : null +} + +function closeClipRing(ring = []) { + if (!ring.length) return [] + const first = ring[0] + const last = ring[ring.length - 1] + if (isSameLngLat(first, last)) return ring + return [...ring, first] } function bindTerrainFallback(provider, Cesium) { @@ -584,6 +653,38 @@ function refreshView() { viewer.scene.requestRender() } +function captureCameraView() { + if (!viewer?.camera || !window.Cesium) return null + const Cesium = window.Cesium + const camera = viewer.camera + return { + position: Cesium.Cartesian3.clone(camera.positionWC || camera.position), + direction: Cesium.Cartesian3.clone(camera.directionWC || camera.direction), + up: Cesium.Cartesian3.clone(camera.upWC || camera.up), + } +} + +function restoreCameraView(snapshot) { + if (!viewer?.camera || !snapshot || !window.Cesium) return + const Cesium = window.Cesium + viewer.camera.cancelFlight?.() + viewer.camera.lookAtTransform?.(Cesium.Matrix4.IDENTITY) + viewer.camera.setView({ + destination: Cesium.Cartesian3.clone(snapshot.position), + orientation: { + direction: Cesium.Cartesian3.clone(snapshot.direction), + up: Cesium.Cartesian3.clone(snapshot.up), + }, + }) + viewer.scene?.requestRender?.() +} + +function scheduleCameraRestore(snapshot) { + if (!snapshot || typeof window === "undefined") return + window.requestAnimationFrame?.(() => restoreCameraView(snapshot)) + window.setTimeout?.(() => restoreCameraView(snapshot), 80) +} + function resetView() { clearSelectedFeature() setCountyView(true) @@ -594,7 +695,8 @@ function setCountyView(animated = true) { const Cesium = window.Cesium const center = getCountyCenter() const range = zoomToAltitude(props.initialZoom) - const target = Cesium.Cartesian3.fromDegrees(center[0], center[1] - COUNTY_VIEW_CENTER_LAT_OFFSET, 2200) + const targetOffset = getCountyViewTargetOffset() + const target = Cesium.Cartesian3.fromDegrees(center[0] + targetOffset.lng, center[1] + targetOffset.lat, 2200) const offset = new Cesium.HeadingPitchRange( Cesium.Math.toRadians(COUNTY_VIEW_HEADING), Cesium.Math.toRadians(COUNTY_VIEW_PITCH), @@ -609,12 +711,24 @@ function setCountyView(animated = true) { viewer.scene.requestRender() } +function getCountyViewTargetOffset() { + const offset = props.countyViewTargetOffset + const lng = Number(offset?.lng ?? offset?.[0]) + const lat = Number(offset?.lat ?? offset?.[1]) + return { + lng: Number.isFinite(lng) ? lng : 0, + lat: Number.isFinite(lat) ? lat : -COUNTY_VIEW_CENTER_LAT_OFFSET, + } +} + function zoomToAltitude(zoom) { const normalized = Number.isFinite(Number(zoom)) ? Number(zoom) : 9 return Math.max(9000, Math.min(580000, 365000 / Math.pow(1.62, normalized - 9))) } function getCountyCenter() { + const configuredCenter = normalizeLngLat(props.center) + if (configuredCenter) return configuredCenter return [ (HONGYUAN_BOUNDS.west + HONGYUAN_BOUNDS.east) / 2, (HONGYUAN_BOUNDS.south + HONGYUAN_BOUNDS.north) / 2, @@ -637,17 +751,16 @@ function updateBoundaryVisualScale() { const height = Number(viewer.camera.positionCartographic?.height) || 320000 const nearWeight = Math.max(0, Math.min(1, (360000 - height) / 300000)) const widths = { - township: 1.25 + nearWeight * 0.55, - countyOutline: 1.35 + nearWeight * 0.45, - countyHalo: 2.25 + nearWeight * 0.7, + township: 1.1 + nearWeight * 0.35, + countyOutline: 1.9 + nearWeight * 0.35, + countyHalo: 4.2 + nearWeight * 0.65, } boundaryEntities.forEach((entity) => { if (entity?.polyline && entity.__hyBoundaryRole === "township") entity.polyline.width = widths.township }) countyFrameEntities.forEach((entity) => { - if (!entity?.polyline) return - if (entity.__hyBoundaryRole === "county-outline") entity.polyline.width = widths.countyOutline - if (entity.__hyBoundaryRole === "county-halo") entity.polyline.width = widths.countyHalo + if (entity?.polyline && entity.__hyBoundaryRole === "county-outline") entity.polyline.width = widths.countyOutline + if (entity?.polyline && entity.__hyBoundaryRole === "county-halo") entity.polyline.width = widths.countyHalo }) viewer.scene.requestRender() } @@ -669,7 +782,7 @@ async function refreshTopicLayers() { await addTopicLayer(layer, revision) } if (revision !== layerRevision) return - applyLayerMapView(layers.find((item) => item?.mapView || item?.cameraPosition)) + if (props.autoApplyLayerMapView) applyLayerMapView(layers.find((item) => item?.mapView || item?.cameraPosition)) emit("layer-status", { type: "success", text: `${layers.map((item) => item.name).filter(Boolean).join("、")}已加载` }) } catch (error) { if (revision !== layerRevision) return @@ -790,12 +903,50 @@ function buildWfsUrl(layer) { outputFormat: "application/json", srsName: "EPSG:4326", }) - if (layer.cqlFilter) params.set("cql_filter", layer.cqlFilter) - if (layer.maxFeatures) params.set("maxFeatures", String(layer.maxFeatures)) - if (Array.isArray(layer.propertyName) && layer.propertyName.length) params.set("propertyName", layer.propertyName.join(",")) - else if (layer.propertyName) params.set("propertyName", layer.propertyName) - return `${layer.url || "/geoserver/ne/wfs"}?${params.toString()}` - } + if (layer.cqlFilter) params.set("cql_filter", layer.cqlFilter) + if (layer.maxFeatures) params.set("maxFeatures", String(layer.maxFeatures)) + if (Array.isArray(layer.propertyName) && layer.propertyName.length) params.set("propertyName", layer.propertyName.join(",")) + else if (layer.propertyName) params.set("propertyName", layer.propertyName) + return `${layer.url || "/geoserver/ne/wfs"}?${params.toString()}` +} + +function normalizeImageryFeatureInfo(info, properties = {}, layer = null, lngLat = null) { + const sourceFeature = info?.data?.type === "Feature" + ? info.data + : info?.data?.features?.[0] + || info?.feature + || null + const sourceProperties = sourceFeature?.properties || properties || {} + const geometry = normalizeGeometry( + sourceFeature?.geometry + || sourceProperties.geometry + || sourceProperties.geom + || sourceProperties.the_geom + || sourceProperties.theGeom + || sourceProperties.wkt + || sourceProperties.shape + ) + const id = sourceFeature?.id + || sourceProperties.id + || sourceProperties.gid + || sourceProperties.objectid + || sourceProperties.OBJECTID + || info?.name + return { + type: "Feature", + id, + properties: sourceProperties, + feature: { + type: "Feature", + id, + properties: sourceProperties, + geometry, + }, + geometry, + layer, + lngLat, + } +} function normalizeWktPayload(payload) { const body = payload?.data ?? payload @@ -940,6 +1091,9 @@ function addGeometryEntities(geometry, feature, layer, style) { add({ polygon: { hierarchy, + height: 0, + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, + perPositionHeight: false, material: style.fill, outline: false, classificationType: Cesium.ClassificationType.BOTH, @@ -1168,27 +1322,126 @@ function addTownshipBoundaries() { removeEntities(boundaryEntities) const Cesium = window.Cesium const style = { - stroke: Cesium.Color.fromCssColorString("#B8FFF8").withAlpha(0.94), + stroke: Cesium.Color.fromCssColorString("#B8FFF8").withAlpha(0.82), fill: Cesium.Color.TRANSPARENT, - lineWidth: 1.65, + lineWidth: 1.2, pointSize: 0, } - ;(hongyuanTownshipsGeoJson.features || []).forEach((feature) => { - const geometry = normalizeGeometry(feature.geometry) - if (!geometry) return - const entities = addGeometryEntities(geometry, feature, { key: "township-boundary", name: "乡镇边界", hidePointFeatures: true }, style) - entities.forEach((entity) => { - if (entity.polygon) viewer.entities.remove(entity) - if (entity.polyline) { - entity.__hyBoundaryRole = "township" - entity.__hyTownName = feature.properties?.name - } + createTownshipInternalBoundarySegments(hongyuanTownshipsGeoJson.features || []).forEach((segment) => { + const positions = toRaisedCartesianPositions(segment.points, TOWNSHIP_BOUNDARY_RENDER_HEIGHT) + if (positions.length < 2) return + const entity = viewer.entities.add({ + polyline: { + positions, + width: style.lineWidth, + material: style.stroke, + depthFailMaterial: style.stroke, + clampToGround: false, + }, }) - boundaryEntities.push(...entities.filter((entity) => !entity.isDestroyed?.() && viewer.entities.contains(entity))) + entity.__hyBoundaryRole = "township" + entity.__hyTownName = segment.townNames?.[0] || "" + boundaryEntities.push(entity) }) viewer.scene.requestRender() } +function createTownshipInternalBoundarySegments(features = []) { + const segmentMap = new Map() + features.forEach((feature) => { + const townName = String(feature?.properties?.name || "").trim() + const geometry = normalizeGeometry(feature?.geometry) + getGeometryPolygons(geometry).forEach((polygon) => { + const ring = (polygon?.[0] || []).map(normalizeLngLat).filter(Boolean) + for (let index = 0; index < ring.length - 1; index += 1) { + const start = ring[index] + const end = ring[index + 1] + if (!start || !end || isSameLngLat(start, end)) continue + const key = getBoundarySegmentKey(start, end) + const existing = segmentMap.get(key) || { + points: [start, end], + count: 0, + townNames: new Set(), + } + existing.count += 1 + if (townName) existing.townNames.add(townName) + segmentMap.set(key, existing) + } + }) + }) + const internalSegments = Array.from(segmentMap.values()) + .map((segment) => ({ + ...segment, + townNames: Array.from(segment.townNames), + })) + .filter((segment) => segment.count > 1 && segment.townNames.length > 1) + return mergeBoundarySegments(internalSegments) +} + +function getGeometryPolygons(geometry) { + if (!geometry?.coordinates) return [] + if (geometry.type === "Polygon") return [geometry.coordinates] + if (geometry.type === "MultiPolygon") return geometry.coordinates + return [] +} + +function getBoundarySegmentKey(start, end) { + const first = getBoundaryPointKey(start) + const second = getBoundaryPointKey(end) + return first < second ? `${first}|${second}` : `${second}|${first}` +} + +function getBoundaryPointKey(point) { + return `${Number(point[0]).toFixed(5)},${Number(point[1]).toFixed(5)}` +} + +function isSameLngLat(start, end) { + return Math.abs(Number(start[0]) - Number(end[0])) < 1e-10 + && Math.abs(Number(start[1]) - Number(end[1])) < 1e-10 +} + +function mergeBoundarySegments(segments = []) { + const endpointMap = new Map() + segments.forEach((segment, index) => { + segment.points.forEach((point) => { + const key = getBoundaryPointKey(point) + const indexes = endpointMap.get(key) || [] + indexes.push(index) + endpointMap.set(key, indexes) + }) + }) + const used = new Set() + const merged = [] + segments.forEach((segment, index) => { + if (used.has(index)) return + used.add(index) + const path = [segment.points[0], segment.points[1]] + extendBoundaryPath(path, endpointMap, segments, used, true) + extendBoundaryPath(path, endpointMap, segments, used, false) + merged.push({ + points: path, + townNames: segment.townNames, + }) + }) + return merged +} + +function extendBoundaryPath(path, endpointMap, segments, used, atStart) { + while (path.length) { + const endpoint = atStart ? path[0] : path[path.length - 1] + const endpointKey = getBoundaryPointKey(endpoint) + const candidates = (endpointMap.get(endpointKey) || []).filter((index) => !used.has(index)) + if (candidates.length !== 1) return + const segmentIndex = candidates[0] + const segment = segments[segmentIndex] + used.add(segmentIndex) + const [start, end] = segment.points + const nextPoint = getBoundaryPointKey(start) === endpointKey ? end : start + if (atStart) path.unshift(nextPoint) + else path.push(nextPoint) + } +} + function addCountyFrame() { if (!viewer || !HONGYUAN_CLIP_MULTIPOLYGON.length) return removeEntities(countyFrameEntities) @@ -1212,24 +1465,26 @@ function addCountyFrame() { } const haloEntity = viewer.entities.add({ polyline: { - positions: toCartesianPositions(ring), - width: 2.8, + positions: toRaisedCartesianPositions(ring, COUNTY_BOUNDARY_RENDER_HEIGHT), + width: 4.8, material: new Cesium.PolylineGlowMaterialProperty({ - glowPower: 0.18, - color: Cesium.Color.fromCssColorString("#00E7FF").withAlpha(0.24), + glowPower: 0.16, + color: Cesium.Color.fromCssColorString("#78FFF7").withAlpha(0.48), }), - depthFailMaterial: Cesium.Color.fromCssColorString("#00E7FF").withAlpha(0.16), - clampToGround: true, + depthFailMaterial: Cesium.Color.fromCssColorString("#78FFF7").withAlpha(0.32), + clampToGround: false, + zIndex: 8, }, }) haloEntity.__hyBoundaryRole = "county-halo" const outlineEntity = viewer.entities.add({ polyline: { - positions: toCartesianPositions(ring), - width: 1.45, - material: Cesium.Color.fromCssColorString("#8FFFF7").withAlpha(0.9), - depthFailMaterial: Cesium.Color.fromCssColorString("#8FFFF7").withAlpha(0.9), - clampToGround: true, + positions: toRaisedCartesianPositions(ring, COUNTY_BOUNDARY_RENDER_HEIGHT + 80), + width: 1.9, + material: Cesium.Color.fromCssColorString("#F2FFFB").withAlpha(0.98), + depthFailMaterial: Cesium.Color.fromCssColorString("#F2FFFB").withAlpha(0.9), + clampToGround: false, + zIndex: 9, }, }) outlineEntity.__hyBoundaryRole = "county-outline" @@ -1253,7 +1508,7 @@ function addCountyOutsideMask(Cesium) { const maskEntity = viewer.entities.add({ polygon: { hierarchy, - material: Cesium.Color.fromCssColorString("#020A10").withAlpha(0.64), + material: Cesium.Color.fromCssColorString("#020A10").withAlpha(0.52), outline: false, perPositionHeight: false, heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, @@ -1284,14 +1539,14 @@ function getTownBadgeImage(labelLines, highlighted = false) { .map((line) => String(line || "").trim()) .filter(Boolean) .slice(0, 2) - const cacheKey = `v13-lightweight-map-badge:${highlighted ? "h" : "n"}:${lines.join("|")}` + const cacheKey = `v15-centered-map-badge:${highlighted ? "h" : "n"}:${lines.join("|")}` if (townBadgeImageCache.has(cacheKey)) return townBadgeImageCache.get(cacheKey) const canvas = document.createElement("canvas") const context = canvas.getContext("2d") if (!context) return { image: "", width: 1, height: 1 } - const pixelRatio = Math.min(3, Math.max(2.5, window.devicePixelRatio || 2)) - const mainFont = "760 13px Microsoft YaHei, PingFang SC, sans-serif" + const pixelRatio = Math.min(4, Math.max(3, window.devicePixelRatio || 2)) + const mainFont = "700 14px Microsoft YaHei, PingFang SC, sans-serif" const metricFont = "700 9px Microsoft YaHei, PingFang SC, sans-serif" const valueFont = "800 14px Microsoft YaHei, PingFang SC, sans-serif" const unitFont = "600 9px Microsoft YaHei, PingFang SC, sans-serif" @@ -1311,7 +1566,7 @@ function getTownBadgeImage(labelLines, highlighted = false) { } const bodyWidth = Math.min(118, Math.max(statParts ? 96 : 62, mainWidth + 20, statWidth + 20)) const bodyHeight = statParts ? 40 : 25 - const pointerHeight = 5 + const pointerHeight = statParts ? 5 : 0 const margin = 6 const width = bodyWidth + margin * 2 const height = bodyHeight + pointerHeight + margin * 2 @@ -1361,20 +1616,22 @@ function getTownBadgeImage(labelLines, highlighted = false) { context.restore() const pointerX = x + bodyWidth / 2 - context.save() - context.shadowColor = "rgba(48, 220, 255, 0.2)" - context.shadowBlur = 5 - context.beginPath() - context.moveTo(pointerX - 5, bodyBottom - 1) - context.lineTo(pointerX + 5, bodyBottom - 1) - context.lineTo(pointerX, bodyBottom + pointerHeight) - context.closePath() - context.fillStyle = highlighted ? "rgba(4, 42, 52, 0.98)" : "rgba(3, 31, 43, 0.96)" - context.fill() - context.strokeStyle = highlighted ? "rgba(126, 251, 246, 0.48)" : "rgba(126, 251, 246, 0.34)" - context.lineWidth = 0.8 - context.stroke() - context.restore() + if (pointerHeight > 0) { + context.save() + context.shadowColor = "rgba(48, 220, 255, 0.2)" + context.shadowBlur = 5 + context.beginPath() + context.moveTo(pointerX - 5, bodyBottom - 1) + context.lineTo(pointerX + 5, bodyBottom - 1) + context.lineTo(pointerX, bodyBottom + pointerHeight) + context.closePath() + context.fillStyle = highlighted ? "rgba(4, 42, 52, 0.98)" : "rgba(3, 31, 43, 0.96)" + context.fill() + context.strokeStyle = highlighted ? "rgba(126, 251, 246, 0.48)" : "rgba(126, 251, 246, 0.34)" + context.lineWidth = 0.8 + context.stroke() + context.restore() + } context.save() context.textAlign = "center" @@ -1382,10 +1639,10 @@ function getTownBadgeImage(labelLines, highlighted = false) { context.fillStyle = "rgba(255, 255, 255, 0.98)" context.strokeStyle = "rgba(0, 8, 14, 0.98)" context.lineJoin = "round" - context.shadowColor = "rgba(126, 251, 246, 0.34)" - context.shadowBlur = 2 + context.shadowColor = "rgba(0, 8, 14, 0.72)" + context.shadowBlur = 0 context.font = mainFont - context.lineWidth = 2 + context.lineWidth = 1.6 const mainTextY = y + (statParts ? 12.5 : bodyHeight / 2) drawCenteredCanvasText(context, lines[0] || "", pointerX, mainTextY) if (statParts) { @@ -1405,8 +1662,8 @@ function getTownBadgeImage(labelLines, highlighted = false) { context.font = valueFont context.lineWidth = 1.4 context.fillStyle = "#FFFFFF" - context.shadowColor = "rgba(48, 220, 255, 0.5)" - context.shadowBlur = 5 + context.shadowColor = "rgba(0, 8, 14, 0.72)" + context.shadowBlur = 0 drawCenteredCanvasText(context, statParts.value, statX, statY) context.shadowBlur = 0 statX += Math.ceil(context.measureText(statParts.value).width) + (statParts.unit ? 4 : 0) @@ -1492,17 +1749,19 @@ function refreshMapRanking() { const rows = Array.isArray(ranking.rows) ? ranking.rows : [] const rowByName = new Map(rows.map((row) => [normalizeTownName(row.name), row])) const showTownNames = ranking.showTownNames !== false && ranking.hideTownNames !== true + const hideTownLabelStats = ranking.hideTownLabelStats ?? props.hideTownLabelStats if (showTownNames) { hongyuanTownshipLabelPoints.forEach((town) => { const row = rowByName.get(normalizeTownName(town.name)) const labelLines = [town.name] - if (row && ranking.showMapLabels !== false) { + if (!hideTownLabelStats && row && ranking.showMapLabels !== false) { const metric = ranking.metricLabel ? `${ranking.metricLabel} ` : "" labelLines.push(`${metric}${formatMapValue(row.value)}${row.unit || ranking.unit || ""}`) } const point = normalizeLngLat(town.center) if (!point) return const badge = getTownBadgeImage(labelLines, Boolean(row)) + const centerBadge = Boolean(hideTownLabelStats || labelLines.length === 1) const entity = viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(point[0], point[1], 18), billboard: { @@ -1510,9 +1769,9 @@ function refreshMapRanking() { width: badge.width, height: badge.height, scale: 1, - verticalOrigin: Cesium.VerticalOrigin.BOTTOM, + verticalOrigin: centerBadge ? Cesium.VerticalOrigin.CENTER : Cesium.VerticalOrigin.BOTTOM, horizontalOrigin: Cesium.HorizontalOrigin.CENTER, - pixelOffset: new Cesium.Cartesian2(0, -4), + pixelOffset: centerBadge ? new Cesium.Cartesian2(0, 0) : new Cesium.Cartesian2(0, -4), heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, disableDepthTestDistance: Number.POSITIVE_INFINITY, scaleByDistance: new Cesium.NearFarScalar(20000, 0.94, 360000, 0.8), @@ -1561,7 +1820,8 @@ function bindMapClick() { const Cesium = window.Cesium clickHandler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas) clickHandler.setInputAction(async (movement) => { - const cartesian = pickGlobePosition(movement.position) + const canvasPosition = normalizeCanvasPosition(movement.position) + const cartesian = pickGlobePosition(canvasPosition) if (!cartesian) return const cartographic = Cesium.Cartographic.fromCartesian(cartesian) const lngLat = { @@ -1569,7 +1829,7 @@ function bindMapClick() { lat: Cesium.Math.toDegrees(cartographic.latitude), height: cartographic.height, } - const screen = toLogicalScreen(movement.position) + const screen = toViewportScreen(canvasPosition) if (drawingEnabled) { addDrawingPoint(lngLat) return @@ -1581,19 +1841,23 @@ function bindMapClick() { overlayLayer: activeLayerStack.value[0] || null, }) - const picked = viewer.scene.pick(movement.position) + const picked = viewer.scene.pick(canvasPosition) const pickedEntity = picked?.id - if (pickedEntity?.__hyTownName && selectTownByName(pickedEntity.__hyTownName)) return - const pickedTownFeature = findSelectableTownshipFeatureByLngLat(lngLat) - if (pickedTownFeature && selectTownByName(pickedTownFeature.properties?.name)) return - if (pickedEntity?.__hyFeature) { - selectEntity(pickedEntity) + if (props.enableTownPolygonPick && pickedEntity?.__hyTownName && selectTownByName(pickedEntity.__hyTownName)) return + if (props.enableTownPolygonPick) { + const pickedTownFeature = findSelectableTownshipFeatureByLngLat(lngLat) + if (pickedTownFeature && selectTownByName(pickedTownFeature.properties?.name)) return + } + const pickedVectorEntity = findTopicEntityAtLngLat(lngLat, screen) || pickedEntity + if (pickedVectorEntity?.__hyFeature) { + selectEntity(pickedVectorEntity) emit("feature-info", { feature: { - id: pickedEntity.__hyFeature.id, - properties: pickedEntity.__hyFeature.properties || {}, - feature: pickedEntity.__hyFeature, - layer: pickedEntity.__hyLayer, + id: pickedVectorEntity.__hyFeature.id, + properties: pickedVectorEntity.__hyFeature.properties || {}, + feature: pickedVectorEntity.__hyFeature, + geometry: pickedVectorEntity.__hyFeature.geometry || null, + layer: pickedVectorEntity.__hyLayer, lngLat, }, screen, @@ -1601,30 +1865,38 @@ function bindMapClick() { return } - if (topicImageryLayers.length) { + if (props.enableImageryFeaturePick && topicImageryLayers.length) { emit("feature-loading", true) try { - const ray = viewer.camera.getPickRay(movement.position) + const ray = viewer.camera.getPickRay(canvasPosition) const features = await viewer.imageryLayers.pickImageryLayerFeatures(ray, viewer.scene) const info = features?.[0] if (info) { const imageryLayer = topicImageryLayers.find((item) => item.imageryProvider === info.imageryLayer?.imageryProvider) || topicImageryLayers[topicImageryLayers.length - 1] + const layer = imageryLayer?.__hyLayer || activeLayerStack.value[0] const properties = info.properties || info.data?.properties || info.data || {} + const pickedFeature = normalizeImageryFeatureInfo(info, properties, layer, lngLat) + const highlightedFeature = pickedFeature + const highlighted = highlightFeature(highlightedFeature) + if (!highlighted) clearSelectedFeature() emit("feature-info", { feature: { - id: properties.id || properties.fid || info.name, - properties, - feature: info, - layer: imageryLayer?.__hyLayer || activeLayerStack.value[0], + id: highlightedFeature.id || properties.id || properties.fid || info.name, + properties: highlightedFeature.properties || properties, + feature: highlightedFeature.feature || info, + geometry: highlightedFeature.geometry || highlightedFeature.feature?.geometry || null, + layer, lngLat, }, screen, }) } else { + clearSelectedFeature() emit("feature-info", { feature: null, screen }) } } catch (error) { + clearSelectedFeature() emit("feature-info", { feature: null, screen }) } finally { emit("feature-loading", false) @@ -1633,6 +1905,45 @@ function bindMapClick() { }, Cesium.ScreenSpaceEventType.LEFT_CLICK) } +function normalizeCanvasPosition(position) { + if (!position || !viewer?.scene?.canvas) return position + const Cesium = window.Cesium + const canvas = viewer.scene.canvas + const rect = canvas.getBoundingClientRect?.() + const rectWidth = Number(rect?.width) || 0 + const rectHeight = Number(rect?.height) || 0 + const canvasWidth = Number(canvas.clientWidth || containerRef.value?.clientWidth) || rectWidth || 1 + const canvasHeight = Number(canvas.clientHeight || containerRef.value?.clientHeight) || rectHeight || 1 + const x = Number(position.x) + const y = Number(position.y) + if (!Number.isFinite(x) || !Number.isFinite(y) || !rectWidth || !rectHeight) { + return position + } + const scaleX = canvasWidth / rectWidth + const scaleY = canvasHeight / rectHeight + if (Math.abs(scaleX - 1) < 0.001 && Math.abs(scaleY - 1) < 0.001) { + return position + } + return new Cesium.Cartesian2(x * scaleX, y * scaleY) +} + +function toViewportScreen(point) { + if (!point || !viewer?.scene?.canvas) return null + const canvas = viewer.scene.canvas + const rect = canvas.getBoundingClientRect?.() + const rectWidth = Number(rect?.width) || 0 + const rectHeight = Number(rect?.height) || 0 + const canvasWidth = Number(canvas.clientWidth || containerRef.value?.clientWidth) || rectWidth || 1 + const canvasHeight = Number(canvas.clientHeight || containerRef.value?.clientHeight) || rectHeight || 1 + const x = Number(point.x) + const y = Number(point.y) + if (!Number.isFinite(x) || !Number.isFinite(y) || !rect) return null + return { + x: (Number(rect.left) || 0) + x * (rectWidth / canvasWidth), + y: (Number(rect.top) || 0) + y * (rectHeight / canvasHeight), + } +} + function pickGlobePosition(position) { if (!viewer) return null const ray = viewer.camera.getPickRay(position) @@ -1661,33 +1972,203 @@ function clearSelectedFeature() { } selectedEntity = null removeEntities(selectedOverlayEntities) + clearSelectedOverlayDataSource() viewer?.scene?.requestRender?.() } function addSelectedFeatureOverlay(feature, options = {}) { if (!viewer || !feature?.geometry) return [] - const entities = addGeoFeature(feature, { key: "selected-feature-overlay", opacity: 1 }, selectedOverlayEntities, { - fillColor: options.mode === "town" ? "#30DCFF" : "#FF3B4D", - strokeColor: options.mode === "town" ? "#F2FFFF" : "#FFECEC", - fillAlpha: options.mode === "town" ? 0.16 : 0.2, - strokeAlpha: 0.98, - lineWidth: options.mode === "town" ? 4.2 : 4.8, - pointSize: 0, - }) + const dataSource = createSelectedOverlayDataSource({ append: options.append === true }) + if (!dataSource) return [] + const Cesium = window.Cesium + const isTown = options.mode === "town" + const isWhite = options.highlightTone === "white" || options.mode === "white" + const fillColor = isTown ? "#30DCFF" : isWhite ? "#FFFFFF" : "#FF2D2D" + const strokeColor = isTown ? "#F2FFFF" : isWhite ? "#FFFFFF" : "#FF2D2D" + const style = { + fill: Cesium.Color.fromCssColorString(fillColor) + .withAlpha(options.fillAlpha ?? (isTown ? 0.16 : isWhite ? 0.12 : 0.16)), + stroke: Cesium.Color.fromCssColorString(strokeColor) + .withAlpha(options.strokeAlpha ?? (isWhite ? 0.92 : 0.98)), + lineWidth: options.lineWidth ?? (isTown ? 4.2 : isWhite ? 5.8 : 5.2), + pointSize: isTown ? 0 : options.pointSize ?? 14, + } + const entities = addSelectedOverlayGeometryEntities(feature.geometry, feature, dataSource.entities, style) entities.forEach((entity) => { entity.__hyFeature = null entity.__hyLayer = null entity.__hyTownName = options.townName || feature.properties?.name || "" entity.__hySelectedOverlay = true - if (entity.polyline) { - entity.polyline.width = options.mode === "town" ? 4.2 : 4.8 - entity.polyline.clampToGround = true + }) + selectedOverlayEntities.push(...entities) + raiseSelectedOverlayDataSource(dataSource) + return entities +} + +function createSelectedOverlayDataSource(options = {}) { + if (!viewer || !window.Cesium) return null + if (options.append && selectedOverlayDataSource) return selectedOverlayDataSource + clearSelectedOverlayDataSource() + selectedOverlayDataSource = new window.Cesium.CustomDataSource("selected-feature-overlay") + viewer.dataSources.add(selectedOverlayDataSource) + raiseSelectedOverlayDataSource(selectedOverlayDataSource) + return selectedOverlayDataSource +} + +function clearSelectedOverlayDataSource() { + if (!viewer?.dataSources) { + selectedOverlayDataSource = null + return + } + const existingSources = Array.from(new Set([ + selectedOverlayDataSource, + ...(viewer.dataSources.getByName?.("selected-feature-overlay") || []), + ].filter(Boolean))) + existingSources.forEach((dataSource) => { + try { + viewer.dataSources.remove(dataSource, true) + } catch (error) { + console.warn("[cesium-map] remove selected overlay failed", error) } - if (entity.polygon) { - entity.polygon.classificationType = window.Cesium.ClassificationType.BOTH + }) + selectedOverlayDataSource = null + selectedOverlayEntities = [] +} + +function raiseSelectedOverlayDataSource(dataSource) { + if (!viewer?.dataSources || !dataSource) return + try { + if (viewer.dataSources.raiseToTop) { + viewer.dataSources.raiseToTop(dataSource) + return } + while (viewer.dataSources.indexOf?.(dataSource) < viewer.dataSources.length - 1) { + viewer.dataSources.raise(dataSource) + } + } catch (error) { + console.warn("[cesium-map] raise selected overlay failed", error) + } +} + +function addSelectedOverlayGeometryEntities(geometry, feature, collection, style) { + const Cesium = window.Cesium + const created = [] + if (!geometry || !collection) return created + const add = (options) => { + const entity = collection.add(options) + entity.__hyFeature = feature + created.push(entity) + return entity + } + if (geometry.type === "Point") { + const point = normalizeLngLat(geometry.coordinates) + if (!point || style.pointSize <= 0) return created + add({ + position: Cesium.Cartesian3.fromDegrees(point[0], point[1]), + point: { + show: true, + color: style.fill, + pixelSize: style.pointSize, + outlineColor: style.stroke, + outlineWidth: 3, + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, + disableDepthTestDistance: Number.POSITIVE_INFINITY, + }, + }) + return created + } + if (geometry.type === "MultiPoint") { + geometry.coordinates.forEach((coordinates) => { + created.push(...addSelectedOverlayGeometryEntities({ type: "Point", coordinates }, feature, collection, style)) + }) + return created + } + if (geometry.type === "LineString") { + addSelectedOverlayLine(geometry.coordinates, feature, collection, style, created) + return created + } + if (geometry.type === "MultiLineString") { + geometry.coordinates.forEach((coordinates) => { + addSelectedOverlayLine(coordinates, feature, collection, style, created) + }) + return created + } + if (geometry.type === "Polygon") { + addSelectedOverlayPolygon(geometry.coordinates, feature, collection, style, created) + return created + } + if (geometry.type === "MultiPolygon") { + geometry.coordinates.forEach((coordinates) => { + addSelectedOverlayPolygon(coordinates, feature, collection, style, created) + }) + } + return created +} + +function addSelectedOverlayPolygon(rings, feature, collection, style, created) { + const Cesium = window.Cesium + const hierarchy = createPolygonHierarchy(rings) + if (!hierarchy) return + const polygonEntity = collection.add({ + polygon: { + hierarchy, + height: 0, + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, + perPositionHeight: false, + clampToGround: true, + material: style.fill, + outline: false, + classificationType: Cesium.ClassificationType.BOTH, + zIndex: 999, + }, }) - return entities + polygonEntity.__hyFeature = feature + created.push(polygonEntity) + rings.forEach((ring) => addSelectedOverlayLine(ring, feature, collection, style, created)) +} + +function addSelectedOverlayLine(coordinates, feature, collection, style, created) { + const Cesium = window.Cesium + const positions = toCartesianPositions(coordinates) + if (positions.length < 2) return + const entity = collection.add({ + polyline: { + positions, + width: style.lineWidth, + material: style.stroke, + depthFailMaterial: style.stroke, + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, + clampToGround: true, + classificationType: Cesium.ClassificationType.BOTH, + zIndex: 1000, + }, + }) + entity.__hyFeature = feature + created.push(entity) +} + +function highlightFeature(feature, options = {}) { + if (!viewer || !feature) return false + const properties = feature.properties || feature.feature?.properties || (typeof feature === "object" ? feature : {}) + const geometry = normalizeGeometry( + feature.geometry + || feature.feature?.geometry + || properties.geometry + || properties.geom + || properties.wkt + || feature + ) + if (!geometry) return false + clearSelectedFeature() + const highlightedFeature = { + type: "Feature", + id: feature.id || feature.feature?.id || properties.id, + properties, + geometry, + } + addSelectedFeatureOverlay(highlightedFeature, { mode: "feature", ...options }) + viewer?.scene?.requestRender?.() + return selectedOverlayEntities.length > 0 } function findTownshipFeature(name) { @@ -1741,15 +2222,40 @@ function focusTown(name, options = {}) { return { screen: getLngLatScreen(point) } } -function focusProject(name) { - const target = findTopicEntity((feature) => { - const properties = feature.properties || {} - return [properties.name, properties.project_name, properties.projectName, properties.title].some((value) => String(value || "") === String(name || "")) +function focusProject(payload = {}) { + const query = normalizeProjectFocusPayload(payload) + const targets = findTopicEntities((feature) => matchesProjectFocusPayload(feature, query)) + if (!targets.length) return null + const features = uniqueEntityFeatures(targets) + const highlightFeatures = getProjectHighlightFeatures(features) + clearSelectedFeature() + selectedEntity = targets[0] + if (selectedEntity?.point) { + selectedEntity.__hyOriginalPointSize = selectedEntity.point.pixelSize + selectedEntity.point.pixelSize = 18 + } + highlightFeatures.forEach((feature, index) => { + addSelectedFeatureOverlay(feature, { + mode: "feature", + highlightTone: query.highlightTone, + append: index > 0, + }) }) - if (!target) return null - viewer.flyTo(target, { duration: 0.9, offset: createFocusOffset(18000) }) - selectEntity(target) - return target + const bounds = getFeaturesBounds(features) + if (bounds) { + flyToBounds(bounds, 0.9) + } else { + viewer.flyTo(targets[0], { duration: 0.9, offset: createFocusOffset(18000) }) + } + viewer?.scene?.requestRender?.() + return { + entity: targets[0], + entities: targets, + feature: features[0] || targets[0].__hyFeature, + features, + highlightFeatures, + screen: getVectorFeaturesAnchorScreen(highlightFeatures.length ? highlightFeatures : features), + } } function focusYakIndustryPoint(payload = {}) { @@ -1783,6 +2289,45 @@ function getVectorFeatureScreen(feature) { return center ? getLngLatScreen(center) : null } +function getVectorFeatureAnchorScreen(feature) { + return getVectorFeaturesAnchorScreen([feature]) || getVectorFeatureScreen(feature) +} + +function getVectorFeaturesAnchorScreen(features = []) { + const screens = [] + ;(Array.isArray(features) ? features : [features]).forEach((feature) => { + const properties = feature?.properties || feature?.feature?.properties || {} + const geometry = normalizeGeometry( + feature?.geometry + || feature?.feature?.geometry + || properties.geometry + || properties.geom + || properties.wkt + || properties.geo + || properties.the_geom + || properties.geometryWkt + || properties.geometry_wkt + || properties.shape + ) + if (!geometry) { + const fallback = getVectorFeatureScreen(feature) + if (fallback) screens.push(fallback) + return + } + const points = [] + collectCoordinates(geometry.coordinates, points) + screens.push(...points.map(getLngLatScreen).filter(Boolean)) + }) + if (!screens.length) return null + const xs = screens.map((point) => Number(point.x)).filter(Number.isFinite) + const ys = screens.map((point) => Number(point.y)).filter(Number.isFinite) + if (!xs.length || !ys.length) return null + return { + x: (Math.min(...xs) + Math.max(...xs)) / 2, + y: Math.min(...ys), + } +} + function getYakIndustryPointScreen(payload = {}) { const point = normalizeRowPoint(payload) if (point) return getLngLatScreen(point) @@ -1794,22 +2339,41 @@ function getYakIndustryPointScreen(payload = {}) { function focusPasture(payload = {}) { clearPastureFocus() const grasslands = normalizePastureGrasslands(payload.grasslands || payload) - if (!payload.locateOnly) { - grasslands.forEach((feature) => { - addGeoFeature(feature, { key: "pasture-focus-glow", name: payload.name || "选中草场" }, focusEntities, { - fillColor: "#30DCFF", - strokeColor: "#30DCFF", + const whiteTone = payload.highlightTone === "white" + const glowStyle = whiteTone + ? { + fillColor: "#FFFFFF", + strokeColor: "#FFFFFF", + fillAlpha: 0.04, + strokeAlpha: 0.82, + lineWidth: 11, + } + : { + fillColor: "#FF3B30", + strokeColor: "#FF3B30", fillAlpha: 0.1, - strokeAlpha: 0.58, - lineWidth: 8.2, - }) - addGeoFeature(feature, { key: "pasture-focus", name: payload.name || "选中草场" }, focusEntities, { - fillColor: "#FFCB45", - strokeColor: "#FFF4B8", - fillAlpha: 0.18, + strokeAlpha: 0.68, + lineWidth: 12, + } + const focusStyle = whiteTone + ? { + fillColor: "#FFFFFF", + strokeColor: "#FFFFFF", + fillAlpha: 0.16, strokeAlpha: 1, - lineWidth: 4.6, - }) + lineWidth: 5.6, + } + : { + fillColor: "#FF2D2D", + strokeColor: "#FFE1E1", + fillAlpha: 0.3, + strokeAlpha: 1, + lineWidth: 6.2, + } + if (!payload.locateOnly) { + grasslands.forEach((feature) => { + addGeoFeature(feature, { key: "pasture-focus-glow", name: payload.name || "牧场高亮" }, focusEntities, glowStyle) + addGeoFeature(feature, { key: "pasture-focus", name: payload.name || "牧场高亮" }, focusEntities, focusStyle) }) ;(Array.isArray(payload.yakMarks) ? payload.yakMarks : []).forEach((row, index) => { const point = normalizeRowPoint(row) @@ -1862,6 +2426,7 @@ function undoBoundaryPoint() { function finishBoundaryDrawing() { if (drawingPoints.length < 3) return null + const cameraSnapshot = captureCameraView() const ring = [...drawingPoints, drawingPoints[0]] const feature = { type: "Feature", @@ -1879,6 +2444,8 @@ function finishBoundaryDrawing() { lineWidth: 3, }) emit("draw-boundary", { status: "complete", pointCount: 0, points: [], feature }) + restoreCameraView(cameraSnapshot) + scheduleCameraRestore(cameraSnapshot) return feature } @@ -1922,27 +2489,33 @@ function updateDrawingEntities() { } function showAnalysisResult(payload = {}) { - removeEntities(analysisEntities) const boundary = payload.boundary?.type === "Feature" ? payload.boundary : payload.boundary?.geometry ? payload.boundary : null + const preserveView = payload.preserveView === true || boundary?.properties?.source === "drawn" + const cameraSnapshot = preserveView ? captureCameraView() : null + if (preserveView) viewer?.camera?.cancelFlight?.() + removeEntities(analysisEntities) if (boundary) addGeoFeature(boundary, { key: "analysis-result-boundary" }, analysisEntities, { fillColor: "#24F6C4", strokeColor: "#B7FFF2", fillAlpha: 0.1, lineWidth: 3, }) - ;(Array.isArray(payload.matches) ? payload.matches : []).forEach((feature) => { - const normalized = feature?.type === "Feature" ? feature : feature?.feature || null - if (normalized) addGeoFeature(normalized, { key: "analysis-result-feature" }, analysisEntities, { - fillColor: "#30DCFF", - strokeColor: "#C9FBFF", - fillAlpha: 0.1, - lineWidth: 2.6, - }) - }) - if (!payload.preserveView) { + ;(Array.isArray(payload.matches) ? payload.matches : []).forEach((feature) => { + const normalized = feature?.type === "Feature" ? feature : feature?.feature || null + if (normalized) addGeoFeature(normalized, { key: "analysis-result-feature" }, analysisEntities, { + fillColor: "#30DCFF", + strokeColor: "#C9FBFF", + fillAlpha: 0.1, + lineWidth: 2.6, + }) + }) + if (!preserveView) { const features = [boundary, ...(payload.matches || [])].filter(Boolean) const bounds = getFeaturesBounds(features) if (bounds) flyToBounds(bounds, 0.9) + } else { + restoreCameraView(cameraSnapshot) + scheduleCameraRestore(cameraSnapshot) } viewer?.scene?.requestRender?.() } @@ -2020,23 +2593,38 @@ function getLngLatScreen(point) { if (!viewer || !point) return null const Cesium = window.Cesium const cartesian = Cesium.Cartesian3.fromDegrees(point[0], point[1], 16) - return toLogicalScreen(Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, cartesian)) -} - -function toLogicalScreen(point) { - if (!point || !containerRef.value) return null - const width = Math.max(1, containerRef.value.clientWidth) - const height = Math.max(1, containerRef.value.clientHeight) - return { - x: (Number(point.x) / width) * 1920, - y: (Number(point.y) / height) * 1080, - } + return toViewportScreen(Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, cartesian)) } function findTopicEntity(predicate) { return [...topicEntities, ...focusEntities].find((entity) => entity.__hyFeature && predicate(entity.__hyFeature)) || null } +function findTopicEntities(predicate) { + return [...topicEntities, ...focusEntities].filter((entity) => entity.__hyFeature && predicate(entity.__hyFeature)) +} + +function findTopicEntityAtLngLat(lngLat, screen) { + if (!Number.isFinite(lngLat?.lng) || !Number.isFinite(lngLat?.lat)) return null + const entities = uniqueFeatureEntities(topicEntities) + const containing = entities + .map((entity) => ({ + entity, + geometry: normalizeGeometry(entity.__hyFeature?.geometry), + })) + .filter((item) => item.geometry && isLngLatInGeometry(lngLat, item.geometry)) + .sort((a, b) => getGeometryAreaScore(a.geometry) - getGeometryAreaScore(b.geometry)) + if (containing.length) return containing[0].entity + const nearest = entities + .map((entity) => ({ + entity, + distance: getGeometryScreenDistance(normalizeGeometry(entity.__hyFeature?.geometry), screen), + })) + .filter((item) => Number.isFinite(item.distance)) + .sort((a, b) => a.distance - b.distance)[0] + return nearest?.distance <= 18 ? nearest.entity : null +} + function matchesFeaturePayload(feature, payload = {}) { const properties = feature?.properties || {} const ids = [payload.id, payload.key, payload.featureId, payload.projectId].filter((value) => value !== undefined && value !== null && value !== "").map(String) @@ -2050,6 +2638,62 @@ function matchesFeaturePayload(feature, payload = {}) { return Boolean(point && featurePoint && Math.abs(point[0] - featurePoint[0]) < 0.00002 && Math.abs(point[1] - featurePoint[1]) < 0.00002) } +function normalizeProjectFocusPayload(payload = {}) { + if (payload && typeof payload === "object") return payload + return { + name: payload, + projectName: payload, + project_name: payload, + } +} + +function matchesProjectFocusPayload(feature, payload = {}) { + if (matchesFeaturePayload(feature, payload)) return true + const properties = feature?.properties || {} + const ids = collectMatchTexts([payload.id, payload.key, payload.featureId, payload.projectId, payload.project_id]) + const featureIds = collectMatchTexts([feature?.id, properties.id, properties.key, properties.feature_id, properties.project_id, properties.gid]) + if (ids.some((id) => featureIds.includes(id))) return true + const names = collectMatchTexts([payload.name, payload.fullName, payload.projectName, payload.project_name, payload.title]) + const featureNames = collectMatchTexts([properties.name, properties.fullName, properties.project_name, properties.projectName, properties.title]) + return names.some((name) => featureNames.includes(name)) +} + +function collectMatchTexts(values = []) { + const texts = [] + values.forEach((value) => { + if (value === undefined || value === null || value === "") return + const text = String(value).trim() + if (!text) return + texts.push(text) + const compact = text.replace(/\s+/g, "") + if (compact && compact !== text) texts.push(compact) + }) + return Array.from(new Set(texts)) +} + +function uniqueFeatureEntities(entities = []) { + const seen = new Set() + return entities.filter((entity) => { + const feature = entity?.__hyFeature + if (!feature || seen.has(feature)) return false + seen.add(feature) + return true + }) +} + +function uniqueEntityFeatures(entities = []) { + return uniqueFeatureEntities(entities).map((entity) => entity.__hyFeature).filter(Boolean) +} + +function getProjectHighlightFeatures(features = []) { + const drawableFeatures = features.filter((feature) => { + const type = String(normalizeGeometry(feature?.geometry)?.type || "") + return type.includes("Polygon") || type.includes("LineString") + }) + const rangeFeatures = drawableFeatures.filter((feature) => feature?.properties?.feature_role === "工程范围") + return rangeFeatures.length ? rangeFeatures : drawableFeatures +} + function normalizePastureGrasslands(value) { const rows = Array.isArray(value) ? value @@ -2140,6 +2784,14 @@ function toCartesianPositions(coordinates = []) { return coordinates.map(normalizeLngLat).filter(Boolean).map((point) => Cesium.Cartesian3.fromDegrees(point[0], point[1], 8)) } +function toRaisedCartesianPositions(coordinates = [], height = COUNTY_BOUNDARY_RENDER_HEIGHT) { + const Cesium = window.Cesium + return coordinates + .map(normalizeLngLat) + .filter(Boolean) + .map((point) => Cesium.Cartesian3.fromDegrees(point[0], point[1], height)) +} + function normalizeLngLat(value) { if (!Array.isArray(value) || value.length < 2) return null const lng = Number(value[0]) @@ -2172,6 +2824,69 @@ function isLngLatInGeometry(lngLat, geometry) { return false } +function getGeometryAreaScore(geometry) { + if (!geometry?.coordinates) return Number.POSITIVE_INFINITY + if (geometry.type === "Polygon") return getLngLatPolygonAreaScore(geometry.coordinates) + if (geometry.type === "MultiPolygon") { + return geometry.coordinates.reduce((sum, polygon) => sum + getLngLatPolygonAreaScore(polygon), 0) + } + return Number.POSITIVE_INFINITY +} + +function getLngLatPolygonAreaScore(rings = []) { + const outer = rings[0] || [] + if (outer.length < 3) return Number.POSITIVE_INFINITY + let area = 0 + for (let index = 0; index < outer.length; index += 1) { + const current = outer[index] + const next = outer[(index + 1) % outer.length] + area += Number(current?.[0] || 0) * Number(next?.[1] || 0) - Number(next?.[0] || 0) * Number(current?.[1] || 0) + } + return Math.abs(area) +} + +function getGeometryScreenDistance(geometry, screen) { + if (!geometry?.coordinates || !screen) return Number.POSITIVE_INFINITY + if (geometry.type === "Point") return getPointScreenDistance(geometry.coordinates, screen) + if (geometry.type === "MultiPoint") { + return Math.min(...geometry.coordinates.map((point) => getPointScreenDistance(point, screen))) + } + if (geometry.type === "LineString") return getLineScreenDistance(geometry.coordinates, screen) + if (geometry.type === "MultiLineString") { + return Math.min(...geometry.coordinates.map((line) => getLineScreenDistance(line, screen))) + } + return Number.POSITIVE_INFINITY +} + +function getPointScreenDistance(coordinate, screen) { + const point = getLngLatScreen(normalizeLngLat(coordinate)) + if (!point) return Number.POSITIVE_INFINITY + return Math.hypot(Number(point.x) - Number(screen.x), Number(point.y) - Number(screen.y)) +} + +function getLineScreenDistance(line = [], screen) { + if (!Array.isArray(line) || line.length < 2) return Number.POSITIVE_INFINITY + let distance = Number.POSITIVE_INFINITY + for (let index = 1; index < line.length; index += 1) { + const first = getLngLatScreen(normalizeLngLat(line[index - 1])) + const second = getLngLatScreen(normalizeLngLat(line[index])) + if (!first || !second) continue + distance = Math.min(distance, getScreenSegmentDistance(screen, first, second)) + } + return distance +} + +function getScreenSegmentDistance(point, first, second) { + const x = Number(first.x) + const y = Number(first.y) + const dx = Number(second.x) - x + const dy = Number(second.y) - y + if (![x, y, dx, dy].every(Number.isFinite)) return Number.POSITIVE_INFINITY + if (!dx && !dy) return Math.hypot(Number(point.x) - x, Number(point.y) - y) + const t = Math.max(0, Math.min(1, ((Number(point.x) - x) * dx + (Number(point.y) - y) * dy) / (dx * dx + dy * dy))) + return Math.hypot(Number(point.x) - (x + t * dx), Number(point.y) - (y + t * dy)) +} + function isLngLatInPolygon(lngLat, rings = []) { if (!rings.length) return false if (!isLngLatInRing(lngLat, rings[0])) return false @@ -2308,6 +3023,7 @@ defineExpose({ refreshView, resetView, destroyMap, + highlightFeature, clearSelectedFeature, clearFloatingOverlays, focusProject, @@ -2316,6 +3032,8 @@ defineExpose({ focusTown, focusYakIndustryPoint, focusVectorFeature, + getVectorFeatureAnchorScreen, + getVectorFeaturesAnchorScreen, getVectorFeatureScreen, getYakIndustryPointScreen, setBoundaryDrawing, diff --git a/src/config/townshipBoundaries.js b/src/config/townshipBoundaries.js index 20c8dee..92380ec 100644 --- a/src/config/townshipBoundaries.js +++ b/src/config/townshipBoundaries.js @@ -135,6 +135,8 @@ function roundPoint(point = []) { function getFeatureVisualCenter(feature = {}) { const fallback = readPoint(feature) + if (isPointInGeometry(fallback, feature.geometry)) return roundPoint(fallback) + const largestPolygon = getLargestPolygon(feature) const outerRing = largestPolygon?.[0] || [] const centroid = getRingCentroid(outerRing) @@ -143,7 +145,6 @@ function getFeatureVisualCenter(feature = {}) { const bounds = getRingBounds(outerRing) const boundsCenter = bounds ? [(bounds.west + bounds.east) / 2, (bounds.south + bounds.north) / 2] : null if (boundsCenter && isPointInPolygon(boundsCenter, largestPolygon)) return roundPoint(boundsCenter) - if (isPointInGeometry(fallback, feature.geometry)) return roundPoint(fallback) return roundPoint(centroid || boundsCenter || fallback) } diff --git a/src/services/homeVideoApi.js b/src/services/homeVideoApi.js index 1ac87c2..07bad7f 100644 --- a/src/services/homeVideoApi.js +++ b/src/services/homeVideoApi.js @@ -1,7 +1,6 @@ import { normalizeResponseData, requestJson } from "./request" const JSY_API_BASE = import.meta.env.VITE_JSY_API_BASE || "/jsyApi" -const EZVIZ_ACCESS_TOKEN = String(import.meta.env.VITE_EZVIZ_ACCESS_TOKEN || "").trim() const HONGYUAN_TOWN_NAMES = [ "邛溪镇", "刷经寺镇", @@ -42,39 +41,136 @@ function pickValue(item, keys, fallback = "") { return fallback } +function pickEntry(item, keys) { + for (const key of keys) { + if (item?.[key] !== undefined && item?.[key] !== null && item?.[key] !== "") { + return { key, value: item[key] } + } + } + return null +} + function getMonitoringToken(row) { - return pickValue(row, ["token", "accessToken", "access_token"], EZVIZ_ACCESS_TOKEN) + return pickValue(row, ["token", "accessToken", "access_token"]) } function getMonitoringPlayUrl(row) { return pickValue(row, ["hdPlayUrl", "hd_play_url", "playUrl", "play_url", "url"]) } -function isMonitoringOnline(row) { - const status = pickValue(row, [ +function hasMonitoringStream(row) { + return Boolean(getMonitoringToken(row) && getMonitoringPlayUrl(row)) +} + +function getMonitoringStatusEntry(row) { + return pickEntry(row, [ "isOnline", + "is_online", "online", - "status", - "deviceStatus", + "onlineStatus", + "online_status", "statusName", + "status_name", + "deviceStatus", + "device_status", + "cameraStatus", + "camera_status", + "rawStatus", + "raw_status", + "status", "state", - "onlineStatus", "deviceState", + "device_state", + ]) +} + +function getMonitoringStatusInfo(row) { + const hasStream = hasMonitoringStream(row) + const entry = getMonitoringStatusEntry(row) + if (!entry) { + return { + online: hasStream, + raw: "", + reason: hasStream ? "后台未返回设备状态" : "缺少播放地址或令牌", + } + } + + const value = entry.value + if (typeof value === "boolean") { + return { + online: value, + raw: value ? "在线" : "离线", + reason: `后台状态:${value ? "在线" : "离线"}`, + } + } + + const text = String(value ?? "").trim().toLowerCase() + if (!text) { + return { + online: hasStream, + raw: "", + reason: hasStream ? "后台状态为空" : "缺少播放地址或令牌", + } + } + + if (typeof value === "number" || /^-?\d+(\.\d+)?$/.test(text)) { + const online = Number(value) !== 0 + return { + online, + raw: String(value), + reason: `后台状态:${value}`, + } + } + + if (["true", "online", "on", "open", "running", "active", "enabled"].includes(text)) { + return { online: true, raw: String(value), reason: `后台状态:${value}` } + } + if (["false", "offline", "off", "closed", "disabled", "stop", "stopped"].includes(text)) { + return { online: false, raw: String(value), reason: `后台状态:${value}` } + } + if (/(离线|不在线|未在线|断线|断开|异常|故障|停用|不可用|offline|disabled|closed|stop)/i.test(text)) { + return { online: false, raw: String(value), reason: `后台状态:${value}` } + } + if (/(在线|直播中|正常|启用|可用|online|enabled|open|running|active)/i.test(text)) { + return { online: true, raw: String(value), reason: `后台状态:${value}` } + } + return { + online: hasStream, + raw: String(value), + reason: `后台状态:${value}`, + } +} + +function isMonitoringOnline(row) { + return getMonitoringStatusInfo(row).online +} + +function getMonitoringImage(row) { + return pickValue(row, [ + "previewImgUrl", + "preview_img_url", + "latestCaptureUrl", + "latest_capture_url", + "img", + "image", + "cover", + "snapshot", + ]) +} + +function getMonitoringLastCaptureTime(row) { + return pickValue(row, [ + "lastCaptureTime", + "last_capture_time", + "captureTime", + "capture_time", + "latestCaptureTime", + "latest_capture_time", ]) - if (status === "") return true - if (typeof status === "boolean") return status - if (typeof status === "number") return status !== 0 - const text = String(status).trim().toLowerCase() - if (!text) return true - if (["1", "true", "online", "on"].includes(text)) return true - if (["0", "false", "offline", "off"].includes(text)) return false - if (/(离线|不在线|未在线|断线|断开|异常|故障|停用|不可用|offline|disabled|closed|stop)/i.test(text)) return false - if (/(在线|直播中|正常|可用|online|enabled|open|running|active)/i.test(text)) return true - return true } export function isPlayableMonitoring(row) { - return Boolean(getMonitoringToken(row) && getMonitoringPlayUrl(row) && isMonitoringOnline(row)) + return Boolean(hasMonitoringStream(row) && isMonitoringOnline(row)) } function inferTownName(name = "") { @@ -113,7 +209,8 @@ function normalizeMonitoring(row, index, total, validTotal) { const hdPlayUrl = pickValue(row, ["hdPlayUrl", "hd_play_url", "url"]) const playUrl = pickValue(row, ["playUrl", "play_url"], hdPlayUrl) const token = getMonitoringToken(row) - const isOnline = isPlayableMonitoring(row) + const statusInfo = getMonitoringStatusInfo(row) + const isOnline = Boolean(hasMonitoringStream(row) && statusInfo.online) const onlineRate = total ? Math.round((validTotal / total) * 100) : 0 return { @@ -125,11 +222,14 @@ function normalizeMonitoring(row, index, total, validTotal) { channel: getChannel(row, index), cameraCount: total, status: isOnline ? "直播中" : "离线", + rawStatus: statusInfo.raw, + statusReason: statusInfo.reason, onlineRate, updateTime: getUpdateTime(), - operator: isOnline ? "萤石云 · 在线预览" : "监控参数待同步", + operator: isOnline ? "萤石云 · 在线预览" : statusInfo.reason, progress: isOnline ? 100 : 0, - image: pickValue(row, ["img", "image", "cover", "snapshot"]), + image: getMonitoringImage(row), + lastCaptureTime: getMonitoringLastCaptureTime(row), playUrl, hdPlayUrl, token, diff --git a/src/services/openApi.js b/src/services/openApi.js index 167f5ff..6882da2 100644 --- a/src/services/openApi.js +++ b/src/services/openApi.js @@ -38,6 +38,38 @@ function get(path, params) { return requestJson(joinBase(path), { params }) } +function unwrapPointDetailPayload(data, keys = []) { + const candidates = [ + ...keys.map((key) => data?.[key]), + ...keys.map((key) => data?.data?.[key]), + ...keys.map((key) => data?.result?.[key]), + data?.data, + data?.result, + data, + ] + for (const candidate of candidates) { + if (Array.isArray(candidate)) { + const row = candidate.find((item) => item && typeof item === "object") + if (row) return row + } else if (candidate && typeof candidate === "object") { + return candidate + } + } + return null +} + +export async function getWoodlandClickInfoByWkt(wkt) { + if (!wkt) return null + const data = normalizeResponseData(await get("/woodland/detail", { wkt })) + return unwrapPointDetailPayload(data, ["woodland"]) +} + +export async function getBasicGrasslandClickInfoByWkt(wkt) { + if (!wkt) return null + const data = normalizeResponseData(await get("/basic_grassland/detail", { wkt })) + return unwrapPointDetailPayload(data, ["basicGrassland"]) +} + function pickValue(item, keys) { for (const key of keys) { if (item?.[key] !== undefined && item?.[key] !== null && item?.[key] !== "") { @@ -1175,7 +1207,7 @@ function buildWoodlandDefaultPanels({ const typePanel = buildPanel("woodland-type", "林地类型结构", colorRowsByPalette(typeRows, WOODLAND_CHART_PALETTE), "donut", { span: 1, variant: "ring" }) const protectionPanel = buildPanel("woodland-protection", "公益林保护等级", colorRowsByPalette(withPercentExtra(protectionRows), WOODLAND_CHART_PALETTE), "bar", { span: 1, variant: "raceBarRelaxed" }) const ownershipPanel = buildPanel("woodland-ownership", "林地权属结构", colorRowsByPalette(withPercentExtra(ownershipRows), WOODLAND_CHART_PALETTE), "structure", { span: 1 }) - const qualityPanel = buildPanel("woodland-quality", "优势树种面积", topRows(qualityRows, 6), "bar", { span: 1 }) + const qualityPanel = buildPanel("woodland-quality", "优势树种面积", topRows(qualityRows, 6), "bar", { span: 1, variant: "raceBarNoWrap" }) const originPanel = buildPanel("woodland-origin", "林地起源结构", withPercentExtra(originRows), "structure", { span: 1 }) const agePanel = buildPanel("woodland-age", "林龄组结构", topRows(ageRows, 6), "column", { span: 1 }) const canopyPanel = buildPanel("woodland-canopy", "郁闭度结构", colorRowsByPalette(topRows(canopyRows, 6), WOODLAND_CHART_PALETTE), "donut", { span: 1, fixedType: true }) diff --git a/src/services/pastureApi.js b/src/services/pastureApi.js index 679a194..1471a2d 100644 --- a/src/services/pastureApi.js +++ b/src/services/pastureApi.js @@ -67,13 +67,55 @@ export function getMuhuList(query = "", page = 1, pageSize = 80) { } export function getPastureGrasslandsById(id) { - return post("/api/home/grasslandByPastureId", { id }).then(normalizeRows) + if (id === undefined || id === null || id === "") return Promise.resolve([]) + return get("/api/home/grasslandByPastureId", { id }, { timeout: 20000 }).then(normalizeRows) } export function getGrasslandClickInfo(params = {}) { return get("/api/home/grasslandClickInfo", params, { timeout: 20000 }).then((data) => data?.data || data || null) } +export function getPastureClickInfoByWkt(wkt) { + if (!wkt) return Promise.resolve(null) + return get("/api/pastureDetails", { wkt }, { timeout: 20000 }).then((data) => data || null) +} + +function unwrapDetailPayload(data, keys = []) { + const candidates = [ + ...keys.map((key) => data?.[key]), + ...keys.map((key) => data?.data?.[key]), + data?.data, + data?.result, + data, + ] + for (const candidate of candidates) { + if (Array.isArray(candidate)) { + const row = candidate.find((item) => item && typeof item === "object") + if (row) return row + } else if (candidate && typeof candidate === "object") { + return candidate + } + } + return null +} + +export function getLandClickInfo(params = {}) { + return get("/api/grasslandDetails", params, { timeout: 20000 }).then((data) => unwrapDetailPayload(data, ["grassland"])) +} + +export function getWetlandClickInfo(params = {}) { + return get("/api/wetlandDetails", params, { timeout: 20000 }).then((data) => unwrapDetailPayload(data, ["wetland"])) +} + +export function getProjectClickInfoByWkt(wkt) { + if (!wkt) return Promise.resolve(null) + return get("/api/map/projectDetail", { wkt }, { timeout: 20000 }).then((data) => data || null) +} + +export function getProjectList(query = "", page = 1, pageSize = 10) { + return get("/api/home/project_list", { query, page, pageSize }, { timeout: 20000 }).then((data) => data || {}) +} + export function getYakMarksByGrasslandIds(ids = []) { const grasslandIds = Array.from(new Set((Array.isArray(ids) ? ids : [ids]).map((id) => String(id || "").trim()).filter(Boolean))) if (!grasslandIds.length) return Promise.resolve([]) diff --git a/src/services/smartArtifactApi.js b/src/services/smartArtifactApi.js index 77c636e..87cb466 100644 --- a/src/services/smartArtifactApi.js +++ b/src/services/smartArtifactApi.js @@ -59,6 +59,9 @@ export async function generateSmartArtifact({ if (!html) { throw new Error("代码模型没有返回完整HTML") } + if (isDataDumpArtifactHtml(html)) { + throw new Error("专题页面仍为原始数据表,已切换报告模板") + } return { ...response, @@ -66,10 +69,682 @@ export async function generateSmartArtifact({ } } +export function buildLocalSmartArtifact({ + question, + answer = "", + charts = [], + datasets = [], + context = null, + reason = "", +} = {}) { + const data = JSON.parse(buildArtifactDataJson({ question, answer, charts, datasets, context })) + const report = buildLocalReport(data, reason) + + return ` + + + + + ${escapeHtml(report.title)} + + + +
    +
    +
    +

    智慧管理专题报告

    +

    ${escapeHtml(report.title)}

    +

    ${escapeHtml(report.subtitle)}

    +
    +
    ${escapeHtml(report.sourceText)}
    +
    + + ${renderReportMetrics(report.metrics)} + +
    +
    +

    总体态势

    +
    ${renderReportParagraphs(report.summary)}
    +
    + +
    +

    ${escapeHtml(report.primaryChart.title)}

    + ${renderReportBars(report.primaryChart)} +
    + +
    +

    ${escapeHtml(report.table.title)}

    + ${renderReportTable(report.table)} +
    + + ${report.secondaryChart ? `

    ${escapeHtml(report.secondaryChart.title)}

    ${renderReportBars(report.secondaryChart)}
    ` : ""} + +
    +

    需关注事项

    + ${renderReportList(report.attention)} +
    + +
    +

    工作建议

    + ${renderReportList(report.recommendations)} +
    +
    + + ${report.footnotes.length ? `
    ${report.footnotes.map((item) => `
    ${escapeHtml(item)}
    `).join("")}
    ` : ""} +
    + +` +} + +function buildLocalReport(data, reason) { + const kind = getReportKind(data) + if (kind === "balance") return buildBalanceReport(data, reason) + if (kind === "yak") return buildYakReport(data, reason) + return buildGenericReport(data, reason) +} + +function getReportKind(data) { + const question = String(data?.question || "") + const intentText = normalizeList(data?.context?.intents) + .map((item) => `${item?.key || ""}${item?.label || ""}`) + .join(" ") + const text = `${question} ${intentText}` + if (/草畜|平衡|承载|载畜|超载|放牧压力/.test(text)) return "balance" + if (/牦牛|存栏|畜群|牛群|出栏|交易|预测/.test(text)) return "yak" + return "generic" +} + +function buildBalanceReport(data, reason) { + const scope = data.context?.scope || "红原县" + const county = firstRow(data, "balance.county") || firstRow(data, "balance.target") || findFirstRow(data, (row) => row?.type === "county") || {} + const townRows = rowsOf(data, "balance.townRows").length + ? rowsOf(data, "balance.townRows") + : findRows(data, (row) => row?.type === "town" && row?.overloadRate !== undefined) + const chartRows = rowsOfFirstDataset(data, (dataset) => /草畜平衡|超载率/.test(dataset?.title || "") && normalizeList(dataset?.rows).some((row) => row?.value !== undefined)) + const pressureRows = (townRows.length ? townRows : chartRows) + .map((row) => ({ + name: row.name || row.areaName || row.key, + overloadRate: toLocalNumber(row.overloadRate ?? row.value), + level: row.level || row.extra || "", + livestockCapacity: toLocalNumber(row.livestockCapacity ?? row.yakNumber), + bearingCapacity: toLocalNumber(row.bearingCapacity), + })) + .filter((row) => row.name && Number.isFinite(row.overloadRate)) + .sort((a, b) => b.overloadRate - a.overloadRate) + const topPressures = pressureRows.slice(0, 5) + const countyRate = toLocalNumber(county.overloadRate) + const livestock = toLocalNumber(county.livestockCapacity ?? county.yakNumber) + const bearing = toLocalNumber(county.bearingCapacity) + const area = toLocalNumber(county.areaRange) + const level = county.level || (Number.isFinite(countyRate) ? "基本实现草畜平衡" : "待核算") + const pressureNames = topPressures.map((row) => `${row.name}${formatRateSuffix(row.overloadRate)}`).join("、") + const advice = splitAdvice(county.advice) + + return { + title: "草畜平衡情况", + subtitle: `${scope} · 草畜平衡专题`, + sourceText: "数据来源:平台草畜平衡核算数据", + metrics: [ + metric("全县超载率", formatRate(countyRate), level), + metric("实际载畜量", formatHead(livestock), "当前核算口径"), + metric("理论承载力", formatHead(bearing), "按草地面积折算"), + metric("草地面积", formatWanMu(area), "纳入平衡核算"), + ], + summary: [ + `${scope}当前草畜平衡总体处于“${level}”状态,超载率为${formatRate(countyRate)},实际载畜量${formatHead(livestock)},理论承载力${formatHead(bearing)}。`, + pressureNames + ? `乡镇层面,放牧压力相对较高的区域集中在${pressureNames},这些区域应作为后续动态监测和调控的重点。` + : "乡镇层面的草畜平衡压力整体可控,后续仍需结合季节牧草产量和牲畜流动持续校核。", + ], + primaryChart: { + title: "乡镇超载率对比", + note: "按超载率由高到低展示前几项", + rows: pressureRows.slice(0, 8).map((row) => ({ + label: row.name, + value: row.overloadRate, + unit: "%", + })), + }, + secondaryChart: buildCapacityGapChart(pressureRows), + table: { + title: "重点区域与平衡状态", + columns: ["区域", "超载率", "实际载畜量", "理论承载力", "状态"], + rows: pressureRows.slice(0, 6).map((row) => [ + row.name, + formatRate(row.overloadRate), + formatHead(row.livestockCapacity), + formatHead(row.bearingCapacity), + row.level || "待跟踪", + ]), + }, + attention: [ + topPressures.length ? `${topPressures[0].name}超载率最高,为${formatRate(topPressures[0].overloadRate)},建议优先复核载畜量和可利用草地面积。` : "暂无明显高压乡镇,需保持常态化监测。", + "草畜平衡结果受季节牧草产量、牲畜出入栏、补饲能力影响,应定期更新核算口径。", + "接近平衡上限的区域不宜继续扩大放牧规模,避免从基本平衡转为超载。", + ], + recommendations: advice.length ? advice : [ + "对高压力乡镇开展轮牧、休牧和补饲组合管理。", + "将超载率、载畜量和草地面积纳入月度跟踪,及时发现压力变化。", + "结合出栏计划和饲草供应能力,动态优化畜群规模。", + ], + footnotes: buildReportFootnotes(data, reason), + } +} + +function buildYakReport(data, reason) { + const scope = data.context?.scope || "红原县" + const townRows = rowsOf(data, "yak.townDistribution") + .map((row) => ({ + name: row.name || row.areaName || row.key, + count: toLocalNumber(row.count ?? row.value ?? row.total), + })) + .filter((row) => row.name && Number.isFinite(row.count)) + .sort((a, b) => b.count - a.count) + const total = townRows.reduce((sum, row) => sum + row.count, 0) + const topRows = townRows.slice(0, 5) + const topShare = total ? topRows.reduce((sum, row) => sum + row.count, 0) / total * 100 : NaN + const structureRows = rowsOf(data, "yak.structure") + .map((row) => ({ + name: row.name || row.label || row.key, + ratio: toLocalNumber(row.ratio ?? row.value), + count: toLocalNumber(row.count), + })) + .filter((row) => row.name && (Number.isFinite(row.ratio) || Number.isFinite(row.count))) + const forecastRows = rowsOf(data, "yak.forecast") + const latestForecast = forecastRows[forecastRows.length - 1] || {} + const latestStock = toLocalNumber(latestForecast.stock) + const topTown = townRows[0] + + return { + title: "牦牛分布情况", + subtitle: `${scope} · 牦牛存栏专题`, + sourceText: "数据来源:平台牦牛存栏与畜群结构数据", + metrics: [ + metric("牦牛存栏", formatHead(total), "乡镇汇总"), + metric("最高乡镇", topTown ? topTown.name : "--", topTown ? formatHead(topTown.count) : ""), + metric("覆盖乡镇", `${townRows.length || "--"}个`, "当前展示范围"), + metric("预测存栏", formatHead(latestStock), latestForecast.label || "趋势预测"), + ], + summary: [ + `${scope}当前牦牛存栏约${formatHead(total)},主要分布在${topRows.map((row) => row.name).join("、") || "重点牧区"}等区域。`, + Number.isFinite(topShare) + ? `前五个乡镇合计占全县存栏的${formatRate(topShare)},存栏分布具有较明显的重点区域特征。` + : "当前已完成乡镇存栏数据整理,可用于后续联动草畜平衡、出栏计划和疫病防控管理。", + ], + primaryChart: { + title: "乡镇牦牛存栏分布", + note: Number.isFinite(topShare) ? `前五项占比${formatRate(topShare)}` : "", + rows: townRows.slice(0, 9).map((row) => ({ + label: row.name, + value: row.count, + unit: "头", + })), + }, + secondaryChart: structureRows.length ? { + title: "畜群结构占比", + rows: structureRows.slice(0, 8).map((row) => ({ + label: row.name, + value: Number.isFinite(row.ratio) ? row.ratio : row.count, + unit: Number.isFinite(row.ratio) ? "%" : "头", + })), + } : null, + table: { + title: "重点乡镇存栏情况", + columns: ["乡镇", "存栏量", "全县占比"], + rows: townRows.slice(0, 6).map((row) => [ + row.name, + formatHead(row.count), + total ? formatRate(row.count / total * 100) : "--", + ]), + }, + attention: [ + topTown ? `${topTown.name}存栏量最高,约${formatHead(topTown.count)},建议同步关注草地承载和疫病防控压力。` : "暂无可排序的乡镇存栏数据。", + "存栏密集区域需要与草畜平衡结果联动研判,避免单看数量忽略草场承载能力。", + "预测存栏继续上行时,应提前校核出栏节奏、补饲能力和畜群结构。", + ], + recommendations: [ + "对高存栏乡镇建立动态监测清单,联动草地面积、出栏和补饲指标。", + "围绕能繁母牛、犊牛和种公牛结构优化畜群质量,避免单纯追求数量增长。", + "将存栏分布结果用于牧户服务、疫病防控和草畜平衡调控的优先级排序。", + ], + footnotes: buildReportFootnotes(data, reason), + } +} + +function buildGenericReport(data, reason) { + const scope = data.context?.scope || "红原县" + const metrics = normalizeLocalMetrics(data.context?.insights) + const metricRows = metrics.length ? metrics : deriveLocalMetrics(data.datasets) + const firstChart = normalizeList(data.datasets) + .map((dataset) => ({ + title: dataset?.title || "指标对比", + rows: normalizeList(dataset?.rows) + .map((row, index) => ({ + label: pickRowLabel(row, index), + value: pickNumericValue(row), + unit: row?.unit || dataset?.unit || "", + })) + .filter((row) => row.label && Number.isFinite(row.value)) + .slice(0, 8), + })) + .find((chart) => chart.rows.length) + return { + title: buildLocalTitle(data.question), + subtitle: `${scope} · 智慧管理专题`, + sourceText: "数据来源:平台业务汇总数据", + metrics: metricRows.slice(0, 4).map((item) => metric(item.label, item.value, item.note)), + summary: [ + `${scope}已完成本次问题相关业务数据整理,并形成专题分析结果。`, + "报告优先呈现关键指标、主要分布和可执行建议,原始字段明细不作为页面主体展示。", + ], + primaryChart: firstChart || { title: "核心指标对比", rows: [] }, + secondaryChart: null, + table: buildGenericReportTable(data), + attention: ["需结合业务口径持续复核关键指标变化。", "若涉及乡镇、牧户或生态区域,应按重点对象继续下钻。"], + recommendations: ["将本报告作为专题研判入口,后续结合业务部门口径补充结论。", "对指标波动较大的对象建立跟踪清单。"], + footnotes: buildReportFootnotes(data, reason), + } +} + +function buildCapacityGapChart(rows) { + const gapRows = rows + .map((row) => ({ + label: row.name, + value: Number.isFinite(row.livestockCapacity) && Number.isFinite(row.bearingCapacity) + ? Math.max(0, row.livestockCapacity - row.bearingCapacity) + : NaN, + unit: "头", + })) + .filter((row) => row.label && Number.isFinite(row.value) && row.value > 0) + .slice(0, 8) + if (!gapRows.length) return null + return { + title: "超承载量估算", + note: "仅展示实际载畜量高于理论承载力的区域", + rows: gapRows, + } +} + +function buildGenericReportTable(data) { + const rows = normalizeList(data.datasets) + .flatMap((dataset) => normalizeList(dataset?.rows).map((row, index) => ({ + target: pickRowLabel(row, index), + value: pickNumericValue(row), + unit: row?.unit || dataset?.unit || "", + note: dataset?.title || "", + }))) + .filter((row) => row.target && Number.isFinite(row.value)) + .slice(0, 6) + return { + title: "重点指标明细", + columns: ["对象", "数值", "说明"], + rows: rows.map((row) => [ + row.target, + `${formatLocalNumber(row.value)}${row.unit || ""}`, + row.note, + ]), + } +} + +function renderReportMetrics(metrics) { + const rows = normalizeList(metrics).filter(Boolean).slice(0, 4) + if (!rows.length) return "" + return `
    ${rows.map((item) => ` +
    + ${escapeHtml(item.label)} + ${escapeHtml(item.value)} + ${escapeHtml(item.note || "")} +
    `).join("")}
    ` +} + +function renderReportParagraphs(paragraphs) { + return normalizeList(paragraphs) + .filter(Boolean) + .map((item) => `

    ${escapeHtml(item)}

    `) + .join("") +} + +function renderReportBars(chart) { + const rows = normalizeList(chart?.rows).filter((row) => row?.label && Number.isFinite(Number(row.value))).slice(0, 9) + if (!rows.length) return '

    当前问题暂无可绘制的核心指标。

    ' + const maxValue = Math.max(...rows.map((row) => Math.abs(Number(row.value))), 1) + return `
    + ${rows.map((row) => { + const value = Number(row.value) + const width = Math.max(3, Math.round(Math.abs(value) / maxValue * 100)) + return `
    + ${escapeHtml(row.label)} +
    + ${escapeHtml(formatLocalNumber(value))}${escapeHtml(row.unit || "")} +
    ` + }).join("")} + ${chart?.note ? `

    ${escapeHtml(chart.note)}

    ` : ""} +
    ` +} + +function renderReportTable(table) { + const rows = normalizeList(table?.rows).slice(0, 8) + const columns = normalizeList(table?.columns) + if (!rows.length || !columns.length) return '

    暂无可展示的重点明细。

    ' + return ` + ${columns.map((column) => ``).join("")} + + ${rows.map((row) => `${normalizeList(row).map((cell) => ``).join("")}`).join("")} + +
    ${escapeHtml(column)}
    ${escapeHtml(cell)}
    ` +} + +function renderReportList(items) { + const rows = normalizeList(items).filter(Boolean).slice(0, 6) + if (!rows.length) return '

    暂无补充事项。

    ' + return `
      ${rows.map((item) => `
    • ${escapeHtml(item)}
    • `).join("")}
    ` +} + +function metric(label, value, note = "") { + return { + label: label || "指标", + value: value === undefined || value === null || value === "" ? "--" : String(value), + note: note || "", + } +} + +function rowsOf(data, id) { + return normalizeList(normalizeList(data?.datasets).find((dataset) => dataset?.id === id)?.rows) +} + +function firstRow(data, id) { + return rowsOf(data, id).find(Boolean) +} + +function findRows(data, predicate) { + return normalizeList(data?.datasets) + .flatMap((dataset) => normalizeList(dataset?.rows)) + .filter((row) => row && typeof row === "object" && predicate(row)) +} + +function findFirstRow(data, predicate) { + return findRows(data, predicate).find(Boolean) +} + +function rowsOfFirstDataset(data, predicate) { + const dataset = normalizeList(data?.datasets).find(predicate) + return normalizeList(dataset?.rows) +} + +function splitAdvice(value) { + return uniqueText(String(value || "").split(/[;;。.\n]+/)).slice(0, 5) +} + +function buildReportFootnotes(data) { + const notes = uniqueText([...(data.context?.notes || [])]) + return notes.slice(0, 3) +} + +function formatWanMu(value) { + const number = Number(value) + if (!Number.isFinite(number)) return "--" + return `${formatLocalNumber(number / 10000)}万亩` +} + +function formatHead(value) { + const number = Number(value) + if (!Number.isFinite(number)) return "--" + return `${formatLocalNumber(number)}头` +} + +function formatRate(value) { + const number = Number(value) + if (!Number.isFinite(number)) return "--" + return `${formatLocalNumber(number)}%` +} + +function formatRateSuffix(value) { + const text = formatRate(value) + return text === "--" ? "" : `(${text})` +} + function buildArtifactDataJson({ question, answer, charts, datasets, context }) { const payload = { question: String(question || "").trim(), generatedAt: new Date().toISOString(), + presentation: { + format: "business-report", + requirements: [ + "输出应为业务报告页面,而不是原始数据表或字段清单。", + "不要直接展示 key、rawValue、areaCode、areaRange 等技术字段名。", + "页面需包含结论、关键指标、图表化对比、重点对象和工作建议。", + ], + }, answer: String(answer || "").slice(0, MAX_ANSWER_CHARS), context: sanitizeContext(context), datasets: [ @@ -86,6 +761,110 @@ function buildArtifactDataJson({ question, answer, charts, datasets, context }) return serialized } +function buildLocalTitle(question) { + const text = String(question || "").replace(/[??。!!]+$/g, "").trim() + return text ? `${text}专题分析` : "智慧管理专题分析" +} + +function normalizeList(value) { + return Array.isArray(value) ? value : [] +} + +function uniqueText(values) { + const seen = new Set() + return normalizeList(values) + .map((item) => String(item || "").trim()) + .filter((item) => { + if (!item || seen.has(item)) return false + seen.add(item) + return true + }) +} + +function normalizeLocalMetrics(insights) { + return normalizeList(insights) + .map((item) => ({ + label: item?.label || item?.name || "指标", + value: item?.value ?? "--", + note: item?.note || item?.title || "", + })) + .filter((item) => item.label && item.value !== undefined && item.value !== null) + .slice(0, 6) +} + +function deriveLocalMetrics(datasets = []) { + return normalizeList(datasets) + .map((dataset) => { + const row = normalizeList(dataset?.rows).find(Boolean) + if (!row || typeof row !== "object") return null + const value = pickNumericValue(row) + if (!Number.isFinite(value)) return null + return { + label: pickRowLabel(row, 0), + value: `${formatLocalNumber(value)}${row?.unit || dataset?.unit || ""}`, + note: dataset?.title || "", + } + }) + .filter(Boolean) + .slice(0, 6) +} + +function pickRowLabel(row, index) { + if (!row || typeof row !== "object") return `指标${index + 1}` + const direct = row.name || row.label || row.areaName || row.town || row.title || row.key + if (direct) return String(direct) + const firstText = Object.values(row).find((value) => typeof value === "string" && value.trim()) + return firstText || `指标${index + 1}` +} + +function pickNumericValue(row) { + if (!row || typeof row !== "object") return NaN + const preferredKeys = [ + "value", + "count", + "total", + "rate", + "ratio", + "yakNumber", + "livestockCapacity", + "overloadRate", + "onlineRate", + "areaRange", + "amount", + "number", + ] + for (const key of preferredKeys) { + const number = toLocalNumber(row[key]) + if (Number.isFinite(number)) return number + } + for (const value of Object.values(row)) { + const number = toLocalNumber(value) + if (Number.isFinite(number)) return number + } + return NaN +} + +function toLocalNumber(value) { + if (value === undefined || value === null || value === "") return NaN + const number = Number(String(value).replace(/,/g, "").replace(/%/g, "")) + return Number.isFinite(number) ? number : NaN +} + +function formatLocalNumber(value) { + const number = Number(value) + if (!Number.isFinite(number)) return value || "--" + return number.toLocaleString("zh-CN", { maximumFractionDigits: 2 }) +} + +function escapeHtml(value) { + return String(value || "") + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'") +} + function sanitizeContext(context) { if (!context || typeof context !== "object") return null const { @@ -164,3 +943,25 @@ function extractHtml(content) { } return /]+>/g, " ") + .replace(/\s+/g, " ") + .toLowerCase() + const tableCount = (source.match(/ text.includes(term)).length + return (tableCount >= 2 && hitCount >= 4) || (tableCount >= 1 && hitCount >= 6) +} diff --git a/src/services/smartChartApi.js b/src/services/smartChartApi.js index 9d7446f..61b1936 100644 --- a/src/services/smartChartApi.js +++ b/src/services/smartChartApi.js @@ -28,7 +28,7 @@ export async function getSmartChartsForQuestion(question, pagePath = window.loca pagePath, pageName, }, - timeout: 30000, + timeout: 12000, }).then(unwrapResponse) const charts = Array.isArray(data?.charts) ? data.charts : [] diff --git a/src/services/smartContextBuilder.js b/src/services/smartContextBuilder.js index 999a9bc..9732993 100644 --- a/src/services/smartContextBuilder.js +++ b/src/services/smartContextBuilder.js @@ -1,5 +1,4 @@ import { getSmartChartsForQuestion } from "./smartChartApi" -import { getLivestockBalance, queryBalanceTargets } from "./smartApi" import { businessMatrixRows, dataFlowRows, @@ -29,7 +28,6 @@ import { BALANCE_CALCULATION_PARAMS, balanceTownRows, countyBalanceRow, - normalizeBalanceResult, } from "@/views/grassLivestockBalance/data" import { engineeringAnalysisTopStats, @@ -52,7 +50,6 @@ import { } from "@/views/yakIndustryChain/data" const PAGE_NAME = "智慧管理" -const COUNTY_AREA_CODE = "513233" const DATASET_ROW_LIMIT = 80 const INTENT_DEFS = [ @@ -176,19 +173,12 @@ function buildYakDatasets() { ] } -async function buildBalanceDatasets(question, warnings) { - const target = await resolveBalanceTarget(question, warnings) - const fallbackRow = findBalanceFallback(target) - let resultRow = fallbackRow - try { - const apiRow = await getLivestockBalance(target.params) - resultRow = normalizeBalanceResult(apiRow || {}, fallbackRow) - } catch (error) { - warnings.push(getFriendlyContextError(error, `${target.name}草畜平衡接口暂未取得,已使用展示数据`)) - } - +function buildBalanceDatasets(question) { + const focusRow = findBalanceContextRow(question) + const focusName = focusRow?.name || "红原县" return [ - dataset("balance.target", `${target.name}草畜平衡`, [resultRow], target.source), + dataset("balance.target", `${focusName}草畜平衡`, [focusRow], "平台业务汇总数据"), + dataset("balance.county", "全县草畜平衡", [countyBalanceRow], "平台业务汇总数据"), dataset("balance.townRows", "乡镇草畜平衡", balanceTownRows, "平台业务汇总数据"), dataset("balance.params", "草畜平衡计算参数", [BALANCE_CALCULATION_PARAMS], "平台业务汇总数据"), ] @@ -232,82 +222,8 @@ function buildIndustryDatasets() { ] } -async function resolveBalanceTarget(question, warnings) { - const mentionedTown = balanceTownRows.find((row) => containsName(question, row.name)) - if (mentionedTown) { - return { - key: "areaCode", - name: mentionedTown.name, - params: { areaCode: mentionedTown.areaCode }, - source: "草畜平衡业务数据", - } - } - - if (isCountyBalanceOverviewQuestion(question)) { - return countyBalanceTarget("全县草畜平衡默认按红原县汇总") - } - - try { - const targets = await queryBalanceTargets(question) - const normalizedTargets = normalizeBalanceTargets(targets) - if (normalizedTargets.length) { - const target = normalizedTargets[0] - return { - key: target.key, - name: target.name, - params: getBalanceTargetParams(target), - source: "草畜平衡业务数据", - } - } - } catch (error) { - warnings.push(getFriendlyContextError(error, "草畜平衡对象识别暂未取得")) - } - - return countyBalanceTarget("按红原县全县草畜平衡汇总") -} - -function countyBalanceTarget(source) { - return { - key: "areaCode", - name: "红原县", - params: { areaCode: COUNTY_AREA_CODE }, - source, - } -} - -function findBalanceFallback(target) { - if (!target || target.name === "红原县") return countyBalanceRow - return balanceTownRows.find((row) => row.areaCode === target.params?.areaCode || row.name === target.name) || countyBalanceRow -} - -function normalizeBalanceTargets(rows = []) { - return (Array.isArray(rows) ? rows : []) - .map((item, index) => ({ - key: item?.key || item?.type || "area_code", - value: item?.value || item?.id || item?.code || item?.areaCode || item?.pasturesId, - name: item?.name || item?.label || item?.areaName || item?.pasturesName || `对象${index + 1}`, - })) - .filter((item) => item.value || item.name === "红原县") -} - -function getBalanceTargetParams(choice) { - if (choice?.key === "pasturesId" || choice?.key === "pastures_id") { - return { pasturesId: choice.value } - } - return { areaCode: choice?.value || COUNTY_AREA_CODE } -} - -function isCountyBalanceOverviewQuestion(question) { - const text = normalizeQuestionText(question).replace(/\s+/g, "") - const specificScopePattern = /(?:邛溪|刷经寺|安曲|龙日|江茸|查尔玛|瓦切|阿木|麦洼|色地|村|牧户|牧场|合作社|基地)/ - if (specificScopePattern.test(text)) return false - if (/乡|镇/.test(text) && !/(全县|红原县|全域|整体|总体)/.test(text)) return false - - const core = text - .replace(/红原县|全县|全域|整体|总体|当前|现在|的/g, "") - .replace(/请|帮我|帮忙|查询|查看|看一下|看|了解|分析|生成|形成|出|一下/g, "") - .replace(/情况|数据|专题|页面|报告|建议|研判|汇总|概况|总览/g, "") - return /^(草畜平衡|草畜|平衡|草地承载力|承载力|载畜|载畜压力|放牧压力|超载率)$/.test(core) +function findBalanceContextRow(question) { + return balanceTownRows.find((row) => containsName(question, row.name)) || countyBalanceRow } function dataset(id, title, rows, sourceLabel) { diff --git a/src/views/ecologicalProtection/components/EngineeringAnalysisPanel.vue b/src/views/ecologicalProtection/components/EngineeringAnalysisPanel.vue index a33cc01..d829565 100644 --- a/src/views/ecologicalProtection/components/EngineeringAnalysisPanel.vue +++ b/src/views/ecologicalProtection/components/EngineeringAnalysisPanel.vue @@ -1,17 +1,23 @@